图像处理设备和图像处理方法与流程

文档序号:11852781阅读:357来源:国知局
图像处理设备和图像处理方法与流程

本公开涉及一种图像处理设备和图像处理方法。



背景技术:

为了提高编码效率超过H.264/AVC,目前正在通过联合协作团队视频编码(JCTVC)推行所谓高效视频编码(HEVC)的图像编码方案的标准化,该JCTVC是ITU-T和ISO/IEC的联合标准化组织(例如,见非专利文献1)。

HEVC不仅提供了单层的编码,而且还提供了可伸缩视频编码,与诸如MPEG2和高级视频编码(AVC)等公知图像编码方案中一样。HEVC可伸缩视频编码技术也称为可伸缩HEVC(SHVC)(例如,见非专利文献2)。可伸缩视频编码通常是分层地对传输粗略图像信号的层和传输精细图像信号的层进行编码的技术。

虽然HEVC的标准规范的第一个版本是在2013年初出版的,但是仍从不同角度,诸如除了SHVC之外的编码工具(例如,见非专利文献3)的增强,继续对规范进行扩展。具体地,从HEVC应用称为采样自适应偏移(SAO)滤波的技术。在SAO滤波中,通过基于称为带偏移和边缘偏移的技术从多种模式中选择最佳模式来提高编码效率。

引文列表

非专利文献

非专利文献1:Benjamin Bross等人,“High Efficiency Video Coding(HEVC)text specification draft 10(for FDIS&Consent)”(JCTVC-L1003_v4,2013年1月14日至23日)

非专利文献2:Jianle Chen等人,“High efficiency video coding(HEVC)scalable extensions Draft 5”(JCTVC-P1008_v4,2014年1月9日至17日)

非专利文献3:David Flynn等人,“High Efficiency Video Coding(HEVC)Range Extensions text specification:Draft 5”(JCTVC-O1005_v2,2013年10月23日至11月1日)



技术实现要素:

技术问题

在设置最佳模式和偏移值时,SAO滤波的处理量趋于增大,这可能会导致电路大小或者功耗的增加。

鉴于此,本公开提出了能够减少成本计算的处理量的一种图像处理设备和图像处理方法。

解决问题的方案

根据本公开,提供了一种图像处理设备,其包括:滤波处理部,该滤波处理部配置为执行将偏移量应用于已经解码的解码图像的像素的滤波处理;以及控制单元,该控制单元配置为根据在对图像进行编码时使用的编码参数控制在执行滤波处理时使用的模式和用于该模式的偏移量。

根据本公开,提供了一种图像处理方法,其包括:执行将偏移量应用于已经解码的解码图像的像素的滤波处理;以及通过处理器根据在对图像进行编码时使用的编码参数控制在执行滤波处理时使用的模式和用于该模式的偏移量。

本发明的有益效果

如上所述,根据本公开,提供了能够减少成本计算的处理量的一种图像处理设备和图像处理方法。

上述效果并不一定是限制性的。除了上述效果之外或者取代上述效果,可以获得在本说明书中描述的效果或者可以从本说明书中理解到的其它效果。

附图说明

图1是描述边缘偏移处理的概述的说明图。

图2是描述带偏移处理的概述的说明图。

图3是图示根据本公开的第一实施例的图像编码装置的配置的示例的框图。

图4是图示根据相同实施例的回路滤波器的配置的示例的框图。

图5是描述根据相同实施例的图像编码装置的一系列处理的流程的说明图。

图6是图示根据相同实施例的一系列处理的流程的示例的流程图。

图7是图示根据相同实施例的SAO滤波器的配置的示例的框图。

图8是图示根据相同实施例的SAO滤波器的一系列处理的流程的示例的流程图。

图9是图示根据相同实施例的与通过切换确定部确定是否对各个切片应用SAO处理相关的处理的示例的流程图。

图10是图示根据相同实施例的偏移量确定部的配置的示例的框图。

图11是图示根据对比示例的各个偏移量测量部与各个偏移值之间的对应关系的示例的表。

图12是图示根据对比示例的偏移量确定部的一系列处理的流程的示例的流程图。

图13是图示根据相同实施例的偏移量确定部的配置的示例的框图。

图14是图示根据相同实施例的各个偏移量测量部与各个偏移值之间的对应关系的示例的表。

图15是图示根据相同实施例的各个偏移量测量部与各个偏移值之间的对应关系的示例的表。

图16是图示根据相同实施例的各个偏移量测量部与各个偏移值之间的对应关系的示例的表。

图17是图示根据相同实施例的偏移量确定部的一系列处理的流程的示例的流程图。

图18是描述在H.265/HEVC中的帧内预测的预测模式的说明图。

图19是描述在将方向预测选择作为帧内预测的预测模式时解码图像数据的特征的说明图。

图20图示了根据本公开的第二实施例的在图像编码装置中帧内预测的预测模式与SAO的各个模式之间的对应关系的示例。

图21是图示根据相同实施例的回路滤波器的配置的示例的框图。

图22是图示根据相同实施例的SAO滤波器的配置的示例的框图。

图23是图示根据对比示例的模式确定部的一系列处理的流程的示例的流程图。

图24是图示根据相同实施例的模式确定部的一系列处理的流程的示例的流程图。

图25是描述基于在切片B中的帧间预测中的双向预测生成的预测图像数据的示例的说明图。

图26是图示根据本公开的第三实施例的SAO滤波器的配置的示例的框图。

图27是图示根据相同实施例的第一确定部的配置的示例的框图。

图28是图示根据相同实施例的SAO滤波器的一系列处理的流程的示例的流程图。

图29是图示根据相同实施例的第一确定部的一系列处理的流程的示例的流程图。

图30是图示根据相同实施例的第二确定部的一系列处理的流程的示例的流程图。

图31是描述根据本公开的第四实施例的图像编码装置的概述的说明图。

图32是描述根据相同实施例的SAO滤波器的处理的内容的说明图。

图33是图示根据相同实施例的偏移量确定部的一系列处理的流程的示例的流程图。

图34是图示根据相同实施例的偏移量确定部的一系列处理的流程的示例的流程图。

图35是图示编码器的硬件配置的示例的框图。

图36是图示智能手机的示意性配置的示例的框图。

图37是图示记录/再现装置的示意性配置的示例的框图。

图38是图示图像捕捉装置的示意性配置的示例的框图。

图39是图示视频装置的示意性配置的示例的框图。

图40是图示视频处理器的示意性配置的示例的框图。

图41是图示视频处理器的示意性配置的另一个示例的框图。

具体实施方式

下面将参照附图对本公开的优选实施例进行详细说明。在本说明书和附图中,用相同的附图标记来表示具有大体上相同的功能和结构的元件,并且省略了重复的解释。

将按照下列顺序来进行说明。

1.SAO滤波器的概述

2.第一实施例

2-1.图像编码装置的示例性整体配置

2-2.回路滤波器的示例性配置

2-3.一系列处理的流程

2-4.SAO滤波器

2-4-1.SAO滤波器的示例性配置

2-4-2.SAO滤波器的处理流程

2-5.偏移量确定部

2-5-1.偏移量确定部的对比示例

2-5-2.偏移量确定部的示例性配置

2-5-3.偏移量确定部的处理流程

2-6.总结

3.第二实施例

3-1.概述

3-2.回路滤波器的示例性配置

3-3.SAO滤波器的示例性配置

3-4.模式确定部的处理流程

3-4-1.模式确定部的对比示例

3-4-2.模式确定部的处理流程

3-5.修改示例

3-6.总结

4.第三实施例

4-1.概述

4-2.SAO滤波器的示例性配置

4-3.SAO滤波器的处理流程

4-4.修改示例

4-5.总结

5.第四实施例

5-1.概述

5-2.处理

5-3.总结

6.示例性硬件配置

7.应用示例

7-1.应用于各种产品

7-2.各个实施层

8.总结

<1.SAO滤波器的概述>

首先,将对SAO滤波器的概述进行说明。采样自适应偏移(在下文中也称为“SAO”)滤波器是在H.265/HEVC中最新引入的、在去块滤波处理之后执行的回路滤波技术。SAO配置有两种类型的技术,分别称为边缘偏移(EO)和带偏移(BO),并且以编码树单元(CTU)(即,最大编码单元(LCU))为单位来设置参数。

首先,将对边缘偏移处理的概述进行说明。边缘偏移处理是根据作为处理目标的像素与在该像素附近的两个相邻像素之间的相对关系来对各个像素的像素值的偏移值进行加法和减法的处理。

例如,图1是描述边缘偏移处理的概述的说明图。图1中所示的EO_0至EO_3表示在边缘偏移处理中像素阵列的候选(级别)。在图1中,用附图标记c表示的像素是用作处理目标的像素,而用附图标记a和b表示的像素是该用作处理目标的像素c的相邻像素。基于用于亮度和色度的编码参数“sao_eo_class_luma”和“sao_eo_class_chroma”,以CTU为单位,可以从级别EO_0至EO_3中选择待使用的级别。

类别1至4是在目标像素c与相邻像素a和b之间的像素值关系的分类。例如,类别1表示目标像素x的像素值小于相邻像素a和b的像素值的类别。类别2表示目标c的像素值小于相邻像素a和b的像素值中的一个并且等于另一个像素值的类别。在类别1和2的情况下,通过将偏移量和目标像素c相加,在目标像素c与相邻像素a和b之间进行像素值平滑。

类别3表示目标像素c的像素值大于相邻像素a和b的像素值中的一个并且等于另一个像素值的类别。类别4表示目标像素c的像素值大于相邻像素a和b的像素值的类别。在类别3和4的情况下,通过将偏移量从目标像素c中减去,在目标像素c与相邻像素a和b之间进行像素值平滑。

在边缘偏移中,除了上述的类别1至4之外,还设置了表示不执行边缘偏移处理的类别0。

如上所述,在边缘偏移处理中,选择级别EO_0至EO_3中的一个,并且根据所选择的级别指定与目标像素c的像素值和相邻像素a和b的像素值的关系对应的其中一个类别0至4。然后,根据类别,通过加上或者减去偏移量,对一系列像素进行平滑处理。

接着,将对带偏移处理的概述进行说明。在带偏移处理中,将像素值(即,可根据位深度表达的最大值,从0开始)的梯度划分成32条带,并且,对于属于这些带中的四个连续带的像素,基于为各个带设置的偏移值来改变(加上或者减去)像素值。

例如,图2是描述带偏移处理的概述的说明图,并且图示了位深度为8位的示例。在H.265/HEVC中,可以将8位(像素值是0至255)和10位(像素值是0至1023)用作像素的位深度。换言之,在图2所示的位深度为8位的示例中,将像素值0至255划分成32条带,并且从划分的带0至31中选择出4条带,即带3至6。

如上所述,在SAO滤波器中,以CTU为单位选择上述的边缘偏移处理和带偏移处理中的一个,并且根据所选的处理,通过将偏移量和像素值相加或者将偏移量从像素值中减去来进行平滑处理。

<2.第一实施例>

[2-1.图像编码装置的示例性整体配置]

下面将对根据本公开的第一实施例的图像编码装置进行说明。首先,将参照图3对根据本公开的图像编码装置1的配置的示例进行说明。图3是图示根据第一实施例的图像编码装置1的配置的示例的框图。如图1所示,图像编码装置1包括分选缓冲器11、减法部13、正交变换部14、量化部15、无损编码部16、累积缓冲器17、速率控制部18、反量化部21、反正交变换部22、加法部23、回路滤波器24、帧存储器25、选择器26和27、帧内预测部30和帧间预测部35。

分选缓冲器11对一系列图像数据中包括的图像进行分选。在根据编码处理根据GOP(图片组)结构对图像进行分选之后,分选缓冲器11将已经分选的图像数据输出到减法部13、帧内预测部30、帧间预测部35和回路滤波器24。

将从分选缓冲器11输入的图像数据和由稍后描述的帧内预测部30或者帧间预测部35输入的预测图像数据提供给减法部13。减法部13计算预测误差数据,并且将计算出的预测误差数据输出到正交变换部14,该预测误差数据是从分选缓冲器11输入的图像数据与预测图像数据之间的差值。

正交变换部14对从减法部13输入的预测误差数据进行正交变换。例如,待由正交变换部14进行的正交变换可以是离散余弦变换(DCT)或者Karhunen-Loeve变换。对通过划分CU形成的各个变换单元(TU)进行正交变换。TU的大小自适应地从4×4像素、8×8像素、16×16像素和32×32像素中选择。正交变换部14将通过正交变换处理获得的变换系数数据输出至量化部15。

量化部15提供有从正交变换部14输入的变换系数数据和来自如下所述的速率控制部18的速率控制信号。量化部15利用根据速率控制信号决定的量化步长对变换系数数据进行量化。量化部15将量化的变换系数数据(在下文中称为“量化数据”)输出至无损编码部16和反量化部21。该量化数据对应“位元流”的示例。

无损编码部16对从量化部15输入的量化数据进行无损编码以生成编码流。无损编码部16对由解码器交付的各种参数进行编码,并且将编码的参数插入到编码流的头区域中。由无损编码部16编码的参数可以包括指定四叉树结构的参数、以及下面将描述的与帧内预测有关的信息和与帧间预测有关的信息。然后,无损编码部16将生成的编码流输出至累积缓冲器17。

累积缓冲器17通过使用诸如半导体存储器等存储介质临时性地累积从无损编码部16输入的编码流。然后,累积缓冲器17根据传输路径的带以一定速率将累积的编码流输出至传输部(未示出)(例如,通信接口或者至外围装置的接口)。

速率控制部18监测累积缓冲器17的空闲空间。然后,速率控制部18根据累积缓冲器17上的空闲空间生成速率控制信号,并且将生成的速率控制信号输出至量化部15。例如,当在累积缓冲器17上没有多少空闲空间时,速率控制部18生成用于降低量化数据的位速率的速率控制信号。同样,例如,当累积缓冲器17上的空闲空间足够大时,速率控制部18生成用于增加量化数据的位速率的速率控制信号。

反量化部21、反正交变换部22和加法部23构成了本地解码器。该本地解码器对应恢复量化数据并且生成解码图像数据的“复合部”。

按照量化部15使用的量化步长,反量化部21对量化数据进行反量化,从而恢复变换系数数据。然后,反量化部21将恢复的变换系数数据输出至反正交变换部22。

反正交变换部22对从反量化部21输入的变换系数数据进行反正交变换处理,从而恢复预测误差数据。与在正交变换中一样,针对各个TU进行反正交变换。然后,反正交变换部22将恢复的预测误差数据输出至加法部23。

加法部23将从反正交变换部22输入的恢复的预测误差数据和从帧内预测部30或者帧间预测部35输入的预测图像数据相加,从而生成解码图像数据(重构图像)。然后,加法部23将生成的解码图像数据输出至回路滤波器24和帧存储器25。

回路滤波器24包括一组滤波器,诸如去块滤波器(DF)、SAO滤波器和自适应回路滤波器(ALF),以便提高图像质量。回路滤波器24基于由分选缓冲器11提供的原始图像数据对从加法部23输入的解码图像数据进行滤波处理,并且将滤波后的解码图像数据输出至帧存储器25。稍后将单独对回路滤波器24进行详细说明。

帧存储器25通过使用存储介质来存储从加法部23输入的在滤波之前的解码图像数据和从回路滤波器24输入的在滤波之后的解码图像数据。

选择器26从帧存储器25中读取用于帧内预测的在滤波之前的解码图像数据,并且将读取的解码图像数据作为参考图像数据提供给帧内预测部30。进一步地,选择器26从帧存储器25中读取用于帧间预测的滤波后的解码图像数据,并且将读取的解码图像数据作为参考图像数据提供给帧间预测部35。

在帧内预测模式中,选择器27将预测图像数据作为从帧内预测部30输出的帧内预测结果输出至减法部13,并且还将关于帧内预测的信息输出至无损编码部16。进一步地,在帧间预测模式中,选择器27将预测图像数据作为从帧间预测部35输出的帧间预测结果输出至减法部13,并且还将关于帧间预测的信息输出至无损编码部16。选择器27根据成本的大小来切换帧间预测模式和帧内预测模式。

帧内预测部30基于原始图像数据和解码图像数据对通过划分CU形成的各个预测单元(PU)进行帧内预测处理。例如,帧内预测部30根据在通过使用预定成本函数设置的预测模式中的各个候选模式来评估预测结果。然后,帧内预测部30选择成本最小的预测模式,即压缩比最高的预测模式,作为最佳预测模式。帧内预测部30根据该最佳预测模式生成预测图像数据。帧内预测部30将与帧内预测有关的信息、成本和预测图像数据输出至选择器27,该与帧内预测有关的信息包括指示所选择的最佳预测模式的预测模式信息。

帧间预测部35基于原始图像数据和解码图像数据对通过划分CU形成的各个PU进行帧间预测处理。例如,帧间预测部35根据在通过使用预定成本函数设置的预测模式中的各个候选模式来评估预测结果。然后,帧间预测部35选择成本最小的预测模式,即压缩比最高的预测模式,作为最佳预测模式。帧间预测部35根据该最佳预测模式生成预测图像数据。然后,帧间预测部35将与帧间预测有关的信息、成本和预测图像数据输出至选择器27,该与帧间预测有关的信息包括指示所选择的最佳预测模式的预测模式信息和运动信息。

[2-2.回路滤波器的示例性配置]

接着,将参照图4对根据本实施例的回路滤波器24的配置的示例进行说明。图4是图示根据本实施例的回路滤波器24的配置的示例的框图。如图4所示,回路滤波器24包括原始图像保存部100、去块滤波器200、SAO滤波器300和自适应回路滤波器400。

原始图像保持部100是将由分选缓冲器11提供的原始图像数据保存至回路滤波器24的保存部。回路滤波器24的各个部件通过适当地参照保存在原始图像保持部100中的原始图像数据来进行滤波处理。

首先将由反量化部21、反正交变换部22和加法部23(即,本地解码器)解码的解码图像数据(重构图像)提供给去块滤波器200。

去块滤波器200通过适当地执行去块滤波处理来消除解码图像数据的块失真。在本说明书中,省略了对去块滤波处理的详细说明。去块滤波器200将滤波处理结果输出至SAO滤波器300。

SAO滤波器300以CTU为单位决定出应用于由去块滤波器200滤波的解码图像数据的SAO模式和偏移值。

