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

文档序号:11157576阅读:785来源:国知局
图像处理设备和图像处理方法与制造工艺

技术领域

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



背景技术:

H.264/AVC(图像编码方案的标准规范之一),以均包含4×4像素的块为单位,将去块滤波器应用于块边界,以便避免在编码图像的时候,由块失真引起的图像质量降低。去块滤波器需要大量的处理,可能占到图像解码中的总处理量的50%。

高效视频编码(HEVC)(下一代图像编码方案)的标准化工作提出按照JCTVC-A119(参见非专利文献1),以均包含8×8像素或者更多像素的块为单位,应用去块滤波器。在JCTVC-A119中提出的技术把块大小增大到允许应用去块滤波器的最小单位,以便对一个宏块内的相同方向的块边界,并行地进行滤波处理。

引文列表

非专利文献

非专利文献1:K.Ugur(Nokia),K.R.Andersson(LM Ericsson),A.Fuldseth(Tandberg Telecom),“JCTVC-A119:Video coding technology proposal by Tandberg,Nokia,and Ericsson”,Documents of the first meeting of the Joint Collaborative Team on Video Coding(JCT-VC),Dresden,Germany,15-23April,2010。



技术实现要素:

即使使用在JCTVC-A119中提出的技术,在对垂直块边界的处理和对水平块边界的处理之间仍然存在依存关系。具体地说,对一个宏块的垂直边界的处理要等到进行对邻近宏块的水平边界的处理为止。对一个宏块的水平边界的处理要等到进行对相同宏块的垂直边界的处理为止。上述技术只能程度非常有限地提供去块滤波器的并行处理。因而,上述技术不能成功解决由在应用去块滤波器时的较大处理量引起的延迟和数据速率的降低的问题。

按照本公开的技术目的在于提供一种能够在应用去块滤波器时,提供进一步的并行处理的图像处理设备和图像处理方法。

按照本公开的实施例,提供一种图像处理设备,包括解码部分,所述解码部分被配置成从编码流中解码图像,水平滤波部件,所述水平滤波部件被配置成将去块滤波器应用于在将由解码部分解码的图像内的垂直块边界,垂直滤波部件,所述垂直滤波部件被配置成将去块滤波器应用于在将由解码部分解码的图像内的水平块边界,和控制部分,所述控制部分被配置成使水平滤波部件并行地滤波包括在包含多个编码单位的处理单位中的多个垂直块边界,和使垂直滤波部件并行地滤波包括在所述处理单位中的多个水平块边界。

典型地,该图像处理设备可被实现成对图像解码的图像解码设备。

按照本公开的实施例,提供一种图像处理方法,包括从编码流中解码图像,进行水平滤波,以把去块滤波器应用于在待解码的图像内的垂直块边界,进行垂直滤波,以把去块滤波器应用于在待解码的图像内的水平块边界,和控制水平滤波和垂直滤波,以致并行地滤波包括在包含多个编码单位的处理单位中的多个垂直块边界,和并行地滤波包括在所述处理单位中的多个水平块边界。

按照本公开的实施例,提供一种图像处理设备,包括水平滤波部件,所述水平滤波部件被配置成当编码待编码图像时,把去块滤波器应用于在要局部解码的图像内的垂直块边界,垂直滤波部件,所述垂直滤波部件被配置成把去块滤波器应用于所述图像内的水平块边界,控制部分,所述控制部分被配置成使水平滤波部件并行地滤波包括在包含多个编码单位的处理单位中的多个垂直块边界,和使垂直滤波部件并行地滤波包括在所述处理单位中的多个水平块边界,和编码部件,所述编码部件被配置成利用由水平滤波部件和垂直滤波部件滤波的图像,编码所述待编码图像。

典型地,该图像处理设备可被实现成对图像编码的图像编码设备。

按照本公开的实施例,提供一种图像处理方法,包括进行水平滤波,以便当编码待编码图像时,把去块滤波器应用于在要局部解码的图像内的垂直块边界,进行垂直滤波,以便把去块滤波器应用于所述图像内的水平块边界,控制水平滤波和垂直滤波,以便并行地滤波包括在包含多个编码单位的处理单位中的多个垂直块边界,和并行地滤波包括在所述处理单位中的多个水平块边界,和利用借助水平滤波和垂直滤波所滤波的图像,编码所述待编码图像。

如上所述,按照本公开的图像处理设备和图像处理方法还改善应用去块滤波器时的并行处理。

附图说明

图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是图解说明每个CLU的处理序列的说明图。

图26是图解说明每个LCU的处理流程的流程图。

图27是图解说明第三示例的概况的说明图。

图28是图解说明按照第三示例的去块滤波器的详细结构的方框图。

图29是图解说明加权平均值的权重的确定的说明图。

图30是图解说明加权平均值的权重的例子的说明图。

图31是图解说明按照第三示例的计算部分的输出像素值的说明图。

图32是图解说明用于比较的处理序列的第一个例子的说明图。

图33是图解说明由第三示例提供的处理序列的第一个例子的说明图。

图34是图解说明用于比较的处理序列的第二个例子的说明图。

图35是图解说明由第三示例提供的处理序列的第二个例子的说明图。

图36是图解说明按照第三示例的去块滤波器的处理流程的第一个例子的流程图。

图37是图解说明图36中所示的像素值计算处理的流程的流程图。

图38是图解说明多视图编解码器的说明图。

图39是图解说明按照实施例的应用于多视图编解码器的图像编码处理的说明图。

图40是图解说明按照实施例的应用于多视图编解码器的图像解码处理的说明图。

图41是图解说明可扩展编解码器的说明图。

图42是图解说明按照实施例的应用于可扩展编解码器的图像编码处理的说明图。

图43是图解说明按照实施例的应用于可扩展编解码器的图像解码处理的说明图。

图44是图解说明电视机的示意结构的方框图。

图45是图解说明移动电话机的示意结构的方框图。

图46是图解说明记录/再现设备的示意结构的方框图。

图47是图解说明摄像设备的示意结构的方框图。

具体实施方式

下面参考附图,详细说明本发明的优选实施例。注意在说明书和附图中,功能和结构基本相同的元件用相同的附图标记表示,重复的说明被省略。

将按照以下顺序说明具体实施方式。

1.设备概况

1-1.图像编码设备

1-2.图像解码设备

2.现有技术

2-1.去块滤波器的基本结构

2-2.按照现有技术的处理之间的依存关系

3.第一实施例

3-1.去块滤波器结构例子

3-2.判定条件变形例

3-3.处理流程

4.第二实施例

4-1.去块滤波器结构例子

4-2.处理流程

4-3.每个LCU的处理例子

5.第三实施例

5-1.概况

5-2.去块滤波器结构例子

5-3.处理序列例子

5-4.处理流程

6.对各种编解码器的应用

6-1.多视图编解码器

6-2.可扩展编解码器

7.例证应用

8.总结

1.设备概况

参见图1和2,下面说明在本说明书中公开的技术适用于的设备的概况。在本说明书中公开的技术适用于图像编码设备和图像解码设备。

[1-1.图像编码设备]

图1是表示按照实施例的图像编码设备10的结构的例子的方框图。参见图1,图像编码设备10包括A/D(模-数)转换部分11、重排缓冲器12、减法部分13、正交变换部分14、量化部分15、无损编码部件16、累积缓冲器17、速率控制部分18、逆量化部分21、逆正交变换部分22、加法部分23、去块滤波器24a、帧存储器25、选择器26、帧内预测部分30、运动估计部分40和模式选择部分50。

A/D转换部分11把按模拟格式输入的图像信号转换成数字格式的图像数据,然后把一系列的数字图像数据输出给重排缓冲器12。

重排缓冲器12重排包含在从A/D转换部分11输入的一系列图像数据中的图像。在按照与编码处理相应的GOP(图像组)结构,重排图像之后,重排缓冲器12把已重排的图像数据输出给减法部分13、帧内预测部分30和运动估计部分40。

从重排缓冲器12输入的图像数据和由后面说明的模式选择部分50选择的预测图像数据被提供给减法部分13。减法部分13计算预测误差数据,预测误差数据是从重排缓冲器12输入的图像数据和从模式选择部分50输入的预测图像数据之间的差分,并把计算的预测误差数据输出给正交变换部分14。

正交变换部分14对从减法部分13输入的预测误差数据进行正交变换。正交变换部分14进行的正交变换例如可以是离散余弦变换(DCT)或者Karhunen-Loeve变换。正交变换部分14把通过正交变换处理获得的变换系数数据,输出给量化部分15。

从正交变换部分14输入的变换系数数据和来自后面说明的速率控制部分18的速率控制信号被提供给量化部分15。量化部分15量化变换系数数据,把已被量化的变换系数数据(下面称为量化数据)输出给无损编码部件16和逆量化部分21。另外,量化部分15根据来自速率控制部分18的速率控制信号,切换量化参数(量化规模),从而改变将输入无损编码部件16的量化数据的比特率。

从量化部分15输入的量化数据,和后面说明的由帧内预测部分30或运动估计部分40产生,并由模式选择部分50选择的关于帧内预测或帧间预测的信息被提供给无损编码部件16。关于帧内预测的信息可包括指示每个块的最佳帧内预测模式的预测模式信息。另外,关于帧间预测的信息例如可包括用于预测每个块的运动矢量的预测模式信息,差分运动矢量信息,参考图像信息等等。

无损编码部件16通过对量化数据进行无损编码处理,产生编码流。无损编码部件16的无损编码例如可以是变长编码或算术编码。此外,无损编码部件16把上面提及的关于帧内预测的信息,或者关于帧间预测的信息多路复用到编码流的报头(例如,块报头、切片报头等)。随后,无损编码部件16把产生的编码流输出给累积缓冲器17。

累积缓冲器17利用诸如半导体存储器之类的存储介质,临时保存从无损编码部件16输入的编码流。随后,累积缓冲器17以与传输线路(或者出自图像编码设备10的输出线路)的频带相应的速率,输出累积的编码流。

速率控制部分18监测累积缓冲器17的空闲空间。随后,速率控制部分18按照累积缓冲器17上的空闲空间,产生速率控制信号,把产生的速率控制信号输出给量化部分15。例如,当在累积缓冲器17上没有大量的空闲空间时,速率控制部分18产生降低量化数据的比特率的速率控制信号。另外,例如,当累积缓冲器17上的空闲空间足够大时,速率控制部分18产生增大量化数据的比特率的速率控制信号。

逆量化部分21对从量化部分15输入的量化数据,进行逆量化处理。随后,逆量化部分21把通过逆量化处理获得的变换系数数据输出给逆正交变换部分22。

逆正交变换部分22对从逆量化部分21输入的变换系数数据,进行逆正交变换处理,从而恢复预测误差数据。随后,逆正交变换部分22把恢复的预测误差数据输出给加法部分23。

