CN103765905B - 多媒体流的自适应转码的方法和装置 - Google Patents

多媒体流的自适应转码的方法和装置 Download PDF

Info

Publication number
CN103765905B
CN103765905B CN201280042071.7A CN201280042071A CN103765905B CN 103765905 B CN103765905 B CN 103765905B CN 201280042071 A CN201280042071 A CN 201280042071A CN 103765905 B CN103765905 B CN 103765905B
Authority
CN
China
Prior art keywords
transcoding
content stream
version
streaming
client device
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.)
Active
Application number
CN201280042071.7A
Other languages
English (en)
Other versions
CN103765905A (zh
Inventor
C.德劳内
R.侯代勒
S.戈雅克
H.贝尔哈德阿里
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN103765905A publication Critical patent/CN103765905A/zh
Application granted granted Critical
Publication of CN103765905B publication Critical patent/CN103765905B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • H04N21/6379Control signals issued by the client directed to the server or network components directed to server directed to encoder, e.g. for requesting a lower encoding rate
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • 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
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234354Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering signal-to-noise ratio parameters, e.g. requantization
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种用于流传输从对应的输入内容流自适应地转码的输出内容流的方法,包括:给客户端设备提供输出内容流的多个替代版本以供所述客户端设备选择,以及将输入内容流划分成两个或多个分段。在所述提供步骤之前,至少将输入内容流的第一分段转码和存储为对应于来自提供给客户端设备的多个替代版本的至少一个版本的输出内容流的至少一个对应分段。一旦从客户端设备接收到对于输出内容流的所选版本的请求,使用在所述提供步骤之前已经被转码和存储的对应于来自提供给客户端设备的多个替代版本的至少一个版本的输出内容流的至少一个对应分段来开始流传输。从所述请求提取转码参数,用于控制将所述输入内容流的后续分段转码为客户端设备所选择的版本,并且被转码为所请求版本的后续分段被流传输到客户端。

Description

多媒体流的自适应转码的方法和装置
技术领域
本发明涉及一种用于多媒体流、特别是音频和/或视频流的自适应转码的方法和装置。
背景技术
音频和/或视频流可以通过使用各种不同设备的用户而被消费。值得注意地,视频流可能要求适配于再现设备的屏幕尺寸的格式或表示。音频流可能同样会受到再现设备所设置的限制。然而,在下面将集中于视频流地提出本发明。
由于在其上对内容进行流传输的连接中的变型导致也可能需要任何种类的流传输内容的自适应。例如,无线连接由于拥塞、或者接收设备的漫游引起的变化的接收条件,可能仅提供变化的吞吐量。
已经提出了内容的自适应流传输的多种实现方式。例如加利福尼亚的苹果公司的也被称为“HTTP实时流传输”或“HLS”的实现方式。这种实现方式由R.Pantos描述在2010年11月的IETF,Internet-Draft Version5(draft-pantos-http-live-streaming-05)的《HTTP Live Streaming》中。
另一种实现方式是由MicrosoftTM提出的,被称为“Silverlight平滑流传输”。这种实现方式描述在《IISsmooth streaming technical overview》中。详细信息在http:// www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=03d22583- 3ed6-44da-8464-b1b4b5ca7520上在线可得。
又一种实现方式是由Adobe Systems公司提出的,已知名称为“Adobe动态流传输”。详细信息可以在文件《HTTP dynamic streaming on the Adobe Flash platform》中找到,在http://www.adobe.com/products/httpDynamic-streaming/pdfs/ httpdynamicstreaming wp ue.pdf上在线可得。
标准化工作仍然由SA4小组内的3GPP进行,并且由“HTTP上的动态自适应流传输”(DASH)小组进行MPEG中的标准化工作。关于这项工作的详细信息由T.Stockhammer公开在《Dynamic adaptive streaming over HTTP-standards and design principles》(2011年多媒体系统ACM会议(MMSysE2011)学报,2011年2月,第157-168页)中。
在所有的已知的实现方式中,服务器必须已经存储了已被预编码和已准备好传送的要被流传输的内容——无论是作为单独的块或是作为可以从较大的容器文件中提取出来的分段。
Kevin J.Ma、Radim Bartos、Swapnil Bhatia、Raj Nair在的《Mobile videodelivery with HTTP》(IEEE通信杂志,2011年4月,第166-174页)中公开了使用转码的内容的自适应流传输。转码被用来将多媒体内容从一种格式转变到另一种格式。
Kuei-Chung Chang、Ren-Yo Wu、Tien-Fu Chen《Efficient segment-based videotranscoding proxy for mobile multimedia services》(2005年多媒体和展览IEEE国际会议(ICME),第755-758页)中也讨论了流传输的视频的转码。
发明内容
本发明的一个目的是改进经转码的流传输的内容的用户体验,并同时减少服务器和/或系统要求。
该目的通过在所附的权利要求中所提出的方法和装置来实现。相应的从属权利要求表示该装置和方法的实施例和发展。
具体实施方式
为了为流传输的内容的每个项目提供可能的最佳用户体验,用户可以选择适合于他/她打算使用的回放设备的内容格式。该选择也可以基于其它考虑因素,包括但不限于传输(特别是关于经由相同的传输信道并发的传输)所需的带宽,以及与传输带宽相关联的成本。同样地,付费内容可能具有取决于显示的质量的定价。
如上面所讨论的,内容流通常存储在服务器上,例如以多种格式和质量存储在HTTP服务器上。最高质量的最可能具有高的比特率;最低质量的最可能具有低的比特率。这允许将内容分发到可能额外地遭受高度变化的网络条件的多个不同的终端或客户端设备。整个内容流被划分成多个块,选择所述块使得客户端设备,例如视频播放器或终端,可以在两个块之间平滑地从一个质量水平切换到另一个。这样的切换可以在网络连接的状况变化的情况下发生,也可以在用户想要更改播放设备同时继续消费内容的情况下发生。因此,视频质量可能在播放时变化,但很少中断。
一旦用户请求无法从服务器上获得的质量的内容,内容流或其块就被转码到所请求的格式和质量,并发送给用户。但是,内容的转码需要时间,这将延迟用户所请求的内容的回放。即使视频的前几个块一旦被转码就可以被传输,并且可以在后台继续视频的后续块的转码,这样的延迟通常也是不希望的,因为它降低了服务的用户体验的感知质量。
在服务器和回放设备之间、或者在转码网关和回放设备之间的网络连接变化的情况下,该延迟尤其明显,迫使服务器或网关以降低到回放设备的连接上的内容的数据速率。当用户改变回放设备同时继续消费内容时,该延迟同样明显,特别是对于可能是内容提供商的有偿优质服务的无缝回放体验。例如,用户可以在他/她的家中的大屏幕上开始观看视频,并在视频没有结束时决定移动到一个不同的地方。然后该视频的其余部分可能在具有不同的屏幕尺寸和回放能力的移动设备上进行再现。这不仅要求该流必须被重定向到新的回放设备,还要求必须改变转码参数。如果新的格式的视频或其块的副本对于即时切换不是容易地可用的,这个转变会在该流中插入另一延迟。
通常,内容流被作为除其它事情之外还提供一组所谓的“表示”的流描述符宣告到客户端设备或再现设备,每一种质量水平、比特率、格式等一种表示。每个完整的表示包括优选地具有相等的持续时间的一系列块,并且具有附接的供客户端选择的一组描述性元素。每个块可由单独的URL访问。
为了支持实时流传输,所述宣告可以仅描述对应内容流的一部分。在这种情况下,必须定期更新所宣告的部分。
如上面所进一步讨论的,可以通过在服务器上以所有可以想到的格式保留内容的副本来避免该延迟。然而,这种方法需要非常大的存储,这对于不常被请求的格式是特别低效的,因此这是不希望的。
参阅上面的讨论,如果只有一个最高质量的内容副本是可用的,另一种避免延迟的方式是使用转码器,它能够并行地将请求的内容转码到所有可以想到的格式。但是,这种转码器需要极高的处理能力,这很可能产生非常高的成本,因此这也是不希望的。
按照本发明的实施例,客户端设备发送对于期望的内容的请求到服务器。该请求包括所述客户端设备能够处理以进行再现的格式、质量、带宽、数据速率等的指示,并且还可以包括优选格式的指示。可以以选择多个HTTP链接之一的形式作出该请求,每个链接表示一种格式、数据速率或质量,或以上的组合。每一链接向转码器传递允许设置适当的转码器参数以生成具有期望的和所选的属性的内容流的信息。换句话说,由服务器提供的选择页面将如何可接收流传输的内容的描述作为例如可供选择的可用选项的列表提高给客户端设备。
流传输内容以块的序列提供给客户端。通过单独的请求,例如HTTP请求,就好像它是个小巧的文件那样来取回每个块。对于每个块,客户端设备特别地关于网络连接的属性来决定哪个比特率、质量、分辨率、格式等是合适的,并相应地通过具体的链接地址或URL请求该块。因此,对于各种比特率、格式、质量等的每一个的流传输内容的每个块存在唯一的URL。逐一播放单独请求的块以形成所述内容流。
如上面所进一步讨论的,特别地对于实时流传输内容,但是也对于其他类型的点播内容,实时服务器需要实时地以所有可以想到的质量、格式、数据速率等来准备块。典型地,得到的各种块将至少被暂时地存储和例如通过Web服务器根据要求来传送。服务器端有限的转码和/或存储资源为这样的方法带来了障碍。只响应于对下一个块的请求来改变转码参数将导致延迟,阻止内容流的平滑和无缝回放。
按照本发明,如果虽然向客户端设备公告为可用,但是具有所请求的属性的块不可用时,使用可用的块、优选地使用具有尽可能地接近所请求的属性的属性的可用的块来应答对于指向这种不可用的块的链接的请求。这样的块可以是例如从相同的内容的预先计算并存储的版本的有限选择中进行选择。当传送预先计算的块以提供平滑的内容流时,原始请求的参数被用于相应地改变转码器参数。然后要被发送的下一块将以实际请求的格式、质量、比特率等可用。这种方法在一定程度上依赖于比块的再现的持续时间改变更慢的连接属性。
本发明的自适应流传输允许在传输过程中(on-the-fly)从(包括但不限于)任何传入的广播或传统的IPTV节目中产生HTTP自适应流传输兼容内容流。一种可能的输出是以适合于传送到自适应客户端的格式进行多路复用的H.264视频和AAC音频,例如,用于传送到加利福尼亚的苹果公司制造的客户端设备的MPEG-TS。
H.264编码需要大量的计算以及资源有限的转码设备,例如采用被设计用于嵌入式设备并具有用于转码的有限资源的Intel CE4200处理器的设备。虽然这款处理器可以同时产生例如NTSC或PAL格式的标准清晰度的若干视频,但它一次仅可以输出一个HD视频。
因此,Intel CE4200的计算能力限制了能够同时输出的不同的视频质量的数量。为例如,如果目标分辨率接近HD,例如1920×1080i/p,或720×1280i/p,则只能输出单个流,从而使产生多种质量的自适应流成为不可能的。
本发明允许将输入视频流转化为自适应HTTP流,而无需在其它情况下产生各种可能的替代流所需的高处理能力。
根据本发明,向客户端设备提供若干可能的表示,例如比特率、格式等,但实际上只有替代物的子集,或者如果处理能力很低的话甚至只有一个单一替代物,被以根据客户端设备做出的请求调节的比特率来进行转码。
本发明解决的一个方面是在自适应内容流传输中,内容流的块在它们被宣告时必须是容易地可用的。因此,与传输过程中转码方法通常做出的相反,必须预测客户端请求。否则对这些请求的响应会来得太晚。由于两个原因使得预期是可能的。首先,所请求的块是整体流的一部分。换句话说,为了用户能观看正确的内容流,必须以它们产生的顺序来播放它们。因此,当一个块被转码时,已经已知接下来要产生哪个块。然后,以不是客户端设备所请求的比特率的比特率产生少许块,而且由于任何HTTP自适应流传输客户端设备实现方式固有的缓冲能力使得传送这些块而不是所请求的块成为可能。当然,在预测算法上必须慎重:必须避免溢出客户端缓冲区。
根据本发明的方法包括预先产生流传输内容的开始的一个或多个连续块。例如,苹果公司的实现方式在流传输会话的开始至少需要至少3个块以填充播放器的缓冲区。其它实现方式可能需要将要预转码的不同数量的块。当产生了这些所谓的启动块的时候,客户端期望的比特率仍是未知的。因此,由自适应平台预先选择比特率。该选择可以基于先前流传输会话的统计分析,或者仅仅是任意的。然后,在下一步骤中,列出替代表示,或变型的清单被例如通过HTTP服务器提供给客户端。对于苹果公司的实现方式,该清单是以M3U8播放列表的形式。这些变型可以提供除其它外的流传输内容的不同的空间或时间分辨率、不同的格式、不同的比特率或不同质量。例如,当客户端设备请求以M3U8播放列表的形式的视频流时,HTTP服务器传送列出可用的变型播放列表的主M3U8播放列表,从而定义可用的比特率。可用比特率的列表根据终端用户代理,例如内容播放器来进行调节。每个替代变型的清单条目包含已准备好可由客户端进行下载的块的列表。由客户端下载该变型描述。根据本发明,清单的所有可选的变型指向相同的预转码的块。如上所述,对于苹果公司的实现方式,这种变型清单由M3U8播放列表来表示,每个变型通过唯一的链接可选。然后,客户端请求内容的变型的流传输和因此请求从该变型供应所述块。变型播放列表列出指向可用的块的链接,或者更精确地说,包含到可用块的符号链接。响应于来自客户端的请求,内容服务器仅传送来自已经可用的预转码的变型的对应块,并从所请求的链接确定所期望的比特率。该所期望的比特率被反馈到为后续块调节编码比特率的转码器。应注意,比特率可以由格式、空间和时间分辨率、质量等来代替。该转码器连续地捕获传入内容流的部分,将其转码成所期望的比特率并将其以适合于自适应流传输的格式进行封装。每当通过转码器产生新的块并准备好用于供应时,更新提供给客户端的清单和变型的清晰度,使得客户端被告知新近可用的块。从客户端的角度,所述流看起来好像是转码器实际上在提供由若干替代变型组成的传统自适应流,并且该流被自适应地调节到可用的带宽或客户端的能力。
例如,假设M是变型播放列表的数量,Pk是第k个变型播放列表,Bk是第k个变型播放列表的比特率,N是目前可用的块的数量,Ci是对应于第i次迭代的块。所以基本上,当块C1、C2、C3可用时,播放列表Pk列出作为分别朝向C1、C2、C3的符号链接的块Ck,1、Ck,2、Ck,3的URL。以这样一种方式构造所述符号链接,使得可以方便地从该URL取回比特率。当客户端请求视频块Ck,1时,web服务器不仅传送所请求的块,也解析该请求URL。服务器从这个URL提取客户端指示其期望以第k个变型播放列表信号通知的比特率Bk接收第一块的事实。该信息被输入到带宽估计模块,其计算足够用于编码随后块的比特率值。根据本发明,可以使用简单的低通滤波器来平滑瞬时带宽变化。带宽估计模块的输出值B’k被立即用于重新配置转码器,使得其以比特率B’k产生下一个块——在本示例中为编号4的块。另外,该转码器被通知刚刚消费了块#1,从而指示“GO”用于产生块#4。转码器以启动和停止的方式工作,使得它避免了在消费块之前太早提前对其进行编码。由于苹果公司流传输实现方式要求存在N=3个块,因此转码器运行,直到3个块已经准备就绪,并且停止,直到最旧的块已被消费。这种机制有助于加快收敛到客户端所请求的比特率。一旦块是可用的,对于从1到M范围内的k创建对应的符号链接C4,k,并且更新所有的播放列表Pk以向客户端通告存在块C4,k。由于客户端周期性地请求播放列表Pk的内容,它将很快发现另一个块的存在,并请求其重新补充它的播出缓冲区。
按照本发明的装置能够实时地将传入的内容流转码为具有不同的格式、数据速率、质量等的至少一种输出内容流。例如,这样的装置能够将传入的视频流转码到至少一种H.264兼容的输出视频流。输出视频流可以被封装为适合于HTTP自适应流传输的传输格式。HTTP服务器将转码后的视频流的块传送到客户端设备。服务器发信号通知期望的比特率、格式、质量等给转码器。发信号通知给转码器的有关参数的信息是从客户端的请求而取得的,但也可以从连接的监视状况推导出来,例如在与客户端设备的无线连接的吞吐量变化的情况下。实际上,在充当流传输的内容的主机的服务器和客户端之间的连接中的吞吐量的任何变化都可以导致转码参数中的变化。这种行为很大程度上取决于转换器所处的连接中的位置。如果从任一侧(即,从转码器的输入侧和从转码器的输出侧)为转码器提供对应信息,那么其在主机服务器和客户端设备之间的连接中的位置几乎是不相关的。
如上面所进一步讨论的,按照本发明的装置的示例性实施例采用了基于IntelCE4200的平台。这个处理器包括以硬件实现的基本的视频解码和编码功能。封装和web服务任务在软件中执行。在下面,这个平台将被称为“自适应平台“。
下面将参照附图描述本发明,附图中唯一的附图示出了所涉及的组件的概述。
实施本发明的环境包括三个通用元件:源、播放器和自适应平台。
源是例如视频的流传输内容的来源。换句话说,源是流传输内容的提供者。例如,它可能是传送任何种类的家庭或预付费视频的家庭设备,或是传送广播或组播视频(DVB-T、DVB-IPTV……),或者甚至可以被表示为文件或从网络流传输的点播视频服务、VoD服务的外部内容提供者。在该图中,源被引用为DVB/IPTV。
播放器是商业终端或客户端设备,其能够取决于它的能力和网络状况以不同的质量播放视频。优选类似HTTP自适应流传输的协议,因为它允许客户端在播放之前请求适当的质量。图中将播放器示为“客户端”。
自适应平台占据了附图的最大的一部分。提供信号分离器“解复用器”以将传入的内容流解复用成独立的音频和视频成分(如适用)。视频成分在解码器“解码”中进行解码并在分段单元“分段”中进行分段。然后,在编码器“编码”中对分段进行转码,即使用不用于原始参数的参数进行重新编码。该编码器可以是H.264编码器,但其它格式同样是可能的。音频成分在分段单元“分段”中被分割为分段,并也可以被转码(未示出)。然后,转码后的音频和视频分段被提供给多路复用器“TS复用器”。多路复用器“TS复用器”将转码后和多路复用后的分段写入存储器“文件”,从那里服务器“Web服务器”(例如HTTP服务器)将分段转移到客户端。
如上面所进一步讨论的,当在具有有限的处理能力的转码设备中实现时本发明特别有用,例如在具有基于Intel CE4200处理器的基本的媒体处理能力的互联网网关中。
本领域技术人员将认识到,上面讨论的实施例中使用的对H.264编解码器和M3U8清单格式的选择只在应用到苹果客户端设备时对描述本发明是必须的。当编码资源太稀缺以致难以并行产生出所有必要的替代流时,要求诸如VC1、WebM的其它编解码器和其它清单格式的其它自适应流传输实现方式可以同样受益于所述发明。
在流传输实时视频的情形中,清单宣布随时间变化的块的集合。已宣布的变型的集合也可能改变。这可以用于本发明的开发,其中,所提出的变型的集合被动态修改。例如,如果清单提出五个变型,三个具有接近于(例如略低于或略高于)最后请求的比特率的比特率,一个具有高得多的比特率,第五个具有低得多的比特率。可以取决于该连接的吞吐量的过去的变化来更新清单中存在的这些版本。
如果转码器能够产生多于一个H.264输出流,期望预测该自适应以进一步改善用户体验。按照本发明的发展,跟踪器模块除了当前请求外还跟踪先前请求的一个比特率或多个比特率。当目前请求的比特率低于先前比特率时,预测模块假定客户端可以在以后的请求中进一步降低比特率。因此,在这种情况下,运行转码器的两个实例,以所请求的比特率Ci,k和下一更低的比特率Ci,k-1两者产生下一块。呈现模块为j属于[k;M]的Ci,j创建指向Ci,k的所有符号链接,并且为j属于[0;k-1]的Ci,j创建符号链接以指向Cj,k-1
如果目前请求是以比先前比特率更高的比特率,预测模块假定在未来请求中比特率将进一步增加,并以类似的方式引起以更高的比特率产生块的其它版本。
应注意,跟踪器模块、预测模块和呈现模块可被包括为通用微处理器上的软件模块,或者可以是专用电路。
本发明允许对包括移动设备的各种设备重新分配任何可用的输入流和应对传输质量的变化。这种自适应是非常符合成本效益的,因为它不要求预先准备流以用于自适应流传输,并且甚至可以通过诸如住宅网关的低端设备来实现。
因为没有预先准备流传输内容的块,因此从理论上讲,有可能利用无限数量的变型来宣布流传输内容。
因为尽可能接近用户地(例如在住宅网关中)执行所述自适应,因此本发明提供了一种用于提供广阔分布、同时保持每个单独用户的可能的最佳体验的低成本的解决方案。视频被以高质量广泛传播,例如组播到住宅网关,并只在网关中自适应。
除非意图为以后的用户保留流传输内容,没有必要将其保存在自适应平台上。只必要在平台上存储它的一部分以用于临时使用和用于实施的便利。

Claims (8)

1.一种用于流传输从对应的输入内容流自适应地转码的输出内容流的方法,该方法包括以下步骤:
-将输入内容流划分成两个或多个块;
-将输入内容流的至少第一块转码和存储为对应于来自被提供给客户端设备的多个替代版本的至少一个版本的输出内容流的至少一个对应块;
-从客户端设备接收用于流传输来自输出内容流的多个替代版本的所选择的版本的块的请求,被提供给客户端设备的替代版本中的所选择的版本不可用;
-使用已经被转码的对应于来自被提供给客户端设备的多个替代版本的至少一个版本的输出内容流的至少一个对应块的第一块来开始流传输;
-从所述请求提取转码参数,用于控制将所述输入内容流的后续块转码为客户端设备所选择的版本;以及
-流传输被转码为所请求版本的后续块。
2.根据权利要求1所述的方法,其中,将输入内容流的至少第一块预先转码为来自被提供给客户端设备的多个替代版本的许多版本的对应块。
3.根据权利要求2所述的方法,其中,从与客户端的再现能力兼容的版本中选择响应于所述请求被立即流传输的对应于所述至少第一块的块。
4.根据权利要求2所述的方法,其中,从转码参数与从客户端设备接收的请求中提取的转码参数尽可能接近地匹配的版本中选择响应于所述请求被立即流传输的对应于所述至少第一块的块。
5.根据权利要求1所述的方法,其中,转码包括产生格式、空间或时间分辨率、数据速率、或者质量中的至少一项与相应的输入格式、空间或时间分辨率、数据速率、或者质量不同的输出内容流。
6.根据权利要求1所述的方法,其中,基于有关提供输入内容流的服务器和客户端设备之间的连接的容量的信息来改变用于控制输入内容流的后续块的转码的转码参数。
7.根据权利要求1所述的方法,其中对于每个后续块,提供输出内容流的多个替代版本以供客户端设备选择,并且其中,按照针对当前正在被服务的块的请求中提取的参数来转码所提供的块的至少一个变型。
8.一种用于流传输从对应的输入内容流自适应地转码的输出内容流的装置,该装置包括:
-划分单元,用于将输入内容流划分成两个或多个块;
-转码单元,用于将输入内容流的至少第一块转码和存储为对应于来自被提供给客户端设备的多个替代版本的至少一个版本的输出内容流的至少一个对应块;
-接收单元,用于从客户端设备接收用于流传输来自输出内容流的多个替代版本的所选择的版本的块的请求,被提供给客户端设备的替代版本中的所选择的版本不可用;
-流传输单元,用于使用已经被转码的对应于来自被提供给客户端设备的多个替代版本的至少一个版本的输出内容流的至少一个对应块的第一块来开始流传输;
-提取单元,用于从所述请求提取转码参数,用于控制将所述输入内容流的后续块转码为客户端设备所选择的版本;所述流传输单元适配于流传输被转码为所请求版本的后续块。
CN201280042071.7A 2011-09-02 2012-08-24 多媒体流的自适应转码的方法和装置 Active CN103765905B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11306093A EP2566172A1 (en) 2011-09-02 2011-09-02 Method and apparatus for adaptive transcoding of multimedia stream
EP11306093.3 2011-09-02
PCT/EP2012/066471 WO2013030096A1 (en) 2011-09-02 2012-08-24 Method and apparatus for adaptive transcoding of multimedia stream

Publications (2)

Publication Number Publication Date
CN103765905A CN103765905A (zh) 2014-04-30
CN103765905B true CN103765905B (zh) 2017-06-09

Family

ID=46717863

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280042071.7A Active CN103765905B (zh) 2011-09-02 2012-08-24 多媒体流的自适应转码的方法和装置

Country Status (12)

Country Link
US (1) US20140208374A1 (zh)
EP (2) EP2566172A1 (zh)
JP (1) JP6170920B2 (zh)
KR (1) KR101845585B1 (zh)
CN (1) CN103765905B (zh)
BR (1) BR112014002040A2 (zh)
CA (1) CA2844648C (zh)
HK (1) HK1198494A1 (zh)
MX (1) MX337086B (zh)
MY (1) MY170793A (zh)
TW (1) TWI572199B (zh)
WO (1) WO2013030096A1 (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2505912B (en) * 2012-09-14 2015-10-07 Canon Kk Method and device for generating a description file, and corresponding streaming method
US11381816B2 (en) * 2013-03-15 2022-07-05 Crunch Mediaworks, Llc Method and system for real-time content-adaptive transcoding of video content on mobile devices to save network bandwidth during video sharing
US9438652B2 (en) 2013-04-15 2016-09-06 Opentv, Inc. Tiered content streaming
US11710151B2 (en) * 2013-04-23 2023-07-25 Brightcove Inc. Live ad processing engine service
US9973559B2 (en) * 2013-05-29 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for presenting content streams to a client device
US9544665B2 (en) * 2013-05-31 2017-01-10 Broadcom Corporation Providing multiple ABR streams using a single transcoder
EP2811711A1 (en) * 2013-06-05 2014-12-10 Alcatel Lucent Nodes and methods for use in HAS content distribution systems
US10015222B2 (en) * 2013-09-26 2018-07-03 Arris Canada, Inc. Systems and methods for selective retrieval of adaptive bitrate streaming media
RU2571732C2 (ru) * 2013-11-08 2015-12-20 Общество с ограниченной ответственностью "МобиВита" Управляющее устройство и способ управления передачей потока видеоданных по сети на сетевое пользовательское устройство
US8955027B1 (en) * 2013-11-21 2015-02-10 Google Inc. Transcoding media streams using subchunking
US9661045B2 (en) 2014-01-13 2017-05-23 Cisco Technology, Inc. System and methods for dynamic transcoder rate adaption for adaptive bit rate streaming
KR102009124B1 (ko) * 2014-01-29 2019-08-08 코닌클리즈케 케이피엔 엔.브이. 이벤트 스트리밍 프레젠테이션 확립
US9350484B2 (en) 2014-03-18 2016-05-24 Qualcomm Incorporated Transport accelerator implementing selective utilization of redundant encoded content data functionality
US9596281B2 (en) * 2014-03-18 2017-03-14 Qualcomm Incorporated Transport accelerator implementing request manager and connection manager functionality
US9794311B2 (en) 2014-03-18 2017-10-17 Qualcomm Incorporated Transport accelerator implementing extended transmission control functionality
US9596323B2 (en) * 2014-03-18 2017-03-14 Qualcomm Incorporated Transport accelerator implementing client side transmission functionality
WO2015200613A1 (en) * 2014-06-26 2015-12-30 Arris Enterprises, Inc. Server side adaptive bit rate control for http streaming clients
US20160037176A1 (en) * 2014-07-30 2016-02-04 Arris Enterprises, Inc. Automatic and adaptive selection of profiles for adaptive bit rate streaming
CN105376657A (zh) * 2014-08-15 2016-03-02 中国电信股份有限公司 媒体内容提供方法、播放方法和装置以及服务系统
US9948984B2 (en) * 2014-09-15 2018-04-17 Verizon Patent And Licensing Inc. Content publishing for personalized content aggregation platform
US9407968B2 (en) * 2014-12-22 2016-08-02 Verizon Patent And Licensing Inc. Multicast and unicast adaptive bitrate services
FR3031264B1 (fr) * 2014-12-24 2018-02-09 Softathome Systeme de distribution de contenus multimedias
CN104506882B (zh) * 2014-12-29 2017-11-10 上海昌视网络科技有限公司 互联网流媒体转换成iptv格式的服务器及其转换方法
FR3031862B1 (fr) * 2015-01-16 2017-02-17 Sagemcom Broadband Sas Procede de transmission d'un flux de donnees utilisant un protocole de diffusion en direct.
CN104754366A (zh) * 2015-03-03 2015-07-01 腾讯科技(深圳)有限公司 音视频文件直播方法、装置和系统
CN104702987B (zh) * 2015-03-27 2018-04-10 南京视海网络科技有限公司 一种高兼容性服务多种不同终端的带宽自适应流媒体系统及方法
CN106162316A (zh) * 2015-04-15 2016-11-23 腾讯科技(深圳)有限公司 一种视频流的数据处理方法、装置和系统
CN105049094B (zh) * 2015-07-16 2018-09-28 陈飞 一种复杂型多组参数转码传输的方法与系统
PH12015000269A1 (en) * 2015-08-19 2017-02-27 Samsung Electronics Co Ltd Data transfer apparatus, method of controlling data transfer, and a data stream
WO2017218522A1 (en) * 2016-06-13 2017-12-21 Arris Enterprises Llc Reduction of startup time in remote hls clients
KR102334704B1 (ko) * 2016-09-30 2021-12-06 주식회사 요쿠스 영상 편집 시스템 및 방법
US10270832B1 (en) * 2016-12-30 2019-04-23 Tribune Broadcasting Company, Llc Method and system for modifying a media stream having a variable data rate
TWI721089B (zh) * 2017-01-23 2021-03-11 香港商阿里巴巴集團服務有限公司 轉碼方法及裝置
CN109391825A (zh) * 2017-08-03 2019-02-26 腾讯科技(深圳)有限公司 一种视频转码方法及其装置、服务器、可读存储介质
FR3073112B1 (fr) 2017-11-02 2021-04-02 Ateme Procede et systeme de traitement d'un contenu multimedia dans un reseau de zone metropolitaine
US10440405B2 (en) * 2017-12-20 2019-10-08 Verizon Patent And Licensing Inc. Content delivery device for streaming content
US10798393B2 (en) 2018-07-09 2020-10-06 Hulu, LLC Two pass chunk parallel transcoding process
CN113099273B (zh) * 2021-04-07 2021-12-14 中南大学 一种基于机会策略的视频块替换方法、客户端、服务器、系统及可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101778104A (zh) * 2009-12-29 2010-07-14 常州中流电子科技有限公司 一种实现自适应带宽播放流媒体的系统及其方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009071668A (ja) 2007-09-14 2009-04-02 Sharp Corp コンテンツを配信するシステム、配信装置および表示装置
AU2009335146B2 (en) 2008-12-31 2012-12-20 Apple Inc. Method for streaming multimedia data over a non-streaming protocol
US20110088076A1 (en) * 2009-10-08 2011-04-14 Futurewei Technologies, Inc. System and Method for Media Adaptation
KR101786051B1 (ko) * 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
US8812621B2 (en) * 2011-05-03 2014-08-19 Cisco Technology, Inc. Reducing fetching load on cache servers in adaptive streaming

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101778104A (zh) * 2009-12-29 2010-07-14 常州中流电子科技有限公司 一种实现自适应带宽播放流媒体的系统及其方法

Also Published As

Publication number Publication date
JP6170920B2 (ja) 2017-07-26
MX2014002195A (es) 2014-06-11
JP2014529812A (ja) 2014-11-13
CA2844648A1 (en) 2013-03-07
TW201313000A (zh) 2013-03-16
MX337086B (es) 2016-02-11
CA2844648C (en) 2019-09-03
MY170793A (en) 2019-08-28
CN103765905A (zh) 2014-04-30
TWI572199B (zh) 2017-02-21
HK1198494A1 (zh) 2015-05-08
KR20140054138A (ko) 2014-05-08
EP2752017B1 (en) 2016-05-18
KR101845585B1 (ko) 2018-04-04
WO2013030096A1 (en) 2013-03-07
EP2566172A1 (en) 2013-03-06
US20140208374A1 (en) 2014-07-24
EP2752017A1 (en) 2014-07-09
BR112014002040A2 (pt) 2017-02-21

Similar Documents

Publication Publication Date Title
CN103765905B (zh) 多媒体流的自适应转码的方法和装置
JP6928038B2 (ja) ライブビデオエンコーディングおよびストリーミングにおけるフレーム複写およびフレーム拡張のためのシステムおよび方法
KR102110627B1 (ko) 적응적 비트레이트 스트리밍에서 대역폭 할당을 위한 방법들 및 디바이스들
JP6133974B2 (ja) コード変換された複数のコンテンツストリームを提供するための方法および装置
CN103828325B (zh) 流送媒体的统计复用
KR101701182B1 (ko) 청크로 스트리밍된 컨텐츠를 복구하기 위한 방법
US10904642B2 (en) Methods and apparatus for updating media presentation data
US10499094B2 (en) Transmission apparatus, transmitting method, reception apparatus, and receiving method
US20130219073A1 (en) Adaptive display streams
CA3094034A1 (en) Adaptive bit-rate methods for live broadcasting
CN109644286B (zh) 分发装置和方法、接收装置和方法、介质和内容分发系统
US10893315B2 (en) Content presentation system and content presentation method, and program
WO2017212931A1 (ja) 受信装置および受信方法、再生装置および再生方法、供給装置および供給方法、並びにプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant