Fgs/pfgs视频位流的包装化的制作方法

文档序号:7592229阅读:176来源:国知局
专利名称:Fgs/pfgs视频位流的包装化的制作方法
技术领域
本发明涉及数据包装化,尤其涉及精细粒度可测量(FGS)位流和渐进精细粒度可测量(PFGS)位流的包装化。
背景技术
由于网络(例如,因特网)上的多媒体流动的日益普及,流动性能成为一个重要的事项。通常,有两个因素会影响流动性能。第一个因素是可用的网络带宽可能会根据网络信息流通量、随时间的推移而变化。第二个因素是由于当前因特网的尽力性质,当前的传递过程不是没有错误的。这导致在传输期间偶尔会丢失数据包。由于普通视频编码方法的性质,对于一个数据包中的数据而言,依靠先前数据包中所包含的数据是很普通的,相应地,当没有接收数据包时,流动视频的性能会受到损害。
可以执行各种视频编码方法来处理第一个事项——改变可用带宽的事项。这类方法包括精细粒度可测量(FGS)编码方案、基于帧的渐进精细粒度可测量(PFGS)编码方案以及基于宏块的PFGS编码方案,其中的每种方案都在适应可用带宽变化的方面对先前的事物进行了改进。虽然FGS/PFGS编码方法可以有效地改善具有不定带宽的网络上的流动视频的性能,但是,它们没有处理由丢失的数据包引起的性能减弱。
独立的开发工作也已着重于用于改善网络上的数据包传递的方法。这项工作示出性能改进与数据包之间的相关程度有相反的关系。也就是说,与彼此深深依靠的数据包流相比,彼此不依靠的数据包流会产生更强大的性能。
相应地,需要建立一种用于包装FGS/PFGS编码视频位流的方法,以便将所产生的数据包之中的相关性减到最小。

发明内容
描述了用于将数据包之间的相关性减到最小的FGS/PFGS视频位流的包装化。视频编码系统根据FGS/PFGS编码方案来为视频流编码,从而产生编码位流信息段。然后,根据每个位流信息段对失真减少的全部作用,并根据可用带宽来选择这些编码位流信息段的集合。然后,将所选择的位流信息段包装成数据包,以便将数据包之间的相关性减到最小。


