用于视频数据的帧内预测的方法和设备的制作方法

文档序号:7620686阅读:206来源:国知局
专利名称:用于视频数据的帧内预测的方法和设备的制作方法
技术领域
本发明涉及一种用于视频数据的帧内预测的方法和设备,更具体地说,涉及一种在其中视频数据的帧内预测可被简单和快速地执行的视频数据的帧内预测的方法和设备。
背景技术
由于视频包含大量的数据,压缩编码对于视频数据的存储或传输是必需的。视频数据的编码或解码以诸如16×16象素的宏块或4×4象素的块的数据单元被执行。
被称为MPEG-4第10部分的高级视频编码(AVC)或ITU-T H.264的新的视频压缩编码标准已经被建立。特别地,H.264已被发展为处理从传统的电路交换业务到分组交换业务的变化、多种通信基础结构、以及诸如移动网络的新通信信道的迅速扩展。
与诸如MPEG-4第2部分视觉编解码器的现有标准相比,H.264提高了50%或者更多的编码效率,并且考虑到处理快速变化的无线环境和互联网环境的错误鲁棒性和网络友好性。
帧内预测是用于利用视频的空间相关性来压缩视频数据的技术。更具体地说,在利用与当前数据单元相应的至少一个先前数据单元的象素值预测当前数据单元的象素值之后,当前数据单元的实际象素值与预测的象素值之差被熵编码并其后被发送。因此,通过执行帧内预测编码,当实际的象素值被熵编码并其后被发送时,提高了数据压缩的效率。
图1示出在用于预测当前数据单元的传统帧内预测方法中使用的先前数据单元。参照图1,为了当前的数据单元E的帧内预测,使用了先前数据单元A、B、C、和D。根据传统的光栅扫描方案,包括于图像中的数据单元被从左到右和从上到下地扫描。因此,根据传统的光栅扫描方案,在当前数据单元E之前,先前数据单元A、B、C和D已经被扫描并编码。由于以×标记的数据单元未被编码,所以它们不能用于当前数据单元E的预测编码。由于以O标记的数据单元具有与当前数据单元E的低空间相关性,所以它们不用于当前数据单元E的预测编码。在先前数据单元经离散余弦变换(DCT)并量化之后,它们被反量化和反DCT并且其后被重建。
根据H.264标准,帧内预测包括4×4的帧内预测和16×16的帧内预测。在4×4的帧内预测中,预测以4×4的子块单元执行。在16×16的帧内预测中,预测以16×16的宏块单元执行。
4×4的帧内预测分为9种模式,并且16×16的帧内预测分为4种模式。表1示出H.264的4×4的帧内预测的9种模式。


表2示出H.264的16×16的帧内预测的4种模式。


