图像处理设备及方法

文档序号:7910798阅读:202来源:国知局
专利名称:图像处理设备及方法
技术领域
本发明涉及图像处理设备及方法,并且尤其涉及与基准块相邻的相邻像素存在于图像框外部的情况下也能够进行二次预测的图像处理设备及方法。
背景技术
近年来,通过采用用于处理作为数字信号的图像信息的编码系统并且利用图像信息特有的冗余性,同时针对高效信息传输和存储,对图像进行压缩编码以通过正交变换如离散余弦变换等和运动补偿压缩图像的设备正在普及。该编码方法的示例包括MPEG(运动图像专家组)等。具体地,MPEG2(IS0/IEC13818-2)被定义为通用图像编码格式,并且是包含隔行扫描图像和逐行扫描图像二者以及标准分辨率图像和高清晰度图像的标准。例如,MPEG2如今已被广泛应用于专业用途和消费者用途的宽范围。例如在具有720X480像素的标准分辨率的隔行扫描图像的情况下,通过采用MPEG2压缩格式,分配4至8Mbps的代码量(比特率)。例如在具有1920X 1088像素的高分辨率的隔行扫描图像的情况下,通过采用MPEG2 压缩格式,分配18至22Mbps的代码量(比特率)。因此,可以实现高压缩率和优良的图像质量。利用MPEG2,主要将适于广播用途的高图像质量编码作为对象,但不处理比MPEGl 的代码量低的代码量(比特率),即,具有更高压缩率的编码格式。由于个人数字助理变得普及,预期对于这种编码格式的需求从今开始将会增加,并且响应于此,MPEG4编码格式已经被标准化。关于图像编码格式,其规范在1998年12月被批准作为IS0/IEC14496-2国际标准。此外,近年来,以用于电视会议用途的图像编码为对象,作为H. 26L (ITU-T Q6/16VCEG)的标准的标准化已经取得进展。已经知道,与传统的编码格式如MPEG2或 MPEG4相比,尽管利用H. 26L编码和解码需要更大的计算量,但实现了更高的编码效率。此外,当前作为MPEG4的活动的一部分,已经进行了如下标准化作为增强压缩视频编码的联合模型(Joint Model of Enhanced-Compression Video Coding),该标准化采用 H. 26L 作为基础实现更高编码效率、利用该H. 26L不支持的功能。就标准化日程来说,H. 264和 MPEG-4Part 10 (Advanced Video Coding,高级视频编码,在下文中称为 H. 264/AVC)已于 2003年3月成为国际标准。此外,作为其扩展的包括诸如RGB、4 2 2、4 4 4等操作所必需的编码工具、MPEG-2规定的8X8DCT(离散余弦变换)和量化矩阵的FRExt (Fidelity Range Extension,保真度范围扩展)的标准化也在2005年2月完成。因此,获得了能够使用H. 264/AVC良好地表达动画中的电影噪声的编码格式,并且将被用在诸如蓝光光盘 (Blu-Ray Disc,注册商标)的广泛应用中。然而,最近对更高压缩编码的需求增加,例如要压缩大约4000X2000像素的图像,其为高清晰(Hi-Vision)图像的四倍。另外,例如为了在有限传输能力的环境中(如因特网)散布高清晰图像,也需要更高压缩编码。因此,上述ITU-T下的VCEG( = Video Coding Expert Group,视频编码专家组)继续进行与提高编码效率有关的研究。例如,在非专利文献1中提出用于以帧间预测进一步提高编码效率的二阶预测方法。将参考图1描述该二阶预测方法。在图1的示例中示出目标帧和基准帧,在目标帧中示出目标块A。在基准帧和目标帧中获得关于目标块A的运动矢量mV(mV_x,mv_y)的情况下,计算目标块A和通过矢量mv与目标块A相关联的块B之间的差分信息(余差)。利用该二阶方法,不仅计算与目标块A有关的差分信息,而且还计算与目标块A相邻的相邻像素组A’和通过矢量mv与相邻像素组A’相关联的相邻像素组B’之间的差分信肩、ο也就是说,从目标块A的左上地址(X,y)获得相邻像素组A’的每个像素的地址。 并且,从通过运动矢量mv (mv_x,mv_y)与目标块A相关联的块B的左上地址(X+mv_X,y+mv_ y)计算相邻像素组B’的每个像素的地址。这些地址被用于计算相邻像素组B’的差分信肩、ο利用该二阶方法,在这样计算出的与目标块有关的差分信息和与相邻像素有关的差分信息之间进行根据H. 264/AVC方法的帧内预测,由此生成二阶差分信息。所生成的二阶差分信息进行正交变换和量子化,与压缩图像一起编码,并被发送到解码侧。非专利文献非专利文件1 =Sijia Chen、Jinpeng Wang、Shangwen Li 和 Lu Yu 于 VCEG-AD09, ITU-Telecommunications Standardization Sector STUDY GROUP Question 6 Video coding Experts Group (VCEG)上的"Second Order Prediction (SOP) in P Slice" ,2008 年7月16-18日

