Content supply device, content supply method, program, terminal device, and content supply system

10306272 ยท 2019-05-28

Assignee

Inventors

Cpc classification

International classification

Abstract

The present disclosure relates to a content supply device, a content supply method, a program, a terminal device, and a content supply system that make it possible to receive streaming data from an origin server having the shortest communication distance. According to a first aspect of the present disclosure, there is provided a content supply device that supplies a plurality of pieces of streaming data that include content of a same subject and differ in attribute, according to an adaptive streaming technique, the content supply device including: a metafile generating unit configured to generate a metafile that is for a reception side to select a supply source of the streaming data and that describes region identification information of the supply source; and a delivering unit configured to deliver the streaming data to the reception side as the supply source via a network, according to a request from the reception side based on the metafile. The present disclosure can be applied to a system in which content is delivered in a streaming manner.

Claims

1. A content supply device that supplies a plurality of pieces of streaming data that include content of a same subject and differ in attribute, according to an adaptive streaming technique, the content supply device comprising: circuitry configured to generate a metafile describing geographic region identification information of a supply source of the streaming data, the metafile being for a reception side to receive the streaming data; collect a plurality of the metafiles, each corresponding to one of a plurality of different supply sources, in response to a request from the reception side of the streaming data; supply the metafile corresponding to the supply source having a shortest communication distance from the reception side among the collected metafiles to the reception side such that the geographic region identification information of the supply source having the shortest communication distance from the reception side is transmitted to the reception side, a communication distance of each of the plurality of supply sources being determined based at least in part on a communication load state of the network; and deliver the streaming data to the reception side as the supply source via a network, according to a request from the reception side based on the supplied metafile.

2. The content supply device according to claim 1, wherein the circuitry is configured to generate an extended MPD as the metafile.

3. The content supply device according to claim 2, wherein the circuitry is configured to generate the MPD in which MPD/@originlocation attribute for describing the geographic region identification information is introduced as the metafile.

4. The content supply device according to claim 1, wherein the circuitry is further configured to manage statistical information related to communication in the network to decide the communication distance between the supply source and the reception side.

5. The content supply device according to claim 4, wherein the circuitry is configured to decide the communication distance between the supply source and the reception side based on its managed statistical information, the geographic region identification information of the supply source, and geographic region identification information of the reception side.

6. A content supply method that supplies a plurality of pieces of streaming data that include content of a same subject and differ in attribute, according to an adaptive streaming technique, the content supply method comprising: generating, using circuitry, a metafile describing geographic region identification information of a supply source of the streaming data, the metafile being for a reception side to receive the streaming data; collecting, using the circuitry, a plurality of the metafiles each corresponding to one of a plurality of different supply sources, in response to a request from the reception side of the streaming data; supplying the metafile corresponding to the supply source having a shortest communication distance from the reception side among the collected metafiles to the reception side such that the geographic region identification information of the supply source having the shortest communication distance from the reception side is transmitted to the reception side, a communication distance of each of the plurality of supply sources being determined based at least in part on a communication load state of the network; and delivering, using the circuitry, the streaming data to the reception side as the supply source via a network, according to a request from the reception side based on the supplied metafile.

7. A non-transitory, computer-readable storage medium storing a program causing a computer that supplies a plurality of pieces of streaming data that include content of a same subject and differ in attribute, according to an adaptive streaming technique, to generate a metafile describing geographic region identification information of a supply source of the streaming data, the metafile being for a reception side to receive the streaming data; collect a plurality of the metafiles each corresponding to one of a plurality of different supply sources, in response to a request from the reception side of the streaming data; supply the metafile corresponding to the supply source having a shortest communication distance from the reception side among the collected metafiles to the reception side such that the geographic region identification information of the supply source having the shortest communication distance from the reception side is transmitted to the reception side, a communication distance of each of the plurality of supply sources being determined based at least in part on a communication load state of the network; and deliver the streaming data to the reception side as the supply source via a network, according to a request from the reception side based on the supplied metafile.

