自适应可伸缩分组丢失恢复的制作方法

文档序号:2831781阅读:285来源:国知局
专利名称:自适应可伸缩分组丢失恢复的制作方法
技术领域
本发明一般涉及用于越过分组数据网络传送代表源信号的数据分组的方法,并特别涉及用于一方面编码代表源信号的参数而另一方面解码这些参数的方法和设备。本发明特别涉及有损网络系统中的用于分组丢失恢复的编码和解码方法和设备。本发明可应用到例如多媒体信号(语音、音频信号和动画)的离散时间信号。

背景技术
通过分组数据网络的视听通信已变得越来越普及。然而,现有系统是有损的,即,代表要通过分组数据网络传送的信号的数据分组可丢失。解决分组丢失的方法可被划分为两组基于接收器和基于发送器的方法。在传送的比特流中引入冗余的基于发送器的方法一般更强大,但是需要编码器和解码器两者的改变,而基于接收器的方法仅需要解码器的改变。许多通常使用的基于发送器的方法采用块信道代码作为具有恒定冗余比特率的冗余(例如,前向纠错(FEC)),由此保护主编码免受分组丢失。其他基于发送器的方法基于多重描述编码(MDC)。基于MDC的策略的缺陷在于,它们不能容易地添加到现有系统,并且在源编码器中集成了分组丢失鲁棒性。其他基于发送器恢复丢失分组的现有方法基于向主编码系统添加必须离线训练的矢量量化器(VQ),这不在要传送的信号的编码中提供任何灵活性,因为这些矢量量化器需要额外计算和/或预定查找表。这些现有方法通常取决于通过离散统计模型的主编码,例如参考VQ单元的马尔可夫模型的状态,或取决于特定分组丢失场景(scenario)。问题在于,这些依赖性需要用于不同速率和不同场景的不同估计器或几种统计模型的训练。由此,存在对于提供将克服这些问题中的至少一些的改进的方法和装置的需求。


发明内容
本发明的目的是全部或部分克服现有技术的以上缺点和缺陷,并提供以上技术和现有技术的改进替换。
本发明的进一步目的在于提供一种用于通过分组数据网络传送代表信号源的数据分组的系统、用于编码信号源的参数的设备、用于解码通过分组数据网络传送的数据分组的设备、以及用于编码信号源的参数并解码这些参数的改进方法。
本发明提供了用于增加通过例如因特网或蜂窝电话网络的分组数据网络或分组交换网传递的有损编码系统中的分组丢失的鲁棒性的方法和设备。本发明可提供对于不提供分组丢失的足够鲁棒性的有损编码系统的改进。本发明可用作现有有损编码系统的扩展,由此使得扩展的系统能够利用增加的分组丢失鲁棒性与其他扩展系统通信,同时在不增加鲁棒性的情况下仍可能与未扩展的系统通信。
由此,根据本发明的第一方面,根据所附权利要求1提供了一种用于编码要越过分组数据网络传送的源信号的设备。
根据本发明的第二方面,根据所附权利要求33提供了一种用于编码要越过分组数据网络传送的源信号的方法。
用于编码源信号的参数的创造性设备和方法以可变比特率编码参数,响应于例如分组丢失统计值的输入参数按照来自比特率控制器的比特率控制信号的形式来连续指定(specified)该可变比特率。这是有利的,因为冗余编码的比特率或封装策略可然后适于实际分组数据网络的性能,由此通过增加或降低比特率而分别提供更精确或更不精确的冗余编码。可对于与源信号的特定段(segment)对应的每一编码块,来改变冗余率。另一优点在于,这样的用于编码的设备可容易地添加到现有编码器,其中现有编码器可以是传统编码器。
根据实施例,用于编码的创造性设备的比特率控制器可响应于分组丢失统计值和有关分组数据网络的条件的信息来提供比特率控制信号。在进一步实施例中,所述有关分组数据网络的条件的信息包括以下网络参数中的至少一个所述分组数据网络中的当前数据负荷(load)、所述分组数据网络的数据负荷方针、和所述分组数据网络中的每秒每比特的当前成本,这是有利的,因为可变比特率可适于网络的约束和/或条件。因为许可比特率在原理上将无穷大以提供传送中的最高可能精度,所以例如网络的当前数据负荷的参数限制被许可用于信号源的冗余编码的传送的比特率的值。
根据本发明的第三方面,根据所附权利要求18提供了一种用于解码越过分组数据网络传送的数据分组序列的设备,其中所传送的数据分组中的每一个包括代表源信号的参数的主编码和冗余编码。
根据本发明的第四方面,根据所附权利要求48提供了一种用于解码越过分组数据网络传送的数据分组序列的方法,其中所传送的数据分组中的每一个包括代表源信号的参数的主编码和冗余编码。
用于解码的创造性设备可容易地添加到其中用于解码主编码的第一解码器可以是传统解码器的现有系统。传统解码器仅忽略与冗余编码对应的比特流分量,而例如本发明的设备的匹配解码器在例如分组丢失的情况下使用冗余编码来改进重构信号的质量。
此外,用于解码的创造性设备确保好重构质量和约束的总速率,因为其在比特率控制信号的控制下解码参数。
根据本发明的第五方面,根据所附权利要求32提供了一种用于越过分组数据网络传送数据分组序列的系统,其中所传送的数据分组中的每一个包括代表源信号的参数的主编码和冗余编码。
本创造性系统的高性能部分地由于用于解码的设备的统计建模,当损失(damaged)比特流时,该建模促进信号重构。此外,因为该创造性系统完全基于分析的连续源信号模型,并且因为本系统使用可计算的量化器,所以使能传送期间的冗余编码的实时改编。换言之,本发明提供了一种可通过接收比特率控制信号而适于分组数据网络的实际分组丢失场景的通信系统。由此,该系统可反抗并可能防止网络堵塞。
本方法和设备也可应用在没有分组丢失的网络场景中,从而不是恢复遗漏的参数,而是增加编码系统的重构质量。
当研究以下详细公开、图和所附权利要求时,本发明的进一步目的、特征和优点将变得清楚。本领域技术人员将认识到,可组合本发明的不同特征,以创建除了下面描述的实施例之外的实施例。



通过参考附图对本发明优选实施例进行的以下图示性和非限制性详细描述,本发明的以上以及其他目的、特征和优点将更好理解,其中 图1示出了根据本发明实施例的用于越过分组数据网络传送源信号的系统。
图2示出了根据本发明另一实施例的用于越过分组数据网络传送源信号的系统。
图3示出了根据本发明实施例的用于编码信号源的参数的设备。
图4示出了根据本发明实施例的分组结构,该分组结构可在参考图1-3和5描述的实施例中使用。
图5示出了根据本发明实施例的用于对越过分组数据网络传送的数据分组进行解码的设备。
所有这些图都是示意性的,并一般仅示出了为了阐明本发明所必需的部分,其中可省略或仅暗示其他部分。

具体实施例方式 图1示出了根据本发明实施例的用于越过分组数据网络130传送源信号的系统。源信号编码器或第一编码器110编码源信号,并以逐块为基础生成主编码,其中块通常是源信号的一个或多个时间段。这些块通常但并非必须是相同长度。一般按照数据分组序列的形式来编码源信号,每一分组包括分组报头。通常但并非必须的是,数据分组和与信号源的特定时间段、或其一部分、或段集合对应的块同步。
在实施例中,假设主编码是有损的,即,对应源信号解码器或第一解码器150响应于接收的主编码生成的重构源信号是源信号的近似值。在特定实施例中,源信号可以是语音信号、音频信号、动画、视听信号、或可按照有损方式编码的任何其他信号。
通过通信信道或分组数据网络130来传送数据分组。如果丢失了分组,则第一解码器150接收的一些输入信息遗漏(通常用于一个编码块)。为了使得重构源信号的质量最大化,可通过参数估计器140来估计遗漏的参数。参数估计器140可部分地响应于从第一解码器150所解码的其他时间块接收的数据而操作。然而,如果参数估计器响应于越过信道或分组数据网络130传送的冗余信息而操作,则可获得改进的估计。
由此,除了上述第一编码器110之外,编码器105附加包括冗余编码器120,以改进参数估计器140的性能。
参考图1,将描述用于编码源信号的参数的设备105的实施例。如图1中所示,编码器或用于编码的设备105包括第一编码器110,用于从该源信号生成第一参数集,并用于执行第一参数集的主编码。编码器105还包括冗余编码器120,从第一编码器110接收第一参数集和量化后的第一参数集。冗余编码器120执行第二参数集的冗余编码。具体来说,使用第一参数集的子集(其可以是全集)以及由第一编码器110从第一参数集生成的延迟量化后的参数,来生成第二参数集。冗余编码器120适于将第二参数集编码为具有与接收的比特率控制信号对应的可变比特率的冗余比特流。该比特率控制信号由比特率控制器142响应于从与分组数据网络130相连的分组丢失统计计算器135接收的分组丢失统计值而提供。
对于特定编码块,传送该冗余编码器120所产生的编码后的冗余信息,从而使得从主编码生成的参数和该冗余编码器所编码的对应冗余信息的同时丢失最小化。
在特定实施例中,第二参数集可包括第一编码器110在主编码中没有编码的信息。如果没有丢失分组,则这允许重构源信号的增加的精度。
经由比特率控制器142而向冗余编码器120提供的比特率连续可变,由此允许比特的整数本性(integer nature)。通过比特率控制器142来指定冗余编码器120的冗余比特率或可变比特率,该控制器可被安排在编码器105处。然而,比特率控制器142也可安排在图1中所示的解码器115处或附近、或可安排在该系统中的任何其他位置。
比特率控制器142基于在解码器115和分组数据网络130之间(即,在系统的接收机侧)安排的分组丢失统计计算器136所看见的分组丢失率的统计,来确定冗余编码的比特率。然而,比特率控制器还可基于现有知识和/或与网络条件相关的输入参数来确定比特率。可变比特率对于编码器105和解码器115应相同。
如图1中所示,使用例如从解码器115到编码器105的确保比特率的鲁棒传送的所谓反馈信道,按照冗余方式来传送在编码器105和解码器115处指定冗余比特率所需的信息(需要非常少比特)。
在特定实施例中,分组丢失统计计算器135通过计数遗漏分组来估计分组丢失统计值。
在特定实施例中,比特率控制器响应于分组丢失统计值和有关分组数据网络130的条件的信息两者,来提供比特率控制信号。这些条件可以是分组数据网络中的当前数据负荷、分组数据网络的数据负荷方针、和分组数据网络中的每秒每比特的当前成本。
每秒每比特的成本可由网络控制单元(图中未示出)来设置,使得网络负荷合理,即,当网络负荷增加时,每秒每比特的成本增加,而当网络负荷减少时,每秒每比特的成本减少。比特率控制器142所以具有相对于成本来折衷(trade)传送质量的能力。作为示例,可使用编码参数的均方误差MSE作为失真度量。在下面,每秒每比特的金钱成本用B标注。均方误差是冗余率Rr的函数,可表达为MSE=MSE(Rr)。此外,金钱成本B由网络运算器(图中未图示)所校准的网络控制单元来设置。预想B的值可连续改变。比特率控制器142的合理目的是约束总体成本BRr,对于给定第一编码器,这意味着BRr受到值BTOT的限制。为了使得质量最大化,即使得失真最小化,将Rr设置为许可的最大值,即Rr=BTOT/B。在进一步实施例中,比特率控制器142使得基于质量和成本的复合标准最小化。作为示例,目标可以是发现使得成本标准η=MSE(Rr)+入BRr最小化的Rr值,其中入是设置失真和金钱成本的相对重要性的因素。
参考图1,在下面描述用于对越过分组数据网络130传送的数据分组序列进行解码的设备115的实施例。解码器或用于解码的设备115包括第一解码器150,用于执行将主编码解码为主解码后的参数集的解码。解码器150还包括参数估计器140,用于在比特率控制信号的控制下对估计参数集和从接收的冗余编码生成的解码后的冗余参数集的联合分布进行建模,并用于基于建模的分布来估计该估计参数。关于编码器105,由比特率控制器142响应于从与分组数据网络130相连的分组丢失统计计算器135接收的分组丢失统计值来提供比特率控制信号。
在特定实施例中,该估计参数是来自接收的主编码和接收的冗余编码之一的遗漏参数或丢失参数。
在特定实施例中,应用到参数分布的模型是高斯混合模型,这将稍后进行更详细的解释。
当丢失了冗余编码或主编码的参数时(例如由于丢失数据分组),参数估计器140估计丢失或遗漏的参数(在下面也被称为估计参数)。该估计部分地基于使用从先前和/或将来块接收的主编码参数、越过分组数据网络从第一编码器110传送的信息。另外,丢失参数的估计基于从可伸缩冗余编码器120传送的冗余信息。当冗余编码的比特率作为该比特率控制器142设置的比特率的函数而改变时,冗余参数集以及该冗余编码器120对这些冗余参数进行编码的编码精度两者可改变。由此,和传统固定量化器的解码器形成对比的是,参数估计器140不能使用用于对冗余编码进行解码的预定表格。取而代之,参数估计器142使用这样的估计过程,其中对从参数估计器142估计(或输出)的参数集和从冗余编码生成的解码后的冗余参数的联合分布进行建模。在进一步实施例中,参数估计器142可对从参数估计器142估计的参数集、从接收的冗余编码生成的解码后的冗余参数集、以及从接收的主编码生成的解码后的参数的分布进行建模。除了量化效果之外,所使用的所有参数的联合分布可使用其中已收集了传送的信号源的类型的数据的数据库来提取。然后,基于使用数据库中的数据的训练和编码器105对数据的处理,来获得参数的联合分布。最后,可为了量化效果来校正分布。该最后步骤基于控制器140所提供的速率信息而分析地和实时地进行。
当这些参数的统计随着比特率控制器142所提供的冗余率而改变时,不得不进行用于冗余参数的量化的所述联合分布的校正。由此,一旦从比特率控制器142接收到冗余比特率,在给出量化的冗余参数、以及从接收的主编码生成的接收的参数的情况下,参数估计器140就可确定丢失的参数或要估计的参数(也称为估计参数或输出参数)的分布的规格。在实施例中,估计参数的分布是在给出量化的冗余参数以及从主编码生成的接收的参数的情况下的、这些参数的条件概率分布。
在特定实施例中,将分布描述为高斯混合模型。由此,使用估计参数的条件概率分布,给出从冗余编码生成的已知量化冗余参数和/或从接收的主编码生成的参数,参数估计器140可对这些参数的联合分布进行建模并然后估计该估计参数。可使用不同类型计算来估计这些参数,在优选实施例中,使用使得平方误差最小化的估计。最小均方估计仅是用于条件概率分布函数的遗漏参数与作为条件参数的已知信息的平均值。
图2示出了根据本发明另一实施例的用于越过分组数据网络130传送源信号的系统,其中更详细地示出了第一编码器110和第一解码器150。
一般来说,任何有损源信号编码器或有损第一编码器110可被看作三步骤处理器。第一步骤是在参数发生器112中从输入源信号(也称为源信号)生成第一参数集。第二步骤是在参数量化器114中对第一参数集进行量化,而第三步骤是在参数编码器116中通过对量化后的第一参数集进行编码而生成主编码。
参数发生器112和参数量化器114所生成的参数可在第一编码器110外部访问,并可由冗余编码器120使用,以达到低实现复杂度。冗余编码器120使用第一参数集的子集和从第一参数集生成的延迟的量化的参数集(也称为延迟量化的参数),按照期望冗余比特率或比特率控制器142提供的可变比特率,来生成冗余编码。由此,速率可伸缩冗余编码器120所生成的冗余编码可按照分层方式或借助于预测编码来编码。
源信号编码器110(或第一编码器110)所生成的主编码和冗余编码器120所生成的冗余编码通过通信信道或分组交换网络或分组数据网络130传送。对于分组交换网络,主编码和冗余编码可被封装为不同分组或单一分组。对于后一情况,主编码的流或冗余编码的流在封装之前需要延迟。
源信号解码器或第一解码器150接收主编码的流而参数估计器140接收冗余编码的流。然而,一些分组以及因此的一些主编码和/或一些冗余编码可能已被分组数据网络130丢失。对于每一信号块的解码处理,四种不同场景可浮现接收到主编码和冗余编码二者;丢失了主编码,但是接收到冗余编码;接收到主编码,但是丢失了冗余编码;丢失了主编码和冗余编码二者。下面描述用于这些情形中的每一种的适当解码场景。
当仅主编码可用时,第一解码器150可通过在选择器154中选择来自参数解码器152的解码后的参数以用于由源信号重构器156重构源信号,而正常起作用。
当仅冗余编码可用时,参数估计器140基于冗余编码、基于可用过去(和/或将来)参数、并基于关于与聚集(collected)到数据库的参数对应并与源信号类型相关的源编码器参数的分布的先验(prior)信息,而生成丢失参数的估计。在该情况下,选择器154选择要用于重构源信号的估计参数。
当主编码和冗余编码两者可用时,参数估计器140基于冗余编码、基于从主编码解码的当前参数、基于可用过去(和/或将来)参数、并基于关于源编码器参数的分布的先验信息,而生成当前参数的增强估计。选择器154选择要用于重构源信号的估计参数。
当丢失了主编码和冗余编码两者时,参数估计器140基于可用过去(和/或将来)参数并基于关于源编码器参数的分布的先验信息,而生成该估计或丢失参数的估计。选择器154选择也要在该情况下用于重构源信号的估计参数。
图3示出了根据本发明实施例的用于编码信号源的参数的设备120。
图2中示出的用于编码的设备120可等效于将参考图3描述的用于编码的设备120。
冗余编码器120可借助于包括延迟单元290和参数子集预测器250的预测编码结构,来开拓(exploit)先前块的参数矢量,该延迟单元290用于延迟来自第一参数集的由第一编码器110生成的量化后的参数,该参数子集预测器250用于在比特率控制信号的控制下,基于延迟的参数来预测所预测的量化参数集。此外,冗余编码器120包括减法器260和至少一个量化器,该减法器260用于通过从该第一编码器110生成的第一参数集中减去所述所预测的量化参数集,而生成冗余参数,所述至少一个量化器用于在比特率控制信号的控制下量化该冗余参数。最后,熵编码器280在比特率控制信号的控制下对量化后的冗余参数进行编码,由此生成冗余比特流。
在特定实施例中,为了促进冗余比特率的连续可伸缩性,减法器260所获得的冗余参数的编码基于一排(a bank of)均匀标量量化器270。作为选择,量化器270可以是矢量量化器。
在另一特定实施例中,量化器270基于统计模型而工作。这促进将冗余率设置为期望值。在特定实施例中,该模型是高斯混合模型。
冗余编码所花费的比特率对于分组丢失保护来说通常相对较低。这样的低比特率和一排均匀标量量化器270的使用一般导致仅第一参数集(源编码器参数)的子集或源编码器参数的变换集在冗余编码器120中的编码。对于仅参数的子集的需求是参数之间的依赖性和使用的失真标准的函数。例如对于高度相关并经受未加权的平方误差失真标准的参数的情况存在该需求。
在其中第一参数集的参数相同的特定实施例中,按照例如H的速率对参数之一进行编码与按照H/2对两个参数进行编码相比导致显著降低的失真。随着参数之间的依赖性的降低,该论点(argument)的有效性逐步降低。
在其中参数独立的另一特定实施例中,两个参数将不得不按照H/2的速率来编码,以获得最佳速率失真性能。然而,如本领域技术人员公知的那样,在向具有相同边缘分布的参数应用适当变换以使得变换后的参数独立的情况下,存在未变换的参数的依赖性和变换后的参数的子集的重要性之间的类似关系。
参数发生器112生成的还没有量化的参数(即,第一参数集)可由参数变换器230变换。参数变换器230所应用的变换取决于有关源编码器参数的分布以及基础(underlying)失真标准的先验信息。应用变换的目的在于使得参数互相独立,以按照给定平均失真降低冗余比特率,并简化冗余比特率的分布的计算。
在平方误差失真标准的情况下,可应用卡亨南-洛维变换(KLT)。向包括作为参数变换器230的输入的第一参数集(或源编码器参数)的列矢量x应用例如KLT的线性变换,参数变换器230的输出被数学表达为 其中

