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

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

技术领域

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



背景技术:

H.264/AVC作为一个用于图像编码方案的标准规格,例如为了防止由于当对图像编码时的块失真而使图像质量劣化,向以每个含有4×4像素的块的单位的块边界适用去块滤波器(deblocking filter)。去块滤波器要求大量的处理,并可以占到例如图像解码中整个处理量的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,2010年4月15-23日。



技术实现要素:

技术问题

然而,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是示出由第二工作例提供的确定技术的第三和第四示例的说明图。

图26是示出由第二工作例提供的确定技术的第五和第六示例的说明图。

图27是示出对于每个LCU的处理顺序的说明图。

图28是示出对于每个LCU的处理流程的流程图。

图29是示出第三工作例的概要的说明图。

图30是示出根据第三工作例的去块滤波器的详细配置的框图。

图31是示出对于加权平均的加权的确定的说明图。

图32是示出对于加权平均的加权的示例的说明图。

图33是示出根据第三工作例的来自计算部的输出像素值的说明图。

图34是示出用于比较的处理顺序的第一示例的说明图。

图35是示出由第三工作例提供的处理顺序的第一示例的说明图。

图36是示出用于比较的处理顺序的第二示例的说明图。

图37是示出由第三工作例提供的处理顺序的第二示例的说明图。

图38是示出根据第三工作例的去块滤波器的处理流程的第一示例的流程图。

图39是示出图38所示的像素值计算处理的流程的流程图。

图40是示出多视图编解码器(multiview codec)的说明图。

图41是示出适用于多视图编解码器的根据实施例的图像编码处理的说明图。

图42是示出适用于多视图编解码器的根据实施例的图像解码处理的说明图。

图43是示出可扩展编解码器(scalable codec)的说明图。

图44是示出适用于可扩展编解码器的根据实施例的图像编码处理的说明图。

图45是示出适用于可扩展编解码器的根据实施例的图像解码处理的说明图。

图46是示出电视装置的概要配置的框图。

图47是示出移动电话的概要配置的框图。

图48是示出记录/再现设备的概要配置的框图。

图49是示出图像捕获设备的概要配置的框图。

附图标记列表

10、60 图像处理设备

112-1至112-n,212-1至212-n 第一确定部(垂直边界确定部)

114-1至114-n,214-1至214-n 第二确定部(水平边界确定部)

132-1至132-n,332-1至332-n 第一滤波部(水平滤波部)

142-1至142-n,342-1至342-n 第二滤波部(垂直滤波部)

150 并行化控制部

208 线存储器(存储器)

360 计算部

实施例的说明

以下,将参考附图来详细说明本发明的优选实施例。需要注意的是,在该说明书和附图中,具有实质相同的功能和结构的要素被标注了相同的标号,省略重复的解释。

实施例的说明将以下面的顺序说明。

1.装置概要

11.图像编码设备

12.图像解码设备

2.现有技术

21.去块滤波器的基本配置

22.根据现有技术的处理之间的依赖性

3.第一工作例

31.去块滤波器配置示例

32.处理流程

4.第二工作例

41.去块滤波器配置示例

42.处理流程

43.对于每个LCU的处理示例

5.第三工作例

51.概要

52.去块滤波器配置示例

53.处理顺序示例

54.处理流程

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

61.多视图编解码器

62.可扩展编解码器

7.示例应用

8.总结

1.装置概要

参考图1和2,下面说明本说明书公开的技术可适用的装置的概要。本说明书公开的技术能够适用于例如图像编码设备和图像解码设备。

[11.图像编码设备]

图1是示出根据实施例的图像编码设备的配置的示例的框图。参考图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计算预测的误差数据,并将计算的预测的误差数据输出至正交变换部14,该误差数据是从重排缓冲器12输入的图像数据与从模式选择部50输入的预测的图像数据之间的差分。

正交变换部14对从减法部13输入的预测的误差数据执行正交变换。由正交变换部14执行的正交变换例如可以是离散余弦变换(DCT)或者卡洛南-洛伊变换(Karhunen-Loeve transform)。正交变换部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。

[12.图像解码设备]

图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输入的数字格式的图像数据转换为模拟格式的图像信号。然后,D/A转换部68通过将模拟图像信号输出至例如与图像解码设备60连接的显示器(未示出),使图像被显示。

帧存储器69使用存储介质来存储从加法部65输入的滤波前的解码的图像数据、以及从去块滤波器24b输入的滤波后的解码的图像数据。

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

选择器71根据由无损解码部62获取的模式信息,对于图像中的每个块,在帧内预测部80与运动补偿部90之间切换要提供给加法部65的预测的图像数据的输出源。例如,在指定了帧内预测模式的情况下,选择器71向加法部65提供从帧内预测部80输出的预测的图像数据。在指定了帧间预测模式的情况下,选择器71向加法部65提供从运动补偿部90输出的预测的图像数据。

帧内预测部80基于从无损解码部62输入的有关帧内预测的信息、和来自帧存储器69的参考图像数据,执行像素值的画面内预测(in-screen prediction),并产生预测的图像数据。然后,帧内预测部80将产生的预测的图像数据输出至选择器71。

运动补偿部90基于从无损解码部62输入的有关帧间预测的信息、和来自帧存储器69的参考图像数据,执行运动补偿处理,并产生预测的图像数据。然后,运动补偿部90将产生的预测的图像数据输出至选择器71。

<2.现有技术>

[2-1.去块滤波的基本配置]

一般而言,使用在诸如H.264/AVC或者HEVC等现有图像编码系统中的去块滤波器的处理包含两个类型的处理,即滤波需要确定处理和滤波处理。下面说明例如HEVC中的这两个处理。

(1)滤波需要确定处理

滤波需要确定处理确定是否需要将去块滤波器适用于输入图像内的块的每个边界。块边界包含彼此水平相邻的块之间的垂直边界、和彼此垂直相邻的块之间的水平边界。JCTVC-A119使用8×8像素的块尺寸作为最小处理单位。例如,16×16像素的宏块包含4个8×8像素的块。对于每个块,处理被适用于一个(左)垂直边界和一个(顶部)水平边界,即4个边界加4个边界共计等于8个边界。说明书假定作为技术术语的宏块包含在HEVC的环境下的编码单位(CU)。

图3是示出边界周围彼此相邻的2个块(邻接块)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修整(clip)至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所示,在一般的垂直边界的滤波处理(尤其是对于亮度分量的强滤波器)更新在每个块中第一至第三以及第六至第八列的像素值。类似地,在水平边界的滤波处理更新在每个块中的第一至第三、以及第六至第八行的像素值。