发明内容
技术问题现在,尽管目标块A总是存在于目标帧的图像框内,但是基准块B是否存在于基准帧的图像框内取决于目标块A的地址和运动矢量的值。例如,在图2的示例中,在基准帧中检测关于目标块A的运动矢量mvl和mv2。通过运动矢量mvl与目标块A相关联的基准块Bl的一部分从图像框的下部伸出,并且因此与基准块Bl相邻的相邻像素组ΒΓ的一部分也从图像框的下部伸出。另外,通过运动矢量mv2与目标块A相关联的基准块B2在图像框内,但与基准块 B2相邻的相邻像素组B2’的一部分从图像框的右部伸出。也就是说,不仅基准块是否存在于图像框内取决于目标块A的地址和运动矢量的值,而且与基准块相邻的相邻像素组是否存在于图像框内也取决于目标块A的地址和运动矢量的值。在这种情况下不在图像框内的像素不可利用,所以不作为基准像素。因此,如果应用非专利文献1中描述的二阶预测方法,则存在与基准块相邻的相邻像素不可利用的情况,并且在此情况下,难以进行二阶预测。也就是说,利用非专利文献1中描述的二阶预测方法,H. 264/AVC格式帧内预测转向二阶预测。利用H. 264/AVC格式帧内预测,不需要对相邻像素的可用性进行确定,所以H. 264/AVC格式帧内预测不能转为对用于二阶预测的相邻像素的可用性的确定因此,利用二阶预测,需要增加与相邻像素可用性的判定有关的电路。鉴于这种情况作出了本发明,并且即便在与基准块相邻的相邻像素存在于图像框的外部的情况下也能够进行二阶预测。根据本发明第一方面的图像处理设备包括确定装置,用于使用与目标帧中的目标块相邻的目标相邻像素的相对地址确定与基准帧中的基准块相邻的基准相邻像素是否存在于所述基准帧的图像框内;端点处理装置,用于在所述确定装置确定所述基准相邻像素不存在于所述图像框内的情况下对所述基准相邻像素进行端点处理;二阶预测装置,用于通过在所述目标块和所述基准块之间的差分信息与所述目标相邻像素和已经由所述端点处理装置对其进行了端点处理的所述基准相邻像素之间的差分信息之间进行预测来生成二阶差分信息;以及编码装置,用于对由所述二阶预测装置生成的所述二阶差分信息进行编码。该图像处理设备可以还包括计算装置,该计算装置用于利用所述目标块的地址 (χ,y)、所述目标块通过其参考所述基准块的运动矢量信息(dx,dy)和所述目标相邻像素的相对地址(S χ,δγ)计算所述基准相邻像素的相对地址(x+dx+ δ χ, y+dy+ δ y),其中所述确定装置确定由所述计算装置计算出的所述基准相邻像素的所述相对地址(x+dx+ δ χ, y+dy+ δ y)是否存在于图像框内。在将像素值表示为η个比特的情况下,所述端点处理装置可以进行端点处理,使得x+dx+ δ χ < 0或y+dy+ δ y < 0成立的基准相邻像素的像素值为211-1。在x+dx+ δ χ > WIDTH-I成立的情况下,所述端点处理装置可以使用由地址 (WIDTH-1, y+dy+ δ y)指示的像素值作为基准相邻像素的像素值进行端点处理,其中 “WIDTH”代表图像框的水平方向上的像素的数目。在y+dy+ δ y > HEIGHT-1成立的情况下,所述端点处理装置可以使用由地址 (x+dx+ δ X, HEIGHT-1)指示的像素值作为基准相邻像素的像素值进行端点处理,其中 “HEIGHT”代表图像框的垂直方向上的像素的数目。在x+dx+ δ χ > WIDTH-I和y+dy+ δ y > HEIGHT-1成立的情况下,所述端点处理装置可以使用由地址(WIDTH-1,HEIGHT-1)指示的像素值作为基准相邻像素的像素值进行端点处理,其中“WIDTH”代表图像框的水平方向上的像素的数目,“HEIGHT”代表图像框的垂直方向上的像素的数目。所述端点处理装置可以针对不在图像框内的基准相邻像素进行端点处理,其中通过镜像处理在图像框的边界处对称地生成像素值。二阶预测装置可以还包括帧内预测装置,用于使用所述目标相邻像素和已经由所述端点处理装置对其进行了端点处理的基准相邻像素之间的差分信息进行预测,以生成关于目标块的帧内预测图像;以及二阶差分生成装置,用于计算目标块和基准块之间的差分信息和由所述帧内预测装置生成的帧内预测图像的差分,以生成二阶差分信息。在所述确定装置确定所述基准相邻像素存在于所述图像框内时,所述二阶预测装置可以在所述目标块和所述基准块间的差分信息与所述目标相邻像素和所述基准相邻像素间的差分信息之间进行预测。根据本发明第一方面的图像处理方法包括以下步骤图像处理设备使用与目标帧中的目标块相邻的目标相邻像素的相对地址确定与基准帧中的基准块相邻的基准相邻像素是否存在于所述基准帧的图像框内,在确定所述基准相邻像素不存在于所述图像框内的情况下对所述基准相邻像素进行端点处理,通过在所述目标块和所述基准块间的差分信息与所述目标相邻像素和已经对其进行端点处理的所述基准相邻像素间的差分信息之间进行预测来生成二阶差分信息,以及对所生成的二阶差分信息编码。根据本发明第二方面的图像处理设备包括解码装置,用于对编码的目标帧中的目标块的图像解码;确定装置,用于使用与所述目标块相邻的目标相邻像素的相对地址确定与基准帧中的基准块相邻的基准相邻像素是否存在于所述基准帧的图像框内;端点处理装置,用于在所述确定装置确定所述基准相邻像素不存在于所述图像框内的情况下对所述基准相邻像素进行端点处理;二阶预测装置,用于通过使用所述目标相邻像素和已经由所述端点处理装置对其进行了端点处理的所述基准相邻像素之间的差分信息进行二阶预测来生成预测图像;以及计算装置,用于将所述目标块的图像、由所述二阶预测装置生成的预测图像和所述基准块的图像相加以生成所述目标块的解码图像。该图像处理设备可以还包括计算装置,该计算装置用于利用所述目标块的地址 (χ,y)、所述目标块通过其参考所述基准块的运动矢量信息(dx,dy)和所述目标相邻像素的相对地址(S χ,δγ)计算所述基准相邻像素的相对地址(x+dx+ δ χ, y+dy+ δ y),其中所述确定装置确定由所述计算装置计算出的所述基准相邻像素的所述相对地址(x+dx+ δ χ, y+dy+ δ y)是否存在于图像框内。在将像素值表示为η个比特的情况下,所述端点处理装置可以进行端点处理,使得x+dx+ δ χ < 0或y+dy+ δ y < 0成立的基准相邻像素的像素值为211-1。在x+dx+ δ χ > WIDTH-I成立的情况下,所述端点处理装置可以使用由地址 (WIDTH-l,y+dy+ δ y)指示的像素值作为所述基准相邻像素的像素值进行所述端点处理,其中“WIDTH”代表图像框的水平方向上的像素的数目。在y+dy+ δ y > HEIGHT-1成立的情况下,所述端点处理装置可以使用由地址 (x+dx+ δ χ, HEIGHT-1)指示的像素值作为所述基准相邻像素的像素值进行所述端点处理, 其中“ HEIGHT”代表图像框的垂直方向上的像素的数目。在x+dx+ δ χ > WIDTH-I和y+dy+ δ y > HEIGHT-I成立的情况下,所述端点处理装置可以使用由地址(WIDTH-1,HEIGHT-1)指示的像素值作为所述基准相邻像素的像素值进行所述端点处理,其中“WIDTH”代表图像框的水平方向上的像素的数目,“HEIGHT”代表图像框的垂直方向上的像素的数目。所述端点处理装置可以针对不在图像框内的基准相邻像素进行端点处理,其中通过镜像处理在图像框的边界处对称地生成像素值。所述二阶预测装置可以还包括预测图像生成装置,用于通过使用目标相邻像素和已经由所述端点处理装置对其进行了端点处理的所述基准相邻像素之间的差分信息进行二阶预测来生成预测图像。在所述确定装置确定所述基准相邻像素存在于所述图像框内的情况下,所述二阶预测装置可以使用所述目标相邻像素和所述基准相邻像素之间的差分信息进行预测。根据本发明第二方面的图像处理方法包括以下步骤图像处理设备对编码的目标帧中的目标块的图像解码,使用与所述目标块相邻的目标相邻像素的相对地址确定与基准帧中的基准块相邻的基准相邻像素是否存在于所述基准帧的图像框内,在确定所述基准相邻像素不存在于所述图像框内的情况下对所述基准相邻像素进行端点处理,通过使用所述目标相邻像素和已经对其进行了端点处理的所述基准相邻像素之间的差分信息进行二阶预测来生成预测图像;以及将所述目标块的图像、由所述二阶预测装置生成的预测图像和所述基准块的图像相加以生成所述目标块的解码图像。根据本发明的第一方面,使用与目标帧中的目标块相邻的目标相邻像素的相对地址确定与基准帧中的基准块相邻的基准相邻像素是否存在于基准帧的图像框内。在确定基准相邻像素不存在于图像框内的情况下,对基准相邻像素进行端点处理,通过在目标块和基准块间的差分信息与目标相邻像素和已经对其进行了端点处理的基准相邻像素间的差分信息之间进行预测生成二阶差分信息,并且将生成的二阶差分信息编码。根据本发明的第二方面,对编码的目标帧中的目标块的图像解码,并且使用与目标帧中的目标块相邻的目标相邻像素的相对地址确定与基准帧中的基准块相邻的基准相邻像素是否存在于基准帧的图像框内。在确定基准相邻像素不存在于图像框内的情况下, 对基准相邻像素进行端点处理,通过在目标块和基准块间的差分信息与目标相邻像素和已经对其进行了端点处理的基准相邻像素间的差分信息之间进行预测来生成二阶差分信息, 以及将目标块的图像、由二阶预测装置生成的预测图像和基准块的图像相加以生成目标块的解码图像。注意,上述图像处理设备中的每一个可以是独立的设备,也可以是构成单个图像编码设备或图像解码设备的内部块。发明的有益效果根据本发明的第一方面,可以对图像编码。另外,根据本发明的第一方面,即使在与基准块相邻的相邻像素存在于图像框的外部的情况下,也可以进行二阶预测。根据本发明的第二方面,可以对图像解码。另外,根据本发明的第二方面,即使在与基准块相邻的相邻像素存在于图像框的外部的情况下,也可以进行二阶预测。


