预测编码器/解码器以及预测编码/解码方法

文档序号:7618755阅读:240来源:国知局
专利名称:预测编码器/解码器以及预测编码/解码方法
技术领域
本发明涉及运动图像编码,更具体地讲,涉及一种用于对感兴趣的区域编码的预测编码器/解码器,以及预测编码/解码方法。
背景技术
在2003年被称为MPEG-4部分10AVC(高级视频压缩)或ITU-T H.264的新标准出现于视频压缩领域。促使它们出现的是随着如移动网络的新通信途径的快速蔓延,从传统电路交换到分组交换的改变以及对多种通信架构共存的需求。
在AVC/H.264中,使用如与用于运动图像编码的传统国际标准不同的MPEG-1、MPEG-2、和MPEG-4部分2视觉(MPEG-4 part 2 visual)的空间估计编码方法。在传统运动图像编码中,离散余弦变换(以下称为DCT变换)域中变换的系数须经帧内预测以提高编码效率,引起了低通频带传输比特率的主观质量的降低。另一方面,在AVC/H.264中,采用空间域中而不是DCT变换域中的空间帧内预测。
从编码器的观点,以这样的方式来执行传统空间帧内预测编码使用已经被编码并且被再现的块的信息以及关于将被编码的实际块的信息之间的差信息预测将被编码的块的信息,并且仅预测块被编码并且发送到解码器侧。同时,通过将编码器和解码器同步,预测需要的参数可被发送到解码器侧或者预测可被执行。从解码器的观点看,使用关于已经被解码并且被再现的相邻块的信息预测关于将被编码的块的信息,预测信息和从编码器侧发送的不同信息的总和被计算,并且期望的结构信息被再现。同时,如果预测需要的参数从编码器侧被接收,则其也被解码以使用。
如图1所示,根据现有技术的基于块或基于宏块的视频编码的帧内预测整个采用使用关于与将在传统光栅扫描方向上被编码的块E相邻的块A、B、C、和D的信息的预测。关于图1中的用X标记的块的信息将在对块E的编码完成之后被处理,因此,在编码处理中不可用到。当预测值被计算时用O标记的块是可用到的,但是其在空间轴上距离块E很远。其结果是,用O标记的块不具有与块E的高相关性,并且很少被使用。
因此,大多数的传统帧内预测使用关于在与包括块E的行相邻的上一行的块中与将被编码的块E相邻的块D、B、和C的部分信息以及关于在块E的编码之前刚被编码的块A的信息。在MPEG-4部分2的情况下,使用在8×8DCT变换域中块A、D、和B的DC值之间的差来预测块E的DC值。另外,在AVC/H.264的情况下,帧被分为4×4块或16×16宏块,并且空间域而不是DCT变换域中的像素值被预测。
图2是用于解释根据现有技术使用8×8DCT系数的帧内预测编码的示图。
参照图2,16×16宏块以8×8块为单位被处理,并且在DCT变换域中每一块的DC值被预测。
换句话说,在图2中,四个宏块D、B、A和E被显示,并且每一宏块被分为四个块。换句话说,宏块D被分为块D1、D2、D3、和D4,宏块B被分为块B1、B2、B3和B4,宏块A被分为块A1、A2、A3、和A4,宏块E被分为块E1、E2、E3、和E4。每一8×8块的左上角的黑色方框表示块的DC值。
将被编码的宏块E内的帧内预测被执行如下。
(1)为了在宏块E中执行帧内预测,检查宏块A、B、和D是否存在。如果宏块A、B、和D中的一些存在于视频对象平面(VOP)外面,则预测的DC值被确定为1024(即等于作为像素值的128)。
(2)为了处理E1,检查块D4、B3、和A2是否存在。如果块D4、B3、和A2中的一些不存在或者没有被帧内编码,则块E1的被预测的值被确定为1024。
(3)如果所有的块D4、B3、和A2存在,则块E1的帧内预测DC值被如下确定。换句话说,如果块A2的DC值与块D4的DC值之间的差小于块D4的DC值与块B3的DC值之间的差,则其意味着存在块E1的DC值与块B3的DC值相似的高概率。因此,块E1的DC值根据块B3的DC值被预测。如果块A2的DC值与块D4的DC值之间的差大于块D4的DC值与块B3的DC值之间的差,则块E1的DC值根据块A2的DC值被预测。这种预测可被应用到编码器侧和解码器侧,并且因此,可执行帧内预测编码而无需发送用于预测值的计算的参数。换句话说,在解码器侧,预测值应以与编码器侧相似的方式被计算。
块E1的预测可被整理如下。
如果|A2_DC-D4_DC|<|D4_DC-B3_DC|,则E1_DC=B3_DC否则,E1_DC=A2_DC为了预测块E2的DC值,使用与块E2相邻的块E1、B3、和B4来执行(1)至(3)。为了预测块E3的DC值,使用与块E3相邻的块A2、A4、和E1来执行(1)至(3)。为了预测块E4的DC值,使用与块E4相邻的块E1、E2、和E3来执行(1)至(3)。换句话说,基于宏块E的8×8块单元的帧内预测以Z形式在光栅扫描方向上被执行。
AVC/H.264视频编码被设计以具有将作为视频编码的相关标准重要需求的高网络友善性(friendliness)。为此,AVC/H.264采用基于片的独立编码作为其的主要功能。这是因为由于经过压缩编码的数据变得对在传输期间引起的传输错误非常敏感,所以当发生传输错误时相应的一部分的比特流被丢失存在非常高的可能性,并且这种丢失不仅对具有该丢失的部分有很大影响,而且对参考该相应图像的图像的恢复也有很大影响,导致不能获得无缺陷恢复。具体地讲,当使用被广泛用于互联网或移动通信网络环境中的基于分组的传输时,如果在传输期间发生包错误,则在受损包之后的数据不能被用于图像帧的恢复。而且,如果具有头信息的包被损坏,则该图像帧的整个数据不能被恢复,导致图像质量的严重下降。为了解决这种问题,AVC/H.264将比帧单元小的片(slice)确定为可被独立解码的数据的最小单元。更具体地讲,在不管与在该片之前或之后的其它片相应的数据如何,该片都可被很好地解码的基础上确定每一片。因此,即使当几个片的数据又被损坏时,使用被无错误解码的片的图像数据,受损部分的图像的恢复或隐蔽存在高的可能性,这可将图像质量的降低最小化。
AVC/H.264被设计以不仅支持根据现有技术的由在光栅扫描方向上的宏块组组成的片结构,而且支持定义在可变宏块排序(FMO)中的新的片结构。新的片结构被用作基本档(baseline profile)和扩展档(extended profile)的基本算法。具体地讲,FMO模式3box-out扫描具有如图3所示的以顺时针方向和逆时针方向来执行扫描的模式。
扫描,如在AVC/H.264中采用的box-out扫描对感兴趣的区域(ROI)编码非常有用。如图3所示,根据这种扫描,扫描在ROI的中心或者图像的中心开始,并且随后以每一像洋葱皮的像素组、块、或宏块以方形密封环的形状被顺序地层叠的这种方式继续。换句话说,扫描在起始区开始并且以方形密封环被层叠到刚刚在先前方形环之前处理的另一方形环上的方式继续。当使用ROI中心的扫描时,被设计以适合光栅扫描的传统帧内预测不能被使用。
AVC/H.264是一套审慎地考虑错误可变性和网络友善性以跟上快速改变无线环境和互联网环境的方法。具体地讲,box-out扫描是用于ROI编码的一套方法。box-out扫描可基于人类视觉特征提高压缩率或执行改善的错误保护,并且允许具有最高优先级的ROI处理。
然而,由于如AVC/H.264的传统视频编码采用与ROI中心扫描非常不同的传统光栅扫描的预测编码,当用于提高编码效率的技术被应用到基于ROI中心扫描的视频编码时其不能被使用。

发明内容
本发明一方面提供一种用于ROI的编码的预测编码器/解码器和预测编码/解码方法。
根据本发明一方面,提供了一种预测编码器,包括预测编码单元,用于从视频帧的感兴趣区域的原点宏块开始预测,在相对于包括宏块并且围绕原点宏块的方形环的纹波扫描的方向上继续预测,和通过使用关于在包括将被编码的宏块的当前方形环中刚被编码的宏块,以及与在作为与当前方形环相邻的内部方形环的先前方形环中的与将被编码的宏块相邻的宏块中的至少一个的信息以8×8块为单位执行帧内预测来对视频编码。
当将被编码的宏块是在原点宏块的编码完成后的第一宏块,或者存在将被编码的宏块的两个参考宏块时,预测编码单元可使用原点宏块的每一块的DCT系数或者宏块A的每一块的离散余弦变换(DCT)系数来预测将被编码的宏块的每一块的DCT系数,其中,这两个参考宏块包括被包括在当前方形环中并且刚被编码的宏块A,以及包括先前方形环中并且与将被编码的宏块相邻的宏块D。
在预测编码单元首先预测在将被编码的宏块的块中与原点宏块相邻或者宏块A相邻的块之后,预测编码单元可预测剩余块。
当包括当前方形环中并且刚被编码的宏块A、包括在先前方形环中并且与将被编码的宏块相邻的宏块B、以及包含在先前方形环中并且与宏块A和B相邻的宏块D作为将被编码的宏块的参考宏块存在时,预测编码单元可使用宏块A、B、和D的块的DCT系数预测将被编码的宏块的每一块的DCT系数。
在将被编码的宏块的块中,预测编码单元首先可预测与预宏块A和B相邻的块EA、仅与宏块A相邻的块EB、或者仅与宏块B相邻的块EC、并且随后预测与块EB和EC相邻的块ED。
预测编码单元可包括参考宏块搜索单元,用于搜索包含在当前方形环中的参考宏块以及包括先前方形环中并且与将被编码的宏块相邻的参考宏块;参考宏块位置确定单元,用于如果仅原点宏块存在则确定原点宏块为A;如果两个宏块存在,各被包含在当前方形环和先前方形环中,则确定包含在当前方形环中的宏块为A并且包含在先前方形环中的宏块为D;并且如果一个宏块包含在当前方形环中并且至少两个宏块包含在先前方形环中,则确定包含在当前方形环中并且刚被编码的宏块为A,确定在先前方形环中与将被编码的宏块相邻的宏块为B,并且确定与宏块A和B相邻并且包含在先前方形环中的宏块为D;和帧内预测单元,使用确定的参考宏块A、B、和D,以将被编码的宏块的块的预定扫描顺序对宏块编码。
预测编码单元可包括帧内预测模式确定单元,用于使用被确定以确定扫描顺序的参考宏块A、B、和D确定具有将被编码的宏块与根据扫描顺序在帧内预测模式下的每一预测的宏块之间的绝对差的最小和的预测模式。
预测编码单元可包括离散余弦变换单元,用于对帧内预测的宏块和将被编码的宏块之间的差执行DCT;量化单元,用于量化变换的DCT系数;纹波扫描单元,从由量化的DCT系数组成的帧的原点宏块开始扫描并且在纹波扫描方向上继续扫描下一方形环的宏块;和熵编码单元,用于对纹波扫描的数据采样熵编码。
根据本发明另一方面,提供一种预测解码器,包括预测解码单元,从视频帧的感兴趣区域预定的原点宏块开始预测,在关于包括宏块并且环绕原点宏块的方形环的纹波扫描方向上继续预测,并且使用关于在包括将被解码的宏块的当前方形环中刚被解码的宏块以及在与作为当前方形环相邻的内部方形环的先前方形环中与将被解码的宏块相邻的宏块中的至少一个的信息通过以8×8块为单位执行帧内预测来解码视频。
当将被解码的宏块是在原点宏块的解码完成之后的第一宏块或者存在将被解码的宏块的两个参考宏块时,预测解码单元可使用原点宏块的每一块的离散余弦变换(DCT)系数或者宏块A的每一块的DCT系数来预测将被解码的宏块的每一宏块的DCT系数,其中,所述的两个参考宏块包括被包含在具有将被解码并且刚被解码的当前方形环中的宏块A,以及被包含在先前方形环中并且与将被解码的宏块相邻的宏块D。
预测解码单元可在预测解码单元首先预测在将被解码的宏块的块中的与原点宏块或宏块A相邻的块之后预测剩余块。
当被包含在当前方形环中并且刚被解码的宏块A、被包含在先前环中并且与将被解码的宏块相邻的宏块B、以及被包含在先前方形环中并且与宏块A和B相邻的宏块D作为将被解码的宏块的参考宏块而存在时,预测解码单元可使用宏块A、B、和D的块的DCT系数预测将被解码的宏块的每一块的DCT系数。
在将被解码的宏块的块中,预测编码单元可首先预测与宏块A和B相邻的块EA、仅与宏块A相邻的块EB、或者仅与宏块B相邻的块EC、并且随后预测与块EB和EC相邻的块ED。
预测解码单元可包括参考宏块搜索单元,用于搜索包含在当前方形环中的参考宏块以及包括先前方形环中并且与将被解码的宏块相邻的参考宏块;参考宏块位置确定单元,用于如果仅原点宏块存在则确定原点宏块为A;如果两个宏块存在,各被包含在当前方形环和先前方形环中,则确定包含在当前方形环中的宏块为A并且包含在先前方形环中的宏块为D;并且如果一个宏块被包含在当前方形环中并且至少两个宏块被包含在先前方形环中,则确定包含在当前方形环中并且刚被解码的宏块为A,确定在先前方形环中与将被编码的宏块相邻的宏块为B,并且确定与宏块A和B相邻并且被包含在先前方形环中的宏块为D;和帧内预测单元,使用确定的参考宏块A、B、和D以将被解码的宏块的块的预定扫描顺序对宏块解码。
预测解码单元可包括帧内预测模式确定单元,用于使用被确定用于确定扫描顺序的的参考宏块A、B和D,以根据扫描顺序的帧内预测模式来确定具有在将被解码的宏块与每个预测宏块之间的差值的绝对值的最小的和的预测模式。
预测解码器可包括熵解码单元,用于对从预测编码器接收的比特流进行熵解码;纹波扫描单元,用于从由熵解码数据采样组成的帧的原点宏块开始扫描并且在纹波扫描方向上继续扫描下一个方形环的宏块;逆量化单元,用于对纹波扫描的数据采用进行逆量化;逆离散余弦变换(IDCT)单元,用于对逆量化的数据采样执行IDCT;以及加法器,用于将由被逆量化的和被IDCT的系数组成的宏块加到预测的宏块上。
根据本发明的另一方面,提供了一种预测编码方法,包括通过从视频帧的感兴趣区域的原点宏块来开始预测,按关于包含宏块并且包围原点宏块的方形环的纹波扫描的方向继续预测,以及通过使用关于在包含将被编码的宏块的当前方形环中刚被编码的宏块和在作为与当前方形环相邻的内部方形环的先前方形环中的与将被编码的宏块相邻的至少一个宏块的信息,以8×8块为单位执行帧内预测来进行视频编码。
根据本发明的另一方面,提供了一种预测解码方法,包括通过从视频帧的感兴趣区域的原点宏块来开始预测,按关于包含宏块并且包围原点宏块的方形环的纹波扫描的方向继续预测,以及通过使用关于在包含将被解码的宏块的当前方形环中已被解码的宏块和在作为与当前方形环相邻的内部方形环的先前方形环中的与将被解码的宏块相邻的至少一个宏块的信息,以8×8块单元执行帧内预测来进行视频解码。
本发明的附加的和/或其它方面和优点将在接下来的描述中被部分阐述,另外的部分通过描述将变得清楚或可通过本发明的实施来理解。


