编码方法、解码方法、编码装置、解码装置、编码程序以及解码程序与流程

文档序号:21049182发布日期:2020-06-09 21:05阅读:206来源:国知局
编码方法、解码方法、编码装置、解码装置、编码程序以及解码程序与流程

本发明涉及编码方法、解码方法、编码装置、解码装置、编码程序以及解码程序。



背景技术:

作为动态图像信号的压缩编码相关的国际标准,已知有h.265/hevc。在h.265/hevc中,作为抑制压缩编码时的画质的劣化的环路滤波器技术,导入像素自适应偏移(sao(sampleadaptiveoffset))。

在h.265/hevc导入的像素自适应偏移包含有边缘偏移和带偏移,在压缩编码时能够应用任意一种偏移。其中,带偏移是将像素值的灰度分割为三十二个带,从其中选择灰度连续的四个带,之后对属于这四个带的像素值加上(或者减去)规定的偏移值的处理。

通过应用这样的带偏移,能够调节特定的连续的灰度像素值,所以在图像的压缩编码中,能够使误差降低。

专利文献1:日本特表2014-534762号公报

然而,以往的带偏移按照作为编码单位的块的ctu(codingtreeunit:编码树单元)进行连续的四个带的选择以及规定的偏移值的加法(或者减去)。因此,有在ctu的块尺寸较大的情况下,限定抑制压缩编码时的画质的劣化的效果(画质的改善效果)这样的问题。

除此之外,在压缩编码相关的下一代的国际标准中,预期规定比作为当前的国际标准的h.265/hevc下的ctu的块尺寸大的块尺寸的ctu,而预料到这样的问题更显著。



技术实现要素:

在一个侧面,目的在于使带偏移中的画质的改善效果提高。

根据一方式,编码方法具备以下的构成。即,其特征在于,具有:

将编码单位的块分割为多个子块的分割工序;

对上述多个子块中的至少两个第一子块决定带位置的决定工序;以及

基于上述编码单位的块内的相对于上述第一子块的位置关系、和对上述第一子块决定的带位置,对上述多个子块中上述第一子块以外的第二子块计算上述第二子块的带位置的计算工序,

使用分别对上述第一子块以及第二子块决定或者计算出的带位置,按照子块执行带偏移。

能够使带偏移中的画质的改善效果提高。

附图说明

图1是表示编码器以及解码器的应用例的图。

图2是表示编码器以及解码器的其它的应用例的图。

图3是表示编码器的硬件构成的一个例子的图。

图4是表示编码器的功能构成的一个例子的图。

图5是表示一般的编码器的环路滤波器部的功能构成的一个例子的图。

图6是表示一般的编码器的像素自适应偏移处理的流程的流程图。

图7是用于说明一般的编码器中的带偏移处理的处理内容的图。

图8是表示一般的编码器的带偏移处理的流程的流程图。

图9是表示一般的编码器的信号化处理的流程的流程图。

图10是表示第一实施方式的编码器的环路滤波器部的功能构成的一个例子的图。

图11是表示第一实施方式的编码器的像素自适应偏移处理的流程的流程图。

图12是用于说明第一实施方式的编码器中的区域带偏移处理的处理内容的第一图。

图13是用于说明第一实施方式的编码器中的区域带偏移处理的处理内容的第二图。

图14是表示在第一实施方式的编码器的区域带偏移处理中,用于计算各区域的带位置的计算方法的图。

图15是表示第一实施方式的编码器的区域带偏移处理的流程的流程图。

图16是表示第一实施方式的编码器的信号化处理的流程的流程图。

图17是表示解码器的功能构成的一个例子的图。

图18是表示一般的解码器的环路滤波器部的功能构成的一个例子的图。

图19是表示一般的解码器的像素自适应偏移处理的流程的流程图。

图20是表示第一实施方式的解码器的环路滤波器部的功能构成的一个例子的图。

图21是表示第一实施方式的解码器的适应偏移处理的流程的流程图。

图22是表示第一实施方式的解码器的区域带偏移处理的流程的流程图。

图23是表示在第二实施方式的编码器的区域带偏移处理中,用于计算各区域的带位置的计算方法的图。

图24是表示第二实施方式的编码器的区域带偏移处理的流程的流程图。

图25是表示第二实施方式的编码器的信号化处理的流程的流程图。

图26是表示在一般的编码器中的基于合并模式的带偏移处理中,用于决定带位置的决定方法的图。

图27是表示一般的编码器的包含合并模式的带偏移处理的流程的流程图。

图28是表示一般的编码器的包含合并模式的信号化处理的流程的流程图。

图29是表示一般的解码器的包含合并模式的像素自适应偏移处理的流程的流程图。

图30是表示一般的解码器中的基于合并模式的带偏移处理的详细的流程图。

图31是表示在第三实施方式的编码器中的基于合并模式的区域带偏移处理中,用于计算各区域的带位置的计算方法的图。

图32是表示第三实施方式的编码器的包含合并模式的区域带偏移处理的流程的流程图。

图33是表示第三实施方式的编码器的包含合并模式的信号化处理的流程的流程图。

图34是表示第三实施方式的解码器的包含合并模式的像素自适应偏移处理的流程的流程图。

图35是表示第三实施方式的解码器中的基于合并模式的区域带偏移处理的流程的流程图。

具体实施方式

以下,参照附图对各实施方式进行说明。此外,在本说明书以及附图中,通过对实际具有相同的功能构成的构成要素附加相同的附图标记省略重复的说明。

[第一实施方式]

<1.编码器以及解码器的应用例>

首先,对编码器(编码装置)以及解码器(解码装置)的应用例进行说明。图1是表示编码器以及解码器的应用例的图。

如图1所示,通过分别将编码器110配置于发送装置,将解码器120配置于接收装置,并经由网络160连接,能够形成图像处理系统100。

在图像处理系统100中,配置在发送装置的编码器110通过对输入的图像数据进行编码来生成数据流。另外,发送装置经由网络160将生成的数据流发送给接收装置。

接收装置接收数据流。另外,配置于接收装置的解码器120通过对数据流进行解码生成图像数据,并进行显示。

通过形成这样的图像处理系统100,编码器110以及解码器120例如能够应用于因特网领域、广播领域、通信领域等各种领域。

应用例100a示出将图像处理系统100应用于因特网领域的例子。在应用例100a的情况下,由作为接收装置110的一个例子的个人计算机121a、智能终端121b等接收从作为发送装置110的一个例子的服务器装置111发送的数据流,并进行显示。由此,个人计算机121a、智能终端121b的用户能够经由因特网观看服务器装置111保持的动态图像数据。

应用例100b示出将图像处理系统100应用于广播领域的例子。在应用例100b的情况下,作为接收装置110的一个例子的电视122接收从作为发送装置110的一个例子的广播用发送机112发送的数据流并显示。由此,例如,电视122的用户能够观看广播用发送机112发送的广播内容。

应用例100c示出将图像处理系统100应用于通信领域的例子。在应用例100c的情况下,作为接收装置110的一个例子的可视电话123接收从作为发送装置110的一个例子的可视电话113发送的数据流,并显示。由此,可视电话123的用户能够在看到通话对象的面部的同时进行通话。

图2是表示编码器以及解码器的其它的应用例的图。如图2所示,通过使编码器110和解码器120为一体构成,能够形成积蓄装置200。

积蓄装置200由编码器110对输入的图像数据进行编码,并将生成的数据流储存于记录介质。另外,积蓄装置200通过解码器120对储存于记录介质的数据流进行解码从而生成图像数据,并进行显示。

通过形成这样的积蓄装置200,编码器110以及解码器120例如能够应用于积蓄领域。应用例200a示出将积蓄装置200应用于积蓄领域的例子。在应用例200a的情况下,作为积蓄装置200的一个例子的录像机211将通过内置的编码器110对图像数据进行编码生成的数据流储存于记录介质212。另外,录像机211将通过内置的解码器120对从记录介质212读出的数据流进行解码生成的图像数据显示于监视器213。由此,录像机211的用户能够高效地积蓄获取的动态图像数据。

<2.编码器以及解码器的硬件构成>

接下来,对编码器以及解码器的硬件构成进行说明。此外,编码器110以及解码器120具有相同的硬件构成,所以这里对编码器110的硬件构成进行说明。

图3是表示编码器的硬件构成的一个例子的图。如图3所示,编码器110具有cpu(centralprocessingunit:中央处理器)301、rom(readonlymemory:只读存储器)302、ram(randomaccessmemory:随机存储器)303。cpu301、rom302、ram303形成所谓的计算机。另外,编码器110具有辅助存储装置304、输入装置305、显示装置306、连接装置307、以及驱动装置308。此外,编码器110的各硬件经由总线309相互连接。

cpu301执行安装于辅助存储装置304的各种程序(例如,编码程序等)。

rom302是非易失性存储器。rom302作为存储cpu301为了执行安装于辅助存储装置304的各种程序所需要的各种程序、数据等的主存储设备发挥作用。具体而言,rom302存储bios(basicinput/outputsystem:基本输入输出系统)、efi(extensiblefirmwareinterface:可扩展固件接口)等启动程序等。

