WO2015064384A1 - Transmission apparatus, transmission method, reception apparatus, and reception method - Google Patents

Transmission apparatus, transmission method, reception apparatus, and reception method Download PDF

Info

Publication number
WO2015064384A1
WO2015064384A1 PCT/JP2014/077659 JP2014077659W WO2015064384A1 WO 2015064384 A1 WO2015064384 A1 WO 2015064384A1 JP 2014077659 W JP2014077659 W JP 2014077659W WO 2015064384 A1 WO2015064384 A1 WO 2015064384A1
Authority
WO
WIPO (PCT)
Prior art keywords
lct
priority parameter
priority
packet
header
Prior art date
Application number
PCT/JP2014/077659
Other languages
French (fr)
Japanese (ja)
Inventor
山岸 靖明
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Publication of WO2015064384A1 publication Critical patent/WO2015064384A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/64Addressing
    • H04N21/6405Multicasting

Definitions

  • the present technology relates to a transmitting device, a transmitting method, a receiving device, and a receiving method, and more particularly to, for example, a transmitting device, a transmitting method, a receiving device, and a receiving method that enables data to be rapidly 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 an MPD (Media Presentation Description) as metadata including attribute information for optimally selecting a stream having different characteristics from the same source to a client that receives the stream.
  • the client can realize network environment adaptive streaming by using the MPD (see, for example, Non-Patent Document 1).
  • the server prepares, as content of the same content, a plurality of streams having different image quality, image size, and the like according to the communication environment of the distribution path, the capability, the state, and the like of the client.
  • the client adaptively selects a stream that can be received by the client and that is suitable for the client's capability (such as decoding capability) among a plurality of streams prepared by the server, and receives that stream To play.
  • Metadata used for content reproduction control is distributed from the server to the client so that the client can adaptively select and receive a stream.
  • a URL Uniform Resource Locator
  • the client transmits an http request to the (web) server as a content distribution source based on the URL or the like described in the MPD, and receives and reproduces a segment to which the server performs unicast distribution in response to the http request. .
  • DASH is based on a streaming protocol that uses http, but for content etc. that a large number of users view simultaneously, for example, multicast and broadcast such as RTP (Real-time Transport Protocol) and FLUTE (File Delivery over Unidirectional Transport) It is desirable to perform simultaneous broadcast delivery and reduce the load on network resources by using (MC / BC) bearers together.
  • RTP Real-time Transport Protocol
  • FLUTE File Delivery over Unidirectional Transport
  • files are distributed in segment units, with (segments of files) divided from the stream of content as file distribution units (control targets) in DASH.
  • bit rate of the content stream is high, distribution of content, ie, bulk transfer, is performed in segment units, waiting for segment generation to be completed, and network bandwidth is compressed and shaping is performed May be required.
  • the present technology has been made in view of such a situation, and makes it possible to rapidly distribute data such as content.
  • a transmitting device is a transmitting device that includes a distribution unit that distributes an LCT packet having an LCT (Layered Coding Transport) header including a priority parameter for indicating the priority of processing of the packet.
  • LCT Layered Coding Transport
  • the transmission method of the present technology is a transmission method including the step of delivering an LCT packet having a Layered Coding Transport (LCT) header including a priority parameter for indicating the priority of processing of the packet.
  • LCT Layered Coding Transport
  • an LCT packet having an LCT (Layered Coding Transport) header including a priority parameter for indicating the priority of processing of the packet is distributed.
  • a receiver is a receiver including a receiver configured to receive an LCT packet having an LCT (Layered Coding Transport) header including a priority parameter for indicating a priority of processing of a packet.
  • LCT Layered Coding Transport
  • a receiving method is a receiving method including a step of receiving an LCT packet having a Layered Coding Transport (LCT) header including a priority parameter for indicating the priority of processing of the packet.
  • LCT Layered Coding Transport
  • an LCT packet having a Layered Coding Transport (LCT) header including a priority parameter for indicating the priority of processing of the packet is received.
  • LCT Layered Coding Transport
  • the transmitting device and the receiving device may be independent devices or may be internal blocks constituting one device.
  • data can be rapidly distributed.
  • FIG. 1 is a block diagram showing a configuration example of an embodiment of a content providing system to which the present technology is applied.
  • FIG. 2 is a block diagram showing a configuration example of a distribution server 11.
  • FIG. 2 is a block diagram showing an example of the configuration of a client 12; It is a figure explaining an example of processing of offer of contents by a contents offer system.
  • FIG. 2 is a diagram showing an example of data distributed via the network 10 in the content providing system. It is a figure explaining MPD, SDP, USD, and OMA-ESG. It is a figure explaining the composition of the segment which is a file delivery unit of DASH.
  • FIG. It is a figure which shows the structural example of the segment which has one fragment, and the segment which has several fragments. It is a figure which shows the example of delivery of the content which makes a segment a file delivery unit in DASH. It is a figure explaining the outline of distribution of the content which makes a potion a file distribution unit in the distribution server 11.
  • FIG. It is a figure which shows the example of the relationship between a segment and a portion. It is a figure which shows the example of the http response as the portion 60.
  • FIG. It is a figure which shows the example of the http response as the portion 70.
  • FIG. It is a flowchart explaining the example of processing of delivery of the content in a portion unit.
  • Fig. 21 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 showing a configuration example of an embodiment of a content providing system to which the present technology is applied.
  • the content providing system is configured by connecting one or more distribution servers 11, one or more clients 12, and an NTP (Network Time Protocol) server 13 to the network 10.
  • NTP Network Time Protocol
  • content is provided from the distribution server 11 to the client 12 via the network 10 using the DASH.
  • streaming itself is performed by unicast on the OTT / CDN (Over The Top / Contents Delivery Network), but in the content providing system of FIG.
  • multicast distribution can be performed on a guaranteed multicast network (eMBMS etc.) with guaranteed quality on the mobile network.
  • the network 10 includes a bidirectional network such as the Internet which is capable of unicasting and multicasting, and a broadcast network which is capable of broadcasting and multicasting.
  • a bidirectional network such as the Internet which is capable of unicasting and multicasting
  • a broadcast network which is capable of broadcasting and multicasting.
  • MBMS Multimedia Broadcast Multicast Service
  • eMBMS evolved MBMS
  • 3GPP 3rd Generation Partnership Project
  • the distribution server 11 corresponds to, for example, a broadcast station, and is a stream of content having the same contents as a program of a channel (service) of the broadcast station, and a plurality of streams having different bit rates, image sizes, etc. Deliver through.
  • the client 12 receives (plays) (the stream of) the content distributed by the distribution server 11 via the network 10 and reproduces it.
  • the NTP server 13 provides an NTP time, which is time information according to Coordinated Universal Time (UTC) 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 by the NTP server 13.
  • the program distributed by the distribution server 11 may be a real-time program (a program of live broadcasting) or a recorded program.
  • FIG. 2 is a block diagram showing a configuration example of the distribution server 11 of FIG.
  • the delivery server 11 includes a channel streamer 21, a segmenter 22, a metadata generator 23, a file delivery over unidirectional transport (FLUTE) streamer 24, a multicast server 25, and a web server 26.
  • FLUTE unidirectional transport
  • the channel streamer 21 to the web server 26 can be disposed at one place on the network 10 or can be disposed on the network 10 in a distributed manner.
  • communication between each other can be performed via a dedicated line other than the network 10 or any other communication line.
  • the channel streamer 21 manages video, audio, subtitles, and the like as source data of content to be distributed as a program of a channel of the distribution server 11, and a plurality of different bit rates from video, etc. as source data of the content.
  • the streaming data of is generated and supplied to the segmenter 22.
  • the segmenter 22 generates a file of segments 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 streaming data to generate, for example, fragments of fragmented MP 4 (moof and mdat), collects one or more of the fragments, and generates a file of a segment.
  • the segmenter 22 includes the URL of the segment (the URL of the server providing the segment (for example, the distribution server 11)), the range of the segment (information representing the range in content such as video included in the segment), etc.
  • the metadata generator 23 is supplied with the related information related to the segments necessary for the generation of the MPD.
  • the segmenter 22 is not a segment that collects the fragments, but during the generation of the fragments, generates segments, which will be described later, which are configured as part of the fragments, and supplies the portions to the FLUTE streamer 24 instead of the segments. be able to.
  • the metadata generator 23 uses, for example, the MBMS (User Service Description) of MBMS, as metadata of content necessary for reception of a segment by the client 12 using segment relation information etc. supplied from the segmenter 22.
  • MPD and a combination of Session Description Protocol (SDP) (file) of the Internet Engineering Task Force (IETF) or their USD, MPD, and SDP in OMA-ESG (Open Mobile Alliance-Electronic Service Guide) To generate a combination.
  • SDP Session Description Protocol
  • IETF Internet Engineering Task Force
  • OMA-ESG Open Mobile Alliance-Electronic Service Guide
  • the metadata generator 23 uses the relationship information of the segments supplied from the segmenter 22 to generate an MPD in which the URL of the segment, etc. necessary for the client 12 to receive the segment and control the reproduction is described. Do.
  • the metadata generator 23 generates USD and SDP, or USD, SDP, and OMA-ESG as announcement information that announces that content is to be multicast-distributed (including broadcast distribution).
  • the metadata generator 23 supplies metadata to the FLUTE streamer 24 and the web server 26.
  • the FLUTE streamer 24 means (a segment or a portion of) the content supplied from the segmenter 22 as a FLUTE packet, that is, an LCT (Layered Coding Transport) packet (in the present embodiment, a packet having an LCT header; (Asynchronous Layered Coding) packet is stored and supplied to the multicast server 25.
  • LCT Layered Coding Transport
  • the FLUTE streamer 24 stores the metadata supplied from the metadata generator 23 in an LCT packet, and supplies the LCT packet 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 distributes the content and the metadata in the multicast distribution. It will be done.
  • the web server 26 responds to a request (http request) from the client 12 to send the metadata from the metadata generator 23 and (the segment of the content 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 segment of the content, but the web server 26 unicasts the portion, not the segment of the content, like the multicast server 25. Can.
  • FIG. 3 is a block diagram showing a configuration example of the client 12 of FIG.
  • the client 12 has a receiving unit 30 and a reproduction unit 33.
  • the receiving unit 30 functions as a receiving unit that receives content and metadata distributed from the distribution server 11 according to, for example, an operation of the client 12 by the user.
  • the receiving unit 30 receives the metadata distributed from the distribution server 11. Furthermore, the receiving unit 30 receives (segments or portions of) the content distributed from the distribution server 11 based on the metadata received from the distribution server 11 according to, for example, the user's operation of the client 12 or the like.
  • the reception 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 the content supplied from the reception unit 30 according to the control of the reception unit 30.
  • the receiving unit 30 includes the middleware 31 and the 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 segment of content, as necessary.
  • the middleware 31 receives (segments and portions of) contents and segments distributed by multicast from the distribution server 11 as needed, and when the DASH client 32 outputs an http request, it is requested by the http request. Based on the metadata, it is determined whether the MPD or segment in question is multicast-distributed.
  • the middleware 31 is a portion including the MPD or segment (or a part of the segment) to be multicast-distributed. ) Is supplied to the DASH client 32.
  • the middleware 31 supplies the received MPD or segment to the DASH client 32.
  • the middleware 31 directly transmits the http request output by the DASH client 32 to the Send to). Then, in response to the http request, the middleware 31 receives the MPD or segment unicast-distributed (from the distribution server 11) and supplies the MPD or segment to the DASH client 32.
  • the DASH client 32 outputs an http request for requesting a necessary MPD or segment as in a general DASH client, and receives the MPD or segment supplied from the middleware 31 in response to the http request. To process.
  • FIG. 4 is a diagram for explaining an example of processing of providing content by the content providing system of FIG.
  • step S11 the channel streamer 21 (FIG. 2) generates a plurality of streaming data having different bit rates from video or the like as source data of content to be distributed as a program of the channel of the distribution server 11.
  • step S12 the channel streamer 21 supplies the segmenter 22 with a plurality of streaming data having different bit rates of the content.
  • the segmenter 22 receives the content (a plurality of streaming data) supplied from the channel streamer 21 in step S21.
  • step S22 the segmenter 22 generates a segment which is a file distribution unit of DASH from the content from the channel streamer 21 and supplies the segment to the FLUTE streamer 24 and the web server 26 in step S23.
  • step S24 the segmenter 22 generates segment relation information and supplies the information to the metadata generator 23.
  • step S31 the metadata generator 23 (FIG. 2) receives the relationship information of the segments supplied from the segmenter 22 in step S24.
  • step S32 the metadata generator 23 generates metadata of the content using the relationship information and the like from the segmenter 22 and supplies the metadata to the FLUTE streamer 24 and the web server 26.
  • the FLUTE streamer 24 receives (the segment of) the content 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.
  • step S43 the FLUTE streamer 24 receives the metadata supplied from the metadata generator 23 in step S32, generates an LCT packet including the metadata in step S44, and supplies it to the multicast server 25. .
  • the multicast server 25 receives the LCT packet including the content supplied from the FLUTE streamer 24 in step S42 in step S51, and receives the LCT packet including metadata in step S52.
  • step S53 the multicast server 25 multicast-distributes the LCT packet including the metadata from the FLUTE streamer 24, and, in step S54, multicasts the LCT packet including the content from the FLUTE streamer 24.
  • step S61 the web server 26 (FIG. 2) receives (the segment of) the content supplied from the segmenter 22 in step S23, and in step S62 receives the metadata supplied from the metadata generator 23 in step S32 Do.
  • step S63 when the 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 (a segment of) content is transmitted from the client 12, the web server 26 receives the http request.
  • step S66 the web server 26 unicasts (the segment of) the content requested by the http request from the client 12 to the client 12.
  • step S71 the reception unit 30 receives (the LCT packet of) metadata to which the multicast server 25 performs multicast distribution in step S53.
  • the receiving unit 30 transmits an http request for requesting metadata in step S72.
  • the http request transmitted by the client 12 in step S72 is received by the web server 26 in step S63 as described above, and in step S64, the metadata requested by the http request is unicasted to the client 12 Do.
  • step S73 the reception unit 30 of the client 12 receives the metadata distributed in the unicast manner as described above.
  • step S74 the reception unit 30 of the client 12 receives (the LCT packet of) the content to which the multicast server 25 performs multicast distribution in step S54 based on the metadata received in step S71 or S73.
  • step S75 the receiving unit 30 transmits an http request for requesting content based on the metadata received in step S71 or S73 in step S75.
  • the web server 26 receives the http request transmitted by the client 12 in step S75 in step S65, and in step S66 unicasts the content requested by the http request to the client 12 .
  • step S76 the reception unit 30 of the client 12 receives the content unicast-distributed 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 metadata (MPD).
  • MPD metadata
  • 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 the like (segments or portions of the content) 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 with 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, a method of accessing 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 method for accessing the USD described in the OMA-ESG.
  • the USD of the program of interest describes the URI (Uniform Resource Identifier) of the SDP of the program of interest, the URI of the MPD of the program of interest, and the like.
  • URI Uniform Resource Identifier
  • the SDP and MPD of the program of interest can be acquired by referring to the URI of SDP and MPD described in the USD.
  • IP address for multicast distribution of the content of the program of interest and transport attributes such as port numbers are described.
  • the client 12 recognizes that the content is to be delivered by multicast, and the content is delivered by multicast Content can be received.
  • the segment of the program of interest can be received in unicast based on the URL described in the MPD.
  • the segment of the program of interest can be reproduced based on the MPD of the program of interest.
  • the MPD since the MPD contains information necessary for segment reproduction control, the MPD is necessary not only to receive the segment in unicast but also to reproduce the segment.
  • FIG. 7 is a diagram for explaining the configuration of a segment which is a file delivery unit of DASH.
  • the format of the content delivered by DASH is not particularly limited, but in this embodiment, (a file of fragmented MP4) is adopted as the format of the content delivered by DASH, for example.
  • a segment has styp (segment type) (box), necessary sidx (segment index) (box), and one or more fragments (MP4 fragments).
  • the segment when styp is 'msdh', the segment does not include sidx, and when styp is 'msix', the segment includes sidx.
  • sidx will be omitted as appropriate.
  • the fragment has moof (movie fragment) (box) and mdat (media data) (box).
  • the 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, media data in the MP4 file can not be accessed in units smaller than the sample.
  • Moof has mfhd (movie fragment header) (box) and traf (track fragment) (box).
  • sequence_number A sequence number (sequence_number) is stored in mfhd.
  • sequence_number represents the order of fragments having the sequence_number.
  • the traf has tfhd (track fragment header) (box), tfdt (track fragment decode time) (box), trun (track fragment run) (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 that BaseMediaDecodeTime.
  • the trun stores information necessary to calculate the presentation time of each sample included in the fragment having the trun.
  • FIG. 8 is a diagram showing a configuration example of a segment having one fragment and a segment having a plurality of fragments.
  • a of FIG. 8 shows a configuration example of a segment having one fragment.
  • each of three consecutive segments # 1, # 2, # 3 has one fragment.
  • FIG. 8 shows a configuration example of a segment having a plurality of fragments.
  • segment # 1 has 3 fragments.
  • the segment has one fragment, as shown in A of FIG.
  • FIG. 9 is a diagram illustrating an example of delivery of content in which a segment is a file delivery unit in DASH.
  • sample groups # 1, # 2, and # 3 each of which is one or more samples, are sequentially generated as sample groups constituting fragments. Then, after the segmenter 22 of the delivery server 11 (FIG. 2) completes generation of the last sample group # 3 of fragments, mdat in which those sample groups # 1 to # 3 are arranged, and sample groups # 1 to # 3. The fragments including the fragments are generated, and the segments including the fragments are generated, and then the segments are distributed in the FLUTE streamer 24 and the multicast server 25.
  • the moof of the sample groups # 1 to # 3 is performed, for example, in parallel with the generation of the sample groups # 1 to # 3.
  • example groups # 1 to # 3 arranged as mdat of fragment for example, it is possible to adopt a range of GOP (Group Of Picture) which is a minimum unit which can be randomly accessed. it can.
  • GOP Group Of Picture
  • the range of content to be fragmented is not limited to the range of GOP.
  • the GOP time for example, about 0.5 to 2 seconds is often employed. Therefore, when adopting the range of the GOP as the range of the content to be fragmented, the moof, and hence the segment is generated waiting for the time of the GOP which is at least about 0.5 to 2 seconds. That is, it takes at least the time of GOP to generate a segment.
  • the bandwidth of the network may be compressed and shaping may be necessary.
  • the distribution server 11 rapidly distributes (the data of) content by multicasting a portion smaller than a segment (hereinafter also referred to as a portion) as a file distribution unit. Deliver and thereby control the delay that results in the reception of content at the client and the onset of buffering.
  • FIG. 10 is a diagram for explaining an outline of distribution of content in which the portion is a file distribution unit in the distribution server 11.
  • the sample A portion as a file distribution unit including group # 1 is generated, and is distributed by multicast in the FLUTE streamer 24 and the multicast server 25.
  • a portion including a sample group (a sample group # 1, # 2, # 3 in FIG. 10) smaller than the segment and smaller than the segment is generated, and the content is multicasted by distributing the portion. Can be delivered quickly, and the delay caused to receive content at the client and start of buffering can be suppressed.
  • sample group # 1 corresponds to, for example, I picture data to be first encoded 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 is 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 portions.
  • a of FIG. 11 shows an example of the segment.
  • the segment 50 has styp 51 and (one) fragment 52.
  • Fragment 52 is composed of moof 53 and mdat 54.
  • 1 is set as the sequence number sqn of the fragment 52.
  • an mdat header 55 and three sample groups 56, 57 and 58 are stored in that order.
  • the sample groups 56 to 58 correspond to, for example, sample groups # 1 to # 3 in FIG.
  • the first sample of the second sample group 57 is the sample of the n1th sample from the top of the first sample group 56.
  • the first sample of the third sample group 58 among the three sample groups 56 to 58 is the sample of the n2 (> n1) sample from the top of the first sample group 56.
  • sample number here, it is also referred to as a sample number below which sample a certain sample stored in mdat is from the first sample of the mdat.
  • 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 fragments 52 included in the segment 50 when the segment 50 of A in FIG. 11 is generated. ing.
  • FIG. 11B 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 D in FIG. 11 shows a sample group 58 as another part of the fragment 52.
  • An example of the potion is shown.
  • portion 60 is an http response including the first sample group 56 of fragment 52, and portion 60 includes http header 61, MS / BR 62, styp 51, moof subset 64, MS / BR 65, mdat header. 55, MS / BR 66, sample group 56, and MS 67 are arranged in this order.
  • the http header 61 is an http header indicating that the message body is a multipart message body.
  • 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 identical to 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 in the fragment of the sample group as a part of the fragment included in the portion including the version v.
  • the version v is an integer which is incremented by one, for example, with an initial value of 1 for the same sequence number sqn (with a sqn scope).
  • the version v of the http header 61 Is set to 1.
  • Each segment includes, for example, a plurality of three fragments as shown in FIG. 9, and the sequence numbers sqn of the three fragments are 1, 2, and 3, respectively.
  • the set of sequence numbers sqn and version v of each of the 6 portions is generated (sqn , v) become (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 60 (the sample group 56) is included in the portion 60 including the NTP time nt, that is, the sample at the beginning of the fragment 52 ( Represents an NTP time NT corresponding to bmdt representing a presentation time of the first sample of the sample group 56).
  • MS / BR 62 represents a multipart separator (multipart-separator) and a byte range of styp 51 arranged immediately after that.
  • MS / BR 63 represents the multi-part separator and the byte range of the moof subset 64 placed immediately after it.
  • the moof subset 64 is a subset of moof 53 that can be generated before the generation of the first (first) sample group 56 placed in the portion 60 out of the three sample groups 56 to 58 of the fragment 52. And includes sequence numbers sqn and bmdt stored in moof 53.
  • the sample group 56 can be reproduced according to the moof subset 64 which is a subset of the moof 53 that can be generated before the sample group 56 is generated.
  • MS / BR 65 represents the multi-part separator and the byte range of the mdat header 55 placed immediately after that.
  • MS / BR 66 represents the multi-part separator and the byte range of sample group 56 placed immediately after that.
  • MS67 represents a multipart separator.
  • styp 51 is included in the portion 60 in which the first sample group 56 of the fragment 52 is included, but styp 51 (further not shown, sidx) is an http different from the portion 60. It can be included in the response and delivered.
  • the portion 70 is an http response including the second sample group 57 of the fragment 52, and the portion 70 includes the http header 71, MS / BR 72, moof subset 73, MS / BR 74, sample group 57. , And MS 75 are arranged in that order.
  • the http header 71 is an http header indicating that the message body is a multipart message body, and the http header 71 includes a sequence number sqn, a version v, an NTP time nt, and a sample count start scs (SampleCountStart). Is included.
  • the sequence number sqn of the http header 71 is set to 1 identical to 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.
  • the version v of the http header 71 is set to 2. 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 sample at the beginning of the sample group included in the portion including the sample count start scs from the sample at the beginning of the fragment.
  • N1 is set.
  • MS / BR 72 represents the multi-part separator and the byte range of the moof subset 73 placed immediately after it.
  • the moof subset 73 is a subset of moof 53 that can be generated before the generation of the second sample group 57 placed in the portion 70 out of the three sample groups 56 to 58 of the fragment 52, the moof 53 Includes sequence numbers sqn and bmdt stored in.
  • moof subset 73 which is a subset of moof 53 that can be generated before sample group 57 is generated, information necessary for reproducing sample group 57 is included in moof subset 64 generated before sample group 56 is generated.
  • the moof subset 73 is added, so that the sample group 57, and further, the sample group 56 generated before the sample group 57 is generated can be reproduced.
  • MS / BR 74 represents the multi-part separator and the byte range of sample group 57 placed immediately after that.
  • MS 75 represents a multi-part separator.
  • a portion 80 is an http response including the third sample group 58 of the fragment 52, and the portion 80 includes an http header 81, MS / BR 82, moof subset 83, MS / BR 84, sample group 58. , And MS 85 are arranged in that order.
  • the http header 81 is an http header indicating that the message body is a multipart message body, and 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 identical to 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.
  • the version v of the http header 81 is set to 3. That is, since the portion 80 includes the third sample group 58 of the sample groups 56 to 58 of the fragment 52, the version v of the http header 81 is set to 3.
  • the sample group 58 included in the portion 80 is the last sample group of the fragment 52, that is, the last sample group whose sequence number sqn is 1, the version v of the http header 81 is , And the order 3 of the sample group 58 in the fragment 52, and "-end" as information indicating that it is the last sample group of the fragment is set.
  • the order of the samples (as part of the fragment) included in the portion and whether that sample is the last sample of the fragment can be recognized.
  • the sample count start scs represents the order of the sample at the head of the sample group included in the portion including the sample count start scs from the sample at the head 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 sample of the n2th sample from the top of the first sample group 56 as described in A of FIG. n2 is set to scs.
  • MS / BR 82 represents the multi-part separator and the byte range of the moof subset 83 placed immediately after it.
  • the moof subset 83 is a subset of moof 53 that can be generated by the third sample group 56 to 58 of the fragment 52 until the third sample group 58 placed in the portion 80 is generated. Includes sequence numbers sqn and bmdt stored in.
  • the moof subset 83 is a subset of moof 53 that can be generated before the generation of the third sample group 58 placed in the portion 80, ie, the last sample group 58 of the fragment 52, the moof 53 be equivalent to.
  • the moof subset 83 which is a subset of the moof 53, which can be generated until the sample group 58 is generated, is equal to the moof 53, according to the moof subset 83, the sample group 58, further, the sample group Sample groups 56 and 57 can be regenerated before 58 is generated.
  • MS / BR 84 represents the multi-part separator and the byte range of the sample group 58 placed immediately after that.
  • MS85 represents a multi-part separator.
  • the client 12 since the portion that is the http response includes the sequence number sqn and the version v in the http header, the client 12 (other device) that has received the portion receives the sequence number sqn and the version v. Based on this, it is possible to recognize and reproduce the order in the segment of the sample group included in the portion and to construct and reproduce the segment as required.
  • the client 12 receives all the portions (sample group) constituting the segment before receiving the portion.
  • the sample group included in the one portion is a sample group that can be independently reproduced (for example, a sample group of I picture), or a sample that has already been received
  • 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 existing moof definition to include the version v in the moof. If you include version v in the http header, you do not need to extend the existing moof definition.
  • 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 respectively include the sample count start scs, and the first sample group 56 of the fragment 52
  • the http header 61 of the portion 60 containing does not contain the sample count start scs
  • the sample count start scs can also be included in the http header 61 of the portion 60 containing the first sample group 56 of the fragment 52 .
  • the http header (version of the portion including the first sample group of fragments)
  • the sample count start scs can be omitted, whereby the size of the http header can be reduced.
  • the http header can include 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.
  • the content includes, for example, content such as a program of live broadcasting which needs to control the timing of reproduction on the time axis of absolute time represented by NTP time, and each sample of such content is It is necessary to calculate the NTP time as an absolute time to which the sample is mapped (displayed).
  • the presentation time of the Nth sample of the fragment (PresendatioTime (CompositionTime) of Nth Sample) can be calculated according to the following equation.
  • Sum of SampleDuration of (N-1) Samples and CompositionTimeOffset of Nth Sample can be obtained from information (sampleCount, SampleDuration, CompositionTimeOffset) stored in moof of fragment, and BaseMediaDecodeTime is momd as bmdt. It is stored.
  • the absolute time of a sample can be determined if the NTP time corresponding to BaseMediaDecodeTime used to calculate the presentation time of the sample is known.
  • the client 12 receives the portion by including 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 in the http header. Based on the NTP time nt included in the http header of the portion, even if there is no corresponding MPD, calculate the NTP time as the absolute time of each sample of the sample group included in the portion and calculate the samples according to the NTP time It can be played back.
  • bmdt bmdt representing the presentation time of the first sample of the fragment
  • the http header can include the 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, so the segment is configured. Even if a portion of a plurality of portions (a plurality of portions including each of a plurality of sample groups included in the segment) is missing, the portion (sample group included in) following the missing portion is reproduced be able to.
  • each sample from each portion starts from the first sample of the fragment, even without the sample count start scs. It is possible to recognize the sample number of what sample it is, and based on the sample number, it is possible to obtain information necessary for reproducing the sample from the moof subset and reproduce the sample.
  • sample count start scs By including the sample count start scs in the http header of the portion, even if a portion of the plurality of portions constituting the segment is missing, the sample included in the portion following the missing portion The sample number can be recognized and reproduced by the sample count start scs.
  • the portion can include moof subset which is a subset of moof 53, which can be generated before generating a sample group included in the portion
  • the client 12 receiving the portion waits for the subsequent portion without waiting. Then, 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 may further include, for example, FDT (File Delivery Table) which is various attribute information distributed by FLUTE for multicasting the portion.
  • FDT Fra Delivery Table
  • the client 12 can use the FDT included in the http header of the portion for reception of FLUTE multicast distributed data.
  • FIG. 12 is a diagram showing an example of the description of the http response as the portion 60 of FIG.
  • the description 100 is an http header 61, and "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 sequence number sqn, a header representing a version v, and has a variable sqn representing the 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 an NTP time nt (corresponding to BaseMediaDecodeTime), and in FIG. 12, the sample at the beginning of the fragment 52 (the sample at the beginning of the sample group 56) in “X-NTPTimeStamp” 2890844526 is set as an NTP time NT corresponding to bmdt representing the presentation time of.
  • the description 103 is MS / BR 62, and "SEPARATER_STRING" in the description 103 represents a multi-part separator. Also, “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 size of the fragment is 124567654 bytes and that the styp51 immediately after is 492-499 bytes of the 124567654 bytes. Represents
  • the description 103 is followed by the styp51 byte sequence.
  • the description 104 after the byte string of styp 51 is MS / BR 63, 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 moof subset the byte range of the moof of the fragment (moof 53 in FIG. 11) is predicted when the portion (in FIG. 11, the portion 60 in FIG. 11) including the first sample group of fragments is generated.
  • the predicted value of the moof byte range is adopted as the byte range of the moof subset of each portion (in FIG. 11, portions 60, 70, and 80 in FIG. 11) including a sample group of fragments. Therefore, the byte range 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 become the same value (the predicted value of the moof 53 byte range).
  • the description 104 is followed by the moof subset 64 byte sequence.
  • the description 105 after the byte string of the moof subset 64 is MS / BR 65, and "Content-range: bytes 992-999 / 124567654" in the description 105 represents the byte range of the mdat header 55 immediately after.
  • the description 105 is followed by the byte string of the mdat header 55.
  • the description 106 after the byte string of the mdat header 55 is MS / BR 66, and "Content-range: bytes 1000-4999 / 124567654" in the description 106 represents the byte range of the sample group 56 immediately after.
  • the description 106 is followed by a byte sequence of samples 56.
  • the description 107 of the byte string of the sample group 56 is MS67.
  • FIG. 13 is a diagram showing an example of the description of the http response as the portion 70 of FIG.
  • the description 120 is an http header 71, and "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 the 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 in the fragment 52 of the sample group 57 included in the portion 70.
  • the “X-NTPTimeStamp” in the description 122 is a header representing the NTP time nt as described in FIG. 12, and is an NTP time NT corresponding to bmdt representing the presentation time of the first sample of the fragment 52 in FIG. The same 2890844526 as the case is set.
  • “X-SampleCountStart” in the description 123 is a header representing a sample count start scs, and in FIG. 13, the sample number n1 of the first sample of the sample group 57 included in the fragment 70 is set to “X-SampleCountStart”. ing.
  • the description 124 is MS / BR 72, and the "Content-range: bytes 500-991 / 124567654" in the description 124 represents the byte range of the moof subset 73 immediately after it, and the byte range of the moof subset 64 in the description 105 of FIG. It is the same as (the prediction value of moof53 byte range).
  • the description 124 is followed by the moof subset 73 bytes.
  • the description 125 after the byte string 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 125 is followed by the byte series of the sample group 57.
  • the description 126 of the byte string of the sample group 57 is MS75.
  • the portion 80 of FIG. 11 is configured in the same manner as the portion 70 of FIG.
  • FIG. 14 is a flow chart for explaining an example of processing of delivery of content in units of portions.
  • step S101 the segmenter 22 of the distribution server 11 (FIG. 2) sets the fragment (eg, the fragment 52 of FIG. 11) for which a sample group is to be generated as the target fragment, the mdat header of the target fragment, and the first sample A group is generated, and the process proceeds to step S102.
  • the fragment eg, the fragment 52 of FIG. 11
  • step S102 the segmenter 22 generates an http header (for example, the http header 61 in FIG. 11) for the first sample group, and the process proceeds to step S103.
  • an http header for example, the http header 61 in FIG. 11
  • the segmenter 22 is stored in the sequence number sqn which is the same as the sequence number stored in the moof of the fragment of interest, the version v which is 1 representing the order in the fragment of interest of the first sample group, and the moof of the fragment of interest
  • the http header including the NTP time nt corresponding to bmdt is generated as the http header for the first sample group.
  • step S103 the segmenter 22 can generate a part of the moof necessary for reproducing the first sample group, which has been able to generate the first sample group for the fragment of interest. After acquiring as a subset, the process proceeds to step S104.
  • step S104 the segmenter 22 sets the styp (and necessary 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 response as a portion is generated and supplied to the FLUTE streamer 24, and the process proceeds to step S105.
  • the http response as a portion generated in step S104 is styp (and Necessary 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 sample of interest for the fragment of interest, and the process proceeds to step S107.
  • step S107 the segmenter 22 generates an http header (for example, the http headers 71 and 81 in FIG. 11) for the sample of interest, and the process proceeds to step S108.
  • an http header for example, the 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 fragment of interest, the version v representing the order of the fragments of interest of the sample group of interest, and the NTP corresponding to bmdt stored in the moof of the fragment of interest.
  • An http header including a time nt and a sample count start scs indicating the sample number of the first sample of the sample of interest is generated as an http header for the sample of interest.
  • step S108 the segmenter 22 can generate the sample of interest, and the group of samples generated before generating the sample of interest of the fragment of interest, which were able to be generated before generating the sample of interest for the fragment of interest. ) Is acquired as the moof subset for the sample group of interest, and the process proceeds to step S109.
  • step S109 the segmenter 22 generates an http response as a portion by adding the http header for the sample of interest to the moof subset for the sample of interest and the sample of interest, and supplies it 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 distributes the LCT packet by multicast, and the process Go to S111.
  • step S111 the segmenter 22 determines whether the sample of interest is the last sample of the fragment of interest.
  • step S111 If it is determined in step S111 that the sample of interest group is not the last sample group of the fragment of interest, that is, if there is a sample group following the sample of interest group in the fragment of interest, the process returns to step S106 The same process is repeated with the next sample group of sample groups as a new sample group of interest.
  • step S111 determines whether the sample of interest group is the last sample group of the fragment of interest. If it is determined in step S111 that the sample of interest group 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 taken as the new fragment of interest. Hereinafter, the same processing is repeated.
  • FIG. 15 is a flowchart illustrating an example of processing of receiving content in units of portions.
  • step S121 the reception unit 31 of the client 12 (FIG. 3) waits for the http response as a portion to be multicast-distributed, 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 according to the moof subset included in the http response and the sequence included in the http header of the http response.
  • the number sqn, the version v, the NTP time nt, and the sample count start scs are used as needed.
  • step S122 returns from step S122 to step S121, and the same process is repeated thereafter.
  • the distribution server 11 does not wait for a segment to be generated, and when a sample group which is a part of a fragment included in the segment is generated, the http as a portion including the sample group is generated. Since the response is delivered, the content can be delivered quickly.
  • FIG. 16 is a diagram for explaining multicast distribution of portions (and segments) by LCT packets.
  • portions (and segments) are packetized into LCT packets, and the multicast server 25 multicasts the LCT packets.
  • Packetization of portions into LCT packets in the FLUTE streamer 24 is performed, for example, by dividing the portions into small pieces of a predetermined size and storing each small piece in an LCT packet, as shown in FIG. It will be.
  • FIG. 17 is a diagram showing the format of the LCT packet.
  • the LCT packet is configured by arranging an LCT header (LCT Header), an FEC Payload ID, and an Encoding Symbol (s) in that order.
  • LCT Header LCT Header
  • FEC Payload ID FEC Payload ID
  • Encoding Symbol s
  • Portions of portions are stored in LCT packets as Encoding Symbols.
  • FIG. 18 shows the format of the LCT header.
  • the LCT header includes a Transport Session Identifier (TSI), a Transport Object Identifier (TOI), and a necessary extension header (Header Extensions).
  • TSI Transport Session Identifier
  • TOI Transport Object Identifier
  • Header Extensions a necessary extension header
  • the TSI is an identifier that identifies a session of the LCT packet.
  • the TSIs of LCT packets obtained by packetizing portions 60, 70, and 80 each including sample groups 56, 57, and 58 to be originally delivered in one segment 50 are identical to each other. Set to a value.
  • the TOI is an identifier that identifies an object whose data is stored in the Encoding Symbol of the LCT packet. For example, the TOI of the LCT packet in which the small pieces obtained by dividing the portion 60 are stored in the Encoding Symbol is set to the same value.
  • FIG. 19 is a diagram illustrating an example of delivery of content in units of portions.
  • a certain fragment has sample groups # 1, # 2, # 3,.
  • the sample group # 1 is, for example, a video of a base view (a view of the base layer) which does not refer to another view, and the sample groups # 2, # 3,. It is a non-base view (enhanced layer view) video that may refer to other views.
  • the client 12 Since the TOI of the LCT packet #i in which the small piece of a portion #i is stored has the same value, the client 12 receives the LCT packet, and among the received LCT packets, the TOI is the same. By collecting pieces of portion #i stored in the LCT packet, the original portion #i can be reconstructed.
  • the sample group # 1 included in the portion # 1 is a video of the base view, and the sample groups # 2, # 3,. It is a video.
  • the sample group included in the portion is data (processing unit) that can be classified based on some standard, such as a base view video or a non-base view video. It is possible to perform packet filtering for discarding LCT packets on a sample group basis included).
  • LCT packets for example, when it is difficult to allocate sufficient resources (including the resources of the client 12 that finally receives the LCT packet) to delivery of the LCT packet due to, for example, fluctuations in the network environment to which the LCT packet is delivered.
  • a router on the delivery path of LCT packets for example, a router for FLUTE multicast
  • the network stack of client 12 a block for processing LCT packets
  • only LCT packets with high processing priority Can be selected to perform processing (processing such as transfer or stack).
  • packet filtering is performed by selecting and processing only the minimum necessary LCT packets and LCT packets with high processing priority as described above.
  • the demand for technology is high.
  • the sample group included in the portion may be a base view video or a non-base view video in the http header as the portion.
  • Attribute information for example, FDT etc.
  • the LCT packet in which a portion (piece) of the portion including the sample group is stored is discarded There is a way to choose.
  • the LCT packet can be used to recognize the attribute information of the sample group each time the packet filtering is performed. Portions must be reconfigured, making it difficult to perform packet filtering efficiently.
  • the FLUTE streamer 24 generates an LCT packet having an LCT header including a priority parameter indicating the priority of processing of the LCT packet, and the multicast server 25 generates an LCT including such a priority parameter.
  • Multicast delivery of LCT packets with a header enables efficient packet filtering, which enables the required LCT packets to be delivered and processed quickly.
  • a priority parameter is included 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 a format of an extension header (Header Extentions) of the LCT header of FIG.
  • HET Header Extension Type
  • HET When 8-bit HET is less than 127, HET is followed by 8-bit HEL (Header Extension Length).
  • HEL Header Extension Length
  • a value N representing the length 32 ⁇ N bits of the extension header is set.
  • HEC Header Extension Content
  • a new extension header for storing priority parameters is defined by adopting a value not yet defined for HET. Do.
  • FIG. 21 is a diagram showing an example of definition of a new extension header storing priority parameters.
  • the new extension header is configured by arranging 8 bits of HET, 8 bits of HEL, 8 bits of Filtering Scheme URI, 8 bits of Filtering Parameter Length, and 8 ⁇ FPLN bits of Filtering Parameters in that order.
  • 120 is set in the extension header as a value indicating that the priority parameter is stored in the HET of the new extension header.
  • HET since HET is 127 or less, HET is placed after HET as shown in FIG.
  • HEL an integer value HELN in the range of 0 to 255 is set.
  • HELN a value such that 32 ⁇ HELN is the length of the extension header is adopted.
  • Filtering Scheme URI is a scheme identifier (SchemeURI) that defines Filtering Parameter.
  • an integer value FPLN in the range of 0 to 255 is set.
  • the integer value FPLN 32 ⁇ FPLN is adopted as a value which is the length of the Filtering Parameter.
  • Filtering Parameter is a priority parameter, and its definition (structure) is specified by Filtering Scheme URI.
  • FIG. 22 is a diagram showing an example of definition of 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 and configured in that order.
  • a sample group as a part of a fragment stored in the LCT packet out of integer values in the range of 0 to 255 (a sample group included in a portion where a small piece is stored in the LCT packet)
  • a value is set that identifies the track (track of the MP4 file) to which the
  • packet filtering can be performed to preferentially select and process an LCT packet in which a small piece of portion 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 TOI of each value is set.
  • the index set to “Priority” is an integer value in the range of 0 to 255 which ranks the priority of processing of the LCT packet. For example, the larger the value, the lower the priority.
  • Priority as a priority parameter, for example, it is possible to perform packet filtering for preferentially selecting and processing an LCT packet of TOI in which Priority equal to or less than a predetermined value is set.
  • Dependency Counter as a priority parameter, for example, packet filtering is performed to preferentially select and process an LCT packet with a Dependency Counter of 1 or more, that is, an LCT packet affecting one or more subsequent LCT packets. be able to.
  • MVC Filter Length takes a Boolean value, and when True, indicates that the subsequent MVC Filter exists.
  • the MVC Filter is information for performing filtering to select and select data of MVC (Multiview Video Coding) when the sample group included in the portion in which the small pieces are stored in the LCT packet is data of MVC (Multiview Video Coding).
  • MVC Filter for example, one or more of PRID (priority_id), TID (tempral_id), and VID (View_id) defined as a header of an MVC NAL (Network Abstraction Layer) unit stored in an RTP packet is adopted. can do.
  • PRID priority_id
  • TID tempral_id
  • VID View_id
  • FIG. 23 is a diagram illustrating an example of the definition of the 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 TID, VID, and Reserved are defined as follows.
  • PRID 6 bits This flag speci? es a priority identifier for the NAL unit. A lower value of PRIdicates a higher priority.
  • TID 3 bits
  • a temporal layer consistent with a view component with a less temporal_id correspond to lower frame rate.
  • temporal_id This component species the temporal layer (or frame rate) hierarchy. 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 This component specifies the view identifier of the view NAL unit belongs to. Reserved: 13 bits (Reserved bit for future expansion)
  • the PID represents the priority of the NAL unit (when the sample group included in the portion in which the small pieces are 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 video (when a sample group included in a portion in which a small piece is stored in a LCT packet is (data of) video).
  • a layer may depend on a lower layer whose TID is smaller than that of the layer but does not depend on an upper layer whose TID is large.
  • VID represents the view to which the NAL unit belongs.
  • Reserved is a reserved bit for the future.
  • an LCT packet including a NAL unit having a high priority is preferentially selected based on the PID. Packet filtering can be performed.
  • video with a temporal layer below a predetermined layer that is, LCT packets including video with a frame rate as a temporal resolution lower than a predetermined value is preferentially selected. It can perform packet filtering to process.
  • packet filtering may be performed to preferentially select and process LCT packets including (a NAL unit of) a video of a predetermined view.
  • the LCT packet includes any video of moving image and still image
  • information indicating that the video is moving image or still image is adopted as the priority parameter.
  • packet filtering can be performed to preferentially select and process LCT packets including moving image or still image video.
  • the LCT packet contains video of any layer of the base layer that does not refer to other layers and one or more non-base layers that may refer to other layers.
  • the information representing the layer of can be adopted as a priority parameter.
  • packet filtering may be performed to preferentially select and process LCT packets including base layer video.
  • the LCT packet contains video of any of the multiple views
  • information representative of the video view may be employed as the priority parameter.
  • a video of a view desired by the user e.g., a video of a plurality of views taken from a plurality of positions such as a first base, a third base, and a back net side in baseball broadcasting
  • the LCT packet when the LCT packet includes video of any one of a plurality of resolutions, information representing the resolution can be adopted as the priority parameter.
  • packet filtering may be performed to preferentially select and process an LCT packet including video of a predetermined resolution (below).
  • information representing resolution as a priority parameter information of either or both of a temporal resolution and a spatial resolution can be adopted.
  • Packet filtering can be performed based on one or more types of priority parameters in addition to one type of priority parameter.
  • the video of the predetermined view and including the video of the predetermined resolution LCT packets can be preferentially selected and processed.
  • FIG. 24 is a flowchart for explaining an example of processing of delivery of an LCT packet having a priority parameter.
  • step S201 the FLUTE streamer 24 (FIG. 2) of the delivery server 11 stores the data (a small piece of the portion supplied from the segmenter 22) stored in the encoding symbol (FIG. 17) of the LCT packet.
  • the priority parameter is set based on the operation or the like 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 small piece of portion supplied from the segmenter 22 is arranged in the encoding symbol.
  • LCT header FOG. 18
  • LCT packet FOG. 17
  • step S204 the multicast server 25 distributes by multicast the LCT packet from the FLUTE streamer 24, and the process returns to step S201, and the same process is repeated thereafter.
  • FIG. 25 is a flowchart illustrating an example of packet filtering processing performed by the client 12 (other devices such as a router that receives an LCT packet to be multicast-distributed).
  • step S211 the receiving unit 30 (FIG. 3) of the client 12 sets a threshold for processing the LCT packet based on the network environment, the resource of the apparatus (client 12), the user's operation, the user's preference, etc. Degree (hereinafter, also referred to as threshold priority) is set, and the process proceeds to step S212.
  • a threshold for processing the LCT packet based on the network environment, the resource of the apparatus (client 12), the user's operation, the user's preference, etc.
  • Degree hereinafter, also referred to as threshold priority
  • step S212 the reception unit 30 waits for the LCT packet to be multicast-distributed, and receives the LCT packet, and the process proceeds to step S213.
  • step S213 the receiving 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. And the process proceeds to step S214.
  • step S214 the receiving unit 30 selects and discards the LCT packet according to the determination result of the availability determination in step S213, and cancels the process for an LCT packet having a priority parameter whose priority is lower than the threshold priority, Processing is continued for LCT packets having a priority parameter with priority equal to or higher than the threshold priority. Then, the process returns from step S214 to step S211, and the same process is repeated thereafter.
  • 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.
  • Such removable recording medium 311 can be provided as so-called package software.
  • examples of the removable recording medium 311 include a flexible disc, a compact disc read only memory (CD-ROM), a magneto optical disc (MO), a digital versatile disc (DVD), a magnetic disc, a semiconductor memory, and the like.
  • the program may be installed on the computer from the removable recording medium 311 as described above, or may be downloaded to the computer via a communication network or a broadcast network and installed on the built-in hard disk 305. That is, for example, the program is wirelessly transferred from the download site to the computer via an artificial satellite for digital satellite broadcasting, or transferred to the 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 incorporates a CPU (Central Processing Unit) 302, and an input / output interface 310 is connected to the CPU 302 via a bus 301.
  • a CPU Central Processing Unit
  • 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 into a random access memory (RAM) 304 and executes the program.
  • RAM random access memory
  • the CPU 302 performs the processing according to the above-described flowchart or the processing performed by the configuration of the above-described block diagram. Then, the CPU 302 causes the processing result to be output from the output unit 306, transmitted from the communication unit 308, or recorded in the hard disk 305, for example, via the input / output interface 310, as necessary.
  • the input unit 307 is configured of a keyboard, a mouse, a microphone, and the like.
  • the output unit 306 is configured of 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 chronologically 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 separately (for example, parallel processing or processing by an object).
  • the program may be processed by one computer (processor) or may be distributed and processed by a plurality of computers. Furthermore, the program may be transferred to a remote computer for execution.
  • the system means a set of a plurality of components (apparatus, modules (parts), etc.), and it does not matter whether all the components are in the same housing or not. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems. .
  • the present technology can have a cloud computing configuration in which one function is shared and processed by a plurality of devices via a network.
  • each step described in the above-described flowchart can be executed by one device or in a shared manner by a plurality of devices.
  • the plurality of processes included in one step can be executed by being shared by a plurality of devices in addition to being executed by one device.
  • fragments (parts of data) of any data format can be adopted as fragments for which portions are to be generated, in addition to fragments of fragmented MP 4 (ISO / IEC 14496-14).
  • fragments for which portions are to be generated for example, ISO base media file format (ISO / IEC 14496-12), a format specified in ISO / IEC 14496-15, QuickTime format, and other so-called boxes
  • ISO base media file format ISO / IEC 14496-12
  • a format specified in ISO / IEC 14496-15 QuickTime format
  • other so-called boxes A fragment of a data format having a structure, or a fragment obtained by fragmenting data of a data format having no box structure (for example, TS (Transport Stream) etc.) can be employed.
  • a fragment for which a portion is to be generated for example, a MPEG TS (Transport Stream), a webM, or any other moving image format fragment can be adopted.
  • MPEG TS Transport Stream
  • webM webM
  • the present technology can be applied to delivery of arbitrary data other than content.
  • the present technology can be configured as follows.
  • a transmitter comprising: a distribution unit configured to distribute an LCT packet having a Layered Coding Transport (LCT) header including a priority parameter for indicating the priority of processing of the packet.
  • LCT Layered Coding Transport
  • the extension header includes, in addition to the priority parameter, a scheme identifier that defines the priority parameter.
  • the priority parameter includes information indicating that the video is a moving image or a still image.
  • ⁇ 5> In the case where the LCT packet contains video data of any of the base layer and one or more non-base layers, The transmission apparatus according to any one of ⁇ 1> to ⁇ 4>, wherein the priority parameter includes information representing a layer of the video.
  • the priority parameter includes information representing a view of the video.
  • the priority parameter includes information representing a resolution of the video.
  • the priority parameter includes information indicating a spatial resolution or temporal resolution of the video as the information indicating the resolution of the video.
  • the priority parameter includes an index indicating the priority of processing of the LCT packet of each value TOI, which is set for each of the LCT packets having the same TOI (Transport Object Identifier) ⁇ 1> to ⁇ 8>
  • the transmitter according to any one of the above.
  • the LCT packet includes data of Multiview Video Coding (MVC)
  • MVC Multiview Video Coding
  • the transmission apparatus according to any one of ⁇ 1> to ⁇ 10>, wherein the priority parameter includes information for performing filtering to select data of the MVC.
  • the information for performing the filtering may be PRID (priority_id), TID (tempral_id), and PRID defined as a header of a Network Abstraction Layer (NAL) unit of MVC stored in a Real-time Transport Protocol (RTP) packet.
  • PRID priority_id
  • TID Temporal_id
  • RTP Real-time Transport Protocol
  • the transmitter according to ⁇ 11>, including one or more of VID (view_id).
  • a transmission method including the step of delivering an LCT packet having a Layered Coding Transport (LCT) header including a priority parameter for indicating the priority of processing of the packet.
  • a receiving apparatus comprising: a receiving unit that receives an LCT packet having a Layered Coding Transport (LCT) header including a priority parameter for indicating a priority of processing of the packet.
  • the priority parameter is included in an extension header of the LCT header.
  • the receiving device includes, in addition to the priority parameter, a scheme identifier that defines the priority parameter.
  • the priority parameter includes information indicating that the video is a moving image or a still image.
  • the priority parameter includes information representing a layer of the video.
  • the priority parameter includes information representing a view of the video.
  • the receiving device according to any one of ⁇ 15> to ⁇ 20>, wherein the priority parameter includes information representing a resolution of the video.
  • the priority parameter includes information indicating a spatial resolution or temporal resolution of the video as the information indicating the resolution of the video.
  • the priority parameter includes an index indicating the priority of processing of the LCT packet of each value TOI, which is set for each of the LCT packets having the same TOI (Transport Object Identifier) ⁇ 15> to ⁇ 22>
  • the receiver according to any one.
  • the priority parameter includes information for performing filtering to select data of the MVC.
  • the information for performing the filtering may be PRID (priority_id), TID (tempral_id), and PRID defined as a header of a Network Abstraction Layer (NAL) unit of MVC stored in a Real-time Transport Protocol (RTP) packet.
  • PRID Priority_id
  • TID Temporal_id
  • PRID defined as a header of a Network Abstraction Layer (NAL) unit of MVC stored in a Real-time Transport Protocol (RTP) packet.
  • the receiving device according to ⁇ 25>, including one or more of VID (view_id).
  • the receiving apparatus according to any one of ⁇ 15> to ⁇ 26>, wherein the priority parameter includes information indicating the number of subsequent LCT packets affected by the LCT packet including the priority parameter.
  • a receiving method comprising: receiving an LCT packet having a Layered Coding Transport (LCT) header including a priority parameter for indicating a priority of processing of the packet.
  • LCT Layered Coding Transport

Abstract

This technique relates to a transmission apparatus, a transmission method, a reception apparatus and a reception method for enabling data to be quickly delivered. A Layerd Coding Transport (LCT) packet, which has an LCT header including a priority level parameter used for indicating a priority level for packet processing, is delivered. A receiver having received the LCT packet can determine, on the basis of the priority level parameter included in the LCT header of the LCT packet, whether to process the LCT packet. This technique is applicable, for example, to a case of multicast delivery of contents or the like.

Description

送信装置、送信方法、受信装置、及び、受信方法Transmission apparatus, transmission method, reception apparatus, and reception method
 本技術は、送信装置、送信方法、受信装置、及び、受信方法に関し、特に、例えば、データを迅速に配信すること等ができるようにする送信装置、送信方法、受信装置、及び、受信方法に関する。 The present technology relates to a transmitting device, a transmitting method, a receiving device, and a receiving method, and more particularly to, for example, a transmitting device, a transmitting method, a receiving device, and a receiving method that enables data to be rapidly distributed. .
 近年、インターネット上のストリーミングサービスの主流が、OTT-V(Over The Top Video)となっている。例えば、MPEG-DASH(Moving Picture Experts Group-Dynamic Adaptive Streaming over HTTP(Hypertext Transfer Protocol))(以下、DASHともいう)が、OTT-Vの基盤技術として普及し始めている。 In recent years, the mainstream of streaming services on the Internet has become OTT-V (Over The Top Video). For example, MPEG-DASH (Moving Picture Experts Group-Dynamic Adaptive Streaming over HTTP (Hypertext Transfer Protocol)) (hereinafter, also referred to as DASH) is beginning to spread as a basic technology of OTT-V.
 DASHでは、例えば、ストリームを配信するサーバから、同一ソースからの特性の異なるストリームを最適に選択するための属性情報を含むメタデータとしてのMPD(Media Presentation Description)を、ストリームを受信するクライアントに通知し、クライアントにおいて、そのMPDを用いることで、ネットワーク環境適応型のストリーミングが実現される(例えば、非特許文献1を参照)。 In DASH, for example, a server that delivers a stream notifies an MPD (Media Presentation Description) as metadata including attribute information for optimally selecting a stream having different characteristics from the same source to a client that receives the stream. The client can realize network environment adaptive streaming by using the MPD (see, for example, Non-Patent Document 1).
 すなわち、DASHでは、サーバが、同一内容のコンテンツとして、配信パスの通信環境や、クライアントの能力、状態等に応じて画質や画サイズ等が異なる複数のストリームを用意する。 That is, in DASH, the server prepares, as content of the same content, a plurality of streams having different image quality, image size, and the like according to the communication environment of the distribution path, the capability, the state, and the like of the client.
 一方、クライアントは、サーバが用意している複数のストリームのうちの、クライアントが受信可能であり、かつ、クライアントの能力(デコード能力等)に適したストリームを適応的に選択し、そのストリームを受信して再生する。 On the other hand, the client adaptively selects a stream that can be received by the client and that is suitable for the client's capability (such as decoding capability) among a plurality of streams prepared by the server, and receives that stream To play.
 DASHでは、クライアントが、ストリームを適応的に選択して受信することができるように、MPDと呼ばれる、コンテンツの再生制御に用いられるメタデータが、サーバからクライアントに配信される。 In DASH, metadata used for content reproduction control, called MPD, is distributed from the server to the client so that the client can adaptively select and receive a stream.
 MPDには、コンテンツを分割したセグメント(Audio/Video/Subtitle等のメディアデータ)のアドレスとしてのURL(Uniform Resource Locator)等が記述される。クライアントは、MPDに記述されたURL等に基づいて、コンテンツの配信元となる(web)サーバにhttpリクエストを送信し、このhttpリクエストに応じてサーバがユニキャスト配信するセグメントを受信して再生する。 In the MPD, a URL (Uniform Resource Locator) or the like as an address of a segment (media data such as Audio / Video / Subtitle) obtained by dividing the content is described. The client transmits an http request to the (web) server as a content distribution source based on the URL or the like described in the MPD, and receives and reproduces a segment to which the server performs unicast distribution in response to the http request. .
 DASHによるコンテンツの配信は、ポイントトゥーポイントのhttpストリーミングにより実現されるため、例えば、スポーツ中継等の、極めて多数のユーザが同時に視聴する可能性があるコンテンツ(番組)のストリーミング等に適用する場合には、Akamai等のCDN(Contents Delivery Network)の利用(サポート)が必要となる。 Since distribution of content by DASH is realized by point-to-point http streaming, it is applied, for example, to streaming of content (program) that may be viewed by a large number of users simultaneously, such as sports broadcasting. Requires the use (support) of CDN (Contents Delivery Network) such as Akamai.
 但し、CDNを利用しても、CDNのコスト的な制約から、既存の放送配信に匹敵する程のスケーラビリティを求めることは難しい。 However, even with the use of the CDN, it is difficult to obtain the scalability comparable to the existing broadcast distribution due to the cost limitation of the CDN.
 DASHはhttpを利用するストリーミングプロトコルをベースとしているが、多数のユーザが同時に視聴するコンテンツ等については、例えば、RTP(Real-time Transport Protocol)やFLUTE(File Delivery over Unidirectional Transport)等のマルチキャストやブロードキャスト(MC/BC)ベアラを併用することにより、一斉同報配信を行い、ネットワークリソースの負荷を軽減することが望ましい。 DASH is based on a streaming protocol that uses http, but for content etc. that a large number of users view simultaneously, for example, multicast and broadcast such as RTP (Real-time Transport Protocol) and FLUTE (File Delivery over Unidirectional Transport) It is desirable to perform simultaneous broadcast delivery and reduce the load on network resources by using (MC / BC) bearers together.
 ところで、現行のDASHでは、コンテンツのストリームを分割したセグメント(のファイル)を、DASHでのファイル配信単位(制御対象)として、そのセグメント単位で、ファイルが配信される。 By the way, in the current DASH, files are distributed in segment units, with (segments of files) divided from the stream of content as file distribution units (control targets) in DASH.
 したがって、現行のDASHでは、コンテンツをマルチキャスト配信(ブロードキャスト配信を含む)する場合に、セグメントが生成されるまで、コンテンツの配信を待つ必要がある。 Therefore, in the current DASH, in the case of multicast delivery of content (including broadcast delivery), it is necessary to wait for delivery of content until a segment is generated.
 今後は、より高画質の動画配信が一般になることが予想され、その場合、コンテンツのストリームのビットレートが大になる。 From now on, it is expected that video delivery with higher image quality will be commonplace, in which case the bit rate of the content stream will be high.
 コンテンツのストリームのビットレートが大である場合に、セグメントの生成が完了するのを待って、セグメントの単位で、コンテンツの配信、すなわち、バルク転送を行うのでは、ネットワークの帯域が圧迫され、シェーピングが必要になることがある。 If the bit rate of the content stream is high, distribution of content, ie, bulk transfer, is performed in segment units, waiting for segment generation to be completed, and network bandwidth is compressed and shaping is performed May be required.
 したがって、セグメントの生成が完了するのを待って、セグメントの単位で、コンテンツを配信するのでは、最終的には、クライアントでのコンテンツの受信、及び、バッファリングの開始に遅延が生じるため、コンテンツを迅速に配信する技術の提案が要請されている。 Therefore, waiting for completion of segment generation and delivering content on a segment basis will eventually delay the reception of content at the client and the start of buffering. It is requested to propose a technology to deliver
 本技術は、このような状況に鑑みてなされたものであり、コンテンツ等のデータを迅速に配信することができるようにするものである。 The present technology has been made in view of such a situation, and makes it possible to rapidly distribute data such as content.
 本技術の送信装置は、パケットの処理の優先度を表すための優先度パラメータを含むLCT(Layerd Coding Transport)ヘッダを有するLCTパケットを配信する配信部を備える送信装置である。 A transmitting device according to an embodiment of the present technology is a transmitting device that includes a distribution unit that distributes an LCT packet having an LCT (Layered Coding Transport) header including a priority parameter for indicating the priority of processing of the packet.
 本技術の送信方法は、パケットの処理の優先度を表すための優先度パラメータを含むLCT(Layerd Coding Transport)ヘッダを有するLCTパケットを配信するステップを含む送信方法である。 The transmission method of the present technology is a transmission method including the step of delivering an LCT packet having a Layered Coding Transport (LCT) header including a priority parameter for indicating the priority of processing of the packet.
 以上のような本技術の送信装置、及び、送信方法においては、パケットの処理の優先度を表すための優先度パラメータを含むLCT(Layerd Coding Transport)ヘッダを有するLCTパケットが配信される。 In the transmission device and transmission method of the present technology as described above, an LCT packet having an LCT (Layered Coding Transport) header including a priority parameter for indicating the priority of processing of the packet is distributed.
 本技術の受信装置は、パケットの処理の優先度を表すための優先度パラメータを含むLCT(Layerd Coding Transport)ヘッダを有するLCTパケットを受信する受信部を備える受信装置である。 A receiver according to an embodiment of the present technology is a receiver including a receiver configured to receive an LCT packet having an LCT (Layered Coding Transport) header including a priority parameter for indicating a priority of processing of a packet.
 本技術の受信方法は、パケットの処理の優先度を表すための優先度パラメータを含むLCT(Layerd Coding Transport)ヘッダを有するLCTパケットを受信するステップを含む受信方法である。 A receiving method according to the present technology is a receiving method including a step of receiving an LCT packet having a Layered Coding Transport (LCT) header including a priority parameter for indicating the priority of processing of the packet.
 以上のような本技術の受信装置、及び、受信方法においては、パケットの処理の優先度を表すための優先度パラメータを含むLCT(Layerd Coding Transport)ヘッダを有するLCTパケットが受信される。 In the receiving device and the receiving method of the present technology as described above, an LCT packet having a Layered Coding Transport (LCT) header including a priority parameter for indicating the priority of processing of the packet is received.
 なお、送信装置、及び、受信装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。 Note that the transmitting device and the receiving device may be independent devices or may be internal blocks constituting one device.
 本技術によれば、データを迅速に配信すること等ができる。 According to the present technology, data can be rapidly distributed.
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。 In addition, the effect described here is not necessarily limited, and may be any effect described in the present disclosure.
本技術を適用したコンテンツ提供システムの一実施の形態の構成例を示すブロック図である。BRIEF DESCRIPTION OF DRAWINGS FIG. 1 is a block diagram showing a configuration example of an embodiment of a content providing system to which the present technology is applied. 配信サーバ11の構成例を示すブロック図である。FIG. 2 is a block diagram showing a configuration example of a distribution server 11. クライアント12の構成例を示すブロック図である。FIG. 2 is a block diagram showing an example of the configuration of a client 12; コンテンツ提供システムによるコンテンツの提供の処理の例を説明する図である。It is a figure explaining an example of processing of offer of contents by a contents offer system. コンテンツ提供システムにおいて、ネットワーク10を介して配信されるデータの例を示す図である。FIG. 2 is a diagram showing an example of data distributed via the network 10 in the content providing system. MPD,SDP,USD、及び、OMA-ESGを説明する図である。It is a figure explaining MPD, SDP, USD, and OMA-ESG. DASHのファイル配信単位であるセグメントの構成を説明する図である。It is a figure explaining the composition of the segment which is a file delivery unit of DASH. 1個のフラグメントを有するセグメントと、複数のフラグメントを有するセグメントとの構成例を示す図である。It is a figure which shows the structural example of the segment which has one fragment, and the segment which has several fragments. DASHでの、セグメントをファイル配信単位とするコンテンツの配信の例を示す図である。It is a figure which shows the example of delivery of the content which makes a segment a file delivery unit in DASH. 配信サーバ11での、ポーションをファイル配信単位とするコンテンツの配信の概要を説明する図である。It is a figure explaining the outline of distribution of the content which makes a potion a file distribution unit in the distribution server 11. FIG. セグメントとポーションとの関係の例を示す図である。It is a figure which shows the example of the relationship between a segment and a portion. ポーション60としてのhttpレスポンスの例を示す図である。It is a figure which shows the example of the http response as the portion 60. FIG. ポーション70としてのhttpレスポンスの例を示す図である。It is a figure which shows the example of the http response as the portion 70. FIG. ポーション単位でのコンテンツの配信の処理の例を説明するフローチャートである。It is a flowchart explaining the example of processing of delivery of the content in a portion unit. ポーション単位でのコンテンツの受信の処理の例を説明するフローチャートである。It is a flowchart explaining the example of processing of reception of the content in a portion unit. LCTパケットによるポーション(及びセグメント)のマルチキャスト配信を説明する図である。It is a figure explaining the multicast delivery of the portion (and segment) by LCT packet. LCTパケットのフォーマットを示す図である。It is a figure which shows the format of a LCT packet. LCTヘッダのフォーマットを示す図である。It is a figure which shows the format of a LCT header. ポーション単位でのコンテンツの配信の例を示す図である。It is a figure which shows the example of delivery of the content in a portion unit. LCTヘッダの拡張ヘッダ(Header Extentions)のフォーマットを示す図である。It is a figure which shows the format of the extension header (Header Extentions) of a LCT header. 優先度パラメータを格納する新たな拡張ヘッダの定義の例を示す図である。It is a figure which shows the example of the definition of the new extension header which stores a priority parameter. 優先度パラメータ(Filtering Parameter)の定義の例を示す図である。It is a figure which shows the example of the definition of a priority parameter (Filtering Parameter). MVC Filterの定義の例を示す図である。It is a figure which shows the example of the definition of MVC Filter. 優先度パラメータを有するLCTパケットの配信の処理の例を説明するフローチャートである。It is a flow chart explaining an example of processing of delivery of a LCT packet which has a priority parameter. クライアント12が行うパケットフィルタリングの処理の例を説明するフローチャートである。It is a flow chart explaining an example of processing of packet filtering which client 12 performs. 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。Fig. 21 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present technology is applied.
 <本技術を適用したコンテンツ提供システムの一実施の形態> <One embodiment of content providing system to which the present technology is applied>
 図1は、本技術を適用したコンテンツ提供システムの一実施の形態の構成例を示すブロック図である。 FIG. 1 is a block diagram showing a configuration example of an embodiment of a content providing system to which the present technology is applied.
 図1において、コンテンツ提供システムは、1以上の配信サーバ11、1以上のクライアント12、及び、NTP(Network Time Protocol)サーバ13が、ネットワーク10に接続されて構成される。 In FIG. 1, the content providing system is configured by connecting one or more distribution servers 11, one or more clients 12, and an NTP (Network Time Protocol) server 13 to the network 10.
 図1のコンテンツ提供システムでは、DASHを利用して、配信サーバ11から、ネットワーク10を介して、クライアント12に対して、コンテンツが提供される。 In the content providing system of FIG. 1, content is provided from the distribution server 11 to the client 12 via the network 10 using the DASH.
 ここで、現行のDASHでは、ストリーミングそのものがOTT/CDN(Over The Top/Contents Delivery Network)上のユニキャストにより行われることが前提となっているが、図1のコンテンツ提供システムでは、コンテンツを、ユニキャスト配信する他、例えば、携帯網上の品質の保証された一斉同報可能なマルチキャストネットワーク(eMBMS等)上でマルチキャスト配信することができるようになっている。 Here, in the current DASH, it is assumed that streaming itself is performed by unicast on the OTT / CDN (Over The Top / Contents Delivery Network), but in the content providing system of FIG. Besides unicast distribution, for example, multicast distribution can be performed on a guaranteed multicast network (eMBMS etc.) with guaranteed quality on the mobile network.
 ネットワーク10は、ユニキャストやマルチキャストが可能な、インターネット等の双方向ネットワークと、ブロードキャストやマルチキャストが可能な放送系ネットワークとを包含する。ネットワーク10としては、例えば、3GPP(3rd Generation Partnership Project)のMBMS(Multimedia Broadcast Multicast Service)(eMBMS(Evolved MBMS)を含む)等を採用することができる。 The network 10 includes a bidirectional network such as the Internet which is capable of unicasting and multicasting, and a broadcast network which is capable of broadcasting and multicasting. As the network 10, for example, MBMS (Multimedia Broadcast Multicast Service) (including eMBMS (Evolved MBMS)) or the like of 3rd Generation Partnership Project (3GPP) can be adopted.
 配信サーバ11は、例えば、放送局に対応し、その放送局のチャンネル(サービス)の番組として、同一内容のコンテンツのストリームであって、ビットレートや画サイズ等が異なる複数のストリームを、ネットワーク10を介して配信する。 The distribution server 11 corresponds to, for example, a broadcast station, and is a stream of content having the same contents as a program of a channel (service) of the broadcast station, and a plurality of streams having different bit rates, image sizes, etc. Deliver through.
 クライアント12は、配信サーバ11が配信するコンテンツ(のストリーム)を、ネットワーク10を介して受信して再生する。 The client 12 receives (plays) (the stream of) the content distributed by the distribution server 11 via the network 10 and reproduces it.
 NTPサーバ13は、UTC(Coordinated Universal Time)タイムフォーマットに従った時刻情報であるNTP時刻を、ネットワーク10を介して提供する。 The NTP server 13 provides an NTP time, which is time information according to Coordinated Universal Time (UTC) time format, via the network 10.
 配信サーバ11、及び、クライアント12は、NTPサーバ13から提供されるNTP時刻に同期して動作することができる。 The distribution server 11 and the client 12 can operate in synchronization with the NTP time provided by the NTP server 13.
 なお、配信サーバ11が配信する番組は、リアルタイムの番組(生放送の番組)であってもよいし、録画番組であってもよい。 The program distributed by the distribution server 11 may be a real-time program (a program of live broadcasting) or a recorded program.
 <配信サーバ11の構成例> <Configuration Example of Distribution Server 11>
 図2は、図1の配信サーバ11の構成例を示すブロック図である。 FIG. 2 is a block diagram showing a configuration example of the distribution server 11 of FIG.
 図2において、配信サーバ11は、チャンネルストリーマ21、セグメンタ22、メタデータジェネレータ23、FLUTE(File Delivery over Unidirectional Transport)ストリーマ24、マルチキャストサーバ25、及び、webサーバ26を有する。 In FIG. 2, the delivery server 11 includes a channel streamer 21, a segmenter 22, a metadata generator 23, a file delivery over unidirectional transport (FLUTE) streamer 24, a multicast server 25, and a web server 26.
 ここで、チャンネルストリーマ21ないしwebサーバ26は、ネットワーク10上の一カ所に配置することもできるし、ネットワーク10上に分散して配置することもできる。チャンネルストリーマ21ないしwebサーバ26を、ネットワーク10上に分散して配置する場合、相互間での通信は、ネットワーク10の他、専用線その他の任意の通信回線を介して行うことができる。 Here, the channel streamer 21 to the web server 26 can be disposed at one place on the network 10 or can be disposed on the network 10 in a distributed manner. When the channel streamers 21 to the web servers 26 are distributed and arranged on the network 10, communication between each other can be performed via a dedicated line other than the network 10 or any other communication line.
 チャンネルストリーマ21は、配信サーバ11のチャンネルの番組として配信するためのコンテンツのソースデータとしてのビデオや、オーディオ、字幕等を管理しており、コンテンツのソースデータとしてのビデオ等からビットレートが異なる複数のストリーミングデータを生成して、セグメンタ22に供給する。 The channel streamer 21 manages video, audio, subtitles, and the like as source data of content to be distributed as a program of a channel of the distribution server 11, and a plurality of different bit rates from video, etc. as source data of the content. The streaming data of is generated and supplied to the segmenter 22.
 セグメンタ22は、チャンネルストリーマ21からの各ストリーミングデータを、時間方向に分割したセグメントのファイルを生成し、FLUTEストリーマ24、及び、webサーバ26に供給する。 The segmenter 22 generates a file of segments 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.
 すなわち、セグメンタ22は、ストリーミングデータを分割して、例えば、fragmentedMP4のフラグメント(moofとmdat)を生成し、そのフラグメントの1以上を集めてセグメントのファイルを生成する。 That is, the segmenter 22 divides streaming data to generate, for example, fragments of fragmented MP 4 (moof and mdat), collects one or more of the fragments, and generates a file of a segment.
 また、セグメンタ22は、セグメントのURL(セグメントを提供するサーバ(例えば、配信サーバ11)のURL)や、セグメントのレンジ(range)(セグメントに含まれるビデオ等のコンテンツ中の範囲を表す情報)等の、MPDの生成に必要なセグメントに関係する関係情報を、メタデータジェネレータ23に供給する。 In addition, the segmenter 22 includes the URL of the segment (the URL of the server providing the segment (for example, the distribution server 11)), the range of the segment (information representing the range in content such as video included in the segment), etc. The metadata generator 23 is supplied with the related information related to the segments necessary for the generation of the MPD.
 ここで、セグメンタ22は、フラグメントを集めたセグメントではなく、フラグメントの生成中に、フラグメントの一部で構成される後述するポーションを生成し、セグメントに代えて、ポーションを、FLUTEストリーマ24に供給することができる。 Here, the segmenter 22 is not a segment that collects the fragments, but during the generation of the fragments, generates segments, which will be described later, which are configured as part of the fragments, and supplies the portions to the FLUTE streamer 24 instead of the segments. be able to.
 メタデータジェネレータ23は、セグメンタ22から供給されるセグメントの関係情報等を用いて、クライアント12でのセグメントの受信等に必要なコンテンツのメタデータとして、例えば、MBMSのUSD(User Service Description)、DASHのMPD、及び、IETF(Internet Engineering Task Force)のSDP(Session Description Protocol)(ファイル)の組み合わせ、又は、それらのUSD,MPD、及び、SDPに、OMA-ESG(Open Mobile Alliance-Electronic Service Guide)を加えた組み合わせを生成する。 The metadata generator 23 uses, for example, the MBMS (User Service Description) of MBMS, as metadata of content necessary for reception of a segment by the client 12 using segment relation information etc. supplied from the segmenter 22. MPD and a combination of Session Description Protocol (SDP) (file) of the Internet Engineering Task Force (IETF) or their USD, MPD, and SDP in OMA-ESG (Open Mobile Alliance-Electronic Service Guide) To generate a combination.
 すなわち、メタデータジェネレータ23は、セグメンタ22から供給されるセグメントの関係情報を用いて、クライアント12がセグメントを受信して再生制御を行うために必要な、セグメントのURL等が記述されたMPDを生成する。 That is, the metadata generator 23 uses the relationship information of the segments supplied from the segmenter 22 to generate an MPD in which the URL of the segment, etc. necessary for the client 12 to receive the segment and control the reproduction is described. Do.
 さらに、メタデータジェネレータ23は、コンテンツがマルチキャスト配信(ブロードキャスト配信を含む)されることをアナウンスするアナウンス情報として、USD、及び、SDP、又は、USD,SDP、及び、OMA-ESGを生成する。 Furthermore, the metadata generator 23 generates USD and SDP, or USD, SDP, and OMA-ESG as announcement information that announces that content is to be multicast-distributed (including broadcast distribution).
 メタデータジェネレータ23は、メタデータを、FLUTEストリーマ24、及び、webサーバ26に供給する。 The metadata generator 23 supplies metadata to the FLUTE streamer 24 and the web server 26.
 FLUTEストリーマ24は、セグメンタ22から供給されるコンテンツ(のセグメント又はポーション)を、FLUTEパケット、すなわち、LCT(Layerd Coding Transport)パケット(本実施の形態では、LCTヘッダを有するパケットを意味し、ALC(Asynchronous Layered Coding)パケットを含む)に格納し、マルチキャストサーバ25に供給する。 The FLUTE streamer 24 means (a segment or a portion of) the content supplied from the segmenter 22 as a FLUTE packet, that is, an LCT (Layered Coding Transport) packet (in the present embodiment, a packet having an LCT header; (Asynchronous Layered Coding) packet is stored and supplied to the multicast server 25.
 また、FLUTEストリーマ24は、メタデータジェネレータ23から供給されるメタデータを、LCTパケットに格納し、マルチキャストサーバ25に供給する。 In addition, the FLUTE streamer 24 stores the metadata supplied from the metadata generator 23 in an LCT packet, and supplies the LCT packet to the multicast server 25.
 マルチキャストサーバ25は、FLUTEストリーマ24からのLCTパケットを、ネットワーク10を介して(FLUTE)マルチキャスト配信する。 The multicast server 25 multicasts the LCT packet from the FLUTE streamer 24 via the network 10 (FLUTE).
 ここで、FLUTEストリーマ24からのLCTパケットには、上述したように、コンテンツ(のセグメント又はポーション)や、メタデータが格納されているので、マルチキャストサーバ25では、コンテンツや、メタデータが、マルチキャスト配信されることになる。 Here, as described above, (the segment or portion of the content) and the metadata are stored in the LCT packet from the FLUTE streamer 24, the multicast server 25 distributes the content and the metadata in the multicast distribution. It will be done.
 webサーバ26は、クライアント12からの要求(httpリクエスト)に応じて、メタデータジェネレータ23からのメタデータや、セグメンタ22からのコンテンツ(のセグメント)を、ネットワーク10を介して、クライアント12に、(http)ユニキャスト配信する。 The web server 26 responds to a request (http request) from the client 12 to send the metadata from the metadata generator 23 and (the segment of the content from the segmenter 22 to the client 12 via the network 10 ( http) Unicast delivery.
 ここで、以上のように、マルチキャストサーバ25、及び、webサーバ26は、コンテンツやメタデータを配信する配信部として機能する。 Here, as described above, the multicast server 25 and the web server 26 function as a distribution unit that distributes content and metadata.
 なお、図2では、webサーバ26において、コンテンツのセグメントをユニキャスト配信することとしたが、webサーバ26では、マルチキャストサーバ25と同様に、コンテンツのセグメントではなく、ポーションを、ユニキャスト配信することができる。 In FIG. 2, the web server 26 unicasts the segment of the content, but the web server 26 unicasts the portion, not the segment of the content, like the multicast server 25. Can.
 <クライアント12の構成例> <Configuration Example of Client 12>
 図3は、図1のクライアント12の構成例を示すブロック図である。 FIG. 3 is a block diagram showing a configuration example of the client 12 of FIG.
 図3において、クライアント12は、受信部30、及び、再生部33を有する。 In FIG. 3, the client 12 has a receiving unit 30 and a reproduction unit 33.
 受信部30は、例えば、ユーザによるクライアント12の操作等に応じて、配信サーバ11から配信されるコンテンツやメタデータを受信する受信部として機能する。 The receiving unit 30 functions as a receiving unit that receives content and metadata distributed from the distribution server 11 according to, for example, an operation of the client 12 by the user.
 すなわち、受信部30は、配信サーバ11から配信されるメタデータを受信する。さらに、受信部30は、例えば、ユーザによるクライアント12の操作等に応じて、配信サーバ11から受信したメタデータに基づき、配信サーバ11から配信されるコンテンツ(のセグメントやポーション)を受信する。 That is, the receiving unit 30 receives the metadata distributed from the distribution server 11. Furthermore, the receiving unit 30 receives (segments or portions of) the content distributed from the distribution server 11 based on the metadata received from the distribution server 11 according to, for example, the user's operation of the client 12 or the like.
 そして、受信部30は、配信サーバ11から受信したコンテンツを、再生部33に供給し、配信サーバ11から受信したメタデータに基づき、再生部33でのコンテンツの再生を制御する。 Then, the reception 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.
 再生部33は、受信部30の制御に従い、受信部30から供給されるコンテンツとしてのビデオや、オーディオ、字幕等を再生する。 The reproduction unit 33 reproduces video, audio, subtitles, and the like as the content supplied from the reception unit 30 according to the control of the reception unit 30.
 ここで、受信部30は、ミドルウェア31とDASHクライアント32を有する。 Here, the receiving unit 30 includes the middleware 31 and the DASH client 32.
 DASHクライアント32は、必要に応じて、MPDを要求するhttpリクエストや、コンテンツのセグメントを要求するhttpリクエストを、ミドルウェア31に出力する。 The DASH client 32 outputs, to the middleware 31, an http request for requesting an MPD and an http request for requesting a segment of content, as necessary.
 ミドルウェア31は、配信サーバ11からマルチキャスト配信されてくるコンテンツ(のセグメントやポーション)や、メタデータを必要に応じて受信しており、DASHクライアント32がhttpリクエストを出力すると、そのhttpリクエストにより要求されているMPDやセグメントが、マルチキャスト配信されているかどうかを、メタデータに基づいて判定する。 The middleware 31 receives (segments and portions of) contents and segments distributed by multicast from the distribution server 11 as needed, and when the DASH client 32 outputs an http request, it is requested by the http request. Based on the metadata, it is determined whether the MPD or segment in question is multicast-distributed.
 そして、DASHクライアント32が出力するhttpリクエストにより要求されているMPDやセグメントが、マルチキャスト配信されている場合には、ミドルウェア31は、そのマルチキャスト配信されるMPDやセグメント(又はセグメントの一部を含むポーション)を受信し、DASHクライアント32に供給する。 Then, when the MPD or segment requested by the http request output by the DASH client 32 is multicast-distributed, the middleware 31 is a portion including the MPD or segment (or a part of the segment) to be multicast-distributed. ) Is supplied to the DASH client 32.
 なお、ミドルウェア31は、DASHクライアント32が出力するhttpリクエストにより要求されているMPDやセグメントが、既に受信済みである場合には、その受信済みのMPDやセグメントを、DASHクライアント32に供給する。 When the MPD or segment requested by the http request output from the DASH client 32 has already been received, the middleware 31 supplies the received MPD or segment to the DASH client 32.
 一方、DASHクライアント32が出力するhttpリクエストにより要求されているMPDやセグメントが、マルチキャスト配信されていない場合、ミドルウェア31は、DASHクライアント32が出力するhttpリクエストを、そのまま、ネットワーク10(の配信サーバ11)に送信する。そして、ミドルウェア31は、そのhttpリクエストに応じて、(配信サーバ11から)ユニキャスト配信されてくるMPDやセグメントを受信し、DASHクライアント32に供給する。 On the other hand, when the MPD or segment requested by the http request output by the DASH client 32 is not distributed by multicast, the middleware 31 directly transmits the http request output by the DASH client 32 to the Send to). Then, in response to the http request, the middleware 31 receives the MPD or segment unicast-distributed (from the distribution server 11) and supplies the MPD or segment to the DASH client 32.
 したがって、DASHクライアント32は、一般的なDASHクライアントと同様に、必要なMPDやセグメントを要求するhttpリクエストを出力し、そのhttpリクエストに応じて、ミドルウェア31から供給されるMPDやセグメントを受信して処理する。 Therefore, the DASH client 32 outputs an http request for requesting a necessary MPD or segment as in a general DASH client, and receives the MPD or segment supplied from the middleware 31 in response to the http request. To process.
 <コンテンツ提供システムの処理> <Processing of content providing system>
 図4は、図1のコンテンツ提供システムによるコンテンツの提供の処理の例を説明する図である。 FIG. 4 is a diagram for explaining an example of processing of providing content by the content providing system of FIG.
 チャンネルストリーマ21(図2)は、ステップS11において、配信サーバ11のチャンネルの番組として配信するためのコンテンツのソースデータとしてのビデオ等からビットレートが異なる複数のストリーミングデータを生成する。 In step S11, the channel streamer 21 (FIG. 2) generates a plurality of streaming data having different bit rates from video or the like as source data of content to be distributed as a program of the channel of the distribution server 11.
 そして、チャンネルストリーマ21は、ステップS12において、コンテンツの、ビットレートが異なる複数のストリーミングデータを、セグメンタ22に供給する。 Then, in step S12, the channel streamer 21 supplies the segmenter 22 with a plurality of streaming data having different bit rates of the content.
 セグメンタ22(図2)は、ステップS21において、チャンネルストリーマ21から供給されるコンテンツ(の複数のストリーミングデータ)を受信する。 The segmenter 22 (FIG. 2) receives the content (a plurality of streaming data) supplied from the channel streamer 21 in step S21.
 セグメンタ22は、ステップS22において、チャンネルストリーマ21からのコンテンツから、DASHのファイル配信単位であるセグメントを生成し、ステップS23において、そのセグメントを、FLUTEストリーマ24、および、webサーバ26に供給する。 In step S22, the segmenter 22 generates a segment which is a file distribution unit of DASH from the content from the channel streamer 21 and supplies the segment to the FLUTE streamer 24 and the web server 26 in step S23.
 さらに、セグメンタ22は、ステップS24において、セグメントの関係情報を生成し、メタデータジェネレータ23に供給する。 Further, in step S24, the segmenter 22 generates segment relation information and supplies the information to the metadata generator 23.
 メタデータジェネレータ23(図2)は、ステップS31において、セグメンタ22からステップS24で供給されるセグメントの関係情報を受信する。 In step S31, the metadata generator 23 (FIG. 2) receives the relationship information of the segments supplied from the segmenter 22 in step S24.
 そして、メタデータジェネレータ23は、ステップS32において、セグメンタ22からの関係情報等を用いて、コンテンツのメタデータを生成し、FLUTEストリーマ24、及び、webサーバ26に供給する。 Then, in step S32, the metadata generator 23 generates metadata of the content using the relationship information and the like from the segmenter 22 and supplies the metadata to the FLUTE streamer 24 and the web server 26.
 FLUTEストリーマ24(図2)は、ステップS41において、セグメンタ22からステップS23で供給されるコンテンツ(のセグメント)を受信し、ステップS42において、そのコンテンツを含むLCTパケットを生成して、マルチキャストサーバ25に供給する。 The FLUTE streamer 24 (FIG. 2) receives (the segment of) the content 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.
 さらに、FLUTEストリーマ24は、ステップS43において、メタデータジェネレータ23からステップS32で供給されるメタデータを受信し、ステップS44において、そのメタデータを含むLCTパケットを生成して、マルチキャストサーバ25に供給する。 Further, in step S43, the FLUTE streamer 24 receives the metadata supplied from the metadata generator 23 in step S32, generates an LCT packet including the metadata in step S44, and supplies it to the multicast server 25. .
 マルチキャストサーバ25(図2)は、ステップS51において、FLUTEストリーマ24からステップS42で供給される、コンテンツを含むLCTパケットを受信し、ステップS52において、メタデータを含むLCTパケットを受信する。 The multicast server 25 (FIG. 2) receives the LCT packet including the content supplied from the FLUTE streamer 24 in step S42 in step S51, and receives the LCT packet including metadata in step S52.
 そして、マルチキャストサーバ25は、ステップS53において、FLUTEストリーマ24からのメタデータを含むLCTパケットを、マルチキャスト配信し、ステップS54において、FLUTEストリーマ24からのコンテンツを含むLCTパケットを、マルチキャスト配信する。 Then, in step S53, the multicast server 25 multicast-distributes the LCT packet including the metadata from the FLUTE streamer 24, and, in step S54, multicasts the LCT packet including the content from the FLUTE streamer 24.
 webサーバ26(図2)は、ステップS61において、セグメンタ22からステップS23で供給されるコンテンツ(のセグメント)を受信し、ステップS62において、メタデータジェネレータ23からステップS32で供給されるメタデータを受信する。 In step S61, the web server 26 (FIG. 2) receives (the segment of) the content supplied from the segmenter 22 in step S23, and in step S62 receives the metadata supplied from the metadata generator 23 in step S32 Do.
 そして、ステップS63において、webサーバ26は、クライアント12から、メタデータを要求するhttpリクエストが送信されてくると、そのhttpリクエストを受信する。 Then, in step S63, when the http request for requesting metadata is transmitted from the client 12, the web server 26 receives the http request.
 その後、ステップS64において、webサーバ26は、クライアント12からのhttpリクエストによって要求されているメタデータを、クライアント12に、ユニキャスト配信する。 Thereafter, in step S64, the web server 26 unicasts the metadata requested by the http request from the client 12 to the client 12.
 また、ステップS65において、webサーバ26は、クライアント12から、コンテンツ(のセグメント)を要求するhttpリクエストが送信されてくると、そのhttpリクエストを受信する。 In step S65, when an http request for requesting (a segment of) content is transmitted from the client 12, the web server 26 receives the http request.
 その後、ステップS66において、webサーバ26は、クライアント12からのhttpリクエストによって要求されているコンテンツ(のセグメント)を、クライアント12に、ユニキャスト配信する。 Thereafter, in step S66, the web server 26 unicasts (the segment of) the content requested by the http request from the client 12 to the client 12.
 クライアント12(図3)では、受信部30が、ステップS71において、マルチキャストサーバ25がステップS53でマルチキャスト配信するメタデータ(のLCTパケット)を受信する。 In the client 12 (FIG. 3), in step S71, the reception unit 30 receives (the LCT packet of) metadata to which the multicast server 25 performs multicast distribution in step S53.
 又は、クライアント12では、受信部30が、ステップS72において、メタデータを要求するhttpリクエストを送信する。 Alternatively, in the client 12, the receiving unit 30 transmits an http request for requesting metadata in step S72.
 クライアント12がステップS72で送信するhttpリクエストは、上述したように、webサーバ26がステップS63で受信し、ステップS64で、そのhttpリクエストによって要求されているメタデータを、クライアント12に、ユニキャスト配信する。 The http request transmitted by the client 12 in step S72 is received by the web server 26 in step S63 as described above, and in step S64, the metadata requested by the http request is unicasted to the client 12 Do.
 クライアント12の受信部30は、ステップS73において、以上のようにしてユニキャスト配信されてくるメタデータを受信する。 In step S73, the reception unit 30 of the client 12 receives the metadata distributed in the unicast manner as described above.
 そして、クライアント12の受信部30は、ステップS74において、ステップS71又はS73で受信したメタデータに基づき、マルチキャストサーバ25がステップS54でマルチキャスト配信するコンテンツ(のLCTパケット)を受信する。 Then, in step S74, the reception unit 30 of the client 12 receives (the LCT packet of) the content to which the multicast server 25 performs multicast distribution in step S54 based on the metadata received in step S71 or S73.
 又は、クライアント12では、受信部30が、ステップS75において、ステップS71又はS73で受信したメタデータに基づき、コンテンツを要求するhttpリクエストを送信する。 Alternatively, in the client 12, in step S75, the receiving unit 30 transmits an http request for requesting content based on the metadata received in step S71 or S73 in step S75.
 クライアント12がステップS75で送信するhttpリクエストは、上述したように、webサーバ26がステップS65で受信し、ステップS66で、そのhttpリクエストによって要求されているコンテンツを、クライアント12に、ユニキャスト配信する。 As described above, the web server 26 receives the http request transmitted by the client 12 in step S75 in step S65, and in step S66 unicasts the content requested by the http request to the client 12 .
 クライアント12の受信部30は、ステップS76において、以上のようにしてユニキャスト配信されてくるコンテンツを受信する。 In step S76, the reception unit 30 of the client 12 receives the content unicast-distributed as described above.
 そして、クライアント12の再生部33は、ステップS77において、受信部30がステップS74又はS76で受信したコンテンツを、メタデータ(MPD)に基づいて再生する。 Then, in 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 metadata (MPD).
 <ネットワーク10を介して配信されるデータの説明> <Description of Data Distributed via Network 10>
 図5は、図1のコンテンツ提供システムにおいて、ネットワーク10を介して配信されるデータの例を示す図である。 FIG. 5 is a diagram showing an example of data distributed via the network 10 in the content providing system of FIG.
 コンテンツ提供システムでは、MPDや、SDP,USD,OMA-ESG等のメタデータと、コンテンツ(のセグメント又はポーション)とが、クライアント12に配信される。 In the content providing system, metadata such as MPD, SDP, USD, OMA-ESG, and the like (segments or portions of the content) are distributed to the client 12.
 メタデータ、及び、コンテンツは、マルチキャスト配信することもできるし、ユニキャスト配信することもできる。 Metadata and content can be distributed by multicast or unicast.
 メタデータとしては、MPD,SDP、及び、USDの組み合わせや、それらに、OMA-ESGを加えた組み合わせが用いられる。 As metadata, a combination of MPD, SDP, and USD, or a combination of them with OMA-ESG is used.
 図6は、MPD,SDP,USD、及び、OMA-ESGを説明する図である。 FIG. 6 is a diagram for explaining MPD, SDP, USD, and OMA-ESG.
 いま、ある番組を、注目する注目番組とすると、その注目番組のOMA-ESGには、注目番組の詳細情報や、注目番組のUSDへのアクセス方法等が記述される。 Now, assuming that a certain program is a program of interest, the OMA-ESG of the program of interest describes detailed information of the program of interest, a method of accessing the USD of the program of interest, and the like.
 したがって、クライアント12において、注目番組のOMA-ESGを取得すると、そのOMA-ESGに記述されているUSDへのアクセス方法を参照することにより、注目番組のUSDを取得することができる。 Therefore, when 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 method for accessing the USD described in the OMA-ESG.
 注目番組のUSDには、注目番組のSDPのURI(Uniform Resource Identifier)や、注目番組のMPDのURI等が記述される。 The USD of the program of interest describes the URI (Uniform Resource Identifier) of the SDP of the program of interest, the URI of the MPD of the program of interest, and the like.
 したがって、クライアント12において、注目番組のUSDを取得すると、そのUSDに記述されているSDPやMPDのURIを参照することにより、注目番組のSDPやMPDを取得することができる。 Therefore, when the client 12 acquires the USD of the program of interest, the SDP and MPD of the program of interest can be acquired by referring to the URI of SDP and MPD described in the USD.
 注目番組のSDPには、注目番組のコンテンツをマルチキャスト配信するIPアドレスとポート番号等のトランスポート属性等が記述される。 In the SDP of the program of interest, an IP address for multicast distribution of the content of the program of interest and transport attributes such as port numbers are described.
 したがって、注目番組のSDPを取得することにより、そのSDPに記述されているIPアドレスとポート番号に基づき、マルチキャスト配信されてくる注目番組のコンテンツを受信することができる。 Therefore, by acquiring the SDP of the program of interest, it is possible to receive the content of the program of interest being multicast-distributed based on the IP address and port number described in the SDP.
 以上のように、USD、及び、SDPの組み合わせや、USD,SDP、及び、OMA-ESGの組み合わせによれば、クライアント12では、コンテンツがマルチキャスト配信されることを認識し、そのマルチキャスト配信されてくるコンテンツを受信することができる。 As described above, according to the combination of USD and SDP, and the combination of USD, SDP and OMA-ESG, the client 12 recognizes that the content is to be delivered by multicast, and the content is delivered by multicast Content can be received.
 注目番組のMPDには、注目番組のセグメントのURLや、そのセグメントの再生制御に必要な情報等が記述される。 In the MPD of the program of interest, the URL of the segment of the program of interest, information necessary for playback control of the segment, and the like are described.
 したがって、注目番組のMPDを取得することにより、そのMPDに記述されているURLに基づき、注目番組のセグメントをユニキャストで受信することができる。また、注目番組のMPDに基づき、注目番組のセグメントを再生することができる。 Therefore, by acquiring the MPD of the program of interest, the segment of the program of interest can be received in unicast based on the URL described in the MPD. In addition, the segment of the program of interest can be reproduced based on the MPD of the program of interest.
 すなわち、MPDには、セグメントの再生制御に必要な情報が含まれるため、MPDは、セグメントをユニキャストで受信するのに必要である他、セグメントの再生にも必要である。 That is, since the MPD contains information necessary for segment reproduction control, the MPD is necessary not only to receive the segment in unicast but also to reproduce the segment.
 <セグメントの構成> <Composition of segment>
 図7は、DASHのファイル配信単位であるセグメントの構成を説明する図である。 FIG. 7 is a diagram for explaining the configuration of a segment which is a file delivery unit of DASH.
 ここで、DASHで配信するコンテンツのフォーマットは、特に限定されるものではないが、本実施の形態では、DASHで配信するコンテンツのフォーマットとして、例えば、fragmentedMP4(のファイル)を採用することとする。 Here, the format of the content delivered by DASH is not particularly limited, but in this embodiment, (a file of fragmented MP4) is adopted as the format of the content delivered by DASH, for example.
 セグメント(Media Segment)は、styp(segment type)(ボックス)、必要なsidx(segment index)(ボックス)、1個以上のフラグメント(MP4 fragment)を有する。 A segment (Media Segment) has styp (segment type) (box), necessary sidx (segment index) (box), and one or more fragments (MP4 fragments).
 ここで、stypが、'msdh'であるときは、セグメントに、sidxが含まれず、stypが、'msix'であるときは、セグメントに、sidxが含まれる。以下では、sidxについては、適宜、記載を省略する。 Here, when styp is 'msdh', the segment does not include sidx, and when styp is 'msix', the segment includes sidx. Hereinafter, the description of sidx will be omitted as appropriate.
 フラグメントは、moof(movie fragment)(ボックス)、及び、mdat(media data)(ボックス)を有する。 The fragment has moof (movie fragment) (box) and mdat (media data) (box).
 mdatは、mdatヘッダと、1個以上のサンプルを有する。サンプルとは、MP4ファイル内のメディアデータ(ビデオ等のデータ)にアクセスする場合の、最小のアクセス単位である。したがって、サンプルより細かい単位で、MP4ファイル内のメディアデータにアクセスすることはできない。 The 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, media data in the MP4 file can not be accessed in units smaller than the sample.
 moofは、mfhd(movie fragment header)(ボックス)と、traf(track fragment)(ボックス)とを有する。 Moof has mfhd (movie fragment header) (box) and traf (track fragment) (box).
 mfhdには、シーケンスナンバ(sequence_number)が格納される。sequence_numberは、そのsequence_numberを有するフラグメントの順番を表す。 A sequence number (sequence_number) is stored in mfhd. sequence_number represents the order of fragments having the sequence_number.
 trafは、tfhd(track fragment header)(ボックス)や、tfdt(track fragment decode time)(ボックス)、trun(track fragment run)(ボックス)、sdtp(independent samples)(ボックス)等を有する。 The traf has tfhd (track fragment header) (box), tfdt (track fragment decode time) (box), trun (track fragment run) (box), sdtp (independent samples) (box) and the like.
 tfdtには、BaseMediaDecodeTimeが格納される。BaseMediaDecodeTimeは、そのBaseMediaDecodeTimeを有するフラグメントに含まれるサンプルのうちの、先頭のサンプルのプレゼンテーションタイムを表す。 BaseMediaDecodeTime is stored in tfdt. BaseMediaDecodeTime represents the presentation time of the first sample among the samples included in the fragment having that BaseMediaDecodeTime.
 trunには、そのtrunを有するフラグメントに含まれる各サンプルのプレゼンテーションタイムを計算するのに必要な情報が格納される。 The trun stores information necessary to calculate the presentation time of each sample included in the fragment having the trun.
 図8は、1個のフラグメントを有するセグメントと、複数のフラグメントを有するセグメントとの構成例を示す図である。 FIG. 8 is a diagram showing a configuration example of a segment having one fragment and a segment having a plurality of fragments.
 図8のAは、1個のフラグメントを有するセグメントの構成例を示している。 A of FIG. 8 shows a configuration example of a segment having one fragment.
 図8のAでは、3個の連続するセグメント#1,#2,#3のそれぞれが、1個のフラグメントを有する。 In A of FIG. 8, each of three consecutive segments # 1, # 2, # 3 has one fragment.
 この場合、最初のセグメント#1が有する1個のフラグメントのsequence_number(以下、sqnとも記載する)が、例えば、1であるとすると、2番目のセグメント#2が有する1個のフラグメントのsqnは、例えば、直前のフラグメントのsqn=1を1だけインクリメントした2となる。さらに、3番目のセグメント#3が有する1個のフラグメントのsqnは、例えば、直前のフラグメントのsqn=2を1だけインクリメントした3となる。 In this case, assuming that the sequence_number (hereinafter also referred to as sqn) of one fragment of the first segment # 1 is 1, for example, the sqn of one fragment of the second segment # 2 is For example, the previous fragment sqn = 1 is incremented by 1 to 2. Furthermore, the sqn of one fragment included in the third segment # 3 is, for example, 3 obtained by incrementing the previous fragment sqn = 2 by one.
 図8のBは、複数のフラグメントを有するセグメントの構成例を示している。 B of FIG. 8 shows a configuration example of a segment having a plurality of fragments.
 図8のBでは、セグメント#1は、3個のフラグメントを有している。 In FIG. 8B, segment # 1 has 3 fragments.
 この場合、セグメント#1の最初のフラグメントのsqnが、例えば、1であるとすると、セグメント#1の2番目のフラグメントのsqnは、例えば、直前のフラグメントのsqn=1を1だけインクリメントした2となる。さらに、セグメント#1の3番目のフラグメントのsqnは、例えば、直前のフラグメントのsqn=2を1だけインクリメントした3となる。 In this case, assuming that the sqn of the first fragment of segment # 1 is 1, for example, the sqn of the second fragment of segment # 1 is, for example, 2 obtained by incrementing the previous fragment sqn = 1 by 1. Become. Furthermore, the sqn of the third fragment of segment # 1 is, for example, 3 obtained by incrementing the previous fragment sqn = 2 by one.
 以下、説明を簡単にするため、特に断らない限り、セグメントは、図8のAに示したように、1個のフラグメントを有することとする。 Hereinafter, in order to simplify the description, unless otherwise specified, the segment has one fragment, as shown in A of FIG.
 <セグメントをファイル配信単位とするコンテンツの配信> <Distribution of content that uses segment as file distribution unit>
 図9は、DASHでの、セグメントをファイル配信単位とするコンテンツの配信の例を示す図である。 FIG. 9 is a diagram illustrating an example of delivery of content in which a segment is a file delivery unit in DASH.
 図9では、それぞれが1以上のサンプルであるサンプル群#1,#2、及び、#3が、フラグメントを構成するサンプル群として、順次生成されている。そして、配信サーバ11(図2)のセグメンタ22において、フラグメントの最後のサンプル群#3の生成の完了後に、それらのサンプル群#1ないし#3を配置したmdatと、サンプル群#1ないし#3のmoofとを含むフラグメントが生成され、そのフラグメントを含むセグメントが生成されており、その後、FLUTEストリーマ24、及び、マルチキャストサーバ25において、そのセグメントが配信される。 In FIG. 9, sample groups # 1, # 2, and # 3, each of which is one or more samples, are sequentially generated as sample groups constituting fragments. Then, after the segmenter 22 of the delivery server 11 (FIG. 2) completes generation of the last sample group # 3 of fragments, mdat in which those sample groups # 1 to # 3 are arranged, and sample groups # 1 to # 3. The fragments including the fragments are generated, and the segments including the fragments are generated, and then the segments are distributed in the FLUTE streamer 24 and the multicast server 25.
 ここで、サンプル群#1ないし#3のmoofは、例えば、サンプル群#1ないし#3の生成と並列して行われる。 Here, the moof of the sample groups # 1 to # 3 is performed, for example, in parallel with the generation of the sample groups # 1 to # 3.
 また、フラグメントとするコンテンツの範囲(フラグメントのmdatとして配置するサンプル群#1ないし#3)としては、例えば、ランダムアクセス可能な最小の単位であるGOP(Group Of Picture)の範囲を採用することができる。 In addition, as a range of content to be fragmented (sample groups # 1 to # 3 arranged as mdat of fragment), for example, it is possible to adopt a range of GOP (Group Of Picture) which is a minimum unit which can be randomly accessed. it can.
 但し、フラグメントとするコンテンツの範囲は、GOPの範囲に限定されるものではない。 However, the range of content to be fragmented is not limited to the range of GOP.
 ところで、GOPの時間としては、例えば、約0.5ないし2秒程度が採用されることが多い。したがって、フラグメントとするコンテンツの範囲として、GOPの範囲を採用する場合には、moof、ひいては、セグメントは、少なくとも、約0.5ないし2秒程度であるGOPの時間だけ待って生成される。すなわち、セグメントの生成には、少なくとも、GOPの時間だけ要する。 As the GOP time, for example, about 0.5 to 2 seconds is often employed. Therefore, when adopting the range of the GOP as the range of the content to be fragmented, the moof, and hence the segment is generated waiting for the time of the GOP which is at least about 0.5 to 2 seconds. That is, it takes at least the time of GOP to generate a segment.
 その結果、セグメントをファイル配信単位としてマルチキャスト配信する場合には、セグメントの配信に、少なくとも、そのセグメントの生成に要するGOPの時間だけ待つ必要がある。 As a result, in the case of multicast delivery of a segment as a file delivery unit, it is necessary to wait for delivery of the segment at least only the time required for generating the segment.
 今後、より高画質の動画配信が行われることが予想され、その場合、セグメントのデータ量は膨大になる。かかる膨大なデータ量のセグメントを、GOPの時間だけ待って配信する場合には、ネットワークの帯域が圧迫され、シェーピングが必要になることがある。 In the future, it is expected that video delivery with higher image quality will be performed, in which case the data volume of the segment will be enormous. In the case where segments of such a large amount of data are to be distributed after waiting for the GOP time, the bandwidth of the network may be compressed and shaping may be necessary.
 したがって、セグメントをファイル配信単位とするのでは、最終的には、クライアントでのコンテンツの受信、及び、バッファリングの開始に遅延が生じる。 Therefore, if a segment is used as a file delivery unit, a delay will eventually occur in the reception of content at the client and the start of buffering.
 そこで、配信サーバ11では、セグメントよりも小さい、フラグメントの一部を含むデータ(以下、ポーションともいう)を、ファイル配信単位として、そのポーションをマルチキャスト配信することで、コンテンツ(のデータ)を迅速に配信し、これにより、クライアントでのコンテンツの受信、及び、バッファリングの開始に生じる遅延を抑制する。 Therefore, the distribution server 11 rapidly distributes (the data of) content by multicasting a portion smaller than a segment (hereinafter also referred to as a portion) as a file distribution unit. Deliver and thereby control the delay that results in the reception of content at the client and the onset of buffering.
 <ポーションをファイル配信単位とするコンテンツの配信> <Distribution of content that uses potions as file distribution units>
 図10は、配信サーバ11での、ポーションをファイル配信単位とするコンテンツの配信の概要を説明する図である。 FIG. 10 is a diagram for explaining an outline of distribution of content in which the portion is a file distribution unit in the distribution server 11.
 図10では、図9の場合と同様に、サンプル群#1,#2、及び、#3が、フラグメントを構成するサンプル群として、順次生成される。 In FIG. 10, as in the case of FIG. 9, the sample groups # 1, # 2, and # 3 are sequentially generated as sample groups constituting fragments.
 但し、図10では、配信サーバ11(図2)のセグメンタ22において、フラグメントの最後のサンプル群#3の生成が完了するのを待たずに、サンプル群#1が生成された時点で、そのサンプル群#1を含むファイル配信単位としてのポーションが生成され、FLUTEストリーマ24、及び、マルチキャストサーバ25において、マルチキャスト配信される。 However, in FIG. 10, when the sample group # 1 is generated without waiting for the generation of the last sample group # 3 of the fragment to be completed in the segmenter 22 of the distribution server 11 (FIG. 2), the sample A portion as a file distribution unit including group # 1 is generated, and is distributed by multicast in the FLUTE streamer 24 and the multicast server 25.
 さらに、図10では、セグメンタ22において、次のサンプル群#2が生成された時点で、そのサンプル群#2を含むファイル配信単位としてのポーションが生成され、FLUTEストリーマ24、及び、マルチキャストサーバ25において、マルチキャスト配信される。 Further, in FIG. 10, when the next sample group # 2 is generated in the segmenter 22, a portion as a file delivery unit including the sample group # 2 is generated, and in the FLUTE streamer 24 and the multicast server 25. , Multicast delivery.
 そして、セグメンタ22において、フラグメントの最後のサンプル群#3の生成が完了すると、そのサンプル群#3を含むファイル配信単位としてのポーションが生成され、FLUTEストリーマ24、及び、マルチキャストサーバ25において、マルチキャスト配信される。 Then, when generation of the last sample group # 3 of the fragment is completed in the segmenter 22, a portion as a file distribution unit including the sample group # 3 is generated, and multicast distribution is performed in the FLUTE streamer 24 and the multicast server 25. Be done.
 以上のように、セグメントよりも小さい、フラグメントの一部のサンプル群(図10では、サンプル群#1,#2,#3)を含むポーションを生成し、そのポーションをマルチキャスト配信することにより、コンテンツを迅速に配信し、クライアントでのコンテンツの受信、及び、バッファリングの開始に生じる遅延を抑制することができる。 As described above, a portion including a sample group (a sample group # 1, # 2, # 3 in FIG. 10) smaller than the segment and smaller than the segment is generated, and the content is multicasted by distributing the portion. Can be delivered quickly, and the delay caused to receive content at the client and start of buffering can be suppressed.
 ここで、サンプル群#1ないし#3が、例えば、1GOPのデータであるとすると、サンプル群#1は、例えば、GOPにおいて最初に符号化されるIピクチャのデータに相当する。そして、サンプル群#2は、GOPのIピクチャの後に符号化される1ピクチャ以上のPピクチャやBピクチャのデータに相当し、サンプル群#3は、GOPの残りのPピクチャやBピクチャのデータに相当する。 Here, assuming that sample groups # 1 to # 3 are, for example, 1 GOP data, sample group # 1 corresponds to, for example, I picture data to be first encoded 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 is data of the remaining P pictures and B pictures of the GOP. It corresponds to
 <ポーション> <Potion>
 図11は、セグメントとポーションとの関係の例を示す図である。 FIG. 11 is a diagram showing an example of the relationship between segments and portions.
 図11のAは、セグメントの例を示している。 A of FIG. 11 shows an example of the segment.
 図11のAにおいて、セグメント50は、styp51と、(1個の)フラグメント52とを有する。 In A of FIG. 11, the segment 50 has styp 51 and (one) fragment 52.
 フラグメント52は、moof53とmdat54とから構成される。 Fragment 52 is composed of moof 53 and mdat 54.
 moof53には、図7で説明したように、フラグメント52のシーケンスナンバsqnと、フラグメント52のmdat54の先頭のサンプル(図11のAでは、サンプル群56の先頭のサンプル)のプレゼンテーションタイムを表すBaseMediaDecodeTime(以下、bmdtともいう)が格納されている。 In moof 53, as described in FIG. 7, the sequence number sqn of fragment 52 and BaseMediaDecodeTime representing the presentation time of the first sample of mdat 54 of fragment 52 (the first sample of sample group 56 in A of FIG. 11). Hereinafter, it is also called bmdt).
 ここで、図11のAでは、フラグメント52のシーケンスナンバsqnとして、1が設定されている。 Here, in A of FIG. 11, 1 is set as the sequence number sqn of the fragment 52.
 mdat54には、mdatヘッダ55と、3個のサンプル群56,57、及び、58とが、その順で格納されている。サンプル群56ないし58は、例えば、図10のサンプル群#1ないし#3に、それぞれ相当する。 In the mdat 54, an mdat header 55 and three sample groups 56, 57 and 58 are stored in that order. The sample groups 56 to 58 correspond to, for example, sample groups # 1 to # 3 in FIG.
 mdat54に格納された3個のサンプル群56ないし58のうちの、2番目のサンプル群57の先頭のサンプルは、最初のサンプル群56の先頭からn1サンプル目のサンプルになっている。 Of the three sample groups 56 to 58 stored in the mdat 54, the first sample of the second sample group 57 is the sample of the n1th sample from the top of the first sample group 56.
 また、3個のサンプル群56ないし58のうちの、3番目のサンプル群58の先頭のサンプルは、最初のサンプル群56の先頭からn2(>n1)サンプル目のサンプルになっている。 The first sample of the third sample group 58 among the three sample groups 56 to 58 is the sample of the n2 (> n1) sample from the top of the first sample group 56.
 ここで、mdatに格納されたあるサンプルが、そのmdatの先頭のサンプルから何番目のサンプルであるかを、以下、サンプル番号ともいう。 Here, it is also referred to as a sample number below which sample a certain sample stored in mdat is from the first sample of the mdat.
 図11のAにおいて、サンプル群57の先頭のサンプルのサンプル番号は、n1であり、サンプル群58の先頭のサンプルのサンプル番号は、n2である。 In FIG. 11A, the sample number of the first sample of the sample group 57 is n1, and the sample number of the first sample of the sample group 58 is n2.
 図11のB、図11のC、及び、図11のDは、図11のAのセグメント50が生成される場合の、そのセグメント50に含まれるフラグメント52の一部を含むポーションの例を示している。 FIG. 11B, FIG. 11C, and FIG. 11D show examples of portions including a part of the fragments 52 included in the segment 50 when the segment 50 of A in FIG. 11 is generated. ing.
 すなわち、図11のBは、フラグメント52の一部としてのサンプル群56を含むポーションの例を示している。また、図11のCは、フラグメント52の他の一部としてのサンプル群57を含むポーションの例を示しており、図11のDは、フラグメント52のさらに他の一部としてのサンプル群58を含むポーションの例を示している。 That is, FIG. 11B 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 D in FIG. 11 shows a sample group 58 as another part of the fragment 52. An example of the potion is shown.
 図11において、ポーション(のファイル)としては、httpレスポンス(のファイル)が採用されている。 In FIG. 11, an http response (file) is adopted as the portion (file).
 図11のBにおいて、ポーション60は、フラグメント52の最初のサンプル群56を含むhttpレスポンスであり、ポーション60には、httpヘッダ61、MS/BR62、styp51、moofサブセット64、MS/BR65、mdatヘッダ55、MS/BR66、サンプル群56、及び、MS67が、その順で配置されている。 In FIG. 11B, portion 60 is an http response including the first sample group 56 of fragment 52, and portion 60 includes http header 61, MS / BR 62, styp 51, moof subset 64, MS / BR 65, mdat header. 55, MS / BR 66, sample group 56, and MS 67 are arranged in this order.
 httpヘッダ61は、メッセージボディがマルチパートメッセージボディ(multipart message body)であることを指示するhttpヘッダで、httpヘッダ61には、シーケンスナンバsqn,バージョンv、及び、NTP時刻ntが含まれる。 The http header 61 is an http header indicating that the message body is a multipart message body. The http header 61 includes a sequence number sqn, a version v, and an NTP time nt.
 httpヘッダ61のシーケンスナンバsqnは、ポーション60に含まれる(フラグメント52の一部としての)サンプル群56を含むフラグメント52のmoof53に格納されるシーケンスナンバsqnと同一の1に設定される。 The sequence number sqn of the http header 61 is set to 1 identical to 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.
 バージョンvは、そのバージョンvを含むポーションに含まれるフラグメントの一部としてのサンプル群の、そのフラグメントにおける順番を表す。バージョンvは、同一のシーケンスナンバsqnについて(sqnスコープで)、例えば、初期値を1として、1ずつインクリメントされる整数である。 The version v represents the order in the fragment of the sample group as a part of the fragment included in the portion including the version v. The version v is an integer which is incremented by one, for example, with an initial value of 1 for the same sequence number sqn (with a sqn scope).
 httpヘッダ61のバージョンvを含むポーション60に含まれるフラグメント52の一部は、サンプル群56であり、そのサンプル群56の、フラグメント52における順番は、1番目であるので、httpヘッダ61のバージョンvには、1が設定される。 Since a part of the fragment 52 included in the portion 60 including the version v of the http header 61 is the sample group 56 and the order of the sample group 56 in the fragment 52 is the first, the version v of the http header 61 Is set to 1.
 なお、セグメントが、例えば、図9に示したように、複数としての3個のフラグメントを含み、その3個のフラグメントのシーケンスナンバsqnが、それぞれ、1,2,3である場合において、各フラグメントのサンプル群を、例えば、2分割したサンプル群それぞれが含まれる6(=3×2)個のポーションが生成されるときには、その6個のポーションそれぞれのシーケンスナンバsqnとバージョンvとの組(sqn,v)は、それぞれ、(1,1),(1,2),(2,1),(2,2),(3,1),(3,2)となる。 Each segment includes, for example, a plurality of three fragments as shown in FIG. 9, and the sequence numbers sqn of the three fragments are 1, 2, and 3, respectively. For example, when 6 (= 3 × 2) portions each including the divided sample group are generated, the set of sequence numbers sqn and version v of each of the 6 portions is generated (sqn , v) become (1, 1), (1, 2), (2, 1), (2, 2), (3, 1), (3, 2), respectively.
 httpヘッダ61のNTP時刻ntは、そのNTP時刻ntを含むポーション60に一部(サンプル群56)が含まれるフラグメント52のmoof53に格納されるbmdt(BaseMediaDecodeTime)、すなわち、フラグメント52の先頭のサンプル(サンプル群56の先頭のサンプル)のプレゼンテーションタイムを表すbmdtに対応するNTP時刻NTを表す。 The NTP time nt of the http header 61 is bmdt (BaseMediaDecodeTime) stored in the moof 53 of the fragment 52 whose portion 60 (the sample group 56) is included in the portion 60 including the NTP time nt, that is, the sample at the beginning of the fragment 52 ( Represents an NTP time NT corresponding to bmdt representing a presentation time of the first sample of the sample group 56).
 MS/BR62は、マルチパートセパレータ(multipart-separater)と、その直後に配置されたstyp51のバイトレンジ(byte range)を表す。 MS / BR 62 represents a multipart separator (multipart-separator) and a byte range of styp 51 arranged immediately after that.
 MS/BR63は、マルチパートセパレータと、その直後に配置されたmoofサブセット64のバイトレンジを表す。 MS / BR 63 represents the multi-part separator and the byte range of the moof subset 64 placed immediately after it.
 moofサブセット64は、フラグメント52の3個のサンプル群56ないし58のうちの、ポーション60に配置される1番目(最初)のサンプル群56を生成するまでに生成することができる、moof53のサブセットであり、moof53に格納されるシーケンスナンバsqnとbmdtとを含む。 The moof subset 64 is a subset of moof 53 that can be generated before the generation of the first (first) sample group 56 placed in the portion 60 out of the three sample groups 56 to 58 of the fragment 52. And includes sequence numbers sqn and bmdt stored in moof 53.
 サンプル群56を生成するまでに生成することができる、moof53のサブセットであるmoofサブセット64によれば、サンプル群56を再生することができる。 The sample group 56 can be reproduced according to the moof subset 64 which is a subset of the moof 53 that can be generated before the sample group 56 is generated.
 MS/BR65は、マルチパートセパレータと、その直後に配置されたmdatヘッダ55のバイトレンジを表す。 MS / BR 65 represents the multi-part separator and the byte range of the mdat header 55 placed immediately after that.
 MS/BR66は、マルチパートセパレータと、その直後に配置されたサンプル群56のバイトレンジを表す。 MS / BR 66 represents the multi-part separator and the byte range of sample group 56 placed immediately after that.
 MS67は、マルチパートセパレータを表す。 MS67 represents a multipart separator.
 なお、図11のBでは、フラグメント52の最初のサンプル群56が含まれるポーション60に、styp51を含めることとしたが、styp51(さらには、図示せぬsidx)は、ポーション60とは別のhttpレスポンスに含めて配信することができる。 In FIG. 11B, styp 51 is included in the portion 60 in which the first sample group 56 of the fragment 52 is included, but styp 51 (further not shown, sidx) is an http different from the portion 60. It can be included in the response and delivered.
 図11のCにおいて、ポーション70は、フラグメント52の2番目のサンプル群57を含むhttpレスポンスであり、ポーション70には、httpヘッダ71、MS/BR72、moofサブセット73、MS/BR74、サンプル群57、及び、MS75が、その順で配置されている。 In C of FIG. 11, the portion 70 is an http response including the second sample group 57 of the fragment 52, and the portion 70 includes the http header 71, MS / BR 72, moof subset 73, MS / BR 74, sample group 57. , And MS 75 are arranged in that order.
 httpヘッダ71は、メッセージボディがマルチパートメッセージボディであることを指示するhttpヘッダで、httpヘッダ71には、シーケンスナンバsqn,バージョンv、及び、NTP時刻ntと、サンプルカウントスタートscs(SampleCountStart)とが含まれる。 The http header 71 is an http header indicating that the message body is a multipart message body, and the http header 71 includes a sequence number sqn, a version v, an NTP time nt, and a sample count start scs (SampleCountStart). Is included.
 httpヘッダ71のシーケンスナンバsqnは、ポーション70に含まれる(フラグメント52の一部としての)サンプル群57を含むフラグメント52のmoof53に格納されるシーケンスナンバsqnと同一の1に設定される。 The sequence number sqn of the http header 71 is set to 1 identical to 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.
 httpヘッダ71のバージョンvには、2が設定される。すなわち、ポーション70には、フラグメント52のサンプル群56ないし58のうちの2番目のサンプル群57が含まれるので、httpヘッダ71のバージョンvには、2が設定される。 The version v of the http header 71 is set to 2. 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.
 httpヘッダ71のNTP時刻ntは、そのNTP時刻ntを含むポーション70に一部(サンプル群57)が含まれるフラグメント52のmoof53に格納されるbmdtに対応するNTP時刻を表し、httpヘッダ61のNTP時刻nt=NTと同一である。 The NTP time nt of the http header 71 represents the NTP time corresponding to bmdt stored in the moof 53 of the fragment 52 of which a portion (sample group 57) is partially included in the portion 70 including the NTP time nt. It is identical to time nt = NT.
 サンプルカウントスタートscsは、そのサンプルカウントスタートscsを含むポーションに含まれるサンプル群の先頭のサンプルの、フラグメントの先頭のサンプルからの順番を表す。 The sample count start scs represents the order of the sample at the beginning of the sample group included in the portion including the sample count start scs from the sample at the beginning of the fragment.
 ポーション70に含まれるサンプル群57の先頭のサンプルは、図11のAで説明したように、最初のサンプル群56の先頭からn1サンプル目のサンプルであるので、httpヘッダ71のサンプルカウントスタートscsには、n1が設定される。 Since the first sample of the sample group 57 included in the portion 70 is the sample of the n1th sample from the top of the first sample group 56 as described in A of FIG. , N1 is set.
 MS/BR72は、マルチパートセパレータと、その直後に配置されたmoofサブセット73のバイトレンジを表す。 MS / BR 72 represents the multi-part separator and the byte range of the moof subset 73 placed immediately after it.
 moofサブセット73は、フラグメント52の3個のサンプル群56ないし58のうちの、ポーション70に配置される2番目のサンプル群57を生成するまでに生成することができる、moof53のサブセットであり、moof53に格納されるシーケンスナンバsqnとbmdtとを含む。 The moof subset 73 is a subset of moof 53 that can be generated before the generation of the second sample group 57 placed in the portion 70 out of the three sample groups 56 to 58 of the fragment 52, the moof 53 Includes sequence numbers sqn and bmdt stored in.
 サンプル群57を生成するまでに生成することができる、moof53のサブセットであるmoofサブセット73では、サンプル群56を生成するまでに生成されるmoofサブセット64に、サンプル群57の再生に必要な情報が追加されており、したがって、moofサブセット73によれば、サンプル群57、さらには、サンプル群57が生成される前に生成されるサンプル群56を再生することができる。 In moof subset 73, which is a subset of moof 53 that can be generated before sample group 57 is generated, information necessary for reproducing sample group 57 is included in moof subset 64 generated before sample group 56 is generated. The moof subset 73 is added, so that the sample group 57, and further, the sample group 56 generated before the sample group 57 is generated can be reproduced.
 MS/BR74は、マルチパートセパレータと、その直後に配置されたサンプル群57のバイトレンジを表す。 MS / BR 74 represents the multi-part separator and the byte range of sample group 57 placed immediately after that.
 MS75は、マルチパートセパレータを表す。 MS 75 represents a multi-part separator.
 図11のDにおいて、ポーション80は、フラグメント52の3番目のサンプル群58を含むhttpレスポンスであり、ポーション80には、httpヘッダ81、MS/BR82、moofサブセット83、MS/BR84、サンプル群58、及び、MS85が、その順で配置されている。 In FIG. 11D, a portion 80 is an http response including the third sample group 58 of the fragment 52, and the portion 80 includes an http header 81, MS / BR 82, moof subset 83, MS / BR 84, sample group 58. , And MS 85 are arranged in that order.
 httpヘッダ81は、メッセージボディがマルチパートメッセージボディであることを指示するhttpヘッダで、httpヘッダ81には、シーケンスナンバsqn,バージョンv、及び、NTP時刻ntと、サンプルカウントスタートscsとが含まれる。 The http header 81 is an http header indicating that the message body is a multipart message body, and the http header 81 includes a sequence number sqn, a version v, an NTP time nt, and a sample count start scs. .
 httpヘッダ81のシーケンスナンバsqnは、ポーション80に含まれる(フラグメント52の一部としての)サンプル群58を含むフラグメント52のmoof53に格納されるシーケンスナンバsqnと同一の1に設定される。 The sequence number sqn of the http header 81 is set to 1 identical to 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.
 httpヘッダ81のバージョンvには、3が設定される。すなわち、ポーション80には、フラグメント52のサンプル群56ないし58のうちの3番目のサンプル群58が含まれるので、httpヘッダ81のバージョンvには、3が設定される。 The version v of the http header 81 is set to 3. That is, since the portion 80 includes the third sample group 58 of the sample groups 56 to 58 of the fragment 52, the version v of the http header 81 is set to 3.
 さらに、ポーション80に含まれるサンプル群58は、フラグメント52の最後のサンプル群であるため、すなわち、シーケンスナンバsqnが1になっている最後のサンプル群であるため、httpヘッダ81のバージョンvには、サンプル群58の、フラグメント52における順番である3とともに、フラグメントの最後のサンプル群であることを表す情報としての"-end"が設定される。 Furthermore, since the sample group 58 included in the portion 80 is the last sample group of the fragment 52, that is, the last sample group whose sequence number sqn is 1, the version v of the http header 81 is , And the order 3 of the sample group 58 in the fragment 52, and "-end" as information indicating that it is the last sample group of the fragment is set.
 したがって、ポーションを受信する、例えば、クライアント12では、バージョンvによって、ポーションに含まれる(フラグメントの一部としての)サンプル群の順番と、そのサンプル群が、フラグメントの最後のサンプル群であるかどうかを認識することができる。 Thus, to receive a portion, eg, at client 12, according to version v, the order of the samples (as part of the fragment) included in the portion and whether that sample is the last sample of the fragment Can be recognized.
 httpヘッダ81のNTP時刻ntは、そのNTP時刻ntを含むポーション80に一部(サンプル群58)が含まれるフラグメント52のmoof53に格納されるbmdtに対応するNTP時刻を表し、httpヘッダ61及び71のNTP時刻nt=NTと同一である。 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 partially included in the portion 80 including the NTP time nt, and the http headers 61 and 71 NTP time nt = identical to NT.
 サンプルカウントスタートscsは、上述したように、そのサンプルカウントスタートscsを含むポーションに含まれるサンプル群の先頭のサンプルの、フラグメントの先頭のサンプルからの順番を表す。 As described above, the sample count start scs represents the order of the sample at the head of the sample group included in the portion including the sample count start scs from the sample at the head of the fragment.
 したがって、httpヘッダ81のサンプルカウントスタートscsには、n2が設定される。すなわち、ポーション80に含まれるサンプル群58の先頭のサンプルは、図11のAで説明したように、最初のサンプル群56の先頭からn2サンプル目のサンプルであるので、httpヘッダ81のサンプルカウントスタートscsには、n2が設定される。 Therefore, 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 sample of the n2th sample from the top of the first sample group 56 as described in A of FIG. n2 is set to scs.
 MS/BR82は、マルチパートセパレータと、その直後に配置されたmoofサブセット83のバイトレンジを表す。 MS / BR 82 represents the multi-part separator and the byte range of the moof subset 83 placed immediately after it.
 moofサブセット83は、フラグメント52の3個のサンプル群56ないし58のうちの、ポーション80に配置される3番目のサンプル群58を生成するまでに生成することができる、moof53のサブセットであり、moof53に格納されるシーケンスナンバsqnとbmdtとを含む。 The moof subset 83 is a subset of moof 53 that can be generated by the third sample group 56 to 58 of the fragment 52 until the third sample group 58 placed in the portion 80 is generated. Includes sequence numbers sqn and bmdt stored in.
 ここで、moofサブセット83は、ポーション80に配置される3番目のサンプル群58、すなわち、フラグメント52の最後のサンプル群58を生成するまでに生成することができる、moof53のサブセットであるので、moof53に等しい。 Here, since the moof subset 83 is a subset of moof 53 that can be generated before the generation of the third sample group 58 placed in the portion 80, ie, the last sample group 58 of the fragment 52, the moof 53 be equivalent to.
 以上のように、サンプル群58を生成するまでに生成することができる、moof53のサブセットであるmoofサブセット83は、moof53に等しいので、moofサブセット83によれば、サンプル群58、さらには、サンプル群58が生成される前に生成されるサンプル群56及び57を再生することができる。 As described above, since the moof subset 83, which is a subset of the moof 53, which can be generated until the sample group 58 is generated, is equal to the moof 53, according to the moof subset 83, the sample group 58, further, the sample group Sample groups 56 and 57 can be regenerated before 58 is generated.
 MS/BR84は、マルチパートセパレータと、その直後に配置されたサンプル群58のバイトレンジを表す。 MS / BR 84 represents the multi-part separator and the byte range of the sample group 58 placed immediately after that.
 MS85は、マルチパートセパレータを表す。 MS85 represents a multi-part separator.
 以上のように、httpレスポンスであるポーションは、httpヘッダに、シーケンスナンバsqnと、バージョンvとを含むので、ポーションを受信したクライアント12(その他の装置)では、シーケンスナンバsqnと、バージョンvとに基づき、ポーションに含まれるサンプル群の、セグメントにおける順番を認識して再生することや、必要に応じて、セグメントを構成して再生することができる。 As described above, since the portion that is the http response includes the sequence number sqn and the version v in the http header, the client 12 (other device) that has received the portion receives the sequence number sqn and the version v. Based on this, it is possible to recognize and reproduce the order in the segment of the sample group included in the portion and to construct and reproduce the segment as required.
 また、ポーションには、そのポーションに含まれるサンプル群の再生に必要なmoofの情報であるmoofサブセットが含まれるので、クライアント12では、セグメントを構成するすべてのポーション(サンプル群)を受信する前に、1個のポーションを受信した時点で、その1個のポーションに含まれるサンプル群が、単独で再生可能なサンプル群(例えば、Iピクチャのサンプル群)である場合や、既に受信しているサンプル群を用いて再生可能なサンプル群である場合には、受信した1個のポーションに含まれるサンプル群の再生を開始することができる。 In addition, since the portion includes moof subsets, which are information of moof necessary for reproducing the sample group included in the portion, the client 12 receives all the portions (sample group) constituting the segment before receiving the portion. When one portion is received, the sample group included in the one portion is a sample group that can be independently reproduced (for example, a sample group of I picture), or a sample that has already been received When the group is a reproducible sample group, reproduction of the sample group included in one received portion can be started.
 なお、バージョンvは、シーケンスナンバsqnとともに、moofサブセットに含めることができる。但し、バージョンvを、シーケンスナンバsqnとともに、moofサブセットに含める場合には、moofに、バージョンvを含めるように、既存のmoofの定義を拡張する必要がある。バージョンvを、httpヘッダに含める場合には、既存のmoofの定義を拡張せずに済む。 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 existing moof definition to include the version v in the moof. If you include version v in the http header, you do not need to extend the existing moof definition.
 また、図11では、フラグメント52の2番目以降のサンプル群57及び58をそれぞれ含むポーション70及び80のhttpヘッダ71及び81には、サンプルカウントスタートscsが含まれ、フラグメント52の最初のサンプル群56を含むポーション60のhttpヘッダ61には、サンプルカウントスタートscsが含まれていないが、サンプルカウントスタートscsは、フラグメント52の最初のサンプル群56を含むポーション60のhttpヘッダ61にも含めることができる。 Further, in FIG. 11, 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 respectively include the sample count start scs, and the first sample group 56 of the fragment 52 Although the http header 61 of the portion 60 containing does not contain the sample count start scs, the sample count start scs can also be included in the http header 61 of the portion 60 containing the first sample group 56 of the fragment 52 .
 但し、フラグメントの最初のサンプル群の先頭のサンプルの、そのフラグメントの先頭のサンプルからの順番は、常に1であり、固定値であるため、フラグメントの最初のサンプル群を含むポーションのhttpヘッダ(バージョンvが1のhttpヘッダ)については、図11のBに示したように、サンプルカウントスタートscsを省略することができ、これにより、httpヘッダのサイズを小さくすることができる。 However, since the order of the first sample of the first sample group of fragments from the first sample of the fragment is always 1 and is a fixed value, the http header (version of the portion including the first sample group of fragments) For the http header (v is 1), as shown in B of FIG. 11, the sample count start scs can be omitted, whereby the size of the http header can be reduced.
 また、httpレスポンスであるポーションでは、httpヘッダに、フラグメントのmoofに格納されるbmdt(フラグメントの先頭のサンプルのプレゼンテーションタイムを表すbmdt)に対応するNTP時刻ntを含めることができるので、クライアント12では、ポーションを受信した場合に、対応するMPDがなくても、そのポーションに含まれるサンプル群を再生することが可能になる。 Also, in the portion that is the http response, the http header can include 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. When a portion is received, it is possible to reproduce a sample group included in the portion without the corresponding MPD.
 すなわち、コンテンツには、例えば、ライブ放送の番組のような、NTP時刻で表現される絶対時刻の時間軸上で再生のタイミングを制御する必要があるコンテンツがあり、かかるコンテンツのサンプルについては、各サンプルがマッピング(表示)される絶対時刻としてのNTP時刻を計算する必要がある。 That is, the content includes, for example, content such as a program of live broadcasting which needs to control the timing of reproduction on the time axis of absolute time represented by NTP time, and each sample of such content is It is necessary to calculate the NTP time as an absolute time to which the sample is mapped (displayed).
 ここで、フラグメントのN番目のサンプルのプレゼンテーションタイム(PresentatioTime(CompositionTime) of Nth Sample)は、次式に従って計算することができる。 Here, the presentation time of the Nth sample of the fragment (PresendatioTime (CompositionTime) of Nth Sample) can be calculated according to the following equation.
 PresentatioTime(CompositionTime) of Nth Sample =
 BaseMediaDecodeTime + Sum of SampleDuration of (N-1) Samples + CompositionTimeOffset of Nth Sample
PresentatioTime (CompositionTime) of Nth Sample =
BaseMediaDecodeTime + Sum of SampleDuration of (N-1) Samples + CompositionTimeOffset of Nth Sample
 なお、Sum of SampleDuration of (N-1) Samplesと、CompositionTimeOffset of Nth Sampleとは、フラグメントのmoofに格納される情報(sampleCount,SampleDuration,CompositionTimeOffset)から求めることができ、BaseMediaDecodeTimeは、bmdtとして、moofに格納されている。 In addition, Sum of SampleDuration of (N-1) Samples and CompositionTimeOffset of Nth Sample can be obtained from information (sampleCount, SampleDuration, CompositionTimeOffset) stored in moof of fragment, and BaseMediaDecodeTime is momd as bmdt. It is stored.
 サンプルの絶対時刻は、そのサンプルのプレゼンテーションタイムの計算に用いられるBaseMediaDecodeTimeに対応するNTP時刻が分かれば、求めることができる。 The absolute time of a sample can be determined if the NTP time corresponding to BaseMediaDecodeTime used to calculate the presentation time of the sample is known.
 DASHのMPDには、起点となるBaseMediaDecodeTime(BaseMediaDecodeTime=0)に対応するNTP時刻が記述されるので、MPDの取得が保証されている場合等には、httpヘッダには、フラグメントのmoofに格納されるbmdtに対応するNTP時刻ntを含めなくてもよい。 Since the NTP time corresponding to BaseMediaDecodeTime (BaseMediaDecodeTime = 0) that is the starting point is described in the DASH MPD, if the acquisition of the MPD is guaranteed, etc., the http header is stored in the fragment moof It is not necessary to include the NTP time nt corresponding to bmdt.
 但し、httpヘッダに、フラグメントのmoofに格納されるbmdt(フラグメントの先頭のサンプルのプレゼンテーションタイムを表すbmdt)に対応するNTP時刻ntを含めることにより、クライアント12では、ポーションを受信した場合に、そのポーションのhttpヘッダに含まれるNTP時刻ntに基づいて、対応するMPDがなくても、そのポーションに含まれるサンプル群の各サンプルの絶対時刻としてのNTP時刻を計算し、そのNTP時刻に従って、サンプルを再生することができる。 However, the client 12 receives the portion by including 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 in the http header. Based on the NTP time nt included in the http header of the portion, even if there is no corresponding MPD, calculate the NTP time as the absolute time of each sample of the sample group included in the portion and calculate the samples according to the NTP time It can be played back.
 また、httpレスポンスであるポーションでは、httpヘッダに、そのポーションに含まれるサンプル群の先頭のサンプルの、フラグメントの先頭のサンプルからの順番を表すサンプルカウントスタートscsを含めることができるので、セグメントを構成する複数のポーション(セグメントに含まれる複数のサンプル群それぞれを含む複数のポーション)のうちの一部のポーションが欠落した場合でも、その欠落したポーションに続くポーション(に含まれるサンプル群)を再生することができる。 Also, in the portion that is the http response, the http header can include the 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, so the segment is configured. Even if a portion of a plurality of portions (a plurality of portions including each of a plurality of sample groups included in the segment) is missing, the portion (sample group included in) following the missing portion is reproduced be able to.
 すなわち、セグメントを構成する複数のポーションのすべてを、クライアント12で受信することが保証されている場合には、サンプルカウントスタートscsがなくても、各ポーションの各サンプルが、フラグメントの先頭のサンプルから何番目のサンプルであるかのサンプル番号を認識することができ、そのサンプル番号に基づいて、moofサブセットから、サンプルの再生に必要な情報を取得し、サンプルを再生することができる。 That is, if it is guaranteed that the client 12 receives all of the portions that make up the segment, then each sample from each portion starts from the first sample of the fragment, even without the sample count start scs. It is possible to recognize the sample number of what sample it is, and based on the sample number, it is possible to obtain information necessary for reproducing the sample from the moof subset and reproduce the sample.
 但し、セグメントを構成する複数のポーションのうちの一部のポーションが欠落した場合には、その欠落したポーションに続くポーションに含まれるサンプルについては、サンプルカウントスタートscsがないと、サンプル番号を認識することができず、再生が困難になる。 However, when part of a plurality of parts constituting a segment is missing, the sample number is recognized without a sample count start scs for a sample included in the portion following the missing part. It is impossible to play and it becomes difficult to reproduce.
 ポーションのhttpヘッダに、サンプルカウントスタートscsを含めることで、セグメントを構成する複数のポーションのうちの一部のポーションが欠落した場合であっても、その欠落したポーションに続くポーションに含まれるサンプルについては、サンプルカウントスタートscsによって、サンプル番号を認識し、再生を行うことができる。 By including the sample count start scs in the http header of the portion, even if a portion of the plurality of portions constituting the segment is missing, the sample included in the portion following the missing portion The sample number can be recognized and reproduced by the sample count start scs.
 また、ポーションには、そのポーションに含まれるサンプル群を生成するまでに生成することができる、moof53のサブセットであるmoofサブセットが含められるので、ポーションを受信したクライアント12では、後続のポーションを待たずに、受信したポーションに含まれるサンプル群の再生を、そのポーションに含まれるmoofサブセットに基づいて開始することができる。 In addition, since the portion can include moof subset which is a subset of moof 53, which can be generated before generating a sample group included in the portion, the client 12 receiving the portion waits for the subsequent portion without waiting. Then, the reproduction of the sample group included in the received portion can be started based on the moof subset included in the portion.
 なお、ポーションのhttpヘッダには、その他、例えば、ポーションをマルチキャスト配信するFLUTEで配信される様々な属性情報であるFDT(File Delivery Table)を含めることができる。この場合、クライアント12では、ポーションのhttpヘッダに含まれるFDTを、FLUTEマルチキャスト配信されるデータの受信の用に供することができる。 The http header of the portion may further include, for example, FDT (File Delivery Table) which is various attribute information distributed by FLUTE for multicasting the portion. In this case, the client 12 can use the FDT included in the http header of the portion for reception of FLUTE multicast distributed data.
 図12は、図11のポーション60としてのhttpレスポンスの記述の例を示す図である。 FIG. 12 is a diagram showing an example of the description of the http response as the portion 60 of FIG.
 記述100は、httpヘッダ61であり、そのhttpヘッダ61の記述101における"X-MoofSeqNumVersion"、及び、記述102における"X-NTPTimeStamp"は、新規に定義されたヘッダである。 The description 100 is an http header 61, and "X-MoofSeqNumVersion" in the description 101 of the http header 61 and "X-NTPTimeStamp" in the description 102 are newly defined headers.
 記述101における"X-MoofSeqNumVersion"は、シーケンスナンバsqn、及び、バージョンvを表すヘッダであり、シーケンスナンバを表す変数sqnと、バージョンを表す変数vを有する。変数sqnには、フラグメント52のシーケンスナンバsqnである1が設定され、変数vには、ポーション60に含まれるサンプル群56の、フラグメント52における順番である1が設定される。 “X-MoofSeqNumVersion” in the description 101 is a sequence number sqn, a header representing a version v, and has a variable sqn representing the 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, and 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.
 記述102における"X-NTPTimeStamp"は、(BaseMediaDecodeTimeに対応する)NTP時刻ntを表すヘッダであり、図12では、"X-NTPTimeStamp"に、フラグメント52の先頭のサンプル(サンプル群56の先頭のサンプル)のプレゼンテーションタイムを表すbmdtに対応するNTP時刻NTとして、2890844526が設定されている。 “X-NTPTimeStamp” in the description 102 is a header representing an NTP time nt (corresponding to BaseMediaDecodeTime), and in FIG. 12, the sample at the beginning of the fragment 52 (the sample at the beginning of the sample group 56) in “X-NTPTimeStamp” 2890844526 is set as an NTP time NT corresponding to bmdt representing the presentation time of.
 記述103は、MS/BR62であり、記述103における"SEPARATER_STRING"は、マルチパートセパレータを表す。また、記述103における"Content-range: bytes 492-499/124567654"は、直後のstyp51のバイトレンジを表す。 The description 103 is MS / BR 62, and "SEPARATER_STRING" in the description 103 represents a multi-part separator. Also, "Content-range: bytes 492-499 / 124567654" in the description 103 represents the byte range of styp 51 immediately after.
 ここで、記述103におけるバイトレンジ"Content-range: bytes 492-499/124567654"は、フラグメントのサイズが、124567654バイトで、直後のstyp51が、その124567654バイトのうちの、492-499バイトであることを表す。 Here, the byte range "Content-range: bytes 492-499 / 124567654" in the description 103 is that the size of the fragment is 124567654 bytes and that the styp51 immediately after is 492-499 bytes of the 124567654 bytes. Represents
 記述103の後には、styp51のバイト列が続く。 The description 103 is followed by the styp51 byte sequence.
 styp51のバイト列の後の記述104は、MS/BR63であり、記述104における"Content-range: bytes 500-991/124567654"は、直後のmoofサブセット64のバイトレンジを表す。 The description 104 after the byte string of styp 51 is MS / BR 63, and "Content-range: bytes 500-991 / 124567654" in the description 104 represents the byte range of the moof subset 64 immediately after.
 ここで、moofサブセットのバイトレンジについては、フラグメントの最初のサンプル群を含むポーション(図11では、ポーション60)の生成時に、フラグメントのmoof(図11では、moof53)のバイトレンジが予測され、そのmoofのバイトレンジの予測値が、フラグメントのサンプル群を含む各ポーション(図11では、ポーション60,70、及び、80)のmoofサブセットのバイトレンジとして採用される。したがって、ポーション60のmoofサブセット64、ポーション70のmoofサブセット73、及び、ポーション80のmoofサブセット83のバイトレンジは、同一の値(moof53のバイトレンジの予測値)となる。 Here, for the byte range of the moof subset, the byte range of the moof of the fragment (moof 53 in FIG. 11) is predicted when the portion (in FIG. 11, the portion 60 in FIG. 11) including the first sample group of fragments is generated. The predicted value of the moof byte range is adopted as the byte range of the moof subset of each portion (in FIG. 11, portions 60, 70, and 80 in FIG. 11) including a sample group of fragments. Therefore, the byte range 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 become the same value (the predicted value of the moof 53 byte range).
 記述104の後には、moofサブセット64のバイト列が続く。 The description 104 is followed by the moof subset 64 byte sequence.
 moofサブセット64のバイト列の後の記述105は、MS/BR65であり、記述105における"Content-range: bytes 992-999/124567654"は、直後のmdatヘッダ55のバイトレンジを表す。 The description 105 after the byte string of the moof subset 64 is MS / BR 65, and "Content-range: bytes 992-999 / 124567654" in the description 105 represents the byte range of the mdat header 55 immediately after.
 記述105の後には、mdatヘッダ55のバイト列が続く。 The description 105 is followed by the byte string of the mdat header 55.
 mdatヘッダ55のバイト列の後の記述106は、MS/BR66であり、記述106における"Content-range: bytes 1000-4999/124567654"は、直後のサンプル群56のバイトレンジを表す。 The description 106 after the byte string of the mdat header 55 is MS / BR 66, and "Content-range: bytes 1000-4999 / 124567654" in the description 106 represents the byte range of the sample group 56 immediately after.
 記述106の後には、サンプル群56のバイト列が続く。 The description 106 is followed by a byte sequence of samples 56.
 サンプル群56のバイト列の記述107は、MS67である。 The description 107 of the byte string of the sample group 56 is MS67.
 図13は、図11のポーション70としてのhttpレスポンスの記述の例を示す図である。 FIG. 13 is a diagram showing an example of the description of the http response as the portion 70 of FIG.
 記述120は、httpヘッダ71であり、そのhttpヘッダ71の記述121における"X-MoofSeqNumVersion"、記述122における"X-NTPTimeStamp"、及び、記述123における"X-SampleCountStart"は、新規に定義されたヘッダである。 The description 120 is an http header 71, and "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.
 記述121における"X-MoofSeqNumVersion"は、図12で説明したように、シーケンスナンバsqn、及び、バージョンvを表すヘッダである。シーケンスナンバを表す変数sqnには、フラグメント52のシーケンスナンバsqnである1が設定され、バージョンを表す変数vには、ポーション70に含まれるサンプル群57の、フラグメント52における順番である2が設定される。 “X-MoofSeqNumVersion” in the description 121 is a header representing the sequence number sqn and the 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, and the variable v representing the version is set to 2 which is the order in the fragment 52 of the sample group 57 included in the portion 70. Ru.
 記述122における"X-NTPTimeStamp"は、図12で説明したように、NTP時刻ntを表すヘッダであり、フラグメント52の先頭のサンプルのプレゼンテーションタイムを表すbmdtに対応するNTP時刻NTとして、図11の場合と同一の2890844526が設定されている。 The “X-NTPTimeStamp” in the description 122 is a header representing the NTP time nt as described in FIG. 12, and is an NTP time NT corresponding to bmdt representing the presentation time of the first sample of the fragment 52 in FIG. The same 2890844526 as the case is set.
 記述123における"X-SampleCountStart"は、サンプルカウントスタートscsを表すヘッダであり、図13では、"X-SampleCountStart"に、フラグメント70に含まれるサンプル群57の先頭のサンプルのサンプル番号n1が設定されている。 “X-SampleCountStart” in the description 123 is a header representing a sample count start scs, and in FIG. 13, the sample number n1 of the first sample of the sample group 57 included in the fragment 70 is set to “X-SampleCountStart”. ing.
 記述124は、MS/BR72であり、記述124における"Content-range: bytes 500-991/124567654"は、直後のmoofサブセット73のバイトレンジを表し、図12の記述105におけるmoofサブセット64のバイトレンジと同一になっている(moof53のバイトレンジの予測値になっている)。 The description 124 is MS / BR 72, and the "Content-range: bytes 500-991 / 124567654" in the description 124 represents the byte range of the moof subset 73 immediately after it, and the byte range of the moof subset 64 in the description 105 of FIG. It is the same as (the prediction value of moof53 byte range).
 記述124の後には、moofサブセット73のバイト列が続く。 The description 124 is followed by the moof subset 73 bytes.
 moofサブセット73のバイト列の後の記述125は、MS/BR74であり、記述125における"Content-range: bytes 5000-7999/124567654"は、直後のサンプル群57のバイトレンジを表す。 The description 125 after the byte string 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.
 記述125の後には、サンプル群57のバイト列が続く。 The description 125 is followed by the byte series of the sample group 57.
 サンプル群57のバイト列の記述126は、MS75である。 The description 126 of the byte string of the sample group 57 is MS75.
 図11のポーション80は、図13のポーション70と同様に構成される。 The portion 80 of FIG. 11 is configured in the same manner as the portion 70 of FIG.
 <ポーション単位でのコンテンツの配信> <Distribution of content by potion>
 図14は、ポーション単位でのコンテンツの配信の処理の例を説明するフローチャートである。 FIG. 14 is a flow chart for explaining an example of processing of delivery of content in units of portions.
 ステップS101において、配信サーバ11(図2)のセグメンタ22は、サンプル群を生成しようとしているフラグメント(例えば、図11のフラグメント52)を、注目フラグメントとして、注目フラグメントのmdatヘッダ、及び、最初のサンプル群を生成し、処理は、ステップS102に進む。 In step S101, the segmenter 22 of the distribution server 11 (FIG. 2) sets the fragment (eg, the fragment 52 of FIG. 11) for which a sample group is to be generated as the target fragment, the mdat header of the target fragment, and the first sample A group is generated, and the process proceeds to step S102.
 ステップS102では、セグメンタ22は、最初のサンプル群用のhttpヘッダ(例えば、図11のhttpヘッダ61)を生成し、処理は、ステップS103に進む。 In step S102, the segmenter 22 generates an http header (for example, the http header 61 in FIG. 11) for the first sample group, and the process proceeds to step S103.
 すなわち、セグメンタ22は、注目フラグメントのmoofに格納されるシーケンスナンバと同一のシーケンスナンバsqn、最初のサンプル群の、注目フラグメントにおける順番を表す1であるバージョンv、及び、注目フラグメントのmoofに格納されるbmdtに対応するNTP時刻ntを含むhttpヘッダを、最初のサンプル群用のhttpヘッダとして生成する。 That is, the segmenter 22 is stored in the sequence number sqn which is the same as the sequence number stored in the moof of the fragment of interest, the version v which is 1 representing the order in the fragment of interest of the first sample group, and the moof of the fragment of interest The http header including the NTP time nt corresponding to bmdt is generated as the http header for the first sample group.
 ステップS103では、セグメンタ22は、注目フラグメントについて、最初のサンプル群を生成するまでに生成することができた、最初のサンプル群の再生に必要なmoofの一部を、最初のサンプル群用のmoofサブセットとして取得し、処理は、ステップS104に進む。 In step S103, the segmenter 22 can generate a part of the moof necessary for reproducing the first sample group, which has been able to generate the first sample group for the fragment of interest, After acquiring as a subset, the process proceeds to step S104.
 ステップS104では、セグメンタ22は、注目フラグメントを含むセグメントのstyp(及び必要なsidx)、最初のサンプル群用のmoofサブセット、注目フラグメントのmdatヘッダ、及び、最初のサンプル群に、最初のサンプル群用のhttpヘッダを付加することで、ポーションとしてのhttpレスポンスを生成し、FLUTEストリーマ24に供給して、処理は、ステップS105に進む。 In step S104, the segmenter 22 sets the styp (and necessary 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. By adding the http header, the http response as a portion is generated and supplied to the FLUTE streamer 24, and the process proceeds to step S105.
 ここで、注目フラグメントを含むセグメントが、複数のフラグメントを含み、注目フラグメントが、その複数のフラグメントの最初のフラグメントでない場合には、ステップS104で生成されるポーションとしてのhttpレスポンスには、styp(及び必要なsidx)は、含まれない。 Here, when the segment including the fragment of interest includes a plurality of fragments and the fragment of interest is not the first fragment of the plurality of fragments, the http response as a portion generated in step S104 is styp (and Necessary sidx) is not included.
 ステップS105では、FLUTEストリーマ24が、セグメンタ22からのポーションとしてのhttpレスポンスを、LCTパケットにパケット化し、マルチキャストサーバ25が、そのLCTパケットをマルチキャスト配信して、処理は、ステップS106に進む。 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 process proceeds to step S106.
 ステップS106では、セグメンタ22は、注目フラグメントについて、次のサンプル群を、注目サンプル群として生成し、処理は、ステップS107に進む。 In step S106, the segmenter 22 generates the next sample group as the sample of interest for the fragment of interest, and the process proceeds to step S107.
 ステップS107では、セグメンタ22は、注目サンプル群用のhttpヘッダ(例えば、図11のhttpヘッダ71や81)を生成し、処理は、ステップS108に進む。 In step S107, the segmenter 22 generates an http header (for example, the http headers 71 and 81 in FIG. 11) for the sample of interest, and the process proceeds to step S108.
 すなわち、セグメンタ22は、注目フラグメントのmoofに格納されるシーケンスナンバと同一のシーケンスナンバsqn、注目サンプル群の、注目フラグメントにおける順番を表すバージョンv、注目フラグメントのmoofに格納されるbmdtに対応するNTP時刻nt、及び、注目サンプル群の先頭のサンプルのサンプル番号を表すサンプルカウントスタートscsを含むhttpヘッダを、注目サンプル群用のhttpヘッダとして生成する。 That is, the segmenter 22 has the same sequence number sqn as the sequence number stored in the moof of the fragment of interest, the version v representing the order of the fragments of interest of the sample group of interest, and the NTP corresponding to bmdt stored in the moof of the fragment of interest. An http header including a time nt and a sample count start scs indicating the sample number of the first sample of the sample of interest is generated as an http header for the sample of interest.
 ステップS108では、セグメンタ22は、注目フラグメントについて、注目サンプル群を生成するまでに生成することができた、注目サンプル群、(及び、注目フラグメントの注目サンプル群を生成する前に生成されたサンプル群)の再生に必要なmoofの一部を、注目サンプル群用のmoofサブセットとして取得し、処理は、ステップS109に進む。 In step S108, the segmenter 22 can generate the sample of interest, and the group of samples generated before generating the sample of interest of the fragment of interest, which were able to be generated before generating the sample of interest for the fragment of interest. ) Is acquired as the moof subset for the sample group of interest, and the process proceeds to step S109.
 ステップS109では、セグメンタ22は、注目サンプル群用のmoofサブセット、及び、注目サンプル群に、注目サンプル群用のhttpヘッダを付加することで、ポーションとしてのhttpレスポンスを生成し、FLUTEストリーマ24に供給して、処理は、ステップS110に進む。 In step S109, the segmenter 22 generates an http response as a portion by adding the http header for the sample of interest to the moof subset for the sample of interest and the sample of interest, and supplies it to the FLUTE streamer 24. Then, the process proceeds to step S110.
 ステップS110では、ステップS105と同様に、FLUTEストリーマ24が、セグメンタ22からのポーションとしてのhttpレスポンスを、LCTパケットにパケット化し、マルチキャストサーバ25が、そのLCTパケットをマルチキャスト配信して、処理は、ステップS111に進む。 In 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 distributes the LCT packet by multicast, and the process Go to S111.
 ステップS111では、セグメンタ22は、注目サンプル群が、注目フラグメントの最後のサンプル群であるかどうかを判定する。 In step S111, the segmenter 22 determines whether the sample of interest is the last sample of the fragment of interest.
 ステップS111において、注目サンプル群が、注目フラグメントの最後のサンプル群でないと判定された場合、すなわち、注目フラグメントにおいて、注目サンプル群の次のサンプル群がある場合、処理は、ステップS106に戻り、注目サンプル群の次のサンプル群を、新たな注目サンプル群として、同様の処理が繰り返される。 If it is determined in step S111 that the sample of interest group is not the last sample group of the fragment of interest, that is, if there is a sample group following the sample of interest group in the fragment of interest, the process returns to step S106 The same process is repeated with the next sample group of sample groups as a new sample group of interest.
 また、ステップS111において、注目サンプル群が、注目フラグメントの最後のサンプル群であると判定された場合、処理は、ステップS101に戻り、例えば、注目フラグメントの次のフラグメントを、新たな注目フラグメントとして、以下、同様の処理が繰り返される。 Also, if it is determined in step S111 that the sample of interest group 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 taken as the new fragment of interest. Hereinafter, the same processing is repeated.
 <ポーション単位でのコンテンツの受信> <Receiving Content in Portions>
 図15は、ポーション単位でのコンテンツの受信の処理の例を説明するフローチャートである。 FIG. 15 is a flowchart illustrating an example of processing of receiving content in units of portions.
 ステップS121において、クライアント12(図3)の受信部31は、ポーションとしてのhttpレスポンスがマルチキャスト配信されているのを待って、そのポーションとしてのhttpレスポンスを受信し、処理は、ステップS122に進む。 In step S121, the reception unit 31 of the client 12 (FIG. 3) waits for the http response as a portion to be multicast-distributed, receives the http response as the portion, and the process proceeds to step S122.
 ステップS122では、再生部33が、受信部31で受信されたポーションとしてのhttpレスポンスに含まれるサンプル群の再生を、そのhttpレスポンスに含まれるmoofサブセット、並びに、httpレスポンスのhttpヘッダに含まれるシーケンスナンバsqn、バージョンv、NTP時刻nt、及び、サンプルカウントスタートscsを必要に応じて用いて行う。 In step S122, the reproduction unit 33 reproduces the sample group included in the http response as the portion received by the reception unit 31 according to the moof subset included in the http response and the sequence included in the http header of the http response. The number sqn, the version v, the NTP time nt, and the sample count start scs are used as needed.
 そして、処理は、ステップS122からS121に戻り、以下、同様の処理が繰り返される。 Then, the process returns from step S122 to step S121, and the same process is repeated thereafter.
 以上のように、配信サーバ11では、セグメントが生成されるのを待つことなく、そのセグメントに含まれるフラグメントの一部であるサンプル群が生成された時点で、そのサンプル群を含むポーションとしてのhttpレスポンスを配信するので、コンテンツを迅速に配信することができる。 As described above, the distribution server 11 does not wait for a segment to be generated, and when a sample group which is a part of a fragment included in the segment is generated, the http as a portion including the sample group is generated. Since the response is delivered, the content can be delivered quickly.
 その結果、クライアント12でのコンテンツの受信、及び、バッファリングの開始に遅延が生じることを抑制することができる。 As a result, it is possible to suppress the delay in the reception of content at the client 12 and the start of buffering.
 <LCTパケット> <LCT packet>
 図16は、LCTパケットによるポーション(及びセグメント)のマルチキャスト配信を説明する図である。 FIG. 16 is a diagram for explaining multicast distribution of portions (and segments) by LCT packets.
 FLUTEストリーマ24では、ポーション(及びセグメント)が、LCTパケットにパケット化され、マルチキャストサーバ25において、そのLCTパケットがマルチキャスト配信される。 In the FLUTE streamer 24, portions (and segments) are packetized into LCT packets, and the multicast server 25 multicasts the LCT packets.
 FLUTEストリーマ24での、ポーションの、LCTパケットへのパケット化は、例えば、図16に示すように、ポーションを、所定のサイズの小片に分割し、各小片を、LCTパケットに格納することで行われる。 Packetization of portions into LCT packets in the FLUTE streamer 24 is performed, for example, by dividing the portions into small pieces of a predetermined size and storing each small piece in an LCT packet, as shown in FIG. It will be.
 図17は、LCTパケットのフォーマットを示す図である。 FIG. 17 is a diagram showing the format of the LCT packet.
 LCTパケットは、LCTヘッダ(LCT Header)、FEC Payload ID、及び、Encoding Symbol(s)が、その順で配置されて構成される。 The LCT packet is configured by arranging an LCT header (LCT Header), an FEC Payload ID, and an Encoding Symbol (s) in that order.
 ポーションの小片は、Encoding Symbolとして、LCTパケットに格納される。 Portions of portions are stored in LCT packets as Encoding Symbols.
 図18は、LCTヘッダのフォーマットを示す図である。 FIG. 18 shows the format of the LCT header.
 LCTヘッダには、TSI(Transport Session Identifier),TOI(Transport Object Identifier)、及び、必要な拡張ヘッダ(Header Extensions)が含まれる。 The LCT header includes a Transport Session Identifier (TSI), a Transport Object Identifier (TOI), and a necessary extension header (Header Extensions).
 TSIは、LCTパケットのセッションを識別する識別子である。例えば、本来、1個のセグメント50(図11)で配信されるべきサンプル群56,57、及び、58を含むポーション60,70、及び、80それぞれをパケット化したLCTパケットのTSIは、同一の値に設定される。 The TSI is an identifier that identifies a session of the LCT packet. For example, the TSIs of LCT packets obtained by packetizing portions 60, 70, and 80 each including sample groups 56, 57, and 58 to be originally delivered in one segment 50 (FIG. 11) are identical to each other. Set to a value.
 TOIは、LCTパケットのEncoding Symbolにデータが格納されるオブジェクトを識別する識別子である。例えば、ポーション60を分割した小片がEncoding Symbolに格納されるLCTパケットのTOIは、同一の値に設定される。 The TOI is an identifier that identifies an object whose data is stored in the Encoding Symbol of the LCT packet. For example, the TOI of the LCT packet in which the small pieces obtained by dividing the portion 60 are stored in the Encoding Symbol is set to the same value.
 但し、例えば、ポーション60を分割した小片がEncoding Symbolに格納されるLCTパケットと、ポーション70を分割した小片がEncoding Symbolに格納されるLCTパケットとでは、Encoding Symbolにデータ(小片)が格納されるオブジェクトが、ポーション60と70とで異なるので、ポーション60を分割した小片がEncoding Symbolに格納されるLCTパケットと、ポーション70を分割した小片がEncoding Symbolに格納されるLCTパケットとでは、TOIは異なる。 However, for example, in an LCT packet in which a small piece obtained by dividing the portion 60 is stored in the Encoding Symbol and in an LCT packet in which a small piece obtained by dividing the portion 70 is stored in the Encoding Symbol, data (small pieces) is stored in the Encoding Symbol. Since the objects are different between the portions 60 and 70, the TOI is different between the LCT packet in which the small pieces dividing the portion 60 are stored in the Encoding Symbol and the LCT packet in which the small pieces dividing the portion 70 are stored in the Encoding Symbol .
 クライアント12では、TOIが同一のLCTパケットを受信することで、そのLCTパケットに格納されたポーションの小片を集めて、元のポーションを再構成することができる。 In the client 12, when the TOI receives the same LCT packet, small pieces of the portion stored in the LCT packet can be collected to reconstruct the original portion.
 図19は、ポーション単位でのコンテンツの配信の例を示す図である。 FIG. 19 is a diagram illustrating an example of delivery of content in units of portions.
 図19では、あるフラグメントが、サンプル群#1,#2,#3,・・・を有している。 In FIG. 19, a certain fragment has sample groups # 1, # 2, # 3,.
 そして、サンプル群#1は、例えば、他のビューを参照しないベースビュー(ベースレイヤのビュー)のビデオになっており、サンプル群#2,#3,・・・は、例えば、ベースビュー等の他のビューを参照することがあるノンベースビュー(エンハンスレイヤのビュー)のビデオになっている。 The sample group # 1 is, for example, a video of a base view (a view of the base layer) which does not refer to another view, and the sample groups # 2, # 3,. It is a non-base view (enhanced layer view) video that may refer to other views.
 ポーション単位でのコンテンツの配信では、配信サーバ11において、サンプル群#iを含むポーション#iが生成される(i=1,2,3・・・)。そして、ポーション#iは、小片に分割され、ポーション#iの小片は、LCTパケット#iに格納されて配信される。 In the distribution of content in units of portions, the distribution server 11 generates portions #i including the sample group #i (i = 1, 2, 3...). Then, the portion #i is divided into small pieces, and the small portions of the portion #i are stored in the LCT packet #i and distributed.
 あるポーション#iの小片が格納されたLCTパケット#iのTOIは、同一の値になっているので、クライアント12では、LCTパケットを受信し、その受信したLCTパケットのうちの、TOIが同一のLCTパケットに格納されたポーション#iの小片を集めることで、元のポーション#iを再構成することができる。 Since the TOI of the LCT packet #i in which the small piece of a portion #i is stored has the same value, the client 12 receives the LCT packet, and among the received LCT packets, the TOI is the same. By collecting pieces of portion #i stored in the LCT packet, the original portion #i can be reconstructed.
 ここで、上述したように、図19において、ポーション#1に含まれるサンプル群#1は、ベースビューのビデオになっており、サンプル群#2,#3,・・・は、ノンベースビューのビデオになっている。 Here, as described above, in FIG. 19, the sample group # 1 included in the portion # 1 is a video of the base view, and the sample groups # 2, # 3,. It is a video.
 以上のように、ポーションに含まれるサンプル群が、ベースビューのビデオや、ノンベースビューのビデオのような、何らかの基準で分類することができるデータ(処理単位)である場合には、ポーション(に含まれるサンプル群)単位で、LCTパケットを取捨選択するパケットフィルタリングを行うことができる。 As described above, in the case where the sample group included in the portion is data (processing unit) that can be classified based on some standard, such as a base view video or a non-base view video, It is possible to perform packet filtering for discarding LCT packets on a sample group basis included).
 すなわち、例えば、LCTパケットが配信されるネットワーク環境の変動等により、LCTパケットの配信に、十分なリソース(LCTパケットを最終的に受信するクライアント12のリソースを含む)を割り当てることが困難な場合には、LCTパケットの配信経路上のルータ(例えば、FLUTEマルチキャストのルータ)や、クライアント12のネットワークスタック(LCTパケットを処理するブロック)において、必要最小限、あるいは、処理の優先度が高いLCTパケットだけを選択して処理(転送やスタック等の処理)を行うことができる。 That is, for example, when it is difficult to allocate sufficient resources (including the resources of the client 12 that finally receives the LCT packet) to delivery of the LCT packet due to, for example, fluctuations in the network environment to which the LCT packet is delivered. Is the minimum necessary for a router on the delivery path of LCT packets (for example, a router for FLUTE multicast) or the network stack of client 12 (a block for processing LCT packets), or only LCT packets with high processing priority Can be selected to perform processing (processing such as transfer or stack).
 特に、ネットワーク環境の変動が激しい、例えば、携帯網を用いるコンテンツの配信では、上述のような、必要最小限のLCTパケットや、処理の優先度が高いLCTパケットだけを選択して処理するパケットフィルタリングの技術の要請は、高い。 In particular, in the case of content distribution using a mobile network, for example, where the network environment fluctuates sharply, packet filtering is performed by selecting and processing only the minimum necessary LCT packets and LCT packets with high processing priority as described above. The demand for technology is high.
 ポーション単位で、LCTパケットを取捨選択するパケットフィルタリングを行う方法としては、ポーションとしてのhttpヘッダに、ポーションに含まれるサンプル群が、例えば、ベースビューのビデオであることや、ノンベースビューのビデオであること等を表す、サンプル群の属性情報(例えば、FDT等)を含めておき、そのサンプル群の属性情報に基づいて、そのサンプル群を含むポーション(の小片)が格納されたLCTパケットを取捨選択する方法がある。 As a method of performing packet filtering for discarding LCT packets on a unit-by-portion basis, for example, the sample group included in the portion may be a base view video or a non-base view video in the http header as the portion. Attribute information (for example, FDT etc.) of a sample group is included that indicates something etc., and based on the attribute information of the sample group, the LCT packet in which a portion (piece) of the portion including the sample group is stored is discarded There is a way to choose.
 しかしながら、ポーションとしてのhttpヘッダに、そのポーションに含まれるサンプル群の属性情報を含めておくのでは、パケットフィルタリングを行うたびに、サンプル群の属性情報を認識するために、LCTパケットから、元のポーションを再構成しなければならず、パケットフィルタリングを、効率的に行うことが困難となる。 However, by including the attribute information of the sample group included in the portion in the http header as a portion, the LCT packet can be used to recognize the attribute information of the sample group each time the packet filtering is performed. Portions must be reconfigured, making it difficult to perform packet filtering efficiently.
 そこで、配信サーバ11では、FLUTEストリーマ24において、LCTパケットの処理の優先度を表す優先度パラメータを含むLCTヘッダを有するLCTパケットを生成し、マルチキャストサーバ25において、そのような優先度パラメータを含むLCTヘッダを有するLCTパケットをマルチキャスト配信することで、効率的なパケットフィルタリングを可能とし、これにより、必要なLCTパケットを迅速に配信することや処理することを可能にする。 Therefore, in the distribution server 11, the FLUTE streamer 24 generates an LCT packet having an LCT header including a priority parameter indicating the priority of processing of the LCT packet, and the multicast server 25 generates an LCT including such a priority parameter. Multicast delivery of LCT packets with a header enables efficient packet filtering, which enables the required LCT packets to be delivered and processed quickly.
 <優先度パラメータ> <Priority parameter>
 本技術では、LCTヘッダの拡張ヘッダを、優先度パラメータを格納することができるように拡張することで、LCTヘッダに、優先度パラメータを含める。 In the present technology, a priority parameter is included in the LCT header by extending the extension header of the LCT header so that the priority parameter can be stored.
 図20は、図18のLCTヘッダの拡張ヘッダ(Header Extentions)のフォーマットを示す図である。 FIG. 20 is a diagram showing a format of an extension header (Header Extentions) of the LCT header of FIG.
 拡張ヘッダの先頭の8ビットには、拡張ヘッダの種類(拡張ヘッダにHECとして格納される実データの種類)を表すHET(Header Extension Type)が格納される。 In the first eight bits of the extension header, HET (Header Extension Type) representing the type of the extension header (the type of actual data stored as HEC in the extension header) is stored.
 8ビットのHETが、127以下のとき、HETに続き、8ビットのHEL(Header Extension Length)が格納される。HELには、拡張ヘッダの長さ32×Nビットを表す値Nが設定される。 When 8-bit HET is less than 127, HET is followed by 8-bit HEL (Header Extension Length). In HEL, a value N representing the length 32 × N bits of the extension header is set.
 そして、HELに続き、32×N-8-8ビットの可変長(variable length)のHEC(Header Extension Content)が格納される。HECは、拡張ヘッダの実データである。 Then, following the HEL, a 32 × N-8-8 bit variable length HEC (Header Extension Content) is stored. HEC is the actual data of the extension header.
 一方、8ビットのHETが、128以上のとき、HETに続き、32-8ビットのHECが格納される。 On the other hand, when 8-bit HET is 128 or more, HET is followed by 32-bit HEC.
 HETについては、既に、幾つかの値が規定されているが、本実施の形態では、HETに、まだ規定されてない値を採用することで、優先度パラメータを格納する新たな拡張ヘッダを定義する。 Although some values have already been defined for HET, in the present embodiment, a new extension header for storing priority parameters is defined by adopting a value not yet defined for HET. Do.
 図21は、優先度パラメータを格納する新たな拡張ヘッダの定義の例を示す図である。 FIG. 21 is a diagram showing an example of definition of a new extension header storing priority parameters.
 新たな拡張ヘッダは、8ビットのHET、8ビットのHEL、8ビットのFiltering SchemeURI、8ビットのFiltering Parameter Length、及び、8×FPLNビットのFiltering Parameterが、その順で配置されて構成される。 The new extension header is configured by arranging 8 bits of HET, 8 bits of HEL, 8 bits of Filtering Scheme URI, 8 bits of Filtering Parameter Length, and 8 × FPLN bits of Filtering Parameters in that order.
 新たな拡張ヘッダのHETには、拡張ヘッダに、優先度パラメータが格納されていることを表す値としての、例えば、120が設定される。この場合、HETが127以下なので、図20に示したように、HETの後には、HETが配置される。 For example, 120 is set in the extension header as a value indicating that the priority parameter is stored in the HET of the new extension header. In this case, since HET is 127 or less, HET is placed after HET as shown in FIG.
 HELには、0ないし255の範囲の整数値HELNが設定される。整数値HELNとしては、32×HELNが拡張ヘッダの長さとなる値が採用される。 In HEL, an integer value HELN in the range of 0 to 255 is set. As the integer value HELN, a value such that 32 × HELN is the length of the extension header is adopted.
 Filtering Scheme URIは、Filtering Parameterを定義するスキーム識別子(SchemeURI)である。 Filtering Scheme URI is a scheme identifier (SchemeURI) that defines Filtering Parameter.
 Filtering Parameter Lengthには、0ないし255の範囲の整数値FPLNが設定される。整数値FPLNとしては、32×FPLNが、Filtering Parameterの長さとなる値が採用される。 In the Filtering Parameter Length, an integer value FPLN in the range of 0 to 255 is set. As the integer value FPLN, 32 × FPLN is adopted as a value which is the length of the Filtering Parameter.
 Filtering Parameterは、優先度パラメータであり、その定義(構造)は、Filtering Scheme URIによって特定される。 Filtering Parameter is a priority parameter, and its definition (structure) is specified by Filtering Scheme URI.
 図22は、優先度パラメータ(Filtering Parameter)の定義の例を示す図である。 FIG. 22 is a diagram showing an example of definition of priority parameter (Filtering Parameter).
 例えば、Filtering Scheme URI=1000が、図22の定義を表す。 For example, Filtering Scheme URI = 1000 represents the definition of FIG.
 図22では、優先度パラメータ(Filtering Parameter)は、64ビットであり、8ビットのTrack Reference Index、8ビットのPriority、8ビットのDependency Counter、8ビットのMVC Filter Length、及び、32ビットのMVC Filterが、その順で配置されて構成される。 In FIG. 22, the priority parameter (Filtering 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 and configured in that order.
 Track Reference Indexには、0ないし255の範囲の整数値のうちの、LCTパケットに格納されているフラグメントの一部としてのサンプル群(LCTパケットに小片が格納されているポーションに含まれるサンプル群)が属するトラック(MP4ファイルのトラック)を識別する値が設定される。 In the Track Reference Index, a sample group as a part of a fragment stored in the LCT packet out of integer values in the range of 0 to 255 (a sample group included in a portion where a small piece is stored in the LCT packet) A value is set that identifies the track (track of the MP4 file) to which the
 優先度パラメータとしてのTrack Reference Indexによれば、例えば、所定のトラックの属するサンプル群を含むポーションの小片が格納されたLCTパケットを優先的に選択して処理するパケットフィルタリングを行うことができる。 According to the Track Reference Index as a priority parameter, for example, packet filtering can be performed to preferentially select and process an LCT packet in which a small piece of portion including a sample group to which a predetermined track belongs is stored.
 Priorityは、TOIが同一のLCTパケットごとに設定される。Priorityには、各値のTOIのLCTパケットの処理の優先度を表すインデクスが設定される。 Priority is set for each LCT packet with the same TOI. In Priority, an index indicating the priority of processing of the LCT packet of TOI of each value is set.
 Priorityに設定されるインデクスは、LCTパケットの処理の優先度をランク付けする、0ないし255の範囲の整数値であり、例えば、値が大きいほど、優先度が低い。 The index set to “Priority” is an integer value in the range of 0 to 255 which ranks the priority of processing of the LCT packet. For example, the larger the value, the lower the priority.
 優先度パラメータとしてのPriorityによれば、例えば、所定の値以下のPriorityが設定されたTOIのLCTパケットを優先的に選択して処理するパケットフィルタリングを行うことができる。 According to Priority as a priority parameter, for example, it is possible to perform packet filtering for preferentially selecting and processing an LCT packet of TOI in which Priority equal to or less than a predetermined value is set.
 Dependency Counterには、そのDependency Counterを含むLCTパケットが影響する後続のLCTパケットの数Kが設定される。Dependency Counter=Kの場合、そのDependency Counter=KのLCTパケットの後続のK個のLCTパケットの処理が、Dependency Counter=KのLCTパケットの処理に依存する。 In the Dependency Counter, the number K of subsequent LCT packets affected by the LCT packet including the Dependency Counter is set. If Dependency Counter = K, processing of the K subsequent L LCT packets of that Dependency Counter = K LCT packet depends on processing of the Dependency Counter = K LCT packet.
 優先度パラメータとしてのDependency Counterによれば、例えば、Dependency Counterが1以上のLCTパケット、すなわち、後続の1個以上のLCTパケットに影響するLCTパケットを優先的に選択して処理するパケットフィルタリングを行うことができる。 According to Dependency Counter as a priority parameter, for example, packet filtering is performed to preferentially select and process an LCT packet with a Dependency Counter of 1 or more, that is, an LCT packet affecting one or more subsequent LCT packets. be able to.
 MVC Filter Lengthは、Boolean値をとり、Trueのときに、後続のMVC Filterが存在することを表す。 MVC Filter Length takes a Boolean value, and when True, indicates that the subsequent MVC Filter exists.
 MVC Filterは、LCTパケットに小片が格納されたポーションに含まれるサンプル群が、MVC(Multiview Video Coding)のデータである場合に、そのMVCのデータを取捨選択するフィルタリングを行うための情報である。 The MVC Filter is information for performing filtering to select and select data of MVC (Multiview Video Coding) when the sample group included in the portion in which the small pieces are stored in the LCT packet is data of MVC (Multiview Video Coding).
 MVC Filterとしては、例えば、RTPパケットに格納されるMVCのNAL(Network Abstraction Layer)ユニットのヘッダとして定義されているPRID(priority_id),TID(tempral_id)、及び、VID(View_id)の1以上を採用することができる。 As the MVC Filter, for example, one or more of PRID (priority_id), TID (tempral_id), and VID (View_id) defined as a header of an MVC NAL (Network Abstraction Layer) unit stored in an RTP packet is adopted. can do.
 図23は、MVC Filterの定義の例を示す図である。 FIG. 23 is a diagram illustrating an example of the definition of the MVC Filter.
 32ビットのMVC Filterは、6ビットのpriority_id(PRID)、3ビットのtemporal_id(TID)、10ビットのview_id(VID)、及び、13ビットのReservedが、その順に配置されて構成される。 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,TID, VID、及び、Reservedは、以下のように定義される。 PRID, TID, VID, and Reserved are defined as follows.
 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
 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)
PRID: 6 bits
This flag speci? es a priority identifier for the NAL unit. A lower value of PRIdicates a higher priority.
TID: 3 bits
Informally put, a temporal layer consistent with a view component with a less temporal_id correspond to lower frame rate. temporal_id. This component species the temporal layer (or frame rate) hierarchy.
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
This component specifies the view identifier of the view NAL unit belongs to.
Reserved: 13 bits
(Reserved bit for future expansion)
 PIDは、NALユニット(LCTパケットに小片が格納されたポーションに含まれるサンプル群が、NALユニットである場合の、そのNALユニット)の優先度を表す。PIDが小さいほど、NALユニットの優先度は高い。 The PID represents the priority of the NAL unit (when the sample group included in the portion in which the small pieces are stored in the LCT packet is the NAL unit). The smaller the PID, the higher the priority of the NAL unit.
 TIDは、ビデオ(LCTパケットに小片が格納されたポーションに含まれるサンプル群が、ビデオ(のデータ)である場合の、そのビデオ)の時間的なレイヤ(又はフレームレート)を表す。TIDが小さいレイヤほど、フレームレートは低い。あるレイヤは、そのレイヤよりもTIDが小さい下位レイヤに依存することはあるが、TIDが大きい上位レイヤに依存することはない。 TID represents a temporal layer (or frame rate) of video (when a sample group included in a portion in which a small piece is stored in a LCT packet is (data of) video). The smaller the TID, the lower the frame rate. A layer may depend on a lower layer whose TID is smaller than that of the layer but does not depend on an upper layer whose TID is large.
 VIDは、NALユニットが属するビューを表す。 VID represents the view to which the NAL unit belongs.
 Reservedは、将来のための予約ビットである。 Reserved is a reserved bit for the future.
 以上のようなMVC Filterによれば、例えば、LCTパケットがビデオとしてのNALユニット(の一部)を含む場合に、PIDに基づき、優先度が高いNALユニットを含むLCTパケットを優先的に選択して処理するパケットフィルタリングを行うことができる。 According to the MVC filter as described above, for example, when the LCT packet includes (a part of) a NAL unit as video, an LCT packet including a NAL unit having a high priority is preferentially selected based on the PID. Packet filtering can be performed.
 また、例えば、TIDに基づき、時間的なレイヤが所定のレイヤ以下のビデオ(のNALユニット)、すなわち、時間解像度としてのフレームレートが所定値以下のビデオを含むLCTパケットを優先的に選択して処理するパケットフィルタリングを行うことができる。 Also, for example, on the basis of TID, video with a temporal layer below a predetermined layer (NAL unit), that is, LCT packets including video with a frame rate as a temporal resolution lower than a predetermined value is preferentially selected. It can perform packet filtering to process.
 さらに、例えば、VIDに基づき、所定のビューのビデオ(のNALユニット)を含むLCTパケットを優先的に選択して処理するパケットフィルタリングを行うことができる。 Furthermore, for example, based on the VID, packet filtering may be performed to preferentially select and process LCT packets including (a NAL unit of) a video of a predetermined view.
 その他、優先度パラメータとしては、様々な情報を採用することができる。 Besides, various information can be adopted as the priority parameter.
 すなわち、例えば、LCTパケットが、動画、及び、静止画のうちのいずれかのビデオを含む場合には、そのビデオが、動画、又は、静止画であることを表す情報を、優先度パラメータとして採用することができる。この場合、動画、又は、静止画のビデオを含むLCTパケットを優先的に選択して処理するパケットフィルタリングを行うことができる。 That is, for example, when the LCT packet includes any video of moving image and still image, information indicating that the video is moving image or still image is adopted as the priority parameter. can do. In this case, packet filtering can be performed to preferentially select and process LCT packets including moving image or still image video.
 また、例えば、LCTパケットが、他のレイヤを参照しないベースレイヤ、及び、他のレイヤを参照することがある1以上のノンベースレイヤのうちのいずれかのレイヤのビデオを含む場合には、ビデオのレイヤを表す情報を、優先度パラメータとして採用することができる。この場合、例えば、ベースレイヤのビデオを含むLCTパケットを優先的に選択して処理するパケットフィルタリングを行うことができる。 Also, for example, if the LCT packet contains video of any layer of the base layer that does not refer to other layers and one or more non-base layers that may refer to other layers. The information representing the layer of can be adopted as a priority parameter. In this case, for example, packet filtering may be performed to preferentially select and process LCT packets including base layer video.
 さらに、例えば、LCTパケットが、複数のビューのうちのいずれかのビューのビデオを含む場合には、ビデオのビューを表す情報を、優先度パラメータとして採用することができる。この場合、例えば、ユーザが所望するビューのビデオ(例えば、野球中継において、1塁側、3塁側、及び、バックネット側等の複数の位置から撮影された複数のビューのビデオのうちの、バックネット側から撮影したビューのビデオ)を含むLCTパケットを優先的に選択して処理するパケットフィルタリングを行うことができる。 Furthermore, for example, if the LCT packet contains video of any of the multiple views, then information representative of the video view may be employed as the priority parameter. In this case, for example, a video of a view desired by the user (e.g., a video of a plurality of views taken from a plurality of positions such as a first base, a third base, and a back net side in baseball broadcasting) It is possible to perform packet filtering for preferentially selecting and processing LCT packets including a video of a view taken from the back net side.
 また、例えば、LCTパケットが、複数の解像度のうちのいずれかの解像度のビデオを含む場合には、解像度を表す情報を、優先度パラメータとして採用することができる。この場合、例えば、所定の解像度(以下)のビデオを含むLCTパケットを優先的に選択して処理するパケットフィルタリングを行うことができる。優先度パラメータとしての解像度を表す情報としては、時間解像度、及び、空間解像度の一方、又は、両方の情報を採用することができる。 Also, for example, when the LCT packet includes video of any one of a plurality of resolutions, information representing the resolution can be adopted as the priority parameter. In this case, for example, packet filtering may be performed to preferentially select and process an LCT packet including video of a predetermined resolution (below). As information representing resolution as a priority parameter, information of either or both of a temporal resolution and a spatial resolution can be adopted.
 なお、パケットフィルタリングは、1種類の優先度パラメータに基づいて行う他、複数種類の優先度パラメータに基づいて行うことができる。 Packet filtering can be performed based on one or more types of priority parameters in addition to one type of priority parameter.
 すなわち、例えば、パケットフィルタリングでは、優先度パラメータとしての、例えば、ビデオのビューを表す情報と、解像度を表す情報とに基づき、所定のビューのビデオであって、かつ、所定の解像度のビデオを含むLCTパケットを優先的に選択して処理することができる。 That is, for example, in packet filtering, based on the information representing the view of the video and the information representing the resolution as the priority parameter, for example, the video of the predetermined view and including the video of the predetermined resolution LCT packets can be preferentially selected and processed.
 <優先度パラメータを有するLCTパケットの配信の処理> <Processing of Delivery of LCT Packet Having Priority Parameter>
 図24は、優先度パラメータを有するLCTパケットの配信の処理の例を説明するフローチャートである。 FIG. 24 is a flowchart for explaining an example of processing of delivery of an LCT packet having a priority parameter.
 ステップS201において、配信サーバ11のFLUTEストリーマ24(図2)は、LCTパケットのエンコーディングシンボル(Encoding Symbol)(図17)に格納するデータ(セグメンタ22から供給されるポーションの小片)や、配信サーバ11のオペレータの操作等に基づき、優先度パラメータを設定し、処理は、ステップS202に進む。 In step S201, the FLUTE streamer 24 (FIG. 2) of the delivery server 11 stores the data (a small piece of the portion supplied from the segmenter 22) stored in the encoding symbol (FIG. 17) of the LCT packet. The priority parameter is set based on the operation or the like of the operator, and the process proceeds to step S202.
 ステップS202では、FLUTEストリーマ24は、ステップS201で設定した優先度パラメータを含む拡張ヘッダ(図21)(図22)を生成し、処理は、ステップS203に進む。 In 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.
 ステップS203では、FLUTEストリーマ24は、ステップS202で生成した拡張ヘッダを含むLCTヘッダ(図18)を有し、セグメンタ22から供給されるポーションの小片を、エンコーディングシンボルに配置したLCTパケット(図17)を生成し、マルチキャストサーバ25に供給して、処理は、ステップS204に進む。 In 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 small piece of portion supplied from the segmenter 22 is arranged in the encoding symbol. Are supplied to the multicast server 25 and the process proceeds to step S204.
 ステップS204では、マルチキャストサーバ25が、FLUTEストリーマ24からのLCTパケットをマルチキャスト配信して、処理は、ステップS201に戻り、以下、同様の処理が繰り返される。 In step S204, the multicast server 25 distributes by multicast the LCT packet from the FLUTE streamer 24, and the process returns to step S201, and the same process is repeated thereafter.
 <パケットフィルタリングの処理> <Processing of packet filtering>
 図25は、クライアント12(その他、マルチキャスト配信されるLCTパケットを受信するルータ等の装置)が行うパケットフィルタリングの処理の例を説明するフローチャートである。 FIG. 25 is a flowchart illustrating an example of packet filtering processing performed by the client 12 (other devices such as a router that receives an LCT packet to be multicast-distributed).
 ステップS211において、クライアント12の受信部30(図3)は、ネットワーク環境や装置(クライアント12)のリソース、ユーザの操作、ユーザの嗜好等に基づいて、LCTパケットを処理するときの閾値とする優先度(以下、閾値優先度ともいう)を設定し、処理は、ステップS212に進む。 In step S211, the receiving unit 30 (FIG. 3) of the client 12 sets a threshold for processing the LCT packet based on the network environment, the resource of the apparatus (client 12), the user's operation, the user's preference, etc. Degree (hereinafter, also referred to as threshold priority) is set, and the process proceeds to step S212.
 ステップS212では、受信部30は、LCTパケットがマルチキャスト配信されてくるのを待って、そのLCTパケットを受信し、処理は、ステップS213に進む。 In step S212, the reception unit 30 waits for the LCT packet to be multicast-distributed, and receives the LCT packet, and the process proceeds to step S213.
 ステップS213では、受信部30は、ステップS212で受信したLCTパケットのLCTヘッダに含まれる優先度パラメータと、ステップS211で設定した閾値優先度とに基づき、LCTパケットの処理の可否を判定する可否判定を行って、処理は、ステップS214に進む。 In step S213, the receiving 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. And the process proceeds to step S214.
 ステップS214では、受信部30は、ステップS213での可否判定の判定結果に従い、LCTパケットを取捨選択して、閾値優先度より優先度が低い優先度パラメータを有するLCTパケットについては処理を中止し、閾値優先度以上の優先度の優先度パラメータを有するLCTパケットについては処理を続行する。そして、処理は、ステップS214からステップS211に戻り、以下、同様の処理が繰り返される。 In step S214, the receiving unit 30 selects and discards the LCT packet according to the determination result of the availability determination in step S213, and cancels the process for an LCT packet having a priority parameter whose priority is lower than the threshold priority, Processing is continued for LCT packets having a priority parameter with priority equal to or higher than the threshold priority. Then, the process returns from step S214 to step S211, and the same process is repeated thereafter.
 <本技術を適用したコンピュータの説明> <Description of a computer to which the present technology is applied>
 次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。 Next, the series of processes described above can be performed by hardware or software. When the series of processes are performed by software, a program constituting the software is installed in a general-purpose computer or the like.
 そこで、図26は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。 Thus, 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.
 プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク305やROM303に予め記録しておくことができる。 The program can be recorded in advance in a hard disk 305 or ROM 303 as a recording medium built in the computer.
 あるいはまた、プログラムは、リムーバブル記録媒体311に格納(記録)しておくことができる。このようなリムーバブル記録媒体311は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体311としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。 Alternatively, the program can be stored (recorded) in the removable recording medium 311. Such removable recording medium 311 can be provided as so-called package software. Here, examples of the removable recording medium 311 include a flexible disc, a compact disc read only memory (CD-ROM), a magneto optical disc (MO), a digital versatile disc (DVD), a magnetic disc, a semiconductor memory, and the like.
 なお、プログラムは、上述したようなリムーバブル記録媒体311からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク305にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。 The program may be installed on the computer from the removable recording medium 311 as described above, or may be downloaded to the computer via a communication network or a broadcast network and installed on the built-in hard disk 305. That is, for example, the program is wirelessly transferred from the download site to the computer via an artificial satellite for digital satellite broadcasting, or transferred to the computer via a network such as a LAN (Local Area Network) or the Internet. be able to.
 コンピュータは、CPU(Central Processing Unit)302を内蔵しており、CPU302には、バス301を介して、入出力インタフェース310が接続されている。 The computer incorporates a CPU (Central Processing Unit) 302, and an input / output interface 310 is connected to the CPU 302 via a bus 301.
 CPU302は、入出力インタフェース310を介して、ユーザによって、入力部307が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)303に格納されているプログラムを実行する。あるいは、CPU302は、ハードディスク305に格納されたプログラムを、RAM(Random Access Memory)304にロードして実行する。 When an instruction is input by the user operating the input unit 307 or the like by the user via the input / output interface 310, the CPU 302 executes a program stored in a ROM (Read Only Memory) 303 accordingly. . Alternatively, the CPU 302 loads a program stored in the hard disk 305 into a random access memory (RAM) 304 and executes the program.
 これにより、CPU302は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU302は、その処理結果を、必要に応じて、例えば、入出力インタフェース310を介して、出力部306から出力、あるいは、通信部308から送信、さらには、ハードディスク305に記録等させる。 Thus, the CPU 302 performs the processing according to the above-described flowchart or the processing performed by the configuration of the above-described block diagram. Then, the CPU 302 causes the processing result to be output from the output unit 306, transmitted from the communication unit 308, or recorded in the hard disk 305, for example, via the input / output interface 310, as necessary.
 なお、入力部307は、キーボードや、マウス、マイク等で構成される。また、出力部306は、LCD(Liquid Crystal Display)やスピーカ等で構成される。 The input unit 307 is configured of a keyboard, a mouse, a microphone, and the like. The output unit 306 is configured of an LCD (Liquid Crystal Display), a speaker, and the like.
 ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。 Here, in the present specification, the processing performed by the computer according to the program does not necessarily have to be performed chronologically 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 separately (for example, parallel processing or processing by an object).
 また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。 The program may be processed by one computer (processor) or may be distributed and processed by a plurality of computers. Furthermore, the program may be transferred to a remote computer for execution.
 さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。 Furthermore, in the present specification, the system means a set of a plurality of components (apparatus, modules (parts), etc.), and it does not matter whether all the components are in the same housing or not. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems. .
 なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。 Note that the embodiments of the present technology are not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the present technology.
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。 For example, the present technology can have a cloud computing configuration in which one function is shared and processed by a plurality of devices via a network.
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。 Further, each step described in the above-described flowchart can be executed by one device or in a shared manner by a plurality of devices.
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。 Furthermore, in the case where a plurality of processes are included in one step, the plurality of processes included in one step can be executed by being shared by a plurality of devices in addition to being executed by one device.
 また、セグメンタ22において、ポーションを生成する対象のフラグメントとしては、fragmentedMP4(ISO/IEC14496-14)のフラグメントの他、任意のデータフォーマットのフラグメント(データの一部)を採用することができる。 Also, in the segmenter 22, fragments (parts of data) of any data format can be adopted as fragments for which portions are to be generated, in addition to fragments of fragmented MP 4 (ISO / IEC 14496-14).
 すなわち、ポーションを生成する対象のフラグメントとしては、例えば、ISO base media file format(ISO/IEC 14496-12)や、ISO/IEC 14496-15で規定されているフォーマット、QuickTime形式、その他の、いわゆるボックス構造を有するデータフォーマットのフラグメント、さらには、ボックス構造を有しないデータフォーマット(例えば、TS(Transport Stream)等)のデータを断片化したフラグメントを採用することができる。 That is, as fragments for which portions are to be generated, for example, ISO base media file format (ISO / IEC 14496-12), a format specified in ISO / IEC 14496-15, QuickTime format, and other so-called boxes A fragment of a data format having a structure, or a fragment obtained by fragmenting data of a data format having no box structure (for example, TS (Transport Stream) etc.) can be employed.
 さらに、ポーションを生成する対象のフラグメントとしては、例えば、MPEGのTS(Transport Stream)や、webM、その他の任意の動画フォーマットのフラグメントを採用することができる。 Furthermore, as a fragment for which a portion is to be generated, for example, a MPEG TS (Transport Stream), a webM, or any other moving image format fragment can be adopted.
 また、本技術は、コンテンツ以外の任意のデータの配信に適用することができる。 In addition, the present technology can be applied to delivery of arbitrary data other than content.
 ここで、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。 Here, the effects described in the present specification are merely examples and are not limited, and other effects may be present.
 なお、本技術は、以下のような構成をとることができる。 The present technology can be configured as follows.
 <1>
 パケットの処理の優先度を表すための優先度パラメータを含むLCT(Layerd Coding Transport)ヘッダを有するLCTパケットを配信する配信部を備える
 送信装置。
 <2>
 前記優先度パラメータは、前記LCTヘッダの拡張ヘッダに含まれる
 <1>に記載の送信装置。
 <3>
 前記拡張ヘッダは、前記優先度パラメータの他、前記優先度パラメータを定義するスキーム識別子を含む
 <2>に記載の送信装置。
 <4>
 前記LCTパケットが、ビデオのデータを含む場合において、
 前記優先度パラメータは、前記ビデオが、動画、又は、静止画であることを表す情報を含む
 <1>ないし<3>のいずれかに記載の送信装置。
 <5>
 前記LCTパケットが、ベースレイヤ、及び、1以上のノンベースレイヤのうちのいずれかのレイヤのビデオのデータを含む場合において、
 前記優先度パラメータは、前記ビデオのレイヤを表す情報を含む
 <1>ないし<4>のいずれかに記載の送信装置。
 <6>
 前記LCTパケットが、複数のビューのうちのいずれかのビューのビデオのデータを含む場合において、
 前記優先度パラメータは、前記ビデオのビューを表す情報を含む
 <1>ないし<5>のいずれかに記載の送信装置。
 <7>
 前記LCTパケットが、ビデオのデータを含む場合において、
 前記優先度パラメータは、前記ビデオの解像度を表す情報を含む
 <1>ないし<6>のいずれかに記載の送信装置。
 <8>
 前記優先度パラメータは、前記ビデオの解像度を表す情報として、前記ビデオの空間解像度、又は、時間解像度を表す情報を含む
 <7>に記載の送信装置。
 <9>
 前記優先度パラメータは、TOI(Transport Object Identifier)が同一の前記LCTパケットごとに設定される、各値のTOIの前記LCTパケットの処理の優先度を表すインデクスを含む
 <1>ないし<8>のいずれかに記載の送信装置。
 <10>
 前記LCTパケットが、fragmentedMP4のフラグメントの一部を含む場合において、
 前記優先度パラメータは、前記フラグメントの一部が属するトラックを識別する情報を含む
 <1>ないし<9>のいずれかに記載の送信装置。
 <11>
 前記LCTパケットが、MVC(Multiview Video Coding)のデータを含む場合において、
 前記優先度パラメータは、前記MVCのデータを取捨選択するフィルタリングを行うための情報を含む
 <1>ないし<10>のいずれかに記載の送信装置。
 <12>
 前記フィルタリングを行うための情報は、RTP(Real-time Transport Protocol)パケットに格納されるMVCのNAL(Network Abstraction Layer)ユニットのヘッダとして定義されているPRID(priority_id),TID(tempral_id)、及び、VID(view_id)の1以上を含む
 <11>に記載の送信装置。
 <13>
 前記優先度パラメータは、その優先度パラメータを含む前記LCTパケットが影響する後続の前記LCTパケットの数を表す情報を含む
 <1>ないし<12>のいずれかに記載の送信装置。
 <14>
 パケットの処理の優先度を表すための優先度パラメータを含むLCT(Layerd Coding Transport)ヘッダを有するLCTパケットを配信する
 ステップを含む送信方法。
 <15>
 パケットの処理の優先度を表すための優先度パラメータを含むLCT(Layerd Coding Transport)ヘッダを有するLCTパケットを受信する受信部を備える
 受信装置。
 <16>
 前記優先度パラメータは、前記LCTヘッダの拡張ヘッダに含まれる
 <15>に記載の受信装置。
 <17>
 前記拡張ヘッダは、前記優先度パラメータの他、前記優先度パラメータを定義するスキーム識別子を含む
 <16>に記載の受信装置。
 <18>
 前記LCTパケットが、ビデオのデータを含む場合において、
 前記優先度パラメータは、前記ビデオが、動画、又は、静止画であることを表す情報を含む
 <15>ないし<17>のいずれかに記載の受信装置。
 <19>
 前記LCTパケットが、ベースレイヤ、及び、1以上のノンベースレイヤのうちのいずれかのレイヤのビデオのデータを含む場合において、
 前記優先度パラメータは、前記ビデオのレイヤを表す情報を含む
 <15>ないし<18>のいずれかに記載の受信装置。
 <20>
 前記LCTパケットが、複数のビューのうちのいずれかのビューのビデオのデータを含む場合において、
 前記優先度パラメータは、前記ビデオのビューを表す情報を含む
 <15>ないし<19>のいずれかに記載の受信装置。
 <21>
 前記LCTパケットが、ビデオのデータを含む場合において、
 前記優先度パラメータは、前記ビデオの解像度を表す情報を含む
 <15>ないし<20>のいずれかに記載の受信装置。
 <22>
 前記優先度パラメータは、前記ビデオの解像度を表す情報として、前記ビデオの空間解像度、又は、時間解像度を表す情報を含む
 <21>に記載の受信装置。
 <23>
 前記優先度パラメータは、TOI(Transport Object Identifier)が同一の前記LCTパケットごとに設定される、各値のTOIの前記LCTパケットの処理の優先度を表すインデクスを含む
 <15>ないし<22>のいずれかに記載の受信装置。
 <24>
 前記LCTパケットが、fragmentedMP4のフラグメントの一部を含む場合において、
 前記優先度パラメータは、前記フラグメントの一部が属するトラックを識別する情報を含む
 <15>ないし<23>のいずれかに記載の受信装置。
 <25>
 前記LCTパケットが、MVC(Multiview Video Coding)のデータを含む場合において、
 前記優先度パラメータは、前記MVCのデータを取捨選択するフィルタリングを行うための情報を含む
 <15>ないし<24>のいずれかに記載の受信装置。
 <26>
 前記フィルタリングを行うための情報は、RTP(Real-time Transport Protocol)パケットに格納されるMVCのNAL(Network Abstraction Layer)ユニットのヘッダとして定義されているPRID(priority_id),TID(tempral_id)、及び、VID(view_id)の1以上を含む
 <25>に記載の受信装置。
 <27>
 前記優先度パラメータは、その優先度パラメータを含む前記LCTパケットが影響する後続の前記LCTパケットの数を表す情報を含む
 <15>ないし<26>のいずれかに記載の受信装置。
 <28>
 パケットの処理の優先度を表すための優先度パラメータを含むLCT(Layerd Coding Transport)ヘッダを有するLCTパケットを受信する
 ステップを含む受信方法。
<1>
A transmitter comprising: a distribution unit configured to distribute an LCT packet having a Layered Coding Transport (LCT) header including a priority parameter for indicating the priority of processing of the packet.
<2>
The transmission apparatus according to <1>, wherein the priority parameter is included in an extension header of the LCT header.
<3>
The transmission apparatus according to <2>, wherein the extension header includes, in addition to the priority parameter, a scheme identifier that defines the priority parameter.
<4>
In the case where the LCT packet contains video data,
The transmission apparatus according to any one of <1> to <3>, wherein the priority parameter includes information indicating that the video is a moving image or a still image.
<5>
In the case where the LCT packet contains video data of any of the base layer and one or more non-base layers,
The transmission apparatus according to any one of <1> to <4>, wherein the priority parameter includes information representing a layer of the video.
<6>
In the case where the LCT packet contains video data of any of a plurality of views,
The transmission apparatus according to any one of <1> to <5>, wherein the priority parameter includes information representing a view of the video.
<7>
In the case where the LCT packet contains video data,
The transmission apparatus according to any one of <1> to <6>, wherein the priority parameter includes information representing a resolution of the video.
<8>
The transmission apparatus according to <7>, wherein the priority parameter includes information indicating a spatial resolution or temporal resolution of the video as the information indicating the resolution of the video.
<9>
The priority parameter includes an index indicating the priority of processing of the LCT packet of each value TOI, which is set for each of the LCT packets having the same TOI (Transport Object Identifier) <1> to <8> The transmitter according to any one of the above.
<10>
If the LCT packet contains part of a fragment of fragmented MP4:
The transmission apparatus according to any one of <1> to <9>, wherein the priority parameter includes information identifying a track to which a part of the fragment belongs.
<11>
In the case where the LCT packet includes data of Multiview Video Coding (MVC),
The transmission apparatus according to any one of <1> to <10>, wherein the priority parameter includes information for performing filtering to select data of the MVC.
<12>
The information for performing the filtering may be PRID (priority_id), TID (tempral_id), and PRID defined as a header of a Network Abstraction Layer (NAL) unit of MVC stored in a Real-time Transport Protocol (RTP) packet. The transmitter according to <11>, including one or more of VID (view_id).
<13>
The transmission apparatus according to any one of <1> to <12>, wherein the priority parameter includes information indicating the number of subsequent LCT packets affected by the LCT packet including the priority parameter.
<14>
A transmission method including the step of delivering an LCT packet having a Layered Coding Transport (LCT) header including a priority parameter for indicating the priority of processing of the packet.
<15>
A receiving apparatus comprising: a receiving unit that receives an LCT packet having a Layered Coding Transport (LCT) header including a priority parameter for indicating a priority of processing of the packet.
<16>
The receiving apparatus according to <15>, wherein the priority parameter is included in an extension header of the LCT header.
<17>
The receiving device according to <16>, wherein the extension header includes, in addition to the priority parameter, a scheme identifier that defines the priority parameter.
<18>
In the case where the LCT packet contains video data,
The receiving device according to any one of <15> to <17>, wherein the priority parameter includes information indicating that the video is a moving image or a still image.
<19>
In the case where the LCT packet contains video data of any of the base layer and one or more non-base layers,
The receiving apparatus according to any one of <15> to <18>, wherein the priority parameter includes information representing a layer of the video.
<20>
In the case where the LCT packet contains video data of any of a plurality of views,
The receiver according to any one of <15> to <19>, wherein the priority parameter includes information representing a view of the video.
<21>
In the case where the LCT packet contains video data,
The receiving device according to any one of <15> to <20>, wherein the priority parameter includes information representing a resolution of the video.
<22>
The reception apparatus according to <21>, wherein the priority parameter includes information indicating a spatial resolution or temporal resolution of the video as the information indicating the resolution of the video.
<23>
The priority parameter includes an index indicating the priority of processing of the LCT packet of each value TOI, which is set for each of the LCT packets having the same TOI (Transport Object Identifier) <15> to <22> The receiver according to any one.
<24>
If the LCT packet contains part of a fragment of fragmented MP4:
The receiver according to any one of <15> to <23>, wherein the priority parameter includes information identifying a track to which a part of the fragment belongs.
<25>
In the case where the LCT packet includes data of Multiview Video Coding (MVC),
The receiving device according to any one of <15> to <24>, wherein the priority parameter includes information for performing filtering to select data of the MVC.
<26>
The information for performing the filtering may be PRID (priority_id), TID (tempral_id), and PRID defined as a header of a Network Abstraction Layer (NAL) unit of MVC stored in a Real-time Transport Protocol (RTP) packet. The receiving device according to <25>, including one or more of VID (view_id).
<27>
The receiving apparatus according to any one of <15> to <26>, wherein the priority parameter includes information indicating the number of subsequent LCT packets affected by the LCT packet including the priority parameter.
<28>
A receiving method comprising: receiving an LCT packet having a Layered Coding Transport (LCT) header including a priority parameter for indicating a priority of processing of the packet.
 10 ネットワーク, 11 配信サーバ, 12 クライアント, 13 NTPサーバ, 21 チャンネルストリーマ, 22 セグメンタ, 23 メタデータジェネレータ, 24 FLUTEストリーマ, 25 マルチキャストサーバ, 26 webサーバ, 30 受信部, 31 ミドルウェア, 32 DASHクライアント, 33 再生部, 301 バス, 302 CPU, 303 ROM, 304 RAM, 305 ハードディスク, 306 出力部, 307 入力部, 308 通信部, 309 ドライブ, 310 入出力インタフェース, 311 リムーバブル記録媒体 10 Network, 11 Distribution Server, 12 Client, 13 NTP Server, 21 Channel Streamer, 22 Segmenter, 23 Metadata Generator, 24 FLUTE Streamer, 25 Multicast Server, 26 Web Server, 30 Receiver, 31 Middleware, 32 DASH Client, 33 Reproduction unit, 301 bus, 302 CPU, 303 ROM, 304 RAM, 305 hard disk, 306 output unit, 307 input unit, 308 communication unit, 309 drive, 310 input / output interface, 311 removable recording medium

Claims (28)

  1.  パケットの処理の優先度を表すための優先度パラメータを含むLCT(Layerd Coding Transport)ヘッダを有するLCTパケットを配信する配信部を備える
     送信装置。
    A transmitter comprising: a distribution unit configured to distribute an LCT packet having a Layered Coding Transport (LCT) header including a priority parameter for indicating the priority of processing of the packet.
  2.  前記優先度パラメータは、前記LCTヘッダの拡張ヘッダに含まれる
     請求項1に記載の送信装置。
    The transmission apparatus according to claim 1, wherein the priority parameter is included in an extension header of the LCT header.
  3.  前記拡張ヘッダは、前記優先度パラメータの他、前記優先度パラメータを定義するスキーム識別子を含む
     請求項2に記載の送信装置。
    The transmitting apparatus according to claim 2, wherein the extension header includes, in addition to the priority parameter, a scheme identifier that defines the priority parameter.
  4.  前記LCTパケットが、ビデオのデータを含む場合において、
     前記優先度パラメータは、前記ビデオが、動画、又は、静止画であることを表す情報を含む
     請求項3に記載の送信装置。
    In the case where the LCT packet contains video data,
    The transmission apparatus according to claim 3, wherein the priority parameter includes information indicating that the video is a moving image or a still image.
  5.  前記LCTパケットが、ベースレイヤ、及び、1以上のノンベースレイヤのうちのいずれかのレイヤのビデオのデータを含む場合において、
     前記優先度パラメータは、前記ビデオのレイヤを表す情報を含む
     請求項3に記載の送信装置。
    In the case where the LCT packet contains video data of any of the base layer and one or more non-base layers,
    The transmission apparatus according to claim 3, wherein the priority parameter includes information representing a layer of the video.
  6.  前記LCTパケットが、複数のビューのうちのいずれかのビューのビデオのデータを含む場合において、
     前記優先度パラメータは、前記ビデオのビューを表す情報を含む
     請求項3に記載の送信装置。
    In the case where the LCT packet contains video data of any of a plurality of views,
    The transmission apparatus according to claim 3, wherein the priority parameter includes information representing a view of the video.
  7.  前記LCTパケットが、ビデオのデータを含む場合において、
     前記優先度パラメータは、前記ビデオの解像度を表す情報を含む
     請求項3に記載の送信装置。
    In the case where the LCT packet contains video data,
    The transmission apparatus according to claim 3, wherein the priority parameter includes information representing a resolution of the video.
  8.  前記優先度パラメータは、前記ビデオの解像度を表す情報として、前記ビデオの空間解像度、又は、時間解像度を表す情報を含む
     請求項7に記載の送信装置。
    The transmitting apparatus according to claim 7, wherein the priority parameter includes information representing a spatial resolution or temporal resolution of the video as the information representing the resolution of the video.
  9.  前記優先度パラメータは、TOI(Transport Object Identifier)が同一の前記LCTパケットごとに設定される、各値のTOIの前記LCTパケットの処理の優先度を表すインデクスを含む
     請求項3に記載の送信装置。
    The transmitting apparatus according to claim 3, wherein the priority parameter includes an index indicating a processing priority of the LCT packet of each value TOI, which is set for each of the LCT packets having the same TOI (Transport Object Identifier). .
  10.  前記LCTパケットが、fragmentedMP4のフラグメントの一部を含む場合において、
     前記優先度パラメータは、前記フラグメントの一部が属するトラックを識別する情報を含む
     請求項3に記載の送信装置。
    If the LCT packet contains part of a fragment of fragmented MP4:
    The transmitting apparatus according to claim 3, wherein the priority parameter includes information identifying a track to which a part of the fragment belongs.
  11.  前記LCTパケットが、MVC(Multiview Video Coding)のデータを含む場合において、
     前記優先度パラメータは、前記MVCのデータを取捨選択するフィルタリングを行うための情報を含む
     請求項3に記載の送信装置。
    In the case where the LCT packet includes data of Multiview Video Coding (MVC),
    The transmitting apparatus according to claim 3, wherein the priority parameter includes information for performing filtering to select data of the MVC.
  12.  前記フィルタリングを行うための情報は、RTP(Real-time Transport Protocol)パケットに格納されるMVCのNAL(Network Abstraction Layer)ユニットのヘッダとして定義されているPRID(priority_id),TID(tempral_id)、及び、VID(view_id)の1以上を含む
     請求項11に記載の送信装置。
    The information for performing the filtering may be PRID (priority_id), TID (tempral_id), and PRID defined as a header of a Network Abstraction Layer (NAL) unit of MVC stored in a Real-time Transport Protocol (RTP) packet. The transmission device according to claim 11, comprising one or more of VID (view_id).
  13.  前記優先度パラメータは、その優先度パラメータを含む前記LCTパケットが影響する後続の前記LCTパケットの数を表す情報を含む
     請求項3に記載の送信装置。
    The transmitting apparatus according to claim 3, wherein the priority parameter includes information indicating the number of subsequent LCT packets affected by the LCT packet including the priority parameter.
  14.  パケットの処理の優先度を表すための優先度パラメータを含むLCT(Layerd Coding Transport)ヘッダを有するLCTパケットを配信する
     ステップを含む送信方法。
    A transmission method including the step of delivering an LCT packet having a Layered Coding Transport (LCT) header including a priority parameter for indicating the priority of processing of the packet.
  15.  パケットの処理の優先度を表すための優先度パラメータを含むLCT(Layerd Coding Transport)ヘッダを有するLCTパケットを受信する受信部を備える
     受信装置。
    A receiving apparatus comprising: a receiving unit that receives an LCT packet having a Layered Coding Transport (LCT) header including a priority parameter for indicating a priority of processing of the packet.
  16.  前記優先度パラメータは、前記LCTヘッダの拡張ヘッダに含まれる
     請求項15に記載の受信装置。
    The receiver according to claim 15, wherein the priority parameter is included in an extension header of the LCT header.
  17.  前記拡張ヘッダは、前記優先度パラメータの他、前記優先度パラメータを定義するスキーム識別子を含む
     請求項16に記載の受信装置。
    The receiving apparatus according to claim 16, wherein the extension header includes, in addition to the priority parameter, a scheme identifier that defines the priority parameter.
  18.  前記LCTパケットが、ビデオのデータを含む場合において、
     前記優先度パラメータは、前記ビデオが、動画、又は、静止画であることを表す情報を含む
     請求項17に記載の受信装置。
    In the case where the LCT packet contains video data,
    The receiving device according to claim 17, wherein the priority parameter includes information indicating that the video is a moving image or a still image.
  19.  前記LCTパケットが、ベースレイヤ、及び、1以上のノンベースレイヤのうちのいずれかのレイヤのビデオのデータを含む場合において、
     前記優先度パラメータは、前記ビデオのレイヤを表す情報を含む
     請求項17に記載の受信装置。
    In the case where the LCT packet contains video data of any of the base layer and one or more non-base layers,
    The receiving apparatus according to claim 17, wherein the priority parameter includes information representing a layer of the video.
  20.  前記LCTパケットが、複数のビューのうちのいずれかのビューのビデオのデータを含む場合において、
     前記優先度パラメータは、前記ビデオのビューを表す情報を含む
     請求項17に記載の受信装置。
    In the case where the LCT packet contains video data of any of a plurality of views,
    The receiving device according to claim 17, wherein the priority parameter includes information representing a view of the video.
  21.  前記LCTパケットが、ビデオのデータを含む場合において、
     前記優先度パラメータは、前記ビデオの解像度を表す情報を含む
     請求項17に記載の受信装置。
    In the case where the LCT packet contains video data,
    The receiving apparatus according to claim 17, wherein the priority parameter includes information representing a resolution of the video.
  22.  前記優先度パラメータは、前記ビデオの解像度を表す情報として、前記ビデオの空間解像度、又は、時間解像度を表す情報を含む
     請求項21に記載の受信装置。
    The receiving apparatus according to claim 21, wherein the priority parameter includes information indicating a spatial resolution or temporal resolution of the video as the information indicating the resolution of the video.
  23.  前記優先度パラメータは、TOI(Transport Object Identifier)が同一の前記LCTパケットごとに設定される、各値のTOIの前記LCTパケットの処理の優先度を表すインデクスを含む
     請求項17に記載の受信装置。
    The receiving apparatus according to claim 17, wherein the priority parameter includes an index indicating a processing priority of the LCT packet of each value TOI, which is set for each of the LCT packets having the same TOI (Transport Object Identifier). .
  24.  前記LCTパケットが、fragmentedMP4のフラグメントの一部を含む場合において、
     前記優先度パラメータは、前記フラグメントの一部が属するトラックを識別する情報を含む
     請求項17に記載の受信装置。
    If the LCT packet contains part of a fragment of fragmented MP4:
    The receiver according to claim 17, wherein the priority parameter includes information identifying a track to which a part of the fragment belongs.
  25.  前記LCTパケットが、MVC(Multiview Video Coding)のデータを含む場合において、
     前記優先度パラメータは、前記MVCのデータを取捨選択するフィルタリングを行うための情報を含む
     請求項17に記載の受信装置。
    In the case where the LCT packet includes data of Multiview Video Coding (MVC),
    The receiving apparatus according to claim 17, wherein the priority parameter includes information for performing filtering to select data of the MVC.
  26.  前記フィルタリングを行うための情報は、RTP(Real-time Transport Protocol)パケットに格納されるMVCのNAL(Network Abstraction Layer)ユニットのヘッダとして定義されているPRID(priority_id),TID(tempral_id)、及び、VID(view_id)の1以上を含む
     請求項25に記載の受信装置。
    The information for performing the filtering may be PRID (priority_id), TID (tempral_id), and PRID defined as a header of a Network Abstraction Layer (NAL) unit of MVC stored in a Real-time Transport Protocol (RTP) packet. 26. The receiving device according to claim 25, comprising one or more of VID (view_id).
  27.  前記優先度パラメータは、その優先度パラメータを含む前記LCTパケットが影響する後続の前記LCTパケットの数を表す情報を含む
     請求項17に記載の受信装置。
    The receiving apparatus according to claim 17, wherein the priority parameter includes information indicating the number of subsequent LCT packets affected by the LCT packet including the priority parameter.
  28.  パケットの処理の優先度を表すための優先度パラメータを含むLCT(Layerd Coding Transport)ヘッダを有するLCTパケットを受信する
     ステップを含む受信方法。
    A receiving method comprising: receiving an LCT packet having a Layered Coding Transport (LCT) header including a priority parameter for indicating a priority of processing of the packet.
PCT/JP2014/077659 2013-10-30 2014-10-17 Transmission apparatus, transmission method, reception apparatus, and reception method WO2015064384A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-225541 2013-10-30
JP2013225541 2013-10-30

Publications (1)

Publication Number Publication Date
WO2015064384A1 true WO2015064384A1 (en) 2015-05-07

Family

ID=53003993

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/077659 WO2015064384A1 (en) 2013-10-30 2014-10-17 Transmission apparatus, transmission method, reception apparatus, and reception method

Country Status (1)

Country Link
WO (1) WO2015064384A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015146647A1 (en) * 2014-03-28 2015-10-01 ソニー株式会社 Transmission device, transmission method, reception device, reception method, and program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080046575A1 (en) * 2006-08-21 2008-02-21 Nokia Corporation Caching directives for a file delivery protocol
JP2011101156A (en) * 2009-11-05 2011-05-19 Nippon Hoso Kyokai <Nhk> Receiver

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080046575A1 (en) * 2006-08-21 2008-02-21 Nokia Corporation Caching directives for a file delivery protocol
JP2011101156A (en) * 2009-11-05 2011-05-19 Nippon Hoso Kyokai <Nhk> Receiver

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015146647A1 (en) * 2014-03-28 2015-10-01 ソニー株式会社 Transmission device, transmission method, reception device, reception method, and program
EP3125563A4 (en) * 2014-03-28 2017-09-06 Sony Corporation Transmission device, transmission method, reception device, reception method, and program
US10432989B2 (en) 2014-03-28 2019-10-01 Saturn Licensing Llc Transmission apparatus, transmission method, reception apparatus, receiving method, and program

Similar Documents

Publication Publication Date Title
JP6845223B2 (en) Transport of coded audio data
JP6329964B2 (en) Transmission device, transmission method, reception device, and reception method
JP6348251B2 (en) Terminal device, receiving method, and program
CN110213666B (en) Receiving device, receiving method and storage medium
TW201725911A (en) Determining media delivery event locations for media transport
KR102499231B1 (en) Receiving device, sending device and data processing method
RU2656093C2 (en) Content supply device, content supply method, program, terminal device and content supply system
KR20120114016A (en) Method and apparatus for network adaptive streaming user data in a outer terminal
KR102137858B1 (en) Transmission device, transmission method, reception device, reception method, and program
CA2904959A1 (en) Communication devices, communication data generation method, and communication data processing method
JP6492006B2 (en) Content supply apparatus, content supply method, program, and content supply system
CN105900437B (en) Communication apparatus, communication data generating method, and communication data processing method
Begen et al. Are the streamingformat wars over?
WO2015064384A1 (en) Transmission apparatus, transmission method, reception apparatus, and reception method
RU2658672C2 (en) Content provision device, program, terminal device and content provision system
Eberhard et al. Nextsharepc: an open-source bittorrent-based p2p client supporting svc
WO2015012140A1 (en) Content supply device, content supply method, program, terminal device, and content supply system

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: 14858669

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14858669

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP