用于提供动态比特率编码的设备和方法转让专利

申请号 : CN200480040046.0

文献号 : CN1926861B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : R·A·昂格尔

申请人 : 索尼电子有限公司索尼株式会社

摘要 :

一种设备、系统和方法,用于根据为无线传递源数据所确定的可用带宽,动态地调节编码器比特率。一种方法检测第一可用带宽,根据可用带宽确定第一编码器比特率,以第一编码器比特率编码信号,检测可用带宽的改变以便有第二可用带宽,根据第二可用带宽确定第二编码器比特率,以及以第二编码器比特率编码信号。以第二编码器比特率编码信号可包括编码信号的后续帧。该方法还实时地无线传递以第一编码器比特率编码的信号,以及实时地无线传递以第二编码器比特率编码的信号。

权利要求 :

1.一种用于提供动态比特率编码的方法,包括:检测第一可用带宽;

根据第一可用带宽确定第一编码器比特率;

以第一编码器比特率编码信号;

检测所述可用带宽的改变,以便有第二可用带宽;

确定先进先出FIFO装置的填充水平,以第一编码器比特率编码的编码信号通过所述先进先出装置;

根据第二可用带宽和所述FIFO装置的填充水平确定第二编码器比特率;以及以第二编码器比特率编码所述信号。

2.如权利要求1所述的方法,其中以第二编码器比特率编码所述编码的信号包括编码所述信号的后续帧。

3.如权利要求2所述的方法,还包括:实时地无线传递以第一编码器比特率编码的信号;以及实时地无线传递以第二编码器比特率编码的信号。

4.如权利要求3所述的方法,还包括:从远程接收装置接收信号质量统计;以及其中所述检测所述可用带宽的改变包括基于所述信号质量统计检测所述改变。

5.如权利要求4所述的方法,还包括:确定所述接收装置处的信号质量是否已降低;

所述检测所述可用带宽的改变包括检测可用带宽的减小;以及所述确定第二编码器比特率包括减小所述编码器比特率,以使第二编码器比特率小于第一编码器比特率。

6.如权利要求1所述的方法,还包括:确定所述可用带宽的改变是否是所述可用带宽的增加;

响应于确定所述可用带宽的改变是所述可用带宽的增加,确定当前信号质量是否超过信号质量阈值;

响应于确定所述可用带宽的改变是所述可用带宽的增加,确定多个紧接着的先前帧的信号质量是否超过所述信号质量阈值;以及所述确定第二编码器比特率包括响应于确定所述当前信号质量超过所述信号质量阈值和所述多个紧接着的先前帧的信号质量超过所述信号质量阈值而增大所述编码器比特率,以使第二编码器比特率大于第一编码器比特率。

7.如权利要求3所述的方法,其中所述检测第一可用带宽包括对所述信号的每一帧检测第一可用带宽。

8.如权利要求1所述的方法,还包括:改变调制方案;以及

所述检测所述可用带宽的改变包括根据改变的调制方案确定所述可用带宽。

9.如权利要求1所述的方法,还包括:改变前向纠错;以及

所述检测所述可用带宽的改变包括根据改变的前向纠错确定所述可用带宽。

10.一种用于提供动态改变的比特率编码的方法,包括:以第一编码比特率编码用于无线通信的信号;

检测通信路径的可用带宽包络中的第一改变;

确定所述可用带宽包络中的第一改变是否超过预定阈值;

确定第一改变的可用带宽包络的可用带宽包络;

确定先进先出FIFO装置的填充水平,以第一编码比特率编码的用于无线通信的信号通过所述先进先出装置;

当所述可用带宽包络中的第一改变超过所述预定阈值时,根据所确定的可用带宽包络和所述FIFO装置的填充水平确定维持信号质量的第二编码比特率;以及用第二比特率在后续帧处开始所述信号的编码。

11.如权利要求10所述的方法,还包括在后续帧处开始所述信号的编码后确定所述可用带宽足以允许生成附加I帧,并且生成附加I帧。

12.如权利要求10所述的方法,还包括:检测所述可用带宽包络中的第二改变;

根据所述可用带宽包络中的第二改变确定第二可用带宽包络;

根据所确定的第二可用带宽包络确定第三编码比特率;

以第三编码比特率编码所述信号;以及无线传递以第三编码比特率编码的所述信号。

13.如权利要求12所述的方法,还包括:每帧确定一次是否要执行所述编码比特率的调节。

14.如权利要求13所述的方法,其中所述确定第二编码比特率包括确定第二编码比特率以使第二编码比特率小于第一编码比特率。

15.如权利要求10所述的方法,还包括:确定所述可用带宽包络是否超过带宽阈值;

确定在紧接的前一帧期间所述可用带宽是否超过所述带宽阈值;以及所述确定第二编码比特率包括确定第二编码比特率以使第二编码比特率大于第一编码比特率。

16.一种无线多媒体系统,包括:

中央控制器,它接收源数据并无线地分布至少部分所述源数据,其中所述中央控制器包括:动态可变比特率编码器;