ram303是dram(dynamicrandomaccessmemory:动态随机存储器)、sram(staticrandomaccessmemory:静态随机存储器)等易失性存储器。ram303作为提供在通过cpu301执行安装于辅助存储装置304的各种程序时展开的工作区的主存储设备发挥作用。

辅助存储装置304是存储安装的各种程序、在执行各种程序时使用的信息的辅助存储设备。

输入装置305是在对编码器110输入各种指示时使用的输入设备。

显示装置306是显示编码器110的内部信息的显示设备。连接装置307是用于编码器110与解码器120连接,并进行通信的通信设备。

驱动装置308是用于设置计算机能够读取的记录介质310的设备。这里所说的记录介质310包含有cd-rom、软盘、光磁盘等那样以光学,电或者磁的方式记录信息的介质。或者,在记录介质310也可以包含有rom、闪存等那样以电的方式记录信息的半导体存储器等。

此外,例如,也可以通过在驱动装置308设置分发的记录介质310,并由驱动装置308读出记录于该记录介质310的各种程序来对安装于辅助存储装置304的各种程序进行安装。或者,也可以通过经由连接装置307从网络160下载来对安装于辅助存储装置304的各种程序进行安装。

此外,图3所示的硬件构成仅为一个例子,当然也可以根据应用方式,除去图3所示的硬件的一部分,或者置换为其它的硬件进行应用。

<3.编码器的功能构成>

接下来,对通过执行编码程序实现的编码器110的功能构成进行说明。图4是表示编码器的功能构成的一个例子的图。如图4所示,编码器110具有块分割部401、正交变换部402、量子化部403、以及熵编码部404。另外,编码器110具有逆量子化部405、逆正交变换部406、环路滤波器部407、解码图像存储部408、以及帧内/帧间预测部409。

块分割部401按照编码树单元(ctu(codingtreeunit))的块将输入的图像数据地跪地分割为编码单元(cu(codingunit))的块。此外,在一般的(h.265/hevc的)块分割部中,进一步将各cu分割为预测单元(pu(predictionunit))和变换单元(tu(transformunit))的块。然而,在压缩编码相关的下一代的国际标准中,废除pu、tu,全部分割为cu,所以在本实施方式中,以块分割部401将ctu的块全部分割为cu为例进行说明。此外,在压缩编码相关的下一代的国际标准中,ctu的尺寸最大在128像素×128像素以上,所以以下,以ctu的尺寸为128像素×128像素为例进行说明。

正交变换部402对输入的预测残差信号进行正交变换处理。量子化部403通过对进行了正交变换处理的预测残差信号进行量子化生成量子化信号,并输出给熵编码部404以及逆量子化部405。

熵编码部404通过对量子化信号进行熵编码,生成数据流,并输出。

逆量子化部405对量子化信号进行逆量子化,并输出给逆正交变换部406。逆正交变换部406通过对进行了逆量子化的量子化信号进行逆正交变换处理,得到与输入的预测残差信号同等程度的信号。

通过对例如通过帧内/帧间预测部409进行了运动补偿的预测图像加上通过逆正交变换部406得到的信号生成解码图像,并输入到环路滤波器部407。

环路滤波器部407进行降低解码图像的编码噪声的滤波处理。通过由环路滤波器部407进行滤波处理,能够防止在解码图像的帧间画质劣化传播。此外,环路滤波器部407还具有:

·解块滤波器(deblockingfilter)部;

·像素自适应偏移(sampleadaptiveoffset)处理部;以及

·自适应环路滤波器(adaptiveloopfilter)部(详细后述)。

将环路滤波器部407具有的这些各部执行处理时使用的参数(例如,像素自适应偏移处理部执行像素自适应偏移处理时使用的像素自适应偏移参数等)信号化。通过环路滤波器部407信号化的参数作为附带信息通过熵编码部404设置于数据流。

解码图像存储部408存储进行了滤波处理的解码图像。

帧内/帧间预测部409进行使用解码图像的各块生成预测图像的块的帧内预测。另外,帧内/帧间预测部409进行基于解码图像的各帧的块进行运动补偿,生成预测图像的块的帧间预测。

并且,帧内/帧间预测部409输出包含通过帧内预测生成的块或者通过帧间预测生成的块的任意一方的预测图像。

从帧内/帧间预测部409输出的预测图像使用于与输入的图像数据的残差计算,作为预测残差信号,输入到正交变换部402。另外,按照块对从帧内/帧间预测部409输出的预测图像加上通过逆正交变换部406得到的与预测残差信号同等程度的信号,作为解码图像输入到路滤波器部407。

<4.环路滤波器部的说明>

接着,对编码器110的环路滤波器部407的详细进行说明。此外,以下,在对编码器110的环路滤波器部407的详细进行说明时,作为比较对象,首先对一般的(h.265/hevc的)编码器的环路滤波器部进行详细说明。以下,在“4.1”~“4.4”,对一般的编码器的环路滤波器部进行详细说明。其后,在“4.5”~“4.8”,对第一实施方式的编码器110的环路滤波器部407进行详细说明。

<4.1一般的编码器的环路滤波器部的功能构成>

图5是表示一般的编码器的环路滤波器部的功能构成的一个例子的图。如图5所示,环路滤波器部具有解块滤波器部510、像素自适应偏移处理部520。

解块滤波器部510通过对解码图像的各块进行滤波处理,使在对图像数据的各块进行编码时在块边界产生的失真减少。像素自适应偏移处理部520按照像素单位对通过解块滤波器部510进行了滤波处理的解码图像的各块进行分类,并对各像素加上与分类对应的偏移值。

此外,像素自适应偏移处理部520还具有边缘偏移处理部521、带偏移处理部522、选择部523。

边缘偏移处理部521根据在作为边缘偏移类指定的方向连续的三个像素的大小关系对边缘状态进行分类。另外,边缘偏移处理部521对解码图像的各块的像素值加上与边缘状态的分类对应的偏移值。并且,边缘偏移处理部521将对像素值加上偏移值后的各块通知给选择部523。

此外,边缘偏移处理部521在变更边缘偏移处理相关的sao参数的同时,对各个sao参数执行这些处理(边缘偏移处理)。

带偏移处理部522将解码图像能够取得的像素值的灰度分割为三十二个带,从其中选择灰度连续的四个带,之后对属于该四个带的像素值加上(或者减去)偏移值。

具体而言,如图5所示,带偏移处理部522具有块获取部541、sao参数变更部542、像素值变更部543。块获取部541读出像素自适应偏移处理部520获取的处理对象的块,并通知给像素值变更部543。sao参数变更部542决定带偏移处理相关的sao参数,并输出给像素值变更部543。

像素值变更部543使用从sao参数变更部542输出的带偏移处理相关的sao参数变更处理对象的块的像素值。另外,像素值变更部543将变更了像素值之后的块与带偏移处理相关的sao参数一起通知给选择部523。

此外,带偏移处理部522在变更带偏移处理相关的sao参数的同时,对各个sao参数执行这些处理(带偏移处理)。

选择部523对处理对象的块分别获取边缘偏移处理部521进行的处理结果、以及带偏移处理部522进行的处理结果,并计算速率失真(rd(ratedistortion))成本。另外,选择部523判定计算出的rd成本最低的处理结果,并将判定的处理结果的计算所使用的sao参数信号化。

<4.2一般的编码器的像素自适应偏移处理部的像素自适应偏移处理的流程>

接下来,对一般的编码器的像素自适应偏移处理部520的像素自适应偏移处理的流程进行说明。图6是表示一般的编码器的像素自适应偏移处理的流程的流程图。

若对处理对象的块完成解块滤波器部510的解块滤波处理,则像素自适应偏移处理部520开始图6所示的像素自适应偏移处理。

在步骤s601中,像素自适应偏移处理部520获取处理对象的块。

在步骤s602中,边缘偏移处理部521读出获取的处理对象的块,使用边缘偏移处理相关的规定的sao参数,进行边缘偏移处理。

在步骤s603中,选择部523对步骤s602中的边缘偏移处理的处理结果,计算rd成本。

在步骤s604中,判定边缘偏移处理部521是否使用预先决定的范围内的全部的sao参数(边缘偏移处理相关的sao参数)对处理对象的块执行了边缘偏移处理。

在步骤s604中,判定为还有未使用于边缘偏移处理的执行的sao参数的情况下(在步骤s604中为否的情况下),返回到步骤s602。

另一方面,在步骤s604中,判定为使用预先决定的范围内的全部的sao参数执行了边缘偏移处理的情况下,进入步骤s605。

在步骤s605中,带偏移处理部522使用带偏移处理相关的规定的sao参数,对处理对象的块进行带偏移处理(后述详细)。

在步骤s606中,选择部523对步骤s606中的带偏移处理的处理结果,计算rd成本。

在步骤s607中,判定带偏移处理部522是否使用预先决定的范围内的全部的sao参数(带偏移处理相关的sao参数)对处理对象的块执行了带偏移处理。

在步骤s607中,判定为还有未使用于带偏移处理的执行的sao参数的情况下(在步骤s607中为否的情况下),返回到步骤s605。

