CN107148779A - Adaptive bitrate streaming time delay is reduced - Google Patents

Adaptive bitrate streaming time delay is reduced Download PDF

Info

Publication number
CN107148779A
CN107148779A CN201580057430.XA CN201580057430A CN107148779A CN 107148779 A CN107148779 A CN 107148779A CN 201580057430 A CN201580057430 A CN 201580057430A CN 107148779 A CN107148779 A CN 107148779A
Authority
CN
China
Prior art keywords
changeable section
transport stream
flow passages
block
adaptive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580057430.XA
Other languages
Chinese (zh)
Other versions
CN107148779B (en
Inventor
温德尔·什
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Commscope UK Ltd
Original Assignee
Keen Trend LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Keen Trend LLC filed Critical Keen Trend LLC
Priority claimed from PCT/US2015/056208 external-priority patent/WO2016064728A1/en
Publication of CN107148779A publication Critical patent/CN107148779A/en
Application granted granted Critical
Publication of CN107148779B publication Critical patent/CN107148779B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6118Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving cable transmission, e.g. using a cable modem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols

Abstract

There is provided the method for transmission media content, it provides the block size being substantially reduced.This method is included at HTTP flow passages from one or more adaptive transport Streams are received storage buffer by media preparatory unit.The transport Stream received includes multiple changeable sections, and each changeable section includes one or more delivering blocks, and changeable section is marked using segment boundary point, and delivers block using block boundary point to mark.Then one or more of described delivering block from changeable section asked is sent to the client device for making request, segment boundary point is terminated until reaching, wherein, each delivering block can be decoded independently, even and if when HTTP flow passages not yet receive changeable section entirely asked from media preparatory unit completely, client device can also start to decode and render the delivering block received.

Description

Adaptive bitrate streaming time delay is reduced
Priority request
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.
Technical field
This disclosure relates to which digital video streams field, especially with regard to the adaptive transport Stream of use (ATS) and block transmission Encode to reduce the field of the time delay in adaptive bitrate stream.
Background technology
By the network of such as internet by live or pre-recorded media content stream to such as set top box, computer, Smart phone, mobile device, tablet PC, the client device of game console and miscellaneous equipment become to become more and more popular. The delivering of such media content often relies on the live streaming (HLS) of such as MPEG-DASH, HTTP and HTTP is smoothly streamed Adaptive bitrate Flow Technique.
The media content stream encoded with adaptive bitrate Flow Technique is typically split into multiple sections, wherein each section can be It is independent addressable.Client device can be by asking and decoding first paragraph, request and decoding second segment and continue request As long as wishing to play media content or until being played back to the end up to media content with the user of decoding subsequent segment client device Tail plays Media Stream.
In addition, the segmentation of stream can allow client device with the not year-on-year of the stream of different quality level code Changed between special rate version.For example, when network condition congestion, client device can be by asking with low rate encoding Section starts playback media stream, and when network condition improves, client device can be by asking with higher bit rate volume The subsequent segment of code is transformed into the higher quality version of stream.
Although can be that useful, conventional fragmentation procedure introduces delay by Media Stream segmentation, particularly in fact During the transmission of content.In the realization of most of adaptive bitrate streams, server can only be carried to the client device for making request For complete section.However, section generally has the length of at least several seconds, such as 2 to 10 seconds.Therefore, to end user stream just Beginning to deliver could start after first paragraph completion.This is introduced at least before it otherwise can watch live content The delay of the length of this section.Further, since first paragraph is delayed by by this way, so all subsequent segments will similarly be prolonged Late, and video can not will be gone up in real time forever.
The delay of these types is probably gloomy for a user.For example, live sport broadcasts are welcome , and beholder it is generally desirable to see event on screen as early as possible after generation event in stadium.Even if however, each section Length it is relatively short --- such as two seconds), the content of each two seconds must also be completely encoded and be packaged into section, then could send out It is sent to client device.Therefore, because the event shown on fragmentation procedure, screen will be lagged behind always at least two seconds in real time. Such delay may be disappointing for zealot, because when infusive event occurs during competing, he May first pass through online scoreboard or radio is learnt, then they actual could see that it occurs on screen.
Although whether some beholders may be indifferent to lingeringly receives live video, start viewing video flowing and spent The time of expense remains able to make these beholders worried.Because first video-frequency band needs the equipment for being sent to beholder at it It is completely encoded before and package, so after beholder's request video flowing, may before starting to play for beholder There are the delay at least equal to this section of size, such as 2-10 seconds.For the sight for the tuning period immediately for getting used to existing-quality television offer For the person of seeing, tuning delay in many seconds may be depressing.
A kind of method of the such tuning delay of reduction can shorten the size of section.For example, different from some 10 seconds usually used sections in current streaming technology, section size can be shortened to 2 seconds so that decoding device can be before receiving Start playback after 2 seconds contents.However, all sections are generally encoded using leading anchor frame, leading anchor frame is used than other frames More data.Therefore, reducing section size needs more anchor frames and utilizes more data, and this can reduce code efficiency and shadow Ring use and the performance of bandwidth.In addition, more sections will generally be caused by reducing section size, and it therefore can increase and be delivered into The number of HTTP request and reply needed for client device.
The content of the invention
Need a kind of system and method, though for when send equipment have no knowledge about changeable section of full size when, or In the case of equipment is sent not yet with changeable section of complete copy, block transmission coding can also be used to send From each changeable section delivering block in continuous adaptive transport Stream.This can allow in changeable section of client device requests The transmission of live content is almost immediately begun to afterwards, is decoded and is rendered, without waiting complete changeable section to be encoded and send out Send.
In one embodiment, present disclose provides a kind of method for transmitting media content, methods described is included in HTTP flow passages (streamer) place receives adaptive transport Stream description, the adaptive conveying stream description from media preparatory unit The media content that can be obtained from media content preparatory unit as one or more adaptive transport Streams is described, wherein one Or each in multiple adaptive transport Streams is to include multiple changeable section of continuous stream, multiple changeable sections include one Or multiple delivering blocks, described changeable section is marked using segment boundary point, and delivering block is marked using block boundary point , wherein, it is one that the position between each in the multiple changeable section is that client device can be switched to Or the position of the different adaptive transport Streams in multiple adaptive transport Streams;Playlist is issued, wherein HTTP flow passages are arranged Go out one or more of the multiple changeable section changeable section of identifier;Will be one at the HTTP flow passages Or multiple adaptive transport Streams are from the media preparatory unit receives storage buffer, at the HTTP flow passages from The client device receives specific changeable section of the request for being identified on the playlist, and by from institute The one or more delivering blocks for stating specific changeable section are sent to the client device until reaching termination segment boundary point, use Block transmission encodes to respond the request, wherein each in one or more of delivering blocks is can be by client device Single changeable section of part of independent decoding so that not yet received completely from media preparatory unit even in HTTP flow passages At asked changeable section, HTTP flow passages are also arranged to start to send from changeable section of the delivering block asked, And client device can also start to decode and render the delivering block received.
In another embodiment, present disclose provides a kind of method encoded to media content, methods described bag Include:At media preparatory unit media content segments are received from source;Using media preparatory unit by the media content segments with The bit rate level code of change is multiple adaptive transport Streams, each in the plurality of adaptive transport Stream be include it is multiple Changeable section of continuous stream so that decoding device can be at the position between adjacent changeable section from multiple adaptive transport Streams In the adaptive transport Streams of difference that are switched in multiple adaptive transport Streams;It is multiple certainly using media preparatory unit coding Adapt to each in transport Stream so that each in multiple changeable sections includes one or more delivering blocks, wherein specific Each delivering block in changeable section is specific changeable section of independent decodable code part;Use the mark adaptive transport Stream Multiple segment boundary points of the starting point of each and/or end point in interior changeable section are the multiple adaptive defeated to mark Each in stream is sent, and using each in the delivering block in each changeable section marked in the adaptive transport Stream Individual starting point and/or multiple block boundary points of end point mark each in multiple adaptive transport Streams.
In another embodiment, present disclose provides a kind of method for transmitting media content, methods described includes:In matchmaker Body preparatory unit receives media content from source, by media content using media preparatory unit with the bit rate level code that changes into Each in multiple adaptive transport Streams, the plurality of adaptive transport Stream is to include multiple changeable section of continuous stream so that Decoding device can at the position between adjacent changeable section from one in multiple adaptive transport Streams be switched to it is multiple from Adapt to the adaptive transport Stream of difference in transport Stream;Encoded using media preparatory unit each in multiple adaptive transport Streams It is individual so that each in multiple changeable sections includes one or more delivering blocks, wherein each passing in specific changeable section It is specific changeable section of the part that can independently decode to send block;Marked with multiple segment boundary points in multiple adaptive transport Streams Each, the multiple segment boundary point marks each changeable section of starting point and/or end point in adaptive transport Stream;With Multiple block boundary points mark each in multiple adaptive transport Streams, and the multiple block boundary point marks multiple adaptive conveyings The starting point and/or end point of each delivering block in stream in each changeable section;By describe multiple adaptive transport Streams from Adapt to conveying stream description and be sent to HTTP flow passages from media preparatory unit;Playlist is issued, wherein HTTP flow passages are listed The multiple changeable section of one or more identifiers;By the multiple adaptive transport Stream at the HTTP flow passages From media preparatory unit receives storage buffer;Received at the HTTP flow passages from client device in institute State specific changeable section of the request identified on playlist;And by by from the one of described specific changeable section or many Individual delivering block is sent to the client device and terminates segment boundary point until reaching, described ask is responded using block transmission coding Ask, even if wherein when HTTP flow passages not yet completely receive changeable section asked from media preparatory unit when, it is described HTTP flow passages are also arranged to start to send from changeable section of the delivering block asked, and client device can also Start to decode and render the delivering block that receives.
Brief description of the drawings
The further detail below of the present invention is illustrated by accompanying drawing, wherein:
Fig. 1 depicts the system for delivering media content, including with media preparatory unit and one or more clients The HTTP flow passages of equipment communication.
Fig. 2 depicts a part for the non-limiting example of adaptive transport Stream.
Fig. 3 A depict the exemplary embodiment for the playlist for listing virtual identifier.
Fig. 3 B depict the exemplary embodiment for the playlist for listing segment identifier.
Fig. 4 depicts a part for the adaptive transport Stream in the storage buffer received at HTTP flow passages.
Fig. 5 is depicted using block transmission coding adaptive transport Stream from HTTP flow passages being sent to client device First example process.
Fig. 6 A-6C depict changeable section of the adaptive transport Stream being received in storage buffer and are sent to Make the example of changeable section of the delivering block of the client device of request.
Fig. 7 is depicted using block transmission coding adaptive transport Stream from HTTP flow passages being sent to client device Second example process.
Fig. 8 depicts the block diagram of the exemplary embodiment of computer system.
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.