SAO模式指示图1和图2所示的边缘偏移和带偏移中的所选择的一个偏移。当选择了边缘偏移时,SAO模式指示在图1所示的边缘偏移的级别EO_0至EO_3中的所选择级别和在类别0至4中与该级别对应的所选择类别。进一步地,当选择了带偏移时,SAO模式指示在图2所示的带偏移的带中的所选择带。

然后,SAO滤波器300基于确定的模式和偏移值以CTU为单位对解码图像数据进行滤波处理(在下文中也称为“SAO处理”)。

具体地,根据本实施例的SAO滤波器300基于用于生成作为解码图像数据的解码源的量化数据的量化步长(量化参数(QP)),减少SAO处理的处理负载。只要SAO滤波器300可以获取作为解码图像数据的解码源的量化数据的量化步长,便不会具体限制获取源。作为具体示例,SAO滤波器300可以从量化部15获取量化步长。稍后将单独对根据本实施例的SAO滤波器300进行详细说明。

SAO滤波器300将已经经过SAO处理的解码图像数据输出至自适应回路滤波器400。SAO滤波器300将以CTU为单位决定的SAO模式和偏移量输出至无损编码部16作为编码参数。在接收到该输出后,无损编码部16针对生成的编码流对提供的SAO模式和偏移值进行编码,然后将SAO模式和偏移值插入到编码流的头区域中。

自适应回路滤波器400对已经经过SAO处理的、由SAO滤波器300提供的解码图像数据进行自适应回路滤波(ALF)处理。在自适应回路滤波器400,例如,将二维维纳(Wiener)滤波器用作滤波器。应该明白的是,可以使用除了维纳滤波器之外的滤波器。

自适应回路滤波器400具有不同抽头大小的多个滤波器,并且执行自适应回路滤波处理。自适应回路滤波器400将滤波处理结果输出至帧存储器25。

上面已经参照图4对根据本实施例的回路滤波器24的配置的示例进行了说明。

[2-3.一系列处理的流程]

接着,将参照图5和图6对根据本实施例的图像编码装置的一系列处理的流程进行说明。图5和图6是描述根据本实施例的图像编码装置的一系列处理的流程的说明图。

例如,图5图示了图像编码装置将图片P1划分成多个块(CTU)并且以块为单位进行编码的处理流程。如图5所示,图像编码装置以光栅扫描的方式从左上角到右下角扫描图片P1,将图片P1划分成具有固定块大小的多个CTU,并且对CTU进行处理。换言之,在图5所示的示例的情况下,图像编码装置将图片P1进行划分并且按照块U11、U12、…U1m、U21、U22、U23和U24的顺序对图片P1进行处理。

具体地,下面的描述将继续图像编码装置的一系列处理的流程直到生成块U23的解码图像数据,并且通过回路滤波器24进行滤波处理,重点放在将块U23设置为处理目标时的操作。在这种情况下,块U11至U1m、U21和U22均是已处理块,而且,在已处理块中,具体地,块U13和U22是处理目标块U23的相邻块。

接着,将参照图6、图3和图4对直到生成图片P1中的一个CTU的解码图像数据并且通过回路滤波器24进行滤波处理之前的处理流程进行说明。图6是图示根据本实施例的图像编码装置的一系列处理的流程的示例的流程图,具体地,图示了直到生成图片P1中的一个CTU的解码图像数据并且通过回路滤波器24进行滤波处理之前的处理流程。在本说明书中,描述的重点在于解码图像数据的生成,并且省略了对量化数据进行无损编码并且生成和输出编码流的处理的描述。

(步骤S11)

分选缓冲器11(见图3)对一系列图像数据中包括的图像进行分选。在根据编码处理根据GOP(图片组)结构对图像进行分选之后,分选缓冲器11将已经分选的图像数据输出到减法部13、帧内预测部30、帧间预测部35和回路滤波器24。

选择器26从帧存储器25中读取用于帧内预测的在滤波之前的解码图像数据,并且将读取的解码图像数据作为参考图像数据提供给帧内预测部30。进一步地,选择器26从帧存储器25中读取用于帧间预测的滤波后的解码图像数据,并且将读取的解码图像数据作为参考图像数据提供给帧间预测部35。

帧内预测部30基于提供的原始图像数据和解码图像数据以通过划分CU形成的PU为单位进行帧内预测处理。

此时,当将图5所示的块U23设置为帧内预测处理的目标时,帧内预测部30基于块U23的原始图像数据和相邻已处理块U13和U22的解码图像数据进行帧内预测处理。

帧内预测部30根据通过使用预定成本函数设置的预测模式中的各个候选模式来评估预测结果,并且基于评估结果选择最佳预测模式。帧内预测部30根据该最佳预测模式生成预测图像数据。然后,帧内预测部30将与帧内预测有关的信息、成本和预测图像数据传输至选择器27,该与帧内预测有关的信息包括指示所选择的最佳预测模式的预测模式信息。

帧间预测部35基于原始图像数据和解码图像数据以通过划分CU形成的PU为单位进行帧间预测处理。

帧间预测部35根据通过使用预定成本函数设置的预测模式中的各个候选模式来评估预测结果,并且基于评估结果选择最佳预测模式。帧间预测部35根据该最佳预测模式生成预测图像数据。然后,帧间预测部35将与帧间预测有关的信息、成本和预测图像数据输出至选择器27,该与帧间预测有关的信息包括指示所选择的最佳预测模式的预测模式信息和运动信息。

在帧内预测模式中,选择器27将预测图像数据作为从帧内预测部30输出的帧内预测结果输出至减法部13,并且还将关于帧内预测的信息输出至无损编码部16。进一步地,在帧间预测模式中,选择器27将预测图像数据作为从帧间预测部35输出的帧间预测结果输出至减法部13,并且还将关于帧间预测的信息输出至无损编码部16。选择器27根据成本的大小来切换帧间预测模式和帧内预测模式。

(步骤S12)

将从分选缓冲器11输入的图像数据和由帧内预测部30或者帧间预测部35输入的预测图像数据提供给减法部13。减法部13计算预测误差数据,并且将计算出的预测误差数据输出到正交变换部14,该预测误差数据是在从分选缓冲器11输入的图像数据与预测图像数据之间的差值。

(步骤S13)

正交变换部14对从减法部13输入的预测误差数据进行正交变换。正交变换部14将通过正交变换处理获得的变换系数数据输出至量化部15。

将从正交变换部14输入的变换系数数据和从速率控制部18输入的速率控制信号提供给量化部15。量化部15利用根据速率控制信号确定的量化步长对变换系数数据进行量化。量化部15将量化的变换系数数据(即,量化数据)输出至无损编码部16和反量化部21。

(步骤S14)

按照量化部15使用的量化步长,反量化部21对量化数据进行反量化,从而恢复变换系数数据。然后,反量化部21将恢复的变换系数数据输出至反正交变换部22。

反正交变换部22对从反量化部21输入的变换系数数据进行反正交变换处理,从而恢复预测误差数据。与在正交变换中一样,针对各个TU进行反正交变换。然后,反正交变换部22将恢复的预测误差数据输出至加法部23。

(步骤S15)

加法部23将从反正交变换部22输入的恢复的预测误差数据和从帧内预测部30或者帧间预测部35输入的预测图像数据相加,从而生成解码图像数据(重构图像)。然后,加法部23将生成的解码图像数据输出至回路滤波器24和帧存储器25。

(步骤S16)

将输出至回路滤波器24的解码图像数据提供给去块滤波器200(见图4)。去块滤波器200通过适当地执行去块滤波处理来消除解码图像数据的块失真。去块滤波器200将滤波处理结果输出至SAO滤波器300。

(步骤S17)

SAO滤波器300以CTU为单位决定出应用于由去块滤波器200滤波的解码图像数据的SAO模式和偏移值。然后,SAO滤波器300基于决定的模式和偏移值以CTU为单位对解码图像数据进行滤波处理(即SAO处理)。换言之,在图S17所示的时机中,对图5所示的处理目标块U23进行SAO处理。

SAO滤波器300将已经经过SAO处理的解码图像数据输出至自适应回路滤波器400。SAO滤波器300将以CTU为单位(即,以LCU为单位)决定出的SAO模式和偏移量输出至无损编码部16作为编码参数。在接收到该输出后,无损编码部16针对生成的编码流对提供的SAO模式和偏移值进行编码,然后将SAO模式和偏移值插入到编码流的头区域中。

(步骤S18)

自适应回路滤波器400对已经经过SAO处理并由SAO滤波器300提供的解码图像数据进行自适应回路滤波(ALF)处理。

(步骤S19)

自适应回路滤波器400将滤波处理结果输出至帧存储器25。从而,生成图5所示的块U23的解码图像数据,并且将该解码图像数据存储在帧存储器25中。在帧存储器25中存储的块U23的解码图像数据用于,例如,在图5所示的未处理块中的与块U23相邻的块(例如,块U24)的帧内预测和帧间预测。

上面已经参照图5和图6对根据本实施例的图像编码装置的一系列处理的流程进行了说明。

[2-4.SAO滤波器]

<<2-4-1.SAO滤波器的示例性配置>>

接着,将对根据本实施例的SAO滤波器300进行详细说明。首先,将参照图7对根据本实施例的SAO滤波器300的配置的示例进行说明。图7是图示根据第一实施例的SAO滤波器300的配置的示例的框图。

如图7所示,根据本实施例的SAO滤波器300包括控制单元310和滤波处理部390。控制单元310包括分析部320和切换确定部360。

切换确定部360确定是否以解码图像数据的切片为单位将SAO处理应用于亮度和色度,并且基于该确定结果控制分析部320的操作。

具体地,当处理目标的切片是切片I或者切片P时,切换确定部360下令分析部320将SAO处理应用于该切片。

进一步地,当处理目标的切片是切片B时,切换确定部360根据在切片B的前一个切片(即,切片I或者切片B)中应用了SAO处理的CTU的数量(在下文中也称为“模式的数量”)来确定是否将SAO处理应用于切片B。

作为具体示例,当在前一个切片中的模式的数量等于或者大于预定阈值TH11(例如,等于或者大于一半)时,切换确定部360下令分析部320将SAO处理应用于处理目标的切片B。另一方面,当在前一个切片中的模式的数量小于阈值TH11时,切换确定部360下令分析部320限制将SAO处理应用于处理目标的切片B(即,不将SAO处理应用于处理目标的切片B)。

切换确定部360将指示是否以切片为单位应用SAO处理的信息输出至无损编码部16作为编码参数。用于控制是否以切片为单位应用SAO处理的参数的示例包括与亮度对应的“slice_sao_luma_flag”和与色度对应的“slice_sao_chroma_flag”。

分析部320包括统计值获取部330和模式确定部340。分析部320基于在原始图像保存部100(见图4)中保存的原始图像数据和从去块滤波器200输出的解码图像数据以CTU为单位(即,以LCU为单位)决定用于执行SAO处理的SAO模式和偏移值。基于由切换确定部360给出的指令,控制是否以切片为单位应用分析部320的处理。下面将对分析部320的部件进行详细说明。

统计值获取部330基于原始图像数据和解码图像数据计算用于指定SAO模式是和偏移值的统计值。

作为具体示例,统计值获取部330针对图1所示的边缘偏移的各个级别EO_1至EO_3以解码图像数据中的像素为单位分析目标像素与相邻像素之间的对应关系,并且将类别0至4的出现频率相加。此时,统计值获取部330针对相加的各个类别累积相加解码图像数据与原始图像数据之间的像素值的差值。然后,统计值获取部330计算针对级别EO_1至EO_3相加的类别0至4的出现频率和针对各个类别累积相加的像素值以作为统计值。

统计值获取部330针对图2所示的带偏移的各个带0至31将对应像素的频率相加,并且针对各个带累积相加在像素中的解码图像数据与原始图像数据之间的像素值的差值。然后,统计值获取部330计算针对各个带相加的频率和针对各个带累积相加的像素值的差值作为统计值。

统计值获取部330将上述计算出的统计值输出至模式确定部340。

模式确定部340包括偏移量确定部350。模式确定部340基于由统计值获取部330提供的统计值使偏移量确定部350以解码图像数据中的CTU为单位针对各种SAO模式计算偏移值和与该偏移值对应的成本。

具体地,模式确定部340使偏移量确定部350针对边缘偏移的级别EO_1至EO_3和类别1至4的各种组合计算偏移值和与该偏移值对应的成本。同样,模式确定部340使偏移量确定部350针对带偏移的各个带计算偏移值和与该偏移值对应的成本。模式确定部340还计算在未应用SAO处理时的成本。

偏移量确定部350针对由模式确定部340下令的模式计算偏移值的候选的成本。然后,偏移量确定部350比较计算出的成本,并且指定可以最大程度提高编码效率的偏移值和与该偏移值对应的成本。稍后将单独对偏移量确定部350进行说明。

模式确定部340比较针对相应SAO模式计算出的成本,并且基于比较结果以CTU为单位(即,以LCU为单位)指定可以最大程度提高编码效率的SAO模式和与该模式对应的偏移值。然后,模式确定部340将以CTU为单位指定的模式和与该模式对应的偏移值输出至稍后描述的滤波处理部390。此时,当由于成本的比较结果确定不应用SAO处理时,模式确定部340下令滤波处理部390不将SAO处理应用于目标CTU。

模式确定部340将以CTU为单位指定的SAO模式和偏移值输出至无损编码部16作为编码参数。作为编码参数,例如,作为指示边缘偏移和带偏移中的一个的参数,存在与亮度对应的“sao_type_idx_luma”和与色度对应的“sao_typ_idx_chroma”。进一步地,当应用了边缘偏移时,作为指示边缘偏移的级别的参数,存在与亮度对应的“sao_eo_class_luma”或者与色度对应的“sao_eo_class_chroma”。进一步地,当应用了带偏移时,作为指示带的位置的参数,存在“sao_band_position”。作为用于通知偏移值的参数,存在指示偏移值的绝对值的“sao_offset_abs”和指示正或者负偏移值的“sao_offset_sign”。

滤波处理部390基于由模式确定部340提供的SAO模式和偏移值对解码图像数据的各个CTU进行SAO处理。当从模式确定部340接收到不应用SAO处理的指令时,滤波处理部390不会对目标CTU进行SAO处理。应该明白的是,同样,针对基于切换确定部360的确定结果确定不应用SAO处理的切片,滤波处理部390基于确定结果不会对相应的切片进行SAP处理。

然后,滤波处理部390将已经经过SAO处理的解码图像数据输出至自适应回路滤波器400(见图4)。

<<2-4-2.SAO滤波器的处理流程>>

接着,将参照图8对根据本实施例的SAO滤波器的一系列处理的流程进行说明。图8是图示根据本实施例的SAO滤波器的一系列处理的流程的示例的流程图。

(步骤S100)

首先,切换确定部360确定是否以解码图像数据的切片为单位将SAO处理应用于亮度和色度,并且基于确定结果控制分析部320的操作。稍后将单独对通过切换确定部360确定是否应用SAO处理的操作进行说明。

(步骤S500)

当确定将SAO处理应用于切片时(在步骤S200中为是),分析部320基于原始图像数据和解码图像数据(已经经过去块滤波处理)以CTU为单位决定用于执行SAO处理的SAO模式和偏移值。

具体地,统计值获取部330基于原始图像数据和解码图像数据计算用于指定SAO模式和偏移值的统计值,并且将计算出的统计值输出至模式确定部340。

模式确定部340基于由统计值获取部330提供的统计值使偏移量确定部350以解码图像数据中的CTU为单位针对相应SAO模式计算可应用为偏移值的值的成本。

模式确定部340比较针对相应SAO模式计算出的成本,并且基于比较结果以CTU为单位(即,以LCU为单位)指定可以最大程度提高编码效率的SAO模式。然后,模式确定部340将以CTU为单位指定的模式和与该模式对应的偏移值输出至稍后描述的滤波处理部390。模式确定部340将以CTU为单位指定的SAO模式和偏移值输出至无损编码部16作为编码参数。

(步骤S600)

滤波处理部390基于由模式确定部340提供的SAO模式和偏移值对解码图像数据的各个CTU进行SAO处理。

(步骤S700)

对目标切片中的一系列CTU进行上述处理(在步骤S700中为否),并且,当完成了对这一系列CTU的处理时(在步骤S700中为是),完成了将SAO处理应用于目标切片。

(步骤S200)

进一步地,当SAO处理不应用于目标切片时(在步骤S200为否),不会对切片进行步骤S300至S700的处理。

接着,将参照图9对图8所示的步骤S100的处理(即,通过切换确定部360确定是否以切片为单位应用SAO处理的处理的示例)进行说明。图9是图示通过根据本实施例的切换确定部确定是否以切片为单位应用SAO处理的处理的示例的流程图。

(步骤S101和S104)

当处理目标的切片不是切片B时,即,当处理目标的切片是切片I或者切片P时(在步骤S101中为否),切换确定部360下令分析部320将SAO处理应用于该切片(步骤S104)。

(步骤S101和S102)

当处理目标的切片是切片B时(在步骤S101中为是),切换确定部360获取在切片B的上一个切片(即,切片I或者切片P)中应用了SAO处理的CTU的数量(模式的数量)(步骤S102)。

(步骤S103和S104)

当获取的模式的数量等于或者大于预定阈值TH11时(在步骤S103中为否),切换确定部360下令分析部320将SAO处理应用于切片(步骤S104)。

(步骤S103和S105)

另一方面,当获取的模式的数量小于预定阈值TH11时(在步骤S103中为是),切换确定部360下令分析部320限制将SAO处理应用于切片(即,不会将SAO处理应用于切片)(步骤S105)。

因此,切换确定部360针对各个切片确定是否应用SAO处理,并且基于确定结果控制分析部320的操作。

上面已经参照图8和图9对根据本实施例的SAO滤波器300的一系列处理的流程的示例进行了说明。

[2-5.偏移量确定部]

接着,将对偏移量确定部350进行详细说明。偏移量确定部350基于由统计值获取部330生成的统计值计算可应用为偏移值的值的成本,比较计算出的成本,并且指定可以最大程度提高编码效率的偏移值。

如上所述,在H.265/HEVC中,可以将8位(像素值是0至255)和10位(像素值是0至1023)用作像素的位深度,并且,根据位深度,偏移值的可应用候选不同。具体地,当位深度为8位时,偏移值的可应用值为0至7;而当位深度为10位时,偏移值的可应用值为0至31。

由于这个原因,在根据相关技术的方案中,当像素的位深度为10位时,偏移值的候选的数量是位深度为8位时的四倍,从而成本计算的处理量可能增加,导致电路大小和功耗的增加。鉴于此,在本说明书中,为了促进对根据本实施例的偏移量确定部350的特征的理解,首先,将基于根据相关技术的方案的偏移量确定部的概述描述为对比示例,然后对根据本实施例的偏移量确定部350进行说明。