表示变换后的参数。
特别在第一步骤的参数已互相独立的情况下,或者在可达到仅给定平均失真的冗余比特率的无关紧要的降低的情况下,可跳过变换的应用。通过设置T=I来对跳过变换的应用进行数学表达,其中I代表单位矩阵。
参数变换器230的输出可传递到参数子集选择器240。取决于与该比特率控制器142提供的比特率控制信号对应的冗余比特率分布,参数子集选择器240输出被分配了正的非零冗余比特率的、变换后的参数矢量

的那些元素。在矩阵符号中,参数子集选择器240的操作可表达为 x=PX·x,(2) 其中PX是对应选择矩阵。利用下面图示的示例来描述选择矩阵的形式。对于分配比特率的给定冗余比特率分布,例如,仅变换后的参数矢量的第二和第三元素中的,对应选择矩阵是 另外,可引入索引子集对于以上图示示例的情况,索引子集可表达为S={2,3}。
在特定实施例中,将第一参数集直接提供到参数选择器240,参数选择器240从第一参数集中选择选定参数的子集,并将所选择的未量化的参数的该子集提供到上述减法器,其中经受减法运算的第一参数集是所选择的未量化的参数集。
在实施例中,将该比特率控制信号提供到比特率分发器(distributor)210,比特率分发器210将该比特率控制信号依次提供到参数子集选择器240、参数子集预测器250、量化器270或多个量化器270、和熵编码器280,如图3中所示。然而,可将比特率控制信号从比特率控制器142直接提供到参数子集选择器240、参数子集预测器250、量化器270或多个量化器270、和熵编码器280。
稍后在该文本中将描述冗余比特率分布的计算。
参数量化器114所生成的量化后的参数可在第一编码器110外部访问,以达到低实现复杂度。然而,如果量化后的参数不可访问,则它们需要从主编码生成或从源信号生成的第一参数集(或未量化参数)生成。在特定实施利中,可相对于冗余编码使用主编码延迟单元(图中未示出)来延迟主编码。在另一特定实施例中,可相对于主编码来延迟冗余编码。
一个源信号段的主编码可通过另一源信号段的冗余编码而被分组为要通过分组数据网络130传送的数据分组。
延迟单元290延迟该第一编码器110的参数量化器114所生成的量化后的参数,并且包括延迟的量化后的参数的列矢量用v表示。对于图4中呈现的示例分组结构,对于主编码延迟单元以及对于延迟单元290来说,延迟是一块。延迟的主编码可被直接封装,并不需要连同冗余编码器120生成的冗余一起在封装之前被进一步延迟。优选的是,特定信号块的冗余编码和主编码在不同分组中。
参数子集预测器250从该第一编码器110从第一参数集生成的延迟的量化后的参数中预测变换后的参数的子集。在平方误差失真标准的情况下,最佳预测器是最小均方误差(MMSE)估计器并可被表达为 其中E{·}代表期望运算符。如本领域常用的,矢量的大写字母代表随机变量,而小写字母代表基础随机变量的观察值(observation)。MMSE估计器的近似值可使用例如高斯混合模型(GMM)基于用于联合分布

