CN104247368B - 用于提供多个经译码的内容流的方法和设备 - Google Patents

用于提供多个经译码的内容流的方法和设备 Download PDF

Info

Publication number
CN104247368B
CN104247368B CN201380020259.6A CN201380020259A CN104247368B CN 104247368 B CN104247368 B CN 104247368B CN 201380020259 A CN201380020259 A CN 201380020259A CN 104247368 B CN104247368 B CN 104247368B
Authority
CN
China
Prior art keywords
bit rate
version
client
asked
difference
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
CN201380020259.6A
Other languages
English (en)
Other versions
CN104247368A (zh
Inventor
R.霍戴利
S.古阿什
C.德劳奈
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
InterDigital Madison Patent Holdings 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 CN104247368A publication Critical patent/CN104247368A/zh
Application granted granted Critical
Publication of CN104247368B publication Critical patent/CN104247368B/zh
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 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/234309Processing 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 transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • 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/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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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

Landscapes

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

Abstract

提出了一种提供具有不同比特率的内容流的多个版本的方法。根据该方法,向客户端提供具有不同比特率的内容流的版本的集合。向客户端提交描述所提供的内容流的版本的集合的清单部分。客户端请求具有特定比特率的内容流的一个版本。动态地选择提供给客户端的版本的比特率,使得动态地适配相邻版本的比特率之间的差异。所提出的方法改善了自适应译码,使得其使用基于在当前所交付的比特率周围分布的比特率值的小集合的小清单部分。此外,还提出了一种用于实现该方法的系统。

Description

用于提供多个经译码的内容流的方法和设备
技术领域
本发明涉及一种提供具有不同比特率的内容流的多个版本的方法。根据本发明的方法,根据相同的输入内容流对每个版本进行了译码。本发明还涉及一种适于实现根据本发明的方法的系统。
背景技术
如今,越来越多的数字音频和视频存储在服务器上并且可以在线地交付。通过物理介质的内容分发正在不断地减少。根据在线交付的第一种方式,可以将音频和视频内容(A/V内容)作为在单个文件中的整体(例如,作为数字mp3音频文件)从服务器下载到客户端设备。然而,在该方式下,交付诸如整个电影这样的视频内容通常需要很长一段时间来下载该视频内容,从而延迟了用户可以享受该视频内容的开始时间。
根据在线交付的第二种方式,音频/视频内容被分成将被一个接一个地下载的小单元的序列。单独的单元也被称为“组块”。组块表示以几秒钟量级的小段时间,可以将其连结以再现完整的内容。作为组块系列被发送的组块的整体也被称为音频/视频流。音频和视频内容也被称为“流传输内容”。流传输内容由音频和/或视频流组成。
用户可以使用各种不同设备来消耗音频和/或视频流。值得注意的是,视频流可能需要适配于再现设备的屏幕大小的格式或表示。同样地,音频流可能受到由再现设备设置的限制。然而,下面将示例性地呈现本发明,其中,关注于视频流,但是不将本发明限制于视频流。
由于从服务器向客户端设备对内容进行流传输的连接中的变化,还可能需要对任何种类的流传输内容进行适配。例如,由于拥塞或者接收设备漫游所造成的变化的接收条件,无线连接可能仅提供变化的吞吐量。如果自适应流传输工作正常,则因为所交付的流的最佳速率不断地动态适配于网络或重放条件的改变,所以内容的消耗者始终能够享受到可能的最佳内容。
已经提出了内容的自适应流传输的各种实现方式。
一个示例是Apple Inc.,CA的实现方式,也被称为“HTTP实时流传输(HTTP LiveStreaming)”或者“HLS”。R.Pantos描述了这种实现方式:“HTTP Live Streaming,”IETF,Internet-Draft Version 5(draft-pantos-http-live-streaming-05),2010年11月。
另一种实现方式由MicrosoftTM给出,被称为“Silverlight平滑流传输(Silverlight Smooth streaming)”。这种实现方式在“IIS smooth streaming technicaloverview”中描述。细节可以通过http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=03d22583-3ed6-44da-8464-b1b4b5ca7520在线地得到。
又一种实现方式由Adobe Systems Inc.给出,被称为“Adobe动态流传输(AdobeDynamic Streaming)”。细节可以在文献“HTTP dynamic streaming on the Adobe Flashplatform”中获得,该文献可以通过http://www.adobe.com/products/httpdynamicstreaming/pdfs/httpdynamicstreamin g wp ue.pdf在线地得到。
关于自适应流传输的标准化工作仍在由SA4组内的3GPP以及由“HTTP动态自适应流传输(Dynamic adaptive streaming over HTTP)”(DASH)组以MPEG进行。DASH组于2011年12月公布了第一个规范发布。T.Stockhammer公布了关于该工作的细节:“Dynamicadaptive streaming over HTTP-standards and design principles”,Proc.of the2011 ACM Conference on Multimedia Systems(MMSysE 2011),2011年2月,157-168页。
不同技术的共同之处在于,对于每个时间段,服务器供应组块的若干版本以允许比特率适配。以如下方式构建通过服务器、编码器、客户端以及连接这三者的网络表示的系统:对于任何时间段,使客户端能够通过请求对应的组块版本从一个比特率切换到另一个比特率。独立地供应描述组块布置的清单部分(组块的持续时间、比特率和/或组块的格式),并且在进行流传输的情况下需要定期重载以便更新。
关于如何实现这一点的细节以及清单部分的格式根据使用的特定技术而变化:Apple HTTP实时流传输,Microsoft平滑流传输,Adobe HTTP动态流传输,等等。但是,全部都依赖于基本相同的概念。
对这种系统的常规使用是为了通过因特网从网络服务器向任何客户端交付数据。这种服务器(以及在交付路径上的http高速缓冲存储器)存储客户端可能在特定时间请求的所有的组块版本。
在先前提交的欧洲专利申请EP 1130609.3中,发明人描述了一种HTTP自适应译码器,其允许动态地对AV流进行译码,并且将其传送给实现这种HTTP自适应流传输协议的客户端。在EP 1130609.3中所述的自适应译码器具有有限的计算资源,因此,仅译码成单个或者数量非常少的不同的比特率,而在清单文件中向客户端广告更多可能的比特率。根据客户端请求动态地适配编码器的目标比特率,从而维持了HTTP自适应交付的有利之处,即:对网络和/或终端限制的动态适配。自适应译码器也被称为译码平台。
使用HTTP自适应流传输,服务器必须决定它将提出内容的多少个版本并且以哪些比特率。另一方面,可供选择的比特率的数量越大,客户端就越能更好地适配当前网络吞吐量条件,同时维持可能的最佳音频和视频(A/V)质量。另一方面,HTTP服务器通常必须存储许多数据,其取决于组块版本的数量。例如,仅供应1Mbps、2Mbps和3Mbps这3个级别意味着该流使用与仅提供最高比特率所需的数据量相比两倍的数据量。因此,在增加具有不同比特率的可用版本的数量时,加载到服务器上的数据可能迅速地成为内容的正常量的若干倍。
使用在EP 1130609.3中描述的上面所提及的设备(其即时地进行译码,并且不生成“未请求的”组块),AV流的数据量不取决于所提出的比特率的数量。因此,能够显著地增加被广告的比特率的数量,从而使客户端能够非常精确地适配其需求。例如,在不同版本的内容之间的步长(step)大小为50 kbps的从1Mbps到3Mbps的比特率范围内,有41种可能的比特率将被广告。被广告的比特率组成客户端的播放列表。
然而,描述可用比特率的集合的清单部分的大小与所提出的比特率的数量成正比。在播放实时流时,客户端需要相当频繁地刷新其播放列表,其中包括针对可用比特率而重载清单部分。因此,在可用比特率的数量变高时,与内容比特率相比,以清单部分的形式传送的描述性数据的量就不小了。对于运行在客户端上用于处理流传输内容的应用,这还增加了分析工作。
本发明解决如上所述的清单部分的大小的问题。
发明内容
根据第一方面,本发明提出通过如下方法解决上述问题:向客户端(4)提供具有不同比特率的内容流的版本的集合,其中,该方法包括以下步骤:
a)准备描述所提供的内容流的版本的集合的清单部分;
b)向所述客户端(4)提交所述清单部分;
c)从所述客户端(4)接收对具有特定比特率的内容流的一个版本的请求;
d)将内容流的版本译码成由所述客户端(4)请求的比特率;
f)动态地选择提供给所述客户端(4)的版本的比特率,使得动态地适配相邻版本的比特率之间的差异;以及
g)重复步骤a)到f)。
本发明的想法是改善自适应译码器,使得其使用基于在当前所交付的比特率周围分布的比特率值的小集合的小清单部分。
在有利的实现方式中,该方法还包括向单个客户端提供内容流的版本的集合的步骤。
发现如果该方法还包括如下步骤则是有用的:动态地适配所提供的比特率的集合中的不同的相邻版本之间的比特率差异,使得相邻比特率取决于由所述客户端请求的比特率的改变。
同样地,发现如果该方法还包括如下步骤则是有用的:动态地适配所提供的比特率的集合中的不同的相邻版本之间的比特率差异,使得比特率的差异取决于所述客户端有多频繁地请求不同的比特率。
在有利的实施例中,该方法还包括如下步骤:动态地适配所提供的比特率的集合中的不同的相邻版本之间的比特率差异,使得比特率的差异取决于与当前所接收的版本的比特率相比,由所述客户端请求的比特率的改变有多大。
在又一个实施例中,本发明的方法还包括如下步骤:供应所提供的比特率的集合,所述比特率的集合包括对更加接近于当前所请求的比特率的相邻比特率具有增加的差异的比特率。
有利地,所述方法还包括如下步骤:供应所提供的比特率的集合,其中每个到相邻比特率具有相等间距。
在有利的实现方式中,所述方法还包括如下步骤:如果所请求的版本的比特率与当前所接收的版本的比特率相比的差异超过阈值,则动态地适配不同版本的相邻比特率的步长大小。
根据第二方面,本发明提出了一种适于实现根据本发明的方法的系统。
附图说明
在附图中,例示了本发明的实施例。
附图示出:
图1,本发明实现方式的示意性框图;
图2a到2c,示出在不同条件下所提供的版本的比特率的图表;
图3,示出特殊情况的比特率的图表;以及
图4,例示本发明方法的流程图。
具体实施方式
图1示出实现本发明的系统1的示意性框图。系统1包括源2、适配平台3和再现设备4。
源2是流传输内容(例如,视频内容)的起点。换言之,源2是流传输内容的供应者。例如,它可以是交付任何种类的家庭或预付费视频的家庭设备,或者交付可以被表示为文件的或从网络流传输的广播或多播视频(DVB-T、DVB-IPTV等)乃至视频点播服务(VoD服务)的外部内容供应者。作为示例,在图1中,源2被示为以DVB和IPTV信号的形式来提供A/V内容。
再现设备4是商用终端或者客户端设备,其能够根据其能力和网络条件以不同的质量来播放音频和/或视频。在本专利申请中,客户端设备是允许用户连接到服务器、下载内容并且以对该用户可听且可见的方式来再现该内容的任何设备。在本专利申请中,同义地使用术语“客户端设备”和“客户端”。在HTTP自适应流传输的当前背景下,再现设备4也被称为客户端4。优选像HTTP自适应流传输这样的协议,因为其允许客户端4恰好在播放它之前请求合适的质量。
适配平台3装备有多路分离器6(“多路分离”),用于(如果适用)将进入的内容流多路分离成分开的音频和视频成分。在解码器7“解码”中对视频成分进行解码,并且在分割单元8“分割”中进行分割。然后,在编码器9“编码”中对片段(“源组块”)进行译码,亦即,使用不同于原始参数的参数重新编码。编码器9可以是H.264编码器,但是,其他格式同样是可行的。在分割单元11“分割”中将音频成分分成片段(“音频组块”),并且也可以对其进行译码(未示出)。然后,向多路复用器12“TS多路复用”供应音频片段和经译码的视频片段。多路复用器12根据M3U8清单格式准备清单部分。多路复用器12“TS多路复用”在海量存储设备13“文件”中存储经译码并多路复用的片段和清单部分,服务器14“网络服务器”(例如,HTTP服务器)从该海量存储设备向客户端4传递片段。
如在更上面所述的那样,本发明在实现为适配平台3或者具有有限处理能力的译码器(例如,基于英特尔CE4200处理器的具有基本媒体处理能力的因特网网关)时特别有用。
本领域的技术人员将认识到,对在上述实施例中使用的H.264编码解码器和M3U8清单格式的选择,仅对于描述在应用于Apple客户端设备时的本发明是必需的。在编码资源过于缺乏以致不能并行地生成流的所有必要替代版本时,需要诸如VC1、WebM这样的其他编码解码器和其他清单格式的其他自适应流传输实现方式同样能够受益于所述发明。
在对实时视频进行流传输的情况下,清单通告随时间改变的组块的集合。所通告的变体的集合也变化。这在本发明中使用,通过动态地修改所提出的变体的集合或者所提供的版本的集合。根据连接的吞吐量的过去的变化来更新在清单中给出的版本。换言之,还可以说,响应于客户端的请求来更新清单部分中的版本,对此将在下面作进一步的解释。
因为适配平台3具有生成组块的实际比特率和客户端4所请求的比特率之间的松散联系,所以能够相当自由地生成清单。根据本发明,适配平台3选择下面的要提出给客户端的比特率。
适配平台对客户端提出当前目标比特率,即,客户端所请求的最后的比特率。这很重要,因为在网络条件稳定时,客户端将收敛到最优值并保持请求最优值。因此,需要提出它。
适配平台3还提出一些相当接近于当前目标比特率的比特率。为了客户端的最佳收敛(可能的最好质量,同时恰好处于最大可用带宽之下),提出从当前所接收的比特率分开小步长大小的替代比特率。这样允许客户端4做出具有平滑的质量改变的精确适配。这对于终端用户的所感知的视觉质量是很重要的。
除此之外,适配平台3提出远离当前目标的一些其他比特率。这允许客户端4在网络条件显著地改变时做出快速的适配。
在具体的示例中,假设用2Mbps的比特率交付内容流的一个版本。然后,清单提供具有如下比特率的一组版本:1Mbps、1.5Mbps、1.8Mbps、1.9Mbps、1.95Mbps、2Mbps、2.05Mbps、2.1Mbps、2.2Mbps、2.5Mbps、3Mbps。
实际上,步长的数量以及步长之间的间隔可以适配于系统1的各种参数。
甚至能够根据客户端4的行为动态地改变安排步长的方式。当所请求的比特率相当稳定时,本发明提出更多的具有非常小的步长的接近当前所交付的版本之一的比特率以及更少的远离当前比特率的比特率。当条件变得稳定时,本发明提出在比特率之间用规律的步长来隔开比特率,使得客户端能够在可用的比特率范围内的任何区域中重新定位其自身。
在图2a到2c中例示了所述情形,示出了1Mbps到3Mbps范围中的比特率的标度21。竖线示出了向客户端4提出或提供的比特率。标度21中间的长竖线代表“当前的”比特率。图2a到2c例示了向客户端4提出具有10个替代比特率的版本的本发明的示例性实施例。
图2a示出了稳定情形的比特率,在当前所交付的比特率周围具有小步长。如在图2a中所示,不向客户端4提出在1Mbps和3Mbps处的最低和最高的可能比特率。所提出的比特率反而跨越更加有限的范围,因为在稳定带宽的假设下,客户端未必需要改变成诸如本实施例中的1Mbps或3Mbps这样的极值。
图2c示出了跨越全部可用范围的一组间隔相等的比特率。在条件不稳定并且客户端4将能够转到该可用范围内的“任何”比特率时,使用比特率的这种选择。
图2b示出了中间情形,其中,与图2a相比,所提出的比特率不太集中于当前所交付的比特率的周围,但是仍然像在图2c中那样地不是等间距的。
图2a到2c例示了本发明的一个基本概念,即,动态地选择要提供给客户端4的版本的比特率,使得动态地适配相邻版本的比特率之间的差异。相邻版本的比特率之间的差异在图2a到2c以及图3中对应于竖线之间的间距。
实际上,所提出的比特率的数量可以不同,而不会影响本发明的想法,并且可以随时间变化。如图2a到2c所示,所提出的比特率的集合也并不需要对称地分布。例如,在当前所请求的比特率与给定内容的可能范围相比非常低或者非常高时,可以有更小数量的具有小间距的值分别低于或者高于当前比特率,并且有更大数量的具有更大间隔的值分别高于或者低于当前比特率。
图3示出了当前所交付的比特率处于可用比特率范围的上限的情形。因此,所提供的其他全部的比特率都低于当前所交付的比特率。
在本发明的具体实施例中,使用以下过程:
将被广告比特率的数量设置为11。
对于给定内容,确定最小和最大的比特率值。最大值是视频在其可能的最好质量(亦即,理想地、无需译码的质量)下的比特率。在源2和输出编码解码器9的比特率必须不同的情况下,那么译码是强制性的,并且最大比特率可以与源比特率不同。最小比特率被确定为终端用户的最低可接受的比特率。这是相当主观的,并且取决于设备类型(对于HD电视机,期待比移动电话更好的质量)和用户偏好。例如,最大比特率(max)和最小比特率(min)之间的比值是10。
然后,在任何时间点上,将当前比特率B视为最后请求的比特率。关于启动,由译码器选择某个初始值,对此在欧洲专利申请EP 1130609.3中也进行了解释。这个比特率始终包括在被广告的比特率的列表中。对于剩余的10个比特率值,首先,决定它们中的低于或者高于B的数量。使这两个数量分别与(B-min)和(max-B)成正比,但是将最低的数量舍入成高限值(ceilingvalue)。这意味着,除了在B恰好等于最小或最大比特率的时候,小的一侧始终具有至少一个值。例如,如果B对应于在低端处受限于最小比特率并且在高端处受限于最高比特率的比特率区间(简而言之,该区间记为[min,max])中的75%的值,则有7个被广告的值低于B,并且有3个高于B。如果B对应于区间[min,max])中的90%的值,则有9个被广告的值低于B,并且有1个被广告的值高于B。特别要指出的是,如果B对应于区间值[min,max])中的99%的值,则仍然有9个被广告的值低于B,并且有一个被广告的值高于B。
然后,为了将值放置到每个区间中,测量客户端4的“稳定性”。为此目的,交付内容组块的网络服务器14收集从客户端4请求的比特率值。由此计算客户端所请求的最后20个比特率值的集合的标准偏差σ。令N为如上所解释的要产生的高于B的比特率的数量。如果σ大于(max-B)/N,则请求的不稳定性要求供应等间隔的比特率。否则,对于使用[1,N](从1到N的自然数区间)中的n,使用比值ρ=(max-B)/(N×σ)来产生值n^ρ(其他写法:nρ)。通过乘以(max-B)/N^ρ并且添加基值B,那些N个值最后被缩减至正确的范围。
通过使用B-min而不是公式中的max-B,容易地将同一算法应用于低于B的值。
要指出的是,其他公式也产生预期效果。本发明不限于如何计算网络稳定性的具体方式。
本发明的主要优点在于,允许A/V内容的自适应交付高精确度地收敛到任何最优值,同时不需要广告关于覆盖所有可能比特率的替代版本的非常冗长的列表。
提供小的比特率步长也是有帮助的,因为这降低了所请求的比特率和以有限数量的(多个)比特率对组块进行预译码而引入的所供应的组块之间的差异。例如,如果客户端请求了比特率为B的组块N,自适应译码器准备具有相同比特率B的组块N+1以及具有比特率B的后续组块N+2。换言之,在向自适应译码器发送对另一比特率的请求时与在以所请求的比特率生成第一组块时之间存在延迟。例如,如果客户端需要从比特率B改变为更低的比特率B',并且随后请求具有比特率B'的组块N+1,则实际上它仍然将以比特率B而非比特率B'接收组块N+1和组块N+2。译码器仅对组块N+3以比特率B'进行编码。
当B和B'之间的差异较大时,发送过多数据的这种延迟可能会饿死客户端缓冲器并且导致客户端4中的视频定格(freeze)。原因是,因为要接收的组块与可用带宽相比过大,所以将会花费很长一段时间到达。在这段时间期间,客户端4可能已经使用了所有先前缓冲的数据并且可能已经停止了播放,等待剩余数据到达。
提供更小的步长将给予客户端更频繁地但是以很小的比特率差异来改变的机会,从而降低了客户端4中的视频定格的风险。
构建比特率列表所需的计算在计算能力方面成本不高。这种小成本是通过节省清单部分中的传送给客户端4的量并且还诸如通过海量存储13中的符号链接限制生成《伪组块》的成本来平衡的。可以对此解释如下:在自适应译码器中,在以比特率B生成组块时,创建针对每个比特率的一个文件并且以清单的形式用信号告知。网络服务器仅需要为所请求的文件服务。利用组块号码和比特率值来构建文件的文件名。创建全部指向同一文件的符号链接,而不是利用大量存储空间来复制文件。然而,即使创建链接也是有成本的,因为它是文件系统调用。如果针对每个组块发生很多次,则所需要的计算能力可能是相当大的。
要指出的是,仅在客户端4的稳定性改变超过预定阈值时,才对由适配平台3提供的版本的比特率的集合进行适配。在一个实施例中,将阈值定义为针对与在预定时间段期间内的当前所交付的比特率不同的比特率的请求的特定数量。在另一实施例中,将阈值定义为所请求的比特率与当前所交付的比特率相比的差异。在本发明的实现方式中,可以有一个以上的阈值。超过一个或若干阈值将引发对所提供的版本的集合的比特率的适配。
图4以流程图例示了根据本发明的方法的原理。在步骤41中,适配平台3向客户端4提供具有不同比特率的A/V内容的版本。在步骤42中,适配平台3还准备所提供的版本的清单部分。在步骤43中,适配平台3向客户端4提交清单部分。客户端在步骤44中请求内容的特定版本。响应于客户端4的请求,适配平台3选择所提供的版本的比特率。如上所述,所选择的比特率可以根据客户端4的请求而改变或者不改变。如通过循环46所表示的,该方法返回到步骤41,其中适配平台3向客户端4提供内容的版本的集合。
根据本发明的系统通过允许收敛到接近于最优比特率(亦即,在面对稳定的网络条件时的客户端的稳定行为)而改善了使用自适应译码器获得的用户体验。在高于和低于期望值的两个值之间没有振荡。
附图标号列表
1 系统
2 源
3 适配平台
4 再现设备
6 多路分离器
7 解码器
8 视频分割单元
9 编码器
11 音频分割单元
12 多路复用器
13 海量存储
14 服务器
21 比特率标度
41 提供版本的步骤
42 准备清单部分的步骤
43 提交清单部分的步骤
44 请求特定版本的步骤
45 选择比特率的步骤
46 循环