[22.根据现有技术的处理之间的依赖性]

为了说明的目的,如图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,2和FV0,3。在第二步骤终止后,第三步骤对宏块MB0中的4个水平边界并行执行滤波需要确定处理JH0,0,JH01,JH02和JH0,3。第四步骤对宏块MB0中的4个水平边界并行执行滤波处理FH0,0,FH01,FH02和FH0,3。在第四步骤终止后,相继执行对于宏块MB1的处理(第五至第八步骤)。在宏块MB1处理终止后,相继执行对于宏块MB2的处理(第九至第十二步骤)。在宏块MB2处理终止后,相继执行对于宏块MB3的处理(第十三至第十六步骤)。

有限程度内的这样的并行处理无法令人满意地解决当适用了去块滤波器时,由于处理量大而导致延迟或者数据码率劣化的问题。当适用了定义时,下述的三个工作例进一步改善了并行处理。

<3.第一工作例>

[3-1.去块滤波器配置示例]

下面说明根据第一工作例的,用于图1所示的图像编码设备10的去块滤波器24a、和用于图2所示的图像解码设备60的去块滤波器24b的示例配置。去块滤波器24a和去块滤波器24b的配置可以彼此相同。在下面的说明中,当不需要在它们之间区分时,去块滤波器24a和去块滤波器24b还被通称为去块滤波器24。

(1)新的处理之间的依赖性

根据工作例,使用去块滤波器24的处理也包含两个类型的处理,即滤波需要确定处理和滤波处理。然而,去块滤波器24使用不同于现有技术的参考像素的值来确定是否对垂直边界和水平边界适用去块滤波。更具体而言,对于对垂直边界的确定,去块滤波器24使用参考像素,即,包含于在垂直边界周围的相邻的块的像素中,并且属于对于水平边界不适用去块滤波的行的像素。对于对水平边界的确定,去块滤波器24使用另一参考像素,即,包含于在水平边界周围的相邻的块的像素中,并且属于对垂直边界不适用去块滤波的行的像素。另外在下面的说明中,去块滤波器24例如基于8×8像素的块尺寸作为处理单位来执行处理。

图11是示出对垂直边界由去块滤波器24执行滤波需要确定处理中的参考像素的说明图。参考图11,宏块MB0具有16×16像素的尺寸。去块滤波器24使用属于每个块的第四和第五行(L4和L5)中的至少一个的参考像素,确定是否向宏块MB0的4个垂直边界适用滤波器。对水平边界的去块滤波不适用于这两行(参见图9)。该配置消除了对水平边界的滤波处理、与对垂直边界的滤波需要确定处理之间的依赖性。

图12是示出对水平边界由去块滤波器24执行滤波需要确定处理中的参考像素的说明图。图12也示出宏块MB0。去块滤波器24使用属于每个块的第四和第五列(C4和C5)中的至少一个的参考像素,确定是否对宏块MB0的4个水平边界适用滤波。对垂直边界的去块滤波不适用于这两列(参见图7或者8)。该配置消除了对垂直边界的滤波处理、与对水平边界的滤波需要确定处理之间的依赖性。

消除处理之间的依赖性于是能够使对一个宏块内的垂直边界和水平边界的滤波需要确定处理并行化。宏块之间的处理可以并行化。滤波需要确定处理能够对输入图像内所有宏块的垂直边界和水平边界并行执行。

图13是示出在去块滤波器24可用的处理顺序的第一示例的说明图。示例还假定了去块滤波被提供了具有32×32像素的尺寸的图像。输入图像包含4个宏块MB0至MB3,每个具有16×16像素的尺寸。

在图13中,每个虚线框代表要并行执行的处理。图10中的示例对于一系列的处理要求16个处理步骤,图13中的示例将相同的数量的处理聚合为3个处理步骤。第一步骤对所有宏块MB0至MB3的所有垂直边界和所有水平边界并行执行滤波需要确定处理JV0,0至JV3,3和JH0,0至JH3,3。第二步骤对所有宏块的MB0至MB3的16个垂直边界并行执行滤波处理FV0,0至FV3,3。第三步骤对所有宏块MB0至MB3的16个水平边界并行执行滤波处理FH0,0和FH3,3。第二步骤和第三步骤可以以相反的顺序执行。

图13中的示例基于宏块之间的并行处理,使并行度(并行执行的处理的数量)最大化。然而,根据图14中的示例,去块滤波器24能够执行对每个宏块的处理。

图14中的示例将图10和13所示的相同数量的处理聚合为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。在这种情况下,虽然并行度低于图13的示例,但去块滤波器24能够使用比现有技术更少的处理步骤对整个输入图像执行处理。

(2)去块滤波器的基本配置

图15是示出用于执行上述并行处理的、根据第一工作例的去块滤波器24的详细配置的框图。参考图15,去块滤波器24包含确定块110、水平滤波块130、垂直滤波块140、以及并行化控制部150。

(2-1)确定块

确定块110包含垂直边界确定部112-1至112-n以及水平边界确定部114-1至114-n。垂直边界确定部112和水平边界确定部114被提供有输入至去块滤波器24的图像和被用于确定滤波的必要性的确定信息。

垂直边界确定部112使用属于如图11所示不适用用于水平边界的去块滤波的行的参考像素的像素值,确定是否对垂直边界适用去块滤波器。在该示例中,参考像素的像素值被输入至去块滤波器24。垂直边界确定部112向水平滤波块130输出表明有关每个垂直边界的确定结果的信息(例如值"1"表明需要适用去块滤波器的确定结果的二进制信息)。

水平边界确定部114使用属于如图12所示不适用用于垂直边界的去块滤波的列的参考像素的像素值,确定是否对水平边界适用去块滤波器。在该示例中,参考像素的像素值也被输入至去块滤波器24。由每个水平边界确定部114执行的确定处理与由每个垂直边界确定部112执行的确定处理并行执行。水平边界确定部114向垂直滤波块140输出表明有关每个水平边界的确定结果的信息。

图16是示出每个垂直边界确定部112和水平边界确定部114的详细配置的框图。参考图16,每个确定部包含抽头构成部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输出表明确定结果的信息。

(2-2)水平滤波块

返回图15,进一步说明去块滤波器24的配置。水平滤波块130包含水平滤波部132-1至132-n。水平滤波部132被提供有输入图像、和来自确定块110的关于每个垂直边界的确定结果。