通过下面结合附图进行的详细描述,本发明的这些和/或其他方面和优点将会变得清楚和更容易理解,其中图1显示根据传统技术的在光栅扫描方向上帧内预测编码所需的参考块;图2是用于解释根据传统技术使用8×8DCT系数的帧内预测编码的示图;图3A和3B是用于解释根据传统技术的FMO模式3box-out扫描的示图;
图4是用于解释根据扫描在方形中心开始并且以方形环形状继续的顺序执行帧内预测编码的当前方形环中的宏块的位置的示图;图5A(部分(a1)和(a2))和5B(部分(b1)和(b2))显示根据本发明实施例当在原点块或者宏块被编码之后仅存在第一块时基于逐块的预测编码的扫描顺序;图6A至6D(各个部分(a1)至(d2))显示根据本发明实施例当仅存在两个参考宏块时基于逐块的帧内预测编码的扫描顺序,其中两个参考宏块包括与具有将被编码的宏块的方形环直接内部相邻的方形环中的宏块D,以及包含在具有将被编码的宏块的相同方形环中刚被编码并且可被参考的宏块(A);图7A至7H(各个部分(a1)至(h2))显示根据本发明实施例当至少三个参考宏块存在时的基于逐块的帧内预测,其中,至少三个参考宏块包括被包括于具有将被编码的宏块的相同方形环中,刚被编码,并且可被参考的一个宏块,以及包含在与具有将被编码的宏块的方形环直接内部相邻的方形环中的至少两个宏块;图8是根据本发明实施例的帧内预测编码器的示意性方框图;图9是根据本发明实施例帧内预测解码器的示意性方框图;图10是图8中显示的帧内预测模式选择单元的详细方框图;图11是示出根据本发明实施例帧内预测编码方法的流程图;图12是示出图11中显示的帧内预测过程的详细流程图;图13是示出根据本发明实施例帧内预测解码的流程图;和图14是示出图13中显示的帧内预测过程的详细流程图。
具体实施例方式
现在,详细描述本发明的实施例,其示例在附图中表示,其中,相同的标号始终表示相同的部件。以下通过参考附图描述实施例以解释本发明。
图4是用于解释根据扫描以方形中心开始并且以方形环的形状继续的顺序执行帧内预测编码的当前方形环中的宏块的位置的示图。
在图4中显示的图像帧中,在中心用A标记的宏块是原点宏块或者中心宏块,并且围绕原点宏块的宏块1、2、3、4、5、6、7、和8形成方形环。在根据本发明实施例的ROI扫描方法中,原点宏块被首先编码,并且围绕原点宏块并且形成方形环的宏块随后被编码。如此,在ROI扫描方法中,就像洋葱皮从洋葱中心被剥开或者纹波被创建那样编码宏块。帧内预测编码根据每一宏块的位置以及扫描的顺序而不同。相同的情况被应用到解码。
换句话说,如图4所示,为了以在由宏块组成的方形的中心开始扫描并且以方形环的形状继续的顺序以块或宏块为单位适应地执行帧内预测编码,预测所需的参考块或参考宏块的位置根据方形环的四行,即顶行、底行、左行、和右行而不同,并且帧内预测编码根据扫描的方向被分为两种方法。
根据其中方形环从内部到外部层叠的ROI中心扫描的特征,参考宏块可能位于将被编码的片、VOP、或帧的外面。因此,可存在以下情况(a)仅存在一个可被参考的宏块;(b)仅存在两个可被参考的宏块,其中这两个宏块包含在从正被编码的宏块向着原点宏块的对角线方向的内部的相邻方形环的行的宏块,以及在具有正被编码的宏块的相同方形环内刚被编码并且可被参考的宏块;和(c)存在至少三个可被参考的宏块,其中,这三个宏块包含在具有正被编码的宏块的当前方形环内在扫描方向上刚被编码并且可被参考的宏块,以及与具有朝向原点宏块的将被编码的宏块的当前方形环直接内部相邻的当前方形环的至少两个宏块。
在(a)的情况下,ROI中心扫描中,在位于初始原点(通常是位于图像帧的中心)的原点宏块编码或解码完成之后,第一块或宏块被编码或解码。用1、2、3、和4标记的宏块用这种方式被编码或解码。将参照图5A和5B来解释这种情况的帧内预测。
在(b)的情况下,即当存在可被参考的总共两个宏块时,其中,这两个宏块包含在从将被编码的宏块到原点宏块的对角线方向的内部的相邻方形环的行的宏块,以及在具有将被编码的宏块的当前方形环内刚被编码并且可被参考的宏块,以将被编码的宏块为基准,刚被编码并且包含在与具有将被编码的宏块的方形环内部相邻的先前方形环中的宏块由于扫描方向一直位于相对于当前宏块的对角线方向上。其结果是,相应的信息不可靠。因此,仅位于具有将被编码的宏块的当前方形环内并且正好在扫描方向上已经被编码的宏块信息可靠,并且可被用于帧内预测。用5、6、7、和8标记的宏块以这种方式被编码或解码。这种情况的帧内预测将参照图6A至6D来解释。
在(c)的情况下,存在包含在具有将被编码的宏块的当前方形环中的正好已经在扫描方向上被编码并且可被参考的一个宏块,存在可被参考并且被包含在先前方形环中的至少两个宏块,所述先前方形环在向着原始宏块的方向上与具有将被编码的宏块的当前方形环内向地相邻,用图4中的9、10、11、和12标记的宏块相应于可被参考的这种宏块。参照图4,在(c)的情况下,存在与在具有宏块E的当前方形环中的宏块E相邻的宏块A,存在与在刚被编码的先前方形环中的宏块E与相邻的宏块B,并且存在与宏块A和宏块B相邻的宏块D。将参照图7A至7H对(c)情况的帧内预测进行描述。
图5A和5B显示根据本发明实施例在原点块或宏块被编码之后第一块或宏块的帧内预测的扫描顺序。在这种情况下,在将被编码的宏块F中,优选地,与原点宏块相邻的两个块首先被预测并且剩余的两个宏块随后被预测。
图5A的部分(a1)和(a2)显示当将被编码的宏块位于原点宏块的左侧时的两个扫描顺序。图5B的部分(b1)和(b2)显示当将被编码的宏块位于原点宏块的右侧时的两个扫描顺序。
首先,参照图5A的部分(a1),扫描顺序是F2-->F4-->F1-->F3。
换句话说,在宏块F的块F2的帧内预测中,使用(原点)宏块O的块O1的DC值而预测块F2的DC值。
在宏块F的块F4的帧内预测中,块F4的DC值使用块O1、O3、和F2的DC值而被如下预测。
如果|O1_DC-O3_DC|<|O1_DC-F2_DC|,则F4_DC=F2_DC否则,F4_DC=O3_DC在块F1的帧内预测中,块F1的DC值使用块F2的DC值而被预测。
另外,在块F3的帧内预测中,块F3的DC值使用块F1、F2、和F4的DC值而被如下帧内预测。
如果|F2_DC-F1_DC|<|F2_DC-F4_DC|,则F3_DC=F4_DC否则,F3_DC=F1_DC参照图5A的部分(a2),扫描顺序是F2-->F4-->F3-->F1。
在宏块F的块F2的帧内预测中,块F2的DC值使用(原点)宏块O的块O1的DC值而被预测。
在块F4的帧内预测中,块F4的DC值使用块O1、O3、和F2的DC值而被预测如下。
如果|O1_DC-O3_DC|<|O1_DC-F2_DC|,则F4_DC=F2_DC否则,F4_DC=O3_DC在块F3的帧内预测中,块F3的DC值使用块F4的DC值而被帧内预测。
另外,块F1的DC值使用块F2、F4、和F3的DC值而被帧内预测,如下如果|F4_DC-F2_DC|<|F4_DC-F3_DC|,则F1_DC=F3_DC否则,F1_DC=F2_DC另外,扫描顺序,即F2-->F1-->F4-->F3可被使用,但是与当最接近原点宏块的块F2和F4被优选预测时相比其不能被充分地使用参考块的信息。
下面,当将被编码的宏块位于原点宏块的右侧时的扫描顺序将被描述。
首先,参照图5B的部分(b1),扫描顺序是F1-->F3-->F2-->F4。
在宏块F的块F1的帧内预测中,块F1的DC值使用(原点)宏块的块O2的DC值而被预测。
在块F3的帧内预测中,块F3的DC值使用块O2、O4、和F1的DC值而被预测如下。
如果|O2_DC-O4_DC|<|O2_DC-F1_DC|,则F3-DC=F1-DC否则,F3_DC=O4_DC在块F2的帧内预测时,块F2的DC值使用块F1的DC值而被预测。
在块F4的帧内预测中,块F4的DC值使用块F1、F2、和F3的DC值而被预测如下。
如果|F1_DC-F3_DC|<|F1_DC-F2_DC|,则F4_DC=F2_DC否则,F4_DC=F3_DC参照图5B的部分(b2),扫描顺序是F1-->F3-->F4-->F2。
在宏块F的块F1的帧内预测中,块F1的DC值使用(原点)宏块的块O2的DC值而被预测。
在块F3的帧内预测中,块F3的DC值使用块O2、O4、和F1的DC值而被帧内预测,如下如果|O2_DC-O4_DC|<|O2_DC-F1_DC|,则F3_DC=F1_DC否则,F3_DC=O4_DC在F4的帧内预测中,块F4的DC值使用块F3的DC值而被预测。
在块F2的帧内预测中,块F2的DC值使用块F1、F3、和F4的DC值而被预测如下。
如果|F3_DC-F1_DC|<|F3_DC-F4_DC|,则F2_DC=F4_DC否则,F2_DC=F1_DC
另外,扫描顺序,即F1-->F2-->F3-->F4可被使用,但是与当最接近原点宏块的块F1和F3被优选预测时比较,其不能充分地使用参考块的信息。
如此,在(a)的情况下,除了效率较低的第三扫描顺序以外的两个扫描顺序可被应用。换句话说,一个是与原点宏块相邻的两个块被首先预测,剩余两个块中的一个被预测,和最后的块被预测的N形状扫描顺序。另一个是与原点宏块相邻的两个块被首先预测,与首先预测宏块相对方向的剩余两个宏块中的一个被预测,和最后宏块被预测的a形状扫描。就系统来说,两个扫描顺序中的一个可被预先确定,并且可以以预定扫描顺序来执行预测。此外,在使用这两个扫描顺序执行预测之后,带来更好效果的其中一个被选择,并且随后使用被选择的扫描顺序来执行预测。这使得系统更复杂。然而,其更有效。
图6A至6D显示根据本发明实施例当仅存在两个参考宏块时基于逐块帧内预测编码的扫描顺序,其中,两个参考宏块包括与具有将被编码的宏块的当前方形环直接内部相邻的先前方形环的宏块D,以及包含在具有将被编码的宏块的当前方形环中,刚被编码,并且可被参考的宏块(A)。
如此,当两个宏块与将被编码的宏块相邻存在时,可存在如图6A至6D所示的四种情况。
如图6A所示,从将被编码的宏块的观点看,刚被编码并且与具有将被编码的当前方形环内部相邻的先前方形环的宏块(D)位于与将被编码的宏块的对角。其结果是,宏块(D)内的信息不能被一直可靠使用。因此仅在具有将被编码的宏块的当前方形环中刚被编码的宏块A的信息可靠,并且帧内预测可在宏块E中以块为单位被执行。
图6A和6B中显示的情况可以与如图5A和5B相同的方式被处理。换句话说,当图5A和5B的(原点)宏块O被认为是图6A和6B的宏块A并且图5A和5B的宏块F被认为是图6A和6B的宏块E时,图6A和6B中显示的情况可以以如图5A和5B相同的方式被处理。
在图6C的情况下,总共有三种方法可被用于在宏块E中以块单元的帧内预测。
参照图6C的部分(c1),扫描顺序是E1-->E2-->E3-->E4。
在宏块E的块E1的帧内预测中,块E1的DC值使用参考宏块A的块A3的DC值而被预测。
在块E2的帧内预测中,块E2的DC值使用块A3、A4、和E1的DC值而被预测如下。
如果|A3_DC-A4_DC|<|A3_DC-E1_DC|,则E2_DC=E1_DC否则,E2_DC=A4_DC在块E3的帧内预测中,块E3的DC值使用块E1的DC值而被预测。
在块E4的帧内预测中,块E4的DC值使用块E1、E2、和E3的DC值而被预测如下。
如果|E1_DC-E3_DC|<|E1_DC-E2_DC|,则E4_DC=E2_DC否则,E4_DC=E3_DC参照图6C的部分(c2),扫描顺序是E1-->E2-->E4-->E3。
在宏块E的块E1的帧内预测中,块E1的DC值使用参考宏块A的块A3的DC值而被预测。
在块E2的帧内预测中,使用块A3、A4和E1的DC值预测块E2的DC值,如下如果|A3_DC-A4_DC|<|A3_DC-E1_DC|,则E2_DC=E1_DC否则,E2_DC=A4_DC在块E4的帧内预测中,使用块E2的DC值来预测块E4的DC值。
在块E3的帧内预测中,使用块E1、E2和E4的DC值预测块E3的DC值,如下如果|E2_DC-E1_DC|<|E2_DC-E4_DC|,则E3_DC=E4_DC否则,E3_DC=E1_DC此外,可使用扫描顺序,即,E1-->E3-->E2-->E4,但在与当和参考宏块最接近的块E1和E2被优先预测时相比,不能充分使用参考宏块的信息。
在图6D的情形中,总共三种方法可被用于在宏块E中的块单元中的帧内预测。
参照图6D的部分(d1),扫描顺序是E3-->E4-->E1-->E2。
在宏块E的块E3的帧内预测中,使用参考宏块A的块A1的DC值预测块E3的DC值。
在块E4的帧内预测中,使用块A1、A2和E3的DC值预测块E4的DC值,如下如果|A1_DC-A2_DC|<|A1_DC-E3_DC|,则E4_DC=E3_DC
否则,E4_DC=A2_DC在块E1的帧内预测中,使用块E3的DC值预测块E1的DC值。
在块E2的帧内预测中,使用块E1、E3和E4的DC值预测块E2的DC值,如下如果|E3_DC-E1_DC|<|E3_DC-E4_DC|,则E2_DC=E4_DC否则,E2_DC=F1_DC参照图6D的部分(d2),扫描顺序是E3-->E4-->E2-->E1。
在宏块E的块E3的帧内预测中,使用参考宏块A的块A1的DC值预测块E3的DC值。
在块E4的帧内预测中,使用块A1、A2和E3的DC值预测块E4的DC值,如下如果|A1_DC-A2_DC|<|A1_DC-E3_DC|,则E4_DC=E3_DC否则,E4_DC=A2_DC在块E2的帧内预测中,使用块E4的DC值预测块E2的DC值。
在块E1的帧内预测中,使用块E2、E3和E4的DC值预测块E1的DC值,如下如果|E4_DC-E3_DC|<|E4_DC-E2_DC|,则E1_DC=E2_DC否则,E1_DC=E3_DC此外,可使用扫描顺序,即,E3-->E1-->E4-->E2,但与当和参考宏块最接近的块E3和E4被优先预测时相比,不能充分使用参考宏块的信息。
这样,在(b)的情形中,可应用除了较低效率的第三扫描顺序之外的两种扫描顺序。换句话说,一种是N字形扫描顺序,在该扫描顺序中,与宏块A相邻的两个块首先被预测,剩下两个块中的一个块被预测,最后一个块被预测;另一种是ㄈ字形扫描顺序,在该扫描顺序中,与宏块A相邻的两块首先被预测,剩下两个块中的与首先被预测的宏块方向相对的一个块被预测,最后一个块被预测。就系统而言,可预定两种扫描顺序中的一种并且可以预定的扫描顺序来执行预测。另外,在使用两种扫描顺序执行预测后,其中有较好结果的一种被选择,接着使用选择的扫描顺序执行预测。这样使得系统更加复杂。但是,这样效率更高。
如图5A到6D所示,在ROI扫描中,对在初始原点,即位于图像帧的中心的宏块的编码或解码之后第一宏块被编码或解码的情形中,以及两个参考宏块存在,所述两个参考宏块包括包含在与具有将被编码的宏块的当前方形环向内相邻的先前方形环中的宏块,和在具有将被编码的宏块的同一方形环中刚被编码并且可被参考的宏块的,这样的情形中,使用同样的方法和装置,可执行在块单元中的帧内预测编码。
图7A到图7H示出了根据本发明实施例的当至少三个参考宏块存在时在逐块的基础上的帧内预测,其中所述的至少三个参考宏块包括包含在具有将被编码的当前方形环中的刚被编码并且可被参考的宏块,以及包含在与具有将被编码的宏块的当前方形环直接向内相邻的先前的方形环中的至少两个宏块。
使用下述方法和装置处理用于在块单元中的将被编码的宏块的帧内预测的情形,在该情形中,存在一个宏块在当前方形环中刚被编码并且可被参考的宏块,以及在与具有将被编码的宏块的当前方在块单元中。首先,将被帧内预测并且与参考宏块相邻的宏块E定义如下。
存在于具有宏块E的当前方形环中并且先于宏块E被编码的宏块被定义为宏块A。
与宏块E相邻并且存在于刚被编码的先前方形环中的宏块被定义为宏块B。
与宏块A和B相邻并且存在于刚被编码的先前的方形环中的宏块定义为宏块D。
通过使用上述定义的参考宏块A、B和D,宏块E的帧内预测在块单元中如下被执行。
(1)EA的帧内预测在宏块E中,当与宏块A、B和D同时相邻的块被定义为块EA,与块EA相邻并且包含在宏块A中的块定义为块AA,与块EA相邻并且包含在宏块B中的块被定义为块BA,以及与块EA相邻并且包含在宏块D中的块定义为DA时,EA的帧内预测执行如下,如果|DA_DC-AA_DC|<|DA_DC-BA_DC|,则EA_DC=BA_DC否则,EA_DC=AA_DC(2)EB的帧内预测当与块EA和宏块A同时相邻的块被定义为块EB,而且与块EB相邻并且包含在宏块A中的块被定义为块AB时,使用块AA、EA和AB来执行块EB的帧内预测,如下,如果|AA_DC-AB_DC|<|AA_DC-EA_DC|,则EB_DC=EA_DC否则,EB_DC=AB_DC(3)EC的帧内预测当与块EA和宏块B同时相邻的块被定义为块EC,而且与块EC相邻并且包含在宏块B中的块定义为块BB时,使用块BA、EA和BB来执行块EC的帧内预测,如下,如果|BA_DC-BB_DC|<|BA_DC-EA_DC|,则EC_DC=EA_DC否则,EC_DC=BB_DC(4)ED的帧内预测当与宏块E中的块EA、EB和EC同时相邻的块被定义为块ED时,使用块EA、EB和EC来执行块ED的帧内预测,如下,如果|EA_DC-EB_DC|<|EA_DC-EC_DC|,则ED_DC=EC_DC否则,ED_DC=EB_DC根据以上所述的四种方法,可使用相同的方法,以EA-->EB-->EC-->ED或EA-->EC-->EB-->ED的扫描顺序在编码器侧和解码器侧执行帧内预测。
换句话说,当存在用于将被编码的宏块E的预测的参考宏块A、B和D时,按第一预测顺序,与宏块A和B相邻的块EA首先被预测,与宏块A相邻的块EB被预测,与宏块B相邻的块EC被预测,接着,与块EB和EC相邻的块ED被预测。按第二预测顺序,与宏块A和B相邻的块EA首先被预测,与宏块B相邻的块EC被预测,与宏块A相邻的块EB被预测,然后,与块EB和EC相邻的块ED被预测。在第一和第二扫描顺序中的任意一种扫描顺序中,与宏块A和B同时相邻的块EA首先被预测,与块EB和EC同时相邻的块ED最后被预测。但是,两种扫描顺序根据块EC和EB中的哪一个先被预测而不同。
图7A的部分(a1)和(a2)示出当将被编码的宏块位于图4中的13时的两种预测顺序,图7B的部分(b1)和(b2)示出当将被编码的宏块位于图4中的14时的两种预测顺序,图7C的部分(c1)和(c2)示出当将被编码的宏块位于图4中的15时的两种预测顺序,图7D的部分(d1)和(d2)示出当将被编码的宏块位于图4中的16时的两种预测顺序,图7E的部分(e1)和(e2)示出当将被编码的宏块位于图4中的9时的两种预测顺序,图7F的部分(fl)和(f2)示出当将被编码的宏块位于图4中的10时的两种预测顺序,图7G的部分(g1)和(g2)示出当将被编码的宏块位于图4中的11时的两种预测顺序,图7H的部分(h1)和(h2)示出当将被编码的宏块位于图4中的12时的两种预测顺序。
在(c)的情形下,除了效率较低的第三种扫描顺序以外的两种扫描顺序可被应用。换句话说,一种是与宏块A相邻的块首先被预测,与宏块B相邻的块被预测,最后的块被预测的N字形扫描顺序。另一种是与宏块B相邻的块首先被预测,与宏块A相邻的块被预测,最后的块被预测的扫描方式。就系统而言,两种扫描顺序中的一种可被预定,并且可根据预定的扫描顺序来执行预测。此外,在使用两种扫描顺序执行预测后,选择其中带来较好结果的一种,然后使用选择的扫描顺序执行预测。
图8是根据本发明实施例的帧内预测编码器的示意性方框图。
参照图8,帧内预测编码器包括帧内预测模式选择单元1、帧内预测单元2、运动估计单元3、运动补偿单元4、减法单元5、DCT变换单元6、量化单元7、纹波扫描单元8、熵编码单元9、逆量化单元10、逆DCT变换单元11、加法器12以及滤波器13。
帧内预测编码器包括两个数据流动路径。一是从左向右运行的前向路径,另一是从右向左运行的重建路径。
首先,将描述前向路径。
输入帧Fn被提供以预测编码。以每个对应于原始图像的16×16象素的宏块单元来处理帧。每个宏块以帧内或帧间模式编码。基于重建帧,以帧内和帧间模式的任意一种来创建预测宏块P。
在帧间模式中,在由运动估计单元3基于至少一个参考帧F’n-1进行运动估计和由运动补偿单元4进行运动补偿之后,通过运动补偿的预测创建预测宏块P。参考帧由先前编码的F’n-1指示。但是,可通过使用一个或两个先前编码和重建的过去的帧执行每个宏块的预测。
在帧内模式中,预测的宏块P根据先前被编码、解码、然后重建的当前帧n(图8中的uF’n)的采样被创建。
根据本发明第一实施例,当在每块的帧内预测中扫描顺序被预定时,帧内预测编码器仅对帧内预测单元2而不对帧内预测模式选择单元1进行操作。换句话说,帧内预测单元2基于uF’n以预定扫描顺序来执行每个宏块的块的预测。在本发明第一实施例中,帧内预测单元2执行图10中帧内预测模式选择单元1的大部分功能,但与之不同的是帧内预测模式不是被选择而是被预定。
根据本发明的第二实施例,帧内预测模式选择单元1在与帧内预测单元2结合时进行操作。换句话说,帧内预测模式选择单元1基于uF’n以将被编码的宏块的块的扫描顺序来选择最适合的预测模式,帧内预测单元2根据所选择的预测模式执行帧内预测。
由减法单元5从当前宏块中减去预测宏块P,从而差宏块Dn被创建。差宏块Dn由DCT变换单元6进行DCT变换,然后由量化单元7进行量化,从而被量化的变换系数X被创建。这些系数X由纹波扫描单元8进行纹波扫描,然后由熵编码单元9进行熵编码。熵编码的系数X以及宏块的解码所需附加信息被创建为压缩的比特流。所述附加信息包括帧内预测模式信息、量化操作大小信息、以及运动矢量信息。特别地,当根据本发明第二实施例选择帧内预测模式时,如图8所示的帧内预测模式信息包括关于由帧内预测模式选择单元1选择的并且可用2比特表示来指示在本发明实施例中所使用的4种模式的帧内预测模式的信息。这些被压缩的比特流被传送到网络提取层(NAL)用于传输或存储。
重建的路径如下。
编码的宏块系数X被解码以重建用于其它宏块的编码的帧。换句话说,编码的宏块系数X被逆量化单元10进行逆量化,并且被逆DCT变换单元11进行逆DCT变换。结果,差宏块D’n被创建,其因信号损耗的影响而与原点差值宏块Dn不同。
预测宏块P被加法器12加到差宏块D’n上,从而创建重建的宏块uF’n。重建的宏块uF’n是原点宏块的失真版本。为了减小这种失真的影响,滤波器13被加入,而且重建的参考帧根据宏块F’n被创建。
图9是根据本发明实施例的帧内预测解码器的示意性方框图。
参照图9,帧内预测解码器包括熵解码单元21、纹波扫描单元22、逆量化单元23、逆DCT变换单元24、加法器25、运动估计单元26、滤波器27、以及帧内预测单元2。
帧内预测解码器从NAL接收压缩的比特流。数据元素由熵解码单元21进行熵解码。此时,宏块解码所需的附加信息,尤其是根据本发明第二实施例的帧内预测模式信息被提取。帧内预测模式信息被传送到帧内预测单元2并且被用于帧内预测模式的选择。在本发明第一实施例中,由于帧内预测的扫描顺序被预定,所以不需要帧内预测模式信息。如上所述的熵解码的数据采样被纹波扫描单元22重排以创建一组量化的系数X。逆量化单元23对重排数据进行逆量化,逆DCT变换单元24对重排数据进行逆DCT变换,从而D’n被创建。
在本发明第一实施例中,帧内预测单元2以预定扫描顺序执行帧内预测并且创建预测宏块P。在本发明第二实施例中,帧内预测单元2通过参照由熵解码单元21提取的头部信息,尤其是本发明实施例的帧内预测模式信息,根据帧内预测模式来执行帧内预测,接着创建预测宏块P。
在本发明第一实施例和第二实施例的任一个中,帧内预测单元2以预定扫描顺序或根据帧内预测模式信息的扫描顺序来执行如图5A到7H所示的帧内预测。
预测宏块P与由帧内预测编码器创建的原点预测宏块P相同。预测宏块P被加法器加到D’n,从而uF’n被创建。uF’n被滤波器27滤波,从而解码的宏块F’n被创建。
图10是在图8中所示的帧内预测模式选择单元1的详细结构图。
参照图10,帧内预测模式选择单元1包括参考宏块搜索单元14,参考宏块位置确定单元15,以及帧内预测模式确定单元16。
参照以ROI为中心的扫描的扫描方向,参考宏块搜索单元14搜索与将被编码宏块相邻并且在包括将被编码的宏块的当前方形环中的参考宏块,以及与将被编码宏块相邻并且在先前方形环中的参考宏块。
参考宏块位置确定单元15确定将被用于将被编码的宏块的预测的参考宏块的位置。如果仅存在初始原点宏块,则其被标记A。如果存在两个宏块,每个宏块包含在具有将被编码的宏块的当前方形环和先前的方形环中,则包含在当前方形环中的宏块被标记A,另一宏块被标记D。如果一个宏块被包含在当前方形环中,并且至少两个宏块被包含在先前方形环中,则包含在在包括宏块E的当前方形环中并紧在宏块E之前被编码的宏块被标记A,与宏块E相邻并且被包含在刚被编码的先前方形环中的宏块被标记B,与宏块A和B相邻并且被包含在刚被编码的先前方形环中的宏块被标记D。
帧内预测模式确定单元16使用被确定的参考宏块A、B和D来确定具有最小SAD的模式作为预测模式。这里,模式根据扫描顺序指示预测顺序。换句话说,当存在参考宏块A或存在参考宏块A和D时,通过使用两个模式,即仅关于宏块A的信息的模式0和模式1,帧内预测模式确定单元16确定具有较小SAD的模式作为帧内预测模式。如果存在参考宏块A、B和D,则根据两种模式,也就是使用宏块A、B和D的信息的模式2和模式3,帧内预测模式确定单元16计算在宏块E和预测宏块之间的SAD并且确定具有较小SAD的模式作为帧内预测模式。换句话说,在使用模式0和模式1计算宏块E的预测的DC值之后,获得在实际DC值和预测DC值之间的SAD并且选择具有较小SAD的模式。
实际上,当将被编码的宏块E的块的DC值是EA_DC、EB_DC、EC_DC和ED_DC,并且预测的宏块P的块的DC值是E’A_DC、E’B_DC、E’C_DC和E’D_DC时,SAD由下式给出SAD=|EA_DC-E’AA_DC|+|EB_DC-E’B_DC|+|EC_DC-E’C_DC|+|ED_DC-E’D_DC|图11是示出根据本发明实施例的帧内预测编码方法的流程图。
参照图11,在操作110中,宏块在以ROI为中心的扫描的扫描方向上从帧的中心被接收。
在操作120中,执行包括操作121和122的帧内预测。在操作121中,根据本发明第一实施例选择帧内预测模式用于帧内预测。在操作122中,根据所选择的预测模式或以根据本发明第二实施例的预定扫描顺序来执行帧内预测。随后将参照图12详细描述帧内预测。
在操作130中,帧内预测的帧被DCT变换。
在操作140中,DCT变换的帧被量化。
在操作150中,被量化的帧从其中心被纹波扫描。
在操作160中,纹波扫描的数据被熵编码。在熵编码中,关于根据本发明第二实施例在帧内预测中选择的帧内预测模式的信息被插入到纹波扫描数据中,被熵编码,然后被传送到帧内预测解码器端。
图12是示出图11中所示的帧内预测操作120的的详细流程图。
现将参照图12描述第一实施例。
首先,在操作201中,参照以ROI为中心的扫描的扫描方向搜索与将被编码的宏块相邻并且包含在包含将被编码的宏块的当前方形环中的参考宏块。此外,在操作201中,参照以ROI为中心的扫描的扫描方向搜索与将被编码宏块相邻并且包含在先前方形环中的参考宏块。
在操作202中,参考宏块的位置被确定。
换句话说,当仅存在初始原点宏块时,其被标记A。
此外,如果存在两个参考宏块,每个宏块包含在当前方形环和先前方形环中,则包含在当前方形环中的宏块被标记A,包含在先前方形环中的参考宏块被标记D。
如果一个宏块包含在当前方形环中,并且至少两个宏块包含在先前方形环中,则包含在含有宏块E的方形环中并且紧在宏块E之前被编码的宏块被标记A,与宏块E相邻并且包含在刚被编码的先前方形环中的宏块被标记B,与宏块A和B相邻并且包含在刚被编码的先前方形环中的宏块被标记D。
在操作203中,一旦参考宏块被确定,则检查是否存在所有参考宏块A、B和D。如果参考宏块A、B和D中的任一个不存在,则处理进入操作208。
如果仅存在参考宏块A或仅存在参考宏块A和D,则在操作204中,参考宏块A的信息被用于帧内预测。如果所有参考宏块A、B和D都存在,则在操作208中,使用参考宏块A、B和D的所有信息来执行帧内预测。
换句话说,在操作212中,在系统中以预定的扫描顺序来执行帧内预测。这种预测已经参考图5A到图7H进行了描述。
在本发明第二实施例中,由于预测模式没有被预定,所以执行每个模式,然后确定预测模式。仅在本发明第二实施例中执行的过程在图12中用虚线框标记。
在操作205中,使用两种模式,即仅使用宏块A的信息的模式0和模式1,来获得宏块E的预测的宏块。这里,模式0指示与宏块A相邻的两个块首先被预测,然后剩下的两块中的一块被预测的预测顺序,。模式1指示与宏块A相邻的两个块被首先预测,然后剩下的两块中的另一块被预测的预测顺序。
在操作206中,计算在宏块E和预测的宏块之间的SAD。换句话说,计算在宏块E和在模式0中获得的预测的宏块之间的SAD以及在宏块E和在模式1中获得的预测宏块之间的SAD。
在操作207中,具有较小SAD的模式被确定作为预测模式。
在操作212中,以确定的预测模式执行帧内预测。实际上,帧内预测意味着获得在操作205中已获得的预测宏块。
如果所有参考宏块A、B和D都存在,则在操作208中,使用参考宏块A、B和D的信息在宏块E中执行空间帧内预测。
换句话说,在操作209中,使用两种模式,即使用所有参考宏块A、B和D的信息的模式2和模式3,来获得宏块E的预测的宏块。这里,模式2指示同时与宏块A和B相邻的块首先被预测,与宏块A相邻的块被预测,与宏块B相邻的块被预测,最后的块被预测的预测顺序。模式3指示同时与宏块A和B相邻的块被预测,与宏块B相邻的块被预测,与宏块A相邻的块被预测,最后的块被预测的预测顺序。
在操作210中,计算在宏块E和预测的宏块之间的SAD。换句话说,计算在宏块E和在模式2中获得的预测宏块之间的SAD以及在宏块E和在模式3中获得的预测宏块之间的SAD。
在操作211中,具有在两个SAD中的最小SAD的模式被确定作为预测模式。
在操作212中,以确定的预测模式来执行帧内预测。实际上,帧内预测意味着获得在操作209中已经获得的预测宏块。
图13是示出根据本发明实施例的帧内预测解码的流程图。
参照图13,在操作310中,开始熵解码。在熵解码中,提取帧的头部信息和关于帧内预测模式的信息。
在操作320中,从通过熵解码创建的帧的中心执行纹波扫描。
在操作330中,纹波扫描的帧被逆量化。
在操作340中,逆量化的帧被逆DCT变换。
在操作350中,对逆DCT变换的帧执行帧内预测。此时,在本发明第一实施例中,以预定的扫描顺序执行帧内预测。在本发明第二实施例中,使用在操作310中获得的帧内预测模式信息来执行帧内预测。随后将参照图14详细描述帧内预测。
接下来,在操作360中,从帧内预测的帧重建帧。
图14是示出如图13所示的帧内预测的详细流程图。
参照图14,在操作401中,参照以ROI中心的扫描的扫描方向,搜索与将被解码宏块相邻并且包含在含有将被解码的宏块的当前方形环中的参考宏块。此外,在操作401中,参照以ROI中心的扫描的扫描方向,搜索与将被解码宏块相邻并且包含在先前方形环中的参考宏块。
在操作402中,参考宏块的位置被确定。
换句话说,如果仅存在初始原点宏块,则其被标记A。此外,如果存在分别包含在当前方形环和先前方形环中的两个宏块,则包含在当前方形环的宏块被标记A,另一宏块被标记D。
此外,如果一个宏块包含在当前方形环中,并且至少两个宏块包含在先前方形环中,包含在包括宏块E的当前方形环中并且紧在宏块E之前被解码的宏块被标记A,与宏块E相邻并且包含在刚被解码的先前方形环中的宏块被标记B,与宏块A和B相邻并且包含在刚被解码的方形环中的宏块被标记D。
一旦参考宏块被确定,则在操作403中,检查来自解码器侧的帧内预测模式信息。在本发明第一实施例中,由于在系统中帧内预测模式被预定,所以该预测模式的信息可被参照。在本发明第二实施例中,从解码器的帧内预测模式信息被接收并且可被参照。
在操作404中,如果帧内预测模式是模式0,则在操作405中,参照宏块A,以N字形扫描顺序,宏块A的DC值被映射到预测的宏块的DC值。
在操作406中,如果帧内预测模式是模式1,则在操作407中,参照宏块A,以ㄈ字形扫描顺序,宏块A的DC值被映射到预测的宏块的DC值。
在操作408中,如果帧内预测模式是模式2,则在操作409中,参照宏块A和B,以EA-->EC-->EB-->ED的扫描顺序,相邻宏块的DC值被映射到预测宏块的DC值。
在操作410中,如果帧内预测模式是模式3,则在操作411中,参照宏块A和B,以EA-->EB-->EC-->ED的扫描顺序,相邻宏块的DC值被映射到预测的宏块的DC值。
根据本发明的上述实施例,可以实现基于以ROI为中心的扫描而不是传统的光栅扫描的视频编/解码方法。
同时,帧内预测编/解码方面可在计算机可读记录介质上作为计算机可读代码被实施。计算机可读记录介质是可存储其后可被计算机系统读取的数据的任何数据存储装置。计算机可读的记录介质的例子包括只读存储器(ROM)、随机访问存储器(RAM)、CD-ROM、磁带、软盘、光数据存储设备,以及载波。计算机可读记录介质也可以是分布式的网络连接的计算机系统,从而计算机可读的代码以分布式方式被存储和执行。
虽然本发明的一些实施例已被示出和描述,但本发明不只限于所描述的实施例。本领域技术人员应理解,在不脱离由权利要求及其等同物所限定的本发明的原理和精神的情况下可对这些实施做出改动。
权利要求
1.一种预测编码器,包括预测编码单元,用于从视频帧的感兴趣区域的原点宏块开始预测,相对于包括宏块并且围绕原点宏块的方形环在纹波扫描的方向上继续预测,以及通过使用关于在包括将被编码的宏块的当前方形环中刚被编码的宏块和在与当前方形环相邻的内部方形环的先前方形环中与将被编码的宏块相邻的宏块中的至少一个宏块的信息,以8×8块为单位执行帧内预测来对视频编码。
2.如权利要求1所述的预测编码器,其中,当将被编码的宏块是在原点宏块的编码完成后的第一宏块,或者存在将被编码的宏块的两个参考宏块时,预测编码单元使用原点宏块的每一块的离散余弦变换(DCT)系数或者宏块A的每一块的DCT系数来预测将被编码的宏块的每一块的DCT系数,其中,所述的两个参考宏块包括被包括在当前方形环中并且刚被编码的宏块A,以及包括在先前方形环中并且与将被编码的宏块相邻的宏块D。
3.如权利要求2所述的预测编码器,其中,在预测编码单元首先预测在将被编码的宏块的块中与原点宏块相邻或者宏块A相邻的块之后,预测编码单元预测剩余的块。
4.如权利要求1所述的预测编码器,其中,当包含在当前方形环中并且刚被编码的宏块A、包含在先前方形环中并且与将被编码的宏块相邻的宏块B、以及包含在先前方形环中并且与宏块A和B相邻的宏块D作为将被编码的宏块的参考宏块存在时,预测编码单元使用宏块A、B、和D的块的DCT系数预测将被编码的宏块的每一宏块的DCT系数。
5.如权利要求4所述的预测编码器,其中,在将被编码的宏块的块中,预测编码单元首先预测与宏块A和B相邻的块EA、仅与宏块A相邻的块EB、或者仅与宏块B相邻的块EC、并且随后预测与块EB和EC相邻的块ED。
6.如权利要求2所述的预测编码器,其中,预测编码单元包括参考宏块搜索单元,用于搜索包含在当前方形环中的参考宏块以及包含在先前方形环中并且与将被编码的宏块相邻的参考宏块;参考宏块位置确定单元,用于当仅原点宏块存在时确定原点宏块为A;当分别包含在当前方形环和先前方形环中的两个宏块存在时,确定包含在当前方形环中的宏块为A并且包含在先前方形环中的宏块为D;并且当一个宏块被包含在当前方形环中并且至少两个宏块被包含在先前方形环中时,确定包含在当前方形环中并且刚被编码的宏块为A,确定在先前方形环中与将被编码的宏块相邻的宏块为B,并且确定与宏块A和B相邻并且被包含在先前方形环中的宏块为D;和帧内预测单元,使用确定的参考宏块A、B、和D以将被编码的宏块的块的预定扫描顺序对宏块编码。
7.如权利要求6所述的预测编码器,其中,预测编码单元还包括帧内预测模式确定单元,用于使用被确定以确定扫描顺序的参考宏块A、B、和D确定具有最小绝对差和的预测模式,所述的绝对差和是在将被编码的宏块与根据扫描顺序在帧内预测模式下的每一预测的宏块之间的差的绝对值的和。
8.如权利要求6所述的预测编码器,其中,预测编码单元包括离散余弦变换单元,用于对帧内预测的宏块和将被预测的宏块之间的差执行DCT;量化单元,用于量化变换的DCT系数;纹波扫描单元,从由量化的DCT系数组成的帧的原点宏块开始扫描并且在纹波扫描方向上继续扫描下一方形环的宏块;和熵编码单元,用于对纹波扫描的数据采样熵编码。
9.一种预测解码器包括预测解码单元,从视频帧的感兴趣区域的原点宏块开始预测,相对于包括宏块并且环绕原点宏块的方形环在纹波扫描方向上继续预测,并且使用关于在包括将被解码的宏块的当前方形环中刚被解码的宏块以及在作为与当前方形环相邻的内部方形环的先前方形环中与将被解码的宏块相邻的宏块中的至少一个的信息通过以8×8块为单位执行帧内预测来解码视频。
10.如权利要求9所述的预测解码器,其中,当将被编码的宏块是在原点宏块的解码完成之后的第一宏块或者存在将被解码的宏块的两个参考宏块时,预测解码单元使用原点宏块的每一块的离散余弦变换(DCT)系数或者宏块A的每一块的DCT系数来预测将被解码的宏块的每一块的DCT系数,其中,这两个参考宏块包括包含在具有将被解码的宏块的当前方形环中并且刚被解码的宏块A,以及包含在先前方形环中并且与将被解码的宏块相邻的宏块D。
11.如权利要求10所述的预测解码器,其中,在预测解码单元首先预测在将被解码的宏块的块中的与原点宏块或宏块A相邻的块之后,预测解码单元预测剩余块。
12.如权利要求9所述的预测解码器,其中,当包含在当前方形环中并且刚被解码的宏块A、包含在先前方形环中并且与将被解码的宏块相邻的宏块B、以及包含在先前方形环中并且与宏块A和B相邻的宏块D作为将被解码的宏块的参考宏块存在时,预测解码单元使用宏块A、B、和D的块的DCT系数预测将被解码的宏块的每一块的DCT系数。
13.如权利要求12所述的预测解码器,其中,在将被解码的宏块的块中预测解码单元首先预测与预宏块A和B相邻的块EA、仅与宏块A相邻的块EB、或者仅与宏块B相邻的块EC、并且随后预测与块EB和EC相邻的块ED。
14.如权利要求9所述的预测解码器其中,预测解码单元包括参考宏块搜索单元,用于搜索包含在当前方形环中的参考宏块以及包括先前方形环中并且与将被解码的宏块相邻的参考宏块;参考宏块位置确定单元,用于当仅原点宏块存在时确定原点宏块为A;当分别被包含在当前方形环和先前方形环中的两个宏块存在时,确定包含在当前方形环中的宏块为A并且包含在先前方形环中的宏块为D;并且当一个宏块被包含在当前方形环中并且至少两个宏块被包含在先前方形环中时,确定包含在当前方形环中并且刚被解码的宏块为A,确定在先前方形环中与将被解码的宏块相邻的宏块为B,并且确定与宏块A和B相邻并且被包含在先前方形环中的宏块为D;和帧内预测单元,使用确定的参考宏块A、B、和D以将被解码的宏块的块的预定扫描顺序对宏块解码。
15.如权利要求14所述的预测解码器,其中,预测解码单元还包括帧内预测模式确定单元,用于使用被确定以确定扫描顺序的参考宏块A、B、和D确定具有最小绝对差和的预测模式,所述的绝对差和是在将被编码的宏块与根据扫描顺序在帧内预测模式下的每一预测的宏块之间的差的绝对值的和。
16.如权利要求15所述的预测解码器,还包括熵解码单元,用于对从预测编码器接收的比特流进行熵解码;纹波扫描单元,从由熵解码的数据采样组成的帧的原点宏块开始扫描并且在纹波扫描方向上继续扫描下一方形环的宏块;和逆量化单元,用于逆量化纹波扫描的数据采样;逆离散余弦变换(IDCT)单元,用于对逆量化的数据采样执行IDCT;和加法器,用于将由逆量化和IDCT的系数组成的宏块与预测宏块相加。
17.一种预测编码方法,包括通过从视频帧的感兴趣区域的原点宏块开始预测,相对于包括宏块并且围绕原点宏块的方形环在纹波扫描的方向上继续预测来进行预测编码,和通过使用关于在包括将被编码的宏块的当前方形环中刚被编码的宏块以及在作为与当前方形环相邻的内部方形环的先前方形环中与将被编码的宏块相邻的宏块中的至少一个宏块的信息以8×8块为单位执行帧内预测来对视频编码。
18.如权利要求17所述的预测编码方法,其中,预测编码包括当将被编码的宏块是在原点宏块的编码完成后的第一宏块,或者存在将被编码的宏块的两个参考宏块时,使用原点宏块的每一块的离散余弦变换(DCT)系数或者宏块A的每一块的DCT系数来预测将被编码的宏块的每一块的DCT系数,其中,这两个参考宏块包括包含在当前方形环中并且刚被编码的宏块A,以及包含在当前方形环中并且与将被编码的宏块相邻的宏块D。
19.如权利要求18所述的预测编码方法,其中,在将被编码的宏块的块中首先预测与原点宏块或宏块A相邻的块之后,预测剩余块。
20.如权利要求17所述的预测编码方法,其中,预测编码包括当包含在当前方形环中并且刚被编码的宏块A、包含在先前方形环中并且与将被编码的宏块相邻的宏块B、以及包含在先前方形环并且与宏块A和B相邻的宏块D作为将被编码的宏块的参考宏块存在时,使用宏块A、B和D的块的DCT系数预测将被编码的宏块的每个块的DCT系数。
21.如权利要求20所述的预测编码方法,其中,在预测编码中,在将被编码的宏块的块中,与宏块A和B相邻的块EA被首先预测,仅与宏块A相邻的块EB或仅与宏块B相邻的块EC被预测,接下来与EB和EC相邻的块ED被预测。
22.如权利要求17所述的预测方法,其中,预测编码包括;搜索包含在当前方形环中的参考宏块与包含在先前方形环中并且与将被编码的宏块相邻的参考宏块;当仅有原点宏块存在时,确定原点宏块为A;当存在分别包含在当前方形环和先前方形环中的两个宏块时,确定包含在当前方形环的宏块为A以及包含在先前方形环的宏块为D;当一个宏块包含在当前方形环中并且至少两个宏块包含在先前方形环中时,确定包含在当前方形环并且刚被编码的宏块为A,在先前方形环中与将被编码的宏块相邻的宏块为B,以及与宏块A和B相邻并且包含在先前方形环中的宏块为D;以及使用确定的参考宏块A、B和D,以将被编码的宏块的块的预定扫描顺序对宏块进行编码。
23.如权利要求22所述的预测编码方法,其中,预测编码还包括使用被确定来确定扫描顺序的参考宏块A、B和D确定具有最小绝对差和的预测模式,所述的绝对差和是在将被编码的宏块与根据扫描顺序在帧内预测模式下的每一预测的宏块之间的差的绝对值的和。
24.如权利要求22所述的预测编码方法,其中,预测编码包括对帧内预测宏块与将被编码宏块之间的差执行DCT;量化被变换的DCT系数;从由量化的DCT系数组成的帧的原点宏块开始扫描,并且在纹波扫描方向上继续扫描下一个方形环的宏块;以及对纹波扫描的数据采样进行熵编码。
25.一种预测解码方法,包括通过从视频帧的感兴趣区域的原点宏块开始预测,在纹波扫描的方向上相对于包括宏块并且包围原点宏块的方形环继续预测来进行预测解码;并通过使用关于在包含将被解码的宏块的当前方形环中的刚被解码的宏块和至少一个在作为与当前方形环相邻的内部方形环的先前方形环中的与将被编码的宏块相邻的宏块的信息,以8×8块为单位执行帧内预测来进行视频解码。
26.如权利要求25所述的预测解码方法,其中,预测解码包括当完成原点宏块解码之后将被编码的宏块是第一宏块或存在将被编码宏块的两个参考宏块时,使用原点宏块的每块的DCT系数或宏块A的每块的DCT系数来预测将被解码的宏块的每块的离散余弦变换(DCT)系数,其中,两个参考宏块包括包含在当前方形环中并且刚被解码的宏块A以及包含在先前方形环中并且与将被解码的宏块相邻的宏块D。
27.如权利要求26所述的预测解码方法,其中,在将被编码的宏块的块中首先预测与原点宏块或宏块A相邻的块之后,预测剩余块。
28.如权利要求25所述的预测解码方法,其中,预测解码包括当包含在当前方形环中并且已被解码的宏块A、包含在先前方形环中并且与将被解码的宏块相邻的宏块B、包含在先前方形环中并且与宏块A和B相邻的宏块D作为将被解码的宏块的参考宏块存在时,使用宏块A、B和D的块的DCT系数来预测将被解码的宏块的每块的DCT系数。
29.如权利要求28所述的预测解码方法,其中,在预测解码中,在将被解码的宏块的块中,与宏块A和B相邻的块EA首先被预测,仅与宏块A相邻的块EB或仅与宏块B相邻的块EC被预测,然后与块EB和EC相邻的块ED被预测。
30.如权利要求25所述的预测解码方法,其中,预测解码包括搜索包含在当前方形环中的参考宏块和包含在先前方形环中并且与将被解码的宏块相邻的参考宏块。当仅存在原点宏块时,确定原点宏块为A;当存在分别包含在当前方形环和先前方形环中的两个宏块时,确定包含在当前方形环中的宏块为A,包含在先前方形环中的宏块为D;以及当一个宏块包含在当前方形环中并且至少两个宏块包含在先前方形环中时,确定包含在当前方形环中的宏块为A,在先前方形环中与将被解码的宏块相邻的宏块为B,以及与宏块A和B相邻并且包含在先前方形环中的宏块为D;以及使用确定的参考宏块A、B和D,以将被编码的宏块的块的预定扫描顺序对宏块进行解码。
31.如权利要求30所述的预测解码方法,其中,预测解码包括使用被确作为确定扫描顺序之用的参考宏块A、B和D确定根据扫描顺序在帧内预测模式中具有在将被编码的宏块和每个被预测的宏块之间的绝对差值的最小和的预测模式。
32.如权利要求30所述的预测解码方法,还包括对从预测编码器接收的比特流进行熵解码;从由熵解码的数据采样组成的帧的原点宏块开始扫描,在纹波扫描方向继续扫描下一个方形环中的宏块;逆量化纹波扫描的数据采样;对逆量化数据采样进行逆离散余弦变换;以及将被逆量化的并且被IDCT的系数组成的宏块加到预测宏块中。
全文摘要
一种预测编码器/解码器和预测编码/解码方法。预测编码器包括预测编码单元,用于从视频帧的感兴趣区域的原点宏块开始预测,相对于包括宏块并且围绕原点宏块的方形环在纹波扫描的方向上继续预测,以及通过使用关于在包括将被编码的宏块的当前方形环中刚被编码的宏块和在刚被编码的方形环中与将被编码的宏块相邻的宏块中的至少一个宏块的信息,以8×8块为单位执行帧内预测来对视频编码。
文档编号H04N7/50GK1705375SQ20051007349
公开日2005年12月7日 申请日期2005年6月1日 优先权日2004年6月1日
发明者朴光勋 申请人:庆熙大学校产学协力团, 三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1