另一方面,在步骤s607中,判定为使用预先决定的范围内的全部的sao参数执行了带偏移处理的情况下,进入步骤s608。

在步骤s608中,选择部523对边缘偏移处理部521进行的各处理结果、以及带偏移处理部522进行的各处理结果,比较各自的rd成本,并判定rd成本最低的处理结果。另外,选择部523确定判定出的处理结果的计算所使用的sao参数。

在步骤s609中,选择部523将判定出的处理结果选择为像素自适应偏移处理的处理结果并输出。

在步骤s610中,选择部523对特定的sao参数进行信号化处理(后述详细)。

<4.3一般的编码器中的带偏移处理(步骤s605)的详细>

接下来,对一般的编码器中的带偏移处理(步骤s605)的详细进行说明。

(1)带偏移处理的处理内容

首先,对带偏移处理的处理内容进行说明。图7是用于说明一般的编码器中的带偏移处理的处理内容的图。其中,图7的700a表示处理对象的块。如图7的700a所示,在一般的编码器的情况下,在解码图像710中对ctu单位的块执行带偏移处理。图7的700a的例子示出对64像素×64像素的ctu720的块执行带偏移处理,作为处理结果,生成了ctu720'的块的情况。

图7的700b示出带偏移处理的具体例。如图7的700b所示,在解码图像710具有0~255的256灰度的像素值的情况下,由于设定三十二个带,所以每个带的灰度数为8灰度。

这里,sao参数变更部542作为ctu720用的带位置,输出箭头730所示的带位置。该情况下,像素值变更部543作为连续的四个带,识别带731~734。

然后,像素值变更部543对ctu720的块所包含的各像素中像素值属于带731的像素,加上偏移值v1。同样地,像素值变更部543对ctu720的块所包含的各像素中像素值属于带732的像素,加上偏移值v2。同样地,像素值变更部543对ctu720的块所包含的各像素中像素值属于带733的像素,加上偏移值v3。同样地,像素值变更部543对ctu720的块所包含的各像素中像素值属于带734的像素,加上偏移值v4。

这样,像素值变更部543使用带偏移处理相关的sao参数=(箭头730所示的带位置,偏移值v1~v4),对ctu720的块进行带偏移处理。由此,像素值变更部543作为带偏移处理的处理结果,生成ctu720'的块。

此外,分别对连续的四个带加上(或者减去)的偏移值v1~v4既可以是不同的值也可以是相同的值(一个值)。

(2)带偏移处理的流程

接着,对一般的编码器的带偏移处理(步骤s605)的详细的流程图进行说明。图8是表示一般的编码器的带偏移处理的流程的流程图。

在步骤s801中,块获取部541读出像素自适应偏移处理部520获取的处理对象的块。

在步骤s802中,sao参数变更部542决定“带位置”、连续的四个带的“偏移的绝对值”以及“偏移的符号”,作为带偏移处理相关的sao参数。此外,预先决定通过sao参数变更部542决定的带偏移处理相关的sao参数的范围,sao参数变更部542依次决定该范围内的sao参数。另外,sao参数变更部542依次将决定的带偏移处理相关的sao参数输出给像素值变更部543。

在步骤s803中,像素值变更部543使用通过sao参数变更部542输出的带偏移处理相关的sao参数变更通过块获取部541读出的处理对象的块的像素值。

<4.4一般的编码器的信号化处理(步骤s610)的详细>

接下来,对一般的编码器的信号化处理(步骤s610)的详细进行说明。图9是表示一般的编码器的信号化处理的流程的流程图。此外,这里,以通过rd成本比较,判定为使用带偏移处理相关的规定的sao参数的带偏移处理的处理结果是rd成本最低的处理结果为例进行说明。

在步骤s901中,选择部523将表示在像素自适应偏移处理中,选择了带偏移处理的处理结果的信息信号化。

在步骤s902中,选择部523将计算rd成本最低的处理结果时的作为带偏移处理相关的sao参数的四个偏移绝对值信号化。

在步骤s903中,选择部523将计算rd成本最低的处理结果时的作为带偏移处理相关的sao参数的四个偏移符号信号化。

在步骤s904中,选择部523将计算rd成本最低的处理结果时的作为带偏移处理相关的sao参数的带位置信号化。

<4.5第一实施方式的编码器的环路滤波器部的功能构成>

接着,对第一实施方式的编码器110的环路滤波器部407的功能构成进行说明。

图10是表示第一实施方式的编码器的环路滤波器部的功能构成的一个例子的图。此外,对与使用图5说明的一般的编码器的环路滤波器部相同的功能附加相同的附图标记,且在这里省略说明。

与图5的不同点在像素自适应偏移处理部520具有区域带偏移处理部1001、选择部1002、自适应环路滤波器部1003这一点。区域带偏移处理部1001并不如带偏移处理部522那样,以ctu单位的块进行带偏移处理,而进一步将ctu分割为多个区域,并按照区域单位(子块单位)进行带偏移处理。将区域单位的带偏移处理称为“区域带偏移处理”。

为了按照区域单位进行带偏移处理,区域带偏移处理部1001具有块获取部541、区域分割部1011、sao参数变更部1012、sao参数计算部1013、以及像素值变更部1014。

其中,区域分割部1011是分割单元的一个例子,将块获取部541读出的处理对象的块分割为十六个正方形的区域(子块)。此外,处理对象的块的分割数也可以比十六个多也可以比十六个少。另外,区域分割部1011依次将通过分割得到的区域输出给像素值变更部1014。

sao参数变更部1012是决定单元的一个例子,依次决定区域带偏移处理相关的sao参数,并依次将决定的区域带偏移处理相关的sao参数输出给sao参数计算部1013。此外,本实施方式的sao参数变更部1012对通过区域分割部1011分割的十六个区域中位于左上角的区域和位于左下角的区域两个区域,决定区域带偏移处理相关的sao参数。换句话说,sao参数变更部1012决定针对处理对象的块的包含四个顶点中的左上的顶点的区域、和包含左下的顶点的区域两个区域(第一子块)的sao参数。

sao参数计算部1013是计算单元的一个例子。sao参数计算部1013计算两个区域以外(第一子块以外)的剩余的区域(第二子块)的区域带偏移处理相关的sao参数。具体而言,sao参数计算部1013通过使用决定的两个区域的区域带偏移处理相关的sao参数进行插值处理来计算。sao参数计算部1013在进行插值处理时,使用处理对象的块内的两个区域与剩余的区域各自的位置关系。

然后,sao参数计算部1013将决定或者计算出的十六个区域各自的区域带偏移处理相关的sao参数输出给像素值变更部1014。

像素值变更部1014使用从sao参数计算部1013输出的区域带偏移处理相关的sao参数,变更处理对象的块的各区域的像素值。然后,像素值变更部1014将包含变更了像素值的十六个区域的处理对象的块作为区域带偏移处理的处理结果输出到选择部1002。

此外,像素值变更部1014每当从sao参数变更部1012输出决定的区域带偏移处理相关的sao参数,则变更十六个区域的像素值。然后,像素值变更部1014将包含变更了像素值的十六个区域的处理对象的块作为区域带偏移处理的处理结果输出到选择部1002。

选择部1002对处理对象的块,获取边缘偏移处理部521进行的各处理结果、带偏移处理部522进行的各处理结果、以及区域带偏移处理部1001进行的各处理结果,并计算rd成本。另外,选择部1002判定计算出的rd成本最低的处理结果,并选择判定出的处理结果,输出给自适应环路滤波器部1003。并且,选择部1002将判定出的处理结果的计算所使用的sao参数信号化。

自适应环路滤波器部1003通过对通过像素自适应偏移处理部520进行了偏移处理的解码图像的各块进行滤波处理,使与输入图像的误差降低。

<4.6第一实施方式的编码器的像素自适应偏移处理部的像素自适应偏移处理的流程>

接下来,对第一实施方式的编码器110的像素自适应偏移处理部520的像素自适应偏移处理的流程进行说明。图11是表示第一实施方式的编码器的像素自适应偏移处理的流程的流程图。此外,对与使用图6说明的一般的编码器的像素自适应偏移处理的流程图相同的工序附加相同的附图标记,且在这里省略说明。

与图6的不同点是步骤s1101~s1103、s1104。在步骤s1101中,区域带偏移处理部1001使用区域带偏移处理相关的规定的sao参数,对处理对象的块进行区域带偏移处理(后述详细)。

在步骤s1102中,选择部523对步骤s1101中的区域带偏移处理的处理结果计算rd成本。

在步骤s1103中,判定区域带偏移处理部1001是否使用预先决定的范围内的全部的sao参数对处理对象的块执行了区域带偏移处理。

在步骤s1103中,判定为还有未使用于区域带偏移处理的执行的sao参数的情况下(在步骤s1103在为否的情况下),返回到步骤s1101。

另一方面,在步骤s1103中,判定为使用预先决定的范围内的全部的sao参数执行了区域带偏移处理的情况下,进入到步骤s608。