如果来自垂直边界确定部112的确定结果表明需要适用滤波器,水平滤波部132向对应的垂直边界周围左右的像素适用对于垂直边界的去块滤波。对于被滤波的像素,水平滤波部132向垂直滤波块140输出滤波后的像素值,对于其它像素,水平滤波部132向垂直滤波块140输出输入图像的像素值。

(2-3)垂直滤波块

垂直滤波块140包含垂直滤波部142-1至142-n。垂直滤波部142被提供有输入图像和来自确定块110的关于每个水平边界的确定结果。

如果来自水平边界确定部114的确定结果表明需要适用滤波器,则垂直滤波部142向对应的水平边界周围的上下像素适用对于水平边界的去块滤波。对于被滤波的像素,垂直滤波部142输出滤波后的像素值,对于其它像素,垂直滤波部142输出从水平滤波块130提供的像素值。来自每个垂直滤波部142的输出可以被包含在来自去块滤波器24的输出图像中。

(2-4)并行化控制部

并行化控制部150控制确定块110中的滤波需要确定处理的并行度、以及水平滤波块130和垂直滤波块140中的滤波处理的并行度。

例如,并行化控制部150可以基于输入图像尺寸控制对于每个块的处理的并行度。更具体而言,如果输入图像尺寸相对大,则并行化控制部150增加对于每个块的处理的并行度。这能够自适应地防止由于根据图像尺寸增加的处理量造成的延迟或者数据码率劣化。例如,并行化控制部150可以基于序列参数集、图画参数集、或者含在片头部的参数,控制对于每个块的处理的并行度。这能使得根据开发装置的用户的要求来灵活配置并行度。例如可以根据诸如处理器核的数量或者软件线程的数量等安装环境的限制来配置并行度。

工作例能够使宏块之间的处理并行化。这表明任意的在图像内的块的处理顺序对最终输出结果没有影响。从而,并行化控制部150可以以块为基础,控制确定块110中的滤波需要确定处理的顺序、水平滤波块130和垂直滤波块140中的滤波处理的顺序。

更具体而言,并行化控制部150可以根据宏块之间的滤波处理的依赖性,控制滤波处理的顺序。根据现有技术,例如,片边界周围的邻接宏块之间的处理的依赖性可能使图像内的每个片的并行处理延迟。然而,根据工作例的并行化控制部150能够先于其它宏块对片边界周围的邻接宏块执行滤波处理。

例如,图17示出片边界周围的8个宏块MB10至MB13、和MB20至MB23。宏块MB10至MB13属于片SL1。宏块MB20至MB23属于片SL2。关于这些宏块,对于在片SL2中的宏块MB20的水平边界的滤波处理依赖于对于在片SL1中的宏块MB12的垂直边界的滤波处理。类似地,对于在片SL2中的宏块MB21的水平边界的滤波处理依赖于对于在片SL1中的宏块MB13的垂直边界的滤波处理。

在这些条件下根据图18的示例,并行化控制部150在对于片SL1的滤波处理中,优先于其它边界的处理,对宏块MB12和MB13的垂直边界执行滤波处理。结果防止了在对于片SL2的滤波处理中,对宏块MB20和MB21的水平边界的滤波处理发生大延迟。图19的示例最初对于包含在片SL1中的所有宏块,对垂直边界并行执行滤波处理。另外在这种情况下,在片SL2中的宏块MB20和MB21的水平边界的滤波处理中不会发生延迟。

[3-2.处理流程]

参考图20至22,对去块滤波器24的处理流程进行说明。

(1)第一情形

图20是示出根据第一情形的去块滤波器24的处理流程示例的流程图。第一情形对应于如图13所示的大的并行度的示例。

参考图20,垂直边界确定部112-1至112-n并行确定对于所有包含在输入图像内的宏块的垂直边界,是否需要滤波(步骤S102)。水平边界确定部114-1至114-n并行确定对于所有包含在输入图像内的宏块的水平边界,是否需要滤波(步骤S104)。步骤S102和S104也是并行执行的。

水平滤波部132-1至132-n向在步骤S102中确定为要求适用去块滤波器的所有垂直边界,并行适用去块滤波器(步骤S110)。垂直平滤波部142-1至142-n向在步骤S104中确定为要求适用去块滤波器的所有水平边界,并行适用去块滤波器(步骤S120)。

(2)第二情形

图21是示出根据第二情形的去块滤波器24的处理流程示例的流程图。第二情形对应于如图14所示的小的并行度的示例。

参考图21,垂直边界确定部112-1至112-n并行确定对于所有包含在输入图像内的关注宏块的垂直边界,是否需要滤波(步骤S202)。水平边界确定部114-1至114-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)。然后处理终止。

虽然已说明了以图像和宏块的单位来并行化处理的两个典型情形,但两个情形只是用于说明的示例。去块滤波器24的处理可以以诸如给定数的宏块(两个或者四个宏块)、或者一群水平或垂直放置的块等各种单位并行化。

(3)滤波需要确定处理

图22是示出对应于图20的步骤S102和S104、图21的步骤S202和S204的滤波需要确定处理的流程的流程图。

参考图22,失真评价部124基于模式信息、变换系数信息和运动矢量信息,评价每个边界的失真(步骤S130)。如果评价结果为存在失真(确定条件A为真),则处理前进至步骤S134。如果评价结果为不存在失真,则处理前进至步骤S140(步骤S132)。

在步骤S134,计算部122基于由抽头构成部121构成的参考像素,计算边缘值(步骤S134)。阈值比较部123将计算的值与边缘确定阈值β比较(步骤S136)。如果边缘值小于阈值β(确定条件B为真),则处理前进至步骤S138。如果边缘值不小于阈值β,则处理前进至步骤S140。

在步骤S138,滤波确定部125确定向待确定的边界适用去块滤波器(步骤S138)。在步骤S140,滤波确定部125确定不向待确定的边界适用去块滤波器(步骤S140)。

<4.第二工作例>

第一工作例使用未由对其它块的滤波处理更新的像素的像素值,对给定的块执行滤波需要确定处理。与此相反,下述的第二工作例提供存储输入至去块滤波器的像素值的存储器,从而使得能消除滤波需要确定处理的限制,并能够使用更多样的确定条件。

[4-1.去块滤波器配置示例]

(1)各部的说明

图23是示出根据第二工作例的去块滤波器24的详细配置的框图。参考图23,去块滤波器24包含线存储器208、确定块210、水平滤波块130、垂直滤波块140、以及并行化控制部150。

