一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

对视频进行编码或解码的方法和非暂时性计算机可读介质与流程

2022-09-11 00:09:44 来源:中国专利 TAG:

对视频进行编码或解码的方法和非暂时性计算机可读介质
1.本技术是原案申请号为201980017079.x的发明专利申请(国际申请号:pct/kr2019/000136,申请日:2019年1月4日,发明名称:对图像进行编码或解码的方法和装置)的分案申请。
技术领域
2.本公开涉及视频的编码和解码。在一方面,本公开涉及用于作为编码的基本单元的编码单元的编码或解码语法。


背景技术:

3.由于视频数据的量大于语音数据或静止图像数据的量,因此在不压缩的情况下存储或发送视频数据需要包括存储器的大量硬件资源。因此,在存储或发送视频数据时,使用编码器来压缩视频数据,以便进行存储或发送。然后,解码器接收经压缩的视频数据,并且解压缩并再现视频数据。用于这种视频的压缩技术包括h.264/avc和高效视频编码(hevc),hevc是在2013年初建立的并且比h.264/avc提高了约40%的编码效率。
4.图1是例示了在hevc中进行块划分的图。
5.在hevc中,一个图片被分割成正方形形状的多个编码树单元(ctu),并且每个ctu按四叉树结构被递归地分割成正方形形状的多个编码单元(cu)。当确定作为编码基本单元的cu时,cu被分割成一个或更多个预测单元(pu)并以逐pu为基础进行预测。通过从多种分割类型当中选择具有良好编码效率的一种分割类型来将cu分割成pu。编码设备对针对每个pu的预测语法进行编码,使得解码设备可以以与编码设备相同的方式预测每个pu。
6.另外,cu按四叉树结构被分割成一个或更多个变换单元(tu),并且使用tu的大小来变换作为实际像素与预测像素之间的差异的残差信号。针对变换的语法基于逐tu进行编码并且被发送到解码设备。
7.如上所述,hevc具有诸如将ctu分割成cu、将cu分割成pu以及将cu分割成tu这样的复杂的块划分结构。因此,cu、pu和tu可以是大小不同的块。在hevc的该块划分结构中,必须分别对cu以及cu中的pu和tu的相关语法进行编码。在hevc中,初始对cu的语法进行编码。然后,cu调用每个pu以对针对每个pu的语法进行编码,并且还调用每个tu以对针对每个tu的语法进行编码。
8.为了应对块划分结构和语法结构的复杂性,最近讨论了将ctu分割成cu然后使用每个cu作为pu和tu的块划分技术。在这种新的划分结构中,当确定了cu时,在不进行附加划分的情况下以cu的大小执行预测和变换。即,cu、pu和tu是相同的块。新划分结构的引入需要用于对针对cu的语法进行编码的新结构。


技术实现要素:

9.技术问题
10.为了满足该要求,本发明的一方面提出了一种用于对编码单元的语法进行编码或
解码的新结构。
11.技术方案
12.按照本公开的一方面,提供了一种对视频进行解码的方法,该方法包括以下步骤:通过块划分确定将进行解码的编码单元;对所述编码单元的预测语法进行解码,所述预测语法包括指示是否以跳过模式对所述编码单元进行编码的跳过标志;在对所述预测语法进行解码之后,对包括变换/量化跳过标志和编码单元cbf的变换语法进行解码,其中,所述变换/量化跳过标志指示是否跳过逆变换、逆量化和环路内滤波的至少部分,并且所述编码单元cbf指示构成所述编码单元的亮度块和两个色度块中的所有系数是否全都为零,并且基于所述预测语法和所述变换语法来重构所述编码单元。
13.按照本公开的另一方面,提供了一种视频解码设备,该视频解码设备包括解码器和重构器,该解码器被配置为:通过块划分确定要进行解码的编码单元;对所述编码单元的预测语法进行解码,所述预测语法包括指示是否以跳过模式对所述编码单元进行编码的跳过标志;以及在对所述预测语法进行解码之后,对包括变换/量化跳过标志和编码单元cbf的所述编码单元的变换语法进行解码,其中,所述变换/量化跳过标志指示是否跳过逆变换、逆量化和环路内滤波的至少部分,并且所述编码单元cbf指示构成所述编码单元的亮度块和两个色度块中的所有系数是否全都为零;所述重构器被配置为基于所述预测语法和所述变换语法来重构所述编码单元。
附图说明
14.图1是例示了在hevc中进行块划分的图。
15.图2是能够实现本公开的技术的视频编码设备的示例性框图。
16.图3是使用qtbt结构的块划分的示例图。
17.图4是多种帧内预测模式的示例图。
18.图5是当前cu的外围块的示例图。
19.图6是能够实现本公开的技术的视频解码设备的示例性框图。
20.图7是根据本公开的用于对cu语法进行解码的示例性流程图。
21.图8是根据本公开的用于对cu语法进行解码的另一示例性流程图。
22.图9是用于例示对针对相应亮度分量和色度分量的变换语法进行解码的过程的示例性流程图。
23.图10是用于例示对构成cu的三个分量的cbf进行解码的方法的示例性流程图。
具体实施方式
24.下文中,将参照附图详细地描述本发明的一些实施方式。应当注意,在将附图标记添加到相应附图中的组成元件时,相同的附图标记指定相同的元件,尽管这些元件是在不同附图中被示出的。另外,在对本发明的以下描述中,当对并入到本文中的已知功能和配置的详细描述会使本发明的主题相当不清楚时,将省略该详细描述。
25.图2是能够实现本公开的技术的视频编码设备的示例性框图。
26.视频编码设备包括块分割器210、预测器220、减法器230、变换器240、量化器245、编码器250、逆量化器260、逆变换器265、加法器270、环路内滤波器280和存储器290。视频编
码设备的每个元件都可以被实现为硬件芯片,或者可以被实现为软件,并且一个或更多个微处理器可以被实现为执行与相应元件对应的软件的功能。
27.一个视频由多个图片构成。每个图片被分割成多个区域,并且针对每个区域执行编码。例如,一个图片被分割成一个或更多个切片和/或图块,并且每个切片或图块被分割成一个或更多个编码树单元(ctu)。另外,每个ctu通过树结构被分割成一个或更多个编码单元(cu)。应用于每个cu的信息被编码为cu的语法,并且共同应用于一个ctu中所包括的cu的信息被编码为ctu的语法。共同应用于一个切片中的所有块的信息被编码为切片的语法,并且应用于构成一个图片的所有块的信息被编码在图片参数集(pps)中。另外,供多个图片共同参考的信息被编码在序列参数集(sps)中。另外,供一个或更多个sps共同参考的信息被编码在视频参数集(vps)中。
28.块分割器210确定编码树单元(ctu)的大小。关于ctu大小的信息(ctu大小)被编码为sps或pps的语法,并且被发送到视频解码设备。块分割器210将构成视频的每个图片分割成多个预定大小的ctu,然后使用树结构来递归地分割ctu。树结构中的叶节点用作编码单元(cu),cu是编码的基本单元。树结构可以是节点(或父节点)被分割成相同大小的四个子节点(或子节点)的四叉树(qt)结构、节点被分割成两个子节点的二叉树(bt)结构、节点按1:2:1的比率被分割成三个子节点的三叉树(tt)结构或采用qt结构、bt结构和tt结构中的一个或更多个的结构。例如,可以使用四叉树加二叉树(qtbt)结构,或者可以使用四叉树加三叉树(qtbttt)结构。
29.图3是使用qtbt结构的块划分的示例图。在图3中,(a)例示了按qtbt结构对块进行的划分,并且(b)表示按树结构进行的划分。在图3中,实线表示按qt结构进行的划分,并且虚线表示按bt结构进行的划分。在图3的(b)中,关于层的符号,不带括号的层表达表示qt的层,并且括号中的层表达表示bt的层。在用虚线表示的bt结构中,数字是划分类型信息。
30.如图3中所示,可以根据qt结构来初始地分割ctu。可以重复进行qt分割,直到分割块的大小达到qt中允许的叶节点的最小块大小minqtsize。指示是否qt结构的每个节点被分割成下层的四个节点的第一标志(qt_split_flag)被编码器250编码,并且被发信号通知给视频解码设备。
31.当qt的叶节点不大于bt中允许的根节点的最大块大小(maxbtsize)时,它可以被进一步划分成bt结构。bt可以具有多种分割类型。例如,在一些示例中,可能存在两种分割类型,即将块水平分割成两个相同大小的块的类型(即,对称水平分割)以及将块垂直分割成两个相同大小的块的类型(即,对称垂直分割)。指示是否bt结构的每个节点被分割成下层的块的第二标志(bt_split_flag)和指示分割类型的分割类型信息被编码器250编码,并且被发送到视频解码设备。可能存在另外的将节点的块分割成两个不对称块的类型。不对称分割类型可以包括将块以1:3的大小比例分割成两个矩形块的类型或在对角线方向上分割节点的块的类型。
32.另选地,可以使用qtbttt结构。在qtbttt结构中,可以初始地将ctu分割成qt结构,然后可以将qt的叶节点分割成bt结构或tt结构中的一个或更多个。tt结构还可以具有多种分割类型。例如,关于分割,可以存在两种分割类型:一种类型是将对应节点的块以1:2:1的比率水平分割成三个块(即,对称水平分割),另一种类型是以1:2:1的比率垂直分割(即,对称垂直分割)。在qtbttt的情况下,不仅指示每个节点是否被分割成下层的块的标志和指示
分割类型(或分割方向)的分割类型信息(或分割方向信息)而且用于区分分割结构是bt结构还是tt结构的补充信息都可以发信号通知给视频解码设备。
33.根据ctu的qtbt或qtbttt分割,cu可以具有各种大小。在本公开中,没有为了预测或变换而进一步分割cu。即,cu、pu和tu是具有相同大小并且存在于相同位置处的块。
34.预测器220预测cu,以生成预测块。预测器220分别预测构成cu的亮度分量和色度分量。
35.通常,图片内的cu可以各自被预测性编码。通常,可以使用帧内预测技术或帧间预测技术来实现当前块的预测,帧内预测技术使用包含cu的图片中的数据,帧间预测技术使用在包含cu的图片之前被编码的图片的数据。帧间预测包括单向预测和双向预测二者。为此目的,预测器220包括帧内预测器222和帧间预测器224。
36.帧内预测器222使用包括cu的当前图片中的位于cu周围的像素(参考样本)来预测cu中的像素。根据预测方向,存在多种帧内预测模式。例如,如图4中所示,多种帧内预测模式可以包括非定向模式和65种定向模式,所述非定向模式可以包括平面模式和dc模式。根据每种预测模式,不同地定义将使用的公式和外围像素。
37.帧内预测器222可以确定在对cu进行编码时要使用的帧内预测模式。在一些示例中,帧内预测器222可以使用多种帧内预测模式对cu进行编码,并且从经测试模式中选择要使用的适当的帧内预测模式。例如,帧内预测器222可以使用经测试的多种帧内预测模式的速率-失真分析来计算速率失真值,并且可以从经测试模式当中选择具有最佳速率失真特性的帧内模式。
38.帧内预测器222从多种帧内预测模式当中选择一种帧内预测模式,并且使用根据所选择的帧内预测模式确定的公式以及邻近像素(参考像素)来预测cu。用于指示所选择的帧内预测模式的语法由编码器250编码并被发送到视频解码设备。为了预测cu中的亮度分量而选择的帧内预测模式可以用于预测色度分量。然而,本公开不限于此。例如,针对亮度分量选择的帧内预测模式和针对色度分量的多种帧内预测模式可以被配置为候选,并且候选之一可以被用作针对色度分量的帧内预测模式。在这种情况下,分别发信号通知用于与色度分量对应的帧内预测模式的语法。
39.帧间预测器224通过运动补偿生成针对cu的预测块。帧间预测器在比当前图片更早被编码和解码的参考图片中搜索与cu最相似的块,并且使用搜索到的块来生成针对cu的预测块。然后,帧间预测器生成与当前图片中的cu与参考图片中的预测块之间的位移对应的运动矢量。通常,对亮度分量执行运动估计,并且基于亮度分量计算出的运动矢量被用于亮度分量和色度分量二者。包括关于参考图片的信息和关于用于预测cu的运动矢量的信息被编码器250编码并被发送到视频解码设备。通常,关于参考图片的信息意指用于标识在多个参考图片当中的用于帧间预测的参考图片的参考图片索引,并且关于运动矢量的信息意指cu的实际运动矢量和预测运动矢量之间的运动矢量差。
40.可以使用其它方法来使对运动信息进行编码所需的比特的数量最小化。例如,在当前块的参考图片和运动矢量与邻近块的参考图片和运动矢量相同时,可以通过对用于标识邻近块的信息进行编码来将关于当前块的运动信息发送到解码设备。这种方法被称为“合并模式”。
41.在合并模式下,帧间预测器224从当前块的邻近块当中选择预定数量的合并候选
块(下文中被称为“合并候选”)。如图5中例示的,可以使用用于推导合并候选的邻近块,即与当前图片中的当前块相邻的左块l、上块a、右上块ar、左下块bl和左上块al中的全部或部分。另外,位于参考图片(其可以与用于预测当前块的参考图片相同或不同)而非当前块所处的当前图片内的块可以被用作合并候选。例如,参考图片中的与当前块处于相同位置处的并置块或与并置块相邻的块也可以被用作合并候选。帧间预测器224使用这样的邻近块来配置包括预定数量的合并候选的合并列表。从合并列表中所包括的合并候选当中选择将被用作关于当前块的运动信息的合并候选,并且生成用于标识所选择候选的合并索引。所生成的合并索引由编码器250编码并被发送到解码设备。
42.减法器230从cu中的实际像素中减去由帧内预测器222或帧间预测器224生成的预测块中的预测像素,以生成残差块。
43.变换器240将空间域中的具有像素值的残差块中的残差信号变换为频域中的变换系数。变换器240使用cu大小的变换单元来变换残差块中的残差信号。量化器245量化从变换器240输出的变换系数并且将量化后的变换系数输出到编码器250。尽管已经描述了总是执行残差信号的变换和量化,但是本公开不限于此。可以选择性地跳过变换和量化中的任一个或更多个。例如,可以仅跳过变换和量化中的一个,或者可以跳过变换和量化二者。
44.编码器250对与块分割关联的诸如ctu大小、qt分割标志、bt分割标志和分割类型这样的信息进行编码,使得视频解码设备可以以与视频编码设备中相同的方式分割块。
45.另外,编码器250对视频解码设备重构cu所需的信息进行编码,并将该信息发送到视频解码设备。在本公开中,编码器250初始地对预测cu所需的预测语法进行编码。由编码器250编码的预测语法包括跳过标志(skip_flag),该跳过标志指示cu是否以跳过模式被编码。这里,跳过模式是合并模式的特例,并且与合并模式的不同之处在于,在对合并索引(merge_idx)进行编码之后,不对关于cu的信息进行编码。因此,在跳过模式下,不对变换语法进行编码,并且cu中的所有系数都被设置为0。当以跳过模式对cu进行编码时,视频解码设备使用由合并索引指示的合并候选的运动矢量和参考图片作为当前cu的运动矢量和参考图片来生成预测块。由于残差信号都被设置为0,因此预测块被重构为cu。另外,可以通过以比cu更高的级别(例如,ctu、切片、pps等)发信号通知的语法来应用对在跳过模式下编码的cu应用解块滤波还是sao滤波。例如,当逐切片地发信号通知指示是否应用sao的语法(slice_sao_flag)时,根据语法(slice_sao_flag)确定是否向在对应切片中以跳过模式被编码的cu应用sao。另选地,当以跳过模式对cu进行编码时,可以跳过至少一些环路内滤波。例如,随后将描述的transquant_skip_flag可以被自动地设置为1,并且可以跳过针对cu的变换、量化和至少一些环路内滤波。
46.当cu未在跳过模式下被编码时,预测语法包括指示cu是通过帧内预测还是帧间预测被编码的预测类型信息(pred_mode_flag)以及根据预测类型的帧内预测信息(即,关于帧内预测模式的信息)或帧间预测信息(关于参考图片和运动矢量的信息)。帧间预测信息包括指示是否以合并模式对cu的参考图片和运动矢量进行编码的合并标志(merge_flag),并且当merge_flag为1时包括合并索引(merge_idx),或者当merge_flag为0时包括图片信息和运动矢量差信息。另外,可以另外包括预测运动矢量信息。
47.在对预测语法进行编码之后,编码器250对变换cu所需的变换语法进行编码。变换语法包括与变换和量化的选择性跳过相关的信息以及关于cu中的系数的信息。这里,当存
在两种或更多种变换方法时,变换语法包括指示用于cu的变换类型的信息。这里,可以分别包括应用于水平轴方向和垂直轴方向的变换的类型。
48.与选择性跳过变换和量化相关的信息可以分别包括指示是否跳过针对cu的变换、量化和至少一些环路内滤波的变换/量化跳过标志(transquant_skip_flag)以及指示是否跳过针对构成cu的亮度分量和色度分量中的每一个的变换的变换跳过标志(transform_skip_flag)。针对构成cu的分量中的每一个,独立地对变换跳过标志(transform_skip_flag)进行编码。然而,本公开不限于此,并且可以仅针对一个cu对变换跳过标志进行一次编码。在这种情况下,当transform_skip_flag为1时,跳过对cu的变换,即,对构成cu的亮度分量和色度分量二者的变换。
49.与变换和量化的选择性跳过相关的信息可以由一个语法(transquant_idx)表示。在这种情况下,语法可以有四个值。例如,transquant_idx=0意指跳过变换和量化二者,transquant_idx=1意指仅执行量化,transquant_idx=2意指仅执行变换,并且transquant_idx=3意指执行变换和量化二者。可以使用固定长度(fl)二值化方法对该语法进行二值化,以便这四个值是相同的位。例如,它可以被如表1中所示地二值化。
50.[表1]
[0051]
transquant_idx变换量化二值化(id)0禁用禁用001禁用启用012启用禁用103启用启用11
[0052]
另选地,可以使用截短的一元(tu)二值化方法对该语法进二值化,使得更少的比特被分配给具有较高出现概率的值。例如,执行变换和量化二者的概率通常最大,其次是跳过变换时仅执行量化的概率。因此,可以如表2中所示地将语法二值化。
[0053]
[表2]
[0054]
transquant_idx变换量化二值化(tu)0禁用禁用1111禁用启用102启用禁用1103启用启用0
[0055]
关于cu中的系数的信息包括指示在cu的亮度分量和两个色度分量中是否存在非零系数的编码块标志(cbf)以及用于指示系数值的语法。这里,“系数”既可以是量化变换系数(当执行变换和量化二者时),或者可以是通过跳过变换而获得的量化残差信号(当跳过变换时),或者是残差信号(当跳过变换和量化二者时)。
[0056]
在本公开中,编码器250对针对cu的预测语法和变换语法进行编码的结构或顺序与随后将描述的视频解码设备的解码器610对编码后的预测语法和变换语法进行解码的结构或顺序相同。由于将根据解码器610对语法进行解码的结构或顺序清楚地理解编码器250对语法进行编码的结构或顺序,因此省略编码器250的语法编码结构或顺序的细节,以避免冗余描述。
[0057]
逆量化器260对从量化器245输出的量化后的变换系数进行逆量化,以生成变换系
数。逆变换器265将从逆量化器260输出的变换系数从频域变换到空间域并且重构残差块。
[0058]
加法器270将重构的残差块与由预测器220生成的预测块相加,以重构cu。重构的cu中的像素被用作按顺序执行下一个块的帧内预测的参考样本。
[0059]
环路内滤波器280对重构的像素进行滤波,以减少由于基于块的预测和变换/量化而产生的块伪像、振铃伪像(ringing artifact)和模糊伪像。环路内滤波器280可以包括解块滤波器282和sao滤波器284。解块滤波器180对重构块之间的边界进行滤波,以去除由于逐块编码/解码而产生的块伪像,并且sao滤波器284对经解块滤波的图片执行附加滤波。sao滤波器284用于补偿因有损编码引起的重构像素与原始像素之间的差。由于解块滤波器和sao是hevc标准技术中定义的滤波技术,因此省略对其的进一步详细描述。
[0060]
经过解块滤波器282和sao滤波器284滤波的重构块被存储在存储器290中。一旦重构了一个图片中的所有块,重构后的图片就被用作对要编码的图片中的块进行帧间预测的参考图片。
[0061]
图6是能够实现本公开的技术的视频解码设备的示例性框图。
[0062]
视频解码设备包括解码器610和重构器600。重构器600包括逆量化器620、逆变换器630、预测器640和加法器650、环路内滤波器660和存储器670。类似于图2的视频编码设备,视频解码设备的每个元件都可以被实现为硬件芯片,或者可以被实现为软件,并且一个或更多个微处理器可以被实现为执行与每个元件对应的软件的功能。
[0063]
解码器610对从视频编码设备接收的比特流进行解码。解码器610通过对与块分割相关的信息进行解码来确定要解码的cu。解码器610从序列参数集(sps)或图片参数集(pps)中提取关于ctu大小的信息,确定ctu的大小,并且将图片分割成所确定大小的ctu。然后,解码器确定ctu是树结构的最上层(即,根节点),并且提取ctu的分割信息,由此使用树结构来分割ctu。例如,当使用qtbt结构对ctu进行分割时,提取与qt分割相关的第一标志(qt_split_flag),以将每个节点分割成下层的四个节点。对于与qt的叶节点对应的节点,提取与bt分割相关的分割类型(分割方向)信息和第二标志(bt_split_flag),并且按bt结构对对应的叶节点进行分割。又如,当使用qtbttt结构对ctu进行分割时,提取与qt分割相关的第一标志(qt_split_flag),并且将每个节点分割成下层的四个节点。另外,对于与qt的叶节点对应的节点,提取指示该节点是否进一步被分割为bt或tt的split_flag以及用于区分bt结构或tt结构的附加信息和分割类型(或分割方向)信息。由此,qt的叶节点下方的每个节点被递归地分割成bt或tt结构。
[0064]
解码器610还根据比特流对重构cu所必需的预测语法和变换语法进行解码。在该操作中,解码器对预测语法进行解码,然后对变换语法进行解码。随后将参考图7和后续附图来描述解码器610对预测语法和变换语法进行解码的结构。
[0065]
逆量化器620对用变换语法推导出的系数进行逆量化。逆变换器630将逆量化后的系数从频域逆变换到空间域,以重构残差信号,由此生成针对cu的残差块。可以根据与由解码器解码的变换语法中所包括的变换和量化的选择性跳过相关的信息来跳过逆量化或逆变换中的一个或更多个。
[0066]
预测器640使用预测语法生成针对cu的预测块。预测器640包括帧内预测器642和帧间预测器644。当cu的预测类型是帧内预测时,帧内预测器642被启动,并且当cu的预测类型是帧间预测时,帧间预测器644被启动。
[0067]
帧内预测器642用从解码器610提取的帧内预测信息确定多种帧内预测模式当中的cu的帧内预测模式,并且根据该帧内预测模式使用cu周围的参考样本来预测cu。
[0068]
帧间预测器644使用从解码器610提取的帧间预测信息来确定cu的运动矢量和供该运动矢量参考的参考图片,并且使用运动矢量和参考图片来预测cu。例如,当merge_flag为1时,在以与图像编码设备相同的方式配置合并列表并提取merge_idx之后,帧间预测器644将当前cu的运动矢量和参考图片设置为合并列表中所包括的合并候选当中的由merge_idx指示的块的参考图片和运动矢量。另一方面,当merge_flag为0时,从比特流中提取参考图片信息和运动矢量差信息,以确定当前cu的参考图片和运动矢量。在这种情况下,可以另外提取预测运动矢量信息。
[0069]
加法器650将从逆变换器输出的残差块与从帧间预测器或帧内预测器输出的预测块相加,以重构cu。重构的cu中的像素被用作对稍后要解码的块进行帧内预测的参考样本。
[0070]
通过顺序地重构cu,重构了由cu构成的ctu和由ctu构成的图片。
[0071]
环路内滤波器660包括解块滤波器662和sao滤波器664。解块滤波器662对重构块之间的边界进行解块滤波,以去除由于逐块解码而产生的块伪像。sao滤波器664对解块滤波之后的重构块执行附加滤波,以补偿由有损编码导致的重构像素与原始像素之间的差异。经过解块滤波器662和sao滤波器664滤波的重构块被存储在存储器670中。当重构一个图片中的所有块时,重构的图片被用作对要解码的后续图片中的块进行帧间预测的参考图片。
[0072]
下文中,详细描述视频解码设备的解码器610对cu语法进行解码的结构或过程。
[0073]
如上所述,视频解码设备初始地对包括跳过标志(skip_flag)的编码单元的预测语法进行解码。在对所有预测语法进行解码之后,视频解码设备对包括transquant_skip_flag和编码单元cbf(cbf_cu)的变换语法进行解码。这里,cbf_cu是指示构成编码单元的两个色度块和一个亮度块中的所有系数是否为0的语法。当skip_flag为0时,即,当当前cu的预测类型不处于跳过模式时,对变换语法进行解码。
[0074]
图7是根据本公开的用于对cu语法进行解码的示例性流程图。
[0075]
视频解码设备初始地对其它预测语法当中的skip_flag进行解码(s702)。当skip_flag为1时,如上所述,cu中的除了merge_idx之外的语法均不包括在比特流中。因此,当skip_flag为1时(s704),视频解码设备根据比特流对merge_idx进行解码(s706),并且结束针对cu的语法解码。当cu已经以跳过模式被编码时,可以通过以比cu更高的级别(例如,ctu、切片、pps等)发信号通知的语法来确定向cu应用解块滤波还是sao滤波。另选地,针对已经以跳过模式被编码的cu,可以跳过至少一些环路内滤波。例如,transquant_skip_flag可以被自动地设置为1,因此可以跳过至少一些环路内滤波。
[0076]
当skip_flag为0时(s704),对针对帧间预测或帧内预测的预测语法进行解码。初始地,视频解码设备对指示当前cu的预测类型是帧内预测还是帧间预测的预测类型信息(pred_mode_flag)进行解码(s708)。当pred_mode_flag指示帧内预测(例如,pred_mode_flag=1)时(s710),视频解码设备对指示当前cu的帧内预测模式的帧内预测信息进行解码(s712)。另一方面,当pred_mode_flag指示帧间预测时(例如,pred_mode_flag=0)时(s710),视频解码设备对merge_flag进行解码(s714)。然后,当merge_flag指示合并模式(例如,merge_flag=1)时(s716),对merge_idx进行解码(s718)。当merge_flag指示该模式
不是合并模式(例如,merge_flag=0)时(s716),对针对正常帧间预测的预测语法(即,参考图片信息和运动矢量差)进行解码(s720)。在这种情况下,可以另外对预测运动矢量信息进行解码。在以此方式对当前cu的所有预测语法进行解码之后,视频解码设备对当前cu的变换语法进行解码。
[0077]
视频解码设备首先对指示构成cu的两个色度块和一个亮度块中的系数是否全都为0的cbf_cu进行解码。然而,当当前cu的预测类型是帧内预测时,cbf_cu可以被自动地设置为1而没有根据比特流进行解码(s736)。另外,当当前cu的预测类型是跳过模式时,cbf_cu可以被自动地设置为0。当预测类型是合并模式时,cbf_cu可以被自动设置为1(s732)。当当前cu的预测类型是帧间预测而不是合并模式时,根据比特流对cbf_cu进行解码(s734)。
[0078]
在对cbf_cu进行解码后,视频解码设备根据cbf_cu的值对transquant_skip_flag进行解码。例如,当cbf_cu为0时(s738),这意味着,在cu中不存在非零的亮度分量和非零的色度分量,因此终止了针对cu的语法解码而不用对变换语法进行进一步解码。当cbf_cu为1时(s738),这意味着在cu中存在具有非零值的亮度分量或色度分量,因此对transquant_skip_flag进行解码(s740)。随后,对针对cu中的亮度分量和色度分量中的每一个的变换语法进行解码(s742)。
[0079]
另选地,可以改变cbf_cu和transquant_skip_flag的解码顺序。图8是根据本公开的用于对cu语法进行解码的另一示例性流程图。
[0080]
由于图8中的对预测语法进行解码的操作s802至s820与图7中的对预测语法进行解码的s702至s720相同,因此以下将仅描述对cu的变换语法进行解码的操作。
[0081]
当当前cu的预测类型不处于跳过模式时,视频解码设备在对预测语法进行解码之后,根据比特流对transquant_skip_flag进行解码(s832)。在对transquant_skip_flag进行解码之后,对cbf_cu进行解码。例如,当当前cu的预测类型是帧内预测(pred_mode_flag=1)或当前cu处于合并模式(merge_flag=1)时(s834),cbf_cu没有根据比特流被解码并且被自动地设置为1(s836)。另一方面,当当前cu的预测类型是帧间预测(pred_mode_flag=0)并且当前cu不处于合并模式(merge_flag=0)时(s834),cbf_cu根据比特流被解码(s838)。
[0082]
此后,当cbf_cu为1时,视频解码设备对针对cu中的亮度分量和色度分量中的每一个的变换语法进行解码(s842)。
[0083]
在以上实施方式中,transquant_skip_flag是指示是否跳过对cu的变换、量化和至少一些环路内滤波的语法。这里,“至少一些环路内滤波”可以包括解块滤波和sao滤波两者。另选地,它可以意味着除了解块滤波之外的环路内滤波。在这种情况下,视频解码设备对transquant_skip_flag进行解码。当transquant_skip_flag为1时,跳过对cu的变换、量化和sao滤波。当transquant_skip_flag为1时,视频解码设备可以进一步对指示是否对cu执行解块滤波的解块滤波器标志(deblocking_filter_flag)进行解码。在这种情况下,当deblocking_filter_flag为0时,跳过对cu的所有变换、量化、解块滤波和sao滤波。另一方面,当deblocking_filter_flag为1时,跳过对cu的变换、量化和sao滤波,并且执行解块滤波。
[0084]
cu中的像素由三个颜色分量构成:一个亮度分量(y)和两个色度分量(cb,cr)。下文中,由亮度分量构成的块被称为亮度块,并且由色度分量构成的块被称为色度块。一个cu
由一个色度块和两个色度块构成。对于构成cu的亮度块和色度块中的每一个,本公开中描述的视频解码设备执行对用于获得cu中的系数的变换语法进行解码的操作。例如,该操作对应于图7的操作s742或图8的操作s842。然而,很明显,不是必须结合图7和图8对每个分量的变换语法进行解码,并且可以向除了图7和图8中的语法结构之外的cu语法结构应用该解码。
[0085]
图9是对针对相应亮度分量和色度分量的变换语法进行解码的示例性流程图。
[0086]
视频解码设备根据比特流对指示在构成cu的第一色度块(例如,由cb分量构成的色度块)中是否存在至少一个非零系数的第一色度cbf(例如,cbf_cb)、在第二色度块(例如,由cr分量构成的色度块)中是否存在至少一个非零系数的第二色度cbf(例如,cbf_cr)和在构成cu的亮度块中是否存在至少一个非零系数的亮度块(例如,cbf_luma)进行解码(s902)。这三个分量cbf’的解码顺序不受限制,但是例如可以按cbf_cb、cbf_cr和cbf_luma的顺序对这三个分量cbf’进行解码。
[0087]
当在s902中首先解码的两个cbf’为0(与每个cbf对应的块中的所有系数都为0)时,最后的cbf可以不被解码。参照图7或图8,当cbf_cu为1时,cbf_cb、cbf_cr和cbf_luma被解码。因此,当两个分量的cbf’均为0时,另一个分量的cbf必然为1。
[0088]
在对三个分量的cbf’进行解码之后,对每个分量执行s904至s910。作为示例,对于亮度分量,视频解码设备确定是否cbf_luma=1(s904)。当cbf_luma=0时,这意味着亮度块中不存在非零系数,因此亮度块中的所有值都被设置为0。
[0089]
另一方面,当cbf_luma=1时,视频解码设备对指示是否对亮度块执行变换的transform_skip_flag进行解码。参照图7或图8,当解码后的transquant_skip_flag为1时,跳过对cu(cu中的所有分量)的变换和量化。因此,当transquant_skip_flag为1时,不需要针对亮度分量对transform_skip_flag进行解码。在另一方面,当transquant_skip_flag=0时,这意味着不总是跳过对cu中的所有分量的变换和量化。因此,当transquant_skip_flag为0时,视频解码设备对指示是否对亮度分量执行变换的transform_skip_flag进行解码(s906,s908)。
[0090]
然后,视频解码设备根据比特流对亮度分量的系数值进行解码(s910)。
[0091]
已经描述了在s902中对构成cu的三个分量的cbf’进行解码。下文中,将参照图10描述对构成cu的三个分量的cbf’进行解码的另一实施方式。在该实施方式中,还定义了指示构成cu的两个色度块中的所有系数是否都为0的被称为cbf_chroma的语法。
[0092]
图10是对构成cu的三个分量的cbf进行解码的示例性流程图。
[0093]
视频解码设备对指示构成cu的两个色度块中的所有系数是否全都为0的cbf_chroma进行解码(s1002)。
[0094]
当cbf_chroma为0(s1004)时,两个色度块的cbf’(即,cbf_cb和cbf_cr)都被设置为0(s1006)。参照图7或图8,当cbf_cu为1时,对三个分量的cbf’进行解码。因此,当cbf_chroma为0时,cbf_luma被自动地设置为1(s1006)。
[0095]
另一方面,当cbf_chroma为1时,视频解码设备对cbf_cb进行解码(s1008)。cbf_chroma=1意味着在两个色度块中的至少一个中存在非零系数。因此,当两个色度块中的一个的cbf为0时,另一个色度块的cbf应该为1。因此,当解码后的cbf_cb为0时,cbf_cr被自动地设置为1(s1010、s1014)。另一方面,当cbf_cb为1时,cbf_cr根据比特流被解码(s1012)。
这里,cbf_cb和cbf_cf的解码顺序可以改变。当对cbf_cb和cbf_cr的解码完成时,视频解码设备对cbf_luma进行解码(s1016)。
[0096]
对cbf_cb,cbf_cr和cbf_luma进行解码之后的操作与图9中的操作相同。
[0097]
虽然已经出于例示目的描述了示例性实施方式,但是本领域技术人员应该领会的是,能够在不脱离实施方式的构思和范围的情况下进行各种修改和改变。为了简明扼要,已经描述了示例性实施方式。因此,本领域技术人员将理解,实施方式的范围不由以上明确描述的实施方式限制,而是被包括在权利要求书及其等同物中。
[0098]
相关申请的交叉引用
[0099]
本技术要求在韩国于2018年1月5日提交的专利申请no.10-2018-0001728以及在韩国于2018年6月11日提交的专利申请no.10-2018-0066664的优先权。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献