将以16×16帧内预测为例更详细地描述H.264中的帧内预测。回来参照图1,当数据单元E是将被编码的当前数据单元时,先前数据单元A和B被用作16×16帧内预测的参考数据单元。此外,并不是所有的先前数据单元A和B的象素值都用于预测编码,但是,如图2所示,包括于先前数据单元A的最右一列的象素的16个象素值V0到V15和包括于先前数据单元B的最底一行的象素的16个象素值H0到H15被用于预测编码。
图3A到3D示出根据H.264的16×16的帧内预测的4种模式。图3A示出模式#0,其被称作垂直模式。当当前数据单元E的每个实际的象素值为P[x,y],其中x=0...15,y=0...15并且当前数据单元E的每个预测的象素值为P’[x,y],其中x=0...15,y=0...15时,利用包括于先前数据单元B的最底一行的象素的象素值H0到H15确定预测的象素值P’[x,y]。换言之,如图3A所示,P’[x,y],其中x=0...15,y=0...15,其包括于垂直列,是象素值H0到H15之一。例如,包括于当前数据单元的第一垂直列的预测的象素值可全部是H0,并且包括于当前数据单元的第二垂直列的预测的象素值全部是H1。
图3B示出模式#1,其被称作水平模式。如图3B所示,P’[x,y],其中x=0...15,y=0...15,其包括于水平行,是象素值V0到V15之一。例如,包括于当前数据单元的第一水平行的预测的象素值可全部是V0,并且包括于当前数据单元的第二水平行的预测的象素值可全部是V1。
图3C示出被称作DC模式的模式#2。如图3C所示,P’[x,y],其中x=0...15,y=0...15,是H0到H15和V0到V15的平均值。如果先前数据单元A存在,但是先前数据单元B不存在,则P’[x,y],其中x=0...15,y=0...15,是V0到V15的平均值。如果先前数据单元A不存在,但是先前数据单元B存在,则P’[x,y],其中x=0...15,y=0...15,是H0到H15的平均值。如果先前数据单元A和先前数据单元B都不存在,则P’[x,y],其中x=0...15,y=0...15,被设置为如128的预定值。
图3D示出模式#3,其被称作平面模式。参照图3D,P’[x,y],其中x=0...15,y=0...15,被确定,其中,利用V0到V15确定位于对角线左侧的预测的象素值并且利用H0到H15确定位于对角线右侧的预测的象素值。模式#3对于逐渐变化的视频的空间预测是有用的。
在4×4帧内预测的情况中,当前数据单元E被分为16个4×4子块,并且预测以9种模式以4×4子块单元被执行。
遵守H.264标准的视频编码器以9种4×4帧内预测模式和4种16×16帧内预测模式预测编码当前的宏块,并且其后确定具有最小代价函数值的预测模式作为该当前宏块的最佳帧内预测模式。代价函数指示预测编码的精度和产生的比特的数量。可用于帧内预测编码的代价函数包括绝对差值和(SAD)代价函数、绝对变换差值和(SATD)代价函数、平方差值和(SSD)代价函数、平均绝对差值(MAD)代价函数、以及拉格朗日代价函数。
如上所述,H.264提供多个可提高数据压缩效率的帧内预测模式。然而,编码器或解码器应能够以13种不同的预测模式执行预测以得到当前宏块的帧内预测值,这导致了高系统复杂性。此外,在当前宏块的帧内预测中使用的先前宏块的象素值通过DCT、量化、反量化、和反DCT被重建。因此,为了执行当前宏块的帧内预测,应得到与当前宏块相邻的象素的重建值。结果,需要大量时间用于帧内预测。

发明内容
发明另外的方面和/或优点部分地在下面的描述中提出,并且部分地可从描述中变得清楚,或者可通过对发明的实践而被了解。
本发明提供一种用于视频数据帧内预测的方法,其中,帧内预测被简单和快速地执行。
本发明还提供一种用于视频数据帧内预测的设备,其中,帧内预测被简单和快速地执行。
本发明还提供一种在其上具有实现用于视频数据的帧内预测的方法的程序的计算机可读记录介质,在该方法中,帧内预测可被简单和快速地执行。
根据本发明的一方面,提供一种用于视频数据的帧内预测的方法。该方法包括利用与当前宏块相邻的多个先前宏块的原始象素值以多种16×16帧内预测模式对当前宏块执行帧内预测,并且从多种16×16帧内预测模式中确定具有最小帧内预测误差或相对较低帧内预测误差的一种16×16帧内预测模式;利用该多个先前宏块的原始象素值以多种4×4帧内预测模式对当前宏块执行帧内预测,并且从多种4×4帧内预测模式中确定具有最小帧内预测误差或相对较低帧内预测误差的一种4×4帧内预测模式;以及确定在确定的16×16帧内预测模式和确定的4×4帧内预测模式中哪一个具有较小的帧内预测误差,并且将具有较小误差的帧内预测模式用作用于当前宏块的最佳帧内预测模式。
根据本发明的另一方面,提供一种用于视频数据的帧内预测的设备。该设备包括第一帧内预测单元、第二帧内预测单元、以及帧内预测模式确定单元。第一帧内预测单元利用与当前宏块相邻的多个先前宏块的原始象素值以多种16×16帧内预测模式对当前宏块执行帧内预测,并且从多种16×16帧内预测模式中确定具有最小帧内预测误差或相对较小的帧内预测误差的一种16×16帧内预测模式。第二帧内预测单元利用该多个先前宏块的原始象素值以多种4×4帧内预测模式对当前宏块执行帧内预测,并且从多种4×4帧内预测模式中确定具有最小帧内预测误差或相对较低的帧内预测误差的一种4×4帧内预测模式。帧内预测模式确定单元确定在确定的16×16帧内预测模式和确定的4×4帧内预测模式中哪一个具有较小的帧内预测误差,并且将具有较小误差的帧内预测模式用作用于当前宏块的最佳帧内预测模式。
根据本发明的另一方面,提供一种在其上具有实现用于视频数据的帧内预测的方法的计算机程序的计算机可读记录介质。该方法包括利用与当前宏块相邻的多个先前宏块的原始象素值以多种16×16帧内预测模式对当前宏块执行帧内预测,并且从多种16×16帧内预测模式中确定具有最小帧内预测误差或相对较小的帧内预测误差的一种16×16帧内预测模式;利用该多个先前宏块的原始象素值以多种4×4帧内预测模式对当前宏块执行帧内预测,并且从多种4×4帧内预测模式中确定具有最小帧内预测误差或相对较小的帧内预测误差的一种4×4帧内预测模式;以及确定在确定的16×16帧内预测模式和确定的4×4帧内预测模式中哪一个具有较小的帧内预测误差,并且将具有较小误差的帧内预测模式用作用于当前宏块的最佳帧内预测模式。