加法部分23相加从逆正交变换部分22输入的恢复的预测误差数据,和从模式选择部分50输入的预测图像数据,从而产生解码图像数据。随后,加法部分23把产生的解码图像数据输出给去块滤波器24a和帧存储器25。

去块滤波器24a进行滤波处理,以减小在图像编码期间发生的块失真。例如,去块滤波器24a对于从加法部分23供给的解码图像数据的每个块边界,判定滤波的必要性,把去块滤波器应用于被确定需要滤波器的边界。去块滤波器24a还被供给用于判定滤波必要性的信息(例如,模式信息、变换系数信息和运动矢量信息),以及来自加法部分23的解码图像数据。在滤波之后,块失真从解码图像数据中被除去,去块滤波器24a把解码图像数据输出给帧存储器25。去块滤波器24a的处理将在后面详细说明。

帧存储器25利用存储介质,保存从加法部分23输入的解码图像数据,和从去块滤波器24a输入的滤波后的解码图像数据。

选择器26从帧存储器25读取将用于帧内预测的滤波前的解码图像数据,并把读取的解码图像数据作为参考图像数据,提供给帧内预测部分30。另外,选择器26从帧存储器25读取将用于帧间预测的滤波后的解码图像数据,并把读取的解码图像数据作为参考图像数据,提供给运动估计部分40。

帧内预测部分30根据从重排缓冲器12输入的待编码图像数据,和经选择器26供给的解码图像数据,按照每种帧内预测模式进行帧内预测处理。例如,帧内预测部分30利用预定的成本函数,评估每种帧内预测模式的预测结果。随后,帧内预测部分30选择使成本函数值最小的帧内预测模式,即,使压缩比最高的帧内预测模式,作为最佳的帧内预测模式。此外,帧内预测部分30把指示最佳的帧内预测模式的预测模式信息,预测图像数据,和诸如成本函数值之类的关于帧内预测的信息,输出给模式选择部分50。

运动估计部分40根据从重排缓冲器12供给的编码用图像数据,和经选择器26供给的解码图像数据,进行帧间预测处理(帧间的预测处理)。例如,运动估计部分40利用预定的成本函数,评估每种预测模式的预测结果。随后,运动估计部分40选择最佳的预测模式,即,使成本函数值达到最小,或者使压缩比达到最大的预测模式。运动估计部分40按照最佳预测模式,产生预测图像数据。运动估计部分40把诸如指示最佳的帧内预测模式的预测模式信息、预测图像数据和成本函数值之类的关于帧间预测的信息,输出给模式选择部分50。

模式选择部分50比较从帧内预测部分30输入的与帧内预测相关的成本函数值,和从运动估计部分40输入的与帧间预测相关的成本函数值。随后,模式选择部分50从帧内预测和帧间预测中,选择成本函数值较小的预测方法。在选择帧内预测的情况下,模式选择部分50把关于帧内预测的信息输出给无损编码部件16,另外,把预测图像数据输出给减法部分13和加法部分23。此外,在选择帧间预测的情况下,模式选择部分50把上面说明的关于帧间预测的信息输出给无损编码部件16,另外把预测图像数据输出给减法部分13和加法部分23。

[1-2.图像解码设备]

图2是表示按照实施例的图像解码设备60的结构例子的方框图。参见图2,图像解码设备60包括累积缓冲器61、无损解码部分62、逆量化部分63、逆正交变换部分64、加法部分65、去块滤波器24b、重排缓冲器67、D/A(数-模)转换部分68、帧存储器69、选择器70和71、帧内预测部分80和运动补偿部分90。

累积缓冲器61利用存储介质,临时保存经传输线路输入的编码流。

无损解码部分62按照在编码时使用的编码方法,解码从累积缓冲器61输入的编码流。另外,无损解码部分62解码多路复用到编码流的报头区的信息。多路复用到编码流的报头区的信息例如可包括块报头中的关于帧内预测的信息和关于帧间预测的信息。无损解码部分62把关于帧内预测的信息输出给帧内预测部分80。另外,无损解码部分62把关于帧间预测的信息输出给运动补偿部分90。

逆量化部分63逆量化已由无损解码部分62解码的量化数据。逆正交变换部分64通过按照在编码时使用的正交变换方法,对从逆量化部分63输入的变换系数数据进行逆正交变换,产生预测误差数据。随后,逆正交变换部分64把产生的预测误差数据输出给加法部分65。

加法部分65相加从逆正交变换部分64输入的预测误差数据和从选择器71输入的预测图像数据,从而产生解码图像数据。随后,加法部分65把产生的解码图像数据输出给去块滤波器24b和帧存储器69。

去块滤波器24b进行滤波处理,以减小出现在解码图像上的块失真。去块滤波器24b例如对于从加法部分65输入的解码图像数据,确定在每个块边界滤波的必要性,并把去块滤波器应用于被确定需要滤波器的边界。去块滤波器24b还被供给用于滤波必要性的确定的信息,以及来自加法部分65的解码图像数据。在滤波之后,块失真从解码图像数据中被除去,去块滤波器24b把解码图像数据输出给重排缓冲器67和帧存储器69。去块滤波器24b的处理将在后面详细说明。

重排缓冲器67通过重排从去块滤波器24b输入的图像,按照时间顺序产生一系列的图像数据。随后,重排缓冲器67把产生的图像数据输出给D/A转换部分68。

D/A转换部分68把从重排缓冲器67输入的数字格式的图像数据转换成模拟格式的图像信号。随后,例如通过把模拟图像信号输出给连接到图像解码设备60的显示器(未示出),D/A转换部分68使图像被显示。

帧存储器69利用存储介质保存从加法部分65输入的滤波前的解码图像数据,和从去块滤波器24b输入的滤波后的解码图像数据。

选择器70按照无损解码部分62获得的模式信息,为图像中的每个块,在帧内预测部分80和运动补偿部分90之间切换来自帧存储器69的图像数据的输出目的地。例如,在指定帧内预测模式的情况下,选择器70把从帧存储器69供给的滤波前的解码图像数据,作为参考图像数据输出给帧内预测部分80。另外,在指定帧间预测模式的情况下,选择器70把从帧存储器69供给的滤波后的解码图像数据,作为参考图像数据输出给运动补偿部分90。

选择器71按照无损解码部分62获得的模式信息,为图像中的每个块,在帧内预测部分80和运动补偿部分90之间,切换待供给加法部分65的预测图像数据的输出源。例如,在指定帧内预测模式的情况下,选择器71把从帧内预测部分80输出的预测图像数据提供给加法部分65。在指定帧间预测模式的情况下,选择器71把从运动补偿部分90输出的预测图像数据提供给加法部分65。

帧内预测部分80根据从无损解码部分62输入的关于帧内预测的信息,和来自帧存储器69的参考图像数据,进行像素值的画面中(in screen)预测,产生预测图像数据。随后,帧内预测部分80把产生的预测图像数据输出给选择器71。

运动补偿部分90根据从无损解码部分62输入的关于帧间预测的信息,和来自帧存储器69的参考图像数据,进行运动补偿处理,产生预测图像数据。随后,运动补偿部分90把产生的预测图像数据输出给选择器71。

<2.现有技术>

[2-1.去块滤波器的基本结构]

通常,诸如H.264/AVC或者HEVC之类的现有图像编码方案中的利用去块滤波器的处理包括两种处理,即,滤波需要判定处理和滤波处理。例如,下面说明HEVC中的这两种处理。

(1)滤波需要判定处理

滤波需要判定处理判定是否需要对输入图像内的各个块的每个边界应用去块滤波器。块边界包括彼此水平相邻的各个块之间的垂直边界,和彼此垂直相邻的各个块之间的水平边界。JCTVC-A119利用8×8像素的块大小作为最小处理单位。例如,16×16像素的宏块包括8×8像素的4个块。对每个块的一个(左)垂直边界和一个(上)水平边界,即,4个边界加上4个边界合计等于8个边界,应用该处理。本说明书假定作为技术术语的宏块包括在HEVC的上下文中的编码单位(CU)。

图3是表示在边界周围,彼此相邻的两个块(邻近块)Ba和Bb中的像素的例子的说明图。下面举例说明垂直边界,该说明显然适用于水平边界。图3中的例子利用符号pij表示块Ba中的像素。在该符号中,i表示列索引,j表示行索引。从最接近垂直边界的列开始,顺序地(从右到左)把列索引i编号为0、1、2和3。从上到下,把行索引j编号为0、1、2、…、7。图中省略了块Ba的左半部。符号qkj用于表示块Bb中的像素。在该符号中,k表示列索引,j表示行索引。从最接近垂直边界的列开始,顺序地(从左到右)把列索引k编号为0、1、2和3。图中省略了块Bb的右半部。

可以利用以下条件来确定把去块滤波器应用于图3中所示的块Ba和Bb之间的垂直边界的必要性。

亮度分量(Luma)的判定条件…如果条件A和B都为真,那么应用去块滤波器。

条件A:

(A1)块Ba或Bb进入帧内预测模式;

(A2)块Ba或Bb具有非零正交变换系数;或者

(A3)|MVAx-MVBx|≥4或者|MVAy-MVBy|≥4

条件B:

|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|<β

条件A3按照Qpel(1/4像素)精度,假定块Ba的运动矢量为(MVAx,MVAy),块Bb的运动矢量为(MVBx,MVBy)。条件B利用β作为边缘判定阈值。按照量化参数,给出β的初始值。用户可利用在切片报头内的参数,指定β的值。

色度分量(Chroma)的判定条件…如果条件A1为真,那么应用去块滤波器。

条件A1:块Ba或Bb进入帧内预测模式。

如用图4中的虚线框L3和L6所示,对于一般的垂直边界的滤波需要判定处理(特别是按照亮度分量的判定条件B)参考在每个块中的第三行和第六行(假定最上面的一行是第一行)上的像素。类似地,对水平边界的滤波需要判定处理参考在每个块中的第三列和第六列上的像素(图4中未示出)。上述判定条件被用于确定去块滤波器需要被应用于对其进行下述滤波处理的边界。

(2)滤波处理

如果确定需要对边界应用去块滤波器,那么对在垂直边界左右两侧的像素,和在水平边界上下两侧的像素进行滤波处理。关于亮度分量,按照像素值,在强滤波器和弱滤波器之间切换滤波器强度。

滤波亮度分量

选择强度…为每行或每列选择滤波器强度。如果以下条件C1-C3都被满足,那么选择强滤波器。如果以下条件任意之一不被满足,那么选择弱滤波器。

(C1)d<(β>>2)

(C2)(|p3j-p0j|+|q0j-q3j|)<(β>>3)

(C3)|p0j-q0j|<((5tC+1)>>1)

其中j表示垂直边界的行索引,或者水平边界的列索引。d=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|。

弱滤波

△=Clip(-tC,tC,(13(q0j-p0j)+4(q1j-p1j)-5(q2j-p2j)+16)>>5))

p0j=Clip0-255(p0j+△)

q0j=Clip0-255(q0j-△)

p1j=Clip0-255(p1j+△/2)

q1j=Clip0-255(q1j-△/2)

强滤波

p0j=Clip0-255((p2j+2p1j+2p0j+2q0j+q1j+4)>>3)

q0j=Clip0-255((p1j+2p0j+2q0j+2q1j+q2j+4)>>3)

p1j=Clip0-255((p2j+p1j+p0j+q0j+2)>>2)

q1j=Clip0-255((p0j+q0j+q1j+q2j+2)>>2)

p2j=Clip0-255((2p3j+3p2j+p1j+p0j+q0j+4)>>3)

q2j=Clip0-255((p0j+q0j+q1j+3q2j+2q3j+4)>>3)

其中,Clip(a,b,c)表示将值c箝位在范围a≤c≤b内的处理,Clip0-255(c)表示将值c箝位在范围0≤c≤255内的处理。

滤波色度分量

△=Clip(-tC,tC,((((q0j-p0j)<<2)+p1j-q1j+4)>>3))

p0j=Clip0-255(p0j+△)

q0j=Clip0-255(q0j-△)

如用图5中的虚线框C6-C8和C1-C3所示,对于一般的垂直边界的滤波处理(尤其是对于亮度分量的强滤波)更新在每个块中的第一列到第三列,和第六列到第八列上的像素值。类似地,对于水平边界的滤波处理更新在每个块中的第一行到第三行,和第六行到第八行上的像素值。

[2-2.按照现有技术的处理之间的依存关系]

为了说明起见,如图6中所示,都具有16×16像素的大小的宏块MBx(MB0、MB1…)包括表示成Vx,0的左上垂直边界,表示成Vx,1的中上垂直边界,表示成Vx,2的左下垂直边界,表示成Vx,3的中下垂直边界,表示成Hx,0的左上水平边界,表示成Hx,1的右上水平边界,表示成Hx,2的左中水平边界,和表示成Hx,3的右中水平边界。关于边界Z,例如,滤波需要判定处理被表示成JZ,而滤波处理被表示成FZ

上述现有技术导致在一个宏块内,关于相同方向的边界的处理之间,不存在任何依存关系。于是,该技术能够在一个宏块内,对垂直边界和水平边界进行并行滤波。例如,图7清楚地表示在宏块MB0内,在4个滤波处理FV0,0,FV0,1,FV0,2和FV0,3之间,不存在依存关系(没有像素被重复更新),可以并行地进行滤波处理。

然而,上述现有技术遗留对于垂直边界的滤波处理和对于水平边界的滤波需要判定处理之间的依存关系。该现有技术还遗留对于水平边界的滤波处理和对于垂直边界的滤波需要判定处理之间的依存关系。例如,如果在水平边界之前处理垂直边界,那么需要在终止对于垂直边界的滤波处理之后,对给定宏块内的水平边界进行滤波需要判定处理。例如,图8表示在宏块MB0内,滤波需要判定处理JH0,0取决于滤波处理FV0,0和FV0,1的结果,滤波需要判定处理JH0,1取决于滤波处理FV0,1的结果。类似地,需要在对相邻宏块的水平边界的滤波处理终止之后,对给定宏块内的垂直边界进行滤波需要判定处理。例如,图9表示对于宏块MB1的滤波需要判定处理JV1,0取决于对于宏块MB0的滤波处理FH0,1和FH0,3的结果,对于宏块MB1的滤波需要判定处理JV1,2取决于对于宏块MB0的滤波处理FH0,3的结果。

现有技术涉及处理之间的依存关系,于是即使利用在JCTVC-A119中提出的技术,也能够程度非常有限地提供去块滤波器的并行处理。

图10是图解说明按照现有技术的去块滤波器处理的序列的说明图。本例假定去块滤波器被供给大小为32×32像素的图像。输入的图像包括4个宏块MB0-MB3,每个宏块具有16×16像素的大小。

在图10中,每个虚线框代表将并行进行的处理。例如,第一步骤对宏块MB0中的4个垂直边界,并行地进行滤波需要判定处理JV0,0,JV0,1,JV0,2和JV0,3。第二步骤对宏块MB0中的4个垂直边界,并行地进行滤波处理FV0,0,FV0,1,FV0,2FV0,3。在第二步骤终止之后,第三步骤对宏块MB0中的4个水平边界,并行地进行滤波需要判定处理JH0,0,JH0,1,JH0,2和JH0,3。第三步骤把在第二步骤关于垂直边界的滤波处理之后的像素值,用于对水平边界的滤波需要判定处理。第四步骤对宏块MB0中的4个水平边界,并行地进行滤波处理FH0,0,FH0,1,FH0,2和FH0,3。在第四步骤终止之后,相继进行对于宏块MB1的处理(第五步骤到第八步骤)。第五步骤把在第四步骤关于宏块MB0水平边界的滤波处理之后的像素值,用于对宏块MB1的垂直边界的滤波需要判定处理。在终止对于宏块MB1的处理之后,相继进行对于宏块MB2的处理(第九步骤到第十二步骤)。在终止对于宏块MB2的处理之后,相继进行对于宏块MB3的处理(第十三步骤到第十六步骤)。

程度有限的这种并行处理不能令人满意地解决由当应用去块滤波器时的较大处理量引起的延迟或数据速率的降低的问题。下面说明的3个实施例进一步改善当应用去块滤波器时的并行处理。

<3.第一实施例>

[3-1.去块滤波器结构例子]

下面说明按照第一实施例,图1中所示的图像编码设备10的去块滤波器24a,和图2中所示的图像解码设备60的去块滤波器24b的例证结构。去块滤波器24a和去块滤波器24b的结构可以彼此相同。在下面的说明中,当不需要相互区分去块滤波器24a和去块滤波器24b时,它们都被统称为去块滤波器24。

(1)新处理之间的依存关系

按照本实施例,利用去块滤波器24的处理还包括两种处理,即,滤波需要判定处理和滤波处理。在关于垂直边界和水平边界之一的滤波需要判定处理中,去块滤波器24跨越多个宏块地把输入去块滤波器的图像的像素值用于所述判定。例如,如果垂直边界在水平边界之前被处理,那么去块滤波器24可以对特定块的垂直边界进行滤波需要判定处理,而不必等待对于相邻块的水平边界的滤波处理。如果水平边界在垂直边界之前被处理,那么去块滤波器24可对特定块的水平边界进行滤波需要判定处理,而不必等待对于相邻块的水平边界的滤波处理。结果将减轻宏块之间的处理的依存关系。

减轻宏块之间的处理的依存关系能够在图像内的多个宏块之间,使处理并行。例如,这使得能够对输入图像内的所有块的垂直边界,并行地进行滤波需要判定处理。这还使得能够对输入图像内的所有块的水平边界,并行地进行滤波需要判定处理。

图11是图解说明可用于本实施例的处理序列的说明图。本例还假定去块滤波器被供给大小为32×32像素的图像。该输入图像包括大小均为16×16像素的4个宏块MB0-MB3。

在图11中,每个虚线框代表将并行进行的处理。虽然对于处理序列,图10中的例子需要16个处理步骤,不过,图11中的例子把相同数目的处理集合成4个处理步骤。第一步骤对所有宏块MB0-MB3的所有垂直边界和所有水平边界,并行地进行滤波需要判定处理JV0,0~JV3,3和JH0,0~JH3,3。第二步骤对所有宏块MB0-MB3的16个垂直边界,并行地进行滤波处理FV0,0~FV3,3。第三步骤对所有宏块MB0-MB3的所有水平边界,并行地进行滤波需要判定处理FH0,0~FH3,3。第四步骤对所有宏块MB0-MB3的16个水平边界,并行地进行滤波处理FH0,0~FH3,3。如果在垂直边界之前处理水平边界,那么第三步骤和第四步骤可在第一步骤和第二步骤之前。

图11提供通过在图像中的所有宏块内使处理并行,使并行度(并行进行的处理)达到最大的例子。然而不限于本例,可在一些宏块内,而不是在图像中的所有宏块中,使处理并行。

(2)去块滤波器的详细结构

图12是图解说明按照第一实施例的进行上述并行处理的去块滤波器24的详细结构的方框图。参见图12,去块滤波器24包括垂直判定部件110、水平判定部件114、水平滤波部件130、垂直滤波部件140和并行化控制部分150。

(2-1)垂直判定部件

垂直判定部件110包括多个垂直边界判定部分112-1~112-n。每个垂直边界判定部分112被供给输入去块滤波器24的图像,和用于判定是否需要滤波的判定信息。

垂直边界判定部分112-1~112-n通过跨图像内的多个宏块地利用输入去块滤波器24的图像的像素值,判定是否把去块滤波器应用于垂直边界。每个垂直边界判定部分112向水平滤波部件130提供指示关于每个垂直边界的判定结果的信息,比如指示值“1”强制去块滤波器的应用的判定结果的二进制信息。

(2-2)水平滤波部件

水平滤波部件130包括多个水平滤波部件132-1~132-n。每个水平滤波部件132被供给输入的图像,和来自垂直判定部件110的关于每个垂直边界的判定结果。

来自对应的垂直边界判定部分112的判定结果可指示需要应用滤波器。在这种情况下,每个水平滤波部件132把关于该垂直边界的去块滤波器应用于在该垂直边界左右两侧的元素。每个水平滤波部件132向水平判定部件114和垂直滤波部件140提供关于应用滤波器的像素的滤波后像素值,和关于其它像素的输入图像的像素值。

(2-3)水平判定部件

水平判定部件114包括多个水平边界判定部分116-1~116-n。每个水平边界判定部分116被供给在由水平滤波部件130进行滤波之后的像素值,和用于判定是否需要滤波的判定信息。

水平边界判定部分116-1~116-n通过跨图像内的多个宏块,利用在由水平滤波部件130进行滤波之后的像素值,判定是否对水平边界应用去块滤波器。每个水平边界判定部分116把指示关于每个水平边界的判定结果的信息,提供给垂直滤波部件140。

(2-4)垂直滤波部件

垂直滤波部件140包括多个垂直滤波部件142-1~142-n。每个垂直滤波部件142被供给在由水平滤波部件130进行滤波之后的像素值,和来自水平判定部件114的关于每个水平边界的判定结果。