Claims (20)

1. a kind of method for transmitting media content, including:
Adaptive transport Stream description is received from media preparatory unit at HTTP flow passages, the adaptive conveying stream description is used for Media contents that description can be obtained from the media preparatory unit, as one or more adaptive transport Streams, wherein, institute It is to include multiple changeable section of continuous stream to state each adaptive transport Stream in one or more adaptive transport Streams, described Changeable section each includes one or more delivering blocks, and described changeable section is marking and described pass using segment boundary point Block is sent using block boundary point to mark, wherein, the position between each changeable section in the multiple changeable section It is the position for the adaptive transport Stream of difference that client device can switch in one or more of adaptive transport Streams;
Issue playlist using the HTTP flow passages, the playlist list one in the multiple changeable section or Multiple changeable section of identifier;
One or more of adaptive transport Streams from the media preparatory unit are received at the HTTP flow passages Into storage buffer;
Receive and specific cut for what is recognized on the playlist from the client device at the HTTP flow passages Change the request of section;And
Encoded using block transmission, by the way that the visitor will be sent to from described specific changeable section of one or more delivering blocks Family end equipment terminates segment boundary point until reaching, to respond the request,
Wherein, each delivering block in one or more of delivering blocks is the portion that can be independently decoded by the client device Single changeable section divided so that even if the HTTP flow passages are configured as when the HTTP flow passages are not yet from the media When preparatory unit is received entirely changeable section asked, also begin to send from changeable section of the delivering block asked simultaneously And the client device can start to decode and render the delivering block received.
2. according to the method described in claim 1, wherein, the media content is live broadcast.
3. according to the method described in claim 1, wherein when the media content is encoded according to OpenCable standards, institute State the encoder boundary point that segment boundary point is inserted into exclusive data.
4. according to the method described in claim 1, wherein, the segment boundary point is inserted into public data.
5. according to the method described in claim 1, wherein, the HTTP flow passages issue virtual identifying on the playlist Symbol, the virtual identifier each point to most recent from the media preparatory unit partly or be completely received it is changeable Section.
6. according to the method described in claim 1, wherein, the HTTP flow passages issue segment identification on the playlist Symbol, the segment identifier is each pointed to by the HTTP flow passages according to the opening in one or more of adaptive transport Streams And/or close complete changeable section or changeable section of part that segment boundary point is recognized.
7. method according to claim 6, wherein, when the HTTP flow passages, to run into mark one or more of adaptive When answering the beginning segment boundary point of new changeable section of starting in transport Stream, new segment identifier is added to the played column Table.
8. according to the method described in claim 1, further comprise:It is zero by length when reaching the termination segment boundary point Termination delivering block be sent to the client device.
9. according to the method described in claim 1, further comprise:It is segmented using the zero-copy in the storage buffer, By it is described delivering block in each delivering block be sent to the client device, wherein, by it is in the storage buffer, with By opening boundary point and/or to close the corresponding position of the single delivering block that is recognized of block boundary point straight from the storage buffer Connect and be sent to the client device.
10. a kind of method of coded media content, including:
At media preparatory unit media content segments are received from source;
Using the media preparatory unit by the media content segments using the bit rate level code that changes to be multiple adaptive Each adaptive transport Stream in transport Stream, the multiple adaptive transport Stream is to include multiple changeable section of continuous stream, is made Obtaining decoding device can be adaptive from one in the multiple adaptive transport Stream at the position between adjacent changeable section The adaptive transport Stream of difference that transport Stream is switched in the multiple adaptive transport Stream;
Each adaptive transport Stream in the multiple adaptive transport Stream is encoded using the media preparatory unit so that institute Each changeable section stated in multiple changeable sections includes one or more delivering blocks, wherein, it is each in specific changeable section Delivering block is described specific changeable section of the part that can independently decode;
Each adaptive transport Stream in the multiple adaptive transport Stream, the multiple section are marked using multiple segment boundary points Boundary point is marked at starting point and/or end point in each described changeable section in the adaptive transport Stream;With
Each adaptive transport Stream in the multiple adaptive transport Stream, the multiple piece are marked using multiple block boundary points Boundary point is marked at the starting point and/or knot of each delivering block in each changeable section in the adaptive transport Stream Spot.
11. method according to claim 10, wherein, each delivering block is to include can independently decoding for series of frames Group of picture, and each changeable section include multiple group of picture.
12. method according to claim 11, wherein, the frame in each changeable section in described changeable section is frame in Predict that each delivering block in frame, and each changeable section is single frame so that each delivering block can be independently decoded.
13. method according to claim 10, wherein, the media content segments are live broadcasts.
14. method according to claim 10, wherein, when the media content segments are compiled according to OpenCable standards During code, the segment boundary point is inserted into the encoder boundary point in exclusive data.
15. method according to claim 10, wherein segment boundary point is inserted into public data.
16. a kind of method for transmitting media content, including:
At media preparatory unit media content segments are received from source;
Using the media preparatory unit by the media content segments using the bit rate level code that changes to be multiple adaptive Each adaptive transport Stream in transport Stream, the multiple adaptive transport Stream is to include multiple changeable section of continuous stream, is made Obtaining decoding device can be adaptive from one in the multiple adaptive transport Stream at the position between adjacent changeable section The adaptive transport Stream of difference that transport Stream is switched in the multiple adaptive transport Stream;
Each adaptive transport Stream in the multiple adaptive transport Stream is encoded using the media preparatory unit so that institute Each changeable section stated in multiple changeable sections includes one or more delivering blocks, wherein, it is each in specific changeable section Delivering block is described specific changeable section of the part that can independently decode;
Each adaptive transport Stream in the multiple adaptive transport Stream, the multiple section are marked using multiple segment boundary points Boundary point is marked at each described changeable section of starting point and/or end point in the adaptive transport Stream;
Each adaptive transport Stream in the multiple adaptive transport Stream, the multiple piece are marked using multiple block boundary points Boundary point is marked at the starting point and/or knot of each delivering block in each changeable section in the adaptive transport Stream Spot;
The adaptive conveying stream description of the multiple adaptive transport Stream of description is sent to HTTP from the media preparatory unit Flow passages;
Issue playlist using the HTTP flow passages, the playlist list one in the multiple changeable section or Multiple changeable section of identifier;
The multiple adaptive transport Stream from the media preparatory unit is received into storage at the HTTP flow passages In device buffer;
Receive and specific cut for what is recognized on the playlist from the client device at the HTTP flow passages Change the request of section;And
Encoded using block transmission, by the way that the visitor will be sent to from described specific changeable section of one or more delivering blocks Family end equipment terminates segment boundary point until reaching, to respond the request,
Wherein, even if the HTTP flow passages are configured as when the HTTP flow passages are not yet complete from the media preparatory unit When receiving changeable section asked, also begin to send from changeable section of the delivering block asked and the client Equipment can start to decode and render the delivering block received.
17. method according to claim 16, wherein, the HTTP flow passages issue virtual mark on the playlist Know symbol, the virtual identifier each points to most recent from the media preparatory unit partly or cutting of being completely received Change section.
18. method according to claim 16, wherein, the HTTP flow passages issue segment identification on the playlist Symbol, the segment identifier is each pointed to by the HTTP flow passages according to the opening in one or more of adaptive transport Streams And/or close complete changeable section or changeable section of part that segment boundary point is recognized.
19. method according to claim 18, wherein, when the HTTP flow passages run into mark it is one or more of from During the beginning segment boundary point of new changeable section of starting in adaptation transport Stream, new segment identifier is added to the played column Table.
20. method according to claim 16, further comprises:Use the zero-copy in the storage buffer point Section, the client device is sent to by each delivering block in the delivering block, wherein, by the storage buffer , with by opening boundary point and/or closing the corresponding position of the single delivering block that is recognized of block boundary point and delaying from the memory Rush device and be transferred directly to the client device.
CN201580057430.XA 2014-10-22 2015-10-19 Method for transmitting media content Active CN107148779B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462066971P 2014-10-22 2014-10-22
US62/066,971 2014-10-22
PCT/US2015/056208 WO2016064728A1 (en) 2014-10-22 2015-10-19 Adaptive bitrate streaming latency reduction