8. A receiving device configured to receive streaming data delivered from a content supply device that supplies a plurality of pieces of streaming data that include content of a same subject and differ in attribute, according to an adaptive streaming technique, wherein the receiving device includes circuitry configured to request a metafile corresponding to a selected channel from a server, receive the metafile for requesting the streaming data from a supply source specified in the metafile and the metafile describing geographic region identification information of the supply source such that the geographic region identification information of the supply source having a shortest communication distance from the receiving device is transmitted to the receiving device, wherein the supply source has the shortest communication distance to the receiving device among a plurality of supply sources according to an IP address of the receiving device, a communication distance of each of the plurality of supply sources being determined based at least in part on a communication load state of the network, and receive the streaming data via the network based on the metafile, and wherein the circuitry is configured to request the streaming data from the supply source and to reproduce the streaming data delivered in response to the request, based on the metafile.

9. The receiving device according to claim 8, wherein the circuitry is configured to receive an extended MPD as the metafile.

10. The receiving device according to claim 9, wherein the circuitry is configured to receive the MPD in which MPD/@originlocation attribute for describing the geographic region identification information is introduced as the metafile.

11. A content supply system having a content supply device that supplies a plurality of pieces of streaming data that include content of a same subject and differ in attribute, according to an adaptive streaming technique, and a terminal device configured to receive the streaming data, the content supply device comprising: circuitry configured to generate a metafile describing geographic region identification information of a supply source of the streaming, the metafile being for a reception side to receive the streaming data; collect a plurality of the metafiles, each corresponding to one of a plurality of different supply sources, in response to a request from the reception side of the streaming data; supply the metafile corresponding to the supply source having a shortest communication distance from the reception side among the collected metafiles to the reception side such that the geographic region identification information of the supply source having the shortest communication distance from the reception side is transmitted to the reception side, a communication distance of each of the plurality of supply sources being determined based at least in part on a communication load state of the network; and deliver the streaming data to the reception side as the supply source via a network, according to a request from the reception side based on the metafile, wherein the terminal device comprises circuitry configured to request the streaming data from the supply source and to receive and reproduce the streaming data delivered in response to the request, based on the metafile.

Description

BRIEF DESCRIPTION OF DRAWINGS

(1) FIG. 1 is a block diagram illustrating an example of a configuration of a content supply system of the related art.

(2) FIG. 2 is a block diagram illustrating an exemplary configuration of a content supply system to which the present disclosure is applied.

(3) FIG. 3 is a diagram illustrating an example in which an MPD is described in an XML format.

(4) FIG. 4 is a diagram illustrating an example in which an extended MPD is described in an XML format.

(5) FIG. 5 is a flowchart for describing a pre-delivery process.

(6) FIG. 6 is a flowchart for describing a series of processes of a content supply system.

(7) FIG. 7 is a block diagram illustrating an exemplary configuration of a computer.

DESCRIPTION OF EMBODIMENTS

(8) Hereinafter, preferred modes (hereinafter referred to as embodiments) for carrying out the present disclosure will be described in detail.

(9) [Exemplary Configuration of Content Supply System]

(10) FIG. 2 illustrates an exemplary configuration of a content supply system according to an embodiment of the present disclosure.

(11) The content supply system 50 includes content supply devices 60A1 and 60A2, a GeoLocation database (DB) 71, a CDN monitoring database (DB) 72, an MPD acquisition portal 73, and a plurality of terminal devices 80 which are connected to one another via the Internet 11.

(12) Further, there is the CDN 12 on the Internet 11, and a plurality of cache servers (not illustrated) are provided on the CDN 12.

(13) The content supply device 60A1 delivers a plurality of pieces of streaming data having different bit rates corresponding to content of the same subject through a channel A. The content supply device 60A2 delivers a plurality of pieces of streaming data having different bit rates corresponding to the same content as in the content supply device 60A1 through the channel A. In addition to the content supply device 60A2, there may be many content supply devices that deliver a plurality of pieces of streaming data having different bit rates corresponding to the same content as in the content supply device 60A1.

(14) However, it is assumed the content supply device 60A1 and the content supply device 60A2 are installed at geographically discrete positions and differ in communication distance from a certain terminal device 80.

(15) Here, the content supply device 60A1 and the content supply device 60A2 are referred to simply as a content supply device 60 when it is unnecessary to distinguish the content supply devices 60A1 and 60A2 from each other.

(16) The content supply device 60 includes a channel server 61 and a DASH server 62.

(17) The channel server 61 manages source data of content to be delivered through the channel A, generates a plurality of pieces of streaming data having different bit rates from the source data of the same subject, and supplies the generated streaming data to the DASH server 62.

