带宽变化连接上的动态比特率调节的制作方法

文档序号:7991562阅读:203来源:国知局
带宽变化连接上的动态比特率调节的制作方法
【专利摘要】通过保持转码进程与挂钟同步,实时地对媒体文件的音频和视频流进行转码。转码被初始配置为稍快于实时。一旦转码帧被转码,则将其从所述转码器通过可变带宽连接进行推送。然后对转码进行周期性地监控,以估计在转码缓冲器的传输期间可用的带宽。测量两个时间间隔:缓冲器间隔,其是之前的两个传输的转码缓冲器时间戳中的差别,以及对应于上一个转码缓冲器的实时传输时间的时钟间隔。如果观测到明显差别,则通过从该差别导出的参数来调整转码器比特率。
【专利说明】带宽变化连接上的动态比特率调节
【技术领域】
[0001]本发明涉及实时媒体传输。
【背景技术】
[0002]图1示出了现有技术的媒体传输系统100,其包括媒体服务器子系统102,该媒体服务器子系统102通过网络106 (例如因特网)连接到移动单元或目的地单元104。
[0003]每个移动单元104可以是例如被装配以便建立媒体会话的智能手机或笔记本电脑。
[0004]媒体服务器子系统102可包括用于生成媒体文件的媒体服务器计算装置108、用于处理媒体文件的因特网内容调节协议(ICAP)服务器计算装置110、以及用于处理来自移动单元或终端104的请求以及用来执行其它功能的超文本传输协议(HTTP)代理服务器计算装置112。
[0005]可由移动(目的地)单元104请求媒体会话。媒体会话的目标是从媒体服务器子系统102向移动单元104发送媒体分组(媒体文件)的流。
[0006]当请求移动单元104和媒体服务器子系统102之间的网络106上的连接的带宽低于实时发送原始媒体文件所需的带宽时,所述媒体文件可被位于ICAP服务器110中的设备(其一般为HTTP代理服务器112的附属物)调节为该较低的带宽。
[0007]网络106上的连接的带宽还可在出现针对媒体文件调节的附加问题时进行改变。
[0008]从而,需要用来针对在具有改变带宽的连接上的传输改进媒体文件的带宽调节的方法和系统。

【发明内容】