Publications (2)

Publication Number Publication Date
CN107148779A true CN107148779A (en) 2017-09-08
CN107148779B CN107148779B (en) 2020-10-23

Family

ID=59381732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580057430.XA Active CN107148779B (en) 2014-10-22 2015-10-19 Method for transmitting media content

Country Status (2)

Country Link
EP (1) EP3210383A1 (en)
CN (1) CN107148779B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111586479A (en) * 2019-02-19 2020-08-25 苹果公司 Low-delay streaming media
CN112119639A (en) * 2018-03-29 2020-12-22 艾锐势有限责任公司 System and method for deblocking HDR content

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1909509A (en) * 2006-07-19 2007-02-07 华为技术有限公司 System, method and user terminal for realizing video live broadcast in media distributing network
CN101102312A (en) * 2007-06-11 2008-01-09 华为技术有限公司 A network communication data processing method, network communication system and client
CN102232298A (en) * 2011-04-07 2011-11-02 华为技术有限公司 Method, device and system for transmitting and processing media content
US20130173760A1 (en) * 2010-09-20 2013-07-04 Humax Co., Ltd. Processing method to be implemented upon the occurrence of an expression switch in http streaming
JP2013247407A (en) * 2012-05-23 2013-12-09 Sharp Corp Portable terminal device, information communication system, channel selection method, program, and recording medium
EP2779658A2 (en) * 2013-03-11 2014-09-17 Comcast Cable Communications, LLC Segmented content delivery
US20140282765A1 (en) * 2013-03-12 2014-09-18 Centurylink Intellectual Property Llc Abr live to vod system and method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1909509A (en) * 2006-07-19 2007-02-07 华为技术有限公司 System, method and user terminal for realizing video live broadcast in media distributing network
CN101102312A (en) * 2007-06-11 2008-01-09 华为技术有限公司 A network communication data processing method, network communication system and client
US20130173760A1 (en) * 2010-09-20 2013-07-04 Humax Co., Ltd. Processing method to be implemented upon the occurrence of an expression switch in http streaming
CN102232298A (en) * 2011-04-07 2011-11-02 华为技术有限公司 Method, device and system for transmitting and processing media content
JP2013247407A (en) * 2012-05-23 2013-12-09 Sharp Corp Portable terminal device, information communication system, channel selection method, program, and recording medium
EP2779658A2 (en) * 2013-03-11 2014-09-17 Comcast Cable Communications, LLC Segmented content delivery
US20140282765A1 (en) * 2013-03-12 2014-09-18 Centurylink Intellectual Property Llc Abr live to vod system and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MUKTA KAR ET AL: "On EBP specification and hybrid HTTP/IP multicast distribution", 《INTERNATIONAL ORGANISATION FOR STANDARDISATION ORGANISATION INTERNATIONALE DE NORMALISATION ISO/IEC JTC1/SC29/WG11 CODING OF MOVING PICTURES AND AUDIO》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112119639A (en) * 2018-03-29 2020-12-22 艾锐势有限责任公司 System and method for deblocking HDR content
CN112119639B (en) * 2018-03-29 2024-03-12 艾锐势有限责任公司 Systems and methods for deblocking HDR content
CN111586479A (en) * 2019-02-19 2020-08-25 苹果公司 Low-delay streaming media
US11757965B2 (en) 2019-02-19 2023-09-12 Apple Inc. Low latency streaming media