<<2-5-1.偏移确定部的对比示例>>

将参照图10至图12对根据对比示例的偏移量确定部进行说明。在下文中,当将根据对比示例的偏移量确定部与根据本实施例的偏移量确定部350明确地区分开来时,根据对比示例的偏移量确定部也称为“偏移量确定部350a”。

首先,将参照图10对根据对比示例的偏移量确定部350a的配置的示例进行说明。图10是图示根据对比示例的偏移量确定部350a的配置的示例的框图。

如图10所示,偏移量确定部350a包括一个或者多个偏移量测量部351和偏移量决定部353。

偏移量测量部351基于由统计值获取部330生成的统计值(例如,用作处理目标的像素的出现频率或者在解码图像数据与原始图像数据之间的像素值的差值)针对各个偏移值计算在应用偏移值时的成本。此时,作为计算出的成本,例如,存在基于各个偏移值的偏移处理所需的数据量(即,待传输至解码器侧的数据量),以便通过缓解与在解码图像数据中生成的原始图像数据的误差(例如,量化误差)来接近原始图像数据。在本说明书中省略了对成本计算的具体内容的具体说明。

在图10所示的示例中,将Offset[0]测量部至Offset[31]测量部设置为偏移量测量部351以便并行地计算在位深度为10位时偏移值1至31的成本。

例如,在图11中用附图标记d40表示的表图示了图10所示的偏移测量部351(即,Offset[0]测量部至Offset[31]测量部)与偏移值之间的对应关系。如图11所示,Offset[0]测量部计算在偏移值为0时的成本。同样,Offset[1]测量部至Offset[31]测量部与偏移值1至31相关联。

换言之,在图10所示的示例中,当位深度为8位时,使用在Offset[0]测量部至Offset[31]测量部中的用附图标记351a表示的Offset[0]测量部至Offset[7]测量部。进一步地,当位深度为10位时,使用用附图标记351b表示的所有Offset[0]测量部至Offset[31]测量部。

偏移量决定部353比较由偏移量测量部351计算出的成本,并且基于比较结果从偏移值的候选中决定成本最低的偏移值。然后,偏移量决定部353输出决定的偏移值和与该偏移值对应的成本。在接收到该输出之后,模式确定部340(见图7)比较针对相应SAO模式计算出的成本,并且基于比较结果以CTU为单位(即,以LCU为单位)指定可以最大程度提高编码效率的SAO模式和与该模式对应的偏移值。

接着,将参照图12对根据对比示例的偏移量确定部350a的一系列处理的流程的示例进行说明。图12是图示根据对比示例的偏移量确定部350a的一系列处理的流程的示例的流程图。

(步骤S611至S614)

首先,偏移量确定部350a将用作计数器值的Count初始化为0(步骤S611)。然后,针对由计数器值Count指示的偏移值的候选计算成本。例如,当计数器值Count为0时,偏移量确定部350a计算偏移值“0”的成本。此时,在图10所示的示例的情况下,偏移量测量部351中的Offset[0]测量部计算偏移值“0”的成本。同样,当计数器值Count为1时,偏移量确定部350a计算偏移值_“1”的成本(步骤S613)。当完成了成本计算时,偏移量确定部350a对计数器值Count进行增量(步骤S614)。

如上所述,偏移量确定部350a根据像素的位深度计算偏移值的成本(在步骤S612中为否)。例如,当位深度为8位时,偏移量确定部350a计出偏移值“0”至“7”的成本。进一步地,当位深度为10位时,偏移量确定部350a计算偏移值“0”至“31”的成本。

(步骤S615)

当完成了根据位深度的计数器值的成本计算时(在步骤S612为是),偏移量确定部530a比较偏移值的计算出的成本,并且基于比较结果决定成本最低的偏移值。

如上面参照图10和图12所述的,当像素的位深度为8位时,偏移值的可应用值为0至7,并且偏移量确定部350a针对偏移值0至7进行八次成本计算。进一步地,当位深度为10位时,偏移值的可应用值为0至31,因此偏移确定部350a针对偏移值0至31进行32次成本计算。

换言之,当像素的位深度为10位时,偏移值的候选的数量是当位深度为8位时的四倍,因此成本计算的处理量也是当位深度为8位时的四倍。因此,当位深度位10位的图像是处理目标时,如上面参照图12所述的,偏移值的成本计算的次数(处理量)是当位深度为8位时的四倍,导致功耗的增加。

进一步地,当位深度为10位的图像是处理目标时,如图10所示,偏移量测量部351(即,Offset[0]测量部至Offset[31]测量部)的数量是当位深度为8位时的四倍,从而通常会增加电路大小。进一步地,当位深度为10的图像是处理目标时,计算偏移值8至31的成本额外需要的电路,即Offset[8]测量部至Offset[31]测量部是当像素的位深度为8位时不使用的。换言之,如果将位深度为8位的图像设置为处理目标时,则Offset[8]测量部至Offset[31]测量部是冗余部件。

鉴于此,根据本实施例的偏移量确定部350限制在位深度为10位时可应用为偏移值的值(即,0至31)中的偏移值的候选,并且从限制的候选中指定待应用的偏移值。通过这种配置,根据本实施例的偏移量确定部350使在位深度为8位时的偏移值的成本计算的处理量等于在位深度为10位时的偏移值的成本计算的处理量,从而减少了电路大小或者功耗。鉴于此,下面将对根据本实施例的偏移量确定部350进行详细说明。

<<2-5-2.偏移量确定部的示例性配置>>

首先,将参照图13对根据本实施例的偏移量确定部350的配置的示例进行说明。图13是图示根据本实施例的偏移量确定部350的配置的示例的框图。

如图13所示,根据本实施例的偏移量确定部350与图10所示的根据对比示例的偏移量确定部350a的不同之处在于,设置了候选控制单元355,并且仅将Offset[0]测量部至Offset[7]测量部设置为偏移量测量部351。因此,在本说明书中,将重点放在与偏移量确定部350a不同的部分对根据本实施例的偏移量确定部350的配置进行说明。

候选控制部355基于像素的位深度和用于生成用作解码图像数据的解码源的量化数据的量化步长(QP)来决定偏移值的候选,并且将决定的候选分配到Offset[0]测量部至Offset[7]测量部。如上所述,未对量化步长的获取源进行具体限制。作为具体示例,候选控制单元355可以从量化部15获取在量化部15生成用作解码图像数据的解码源的量化数据时应用的量化步长。

此处,将对量化步长与应用于SAO处理的偏移值之间的关系的趋势进行说明。一般而言,当通过对变换系数数据(在正交变换之后的预测误差数据)进行量化而生成量化数据时,随着量化步长的减小,原始图像数据与编码图像数据之间的差值趋于减小(即,量化误差趋于减小)。从而,当量化步长较小时,通常选择相对较小的值作为应用于SAO处理的偏移值。

进一步地,当图像的像素值发生变化时(例如,在纹理较细的图像的情况下),趋于选择较大的量化步长。进一步地,随着量化步长的增大,原始图像数据与解码图像数据之间的差值趋于增大(即,量化误差趋于增大)。如上所述,当量化误差较大时,即使计算出了偏移值的候选的成本,通常,在相邻候选之间,计算出的成本中的差值也不会明显变化。

利用这种趋势,候选控制单元355基于量化步长限制在像素的位深度为10位(即,0至31)时在可应用为偏移值的值中的偏移值的候选。然后,候选控制单元355将偏移值的限制的候选分配到Offset[0]测量部至Offset[7]测量部。

此处,将参照图14至图16对偏移值的候选与Offset[0]测量部至Offset[7]测量部之间的对应关系的示例进行说明。图14至图16是描述指示偏移值的候选与Offset[0]测量部至Offset[7]测量部之间的对应关系的控制表的示例的说明图。在图14至图16中,常数N(N是N≤0的整数)是根据偏移值的候选的数量(即,偏移量测量部351的数量)设置的值,而N+1对应偏移值的候选的数量。

例如,图14所示的控制表d51对应像素的位深度为8位的情况或者像素的位深度为10位的情况,并且量化步长小于第一阈值TH21(QP<TH21)。

在图14所示的控制表d51中,0至N与作为偏移值的候选的Offset[0]测量部至Offset[N]测量部相关联。换言之,当基于控制表d51将偏移值的候选分配到偏移量测量部351时,候选控制单元355将“i”分配给Offset[i]测量部(i是0≤i≤N的整数)作为偏移值。例如,当N=7时,如图13所示,将0、1、…和7分配到Offset[0]测量部、Offset[1]测量部、…和Offset[7]测量部作为偏移值的候选。

接着,将对图15所示的控制表d52进行说明。控制表d52对应像素的位深度为10位并且量化步长大于第一阈值TH21但等于或者小于第二阈值TH22(TH21<QP≤TH22)的情况。应该明白的是,第二阈值TH22是大于第一阈值TH21的值。

在图15所示的控制表d52中,0至2×N与作为偏移值的候选的Offset[0]测量部至Offset[N]测量部相关联。换言之,当基于控制表d52将偏移值的候选分配到偏移量测量部351时,候选控制单元355将“2×i”分配给Offset[i]测量部(i是0≤i≤N的整数)作为偏移值。例如,当N=7时,如图15所示,将0、2、…和14分配到Offset[0]测量部、Offset[1]测量部、…和Offset[7]测量部作为偏移值的候选。

接着,将对图16所示的控制表d53进行说明。控制表d53对应像素的位深度为10位并且量化步长大于第二阈值TH22(TH22<QP)的情况。

在图14所示的控制表d53中,0至4×N与作为偏移值的候选的Offset[0]测量部至Offset[N]测量部相关联。换言之,当基于控制表d52将偏移值的候选分配到偏移量测量部351时,候选控制单元355将“4×i”分配给Offset[i]测量部(i是0≤i≤N的整数)作为偏移值。例如,当N=7时,如图16所示,将0、4、…和28分配到Offset[0]测量部、Offset[1]测量部、…和Offset[7]测量部作为偏移值的候选。

如上所述,候选控制单元355基于像素的位深度和所获取的量化步长选择控制表d51至d53中的任意一个,并且根据所选择的控制表将偏移值的候选分配到Offset[0]测量部至Offset[7]测量部。

具体地,当像素的位深度为10位时,候选控制单元355进行如下设置:随着量化步长的减小,偏移值的候选的最大值减小,并且在相邻候选之间的间隔(即,在相邻候选之间的差值)也减小。进一步地,当像素的位深度为10位时,候选控制单元355进行如下设置:随着量化步长的增大,偏移值的候选的最大值增大,并且在相邻候选之间的间隔(即,在相邻候选之间的差值)也增大。通过这种配置,候选控制单元355可以将在像素的位深度为10位时的偏移值的候选的数量限制为在像素的位深度为8位时的偏移值的候选的数量(在像素的位深度为8位时可应用为偏移值的值的范围)。

第一阈值TH21和第二阈值TH22的值优选地是通过根据图像编码装置的配置或者各种参数(例如,原始图像数据的分辨率等)执行的实验来预先决定的。上述的配置仅是示例,并且可以适当地改变偏移量测量部351的数量或者用于指定偏移值的候选的控制表的数量。当然,当偏移量测量部351的数量或者控制表的数量发生了改变时,需要将预先基于实验等决定的适当值设置为在相应控制表中设置的偏移值或者用于预先切换控制表的阈值。

随后的处理与根据对比示例的偏移量确定部350a的处理相似。换言之,偏移量测量部351(即,Offset[0]测量部至Offset[7]测量部)针对偏移值的所分配的候选计算成本,并且将成本输出至偏移量决定部353。

偏移量决定部353比较由偏移量测量部351计算出的成本,并且基于比较结果从偏移值的候选中决定出成本最低的偏移值。然后,偏移量决定部353输出决定的偏移值和与该偏移值对应的成本。在接收到该输出之后,模式确定部340(见图7)比较针对相应SAO模式计算出的成本,并且基于比较结果以CTU为单位(即,以LCU为单位)指定可以最大程度提高编码效率的SAO模式和与该模式对应的偏移值。

上面已经参照图13和图16对根据本实施例的偏移量确定部350的配置的示例进行了说明。通过上述配置,根据本实施例的偏移量确定部350可以将在像素的位深度为10位时的成本计算的处理量限制为在像素的位深度为8位时的处理量。从而,即使当位深度为10位时,根据本实施例的偏移量确定部350也可以通过使用和在像素的位深度为8位时一样的配置(即,Offset[0]测量部至Offset[7]测量部)作为偏移量测量部351来决定偏移值。换言之,根据本实施例的偏移量确定部350,可以将电路大小减小到小于根据对比示例的偏移量确定部350a中的电路大小。进一步地,随着成本计算的处理量的减少,根据本实施例的偏移量确定部350可以将功耗减少到小于根据对比示例的偏移量确定部350a中的功耗。

上面参照图13所述的偏移量确定部350的配置仅是示例,并且本公开并不一定限于图10所示的配置。例如,根据本实施例的偏移量确定部350可以包括用作偏移量测量部351的Offset[0]测量部至Offset[31]测量部,并且偏移量确定部350可以配置为在将Offset[0]测量部至Offset[31]测量部中的一些用作偏移量测量部351的模式与将Offset[0]测量部至Offset[31]测量部中的全部用作偏移量测量部351的模式之间进行切换。

例如,当通过电池提供动力并且需要限制功耗时,可以只将Offset[0]测量部至Offset[7]测量部用作如上所述的偏移量测量部351。进一步地,例如,当通过电源提供电力并且可以进一步提高处理量时,可以利用作为偏移量测量部351的全部Offset[0]测量部至Offset[31]测量部来进行该操作,类似于根据对比示例的偏移量确定部350a。如上所述,根据本实施例的偏移量测量部351可以配置为进行至可以根据预定条件(例如,图像编码装置运行从而减少成本计算的处理量的情况)使用一些偏移量测量部351的模式的切换。

<<2-5-3.偏移量确定部的处理流程>>

接着,将参照图17对根据本实施例的偏移量确定部350的一系列处理的流程的示例进行说明。图17是图示根据本实施例的偏移量确定部350的一系列处理的流程的示例的流程图。在图17中,常数N(N是0≦N的整数)是根据如上所述的偏移值的候选的数量(即,偏移量测量部351的数量)设置的值,而N+1对应偏移值的候选的数量。

(步骤S621)

首先,偏移量确定部350将用作计数器值的Count初始化为0(步骤S611)。然后,针对由计数器值Count指示的偏移值的候选计算成本。此时,偏移量确定部350基于像素的位深度和用于生成用作解码图像数据的解码源的量化数据的量化步长(QP)来限制偏移值的候选。

(步骤S623和S624)

具体地,当像素的位深度为8位或者像素的位深度为10位,并且量化步长等于或者小于第一阈值TH21(QP≤TH21)时(在步骤S623中为否),偏移量确定部350选择与该条件对应的表1。作为表1的具体示例,使用图14所示的控制表d51。

然后,偏移量确定部350基于所选择的表1指定由计数器值Count指示的偏移值的候选,并且计算所指定的候选的成本。在这种情况下,当计数器值Count=i(i是0≤i≤N的整数)时,将“i”指定为偏移值的候选。

(步骤S625)

进一步地,当像素的位深度为10位,并且量化步长大于第一阈值TH21时(在步骤S624中为是),偏移量确定部350确定量化步长是否大于第二阈值TH22(TH22>TH21)。

(步骤S626)

当量化步长等于或者小于第二阈值TH22时(在步骤S625中为否),偏移量确定部350选择与该条件对应的表2。作为表2的具体示例,使用图15所示的控制表d52。

然后,偏移量确定部350基于所选择的表2指定由计数器值Count指示的偏移值的候选,并且计算所指定的候选的成本。在这种情况下,当计数器值Count=i(i是0≤i≤N)的整数)时,将“2×i”指定为偏移值的候选。

(步骤S627)

当量化步长大于第二阈值TH22时(在步骤S625中为是),偏移量确定部350选择与该条件对应的表3。作为表3的具体示例,使用图16所示的控制表d53。

然后,偏移量确定部350基于所选择的表3指定由计数器值Count指示的偏移值的候选,并且计算所指定的候选的成本。在这种情况下,当计数器值Count=i(i是0≤i≤N)的整数)时,将“4×i”指定为偏移值的候选。

(步骤S628)

偏移量确定部350指定由计数器值Count指示的偏移值的候选,并且在完成了所指定的候选的成本计算时对计数器值Count进行增量。

(步骤S622)

如上所述,偏移量确定部350指定偏移值的候选,并且计算所指定的候选的成本直到计数器值Count大于预定常数N(在步骤S622中为否)。

(步骤S629)

当针对各个计数器值Count 0至N指定了偏移值的候选,并且完成了所指定的候选的成本计算时(在步骤S622中为是),偏移量确定部350比较针对偏移值的候选计算出的成本。然后,偏移值确定部350基于比较结果将成本最低的候选决定为偏移值。

上面已经参照图17对根据本实施例的偏移量确定部350的一系列处理的流程的示例进行了说明。

[2-6.总结]

如上所述,在根据本实施例的图像编码装置中,偏移量确定部350基于像素的位深度和用于生成用作解码图像数据的解码源的量化数据的量化步长(QP)来限制用于SAO处理的偏移值的候选。

通过上述配置,根据本实施例的偏移量确定部350可以将在像素的位深度为10位时的成本计算的处理量限制到在像素的位深度为8位时的处理量。从而,根据本实施例的偏移量确定部350,即使当位深度为10位时,也可以通过使用与在像素的位深度为8位时一样的配置作为计算偏移值的候选的成本的配置来决定偏移值。换言之,根据本实施例的图像编码装置,可以将偏移量确定部350的电路大小减小到小于当针对在像素的位深度为10时的各个可应用的偏移值计算成本时的电路大小。进一步地,在根据本实施例的图像编码装置中,随着在像素的位深度为10位时的成本计算的处理量的减少,也可以减少功耗。

虽然上面已经对基于量化步长来限制偏移值的候选的示例进行了说明,但是用于限制偏移值的候选的确定标准并不一定限于量化步长。作为具体示例,偏移量确定部350可以基于原始图像数据的特征量来限制偏移值的候选。

作为原始图像数据的特征量的具体示例,例如,存在用作原始图像数据中像素值的变化量的指数的方差值。