与所述动态比特率编码器相连的发送器,其中所述发送器发送由所述动态比特率编码器所编码的至少部分所述源数据;

与所述动态比特率编码器相连的控制装置,所述控制装置根据所接收的统计确定可用带宽,并根据所确定的可用带宽确定编码比特率;以及所述控制装置指示所述动态比特率编码器以所确定的编码比特率进行编码;

先进先出FIFO装置,其与所述控制装置、所述动态比特率编码器和所述发送器相连,其中所述FIFO装置接收由所述动态比特率编码器所编码的所述源数据,并将所述动态比特率编码器所编码的所述源数据转发到所述发送器;以及所述控制装置在确定所述编码比特率时,监控所述FIFO装置的填充水平;且所述控制装置根据所述可用带宽和FIFO装置的填充水平来确定所述编码比特率。

17.如权利要求16所述的系统,其中所述控制装置每帧确定一次所述可用带宽和所述编码比特率。

18.如权利要求16所述的系统,还包括:与所述中央控制器无线连接的远程装置,其中所述中央控制器将以所确定的编码比特率编码的至少部分所述源数据无线分布到所述远程装置。

19.如权利要求18所述的系统,其中所述中央控制器还包括与所述控制装置相连的接收器,其中所述接收器从所述中央控制器接收所编码的源数据,并将至少一种统计转发到所述控制装置。

说明书 :

用于提供动态比特率编码的设备和方法

技术领域

[0001] 本发明一般涉及动态比特率分配,更具体地说,涉及根据时变带宽动态地分配比特率编码。

背景技术

[0002] 每个视频帧在以数字格式被记录、转换和/或存储时,通常需要大量的比特。而且,视频常以每秒30帧的速率递送。这大量的数字数据以及递送该数据的速度提出了大的原始带宽的要求。从广播台向用户递送全部内容是不实际的。这个缺点通过消除冗余以及其它压缩和编码方法来压缩数据予以克服。
[0003] 许多编码模型(例如MPEG)定义和标准化了解码技术,但通常并不限制或限定编码器如何工作。通常用恒定比特率(CBR)将视频编码到固定带宽输出,或用可变比特率(VBR)编码,其中对有大量动作的场景要用许多比特,而对静止场景则用很少比特。对于VBR,还有为给定传输管道指定的目标或最大可用比特率。工作时,以前的编码器用CBR或VBR值定义,编码开始,然后编码器就自行产生编码输出。编码器继续以固定编码(CBR或VBR)进行编码。改变编码比特率通常包括停止编码器、重新定义参数、重新配置编码器使用新的参数,以使编码器检测新参数,并用新参数重新启动编码器。
[0004] 在一些应用中,例如在无线连接上传输时,可用带宽会动态地且突然地改变。用CBR或VBR,编码器继续以规定的编码比特率工作,不论带宽容量如何。如果带宽降到被推送到通信链路上的CBR或VBR内容所需水平以下,则数据就会丢失,导致用户显示器上画面停住以及其它的不连贯。同样,由于编码器开始于预定的比特率,且它们不作改变地继续简单地以该规定的速率(CBR或VBR)编码,当被编码数据不占用整个带宽时,可用带宽就可能浪费了。

发明内容

[0005] 本发明通过用于根据为无线传递源数据所确定的可用带宽动态调节编码器比特率的方法、设备和系统,有利地解决了上述需要以及其它需要。在一些实施例中,提供了一种用于动态调节用于编码的比特率的方法,其包括:检测第一可用带宽;根据第一可用带宽确定第一编码器比特率;以第一编码器比特率编码信号;检测可用带宽的变化以便有第二可用带宽;根据第二可用带宽确定第二编码器比特率;并以第二编码器比特率编码信号。以第二编码器比特率编码信号可包括编码信号的后续帧。该方法还可实时地无线传递以第一编码器比特率编码的信号,以及实时地无线传递以第二编码器比特率编码的信号。
[0006] 一些实施例提供了一种用于提供动态改变比特率编码的方法。该方法可包括:以第一编码比特率编码用于无线通信的信号;检测通信路径的可用带宽包络中的第一改变;确定可用带宽包络中的第一改变是否超过预定阈值;确定第一改变的可用带宽包络的可用带宽包络;当可用带宽包络中的第一改变超过预定阈值时,根据所确定的可用带宽包络确定维持信号质量的第二编码比特率;并在后续帧用第二比特率开始信号编码。该方法还确定能在所确定的可用带宽包络内通信的最大比特率,且其中开始编码包括根据最大所确定比特率开始编码。
[0007] 这些方法中的一些还包括:检测在可用带宽包络中的第二改变;根据可用带宽包络中的第二改变确定第二可用带宽包络;根据所确定的第二可用带宽包络确定第三编码比特率;以第三编码比特率编码所述信号;并无线传递以第三编码比特率编码的信号。
[0008] 一些备选实施例提供了无线多媒体系统。这些系统包括中央控制器,其接收源数据并无线地分布至少部分源数据,其中所述中央控制器包括:动态可变比特率编码器;与动态比特率编码器连接的发送器,其中发送器发送由动态比特率编码器编码的至少部分源数据;与动态比特率编码器连接的控制装置,该控制装置根据所接收的统计确定可用带宽,并根据所确定的可用带宽确定编码比特率;且控制装置指示动态比特率编码器以所确定的编码比特率编码。控制装置还可每帧一次确定可用带宽和编码比特率。一些实施例还包括与中央控制器无线连接的远程装置,其中中央控制器将以所确定的编码比特率编码的至少部分源数据无线分布到远程装置。
[0009] 参阅本发明的以下详细说明和使用本发明原理的图示实施例的附图,就可对本发明的特性和优点有更好地理解。