的模型来实现。在进一步实施例中,可使用替换估计器(例如,线性估计器)用于参数子集预测器250。
减法器260从第一参数集中减去该参数子集预测器250所生成的预测参数集。作为选择,减法器260可从该参数子集选择器240从第一参数集中生成的未量化的选择的参数的子集中减去该参数子集预测器250所生成的预测参数集。作为选择,减法器260可从该参数子集选择器240从第一变换参数集中生成的选择的参数的子集中减去该参数子集预测器250所生成的预测参数集。减法器260的输出是包括冗余参数或预测残差的矢量, 在替换实现中,可跳过预测,即可在没有延迟单元290、没有参数子集预测器250、和没有减法器260的情况下,实现冗余编码器120。在该替换实现中,要由一排均匀标量量化器270用作输入的信号被定义为r=x,并且必须进行参数估计器140的实现的适当改编。
矢量r=[ri],i∈S的元素可以由一排均匀标量量化器270根据以下表达式而进行均匀标量量化
其中Δi是单独均匀标量量化器qi(·)的单独量化步长。该量化步长由冗余比特率分发器210或比特率控制器142根据冗余比特率分布而计算,并可作为时间的函数而改变。这一排均匀标量量化器270的输出是量化后的冗余参数集或标量量化后的预测残差
在特定实施例中,该比特率控制器提供的比特率控制信号包括有关量化步长的信息。此外,比特率控制信号可包括可用于传送数据分组的比特数目。
参考图3描述的冗余编码器120的最后步骤是借助于最好是算术编码器的熵编码器280来对量化后的冗余参数(或标量量化后的预测残差)进行编码。由于冗余比特率是连续可变的,所以熵编码器280在比特率控制信号的控制下(即,按照可伸缩方式)工作。该可伸缩性可通过逼近用于冗余参数分布的一元概率质量函数来达到。用于冗余参数(未量化的预测残差pRi(ri))分布的一元概率密度函数可通过GMM来建模。期望的量化器步长可然后使用用于已知分布的速率和步长之间的公知高速率理论关系来计算。作为冗余编码器120的输出的熵编码器280的输出是代表冗余编码的可变长度比特序列。
图4示出了根据本发明实施例的分组结构,该分组结构可在参考图1-3和5描述的实施例中使用。
假设块的冗余编码和相对于冗余编码的块延迟一块的块的主编码被一起封装或重组在单一分组310中。单一分组310的总有效载荷包括分组的指定用于主编码的有效载荷的部分312和分组的指定用于冗余编码的有效载荷的部分314。
在本发明中可使用其他分组结构。例如,可使用包括以下替换中的任一个的分组结构块的主编码、以及对于主编码的块之后的两块、或对于主编码的块之前的两块、或对于主编码的块之前的一块和主编码的块之后的一块提供冗余的两个冗余编码。冗余编码器120然后不得不因此被改编。
图4特别示出了用于分组丢失场景的示例,其中示出了两个连续分组,单一分组310和单一分组310之后的单一分组320。在该示例中,假设网络130丢失了后面的分组。
图5示出了根据本发明实施例的用于对越过分组数据网络传送的数据分组进行解码的设备。
图5中示出的用于解码的设备可对参考图4描述的数据分组(即包括块n-1的主编码和块n的冗余编码的单一分组310)进行解码。
接收的冗余编码由熵解码器420解码,熵解码器420输出解码后的冗余参数。关于以上参考图3描述的熵编码器280,熵解码器420需要以可伸缩速率工作。
接收的主编码由参数解码器152解码。参数解码器152生成的解码后的主参数可在源信号解码器150外部访问,以达到低实现复杂度。如果解码后的参数不可访问,则将需要从接收的主编码中生成它们。
在特定实施例中,缓冲器或存储部件450可接收解码后的主参数并存储它们,使得它们可用于当前以及接下来的Np-1个编码块。缓冲器或存储部件450的输出是用于块n-Np、n-(Np-1)、...、n-2、n-1的解码后的参数矢量的集合以及用于这些块中的每一块的可用性的指示。该输出由第二级估计器470用作输入。可能由甚至更早块、或如下所述块n之后的块的参数作为自变量的块n-1的解码后的主参数矢量由参数子集预测器440使用,以预测预测参数的子集。参数子集预测器440的运算等效于参数子集预测器250的运算。加法器460通过将该熵解码器420生成的解码后的冗余参数与该参数子集预测器440的输出相加,而重构参数子集。加法器460所输出的相加后的参数集被表示为