例如,当原始图像数据的方差值较小时,表明像素值的变化较小。作为方差值较小的原始图像数据的具体示例,存在对比密度较小或者对比密度的变化较平缓的平面图像。在这种情况下,存在块(CTU)之间的相似性高而在原始图像数据与解码图像数据之间的差值小的趋势。由于这个原因,当原始图像数据的方差值较小时,偏移量确定部350可以像图14所示的控制表d51中一样限制偏移量的候选,从而减小偏移值。

进一步地,当原始图像数据的方差值较大时,表明像素值的变化较大。作为方差值较大的原始图像数据的具体示例,存在纹理较细的图像。在这种情况下,存在块(CTU)之间的相似性低而在原始图像数据与解码图像数据之间的差值大的趋势。由于这个原因,当原始图像数据的方差值较大时,偏移量确定部350可以像图15和图16所示的控制表d52和d53中一样限制偏移量的候选,从而增大偏移值。

关于原始图像数据的特征量,例如,统计值获取部330可以基于获取的原始图像数据计算特征量。

如上所述,只要根据待应用的偏移值的趋势预先设置条件,便不会对用于限制偏移值的候选的确定标准进行具体设置,并且偏移量确定部350可以根据该条件限制偏移值的候选。应该明白的是,只要可以根据待应用的偏移值的趋势设置条件,便可以将除了方差值之外的参数用作原始图像数据的特征量。

<3.第二实施例>

[3-1.概述]

接着,将对根据第二实施例的图像编码装置进行说明。在根据第一实施例的图像编码装置中,SAO滤波器通过限制偏移值的候选减少了指定偏移值的处理量和与一系列成本计算相关的处理量。另一方面,在根据本实施例的图像编码装置中,SAO滤波器根据指定为对用作处理目标的CTU的帧内预测的结果的预测模式来限制SAO模式的候选。因此,在根据本实施例的图像编码装置中,通过减少指定SAO模式的处理量减少了与一系列成本计算有关的处理量。鉴于此,首先,将参照图18至图20具体地将重点放在SAO滤波器上对根据本实施例的图像编码的概述进行说明。

图18是描述在H.265/HEVC中的帧内预测的预测模式的说明图。作为帧内预测的预测模式,存在平面预测、DC预测和方向预测,而在方向预测中设置有32种类型的预测方向。由于这个原因,在H.265/HEVC中,平面预测、DC预测和方向预测的预测方法和方向预测中的预测方向设置为预测模式以便相互区别开来。

具体地,如图18所示,在平面预测的情况下,将“0”设置为预测模式的模式值。在DC预测的情况下,将“1”设置为预测模式的模式值。

在方向预测的情况下,根据预测方向将“2至34”中的任意一个设置为预测模式的模式值。作为具体示例,如图18所示,当方向预测的预测方向是水平方向(向左方向)时,将“10”设置为预测模式的模式值。作为另一个示例,当方向预测的预测方向是垂直方向(向上方向)时,将“26”设置为预测模式的模式值。

此处,将参照图19对在将方向预测选择作为帧内预测的预测模式时的解码图像数据的特征进行说明。图19是说明在将方向预测选择作为帧内预测的预测模式时的解码图像数据的特征的说明图。

在图19中,附图标记d10表示在原始图像中的预测目标块,而附图标记d20表示预测目标块d10的解码图像数据。附图标记d11表示用于预测目标块d10的帧内预测的预测块,而附图标记d13表示方向预测的预测方向。

在图19所示的示例中,预测目标块d10在纵向方向上的像素之间的相关性高。由于这个原因,在图19所示的示例的情况下,将指示在由附图标记d13表示的纵向方向上的预测方向的方向预测选择作为帧内预测的预测模式,并且将“26”设置为预测模式的模式值。

在图19所示的示例中,如通过比较预测目标块d10和解码图像数据d20可以看出的是,解码图像数据d20的像素在和预测方向d13相同的方向上的像素之间的相关性高。因此,在解码图像数据d20中,在和帧内预测的预测方向d13相同的方向上不可能形成边缘。由于这个原因,例如,当图19所示的解码图像数据d20是处理目标时,在图1所示的边缘偏移的级别EO_0至EO_3中,不可能选择具有和预测方向d13相同的组分的级别EO_1至EO_3,而可能选择级别EO_0。

鉴于此,在根据本实施例的图像编码装置中,SAO滤波器通过使用上述趋势预先将帧内预测的预测模式与相应的SAO模式进行关联。例如,图20所示的控制表d30是在根据本实施例的图像编码装置中帧内预测的预测模式与相应SAO模式之间的对应关系的示例。

在图20所示的控制表d30中,“帧内模式”指示在上面参照图18所述的帧内预测的预测模式中的模式值。“SAO模式”指示图1和图2所示的相应SAO模式。“SaoTypeIdx”指示根据SAO模式设置的编码参数,并且基于H.265/HEVC标准定义相同的参数。

如图20所示,当预测模式的模式值为“0”(即,平面预测)时,并且当模式值为“1”(即,DC预测)时,将带偏移设置为SAO模式。在图20中,“BD”表示带偏移。

当预测模式的模式值为“2”至“34”(即,方向预测)时,将边缘偏移设置为SAO模式。具体地,模式值与边缘偏移的级别EO_0至EO_3相关联,这样,在由预测模式的模式值指示的预测方向与相邻像素a和b相对于边缘偏移的目标像素c的方向之间的相对位置关系更接近于垂直。

例如,当预测模式的模式值为2至5或者30至34时,关联边缘偏移的级别EO_2。进一步地,当预测模式的模式值为6至13时,关联级别EO_1。同样,当预测模式的模式值为14至21时,关联级别EO_3;而当预测模式的模式值为22至29时,关联级别EO_0。

SAO滤波器将与解码图像数据d20(CTU单元)对应的预测目标块d10的预测模式和图20所示的控制表进行核对,并且指定在解码图像数据d20中的SAO模式。

如上所述,在根据第一实施例的图像编码装置中,SAO滤波器针对相应SAO模式(即,针对带偏移和边缘偏移的级别)计算偏移值和成本,比较成本,并且决定待应用的SAO模式和偏移值。另一方面,在根据本实施例的图像编码装置中,SAO滤波器根据帧内预测的预测模式决定SAO模式,从而优选地,只进行在已决定的模式中的偏移值的计算。换言之,在根据本实施例的图像编码装置中,可以将成本计算的处理量和功耗减少到小于在针对各个SAO模式计算偏移值和成本时的处理量和功耗。

鉴于此,下面将重点放在与第一实施例不同的部分(具体为在回路滤波器中的SAO滤波器)对根据本实施例的图像编码装置进行更详细说明。

[3-2.回路滤波器的示例性配置]

首先,将参照图21对根据本实施例的图像编码装置中的回路滤波器24的配置的示例进行说明。图21是图示根据本实施例的回路滤波器24的配置的示例的框图。在本说明书中,将对不同于根据第一实施例的回路滤波器24(见图4)的部件进行说明,而省略了对其它部件的说明。

如图21所示,在根据本实施例的回路滤波器24中,SAO滤波器300获取在对作为处理目标的解码图像数据的块进行帧内预测时指定的预测模式(即,在编码参数中的预测参数)。例如,在图6所示的图像编码装置的一系列处理的流程中,在步骤S11中决定帧内预测的预测模式,并且在步骤S17的处理中,SAO滤波器300使用在步骤S11中决定的预测模式。

只要SAO滤波器可以获取在作为处理目标的CTU中设置的帧内预测的预测模式,便不会对预测模式的获取源进行具体限制。作为具体示例,SAO滤波器300可以从帧内预测部30(见图3)中获取与作为处理目标的块对应的帧内预测的预测模式。

上面已经参照图21对根据本实施例的回路滤波器24进行了说明。

[3-3.SAO滤波器的示例性配置]

接着,将参照图22对根据本实施例的SAO滤波器300的配置的示例进行说明。图22是图示根据本实施例的SAO滤波器300的配置的示例的框图。在根据本实施例的SAO滤波器300中,模式确定部340的操作与根据第一实施例的SAO滤波器300中的模式确定部的操作(见图7)不同。鉴于此,在本说明书中,将对模式确定部340进行说明,而省略了对其它部件的详细说明。

根据本实施例的模式确定部340针对解码图像数据的各个CTU获取设置于CTU中的帧内预测的预测模式(即,在编码参数中的预测参数)。作为预测模式的获取源,例如,存在帧内预测部30(见图3)。

模式确定部340配置为能够参照图20的控制表d30,在该控制表d30中,预先将帧内预测的预测模式与SAO模式进行关联。只要模式确定部340可以参照控制表d30,便不会对存储有控制表d30的数据的位置进行具体限制。

模式确定部340将获取的帧内预测的预测模式和控制表d30进行核对,并且决定待设置于作为处理目标的CTU中的SAO模式。

例如,当帧内预测的预测模式的模式值为0时,即,在平面预测中,模式确定部340基于控制表d30选择带偏移作为SAO模式。即使当帧内预测的预测模式的模式值为1时,即,在DC预测中,模式确定部340也基于控制表d30选择带偏移作为SAO模式。在这种情况下,将指示带偏移的1设置在SaoTypeIdx中。

当帧内预测的预测模式的模式值为2至34时,即,在方向预测中,模式确定部340基于控制表d30将边缘偏移选择作为SAO模式,并且指定边缘偏移的级别。在这种情况下,将指示边缘偏移的2设置在SaoTypeIdx中。

在决定SAO模式时,模式确定部340使偏移量确定部350针对已决定的SAO模式计算偏移值和与该偏移值对应的成本。

例如,当SAO模式为带偏移时,模式确定部340使偏移量确定部350针对带偏移的各个带计算偏移值和与该偏移值对应的成本。

当SAO模式为边缘偏移时,模式确定部340仅将边缘偏移的级别EO_0至EO_3中的已决定级别设置为偏移值和与该偏移值对应的成本的计算目标。换言之,模式确定部340使偏移量确定部350针对已决定级别的各个类别1至4(见图4)计算偏移值和与该偏移值对应的成本。

偏移量确定部350与第一实施例中的一样。换言之,偏移量确定部350计算偏移值的各个候选的成本,比较计算出的成本,并且指定可以最大程度提高编码效率的偏移值。

然后,模式确定部340评估由偏移量确定部350计算出的成本,并且以CTU为单位指定SAO模式和与该模式对应的偏移值。例如,当SAO模式为带偏移时,模式确定部340比较针对相应带计算出的成本,并且指定可以最大程度提高编码效率的带(四个连续带)。进一步地,当SAO模式为边缘偏移时,模式确定部340比较针对所指定的级别的类别1至4(见图4)计算出的成本,并且指定可以最大程度提高编码效率的类别。

然后,模式确定部340将以CTU为单位指定的模式和与该模式对应的偏移值输出至滤波处理部390和无损编码部16。

随后的处理和根据第一实施例的SAO滤波器300中的一样。换言之,滤波处理部390基于由模式确定部340提供的SAO模式和偏移值对解码图像数据的各个CTU进行SAO处理。然后,滤波处理部390将已经经过SAO处理的解码图像输出至自适应回路滤波器400(见图4)。

[3-4.模式确定部的处理流程]

接着,将对模式确定部的处理流程进行说明。在本说明书中,为了促进对根据本实施例的模式确定部的特征的理解,首先,将基于根据相关技术的方案的模式确定部的处理流程描述为对比示例,然后对根据本实施例的模式确定部340的处理流程进行说明。

<<3-4-1.模式确定部的对比示例>>

将参照图23对根据对比示例的模式确定部的一系列处理的流程的示例进行说明。图23是图示根据对比示例的模式确定部的一系列处理的流程的示例的流程图。在下文中,当将根据对比示例的模式确定部与根据本实施例的模式确定部340明确地区分开来时,根据对比示例的模式确定部也称为“模式确定部340a”。

(步骤S501至S503)

模式确定部340a首先将0设置在指示SAO模式的参数“SaoTypeIdx”中(步骤S501),并且计算在不应用SAO处理时的成本(步骤S502)。然后,当完成了对在不应用SAO处理时的成本的计算时,模式确定部340a对SaoTypeIdx进行增量(步骤S503)。从而,将1设置在SaoTypeIdx中。

(步骤S504、S511和S512)

接着,由于SaoTypeIdx的值为1(在步骤S504中为否,而在步骤S511中为是),所以模式确定部340a使偏移量确定部350针对带偏移的相应带计算偏移值和与该偏移值对应的成本(步骤S512)。从而,针对带偏移的相应带设置偏移值和与该偏移值对应的成本。

(步骤S513)

当完成了对带偏移的相应带的成本计算时,模式确定部340a对SaoTypeIdx进行增量。从而,将2设置在SaoTypeIdx中。

(步骤S504、S511和S514)

接着,由于SaoTypeIdx的值为2(在步骤S504中为否,而在步骤S511中为是),所以模式确定部340a使偏移量确定部350针对边缘偏移的级别EO_0至EO_3和类别1至4的各个组合计算偏移值和与该偏移值对应的成本(步骤S514)。因此,针对边缘偏移的各个级别的各个类别1至4设置偏移值和与该偏移值对应的成本。

(步骤S515)

当完成了对边缘偏移的级别和类别的组合的成本计算时,模式确定部340a对SaoTypeIdx进行增量。从而,将3设置在SaoTypeIdx中。

(步骤S504)

如上所述,针对各个相应的SAO模式设置偏移值和与该偏移值对应的成本。此时,如上所述,将3设置在SaoTypeIdx中。

(步骤S520)

当SaoTypeIdx为3或者以上时(在步骤504中为是),模式确定部340a比较针对相应SAO模式计算出的成本,并且基于比较结果指定可以最大程度提高编码效率的SAO模式和与该模式对应的偏移值。

如上所述,根据对比示例的模式确定部340a对所有的SAO模式(即带偏移和边缘偏移的级别)进行成本计算。然后,模式确定部340a比较针对相应模式计算出的成本,并且基于比较结果指定用于SAP处理SAO模式。

具体地,当像素的位深度为8位时,模式确定部340a针对带偏移中的带0至31计算偏移值的候选0至7的成本。换言之,模式确定部340a针对带偏移进行与(带的数量)×(偏移量的候选的数量)(=32×8=256)对应的次数的成本计算。

同样,模式确定部340a针对边缘偏移中的级别EO_0至EO_3和类别1至4的各个组相加算出偏移值的候选0至7的成本。换言之,模式确定部340a在边缘偏移中进行与(级别数量)×(类别数量)×(偏移量的候选的数量)(=4×4×8=128)对应的次数的成本计算。

换言之,当像素的位深度为8位时,根据对比示例的模式确定部340a进行384次成本计算以指定SAO模式。进一步地,当像素的位深度为10位时,同样适用于除了偏移值的候选0至31之外的其它处理。如上所述,根据对比示例的模式确定部340a倾向于增加指定SAO模式的成本计算的处理量,导致功耗的增加。

鉴于此,根据本实施例的模式确定部340限制根据预测模式指定为对作为处理目标的CTU的帧内预测的结果的SAO模式的候选。因此,根据本实施例的图像编码装置通过减少指定SAO模式的处理量而减少了与成本计算有关的处理量。

<<3-4-2.模式确定部的处理流程>>

下面将参照图24对根据本实施例的模式确定部240的一系列处理的流程的示例进行说明。图24是图示根据本实施例的模式确定部240的一系列处理的流程的示例的流程图。

步骤S501至S503的处理和根据对比实施例的模式确定部340a中的相同,省略了对该处理的详细说明。换言之,模式确定部340将指示SAO模式的参数“SaoTypeIdx”设置为0(步骤S501),并且计算在不应用SAO处理时的成本(步骤S502)。然后,当完成了对在不应用SAO处理时的成本的计算时,模式确定部340对SaoTypeIdx进行增量(步骤S503)。从而,将1设置在SaoTypeIdx中。

(步骤S504至S531)

然后,由于SaoTypeIdx的值为1(在步骤S504中为否),所以模式确定部340获取设置于作为处理目标的CTU中的帧内预测的预测模式。作为预测模式的获取源,例如,存在帧内预测部30(见图3)。

模式确定部340将获取的预测模式和控制表d30(见图20)进行核对,并且决定待设置于作为处理目标的CTU中的SAO模式,在该控制表d30中预先将帧内预测的预测模式与SAO模式进行关联。然后,模式确定部340根据已决定的SAO模式设置SaoTypeIdx。

作为具体示例,当帧内预测的预测模式的模式值为0(即,表明平面预测)时,模式确定部340基于控制表d30将指示带偏移的“1”设置在SaoTypeIdx中。进一步地,即使当帧内预测的预测模式的模式值为1(即,表明DC预测)时,模式确定部340也基于控制表d30将指示带偏移的“1”设置在SaoTypeIdx中。

当帧内预测的预测模式的模式值为2(即,表明方向预测)时,模式确定部340基于控制表d30将指示边缘偏移的“2”设置在SaoTypeIdx中。

(步骤S532至S533)

当将指示带偏移的“1”设置在SaoTypeIdx中时(在步骤S532中为是),模式确定部340使偏移量确定部350针对带偏移的相应带计算偏移值和与该偏移值对应的成本。

(步骤S534)

当完成了针对带偏移的相应带的偏移值和与该偏移值对应的成本的计算时,模式确定部340将“3”设置在SaoTypeIdx中。

(步骤S532至S535)

进一步地,当将除了“1”之外的值设置在SaoTypeIdx中时(在步骤S532中为是),例如,当设置了指示边缘偏移的“2”时,模式确定部340基于预测模式的模式值和控制表d30设置边缘偏移的级别(见图1)。

(步骤S536)

然后,模式确定部340使偏移量确定部350针对已决定级别的各个类别1至4(见图1)计算偏移值和与该偏移值对应的成本。

(步骤S537)

当完成了针对已决定级别的类别1至4的偏移值和与该偏移值对应的成本的计算时,模式确定部340将“3”设置在SaoTypeIdx中。

(步骤S504)

如上所述,决定了SAO模式,并且对该模式设置了偏移值和与该偏移值对应的成本。此时,如上所述,将“3”设置在SaoTypeIdx中。

(步骤S520)

当SaoTypeIdx为3或者以上时(在步骤S504中为是),模式确定部340评估由偏移量确定部350计算出的成本,并且指定SAO模式和与该模式对应的偏移值。

例如,当SAO模式为带偏移时,仅针对带偏移的带设置偏移量和与该偏移量对应的成本。在这种情况下,模式确定部340比较针对相应带计算出的成本,并且指定可以最大程度提高编码效率的带(四个连续带)。在这种情况下,模式确定部340再次将指示带偏移的“1”设置在SaoTypeIdx中。