Claims (16)

1.一种向客户端提供具有不同比特率的内容流的版本的集合的方法,其中所述方法包括:
向所述客户端发送所准备的清单部分,所准备的清单部分描述所述内容流的所提供的版本的集合;
从所述客户端接收对在所准备的清单部分中所列出的内容流的一个版本的请求,所述一个所请求的版本具有特定比特率;
将内容流的版本译码成所述内容流的所述一个所请求的版本的特定比特率;
动态地选择在新的清单部分中的要提供给所述客户端的版本,其中,根据由所述客户端先前所请求的版本的比特率的稳定性,动态地适配和与特定比特率相关联的所述一个所请求的版本相邻的所提供的版本的比特率之间的差异,所述新的清单包括:
接近于当前目标比特率的所提供的版本的比特率,
远离当前目标比特率的所提供的版本的比特率,
将新的清单部分发送给所述客户端。
2.根据权利要求1所述的方法,还包括:向单个客户端提供所述内容流的版本。
3.根据权利要求1所述的方法,还包括:动态地适配所提供的比特率中的不同的相邻版本的比特率之间的差异,使得所提供的相邻版本的比特率取决于由所述客户端先前所请求的比特率的改变。
4.根据权利要求3所述的方法,还包括:动态地适配所提供的比特率中的不同的相邻版本的比特率之间的差异,使得比特率的差异取决于所述客户端有多频繁地请求不同的比特率。
5.根据权利要求3所述的方法,还包括:动态地适配所提供的比特率中的不同的相邻版本的比特率之间的差异,使得比特率的差异取决于与所述一个所请求的版本的特定比特率相比,由所述客户端先前所请求的比特率的改变有多大。
6.根据权利要求3所述的方法,还包括:供应所提供的比特率的集合,所提供的比特率的集合包括对更加接近于所述一个所请求的版本的特定比特率的相邻比特率具有增加的差异的比特率。
7.根据权利要求3所述的方法,还包括:供应所提供的比特率的集合,每个所提供的比特率到相邻的比特率具有相等间距。
8.根据权利要求3至5中的一项或若干项所述的方法,还包括:如果先前所请求的版本的比特率与所述一个所请求的版本的特定比特率相比的差异超过阈值,则动态地适配不同版本的相邻的比特率的步长大小。
9.一种适于实现向客户端提供具有不同比特率的内容流的版本的集合的方法的适配平台,其中,所述适配平台包含至少一个处理器,所述至少一个处理器被配置为:
向所述客户端发送所准备的清单部分,所准备的清单部分描述所述内容流的所提供的版本的集合;
从所述客户端接收对在所准备的清单部分中所列出的内容流的一个版本的请求,所述一个所请求的版本具有特定比特率;
将内容流的版本译码成所述内容流的所述一个所请求的版本的特定比特率;
动态地选择在新的清单部分中的要提供给所述客户端的版本,其中,根据由所述客户端先前所请求的版本的比特率的稳定性,动态地适配和与特定比特率相关联的所述一个所请求的版本相邻的所提供的版本的比特率之间的差异;所述新的清单包括:
接近于当前目标比特率的所提供的版本的比特率,
远离当前目标比特率的所提供的版本的比特率,
将新的清单部分发送给所述客户端。
10.根据权利要求9所述的适配平台,其中,所述至少一个处理器还被配置为:向单个客户端提供所述内容流的版本。
11.根据权利要求9所述的适配平台,其中,所述至少一个处理器还被配置为:动态地适配所提供的比特率中的不同的相邻版本的比特率之间的差异,使得所提供的相邻版本的比特率取决于由所述客户端先前所请求的比特率的改变。
12.根据权利要求9所述的适配平台,其中,所述至少一个处理器还被配置为:动态地适配所提供的比特率中的不同的相邻版本的比特率之间的差异,使得比特率的差异取决于所述客户端有多频繁地请求不同的比特率。
13.根据权利要求11所述的适配平台,其中,所述至少一个处理器还被配置为:动态地适配所提供的比特率中的不同的相邻版本的比特率之间的差异,使得比特率的差异取决于与所述一个所请求的版本的特定比特率相比,由所述客户端先前所请求的比特率的改变有多大。
14.根据权利要求11所述的适配平台,其中,所述至少一个处理器还被配置为:供应所提供的比特率的集合,所提供的比特率的集合包括对更加接近于所述一个所请求的版本的特定比特率的相邻比特率具有增加的差异的比特率。
15.根据权利要求11所述的适配平台,其中,所述至少一个处理器还被配置为:供应所提供的比特率的集合,每个所提供的比特率到相邻的比特率具有相等间距。
16.根据权利要求11所述的适配平台,其中,所述至少一个处理器还被配置为:如果先前所请求的版本的比特率与所述一个所请求的版本的特定比特率相比的差异超过阈值,则动态地适配不同版本的相邻的比特率的步长大小。
CN201380020259.6A 2012-05-04 2013-04-24 用于提供多个经译码的内容流的方法和设备 Active CN104247368B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP12305501.4 2012-05-04
EP20120305501 EP2661045A1 (en) 2012-05-04 2012-05-04 Method and apparatus for providing a plurality of transcoded content streams
PCT/EP2013/058532 WO2013164233A1 (en) 2012-05-04 2013-04-24 Method and apparatus for providing a plurality of transcoded content streams