来自对应的水平边界判定部分116的判定结果可指示需要应用该滤波器。在这种情况下,每个垂直滤波部件142把关于该水平边界的去块滤波器应用于在该水平边界上下两侧的元素。每个垂直滤波部件142向应用滤波器的像素供给滤波后的像素值,向其它像素供给从水平滤波部件130提供的像素值。来自每个垂直滤波部件142的输出可构成来自去块滤波器24的输出图像。

(3)判定部分的更详细结构

图13是图解说明每个垂直边界判定部分112和水平边界判定部分116的详细结构的方框图。参见图13,每个判定部分包括抽头构成部分121、计算部分122、阈值比较部分123、失真评估部分124和滤波判定部分125。

抽头构成部分121从输入图像中的跨越关注的边界相邻的两个块的像素值中,获得参考像素值,并构成确定上述亮度分量的判定条件B的抽头(一组参考像素值)。例如,在大小都为8×8像素的块中,可关注垂直边界。这种情况下,抽头构成部分121根据属于在左右两侧的两个块的第三行和第六行的像素值,构成抽头。如果关注水平边界,那么抽头构成部分121可根据属于在上下两侧的两个块的第三列和第六列的像素值,构成抽头。计算部分122把利用抽头构成部分121构成的抽头赋给判定条件B中的判定表达式的左侧,并计算将与边缘判定阈值β比较的边缘值。阈值比较部分123比较计算部分122计算的值和边缘判定阈值β,并把比较结果输出给滤波判定部分125。

失真评估部分124利用作为判定信息供给的模式信息(MB模式)、变换系数信息和运动矢量信息,评估上述亮度分量的判定条件A。失真评估部分124把评估结果输出给滤波判定部分125。失真评估部分124根据模式信息,只评估色度分量的判定条件A1。

滤波判定部分125根据从阈值比较部分123供给的判定条件B的比较结果,和从失真评估部分124供给的判定条件A的评估结果,判定是否对关注的边界应用去块滤波器。滤波判定部分125输出指示判定结果的信息。

(4)并行化控制部分

图12中所示的并行化控制部分150控制垂直判定部件110和水平判定部件114中的滤波需要判定处理的并行度,以及水平滤波部件130和垂直滤波部件140中的滤波处理的并行度。

例如,并行化控制部分150可根据输入的图像大小,控制每个块的处理的并行度。更具体地,如果输入的图像大小较大,那么并行化控制部分150增大每个块的处理的并行度。这可自适应地防止由与图像大小相应地增大的处理量引起的延迟或数据速率的降低。例如,并行化控制部分150可根据序列参数组、图片参数组、或者包含在切片报头中的参数,控制每个块的处理的并行度。这使得能够按照开发设备的用户的要求,灵活地配置并行度。例如,可按照对安装环境的限制,比如处理器核的数目,或者软件线程的数目,配置并行度。

本实施例能够使宏块间的处理并行。这意味对于图像内的各个块的任何处理序列对最终的输出结果没有影响。因而,并行化控制部分150能够基于块地控制垂直判定部件110和水平判定部件114中的滤波需要判定处理序列,和水平滤波部件130和垂直滤波部件140中的滤波处理序列。

更具体地,并行化控制部分150可按照宏块之间的滤波处理的依存关系,控制滤波处理序列。例如,按照现有技术,在切片边界周围的邻近宏块之间的处理的依存关系会延迟对图像内的每个切片的并行处理。然而,按照本实施例的并行化控制部分150能够在其它宏块之前,对在切片边界周围的邻近宏块进行滤波处理。

例如,图14图解说明切片边界周围的8个宏块MB10-MB13和MB20-MB23。宏块MB10-MB13属于切片SL1。宏块MB20-MB23属于切片SL2。就这些宏块来说,对于切片SL2中的宏块MB20上的水平边界的滤波处理取决于对于切片SL1中的宏块MB12上的垂直边界的滤波处理。类似地,对于切片SL2中的宏块MB21上的水平边界的滤波处理取决于对于切片SL1中的宏块MB13上的垂直边界的滤波处理。

在这些条件下,按照图15中的例子,并行化控制部分150优先于对其它边界的处理,进行关于切片SL1的滤波处理中的对宏块MB12和MB13的垂直边界的滤波处理。结果将防止在关于切片SL2的滤波处理中的对宏块MB20和MB21的水平边界的滤波处理中,出现较大的延迟。图16中的例子最初对包含在切片SL1中的所有宏块的垂直边界,并行地进行滤波处理。另外在这种情况下,在对于切片SL2中的宏块MB20和MB21的水平边界的滤波处理中,不出现任何延迟。

[3-2.判定条件变形例]

如上所述,类似于在图4中图解说明的现有技术,每个垂直边界判定部分112参考与块中的第三行和第六行对应的像素,并对于每个块的垂直边界,判定是否需要滤波。同样地,每个水平边界判定部分116参考与块中的第三列和第六列对应的像素,并对于每个块的水平边界,判定是否需要滤波。在这种情况下,能够容易地实现按照本实施例的结构,而不改变为现有设备提供的滤波需要判定处理的判定条件。

每个垂直边界判定部分112和每个水平边界判定部分116可利用与现有技术不同的判定条件,进行判定。例如,每个垂直边界判定部分112可参考与块中的3列或者更多列对应的像素。每个水平边界判定部分116可参考与块中的3列或者更多列对应的像素。另外,每个垂直边界判定部分112和每个水平边界判定部分116可利用和现有技术不同的判定条件表达式。参见图17-19,下面说明按照本实施例的判定技术的6个例子。

(1)第一个例子

图17是图解说明判定技术的第一个和第二个例子的说明图。在第一个和第二个例子中,关于垂直边界的滤波需要判定处理(特别地,把判定条件B用于亮度分量的判定)参考每个块中的从第一行到第八行的所有各行L1-L8的像素。关于水平边界的滤波需要判定处理同样参考每个块中的从第一列到第八列的所有各列的像素。

第一个例子可如下定义亮度分量的判定条件。

亮度分量(Luma)的判定条件…如果条件A和条件B都为真,那么应用去块滤波器。

条件A:

(A1)块Ba或Bb都进入帧内预测模式;

(A2)块Ba或Bb具有非零正交变换系数;或者

(A3)|MVAx-MVBx|≥4或|MVAy-MVBy|≥4

条件B:

iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p27-2p17+p07|+|q27-2q17+q07|

iD1=|p21-2p11+p01|+|q21-2q11+q01|+|p26-2p16+p06|+|q26-2q16+q06|

iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|

iD3=|p23-2p13+p03|+|q23-2q13+q03|+|p24-2p14+p04|+|q24-2q14+q04|

iDave=(iD0+iD1+iD2+iD3)>>2

在该条件下,iDave

色度分量的判定条件可以和上述现有技术相同。可以计算加权平均值,以计算4个判定参数iD0~iD3的平均值iDave

(2)第二个例子

第二个例子可如下定义亮度分量的判定条件B。

条件B:

iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p27-2p17+p07|+|q27-2q17+q07|

iD1=|p21-2p11+p01|+|q21-2q11+q01|+|p26-2p16+p06|+|q26-2q16+q06|

iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|

iD3=|p23-2p13+p03|+|q23-2q13+q03|+|p24-2p14+p04|+|q24-2q14+q04|

按照该条件,iD0<β,iD1<β,iD2<β且iD3

计算4个判定参数iD0~iD3的等式与第一例子的相同。适用条件不是所有4个判定参数iD0~iD3都小于边缘判定阈值β,而是4个判定参数iD0~iD3中的至少3个、2个或者1个小于边缘判定阈值β。

(3)第三个例子

图18是图解说明判定技术的第三个和第四个例子的说明图。在第三个和第四个例子中,关于垂直边界的滤波需要判定处理(特别地,把判定条件B用于亮度分量的判定)参考每个块中的L1、L3、L6和L8这4行的像素。关于水平边界的滤波需要判定处理同样参考每个块中的4列的像素。

第三个例子可如下定义亮度分量的判定条件。

亮度分量(Luma)的判定条件…如果条件A和B都为真,那么应用去块滤波器。

条件A:

(A1)块Ba或Bb进入帧内预测模式;

(A2)块Ba或Bb具有非零正交变换系数;或者

(A3)|MVAx-MVBx|≥4或|MVAy-MVBy|≥4

条件B:

iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p27-2p17+p07|+|q27-2q17+q07|

iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|

iDave=(iD0+iD2)>>1

在该条件下,iDave

色度分量的判定条件可以和上述现有技术相同。可以计算加权平均值,以计算2个判定参数iD0和iD2的平均值iDave

(4)第四例子

第四例子可如下定义亮度分量的判定条件B。

条件B:

iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p27-2p17+p07|+|q27-2q17+q07|

iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|

在该条件下,iD0<β且iD2

计算2个判定参数iD0和iD2的等式与第三个例子的相同。适用条件不是2个判定参数iD0和iD2都小于边缘判定阈值β,而是2个判定参数iD0和iD2中的任意一个小于边缘判定阈值β。

虽然说明了在判定期间,参考块中的第一、第三、第六和第八行(或列)L1、L3、L6和L8的例子,不过可以参考各行和各列的其它组合。

(5)第五个例子

图19是图解说明判定技术的第五个和第六个例子的说明图。在第五个和第六个例子中,对于垂直边界的滤波需要判定处理参考每个块中的L1、L3、L5和L7这4行的像素。对于水平边界的滤波需要判定处理同样参考每个块中的4列的像素。

第五个例子如下定义亮度分量的判定条件。

亮度分量(Luma)的判定条件…如果条件A和B都为真,那么应用去块滤波器。

条件A:

(A1)块Ba或Bb进入帧内预测模式;

(A2)块Ba或Bb具有非零正交变换系数;或者

(A3)|MVAx-MVBx|≥4或|MVAy-MVBy|≥4

条件B:

iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p26-2p16+p06|+|q26-2q16+q06|

iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p24-2p14+p04|+|q24-2q14+q04|

iDave=(iD0+iD2)>>1

在该条件下,iDave

色度分量的判定条件可以和上述现有技术相同。可以计算加权平均值,以计算2个判定参数iD0和iD2的平均值iDave

(6)第六个例子

第六个例子如下定义亮度分量的判定条件B。

条件B:

iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p26-2p16+p06|+|q26-2q16+q06|

iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p24-2p14+p04|+|q24-2q14+q04|

在该条件下,iD0<β且iD2

计算2个判定参数iD0和iD2的等式与第五个例子的相同。适用条件不是2个判定参数iD0和iD2都小于边缘判定阈值β,而是2个判定参数iD0和iD2中的任意一个小于边缘判定阈值β。