线存储器208存储用于提供至去块滤波器24的输入图像的像素值。水平滤波块130和垂直滤波块140中的滤波处理不更新存储在线存储器208中的像素值。由下述的在确定块210中的各部执行的滤波需要确定处理参考存储在线存储器208中的像素值。装置包含用于不同于去块滤波器24的处理的目的的另一存储器。该存储器可以作为线存储器208而再利用(共享)。

确定块210包含垂直边界确定部212-1至212-n、以及水平边界确定部214-1至214-n。垂直边界确定部212和水平边界确定部214被提供有存储在线存储器208中的用于输入至去块滤波器24的图像的像素值、和被用于确定需要滤波的确定信息。

垂直边界确定部212使用输入至去块滤波器24的像素值来确定是否对每个垂直边界适用去块滤波器。垂直边界确定部212向水平滤波块130输出表明有关每个垂直边界的信息的确定结果。

水平边界确定部214还使用输入至去块滤波器24的像素值来确定是否向每个水平边界适用去块滤波器。水平边界确定部214与由垂直边界确定部212执行的确定处理并行地执行确定处理。水平边界确定部214向垂直滤波块140输出表明有关每个水平边界的确定结果的信息。

(2)多样的确定条件

类似于如图4所示的现有技术,根据工作例的垂直边界确定部212可以参考在块的第三和第六行的像素,来确定对每个块的垂直边界滤波的必要性。然而,在这种情况下要参考的像素值存储在线存储器208,并属于输入至去块滤波器24的图像。类似地,水平边界确定部214可以参考在块的第三和第六列的像素,来确定每个块的水平边界滤波的必要性。在这种情况下,能够不用改变对于安装在现有装置的滤波需要确定处理的确定条件而容易地提供根据工作例的配置。

垂直边界确定部212可以在确定中参考块中三行以上的像素。类似地,水平边界确定部214可以在确定中参考块中三列以上的像素。垂直边界确定部212和水平边界确定部214可以使用不同于现有技术的确定条件表达式。参考图24至26,下面说明根据工作例的确定技术的6个示例。

(2-1)第一示例

