Abstract: This technology pertains to a transmission device a transmission method a reception device and a reception method that make it possible to deliver data expeditiously. A hypertext transfer protocol (HTTP) response containing part of a fragment and an HTTP header is delivered. Said HTTP header contains a sequence number that indicates the ordering position of the fragment and a version that indicates the ordering position of the aforementioned part within that fragment. This technology can be applied for example when delivering content via multicast.
FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENTS RULES, 2003
COMPLETE SPECIFICATION
(See section 10, rule 13)
“TRANSMISSION DEVICE, TRANSMISSION METHOD, RECEPTION DEVICE, AND RECEPTION METHOD”
SONY CORPORATION, of 1-7-1, Konan, Minato-ku, Tokyo 108-0075, Japan
The following specification particularly describes the invention and the manner in which it is to be performed. 2
DESCRIPTION
TRANSMISSION APPARATUS, TRANSMITTING METHOD, RECEPTION APPARATUS, AND RECEIVING METHOD
TECHNICAL FIELD5
[0001]
The present technique relates to a transmission apparatus, a transmitting method, a reception apparatus, and a receiving method, andspecifically, for example, to a transmission apparatus, a transmitting method, a 10 reception apparatus, and a receiving method which can promptly distribute data.
BACKGROUND ART
[0002]15
In recent years, the mainstream of a streaming service on the Internethas been over the top video (OTT-V).For example, moving picture experts group-dynamic adaptive streaming over hypertext transfer protocol (HTTP) (MPEG-DASH) (referred to as DASH below) has 20 started to be widely used as a basic technique of the OTT-V.
[0003]
In the DASH, for example, media presentation description (MPD) as metadata including attribute 25 information to optimally select streams having different characteristics from the same source is informed from a server which distributes a stream to a client which receives the stream. The client realizes a network environment adaptive type streaming by using the MPD (for 30 example, refer to Non-Patent Document1).3
[0004]
That is, in the DASH, the server prepares a plurality of streams having different imagequality and image size according to communication environment of a distribution path, the capacity and the state of the 5 client, and the like as the same content.
[0005]
On the other hand, the client adaptively selects a stream which can be received by the client and which is suitable for the capacity of the client (decode capacity 10 and the like) from among the plurality of streams which is prepared by the server. Then, the client receives the stream and reproduces it.
[0006]
In the DASH, the metadata which is referred to as 15 the MPD and is used to reproduce and control the content is distributed from the server to the client so that the client can adaptively select and receive the stream.
[0007]
In the MPD, a uniform resource locator (URL) as an 20 address of a segment (media data such as Audio/Video/Subtitle) which is obtained by dividing the content is written.The client transmits an http request to a (web) server to be a distribution source of the content based on the URL and the like written in the MPD 25 and receives and reproduces the segment which is distributed by the server according to the http request by unicast.
CITATION LIST30
NON-PATENTDOCUMENT4
[0008]
Non-Patent Document1:“Achieving Uninterrupted Video Streaming Using Existing Web Servers”, Mitsuhiro HIRABAYASHI, NIKKEI ELECTRONICS, March 19, 2012
5
SUMMARY OF THE INVENTION
PROBLEMS TO BE SOLVED BY THE INVENTION
[0009]
Distribution of the content by the DASH is realized by the point-to-point http streaming. Therefore, for 10 example, when it is applied to the streaming of the content (program) such as a sports broadcast which can be concurrently viewed by a large number of users, it is necessary to use (be supported by) a contents delivery network (CDN) such as the Akamai.15
[0010]
However, even whenthe CDN is used, it is difficult to request a scalability equal to existing broadcast distribution because of a restriction of the cost of the CDN.20
[0011]
The DASH has a streaming protocol for using the http as a base. However, regarding the content which is concurrently viewed by a plurality of users, for example, it is desirable that a load of a network resource is 25 reduced by performing simultaneous multiple distribution by using a multicast or broadcast (MC/BC) bearer such as a real-time transport protocol (RTP) and a file delivery over unidirectional transport (FLUTE) together.
[0012]30
In the current DASH, a file is distributed in a 5
segment unit while having the segment (file thereof) which is obtained by dividing the stream of the content as a file distribution unit (control target) in the DASH.
[0013]
Therefore, in the current DASH, when the content is 5 distributed by multicast (including broadcast distribution), it is necessary to wait for the distribution of the content before the segment is generated.
[0014]10
After this, it is predicted that the moving image distribution with higher quality will be generally performed. In this case, a bit rate of the stream of the content will increase.
[0015]15
When the bit rate of the stream of the content is large, a band of the network is compressed and it is necessary to perform shaping in a case where the content is distributed, that is, bulk transfer is performed in a segment unit after waiting for the completion of the 20 generation of the segment.
[0016]
Therefore, when the content is distributed in a segment unit after waiting for the completion of the generation of the segment, the reception of the content 25 by the client and the start of buffering are finally delayed. Therefore, a technique for promptly distributing the content is required.
[0017]
The present technique has been made in 30 consideration of this situation, and the present 6
technique can promptly distribute the data of the content and the like.
SOLUTIONS TO PROBLEMS
[0018]5
A transmission apparatus according to the present technique includes a distribution unit which distributes an http response including a part of a fragment and a hypertext transfer protocol (http) header including a sequence number representing an order of the fragment and 10 a version representing an order of a part of the fragment in the fragment.
[0019]
A transmitting method according to the present technique includes a step for distributing an http 15 response including a part of a fragment and a hypertext transfer protocol (http) header including a sequence number representing an order of the fragment and a version representing an order of a part of the fragment in the fragment.20
[0020]
According to the transmission apparatus and the transmitting method according to the present technique described above, the http response including a part of the fragment and the hypertext transfer protocol (http) 25 header is distributed.The http header includes the sequence number representing the order of the fragment and the version representing the order of a part of the fragment in the fragment.
[0021]30
A reception apparatus according to the present 7
technique includes a receiving unit which receives an http response including a part of a fragment and a hypertext transfer protocol (http) header including a sequence number representing an order of the fragment and a version representing an order of a part of the fragment 5 in the fragment.
[0022]
A receiving method according to the present technique includes a step for receiving an http response including a part of a fragment and a hypertext transfer 10 protocol (http) header including a sequence number representing an order of the fragment and a version representing an order of a part of the fragment in the fragment.
[0023]15
According to the reception apparatus and the receiving method according to the present technique described above, the http response including a part of the fragment and the hypertext transfer protocol (http) header is received.The http header includes the 20 sequence number representing the order of the fragment and the version representing the order of a part of the fragment in the fragment.
[0024]
The transmission apparatus and the reception 25 apparatus may be independent devices and may be an inner block forming a single device.
EFFECTS OF THE INVENTION
[0025]30
According to the present technique, data can be 8
promptly distributed.
[0026]
The effects described herein are not limited, and the effect may be any effects described in the present disclosure.5
BRIEF DESCRIPTION OF DRAWINGS
[0027]
Fig. 1 is a block diagram of an exemplary structure of an embodiment of a content providing system to which 10 the present technique has been applied.
Fig. 2 is a block diagram of an exemplary structure of a distribution server 11.
Fig. 3 is a blockdiagram of an exemplary structure of a client 12.15
Fig. 4 is a diagram to describe exemplary processing for providing content by the content providing system.
Fig. 5 is a diagram of exemplary data distributed via a network 10 in the content providing system.20
Fig. 6 is a diagram to describe the MPD, the SDP, the USD, and the OMA-ESG.
Fig. 7 is a diagram to describe a structure of a segment which is a file distribution unit of the DASH.
Figs. 8A and 8B are diagrams of exemplary 25 structures of segments respectively having single fragments and a segment having a plurality of fragments.
Fig. 9 is a diagram of an example of distribution of the content which has the segment as the file distribution unit in the DASH.30
Fig. 10 is a diagram to describe an outlineof 9
distribution of content which has a portion as the file distribution unit in the distribution server 11.
Figs. 11A to 11D are diagrams of an exemplary relation between the segment and the portion.
Fig. 12 is a diagram of an exemplary http response 5 asa portion 60.
Fig. 13 is a diagram of an exemplary http response as a portion 70.
Fig. 14 is a flowchart to describe exemplary processing of distribution of content in a portion unit.10
Fig. 15 is a flowchart to describe an example of processing for receiving the content in a portion unit.
Fig. 16 is a diagram to describe multicast distribution of the portion (and the segment) by a LCT packet.15
Fig. 17 is a diagram of a format of the LCT packet.
Fig. 18 is a diagram of a format of a LCT header.
Fig. 19is a diagram of exemplary distribution of the content in a portion unit.
Fig. 20 is a diagram of a format of an extension 20 header (Header Extentions) of the LCT header.
Fig. 21 is a diagram of an exemplary definition of a new extension header for storinga priority parameter.
Fig. 22 is a diagram of an exemplary definition of the priority parameter (Filtering Parameter).25
Fig. 23 is a diagram of an exemplary definition of an MVC filter.
Fig. 24 is a flowchart to describe an example of processing for distributing the LCT packet having the priority parameter.30
Fig. 25 is a flowchart to describe exemplary 10
processing of packet filtering performed by the client 12.
Fig. 26 is a block diagram of an exemplary structure of an embodiment of a computer to which the present technique has been applied.
5
MODE FOR CARRYING OUT THE INVENTION
[0028]
[0029]10
Fig. 1 is a block diagram of an exemplary structure of an embodiment of a contentproviding system to which the present technique has been applied.
[0030]
In Fig. 1, the content providing system includes 15 one or more distribution servers 11, one or more clients 12, and a network time protocol (NTP) server 13 which are connected to a network 10.
[0031]
In the content providing system in Fig. 1, the 20 distribution server 11 provides content to the client 12 via the network 10 by using the DASH.
[0032]
Here, in the current DASH, streaming is performed by unicast on an over the top/contentsdelivery network 25 (OTT/CDN). However, in the content providing system in Fig. 1, unicast distribution is performed to the content, and in addition, for example, the multicast distribution can be performed on a multicast network in which broadcasting can be performed with an ensured quality on 30 a portable network (eMBMS and the like).11
[0033]
The network 10 includes a bidirectional network such as Internet which can perform unicast and multicast distribution and a broadcast system network which can perform broadcast and multicast.As the network 10, for 5 example, a multimedia broadcast multicast service (MBMS) (including evolved MBMS (eMBMS)) of a 3rd generation partnership project (3GPP) can be employed.
[0034]
For example, the distribution server 11 corresponds 10 to a broadcasting station and distributes a plurality of streams having the same content and having different bit rates and image sizes from each other as a program of a channel (service) of the broadcasting station via the network 10.15
[0035]
The client 12 receives the content (stream thereof) distributed by the distribution server 11 via the network 10 and reproduces it.
[0036]20
The NTP server 13 provides an NTP time which is time information according to a coordinated universal time (UTC) time format via the network 10.
[0037]
The distribution server 11 and the client 12 can be 25 operated as being synchronized with the NTP time provided from the NTP server 13.
[0038]
The program distributed by the distribution server 11 may be a program distributed in real time (live 30 program) and may be a recorded program.12
[0039]
[0040]
Fig. 2 is a block diagram of an exemplary structure of the distribution server 11 in Fig. 1.5
[0041]
In Fig. 2, the distribution 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.10
[0042]
Here, the channel streamer 21 to the web server 26 can be arranged at one spot in the network 10 and can be distributed and arranged in the network 10.When the channel streamer 21 to the web server 26 are distributed 15 and arranged in the network 10, communication between them can be performed via a dedicated line and any other communication lines in addition to the network 10.
[0043]
The channel streamer 21 manages videos, audio, and 20 subtitles as source data of the content to be distributed as the program of the channel of the distribution server 11 and generates a plurality of streaming data of which a bit rate is different from the video and the like as the source data of the content, and then, the channel 25 streamer 21 supplies it to the segmenter 22.
[0044]
The segmenter 22 generates a file of the segment in which each streaming data from the channel streamer 21 is divided into a time direction and supplies it to the 30 FLUTE streamer 24 and the web server 26.13
[0045]
That is, the segmenter 22 divides the streaming data and generates, for example, a fragment of fragmentedMP4 (moof and mdat). Then, the segmenter 22 generates the file of the segment by collecting one or 5 more fragments.
[0046]
Also, the segmenter 22 supplies relationship information to the metadata generator 23. The relationship information relatesto a segment which is 10 necessary for the generation of MPD, such as an URL of the segment (URL of a server for providing the segment (for example, the distribution server 11)) and a range of the segment (information indicating a range in the content such as the video included in the segment).15
[0047]
Here, the segmenter 22 generates a portion to be described which is formed of a part of the fragment during the generation of the fragment not the segment which is formed by collecting the fragments and can 20 supply the portion to the FLUTE streamer 24 instead of the segment.
[0048]
The metadata generator 23 generates, for example, a combination of a user service description (USD) of the 25 MBMS, the MPD of the DASH, and a session description protocol (SDP) (file) of an Internet engineering task force (IETF) or a combination of the USD, the MPD, the SDP, and open mobile alliance-electronic service guide (OMA-ESG) as metadata of the content necessary for 30 receiving the segment by the client 12 by using the 14
relationshipinformation of the segment supplied from the segmenter 22.
[0049]
That is, the metadata generator 23 generates the MPD, in which the URL of the segment and the like are 5 written, necessary for receiving the segment by the client 12 and reproducing and controlling it by using the relationship information of the segment supplied from the segmenter 22.
[0050]10
In addition, the metadata generator 23 generates the USD and the SDP or the USD, the SDP, and the OMA-ESG as announcement information for announcing the multicast distribution (including broadcast distribution) of the content.15
[0051]
The metadata generator 23 supplies the metadata to the FLUTE streamer 24 and the web server 26.
[0052]
The FLUTE streamer 24 stores the content (segment 20 or portion thereof) supplied from the segmenter 22 to a FLUTE packet and supplies it to the multicast server 25. The FLUTE packet is a layered coding transport (LCT) packet (in the present embodiment, this means a packet including the LCT header and including an asynchronous 25 layered coding (ALC) packet).
[0053]
Also, the FLUTE streamer 24 stores the metadata supplied from the metadata generator 23 to the LCT packet and supplies it to the multicast server 25.30
[0054]15
The multicast server 25 performs (FLUTE) multicast distribution to the LCT packet from the FLUTE streamer 24 via the network 10.
[0055]
Here, as described above, since the content 5 (segment or portion thereof) and the metadata are stored in the LCT packet from the FLUTE streamer 24, the multicast server 25 distributes the content and the metadata by multicast.
[0056]10
The web server 26 performs (http) unicast distribution to the metadata from the metadata generator 23 and the content (segment thereof) from the segmenter 22 to the client 12 via the network 10 according to a request (http request) from the client 12.15
[0057]
Here, as described above, the multicast server 25 and the web server 26 function as a distribution unit for distributing the content and the metadata.
[0058]20
In Fig. 2, the web server 26 distributes the segment of the content by unicast. However, similarly to the multicast server 25, the web server 26 can perform the unicast distribution to the portion not the segment of the content.25
[0059]
[0060]
Fig. 3 is a block diagram of an exemplary structure of the client 12 in Fig. 1.30
[0061]16
The client 12 includes a receiving unit 30 and a reproducing unit 33 in Fig. 3.
[0062]
For example, the receiving unit 30 functions as the receiving unit for receiving the content and the metadata 5 distributed from the distribution server 11 according to an operation to the client 12 by a user.
[0063]
That is, the receiving unit 30 receives the metadata distributed from the distribution server 11.In 10 addition, for example, the receiving unit 30 receives the content (segment and portion thereof) distributed from the distribution server 11 based on the metadata received from the distribution server 11 according to the operation to the client 12 by the user.15
[0064]
The receiving unit 30 supplies the content received from the distribution server 11 to the reproducing unit 33 and controls the reproduction of the content by the reproducing unit 33 based on the metadata received from 20 the distribution server 11.
[0065]
The reproducing unit 33 reproduces the video, the audio, and the subtitle as the content supplied from the receiving unit 30 in accordance with the control by the 25 receiving unit 30.
[0066]
Here, the receiving unit 30 has a middleware 31 and a DASH client 32.
[0067]30
The DASH client 32 outputs the http request for 17
requesting the MPD and the http request for requesting the segment of the content to the middleware 31 as necessary.
[0068]
The middleware 31 receives the content (segment and 5 portion thereof) and the metadata distributed from the distribution server 11 by multicast as necessary. When the DASH client 32 outputs the http request, the middleware 31 determines whether the multicast distribution is performed to the MPD and the segment 10 requested by the http request based on the metadata.
[0069]
When the MPD and the segment requested by the http request output from the DASH client 32 are distributed by multicast, the middleware 31 receives the MPD and the 15 segment (or a portion including a part of the segment) which aredistributed by multicast and supplies them to the DASH client 32.
[0070]
When the middleware 31 has already received the MPD 20 and the segment requested by the http request output from the DASH client 32, the middleware 31 supplies the received MPD and segment to the DASH client 32.
[0071]
On the other hand, when the MPD and the segment 25 requested by the http request output from the DASH client 32 are not distributed by multicast, the middleware 31 transmits the http request output from the DASH client 32 to the network 10 (the distribution server 11 thereof) as it is.The middleware 31 receives the MPD and the 30 segment distributed by unicast (from the distribution 18
server 11) according to the http request and supplies them to the DASH client 32.
[0072]
Therefore, similarly to a general DASH client, the DASH client 32 outputs the http request for requesting 5 the necessary MPD and segment and receives the MPD and the segment supplied from the middleware 31 and performs processing to them according to the http request.
[0073]
10
[0074]
Fig. 4 is a diagram to describe exemplary processing for providing the content by the content providing system in Fig. 1.
[0075]15
The channel streamer 21 (Fig. 2) generates a plurality of streaming data having different bit rates from the video and the like as the source data of the content to be distributed as the program of the channel of the distribution server 11 in step S11.20
[0076]
The channel streamer 21 supplies the plurality of streaming data having different bit rates of the content to the segmenter 22 in step S12.
[0077]25
The segmenter 22 (Fig. 2) receives the content (the plurality of streaming data thereof) supplied from the channel streamer 21 in step S21.
[0078]
The segmenter 22generates the segment, which is a 30 file distribution unit of the DASH, from the content from 19
the channel streamer 21 in step S22 and supplies the segment to the FLUTE streamer 24 and the web server 26 in step S23.
[0079]
In addition, the segmenter 22 generates the 5 relationship information of the segment and supplies it to the metadata generator 23 in step S24.
[0080]
In step S31, the metadata generator 23 (Fig. 2) receives the relationship information of the segment 10 supplied from the segmenter 22 in step S24.
[0081]
The metadata generator 23 generates the metadata of the content by using the relationship information from the segmenter 22 and the like and supplies it to the 15 FLUTE streamer 24 and the web server 26 in step S32.
[0082]
In step S41, the FLUTEstreamer 24 (Fig. 2) receives the content (the segment thereof) supplied in step S23 from the segmenter 22. The FLUTE streamer 24 20 generates the LCT packet including the content and supplies it to the multicast server 25 in step S42.
[0083]
In addition, the FLUTE streamer 24 receives the metadata supplied in step S32 from the metadata generator 25 23 in step S43. The FLUTE streamer 24 generates the LCT packet including the metadata and supplies it to the multicast server 25 in step S44.
[0084]
In step S51,the multicast server 25 (Fig. 2) 30 receives the LCT packet including the content supplied in 20
step S42 from the FLUTE streamer 24. The multicast server 25 receives the LCT packet including the metadata in step S52.
[0085]
The multicast server 25 performs the multicast 5 distribution to the LCT packet including the metadata from the FLUTE streamer 24 in step S53 and performs the multicast distribution to the LCT packet including the content from the FLUTE streamer 24 in step S54.
[0086]10
The web server 26 (Fig. 2) receives the content (the segment thereof) supplied in step S23 from the segmenter 22 in step S61 and receives the metadata supplied in step S32 from the metadata generator 23 in step S62.15
[0087]
In step S63, when the http request for requesting the metadata is transmitted from the client 12, the web server 26 receives the http request.
[0088]20
After that, in step S64, the web server 26 distributes the metadata requested by the http request from the client 12 by unicast to the client 12.
[0089]
Also,in step S65, when the http request for 25 requesting the content (the segment thereof) is transmitted from the client 12, the web server 26 receives the http request.
[0090]
After that, in step S66, the web server 26 30 distributes the content (the segment thereof) requested 21
by the http request from the client 12 by unicast to the client 12.
[0091]
In the client 12 (Fig. 3), in step S71, the receiving unit 30 receives the metadata (the LCT packet 5 thereof) distributed by the multicast server 25 by multicast in step S53.
[0092]
Alternatively, in the client 12, the receiving unit 30 transmits the http request for requesting the metadata 10 in step S72.
[0093]
The http request transmitted by the client 12 in step S72 is received by the web server 26 in step S63 as described above. The metadata requested by the http 15 request is distributed to the client 12 by unicast in step S64.
[0094]
In step S73, the receiving unit 30 of the client 12 receives the metadata to which the unicast distribution 20 is performed as described above.
[0095]
In step S74, the receiving unit 30 of the client 12 receives the content (the LCT packet thereof), to which the multicast distribution is performed in step S54 by 25 the multicast server 25, based on the metadata received in step S71 or S73.
[0096]
Alternatively, in the client 12, the receiving unit 30 transmits in step S75 the http request for requesting 30 the content based on the metadata received in step S71 or 22
S73.
[0097]
As described above, the web server 26 receives in step S65 the http request transmitted by the client 12 in step S75. The web server 26 distributes in step S66 the 5 content requested by the http request to the client 12 by unicast.
[0098]
The receiving unit 30 of the client 12 receives the content to which the unicast distribution has been 10 performed as described above in step S76.
[0099]
The reproducing unit 33 of the client 12 reproduces in step S77 the content received by the receiving unit 30 in step S74 or S76 based on the metadata (MPD).15
[0100]
[0101]
Fig. 5 is a diagram of exemplary data distributed via the network 10 in the content providing system in Fig. 20 1.
[0102]
In the content providing system, the metadata such as the MPD, the SDP, the USD, and the OMA-ESG, and the content (the segment or the portion thereof) are 25 distributed to the client 12.
[0103]
The multicast distribution and the unicast distribution can be performed to the metadata and the content.30
[0104]23
The combination of the MPD, the SDP, and the USD and a combination of the MPD, the SDP, the USD, and the OMA-ESG are used as the metadata.
[0105]
Fig. 6 is a diagram to describe the MPD, the SDP, 5 the USD, and the OMA-ESG.
[0106]
Now, when it is assumed that a certain program be a target program to which the attention is paid, detailed information on the target program, a method for accessing 10 the USD of the target program, and the like are written in the OMA-ESG of the target program.
[0107]
Therefore, when the client 12 obtains the OMA-ESG of the target program, the USD of the target program can 15 be obtained by referring to the method for accessing the USD written in the OMA-ESG.
[0108]
In the USD of the target program, a uniform resource identifier (URI) of the SDP of the target 20 program, a URI of the MPD of the target program, and the like are written.
[0109]
Therefore, when the client 12 obtains the USD of the target program, the SDP and the MPD of the target 25 program can be obtained by referring to the URIs of the SDP and the MPD written in the USD.
[0110]
In the SDP of the target program, a transport attribute such as an IP address and a port number in 30 which the content of the target program is distributed by 24
multicast is written.
[0111]
Therefore, by obtaining the SDP of the target program, the content of the target program distributed by multicast can be received based on the IP address and the 5 port number written in the SDP.
[0112]
As described above, according to the combination of the USD and the SDP and the combination of the USD, the SDP, andthe OMA-ESG, the client 12 can recognize that 10 the content is distributed by multicast and can receive the content which is distributed by multicast.
[0113]
In the MPD of the target program, the URL of the segment of the target program, information necessary for 15 controlling the reproduction of the segment, and the like are written.
[0114]
Therefore, by obtaining the MPD of the target program, the segment of the target program can be 20 received by unicast based on the URL written in the MPD.Also, the segment of the target program can be reproduced based on the MPD of the target program.
[0115]
That is, since the MPD includes information 25 necessary for controlling the reproduction of the segment, the MPD is necessary for receiving the segment by unicast, andin addition, necessary for reproducing the segment.
[0116]
30
[0117]25
Fig. 7 is a diagram to describe a structure of the segment which is the file distribution unit of the DASH.
[0118]
Here, the format of the content distributed by the DASH is not especially limited. However, in the present 5 embodiment, for example, a fragmentedMP4 (file thereof) is employed as the format of the content distributed by the DASH.
[0119]
The segment (Media Segment) includes styp (segment 10 type) (box), necessary sidx (segment index) (box), and one or more fragments (MP4 fragment).
[0120]
Here, when the styp is 'msdh', the segment does not include the sidx. When the styp is 'msix', the segment 15 includes the sidx.The description on the sidx will be appropriately omitted below.
[0121]
The fragment includes moof (movie fragment) (box) and mdat (media data) (box).20
[0122]
The mdat includes a mdat header and one or more samples.The sample is a minimum access unit in a case where media data (data of video and the like) in the MP4 file is accessed.Therefore, the media data in the MP4 25 file cannot be accessed in a unit smaller than the sample.
[0123]
The moof includes mfhd (movie fragment header) (box) and traf (track fragment) (box).
[0124]30
A sequence number (sequence_number) is stored in 26
the mfhd.The sequence_number represents an order of the fragment having the sequence_number.
[0125]
The traf includes tfhd (track fragment header) (box), tfdt (track fragment decode time) (box), trun 5 (track fragment run)(box), sdtp (independent samples) (box), and the like.
[0126]
BaseMediaDecodeTime is stored in the tfdt.The BaseMediaDecodeTime represents a presentation time of a 10 first sample from among the samples included in the fragment having the BaseMediaDecodeTime.
[0127]
The trun stores information necessary for calculating the presentation time of each sample included 15 in the fragment having the trun.
[0128]
Figs. 8A and 8B are diagrams of exemplary structures of a segment having a single fragment and a segment having a plurality of fragments.20
[0129]
Fig. 8A is a diagram of an exemplary structure of the segment having the single fragment.
[0130]
In Fig. 8A, each of three continuous segments #1, 25 #2, and #3 has a single fragment.
[0131]
In this case, for example, when it is assumed that the sequence_number (described as “sqn” below) of the single fragment included in the first segment #1 be one, 30 sqn of the single fragment included in the second segment 27
#2 is two which is obtained by incrementing sqn = 1 of theprevious fragment by one.In addition, for example, sqn of the single fragment included in the third segment #3 is three which is obtained by incrementing sqn = 2 of the previous fragment by one.5
[0132]
Fig. 8B is a diagram of an exemplary structure of the segment having the plurality of fragments.
[0133]
In Fig. 8B, a segment #1 includes three fragments.10
[0134]
In this case, for example, when it is assumed that sqn of the first fragment of the segment #1 be one, sqn of the second fragment of the segment #1 is two which is obtained by incrementing sqn = 1 of the previous fragment 15 by one.In addition, for example, sqn of the third fragment of the segment #1 is three which is obtained by incrementing sqn = 2 of the previous fragment by one.
[0135]
To simplify the description, it is assumed below 20 that the segment includes a single fragment as illustrated in Fig. 8A unless otherwise stated.
[0136]
25
[0137]
Fig. 9 is a diagram of an example of distribution of the content which has the segment as the file distribution unit in the DASH.
[0138]30
In Fig. 9, sample groups #1, #2, and #3, which 28
respectively include one or more samples, are sequentially generated as a sample group included in the fragment.After the generation of the final sample group #3 of the fragment has been completed, the segmenter 22 of the distribution server 11 (Fig. 2) generates a 5 fragment including the mdat in which the sample groups #1 to #3 are arranged and the moof of the sample groups #1 to #3. Also, the segment including the fragment is generated. After that, the FLUTE streamer 24 and the multicast server 25 distribute the segment.10
[0139]
Here, for example, the generation of the moofs of the sample groups #1 to #3 is performed in parallel to the generation of the sample groups #1 to #3.
[0140]15
Also, for example, a range of group of picture (GOP) which is a random accessible minimum unit can be employed as a range of the content to be the fragment (the sample groups#1 to #3 arranged as the mdat of the fragment).20
[0141]
However, the range of the content to be the fragment is not limited to the range of the GOP.
[0142]
For example, as a time of the GOP, about 0.5 to two 25 seconds is often employed.Therefore, when the range of the GOP is employed as the range of the content to be the fragment, the moof and the segment are generated after waiting at least the time of the GOP which is about 0.5 to two seconds.That is, at least the time of the GOP is 30 necessary for generating the segment.29
[0143]
As a result, when the segment is distributed by multicast as the file distribution unit, it is necessary to wait at least the time of the GOP necessary for generating the segment in order to distribute the segment.5
[0144]
It ispredicted that moving image distribution with high quality will be performed in the future. In this case, the data amount of the segment becomes very large.When the segment having the very large data amount is 10 distributed after waiting the time of the GOP, a band of the network is compressed, and it is necessary to perform shaping.
[0145]
Therefore, when the segment is assumed as the file 15 distribution unit, the reception of the content by the client and the start of buffering are finally delayed.
[0146]
The distribution server 11 distributes the data including a part of the fragment (referred to as a 20 portion below) smaller than the segment by multicast as the file distribution unit so that the content (data thereof) is promptly distributed. Accordingly, the delay generated in the reception of the content by the client and the start of buffering is prevented.25
[0147]
[0148]
Fig. 10 is a diagram to describe an outline of 30 distribution of content which has a portion as the file 30
distribution unit in the distribution server 11.
[0149]
Similarly to the case in Fig. 9, the sample groups #1 to #3 are sequentially generated as the sample group included in the fragment in Fig. 10.5
[0150]
However, in Fig. 10, the segmenter 22 of the distribution server 11 (Fig. 2) generates the portion as the file distribution unit including the sample group #1 at the time when the sample group #1 is generated without 10 waiting for the completion of the generation of the final sample group #3 of the fragment. The FLUTE streamer 24 and the multicast server 25 distribute the portion by multicast.
[0151]15
In addition, in Fig. 10, the segmenter 22 generates the portion as the file distribution unit including the sample group #2 at the time when the following sample group #2 is generated, and the FLUTE streamer 24 and the multicast server 25 distribute it by multicast.20
[0152]
When the segmenter 22 completes the generation of the final sample group #3 of the fragment, theportion as the file distribution unit including the sample group #3 is generated, and the FLUTE streamer 24 and the multicast 25 server 25 distribute it by multicast.
[0153]
As described above, the portion including the sample group which is a part of the fragment smaller than the segment (the sample groups #1 to #3 in Fig. 10) is 30 generated, and the portion is distributed by multicast. 31
Accordingly, the content can be promptly distributed, and the delay generated at the reception of the content by the clientand at the start of buffering can be prevented.
[0154]
Here, for example, when it is assumed that each of 5 the sample groups #1 to #3 be data of one GOP, the sample group #1 corresponds to data of I picture which is encoded in the GOP first.The sample group #2 corresponds to data of P picture and B picture of one or more pictures which is encoded after the I picture of the 10 GOP, and the sample group #3 corresponds to remaining data of P picture and B picture of the GOP.
[0155]
[0156]15
Figs. 11Ato 11D are diagrams of an exemplary relation between the segment and the portion.
[0157]
Fig. 11A is a diagram of an exemplary segment.
[0158]20
In Fig. 11A, a segment 50 includes a styp 51 and a (single) fragment 52.
[0159]
The fragment 52 includes a moof 53 and a mdat 54.
[0160]25
As described in Fig. 7, the moof 53 stores a sequence number sqn of the fragment 52 and BaseMediaDecodeTime (referred to as bmdt below). BaseMediaDecodeTime represents a presentation time of a first sample of the mdat 54 of the fragment 52 (first 30 sample of the sample group 56 in Fig. 11A).32
[0161]
Here, in Fig. 11A, the sequence number sqn of the fragment 52 is set to be one.
[0162]
The mdat 54 stores a mdat header 55 and three 5 sample groups 56 to 58 in this order.The samplegroups 56 to 58 respectively correspond to, for example, the sample groups #1 to #3 in Fig. 10.
[0163]
The first sample of the second sample group 57 of 10 the three sample groups 56 to 58 stored in the mdat 54 is a n1th sample from the top of the first sample group 56.
[0164]
Also, the first sample of the third sample group 58 of the three sample groups 56 to 58 is a n2 (> n1)th 15 sample from the top of the first sample group 56.
[0165]
Here, the order of the sample stored in the mdat from the first sample in the mdat is referred to as a sample number.20
[0166]
In Fig. 11A, a sample number of the first sample of the sample group 57 is n1, and a sample number of the first sample of the sample group 58 is n2.
[0167]25
Figs. 11B to 11D are diagrams of an exemplary portion including a part of the fragment 52 included in the segment 50 in a case where the segment 50 in Fig. 11 A is generated.
[0168]30
That is, Fig. 11B is a diagram of an exemplary 33
portion including the sample group 56 as a part of the fragment 52.Also, Fig. 11C is a diagram of an exemplary portion including the sample group 57 as other part of the fragment 52, and Fig. 11D is a diagram of an exemplary portion including the sample group 58 as still 5 other part of the fragment 52.
[0169]
In Figs. 11A to 11D, the http response (the file thereof) is employed as the portion (the file thereof).
[0170]10
In Fig. 11B, a portion 60 is the http response including the first sample group 56 of the fragment 52. In the portion 60, an http header 61, a MS/BR 62, the styp 51, a moof subset 64, a MS/BR 65, the mdat header 55, a MS/BR 66, the sample group 56, and a MS 67 are arranged 15 in this order.
[0171]
The http header 61 is an http header indicating that a message body is a multipart message body. The http header 61 includes a sequence number sqn, a version 20 v, and a NTP time nt.
[0172]
The sequence number sqn of the http header 61 is set to be one which is same as the sequence number sqn stored in the moof 53 of the fragment 52 including the 25 sample group 56 included in the portion 60 (as a part of the fragment 52).
[0173]
The version v represents an order of the sample group as a part of the fragment included in the portion 30 including the version v, in the fragment.The version v 34
is an integer which is obtained byincrementing the same sequence number sqn (with sqn scope) by one, for example, while having the initial value of one.
[0174]
A part of the fragment 52 included in the portion 5 60 including the version v of the http header 61 is the sample group 56, and the sample group 56 is the first sample group in the fragment 52. Therefore, the version v of the http header 61 is set to be one.
[0175]10
For example, the segment includes three fragments and the sequence numbers sqn of the three fragments are respectively one, two, and three as illustrated in Fig. 9. In this case, when 6 (= 3 × 2) portions including the sample groups obtained by, for example, dividing the 15 sample group of each fragment by two is generated, pairs (sqn, v) of the sequence numbers sqn and the versions v of the respective six portions are (1, 1), (1, 2), (2, 1), (2, 2), (3, 1), and (3, 2).
[0176]20
The NTP time nt of the http header 61 represents bmdt (BaseMediaDecodeTime) stored in the moof 53 of the fragment 52 of which a part (sample group 56) is included in the portion 60 including the NTP time nt, that is, a NTP time NT corresponding to bmdt representing the 25 presentation time of the first sample of the fragment 52 (first sample of the sample group 56).
[0177]
The MS/BR 62 represents a byterange of a multipart-separater and the styp 51 which is arranged 30 immediately after the multipart-separater.35
[0178]
The MS/BR63 represents a byte range of a multipart-separater and the moof subset 64 which is arranged immediately after the multipart-separater.
[0179]5
The moof subset 64 is a subset of the moof 53 which can be generated before generating the first sample group 56 arranged in the portion 60 of the three sample groups 56 to 58 of the fragment 52 and includes the sequence number sqn and bmdt stored in the moof 53.10
[0180]
The moof subset 64 which is the subset of the moof 53 and which can be generated before the sample group 56 is generated can reproduce the sample group 56.
[0181]15
The MS/BR 65 represents a byte range of a multipart-separater and the mdat header 55 which is arranged immediately after the multipart-separater.
[0182]
The MS/BR 66 represents a byte range of a 20 multipart-separater and the sample group 56 which is arranged immediately after the multipart-separater.
[0183]
The MS 67represents a multipart-separater.
[0184]25
In Fig. 11B, the portion 60 which includes the first sample group 56 of the fragment 52 includes the styp 51. However, the styp 51 (in addition, sidx which is not shown) can be distributed by being included in the http response other than the portion 60.30
[0185]36
In Fig. 11C, a portion 70 is an http response including the second sample group 57 of the fragment 52. In the portion 70, an http header 71, a MS/BR 72, a moof subset 73, a MS/BR 74, the sample group 57, and a MS 75 are arranged in this order.5
[0186]
The http header 71 is an http header indicating that the message body is the multipart message body. The http header 71 includes the sequence number sqn, the version v, the NTP time nt, and a sample count start scs 10 (SampleCountStart).
[0187]
The sequence number sqn of the http header 71 is set to be one which is the same as the sequence number sqn stored in the moof 53 of the fragment 52 including 15 the sample group 57 included in the portion 70 (as a part of the fragment 52).
[0188]
The version v of the http header 71 is set to be two.That is, since the portion 70 includes the second 20 sample group 57 of the sample groups 56 to 58 of the fragment 52, the version v of the http header 71 is set to be two.
[0189]
The NTP time nt of the http header 71 represents a 25 NTP time corresponding to bmdt stored in the moof 53 of the fragment 52 of which a part (sample group 57) is included in the portion 70 including the NTP time nt. The NTP time nt of the http header 71 is the same as the NTP time nt = NT of the http header 61.30
[0190]37
The sample count start scs represents an order of the first sample of the sample group included in the portion including the sample count start scs, from the first sample in the fragment.
[0191]5
As described in Fig. 11A, the first sample of the sample group 57 included in the portion 70 is n1th sample from the top of the first sample group 56. Therefore, the sample count start scs of the http header 71 is set to be n1.10
[0192]
The MS/BR 72represents a byte range of a multipart-separater and the moof subset 73 which is arranged immediately after the multipart-separater.
[0193]15
The moof subset 73 is a subset of the moof 53 which can be generated before generating the second sample group 57 arranged in the portion 70 of the three sample groups 56 to 58 of the fragment 52 and includes the sequence number sqn and bmdt stored in the moof 53.20
[0194]
In the moof subset 73, which is the subset of the moof 53 which can be generated before the generation of the sample group 57, information necessary for reproducing the sample group 57 is added to the moof 25 subset 64 generated before the generation of the sample group 56. Therefore, according to the moof subset 73, the sample group 57 and the sample group 56 which is generated before the generation of the sample group 57 can be reproduced.30
[0195]38
The MS/BR 74 represents a byte range of a multipart-separater and the sample group 57 which is arranged immediately after the multipart-separater.
[0196]
The MS 75 represents a multipart-separater.5
[0197]
In Fig. 11D, a portion 80 is an http response including the third sample group 58 of the fragment 52. In the portion 80, an http header 81, a MS/BR 82, a moof subset 83, a MS/BR 84, the sample group 58, and a MS 85 10 are arranged in this order.
[0198]
The http header 81 is an http header indicating that the message body is the multipart message body. The http header 81 includes the sequence number sqn, the 15 version v, the NTP time nt, and the sample count start scs.
[0199]
The sequence number sqn of the http header 81 is set to be one which is the same as the sequence number 20 sqn stored in the moof 53 of the fragment 52 including the sample group 58 included in the portion 80 (as a part of the fragment 52).
[0200]
The version v of the http header 81 is set to be 25 three.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 be three.
[0201]30
In addition, since the sample group 58 included in 39
the portion 80 is the final sample group of the fragment 52, that is, the final group of which the sequence number sqn is one, the version v of the http header 81 is set to be three which is an order of the sample group 58 in the fragment 52 and set to be "-end" as information 5 indicating that this is the final sample group of the fragment.
[0202]
Therefore, for example, the client 12 which receives the portion can recognize the order of the 10 sample group included in theportion (as a part of the fragment) and whether the sample group is the final sample group of the fragment based on the version v.
[0203]
The NTP time nt of the http header 81 represents 15 the NTP time corresponding to bmdt stored in the moof 53 of the fragment 52 of which a part (sample group 58) is included in the portion 80 including the NTP time nt. The NTP time nt of the http header 81 is the same as the NTP time nt = NT of the http headers 61 and 71.20
[0204]
As described above, the sample count startscs represents an order of the first sample of the sample group included in the portion including the sample count start scs, from the first sample of the fragment.25
[0205]
Therefore, the sample count start scs of the http header 81 is set to be n2.Thatis, as described in Fig. 11A, the first sample of the sample group 58 included in the portion 80 is the n2th sample from the top of the 30 first sample group 56. Therefore, the sample count start 40
scs of the http header 81 is set to be n2.
[0206]
The MS/BR 82 represents a byte range of a multipart-separater and the moof subset 83 which is arranged immediately after the multipart-separater.5
[0207]
The moof subset 83 is a subset of the moof 53 which can be generated before generating the third sample group 58arranged in the portion 80 of the three sample groups 56 to 58 of the fragment 52 and includes the sequence 10 number sqn and bmdt stored in the moof 53.
[0208]
Here, since the moof subset 83 is the subset of the moof 53 which can be generated before generating the third sample group 58 arranged in the portion 80, that is, 15 the final sample group 58 of the fragment 52, the moof subset 83 is equal to the moof 53.
[0209]
As described above, the moof subset 83 that is the subset of the moof 53 which can be generated before 20 generating the sample group 58 is equal to the moof 53. Therefore, according to the moof subset 83, the sample group 58, and in addition, the sample groups 56 and 57 which are generated before the sample group 58 is generated can be reproduced.25
[0210]
The MS/BR 84 represents a byte range of a multipart-separater and the sample group 58 which is arranged immediately after the multipart-separater.
[0211]30
The MS 85 represents a multipart-separater.41
[0212]
As described above, since the portion which is the http response includes the sequence number sqn and the version v in the http header, the client 12 (other apparatus) which has received the portion can perform the 5 reproduction as recognizing the order of the sample group included in the portion in the segment based on the sequence number sqn and the version v and can perform reproduction as forming the segment as necessary.
[0213]10
Also, the portion includes the moof subset which is the information of the moof necessary for reproducing the sample group included in the portion. Therefore, at the time when the client 12 receives a single portion before the client 12 receives all the portions (sample group) 15 forming the segment, when the sample group included in the single portion is a sample group which can be independently reproduced (for example, a sample group of I picture) or when the sample group is a sample group which can be reproduced by using the already received 20 sample group, the reproduction of the sample group included in the received single portion can be started.
[0214]
The version v can be included in the moof subset together with the sequence number sqn.However, when the 25 version v is included in the moof subset together with the sequence number sqn, it is necessary to extend the definition of the existing moof to include the version v in the moof.When the version v is included in the http header, it is not necessary to extend the definition of 30 the existing moof.42
[0215]
Also, in Figs. 11A to 11D, the http headers 71 and 81 of the portions 70 and 80 respectively including the second and following sample groups 57 and 58 of the fragment 52 include the sample count start scs, and the 5 http header 61 of the portion 60 including the first sample group 56 of the fragment 52 does not include the sample count start scs. However, the sample count start scs can also be included in the http header 61 of the portion 60 including the first sample group 56 of the 10 fragment 52.
[0216]
However, the order of the first sample of the first sample group of the fragment from the first sample of the fragment is constantly one and the fixed value. 15 Therefore, as illustrated in Fig. 11B, the http header of the portion including the first sample group of the fragment (the http header of which the version vis one) can omit the sample count start scs, and accordingly, the size of the http header can be reduced.20
[0217]
Also, in the portion which is the http response, the http header can include the NTP time nt corresponding bmdt stored in the moof of the fragment (bmdt representing the presentation time of the first sample of 25 the fragment). Therefore, when receiving the portion, the client 12 can reproduce the sample group included in the portion without the corresponding MPD.
[0218]
That is, the content includes, for example, content 30 necessary to control the timing of the reproduction on a 43
time axis of the absolute time expressed by the NTP time such as a live broadcast program. In this case, regarding the sample of the content, it is necessary to calculate the NTP time as the absolute time in which each sample is mapped (displayed).5
[0219]
Here, a presentation time of the Nth sample of the fragment (PresentatioTime (CompositionTime) of Nth Sample) can be calculated based on the following formula.
[0220]10
PresentatioTime (CompositionTime) of Nth Sample = BaseMediaDecodeTime + Sum of SampleDuration of (N-1) Samples + CompositionTimeOffset of Nth Sample
[0221]
Sum of SampleDuration of (N -1) Samples and 15 CompositionTimeOffset of Nth Sample can be obtained from information stored in the moof of the fragment (sampleCount, SampleDuration, and CompositionTimeOffset), and BaseMediaDecodeTime is stored in the moof as bmdt.
[0222]20
When the NTP time corresponding to BaseMediaDecodeTime used for calculating the presentation time of the sample is known, the absolute time of the sample can be obtained.
[0223]25
The NTP time corresponding to BaseMediaDecodeTime (BaseMediaDecodeTime = 0) to be a start point is written in the MPD of the DASH. Therefore, when the acquisition of the MPD is secured, it is not necessary to include the NTP time nt corresponding to bmdt stored in the moof of 30 the fragment in the http header.44
[0224]
However, the http header includes the NTP time nt corresponding to bmdt stored in the moof of the fragment (bmdt representing the presentation time of the first sample of the fragment). According to this, when 5 receiving the portion, the client 12 calculates the NTP time as the absolute time of each sample of the sample group included in the portion without the corresponding MPD based on the NTP time nt included in the http header of the portion and can reproduce the sample according to 10 the NTP time.
[0225]
Also, in the portion which is the http response, the http header can include the sample count start scs representing the order of the first sample of the sample 15 group included in the portion from the first sample of the fragment. Therefore, when a part of the portion of the plurality of portions included in the segment (the portions respectively including the sample groups included in the segment) lacks, the portion (the sample 20 group included in the portion) following after the lacked portion can be reproduced.
[0226]
That is, when it is ensured that the client 12 receives all of the plurality of portions included in the 25 segment, the sample number which indicates the order of each sample of the portion from the first sample of the fragment can be recognized without the sample count start scs. The information necessary for reproducing the sample can be obtained from the moof subset based on the 30 sample number, and the sample can be reproduced.45
[0227]
However, when a part of the portion of the plurality of portions included in the segment lacks, regarding the sample included in the portion following after the lacked portion, the sample number cannot be 5 recognized without the sample count start scs, and it is difficult to reproduce the sample.
[0228]
By including the sample count start scs in the http header of the portion, even when a part of the portion of 10 the plurality of portions included in the segment lacks, regarding the sample included in the portion following after the lacked portion, the sample number can be recognized by the sample count start scs, and the sample can be reproduced.15
[0229]
Also, since the portion includes the moof subset which is the subset of the moof 53 and which can be generated before the sample group included in the portion is generated, the client 12 which has received the 20 portion can start the reproduction of the sample group included in the received portion based in the moof subset included in the portion without waiting for the following portion.
[0230]25
In addition, for example, the http header of the portion can include a file delivery table (FDT) which is various attribute information distributed by the FLUTE which distributes the portion by multicast.In this case, the client 12 can provide the FDT included in the http 30 header of the portion for receiving data to which FLUTE 46
multicast distribution is performed.
[0231]
Fig. 12 is a diagram of an exemplary description of the http response as the portion 60 in Figs. 11A to 11D.
[0232]5
A description 100 is the http header 61, and "X-MoofSeqNumVersion" in a description 101 of the http header 61 and "X-NTPTimeStamp" in a description 102 are newly defined headers.
[0233]10
"X-MoofSeqNumVersion" in the description 101 is a header representing the sequence number sqn and the version v and includes a variable sqn representing a sequence number and a variable v representing a version.The variable sqn is set to be one which is the sequence 15 number sqn of the fragment 52, and the variable v is set to be one which is an order of the sample group 56 included in the portion 60 in the fragment 52.
[0234]
"X-NTPTimeStamp" in the description 102 is a header 20 representing the NTP time nt (corresponding to BaseMediaDecodeTime). In Fig. 12, "X-NTPTimeStamp" is set to be 2890844526 as the NTP time NT corresponding to bmdt representing the presentation time of the first sample of the fragment52 (first sample of the sample 25 group 56).
[0235]
The description 103 is the MS/BR 62, and "SEPARATER_STRING" in the description 103 represents the multipart-separater.Also, "Content-range: bytes 492-30 499/124567654" in the description 103 represents the byte 47
range of the styp 51 immediately after that.
[0236]
Here, the byte range "Content-range: bytes 492-499/124567654" in the description 103 indicates that the size of the fragment is 124567654 bytes and the size of 5 the styp 51 immediately after that is 492 to 499 bytes of the 124567654 bytes.
[0237]
The byte sequence of the styp 51 follows after the description 103.10
[0238]
A description 104 after the byte sequence of the styp 51 is the 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 that.15
[0239]
Here, regarding the byte range of the moof subset, at the time of generating the portion including the first sample group of the fragment (the portion 60 in Figs. 11A to 11D), the byte range of the moof (the moof 53 in Figs. 20 11A to 11D) of the fragment is predicted. A predictive value of the byte range of the moof is employed as the byte range of the moof subset of each portion (the portions 60, 70, and 80 in Figs. 11A to 11D) including in the sample group of the fragment.Therefore, byte ranges 25 of the moof subset 64 of the portion 60, the moof subset 73 of the portion 70, and the moof subset 83 of the portion 80 are the same values (the predictive value of the byte range of the moof 53).
[0240]30
A byte sequence of the moof subset 64 follows after 48
the description 104.
[0241]
A description 105 after the byte sequence of the moof subset 64 is the MS/BR 65, and "Content-range: bytes 992-999/124567654" in the description105 represents the 5 byte range of the mdat header 55 immediately after that.
[0242]
A byte sequence of the mdat header 55 follows after the description 105.
[0243]10
A description 106 after the byte sequence of the mdat header 55 is the 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 that.15
[0244]
A byte sequence of the sample group 56 follows after the description 106.
[0245]
A description 107 of the byte sequence of the 20 sample group 56 is the MS 67.
[0246]
Fig. 13 is a diagram of an exemplary description of the http response as the portion 70 in Figs. 11A to 11D.
[0247]25
A description 120 is the http header 71, and "X-MoofSeqNumVersion" in a description 121of the http header 71, "X-NTPTimeStamp" in a description 122, and "X-SampleCountStart" in a description 123 are newly defined headers.30
[0248]49
As described in Fig. 12, "X-MoofSeqNumVersion" in the description 121 is a header representing the sequence number sqn and the version v.The variable sqn representing the sequence number is set to be one which is the sequence number sqn of the fragment 52, and the 5 variable v representing the version is set to be two which is an order of the sample group 57 included in the portion 70 in the fragment 52.
[0249]
As described in Fig. 12, "X-NTPTimeStamp" in the 10 description 122 is a header representing the NTP time nt, and the NTP time NT corresponding to bmdt representing the presentation time of the first sample of the fragment 52 is set to be 2890844526 which is the same as that in a case of Figs. 11A to 11D.15
[0250]
"X-SampleCountStart" in the description 123 is a header representing the sample count start scs. In Fig. 13, "X-SampleCountStart" is set to be n1 whichis the sample number of the first sample of the sample group 57 20 included in the fragment 70.
[0251]
A description 124 is the MS/BR 72, and "Content-range: bytes 500-991/124567654" in the description 124 represents a byte range of the moof subset 73 immediately 25 after that and is the same as the byte range of the moof subset 64 in the description 105 in Fig. 12 (predictive value of the byte range of the moof 53).
[0252]
A byte sequence of the moof subset 73 follows after 30 the description 124.50
[0253]
A description 125 after the byte sequence of the moof subset 73 is the 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 5 that.
[0254]
A byte sequence of the sample group 57 follows after the description 125.
[0255]10
A description 126 of the byte sequence of the sample group 57 is the MS 75.
[0256]
The portion 80 in Figs. 11A to 11D is formed similarly to the portion 70 in Fig. 13.15
[0257]
[0258]
Fig. 14 is a flowchart to describe exemplary processing for receiving the content in a portion unit.20
[0259]
In step S101, the segmenter 22 of the distribution server 11 (Fig. 2) generates a mdat header of a target fragment and a first sample group as having the fragment (for example, the fragment 52 in Figs. 11A to 11D) in 25 which the sample group is going to be generated as the target fragment. Then, the procedure proceeds to step S102.
[0260]
The segmenter 22 generates an http header for the 30 first sample group (for example, the http header 61 in 51
Figs. 11A to 11D) in step S102, and the procedure proceeds to step S103.
[0261]
That is, the segmenter 22 generates the http header as the http header for the first sample group. The http 5 header includes a sequence number sqn which is the same as the sequence number stored in the moof of the target fragment, a version v which is one for representing the order of the first sample group in the target fragment, and a NTP time nt corresponding to bmdt stored in the 10 moof of the target fragment.
[0262]
Regarding the target fragment, the segmenter 22 obtains in step S103 a part of the moof necessary for reproducing the first sample as the moof subset for the 15 first sample group which can be generated before generating the first sample group, and the procedure proceeds to step S104.
[0263]
In step S104, the segmenter 22 generates the http 20 response as the portion by adding the http header for the first sample group to styp (and necessary sidx) of thesegment including the target fragment, the moof subset for the first sample group, the mdat header of the target fragment, and the first sample group and supplies it to 25 the FLUTE streamer 24. Then, the procedure proceeds to step S105.
[0264]
Here, when the segment including the target fragment includes a plurality of fragments and the target 30 fragment is not the first fragment of the plurality of 52
fragments, the http response generated in step S104 as the portion does not include styp (and necessary sidx).
[0265]
In step S105, the FLUTE streamer 24 packetizes the http response as the portion from the segmenter 22 into a 5 LCT packet, and the multicast server 25 performs the multicast distribution to the LCT packet. Then, the procedure proceeds to step S106.
[0266]
Regarding the target fragment, the segmenter 22 10 generates the next sample group as a target sample group in step S106, and the procedure proceeds to step S107.
[0267]
The segmenter 22 generates the http header for the target sample group (for example, the http headers 71 and 15 81 in Figs. 11A to 11D) in step S107, and the procedure proceeds to step S108.
[0268]
That is, the segmenter 22 generates the http header as the http header for the target sample group, and the 20 http header includes the sequence number sqn which is the same as the sequence number stored in the moof of the target fragment, the version v which represents an order of the target sample group in the target fragment, the NTP time nt corresponding to bmdt stored in the moof of 25 the target fragment, and the sample count start scs which represents a sample number of the first sample of the target sample group.
[0269]
Regarding the target fragment, the segmenter 22 30 obtains in step S108 a part of the moof necessary for 53
reproducing the target sample group which can be generated before generating the target sample group (and the sample group generated before generating the target sample group of the target fragment) as the moof subset for the target sample group. Then, the procedure 5 proceedsto step S109.
[0270]
In step S109, the segmenter 22 generates the http response as the portion by adding the http header for the target sample group to the moof subset for the target 10 sample group and the target sample group and supplies it to the FLUTE streamer 24, and the procedure proceeds to step S110.
[0271]
Similarly to step S105, in step S110, the FLUTE 15 streamer 24 packetizes the http response as the portion from the segmenter 22 into a LCT packet, and the multicast server 25 performs the multicastdistribution to the LCT packet. Then, the procedure proceeds to step S111.20
[0272]
The segmenter 22 determines in step S111 whether the target sample group is the final sample group of the target fragment.
[0273]25
When it has been determined in step S111that the target sample group is not the final sample group of the target fragment, that is, when there is a next sample group of the target sample group in the target fragment, the procedure returns to step S106, and the similar 30 processing is repeated as having the next sample group of 54
the target sample group as a new target sample group.
[0274]
Also, when it has been determined in step S111 that the target sample group is the final sample group of the target fragment, the procedure returns to step S101, and 5 the similar processing is repeated after that as having the next fragment of the target fragment as a new target fragment, for example.
[0275]
10
[0276]
Fig. 15 is a flowchart to describe exemplary processing for receiving the content in a portion unit.
[0277]
In step S121, the receiving unit 31 of the client 15 12 (Fig. 3) receives the http response as the portion after waiting for the multicast distribution of the http response as the portion, and the procedure proceeds to step S122.
[0278]20
In step S122, the reproducing unit 33 reproduces the sample group included in the http response as the portion received by the receiving unit 31 by using the moof subset included in the http response, the sequence number sqn included in the http header of the http 25 response, the version v, the NTP time nt, and the sample count start scs as necessary.
[0279]
The procedure returns from step S122 to step S121, and the similar processing is repeated after that.30
[0280]55
As described above, since the distribution server 11 distributes the http response as the portion including the sample group at the time of generating the sample group which is a part of the fragment included in the segment without waiting for the generation of the segment, 5 the distribution server 11 can promptly distribute the content.
[0281]
As a result, the delay in the reception of the content by the client 12 and the start of buffering can 10 be prevented.
[0282]
[0283]
Fig. 16 is a diagram to describe multicast 15 distribution of the portion (and the segment) by the LCT packet.
[0284]
The FLUTE streamer 24 packetizes the portion (and the segment) into the LCT packet, and the multicast 20 server 25 performs the multicast distribution to the LCT packet.
[0285]
The FLUTE streamer 24 packetizes the portion into the LCT packet, for example, by dividing the portion into 25 small pieces with a predetermined size and storing each small pieces to the LCT packet as illustrated in Fig. 16.
[0286]
Fig. 17 is a diagram of aformat of the LCT packet.
[0287]30
The LCT packet includes an LCT header (LCT Header), 56
a FEC Payload ID, and an Encoding Symbol (s) arranged in this order.
[0288]
The small pieces of the portion are stored in the LCT packet as the Encoding Symbol.5
[0289]
Fig. 18 is a diagram of a format of the LCT header.
[0290]
The LCT header includes a transport session identifier (TSI), a transport object identifier (TOI), 10 and a necessary extension header (Header Extensions).
[0291]
The TSI is an identifier for identifying a session of the LCT packet.For example, the TSIs of the LCT packet which are respectively obtained by packetizing the 15 portions 60, 70, and 80 including the sample groups 56, 57, and 58 to be originally distributed in a single segment 50 (Figs. 11A to 11D) are set to be the same values.
[0292]20
The TOI is an identifier for identifying an object in which the data is stored in the Encoding Symbol of the LCT packet.For example, the TOIs of the LCT packets in which the small pieces divided from the portion 60 are stored in the Encoding Symbol are set to be the same 25 values.
[0293]
However, for example, regarding the LCT packet in which the small pieces obtained by dividing the portion 60 are stored in the Encoding Symbol and the LCT packet 30 in which the small pieces obtained by dividing the 57
portion 70 are stored in the Encoding Symbol, the object of the portion 60 in which the data (small piece) is stored in the Encoding Symbol is different from that of the portion 70. Therefore, the LCT packet in which the small pieces obtained by dividing the portion 60 are 5 stored in the Encoding Symbol and the LCT packet in which the small pieces obtained by dividing the portion 70 are stored in the Encoding Symbol have different TOIs from each other.
[0294]10
By receiving the LCT packets having the same TOIs, the client 12 can reconstruct the original portion by collecting the small pieces of the portions stored in the LCT packets.
[0295]15
Fig. 19 is a diagram of exemplary distribution of the content in a portion unit.
[0296]
In Fig. 19, a certain fragment includes sample groups #1, #2, #3, ....20
[0297]
The sample group #1 is, for example, a video of a base view which does not refer to other view (a view of a base layer), and the sample groups #2, #3, ... are videos of non-base views which may refer to the other view such 25 as the base view (a view of an enhanced layer).
[0298]
In the distribution of the content in a portion unit, the distribution server 11 generates a portion #i including a sample group #i (i = 1, 2, 3...) The portion 30 #i is divided into small pieces, and the small pieces of 58
the portion #i are stored in a LCT packet #i and are distributed.
[0299]
The TOIs of the LCT packets #i for storing the small pieces of the portion #i are the same values. 5 Therefore, the client 12 can reconstruct the original portion #i by receiving the LCT packets and collecting the small pieces of the portions #i stored in the LCT packets having the same TOIs from among the received LCT packets.10
[0300]
Here, as described above, in Fig. 19, the sample group #1 included in the portion #1 is the video of the base view, and the sample groups #2, #3, ... are the videos of the non-base views.15
[0301]
As described above, when the sample group included in the portion is data (processing unit) which can be classified based on a certain criterion such as the video of the base view and the video of the non-base view, the 20 packet filtering for selecting the LCT packet in a portion (sample group included therein) unit can be performed.
[0302]
That is, for example, when a sufficient resource 25 (including a resource of the client 12 for finally receiving the LCT packet) is hard to be allocated to the distribution of the LCT packet due to the change in a network environment where the LCT packet is distributed, a router on a distribution route of the LCT packet (for 30 example, a FLUTE multicast router) and a network stack (a 59
block for perform processing to the LCT packet) of the client 12 can select minimum LCT packets or the LCT packet with high priority for the processing and can perform the processing (processing such as forwarding and stack) to it.5
[0303]
Especially, for example, for the distribution of the content by using the portable network in which the network environment is greatly fluctuated,the technique of the packet filtering for selecting minimum LCT packets 10 and the LCT packet with high priority for the processing and performing processing to it as described above is highly required.
[0304]
As a method for performing the packet filteringfor 15 selecting the LCT packet in a portion unit, there is a method in which the http header as the portion includes the attribute information of the sample group (for example, FDT) indicating that the sample group included in the portion is, for example, the video of the base 20 view and the video of the non-base view and the LCT packet for storing the portion (small piece thereof) including the sample group is selected based on the attribute information of the sample group.
[0305]25
However, when the http header as the portion includes the attribute information of the sample group included in the portion, it is necessary to reconstruct the original portion from the LCT packet to recognize the attribute information of the sample group every time when 30 the packet filtering is performed. It is difficult to 60
efficiently perform the packet filtering.
[0306]
In the distribution server 11, the FLUTE streamer 24 generates the LCT packet which has the LCT header including the priority parameter representing the 5 priority of the processing of the LCT packet, and the multicast server 25 distributes the LCT packet which has the LCT header including the priority parameter by multicast. Accordingly, the efficient packet filtering can be performed, and according to this, necessary LCT 10 packet can be promptly distributed and processed.
[0307]
[0308]
According to the present technique, the LCT header 15 includes a priority parameter by extending the extension header of the LCT header so as to store the priority parameter.
[0309]
Fig. 20 is a diagram of a format of the extension 20 header (Header Extentions) of the LCT header in Fig. 18.
[0310]
Top eight bits of the extension header stores a header extension type (HET) representing a kind of the extension header (akind of actual data stored in the 25 extension header as the HEC).
[0311]
When an eight-bit HET is equal to or smaller than 127, an eight-bit header extension length (HEL) is stored following after the HET.The HEL is set to be a value N 30 which represents the length of the extension header 32 × 61
N bits.
[0312]
A header extension content (HEC) having 32 × N -8 -8 bit variable length is stored following after the HEL.The HEC is actual data of the extension header.5
[0313]
On the other hand, when the eight-bit HET is equal to or larger than 128, a 32 -8 bit HEC is stored following after the HET.
[0314]10
The HET has been already defined to several values. However, in the present embodiment, a new extension header for storing the priority parameter is definedby employing values which have not been defined as the HET.
[0315]15
Fig. 21 is a diagram of an exemplary definition of a new extension header for storing the priority parameter.
[0316]
The new extension header includes the eight-bit HET, an eight-bit HEL, an eight-bit Filtering SchemeURI, an 20 eight-bit Filtering Parameter Length, and a 8 × FPLN bits Filtering Parameter arranged in this order.
[0317]
In the HET of the new extension header, the extension header is set to be, for example, 120 which is 25 a value indicating that the priority parameter is stored.In this case, the HET is equal to or less than 127, as illustrated in Fig. 20, the HET is arranged after the HET.
[0318]
The HEL is set to be an integer value HELN of zero 30 to 255.As the integer value HELN, a value having 32 × 62
HELN to be the length of the extension header is employed.
[0319]
The Filtering Scheme URI is a scheme identifier (SchemeURI) for defining the Filtering Parameter.
[0320]5
The Filtering Parameter Length is set to be an integer value FPLN of zero to 255.As the integer value FPLN, a value having 32 × FPLN to be the length of the Filtering Parameter is employed.
[0321]10
The Filtering Parameter is a priority parameter, and the definition (structure) of the Filtering Parameter is specified by Filtering Scheme URI.
[0322]
Fig. 22 is a diagram of an exemplary definition of 15 the priority parameter (Filtering Parameter).
[0323]
For example, the Filtering Scheme URI = 1000 represents the definition in Fig. 22.
[0324]20
In Fig. 22, the priority parameter (Filtering Parameter) is 64 bits and includes an eight-bit Track Reference Index, an eight-bit Priority, an eight-bit Dependency Counter, an eight-bit MVC Filter Length, and a 32-bit MVC Filter arranged in this order.25
[0325]
The Track Reference Index is set to be a value for identifying a track (track of a MP4 file) to which the sample group as a part of the fragment stored in the LCT packet (a sample group included in the portion in which 30 the small pieces are stored in the LCT packet) of the 63
integer values of zero to 255.
[0326]
According to the Track Reference Index as the priority parameter, for example, the packet filtering for selecting the LCT packet in which the small pieces of the 5 portion including the sample group to which a predetermined track belongs are stored with high priority and performing processing to it can be performed.
[0327]
The Priority is set for each LCT packet having the 10 same TOI.An index for representing the priority of the processing of the LCT packet of the TOIof each value is set to the Priority.
[0328]
The index set to the Priority is an integer value 15 of zero to 255 which ranks the priority of the processing of the LCT packet. For example, when the value gets larger, the priority gets lower.
[0329]
According to the Priority as the priority parameter, 20 for example, the packet filtering for selecting the LCT packet of the TOI, to which the Priority of equal to or less than a predetermined value is set, with high priority and performing processing to it can be performed.
[0330]25
The Dependency Counter is set to be a number K of the following LCT packets having the influence from the LCT packet including the Dependency Counter.When the Dependency Counter = K, the processing of the K LCT packets following after the LCT packet having the 30 Dependency Counter = K depends on the processing of the 64
LCT packet having the Dependency Counter = K.
[0331]
According to the Dependency Counter as the priority parameter, for example, the packet filtering for selecting the LCT packet having the Dependency Counter of 5 one or more, that is, the LCT packet having an influence on the following one or more LCT packets with high priority and performing processing to it can be performed.
[0332]
The MVC Filter Length is set to be a Boolean value. 10 When the MVC Filter Length is true, this indicates that the following MVC Filter exists.
[0333]
The MVC Filter is information for performing the filtering to select the data of the multiview video 15 coding (MVC) when the sample group included in the portion in which the small pieces are stored in the LCT packet is data of the MVC.
[0334]
As the MVC Filter, for example, one of or two or 20 more of PRID (priority_id), TID (tempral_id), and VID (View_id) which are defined as the header of a network abstraction layer (NAL) unit of the MVC stored in a RTP packet can be employed.
[0335]25
Fig. 23 is a diagram of an exemplary definition of the MVC filter.
[0336]
A 32-bit MVC Filter includes a six-bit priority_id (PRID), a three-bit temporal_id (TID), a ten-bit view_id 30 (VID), and a 13-bit Reserved arranged in this order.65
[0337]
The PRID, the TID, the VID, and the Reserved are defined as follows.
[0338]
PRID: 6 bits5
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 10 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 15 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 20 identifier of the view the NAL unit belongs to.
Reserved: 13bits
(Reservation bit for extension in future)
[0339]
The PID represents a priority of a NAL unit (the 25 NAL unit in a case where the sample group included in the portion in which the small pieces are stored in the LCT packet is the NAL unit).When the PID is smaller, the priority of the NAL unit is higher.
[0340]30
The TID represents a temporal layer (or frame rate) 66
of the video (the video in a case where the samplegroup included in the portion in which the small pieces are stored in the LCT packet is the video (data thereof)).When the TID of the layer is smaller, the frame rate is lower.A layer may depend on a lower layer having a 5 smaller TID than the layer. However, the layer does not depend on a higher layer having the larger TID.
[0341]
The VID represents a view to which the NAL unit belongs.10
[0342]
The Reserved is a reservation bit for the future.
[0343]
According to the above MVC Filter, for example, when the LCT packet includes the NAL unit (a part of) as 15 the video, the packet filtering for selecting the LCT packet including the NAL unit with high priority based on the PID with high priority and performing processing to it can be performed.
[0344]20
Also, for example, the packet filtering for selecting the LCT packet including the video of which the temporal layer is equal to or less than a predetermined layer (the NAL unit thereof), that is, the video having the frame rate as a temporal resolution which is equal to 25 or less than a predetermined value with high priority and performing processing to it can be performed based on the TID.
[0345]
In addition, for example, the packet filtering for 30 selecting the LCT packet including the video of a 67
predetermined view (the NAL unit thereof) with high priority and performing processing to it can be performed based on the VID.
[0346]
In addition, various information can be employed as 5 the priority parameter.
[0347]
That is, for example, when the LCT packet includeseither video of a moving image and a still image, information indicating that the video is the moving image 10 or the still image can be employed as the priority parameter.In this case, the packet filtering for selecting the LCT packet including the video of the moving image or the still image with high priority and performing processing to it can be performed.15
[0348]
Also, for example, when the LCT packet includes the video of either layer of the base layer which does not refer to the other layer and one or more non-base layers which may refer to the other layer, the information 20 indicating the layer of the video can be employed as the priority parameter.In this case, for example, the packet filtering for selecting the LCT packet including the video of the base layer with high priority and performing processing to it can be performed.25
[0349]
In addition, for example, when the LCT packet includes the video of any views of a plurality of views, information indicating the view of the video can be employed asthe priority parameter.In this case, for 30 example, the packet filtering for selecting the LCT 68
packet of the video of a view desired by the user (for example, video of a view imaged from a backstop side of videos of a plurality of views imaged from a plurality of positions such as a first base side, a third base side, and the backstop side in a in a baseball broadcast) with 5 high priority and performing processing to it can be performed.
[0350]
Also, for example, when the LCT packet includes a video of anyresolutions of a plurality of resolutions, 10 information indicating the resolution can be employed as the priority parameter.In this case, for example, the packet filtering for selecting the LCT packet including the video having a predetermined resolution(equal to or less than that) with high priority and performing 15 processing to it can be performed.As the information indicating the resolution as the priority parameter, one of or both of the temporal resolution and a spatial resolution can be employed.
[0351]20
The packet filtering is performed based on a kind of the priority parameter, and in addition, the packet filtering can be performed based on a plurality of kinds of priority parameters.
[0352]25
That is, for example, in the packet filtering, the LCTpacket including the video with the predetermined view and including the predetermined resolution can be selected with high priority and the processing can be performed to it based on the information indicating, for 30 example, the view of the video and the information 69
indicating the resolution as the priority parameter.
[0353]
[0354]5
Fig. 24 is a flowchart to describe exemplary processing for distributing the LCT packet having the priority parameter.
[0355]
In step S201, the FLUTE streamer 24 (Fig. 2) of the 10 distribution server 11 sets the priority parameter based on data (the small piece of the portion supplied from the segmenter 22) to be stored in an encoding symbol (Encoding Symbol) (Fig. 17) of the LCT packet and an operation by an operator of the distribution server 11, 15 and the procedure proceeds to step S202.
[0356]
In step S202, the FLUTE streamer 24 generates the extension header (Fig. 21) (Fig. 22) including the priority parameterset in step S201, and the procedure 20 proceeds to step S203.
[0357]
In step S203, the FLUTE streamer 24 includes the LCT header (Fig. 18) including the extension header generated in step S202, generates the LCT packet (Fig. 25 17) in which the small piece of the portion supplied from the segmenter 22 is arranged to the encoding symbol, and supplies it to the multicast server 25. Then, the procedure proceeds to step S204.
[0358]30
The multicast server 25 distributes the LCT packet 70
from the FLUTE streamer 24 by multicast in step S204, and the procedure returns to step S201. After that, similar processing is repeated.
[0359]
5
[0360]
Fig. 25 is a flowchart to describe exemplary processing of packet filtering performed by the client 12 (in addition, a device such as a router for receiving the LCT packet which is distributed by multicast).10
[0361]
The receiving unit 30 (Fig. 3) of the client 12 in step S211 sets a priority to be a threshold (referred to as a threshold priority below)of a case when the LCT packet is processed based on the network environment, the 15 resource of the device (client 12), the operation of the user, and user's preference, and the procedure proceeds to step S212.
[0362]
The receiving unit 30 in step S212 receives the LCT 20 packet after waiting for the multicast distribution of the LCT packet, and the procedure proceeds to step S213.
[0363]
The receiving unit 30 determines in step S213 whether the processing to the LCT packet can be performed 25 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 procedure proceeds to step S214.
[0364]30
In step S214, the receiving unit 30 selects the LCT 71
packet according to the determination result determined in step S213, and the receiving unit 30 stops the processing to the LCT packet having the priority parameter with lower priority than the threshold priority and continues the processing to the LCT packet having the 5 priority parameter with the priority equal to or higher than the threshold priority.The processing returns from step S214 to step S211, and similar processing is repeated after that.
[0365]10
[0366]
Next, the above-mentioned series of processing can be performed by hardware and software.When the series 15 of the processing is performed by the software, a program forming the software is installed in a general computer and the like.
[0367]
Fig. 26 is a diagram of an exemplary structure of 20 an embodiment of the computer to which the program for executing the series of processing is installed.
[0368]
The program can be previously recorded to a hard disk 305 and a ROM 303 as recording media which is built 25 in the computer.
[0369]
Also, the program can be stored (recorded) in a removable recording media 311.The removable recording media 311 can be provided as a so-called package software.30 Here, for example, the removable recording media 311 is a 72
flexible disk, acompact Disc read only memory (CD-ROM), a magneto optical (MO) disk, a digital versatile disc (DVD), a magnetic disk, a semiconductor memory, and the like.
[0370]5
The program is installed from the removable recording media 311 to the computer, and in addition, the program can be downloaded to the computer via a communications network and a broadcasting network and can be installed to the built-in hard disk 305.That is, for 10 example, the program can be wirelessly forwarded from a download site to the computer via an artificial satellite for digital satellite broadcast and can be forwarded to the computer with a wire via a network such as a local area network (LAN) and the Internet.15
[0371]
The computer has a central processing unit (CPU) 302 therein, and the CPU 302 is connected to an input/output interface 310 via a bus 301.
[0372]20
When an instruction is input to the CPU 302 by an operation of an input unit 307 by the user via the input/output interface 310, the CPU 302 executes the program stored in the read only memory (ROM) 303 according to the instruction.Also, the CPU 302 loads 25 the program stored in the hard disk 305 to a random access memory (RAM) 304 and executes it.
[0373]
According to this, the CPU 302 performs processing according to the above-mentioned flowchart or processing 30 performed by the structure of the block diagram.For 73
example, the CPU 302 outputs the processing result from an output unit 306 via the input/output interface 310 as necessary or transmits the processing result from a communication unit 308. In addition, the CPU 302 records the processing result to the hard disk 305.5
[0374]
The input unit 307 is configured of a keyboard, a mouse, a microphone, and the like.Also, the output unit 306 is configured of a liquid crystal display (LCD), a speaker, and the like.10
[0375]
Here, in the present specification, it is not necessary to perform the processing, which is performed by the computer according to the program, in an order described in the flowchart in time series.That is, the 15 processing performed by the computer according to the program includes processing performed in parallel or individually (for example, parallel processing or processing by object).
[0376]20
Also, the program may be performed by a single computer (processor), and distribution processing may be performed to the program by a plurality of computers.In addition, the program may be forwarded to a remote computer and be executed.25
[0377]
In addition, a system means herein an assembly of a plurality of components (devices, modules (parts), and the like), and it is not considered whether all the components are in the same housing.Therefore, both a 30 plurality of devices respectively housed in different 74
housings from each other and connected via the network and a single device having a plurality of modules housed in one housing are systems.
[0378]
The embodiments of the present technology are not 5 limited to the above-mentioned embodiment, and various changes can be made without departing from the scope of the present technique.
[0379]
For example, the present technique may have a 10 configuration of cloud computing in which a single function is divided by a plurality of devices via a network and the plurality of devices cooperates to perform the processing.
[0380]15
Also, each step described with reference to the above-mentioned flowchart can be performed by the single device and can be divided and performed by the plurality of devices.
[0381]20
In addition, when a plurality of processing is included in one step, the plurality of processing included in one step can be performed by the single device and can be divided and performed by the plurality of devices.25
[0382]
Also, in the segmenter 22, a fragment of fragmentedMP4 (ISO/IEC14496-14) and a fragment of any data format(a part of data) can be employed as the fragment to which the portion is generated.30
[0383]75
That is, as the fragment to which the portion is generated, for example, a fragment including a data format having a so-called box structure such as an ISO base media file format (ISO/IEC 14496-12), a format specified by ISO/IEC 14496-15, a QuickTime format and a 5 fragment in which data with a data format which does not has the box structure (for example, transport stream (TS) and the like) is fragmented can be employed.
[0384]
In addition, as the fragment to which the portion 10 is generated, for example, a fragment with a transport stream (TS) of MPEG, a webM, and any other moving image format can be employed.
[0385]
Also, the present technique can be applied to 15 distribution of data other than the content.
[0386]
Here, the effects described herein are only exemplary and not limited to these. Also, there may be an additional effect.20
[0387]
The present technique can have a structure below.
[0388]
<1>
A transmission apparatus including:25
a distribution unit configured to distribute an http response including
a part of a fragment and a hypertext transfer protocol (http) header including
a sequence number representing an order of the 30 fragment and76
a version representing an order of a part of the fragment in the fragment.
<2>
The transmission apparatus according to <1>, wherein5
the version of the http response including a last part of the fragment includes information indicating the last of the fragment.
<3>
The transmission apparatus according to <1> or <2>, 10 wherein
the fragment includes a moof (movie fragment) and a mdat (media data),
the moof includes BaseMediaDecodeTime representing a presentation time of a first sample of the mdat, and15
the http header further includes a network time protocol (NTP) time corresponding to the BaseMediaDecodeTime.
<4>
The transmission apparatus according to <3>, 20 wherein
the http header still further includes sample count start information indicating an order of the first sample which is a part of the fragment included in the http response from the first sample of the fragment.25
<5>
The transmission apparatus according to <4>, wherein
the http header of the http response including a part of the second or later of the fragment includes the 30 sample count start information.77
<6>
The transmission apparatus according to any one of <1> to <5>, wherein
the fragment is a fragment of fragmentedMP4.
<7>5
A transmitting method including:
a step for distributing an http response including
a part of a fragment and
a hypertext transfer protocol (http) header including10
a sequence number representing an order of the fragment and
a version representing an order of a part of the fragment in the fragment.
<8>15
A reception apparatus including:
a receiving unit configured to receive an http response including
a part of a fragment and
a hypertext transfer protocol (http) header 20 including
a sequence number representing an order of the fragment and
a version representing an order of a part of the fragment in the fragment.25
<9>
The reception apparatus according to <8>, wherein
the version of the http response including a last part of the fragment includes information indicating the last of the fragment.30
<10>78
The reception apparatus according to <8> or <9>, wherein
the fragment includes a moof (movie fragment) and a mdat (media data),
the moof includes BaseMediaDecodeTime representing 5 a presentation time of a first sample of the mdat, and
the http header further includes a network time protocol (NTP) time corresponding to the BaseMediaDecodeTime.
<11>10
The reception apparatus according to <10>, wherein
the http header still further includes sample count start information indicating an order of the first sample which is a part of the fragment included in the http response from the first sample of the fragment.15
<12>
The reception apparatus according to <11>, wherein
the http header of the http response including a part of the second or later of the fragment includes the sample count start information.20
<13>
The reception apparatus according to any one of <8> to <12>, wherein
the fragment is a fragment of fragmentedMP4.
<14>25
A receiving method including:
a step for receiving an http response including
a part of a fragment and
a hypertext transfer protocol (http) header including30
a sequence number representing an order of the 79
fragment and
a version representing an order of a part of the fragment in the fragment.
REFERENCE SIGNS LIST5
[0389]
10network
11distribution server
12client
13NTP server10
21channel streamer
22segmenter
23metadata generator
24FLUTE streamer
25multicast server15
26web server
30receiving unit
31middleware
32DASH client
33reproducing unit20
301bus
302CPU
303ROM
304RAM
305hard disk25
306output unit
307input unit
308communication unit
309drive
310input/output interface30
311removable recording media80
CLAIMS
1.A transmission apparatus comprising:
a distribution unit configured to distribute an http response including5
a part of a fragment and
a hypertext transfer protocol (http) header including
a sequence number representing an order of the fragment and10
a version representing an order of a part of the fragment in the fragment.
2.The transmission apparatus according to claim 1, wherein15
the version of the http response including a last part of the fragment includes information indicating the last of the fragment.
3.The transmission apparatus according to claim 2, 20 wherein
the fragment includes a moof (movie fragment) and a mdat (media data),
the moof includes BaseMediaDecodeTime representing a presentation time of a first sample of the mdat, and25
the http header further includes a network time protocol (NTP) time corresponding to the BaseMediaDecodeTime.
4.The transmission apparatus according to claim 3, 30 wherein81
the http header still further includes sample count start information indicating an order of the first sample which is a part of the fragment included in the http response from the first sample of the fragment.
5
5.The transmission apparatus according to claim 4, wherein
the http header of the http response including a part of the second or later of the fragment includes the sample count start information.10
6.The transmission apparatus according to claim 5, wherein
the fragment is a fragment of fragmentedMP4.
15
7.A transmitting method comprising:
a step for distributing an http response including
a part of a fragment and
a hypertext transfer protocol (http) header including20
a sequence number representing an order of the fragment and
a version representing an order of a part of the fragment in the fragment.
25
8.A reception apparatus comprising:
a receiving unit configured to receive an http response including
a part of a fragment and
a hypertext transfer protocol (http) header 30 including82
a sequence number representing an order of the fragment and
a version representing an order of a part of the fragment in the fragment.
5
9.The reception apparatus according to claim 8, wherein
the version of the http response including a last part of the fragment includes information indicating the last of the fragment.10
10.The reception apparatus according to claim 9, wherein
the fragment includes a moof (movie fragment) and a mdat (media data),15
the moof includes BaseMediaDecodeTime representing a presentation time of a first sample of the mdat, and
the http header further includes a network time protocol (NTP) time corresponding to the BaseMediaDecodeTime.20
11.The reception apparatus according to claim 10, wherein
the http header still further includes sample count start information indicating an order of the first sample 25 which is a part of the fragment included in the http response from the first sample of the fragment.
12.The reception apparatus according to claim 11, wherein30
the http header of the http response including a 83
part of the second or later of the fragment includes the sample count start information.
13.The reception apparatus according to claim 12, wherein5
the fragment is a fragment of fragmentedMP4.
14.A receiving method comprising:
a step for receiving an http response including
a part of a fragment and10
a hypertext transfer protocol (http) header including
a sequence number representing an order of the fragment and
a version representing an order of a part of the 15 fragment inthe fragment.
| # | Name | Date |
|---|---|---|
| 1 | Form 5 [20-04-2016(online)].pdf | 2016-04-20 |
| 2 | Form 3 [20-04-2016(online)].pdf | 2016-04-20 |
| 3 | Drawing [20-04-2016(online)].pdf | 2016-04-20 |
| 4 | Description(Complete) [20-04-2016(online)].pdf | 2016-04-20 |
| 5 | 201627013717-POWER OF ATTORNEY-(26-04-2016).pdf | 2016-04-26 |
| 6 | 201627013717-FORM PCT-IB-304-(26-04-2016).pdf | 2016-04-26 |
| 7 | 201627013717-FORM 1-(26-04-2016).pdf | 2016-04-26 |
| 8 | 201627013717-ENGLISH TRANSLATION-(26-04-2016).pdf | 2016-04-26 |
| 9 | 201627013717-CORRESPONDENCE-(26-04-2016).pdf | 2016-04-26 |
| 10 | Form 3 [18-08-2016(online)].pdf | 2016-08-18 |
| 11 | 201627013717-FORM 18 [05-10-2017(online)].pdf | 2017-10-05 |
| 12 | ABSTRACT1.JPG | 2018-08-11 |
| 13 | 201627013717.pdf | 2018-08-11 |
| 14 | 201627013717-OTHERS [30-03-2021(online)].pdf | 2021-03-30 |
| 15 | 201627013717-FER_SER_REPLY [30-03-2021(online)].pdf | 2021-03-30 |
| 16 | 201627013717-COMPLETE SPECIFICATION [30-03-2021(online)].pdf | 2021-03-30 |
| 17 | 201627013717-CLAIMS [30-03-2021(online)].pdf | 2021-03-30 |
| 18 | 201627013717-Response to office action [29-06-2021(online)].pdf | 2021-06-29 |
| 19 | 201627013717-FORM 3 [19-07-2021(online)].pdf | 2021-07-19 |
| 20 | 201627013717-FER.pdf | 2021-10-18 |
| 21 | 201627013717-FORM 3 [31-01-2022(online)].pdf | 2022-01-31 |
| 22 | 201627013717-FORM 3 [02-08-2022(online)].pdf | 2022-08-02 |
| 23 | 201627013717-FORM 3 [24-02-2023(online)].pdf | 2023-02-24 |
| 24 | 201627013717-US(14)-HearingNotice-(HearingDate-24-05-2023).pdf | 2023-05-04 |
| 25 | 201627013717-FORM-26 [16-05-2023(online)].pdf | 2023-05-16 |
| 26 | 201627013717-FORM-26 [16-05-2023(online)]-1.pdf | 2023-05-16 |
| 27 | 201627013717-Correspondence to notify the Controller [16-05-2023(online)].pdf | 2023-05-16 |
| 28 | 201627013717-Written submissions and relevant documents [07-06-2023(online)].pdf | 2023-06-07 |
| 29 | 201627013717-FORM 3 [22-06-2023(online)].pdf | 2023-06-22 |
| 30 | 201627013717-PatentCertificate22-09-2023.pdf | 2023-09-22 |
| 31 | 201627013717-IntimationOfGrant22-09-2023.pdf | 2023-09-22 |
| 1 | 2020-06-0411-14-25E_04-06-2020.pdf |