通常,增大判定时待参考的行和列的数目可提高判定精度。于是,参考8行和8列的第一个和第二个例子可以使对最初不是待应用的去块滤波器的目标的块滤波的可能性,和不对最初是待应用的去块滤波器的目标的块滤波的可能性降至最小。结果将改善待编码和解码的图像的质量。另一方面,减小判定时待参考的行和列的数目可降低处理成本。由于在图像质量和处理成本之间存在折衷,因此有利的是根据设备的用途或者对安装的限制,自适应地选择判定时待参考的行和列的数目。同样有利的是自适应地选择待参数的行和列的组合。

如在第一个、第三个和第五个例子中所述,可以比较判定参数的平均值iDave和边缘判定阈值β,以便基于块地恰当进行判定,而不受每行或每列的参数变化的过度影响。

[3-3.处理流程]

参考图20和21,说明去块滤波器24的处理流程。

图20是图解说明按照第一实施例的去块滤波器24的处理流程的流程图。参见图20,垂直边界判定部分112-1~112-n对于包含在输入图像内的多个宏块中的所有垂直边界,并行地判定是否需要滤波(步骤S110)。水平滤波部件132-1~132-n并行地把去块滤波器应用于在步骤S110确定的需要应用去块滤波器的所有垂直边界(步骤S120)。水平边界判定部分116-1~116-n对于包含在输入图像内的多个宏块中的所有水平边界,并行地判定是否需要滤波(步骤S130)。垂直滤波部件142-1~142-n并行地把去块滤波器应用于在步骤S130确定的需要应用去块滤波器的所有水平边界(步骤S140)。

上述处理流程仅仅是例子。例如,去块滤波器24可以并行对两个或者更多宏块的处理。处理的序列可被改变。

图21是图解说明与图20中的步骤S110和S130对应的滤波需要判定处理的处理流程的流程图。参见图21,失真评估部分124根据模式信息、变换系数信息和运动矢量信息,就失真对边界进行评估(步骤S150)。如果评估表明存在失真(判定条件A为真),那么处理进入步骤S154。如果评估表明不存在失真,那么处理进入步骤S160(步骤S152)。

在步骤S154,计算部分122根据由抽头构成部分121构成的参考像素抽头,计算边缘值(步骤S154)。阈值比较部分123比较计算的值和边缘判定阈值β(步骤S156)。如果边缘值不小于阈值β(判定条件B为真),那么处理进入步骤S158。如果边缘值不小于阈值β,那么处理进入步骤S160。

在步骤S158,滤波判定部分125确定把去块滤波器应用于确定的边界(步骤S158)。在步骤S140,滤波判定部分125确定不把去块滤波器应用于确定的边界(步骤S160)。

<4.第二实施例>

[4-1.去块滤波器结构例子]

下面说明按照第二实施例的去块滤波器24的例证结构。

(1)新处理之间的依存关系

按照本实施例,去块滤波器24进行对于每个块的垂直边界的滤波需要判定处理,而不等待把去块滤波器应用于该块属于的宏块中的其它块。去块滤波器24进行对于每个块的水平边界的滤波需要判定处理,而不等待把去块滤波器应用于该块属于的宏块中的其它块。这能够减轻宏块内的处理的依存关系。

如上所述,减轻处理的依存关系从而能够使宏块中,对于垂直边界和水平边界的滤波需要判定处理并行。

图22是图解说明在去块滤波器24上可用的处理序列的第一个例子的说明图。该例子还假定去块滤波器被供给大小为32×32像素的图像。输入图像包括大小均为16×16像素的4个宏块MB0-MB3。

在图22中,每个虚线框代表要并行进行的处理。虽然对于处理序列,图10中的例子需要16个处理步骤,不过,图22中的例子把相同数目的处理集合成12个处理步骤。第一步骤并行地进行对于宏块MB0的4个垂直边界和4个水平边界的滤波需要判定处理JV0,0~JV0,3和JH0,0~JH0,3。第二步骤并行地进行对于宏块MB0中的4个垂直边界的滤波处理FV0,0~FV0,3。第三步骤并行地进行对于宏块MB1的4个垂直边界和4个水平边界的滤波需要判定处理JV1,0~JV1,3和JH1,0~JH1,3。第四步骤并行地进行对于宏块MB1中的4个垂直边界的滤波处理FV1,0~FV1,3。第五步骤并行地进行对于宏块MB0中的4个水平边界的滤波处理FH0,0~FH0,3。第六步骤并行地进行对于宏块MB2的4个垂直边界和4个水平边界的滤波需要判定处理JV2,0~JV2,3和JH2,0~JH2,3。第七步骤并行地进行对于宏块MB2中的4个垂直边界的滤波处理FV2,0~FV2,3。第八步骤并行地进行对于宏块MB1中的4个水平边界的滤波处理FH1,0~FH1,3。第九步骤并行地进行对于宏块MB3的4个垂直边界和4个水平边界的滤波需要判定处理JV3,0~JV3,3和JH3,0~JH3,3。第十步骤并行地进行对于宏块MB3中的4个垂直边界的滤波处理FV3,0~FV3,3。第十一步骤并行地进行对于宏块MB2中的4个水平边界的滤波处理FH2,0~FH2,3。第十二步骤并行地进行对于宏块MB3中的4个水平边界的滤波处理FH3,0~FH3,3。这种情况下,去块滤波器24能够利用比现有技术少的处理步骤,进行对于整个输入图像的处理。

(2)去块滤波器的详细结构

图23是图解说明按照第二实施例的进行上述并行处理的去块滤波器24的详细结构的方框图。参见图23,去块滤波器24包括垂直判定部件210、水平判定部件214、水平滤波部件130、垂直滤波部件140和并行化控制部分150。

(2-1)垂直判定部件

垂直判定部件210包括多个垂直边界判定部分212-1~212-n。每个垂直边界判定部分212判定是否把去块滤波器应用于每个块的垂直边界,而不等待把去块滤波器应用于该块属于的宏块中的其它块。每个垂直边界判定部分212向水平滤波部件130供给指示关于每个垂直边界的判定结果的信息,比如指示值“1”强制去块滤波器的应用的判定结果的二进制信息。

(2-2)水平判定部件

水平判定部件214包括多个水平边界判定部分216-1~216-n。每个水平边界判定部分216判定是否把去块滤波器应用于每个块的水平边界,而不等待把去块滤波器应用于该块属于的宏块中的其它块。每个水平边界判定部分216向垂直滤波部件140供给指示关于每个水平边界的判定结果的信息。

另外,按照本实施例,每个垂直边界判定部分212和每个水平边界判定部分216可通过类似于现有技术,参考在各个位置的像素,对于每个边界判定是否需要滤波。事实上,每个垂直边界判定部分212和每个水平边界判定部分216可按照在“3-2.判定条件变形例”中描述的技术,对于每个边界判定是否需要滤波。

[3-2.处理流程]

图24是图解说明按照第二实施例的去块滤波器24的处理流程的流程图。参见图24,垂直边界判定部分212-1~212-n对于包含在输入图像内的关注宏块中的所有垂直边界,并行地判定是否需要滤波(步骤S202)。水平边界判定部分214-1~214-n对于包含在关注宏块中的所有水平边界,并行地判定是否需要滤波(步骤S204)。步骤S202和S204也可并行地进行。

水平滤波部件132-1~132-n把去块滤波器并行地应用于在步骤S202中,确定需要应用去块滤波器的关注宏块中的垂直边界(步骤S210)。

步骤S220的处理针对最近的循环中的关注宏块。对于第一个关注宏块,可以跳过在步骤S220的处理。垂直滤波部件142-1~142-n把去块滤波器并行地应用于在最近的循环中的步骤S204,确定需要应用去块滤波器的水平边界(步骤S220)。

如果在输入图像中,存在未被处理的关注宏块,那么对新关注的宏块,重复步骤S202-S220的处理(步骤S230)。

如果没有遗留未被处理的关注宏块,那么垂直滤波部件142-1~142-n把去块滤波器并行地应用于最后的循环的关注宏块中的,确定需要应用去块滤波器的水平边界(步骤S240)。

上述处理的流程也仅仅是例子。处理的并行度和顺序可被改变。此外,并行化控制部分150可控制处理的并行度和顺序。

[4-3.每个LCU的处理例子]

如上所述,可以基于HEVC编码单位(CU)的处理的形式,提供按照在本说明书中说明的各个实施例的技术。按照HEVC,具有最大大小的编码单位被称为最大编码单位(LCU),例如,它可被选择为64×64像素。最小的可选CU大小为8×8像素。通常,从在图像(或者切片)的左上侧的LCU开始,按照光栅扫描顺序,对应于每个LCU地编码和解码图像。下面说明去块滤波器24中的对应于LCU的处理例子。

图25是图解说明按照上述第二实施例的每个LCU的处理序列的说明图。本例假定LCU大小为16×16像素,CU大小为8×8像素。

参见图25,表示在图的左上侧的第一阶段指出一直到第(n-1)个LCU,完成了对于LCU的滤波。对于垂直边界的滤波的目标像素是阴影像素。对于水平边界的滤波的目标像素是实心像素。

在图25中,右上侧的第二处理和左下侧的第三处理以第n个LCU为目标。在第二处理之前,对于属于第n个LCU的所有垂直边界和水平边界,平行地进行滤波需要判定处理。即,进行对于属于第n个LCU中的CU的边界的滤波需要判定处理,而不等待把去块滤波器应用于第n个LCU中的其它CU。第二处理对属于第n个LCU,并且被确定需要应用去块滤波器的垂直边界,并行地进行滤波处理。第二处理对属于第n个LCU,并且被确定需要应用去块滤波器的水平边界,并行地进行滤波处理。

在图25的右下侧的第四阶段的处理以第(n+1)个LCU为目标。在第四阶段,在对属于第(n+1)个LCU中的所有CU的边界并行地进行滤波需要判定处理之后,对被判定需要应用去块滤波器的垂直边界并行地进行滤波处理。

虽然本例假定LCU大小为16×16像素,不过它可被设定成32×32像素或64×64像素。依照并行化而缩短处理时间的效果被进一步提高,因为增大待选择的LCU的大小还增大属于一个LCU的垂直边界和水平边界的数目。

图26是图解说明每个LCU的去块滤波器24的处理流程的流程图。

参见图26,垂直边界判定部分212-1~212-n对于包含在输入图像中的关注LCU中的所有垂直边界,并行地判定是否需要滤波(步骤S252)。水平边界判定部分216-1~216-n对于包含在关注LCU中的所有水平边界,并行地判定是否需要滤波(步骤S254)。步骤S252和S254也可并行地进行。

水平滤波部件132-1~132-n对在步骤S252中,被确定需要应用去块滤波器的关注LCU中的垂直边界,并行地应用去块滤波器(步骤S260)。

垂直滤波部件142-1~142-n对在步骤S254中,被确定需要应用去块滤波器的关注LCU中的水平边界,并行地应用去块滤波器(步骤S270)。