另外,在步骤s1104中,选择部1002对特定的sao参数进行信号化处理(后述详细)。此外,在判定为区域带偏移处理的处理结果rd成本最低的情况下,选择部1002将区域带偏移处理相关的sao参数信号化。其中,选择部1002将区域带偏移处理相关的sao参数中,从sao参数变更部1012输出的两个区域的区域带偏移处理相关的sao参数信号化。

<4.7第一实施方式的编码器中的区域带偏移处理(步骤s1101)的详细>

接下来,对第一实施方式的编码器110中的区域带偏移处理(步骤s1101)的详细进行说明。

(1)区域带偏移处理的处理内容

首先,对带偏移处理的处理内容进行说明。图12是用于说明第一实施方式的编码器中的区域带偏移处理的处理内容的第一图。

如图12所示,在第一实施方式的编码器110的情况下,将解码图像710所包含的ctu720的块分割为十六个区域,并按照区域单位执行区域带偏移处理。ctu720的块的分割数也可以比十六个多也可以比十六个少。

在图12的例子中,通过将128像素×128像素的ctu720的块分割为区域1~区域16共十六个区域,生成ctu1210的块,并从区域1开始依次执行区域带偏移处理。

然后,通过对区域16的区域带偏移处理完成,生成ctu1210'的块。区域带偏移处理部1001将生成的ctu1210'的块作为对ctu720的块的区域带偏移处理的处理结果(ctu720'的块),输出到选择部1002。

(2)区域带偏移处理的具体例

图13是用于说明第一实施方式的编码器中的区域带偏移处理的处理内容的第二图。如图13所示,在解码图像710具有0~255的256灰度的像素值的情况下,由于设定三十二个带,所以每个带的灰度数为8灰度。

图13的1301_1示出sao参数变更部1012输出了箭头1310_1所示的带位置,作为ctu1210的块的区域1用的带位置的情况。该情况下,像素值变更部1014作为连续的四个带,识别带1311_1~1314_1。

然后,像素值变更部1014对ctu1210的块的区域1所包含的各像素中像素值属于带1311_1的像素,加上偏移值v1_1。同样地,像素值变更部1014对ctu1210的块的区域1所包含的各像素中像素值属于带1312_1的像素,加上偏移值v2_1。同样地,像素值变更部1014对ctu1210的块的区域1所包含的各像素中像素值属于带1313_1的像素,加上偏移值v3_1。同样地,像素值变更部1014对ctu1210的块的区域1所包含的各像素中像素值属于带1314_1的像素,加上偏移值v4_1。

此外,区域带偏移处理部1001对区域2~16也进行相同的处理。图13的1301_16示出其中sao参数变更部1012输出了箭头1310_16所示的带位置,作为ctu1210的块的区域16用的带位置的情况。该情况下,像素值变更部1014作为连续的四个的带,识别带1311_16~1314_16。

然后,像素值变更部1014对ctu1210的块的区域16所包含的各像素中像素值属于带1311_16的像素,加上偏移值v1_16。同样地,像素值变更部1014对ctu1210的块的区域16所包含的各像素中像素值属于带1312_16的像素,加上偏移值v2_16。同样地,像素值变更部1014对ctu1210的块的区域16所包含的各像素中像素值属于带1313_16的像素,加上偏移值v316。同样地,像素值变更部1014对ctu1210的块的区域16所包含的各像素中像素值属于带1314_16的像素,加上偏移值v4_16。

这样,像素值变更部1014使用

·箭头1310_1~1310_16所示的带位置,

·偏移值v1_1~v4_16的偏移绝对值,

·偏移值v1_1~v4_16的偏移符号,

作为区域带偏移处理相关的sao参数,来对ctu1210的块进行区域带偏移处理。由此,像素值变更部1014能够生成ctu1210'的块,作为区域带偏移处理的处理结果。

(3)sao参数计算部的处理内容

接着,对sao参数计算部1013的处理内容进行说明。如上述那样,sao参数计算部1013计算从sao参数变更部1012输出的两个区域以外的剩余的区域的区域带偏移处理相关的sao参数。具体而言,sao参数计算部1013通过使用两个区域的区域带偏移处理相关的sao参数进行插值处理来进行计算。sao参数计算部1013在进行插值处理时,使用处理对象的块内的两个区域与剩余的区域各自的位置关系。

图14是表示在第一实施方式的编码器的区域带偏移处理中,用于计算各区域的带位置的计算方法的图。如图14所示,在ctu1210的块的区域1~区域16共十六个区域中,sao参数变更部1012输出对区域1和区域13的带位置“bp1”、“bp2”。

sao参数计算部1013基于从sao参数变更部1012输出的区域1的带位置=“bp1”,计算区域2、区域3、区域4的带位置(下式(1))。

另外,sao参数计算部1013基于从sao参数变更部1012输出的区域13的带位置=“bp2”,计算区域14、区域15、区域16的带位置(下式(2))。

另外,sao参数计算部1013基于带位置=“bp1”、“bp2”,计算区域5、区域6、区域7、区域8的带位置(下式(3))。

并且,sao参数计算部1013基于带位置=“bp1”、“bp2”,计算区域9、区域10、区域11、区域12的带位置(下式(4))。

[式1]

(式1)区域2、区域3、区域4的带位置=区域1的带位置

(式2)区域14、区域15、区域16的带位置=区域13的带位置

(式3)区域5、区域6、区域7、区域8的带位置=(bp1×(3-y)+bp2×y)/3,其中,y是从最上段的区域开始计数的区域数。这里y=1。

(式4)区域9、区域10、区域11、区域12的带位置=(bp1×(3-y)+bp2×y)/3,其中,y是从最上段的区域开始计数的区域数。这里y=2。

(4)区域带偏移处理的流程

接着,对第一实施方式的编码器110的区域带偏移处理(步骤s1101)的详细的流程图进行说明。图15是表示第一实施方式的编码器的区域带偏移处理的流程的流程图。

在步骤s1501中,块获取部541读出处理对象的块。

在步骤s1502中,区域分割部1011将处理对象的块分割为区域1~区域16共十六个区域。

在步骤s1503中,sao参数变更部1012分别对区域1和区域13,决定区域带偏移处理相关的sao参数。具体而言,sao参数变更部1012分别对区域1和区域13,决定带位置、四个偏移绝对值、四个偏移符号。sao参数变更部1012将决定出的区域1和区域13的区域带偏移处理相关的sao参数输出给sao参数计算部1013。

在步骤s1504中,sao参数计算部1013分别对区域2~12、区域14~16计算带位置。此外,这里,假设区域2~12、区域14~16各自的四个偏移绝对值、四个偏移符号决定为与区域1或者区域13相同的值(一个值)。

在步骤s1505中,像素值变更部1014使用决定的或者计算出的区域带偏移处理相关的sao参数,变更十六个区域各自的像素值。

<4.8第一实施方式的编码器的信号化处理(步骤s1104)的详细>

接下来,对第一实施方式的编码器110的信号化处理(步骤s1104)的详细进行说明。图16是表示第一实施方式的编码器的信号化处理的流程的流程图。此外,这里,以通过选择部1002中的rd成本比较,判定为使用了区域带偏移处理相关的规定的sao参数的区域带偏移处理的处理结果是rd成本最低的处理结果为例进行说明。

在步骤s1601中,选择部1002将表示在像素自适应偏移处理中,选择了区域带偏移处理的处理结果的信息信号化。

在步骤s1602中,选择部1002将计算出rd成本最低的处理结果时的区域带偏移处理相关的sao参数中区域1的四个偏移绝对值信号化。

在步骤s1603中,选择部1002将计算出rd成本最低的处理结果时的区域带偏移处理相关的sao参数中区域1的四个偏移符号信号化。

在步骤s1604中,选择部1002将计算出rd成本最低的处理结果时的区域带偏移处理相关的sao参数中区域1的带位置信号化。

在步骤s1605中,选择部1002将计算出rd成本最低的处理结果时的区域带偏移处理相关的sao参数中区域13的四个偏移绝对值信号化。

在步骤s1606中,选择部1002将计算出rd成本最低的处理结果时的区域带偏移处理相关的sao参数中区域13的四个偏移符号信号化。

在步骤s1607中,选择部1002将计算出rd成本最低的处理结果时的区域带偏移处理相关的sao参数中区域13的带位置信号化。

<5.解码器的功能构成>

接下来,对通过执行解码程序实现的解码器120的功能构成进行说明。图17是表示解码器的功能构成的一个例子的图。如图17所示,解码器120具有熵解码部1701、逆量子化部1702、逆正交变换部1703、环路滤波器部1704、解码图像存储部1705、以及帧内/帧间预测部1706。

熵解码部1701对接收的数据流进行解码,并输出量子化信号。另外,熵解码部1701从数据流提取附带信息(包含在环路滤波器部1704中使用的sao参数等),并通知给环路滤波器部1704。

逆量子化部1702将量子化信号逆量子化,并输出给逆正交变换部1703。逆正交变换部1703通过对进行了逆量子化的量子化信号进行逆正交变换处理,得到预测残差信号。

例如,通过对通过帧内/帧间预测部1706进行了运动补偿的预测图像的块加上通过逆正交变换部1703得到的预测残差信号生成解码图像,并输入到环路滤波器部1704。

环路滤波器部1704进行使用通知的附带信息,降低输入的解码图像的编码噪声的滤波处理。通过由环路滤波器部1704进行滤波处理,能够防止在解码图像的帧间画质劣化传播。此外,环路滤波器部1704还具有解块滤波器部、像素自适应偏移处理部、以及自适应环路滤波器部(后述详细)。

另外,环路滤波器部1704输出进行了滤波处理的解码图像作为解码结果,并且存储于解码图像存储部1705。

帧内/帧间预测部1706进行使用解码图像的各块生成预测图像的块的帧内预测。另外,帧内/帧间预测部1706进行基于解码图像的各帧间的块进行运动补偿,生成预测图像的块的帧间预测。

并且,帧内/帧间预测部1706输出包含通过帧内预测生成的块或者通过帧间预测生成的块的任意一方的预测图像。对输出的预测图像加上通过逆正交变换部1703得到的预测残差信号,作为解码图像输入到环路滤波器部1704。

<6.环路滤波器的说明>

接着,对解码器120的环路滤波器部1704的详细进行说明。此外,以下,在对解码器120的环路滤波器部1704的详细进行说明时,作为比较对象,首先,对一般的(h.265/hevc的)解码器的环路滤波器部进行详细说明。以下,“6.1”~“6.2”对一般的解码器的环路滤波器部进行详细说明。其后,在“6.3”~“6.5”,对第一实施方式的解码器120的环路滤波器部1704进行详细说明。

<6.1一般的解码器的环路滤波器部的功能构成>

图18是表示一般的解码器的环路滤波器部的功能构成的一个例子的图。如图18所示,环路滤波器部具有解块滤波器部1810、像素自适应偏移处理部1820。

解块滤波器部1810通过对解码图像的各块进行滤波处理,使在编码器110对图像数据的各块进行编码时在块边界产生的失真减少。像素自适应偏移处理部1820按照像素单位对通过解块滤波器部1810进行了滤波处理的解码图像的各块进行分类,并对各像素加上与分类对应的偏移值。

此外,像素自适应偏移处理部1820还具有边缘偏移处理部1821、带偏移处理部1822,基于从熵解码部1701通知的附带信息,使任意一个处理部执行。

边缘偏移处理部1821根据在作为边缘偏移类指定的方向连续的三个像素的大小关系对边缘状态进行分类。另外,边缘偏移处理部1821对解码图像的各块的像素值加上与边缘状态的分类对应的偏移值。

带偏移处理部1822将解码图像能够取得的像素值的灰度分割为三十二个带,从其中选择灰度连续的四个带,之后对属于该四个带的像素值加上(或者减去)规定的偏移值。

具体而言,带偏移处理部1822还具有块获取部1841、sao参数获取部1842、以及像素值变更部1843。块获取部1841读出像素自适应偏移处理部1820获取的处理对象的块,并通知给像素值变更部1843。sao参数获取部1842获取附带信息所包含的带偏移处理相关的sao参数,并输出给像素值变更部1843。

像素值变更部1843使用从sao参数获取部1842输出的带偏移处理相关的sao参数变更处理对象的块的像素值。然后,像素值变更部1843输出变更了像素值的块。

<6.2一般的解码器的像素自适应偏移处理部的像素自适应偏移处理的流程>

接下来,对一般的解码器的像素自适应偏移处理部1820的像素自适应偏移处理的流程进行说明。图19是表示一般的解码器的像素自适应偏移处理的流程的流程图。

若对处理对象的块完成解块滤波器部1810的解块滤波处理,则像素自适应偏移处理部1820开始图19所示的像素自适应偏移处理。

在步骤s1901中,像素自适应偏移处理部1820获取处理对象的块。

在步骤s1902中,像素自适应偏移处理部1820从熵解码部1701获取附带信息。

在步骤s1903中,像素自适应偏移处理部1820基于获取的附带信息,判定偏移模式是否为带偏移模式。在步骤s1903中判定为带偏移模式的情况下(在步骤s1903中为是的情况下),进入步骤s1904。

在步骤s1904中,带偏移处理部1822使用附带信息所包含的带偏移处理相关的sao参数,执行带偏移处理。具体而言,sao参数获取部1842获取附带信息所包含的带偏移处理相关的sao参数,块获取部1841读出获取的处理对象的块。然后,像素值变更部1843变更处理对象的块的像素值。

另一方面,在步骤s1903中判定为不是带偏移模式的情况下(在步骤s1903中为否的情况下),进入步骤s1905。

在步骤s1905中,像素自适应偏移处理部1820判定偏移模式是否为边缘偏移模式。在步骤s1905中判定为边缘偏移模式的情况下(在步骤s1905中为是的情况下),进入步骤s1908。

在步骤s1908中,边缘偏移处理部1821使用附带信息所包含的边缘偏移处理相关的sao参数执行边缘偏移处理。

另一方面,在步骤s1905中,判定为不是边缘偏移模式的情况下(在步骤s1905中为否的情况下),判定为偏移模式关闭,而结束对处理对象的块的像素自适应偏移处理。

<6.3第一实施方式的解码器的环路滤波器部的功能构成>

接下来,对第一实施方式的解码器120的环路滤波器部1704的功能构成进行说明。

图20是表示第一实施方式的解码器的环路滤波器部的功能构成的一个例子的图。此外,对与使用图18说明的一般的解码器的环路滤波器部相同的功能附加相同的符号,且在这里省略说明。

与图18的不同点在于像素自适应偏移处理部1820具有区域带偏移处理部2001、自适应环路滤波器部2002这一点。像素自适应偏移处理部1820基于从熵解码部1701通知的附带信息,使边缘偏移处理部1821、带偏移处理部1822、区域带偏移处理部2001的任意一个处理部执行。

区域带偏移处理部2001并不如带偏移处理部1822那样,按照ctu单位的块进行处理,而按照进一步将ctu的块分割为多个区域(子块)后的区域单位(子块单位)进行带偏移处理。

为了按照区域单位进行处理,区域带偏移处理部2001具有块获取部1841、区域分割部2011、sao参数获取部1842、sao参数计算部2012、像素值变更部1843。

其中,区域分割部2011将块获取部1841读出的处理对象的块分割为十六个正方形的区域(子块)。此外,处理对象的块的分割数也可以比十六个多也可以比十六个少。另外,区域分割部2011依次将通过分割得到的区域输出到像素值变更部1843。

sao参数获取部1842获取区域带偏移处理相关的sao参数。此外,在本实施方式中,sao参数获取部1842对通过区域分割部2011分割的十六个区域中位于左上角的区域、和位于左下角的区域两个区域,获取区域带偏移处理相关的sao参数。换句话说,sao参数获取部1842对处理对象的块的包含四个顶点中的左上的顶点的区域、和包含左下的顶点的区域两个区域(第一子块),获取区域带偏移处理相关的sao参数。

sao参数计算部2012计算两个区域以外(第一子块以外)的剩余的区域(第二子块)的区域带偏移处理相关的sao参数。具体而言,sao参数计算部2012通过使用两个区域的区域带偏移处理相关的sao参数进行插值处理来进行计算。sao参数计算部2012在进行插值处理时,使用处理对象的块内的两个区域与剩余的区域各自的位置关系。sao参数计算部2012将获取或者计算出的十六个区域各自的区域带偏移处理相关的sao参数输出给像素值变更部1843。

像素值变更部1843使用从sao参数计算部2012输出的区域带偏移处理相关的sao参数变更处理对象的块的各区域的像素值。然后,像素值变更部1843将变更了十六个区域各自的像素值的块输出给自适应环路滤波器部2002。

自适应环路滤波器部2002通过对通过像素自适应偏移处理部520进行了偏移处理的解码图像的各块进行滤波处理,使与输入图像的误差降低。

<6.4第一实施方式的解码器的像素自适应偏移处理部的像素自适应偏移处理的流程>

接下来,对第一实施方式的解码器120的像素自适应偏移处理部1820的像素自适应偏移处理的流程进行说明。图21是表示第一实施方式的解码器的像素自适应偏移处理的流程的流程图。此外,对与使用图19说明的一般的解码器的像素自适应偏移处理的流程图相同的工序附加相同的符号,且在这里省略说明。

与图19的不同点为步骤s2101~2102。在步骤s2101中,像素自适应偏移处理部1820基于获取的附带信息,判定偏移模式是否为区域带偏移模式。在步骤s2101中,判定为是区域带偏移模式的情况下(在步骤s2101中为是的情况下),进入步骤s2102。

在步骤s2102中,区域带偏移处理部2001对处理对象的块,进行区域带偏移处理。此外,以下详细说明解码器120的区域带偏移处理。

<6.5第一实施方式的解码器的区域带偏移处理(步骤s2102)的详细>

图22是表示第一实施方式的解码器的区域带偏移处理的流程的流程图。

在步骤s2201中,块获取部1841读出处理对象的块。

在步骤s2202中,区域分割部2011将处理对象的块分割为区域1~区域16十六个区域。

在步骤s2203中,sao参数获取部1842获取附带信息所包含的区域带偏移处理相关的sao参数。具体而言,sao参数获取部1842获取处理对象的块的区域1、13的带位置、四个偏移绝对值、四个偏移符号。

在步骤s2204中,sao参数计算部2012基于获取的区域1、13的带位置,计算区域2~12、14~16的带位置。另外,sao参数计算部2012使用获取的区域1或者区域13的四个偏移绝对值、四个偏移符号,决定区域2~12、14~16各自的四个偏移绝对值、四个偏移符号。

在步骤s2205中,像素值变更部1843使用区域1~16各自的带位置、四个偏移绝对值、四个偏移符号,变更处理对象的块的区域1~16各自的像素值。

<7.总结>

根据以上的说明可知,第一实施方式的编码器110的像素自适应偏移处理部除了边缘偏移处理部、带偏移处理部之外,还具有区域带偏移处理部,

·将编码单位的块分割为十六个区域(子块),并对两个区域(左上角的区域和左下角的区域)决定带位置。

·通过使用决定的两个区域的带位置进行插值处理计算剩余的区域的带位置。

·使用决定或者计算出的十六个区域各自的带位置,分别对十六个区域执行带偏移处理(区域带偏移处理)。

·在判定为区域带偏移处理的处理结果的rd成本最低的情况下,对判定出的处理结果的计算所使用的十六个区域的带位置中两个区域的带位置进行信号化。然后,将包含进行了信号化的带位置的区域带偏移处理相关的sao参数作为附带信息发送给解码器120。

另外,第一实施方式的解码器120的像素自适应偏移处理部除了边缘偏移处理部、带偏移处理部之外,还具有区域带偏移处理部,

·将解码单位的块分割为十六个区域,并且获取附带信息所包含的两个区域的带位置。

·通过使用获取的两个区域的带位置进行插值处理来计算剩余的区域的带位置。

·使用获取或者计算出的十六个区域各自的带位置,分别对十六个区域执行带偏移处理(区域带偏移处理)。

这样,第一实施方式的编码器以及解码器按照区域单位执行带偏移处理(区域带偏移处理)。由此,根据第一实施方式的编码器以及解码器,与一般的编码器以及解码器相比较,即使在ctu的块的尺寸较大的情况下,也能够在像素自适应偏移处理部中使画质的改善效果提高。

另外,第一实施方式的编码器代替将十六个区域的带位置全部信号化,而将两个区域的带位置信号化。由此,根据第一实施方式的编码器,即使在按照区域单位进行带偏移处理的情况下,也能够抑制附带信息的信息量的增大。

[第二实施方式]

在上述第一实施方式中,以在将编码单位的块分割为十六个区域时,sao参数变更部1012对两个区域(左上角的区域和左下角的区域)决定带位置为例进行了说明。

然而,带位置的决定方法并不限定于此,也可以构成为对三个区域(左上角的区域、左下角的区域以及右上角的区域)决定带位置。换句话说,构成为对处理对象的块的包含四个顶点中的左上的顶点的区域、包含右上的顶点的区域、以及包含左下的顶点的区域的三个区域(第一子块)决定带位置。

以下,以作为与第一实施方式的不同点的编码器110中的区域带偏移处理(步骤s1101)为中心对第二实施方式进行说明(对解码器120侧的不同点省略说明)。

<1.第二实施方式的编码器中的区域带偏移处理(步骤s1101)的详细>

(1)sao参数计算部的处理内容

在第二实施方式中,sao参数变更部1012决定三个区域的带位置。另外,sao参数计算部1013使用从sao参数变更部1012输出的三个区域的带位置,计算剩余的区域的带位置。

具体而言,sao参数计算部1013通过使用三个区域的带位置进行插值处理来进行计算。sao参数计算部1013在进行插值处理时,使用处理对象的块内的三个区域与剩余的区域各自的位置关系。

图23是表示在第二实施方式的编码器的区域带偏移处理中,用于计算各区域的带位置的计算方法的图。如图23所示,sao参数变更部1012对ctu1210的块的区域1~区域16十六个区域中区域1、区域4、区域13,决定带位置“bp1”,“bp2”、“bp3”。

sao参数计算部1013基于从sao参数变更部1012输出的带位置“bp1”、“bp2”、“bp3”,计算剩余的区域(区域2、区域3、区域5~区域12、区域14~区域16)的带位置。

[式2]

(式5)区域2的带位置=(bp1×(3-x)+bp2×x)/3,其中,x是从最左列的区域开始计数的区域数。这里x=1。

(式6)区域3的带位置=(bp1×(3-x)+bp2×x)/3,其中,x是从最左列的区域开始计数的区域数。这里x=2。

(式7)区域5的带位置=(bp1×(3-y)+bp2×y)/3,其中,y是从最上段的区域开始计数的区域数。这里y=1。

(式8)区域9的带位置=(bp1×(3-y)+bp2×y)/3,其中,y是从最上段的区域开始计数的区域数。这里y=2。

(式9)区域16的带位置=bp2+bp3-bp1

(式10)区域8的带位置=(bp2×(3-y)+(bp2+bp3-bp1)×y)/3,这里,y=1。

(式11)区域12的带位置=(bp2×(3-y)+(bp2+bp3-bp1)×y)/3,这里,y=2。

(式12)区域14的带位置=(bp3×(3-x)+(bp2+bp3-bp1)×x)/3,这里,x=1。

(式13)区域15的带位置=(bp3×(3-x)+(bp2+bp3-bp1)×x)/3,这里,x=1。

(式14)区域6的带位置=((区域5的bp)×(3-x)+(区域8的bp)×x)/3,这里,x=1。

(式15)区域7的带位置=((区域5的bp)×(3-x)+(区域8的bp)×x)/3,这里,x=2。

(式16)区域10的带位置=((区域9的bp)×(3-x)+(区域12的bp)×x)/3,这里,x=1。

(式17)区域11的带位置=((区域9的bp)×(3-x)+(区域12的bp)×x)/3,这里,x=2。

(2)区域带偏移处理的流程

接着,对第二实施方式的编码器110的区域带偏移处理(步骤s1101)的详细的流程图进行说明。图24是表示第二实施方式的编码器的区域带偏移处理的流程的流程图。此外,与使用图15说明的第一实施方式的编码器110的区域带偏移处理的不同点是步骤s2401、s2402。

在步骤s2401中,sao参数变更部1012分别对区域1、区域4、区域13决定区域带偏移处理相关的sao参数。具体而言,sao参数变更部1012分别对区域1、区域4、区域13决定带位置、四个偏移绝对值、四个偏移符号。sao参数变更部1012将决定的区域带偏移处理相关的sao参数输出给sao参数计算部1013。

在步骤s2402中,sao参数计算部1013分别对区域2、3、5~12、14~16计算“带位置”。此外,这里,针对各区域2、3、5~12、14~16的四个偏移绝对值、四个偏移符号决定为与区域1,区域4或者区域13的任意一个相同的值(一个值)。

<2.第二实施方式的编码器的信号化处理(步骤s1104)的详细>

接下来,对第二实施方式的编码器110的信号化处理(步骤s1104)的详细进行说明。图25是表示第二实施方式的编码器的信号化处理的流程的流程图。

此外,这里,以通过rd成本比较,判定为使用了区域带偏移处理相关的规定的sao参数的区域带偏移处理的处理结果为rd成本最低的处理结果为例进行说明。与使用图16说明的第一实施方式的编码器110的信号化处理(步骤s1104)的不同点为步骤s2501~s2503。因此,以下,对步骤s2501~s2503进行说明。

在步骤s2501中,选择部1002将在计算出rd成本最低的处理结果时的作为区域带偏移处理相关的sao参数的区域4的四个偏移绝对值信号化。

在步骤s2502中,选择部1002将在计算出rd成本最低的处理结果时的作为区域带偏移处理相关的sao参数的区域4的四个偏移符号信号化。

在步骤s2503中,选择部1002将在计算出rd成本最低的处理结果时的作为区域带偏移处理相关的sao参数的区域4的带位置信号化。

<3.总结>

根据以上的说明可知,第二实施方式的编码器110的像素自适应偏移处理部除了边缘偏移处理部、带偏移处理部之外,还具有区域带偏移处理部,

·将编码单位的块分割为十六个区域(子块),并对三个区域(左上角的区域、右上角的区域、左下角的区域)决定带位置。

·通过使用决定的三个区域的带位置进行插值处理来计算剩余的区域的带位置。

·使用决定或者计算出的十六个区域各自的带位置,分别对十六个区域执行带偏移处理(区域带偏移处理)。

·对十六个区域的带位置中三个区域(左上角的区域、右上角的区域、左下角的区域)的带位置进行信号化。然后,将包含进行了信号化的带位置的区域带偏移处理相关的sao参数作为附带信息发送给解码器120。

这样,第二实施方式的编码器代替将十六个区域的带位置全部信号化,而将三个区域的带位置信号化。由此,根据第二实施方式的编码器,即使在按照区域单位进行带偏移处理的情况下(换句话说,即使在进行了区域带偏移处理的情况下),也能够抑制附带信息的信息量的增大。

此外,在上述说明中,对解码器120的像素自适应偏移处理部省略了说明,但除了使用三个区域的带位置计算剩余的区域的带位置之外,与上述第一实施方式相同。换句话说,在第二实施方式的编码器以及解码器的情况下,也能够享受与上述第一实施方式的编码器以及解码器的情况相同的效果。另外,在上述第一以及第二实施方式中,以将编码单位的块分割为十六个区域(子块),并对两个区域或者三个区域决定带位置为例进行了说明。然而,决定带位置的区域的数目也可以在三个以上。

[第三实施方式]

在上述第一以及第二实施方式中,对在执行区域带偏移处理时,按照处理对象的块分别决定十六个区域中的两个或者三个区域的带位置的情况进行了说明。

然而,带位置的决定方法并不限定于此,例如也可以构成为利用在对在上侧或者左侧相邻的ctu的块进行区域带偏移处理时使用的带位置。

此外,将利用在对在上侧或者下侧相邻的ctu的块进行区域带偏移处理时使用的带位置的模式称为“合并模式”。以下,以与第二实施方式的不同点为中心对第三实施方式进行说明。

此外,以下,在对基于合并模式的区域带偏移处理的详细进行说明时,作为比较对象,首先,对一般的(h.265/hevc的)编码器的合并模式的带偏移处理进行详细说明。以下,“1”~“3”对一般的编码器中的基于合并模式的带偏移处理进行详细说明。其后,在“4”~“6”中对第三实施方式的编码器110中的基于合并模式的区域带偏移处理进行详细说明。

<1.一般的编码器中的基于合并模式的带偏移处理(步骤s605)的详细>

(1)一般的编码器中的基于合并模式的带偏移处理的具体例

图26是表示在一般的编码器中的基于合并模式的带偏移处理中,用于决定带位置的决定方法的图。如图26所示,sao参数变更部542决定ctu720的块的带位置。另外,假设像素值变更部543使用决定的ctu720的块的带位置执行带偏移处理,且处理结果的rd成本最小。

该情况下,选择部523将sao参数变更部542决定的ctu720的块的带位置信号化。

接着,处理对象移至ctu2600的块。此时,sao参数变更部542在ctu2600的块的带位置的决定时,应用合并模式。

该情况下,在sao参数变更部542中,作为ctu2600的块的带位置,复制ctu720的块的带位置并输出。

(2)包含合并模式的带偏移处理的流程

接下来,对一般的编码器的包含合并模式的带偏移处理(步骤s605)的详细的流程图进行说明。图27是表示一般的编码器的包含合并模式的带偏移处理的流程的流程图。此外,与使用图8说明的一般的编码器的带偏移处理的不同点是步骤s2701~s2703。

在步骤s2701中,sao参数变更部542判定是否对处理对象的块执行基于合并模式的带偏移处理。在步骤s2701中判定为执行的情况下(在步骤s2701中为是的情况下),进入步骤s2702。

在步骤s2702中,sao参数变更部542复制在上侧相邻的ctu的块或者在左侧相邻的ctu的块的带偏移处理相关的sao参数。

在步骤s2703中,sao参数变更部542通过复制的带偏移处理相关的sao参数,决定处理对象的块的带偏移处理相关的sao参数。具体而言,sao参数变更部542决定处理对象的块的带位置、四个偏移绝对值、四个偏移符号。

此外,在执行基于合并模式的带偏移处理的情况下,不执行图6的像素自适应偏移处理所示的步骤s602~s604、s606~s608,而输出基于合并模式的带偏移处理的处理结果。

<2.一般的编码器的包含合并模式的信号化处理(步骤s610)的详细>

接下来,对一般的编码器110的包含合并模式的信号化处理(步骤s610)的详细进行说明。此外,这里,为了说明的简化,假设在未应用合并模式的情况下,执行将带偏移处理相关的sao参数信号化的处理。

图28是表示一般的编码器的包含合并模式的信号化处理的流程的流程图。与在第一实施方式中使用图9说明的信号化处理的不同点是步骤s2801~s2802。

在步骤s2801中,选择部523判定是否应用了合并模式。

在步骤s2801中,判定为应用了合并模式的情况下,进入步骤s2802。在步骤s2802中,选择部523将表示应用了合并模式的信息信号化。

<3.一般的解码器的像素自适应偏移处理部的包含合并模式的像素自适应偏移处理的流程>

接下来,对一般的(h.265/hevc的)解码器的像素自适应偏移处理部1820的包含合并模式的像素自适应偏移处理进行说明。图29是表示一般的解码器的包含合并模式的像素自适应偏移处理的流程的流程图。与使用图19说明的一般的解码器的像素自适应偏移处理的不同点为步骤s2901以及s2902。

在步骤s2901中,像素自适应偏移处理部1820基于获取的附带信息,判定是否对处理对象的块应用合并模式。在步骤s2901中判定为应用合并模式的情况下(在步骤s2901中为是的情况下),进入步骤s2902。

在步骤s2902中,带偏移处理部1822执行带偏移(合并模式的情况)处理。此外,以下对带偏移(合并模式的情况)处理的详细进行说明。

<4.一般的解码器中的基于合并模式的带偏移处理的流程>

接下来,对一般的解码器中的基于合并模式的带偏移处理(步骤s2902)的详细进行说明。图30是表示一般的解码器中的基于合并模式的带偏移处理的详细的流程图。

在步骤s2201中,块获取部1841读出处理对象的块。

在步骤s3001中,sao参数获取部1842获取在上侧或者左侧相邻的ctu的块的带偏移处理相关的sao参数。

在步骤s3002中,sao参数获取部1842使用获取的带偏移处理相关的sao参数,决定处理对象的块的带位置、四个偏移绝对值、四个偏移符号。

在步骤s3003中,像素值变更部1843使用带位置、四个偏移绝对值、四个偏移符号,变更处理对象的块的像素值。

<5.第三实施方式的编码器中的基于合并模式的区域带偏移处理(步骤s1101)的详细>

(1)基于合并模式的区域带偏移处理的处理内容

接下来,对第三实施方式的编码器110中的基于合并模式的区域带偏移处理(步骤s1101)的详细进行说明。图31是表示在第三实施方式的编码器中的基于合并模式的区域带偏移处理中用于计算各区域的带位置的计算方法的图。

此外,图31的例子假设在两个ctu(ctu1210和ctu3100)的块中,不基于合并模式而对ctu1210的块执行区域带偏移处理。

具体而言,假设处于以下状态,

·通过sao参数变更部1012决定ctu1210的块的区域1、4、13的带位置,

·通过sao参数计算部1013计算ctu1210的块的区域2、3、5~12、14~16的带位置,

·判定为使用这些带位置进行区域带偏移处理后的处理结果是rd成本最低的处理结果,

·将区域1、4、13的带位置信号化。

对在这样的状态下,对ctu3100执行基于合并模式的区域带偏移处理的情况进行说明。如图31所示,sao参数变更部1012基于ctu1210的块的区域1、4、13的带位置计算ctu3100的块的区域1、4、13的带位置。

具体而言,sao参数变更部1012按照以下的顺序计算ctu3100的块的区域1的带位置。

·计算ctu1210的块的区域1的带位置与区域4的带位置之间的倾斜(区域间(相邻的子块彼此)的带位置的差分的平均值)。

·对计算出的倾斜加上ctu1210的块的区域4的带位置。

另外,sao参数变更部1012按照以下的顺序计算ctu3100的块的区域4的带位置。

·计算ctu1210的块的区域1的带位置与区域4的带位置的差分。

·对计算出的差分加上ctu3100的块的区域1的带位置。

另外,sao参数变更部1012按照以下的顺序计算ctu3100的区域13的带位置。

·计算ctu1210的块的区域1的带位置与区域13的带位置的差分。

·对计算出的差分加上ctu3100的块的区域1的带位置。

若通过sao参数变更部1012,计算出ctu3100的块的区域1、4、13的带位置,sao参数计算部1013计算ctu3100的块的剩余的区域2~3、5~12、14~16的带位置。此外,ctu3100的块的剩余的区域2~3、5~12、14~16的带位置的计算方法与ctu1210的区域2~3、5~12、14~16的带位置的计算方法相同,所以这里省略说明。

(2)包含合并模式的区域带偏移处理的流程

接着,对第三实施方式的编码器110的包含合并模式的区域带偏移处理(步骤s1101)的详细的流程图进行说明。图32是表示第三实施方式的编码器的包含合并模式的区域带偏移处理的流程的流程图。此外,与使用图24说明的第二实施方式的编码器110的区域带偏移处理的不同点为步骤s3201~s3204。

在步骤s3201中,sao参数变更部1012判定在处理对象的块中是否应用合并模式。在步骤s3201中,判定为应用合并模式的情况下,进入步骤s3202。

在步骤s3202中,sao参数变更部1012复制在上侧相邻的ctu的块或者在左侧相邻的ctu的块的区域带偏移处理相关的sao参数。

在步骤s3203中,sao参数变更部1012获取复制的区域带偏移处理相关的sao参数所包含的区域1、4、13的带位置。然后,sao参数变更部1012基于获取的区域1、4、13的带位置,计算处理对象的块的区域1、4、13的带位置。

在步骤s3204中,sao参数计算部1013基于计算出的区域1、4、13的带位置,计算处理对象的块的区域2、3、5~12、14~16的带位置。另外,sao参数计算部1013获取复制的区域带偏移处理相关的sao参数所包含的区域1(或者区域4、区域13)的四个偏移绝对值、偏移符号。然后,sao参数计算部1013将获取的区域1(或者区域4、区域13)的四个偏移绝对值、偏移符号决定为处理对象的块的区域1~16的四个偏移绝对值、偏移符号。

此外,在执行基于合并模式的区域带偏移处理的情况下,不执行图11的适应偏移处理所示的步骤s602~s607、s1102~s608,而输出基于合并模式的区域带偏移处理的处理结果。

<6.第三实施方式的编码器的包含合并模式的信号化处理(步骤s1104)的详细>

接下来,对第三实施方式的编码器110的包含合并模式的信号化处理(步骤s1104)的详细进行说明。此外,这里,为了说明的简化,假设在未应用合并模式的情况下,执行将区域带偏移处理相关的sao参数信号化的处理。

图33是表示第三实施方式的编码器的包含合并模式的信号化处理的流程的流程图。

在步骤s3301中,选择部1002判定是否应用了合并模式。在步骤3301中判定为应用合并模式的情况下,进入步骤s3302。

在步骤s3302中,选择部1002将表示应用合并模式的信息信号化。

<7.第三实施方式的解码器的像素自适应偏移处理部的包含合并模式的像素自适应偏移处理的流程>

接下来,对第三实施方式的解码器120的像素自适应偏移处理部1820的包含合并模式的像素自适应偏移处理的流程进行说明。图34是表示第三实施方式的解码器的包含合并模式的像素自适应偏移处理的流程的流程图。此外,对与第一实施方式的解码器的包含合并模式的像素自适应偏移处理(图21)以及一般的解码器的像素自适应偏移处理(图29)相同的工序附加相同的符号,且在这里省略说明。

与图21以及图29的不同点是步骤s3401以及s3402。在步骤s3401中,像素自适应偏移处理部1820基于获取的附带信息,判定在上侧或者左侧相邻的ctu的块的偏移模式是否为区域带偏移模式。在步骤s3401中,判定为区域带偏移模式的情况下(在步骤s3401中为是的情况下),进入步骤s3402。

在步骤s3402中,区域带偏移处理部2001对处理对象的块,进行基于合并模式的区域带偏移处理。此外,以下对基于合并模式的区域带偏移处理的详细进行说明。

<8.第三实施方式的解码器的基于合并模式的区域带偏移处理(步骤s3402)的详细>

图35是表示第三实施方式的解码器中的基于合并模式的区域带偏移处理的流程的流程图。此外,与使用图22说明的区域带偏移处理的不同点为步骤s3501~s3503。

在步骤s3501中,sao参数获取部1842获取在上侧或者左侧相邻的ctu的块的附带信息所包含的区域带偏移处理相关的sao参数。具体而言,sao参数获取部1842获取相邻的ctu的块的区域1、4、13的带位置、四个偏移绝对值、四个偏移符号。

在步骤s3502中,sao参数计算部2012基于相邻的ctu的块的区域1、4、13的带位置,计算处理对象的块的区域1、4、13的带位置。

在步骤s3503中,sao参数计算部2012基于处理对象的块的区域1、4、13的带位置,计算处理对象的块的区域2、3、5~12、14~16的带位置。另外,sao参数计算部2012将区域1(或者区域4、13)的四个偏移绝对值、偏移符号决定为处理对象的块的区域1~16的四个偏移绝对值、偏移符号。

由此,在像素值变更部1843中,使用计算或者决定的区域1~16各自的带位置、四个偏移绝对值、四个偏移符号,变更处理对象的块的区域1~16各自的像素值。

<9.总结>

根据以上的说明可知,第三实施方式的编码器110的像素自适应偏移处理部除了上述第二实施方式之外,还能够应用基于合并模式的区域带偏移处理,在应用合并模式的情况下,

·获取与处理对象的块相邻的块的三个区域(左上角的区域、右上角的区域、左下角的区域)的带位置。

·将处理对象的块分割为十六个区域,并基于获取的三个区域的带位置计算三个区域(左上角的区域、右上角的区域、左下角的区域)的带位置。

·通过使用计算出的三个区域的带位置进行插值处理来计算剩余的区域的带位置。

·使用计算出的十六个区域各自的带位置,分别对十六个区域执行带偏移处理(区域带偏移处理)。

·将表示执行了基于合并模式的区域带偏移处理的信息信号化,并作为附带信息发送至解码器120。

另外,第三实施方式的解码器120的像素自适应偏移处理部除了上述第二实施方式之外,还能够与基于合并模式的区域带偏移处理对应,

·在判定为应用了基于合并模式的区域带偏移处理的情况下,获取与处理对象的块相邻的块的三个区域(左上角的区域、右上角的区域、左下角的区域)的带位置。

·将处理对象的块分割为十六个区域,并基于获取的三个区域的带位置计算三个区域(左上角的区域、右上角的区域、左下角的区域)的带位置。

·通过使用计算出的三个区域的带位置进行插值处理来计算剩余的区域的带位置。

·使用计算出的十六个区域各自的带位置,分别对十六个区域执行带偏移处理(区域带偏移处理)。

这样,第三实施方式的编码器代替将三个区域的带位置信号化,而将表示执行了基于合并模式的区域带偏移处理的信息信号化。由此,根据第三实施方式的编码器,即使在按照区域单位进行了带偏移处理的情况下,也能够抑制附带信息的信息量的增大。

[其它的实施方式]

在上述第一以及第二实施方式中,以对于区域带偏移处理相关的sao参数中的四个偏移绝对值以及四个偏移符号来说,也仅将区域1、13(或者区域1、4、13)信号化为例进行了说明。然而,信号化对象的区域带偏移处理相关的sao参数并不限定于此。

例如,对于各区域1~16,使用相互不同的值作为四个偏移绝对值以及四个偏移符号。该情况下,也可以构成为对区域1~区域16全部将四个偏移绝对值以及四个偏移符号信号化。

该情况下,在解码器120中,使用进行了信号化的区域1~区域16各自的四个偏移绝对值以及四个偏移符号,执行区域带偏移处理。

或者,在区域2~16和区域1中使用一个值(四个偏移绝对值为相同的值以及四个偏移符号为相同的符号)。该情况下,也可以构成为仅将区域1的四个偏移绝对值以及四个偏移符号信号化。

该情况下,在解码器120中,使用进行了信号化的区域1的四个偏移绝对值以及四个偏移符号,执行区域1~区域16的区域带偏移处理。

另外,在上述第一以及第二实施方式中,以作为区域带偏移处理相关的sao参数,将四个偏移绝对值以及四个偏移符号信号化为例进行了说明。然而,信号化对象的区域带偏移处理相关的sao参数并不限定于此。例如,也可以构成为代替将四个偏移绝对值以及四个偏移符号信号化,而仅将一个偏移绝对值以及一个偏移符号信号化。但是,在该情况下,选择部1002确定处理对象的块中决定的各区域的带位置中最大的带位置、和最小的带位置。然后,选择部1002分别对确定出的最大的带位置与最小的带位置之间所包含的各带,将一个偏移绝对值以及一个偏移符号信号化。

该情况下,在解码器120中,参照进行了信号化的各带的偏移绝对值以及偏移符号,提取与各区域的带位置对应的带的偏移绝对值以及偏移符号。由此,在解码器120中,能够决定各区域的偏移绝对值以及偏移符号。

另外,在上述第一以及第二实施方式中,构成为与带偏移处理部522独立地设置区域带偏移处理部1001,但例如,也可以构成为代替带偏移处理部522而设置区域带偏移处理部1001。

该情况下,区域带偏移处理部1001例如构成为切换执行将处理对象的块分割为十六个区域之后按照区域进行带偏移处理的模式、和不进行分割而进行带偏移处理的模式。换句话说,也可以构成为通过切换将处理对象的块分割为区域时的分割数,切换进行带偏移处理的模式和进行区域带偏移处理的模式。

此外,在像素自适应偏移处理部520中,不需要一直执行带偏移处理和区域带偏移处理双方,当然也可以有仅使任意一方执行的情况,也可以有双方均不执行的情况。

此外,本发明并不限定于上述实施方式所列举的构成等、与其它的要素的组合等这里所示的构成。对于这些点,能够在不脱离本发明的主旨的范围内进行变更,能够根据其应用方式适当地决定。

附图标记说明

100…图像处理系统,110…编码器,120…解码器,407…环路滤波器部,520…像素自适应偏移处理部,521…边缘偏移处理部,522…带偏移处理部,541…块获取部,1001…区域带偏移处理部,1002…选择部,1011…区域分割部,1012…sao参数变更部,1013…sao参数计算部,1014…像素值变更部,1704…环路滤波器部,1820…像素自适应偏移处理部,1821…边缘偏移处理部,1822…带偏移处理部,1841…块获取部,1842…sao参数获取部,1843…像素值变更部,2001…区域带偏移处理部,2011…区域分割部,2012…sao参数计算部。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1