通过下面结合附图进行的对实施例的描述,发明的这些和/或其它方面和优点将会变得清楚和更加易于理解,其中图1示出在用于预测当前数据单元的传统的帧内预测方式中使用的先前数据单元;图2示出用于传统的帧内预测的先前数据单元的象素;图3A示出传统的MPEG-4AVC中规定的垂直模式;图3B示出传统的MPEG-4AVC中规定的水平模式;图3C示出传统的MPEG-4AVC中规定的DC模式;图3D示出传统的MPEG-4AVC中规定的平面模式;图4是示出根据本发明的实施例的用于视频数据的帧内预测的方法的流程图;图5是示出用于得到cost_16×16_error项的方法的流程图;图6是示出用于得到cost_4×4_error项的方法的流程图;图7是用于解释在操作S310和S330中以4×4子块单元执行的帧内预测的示图;以及图8是根据本发明的实施例的用于视频数据的帧内预测的设备的方框图。
具体实施例方式
现在,详细参照本发明的实施例,在附图中给出其示例,其中,相同的标号始终指的是相同的部件。以下,参照附图描述实施例以便解释本发明。本发明不限于上述实施例,在不脱离本发明范围的情况下,可以进行各种变形和修改。以下通过参照附图描述实施例以解释本发明。
图4是示出根据本发明的实施例的用于视频数据的帧内预测的方法的流程图。
在操作S110,利用与当前宏块相邻的宏块的原始(即,未重建的)象素值执行16×16帧内预测,从多种16×16帧内预测模式中选择具有最好预测结果的一种,并且根据选择的模式得到代价函数值cost_16×16_orig。16×16帧内预测可以以传统的H.264标准中定义的方式被执行。换言之,图2中所示的相邻宏块的象素值被使用,并且在H.264中,重建的象素值被使用。另一方面,在本实施例中,原始的象素值被使用。以图3A至3D示出的四种16×16帧内预测模式的每一种执行帧内预测,并且根据每一预测模式计算代价函数值。应该理解16×16帧内预测模式可为32×32帧内预测模式或K×L帧内预测模式。也应该理解到可为K=L或K≠L。
代价函数指示预测编码的精度和产生的比特的数目。可用于预测编码的代价函数包括绝对差值和(SAD)代价函数、绝对变换差值和(SATD)代价函数、平方差值和(SSD)代价函数、平均绝对差值(MAD)代价函数、以及拉格朗日代价函数。例如,当SAD用作代价函数,P[x,y]是未被编码的当前数据单元的实际象素值,并且P’[x,y]是当前数据单元的预测象素值时,该代价函数定义如下。
SAD=Sumx=0…15,y=0…15|P[x,y]-P’[x,y]|…(1)基于以四种16×16帧内预测模式的每一种执行的帧内预测的结果来计算代价函数值,具有四个代价函数值中最小代价函数值的模式被确定为用于当前宏块的最佳16×16帧内预测模式,并且根据该确定的模式的代价函数值cost_16×16_orig被得到。
在操作S130中,使用与当前宏块相邻的宏块的原始采样值执行4×4帧内预测,从九种4×4帧内预测模式中选择具有最佳预测结果的一种,并且得到根据该选择的模式的代价函数值cost_4×4_orig。4×4帧内预测可以以如传统的H.264标准中定义的方式被执行。在H.264中使用重建的象素值,但是,在本实施例中使用原始象素值。应该理解4×4帧内预测模式可选地为M×N帧内预测模式。还应理解可以是M=N或M≠N。
由于4×4帧内预测以4×4子块单元被执行,所以当前宏块被分为16个4×4子块,对每一4×4子块,帧内预测以九种4×4帧内预测模式的每一种被执行,并且根据每一模式的代价函数值被计算。具有在对每一4×4子块得到的9个代价函数值中最小的代价函数值的模式被确定为用于每一4×4子块的最佳4×4帧内预测模式。
因此,根据本实施例,为每一4×4子块确定一种4×4帧内预测模式和一个代价函数值。通过相加对所有的4×4子块得到的所有代价函数值来得到指示用于当前宏块的4×4帧内预测精度的代价函数值cost_4×4_orig。
由于在本发明中利用与当前宏块相邻的象素的原始值执行帧内预测,所以在操作S110得到的cost_16×16_orig和在操作S130得到的cost_4×4_orig与当相邻象素的重建值被使用时得到的那些代价函数值不同。换言之,由于利用相邻象素的原始值执行帧内预测,所以可能发生帧内预测误差。
在操作S150,为了补偿这样的帧内预测误差,cost_16×16_orig和cost_4×4_orig的代价误差项,即,cost_16×16_error和cost_4×4_error被得到。
图5是示出用于得到cost_16×16_error项的方法的流程图。
通常,如下得到cost_16×16_error利用当执行对当前宏块的帧内预测时位于当前宏块之上的先前宏块总是已经被重建的事实。
在操作S210中,利用在位于当前宏块之上的先前宏块底部的象素的原始值,以如图3A所示的垂直预测模式对当前宏块执行帧内垂直预测,并且得到根据垂直预测模式的代价函数值cost_16×16_ver_orig。
在操作S230中,利用在位于当前宏块之上的先前宏块底部的象素的重建值,以垂直预测模式对当前宏块执行帧内垂直预测,并且得到根据垂直预测模式的代价函数值cost_16×16_ver_recon。
在操作S250中,如下得到cost_16×16_error。
cost_16×16_error=α*(cost_16×16_ver_recon-cost_16×16_ver_orig)...(2),其中,α经由实验方法来确定。
图6是示出用于得到cost_4×4_error项的方法的流程图。
以与当cost_16×16_error被得到时同样的方式,通过利用在位于当前宏块之上的先前宏块底部的象素的原始和重建值执行帧内垂直预测来得到cost_4×4_error。
在操作S310中,利用在位于当前宏块之上的先前宏块底部的象素的原始值对包括于当前宏块的16个4×4子块中的最上面4个4×4子块执行帧内垂直预测,并且得到代价函数值cost_4×4_ver_orig。
在操作S330中,利用在位于当前宏块之上的先前宏块底部的象素的重建值对包括于当前宏块的16个4×4子块中的4个最上面的4×4子块执行帧内垂直预测,并且得到代价函数值cost_4×4_ver_recon。
将描述为什么在操作S310和S330中不对包括于当前宏块的所有16个4×4子块,而是对4个最上面的4×4子块执行帧内垂直预测的原因。图7是用于解释在操作S310和S330中于4×4子块单元中执行的帧内预测的示图。图7所示的宏块是当前宏块,并且图7示出对在包括于当前宏块的16个4×4子块中的4个最上面的4×4子块的预测。在操作S310,利用在位于当前宏块之上的先前宏块底部的象素的原始值执行帧内垂直预测,并且在操作S330,利用在位于当前宏块之上的先前宏块底部的象素的重建值执行帧内垂直预测。
由于在步骤S330中利用重建的象素值在4×4子块单元中执行帧内垂直预测,所以当对图7所示的位于当前宏块的最上面一行下面的4×4子块执行帧内垂直预测时,应使用4×4子块的重建象素值。例如,为了对包括于当前宏块的从上面数第二行的4个4×4子块执行帧内垂直预测,应使用在当前宏块的最上面一行中的4个4×4子块的底部的象素的重建值。根据本发明,由于在当前宏块的帧内预测时还未得到当前宏块的象素的重建值,所以不能对包括于当前宏块的所有4×4子块执行操作S330。因此,只对当前宏块的4个最上面的4×4子块执行帧内预测。
在操作S310和S330之后,在操作S350中如下来得到cost_4×4_error。
cost_4×4_error=β*(cost_4×4_ver_recon-cost_4×4_ver_orig)...(3),其中,β经由实验方法来确定。然而,由于cost_4×4_ver_recon和cost_4×4_ver_orig是只对当前宏块的4个最上面的4×4子块而不是当前宏块的所有4×4子块执行4×4帧内预测的结果,因此,β被设置为大于α。
换言之,参照图4,在操作S150中得到cost_16×16_error和cost_4×4_error之后,在操作S170中得到16×16帧内预测代价函数值intra_16×16_cost以及4×4帧内预测代价函数值intra_4×4_cost,其中,intra_16×16_cost的误差通过将cost_16×16_orig和cost_16×16_error相加来补偿,intra_4×4_cost的误差通过将cost_4×4_orig和cost_4×4_error相加来补偿。
在操作S190中,在操作S170中得到的intra_16×16_cost和intra_4×4_cost被彼此比较并且具有较小的代价函数值的模式被确定为用于当前宏块的最佳帧内预测模式。
另一方面,如果操作S150和S170未被执行,则比较在操作S110中作为16×16帧内预测的结果被得到的代价函数值cost_16×16_orig和在步骤S130中作为4×4帧内预测的结果被得到的代价函数值cost_4×4_orig,并且具有较小的代价函数值的模式被确定为最佳帧内预测模式。然而,为了更精确的帧内预测,需要执行操作S150和S170,其被用来补偿由利用与当前宏块相邻的象素的原始值进行的帧内预测引起的误差。
尽管未在附图中示出,但通过比较三个值,即,在操作S170中得到的intra_16×16_cost和intra_4×4_cost以及作为帧间预测,即,运动估计的结果被得到的代价函数值,可确定用于当前宏块的最佳帧内预测模式。
图8是根据本发明的实施例的用于视频数据帧内预测的设备的方框图。参照图8,用于视频数据帧内预测的设备包括第一帧内预测单元510、第二帧内预测单元530、以及帧内预测模式确定单元550。
图8中所示的用于视频数据的帧内预测的设备执行根据上面参照图4至7描述的本发明的实施例的用于视频数据帧内预测的方法。
第一帧内预测单元510以多种16×16帧内预测模式利用与当前宏块相邻的多个先前宏块的原始象素值对当前宏块执行帧内预测,确定在多个16×16帧内预测模式中具有最小帧内预测误差的一种16×16帧内预测模式,并且将确定的16×16帧内预测模式输出至帧内预测模式确定单元550。
第二帧内预测单元530以多种4×4帧内预测模式利用该多个先前宏块的原始象素值对当前宏块执行帧内预测,确定在多个4×4帧内预测模式中具有最小帧内预测误差的一种4×4帧内预测模式,并且将确定的4×4帧内预测模式输出至帧内预测模式确定单元550。
帧内预测模式确定单元550确定从第一帧内预测单元510接收的16×16帧内预测模式和从第二帧内预测单元530接收的4×4帧内预测模式中具有较小的帧内预测误差的一种作为用于当前宏块的最佳帧内预测模式。
此外,帧内预测模式确定单元550基于由利用该多个先前宏块的原始象素值的16×16帧内预测和4×4帧内预测引起的帧内预测误差来确定最佳帧内预测模式。为此,第一帧内预测单元510得到指示在确定的16×16帧内预测模式中的帧内预测的精度的cost_16×16_orig和由16×16帧内预测引起的代价函数值误差cost_16×16_error,并且将它们输出至帧内预测模式确定单元550。第二帧内预测单元530得到指示在确定的4×4帧内预测模式中的帧内预测的精度的cost_4×4_orig和由4×4帧内预测引起的代价函数值误差cost_4×4_error,并且将它们输出至帧内预测模式确定单元550。帧内预测模式确定单元550将值cost_16×16_orig和cost_16×16_error相加以得到误差补偿的16×16帧内预测的代价函数值intra_16×16_cost,将值cost_4×4_orig和cost_4×4_error相加以得到误差补偿的4×4帧内预测的代价函数值intra_4×4cost,比较intra_16×16_cost和intra_4×4_cost,并且确定用于当前宏块的最佳帧内预测模式。
第一帧内预测单元510利用位于当前宏块之上的先前宏块的原始象素值执行16×16垂直预测以得到16×16垂直预测的代价函数值cost_16×16_ver_orig,利用位于当前宏块之上的先前宏块的重建象素值执行16×16垂直预测以得到16×16垂直预测的代价函数值cost_16×16_ver_recon,并且利用cost_16×16_ver_orig和cost_16×16_ver_recon之差确定cost_16×16_error。
同样,第二帧内预测单元530利用位于当前宏块之上的先前宏块的最底部的4个4×4块的原始象素值执行4×4垂直预测以得到4×4垂直预测的代价函数值cost_4×4_ver_orig,利用位于当前宏块之上的先前宏块的4个最底部的4×4块的重建象素值执行4×4垂直预测以得到4×4垂直预测的代价函数值cost_4×4_ver_recon,并且基于cost_4×4_ver_orig和cost_4×4_ver_recon之差确定cost_4×4_error。
如上所述,根据本发明,在帧内预测的时候,通过利用与当前宏块相邻的象素的原始值执行帧内预测并补偿由帧内预测引起的误差,可降低帧内预测的复杂性。此外,通过降低帧内预测的复杂性,可得到更快速和更简单的帧内预测。
同时,本发明还可被实现为计算机可读记录介质上的计算机可读代码。该计算机可读记录介质是可存储数据的任意数据存储装置,该存储的数据之后可由计算机系统读取。计算机可读记录介质的例子包括只读存储器(ROM)、随机存储器(RAM)、CD-ROM、磁带、软盘、光数据存储装置、以及载波。该计算机可读记录介质还可被分布于网络连接的计算机系统,以便计算机代码以分布方式被存储和执行。
尽快已示出并描述了本发明的一些实施例,但是本领域的技术人员应理解在不脱离本发明的原理和精神的情况下可对这些实施例进行改变,本发明的范围由权利要求及其等同物限定。
权利要求
1.一种用于视频数据的帧内预测的方法,包括利用与当前宏块相邻的多个先前宏块的原始象素值以多种K×L帧内预测模式对当前宏块执行帧内预测,并且确定在多个K×L帧内预测模式中具有最小或相对较低的帧内预测误差的一种K×L帧内预测模式;利用该多个先前宏块的原始象素值以多种M×N帧内预测模式对当前宏块执行帧内预测,并且确定在多个M×N帧内预测模式中具有最小或相对较低的帧内预测误差的一种M×N帧内预测模式;以及确定在确定的K×L帧内预测模式和确定的M×N帧内预测模式中哪一个具有较小的帧内预测误差,并且将具有较小误差的帧内预测模式用作用于当前宏块的最佳帧内预测模式。
2.如权利要求1所述的方法,其中,K和L为16,并且M和N为4。
3.如权利要求1所述的方法,其中,K=L。
4.如权利要求1所述的方法,其中,M=N。
5.如权利要求1所述的方法,其中,在确定最佳帧内预测模式的步骤中,基于由利用该多个先前宏块的原始象素值的K×L帧内预测和M×N帧内预测引起的帧内预测误差确定最佳帧内预测模式。
6.如权利要求1所述的方法,还包括得到指示在确定的K×L帧内预测模式中的帧内预测的精度的代价函数值cost_K×L_orig;得到指示在确定的M×N帧内预测模式中的帧内预测的精度的代价函数值cost_M×N_orig;得到K×L帧内预测的代价函数值误差cost_K×L_error;得到M×N帧内预测的代价函数值误差cost_M×N_error;通过将代价函数值cost_K×L_orig和代价函数值误差cost_K×L_error相加而得到误差补偿的K×L帧内预测的代价函数值intra_K×L_cost,并且通过将代价函数值cost_M×N_orig和代价函数值误差cost_M×N_error相加而得到误差补偿的M×N帧内预测的代价函数值intra_M×N_cost;以及通过比较代价函数值intra_K×L_cost和intra_M×N_cost确定最佳帧内预测模式。
7.如权利要求6所述的方法,其中,得到代价函数值误差cost_K×L_error的步骤包括利用位于当前宏块之上的先前宏块的原始象素值执行K×L垂直预测以得到K×L垂直预测的代价函数值cost_K×L_ver_orig;利用位于当前宏块之上的先前宏块的重建象素值执行K×L垂直预测以得到K×L垂直预测的代价函数值cost_K×L_ver_recon;以及利用代价函数值cost_K×L_ver_orig和cost_K×L_ver_recon之差确定代价函数值误差cost_K×L_error。
8.如权利要求6所述的方法,其中,得到代价函数值误差cost_M×N_error的步骤包括利用位于当前宏块之上的先前宏块的最底部的L/N个M×N块的原始象素值执行M×N垂直预测以得到M×N垂直预测的代价函数值cost_M×N_ver_orig;利用该最底部的4个M×N块的重建象素值执行M×N垂直预测以得到M×N垂直预测的代价函数值cost_M×N_ver_recon;以及利用代价函数值cost_M×N_ver_orig和cost_M×N_ver_recon之差确定代价函数值误差cost_M×N_error。
9.如权利要求6所述的方法,其中,K和L为16,并且M和N为4。
10.如权利要求6所述的方法,其中,K=L。
11.如权利要求6所述的方法,其中,M=N。
12.一种用于视频数据的帧内预测的设备,该设备包括第一帧内预测单元,利用与当前宏块相邻的多个先前宏块的原始象素值以多种K×L帧内预测模式对当前宏块执行帧内预测,并且从多种K×L帧内预测模式中确定具有最小帧内预测误差或相对较低的帧内预测误差的一种K×L帧内预测模式;第二帧内预测单元,利用该多个先前宏块的原始象素值以多种M×N帧内预测模式对当前宏块执行帧内预测,并且从多种M×N帧内预测模式中确定具有最小或相对较低的帧内预测误差的一种M×N帧内预测模式;以及帧内预测模式确定单元,确定在确定的K×L帧内预测模式和确定的M×N帧内预测模式中哪一个具有较小的帧内预测误差,并且将具有较小误差的帧内预测模式用作用于当前宏块的最佳帧内预测模式。
13.如权利要求12所述的设备,其中,K和L为16,并且M和N为4。
14.如权利要求12所述的设备,其中,K=L。
15.如权利要求12所述的设备,其中,M=N。
16.如权利要求12所述的设备,其中,帧内预测模式确定单元基于由利用该多个先前宏块的原始象素值的K×L帧内预测和M×N帧内预测引起的帧内预测误差来确定最佳帧内预测模式。
17.如权利要求12所述的设备,其中,第一帧内预测单元向帧内预测模式确定单元输出指示确定的K×L帧内预测模式的帧内预测的精度的代价函数值cost_K×L_orig和K×L帧内预测的代价函数值误差cost_K×L_error;第二帧内预测单元输出指示确定的M×N帧内预测模式的帧内预测的精度的代价函数值cost_M×N_orig和M×N帧内预测的代价函数值误差cost_M×N_error;以及帧内预测模式确定单元通过将代价函数值cost_K×L_orig和代价函数值误差cost_K×L_error相加得到误差补偿的K×L帧内预测的代价函数值intra_K×L_cost,通过将代价函数值cost_M×N_orig和代价函数值误差cost_M×N_error相加得到误差补偿的M×N帧内预测的代价函数值intra_M×N_cost,并且通过比较代价函数值intra_K×L_cost和intra_M×N_cost确定最佳帧内预测模式。
18.如权利要求17所述的设备,其中,第一帧内预测单元利用位于当前宏块之上的先前宏块的原始象素值执行K×L垂直预测以得到K×L垂直预测的代价函数值cost_K×L_ver_orig,利用位于当前宏块之上的先前宏块的重建象素值执行K×L垂直预测以得到K×L垂直预测的代价函数值cost_K×L_ver_recon,并且利用代价函数值cost_K×L_ver_orig和cost_K×L_ver_recon之差确定代价函数值误差cost_K×L_error。
19.如权利要求17所述的设备,其中,第二帧内预测单元利用位于当前宏块之上的先前宏块的最底部的L/N个M×N块的原始象素值执行M×N垂直预测以得到M×N垂直预测的代价函数值cost_M×N_ver_orig,利用该最底部的4个M×N块的重建象素值执行M×N垂直预测以得到M×N垂直预测的代价函数值cost_M×N_ver_recon,并且利用代价函数值cost_M×N_ver_orig和cost_M×N_ver_recon之差确定代价函数值误差cost_M×N_error。
20.如权利要求17所述的设备,其中,K和L为16,并且M和N为4。
21.如权利要求17所述的设备,其中,K=L。
22.如权利要求17所述的设备,其中,M=N。
23.一种在其上具有控制计算机以执行视频数据的帧内预测的方法的计算机程序的计算机可读记录介质,该方法包括利用与当前宏块相邻的多个先前宏块的原始象素值以多种K×L帧内预测模式对当前宏块执行帧内预测,并且确定在多个K×L帧内预测模式中具有最小或相对较低的帧内预测误差的一种K×L帧内预测模式;利用该多个先前宏块的原始象素值以多种M×N帧内预测模式对当前宏块执行帧内预测,并且确定在多个M×N帧内预测模式中具有最小或相对较低的帧内预测误差的一种M×N帧内预测模式;以及确定在确定的K×L帧内预测模式和确定的M×N帧内预测模式中哪一个具有较小的帧内预测误差,并且将具有较小误差的帧内预测模式用作用于当前宏块的最佳帧内预测模式。
24.如权利要求23所述的计算机可读记录介质,其中,在确定最佳帧内预测模式的步骤中,基于由利用该多个先前宏块的原始象素值的K×L帧内预测和M×N帧内预测引起的帧内预测误差来确定最佳帧内预测模式。
25.如权利要求23所述的计算机可读记录介质,其中,该方法还包括得到指示在确定的K×L帧内预测模式中的帧内预测的精度的代价函数值cost_K×L_orig;得到指示在确定的M×N帧内预测模式中的帧内预测的精度的代价函数值cost_M×N_orig;得到K×L帧内预测的代价函数值误差cost_K×L_error;得到M×N帧内预测的代价函数值误差cost_M×N_error;通过将代价函数值cost_K×L_orig和代价函数值误差cost_K×L_error相加而得到误差补偿的K×L帧内预测的代价函数值intra_K×L_cost,并且通过将代价函数值cost_M×N_orig和代价函数值误差cost_M×N_error相加而得到误差补偿的M×N帧内预测的代价函数值intra_M×N_cost;以及通过比较代价函数值intra_K×L_cost和intra_M×N_cost确定最佳帧内预测模式。
26.如权利要求23所述的计算机可读记录介质,其中,得到代价函数值误差cost_K×L_error的步骤包括利用位于当前宏块之上的先前宏块的原始象素值执行K×L垂直预测以得到K×L垂直预测的代价函数值cost_K×L_ver_orig;利用位于当前宏块之上的先前宏块的重建象素值执行K×L垂直预测以得到K×L垂直预测的代价函数值cost_K×L_ver_recon;以及利用代价函数值cost_K×L_ver_orig和cost_K×L_ver_recon之差确定代价函数值误差cost_K×L_error。
27.如权利要求23所述的计算机可读记录介质,其中,得到代价函数值误差cost_M×N_error的步骤包括利用位于当前宏块之上的先前宏块的最底部的4个M×N块的原始象素值执行M×N垂直预测以得到M×N垂直预测的代价函数值cost_M×N_ver_orig;利用最底部的L/N个M×N块的重建象素值执行M×N垂直预测以得到M×N垂直预测的代价函数值cost_M×N_ver_recon;以及利用代价函数值cost_M×N_ver_orig和cost_M×N_ver_recon之差确定代价函数值误差cost_M×N_error。
28.一种用于视频数据的帧内预测的方法,包括利用与当前宏块相邻的多个先前宏块的原始象素值以多种大帧内预测模式对当前宏块执行帧内预测,并且确定在多个大帧内预测模式中具有最小或相对较低的帧内预测误差的一种大帧内预测模式;利用该多个先前宏块的原始象素值以多种小帧内预测模式对当前宏块执行帧内预测,并且确定在多个小帧内预测模式中具有最小或相对较低的帧内预测误差的一种小帧内预测模式;以及确定在确定的大帧内预测模式和确定的小帧内预测模式中哪一个具有较小的帧内预测误差,并且将具有较小预测误差的帧内预测模式用作用于当前宏块的最佳帧内预测模式。
全文摘要
一种用于视频数据的帧内预测的方法和设备。该方法包括利用与当前宏块相邻的多个先前宏块的原始象素值以多种K×L帧内预测模式对当前宏块执行帧内预测。在多个K×L帧内预测模式中具有相对较低的帧内预测误差的K×L帧内预测模式被确定。利用该多个先前宏块的原始象素值以多种M×N帧内预测模式对当前宏块执行帧内预测。在多个M×N帧内预测模式中具有相对较低的帧内预测误差的M×N帧内预测模式被确定。在确定的K×L帧内预测模式和确定的M×N帧内预测模式中具有较小的帧内预测误差的一种被用作用于当前宏块的最佳帧内预测模式。
文档编号H04N7/32GK1725863SQ20051008411
公开日2006年1月25日 申请日期2005年7月8日 优先权日2004年7月21日
发明者李男淑 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1