(18) The DASH server 62 includes a DASH segment streamer 63 and a DASH MPD server 64.

(19) The DASH segment streamer 63 temporally delimits each piece of streaming data into periods, divides each period into segments, and holds each segment or several segments as a file. The DASH segment streamer 63 notifies the DASH MPD server 64 of an address (URL information) serving as a supply source of the held files. In addition, the DASH segment streamer 63 HTTP-delivers the files of the segmented streaming data via the CDN 12 according to a request (the HTTP request) from the terminal device 80. Further, the DASH segment streamer 63 notifies the GeoLocation database 71 of an IP address of the DASH segment streamer 63 serving as the origin server, acquires the region identification information identifying a region in which the DASH segment streamer 63 is installed, and notifies the DASH MPD server 64 of the acquired region identification information.

(20) The DASH MPD server 64 generates an MPD (hereinafter referred to as an extended MPD; details will be described later) that is extended and necessary when the terminal device 80 side receives the segment of the streaming data. The DASH MPD server 64 supplies the extended MPD to the MPD acquisition portal 73 according to crawling by the MPD acquisition portal 73.

(21) The GeoLocation database 71 stores an IP address and the region identification information of a server allocated an IP address in the form of a database, and transmits the corresponding region identification information according to the IP address notified of by the DASH segment streamer 63 or the MPD acquisition portal 73. For example, a latitude and a longitude, a country name and a zip code, etc., or a country name and a municipality, etc. may be used as the region identification information.

(22) The CDN monitoring database 72 manages statistical information of relay facilities such as the cache servers provided on the CDN 12, a communication load state, or the like, and transmits the communication distances of the terminal device 80 and the origin server according to the notification of the region identification information of the terminal device 80 and the origin server form the MPD acquisition portal 73.

(23) The MPD acquisition portal 73 collects the extended MPDs from the content supply devices 60 of designated channels according to an MPD acquisition request using a query API from the terminal device 80.

(24) An exemplary query API from the terminal device 80 is as follows:

(25) http://mpdPortal.com/minDistanceMPD?channelId=BBC-One

(26) Here, http://mpdPortal.com/minDistanceMPD specifies a server side script on the MPD acquisition portal 73, and BBC-One indicates a designated channel.

(27) The MPD acquisition portal 73 notifies the GeoLocation database 71 of the IP address of the terminal device 80 that has transmitted the MPD acquisition request, and acquires the region identification information of the terminal device 80. Further, the MPD acquisition portal 73 notifies the CDN monitoring database 72 of the region identification information of the origin server described in each extended MPD and the region identification information of the terminal device 80, acquires the communication distances of the origin server and the terminal device 80, and transmits the extended MPD corresponding to the shortest communication distance to the terminal device 80.

(28) The terminal device 80 requests the DASH segment streamer 63 having the shortest communication distance to transmit the segment of the streaming data based on the acquired extended MPD, and receives and reproduces the file HTTP-delivered according to the request.

(29) [Extension of MPD]

(30) Next, the MPD in the DASH and an extension thereof will be described.

(31) In the MPD, information related to content (Media) is described being divided into units of periods. In each period, a plurality of representations including information related to streaming data of the same subject that differs in image quality or an angle of view size and differs in a stream attribute such as a bit rate are prepared. The representation stores information related to a segment obtained by further temporally dividing a period.

(32) FIG. 3 illustrates an example in which a structure below the representation of the MPD is described in an XML format.

(33) In FIG. 8, http://example.com/counter-10 mn_avc_dash.mp4 described in MPD/Period/AdaptationSet/Representation/BaseURL indicates the address of the supply source of the file into which a plurality of segments are collectively converted.

(34) MPD/Period/AdaptationSet/Representation/SegmentList/SegmentURL/@mediaRange indicates a byte range of the streaming data corresponding to each segment in the file.

(35) For example, MPD/Period/AdaptationSet/Representation/SegmentList/SegmentURL/@mediaRange=795-83596 indicates that the byte range of a 795th byte to an 83596th byte in the file is streaming data corresponding to a first segment.

(36) Thus, when the terminal device 40 acquires first segmented streaming data, it is desirable to designate the mediaRange 795-83596 to a range header together with a url http://example.com/counter-10 mn_avc_dash.mp4 of the file and issue an HTTP request. At this time, the HTTP request is specifically as follows:

