CN102396232A - 图像处理装置和方法 - Google Patents
图像处理装置和方法 Download PDFInfo
- Publication number
- CN102396232A CN102396232A CN2010800174713A CN201080017471A CN102396232A CN 102396232 A CN102396232 A CN 102396232A CN 2010800174713 A CN2010800174713 A CN 2010800174713A CN 201080017471 A CN201080017471 A CN 201080017471A CN 102396232 A CN102396232 A CN 102396232A
- Authority
- CN
- China
- Prior art keywords
- prediction
- unit
- motion vector
- object piece
- situation
- 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.)
- Pending
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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及可以抑制附带二次预测的预测效率降低的图像处理装置和方法。相邻像素预测单元83通过使用对象相邻像素与参考相邻像素之间的差分执行针对对象块的帧内预测,通过残差信号生成预测图像,以及把预测图像输出到二次残差生成单元82。二次残差生成单元82把作为一次残差与通过残差信号的预测图像之间差分的二次残差输出到开关84。开关84只有在运动向量精度确定单元77确定从运动预测和补偿单元75提供的运动向量信息表示整数像素精度的情形中选择二次残差生成单元82侧的一个端子以及把从二次残差生成单元82提供的二次残差输出到运动预测和补偿单元75。可以把本发明应用于例如通过H.264/AVC方法执行编码的图像编码装置。
Description
技术领域
本发明涉及图像处理装置和方法,更具体而言,涉及可以抑制附带二次预测的预测效率降低的图像处理装置和方法。
背景技术
近年来,以数字形式处理图像信息,且广泛使用如下装置:该装置通过采用如下编码方法压缩和编码图像,以求信息的高效率传输和存储,该编码方法使用图像信息的固有冗余执行使用诸如离散余弦变换(DCT)的正交变换以及运动补偿的压缩。作为这种编码方法,例如,MPEG(活动图片专家组)等可以作为示范。
特别地,MPEG 2(ISO/IEC 13818-2)被定义成通用图像编码方法,以及是涵盖高清晰度图像和标准清晰度图像以及逐行扫描图像和隔行扫描图像这二者的标准。例如,已在顾客使用和专业使用的各种应用中广泛使用MPEG 2。例如,在具有720×480像素的标准分辨率的隔行扫描图像的情形中,可以通过使用MPEG 2压缩方法分配4至8Mbps的代码量(比特速率)。另外,例如,在具有1920×1088像素的高分辨率的隔行扫描图像的情形中,可以通过使用MPEG 2压缩方法分配18至22Mbps的代码量。以此方式,可以实现高压缩比和良好图像质量。
MPEG 2主要意在适合广播的高图像质量编码,但是不对应于比MPEG 1中的代码量(比特速率)低的代码量,它是压缩比高于MPEG 1中压缩比的编码方法。由于移动终端的普及,认为对于此编码方法的需求增加,据此进行了MPEG 4编码方法的标准化。针对图像编码方法,在1998年12月作为ISO/IEC 14496-2通过了其标准,作为国际标准。
此外,近年来,最初旨在电视会议图像编码的称为H.26L(ITU-TQ6/16VCEG)的标准的标准化已在进展。已知H.26L虽然相比于相关领域中的所谓MPEG 2或MPEG 4而言需要用于编码和解码的大运算量但实现了相对较高的编码效率。另外,近年来,对于MPEG 4的运用,已基于H.26L,作为增强压缩视频编码的联合模型进行了采取H.26L不支持的功能并实现高编码效率的标准化。作为标准化的日程,在2003年3月作出了称为H.264和MPEG-4 Part 10(高级视频编码,在下文中,称作H.264/AVC)的国际标准。
此外,作为其扩展,在2005年2月完成了包括量化矩阵的FRExt(保真度范围扩展),MPEG-2定义的8×8DCT,对于商业使用有必要的被称为RGB、4∶2∶2以及4∶4∶4的编码工具的标准化。按此方式,通过使用H.264/AVC实现了能够良好地表示活动图片中包括的影片噪声的编码方法,并用在包括蓝光盘(商标)的各种应用中。
然而,近年来,对于以更高的压缩比进行编码的需求已增加,其中压缩具有基本上4000×2000像素的图像,其像素是高视觉图像的四倍。另外,在诸如因特网的受限传输容量的环境中增加了对于以更高的压缩比进行编码以便传输高视觉图像的需求。因此,在隶属于ITU-T的VCEG(视频编码专家组)中,已做出对编码效率改进的研究。
例如,对于MPEG-2方法,执行通过线性插值过程的1/2像素精度的运动预测和压缩过程。另一方面,对于H.264/AVC方法,执行使用6抽头的FIR(有限冲激响应滤波器)的1/4像素精度的预测和补偿过程。
即,对于H.264/AVC方法,通过6抽头的FIR执行1/2像素精度的插值过程,通过线性插值执行1/4像素精度的插值过程。
针对该1/4像素精度的预测和补偿过程,近年来,已对H.264/AVC方法效率的改进做出研究。因此,作为一个编码方法,已在NPL 1中提出1/8像素精度的运动预测。
即,在NPL 1中,通过滤波器[-3,12,-39,158,158,-39,12,-3]/256执行1/2像素精度的插值过程。另外,通过滤波器[-3,12,-37,229,71,-21,6,-1]/256执行1/4像素精度的插值过程,通过线性插值执行1/8像素精度的插值过程。
如上所述,执行使用像素精度较高的插值过程的运动预测,以使得特别是对于具有高分辨率的纹理以及相对较慢的运动序列,改进预测精度且从而可以实现编码效率的改进。
然而,另外,对于NPL 2,已提出用于进一步改进帧间预测中的编码效率的二次预测方法。接下来,将参照图1描述二次预测方法。
在图1中示例的实例中,示出了对象帧和参考帧,在对象帧中示出了对象块A。
对于参考帧和对象帧,在对于对象块A获得运动向量mv(mv_x,mv_y)的情形中,计算通过把运动向量mv关联到对象块A获得的块与对象块A之间的差分信息(残差)。
对于二次预测方法,计算与对象块A有关的差分信息、以及通过把运动向量mv关联到相邻像素组R获得的相邻像素组R1与和对象块A相邻的相邻像素组R之间的差分信息。
也就是说,根据对象块A的左上坐标(x,y)获得相邻像素组R的每个坐标。另外,根据通过把运动向量mv关联到对象块A获得的块的左上坐标(x+mv_x,y+mv_y)获得相邻像素R1的每个坐标。根据此坐标值,计算相邻像素组的差分信息。
对于二次预测方法,在与按此方式计算的对象块有关的差分信息与和相邻像素有关的差分信息之间执行对于H.264/AVC的帧内预测,根据此帧内预测,生成二次差分信息。对生成的二次差分信息进行正交变换、量化、与压缩图像一起编码并将其发送到解码侧。
引述列表
非专利文献
NPL 1:“Motion compensated prediction with 1/8-pel displacementvector resolution”,VCEG-AD09,ITU-TelecommunicationsStandardization Sector STUDY GROUP Question 6 Video Coding ExpertsGroup(VCEG),2006年10月23-27日
NPL 2:“Second Order Prediction(SOP)in P Slice”,Sijia Chen、Jinpeng Wang、Shangwen Li、以及Lu Yu,VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUPQuestion 6 Video Coding Experts Group(VCEG),2008年7月16-18日
发明内容
技术问题
然而,在应用参照图1描述的二次预测方法的情形中,当运动向量信息表示小数像素精度时,针对相邻像素组的像素值执行线性插值。因此,与二次预测有关的精度降低。
在考虑此情况的情况下做出本发明,目的是抑制附带二次预测的预测效率降低。
解决方案
根据本发明第一方面的图像处理装置包括:二次预测单元,在对象帧中的对象块的运动向量信息的精度是整数像素精度的情形中,用于在和参考块相邻的参考相邻像素与和对象块相邻的对象相邻像素之间的差分信息、与在参考帧中通过运动向量信息与对象块关联的参考块和对象块的差分信息之间执行二次预测过程,以及用于生成二次差分信息;以及编码单元,用于编码二次预测单元生成的二次差分信息。
图像处理装置可以进一步包括:编码效率确定单元,用于在二次预测单元生成的二次差分信息的编码与对象图像的差分信息的编码之间确定哪个编码效率较好,其中,只有在编码效率确定单元确定二次差分信息的编码效率较好的情形中,编码单元编码表明执行二次预测过程的二次预测标志以及二次预测单元生成的二次差分信息。
在竖直方向上对象块的运动向量信息的精度是小数像素精度、以及二次预测过程中的帧内预测模式是竖直预测模式的情形中,二次预测单元可以执行二次预测过程。
在水平方向上对象块的运动向量信息的精度是小数像素精度、以及二次预测过程中的帧内预测模式是水平预测模式的情形中,二次预测单元可以执行二次预测过程。
在竖直方向和水平方向中至少一个上对象块的运动向量信息的精度是小数像素精度、以及二次预测过程中的帧内预测模式是DC预测模式的情形中,二次预测单元可以执行二次预测过程。
二次预测单元可以包括:相邻像素预测单元,用于通过使用对象相邻像素与参考相邻像素之间的差分信息执行预测,以及用于生成针对对象块的帧内预测图像,以及二次差分生成单元,用于通过对相邻像素预测单元生成的帧内预测图像、对象块和参考块之间的差分信息进行差分生成二次差分信息。
根据本发明第一方面的用于处理图像的方法包括步骤:允许图像处理装置在对象帧中对象块的运动向量信息的精度是整数像素精度的情形中,在和参考块相邻的参考相邻像素与和对象块相邻的对象相邻像素之间的差分信息、与在参考帧中通过运动向量信息与对象块关联的参考块和对象块的差分信息之间执行二次预测过程,以及生成二次差分信息;以及编码通过二次预测过程生成的二次差分信息。
根据本发明第二方面的图像处理装置包括:解码单元,用于解码在参考帧中针对对象块检测的运动向量信息、以及编码对象帧中的对象块的图像;
二次预测单元,在解码单元解码的运动向量信息表示整数像素精度的情形中,用于通过使用与在参考帧中通过运动向量信息与对象块关联的参考块相邻的参考相邻像素、与和对象块相邻的对象相邻像素之间的差分信息执行二次预测过程,以及用于生成预测图像;以及
计算单元,用于把根据运动向量信息获得的参考块的图像、二次预测单元生成的预测图像、以及对象块的图像相加,以及用于生成对象块的解码图像。
二次预测单元可以获取解码单元解码以及表明执行二次预测过程的二次预测标志,以及根据二次预测标志执行二次预测过程。
在竖直方向上对象块的运动向量信息的精度是小数像素精度、以及二次预测过程中解码单元解码的帧内预测模式是竖直预测模式的情形中,二次预测单元可以根据二次预测标志执行二次预测过程。
在水平方向上对象块的运动向量信息的精度是小数像素精度、以及二次预测过程中解码单元解码的帧内预测模式是水平预测模式的情形中,二次预测单元可以根据二次预测标志执行二次预测过程。
在竖直方向和水平方向中至少一个上对象块的运动向量信息的精度是小数像素精度、以及二次预测过程中解码单元解码的帧内预测模式是DC预测模式的情形中,二次预测单元根据二次预测标志执行二次预测过程。
根据本发明第二方面的用于处理图像的方法包括步骤:允许图像处理装置解码在参考帧中关于对象块检测的运动向量信息、以及编码对象帧中对象块的图像;在解码的运动向量信息表示整数像素精度的情形中,通过使用与通过在参考帧中通过运动向量信息与对象块关联的参考块相邻的参考相邻像素、与和对象块相邻的对象相邻像素之间的差分信息执行二次预测过程,以及生成预测图像;以及把根据运动向量信息获得的参考块的图像、生成的预测图像、以及对象块的图像相加,以及生成对象块的解码图像。
根据本发明的第一方面,在对象帧中对象块的运动向量信息的精度是整数像素精度的情形中,在和参考块相邻的参考相邻像素与和对象块相邻的对象相邻像素之间的差分信息、与在参考帧中可通过运动向量信息与对象块关联的参考块和对象块的差分信息之间执行二次预测过程,以及生成二次差分信息。另外,编码通过二次预测过程生成的二次差分信息。
另外,根据本发明的第二方面,解码在参考帧中关于对象块检测的运动向量信息、以及在编码对象帧中的对象块的图像;在解码的运动向量信息表示整数像素精度的情形中,通过使用与在参考帧通过运动向量信息与对象块关联的参考块相邻的参考相邻像素、与和对象块相邻的对象相邻像素之间的差分信息执行二次预测过程,以及生成预测图像。另外,把根据运动向量信息获得的参考块的图像、生成的预测图像、以及对象块的图像相加,以及生成对象块的解码图像。
另外,上述图像处理装置中的每个可以是独立装置,或者可以是构建图像解码装置的内部块或者一个编码装置。
有益效果
根据本发明的第一方面,可以编码图像。另外,根据本发明的第一方面,可以抑制附带二次预测的预测效率降低。
根据本发明的第二方面,可以解码图像。另外,根据本发明的第二方面,可以抑制附带二次预测的预测效率降低。
附图说明
图1是示例了对于帧间预测的二次预测方法的图。
图2是示例了应用本发明的图像编码装置的实施例配置的方框图。
图3是示例了可变块尺寸运动预测和补偿过程的方框图。
图4是示例了1/4像素精度的运动预测和补偿过程的图。
图5是示例了多参考帧的运动预测和补偿方法的图。
图6是示例了创建运动向量信息的方法的实例的图。
图7是示例了图2中二次预测单元的配置示例的方框图。
图8是示例了对于二次预测由于小数像素精度的运动向量导致的预测效率的降低的图。
图9是示例了对于二次预测由于小数像素精度的运动向量导致的预测效率的降低的图。
图10是示例了图2中图像编码装置的编码过程的流程图。
图11是示例了图10中步骤S21的预测过程的流程图。
图12是示例了16×16个像素的帧内预测模式的情形中的过程序列的图。
图13是示例了亮度信号的4×4个像素的帧内预测模式的种类的图。
图14是示例了亮度信号的4×4个像素的帧内预测模式的种类的图。
图15是示例了4×4个像素的帧内预测方向的图。
图16是示例了4×4个像素的帧内预测的图。
图17是示例了亮度信号的4×4个像素的帧内预测模式的编码的图。
图18是示例了亮度信号的8×8个像素的帧内预测模式的种类的图。
图19是示例了亮度信号的8×8个像素的帧内预测模式的种类的图。
图20是示例了亮度信号的16×16个像素的帧内预测模式的种类的图。
图21是示例了亮度信号的16×16个像素的帧内预测模式的种类的图。
图22是示例了16×16个像素的帧内预测的图。
图23是示例了色差信号的帧内预测模式的种类的图。
图24是示例了图11中步骤S31的帧内预测过程的流程图。
图25是示例了图11中步骤S32的帧间运动预测过程的流程图。
图26是示例了图25中步骤S52的运动预测和补偿过程的流程图。
图27是示例了应用本发明的图像解码装置的实施例的方框图。
图28是示例了图27中二次预测单元的配置实例的方框图。
图29是示例了图27中的图像解码装置的解码过程的流程图。
图30是示例了图29中步骤S138的预测过程的流程图。
图31是示例了图30中步骤S180的二次帧间预测过程的流程图。
图32是示例了计算机硬件的配置示例的方框图。
具体实施方式
在下文中,将参考附图来描述本发明的实施例。
图像编码设备的配置示例
图2示出了作为应用本发明的图像处理设备的图像编码设备的一个实施例的配置。
图像编码设备51利用H.264和MPEG-4第10部分(高级视频编码)(下文中称作H.264/AVC)方法对图像进行压缩和编码。
在图2所示的示例中,图像编码设备51包括模拟/数字转换单元61、屏幕排序缓存器62、计算单元63、正交变换单元64、量化单元65、可逆编码单元66、存储缓存器67、逆量化单元68、逆正交变换单元69、计算单元70、去块滤波器71、帧存储器72、开关73、帧内预测单元74、运动补偿单元75、二次预测单元76、运动向量精度确定单元77、预测图像选择单元78和速率控制单元79。
模拟/数字转换单元61对输入图像进行模拟/数字转换,并将转换后的图像输出到屏幕排序缓存器62来存储该转换后的图像。屏幕排序缓存器62根据图片组(GOP,Group Of Picture)将存储的显示顺序的帧的图像排序为具有编码的帧的顺序。
计算单元63从自屏幕排序缓存器62读出的图像中减去从帧内预测单元74提供的预测图像或从运动预测和补偿单元75提供的预测图像(预测图像是由预测图像选择单元78所选择的),并将其差分信息输出到正交变换单元64。正交变换单元64关于从计算单元63提供的差分信息执行正交变换(诸如离散余弦变换或卡南洛伊夫(Karhunen-Loeve)变换),并输出其变换系数。量化单元65对从正交变换单元64输出的变换系数进行量化。
量化变换系数是来自量化单元65的输出,它被输入到可逆编码单元66,并经受诸如可变长度编码和算术编码之类的可逆编码并且被压缩。
可逆编码单元66从帧内预测单元74获得表示帧内预测的信息,并且从运动预测和补偿单元75获得表示帧间预测的信息等。此外,表示帧内预测的信息和表示帧间预测的信息分别称作帧内预测模式信息和帧间预测模式信息。
可逆编码单元66对量化的变换系数进行编码,并对表示帧内预测的信息或表示帧间预测模式的信息等进行编码,并且将编码信息设置为压缩图像中的头部信息的部分。可逆编码单元66将编码数据提供给存储缓存器67以将其存储。
例如,在可逆编码单元66中,执行可变长度编码或算术编码。关于可变长度编码,可以例举H.264/AVC方法中定义的上下文自适应可变长度编码(CAVLC,Context-Adaptive Variable Length Coding)等。关于算术编码,可以例举用上下文自适应二进制算术编码(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读出的B图片和P图片作为帧间预测(也称作帧间处理)图像提供给运动预测和补偿单元75。
帧内预测单元74基于从屏幕排序缓存器62读出的帧内预测图像和从帧存储器72提供的参考图像,来执行成为候选的所有帧内预测模式的帧内预测处理,并生成预测图像。
此时,帧内预测单元74关于成为候选的所有帧内预测模式计算成本函数值,并选择分配有所计算的成本函数值的最小值的帧内预测模式作为最佳帧内预测模式。
帧内预测单元74将最佳帧内预测模式下生成的预测图像及其成本函数值提供给预测图像选择单元78。在由预测图像选择单元78选择最佳帧内预测模式下生成的预测图像的情况下,帧内预测单元74将表示最佳帧内预测模式的信息提供给可逆编码单元66。可逆编码单元66对该信息进行编码,并将其设置为压缩图像中的头部信息的部分。
运动预测和补偿单元75执行所有帧间预测模式的运动预测和补偿处理。即,在运动预测和补偿单元75中,提供了从屏幕排序缓存器62读出并被帧间处理的图像,并通过开关73提供了来自帧存储器72的参考图像。运动预测和补偿单元75基于经帧间处理的图像和参考图像来检测成为候选的所有帧间预测模式的运动向量,基于该运动向量对参考图像执行补偿处理,并生成预测图像。
运动预测和补偿单元75将检测到的运动向量信息、经帧间处理的图像的信息(地址等)以及一次残差(该一次残差是经帧间处理的图像与所生成的预测图像之间的差)提供给二次预测单元76。此外,运动预测和补偿单元75还将检测到的运动向量信息提供给运动向量精度确定单元77。
二次预测单元76基于从运动预测和补偿单元75提供的运动向量信息和经帧间处理的图像的信息,从帧存储器72读出与要帧间处理的对象的对象块相邻的对象相邻像素。此外,二次预测单元76从帧存储器72读出与参考块相邻的参考相邻像素,参考块能够通过运动向量信息与对象块相关联。
二次预测单元76根据参考相邻确定单元77的确定结果来执行二次预测。这里,二次预测是在对象相邻像素和参考相邻像素的差与一次残差之间执行预测、并生成二次差分信息(二次残差)的处理。二次预测单元76将通过二次预测处理生成的二次残差输出给运动预测和补偿单元75。此外,二次预测单元76即使在参考相邻确定单元77的确定结果和二次预测的一种帧内预测模式处于特定组合的情况下也执行二次预测处理,生成二次残差,并将其输出给运动预测和补偿单元75。
运动向量精度确定单元77确定来自运动预测和补偿单元75的运动向量信息的精度是整数像素精度还是小数像素精度,并将确定结果提供给二次预测单元76。
运动预测和补偿单元75通过与来自二次预测单元76的二次残差的比较来确定二次预测模式中最佳的帧内预测模式。此外,运动预测和补偿单元75对二次残差和一次残差进行比较,并确定是否执行二次预测处理(即,对二次残差进行编码,或者对一次残差进行编码)。此外,该处理是关于成为候选的所有帧间预测模式而执行的。
此外,运动预测和补偿单元75关于成为候选的所有帧间预测模式计算成本函数值。此时,使用了针对一次残差和二次残差之间的每个帧间预测模式所确定的残差,并确定了成本函数值。运动预测和补偿单元75确定分配有所计算的成本函数值之中的最小值的预测模式作为最佳预测模式。
运动预测和补偿单元75将在最佳帧间预测模式下生成的预测图像(或者经帧间处理图像与二次残差之间的差)及其成本函数提供给预测图像选择单元78。在由预测图像选择单元78选择在最佳帧间预测模式下生成的预测图像的情况下,运动预测和补偿单元75将表示最佳帧间预测模式的信息输出给可逆编码单元66。
此时,运动向量信息的信息、参考帧的信息、指示执行二次预测的二次预测标记、以及二次预测中的帧内预测模式的信息等被输出到可逆编码单元66。可逆编码单元66关于来自运动预测和补偿单元75的信息执行诸如可变长度编码和算术编码之类的可逆编码处理,并将处理后的信息插入到压缩图像的头部部分中。
预测图像选择单元78基于从帧内预测单元74或运动预测和补偿单元75输出的每个成本函数值,来确定最佳帧内预测模式和最佳帧间预测模式之间的最佳预测模式。预测图像选择单元78选择所确定的最佳预测模式的预测图像,并将其提供给计算单元63和70。此时,预测图像选择单元78将预测图像的选择信息提供给帧内预测单元74或运动预测和补偿单元75。
速率控制单元79基于存储在存储缓存器67中的压缩图像来控制量化单元65的量化操作速率,以不发生上溢或下溢。
H.264/AVC方法的描述
图3是示出关于H.264/AVC方法的运动预测补偿的块尺寸的示例的图。在H.264/AVC方法中,使得块尺寸为可变的,并执行运动预测补偿。
在图3的上端,从左侧依次示出了通过16×16像素、16×8像素、8×16像素和8×8像素的分割区划分的宏块16×16像素。此外,在图3的下端,从左侧依次示出了通过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像素而分别得到多条运动向量信息。
图4是示出关于H.264/AVC方法的具有1/4像素精度的预测和补偿处理的图。在H.264/AVC方法中,执行使用6抽头的有限脉冲响应(FIR,Finite Impulse Response)滤波器的、具有1/4像素精度的预测和补偿处理。
在图4所示的示例中,位置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 sum)处理之后,最后执行一次限制函数(Clip)处理。
如以下等式(4)那样,通过线性插值生成位置e1至e3。
[数学公式4]
e1=(A+b+1)>>1
e2=(b+d+1)>>1
e3=(b+c+1)>>1 …(4)
图5示出了图示关于H.264/AVC方法的、多参考帧的运动预测和补偿方法的图。在H.264/AVC方法中,确定了多参考帧的运动预测和补偿方法。
在图5所示的示例中,示出了待编码的对象帧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方法,多个参考帧被存储在存储器中,并且不同的参考帧可以用于一张帧(图片)的参考。即,关于一张图片,每个块可以具有独立的参考帧信息(参考图片编号(ref_id)),例如像块A1参考帧Fn-2,而块A2参考帧Fn-4。
这里,块表示以上参考图3所描述的16×16像素、16×8像素、8×16像素和8×8像素中的任一分割区。关于8×8子块中的参考帧,参考帧应当彼此相同。
关于H.264/AVC方法,当如以上参考图3至图5所述执行运动预测和补偿处理时,生成大量的运动向量信息。当按原样对该信息进行编码时,会导致编码效率的降低。相反地,对于H.264/AVC方法来说,通过图6所示的方法实现了编码信息的量的减少。
图6示出了图示通过H.264/AVC方法生成运动向量信息的方法的图。
在图6所示的示例中,示出了待编码的对象块E(例如,16×16像素)、完成编码的并与对象块E相邻的块A至D。
即,块D在对象块E的左上侧与对象块E相邻,块B在对象块E的上侧与对象块E相邻,块C在对象块E的右上侧与对象块E相邻,以及块A在对象块E的左侧与对象块E相邻。此外,未分割块A至D的事实表示这些块中的每一个是上文中在图3所描述的16×16像素至4×4像素中的任意块。
例如,用mvx来表示关于X(=A、B、C、D和E)的运动向量信息。首先,如以下等式(5),使用与块A、B和C有关的运动向量信息,通过中值预测生成与对象块E有关的预测运动向量信息pmvE。
pmvE=med(mvA,mvB,mvC)…(5)
由于诸如运动向量信息与图片帧的边缘有关、或者尚未被编码等的原因,不可以使用与块C有关的运动向量信息(与块C有关的运动向量信息是不可得的)。在这种情况下,用与块D有关的运动向量信息来替代与块C有关的运动向量信息。
如以下等式(6),通过使用pmvE来生成作为与对象块E有关的运动向量信息而附加至压缩图像的头部部分的数据mvdE。
mvdE=mvE-pmvE…(6)
此外,实际上,运动向量信息在水平方向和竖直方向上的每个分量经受单独的处理。
以这种方式,生成了预测运动向量信息,并将数据mvd(即,运动向量信息和与相邻块相关地生成的预测运动向量信息之间的差)附加至压缩图像的头部部分,使得可减少运动向量信息。
二次预测单元的配置示例
图7示出了图示二次预测单元的详细配置示例的框图。
在图7所示的示例中,二次预测单元76包括一次残差缓存器81、二次残差生成单元82、相邻像素预测单元83和开关84。
一次残差缓存器81存储一次残差,一次残差是生成的预测图像与从运动预测和补偿单元75提供的、并经帧间处理的图像之间的差。
当从相邻像素预测单元83输入利用差分的帧内预测图像(即,残差信号的预测图像)时,二次残差生成单元82从一次残差缓存器81读出对应于该帧内预测图像的一次残差。二次残差生成单元82生成二次残差(即,一次残差和残差信号的预测图像之间的差),并将生成的二次残差输出到开关84。
检测到的运动向量信息和经帧间处理的图像的信息(地址)从运动预测和补偿单元75输入到相邻像素预测单元83。相邻像素预测单元83基于从运动预测和补偿单元75提供的运动向量信息和作为待编码的对象的对象块的信息(地址),从帧存储器72读出与对象块相邻的对象相邻像素。此外,相邻像素预测单元83从帧存储器72读出与参考块相邻的参考相邻像素,该参考块能够通过运动向量信息与对象块相关。相邻像素预测单元83通过利用对象相邻像素和参考相邻像素之间的差,关于对象块进行帧内预测,并利用该差生成帧内图像。利用该差生成的帧内图像(残差信号的预测图像)输出到二次残差生成单元82。
当通过运动向量精度确定单元77确定出从运动预测和补偿单元75提供的运动向量信息表示整数像素精度时,开关84选择在二次残差生成单元82侧的一端,并将从二次残差生成单元82提供的二次残差输出到运动预测和补偿单元75。
另一方面,当通过运动向量精度确定单元77确定出从运动预测和补偿单元75提供的运动向量信息是小数像素精度时,开关84选择另一端以替代二次残差生成单元82侧的一端,并且不输出任何东西。
以这种方式,关于图7中的二次预测单元76,当确定出运动向量信息是小数像素精度时,认为预测效率降低,使得未选择二次残差,即未执行二次预测。
此外,在图7的相邻像素预测单元83中执行帧内预测的电路通常可用于帧内预测单元74。
对具有小数像素精度的运动向量的预测效率的降低的描述
接下来,将参考图8和图9来描述二次预测情况下具有小数像素精度的运动向量的预测效率的降低。
在图8和图9所示的示例中,示出了包括4×4像素的对象块E、在对象块E的上侧与对象块E相邻的相邻像素A、B、C和D,作为竖直预测的示例。
在相邻像素A、B、C和D具有高频带分量并且在块E中在由箭头H所指示的水平方向上也包含高频带分量的情况下,关于对象块E,在帧内预测模式中选择竖直预测模式。即,选择竖直预测模式以保存该高频分量。结果是,通过竖直预测模式的帧内预测保存高频分量,使得实现了相对高的预测效率。
然而,在运动向量信息表示小数像素精度的情况下,还关于相邻像素组的像素值执行线性插值。即,在关于图1所示的参考帧执行NPL 2中所描述的二次预测的情况下,不仅关于参考块,而且关于其相邻像素组执行具有1/4像素精度的插值处理,并由此丢失了由箭头H指示的水平方向上的高频带分量。因此,发生了这样的不匹配:相邻块在水平方向上不包含高频带分量,而对象块E中包含高频带分量,并且相应地,导致了预测效率的降低。
因此,只有在确定出运动向量信息表示整数像素精度的情况下,在二次预测单元76中才执行二次预测(即,选择二次残差)。因此,伴随二次预测的预测效率的降低得到抑制。
此外,在NPL 2中所描述的方法的情况下,需要将与是否要针对每个运动预测块执行二次预测有关的标记连同压缩图像一起传输到解码侧。相反地,根据图2所示的图像编码设备51,在运动向量信息是小数像素精度的情况下,不需要将该标记传输到解码侧。因此,可实现相对高的编码效率。
此外,虽然在描述中描述了根据运动向量信息精度执行二次预测的示例,但是如下文所描述的,可以根据帧内预测模式的种类的组合以及运动向量信息的精度执行二次预测。此外,稍后将在图13和图14中对4×4像素的帧内预测模式的细节进行描述。
如图9所示,在运动向量信息在水平方向上具有小数像素精度的情况下,通过在由箭头H所指示的水平方向上的插值处理,丢失了像素在水平方向上的高频带分量。另一方面,在运动向量信息在竖直方向上具有小数像素精度的情况下,在由箭头V所指示的竖直方向上的插值处理中没有丢失像素在水平方向上的高频带分量。
因此,关于竖直预测模式(模式0:竖直预测模式),由于高频带分量必须在由箭头H所指示的水平方向上,因此运动向量信息需在水平方向上具有整数像素精度。相反地,即使拥有在由箭头V所指示的竖直方向上具有小数像素精度的运动向量信息,也不会丢失水平方向上的高频带分量。即,关于竖直预测模式,当拥有在水平方向上具有整数像素精度的运动向量信息时,即使运动向量在竖直方向上具有小数精度,也可执行二次预测。
此外,关于水平预测模式(模式1:水平预测模式),由于高频带分量必须在由箭头V所指示的竖直方向上,因此运动向量信息需在竖直方向上具有整数像素精度。相反地,即使拥有由箭头H所指示的水平方向上具有小数像素精度的运动向量信息,也不会丢失竖直方向上的高频带分量。即,关于水平预测模式,当拥有在竖直方向具有整数像素精度的运动向量信息时,即使运动向量在水平方向上具有小数精度,也可执行二次预测。
此外,关于DC预测模式(模式2:DC预测模式),该预测方法本身需要相邻像素值的平均值,并且通过预测方法本身丢失了相邻像素所具有的高频带分量。因此,关于DC预测模式,即使由箭头H所指示的水平方向和由箭头V所指示的竖直方向中的至少一个上的运动向量信息表示小数像素精度,也可执行二次预测。
对图像编码设备的编码处理的描述
接下来,将参考图10的流程图来对图2的图像编码设备51的编码处理进行描述。
在步骤S11中,模拟/数字转换单元61对输入图像进行模拟/数字转换。
在步骤S12中,屏幕排序缓存器62存储从模拟/数字转换单元61提供的图像,并执行从每个图片的显示顺序到编码顺序的排序。
在步骤S13中,计算单元63计算步骤S12中被排序的图像和预测图像之间的差。分别地通过预测图像选择单元78,在帧间预测的情况下将预测图像从运动预测和补偿单元75提供给计算单元63,并在帧内预测的情况下将预测图像从帧内预测单元74提供给计算单元63。
在差分数据中,与原始图像数据相比,减少了数据量。因此,与原来压缩图像的情况相比,可压缩数据量。
在步骤S14中,正交变换单元64对从计算单元63提供的差分信息进行正交变换。具体地,正交变换单元64执行诸如离散余弦变换或卡南洛伊夫变换之类的正交变换,并输出其变换系数。在步骤S15中,量化单元65对该变换系数进行量化。在进行该量化时,如下面在步骤S25中所述控制速率。
如上所述被量化的差分信息被如下所述局部地解码。即,在步骤S16中,逆量化单元68利用与量化单元65的特征相对应的特征,对由量化单元65量化的变换系数进行逆量化。在步骤S17中,逆正交变换单元69利用与正交变换单元64的特征相对应的特征,对由逆量化单元68逆量化的变换系数进行逆正交变换。
在步骤S18中,计算单元70将通过预测图像选择单元78输入的预测图像与局部解码的差分信息相加,并生成局部解码图像(与至计算单元63的输入相对应的图像)。在步骤S19中,去块滤波器71对从计算单元70输出的图像进行滤波。以这种方式,去除了块失真。在步骤S20中,帧存储器72存储经滤波图像。此外,帧存储器72还存储从计算单元70提供的并且未被去块滤波器71滤波的图像。
在步骤S21中,帧内预测单元74和运动预测和补偿单元75分别对图像执行预测处理。即,在步骤S21中,帧内预测单元74执行帧内预测模式的帧内预测处理。运动预测和补偿单元75执行帧间预测模式的运动预测和补偿处理。
此时,由运动向量精度确定单元77确定对象块的运动向量信息精度是整数精度还是小数精度,且二次预测单元76根据确定结果执行二次预测,并由此生成二次残差。在运动预测和补偿单元75中,在一次残差和二次残差之间选择具有良好编码效率的残差。
此外,在执行二次预测的情况下,需要将指示执行了二次预测的二次预测标记和指示二次预测中的帧内预测模式的信息传输到解码侧。在以下描述的步骤S22中选择最佳帧间预测模式的预测图像的情况下,将该信息连同最佳帧间预测模式信息一起提供给可逆编码单元66。
下面将参考图11来描述步骤S21中的预测处理的细节,但是通过该处理,分别执行成为候选的所有帧内预测模式中的预测处理,并分别计算成为候选的所有帧内预测模式中的成本函数值。基于计算出的成本函数值来选择最佳帧内预测模式,并将通过最佳帧内预测模式下的帧内预测生成的预测图像及其成本函数值提供给预测图像选择单元78。
此外,通过该处理,分别执行成为候选的所有帧内预测模式中的预测处理,并使用确定的残差,以使得分别计算成为候选的所有帧内预测模式中的成本函数值。基于所计算的成本函数值,在帧间预测模式之间确定最佳帧间预测模式,并将通过最佳帧内预测模式下的帧内预测生成的预测图像及其成本函数值提供给预测图像选择单元78。此外,关于最佳帧间预测模式,在执行二次预测的情况下,将经帧间处理图像和二次残差之间的差提供给预测图像选择单元78。
在步骤S22中,预测图像选择单元78基于从帧内预测单元74及运动预测和补偿单元75输出的各成本函数值,来确定最佳帧内预测模式或者最佳帧间预测模式作为最佳预测模式。此外,预测图像选择单元78选择确定的最佳预测模式的预测图像,并将其提供给计算单元63和70。该预测图像(在执行二次预测情况下的经帧间处理图像和二次差分信息之间的差)用于如上所述的步骤S13和S18中的计算。
此外,将该预测图像的选择信息提供给帧内预测单元74或者运动预测和补偿单元75。在选择最佳帧内预测模式的预测图像的情况下,帧内预测单元74将指示最佳帧内预测模式(即,帧内预测模式)的信息提供给可逆编码单元66。
在选择最佳帧间预测模式的预测图像的情况下,运动预测和补偿单元75将指示最佳帧间预测模式的信息以及与最佳帧间预测模式对应的信息(根据需要)输出给可逆编码单元66。关于与最佳帧间预测模式相对应的信息,可以例举指示执行了二次预测的二次预测标记、指示二次预测中的帧内预测模式的信息和参考帧信息等。
在步骤S23中,可逆编码单元66对从量化单元65输出的量化变换系数进行编码。即,差分图像(在二次预测的情况下为二次差分图像)经受诸如可变长度编码和算术编码之类的可逆编码,并对其进行压缩,此时,对来自帧内预测单元74的帧内预测模式信息和来自运动预测和补偿单元75的与最佳帧间预测模式相对应的信息(该两种信息在上述步骤S22中输入到可逆编码单元66)等进行编码并将它们附加于头部信息。
在步骤S24中,存储缓存器67存储差分图像作为压缩图像。适当地读出存储缓存器67中存储的压缩图像,并通过传输线将其传输至解码侧。
在步骤S25中,速率控制单元79基于存储在存储缓存器67中的压缩图像来控制量化单元65的量化操作速率,以不发生上溢或下溢。
预测处理的描述接下来,将参考图11的流程图来描述图10的步骤S21中的预测处理。
在从屏幕排序缓存器62提供的待处理的对象图像是经帧内处理的块的图像的情况下,从帧存储器72读出要参考的解码图像,并通过开关73将其提供给帧内预测单元74。基于该图像,在步骤S31中,帧内预测单元74对成为候选的所有帧内预测模式中的待处理的对象块的图像进行帧内预测。此外,作为要参考的解码像素,使用了未由去块滤波器71进行去块滤波的像素。
下面将参考图24来描述步骤S31中的帧内预测处理的细节,但是通过该处理,在成为候选的所有帧内预测模式中执行帧内预测,并且分别计算成为候选的所有帧内预测模式中的成本函数值。基于计算的成本函数值来选择最佳帧内预测模式,并将由在最佳帧内预测模式下的帧内预测生成的预测图像及其成本函数值提供给预测图像选择单元78。
在从屏幕排序缓存器62提供的待处理的对象图像是经帧间处理的图像的情况下,从帧存储器72读出要参考的图像,并通过开关73将其提供给运动预测和补偿单元75。基于该图像,在步骤S32中,运动预测和补偿单元75执行帧间运动预测处理。即,运动预测和补偿单元75参考从帧存储器72提供的图像,执行成为候选的所有帧间预测模式中的运动预测处理。
此外,此时,运动向量精度确定单元77确定由运动预测和补偿单元75获得的对象块的运动向量信息精度表示整数像素精度还是小数像素精度。二次预测单元76根据帧内预测模式或运动向量精度的确定结果来执行二次预测。即,二次预测单元76使用对象相邻像素和参考相邻像素之间的差生成对象块的帧内预测图像,并将二次残差(即由运动预测和补偿单元75获得的一次残差和帧内预测图像之间的差)输出给运动预测和补偿单元75。据此,运动预测和补偿单元75在一次残差和二次残差之间确定具有良好编码效率的残差,并在随后的处理中使用所确定的残差。
下面将参考图25来描述步骤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像素的帧内预测模式。
在图12所示的示例中,附于各个块的数字-1到25表示每个块的位流顺序(解码侧的处理顺序)。此外,关于亮度信号,将宏块划分为4×4像素,并执行4×4像素的DCT。仅在帧内16×16预测模式下,如-1块中所示,收集各个块的DC分量并生成4×4矩阵。关于该4×4矩阵,还执行正交变换。
另一方面,关于色差信号,在将宏块划分为4×4像素并执行4×4像素的DCT之后,如数字16和17的块所示,收集各个块的DC分量,并生成2×2矩阵。关于该矩阵,还执行正交变换。
此外,这仅在关于具有高规格(high profile)或者更高规格的对象宏块执行8×8正交变换的情况下可以应用于帧内8×8预测模式。
图13和图14示出了图示九种亮度信号的4×4像素的帧内预测模式(Intra_4×4_pred_mode)。除了表示平均值(DC)预测的模式2之外的八种模式分别对应于图15中的数字0、1、3至8的方向。
下面将参考图16来描述九种Intra_4×4_pred_mode。在图16所示的示例中,像素a至p表示经帧内处理的对象块的像素,像素A至M表示属于相邻块的像素的像素值。即,像素a至p是从屏幕排序缓存器62读出的待处理的对象的图像,且像素值A至M是要参考的并从帧存储器72读出的解码图像的像素值。
在图13和图14所示的各个帧内预测模式的情况下,如下所述,通过使用属于相邻块的像素的像素值A至M生成像素a至p的预测像素值。此外,像素值为“可用”的事实意味着不存在使得像素值与图片帧的边缘相关或者像素值尚未被编码的理由,因此可以使用像素值。相反地,像素值为“不可用”的事实意味着由于像素值与图片帧的边缘相关或者像素值尚未被编码的原因,不可以使用该像素值。
模式0是竖直预测模式,并且仅在像素值A至D为“可用”的情况下应用。在这种情况下,如以下等式(7)那样生成像素a至p的预测像素值。
像素a、e、i和m的预测像素值=A
像素b、f、j和n的预测像素值=B
像素c、g、k和o的预测像素值=C
像素d、h、l和p的预测像素值=D…(7)
模式1是水平预测模式,并且仅在像素值I至L为“可用”的情况下应用。在这种情况下,如以下等式(8)那样生成像素a至p的预测像素值。
像素a、b、c和d的预测像素值=I
像素e、f、g和h的预测像素值=J
像素i、j、k和l的预测像素值=K
像素m、n、o和p的预测像素值=L…(8)
模式2是DC预测模式,并且当所有像素值A、B、C、D、I、J、K和L为“可用”时,如以下等式(9)那样生成预测像素值。
(A+B+C+D+I+J+K+L+4)>>3…(9)
此外,当所有像素值A、B、C和D为“不可用”时,如以下等式(10)那样生成预测像素值。
(I+J+K+L+2)>>2…(10)
此外,当所有像素值I、J、K和L为“不可用”时,如以下等式(11)那样生成预测像素值。
(A+B+C+D+2)>>2…(11)
此外,当所有像素值A、B、C、D、I、J、K和L为“不可用”时,
将128用作预测像素值。
模式3是Diagonal_Down_Left预测模式,并且仅在所有像素值A、B、C、D、I、J、K、L、M为“可用”的情况下应用。在这种情况下,如以下等式(12)那样生成像素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…(12)
模式4是Diagonal_Down_Right预测模式,并且仅在像素值A、B、C、D、I、J、K、L和M为“可用”的情况下应用。在这种情况下,如以下等式(13)那样生成像素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…(13)
模式5是Diagonal_Vertical_Right预测模式,并且仅在像素值A、B、C、D、I、J、K、L和M为“可用”的情况下应用。在这种情况下,如以下等式(14)那样生成像素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…(14)
模式6是Horizontal_Down预测模式,并且仅在像素值A、B、C、D、I、J、K、L和M为“可用”的情况下应用。在这种情况下,如以下等式(15)那样生成像素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…(15)
模式7是Vertical_Left预测模式,并且仅在像素值A、B、C、D、I、J、K、L和M为“可用”的情况下应用。在这种情况下,如以下等式(16)那样生成像素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…(16)
模式8是Horizontal_Up预测模式,并且仅在像素值A、B、C、D、I、J、K、L和M为“可用”的情况下应用。在这种情况下,如以下等式(17)那样生成像素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…(17)
接下来,将参考图17来描述亮度信号的4×4像素的帧内预测模式(Intra_4×4_pred_mode)的编码方法。在图17所示的示例中,示出了包括4×4像素的、成为待编码的对象的对象块C,并示出了与对象块C相邻的相邻块A和B,相邻块A和B各自包括4×4像素。
在这种情况下,认为对象块C中的Intra_4×4_pred_mode与块A和B中的Intra_4×4_pred_mode是高度相关的。当通过利用该相关性来执行如下所述的编码处理时,可实现相对高的编码效率。
即,在图17所示的示例中,分别将块A和B中的Intra_4×4_pred_mode设置为intra_4×4_pred_modeA和intra_4×4_pred_modeB,并通过以下等式(18)来定义MostProbableMode。
MostProbableMode
=Min(Intra_4×4_pred_modeA,Intra_4×4_pred_modeB)…(18)
即,在块A和块B之间,将可分配有相对小的mode_numbe的块设置为MostProbableMode。
在位流中,将称为prev_intra4×4_pred_mode_flag[luma4×4BlkIdx]和rem_intra4×4_pred_mode[luma4×4BlkIdx]的两个值定义为关于对象块C的参数,并且可通过基于由等式(19)表示的伪编码(pseudo-code)的处理,关于对象块C获得Intra4×4PredMode[luma4×4BlkIdx]、Intra_4×4_pred_mode的值。
如果(prev_intra4×4_pred_mode_flag[luma4×4BlkIdx])Intra4×4PredMode[luma4×4BlkIdx]=MostProbableMode否则
如果(rem_intra4×4_pred_mode[luma4×4BlkIdx]<MostProbableMode)
Intra4×4PredMode[luma4×4BlkIdx]=rem_intra4×4_pred_mode[luma4×4BlkIdx]
否则
Intra4×4PredMode[luma4×4BlkIdx]=rem_intra4×4_pred_mode[luma4×4BlkIdx]+1…(19)
接下来,将描述8×8像素的帧内预测模式。图18和图19示出了图示九种亮度信号的8×8像素的帧内预测模式(Intra_8×8_pred_mode)
用p[x,y](0≤x≤7;0≤y≤7)来表示作为对象的8×8块中的像素值,用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]为“可用”的情况下,如以下等式(20)那样计算p′[0,-1],而在p[-1,-1]为“不可用”的情况下,如以下等式(21)那样计算p′[0,-1]。
p′[0,-1]=(p[-1,-1]+2*p[0,-1]+p[1,-1]+2)>>2…(20)
p′[0,-1]=(3*p[0,-1]+p[1,-1]+2)>>2…(21)
如以下等式(22)那样计算p′[x,-1](x=0,…,7)。
p′[x,-1]=(p[x-1,-1]+2*p[x,-1]+p[x+1,-1]+2)>>2…(22)
在p[x,-1](x=8,…,15)为“可用”的情况下,如以下等式(23)那样计算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…(23)
在p[-1,-1]为“可用”的情况下,如以下所述计算p′[-1,-1]。即,在p[0,-1]和p[-1,0]均为可用的情况下,如等式(24)那样计算p′[-1,-1],而在p[-1,0]为“不可用”的情况下,如等式(25)那样计算p′[-1,-1]。此外,在p[0,-1]为“不可用”的情况下,如等式(26)那样计算p′[-1,-1]。
p′[-1,-1]=(p[0,-1]+2*p[-1,-1]+p[-1,0]+2)>>2…(24)
p′[-1,-1]=(3*p[-1,-1]+p[0,-1]+2)>>2…(25)
p′[-1,-1]=(3*p[-1,-1]+p[-1,0]+2)>>2…(26)
在p[-1,y](y=0,…,7)为“可用”的情况下,如以下所述计算p′[-1,y](y=0,…,7)。即,首先,在p[-1,-1]为“可用”的情况下,如以下等式(27)那样计算p′[-1,0],而在p[-1,-1]为“不可用”的情况下,如以下等式(28)那样计算p′[-1,0]。
p′[-1,0]=(p[-1,-1]+2*p[-1,0]+p[-1,1]+2)>>2…(27)
p′[-1,0]=(3*p[-1,0]+p[-1,1]+2)>>2…(28)
此外,如以下等式(29)那样计算p′[-1,y](y=1,…,6),并且如等式(30)那样计算p′[-1,7]。
p[-1,y]=(p[-1,y-1]+2*p[-1,y]+p[-1,y+1]+2)>>2…(29)
p′[-1,7]=(p[-1,6]+3*p[-1,7]+2)>>2…(30)
通过使用如上所述计算出的p′,如下所述生成图18和图19中所示的各个帧内预测模式中的预测值。
模式0是竖直预测模式,并且仅在p[x,-1](x=0,…,7)为“可用”的情况下应用。如以下等式(31)那样生成预测值pred8×8L[x,y]。
pred8×8L[x,y]=p′[x,-1]x,y=0,…,7…(31)
模式1是水平预测模式,并且仅在p[-1,y](y=0,…,7)为“可用”的情况下应用。如以下等式(32)那样生成预测值pred8×8L[x,y]。
pred8×8L[x,y]=p′[-1,y]x,y=0,…,7…(32)
模式2是DC预测模式,如下所述生成预测值pred8×8L[x,y]。即,在p[x,-1](x=0,…,7)和p[-1,y](y=0,…,7)均为“可用”的情况下,如以下等式(33)那样生成预测值pred8×8L[x,y]。
[数学公式5]
在p[x,-1](x=0,…,7)为“可用”、但p[-1,y](y=0,…,7)为“不可用”的情况下,如以下等式(34)那样生成预测值pred8×8L[x,y]。
[数学公式6]
在p[x,-1](x=0,…,7)为“可用”、但p[-1,y](y=0,…,7)为“不可用”的情况下,如以下等式(35)那样生成预测值pred8×8L[x,y]。
[数学公式7]
在p[x,-1](x=0,…,7)和p[-1,y](y=0,…,7)均为“不可用”的情况下,如以下等式(36)那样生成预测值pred8×8L[x,y]。
pred8×8L[x,y]=128…(36)
然而,等式(36)示出了8位输入的情况。
模式3是Diagonal_Down_Left_prediction(对角线_下_左_预测)模式,如下所述生成预测值pred8×8L[x,y]。即,在p[x,-1],x=0,…,15为“可用”的情况下应用Diagonal_Down_Left_prediction模式,并且在x=7且y=7的情况下如以下等式(37)那样生成预测像素值,而在其它情况下如以下等式(38)那样生成预测像素值。
pred8×8L[x,y]=(p′[14,-1]+3*p[15,-1]+2)>>2…(37)
red8×8L[x,y]=(p′[x+y,-1]+2*p′[x+y+1,-1]+p′[x+y+2,-1]+2)>>2…(38)
模式4是Diagonal_Down_Right_prediction模式,如下所述生成预测值pred8×8L[x,y]。即,仅在p[x,-1],x=0,…,7和p[-1,y],y=0,…,7为“可用”的情况下应用Diagonal_Down_Right_prediction模式,并且在x>y的情况下如以下等式(39)那样生成预测像素值,而在x<y的情况下如以下等式(40)那样生成预测像素值。此外,在x=y的情况下,如以下等式(41)那样生成预测像素值。
pred8×8L[x,y]=(p′[x-y-2,-1]+2*p′[x-y-1,-1]+p′[x-y,-1]+2)>>2…(39)
pred8×8L[x,y]=(p′[-1,y-x-2]+2*p′[-1,y-x-1]+p′[-1,y-x]+2)>>2…(40)
pred8×8L[x,y]=(p′[0,-1]+2*p′[-1,-1]+p′[-1,0]+2)>>2…(41)
模式5是Vertical_Right_prediction模式,如下所述生成预测值pred8×8L[x,y]。即,仅在p[x,-1],x=0,…,7和p[-1,y],y=-1,…,7为“可用”的情况下应用Vertical_Right_prediction模式。这里,如以下等式(42)那样定义zVR。
zVR=2*x-y…(42)
此时,在zVR为0、2、4、6、8、10、12和14的情况下,如以下等式(43)那样生成像素预测值,而在zVR为1、3、5、7、9、11和13的情况下,如以下等式(44)那样生成像素预测值。
pred8×8L[x,y]=(p′[x-(y>>1)-1,-1]+p′[x-(y>>1),-1]+1)>>1…(43)
pred8×8L[x,y]=(p′[x-(y>>1)-2,-1]+2*p′[x-(y>>1)-1,-1]+p′[x-(y>>1),-1]+2)>>2…(44)
此外,在zVR为-1的情况下,如以下等式(45)那样生成像素预测值。在其它情况下,即,在zVR为-2、-3、-4、-5、-6和-7的情况下,如以下等式(46)那样生成像素预测值。
pred8×8L[x,y]=(p′[-1,0]+2*p′[-1,-1]+p′[0,-1]+2)>>2…(45)
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…(46)
模式6是Horizontal_Down_prediction模式,如下所述生成预测值pred8×8L[x,y]。即,仅在p[x,-1],x=0,…,7和p[-1,y],y=-1,…,7为“可用”的情况下应用Horizontal_Down_prediction模式。这里,如以下等式(47)那样定义zVR。
zHD=2*y-x…(47)
此时,在zHD为0、2、4、6、8、10、12和14的情况下,如以下等式(48)那样生成预测像素值,而在zHD为1、3、5、7、9、11和13的情况下,如以下等式(49)那样生成预测像素值。
pred8×8L[x,y]=(p′[-1,y-(x>>1)-1]+p′[-1,y-(x>>1)+1]>>1…(48)
pred8×8L[x,y]=(p′[-1,y-(x>>1)-2]+2*p′[-1,y-(x>>1)-1]+p′[-1,y-(x>>1)]+2)>>2…(49)
此外,在zHD为-1的情况下,如以下等式(50)那样生成预测像素值,并且zHD具有其他值,即-2、-3、-4、-5、-6和-7,如以下等式(51)那样生成预测像素值。
pred8×8L[x,y]=(p′[-1,0]+2*p[-1,-1]+p′[0,-1]+2)>>2…(50)
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…(51)
模式7是Vertical_Left_prediction模式,如下所述生成预测值pred8×8L[x,y]。即,仅在p[x,-1],x=0,…,15为“可用”的情况下应用Vertical_Left_prediction模式,并且在y=0、2、4和6的情况下,如以下等式(52)那样生成预测像素值,而在其它情况下(即,y=1、3、5和7),如以下等式(53)那样生成预测像素值。
pred8×8L[x,y]=(p′[x+(y>>1),-1]+p′[x+(y>>1)+1,-1]+1)>>1…(52)
pred8×8L[x,y]=(p′[x+(y>>1),-1]+2*p′[x+(y>>1)+1,-1]+p′[x+(y>>1)+2,-1]+2)>>2…(53)
模式8是Horizontal_Up_prediction模式,如下所述生成预测值pred8×8L[x,y]。即,仅在p[-1,y],y=0,…,7为“可用”的情况下应用Horizontal_Up_prediction模式。在以下描述中,如等式(54)那样定义zHU。
zHU=x+2*y…(54)
在zHU的值为0、2、4、6、8、10和12的情况下,如以下等式(55)那样生成预测像素值,而在zHU的值为1、3、5、7、9和11的情况下,如以下等式(56)那样生成预测像素值。
pred8×8L[x,y]=(p′[-1,y+(x>>1)]+p′[-1,y+(x>>1)+1]+1)>>1…(55)
pred8×8L[x,y]=(p′[-1,y+(x>>1)]…(56)
此外,在zHU的值为13的情况下,如以下等式(57)那样生成预测像素值,而在其它情况下,即,在zHU的值大于13的情况下,如以下等式(58)那样生成预测像素值。
pred8×8L[x,y]=(p′[-1,6]+3*p′[-1,7]+2)>>2…(57)
pred8×8L[x,y]=p′[-1,7]…(58)
接下来,将描述16×16像素的帧内预测模式。图20和图21示出了图示四种亮度信号的16×16像素的帧内预测模式(Intra_16×16_pred_mode)的图。
将参考图22来描述四种帧内预测模式。在图22所示的示例中,示出了经帧内处理的对象宏块A,并且P(x,y);x,y=-1,0,…,15表示与对象宏块A相邻的像素的像素值。
模式0是竖直预测模式,并且仅在P(x,-1);x,y=-1,0,…,15为“可用”的情况下应用。在这种情况下,如以下等式(59)那样生成对象宏块A的各个像素的预测像素值Pred(x,y)。
Pred(x,y)=P(x,-1);x,y=0,…,15…(59)
模式1是水平预测模式,并且仅在P(-1,y);x,y=-1,0,…,15为“可用”的情况下应用。在这种情况下,如以下等式(60)那样生成对象宏块A的各个像素的预测像素值Pred(x,y)。
Pred(x,y)=P(-1,y);x,y=0,…,15…(60)
模式2是DC预测模式,并且在P(x,-1)和P(-1,y);x,y=-1,0,…,15全部都为“可用”的情况下,如以下等式(61)那样生成对象宏块A的各个像素的预测像素值Pred(x,y)。
[数学公式8]
其中,x,y=0,…,15…(61)
此外,在P(x,-1);x,y=-1,0,…,15为“不可用”的情况下,如以下等式(62)那样生成对象宏块A的各个像素的预测像素值Pred(x,y)。
[数学公式9]
此外,在P(-1,y);x,y=-1,0,…,15为“不可用”的情况下,如以下等式(63)那样生成对象宏块A的各个像素的预测像素值Pred(x,y)。
[数学公式10]
此外,在P(x,-1)和P(-1,y);x,y=-1,0,…,15全部都为“不可用”的情况下,使用128作为预测像素值。
模式3是平面预测(Plane Prediction)模式,并且仅在P(x,-1)和P(-1,y);x,y=-1,0,…,15全部都为“可用”的情况下应用。在这种情况下,如以下等式(64)那样生成对象宏块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
接下来,将对关于色差信号的帧内预测模式进行描述。图23示出了图示四种色差信号的帧内预测模式(Intra_chroma_pred_mode)的图。色差信号的帧内预测模式可以与亮度信号的帧内预测模式无关地设置。关于色差信号的帧内预测模式符合上述亮度信号的16×16像素的帧内预测模式。
然而,虽然亮度信号的16×16像素的帧内预测模式使用16×16像素的块作为对象,但是关于色差信号的帧内预测模式使用8×8像素的块作为对象。此外,如图20至23所示,在该两种预测模式中的模式编号没有相互对应。
这里,定义符合在上文中参考图22所描述的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全部都为“可用”的情况下,如以下等式(65)那样生成对象宏块A的各个像素的预测像素值Pred(x,y)。
[数学公式12]
其中,x,y=0,…,7…(65)
此外,在P(-1,y);x,y=-1,0,…,7为“可用”的情况下,如以下等式(66)那样生成对象宏块A的各个像素的预测像素值Pred(x,y)。
[数学公式13]
此外,在P(x,-1);x,y=-1,0,…,7为“不可用”的情况下,如以下等式(67)那样生成对象宏块A的各个像素的预测像素值Pred(x,y)。
[数学公式14]
模式1是水平预测模式,并且在P(-1,y);x,y=-1,0,…,7为“可用”的情况下应用。在这种情况下,如以下等式(68)那样生成对象宏块A的各个像素的预测像素值Pred(x,y)。
Pred(x,y)=P(-1,y);x,y=0,…,7…(68)
模式2是竖直预测模式,并且在P(x,-1);x,y=-1,0,…,7为“可用”的情况下应用。在这种情况下,如以下等式(69)那样生成对象宏块A的各个像素的预测像素值Pred(x,y)。
Pred(x,y)=P(x,-1);x,y=0,…,7…(69)
模式3是平面预测模式,并且仅在P(x,-1)和P(-1,y);x,y=-1,0,…,7为“可用”的情况下应用。在这种情况下,如以下等式(70)那样生成对象宏块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预测模式)以及色差信号的帧内预测模式,针对每一个宏块,设置一个预测模式。
此外,一种预测模式与图15所示的由数字0、1、3至8所指示的方向相对应。预测模式2为平均值预测。
对帧内预测处理的描述
接下来,将参考图24中的流程图来描述图11的步骤S31中的帧内预测处理进行描述,该处理是关于这样的预测模式而执行的。此外,关于图24所示的示例,将对亮度信号的情况下的示例进行描述。
在步骤S41中,帧内预测单元74针对4×4像素、8×8像素和16×16像素中的每个帧内预测模式执行帧内预测。
具体地,帧内预测单元74参考从帧存储器72读出并通过开关73提供的解码图像,将待处理的对象块的像素进行帧内预测。在每个帧内预测模式中执行该帧内预测处理,以使得生成每个帧内预测模式中的预测图像。此外,作为所参考的解码图像,使用了未经受由去块滤波器71进行去块的像素。
在步骤S42中,帧内预测单元74关于4×4像素、8×8像素和16×16像素中的每个帧内预测模式计算成本函数值。这里,对成本函数值的计算是基于高复杂度模式或低复杂度模式方法而执行的。这些模式是通过作为H.264/AVC方法中的参考软件的联合模型(JM,Joint Model)而定义的。
即,关于高复杂度模式,如步骤S41的处理,例如,将处理进行到关于成为候选的所有预测模式执行的编码处理。此外,关于每个预测模式计算由以下等式(71)表示的成本函数值,并且选择分配有成本函数值的最小值的预测模式作为最佳预测模式。
Cost(Mode)=D+λ·R…(71)
这里,D是原始图像和解码图像之间的差(失真),R是生成的编码量,以及λ是作为量化参数QP给出的拉格朗日乘数。
另一方面,关于低复杂度模式,如步骤S41的处理,关于成为候选的所有预测模式执行预测图像的生成、以及对诸如运动向量信息和预测模式信息之类的头部位的计算。此外,针对每个预测模式计算由以下等式(72)表示的成本函数值,并选择分配有成本函数值的最小值的预测模式作为最佳预测模式。
Cost(Mode)=D+QPtoQuant(QP)·Header_Bit…(72)
这里,D是原始图像和解码图像之间的差(失真),Header_Bit是关于预测模式的头部位,以及QPtoQuant是作为量化参数QP的函数而给出的函数。
关于低复杂度模式,虽然关于所有预测模式生成预测图像,但是不一定执行编码处理和解码处理,使得计算量可以降低。
在步骤S43中,帧内预测单元74分别针对4×4像素、8×8像素和16×16像素中的每个帧内预测模式确定最佳模式。即,如上所述,在帧内4×4预测模式和帧内8×8预测模式的情况下存在九种预测模式,而在帧内16×16预测模式的情况下存在四种预测模式。因此,在步骤S42中,帧内预测单元74基于所计算的成本函数值而确定预测模式之中的最佳帧内4×4预测模式、最佳帧内8×8预测模式以及最佳帧内16×16预测模式。
在步骤S44中,帧内预测单元74基于在步骤S42中计算的成本函数值,在关于4×4像素、8×8像素和16×16像素的每个帧内预测模式确定的各最佳模式之中选择最佳帧内预测模式。即,确定成本函数值为最小的模式,作为在关于4×4像素、8×8像素和16×16像素的每个帧内预测模式所确定的各最佳模式之中的最佳预测模式。此外,帧内预测单元74将在最佳预测模式下生成的预测图像及其成本函数值提供给预测图像选择单元78。
对帧间运动预测处理的描述
接下来,将参考图25的流程图来描述图11中的步骤S32的帧间运动预测处理。
在步骤S51中,运动预测和补偿单元75关于参考图3所描述的包括16×16像素至4×4像素的八种对应的帧间预测模式,分别确定运动向量和参考图像。即,关于待处理的对象块,分别确定运动向量和参考图像。
在步骤S52中,运动预测和补偿单元75基于在步骤S51中所确定的运动向量,关于包括16×16像素至4×4像素的八种对应的帧间预测模式,对参考图像执行运动预测和补偿处理。将参考图26来描述运动和补偿处理的细节。
通过步骤S52的处理,确定出运动向量精度是否为小数精度,或者帧内预测模式的组合是否为特定组合。此外,根据确定结果,在对象相邻像素与参考相邻像素之间的差和一次残差(对象图像与预测图像之间的差)之间执行预测,使得生成二次残差。此外,将一次残差和二次残差进行比较,使得最终确定出是否执行二次预测处理。
在确定执行二次预测的情况下,使用二次残差而非一次残差来计算步骤S54中的成本函数值的计算。在这种情况下,将指示执行了二次预测的二次预测标记和指示二次预测中的帧内预测模式的信息输出到运动预测和补偿单元75。
在步骤S53中,运动预测和补偿单元75生成与关于16×16像素至4×4像素八种对应的帧间预测模式确定的运动向量相关的运动向量信息mvdE。此时,使用了以上参考图6所描述的生成运动向量的方法。
把生成的运动向量信息用于在后续步骤S54中计算成本函数值,在预测图像选择单元78最终选择相应预测图像的情形中,把此预测图像与预测模式信息和参考帧信息一起输出到可逆编码单元66。
在步骤S54中,模式确定单元86针对16×16个像素至4×4个像素的八种各帧间预测模式计算上述公式(71)或(72)表示的成本函数值。此处,当在图11的步骤S33中确定最佳帧间预测模式时使用计算的成本函数值。
运动预测和补偿过程的描述
接下来,将参照图26的流程图描述图25中步骤S52的运动预测和补偿过程。对于图26的预测,示例了4×4个像素的块的帧内预测模式的示例。
把图25的步骤S51中针对对象块获得的运动向量信息输入到运动向量精度确定单元77和相邻像素预测单元83。另外,还把对象块的信息(地址等)与运动向量信息一起输入到相邻像素预测单元83。
在步骤S71中,运动向量精度确定单元77确定运动向量信息是否表示水平以及垂直方向上的小数精度。在步骤S71中确定运动向量信息不表示水平以及垂直方向上的小数精度的情形中,运动向量精度确定单元77在步骤S72中确定运动向量信息是否表示水平以及垂直方向上的整数精度。
在步骤S72中确定运动向量信息表示水平以及垂直方向上的整数精度的情形中,把确定结果输出到开关84,过程前往步骤S73。
在步骤S73中,运动预测和补偿单元75基于图25中步骤S51中确定的运动向量针对包括16×16个像素至4×4个像素的八种各帧间预测模式对参考图像执行运动预测和补偿过程。通过此运动预测和补偿过程,对于对象块,通过参考块的像素值生成每个帧间预测模式中的预测图像,把作为对象块与其参考图像之间差异的一次差分输出到一次差分缓存器81。
在步骤S74中,相邻像素预测单元83选择以上在图13和14中描述的九种帧内预测模式之中的一个帧内预测模式。另外,在后续步骤S75和S76中,针对步骤S74中选择的帧内预测模式执行二次预测过程。
即,在步骤S75中,相邻像素预测单元83使用选择的帧内预测模式中的差分执行帧内预测过程,在步骤S76中,二次残差生成单元82生成二次残差。
作为步骤S75的具体过程,相邻像素预测单元83基于从运动预测和补偿单元75提供的对象块信息和运动向量信息,从帧存储器72读取出与对象块相邻的对象相邻像素以及与参考块相邻的参考相邻像素。
相邻像素预测单元83通过使用对象相邻像素与参考相邻像素之间的差分针对选择的帧内预测模式中的对象块执行帧内预测,以及通过差分生成帧内预测图像。把通过差分生成的帧内预测图像(残差信号的预测图像)输出到二次残差生成单元82。
作为步骤S76的具体过程,当从相邻像素预测单元83输入通过差分做出的帧内预测图像(残差信号的预测图像)时,二次残差生成单元82从一次残差缓存器81读取出此图像对应的一次残差。二次残差生成单元82生成作为残差信号的帧内预测图像与一次残差信号之间差分的二次残差,以及把生成的二次残差输出到开关84。开关84根据步骤S72中的确定结果把从二次残差生成单元82提供的二次残差输出到运动预测和补偿单元75。
相邻像素预测单元83在步骤S77中确定是否针对所有帧内预测模式终止了过程,在确定未终止的情形中,过程回到步骤S74,重复后续过程。即,在步骤S74中,选择另一帧内预测模式,重复后续过程。
在步骤S77中,在终止了针对所有帧内预测模式的过程的情形中,过程前往步骤S84。
另一方面,在步骤S72中,在确定运动向量信息表示并非水平以及垂直方向上的整数像素精度(即,确定这些中的任一个是小数精度)的情形中,把确定结果输出到开关84,过程前往步骤S78。
在步骤S78中,运动预测和补偿单元75基于图25中步骤S51中确定的运动向量,针对包括16×16个像素至4×4个像素的八种各帧间预测模式对参考图像执行运动预测和补偿过程。通过此运动预测和补偿过程,对于对象块,生成每个帧间预测模式中的预测图像,把作为对象块与其参考图像之间的差分的一次差分输出到一次残差缓存器81。
在步骤S79中,相邻像素预测单元83选择以上在图13和14中描述的九种帧内预测模式之中的一个帧内预测模式。在步骤S80中,相邻像素预测单元83确定运动向量信息和选择的帧内预测模式是否处于具体组合中。
在步骤S80中,在确定运动向量信息和选择的帧内预测模式未处于具体组合中的情形中,过程回到步骤S79,选择另一帧内预测模式,随后重复后续过程。
另外,在步骤S80中,在确定运动向量信息和选择的帧内预测模式处于具体组合中的情形中,过程前往步骤S81。
也就是说,由于竖直方向或水平方向上的运动向量精度是小数精度,所以基本上,相邻像素预测单元83不执行作为步骤S81和S82中过程的二次预测过程。然而,作为例外,只有在帧内预测模式和运动向量的精度组合处于以上参照图8和9描述的具体组合中的情形中,相邻像素预测单元83执行二次预测过程。
具体地,即使在竖直方向上的运动向量信息具有小数像素精度的情况下,也在帧内预测模式是竖直预测模式的情形中,在步骤S80中把它确定成具体组合,过程前往步骤S81。即,在帧内预测模式是竖直预测模式的情形中,只要竖直方向上的运动向量信息是整数像素信息,就执行二次预测过程。
另外,即使在水平方向上的运动向量信息具有小数精度的情况下,也在帧内预测模式是水平预测模式的情形中,在步骤S80中把它确定成具体组合,过程前往步骤S81。即,在帧内预测模式是水平预测模式的情形中,只要运动向量信息表示整数像素精度,就执行二次预测过程。
此外,即使竖直方向或水平方向上的运动向量信息具有小数像素精度,也在帧内预测模式是DC预测模式的情形中,在步骤S80中把它确定成具体组合,过程前往步骤S81。即,在帧内预测模式是DC预测模式的情形中,即使水平方向上或者竖直方向上的运动向量信息表示整数像素精度,也执行二次预测过程。
在步骤S81中,相邻像素预测单元83使用选择的帧内预测模式中的差分执行帧内预测过程。把通过生成的差分做出的帧内图像输出到二次残差生成单元82作为残差信号的预测信号。
在步骤S82中,二次残差生成单元82生成二次残差。把生成的二次残差输出到开关84。开关84根据步骤S72中的确定结果把从二次残差生成单元82提供的残差输出到运动预测和补偿单元75。另外,步骤S81和S82中的过程与步骤S75和S76中的过程一样。
在步骤S83中,相邻像素预测单元83确定是否终止了针对所有帧内预测模式的过程,在确定未终止过程的情形中,过程回到步骤S79,重复后续过程。
在步骤S83中,在确定终止了针对所有帧内预测模式的过程的情形中,过程前往步骤S84。
在步骤S84中,运动预测和补偿单元75比较从二次预测单元76提供的每个帧内预测模式的每个二次残差,以及把这些帧内预测模式之中被认为编码效率最卓越的二次残差的帧内预测模式确定为对象块的帧内预测模式。即,把二次预测模式的值最低的帧内预测模式确定为对象块的帧内预测模式。
在步骤S85中,运动预测和补偿单元75进一步比较一次残差以及帧内预测模式的确定的二次残差,以及确定是否利用二次预测。即,在确定二次残差的编码效率良好的情形中,确定利用二次预测,二次残差与帧间处理的图像之间的差分作为预测图像成为帧间预测的候选。另外,在确定一次残差的编码效率较好的情形中,确定不利用二次预测,步骤S73和S78中获得的预测图像成为帧间预测的候选。
即,只有在二次残差给出与一次残差相比较高的编码效率的情形中,才编码二次残差并向解码侧传输二次残差。
另外,在步骤S85中,可以把残差自身的值彼此相比较,确定值较小的残差的编码效率良好。另外,可以通过计算公式(71)或(72)中示出的成本函数值执行对良好编码效率的确定。
另一方面,在步骤S71中,在确定运动向量信息表示水平方向以及竖直方向上的小数精度的情形中,把确定结果输出到开关84,过程前往步骤S86。
在步骤S86中,运动预测和补偿单元75基于图25中步骤S51中确定的运动向量针对包括16×16个像素至4×4个像素的八种各帧间预测模式对参考图像执行运动预测和补偿过程。通过此运动预测和补偿过程,生成每个帧间预测模式中的预测图像,且其成为帧间预测的候选。
另外,对于图26中示出的示例,描述了如下这种示例:确定是否与运动向量信息的精度一起根据帧内预测模式执行二次预测过程,但是可以只根据运动向量信息的精度确定是否执行二次预测过程。
另外,对于图26中示出的示例,描述了如下这种示例:在竖直方向上以及水平方向上的运动向量信息具有小数精度的情形中不执行二次预测过程,但是在此情形中,当帧内预测模式是DC预测模式时,可以执行二次预测。
如上所述,由于在运动向量信息的精度表示小数像素精度的情形中,不执行二次预测,所以抑制了附带二次预测的预测效率的降低。
另外,在二次预测的帧内预测模式和运动向量信息的精度处于具体组合中的情形中,即使在运动向量精度的精度是小数像素精度的情况下,也允许根据组合执行二次预测,以使得可以提高编码效率。
通过预定传输路径向图像解码装置传输以及在其中解码编码的压缩图像i。
图像解码装置的配置示例
图27示出了作为应用本发明的图像处理装置的图像解码装置的实施例的配置。
图像解码装置101包括存储缓存器111、可逆解码单元112、逆量化单元113、逆正交变换单元114、运算单元115、解块滤波器116、屏幕排序缓存器117、D/A转换单元118、帧存储器119、开关120、帧内预测单元121、运动预测和补偿单元122、二次预测单元123以及开关124。
存储缓存器111存储向其传输的压缩图像。解码单元112通过与可逆编码单元66的编码方法对应的方法解码从存储缓存器111提供的、图2中的可逆编码单元66编码的信息。逆量化单元113通过与图2中量化单元65的量化方法对应的方法逆量化可逆解码单元112解码的图像。逆正交变换单元114通过与图2中正交变换单元64的正交变换方法对应的方法逆正交变换逆量化单元113的输出。
把逆正交变换的输出通过计算单元115与从开关124提供的预测图像相加并对其解码。解块滤波器116去除解码图像的块失真,且随后把解码图像提供给帧存储器119以存储在其中以及把此解码图像输出到屏幕排序缓存器117。
屏幕排序缓存器117执行屏幕排序。即,屏幕排序缓存器117把图2中的屏幕排序缓存器62对于编码序列排序的帧的序列排序为原始显示序列。D/A转换单元118对从屏幕排序缓存器117提供的图像进行D/A转换以及向显示器(未示出)输出以显示它。
开关120从帧存储器119读取出经帧间处理的图像和参考的图像,把这些图像输出到运动预测和补偿单元122,从帧存储器119读取出用于帧内预测的图像,以及把此图像提供给帧内预测单元121。
从可逆解码单元112把通过解码头信息获得的表明帧内预测模式的信息提供给帧内预测单元121。帧内预测单元121基于此信息生成预测图像,以及生成的预测图像输出到开关124
从可逆解码单元112把可以通过解码头信息获得的多项信息之中的预测信息、运动向量信息、参考帧信息等提供给运动预测和补偿单元122。在提供表明帧间预测模式的信息的情形中,运动预测和补偿单元122确定运动向量信息是否表示整数像素精度。另外,在把二次预测过程应用于对象块的情形中,从可逆解码单元122把二次预测中的帧内预测模式信息、以及表明执行二次预测的二次预测标志提供给运动预测和补偿单元122。
在运动向量信息表示整数精度的情形中,运动预测和补偿单元122参考从可逆解码单元112提供的二次预测标志确定是否应用二次预测过程。在确定应用二次预测过程的情形中,运动预测和补偿单元122控制二次预测单元123以在二次预测中的帧内预测模式信息表明的帧内预测模式执行二次预测。
运动预测和补偿单元122基于运动向量信息和参考帧信息对图像执行运动预测和补偿过程,以及生成预测图像。即,通过使用在参考帧中可通过运动向量与对象块关联的参考块的像素值生成对象块的预测图像。运动预测和补偿单元122把从二次预测单元123提供的预测的差分值以及生成的预测图像相加以及把它输出到开关124。
另一方面,在运动向量信息表示小数像素精度、或者不应用二次预测的情形中,运动预测和补偿单元122基于运动向量信息和参考帧信息对图像执行运动预测和补偿过程,以及生成预测图像。运动预测和补偿单元122把通过帧间预测模式生成的预测图像输出到开关124。
二次预测单元123通过使用从帧存储器119读取出的参考相邻像素与对象相邻像素之间的差分执行二次预测。即,二次预测单元123获取从可逆解码单元112提供的二次预测中帧内预测模式的信息,针对该信息表明的帧内预测模式中的对象块执行帧内预测,以及生成帧内预测图像。把生成的帧内预测图像输出到运动预测和补偿单元122作为预测的差分值。
开关124选择帧内预测单元121或运动预测和补偿单元122生成的预测图像(或者预测图像和预测的差分值),以及把它提供给运算单元115。
二次预测单元的配置示例
图28是示出了二次预测单元的详细配置的方框图。
在图28中示出的示例中,二次预测单元123包括针对对象块的相邻像素缓存器141、针对参考块的相邻像素缓存器142、相邻像素差分计算单元143以及预测差分值生成单元144。
在运动预测向量信息表示整数像素精度的情形中,运动预测和补偿单元122把对象块的信息(地址)提供给针对对象块的相邻像素缓存器141,以及把参考块的信息(地址)提供给针对参考块的相邻像素缓存器142。另外,向针对参考块的相邻像素缓存器142提供的信息可以是运动向量信息和对象块的信息。
与对象块的地址相对应地从帧存储器119读取出针对对象块的相邻像素,并将其存储在针对对象块的相邻像素缓存器141中。
与参考块的地址对应地从帧存储器119读取出针对参考块的相邻像素,且将其存储在针对参考块的相邻像素缓存器142中。
相邻像素差分计算单元143从针对对象块的相邻像素缓存器141读取出针对对象块的相邻像素。另外,相邻像素差分计算单元143从针对参考块的相邻像素缓存器142读取出可以通过运动向量与对象块关联的针对对象块的相邻像素。相邻像素差分计算单元143把作为针对参考块的相邻像素与针对对象块的相邻像素之间差分的相邻像素的差分值存储在内置缓存器(未示出)中。
预测差分值生成单元144通过使用相邻像素差分计算单元143的内置缓存器中存储的相邻像素的差分值在以二次预测中从可逆解码单元112获取的帧内预测模式执行帧内预测作为二次预测。预测差分值生成单元144把生成的预测差分值输出到运动预测和补偿单元122。
另外,通常可以对帧内预测单元121使用执行帧内预测作为图28的预测差分值生成单元144中的二次预测的电路。
接下来,将描述运动预测和补偿单元122和二次预测单元123中每个的操作。
运动预测和补偿单元122获取与对象块有关的运动预测向量信息。在此值具有小数像素精度的情形中,由于针对对象块不执行二次预测,所以执行通常的帧间预测过程。
另一方面,在运动预测向量信息的值表示整数像素精度的情形中,通过可逆解码单元112解码的二次预测标志确定是否针对对象块执行二次预测。在执行二次预测的情形中,在图像解码装置101中执行基于二次预测的帧间预测过程,在不执行二次预测的情形中,在图像解码装置101中执行通常的帧间预测过程。
此处,把对象块的像素值设置为[A],把参考块的像素值设置为[A′],把对象块的相邻像素值设置为[B],把参考块的相邻像素值设置为[B′]。另外,当设置九种模式中的任一种以及用Ipred(x)[mode]表示通过帧内预测生成的值时,用以下公式(73)表示图像编码装置51中编码的二次残差[Res]。
[Res]=(A-A′)-Ipred(B-B′)[mode]…(73)
如果变换此公式(73),则获得公式(74)。
A=[Res]+A′+Ipred(B-B′)[mode]…(74)
即,在图像解码装置101中,在二次预测单元123中生成、以及向运动预测和补偿单元122输出预测差分值Ipred(B-B′)[mode]。另外,在运动预测和补偿单元122中生成参考块的像素值[A′]。把这些值输出到运算单元115以及与二次残差[Res]相加,作为其结果,如公式(74)中所示获得对象块的像素值[A]。
图像解码装置解码过程的描述
接下来,将描述图像解码装置101参照图29的流程图执行的解码过程。
在步骤S131中,存储缓存器111存储向其传输的图像。在步骤S132中,可逆解码单元112解码从存储缓存器111提供的压缩图像。即,图2的可逆编码单元66解码I画面、P画面以及B画面。
此时,当编码时,解码表明二次预测中帧内预测模式的信息、二次预测标志、预测模式信息、参考帧信息以及运动向量信息。
即,在预测模式信息是帧内预测信息的情形中,把此信息提供给帧内预测单元121。在预测模式信息是帧间预测模式信息的情形中,把与预测模式信息对应的参考帧信息和运动向量信息提供给运动预测和补偿单元122。此时,当被图2的可逆编码单元66编码时,把二次预测标志提供给运动预测和补偿单元122,把表明二次预测中帧内预测模式的信息提供给二次预测单元123。
在步骤S133中,逆量化单元113通过与图2的量化单元65的特性对应的特性逆量化可逆解码单元112解码的变换系数。在步骤S134中,逆正交变换单元114通过与图2的正交变换单元64的特性对应的特性逆正交变换逆量化单元113逆量化的变换系数。以此方式,解码与图2的正交变换单元64的输入(计算单元63的输出)对应的差分信息。
在步骤S135中,运算单元115把通过下述步骤S141中的过程选择以及通过开关124输入的预测图像以及差分信息相加。以此方式,解码原始图像。在步骤S136中,解块滤波器116过滤从运算单元115输出的图像。通过此过滤,去除块失真。在步骤S137中,帧存储器119存储过滤的图像。
在步骤S138中,帧内预测单元121及运动预测和补偿单元122分别执行与从可逆解码单元112提供的预测模式信息对应的每个图像的预测过程。
即,当从可逆解码单元112提供帧内预测模式信息时,帧内预测单元121执行帧内预测模式的预测过程。当从可逆解码单元112提供帧间预测模式信息时,运动预测和补偿单元122执行帧间预测模式的运动预测和补偿过程。另外,此时,在运动预测和补偿单元122中,参考二次预测标志或运动向量信息的精度执行基于二次预测的帧间预测过程或通常的帧间预测过程。
下面将参照图30描述步骤S138中预测过程的细节。根据此过程,把帧内预测单元121生成的预测图像或者运动预测和补偿单元122生成的预测图像(或者预测图像和预测的差分值)提供给开关124。
在步骤S139中,开关124选择预测图像。即,选择帧内预测单元121生成的预测图像或者运动预测和补偿单元122生成的预测图像。因此,提供的预测图像被选择且被提供给运算单元115,以及如上所述,与步骤S134中逆正交变换单元114的输出相加。
在步骤S140中,屏幕排序缓存器117执行排序。即,屏幕排序缓存器117把图像编码装置51的屏幕排序缓存器62对于编码序列排序的帧的序列排序为原始显示序列。
在步骤S141中,D/A转换单元118对从屏幕排序缓存器117提供的图像进行D/A转换。向显示器(未示出)输出以及在其上显示此图像。
预测过程的描述
接下来,将参照图30的流程图描述图29的步骤S138的预测过程。
在步骤S171中,帧内预测单元121确定是否编码对象块。当在步骤S171中从可逆解码单元112把帧内预测模式信息提供给帧内预测单元121时,帧内预测单元121确定对象块被帧内编码,过程前往步骤S172。
在步骤S172中,帧内预测单元121获取帧内预测模式信息,以及在步骤S173中,执行帧内预测。
即,在要处理的对象图像是要帧内处理的图像的情形中,从帧存储器119读取出、以及通过开关120向帧内预测单元121提供所需的图像。在步骤S173中,帧内预测单元121根据步骤S172中获取的帧内预测模式信息执行帧内预测以及生成预测图像。把生成的输出到开关124。
另一方面,在步骤S171中,确定不帧内编码对象块,过程前往步骤S174。
在步骤S174中,运动预测和补偿单元122从可逆解码单元112获取预测模式信息等。
当要处理的对象图像是要帧间处理的图像时,从可逆解码单元112把帧间预测模式信息、参考帧信息、以及运动向量信息提供给运动预测和补偿单元122。在此情形中,在步骤S174中,运动预测和补偿单元122获取帧间预测模式信息、参考帧信息以及运动向量信息。
在步骤S175中,运动预测和补偿单元122参考获取的运动向量信息确定针对对象块的运动向量信息是否表示整数像素精度。另外,在此情形中,水平方向上或者竖直方向上的运动向量信息具有整数像素精度,在步骤S175中,将其确定为整数像素精度。
在步骤S175中,确定针对对象块的运动向量信息并非整数像素精度,即,在水平以及竖直方向上的运动向量信息表示小数像素精度的情形中,过程前往步骤S176。
在步骤S176中,运动预测和补偿单元122执行通常的帧间预测。即,在要处理的对象图像是要帧间预测处理的图像的情形中,从帧存储器169读取出、以及通过开关170向运动预测和补偿单元122提供所需的图像。在步骤S176中,运动预测和补偿单元122基于步骤S174中获取的运动向量执行帧间预测模式中的运动预测,以及生成预测图像。把生成的预测图像输出到开关124。
另外,在步骤S175中,在确定针对对象块的运动向量信息表示整数像素精度的情形中,过程前往步骤S177。
另外,当被图像编码装置51编码时,把二次预测标志提供给运动预测和补偿单元122,把表明二次预测中帧内预测模式的信息提供给二次预测单元123。
在步骤S177中,运动预测和补偿单元122获取从可逆解码单元112提供的二次预测标志,以及在步骤S178中,确定是否把二次预测过程应用于对象块。
在步骤S178中,确定针对对象块不应用二次预测过程,过程前往步骤S176,执行通常的帧间预测过程。在步骤S178中,确定针对对象块应用二次预测过程,过程前往步骤S179。
在步骤S179中,运动预测和补偿单元122获取表明对于二次预测的帧内预测模式的、从可逆解码单元112提供给二次预测单元123的信息。与此相对应,在步骤S180中,二次预测单元123执行二次帧间预测过程作为基于二次预测的帧间预测过程。将参照图31描述此二次预测过程。
根据步骤S180中的过程,执行帧间预测以及生成预测图像,同时执行二次预测且从而生成预测的差分值,把这些相加并输出到开关124。
接下来,将参照图31的流程图描述图30的步骤S180中的二次帧间预测过程。
在步骤S191中,运动预测和补偿单元122基于图30的步骤S174中获取的运动向量执行帧间预测模式的运动预测,以及生成预测图像。
另外,运动预测和补偿单元122把对象块的地址提供给针对对象块的相邻像素缓存器141,以及把参考块的地址提供给针对参考块的相邻像素缓存器142。与对象块的地址对应地从帧存储器119读取出、以及在针对对象块的相邻像素缓存器141中存储针对对象块的相邻像素。与参考块的地址对应地从帧存储器119读取出以及在针对参考块的相邻像素缓存器142中存储针对参考块的相邻像素。
相邻像素差分计算单元143从针对对象块的相邻像素缓存器141读取出针对对象块的相邻像素,以及从针对参考块的相邻像素缓存器142读取出针对与对象块对应的参考块的相邻像素。在步骤S192中,相邻像素差分计算单元143计算作为针对参考块的相邻像素与针对对象块的相邻像素之间差分的相邻像素差分值以及把此值存储在内置缓存器中。
在步骤S193中,预测差分值生成单元144生成预测的差分值。即,预测差分值生成单元144通过使用相邻像素差分计算单元143中存储的相邻像素差分值,以对于图30的步骤S179中获取的二次预测的帧内预测模式执行帧内预测,以及生成预测的差分值。把生成的预测差分值输出到运动预测和补偿单元122。
在步骤S194中,运动预测和补偿单元122把步骤S191中生成的预测图像以及从预测差分值生成单元144提供的预测差分值相加,以及把相加值输出到开关124。
在图29的步骤S139中开关124把这些预测图像和预测的差分值输出到计算单元115作为预测图像。另外,运算单元115在图29的步骤S135中把这些预测图像和预测的差分值与从逆正交变换单元114提供的差分信息相加,以使得解码对象块的图像。
如上所述,对于图像编码装置51和图像解码装置101,在运动向量精度是小数精度的情形中,不执行二次预测,以使得可以抑制附带二次预测的编码效率降低。
另外,在小数精度的情形中,不需要传输二次预测标志,以使得可以改进二次预测的情形中的编码效率。此外,在小数精度的情形中,不需要参考二次预测标志,以使得可以略去此过程,因此图像解码装置101中的处理效率提高。
另外,在以上描述中,作为例子描述了H.264/AVC方法的帧内4×4预测模式,但是本发明不限于此,且可以应用于执行块基础的运动预测补偿的所有编码装置和解码装置。另外,可以把本发明应用于针对色差信号的帧内预测模式、帧内16×16预测模式、以及帧内8×8预测模式。
此外,可以把本发明应用于如H.264/AVC的执行1/4像素精度的运动预测的情形、以及如MPEG的执行1/2像素精度的运动预测的情形。另外,可以把本发明应用于如NPL 1中所述执行1/8像素精度的运动预测的情形。
在以上描述中使用H.264/AVC方法作为编码方法,但是可以使用其它编码方法/解码方法。
另外,例如,如同MPEG、H.26x等一样,可以把本发明应用于通过诸如卫星广播、有线电视区、互联网、以及蜂窝电话的网络媒体接收通过运动补偿以及诸如离散余弦变换的正交变换压缩的图像信息(比特流)期间使用的图像解码装置和图像编码装置。此外,可以把本发明应用于对诸如磁光盘和闪存的存储介质执行处理期间使用的图像解码装置和图像编码装置。此外,可以把本发明应用于图像解码装置和这种图像编码装置中包括的运动预测和补偿装置。
可以通过硬件或软件执行上述这种系列过程。在通过软件执行系列过程的情形中,把构成软件的程序安装在计算机中。此处,计算机包括组合专用硬件的计算机、可以通过在其中安装各种程序执行各种功能的通用个人计算机等。
图32示出了示例了通过程序执行上述系列过程的计算机硬件的配置示例的方框图。
对于计算机,CPU(中央处理单元)301、ROM(只读存储器)302、以及RAM(随机访问存储器)303通过总线304彼此相连。
此外,把I/O接口305连接到总线304。把输入单元306、输出单元307、存储单元308、通信单元309、以及驱动器310连接到I/O接口305。
输入单元306包括键盘、鼠标、麦克风等。输出单元307包括显示器、扬声器等。存储单元308包括硬盘、非易失性存储器等。通信单元309包括网络接口等。驱动器310驱动诸如磁盘、光盘、磁光盘、以及半导体存储器的可移除介质311。
在如上所述配置的计算机中,CPU 301通过把例如存储单元308中存储的程序通过I/O接口305和总线304加载到RAM 303以及执行该程序执行上述这种系列过程。
可以通过例如在作为封装介质等的可移除介质311上记录来提供计算机(CPU 301)执行的程序。另外,可以通过诸如局域网、因特网以及数字广播的有线或无线传输介质提供程序。
在计算机中,可以通过I/O接口305以及通过在驱动器310中装配可移除介质311把程序安装在存储单元308中。另外,可以通过通信单元309通过有线或无线传输介质接收来把程序安装在存储单元308中。在其它情形中,可以预先把程序安装在ROM 302或存储单元308中。
另外,计算机执行的程序可以是根据本说明书中描述的顺序以时间序列执行过程的程序、或者在诸如被调用的必要时刻或并行执行处理的程序。
本发明的实施例不限于上述实施例,可以在不脱离本发明范围的情况下做出各种修改。
附图标记列表
51:图像编码装置
66:可逆编码单元
74:帧内预测单元
75:运动预测和补偿单元
76:二次预测单元
77:运动向量精度确定单元
78:预测图像选择单元
81:一次残差缓存器
82:二次残差生成单元
83:相邻像素预测单元
84:开关
101:图像解码装置
112:可逆解码单元
121:帧内预测单元
122:运动预测和补偿单元
123:二次预测单元
124:开关
141:针对对象块的相邻像素缓存器
142:针对参考块的相邻像素缓存器
143:相邻像素差分计算单元
144:预测差分值创建单元
Claims (13)
1.一种图像处理装置,包括:
二次预测单元,用于在对象帧中对象块的运动向量信息的精度是整数像素精度的情形中,在对象块和在参考帧中通过运动向量信息与对象块关联的参考块之间的差分信息、以及与所述对象块相邻的对象相邻像素和与所述参考块相邻的参考相邻像素之间的差分信息之间执行二次预测过程,以及生成二次差分信息;以及
编码单元,用于编码所述二次预测单元生成的二次差分信息。
2.如权利要求1所述的图像处理装置,进一步包括:
编码效率确定单元,用于确定在所述二次预测单元生成的二次差分信息的编码与对象图像的差分信息的编码之间哪个编码效率较好,
其中,只有在所述编码效率确定单元确定所述二次差分信息的编码效率较好的情形中,所述编码单元对所述二次预测单元生成的二次差分信息以及表明执行二次预测过程的二次预测标志进行编码。
3.如权利要求2所述的图像处理装置,
其中,在竖直方向上对象块的运动向量信息的精度是小数像素精度、以及二次预测过程中的帧内预测模式是竖直预测模式的情形中,所述二次预测单元执行二次预测过程。
4.如权利要求2所述的图像处理装置,
其中,在水平方向上对象块的运动向量信息的精度是小数像素精度、以及二次预测过程中的帧内预测模式是水平预测模式的情形中,所述二次预测单元执行二次预测过程。
5.如权利要求2所述的图像处理装置,
其中,在竖直方向和水平方向中至少一个上所述对象块的运动向量信息的精度是小数像素精度、以及二次预测过程中的帧内预测模式是DC预测模式的情形中,所述二次预测单元执行二次预测过程。
6.如权利要求1所述的图像处理装置,
其中,所述二次预测单元包括:
相邻像素预测单元,用于通过使用所述对象相邻像素与所述参考相邻像素之间的差分信息执行预测,以及用于生成针对对象块的帧内预测图像,以及
二次差分生成单元,用于通过对所述相邻像素预测单元生成的帧内预测图像、所述对象块和所述参考块之间的差分信息进行差分生成二次差分信息。
7.一种用于处理图像的方法,包括步骤:
允许图像处理装置:
在对象帧中的对象块的运动向量信息的精度是整数像素精度的情形中,在和参考块相邻的参考相邻像素与和对象块相邻的对象相邻像素之间的差分信息、以及在参考帧中通过运动向量信息与对象块关联的参考块和对象块之间的差分信息之间执行二次预测过程,以及生成二次差分信息;以及
编码通过二次预测过程生成的二次差分信息。
8.一种图像处理装置,包括:
解码单元,用于对在参考帧中针对对象块检测的运动向量信息、以及在编码的对象帧中的对象块的图像进行解码;
二次预测单元,用于在所述解码单元解码的运动向量信息表示整数像素精度的情形中,通过使用与在参考帧中通过运动向量信息与对象块关联的参考块相邻的参考相邻像素、以及和对象块相邻的对象相邻像素之间的差分信息来执行二次预测过程,以及用于生成预测图像;以及
计算单元,用于把根据运动向量信息获得的参考块的图像、所述二次预测单元生成的预测图像、以及对象块的图像相加,以及用于生成对象块的解码图像。
9.如权利要求8所述的图像处理装置,
其中,所述二次预测单元获取所述解码单元解码的、表明执行二次预测过程的二次预测标志,以及根据所述二次预测标志执行所述二次预测过程。
10.如权利要求9所述的图像处理装置,
其中,在竖直方向上对象块的运动向量信息的精度是小数像素精度、以及二次预测过程中所述解码单元解码的帧内预测模式是竖直预测模式的情形中,所述二次预测单元根据所述二次预测标志执行二次预测过程。
11.如权利要求9所述的图像处理装置,
其中,在水平方向上对象块的运动向量信息的精度是小数像素精度、以及二次预测过程中所述解码单元解码的帧内预测模式是水平预测模式的情形中,所述二次预测单元根据所述二次预测标志执行二次预测过程。
12.如权利要求9所述的图像处理装置,
其中,在竖直方向和水平方向中至少一个上对象块的运动向量信息的精度是小数像素精度、以及二次预测过程中解码单元解码的帧内预测模式是DC预测模式的情形中,所述二次预测单元根据所述二次预测标志执行二次预测过程。
13.一种用于处理图像的方法,包括步骤:
允许图像处理装置:
对编码的对象帧中的对象块的图像以及在参考帧中关于所述对象块检测的运动向量信息进行解码;
在解码的运动向量信息表示整数像素精度的情形中,通过使用与在参考帧中通过运动向量信息与对象块关联的参考块相邻的参考相邻像素、以及和对象块相邻的对象相邻像素之间的差分信息执行二次预测过程,以及生成预测图像;以及
把根据运动向量信息获得的参考块的图像、生成的预测图像和对象块的图像相加,并生成对象块的解码图像。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009105936A JP2010258739A (ja) | 2009-04-24 | 2009-04-24 | 画像処理装置および方法、並びにプログラム |
JP2009-105936 | 2009-04-24 | ||
PCT/JP2010/057126 WO2010123055A1 (ja) | 2009-04-24 | 2010-04-22 | 画像処理装置および方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102396232A true CN102396232A (zh) | 2012-03-28 |
Family
ID=43011171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800174713A Pending CN102396232A (zh) | 2009-04-24 | 2010-04-22 | 图像处理装置和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20120033737A1 (zh) |
JP (1) | JP2010258739A (zh) |
CN (1) | CN102396232A (zh) |
TW (1) | TW201127066A (zh) |
WO (1) | WO2010123055A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014005367A1 (zh) * | 2012-07-03 | 2014-01-09 | 乐金电子(中国)研究开发中心有限公司 | 一种深度图像帧内编码方法、装置及编码器 |
TWI864300B (zh) * | 2020-07-29 | 2024-12-01 | 大陸商Oppo廣東移動通信有限公司 | 幀間預測方法、編碼器、解碼器以及電腦儲存媒介 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5592779B2 (ja) * | 2010-12-22 | 2014-09-17 | 日本電信電話株式会社 | 画像符号化方法、画像復号方法、画像符号化装置、及び画像復号装置 |
JP5594841B2 (ja) * | 2011-01-06 | 2014-09-24 | Kddi株式会社 | 画像符号化装置及び画像復号装置 |
JP5592295B2 (ja) * | 2011-03-09 | 2014-09-17 | 日本電信電話株式会社 | 画像符号化方法,画像符号化装置,画像復号方法,画像復号装置およびそれらのプログラム |
CN105187843B (zh) * | 2012-04-13 | 2018-06-12 | Jvc建伍株式会社 | 图像解码装置、图像解码方法、接收装置及接收方法 |
WO2017192616A1 (en) | 2016-05-06 | 2017-11-09 | Vid Scale, Inc. | Systems and methods for motion compensated residual prediction |
US20220337865A1 (en) * | 2019-09-23 | 2022-10-20 | Sony Group Corporation | Image processing device and image processing method |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1207633A (zh) * | 1997-06-09 | 1999-02-10 | 株式会社日立制作所 | 图象序列编码方法和解码方法 |
WO2006013877A1 (ja) * | 2004-08-05 | 2006-02-09 | Matsushita Electric Industrial Co., Ltd. | 動きベクトル検出装置および動きベクトル検出方法 |
WO2006030103A1 (fr) * | 2004-09-15 | 2006-03-23 | France Telecom | Procede d'estimation de mouvement a l'aide de maillages deformables |
US20070211797A1 (en) * | 2006-03-13 | 2007-09-13 | Samsung Electronics Co., Ltd. | Method, medium, and system encoding and/or decoding moving pictures by adaptively applying optimal prediction modes |
CN101137065A (zh) * | 2006-09-01 | 2008-03-05 | 华为技术有限公司 | 图像编码方法、解码方法、编码器、解码器、编解码方法及编解码器 |
CN101193090A (zh) * | 2006-11-27 | 2008-06-04 | 华为技术有限公司 | 信号处理方法及其装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100949917B1 (ko) * | 2008-05-28 | 2010-03-30 | 한국산업기술대학교산학협력단 | 적응적 인트라 예측을 통한 고속 부호화 방법 및 시스템 |
-
2009
- 2009-04-24 JP JP2009105936A patent/JP2010258739A/ja not_active Withdrawn
-
2010
- 2010-04-14 TW TW99111693A patent/TW201127066A/zh unknown
- 2010-04-22 US US13/264,944 patent/US20120033737A1/en not_active Abandoned
- 2010-04-22 WO PCT/JP2010/057126 patent/WO2010123055A1/ja active Application Filing
- 2010-04-22 CN CN2010800174713A patent/CN102396232A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1207633A (zh) * | 1997-06-09 | 1999-02-10 | 株式会社日立制作所 | 图象序列编码方法和解码方法 |
WO2006013877A1 (ja) * | 2004-08-05 | 2006-02-09 | Matsushita Electric Industrial Co., Ltd. | 動きベクトル検出装置および動きベクトル検出方法 |
WO2006030103A1 (fr) * | 2004-09-15 | 2006-03-23 | France Telecom | Procede d'estimation de mouvement a l'aide de maillages deformables |
US20070211797A1 (en) * | 2006-03-13 | 2007-09-13 | Samsung Electronics Co., Ltd. | Method, medium, and system encoding and/or decoding moving pictures by adaptively applying optimal prediction modes |
CN101137065A (zh) * | 2006-09-01 | 2008-03-05 | 华为技术有限公司 | 图像编码方法、解码方法、编码器、解码器、编解码方法及编解码器 |
CN101193090A (zh) * | 2006-11-27 | 2008-06-04 | 华为技术有限公司 | 信号处理方法及其装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014005367A1 (zh) * | 2012-07-03 | 2014-01-09 | 乐金电子(中国)研究开发中心有限公司 | 一种深度图像帧内编码方法、装置及编码器 |
CN103533324A (zh) * | 2012-07-03 | 2014-01-22 | 乐金电子(中国)研究开发中心有限公司 | 一种深度图像帧内编码方法、装置及编码器 |
US9571859B2 (en) | 2012-07-03 | 2017-02-14 | Lg Electronics (China) R & D Center Co, Ltd. | Intraframe coding method, device and encoder for depth images |
TWI864300B (zh) * | 2020-07-29 | 2024-12-01 | 大陸商Oppo廣東移動通信有限公司 | 幀間預測方法、編碼器、解碼器以及電腦儲存媒介 |
Also Published As
Publication number | Publication date |
---|---|
JP2010258739A (ja) | 2010-11-11 |
TW201127066A (en) | 2011-08-01 |
US20120033737A1 (en) | 2012-02-09 |
WO2010123055A1 (ja) | 2010-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200296405A1 (en) | Affine motion compensation refinement using optical flow | |
CN103096055B (zh) | 一种图像信号帧内预测及解码的方法和装置 | |
US11632563B2 (en) | Motion vector derivation in video coding | |
CN102396230B (zh) | 图像处理设备和方法 | |
CN102415098B (zh) | 图像处理设备和方法 | |
CN102318347B (zh) | 图像处理设备和方法 | |
CN102077595A (zh) | 图像处理装置和方法 | |
CN102396232A (zh) | 图像处理装置和方法 | |
CN104125468A (zh) | 图像处理装置和方法 | |
CN102577388A (zh) | 图像处理装置和方法 | |
US11985306B2 (en) | Method and apparatus for video encoding and decoding with matrix based intra-prediction | |
CN102160381A (zh) | 图像处理设备和方法 | |
CN102804779A (zh) | 图像处理装置和方法 | |
CN102422643A (zh) | 图像处理装置、方法和程序 | |
CN102160379A (zh) | 图像处理装置和图像处理方法 | |
US11102476B2 (en) | Subblock based affine motion model | |
CN102342108A (zh) | 图像处理设备和方法 | |
KR20230117570A (ko) | 비디오 코딩을 위한 루마 예측으로부터의 크로마 | |
JP2022523851A (ja) | 異なるクロマフォーマットを使用したフィルタ処理されていない参照サンプルを用いたビデオコーディング | |
CN102714735A (zh) | 图像处理设备和方法 | |
CN102939759A (zh) | 图像处理设备和方法 | |
US20200374530A1 (en) | Method and apparatus for video encoding and decoding based on block shape | |
CN102696227A (zh) | 图像处理设备和方法 | |
US11019332B2 (en) | Chroma intra prediction in video coding | |
CN102396231A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120328 |