Publications (2)

Publication Number Publication Date
CN104247368A CN104247368A (zh) 2014-12-24
CN104247368B true CN104247368B (zh) 2018-02-09

Family

ID=48227241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380020259.6A Active CN104247368B (zh) 2012-05-04 2013-04-24 用于提供多个经译码的内容流的方法和设备

Country Status (7)

Country Link
US (1) US20150127848A1 (zh)
EP (2) EP2661045A1 (zh)
JP (1) JP6133974B2 (zh)
KR (1) KR102086873B1 (zh)
CN (1) CN104247368B (zh)
TW (1) TWI593282B (zh)
WO (1) WO2013164233A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10212049B2 (en) 2013-03-14 2019-02-19 Time Warner Cable Enterprises Llc Apparatus and methods for managing service delivery telemetry
US11100051B1 (en) * 2013-03-15 2021-08-24 Comcast Cable Communications, Llc Management of content
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
US9661045B2 (en) 2014-01-13 2017-05-23 Cisco Technology, Inc. System and methods for dynamic transcoder rate adaption for adaptive bit rate streaming
US9380086B2 (en) 2014-02-18 2016-06-28 Dropbox, Inc. Pre-transcoding content items
US10171607B2 (en) * 2014-03-28 2019-01-01 Time Warner Cable Enterprises Llc Apparatus and methods for managing quality of experience during the delivery of content
US9813470B2 (en) * 2014-04-07 2017-11-07 Ericsson Ab Unicast ABR streaming
JP2016019140A (ja) * 2014-07-08 2016-02-01 富士通株式会社 コンテンツ転送方法、コンテンツ転送装置、コンテンツ受信装置およびコンテンツ転送プログラム
KR102269927B1 (ko) * 2015-01-13 2021-06-28 주식회사 알티캐스트 녹화 컨텐츠의 분산 트랜스코딩 제어 방법 및 장치
US10498780B2 (en) * 2015-04-30 2019-12-03 Facebook, Inc. Systems and methods for streaming content
WO2017118470A1 (en) * 2016-01-04 2017-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Improved network recording apparatus
KR101879439B1 (ko) * 2017-03-27 2018-07-18 (주)판도라티비 적응적 비트레이트 영상 서비스 방법
US10334287B2 (en) * 2017-04-17 2019-06-25 Plex, Inc. Digital data streaming using server driven adaptive bitrate
FR3073112B1 (fr) 2017-11-02 2021-04-02 Ateme Procede et systeme de traitement d'un contenu multimedia dans un reseau de zone metropolitaine
US11206297B2 (en) * 2018-03-19 2021-12-21 Livescale Technologies Inc. Video streaming
EP3742739B1 (en) * 2019-05-22 2021-04-14 Axis AB Method and devices for encoding and streaming a video sequence over a plurality of network connections
KR102232728B1 (ko) * 2019-09-04 2021-03-29 네이버 주식회사 로컬 스트리밍 서버를 이용한 스트리밍 콘텐츠의 재생 방법 및 시스템
WO2021124387A1 (ja) * 2019-12-16 2021-06-24 日本電信電話株式会社 符号化データ生成方法、符号化データ生成装置、及びプログラム
US11889345B2 (en) * 2020-05-15 2024-01-30 EXFO Solutions SAS Event-based load balancing in 4G-5G multi-radio dual connectivity
KR102312778B1 (ko) * 2020-12-21 2021-10-14 이영숙 공연을 실시간 또는 촬영 영상으로 제공하는 공연 서비스 시스템 및 방법
KR102249185B1 (ko) * 2021-03-22 2021-05-07 네이버 주식회사 로컬 스트리밍 서버를 이용한 스트리밍 콘텐츠의 재생 방법 및 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356562B2 (en) * 2003-04-30 2008-04-08 International Business Machines Corporation Dynamic generator for fast-client static proxy from service interface definition document
WO2010107625A2 (en) * 2009-03-16 2010-09-23 Microsoft Corporation Smooth, stateless client media streaming
CN101867580A (zh) * 2010-06-03 2010-10-20 北京蓝汛通信技术有限责任公司 一种分配网络流量的方法及装置
EP2410745A1 (en) * 2010-07-23 2012-01-25 Seawell Networks Inc Methods and systems for scalable video delivery

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE20003679U1 (de) 2000-02-29 2000-08-17 Trw Automotive Electron & Comp Bauteil
EP1638333A1 (en) * 2004-09-17 2006-03-22 Mitsubishi Electric Information Technology Centre Europe B.V. Rate adaptive video coding
US8335873B2 (en) * 2006-09-14 2012-12-18 Opentv, Inc. Method and systems for data transmission
EP1978743B1 (en) * 2007-04-02 2020-07-01 Vestel Elektronik Sanayi ve Ticaret A.S. A method and apparatus for transcoding a video signal
JP2011087103A (ja) * 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
DK2526671T3 (en) * 2010-01-18 2017-02-27 ERICSSON TELEFON AB L M (publ) METHODS AND DEVICES FOR HTTP MEDIA FLOW DISTRIBUTION
US9137278B2 (en) * 2010-04-08 2015-09-15 Vasona Networks Inc. Managing streaming bandwidth for multiple clients
US20120030723A1 (en) * 2010-07-27 2012-02-02 Motorola, Inc. Method and apparatus for streaming video
WO2012142508A1 (en) * 2011-04-15 2012-10-18 Skyfire Labs, Inc. Real-time video optimizer
CN103650451B (zh) * 2011-07-07 2016-10-19 瑞典爱立信有限公司 网络容量优化的自适应http流播
US9026670B2 (en) * 2011-08-22 2015-05-05 Allot Communications Ltd. System and method for efficient caching and delivery of adaptive bitrate streaming
US8751679B2 (en) * 2011-10-07 2014-06-10 Ericsson Television Inc. HTTP adaptive streaming server with automatic rate shaping

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356562B2 (en) * 2003-04-30 2008-04-08 International Business Machines Corporation Dynamic generator for fast-client static proxy from service interface definition document
WO2010107625A2 (en) * 2009-03-16 2010-09-23 Microsoft Corporation Smooth, stateless client media streaming
CN101867580A (zh) * 2010-06-03 2010-10-20 北京蓝汛通信技术有限责任公司 一种分配网络流量的方法及装置
EP2410745A1 (en) * 2010-07-23 2012-01-25 Seawell Networks Inc Methods and systems for scalable video delivery

