WO2015064383A1 - 送信装置、送信方法、受信装置、及び、受信方法 - Google Patents
送信装置、送信方法、受信装置、及び、受信方法 Download PDFInfo
- Publication number
- WO2015064383A1 WO2015064383A1 PCT/JP2014/077658 JP2014077658W WO2015064383A1 WO 2015064383 A1 WO2015064383 A1 WO 2015064383A1 JP 2014077658 W JP2014077658 W JP 2014077658W WO 2015064383 A1 WO2015064383 A1 WO 2015064383A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- fragment
- sample
- http
- header
- sample group
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000005540 biological transmission Effects 0.000 title claims abstract description 28
- 239000012634 fragment Substances 0.000 claims abstract description 253
- 230000004044 response Effects 0.000 claims abstract description 55
- 238000012546 transfer Methods 0.000 claims abstract description 18
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 claims description 28
- 238000005516 engineering process Methods 0.000 abstract description 23
- 238000012545 processing Methods 0.000 description 34
- 238000001914 filtration Methods 0.000 description 32
- 238000010586 diagram Methods 0.000 description 27
- 230000002123 temporal effect Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 6
- 230000003139 buffering effect Effects 0.000 description 5
- 230000001934 delay Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2353—Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- 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/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- 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/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6125—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
-
- 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
-
- 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/64—Addressing
- H04N21/6405—Multicasting
-
- 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/64—Addressing
- H04N21/6408—Unicasting
-
- 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/6437—Real-time Transport Protocol [RTP]
-
- 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 technology relates to a transmission device, a transmission method, a reception device, and a reception method, and in particular, to a transmission device, a transmission method, a reception device, and a reception method that enable, for example, data to be quickly distributed. .
- OTT-V Over The Top Video
- MPEG-DASH Moving Picture Experts Group-Dynamic Adaptive Streaming over HTTP (Hypertext Transfer Protocol)
- DASH Dynamic Adaptive Streaming over HTTP
- a server that delivers a stream notifies the client that receives the stream MPD (Media Description Description) as metadata that includes attribute information for optimally selecting streams with different characteristics from the same source.
- MPD Media Description Description
- network environment adaptive streaming is realized by using the MPD (see, for example, Non-Patent Document 1).
- the server prepares a plurality of streams having different image quality, image size, etc. according to the communication environment of the distribution path, the capability of the client, the state, etc. as the same content.
- the client adaptively selects a stream that can be received by the client from the multiple streams prepared by the server and that is suitable for the client's capabilities (decoding capability, etc.), and receives the stream. And play it.
- Metadata used for content playback control is distributed from the server to the client so that the client can adaptively select and receive the stream.
- a URL Uniform Resource Locator
- the client sends an http request to the (web) server, which is the content distribution source, based on the URL described in the MPD, etc., and receives and plays back the segment unicasted by the server in response to this http request .
- DASH is based on a streaming protocol that uses http, but for content that many users view simultaneously, for example, multicast and broadcast such as RTP (Real-time Transport Protocol) and FLUTE (File Delivery Over Unidirectional Transport) (MC / BC) It is desirable to perform simultaneous broadcast distribution and reduce network resource load by using bearers together.
- RTP Real-time Transport Protocol
- FLUTE File Delivery Over Unidirectional Transport
- a segment (file) obtained by dividing a content stream is used as a file distribution unit (control target) in DASH, and the file is distributed in the segment unit.
- This technology has been made in view of such a situation, and enables data such as contents to be quickly distributed.
- the transmission apparatus of the present technology includes a part of a fragment, a sequence number indicating the order of the fragment, and an http (Hypertext Transfer Protocol) header including a part of the fragment and a version indicating the order in the fragment. It is a transmission apparatus provided with the delivery part which delivers http response.
- http Hypertext Transfer Protocol
- the transmission method of the present technology includes a part of a fragment, a sequence number that represents the order of the fragment, and an http (Hypertext Transfer Protocol) header that includes a version of the portion of the fragment that represents the order in the fragment.
- This is a transmission method including a step of distributing an http response.
- an http response including a part of a fragment and an http (Hypertext Transfer Protocol) header is distributed.
- the http header includes a sequence number indicating the order of the fragments and a version of a part of the fragment indicating the order in the fragments.
- the receiving device of the present technology includes a part of a fragment, a sequence number indicating the order of the fragments, and an http (Hypertext Transfer Protocol) header including a part of the fragments and a version indicating the order of the fragments. It is a receiving apparatus provided with the receiving part which receives http response.
- http Hypertext Transfer Protocol
- the reception method of the present technology includes a http (Hypertext ⁇ ⁇ ⁇ ⁇ ⁇ Transfer Protocol) header including a part of a fragment, a sequence number indicating the order of the fragments, and a version of a part of the fragments indicating the order in the fragments.
- an http response including a part of a fragment and an http (Hypertext Transfer Protocol) header is received.
- the http header includes a sequence number indicating the order of the fragments and a version of a part of the fragment indicating the order in the fragments.
- the transmitting device and the receiving device may be independent devices or may be internal blocks constituting one device.
- FIG. 3 is a block diagram illustrating a configuration example of a distribution server 11.
- FIG. 3 is a block diagram illustrating a configuration example of a client 12.
- FIG. It is a figure explaining the example of the process of content provision by a content provision system.
- 2 is a diagram illustrating an example of data distributed via a network 10 in a content providing system.
- FIG. It is a figure explaining MPD, SDP, USD, and OMA-ESG. It is a figure explaining the structure of the segment which is a file delivery unit of DASH. It is a figure which shows the structural example of the segment which has one fragment, and the segment which has several fragments.
- FIG. It is a figure which shows the example of the delivery of the content which uses a segment as a file delivery unit in DASH. It is a figure explaining the outline
- FIG. It is a flowchart explaining the example of the process of the delivery of the content in a portion unit. It is a flowchart explaining the example of the process of reception of the content in a portion unit.
- FIG. 18 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present technology is applied.
- FIG. 1 is a block diagram illustrating a configuration example of an embodiment of a content providing system to which the present technology is applied.
- the content providing system includes one or more distribution servers 11, one or more clients 12, and an NTP (Network Time Protocol) server 13 connected to a network 10.
- NTP Network Time Protocol
- content is provided from the distribution server 11 to the client 12 via the network 10 using DASH.
- multicast distribution can be performed on a multicast network (eMBMS or the like) capable of simultaneous broadcast with guaranteed quality on a mobile network.
- eMBMS multicast network
- the network 10 includes a bidirectional network such as the Internet capable of unicasting and multicasting, and a broadcasting network capable of broadcasting and multicasting.
- a bidirectional network such as the Internet capable of unicasting and multicasting
- a broadcasting network capable of broadcasting and multicasting.
- 3GPP (3rd Generation Partnership Project) MBMS Multimedia Broadcast Multicast Service
- eMBMS Evolved MBMS
- the distribution server 11 corresponds to a broadcast station, for example, as a program of a channel (service) of the broadcast station, a plurality of streams having the same content and having different bit rates, image sizes, etc. To deliver through.
- the client 12 receives and reproduces the content (stream) distributed by the distribution server 11 via the network 10.
- the NTP server 13 provides NTP time, which is time information in accordance with UTC (Coordinated Universal Time) time format, via the network 10.
- UTC Coordinated Universal Time
- the distribution server 11 and the client 12 can operate in synchronization with the NTP time provided from the NTP server 13.
- the program distributed by the distribution server 11 may be a real-time program (live broadcast program) or a recorded program.
- FIG. 2 is a block diagram illustrating a configuration example of the distribution server 11 of FIG.
- the distribution server 11 includes a channel streamer 21, a segmenter 22, a metadata generator 23, a FLUTE (File Delivery over Unidirectional Transport) streamer 24, a multicast server 25, and a web server 26.
- a channel streamer 21 includes a segmenter 22, a metadata generator 23, a FLUTE (File Delivery over Unidirectional Transport) streamer 24, a multicast server 25, and a web server 26.
- FLUTE File Delivery over Unidirectional Transport
- the channel streamer 21 or the web server 26 can be arranged in one place on the network 10 or can be arranged on the network 10 in a distributed manner.
- communication between them can be performed via the dedicated line or any other communication line besides the network 10.
- the channel streamer 21 manages video, audio, subtitles, and the like as content source data to be distributed as a channel program of the distribution server 11, and has a plurality of different bit rates from the video as content source data. Streaming data is generated and supplied to the segmenter 22.
- the segmenter 22 generates a segment file obtained by dividing each streaming data from the channel streamer 21 in the time direction, and supplies the file to the FLUTE streamer 24 and the web server 26.
- the segmenter 22 divides the streaming data, for example, generates fragmentedMP4 fragments (moof and mdat), collects one or more of the fragments, and generates a segment file.
- the segmenter 22 also includes a segment URL (URL of a server that provides the segment (for example, the distribution server 11)), a range of the segment (information representing a range in content such as video included in the segment), and the like.
- the related information related to the segment necessary for generating the MPD is supplied to the metadata generator 23.
- the segmenter 22 generates a later-described portion composed of a part of the fragment during the generation of the fragment, not the segment in which the fragments are collected, and supplies the portion to the FLUTE streamer 24 instead of the segment. be able to.
- the metadata generator 23 uses, for example, the MBMS USD (User ⁇ Service Description), DASH, and the like as content metadata necessary for receiving the segment at the client 12 using the segment relation information supplied from the segmenter 22.
- MPD and IETF Internet Engineering Task Task Force
- SDP Session Description Protocol
- file file
- OMA-ESG Open Mobile Mobile Alliance Service Electronic Guide
- the metadata generator 23 uses the segment relation information supplied from the segmenter 22 to generate an MPD in which the URL of the segment is described so that the client 12 receives the segment and performs playback control. To do.
- the metadata generator 23 generates USD and SDP, or USD, SDP, and OMA-ESG as announcement information for announcing that the content is to be distributed via multicast (including broadcast distribution).
- the metadata generator 23 supplies metadata to the FLUTE streamer 24 and the web server 26.
- the FLUTE streamer 24 represents the content (segment or portion) supplied from the segmenter 22 as a FLUTE packet, that is, an LCT (Layered Coding Transport) packet (in this embodiment, a packet having an LCT header, and ALC ( Asynchronous (Layered) Coding) packet) and is supplied to the multicast server 25.
- LCT Lane Coding Transport
- ALC Asynchronous (Layered) Coding
- the FLUTE streamer 24 stores the metadata supplied from the metadata generator 23 in the LCT packet and supplies it to the multicast server 25.
- the multicast server 25 multicasts the LCT packet from the FLUTE streamer 24 via the network 10 (FLUTE).
- the multicast server 25 multicasts the content and metadata. Will be.
- the web server 26 In response to a request (http request) from the client 12, the web server 26 sends the metadata from the metadata generator 23 and the content (segment) from the segmenter 22 to the client 12 via the network 10 ( http) Unicast delivery.
- the multicast server 25 and the web server 26 function as a distribution unit that distributes content and metadata.
- the web server 26 unicasts the content segment, but the web server 26 unicasts the portion, not the content segment, as in the multicast server 25. Can do.
- FIG. 3 is a block diagram illustrating a configuration example of the client 12 of FIG.
- the client 12 includes a receiving unit 30 and a reproducing unit 33.
- the receiving unit 30 functions as a receiving unit that receives content and metadata distributed from the distribution server 11 in accordance with, for example, operation of the client 12 by the user.
- the receiving unit 30 receives metadata distributed from the distribution server 11. Furthermore, the receiving unit 30 receives content (segments or portions thereof) distributed from the distribution server 11 based on the metadata received from the distribution server 11 in accordance with, for example, the operation of the client 12 by the user.
- the receiving unit 30 supplies the content received from the distribution server 11 to the reproduction unit 33, and controls the reproduction of the content in the reproduction unit 33 based on the metadata received from the distribution server 11.
- the reproduction unit 33 reproduces video, audio, subtitles, and the like as content supplied from the reception unit 30 under the control of the reception unit 30.
- the receiving unit 30 includes a middleware 31 and a DASH client 32.
- the DASH client 32 outputs, to the middleware 31, an http request for requesting an MPD and an http request for requesting a content segment as necessary.
- the middleware 31 receives contents (segments and portions) and metadata distributed from the distribution server 11 as needed, and when requested, when the DASH client 32 outputs an http request, it is requested by the http request. It is determined based on the metadata whether or not the MPD or segment that is being distributed is multicast.
- the middleware 31 sets the MPD or segment (or a portion including a part of the segment) to be distributed by multicast. ) And supplied to the DASH client 32.
- the middleware 31 supplies the received MPD or segment to the DASH client 32 when the MPD or segment requested by the http request output from the DASH client 32 has already been received.
- the middleware 31 uses the http request output from the DASH client 32 as it is as the distribution server 11 of the network 10. ). Then, in response to the http request, the middleware 31 receives the MPD or segment that is unicast distributed (from the distribution server 11) and supplies it to the DASH client 32.
- the DASH client 32 outputs an http request for requesting a necessary MPD or segment, and receives the MPD or segment supplied from the middleware 31 in response to the http request in the same manner as a general DASH client. Process.
- FIG. 4 is a diagram for explaining an example of content provision processing by the content provision system of FIG.
- step S11 the channel streamer 21 (FIG. 2) generates a plurality of pieces of streaming data having different bit rates from video or the like as content source data to be distributed as a channel program of the distribution server 11.
- the channel streamer 21 supplies a plurality of streaming data with different bit rates to the segmenter 22 in step S12.
- the segmenter 22 receives the content (a plurality of streaming data) supplied from the channel streamer 21 in step S21.
- the segmenter 22 generates a segment as a DASH file delivery unit from the content from the channel streamer 21 in step S22, and supplies the segment to the FLUTE streamer 24 and the web server 26 in step S23.
- segmenter 22 generates segment relationship information and supplies it to the metadata generator 23 in step S24.
- step S31 the metadata generator 23 (FIG. 2) receives the segment relationship information supplied from the segmenter 22 in step S24.
- step S 32 the metadata generator 23 generates content metadata using the relationship information from the segmenter 22 and supplies it to the FLUTE streamer 24 and the web server 26.
- the FLUTE streamer 24 receives the content (segment) supplied from the segmenter 22 in step S23 in step S41, generates an LCT packet including the content in step S42, and sends it to the multicast server 25. Supply.
- the FLUTE streamer 24 receives the metadata supplied in step S32 from the metadata generator 23 in step S43, generates an LCT packet including the metadata in step S44, and supplies it to the multicast server 25. .
- step S51 the multicast server 25 (FIG. 2) receives the LCT packet including the content supplied from the FLUTE streamer 24 in step S42, and receives the LCT packet including the metadata in step S52.
- the multicast server 25 multicasts the LCT packet including the metadata from the FLUTE streamer 24 in step S53, and multicasts the LCT packet including the content from the FLUTE streamer 24 in step S54.
- step S61 the web server 26 (FIG. 2) receives the content (segment) supplied from the segmenter 22 in step S23, and in step S62 receives the metadata supplied in step S32 from the metadata generator 23. To do.
- step S63 when an http request for requesting metadata is transmitted from the client 12, the web server 26 receives the http request.
- step S64 the web server 26 unicasts the metadata requested by the http request from the client 12 to the client 12.
- step S65 when an http request for requesting content (segment) is transmitted from the client 12, the web server 26 receives the http request.
- step S 66 the web server 26 unicasts the content (segment) requested by the http request from the client 12 to the client 12.
- step S71 the receiving unit 30 receives the metadata (the LCT packet) that the multicast server 25 multicasts in step S53.
- the receiving unit 30 transmits an http request for requesting metadata in step S72.
- the web server 26 receives the http request transmitted from the client 12 in step S72 in step S63.
- the metadata requested by the http request is unicasted to the client 12. To do.
- step S73 the receiving unit 30 of the client 12 receives the metadata that is unicasted as described above.
- step S74 the receiving unit 30 of the client 12 receives the content (the LCT packet) that the multicast server 25 performs multicast distribution in step S54 based on the metadata received in step S71 or S73.
- the receiving unit 30 transmits an http request for requesting content in step S75 based on the metadata received in step S71 or S73.
- the web server 26 receives the http request transmitted by the client 12 in step S75 in step S65.
- the content requested by the http request is unicasted to the client 12. .
- step S76 the receiving unit 30 of the client 12 receives the content that is unicasted as described above.
- step S77 the reproduction unit 33 of the client 12 reproduces the content received by the reception unit 30 in step S74 or S76 based on the metadata (MPD).
- FIG. 5 is a diagram showing an example of data distributed via the network 10 in the content providing system of FIG.
- Metadata such as MPD, SDP, USD, OMA-ESG, and content (segments or portions thereof) are distributed to the client 12.
- Metadata and content can be distributed by multicast or unicast.
- Metadata a combination of MPD, SDP, and USD, or a combination of them plus OMA-ESG is used.
- FIG. 6 is a diagram for explaining MPD, SDP, USD, and OMA-ESG.
- the OMA-ESG of the program of interest describes detailed information of the program of interest, how to access the USD of the program of interest, and the like.
- the client 12 acquires the OMA-ESG of the program of interest
- the USD of the program of interest can be acquired by referring to the access method to the USD described in the OMA-ESG.
- ⁇ Noted program's USD contains the SDP URI (Uniform Resource Identifier) of the program of interest, the MPD URI of the program of interest, etc.
- SDP URI Uniform Resource Identifier
- the SDP or MPD of the program of interest can be acquired by referring to the URI of the SDP or MPD described in the USD.
- the SDP of the program of interest describes the IP address and the port attribute for transporting the content of the program of interest in multicast.
- the client 12 recognizes that the content is multicast and is distributed by multicast. Content can be received.
- the MPD of the program of interest describes the URL of the segment of the program of interest and information necessary for playback control of that segment.
- the segment of the program of interest can be received by unicast based on the URL described in the MPD. Further, based on the MPD of the program of interest, the segment of the program of interest can be reproduced.
- the MPD since the MPD includes information necessary for segment playback control, the MPD is necessary for receiving a segment by unicast and also for segment playback.
- FIG. 7 is a diagram for explaining the configuration of a segment, which is a DASH file distribution unit.
- the format of content distributed by DASH is not particularly limited, but in this embodiment, for example, fragmentedMP4 (file) is adopted as the format of content distributed by DASH.
- Segment (Media Segment) has styp (segment type) (box), necessary sidx (segment index) (box), and one or more fragments (MP4 fragment).
- sidx is not included in the segment
- sidx is included in the segment.
- description of sidx is omitted as appropriate.
- the fragment has moof (movie fragment) (box) and mdat (media data) (box).
- Mdat has an mdat header and one or more samples.
- a sample is a minimum access unit when accessing media data (data such as video) in an MP4 file. Therefore, the media data in the MP4 file cannot be accessed in units smaller than the sample.
- the moof has mfhd (movie fragment header) (box) and traf (track fragment) (box).
- sequence_number The sequence number (sequence_number) is stored in mfhd.
- sequence_number represents the order of fragments having the sequence_number.
- Traf has tfhd (track fragment header) (box), tfdt (track fragment decoding time) (box), trun (track fragment fragment) (box), sdtp (independent samples) (box), and the like.
- BaseMediaDecodeTime is stored in tfdt.
- BaseMediaDecodeTime represents the presentation time of the first sample among the samples included in the fragment having the BaseMediaDecodeTime.
- FIG. 8 is a diagram illustrating a configuration example of a segment having one fragment and a segment having a plurality of fragments.
- FIG. 8A shows a configuration example of a segment having one fragment.
- each of three consecutive segments # 1, # 2, and # 3 has one fragment.
- FIG. 8B shows a configuration example of a segment having a plurality of fragments.
- segment # 1 has three fragments.
- the segment has one fragment as shown in A of FIG.
- FIG. 9 is a diagram showing an example of content distribution using a segment as a file distribution unit in DASH.
- sample groups # 1, # 2, and # 3 are sequentially generated as sample groups constituting the fragment. Then, in the segmenter 22 of the distribution server 11 (FIG. 2), after the generation of the last sample group # 3 of the fragment is completed, the mdat in which the sample groups # 1 to # 3 are arranged, and the sample groups # 1 to # 3 And a segment including the fragment is generated. Then, the FLUTE streamer 24 and the multicast server 25 distribute the segment.
- the moof of the sample groups # 1 to # 3 is performed in parallel with the generation of the sample groups # 1 to # 3, for example.
- a range of content to be fragmented for example, a GOP (Group Of Picture) range which is the smallest unit that can be randomly accessed may be adopted. it can.
- GOP Group Of Picture
- the content range as a fragment is not limited to the GOP range.
- the GOP time for example, about 0.5 to 2 seconds is often adopted. Therefore, when the GOP range is adopted as the content range to be fragmented, the moof and thus the segment is generated after waiting for at least the GOP time of about 0.5 to 2 seconds. That is, it takes at least GOP time to generate a segment.
- the data volume of the segment will be enormous.
- the network bandwidth may be compressed and shaping may be necessary.
- the distribution server 11 quickly distributes the content (data) by multicasting the portion of the data (hereinafter also referred to as a portion) that is smaller than the segment and including a part of the fragment as a file distribution unit. Distribution, thereby suppressing delays in the reception of content at the client and the start of buffering.
- FIG. 10 is a diagram for explaining an outline of content distribution in the distribution server 11 using a portion as a file distribution unit.
- sample groups # 1, # 2, and # 3 are sequentially generated as sample groups constituting the fragment.
- the sampler 22 of the distribution server 11 does not wait for the generation of the last sample group # 3 of the fragment and waits until the sample group # 1 is generated.
- a portion as a file distribution unit including the group # 1 is generated, and multicast distribution is performed in the FLUTE streamer 24 and the multicast server 25.
- sample group # 1, # 2, # 3 in FIG. 10 As described above, by generating a portion including a part of a sample group (sample group # 1, # 2, # 3 in FIG. 10) that is smaller than a segment and multicasting the portion, content can be obtained. Can be quickly distributed, and delays in receiving content and starting buffering at the client can be suppressed.
- the sample group # 1 corresponds to, for example, I picture data encoded first in the GOP.
- the sample group # 2 corresponds to data of one or more P pictures and B pictures encoded after the I picture of the GOP, and the sample group # 3 includes data of the remaining P pictures and B pictures of the GOP. It corresponds to.
- FIG. 11 is a diagram showing an example of the relationship between segments and potions.
- 11A shows an example of a segment.
- the segment 50 has a styp 51 and a (one) fragment 52.
- the fragment 52 is composed of a moof 53 and an mdat 54.
- the moof 53 includes BaseMediaDecodeTime (which represents the presentation time of the sequence number sqn of the fragment 52 and the first sample of the mdat 54 of the fragment 52 (the first sample of the sample group 56 in FIG. 11A). (Hereinafter also referred to as bmdt).
- 1 is set as the sequence number sqn of the fragment 52.
- the mdat 54 stores an mdat header 55 and three sample groups 56, 57, and 58 in that order.
- the sample groups 56 to 58 correspond to, for example, the sample groups # 1 to # 3 in FIG.
- the head sample of the second sample group 57 is the n1th sample from the head of the first sample group 56.
- the top sample of the third sample group 58 is the n2 (> n1) sample from the top of the first sample group 56.
- the number of the sample stored in the mdat from the first sample of the mdat is also referred to as a sample number.
- the sample number of the first sample of the sample group 57 is n1
- the sample number of the first sample of the sample group 58 is n2.
- FIG. 11B, FIG. 11C, and FIG. 11D show examples of portions including a part of the fragment 52 included in the segment 50 when the segment 50 of FIG. 11A is generated. ing.
- B in FIG. 11 shows an example of a portion including the sample group 56 as a part of the fragment 52.
- 11C shows an example of a portion including a sample group 57 as another part of the fragment 52, and
- FIG. 11D shows a sample group 58 as another part of the fragment 52.
- potions to include.
- a portion 60 is an http response including the first sample group 56 of the fragment 52.
- the portion 60 includes an http header 61, MS / BR 62, styp 51, moof subset 64, MS / BR 65, and mdat header. 55, MS / BR66, sample group 56, and MS67 are arranged in that order.
- the http header 61 is an http header that indicates that the message body is a multipart message body, and the http header 61 includes a sequence number sqn, a version v, and an NTP time nt.
- the sequence number sqn of the http header 61 is set to 1 which is the same as the sequence number sqn stored in the moof 53 of the fragment 52 including the sample group 56 (as part of the fragment 52) included in the portion 60.
- the version v represents the order of the sample group as a part of the fragment included in the portion including the version v in the fragment.
- the version v is an integer that is incremented by 1 for the same sequence number sqn (with the sqn scope), for example, with an initial value of 1.
- a part of the fragment 52 included in the portion 60 including the version v of the http header 61 is a sample group 56. Since the order of the sample group 56 in the fragment 52 is first, the version v of the http header 61 Is set to 1.
- v becomes (1,1), (1,2), (2,1), (2,2), (3,1), (3,2), respectively.
- the NTP time nt of the http header 61 is bmdt (BaseMediaDecodeTime) stored in the moof 53 of the fragment 52 whose portion (sample group 56) is included in the portion 60 including the NTP time nt, that is, the first sample of the fragment 52 ( This represents an NTP time NT corresponding to bmdt representing the presentation time of the first sample of the sample group 56).
- MS / BR62 represents a multipart-separater and a byte range of styp51 arranged immediately after that.
- MS / BR63 represents the byte range of the multipart separator and the moof subset 64 arranged immediately after that.
- the moof subset 64 is a subset of the moof 53 that can be generated before the first (first) sample group 56 arranged in the portion 60 among the three sample groups 56 to 58 of the fragment 52 is generated. Yes, and includes sequence numbers sqn and bmdt stored in moof 53.
- the sample group 56 can be reproduced.
- MS / BR65 represents the byte range of the multipart separator and the mdat header 55 arranged immediately after that.
- MS / BR66 represents the multipart separator and the byte range of the sample group 56 arranged immediately after that.
- MS67 represents a multi-part separator.
- styp 51 is included in the portion 60 including the first sample group 56 of the fragment 52, but styp 51 (and sidx (not shown)) is a different http from the portion 60. It can be delivered in the response.
- the portion 70 is an http response including the second sample group 57 of the fragment 52.
- the portion 70 includes an http header 71, MS / BR 72, moof subset 73, MS / BR 74, and sample group 57. , And MS75 are arranged in that order.
- the http header 71 is an http header that indicates that the message body is a multi-part message body.
- the http header 71 includes a sequence number sqn, a version v, an NTP time nt, a sample count start scs (SampleCountStart), and Is included.
- the sequence number sqn of the http header 71 is set to 1 which is the same as the sequence number sqn stored in the moof 53 of the fragment 52 including the sample group 57 (as part of the fragment 52) included in the portion 70.
- 2 is set in the version v of the http header 71. That is, since the portion 70 includes the second sample group 57 of the sample groups 56 to 58 of the fragment 52, 2 is set in the version v of the http header 71.
- the sample count start scs represents the order of the first sample of the sample group included in the portion including the sample count start scs from the first sample of the fragment.
- the sample count start scs of the http header 71 is set. Is set to n1.
- MS / BR72 represents the byte range of the multipart separator and the moof subset 73 arranged immediately after that.
- the moof subset 73 is a subset of the moof53 that can be generated before the generation of the second sample group 57 arranged in the portion 70 among the three sample groups 56 to 58 of the fragment 52. Contains the sequence numbers sqn and bmdt.
- the moof subset 73 that is a subset of the moof 53 that can be generated until the sample group 57 is generated, information necessary for the reproduction of the sample group 57 is stored in the moof subset 64 that is generated before the sample group 56 is generated. Therefore, according to the moof subset 73, the sample group 57 and the sample group 56 generated before the sample group 57 is generated can be reproduced.
- MS / BR74 represents the multipart separator and the byte range of the sample group 57 arranged immediately after that.
- MS75 represents a multipart separator.
- the portion 80 is an http response including the third sample group 58 of the fragment 52.
- the portion 80 includes an http header 81, MS / BR 82, moof subset 83, MS / BR 84, and sample group 58. , And MS85 are arranged in that order.
- the http header 81 is an http header that indicates that the message body is a multi-part message body.
- the http header 81 includes a sequence number sqn, a version v, an NTP time nt, and a sample count start scs. .
- the sequence number sqn of the http header 81 is set to 1 which is the same as the sequence number sqn stored in the moof 53 of the fragment 52 including the sample group 58 (as part of the fragment 52) included in the portion 80.
- 3 is set in the version v of the http header 81. That is, since the portion 80 includes the third sample group 58 of the sample groups 56 to 58 of the fragment 52, 3 is set in the version v of the http header 81.
- the version v of the http header 81 includes “-End” is set as information indicating that the sample group 58 is the last sample group of the fragment, together with 3 which is the order in the fragment 52.
- the version v causes the order of the sample groups (as part of the fragment) included in the portion and whether the sample group is the last sample group of the fragment. Can be recognized.
- the NTP time nt of the http header 81 represents the NTP time corresponding to bmdt stored in the moof 53 of the fragment 52 whose part (sample group 58) is included in the portion 80 including the NTP time nt.
- the sample count start scs represents the order of the first sample of the sample group included in the portion including the sample count start scs from the first sample of the fragment.
- n2 is set in the sample count start scs of the http header 81. That is, since the first sample of the sample group 58 included in the portion 80 is the n2th sample from the beginning of the first sample group 56 as described in FIG. 11A, the sample count start of the http header 81 is started. sc2 is set to n2.
- MS / BR82 represents the byte range of the multipart separator and the moof subset 83 arranged immediately after that.
- the moof subset 83 is a subset of the moof53 that can be generated before the generation of the third sample group 58 arranged in the portion 80 among the three sample groups 56 to 58 of the fragment 52. Contains the sequence numbers sqn and bmdt.
- the moof subset 83 is a subset of the moof 53 that can be generated before generating the third sample group 58 arranged in the portion 80, that is, the last sample group 58 of the fragment 52. be equivalent to.
- the moof subset 83 that is a subset of the moof 53 that can be generated until the sample group 58 is generated is equal to the moof 53. Therefore, according to the moof subset 83, the sample group 58, and further the sample group Sample groups 56 and 57 that are generated before 58 is generated can be reproduced.
- MS / BR84 represents the multipart separator and the byte range of the sample group 58 arranged immediately after that.
- MS85 represents a multi-part separator.
- the portion that is an http response includes the sequence number sqn and the version v in the http header. Therefore, in the client 12 (other device) that has received the portion, the sequence number sqn and the version v are changed. Based on this, it is possible to recognize and reproduce the order of the sample group included in the portion in the segment, and to configure and reproduce the segment as necessary.
- the client 12 receives all the potions (sample groups) constituting the segment before receiving it.
- the sample group included in the single portion is a sample group that can be reproduced independently (for example, a sample group of an I picture), or a sample that has already been received.
- the sample group is reproducible using the group, the reproduction of the sample group included in one received portion can be started.
- the version v can be included in the moof subset together with the sequence number sqn. However, when the version v is included in the moof subset together with the sequence number sqn, it is necessary to extend the definition of the existing moof so that the version v is included in the moof. If the version v is included in the http header, the existing moof definition need not be extended.
- the http headers 71 and 81 of the portions 70 and 80 including the second and subsequent sample groups 57 and 58 of the fragment 52 include the sample count start scs, and the first sample group 56 of the fragment 52.
- the sample header start scs is not included in the http header 61 of the portion 60 including the sample count, but the sample count start scs can also be included in the http header 61 of the portion 60 including the first sample group 56 of the fragment 52. .
- the order of the first sample of the first sample group of the fragment from the first sample of the fragment is always 1 and is a fixed value, so the http header (version version) of the portion containing the first sample group of the fragment
- the sample count start scs can be omitted, as shown in FIG. 11B, thereby reducing the size of the http header.
- the NTP time nt corresponding to bmdt (bmdt representing the presentation time of the first sample of the fragment) stored in the moof of the fragment can be included in the http header.
- the sample group included in the portion can be reproduced without the corresponding MPD.
- the content includes content that needs to be controlled on the time axis of the absolute time represented by NTP time, such as a live broadcast program, for example. It is necessary to calculate the NTP time as the absolute time at which the sample is mapped (displayed).
- the presentation time (PresentatioTime (CompositionTime) entof Nth Sample) of the Nth sample of the fragment can be calculated according to the following formula.
- Sum of SampleDuration of (N-1) Samples and CompositionTimeOffset of Nth Sample can be obtained from the information stored in the fragment's moof (sampleCount, SampleDuration, CompositionTimeOffset), and BaseMediaDecodeTime is set to boft Stored.
- the absolute time of a sample can be obtained if the NTP time corresponding to BaseMediaDecodeTime used for calculating the presentation time of the sample is known.
- the NTP time nt corresponding to bmdt (bmdt representing the presentation time of the first sample of the fragment) stored in the fragment moof in the http header
- the NTP time is calculated as the absolute time of each sample of the sample group included in the portion, and the sample is calculated according to the NTP time. Can be played.
- the http header can include a sample count start scs that represents the order of the first sample of the sample group included in the portion from the first sample of the fragment. Even if some of the potions (multiple potions containing each of the sample groups included in the segment) are missing, the potions following the missing potions (sample groups included in) are played. be able to.
- each sample of each portion starts from the first sample of the fragment without the sample count start scs. It is possible to recognize the sample number of the sample number, and based on the sample number, information necessary for reproducing the sample can be acquired from the moof subset, and the sample can be reproduced.
- the sample number is recognized if there is no sample count start scs for the samples contained in the potions that follow the missing potions. Cannot be played, making playback difficult.
- the sample count start scs By including the sample count start scs in the http header of the potion, even if some of the potions that make up the segment are missing, the sample included in the potion that follows the missing potion The sample number can be recognized and reproduced by the sample count start scs.
- the client 12 that has received the portion does not wait for the subsequent portion.
- the reproduction of the sample group included in the received portion can be started based on the moof subset included in the portion.
- the http header of the portion can include, for example, various attribute information FDT (File Delivery Table) distributed by FLUTE that multicasts the portion.
- FDT Fra Delivery Table
- the client 12 can use the FDT included in the http header of the portion for reception of data distributed by FLUTE multicast.
- FIG. 12 is a diagram illustrating an example of a description of an http response as the portion 60 in FIG.
- the description 100 is an http header 61.
- “X-MoofSeqNumVersion” in the description 101 of the http header 61 and “X-NTPTimeStamp” in the description 102 are newly defined headers.
- “X-MoofSeqNumVersion” in the description 101 is a header representing a sequence number sqn and a version v, and has a variable sqn representing a sequence number and a variable v representing a version.
- the variable sqn is set to 1 which is the sequence number sqn of the fragment 52
- the variable v is set to 1 which is the order in the fragment 52 of the sample group 56 included in the portion 60.
- X-NTPTimeStamp in the description 102 is a header representing the NTP time nt (corresponding to BaseMediaDecodeTime).
- “X-NTPTimeStamp” includes the first sample of the fragment 52 (the first sample of the sample group 56).
- 2890844526 is set as the NTP time NT corresponding to bmdt representing the presentation time.
- Description 103 is MS / BR62, and “SEPARATER_STRING” in description 103 represents a multipart separator. Further, “Content-range: bytes 492-499 / 124567654” in the description 103 represents the byte range of styp 51 immediately after.
- the byte range “Content-range: bytes 492-499 / 124567654” in the description 103 is that the fragment size is 124567654 bytes, and the immediately following styp51 is 492-499 bytes of the 124567654 bytes. Represents.
- the description 103 is followed by a byte sequence of styp51.
- the description 104 after the byte sequence of styp51 is MS / BR63, and “Content-range: bytes 500-991 / 124567654” in the description 104 represents the byte range of the moof subset 64 immediately after.
- the byte range of the fragment's moof (moof53 in FIG. 11) is predicted when the portion including the first group of fragments (portion 60 in FIG. 11) is generated.
- the predicted value of the byte range of moof is adopted as the byte range of the moof subset of each portion (portions 60, 70, and 80 in FIG. 11) including the fragment sample group. Therefore, the byte ranges of the moof subset 64 of the portion 60, the moof subset 73 of the portion 70, and the moof subset 83 of the portion 80 are the same value (predicted value of the byte range of moof 53).
- the description 104 is followed by a byte sequence of the moof subset 64.
- the description 105 after the byte sequence of the moof subset 64 is MS / BR65, and “Content-range: bytes992-999 / 124567654” in the description 105 represents the byte range of the immediately following mdat header 55.
- the byte sequence of the mdat header 55 follows the description 105.
- the description 106 after the byte sequence of the mdat header 55 is MS / BR66, and “Content-range: bytes” 1000-4999 / 124567654 ”in the description 106 represents the byte range of the immediately following sample group 56.
- the byte sequence of the sample group 56 follows the description 106.
- the description 107 of the byte string of the sample group 56 is MS67.
- FIG. 13 is a diagram illustrating an example of a description of an http response as the portion 70 in FIG.
- the description 120 is an http header 71. “X-MoofSeqNumVersion” in the description 121 of the http header 71, “X-NTPTimeStamp” in the description 122, and “X-SampleCountStart” in the description 123 are newly defined. It is a header.
- “X-MoofSeqNumVersion” in the description 121 is a header representing the sequence number sqn and version v, as described in FIG.
- the variable sqn representing the sequence number is set to 1 which is the sequence number sqn of the fragment 52
- the variable v representing the version is set to 2 which is the order of the sample group 57 included in the portion 70 in the fragment 52.
- X-NTPTimeStamp in the description 122 is a header representing the NTP time nt, and the NTP time NT corresponding to bmdt representing the presentation time of the first sample of the fragment 52 is shown in FIG. The same 2890844526 is set.
- “X-SampleCountStart” in the description 123 is a header representing the sample count start scs.
- the sample number n1 of the first sample of the sample group 57 included in the fragment 70 is set in “X-SampleCountStart”. ing.
- Description 124 is MS / BR72, and "Content-range: bytes 500-991 / 124567654" in the description 124 represents the byte range of the immediately following moof subset 73, and the byte range of the moof subset 64 in the description 105 of FIG. (It is a predicted value of the byte range of moof53).
- the description 124 is followed by a byte sequence of the moof subset 73.
- the description 125 after the byte sequence of the moof subset 73 is MS / BR 74, and “Content-range: bytes 5000-7999 / 124567654” in the description 125 represents the byte range of the sample group 57 immediately after.
- the description 126 of the byte string of the sample group 57 is MS75.
- the portion 80 in FIG. 11 is configured in the same manner as the portion 70 in FIG. 11
- FIG. 14 is a flowchart illustrating an example of content distribution processing in units of portions.
- step S101 the segmenter 22 of the distribution server 11 (FIG. 2) uses the fragment (for example, the fragment 52 of FIG. 11) for which a sample group is to be generated as the target fragment, and the mdat header of the target fragment and the first sample. A group is generated, and the process proceeds to step S102.
- the fragment for example, the fragment 52 of FIG. 11
- step S102 the segmenter 22 generates an http header for the first sample group (for example, the http header 61 in FIG. 11), and the process proceeds to step S103.
- the segmenter 22 is stored in the same sequence number sqn as the sequence number stored in the moof of the target fragment, the version v which is 1 indicating the order in the target fragment of the first sample group, and the moof of the target fragment.
- An http header including the NTP time nt corresponding to bmdt is generated as the http header for the first sample group.
- step S ⁇ b> 103 the segmenter 22 converts a part of the moof necessary for reproduction of the first sample group, which has been generated until the first sample group is generated for the fragment of interest, to the moof for the first sample group.
- the process proceeds to step S104.
- step S104 the segmenter 22 uses the styp (and required sidx) of the segment including the fragment of interest, the moof subset for the first sample group, the mdat header of the fragment of interest, and the first sample group for the first sample group.
- the http header By adding the http header, an http response as a portion is generated and supplied to the FLUTE streamer 24, and the process proceeds to step S105.
- the http response as the portion generated in step S104 includes styp (and The required sidx) is not included.
- step S105 the FLUTE streamer 24 packetizes the http response as a portion from the segmenter 22 into an LCT packet, the multicast server 25 multicasts the LCT packet, and the process proceeds to step S106.
- step S106 the segmenter 22 generates the next sample group as the target sample group for the target fragment, and the process proceeds to step S107.
- step S107 the segmenter 22 generates an http header for the sample group of interest (for example, http headers 71 and 81 in FIG. 11), and the process proceeds to step S108.
- an http header for the sample group of interest for example, http headers 71 and 81 in FIG. 11
- the segmenter 22 has the same sequence number sqn as the sequence number stored in the moof of the target fragment, the version v indicating the order of the target sample group in the target fragment, and the NTP corresponding to bmdt stored in the moof of the target fragment.
- An http header including the time nt and the sample count start scs representing the sample number of the first sample of the sample group of interest is generated as an http header for the sample group of interest.
- step S108 the segmenter 22 can generate the target sample group (and the sample group generated before generating the target sample group of the target fragment) that can be generated until the target sample group is generated for the target fragment. ) Is acquired as a moof subset for the sample group of interest, and the process proceeds to step S109.
- step S ⁇ b> 109 the segmenter 22 generates an http response as a portion by adding an http header for the target sample group to the moof subset for the target sample group and the target sample group, and supplies the HTTP response to the FLUTE streamer 24. Then, the process proceeds to step S110.
- step S110 as in step S105, the FLUTE streamer 24 packetizes the http response as a portion from the segmenter 22 into an LCT packet, the multicast server 25 multicasts the LCT packet, and the processing Proceed to S111.
- step S111 the segmenter 22 determines whether the sample group of interest is the last sample group of the fragment of interest.
- step S111 If it is determined in step S111 that the sample group of interest is not the last sample group of the fragment of interest, that is, if there is a sample group next to the sample group of interest in the fragment of interest, the process returns to step S106 and attention is paid. The same processing is repeated with the sample group next to the sample group as a new target sample group.
- step S111 If it is determined in step S111 that the sample group of interest is the last sample group of the fragment of interest, the process returns to step S101, and for example, the next fragment of the fragment of interest is set as a new fragment of interest. Thereafter, the same processing is repeated.
- FIG. 15 is a flowchart for explaining an example of content reception processing in units of portions.
- step S121 the receiving unit 31 of the client 12 (FIG. 3) waits for the http response as the portion to be distributed by multicast, receives the http response as the portion, and the process proceeds to step S122.
- step S122 the reproduction unit 33 reproduces the sample group included in the http response as the portion received by the reception unit 31, and the moof subset included in the http response and the sequence included in the http header of the http response.
- the number sqn, version v, NTP time nt, and sample count start scs are used as necessary.
- the distribution server 11 does not wait for a segment to be generated, and when a sample group that is a part of a fragment included in the segment is generated, http as a portion including the sample group Since the response is distributed, the content can be quickly distributed.
- FIG. 16 is a diagram for explaining multicast distribution of portions (and segments) using LCT packets.
- FLUTE streamer 24 portions (and segments) are packetized into LCT packets, and multicast server 25 multicasts the LCT packets.
- the portion of the FLUTE streamer 24 is packetized into LCT packets by dividing the portion into small pieces of a predetermined size and storing each piece in the LCT packet. Is called.
- FIG. 17 is a diagram showing the format of the LCT packet.
- the LCT packet is configured by arranging an LCT header (LCT Header), FEC Payload (ID, and Encoding Symbol (s) in that order.
- LCT Header LCT Header
- ID FEC Payload
- s Encoding Symbol
- the small portion of the portion is stored in the LCT packet as Encoding Symbol.
- FIG. 18 is a diagram showing the format of the LCT header.
- the LCT header includes TSI (Transport Session Identifier), TOI (Transport Object Identifier), and necessary extension headers (Header Extensions).
- TSI Transport Session Identifier
- TOI Transport Object Identifier
- necessary extension headers Header Extensions
- TSI is an identifier that identifies the session of the LCT packet.
- the TSI of the LCT packet in which each of the portions 60, 70, and 80 including the sample groups 56, 57, and 58 to be delivered in one segment 50 (FIG. 11) is packetized is the same. Set to a value.
- the TOI is an identifier that identifies the object whose data is stored in the Encoding Symbol of the LCT packet. For example, the TOIs of the LCT packets in which the pieces obtained by dividing the portion 60 are stored in Encoding / Symbol are set to the same value.
- the client 12 can receive the LCT packet with the same TOI, collect pieces of the portion stored in the LCT packet, and reconfigure the original portion.
- FIG. 19 is a diagram showing an example of content distribution in units of portions.
- a fragment has sample groups # 1, # 2, # 3,.
- the sample group # 1 is, for example, a video of a base view (base layer view) that does not refer to other views, and the sample group # 2, # 3,. It is a non-base view (enhanced layer view) video that may reference other views.
- the client 12 receives the LCT packet, and the TOI of the received LCT packet is the same. By collecting the pieces of portion #i stored in the LCT packet, the original portion #i can be reconstructed.
- sample group # 1 included in portion # 1 is a base view video, and sample groups # 2, # 3,. It is a video.
- the sample group included in the portion is data (processing unit) that can be classified according to some criteria, such as base-view video or non-base-view video, Packet filtering for selecting LCT packets in units of included sample groups) can be performed.
- LCT packets that have the minimum or high priority of processing in routers on the LCT packet distribution route (for example, routers for FLUTE multicast) and client 12 network stacks (blocks that process LCT packets). Can be selected for processing (transfer, stack, etc.).
- the sample group included in the portion in the http header as a portion is, for example, a base view video or a non-base view video.
- sample group attribute information eg, FDT
- FDT sample group attribute information
- the distribution server 11 generates an LCT packet having an LCT header including a priority parameter indicating the priority of processing of the LCT packet in the FLUTE streamer 24, and the multicast server 25 generates an LCT including such a priority parameter.
- Efficient packet filtering is enabled by multicast distribution of LCT packets having a header, thereby enabling necessary LCT packets to be quickly distributed and processed.
- This technology includes the priority parameter in the LCT header by extending the extension header of the LCT header so that the priority parameter can be stored.
- FIG. 20 is a diagram showing the format of the extension header (Header Extensions) of the LCT header in FIG.
- ⁇ HET Header Extension Type
- type of extension header (the type of actual data stored as HEC in the extension header) is stored in the first 8 bits of the extension header.
- 8-bit HET When 8-bit HET is 127 or less, 8-bit HEL (Header Extension Length) is stored following HET.
- HEL a value N representing the extension header length of 32 ⁇ N bits is set.
- variable length (variable length) HEC (Header Extension Content) is stored.
- HEC is actual data of the extension header.
- a new extension header for storing the priority parameter is defined by adopting a value not yet defined for HET. To do.
- FIG. 21 is a diagram showing an example of the definition of a new extension header that stores priority parameters.
- the new extension header consists of 8-bit HET, 8-bit HEL, 8-bit Filtering SchemeURI, 8-bit Filtering Parameter Length, and 8xFPLN-bit Filtering Parameter arranged in that order.
- 120 is set in the HET of the new extension header as a value indicating that the priority parameter is stored in the extension header.
- HET since HET is 127 or less, as shown in FIG. 20, HET is arranged after HET.
- HEL is set to an integer value HELN ranging from 0 to 255.
- HELN a value in which 32 ⁇ HELN is the length of the extension header is adopted.
- Filtering Scheme URI is a scheme identifier (SchemeURI) that defines FilteringFilterParameter.
- Integer value FPLN in the range of 0 to 255 is set in Filtering Parameter Length.
- FPLN a value in which 32 ⁇ FPLN is the length of FilteringFilterParameter is adopted.
- FilterFiltering ⁇ Parameter is a priority parameter and its definition (structure) is specified by Filtering Scheme URI.
- FIG. 22 is a diagram showing an example of the definition of the priority parameter (Filtering Parameter).
- the priority parameter is 64 bits, 8-bit Track Reference Index, 8-bit Priority, 8-bit Dependency Counter, 8-bit MVC Filter Length, and 32-bit MVC Filter. Are arranged in that order.
- a sample group as a part of the fragment stored in the LCT packet among the integer values in the range of 0 to 255 sample group included in the portion in which the small piece is stored in the LCT packet
- a value for identifying the track (track of the MP4 file) to which the file belongs is set.
- Track Reference Index as a priority parameter, for example, it is possible to perform packet filtering that preferentially selects and processes an LCT packet in which a portion fragment including a sample group to which a predetermined track belongs is stored.
- Priority is set for each LCT packet with the same TOI.
- an index indicating the priority of processing of the LCT packet of each value of TOI is set.
- the index set in Priority is an integer value ranging from 0 to 255 that ranks the processing priority of LCT packets. For example, the higher the value, the lower the priority.
- Priority for example, packet filtering for preferentially selecting and processing a TOI LCT packet in which a Priority of a predetermined value or less is set can be performed.
- Dependency Counter the number K of subsequent LCT packets affected by the LCT packet including the Dependency Counter is set.
- Dependency Counter as a priority parameter, for example, packet filtering is performed to preferentially select and process LCT packets whose Dependency Counter is 1 or more, that is, LCT packets that affect one or more subsequent LCT packets. be able to.
- MVC Filter Length takes a Boolean value. When True, it indicates that there is a subsequent MVC Filter.
- the MVC Filter is information for performing filtering for selecting MVC data when the sample group included in the portion in which the fragment is stored in the LCT packet is MVC (Multiview Video Coding) data.
- MVC Filter for example, one or more of PRID (priority_id), TID (tempral_id), and VID (View_id) defined as the header of the MVC NAL (Network Abstraction Layer) unit stored in the RTP packet is adopted. can do.
- PRID priority_id
- TID tempral_id
- VID View_id
- FIG. 23 is a diagram showing an example of the definition of MVC Filter.
- the 32-bit MVC Filter is configured by arranging 6-bit priority_id (PRID), 3-bit temporal_id (TID), 10-bit view_id (VID), and 13-bit Reserved in that order.
- PRID priority_id
- TID 3-bit temporal_id
- VID 10-bit view_id
- 13-bit Reserved 13-bit Reserved
- PRID 6 bits priority_id.This flag specifies a priority identifier for the NAL unit.A lower value of PRID indicates a higher priority.
- TID 3 bits This component specifies the temporal layer (or frame rate) hierarchy.Informally put, a temporal layer consisting of view component with a less temporal_id corresponds to a lower frame rate. A given temporal layer typically depends on the lower temporal layers (ie the temporal layers with less temporal_id values) but never depends on any higher temporal layer (ie a temporal layers with higher temporal_id value).
- VID 10 bits view_id.This component specifies the view identifier of the view the NAL unit belongs to. Reserved: 13bits (Reservation bit for future expansion)
- the PID represents the priority of the NAL unit (the NAL unit when the sample group included in the portion in which the small piece is stored in the LCT packet is the NAL unit). The smaller the PID, the higher the priority of the NAL unit.
- TID represents a temporal layer (or frame rate) of a video (a video in a case where a sample group included in a portion in which small pieces are stored in an LCT packet is video (data)).
- the lower the TID the lower the frame rate.
- a certain layer may depend on a lower layer having a smaller TID than the layer, but does not depend on an upper layer having a larger TID.
- VID represents the view to which the NAL unit belongs.
- an LCT packet including a NAL unit having a high priority is preferentially selected based on the PID. Packet filtering can be performed.
- a video whose temporal layer is a predetermined layer or less (NAL unit thereof), that is, an LCT packet including a video whose frame rate as a temporal resolution is a predetermined value or less is preferentially selected. Packet filtering can be performed.
- an LCT packet includes a video or a still image
- information indicating that the video is a moving image or a still image is used as a priority parameter.
- packet filtering that preferentially selects and processes an LCT packet including a moving image or a still image video can be performed.
- the LCT packet when the LCT packet includes a video of any one of a base layer that does not refer to other layers and one or more non-base layers that may refer to other layers, the video The information representing the layer can be adopted as the priority parameter.
- packet filtering for preferentially selecting and processing an LCT packet including base layer video can be performed.
- the LCT packet when the LCT packet includes a video of any one of a plurality of views, information representing the video view can be adopted as the priority parameter.
- a video of a view desired by the user for example, a video of a plurality of views taken from a plurality of positions such as the first base side, the third base side, and the back side in a baseball broadcast
- Packet filtering that preferentially selects and processes LCT packets that contain a video of a view taken from the back side).
- the LCT packet when the LCT packet includes a video of any resolution among a plurality of resolutions, information indicating the resolution can be adopted as the priority parameter.
- packet filtering for preferentially selecting and processing an LCT packet including a video with a predetermined resolution (hereinafter) can be performed.
- information indicating the resolution as the priority parameter information on one or both of the temporal resolution and the spatial resolution can be adopted.
- packet filtering can be performed based on a plurality of types of priority parameters, as well as based on one type of priority parameter.
- the video has a predetermined view and includes a video having a predetermined resolution.
- LCT packets can be preferentially selected and processed.
- FIG. 24 is a flowchart for explaining an example of processing for distributing an LCT packet having a priority parameter.
- step S201 the FLUTE streamer 24 (FIG. 2) of the distribution server 11 stores the data stored in the encoding symbol (Encoding Symbol) (FIG. 17) of the LCT packet (portion piece supplied from the segmenter 22), the distribution server 11 and so on.
- the priority parameter is set based on the operation of the operator, and the process proceeds to step S202.
- step S202 the FLUTE streamer 24 generates an extension header (FIG. 21) (FIG. 22) including the priority parameter set in step S201, and the process proceeds to step S203.
- the FLUTE streamer 24 has an LCT header (FIG. 18) including the extension header generated in step S202, and an LCT packet (FIG. 17) in which a portion fragment supplied from the segmenter 22 is arranged in an encoding symbol. Is supplied to the multicast server 25, and the process proceeds to step S204.
- step S204 the multicast server 25 multicasts the LCT packet from the FLUTE streamer 24, the process returns to step S201, and the same process is repeated thereafter.
- FIG. 25 is a flowchart for explaining an example of packet filtering processing performed by the client 12 (other device such as a router that receives an LCT packet distributed by multicast).
- step S211 the receiving unit 30 (FIG. 3) of the client 12 sets priority as a threshold when processing the LCT packet based on the network environment, the device (client 12) resource, the user operation, the user preference, and the like.
- Degree hereinafter also referred to as threshold priority
- step S212 the process proceeds to step S212.
- step S212 the receiving unit 30 waits for the LCT packet to be distributed by multicast, receives the LCT packet, and the process proceeds to step S213.
- step S213 the reception unit 30 determines whether to process the LCT packet based on the priority parameter included in the LCT header of the LCT packet received in step S212 and the threshold priority set in step S211. The process proceeds to step S214.
- step S214 the receiving unit 30 selects the LCT packet according to the determination result of the availability determination in step S213, stops the process for the LCT packet having a priority parameter whose priority is lower than the threshold priority, Processing is continued for an LCT packet having a priority parameter with a priority equal to or higher than the threshold priority. And a process returns to step S211 from step S214, and the same process is repeated hereafter.
- FIG. 26 shows a configuration example of an embodiment of a computer in which a program for executing the series of processes described above is installed.
- the program can be recorded in advance in a hard disk 305 or ROM 303 as a recording medium built in the computer.
- the program can be stored (recorded) in the removable recording medium 311.
- a removable recording medium 311 can be provided as so-called package software.
- examples of the removable recording medium 311 include a flexible disk, a CD-ROM (Compact Disc Read Only Memory), a MO (Magneto Optical) disc, a DVD (Digital Versatile Disc), a magnetic disc, a semiconductor memory, and the like.
- the program can be installed in the computer from the removable recording medium 311 as described above, or can be downloaded to the computer via the communication network or the broadcast network and installed in the built-in hard disk 305. That is, the program is transferred from a download site to a computer wirelessly via a digital satellite broadcasting artificial satellite, or wired to a computer via a network such as a LAN (Local Area Network) or the Internet. be able to.
- a network such as a LAN (Local Area Network) or the Internet.
- the computer includes a CPU (Central Processing Unit) 302, and an input / output interface 310 is connected to the CPU 302 via the bus 301.
- a CPU Central Processing Unit
- an input / output interface 310 is connected to the CPU 302 via the bus 301.
- the CPU 302 executes a program stored in a ROM (Read Only Memory) 303 accordingly. .
- the CPU 302 loads a program stored in the hard disk 305 to a RAM (Random Access Memory) 304 and executes it.
- the CPU 302 performs processing according to the flowchart described above or processing performed by the configuration of the block diagram described above. Then, the CPU 302 causes the processing result to be output from the output unit 306 or transmitted from the communication unit 308 via the input / output interface 310, or recorded on the hard disk 305, for example, as necessary.
- the input unit 307 includes a keyboard, a mouse, a microphone, and the like.
- the output unit 306 includes an LCD (Liquid Crystal Display), a speaker, and the like.
- the processing performed by the computer according to the program does not necessarily have to be performed in chronological order in the order described as the flowchart. That is, the processing performed by the computer according to the program includes processing executed in parallel or individually (for example, parallel processing or object processing).
- the program may be processed by one computer (processor), or may be distributedly processed by a plurality of computers. Furthermore, the program may be transferred to a remote computer and executed.
- the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
- the present technology can take a cloud computing configuration in which one function is shared by a plurality of devices via a network and is jointly processed.
- each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
- the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
- a fragment (part of data) of an arbitrary data format can be adopted in addition to a fragmented MP4 (ISO / IEC14496-14) fragment.
- a fragment to generate a portion for example, ISO base media file format (ISO / IEC 14496-12), ISO / IEC 14496-15 format, QuickTime format, and other so-called box
- ISO base media file format ISO / IEC 14496-12
- ISO / IEC 14496-15 format ISO / IEC 14496-15 format
- QuickTime format QuickTime format
- box A fragment of a data format having a structure, and a fragment obtained by fragmenting data of a data format not having a box structure for example, TS (Transport Stream)
- MPEG TS Transport Stream
- webM webM
- any other moving image format fragment can be used as a target fragment for generating a portion.
- this technology can be applied to distribution of arbitrary data other than content.
- this technique can take the following structures.
- a transmission apparatus comprising: a distribution unit that distributes an http response including an http (Hypertext Transfer Protocol) header including: a part of the fragment, and a version representing an order in the fragment.
- a distribution unit that distributes an http response including an http (Hypertext Transfer Protocol) header including: a part of the fragment, and a version representing an order in the fragment.
- the version of the http response including the last part of the fragment includes information indicating the end of the fragment.
- the fragment has moof (movie fragment) and mdat (media data),
- the moof includes BaseMediaDecodeTime representing the presentation time of the first sample of the mdat
- the transmission apparatus according to ⁇ 1> or ⁇ 2>, wherein the http header further includes an NTP (Network Time Protocol) time corresponding to the BaseMediaDecodeTime.
- NTP Network Time Protocol
- the http header further includes sample count start information representing an order of the first sample of a part of the fragment included in the http response from the first sample of the fragment.
- ⁇ 5> The transmission device according to ⁇ 4>, wherein the http header of the http response including the second and subsequent portions of the fragment includes the sample count start information.
- ⁇ 6> The transmission device according to any one of ⁇ 1> to ⁇ 5>, wherein the fragment is a fragmented fragment of MP4.
- a receiving apparatus comprising: a receiving unit configured to receive an http response including an http (Hypertext Transfer Protocol) header including a part of the fragment and a version representing an order in the fragment.
- the receiving device wherein the version of the http response including the last part of the fragment includes information indicating the end of the fragment.
- the fragment has moof (movie fragment) and mdat (media data), The moof includes BaseMediaDecodeTime representing the presentation time of the first sample of the mdat,
- the receiving apparatus according to ⁇ 8> or ⁇ 9>, wherein the http header further includes an NTP (Network Time Protocol) time corresponding to the BaseMediaDecodeTime.
- NTP Network Time Protocol
- ⁇ 12> The receiving device according to ⁇ 11>, wherein the http header of the http response including the second and subsequent portions of the fragment includes the sample count start information.
- the fragment is a fragmented fragment of MP4.
- a reception method including a step of receiving an http response including: an http (Hypertext Transfer Protocol) header including: a part of the fragment, and a version indicating an order in the fragment.
- an http Hypertext Transfer Protocol
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Library & Information Science (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
BaseMediaDecodeTime + Sum of SampleDuration of (N-1) Samples + CompositionTimeOffset of Nth Sample
priority_id. This flag specifies a priority identifier for the NAL unit. A lower value of PRID indicates a higher priority.
TID: 3 bits
temporal_id. This component specifies the temporal layer (or frame rate) hierarchy. Informally put, a temporal layer consisting of view component with a less temporal_id corresponds to a lower frame rate.
A given temporal layer typically depends on the lower temporal layers(i.e. the temporal layers with less temporal_id values) but never depends on any higher temporal layer (i.e. a temporal layers with higher temporal_id value).
VID: 10 bits
view_id. This component specifies the view identifier of the view the NAL unit belongs to.
Reserved: 13bits
(将来拡張のための予約bit)
フラグメントの一部と、
前記フラグメントの順番を表すシーケンスナンバと、
前記フラグメントの一部の、前記フラグメントにおける順番を表すバージョンと
を含むhttp(Hypertext Transfer Protocol)ヘッダと
を含むhttpレスポンスを配信する配信部を備える
送信装置。
<2>
前記フラグメントの最後の一部を含む前記httpレスポンスの前記バージョンは、前記フラグメントの最後を表す情報を含む
<1>に記載の送信装置。
<3>
前記フラグメントは、moof(movie fragment)とmdat(media data)とを有し、
前記moofは、前記mdatの先頭のサンプルのプレゼンテーションタイムを表すBaseMediaDecodeTimeを含み、
前記httpヘッダは、前記BaseMediaDecodeTimeに対応するNTP(Network Time Protocol)時刻をさらに含む
<1>又は<2>に記載の送信装置。
<4>
前記httpヘッダは、前記httpレスポンスに含まれる前記フラグメントの一部の先頭の前記サンプルの、前記フラグメントの先頭のサンプルからの順番を表すサンプルカウントスタート情報を、さらに含む
<3>に記載の送信装置。
<5>
前記フラグメントの2番目以降の一部を含む前記httpレスポンスの前記httpヘッダが、前記サンプルカウントスタート情報を含む
<4>に記載の送信装置。
<6>
前記フラグメントは、fragmentedMP4のフラグメントである
<1>ないし<5>のいずれかに記載の送信装置。
<7>
フラグメントの一部と、
前記フラグメントの順番を表すシーケンスナンバと、
前記フラグメントの一部の、前記フラグメントにおける順番を表すバージョンと
を含むhttp(Hypertext Transfer Protocol)ヘッダと
を含むhttpレスポンスを配信する
ステップを含む送信方法。
<8>
フラグメントの一部と、
前記フラグメントの順番を表すシーケンスナンバと、
前記フラグメントの一部の、前記フラグメントにおける順番を表すバージョンと
を含むhttp(Hypertext Transfer Protocol)ヘッダと
を含むhttpレスポンスを受信する受信部を備える
受信装置。
<9>
前記フラグメントの最後の一部を含む前記httpレスポンスの前記バージョンは、前記フラグメントの最後を表す情報を含む
<8>に記載の受信装置。
<10>
前記フラグメントは、moof(movie fragment)とmdat(media data)とを有し、
前記moofは、前記mdatの先頭のサンプルのプレゼンテーションタイムを表すBaseMediaDecodeTimeを含み、
前記httpヘッダは、前記BaseMediaDecodeTimeに対応するNTP(Network Time Protocol)時刻をさらに含む
<8>又は<9>に記載の受信装置。
<11>
前記httpヘッダは、前記httpレスポンスに含まれる前記フラグメントの一部の先頭の前記サンプルの、前記フラグメントの先頭のサンプルからの順番を表すサンプルカウントスタート情報を、さらに含む
<10>に記載の受信装置。
<12>
前記フラグメントの2番目以降の一部を含む前記httpレスポンスの前記httpヘッダが、前記サンプルカウントスタート情報を含む
<11>に記載の受信装置。
<13>
前記フラグメントは、fragmentedMP4のフラグメントである
<8>ないし<12>のいずれかに記載の受信装置。
<14>
フラグメントの一部と、
前記フラグメントの順番を表すシーケンスナンバと、
前記フラグメントの一部の、前記フラグメントにおける順番を表すバージョンと
を含むhttp(Hypertext Transfer Protocol)ヘッダと
を含むhttpレスポンスを受信する
ステップを含む受信方法。
Claims (14)
- フラグメントの一部と、
前記フラグメントの順番を表すシーケンスナンバと、
前記フラグメントの一部の、前記フラグメントにおける順番を表すバージョンと
を含むhttp(Hypertext Transfer Protocol)ヘッダと
を含むhttpレスポンスを配信する配信部を備える
送信装置。 - 前記フラグメントの最後の一部を含む前記httpレスポンスの前記バージョンは、前記フラグメントの最後を表す情報を含む
請求項1に記載の送信装置。 - 前記フラグメントは、moof(movie fragment)とmdat(media data)とを有し、
前記moofは、前記mdatの先頭のサンプルのプレゼンテーションタイムを表すBaseMediaDecodeTimeを含み、
前記httpヘッダは、前記BaseMediaDecodeTimeに対応するNTP(Network Time Protocol)時刻をさらに含む
請求項2に記載の送信装置。 - 前記httpヘッダは、前記httpレスポンスに含まれる前記フラグメントの一部の先頭の前記サンプルの、前記フラグメントの先頭のサンプルからの順番を表すサンプルカウントスタート情報を、さらに含む
請求項3に記載の送信装置。 - 前記フラグメントの2番目以降の一部を含む前記httpレスポンスの前記httpヘッダが、前記サンプルカウントスタート情報を含む
請求項4に記載の送信装置。 - 前記フラグメントは、fragmentedMP4のフラグメントである
請求項5に記載の送信装置。 - フラグメントの一部と、
前記フラグメントの順番を表すシーケンスナンバと、
前記フラグメントの一部の、前記フラグメントにおける順番を表すバージョンと
を含むhttp(Hypertext Transfer Protocol)ヘッダと
を含むhttpレスポンスを配信する
ステップを含む送信方法。 - フラグメントの一部と、
前記フラグメントの順番を表すシーケンスナンバと、
前記フラグメントの一部の、前記フラグメントにおける順番を表すバージョンと
を含むhttp(Hypertext Transfer Protocol)ヘッダと
を含むhttpレスポンスを受信する受信部を備える
受信装置。 - 前記フラグメントの最後の一部を含む前記httpレスポンスの前記バージョンは、前記フラグメントの最後を表す情報を含む
請求項8に記載の受信装置。 - 前記フラグメントは、moof(movie fragment)とmdat(media data)とを有し、
前記moofは、前記mdatの先頭のサンプルのプレゼンテーションタイムを表すBaseMediaDecodeTimeを含み、
前記httpヘッダは、前記BaseMediaDecodeTimeに対応するNTP(Network Time Protocol)時刻をさらに含む
請求項9に記載の受信装置。 - 前記httpヘッダは、前記httpレスポンスに含まれる前記フラグメントの一部の先頭の前記サンプルの、前記フラグメントの先頭のサンプルからの順番を表すサンプルカウントスタート情報を、さらに含む
請求項10に記載の受信装置。 - 前記フラグメントの2番目以降の一部を含む前記httpレスポンスの前記httpヘッダが、前記サンプルカウントスタート情報を含む
請求項11に記載の受信装置。 - 前記フラグメントは、fragmentedMP4のフラグメントである
請求項12に記載の受信装置。 - フラグメントの一部と、
前記フラグメントの順番を表すシーケンスナンバと、
前記フラグメントの一部の、前記フラグメントにおける順番を表すバージョンと
を含むhttp(Hypertext Transfer Protocol)ヘッダと
を含むhttpレスポンスを受信する
ステップを含む受信方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015544919A JP6329964B2 (ja) | 2013-10-30 | 2014-10-17 | 送信装置、送信方法、受信装置、及び、受信方法 |
CN201480058471.6A CN105659623B (zh) | 2013-10-30 | 2014-10-17 | 发送装置、发送方法、接收装置以及接收方法 |
EP14857456.9A EP3065414B1 (en) | 2013-10-30 | 2014-10-17 | Transmission device, transmission method, reception device, and reception method |
US15/021,116 US10499094B2 (en) | 2013-10-30 | 2014-10-17 | Transmission apparatus, transmitting method, reception apparatus, and receiving method |
PH12016500757A PH12016500757A1 (en) | 2013-10-30 | 2016-04-22 | Transmission device, transmission method, reception device, and reception method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013225540 | 2013-10-30 | ||
JP2013-225540 | 2013-10-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015064383A1 true WO2015064383A1 (ja) | 2015-05-07 |
Family
ID=53003992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/077658 WO2015064383A1 (ja) | 2013-10-30 | 2014-10-17 | 送信装置、送信方法、受信装置、及び、受信方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10499094B2 (ja) |
EP (1) | EP3065414B1 (ja) |
JP (1) | JP6329964B2 (ja) |
CN (1) | CN105659623B (ja) |
PH (1) | PH12016500757A1 (ja) |
WO (1) | WO2015064383A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017011325A (ja) * | 2015-06-16 | 2017-01-12 | ソニー株式会社 | 受信装置、送信装置、及び、データ処理方法 |
JP2019537897A (ja) * | 2016-11-10 | 2019-12-26 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | 配信性能を改善するためのリソースセグメント化 |
JP2021117755A (ja) * | 2020-01-27 | 2021-08-10 | 日本放送協会 | コンテンツ配信装置、端末、およびプログラム |
EP3348081B1 (en) * | 2015-09-08 | 2023-07-12 | Telefonaktiebolaget LM Ericsson (publ) | Streaming session continuation |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10097294B2 (en) * | 2014-01-03 | 2018-10-09 | Lg Electronics Inc. | Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals |
EP3036883B3 (en) * | 2014-02-24 | 2021-11-24 | LG Electronics Inc. | Apparatus for transmitting broadcast signals and method for transmitting broadcast signals |
JP2015192407A (ja) * | 2014-03-28 | 2015-11-02 | ソニー株式会社 | 送信装置、送信方法、受信装置、受信方法、及び、プログラム |
EP3220649A4 (en) * | 2014-11-13 | 2018-06-20 | LG Electronics Inc. | Broadcasting signal transmission device, broadcasting signal reception device, broadcasting signal transmission method, and broadcasting signal reception method |
CN107948762B (zh) * | 2016-10-13 | 2021-05-11 | 华为技术有限公司 | 直播视频的传输方法、装置和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011147025A (ja) * | 2010-01-15 | 2011-07-28 | Fujitsu Ltd | 配信装置、配信プログラムおよび配信方法 |
WO2011102792A1 (en) * | 2010-02-19 | 2011-08-25 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for adaption in http streaming |
WO2012046487A1 (ja) * | 2010-10-05 | 2012-04-12 | シャープ株式会社 | コンテンツ再生装置、コンテンツ配信システム、コンテンツ再生装置の同期方法、制御プログラム、および、記録媒体 |
JP2013038766A (ja) * | 2011-07-12 | 2013-02-21 | Sharp Corp | 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101330492B (zh) * | 2007-06-19 | 2012-08-01 | 上海贝尔股份有限公司 | 数据发送方法、数据接收方法和设备 |
US20130124683A1 (en) * | 2010-07-20 | 2013-05-16 | Sharp Kabushiki Kaisha | Data distribution system, data distribution method, data relay device on distribution side, and data relay device on reception side |
KR20120010089A (ko) * | 2010-07-20 | 2012-02-02 | 삼성전자주식회사 | Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치 |
US8489760B2 (en) * | 2011-03-31 | 2013-07-16 | Juniper Networks, Inc. | Media file storage format and adaptive delivery system |
JP2013005260A (ja) | 2011-06-17 | 2013-01-07 | Sony Corp | 送出装置、受信装置、放送システム、送出方法、受信方法及びこれらのプログラム |
US9465923B2 (en) * | 2013-03-08 | 2016-10-11 | Intel Corporation | Blackouts architecture |
JP2015192407A (ja) | 2014-03-28 | 2015-11-02 | ソニー株式会社 | 送信装置、送信方法、受信装置、受信方法、及び、プログラム |
-
2014
- 2014-10-17 US US15/021,116 patent/US10499094B2/en active Active
- 2014-10-17 CN CN201480058471.6A patent/CN105659623B/zh active Active
- 2014-10-17 JP JP2015544919A patent/JP6329964B2/ja active Active
- 2014-10-17 EP EP14857456.9A patent/EP3065414B1/en active Active
- 2014-10-17 WO PCT/JP2014/077658 patent/WO2015064383A1/ja active Application Filing
-
2016
- 2016-04-22 PH PH12016500757A patent/PH12016500757A1/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011147025A (ja) * | 2010-01-15 | 2011-07-28 | Fujitsu Ltd | 配信装置、配信プログラムおよび配信方法 |
WO2011102792A1 (en) * | 2010-02-19 | 2011-08-25 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for adaption in http streaming |
WO2012046487A1 (ja) * | 2010-10-05 | 2012-04-12 | シャープ株式会社 | コンテンツ再生装置、コンテンツ配信システム、コンテンツ再生装置の同期方法、制御プログラム、および、記録媒体 |
JP2013038766A (ja) * | 2011-07-12 | 2013-02-21 | Sharp Corp | 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体 |
Non-Patent Citations (1)
Title |
---|
MITSUHIRO HIRABAYASHI: "Achieving Uninterrupted Video Streaming Using Existing Web Servers", NIKKEI ELECTRONICS, 19 March 2012 (2012-03-19) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017011325A (ja) * | 2015-06-16 | 2017-01-12 | ソニー株式会社 | 受信装置、送信装置、及び、データ処理方法 |
US11622088B2 (en) | 2015-06-16 | 2023-04-04 | Saturn Licensing Llc | Reception apparatus, transmission apparatus, and data processing method |
EP3348081B1 (en) * | 2015-09-08 | 2023-07-12 | Telefonaktiebolaget LM Ericsson (publ) | Streaming session continuation |
JP2019537897A (ja) * | 2016-11-10 | 2019-12-26 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | 配信性能を改善するためのリソースセグメント化 |
JP7061121B2 (ja) | 2016-11-10 | 2022-04-27 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | 配信性能を改善するためのリソースセグメント化 |
US11558677B2 (en) | 2016-11-10 | 2023-01-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Resource segmentation to improve delivery performance |
US11722752B2 (en) | 2016-11-10 | 2023-08-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Resource segmentation to improve delivery performance |
JP2021117755A (ja) * | 2020-01-27 | 2021-08-10 | 日本放送協会 | コンテンツ配信装置、端末、およびプログラム |
JP7454951B2 (ja) | 2020-01-27 | 2024-03-25 | 日本放送協会 | コンテンツ配信装置、端末、およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
US10499094B2 (en) | 2019-12-03 |
EP3065414B1 (en) | 2019-01-09 |
PH12016500757A1 (en) | 2016-05-30 |
JP6329964B2 (ja) | 2018-05-23 |
CN105659623A (zh) | 2016-06-08 |
US20160219311A1 (en) | 2016-07-28 |
EP3065414A4 (en) | 2017-06-21 |
EP3065414A1 (en) | 2016-09-07 |
CN105659623B (zh) | 2019-04-26 |
JPWO2015064383A1 (ja) | 2017-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6329964B2 (ja) | 送信装置、送信方法、受信装置、及び、受信方法 | |
JP6348251B2 (ja) | 端末装置、受信方法、およびプログラム | |
CN110213666B (zh) | 一种接收装置、接收方法及存储介质 | |
JP2018532146A (ja) | コーディングされたオーディオデータのトランスポート | |
JP6570999B2 (ja) | コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム | |
RU2656093C2 (ru) | Устройство поставки контента, способ поставки контента, программа, оконечное устройство и система поставки контента | |
WO2015064211A1 (ja) | 送信装置、送信方法、受信装置、及び、受信方法 | |
KR20120114016A (ko) | 사용자 컨텐츠를 외부 단말기에서 네트워크 적응적으로 스트리밍하는 방법 및 장치 | |
WO2016174960A1 (ja) | 受信装置、送信装置、およびデータ処理方法 | |
WO2015146647A1 (ja) | 送信装置、送信方法、受信装置、受信方法、及び、プログラム | |
JP6492006B2 (ja) | コンテンツ供給装置、コンテンツ供給方法、プログラム、および、コンテンツ供給システム | |
KR20160077067A (ko) | 송신 장치, 송신 방법, 수신 장치, 및 수신 방법 | |
WO2015041071A1 (ja) | コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム | |
WO2015064384A1 (ja) | 送信装置、送信方法、受信装置、及び、受信方法 | |
WO2015045917A1 (ja) | コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム | |
RU2658672C2 (ru) | Устройство предоставления контента, программа, оконечное устройство и система предоставления контента | |
WO2015012140A1 (ja) | コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム | |
WO2015008653A1 (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: 14857456 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15021116 Country of ref document: US |
|
ENP | Entry into the national phase |
Ref document number: 2015544919 Country of ref document: JP Kind code of ref document: A |
|
REEP | Request for entry into the european phase |
Ref document number: 2014857456 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12016500757 Country of ref document: PH |
|
NENP | Non-entry into the national phase |
Ref country code: DE |