如果在输入图像中,遗留有未被处理的LCU,那么对新关注的LCU,重复在步骤S252-S270的处理(步骤S280)。如果不存在未被处理的LCU,那么处理终止。

<5.第三实施例>

[5-1.概况]

第一和第二实施例改变去块滤波器的现有处理序列,以提高处理的并行度。特别地,第一实施例通过在判定滤波的必要性时,扩大提供给去块滤波器的输入图像的像素值的范围,减轻处理的依存关系。下面说明的第三实施例增强该发明构思。第三实施例通过在对于垂直边界和水平边界的滤波处理中,对提供给去块滤波器的输入像素值滤波,进一步使处理并行。

图27是图解说明本实施例的概况的说明图。在图27的左下侧,表示了代表在由去块滤波器处理之前的输入像素(也称为重构像素)的形状。本实施例允许从关于垂直边界和水平边界的滤波需要判定处理,以及关于垂直边界的滤波处理和关于水平边界的滤波处理参照输入去块滤波器的像素值。因而,这使得能够解决两个滤波需要判定处理之间的依存关系,以及两个滤波处理之间的依存关系。

对于垂直边界的滤波处理和对于水平边界的滤波处理可更新重复像素的值。图27中的实心像素图解说明可能被重复的像素的位置。就被并行工作的两个滤波器重复更新的像素来说,按照本实施例的去块滤波器根据两个滤波器输出,计算一个输出像素值。

[5-2.去块滤波器结构例子]

图28是图解说明按照第三实施例的去块滤波器24的详细结构的方框图。参见图28,去块滤波器24包括行存储器308、判定部件310、水平滤波部件330、垂直滤波部件340、并行化控制部分150和计算部分360。

行存储器308保存提供给去块滤波器24的输入图像的像素值。水平滤波部件330和垂直滤波部件340中的滤波处理并不更新保存在行存储器308中的像素值。由判定部件310中的下述部分进行的滤波需要判定处理参考保存在行存储器308中的像素值。设备包括用于和去块滤波器24的处理不同的目的的另一个存储器。该存储器可被重用(共用)为行存储器308。

判定部件310包括垂直边界判定部分312-1~312-n,和水平边界判定部分314-1~314-n。垂直边界判定部分312和水平边界判定部分314被供给保存在行存储器308中的输入去块滤波器24的图像的像素值,和用于判定是否需要滤波的判定信息。

垂直边界判定部分312利用输入去块滤波器24的像素值,判定是否对每个垂直边界应用去块滤波器。垂直边界判定部分312把指示关于每个垂直边界的判定结果的信息,输出给水平滤波部件330。

水平边界判定部分314还利用输入去块滤波器24的像素值来判定是否对每个水平边界应用去块滤波器。水平边界判定部分314与垂直边界判定部分312进行的判定处理并行地进行判定处理。水平边界判定部分314把指示关于每个水平边界的判定结果的信息,输出给垂直滤波部件340。

另外,按照本实施例,每个垂直边界判定部分312和每个水平边界判定部分314可通过类似于现有技术,参考在各个位置的像素,对于每个边界判定是否需要滤波。每个垂直边界判定部分312和每个水平边界判定部分314可改为按照在“3-2.判定条件变形例”中描述的技术,对于每个边界判定是否需要滤波。

水平滤波部件330包括水平滤波部件332-1~332-n。水平滤波部件332被供给来自行存储器308的输入图像值,和来自判定部件310的关于每个垂直边界的判定结果。

如果来自垂直边界判定部分312的判定结果指出需要应用滤波器,那么水平滤波部件332对在对应垂直边界周围的左右像素,应用关于垂直边界的去块滤波器。水平滤波部件332把就滤波像素来说的滤波后的像素值,或者就其它像素来说的输入像素值,输出给计算部分360。

垂直滤波部件340包括垂直滤波部件342-1~342-n。垂直滤波部件342被供给来自行存储器308的输入像素值,和来自判定部件310的关于每个水平边界的判定结果。

如果来自水平边界判定部分314的判定结果指出需要应用滤波器,那么垂直滤波部件342对在对应水平边界周围的上下像素,应用关于水平边界的去块滤波器。垂直滤波部件342-1~342-n的滤波处理是与水平滤波部件332-1~332-n的滤波处理并行地进行的。垂直滤波部件342把就滤波像素来说的滤波后的像素值,或者就其它像素来说的输入像素值,输出给计算部分360。

计算部分360被并行地供给来自水平滤波部件330的输出像素值,和来自垂直滤波部件340的输出像素值。此外,计算部分360被供给来自垂直边界判定部分312和水平边界判定部分314的判定结果。按照判定结果,计算部分360根据来自水平滤波部件330和垂直滤波部件340的滤波器输出,计算从水平滤波部件330和垂直滤波部件340滤波的像素的输出像素值。

按照本实施例,例如,对于重复滤波的像素,计算部分360计算两个滤波器输出的平均值。计算部分360可计算两个滤波器输出的简单平均值。计算部分360可改为计算两个滤波器输出的加权平均值。例如,计算部分360可按照每个像素到垂直边界和到水平边界的距离,确定用于像素的加权平均值的权重。

图29是图解说明用于利用计算部分360计算的加权平均值的权重的确定的说明图。图29用黑色表示与在图27中图解所示的重复位置之一对应的关注像素PZ。在关注像素PZ和最近的垂直边界VZ之间,存在与距离DV对应的3个像素。在关注像素PZ和最近的水平边界HZ之间,存在与距离DH对应的2个像素。距离DH小于距离DV。这种情况下,计算部分360可把来自应用于水平边界HZ的去块滤波器的输出的权重设定成大于来自应用于垂直边界VZ的去块滤波器的输出的权重。图29中的例子假定关于垂直边界VZ的滤波器输出Vout与关于水平边界HZ的滤波器输出Hout之比为2:3。

从图29中可看出,计算两个滤波器输出的加权平均值从而可向每个关注的像素,提供与应用具有沿着水平方向的滤波器抽头和沿着垂直方向的滤波器抽头的1个二维滤波器的情况类似的输出像素值。使对于垂直边界和水平边界的滤波处理并行还可适当减小在垂直边界和水平边界出现的块失真。作为另一个实施例,去块滤波器24可包括同时计算水平滤波、垂直滤波和加权平均值的1个二维滤波器。不过在这种情况下,安装极其复杂,因为需要对应于像素不同地改变滤波器系数。另一方面,第三实施例并行地进行2个一维滤波,随后计算加权平均值。这能够容易地提供大体与二维滤波器相同的处理,同时确保现有的去块滤波器的功能。

图30是图解说明根据图29中的例子计算的加权平均值的权重的例子的说明图。图30表示在垂直边界和水平边界的交点周围的36个像素(6×6)。这些像素对应于上面说明的重复位置。对于位于距垂直边界和水平边界距离相等的位置的像素,滤波器输出Vout的权重与滤波器输出Hout的权重之比为1:1(2:2或者3:3)。对更接近垂直边界的像素来说,滤波器输出Vout的权重大于滤波器输出Hout的权重。例如,像素P1的权重之比为Vout:Hout=3:1。对更接近水平边界的像素来说,滤波器输出Vout的权重小于滤波器输出Hout的权重。例如,像素P2的权重之比为Vout:Hout=1:3。

通过根据每个像素和边界之间的距离,改变加权平均值的权重,能够更有效地抑制块失真,从而能够改善图像质量。

上面说明的权重仅仅是例子。例如,代替或者除了每个像素和边界之间的距离之外,计算部分360可按照对应于每个像素的垂直边界和水平边界的边缘强度,确定像素的加权平均值的权重。边缘强度可用诸如从如图13中所示的计算部分122计算的边缘值之类的参数表示。在这种情况下,关于具有较强边缘的边界的滤波器输出的权重可被设定成大于关于具有较弱边缘的边界的滤波器输出的权重。按照边缘强度,改变加权平均值的权重能够自适应地改善去块滤波器对显著导致块失真的边界的效果。

就由水平滤波部件330和垂直滤波部件340之一滤波的像素来说,计算部分360选择来自实际被滤波的块的输出。就未被水平滤波部件330或垂直滤波部件340滤波的像素来说,计算部分360直接输出待输出给去块滤波器24的输入像素值。图31中的表格列举了按照是否需要滤波的判定的结果,来自计算部分360的输出像素值。

[5-3.处理序列例子]

下面说明可供按照本实施例的去块滤波器24利用的处理序列的两个例子。本例还假定去块滤波器被供给大小为32×32像素的图像。输入图像包括大小均为16×16像素的4个宏块MB0-MB3。

(1)第一个例子

为比较起见,图32图解说明当在对于垂直边界的滤波处理和对于水平边界的滤波处理之间,仍有依存关系时的处理序列。在图32中,第一步骤并行地进行对于所有4个宏块MB0-MB3的所有垂直边界和所有水平边界的滤波需要判定处理JV0,0~JV3,3和JH0,0~JH3,3。第二步骤进行4个宏块MB0-MB3的16个垂直边界的滤波处理FV0,0~FV3,3。第三步骤进行4个宏块MB0-MB3的16个水平边界的滤波处理FH0,0~FH3,3。第四步骤把在对于水平边界的滤波处理之后的像素值保存在用于来自去块滤波器24的输出的存储器中。

图33图解说明本实施例提供的处理序列的第一个例子。在图33中,第一步骤并行地进行对于4个宏块MB0-MB3的所有垂直边界和所有水平边界的滤波需要判定处理JV0,0~JV3,3和JH0,0~JH3,3。第二步骤并行地进行对于4个宏块MB0-MB3的所有垂直边界和所有水平边界的滤波处理FV0,0~FV3,3和FH0,0~FH3,3。实际上,第二步骤只对确定需要滤波的边界滤波。第三步骤把像素值保存在用于来自去块滤波器24的输出的存储器中。就利用水平滤波部件330和垂直滤波部件340滤波的像素来说,可以计算两个滤波器输出的加权平均值,作为输出像素值。

(2)第二个例子

虽然第一个例子使并行度达到最大,不过,按照第二个例子的去块滤波器24也能够进行每个宏块的处理。

为比较起见,图34图解说明当在对于垂直边界的滤波处理和对于水平边界的滤波处理之间,仍有依存关系时,对于每个宏块的处理序列。图34中的处理序列与按照第一实施例的图22中的处理序列大体相同。图36明确地表示了把像素值保存在存储器中,以便输出,并且为了简单起见,从图22中省略的4个处理步骤(第6、第10、第14和第16)。包括这4个处理步骤的16个处理步骤构成图34中的处理。