附图说明

[0010] 根据结合以下附图对本发明的更详细说明中,本发明的上述和其它方面、特性和优点就更加显而易见,其中:
[0011] 通过提供了用于根据所确定的可用带宽动态地改变编码比特率的方法、设备和系统,上述需要至少部分得以满足,如以下详细说明中所述,特别是在结合附图研究时,附图包括:
[0012] 图1示出固定带宽的简化视图;
[0013] 图2示出根据本发明实施例通过所测量的可用通信带宽包络动态分配编码比特率的实例简化视图;
[0014] 图3示出根据一个实施例的分布式无线通信系统的简化框图;
[0015] 图4示出仅显示中央控制器和单个远程装置的系统的简化框图;
[0016] 图5示出根据一些实施例的编码器简化框图;
[0017] 图6示出根据一些实施例用于提供动态比特率编码的过程的简化流程图;以及[0018] 图7示出用于动态调节编码器比特率的过程的简化流程图。
[0019] 在附图的所有几个视图中对应的附图标记表示对应的组件。技术人员会理解到,图中元件的图示为了简明清晰不一定按比例绘制。例如,图中一些元件的尺寸相对于其它元件可能有放大,以便有助于提高对本发明各种实施例的理解。而且,在商业可行实施例中可用或必需的常用但众所周知的元件通常不予示出,以便于较少地模糊本发明这些各种实施例的视图。

具体实施方式