在全部这些附图中使用相同的数字来提及相似的特点和部件。
图1展示了其中可以执行FGS/PFGS视频流的包装化的示范视频编码系统。
图2展示了精细粒度可测量(FGS)编码方案的示范结构。
图3展示了具有两种参考的基于帧的渐进精细粒度可测量(PFGS)编码方案的示范结构。
图4展示了基于宏块的PFGS编码方案的示范结构。
图5展示了由FGS或PFGS编码方案生成的位平面之间的相关性。
图6展示了根据基线包装化策略的两个帧的包装化。
图7展示了用于估计与PFGS位流信息段关联的漂移抑制的错误传播模型。
图8展示了根据二进制树形网络包装化策略的两个帧的包装化。
图9展示了根据基于宏块的包装化策略的几个帧的包装化。
图10展示了用于对视频位流进行编码和包装的示范方法。
图11展示了一种示范方法,该示范方法用于搜集与编码视频位流关联的数据,以支持将要被包装的位流信息段集的选择。
图12展示了用于选择将要被包装的位流信息段集的示范方法。
具体实施例方式
下文针对精细粒度可测量(FGS)视频位流和渐进精细粒度可测量(PFGS)视频位流的包装化,以便将带宽波动和传递过程错误的影响减到最小。FGS和PFGS编码方案处理带宽波动的负面影响,而最佳传递机制着重于通过将该传递过程期间所引入的错误减到最少,来改善流动性能。与数据包之中的相关性更多的位流相比,数据包之中的相关性较少的位流所产生的传递错误的传播减少了。所以,通过优化FGS/PFGS编码位流的包装化,以减少数据包之中的相关性,可以协作地结合带宽适应和最佳传递。
示范的系统结构和方法图1展示了可以被用来对视频位流进行编码和包装的示范流动视频系统100。流动视频系统100包括视频编码计算机系统102以及通过网络106被连接到计算机系统102的一个或多个客户设备104。视频编码计算机系统102根据FGS或PFGS编码方案来为视频流编码,并且根据包装化方案来对该编码视频流进行包装,以便将数据包之间的相关性减到最小。然后,经由网络106将包含该编码视频流的数据包108传送到客户设备104。
视频编码计算机系统102包括处理器110、网络接口112和存储器114。网络接口121提供一种机制,用于允许视频编码计算机系统102经由网络106与客户设备104进行通信。FGS/PFGS编码器116、位流选择器118和数据包发生器120被存储在存储器114中,并在处理器110上被加以执行,以促进流动视频的编码和包装化。
FGS/PFGS编码器116根据FGS或PFGS编码方案来为所接收的视频流编码。在示范实施中,FGS/PFGS编码器116作为基于宏块的PFGS编码器来加以执行。作为选择,FGS/PFGS编码器116可能作为基于帧的PFGS编码器来加以执行,也可能作为FGS编码器来加以执行。位流选择器118确定与网络106关联的可用带宽,并且根据每个位流的位置(帧、位平面和宏块)、所要求的位速率和对失真减少的全部作用来选择较佳的编码位流信息段集。数据包发生器120根据包装化策略来对所选择的编码位流信息段集进行包装,从而生成具有数据包之间的最小相关性的数据包。
客户设备104被配置成接收由视频编码计算机系统102生成和传送的数据包,并为这些数据包解码。客户设备104包括处理器122、网络接口124和存储器126。网络接口124促进从网络106接收数据包108。
FGS/PFGS解码器128连同其他应用程序130被存储在存储器126中,并在处理器122上被加以执行。FGS/PFGS解码器128被配置成根据由FGS/PFGS编码器116执行的相同的FGS/PFGS编码方案,来为所接收的编码数据包108解码。其他应用程序130可以包括用于使用显示设备(未示出)来显示或呈现该解码视频流的应用程序。
流动视频编码方法图2-4展示了用于为视频位流编码的三种示范方法。精细粒度可测量(FGS)编码方案产生两个位流低质量基极层和高质量增强层。可以从先前帧的该基极层中预测FGS编码帧。以下参照图2来进一步详细地描述示范的FGS编码方案。
基于帧的渐进精细粒度可测量(PFGS)编码方案也产生低质量基极层和高质量增强层。在PFGS编码位流中,可以从先前帧(被称作“参考帧”)的该基极层中预测帧的基极层,而可以从该参考帧的增强层中预测这个帧的该增强层。为了将可能由丢失的或未被传送的高质量参考位流引起的错误传播减到最少,可以选择性地从先前的低质量参考中重建高质量参考。以下参照图3来进一步详细地描述示范的基于帧的PFGS编码方案。
通过利用三种编码模式和用于为每个增强层宏块选择将要使用的编码模式的决策机制,基于宏块的PFGS编码方案对所描述的基于帧的PFGS编码方案进行改进。以下参照图4来进一步详细地描述示范的基于宏块的PFGS编码方案。
精细粒度可测量(FGS)编码方案图2展示了FGS编码方案的示范结构。FGS是导致可以根据可用带宽来任意截取的位流的编码方案,以便该位流的每个截取版本仍然可以被充分解码。如图2所示,FGS编码器生成两个位流该基极层(由块202(1)、202(2)、202(3)、202(4)、......表示)和这些增强层(由块204(1)、204(2)、204(3)、204(4)、...、206(1)、206(2)、206(3)、206(4)、...、208(1)、208(2)、208(3)、208(4)、......表示)。
通过其他分层编码技术中很普遍的传统的运动补偿离散余弦变换(DCT)来为基极层202编码。基极层202通常具备低质量,并且不足以确保它将会适应甚至非常小的带宽。原来的DCT系数与被解除量化(dequantized)的基极层DCT系数之间的残余形成该增强位流(204、206、208、......),使用位平面编码技术来为其编码,以产生嵌入位流。在FGS编码位流中,从参考帧的最低质量基极层的重建版本对预测帧中的该基极层和所有增强层进行编码。
基于帧的PFGS编码方案图3展示了具有两种参考的基于帧的渐进精细粒度可测量(PFGS)编码方案的示范结构。PFGS是通过从参考帧的增强层中预测一片或多片帧的增强层来对FGS进行改进的编码方案,同时继续从该参考帧的基极层中预测该帧的基极层。例如,如图3所示,从第一个帧的基极层302(1)中预测第二个帧302(2)的基极层,并从第一个帧的增强层308(1)中预测第二个帧的增强层304(2)、306(2)、308(2)、......。同样,从第二个帧的基极层302(2)中预测第三个帧302(3)的基极层,并从第二个帧的增强层306(2)中预测第三个帧的增强层304(3)、306(3)、308(3)、......。由于帧的质量在增强层处比它在该基极层处要高,因此,基于帧的PFGS编码方案提供比FGS方案更精确的运动预测,这样,提高了编码效率。
但是,当传送PFGS编码位流时,由于可用带宽的减小所引起的截断,可能会部分或完全丢失用于预测未来帧的高质量增强层参考。在这种情况下,该解码器将必须使用败坏的高质量参考或低质量基极层参考来预测这些未来帧。由于该编码器使用过高质量参考来预测这些未来帧,因此,将很有可能会引入漂移错误。为了减少这些漂移错误,该PFGS编码方案也并入基本漂移控制方法;如果不具备先前的高质量参考,则该方法可选择性地从先前的低质量参考中重建高质量参考。例如,如图3所示,如果增强层308(2)在传输期间败坏或丢失,则选择性地从帧1的基极层302(1)和增强层308(1)中重建新的高质量参考306(2)。
基于宏块的PFGS编码方案基于宏块的渐进精细粒度可测量(PFGS)编码是通过利用三种编码模式和用于为每个增强层宏块选择将要应用的编码模式的决策机制来对基于帧的PFGS进行改进的编码方案。这三种模式是低预测低重建(LPLR)、高预测低重建(HPLR)和高预测高重建(HPHR)。当与该FGS编码方案和基于帧的PFGS编码方案进行比较时,通过有选择地为将要被编码的每个宏块挑选合适的模式,可以按低位速率来减少漂移错误,并按中等位速率和高位速率来提高编码效率。
图4展示了基于宏块的PFGS编码方案的LPLR模式、HPLR模式和HPHR模式。使用该LPLR模式来为宏块404编码,使用该HPLR模式来为宏块406编码,并使用该HPHR模式来为宏块408编码。在图4中,预测用实心箭头记号表示,重建用空心箭头记号表示。
根据基于宏块的PFGS编码方案的LPLR模式,从先前的低质量参考中预测并重建增强层宏块。这一点由宏块402(该参考)与宏块404(正在被编码的宏块)之间的关系来展示。基极层404(1)和增强层404(2)、404(3)、404(4)、......都从基极层402(1)(它是低质量参考)中被加以预测。另外,也可以从基极层402(1)(由该空心箭头记号指出)中重建增强层404(3),用作对未来宏块的参考。
根据基于宏块的PFGS编码方案的HPLR模式,从先前的高质量参考中预测增强层宏块,但从先前的低质量参考中重建增强层宏块。这一点由宏块404(该参考)与宏块406(正在被编码的宏块)之间的关系来展示。从基极层404(1)中预测基极层406(1),基极层404(1)是低质量参考;而从增强层404(3)中预测增强层406(2)、406(3)、406(4)、......,增强层404(3)是高质量参考。从基极层404(1)(由该空心箭头记号指出)中重建增强层406(3),用作对未来宏块的参考。
根据基于宏块的PFGS编码方案的HPHR模式,从先前的高质量参考中预测并重建增强层宏块。这一点由宏块406(该参考)与宏块408(正在被编码的宏块)之间的关系来展示。如在该LPLR模式和HPLR模式中,从基极层406(1)中预测基极层408(1)。从增强层406(3)中预测增强层408(2)、408(3)、408(4)、......,增强层406(3)是高质量参考。另外,从增强层406(3)(由该空心箭头记号指出)中重建增强层408(3),用作对未来宏块的参考。
基线包装化策略如上所述,FGS、基于帧的PFGS和基于宏块的PFGS是处理带宽波动的负面影响的编码方案。但是,所描述的编码方案没有提供用于将传递期间数据包丢失所引起的错误影响减到最小的方法。
图5展示了FGS/PFGS位平面之间的相关性。根据图5中所展示的这些相关性,只有当位流信息段的所有起源(即属于同一宏块但在较低的位平面中的位流信息段)都被接收并被成功解码时,该位流信息段才可以解码。例如,只有当位流502被接收并被成功解码时,位流504才可以解码。同样,只有当位流502、504和506被接收并被成功解码时,位流508才可以解码。
图6展示了根据基线包装化策略的两个帧的包装化,这导致重要的数据包相关性。通过按光栅扫描顺序(从最重要的位平面到最不重要的位平面并且在每个位平面内从左到右)对FGS/PFGS编码位流信息段进行扫描和分组,所展示的基线包装化策略生成数据包。无论何时达到预定的数据包长度,就可形成数据包,并且,在新的数据包中包装该位流的任何剩余部分。
结果,如图6所示,数据包P1、P3、P4、P6、P7、P10、P11、P12和P13都包括与帧1关联的数据。同样,数据包P1、P2、P4、P5、P7、P8、P9、P13、P14、P15和P16都包括与帧2关联的数据。此外,数据包P1、P4、P7和P13都包含与帧1关联的数据以及与帧2关联的数据。
如图5所示,考虑FGS/PFGS位平面之间的相关性,然后可以作出结论如果数据包P1没有被成功接收和解码,则数据包P3中的数据和数据包P4中的至少部分数据是无用的。同样,如果数据包P1、P3和/或P4没有被成功接收和解码,则数据包P6和P7中所包含的数据是无用的。这一点可以另外被推断如下如果数据包P1丢失,那么,由于数据包P3、P6、P10、P11和P12依靠数据包P1,因此,即使它们被成功接收,它们也不可以解码。这个丢失的数据包也损害数据包P4,数据包P4可能可以或可能不可以局部解码,这取决于该解码器的实施。数据包P4的沾染也传播到数据包P7、P8、P9、P13、P14、P15和P16。结果,数据包P1的丢失可能会致使除数据包P2和P5以外的其他所有数据包无用。
根据所描述的基线包装化策略而生成的数据包之间的重要相关性的产生原因部分是因为没有用于对齐数据包的机制。现在将开发用于表示编码位流的性能的数学模型,随后,该数学模型被用作一种基础,该基础用于建立两种示范的包装化策略,以便通过在生成数据包时对其进行对齐,来减少数据包之间的相关性。
FGS/PFGS位流性能量度网络(例如,因特网)上的流动FGS/PFGS位流的性能量度提供了一种机制,用于比较各种交替的位流包装化策略,以确定可导致性能改善的包装化策略。
如上所述,在FGS和PFGS编码中,使用位平面编码技术来为该增强层编码。关于每个8×8 DCT块,这64个绝对值呈Z字形地被安排到阵列中。该块的位平面被定义为64个位的阵列——来自同一重要位置处的DCT系数的每个绝对值的阵列。关于每个宏块的每个位平面,形成(RUN,位平面末端(EOP))符号,然后应用该可变长度编码(VLC)连同这些符号位来产生该输出位流。在此位平面编码之后,生成这些增强层位流。这些增强位流可以被分成许多位流信息段,每个位流信息段包含关于宏块的一个位平面的位流。关于此文的其余部分,最小的操作单元将是这种位流信息段。由于被用于产生这些增强层位流的位平面编码,与同一宏块关联的位流信息段之中的相关性非常强;然而,与不同的宏块关联的位流信息段之中没有相关性。(如上所述,图5中展示了FGS/PFGS位平面之间的各种相关性。)可以根据该信息来确定特定位流信息段可以解码的数学概率。为了成功地对第i个位平面中的位流信息段Si进行解码,Si必须被无错误地接收,并且,Si-1(即属于同一宏块但在较低的第(i-1)个位平面中的位流信息段)必须也可以解码。另外,为了使位流信息段Si-1可以解码,Si-1必须被接收,并且,Si-2必须也可以解码,等等。在数学项中,这一点可以被表示为p(Sidecodable)=p(Sireceived,Si-1decodable)=p(Sireceived,Si-1received,Si-2received,...,S0received)(1)例如,关于三个位流信息段的可解码概率S0、S1和S2(都属于同一宏块,但在第0个、第1个和第2个位平面中)分别可以被表示如下p(S0decodable)=p(S0received)p(S1decodable)=p(S1received,S0decodable)=p(S1received,S0received)p(S2decodable)=p(S2received,S1decodable)=p(S2received,S1received,S0received)为了简化以上的可解码概率,可以分析连合概率p(接收的Sx,接收的Sy)。如果将位流信息段Sx和Sy包装到同一数据包——数据包k中,那么,该连合概率可以被表示为p(Sxreceived,Syreceived)=p(Sxreceived)=p(Syreceived)=p(packet k received)但是,如果将位流信息段Sx和Sy包装到不同的数据包——数据包j和数据包k中,那么,该连合概率可以被表示为
p(Sxreceived,Syreceived)=p(Sxreceived)×p(Syreceived)=p(packet j received)×p(packet k received)因此,位流信息段可以解码的概率高度取决于如何包装其起源位流信息段。为了进一步简化,将“位流信息段到数据包映射”Sl→m定义为表示必须接收数据包m以便为所接收的位流信息段m解码的相关性,其中,数据包m包含S的起源位流信息段,但不包含S本身。这样,S0、S1和S2的可解码概率可以被表示为p(S0decodable)=p(S0received)p(S1decodable)=p(S1received)×ΠS1→mp(packetmreceived)]]>p(S2decodable)=p(S2received)×ΠS2→mp(packetmreceived)]]>除不同的可解码概率以外,不同的位流信息段也可能对失真减少有不同的作用。关于流动系统,如果满足带宽约束(可能随时间而变化),则总体性能可以被认为是全部的终端对终端失真减少。所以,除可解码概率以外,还应该考虑每个位流信息段的失真减少。所以,数据包擦除网络上的流动FGS/PFGS位流的性能量度可以被定义为 其中,项(f,l,i)表示与第f个帧、第l个位平面和第i个宏块关联的位流信息段。ΔD(f,l,i)表示失真减少,如果成功地为(f,l,i)解码,则可以实现该失真减少。pe(m)和pe(f,l,i)分别是第m个数据包的数据包丢失概率和包含位流信息段(f,l,i)的数据包。(f,l,i)l→m表示如以上所呈现的位流信息段到数据包映射。所选择的位流信息段集I表示将在当前时隙(对应于带宽调节时间间隔)中被传送的所有增强层位流信息段。I的传送速率应该满足Σ(f,l,i)∈IΔR(f,l,i)≤B·τ-RBL-RARQ-RFEC-------(3)]]>其中,ΔR(f,l,i)是位流信息段(f,l,i)的速率。B是当前估计的带宽,τ是时隙长度,B·τ是估计的可用速率。RBL是关于该基极层位流的位速率。RARQ和RFEC分别是关于转播的总速率和关于所有数据包(包括该基极层数据包和增强层数据包)的错误防护。当 取最大值时,产生导致数据包之间的最小相关性的包装化方案。
方程式2提供了一般的性能量度,该性能量度考虑该增强层位流中的位平面之中的相关性、该基极层位流与增强层位流之间的相关性,也考虑这些增强层数据包上的错误防护。错误防护的影响通过pe(·)得到体现。如果采用不相等的错误防护(UEP),则对于不同的增强层数据包而言,pe将会有所不同。另一方面,如果采用相等的错误防护(EEP)或无错误防护,则对于所有增强层数据包而言,pe将会相同。由于该增强层位流依靠该基极层位流(通常很弱),因此,假定正确传送该基极层位流。另外,为简单起见,没有在这些增强层数据包上应用错误防护。
相应地,以上所定义的性能量度指出在选择包装化系统时应该考虑的两个因素。首先,应该选择为该可用带宽提供最大失真减少的位流信息段集I。(由于该选择基于该可用带宽,因此,可以在速率分配的方面解释位流信息段集I的选择。)其次,所选择的包装化策略应该(通过将数据包之间的相关性减到最小)将数据包丢失的影响减到最小。
速率分配关于每个编码位流信息段,如果已知该速率和对失真减少的作用,则可以将位流信息段集I的选择转换成标准Langrangian最小化问题,并且,可以通过应用相等倾斜度理论来发现较佳解决方案。关于每个FGS或PFGS增强层位流信息段,该对应的速率很清楚,而其对于失真减少的作用并非如此明显,尤其对于PFGS位流而言更是如此。
关于FGS位流,某个增强位流信息段的作用只包括关于该当前帧的合成失真减少,并且可以使用该离散余弦变换(DCT)域中的残留位平面中的l的数目(并根据该DCT的单式属性)来加以精确的计算AD0(f,l,i)=n×2(L-l-1)×2(4)其中,n是第l个位平面中的当前第i个MB的l的数目;l=0、1、2、......;L-1表示该位平面的指数(l=0表示最重要的位平面,l-L-1表示最不重要的位平面);L是第f个帧中的位平面的最大数量。
由于PFGS增强层可以用作关于未来帧的高质量参考,因此,它会引起该当前帧的质量损失(如同该FGS增强层的情况),并且也会引起随后各个帧中的漂移。所以,特定PFGS位流信息段对失真减少的作用基于两个部分关于该当前帧的失真减少(关于FGS位流信息段)和关于随后这些帧的漂移抑制。PFGS位流信息段对失真减少的作用可以被表示为ΔD(f,l,i)=ΔD0(f,l,i)+ΔDdr(f,l,i)(5)其中,项ΔD0(f,l,i)和ΔDdr(f,l,i)分别表示位流信息段(f,l,i)的失真减少和漂移抑制。
由于其极高的计算复杂性,直接计算漂移抑制(ΔDdr(f,l,i))在实用系统中是不切实际的,所以,必须加以估计。将根据与PFGS编码方案关联的错误传播方式来确定这种估计。如上所述,基于宏块的PFGS编码方案可产生比基于帧的PFGS编码方案更好的性能。相应地,根据基于宏块的PFGS编码方案来确定所估计的漂移抑制。
如参照图3和图4的以上描述,根据该PFGS编码方案,增强层处的高质量参考被用于预测。结果,获得更精确的预测,并且,与FGS编码方案相比,可实现更好的编码效率。另一方面,如果该解码器没有接收该高质量参考位流(即,该编码器和解码器失去同步),则会引入漂移错误。为了抑制该漂移错误,该基于帧的PFGS编码方案通过定期引用从该编码器和解码器内的基极层位流中重建的低质量参考,来限制该最大错误传播。利用这种方法,该编码器和解码器被很好地同步,并且,该漂移错误传播得到很好的控制。但是,该基于宏块的PFGS编码方案不包括用于保证该编码器与解码器之间的周期再同步的机制;结果,漂移错误可能会继续传播。由于该基于宏块的PFGS编码方案执行三种编码模式(即LPLR、HPLR和HPHR),该漂移错误传播变得进一步复杂化。漂移错误不随该LPLR模式而传播,这是因为预测和重建都基于低质量基极层参考。利用该HPLR模式,预测错误可能会被传播,但因为重建基于低质量基极层参考,因此,防止了该预测错误进一步传播。利用该HPHR模式,由于预测和重建都基于高质量增强层参考,因此,该预测错误可能被进一步传播到未来帧。
为了估计关于特定位流信息段的漂移抑制,可假定关于该当前帧的每个像素,下一个帧中的编码模式LPLR、HPHR或HPLR的选择是任意的。让RHH(f)和RHL(f)分别表示第f个帧中的HPHR模式和HPLR模式的百分比。所以,关于第(f+1)个帧所引用的第f个帧中的任何像素,在HPHR模式中引用它的概率是RHH(f+1),在HPLR模式中引用它的概率是RHL(f+1)。因此,该预测错误将被传播到第(f+1)个帧,其概率是RHH(f+1)+RHL(f+1),并且,该错误的RHH(f+1)部分将继续传播。
图7展示了用于根据上述假定来估计关于每个位流信息段的漂移抑制的错误传播模型。例如,如果具有失真减少e0(f)的第f个帧没有被接收,则所引起的到第(f+1)个帧的漂移近似的是e0(f)×RHH(f+1)和e0(f)×RHL(f+1),它们分别被表示为e1(f+1)和e2(f+1)。此外,e1(f+1)将用相同的方法被进一步传播到第(f+2)个帧,等等。
相应地,归因于特定增强层参考位流信息段(f,l,i)的漂移抑制可以被表示为ΔDdr(f,l,i)=ΔD0(f,l,i)×Σn=1N[Πk=1nRHH(f+k)+Πk=1n-1RHH(f+k)×RHL(f+n)]----(6)]]>其中,N是被用于漂移估计的帧数。
然后,从方程式(5)和(6)得出位流信息段(f,l,i)的全部作用是ΔD(f,l,i)=ΔD0(f,l,i)×{Σn=1N[Πk=1nRHH(f+k)+Πk=1n-1RHH(f+k)×RHL(f+n)]+1}-----(7)]]>在获得关于每个增强层位流信息段的速率和全部作用之后,可以将该可用带宽的约束内的位流信息段集的选择转换成标准Langrangian最小化问题,并且,可以通过应用该相等倾斜度理论来发现较佳解决方案。
用于将数据包丢失的影响减到最小的包装化策略如上所述,以上在方程式(2)中所定义的性能量度指出在选择包装化系统时应该考虑的两个因素。首先,应该选择为该可用带宽提供最大失真减少的位流信息段集I;其次,应该选择将数据包丢失的影响减到最小的包装化策略。以上讨论了位流信息段集I的选择,以下讨论对包装化策略的选择。
方程式(2)指出流动性能对于数据包之间的相关性很敏感。相应地,导致数据包之间的较小相关性的包装化策略将会产生更好的性能。下文将描述两种包装化策略,它们可以被认为是对(以上参照图6所描述的)基线包装化策略的替换。如上所述,该基线包装化策略简单、明了,但引入数据包之中的深切的相关性。下文将描述大大减少数据包之中的相关性的二进制树形网络包装化策略,以及消除数据包之中的相关性的数据包独立包装化策略。
二进制树形网络包装化策略图8展示了根据二进制树形网络包装化策略的两个帧的包装化,与以上参照图6所描述的基线包装化策略相比,这导致数据包相关性大大减少。FGS增强位平面的位流信息段通常趋向于在尺寸上近似地按指数规律增加。相应地,帧的增强层自然可以由二进制树形网络表示,其中,每个节点表示该位流的信息段,这些边缘表示相关性。通过将左子段与其双亲段的左边对齐并按自顶向下的方式将右子段与其双亲段的右边对齐,来构造被良好对齐的二进制树形网络结构。
如图8所示,数据包之中的相关性大大减少。例如,如果数据包P1丢失,则数据包P3、P4、P5和P6也受到影响,但数据包P2、P7、P8、P9和P10仍然保持可充分解码。该二进制树形网络包装化策略的向下趋势是数据包尺寸在各个节点之间变化。
该二进制树形网络中的每个节点与(速率,失真)元组关联。根据该可用位速率,使用速率-失真(R-D)标准来切断该二进制树形网络,以便选择可导致关于给定位速率的最大失真减少的节点。例如,关于图8中所示的帧,省去第4个位平面处的一些位流信息段。在一项实施中,较佳传输数据包长度(例如,5千位)被定义成允许将亲代节点和两个子女节点一起分组到一个传输数据包中。
数据包独立包装化策略图9展示了根据数据包独立包装化策略的多个宏块的包装化,该数据包独立包装化策略消除数据包之间的相关性。如上所述,由于FGS编码方案和PFGS编码方案中所使用的位平面编码,同一宏块的增强层位流信息段之中具有很强的相关性,但不同宏块的位流信息段之中没有相关性。相应地,该数据包独立包装化策略将来自同一宏块的所有位平面的位流信息段包装到同一数据包中。所以,由方程式(2)定义的性能量度可以被减少到 其中,该速率约束保持不变。
如上所述,ΔD(f,l,i)项表示失真减少;如果(f,l,i)被成功解码,则可实现该失真减少。通过将宏块用作最小的单元,可在该宏块层次处应用基于R-D的选择策略。宏块的每个层由(速率,失真)元组表示,并且,关于给定的目标位速率,使用Langrangian最小化问题中的相等倾斜度理论来确定应该选择哪些宏块和每个宏块中的哪些层,以便求Lagrangian目标函数D+λR的最小值。换言之,不管这些位流信息段来自哪些层和哪些宏块,都只选择会导致最重大的失真减少的那些位流信息段,同时遵守该带宽约束。如图9所示,可以为每个这些不同的宏块选择不同数量的层。例如,宏块10只包括三个层,而宏块0、3、6和7每个都包括五个层。
在位流选择之后,用这样一种方法来生成数据包,以便将同一宏块的所有被选择的位平面都包装到同一数据包中,从而消除数据包相关性。当达到预定的数据包长度时,形成数据包,并且,将来自其他宏块的任何剩余的所选择的位流包装在新的数据包中。如果将来自给定宏块的所有被选择的位流信息段包装在同一数据包中,则可以将来自多个宏块的位流信息段包装在同一数据包中。
如图9中的箭头记号所展示的,使用光栅扫描排序来促进将这些位流信息段包装到同一数据包中。该光栅扫描排序导致根据这些位流信息段从最重要的位流信息段到最不重要的位流信息段的R-D作用,来包装这些位流信息段。
用于FGS/PFGS视频位流的包装化的方法可以在正由计算机执行的计算机可执行指令(例如,应用模块)的一般上下文中描述如视频编码计算机系统102所执行的FGS/PFGS视频位流包装化。通常,应用模块包括执行特殊任务或实施特殊的抽象数据类型的例行程序、程序、对象、部件、数据结构等。可以使用任何数量的编程技术来执行FGS/PFGS视频位流包装化系统,并可以在本地计算环境或在分布式计算环境中执行FGS/PFGS视频位流包装化系统;在本地计算环境或在分布式计算环境中,由远程处理设备来执行任务,这些远程处理设备通过基于任何数量的通信协议的各种通信网络来加以连接。在这种分布式计算环境中,应用模块可以位于包括记忆存储设备的本地计算机存储介质和远程计算机存储介质中。
图10展示了用于对视频流进行编码和包装的示范方法。出于说明的目的,将参照图1中所展示的部件来描述图10。
在方框1002处,根据FGS/PFGS编码方案来为视频流编码。例如,视频编码计算机系统102的FGS/PFGS编码器116接收将要被编码的视频流,并应用基于宏块的PFGS编码方案,从而产生编码视频位流信息段集(例如,如参照图4所描述的)。
在方框1004处,视频编码计算机系统102搜集与关于每个编码位流信息段的位置、所要求的位速率和对失真减少的全部作用相关联的数据。在一项实施中,作为(参照方框1002所描述的)该编码过程的一部分来搜集该数据。作为选择,在为这些位流信息段编码之后,可以在分开的过程期间搜集该数据。以下参照图11来更加详细地描述用于在FGS/PFGS编码过程期间搜集数据的示范方法。
在方框1006处,位流选择器118为包装化确定位流信息段集。在所描述的实施中,根据每个位流的位置(帧、位平面和宏块)、所要求的位速率和对失真减少的全部作用,来选择这个位流信息段集。以下参照图12来进一步详细地描述用于选择位流信息段集的示范方法。
在方框1008处,数据包发生器120根据包装化策略来包装所选择的位流信息段集,以便将数据包之间的相关性减到最小。一项实施利用所描述的二进制树形网络包装化策略,而交替的实施利用所描述的数据包独立包装化策略。在一项实施中,使用光栅扫描排序,以便根据其对失真减少的作用,在数据包内安排所选择的位流信息段——从最重要的位流信息段到最不重要的位流信息段。
图11展示了用于搜集与关于每个编码位流信息段的位置、所要求的位速率和对失真减少的全部作用相关联的数据的示范方法1004。
在方框1102处,FGS/PFGS编码器116搜集关于每个编码位流信息段的位置数据(包括哪个帧、哪个位平面和哪个宏块)。该编码器在该编码过程期间容易获得这个位置,并且,这个位置容易被记录。
在方框1104处,FGS/PFGS编码116为该当前帧中的每个增强层位流信息段确定HPHR模式和HPLR模式的百分比。(如果根据FGS编码方案来进行编码,则这两个值都等于零。)在方框1106处,FGS/PFGS编码器116为每个编码的增强层位流信息段计算所要求的位速率和对失真减少的全部作用。在所描述的实施中,为不被用作高质量参考的每个位流信息段将该漂移抑制初设为零,这是因为漂移失真将不被传播到未来帧。将该数据保存到缓冲器,用于确定未来的漂移估计。
然后,为被用作高质量参考的每个增强层位流信息段计算所估计的漂移作用。可以使用相对较少数量的帧来估计该漂移抑制,这是因为漂移随着各个帧之间的距离的增加而减弱。在所描述的实施中,使用一组N个帧(例如,10个)来计算所估计的漂移抑制。关于(N个帧的距离以内的)每个先前的帧,根据该当前帧中的HPHR模式和HPLR模式的百分比来估计并更新与该帧关联的漂移抑制。然后,将该漂移抑制累积到该全部作用。
在方框1108处,在已估计所有N个帧的漂移抑制之后,将所搜集的数据输出到将要使用的辅助信息文件,以便为包装化选择位流信息段集。
图12展示了用于选择将要被包装的位流信息段集的示范方法。
在方框1202处,位流选择器118为特定时隙估计与网络106关联的可用带宽。
在方框1204处,位流选择器118根据该帧速率来确定将要被传送的帧数(M),该帧速率是视频流的固有特征。
在方框1204处,位流选择器118装载被存储在该辅助信息文件中的数据。(这包括关于每个编码位流信息段的位置、所要求的位速率和对失真减少的全部作用。)在方框1206处,位流选择器118检查关于同一宏块的不同位平面的速率和对失真减少的作用,以验证该R-D曲线是中凸的,这确保可以获得对先前定义的Lagrangian最小化问题的解决方案。
在方框1208处,位流选择器118根据标准Lagrangian最小化问题的相等倾斜度理论来为每个宏块选择位流信息段集。
结论虽然已用针对结构特点和/或方法论步骤的语言描述了这些系统和方法,但是,将会理解所附权利要求书中所定义的本发明并不一定要局限于所描述的特殊的特点或步骤。相反,这些特殊的特点和步骤被揭示为执行所声明的发明的较佳形式。
权利要求
1.一种方法,其特征在于包括通过将编码方案应用于视频流,来生成多个编码位流信息段;从这多个编码位流信息段中选择多个位流信息段;以及,将这多个位流信息段包装到数据包中,以便将这些数据包之间的相关性减到最小。
2.如权利要求1中所述的方法,其特征在于,该编码方案包括精细粒度可测量编码方案。
3.如权利要求1中所述的方法,其特征在于,该编码方案包括渐进精细粒度可测量编码方案。
4.如权利要求3中所述的方法,其特征在于,该渐进精细粒度可测量编码方案基于帧。
5.如权利要求3中所述的方法,其特征在于,该渐进精细粒度可测量编码方案基于宏块。
6.如权利要求1中所述的方法,其特征在于,该选择包括根据可用带宽,从这多个编码位流信息段中选择多个位流信息段。
7.如权利要求1中所述的方法,其特征在于,该选择包括根据与这些编码位流信息段中的单独的编码位流信息段相关联的对失真减少的作用,来选择多个位流信息段。
8.如权利要求1中所述的方法,其特征在于,该选择包括确定与这多个编码位流信息段中的单独的编码位流信息段相关联的位速率;估计与这多个编码位流信息段中的单独的编码位流信息段相关联的对失真减少的作用;确定可用带宽;确定将要被传送的帧数;以及,选择这多个位流信息段,以便选择每个位流信息段,该关联的位速率由该可用带宽支持,对失真减少的该关联的作用大于或等于跟没有被选择的这多个位流信息段中的至少一个位流信息段相关联的对失真减少的作用。
9.如权利要求1中所述的方法,其特征在于,该包装包括生成多个数据包,以便第一个数据包包含与第一个宏块的多个位平面相关联的位流信息段,并且,这多个数据包中没有其他的数据包包含与这第一个宏块相关联的位流信息段。
10.如权利要求9中所述的方法,其特征在于,这第一个数据包也包含与第二个宏块的多个位平面相关联的位流信息段。
11.如权利要求1中所述的方法,其特征在于,该包装包括将与帧相关联的多个增强层表示为二进制树形网络,其中,该树形网络的每个节点表示位流信息段,并且,其中,该二进制树形网络的每个子女节点与亲代节点的边缘联合;以及,生成多个数据包,以便包含子女节点的每个数据包也包含与该子女节点相关联的亲代节点。
12.一种方法,其特征在于包括关于多个编码位流信息段中的每个编码位流信息段,确定所要求的位速率,并估计对失真减少的作用;以及,从这多个编码位流信息段中选择将要被包装的位流信息段,以便被选择的位流信息段具有可用带宽所支持的关联的位速率并具有少于没有被选择的这多个编码位流信息段中的单独的编码位流信息段的对失真减少的作用。
13.如权利要求12中所述的方法,其特征在于还包括将所选择的位流信息段包装到一个或多个数据包中。
14.一种方法,其特征在于包括识别将要被包装的多个编码视频位流信息段;根据表示帧的增强层的二进制树形网络来安排这些位流信息段;以及,根据该二进制树形网络来将这些位流信息段包装到数据包中,以便每个数据包包括该二进制树形网络的亲代节点和子女节点。
15.如权利要求14中所述的方法,其特征在于还包括根据失真减少作用门限,切断该二进制树形网络,以除去单独的位流信息段。
16.一种方法,其特征在于包括识别将要被包装的多个编码视频位流信息段;以及,将这些位流信息段包装到数据包中,以便与特定宏块相关联的所有位流信息段被包含在同一数据包中。
17.如权利要求16中所述的方法,其特征在于,该包装还包括根据每个位流信息段的失真减少作用,对数据包中的这些位流信息段进行光栅扫描排序。
18.一种系统,其特征在于包括编码器,它被配置成生成编码位流信息段;位流选择器,它被配置成为包装化选择这些编码位流信息段的集合;以及,数据包发生器,它被配置成根据将数据包之间的相关性减到最小的包装化策略,来包装这些编码位流信息段的这个集合。
19.如权利要求18中所述的系统,其特征在于,该编码器作为精细粒度可测量编码器来加以执行。
20.如权利要求18中所述的系统,其特征在于,该编码器作为渐进精细粒度可测量编码器来加以执行。
21.如权利要求18中所述的系统,其特征在于,该编码器作为基于帧的渐进精细粒度可测量编码器来加以执行。
22.如权利要求18中所述的系统,其特征在于,该编码器作为基于宏块的渐进精细粒度可测量编码器来加以执行。
23.如权利要求18中所述的系统,其特征在于,该编码器被进一步配置成搜集描述与编码位流信息段相关联的位置、所要求的位速率和对失真减少的作用的数据。
24.如权利要求18中所述的系统,其特征在于,该数据包发生器被进一步配置成根据将数据包之间的相关性减到最小的二进制树形网络包装化策略,来包装这些编码位流信息段的这个集合。
25.如权利要求18中所述的系统,其特征在于,该数据包发生器被进一步配置成根据消除数据包之间的相关性的数据包独立包装化策略,来包装这些编码位流信息段的这个集合。
26.一种系统,其特征在于包括用于为流动视频数据编码的装置;用于根据对失真减少的作用来选择编码位流信息段集的装置;以及,一种装置,用于生成包含该编码位流信息段集的数据包,以便将这些被包装的位流信息段安排成减少这些数据包中的单独的数据包之间的相关性。
27.如权利要求26中所述的系统,其特征在于,该生成装置还包括一种装置,用于根据与这些位流信息段中的单独的位流信息段相关联的对失真减少的作用来组织数据包内的位流信息段。
28.如权利要求26中所述的系统,其特征在于,该生成装置还包括一种装置,用于根据与这些位流信息段中的单独的位流信息段相关联的对失真减少的作用,按渐减的顺序来组织数据包内的位流信息段。
29.如权利要求26中所述的系统,其特征在于还包括一种装置,用于估计与这些编码位流信息段中的单独的编码位流信息段相关联的对失真减少的作用。
30.如权利要求26中所述的系统,其特征在于还包括用于根据可用带宽来选择该编码位流信息段集的装置。
31.一种或多种计算机可读介质,其特征在于包括计算机可执行指令,当这些计算机可执行指令被执行时,它们指示计算系统计算与多个编码视频位流信息段中的每个编码视频位流信息段相关联的对失真减少的作用;根据对失真减少的作用的比较,来确定这多个编码视频位流信息段的子集;以及,生成包含所选择的视频位流信息段的子集的数据包。
32.如权利要求31中所述的这一种或多种计算机可读介质,其特征在于还包括计算机可执行指令,当这些计算机可执行指令被执行时,它们指示计算系统根据公式来计算对失真减少的该作用ΔD(f,l,i)=ΔD0(f,l,i)+ΔDdr(f,l,i)其中ΔD0(f,l,i)表示与第f个帧、第l个位平面和第i个宏块相关联的位流信息段的失真减少;以及,ΔDdr(f,l,i)表示与第f个帧、第l个位平面和第i个宏块相关联的位流信息段的漂移抑制。
33.如权利要求32中所述的这一种或多种计算机可读介质,其特征在于还包括计算机可执行指令,当这些计算机可执行指令被执行时,它们指示计算系统根据公式来计算该漂移抑制ΛDdr(f,l,i)=ΔD0(f,l,i)×Σn=1N[Πk=1nRHH(f+k)+Πk=1n-1RHH(f+k)×RHl(f+n)]]]>其中ΔD0(f,l,i)表示与第f个帧、第l个位平面和第i个宏块相关联的位流信息段的失真减少;RHH(f)表示第f个帧中的高预测高参考(HPHR)模式的百分比;RHL(f)表示第f个帧中的高预测低参考(HPLR)模式的百分比;以及,N是被用于漂移估计的帧数。
全文摘要
通过根据与每个编码位流信息段相关联的对失真减少的所估计的全部作用来为包装化选择编码位流信息段,视频编码系统执行FGS/PFGS编码视频位流的包装化。然后,根据将数据包之间的相关性减到最小的数据包独立包装化策略,来对所选择的位流信息段进行包装。
文档编号H04N7/62GK1531349SQ20041003991
公开日2004年9月22日 申请日期2004年3月10日 优先权日2003年3月10日
发明者H·蔡, H 蔡, G·沈, Z·熊, S·李, B·曾 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1