[0009]本发明的一个目的是,提供用于对媒体文件或媒体文件的一部分进行编码以用于在到移动单元的变化带宽链路上实时进行传输的方法和系统。
[0010]根据本发明的一个方面,提供了用于对媒体文件或媒体文件的一部分进行编码以用于在到移动单元、或目的地单元的变化带宽链路上实时进行传输的方法,该方法包括:
[0011]采用至少一个处理器,以用于:
[0012](i)将所述媒体文件的一个或多个片段编码成转码媒体片段,以形成流片段;
[0013](ii)确定之前形成的流片段的估计传送时间,该估计传送时间是将所述之前形成的流片段从转码器传递并由所述变化带宽链路消耗所需的时间间隔;以及
[0014](iii)将所述转码媒体片段的当前编码率作为所述估计传送时间的函数来调整。
[0015]在上述方法中,步骤(i)包括:
[0016]以初始编码率将所述媒体文件的至少第一片段编码成相应的第一转码媒体片段;以及
[0017]将所述当前编码率设置为等于所述初始编码率;
[0018]并且步骤(iii)包括以经过调整的当前编码率将所述媒体文件的随后片段编码成相应的转码媒体片段。
[0019]在上述方法中,步骤(iii)还包括将所述当前编码率作为所述流片段在所述移动单元处的估计显示时间的函数进行调节,所述估计显示时间是从与两个之前形成的流片段相关联的时间戳导出的。
[0020]步骤(iii)还包括将所述当前编码率作为所述当前编码率的函数进行调整。
[0021]在本方面的一种实施方式中,所述函数是所述当前编码率与调整参数的乘积,其中所述调整参数取决于所述估计显示时间和所述估计传送时间。
[0022]为了方便起见,所述调整参数是所述估计显示时间除以所述估计传送时间。
[0023]所述方法还包括将所述转码媒体片段传送到所述移动单元以用于显示。
[0024]在上述方法中,对所述当前编码率的调整可随时执行。例如,所述调整可周期性地执行。
[0025]在本发明的实施方式中,步骤(ii )还包括将所述估计传送时间估计为当前时间和上一次编码的之前时间之间的当前时钟间隔,并且所述步骤(iii)还包括:
[0026]确定当前缓冲器间隔,其表示之前流片段在所述移动单元处的估计显示时间,所述当前缓冲器间隔是从嵌入到两个之前形成的流片段中的时间戳导出的;
[0027]将所述当前时钟间隔与所述当前缓冲器间隔进行比较;以及
[0028]将所述当前编码率作为所述当前时钟间隔和所述当前缓冲器间隔的函数进行调難
iF.0
[0029]为了便利起见,所述两个之前形成的流片段包括最后两个流片段。
[0030]在上述方法中,所述调整包括,在所述当前时钟间隔与所述当前缓冲器间隔之间有预定量的差别的情况下对所述当前编码率进行调整。
[0031]例如,步骤(iii)可包括在N秒的当前时钟间隔已经逝去之后对所述当前编码率进行调整。在本发明的实施方式中,N在2到5秒的范围内,例如N=3秒。
[0032]将所述当前编码率作为所述当前时钟间隔和所述当前缓冲器间隔进行的调整可按以下步骤执行:
[0033]在所述当前缓冲器间隔和所述当前时钟间隔之间的第一相对差别超出第一预定阈值THl的情况下,将所述当前编码率增加第一增量值,其中所述第一增量值是从所述第一相对差别计算得到的;以及
[0034]在所述当前时钟间隔和所述当前缓冲器间隔之间的第二相对差别超出第二预定阈值TH2的情况下,将所述当前编码率减少第二增量值,其中所述第二增量值是从所述第二相对差别计算得到的。
[0035]为了方便起见,可将THl选为至少0.05,并将TH2选为至少0.02。
[0036]在上述方法中,所述第一增量值等于所述第一相对差别除以第一衰减参数AFl,且所述第二增量值等于所述第二相对差别除以第二衰减参数AF2,其中选择所述第一衰减参数AFl和所述第二衰减参数AF2以使得防止对所述当前编码率的过度或快速过调并且确保所述调整步骤的稳定性。
[0037]在本发明的另一实施方式中,步骤(iii)包括只有在未检测到所述转码媒体片段的传输中存在暂停的条件下才对所述当前编码率进行调整。
[0038]在本发明的所述另一实施方式中,步骤(i i i )还包括检测所述暂停,其中包括:[0039]计算时钟间隔平均和当前时钟间隔,其中所述时钟间隔平均是自对所述媒体文件的编码已经开始以来的过去当前时钟间隔的平均,所述当前时钟间隔是在当前时间和上次编码的之前时间之间测量的;以及
[0040]在所述当前时钟间隔超出所述当前间隔平均预定差额XC的情况下,确定检测到所述暂停。
[0041]上述方法还包括在满足下列条件的情况下确定检测到所述暂停:
[0042]已经出现了至少两个当前时钟间隔;以及
[0043]所述暂停已经被检测到的次数小于检测到暂停的最大次数(MP)。
[0044]所述方法还包括在所述当前时钟间隔超出所述时钟间隔平均乘以参数M的情况下确定检测到暂停。所述方法还包括在检测到所述暂停的情况下以所述平均时钟间隔取代所述当前时钟间隔。在本发明的实施方式中,MP是3,XC是1,且M是4。
[0045]根据本发明的另一方面,提供了用于对媒体文件或媒体文件的一部分进行编码以用于在到移动单元的变化带宽链路上进行实时传输的媒体处理系统,该媒体处理系统包括:
[0046]处理器和具有存储在其上的用于由所述处理器执行的计算机可读指令的非瞬时性计算机可读存储媒介,形成:
[0047]转码器,被配置为将所述媒体文件的一个或多个片段转码成转码媒体片段,以形成流片段;以及
[0048]动态比特率适配器,被配置为将所述转码器的当前编码比特率作为之前形成的流片段的估计传送时间的函数进行调整,所述估计传送时间是将所述之前形成的媒体片段从所述转码器传递并由所述变化带宽链路消耗所需的时间间隔。
[0049]在上述媒体处理系统中,所述动态比特率适配器还被配置为将所述当前编码率作为所述流片段在所述移动单元处的估计显示时间的函数进行调整,该估计显示时间是从与两个之前形成的流片段相关联的时间戳导出的。
[0050]所述媒体处理系统还包括转码器缓冲器,该转码器缓冲器适于将转码媒体片段转发到网络、以及将与所述转码媒体片段中的至少一些转码媒体片段相关联的时间戳发送到所述动态比特率适配器。
[0051 ] 所述动态比特率适配器包括:
[0052]挂钟模块,用于追踪所述当前时间;以及
[0053]服务质量(QoS)调整器,被配置为将所述当前时间和所述时间戳处理成QoS值,该QoS值将被发送到所述转码器以用于随时对所述转码器的编码比特率进行调整。
[0054]在上述媒体处理系统中,动态比特率适配器还包括暂停检测器,该暂停检测器被配置为检测所述转码媒体片段的传输的中断、以及在检测到所述中断的情况下抑制所述动态比特率适配器对所述当前编码率的调整。
[0055]所述动态比特率适配器还被配置为将所述当前编码率作为所述当前编码率的函数进行调整。
[0056]在本方面的一种实施方式中,所述动态比特率适配器还被配置为将所述估计传送时间估计为当前时间和上次编码的之前时间之间的当前时钟间隔。
[0057]所述动态比特率适配器还被配置为:[0058]确定当前缓冲器间隔,该当前缓冲器间隔表示之前流片段在所述移动单元处的估计显示时间,所述当前缓冲器间隔是从嵌入在两个之前形成的流片段中的时间戳导出的;
[0059]将所述当前时钟间隔与所述当前缓冲器间隔进行比较;以及
[0060]将所述当前编码率作为所述当前时钟间隔和所述当前缓冲器间隔的函数进行调

iF.0
[0061]所述动态比特率适配器还被配置为在所述当前时钟间隔与所述当前缓冲器间隔之间有预定量的差别的情况下对所述当前编码率进行调整。
[0062]根据本发明的另一方面,其中提供了用于对媒体文件或媒体文件的一部分进行编码以用于在到移动单元的变化带宽链路上进行实时传输的方法,该方法包括:
[0063]采用至少一个处理器,以用于:
[0064](a)以等于初始编码率的当前编码率将所述媒体文件的至少第一片段编码成转码媒体片段以形成流片段,以及传送所述流片段;
[0065](b)基于之前传送的流片段的估计传送时间将所述当前编码率重新评估成新编码率,所述估计传送时间是将被所述变化带宽链路消耗的所述流片段所需要的时间间隔;
[0066](c)将所述当前编码率设置为等于所述新编码率;
[0067](d)以所述当前编码率将所述媒体文件的另一片段编码成转码媒体片段;以及
[0068](e)重复步骤(b)到(d),直到所述媒体文件或媒体文件的一部分已经被完全转码。
[0069]在上述方法中,步骤(b)包括将所述估计传送时间估计为当前时间和上次重新评估的之前时间之间的当前时钟间隔。
[0070]所述步骤(b)还包括:
[0071]确定当前缓冲器间隔,该当前缓冲器间隔表示上一个流片段在所述移动单元处的估计显示时间,所述当前缓冲器间隔是从嵌入在所述上一个和之前的流片段的所述转码媒体片段中的至少一些转码媒体片段中的时间戳导出的;
[0072]将所述当前时钟间隔与所述当前缓冲器间隔进行比较;以及
[0073]在所述当前时钟间隔不同于所述当前缓冲器间隔的情况下,对所述当前编码率进行修改。
[0074]在上述方法中,所述当前编码率是作为所述当前时钟间隔和所述当前缓冲器间隔的函数被修改的。
[0075]在上述方法中,步骤(b)还包括将所述新编码率作为所述当前编码率、以及上一个流片段在所述移动单元处的估计显示时间的函数进行计算,所述估计显示时间是嵌入在所述上一个和之前的流片段的所述转码媒体片段中的至少一些转码媒体片段中的时间戳的函数。
[0076]例如,所述函数可以是当前编码率和调整参数的乘积,其中所述调整参数取决于所述估计显示时间和所述估计传送时间。
[0077]在本发明的实施方式中,步骤(b)包括仅在N秒的当前时钟间隔过去后重新评估当前编码率。
[0078]在本发明的替换实施方式中,步骤(b)还包括检测所述转码媒体片段的传输的中断,以及在检测到所述中断的情况下抑制对所述当前编码率的调整。[0079]从而,提供了用于对媒体文件或媒体文件的一部分进行编码以用于在到移动单元的带宽改变的链路上进行实时传输的改进方法和系统。
【专利附图】