[0020] 本发明实施例提供了用于向远程多媒体装置提供本地多媒体分布的方法、设备和系统。而且,本发明实施例提供了在向远程多媒体装置无线传递多媒体信号时动态分配比特率。比特率调节成,当带宽改变时充分利用可用带宽。
[0021] 此外,本发明实施例监控可用带宽,并调节编码比特率,以更好地最大化数据通过量和/或信号质量。结果,本发明实施例向远程接收装置提供更精确和更好的信号质量。这些实施例还最大化可用带宽的使用。当检测到可用带宽减少时,本发明实施例可动态地降低编码比特率,以减少被传递的比特数量。而且,一些实施例检测可用带宽何时增加。带宽增加时,这些实施例可增大编码比特率,以传递更精确的、增强的和/或附加的数据。因此,这些实施例动态地调节比特率,以在带宽波动时,充分利用所检测的可用带宽。
[0022] 通常在无线多媒体系统中,例如家用无线多媒体系统中,工作时有带宽波动。例如,某样东西(人、宠物等)会在发送装置和接收装置之间经过。这会对在无线传递数据中可使用的可用带宽有不利影响。用现有系统时,因现有系统采用固定比特率,这种减小的带宽会负面影响信号的传递。由于现有系统提供了以恒定比特率的编码,所编码比特的数量可能超过可用带宽,于是积压了数据和/或负面影响了最终接收的信号。原先系统利用的编码器通常是通过一次性设定并运行的参数来控制,例如MPEG编码器。对原先的编码器发出一个固定比特率参数。一旦此参数被设定,这些编码器就在开始和/或启动后检查一次该比特率参数,设定编码率,并继续以该固定速率工作。备选的是,本发明实施例检测带宽的改变,并动态调节比特率,以更好地最大化可用带宽的使用。
[0023] 一些现有系统建议它们提供可变的比特率。但这些系统不能根据所检测的可用带宽包络来动态调节比特率。例如,授予HUANG等人的美国专利No.5,617,145描述了利用所定义的固定带宽。固定带宽的可用比特率分布在两种数据信号(音频和视频)之间。图1示出了根据HUANG等人的专利的固定带宽112的简化视图。可用固定带宽112在音频信号114和视频信号116之间分用。
[0024] HUANG的专利以固定速率编码信号,并基于帧的固定带宽有多少分配给音频信号来确定有多少编码的视频信号用于该帧固定带宽的其余部分。例如,在极少或没有声音和/或噪声的帧中,音频信号可显著压缩,留下多余的未用带宽。一定量的编码视频信号用来填充该帧的固定带宽。同样,在噪声场景期间,有大量的音频,占用了较大部分的固定带宽,并减少了可用于编码视频的固定带宽量。HUANG等人采用了在两种信号即音频和视频之间分用的恒定比特率。
[0025] 本发明实施例解决了因环境或其它因数使带宽量改变的问题。备选的是,HUANG等人试图最大化在固定和定义带宽中的数据量。图2示出了根据本发明实施例随时间而变的带宽包络212以及动态分配编码比特率210的简化视图。当带宽随时间波动时,根据所测量的可用通信带宽包络212动态地分配编码比特率210。在某些时段,例如以参考编号214所示的,带宽为最大。于是,本发明实施例提供了最大的编码比特率(一般以参考编号216表示)。同样,当可用带宽降到最小时,本发明实施例将编码比特率降到最小水平。
[0026] 带宽可定义用于单一信号,或可在两个或更多个信号之间分用。当在两个或更多个信号之间分配时,带宽212可以等分,和/或按某种加权标准所定义的分用。在一些实施例中,一旦第一信号没有完全使用分配给该信号的带宽,第二信号就可使用第一信号所分配带宽的未用部分。而且,一个或多个信号中每个信号的编码都根据所测量的带宽包络212进行动态改变。
[0027] 一些采用编码器的多媒体系统,例如个人录像机(例如TivoTM、ReplayTVTM、TMDirectTV 以及其它这类记录器),可以设定编码率。但这些编码率通常是每次记录设定一次,且在整个记录中都使用该单一速率。例如,个人录像装置可以四种可能质量水平之一提供记录(例如最佳质量的最小存储器)。用户选择记录质量,而个人录像机可根据可用的存储器和/或记录时间确定要用的带宽量。一旦带宽被确定,个人录像机就设定一固定编码率参数。个人录像机的编码器在即将记录之前检查速率参数,并一次性设定编码器比特率。
速率被设定后一直不变,直到节目/记录完成为止。编码器设置一次,就不受外界影响地进行工作。
[0028] 备选的是,本发明实施例监控可用带宽,并在可用带宽波动时调节编码比特率。同样,一些实施例提供了比特率的连续调节,以更好地最大化信号接收。在一些实施例中,比特率可以每一帧改变一次、每隔一帧改变一次或在其它类似期间改变一次,以简化实现,并减少潜在的快速比特率改变。另外,一些实施例在开始改变比特率之前,确定带宽的改变是否超过改变的带宽阈值。这可减少比特率的快速改变,并在较小改变具有很小影响时能避免比特率改变。同样,可采用滞后作用来减少编码比特率的快速转变。
[0029] 而且,本发明实施例提供了在所定义编码包络中的改变。编码包络可根据所确定的可用带宽,用最大编码率和最小编码率来定义。该包络允许编码器有一定的回旋余地,以在所定义编码包络中作较小的调节来更好地优化信号质量。备选的是,一些原先的系统,例如MPEG系统,允许对编码包络进行定义,但这些包络是固定的。比特率可以在有限和固定的包络内作很小的改变,其中最大和最小比特率都已设定。编码器则在那些固定限制内工作,且最大和最小编码率都不改变。
[0030] 但本发明的实施例提供了编码包络的动态调节。最大和/或最小编码率可根据所检测的可用带宽向上或向下调节。编码器可在编码范围内进行编码,同时该范围根据所检测的带宽波动而潜在地改变。
[0031] 一些现有编码器设计成允许待编码数据的多次通过和/或分析。这就允许这些编码器可以看出数据将如何改变。知道了事情将会如何改变,这些编码器就能优化比特预算,并采用复杂编码。这些编码器不能在实时系统中工作。实时编码不能使用这种编码方案,因为没有足够的时间进行处理以允许多次通过。
[0032] 本发明实施例可用于实时视频流中,不需进行数据的多次通过。这些实施例备选地高速改变比特率,以更好地优化要无线传递到一个或多个远程装置的实时数据信号的编码。
[0033] 一些无线通信方案,例如802.11,允许在接收信号中检测到差错时,重新传输数据到接收装置。当接收装置在一帧中检测到差错时,接收装置提交重新传输至少该所讨论帧的请求。实时流式传输视频没有时间允许重新传输。在实时流式传输视频和/或音频时,在检测到差错并请求重新传输时,多媒体数据已进行下去,并且本可被重新传输的数据已不再是当前数据,且不能被使用。以视频信号为例,在接收装置检测到差错并请求重新传输时,视频数据将已进行到新的场景,且重新传输的数据不破坏当前帧就不能被显示。这样,多媒体数据的精确传递对于多媒体分布系统是至关重要的。本发明实施例通过动态调节比特率提供了更好地最大化可用带宽使用的能力,以更好地确保在实时数据通信中接收装置所接收的数据精确度。
[0034] 图3示出根据一个实施例的分布式无线通信系统310的简化框图。通信系统310例如可用作家用无线多媒体分布系统,它存取本地或远程多媒体数据(例如有线电视、卫星电视、按次计费电影、因特网数据/音频/视频、电影DVD、音乐CD、软件、电子游戏以及其它类似多媒体数据),并将数据有线或无线分布到远程装置314-317,允许一个或多个用户存取该数据。系统310包括中央控制器312,它存取和分布数据。例如中央控制器可以是计算机、处理器、服务器、机顶盒或其它类似装置,或能配置成接收和分布多媒体数据的装置组合。
[0035] 在一些实施例中,中央控制器312可与一个或多个外部网络320连接,以从网络接收和/或检索数据。该网络可以是有线电视网络、地面通信网络、因特网、PSTN网、这些网络组合和/或能从中接收和/或检索数据的其它类似网络。在一些实施例中,中央控制器还可将数据传递到网络和/或与网络320连接的其它装置上。中央控制器还可与其它接收数据的装置连接,例如天线322和圆盘式卫星天线324。中央控制器还可包括存储器326,例如RAM、ROM、CD/DVD驱动器播放器以及其它类似存储器。存储器可存储控制器所接收的数据和/或内容,并可预先记录数据供控制器存取(例如,存储在DVD上的电影、存储在CD上的音乐等)。
[0036] 在一些实施例中,中央控制器可以是另一系统的一部分,例如机顶盒、娱乐中心、计算机、处理器、服务器、装置的组合,或能向/从网络、地面或其它源发送/接收数据的其它装置。备选和/或附加地,中央控制器312可通过硬连线直接与计算机相连,用于接收和/或递送数据。同样,中央控制器可与多煤体播放器装置如CD播放器、DVD播放器、电子游TM戏控制台(例如Sony PlayStation )以及其它类似装置硬连线。
[0037] 通信系统310还包括远程装置314-317。远程装置允许用户存取存储在其它远程装置上的数据、存储或插入到控制器310中的数据和/或由控制器通过网络320、在地面上通过天线/卫星或通过其它构件可存取的数据。远程装置可与中央控制器312无线连接,允许远程装置在控制器和/或远程装置的传输和接收能力限制的预定范围内漫游。远程装置备选地可与控制器直接连接,以接收和传递数据。
[0038] 远程装置实质上可以是能从和/或向控制器312接收和/或发送数据的任何装置。例如远程装置314-317可以是电视机、计算机、电子游戏控制台(例如Sony TMPlayStation )以及能与中央控制器312通信的其它装置。
[0039] 图4示出系统3 10的简化框图,仅示出了中央控制器312和单个远程装置314,其中中央控制器向远程装置发送数据,例如音频和/或视频数据,以由远程装置显示和/或作另外使用。参阅图3和4,系统310的一个实现实例是当发送中央控制器312和接收远程装置314这一对用于专用和物理受限的环境例如家用时。中央控制器312从一个或多个源442,例如网络320、在地面上通过天线322或圆盘式卫星天线324、DVD播放器或其它这些源,接收一个或多个音频/视频信号440。信号440被提供到编码器444。通常,信号440在提供到编码器444之前被解调、未压缩、解码、检查接收精度和/或如业界已知的类似处理。另外,在一些实施例中,一个或多个所接收的信号被分离和/或被选择,以被转发到一个或多个编码器444。
[0040] 编码器444根据控制装置450和系统310所定义的预定参数编码音频/视频信号440。而且,编码器根据在无线通信链路460上可用的通信带宽对信号进行编码。除了使用其它方法来产生符合当前定义的比特预算的压缩数据例如压缩图像外,信号的源数据442也被编码,以减少空间和时间冗余。编码的信号被转发到发送器452,用于在无线链路460上传输已编码信号。在一些实施例中,发送器还用纠错码翘曲(wrap)数据,添加冗余容限,这允许远程接收装置314对孤立误码和短突发差错进行纠正。编码的纠错数据用于调制在无线链路460上无线传输的载波。实质上,任何调制方案都可使用,视数据密度和其它类似标准而定。
[0041] 编码器根据所定义的比特率编码数据。该定义的比特率由控制装置450提供。该比特率由控制装置基于所确定和/或所检测的可用通信带宽包络来确定。而且,控制装置450在可用带宽包络改变时,动态控制和/或调节所定义的比特率。可用带宽包络根据控制器312所接收的通信信号质量以及远程装置314所提供的数据来确定。所定义的编码比特率可以由中央装置不断更新,和/或该中央装置可根据可用带宽定期确定和提供所需的编码比特率。在一些实施例中,控制装置450每帧一次定义所需的编码比特率。
[0042] 编码器444使用定义的编码比特率来调节编码率,以提供以所需比特率编码源信号。再者,编码器可以每帧改变一次比特率、每预定数量的帧改变一次、连续改变或其它类似改变。在一些实例中,当带宽具有足够宽度时,控制装置450可指示编码器444编码一个附加I帧,以提供更高的精确度。同样,控制装置还可指示编码器在有重大影响的数据破坏后,产生一个I帧以刷新内容。
[0043] 再者,源数据的无线传输实时地发生,并且重新传输不是可选项。编码器444、控制装置450和/或接收装置314可采用掩蔽技术来减少由于缺失或破坏的数据引起的显示假像和/或差错。例如,控制装置450可指示、和/或接收装置314可确定:使帧被重复,而不是用有缺陷的输入呈现图像。优选的是,源数据以可能的最大细节和帧速率被编码、发送以及接收供使用(例如再现)。一些实施例通过试图维持平滑呈现来提供误差补偿,并例如在有视频数据时,使用眼睛更容易忽略的微妙的降质。这可包括使细节软化,或使刷新率减慢。
[0044] 仍参阅图3和4,远程装置314包括接收器470,该接收器检测无线信号的载波能量,并可确定信号强度。在一些实施例中,接收器470还确定信噪比(SNR)和/或信扰比(SIR)。信号强度和SNR可转发到远程装置314的控制单元474。接收的数据被解调,以提取有效负荷数据(例如音频和视频数据)。前向纠错(FEC)码可以被提取并用来确认接收的数据和协助进行较小的调节。有关信号强度、SNR、FEC和其它信号质量参数的信息可转发到接收控制单元474。解调的数据流被转送到解码器472。解码器472处理压缩的有效负荷,并设法产生最佳可能的显示。所检测的格式和其它内容差错以及其它统计都可提供到接收控制单元474。
[0045] 有关信号强度、SNR、FEC、接收信号中的变化、处理状态和/或其它信号质量参数的信息可以由接收器控制单元474监控,和/或传递回中央控制器312。通常,接收器控制单元474监控接收信号中的变化和处理状态。如果信号质量下降或发现过多的差错,则控制单元可将此信息提供到发送器476,以便传递回中央控制器312。接收的信号统计可无线传送、通过直接连接、硬线连接、通过网络320或其它类似传递途径传送。中央控制器利用信号质量的下降,确定可用带宽的变化量。知道了带宽的变化,中央控制器312的控制装置450动态减小编码器444的编码比特率,以向接收装置314提供更精确的信号。
[0046] 同样,接收装置314可检测到一段高信号质量的时期,没有或有很少差错,表示有可能增加带宽。该高信号质量的检测被转发到中央控制器312,此时中央控制器就可确定可用带宽的按比例增加。中央控制器312可再次动态调节编码比特率,以更好地最大化所增加可用带宽的使用,这通常允许有余地由中央控制器312传送更多的数据,在远程装置314上提供相应地更好显示和音频。可用带宽的变化通常是瞬时的,这可由环境噪声(如真空吸尘器或在启动的其它电器)、路径中断(如在发送器和接收器之间行走)以及其它这类情况引起。
[0047] 中央控制器312的控制装置450使用信号质量和统计数据确定无线链路460的当前可用带宽。基于所确定的可用带宽包络,控制装置确定能更好优化到接收装置的数据通过量的编码比特率。控制装置450然后指导编码器444动态调节或维持信号440的编码比特率。实质上可以任何速率提供动态调节。在一些实施例中,调节速率取决于接收装置提供信号质量和/或统计数据的能力。在一些实施例中,比特率每帧调节一次,以试图最大化可用带宽包络的使用。
[0048] 在确定比特率时,控制装置450尽力确保预定的信号质量。通常,控制装置450为某些参数建立或维持一个或多个阈值。例如,控制装置可使用最大比特率。控制器通常使用由发送器限制和/或接收装置精确接收和解调数据的能力所定义的最大比特率。其它阈值也可由控制装置450使用,以有助于维持到接收装置314的精确数据传递。
[0049] 控制装置450还可指示发送器452包括附加的FEC位,这也会影响可用比特率,因为添加的FEC位减少了可用于有效负荷数据的空间。同样,控制装置450可指示改变调制方案,以更好地优化比特率。例如,调制方案可以从256 QAM调制方案转换到64 QAM调制方案,和/或从64 QAM转换到256 QAM。再者,这对可用于有效负荷数据的空间量有影响。
[0050] 在改变每帧的有效负荷数据量时,控制装置450还可动态改变编码参数。在以前的无线通信系统中,一般使用恒定比特率,以使编码器用固定数量的比特进行编码,与从帧到帧的改变量无关。本发明实施例采用更有效的方法,其提供动态改变的比特率。在一些实施例中,控制装置450可为指定的比特率中的每个变化规定一个目标额定比特率和最大上限比特率。与前一帧相比变化很少的帧可以用少量比特编码,而具有显著变化的帧,例如视频数据中的新场景,通常使用更多的比特。一些实施例使用和发送器一起的一个或多个“先进先出”(FIFO)装置480。FIFO 482还可包含在接收装置314中。FIFO可用来进一步平滑传输速率的变化。
[0051] 在确定动态比特率分配时,控制装置450可使用FIFO 480用于附加控制信息。在一些实施例中,编码器以有效负荷传输的第一比特率产生数据流,并将该数据流传送到FIFO。发送器以所确定的实际传输速率从FIFO中取数据。当控制装置450收缩传输比特率(例如添加更多的FEC比特、实现不同的调制等等),FIFO可以开始填充,因为传输比特率可少于数据被转发到FIFO的速率。
[0052] 控制装置与FIFO相连,并当FIFO在填充时可以感测到。感测到FIFO在填充后,控制器可指示编码器444使用较少的比特。此外,控制装置能预期到FIFO会被填充,因为控制装置向发送器发指令按比例缩放回传输带宽,努力使数据传送更可靠。控制装置还可指示编码器444动态调节比特率。结果,减少提供到FIFO的有效负荷数据量。
[0053] 随着编码比特率减小,FIFO可在增加传输速率的调节后开始排空。这样,控制装置450可进一步指示编码器增加编码比特率,以使用更多位。如上所述,在一些实例中,当带宽具有足够宽度且FIFO不是太满或低于预定阈值时,就可产生附加I帧,以提供更高的精确度和/或提供数据校正。在一些优选实施例中,发送和接收FIFO 480、482分别以几乎空状态运行,以最小化等待时间。增加的FIFO填充水平可用于平滑潜在的数据突发,并提供调制方法中剧烈变化所需的缓冲。
[0054] 图5示出根据一些实施例的编码器510的简化框图。编码器可包括:编码器控制器和/或处理器512;编码装置514,它编码一个或多个源信号;以及比特率分配器516,它定义编码装置工作的比特率。在一些实施例中,编码器510包括存储器和/或寄存器520,用于存储程序、处理参数、所需的比特率以及其它类似程序、数据和/或参数。
[0055] 编码器510包括源输入522和比特率输入524。源输入与数据源422相连(见图4),以接收要编码的源数据。源数据实质上可以是任何待编码的数据。比特率输入524与控制装置450相连(见图3)。控制装置将所需的编码比特率提供到比特率输入524。比特率输入与编码器控制器512和/或比特率分配器516相连。编码器控制器或比特率分配器可确定编码装置514应工作的速率,以根据从控制装置450接收的所需比特率最大化编码比特率。
[0056] 源输入522与编码装置相连,以递送源数据。编码装置接收源数据并根据比特率分配器516提供的所定义编码比特率来编码源数据。编码装置产生编码输出530,其可提供到FIFO 480和/或发送器452。
[0057] 图6示出根据一些实施例用于提供动态比特率编码的过程610的简化流程图。在步骤612,由控制器312建立起始参数。起始参数可包括编码比特率、传输比特率、调制方案、所需比特预算以及其它类似参数。这些参数可由控制器基于用于数据无线分布的默认参数和/或以前的操作和条件来确定。在步骤614,未压缩的源数据(例如720*480像素、30fps、每像素10比特)根据起始参数被编码,且传输开始。该编码减少或消除了空间和时间冗余。在一些实施例中,附加方法可以是产生适合于所需比特预算的压缩图像。
[0058] 在步骤616,根据预定调制方案由编码的数据信号调制载波信号。在一些实施例中,编码的比特流还可以用纠错码翘曲,这就添加了冗余容限,允许在调制之前由接收器对孤立位和短突发差错进行纠正。这样,步骤616可提供根据用于在无线链路、物理链路(例如双绞线、光纤、同轴电缆等)、其它链路或它们的组合上传输的预定调制方案,由编码的、压缩的和前向纠错(FEC)翘曲的数据进行纠错编码,并调制载波信号。实质上,任何调制方案都可使用,视数据密度而定。
[0059] 在步骤620,从远程装置接收有关远程装置所接收信号质量的信号统计。该统计可包括信号强度、信噪比(SNR)、基于前向纠错(FEC)的校正、格式和其它内容差错以及实质上任何其它的信号质量参数。在一些实施例中,仅在信号质量下降到低于质量阈值、发现有过多的差错和其它情况下才接收统计。备选的是,远程接收装置可在信号质量降到低于质量阈值时只发信号给控制器312。此外,在检测到高或好的信号质量时,可将统计提供到控制器312。例如,好的统计可提供在只有很少或没有差错的一段高信号质量期间之后,表示有余地供附加数据使用,这可提供相应更好的显示和/或声音。
[0060] 一些实施例包括编码器后面的FIFO(见图4)。编码信号例如由FIFO缓冲,并由发送器根据传输速率从缓冲器/FIFO中检索。仍参阅图6,在步骤622,FIFO的填充水平统计可被检查,并附加用于确定所需的传输和/或编码率。
[0061] 在步骤624,确定传输速率是否应该和/或可以基于统计而改变、FEC比特数是否应该改变以及调制方案是否应该和/或可以改变。如果确定传输速率应改变,则还要确定传输速率应调节多少。同样,如果确定FEC比特数应改变,则还要确定所用FEC比特数的改变。例如,确定是否应使用附加的FEC比特来提高信号精确度以及要添加的比特数。调制方案改变的一个实例可以通过从256 QAM改变到64 QAM来实现。可包括其它类似步骤,以更好地优化数据信号的传输和最终接收。FEC比特和/或调制方案(和/或其它参数)的改变减少了可用于传输中有效负荷数据的空间。
[0062] 在步骤626,确定传输参数是否改变。如果传输参数未改变,则过程继续到步骤660。如果传输参数改变了,则进入步骤630,在此确定有效负荷量的改变。在步骤632,确定有效负荷的改变是否足以需要调节编码比特率。如果需要改变,则进入步骤634,在此基于有效负荷量的改变,确定编码器比特率的改变量。如果编码器比特率不需要因改变的传输参数而作改变,则过程继续到步骤660。
[0063] 在步骤636,对统计数据、FIFO填充水平和/或信号质量进行评估,以确定带宽是否已与原先的带宽确定(例如在前一帧确定的带宽)有所改变。如果带宽未改变,则过程进到步骤660。如果带宽已改变,则进入步骤640,在此确定带宽的改变是否超过带宽阈值(THDBW)中的预定改变。如果改变未超过阈值,则过程进到步骤660。如果带宽的改变确已超过带宽阈值中的改变,则过程继续到步骤642,在此确定在步骤634因传输改变和/或信号质量所确定的改变的编码器比特率是否足以补偿带宽的改变。如果改变足够,则过程610继续到步骤650。如果改变还不够,则进入步骤644,在此确定带宽的改变。
[0064] 在步骤650,确定带宽是否大于或等于以前带宽,和/或大于或等于带宽阈值。如果带宽不大于或等于以前带宽和/或带宽阈值,进入步骤652,在此确定带宽的减少是否大于减少的带宽阈值。如果带宽的改变不超过减少的带宽阈值,则过程进到步骤654,在此将比特率维持在原先定义的水平。如果在步骤652确定带宽减少的改变大于减少的带宽阈值,则进入步骤656,在此根据所确定的带宽确定减少的编码器比特率。
[0065] 如果在步骤650确定带宽大于或等于以前带宽和/或带宽阈值,则过程继续到步骤660,在此确定信号质量是否超过信号质量阈值。如果信号质量未超过阈值,则过程返回到步骤654,以维持比特率。如果发现信号质量大于信号质量阈值,则进入步骤662,在此确定预定数量的以前帧其信号质量是否也超过了信号质量阈值。如果预定数量帧的信号质量已超过阈值,则进入步骤664,在此根据所确定的带宽增加编码比特率。如果预定数量帧的信号质量未超过阈值,则过程返回到步骤654,在此维持比特率。
[0066] 在步骤654、656和664之后,过程610继续到步骤670,在此将所确定的编码器比特率发给编码器,其中编码器根据所确定的编码比特率继续编码源信号。在一些实施例中,所确定的比特率由一个比特率范围来定义,该范围具有目标额定比特率和最大上限比特率。
[0067] 图7示出了用于动态调节编码器比特率的过程710的简化流程图。在步骤712,接收源数据的帧。在步骤714,确定当前的编码比特率。在步骤716,确定是否需要备选的比特率。所需的编码比特率可如上述基于所确定的可用带宽来确定。如果比特率不需改变,则过程进到步骤720。
[0068] 如果比特率需作改变,则过程继续到步骤718,在此检索并设定改变的比特率。在步骤720,根据在步骤716或718所定义的编码比特率来确定可用比特数。在步骤722,确定是否需要产生I帧。如果已产生预定数量的帧,如果检测到源数据的预定改变(例如在视频信号中从一个场景改变到另一场景)等等,就可以产生I帧,以在数据破坏的显著影响之后刷新内容。如果确实需要产生I帧,则过程继续到步骤726,在此以所需编码比特率编码主题帧作为I帧。编码的比特率(不论是否已调节)足以提供作I帧。在一些实施例中,该过程确定比特率需要调节,以提供I帧。在这种实例中,该过程请求比特率调节,并可返回到步骤718,以接收并设定调节的比特率。
[0069] 如果在步骤722确定不需要产生I帧,则进入步骤724,在此确定可用比特Ba是否超过为产生I帧BI所需的所定义比特数。如果可用比特超过用于I帧的比特数,则进入步骤726,在此以所需比特率编码此帧作为I帧。备选的是,如果可用比特不足以编码为I帧,则过程继续到步骤730,在此根据在步骤716或718中所定义的所需比特率编码此帧。在步骤732,确定是否还有帧要编码。如果有附加帧,则过程710返回到步骤712。如果没有,则过程暂停,直到接收到附加帧。
[0070] 在一些实施例中,过程710在编码器中实现。在每帧开始时,编码器本身可检查其寄存器和/或存储器中所需比特率的改变。在处理每秒30帧的数据时,这就允许例如每33ms作一次改变。参数特定内部算法会被调节,以对应于所需速率。可附加地提供一些考虑因素,以适应其中改变发生在一组图片(GOP)结构内的那些情况。附加和/或备选的是,一些实施例通过调节GOP结构来改变比特率。
[0071] 虽已用具体实施例及其应用对本文公开的发明作了说明,但在不背离权利要求书中阐述的本发明范围的前提下,业界技术人员可以作出许多改动和改变。