WO2014010445A1 - コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体 - Google Patents
コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体 Download PDFInfo
- Publication number
- WO2014010445A1 WO2014010445A1 PCT/JP2013/067984 JP2013067984W WO2014010445A1 WO 2014010445 A1 WO2014010445 A1 WO 2014010445A1 JP 2013067984 W JP2013067984 W JP 2013067984W WO 2014010445 A1 WO2014010445 A1 WO 2014010445A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- segment
- content
- request
- transmission
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2407—Monitoring of transmitted content, e.g. distribution time, number of downloads
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/2625—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for delaying content or additional data distribution, e.g. because of an extended sport event
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/458—Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management e.g. creating a master electronic programme guide from data received from the Internet and a Head-end or controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4621—Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/64322—IP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64746—Control signals issued by the network directed to the server or the client
- H04N21/64761—Control signals issued by the network directed to the server or the client directed to the server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Definitions
- the present invention relates to a content transmission apparatus that transmits content, a content reproduction apparatus that acquires and reproduces content, a content distribution system, a control method for the content transmission apparatus, a control method for the content reproduction apparatus, a data structure, a control program, and a recording medium. It is.
- VOD Video On Demand
- data is transmitted and received between a server (content providing apparatus) and a client (content reproducing apparatus) using HTTP (HyperText Transfer Protocol).
- MPEG Motion Picture Experts Group
- MPEG-DASH Dynamic Adaptive Streaming over HTTP
- content is time-divided into a plurality of segments and transmitted in segment units.
- Each segment is composed of one or a plurality of fragments.
- the content is composed of one or a plurality of periods, and one period includes one or a plurality of segments.
- a plurality of representations having different quality types are prepared for one content. For example, a plurality of segment data encoded at different bit rates for each segment is prepared. Accordingly, a client that receives and reproduces content can execute adaptive streaming by changing the bit rate of the requested content (segment) in accordance with the reception status of the content.
- MPEG-DASH supports live streaming, and it is assumed that low-delay live streaming is supported by reducing the segment length. Due to processing delays by the server and the client, delays on the network, etc., it is impossible for the client to reproduce strictly in real time. Therefore, although it is slightly delayed, live streaming in substantially real time is referred to as low delay live streaming.
- MPD Media Presentation Description
- MPD is content metadata and describes content management information in XML format.
- MPD is information used by the client when acquiring / reproducing content.
- FIG. 17 is a diagram illustrating a description example of MPD.
- the MPD 200 describes information 210 including type information 211, profile information 212, buffering time information 213, MPD update interval information 214, and distribution start time information 215.
- Type information 211 is information (attribute value of attribute “type”) indicating whether the distribution is live distribution or on-demand distribution.
- attribute value of attribute “type” is “dynamic”, which indicates that the content associated with the MPD 200 is the live delivery content.
- “static” is described in the attribute value of the attribute “type”.
- the profile information 212 is information indicating a content profile.
- the buffering time information 213 is information indicating the minimum buffering time. In the illustrated example, since the attribute value of the attribute “minBufferTime” is “PT10S”, it indicates that the client performs buffering for at least 10 seconds.
- the MPD update interval information 214 is information indicating a minimum interval at which the client confirms whether or not the MPD 200 is updated with respect to the server.
- the attribute value of the attribute “minimumUpdateperiod” is “PT60S”, it indicates that the client confirms whether or not the MPD is updated at least every 60 seconds.
- the distribution start time information 215 is information (attribute value of attribute “availabilityStartTime”) indicating the time at which the server starts the live streaming distribution of the content.
- attribute value of the attribute “availabilityStartTime” is “2012-07-01T18: 00: 00”, which indicates that live streaming distribution is started on July 1, 2012 at 18:00.
- the MPD 200 describes acquisition destination information 220 indicating a content acquisition destination.
- the URL of the server is described as the acquisition destination information 220.
- period information 230 relating to each period divided by the content playback period is described.
- the period information 230 includes the period start time (attribute value of the attribute “start”) and the period of the period (attribute value of the attribute “duration”) based on the content distribution start time. is described.
- high-quality segment information 241 indicating a high-quality segment and low-quality segment information 242 indicating a low-quality segment are described as segments included in a certain period (from playback time 0 to 60 seconds).
- the high quality segment information 241 describes the ID and bit rate of the high quality representation included in the period.
- the length and URL of each segment included in the period are described. The same applies to the low quality segment information 242.
- the period is composed of 60 segments, segment # 1 to segment # 60.
- FIG. 18 is a diagram illustrating an example of an operation sequence of a server and a client that execute live streaming.
- FIG. 19 is a diagram illustrating an example of an HTTP message transmitted and received in live streaming.
- t (i) be the time at which segment #i can be distributed.
- the distribution time t (i) of segment #i is calculated based on the content distribution start time indicated by the distribution start time information 215 of MPD 200 and the length of each segment.
- the client first refers to the MPD 200 and transmits a request message 301 for requesting transmission of the segment #n to the server at time t (n). Since it is after the delivery time t (n) of the segment #n, the server transmits a response message 302 including the data body of the segment #n to the client as a response to the request message 301, and the client receives the segment #n. .
- the client transmits a request message 303 for requesting transmission of the next segment # n + 1 to the server at time t (n + 1) after receiving segment #n. Again, since it is after the distribution time t (n + 1) of the segment # n + 1, the server transmits a response message 304 including the data body of the segment # n + 1 to the client as a response to the request message 303, and the client transmits the segment # n + 1 Receive.
- the client subsequently acquires segment # n + 2 and segment # n + 3 in the same manner.
- a delay occurs from when the client transmits a request for each segment until the data body of the segment is received. Also, this delay has fluctuations. Therefore, when the segment length is reduced, it is difficult to stably perform low-delay live streaming.
- FIG. 20 is a diagram illustrating an example of an operation sequence of the server and the client when prefetching is applied.
- FIG. 21 is a diagram illustrating an example of an HTTP message when prefetching is applied.
- the client refers to the MPD 200 and transmits a request message 311 for requesting transmission of the segment #n to the server at time t (n). Since it is after the delivery time t (n) of the segment #n, the server transmits a response message 312 including the data body of the segment #n to the client as a response to the request message 311, and the client receives the segment #n. .
- the client transmits a request message 313 for requesting transmission of the next segment # n + 1 to the server.
- the server responds with a response error (there is no resource in the server, or A response message 314 indicating that the segment data is not in a deliverable state is transmitted to the client.
- the client When the client receives the response error, the client transmits a request message 315 for requesting transmission of segment # n + 1 to the server again. At this time, since it is after the delivery time t (n + 1) of segment # n + 1, the server transmits a response message 316 including the data body of segment # n + 1 to the client as a response to the request message 315, and the client n + 1 is received.
- the client Upon receiving the segment # n + 1, the client immediately transmits a request message 317 for requesting transmission of the next segment # n + 2 to the server. Since the time when the server receives the request message 317 is after the distribution time t (n + 2) of the segment # n + 2, the server sends a response message 318 including the data body of the segment # n + 2 to the client as a response to the request message 317. Send, and the client receives segment # n + 2.
- the client when receiving the segment # n + 2, the client immediately sends a request message 319 for requesting transmission of the next segment # n + 3 to the server. However, since the point in time when the server receives the request message 319 is before the distribution time t (n + 3) of the segment # n + 3, the server sends a response message 320 indicating a response error to the client as a response to the request message 319. Send to.
- the client When the client receives the response error, the client transmits a request message 321 for requesting transmission of segment # n + 3 to the server again. At this time, since it is after the delivery time t (n + 3) of segment # n + 3, the server transmits a response message 322 including the data body of segment # n + 3 to the client as a response to request message 321, and the client sends segment #n n + 3 is received.
- the delay amount may increase due to a response error reception process, a re-request transmission process, or the like.
- FIG. 22 is a diagram illustrating an example of an operation sequence of the server and the client when the request pipeline is applied.
- FIG. 23 is a diagram illustrating an example of an HTTP message when the request pipeline is applied.
- the client first references the MPD 200 and pipelines request messages 331 to 334 for requesting transmission of segments #n to # n + 3 at time t (n). Send to server.
- the server receives the request messages 331 to 334 and sequentially processes them. First, since it is after the delivery time t (n) of the segment #n with respect to the request message 331, the server transmits a response message 335 including the data body of the segment #n to the client as a response to the request message 331. . Next, since it is before the distribution time t (n + 1) of segment # n + 1 with respect to the request message 332, the server transmits a response message 336 indicating a response error to the client as a response to the request message 332.
- the server Since the request message 333 is before the distribution time t (n + 2) of segment # n + 2, the server transmits a response message 337 indicating a response error to the client as a response to the request message 333. Finally, since it is before the distribution time t (n + 3) of segment # n + 3 with respect to the request message 334, the server transmits a response message 338 indicating a response error to the client as a response to the request message 334.
- the delay amount may increase due to a response error reception process, a re-request transmission process, or the like.
- the present invention has been made in view of the above-described problems, and an object of the present invention is to provide a content transmission device, a content reproduction device, a content distribution system, and a content transmission that perform high-quality low-delay live streaming while suppressing delay.
- An apparatus control method, a content reproduction device control method, a data structure, a control program, and a recording medium are realized.
- a content transmission apparatus is a content transmission apparatus that transmits content composed of a plurality of segments to a content reproduction apparatus for each segment, and receives a request from the content reproduction apparatus Then, as a response to the request, a transmission unit that transmits the response to the content reproduction device is provided, and the transmission unit is in a state where the segment can be distributed when the request requests transmission of the segment. After the segment is ready for distribution, a response including the segment is transmitted to the content reproduction apparatus.
- a content transmission device control method is a content transmission device control method for transmitting content composed of a plurality of segments to a content reproduction device for each segment in order to solve the above-described problem.
- the response includes a transmission step of transmitting a response to the content playback device as a response to the request.
- the transmission step if the request requests transmission of a segment, It waits until the segment becomes ready for distribution, and after the segment becomes ready for distribution, a response including the segment is transmitted to the content reproduction apparatus.
- the transmission means transmits a response including the segment to the content reproduction apparatus after the segment is ready for distribution. Therefore, even if a request for requesting transmission of the segment is received before the segment becomes ready for distribution, a response indicating a response error is not transmitted. Further, it is not necessary for the content reproduction apparatus to transmit the request again. Therefore, there is an effect that the delay can be suppressed and high-quality low-delay live streaming can be executed.
- the transmission unit determines whether or not the segment is in a deliverable state based on content management information associated with the content.
- the transmission unit determines whether or not the segment is in a deliverable state based on the delivery time of the segment added to the request.
- the transmission means is a case where the request is for requesting transmission of a segment, and after receiving the request, the segment becomes ready for distribution.
- the request is for requesting transmission of a segment
- the segment becomes ready for distribution.
- it is preferable to notify the content reproduction apparatus of a status indicating that processing is in progress.
- the transmission means indicates that the content reproduction apparatus is processing if it takes a predetermined time or more after receiving the request until the segment becomes ready for distribution. Since the status is notified, timeout can be prevented.
- the content playback apparatus is a content playback apparatus that acquires and plays back content composed of a plurality of segments from a content transmission device for each segment in order to solve the above-described problem.
- An acquisition unit that transmits a request for transmission of each segment to the device and acquires a response including the segment as a response to the request, and the acquisition unit includes the segment before the distribution time of each segment It is characterized by transmitting a request for requesting transmission.
- a method for controlling a content reproduction apparatus is a method for controlling a content reproduction apparatus that acquires and reproduces content composed of a plurality of segments from a content transmission apparatus for each segment in order to solve the above-described problem.
- each segment is distributed.
- a feature is that a request for transmission of the segment is transmitted before the time.
- the acquisition unit transmits a request for transmission of the segment before the distribution time of each segment. Therefore, the content transmission device waits for a request that comes before the segment delivery time until the segment becomes ready for delivery, and after the segment becomes ready for delivery, a response including the segment is sent to the request.
- the content transmission apparatus performs a response transmission process when the segment is ready for distribution, and therefore, it is possible to suppress a delay when the content reproduction apparatus acquires the segment. Therefore, there is an effect that the delay can be suppressed and high-quality low-delay live streaming can be executed.
- the acquisition unit requests the transmission of the segment whose playback order is later before the acquisition of the response to the request for requesting transmission of the segment whose playback order is previous is completed. Is preferably transmitted.
- the acquisition unit transmits a plurality of requests for requesting segment transmission in a pipeline.
- the acquisition unit transmits the request with a segment distribution time added thereto.
- the content reproduction device notifies the content transmission device of the distribution time of the segment, and the content transmission device determines whether or not the segment can be distributed based on the notified distribution time. Therefore, the content reproduction device can control the segment transmission timing of the content transmission device.
- the content distribution system preferably includes the content transmission device and the content reproduction device.
- the content distribution system has the same effects as the content transmission device and the content reproduction device.
- the relay device is a relay device interposed between the content reproduction device and the content transmission device, and sends a request transmitted from the content reproduction device to the content transmission device.
- a transfer unit that transfers the response transmitted from the content transmission device to the content reproduction device as a response to the request, and the content includes a plurality of segments.
- the transfer means includes a case where the request transmitted from the content reproduction device requests transmission of a segment, and includes the segment after receiving the request.
- the transfer means includes a case where the request transmitted from the content reproduction device requests transmission of a segment, and includes the segment after receiving the request.
- the transfer means is a case where the request transmitted from the content reproduction device requests transmission of a segment, and the segment distribution time is added to the request. If there is, it is preferable to transmit the request to the content transmission device after the segment delivery time.
- the data structure of the content management information associated with the content composed of a plurality of segments acquired by the content reproduction device from the content transmission device including a prefetch enable / disable flag indicating whether prefetch is possible
- the data structure of the content management information is also included in the category of the present invention.
- the data structure of a request for requesting the content transmitting apparatus to transmit each segment constituting the content to the content transmitting apparatus includes segment distribution time information indicating the distribution time of the segment
- the data structure of the request characterized by the above is also included in the scope of the present invention.
- the content transmission device and the content reproduction device may be realized by a computer.
- the content transmission device is operated by causing the computer to operate as each unit of the content transmission device and the content reproduction device.
- a control program for realizing the content reproduction apparatus on a computer and a computer-readable recording medium on which the control program is recorded also fall within the scope of the present invention.
- the content transmission device when a content transmission device according to the present invention receives a request from the content reproduction device, the content transmission device includes a transmission unit that transmits a response to the content reproduction device as a response to the request. If the request is for requesting the transmission of a segment, it waits until the segment is ready for delivery, and after the segment is ready for delivery, sends a response including the segment to the content playback device. .
- the method for controlling a content transmission device includes a transmission step of transmitting a response to the content reproduction device as a response to the request when a request is received from the content reproduction device. If the request is for requesting the transmission of a segment, it waits until the segment is ready for delivery, and after the segment is ready for delivery, sends a response including the segment to the content playback device. .
- the content reproduction apparatus includes an acquisition unit that transmits a request for requesting transmission of each segment to the content transmission apparatus, and acquires a response including the segment as a response to the request.
- the acquisition means transmits a request for requesting transmission of the segment before the distribution time of each segment.
- the content playback apparatus control method includes an acquisition step of transmitting a request for requesting transmission of each segment to the content transmission apparatus and acquiring a response including the segment as a response to the request.
- a request for transmission of the segment is transmitted before the distribution time of each segment.
- FIG. 1 is a diagram illustrating an example of a main configuration of a server and a client.
- FIG. It is a block diagram which shows an example of a structure of the content delivery system containing the said server and the said client.
- It is a flowchart which shows an example of the content transmission process of the said server.
- It is a flowchart which shows an example of the content acquisition process of the said client.
- It is a figure which shows the example of description of MPD used by this invention.
- FIGS. 1 to 16 An embodiment of the present invention will be described with reference to FIGS. 1 to 16 as follows. First, an outline of the content distribution system of the present embodiment will be described based on FIG.
- FIG. 2 is a diagram showing an outline of the content distribution system 6 according to the present embodiment.
- the content distribution system 6 includes a server 1, a client 2, an MPD storage device 4, and a segment storage device 5.
- the client 2 connects to the server 1.
- the server 1 is connected to the MPD storage device 4 and the segment storage device 5.
- Each device is connected by an arbitrary network of wired communication or wireless communication.
- the server 1 is a content transmission device that receives a content transmission request from the client 2 and transmits the content.
- the server 1 transmits MPD data to the client 2 in advance before transmitting the content data body (segment data).
- the server 1 acquires the MPD data and the segment data from the MPD storage device 4 and the segment storage device 5 on the network 7, but is not limited to this.
- each server 1 may hold MPD data and segment data locally.
- the client 2 is a content playback device that plays back content acquired from another device such as the server 1 or content stored in the device itself.
- the client 2 is, for example, a digital television, a recorder, an STB (Set Top Box), a PC, a mobile phone, a smartphone, a game machine, a PDA (Personal Digital Assistant), a digital camera, a digital video, or the like.
- the configuration of the content distribution system 6 is not limited to the example shown in FIG.
- the content distribution system 6 may include a plurality of servers 1 or a plurality of clients 2.
- the content distribution system 6 may include one or a plurality of proxies 3 that relay data between the server 1 and the client 2.
- HTTP which is widely used as a hypertext transfer protocol
- the content distributed by the server 1 is video content, and the content is segmented ISOBFF data. That is, in the present embodiment, the content distribution system 6 distributes content based on the above-described MPEG-DASH standard.
- FIG. 1 is a diagram illustrating an example of a main configuration of the server 1 and the client 2.
- the server 1 is configured to include a server control unit 11, a server storage unit 12, and a server communication unit 13.
- the server communication unit 13 communicates with other devices such as the client 2, the MPD storage device 4, and the segment storage device 5 by wireless communication means or wired communication means, and exchanges data according to instructions from the server control unit 11. Is.
- the server control unit 11 performs various operations by executing a program read from the server storage unit 12 to a temporary storage unit (not shown), and comprehensively controls each unit included in the server 1. is there.
- the server control unit 11 is configured to include a content acquisition unit 21 and a content transmission unit (transmission unit) 22 as functional blocks.
- Each function block (21, 22) of the server control unit 11 has a program stored in a storage device realized by a CPU (central memory processing unit) such as a ROM (read memory only) RAM (random memory access memory) or the like. This can be realized by reading out and executing the temporary storage unit realized in the above.
- the content acquisition unit 21 acquires MPD data from the MPD storage device 4 or segment data from the segment storage device 5 based on an instruction from the content transmission unit 22.
- the content acquisition unit 21 outputs the acquired MPD data or segment data to the content transmission unit 22.
- the content acquisition unit 21 may acquire MPD data and / or segment data in advance regardless of whether there is an instruction from the content transmission unit 22.
- the content acquisition unit 21 stores the MPD data and segment data acquired in advance in the server storage unit 12, and MPD data and segment data from the server storage unit 12 based on an instruction from the content transmission unit 22. Is read.
- the content transmission unit 22 determines whether the received request is a request for requesting transmission of a segment.
- the content transmission unit 22 instructs the content acquisition unit 21 to acquire the segment, and the content acquisition unit 21 is in a state where the segment can be distributed ( wait until available). Then, when the content transmission unit 22 becomes ready for distribution, the content transmission unit 22 acquires segment data from the content acquisition unit 21 and transmits a response including the segment data to the client 2.
- a response to the request is transmitted to the client 2.
- the content acquisition unit 21 is instructed to acquire the MPD of the content, and when MPD data is acquired from the content acquisition unit 21, the acquisition is performed.
- a response including the MPD data is transmitted to the client 2.
- the content acquisition unit 21 is instructed to acquire the resource, and when the resource is acquired from the content acquisition unit 21, the acquired resource is included.
- a response is transmitted to the client 2.
- the content transmitting unit 22 determines whether the received request is a request for transmitting a segment based on whether the media type of the resource specified by the received request is a segment. Also good.
- the content transmission unit 22 may determine whether or not the segment is in a state where it can be distributed based on the distribution time of the segment. That is, the content transmission unit 22 determines that the distribution is not possible before the segment distribution time, and determines that the distribution is possible after the segment distribution time.
- the server storage unit 12 stores programs, data, and the like that the server control unit 11 refers to.
- the MPD data and segment data acquired by the content acquisition unit 21 may be stored.
- the client 2 includes a client control unit 41, a client storage unit 42, a client communication unit 43, a display unit 44, and an audio output unit 45.
- the client 2 may include members such as an operation unit and a voice input unit, but the members are not shown because they are not related to the feature points of the invention.
- the client communication unit 43 communicates with other devices such as the server 1 and the proxy 3 by wireless communication means or wired communication means, and exchanges data in accordance with instructions from the client control unit 41.
- the display unit 44 displays an image according to an instruction from the client control unit 41.
- the display unit 44 only needs to display an image in accordance with an instruction from the client control unit 41.
- an LCD liquid crystal display
- an organic EL display organic EL display
- a plasma display or the like can be applied.
- the audio output unit 45 receives an electrical signal from the client control unit 41, converts the received electrical signal into sound, and outputs the sound to the outside of the client 2.
- the audio output unit 45 is a so-called speaker.
- the client control unit 41 performs various operations by executing a program read from the client storage unit 42 to a temporary storage unit (not shown), and comprehensively controls each unit included in the client 2. is there.
- the client control unit 41 includes a content acquisition unit (acquisition means) 51 and a content reproduction unit 52 as functional blocks.
- the CPU reads a program stored in a storage device realized by a ROM or the like to a temporary storage unit realized by a RAM or the like and executes the program. Can be realized.
- the content acquisition unit 51 transmits a request to the server 1 via the client communication unit 43, and acquires content (an MPD associated with the content and a segment constituting the content) from the server 1.
- the content acquisition unit 51 issues a request for requesting transmission of management information (MPD) of the content. Send to server 1. Then, the content acquisition unit 51 receives the MPD data of the content as a response to the request. The content acquisition unit 51 refers to the received MPD data, and transmits a request to the server 1 for requesting transmission of a segment constituting the content. The content acquisition unit 51 acquires the segment data of the content as a response to the request. The content acquisition unit 51 outputs the acquired segment data to the content reproduction unit 52.
- MPD management information
- the content acquisition unit 51 refers to the MPD and transmits a request for the segment at the segment distribution time (or after the distribution time). Further, after acquiring the previous segment (after receiving a response to the request for the previous segment), the content acquisition unit 51 transmits a request for the next segment and acquires the segments one by one.
- the segment distribution time Before that, send a request for the segment.
- the prefetch enable / disable flag described in the MPD indicates that prefetch is possible
- the content acquisition unit 51 does not wait for the previous segment acquisition (without waiting for a response to the previous segment request). , Send a request for the next segment.
- the content acquisition unit 51 pipelines and transmits a plurality of HTTP requests that request segment transmission.
- the content playback unit 52 refers to the MPD data and plays back the content based on the acquired segment data.
- the client storage unit 42 stores programs, data, and the like referred to by the client control unit 41, and may store MPD data, segment data, and the like acquired by the content acquisition unit 51, for example.
- FIG. 3 is a flowchart illustrating an example of content transmission processing of the server 1.
- the server 1 waits for an HTTP request message to be transmitted from the client 2. Then, when receiving the HTTP request message (S1), the server 1 determines whether or not the received HTTP request message is an HTTP request message for requesting transmission of a segment (S2).
- the content transmission unit 22 instructs the content acquisition unit 21 to acquire the segment, and the content acquisition unit 21
- the segment data is acquired from, and waits until the segment becomes available (available) (S3).
- the content transmission unit 22 transmits a response including the segment data to the client 2 (S4).
- the received HTTP request message is not an HTTP request message requesting transmission of a segment (NO in S2)
- a response to the request is transmitted to the client 2 (S4).
- FIG. 4 is a flowchart showing an example of content acquisition processing of the client 2.
- the content acquisition unit 51 transmits a request for requesting transmission of content management information (MPD) to the server 1 (S11). And the content acquisition part 51 receives the response with respect to this request, and acquires MPD data contained in a response (S12).
- MPD content management information
- the content acquisition unit 51 refers to the prefetch enable / disable flag described in the received MPD data and determines whether prefetch is possible (S13). If prefetching is possible, the content acquisition unit 51 refers to the received MPD data and transmits a plurality of requests for requesting transmission of a plurality of consecutive segments before the distribution time of each segment (S14).
- the content acquisition unit 51 performs response reception processing in parallel with request transmission processing, and sequentially acquires segments.
- the content acquisition unit 51 acquires all the segments requested in S14 (YES in S15), and finishes the content acquisition process when transmission of requests for all segments constituting the content has been completed (YES in S16). To do.
- the content acquisition unit 51 sequentially outputs the acquired segments to the content reproduction unit 52, and the content reproduction unit 52 reproduces the content based on the acquired segments in parallel with the content acquisition process described above.
- FIG. 5 is a diagram showing a description example of MPD used in the present invention.
- the MPD 70 used in the present invention is obtained by adding a prefetch enable / disable flag to the conventional MPD 200 shown in FIG. Specifically, a prefetch enable / disable flag is added to the information 210 of the conventional MPD 200.
- a prefetch enable / disable flag is added to the information 210 of the conventional MPD 200.
- an attribute “preFetch” is described as a prefetch enable / disable flag in the information 71 of the MPD 70 used in the present invention, and “true” indicating that prefetch is possible as an attribute value of the attribute “preFetch” Is described. If prefetching is not possible, “false” is described in the attribute value.
- FIG. 6 is a diagram illustrating an example of an operation sequence of the server 1 and the client 2 that execute live streaming.
- FIG. 7 is a diagram illustrating an example of an HTTP message transmitted and received in live streaming.
- the client 2 refers to the MPD 70 and transmits the requests of the four segments, segment #n to # n + 3, in pipeline form before the distribution time t (n) of segment #n.
- the client 2 refers to the MPD 70, and before the time t (n), requests messages 81 to 84 for requesting transmission of segments #n to # n + 3. Pipelined and sent to server 1.
- the server 1 waits until the delivery time of the segments #n to # n + 3 because the request messages 81 to 84 request the transmission of the segments.
- the server 1 transmits a response message 85 including the data body of the segment #n to the client 2 as a response to the request message 81, and the client 2 receives the segment #n Receive.
- the server 1 When the distribution time t (n + 1) of the segment # n + 1 is reached, the server 1 transmits a response message 86 including the data body of the segment # n + 1 to the client 2 as a response to the request message 82, and the client 2 receives the segment # n + 1. Receive. When the distribution time t (n + 2) of the segment # n + 2 is reached, the server 1 transmits a response message 87 including the data body of the segment # n + 2 to the client 2 as a response to the request message 83, and the client 2 receives the segment # n + 2. Receive.
- the server 1 transmits a response message 88 including the data body of the segment # n + 3 to the client 2 as a response to the request message 84, and the client 2 receives the segment # n + 3. Receive.
- the client 2 transmits a request before the segment distribution time, and the server 1 transmits the response to the request after waiting until the distribution time is reached, thereby reducing the influence of delay fluctuation. it can. Therefore, high-quality low-delay live streaming corresponding to NW jitter can be executed.
- the content distribution system 6 includes the server 1, the client 2, the MPD storage device 4, and the segment storage device 5, but may further include a proxy.
- the content distribution system 6 a may include a server 1, a client 2, a proxy 3, an MPD storage device 4, and a segment storage device 5.
- the client 2 connects to the server 1 via the proxy 3.
- the content distribution system 6a may include a plurality of proxies 3.
- the proxy 3 is a relay device interposed between the server 1 and the client 2, and transfers a request transmitted from the client 2 to the server 1 and transfers a response transmitted from the server 1 to the client 2.
- a transfer means (not shown) is provided.
- the proxy 3 may include a proxy storage unit (not shown), and may store a request transmitted from the client 2, a response transmitted from the server 1, segment data included in the response, and the like. Good.
- FIG. 9 is a diagram illustrating an example of an operation sequence of the server 1 and the client 2 that notifies the status indicating that processing is in progress.
- FIG. 10 is a diagram illustrating an example of an HTTP message for notifying a status indicating that processing is in progress.
- the client 2 refers to the MPD 70, and before the delivery time t (n) of the segment #n, the four segments of the segments #n to # n + 3 Assume that requests are pipelined and sent.
- the client 2 refers to the MPD 70, and before the time t (n), requests messages 91 to 94 for requesting transmission of segments #n to # n + 3. Pipelined and sent to server 1.
- the server 1 waits until the delivery time of the segments #n to # n + 3 because the request messages 91 to 94 request transmission of the segments.
- the server 1 transmits a response message 95 including the data body of the segment #n to the client 2 as a response to the request message 91, and the client 2 receives the segment #n Receive.
- the server 1 transmits a response message 96 including the data body of the segment # n + 1 to the client 2 as a response to the request message 92, and the client 2 receives the segment # n + 1. Receive.
- the server 1 since the timeout occurs when waiting for the responses to the request messages 93 and 94 until the delivery times t (n + 2) and t (n + 3) of the segments # n + 2 and # n + 3, the server 1 requests the request message before timing out.
- Response messages 97 and 98 indicating a status indicating that processing is in progress are transmitted to the client 2 to 93 and 94. Since the client 2 has received the response messages 97 and 98, the client 2 waits for responses of the request messages 93 and 94 without timing out.
- the server 1 transmits a response message 99 including the data body of the segment # n + 2 to the client 2 as a response to the request message 93, and the client 2 receives the segment # n + 2.
- the server 1 transmits a response message 100 including the data body of the segment # n + 3 to the client 2 as a response to the request message 94, and the client 2 receives the segment # n + 3.
- FIG. 11 is a diagram illustrating an example of an operation sequence of the server 1, the client 2, and the proxy 3 that notifies a status indicating that processing is in progress.
- FIG. 10 is a diagram illustrating an example of an HTTP message for notifying a status indicating that processing is in progress.
- the client 2 refers to the MPD 70 and sends request messages 111 to 114 for requesting transmission of segments #n to # n + 3 before time t (n).
- the proxy 3 receives the request messages 111 to 114, pipelines the request messages 115 to 118 for requesting transmission of the segments #n to # n + 3, and transmits them to the server 1.
- the server 1 waits until the delivery time of the segments #n to # n + 3 because the request messages 115 to 118 request transmission of the segments.
- the server 1 transmits a response message 119 including the data body of the segment #n to the proxy 3 as a response to the request message 115.
- the proxy 3 receives the response message 119 and transmits a response message 120 including the data body of the segment #n to the client 2 as a response to the request message 111, and the client 2 receives the segment #n.
- the server 1 transmits a response message 121 including the data body of the segment # n + 1 to the proxy 3 as a response to the request message 116.
- the proxy 3 receives the response message 121 and transmits a response message 122 including the data body of the segment # n + 1 to the client 2 as a response to the request message 112, and the client 2 receives the segment # n + 1.
- the server 1 transmits a response message 125 including the data body of the segment # n + 2 to the proxy 3 as a response to the request message 117.
- the proxy 3 receives the response message 125 and transmits a response message 126 including the data body of the segment # n + 2 to the client 2 as a response to the request message 113, and the client 2 receives the segment # n + 2.
- the server 1 transmits a response message 127 including the data body of the segment # n + 3 to the proxy 3 as a response to the request message 118.
- the proxy 3 receives the response message 127 and transmits a response message 128 including the data body of the segment # n + 3 to the client 2 as a response to the request message 114, and the client 2 receives the segment # n + 3.
- the server 1 refers to the MPD to determine whether or not the segment is in a deliverable state, but is not limited to this.
- the client 2 may add the distribution time of the segment to a request for requesting transmission of the segment.
- the server 1 determines whether the segment is in a deliverable state based on the delivery time of the segment added to the request.
- the client 2 may add segment distribution time information indicating the distribution time of the segment using the extension header of the HTTP request message.
- the attribute “X-Available” may be described in the header of the HTTP request message, and the segment distribution time t (n) may be described as the attribute value.
- FIG. 13 is a diagram illustrating an example of an operation sequence in a case where the server 1 determines whether or not a segment can be distributed based on the distribution time of the segment added to the request.
- FIG. 14 is a diagram illustrating an example of an HTTP request message to which a segment distribution time is added.
- the client 2 refers to the MPD 70, and before the delivery time t (n) of the segment #n, the four segments of the segments #n to # n + 3 Assume that requests are pipelined and sent. Further, as shown in FIG. 8, it is assumed that the client 2 transmits a request via the proxy 3.
- the client 2 refers to the MPD 70, and before the time t (n), requests messages 131 to 134 for requesting transmission of segments #n to # n + 3.
- the proxy 3 receives the request messages 131 to 134, pipelines request messages 135 to 138 for requesting transmission of the segments #n to # n + 3, and transmits them to the server 1.
- the server 1 waits until the delivery time of the segments #n to # n + 3 added to the request messages 135 to 138, respectively, since the request messages 135 to 138 request transmission of the segments.
- the server 1 transmits a response message 139 including the data body of the segment #n to the proxy 3 as a response to the request message 135.
- the proxy 3 receives the response message 139 and transmits a response message 140 including the data body of the segment #n to the client 2 as a response to the request message 131, and the client 2 receives the segment #n.
- the server 1 transmits a response message 141 including the data body of the segment # n + 1 to the proxy 3 as a response to the request message 136.
- the proxy 3 receives the response message 141 and transmits a response message 142 including the data body of the segment # n + 1 to the client 2 as a response to the request message 132, and the client 2 receives the segment # n + 1.
- the server 1 transmits a response message 143 including the data body of the segment # n + 2 to the proxy 3 as a response to the request message 137.
- the proxy 3 receives the response message 143 and transmits a response message 144 including the data body of the segment # n + 2 to the client 2 as a response to the request message 133, and the client 2 receives the segment # n + 2.
- the server 1 transmits a response message 145 including the data body of the segment # n + 3 to the proxy 3 as a response to the request message 138.
- the proxy 3 receives the response message 145 and transmits a response message 146 including the data body of the segment # n + 3 to the client 2 as a response to the request message 134, and the client 2 receives the segment # n + 3.
- the proxy 3 transmits the request transmission timing to the server 1 based on the segment delivery time added to the request transmitted from the client 2. May be controlled.
- the proxy 3 when receiving the request transmitted from the client 2, the proxy 3 does not immediately transfer the request to the server 1, but waits until the distribution time of the segment added to the request is reached. Then, the proxy 3 transmits the request to the server 1 when the distribution time of the segment added to the request comes.
- FIG. 15 is a diagram illustrating an example of an operation sequence in the case where the proxy 3 controls the transmission timing of a request to the server 1 based on the segment delivery time added to the request transmitted from the client 2.
- FIG. 16 is a diagram illustrating an example of an HTTP request message to which a segment distribution time is added.
- the client 2 refers to the MPD 70 and sends request messages 131 to 134 for requesting transmission of segments #n to # n + 3 before time t (n). Pipelined and sent to proxy 3.
- the proxy 3 waits until the distribution time of the segments #n to # n + 3 added to the request message comes because the received request messages 151 to 154 request transmission of the segments.
- the proxy 3 transmits a request message 155 for requesting transmission of the segment #n to the server 1.
- the server 1 transmits a response message 156 including the data body of the segment #n to the proxy 3 as a response to the request message 155.
- the proxy 3 receives the response message 156 and transmits a response message 157 including the data body of the segment #n to the client 2 as a response to the request message 151, and the client 2 receives the segment #n.
- the proxy 3 transmits a request message 158 for requesting the transmission of the segment # n + 1 to the server 1.
- the server 1 transmits a response message 159 including the data body of the segment # n + 1 to the proxy 3.
- the proxy 3 receives the response message 159 and transmits a response message 160 including the data body of the segment # n + 1 to the client 2 as a response to the request message 152, and the client 2 receives the segment # n + 1.
- the proxy 3 transmits a request message 161 for requesting transmission of the segment # n + 2 to the server 1.
- the server 1 transmits a response message 162 including the data body of the segment # n + 2 to the proxy 3.
- the proxy 3 receives the response message 162 and transmits a response message 163 including the data body of the segment # n + 2 to the client 2 as a response to the request message 153, and the client 2 receives the segment # n + 2.
- the proxy 3 transmits a request message 164 for requesting transmission of the segment # n + 3 to the server 1.
- the server 1 transmits a response message 165 including the data body of the segment # n + 3 to the proxy 3.
- the proxy 3 receives the response message 165 and transmits a response message 166 including the data body of the segment # n + 3 to the client 2 as a response to the request message 154, and the client 2 receives the segment # n + 3.
- each block of the server 1 and the client 2 may be configured by hardware logic, or may be realized by software using a CPU as follows. .
- the server 1 and the client 2 have a CPU (central processing unit) that executes instructions of a control program that realizes each function, a ROM (read only memory) that stores the program, and a RAM (random access memory that expands the program). ),
- a storage device such as a memory for storing the program and various data.
- An object of the present invention is a recording medium in which program codes (execution format program, intermediate code program, source program) of control programs for the server 1 and the client 2 which are software for realizing the functions described above are recorded so as to be readable by a computer. Can also be achieved by reading the program code recorded on the recording medium and executing it by the computer (or CPU or MPU).
- Examples of the recording medium include tapes such as magnetic tapes and cassette tapes, magnetic disks such as floppy (registered trademark) disks / hard disks, and disks including optical disks such as CD-ROM / MO / MD / DVD / CD-R.
- Card system such as IC card, IC card (including memory card) / optical card, or semiconductor memory system such as mask ROM / EPROM / EEPROM (registered trademark) / flash ROM.
- the server 1 and the client 2 may be configured to be connectable to a communication network, and the program code may be supplied via the communication network.
- the communication network is not particularly limited.
- the Internet intranet, extranet, LAN, ISDN, VAN, CATV communication network, virtual private network, telephone line network, mobile communication network, satellite communication. A net or the like is available.
- the transmission medium constituting the communication network is not particularly limited.
- infrared rays such as IrDA and remote control, Bluetooth ( (Registered trademark), 802.11 wireless, HDR, mobile phone network, satellite line, terrestrial digital network, and the like can also be used.
- the present invention can also be realized in the form of a computer data signal embedded in a carrier wave in which the program code is embodied by electronic transmission.
- the present invention can be used for a content transmission device that transmits content of the MPEG-DASH standard and a content playback device that acquires and plays back the content.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
図2は、本実施形態に係るコンテンツ配信システム6の概要を示す図である。図2に示すように、コンテンツ配信システム6は、サーバ1、クライアント2、MPD記憶装置4およびセグメント記憶装置5を含む。
次に、図1に基づいて、サーバ1およびクライアント2の要部構成について説明する。図1は、サーバ1およびクライアント2の要部構成の一例を示す図である。
図1に示すように、サーバ1は、サーバ制御部11、サーバ記憶部12およびサーバ通信部13を備える構成である。
図1に示すように、クライアント2は、クライアント制御部41、クライアント記憶部42、クライアント通信部43、表示部44および音声出力部45を備える。なお、クライアント2は、操作部、音声入力部等の部材を備えていてもよいが、発明の特徴点とは関係がないため当該部材を図示していない。
次に、図3に基づいて、サーバ1のコンテンツ送信処理について説明する。図3は、サーバ1のコンテンツ送信処理の一例を示すフローチャートである。
次に、図4に基づいて、クライアント2のコンテンツ取得処理について説明する。図4は、クライアント2のコンテンツ取得処理の一例を示すフローチャートである。
次に、本発明で用いるMPDの記述例について図5に基づいて説明する。図5は、本発明で用いるMPDの記述例を示す図である。
次に、ライブストリーミングを実行するサーバ1およびクライアント2の動作シーケンスおよびライブストリーミングにおいて送受信されるHTTPメッセージについて図6および図7に基づいて説明する。図6は、ライブストリーミングを実行するサーバ1およびクライアント2の動作シーケンスの一例を示す図である。また、図7は、ライブストリーミングにおいて送受信されるHTTPメッセージの一例を示す図である。
本実施形態では、コンテンツ配信システム6は、サーバ1、クライアント2、MPD記憶装置4およびセグメント記憶装置5を含むものであるが、さらに、プロキシを含んでいてもよい。具体的には、図8に示すように、コンテンツ配信システム6aは、サーバ1、クライアント2、プロキシ3、MPD記憶装置4およびセグメント記憶装置5を含んでいてよい。
本実施形態では、クライアント2は、セグメントの配信時刻より前にリクエストを送信するため、リクエストの送信から当該リクエストに対するレスポンスの受信までの間隔が長い場合がある。この場合、設定によってはタイムアウトとなり、クライアント2が再度リクエストを送信しなければならない。そこで、タイムアウトを防ぎ、再リクエストを送信しないようにするために、サーバ1は、セグメントの送信を要求するリクエストを受信してから所定時間以内に、当該リクエストに対するレスポンスを送信できない場合(セグメントが配信可能な状態にならない場合)、処理中であることを示すステータスをクライアント2に通知してもよい。
本実施形態では、サーバ1は、セグメントが配信可能な状態であるか否かを、MPDを参照して、当該セグメントの配信時刻に基づいて判断するが、これに限るものではない。例えば、クライアント2が、セグメントの送信を要求するリクエストに当該セグメントの配信時刻を付加してもよい。この場合、サーバ1は、セグメントが配信可能な状態であるか否かを、リクエストに付加されたセグメントの配信時刻に基づいて判断する。
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
2 クライアント
3 プロキシ
4 MPD記憶装置
5 セグメント記憶装置
6、6a コンテンツ配信システム
21 コンテンツ取得部
22 コンテンツ送信部(送信手段)
51 コンテンツ取得部(取得手段)
52 コンテンツ再生部
Claims (19)
- 複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置であって、
上記コンテンツ再生装置からリクエストを受信すると、当該リクエストに対する応答として、レスポンスを当該コンテンツ再生装置に送信する送信手段を備え、
上記送信手段は、上記リクエストがセグメントの送信を要求するものである場合、当該セグメントが配信可能な状態になるまで待ち、当該セグメントが配信可能な状態になってから、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信することを特徴とするコンテンツ送信装置。 - 上記送信手段は、セグメントが配信可能な状態であるか否かを、上記コンテンツに対応付けられたコンテンツ管理情報に基づいて判断することを特徴とする請求項1に記載のコンテンツ送信装置。
- 上記送信手段は、セグメントが配信可能な状態であるか否かを、上記リクエストに付加されたセグメントの配信時刻に基づいて判断することを特徴とする請求項1に記載のコンテンツ送信装置。
- 上記送信手段は、上記リクエストがセグメントの送信を要求するものである場合であって、上記リクエストを受信してからセグメントが配信可能な状態になるまで、所定時間以上かかる場合、上記コンテンツ再生装置に処理中であることを示すステータスを通知することを特徴とする請求項1~3の何れか1項に記載のコンテンツ送信装置。
- 複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置であって、
上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、
上記取得手段は、各セグメントの配信時刻前に、当該セグメントの送信を要求するリクエストを送信することを特徴とするコンテンツ再生装置。 - 上記取得手段は、再生順序が前のセグメントの送信を要求するリクエストに対するレスポンスの取得が完了する前に、再生順序が後のセグメントの送信を要求するリクエストを送信することを特徴とする請求項5に記載のコンテンツ再生装置。
- 上記取得手段は、セグメントの送信を要求する複数のリクエストをパイプライン化して送信することを特徴とする請求項6に記載のコンテンツ再生装置。
- 上記取得手段は、上記リクエストにセグメントの配信時刻を付加して送信することを特徴とする請求項5~7の何れか1項に記載のコンテンツ再生装置。
- 請求項1~4の何れか1項に記載のコンテンツ送信装置と、
請求項5~8の何れか1項に記載のコンテンツ再生装置とを含むことを特徴とするコンテンツ配信システム。 - コンテンツ再生装置とコンテンツ送信装置との間に介在する中継装置であって、
コンテンツ再生装置から送信されたリクエストをコンテンツ送信装置に転送すると共に、当該リクエストに対する応答として、上記コンテンツ送信装置から送信されたレスポンスを上記コンテンツ再生装置に転送する転送手段を備え、
コンテンツは、複数のセグメントから構成されるものであり、
上記転送手段は、上記コンテンツ再生装置から送信されたリクエストがセグメントの送信を要求するものである場合、当該セグメントが配信可能な状態になるまで待ち、当該セグメントが配信可能な状態になってから、当該リクエストを上記コンテンツ送信装置に送信することを特徴とする中継装置。 - 上記転送手段は、上記コンテンツ再生装置から送信されたリクエストがセグメントの送信を要求するものである場合であって、上記リクエストを受信してから上記セグメントを含むレスポンスを上記コンテンツ送信装置から取得するまで、所定時間以上かかる場合、上記コンテンツ再生装置に処理中であることを示すステータスを通知することを特徴とする請求項10に記載の中継装置。
- 上記転送手段は、上記コンテンツ再生装置から送信されたリクエストがセグメントの送信を要求するものである場合であって、上記リクエストにセグメントの配信時刻が付加されている場合、セグメントの配信時刻以降に、上記リクエストを上記コンテンツ送信装置に送信することを特徴とする請求項10または11に記載の中継装置。
- 複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置の制御方法であって、
上記コンテンツ再生装置からリクエストを受信すると、当該リクエストに対する応答として、レスポンスを当該コンテンツ再生装置に送信する送信ステップを含み、
上記送信ステップでは、上記リクエストがセグメントの送信を要求するものである場合、当該セグメントが配信可能な状態になるまで待ち、当該セグメントが配信可能な状態になってから、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信することを特徴とするコンテンツ送信装置の制御方法。 - 複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置の制御方法であって、
上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、
上記取得ステップでは、各セグメントの配信時刻前に、当該セグメントの送信を要求するリクエストを送信することを特徴とするコンテンツ再生装置の制御方法。 - コンテンツ再生装置がコンテンツ送信装置から取得する複数のセグメントから構成されたコンテンツに対応付けられたコンテンツ管理情報のデータ構造であって、
プリフェッチの可否を示すプリフェッチ可否フラグを含むことを特徴とするコンテンツ管理情報のデータ構造。 - コンテンツ再生装置がコンテンツ送信装置に対してコンテンツを構成する各セグメントの送信を要求するリクエストのデータ構造であって、
上記リクエストのヘッダに、セグメントの配信時刻を示すセグメント配信時刻情報を含むことを特徴とするリクエストのデータ構造。 - 請求項1~4の何れか1項に記載のコンテンツ送信装置を動作させるための制御プログラムであって、コンピュータを上記各手段として機能させるための制御プログラム。
- 請求項5~8の何れか1項に記載のコンテンツ再生装置を動作させるための制御プログラムであって、コンピュータを上記各手段として機能させるための制御プログラム。
- 請求項17および18の少なくとも1項に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/412,227 US20150172733A1 (en) | 2012-07-10 | 2013-07-01 | Content transmission device, content playback device, content delivery system, control method for content transmission device, control method for content playback device, data structure, control program, and recording medium |
| CN201380036844.5A CN104471947A (zh) | 2012-07-10 | 2013-07-01 | 内容发送装置、内容再现装置、内容发布系统、内容发送装置的控制方法、内容再现装置的控制方法、数据结构、控制程序以及记录介质 |
| JP2014524739A JPWO2014010445A1 (ja) | 2012-07-10 | 2013-07-01 | コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012-155078 | 2012-07-10 | ||
| JP2012155078 | 2012-07-10 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2014010445A1 true WO2014010445A1 (ja) | 2014-01-16 |
Family
ID=49915909
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2013/067984 Ceased WO2014010445A1 (ja) | 2012-07-10 | 2013-07-01 | コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20150172733A1 (ja) |
| JP (1) | JPWO2014010445A1 (ja) |
| CN (1) | CN104471947A (ja) |
| WO (1) | WO2014010445A1 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016123097A (ja) * | 2014-12-24 | 2016-07-07 | 沖電気工業株式会社 | 配信サーバ、配信方法、配信プログラム、及び配信システム |
| CN107534793A (zh) * | 2015-04-30 | 2018-01-02 | 索尼公司 | 接收装置、传输装置以及数据处理方法 |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2293524A1 (en) * | 2009-09-07 | 2011-03-09 | Nxp B.V. | Set-up of media stream transmission and server and client for media stream transmission |
| US10412461B2 (en) | 2015-06-12 | 2019-09-10 | Cable Television Laboratories, Inc. | Media streaming with latency minimization |
| WO2017001289A1 (en) * | 2015-06-30 | 2017-01-05 | British Telecommunications Public Limited Company | Low latency media streaming |
| US10158891B1 (en) | 2017-06-05 | 2018-12-18 | Verizon Digital Media Services Inc. | Prefetcher with adaptive stream segment prefetch window based on client associated thresholds |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06153198A (ja) * | 1992-11-12 | 1994-05-31 | Matsushita Electric Ind Co Ltd | 映像配信方法および映像配信装置 |
| JP2002202927A (ja) * | 2000-11-02 | 2002-07-19 | Sony Computer Entertainment Inc | エンタテインメントシステム、サーバ装置、コンテンツの配信方法、コンテンツ配信プログラム、及びコンテンツ配信プログラムが記憶された記憶媒体 |
| JP2007123984A (ja) * | 2005-10-25 | 2007-05-17 | Matsushita Electric Ind Co Ltd | コンテンツ配信システム、ストリーム送出装置、受信装置、およびコンテンツ配信方法 |
| WO2012011490A1 (ja) * | 2010-07-20 | 2012-01-26 | シャープ株式会社 | コンテンツ取得装置、コンテンツ送信装置、コンテンツ送受信システム、データ構造、制御方法、制御プログラム、及び記録媒体 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4442500B2 (ja) * | 2005-04-15 | 2010-03-31 | ソニー株式会社 | 素材記録装置および素材記録方法 |
| CN101388909A (zh) * | 2008-10-14 | 2009-03-18 | 中兴通讯股份有限公司 | 一种p2p点播系统和业务方法 |
| CN102143380A (zh) * | 2010-12-31 | 2011-08-03 | 华为技术有限公司 | 内容传送网络内容提供的控制方法、装置和系统 |
-
2013
- 2013-07-01 WO PCT/JP2013/067984 patent/WO2014010445A1/ja not_active Ceased
- 2013-07-01 US US14/412,227 patent/US20150172733A1/en not_active Abandoned
- 2013-07-01 JP JP2014524739A patent/JPWO2014010445A1/ja active Pending
- 2013-07-01 CN CN201380036844.5A patent/CN104471947A/zh active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06153198A (ja) * | 1992-11-12 | 1994-05-31 | Matsushita Electric Ind Co Ltd | 映像配信方法および映像配信装置 |
| JP2002202927A (ja) * | 2000-11-02 | 2002-07-19 | Sony Computer Entertainment Inc | エンタテインメントシステム、サーバ装置、コンテンツの配信方法、コンテンツ配信プログラム、及びコンテンツ配信プログラムが記憶された記憶媒体 |
| JP2007123984A (ja) * | 2005-10-25 | 2007-05-17 | Matsushita Electric Ind Co Ltd | コンテンツ配信システム、ストリーム送出装置、受信装置、およびコンテンツ配信方法 |
| WO2012011490A1 (ja) * | 2010-07-20 | 2012-01-26 | シャープ株式会社 | コンテンツ取得装置、コンテンツ送信装置、コンテンツ送受信システム、データ構造、制御方法、制御プログラム、及び記録媒体 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016123097A (ja) * | 2014-12-24 | 2016-07-07 | 沖電気工業株式会社 | 配信サーバ、配信方法、配信プログラム、及び配信システム |
| CN107534793A (zh) * | 2015-04-30 | 2018-01-02 | 索尼公司 | 接收装置、传输装置以及数据处理方法 |
| CN107534793B (zh) * | 2015-04-30 | 2021-08-03 | 索尼公司 | 接收装置、传输装置以及数据处理方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20150172733A1 (en) | 2015-06-18 |
| JPWO2014010445A1 (ja) | 2016-06-23 |
| CN104471947A (zh) | 2015-03-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12526331B2 (en) | Adaptive media streaming method and apparatus according to decoding performance | |
| US10567809B2 (en) | Selective media playing method and apparatus according to live streaming and recorded streaming | |
| US9338523B2 (en) | Audio splitting with codec-enforced frame sizes | |
| US10979785B2 (en) | Media playback apparatus and method for synchronously reproducing video and audio on a web browser | |
| JP2018186524A (ja) | コンテンツ送信装置およびコンテンツ再生装置 | |
| CN113141522B (zh) | 资源传输方法、装置、计算机设备及存储介质 | |
| WO2014010445A1 (ja) | コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体 | |
| US20210021655A1 (en) | System and method for streaming music on mobile devices | |
| WO2017154406A1 (ja) | 広告配信サーバ、番組配信サーバ及び再生端末、並びに映像配信システム | |
| US20220182732A1 (en) | Systems and Methods of Alternative Networked Application Services | |
| JP2014017741A (ja) | コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、制御プログラムおよび記録媒体 | |
| CN115136609A (zh) | 远程元素解析的基于客户端的存储 | |
| WO2014010444A1 (ja) | コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体 | |
| US20110302318A1 (en) | Anonymous re-streaming of media item of content | |
| US12192571B2 (en) | Video playback based on an HTML iframe and a headless browser | |
| US11856242B1 (en) | Synchronization of content during live video stream | |
| KR101486786B1 (ko) | 모바일 단말을 위한 동영상 다운로드 시스템 및 그 방법 | |
| JP2006285586A (ja) | コンテンツ配信システム、コンテンツ配信装置、コンテンツ配信プログラムおよびコンピュータプログラム | |
| JP2008270968A (ja) | 画像処理システム、画像処理装置、画像処理方法、およびプログラム | |
| WO2016002747A1 (ja) | コンテンツ送信装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13817611 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2014524739 Country of ref document: JP Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 14412227 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 13817611 Country of ref document: EP Kind code of ref document: A1 |