并由第二级估计器470用作另一输入。
如果通信系统的接收方具有抖动缓冲器或涉及进一步延迟的类似机制,则参数估计器140可访问与丢失的分组进一步相关的数据分组。从来自这些进一步分组的主编码获得的解码后的参数矢量可用作第二级估计器470的附加输入。在参数估计器140的替换实施例中,可扩展缓冲器或存储部件450的功能,以存储过去以及将来的解码后的主参数,使得缓冲器450的输出是用于块n-Np、...、n+Nf的解码后的参数矢量的集合、以及向第二级估计器470告知这些块中的哪些块可用(即,未丢失)的指示。
在特定实施例中,第二级估计器470使用来自块n-Np、...、n+Nf的主编码的解码后的参数、连同这些块中的每一块的可用性的指示、和重构的块n的均匀标量量化的参数子集作为输入。第二级估计器470的输出是块n的源编码器参数矢量的估计,即冗余编码。这允许第二级估计器470在几种丢失场景中使用。取决于来自块n的主编码的解码后的参数是丢失还是可用,第二级估计器470的输出是丢失的源编码器参数矢量的估计或接收的源编码器参数矢量的增强版本。
在平方误差失真标准的情况下,最佳估计器是MMSE估计器 其中y是组合来自块n-Np、...、n+Nf的主编码的所有可用解码参数矢量(所述矢量由列超矢量w表示)和块n的重构的均匀标量量化后的变换参数子集(所述子集由列矢量

表示)的列超矢量。列超矢量是可以作为列矢量的元素的垂直级联。MMSE估计器的近似值可基于用于联合分布pXY(x,y)的模型来实现。由于Y取决于丢失场景(即,哪些块在当前丢失场景中可用)以及冗余比特率,所以从单一静态GMM动态生成用于当前丢失场景以及冗余比特率的分布pXY(x,y)。
单一GMM对随机超矢量Z的分布进行建模,该随机超矢量Z组合Np+Nf+1个连续块n-Np、...、n+Nf的未量化的源编码器参数的矢量(即,参数发生器112在编码块n处生成的第一参数集)和量化的源编码器参数矢量(参数量化器114生成的量化后的参数) 是具有索引m的多元高斯密度,其具有均值μ(m)、协方差矩阵C(m)、和先验概率pC(m)。GMM的参数μ(m)、C(m)、和pC(m),必须使例如EM算法的适当算法来训练。
从pZ(z)生成pXY(x,y) 矢量X是超矢量Z的分量,即, X=PX·Z(7) 其中PX是提取Z的适当元素以形成X的对应选择器矩阵。超矢量Y是W和

的级联。即, 超矢量W是超矢量Z的分量。即, W=PW·Z(9) 其中PW是提取Z的适当元素以形成X的对应选择器矩阵。可通过以下公式从X生成矢量
其中N是对量化效果进行建模的加性噪声。稍后在该文本中更详细地描述该加性噪声。
使用公式(7)、(9)和(10),公式(8)可被写作 其中O是其元素为零的列矢量。O与W具有相同维数dimO=dimW。为了标示简便性,矩阵PY被引入并定义为 通过与所有其他随机变量独立的加性、零均值、高斯噪声,而对于GMM的每一混合分量,来建模这一排均匀标量量化器270的效果。逼近第二级估计器470中的MMSE估计所需的用于建模pXY(x,y)的GMM的参数是均值矢量 和(13) 和协方差矩阵 和(16)

