子带视频解码方法和设备的制作方法

文档序号:7505381阅读:165来源:国知局
专利名称:子带视频解码方法和设备的制作方法
技术领域
本发明主要涉及视频压缩领域,特别是,涉及一种用于解压缩一与原始视频序列相对应的编码比特流的视频解码方法,该原始视频序列被划分成多个连续帧组(GOFs),并通过三维子带视频编码方法对该原始视频序列进行编码,该方法包括如下步骤采用或不采用运动补偿,对所述序列的每个GOF中的每对连续帧实施一时间滤波步骤;对所述滤波后的序列实施一空间分析步骤;对所述分析并滤波后的序列实施一个熵编码步骤,若采用运动补偿则还要对运动向量实施一熵编码步骤;对由此编码得到的编码序列实施一个算术编码步骤,并输出所述编码比特流。
本发明还涉及一种用于实现所述解码方法的解码设备,一种包含用于实现所述解码方法的所述步骤的代码的存储介质,及其相应的装置。
背景技术
从MPEG-1到H.264,标准视频压缩方案都是基于所谓的混合解法的(混合视频编码器采用预测方案以利用空间冗余的优点,在所述预测方案中,根据给出的一参考帧来对输入视频序列的每一帧进行时间上的预测,并对由所述帧与其预测帧之间的差值引起的预测误差进行空间上的变换,例如通过一个二维的DCT变换)。随后提出的一种不同方法由,处理一帧组(GOF)为三维(3D,或2D+t)结构,并对其进行时空滤波,从而在低频压缩所述能量(如“Three-dimensional subband coding ofvideo”,C.I.Podilchuk等,“IEEE Transactions on ImageProcessing”,第2期第4卷,1995年2月,第125页至139页)。并且,这种3D子带分解方案的运动补偿步骤的采用能提高整体编码效率,并由于一子带树而产生代表视频信号的时空多解(分级的),如图1所示。
如图1所示,对连续帧组(GOFs)同样应用具有运动补偿的3D小波分解。对包含于8帧F1至F8的图示情况的输入视频的每个GOF,首先进行运动补偿(MC),从而处理运动剧烈的序列,随后使用哈尔小波进行时间滤波(TF)(虚线箭头对应高通时间滤波,而另外的箭头对应低通时间滤波)。图中示出了分解的三个连续级(L和H=第一级;LL和LH=第二级;LLL和LLH=第三级)。通过一个小波滤波器对每个时间级(在上述例子中的H,LH,和LLH)的所述高频子带和最低级(LLL)的所述低频子带进行空间分结。然后熵编码器对所述时空分解产生的小波系数进行编码(例如通过对目前3D小波分解使用2D-SPIHT扩展的方式,所述方式最早是由A.Said和W.A.Pearlman在“A new,fast,and efficientimage codec based on set partitioning in hierarchical trees”,IEEE Transactions on Circuits and Systems for Video Technology,第3期第6卷,1996年6月,第243页至250页中提出的,是为了对关于时空分解结构的所述最终系数比特平面进行有效编码)。
但是,所有3D子带解都有如下缺陷由于同时对整个GOF进行处理,所以必须在进行时空分析和编码之前存储当前GOF中的所有图像。在解码时也存在同样的问题,即对给定GOF中所有帧同时进行解码。

发明内容
因此,本发明的第一个目的是提供一种能减少3D子带解法所需高存储要求的解码方法。
为此目的,本发明涉及如说明书引言部分中所定义的一种解码方法,其中所述方法的特征进一步在于其是迭代的,且其包含与每个GOF中帧的对数一样多的迭代次数,用于重建每个GOF中的每个连续帧对的迭代本身包含如下子步骤解码所述编码比特流中与当前GOF对应的部分;仅存储由此从解码比特流中得到的关于当前帧对的数据和适当的子带,其中所述子带包含关于所述当前帧对的至少一个帧的一些信息;用所述相关数据和所述相应子带合成所述当前帧对的两个帧。
本发明的另一个目的是还提供了一种能执行所述解码方法的解码设备,一种包含用于实现所述解码方法的所述步骤的存储介质,及其相应的一种设备。


下面将通过实施例并结合相关附图介绍本发明,其中图1阐述了现有技术中一组具有八帧的帧组的3D子带分解;图2示出了由所述分解方式得到的子带中,被发送的子带和由此所形成的比特流;图3至图6阐述了在根据本发明的解码方法中,用于解码所述编码比特流的迭代操作;图7示出了根据本发明的一个用于执行所述解码方法的解码设备的
具体实施例方式
如上所述,当处理整个GOF时,必须同时存储的帧的数量的确是个问题,且可以作为阻碍3D子带解法被用作标准的一个理由。例如,对于一个具有16帧典型大小的GOF,人们必须在同时解码所述GOF中所有帧的解码器侧同时解码16个子带,并在播放前存储所述16帧。而且,作为实时播放,必须在播放所有先前GOF的帧之前解码所述16帧。事实上,如果N为一个GOF中的帧数,而M为解码下一组N帧时将被实时播放的最小帧数,那么所述解码器需要同时存储((2×N)+M)个存储帧。
本发明的原理接下来提出了一种解码方法,所述解码方法实现3D结构的分支对分支重建,代替了所述的整个树同时重建如图所示,这种方法减少了必须被存储的数据。如图2所示,在八帧GOF时,为了简化附图,所述帧F1至F8被分成四个帧对C0,C1,C2,C3。在原始序列时间分解的第一步结束时,可以得到低频时间子带L0,L1,L2,L3和高频时间子带H0,H1,H2,H3。当编码并发送所述子带H0至H3时,对子带L0至L3进一步进行分解在所述分解的第二步结束时,可以得到低频时间子带LL0,LL1和高频时间子带LH0,LH1。同样,当编码和发送所述子带LH0,LH1时,对子带LL0,LL1进一步进行分解,在所述分解的第三步(所述情况的最后一步)结束时,可以得到低频时间子带LLL0和高频时间子带LLH0,并编码和发送所述低频时间子带LLL0和高频时间子带LLH0。图2中,用黑线围绕出了被发送的整个子带组。
看起来只需要子带H0,LH0,LLH0,和LLL0对所述GOF的前两个帧F1,F2(即所述帧对C0)进行解码。而且,第一子带H0仅包含关于这两个第一帧F1,F2的某些信息。所以,一旦解码F1,F2这些帧,所述第一子带H0将会变得无用,并可被删除和代替为了解码下一个帧对C1,现在装载下一个子带H1,其中帧对C1包含F3和F4这两个帧。现在只需要子带H1,LH0,LLL0和LLH0对这些帧F3,F4进行解码,如同先前的H0,子带H1仅包含关于F3,F4这两个帧的某些信息。所以一旦解码了F3,F4这些帧,就能删除所述第二子带H1,并用H2进行代替。依此类推,对F5,F6,F7,F8等(总的来说,是对所述GOF中所有的连续帧对)重复这些操作。可以用一个熵编码器和随后的一个算术编码器(如21和22所示)对由每个连续GOF由此形成的所述比特流(其所述组成仅仅是本发明的一个实施例,并没有在解码方面限制本发明的范围)进行编码。
实际操作如下。第一次解码所述编码比特流中与当前GOF对应的部分,但事实上,仅对所述比特流中与第一对帧C0(上述两个第一帧F1和F2)对应的编码部分和子带H0,LH1,LLL0,LLH0进行存储和解码。当解码了上述前两个帧F1,F2后,第一个H(如H0所示)子带将会变得无用,而它的存储空间可以用于被解码的下一个子带。因此为了解码第二H(如H1所示)子带以及下一个帧对C1(F3,F4),必须第二次读取所述编码比特流。当该第二解码步骤完成后,所述子带H1和所述第一LH子带(如LH0所示)都将会变得无用。因此它们将会被删除,并被下一个H和LH子带(分别如H2和LH1所示)所代替,其中通过对相同输入编码比特流的第三解码步骤可以得到所述下一个H和LH子带,以此类推。
通过参照附图3至6,可以对这种多路径解码方法进行描述,所述方法包含对GOF中的每一对帧所进行的一次迭代。在第一次迭代中,虽然算术解码器31对所述在解码侧接收到的编码比特流CODB进行解码,但是仅存储所述与第一帧对C0对应的解码部分,即,所述子带LLL0,LLH0,LH0,和H0(参见图3)。然后对于所述子带,如下执行关于图1所示的操作的反向操作用解码后的子带LLL0和LLH0合成子带LL0;用所述合成的子带LL0和解码后的子带LH0合成子带L0;用所述合成的子带L0和解码后的子带H0重建所述帧对C0中的F1,F2两个帧。
当完成第一解码步骤后,可以开始第二解码步骤。第二次读取所述编码比特流,并仅存储与第二帧对C1对应的解码部分子带LLL0,LLH0,LH0和H1(参见图4)。事实上,图4中虚线所示的信息(LLL0,LLH0,LL0,LH0)可以从第一解码步骤中重新利用(对经过算术解码后的比特流信息来说尤其是这样,因为缓冲这种压缩信息并不是真的很消耗存储器)。对于这些子带来实施接下来的反向操作用所述解码后的子带LLL0和LLH0合成子带LL0;用所述合成的子带LL0和解码后的子带LH0合成子带L1;用所述合成的子带L1和解码后的子带H1重建所述帧对1中的F3,F4两个帧。
当完成第二解码步骤后,同样可以开始第三解码步骤。第三次读取所述编码比特流,并仅存储与第三帧对C2对应的解码部分子带LLL0,LLH0,LH1和H2(参见图5)。如上所述,图5中虚线所示的信息(LLL0,LLH0)可以从第一(或第二)解码步骤中重新利用。然后实施接下来的反向操作用所述解码后的子带LLL0和LLH0合成子带LL1;用所述合成的子带LL1和解码后的子带LH1合成子带L2;用所述合成的子带L2和解码后的子带H2重建所述帧对C2中的F5,F6两个帧。
当完成第三解码步骤后,同样可以开始第四解码步骤。第四次读取所述编码比特流(GOF的四对帧中的最后一对),仅存储所述与第四帧对C3对应的解码部分子带LLL0,LLH0,LH1和H3(参见图6)。同样,图6中虚线所示的信息(LLL0,LLH0,LL1,LH1)可以从第三解码步骤中重新利用。实施接下来的反向操作用所述解码后的子带LLL0和LLH0合成子带LL1;用所述合成的子带LL1和解码后的子带LH1合成子带L3;用所述合成的子带L3和解码后的子带H3重建所述帧对C3中的F7,F8两个帧。
对视频序列中的所有连续GOF重复上述步骤。当根据上述步骤解码所述编码比特流时,最多必须同时存储两个帧(如F1,F2)和四个子带(在同一例子中H0,LH0,LLH0,LLL0)。总的来说,如果N为GOF中的帧数(优先选择N=2n),那么在解码所述比特流时,仅需要有限的子带数和帧数,而不是N个子带和N个帧。
总之,无论采用何种技术实现所述编码方法,这种解法在任何情况下都有很重要的工作优势(因为在编码侧不必改变任何东西,所以通过仅改变解码器,能使所述解法适应任何一种3D子带视频解码技术)。
在解码侧(或在一个服务器中),可以在如图7所示的一个解码装置中实现对应的解码方法,其中所述解码装置包括下述主要模块。解码装置71首先处理接收到的编码比特流RCB,,包括例如串联的算术解码级和熵解码级,并为解码包含所述编码系数和所述编码运动向量的编码比特流提供所述编码比特流。反向3D小波转换电路72接收所述解码系数和运动向量,其中所述电路72用于重建一与原始视频序列对应的输出视频序列。所述解码装置还可以包括一个资源控制器73,用于在解码每个运动向量之前检验已花费的比特预算的数目,并在所述数目的基础上,决定是否需要对所述编码数据的剩余部分进行解码。
先前的描述只是为了阐明和描述本发明,并不是把本发明限制在说明书所公开的精确形式中。根据上述教导的许多变形和改进都是可能的,且都在本发明的范围之内。所述编码和解码装置可以采用如文献“Afully scalable 3D subband video codec”,V.Bottreau等,Proceedingsof IEEE Conference on Image Processing(ICIP2001),第2卷,第1017页至1020页,Thessaloniki,希腊,2001年10月7日至10日,中所描述的类型。
可以理解,根据本发明的所述解码装置可以以硬件、软件(根据一个或多个软件程序或在存储介质中的代码来处理所述编码比特流,并且其由一个处理器来实现以便重建与原始视频序列对应的输出帧)、或软硬件结合来实现,不排除一个能实现多个功能的硬件或软件的单一对象,也不排除一个能实现单一功能的硬件或软件或两者结合的组合对象。所述解码方法和装置可以用实现上述方法的任何一种型号的计算机系统或其它装置来实现。一个典型的硬件和软件的组合可以是一个具有计算机程序的通用目的计算机系统,当载入并执行所述计算机程序时,其能控制所述计算机系统使其实现上述方法。可选地,可以使用一种特殊用途的计算机,所述计算机包含用于实现本发明的一个或多个功能任务的专门硬件。
本发明还可以被嵌入在一个计算机程序产品中,其中所述计算机程序产品包含能实现所述方法和功能的所有特性,并且在其载入计算机系统时实现这些方法和功能。本文中的计算机程序、软件程序、程序、程序产品、或软件意味着用任何语言、代码或符号编写的某种指令集的表达式,其中所述指令集能产生一个具有信息处理能力的系统,从而直接或在下述步骤之后完成特定的功能(a)转换成另一种语言、代码或符号;和/或(b)以不同的材料形式复制。
权利要求
1.一种用于在一个原始序列的每个帧组(GOF)中解压缩一个与该原始视频序列对应的输入编码比特流的视频解码方法,所述原始视频序列被划分成连续的帧组(GOFs),并通过三维子带视频编码方法对原始视频序列进行编码,包括如下步骤对每个连续帧对实施一时间滤波步骤;对所述滤波后的序列实施一空间分析步骤;对所述分析并滤波后的序列实施一个熵编码步骤;对编码得到的编码序列实施一个算术编码步骤;应用于为当前GOF输出的编码比特流的所述解码方法的进一步特征在于该解码方法是迭代的并具有与每个GOF中的帧对数目相同的迭代次数,用于重建每个GOF中的每个连续帧对的每个迭代步骤本身还包括如下子步骤解码所述编码比特流;从得到的解码比特流中仅存储关于当前帧对的数据和适当的子带,所述子带包含关于所述当前帧对的至少一个帧的一些信息;用所述相关数据和所述适当的子带合成所述当前帧对的两个帧。
2.一种用于解压缩一个与原始视频序列对应的输入编码比特流的视频解码方法,所述原始视频序列被划分成连续的帧组(GOFs),并通过三维子带视频编码方法对原始视频序列进行编码,包括如下步骤对原始序列实施一个运动估计步骤;对所述序列的每个GOF中的每对连续帧实施一个运动补偿时间滤波步骤;对所述滤波后的序列实施一个空间分析步骤;对所述经过分析、滤波得到的序列和通过所述运动估计步骤得到的运动向量实施一个熵编码步骤;对编码得到的编码序列实施一个算术编码步骤,并输出所述编码比特流;所述解码方法的进一步特征在于该编码方法是迭代的并具有与每个GOF中的帧对数目相同的迭代次数,用于重建每个GOF中的每个连续帧对的每个迭代步骤本身还包括如下子步骤解码所述编码比特流;从得到的解码比特流中仅存储关于当前帧对的数据和适当的子带,所述子带包含关于所述当前帧对的至少一个帧的一些信息;从所述相关数据和所述适当的子带合成所述当前帧对的两个帧。
3.一种用于在一个原始序列的每个帧组(GOF)中解压缩一个与该原始视频序列对应的输入编码比特流的视频解码装置,所述原始视频序列被划分成连续的帧组(GOFs),并通过三维子带视频编码方法对原始视频序列进行编码,所述解码装置执行如下步骤对每对连续帧对实施一时间滤波步骤;对所述滤波后的序列实施一空间分析步骤;对所述分析并滤波后的序列实施一个熵编码步骤;对编码得到的编码序列实施一个算术编码步骤,并输出所述编码比特流;所述解码设备的进一步特征在于包括(1)用于解码所述编码比特流的装置;(2)用于从得到的解码比特流中仅存储关于当前帧对的数据和适当的子带的装置,所述子带包含关于所述当前帧对的至少一个帧的一些信息;(3)用于从所述相关数据和所述适当的子带合成所述当前帧对的两个帧的装置;(4)用于重复由所述解码装置、存储装置和合成装置所执行的所述连续步骤的装置,其中重复的次数与每个GOF中的帧对的数目相同。
4.一种用于解压缩一个与原始视频序列对应的输入编码比特流的视频解码装置,所述原始视频序列被划分成连续的帧组(GOFs),并通过3D子带视频编码方法对原始视频序列进行编码,包括如下步骤对所述原始序列实施一个运动估计步骤;在所述序列的每个GOF中对每个连续帧对实施一个运动补偿时间滤波步骤;对所述滤波后的序列实施一个空间分析步骤;对所述经过分析、滤波得到的序列和通过所述运动估计步骤得到的运动向量实施一个熵编码步骤;对编码得到的编码序列实施一个算术编码步骤,并输出所述编码比特流;所述解码设备的进一步的特征在于其包括(1)用于解码所述与当前GOF对应的编码比特流的装置;(2)用于从得到的解码比特流中仅存储关于当前帧对的数据和适当的子带的装置,所述子带包含关于所述当前帧对的至少一个帧的一些信息;(3)用于从所述相关数据和所述适当的子带合成所述当前帧对的两个帧的装置;(4)用于重复由所述解码装置、存储装置和合成装置所执行的所述连续步骤的装置,其中重复的次数与每个GOF中的帧对的数目相同。
5.一种包含一计算机可读代码的存储介质,所述计算即可读代码用于解压缩一个与原始视频序列对应的输入编码比特流,所述原始视频序列被划分成连续的帧组(GOFs),并通过三维子带视频编码方法对原始视频序列进行编码,包括如下步骤采用或不采用运动补偿,在所述序列的每个GOF中对每个连续帧对实施一时间滤波步骤;对所述滤波后的序列实施一空间分析步骤;对所述分析并滤波后的序列实施一个熵编码步骤,若采用运动补偿则还要对运动向量实施一熵编码步骤;对编码得到的编码序列实施一个算术编码步骤,并输出所述编码比特流;所述代码包括用于解码所述编码比特流的代码;用于从得到的储解码比特流中仅存储关于当前帧对的数据和适当的子带的代码,所述子带包含关于所述当前帧对的至少一个帧的一些信息;用于从所述相关数据和所述适当的子带合成所述当前帧对的两个帧的代码;用于重复由所述解码代码、存储代码和合成代码所执行的所述连续步骤的代码,其中重复的次数与每个GOF中的帧对的数目相同。
6.一种用于解压缩一个与原始视频序列对应的输入编码比特流的视频解码设备,所述原始视频序列被划分成连续的帧组(GOFs),并通过三维子带视频编码方法对原始视频序列进行编码,包括如下步骤采用或不采用运动补偿,在所述序列的每个GOF中对每个连续帧对实施一时间滤波步骤;对所述滤波后的序列实施一空间分析步骤;对所述分析并滤波后的序列实施一个熵编码步骤,若采用运动补偿则还要对运动向量实施一熵编码步骤;对编码得到的编码序列实施一个算术编码步骤,并输出所述编码比特流;所述设备还包括一个存储可执行代码的存储器和一个执行所述存储在存储器中的代码的处理器,从而可以解码所述编码比特流;从得到的解码比特流中仅存储关于当前帧对的数据和适当的子带,所述子带包含关于所述当前帧对的至少一个帧的一些信息;从所述相关数据和所述适当的子带合成所述当前帧对的两个帧;重复应用到当前帧对的解码操作、存储操作和合成操作,其中重复的次数与每个GOF中的帧对的数目相同。
全文摘要
本发明涉及一种用于解压缩一个与原始视频序列对应的输入编码比特流的视频解码方法。所述原始视频序列被划分成连续的帧组(GOFs),并通过三维子带视频编码方法对原始视频序列进行编码。根据本发明,所述解码方法是迭代的,并具有与每个GOF中的帧对数目相同的迭代次数,用于重建每个GOF中的每个连续帧对的每个迭代步骤本身还包括下述子步骤,解码与当前GOF对应的编码比特流,从得到的所述解码比特流中仅存储关于当前帧对的数据和适当的子带,其中所述适当的子带包含关于所述当前帧对的至少一个帧的一些信息,用所述相关数据和所述相应子带合成所述当前帧对的两个帧。
文档编号H03M7/40GK1666530SQ03815120
公开日2005年9月7日 申请日期2003年6月18日 优先权日2002年6月28日
发明者A·布尔热, E·巴罗, M·贝内蒂雷 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1