图1是描述帧间预测中的二阶预测系统的图。图2是描述与基准块相邻的相邻像素组的图。图3是示出应用了本发明的图像编码设备的实施例的配置的框图。图4是用于描述块尺寸可变运动预测和补偿处理的图。图5是用于描述1/4像素精度的运动预测和补偿处理的图。图6是用于描述多基准帧的运动预测和补偿方法的图。图7是用于描述运动矢量信息生成方法的示例的图。图8是示出图3中的二阶预测单元的配置示例的框图。图9是用于描述二阶预测单元和基准相邻确定单元的操作的图。图10是用于描述基准相邻像素的设置的图。图11是用于描述基准相邻像素的设置的图。图12是用于描述端点处理的示例的图。图13是用于描述图3中的图像编码设备的编码处理的流程图。
图14是用于描述图13中的步骤S21中的预测处理的流程图。图15是用于描述在16X 16像素帧内预测模式的情况下的处理序列的图。图16是示出用于辉度信号的各种4X4像素帧内预测模式的图。图17是示出用于辉度信号的各种4X4像素帧内预测模式的图。图18是用于描述4X4像素帧内预测的方向的图。图19是用于描述4X4像素帧内预测的图。图20是用于描述用于辉度信号的4X4像素帧内预测模式的编码的图。图21是示出用于辉度信号的各种8X8像素帧内预测模式的图。图22是示出用于辉度信号的各种8X8像素帧内预测模式的图。图23是示出用于辉度信号的各种16X16像素帧内预测模式的图。图24是示出用于辉度信号的各种16X16像素帧内预测模式的图。图25是用于描述16X 16像素帧内预测的图。图26是示出用于色差信号的各种帧内预测模式的图。图27是用于描述图14中步骤S31中的帧内预测处理的流程图。图28是用于描述图14中步骤S32中的帧间运动预测处理的流程图。图29是用于描述图28中步骤S53中的基准相邻像素确定处理的流程图。图30是用于描述图28中步骤S54中的二阶预测处理的流程图。图31是示出应用了本发明的图像解码设备的实施例的配置示例的框图。图32是示出图31中的二阶预测单元的配置示例的框图。图33是用于描述图31中的图像解码设备的解码处理的流程图。图34是用于描述图33中步骤S138中的预测处理的流程图。图35是用于描述图34中步骤S179中的二阶帧间预测处理的流程图。图36是示出计算机硬件的配置示例的框图。
具体实施例方式下面参考附图描述本发明的实施例。图像编码设备的配置示例图3示出作为应用了本发明的图像处理设备的图像编码设备的实施例的配置。该图像编码设备51使用例如H. 264和MPEG-4第十部分(Advanced Video Coding, 高级视频编码)(在下文中称为264/AVC)格式对图像进行压缩编码。在图3的示例中,图像编码设备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将输入图像从模拟转换为数字,并且输出到画面排序缓冲器 62进行存储。画面排序缓冲器62将用于显示的存储顺序的各帧的图像排序为用于按照 GOP (Group of Picture,图片组)编码的帧顺序。计算单元63从自画面排序缓冲器62读取的图像中减去由预测图像选择单元78选择的来自帧内预测单元74的预测图像或者来自运动预测/补偿单元75的预测图像,并将其差分信息输出到正交变换单元64。正交变换单元64对来自计算单元63的差分信息进行正交变换(如离散余弦变换、Karhunen-Loeve transform变换等),并输出其变换系数。 量子化单元65将正交变换单元64输出的变换系数量子化。作为量子化单元65的输出的量子化的变换系数被输入到无损编码单元66、进行无损编码(如可变长编码、算术编码等)并被压缩。无损编码单元66从帧内预测单元74获取表示帧内预测的信息,并且从运动预测 /补偿单元75获取表示帧间预测模式等的信息。注意,在下文中将表示帧内预测的信息和表示帧间预测的信息分别称为帧内预测模式信息和帧间预测模式信息。无损编码单元66对量子化的变换系数编码,并且还对表示帧内预测的信息、表示帧间预测模式的信息等编码,并且将它们作为压缩图像中的头信息的一部分。无损编码单元66将编码的数据提供给存储缓冲器67进行存储。例如,利用无损编码单元66进行如可变长编码、算术编码等的无损编码处理。可变长编码的示例包括由H. 264/AVC格式确定的CAVLC(Context-Adaptive Variable Length Coding,基于上下文的自适应可变长编码)。算术编码的示例包括CABACKontext-Adaptive Binary Arithmetic Coding,基于上下文的自适应二进制算术编码)。存储缓冲器67将从无损编码单元66提供的数据作为由H. 264/AVC格式编码的压缩图像输出到图中未示出的下游的存储设备或传输路径等。此外,从量子化单元65输出的量子化变换系数还被输入到逆量子化单元68、进行逆量子化,然后还在逆正交变换单元69处进行逆正交变换。进行了逆正交变换的输出通过计算单元70与从预测图像选择单元78提供的预测图像相加,并且成为局部解码的图像。解块过滤器71从解码图像中去除块噪声,然后将其提供给帧存储器72进行存储。由解块过滤器71进行解块过滤处理之前的图像也被提供给帧存储器72进行存储。开关73将存储在帧存储器72中的基准图像输出到运动预测/补偿单元75或者帧内预测单元74。利用该图像编码设备51,例如来自画面排序缓冲器62的I图片、B图片和P图片被提供给帧内预测单元74,作为要进行帧内预测(也称为帧内处理)的图像。另外,从画面排序缓冲器62读取的B图片和P图片被提供给运动预测/补偿单元75,作为要进行帧间预测(也被称为帧间处理)的图像。帧内预测单元74基于从画面排序缓冲器62读取的要进行帧内预测的图像和从帧存储器72提供的基准图像进行作为候选的所有帧内预测模式的帧内预测处理,以生成预测图像。此时,帧内预测单元74针对所有候选帧内预测模式计算成本函数值,并且选择所算出的成本函数值给出最小值的帧内预测模式作为最佳帧内预测模式。帧内预测单元74将在最佳帧内预测模式中生成的预测图像及其成本函数值提供给预测图像选择单元78。在预测图像选择单元78选择了最佳帧内预测模式中生成的预测图像的情况下,帧内预测单元74将表示最佳帧内预测模式的信息提供给无损编码单元66。 无损编码单元66对该信息编码以作为压缩图像中头信息的一部分。运动预测/补偿单元75对于作为候选的所有帧间预测模式进行运动预测和补偿处理。具体地,从画面排序缓冲器62读取的要进行帧间处理的图像被提供给运动预测/补偿单元75,并且基准图像也从帧存储器72经由开关73提供给运动预测/补偿单元75。运动预测/补偿单元75基于要进行帧间处理的图像和基准图像检测作为候选的所有帧间预测模式的运动矢量、基于这些运动矢量对基准图像进行补偿处理,并生成预测图像。运动预测/补偿单元75将检测出的运动矢量信息、用于帧间处理的图像信息(地址等)以及作为要进行帧间处理的图像与所生成的预测图像之间的余差的一阶余差提供给二阶预测单元76。二阶预测单元76获取与使用运动矢量信息与目标块相关联的基准块相邻的基准相邻像素的地址,并且提供给基准相邻确定单元77。二阶预测单元76根据来自基准相邻确定单元77的对该输入的确定结果,对从帧存储器72读取的并经过二阶预测处理的相应像素进行端点处理。注意,端点处理是使用存在于基准帧的图像框内的另一个像素值确定用于该图像框外部发现的基准相邻像素的像素值的处理。此外,二阶预测是用于在一阶余差与目标相邻像素和基准相邻像素之间的差分之间进行预测并生成二阶差分信息(二阶余差)的处理。二阶预测单元76将通过二阶预测处理生成的二阶余差和用于二阶预测处理的帧内预测模式的信息输出到运动预测/补偿单元75作为二阶预测中的帧内预测模式信息。基准相邻确定单元77使用来自运动预测/补偿单元75的基准相邻像素的地址确定基准相邻像素是否存在于基准帧的图像框内,并且将其确定结果提供给二阶预测单元 76。运动预测/补偿单元75可以通过比较来自二阶预测单元76的二阶余差来确定用于二阶预测的最佳帧内预测模式。此外,运动预测/补偿单元75通过比较二阶余差和一阶余差来确定是否进行二阶预测处理(即,是对二阶余差编码还是对一阶余差编码)。注意, 关于所有候选帧间预测模式进行这些处理。此外,运动预测/补偿单元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格式的描沭图4是示出根据H. 264/AVC格式的运动预测和补偿的块尺寸的示例的图。利用 H. 264/AVC格式,对可变化的块尺寸进行运动预测和补偿。在图4中的上层从左侧依次示出由分割为16X 16像素、16X8像素、8X 16像素和 8X8像素分区的16X16个像素构成的宏块。在图4中的下层从左侧依次示出分割为8X8 像素、8 X 4像素、4 X 8像素和4 X 4像素子分区的8 X 8像素分区。具体地,利用H. 264/AVC格式,可以将一个宏块分割为16 X 16像素、16 X 8像素、 8X16像素和8X8像素分区中的一个,其中,每个分区具有独立的运动矢量信息。此外,可以将8 X 8像素分区分割为8 X 8像素、8 X 4像素、4X 8像素和4X 4像素子分区中的一个, 其中,每个子分区具有独立的运动矢量信息。图5是用于描述根据H. 264/AVC格式的1/4像素精度的预测和补偿处理的图。根据H. 264/AVC格式,使用6抽头FIR (Finite Impulse Response Filter,有限脉冲响应过滤器)进行1/4像素精度的预测和补偿处理。在图5的示例中,位置A表示整数精度像素,位置b、c和d表示1/2像素精度的位
置,位置el、e2和e3表示1/4像素精度的位置。首先,下面将Clip ()定义为如下表达式 ⑴。[数学表达式1]注意,在输入图像具有8比特精度的情况下,max_pix的值为255。使用6抽头FIR过滤器按如下表达式(2)生成位置b和d的像素值。[数学表达式2]F = Α_2-5 · Α_!+20 · A0+20 · A「5 · A2+A3通过在水平方向和垂直方向上应用6抽头FIR过滤器按如下表达式(3)生成位置 c的像素值。[数学表达式3]F = b_2-5 · b_!+20 · b0+20 · b「5 · b2+b3或者F = d_2_5 · c^+20 · d0+20 · d「5 · d2+d3c = Clipl ((F+512) >> 10)...(3)注意,在进行了水平方向和垂直方向上的积项和(sum-of-product)处理之后最终只进行一次Clip处理。
'0,如果a<0; Clipl(a) = |a,其他;
max _ pix,如果 a > max _ ρ χ
1) b, d = Clipl ((F+16) >> 5)
…⑵
13
通过如下表达式(4)中示出的线性插值生成位置el至e3。[数学表达式4]θι = (A+b+1) >> 1e2 = (b+d+1) >> 1e3 = (b+c+1) >> 1... (4)图6是用于描述根据H. 264/AVC格式的多基准帧的预测和补偿处理的图。根据 H. 264/AVC格式,设置多基准帧(Multi-Reference Frame)的运动预测和补偿方法。在图6的示例中,示出从现在开始要编码的目标帧Fn和已经编码的帧Fn-5至 Fn-I。在时间轴上,帧Fn-I比目标帧Fn早1帧,帧Fn_2比目标帧Fn早2帧,帧Fn_3比目标帧Fn早3帧。类似地,帧Fn-4比目标帧Fn早4帧,帧Fn_5比目标帧Fn早5帧。一般来说,在时间轴上离目标帧Fn越近的帧,要加的基准图片编号(ref_id)越小。具体地,帧 Fn-I具有最小的基准图片编号,并且此后基准图片编号按Fn-2、-,Fn-5的顺序减小。关于目标帧Fn,示出了块Al和块A2,在块Al与比目标帧Fn早2帧的帧Fn_2的块Al ’相关联的假定下搜索运动矢量Vl。类似地,在块A2与比目标帧Fn早4帧的帧Fn_4 的块Al’相关联的假定下搜索运动矢量V2。如上所述,根据H. 264/AVC格式,可以利用存储在存储器中的多个基准帧,在一个帧(图片)中参考不同的基准帧。具体地,例如,使得块Al参考帧Fn-2,块A2参考帧Fn-4, 可以为一个图片中的每个块提供独立的基准帧信息(基准图片编号(ref_id))。在此,块表示参考图4描述的16 X 16像素、16 X 8像素、8 X 16像素和8X8像素分区之一。8X8像素子块分区内的基准帧必需一致。根据H. 264/AVC格式,通过执行上面参考图4至图6描述的运动预测和补偿处理, 生成大量的运动矢量信息,并且如果不经改变就对这些信息进行编码,会引起编码效率恶化。响应于此,根据H. 264/AVC格式,按照图7中所示的方法,实现了运动矢量编码信息的减少。图7是用于描述根据H. 264/AVC格式的运动矢量信息生成方法的图。在图7的示例中,示出了现在要编码的目标块E(例如,16X16像素)和与目标块 E相邻的已经编码的块A至D。具体地,块D与目标块E的左上相邻,块B与目标块E的上方相邻,块C与目标块 E的右上相邻,块A与目标块E的左侧相邻。注意,块A至D没有被分割的理由是因为每个块代表具有上面参考图3描述的16X 16像素至4X4像素的一个结构的块。例如,假定用!1^代表关于1( = 4、8、(、0、幻的运动矢量信息。首先,通过使用关于块A、B、C的运动矢量信息的中值预测按如下表达式(5)生成关于目标块E的预测运动矢量信息pmvE。pmvE = med (mvA, mvB, mvc)... (5)由于图像框的边缘以及之前编码等原因,关于块C的运动矢量信息可能不被使用 (可能是不可用的)。在此情况下,代替关于块C的运动矢量信息,使用关于块D的运动矢 M.fn 息。使用pmvE按如下表达式(6)生成作为目标块E的运动矢量信息的、将添加至压缩图像的头部的数据mvdE。
mvdE = mvE-pmvE... (6)注意,在现实中,关于运动矢量信息的水平方向和垂直方向的分量独立进行处理。以这种方式生成预测运动矢量信息,作为基于与相邻块的相关性生成的预测运动矢量信息和运动矢量信息之间的差分的数据mvdE被添加至压缩图像的头部,从而可以减少运动矢量信息。二阶预测单元的配置示例图8是示出二阶预测单元的详细配置示例的框图。在图8的示例中,二阶预测单元76由基准块地址计算单元81、基准相邻地址计算单元82、基准相邻像素确定单元83、目标相邻像素读取单元84、相邻像素差分计算单元85、 帧内预测单元86以及目标块差分缓冲器87构成。运动预测/补偿单元75将目标块的运动矢量(dx,dy)提供给基准块地址计算单元81。运动矢量预测/补偿单元75将目标块地址(x,y)提供给基准块地址计算单元81和目标相邻像素读取单元84。运动矢量预测/补偿单元75将作为目标块和基准块(预测图像)之间的差分的一阶余差提供给目标块差分缓冲器87。基准块地址计算单元81根据来自运动矢量预测/补偿单元75的目标块地址(X, y)和目标块的运动矢量(dx,dy)确定基准块地址(x+dx,y+dy)。基准块地址计算单元81 将确定的基准块地址(x+dX,y+dy)提供给基准相邻地址计算单元82。基准相邻地址计算单元82基于基准块地址(x+dx,y+dy)和与目标块相邻的目标相邻像素的相对地址计算作为基准相邻像素的相对地址的基准相邻地址。基准相邻地址计算单元82将计算出的基准相邻地址(x+dx+ δ X,y+dy+ δ y)提供给基准相邻确定单元77。基准相邻像素是否存在于基准帧的图像框内的确定结果被从基准相邻确定单元 77输入到基准相邻像素确定单元83。在相邻像素存在于基准帧的图像框内的情况下,基准相邻像素确定单元83从帧存储器72中读取以H. 264/AVC定义的相邻像素并且将其存储在未示出的内置缓冲器中。另一方面,在基准相邻像素不存在于基准帧的图像框内的情况下,基准相邻像素确定单元83对不存在的相邻像素进行端点处理以确定从帧存储器72中读取并存储在未示出的内置缓冲器中的基准相邻像素的像素值。在此,端点处理例如是取存在于基准帧的图像框内的另一个像素值作为不存在于图像框内的相邻像素的像素值的处理,稍后将参考图 12详细描述端点处理。目标相邻像素读取单元84使用来自运动预测/补偿单元75的基准块地址(x,y) 从帧存储器72读取目标块的像素值并将其存储在未示出的内置缓冲器中。相邻像素差分计算单元85从建立在目标相邻像素读取单元84中的内置缓冲器中读取目标相邻像素[A’ ],并且还从建立在相邻像素差分计算单元85中的内置缓冲器中读取与目标相邻像素对应的基准相邻像素[B’]。然后相邻像素差分计算单元85计算从各自的内置缓冲器中读取的目标相邻像素[A’]和基准相邻像素[B’]之间的差分,并且将其作为相邻像素的余差[A’ -B’ ]存储在未示出的内置缓冲器中。帧内预测单元86从相邻像素差分计算单元85的内置缓冲器中读取相邻像素的余差[A’-B’],并且从目标块差分缓冲器87中读取目标块的一阶余差[A-B]。帧内预测单元 86使用相邻像素的余差[A’-B’]以每个帧内预测模式[模式]对目标块进行帧内预测,并生成帧内预测图像Ipred(A' -B,)[模式]。然后,帧内预测单元86生成作为目标块的一阶余差和针对目标块预测的帧内预测图像之间的差分的二阶余差,并且将所生成的二阶余差和此时的帧内预测模式的信息提供给运动预测/补偿单元75。注意,在图8的示例中的帧内预测单元86处进行作为二阶预测的帧内预测的电路可以与帧内预测单元75共用一个电路。二阶预测单元和基准相邻确定单元的操作说明接下来,参考图9描述二阶预测单元76和基准相邻确定单元77的操作。注意,以下描述针对目标块的块尺寸为4 X 4像素的情况。在图9的示例中,示出目标帧和基准帧,在目标帧中示出目标块A和与目标块A相邻的目标相邻像素A’。此外,在目标帧和基准帧之间示出在基准帧处取得的关于目标帧A 的运动矢量(dx,dy)。此外,在基准帧中示出通过运动矢量mv(dx,dy)与目标块A相关联的基准块B和与基准块B相邻的基准相邻像素B’。注意,在附图中,用阴影线示出目标相邻像素A’和基准相邻像素B’,以与目标块A和基准块B的像素区分。首先,在二阶预测单元76进行上面参考图1描述的二阶预测处理。此时,由基准相邻确定单元77对基准块B的基准相邻像素B’是否存在于图像框内进行确定,并且在二阶预测单元76处进行如下设置。也就是说,如图9中所示,如果将位于目标块A的左上的像素的地址(坐标)定义为(x,y),则位于基准块B的左上的像素的地址因运动矢量mv(dX,dy)而被定义为(x+dx, y+dy)。此时,利用如下表达式(7),将目标相邻像素A’的地址定义为(χ+ δ χ, y+Sy),并且将目标相邻像素B,的地址定义为(x+dx+ δ χ,y+dy+ δ y)。(δ χ, δγ) = {(-1,-1),(0,-1),(1,-1),(2,-1),(3,-1),(4,-1),(5,-1), (6,-1),(7,-1),(-1,0), (-1,1), (-1,2), (_1,3)}…(7)接下来,参考图10和图11描述使用这些地址设置基准块B的基准相邻像素B’。 注意,目标块A的目标相邻像素Α’的定义符合H.264/AVC的定义。也就是说,稍后将参考图13和图14描述其细节。首先,在图10中的A的示例中,示出与基准块B相邻的基准相邻像素B’的一部分从基准帧的图像框的左侧伸出到外部的示例。在图10中的B的示例中,示出与基准块B相邻的基准相邻像素B’的一部分从基准帧的图像框的上侧伸出到外部的示例。在这些情况下,S卩,对于如下表达式(8)成立时的基准相邻像素B’,二阶预测单元 76将像素值设置为211-1。在此,我们称像素值被表示为η个比特,并且在8个比特的情况下, 像素值是128。 x+dx+ δ χ < 0 或者 y+dy+ δ y > 0... (8)接下来,在图11中的A的示例中,示出基准相邻像素B’的一部分以及基准块B的一部分从基准帧的图像框的下侧伸出到外部的示例。在图11中的B的示例中,示出与基准块B相邻的基准相邻像素B’的一部分从基准帧的图像框的右侧伸出到外部的示例。此时,我们称目标帧和基准帧的图像框尺寸为WIDTHXHEIGHT。如果图像框尺寸为WIDTHXHEIGHT,在例如图11中的A中所示的情况下,S卩,对于如下表达式(9)成立时的基准相邻像素B’,二阶预测单元76将地址(WIDTH-l,y+dy+Sy)指示的像素设置为基准相邻像素。x+dx+ δ χ > WIDTH-I... (9)此外,如果图像框尺寸为WIDTHX HEIGHT,在例如图11中的B中所示的情况下,即, 如下表达式(10)成立时,二阶预测单元76将地址(x+dx+δ X,HEIGHT-1)指示的像素设置为基准相邻像素。y+dy+ δ y > HEIGHT—1... (10)此外,如果图像框尺寸为WIDTHXHEIGHT,在表达式(9)和(10) 二者都成立的情况下,二阶预测单元76将地址(WIDTH-1,HEIGHT-1)指示的像素设置为基准相邻像素。也就是说,对于如图11中的A和图11中的B中的箭头表示的从图像框伸出到外部的基准相邻像素,二阶预测单元76设置基准相邻像素的处理仅是使用与存在于图像框内的基准相邻像素的值相同的值,这是端点处理的一个类型。该处理被称为保持处理。注意,可以采用作为端点处理的另一个类型的镜像处理,代替保持处理。接下来,参考图12描述作为端点处理的保持处理和镜像处理。注意,图11中的B 中所示的E的范围在图12中的A的示例中被放大示出作为保持处理的示例,并且在图12 中的B的示例中被放大示出作为镜像处理的示例。从图像框边界起至图中左侧的基准相邻像素存在于图像框内,并且例如从图像框边界侧起依次具有像素值a0、al和a2。然而,从图像框边界起至图中右侧的基准相邻像素存在于图像框的外部。因此,在图12中的A中所示的保持处理中,使用图像框内最靠近图像框边界的基准相邻像素的像素值aO虚拟生成图像框外部的基准相邻像素的像素值。此外,在图12中的B中所示的镜像处理中,像虚拟像素值作为以图像框边界为中心的镜像存在一样进行处理。也就是说,在镜像处理中,使用图像框内部最靠近图像框边界的基准相邻像素的像素值aO虚拟生成图像框外部最靠近图像框边界侧的基准相邻像素的像素值。使用图像框内部第二靠近图像框边界的基准相邻像素的像素值al虚拟生成图像框外部第二靠近图像框边界的基准相邻像素的像素值。使用图像框内部第三靠近图像框边界的基准相邻像素的像素值a2虚拟生成图像框外部第三靠近图像框边界的基准相邻像素的像素值。注意,在以上描述中,以帧内4X4预测为例进行了描述,但是在帧内8X8预测的情况下,可以通过用如下表达式(11)代替上述表达式(7)进行定义来执行相同的处理。(δχ, δγ) = {(-1,-1),(O, -1),(1,-1),(2,-1),(3,-1),(4,-1),(5,-1), (6,-1), (7,-1), (8,-1), (9,-1), (10,-1), (11,-1), (12,-1), (13,-1), (14,-1), (15,-1), (-1,0), (-1,1), (-1,2), (-1,3), (-1,4), (-1,5), (-1,6), (_1,7)}…(11)在帧内16X16预测的情况下,如稍后描述的图24中所示,相邻像素中位于该块的右上的相邻像素的像素值不被用于帧内预测。因此,可以通过用如下表达式(12)代替上述表达式(7)进行定义来执行相同的处理。(δχ, δγ) = {(-1,-1),(O, -1),(1,-1),(2,-1),(3,-1),(4,-1),(5,-1), (6,-1), (7,-1), (8,-1), (9,-1), (10,-1),(11,-1),(12,-1), (13,-1), (14,-1), (15,-1),(-1,0), (-1,1), (-1,2), (-1,3), (-1,4), (-1,5), (-1,6), (-1,7), (-1,8), (-1,9), (-1, 10),(-1,11), (-1,12), (-1,13), (-1,14), (-1,15)}... (12)同样对于色差信号,在与帧内16X16预测的情况相同的方式下,相邻像素中位于该块的右上的相邻像素的像素值不被用于帧内预测。因此,可以通过用如下表达式(13)代替上述表达式(7)进行定义来执行相同的处理。(δχ, δγ) = {(-1,-1),(0,-1),(1,-1),(2,-1),(3,-1),(4,-1),(5,-1), (6,-1),(7,-1),(-1,0), (-1,1), (-1,2), (-1,3), (-1,4), (-1,5), (-1,6), (_1,7)}… (13)如上所述,利用图像编码设备51,对基准相邻像素是否存在于图像框外部进行确定,并且在基准相邻像素存在于图像框外部的情况下,对该像素进行保持端点处理或镜像端点处理。因此,即使在基准相邻像素存在于图像框外部的情况下,也可以进行二阶预测处理,并且因此可以提高编码效率。图像编码设备的编码处理说明接下来,参考图13中的流程图描述图3中的图像编码设备51的编码处理。在步骤Sll,A/D转换器61对输入图像进行A/D转换。在步骤S12,画面排序缓冲器62存储从A/D转换器61提供的图像,并且对图片进行从显示顺序到编码顺序的排序。在步骤S13,计算单元63计算在步骤S12中排序的图像和预测图像之间的差分。 在进行帧间预测的情况下,经由预测图像选择单元78从运动预测/补偿单元75向计算单元63提供预测图像,在进行帧内预测的情况下,经由预测图像选择单元78从帧内预测单元 74向计算单元63提供预测图像。与原始图像数据的数据量相比,差分数据的数据量较小。因此,与按原样对图像进行编码的情况相比,可以压缩数据量。在步骤S14,正交变换单元64对从计算单元63提供的差分信息进行正交变换。具体地,进行诸如离散余弦变换、Karhimen-Lc^ve变换等的正交变换,并且输出变换系数。在步骤S15,量子化单元65对变换系数进行量子化。按照稍后描述的步骤S25中的处理,控制该量子化的速率。对上述量子化的差分信息进行如下局部解码。也就是说,在步骤S16,逆量子化单元68利用与量子化单元65的属性相对应的属性,对通过量子化单元65量子化的变换系数进行逆量子化。在步骤S17,逆正交变换单元69利用与正交变换单元64的属性相对应的属性对在逆量子化单元68处进行了逆量子化的变换系数进行逆正交变换。在步骤S18,计算单元70将经由预测图像选择单元78输入的预测图像与局部解码的差分信息相加,并且生成局部解码图像(与计算单元63的输入相对应的图像)。在步骤S19,解块过滤器71对从计算单元70输出的图像进行过滤。因此,块噪声被去除。在步骤S20,帧存储器72存储过滤后的图像。注意,未由解块过滤器71进行过滤处理的图像也从计算单元70提供给帧存储器72,并且被存储。在步骤S21,帧内预测单元74和运动预测/补偿单元75进行它们各自的图像预测处理。也就是说,在步骤S21,帧内预测单元74以帧内预测模式进行帧内预测处理,并且运动预测/补偿单元75以帧间预测模式进行运动预测/补偿处理。
此时,基准相邻确定单元77确定与基准块相邻的相邻像素是否存在于基准帧的图像框内,二阶预测单元76根据其确定结果对基准相邻像素进行端点处理,之后进行二阶预测并生成二阶余差。运动预测/补偿单元75确定一阶余差和二阶余差中哪个余差具有较好的编码效率。注意,在进行二阶预测的情况下,需要向解码侧发送表示将要进行二阶预测的二阶预测标记和表示用于二阶预测的帧内预测模式的信息。在稍后描述的步骤S22中选择最佳帧间预测模式的预测图像的情况下,这些信息与最佳帧间预测模式信息等一起被提供给无损编码单元66。尽管稍后将参考图14详细描述步骤S21中的预测处理的细节,但是在该处理中, 以所有候选帧内预测模式的每一个模式进行预测处理,并且计算所有候选帧内预测模式中每一个的成本函数值。基于计算出的成本函数值选择最佳帧内预测模式,并且将通过最佳帧内预测模式中的帧内预测生成的预测图像和成本函数值提供给预测图像选择单元78。此外,在该处理中,以所有候选帧间预测模式进行预测处理,并且使用确定的余差分别计算所有候选帧间预测模式的成本函数值。基于计算出的成本函数值从帧间预测模式中确定最佳帧间预测模式,并将用最佳帧间预测模式生成的预测图像及其成本函数值提供给预测图像选择单元78。注意,在关于最佳帧间预测模式进行二阶预测的情况下,要进行帧间处理的图像和二阶余差之间的差分被提供给预测图像选择单元78作为预测图像。在步骤S22,预测图像选择单元78基于从帧内预测单元74和运动预测/补偿单元75输出的各自的成本函数值确定最佳帧内预测模式和最佳帧间预测模式之一作为最佳预测模式。然后预测图像选择单元78选择所确定的最佳预测模式的预测图像,并将其提供给计算单元63和70。该预测图像(在进行二阶预测的情况下,为要进行帧间处理的图像和二阶余差之间的差分)被用于上述步骤S13和S18中的计算。注意,预测图像的选择信息被提供给帧内预测单元74或者运动预测/补偿单元 75。在选择最佳帧内预测模式的预测图像的情况下,帧内预测单元74将与最佳帧内预测模式有关的信息(即,帧内预测模式信息)提供给无损编码单元66。在选择最佳帧间预测模式的预测图像的情况下,运动预测/补偿单元75将与最佳帧间预测模式有关的信息以及必要时与最佳帧间预测模式相对应的信息输出到无损编码单元66。与最佳帧间预测模式相对应的信息的示例包括表示要进行二阶预测的二阶预测标记、表示二阶预测中帧内预测模式的信息、基准帧信息等。在步骤S23,无损编码单元66对从量子化单元65输出的量子化的变换系数编码。 也就是说,对差分图像(在二阶预测的情况下为二阶差分图像)进行无损编码(如可变长编码、算术编码等)和压缩。此时,在上述步骤S22中从帧内预测单元74输入到无损编码单元66的与最佳帧内预测模式有关的信息或者来自运动预测/补偿单元75的最佳帧间预测模式的信息等也被编码并且添加至头信息。在步骤S24,存储缓冲器67存储差分图像作为压缩图像。存储在存储缓冲器67中的压缩图像被适当地读取,并且经由传输路径传送给解码侧。在步骤S25,速率控制单元79基于存储在存储缓冲器67中的压缩图像,控制量子化单元65的量子化操作的速率,使得不出现溢出或下溢。预测处理的说明
接下来,参考图14中的流程图描述图13的步骤S21中的预测处理。在从画面排序缓冲器62提供的要被处理的图像是用于帧内处理的块图像的情况下,从帧存储器72中读取要参考的解码图像,并经由开关73将该解码图像提供给帧内预测单元74。在步骤S31,帧内预测单元74基于这些图像针对所有候选帧内预测模式对要处理的块的像素进行帧内预测。注意,对于要参考的解码像素,使用未由解块过滤器71进行解块过滤的像素。尽管稍后将参考图27描述步骤S31中的帧内预测处理的细节,但是,以所有候选帧内预测模式进行帧内预测,并且针对所有候选帧内预测模式计算成本函数值。然后基于计算出的成本函数值选择最佳帧内预测模式,并且将通过最佳帧内预测模式中的帧内预测生成的预测图像及其成本函数值提供给预测图像选择单元78。在从画面排序缓冲器62提供的要处理的图像是用于帧间处理的图像的情况下, 从帧存储器72读取要参考的图像,并且经由开关73将该图像提供给运动预测/补偿单元 75。在步骤S32,运动预测/补偿单元75基于这些图像进行帧间运动预测处理。也就是说, 运动预测/补偿单元75参考从帧存储器72提供的图像进行所有候选帧间预测模式的运动预测处理。注意,此时,基准相邻确定单元77使用来自运动预测/补偿单元75的基准相邻像素的地址确定该基准相邻像素是否存在于基准帧的图像框内。二阶预测单元76根据来自基准相邻确定单元77的确定结果进行端点处理,并且将作为进行二阶预测处理的结果获得的二阶余差输出到运动预测/补偿单元75。响应于此,运动预测/补偿单元75确定一阶余差和二阶余差中哪一个余差的编码效率较好,并将其用于后续处理。稍后将参考图28描述步骤S32中的帧间运动预测处理的细节。在该处理中,针对所有候选帧间预测模式进行运动预测处理,并使用一阶差分或二阶差分计算所有候选帧间预测模式的成本函数值。在步骤S33,运动预测/补偿单元75比较在步骤S32计算出的帧间预测模式的成本函数值。运动预测/补偿单元75将给出最小值的预测模式确定为最佳帧间预测模式,并将在最佳帧间预测模式中生成的预测图像及其成本函数值提供给预测图像选择单元78。H. 264/AVC中帧内预测处理的说明接下来,将描述H. 264/AVC中规定的帧内预测模式。首先,描述辉度信号的帧内预测模式。针对用于辉度信号的帧内预测模式,设置帧内4X4预测模式、帧内8X8预测模式和帧内16X16预测模式三个形式。这些是用于确定块单元的模式,并且是针对每个宏块设置的。此外,还可以针对每个宏块设置独立于辉度信号的色差信号的帧内预测模式。此外,在帧内4 X 4预测模式的情况下,可以为每个4 X 4像素目标块设置九种预测模式中的一种预测模式。在帧内8X8预测模式的情况下,可以为每个8X8像素目标块设置九种预测模式中的一种预测模式。此外,在帧内16X16预测模式的情况下,可以为16X16 像素当前宏块设置四种预测模式中的一种预测模式。注意,在下文中,将帧内4X4预测模式、帧内8X8预测模式和帧内16X 16预测模式分别适当地称为4X4像素帧内预测模式、8X8像素帧内预测模式和16X 16像素帧内预测模式。
在图15的示例中,附加到各块的编号-1至25代表各块各自的比特流序列(解码侧的处理序列)。注意,对于辉度信号,宏块被分割为4 X 4像素,并且进行4 X 4像素的DCT。 只有在-1块中所示的帧内16X16预测模式的情况下,收集各块的DC分量,生成4X4矩阵, 并且进一步对其进行正交变换。另一方面,对于色差信号,在如块16和17中所示将宏块分割为4X4像素并且进行4X4像素的DCT之后,收集各块的DC分量,生成2X2矩阵,并且进一步对其进行正交变换。注意,对于帧内8X8预测模式,这只可以用于以高轮廓(high profile)或者该轮廓以上的轮廓对当前宏块进行8X8正交变换的情况。图16和图17是示出九种辉度信号4X4像素帧内预测模式(帧内_4x4_预测_ 模式)的图。除了表示平均值(DC)预测的模式2以外的八种模式分别对应于图18中由0、 1、3至8表示的方向。将参考图19描述九种帧内_4x4_预测_模式。在图19的示例中,像素a至ρ代表要进行帧内处理的目标块的像素,并且像素值A至M代表属于相邻块的像素的像素值。也就是说,像素a至ρ是从画面排序缓冲器62读取的要处理的图像,像素值A至M是已经从帧存储器72读取的要参考的解码图像的像素值。在图16和图17中的每个帧内预测模式的情况下,使用属于相邻块的像素的像素值A至M如下生成像素a至ρ的预测像素值。注意,在像素值“可用,,的情况下,这代表该像素是可用的,而不具有如处于图像框的边缘或者仍未被编码的原因,并且在像素值“不可用”的情况下,这代表由于如处于图像框的边缘或者仍未被编码的原因,该像素是不可用的。模式0是垂直预测模式,并且只适用于像素值A至D“可用”的情况。在此情况下, 按照如下表达式(14)生成像素a至ρ的预测像素值。像素a,e,i,m的预测像素值=A像素b,f,,η的预测像素值=B像素c,g,k,ο的预测像素值=C像素d,h,1,ρ的预测像素值=D…(14)模式1是水平预测模式,并且只适用于像素值I至L“可用”的情况。在此情况下, 按照如下表达式(15)生成像素a至ρ的预测像素值。像素a,b,c,d的预测像素值=I像素e,f,g,h的预测像素值=J像素i,j,k,1的预测像素值=K像素m,η, ο, ρ的预测像素值=L…(15)模式2是DC预测模式,并且在像素值Α、B、C、D、I、J、K、L均“可用”的情况下,按照表达式(16)生成预测像素值。(A+B+C+D+I+J+K+L+4) >>3...(16)此外,在像素值Α、B、C、D均“不可用”的情况下,按照表达式(17)生成预测像素值。(I+J+K+L+2) >>2— (17)
此外,在像素值I、J、K、L均“不可用”的情况下,按照表达式(18)生成预测像素值。(A+B+C+D+2) > > 2...(18)此外,在像素值々、8、(、0、1、、1(、1^均“不可用”的情况下,生成128作为预测像素值。模式3是对角线_下_左预测模式,并且仅适用于像素值A、B、C、D、I、J、K、L、M 均“可用”的情况。在此情况下,按照下面的表达式(19)生成像素a至ρ的预测像素值。像素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,η 的预测像素值=(E+2F+G+2) >>2像素1,ο的预测像素值=(F+2G+H+2) >> 2像素ρ的预测像素值=(G+3H+2) >> 2…(19)模式4是对角线_下_右预测模式,并且仅适用于像素值Α、B、C、D、I、J、K、L、M 均“可用”的情况。在此情况下,按照下面的表达式(20)生成像素a至ρ的预测像素值。像素m的预测像素值=(J+2K+L+2) >> 2像素i,η的预测像素值=(I+2J+K+2) >> 2像素e, j,o 的预测像素值=(M+2I+J+2) >> 2像素a, f, k,ρ 的预测像素值=(A+2M+I+2) >>2像素b,g,1 的预测像素值=(M+2A+B+2) >>2像素c,h的预测像素值=(A+2B+C+2) >> 2像素d 的预测像素值=(B+2C+D+2) >>2... (20)模式5是对角线_垂直_右预测模式,并且仅适用于像素值A、B、C、D、I、J、K、L、 M均“可用”的情况。在此情况下,按照下面的表达式(21)生成像素a至ρ的预测像素值。像素a,j的预测像素值=(M+A+1) >> 1像素b,k的预测像素值=(A+B+1) >> 1像素c,1的预测像素值=(B+C+1) >> 1像素d的预测像素值=(C+D+1) >> 1像素e,η的预测像素值=(Ι+2Μ+Α+2) >>2像素f,ο的预测像素值=(M+2A+B+2) >>2像素g,ρ的预测像素值=(A+2B+C+2) >> 2像素h的预测像素值=(B+2C+D+2) >> 2像素i的预测像素值=(M+2I+J+2) >> 2像素m 的预测像素值=(I+2J+K+2) >> 2... (21)模式6是水平_下预测模式,并且仅适用于像素值A、B、C、D、I、J、K、L、M均“可用”的情况。在此情况下,按照下面的表达式(22)生成像素a至ρ的预测像素值。像素a,g的预测像素值=(M+I+1) >> 1像素b,h的预测像素值=(I+2M+A+2) >>2
22
像素c的预测像素值=(M+2A+B+2) >>2像素d的预测像素值=(A+2B+C+2) >> 2像素e,k的预测像素值=(I+J+1) >> 1像素f,1的预测像素值=(M+2I+J+2) >> 2像素i,ο的预测像素值=(J+K+1) >> 1像素j,ρ的预测像素值=(I+2J+K+2) >> 2像素m的预测像素值=(K+L+1) >> 1像素η 的预测像素值=(J+2K+L+2) >> 2...(22)
模式7是垂直_左预测模式,并且仅适用于像素值Α、B、C、D、I、J、K、L、M均“可
用”的情况。在此情况下,按照下面的表达式(23)生成像素a至ρ的预测像素值。像素a的预测像素值=(A+B+1) >> 1像素b,i的预测像素值=(B+C+1) >> 1像素c,j的预测像素值=(C+D+1) >> 1像素d,k的预测像素值=(D+E+1) >> 1像素1的预测像素值=(E+F+1) >> 1像素e的预测像素值=(A+2B+C+2) >> 2像素f,m的预测像素值=(B+2C+D+2) >>2像素g,η的预测像素值=(C+2D+E+2) >> 2像素h,ο的预测像素值=(D+2E+F+2) >>2像素ρ 的预测像素值=(E+2F+G+2) >> 2- (23)模式8是水平_上预测模式,并且仅适用于像素值A、B、C、D、I、J、K、L、M均“可用”的情况。在此情况下,按照下面的表达式(24)生成像素a至ρ的预测像素值。像素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…(24)接下来,将参考图20描述用于4X4像素辉度信号的帧内预测模式(Intra_4X4_ pred_mode)编码方法。在图20的示例中,示出由4X4像素构成的要被编码的目标块C,并且还示出由4X4像素构成的并且与目标块C相邻的块A和块B。在此情况下,目标块C中的帧内_4 X 4_预测_模式和块A和块B中的帧内_4 X 4_ 预测_模式被认为具有高度相关性。使用该相关性进行以下编码处理可以实现较高的编码效率。也就是说,在图20的示例中,通过将块A和块B中的帧内_4\4_预测_模式分别作为帧内_4 X 4_预测_模式A和帧内_4 X 4_预测_模式B,最可能模式被定义为如下表达式(25)。最可能模式=Min (帧内_4 X 4_预测_模式A,帧内_4 X 4_预测_模式B)
…(25)也就是说,取块A和块B中被分配了较小模式_编号的块作为最可能模式。存在两个被定义为比特流中目标块C的参数的值prev_intra4x4_pred_mode_ flag[luma4x4BlkIdx]禾口 rem_intra4x4_pred_mode[luma4x4BlkIdx],通过基于以下@达式(26)中示出的伪代码的处理进行解码处理,可以获得目标块C的值Intra_4X4_pred_ mode, Intra4x4PredMode[luma4x4BlkIdx]。
if(prev_intra4x4_pred_mode flag [luma4x4BlkIdx])
Intr a4x4PredMode [luma4x4BlkIdx] = MostProbableMode else
if(rem_intra4x4_pred_mode[luma4x4BIkIdx] < MostProbableMode)
Intr a4x4PredMode [luma4x4BlkIdx]= rem_intra4x4_pred_mode[luma4x4BlkIdx
else
Intr a4x4PredMode [luma4x4BlkIdx]= rem_intra4x4_pred_mode[luma4x4BlkIdx] +1...(26)接下来,将描述8X8像素帧内预测模式。图21和图22是示出用于辉度信号的九种8X8像素帧内预测模式(Intra_8x8_pred_mode)。让我们假定当前的8X8块中的像素值被取为ρ[x,y] (O彡χ彡7 ;0彡y彡7),并且用P[-l,-l],…,p[-l,15],p[-l,0],…,[p-1,7]代表相邻块的像素值。对于8X8像素帧内预测模式,在生成预测值之前对相邻像素进行低通过滤处理。 现在让我们假定用P[-1,-1],…,p[-l,15],p[-l,0],…,P[-1,7]代表低通过滤处理之前的像素值,并且用P' [_1,-1],…,P' [-1,15],ρ' [_1,0],…,ρ' [_1,7]代表该处理之后的像素值。首先,在p[_l,-1] “可用”的情况下用以下表达式(27)计算ρ,[O, _1],并且在 P[-l,_l] “不可用”的情况下用以下表达式(28)计算ρ,
。ρ'
= (p[-l,-l]+2*p
+p[l,-1]+2) >> 2 ...(27)ρ'
= (3*p
+p[l,-l]+2) >> 2...(28)用以下表达式(29)计算ρ' [Χ,-1](Χ = 0,·η,7)。ρ' [χ,-1] = (ρ[χ-1,-1]+2*ρ[χ,-1]+ρ[χ+1,-1]+2) >> 2 ...(29)在ρ[χ,-1](χ = 8,…,15) “可用”的情况下,用以下表达式(30)计算ρ' [χ,-1] (χ = 8,…,15)。ρ' [χ,-1] = (ρ[χ-1,-1]+2*ρ[χ,-1]+ρ[χ+1,-1]+2) >> 2ρ' [15,-1] = (ρ[14,-1]+3*ρ[15,-1]+2) >> 2...(30)
在p[_l,-1] “可用”的情况下,按下述计算P’ [-1,-1]。具体地,在p
和 P[_1,0] 二者均“可用”的情况下,用表达式(31)计算ρ’ [-1,-1],并且在p[_l,0] “不可用”的情况下,用表达式(32)计算ρ’ [-1,-1]。此外,在p
“不可用”的情况下,用表达式(33)计算ρ’ [_1,-1]。ρ' [-1,-1] = (p
+2*p[-l,-l]+p[_l,0]+2) >>2 ...(31)ρ' [-1,-1] = (3*ρ[-1,-1]+ρ
+2) >> 2— (32)ρ' [-1,-1] = (3*p[-l,-l]+p[_l,0]+2) >> 2...(33)当P[-I,y](y = 0,…,7) “可用”时,按下述计算 ρ’ [_1,y] (y = 0,…,7)。具体地,首先,在P[_l,-1] “可用”的情况下,用以下表达式(34)计算ρ’ [_1,0],并且在 P[-l,_l] “不可用”的情况下,用表达式(35)计算p’ [-l,0]oρ' [_1,0] = (p[-l,-l]+2*p[-l,0]+p[_l,l]+2) >> 2 …(34)ρ' [-1,0] = (3*p[-l,0]+p[-l,1]+2) >> 2...(35)此外,用以下表达式(36)计算ρ' [-1,y] (y = 1,…,6),并且用表达式(37)计算 P, [-1,7]。 P [-1,y] = (P [-1,y-1] +2*p [-1,y] +ρ [_1,y+1] +2) > > 2 …(36)ρ' [_1,7] = (p[-l,6]+3*p[_l,7]+2) >> 2— (37)使用由此计算出的P’按下述生成图21和图22中所示的帧内预测模式的预测值。模式0是垂直预测模式,并且仅当ρ[χ,-1](χ = 0,…,7) “可用”时适用。用以下表达式(38)生成预测值pred8X8L[x,y]。pred8X8L[x, y] = ρ' [χ, -1]χ, y = 0, ...,7...(38)模式1是水平预测模式,并且仅当ρ[_1,y] (y = 0,…,7) “可用”时适用。用如下表达式(39)生成预测值pred8X8L[x,y]。pred8X8L[x, y] = ρ' [-1, y]x, y = 0, ...,7...(39)模式2是DC预测模式,并且按下述生成预测值predSXSjx,y]。具体地,在 p[x,-IKx = O,…,7)和p[_l,y](y = 0,…,7) 二者均“可用”的情况下,用如下表达式 (40)生成预测值 pred8X8L[x, y]。[数学表达式5]
权利要求
1.一种图像处理设备,包括确定装置,用于使用与目标帧中的目标块相邻的目标相邻像素的相对地址确定与所述基准帧中的基准块相邻的基准相邻像素是否存在于所述基准帧的图像框内;端点处理装置,用于在所述确定装置确定所述基准相邻像素不存在于所述图像框内的情况下对所述基准相邻像素进行端点处理;二阶预测装置,用于通过在所述目标块和所述基准块之间的差分信息与所述目标相邻像素和已经由所述端点处理装置对其进行了端点处理的所述基准相邻像素之间的差分信息之间进行预测来生成二阶差分信息;以及编码装置,用于对由所述二阶预测装置生成的所述二阶差分信息进行编码。
2.根据权利要求1所述的图像处理设备,还包括计算装置,所述计算装置用于利用所述目标块的地址(χ,y)、所述目标块参考所述基准块的运动矢量信息(dx,dy)和所述目标相邻像素的相对地址(δχ,δγ)计算所述基准相邻像素的相对地址(x+dx+δχ,y+dy+δy),其中所述确定装置确定由所述计算装置计算出的所述基准相邻像素的相对地址 (x+dx+ δ X,y+dy+ δ y)是否存在于所述图像框内。
3.根据权利要求2所述的图像处理设备,其中在像素值被表示为η个比特的情况下,所述端点处理装置进行所述端点处理,使得x+dx+ δ χ < 0或y+dy+ δ y < 0成立的所述基准相邻像素的像素值为211—1。
4.根据权利要求2所述的图像处理设备,其中在x+dx+δ χ > WIDTH-I成立的情况下, 所述端点处理装置使用由地址(WIDTH-1,y+dy+ δ y)指示的像素值作为所述基准相邻像素的像素值进行所述端点处理,其中WIDTH代表所述图像框的水平方向上的像素的数目。
5.根据权利要求2所述的图像处理设备,其中在y+dy+δ y > HEIGHT-I成立的情况下, 所述端点处理装置使用由地址(X+dx+δχ,HEIGHT-1)指示的像素值作为所述基准相邻像素的像素值进行所述端点处理,其中HEIGHT代表所述图像框的垂直方向上的像素的数目。
6.根据权利要求2所述的图像处理设备,其中在x+dx+δ χ > WIDTH-I和y+dy+ δ y > HEIGHT-1成立的情况下,所述端点处理装置使用由地址(WIDTH-1,HEIGHT-1)指示的像素值作为所述基准相邻像素的像素值进行所述端点处理,其中WIDTH代表所述图像框的水平方向上的像素的数目,HEIGHT代表所述图像框的垂直方向上的像素的数目。
7.根据权利要求2所述的图像处理设备,其中所述端点处理装置针对不在所述图像框内的所述基准相邻像素进行所述端点处理,在该端点处理中通过镜像处理在所述图像框的边界处对称地生成像素值。
8.根据权利要求1所述的图像处理设备,所述二阶预测装置还包括帧内预测装置,用于使用所述目标相邻像素和已经由所述端点处理装置对其进行了端点处理的所述基准相邻像素之间的差分信息进行预测,以生成关于所述目标块的帧内预测图像;以及二阶差分生成装置,用于计算所述目标块和所述基准块之间的差分信息和由所述帧内预测装置生成的所述帧内预测图像的差分,以生成所述二阶差分信息。
9.根据权利要求1所述的图像处理设备,在所述确定装置确定所述基准相邻像素存在于所述图像框内的情况下,所述二阶预测装置在所述目标块和所述基准块之间的差分信息与所述目标相邻像素和所述基准相邻像素之间的差分信息之间进行预测。
10.一种图像处理方法,包括以下步骤 图像处理设备使用与目标帧中的目标块相邻的目标相邻像素的相对地址确定与所述基准帧中的基准块相邻的基准相邻像素是否存在于所述基准帧的图像框内,在确定所述基准相邻像素不存在于所述图像框内的情况下对所述基准相邻像素进行端点处理,通过在所述目标块和所述基准块之间的差分信息与所述目标相邻像素和已经对其进行了端点处理的所述基准相邻像素之间的差分信息之间进行预测来生成二阶差分信息,以及对所生成的二阶差分信息进行编码。
11.一种图像处理设备,包括解码装置,用于对被编码的目标帧中的目标块的图像进行解码; 确定装置,用于使用与所述目标块相邻的目标相邻像素的相对地址确定与所述基准帧中的基准块相邻的基准相邻像素是否存在于所述基准帧的图像框内;端点处理装置,用于在所述确定装置确定所述基准相邻像素不存在于所述图像框内的情况下对所述基准相邻像素进行端点处理;二阶预测装置,用于通过使用所述目标相邻像素和已经由所述端点处理装置对其进行了端点处理的所述基准相邻像素之间的差分信息进行二阶预测来生成预测图像;以及计算装置,用于将所述目标块的图像、由所述二阶预测装置生成的所述预测图像和所述基准块的图像相加以生成所述目标块的解码图像。
12.根据权利要求11所述的图像处理设备,还包括计算装置,所述计算装置用于利用所述目标块的地址(χ,y)、所述目标块参考所述基准块的运动矢量信息(dx,dy)和所述目标相邻像素的相对地址(Sx,δγ)计算所述基准相邻像素的相对地址(x+dx+δχ,y+dy+δy);其中所述确定装置确定由所述计算装置计算出的所述基准相邻像素的相对地址 (x+dx+ δ χ,y+dy+ δ y)是否存在于图像框内。
13.根据权利要求12所述的图像处理设备,其中在将像素值表示为η个比特的情况下, 所述端点处理装置进行端点处理,使得x+dx+ δ χ < 0或y+dy+ δ y < 0成立的所述基准相邻像素的像素值为2"-1。
14.根据权利要求12所述的图像处理设备,其中在x+dx+δ χ > WIDTH-I成立的情况下,所述端点处理装置使用由地址(WIDTH-1,y+dy+ δ y)指示的像素值作为所述基准相邻像素的像素值进行所述端点处理,其中WIDTH代表所述图像框的水平方向上的像素的数目。
15.根据权利要求12所述的图像处理设备,其中在y+dy+δ y > HEIGHT-I成立的情况下,所述端点处理装置使用由地址(x+dx+δχ,HEIGHT-1)指示的像素值作为所述基准相邻像素的像素值进行所述端点处理,其中HEIGHT代表所述图像框的垂直方向上的像素的数目。
16.根据权利要求12所述的图像处理设备,其中在x+dx+δ χ > WIDTH-I和y+dy+ δ y> HEIGHT-I成立的情况下,所述端点处理装置使用由地址(WIDTH-1,HEIGHT-1)指示的像素值作为所述基准相邻像素的像素值进行所述端点处理,其中WIDTH代表所述图像框的水平方向上的像素的数目,HEIGHT代表所述图像框的垂直方向上的像素的数目。
17.根据权利要求12所述的图像处理设备,其中所述端点处理装置针对不在所述图像框内的所述基准相邻像素进行端点处理,在该端点处理中通过镜像处理在所述图像框的边界处对称地生成像素值。
18.根据权利要求11所述的图像处理设备,所述二阶预测装置还包括预测图像生成装置,用于通过使用所述目标相邻像素和已经由所述端点处理装置对其进行了端点处理的所述基准相邻像素之间的差分信息进行二阶预测来生成预测图像。
19.根据权利要求11所述的图像处理设备,在所述确定装置确定所述基准相邻像素存在于所述图像框内的情况下,所述二阶预测装置使用所述目标相邻像素和所述基准相邻像素之间的差分信息进行预测。
20.一种图像处理方法,包括以下步骤图像处理设备对被编码的目标帧中的目标块的图像进行解码,使用与所述目标块相邻的目标相邻像素的相对地址确定与所述基准帧中的基准块相邻的基准相邻像素是否存在于所述基准帧的图像框内,在确定所述基准相邻像素不存在于所述图像框内的情况下对所述基准相邻像素进行端点处理,通过使用所述目标相邻像素和已经对其进行了端点处理的所述基准相邻像素之间的差分信息进行二阶预测来生成预测图像,以及将所述目标块的图像、由所述二阶预测装置生成的所述预测图像和所述基准块的图像相加,以生成所述目标块的解码图像。
全文摘要
本发明涉及一种图像处理设备和方法。即使在与基准块相邻的相邻像素存在于图像框的外部的情况下,所述图像处理设备和方法也能够进行二阶预测。基准相邻像素确定单元83接收来自基准相邻确定单元77的关于基准相邻像素是否存在于基准帧的图像框内的确定结果。在基准相邻像素存在于基准帧的图像框内的情况下,基准相邻像素确定单元83基于H.264/AVC格式的定义确定相邻像素的像素值。另一方面,在基准相邻像素不存在于基准帧的图像框内的情况下,基准相邻像素确定单元83通过对不存在的相邻像素进行端点处理来确定基准相邻像素的像素值。本发明可应用于例如用H.264/AVC格式编码的图像编码设备。
文档编号H04N7/32GK102396231SQ20108001746
公开日2012年3月28日 申请日期2010年4月22日 优先权日2009年4月24日
发明者佐藤数史 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1