This application claims the previous U.S. Provisional Application that 2014 according to 35U.S.C. § 119 (e) are submitted on October 22,
The priority of sequence number 62/066,971, it is incorporated herein by reference.
Embodiment
Fig. 1 depicts the system for delivering media content 102.Media preparatory unit 104 can optionally with HTTP
Flow passages 106 communicate and/or exchanged data, and one or more client devices 108 can be streamed optionally with HTTP
Device 106 communicates and/or exchanged data.
Media preparatory unit 104 can be include one or more processors, data-storage system or memory, and/or
The encoder and/or transcoder of communication link or interface.Media preparatory unit 104 can be from such as broadcaster or content provider
Source receive media content 102.Media content 102 can include audio and/or video.Under some embodiments and/or situation,
Media content 102 can be live broadcast, and under other embodiments and/or situation, media content 102 can be pre-recorded.
The media content 102 that media preparatory unit 104 can be configured as receiving is encoded and/or to be transcoded at least one adaptive
Transport Stream 110.In some situations and/or embodiment, media preparatory unit 104 can encode the media content 102 received
And/or the adaptive transport Stream 110 of multiple alternatives is transcoded into, such as encoded not with different quality level or bit rate
Same version.
Fig. 2 depicts a part for the non-limiting example of adaptive transport Stream 110.Adaptively transport Stream 110 can be
Continuous transport Stream.By way of non-limiting example, adaptive transport Stream 110 can be continuous MPEG2 transport Streams.
, can be by media preparatory unit 104 according to such as in some embodiments OpenCableTMThe specification of specification is come
Prepare adaptive transport Stream 110, but in other embodiments, media preparatory unit 104 can be with any other desired lattice
Formula prepares adaptive transport Stream 110.
Adaptive transport Stream 110 can include a series of pictures group (GOP), and each GOP includes one or more frames
202.Each frame 202 can be coded and decoded by infra-frame prediction and/or inter prediction.Infra-frame prediction can also be used only
Interior Dynamic data exchange is coded and decoded frame 202 --- being also referred to as I frames or key frame --- in other frames 202 to I frames.Can be with
MB of prediction frame 202 is coded and decoded with reference to one or more of the other frame 202, such as by MB of prediction frame 202
Difference between one or more reference frames 202 is encoded.It is referred to the interframe that previous frame 202 is coded and decoded
Prediction frame 202 is referred to alternatively as P frames.It may be referred to the MB of prediction frame that both previous frame and subsequent frame 202 are coded and decoded
202 are referred to alternatively as B frames.Each GOP can be started with I frames so that decoding device can be decoded independently leading I frames, and so
Help to decode any follow-up the P frames or B frames in GOP using the decoded information afterwards.
Multiple can independently decode changeable sections 204 may reside in adaptive transport Stream 110, as shown in Figure 2.Pass through
The mode of non-limiting example, each changeable section 204 can be adaptive transport Stream 110 a part, such as media content
102 2 to 10 seconds parts.It is each individually to include one or more GOP for changeable section 204.
The position between each changeable section 204 in adaptive transport Stream 110 can be can be with client device 108
The position switched between the different editions of adaptive transport Stream 110.In the way of non-limiting example, experience network congestion
Client device 108 can be from changeable section 204 of a version request of adaptive transport Stream 110 and playback, adaptive conveying
110 version is flowed to be suitable for being encoded by the relatively low bit rate that the network under current congestion level is delivered.
However, when client device 108 reaches changeable section 204 of end and determines that network condition is improved, client is set
Standby 108 can ask next changeable section 204 from the different editions with higher bit rate coding of adaptive transport Stream 110.
Although adaptive transport Stream 110 can be encoded as continuous transport Stream, media preparatory unit 104 can be provided
Indicate the information of position of the segment boundary point 206 in continuous adaptive transport Stream 110.Segment boundary point 206 can be indicated continuously
Each changeable section 204 of starting and/or end in adaptive transport Stream 110.
In certain embodiments, segment boundary point 206 can in the exclusive data associated with adaptive transport Stream 110 quilt
Identification.In the way of non-limiting example, segment boundary point 206 can be encoder boundary point (EBP), its content according to OpenCableTMIt is labeled when specification is encoded.In other embodiments, it can be conveyed with adaptive
Identification burst boundary point 206 in the associated public data of stream 110, the segment boundary description such as in public mpeg data field
Symbol., can be from the position of other inferred from input data segment boundary points 206 in still other embodiments.In the way of non-limiting example,
Each changeable section 204 of the first frame 202 can be encoded as the I frames of specific type, referred to as IDR (refreshing of instantaneous decoding device) frame,
It indicates that its reference picture buffering area should be emptied to decoding device.Each every IDR frame can indicate changeable section 204 of beginning, make
The mark for obtaining every IDR frame can also indicate that segment boundary point 206.
Each changeable section 204 can include one or more delivering blocks 208.Each delivering block 208 can be changeable
A part for section 204, such as single frame 202, the complete GOP of part GOP or one or more.
In certain embodiments, each delivering block 208 can be changeable section 204 of the subsegment that can independently decode so that
Decoding device can immediately be decoded after subsegment is received and render it is each delivering block 208, without etc. delivering block to be appended
208.By non-limiting example, delivering block 208 can be from changeable section 204 acquisition of larger ten second including multiple GOP
Single 8 frame GOP.As another non-limiting example, when changeable section 204 including being all I frames, it delivers block 208 can
To be single frame 202, because each frame can be independently decoded.
As shown in Fig. 2 with can indicate segment boundary point 206 mode similarly, media prepare equipment 104 can pass through public affairs
With or exclusive data indicate the position of the block boundary point 210 in adaptive transport Stream 110.Each block boundary point 210 can be marked
Remember the beginning and/or end of the delivering block 208 in changeable section 204.
Fig. 1 is returned to, media preparatory unit 104 can pass through network --- such as internet or any other data network
Network --- provide the access to adaptive transport Stream 110 to HTTP flow passages 106.HTTP flow passages 106 can be added and media
The associated multicast group of preparatory unit 104 is to start to receive adaptive transport Stream 110.
HTTP flow passages 106 can be configured as independent changeable section 204 being delivered to from adaptive transport Stream 110
Ask the wrapper and/or server of their client device 108.HTTP flow passages 106 can include Internet protocol electricity
Depending on (IPTV) server, cross top (OTT) server or the server or network element of any other type.HTTP flow passages 106
Can have one or more processors, data-storage system or memory, and/or communication link or interface.The institute of below figure 4
Show, HTTP flow passages 106 there can be one or more storage buffers 402, HTTP flow passages 106 at least can be temporarily by certainly
The part for adapting to the reception of transport Stream 110 is stored into storage buffer 402.
Each client device 108 can be that set top box, cable television box, TV, computer, smart phone, movement are set
Standby, tablet PC, game console, or it is configured as asking, receive and playing back changeable section 204 of any other equipment.
Client device 108 can have one or more processors, data-storage system or memory, and/or communication link or connect
Mouthful.
In certain embodiments, HTTP flow passages 106 can also receive adaptive transport Stream from media preparatory unit 104 and retouch
State 112.Adaptive conveying stream description 112 can be description from media preparatory unit 104 to HTTP flow passages 106 available one
Or media presentation description (MPD), the inventory of multiple adaptive transport Streams 110, or other information.With the side of non-limiting example
Formula, media preparatory unit 104 can provide the media content for describing such as title of media content 102 to HTTP flow passages 106
The adaptive conveying stream description 112 of 102 fragment and it can be obtained from media preparatory unit 104 with different bit rates or can
The identifier of multiple different versions of adaptive transport Stream 110 of the media content 102 of acquisition.
HTTP flow passages 106 can use adaptive conveying stream description 112 generate description media content 102 and it is available can
The playlist 114 for client device 108 of switching section 204.Playlist 114 can be that MPD, inventory or description can
One or more changeable section 204 of the other information asked by client device 108 from HTTP flow passages 106., with unrestricted
The mode of property example, playlist 114 can be DASH (the dynamic self-adapting stream based on HTTP) MPD.HTTP flow passages 106 can
To issue playlist 114 for client device 108.
Fig. 3 A depict the first embodiment of playlist 114.In some embodiments or situation, such as in media content
102 are live broadcast and client device 108 is likely to request newest changeable section 204 to present as close possible to live
During media content 102, HTTP flow passages 106 can utilize changeable section of the most recent being linked in adaptive transport Stream 110
The virtual identifier 302 of 204 version prepares playlist 114.In the way of non-limiting example, HTTP flow passages 106
Playlist 114 can be prepared, it lists the adaptive conveying for each quality level that can be obtained from media preparatory unit 104
The virtual identifier 302 of stream 110, the version such as encoded with different bit rates.Client device 108 can use playlist
Virtual identifier 302 in 114 asks changeable section of the most recent in desired quality level from HTTP flow passages 106
204, changeable section 204 of the unique identifier or URL without knowing the most recent at HTTP flow passages 106.
Fig. 3 B depict the alternative embodiment of playlist 114.In alternative embodiment, HTTP flow passages 106 can be arranged
Specific changeable section 204 of the unique segment identifiers 304 gone out on playlist 114, such as filename or URL.HTTP is streamed
Device 106 can analyze the part of its adaptive transport Stream 110 received in storage buffer 402, to recognize at least
Changeable section 204 be partially received, and be those changeable section 204 addition segment identifier on playlist 114
304.In certain embodiments, playlist 114 can list the segment identifier 304 of each changeable section 204 of alternative version,
Arranged side by side changeable section 204 encoded with different bit rates such as from adaptive transport Stream 110.
In these embodiments, HTTP flow passages 106 receive the new part of changeable section 204 at the beginning, and it can
To include changeable section 204 new of the segment identifier 304 on playlist 114, even if it is also not received by whole be somebody's turn to do
Changeable section 204.In the way of non-limiting example, HTTP flow passages 106 1 run into the new section in adaptive transport Stream 110
Boundary point 206, changeable section 204 new of the segment identifier 304 can be just added to playlist 114 by it, even if it is also
It is not received by another segment boundary point 206 for end and next changeable section 204 of the beginning for marking changeable section 204.In reality
In the case of condition content, with being received in the storage buffer 402 of HTTP flow passages 106 in adaptive transport Stream 110
More parts and identify that changeable section of new 204, HTTP flow passages 106 can be using new segment identifier 304 come more
New playlist 114.
When client device 108 asks changeable section 204 using playlist 114, HTTP flow passages 106 can make
Recognize each changeable section 204 end point in adaptive transport Stream 110 with segment boundary point 206, and therefore can be by
Changeable section 204 from continuous adaptive transport Stream 110 encapsulation and/or it is delivered to and has requested that their client device 108.
HTTP may be used as content delivery mechanism, with by the network of such as internet or any other data network by changeable section
204 are transported to the client device 108 for making request from HTTP flow passages 106.HTTP flow passages 106 can be changeable by each
Section 204 is sent to client device 108 using the section as the adaptive bitrate streaming technology used by client device 108,
The live streamings (HLS) of adaptive bitrate streaming technology such as MPEG-DASH, HTTP or HTTP smooth flows.
In certain embodiments, HTTP flow passages 106 zero-copy can be used to be segmented will be with single changeable section of 204 phases
The data of association are sent to the client device 108 for making request.In these embodiments, HTTP flow passages 106 can be received
Into the data from adaptive transport Stream 110 of storage buffer 402, as shown in Figure 4.In certain embodiments, store
Device buffer 402 can keep the data up to scheduled volume from adaptive transport Stream 110, the media content such as received
N seconds of 102 most recent, n byte of the most recent received, n changeable section 204 of the most recent received or appoint
The data that what it is measured.
It is segmented using zero-copy, when being asked by client device 108 for specific changeable section 204, HTTP flow passages 106
Directly the client for making request can will be sent to this changeable section 204 associated data from storage buffer 402
Equipment 108, without copying the data to first different storage locations or by data copy to it is one or more individually
In file.In the way of non-limiting example, HTTP flow passages 106 can follow the trail of it is in its storage buffer 402, with it is adaptive
The different changeable section of 204 corresponding position scopes received in adaptive transport Stream 110 in transport Stream 110 are answered, and
HTTP flow passages 106 can use these scopes to come directly from the portion of the adaptive transport Stream 110 in storage buffer 402
Changeable section 204 for providing and being asked to client device 108 is provided.Similarly, HTTP flow passages 106 can use zero-copy point
The storage buffer 402 that Duan Laicong is segmented using zero-copy is transmitted from bigger changeable section 204 to client device 108
Each delivering block 208.
HTTP flow passages 106 can use the piecemeal as defined in HTTP 1.1 to convey coding (CTE), will be from each
Each of changeable section 204 delivering block 208 of request is delivered to the client device 108 for making request.As described above, every
Individual delivering block 208 can be selected to be small as so single frame 202, or can be selected as single frame 202 and completely changeable
Any other size between section 204.In certain embodiments, HTTP flow passages 106 can be according in adaptive transport Stream 110
Coding during the block boundary point 210 that is added by media preparatory unit 104 it is every in changeable section 204 asked to recognize
The starting point and/or end point of individual delivering block 208.
Conveyed and encoded using piecemeal, even if HTTP flow passages 106 not yet receive complete changeable section 204 and also not
Know changeable section 204 of full size, HTTP flow passages 106 can also start changeable section 204 of the part work of request
For delivering block 208 client device 108 is sent to from its storage buffer 402.
In the way of non-limiting example, HTTP flow passages 106 can substantially in real time connect from media preparatory unit 104
Receive live broadcast and be used as adaptive transport Stream 110.HTTP flow passages 106 1, which are found, indicates cutting in adaptive transport Stream 110
The segment boundary point 206 of the beginning of section 204 is changed, HTTP flow passages 106 can be with changeable at this to recognize using block boundary point 210
Decodable code delivering block 208 in section 204.Once HTTP flow passages 106 determine HTTP flow passages 106 according to the block boundary point 210
Complete delivering block 208 is received in its storage buffer 402, HTTP flow passages 106 just can be by the delivering block
208 are sent to the client device 108 for making request, even if HTTP flow passages 106 are also not received by from this changeable section
Further delivering block 208 or comprising indicate changeable section 204 end segment boundary point 206 adaptive transport Stream
110 further part.HTTP flow passages 106 can continue to receive adaptive conveying in real time from media preparatory unit 104
The more parts of stream 110, and can continue to send additional delivering block 208 to client device 108, until receiving and locating
Manage next segment boundary point 206 in adaptive transport Stream 110.Now, HTTP flow passages 106 can be to client device 108
Send the instruction that changeable section 204 asked has been terminated, the last delivering block 208 that such as length is zero.
Fig. 5 is depicted the data from one or more adaptive transport Streams 110 using block transmission coding from HTTP
Flow passages 106 are sent to the first example process of client device 108.When media content 102 is live broadcast and client
When end equipment 108 wishes the real-time playback live content, Fig. 5 process can be used.
In step 502, HTTP flow passages 106 can receive the piece with media content 102 from media preparatory unit 104
The associated adaptive conveying stream description 112 of section --- such as live broadcast ---.Adaptive conveying stream description 112 can be described
On media content 102 and the one or more associated adaptive transport Streams that can be obtained from media preparatory unit 104
The information of 110 --- different editions of the media content 102 such as encoded with different bit rates ---.Media preparatory unit 104
Can encode using segment boundary point 206 and block boundary point 210 identified in adaptively conveying stream description 112 it is each
Adaptive transport Stream 110, or during being encoded to it, segment boundary point 206 is indicated in the continuous adaptive transport Stream 110
Interior each changeable section 204 beginning and/or end point, block boundary point 210 is marked at passing in each changeable section 204
Send beginning and/or the end point of block 208.
In step 504, HTTP flow passages 106 can issue the playlist 114 for client device 108.HTTP flows
Send device 106 that adaptive conveying stream description 112 can be used to determine the quality level that can be obtained from media preparatory unit, and list
The virtual identifier 302 of changeable section 204 of the most recent in each available quality level on playlist 114, such as Fig. 3 A
It is shown.
In step 506, HTTP flow passages 106 can be received from client device 108 for changeable section 204 of most recent
The request of version.In the way of non-limiting example, client device 108 can use the virtual identifying on playlist 114
Changeable sections 204 of most recents in desired quality level of the request of symbol one of 302, so as in playback media in nearly real time
Hold 102.If HTTP flow passages 106 not yet start to receive adaptive transport Stream 110, HTTP streams from media preparatory unit 104
Send device 106 to add the multicast group associated with media preparatory unit 104, and can start adaptive transport Stream 110
Receive in its storage buffer 402.
In step 508, HTTP flow passages 106 can use block transmission to encode from changeable section asked
204 delivering block 208 is sent to the client device 108 for making request.In certain embodiments, HTTP flow passages 106 can be with
It will be directly transmitted using zero-copy segmentation with the changeable section of 204 associated data asked from its storage buffer 402
To the client device 108 for making request.
In response to the sent for changeable section 204 of request of most recent first delivering block 208 of client device
The delivered intact block 208 for the most recent that can be held in the storage buffer 402 of HTTP flow passages.HTTP flow passages
106 can use the block boundary inserted by media preparatory unit 104 point 210 to be maintained to recognize in its storage buffer 402
Adaptive transport Stream 110 part in delivering block 208.In the way of non-limiting example, Fig. 6 A depict part
Ground receives changeable section 204 in the storage buffer 402 of HTTP flow passages.Although only have received in memory complete
Several frames 202 in changeable section 204, but the delivered intact block 208 limited by block boundary point 210 is had received that, and
The delivering block 208 can be sent to the client device 108 for making request by HTTP flow passages 106.When media preparatory unit 104
When block boundary point 210 to be inserted in adaptive transport Stream 110 to the independent decodable code part to mark media content 102, even if still
Changeable section 204 of other parts are not received, and client device 108 can also immediately begin to decode the delivering block 208 and return
Put its frame 202.
When responding the request from client device 108, HTTP flow passages 106 can follow the trail of it at changeable section 204
Interior position so that next delivering block 208 after the delivering block 208 that most recent is sent then can be optionally sent to
Client device 108.In the way of non-limiting example, Fig. 6 B, which depict HTTP flow passages 106, will come from changeable section
204 the first delivering block 208 is sent to the situation for the client device 108 for making request, and then receives and detect at it
During to the block boundary point 210 for indicating the second end for delivering block 208, the second delivering block from changeable section of identical is sent
208。
In step 510, HTTP flow passages 106 can determine if to have arrived at the section side in adaptive transport Stream 110
Boundary's point 206.If HTTP flow passages 106 not yet reach adaptive conveying after delivering block 208 is sent to client device 108
The segment boundary point 206 in 110 is flowed, then HTTP flow passages 106 may return to step 508, to be encoded in the future using block transmission
The client device 108 for making request is sent to from next delivering block 208 of changeable section 204 asked.If however,
HTTP flow passages 106 determine that it has arrived at the segment boundary point 206 in adaptive transport Stream 110 during step 510, then HTTP
Flow passages 106 can determine that it has arrived at current changeable section 204 end point, and can be moved to step 512.With non-
The mode of limitative examples, Fig. 6 B-6C depict HTTP flow passages 106 and send delivering block 208 and right to client device 108
Afterwards segment boundary point 206 is run into the part of the adaptive transport Stream 110 in the storage buffer 402 of HTTP flow passages 106
It is used as the situation of next data slot.
In step 512, HTTP flow passages 106 can will terminate delivering block 208 and be sent to client device 108, to indicate
Changeable section 204 of the end that client device 108 is asked.As described above, in certain embodiments, terminating delivering block 208 can
With with zero-length.Terminate changeable section that delivering block 208 can be indicated and asked to the client device 108 for making request
204 associated last delivering blocks 208 are sent, and have arrived at changeable section 204 of end.
Receive terminate delivering block 208 after, client device 108 can or using playlist 114 come from
Next changeable section 204 is asked in the adaptive transport Stream 110 of identical or different quality level, or is terminated to media content
102 playback.
During step 514, HTTP flow passages 106 may determine whether from the client device 108 for making request
Receive the new request for changeable section 204.If client device 108 has requested that another changeable section 204,
Changeable section 204 of the delivering block 208 that HTTP flow passages 106 may return to step 508 to start request is sent to client
End equipment 108.If client device 108 not yet asks additional changeable section 204, the process can terminate, and/or
HTTP flow passages 106 can wait the further request for changeable section 204.
Fig. 7 is depicted will come from one or more adaptive transport Streams using block transmission coding from HTTP flow passages 106
110 data are sent to the second example process of client device 108.When media content 102 is live broadcast and client
When end equipment 108 wishes to play back the live content in the way of near real-time, or when media content 102 is live or pre-recorded
And client device 108 can travel through the content when being searched, and can use Fig. 7 process.
In step 702, HTTP flow passages 106 can be from the media preparatory unit associated with the fragment of media content 102
104, which receive adaptive transport Stream, describes 112.Adaptive conveying stream description 112 can be described on can be from media preparatory unit 104
The media content 102 of acquisition and one or more associated adaptive transport Streams 110 --- such as compiled with different bit rates
Code media content 102 different editions --- information.Media preparatory unit 104, which can have been encoded, utilizes segment boundary point
206 and each adaptive transport Stream 110 that identifies in adaptively conveying stream description 112 of block boundary point 210, or to it
Cataloged procedure in, segment boundary point 206 indicates each changeable section 204 beginning in the continuous adaptive transport Stream 110
And/or end point, block boundary point 210 be marked in each changeable section 204 delivering block 208 beginning and/or end point.
After adaptive conveying stream description 112 is received, HTTP receivers 106 can be added and media preparatory unit
104 associated multicast groups, and can start to receive adaptive transport Stream 110 in its storage buffer 402.HTTP
Flow passages 106 can be directed to the segment boundary point 206 for marking each changeable section 204 of beginning in adaptive transport Stream 110, inspection
Look into the part of the adaptive transport Stream 110 received in its storage buffer 402.
In step 704, HTTP flow passages 106 can issue the playlist 114 for client device 108.HTTP flows
Device 106 is sent to list changeable section of segment identifier 304 of identification on playlist 114, as shown in Figure 3 B.As above institute
State, HTTP flow passages 106 can list incomplete changeable section 204 on playlist 114, such as from not yet being deposited at it
Changeable section 204 of the live broadcast received completely in memory buffer device 402.In the way of non-limiting example, when HTTP streams
Device 106 is sent to find the segment boundary point for the beginning for marking changeable section 204 in the part received of adaptive transport Stream 110
When 206, it can list changeable section 204 of segment identifier 304 in playlist 114, even if not yet preparing single from media
Member 104 receives complete changeable section 204.
In certain embodiments, when receiving the more parts of adaptive transport Stream 110 from media preparatory unit 104,
Playlist 114 can constantly or periodically be updated.In the way of non-limiting example, when media preparatory unit 104 to
When HTTP flow passages 106 send the live broadcast as one or more adaptive transport Streams 110, HTTP flow passages 106 1 are opened
Begin receive the adaptive transport Stream 110 from media preparatory unit 104, HTTP flow passages 106 can just issue list beginning can
The initial version of the playlist 114 of the segment identifier 304 of switching section 204.With the more parts for receiving live broadcast, and
And with the extra segment boundary point 206, HTTP for running into the end for marking changeable section 204 and next changeable section 204 of beginning
Flow passages 106 can issue new playlist 114 or update the previous version of playlist 114 to add additional changeable section
204 segment identifier 304.
In step 706, HTTP flow passages 106 can receive the request for changeable section 204 from client device 108.
In the way of non-limiting example, client device 108 can use one of segment identifier 304 on playlist 114 to ask
Ask that most recent is listed in the playlist 114 of announcement changeable section 204, so as near real-time ground playback media content 102.Make
For another non-limiting example, client device 108 can ask other places are listed in playlist 114 changeable section
204 with the earlier point in rebound video.
In step 708, HTTP flow passages 106 can use block transmission to encode from changeable section asked
204 delivering block 208 is sent to the client device 108 for making request.In certain embodiments, HTTP flow passages 106 can be with
It will be directly transmitted using zero-copy segmentation with the changeable section of 204 associated data asked from its storage buffer 402
To the client device 108 for making request.In response to being sent for newest changeable section 204 of request for client device
First delivering block 208 can be the delivered intact block of the most recent kept in the storage buffer 402 of HTTP flow passages 106
208.HTTP flow passages 106 can use the block boundary inserted by media preparatory unit 104 point 210 and be deposited to recognize being maintained at it
Delivering block 208 in the part of adaptive transport Stream 110 in memory buffer device 402.By way of non-limiting example, figure
6A depicts changeable section 204 be partially received in the storage buffer 402 of HTTP flow passages.Although in storage
Only have received several frames 202 in complete changeable section 204 in device, but have received that by block boundary point 210 limit it is complete
Whole delivering block 208, and delivering block 208 can be sent to the client device 108 for making request by HTTP flow passages 106.Work as matchmaker
Body preparatory unit 104 inserts block boundary point 210 in adaptive transport Stream 110 to mark the independent decodable code of media content 102
During part, even if not yet receiving changeable section 204 of other parts, client device 108 can also immediately begin to decoding should
Delivering block 208 simultaneously plays back its frame 202.
When responding the request from client device 108, HTTP flow passages 106 can follow the trail of it at changeable section 204
Interior position so that next delivering block 208 after the delivering block 208 that most recent is sent then can be optionally sent to
Client device 108.As non-limiting example, Fig. 6 B, which depict wherein HTTP flow passages 106, will come from changeable section
204 the first delivering block 208 is sent to the situation for the client device 108 for making request, and then receives and detect at it
During to the block boundary point 210 for indicating the second end for delivering block 208, the second delivering block from changeable section of identical is sent
208。
In step 710, HTTP flow passages 106 can determine if to have arrived at the section side in adaptive transport Stream 110
Boundary's point 206.If HTTP flow passages 106 not yet reach adaptive conveying after delivering block 208 is sent to client device 108
The segment boundary point 206 in 110 is flowed, then HTTP flow passages 106 may return to step 708, to be encoded in the future using block transmission
The client device 108 for making request is sent to from next delivering block 208 of changeable section 204 asked.If however,
HTTP flow passages 106 determine that it has arrived at the segment boundary point 206 in adaptive transport Stream 110 during step 710, then HTTP
Flow passages 106 can determine that it has arrived at current changeable section 204 end point, and can be moved to step 712.As
Non-limiting example, Fig. 6 B-6C depict HTTP flow passages 106 and send delivering block 208 to client device 108 and then exist
The conduct of segment boundary point 206 is met in the part of adaptive transport Stream 110 in the storage buffer 402 of HTTP flow passages 106
The situation of next data slot.
In step 712, HTTP flow passages 106 can will terminate delivering block 208 and be sent to client device 108, to indicate
Changeable section 204 of the end that client device 108 is asked.As described above, in certain embodiments, terminating delivering block 208 can
With with zero-length.Terminate transmission block 208 can to make request client device 108 indicate with asked it is changeable
The associated last delivering block 208 of section 204 is sent, and has arrived at changeable section 204 of end.
Receive terminate delivering block 208 after, client device 108 can or using playlist 114 come from
Next changeable section 204 is asked in the adaptive transport Stream 110 of identical or different quality level, or is terminated to media content
102 playback.
During step 714, HTTP flow passages 106 may determine whether from the client device 108 for making request
Receive the new request for changeable section 204.If client device 108 has requested that another changeable section 204,
Changeable section 204 of the delivering block 208 that HTTP flow passages 106 may return to step 708 to start request is sent to client
End equipment 108.If client device 108 does not ask additional changeable section 204, the process can terminate, and/or HTTP
Flow passages 106 can wait the further request for changeable section 204.
When 108 initial request live video stream of client device, Fig. 5 and Fig. 7 process can be reduced or substantially disappeared
Except tuning delay.In the way of non-limiting example, in Figure 5, client device 108 can be used on playlist 114
Virtual identifier 302 to ask changeable section 204 newest of version from live video stream automatically, even if HTTP flow passages 106
Not yet receive complete newest changeable section.As another non-limiting example, as shown in fig. 7, HTTP flow passages 106 can
So that new cut is listed on playlist 114 immediately after the beginning segment boundary point 206 in finding adaptive transport Stream 110
Section 204 is changed, even if HTTP flow passages 106 not yet receive complete new changeable section, and this new changeable section 202 1 goes out
Client device 108 can just make requests on to it on present playlist 114.
Because delivering block 208 can be larger changeable section 204 of independent decodable code part, so HTTP flow passages 106
Can by make request client device 108 send each delivering block 208 come respond for changeable section 204 please
Ask, even if HTTP flow passages 106 do not receive complete changeable section 204 also.So, client device 108 can by
The delay for the size that HTTP flow passages 106 receive adaptive transport Stream 110 afterwards only to deliver block 208 is live to start playback
Video, receives complete changeable section 204 and waits this complete changeable section 204 without being to wait for HTTP flow passages 106
And then it is sent to client device 108.Because the size for delivering block 208 can be single or part GOP or even each frame
202, initial tuning delay can be minimized.The minimum of initial tuning period and then it can minimize in playback live content
Time delay in further part.
The execution for putting into practice the command sequence needed for embodiment can be performed by one or more computer systems 800, such as Fig. 8
It is shown.In the way of non-limiting example, media preparatory unit 104, HTTP flow passages 106, and/or client device 108 can
To be computer system 800.Although the description to a computer system 800 can be presented herein, but it is to be understood that can with
Using any number of computer system 800 communicated with one another.
It is computer system 800 to be described now with reference to Fig. 8 according to the computer system 800 of one embodiment, Fig. 8
The block diagram of functional unit.It can be stored and independent fortune as it is used herein, term computer system 800 is widely used for description
Any computing device of the one or more programs of row.
Computer system 800 can include the communication interface 814 for being coupled to bus 806.Communication interface 814 can calculated
Two-way communication is provided between machine system 800.The communication interface 814 of corresponding computer system 800 can send and receive electricity, electromagnetism
Or optical signal, it includes representing the data flow of various types of signal messages --- such as instruction, message and data ---.Communication
Link 815 can link a computer system 800 with another computer system 800.For example, communication link 815 can be
LAN, ISDN (ISDN) card, modem or internet.
Computer system 800 can be transmitted by its corresponding communication link 815 and communication interface 814 and reception disappears
Breath, data and instruction, it include such as applying or code program.The program code of reception can be when it be received by corresponding
Processor 807 is performed, and/or is stored in the non-volatile media of storage device 810 or other associations to perform later.
In certain embodiments, computer system 800 can be operated with reference to data-storage system 831, data-storage system
831 such as include the data-storage system 831 for the database 832 that can be easily accessed by computer system 800.Computer system
800 can be communicated by data-interface 833 with data-storage system 831.
Computer system 800 can include being used to transmit instruction, message and data --- be referred to as information bus 806 or its
Its communication mechanism, and couple with bus 806 one or more processors 807 of information for processing.Computer system 800 is also
Main storage 808 can be included --- such as random access memory (RAM) or other dynamic memories, it is coupled to bus
806 dynamic datas that performed for storage by processor 807 and instruction.Computer system 800 can also include being coupled to
The static storage device of read-only storage (ROM) 809 or other of bus 806, for storing the static number for processor 807
According to and instruction.Storage device 810 can also be provided --- such as disk or optical disc simultaneously couple it to bus 806, for
Store data and the instruction of processor 807.
Computer system 800 can be coupled to the display device 811 of such as lcd screen via bus 806.Such as alphabetical number
The input equipment 812 of keyboard and/or other keys may be coupled to bus 806, for information and command selection are transmitted everywhere
Manage device 807.
According to one embodiment, single computer system 800 performs specific operation by its corresponding processor 807,
Processor 807 performs the one or more sequences for being included in the instruction of one or more of main storage 808.Such instruction can
To be read into main storage 808 from another computer usable medium --- such as ROM 809 or storage device 810 ---.To master
The execution of the command sequence included in memory 808 can cause processor 807 to perform process as described herein.In alternative embodiment
In, hard-wired circuit can be used to replace software instruction or be applied in combination with software instruction.Therefore, embodiment is not limited to hardware electricity
Road and/or any particular combination of software.
Although having specifically described the present invention above, this is just to instructing those of ordinary skill in the art such as
What is manufactured and using the present invention.Many additional modifications will be fallen within the scope of the present invention, because the scope will by appended right
Book is asked to limit.