Also Published As

Publication number Publication date
EP3210383A1 (en) 2017-08-30
CN107148779B (en) 2020-10-23

Similar Documents

Publication Publication Date Title
US10432982B2 (en) Adaptive bitrate streaming latency reduction
CN109792545B (en) Method for transmitting video content from server to client device
JP6258432B2 (en) Controlled streaming for segmented content
KR102090261B1 (en) Method and system for inserting content into streaming media at arbitrary time points
US9756369B2 (en) Method and apparatus for streaming media data segments of different lengths wherein the segment of different length comprising data not belonging to the actual segment and beginning with key frames or containing key frames only
US8943534B2 (en) Advanced streaming playback/dynamic ad insertion
US20100242066A1 (en) Method of Performing Random Seek Preview for Streaming Video
US20170302988A1 (en) Method And System For Realizing Streaming Media Data Seamlessly Connecting In Intelligent Home
US20120254365A1 (en) Delivery of streaming media content
CN109792547B (en) Method for transmitting video content from server to client device
CN106210768A (en) Audio segmentation is carried out with the compulsory frame sign of codec
US10250937B2 (en) Item to item transitions
CN113141522B (en) Resource transmission method, device, computer equipment and storage medium
WO2021174219A1 (en) Identification of elements in a group for dynamic element replacement
US20240155019A1 (en) Synchronizing independent media and data streams using media stream synchronization points
CN107148779A (en) Adaptive bitrate streaming time delay is reduced
US20100125628A1 (en) Method for assembling a multimeda asset and subsequent provisioning of said multimedia asset to a client device, a related system, a related multimedia asset assembly device and a related client device
EP2978225B1 (en) Method for obtaining in real time a user selected multimedia content part
US11838580B2 (en) Insertion of targeted content in real-time streaming media

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220712

Address after: London, England

Patentee after: Iris International Intellectual Property Co.,Ltd.

Address before: State of Georgia, US

Patentee before: ARRIS ENTERPRISES LLC

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240103

Address after: London

Patentee after: CommScope UK Ltd.

Address before: London

Patentee before: Iris International Intellectual Property Co.,Ltd.