进一步地,当SAO模式为边缘偏移时,仅针对已选的级别对类别1至4(见图1)设置偏移量和与该偏移量对应的成本。在这种情况下,模式确定部340比较针对指定级别计算出的成本,并且指定可以最大程度提高编码效率的类别。在这种情况下,模式确定部340再次将指示边缘偏移的_“2”设置在SaoTypeIdx中。

如上所述,根据本实施例的模式确定部340指定SAO模式和与该模式对应的偏移值。上面已经参照图24对根据本实施例的模式确定部340的一系列处理的流程的示例进行了说明。

[3-5.修改示例]

接着,将对根据本实施例的模式确定部340的修改示例进行说明。在上述示例中,模数确定部340基于帧内预测的预测模式限制SAO模式的候选。然而,只要可以根据原始图像数据或者解码图像数据的特征来限制SAO模数的候选,限制SAO模式的方式并不一定限于使用帧内预测的预测模式的方法。鉴于此,将根据原始图像数据或者解码图像数据的特征限制SAO模式的候选的方法的示例描述为修改示例。

例如,在H.265/HEVC中,可以应用在未对预测误差数据进行正交变换的情况下通过量化预测误差数据来生成量化数据的技术,称为“变换跳过”。

例如,当对已经经过正交变换的预测误差数据进行量化时,将与量化关联的偏移量应用于某些带(例如,高频)。在另一方面,当在未进行正交变换的情况对预测误差数据进行量化时,将偏移量统一应用于整个图像数据。从而,当应用变换跳过时,有可能选择带偏移作为SAO模式。

利用这种趋势,当应用变换跳过时,模式确定部340可以将带偏移设置为SAO模式。

作为另一个示例,在H.265/HEVC中,可以应用称为“强帧内平滑”的技术。在强帧内平滑中,针对预测目标块上的帧内预测对预测块进行平滑处理。从而,预测目标块可能是像素值的变化较小的图像,即,对比密度较少或者对比密度的变化较平缓的平面图像。换言之,当应用强帧内平滑时,有可能选择带偏移作为SAO模式。

利用这种趋势,当应用强帧内平滑时,模式确定部340可以将带偏移设置为SAO模式。

在根据上述实施例的模式确定部340中,基于帧内预测的方向预测中的预测方向,识别像素之间的相关性高的方向。然而,只要可以识别出像素之间的相关性高的方向,本公开并不一定限于基于帧内预测的向预测中的预测方向的方法。

例如,模式确定部340可以基于原始图像数据的特征量识别像素之间的相关性高的方向。作为基于原始图像数据的特征量的方法,例如,存在根据原始图像数据的纹理识别像素之间的相关性高的方法。

具体地,模式确定部340可以基于从原始图像数据提取的边缘的方向来识别像素之间的相关性高的方向。在这种情况下,例如,统计值获取部330(见图7或者图22)优选地对原始图像数据进行索贝尔滤波器的滤波处理以从原始图像数据提取边缘,并且将提取出的边缘的信息输出至模式确定部340作为统计值。

上面已经将根据原始图像数据或者解码图像数据的特征限制SAO模式的候选的方式的示例描述为修改示例。上述描述为修改示例的一些或者全部方法可以适当地与基于帧内预测的预测模式的方法结合。基于帧内预测的预测模式的方法可以适当地用上述描述为修改示例的一些或者全部方法来代替。

[3-6.总结]

如上所述,在根据本实施例的图像编码装置中,模式确定部340预先将帧内预测的预测模式与相应的SAO模式进行关联。模式确定部340获取设置于作为处理目标的CTU中的帧内预测的预测模式,并且基于获取的预测模式指定SAO模式。如上所述,根据本实施例的模式确定部340根据获取的帧内预测的预测模式来限制SAO模式的候选。此外,模式确定部340仅针对指定的模式计算偏移值和与该偏移值对应的成本。

通过这种配置,在根据本实施例的模式确定部340中,类似于根据对比示例的模式确定部340a,与成本计算相关的处理量可以减少到明显小于在针对相应SAO模式进行成本计算时的处理量。

具体地,当像素的位深度为8位时,当选择了带偏移,根据本实施例的模式确定部340仅针对带0至31计算偏移值的候选0至7的成本。换言之,当选择了带偏移时,模式确定部340优选地进行与(带的数量)×(偏移量的候选的数量)(=32×8=256)对应的次数的成本计算。

同样,当选择了边缘偏移时,模式确定部340优选地针对边缘偏移的仅所选择级别的类别1至4计算偏移值的候选0至7的成本。换言之,当选择了边缘偏移时,模式确定部340优选地进行与(带的数量)×(偏移量的候选的数量)(=4×8=32)对应的次数的成本计算。

在根据对比示例的模式确定部340a中,鉴于需要进行384次用于指定SAO模式的成本计算的事实,可以理解的是,根据本实施例的模式确定部340可以明显减少与成本计算相关的处理量。应该明白的是,在根据本实施例的模式确定部340中,随着成本计算的处理量的减少,功耗可以减少到小于根据对比示例的模式确定部340a中的功耗。

根据本实施例的SAO滤波器300可以与根据第一实施例的SAO滤波器300组合。

作为具体示例,在根据本实施例的SAO滤波器300中,根据第一实施例的偏移量确定部350可以作为模式确定部340中的偏移量确定部350应用。通过这种配置,可以进一步减少用于指定偏移值的成本计算的处理量,并且可以减少偏移量确定部350的电路大小。应该明白的是,由于进一步减少了成本计算的处理量,所以可以进一步减少功耗。

<4.第三实施例>

[4-1.概述]

接着,将对根据第三实施例的图像编码装置进行说明。在根据第一实施例的图像编码装置中,SAO滤波器控制是否以切片为单位应用SAO处理。在根据本实施例的图像编码装置中,除了以切片为单位进行控制之外,SAO滤波器还基于设置于解码图像数据中的编码参数控制是否以CTU(即,LCU)为单位应用SAO处理。鉴于此,首先,将参照图25具体地将重点放在SAO滤波器上对根据本实施例的图像编码装置的概述进行说明。

图25示意性地图示了在切片B(或者图片B)中基于帧间预测中的双向预测生成的预测图像数据的示例。在图25中,附图标记d60示意性地表示基于帧间预测中的双向预测生成的预测图像数据(TU)的像素的像素值的示例。附图标记d61示意性地表示在(过去)用于生成预测图像数据d60的方向L0上切片I或者切片P的预测图像数据(TU)的像素的像素值的示例。同样,附图标记d62示意性地表示在(将来)用于生成预测图像数据d60的方向L1上切片I或者切片P的预测图像数据(TU)的像素的像素值的示例。

如图25所示,当应用帧间预测的双向预测时,待生成的预测图像数据d60的像素的像素值是用于预测的解码图像数据d61和d62的像素的像素值的平均值。由于这个原因,当应用帧间预测的双向预测时,切片B的解码图像数据(例如,预测图像数据d60的解码图像数据)很有可能是细节感受到破坏的图像,并且像素值的变化小于切片I或者切片P的解码图像数据。应该理解的是,即使在将帧内预测应用于切片B时也存在相同的趋势。

在切片B的预测图像数据中,倾向于选择比切片I或者切片P的预测图像数据中的量化步长(QP)更大的量化步长。如上所述,即使当量化步长较大时,很有可能是细节感受到破坏的图像,并且像素值的变化小于在量化步长较小时的像素值的变化。

如上所述,SAO处理对应缓解与在解码图像数据中生成的原始图像数据的误差(例如,量化误差)的处理,并且对应进行将偏移量与目标像素值相加或者将偏移量从目标像素值中减去的平滑处理的处理。由于这个原因,当对切片B的解码图像数据(诸如,图25所示的预测图像数据的解码图像数据)进行SAO处理时,可能会进一步破坏细节感。在这种情况下,在进行SAO处理时,会进一步增加切片B与行进的或者随后的切片I或者切片P之间的图像质量的差值,从而可以降低主观图像质量。

鉴于此,根据本实施例的SAO滤波器进一步根据设置于目标的解码图像数据中的编码参数来控制是否应用SAO处理。进一步地,除了以切片单位进行控制之外,根据本实施例的SAO滤波器还控制是否以CTU为单位应用SAO处理。如稍后描述的,编码参数的示例包括预测参数(诸如,帧间预测或者帧内预测的预测模式)和量化参数(诸如,量化步长)。

具体地,当该像素值的变化小于在其它切片中的像素值的变化时,例如,当应用帧间预测的双向预测时,SAO滤波器不会以切片为单位或者以CTU为单位应用作为处理目标的SAO处理。

通过这种配置,在根据本实施例的图像编码装置中,SAO滤波器抑制了编码伴随的图像质量的降低,并且减少了成本计算的处理量。应该明白的是,在根据本实施例的图像编码装置中,减少了成本计算的处理量,从而可以减少功耗。

鉴于此,下面将重点放在与第一实施例不同的部分(具体为在回路滤波器中的SAO滤波器)对根据本实施例的图像编码装置进行更详细说明。

[4-2.SAO滤波器的示例性配置]

首先,将参照图26对根据本实施例的SAO滤波器300的配置的示例进行说明。图26是图示根据本实施例的SAO滤波器300的配置的示例的框图。根据本实施例的SAO滤波器300与根据第一实施例的SAO滤波器300(见图7)的不同之处在于切换确定部360的配置。鉴于此,在本说明书中,将对切换确定部360进行说明,而省略了对其它部件的详细说明。

如图26所示,根据本实施例的切换确定部360包括第一确定部370和第二确定部380。

第一确定部370的功能对应根据第一实施例的切换确定部360的功能。换言之,第一确定部370控制是否以切片为单位将SAO处理应用于解码图像数据。

此处,将参照图27对根据本实施例的第一确定部370的配置进行详细说明。图27是图示控制是否以切片为单位应用SAO处理的第一确定部370的配置的示例的框图。

如图27所示,第一确定部370包括模式数量计数部371和确定处理部373。

当处理目标的切片是切片B时,模式数量计数部371相加在切片B的上一个切片(即,切片I或者切片P)中应用了SAO处理的块(CTU)的数量。然后,模式数量计数部371将相加的数量(即,在上一个切片中应用了SAO处理的块(CTU)的数量)输出至确定处理部373作为模式的数量。

当处理目标的切片是切片I或者切片P时,确定处理部373下令分析部320将SAO处理应用于切片。

进一步地,当处理目标的切片是切片B时,确定处理部373从模式数量计数部371获取在切片B的上一个切片中应用了SAO处理的块(CTU)的数量,即,模式的数量。然后,确定处理部373根据获取的模式的数量控制是否减法SAO处理应用于切片B。

作为具体示例,当获取的模式的数量小于预定阈值TH11时,确定处理部373下令分析部320限制将SAO处理应用于处理目标的切片B(即,不将SAO处理应用于处理目标的切片B)。

上述处理和根据第一实施例的SAO滤波器360中的一样。

当获取的模式数量(即,应用了SAO处理的块(CTU)的数量)等于或者大于阈值TH11时,根据本实施例的确定处理部373获取用于生成作为解码图像数据的解码源的量化数据的量化步长(QP)。只要确定处理部373可以获取作为解码图像数据的解码源的量化数据的量化步长,便不会具体限制获取源。作为具体示例,确定处理部373可以从量化部15(见图3)获取量化步长。

然后,确定处理部373基于获取的量化步长控制是够将SAO处理应用于处理目标的切片B。

具体地,当获取的量化步长等于或者小于预定阈值TH12时,确定处理部373下令分析部320将SAO处理应用于处理目标的切片B。进一步地,当获取的模式的数量大于预定阈值TH12时,确定处理部373下令分析部320限制将SAO处理应用于处理目标的切片B(即,不将SAO处理应用于处理目标的切片B)。

作为用于基于量化步长限制是否将SAO处理应用于处理目标的切片B的阈值TH12,优选地,预先设置基于实验等决定的适当值。

进一步地,确定处理部373将指示是否以切片为单位应用SAO处理的信息输出至无损编码部16作为编码参数。本处理和根据第一实施例的切换确定部360中的一样。

如上所述,第一确定部370控制是否以切片为单位应用SAO处理。

如上所述,在量化步长相对较大的切片B的解码图像数据中,与切片I或者切片P的解码图像数据相比较,细节感倾向于受到破坏,并且在进行SAO处理时存在细节感的损失明显的情况。

然而,第一确定部370限制将SAO处理应用于量化步长相对较大的切片B。换言之,第一确定部370控制是否以切片为单位应用SAO处理,从而抑制了图像质量的降低,而且减少了成本计算的处理量。

接着,将参照图26对第二确定部380进行说明,第二确定部380基于设置于CTU中的编码参数控制是否以CTU(即LCU)为单位将SAO处理应用于解码图像数据。

作为具体示例,第二确定部380使用指示设置于作为处理目标的CTU中的预测模式(即,帧内预测或者帧间预测)的预测参数来作为用于确定是否应用SAO处理的编码参数。

只要第二确定部380可以获取指示设置于作为处理目标的CTU中的预测模式的预测参数,便不会对获取源进行具体限制。作为具体示例,第二确定部380可以从选择器27获取预测参数以作为选择器27(见图3)根据帧内预测和帧间预测的成本的大小进行切换和输出的信息(即,与帧内预测或者帧间预测相关的信息)。

第二确定部380基于获取的预测参数识别设置于作为处理目标的CTU中的预测模式。然后,当设置于作为处理目标的CTU中的预测模式是帧内预测或者帧间预测的双向预测时,第二确定部380下令分析部320限制将SAO处理应用于该CTU(即,不将SAO处理应用于该CTU)。进一步地,当预测模式既不是帧内预测也不是帧间预测的双向预测时,第二确定部380下令分析部320将SAO处理应用于作为处理目标的CTU。

如上所述,第二确定部380控制是否以CTU为单位应用SAO处理。

如上所述,在应用了帧内预测双向预测的切片B的解码图像数据中,与切片I或者切片P的解码图像数据相比较,细节感倾向于受到破坏,并且在进行SAO处理时存在细节感的损失明显的情况。进一步地,应该理解的是,即使在将帧内预测应用于切片B时也存在相同的趋势。

然而,当设置于作为处理目标的CTU中的预测模式是帧内预测或者帧间预测的双向预测时,第二确定部380限制将SAO处理应用于该CTU。换言之,第二确定部380控制是否以CTU为单位应用SAO处理,从而抑制了图像质量的降低,而且减少了成本计算的处理量。

随后的处理(即,分析部320和滤波处理吧90根据切换确定部360的控制的操作)和第一与第二实施例中的一样。上面已经参照图26和图27对根据本实施例的SAO滤波器300的配置的示例进行了说明。

[4-3.SAO滤波器的处理流程]

接着,将参照图28对根据本实施例的SAO滤波器300的一系列处理的流程进行说明。图28是图示根据本实施例的SAO滤波器300的一系列处理的流程的示例的流程图。

根据本实施例的SAO滤波器300与根据第一实施例的SAO滤波器300(见图8)的不同之处在于,步骤S100a的处理的内容不同,并且增加了步骤S300和S400的处理。鉴于此,下面的描述将重点放在不同于根据第一实施例的SAO滤波器300的步骤S100a、S300和S400,而省略了对其它处理的详细说明。

(步骤S100a)

切换确定部360确定是否以解码图像数据的切片为单位将SAO处理应用于亮度和色度,并且基于确定结果控制分析部320的操作。具体地,当处理目标的切片是切片B,并且量化步长等于或者大于预定阈值TH12时,根据本实施例的切换确定部360限制将SAO处理应用于该切片。稍后将单独对通过切换确定部360确定是否以切片为单位应用SAO处理的操作进行说明。

(步骤S300)

当确定将SAO处理应用于切片时(在步骤S200中为是),切换确定部360针对切片的各个CTU确定是否将SAO处理应用于亮度和色度,并且基于确定结果控制分析部320的操作。具体地,当设置于作为处理目标的CTU中的预测模式是帧内预测或者帧间预测的双向预测时,根据本实施例的切换确定部360限制将SAO处理应用于CTU。稍后将单独对通过切换确定部360确定是否以CTU为单位应用SAO处理的操作进行说明。

(步骤S500)

当确定将SAO处理应用于CTU(在步骤S400中的是摂)时,分析部320基于原始图像数据和解码图像数据(已经经过去块滤波处理)决定用于执行SAO处理的SAO模式和用于CTU的偏移值。

(步骤S600)

滤波处理部390基于由模式确定部340提供的SAO模式和偏移值对解码图像数据的各个CTU进行SAO处理。

(步骤S700)

对目标切片的一系列CTU进行上述确定和处理(在步骤S700中为否);而且,当完成了对这一系列CTU的确定和处理时(在步骤S700中为是),完成了将SAO处理应用于目标切片。

(步骤S200)

进一步地,当SAO处理不应用于目标切片时(在步骤S200为否),不会对切片进行步骤S300至S700的处理。

接着,将参照图29对图28所示的步骤S100的处理(即,通过根据本实施例的切换确定部360确定是否以切片为单位应用SAO处理的处理的示例)进行说明。图29是图示通过根据本实施例的切换确定部确定是否以切片为单位应用SAO处理的处理的示例的流程图。

根据本实施例的切换确定部360与根据第一实施例的切换确定部360(见图9)的不同之处在于增加了步骤S110的处理。鉴于此,下面的描述将重点放在不同于根据第一实施例的切换确定部360的步骤S110的处理,而省略了对其它处理的详细说明。

(步骤S101和S102)

当处理目标的切片是切片B时(在步骤S101中为是),根据本实施例的切换确定部360获取在切片B的上一个切片(即切片I或者切片P)中应用了SAO处理的CTU的数量(模式数量)。

(步骤S103)

当获取的模式数量等于或者大于预定阈值TH11时(在步骤S103中为否),切换确定部360获取用于生成作为解码图像数据的解码源的量化数据的量化步长(QP)。然后,确定处理部373基于获取的量化步长控制是够将SAO处理应用于处理目标的切片B。

(步骤S104)

具体地,当获取的量化步长等于或者小于预定阈值TH12时(在步骤S103中为否),切换确定部360下令分析部320将SAO处理应用于处理目标的切片B。

(步骤S105)

进一步地,当获取的模式的数量大于预定阈值TH12时(在步骤S103中为是),切换确定部360下令分析部320限制将SAO处理应用于处理目标的切片B(即,不将SAO处理应用于处理目标的切片B)。