(37) GET/counter-10 mn_avc_dash.mp4 HTTP/1.1

(38) Host: example.com

(39) Range: bytes=795-83596

(40) Next, FIG. 4 illustrates an example in which a structure below an MPD value of the extended MPD by which the region identification information of the origin server can be described in the MPD is described in an XML format.

(41) In other words, in the extended MPD, an MPD/@originLocation attribute is newly introduced immediately below the MPD.

(42) The region identification information obtained from the GeoLocation database 71 is described in the MPD/@originLocation attribute. 35d3930.45N, 139d4443.04E in FIG. 4 is a description example when the latitude and the longitude are employed as the region identification information, and indicates that the origin server is located at a latitude of 35 degrees 39 minutes and 30.45 seconds north and a longitude of 139 degrees 44 minutes and 43.04 seconds east.

(43) For example, when a country name and a zip code are employed as the region identification information, it is desirable to describe, for example, in a form such as jpn.2300075. This indicates that the origin server is located in a region having a zip code 230-0075 in Japan.

(44) [Operation of Content Supply System 50]

(45) Next, an operation of the content supply system 50 will be described.

(46) FIG. 5 is a flowchart for describing a process (hereinafter, a pre-delivery process) that is performed by the content supply device 60 in advance in order to deliver content.

(47) In step S1, the DASH segment streamer 63 of each content supply device 60 notifies the GeoLocation database 71 of its own IP address as the origin server, acquires its own region identification information, and notifies the DASH MPD server 64 of the acquired region identification information.

(48) In step S2, the channel server 61 generates a plurality of pieces of streaming data having different bit rates from source data of content to be delivered through the channel A, and supplies the generated streaming data to the DASH server 62.

(49) In step S3, the DASH segment streamer 63 temporally delimits each streaming data into periods, divides each period into segments, and holds each segment or several segments as a file. Further, the DASH segment streamer 63 notifies the DASH MPD server 64 of an address serving as a supply source of the held files.

(50) In step S4, the DASH MPD server 64 generates the extended MPD describing the region identification information of the origin server (the DASH segment streamer 63) acquired from the GeoLocation database 71 in step S1, the address of the supply source of the segment, and the like, which is necessary when the terminal device 80 side receives the segment of the streaming data. The description of the pre-delivery process is now finished.

(51) Next, FIG. 6 is a flowchart for describing a series of processes until the terminal device 80 acquires the extended MPD, and then receives and reproduces the streaming data of content from the origin server having the shortest communication distance (hereinafter referred to as series of processes).

(52) In step S11, the terminal device 80 requests the MPD acquisition portal 73 to transmit the extended MPD that corresponds to a channel selected by the user and corresponds to the origin server having the shortest communication distance. In other words, the terminal device 80 transmits the query API for requesting crawling of the extended MPD to the MPD acquisition portal 73.

(53) In step S21, the MPD acquisition portal 73 requests the DASH MPD server 64 of each content supply device 60 of the channel designated by the query API to transmit the extended MPD in response to the query API. Further, the MPD acquisition portal 73 notifies the GeoLocation database 71 of the IP address of the terminal device 80 that has transmitted the MPD acquisition request, and acquires the region identification information of the terminal device 80.

(54) In step S31, the DASH MPD server 64 of each content supply device 60 that has been requested to transmit the extended MPD HTTP-delivers the extended MPD to the MPD acquisition portal 73.

(55) In step S22, the MPD acquisition portal 73 receives the HTTP-delivered extended MPD, and reads the region identification information of the origin server described in the MPD/@originLocation attribute of each extended MPD. Further, the MPD acquisition portal 73 notifies the CDN monitoring database 72 of the region identification information of each origin server and the terminal device 80, acquires the communication distances of the origin server and the terminal device 80, and transmits the extended MPD corresponding to the origin server having the shortest communication distance among the collected extended MPDs to the terminal device 80.

(56) In step S12, the terminal device 80 receives the extended MPD corresponding to the origin server having the shortest communication distance, and requests the DASH segment streamer 63 serving as the origin server having the shortest communication distance to transmit the segment of the streaming data for zapping based on the extended MPD. In step S32, the DASH segment streamer 63 HTTP-delivers the requested segment according to this request. In step S13, the terminal device 80 receives and reproduces the segment of the HTTP-delivered streaming data. The description of the series of processes is now finished.

