CN102415098A - 图像处理设备和方法 - Google Patents
图像处理设备和方法 Download PDFInfo
- Publication number
- CN102415098A CN102415098A CN2010800178964A CN201080017896A CN102415098A CN 102415098 A CN102415098 A CN 102415098A CN 2010800178964 A CN2010800178964 A CN 2010800178964A CN 201080017896 A CN201080017896 A CN 201080017896A CN 102415098 A CN102415098 A CN 102415098A
- Authority
- CN
- China
- Prior art keywords
- frame
- prediction
- unit
- target
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Abstract
本发明的主题涉及一种改进编码效率的图像处理设备和方法。使用运动预测处理,以在参考帧处获得通过帧间运动向量(MV)与目标块(A)相关联的参考块(B)。接下来,使用帧内预测,以在目标帧处检测与目标块(A)对应的块(A′),以及在参考帧处检测与参考块(B)对应的块(B′)。获得目标块(A)的像素值和块(A′)的像素值之间的差、以及块(B′)和参考块(B)的像素值之间的差,此外,生成这些差之间的差,即二次差,将该二次差进行编码,并将其发送至解码侧。公开的主题能够例如应用于利用H.264/AVC进行编码的图像编码设备。
Description
技术领域
本发明涉及一种图像处理设备和方法,更具体地涉及能够使用对应像素值的差改进编码效率的图像编码设备和方法以及图像解码设备和方法。
背景技术
近年来,这样的设备已得到广泛普及:其对图像信息进行数字处理,并且根据诸如离散余弦变换的正交变换和运动补偿,使用作为图像信息的特征的冗余将图像压缩和编码,以便高效地输送和存储信息。编码方法的示例包括MPEG(运动图像专家组)。
具体地,MPEG2(ISO/IEC 13818-2)被定义为一般图像编码方法,并且是一种标准方案,其被配置成处理隔行扫描图像和顺序扫描图像两者以及处理标准分辨率图像和高分辨率图像两者。例如,MPEG2被广泛用于面向专业和消费者用途的应用。当使用MPEG2压缩方案时,可以将4Mbps到8Mbps的编码率(比特率)分配给具有例如720×480像素的标准分辨率的隔行扫描图像。此外,当使用MPEG2压缩方案时,可以将18Mbps到22Mbps的编码率(比特率)分配给具有例如1920×1088像素的高分辨率的隔行扫描图像。因此,可实现高压缩比和出色的图像质量。
MPEG2主要用于适合于广播的高图像质量编码,但并不对应于具有比MPEG1的编码率(比特率)低的编码率的编码方案,即,具有较高的压缩比。随着便携式终端的普及,认为增加了对编码方案的需求。因此,MPEG4编码方案已被标准化以符合该趋势。1998年12月,图像编码方案被批准为ISO/IEC 14496-2中的国际标准。
此外,近年来,称为H.26L(ITU-T Q6/16 VCEG)的方案的标准化正在发展中,以便首先用于视频会议的图像编码。已知H.26L能够实现比诸如MPEG2或MPEG4的已知编码方案更高的编码效率,尽管在编码和解码处理中需要很大的计算量。目前,作为MPEG4的活动之一,如增强压缩视频编码联合模型的标准化正在发展中,以提供H.26L不支持的功能并基于H.26L来实现更高的编码效率。2003年3月,H.264和MPEG-4第10部分(高级视频编码,在下文中称作H.264/AVC)被批准为国际标准。
2005年2月完成了FRExt(保真度范围扩展,Fidelity RangeExtension)的标准化,FRExt是以上标准的扩展并且包括商业用途需要的4:4:4和4:2:2或编码工具RGB、定义MPEG-2的8×8DCT(离散余弦变换)、或者量化矩阵。因此,H.264/AVC用作能够满意地表达电影中包含的影片语音的编码方案,并由此在诸如蓝光光盘(商标)的应用的广范围中使用。
然而,近年来,在诸如因特网的限制传输容量环境下,对约4000×2000的图像(其是高画质图像(high-vision image)的四倍)的压缩或高画质图像的传输以及高压缩比编码的需求不断增加。因此,ITU-T的VCEG(视频编码专家组,Video Coding Expert Group)不断研究编码效率的改进。
与已知的MPEG2方案相比,H.264/AVC方案中实现更高的编码效率的一个因素是帧内预测处理。
在H.264/AVC方案中,亮度信号的帧内预测模式包括以4×4像素和8×8像素为块单位的x九种类型的预测模式、以及以16×16像素为宏块单位的四种类型的预测模式。此外,色差信号的帧内预测模式包括以8×8像素为块单位的四种类型的预测模式。色差信号的帧内预测模式能够被设置成独立于亮度信号的帧内预测模式。
在亮度信号的4×4像素和8×8像素的帧内预测模式下,针对4×4像素和8×8像素的亮度信号的每个块,定义一个帧内预测模式。在亮度信号的16×16像素的帧内预测模式和色差信号的帧内预测模式下,针对一个宏块定义一个预测模式。
近年来,例如,非专利文献1和2提出了一种改进H.264/AVC方案的帧内预测的效率的方法。
将参考图1来描述作为非专利文献1中提出的帧内预测方法的帧内模板匹配方法。在图1的示例中,在要编码的目标帧(未示出)上示出了具有4×4像素的块A和在具有X×Y(=水平×竖直)的面积中仅有已进行编码处理的像素的预定搜索范围。
在预定块A中示出了现在要编码的目标块a。预定块A例如是宏块或子宏块。目标块a是在形成预定块A的具有2×2像素的块之中的位于左上侧的块。具有已进行编码处理的像素的模板区域b与目标块a邻近。例如,当以光栅扫描顺序来执行编码处理时,如图1所示,模板区域b是位于目标块a的左上侧的区域,并且是在帧存储器中累积解码图像的区域。
根据帧内模板匹配方法,例如,使用模板区域b在预定搜索范围E内执行模板匹配处理,在模板区域b中诸如SAD(绝对差的和)等的成本函数值最小。因此,搜索具有与模板区域b的像素值的最高相关性的块b′,并且通过使用对应于搜索到的区域b′的块a′作为目标块a的预测图像,来搜索目标块a的运动向量。
以这种方式,在帧内模板匹配方法的运动向量搜索处理时,在模板匹配处理中使用解码图像。因此,当预先确定了预定搜索范围E时,可以在编码侧和解码侧执行处理,并且不需要将关于运动向量的信息传输给解码侧。
在图1中,已描述了具有2×2像素的目标子块,但本发明并不局限于此。反而,可以使用具有任意尺寸的子块。
将参考图2来描述非专利文献2中提出的帧内预测方法的帧内运动预测方法。在图2的示例中,在目标帧上示出了要编码的宏块A和已进行编码处理的预定搜索范围E。
宏块A包括块a1到a4,并且块a2是要编码的块。例如,根据帧内运动预测方法,从预定搜索范围E中搜索具有与块a2的像素值的最高相关性的块a2′,并认为搜索到的块a2′是目标块a2的预测图像。当块a2′为目标时,预定搜索范围E还包括块a1。
此时,在该帧内运动预测方法中,画面中对应于从块a2′到块a2的运动向量mv的信息被传输到解码侧,这与以上参考图1所描述的帧内模板匹配方法不同。
这里,根据MPEG2方案,根据线性内插处理以1/2像素精度来执行运动预测/补偿处理。另一方面,根据H.264/AVC方案,使用6抽头的FIR(有限脉冲响应,Finite Impulse Response)滤波器以1/4像素精度来执行预测/补偿处理。
根据MPEG2方案,在帧运动补偿模式下,以16×16像素为单位来执行运动预测/补偿处理。在场运动补偿模式下,以16×8像素为单位对第一场和第二场执行运动预测/补偿处理。
另一方面,根据H.264/AVC方案,可以通过将块尺寸设置为可变来执行运动预测/补偿处理。即,根据H.264/AVC方案,具有16×16像素的一个宏块被划分成数个16×16、16×8、8×16或8×8分割区,并且每个分割区具有独立的运动向量信息。此外,8×8分割区可以被划分成数个8×8、8×4、4×8或4×4子分割区,并且每个子分割区可以具有独立的运动向量信息。
在H.264/AVC方案中,当以1/4像素精度并利用上述可变块来执行运动预测/补偿处理时,生成大量的运动向量信息。因此,当在这种情形下执行编码处理时,编码效率会恶化。因此,提出了一种技术,该技术用于通过使用已进行编码处理的相邻块的运动向量信息进行中值运算来生成现在要编码的目标块的预测运动向量信息的方法,来抑制编码效率的恶化。
然而,甚至当使用中值预测时,图像压缩信息中的运动向量信息的比率不小。因此,提出了非专利文献3中公开的方法。在该方法中,从解码图像搜索如下图像区域:其以预定位置关系与要编码的图像的区域相邻并具有与模板区域的解码图像(其是解码图像的部分)的高相关性,并且基于与搜索到的区域的预定位置关系来执行预测。
将参考图3来描述非专利文献3中提出的帧间模板匹配方法。
在图3的示例中,示出了在搜索运动向量时要参考的参考帧和要编码的目标帧(图片)。在目标帧中,示出了现在要编码的目标块A和模板区域B,模板区域B与目标块A相邻并具有已进行编码处理的像素。例如,模板区域B是这样的区域:其位于目标块A的左上侧,如图3所示;并且当以光栅扫描顺序执行编码处理时,在帧存储器中累积解码图像。
在帧间模板匹配方法中,通过使用例如SAD作为成本函数值进行模板匹配处理来在参考帧上的预定搜索范围E内搜索具有与模板区域B的像素值的最高相关性的区域B′。与搜索到的区域B′对应的块A′被设为目标块A的预测图像,并搜索目标块A的运动向量P。
在帧间模板匹配方法中,由于在匹配中使用了解码图像,因此可以通过预先设置搜索范围而在编码侧和解码侧执行相同的处理。即,由于通过恰好在解码侧执行上述预测/补偿处理而使得运动向量信息不需要包含于编码侧的图像压缩信息中,因此可抑制编码效率的恶化。
引用列表
非专利文献
非专利文献1:“Intra Prediction by Template Matching”,T.K.Tan etal,ICIP 2006
非专利文献2:“Tools for Improving Texture and MotionCompensation”,MPEG Workshop,Oct.2008
非专利文献3:“Inter Frame Coding with Template MatchingAveraging”,Suzuki et al.ICIP 2007
发明内容
技术问题
然而,如前所述当由于高画质图像而进一步压缩高分辨率图像、或者如IPTV(互联网协议电视)中那样经由诸如作为代表性网络的因特网的网络来传输高画质图像时,需要以较低的比特率来压缩高分辨率图像。
然而,关于H.264/AVC方案的压缩比,压缩尚不充分,并且需要在压缩时削减新信息。
鉴于上述情况设计了本发明,并且本发明的目的是使用对应像素值的差值来改进编码效率。
问题的解决方案
根据本发明的第一方面,一种图像处理设备包括:接收单元,其接收目标帧差信息和参考帧差信息,目标帧差信息是目标帧的图像和通过在目标帧中进行画面内预测生成的目标预测图像之间的差,参考帧差信息是与目标帧对应的参考帧的图像和通过在参考帧中进行画面内预测生成的参考预测图像之间的差;二次差生成单元,其生成二次差信息,该二次差信息是在接收中接收到的目标帧差信息和参考帧差信息之间的差;以及编码单元,其将由二次差生成单元生成的二次差信息进行编码,作为目标帧的图像。
图像处理设备还可以包括帧间模板运动预测单元,该帧间模板运动预测单元通过在参考帧中使用第一模板预测目标块的运动而允许目标块与参考块对应,该第一模板与目标块邻近并且根据解码图像而生成。
图像处理设备还可以包括:目标帧内预测单元,其通过在目标帧中使用第一模板的像素进行画面内预测,来生成目标预测图像;以及参考帧内预测单元,其通过在参考帧中使用第二模板的像素进行画面内预测,来生成参考预测图像,该第二模板与参考块邻近并根据解码图像而生成。
参考帧内预测单元可以通过在参考帧中使用第二模板的像素进行画面内预测而生成参考预测图像,来确定预测模式。目标帧内预测单元可以通过在目标帧内使用第一模板的像素在由参考帧内预测单元确定的预测模式下进行画面内预测,来生成目标预测图像。
目标帧内预测单元可以通过在目标帧中使用第一模板的像素进行画面内预测而生成目标预测图像,来确定预测模式。参考帧内预测单元通过在参考帧中使用第二模板的像素在由目标帧内预测单元确定的预测模式下进行画面内预测,来生成参考预测图像。编码单元可以将目标帧的图像以及指示由目标帧内预测单元确定的预测模式的信息进行编码。
目标帧内预测单元可以通过在目标帧中使用第一模板的像素进行画面内预测而生成目标预测图像,来确定第一预测模式。参考帧内预测单元可以通过在参考帧中使用第二模板的像素进行画面内预测而生成参考预测图像,来确定第二预测模式。编码单元可以将目标帧的图像以及指示由目标帧内预测单元确定的第一预测模式的信息进行编码。
图像处理设备还可以包括运动预测单元,其通过在参考帧中使用目标帧中包含的目标块预测目标块的运动而允许目标块与参考帧中包含的参考块对应。
图像处理设备还可以包括:目标帧内模板预测单元,其通过使用与目标块对应的第一块在目标帧中进行画面内预测来生成目标预测图像,该第一块是通过使用第一模板预测目标块的运动而计算出的,该第一模板与目标块邻近并且根据解码图像而生成;以及参考帧内模板预测单元,其通过使用与参考块对应的第二块在参考帧中进行画面内预测来生成参考预测图像,该第二块是通过使用第二模板预测参考块的运动而计算出的,该第二模板与参考块邻近并且根据解码图像而生成。
图像处理设备还可以包括:目标帧内运动预测单元,其通过使用与目标块对应的第一块在目标帧中进行画面内预测来生成目标预测图像,该第一块是通过使用目标块预测目标块的运动而计算出的;以及参考帧内运动预测单元,其通过使用与参考块对应的第二块在参考帧中进行画面内预测来生成参考预测图像,该第二块是通过使用参考块预测参考块的运动而计算出的。
根据本发明的第一方面,一种图像处理方法包括:通过图像处理设备,接收目标帧差信息和参考帧差信息,该目标帧差信息是目标帧的图像和通过在目标帧中进行画面内预测生成的目标预测图像之间的差,该参考帧差信息是与目标帧对应的参考帧的图像和通过在参考帧中进行画面内预测生成的参考预测图像之间的差;生成二次差信息,该二次差信息是所接收的目标帧差信息和参考帧差信息之间的差;以及将所生成的二次差信息进行编码,作为目标帧的图像。
根据本发明的第二方面,一种图像处理设备包括:解码单元,其将被编码的目标帧的二次差信息进行解码;接收单元,其接收通过在目标帧中进行画面内预测生成的目标预测图像和参考帧差信息,该参考帧差信息是与目标帧对应的参考帧的图像和通过在参考帧中进行画面内预测生成的参考预测图像之间的差;以及二次差补偿单元,其通过使由解码单元解码的二次差信息、由接收单元接收的目标预测图像和由接收单元接收的参考帧差信息相加,来计算目标帧的图像。
图像处理设备还可以包括帧间模板运动预测单元,其通过在参考帧中使用第一模板预测目标块的运动而允许目标块与参考块对应,该第一模板与目标块邻近并且根据解码图像而生成。
图像处理设备还可以包括:目标帧内预测单元,其通过在目标帧中使用第一模板的像素进行画面内预测,来生成目标预测图像;以及参考帧内预测单元,其通过在参考帧中使用第二模板的像素进行画面内预测,来生成参考预测图像,该第二模板与参考块邻近并且根据解码图像而生成。
参考帧内预测单元可以通过在参考帧中使用第二模板的像素进行画面内预测而生成参考预测图像,来确定预测模式。目标帧内预测单元可以通过在目标帧中使用第一模板的像素在由参考帧内预测单元确定的预测模式下进行画面内预测,来生成目标预测图像。
解码单元可以将二次差信息和指示目标帧内预测单元中的预测模式的信息两者进行解码。目标帧内预测单元可以通过在目标帧中使用第一模板的像素在由解码单元解码的信息所指示的预测模式下进行画面内预测,来生成目标预测图像。参考帧内预测单元可以通过在参考帧中使用第二模板的像素在由解码单元解码的信息所指示的预测模式下进行画面内预测,来生成参考预测图像。
解码单元可以将二次差信息和指示目标帧内预测单元中的第一预测模式的信息两者进行解码。目标帧内预测单元可以通过在目标帧中使用第一模板的像素在由解码单元解码的信息所指示的第一预测模式下进行画面内预测,来生成目标预测图像。参考帧内预测单元可以通过在参考帧中使用第二模板的像素进行画面内预测而生成参考预测图像,来确定第二预测模式。
图像处理设备还可以包括运动预测单元,其通过在参考帧中使用目标帧中包含的目标块预测目标块的运动而允许目标块与参考帧中包含的参考块对应。
图像处理设备还可以包括:目标帧内模板预测单元,其通过使用与目标块对应的第一块在目标帧中进行画面内预测来生成目标预测图像,该第一块是通过使用第一模板预测目标块的运动而计算出的,第一模板与目标块邻近并且根据解码图像而生成;以及参考帧内模板预测单元,其通过使用与参考块对应的第二块在参考帧中进行画面内预测来生成参考预测图像,该第二块是通过使用第二模板预测参考块的运动而计算出的,第二模板与参考块邻近并且根据解码图像而生成。
图像处理设备还可以包括:目标帧内运动预测单元,其通过使用与目标块对应的第一块在目标帧中进行画面内预测来生成目标预测图像,该第一块是使用由解码单元连同目标帧的二次差一起进行解码的目标块的运动向量信息而计算出的;以及参考帧内运动预测单元,其通过使用与参考块对应的第二块在参考帧中进行画面内预测来生成参考预测图像,该第二块是使用由解码单元连同目标帧的二次差一起进行解码的参考块的运动向量信息而计算出的。
根据本发明的第二方面,一种图像处理方法包括:通过图像处理设备,将被编码的目标帧的二次差信息进行解码;接收通过在目标帧中进行画面内预测生成的目标预测图像和参考帧差信息,该参考帧差信息是与目标帧对应的参考帧的图像和通过在参考帧中进行画面内预测生成的参考预测图像之间的差;以及通过将解码的二次差信息、所接收的目标预测图像和所接收的参考帧差信息相加,来计算目标帧的图像。
根据本发明的第一方面,接收目标帧差信息和参考帧差信息,该目标帧差信息是目标帧的图像和通过在目标帧中进行画面内预测生成的目标预测图像之间的差,该参考帧差信息是与目标帧对应的参考帧的图像和通过在参考帧中进行画面内预测生成的参考预测图像之间的差。此外,接收二次差信息,该二次差信息是接收的目标帧差信息和接收的参考帧差信息之间的差。将作为目标帧的图像而生成的二次差信息进行编码。
根据本发明的第二方面,将被编码的目标帧的二次差信息进行解码。接收通过在目标帧中进行画面内预测生成的目标预测图像和参考帧差信息,该参考帧差信息是与目标帧对应的参考帧的图像和通过在参考帧中进行画面内预测生成的参考预测图像之间的差。此外,通过将解码的二次差信息、所接收的目标预测图像和所接收的参考帧差信息相加,来计算目标帧的图像。
上述图像处理设备可以是独立的设备,或者可以是具有一个图像编码设备和一个图像解码设备的内部块的设备。
本发明的有益效果
根据本发明的第一方面,可将图像编码。此外,根据本发明的第一方面,可改进编码效率。
根据本发明的第二方面,可将图像解码。此外,根据本发明的第二方面,可改进编码效率。
附图说明
图1是示出帧内模板匹配方法的图。
图2是示出帧内运动预测的图。
图3是示出帧间模板匹配方法的图。
图4是示出根据本发明的实施例的图像编码设备的配置的框图。
图5是示出可变块尺寸的运动预测/补偿处理的图。
图6是示出1/4像素精度的运动预测/补偿处理的图。
图7是示出多参考帧的运动预测/补偿方法的图。
图8是示出生成运动向量信息的方法的示例的图。
图9是示出画面内预测单元和二次差生成单元的详细配置的示例的框图。
图10是示出画面内预测单元和二次差生成单元的操作的示例的图。
图11是示出画面内预测单元和二次差生成单元的操作的其它示例的图。
图12是示出图4中的图像编码设备的编码处理的流程图。
图13是示出图12中的步骤S21的预测处理的流程图。
图14是示出在16×16像素的帧内预测模式的情况下的处理顺序的图。
图15是示出亮度信号的4×4像素的帧内预测模式的类型的图。
图16是示出亮度信号的4×4像素的帧内预测模式的类型的图。
图17是示出4×4像素的帧内预测的方向的图。
图18是示出4×4像素的帧内预测的图。
图19是示出亮度信号的4×4像素的帧内预测模式的编码的图。
图20是示出亮度信号的8×8像素的帧内预测模式的类型的图。
图21是示出亮度信号的8×8像素的帧内预测模式的类型的图。
图22是示出亮度信号的16×16像素的帧内预测模式的类型的图。
图23是示出亮度信号的16×16像素的帧内预测模式的类型的图。
图24是示出16×16像素的帧内预测的图。
图25是示出色差信号的帧内预测模式的类型的图。
图26是示出图13中的步骤S31的帧内预测处理的流程图。
图27是示出图13中的步骤S32的帧间运动预测处理的流程图。
图28是示出图27的步骤S63的二次差生成处理的流程图。
图29是示出根据本发明的实施例的图像解码设备的配置的框图。
图30是示出画面内预测单元和二次差补偿单元的详细配置的示例的框图。
图31是示出图29中的图像解码设备的解码处理的流程图。
图32是示出图31中的步骤S138的预测处理的流程图。
图33是示出图32中的步骤S175的帧间运动预测和二次差补偿处理的流程图。
图34是示出根据本发明的另一个实施例的图像编码设备的配置的框图。
图35是示出相邻预测单元的详细配置的示例的框图。
图36是示出帧间模板运动预测/补偿单元和相邻预测单元的操作的示例的图。
图37是示出图12中的步骤S21的预测处理的另一个示例的流程图。
图38是示出图37中的步骤S212的帧间运动预测处理的另一个示例的流程图。
图39是示出图37中的步骤S215的帧间模板运动预测处理的示例的流程图。
图40是示出图37中的步骤S215的帧间模板运动预测处理的另一个示例的流程图。
图41是示出图37中的步骤S215的帧间模板运动预测处理的又一个示例的流程图。
图42是示出根据本发明的另一个实施例的图像解码设备的配置的框图。
图43是示出相邻预测单元的详细配置的示例的框图。
图44是示出图31中的步骤S138的预测处理的另一个示例的流程图。
图45是示出图44中的步骤S319的帧间模板运动预测/补偿处理的流程图。
图46是示出计算机硬件的配置的示例的框图。
具体实施方式
在下文中,将参考附图来描述本发明的实施例。
[图像编码设备的配置示例]
图4是示出根据本发明的实施例的、用作图像处理设备的图像编码设备的配置的图。
如果没有另外说明,图像编码设备51根据例如H.264方案和MPEG-4第10部分(高级视频编码)(下文中称作H.264/AVC)将图像压缩和编码。即,实际上,如果必要的话,在图像编码设备51中也可以使用以上参考图1或3描述的模板匹配方法。因此,除了模板匹配方法之外,根据H.264/AVC将图像压缩和编码。
在图4的示例中,图像编码设备51包括A/D转换单元61、画面重排缓冲器62、计算单元63、正交变换单元64、量化单元65、无损编码单元66、累积缓冲器67、逆量化单元68、逆正交变换单元69、计算单元70、去块滤波器71、帧存储器72、开关73、帧内预测单元74、运动预测/补偿单元75、画面内预测单元76、二次差生成单元77、预测图像选择单元78和速率控制单元79。
A/D转换单元61对输入图像执行A/D转换,将转换后的图像输出给画面重排缓冲器62,并存储该图像。画面重排缓冲器62根据GOP(图像组,Group of Pictures)将按照存储的显示顺序的帧的图像重排为按照用于编码的帧的顺序。
计算单元63从自画面重排缓冲器62读取的图像中减去由预测图像选择单元78所选择的并从帧内预测单元74发送的预测图像,然后将差信息输出给正交变换单元64。正交变换单元64对来自计算单元63的差信息执行诸如离散余弦变换或卡南洛伊夫(Karhunen-Loeve)变换的正交变换,然后输出变换系数。量化单元65将由正交变换单元64输出的变换系数量化。
由量化单元65输出的量化变换系数被输入到无损编码单元66,然后对其进行诸如可变长度编码或算术编码的无损编码以便被压缩。
无损编码单元66从帧内预测单元74获得指示帧内预测的信息,并且从运动预测/补偿单元75获得指示帧间预测模式的信息等。指示帧内预测的信息在下面也称作帧内预测模式信息。此外,指示帧间预测的信息在下面也称作帧间预测模式信息。
无损编码单元66将量化变换系数编码,并将指示帧内预测的信息和指示帧间预测模式的信息等编码,以将编码数据设置为压缩图像中的头部信息的部分。无损编码单元66将编码数据提供给累积缓冲器67以累积编码数据。
例如,无损编码单元66执行诸如可变长度编码或算术编码的无损编码处理。可变长度编码的示例包括在H.264/AVC方案中确定的CAVLC(上下文自适应可变长度编码,Context-Adaptive Variable LengthCoding)。算术编码的示例包括CABAC(上下文自适应二进制算术编码,Context-Adaptive Binary Arithmetic Coding)。
累积缓冲器67将从无损编码单元66提供的数据作为根据H.264/AVC方案编码的压缩图像输出到后面的级的记录设备、传输线等(未示出)。
从量化单元65输出的量化变换系数还被输入到逆量化单元68,经受逆量化,然后在逆正交变换单元69中还经受逆正交变换。通过计算单元70将经受逆正交变换的输出相加到从预测图像选择单元78提供的预测图像,使得形成局部解码图像。去块滤波器71消除解码图像的块失真,将解码图像提供给帧存储器72,然后累积解码图像。在帧存储器72中还提供并累积了未由去块滤波器71进行去块滤波处理的图像。
开关73将帧存储器72中累积的参考图像输出给运动预测/补偿单元75或帧内预测单元74。
在图像编码设备51中,例如,来自画面重排缓冲器62的P图片、B图片和I图片作为用于帧内预测(也称作帧内处理)的图像提供给帧内预测单元74。从画面重排缓冲器62读取的P图片和B图片作为用于帧间预测(也称作帧间处理)的图像提供给运动预测/补偿单元75。
帧内预测单元74基于从画面重排缓冲器62读取的并经受帧内预测的参考图像和从帧存储器72提供的参考图像,在所有候选帧内预测模式下执行帧内预测处理,以便生成预测图像。
此时,帧内预测单元74针对所有候选帧内预测模式计算成本函数值,并选择具有所计算的成本函数值之中的最小值的帧内预测模式作为最佳帧内预测模式。
帧内预测单元74将在最佳帧内预测模式下生成的预测图像和成本函数值提供给预测图像选择单元78。当选择由预测图像选择单元78在最佳帧内预测模式下生成的预测图像时,帧内预测单元74将指示最佳帧内预测模式的信息提供给无损编码单元66。无损编码单元66将该信息编码,并将编码信息设置为压缩图像中的头部信息的部分。
运动预测/补偿单元75执行所有候选帧间预测模式的运动预测/补偿处理。即,将从画面重排缓冲器62读取的要进行帧间处理的图像和参考图像从帧存储器72经由开关73提供给运动预测/补偿单元75。
运动预测/补偿单元75基于要进行帧间处理的图像和参考图像来检测运动向量,并基于关于在参考图像中检测到的运动向量的信息来计算参考块,参考块可以对应于要进行帧间处理的图像的目标块。运动预测/补偿单元75将关于目标块的信息和与关于目标块的信息对应的关于参考块的信息输出给画面内预测单元76。对所有候选帧间预测模式执行该处理。
运动预测/补偿单元75可以根据以上参考图3所描述的帧间模板匹配方法来执行运动预测/补偿处理,来替代帧间预测模式的运动预测/补偿处理。
画面内预测单元76从帧存储器72目标帧和读取参考帧的参考图像。画面内预测单元76在目标帧中执行画面内预测以检测对应于目标块的块,并在参考帧中执行画面内预测以检测对应于参考块的块。在画面内预测单元76中,以上参考图1所描述的帧内模板匹配方法或以上参考图2所描述的帧内运动预测方法被用作画面内预测。
画面内预测单元76计算目标块的像素值和对应块的像素值之间的差信息(目标帧的差信息),并计算参考块的像素值和对应块的像素值之间的差信息(参考帧的差信息)。计算的目标帧的差信息和计算的参考帧的差信息输出给二次差生成单元77。
二次差生成单元77生成二次差信息(二次差信息是目标帧的差信息和参考帧的差信息之间的差),并将生成的二次差信息输出给运动预测/补偿单元75。
运动预测/补偿单元75使用来自二次差生成单元77的目标块的二次差信息,针对所有候选帧间预测模式计算成本函数值。运动预测/补偿单元75选择具有所计算的成本函数值之中的最小值的帧间预测模式作为最佳帧间预测模式。
运动预测/补偿单元75将要进行帧间处理的图像和在最佳帧间预测模式下生成的二次差信息之间的差以及最佳帧间预测模式的成本函数值提供给预测图像选择单元78。当预测图像选择单元78选择二次差信息和要进行帧间处理的图像之间的差作为在最佳帧间预测模式下生成的预测图像时,运动预测/补偿单元75将指示最佳帧间预测模式的信息输出给无损编码单元66。
如果必要的话,无损编码单元66还将运动向量信息、标记信息和参考帧信息等输出给无损编码单元66。无损编码单元66对来自运动预测/补偿单元75的信息执行诸如可变长度编码或算术编码的无损编码处理,以将处理后的信息插入到压缩图像的头部部分中。
预测图像选择单元78基于从帧内预测单元74或运动预测/补偿单元75输出的成本函数值,来从最佳帧内预测模式和最佳帧间预测模式确定最佳预测模式。预测图像选择单元78选择所确定的最佳预测模式的预测图像或用于帧间处理的图像与二次差信息之间的差,并将该差提供给计算单元63和70。此时,预测图像选择单元78将预测图像的选择信息提供给帧内预测单元74或运动预测/补偿单元75。
速率控制单元79基于累积缓冲器67中累积的压缩图像来控制量化单元65的量化操作速率,以使得不发生上溢或下溢。
[H.264/AVC方案的描述]
图5是示出H.264/AVC方案中的运动预测和补偿的块尺寸的示例的图。在H.264/AVC方案中,将块尺寸设置成可变的,用于运动预测和补偿。
在图5的上部,从左侧示出了被划分为16×16像素、16×8像素、8×16像素和8×8像素的分割区的具有16×16像素的宏块。在图5的下部,从左侧示出了被划分为8×8像素、8×4像素、4×8像素和4×4像素的子分割区的具有8×8像素的分割区。
即,在H.264/AVC方案中,可以将一个宏块划分为具有16×16像素、16×8像素、8×16像素或者8×8像素的若干分割区,并且每个分割区可以具有独立的运动向量信息。此外,可以将具有8×8像素的分割区划分为具有8×8像素、8×4像素、4×8像素或者4×4像素的若干子分割区,并且每个子分割区可以具有独立的运动向量信息。
图6是示出在H.264/AVC方案中的1/4像素精度的预测/补偿处理的图。在H.264/AVC方案中,使用6抽头的FIR(有限脉冲响应滤波器)滤波器以1/4像素精度执行预测/补偿处理。
在图6的示例中,位置A是整数精度像素的位置,位置b、c和d是1/2像素精度的位置,位置e1、e2和e3是1/4像素精度的位置。首先,通过以下表达式(1)来定义Clip()。
[表达式1]
当输入图像具有8位精度时,max_pix(最大像素)的值为255。
利用6抽头的FIR滤波器,通过以下表达式(2)生成位置b和d处的像素值。
[表达式2]
F=A-2-5·A-1+20·A0+20·A1-5·A2+A3
b,d=Clip1((F+16)>>5) (2)
在水平方向和竖直方向上应用6抽头的FIR滤波器,通过以下表达式(3)生成位置c处的像素值。
[表达式3]
F=b-2-5·b-1+20·b0+20·b1-5·b2+b3
或
F=d-2-5·d-1+20·d0+20·d1-5·d2+d3
C=Clip1((F+512)>>10) (3)
在水平方向和竖直方向上都执行了乘积和操作(product-sumoperation)之后,最后执行一次限制(Clip)处理。
利用线性内插,通过以下表达式(4)生成位置e1至e3。
[表达式4]
e1=(A+b+1)>>1
e2=(b+d+1)>>1
e3=(b+c+1)>>1 (4)
图7是示出了H.264/AVC方案中的多参考帧的预测/补偿处理的图。在H.264/AVC方案中,确定多参考帧的运动预测/补偿方法。
在图7的示例中,示出了现在要编码的目标帧Fn和已经受编码的帧Fn-5、…、Fn-1。帧Fn-1是目标帧Fn在时间轴上的前面第一帧,帧Fn-2是目标帧Fn在时间轴上的前面第二帧,帧Fn-3是目标帧Fn在时间轴上的前面第三帧。此外,帧Fn-4是目标帧Fn的前面第四帧,以及帧Fn-5是目标帧Fn的前面第五帧。通常,随着帧在时间轴上距目标帧Fn越近,所附的参考图片编号(ref_id)就越小。即,帧Fn-1是最小的参考图片编号,且参考图片编号按照Fn-2、…、Fn-5的顺序变小。
在目标帧Fn中示出了块A1和块A2。认为块A1具有与前面第二帧Fn-2的块A1′的相关性,并搜索运动向量V1。此外,认为块A2具有与前面第四帧Fn-4的块A1′的相关性,并搜索运动向量V2。
在H.264/AVC方案中,如上所述,多个参考帧可被存储在存储器中,并且可以在一个帧(图片)中参考其它参考帧。即,例如,块A1参考帧Fn-2,而块A2参考帧Fn-4。以这种方式,在一张图片中,每个块可以具有独立的参考帧信息(参考图片编号(ref_id))。
在H.264/AVC方案中,当通过执行参考图5至图7所描述的运动预测/补偿处理而生成大量的运动向量信息并且在无任何对策的情况下将该运动向量信息编码时,会使编码效率恶化。因此,在H.264/AVC方案中,通过图8所示的方法减小运动向量的编码信息的大小。
图8是示出根据H.264/AVC方案生成运动向量信息的方法的图。
在图8的示例中,示出了现在要编码的目标块E(例如,16×16像素)、以及已经受编码的并与目标块E相邻的块A至D。
即,块D与目标块E的左上侧相邻,块B与目标块E的上侧相邻,块C与目标块E的右上侧相邻,以及块A与目标块E的左侧相邻。此外,如块A至D那样未被划分的块指示以上参考图5所描述的具有16×16像素至4×4像素的若干块之中的块。
例如,用mvX来表示关于X(=A,B,C,D,E)的运动向量信息。首先,通过使用关于块A、B和C的运动向量信息进行中值预测,通过表达式(5)生成关于目标块E的预测运动向量信息pmvE。
pmvE=med(mvA,mvB,mvC) (5)
在一些情况下,关于块C的运动向量信息不可得,这是因为该运动向量信息位于图像帧的结尾处或者尚未被编码的原因。在这种情况下,用关于块D的运动向量信息来替代关于块C的运动向量信息。
通过利用pmvE的表达式(6)来生成数据mvdE,数据mvdE作为关于目标块E的运动向量信息相加至压缩图像的头部部分。
mvdE=mvE-pmvE (6)
实际上,单独地处理运动向量信息在水平方向和竖直方向上的分量。
以这种方式,可通过生成预测运动向量信息、以及将通过与相邻块相关而生成的预测运动向量信息与运动向量信息之间的差相加至压缩图像的头部部分,来减少运动向量信息。
[画面内预测单元和二次差生成单元的配置示例]
图9是示出画面内预测单元和二次差生成单元的详细配置的示例的框图。
在图9的示例中,画面内预测单元76包括目标帧画面内预测单元81、目标帧画面内差生成单元82、参考帧画面内预测单元83和参考帧画面内差生成单元84。
二次差生成单元77包括目标帧差接收单元91、参考帧差接收单元92和二次差计算单元93。
在运动预测/补偿单元75中,基于经受帧间处理的图像和参考图像来检测运动向量,并通过在参考图像中检测到的运动向量信息来计算与经受了帧间处理的图像的目标块A对应的参考块B。运动预测/补偿单元75将关于目标块A的信息输出给目标帧画面内预测单元81,并将关于参考块B的信息输出给参考帧画面内预测单元82。
目标帧画面内预测单元81参考关于目标块A的信息,从帧存储器72读取目标帧的参考图像。目标帧画面内预测单元81对目标帧执行画面内预测以检测与目标块A对应的块A′,并将关于目标块A和块A′的信息输出给目标帧画面内差生成单元82。
目标帧画面内差生成单元82生成目标帧中的目标块A的像素值和块A′的像素值之间的差信息,并将该差信息作为目标帧的差信息[ResA]输出给目标帧差接收单元91。
参考帧画面内预测单元83参考关于参考块B的信息,从帧存储器72读取参考帧的参考图像。参考帧画面内预测单元83对参考帧执行画面内预测以检测与参考块B对应的块B′,并将关于参考块B和块B′的信息输出给参考帧画面内差生成单元84。
参考帧画面内差生成单元84生成参考帧中的参考块B的像素值和块B′的像素值之间的差信息,并将该差信息作为参考帧的差信息[ResB]输出给参考帧差接收单元92。
目标帧差接收单元91接收来自目标帧画面内差生成单元82的目标帧的差信息[ResA],并将该差信息[ResA]提供给二次差计算单元93。参考帧差接收单元92接收来自参考帧画面内差生成单元84的参考帧的差信息[ResB],并将该差信息[ResB]提供给二次差计算单元93。
二次差计算单元93计算目标帧的差信息[ResA]和参考帧的差信息[ResB]之间的二次差信息[Res]。二次差计算单元93将所计算的二次差信息[Res]输出给运动预测/补偿单元75。
[画面内预测单元和二次差生成单元的操作示例]
接下来,将参考图10来描述画面内预测单元和二次差生成单元的操作。在图10的示例中,在目标帧中示出了目标块A。
首先,运动预测/补偿单元75根据H.264/AVC方案执行正常运动预测处理,以在参考帧中利用帧间运动向量MV计算与目标块A对应的参考块B。根据相关技术,将作为目标块A的预测图像的目标块A的像素值和参考块B的像素值之间的差进行编码。
接下来,目标帧画面内预测单元81对目标帧执行画面内预测,以检测对应于目标块A的块A′。同时,参考帧画面内预测单元83对参考帧执行画面内预测,以检测对应于参考块B的块B′。
在图10的示例中,目标帧画面内预测单元81通过使用帧内运动预测方法作为画面内预测,利用帧内运动向量mvA来检测对应于目标块A的块A′。同样地,参考帧画面内预测单元83通过使用帧内运动预测方法作为画面内预测,利用帧内运动向量mvB来检测对应于参考块B的块B′。
如在图10的示例中,当帧内运动预测方法被用作画面内预测时,需要将目标帧中的帧内运动向量mvA和参考帧中的帧内运动向量mvB传输至解码侧。因此,帧内运动向量mvA和帧内运动向量mvB被提供给无损编码单元66。
此时,例如,帧内运动向量mvA可以无变化地被传输,并且仅帧内运动向量mvB和帧内运动向量mvA之间的差信息可以被传输用于帧内运动向量mvB。当然,帧内运动向量mvB可以无变化地被传输,并且仅帧内运动向量mvA和帧内运动向量mvB之间的差信息可以被传输用于帧内运动向量mvA。
分别用[A]、[A′]、[B]和[B′]来表示目标块A、块A′、参考块B和块B′的像素值。目标帧画面内差生成单元82使用以下表达式(7)生成目标帧的差信息[ResA],并且参考帧画面内差生成单元84使用以下表达式(8)生成参考帧的差信息[ResB]。
[ResA]=[A]-[A′] (7)
[ResB]=[B]-[B′] (8)
二次差计算单元93利用以下表达式(9)生成二次差信息[Res]。
[Res]=[ResA]-[ResB] (9)
以这种方式生成的二次差信息[Res]被编码,然后传输至解码侧。即,将二次差信息[Res]输出到运动预测/补偿单元75。运动预测/补偿单元75将目标块A的像素值[A]和二次差信息[Res]之间的差[A′]+[ResB]输出给预测图像选择单元78。当预测图像选择单元78选择要进行帧间处理(作为在最佳帧间预测模式下生成的预测)的图像和二次差信息之间的差[A′]+[ResB]时,差[A′]+[ResB]输出给计算单元63和70。
在计算单元63中,从原始图像[A]中减去差[A′]+[ResB],并将作为减法结果的二次差信息[Res]输出给正交变换单元64。二次差信息[Res]由正交变换单元64进行正交变换,由量化单元65量化,并由无损编码单元66进行编码。
另一方面,在计算单元70中,对经受了正交变换和量化的二次差信息[Res]进行逆量化和逆正交变换并被输入,并且将要进行帧间处理的图像和二次差信息之间的差[A′]+[ResB]也从预测图像选择单元78输入。因此,计算单元70能够通过使二次差信息[Res]和差[A′]+[ResB]相加而获得[A],并将结果输出给去块滤波器71和帧存储器72。
即,在这种情况下,计算单元70执行与在参考图29描述的图像解码设备101的差补偿单元124中所执行的处理相同的处理。
如上所述,计算目标块A的预测图像(参考块B)。在本发明中,还计算了目标块A和画面内预测图像之间的差、以及参考块B和画面内预测图像之间的差。此外,将这两个差之间的差(二次差)进行编码。因此,可改进编码效率。
在图10的示例中,举例说明了可以利用帧间运动向量MV而彼此对应的目标块A和参考块B。在该示例中,举例说明了可以利用帧内运动向量mv1彼此对应的目标块A和块A′、以及可以利用帧内运动向量mv2而彼此对应的参考块B和块B′。
允许目标块A对应于参考块B的方法、以及允许目标块A和参考块B分别对应于块A′和块B′的方法并不限于图10的示例。例如,可以对应地使用图11所示的方法。
图11是示出运动预测/补偿和画面内预测的其它操作示例的图。在图11的示例中,目标块A和参考块B可以通过帧间模板匹配而彼此对应。此外,目标块A和参考块B可以通过帧内模板匹配而分别与块A′和块B′对应。
在图11的示例中,运动预测/补偿单元75通过帧间模板匹配,对目标块A执行运动预测/补偿处理。即,运动预测/补偿单元75从参考帧中搜索具有与模板区域a的像素值的最高相关性的区域b,模板区域a与目标块A相邻并具有已经受编码的像素。然后,运动预测/补偿单元75检测与从参考帧搜索到的区域b对应的块B,作为对应于目标块A的块。以这种方式,参考块B可以对应于目标块A。
目标帧画面内预测单元81通过帧内模板匹配,对目标块A执行画面内预测处理。即,目标帧画面内预测单元81从目标帧中搜索具有与目标块A的模板区域a的像素值的最高相关性的区域a′。然后,目标帧画面内预测单元81检测与从目标帧搜索到的区域a′对应的块A′进行,作为对应于目标块A的块。以这种方式,块A′可以对应于目标块A。
同样地,参考帧画面内预测单元83通过帧内模板匹配,对参考块B执行画面内预测处理。即,参考帧画面内预测单元83从目标帧搜索具有与参考块B的模板区域b的像素值的最高相关性的区域b′。然后,参考帧画面内预测单元83检测与从目标帧搜索到的区域b′对应的块B′作为对应于目标块B的块。以这种方式,块B′可以对应于目标块B。
与图10的示例不同,由于在图11的示例中不需要将帧间运动向量或帧内运动向量传输到解码侧,因此与图10的示例相比减少了比特量。
在图11的示例中,在帧间预测中使用的区域a和b的像素值也用于帧内预测中。因此,可防止存储器访问的次数的显著增加。
本发明的应用范围不限于图10和11的示例的组合。例如,目标块A和参考块B可以通过图10所示的帧间运动向量MV而彼此对应。此时,目标块A和参考块B可以通过图11所示的帧内模板匹配而分别对应于块A′和块B′。
例如,目标块A和参考块B可以通过图11所示的帧间模板匹配而彼此对应。此时,目标块A和参考块B可以通过图10所示的帧内运动向量mv1和mv2而分别对应于块A′和块B′。
当比特率高时,与甚至在通过运动向量信息增加比特量的情况下使得预测效率高的情况相比,压缩效率更高。因此,可实现比图10所示的组合更高的编码效率。
另一方面,当比特率低时,可以通过减少运动向量信息的比特量来实现更高的编码效率。因此,可实现比图11所示的组合更高的编码效率。
[图像编码设备的编码处理的描述]
接下来,将参考图12的流程图来描述图4中的图像编码设备51的编码处理。
在步骤S11中,A/D转换单元61对输入图像执行A/D转换。在步骤S12中,画面重排缓冲器62存储从A/D转换单元61提供的图像,并将图像从图片的显示顺序重排为编码顺序。
在步骤S13中,计算单元63计算在步骤S12中重排的图像和预测图像之间的差。在帧间预测的情况下,将预测图像从运动预测/补偿单元75经由预测图像选择单元78提供给计算单元63;而在帧内预测的情况下,则从帧内预测单元74提供预测图像。
差数据具有比原始图像数据更小的量。因此,与无变化地对图像编码的情况相比,可压缩数据量。
在步骤S14中,正交变换单元64对从计算单元63提供的差信息执行正交变换。具体地,通过执行诸如离散余弦变换或卡南洛伊夫变换的正交变换而输出变换系数。在步骤S15中,量化单元65将该变换系数量化。当该变换系数被量化时,由下面描述的步骤S25的处理来控制速率。
如下将以这种方式量化的差信息局部解码。即,在步骤S16中,逆量化单元68根据与量化单元65的特征对应的特征,对由量化单元65量化的变换系数执行逆量化。在步骤S17中,逆正交变换单元69根据与正交变换单元64的特征对应的特征,对由逆量化单元68进行了的逆量化的变换系数执行逆正交变换。
在步骤S18,计算单元70将通过预测图像选择单元78输入的预测图像与局部解码的差信息相加以生成局部解码图像(与输入到计算单元63的图像相对应的图像)。在步骤S19,去块滤波器71滤波从计算单元70输出的图像。以这种方式,消除块失真。在步骤S20,帧存储器72存储滤波后的图像。此外,从计算单元70提供未被去块滤波器71滤波的图像并将其存储在帧存储器72中。
在步骤S21,帧内预测单元74和运动预测/补偿单元75分别对该图像进行预测处理。即,在步骤S21,帧内预测单元74进行帧内预测模式的帧内预测处理。运动预测/补偿单元75以帧间预测模式进行运动预测/补偿处理。此时,通过帧间预测能够相互对应的目标块和参考块经历画面内预测,并且生成作为与画面内预测图像的差的目标帧的差信息和参考帧的差信息。然后,生成作为目标帧的差信息和参考帧的差信息之间的差的二次差信息。
下面参考图13描述步骤S21的详细预测处理,以所有候选帧内预测模式的每一种进行该预测处理以计算所有候选预测模式的各成本函数值。基于计算出的成本函数值选择最佳帧内预测模式,并且将通过最佳帧内预测模式的帧内预测生成的预测图像及其成本函数值提供给预测图像选择单元78。
进行所有候选帧间预测模式中的预测处理,从而根据目标块和参考块之间的差信息生成二次差信息。使用所生成的二次差信息计算所有候选预测模式中的各成本函数值。此外,基于所计算出的成本函数值选择最佳帧间预测模式,并且将该二次差信息与作为以最佳帧间预测模式生成的预测图像的要进行帧间处理的图像之间的差和最佳帧间预测模式的成本函数值提供给预测图像选择单元78。
在步骤S22,预测图像选择单元78基于从帧内预测单元74和运动预测/补偿单元75输出的成本函数值,将最佳帧内预测模式和最佳帧间预测模式之一确定为最佳预测模式。然后,预测图像选择单元78选择所确定的最佳预测模式的预测图像并且将该预测图像提供给计算单元63和70。在如上所述的步骤S13和S18的计算中使用该预测图像(要进行帧间处理的图像与二次差信息之间的差)。
预测图像的选择信息被提供给帧内预测单元74或者运动预测/补偿单元75。当选择最佳帧内预测模式中的预测图像时,帧内预测单元74将表示最佳帧内预测模式的信息(即,帧内预测模式信息)输出到无损编码单元66。
当选择最佳帧间预测模式的预测图像时,运动预测/补偿单元75将表示最佳帧间预测模式的信息输出到无损编码单元66,并且必要时输出与最佳帧间预测模式对应的信息。与最佳帧间预测模式对应的信息的例子包括运动向量信息、标记信息和参考帧信息。
在步骤S23,无损编码单元66对被量化单元65量化并且从量化单元66输出的变换系数编码。即,对差图像(帧间处理中的二次差图像)进行无损编码,如可变长度编码或算术编码,并且进行压缩。此时,例如,在上述步骤S22中输入到无损编码单元66并且来自帧内预测单元74的帧内预测模式信息或者来自运动预测/补偿单元75的与最佳帧间预测模式对应的信息也被编码并且添加至头信息。
在步骤S24,累积缓冲器67累积差图像作为压缩图像。累积在累积缓冲器67中的压缩图像被适当读取并且经由传输线路传送到解码侧。
在步骤S25,速率控制单元79基于在累积缓冲器67中累积的压缩图像控制量化单元65的量化操作的速率,使得不出现溢出或下溢。
[预测处理的描述]
接下来参考图13的流程图描述图12中的步骤S21的预测处理。
当从画面重排缓冲器62提供的要处理的图像是要进行帧内处理的块的图像时,从帧存储器72读取要参考的解码图像,并且经由开关73将该解码图像提供给帧内预测单元74。在步骤S31,帧内预测单元74基于该图像以所有候选帧内预测模式对要处理的块的像素进行帧内预测。使用未经去块滤波器71去块滤波的像素作为要参考的解码像素。
下面参考图26描述步骤S31的详细帧内预测处理,以所有候选帧内预测模式进行帧内预测,以计算所有候选帧内预测模式中的成本函数值。基于计算出的成本函数值选择最佳帧内预测模式,并且将通过最佳帧内预测模式的帧内预测生成的预测图像及其成本函数值提供给预测图像选择单元78。
当从画面重排缓冲器62提供的要处理的图像是要进行帧间处理的图像时,从帧存储器72读取要参考的图像,并且经由开关73将该图像提供给运动预测/补偿单元75。在步骤S32,运动预测/补偿单元75基于该图像进行帧间运动预测处理。即,运动预测/补偿单元75参考从帧存储器72提供的图像进行所有候选帧间预测模式的运动预测处理。
下面参考图27描述步骤S32的详细帧间预测处理,以所有候选帧间预测模式进行运动预测处理以针对所有候选帧间预测模式生成二次差信息。使用所生成的二次差信息计算成本函数值。
在步骤S33,运动预测/补偿单元75将具有步骤S32中针对帧间预测模式计算出的成本函数值当中最小值的预测模式确定为最佳帧间预测模式。然后,运动预测/补偿单元75将要进行帧间处理的图像和最佳帧间预测模式中生成的二次差信息之间的差以及最佳帧间预测模式的成本函数值提供给预测图像选择单元78。
[根据H.264/AVC方案的帧内预测处理的说明]
接下来,将描述根据H.264/AVC方案确定的帧内预测的每个模式。
首先,将描述用于亮度图像的帧内预测模式。在亮度信号的帧内预测模式中,提供帧内4×4预测模式、帧内8×8预测模式和帧内16×16预测模式三种方法。该帧内预测模式是用于确定块单元的模式并且针对每个宏块设置该帧内预测模式。此外,可以在每个宏块中设置色差信号的帧内预测模式,使其独立于亮度信号的帧内预测模式。
在帧内4×4预测模式的情况下,可以为每个4×4像素目标块设置九种预测模式中的一种预测模式。此外,在帧内8×8预测模式的情况下,可以为每个8×8像素目标块设置九种预测模式中的一种预测模式。此外,在帧内16×16预测模式的情况下,可以为每个16×16像素目标宏块设置四种预测模式中的一种预测模式。
在下文中,帧内4×4预测模式、帧内8×8预测模式和帧内16×16预测模式还分别被适当地称为4×4像素帧内预测模式、8×8像素帧内预测模式和16×16像素帧内预测模式。
在图14的示例中,附加到各块的编号-1至25代表各块各自的比特流序列(解码侧的处理序列)。对于亮度信号,宏块被分割为4×4像素块,并且进行4×4像素的DCT。只有在-1块中所示的帧内16×16预测模式的情况下,收集各块的DC分量,生成4×4矩阵。此外,对该矩阵进行正交变换。
另一方面,对于色差信号,宏块被分割为4×4像素块并且进行4×4像素的DCT。如16和17块所示,收集各块的DC分量,以生成2×2矩阵。此外,对该矩阵进行正交变换。
对于帧内8×8预测模式,上述处理只可以用于以高轮廓(highprofile)或者该轮廓以上的轮廓对目标宏块进行8×8正交变换的情况。
图15和图16是示出4×4像素亮度信号的九种帧内预测模式(帧内_4x4_预测_模式)的图。除了表示平均(DC)预测的模式2以外的八种模式对应于图17中由数字0、1、3至8表示的方向。
将参考图18描述九种帧内_4x4_预测_模式。在图18的示例中,像素a至p代表要进行帧内处理的目标块的像素,并且像素值A至M代表属于相邻块的像素的像素值。即,像素a至p是从画面重排缓冲器62读取的处理目标的图像,像素值A至M是从帧存储器72读取并且参考的解码图像的像素值。
在图15和图16中的各帧内预测模式的情况下,如下使用属于相邻块的像素的像素值A至M生成像素a至p的预测像素值。此外,像素值“可用”这种表述意味着该像素值由于不存在处于图像框的边缘或者仍未被编码的原因而是可用的。另一方面,像素值“不可用”这种表述意味着该像素值由于处于图像框的边缘或者仍未被编码的原因而是不可用的。
模式0是竖直预测模式,并且只适用于像素值A至D“可用”的情况。在此情况下,按照如下表达式(10)生成像素a至p的预测像素值。
像素a,e,i,m的预测像素值=A
像素b,f,j,n的预测像素值=B
像素c,g,k,o的预测像素值=C
像素d,h,l,p的预测像素值=D…(10)
模式1是水平预测模式,并且只适用于像素值I至L“可用”的情况。在此情况下,按照如下表达式(11)生成像素a至p的预测像素值。
像素a,b,c,d的预测像素值=I
像素e,f,g,h的预测像素值=J
像素i,j,k,l的预测像素值=K
像素m,n,o,p的预测像素值=L…(11)
模式2是DC预测模式,并且在像素值A、B、C、D、I、J、K、L均“可用”的情况下,按照表达式(12)生成预测像素值。
(A+B+C+D+I+J+K+L+4)>>3…(12)
在像素值A、B、C、D均“不可用”的情况下,按照表达式(13)生成预测像素值。
(I+J+K+L+2)>>2…(13)
在像素值I、J、K、L均“不可用”的情况下,按照表达式(14)生成预测像素值。
(A+B+C+D+2)>>2…(14)
此外,在像素值A、B、C、D、I、J、K、L均“不可用”的情况下,使用128作为预测像素值。
模式3是对角线_下_左预测模式,并且仅适用于像素值A、B、C、D、I、J、K、L、M均“可用”的情况。在此情况下,按照下面的表达式(15)生成像素a至p的预测像素值。
像素a的预测像素值=(A+2B+C+2)>>2
像素b,e的预测像素值=(B+2C+D+2)>>2
像素c,f,i的预测像素值=(C+2D+E+2)>>2
像素d,g,j,m的预测像素值=(D+2E+F+2)>>2
像素h,k,n的预测像素值=(E+2F+G+2)>>2
像素l,o的预测像素值=(F+2G+H+2)>>2
像素p的预测像素值=(G+3H+2)>>2…(15)
模式4是对角线_下_右预测模式,并且仅适用于像素值A、B、C、D、I、J、K、L、M均“可用”的情况。在此情况下,按照下面的表达式(16)生成像素a至p的预测像素值。
像素m的预测像素值=(J+2K+L+2)>>2
像素i,n的预测像素值=(I+2J+K+2)>>2
像素e,j,o的预测像素值=(M+2I+J+2)>>2
像素a,f,k,p的预测像素值=(A+2M+I+2)>>2
像素b,g,l的预测像素值=(M+2A+B+2)>>2
像素c,h的预测像素值=(A+2B+C+2)>>2
像素d的预测像素值=(B+2C+D+2)>>2…(16)
模式5是对角线_竖直_右预测模式,并且仅适用于像素值A、B、C、D、I、J、K、L、M均“可用”的情况。在此情况下,按照下面的表达式(17)生成像素a至p的预测像素值。
像素a,j的预测像素值=(M+A+1)>>1
像素b,k的预测像素值=(A+B+1)>>1
像素c,l的预测像素值=(B+C+1)>>1
像素d的预测像素值=(C+D+1)>>1
像素e,n的预测像素值=(I+2M+A+2)>>2
像素f,o的预测像素值=(M+2A+B+2)>>2
像素g,p的预测像素值=(A+2B+C+2)>>2
像素h的预测像素值=(B+2C+D+2)>>2
像素i的预测像素值=(M+2I+J+2)>>2
像素m的预测像素值=(I+2J+K+2)>>2…(17)
模式6是水平_下预测模式,并且仅适用于像素值A、B、C、D、I、J、K、L、M均“可用”的情况。在此情况下,按照下面的表达式(18)生成像素a至p的预测像素值。
像素a,g的预测像素值=(M+I+1)>>1
像素b,h的预测像素值=(I+2M+A+2)>>2
像素c的预测像素值=(M+2A+B+2)>>2
像素d的预测像素值=(A+2B+C+2)>>2
像素e,k的预测像素值=(I+J+1)>>1
像素f,l的预测像素值=(M+2I+J+2)>>2
像素i,o的预测像素值=(J+K+1)>>1
像素j,p的预测像素值=(I+2J+K+2)>>2
像素m的预测像素值=(K+L+1)>>1
像素n的预测像素值=(J+2K+L+2)>>2…(18)
模式7是竖直_左预测模式,并且仅适用于像素值A、B、C、D、I、J、K、L、M均“可用”的情况。在此情况下,按照下面的表达式(19)生成像素a至p的预测像素值。
像素a的预测像素值=(A+B+1)>>1
像素b,i的预测像素值=(B+C+1)>>1
像素c,j的预测像素值=(C+D+1)>>1
像素d,k的预测像素值=(D+E+1)>>1
像素l的预测像素值=(E+F+1)>>1
像素e的预测像素值=(A+2B+C+2)>>2
像素f,m的预测像素值=(B+2C+D+2)>>2
像素g,n的预测像素值=(C+2D+E+2)>>2
像素h,o的预测像素值=(D+2E+F+2)>>2
像素p的预测像素值=(E+2F+G+2)>>2…(19)
模式8是水平_上预测模式,并且仅适用于像素值A、B、C、D、I、J、K、L、M均“可用”的情况。在此情况下,按照下面的表达式(20)生成像素a至p的预测像素值。
像素a的预测像素值=(I+J+1)>>1
像素b的预测像素值=(I+2J+K+2)>>2
像素c,e的预测像素值=(J+K+1)>>1
像素d,f的预测像素值=(J+2K+L+2)>>2
像素g,i的预测像素值=(K+L+1)>>1
像素h,j的预测像素值=(K+3L+2)>>2
像素k,l,m,n,o,p的预测像素值=L…(20)
接下来,将参考图19描述用于4×4像素亮度信号的帧内预测模式(Intra_4x4_pred_mode)编码方法。在图19的示例中,示出由4×4像素构成的要被编码的目标块C。此外还示出由4×4像素构成的并且与目标块C相邻的块A和块B。
在此情况下,目标块C中的帧内_4×4_预测_模式和块A和块B中的帧内_4×4_预测_模式被认为具有高度相关性。如下使用该相关性进行编码处理可以实现较高的编码效率。
即,在图19的示例中,当块A和块B中的帧内_4×4_预测_模式是帧内_4×4_预测_模式A和帧内_4×4_预测_模式B时,最可能模式被定义为如下表达式(21)。
最可能模式=Min(帧内_4×4_预测_模式A,帧内_4×4_预测_模式B)…(21)
即,取块A和块B中被分配了较小模式_编号的块作为最可能模式。
在比特流中,prev_intra4x4_pred_mode_flag[luma4x4BlkIdx]和rem_intra4x4_pred_mode[luma4x4BlkIdx]两个值被定义为目标块C的参数。因此,通过基于以下表达式(22)中示出的伪代码的处理进行解码处理,可以获得目标块C的Intra_4x4_pred_mode,Intra4x4PredMode[luma4x4BlkIdx]的值。
if(prev_intra4x4_pred_mode_flag[luma4x4BlkIdx])
Intra4x4PredMode[luma4x4BlkIdx]=MostProbableMode
else
if(rem_intra4x4_pred_mode[luma4x4BlkIdx]<MostProbableMode)
Intra4x4PredMode[luma4x4BlkIdx]=rem_intra4x4_pred_mode[luma4x4BlkIdx]
else
Intra4x4PredMode[luma4x4BlkIdx]=rem_intra4x4_pred_mode[luma4x4BlkIdx]+1…(22)
接下来,将描述8×8像素帧内预测模式。图20和图21是示出8×8像素亮度信号的九种帧内预测模式(Intra_8x8_pred_mode)的图。
将目标8×8块的像素值设置为P[x,y](0≤x≤7;0≤y≤7),并且用p[-1,-1],…,p[-1,15],p[-1,0],…,[p-1,7]代表相邻块的像素值。
在8×8像素帧内预测模式中,在生成预测值之前对相邻像素进行低通滤波处理。在此,用p[-1,-1],…,p[-1,15],p[-1,0],…,p[-1,7]代表低通滤波处理之前的像素值,并且用p′[-1,-1],…,p′[-1,15],p′[-1,0],…,p′[-1,7]代表低通滤波处理之后的像素值。
首先,在p[-1,-1]“可用”的情况下用以下表达式(23)计算p’[0,-1],并且在p[-1,-1]“不可用”的情况下用以下表达式(24)计算p’[0,-1]。
p′[0,-1]=(p[-1,-1]+2*p[0,-1]+p[1,-1]+2)>>2…(23)
p′[0,-1]=(3*p[0,-1]+p[1,-1]+2)>>2…(24)
用以下表达式(25)计算p′[x,-1](x=0,…,7)。
p′[x,-1]=(p[x-1,-1]+2*p[x,-1]+p[x+1,-1]+2)>>2…(25)
在p[x,-1](x=8,…,15)“可用”的情况下,用以下表达式(26)计算p′[x,-1](x=8,…,15)。
p′[x,-1]=(p[x-1,-1]+2*p[x,-1]+p[x+1,-1]+2)>>2
p′[15,-1]=(p[14,-1]+3*p[15,-1]+2)>>2…(26)
在p[-1,-1]“可用”的情况下,按下述计算p’[x-1,-1]。即,在p[0,-1]和p[-1,0]二者均“可用”的情况下,用表达式(27)计算p’[-1,-1],并且在p[-1,0]“不可用”的情况下,用表达式(28)计算p’[-1,-1]。此外,在p[0,-1]“不可用”的情况下,用表达式(29)计算p’[-1,-1]。
p′[-1,-1]=(p[0,-1]+2*p[-1,-1]+p[-1,0]+2)>>2…(27)
p′[-1,-1]=(3*p[-1,-1]+p[0,-1]+2)>>2…(28)
p′[-1,-1]=(3*p[-1,-1]+p[-1,0]+2)>>2…(29)
当p[-1,y](y=0,…,7)“可用”时,按下述计算p’[-1,y](y=0,…,7)。即,在p[-1,-1]“可用”的情况下,首先用以下表达式(30)计算p’[-1,0],并且在p[-1,-1]“不可用”的情况下,用表达式(31)计算p’[-1,0]。
p′[-1,0]=(p[-1,-1]+2*p[-1,0]+p[-1,1]+2)>>2…(30)
p′[-1,0]=(3*p[-1,0]+p[-1,1]+2)>>2…(31)
用以下表达式(32)计算p′[-1,y](y=1,…,6),并且用表达式(33)计算p’[-1,7]。
p[-1,y]=(p[-1,y-1]+2*p[-1,y]+p[-1,y+1]+2)>>2…(32)
p′[-1,7]=(p[-1,6]+3*p[-1,7]+2)>>2…(33)
使用由此计算出的p’按下述生成图20和图21中所示的每个帧内预测模式的预测值。
模式0是竖直预测模式,并且仅当p[x,-1](x=0,…,7)“可用”时适用。用以下表达式(34)生成预测值pred8×8L[x,y]。
pred8×8L[x,y]=p′[x,-1]x,y=0,…,7…(34)
模式1是水平预测模式,并且仅当p[-1,y](y=0,…,7)“可用”时适用。用如下表达式(35)生成预测值pred8×8L[x,y]。
pred8×8L[x,y]=p′[-1,y]x,y=0,…,7…(35)
模式2是DC预测模式,并且按下述生成预测值pred8×8L[x,y]。即,在p[x,-1](x=0,…,7)和p[-1,y](y=0,…,7)二者均“可用”的情况下,用如下表达式(36)生成预测值pred8×8L[x,y]。
[表达式5]
在p[x,-1](x=0,…,7)“可用”但p[-1,y](y=0,…,7)“不可用”的情况下,用如下表达式(37)生成预测值pred8×8L[x,y]。
[表达式6]
在p[x,-1](x=0,…,7)“不可用”但p[-1,y](y=0,…,7)“可用”的情况下,用如下表达式(38)生成预测值pred8×8L[x,y]。
[表达式7]
在p[x,-1](x=0,…,7)和p[-1,y](y=0,…,7)均“不可用”的情况下,用如下表达式(39)生成预测值pred8×8L[x,y]。
pred8×8L[x,y]=128…(39)
在此情况下,表达式(39)用于8比特输入的情况。
模式3是对角线_下_左_预测模式,并且按下述生成预测值pred8×8L[x,y]。即,对角线_下_左_预测模式仅在p[x,-1],x=0,…,15“可用”时适用。当x=7和y=7时,用如下表达式(40)生成预测值,而用表达式(41)生成其它预测值。
pred8×8L[x,y]=(p′[14,-1]+3*p[15,-1]+2)>>2…(40)
pred8×8L[x,y]=(p′[x+y,-1]+2*p′[x+y+1,-1]+p′[x+y+2,-1]+2)>>2…(41)
模式4是对角线_下_右_预测模式,并且按下述生成预测值pred8×8L[x,y]。即,对角线_下_右_预测模式仅在p[x,-1],x=0,…,7和p[-1,y],y=0,…,7“可用”时适用。当x>y时,用如下表达式(42)生成预测像素值。当x<y时,用如下表达式(43)生成预测像素值。当x=y时,用如下表达式(44)生成预测像素值。
pred8×8L[x,y]=(p′[x-y-2,-1]+2*p′[x-y-1,-1]+p′[x-y,-1]+2)>>2
…(42)
pred8×8L[x,y]=(p′[-1,y-x-2]+2*p′[-1,y-x-1]+p′[-1,y-x]+2)>>2
…(43)
pred8×8L[x,y]=(p′[0,-1]+2*p′[-1,-1]+p′[-1,0]+2)>>2…(44)
模式5是竖直_右_预测模式,并且按下述生成预测值pred8×8L[x,y]。即,竖直_右_预测模式仅当p[x,-1],x=0,…,7和p[-1,y],y=0,…,7“可用”时适用。现在,用如下表达式(45)定义zVR。
zVR=2*x-y…(49)
此时,在zVR为0、2、4、6、8、10、12或14的情况下,用如下表达式(46)生成像素预测值。在zVR为1、3、5、7、9、11或13的情况下,用如下表达式(47)生成像素预测值。
pred8×8L[x,y]=(p′[x-(y>>1)-1,-1]+p′[x-(y>>1),-1]+1)>>1
…(46)
pred8×8L[x,y]=(p′[x-(y>>1)-2,-1]+2*p′[x-(y>>1)-1,-1]+p′[x-(y>>1),-1]+2)>>2…(47)
在zVR为-1的情况下,用如下表达式(48)生成像素预测值。在zVR不为-1的情况下,即,在zVR为-2、-3、-4、-5、-6或-7的情况下,用如下表达式(49)生成像素预测值。
pred8×8L[x,y]=(p′[-1,0]+2*p′[-1,-1]+p′[0,-1]+2)>>2…(48)
pred8×8L[x,y]=(p′[-1,y-2*x-1]+2*p′[-1,y-2*x-2]+p′[-1,y-2*x-3]+2)>>2…(49)
模式6是水平_下_预测模式,并且按下述生成预测值pred8×8L[x,y]。即,水平_下_预测模式只在p[x,-1],x=0,…,7和p[-1,y],y=-1,…,7“可用”时适用。现在用如下表达式(54)定义zVR。
zHD=2*y-x…(50)
此时,在zHD为0、2、4、6、8、10、12或14的情况下,用如下表达式(51)生成预测像素值。在zHD为1、3、5、7、9、11、或13的情况下,用如下表达式(52)生成预测像素值。
pred8×8L[x,y]=(p′[-1,y-(x>>1)-1]+p′[-1,y-(x>>1)+1]>>1
…(51)
pred8×8L[x,y]=(p′[-1,y-(x>>1)-2]+2*p′[-1,y-(x>>1)-1],-1+p′[-1,y-(x>>1)]+2)>>2…(52)
在zHD为-1的情况下,用如下表达式(53)生成像素预测值。在zHD不为-1的情况下,即,在zHD为-2、-3、-4、-5、-6或-7的情况下,用如下表达式(54)生成像素预测值。
pred8×8L[x,y]=(p′[-1,0]+2*p[-1,-1]+p′[0,-1]+2)>>2…(53)
pred8×8L[x,y]=(p′[x-2*y-1,-1]+2*p′[x-2*y-2,-1]+p′[x-2*y-3,-1]+2)>>2…(54)
模式7是竖直_左_预测模式,并且按下述生成预测值pred8×8L[x,y]。即,竖直_左_预测模式只在p[x,-1],x=0,…,15“可用”时适用,在y=0、2、4或6的情况下,用如下表达式(55)生成预测像素值。否则,即,在y=1、3、5或7的情况下,用如下表达式(56)生成预测像素值。
pred8×8L[x,y]=(p′[x+(y>>1),-1]+p′[x+(y>>1)+1,-1]+1)>>1…(55)
pred8×8L[x,y]=(p′[x+(y>>1),-1]+2*p′[x+(y>>1)+1,-1]+p′[x+(y>>1)+2,-1]+2)>>2…(56)
模式8是水平_上_预测模式,并且按下述生成预测值pred8×8L[x,y]。即,水平_上_预测模式只在p[-1,y],y=0,…,7“可用”时适用。在下文中,用如下表达式(57)定义zHU。
zHU=x+2*y…(57)
在zHU为0、2、4、6、8、10、12的情况下,用如下表达式(58)生成像素预测值。在zHU为1、3、5、7、9或11的情况下,用如下表达式(59)生成预测像素值。
pred8×8L[x,y]=(p′[-1,y+(x>>1)]+p′[-1,y+(x>>1)+1]+1)>>1…(58)
pred8×8L[x,y]=(p′[-1,y+(x>>1)]…(59)
在zHU的值为13的情况下,用如下表达式(60)生成像素预测值。在zHU的值不为13的情况下,即,在zHU的值大于13的情况下,用如下表达式(61)生成预测像素值。
pred8×8L[x,y]=(p′[-1,6]+3*p′[-1,7]+2)>>2…(60)
pred8×8L[x,y]=p′[-1,7]…(61)
接下来,将描述16×16像素帧内预测模式。图22和图23是示出四种亮度信号的16×16像素帧内预测模式(Intra_16x16_pred_mode)的图。
将参考图24描述这四种帧内预测模式。在图24的示例中,示出要进行帧内处理的目标宏块A。P(x,y);x,y=-1,0,…,15代表与目标宏块A相邻的像素的像素值。
模式0是竖直预测模式,并且仅在P(x,-1);x,y=-1,0,…,15“可用”的情况下适用。在此情况下,用如下表达式(62)生成目标宏块A中每个像素的预测像素值Pred(x,y)。
Pred(x,y)=P(x,-1);x,y=0,…,15…(62)
模式1是水平预测模式,并且仅在P(-1,y);x,y=-1,0,…,15“可用”的情况下适用。在此情况下,用如下表达式(63)生成目标宏块A中每个像素的预测像素值Pred(x,y)。
Pred(x,y)=P(-1,y);x,y=0,…,15…(63)
模式2是DC预测模式,并且仅在P(x,-1)和P(-1,y);x,y=-1,0,…,15均“可用”的情况下适用。在该情况下,用如下表达式(64)生成目标宏块A中每个像素的预测像素值Pred(x,y)。
[表达式8]
x,y=0,…,15…(64)
此外,在P(x,-1);x,y=-1,0,…,15“不可用”的情况下,用如下表达式(65)生成目标宏块A中每个像素的预测像素值Pred(x,y)。
[表达式9]
在P(-1,y);x,y=-1,0,…,15“不可用”的情况下,用如下表达式(66)生成目标宏块A中每个像素的预测像素值Pred(x,y)。
[表达式10]
在P(x,-1)和P(-1,y);x,y=-1,0,…,15均“不可用”的情况下,使用128作为预测像素值。
模式3是平面预测模式,并且仅在P(x,-1)和P(-1,y);x,y=-1,0,…,15均“可用”的情况下适用。在此情况下,用如下表达式(67)生成目标宏块A中每个像素的预测像素值Pred(x,y)。
[表达式11]
Pred(x,y)=Clip1((a+b·(x-7)+c·(y-7)+16)>>5)
a=16·(P(-1,15)+P(15,-1))
b=(5·H+32)>>6
c=(5·V+32)>>6
接下来,将描述色差信号的帧内预测模式。图25是示出四种色差信号帧内预测模式(Intra_chroma_pred_mode)的图。可以独立于亮度信号的帧内预测模式设置色差信号的帧内预测模式。色差信号的帧内预测模式在顺序上与上述亮度信号的16×16像素帧内预测模式一致。
然而,亮度信号的16×16像素帧内预测模式用于16×16像素的块,而色差信号的帧内预测模式用于8×8像素的块。如上述图22和图25中所示,亮度信号的帧内预测模式的模式编号与色差信号的帧内预测模式的模式编号不对应。
在此,相应地应用上面参考图24描述的亮度信号的16×16像素帧内预测模式的目标宏块A的像素值以及相邻像素值的定义。例如,将与要进行帧内处理的目标宏块A(在色差信号的情况下为8×8像素)相邻的像素的像素值设置为P(x,y);x,y=-1,0,…,7。
模式0是DC预测模式。在P(x,-1)和P(-1,y);x,y=-1,0,…,7均“可用”的情况下,用如下表达式(68)生成目标宏块A的每个像素的预测像素值Pred(x,y)。
[表达式12]
x,y=0,…,7…(68)
在P(-1,y);x,y=-1,0,…,7“不可用”的情况下,用如下表达式(69)生成目标宏块A的每个像素的预测像素值Pred(x,y)。
[表达式13]
在P(x,-1);x,y=-1,0,…,7“不可用”的情况下,用如下表达式(70)生成目标宏块A的每个像素的预测像素值Pred(x,y)。
[表达式14]
模式1是水平预测模式,并且仅在P(-1,y);x,y=-1,0,…,7“可用”的情况下适用。在此情况下,用如下表达式(71)生成目标宏块A的每个像素的预测像素值Pred(x,y)。
Pred(x,y)=P(-1,y);x,y=0,…,7…(71)
模式2是竖直预测模式,并且仅在P(x,-1);x,y=-1,0,…,7“可用”的情况下适用。在此情况下,用如下表达式(63)生成目标宏块A的每个像素的预测像素值Pred(x,y)。
Pred(x,y)=P(x,-1);x,y=0,…,7…(72)
模式3是平面预测模式,并且仅在P(x,-1)和P(-1,y);x,y=-1,0,…,7“可用”的情况下适用。在此情况下,用如下表达式(73)生成目标宏块A的每个像素的预测像素值Pred(x,y)。
[表达式15]
Pred(x,y)=Clip1(a+b·(x-3)+c·(y-3)+16)>>5;x,y=0,…,7
a=16·(P(-1,7)+P(7,-1))
b=(17·H+16)>>5
c=(17·V+16)>>5
如上所述,作为亮度信号的帧内预测模式,存在九种4×4像素块单位和8×8像素块单位和四种16×16像素宏块单位预测模式。为每个宏块单位设置块单位的模式。对于色差信号帧内预测模式,存在四种8×8像素块单位。可以独立于亮度信号的帧内预测模式设置色差信号的帧内预测模式。
在亮度信号的4×4像素帧内预测模式(帧内4×4预测模式)和亮度信号的8×8像素帧内预测模式(帧内8×8预测模式)中,为亮度信号的每个4×4像素和8×8像素块设置一个帧内预测模式。在亮度信号的16×16像素帧内预测模式(帧内16×16预测模式)和色差信号的帧内预测模式中,为每个宏块设置一个预测模式。
预测模式的类型对应于由参考图17所述的编号0、1、3至8表示的方向。预测模式2是平均预测。
[帧内预测处理的说明]
接下来,将参考图26中的流程图描述图13的步骤S31中作为这些预测模式中进行的处理的帧内预测处理。在图26的示例中,描述亮度信号的情况作为示例。
在步骤S51,帧内预测单元74以4×4像素、8×8像素和16×16像素的帧内预测模式进行帧内预测。
具体地,帧内预测单元74参考从帧存储器72读出并经由开关73提供的解码图像并且对要处理的块的像素进行帧内预测。在以每个帧内预测模式进行帧内预测处理时,生成每个帧内预测模式的预测图像。此外,使用未经去块滤波器71进行去块滤波的像素被作为要参考的解码像素。
在步骤S52,帧内预测单元74计算4×4像素、8×8像素和16×16像素帧内预测模式的每一个的成本函数值。在此,基于高复杂度模式和低复杂度模式中的一个计算成本函数值。这些模式是由作为H.264/AVC方案中的参考软件的JM(Joint Model)定义的。
即,在高复杂度模式中,作为步骤S51的处理,对所有候选预测模式进行临时编码处理。此外,对每个预测模式计算如以下表达式(74)所示的成本函数值。选择具有最小值的预测模式作为最佳预测模式。
Cost(Mode)=D+λ·R…(74)
在该表达式中,D表示原始图像和解码图像之间的差(失真),R表示包括正交变换系数的发生编码量,λ表示作为量化参数QP的函数给出的拉格朗日乘数。
另一方面,在低复杂度模式中,关于步骤S51的处理,对所有候选预测模式进行预测图像的生成和头比特(诸如运动向量信息和预测模式信息、标记信息等)的计算。此外,针对每个预测模式计算如下表达式(75)中所示的成本函数值。选择具有最小值的预测模式作为最佳预测模式。
Cost(Mode)=D+QPtoQuant(QP)·Header_Bit…(75)
在该表达式中,D表示原始图像和解码图像之间的差(失真),Header_Bit表示预测模式的头比特,QPtoQuant表示作为量化参数QP的函数给出的函数。
在低复杂度模式中,针对所有预测模式仅生成预测图像。因此,由于不需要进行编码处理和解码处理,所以计算量减小。
在步骤S53,帧内预测单元74针对4×4像素、8×8像素和16×16像素帧内预测模式的每一个确定最佳模式。即,如上所述,在帧内4×4预测模式和帧内8×8预测模式中,存在九种预测模式。在帧内16×16预测模式中,存在四种预测模式。因此,帧内预测单元74基于在步骤S42计算出的成本函数值确定最佳帧内4×4预测模式、最佳帧内8×8预测模式和最佳帧内16×16预测模式。
在步骤S54,帧内预测单元74从基于步骤S42中计算出的成本函数值,针对4×4像素、8×8像素和16×16像素的帧内预测模式确定的最佳模式中选择最佳帧内预测模式。即,从针对4×4像素、8×8像素和16×16像素确定的最佳模式中选择成本函数值最小的模式作为最佳帧内预测模式。
然后,帧内预测单元74将在最佳帧内预测模式中生成的预测图像及其成本函数值提供给预测图像选择单元78。
[帧间运动预测处理的说明]
接下来,将参考图27描述图13的步骤S32中的帧间运动预测处理。
在步骤S61,运动预测/补偿单元75确定上面参考图5描述的八种16×16像素至4×4像素的帧间预测模式中的每一种的运动向量和参考图像。即,关于要在每个帧间预测模式中处理的块确定运动向量和参考图像。
在步骤S62,运动预测/补偿单元75基于在步骤S51中确定的运动向量,在八种16×16像素至4×4像素的帧间预测模式的每一种中,对参考图像进行运动预测和补偿处理。即,通过该处理计算参考帧中能够通过帧间运动向量MV与目标块A对应的参考块B。运动预测/补偿单元75将关于目标块A的信息和关于参考块B的信息输出到画面内预测单元76。
在步骤S63,画面内预测单元76和二次差生成单元77进行二次差生成处理。下面将参考图28描述二次差生成处理。
通过步骤S63的处理生成作为目标帧的差信息和参考帧的差信息之间的差的二次差信息,并且将该二次差信息输出到运动预测/补偿单元75。甚至在步骤S65计算成本函数值时也使用该二次差信息。当成本函数值小时,预测图像选择单元78选择从要进行帧间处理的图像减去二次差信息所获得的差作为最佳预测模式的预测图像。
在步骤S64,运动预测/补偿单元75针对在八种6×16像素至4×4像素的帧间预测模式的每一种中确定的运动向量生成运动向量信息,该运动向量信息与压缩图像相加。此时,使用参考图8描述的生成运动向量的方法生成该运动向量信息。
即使在后续步骤S65中计算成本函数值时,也使用所生成的运动向量信息。最后,当预测图像选择单元78选择了对应的预测图像时,该运动向量信息与预测模式信息和参考帧信息一起被输出到无损编码单元66。
当运动预测/补偿单元75通过帧间模板匹配进行运动预测时,不需要将运动向量信息发送到解码侧。因此,跳过步骤S64的处理。
在步骤S65中,运动预测/补偿单元75以八种16×16像素至4×4像素的帧间预测模式的每一种,计算上述表达式(74)或表达式(75)所示的成本函数值。在参考图13所述的步骤S33中使用最佳帧间预测模式时,使用计算出的成本函数值。
[二次差生成处理的说明]
接下来,参考图28中的流程图描述图27的步骤S63的二次差生成处理。
将关于目标块A的信息从运动预测/补偿单元75输入到目标帧画面内预测单元81。目标帧画面内预测单元81参考关于目标块A的信息从帧存储器72读取目标帧的参考图像。然后,在步骤S81,目标帧画面内预测单元81通过在目标帧内进行画面内预测来检测与目标块A对应的块A’。
将目标块A的像素值[A]和块A’的像素值[A’]从目标帧画面内预测单元81输入到目标帧画面内差生成单元82。在步骤S82,目标帧画面内差生成单元82计算目标帧的差信息[ResA]=[A]-[A’]。即,目标帧画面内差生成单元82计算作为目标块A的像素值[A]和块A’的像素值[A’]之间的差的目标帧的差信息[ResA]。
将关于参考块B的信息从运动预测/补偿单元75输入到参考帧画面内预测单元83。参考帧画面内预测单元83参考关于参考块B的信息从帧存储器72读取参考帧的参考图像。然后,在步骤S83,参考帧画面内预测单元83通过在参考帧内进行画面内预测来检测对应于参考块B的块B’。
将参考块B的像素值[B]和块B’的像素值[B’]从参考帧画面内预测单元83输入到参考帧画面内差生成单元84。在步骤S84,参考帧画面内差生成单元84计算参考帧的差信息[ResB]=[B]-[B’]。即,参考帧画面内差生成单元84生成作为参考块B的像素值[B]和块B’的像素值[B’]之间差的参考帧的差信息[ResB]。
目标帧差接收单元91接收来自目标帧画面内差生成单元82的目标帧的差信息[ResA]并将目标帧的差信息[ResA]提供给二次差计算单元93。参考帧差接收单元92接收来自参考帧画面内差生成单元84的参考帧的差信息[ResB]并将差信息[ResB]提供给二次差计算单元93。
在步骤S85,二次差计算单元93计算目标帧的差信息[ResA]和参考帧的差信息[ResB]之间的二次差信息[Res]。二次差计算单元93将计算出的二次差信息[Res]输出到运动预测/补偿单元75。
经由预定的传输线传送编码的压缩图像并且由图像解码设备解码该编码的压缩图像。
[图像解码设备的配置示例]
图29是示出用作根据本发明实施例的图像处理设备的图像解码设备的配置的图。
图像解码设备101包括累积缓冲器111、无损解码单元112、逆量化单元113、逆正交变换单元114、计算单元115、去块滤波器116、画面重排缓冲器117、D/A转换单元118、帧储存器119、开关120、帧内预测单元121、运动预测/补偿单元122、画面内预测单元123、二次差补偿单元124和开关125。
累积缓冲器111累积传送来的压缩图像。无损解码单元112根据与无损编码单元66的编码方法相对应的方法对从累积缓冲器111提供并由无损编码单元66编码的信息进行解码。逆量化单元113根据与图4中的量化单元65的量化方法相对应的方法对由无损解码单元112解码的图像进行逆量化。逆正交变换单元114根据与图4中的正交变换单元64的正交变换方法相对应的方法对逆量化单元113的输出进行逆正交变换。
经过了逆正交变换的输出通过计算单元115与从开关125提供的预测图像相加并且被解码。去块滤波器116去除解码图像的块失真,将该图像提供给帧存储器119以存储该图像,并且将该图像输出到画面重排缓冲器117。
画面重排缓冲器117对图像进行重排。即,将由图4中的重排缓冲器62按编码顺序重排的帧顺序改变为原始显示顺序。D/A转换单元118对从画面重排缓冲器117提供的图像进行D/A转换,并且将该图像输出到显示器(未示出)以显示该图像。
开关120从帧存储器119中读取要进行帧间处理的图像和要参考的图像,并且将这些图像输出到运动预测/补偿单元122。此外,开关120从帧存储器119中读取用于帧内预测的图像,并将所读取的图像提供给帧内预测单元121。
通过解码头信息可获得的关于帧内预测模式的信息被从无损解码单元112提供给帧内预测单元121。帧内预测单元121基于该信息生成预测图像,并且将所生成的预测图像输出到开关125。
通过解码头信息可获取的信息(预测模式信息、运动向量信息和参考帧信息)被从无损解码单元112提供给运动预测/补偿单元122。当被提供了表示帧间预测模式的信息时,运动预测/补偿单元122基于来自无损解码单元112的帧间运动向量信息,计算参考图像中可以与要进行帧间处理的图像的目标块对应的参考块。运动预测/补偿单元122将目标块的信息和与目标块的信息对应的参考块的信息输出到画面内预测单元123。
当图4中的运动预测/补偿单元75根据上面参考图3描述的帧间模板匹配方法进行运动预测/补偿处理时,运动预测/补偿单元122也根据帧间模板匹配方法进行运动预测/补偿处理。在此情况下,由于在图像编码设备51中没有对帧间运动向量信息编码,所以不从无损解码单元112提供帧间运动向量信息。
画面内预测单元123从帧存储器119中读取目标帧和参考帧的参考图像。画面内预测单元123对目标帧进行画面内预测以检测对应于目标块的块,并且对参考帧进行画面内预测以检测对应于参考块的块。在画面内检测单元123中,作为画面内预测,在参考图1描述的帧内模板匹配方法和参考图2描述的帧内运动预测方法之间使用对应于图4中的画面内预测单元76的方法。
当使用帧内运动预测方法作为画面内预测时,由图像编码设备51编码并发送帧内运动向量。帧内运动向量从无损解码单元112经由运动预测/补偿单元122提供给画面内预测单元123。
画面内预测单元123还计算参考块的像素值和对应块的像素值之间的差信息(参考帧的差信息)。与检测到的目标块对应的块的信息和所计算出的参考帧的差信息被输出到二次差补偿单元124。
经过解码处理、逆量化和逆正交变换的二次差信息被从逆正交变换单元114提供给二次差补偿单元124。二次差补偿单元124使用来自逆正交变换单元114的二次差信息、来自画面内预测单元123的与目标块对应的块的信息和参考帧的差信息补偿目标块的图像。二次差补偿单元124将目标块的补偿图像提供给去块滤波器116。
开关125选择由运动预测/补偿单元122或者帧内预测单元121生成的预测图像,并且将所选择的预测图像提供给计算单元115。结果由于不从运动预测/补偿单元122输入预测图像,所以开关125选择由帧内预测单元121生成的预测图像并且将所选择的预测图像提供给图29的示例中的计算单元115。
[画面内预测单元和二次差补偿单元的配置示例]
图30是示出画面内预测单元和二次差补偿单元的详细配置的示例的框图。
在图30的示例中,画面内预测单元123包括目标帧画面内预测单元131、参考帧画面内预测单元132和参考帧画面内差生成单元133。
二次差补偿单元124包括预测图像接收单元141、参考帧差接收单元142和图像计算单元143。
运动预测/补偿单元122基于来自无损解码单元112的运动向量信息计算参考图像中可以与要进行帧间处理的图像的目标块A对应的参考块B。运动预测/补偿单元122将目标块A的信息输出到目标帧画面内预测单元131并且将参考块B的信息输出到参考帧画面内预测单元132。
目标帧画面内预测单元131参考目标块A的信息从帧存储器119中读取目标帧的参考图像。目标帧画面内预测单元131通过对目标帧进行画面内预测来检测与目标块A对应的块A’,并且将与目标块A对应的块A’的信息(像素值[A’]输出到预测图像接收单元141。
参考帧画面内预测单元132参考参考块B的信息从帧存储器119中读取参考帧的参考图像。参考帧画面内预测单元132通过对参考帧进行画面内预测来检测与参考块B对应的块B’,并且将参考块B和块B’的信息输出到参考帧画面内差生成单元133。
参考帧画面内差生成单元133生成参考块B的像素值和参考帧中的块B’的像素值之间的差信息,并且将该差信息作为参考帧的差信息[ResB]输出到参考帧差接收单元142。
预测图像接收单元141从目标帧画面内预测单元131接收与目标块A对应的块A’的像素值[A’],并且将像素值[A’]提供给图像计算单元143。参考帧差接收单元142从参考帧画面内差生成单元133接收参考帧的差信息[ResB],并且将该差信息[ResB]提供给图像计算单元143。
进行了解码处理、逆量化和逆正交变换的二次差信息[Res]从逆正交变换单元114提供给图像计算单元143。图像计算单元143使用二次差信息[Res]、与目标块对应的块A’的信息[A’]和参考帧的差信息[ResB]补偿并计算目标块的图像。图像计算单元143将计算出的目标块的图像提供给去块滤波器116。
[图像解码设备的解码处理的说明]
接下来,将参考图31的流程图描述由图像解码设备101进行的解码处理。
在步骤S131,累积缓冲器111累积传送来的图像。在步骤S132,无损解码单元112解码从累积缓冲器111提供的压缩图像。即,无损解码单元112解码由图4中的无损编码单元66编码的I图片、P图片和B图片。
此时,无损解码单元112还对运动向量信息、参考帧信息、预测模式信息(帧内预测模式和帧间预测模式)和标记信息解码。
即,当预测模式信息是帧内预测模式时,预测模式信息被提供给帧内预测单元121。当预测模式信息是帧间预测模式时,与预测模式信息对应的运动向量信息被提供给运动预测/补偿单元122。
在步骤S133,逆量化单元113根据与图4中的量化单元65的特征相对应的特征对由无损解码单元112解码的变换系数进行逆量化。在步骤S134,逆正交变换单元114根据与图4中的正交变换单元64的特征相对应的特征对由逆量化单元113逆量化的变换系数进行逆正交变换。以这种方式,对与图4中的正交变换单元64的输入(计算单元63的输出)相对应的差信息(在帧间处理情况下是二次差信息)解码。此外,在帧间处理的情况下,由于二次差信息被直接输出到二次差补偿单元124,所以跳过步骤S135的后续处理。
在步骤S135,计算单元115将在下述步骤S141的处理中选择并且经由开关125输入的预测图像与差信息相加。以这种方式,对原始图像解码。
在步骤S136,去块滤波器116滤波从计算单元115输出的图像或者来自二次差补偿单元124的在下述步骤S138的处理中解码的图像。从而消除块失真。在步骤S137,帧存储器119存储滤波后的图像。
在步骤S138,帧内预测单元121或运动预测/补偿单元122对与从无损解码单元112提供的预测模式信息相对应的每个图像进行预测处理。
即,当从无损解码单元112提供帧内预测模式信息时,帧内预测单元121以帧内预测模式进行帧内预测处理。当从无损解码单元112提供帧间预测模式信息时,运动预测/补偿单元122以帧间预测模式进行运动预测处理,并且画面内预测单元123和二次差补偿单元124进行二次差补偿处理。
参考图32描述步骤S138的详细预测处理,通过该预测处理,由帧内预测单元121生成的预测图像被提供给开关125。由运动预测/补偿单元122、画面内预测单元123和二次差补偿单元124生成的目标块的图像被直接输出到去块滤波器116而不传送到开关125和计算单元115。因此,跳过步骤S139的后续处理。
在步骤S139,开关125选择预测图像。即,由帧内预测单元121生成的预测图像被提供给开关125。因此,所提供的预测图像被选择并且被提供给计算单元115,然后如上所述,在步骤S134中与逆正交变换单元114的输出相加。
在步骤S140,画面重排缓冲器117进行重排。即,由图像编码设备51的重排缓冲器62编码处理的重排的帧顺序被改变到原始显示顺序。
在步骤S141,D/A转换单元118对来自画面重排缓冲器117的图像进行D/A转换。该图像被输出到显示器(未示出)并且被显示。
[预测处理的说明]
接下来,将参考图32的流程图描述步骤S138的预测处理。
在步骤S171,帧内预测单元121确定目标块是否要进行帧内编码。当从无损解码单元112向帧内预测单元121提供帧内预测模式信息时,在步骤S171,帧内预测单元121确定目标块要进行帧内编码。然后,处理前进到步骤S172。
在步骤S172,帧内预测单元121获取帧内预测模式信息,并且在步骤S173进行帧内预测。
即,在要处理的图像是要进行帧内处理的图像时,从帧存储器119中读取必要的图像,并且经由开关120将其提供给帧内预测单元121。在步骤S173,帧内预测单元121基于在步骤S172获取的帧内预测模式信息进行帧内预测以生成预测图像。所生成的预测图像被输出到开关125。
另一方面,当在步骤S171中帧内预测单元121确定不对目标块进行帧内编码时,处理前进到步骤S174。
在步骤S174,运动预测/补偿单元122从无损解码单元112获取预测模式信息等。
在要处理的图像是要进行帧间处理的图像的情况下,从无损解码单元112向运动预测/补偿单元122提供帧间预测模式信息、参考帧信息和运动向量信息。在此情况下,在步骤S174,运动预测/补偿单元122获取帧间预测模式信息、参考帧信息和运动向量信息。
在步骤S175,运动预测/补偿单元122、画面内预测单元123和二次差补偿单元124进行帧间运动预测和二次差补偿处理。下面参考图33描述帧间运动预测和二次差补偿处理。
通过步骤S175的处理补偿并生成目标块的图像,并且将该图像直接输出到去块滤波器116而不传送到开关125和计算单元115。在图31的步骤S136中由去块滤波器116滤波输出的目标块图像,并且在步骤S137将该图像存储在帧存储器119中。
[帧间运动预测和二次差补偿处理的说明]
接下来,将参考图33的流程图描述帧间运动预测和二次差补偿处理。
经过了解码处理、逆量化和逆正交变换的二次差信息[Res]被从逆正交变换单元114提供给图像计算单元143。在步骤S181,图像计算单元143从逆正交变换单元114获取二次差信息[Res]。
在步骤S182,运动预测/补偿单元122基于在图32的步骤S174中获取的帧间运动向量信息计算参考图像中可以与要进行帧间处理的图像的目标块A对应的参考块B。运动预测/补偿单元122将目标块A的信息和参考块B的信息分别输出到目标帧画面内预测单元131和参考帧画面内预测单元132。
在步骤S183,目标帧画面内预测单元131对目标帧进行画面内预测以检测与目标块A对应的块A’,并且将与目标块A对应的块A’的像素值[A’]输出到预测图像接收单元141。
在步骤S184,参考帧画面内预测单元132对参考帧进行画面内预测以检测与参考块B对应的块B’,并且将参考块B和块B’的像素值[B’]输出到参考帧画面内差生成单元133。
在步骤S185,参考帧画面内差生成单元133在参考帧内计算参考块B的像素值[B]和块B’的像素值[B’]之间的差信息[Res],并且将该差信息作为参考帧的差信息[ResB]输出到参考帧差接收单元142。
在步骤S186,图像计算单元143使用在步骤S181中获取的二次差信息[Res]、与目标块对应的块A’的像素值[A’]和参考帧的差信息[ResB]补偿和计算目标块的图像[A]。图像计算单元143将计算出的目标块的图像[A]提供给去块滤波器116。
这样,在图像编码设备51和图像解码设备101中,通过可以相互对应的目标帧和参考帧中的画面内预测生成每个一次差信息,并且生成和编码帧之间的二次差信息。从而可以进一步提高编码效率。
[图像编码设备的配置的另一个示例]
图34是示出根据本发明另一个实施例的图像编码设备的配置的图。
图像编码设备151在以下方面具有与图4中的图像编码设备51相同的配置:图像编码设备151包括A/D转换单元61、画面重排缓冲器62、计算单元63、正交变换单元64、量化单元65、无损编码单元66、累积缓冲器67、逆量化单元68、逆正交变换单元69、计算单元70、去块滤波器71、帧存储器72、开关73、帧内预测单元74、运动预测/补偿单元75、预测图像选择单元78和速率控制单元79。
图像编码设备151与图4中的图像编码设备51的不同之处在于:图像编码设备151不包括画面内预测单元76和二次差生成单元77,并且包括帧内模板运动预测/补偿单元161、帧间模板运动预测/补偿单元162和相邻预测单元163。
在下文中,将帧内模板运动预测/补偿单元161和帧间模板运动预测/补偿单元162称为帧内TP运动预测/补偿单元161和帧间TP运动预测/补偿单元162。
在图34的例子中,帧内预测单元74基于从画面重排缓冲器62读取的要进行帧内预测的图像和从帧存储器72提供的参考图像进行所有候选帧内预测模式的帧内预测处理,以生成预测图像。此外,帧内预测单元74将从画面重排缓冲器62读取的要进行帧内预测的图像和经由开关73从帧存储器72提供的参考图像提供给帧TP运动预测/补偿单元161。
帧内预测单元74计算所有帧内预测模式的成本函数值。帧内预测单元74将具有所计算出的成本函数值和由帧内TP运动预测/补偿单元161计算出的帧内模板预测模式的成本函数值当中的最小值的预测模式确定为最佳帧内预测模式。
帧内预测单元74把以最佳帧内预测模式生成的预测图像及其成本函数值提供给预测图像选择单元78。当预测图像选择单元78选择以最佳帧内预测模式生成的预测图像时,帧内预测单元74将表示最佳帧内预测模式的信息(帧内预测模式信息或者帧内模板预测模式信息)提供给无损编码单元66。
从画面重排缓冲器62读取的要进行帧内预测的图像和从帧存储器72提供的必要参考图像被输入到帧内TP运动预测/补偿单元161。帧内TP运动预测/补偿单元161通过使用这些图像根据上面参考图1描述的帧内模板匹配方法进行运动预测,来计算能够与要进行帧内处理的图像的目标块对应的参考块。
帧内TP运动预测/补偿单元161将关于必要参考图像的信息(即,关于目标块和参考块的相邻像素的信息)和关于与必要参考图像对应的参考块的信息输出到相邻预测单元163。在下文中,根据帧内模板匹配方法进行的运动预测也被称为帧内模板预测模式的运动预测。
帧内TP运动预测/补偿单元161使用来自相邻预测单元163的二次差信息计算帧内模板预测模式的成本函数值。帧内TP运动预测/补偿单元161将计算出的成本函数值与作为预测图像要进行帧内处理的图像和二次差信息之间的差提供给帧内预测单元74。
即,当帧内预测单元74将帧内模板预测模式确定为最佳模式时,帧内模板预测模式的成本函数值与作为预测图像要进行帧内处理的图像和二次差信息之间的差被输出到预测图像选择单元78。
运动预测/补偿单元75以所有候选帧间预测模式进行运动预测/补偿处理。即,将从画面重排缓冲器62读取的要进行帧间处理的图像与通过开关73来自帧存储器72的参考图像提供给运动预测/补偿单元75。运动预测/补偿单元75基于要进行帧间处理的图像和参考图像检测所有候选帧间预测模式的运动向量,并且基于该运动向量对参考图像进行补偿处理以生成预测图像。此外,运动预测/补偿单元75将从画面重排缓冲器62读取的要进行帧间处理的图像和通过开关73来自帧存储器72的参考图像提供给帧间TP运动预测/补偿单元162。
运动预测/补偿单元75计算所有候选帧间预测模式的成本函数值。运动预测/补偿单元75将具有帧间预测模式的成本函数值和来自帧间TP运动预测/补偿单元162的帧间模板预测模式的成本函数值当中最小值的预测模式确定为最佳帧间预测模式。
运动预测/补偿单元75为预测图像选择单元78提供以最佳帧间预测模式生成的预测图像及其成本函数值。当预测图像选择单元78选择以最佳帧间预测模式生成的预测图像时,运动预测/补偿单元75为无损编码单元66提供表明最佳帧内预测模式的信息(帧间预测模式信息或帧间模板预测模式信息)。在有必要的情况下,把运动向量信息、标志信息、参考帧信息等提供给无损编码单元66。
把要经受帧间预测的从画面重排缓存器62读取的图像以及从帧存储器72提供的所需参考图像输入到帧间模板运动预测/补偿单元162。帧间模板运动预测/补偿单元162通过使用这些图像按照以上参照图3描述的帧间模板匹配方法执行运动预测,计算可与要经受帧间处理的图像的目标块对应的参考块。
帧间模板运动预测/补偿单元162把关于所需参考图像的信息(即,关于参考块和目标块的相邻像素的信息)以及关于与所需参考图像对应的参考块的信息输出到相邻预测单元163。在下文中,按照帧间模板匹配方法执行的运动预测也称作帧间模板预测模式的运动预测。
帧间模板运动预测/补偿单元162使用来自相邻预测单元163的二次差信息计算帧间模板预测模式的成本函数值。帧间模板运动预测/补偿单元162把计算的成本函数值以及作为预测图像的、要经受帧间处理的图像与二次差信息之间的差提供给运动预测/补偿单元75。
即,当运动预测/补偿单元75把帧间模板预测模式确定为最佳模式时,把帧间模板预测模式的成本函数值以及作为预测图像的、要经受帧间处理的图像与二次差信息之间的差输出到预测图像选择单元78。
相邻预测单元163执行与画面内预测单元76和二次差生成单元77对应的过程。即,相邻预测单元163执行对目标块和参考块的帧内预测作为基于关于所需参考图像的信息的画面内预测。相邻预测单元163通过每个帧内预测生成目标块的帧内预测图像(在下文中,称作目标帧内预测图像)以及参考块的帧内预测图像(在下文中,称作参考帧内预测图像)。进一步地,相邻预测单元163生成作为目标块与目标帧内预测图像之差的目标图像的差信息,并生成作为参考块与参考帧内预测图像之差的差信息。
相邻预测单元163计算作为目标图像的差信息与参考图像的差信息之差的二次差信息。把计算的二次差信息输出到相应的帧内模板运动预测/补偿单元161或相应的帧间模板运动预测/补偿单元162。
预测图像选择单元78选择确定的最佳预测模式的预测图像或者要经受帧内处理或帧间处理的图像与二次差信息之间的差并把结果提供给计算单元63和70。
即,当预测图像选择单元78把帧内模板预测模式确定为最佳模式时,把作为预测图像的要经受帧内处理的图像与二次差信息之间的差输出到计算单元63和70。当预测图像选择单元78把帧间模板预测模式确定为最佳模式时,把作为预测图像的要经受帧间处理的图像与二次差信息之间的差输出到计算单元63和70。
[相邻预测单元的配置示例]
图35是示例了相邻预测单元163的详细配置例子的框图。
在图35的例子中,相邻预测单元163包括参考图像帧内预测单元171、目标图像帧内预测单元172、参考图像差生成单元173、目标图像差生成单元174、以及计算单元175。
把关于所需参考图像的信息(即,关于参考块和目标块的相邻像素的信息)、关于目标块的信息、以及关于与目标块对应的参考块的信息从帧内模板运动预测/补偿单元161或帧间模板运动预测/补偿单元162输入到参考图像帧内预测单元171。
参考图像帧内预测单元171在相应参考帧或目标帧中对参考块执行帧内预测以生成参考帧内预测图像。此时,参考图像帧内预测单元171生成H.264/AVC方案中定义的所有帧内预测模式的参考帧内预测图像以及通过参考块的像素值确定预测误差最小的帧内预测模式。
参考图像帧内预测单元171把关于所需参考图像的信息(即,关于目标块的相邻像素的信息)、关于目标块的信息、以及关于确定的帧内预测模式的信息输出到目标图像帧内预测单元172。进一步地,参考图像帧内预测单元171把关于参考块的信息以及关于以确定的帧内预测模式生成的参考帧内预测图像的信息输出到参考图像差生成单元173。
目标图像帧内预测单元172通过对目标块执行帧内预测生成目标帧内预测图像。此时,目标图像帧内预测单元172以参考图像帧内预测单元171确定的帧内预测模式生成目标帧内预测图像。目标图像帧内预测单元172把关于目标块的信息以及关于生成的目标帧内预测图像的信息输出到目标图像差生成单元174。
目标图像帧内预测单元172在必要的情况下把关于帧内预测模式的信息输出到相应的帧内模板运动预测/补偿单元161或相应的帧间模板运动预测/补偿单元162。即,在下面参照图40和41描述的情形中输出关于预测模式的信息。当预测图像选择单元76选择帧间模板预测模式或帧内模板预测模式的预测图像时,把关于预测模式的信息作为关于与二次差信息相关联的帧内预测模式的信息传输给无损编码单元66。
参考图像差生成单元173生成作为参考块的像素值与参考帧内预测图像的像素值之差的参考图像的差信息,并把生成的差信息输出到计算单元175。
目标图像差生成单元174生成作为目标块的像素值与目标帧内预测图像的像素值之差的目标图像的差信息并把生成的目标图像的差信息输出到计算单元175。
计算单元175对目标图像的差信息以及参考图像的差信息执行除法计算以计算二次差信息,并把计算的二次差信息输出到相应的帧内模板运动预测/补偿单元161或相应的帧间模板运动预测/补偿单元162。
[帧间模板运动预测/补偿单元和相邻预测单元的操作示例]
接下来,将参照图36描述图像编码设备151的帧间模板运动预测/补偿单元和相邻预测单元的操作。在图36的例子中,将在帧间处理的情形中描述操作。在此情形中,帧内模板运动预测/补偿单元161和帧间模板运动预测/补偿单元162中的过程除了在画面中(目标帧)或者在画面之间(参考帧)存在参考块以外是一样的。相应地,将不描述帧内处理的情形。
在图36的例子中,在目标帧中示出了目标块A以及与目标块A相邻的模板区域B,在参考帧中示出了参考块A′以及与参考块A′相邻的模板区域B′。进一步地,在图36的例子中,示出了4×4个像素的块尺寸作为例子。
目标块A包括像素值a00至a33,模板区域B包括像素值b0至b19。进一步地,参考块A′包括像素值a′00至a′33,模板区域B包括像素值b′0至b′19。
首先,帧间模板运动预测/补偿单元162按照帧间模板匹配方法执行运动预测。即,当在参考帧的查找范围内查找与模板区域B的相关性最高的模板区域B′时,确定与目标块A和模板区域B对应的参考块A′和模板区域B′。在相关领域中,编码参考块A′的像素值与作为目标块A的预测图像的目标块A的像素值之间的差。
此时,执行整数像素精度的模板匹配过程。在模板匹配过程中,可以使用与右侧的模板区域B和B′相邻的像素的像素值c0至c7和像素值c′0至c′7。
接下来,参考图像帧内预测单元171在与模板区域B′中的参考块相邻的像素的像素值b′7、b′8、b′9、b′10、b′11、b′13、b′15、b′17和b′19与参考帧中参考块的像素值a′00至a′33之间执行帧内预测。即使在帧内预测中也可以使用像素值c′0至c′3。
即,参考图像帧内预测单元171通过使用像素值b′7、b′8、b′9、b′10、b′11、b′13、b′15、b′17和b′19以及像素值c′0至a′3以H.264/AVC方案中定义的九个类型4×4帧内预测模式生成预测图像。随后,参考图像帧内预测单元171确定通过SAD(绝对差的和)等计算的与参考块的像素值a′00至a′33的预测误差最小的预测模式。
此时,用a_d′00至a_d′33标注通过帧内预测和像素值a′00至a′33生成的帧内预测像素之差。进一步地,假定只使用“可用”模式作为参考块以及目标块中的预测模式。
参考图像差生成单元173生成作为参考块的像素值与参考帧内预测图像的像素值之差的参考图像的差信息。即,假定[Ref]是参考块的像素值以及[Ipred_Ref(best_mode)]是参考图像中最佳帧内预测模式的帧内预测像素值,通过下面的表达式(76)计算参考图像的差信息[Dif_Ref]。
[Dif_Ref]=[Ref]-[Ipred_Ref(best_mode)] (76)
然后,把参考帧中确定的帧内预测模式在目标帧中应用于目标帧中的像素值b7、b8、b9、b10、b11、b13、b15、b17和b19(在必要的情况下,像素值c0至c3),生成目标帧内预测图像。
此时,用a_d00至a_d33标注帧内预测中生成的帧内预测像素与像素值a′00至a′33之间的差。
进一步地,目标图像差生成单元174生成作为目标块的像素值与预测图像的像素值之间差的目标图像的差信息。即,假定[Curr]是目标块的像素值以及[Ipred_Curr(best_mode)]是参考图像中确定的最佳帧内预测模式的目标块的帧内预测像素值,通过下面的表达式(77)计算目标图像的差信息[Dif_Curr]。
[Dif_Curr]=[Curr]-[Ipred_Curr(best_mode)] (77)
接下来,计算单元175生成[a_d′kl-a_dkl]的4×4矩阵,k和l=0、…、3。即,通过表达式(78)计算二次差信息[Res]。
[Res]=[Dif_Curr]-[Dif_Ref] (78)
对以此方式生成的二次差信息[Res]进行编码并将其传输到解码侧。即,经由帧间模板运动预测/补偿单元162把二次差信息[Res]输出到运动预测/补偿单元75。运动预测/补偿单元75把作为帧间模板预测模式的预测图像的目标块A的像素值[Curr]以及作为目标块a的像素值[Curr]与二次差信息[Res]之间差的[Ipred_Curr(best_mode)]+[Dif_Ref]输出到预测图像选择单元78。
当预测图像选择单元78选择作为以最佳帧间预测模式生成的预测图像的要经受帧间处理的图像与二次差信息之间的差时,把差[Ipred_Curr(best_mode)]+[Dif_Ref]输出到计算单元63和70。
计算单元63从原始图像[Curr]中减去差[Ipred_Curr(best_mode)]+[Dif_Ref],把作为结果的二次差信息[Res]输出到正交变换单元64。二次差信息[Res]经受正交变换单元64进行的正交变换,通过量化单元65被量化,以及通过无损编码单元66被编码。
另一方面,经受正交变换和量化的二次差信息[Res]经受逆量化和逆正交变换且被输入到计算单元70。从预测图像选择单元78输入要经受帧间处理的图像与二次差信息之间的差。相应地,计算单元70把二次差信息[Res]与差[Ipred_Curr(best_mode)]+[Dif_Ref]相加以获得[Curr]。随后,把[Curr]输出到去块滤波器71和帧存储器72。
即,计算单元70执行与下面参照图42描述的图像解码设备201的相邻预测单元213的过程一样的过程。
如上所述,计算目标块A的预测图像(参考块B)。此外,根据本发明,计算目标块A与画面内预测图像之间的差,计算参考块B与画面内预测图像之间的差。进一步地,对该差(二次差)进行编码。因而,可以改进编码效率。
当在参考帧中执行帧内预测模式的确定时,如上所述,可以在解码侧执行相邻预测单元163的上述过程。即,并非必定传输最佳帧内预测模式。因而,可以改进编码效率。
进一步地,由于对预测图像(参考块)执行预测过程以及编码作为差值的二次差信息,所以可以在帧内模板匹配过程和帧间模板匹配过程中改进预测效率。
如上所述,与目标块和参考块相对应地使用帧内模板匹配和帧间模板匹配。然而,可以使用参照图2描述的帧内运动预测和H.264/AVC方案的运动预测。
然而,在上述模板匹配的情形中,可以在帧内预测中使用模板匹配过程中使用的像素。因此,并非必定在帧内预测时从帧存储器读取其它像素值。相应地,由于不增加对存储器的访问,所以可以改进处理效率。
通过使用H.264/AVC方案中定义的帧内预测模式,参考图像帧内预测单元171和目标图像帧内预测单元172可以与帧内预测单元74共用电路。因而,可以在不增加电路的情况下改进模板匹配预测的预测效率。
在以上描述中使用了4×4个像素的块尺寸,但是上述过程也可应用于8×8个像素和16×16个像素的块。进一步地,在4×4个像素、8×8个像素、以及16×16个像素的块尺寸的情形中,可以把候选预测模式限制为例如竖直、水平或者DC预测模式。
进一步地,可以对于Y信号分量、Cb信号分量以及Cr信号分量独立地执行上述过程。
[预测过程的另一例子的描述]
接下来,将参照图37的流程图描述图像编码设备151的预测过程。预测过程是图12的步骤S21的预测过程中描述的图13中的预测过程的另一例子。即,由于图像编码设备151的编码过程基本上与参照图12描述的图像编码设备51的编码过程一样,所以将不重复其描述。
当从画面重排缓存器62提供的要处理的图像是要经受帧内处理的块的图像时,从帧存储器72读取要参考的解码图像并经由开关73将其提供给帧内预测单元74。在步骤S211中,帧内预测单元74基于此图像在所有候选帧内预测模式中对要处理的块的像素执行帧内预测。
步骤S211中帧内预测过程的细节基本上与以上参照图26描述的过程的细节一样。通过此过程在所有候选帧内预测模式中执行帧内预测以计算所有候选帧内预测模式的成本函数值。随后,基于计算的成本函数值,在所有帧内预测模式之中选择认为最佳的一个帧内预测模式。
在步骤S211的情形中,不同于图26的例子,不把最佳帧内预测模式中生成的预测图像及其成本函数值提供给预测图像选择单元78。在步骤S214的过程中使用最佳帧内预测模式的成本函数值。
当从画面重排缓存器62提供的要处理的图像是要经受帧间处理的块的图像时,从帧存储器72读取要参考的解码图像且经由开关73将其提供给运动预测/补偿单元75。在步骤S212中,运动预测/补偿单元75基于此图像执行帧间运动预测过程。即,运动预测/补偿单元75参考从帧存储器72提供的图像在所有候选帧间预测模式中执行运动预测过程。
下面将参照图38描述步骤S212中帧间运动预测过程的细节。通过此过程在所有候选帧间预测模式中执行运动预测过程以计算针对所有候选帧间预测模式的成本函数值。
当从画面重排缓存器62提供的要处理的图像是要经受帧内处理的块的图像时,经由帧内预测单元74把来自帧存储器72的要参考的解码图像也提供给帧内模板运动预测/补偿单元161。在步骤S213中,帧内模板运动预测/补偿单元161在帧内模板预测模式中执行帧内模板运动预测过程。
下面将与帧间模板运动预测过程的细节一起参照图39描述步骤S213中帧内模板运动预测过程的细节。通过此过程在帧内模板预测模式中执行运动预测过程以计算二次差信息。使用计算的二次差信息对于帧内模板预测模式计算成本函数值。随后,把二次差信息与通过帧内模板预测模式的运动预测过程作为预测图像生成的目标块之间的差与其成本函数值一起提供给帧内预测单元74。
在步骤S214中,帧内预测单元74把步骤S211中选择的帧内预测模式的成本函数值与步骤S213中计算的帧内模板预测模式的成本函数值相比较。帧内预测单元74把值最小的预测模式确定为最佳帧内预测模式以及把以最佳帧内预测模式生成的预测图像及其成本函数值提供给预测图像选择单元78。
当从画面重排缓存器62提供的要处理的图像是要经受帧间处理的块的图像时,经由运动预测/补偿单元75把从帧存储器72读取的要参考的解码图像提供给帧间模板运动预测/补偿单元162。在步骤S215中,帧间模板运动预测/补偿单元162基于此图像在帧间模板预测模式中执行帧间模板运动预测过程。
将与帧内模板运动预测过程一起参照图39描述步骤S215中帧间模板运动预测过程的细节。通过此过程以帧间模板预测模式执行运动预测过程以计算二次差信息。使用计算的二次差信息对于帧间模板预测模式计算成本函数值。随后,把二次差信息与通过帧间模板预测模式的运动预测过程作为预测图像生成的目标块之间的差与其成本函数值一起提供给运动预测/补偿单元75。
在步骤S216中,运动预测/补偿单元75把步骤S212中选择的最佳帧间预测模式的成本函数值与步骤S215中计算的帧间模板预测模式的成本函数值相比较。运动预测/补偿单元75把值最小的预测模式确定为最佳帧间预测模式。运动预测/补偿单元75把最佳帧内预测模式中生成的预测图像及其成本函数值提供给预测图像选择单元78。
[帧间运动预测过程的描述]
接下来,将参照图38的流程图描述图37中步骤S212的帧间运动预测过程。
在步骤S221中,运动预测/补偿单元75确定以上参照图5描述的16×16个像素至4×4个像素的八个类型帧间预测模式中每个的参考图像和运动向量。即,对于要对于帧间预测模式中的每个处理的块确定运动向量和参考图像。
在步骤S222中,运动预测/补偿单元75基于对于16×16个像素至4×4个像素的八个类型帧间预测模式中的每个在步骤S221中确定的运动向量对参考图像执行运动预测和补偿过程。通过运动预测和补偿过程以帧间预测模式的每个生成预测图像。
在步骤S223中,运动预测/补偿单元75在16×16个像素至4×4个像素的八个类型帧间预测模式的每个中确定的运动向量中生成向压缩图像添加的运动向量信息。此时,使用参照图8描述的生成运动向量的方法生成运动向量信息。
当在后续步骤S224中计算成本函数值时也使用生成的运动向量信息。当预测图像选择单元78最终选择相应的预测图像时,把运动向量信息与预测模式信息和参考帧信息一起输出到无损编码单元66。
在步骤S224中,运动预测/补偿单元75在16×16个像素至4×4个像素的八个类型帧间预测模式的每个中计算上述表达式(74)或表达式(75)中表示的成本函数值。此处,当在以上参照图37描述的步骤S126中确定最佳帧间预测模式时使用计算的成本函数值。
[模板运动预测过程的描述]
接下来,将参照图39的流程图描述模板运动预测过程。在图39的例子中,描述了帧间处理的情形,即图37中步骤S215的模板运动预测过程的情形。此过程除了在画面中或者在画面之间存在参考块以外是一样的。相应地,即使在图37中的步骤S213中也执行帧内过程的情形,即与图39中的过程一样的过程。
在步骤S231中,帧间模板运动预测/补偿单元162执行帧间模板匹配运动预测过程。即,把从画面重排缓存器62读取的要经受帧间预测的图像以及从帧存储器72提供的必要参考图像输入到帧间模板运动预测/补偿单元162。
如以上参照图3所述,帧间模板运动预测/补偿单元162使用要经受帧间预测的图像和参考图像以及使用具有与目标块相邻的像素和解码像素的模板的像素值执行帧间模板预测模式的运动预测。进一步地,帧间模板运动预测/补偿单元162计算参考帧中可与要经受帧间处理的图像的目标块对应的参考块。
帧间模板运动预测/补偿单元162把关于所需参考图像的信息(即,关于参考块和目标块的相邻像素的信息)、关于目标块的信息以及关于与目标块对应的参考块的信息输出到参考图像帧内预测单元171。
在步骤S232中,参考图像帧内预测单元171和参考图像差生成单元173确定帧内预测模式并计算参考图像中的差。即,参考图像帧内预测单元171通过使用与参考块相邻的像素的像素值在参考帧中以H.264/AVC方案中定义的所有帧内预测模式生成参考帧内预测图像。
参考图像帧内预测单元171确定参考块的像素值与参考帧内预测图像的像素值之间预测误差(SAD)最小的预测模式并把参考块的像素值和确定的预测模式的参考帧内预测图像输出到参考图像差生成单元173。进一步地,参考图像帧内预测单元171把关于所需参考图像的信息(例如,关于目标块的相邻像素的信息)、关于目标块的信息以及关于确定的帧内预测模式的信息输出到目标图像帧内预测单元172。
参考图像差生成单元173计算作为参考块的像素值与参考帧内预测图像的像素值之间差的参考图像的差信息,并把参考图像的计算的差信息输出到计算单元175。
在步骤S233中,目标图像帧内预测单元172把对于参考块确定的帧内预测模式应用于目标图像的目标块。在步骤S234中,目标图像帧内预测单元172使用应用的帧内预测模式对目标图像执行帧内预测过程。即,目标图像帧内预测单元172通过使用与目标帧中的目标块相邻的像素的像素值在应用的帧内预测模式中生成目标帧内预测图像。把关于通过帧内预测生成的目标帧内预测图像的信息与关于目标块的信息一起输出到目标图像差生成单元174。
在步骤S235中,目标图像差生成单元174生成作为目标块的像素值与目标帧内预测图像的像素值之间差的目标图像的差信息,以及把目标图像的生成的差信息输出到计算单元175。
在步骤S236中,计算单元175对目标图像的差信息和参考图像的差信息执行除法计算,计算二次差信息,并把计算的二次差信息输出到帧间模板运动预测/补偿单元162。
在步骤S237中,帧间模板运动预测/补偿单元162通过使用来自计算单元175的二次差信息在帧间模板预测模式中计算上述表达式(74)或表达式(75)中表示的成本函数值。帧间模板运动预测/补偿单元162把二次差信息与作为预测图像的要经受帧间处理的图像之间的差及其成本函数值输出到运动预测/补偿单元75。
即,当在上述图37的步骤S216中确定最佳帧间预测模式时使用计算的成本函数值。
由于在参考块中确定最佳帧内预测模式且甚至向目标块应用最佳帧内预测模式,所以如上所述,没有必要把帧内预测模式传输给解码侧。
[模板运动预测过程另一例子的描述]
接下来,将参照图40的流程图描述模板运动预测过程的另一例子。为了便于描述图40的例子,将参照图35的功能块做出描述,但是数据流中的一些数据流与图35的不同。
在步骤S251中,帧间模板运动预测/补偿单元162执行帧间模板匹配运动预测过程。因而,在参考帧中计算可与要经受帧间处理的图像的目标块对应的参考块。
在图40的例子中,帧间模板运动预测/补偿单元162把关于参考图像的信息(即,关于参考块和目标块的相邻像素的信息)、关于目标块的信息、以及关于与目标块对应的参考块的信息输出到目标图像帧内预测单元172。
在步骤S252中,目标图像帧内预测单元172和目标图像差生成单元174确定帧内预测模式并计算目标图像中的差。即,目标图像帧内预测单元172通过使用与目标块相邻的像素的像素值在目标帧中以H.264/AVC方案中定义的所有帧内预测模式生成目标帧内预测图像。
目标图像帧内预测单元172确定目标块的像素值与目标帧内预测图像的像素值之间预测误差(SAD)最小的预测模式,并把目标块的像素值和确定的预测模式的目标帧内预测图像输出到目标图像差生成单元174。
目标图像帧内预测单元172把关于所需参考图像的信息(例如,关于参考块的相邻像素的信息)以及关于参考块的信息输出到参考图像帧内预测单元171。进一步地,目标图像帧内预测单元172把关于确定的帧内预测模式的信息输出到参考图像帧内预测单元171,并把此信息输出到相应的帧内模板运动预测/补偿单元161或相应的帧间模板运动预测/补偿单元162。
即,当预测图像选择单元78选择帧间模板预测模式的预测图像时,把关于目标块中确定的帧内预测模式的信息与帧间模板预测模式一起输出到无损编码单元66且传输给解码侧。
目标图像差生成单元174计算作为目标块的像素值与目标帧内预测图像的像素值之间差的目标图像的差信息,并把目标图像的计算的差信息输出到计算单元175。
在步骤S253中,参考图像帧内预测单元171把对于目标块确定的帧内预测模式应用于针对参考图像的参考块。在步骤S254中,参考图像帧内预测单元171使用应用的帧内预测模式对参考图像执行帧内预测过程。即,参考图像帧内预测单元171在参考帧中以应用的帧内预测模式生成参考帧内预测图像。把关于通过帧内预测生成的参考帧内预测图像的信息与关于参考块的信息一起输出到参考图像差生成单元173。
在步骤S254中,参考图像差生成单元173生成作为参考块的像素值与参考帧内预测图像的像素值之间差的参考图像的差信息,并把参考图像的生成的差信息输出到计算单元175。
在步骤S256中,计算单元175对目标图像的差信息和参考图像的差信息执行除法计算,计算二次差信息,并把计算的二次差信息输出到帧间模板运动预测/补偿单元162。
在步骤S257中,帧间模板运动预测/补偿单元162通过使用来自计算单元175的二次差信息以帧间模板预测模式计算上述表达式(74)或表达式(75)中表示的成本函数值。帧间模板运动预测/补偿单元162把二次差信息与作为预测图像的要经受帧间处理的图像之间的差及其成本函数值输出到运动预测/补偿单元75。
即,当在上述图37的步骤S216中确定最佳帧间预测模式时使用计算的成本函数值。
由于在目标块中确定最佳帧内预测模式且甚至向参考块应用最佳帧内预测模式,所以如上所述,没有必要把帧内预测模式传输给解码侧。然而,相比于图39的例子而言改进了帧内预测的效率。
[模板运动预测过程又一例子的描述]
接下来,将参照图41的流程图描述模板运动预测过程的另一例子。为了便于图41的例子的描述,将参照图35的功能块做出描述,但是数据流中的一些数据流与图35的不同。
在步骤S271中,帧间模板运动预测/补偿单元162执行帧间模板匹配运动预测过程。因而,在参考帧中计算可与要经受帧间处理的图像的目标块对应的参考块。
在图41的例子中,帧间模板运动预测/补偿单元162把关于参考图像的信息(即,关于参考块和目标块的相邻像素的信息)、关于目标块的信息以及关于与目标块对应的参考块的信息输出到参考图像帧内预测单元171和目标图像帧内预测单元172。
在步骤S272中,目标图像帧内预测单元172和目标图像差生成单元174确定帧内预测模式并计算目标图像中的差。即,目标图像帧内预测单元172通过使用与目标块相邻的像素的像素值在目标帧中以H.264/AVC方案中定义的所有帧内预测模式生成目标帧内预测图像。
目标图像帧内预测单元172确定目标块的像素值与目标帧内预测图像的像素值之间预测误差(SAD)最小的预测模式,并把目标块的像素值和确定的预测模式的目标帧内预测图像输出到目标图像差生成单元174。
进一步地,目标图像帧内预测单元172把关于确定的帧内预测模式的信息输出到相应的帧内模板运动预测/补偿单元161或相应的帧间模板运动预测/补偿单元162。即,当预测图像选择单元78选择帧间模板预测模式的预测图像时,把关于目标块中确定的帧内预测模式的信息与帧间模板预测模式一起输出到无损编码单元66且传输到解码侧。
目标图像差生成单元174计算作为目标块的像素值与目标帧内预测图像的像素值之间差的目标图像的差信息,并把目标图像的计算的差信息输出到计算单元175。
在步骤S273中,参考图像帧内预测单元171和参考图像差生成单元173确定帧内预测模式并计算参考图像中的差。即,参考图像帧内预测单元171通过使用与参考块相邻的像素的像素值在参考帧中以H.264/AVC方案中定义的所有帧内预测模式生成参考帧内预测图像。
参考图像帧内预测单元171确定参考块的像素值与参考帧内预测图像的像素值之间预测误差(SAD)最小的预测模式,并把参考块的像素值和确定的预测模式的参考帧内预测图像输出到参考图像差生成单元173。
参考图像差生成单元173计算作为参考块的像素值与参考帧内预测图像的像素值之间差的参考图像的差信息,并把参考图像的计算的差信息输出到计算单元175。
在步骤S274中,计算单元175对目标图像的差信息和参考图像的差信息执行除法计算,计算二次差信息,并把计算的二次差信息输出到帧间模板运动预测/补偿单元162。
在步骤S275中,帧间模板运动预测/补偿单元162通过使用来自计算单元175的二次差信息以帧间模板预测模式计算上述表达式(74)或表达式(75)中表示的成本函数值。帧间模板运动预测/补偿单元162把二次差信息与作为预测图像的要经受帧间处理的图像之间的差及其成本函数值输出到运动预测/补偿单元75。
即,当在上述图37的步骤S216中确定最佳帧间预测模式时使用计算的成本函数值。
由于在目标块和参考块中确定最佳帧内预测模式,所以如上所述,需要把帧内预测模式传输给解码侧,从而增进过程。然而,相比于图40的例子而言改进了帧内预测的效率。
[图像解码设备的配置的另一例子]
图42是示例了作为根据本发明另一实施例的图像处理装置的图像解码设备的配置的图。
图像解码设备201在以下方面具有与图29中的图像解码设备101的配置相同的配置:图像解码设备201包括累积缓存器111、无损解码单元112、逆量化单元113、逆正交变换单元114、计算单元115、去块滤波器116、画面重排缓存器117、D/A转换单元118、帧存储器119、开关120、帧内预测单元121、运动预测/补偿单元122以及开关125。
图像解码设备201与图29中图像解码设备101的不同之处在于图像解码设备201不包括画面内预测单元123和二次差补偿单元124,且进一步包括帧内模板运动预测/补偿单元211、帧间模板运动预测/补偿单元212、相邻预测单元213和开关214。
在下文中,帧内模板运动预测/补偿单元211和帧间模板运动预测/补偿单元212分别称作帧内模板运动预测/补偿单元211和帧间模板运动预测/补偿单元212。
把关于帧内预测模式的通过解码头信息可获得的信息从无损解码单元112提供给帧内预测单元121。当提供关于帧内预测模式的信息时,帧内预测单元121基于此信息生成预测图像并把生成的预测图像输出到开关125。
当提供关于帧内模板预测模式的信息时,帧内预测单元121把用于帧内预测的图像提供给帧内模板运动预测/补偿单元211以及在帧内模板预测模式中执行运动预测/补偿过程。在此情形中,帧内预测单元121接通开关214并把图像从相邻预测单元213提供给去块滤波器116。
帧内模板运动预测/补偿单元211执行与图34中帧内模板运动预测/补偿单元161中一样的帧内模板预测模式的运动预测,以计算可与要经受帧内处理的图像的目标块对应的参考块。帧内模板运动预测/补偿单元211把关于参考图像的信息(即,关于参考块和目标块的相邻像素的信息)、关于目标块的信息以及关于与目标块对应的参考块的信息输出到相邻预测单元213。
把通过解码头信息可获得的信息(预测模式、运动向量信息或者参考帧信息)从无损解码单元112提供给运动预测/补偿单元122。当提供表明帧间预测模式的信息时,运动预测/补偿单元122通过基于运动向量信息和参考帧信息对图像执行运动预测和补偿过程生成预测图像,并把生成的预测图像输出到开关125。
当提供表明帧间模板预测模式的信息时,运动预测/补偿单元122为帧间模板运动预测/补偿单元212提供从帧存储器119读取的要经受帧间处理的图像以及要参考的图像。随后,运动预测/补偿单元122在帧间模板预测模式中执行运动预测/补偿过程。在此情形中,运动预测/补偿单元122接通开关214并把图像从相邻预测单元213提供给去块滤波器116。
帧间模板运动预测/补偿单元212执行与图34中帧间模板运动预测/补偿单元162中一样的帧间模板预测模式的运动预测,以计算可与要经受帧间处理的图像的目标块对应的参考块。帧间模板运动预测/补偿单元212把关于参考图像的信息(即,关于参考块和目标块的相邻像素的信息)、关于目标块的信息、以及关于与目标块对应的参考块的信息输出到相邻预测单元213。
把经受解码过程、逆量化、以及逆正交变换的二次差信息从逆正交变换单元114提供给相邻预测单元213。进一步地,当存在关于与二次差信息相关联的帧内预测模式的信息时,从无损解码单元112提供该信息。
相邻预测单元213执行与图29中的画面内预测单元123和二次差补偿单元124的过程对应的过程。即,相邻预测单元213通过使用关于所需参考图像的信息对目标块执行帧内预测作为画面内预测,以生成目标帧内预测图像,且对参考块执行帧内预测以生成参考帧内预测图像。此时,相邻预测单元213在必要的情况下使用关于与从无损解码单元112提供的二次差信息相关联的帧内预测模式的信息。
相邻预测单元213计算作为参考块的像素值与参考帧内预测图像的像素值之间差的参考差信息,以及使用来自逆正交变换单元114的参考差信息、目标帧内预测图像和二次差信息补偿目标图像。相邻预测单元213经由开关214把补偿的目标图像提供给去块滤波器116。
开关214通常关断。因此,在帧内预测单元121或运动预测/补偿单元122的控制下连接和接通两端的端子,把来自相邻预测单元213的图像提供给去块滤波器116。
[相邻单元的配置例子]
图43是示例了相邻预测单元的详细配置例子的方框图。
在图43的例子中,相邻预测单元213包括参考图像帧内预测单元221、参考图像差生成单元222、目标图像帧内预测单元223以及计算单元224。
把关于所需参考图像的信息(即,关于参考块和目标块的相邻像素的信息)、关于目标块的信息、以及关于与目标块对应的参考块的信息从帧内模板运动预测/补偿单元211或帧间模板运动预测/补偿单元212输入到参考图像帧内预测单元221。
参考图像帧内预测单元221对相应参考帧或目标帧中的参考块执行帧内预测以生成参考帧内预测图像。例如,当在图像编码设备151中执行图39中的过程时,参考图像帧内预测单元221生成所有帧内预测模式的参考帧内预测图像以及通过参考块的像素值确定预测误差最小的帧内预测模式。
参考图像帧内预测单元221把关于所需参考图像的信息(例如,关于目标块的相邻像素的信息)、关于目标块的信息以及关于确定的帧内预测模式的信息输出到目标图像帧内预测单元223。进一步地,参考图像帧内预测单元221把关于参考块的信息以及关于确定的帧内预测模式中生成的参考帧内预测图像的信息输出到参考图像差生成单元222。
参考图像差生成单元222生成作为参考块的像素值与预测图像的像素值之间差的参考图像的差信息,并把参考图像的生成的差信息输出到计算单元224。
目标图像帧内预测单元223通过对目标块执行帧内预测生成目标帧内预测图像。例如,当在图像编码设备151中执行图39中的过程时,目标图像帧内预测单元223以参考图像帧内预测单元221确定的帧内预测模式生成目标帧内预测图像。目标图像帧内预测单元223把关于生成的目标帧内预测图像的信息输出到计算单元224。
把二次差信息从逆正交变换单元114输入到计算单元224。计算单元224使用来自逆正交变换单元114的参考差信息、目标帧内预测图像、以及二次差信息补偿目标图像。相邻预测单元213把补偿的目标图像提供给开关214。
当在图像编码设备151中执行图40或41中的过程时,无损解码单元112解码关于与二次差信息相关联的帧内预测模式的信息。在此情形中,目标图像帧内预测单元223在无损解码单元112执行解码的帧内预测模式中对目标块执行帧内预测。
当在图像编码设备151中执行图40中的过程时,目标图像帧内预测单元223为参考图像帧内预测单元221提供无损解码单元112执行解码的帧内预测模式。在此情形中,参考图像帧内预测单元221还在无损解码单元112执行解码的帧内预测模式中对目标块执行帧内预测。
[帧间模板运动预测/补偿单元和相邻预测单元的操作例子]
在下文中,将描述图像解码设备201中的帧间模板运动预测/补偿单元和相邻预测单元的操作。由于与对帧内模板运动预测/补偿单元应用的一样,所以将不重复其描述。
在计算单元224中,可以获得来自图像编码设备151的二次差信息[res]=[Dif_Curr]-[Dif_Ref](可以通过上述表达式(78)获得)。
帧间模板运动预测/补偿单元212执行与图34中帧间模板运动预测/补偿单元162相同的帧间模板预测模式的运动预测和补偿过程,并确定可与要经受帧间处理的图像的目标块对应的参考块。
参考图像帧内预测单元221对参考帧中的参考块执行帧内预测以生成参考帧内预测图像。例如,当在图像编码设备151中执行图39中的过程时,参考图像帧内预测单元221生成所有帧内预测模式的参考帧内预测图像,且通过参考块的像素值确定预测误差最小的帧内预测模式。
参考图像差生成单元222生成作为参考块的像素值与确定的帧内预测模式(best_mode)中生成的参考帧内预测图像的像素值之间差的参考图像的差信息[Dif_ref]。
计算单元224使用二次差信息[Dif_Curr]-[Dif_Ref]和差信息[Dif_ref]通过下面的表达式(79)生成目标图像的差信息[Dif_Curr]。
([Dif_Curr]-[Dif_Ref]+[Dif_ref]=[Dif_Curr] (79)
目标图像帧内预测单元223在对于参考块确定的帧内预测模式(best_mode)中对目标帧中的目标块执行帧内预测,以生成目标帧内预测图像[Ipred_Ref(best_mode)]。
相应地,计算单元224使用生成的目标帧内预测图像[Ipred_Ref(best_mode)]和表达式(79)的目标图像的差信息[Dif_Curr]通过下面的表达式(80)生成解码图像。
解码图像=[Dif_Curr]+[Ipred_Ref(best_mode)] (80)
在以上描述中,计算单元224的过程通过表达式(79)和表达式(80)单独执行以便于描述,但是可以同时执行。
在一些情形(图40或41的情形)中图像编码设备151在目标图像中确定最佳帧内预测模式(best_mode)且该信息被传输。在此情形中,即使在图像解码设备201中也使用并非参考图像中确定的best_mode而是传输的best_mode。进一步地,当即使在图像编码设备151中的参考图像中也使用best_mode(图40的情形)时,在图像解码设备201中的参考图像中也使用best_mode。
[预测过程另一例子的描述]
接下来,将参照图44的流程图描述图像解码设备201的预测过程。预测过程是图31的步骤S138的预测过程中描述的图32中预测过程的另一例子。即,由于图像解码设备201的编码过程基本上与参照图31描述的图像解码设备101的编码过程一样,所以将不重复其描述。
在步骤S311中,帧内预测单元121确定目标块是否经受帧内处理。把帧内预测模式信息或帧内模板预测模式信息从无损解码单元112提供给帧内预测单元121。因而,帧内预测单元121在步骤S311中确定目标块经受帧内处理,随后过程前往步骤S312。
在步骤S312中,帧内预测单元121获取帧内预测模式信息或帧内模板预测模式信息。在步骤S313中,帧内预测单元121确定预测模式是否是帧内预测模式。当帧内预测单元121在步骤S313中确定预测模式是帧内预测模式时,帧内预测单元121在步骤S314中执行帧内预测。
即,当要处理的图像是要经受帧内处理的图像时,从帧存储器119读取且经由开关120向帧内预测单元121提供所需图像。在步骤S314中,帧内预测单元121基于步骤S312中获取的帧内预测模式信息执行帧内预测以生成预测图像。把生成的预测图像输出到开关125。
另一方面,当在步骤S312中获取帧内模板预测模式信息时,帧内预测单元121在步骤S313中确定帧内模板预测模式信息并非帧内预测模式信息。随后,过程前往步骤S315。
当要处理的图像是要经受帧内模板预测过程的图像时,从帧存储器119读取且经由开关120和帧内预测单元121向帧内模板运动预测/补偿单元211提供所需图像。
在步骤S315中,帧内模板运动预测/补偿单元211执行帧内模板预测模式的运动预测/补偿过程。将与帧间模板运动预测/补偿过程一起参照图45描述步骤S315的帧内模板运动预测/补偿过程的细节。
通过此过程对目标帧中的参考块执行帧内预测以计算参考块和参考帧内预测图像之间的参考差信息。进一步地,对目标帧中的目标块执行帧内预测以生成帧内预测图像。随后,把来自逆正交变换单元114的参考差信息、目标帧内预测图像、以及二次差信息相加,生成目标块的图像,经由开关214把生成的图像输出到滤波器116。即,在此情形中,在不向计算单元115传输的情况下把目标块的图像直接输出到去块滤波器116。
另一方面,当帧内预测单元121在步骤S311中确定目标块不经受帧内处理时,过程前往步骤S316。在步骤S316中,运动预测/补偿单元122从无损解码单元112获取预测模式信息等。此时,目标图像帧内预测单元223获取关于与二次差信息相关联的帧内预测模式的信息。
当要处理的图像是要经受帧间处理的图像时,把帧间预测模式信息、参考帧信息、以及运动向量信息从无损解码单元112提供给运动预测/补偿单元122。在此情形中,在步骤S316中,运动预测/补偿单元122获取帧间预测模式信息、参考帧信息、以及运动向量信息。
在步骤S317中,运动预测/补偿单元122确定来自无损解码单元112的预测模式信息是否是帧间预测模式信息。当运动预测/补偿单元122在步骤S317中确定来自无损解码单元112的预测模式信息是帧间预测模式信息时,过程前往步骤S318。
在步骤S318中,运动预测/补偿单元122执行帧间运动预测。即,当要处理的图像是要经受帧间预测过程的图像时,从帧存储器119读取且经由开关120向运动预测/补偿单元122提供所需图像。在步骤S318中,运动预测/补偿单元122基于步骤S316中获取的运动向量执行帧间预测模式的运动预测,以生成预测图像。把生成的预测图像输出到开关125。
另一方面,当在步骤S316中获取帧间模板预测模式信息时,运动预测/补偿单元122在步骤S317中确定预测模式信息并非帧间预测模式信息。随后,过程前往步骤S319。
当要处理的图像是要经受帧间模板预测过程的图像时,从帧存储器119读取且经由开关120和运动预测/补偿单元122向帧间模板运动预测/补偿单元212提供所需图像。
在步骤S319中,帧间模板运动预测/补偿单元212执行帧间模板预测模式的运动预测和补偿过程。以下将与帧内模板运动预测/补偿过程一起参照图45描述步骤S319的帧间模板运动预测/补偿过程的细节。
通过此过程对参考帧中的参考块执行帧内预测以计算参考块与参考帧内预测图像之间的参考差信息。进一步地,对目标帧中的目标块执行帧内预测以生成目标帧内预测图像。随后,把来自逆正交变换单元114的参考差信息、目标帧内预测图像、以及二次差信息相加,生成目标块的图像,经由开关214把生成的图像输出到滤波器116。即,在此情形中,在不向计算单元115传输的情况下把目标块的图像直接输出到去块滤波器116。
[模板运动预测过程的描述]
接下来,将参照图45的流程图描述模板运动预测/补偿过程。在图45的例子中,将描述帧间处理的情形,即图44中步骤S319的模板运动预测过程的情形。此过程除了在画面中或者在画面之间存在参考块以外是一样的。相应地,即使在图44中的步骤S315中也执行帧内过程的情形,即与图45中的过程一样的过程。
把经受解码过程、逆量化和逆正交变换的二次差信息[Res]从逆正交变换单元114提供给计算单元224。在步骤S331中,计算单元224从逆正交变换单元114获取二次差信息[Res]=[Diff_curr]-[Dif_ref]。
在步骤S332中,帧间模板运动预测/补偿单元212执行与图34中帧间模板运动预测/补偿单元162相同的帧间模板预测模式的运动预测,并确定可与要经受帧间处理的图像的目标块对应的参考块。
帧间模板运动预测/补偿单元212把关于所需参考图像的信息(即,关于参考块和目标块的相邻像素的信息)、关于目标块的信息以及关于与目标块对应的参考块的信息输出到参考图像帧内预测单元221。
在步骤S333中,参考图像帧内预测单元221和参考图像差生成单元222对参考块执行帧内预测,以计算作为参考块的像素值与参考帧内预测图像的像素值之间差的参考图像的参考信息[Diff-ref]。
即,参考图像帧内预测单元221生成参考帧中所有帧内预测模式的参考帧内预测图像,且通过参考块的像素值确定预测误差最小的帧内预测模式。把确定的帧内预测模式的参考帧内预测图像以及参考块的像素值输出到参考图像差生成单元222。进一步地,参考图像帧内预测单元221把关于所需参考图像的信息(例如,关于目标块的相邻像素的信息)、关于目标块的信息以及关于确定的帧内预测模式的信息输出到目标图像帧内预测单元223。
参考图像差生成单元222生成作为参考块的像素值与参考帧内预测图像的像素值之间差的参考图像的差信息,并把参考图像的计算的差信息输出到计算单元224。
在步骤S334中,计算单元224把步骤S331中获取的二次差信息[Dif_curr]-[Dif_ref]和参考图像的差信息[Dif_ref]相加,并输出目标图像的差信息[Dif_curr]。
另一方面,在步骤S335中,目标图像帧内预测单元223在参考图像帧内预测单元221确定的帧内预测模式中对目标块执行帧内预测,以生成目标帧内预测图像[Ipred_curr]。目标图像帧内预测单元223把关于生成的目标帧内预测图像的信息输出到计算单元224。
在步骤S336中,计算单元224把步骤S334中计算的目标图像的差信息[Dif_curr]和目标帧内预测图像[Ipred_curr]相加,以生成目标块的解码图像。经由开关214把解码图像直接输入到去块滤波器116。
在图45的例子中,即使在图像编码设备151中也示范了图39中的过程的情形。由于图40或41中的过程在以下事实中不同且其它过程基本上一样,所以将不重复其描述。即,当执行图40中的过程时,把来自无损解码单元112的最佳帧内预测模式(best_mode)用于步骤S333和步骤S335的帧内预测。进一步地,当执行图41中的过程时,把来自无损解码单元112的最佳帧内预测模式(best_mode)用于步骤S335的帧内预测。
以此方式,在图像编码设备151和图像解码设备201中,通过帧内模板匹配或帧间模板匹配在彼此可以对应的模板图像和参考图像中生成一次差信息,生成并编码二次差信息。
特别地,在帧内模板匹配或帧间模板匹配中,并非把目标块的像素值而是把与目标块相邻的模板的像素值用于预测。因此,在一些情形中会相比于使用目标块的像素值的预测而言降低预测效率。
相应地,根据图像编码设备151和图像解码设备201,可以改进帧内模板匹配或帧间模板匹配中的预测效率。
以此方式,根据本发明,计算与目标块对应的参考块(预测图像),还对目标块和参考块执行预测以计算差(残差),根据差生成二次差并对其进行编码。因而,可以进一步改进编码效率。
当基于上述二次差使用预测模式时,有必要把预测模式信息传输给解码侧。例如,在图31的例子中,如上所述,当获取帧间预测模式时,基于二次差执行帧间预测模式。然而,可以使用下述两个方法中的一个方法来使用基于二次差的预测模式。
例如,存在通过用H.264/AVC方案中使用的另一预测模式信息替代基于二次差的预测模式信息来执行编码过程的方法。当使用此方法时,在解码侧获取替代的预测模式时在基于二次差的模式中执行解码过程。
例如,存在通过把基于二次差的新的预测模式信息添加到H.264/AVC方案中使用的另一预测模式信息来执行编码过程的方法。当使用此方法时,在解码侧获取添加的预测模式时在基于二次差的模式中执行解码过程。
在以上描述中,使用了H.264/AVC方案作为编码方法,但是可以使用其它编码方案/解码方案。
本发明可应用于经由诸如卫星广播、有线电视、互联网、或者便携式电话的网络媒介接收通过运动补偿以及诸如离散余弦变换(例如,MPEG或H.26x)的正交变换压缩的图像信息(比特流)时使用的图像编码设备和图像解码设备。进一步地,本发明可应用于对磁光盘、闪存等执行处理时使用的图像编码设备和图像解码设备。此外,本发明可应用于包括图像编码设备和图像解码设备的运动预测/补偿装置。
可以通过硬件或软件执行上述系列过程。当通过软件执行系列过程时,把软件的程序安装在计算机中。此处,计算机的例子包括内置有专用硬件的计算机以及可以通过安装各种程序执行各种功能的通用个人计算机。
图46是示例了通过程序执行上述系列过程的计算机的硬件配置例子的框图。
在计算机中,CPU(中央处理单元)301、ROM(只读存储器)302、以及RAM(随机访问存储器)303通过总线304彼此相连。
进一步地,把输入/输出接口305连接到总线304。把输入单元306、输出单元307、存储单元308、通信单元309以及驱动器310连接到输入/输出接口305。
通过键盘、鼠标、麦克风等实现输入单元306。通过显示器、扬声器等实现输出单元307。通过硬盘、非易失性存储器等实现存储单元308。通过网络接口等实现通信单元309。驱动器310驱动诸如磁盘、光盘、磁光盘以及半导体存储器的可拆卸介质311。
在具有上述配置的计算机中,CPU 301通过经由输入/输出接口305和总线304在RAM 303上加载和执行存储单元308中存储的程序来执行上述系列过程。
可以把计算机(CPU 301)执行的程序记录在作为例如封装介质的可拆卸介质311上以便提供。可以经由诸如局域网、互联网、数字广播等的有线或无线传输介质提供程序。
在计算机中,可以通过把可拆卸介质311装配在驱动器310上经由输入/输出接口305把程序安装到存储单元308。进一步地,可以经由有线或无线传输介质通过通信单元309接收程序且可将其安装到存储单元308。此外,可以把程序预先安装在ROM 302或存储单元308中。
计算机执行的程序可以是按说明书中描述的次序以时间顺序执行的程序或者可以是在调用时的必要时间或并行执行的程序。
本发明不限于上述实施例,而是可以在不脱离本发明实质的情况下在本发明的范围内以各种形式修改。
附图标记列表
51:图像编码设备
52:无损编码单元
74:帧内预测单元
75:运动预测/补偿单元
76:画面内预测单元
77:二次差生成单元
81:目标帧画面内预测单元
82:目标帧画面内差生成单元
83:参考帧画面内预测单元
84:参考帧画面内差生成单元
91:目标帧差接收单元
92:参考帧差接收单元
93:二次差计算单元
101:图像解码设备
112:无损解码单元
121:帧内预测单元
122:运动预测/补偿单元
123:画面内预测单元
124:二次差生成单元
131:目标帧画面内预测单元
132:参考帧画面内预测单元
133:参考帧画面内差生成单元
141:预测图像接收单元
142:参考帧差接收单元
143:图像计算单元
151:图像编码设备
161:帧内模板运动预测/补偿单元
162:帧间模板运动预测/补偿单元
163:相邻预测单元
171:参考图像帧内预测单元
172:目标图像帧内预测单元
173:参考图像差生成单元
174:目标图像差生成单元
175:计算单元
201:图像解码设备
211:帧内模板运动预测/补偿单元
212:帧间模板运动预测/补偿单元
213:相邻预测单元
221:参考图像帧内预测单元
222:参考图像差生成单元
223:目标图像帧内预测单元
224:计算单元
Claims (20)
1.一种图像处理设备,包括:
接收单元,其接收目标帧差信息和参考帧差信息,所述目标帧差信息是目标帧的图像和通过在所述目标帧中进行画面内预测生成的目标预测图像之间的差,所述参考帧差信息是与所述目标帧对应的参考帧的图像和通过在所述参考帧中进行所述画面内预测生成的参考预测图像之间的差;
二次差生成单元,其生成二次差信息,所述二次差信息是在所述接收中接收到的所述目标帧差信息和所述参考帧差信息之间的差;以及
编码单元,其将由所述二次差生成单元生成的所述二次差信息进行编码,作为所述目标帧的图像。
2.根据权利要求1所述的图像处理设备,还包括:
帧间模板运动预测单元,其通过在所述参考帧中使用第一模板预测目标块的运动而允许所述目标块与参考块对应,所述第一模板与所述目标块邻近并且根据解码图像而生成。
3.根据权利要求2所述的图像处理设备,还包括:
目标帧内预测单元,其通过在所述目标帧中使用所述第一模板的像素进行所述画面内预测,来生成所述目标预测图像;以及
参考帧内预测单元,其通过在所述参考帧中使用第二模板的像素进行所述画面内预测,来生成所述参考预测图像,所述第二模板与所述参考块邻近并根据所述解码图像而生成。
4.根据权利要求3所述的图像处理设备,
其中,所述参考帧内预测单元通过在所述参考帧中使用所述第二模板的所述像素进行所述画面内预测而生成所述参考预测图像,来确定预测模式,并且
其中,所述目标帧内预测单元通过在所述目标帧内使用所述第一模板的所述像素在由所述参考帧内预测单元确定的所述预测模式下进行所述画面内预测,来生成所述目标预测图像。
5.根据权利要求3所述的图像处理设备,
其中,所述目标帧内预测单元通过在所述目标帧中使用所述第一模板的所述像素进行所述画面内预测而生成所述目标预测图像,来确定预测模式,
其中,所述参考帧内预测单元通过在所述参考帧中使用所述第二模板的所述像素在由所述目标帧内预测单元确定的所述预测模式下进行所述画面内预测,来生成所述参考预测图像,并且
其中,所述编码单元将所述目标帧的图像以及指示由所述目标帧内预测单元确定的所述预测模式的信息进行编码。
6.根据权利要求3所述的图像处理设备,
其中,所述目标帧内预测单元通过在所述目标帧中使用所述第一模板的所述像素进行所述画面内预测而生成所述目标预测图像,来确定第一预测模式,
其中,所述参考帧内预测单元通过在所述参考帧中使用所述第二模板的所述像素进行所述画面内预测而生成所述参考预测图像,来确定第二预测模式;并且
其中,所述编码单元将所述目标帧的所述图像以及指示由所述目标帧内预测单元确定的所述第一预测模式的信息进行编码。
7.根据权利要求1所述的图像处理设备,还包括:
运动预测单元,其通过在所述参考帧中使用所述目标帧中包含的目标块预测所述目标块的运动而允许所述目标块与所述参考帧中包含的参考块对应。
8.根据权利要求7所述的图像处理设备,还包括:
目标帧内模板预测单元,其通过使用与所述目标块对应的第一块在所述目标帧中进行所述画面内预测来生成所述目标预测图像,所述第一块是通过使用第一模板预测所述目标块的运动而计算出的,所述第一模板与所述目标块邻近并且根据解码图像而生成;以及
参考帧内模板预测单元,其通过使用与所述参考块对应的第二块在所述参考帧中进行所述画面内预测来生成所述参考预测图像,所述第二块是通过使用第二模板预测所述参考块的运动而计算出的,所述第二模板与所述参考块邻近并且根据解码图像而生成。
9.根据权利要求7所述的图像处理设备,还包括:
目标帧内运动预测单元,其通过使用与所述目标块对应的第一块在所述目标帧中进行所述画面内预测来生成所述目标预测图像,所述第一块是通过使用所述目标块预测所述目标块的运动而计算出的;以及
参考帧内运动预测单元,其通过使用与所述参考块对应的第二块在所述参考帧中进行所述画面内预测来生成所述参考预测图像,所述第二块是通过使用所述参考块预测所述参考块的运动而计算出的。
10.一种图像处理方法,包括:通过图像处理设备,
接收目标帧差信息和参考帧差信息,所述目标帧差信息是目标帧的图像和通过在所述目标帧中进行画面内预测生成的目标预测图像之间的差,所述参考帧差信息是与所述目标帧对应的参考帧的图像和通过在所述参考帧中进行所述画面内预测生成的参考预测图像之间的差;
生成二次差信息,所述二次差信息是所述接收的目标帧差信息和所述参考帧差信息之间的差;以及
将所述生成的二次差信息进行编码,作为所述目标帧的图像。
11.一种图像处理设备,包括:
解码单元,其将被编码的目标帧的二次差信息进行解码;
接收单元,其接收通过在所述目标帧中进行画面内预测生成的目标预测图像和参考帧差信息,所述参考帧差信息是与所述目标帧对应的参考帧的图像和通过在所述参考帧中进行所述画面内预测生成的参考预测图像之间的差;以及
二次差补偿单元,其通过使由所述解码单元解码的所述二次差信息、由所述接收单元接收的所述目标预测图像和由所述接收单元接收的所述参考帧差信息相加,来计算所述目标帧的图像。
12.根据权利要求11所述的图像处理设备,还包括:
帧间模板运动预测单元,其通过在所述参考帧中使用第一模板预测所述目标块的运动而允许所述目标块与所述参考块对应,所述第一模板与所述目标块邻近并且根据解码图像而生成。
13.根据权利要求12所述的图像处理设备,还包括:
目标帧内预测单元,其通过在所述目标帧中使用所述第一模板的像素进行所述画面内预测,来生成所述目标预测图像;以及
参考帧内预测单元,其通过在所述参考帧中使用第二模板的像素进行所述画面内预测,来生成所述参考预测图像,所述第二模板与所述参考块邻近并且根据所述解码图像而生成。
14.根据权利要求13所述的图像处理设备,
其中,所述参考帧内预测单元通过在所述参考帧中使用所述第二模板的所述像素进行所述画面内预测而生成所述参考预测图像,来确定预测模式,并且
其中,所述目标帧内预测单元通过在所述目标帧中使用所述第一模板的所述像素在由所述参考帧内预测单元确定的所述预测模式下进行所述画面内预测,来生成所述目标预测图像。
15.根据权利要求13所述的图像处理设备,
其中,所述解码单元将所述二次差信息和指示所述目标帧内预测单元中的预测模式的信息两者进行解码,
其中,所述目标帧内预测单元通过在所述目标帧中使用所述第一模板的所述像素在由所述解码单元解码的信息所指示的所述预测模式下进行所述画面内预测,来生成所述目标预测图像,并且
其中,所述参考帧内预测单元通过在所述参考帧中使用所述第二模板的所述像素在由所述解码单元解码的信息所指示的所述预测模式下进行所述画面内预测来生成所述参考预测图像。
16.根据权利要求13所述的图像处理设备,
其中,所述解码单元将所述二次差信息和指示所述目标帧内预测单元中的第一预测模式的信息两者进行解码,
其中,所述目标帧内预测单元通过在所述目标帧中使用所述第一模板的所述像素在由所述解码单元解码的信息所指示的第一预测模式下进行所述画面内预测,来生成所述目标预测图像,以及
其中,所述参考帧内预测单元通过在所述参考帧中使用所述第二模板的所述像素进行所述画面内预测而生成所述参考预测图像,来确定第二预测模式。
17.根据权利要求11所述的图像处理设备,还包括:
运动预测单元,其通过在所述参考帧中使用所述目标帧中包含的目标块预测所述目标块的运动而允许所述目标块与所述参考帧中包含的参考块对应。
18.根据权利要求17所述的图像处理设备,还包括:
目标帧内模板预测单元,其通过使用与所述目标块对应的第一块在所述目标帧中进行所述画面内预测来生成所述目标预测图像,所述第一块是通过使用第一模板预测所述目标块的运动而计算出的,所述第一模板与所述目标块邻近并且根据解码图像而生成;以及
参考帧内模板预测单元,其通过使用与所述参考块对应的第二块在所述参考帧中进行所述画面内预测来生成所述参考预测图像,所述第二块是通过使用第二模板预测所述参考块的运动而计算出的,所述第二模板与所述参考块邻近并且根据解码图像而生成。
19.根据权利要求17所述的图像处理设备,还包括:
目标帧内运动预测单元,其通过使用与所述目标块对应的第一块在所述目标帧中进行所述画面内预测来生成所述目标预测图像,所述第一块是通过使用由所述解码单元连同所述目标帧的所述二次差一起进行解码的所述目标块的运动向量信息而计算出的;以及
参考帧内运动预测单元,其通过使用与所述参考块对应的第二块在所述参考帧中进行所述画面内预测来生成所述参考预测图像,所述第二块是通过使用由所述解码单元连同所述目标帧的所述二次差一起进行解码的所述参考块的运动向量信息而计算出的。
20.一种图像处理方法,包括:通过图像处理设备,
将被编码的目标帧的二次差信息进行解码;
接收通过在所述目标帧中进行画面内预测生成的目标预测图像和参考帧差信息,所述参考帧差信息是与所述目标帧对应的参考帧的图像和经过在所述参考帧中进行所述画面内预测生成的参考预测图像之间的差;以及
通过将所述解码的二次差信息、所述接收的目标预测图像和所述接收的参考帧差信息相加,来计算所述目标帧的图像。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-105935 | 2009-04-24 | ||
JP2009105935A JP2010258738A (ja) | 2009-04-24 | 2009-04-24 | 画像処理装置および方法、並びにプログラム |
PCT/JP2010/057125 WO2010123054A1 (ja) | 2009-04-24 | 2010-04-22 | 画像処理装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102415098A true CN102415098A (zh) | 2012-04-11 |
CN102415098B CN102415098B (zh) | 2014-11-26 |
Family
ID=43011170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080017896.4A Expired - Fee Related CN102415098B (zh) | 2009-04-24 | 2010-04-22 | 图像处理设备和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20120147960A1 (zh) |
JP (1) | JP2010258738A (zh) |
CN (1) | CN102415098B (zh) |
TW (1) | TW201043043A (zh) |
WO (1) | WO2010123054A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101690253B1 (ko) * | 2010-05-06 | 2016-12-27 | 삼성전자주식회사 | 영상 처리 장치 및 그 방법 |
KR101396754B1 (ko) * | 2010-11-08 | 2014-05-28 | 한국전자통신연구원 | 템플릿 매칭 및 방향 예측을 사용한 비디오 압축 방법 및 장치 |
US9299133B2 (en) * | 2011-01-12 | 2016-03-29 | Mitsubishi Electric Corporation | Image encoding device, image decoding device, image encoding method, and image decoding method for generating a prediction image |
US9787981B2 (en) * | 2011-01-19 | 2017-10-10 | Renesas Electronics Corporation | Image coding device and image decoding device |
KR102209693B1 (ko) | 2011-02-09 | 2021-01-29 | 엘지전자 주식회사 | 영상 부호화 및 복호화 방법과 이를 이용한 장치 |
CN102307078B (zh) * | 2011-08-22 | 2013-08-14 | 株洲南车时代电气股份有限公司 | 一种利用示波器实现mvb和wtb帧数据实时解码的方法 |
GB2494468B (en) * | 2011-09-12 | 2014-01-15 | Canon Kk | Method and device for encoding or decoding information representing prediction modes |
BR112014032227B1 (pt) * | 2012-06-29 | 2023-01-24 | Velos Media International Limited | Dispositivo e método de decodificação |
US20150334417A1 (en) * | 2012-12-18 | 2015-11-19 | Friedrich-Alexander-Universität Erlangen-Nürnberg | Coding a Sequence of Digital Images |
US10104395B2 (en) * | 2013-10-14 | 2018-10-16 | Texas Instruments Incorporated | Intra block copy (IntraBC) cost estimation |
JP6173199B2 (ja) * | 2013-12-09 | 2017-08-02 | オリンパス株式会社 | 画像処理装置、画像処理方法、および撮像装置 |
JP6173198B2 (ja) * | 2013-12-09 | 2017-08-02 | オリンパス株式会社 | 画像処理装置、画像処理方法、および撮像装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0366278A (ja) * | 1989-08-05 | 1991-03-20 | Matsushita Electric Ind Co Ltd | 映像信号の高能率符号化方法 |
US6289052B1 (en) * | 1999-06-07 | 2001-09-11 | Lucent Technologies Inc. | Methods and apparatus for motion estimation using causal templates |
CN1455600A (zh) * | 2003-05-19 | 2003-11-12 | 北京工业大学 | 基于相邻像素预测的帧内预测方法 |
CN1512753A (zh) * | 2002-10-11 | 2004-07-14 | 株式会社Ntt都科摩 | 视频编码、解码方法、装置和程序 |
JP2007043651A (ja) * | 2005-07-05 | 2007-02-15 | Ntt Docomo Inc | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100703748B1 (ko) * | 2005-01-25 | 2007-04-05 | 삼성전자주식회사 | 다 계층 기반의 비디오 프레임을 효율적으로 예측하는 방법및 그 방법을 이용한 비디오 코딩 방법 및 장치 |
KR100725407B1 (ko) * | 2005-07-21 | 2007-06-07 | 삼성전자주식회사 | 방향적 인트라 잔차 예측에 따라 비디오 신호를 인코딩하고디코딩하는 방법 및 장치 |
KR100791299B1 (ko) * | 2006-04-11 | 2008-01-04 | 삼성전자주식회사 | 다 계층 기반의 비디오 인코딩 방법 및 장치 |
US8238442B2 (en) * | 2006-08-25 | 2012-08-07 | Sony Computer Entertainment Inc. | Methods and apparatus for concealing corrupted blocks of video data |
KR101365574B1 (ko) * | 2007-01-29 | 2014-02-20 | 삼성전자주식회사 | 영상 부호화 방법 및 장치, 복호화 방법 및 장치 |
KR101365575B1 (ko) * | 2007-02-05 | 2014-02-25 | 삼성전자주식회사 | 인터 예측 부호화, 복호화 방법 및 장치 |
-
2009
- 2009-04-24 JP JP2009105935A patent/JP2010258738A/ja not_active Withdrawn
-
2010
- 2010-04-22 WO PCT/JP2010/057125 patent/WO2010123054A1/ja active Application Filing
- 2010-04-22 US US13/265,256 patent/US20120147960A1/en not_active Abandoned
- 2010-04-22 CN CN201080017896.4A patent/CN102415098B/zh not_active Expired - Fee Related
- 2010-04-23 TW TW99112887A patent/TW201043043A/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0366278A (ja) * | 1989-08-05 | 1991-03-20 | Matsushita Electric Ind Co Ltd | 映像信号の高能率符号化方法 |
US6289052B1 (en) * | 1999-06-07 | 2001-09-11 | Lucent Technologies Inc. | Methods and apparatus for motion estimation using causal templates |
CN1512753A (zh) * | 2002-10-11 | 2004-07-14 | 株式会社Ntt都科摩 | 视频编码、解码方法、装置和程序 |
CN1455600A (zh) * | 2003-05-19 | 2003-11-12 | 北京工业大学 | 基于相邻像素预测的帧内预测方法 |
JP2007043651A (ja) * | 2005-07-05 | 2007-02-15 | Ntt Docomo Inc | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2010258738A (ja) | 2010-11-11 |
CN102415098B (zh) | 2014-11-26 |
TW201043043A (en) | 2010-12-01 |
WO2010123054A1 (ja) | 2010-10-28 |
US20120147960A1 (en) | 2012-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102415098B (zh) | 图像处理设备和方法 | |
CN102396230B (zh) | 图像处理设备和方法 | |
US9294768B2 (en) | Moving-picture encoding apparatus and moving-picture decoding apparatus | |
CN102577388B (zh) | 图像处理装置和方法 | |
JP6120707B2 (ja) | 動画像符号化装置およびその動作方法 | |
CN102422643A (zh) | 图像处理装置、方法和程序 | |
CN102804779A (zh) | 图像处理装置和方法 | |
US20110032991A1 (en) | Image encoding device, image decoding device, image encoding method, and image decoding method | |
WO2010001917A1 (ja) | 画像処理装置および方法 | |
CN102077594A (zh) | 图像处理设备和方法及程序 | |
CN105723707A (zh) | 用于视频译码的色彩残差预测 | |
CN102474618A (zh) | 图像处理装置和方法 | |
KR20200004467A (ko) | 휘도 샘플을 이용한 색차 블록의 화면 내 예측 방법 및 이러한 방법을 사용하는 장치 | |
KR20200021563A (ko) | 움직임 벡터 리스트 설정 방법 및 이러한 방법을 사용하는 장치 | |
CN102160379A (zh) | 图像处理装置和图像处理方法 | |
CN102160381A (zh) | 图像处理设备和方法 | |
CN102577390A (zh) | 图像处理设备和方法 | |
CN103503453A (zh) | 编码装置和编码方法、以及解码装置和解码方法 | |
CN102318346A (zh) | 图像处理设备和方法 | |
CN102714735A (zh) | 图像处理设备和方法 | |
JP2022523851A (ja) | 異なるクロマフォーマットを使用したフィルタ処理されていない参照サンプルを用いたビデオコーディング | |
CN102696227A (zh) | 图像处理设备和方法 | |
WO2010123055A1 (ja) | 画像処理装置および方法 | |
CN102396231A (zh) | 图像处理设备及方法 | |
CN102986226A (zh) | 图像处理装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141126 Termination date: 20150422 |
|
EXPY | Termination of patent right or utility model |