图像处理装置、方法和程序

文档序号:621642 发布日期:2021-05-07 浏览:4次 >En<

阅读说明:本技术 图像处理装置、方法和程序 (Image processing apparatus, method and program ) 是由 近藤健治 于 2019-09-18 设计创作,主要内容包括:本公开内容涉及使得可以抑制帧内预测中可能发生的延迟的图像处理装置、方法和程序。在要分别确定亮度的CU划分结构和色度的CU划分结构时,编码装置:针对亮度的CU划分结构,去除具有最小竖直和/或水平尺寸的CU划分结构以确定色度的CU划分结构;利用亮度的CU划分结构和色度的CU划分结构对图像进行编码;以及生成编码流。本公开内容可以例如应用于图像处理装置。(The present disclosure relates to an image processing apparatus, method, and program that make it possible to suppress a delay that may occur in intra prediction. When a luminance CU partition structure and a chrominance CU partition structure are to be determined, respectively, an encoding device: removing a CU partition structure having a smallest vertical and/or horizontal size for the CU partition structure of luminance to determine a CU partition structure of chrominance; encoding an image by using a luminance CU division structure and a chrominance CU division structure; and generating the encoded stream. The present disclosure can be applied to, for example, an image processing apparatus.)

图像处理装置、方法和程序

技术领域

本公开内容涉及图像处理装置、方法和程序,并且具体地涉及可以减少在帧内预测中可能发生的延迟的图像处理装置、方法和程序。

背景技术

在HEVC(高效视频编码)中,色度(Cb/Cr)的CU(编码单元)被划分成4×4(像素)。在VVC(通用视频编码)中,允许针对亮度(Y)将CU划分成4×4的尺寸以及针对Cb/Cr将CU划分成2×2的尺寸(非专利文献1)。

[引用列表]

[非专利文献]

[非专利文献1]

Benjamin Bross、Jianle Chen、Shan Liu,“Versatile Video Coding(Draft2)”,JVET-K1001-v5,ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的联合视频专家组(JVET),第十一次会议:卢布尔雅那,SI,2018年7月10日至18日。

发明内容

[技术问题]

由于将Cb/Cr的CU划分成2×2的尺寸变为可能,因此在帧内预测中Cb/Cr的尺寸为2×2的CU的吞吐量成为瓶颈。

考虑到如上所述的情况作出了本公开内容,并且本公开内容使得可以减少在帧内预测中可能发生的延迟。

[问题的解决方案]

根据本公开内容的一个方面的图像处理装置包括:控制部,其被配置成当要分别确定亮度的CU划分结构和色度的CU划分结构时,针对色度排除在竖直方向和水平方向中的至少一个方向上为最小尺寸的CU划分结构以确定色度的CU划分结构;以及编码部,其被配置成利用亮度的CU划分结构和色度的CU划分结构对图像进行编码以生成编码流。

在本公开内容的一个方面中,当要分别确定亮度的CU划分结构和色度的CU划分结构时,针对色度排除在竖直方向和水平方向中的至少一个方向上为最小尺寸的CU划分结构,并且确定色度的CU划分结构。然后,利用亮度的CU划分结构和色度的CU划分结构对图像进行编码,并且生成编码流。

本公开内容的另一方面的图像处理装置包括:控制部,其被配置成当要分别确定亮度的CU划分结构和色度的CU划分结构时,针对色度排除在竖直方向和水平方向中的至少一个方向上为最小尺寸的CU划分结构以确定色度的CU划分结构,并且基于利用亮度的CU划分结构和色度的CU划分结构对图像进行编码而生成的编码流来确定亮度的CU划分结构和色度的CU划分结构;以及解码部,其被配置成基于亮度的CU划分结构和色度的CU划分结构对编码流进行解码以生成图像。

在本公开内容的另一方面中,当要分别确定亮度的CU划分结构和色度的CU划分结构时,针对色度排除在竖直方向和水平方向中的至少一个方向上为最小尺寸的CU划分结构,并且确定色度的CU划分结构。此外,基于利用亮度的CU划分结构和色度的CU划分结构对图像进行编码而生成的编码流来确定亮度的CU划分结构和色度的CU划分结构。然后,基于亮度的CU划分结构和色度的CU划分结构对编码流进行解码,并且生成图像。

附图说明

[图1]

图1是示出作为编码单元的CU的划分的示例的图。

[图2]

图2描绘了描绘CU的划分方法的图。

[图3]

图3是描绘在Y的CU具有4×4的尺寸并且Cb/Cr的CU具有2×2的尺寸的情况下的帧内预测的顺序的图。

[图4]

图4是描绘在针对Y至Cb/Cr执行亮度色度预测的情况下的帧内预测的顺序的图。

[图5]

图5是描绘应用了本公开内容的编码装置的实施方式的配置的示例的框图。

[图6]

图6是描绘用于确定CU的划分结构的树的示例的图。

[图7]

图7是描绘图5的编码部的配置的示例的框图。

[图8]

图8是示出图5的编码装置的流生成处理的流程图。

[图9]

图9是示出图8的步骤S12中的编码处理的细节的流程图。

[图10]

图10是示出从图9继续的、图8的步骤S12中的编码处理的细节的流程图。

[图11]

图11是示出图9的步骤S33中的CU划分结构确定处理的细节的流程图。

[图12]

图12是示出图11的步骤S125中的BT的RD成本的计算处理的细节的流程图。

[图13]

图13是示出图11的步骤S126中的TT的RD成本的计算处理的细节的流程图。

[图14]

图14是示出图9的步骤S33中的CU划分结构确定处理的另一示例的流程图。

[图15]

图15是示出图14的步骤S184中的BT的RD成本的计算处理的细节的流程图。

[图16]

图16是示出图14的步骤S185中的TT的RD成本的计算处理的细节的流程图。

[图17]

图17是示出图14的步骤S186中的CU的预测模式判定处理的细节的流程图。

[图18]

图18是描绘应用了本公开内容的解码装置的实施方式的配置的示例的框图。

[图19]

图19是描绘图18的解码部的配置的示例的框图。

[图20]

图20是示出图18的解码装置的图像生成处理的流程图。

[图21]

图21是示出图20的步骤S303中的解码处理的细节的流程图。

[图22]

图22是描绘单独树的示例的图。

[图23]

图23是示出图9的步骤S33中的CU划分结构确定处理的另一示例的流程图。

[图24]

图24是示出从图23继续的、图9的步骤S33中的CU划分结构确定处理的不同示例的流程图。

[图25]

图25是示出图24的步骤S411中的BT的RD成本的计算处理的细节的流程图。

[图26]

图26是示出图24的步骤S412中的TT的RD成本的计算处理的细节的流程图。

[图27]

图27是描绘关于单独树的语义的示例的图。

[图28]

图28是描绘能够使用关于图27的信息来控制的CU的划分结构的示例的图。

[图29]

图29是描绘其中使用关于图27的信息的、仅Cb/Cr的CU具有4×4的最小尺寸的示例的图。

[图30]

图30是描绘其中Cb/Cr的QT划分的最小尺寸为0的示例的图。

[图31]

图31是描绘设置有新信息的Cb/Cr的CU的划分结构的示例的图。

[图32]

图32是描绘应用了本公开内容的编码装置的实施方式的配置的示例的框图。

[图33]

图33是示出图32的编码装置的流生成处理的流程图。

[图34]

图34是示出图9的步骤S33中的CU划分结构确定处理的另一示例的流程图。

[图35]

图35是示出从图34继续的、上述图9的步骤S33中的CU划分结构确定处理的另一示例的流程图。

[图36]

图36是示出从图35继续的、上述图9的步骤S33中的CU划分结构确定处理的另一示例的流程图。

[图37]

图37是示出图9的步骤S33中的CU划分结构确定处理的另一示例的流程图。

[图38]

图38是示出从图37继续的、图9的步骤S33中的CU划分结构确定处理的另一示例的流程图。

[图39]

图39是示出从图38继续的、图9的步骤S33中的CU划分结构确定处理的另一示例的流程图。

[图40]

图40是描绘应用了本公开内容的解码装置的实施方式的配置的示例的框图。

[图41]

图41是示出图40的解码装置的图像生成处理的流程图。

[图42]

图42是示出图21的步骤S333中的CU划分结构确定处理的示例的流程图。

[图43]

图43是描绘要用于CU划分结构确定处理的树的示例的图。

[图44]

图44是示出计算机的硬件的配置的示例的框图。

具体实施方式

在下文中,描述用于执行本公开内容的方式(在下文中称为“实施方式”)。注意,按以下顺序给出描述。

0.概述

1.第一实施方式(Cb/Cr的CU的2×2的限制)

2.第二实施方式(单独树)

3.第三实施方式(将最小CU添加到语法中)

4.第四实施方式(通过标准确定最小CU)

5.第五实施方式

<0.概述>

(编码方法)

在下文中,以将本技术应用于VVC(通用视频编码)方法的图像编码和解码的情况为例来描述本技术。

(编码单元的描述)

图1是描绘作为用于编码的单元的CU(编码单元)的划分的示例的图。

彩色图像的画面图像根据分辨率由像素构造而成。像素具有关于色度(Cb/Cr)和指示亮度的亮度(Y)的信息。

在称为4:2:0色度格式的格式中,Cb/Cr的分辨率在竖直和水平两个方向上相对于亮度都是一半,如图2所示。在Y的分辨率为1920×1080的情况下,Cb/Cr的分辨率为960×540。

在图1的画面图像中,CTU(编码树单元)以光栅顺序布置。CTU是预定单位,并且被划分成称为CU的编码单元。要注意的是,也可以不划分CTU,而是将CTU直接用作CU。针对Y,通常使用尺寸为128×128的CTU。

在图1中,粗线指示CTU之间的边界,并且实线、虚线和点划线指示CU的边界。

图2是描绘CU的划分方法的图。

在图2的A中,描绘了Y的尺寸为8×8的CU以及Cb/Cr的尺寸为4×4的CU。在图2的B中,描绘了通过在水平方向上被划分成两个而获得的CU。描绘了Y的尺寸为8×4的CU以及Cb/Cr的尺寸为4×2的CU。

在图2的C中,描绘了通过在竖直方向上被划分成两个而获得的CU。描绘了Y的尺寸为4×8的CU以及Cb/Cr的尺寸为2×4的CU。在图2的D中,描绘了其中CU被划分成四个的示例。

在HEVC(高效视频编码)中,CU被配置成对于Y具有8×8的尺寸,并且对于Cb/Cr具有4×4的尺寸。

在VVC中,针对Y,CU可以被划分成4×4的尺寸,以及针对Cb/Cr,CU可以被划分成2×2的尺寸。

在此,如果将图像输入到编码侧的装置,则执行求与预测信号的差、正交变换、量化、去量化、逆正交变换、添加预测信号进行重构、通过使用重构之后的信号以CU为单位进行帧内预测。在帧内预测中,在某些情况下可以使用周围的像素值。因此,如果未完成从求差到重构的循环,则不能执行CU的后续帧内预测。因此,随着色度的CU的尺寸减小,延迟增加,并且处理时间增加。

图3是描绘在Y的CU的尺寸是4×4并且Cb/Cr的CU的尺寸是2×2的情况下的帧内预测的顺序的图。

在图3的示例中,箭头标记指示Cb/Cr的CU的帧内预测的顺序。

如箭头标记所示,以左上、右上、左下和右下的顺序执行CU的帧内预测。对于右上CU,如果未完成对左上CU的处理,则无法开始处理。对于左下CU,如果未完成对右上CU的处理,则无法开始处理。对于右下CU,如果未完成对左下CU的处理,则无法开始处理。

在所有CU具有通过以如上所述的这种方式划分成最小尺寸而获得的Y的4×4的尺寸以及Cb/Cr的2×2的尺寸的情况下,延迟被最大化。

同时,在VVC中,旨在采用从Y来预测Cb/Cr的技术,该技术被称为亮度色度预测。

图4是描绘在针对Y至Cb/Cr执行亮度色度预测的情况下的帧内预测的顺序的图。

在图4的示例中,箭头标记指示Y的CU以及Cr/Cr的CU的帧内预测的顺序。

由于对于Cb/Cr的左上CU的帧内预测,使用Y的左上CU的像素值,所以需要已经完成上述求与Y的预测信号的差到重构的循环。

在运动图像的情况下,将根据帧速率的图像输入到编码侧的装置一秒钟。因此,在实时处理中,编码处理必须以一定单位例如一秒钟或一帧来完成;然而,存在由于某些延迟而不能及时执行处理的风险。