图24是示出确定技术的第一和第二示例的说明图。在第一和第二示例中,垂直边界的滤波需要确定处理(尤其是使用对于亮度分量的确定条件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-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的全部,而是其中的至少3个、2个、或者1个小于边缘确定阈值β。

(2-3)第三示例

图25是示出确定技术的第三和第四示例的说明图。在第三和第四示例中,垂直边界的滤波需要确定处理(尤其是使用对于亮度分量的确定条件B的确定)参考每个块中的4行L1,L3,L6和L8的像素。对于水平边界的滤波需要确定处理也参考每个块中的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

(2-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的全部,而是其中的一个小于边缘确定阈值β。

尽管已说明了在确定中参考块中的第一、第三、第六和第八行(或者列)L1,L3,L6和L8的示例,也可以参考行或者列的其它组合。

(2-5)第五示例

图26是示出确定技术的第五和第六示例的说明图。在第五和第六示例中,对于垂直边界的滤波需要确定处理参考每个块中的4行L1,L3,L5和L7的像素。对于水平边界的滤波需要确定处理也参考每个块中的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

(2-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中的全部而是其中的一个小于边缘确定阈值β。

一般而言,增加用于确定而参考的行和列的数量会改善确定精度。因此,参考8行和列的第一和第二示例能够最小化对本来不作为适用去块滤波器的对象的块进行滤波的可能性、以及本来不作为适用去块滤波器对象的的块进行滤波的可能性。结果改善了待编码和解码的图像的质量。另一方面,减少了用于确定的参考的行和列的数量,能够降低处理成本。由于在图像质量和处理成本之间要进行权衡,可以取决于装置的使用或者安装的限制,可以自适应地选择用于确定而参考的行和列的数量是有利的。可以自适应地选择要参考的行和列的组合是有利的。

如第一、第三、和第五示例说明的,可以将确定参数的平均值iDave与边缘确定阈值β比较,来在没有对每行或者列的参数变化的过度影响下以块基础适当地执行确定。

[4-2.处理流程]

根据第二工作例以及第一工作例,去块滤波器24能够以不同的并行度运行。

在使用大并行度的第一情形中,垂直边界确定部212-1至212-n并行确定对于包含在输入图像内的宏块的所有垂直边界,是否需要滤波。水平边界确定部214-1至214-n并行确定对于包含在输入图像内的宏块的所有水平边界,是否需要滤波。对于垂直边界和水平边界的确定处理也被并行执行。水平滤波部132-1至132-n和垂直滤波部142-1至142-n向确定为要求要适用去块滤波器的垂直边界和水平边界适用去块滤波器(参见图20)。

在使用小并行度的第二情形中,垂直边界确定部212-1至212-n并行确定对于包含在输入图像内的一个关注宏块的所有垂直边界,是否需要滤波。水平边界确定部214-1至214-n并行确定对于包含在关注宏块的所有水平边界,是否需要滤波。对于垂直边界和水平边界的确定处理也被并行执行。随后水平滤波部132-1至132-n向确定为要求适用去块滤波器的垂直边界,并行适用去块滤波器。垂直滤波部142-1至142-n向确定为要求适用去块滤波器的水平边界,并行适用去块滤波器。该处理对输入图像内的所有宏块重复执行(参见图21)。

这两个情形只是用于说明的示例。另外在第二工作例中,去块滤波器24的处理可以以诸如给定数量的宏块(二个或者四个宏块)或者例如一群水平或者垂直的放置块等各种单位并行化。另外在第二工作例以及第一工作例中,并行化控制部150可以控制去块滤波器24中的处理的并行度和顺序。

[4-3.对于每个LCU的处理示例

如已经提到的,根据在本说明书中说明的各种工作例的技术可以被提供作为基于HEVC编码单位(CU)的处理。根据HEVC,具有最大的尺寸的编码单位被称为最大编码单位(LCU),例如可以选择为64×64像素。最小可选择的CU尺寸是8×8像素。通常,依据从在图画(或者片)的左上的LCU的光栅扫描顺序,对应于每个LCU,图像被编码并解码。下面说明对应于去块滤波器24中的LCU的处理示例。

图27是示出根据上述第二工作例的对于每个LCU的处理顺序的说明图。示例假定LCU尺寸为16×16像素,且CU尺寸为8×8像素。

参考图27,第一阶段示出在附图的左上,并表明LCU的滤波已经完成至第(n-1)个LCU。阴影的像素是作为垂直边界的滤波的对象。填充像素是作为水平边界的滤波的对象。

在图27的右上的用于第二阶段的处理、和在其左下的用于第三阶段的处理以第n个LCU为对象的。在第二阶段前,输入至去块滤波器24的像素值被用于对属于第n个LCU的所有垂直边界和水平边界并行执行滤波需要确定处理。在第二阶段中,输入至去块滤波器24的像素值被用于对属于第n个LCU并确定为要求适用去块滤波器的垂直边界并行执行滤波处理。在第二阶段被处理的像素值随后被用于对属于第n个LCU并确定为要求适用去块滤波器的水平边界并行执行滤波处理。

在图27的右下的第四阶段的处理是以第(n+1)个LCU为对象的。在第四阶段中,在对属于第(n+1)个LCU的所有垂直边界和水平边界并行执行滤波需要确定处理后,对确定为要求适用去块滤波器的垂直边界并行执行滤波处理。

尽管示例中假定LCU尺寸为16×16像素,也可以设定为32×32或者64×64像素。因为增加要选择的LCU的尺寸也增加了属于一个LCU的垂直边界和水平边界的数量,所以根据并行化而缩短处理时间的效果被进一步改善。

图28是示出对于每个LCU的去块滤波器24的处理流程的流程图。

参考图28,垂直边界确定部212-1至212-n并行确定对于包含在输入图像内的关注LCU的所有垂直边界,是否需要滤波(步骤S252)。水平边界确定部214-1至214-n并行确定对于包含在关注LCU的所有水平边界,是否需要滤波(步骤S254)。步骤S252和S254也是并行执行的。

水平滤波部132-1至132-n向在步骤S252中确定为要求适用去块滤波器的关注LCU中的垂直边界,并行适用去块滤波器(步骤S260)。

垂直滤波部142-1至142-n向在步骤S254中确定为要求适用去块滤波器的关注LCU中的水平边界,并行适用去块滤波器(步骤S270)。

如果在输入图像中还有关注的LCU为未处理(步骤S280),则对于新关注的LCU重复步骤S252至S270的处理。如果没有LCU未处理,那么处理终止。

<5.第三工作例>

[5-1.概要]

根据第二工作例,对垂直边界和水平边界的滤波需要确定处理参考输入至去块滤波器的像素值,因而消除了滤波需要确定处理之间的依赖性,并使确定处理的并行化成为可能。下述的第三工作例将第二工作例的概念也适用到滤波处理。对于垂直边界和水平边界的滤波处理还对输入至去块滤波器的像素值滤波。

图29是示出该工作例的概要的说明图。在图29的左下示出代表在被去块滤波处理之前的输入像素(也被称为重构像素)的形状。工作例使得能够不仅从对于垂直边界和水平边界的滤波需要确定处理参考输入至去块滤波的像素值,而且从对于垂直边界的滤波处理和对于水平边界的滤波处理参考输入至去块滤波的像素值。因此,两个滤波处理之间的依赖性被消除。两个滤波处理被并行执行。

对于垂直边界的滤波处理和对于水平边界的滤波处理可以更新重复像素的值。图29的被填充像素示出可能是重复像素的位置。根据工作例的去块滤波器对于由两个并行运行的滤波器重复更新的像素,根据两个滤波器输出计算一个输出像素值。

[5-2.去块滤波配置示例]

图30是示出根据第三工作例的去块滤波器24的详细配置的框图。参考图30,去块滤波器24包含线存储器208、确定块210、水平滤波块330、垂直滤波块340、并行化控制部150、计算部360。确定块210包含垂直边界确定部212-1至212-n、以及水平边界确定部214-1至214-n。垂直边界确定部212和水平边界确定部214可以根据第二工作例中说明的各种确定条件,确定对边界滤波的必要性。

水平滤波块330包含水平滤波部332-1至332-n。水平滤波部332被提供有来自线存储器208的输入图像值和来自确定块210的关于每个垂直边界的确定结果。

如果来自垂直边界确定部212的确定结果表明需要适用滤波器,则水平滤波部332向对应的垂直边界周围的左右像素适用对于垂直边界的去块滤波器。对于被滤波的像素,水平滤波部332向计算部360输出滤波后的像素值,而对于其它像素,水平滤波部332向计算部360输出输入像素值。

垂直滤波块340包含垂直滤波部342-1至342-n。垂直滤波部342被提供有来自线存储器208的输入像素值和来自确定块210的关于每个水平边界的确定结果。

如果来自水平边界确定部214的确定结果表明需要适用滤波器,则垂直滤波部342向对应的水平边界周围的上下像素适用对于水平边界的去块滤波器。垂直滤波部342-1至342-n的滤波处理并行于水平滤波部332-1至332-n的滤波处理执行。对于被滤波的像素,垂直滤波部342向计算部360输出滤波后的像素值,而对于其它像素,垂直滤波部342向计算部360输出输入像素值。

计算部360被并行提供有来自水平滤波块330的输出像素值和来自垂直滤波块340的输出像素值。此外,计算部360被提供有来自垂直边界确定部212和水平边界确定部214的确定结果。根据确定结果,计算部360基于来自水平滤波块330和垂直滤波块340的滤波器输出,对由水平滤波块330和垂直滤波块340滤波的像素计算输出像素值。

根据工作例,例如计算部360对于被重复滤波的像素,计算两个滤波器输出的平均。计算部360可以计算两个滤波器输出的简单平均。作为替代,计算部360可以计算两个滤波器输出的加权平均。例如,计算部360可以根据从每个像素到垂直边界和到水平边界的距离,确定用于像素的加权平均的权重。

图31是示出对于由计算部360计算的加权平均的权重的确定的说明图。图31示出关注的像素PZ为黑色,对应于图29所示的一个重复位置。对应于关注的像素PZ与最接近的垂直边界VZ之间的距离DV有三个像素。对应于关注的像素PZ与并最接近的水平边界HZ之间的距离DH有两个像素。距离DH小于距离DV。在这种情况下,计算部360可以设定为来自适用于水平边界HZ的去块滤波器的输出的加权大于来自适用于垂直边界VZ的去块滤波器的输出的加权。图31的示例假定垂直边界VZ的滤波器输出Vout相对于水平边界HZ的滤波器输出Hout的比率为2:3。

如图31所示,计算两个滤波器输出的加权平均能够给每个关注的像素提供类似于适用具有沿着水平方向的滤波抽头和沿着垂直方向的滤波抽头的一个二维滤波器的情况的输出像素值。对垂直边界和水平边界使滤波处理并行化还可以适当减小在垂直边界和水平边界出现的块失真。作为另一工作例,去块滤波器24可以包含同时计算水平滤波、垂直滤波、和加权平均的一个二维滤波器。然而在这种情况下,安装非常复杂,因为滤波系数需要对应于像素进行各种改变。另一方面,第三工作例并行执行两个一维滤波器,随后计算加权平均。这能够容易地提供实质相当于二维滤波器的处理,并保证现有去块滤波的功能。

图32是示出用于基于图31的示例计算的加权平均的权重的示例的说明图。图32示出垂直边界和水平边界之间的一个交点周围的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可以根据对应于每个像素的垂直边界和水平边界的边缘强度,代替每个像素和边界之间的距离或者在每个像素和边界之间的距离之外,确定用于像素的加权平均的权重。边缘强度可以由诸如由如图16所示的计算部122计算的边缘值等参数代表。在这种情况下,具有较强边缘的边界的滤波输出的权重可以设定为大于具有较弱边缘的边界的滤波输出的权重。根据边缘强度来改变加权的加权平均,可以自适应地改善在显著造成块失真的边界的去块滤波器的效果。

计算部360对于由水平滤波块330和垂直滤波块340之一滤波的像素,选择来自实际上滤波的块的输出。计算部360对于没有由水平滤波块330或者垂直滤波块340滤波的像素,将要输出的输入像素值直接输出至去块滤波器24。图33的表格根据是否要求滤波的确定的结果,将来自计算部360的输出像素值列于表上。

[5-3.处理顺序示例]

下面说明根据工作例的可用于去块滤波器24的处理顺序的两个示例。示例还假定了去块滤波器被提供有32×32像素的尺寸的图像。输入图像包含四个宏块MB0至MB3,每个具有16×16像素的尺寸。

(1)第一示例

为了比较,图34示出对垂直边界的滤波处理和对水平边界的滤波处理之间保持了依赖性的处理顺序。图34的处理顺序实质相当于根据第一工作例的图13的处理顺序。在图34中,第一步骤对所有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。第四步骤(图13中省略)将对水平边界的滤波处理后的像素值存储在用于来自去块滤波器24的输出的存储器。

图35示出由工作例提供的处理顺序的第一示例。在图35中,第一步骤对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还能够对于每个宏块执行处理。

为了比较,图36示出对垂直边界的滤波处理和对水平边界的滤波处理之间保持了依赖性时,对于每个宏块的处理顺序。图36的处理顺序实质相当于根据第一工作例的图14的处理顺序。图36明确示出了将像素值存储在用于输出的存储器、并为了简洁起见从图14中省略的4个处理步骤(第6、第10、第14和第16)。包含4个处理步骤的16个处理步骤构成为图36中的处理。

图37示出由工作例提供的处理顺序的第二示例。在图37中,第一步骤对宏块MB0的4个垂直边界和4个水平边界并行执行滤波需要确定处理JV0,0至JV0,3和JH0,0至JH0,3。第二步骤对宏块的4个垂直边界和4个水平边界MB0并行执行滤波处理FV0,0至FV0,3和FH0,0至FH0,3。第三步骤将宏块MB0像素值存储在用于来自去块滤波器24的输出的存储器。对于由两个滤波器重复滤波的像素,可以计算两个滤波器输出的加权平均作为输出像素值。第4至第6步骤类似地处理宏块MB1。第7至第9步骤类似地处理宏块MB2。第10至第12步骤类似地处理宏块MB3。图37中的处理包含12个处理步骤,少于图36的处理。

第三工作例消除对于垂直边界的滤波处理和对于水平边界的滤波处理之间的依赖性。去块滤波器24的处理能够使用比用于第一、和第二工作例更少的处理步骤来执行。允许滤波处理仅参考输入至去块滤波器的像素的一个优点是,滤波器抽头的任何配置都不会在对于垂直边界的滤波处理和对于水平边界的滤波处理之间产生依赖性。通过使用比现有技术更多的像素来配置滤波器抽头,第三工作例可以改善图像质量。例如,如参考图7说明的对于每个边界的每侧,现有技术使用三个像素的滤波器抽头。即使对每个边界使用了5个像素以上的滤波器抽头,工作例在处理之间也不会产生依赖性。即便进一步减少作为去块滤波器的处理单位的块尺寸,在处理之间也不会产生依赖性。

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

[5-4.处理流程]

图38是示出根据第三工作例的对于去块滤波器的处理流程的示例的流程图。图39是示出图38所示的像素值计算处理的流程的流程图。

参考图38,垂直边界确定部212-1至212-n并行确定对于输入图像或者宏块内的所有垂直边界,是否需要滤波(步骤S302)。水平边界确定部214-1至214-n并行确定对于输入图像的或者宏块内的所有水平边界,是否需要滤波(步骤S304)。步骤S302和S304也是并行执行的。

水平滤波部332-1至332-n向在步骤S302中确定为要求适用去块滤波器的所有垂直边界,并行适用去块滤波器(步骤S306)。垂直滤波部342-1至342-n向在步骤S304中确定为要求适用去块滤波器的所有水平边界,并行适用去块滤波器(步骤S308)。步骤S306和S308也是并行执行的。

然后计算部360执行如图39所示的像素值计算处理(步骤S310)。参考图39,从步骤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)。

计算部360将关注像素的像素值存储在存储器中,其中像素值是在步骤S318或者S320中获取的,或者在步骤S324中计算的(步骤S326)。当对所有待处理的像素执行处理时,图38和39所示的一系列处理终止。

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

根据本公开的技术能够适用于与图像编码和解码相关的各种编解码器。下面说明将根据本公开的技术适用于多视图编解码器和可扩展编解码器的示例。

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

多视图编解码器是对多视角的视频进行编码和解码的图像编码系统。图40是示出多视图编解码器的说明图。图40示出在三个观察点捕获的三个视图的帧的序列。每个视图被提供有视图ID(view_id)。这些视图之一被指定为基本视图。基本视图以外的视图被称为非基本视图。图40的示例表示视图ID为“0”的基本视图和视图ID为“1”或者“2”的两个非基本视图。通过基于有关基本视图的帧的编码信息来将非基本视图的帧进行编码,将多视图图像数据编码可以将作为整体的编码流的数据尺寸压缩。

在根据上述的多视图编解码器的编码处理和解码处理中,去块滤波器可以适用于每个视图。当去块滤波器被适用于每个视图时,在垂直块边界和水平块边界的对每个视图的滤波需要确定处理可以基于根据本公开的技术而并行化。对于每个视图的滤波需要确定处理和滤波处理可以并行化。可以对每个视图提供控制滤波需要确定处理或者滤波处理的参数(诸如在之前段落0094中说明的一个)。提供给基本视图的参数可以重新用于非基本视图。

滤波需要确定处理或者滤波处理可以在多个视图上并行化。视图可以共享控制滤波需要确定处理或者滤波处理的参数(诸如在之前段落0094中说明的一个)。追加指定表明视图是否共享参数的标志可以是有利的。

图41是示出适用于上述多视图编解码器的图像编码处理的说明图。图41示出多视图编码设备710的配置作为一个示例。多视图编码设备710包含第一编码部720、第二编码部730和复用部740。

第一编码部720将基本视图图像编码,并产生基本视图的编码流。第二编码部730将非基本视图图像编码,并产生非基本视图的编码流。复用部740将从第一编码部720产生的基本视图的编码流、和从第二编码部730产生的非基本视图的一个或多个编码流复用,以产生多视图的复用的流。

图41所示的第一编码部720和第二编码部730配置得类似于根据上述实施例的图像编码设备10。向视图适用去块滤波器能使对于垂直块边界和水平块边界的滤波需要确定处理并行化、或者滤波需要确定处理和滤波处理并行化。控制这些处理的参数可以插入至每个视图的编码流的头部区,或者至复用流中的公共头部区。

图42是示出适用于上述多视图编解码器的图像解码处理的说明图。图42示出多视图解码设备760的配置作为一个示例。多视图解码设备760包含解复用部770、第一解码部780和第二解码部790。

解复用部770将多视图的复用流解复用为基本视图的编码流、和一个或多个非基本视图的编码流。第一解码部780根据基本视图的编码流将基本视图图像解码。第二解码部790根据非基本视图的编码流将非基本视图图像解码。

图42所示的第一解码部780和第二解码部790配置得类似于根据上述实施例的图像解码设备60。向视图适用去块滤波器能使对于垂直块边界和水平块边界的滤波需要确定处理并行化、或者滤波需要确定处理和滤波处理并行化。控制这些处理的参数可以从每个视图的编码流程的头部区、或者从复用流中的公共头部区获取。

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

可扩展编解码器是提供分层编码的图像编码系统。图43是示出可扩展编解码器的说明图。图43示出对于不同的空间分辨率、时间分辨率、或者图像质量的三层的帧序列。每个层被提供有层ID(layer_id)。这些层包含具有最低分辨率(或者图像质量)的基本层。基本层以外的层被称为增强层。图43的示例表示层ID为“0”的基本层和层ID为“1”或者“2”的两个增强层。通过基于有关基本层的帧的编码信息来将增强层的帧编码,将多层图像数据编码可以将作为整体的编码流的数据尺寸压缩。

在根据上述的可扩展编解码器的编码处理和解码处理中,去块滤波可以适用于每个层。当去块滤波被适用于每个层时,对垂直块边界和水平块边界的每个层的滤波需要确定处理可以基于根据本公开的技术而并行化。对于每个层的滤波需要确定处理和滤波处理可以并行化。可以对每个层提供控制滤波需要确定处理或者滤波处理的参数(诸如在之前段落0094中说明的一个)。提供给基本层的参数可以重新用于增强层。

滤波需要确定处理或者滤波处理可以在多个层上并行化。多个层可以共享控制滤波需要确定处理或者滤波处理的参数(诸如在之前段落0094中说明的一个)。追加指定表明层是否共享参数的标志可以是有利的。

图44是示出适用于上述可扩展编解码器的图像编码处理的说明图。图44示出可扩展编码设备810的配置作为一个示例。可扩展编码设备810包含第一编码部820、第二编码部830和复用部840。

第一编码部820将基本层图像编码,并产生基本层的编码流。第二编码部830将增强层图像编码,并产生增强层的编码流。复用部840将从第一编码部820产生的基本层的编码流、和从第二编码部830产生的增强层的一个或多个编码流复用,以产生多层的复用流。

图44所示的第一编码部820和第二编码部830配置得类似于根据上述实施例的图像编码设备10。向各层适用去块滤波器能使对于垂直块边界和水平块边界的滤波需要确定处理并行化、或者滤波需要确定处理和滤波处理并行化。控制这些处理的参数可以插入至每个层的编码流的头部区、或者至复用流中的公共头部区。

图45是示出适用于上述可扩展编解码器的图像解码处理的说明图。图45示出可扩展解码设备860的配置作为一个示例。可扩展解码设备860包含解复用部870、第一解码部880和第二解码部890。

解复用部870将多层的复用流解复用为基本层的编码流、和一个或多个增强层的编码流。第一解码部880根据基本层的编码流将基本层图像解码。第二解码部890根据增强层的编码流将增强层图像解码。

图45所示的第一解码部880和第二解码部890配置得类似于根据上述实施例的图像解码设备60。向各层适用去块滤波器能使对于垂直块边界和水平块边界的滤波需要确定处理并行化、或者滤波需要确定处理和滤波处理并行化。控制这些处理的参数可以从每个层的编码流的头部区、或者从复用流中的公共头部区获取。

<7.示例应用>

根据上述实施例的图像编码设备10和图像解码设备60可以适用于各种电子电器,诸如卫星广播、有线电视等有线广播、互联网上的发布、经由蜂窝通信至终端的发布等的发射机和接收机,在诸如光盘、磁盘或者闪存存储器等介质上记录图像的记录设备,从这样的存储介质再现图像的再现设备等。下面说明4个示例应用。

[71.第一示例应用]

图46是示出采用上述的实施例的电视的概要配置的示例的框图。电视900包含天线901、调谐器902、解复用器903、解码器904、视频信号处理部905、显示部906、音频信号处理部907、扬声器908、外部接口909、控制部910、用户接口911和总线912。

调谐器902从经由天线901接收的广播信号提取期望的频道的信号,并将提取的信号解调。然后,调谐器902将由解调获得的编码比特流输出至解复用器903。调谐器902用作电视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根据从用户接口911输入的操作信号,例如通过执行程序来控制电视900的运行。

用户接口911被连接至控制部910。用户接口911例如包含由用户用于操作电视900的按钮和开关、以及用于遥控信号的接收部。用户接口911经由这些构成要素检测用户的操作,产生操作信号,并将产生的操作信号输出至控制部910。

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

在以该方式配置的电视900中,解码器904具有根据上述实施例的图像解码设备60的功能。从而,在电视900中的图像解码的情况下,也可以增强去块滤波器处理的并行度,并保证高速处理。

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

图47是示出采用上述的实施例的移动电话的概要配置的示例的框图。移动电话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.第三示例应用]

图48是示出采用上述的实施例的记录/再现设备的概要配置的示例的框图。记录/再现设备940例如对接收的广播节目的音频数据和视频数据编码并记录在记录介质。记录/再现设备940例如还可以对从另一设备获取的音频数据和视频数据编码并记录在记录介质。此外,记录/再现设备940例如根据用户的指令,使用监控器或者扬声器,再现记录在记录介质的数据。此时,记录/再现设备940将音频数据和视频数据解码。

记录/再现设备940包含调谐器941、外部接口942、编码器943、HDD(硬盘驱动器)944、盘驱动器945、选择器946、解码器947、OSD(On-Screen Display,屏幕上显示)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+、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.第四示例应用]

图49是示出采用上述的实施例的图像捕获设备的概要配置的示例的框图。图像捕获设备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可以在输出至显示部965的图像叠加从OSD 969获取的用于显示的数据。

OSD 969产生诸如菜单、按钮、光标等GUI的图像,并将产生的图像输出至图像处理部964。

外部接口966例如配置为USB输入/输出终端。外部接口966例如在打印图像时连接图像捕获设备960和打印机。另外,根据需要驱动器被连接至外部接口966。例如诸如磁盘、光盘等可移动介质被装载在驱动器上,从可移动的介质读出的程序可以安装在图像捕获设备960中。此外,外部接口966可以配置为连接至诸如LAN、互联网等网络的网络接口。即,外部接口966用作图像捕获设备960的发送装置。

装载在介质驱动器968的记录介质例如可以是任意可读和可写的可移动的介质,诸如磁盘、光磁盘、光盘或半导体存储器等。另外,记录介质例如可以固定地装载在例如配置为诸如内置硬盘驱动器或者SSD(固态驱动器)等非便携的存储部的介质驱动器968上。

控制部970包含诸如CPU等处理器和诸如RAM或者ROM等存储器。存储器存储由CPU执行的程序、程序数据等。例如在图像捕获设备960启动时,存储在存储器的程序被CPU读出并执行。CPU根据从用户接口971输入的操作信号,例如通过执行程序来控制图像捕获设备960的运行。

用户接口971被连接至控制部970。用户接口971例如包含用户用于操作图像捕获设备960的按钮、开关等。用户接口971经由这些构成要素检测用户的操作,产生操作信号,并将产生的操作信号输出至控制部970。

在以该方式配置的图像捕获设备960中,图像处理部964具有根据上述实施例的图像编码设备10和图像解码设备60的功能。从而,在图像捕获设备960中的图像解码和编码的情况下,能够增强去块滤波器处理的并行度,并保证高速处理。

<8.总结>

参考图1至49,已说明了根据实施例的、用于图像编码设备10和图像解码设备60的去块滤波器的3个工作例。3个工作例使用输入至去块滤波器的像素值来确定是否需要适用对于垂直边界和水平边界的去块滤波器。确定处理能够不依赖于于滤波处理结果而并行执行。宏块之间的处理的依赖性被消除,能使宏块的处理并行化。作为结果,可以避免由于去块滤波的处理量大而造成的延迟或者数据码率劣化,并保证高速处理。可以根据诸如图像尺寸或者安装环境等各种条件而灵活配置去块滤波器处理的并行度和顺序。

根据第一工作例,确定是否向垂直边界适用去块滤波器使用属于不适用对于水平边界的定义的行的像素的像素值。确定是否向水平边界适用去块滤波器使用属于不适用对于垂直边界的定义的行的像素的像素值。对块的滤波处理不更新用于对另一个块的滤波需要确定处理的像素值。即使对给定的块的滤波需要确定处理在对另一个块的滤波处理之后,输入至去块滤波器的像素值也不需要存储在额外的存储器中。这能够节省需要用于装置安装的硬件成本。

根据第二工作例,不由滤波处理更新的存储器存储输入至去块滤波器的像素值。滤波需要确定处理参考输入像素值。在这种情况下,滤波需要确定处理参考其位置不受限制的像素。这使得能够对诸如滤波必要性的更精确的确定或者以降低的处理成本确定等各种目的适当地使用灵活的确定条件。

根据第三工作例,对于垂直边界和水平边界的滤波器处理,对输入至去块滤波器的像素滤波。该配置能够使对于垂直边界和水平边界的滤波处理彼此并行化。这能够进一步加速去块滤波器的处理。对于由两个并行执行的滤波处理更新的像素,基于两个滤波器输出来计算输出像素值。并行化两个滤波处理还能够适当的减小在垂直边界和水平边界出现的块失真。输出像素值可以被计算为两个滤波器输出的加权平均。这能够允许去块滤波更有效消除块失真,并进一步改善图像质量。

本说明书主要说明的示例是对于垂直边界的滤波处理先于对于水平边界的滤波处理。此外,在对于水平边界的滤波处理先于对于垂直边界的滤波处理的情况同样能够获得根据本公开的技术的上述效果。去块滤波器处理单位或者宏块可以不同于在说明书中说明的尺寸。可用技术可以省略滤波需要确定处理,并且使对垂直边界和水平边界的去块滤波的应用并行化。

从编码侧向解码侧发送用于去块滤波处理并行化的信息的技术不限于将信息复用至编码流头部的技术。例如,信息可能无法复用至编码比特流,但是可以发送或者记录为与编码的比特流关联的分立的数据。术语“关联”表明保证将含在比特流的图像(或者诸如片或者块等图像的部分)与对应于图像的信息链接的可能性。即,信息可以在不同于用于图像(或者比特流)的发送路径上发送。信息可以记录在不同于用于图像(或者比特流)的记录介质(或者相同的记录介质的不同记录区)。信息和图像(或者比特流)可以基于诸如多个帧、一个帧、或者帧的一部分等任意单位互相关联。

虽然上述已参考附图说明了本发明的优选的实施例,但本发明当然不限于上述示例。本领域的技术人员在所附的权利要求的范围内可以发现各种变更和改良,应该理解的是其自然属于本发明的技术范围。

说明书将对于垂直边界的滤波处理表示为“水平滤波”,将对于水平边界的滤波处理表示为“垂直滤波”。一般而言,对于垂直边界的滤波处理使用水平配置的滤波器抽头。对于水平边界的滤波处理使用垂直配置的滤波器抽头。因此,对于滤波处理使用上述命名。

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