【附图说明】
[0080]现在通过具体示例的方式结合附图对本发明的实施方式进行描述,其中:
[0081]图1示出了现有技术的媒体传输系统100 ;
[0082]图2示出了根据本发明的实施方式的媒体传递系统200,其中包括可变比特率转码器202 ;
[0083]图3示出了可变比特率转码器系统300的简化框图,其中包括图2的可变比特率转码器202 ;
[0084]图4示出了根据本发明的实施方式的动态比特率调节进程400的流程图;
[0085]图5是图4的QoS重新评估步骤408的更为详细的流程图;
[0086]图6示出了图5的步骤508 “初始化QoS计算”的扩展流程图;
[0087]图7示出了图5的步骤520 “检测暂停”的扩展流程图;
[0088]图8示出了图5的步骤524 “处理暂停”的扩展流程图;
[0089]图9是图5的步骤528 “计算QoS”的扩展流程图;
[0090]图10是图4的步骤412 “应用新的QoS值”的扩展流程图;
[0091]图11示出了根据本发明的另一实施方式的修改动态比特率调节进程1100的流程图;
[0092]图12是图11的分段QoS重新评估步骤1108的更为详细的流程图;以及
[0093]图13是图12的“初始化分段QoS计算”步骤1206的更为详细的流程图。
【具体实施方式】
[0094]本发明的实施方式的目标是提高通过带宽随时间改变的网络的HTTP多媒体传递中的用户体验。这通过动态改变多媒体文件的编码率以匹配可用带宽来实现。
[0095]可在ICAP协议上实施所述方案,但到装置的最终传递是基于HTTP的,并且所述方案均等地适用于两种协议。
[0096]当用户通过移动网络流传输视频时,网络经常不具有足够的可用带宽来提供近乎实时的传递。结果,由于视频在端装置上拖延,观看体验的质量很差。
[0097]为了避免这一问题,根据发明的实施方式,通过随时调整当前编码率以近似地匹配可用带宽来调节媒体的编码率。当使用HTTP协议进行流传输时,客户端应用不向服务器发送任何反馈,并且基本的传输控制协议(TCP)连接信息不能被可靠地使用。
[0098]现有方案将实时流传输协议(RTSP)用作控制协议,其中通过用户数据报协议(UDP)的实时传输协议(RTP)用于数据传递。当使用这些协议时,视频播放器每秒若干次将反馈从移动单元发送到服务器。该反馈还包括关于网络修复(分组丢失、抖动等)的信息,而且允许自动调整编码率。授权给Francis R.Labonte等人的题为“DATA STREAMING THROUGHTIME-VARYING TRANSPORT MEDIA”的美国专利7,844,725的全部内容在这里通过引用而视为加入,其公开了用于在随时间变化的连接上进行数据流传输的方法。
[0099]使用HTTP来代替RTSP和RTP的组合是让人期待的,这是因为HTTP是普遍的网页协议。其用来传输几乎任何类型的数据。由于HTTP支持是针对网页客户端和服务器两者的要求,通过HTTP传输视频对于在不使用诸如RTSP/RTP的只为更特定目的提供服务的并行协议的情况下最大化客户端和服务器之间的互操作性来讲是天然合适的。类似的示例,可考虑文件下载。文件传输协议(FTP)是特别针对该目的设计的,但如今,网页上的相当比例的文件都是通过HTTP而不是FTP传输的。
[0100]另一考虑是设备的互操作性。HTTP是广泛互操作的。其在服务器侧和客户端侧都具有数不尽的实施。Apache作为其实际的参考实施,每个客户端都可与之互操作。另一方面,RTSP则在许多商业实施中产生非兼容性问题(还可参见关于HTTP与RTSP/RTP比较的文章:http://www.remlab.net/op/vod.shtml)。
[0101]然而,当在音频和视频流传输中使用HTTP时,关于所述传递的唯一可用信息来自TCP连接,其在操作系统层被管理,并且未意识到多媒体。同样,在多媒体服务器和客户端之间还经常发现代理服务器。这些代理服务器处理与客户端装置之间的连接,并且它们建立它们自己的连接。本发明的实施方式在不需要从接收客户端到流传输服务器的显性反馈的情况下使得能够在HTTP连接上进行有效的音频和视频流传输。
[0102]图2示出了根据本发明的实施方式的媒体传递系统200,该媒体传递系统200包括可变比特率转码器202,可变比特率转码器202为在可变带宽链路204上从媒体服务器计算装置108传送到移动单元104中的移动视频应用206的媒体文件提供动态比特率调节。优选地,到移动(目的地)单元104的可变带宽链路204提供到HTTP代理服务器计算装置112的HTTP连接。在图2中,我们示出到移动单元104的HTTP链路204。该链路可以是直接链路,例如实验室中,或者通过因特网,包括到移动单元104自身的无线点(wireless drop)。
[0103]移动单元104是例如智能手机、膝上电脑、平板、或用来设置媒体会话的另一像计算机一样的装置之类的装置。
[0104]移动视频应用206包括存储在诸如存储器的计算机可读存储媒介中用于供处理器执行的计算机可读指令。
[0105]在一种实施方式中,可变比特率转码器202包括存储在诸如存储器的计算机可读存储媒介中用于供处理器执行的计算机可读指令。可替换地,可在固件中实施可变比特率转码器202。
[0106]可变比特率转码器202被示为嵌入在ICAP服务器110中,该ICAP服务器110通过ICAP链路耦合到HTTP代理服务器112,应该理解的是,可变比特率转码器202还可以替换地被嵌入在HTTP代理服务器112中或媒体服务器108中。
[0107]图3示出了可变比特率转码器系统300的简化框图,可变比特率转码器系统300包括媒体处理服务器302,媒体处理服务器302是计算装置,至少包括程序存储存储器304、CPU306和网络接口 308,以及图2的可变比特率转码器202。可变比特率转码器202被优选地实现为包括存储在程序存储存储器304中并由CPU306执行的指令的软件模块。在本发明的各种实施方式中,媒体处理器服务器302可表示媒体服务器108、因特网内容调节协议(ICAP)服务器108、或超文本传输协议(HTTP)代理服务器112。
[0108]可变比特率转码器202包括动态比特率适配器310、会话变量存储模块312、转码器314、转码缓冲器316和挂钟318。动态比特率适配器310包括QoS调整器模块320和暂停检测器模块322。会话变量存储模块312包括配置文件324和保存变量存储326。从而,在本发明的一种实施方式中,可变比特率转码器202的上述模块310、312、314、316、318、320,322和324包括存储在计算机存储器中供处理器执行的计算机可读指令。
[0109]网络接口 308包括硬件(物理接口)和软件(协议)。
[0110]CPU306运行操作系统(OS,未示出),例如Linux,其中包括协议。
[0111]OS还提供基于在计算机中可用的时钟芯片的定时服务,可从其中导出当前时间(CT)。这在挂钟318模块中展现。
[0112]DBRA310模块在需要时从OS软件(核)读取时间(挂钟时间),但挂钟318模块可能对其进行修饰,例如对其进行缩放或偏移,以及保持本地“挂钟”变量,该变量在转码媒体片段传输开始时从零开始计时,并从而使得当前时间(CT)对DBRA310可用。
[0113]在操作过程中,通过转码缓冲器316、网络接口 308和通过可变带宽链路204(其中网络接口 308的功能是实施作为诸如HTTP的应用协议的基础的可靠传输控制协议(TCP)),转码器314接收媒体文件328、将媒体文件328转码或编码成适于向移动单元104传输的比特率。
[0114]在传送一个或多个转码媒体片段(还将被称作流片段)的过程中使用的时间间隔,依赖于可变带宽链路204上可用的带宽并受到可靠传输控制协议(TCP)的控制。从而,可通过在连续流片段离开转码器缓冲器316时观测时刻(instance)来计算在流片段的传输过程中使用的近似时间,其中从挂钟318的输出获得时间值。计算的传送时间被称为“估计传送时间”。
[0115]为了阐明表示“传送时间”或“估计传送时间”,应该注意的是,这可以有效地作为以可变带宽链路204的比特率顺次传送转码片段所需的时间段,即转码片段在离开可变比特率转码器202的同时所占用的时间。其并不是可变比特率转码器202和移动单元104之间的延迟时间,该延迟时间是未知的且与本发明的实施方式的操作无关。
[0116]估计传送时间是将从转码器传递并由带宽变化链路所消耗的一个或多个之前的流片段所需的时间间隔。
[0117]应该理解的是,在优选实施方式的变形中,还可从较早的流片段中导出估计传送时间,其中所述较早的流片段并不紧挨在估计的时间之前。
[0118]动态比特率适配器310监控来自转码器缓冲器316的时间戳,并使用挂钟和会话变量312执行算法,以用于估计可变带宽链路204上的可用带宽以及相应地调整当前服务质量(QoS)值。转码器314然后相应地应用当前QoS值来调整当前编码比特率。在下文中,术语“转码比特率”、“编码率”和“QoS值”在本申请中可交替使用。“转码比特率”和“编码率”直接指的是来自转码器314的转码操作的结果比特率;“QoS值”是输入到转码器314的参数,其用于控制编码率,从而间接地指明编码率。
[0119]当发起会话时,包括初始QoS值的会话参数被确定并被存储在配置文件324中。
[0120]在QoS调整器模块320中周期性地计算新的QoS值,其使用比特率调节功能来比较估计传送时间,即把流片段(包括一个或多个转码片段)从可变比特率转码器202传送所花费的时间。估计传送时间在下文中还被称作当前时钟间隔,以及估计显示时间,即在移动单元104中显示相同流片段所需的时间,正如嵌入在流中的时间戳所指示的一样。估计显示时间(还被称为当前缓冲器间隔)是在流片段的时间戳中隐式指明的时间,其中所述流片段的时间戳供移动单元的显示功能在实时显示所述流片段的过程中使用。之前观测和计算的值(比如在开始发送流片段时的挂钟时间和时间戳)以及在计算间隔平均的过程中需要的值被保留在保存变量存储326中。在本发明的实施方式中,当前时钟间隔等于至少3秒的调节刷新间隔。
[0121]应该理解的是,链路204上可用的比特率并不是直接可观测的,而且关于移动单元104中的任何缓冲器的占用情况的任何信息也都不是可用的。然而,在按照所嵌入的时间戳所指示实时接收、缓冲以及显示所述视频流的时候,移动单元104将随时自动接收附加流片段。在这种情况中,举例来讲,由基础网络协议(TCP)来管辖传输速率。只要可变比特率转码器202能够如挂钟时间所测那样实时发送每个这种片段,则链路比特率是足够的。但如果比特率不够,则这将在可变比特率转码器202中被检测到,这是因为之前的流片段不能在足够短的时间内被发送。当假定移动单元104具有用来平滑比特率变化的接收缓冲器时,如果链路比特率长时间不够,则该接收缓冲器将饿死(starve)。为了避免这一情况,可变比特率转码器202将需要缩减编码率(QoS)。
[0122]类似地,当可用比特率大得多时,传送一个流片段比时间戳所指示的时间间隔所花时间要少,并且QoS值能够增加。下文在图9中对QoS调整器模块320的功能进行详细描述。
[0123]当在移动单元104中对流的显示被临时暂停时,即转码媒体片段的传输中断发生时,可变比特率转码器202将不能发送附加流片段。提供了暂停检测器模块322,以检测这一状况以及避免错误地调整QoS值。
[0124]如在针对给定的原始和转码媒体文件格式的格式标准文档中所规定的那样将时间戳嵌入到原始和转码媒体中。时间戳被嵌入到至少一些转码媒体片段中,而不管其格式如何。下表I示出了支持时间戳的公共媒体文件格式和标准编解码器的部分列表。定义相关实时时刻的时间戳被用来将移动单元104中的接收的视频序列的实时显示锁定为原始视频序列的相应的实时序列。作为结果,可通过在转码媒体片段被传送时观测在这些转码媒体片段中的时间戳并从而计算“估计显示时间”来在可变比特率转码器202处估计所述“显示时间”,即通过在移动单元处常规(非快进)显示一个或多个转码媒体分段所占用的时间间隔。
[0125]表1:文件格式和编解码器标准
[0126]
【权利要求】
1.一种用于对媒体文件或媒体文件的一部分进行编码以用于在到目的地单元的变化带宽链路上进行实时传输的方法,该方法包括: 采用至少一个处理器,以用于: (i)将所述媒体文件的一个或多个片段编码成转码媒体片段,以形成流片段; (ii)确定之前形成的流片段的估计传送时间,该估计传送时间是将所述之前形成的流片段从转码器传递并由所述变化带宽链路消耗所需的时间间隔;以及 (iii)将所述转码媒体片段的当前编码率作为所述估计传送时间的函数来调整。
2.根据权利要求1所述的方法,其中步骤(i)包括: 以初始编码率将所述媒体文件的至少第一片段编码成相应的第一转码媒体片段;以及 将所述当前编码率设置为等于所述初始编码率; 并且步骤(iii)包括以经过调整的当前编码率将所述媒体文件的随后片段编码成相应的转码媒体片段。
3.根据权利要求1或2所述的方法,其中步骤(iii)还包括将所述当前编码率作为所述流片段在所述目的地单元处的估计显示时间的函数进行调整,所述估计显示时间是从与两个之前形成的流片段相关联 的时间戳导出的。
4.根据权利要求1-3中的任一项所述的方法,其中步骤(ii)还包括将所述估计传送时间作为当前时间与上次编码的之前的时间之间的当前时钟间隔进行估计。
5.根据权利要求4所述的方法,其中步骤(iii)还包括: 确定当前缓冲器间隔,该所述当前缓冲器间隔表示之前的流片段在所述目的地单元处的估计显示时间,所述当前缓冲器间隔是从嵌入在两个之前形成的流片段中的时间戳导出的; 将所述当前时钟间隔与所述当前缓冲器间隔进行比较;以及 将所述当前编码率作为所述当前时钟间隔和所述当前缓冲器间隔的函数进行调整。
6.根据权利要求5所述的方法,其中所述调整还包括: 在所述当前缓冲器间隔与所述当前时钟间隔之间的第一相对差别超出第一预定阈值THl的情况下,将所述当前编码率增加第一增量值,所述第一增量值是从所述第一相对差别计算得到的;以及 在所述当前时钟间隔与所述当前缓冲器间隔之间的第二相对差别超出第二预定阈值TH2的情况下,将所述当前编码率减少第二增量值,所述第二增量值是从所述第二相对差别计算得到的。
7.根据权利要求1-6中的任一项所述的方法,其中步骤(iii)还包括检测所述转码媒体片段的传输的中断、以及在检测到所述中断的情况下抑制对所述当前编码率的调整。
8.根据权利要求7所述的方法,其中检测所述传输的中断包括: 计算时钟间隔平均、当前时钟间隔,所述时钟间隔平均是自对所述媒体文件的编码已经开始以来的过去的当前时钟间隔的平均,所述当前时钟间隔是在当前时间与上次编码的之前的时间之间测量的;以及 在所述当前时钟间隔超出所述当前间隔平均预定差额XC的情况下,确定检测到所述中断。
9.一种用于对媒体文件或媒体文件的一部分进行编码以用于在到目的地单元的变化带宽链路上进行实时传输的媒体处理系统,该媒体处理系统包括: 处理器和具有存储在其上的用于由所述处理器执行的计算机可读指令的非瞬时性计算机可读存储媒介,形成: 转码器,被配置为将所述媒体文件的一个或多个片段转码成转码媒体片段,以形成流片段;以及 动态比特率适配器,被配置为将所述转码器的当前编码比特率作为之前形成的流片段的估计传送时间的函数进行调整,所述估计传送时间是将所述之前形成的媒体片段从所述转码器传递并由所述变化带宽链路消耗所需的时间间隔。
10.根据权利要求9所述的媒体处理系统,其中所述动态比特率适配器还被配置为将所述估计传送时间估计为当前时间与上次编码的之前的时间之间的当前时钟间隔。
11.根据权利要求9或10所述的媒体处理系统,其中所述动态比特率适配器还被配置为将所述当前编码率作为所述流片段在所述目的地单元处的估计显示时间的函数进行调整,所述估计显示时间是从与两个之前形成的流片段相关联的时间戳导出的。
12.根据权利要求9-11中的任一项所述的媒体处理系统,该媒体处理系统还包括转码器缓冲器,该转码器缓冲器适于将转码媒体片段转发到网络、以及将与所述转码媒体片段中的至少一些转码媒体片段相关联的时间戳发送到所述动态比特率适配器。
13.根据权利要求1 0-12中的任一项所述的媒体处理系统,其中所述动态比特率适配器还被配置为: 确定当前缓冲器间隔,该当前缓冲器间隔表示之前的流片段在所述目的地单元处的估计显示时间,所述当前缓冲器间隔是从嵌入在两个之前形成的流片段中的时间戳导出的; 将所述当前时钟间隔与所述当前缓冲器间隔进行比较;以及 将所述当前编码率作为所述当前时钟间隔和所述当前缓冲器间隔的函数进行调整。
14.根据权利要求10-13中的任一项所述的媒体处理系统,其中所述动态比特率适配器包括: 挂钟模块,用于追踪所述当前时间;以及 服务质量(QoS)调整器,被配置为将所述当前时间和所述时间戳处理成QoS值,该QoS值将被发送到所述转码器以用于对所述转码器的编码比特率进行调整。
15.根据权利要求9-14中的任一项所述的媒体处理系统,其中所述动态比特率适配器还被配置为将所述当前编码率作为所述当前编码率的函数进行调整。
16.根据权利要求9-15中的任一项所述的媒体处理系统,其中所述动态比特率适配器还包括暂停检测器,该暂停检测器被配置为检测所述转码媒体片段的传输的中断、以及在检测到所述中断的情况下禁止所述动态比特率适配器对所述当前编码率进行调整。
【文档编号】H04N19/146GK103733632SQ201280039692
【公开日】2014年4月16日 申请日期:2012年7月10日 优先权日:2011年8月16日
【发明者】S·科特, J-N·克劳泽 申请人:万特里克斯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1