图像处理设备和图像处理方法

文档序号:7779356阅读:156来源:国知局
图像处理设备和图像处理方法
【专利摘要】本发明涉及图像处理设备和图像处理方法。提供一种图像处理设备,包括解码部件,所述解码部件被配置成从编码流中解码图像,水平滤波部件,所述水平滤波部件被配置成将去块滤波器应用于在将由解码部件解码的图像内的垂直块边界,垂直滤波部件,所述垂直滤波部件被配置成将去块滤波器应用于在将由解码部件解码的图像内的水平块边界,和控制部件,所述控制部件被配置成使水平滤波部件并行地滤波包括在包含多个编码单位的处理单位中的多个垂直块边界,和使垂直滤波部件并行地滤波包括在所述处理单位中的多个水平块边界。
【专利说明】图像处理设备和图像处理方法
[0001]本申请是2013年5月31日提交的发明名称为“图像处理设备和图像处理方法”的中国专利申请201180057796.9的分案申请。
【技术领域】
[0002]本公开涉及图像处理设备和图像处理方法。
【背景技术】
[0003]H.264/AVC(图像编码方案的标准规范之一),以均包含4X4像素的块为单位,将去块滤波器应用于块边界,以便避免在编码图像的时候,由块失真引起的图像质量降低。去块滤波器需要大量的处理,可能占到图像解码中的总处理量的50%。
[0004]高效视频编码(HEVC)(下一代图像编码方案)的标准化工作提出按照JCTVC-Al 19 (参见非专利文献I),以均包含8X8像素或者更多像素的块为单位,应用去块滤波器。在JCTVC-A119中提出的技术把块大小增大到允许应用去块滤波器的最小单位,以便对一个宏块内的相同方向的块边界,并行地进行滤波处理。
[0005]引文列表
[0006]非专利文献
[0007]非专利文献1:K.Ugur (Nokia) , K.R.Andersson (LM Ericsson),A.Fuldseth(Tandberg Telecom) , “JCTVC-Al19: Video coding technology proposalby Tandberg, Nokia, and Ericsson,,,Documents of the first meeting of the JointCollaborative Team on Video Coding(JCT-VC),Dresden, Germany, 15-23April, 2010。

【发明内容】

[0008]即使使用在JCTVC-A119中提出的技术,在对垂直块边界的处理和对水平块边界的处理之间仍然存在依存关系。具体地说,对一个宏块的垂直边界的处理要等到进行对邻近宏块的水平边界的处理为止。对一个宏块的水平边界的处理要等到进行对相同宏块的垂直边界的处理为止。上述技术只能程度非常有限地提供去块滤波器的并行处理。因而,上述技术不能成功解决由在应用去块滤波器时的较大处理量引起的延迟和数据速率的降低的问题。
[0009]按照本公开的技术目的在于提供一种能够在应用去块滤波器时,提供进一步的并行处理的图像处理设备和图像处理方法。
[0010]按照本公开的实施例,提供一种图像处理设备,包括解码部分,所述解码部分被配置成从编码流中解码图像,水平滤波部件,所述水平滤波部件被配置成将去块滤波器应用于在将由解码部分解码的图像内的垂直块边界,垂直滤波部件,所述垂直滤波部件被配置成将去块滤波器应用于在将由解码部分解码的图像内的水平块边界,和控制部分,所述控制部分被配置成使水平滤波部件并行地滤波包括在包含多个编码单位的处理单位中的多个垂直块边界,和使垂直滤波部件并行地滤波包括在所述处理单位中的多个水平块边界。[0011]典型地,该图像处理设备可被实现成对图像解码的图像解码设备。
[0012]按照本公开的实施例,提供一种图像处理方法,包括从编码流中解码图像,进行水平滤波,以把去块滤波器应用于在待解码的图像内的垂直块边界,进行垂直滤波,以把去块滤波器应用于在待解码的图像内的水平块边界,和控制水平滤波和垂直滤波,以致并行地滤波包括在包含多个编码单位的处理单位中的多个垂直块边界,和并行地滤波包括在所述处理单位中的多个水平块边界。
[0013]按照本公开的实施例,提供一种图像处理设备,包括水平滤波部件,所述水平滤波部件被配置成当编码待编码图像时,把去块滤波器应用于在要局部解码的图像内的垂直块边界,垂直滤波部件,所述垂直滤波部件被配置成把去块滤波器应用于所述图像内的水平块边界,控制部分,所述控制部分被配置成使水平滤波部件并行地滤波包括在包含多个编码单位的处理单位中的多个垂直块边界,和使垂直滤波部件并行地滤波包括在所述处理单位中的多个水平块边界,和编码部件,所述编码部件被配置成利用由水平滤波部件和垂直滤波部件滤波的图像,编码所述待编码图像。
[0014]典型地,该图像处理设备可被实现成对图像编码的图像编码设备。
[0015]按照本公开的实施例,提供一种图像处理方法,包括进行水平滤波,以便当编码待编码图像时,把去块滤波器应用于在要局部解码的图像内的垂直块边界,进行垂直滤波,以便把去块滤波器应用于所述图像内的水平块边界,控制水平滤波和垂直滤波,以便并行地滤波包括在包含多个编码单位的处理单位中的多个垂直块边界,和并行地滤波包括在所述处理单位中的多个水平块边界,和利用借助水平滤波和垂直滤波所滤波的图像,编码所述待编码图像。
[0016]如上所述,按照本公开的图像处理设备和图像处理方法还改善应用去块滤波器时的并行处理。
【专利附图】