是包括加性噪声方差的列矢量。在下面计算冗余比特率分布的子部分中描述这些加性噪声方差的计算(见公式(27))。
在给定Y的情况下估计X的方程(5)的MMSE估计器的基于GMM的逼近是 其中(18) 和(19) 为了达到低实现复杂度,参数子集预测器440和参数子集预测器250所需要的分布

也可从建模pZ(z)的单一GMM中生成。使用关系 X=PX·T·PX·Z(21) 和 V=PV·Z,(22) 其中PV是提取Z的适当元素以形成V的对应选择器矩阵,可容易地实现公式(3)的MMSE估计器的逼近。
下面描述冗余比特率分布的计算。只要给定总冗余比特率改变,就不得不重新计算冗余比特率分布。当分组结构改变时,也可重新计算冗余比特率分布。可由冗余比特率分发器210和410或比特率控制器142来执行该计算,这些分发器或控制器可安排在冗余编码器120或参数估计器140处。
给定总冗余比特率由H标示。该文本中使用的所有比特率是以比特/块表达的平均比特率。计算冗余比特率分布意味着计算对

的元素

进行编码所花费的单独比特率Hi的集合。所有单独速率之和是总速率 其是在计算速率分布时的约束。如先前阐明的,一般来说,对变换的源编码器参数的子集(即,从第一参数集生成的预测参数的子集)进行编码,以形成冗余编码。由此,一些Hi可以是零。冗余比特率分发器210和410或比特率控制器142的一个输出可以是索引子集 在独立参数的情况下,可应用导出冗余比特率分布的不同方法。
如果对从属参数进行编码,则可基于高斯模型(即,M=1)导出冗余比特率分布。对于高斯模型,MMSE估计是并且估计误差方差是MSE=trCX|Y=trCX|W-MSEΔ。MSEΔ是由于除了估计器侧信息W之外具有

而导致误差方差的降低。应注意的是,对于冗余比特率分布的计算,估计器侧信息W代表用于给定分组结构和网络条件典型场景的已知随机变量。在最简单的情况下,参数子集仅包括

的单一元素

仅单一元素的编码可以是对实现复杂度的约束的结果。单一编码的元素的重构被建模为一旦应用了用于分块矩阵的求逆引理以及跟踪的简化,误差方差的降低就被重写为
通过i*=argmaxiMSEΔ.而容易地发现最佳单一变量

加性噪声方差

是编码单一元素所花费的速率的函数(见下面的方程(25))。
以上使用的模型中的加性噪声不代表这一排均匀标量量化器270产生的实际量化噪声。然而,当选择噪声方差使得高斯变量和其噪声版本之间的交互信息等于量化的高斯的熵时,获得与利用速率失真理论的传统后向信道模型获得的结果相同的结果。
为了解释(account for)量化之前的预测,加性噪声方差

的计算不得不基于取代