图35图解说明本实施例提供的处理序列的第二个例子。在图35中,第一步骤并行地进行对于宏块MB0的4个垂直边界和4个水平边界的滤波需要判定处理JV0,0~JV0,3和JH0,0~JH0,3。第二步骤并行地进行对于宏块MB0的4个垂直边界和4个水平边界的滤波处理FV0,0~FV0,3和FH0,0~FH0,3。第三步骤把宏块MB0的像素值保存在用于来自去块滤波器24的输出的存储器中。就被两个滤波器重复滤波的像素来说,可以计算两个滤波器输出的加权平均值,作为输出像素值。第四步骤到第六步骤类似地处理宏块MB1。第七步骤到第九步骤类似地处理宏块MB2。第十步骤到第十二步骤类似地处理宏块MB3。图35中的处理包括与图34中的处理的步骤相比,较少的12个处理步骤。

第三实施例消除了对于垂直边界的滤波处理和对于水平边界的滤波处理之间的依存关系。可以利用与第一和第二实施例相比,较少的处理步骤进行去块滤波器24的处理。允许滤波处理仅仅参考给去块滤波器的像素输入的优点之一在于滤波器抽头的任意结构不会导致对于垂直边界的滤波处理和对于水平边界的滤波处理之间的任何依存关系。通过利用与现有技术相比,更多的像素构成滤波器抽头,第三实施例能够改善图像质量。例如,现有技术把3个像素的滤波器抽头用于各个边界的每一侧,如上参考图7所述。即使在每个边界使用5个像素或者更多像素的滤波器抽头,本实施例也不会在处理之间导致任何依存关系。通过进一步减小作为去块滤波器的处理单位的块大小,甚至在处理之间也不会出现任何依存关系。

另外,在第三实施例以及第一和第二实施例中,并行化控制部分150可控制去块滤波器24中的处理的并行度和顺序。

[5-4.处理流程]

图36是图解说明按照第三实施例的去块滤波器的处理流程的例子的流程图。图37是图解说明图36中所示的像素值计算处理的流程的流程图。

参见图36,垂直边界判定部分312-1~312-n对于输入图像或宏块内的所有垂直边界,并行地判定是否需要滤波(步骤S302)。水平边界判定部分314-1~314-n对于输入图像或宏块内的所有水平边界,并行地判定是否需要滤波(步骤S304)。步骤S302和S304也可并行地进行。

水平滤波部件332-1~332-n把去块滤波器并行地应用于在步骤S302,确定需要应用去块滤波器的所有垂直边界(步骤S306)。垂直滤波部件342-1~342-n把去块滤波器并行地应用于在步骤S304,确定需要应用去块滤波器的所有水平边界(步骤S308)。步骤S306和S308也可并行地进行。

计算部分360随后进行如图37中所示的像素值计算处理(步骤S310)。参见图37,随后为待处理的每个像素,循环从步骤S314-步骤S326的处理(步骤S312)。

在步骤S314,计算部分360判定用于垂直边界和水平边界的两个滤波器是否已对关注像素滤波(步骤S314)。如果这两个滤波器已对关注像素滤波,那么处理进入步骤S322。如果这两个滤波器还未对关注像素滤波,那么处理进入步骤S316。

在步骤S316,计算部分360判定用于垂直边界和水平边界的两个滤波器之一是否已对关注像素滤波(步骤S316)。如果这两个滤波器之一已对关注像素滤波,那么处理进入步骤S320。如果这两个滤波器一个也没有对关注像素滤波,那么处理进入步骤S318。

在步骤S318,计算部分360获得给去块滤波器24的输入像素值(步骤S318)。在步骤S320,计算部分360获得来自对关注像素进行实际滤波的滤波器的滤波器输出(步骤S320)。

在步骤S322,计算部分360按照从关注像素到垂直边界和水平边界的距离,或者对应于关注像素的垂直边界和水平边界的边缘强度,确定用于计算来自涉及关注像素的两个滤波器的滤波器输出的加权平均值的权重值(步骤S322)。计算部分360利用确定的权重,计算来自两个滤波器的滤波器输出的加权平均值(步骤S324)。

在步骤S318或S320获得像素值,或者在步骤S324计算像素值的同时,计算部分360把关注像素的像素值保存在存储器中(步骤S326)。当对所有待处理像素都进行了处理时,终止如在图36和37中所示的处理序列。

<6.对各种编解码器的应用>

按照本公开的技术适用于与图像编码和解码相关的各种编解码器。下面说明把按照本公开的技术应用于多视图编解码器和可扩展编解码器的例子。

[6-1.多视图编解码器]

多视图编解码器是编码和解码多视点视频的图像编码方案。图38是图解说明多视图编解码器的说明图。图38图解说明在3个视点拍摄的3个视图的帧序列。每个视图具备视图ID(view_id)。视图之一被指定为基本视图。除基本视图外的视图被称为非基本视图。图38中的例子表示具有视图ID“0”的基本视图,和具有视图ID“1”或“2”的两个非基本视图。编码多视图图像数据可通过根据关于基本视图的各帧的编码信息,编码非基本视图的各帧,整体压缩编码流的数据大小。

在按照上述多视图编解码器的编码处理和解码处理期间,可对每个视图应用去块滤波器。对每个视图应用去块滤波器可按照本公开的技术,以包含每个视图的多个CU的处理为单位,使水平滤波和垂直滤波并行。上述处理单位可代表几个CU、LCU或图像。可以为每个视图设定控制并行处理的参数(比如在前面的“(4)并行化控制部分”的第2段中说明的参数)。对于基本视图设定的参数可以重新用于非基本视图。

可在多个视图内,使水平滤波和垂直滤波并行。所述多个视图可共用控制并行处理的参数(比如在前面的“(4)并行化控制部分”的第2段中说明的参数)。有利的是另外指定指示多个视图是否共用该参数的标记。

图39是图解说明应用于上述多视图编解码器的图像编码处理的说明图。图39举例表示多视图编码设备710的结构。多视图编码设备710包括第一编码部件720、第二编码部件730和多路复用部分740。

第一编码部件720对基本视图图像编码,产生基本视图的编码流。第二编码部件730对非基本视图图像编码,产生非基本视图的编码流。多路复用部分740多路复用从第一编码部件720产生的基本视图的编码流,和从第二编码部件730产生的非基本视图的一个或多个编码流,从而产生多视图的多路复用流。

图39中图解说明的第一编码部件720和第二编码部件730是类似于按照上述实施例的图像编码设备10构成的。对视图应用去块滤波器使得能够以包含多个CU的处理为单位,使水平滤波和垂直滤波并行。控制这些处理的参数可被插入每个视图的编码流的报头区中,或者插入多路复用流中的公共报头区中。

图40是图解说明应用于上面说明的多视图编解码器的图像解码处理的说明图。图40举例表示多视图解码设备760的结构。多视图解码设备760包括多路分解部分770、第一解码部分780和第二解码部分790。

多路分解部分770把多视图的多路复用流多路分解成基本视图的编码流,和一个或多个非基本视图的编码流。第一解码部分780从基本视图的编码流中,解码基本视图图像。第二解码部分790从非基本视图的编码流中,解码非基本视图图像。

图40中图解说明的第一解码部分780和第二解码部分790是类似于按照上述实施例的图像解码设备60构成的。对视图应用去块滤波器使得能够以包含多个CU的处理为单位,使水平滤波并行,和使垂直滤波并行。控制这些处理的参数可以从每个视图的编码流的报头区获得,或者从多路复用流的公共报头区获得。

[6-2.可扩展编解码器]

可扩展编解码器是提供分级编码的图像编码方案。图41是图解说明可扩展编解码器的说明图。图41图解说明空间分辨率、时间分辨率或图像质量不同的3层的帧序列。每一层具有层ID(layer_id)。这些层包括具有最低分辨率(或图像质量)的基本层。除基本层外的各层被称为增强层。图41中的例子表示具有层ID“0”的基本层,和具有层ID“1”或“2”的两个增强层。编码多层图像数据可通过根据关于基本层的各帧的编码信息,编码增强层的各帧,整体压缩编码流的数据大小。

在按照上述可扩展编解码器的编码处理和解码处理期间,可对每层应用去块滤波器。对每层应用去块滤波器可按照本公开的技术,以包含每个视图的多个CU的处理为单位,使水平滤波和垂直滤波并行。上述处理单位可代表几个CU、LCU或图像。可以为每层设定控制并行处理的参数(比如在前面的“(4)并行化控制部分”的第2段中说明的参数)。对于基本层视图设定的参数可以重新用于增强层。

可在多层内,使水平滤波和垂直滤波并行。所述多层可共用控制并行处理的参数(比如在前面的“(4)并行化控制部分”的第2段中说明的参数)。有利的是另外指定指示多层是否共用该参数的标记。

图42是图解说明应用于上述可扩展编解码器的图像编码处理的说明图。图42举例表示可扩展编码设备810的结构。可扩展编码设备810包括第一编码部件820、第二编码部件830和多路复用部分840。

第一编码部件820对基本层图像编码,产生基本层的编码流。第二编码部件830对增强层图像编码,产生增强层的编码流。多路复用部分840多路复用从第一编码部件820产生的基本层的编码流,和从第二编码部件830产生的增强层的一个或多个编码流,从而产生多层的多路复用流。

图42中图解所示的第一编码部件820和第二编码部件830是类似于上述实施例的图像编码设备10构成的。对各层应用去块滤波器使得能够以包含多个CU的处理为单位,使水平滤波并行,和使垂直滤波并行。控制这些处理的参数可被插入每层的编码流的报头区中,或者插入多路复用流中的公共报头区中。

图43是图解说明应用于上述可扩展编解码器的图像解码处理的说明图。图43举例表示可扩展解码设备860的结构。可扩展解码设备860包括多路分解部分870、第一解码部分880和第二解码部分890。

多路分解部分870把多层的多路复用流多路分解成基本层的编码流,和一个或多个增强层的编码流。第一解码部分880从基本层的编码流中,解码基本层图像。第二解码部分890从增强层的编码流中,解码增强层图像。

图43中图解所示的第一解码部分880和第二解码部分890是类似于按照上述实施例的图像解码设备60构成的。对各层应用去块滤波器使得能够以包含多个CU的处理为单位,使水平滤波并行,和使垂直滤波并行。控制这些处理的参数可以从每层的编码流的报头区获得,或者从多路复用流的公共报头区获得。

<7.例证应用>

按照上述实施例的图像编码设备10和图像解码设备60适用于各种电器,比如用于卫星广播、诸如有线电视之类的有线广播、因特网上的分发、借助蜂窝通信对终端的分发等的发射器和接收器,把图像记录在诸如光盘、磁盘或闪存之类的介质中的记录设备,从这样的存储介质再现图像的再现设备,等等。下面说明4种例证应用。