如上所述,根据本实施例的切换确定部360确定是否以切片为单位应用SAO处理,并且基于确定结果控制分析部320的操作。

接着,将参照图30对图28所示的步骤S300的处理(即,通过根据本实施例的切换确定部360(具体为第二确定部380)确定是否以CTU为单位应用SAO处理的处理的示例)进行说明。图30是图示通过根据本实施例的切换确定部确定是否以CTU为单位应用SAO处理的处理的示例的流程图。

(步骤S301)

切换确定部360使用指示设置于作为处理目标的CTU中的预测模式(即,帧内预测或者帧间预测)的预测参数来作为用于确定是否应用SAO处理的编码参数。切换确定部360例如选择器27(见图3)获取预测参数,并且基于获取的预测参数识别设置于作为处理目标的CTU中的预测模式。

(步骤S302)

然后,切换确定部360确定所识别出的预测模式是否对应帧内预测或者帧间预测的双向预测。

(步骤S304)

当识别出的预测模式是帧内预测或者帧间预测的双向预测时(在步骤S302中为是),切换确定部360下令分析部320限制将SAO处理应用于CTU(即,不将SAO处理应用于CTU)。

(步骤S303)

当识别出的预测模式既不是帧内预测也不是帧间预测的双向预测时(在步骤S302中为否),切换确定部360下令分析部320将SAO处理应用于CTU。

其后,分析部320进行成本计算并且仅针对作为SAO处理的应用目标的CTU指定SAO模式和偏移值,并且滤波处理部390基于SAO模式和偏移值进行SAO处理。

上面已经参照图28至图30对根据本实施例的SAO滤波器300的一系列处理的流程进行了说明。如上所述,根据本实施例的SAO滤波器根据设置于目标的解码图像数据中的编码参数来控制是否应用SAO处理。除了以切片单位进行控制之外,根据本实施例的SAO滤波器还控制是否以CTU为单位应用SAO处理。

通过这种配置,在根据本实施例的图像编码装置中,SAO滤波器抑制了编码伴随的图像质量的降低,并且减少了成本计算的处理量。应该明白的是,在根据本实施例的图像编码装置中,减少了成本计算的处理量,从而可以减少功耗。

[4-4.修改示例]

接着,将对根据本实施例的切换确定部360的修改示例进行说明。在上述的示例中,切换确定部360基于切片的类型、预测参数(诸如,帧间预测或者帧内预测的预测模式)或者量化参数(诸如,QP)控制是否以切片为单位或者以CTU为单位应用SAO处理。然而,如上所述,鉴于SAO处理的应用所伴随的对图像质量的影响,只要可以控制是否以切片为单位或者以CTU为单位应用SAO处理,该方法并不一定限于基于预测参数或者量化参数的方法。

作为解码图像数据的各个像素的亮度分量和色度分量的具体示例,通过实验等执行SAO处理,发现色度分量对图像质量改善的影响更大。

利用这种趋势,切换确定部360可以进行如下控制:限制将SAO处理应用于解码图像数据的亮度分量,而仅将SAO处理应用于色度分量。

此时,切换确定部360可以控制是否与切片为单位或者以CTU为单位应用SAO处理。应该明白的是,切换确定部360可以进行如下控制:仅将SAO处理共同应用于解码图像的全部色度分量。

上面描述为修改示例的方法可以与基于预测参数或者量化参数的方法结合。基于预测参数或者量化参数的方法可以用上面描述为修改示例的方法替代。

[4-5.总结]

如上所述,根据本实施例的SAO滤波器根据设置于目标的解码图像数据中的编码参数来控制是否应用SAO处理。进一步地,除了以切片单位进行控制之外,根据本实施例的SAO滤波器还控制是否以CTU为单位应用SAO处理。

通过这种配置,在根据本实施例的图像编码装置中,SAO滤波器抑制了编码伴随的图像质量的降低,并且减少了成本计算的处理量。应该明白的是,在根据本实施例的图像编码装置中,减少了成本计算的处理量,从而可以减少功耗。

根据本实施例的SAO滤波器300可以与根据第一与第二实施例的SAO滤波器300中的一个或者两者组合。

作为具体示例,在根据本实施例的SAO滤波器300中,根据第一实施例的偏移量确定部350作为在模式确定部340中的偏移量确定部350来应用。通过这种配置,可以减少用于指定偏移量的成本计算的处理量,而且减少了偏移量确定部350的电路大小。

进一步地,在根据本实施例的SAO滤波器300中,根据第二实施例的模式确定部340可以作为模式确定部340来应用。通过这种配置,可以进一步减少用于指定SAO模式的成本计算的处理量。

如上所述,应该明白的是,将根据各自实施例的SAO滤波器300适当地结合,进一步减少了成本计算的处理量,而且可以进一步减少功耗。

<5.第四实施例>

[5-1.概述]

接着,将对根据第四实施例的图像编码装置进行说明。在根据第一实施例的图像编码装置中,SAO滤波器通过限制偏移值的候选减少了指定偏移值的处理量,并且减少了与一系列成本计算相关的处理量。另一方面,在根据本实施例的图像编码装置中,通过根据目标图片的图片类型进一步限制偏移值的候选,SAO滤波器进一步减少了指定偏移值的处理量。

通常,随着各个图片与原始图像之间的差离度的增加(即,类似于随着原始图像的减小),倾向于选择较大的偏移值。另一方面,基于参照另一图片(诸如,图片P或者图片B)的预测结果生成的图片与作为参照目的地的图片有时间相关性,并且与原始图像(即,偏移值的候选的数量)的差值也取决于参照目的地的图片。由于这个原因,在基于参照另一图片的预测结果生成的图片中,不倾向于选择比在参照目的地的图片中选择的偏移值高的偏移值的候选(即,离原始图像更远的偏移值的候选)。换言之,在图片P或者图片B中可以选择的偏移值的候选(即,与原始图像的差值)是在值上等于或者小于在参照目的地的图片中选择的偏移值的候选的候选,因此在图片P或者图片B中可以选择的偏移值的候选的数量等于或者小于参照目的地的图片中选择的偏移值的候选的数量。

鉴于此,在根据本实施例的图像编码装置中,当作为处理目标的图片的图片类型是图片P或者图片B(即,基于参照另一图片的预测结果生成的图片)时,SAO滤波器将该图片的偏移值的候选的数量限制为直到将在参照目的地的图片中选择的偏移值的最大值设置为目标时的候选的数量。通过这种控制,根据本实施例的SAO滤波器(具体为偏移量确定部350)通过限制偏移值的候选的数量决定待应用的偏移值,并且减少了偏移值的各个候选的成本计算的处理量。

下面将参照附图对根据本实施例的图像编码装置中的SAO滤波器的操作进行详细说明。例如,图31是描述根据本实施例的图像编码装置的概述的说明图,并且图示了图片(即,图片I、图片P和图片B)之间的参照关系。图31图示了当图片深度为3时图片之间的参照关系。

此处,将对图片深度的概述进行说明。在帧间预测中,通过使用编码图片预测当前待编码的块。由于这个原因,待编码图片的顺序和参照关系非常重要。图片深度是指示图像的图片(GOP结构)之间的参照关系的信息。具体地,例如,将在参照关系中在相同情况下的图片分组成1至5。

在图31所示的示例中,水平方向表示解码顺序的时间。各个矩形部分表示图片,而存在矩形部分中的各个符号(诸如I、B和P)表示图片的图片类型。换言之,具有符号I的图片表示图片I。同样,具有符号B的图片表示图片B,而具有符号P的图片表示图片P。箭头连接的图片表示在进行帧间预测时被参照的图片(即,图片之间的参照关系)。

例如,在图31所示的示例中,图片深度1表示图片I和图片P。图片I不会参照另一个图片。图片P参照位于图片P本身的左侧(即,过去侧)上的图片I和图片P之中的最新图片。具体地,位于图片I的右侧上的图片P参照图片I。同样,位于图片I的右侧上的另一个图片P参照位于图片P本身的左侧上的图片P。

图片深度2表示参照图片深度1的图片的图片B。例如,在图31中,在图片深度2处包括的图片B之中,位于图片I与图片P之间的图片B参照图片I和图片P。位于图片P与另一个图片P之间的图片B参照图片P和另一个图片P。

图片深度3包括图片B,这些图片B在前述的和随后的(即,过去的和将来的)参照方向中的一个方向上参照图片深度1的图片(即,图片I或者图片P的图片B)而在其它参照方向上参照图片深度2的图片(即,图片B)。例如,在图片深度3处包括的图片B之中,位于在图片深度1处包括的图片I与在图片深度2处包括的图片B之间的图片B参照在图片深度1处包括的图片I和在图片深度2处包括的图片B。同样,位于在图片深度2处包括的图片B与在图片深度1处包括的图片P之间的图片B参照在图片深度2处包括的图片B和在图片深度1处包括的图片P。

此处,将通过使用具体示例对通过根据本实施例的SAO滤波器(具体为偏移量确定部350)根据目标图片的图片类型来限制偏移值的候选的数量的处理的内容进行说明。例如,图32是描述通过根据本实施例的SAO滤波器根据图片类型来限制偏移值的候选的数量的处理的内容的说明图。在图32中,假定图片I、图片P和图片B存在参照关系。换言之,在图32中,图片P参照图片I,而图片B参照图片I和图片P。

当图片类型是图片I时,根据本实施例的偏移量确定部350将偏移值的候选的数量的最大值设置为“8”,类似于根据第一实施例的偏移量确定部350。换言之,当图片类型是图片I时,例如,使用在图13所示的偏移量测量部351中的全部Offset[0]测量部至Offset[7]测量部。

进一步地,当图片类型是图片P时,偏移量确定部350将在作为图片P的参照目的地的图片I中选择的偏移值中的最大值设置为目标,并且限制在图片P中的偏移值的候选的数量。例如,基于为指定参照目的地的图片中的偏移值而计算出的统计值,可以获取在参照目的地的图片中选择的偏移值的最大值。

作为具体示例,在图32所示的示例中,假定在图片I中选择的偏移值的最大值是作为Offset[5]测量部的目标的偏移值。在这种情况下,偏移量确定部350将针对参照图片I的图片P的作为Offset[5]测量部的目标的偏移值(即,作为Offset[0]测量部至Offset[5]测量部的目标的偏移值)设置为与图片P对应的偏移值的候选。换言之,在图32所示的示例的情况下,针对图片P,将偏移值的候选的数量限制为“6”,并且使用在图13所示的偏移量测量部351中的Offset[0]测量部至Offset[5]测量部。

当图片类型是图片B时,偏移量确定部350将在作为图片B的参照目的地的图片I和图片P中选择的偏移值中的最大值设置为目标,并且限制在图片B中的偏移值的候选的数量。

此时,偏移量确定部350基于在参照目的地(例如,图片I和图片P)中选择的偏移值的最大值中较小的一个来限制在图片B中的偏移值的候选的数量。这是因为图片B可以参照在其前面和后面的图片(例如,图32中的图片I和图片P),因此宜为参照在参照目的地的图片之中的与原始图像的差值较小的图片。

例如,在图32所示的示例中,假定在图片I中选择的偏移值的最大值是用作Offset[5]测量部的目标的偏移值,并且假定在图片P中选择的偏移值的最大值是用作Offset[3]测量部的目标的偏移值。在这种情况下,针对参照图片I和图片P的图片B,偏移量确定部350将作为Offset[3]测量部的目标的偏移值(即,作为Offset[0]测量部至Offset[3]测量部的目标的偏移值)设置为与图片B对应的偏移值的候选。换言之,在图32所示的示例的情况下,针对图片B,将偏移值的候选的数量限制为“4”,并且使用在图_13所示的偏移量测量部351中的Offset[0]测量部至Offset[3]测量部。

在图32所示的示例中,虽然在上面已经将在图31所示的示例中的图片深度2处包括的图片B的示例描述为图片B,但是在其它图片深度中针对图片B的基本概念是相同的。

例如,在图31所示的示例中,主要将重点放在位于在图片深度1处包括的图片I与在图片深度2处包括的图片B之间的图片B(即,解码顺序用“1”表示的图片B)。在这种情况下,基于在图片深度1处包括的图片I和在图片深度2处包括的图片B中选择的偏移值的最大值中较小的一个,偏移量确定部350

限制在图片深度2处包括的图片B中的偏移值的候选的数量。作为具体示例,假定在图片I侧上选择的偏移值的最大值是用作Offset[5]测量部的目标的偏移值,并且假定在图片深度2处包括的图片B侧上选择的偏移值的最大值是用作Offset[3]测量部的目标的偏移值。在这种情况下,偏移量确定部350基于用作Offset[3]测量部的目标的偏移值来限制在图片深度2处包括的图片B中的偏移值的候选的数量。

此时,在图片深度2处包括的图片B参照在图片深度1处包括的图片I。由于这个原因,在图片深度2处包括的图片B中选择的偏移值的最大值不会超过在图片深度1处包括的图片I中选择的偏移值的最大值。利用这种趋势,例如,当参照目的地的图片中的任意一个是图片B时,偏移量确定部350可以基于在图片B中选择的偏移值的最大值来限制在目标图片(即,具有较大图片深度的图片B)中的偏移值的候选的数量。

由于上述趋势,随着包括有图片的图片深度的增加,偏移值的最大值减小,并且偏移值的候选的数量得到进一步限制。由于这个原因,例如,在具有多个参照目的地的图片(即,图片B)的情况下,偏移量确定部350可以基于在较大图片深度处包括的图片中选择的偏移值的最大值来限制在目标图片中的偏移值的候选的数量。

上面已经参照图31和图32对根据本实施例的图像编码装置中的SAO滤波器的概述进行了说明。

[5-2.处理]

接着,具体地将重点放在偏移量确定部350的处理,将对根据本实施例的图像编码装置中的SAO滤波器的一系列处理的流程的示例进行说明。图33和图34是图示根据本实施例的图像编码装置中的偏移量确定部350的一系列处理的流程的示例的流程图。

可以从图33所示的流程图与图17所示的流程图的比较中看出,根据本实施例的偏移量确定部350与根据第一实施例的偏移量确定部350的不同之处在于,包括了步骤S800的处理(即,限制偏移值的候选的数量的处理)。鉴于此,在本说明书中,将主要将重点放在不同于根据第一实施例的偏移量确定部350(见图17)的部分对根据本实施例的偏移量确定部350的处理流程的示例进行说明,而省略了对其它部件的详细说明。

(步骤S800)

首先,偏移量确定部350根据目标图片的图片类型来限制偏移值的候选的数量(即,偏移值的候选的数量的最大值N)。

此处,参照图34。图34是图示通过偏移量确定部350根据目标图片的图片类型来限制偏移值的候选的数量的处理(即,图33中步骤S800的处理)的流程的示例的流程图。

(步骤S801)

首先,偏移量确定部350基于指示处理目标图片的图片类型的信息来确定该图片是否对应图片I、图片P和图片B中的任意一个。

(步骤S805)

当目标图片时图片I时(在步骤S803为是),偏移量确定部350将偏移值的候选的数量的最大值N设置为7。

(步骤S809)

当目标图片时图片P时(在S803中为否并且在步骤S807中为是),偏移量确定部350基于在该图片参照的另一个图片(例如,图片I或者图片P)中选择的偏移值的最大值来限制该图片的偏移值的候选的数量的最大值N。此时,优选地,基于为指定在作为参照目的地的另一个图片中的偏移值而计算出的统计值,偏移量确定部350指定在另一个图片中选择的偏移值的最大值。

(步骤S809)

当目标图片时图片B时(在S803中为否并且在步骤S807中为否),偏移量确定部350基于在该图片参照的另一个图片(例如,图片I、图片P或者图片B)中选择的偏移值的最大值中较小的一个来限制该图片的偏移值的候选的数量的最大值N。此时,优选地,基于为指定在作为参照目的地的另一个图片中的偏移值而计算出的统计值,偏移量确定部350指定在另一个图片中选择的偏移值的最大值。

如上所述,偏移量确定部350根据目标图片的图片类型来限制偏移值的候选的数量(即,偏移值的候选的数量的最大值N)。

随后的处理(即,图33中的步骤S621之后的处理)和根据第一实施例的偏移量确定部350中的一样。

在与图17所示的示例相比较的图33所示的示例中,基于步骤S800的处理结果来限制偏移值的候选的数量的最大值N。因此,根据本实施例的偏移量确定部350,当图片类型是图片P或者图片B时,通过限制偏移值的候选的数量(即,限制步骤S622至S628的一系列处理的执行次数(循环次数)),可以省略与候选对应的成本计算。因此,根据本实施例的偏移量确定部350可以将与为指定偏移值而进行的偏移值的各个候选的成本计算相关的处理量减小到小于根据第一实施例的偏移量确定部350(见图17)。

上面已经参照图33和图34具体地将重点放在偏移量确定部350的处理上对根据本实施例的图像编码装置中的SAO滤波器的一系列处理的流程的示例进行了说明。

[5-3.总结]

如上所述,根据本实施例的图像编码装置的SAO滤波器进一步根据目标图片的图片类型限制偏移值的候选。具体地,当目标图片时图片P或者图片B(即,基于参照另一个图片的预测结果生成的图片)时,SAO滤波器基于在作为参照目的地的另一个图片中选择的偏移值的最大值来限制图片的偏移值的候选的数量。通过这种配置,根据本实施例的SAO滤波器决定待应用的偏移值,从而可以减少偏移值的各个候选的成本计算的处理量。

具体地,在SAO滤波器中,通常,当图片B或者图片P为处理目标时,处理量倾向于大于在图片I为处理目标时的处理量。另一方面,在根据本实施例的SAO滤波器中,当图片P或者图片B为目标时,减少了偏移值的各个候选的成本计算的处理负载,从而可以减少在图片P或者图片B为目标时的处理量。

随着在参照关系中的图片之间的相似性趋于增加,在各个图片中选择的偏移值趋于减小。换言之,在根据本实施例的SAO滤波器中,由于上述处理的趋势,随着在参照关系中的图片之间的相似性的增加,进一步限制了在图片P或者图片B中的偏移值的候选的数量。

作为具体示例,随着帧速率的增加,帧之间的时间距离减少,而帧之间的相似性趋于增加,从而倾向于选择较小的偏移值。因此,在根据本实施例的SAO滤波器中,由于帧速率增加,可以进一步限制在图片P或者图片B中的偏移值的候选的数量并且进一步减少处理量。

<6.示例性硬件配置>