【附图说明】
[0017]图1是表示按照实施例的图像编码设备的结构的例子的方框图。
[0018]图2是表示按照实施例的图像解码设备的结构的例子的方框图。
[0019]图3是表示边界周围的邻近像素的例子的说明图。
[0020]图4是图解说明按照现有技术的滤波需要判定处理期间的参考像素的说明图。
[0021]图5是图解说明利用滤波处理更新的像素的说明图。
[0022]图6是图解说明用于说明实施例的边缘的标识的说明图。
[0023]图7是图解说明按照现有技术的并行处理的说明图。
[0024]图8是图解说明按照现有技术的处理之间的依存关系的第一说明图。
[0025]图9是图解说明按照现有技术的处理之间的依存关系的第二说明图。
[0026]图10是图解说明按照现有技术的处理序列的说明图。
[0027]图11是图解说明按照第一示例的处理序列的说明图。
[0028]图12是图解说明按照第一实施例的去块滤波器的详细结构的方框图。
[0029]图13是图解说明判定部分的详细结构的方框图。
[0030]图14是图解说明切片边界周围的邻近块的说明图。
[0031]图15是图解说明每个切片的处理序列的第一个例子的说明图。[0032]图16是图解说明每个切片的处理序列的第二个例子的说明图。
[0033]图17是图解说明由变形例提供的判定技术的第一个和第二个例子的说明图。
[0034]图18是图解说明由变形例提供的判定技术的第三个和第四个例子的说明图。
[0035]图19是图解说明由变形例提供的判定技术的第五个和第六个例子的说明图。
[0036]图20是图解说明按照第一示例的去块滤波器的处理流程的流程图。
[0037]图21是图解说明滤波需要判定处理的流程的流程图。
[0038]图22是图解说明按照第二示例的处理序列的说明图。
[0039]图23是图解说明按照第二示例的去块滤波器的详细结构的方框图。
[0040]图24是图解说明按照第二示例的去块滤波器的处理流程的流程图。
[0041]图25是图解说明每个CLU的处理序列的说明图。
[0042]图26是图解说明每个IXU的处理流程的流程图。
[0043]图27是图解说明第三示例的概况的说明图。
[0044]图28是图解说明按照第三示例的去块滤波器的详细结构的方框图。
[0045]图29是图解说明加权平均值的权重的确定的说明图。
[0046]图30是图解说明加权平均值的权重的例子的说明图。
[0047]图31是图解说明按照第三示例的计算部分的输出像素值的说明图。
[0048]图32是图解说明用于比较的处理序列的第一个例子的说明图。
[0049]图33是图解说明由第三示例提供的处理序列的第一个例子的说明图。
[0050]图34是图解说明用于比较的处理序列的第二个例子的说明图。
[0051]图35是图解说明由第三示例提供的处理序列的第二个例子的说明图。
[0052]图36是图解说明按照第三示例的去块滤波器的处理流程的第一个例子的流程图。
[0053]图37是图解说明图36中所示的像素值计算处理的流程的流程图。
[0054]图38是图解说明多视图编解码器的说明图。
[0055]图39是图解说明按照实施例的应用于多视图编解码器的图像编码处理的说明图。
[0056]图40是图解说明按照实施例的应用于多视图编解码器的图像解码处理的说明图。
[0057]图41是图解说明可扩展编解码器的说明图。
[0058]图42是图解说明按照实施例的应用于可扩展编解码器的图像编码处理的说明图。
[0059]图43是图解说明按照实施例的应用于可扩展编解码器的图像解码处理的说明图。
[0060]图44是图解说明电视机的示意结构的方框图。
[0061]图45是图解说明移动电话机的示意结构的方框图。
[0062]图46是图解说明记录/再现设备的示意结构的方框图。
[0063]图47是图解说明摄像设备的示意结构的方框图。
【具体实施方式】[0064]下面参考附图,详细说明本发明的优选实施例。注意在说明书和附图中,功能和结构基本相同的元件用相同的附图标记表示,重复的说明被省略。
[0065]将按照以下顺序说明【具体实施方式】。
[0066]1.设备概况
[0067]1-1.图像编码设备
[0068]1-2.图像解码设备
[0069]2.现有技术
[0070]2-1.去块滤波器的基本结构
[0071]2-2.按照现有技术的处理之间的依存关系
[0072]3.第一实施例
[0073]3-1.去块滤波器结构例子
[0074]3-2.判定条件变形例
[0075]3-3.处理流程
[0076]4.第二实施例
[0077]4-1.去块滤波器结构例子
[0078]4-2.处理流程
[0079]4-3.每个IXU的处理例子
[0080]5.第三实施例
[0081]5-1.概况
[0082]5-2.去块滤波器结构例子
[0083]5-3.处理序列例子
[0084]5-4.处理流程
[0085]6.对各种编解码器的应用
[0086]6-1.多视图编解码器
[0087]6-2.可扩展编解码器
[0088]7.例证应用
[0089]8.总结
[0090]1.设备概况
[0091]参见图1和2,下面说明在本说明书中公开的技术适用于的设备的概况。在本说明书中公开的技术适用于图像编码设备和图像解码设备。
[0092][1-1.图像编码设备]
[0093]图1是表示按照实施例的图像编码设备10的结构的例子的方框图。参见图1,图像编码设备10包括A/D (模-数)转换部分11、重排缓冲器12、减法部分13、正交变换部分14、量化部分15、无损编码部件16、累积缓冲器17、速率控制部分18、逆量化部分21、逆正交变换部分22、加法部分23、去块滤波器24a、帧存储器25、选择器26、帧内预测部分30、运动估计部分40和模式选择部分50。
[0094]A/D转换部分11把按模拟格式输入的图像信号转换成数字格式的图像数据,然后把一系列的数字图像数据输出给重排缓冲器12。
[0095]重排缓冲器12重排包含在从A/D转换部分11输入的一系列图像数据中的图像。在按照与编码处理相应的GOP (图像组)结构,重排图像之后,重排缓冲器12把已重排的图像数据输出给减法部分13、帧内预测部分30和运动估计部分40。
[0096]从重排缓冲器12输入的图像数据和由后面说明的模式选择部分50选择的预测图像数据被提供给减法部分13。减法部分13计算预测误差数据,预测误差数据是从重排缓冲器12输入的图像数据和从模式选择部分50输入的预测图像数据之间的差分,并把计算的预测误差数据输出给正交变换部分14。
[0097]正交变换部分14对从减法部分13输入的预测误差数据进行正交变换。正交变换部分14进行的正交变换例如可以是离散余弦变换(DCT)或者Karhunen-Loeve变换。正交变换部分14把通过正交变换处理获得的变换系数数据,输出给量化部分15。
[0098]从正交变换部分14输入的变换系数数据和来自后面说明的速率控制部分18的速率控制信号被提供给量化部分15。量化部分15量化变换系数数据,把已被量化的变换系数数据(下面称为量化数据)输出给无损编码部件16和逆量化部分21。另外,量化部分15根据来自速率控制部分18的速率控制信号,切换量化参数(量化规模),从而改变将输入无损编码部件16的量化数据的比特率。
[0099]从量化部分15输入的量化数据,和后面说明的由帧内预测部分30或运动估计部分40产生,并由模式选择部分50选择的关于帧内预测或帧间预测的信息被提供给无损编码部件16。关于帧内预测的信息可包括指示每个块的最佳帧内预测模式的预测模式信息。另外,关于帧间预测的信息例如可包括用于预测每个块的运动矢量的预测模式信息,差分运动矢量信息,参考图像信息等等。
[0100]无损编码部件16通过对量化数据进行无损编码处理,产生编码流。无损编码部件16的无损编码例如可以是变长编码或算术编码。此外,无损编码部件16把上面提及的关于帧内预测的信息,或者关于帧间预测的信息多路复用到编码流的报头(例如,块报头、切片报头等)。随后,无损编码部件16把产生的编码流输出给累积缓冲器17。
[0101]累积缓冲器17利用诸如半导体存储器之类的存储介质,临时保存从无损编码部件16输入的编码流。随后,累积缓冲器17以与传输线路(或者出自图像编码设备10的输出线路)的频带相应的速率,输出累积的编码流。
[0102]速率控制部分18监测累积缓冲器17的空闲空间。随后,速率控制部分18按照累积缓冲器17上的空闲空间,产生速率控制信号,把产生的速率控制信号输出给量化部分
15。例如,当在累积缓冲器17上没有大量的空闲空间时,速率控制部分18产生降低量化数据的比特率的速率控制信号。另外,例如,当累积缓冲器17上的空闲空间足够大时,速率控制部分18产生增大量化数据的比特率的速率控制信号。
[0103]逆量化部分21对从量化部分15输入的量化数据,进行逆量化处理。随后,逆量化部分21把通过逆量化处理获得的变换系数数据输出给逆正交变换部分22。
[0104]逆正交变换部分22对从逆量化部分21输入的变换系数数据,进行逆正交变换处理,从而恢复预测误差数据。随后,逆正交变换部分22把恢复的预测误差数据输出给加法部分23。
[0105]加法部分23相加从逆正交变换部分22输入的恢复的预测误差数据,和从模式选择部分50输入的预测图像数据,从而产生解码图像数据。随后,加法部分23把产生的解码图像数据输出给去块滤波器24a和帧存储器25。[0106]去块滤波器24a进行滤波处理,以减小在图像编码期间发生的块失真。例如,去块滤波器24a对于从加法部分23供给的解码图像数据的每个块边界,判定滤波的必要性,把去块滤波器应用于被确定需要滤波器的边界。去块滤波器24a还被供给用于判定滤波必要性的信息(例如,模式信息、变换系数信息和运动矢量信息),以及来自加法部分23的解码图像数据。在滤波之后,块失真从解码图像数据中被除去,去块滤波器24a把解码图像数据输出给帧存储器25。去块滤波器24a的处理将在后面详细说明。
[0107]帧存储器25利用存储介质,保存从加法部分23输入的解码图像数据,和从去块滤波器24a输入的滤波后的解码图像数据。
[0108]选择器26从帧存储器25读取将用于帧内预测的滤波前的解码图像数据,并把读取的解码图像数据作为参考图像数据,提供给帧内预测部分30。另外,选择器26从帧存储器25读取将用于帧间预测的滤波后的解码图像数据,并把读取的解码图像数据作为参考图像数据,提供给运动估计部分40。
[0109]帧内预测部分30根据从重排缓冲器12输入的待编码图像数据,和经选择器26供给的解码图像数据,按照每种帧内预测模式进行帧内预测处理。例如,帧内预测部分30利用预定的成本函数,评估每种帧内预测模式的预测结果。随后,帧内预测部分30选择使成本函数值最小的帧内预测模式,即,使压缩比最高的帧内预测模式,作为最佳的帧内预测模式。此外,帧内预测部分30把指示最佳的帧内预测模式的预测模式信息,预测图像数据,和诸如成本函数值之类的关于帧内预测的信息,输出给模式选择部分50。
[0110]运动估计部分40根据从重排缓冲器12供给的编码用图像数据,和经选择器26供给的解码图像数据,进行帧间预测处理(帧间的预测处理)。例如,运动估计部分40利用预定的成本函数,评估每种预测模式的预测结果。随后,运动估计部分40选择最佳的预测模式,即,使成本函数值达到最小,或者使压缩比达到最大的预测模式。运动估计部分40按照最佳预测模式,产生预测图像数据。运动估计部分40把诸如指示最佳的帧内预测模式的预测模式信息、预测图像数据和成本函数值之类的关于帧间预测的信息,输出给模式选择部分50。
[0111]模式选择部分50比较从帧内预测部分30输入的与帧内预测相关的成本函数值,和从运动估计部分40输入的与帧间预测相关的成本函数值。随后,模式选择部分50从帧内预测和帧间预测中,选择成本函数值较小的预测方法。在选择帧内预测的情况下,模式选择部分50把关于帧内预测的信息输出给无损编码部件16,另外,把预测图像数据输出给减法部分13和加法部分23。此外,在选择帧间预测的情况下,模式选择部分50把上面说明的关于帧间预测的信息输出给无损编码部件16,另外把预测图像数据输出给减法部分13和加法部分23。
[0112][1-2.图像解码设备]
[0113]图2是表示按照实施例的图像解码设备60的结构例子的方框图。参见图2,图像解码设备60包括累积缓冲器61、无损解码部分62、逆量化部分63、逆正交变换部分64、力口法部分65、去块滤波器24b、重排缓冲器67、D/A (数-模)转换部分68、帧存储器69、选择器70和71、帧内预测部分80和运动补偿部分90。
[0114]累积缓冲器61利用存储介质,临时保存经传输线路输入的编码流。
[0115]无损解码部分62按照在编码时使用的编码方法,解码从累积缓冲器61输入的编码流。另外,无损解码部分62解码多路复用到编码流的报头区的信息。多路复用到编码流的报头区的信息例如可包括块报头中的关于帧内预测的信息和关于帧间预测的信息。无损解码部分62把关于帧内预测的信息输出给帧内预测部分80。另外,无损解码部分62把关于帧间预测的信息输出给运动补偿部分90。
[0116]逆量化部分63逆量化已由无损解码部分62解码的量化数据。逆正交变换部分64通过按照在编码时使用的正交变换方法,对从逆量化部分63输入的变换系数数据进行逆正交变换,产生预测误差数据。随后,逆正交变换部分64把产生的预测误差数据输出给加法部分65。
[0117]加法部分65相加从逆正交变换部分64输入的预测误差数据和从选择器71输入的预测图像数据,从而产生解码图像数据。随后,加法部分65把产生的解码图像数据输出给去块滤波器24b和帧存储器69。
[0118]去块滤波器24b进行滤波处理,以减小出现在解码图像上的块失真。去块滤波器24b例如对于从加法部分65输入的解码图像数据,确定在每个块边界滤波的必要性,并把去块滤波器应用于被确定需要滤波器的边界。去块滤波器24b还被供给用于滤波必要性的确定的信息,以及来自加法部分65的解码图像数据。在滤波之后,块失真从解码图像数据中被除去,去块滤波器24b把解码图像数据输出给重排缓冲器67和帧存储器69。去块滤波器24b的处理将在后面详细说明。
[0119]重排缓冲器67通过重排从去块滤波器24b输入的图像,按照时间顺序产生一系列的图像数据。随后,重排缓冲器67把产生的图像数据输出给D/A转换部分68。
[0120]D/A转换部分68把从重排缓冲器67输入的数字格式的图像数据转换成模拟格式的图像信号。随后,例如通过把模拟图像信号输出给连接到图像解码设备60的显示器(未示出),D/A转换部分68使图像被显示。
[0121]帧存储器69利用存储介质保存从加法部分65输入的滤波前的解码图像数据,和从去块滤波器24b输入的滤波后的解码图像数据。
[0122]选择器70按照无损解码部分62获得的模式信息,为图像中的每个块,在帧内预测部分80和运动补偿部分90之间切换来自帧存储器69的图像数据的输出目的地。例如,在指定帧内预测模式的情况下,选择器70把从帧存储器69供给的滤波前的解码图像数据,作为参考图像数据输出给帧内预测部分80。另外,在指定帧间预测模式的情况下,选择器70把从帧存储器69供给的滤波后的解码图像数据,作为参考图像数据输出给运动补偿部分90。
[0123]选择器71按照无损解码部分62获得的模式信息,为图像中的每个块,在帧内预测部分80和运动补偿部分90之间,切换待供给加法部分65的预测图像数据的输出源。例如,在指定帧内预测模式的情况下,选择器71把从帧内预测部分80输出的预测图像数据提供给加法部分65。在指定帧间预测模式的情况下,选择器71把从运动补偿部分90输出的预测图像数据提供给加法部分65。
[0124]帧内预测部分80根据从无损解码部分62输入的关于帧内预测的信息,和来自帧存储器69的参考图像数据,进行像素值的画面中(in screen)预测,产生预测图像数据。随后,帧内预测部分80把产生的预测图像数据输出给选择器71。
[0125]运动补偿部分90根据从无损解码部分62输入的关于帧间预测的信息,和来自帧存储器69的参考图像数据,进行运动补偿处理,产生预测图像数据。随后,运动补偿部分90把产生的预测图像数据输出给选择器71。
[0126]〈2.现有技术〉
[0127][2-1.去块滤波器的基本结构]
[0128]通常,诸如H.264/AVC或者HEVC之类的现有图像编码方案中的利用去块滤波器的处理包括两种处理,即,滤波需要判定处理和滤波处理。例如,下面说明HEVC中的这两种处理。
[0129](I)滤波需要判定处理
[0130]滤波需要判定处理判定是否需要对输入图像内的各个块的每个边界应用去块滤波器。块边界包括彼此水平相邻的各个块之间的垂直边界,和彼此垂直相邻的各个块之间的水平边界。JCTVC-A119利用8X8像素的块大小作为最小处理单位。例如,16X16像素的宏块包括8X8像素的4个块。对每个块的一个(左)垂直边界和一个(上)水平边界,即,4个边界加上4个边界合计等于8个边界,应用该处理。本说明书假定作为技术术语的宏块包括在HEVC的上下文中的编码单位(⑶)。
[0131] 图3是表示在边界周围,彼此相邻的两个块(邻近块)Ba和Bb中的像素的例子的说明图。下面举例说明垂直边界,该说明显然适用于水平边界。图3中的例子利用符号pu表示块Ba中的像素。在该符号中,i表示列索引,j表示行索引。从最接近垂直边界的列开始,顺序地(从右到左)把列索引i编号为0、1、2和3。从上到下,把行索引j编号为O、
1、2、…、7。图中省略了块Ba的左半部。符号qkj用于表不块Bb中的像素。在该符号中,k表示列索引,j表示行索引。从最接近垂直边界的列开始,顺序地(从左到右)把列索引k编号为0、1、2和3。图中省略了块Bb的右半部。
[0132]可以利用以下条件来确定把去块滤波器应用于图3中所示的块Ba和Bb之间的垂直边界的必要性。
[0133]亮度分量(Luma)的判定条件…如果条件A和B都为真,那么应用去块滤波器。
[0134]条件A:
[0135](Al)块Ba或Bb进入帧内预测模式;
[0136](A2)块Ba或Bb具有非零正交变换系数;或者
[0137](A3) I MVAx-MVBx I ≥ 4 或者 | MVAy-MVByI ≥ 4
[0138]条件B:
[0139]| p22_2p12+p021 + | q22_2q12+q021 + | p25_2p15+p051 + | q25_2q15+q051〈 β
[0140]条件A3按照Qpel (1/4像素)精度,假定块Ba的运动矢量为(MVAx,MVAy),块Bb的运动矢量为(MVBx,MVBy)。条件B利用β作为边缘判定阈值。按照量化参数,给出β的初始值。用户可利用在切片报头内的参数,指定β的值。
[0141]色度分量(Chroma)的判定条件…如果条件Al为真,那么应用去块滤波器。
[0142]条件Al:块Ba或Bb进入帧内预测模式。
[0143]如用图4中的虚线框L3和L6所示,对于一般的垂直边界的滤波需要判定处理(特别是按照亮度分量的判定条件B)参考在每个块中的第三行和第六行(假定最上面的一行是第一行)上的像素。类似地,对水平边界的滤波需要判定处理参考在每个块中的第三列和第六列上的像素(图4中未示出)。上述判定条件被用于确定去块滤波器需要被应用于对其进行下述滤波处理的边界。
[0144](2)滤波处理
[0145]如果确定需要对边界应用去块滤波器,那么对在垂直边界左右两侧的像素,和在水平边界上下两侧的像素进行滤波处理。关于亮度分量,按照像素值,在强滤波器和弱滤波器之间切换滤波器强度。
[0146]滤波亮度分量
[0147]选择强度…为每行或每列选择滤波器强度。如果以下条件C1-C3都被满足,那么选择强滤波器。如果以下条件任意之一不被满足,那么选择弱滤波器。
[0148](Cl)d〈(3>>2)
[0149](C2) (I p3J-p0j I +1 q0j_q3j I)〈( β ?3)
[0150](C3) |pQj-qQj|〈((5tc+l)》l)
[0151]其中j表不垂直边界的行索引,或者水平边界的列索引。d= I p22_2p12+pQ21 +1 q22_2q12+Qo2 I + I Ρ25_2ρι5+Ρθ5 I + I Q25_2q15+q05 I。
[0152]弱滤波
[0153]Δ =Clip (-tc, tc, (13 (q0J-p0J) +4 (Qlj-Plj) ~5 (q2J-p2J) +16) ?5))
[0154]Poj=Cl ip0_255 (Poj+Δ)
[0155]q0J=Clip0_255 (q0J-A)
[0156]Plj=CliP0^255 (Plj+Δ/2)
[0157]Qlj=Cl ?ρ0_255 (αυ.-Δ/2)
[0158]强滤波
[0159]Poj=Cl ip0_255 ((ρ2?.+2ρυ+2ρ0?.+2α0?.+αυ+4) ?3)
[0160]q0J=Cl ip0_255 ((P1^PtlPqtlPq1 j+q2j+4) ?3)
[0161 ] Plj=Cl ip0_255 ( (P2j^P1 j+p0j+q0j+2) ?2)
[0162]Qij-Cl iPo-255 ((Poj+Qoj+qij+Q2j+2)〉〉2)
[0163]P2j=Cl ip0_255 ((2P3J+3P2J+P!j+Poj+qQj+4) ?3)
[0164]q2J=Cl ip0_255 ((PoJ+qoJ+qiJ+3q2J+2q3J+4) ?3)
[0165]其中,Clip(a, b, c)表示将值c箝位在范围a < c < b内的处理,ClipQ_255 (c)表示将值c箝位在范围O≤c≤255内的处理。
[0166]滤波色度分量
[0167]Δ =Clip (-tc, tc, ((((q0J-p0J) ?2) +Pu-qu+4) ?3))
[0168]Poj=Cl ip0_255 (Poj+Δ)
[0169]q0J=Clip0_255 (q0J-A)
[0170]如用图5中的虚线框C6-C8和C1-C3所示,对于一般的垂直边界的滤波处理(尤其是对于亮度分量的强滤波)更新在每个块中的第一列到第三列,和第六列到第八列上的像素值。类似地,对于水平边界的滤波处理更新在每个块中的第一行到第三行,和第六行到第八行上的像素值。
[0171][2-2.按照现有技术的处理之间的依存关系]
[0172]为了说明起见,如图6中所示,都具有16父16像素的大小的宏块1^_0、1^1...)包括表示成Vx, O的左上垂直边界,表示成Vx, I的中上垂直边界,表示成Vx, 2的左下垂直边界,表示成Vx,3的中下垂直边界,表示成Hx,O的左上水平边界,表示成Hx, I的右上水平边界,表示成Hx, 2的左中水平边界,和表示成Hx, 3的右中水平边界。关于边界Z,例如,滤波需要判定处理被表示成Jz,而滤波处理被表示成Fz。
[0173]上述现有技术导致在一个宏块内,关于相同方向的边界的处理之间,不存在任何依存关系。于是,该技术能够在一个宏块内,对垂直边界和水平边界进行并行滤波。例如,图7清楚地表示在宏块MBO内,在4个滤波处理Fvtltl, Fvo;1, Fv0j2和Fvcu之间,不存在依存关系(没有像素被重复更新),可以并行地进行滤波处理。
[0174]然而,上述现有技术遗留对于垂直边界的滤波处理和对于水平边界的滤波需要判定处理之间的依存关系。该现有技术还遗留对于水平边界的滤波处理和对于垂直边界的滤波需要判定处理之间的依存关系。例如,如果在水平边界之前处理垂直边界,那么需要在终止对于垂直边界的滤波处理之后,对给定宏块内的水平边界进行滤波需要判定处理。例如,图8表示在宏块MBO内,滤波需要判定处理Jmci取决于滤波处理Fmtl和Fvtl!的结果,滤波需要判定处理Jhcu取决于滤波处理Fvcu的结果。类似地,需要在对相邻宏块的水平边界的滤波处理终止之后,对给定宏块内的垂直边界进行滤波需要判定处理。例如,图9表示对于宏块MBl的滤波需要判定处理JviJ取决于对于宏块MBO的滤波处理!和Fhcu的结果,对于宏块MBl的滤波需要判定处理JV1,2取决于对于宏块MBO的滤波处理Fhcu的结果。
[0175]现有技术涉及处理之间的依存关系,于是即使利用在JCTVC-A119中提出的技术,也能够程度非常有限地提供去块滤波器的并行处理。
[0176]图10是图解说明按照现有技术的去块滤波器处理的序列的说明图。本例假定去块滤波器被供给大小为32X32像素的图像。输入的图像包括4个宏块MB0-MB3,每个宏块具有16X16像素的大小。
[0177]在图10中,每个虚线框代表将并行进行的处理。例如,第一步骤对宏块MBO中的4个垂直边界,并行地进行滤 波需要判定处理Jvtltl, Jv0j1, Jvoj2和JVcu。第二步骤对宏块MBO中的4个垂直边界,并行地进行滤波处理Fmtl, FV(U,FV0,2FV0,3°在第二步骤终止之后,第三步骤对宏块MBO中的4个水平边界,并行地进行滤波需要判定处理Jhc^ Jho,!, Jhoj2和‘3。第三步骤把在第二步骤关于垂直边界的滤波处理之后的像素值,用于对水平边界的滤波需要判定处理。第四步骤对宏块MBO中的4个水平边界,并行地进行滤波处理Fmtl, Fhcu, Fho, 2和Fho,3ο在第四步骤终止之后,相继进行对于宏块MBl的处理(第五步骤到第八步骤)。第五步骤把在第四步骤关于宏块MBO水平边界的滤波处理之后的像素值,用于对宏块MBl的垂直边界的滤波需要判定处理。在终止对于宏块MBl的处理之后,相继进行对于宏块MB2的处理(第九步骤到第十二步骤)。在终止对于宏块MB2的处理之后,相继进行对于宏块MB3的处理(第十三步骤到第十六步骤)。
[0178]程度有限的这种并行处理不能令人满意地解决由当应用去块滤波器时的较大处理量引起的延迟或数据速率的降低的问题。下面说明的3个实施例进一步改善当应用去块滤波器时的并行处理。
[0179]〈3.第一实施例〉
[0180][3-1.去块滤波器结构例子]
[0181]下面说明按照第一实施例,图1中所示的图像编码设备10的去块滤波器24a,和图2中所示的图像解码设备60的去块滤波器24b的例证结构。去块滤波器24a和去块滤波器24b的结构可以彼此相同。在下面的说明中,当不需要相互区分去块滤波器24a和去块滤波器24b时,它们都被统称为去块滤波器24。
[0182](I)新处理之间的依存关系
[0183]按照本实施例,利用去块滤波器24的处理还包括两种处理,即,滤波需要判定处理和滤波处理。在关于垂直边界和水平边界之一的滤波需要判定处理中,去块滤波器24跨越多个宏块地把输入去块滤波器的图像的像素值用于所述判定。例如,如果垂直边界在水平边界之前被处理,那么去块滤波器24可以对特定块的垂直边界进行滤波需要判定处理,而不必等待对于相邻块的水平边界的滤波处理。如果水平边界在垂直边界之前被处理,那么去块滤波器24可对特定块的水平边界进行滤波需要判定处理,而不必等待对于相邻块的水平边界的滤波处理。结果将减轻宏块之间的处理的依存关系。 [0184]减轻宏块之间的处理的依存关系能够在图像内的多个宏块之间,使处理并行。例如,这使得能够对输入图像内的所有块的垂直边界,并行地进行滤波需要判定处理。这还使得能够对输入图像内的所有块的水平边界,并行地进行滤波需要判定处理。
[0185]图11是图解说明可用于本实施例的处理序列的说明图。本例还假定去块滤波器被供给大小为32X32像素的图像。该输入图像包括大小均为16X16像素的4个宏块MB0-MB3。
[0186]在图11中,每个虚线框代表将并行进行的处理。虽然对于处理序列,图10中的例子需要16个处理步骤,不过,图11中的例子把相同数目的处理集合成4个处理步骤。第一步骤对所有宏块MB0-MB3的所有垂直边界和所有水平边界,并行地进行滤波需要判定处理Jvo,o~3和Jmo~JH3,3。第二步骤对所有宏块MB0-MB3的16个垂直边界,并行地进行滤波处理Fvtltl~FV3,3。第三步骤对所有宏块MB0-MB3的所有水平边界,并行地进行滤波需要判定处理Fhc^ci~FH3,3。第四步骤对所有宏块MB0-MB3的16个水平边界,并行地进行滤波处理Fm。~FH3,3。如果在垂直边界之前处理水平边界,那么第三步骤和第四步骤可在第一步骤和第二步骤之前。
[0187]图11提供通过在图像中的所有宏块内使处理并行,使并行度(并行进行的处理)达到最大的例子。然而不限于本例,可在一些宏块内,而不是在图像中的所有宏块中,使处理并行。
[0188](2)去块滤波器的详细结构
[0189]图12是图解说明按照第一实施例的进行上述并行处理的去块滤波器24的详细结构的方框图。参见图12,去块滤波器24包括垂直判定部件110、水平判定部件114、水平滤波部件130、垂直滤波部件140和并行化控制部分150。
[0190](2-1)垂直判定部件
[0191]垂直判定部件110包括多个垂直边界判定部分112-1~112-n。每个垂直边界判定部分112被供给输入去块滤波器24的图像,和用于判定是否需要滤波的判定信息。
[0192]垂直边界判定部分112-1~112-n通过跨图像内的多个宏块地利用输入去块滤波器24的图像的像素值,判定是否把去块滤波器应用于垂直边界。每个垂直边界判定部分112向水平滤波部件130提供指示关于每个垂直边界的判定结果的信息,比如指示值“I”强制去块滤波器的应用的判定结果的二进制信息。
[0193](2-2)水平滤波部件[0194]水平滤波部件130包括多个水平滤波部件132-1?132_n。每个水平滤波部件132被供给输入的图像,和来自垂直判定部件110的关于每个垂直边界的判定结果。
[0195]来自对应的垂直边界判定部分112的判定结果可指示需要应用滤波器。在这种情况下,每个水平滤波部件132把关于该垂直边界的去块滤波器应用于在该垂直边界左右两侧的元素。每个水平滤波部件132向水平判定部件114和垂直滤波部件140提供关于应用滤波器的像素的滤波后像素值,和关于其它像素的输入图像的像素值。
[0196](2-3)水平判定部件
[0197]水平判定部件114包括多个水平边界判定部分116-1?116_n。每个水平边界判定部分116被供给在由水平滤波部件130进行滤波之后的像素值,和用于判定是否需要滤波的判定信息。
[0198]水平边界判定部分116-1?116-n通过跨图像内的多个宏块,利用在由水平滤波部件130进行滤波之后的像素值,判定是否对水平边界应用去块滤波器。每个水平边界判定部分116把指示关于每个水平边界的判定结果的信息,提供给垂直滤波部件140。
[0199](2-4)垂直滤波部件
[0200]垂直滤波部件140包括多个垂直滤波部件142-1?142_n。每个垂直滤波部件142被供给在由水平滤波部件130进行滤波之后的像素值,和来自水平判定部件114的关于每个水平边界的判定结果。
[0201]来自对应的水平边界判定部分116的判定结果可指示需要应用该滤波器。在这种情况下,每个垂直滤波部件142把关于该水平边界的去块滤波器应用于在该水平边界上下两侧的元素。每个垂直滤波部件142向应用滤波器的像素供给滤波后的像素值,向其它像素供给从水平滤波部件130提供的像素值。来自每个垂直滤波部件142的输出可构成来自去块滤波器24的输出图像。
[0202](3)判定部分的更详细结构
[0203]图13是图解说明每个垂直边界判定部分112和水平边界判定部分116的详细结构的方框图。参见图13,每个判定部分包括抽头构成部分121、计算部分122、阈值比较部分123、失真评估部分124和滤波判定部分125。
[0204]抽头构成部分121从输入图像中的跨越关注的边界相邻的两个块的像素值中,获得参考像素值,并构成确定上述亮度分量的判定条件B的抽头(一组参考像素值)。例如,在大小都为8X8像素的块中,可关注垂直边界。这种情况下,抽头构成部分121根据属于在左右两侧的两个块的第三行和第六行的像素值,构成抽头。如果关注水平边界,那么抽头构成部分121可根据属于在上下两侧的两个块的第三列和第六列的像素值,构成抽头。计算部分122把利用抽头构成部分121构成的抽头赋给判定条件B中的判定表达式的左侧,并计算将与边缘判定阈值β比较的边缘值。阈值比较部分123比较计算部分122计算的值和边缘判定阈值β,并把比较结果输出给滤波判定部分125。
[0205]失真评估部分124利用作为判定信息供给的模式信息(MB模式)、变换系数信息和运动矢量信息,评估上述亮度分量的判定条件Α。失真评估部分124把评估结果输出给滤波判定部分125。失真评估部分124根据模式信息,只评估色度分量的判定条件Al。
[0206]滤波判定部分125根据从阈值比较部分123供给的判定条件B的比较结果,和从失真评估部分124供给的判定条件A的评估结果,判定是否对关注的边界应用去块滤波器。滤波判定部分125输出指示判定结果的信息。
[0207](4)并行化控制部分
[0208]图12中所示的并行化控制部分150控制垂直判定部件110和水平判定部件114中的滤波需要判定处理的并行度,以及水平滤波部件130和垂直滤波部件140中的滤波处理的并行度。
[0209]例如,并行化控制部分150可根据输入的图像大小,控制每个块的处理的并行度。更具体地,如果输入的图像大小较大,那么并行化控制部分150增大每个块的处理的并行度。这可自适应地防止由与图像大小相应地增大的处理量引起的延迟或数据速率的降低。例如,并行化控制部分150可根据序列参数组、图片参数组、或者包含在切片报头中的参数,控制每个块的处理的并行度。这使得能够按照开发设备的用户的要求,灵活地配置并行度。例如,可按照对安装环境的限制,比如处理器核的数目,或者软件线程的数目,配置并行度。
[0210]本实施例能够使宏块间的处理并行。这意味对于图像内的各个块的任何处理序列对最终的输出结果没有影响。因而,并行化控制部分150能够基于块地控制垂直判定部件110和水平判定部件114中的滤波需要判定处理序列,和水平滤波部件130和垂直滤波部件140中的滤波处理序列。
[0211]更具体地,并行化控制部分150可按照宏块之间的滤波处理的依存关系,控制滤波处理序列。例如,按照现有技术,在切片边界周围的邻近宏块之间的处理的依存关系会延迟对图像内的每个切片的并行处理。然而,按照本实施例的并行化控制部分150能够在其它宏块之前,对在切片边界周围的邻近宏块进行滤波处理。
[0212]例如,图14图解说明切片边界周围的8个宏块MB10-MB13和MB20-MB23。宏块MB10-MB13属于切片SL1。宏块MB20-MB23属于切片SL2。就这些宏块来说,对于切片SL2中的宏块MB20上的水平边界的滤波处理取决于对于切片SLl中的宏块MB12上的垂直边界的滤波处理。类似地,对于切片SL2中的宏块MB21上的水平边界的滤波处理取决于对于切片SLl中的宏块MB13上的垂直边界的滤波处理。
[0213]在这些条件下,按照图15中的例子,并行化控制部分150优先于对其它边界的处理,进行关于切片SLl的滤波处理中的对宏块MB12和MB13的垂直边界的滤波处理。结果将防止在关于切片SL2的滤波处理中的对宏块MB20和MB21的水平边界的滤波处理中,出现较大的延迟。图16中的例子最初对包含在切片SLl中的所有宏块的垂直边界,并行地进行滤波处理。另外在这种情况下,在对于切片SL2中的宏块MB20和MB21的水平边界的滤波处理中,不出现任何延迟。
[0214][3-2.判定条件变形例]
[0215]如上所述,类似于在图4中图解说明的现有技术,每个垂直边界判定部分112参考与块中的第三行和第六行对应的像素,并对于每个块的垂直边界,判定是否需要滤波。同样地,每个水平边界判定部分116参考与块中的第三列和第六列对应的像素,并对于每个块的水平边界,判定是否需要滤波。在这种情况下,能够容易地实现按照本实施例的结构,而不改变为现有设备提供的滤波需要判定处理的判定条件。
[0216]每个垂直边界判定部分112和每个水平边界判定部分116可利用与现有技术不同的判定条件,进行判定。例如,每个垂直边界判定部分112可参考与块中的3列或者更多列对应的像素。每个水平边界判定部分116可参考与块中的3列或者更多列对应的像素。另外,每个垂直边界判定部分112和每个水平边界判定部分116可利用和现有技术不同的判定条件表达式。参见图17-19,下面说明按照本实施例的判定技术的6个例子。
[0217](I)第一个例子
[0218]图17是图解说明判定技术的第一个和第二个例子的说明图。在第一个和第二个例子中,关于垂直边界的滤波需要判定处理(特别地,把判定条件B用于亮度分量的判定)参考每个块中的从第一行到第八行的所有各行L1-L8的像素。关于水平边界的滤波需要判定处理同样参考每个块中的从第一列到第八列的所有各列的像素。
[0219]第一个例子可如下定义亮度分量的判定条件。
[0220]亮度分量(Luma)的判定条件…如果条件A和条件B都为真,那么应用去块滤波器。
[0221]条件A:
[0222](Al)块Ba或Bb都进入帧内预测模式;
[0223](A2)块Ba或Bb具有非零正交变换系数;或者
[0224](A3) I MVAx-MVBx | ≥ 4 或 | MVAy-MVBy | ≥ 4
[0225]条件B:
【权利要求】
1.一种图像处理设备,包括: 水平滤波部件,所述水平滤波部件被配置成当编码待编码图像时,把去块滤波器应用于在要局部解码的图像内的与垂直块边界相邻的相邻块; 控制部件,所述控制部件被配置成使水平滤波部件将多个块中的多个垂直块边界作为处理单位,滤波与所述多个垂直块边界中的每一个相邻的相邻块;以及 编码部件,所述编码部件被配置成利用由水平滤波部件滤波的图像,编码所述待编码图像。
2.根据权利要求1所述的图像处理设备, 其中所述控制部件使水平滤波部件将所述多个垂直块边界设定为所述处理单位。
3.按照权利要求2所述的图像处理设备, 其中所述控制部件使水平滤波部件滤波每个垂直块边界,而不依赖于其他垂直块边界的滤波结果。
4.按照权利要求3所述的图像处理设备, 其中所述控制部件使水平滤波部件使用不会在对彼此不同的垂直块边界的滤波之间产生依存关系的块大小,作为每个块的块大小。
5.按照权利要求1所述的图像处理设备,还包括: 垂直滤波部件,所述垂直滤波部件被配置成将去块滤波器应用于在所述图像内的与水平块边界相邻的相邻块, 其中所述控制部件使垂直滤波部件将多个块中的多个水平块边界作为处理单位,滤波与所述多个水平块边界中的每一个相邻的相邻块。
6.按照权利要求5所述的图像处理设备, 其中所述控制部件使垂直滤波部件将所述多个水平块边界设定为所述处理单位。
7.按照权利要求6所述的图像处理设备, 其中所述控制部件使垂直滤波部件滤波每个水平块边界,而不依赖于其他水平块边界的滤波结果。
8.按照权利要求7所述的图像处理设备, 其中所述控制部件使垂直滤波部件使用不会在对彼此不同的水平块边界的滤波之间产生依存关系的块大小,作为每个块的块大小。
9.按照权利要求8所述的图像处理设备, 其中所述控制部件使水平滤波部件和垂直滤波部件使用8X8像素作为所述块大小。
10.按照权利要求9所述的图像处理设备, 其中控制部件使水平滤波部件并行地滤波多个垂直块边界,随后使垂直滤波部件并行地滤波多个水平块边界。
11.按照权利要求10所述的图像处理设备, 其中所述编码部件按分级块的单位对要编码的图像进行编码,并且 其中按分级块的单位对要编码的图像进行局部解码。
12.按照权利要求11所述的图像处理设备,还包括: 判定部件,被配置成将多个块中的多个垂直块边界作为处理单位,判定是否将去块滤波器应用于与所述多个垂直块边界中的每一个相邻的相邻块,其中所述控制部件使所述水平滤波部件根据来自所述判定部件的判定结果执行滤波。
13.按照权利要求12所述的图像处理设备, 其中所述判定部件将多个块中的多个水平块边界作为处理单位,判定是否将去块滤波器应用于与所述多个水平块边界中的每一个相邻的相邻块,并且 其中所述控制部件使所述垂直滤波部件根据来自所述判定部件的判定结果执行滤波。
14.一种图像处理方法,包括: 执行水平滤波,以在编码待编码图像时,把去块滤波器应用于在局部解码的图像内的与垂直块边界相邻的相邻块; 控制所述水平滤波,以多个块中的多个垂直块边界作为处理单位滤波与所述多个垂直块边界中的每一个相邻的相邻块;以及 利用通过水平滤波滤波后的图像,编码所述待编码图像。
【文档编号】H04N19/436GK103716632SQ201310654537
【公开日】2014年4月9日 申请日期:2011年12月2日 优先权日:2010年12月7日
【发明者】池田优, 田中润一, 森上义崇 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1