的预测残差Ri的属性。对于高斯模型,残差也是具有方差的高斯,并且公式(24)中的加性噪声方差通过下式计算 由于预测编码导致的速率节省是 公式(24)的形式指示对于较高速率的估计性能的饱和(或等效地用于所以,对于较高速率,应编码具有更多变量的子集。为了发现最佳子集和冗余比特率分布,公式(24)被修改并按照迭代方式使用。公式(24)中的W由组合估计器侧信息W和除了

之外的所有变换参数的Wi代替。然后获得MSEΔ(Hi)作为熵Hi的函数,而认为所有其他熵Hj≠i是固定的。公式(24)的形式允许导出用于矢量

的所有元素的斜率

然后在公式(23)和Hi≥0给定的约束下,速率从具有最平坦斜率的变量到具有最陡峭斜率的变量来按照迭代方式重新分布。该过程迅速收敛(converges)到其中具有非零比特率的变量的斜率相等的冗余比特率分布。然后从冗余比特率分布容易地获得索引子集S。
冗余比特率分发器210和410或比特率控制器142所输出的比特率控制信号可包括这一排均匀标量量化器270的量化步长Δi。这些量化步长也由熵编码器280和熵解码器420获取。基于用于预测残差Ri的统计模型来确定量化步长。对于给定分配的比特率Hi,选择对应单独量化步长Δi,使得量化残差的熵等于分配的比特率H(qi(Ri))=Hi。由于系统典型地以相对低的速率工作,所以可使用用于量化器步长和熵的查找表。按照较高速率,可使用高速率逼近。
在特定实施例中,冗余比特率分发器410或比特率控制器可向第二级估计器470提供包括加性噪声方差

的比特率控制信号。
可不需要包括预测残差Ri的超矢量Z的统计模型,但是基于具有步长Δ’i的虚拟均匀标量量化器q′i(·)来计算公式(17)中使用的加性噪声方差,使得 H(q′i(Xi))=Hi+H′i 按照足够高的分辨率,可通过本领域公知的高速率逼近来获得量化后的高斯的熵

作为虚拟步长Δ’i的函数,并且按照消散(vanishing)速率,可使用查找表。
尽管上面已结合本发明的优选实施利而描述了本发明,但是对于本领域技术人员来说明显的是,可想到几种修改,而不脱离以下权利要求限定的本发明的范围。
权利要求
1.一种用于编码要越过分组数据网络(130)传送的源信号的设备,该设备包括
第一编码器(10),用于从所述源信号生成第一参数集,并用于执行所述第一参数集的主编码;
冗余编码器(120),用于使用所述第一参数集的子集和该第一编码器(10)从所述第一参数集生成的延迟的量化参数,来执行所述源信号的第二参数集的冗余编码,其中该冗余编码器(120)适于将该第二参数集编码为具有可变比特率的冗余比特流,该可变比特率对应于接收的比特率控制信号;和
比特率控制器(142),用于响应于从与所述分组数据网络(130)相连的分组丢失统计计算器(135)接收的分组丢失统计值,来提供该比特率控制信号。
2.根据权利要求1的设备,其中所述比特率控制器(142)响应于所述分组丢失统计值和有关所述分组数据网络(130)的条件的信息两者,来提供该比特率控制信号。
3.根据权利要求2的设备,其中所述有关所述分组数据网络(130)的条件的信息包括以下网络参数中的至少一个所述分组数据网络中的当前数据负荷、所述分组数据网络的数据负荷方针、和所述分组数据网络中的每秒每比特的当前成本。
4.根据前述权利要求中的任一个的设备,其中所述冗余编码器(120)适于对该第一参数集的所述子集和所述延迟的量化参数的预测值之间的差别的至少一部分进行编码。
5.根据前述权利要求中的任一个的设备,其中所述分组丢失统计计算器(135)通过计数遗漏的分组来估计分组丢失统计值。
6.根据前述权利要求中的任一个的设备,其中所述冗余编码器(120)包括
延迟单元(290),用于延迟该第一编码器(110)从该第一参数集生成的量化参数,
参数预测器(250),用于在该比特率控制信号的控制下,基于延迟的量化参数来预测所预测的量化参数集,
减法器(260),用于通过从该第一编码器(110)生成的第一参数集的子集中减去所述所预测的量化参数集,来生成冗余参数,
至少一个量化器(270),用于在该比特率控制信号的控制下,量化所述冗余参数,和
熵编码器(280),用于在该比特率控制信号的控制下,将量化的冗余参数编码为所述冗余比特流。
7.根据权利要求6的设备,其中所述至少一个量化器(270)是矢量量化器。
8.根据权利要求6的设备,其中所述至少一个量化器(270)是标量量化器。
9.根据权利要求6-8中的任一个的设备,其中所述至少一个量化器(270)基于统计模型操作。
10.根据权利要求9的设备,其中所述统计模型是高斯混合模型。
11.根据权利要求6-10中的任一个的设备,其中所述冗余编码器(120)还包括参数选择器(240),用于在该比特率控制信号的控制下,从所述第一编码器(110)生成的所述第一参数集中选择该第一参数集的所述子集。
12.根据权利要求11的设备,其中所述冗余编码器(120)还包括参数变换器(230),用于变换所述第一编码器(110)生成的该第一参数集的所述子集,以降低所述参数之间的相互依赖性,并用于将变换后的参数提供到所述参数选择器(240)。
13.根据权利要求12的设备,其中所述参数变换器(230)向所述第一参数集应用的变换是卡亨南-洛维变换。
14.根据前述权利要求中的任一个的设备,其中该比特率控制信号包括可用于传送数据分组的比特数目。
15.根据权利要求6-14中的任一个的设备,其中向所述至少一个量化器和所述熵编码器(280)提供的比特率控制信号包括有关量化步长的信息。
16.根据前述权利要求中的任一个的设备,其中一个源信号段的主编码利用另一源信号段的冗余编码而被分组为要通过所述分组数据网络(130)传送的数据分组。
17.根据前述权利要求中的任一个的设备,其中所述源信号是包括语音信号、音频信号、动画和视听信号的组中的一个。
18.一种用于解码越过分组数据网络(130)传送的数据分组序列的设备,其中所传送的数据分组中的每一个包括代表源信号的参数的主编码和冗余编码,该设备包括
第一解码器(150),用于执行将主编码解码为主解码后的参数集的解码;
参数估计器(140),用于在比特率控制信号的控制下,对估计参数集和从接收的冗余编码生成的解码后的冗余参数集的联合分布进行建模,并用于基于建模的分布来估计所述估计参数;和
比特率控制器(142),用于响应于从与所述分组数据网络(130)相连的分组丢失统计计算器(135)接收的分组丢失统计值,来提供该比特率控制信号。
19.根据权利要求18的设备,其中该比特率控制信号包括代表解码后的冗余参数的量化噪声的加性噪声方差。
20.根据权利要求18或19的设备,其中所述估计参数是所述解码后的主参数集的遗漏参数。
21.根据权利要求18-20中的任一个的设备,其中应用到参数分布的模型是高斯混合模型。
22.根据权利要求18-21中的任一个的设备,其中所述比特率控制器(142)响应于所述分组丢失统计值和有关所述分组数据网络(130)的条件的信息两者,来提供该比特率控制信号。
23.根据权利要求22的设备,其中所述有关所述分组数据网络(130)的条件的信息包括以下网络参数中的至少一个所述分组数据网络中的当前数据负荷、所述分组数据网络的数据负荷方针、和所述分组数据网络中的每秒每比特的当前成本。
24.根据权利要求18-23中的任一个的设备,其中所述参数估计器(140)包括
熵解码器(420),用于在所述比特率控制信号的控制下,生成解码后的冗余参数集;
参数子集预测器(440),用于在所述比特率控制信号的控制下,从解码后的主参数集预测预测参数的子集;
加法器(460),用于通过所述解码后的冗余参数集与所述预测参数的子集的相加,来生成相加后的参数的集合;和
第二级估计器(470),用于在所述比特率控制信号的控制下,响应于所述相加后的参数的集合来估计该估计参数集。
25.根据权利要求24的设备,其中所述参数估计器(140)还包括存储部件(450),用于存储从与以下信号段对应的主编码生成的解码后的参数,该信号段和对应于接收的主编码的信号段相比位于过去和/或将来,其中所述第二级估计器(470)适于对估计参数集、解码的冗余参数集和所述相加后的参数的集合的联合分布进行建模,并基于建模的分布来估计所述估计参数集。
26.根据权利要求18-25中的任一个的设备,还包括信号重构器(156),用于响应于解码的主参数的集合和估计参数集,来生成重构信号。
27.根据权利要求24-26中的任一个的设备,其中所述熵解码器(420)是矢量解码器。
28.根据权利要求24-26中的任一个的设备,其中所述熵解码器(420)是算术解码器。
29.根据权利要求24-28中的任一个的设备,其中所述第二级估计器(470)基于最小均方误差估计而操作。
30.根据权利要求29的设备,其中所述估计基于高斯混合模型。
31.根据权利要求18-30中的任一个的设备,其中所述源信号是包括语音信号、音频信号、动画和视听信号的组中的一个。
32.一种用于越过分组数据网络(130)传送数据分组序列的系统,其中所传送的数据分组中的每一个包括代表源信号的参数的主编码和冗余编码,所述系统包括根据权利要求1-17中的任一个的用于编码的设备和根据权利要求18-31中的任一个的用于解码的设备。
33.一种用于编码要越过分组数据网络(130)传送的源信号的方法,所述方法包括步骤
执行从所述源信号生成的第一参数集的主编码;
执行将该第二参数集编码为具有可变比特率的冗余比特流的冗余编码,其中该第二参数集是从该第一参数集的子集和从所述第一参数集生成的延迟的量化参数生成的,该可变比特率对应于接收的比特率控制信号;和
响应于所述分组数据网络(130)的分组丢失统计值特性,来提供该比特率控制信号。
34.根据权利要求33的方法,其中响应于所述分组丢失统计值和有关所述分组数据网络(130)的条件的信息两者,来提供该比特率控制信号。
35.根据权利要求34的方法,其中所述有关所述分组数据网络(130)的条件的信息包括以下网络参数中的至少一个所述分组数据网络中的当前数据负荷、所述分组数据网络的数据负荷方针、和所述分组数据网络中的每秒每比特的当前成本。
36.根据权利要求33-35中的任一个的方法,其中在所述执行冗余编码的步骤期间,对该第一参数集的所述子集和所述延迟的量化参数的预测值之间的差别的至少一部分进行编码。
37.根据权利要求33-36中的任一个的方法,其中所述分组丢失统计值对应于遗漏的分组的数目。
38.根据权利要求33-37中的任一个的方法,其中所述执行冗余编码的步骤包括以下步骤
延迟从该第一参数集生成的量化参数;
在该比特率控制信号的控制下,基于延迟的量化参数来预测所预测的量化参数集;
通过从该第一参数集的所述子集减去所预测的量化参数集,来生成冗余参数,
在该比特率控制信号的控制下,量化所述冗余参数,和
在该比特率控制信号的控制下,将量化的冗余参数编码为所述冗余比特流。
39.根据权利要求38的方法,其中所述用于量化所述冗余参数的步骤是矢量量化。
40.根据权利要求38的方法,其中所述用于量化所述冗余参数的步骤是标量量化。
41.根据权利要求37-40中的任一个的方法,其中所述执行冗余编码的步骤还包括在该比特率控制信号的控制下、从所述第一参数集中选择该第一参数集的所述子集的步骤。
42.根据权利要求41的方法,其中所述执行冗余编码的步骤还包括在选择未量化参数的子集的步骤之前、变换该第一参数集的所述子集以降低参数之间的相互依赖性的步骤。
43.根据权利要求42的方法,其中所述变换步骤基于卡亨南-洛维变换。
44.根据权利要求33-43中的任一个的方法,其中该比特率控制信号包括可用于传送数据分组的比特数目。
45.根据权利要求33-44中的任一个的方法,其中该比特率控制信号包括有关量化步长的信息。
46.根据权利要求33-45中的任一个的方法,还包括将一个源信号段的主编码利用另一源信号段的冗余编码而分组为要通过所述分组数据网络(130)传送的数据分组的步骤。
47.根据前述权利要求中的任一个的设备,其中所述源信号是包括语音信号、音频信号、动画和视听信号的组中的一个。
48.一种用于解码越过分组数据网络(130)传送的数据分组序列的方法,其中所述传送的数据分组中的每一个包括代表源信号的参数的主编码和冗余编码,所述方法包括步骤
执行将该主编码解码为主解码后的参数集的解码;
在比特率控制信号的控制下,对估计参数集和从接收的冗余编码生成的解码后的冗余参数集的联合分布进行建模;
基于建模的分布来估计所述估计参数;和
响应于所述分组数据网络(130)的分组丢失统计值特性,来提供该比特率控制信号。
49.根据权利要求48的方法,其中该比特率控制信号包括代表解码后的冗余参数的量化噪声的加性噪声方差。
50.根据权利要求48或49的方法,其中所述估计参数是所述解码后的主参数集的遗漏参数。
51.根据权利要求48-50中的任一个的方法,其中应用到参数分布的模型是高斯混合模型。
52.根据权利要求48-51中的任一个的方法,其中响应于所述分组丢失统计值和有关所述分组数据网络(130)的条件的信息两者,来提供该比特率控制信号。
53.根据权利要求52的方法,其中所述有关所述分组数据网络(130)的条件的信息包括以下网络参数中的至少一个所述分组数据网络中的当前数据负荷、所述分组数据网络的数据负荷方针、和所述分组数据网络中的每秒每比特的当前成本。
54.根据权利要求48-53中的任一个的方法,还包括步骤
在所述比特率控制信号的控制下,生成解码后的冗余参数集;
在所述比特率控制信号的控制下,从解码后的主参数集预测预测参数的子集;
通过所述解码后的冗余参数集与所述预测参数的子集的相加,来生成相加后的参数的集合;和
在所述比特率控制信号的控制下,响应于所述相加后的参数的集合来估计估计参数集。
55.根据权利要求54的方法,还包括步骤
存储从与以下信号段对应的主编码生成的解码后的参数,该信号段和对应于接收的主编码的信号段相比位于过去和/或将来;
在比特率控制信号的控制下,对估计参数集、解码的冗余参数集和存储的参数的联合分布进行建模;和
基于建模的分布来估计所述估计参数。
56.根据权利要求48-55中的任一个的方法,还包括重构步骤,用于响应于解码的主参数的集合和该估计参数集,来生成重构信号。
57.根据权利要求48-56中的任一个的方法,其中该估计步骤基于最小均方误差估计。
58.根据权利要求57的方法,其中所述估计基于高斯混合模型。
59.根据权利要求48-58中的任一个的方法,其中所述源信号是包括语音信号、音频信号、动画和视听信号的组中的一个。
全文摘要
提供了一种用于越过分组数据网络传送代表源信号的数据分组的系统。该编码器包括第一编码器(110)和冗余编码器(120)。利用连续可伸缩的比特率生成冗余编码,该比特率由使用来自网络(130)的输入和分组丢失率信息的比特率控制器(142)提供。在解码器处,参数估计器部分地基于从使用来自先前和/或将来块的信息的第一编码器传送的信息,并另外基于冗余信息,而执行恢复。该方法可被添加到现有有损源编码系统或可用于甚至在没有分组丢失的场景中增强重构的源信号的质量。
文档编号G10L19/00GK101779377SQ200880020015
公开日2010年7月14日 申请日期2008年4月4日 优先权日2007年4月13日
发明者克里斯琴·费尔德鲍尔, 威廉·B·克莱恩 申请人:环球Ip解决方法(Gips)有限责任公司, 环球Ip解决方法股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1