[7-1.第一例证应用]

图44是表示适用上述实施例的电视机的示意结构的例子的方框图。电视机900包括天线901、调谐器902、多路分解器903、解码器904、视频信号处理部分905、显示部分906、音频信号处理部分907、扬声器908、外部接口909、控制部分910、用户接口911和总线912。

调谐器902从借助天线901接收的广播信号中,提取所需频道的信号,并解调提取的信号。随后,调谐器902把通过解调获得的编码比特流输出给多路分解器903。即,调谐器902充当电视机900的接收其中编码图像的编码流的电视机900的传输装置。

多路分解器903从编码比特流中,分离出待观看节目的视频流和音频流,把分离出的每个流输出给解码器904。另外,多路分解器903从编码比特流中,提取诸如EPG(电子节目指南)之类的辅助数据,并把提取的数据提供给控制部分910。另外,在编码比特流被加扰的情况下,多路分解器903可进行解扰。

解码器904对从多路分解器903输入的视频流和音频流解码。随后,解码器904把利用解码处理产生的视频数据输出给视频信号处理部分905。另外,解码器904把利用解码处理产生的音频数据输出给音频信号处理部分907。

视频信号处理部分905再现从解码器904输入的视频数据,使显示部分906显示视频。视频信号处理部分905还可使显示部分906显示通过网络供给的应用程序画面。此外,视频信号处理部分905可按照设定,对视频数据进行诸如噪声消除之类的附加处理。此外,视频信号处理部分905可产生GUI(图形用户界面)的图像,比如菜单、按钮、光标等,并把产生的图像重叠在输出图像上。

显示部分906由视频信号处理部分905供给的驱动信号驱动,把视频或图像显示在显示设备(例如,液晶显示器、等离子体显示器、OLED等)的视频屏幕上。

音频信号处理部分907对从解码器904输入的音频数据,进行诸如D/A转换和放大之类的再现处理,从扬声器908输出音频。另外,音频信号处理部分907可对音频数据进行诸如噪声消除之类的附加处理。

外部接口909是电视机900和外部设备或网络的接口。例如,外部接口909接收的视频流和音频流可由解码器904解码。即,外部接口909还充当电视机900的传输装置,用于接收其中图像被编码的编码流。

控制部分910包括诸如CPU(中央处理器)之类的处理器,和诸如RAM(随机存取存储器)、ROM(只读存储器)之类的存储器。存储器保存将由CPU执行的程序、程序数据、EPG数据、通过网络获得的数据等等。在启动电视机900时,CPU读取并执行保存在CPU中的程序。CPU通过执行程序,按照从用户接口911输入的操作信号,控制电视机900的操作。

用户接口911连接到控制部分910。用户接口911包括用户用于操作电视机900的按钮和开关,和遥控信号的接收部分。用户接口911检测用户借助这些构成元件的操作,产生操作信号,把产生的操作信号输出给控制部分910。

总线912互连调谐器902、多路分解器903、解码器904、视频信号处理部分905、音频信号处理部分907、外部接口909和控制部分910。

在按照这种方式构成的电视机900中,解码器904具有按照上述实施例的图像解码设备60的功能。因而,就电视机900中的图像解码来说,也能够增强去块滤波器处理的并行度,从而确保高速处理。

[7-2.第二例证应用]

图45是表示采用上述实施例的移动电话机的示意结构的例子的方框图。移动电话机920包括天线921、通信部分922、音频编解码器923、扬声器924、麦克风925、摄像机部分926、图像处理部分927、多路分解部分928、记录/再现部分929、显示部分930、控制部分931、操作部分932和总线933。

天线921连接到通信部分922。扬声器924和麦克风925连接到音频编解码器923。操作部分932连接到控制部分931。总线933互连通信部分922、音频编解码器923、摄像机部分926、图像处理部分927、多路分解部分928、记录/再现部分929、显示部分930和控制部分931。

移动电话机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,从而利用显示部分930显示一系列的图像。音频编解码器923扩展和D/A转换音频流,产生模拟音频信号。随后,音频编解码器923把产生的音频信号提供给扬声器924,从而使音频被输出。

在按照这种方式构成的移动电话机920中,图像处理部分927具有按照上述实施例的图像编码设备10和图像解码设备60的功能。因而,在移动电话机920中编码和解码图像的情况下,也能够增强去块滤波器处理的并行度,从而确保高速处理。

[7-3.第三例证应用]

图46是表示采用上述实施例的记录/再现设备的示意结构的例子的方框图。记录/再现设备940编码接收的广播节目的音频数据和视频数据,并记录在记录介质中。记录/再现设备940也可编码从另一个设备获得的音频数据和视频数据,并记录在记录介质中。此外,记录/再现设备940按照用户的指令,利用监视器或扬声器,再现记录在记录介质中的数据。此时,记录/再现设备940解码音频数据和视频数据。

记录/再现设备940包括调谐器941、外部接口942、编码器943、HDD(硬盘驱动器)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-视频、DVD-RAM、DVD-R、DVD-RW、DVD+、DVD+RW等)、蓝光(注册商标)光盘等等。

在记录视频或音频时,选择器946选择从调谐器941或编码器943输入的编码比特流,把选择的编码比特流输出给HDD 944或者光盘驱动器945。另外,在再现视频或音频时,选择器946把从HDD 944或者光盘驱动器945输入的编码比特流输出给解码器947。

解码器947解码编码比特流,产生视频数据和音频数据。随后,解码器947把产生的视频数据输出给OSD 948。另外,解码器904把产生的音频数据输出给外部扬声器。

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的功能。另外,解码器947具有按照上述实施例的图像解码设备60的功能。因而,在记录/再现设备940中编码和解码图像的情况下,也能够增强去块滤波器处理的并行度,从而确保高速处理。

[7-4.第四例证应用]

图47是表示采用上述实施例的摄像设备的示意结构的例子的方框图。摄像设备960拍摄被摄物体的图像,产生图像,编码图像数据,并把图像数据记录在记录介质中。

摄像设备960包括光学部件961、摄像部分962、信号处理部分963、图像处理部分964、显示部分965、外部接口966、存储器967、介质驱动器968、OSD 969、控制部分970、用户接口971和总线972。

光学部件961连接到摄像部分962。摄像部分962连接到信号处理部分963。显示部分965连接到图像处理部分964。用户接口971连接到控制部分970。总线972互连图像处理部分964、外部接口966、存储器967、介质驱动器968、OSD 969和控制部分970。

光学部件961包括聚焦透镜、孔径光阑机构等。光学部件961在摄像部分962的摄像面上,形成被摄物体的光学图像。摄像部分962包括诸如CCD、CMOS之类的图像传感器,利用光电转换,把在摄像面上形成的光学图像转换成作为电信号的图像信号。随后,摄像部分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。

在按照这种方式构成的摄像设备960中,图像处理部分964具有按照上述实施例的图像编码设备10和图像解码设备60的功能。因而,在摄像设备960中编码和解码图像的情况下,也能够增强去块滤波器处理的并行度,从而确保高速处理。

<8.总结>

参考图1-47,说明了按照实施例的图像编码设备10和图像解码设备60的去块滤波器的3个实施例。这3个实施例减轻了现有技术固有的去块滤波器处理的依存关系。这可改善当应用去块滤波器时的处理的并行度。结果,能够避免由去块滤波器的较大处理量引起的延迟或数据速率的降低,从而确保高速处理。可按照诸如图像大小或安装环境之类的各种条件,灵活地设定去块滤波器处理的并行度和顺序。

按照第一实施例,当对于垂直边界和水平边界之一,判定是否需要滤波时,跨越图像内的多个宏块,参考提供给去块滤波器的输入图像的像素值。结果将减轻宏块或编码单位之间的处理的依存关系。于是,能够跨越多个宏块,或者图像内的所有宏块(如果使并行度达到最大的话),并行滤波需要判定处理。

按照第二实施例,进行对于每个块的垂直边界和水平边界,是否需要滤波的判定,而不等待把去块滤波器应用于该块属于的宏块中的其它块。这减轻宏块或编码单位中的垂直边界和水平边界之间的处理的依存关系。因而,能够在宏块中,并行对于垂直边界和水平边界的滤波需要判定处理。

按照第三实施例,对于垂直边界和水平边界的滤波处理对输入去块滤波器的像素滤波。这种结构可以使对于垂直边界和水平边界的滤波处理相互并行。这可进一步加速去块滤波器的处理。就利用并行进行的两个滤波处理更新的像素来说,根据两个滤波器输出,计算输出像素值。使两个滤波处理并行还可适当减小在垂直边界和水平边界出现的块失真。输出像素值可被计算为两个滤波器输出的加权平均值。这可使去块滤波器更有效地消除块失真,从而进一步改善图像质量。

本说明书主要说明了其中对于垂直边界的滤波处理在对于水平边界的滤波处理之前的例子。另外,按照本公开的技术的上述效果同样适用于其中对于水平边界的滤波处理在对于垂直边界的滤波处理之前的情况。可不同于说明书中所述地确定去块滤波器处理单位或宏块的大小。一种可行的技术可以省略滤波需要判定处理,并且并行化对于垂直边界和水平边界的去块滤波器的应用。

把用于去块滤波器处理并行化的信息从编码方传送给解码方的技术并不局限于把所述信息多路复用到编码流报头中的技术。例如,所述信息可不被多路复用到编码比特流,而是可作为与编码比特流相关的独立数据被传送或记录。术语“关联”意味确保使包含在比特流中的图像(或者图像的一部分,比如切片或块)与对应于该图像的信息相联系的可能性。即,可通过与用于图像(或者比特流)的传输路径不同的传输路径传送所述信息。所述信息可被记录在与用于图像(或者比特流)的记录介质不同的记录介质(或者相同记录介质上的不同记录区域)上。可根据诸如多帧、一帧、一帧的一部分的任何单位,使信息和图像(或者比特流)彼此相关。

上面参考附图,说明了本发明的优选实施例,然而,本发明当然并不局限于上述例子。本领域的技术人员可得出在附加权利要求的范围内的各种变更和修改,应理解这些变更和修改自然都在本发明的技术范围之内。

本说明书把对于垂直边界的滤波处理表示成“水平滤波”,把对于水平边界的滤波处理表示成“垂直滤波”。通常,对于垂直边界的滤波处理利用水平布置的滤波器抽头。对于水平边界的滤波处理利用垂直布置的滤波器抽头。因此,对于滤波处理,使用了上述术语。

附图标记列表

10,60 图像处理设备

112,212 第一判定部分(垂直边界判定部分)

116,216 第二判定部分(水平边界判定部分)

132 第一滤波部分(水平滤波部件)

142 第二一滤波部分(垂直滤波部件)

150 并行化控制部分

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