(57) According to the series of processes described above, the terminal device 80 can request the origin server having the shortest communication distance among a plurality of origin servers of the same channel to transmit the streaming data. Thus, when the segment of the streaming data delivered directly from the origin server is received, the segment of the streaming data can be received rapidly, and even when the segment delivered from the cache servers in the middle of the path is received, data that is cached can be efficiently used. Thus, it is possible to prevent the occurrence of a situation in which the performance of reception and reproduction of the streaming data deteriorates.

(58) By the way, each of the content supply device 60 and the terminal device 80 that execute a series of processes described above can be configured with hardware or can be implemented by executing software through a computer. Examples of the computer include a computer embedded in dedicated hardware and a general-purpose personal computer capable of installing various kinds of programs and executing various kinds of functions.

(59) FIG. 6 is a block diagram illustrating an exemplary hardware configuration of the computer.

(60) In a computer 100, a central processing unit (CPU) 101, a read only memory (ROM) 102, and a random access memory (RAM) 103 are connected with one another via a bus 104.

(61) An input/output interface 105 is connected to the bus 104. An input unit 106, an output unit 107, a storage unit 108, a communication unit 109, and a drive 110 are connected to the input/output interface 105.

(62) The input unit 106 includes a keyboard, a mouse, a microphone, and the like. The output unit 107 includes a display, a speaker, and the like. The storage unit 108 includes a hard disk, a non-volatile memory, and the like. The communication unit 109 includes a network interface. The drive 110 drives a removable medium 111 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.

(63) In the computer 100 having the above-described configuration, for example, a series of processes described above are performed by loading a program stored in the storage unit 108 onto the RAM 103 through the input/output interface 105 and the bus 104 and executing the loaded program through the CPU 101.

(64) For example, the program executed by the computer 100 (the CPU 101) may be recorded in the removable medium 111 serving as a package medium or the like and provided. The program may be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.

(65) In the computer 100, the removable medium 111 may be mounted on the drive 110, and the program may be installed in the storage unit 108 through the input/output interface 105. The program may be received by the communication unit 109 via a wired or wireless transmission medium and installed in the storage unit 108. Moreover, the program may be installed in the ROM 102 or the storage unit 108 in advance.

(66) Further, the program executed by the computer 100 may be a program in which a process is chronologically performed according to the sequence described in the present specification or may be a program in which a process is performed in parallel or at a necessary timing, for example, when calling is performed.

(67) An embodiment of the present disclosure is not limited to the above embodiments, and various changes can be made within the scope not departing from the gist of the present disclosure.

(68) Additionally, the present technology may also be configured as below.

(69) (1)

(70) A content supply device that supplies a plurality of pieces of streaming data that include content of a same subject and differ in attribute, according to an adaptive streaming technique, the content supply device including:

(71) a metafile generating unit configured to generate a metafile that is for a reception side to select a supply source of the streaming data and that describes region identification information of the supply source; and

(72) a delivering unit configured to deliver the streaming data to the reception side as the supply source via a network, according to a request from the reception side based on the metafile.

(73) (2)

(74) The content supply device according to (1),

(75) wherein the metafile generating unit generates an extended MPD as the metafile.

(76) (3)

(77) The content supply device according to (1) or (2),

(78) wherein the metafile generating unit generates the MPD in which MPD/@originLocation attribute for describing the region identification information is introduced as the metafile.

(79) (4)

(80) The content supply device according to any of (1) to (3), further including:

(81) a collecting unit configured to collect a plurality of pieces of the metadata each corresponding to a plurality of different supply sources, and to supply the metadata corresponding to the supply source having a shortest communication distance from the reception side, to the reception side.

(82) (5)

(83) The content supply device according to (4), further including:

(84) a communication distance managing unit configured to notify the collecting unit of the communication distance between the supply source and the reception side.

(85) (6)

(86) The content supply device according to (5),

(87) wherein the communication distance managing unit decides the communication distance between the supply source and the reception side based on at least one of relay facilities on the network and a communication load state of the network.

REFERENCE SIGNS LIST

(88) 11 Internet 12 CDN 50 content supply system 60 content supply device 61 channel server 62 DASH server 63 DASH segment streamer 64 DASH PD server 71 GeoLocation database 72 CDN monitoring database 73 MPD acquisition portal 80 terminal device 100 computer 101 CPU