这些实施例可以通过使用软件、硬件或者软件和硬件的组合来实施。例如,当图像编码装置10使用软件时,将构成软件的程序存储在存储介质(非暂时性介质)中,该存储介质预先安装在设备内部或者外部。例如,各个程序写入随机存取存储器(RAM)并且由处理器诸如中央处理单元(CPU)来执行。

图35是图示可以应用上述实施例的编码器的硬件配置的示例的框图。参照图35,编码器800包括系统总线810、图像处理芯片820和片外存储器890。图像处理芯片820包括n(n为1或者以上)个处理电路830-1、830-2…和830-n、参考缓冲器840、系统总线接口850和本地总线结构860。

系统总线810在图像处理芯片820与外部模块(例如,中央控制功能、应用功能、通信接口或者用户界面等)之间提供通信路径。处理电路830-1、830-2…和830-n通过系统总线接口850与系统总线810连接,并且通过本地总线结构860与片外存储器890连接。处理电路830-1、830-2…和830-n可以访问参考缓冲器840,参考缓冲器840可以对应片上存储器(例如,SRAM)。例如,片外存储器890可以是存储待由图像处理芯片820处理的图像数据的帧存储器。

作为一个示例,处理电路830-1可以对应帧内预测部30,处理电路830-2可以对应帧间预测部35,另一个处理电路可以对应正交变换部14,而再另一个处理电路可以对应无损编码部16。另一个处理电路可以对应回路滤波器24。构成回路滤波器24的去块滤波器200、SAO滤波器300和自适应回路滤波器400可以分别配置为另一个处理电路。处理电路可以形成于另一个芯片上而不是同一个图像处理芯片820上。

<7.应用示例>

[7.1应用于各种产品]

上述实施例可以应用于各种电子装置,诸如,通过使用卫星电路、有线电视电路、互联网、蜂窝移动通信网络等传输编码流的传输装置、或者将视频的编码流记录在介质(诸如,光盘、磁盘或者闪存存储器)中的记录装置。下面将对三种应用示例进行说明。

(1)第一应用示例

图36是图示应用上述实施例的移动电话的示意性配置的示例的示意图。移动电话920包括天线921、通信单元922、音频编解码器923、扬声器924、麦克风925、摄像头单元926、图像处理单元927、多路解复用单元928、记录/再现单元929、显示器930、控制单元931、操作单元932、传感器单元933、总线934和电池935。

天线912连接至通信单元922。扬声器924和麦克风925连接至音频编解码器923。操作单元932连接至控制单元931。总线934将通信单元922、音频编解码器923、摄像头单元926、图像处理单元927、多路解复用单元928、记录/再现单元929、显示器930、控制单元931和传感器单元933相互连接。

移动电话920以各种操作模式进行操作,诸如,传输/接收音频信号、传输/接收电子邮件或者图像数据、成像图像或者记录数据,这些操作模式包括音频呼叫模式、数据通信模式、摄像模式和视频电话模式。

在音频呼叫模式中,将由麦克风925生成的模拟音频信号提供给音频编解码器923。然后,音频编解码器923将模拟音频信号转换成音频数据,对转换的音频数据进行A/D转换,并且压缩该数据。其后,音频编解码器923将压缩的音频数据输出至通信单元922。通信单元922对该音频数据进行编码和调制以生成传输信号。然后,通信单元922通过天线921将生成的传输信号传输至基站(未示出)。而且,通信单元922对通过天线921接收的无线电信号进行放大,转换该信号的频率,并且获取接收信号。其后,通信单元922对接收信号进行解调制和解码以生成音频数据,并且将生成的音频数据输出至音频编解码器923。音频编解码器923扩展该音频数据,对该数据进行D/A转换,并且生成模拟音频信号。然后,音频编解码器923通过提供生成的音频信号来将音频输出至扬声器924。

在数据通信模式中,例如,控制单元931通过操作单元932根据用户操作生成配置电子邮件的字符数据。控制单元931进一步将字符显示在显示器930上。此外,控制单元931通过操作单元932根据来自用户的传输指令生成电子邮件数据,并且将生成的电子邮件数据输出至通信单元922。通信单元922对该电子邮件数据进行编码和调制以生成传输信号。然后,通信单元922通过天线921将生成的传输信号传输至基站(未示出)。通信单元922进一步对通过天线921接收到的无线电信号进行放大,转换该信号的频率,并且获取接收信号。其后,通信单元922对该接收信号进行解调制和解码,恢复电子邮件数据,并且将恢复的电子邮件数据输出至控制单元931。控制单元931将电子邮件的内容显示在显示器930上,而且还将电子邮件数据存储在记录/再现单元929的存储介质中。

记录/再现单元929包括可读取且可写入的任意存储介质。例如,该存储介质可以是内置存储介质,诸如,RAM或者闪存存储器,或者可以是外装式存储介质,诸如,硬盘、磁盘、磁光盘、光盘、USB(未分配空间位图)存储器或者存储卡。

在摄像模式中,例如,摄像头单元926使对象成像,生成图像数据,并且将生成的图像数据输出至图像处理单元927。图像处理单元927对从摄像头单元926输入的图像数据进行编码,并且将编码流存储在记录/再现单元929的存储介质中。

在视频电话模式中,例如,多路解复用单元928对由图像处理装置927编码的视频流和从音频编解码器923输入的音频流进行多路复用,并且将多路复用的流传输至通信单元922。通信单元922对该流进行编码和调制以生成传输信号。随后,通信单元922通过天线921将生成的传输信号传输至基站(未示出)。此外,通信单元922对通过天线921接收到的无线电信号进行放大,转换该信号的频率,并且获取接收信号。该传输信号和该接收信号可以包括编码位流。然后,通信单元922对该接收信号进行解调制和解码以恢复该流,并且将恢复的流输出至多路解复用单元928。多路解复用单元928将视频流和音频流与输入流分离,并且分别将视频流和音频流输出至图像处理单元927和音频编解码器923。图像处理单元927对视频流进行解码以生成视频数据。然后将视频数据提供给显示一系列图像的显示器930。音频编解码器923对音频流进行扩展和D/A转换以生成模拟音频信号。然后,音频编解码器923将生成的音频信号提供给扬声器924以便输出音频。

传感器单元933包括一组传感器,诸如,加速度传感器和陀螺仪传感器,并且输出指示移动电话920的运动的指数。电池935通过供电线路(未示出)为通信单元922、音频编解码器923、摄像头单元926、图像处理单元927、多路解复用单元928、记录/再现单元929、显示器930、控制单元931和传感器单元933提供电力。

在具有上述配置的移动电话920中,图像处理单元927具有根据上述实施例的图像编码装置10的功能。因此,在移动电话920中,可以减少用于决定待应用的SAO模式和待应用的偏移值的成本计算的处理量,并且减少移动电话920的功耗和电路大小。

(2)第二应用示例

图37是图示应用上述实施例的记录/再现装置的示意性配置的示例的示意图。例如,记录/再现装置940对接收到的广播节目的音频数据和视频数据进行编码,并且将数据记录到记录介质中。例如,记录/再现装置940也可以对从另一个装置获取的音频数据和视频数据进行编码,并且将数据记录到记录介质中。响应于用户指定,例如,记录/再现装置940将记录介质中记录的数据再现在监控器和扬声器上。此时,记录/再现装置940对音频数据和视频数据进行解码。

记录/再现装置940包括调谐器941、外部接口942、编码器943、HDD(硬盘驱动器,Hard Disk Drive)944、盘驱动器945、选择器946、解码器947、OSD(屏幕显示器)948、控制单元949和用户界面950。

调谐器941从通过天线(未示出)接收到的广播信号提取期望频道的信号,并且对提取出的信号进行解调制。然后,调谐器941将通过解调制获得的编码位流输出至选择器946。即,调谐器941在记录/再现装置940起着传输装置的作用。

外部接口942是使记录/再现装置940与外部装置或者网络连接的接口。外部几口942可以是,例如,IEEE 1394接口、网络接口、USB接口或者闪存存储器接口。例如,将荣国外部接口942接收到的视频数据和音频数据输入至编码器943。即,外部接口942在记录/再现装置940中起着传输装置的作用。

当没有对外部接口942输入的视频数据和音频数据进行编码时,编码器943对视频数据和音频数据进行编码。其后,编码器943将编码位流输出至选择器946。

HDD 944将编码位流、各种程序和其它数据记录到内置硬盘中,在编码位流中的内容数据诸如视频和音频是压缩的。在再现视频和音频时,HDD 944从硬盘中读取这些数据。

盘驱动器945将数据记录到安装至盘驱动器的记录介质中并且从该记录介质中读取数据。安装至盘驱动器945的记录介质可以是,例如,DVD盘(诸如,DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R或者DVD+RW)或者蓝光(注册商标)光碟。

在记录视频和音频时,选择器946选择从调谐器941或者编码器943输入的编码位流,并且将选择的编码位流输出至HDD 944或者盘驱动器945。另一方面,在重现视频和音频时,选择器946将从HDD 944或者盘驱动器945输入的编码位流输出至解码器947。

解码器947对编码位流进行解码以生成视频数据和音频数据。然后,解码器904将生成的视频数据输出至OSD 948而将生成的音频数据输出至外部扬声器。

OSD 948再现从解码器947输入的视频数据并且显示该视频。OSD 948也可以将GUI的图像诸如菜单、按钮或者光标叠置在显示的视频上。

控制单元949包括处理器,诸如CPU,和存储器,诸如RAM和ROM。存储器存储由CPU执行的程序以及程序数据。例如,在启动记录/再现装置940时通过CPU读取在存储器中存储的程序,并且执行该程序。通过执行程序,例如,CPU根据从用户界面950输入的操作信号控制记录/再现装置940的操作。

用户界面950连接至控制单元949。例如,用户界面950包括按钮和开关以供用户操作记录/再现装置940、以及接收遥控信号的接收部。用户界面950通过这些部件检测用户操作,生成操作信号,并且将生成的操作信号输出至控制单元949。

在具有上述配置的记录/再现装置940中,编码器943具有根据上述实施例的图像编码装置10的功能。因此,在记录/再现装置940中,可以减少用于决定待应用的SAO模式和待应用的偏移值的成本计算的处理量,并且减少记录/再现装置940的功耗和电路大小。

(3)第三应用示例

如38示出了应用上述实施例的图像捕捉装置的示意性配置的示例。成像装置960使对象成像以生成图像,对图像数据进行编码,并且将数据记录到记录介质中。

成像装置960包括光学块961、成像单元962、信号处理单元963、图像处理单元964、显示器965、外部接口966、存储器967、媒体驱动器968、OSD 969、控制单元970、用户界面971、传感器972、总线973和电池974。

光学块961连接至成像单元962。成像单元962连接至信号处理单元963。显示器965连接至图像处理单元964。用户界面971连接至控制单元970。总线973将图像处理单元964、外部接口966、存储器967、媒体驱动器968、OSD 969、控制单元970和传感器972相互连接。

光学块961包括聚焦透镜和隔膜机构。光学块961在成像单元962的成像表面上形成对象的光学图像。成像单元962包括图像传感器,诸如CCD(电荷耦合器件)或者(互补金属氧化物半导体),并且进行光电转换以将形成于成像表面上的光学图像转换成图像信号作为电信号。随后,成像单元962将图像信号输出至信号处理单元963。

信号处理单元963对从成像单元962输入的图像信号进行各种摄像头信号处理,诸如拐点校正、伽马校正和颜色校正。信号处理单元963将已经进行了摄像头信号处理的图像数据输出至图像处理单元964。

图像处理单元964对从信号处理单元963输入的图像数据进行编码,并且生成编码数据。然后,图像处理单元964将生成的编码数据输出至外部接口966或者媒体驱动器968。图像处理单元964还对从外部接口966或者媒体驱动器968输入的编码数据进行解码以生成图像数据。然后,图像处理单元964将生成的图像数据输出至显示器965。此外,图像处理单元964可以将从信号处理单元963输入的图像数据输出至显示器965以显示图像。而且,图像处理单元964可以将从OSD 969获取的显示数据叠置在显示器965上输出的图像上。

OSD 969生成GUI的图像,诸如菜单、按钮或者光标,并且将生成的图像输出至图像处理单元964。

例如,外部接口966配置为USB输入/输出端。例如,当打印图像时,外部接口966将成像装置960与打印机连接。此外,必要时,将驱动器连接至外部接口966。可消除介质诸如磁盘或者光盘安装至驱动器,例如,以便可以将从可消除介质中读取的程序安装至成像装置960。外部接口966也可以配置为连接至网络诸如LAN或者互联网的网络接口。即,外部接口966在成像装置960中起着传输装置的作用。

安装至媒体取钉器968的记录介质可以是可读取且可写入的任意可消除介质,诸如磁盘、磁光盘、光盘或者半导体存储器。此外,记录介质可以固定安装至媒体驱动器968,例如,以便配置非便携式存储单元,诸如内置硬盘驱动器或者SSD(固态驱动器)。

控制单元970包括处理器(诸如,CPU)和存储器(诸如,RAM和ROM)。存储器存储由CPU执行的程序以及程序数据。在启动成像装置960时通过CPU读取在存储器中存储的程序,并且执行该程序。通过执行程序,例如,CPU根据从用户界面971输入的操作信号控制成像装置960的操作。

用户界面971连接至控制单元970。例如,用户界面971包括按钮和开关以供用户操作成像装置960.用户界面971通过这些部件检测用户操作,生成操作信号,并且将生成的操作信号输出至控制单元970。

传感器972包括一组传感器,诸如加速度传感器和陀螺仪传感器,并且输出指示成像装置960的运动的指数。电池974通过供电线路(未示出)为成像单元962、信号处理单元963、图像处理单元964、显示器965、媒体驱动器968、OSD 969、控制单元970和传感器972。

在具有上述配置的成像装置960中,图像处理单元964具有根据上述实施例的图像编码装置10的功能。因此,在成像装置960中,可以减少用于决定待应用的SAO模式和待应用的偏移值的成本计算的处理量,并且减少成像装置960的功耗和电路大小。

[7-2.各个实施层]

根据本公开的技术可以在各个实施层处实施,诸如包系统大规模集成(LSI)等的处理器、使用多个处理器的模块、使用多个模块的单元、以及还将其它功能添加至单元的装置。

(1)视频装置

将参照图39对将根据本公开的技术实施为装置的示例。图39是图示视频装置的示意性配置的示例的框图。

近年来,电子装置的功能已经变得多样化。在电子装置的研发和制造中,针对各个独立功能进行研发和制造,然后将多个功能进行集成。因此,存在只制造或者销售一些电子装置的公司。这些公司提供具有单种功能或者多种相关功能的部件,或者提供具有集成功能组的装置。图39所示的视频装置1300是包括了用于图像的编码和解码(或者编码和解码中的一个)的部件以及以集成方式具有与该功能相关的另一种功能的部件的装置。

参照图39,视频装置1300包括模块组(诸如,视频模块1311、外部存储器1312、电源管理模块1313和前端模块1314)和具有相关功能(诸如,连接性模块1321、摄像头1322和传感器1323)的装置组。

模块是通过集成用于若干相关功能的部分而形成的部件。模块可以具有任何物理配置。作为一个示例,模块可以是通过以集成的方式在电路板上设置具有相同或者不同功能的多个处理器、电子电路元件(诸如电阻器和电容器)和其它装置而形成的。另一个模块可以是通过将模块与另一个模块或者处理器等组合而形成的。

在图39的示例中,用于与图像处理相关的功能的部分集成在视频模块1311中。视频模块1311包括应用处理器1331、视频处理器1332、宽带调制解调器1333和基带模块1334。

处理器可以是,例如,片上系统(SOC)或者系统LSI。SoC或者系统LSI可以包括用于实施预定逻辑的硬件。SoC或者系统LSI可以包括CPU和非暂时性有形介质,该非暂时性有形介质存储用于使CPU执行预定功能的程序。该程序可以,例如,存储在ROM中并在执行时在RAM中读取,并且由CPU来执行。

应用处理器1331是执行与图像处理相关的应用程序的处理器。除了用于图像处理的某些种类的操作之外,在应用处理器1331中执行的应用程序还可以例如对视频处理器1332和其它部件进行控制。视频处理器1332是具有与图像的编码和解码相关的功能的处理器。应用处理器1331和视频处理器1332可以集成到一个处理器中(见图39中的虚线)。

宽带调制解调器1333是经由网络(诸如互联网公用开关电话网络(PSTN))进行与通信有关的处理的模块。例如,宽带调制解调器1333进行将包括传输数据的数字信号转换成模拟信号的数字调制和将包括接收数据的模拟信号转换成数字信号的数字解调制。通过宽带调制解调器1333处理的传输数据和接收数据可以包括任意信息,诸如图像数据、图像数据的编码流、应用数据、应用程序和设置数据。

基带模块1334是对通过前端模块1314传输且接收的射频(RF)信号进行基带处理的模块。例如,基带模块1334调制包括传输数据的传输寄到信号,进行频率转换将传输基带信号转换成RF信号,并且将RF信号输出至前端模块1314。基带模块1314对从万端模块1314输入的RF信号进行频率转换并且进行解调制以生成包括接受数据的接收基带信号。

外部存储器1312是安装在视频模块1311外面且可从视频模块1311访问的存储装置。当将大规模数据(诸如,包括多个帧的视频数据)存储在外部存储器1312中时,外部存储器1312可以包括相对比较便宜的大容量半导体存储器,诸如动态随机存取存储器(DRAM)。

电源管理模块1313是控制至视频模块1311和前端模块1314的电源供应的模块。

前端模块1314是连接至基带模块1334并且提供前端功能的模块。在图39的示例中,前端模块1314包括天线部1351、滤波器1352和放大部1353。天线部1351包括传输或者接收无线电信号的一个或者多个天线元件和相关部件,诸如天线开关。天线部1351传输由放大部1353放大的作为无线电信号的RF信号。天线部1351将作为无线电信号接收的RF信号输出至滤波器1352,并且使滤波器1352对RF信号进行滤波。

连接性模块1321是具有与视频装置1300的外部连接相关的功能的模块。连接性模块1321可以支持任意外部连接协议。例如,连接性模块1321可以包括子模块和相应的天线,该子模块支持无线连接协议,诸如Bluetooth(注册商标)、IEEE 802.11(例如,Wi-Fi(注册商标))、近场通信(NFC)或者红外线数据协会(IrDA)。连接性模块1321可以包括子模块和相应的连接端,该子模块支持有线连接协议,诸如通用串行总线(USB)或者高清晰度多媒体接口(HDMI)。