与编码装置类似,由于解码侧的装置也添加逆正交变换之后的信号以及用于帧内预测的信号来重构信号,并且通过使用重构之后的信号来执行帧内预测,因此解码侧的装置也受到延迟的影响。

因此,在第一实施方式中,Cb/Cr的尺寸为2×2的CU被解码侧的装置从划分结构的判定中排除在外。

<1.第一实施方式(Cb/Cr的2×2的限制>

(编码装置的第一实施方式的配置的示例)

图5是描绘应用了本公开内容的编码装置的实施方式的配置的示例的框图。

图5的编码装置10包括控制部11、设置部12、编码部13和发送部14,并且通过符合VVC方法的方法对图像进行编码。

特别地,编码装置10的控制部11包括例如CPU(中央处理单元)、微处理器等。控制部11通过CPU执行预定程序以执行各种类型的计算处理、相关联的块的操作控制等,并且作为编码装置10中的中央处理装置来操作。

例如,控制部11控制编码部13以计算RD成本,并且基于从编码部13提供的RD成本执行用于确定CU的划分结构的CU划分结构确定处理。此时,除了在划分之后Y的每个CU的尺寸等于或小于4×4的情况之外,控制部11确定CU的划分结构。特别地,除了Cr/Cb的每个CU的尺寸为2×2的情况之外。

此外,控制部11基于RD成本来确定预测模式。控制部11控制设置部12以基于所确定的CU划分结构和预测模式来设置参数集,并且控制编码部13执行编码处理。

设置部12根据控制部11的指令来设置SPS(序列参数集)、PPS(图片参数集)、VUI(视频可用性信息)、SEI(补充增强信息)等。设置部12将诸如SPS、PPS、VUI和SEI的设置参数集输出到编码部13。

以帧为单位的图像被输入到编码部13。编码部13根据控制部11的指令对输入的图像进行编码。编码部13根据参数集和作为编码的结果而获得的编码数据来生成编码流,并且将该编码流输出到发送部14。

发送部14将从编码部13提供的编码流发送到稍后描述的解码装置110。

图6是描绘用于确定CU的划分结构的树的示例的图。

在图6的示例中,描绘了其中Y、Cb和Cr具有相同的CU划分结构的示例。树具有分支。每个分支的左侧和右侧上指示的0和1指示标志的值。在确定了划分结构之后,将该标志的值作为划分标志放置到比特流中并且与该比特流一起发送,比特流在解码侧被解码。因此,解码侧可以找到由解码侧的装置确定的CU划分结构。

在分支b1处,是按QT划分(1)还是按QT划分以外的划分(0)来划分CTU。QT划分以外的划分包括BT(二叉树)划分、TT(三叉树)划分或者不划分(不进行划分)(No split)。

在选择QT划分(1)的情况下,CTU被划分成QT。在将CTU划分成QT的情况下,如粗线箭头所示那样返回处理,并且递归地划分每个CT。

在选择除QT划分以外的划分(0)的情况下,处理进行到分支b2。在分支b2处,选择BT/TT划分(1)或不划分(0)。

在选择不划分(0)的情况下,确定不划分,并且处理结束。

在选择BT/TT划分(1)的情况下,处理进行到分支b3。在分支b3处,选择水平(1)或竖直(0)。

在选择水平(1)的情况下,处理进行到分支b4。在分支b4处,选择BT(1)或TT(0)。

在选择BT(1)的情况下,CTU被划分成BT。在选择TT(1)的情况下,CTU被划分成TT。不仅在将CTU划分成BT的情况下,而且在将CTU划分成TT的情况下,如虚线箭头所示返回处理,并且递归地进行划分。

在选择竖直(0)的情况下,处理进行到分支b5。在分支b5处,选择BT(1)或TT(0)。

在选择BT(1)的情况下,CTU被划分成BT。在选择TT(1)的情况下,CTU被划分成TT。不仅在将CTU划分成BT的情况下,而且在将CTU划分成TT的情况下,处理如箭头所示返回,并且递归地划分CTU。

这里的选择是基于称为RD优化(速率失真优化)的技术执行的。在RD优化中,计算RD成本,并且作出使得RD成本的值变小的判定,因此可以执行高编码效率的判定。RD成本J由以下表达式(1)表示。

[数学式1]

J=D+λR...(1)

D是原始图像与解码图像之间的差(失真),R是包括多达正交变换系数的生成码量,并且λ是作为量化参数QP的函数给出的拉格朗日(Lagrange)未定乘数。

特别地,控制部11控制编码部13以计算每个分支处的QT、BT、TT和不划分的RD成本,并且基于RD成本来确定CU划分结构。

然而,在QT划分之后Y的每个CU的尺寸为8×8的情况下,控制部11返回处理并且选择不划分(0)而不计算RD成本。在BT划分之后Y的每个CU的尺寸为8×8的情况下,控制部11返回处理并且选择不划分(0)而不计算RD成本。在TT划分之后Y的每个CU的尺寸为8×8的情况下,控制部11返回处理并且选择不划分(0)而不计算RD成本。

通过以如上所述的方式确定CU划分结构,Qr/Qb的每个CU的尺寸不会变为2×2。因此,可以避免帧内预测的编码处理和解码处理中的较大延迟。

(编码部的配置的示例)

图7是描绘图5的编码部的配置的示例的框图。

图7的编码部13包括A/D转换部31、画面图像排序缓冲器32、计算部33、正交变换部34、量化部35、无损编码部36、累积缓冲器37、去量化部38、逆正交变换部39和加法部40。编码部13还包括去块滤波器41、自适应偏移滤波器42、自适应环路滤波器43、帧存储器44、开关45、帧内预测部46、运动预测和补偿部47、预测图像选择部48和速率控制部49。

在编码部13中,使用由控制部11确定的划分结构的CU。此外,将由CU划分结构确定处理确定的划分标志输出到无损编码部36。

编码部13的A/D转换部31以编码目标的帧为单位对图像进行A/D转换。A/D转换部31将转换后的数字信号形式的图像输出到画面图像排序缓冲器32以进行存储。

画面图像排序缓冲器32根据GOP结构将显示顺序的以帧为单位的图像排序为编码顺序的图像。画面图像排序缓冲器32将排序后的图像输出到计算部33、帧内预测部46以及运动预测和补偿部47。

计算部33通过从由画面图像排序缓冲器32提供的图像中减去从预测图像选择部48提供的预测图像来执行编码。计算部33将相减后的图像作为残差信息(差)输出到正交变换部34。要注意的是,在没有从预测图像选择部48提供预测图像的情况下,计算部33将从画面图像排序缓冲器32读出的图像按原样作为残差输出到正交变换部34。

正交变换部34以CU为单位对来自计算部33的残差信息执行正交变换处理。正交变换部34将正交变换处理之后的图像输出到量化部35。

量化部35对从正交变换部34提供的正交变换处理之后的图像进行量化。量化部35将量化后的量化值输出到无损编码部36。

无损编码部36从帧内预测部46获取作为指示最佳帧内预测模式的信息的帧内预测模式信息。此外,无损编码部36从运动预测和补偿部47获取作为指示最佳帧间预测模式的信息的帧间预测模式信息、运动矢量、指定参考图像的信息等。

此外,无损编码部36从自适应偏移滤波器42获取与偏移滤波器有关的偏移滤波器信息,并且从自适应环路滤波器43获取滤波器系数。

无损编码部36对从量化部35提供的量化值执行诸如可变长度编码(例如,CAVLC(上下文自适应可变长度编码))、算术编码(例如,CABAC(上下文自适应二进制算术编码))等无损编码等。

此外,无损编码部36对帧内预测模式信息或帧间预测模式信息、运动矢量、指定参考图像的信息、偏移滤波器信息和滤波器系数执行无损编码作为与编码有关的编码信息。对划分标志进行无损编码作为每个CTU的编码信息。无损编码部36将经过无损编码的编码信息和量化值作为编码数据输出到累积缓冲器37以进行累积。

累积缓冲器37临时存储从无损编码部36提供的编码数据。此外,累积缓冲器37将在其中存储的编码数据与从图5的设置部12提供的参数集一起作为编码比特流输出到发送部14。

此外,从量化部35输出的量化值也被输入到去量化部38。去量化部38对量化值进行去量化。去量化部38将去量化后的正交变换处理结果输出到逆正交变换部39。

逆正交变换部39以CU为单位对从去量化部38提供的正交变换处理结果执行逆正交变换处理。作为用于逆正交变换的方法,例如可以使用IDCT(逆离散余弦变换)和IDST(逆离散正弦变换)。逆正交变换部39将作为逆正交变换处理的结果而获得的残差信息输出到加法部40。

加法部40将从逆正交变换部39提供的残差信息与从预测图像选择部48提供的预测图像相加以执行解码。加法部40将解码图像输出到去块滤波器41和帧存储器44。

去块滤波器41执行去块滤波处理用于去除从加法部40提供的解码图像的块失真。去块滤波器41将去块滤波处理之后的图像输出到自适应偏移滤波器42。

自适应偏移滤波器42执行自适应偏移滤波器(SAO(样本自适应偏移))处理,以主要消除在去块滤波器41进行的去块滤波处理之后图像的振铃。

自适应偏移滤波器42将自适应偏移滤波处理之后的图像输出到自适应环路滤波器43。此外,自适应偏移滤波器42将指示自适应偏移滤波处理的类型的信息和偏移作为偏移滤波器信息输出到无损编码部36。

自适应环路滤波器43包括例如二维维纳(Wiener)滤波器。自适应环路滤波器43对自适应偏移滤波处理之后的图像执行自适应环路滤波器(ALF)处理。

自适应环路滤波器43将自适应环路滤波处理之后的图像输出到帧存储器44。此外,自适应环路滤波器43将在自适应环路滤波处理中使用的滤波器系数输出到无损编码部36。

帧存储器44累积从自适应环路滤波器43提供的图像以及从加法部40提供的图像。通过开关45将帧存储器44中累积的并且未经过任何滤波处理的图像中的与CU相邻的图像作为周围图像输出到帧内预测部46。另一方面,通过开关45将帧存储器44中累积的并且经过滤波处理的图像作为参考图像输出到运动预测和补偿部47。

帧内预测部46以CU为单位使用通过开关45从帧存储器44读出的周围图像来执行被认为是候选的所有帧内预测模式的帧内预测处理。

此外,帧内预测部46基于从画面图像排序缓冲器32读出的图像以及通过帧内预测处理预测的预测图像,计算被认为是候选的所有帧内预测模式的RD成本。计算出的RD成本被输出到控制部11。控制部11将其中最低RD成本变为最小的帧内预测模式确定为最佳帧内预测模式。

帧内预测部46根据控制部11的指示,将以最佳帧内预测模式生成的预测图像输出到预测图像选择部48。在将对以来自控制部11的最佳帧内预测模式生成的预测图像的选择通知给帧内预测部46的情况下,帧内预测部46将帧内预测模式信息输出到无损编码部36。要注意的是,帧内预测模式是指示CU的尺寸、预测方向等的模式。

运动预测和补偿部47以CU为单位以被认为是候选的所有帧间预测模式执行运动预测和补偿处理。特别地,运动预测和补偿部47基于从画面图像排序缓冲器32提供的图像以及从画面图像排序缓冲器32提供的参考图像,以CU为单位以被认为是候选的所有帧间预测模式检测运动矢量。然后,运动预测和补偿部47基于运动矢量以CU为单位对参考图像执行补偿处理,以生成预测图像。

此时,运动预测和补偿部47基于从画面图像排序缓冲器32提供的图像以及预测图像,计算被认为是候选的所有帧间预测模式的RD成本。计算出的RD成本被输出到控制部11。控制部11将其中RD成本变为最低的帧间预测模式确定为最佳帧间预测模式。

运动预测和补偿部47根据控制部11的指令将最佳帧间预测模式的预测图像输出到预测图像选择部48。此外,在将对来自控制部11的最佳帧间预测模式预测图像的选择通知给运动预测和补偿部47的情况下,运动预测和补偿部47将帧间预测模式信息、对应的运动矢量、指定参考图像的信息等输出到无损编码部36。要注意的是,帧间预测模式是指示CU的尺寸等的模式。

此外,控制部11将对应的RD成本较低的最佳帧内预测模式和最佳帧间预测模式中的一个确定为最佳预测模式。然后,预测图像选择部48根据控制部11的指令将最佳预测模式的预测图像输出到计算部33和加法部40。

速率控制部49基于累积在累积缓冲器37中的编码数据来控制量化部35的量化操作的速率,以使得不会发生上溢或下溢。

(编码装置的操作)

图8是示出图5的编码装置的流生成处理的流程图。

在图8的步骤S11中,编码装置10的设置部12设置参数集。设置部12将所设置的参数集输出到编码部13。

在步骤S12中,编码部13执行对以帧为单位的图像进行编码的编码处理。参照稍后描述的图9和图10描述该编码处理的细节。编码数据由编码处理生成。编码数据被累积到累积缓冲器37中。

要注意的是,基于通过步骤S12中的编码处理计算出的RD成本,确定CU的划分结构、预测模式等。在步骤S12的编码处理中使用基于RD成本的CU的划分结构和预测模式。

在步骤S13中,根据从设置部12提供的参数集以及累积的编码数据来生成编码流,并且将编码流输出到发送部14。

在步骤S14中,发送部14将从编码部13提供的编码流发送到稍后描述的解码装置110,并且处理结束。

图9和图10是示出图8的步骤S12中的编码处理的细节的流程图。

在图9的步骤S31中,编码部13的A/D转换部31对作为编码目标输入的以帧为单位的图像进行转换。A/D转换部31将转换后的数字信号形式的图像输出到画面图像排序缓冲器32以进行存储。

在步骤S32中,画面图像排序缓冲器32根据GOP结构将显示顺序的以帧为单位的图像排序为编码顺序的图像。画面图像排序缓冲器32将排序后的以帧为单位的图像输出到计算部33、帧内预测部46以及运动预测和补偿部47。

在步骤S33中,控制部11执行CU划分结构确定处理。参照稍后描述的图11描述CU划分结构确定处理的细节。在以后的编码处理中使用通过CU划分结构确定处理确定的划分结构的CU。将关于CU的划分结构信息输出到相关联的块。此外,将由CU划分结构确定处理确定的划分标志输出到无损编码部36。

在步骤S34中,帧内预测部46以CU为单位对成为候选的所有帧内预测模式进行帧内预测处理。此外,帧内预测部46基于从画面图像排序缓冲器32读出的图像以及通过帧内预测处理预测的预测图像,计算被认为是候选的所有帧内预测模式的RD成本。控制部11将其中RD成本变为最低的帧内预测模式确定为最佳帧内预测模式。帧内预测部46将通过最佳帧内预测模式生成的预测图像输出到预测图像选择部48。

此外,运动预测和补偿部47以CU为单位对被认为是候选的所有帧间预测模式执行运动预测和补偿处理。此外,运动预测和补偿部47基于从画面图像排序缓冲器32提供的图像以及预测图像来计算被认为是候选的所有帧间预测模式的RD成本。控制部11将其中RD成本变为最低的帧间预测模式确定为最佳帧间预测模式。运动预测和补偿部47将最佳帧间预测模式的预测图像输出到预测图像选择部48。

在步骤S35中,控制部11基于最佳帧内预测模式和最佳帧间预测模式的RD成本,将其中RD成本变为最低的模式中的一种模式确定为最佳预测模式。然后,预测图像选择部48将最佳预测模式的预测图像输出到计算部33和加法部40。

在步骤S36中,控制部11判定最佳预测模式是否是最佳帧间预测模式。在步骤S36中判定最佳预测模式是最佳帧间预测模式的情况下,控制部11将对以最佳帧间预测模式生成的预测图像的选择通知给运动预测补偿部47。

然后,在步骤S37中,运动预测和补偿部47将帧间预测模式信息、运动矢量和指定参考图像的信息输出到无损编码部36。此后,处理进行到步骤S39。

相比之下,在步骤S36中最佳预测模式是最佳帧内预测模式的情况下,控制部11将对通过最佳帧内预测模式生成的预测图像的选择通知给帧内预测部46。然后,在步骤S38中,帧内预测部46将帧内预测模式信息输出到无损编码部36。此后,处理进行到步骤S39。

在步骤S39中,计算部33通过从由画面图像排序缓冲器32提供的图像中减去从预测图像选择部48提供的预测图像来执行编码。计算部33将相减后的图像作为残差信息输出到正交变换部34。

在步骤S40中,正交变换部34以CU为单位对残差信息执行正交变换处理。正交变换部34将正交变换处理之后的正交变换处理结果输出到量化部35。

在步骤S41中,量化部35对从正交变换部34提供的正交变换处理结果进行量化。量化部35将量化后的量化值输出到无损编码部36和去量化部38。

在图10的步骤S42中,去量化部38对来自量化部35的量化值进行去量化。去量化部38将去量化后的正交变换处理结果输出到逆正交变换部39。

在步骤S43中,逆正交变换部39以CU为单位对正交变换处理结果进行逆正交变换处理。逆正交变换部39将逆正交变换处理后的残差信息输出到加法部40。

在步骤S44中,加法部40将从逆正交变换部39提供的残差信息与从预测图像选择部48提供的预测图像相加以执行解码。加法部40将解码图像输出到去块滤波器41和帧存储器44。

在步骤S45中,去块滤波器41对从加法部40提供的图像执行去块滤波处理。去块滤波器41将去块滤波处理之后的图像输出到自适应偏移滤波器42。

在步骤S46中,自适应偏移滤波器42对去块滤波处理之后的图像执行自适应偏移滤波处理。自适应偏移滤波器42将自适应偏移滤波处理之后的图像输出到自适应环路滤波器43。此外,自适应偏移滤波器42将偏移滤波器信息输出到无损编码部36。

在步骤S47中,自适应环路滤波器43对自适应偏移滤波处理之后的图像执行自适应环路滤波处理。自适应环路滤波器43将自适应环路滤波处理之后的图像输出到帧存储器44。此外,自适应环路滤波器43将在自适应环路滤波处理中使用的滤波器系数输出到无损编码部36。

在步骤S48中,帧存储器44累积从自适应环路滤波器43提供的图像以及从加法部40提供的图像。通过开关45将帧存储器44中累积的并且未经过滤波处理的图像中的与CU相邻的图像作为周围图像输出到帧内预测部46。相比之下,通过开关45将帧存储器44中累积的并且经过滤波处理的图像作为参考图像输出到运动预测和补偿部47。

在步骤S49中,无损编码部36对帧内预测模式信息或帧间预测模式信息、运动矢量、指定参考图像的信息、偏移滤波器信息和滤波器系数执行无损编码作为编码信息。划分标志经过无损编码作为每个CTU的编码信息。

在步骤S50中,无损编码部36对从量化部35提供的量化值执行无损编码。然后,无损编码部36从已经通过步骤S49中的处理进行了无损编码的编码信息以及经过了无损编码的量化值中生成编码数据,并且将编码数据输出到累积缓冲器37。

在步骤S51中,累积缓冲器37临时累积从无损编码部36提供的编码数据。

在步骤S52中,速率控制部49基于累积缓冲器37中累积的编码数据来控制量化部35的量化操作的速率,以使得不会发生上溢或下溢。然后,处理返回到图8的步骤S12,然后进行到步骤S13。

要注意的是,尽管为了简化描述,在图9和图10的编码处理中,通常执行帧内预测处理以及运动预测和补偿处理,但是在实际使用中,在某些情况下,取决于图片类型等,可以仅执行上述处理中的任何一个。

图11是示出图9的步骤S33中的CU划分结构确定处理的细节的流程图。

在图11的步骤S121中,控制部11判定CTU是否按QT划分。

在步骤S121中判定CTU按QT划分的情况下,处理进行到步骤S122。

在步骤S122中,控制部11判定在QT划分之后Y的每个CU的尺寸是否不是8×8。

在步骤S122中判定在QT划分之后Y的每个CU的尺寸不是8×8的情况下,处理进行到步骤S123。

在步骤S123中,编码部13计算按QT划分的CU的RD成本。

相反,在步骤S121中判定CTU未按QT划分的情况下,或者在步骤S122中判定在QT划分之后Y的每个CU的尺寸为8×8的情况下,处理进行到步骤S124。

在步骤S124中,编码部13执行不划分的CU的RD成本的计算处理。

在步骤S125中,编码部13执行按BT划分的CU的RD成本的计算处理。参照稍后描述的图12描述按BT划分的CU的RD成本的计算处理的细节。通过执行步骤S125,计算按BT划分的CU的RD成本。

在步骤S126中,编码部13执行按TT划分的CU的RD成本的计算处理。参照稍后描述的图13描述按TT划分的CU的RD成本的计算处理的细节。通过执行步骤S126,计算出按TT划分的CU的RD成本。

在步骤S127中,控制部11控制编码部13使用如上所述计算出的RD成本中的RD成本最低的划分结构对CTU进行编码。

图12是示出在图11的步骤S125中按BT划分的RD成本计算处理的细节的流程图。

在图12的步骤S141中,控制部11判定在水平BT划分之后Y的每个CU的尺寸是否不是8×8。

在步骤S141中判定在水平BT划分之后Y的每个CU的尺寸不是8×8的情况下,处理进行到步骤S142。

在步骤S142中,编码部13执行水平划分,以计算RD成本。

在步骤S141中判定在水平BT划分之后Y的每个CU的尺寸是8×8的情况下,处理跳过步骤S142并且进行到步骤S143。

在步骤S143中,控制部11判定在竖直BT划分之后Y的每个CU的尺寸是否不是8×8。

在步骤S143中判定在竖直BT划分之后Y的每个CU的尺寸不是8×8的情况下,处理进行到步骤S144。

在步骤S144中,编码部13按竖直划分并且计算RD成本。

在步骤S143中判定在竖直BT划分之后Y的每个CU的尺寸是8×8的情况下,处理跳过步骤S144并且进行到步骤S145。

在步骤S145中,控制部11采用计算出的RD成本中的RD成本最低的划分结构,并且将所采用的划分结构用于按BT划分的CU的RD成本。

图13是示出图11的步骤S126中的按TT划分的RD成本计算处理的细节的流程图。

在图13的步骤S161中,控制部11判定在水平TT划分之后Y的每个CU的尺寸是否为8×8。

在步骤S161中判定在水平TT划分之后Y的每个CU的尺寸不是8×8的情况下,处理进行到步骤S162。

在步骤S162中,编码部13按水平划分以计算RD成本。

在步骤S161中判定在水平TT划分之后Y的每个CU的尺寸是8×8的情况下,处理跳过步骤S162并且进行到步骤S163。

在步骤S163中,控制部11判定在竖直TT划分之后Y的每个CU的尺寸是否不是8×8。

在步骤S163中判定在竖直TT划分之后Y的每个CU的尺寸不是8×8的情况下,处理进行到步骤S164。

在步骤S164中,编码部13按竖直划分并且计算RD成本。

在步骤S163中判定在竖直TT划分之后Y的每个CU的尺寸不是8×8的情况下,处理跳过步骤S164并且进行到步骤S165。

在步骤S165中,控制部11采用所计算的RD成本中的RD成本最低的划分结构,并且将所采用的划分结构用于按TT划分的CU的RD成本。

在CU的划分结构确定处理中,以如上所述的方式排除了Y的每个CU的尺寸变得小于8×8的情况。特别地,可以从用于确定CU划分结构的选择中排除在Cb/Cr的每个CU的尺寸变为2×2的情况下的CU的划分结构。因此,可以减少帧内预测的延迟。

要注意的是,以上给出的描述针对的是从用于确定CU划分结构的选择中排除了其中Cb/Cr的每个CU的尺寸变为2×2的情况。作为不同的方法,可以使用下述方法,该方法不使用当执行帧内预测时Cb/Cr的每个CU的尺寸变为2×2的情况。

图14是示出图9的步骤S33中的CU划分结构确定处理的另一示例的流程图。

要注意的是,除了在步骤S186中对CU的预测模式的判定处理之外,图14中的处理与普通CU划分结构确定处理的处理相同。

在图14的步骤S181中,控制部11判定CTU是否按QT划分。

在步骤S181中判定按QT划分CTU的情况下,处理进行到步骤S182。

在步骤S182中,编码部13计算按QT划分的每个CU的RD成本。

相比之下,在步骤S181中判定CTU不按QT划分的情况下,处理进行到步骤S183。

在步骤S183中,编码部13执行不划分的每个CU的RD成本的计算处理。

在步骤S184中,编码部13执行按BT划分的每个CU的RD成本的计算处理。将参照稍后描述的图15描述按BT划分的每个CU的RD成本的计算处理的细节。通过步骤S184,计算按BT划分的CU的RD成本。

在步骤S185中,编码部13执行按TT划分的每个CU的RD成本的计算处理。将参照稍后描述的图16描述按TT划分的每个CU的RD成本的计算处理的细节。通过步骤S185,计算按TT划分的CU的RD成本。

在步骤S186中,控制部11执行CU的预测模式判定处理。参照稍后描述的图17描述CU的预测模式判定处理的细节。通过步骤S186,获得除了尺寸为2×2的CU的帧内预测模式以外的Cr/Cb的CU的RD成本。

在步骤S187中,控制部11控制编码部13以使用在计算出的RD成本中RD成本最低的划分结构对CTU进行编码。

图15是示出图14的步骤S184中的按BT划分的RD成本的计算处理的细节的流程图。

在图15的步骤S201中,编码部13按水平划分并且计算RD成本。

在步骤S202中,编码部13按竖直划分并且计算RD成本。

在步骤S203中,控制部11采用在计算出的RD成本中RD成本最低的划分结构,并且将所采用的划分结构用于按BT划分的CU的RD成本。

图16是示出图14的步骤S185中的按TT划分的RD成本计算处理的细节的流程图。

在图16的步骤S221中,编码部13按水平划分并且计算RD成本。

在步骤S322中,编码部13按竖直划分并且计算RD成本。

在步骤S223中,控制部11采用在计算出的RD成本中RD成本最低的划分结构,并且将所采用的划分结构用于按TT划分的CU的RD成本。

图17是示出图14的步骤S186中的CU预测模式判定处理的细节的流程图。

在图17的步骤S241中,控制部11判定Cb/Cr的每个CU的尺寸是否为4×4或更大。

在步骤S241中判定Cb/Cr的每个CU的尺寸为4×4或更大的情况下,处理进行到步骤S242。

在步骤S242中,编码部13使用帧内预测来计算RD成本。此后,处理进行到步骤S243。

相反,在步骤S241中判定Cb/Cr的每个CU的尺寸不是4×4或更大的情况下,处理跳过步骤S242并且进行到步骤S243。

在步骤S243中,编码部13使用帧间预测来计算RD成本。

在步骤S244中,控制部11采用在计算出的RD成本中RD成本最低的划分结构,并且将所采用的划分结构用于CU的RD成本。

在CU的划分结构确定处理中,仅在Cb/Cr的每个CU的尺寸为4×4或更大的情况下,帧内预测才计算RD成本。换言之,同样在该处理的情况下,可以从用于确定CU划分结构的选择中排除在Cb/Cr的每个CU的尺寸为2×2的情况下的CU的划分结构。这可以减少帧内预测的延迟。

(解码装置的实施方式的配置的示例)

图18是示出对从图5的编码装置发送的并且应用了本公开内容的编码流进行解码的解码装置的实施方式的配置的示例的框图。

图18的解码装置110包括控制部111、接收部112、提取部113和解码部114。

解码装置110的控制部111包括例如CPU、微处理器等。控制部111通过CPU执行预定程序,以执行各种类型的计算处理或者相关联的部件的操作控制,并且作为解码装置110中的中央处理装置来操作。

控制部111提取包括在参数集中的信息。控制部111基于包括在参数集中的信息来控制解码部114。特别地,控制部111将包括在参数集中(在下文中参照图27描述)的信息输出到解码部114,并且使解码部114执行CU划分结构确定处理。

接收部112接收从图8的编码装置10发送的编码流,并且将该编码流输出到提取部113。

提取部113从由接收部112提供的编码流中提取参数集和编码数据。提取部113将参数集输出到控制部111。提取部113将编码数据输出到解码部114。

解码部114根据控制部111的指令,通过符合VVC方法的方法对从提取部113提供的编码数据进行解码。这时,解码部114根据控制部111的指令对CU执行划分结构确定处理,并且使用所确定的划分结构的CU对编码数据进行解码。解码部114输出解码后的图像。

(解码部的配置的示例)

图19是描述图18的解码部的配置的示例的框图。

图19的解码部114包括累积缓冲器131、无损解码部132、去量化部133、逆正交变换部134、加法部135、去块滤波器136、自适应偏移滤波器137、自适应环路滤波器138和画面图像排序缓冲器139。解码部114还包括D/A转换部140、帧存储器141、开关142、帧内预测部143、运动补偿部144和开关145。

解码部114的累积缓冲器131从图18的提取部113接收并且累积编码数据。累积缓冲器131将其中累积的编码数据输出到无损解码部132。

无损解码部132对来自累积缓冲器131的编码数据执行诸如可变长度解码或算术解码之类的无损解码,以获得量化值和编码信息。无损解码部132将量化值输出到去量化部133。编码信息由划分标志、帧内预测模式信息、帧间预测模式信息、运动矢量、用于指定参考图像的信息、偏移滤波器信息、滤波器系数等配置而成。

无损解码部132根据控制部111的指令,使用划分标志执行CU划分结构确定处理。可以通过从划分标志中读出与树的分支对应的标志来找到CU划分结构。

在解码部114中,使用由编码装置10确定并且由无损解码部132找到的划分结构的CU。

此外,无损解码部132将帧内预测模式信息等输出到帧内预测部143。无损解码部132将运动矢量、帧间预测模式信息、用于指定参考图像的信息等输出到运动补偿部144。

无损解码部132将帧内预测模式信息或帧间预测模式信息输出到开关145。无损解码部132将偏移滤波器信息输出到自适应偏移滤波器137。无损解码部132将滤波器系数输出到自适应环路滤波器138。

去量化部133、逆正交变换部134、加法部135、去块滤波器136、自适应偏移滤波器137、自适应环路滤波器138、帧存储器141、开关142、帧内预测部143和运动补偿部144分别执行与图7的去量化部38、逆正交变换部39、加法部40、去块滤波器41、自适应偏移滤波器42、自适应环路滤波器43、帧存储器44、开关45、帧内预测部46以及运动预测和补偿部47相似的处理。因此,图像被解码。

特别地,去量化部133与图7的去量化部38类似地配置。去量化部133以CU为单位对来自无损解码部132的量化值进行去量化。去量化部133将去量化后的正交变换处理结果输出到逆正交变换部134。

逆正交变换部134与图7的逆正交变换部39类似地配置。逆正交变换部134对从去量化部133提供的正交变换处理结果执行逆正交变换处理。逆正交变换部134将逆正交变换处理之后的残差信息输出到加法部135。

加法部135将从逆正交变换部134提供的残差信息与从开关145提供的预测图像相加以执行解码。加法部135将解码后的图像输出到去块滤波器136和帧存储器141。

去块滤波器136对从加法部135提供的图像执行去块滤波处理,并且将去块滤波处理之后的图像输出到自适应偏移滤波器137。

自适应偏移滤波器137使用由来自无损解码部132的偏移滤波器信息表示的偏移对去块滤波处理之后的图像执行由偏移滤波器信息表示的类型的自适应偏移滤波处理。自适应偏移滤波器137将自适应偏移滤波处理之后的图像输出到自适应环路滤波器138。

自适应环路滤波器138使用从无损解码部132提供的滤波器系数对从自适应偏移滤波器137提供的图像执行自适应环路滤波处理。自适应环路滤波器138将自适应环路滤波处理之后的图像输出到帧存储器141和画面图像排序缓冲器139。

画面图像排序缓冲器139以帧为单位存储自适应环路滤波处理之后的图像。画面图像排序缓冲器139将编码顺序的以帧单位的图像排序为原始显示顺序的图像,并且将排序后的图像输出到D/A转换部140。

D/A转换部140将从画面图像排序缓冲器139提供的以帧为单位的图像进行D/A转换,并且输出得到的图像。

帧存储器141累积自适应环路滤波处理之后的图像以及从加法部135提供的图像。通过开关142将帧存储器141中存储的并且未经历任何滤波处理的图像中的与CU相邻的图像作为周围图像提供给帧内预测部143。同时,通过开关142将帧内存储器141中存储的并且经过滤波处理的图像作为参考图像输出到运动补偿部144。

帧内预测部143使用通过开关142从帧存储器141中读出的周围图像来执行由从无损解码部132提供的帧内预测模式信息指示的最佳帧内预测模式的帧内预测处理。帧内预测部143将作为帧内预测处理的结果而生成的预测图像输出到开关145。

运动补偿部144通过开关142从帧存储器141中读出由从无损解码部132提供的并且指定参考图像的信息指定的参考图像。运动补偿部144使用从无损解码部132提供的运动矢量和参考图像,执行由从无损解码部132提供的帧间预测模式信息指示的最佳帧间预测模式的运动补偿处理。运动补偿部144将作为运动补偿处理的结果而生成的预测图像输出到开关145。

在从无损解码部132提供帧内预测模式信息的情况下,开关145将从帧内预测部143提供的预测图像输出到加法部135。相比之下,在从无损解码部132提供帧间预测模式信息的情况下,开关145将从运动补偿部144提供的预测图像输出到加法部135。

(解码装置的处理的描述)

图20是示出图18的解码装置的图像生成处理的流程图。

在图20的步骤S301中,解码装置110的接收部112接收从图8的编码装置10发送的编码流,并且将该编码流输出到提取部113。

在步骤S302中,提取部113从由接收部112提供的编码流中提取编码数据和参数集。提取部113将编码数据输出到解码部114。提取部113将参数集输出到控制部111。

控制部111基于参数集中包括的信息来控制解码部114。

在步骤S303中,解码部114根据控制部111的指令对从提取部113提供的编码数据进行解码。将参照稍后描述的图21描述解码处理的细节。之后,图像生成处理结束。

图21是示出图20的步骤S303中的解码处理的细节的流程图。

在图20的步骤S331中,解码部114的累积缓冲器131从提取部113接收并且累积以帧为单位的编码数据。累积缓冲器131将累积在其中的编码数据输出到无损解码部132。

在步骤S332中,无损解码部132对来自累积缓冲器131的编码数据执行无损解码,以获得量化值和编码信息。无损解码部132将量化值输出到去量化部133。

无损解码部132将帧内预测模式信息等输出到帧内预测部143。无损解码部132将运动矢量、帧间预测模式信息、用于指定参考图像的信息等输出到运动补偿部144。

此外,无损解码部132将帧内预测模式信息或帧间预测模式信息输出到开关145。无损解码部132将偏移滤波器信息提供给自适应偏移滤波器137,并且将滤波器系数输出到自适应环路滤波器138。

在步骤S333中,无损解码部132根据控制部111的指令,基于参数集中包括的信息和划分标志,执行CU的划分结构确定处理。通过步骤S333,确定CU划分结构。解码部114的部件使用由无损解码部132确定的划分结构的CU来执行各个处理。

在步骤S334中,去量化部133对从无损解码部132提供的量化值进行去量化。去量化部133将去量化后的正交变换处理结果输出到逆正交变换部134。

在步骤S335中,逆正交变换部134对从去量化部133提供的正交变换处理结果执行正交变换处理。

在步骤S336中,运动补偿部144判定是否已经从无损解码部132提供了帧间预测模式信息。在步骤S335中判定已经提供了帧间预测模式信息的情况下,处理进行到步骤S336。

在步骤S337中,运动补偿部144基于从无损解码部132提供的参考图像规格信息来读出参考图像,并且使用运动矢量和参考图像执行由帧间预测模式信息指示的最佳帧间预测模式的运动补偿处理。运动补偿部144通过开关145将运动补偿之后的预测图像输出到加法部135。此后,处理进行到步骤S339。

相比之下,在步骤S336中判定没有提供帧间预测模式信息的情况下,即,在已经将帧内预测模式信息提供给帧内预测部143的情况下,处理进行到步骤S338。

在步骤S338中,帧内预测部143使用通过开关142从帧存储器141中读出的周围图像来执行由帧内预测模式信息指示的帧内预测模式的帧内预测处理。帧内预测部143通过开关145将作为帧内预测处理的结果而生成的预测图像输出到加法部135。此后,处理进行到步骤S339。

在步骤S339中,加法部135将从逆正交变换部134提供的残差信息与从开关145提供的预测图像相加以执行解码。加法部135将解码图像输出到去块滤波器136和帧存储器141。

在步骤S340中,去块滤波器136对从加法部135提供的图像执行去块滤波处理以去除块失真。去块滤波器136将在去块滤波处理之后的图像输出到自适应偏移滤波器137。

在步骤S341中,自适应偏移滤波器137基于从无损解码部132提供的偏移滤波器信息,对去块滤波处理之后的图像执行自适应偏移滤波处理。自适应偏移滤波器137将自适应偏移滤波处理之后的图像输出到自适应环路滤波器138。

在步骤S342中,自适应环路滤波器138使用从无损解码部132提供的滤波器系数对从自适应偏移滤波器137提供的图像针对每个LCU执行自适应环路滤波处理。自适应环路滤波器138将自适应环路滤波处理之后的图像提供给帧存储器141和画面图像排序缓冲器139。

在步骤S343中,帧存储器141累积从加法部135提供的图像以及从自适应环路滤波器138提供的图像。通过开关142将在帧存储器141中累积的并且未经过滤波处理的图像中的与CU相邻的图像作为周围图像提供给帧内预测部143。同时,通过开关142将存储在帧存储器141中并且经过滤波处理的图像作为参考图像提供给运动补偿部144。

在步骤S344中,画面图像排序缓冲器139以帧为单位存储从自适应环路滤波器138提供的图像,将编码顺序的以帧为单位的图像排序为原始显示顺序的图像,并且将得到的图像输出到D/A转换部140。

在步骤S345中,D/A转换部140对自适应环路滤波处理之后的图像进行D/A转换,并且输出得到的图像。然后,处理返回到图20的步骤S303并且结束。

在CU划分结构确定处理中,编码侧排除上述方式的Y的每个CU的尺寸小于8×8的情况。换言之,可以从用于确定CU划分结构的选择中排除Cb/Cr的每个CU的尺寸为2×2的情况下的CU的划分结构。因此,可以减少由于帧内预测引起的延迟。

应当注意,上述第一实施方式针对其中Y的CU和Cb/Cr的CU具有相同的划分结构的情况。

根据第一实施方式的技术,不减小CU的划分,并且使处理结束以避免大的延迟。然而,由于不减小Cb/Cr的CU,因此也不能减小Y的CU。

实际上,如果不能将4×4的尺寸用于Y的CU,则担心编码效率的下降。

因此,在下面描述的第二实施方式中,应用单独树。

<2.第二实施方式(单独树)>

(单独树的描述)

图22是描绘单独树的示例的图。

在图22中,描绘了用于确定Y的CU的划分结构的树以及用于确定Cb/Cr的CU的划分结构的树。

如图22所示,可获得用于使Y的CU以及Cb/Cr的CU具有彼此不同的划分结构的技术,并且该技术被称为单独树。特别地,关于单独树,执行Y的CU划分结构确定处理以及Cb/Cr的划分结构确定处理。

鉴于此,在第二实施方式中,单独树的应用使得Y的CU具有4×4的尺寸,从而减少了编码效率的降低。

应当注意,第一实施方式的示例和第二实施方式的示例的彼此不同之处仅在于使用单独树以及在于CU划分结构确定处理。因此,由于编码装置10的配置和其他处理与解码装置110的其他处理彼此基本相同,因此下面仅使用编码装置10描述CU划分结构确定处理。

(编码装置的操作)

图23和图24是示出图9的步骤S33中的CU划分结构确定处理的另一示例的流程图。

在图23的步骤S401中,控制部11判定Y的CTU是否已经按QT划分。

在步骤S401中判定Y的CTU已经按QT划分的情况下,处理进行到步骤S402。

在步骤S402中,编码部13计算按QT划分的CU的RD成本。

相反,在步骤S401中判定Y的CTU尚未按QT划分的情况下,处理进行到步骤S403。

在步骤S403中,编码部13执行不划分的每个CU的RD成本的计算处理。

在步骤S404中,编码部13执行按BT划分的每个CU的RD成本的计算处理。按BT划分的每个CU的RD成本的计算处理的细节与上述图15的按BT划分的RD成本的计算处理基本相同。通过执行步骤S404,按BT划分的CU的RD成本的计算不受CU的任何限制。

在步骤S405中,编码部13执行按TT划分的每个CU的RD成本的计算处理。按TT划分的每个CU的RD成本的计算处理的细节与上述图16的按TT划分的RD成本的计算处理基本相同。通过执行步骤S405,计算按TT划分的CU的RD成本而不受CU的任何限制。

在步骤S406中,控制部11控制编码部13,以使用在计算出的RD成本中RD成本最低的划分结构对CTU进行编码。

在图24的步骤S407中,控制部11判定Cb/Cr的CTU是否已经按QT划分。

在步骤S407中判定Cb/Cr的CTU已经按QT划分的情况下,处理进行到步骤S408。

在步骤S408中,控制部11判定在QT划分之后Cb/Cr的每个CU的尺寸是否不是2×2。

在步骤S408中判定在QT划分之后Cb/Cr的每个CU的尺寸不是2×2的情况下,处理进行到步骤S409。

在步骤S409中,编码部13计算按QT划分的每个CU的RD成本。

相反,在步骤S407中判定Cb/Cr的CTU尚未按QT划分的情况下,或者在步骤S408中判定在QT划分之后Cb/Cr的每个CU的尺寸是2×2的情况下,处理进行到步骤S410。

在步骤S410中,编码部13执行不划分的每个CU的RD成本的计算处理。

在步骤S411中,编码部13执行按BT划分的每个CU的RD成本的计算处理。参照稍后描述的图28描述按BT划分的每个CU的RD成本的计算处理的细节。通过执行步骤S411,计算按BT划分的CU的RD成本。

在步骤S412中,编码部13执行按TT划分的每个CU的RD成本的计算处理。参照稍后描述的图26描述按TT划分的每个CU的RD成本的计算处理的细节。通过执行步骤S412,计算按TT划分的CU的RD成本。

在步骤S413中,控制部11控制编码部13,以使用在计算出的RD成本中RD成本最低的划分结构对CTU进行编码。

注意,上述步骤S401至S406对应于Y的CU划分结构确定处理。步骤S407至S413对应于Cr/Cb的CU划分结构确定处理。

图25是示出图24的步骤S411中的按BT划分的RD成本的计算处理的细节的流程图。

在图25的步骤S431中,控制部11判定在水平BT划分之后Cb/Cr的每个CU的尺寸是否不是2×2。

在S431中判定在水平BT划分之后Cb/Cr的每个CU的尺寸不是2×2的情况下,处理进行到步骤S432。

在步骤S432中,编码部13按水平划分并且计算RD成本。

在步骤S431中判定在水平BT划分之后Cb/Cr的每个CU的尺寸是2×2的情况下,处理跳过步骤S432并且进行到步骤S433。

在步骤S433中,控制部11判定在竖直BT划分之后Cb/Cr的每个CU的尺寸是否不是2×2。

如果在步骤S433中判定在竖直BT划分之后Cb/Cr的每个CU的尺寸不是2×2,则处理进行到步骤S434。

在步骤S434中,编码部13按竖直划分并且计算RD成本。

在步骤S433中判定在竖直BT划分之后Cb/Cr的每个CU的尺寸是2×2的情况下,处理跳过步骤S434并且进行到步骤S435。

在步骤S435中,控制部11采用在计算出的RD成本中RD成本最低的划分结构,并且将该划分结构用于按BT划分的CU的RD成本。

图26是示出图24的步骤S412中的按TT划分的RD成本的计算处理的细节的流程图。

在图26的步骤S451中,控制部11判定在水平TT划分之后Cb/Cr的每个CU的尺寸是否不是2×2。

在步骤S451中判定在水平TT划分之后Cb/Cr的每个CU的尺寸不是2×2的情况下,处理进行到步骤S452。

在步骤S452中,编码部13按水平划分并且计算RD成本。

在步骤S451中判定在水平TT划分之后Cb/Cr的每个CU的尺寸是2×2的情况下,处理跳过S452并且进行到步骤S453。

在步骤S453中,控制部11判定在竖直TT划分之后Cb/Cr的每个CU的尺寸是否不是2×2。

在步骤S453中判定在竖直TT划分之后Cb/Cr的每个CU的尺寸不是2×2的情况下,处理进行到步骤S454。

在步骤S454中,编码部13按竖直方向划分并且计算RD成本。

在步骤S453中判定在竖直TT划分之后Cb/Cr的每个CU的尺寸是2×2的情况下,处理跳过步骤S454并且进行到步骤S455。

在步骤S455中,控制部11采用在计算出的RD成本中RD成本最低的划分结构,并且将该划分结构用于按TT划分的CU的RD成本。

在CU划分结构确定处理中排除了如上所述的Cb/Cr的每个CU的尺寸小于2×2的情况。因此,可以从用于确定CU的划分结构的选择中排除Cb/Cr的每个CU的尺寸为2×2的情况的CU的划分结构。因此,可以减少帧内预测的延迟。

此外,由于使用了单独树,因此,可以使用4×4作为Y的每个CU的尺寸。因此,可以减少编码效率的降低。

要注意的是,尽管以上描述针对的是其中编码侧避免了Cb/Cr的每个CU的尺寸变为2×2的情况的示例,但是在以下描述的实施方式中,CU的划分结构受高级语法的限制。

<3.第三实施方式(将最小CU添加到语法)>

(语法的描述)

图27是描绘关于单独树的语义的示例的图。

在图27中,摘录并且指出了语义,该语义定义了用于对与单独树有关的SPS进行解码所需的信息。

语义定义有关分辨率、4:2:0色度格式等的信息。特别地,由于通过运动图像的整体编码来使用SPS等,因此被称为高级语法。

要注意的是,在图27中,为了便于描述,在左侧添加了数字。

在第一至三行中,指示了“qtbtt_dual_tree_intra_flag等于1指定对于I切片使用隐式四叉树划分将每个CTU划分成具有64×64亮度样本的编码单元,并且这些编码单元是用于亮度和色度的两个单独的coding_quadtree语法结构的根”。描述dual_tree是单独树的别名。单独树也称为dual_tree。第一至三行描述了指定是否要使用单独树的信息。

在第四行中,指示了“log2_ctu_size_minus2plus2指定每个CTU的亮度编码树块尺寸”。在第四行中,指示了指定每个CTU中的亮度的编码树块的尺寸的信息。

在第六至八行中,指示了“log2_min_qt_size_intra_slices_minus2plus2指定将slice_type等于2(I)的切片中的CTU进行四叉树划分而产生的叶块的最小亮度。log2_min_qt_size_intra_slices_minus2的值应在0至Ctblog2SizeY-2(含)的范围内”。

在第九行中,指示了“MinQtLog2SizeIntraY=log2_min_qt_size_intra_slices_minus2+2(7-22)”。

在第十行中,指示了“[Ed.(BB):四叉树的叶子可以是嵌套的多型树的编码单元或者根。]”。

在第十一至十三行中,指示了“log2_min_qt_size_inter_slices_minus2plus2指定将slice_type等于0(B)或1(P)的切片中的CTU进行四叉树划分而产生的叶块的最小亮度尺寸。log2_min_qt_size_inter_slices_minus2的值的范围应在0至CtbLog2SizeY-2(含)之间”。

在第十四行中,指示了“MinQtLog2SizeInter=log_min_qt_size_inter_slices_minus2+2(7-23)”。

在第十五至第十七行中,指示了“max_mtt_hierarchy_depth_inter_slices指定将slice_type等于0(B)或1(P)的切片中的四叉树叶进行多类型树划分而产生的编码单元的最大层次深度。max_mtt_hierarchy_depth_inter_slices的范围应在0至CtbLog2SizeY-MinTbLog2SizeY(含)之间。描述mtt是BT/TT的别名。BT/TT也称为mtt”。

在第十八至二十行中,指示了“max_mtt_hierarchy_depth_intra_slices指定将slice_type等于2(I)的切片中的四叉树叶进行多类型树划分而产生的编码单元的最大层次深度。max_mtt_hierarchy_depth_intra_slices的值的范围从0至CtbLog2SizeY-MinTbLog2SizeY(含)”。

图28是描绘可以使用图27中描述的信息来控制的CU的划分结构的图。

参照图28,带阴影的圆形表示QT划分。黑色圆形表示BT/TT划分。

描述“log2_min_qt_size_intra_slices_minus2”(图27的第11行)是指定在I切片的情况下QT划分的最小尺寸的信息。

在图28中,将QT划分的最小尺寸为1的示例指示为“log2_min_qt_size_intra_slices_minus2”:1。表达式“log2_min_qt_size_intra_slices_minus2”:1表示2的立方并且被解释为8。换言之,8×8是QT划分的最小值。

如果从顶部按QT划分CTU,直到达到8×8,则无法通过“log2_min_qt_size_intra_slices_minus2”:1来执行进一步的QT划分。在图28的情况下,在达到8×8的第二次顶部QT划分之后,只能执行BT/TT划分。

此外,“max_mtt_hierarchy_depth_intra_slices”(图27的第十八行)是指定在I切片的情况下在QT划分之后BT/TT划分可能达到的深度的信息。

在图28中,将BT/TT划分可能达到的深度为3的示例指示为“max_mtt_hierarchy_depth_intra_slices”:3。在图28的情况下,在达到8×8的第二顶部QT划分之后,BT/TT划分最多可以执行到第三阶段。

在实际使用中,由于允许划分成4×4,如果竖直执行BT划分并且水平执行BT划分,则达到4×4,因此无法再执行划分。

图29是描绘其中假设单独树并且使得可以分别针对Y和Cb/Cr执行图28的控制的示例的图。

在图29中,指示了“log2_min_qt_size_intra_slices_luma_minus2”和“log2_min_qt_size_intra_slices_chroma_minus2”。描述“log2_min_qt_size_intra_slices_luma_minus2”是指定Y的QT划分的最小尺寸的信息。描述“log2_min_qt_size_intra_slices_chroma_minus2”是指定Cb/Cr的QT划分的最小尺寸的信息。

此外,在图29中,指示了“max_mtt_hierarchy_depth_intra_luma_slices”和“max_mtt_hierarchy_depth_intra_chroma_slices”。描述“max_mtt_hierarchy_depth_intra_luma_slices”是指定Y的BT/TT划分可以进行的深度的信息。描述“max_mtt_hierarchy_depth_intra_chroma_slices”是指定Cb/Cr的BT/TT划分可以进行的深度的信息。

应当注意,尽管图29中描绘的CU的划分结构是类似于图28的CU的划分结构,但是在图29中,仅描绘了Y或Cb/Cr的一个示例。此外,尽管在语义上没有描述,但是在VVC的软件中,Y和Cb/Cr可以仅针对I切片单独指定。

图30是描绘其中使用图27中描述的信息,使得仅Cb/Cr的每个CU的最小尺寸为4×4的示例的图。

在图30中,将其中Y的QT划分的最小尺寸为0的深度的示例指示为“log2_min_qt_size_intra_slices_luma_minus2”:0。描述“log2_min_qt_size_intra_slices_luma_minus2”表示2的平方并且被解释为4。换言之,4×4是Y的QT划分的最小值。

此外,图30描绘了将其中BT/TT划分可以进行的深度为3的示例指示为“max_mtt_hierarchy_depth_intra_luma_slices”:3。

要注意的是,在图30中,未示出Y的CU的划分结构的示例,而仅描绘了Cb/Cr的CU的划分结构的一个示例。

在图30中,将其中Cb/Cr的QT划分的最小尺寸为0的示例指示为“log2_min_qt_size_intra_slices_chroma_minus2”:0。表达式“log2_min_qt_size_intra_slices_chroma_minus2”:0表示2的平方并且被解释为4。换言之,4×4是Cb/Cr的QT划分的最小值。

此外,在图30中,将其中可以进行BT/TT划分的深度为0的示例描述为“max_mtt_hierarchy_depth_intra_chroma_slices”:0。在图30的情况下,在达到4×4的第二顶部QT划分之后,无法再执行BT/TT划分。

通过以上述方式确定CU划分结构,可以使Cb/Cr的每个CU的最小尺寸为4×4。

然而,由于图30的描述的方法禁止使用BT/TT划分,所以编码效率降低。因此,如图31所描绘的,设置新信息。

图31是描绘由新信息设置的Cb/Cr的CU的划分结构的示例的图。

在图31中,指示了上面参照图29描述的“log2_min_qt_size_intra_slices_luma_minus2”和“log2_min_qt_size_intra_slices_chroma_minus2”。指示了“max_mtt_hierarchy_depth_intra_luma_slices”和“max_mtt_hierarchy_depth_intra_chroma_slices”。

此外,在图31中,新指示了“min_cu_size_idc_intra_slice_luma”、“min_cu_size_idc_intra_slice_luma”、“min_cu_size_idc_interc_slice_luma”和“min_cu_size_idc_interc_slice_luma”。

描述“min_cu_size_idc_intra_slice_luma”是指定I切片(帧内预测)中的Y的CU的最小尺寸的信息。

描述“min_cu_size_idc_intra_slice_chroma”是指定I切片中的Cb/Cr的CU的最小尺寸的信息。

描述“min_cu_size_idc_inter_slice_luma”是指定P/B切片(帧间预测)中的Y的CU的最小尺寸的信息。

描述“min_cu_size_idc_inter_slice_choma”是指定P/B切片中的Cb/Cr的CU的最小尺寸的信息。

此外,对于Cb/C的CU,如下定义为0至2。特别地,在指定Cb/Cr的CU的最小尺寸的信息为0的情况下,可以使用小至2×2的尺寸。在指定Cb/Cr的CU的最小尺寸的信息为1的情况下,可以使用小至2×4和4×2的尺寸。在指定Cb/Cr的CU的最小尺寸的信息为2的情况下,可以使用小至4×4的尺寸。

关于Y的CU,如下定义0至2。特别地,在指定Y的CU的最小尺寸的信息为0的情况下,可以使用小至4×4的尺寸。在指定Y的CU最小尺寸的信息为1的情况下,可以使用小至4×8和8×4的尺寸。在指定与Y的CU的最小尺寸的信息为2的情况下,可以使用小至8×8的尺寸。

上述新信息与SPS一起以被编码侧包括在SPS中的方式被发送。

(编码装置的实施方式的配置的示例)

图32是描绘应用了本公开内容的编码装置的实施方式的配置的示例的框图。

图32的编码装置210包括控制部211、设置部212、编码部13和发送部14,并且通过符合VVC方法的方法对图像进行编码。

在图32所示的部件中,与上文参照图5描述的部件相同的部件由相同的附图标记表示。适当地省略重复的描述。

特别地,编码装置210的控制部211与图5的控制部11类似地配置,并且作为编码装置210中的中央处理装置来操作。

例如,控制部211控制设置部212以设置SPS的“min_cu_size_idc_intra_slice_chroma”和“min_cu_size_idc_inter_slice_choma”。

此外,控制部211控制编码部13以计算RD成本,并且基于从编码部13提供的RD成本来确定CU的划分结构。

此时,在“min_cu_size_idc_intra_slice_luma(或min_cu_size_idc_inter_slice_luma)”为2的情况下,除了划分之后Cr/Cb的每个CU的尺寸为2×2、2×4或4×2时以外,控制单元211控制编码单元13以计算RD成本。在这种情况下,当Cr/Cb的每个CU的尺寸为2×2、2×4或4×2时,不计算RD成本,并且当Cr/Cb的每个CU的尺寸为2×2、2×4或4×2,不发送标志。

同时,在“min_cu_size_idc_intra_slice_luma(或min_cu_size_idc_inter_slice_luma)”为1的情况下,除了当Cr/Cb的每个CU的尺寸为2×2时以外,控制部211控制编码部13以计算RD成本。在这种情况下,不计算当Cr/Cb的每个CU的尺寸为2×2时的RD成本,并且不发送当Cr/Cb的每个CU的尺寸为2×2时的标志。

此外,与控制部11类似,控制部211基于RD成本来确定预测模式。控制部211控制设置部212以基于所确定的CU的划分结构和预测模式来设置参数集,并且控制编码部13以执行编码处理。

设置部212根据控制部211的指令来设置SPS、PPS、VUI、SEI等。这时,设置部212设置SPS的“min_cu_size_idc_intra_slice_chroma”和“min_cu_size_idc_interc_intercept_slice_choma”。设置部212将所设置的SPS、PPS、VUI、SEI等的参数集输出到编码部13。

以帧为单位的图像被输入到编码部13。编码部13根据控制部211的指令通过符合VVC方法的方法对输入的图像进行编码。编码部13根据参数集和作为编码的结果而获得的编码数据生成编码流,并且将编码流输出到发送部14。

发送部14将从编码部13提供的编码流发送到稍后描述的解码装置410。

(编码装置的操作)

图33是示出图32的编码装置的流生成处理的流程图。

在图33的步骤S511中,编码装置210的设置部212设置参数集。此时,设置部212设置SPS的“min_cu_size_idc_intra_slice_chroma”和“min_cu_size_idc_interc_slice_choma”。设置部212将所设置的参数集输出到编码部13。

在步骤S512中,编码部13执行用于对以帧为单位的图像进行编码的编码处理。该编码处理是与上述图9和图10中除了CU划分结构确定处理(S33)之外的处理基本相同的处理,因此,省略对编码处理的描述。通过编码处理生成编码数据。编码数据被累积到累积缓冲器37中。

要注意的是,基于通过步骤S512中的编码处理计算出的RD成本,确定CU的划分结构、预测模式等。在步骤S512的编码处理中使用基于RD成本的CU的划分结构和预测模式。

在步骤S513中,根据从设置部212提供的参数集以及所累积的编码数据来生成编码流,并且将编码流输出到发送部14。

在步骤S514中,发送部14将从编码部13提供的编码流发送到稍后描述的解码装置410,然后结束处理。

图34至图36是示出图9的步骤S33中的CU划分结构确定处理的另一示例的流程图。

要注意的是,图34描绘了在I切片的情况下的处理。

在图34的步骤S601中,控制部211判定是否已经按QT划分Y的CTU。

在步骤S601中判定CTU已经按QT划分的情况下,处理进行到步骤S602。

在步骤S602中,编码部13计算按QT划分的每个CU的RD成本。

相反,在步骤S601中判定CTU尚未按QT划分的情况下,处理进行到步骤S603。

在步骤S603中,编码部13执行不划分的每个CU的RD成本的计算处理。

在步骤S604中,编码部13执行按BT划分的每个CU的RD成本的计算处理。由于计算按BT划分的每个CU的RD成本的处理是与上述图15的处理基本相同的处理,因此省略其描述。通过步骤S604,计算按BT划分的每个CU的RD成本。

在步骤S605中,编码部13执行按TT划分的每个CU的RD成本的计算处理。按TT划分的每个CU的RD成本的计算处理是与上述图16的处理基本相同的处理,因此省略其描述。在步骤S605中,计算按TT划分的每个CU的RD成本。

在步骤S606中,控制部211控制编码部13,以使用计算出的RD成本中RD成本最低的划分结构对CTU进行编码。

在图35的步骤S607中,控制部211判定Cb/Cr的CTU是否已经按QT划分。

在步骤S607中判定CTU已经按QT划分的情况下,处理进行到步骤S608。

在步骤S608中,控制部211判定在“min_cu_size_idc_intra_slice_chorma”==2的情况下,划分之后Cb/Cr的每个CU的尺寸是否不是2×2、2×4或4×2。

在步骤S608中判定划分之后Cb/Cr的每个CU的尺寸不是2×2、2×4或4×2的情况下,处理进行到步骤S609。

在步骤S609中,控制部211判定在“min_cu_size_idc_intra_slice_chroma”==1的情况下,划分之后Cb/Cr的每个CU的尺寸是否不是2×2。

在步骤S609中判定划分之后Cb/Cr的每个CU的尺寸不是2×2的情况下,处理进行到步骤S610。

在步骤S610中,编码部13计算按QT划分的每个CU的RD成本。

相反,在步骤S607中判定Cb/Cr的CTU尚未按QT划分的情况下,或者在步骤S608中判定在QT划分之后Cb/Cr的每个CU的尺寸是2×2、2×4或4×2的情况下,处理进行到步骤S611。同样在步骤S609中判定在QT划分之后Cb/Cr的每个CU的尺寸是2×2的情况下,处理进行到步骤S611。在这些情况下,不计算RD成本,也不会发送划分标志。

在步骤S611中,编码部13执行不划分的每个CU的RD成本的计算处理。

在步骤S612中,控制部211判定在“min_cu_size_idc_intra_slice_chorma”==2的情况下,划分之后Cb/Cr的每个CU的尺寸是否不是2×2、2×4或4×2。

在步骤S612中判定划分之后Cb/Cr的每个CU的尺寸不是2×2、2×4或4×2的情况下,处理进行到步骤S613。

在步骤S613中,控制部211判定在“min_cu_size_idc_intra_slice_chroma”==1的情况下,Cb/Cr的每个CU的尺寸是否不是2×2。

在步骤S613中判定在划分之后Cb/Cr的每个CU的尺寸不是2×2的情况下,处理进行到步骤S614。

在步骤S614中,编码部13执行按BT划分的每个CU的RD成本的计算处理。按BT划分的每个CU的RD成本的计算处理是与上述图15的按BT划分的RD成本的计算处理基本上相同的处理。通过步骤S614,计算按BT划分的每个CU的RD成本。

相反,在步骤S613中判定在QT划分之后Cb/Cr的每个CU的尺寸是2×2、2×4或4×2的情况下,处理进行到图36的步骤S615。同样在步骤S614中判定在QT划分之后Cb/Cr的每个CU的尺寸是2×2的情况下,处理进行到图36的步骤S615。在那些情况下,不计算RD成本,也不设置划分标志。

在图36的步骤S615中,控制部211确定在“min_cu_size_idc_intra_slice_chorma==2”的情况下,划分之后Cb/Cr的每个CU的尺寸是否不是2×2、2×4或4×2。

在步骤S615中判定划分之后Cb/Cr的每个CU的尺寸不是2×2、2×4或4×2的情况下,处理进行到步骤S616。

在步骤S616中,控制部211判定在“min_cu_size_idc_intra_slice_chroma”==1的情况下,划分之后Cb/Cr的每个CU的尺寸是否不是2×2。

在步骤S616中判定在划分之后Cb/Cr的每个CU的尺寸不是2×2的情况下,处理进行到步骤S617。

在步骤S617中,编码部13执行按TT划分的每个CU的RD成本的计算处理。按TT划分的每个CU的RD成本的计算处理是基本上与上述图16的按TT划分的RD成本的计算处理相同的处理。通过步骤S617,计算按TT划分的每个CU的RD成本。

相反,在步骤S615中判定在QT划分之后Cb/Cr的每个CU的尺寸是2×2、2×4或4×2时,处理进行到步骤S618。同样在步骤S616中判定在QT划分之后Cb/Cr的每个CU的尺寸是2×2的情况下,处理进行到步骤S618。在这些情况下,将不计算RD成本,也不设置划分标志。

在步骤S618中,控制部11控制编码部13,以使用计算出的RD成本中RD成本最低的划分结构对CTU进行编码。

应当注意,在上述图34至图36中,步骤S601至S606针对Y的CU划分结构确定处理。步骤S607至S618针对用于Cr/Cb的CU划分结构确定处理。

图37至图39是示出图9的步骤S33中的CU划分结构确定处理的另一示例的流程图。

应当注意,在图37中,描述了关于P/B切片的情况的处理。

在图37的步骤S651中,控制部211判定Y的CTU是否已经按QT划分。

在步骤S651中判定Y的CTU已经按QT划分的情况下,处理进行到步骤S652。

在步骤S652中,编码部13计算按QT划分的每个CU的RD成本。

相反,在步骤S651中判定Y的CTU尚未按QT划分的情况下,处理进行到步骤S653。

在步骤S653中,编码部13执行不划分的每个CU的RD成本的计算处理。

在步骤S654中,编码部13执行按BT划分的每个CU的RD成本的计算处理。由于按BT划分的每个CU的RD成本的计算处理是与上述图15中的处理基本相同的处理,因此省略其描述。通过步骤S654,计算按BT划分的每个CU的RD成本。

在步骤S655中,编码部13执行按TT划分的每个CU的RD成本的计算处理。由于按TT划分的每个CU的RD成本的计算处理是基本上与上述图16中的处理相同的处理,因此省略其描述。通过步骤S655,计算通过TT的每个CU的RD成本。

在步骤S656中,控制部211控制编码部13,以使用计算出的RD成本中RD成本最低的划分结构对CTU进行编码。

在图38的步骤S657中,控制部211判定Cb/Cr的CTU是否已经按QT划分。

在步骤S657中判定CTU已经按QT划分的情况下,处理进行到步骤S658。

在步骤S658中,控制部211判定如果min_cu_size_idc_inter_slice_chorma==2,则划分之后Cb/Cr的每个CU的尺寸是否不是2×2、2×4或4×2。

在步骤S658中判定划分之后Cb/Cr的每个CU的尺寸不是2×2、2×4或4×2的情况下,处理进行到步骤S659。

在步骤S659中,控制部211判定如果min_cu_size_idc_inter_slice_chroma==1,则划分之后Cb/Cr的每个CU的尺寸是否不是2×2。

在步骤S659中判定Cb/Cr的每个CU的尺寸不是2×2的情况下,处理进行到步骤S660。

在步骤S660中,编码部13计算按QT划分的每个CU的RD成本。

同时,在步骤S657中判定Cb/Cr的CTU未按QT划分的情况下,或者在步骤S658中判定在QT划分之后Cb/Cr的每个CU的尺寸是2×2、2×4或4×2的情况下,处理进行到步骤S661。同样在步骤S659中判定在QT划分之后Cb/Cr的每个CU的尺寸是2×2的情况下,处理进行到步骤S661。在这些情况下,不计算RD成本,也不发送划分标志。

在步骤S661中,编码部13执行不划分的每个CU的RD成本的计算处理。

在步骤S662中,控制部211判定在min_cu_size_idc_inter_slice_chorma==2的情况下,划分之后Cb/Cr的每个CU的尺寸是否不是2×2、2×4或4×2。

在步骤S662中判定划分之后Cb/Cr的每个CU的尺寸不是2×2、2×4或4×2以外的情况下,处理进行到步骤S663。

在步骤S663中,控制部211判定在min_cu_size_idc_inter_slice_chroma==1的情况下,划分之后Cb/Cr的每个CU的尺寸是否不是2×2。

在步骤S663中判定划分之后Cb/Cr的每个CU的尺寸不是2×2的情况下,处理进行到步骤S664。

在步骤S664中,编码部13执行按BT划分的每个CU的RD成本的计算处理。按BT划分的每个CU的RD成本的计算处理是与上述图15中按BT划分的RD成本的计算处理基本相同的处理。通过步骤S664,计算按BT划分的每个CU的RD成本。

此外,在步骤S663中判定在QT划分之后Cb/Cr的每个CU的尺寸是2×2、2×4或4×2的情况下,处理进行到图39的步骤S665。同样在步骤S664中判定在QT划分之后Cb/Cr的每个CU的尺寸是2×2的情况下,处理进行到图39的步骤S665。在那些情况下,不计算RD成本,也不发送划分标志。

在图39的步骤S665中,控制部211判定在min_cu_size_idc_inter_slice_chorma==2的情况下,划分之后Cb/Cr的每个CU的尺寸是否不是2×2、2×4或4×2。

在步骤S665中判定划分之后Cb/Cr的每个CU的尺寸不是2×2、2×4或4×2的情况下,处理进行到步骤S666。

在步骤S666中,控制部211判定在min_cu_size_idc_inter_slice_chroma==1的情况下,划分之后Cb/Cr的每个CU的尺寸是否不是2×2。

在步骤S666中判定划分之后Cb/Cr的每个CU的尺寸不是2×2的情况下,处理进行到步骤S667。

在步骤S667中,编码部13执行按TT划分的每个CU的RD成本的计算处理。按TT划分的每个CU的RD成本的计算处理是基本上与上述图16的通过TT进行的RD成本的计算处理相同的处理。在步骤S667中,计算按TT划分的每个CU的RD成本。

相反,在步骤S665中判定QT划分之后Cb/Cr的每个CU的尺寸是2×2、2×4或4×2的情况下,处理进行到步骤S668。同样在步骤S666中判定QT划分之后Cb/Cr的每个CU的尺寸是2×2的情况下,处理进行到步骤S668。在这些情况下,不计算RD成本,也不发送划分标志。

在步骤S668中,控制部211控制编码部13,以使用计算出的RD成本中RD成本最低的划分结构对CTU进行编码。

应当注意,在上述图37至图39中,步骤S651至S656针对Y的CU划分结构确定处理。步骤S657至S668针对用于Cr/Cb的CU划分结构确定处理。

如上所述,最小尺寸的CU被包括在SPS中并且与SPS一起被发送。由于在解码侧不使用最小尺寸的CU,因此可以减少帧内预测的延迟。

此时,由于在CU划分结构确定处理中不需要计算不必要尺寸的CU的RD成本,因此可以减少处理时间。另外,由于不需要发送不必要尺寸的CU的划分标志(CU划分结构信息),因此可以提高编码效率。

(解码装置的实施方式的配置的示例)

图40是描绘对从图32的编码装置210发送的并且应用了本公开内容的编码流进行解码的解码装置的实施方式的配置的示例的框图。

图40的解码装置410包括控制部411、接收部112、提取部113和解码部114。

在图40所示的部件中,与上文参照图18描述的部件相同的部件由相同的附图标记表示。适当地省略重复的描述。

解码装置410的控制部411与图18的控制部111类似地配置,并且作为解码装置410的中央处理装置来操作。

控制部411提取参数集中包括的信息。控制部411基于参数集中包括的信息来控制解码部114。特别地,控制部411将图28的参数集中包括的信息以及在SPS中新设置并且指定CU的最小尺寸的信息输出到解码部114,以执行CU划分结构确定处理。

接收部112接收从图32的编码装置210发送的编码流,并且将该编码流输出到提取部113。

提取部113从接收部112提供的编码流中提取参数集和编码数据。提取部113将参数集输出到控制部411。提取部113将编码数据输出到解码部114。

解码部114根据控制部411的指令,通过符合VVC方法的方法,对从提取部113提供的编码数据进行解码。这时,解码部114根据控制部411的指令执行CU划分结构确定处理,并且由解码部114使用所确定的划分结构的CU。解码部114在解码之后输出图像。

(解码装置的操作)

图41是示出图40的解码装置的图像生成处理的流程图。

在图41的步骤S701中,解码装置410的接收部112接收从图32的编码装置210发送的编码流,并且将该编码流输出到提取部113。

在步骤S702中,提取部113从接收部112提供的编码流中提取编码数据和参数集。提取部113将编码数据输出到解码部114。提取部113将参数集输出到控制部411。

在步骤S703中,控制部411从SPS中提取作为指定CU的最小尺寸的信息的“min_cu_size_idc_intra_slice_chroma”和“min_cu_size_idc_inter_slice_choma”。

控制部411基于参数集中包括的信息以及指定CU的最小尺寸的信息来控制解码部114。

在步骤S704中,解码部114根据控制部411的指令对从提取部113提供的编码数据进行解码。除了CU划分结构确定处理(S333)以外,该解码处理是与上述图21中的处理基本上相同的处理,因此,省略其描述。

图42是示出图21的步骤S333中的CU划分结构确定处理的示例的流程图。

要注意的是,在图42的描述中,适当地参照了图43所示的树。

图43是描绘在CU划分结构确定处理中使用的树的示例的图。

在图43的树上,描绘了分支F1至分支F3。与分支F1至分支F3对应的标志作为划分标志被包括在来自编码侧的比特流中,并且与来自编码侧的比特流一起被发送。

在图42的步骤S711中,解码部114的无损解码部132判定CTU是否已经按QT划分。

在步骤S711中判定CTU已经按QT划分的情况下,处理进行到步骤S712。

在步骤S712中,无损解码部132判定在min_cu_size_idc_inter_slice_chorma==2的情况下,划分之后Cb/Cr的每个CU的尺寸是否不是2×2、2×4或4×2。

在步骤S712中判定划分之后Cb/Cr的每个CU的尺寸不是2×2、2×4或4×2的情况下,处理进行到步骤S713。

在步骤S713中,无损解码部132判定如果min_cu_size_idc_inter_slice_chroma==1,则划分之后Cb/Cr的每个CU的尺寸是否不是2×2。

在步骤S713中判定划分之后Cb/Cr的每个CU的尺寸不是2×2的情况下,处理进行到步骤S714。

在步骤S714中,无损解码部132在划分标志中读出图43所示的分支F1的标志。

在步骤S713中判定QT划分之后Cb/Cr的每个CU的尺寸是2×2、2×4或4×2的情况下,处理进行到步骤S715。在步骤S714中判定QT划分之后Cb/Cr的每个CU的尺寸是2×2的情况下,处理进行到步骤S715。

在步骤S715中,无损解码部132不读出分支F1的标志,并且将该标志解释为0。此后,处理进行到步骤S716。

相反,在步骤S711中判定CTU尚未按QT划分的情况下,处理进行到步骤S716。

在步骤S716中,无损解码部132判定分支F1的标志是否为0。

在步骤S716中判定分支F1的标志为0的情况下,处理进行到步骤S717。

在步骤S717中,无损解码部132判定在min_cu_size_idc_inter_slice_chorma==2的情况下,划分之后Cb/Cr的每个CU的尺寸是否不是2×2、2×4或4×2。

在步骤S717中判定划分之后Cb/Cr的每个CU的尺寸不是2×2、2×4或4×2的情况下,处理进行到步骤S718。

在步骤S718中,无损解码部132判定在min_cu_size_idc_intra_slice_chroma==1的情况下,划分之后Cb/Cr的每个CU的尺寸是否不是2×2。

在步骤S718中判定划分之后Cb/Cr的每个CU的尺寸不是2×2的情况下,处理进行到步骤S719。

在步骤S719中,无损解码部132在划分标志中读出图43所示的分支F2的标志。之后,处理进行到步骤S721。

相反,在步骤S717中判定QT划分之后Cb/Cr的每个CU的尺寸是2×2、2×4或4×2时,处理进行到步骤S720。同样在步骤S718中判定QT划分之后Cb/Cr的每个CU的尺寸是2×2的情况下,处理进行到步骤S720。

在步骤S720中,无损解码部132不读出分支F2的标志,并且将该标志解释为0。此后,处理进行到步骤S721。

在步骤S721中,无损解码部132判定分支F2的标志是否为1。

在步骤S721中判定分支F2的标志为1的情况下,处理进行到步骤S722。

在步骤S722中,无损解码部132从CU划分结构信息内读出图43所示的分支F3的标志,并且CU划分结构确定处理结束。

在步骤S716中判定分支F1的标志为1的情况下或者在步骤S721中判定分支F2的标志为0的情况下,CU划分结构确定处理结束。

如上所述,由于最小尺寸的CU被包括在SPS中并且与SPS一起发送,并且最小尺寸的CU未在解码侧上使用,因此可以减小帧内预测的延迟。

要注意的是,尽管图42是针对I切片的情况,但是在P/B切片的情况下的处理仅在切片的类型上是不同的,并且执行与在I切片的情况下的处理相似的处理,因此省略对该处理的描述。

此外,尽管在前面的描述中,最小尺寸的CU被包括在SPS中,但是最小尺寸的CU可以被包括在诸如PPS之类的一些其他语法中。

<4.第四实施方式(通过标准确定最小CU)>

在第四实施方式中,最小尺寸的CU没有被添加到高级语法,并且按照标准,不能将2×2的尺寸用于Cr/Cb的CU。

特别地,通过标准来确定,使得使用min_cu_size_idc_intra_slice_chroma==2,并且根据该标准执行解码。

要注意的是,确定CU的最小尺寸的方法不是限制性的,并且只要不能使用2×2尺寸的Cb/Cr,就可以应用任何其他的设计。

通过如上所述通过标准确定最小尺寸的CU,可以避免在2×2的Cb/Cr的情况下可能发生的大的延迟。

在前面的描述中,符合VVC的方法被用作编码方法。然而,本技术不限于此,并且可以应用其他编码方法/解码方法。

应当注意,尽管上述第三实施方式还针对其中不仅排除了2×2而且还排除了2×4或4×2的示例,但是在第一、第二和第四实施方式中,不仅可以排除2×2,还可以排除2×4或4×2。

另外,尽管在前面的描述中描述了4:2:0的色度格式的情况,但是也可以应用于其他色度格式。

要注意的是,本公开可以应用于当通过网络介质(例如卫星广播、有线电视、因特网或移动电话)(例如VVC方法)接收到通过诸如离散余弦变换和运动补偿的正交变换压缩的图像信息(比特流)时使用的图像编码装置和图像解码装置。而且,本公开可以应用于当在诸如光盘或磁盘或闪存之类的存储介质上处理图像信息时使用的图像编码装置和图像解码装置。

<5.第五实施方式>

(应用本公开内容的计算机的描述)

虽然上述一系列处理可以由硬件执行,但是也可以以其他方式由软件执行。在一系列处理由软件执行的情况下,将构造软件的程序安装到计算机中。这里的计算机包括结合在专用硬件中的计算机以及例如通过将各种类型的程序安装到个人计算机等中来执行各种类型的功能的通用的个人计算机。

图44是示出根据程序执行上文中描述的一系列处理的计算机的硬件配置的示例的框图。

在计算机中,CPU(中央处理单元)501、ROM(只读存储器)502和RAM(随机存取存储器)503通过总线504彼此连接。

此外,输入/输出接口505连接到总线504。输入部506、输出部507、存储部508、通信部509和驱动器510连接至输入/输出接口505。

输入部506包括例如键盘、鼠标、麦克风等。输出部507包括显示器、扬声器等。存储部508包括例如硬盘、非易失性存储器等。通信部509包括网络接口等。驱动器510驱动可移除介质511如磁盘、光盘、磁光盘或半导体存储器。

在以如上所述的方式配置的计算机中,CPU 501通过输入/输出接口505和总线504将例如存储在存储部508中的程序加载到RAM 503中,并且执行该程序以实现上述一系列处理。

要由计算机(CPU 501)执行的程序可以被记录在例如作为封装介质等的可移除介质511上并作为可移除记录介质511来提供该程序。此外,可以通过诸如局域网、因特网或数字卫星广播的有线或无线传输介质来提供该程序。

在计算机中,可以通过将可移除介质511安装在驱动器510上来经由输入/输出接口505将程序安装到存储部508中。此外,程序可以经由有线或无线传输介质被通信部509接收并且被安装到存储部508中。此外,程序可以预先安装在ROM 502或存储部508中。

要注意的是,要由计算机执行的程序可以是按照如本说明书中描述的顺序以时间序列执行处理的程序,或者可以是并行执行或在必要的时间(例如,在调用该处理时)执行处理的程序。

要注意的是,在本说明书中,描述了其中各种类型的信息在编码数据中被多路复用并且从编码侧发送到解码侧的示例。但是,用于发送这种信息的技术不限于该示例。例如,这样的信息可以在不与编码数据复用的情况下作为与编码数据相关联的单独数据被传送或记录。在此,术语“关联”表示在解码时可以将包括在比特流中的图像(可以是诸如切片或块的图像的一部分)和与该图像对应的信息链接起来。特别地,信息可以在与编码数据的传输线不同的传输线上传输。此外,该信息可以被记录在与用于编码数据的记录介质不同的记录介质(或者同一记录介质的另一记录区域)上。此外,信息与编码数据可以以自由选择的单元(例如多个帧、一个帧或者帧的一部分)彼此相关联。

此外,在本说明书中,术语系统用于表示多个部件(装置、模块(部件)等)的集合,并且所有部件是否容纳在同一壳体中无关紧要。因此,容纳在分开的壳体中并且通过网络彼此连接的多个装置是系统,并且多个模块被容纳在单个壳体中的一个装置也是系统。

本说明书中描述的有利效果仅是说明性的而非限制性的。还可能存在其他有益效果。

本公开内容的实施方式不限于以上描述的实施方式,而是在不脱离本公开内容的主题的情况下可以进行各种改变。

要注意的是,本公开可以应用于当通过诸如卫星广播、有线电视、因特网或移动电话之类的网络介质接收到编码流时或者在诸如光盘、磁盘或闪存之类的存储介质上处理编码流时使用的图像编码装置和图像解码装置。

此外,本公开可以采用云计算的配置,通过该配置,一个功能由多个装置通过网络分担和协同处理。

此外,上述流程图的每个步骤可以由单个装置执行,或者可以由多个装置共享并且执行。

此外,在一个步骤中包括多个处理的情况下,一个步骤中包括的多个处理可以由一个装置执行或者可以由多个装置共享并且执行。

尽管已经参照附图详细描述了本公开内容的优选实施方式,但是本公开不限于这样的示例。显然,具有本公开所涉及的技术领域中的公知常识的人可以在权利要求书中描述的技术思想的范围内进行各种变更或修改,并且应当认识到,这些变更或修改当然也落入该本公开内容的技术范围内。

要注意的是,本技术还可以采用以下配置。

(1)一种图像处理装置,包括:

控制部,其被配置成当要分别确定亮度的CU划分结构和色度的CU划分结构时,针对所述色度排除在竖直方向和水平方向中的至少一个方向上为最小尺寸的CU划分结构以确定所述色度的CU划分结构;以及

编码部,其被配置成利用所述亮度的CU划分结构和所述色度的CU划分结构对图像进行编码以生成编码流。

(2)根据上述(1)所述的图像处理装置,其中,

在竖直方向和水平方向中的至少一个方向上为最小尺寸的CU划分结构的尺寸为2×2、4×2或2×4。

(3)根据上述(1)或(2)所述的图像处理装置,还包括:

成本计算部,其被配置成分别计算针对所述亮度的CU划分结构的成本和针对所述色度的CU划分结构的成本,其中,

针对所述亮度,所述控制部基于针对所述亮度的CU划分结构的成本来确定所述亮度的CU划分结构,并且

针对所述色度,所述控制部抑制对最小CU划分结构的针对所述色度的CU划分结构成本的计算,并且基于所述色度的CU划分结构的成本来确定所述色度的CU划分结构。

(4)根据上述(1)至(3)中任一项所述的图像处理装置,还包括:

设置部,其被配置成设置描述所述最小CU划分结构的语法,其中,

所述控制部针对所述色度通过基于所述语法排除所述最小CU划分结构来确定所述色度的CU划分结构。

(5)根据上述(4)所述的图像处理装置,还包括:

发送部,其被配置成发送所述语法和所述编码流。

(6)根据上述(4)所述的图像处理装置,其中,

所述语法包括SPS。

(7)根据上述(1)至(3)中任一项的图像处理装置,其中,

所述最小CU划分结构由标准定义。

(8)一种由图像处理装置执行的图像处理方法,包括:

当要分别确定亮度的CU划分结构和色度的CU划分结构时,针对所述色度排除在竖直方向和水平方向中的至少一个方向上为最小尺寸的CU划分结构以确定所述色度的CU划分结构;以及

利用所述亮度的CU划分结构和所述色度的CU划分结构对图像进行编码以生成编码流。

(9)一种程序,所述程序使计算机用作:

控制部,其被配置成当要分别确定亮度的CU划分结构和色度的CU划分结构时,针对所述色度排除在竖直方向和水平方向中的至少一个方向上为最小尺寸的CU划分结构以确定所述色度的CU划分结构;以及

编码部,其被配置成利用所述亮度的CU划分结构和所述色度的CU划分结构对图像进行编码以生成编码流。

(10)一种图像处理装置,包括:

控制部,其被配置成当要分别确定亮度的CU划分结构和色度的CU划分结构时,针对所述色度排除在竖直方向和水平方向中的至少一个方向上为最小尺寸的CU划分结构以确定所述色度的CU划分结构,并且基于利用所述亮度的CU划分结构和所述色度的CU划分结构对图像进行编码而生成的编码流来确定所述亮度的CU划分结构和所述色度的CU划分结构;以及

解码部,其被配置成基于所述亮度的CU划分结构和所述色度的CU划分结构对所述编码流进行解码以生成所述图像。

(11)一种由图像处理装置执行的图像处理方法,包括:

当要分别确定亮度的CU划分结构和色度的CU划分结构时,针对所述色度排除在竖直方向和水平方向中的至少一个方向上为最小尺寸的CU划分结构以确定所述色度的CU划分结构,并且基于利用所述亮度的CU划分结构和所述色度的CU划分结构对图像进行编码而生成的编码流来确定所述亮度的CU划分结构和所述色度的CU划分结构;以及

基于所述亮度的CU划分结构和所述色度的CU划分结构对所述编码流进行解码以生成所述图像。

(12)一种程序,所述程序使计算机用作:

控制部,其被配置成当要分别确定亮度的CU划分结构和色度的CU划分结构时,针对所述色度排除在竖直方向和水平方向中的至少一个方向上为最小尺寸的CU划分结构以确定所述色度的CU划分结构,并且基于利用所述亮度的CU划分结构和所述色度的CU划分结构对图像进行编码而生成的编码流来确定所述亮度的CU划分结构和所述色度的CU划分结构;以及

解码部,其被配置成基于所述亮度的CU划分结构和所述色度的CU划分结构对所述编码流进行解码以生成所述图像。

[附图标记列表]

10:编码装置

11:控制部

12:设置部

13:编码部

14:发送部

46:帧内预测部

47:运动预测和补偿部

36:编码部

110:解码装置

111:控制部

112:接收部

113:提取部

114:解码部

132:无损解码部

143:帧内预测部

144:运动补偿部

210:编码装置

211:控制部

212:设置部

410:解码装置

411:控制部

77页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:视频编解码系统中变换系数量化缩放的方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类