Also Published As

Publication number Publication date
KR102086873B1 (ko) 2020-03-09
TW201351965A (zh) 2013-12-16
EP2661045A1 (en) 2013-11-06
WO2013164233A1 (en) 2013-11-07
JP2015520966A (ja) 2015-07-23
JP6133974B2 (ja) 2017-05-24
TWI593282B (zh) 2017-07-21
US20150127848A1 (en) 2015-05-07
KR20150008087A (ko) 2015-01-21
EP2845360A1 (en) 2015-03-11
CN104247368A (zh) 2014-12-24

Similar Documents

Publication Publication Date Title
CN104247368B (zh) 用于提供多个经译码的内容流的方法和设备
CN103765905B (zh) 多媒体流的自适应转码的方法和装置
JP6308718B2 (ja) マルチパス環境におけるアダプティブストリーミングのためのシステムと方法
US11178200B2 (en) Systems and methods for playing adaptive bitrate streaming content by multicast
US20100312828A1 (en) Server-controlled download of streaming media files
KR20150042191A (ko) 적응적 비트레이트 스트리밍에서 대역폭 할당을 위한 방법들 및 디바이스들
US11877022B2 (en) Packager for segmenter fluidity
US10893266B2 (en) Method and system for optimizing bitrate selection
EP2566171A1 (en) Method for adapting the segment size in transcoded multimedia streams

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
TR01 Transfer of patent right

Effective date of registration: 20190109

Address after: Paris France

Patentee after: Interactive Digital Madison Patent Holdings

Address before: I Si Eli Murli Nor, France

Patentee before: THOMSON LICENSING

Effective date of registration: 20190109

Address after: I Si Eli Murli Nor, France

Patentee after: THOMSON LICENSING

Address before: I Si Eli Murli Nor, France

Patentee before: THOMSON LICENSING

TR01 Transfer of patent right