连接性模块1321可以包括驱动器,该驱动器将数据写入存储装置(诸如存储介质,诸如,磁盘、光盘、磁光盘或者半导体存储器、固态驱动器(SSD)或者网络附加存储(NAS))中或者从该存储装置中读取数据。连接性模块1321可以包括存储介质或者存储装置。连接性模块1321可以提供与显示图像的显示器或者输出声音的扬声器的连接性。

摄像头1322是通过拍摄对象来获取拍摄图像的模块。由摄像头1322获取的一系列拍摄图像构成了视频数据。例如,由摄像头1322生成的视频数据必要时可以通过视频处理器1332来解码,并且存储到连接至连接性模块1321的外部存储器1312或者存储介质中。

传感器1323是可以包括例如GPS传感器、声音传感器、超声波传感器、光学传感器、亮度传感器、红外线传感器、角速度传感器、角加速度传感器、速度传感器、加速度传感器、陀螺仪传感器、地磁传感器、震动传感器和温度传感器中的一种或者多种的模块。例如,由传感器1323生成的传感器数据可以由应用处理器1331用于执行应用程序。

在具有上述配置的视频装置1300中,例如在视频处理器1332中可以使用根据本公开的技术。在这种情况下,视频装置1300是应用了根据本公开的技术的装置。

视频装置1300可以作为各种装置来实施以处理图像数据。例如,视频装置1300可以对应上面参照图20至23描述的电视装置900、移动电话920、记录/再现装置940或者成像装置960。视频装置1300可以对应终端装置,诸如,在上面参照图24描述的数据传输系统1000中的个人计算机1004、AV装置1005、平板装置1006或者移动电话1007、在上面参照图25描述的数据传输系统1100中的广播站1101或者终端装置1102、或者在上面参照图26描述的成像系统1200中的成像装置1201或者流存储装置1202。

(2)视频处理器

图40是描述视频处理器1332的示意性配置的示例的框图。视频处理器1332具有对输入视频信号和输入音频信号进行编码并且生成视频数据和音频数据的功能、以及对编码视频数据和音频数据进行解码并且生成输出视频信号和输出音频信号的功能。

参照图40,视频处理器1332包括视频输入处理部1401、第一缩放部1402、第二缩放部1405、视频输出处理部1404、帧存储器1405、存储器控制单元1406、编码/解码引擎1407、视频基本流(ES)缓冲器1408A和1408B、音频ES缓冲器1409A和1409B、音频编码器1410、音频解码器1411、多路复用器(MUX)1412、多路解复用器(DEMUX)1413和流缓冲器1414。

视频输入处理部1401将例如从连接性模块1321输入的视频信号转换成数字图像数据。第一缩放部1402对从视频输入处理部1401输入的图像数据进行格式转换和缩放(放大/还原)。第二缩放部1403对待输出至视频输出处理部1404的图像数据进行格式转换和缩放(放大/还原)。在第一缩放部1402和第二缩放部1403中的格式转换可以是,例如,4:2:2/Y-Cb-Cr方案与4:2:0/Y-Cb-Cr方案等之间的转换。视频输出处理部1404将数字图像数据转换成输出视频信号,并且将该输出视频信号输出至例如连接性模块1321。

针存储器1405是存储由视频输入处理部1401、第一缩放部1402、第二缩放部1403、视频输出处理部1404和编码/解码引擎1407共用的图像数据的存储装置。例如,帧存储器1405可以通过使用半导体存储器诸如DRAM来实施。

存储器控制单元1406基于从编码/解码引擎1407输入的同步信号根据存储在存取管理表1406A中的帧存储器1405的存储时间表来控制对帧存储器1405的存取。存取管理表1406A是由存储器控制单元1406根据在编码/解码引擎1407、第一缩放部1402和第二缩放部1403等中进行的处理来更新的。

编码/解码引擎1407执行对图像数据进行编码并且生成编码视频流的编码处理和对来自编码视频流的图像数据进行解码的解码处理。例如,编码/解码引擎1407对从帧存储器1405读取的图像数据进行编码,并且顺序地将编码视频流写入视频ES缓冲器1408A中。例如,从视频ES缓冲器1408B顺序地读取成编码视频流和解码的图像数据存储在帧存储器1405中。编码/解码引擎1407在这些处理中可以将帧存储器1405用作工作区。例如,以各个LCU的处理开始的时序,编码/解码引擎1407将同步信号输出至存储器控制单元1406。

视频ES缓冲器1408A缓存由编码/解码引擎1407生成的编码视频流。缓存在视频ES缓冲器1408A中的编码视频流输出至多路复用器1412。视频ES缓冲器1408B缓存从多路解复用器1413输入的编码视频流。缓存在视频ES缓冲器1408B中的编码视频流输出至编码/解码引擎1407。

音频ES缓冲器1409A缓存由音频编码器1410生成的编码音频流。缓存在音频ES缓冲器1409A中的编码音频流输出至多路复用器1412。音频ES缓冲器1409B缓存从多路解复用器1413输入的编码音频流。缓存在音频ES缓冲器1409B中的编码音频流输出至音频解码器1411。

例如,音频编码器1410对从连接性模块1321输入的输入音频信号进行数字转换,并且根据音频编码方案(诸如,MPEG音频方案或者Audio Code number 3(AC3)方案)对输入音频信号进行编码。音频编码器1410顺序地将编码音频流写入音频ES缓冲器1409A。音频解码器1411对来自从音频ES缓冲器1409B输入的编码音频流的音频数据进行解码,并且将该音频数据转换成模拟信号。例如,音频解码器1411将音频信号输出至连接性模块1321作为再现的模拟音频信号。

多路复用器1412对编码视频流和编码音频流进行多路复用,并且生成多路复用的位流。该多路复用的位流可以具有任意格式。多路复用器1412可以将预定头信息添加到该位流。多路复用器1412可以转换该流的格式。例如,多路复用器1412可以生成传送流(传送格式的位流),在该传送流中多路复用了编码视频流和编码音频流。多路复用器1412可以生成文件数据(记录格式的数据),在该文件数据总多路复用了编码视频流和编码音频流。

多路解复用器1413通过与多路复用器1412的多路复用相反的技术对来自多路复用的位流的编码视频流和编码音频流进行多路分解。换言之,多路解复用器1413从位流提取(或者分离)视频流和音频流,该位流是从流缓冲器1414读取的。多路解复用器1413可以进行流的格式的转换(反向转换)。例如,多路解复用器1413可以通过流缓冲器1414传送流,并且将该传送流转换成视频流和音频流,该传送流可以是从连接性模块1321或者宽带调制解调器1333输入的。多路解复用器1413可以通过流缓冲器1414获取文件数据,并且将文件数据转换成视频流和音频流,该文件数据是通过连接性模块1312从存储介质中读取的。

流缓冲器1414缓存位流。例如,流缓冲器1414缓存从多路复用器1412输入的传送流,并且以预定时序或者根据来自外界的请求将传送流输出至例如连接性模块1312或者宽带调制解调器1333。例如,流缓冲器1414缓存从多路复用器1412输入的文件流,并且以预定时序或者根据来自外界的请求将文件流输出至例如连接性模块1312以便记录。进一步地,流缓冲器1414缓存例如通过连接性模块1321或者带宽调制解调器1333获取的传送流,并且以预定时序或者根据来自外界的请求将传送流输出至多路解复用器1413。流缓冲器1414缓存例如通过连接性模块1321从存储介质读取的文件流,并且以预定时序或者根据来自外界的请求将文件流输出至多路解复用器1413。

在具有上述配置的视频处理器1332中,例如在编码/解码引擎1407中可以使用根据本公开的技术。在这种情况下,视频处理器1332是应用了根据本公开的技术的芯片或者模块。

图41是图示视频处理器1332的示意性配置的另一个示例的框图。在图41的示例中,视频处理器1332具有根据预定方案对视频数据进行编码和解码的功能。

参照图41,视频处理器1332包括控制单元1511、显示器接口1512、显示器引擎1513、图像处理引擎1514、内存储器1515、编解码器引擎1516、存储器接口1517、多路复用器/多路解复用器(MUX DMUX)1518、网络接口1519和视频接口1520。

控制单元1511控制视频处理器1332中的各处理部的操作,诸如显示器接口1512、显示器引擎1513、图像处理引擎1514和编解码器引擎1516。例如,控制单元1511包括主CPU 1531、子CPU 1532和系统控制器1533。主CPU 1531执行用于控制视频处理器1332的处理部的操作的程序。主CPU 1531将通过执行该程序生成的控制信号提供给相应的处理部。子CPU 1532起着主CPU 1531的辅助作用。例如,子CPU 1532执行由主CPU 1531执行的程序的子进程和子例程。系统控制器1533管理主CPU 1531和子CPU 1532的程序的执行。

显示器接口1512在控制单元1511的控制下将图像数据输出至例如连接性模块1321。例如,显示器接口1512将从数字图像数据转换而成的模拟图像信号或者数字图像数据输出至连接至连接性模块1312的显示器。显示器引擎1513在控制单元1511的控制下对图像数据进行格式转换、大小转换和色饱和度转换,这样使图像数据的属性与作为输出目的的显示器的标准兼容。图像处理引擎1514在控制单元1511的控制下对图像数据进行图像处理,包括用于提高图像质量的滤波处理等。

内存储器1515是由显示器引擎1513、图像处理引擎1514和编解码器引擎1516共用的并且安装在视频处理器1332中的存储装置。例如,当在显示器引擎1513、图像处理引擎1514和编解码器引擎1516之间输入或者输出图像数据时,会使用内存储器1515。内存储器1515可以是任何类型的存储装置。例如,内存储器1515可以具有相对较小的存储大小以便存储块单元的图像数据和相关参数。内存储器1515可以是具有(例如,比外部存储器1312)较小容量但是具有高响应速度的存储器,诸如静态随机存储器(SRAM)。

编解码器1516执行负图像数据进行编码并且生成编码视频流的编码处理和对来自编码视频流的图像数据进行解码的解码处理。编解码器引擎1516支持的图像编码方案可以是任意一种或者多种方案。在图41的示例中,编解码器1516包括MPEG-2视频块1541、AVC/H.264块1542、HEVC/H.265块1543、HEVC/H.265(可扩展)块1544、HEVC/H.265(多视角)块1545和MPEG-DASH块1551。这些功能块根据相应的图像编码方案对图像数据进行编码和解码。

MPEG-DASH块1551是能够根据MPEG-DASH方案传输图像数据的功能块。MPEG-DASH块1551遵循标准规范对流的传输和生成的流的传输进行控制。可以通过编解码器引擎1516中包括的任何其它功能块来对传输的图像数据进行编码和解码。

存储器接口1517是用于使视频处理器1332与外部存储器1312连接的接口。通过存储器接口1517将由图像处理引擎1514或者编解码器1516生成的数据输出至外部存储器1312。通过存储器接口1517将从外部存储器1312输入数据提供给图像处理引擎1514或者编解码器1516。

多路复用器/多路解复用器1518对编码视频流和相关位流进行多路复用和多路分解。在进行多路复用时,多路复用器/多路解复用器1518可以将预定头信息添加到多路复用的流。在进行多路分解时,多路复用器/多路解复用器1518可以将预定头信息添加到分开的独立流。换言之,多路复用器/多路解复用器1518可以和多路复用或者多路分解一起进行格式转换。例如,多路复用器/多路解复用器1518可以支持在多个位流与具有传送格式的作为多路复用流的传送流之间的转换和反向转换、以及在多个位流与具有记录格式的文件数据之间的转换和反向转换。

网络接口1519是用于使例如视频处理器1332与宽带调制解调器1333或者连接性模块1321连接的接口。视频接口1520是使例如视频处理器1332与连接性模块1321或者摄像头1322连接的接口。

在具有上述配置的视频处理器1332中,例如在编解码器引擎1516中可以使用根据本公开的技术。在这种情况下,视频处理器1332是应用了根据本公开的技术的芯片或者模块。

视频处理器1332的配置并不限于上述的两种示例。例如,视频处理器1332可以作为一个半导体芯片来实施,或者可以作为多个半导体芯片来实施。视频处理器1332可以由通过集成多个半导体而成形的3D集成LSI或者多个LSI的组合来实施。

<8.总结>

上面已经参照图1至图41对根据本公开的实施例的图像编码装置进行了说明。

根据本公开的技术可以应用于可扩展视频编码技术。HEVC的可扩展视频编码技术也称为SHVC。例如,上述实施例可以应用于在编码多层流中包括的独立层(基本层和增强层)。与已决定的SAO模式和偏移值相关的信息可以以层为单位来生成和编码,或者可以在多个层之间再次使用。根据本公开的技术可以应用于多视角编码技术。例如,上述实施例可以应用于在多视角编码流中包括的独立视角(基本视角和增强视角。)与已决定的SAO模式和偏移值相关的信息可以以视角为单位来生成和编码,或者可以在多个视角之间再次使用。

本说明书中描述的术语“CU”、“PU”和“TU”指的是包括与HEVC中独立块关联的语法的逻辑单元。当仅将重点放在作为图像的部分的独立块时,这些块可以称为术语“编码块(CB)”、“预测块(PB)”和“变换块(TB)”。CB是通过递归地划分四叉树形状的编码树块(CTB)而形成的。一个完整的四叉树对应CTB,而与CTB对应的逻辑单元称为编码树单元(CTU)。

本文中主要描述的是将各种信息(诸如,与已确定的SAO模式或者偏移值有关的信息)多路复用至编码流的信头并且从编码侧传输至解码侧的示例。但是,传输这些信息的方法并不限于这个示例。例如,在没有多路复用至编码位流的情况下,可以将这些信息传输或者记录为与编码位流关联的单独数据。此处,术语“关联”意思是在解码时允许位流中包括的图像(可以是图像的一部分,诸如切片或者块)和与当前图像对应的信息建立链接。换言之,信息可以在与图像(或者位流)不同的传输路径上进行传输。信息也可以记录在与图像(或者位流)不同的记录介质(或者在相同记录介质中的不同记录区域)中。此外,信息和图像(或者位流)可以通过任意单元,诸如多个帧、一个帧或者帧内的一部分来彼此关联。

上面已经参照附图对本公开的优选实施例进行了说明,然而本公开并不限于上述示例。在所附权利要求书的范围内,本领域技术人员可以发现各种改变和修改。应该明白的是,这些改变和修改自然受限于本公开的技术范围。

此外,本说明书中描述的效果仅是说明性和演示性的,而不是限制性的。换言之,根据本公开的技术可以展现出,随同或者取代基于本说明书的效果,对本领技术人员而言显而易见的其它效果。

此外,在本文中公开的当前技术也可以如下配置:

(1)

一种图像处理设备,其包括:

滤波处理部,该滤波处理部配置为执行将偏移量应用于已经解码的解码图像的像素的滤波处理;以及

控制单元,该控制单元配置为根据在对图像进行编码时使用的编码参数控制在执行滤波处理时使用的模式和用于该模式的偏移量。

(2)

根据(1)所述的图像处理设备,

其中,控制单元仅仅为根据编码参数选择的述模式设置偏移量。

(3)

根据(2)所述的图像处理设备,

其中,控制单元仅仅为根据在预测图像与解码图像之间的误差时使用的预测参数选择的模式设置偏移量。

(4)

根据(3)所述的图像处理设备,

其中,控制单元仅仅为根据帧内预测的预测模式选择的模式设置偏移量。

(5)

根据(4)所述的图像处理设备,

其中,控制单元仅仅为根据预测模式的预测方向选择的模式设置偏移量。

(6)

根据(2)所述的图像处理设备,

其中,控制单元仅仅为根据指示是否将正交变换应用于图像的参数选择的模式设置偏移量。

(7)

根据(2)所述的图像处理设备,

其中,控制单元仅仅为根据指示是否应用在执行帧内预测时使用的平滑处理的参数选择的模式设置偏移量。

(8)

根据(1)所述的图像处理设备,

其中,控制单元根据在对图像进行量化时使用的量化参数来控制是否限制滤波处理的执行。

(9)

根据(8)所述的图像处理设备,

其中,当切片是切片B并且量化参数等于或者大于阈值时,控制单元限制对切片执行滤波处理。

(10)

根据(1)所述的图像处理设备,

其中,控制单元根据在预测图像与解码图像之间的误差时使用的预测参数来控制是否限制滤波处理的执行。

(11)

根据(10)所述的图像处理设备,

当切片是切片B并且应用于切片中包括的块的预测是帧内预测或者帧间预测的双向预测时,控制单元限制对该块执行滤波处理。

(12)

根据(1)所述的图像处理设备,

其中,控制单元根据图像的特征量来控制滤波处理。

(13)

根据(12)所述的图像处理设备,

其中,特征量是从图像提取的边缘的信息,以及

控制单元仅仅为根据边缘的信息选择的模式设置偏移量。

(14)

根据(1)所述的图像处理设备,

其中,控制单元按照仅对解码图像的色度分量执行滤波处理的方式来进行控制。

(15)

根据(1)所述的图像处理设备,其进一步包括:

编码部,该编码部配置为通过使用已经经过滤波处理部的滤波处理的解码图像来对图像进行编码。

(16)

根据(15)所述的图像处理设备,

其中,编码部通过使用编码块(CB)作为单元来对图像进行编码,该编码块(CB)是通过将编码树块(CTB)递归地划分而获得的。

(17)

根据(16)所述的图像处理设备,

其中,滤波处理部通过使用CTB作为单元来执行滤波处理。

(18)

一种图像处理方法,其包括:

执行将偏移量应用于已经解码的解码图像的像素的滤波处理;以及

通过处理器根据在对图像进行编码时使用的编码参数控制在执行滤波处理时使用的模式和用于该模式的偏移量。

附图标记列表:

10 图像编码装置

11 缓冲器

13 减法部

14 正交变换部

15 量化部

16 无损编码部

17 累积缓冲器

18 速率控制部

21 反量化部

22 反正交变换部

23 加法部

24 回路滤波器

25 帧存储器

26 选择器

27 选择器

30 帧内预测部

35 帧间预测部

100 原始图像保存部

200 去块滤波器

240 模式确定部

300 采样自适应偏移滤波器

310 控制单元

320 分析部

330 统计值获取部

340 模式确定部

350 偏移量确定部

351 偏移量测量部

353 偏移量决定部

355 候选控制单元

360 切换确定部

370 第一确定部

371 模式数量计数部

373 确定处理部

380 第二确定部

390 滤波处理部

400 自适应回路滤波器。

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