本发明涉及一种基于嵌入块分割(embedded block partitioning)对视频信号进行编码和解码的方法及装置,并且更具体地,涉及一种利用嵌入块分割的四叉树(QT)分解。
背景技术:
压缩编码是指用于通过通信线发送数字化信息或者按照适合于存储介质的形式存储数字化信息的一系列信号处理技术。诸如视频、图像和语音这样的媒体可以是压缩编码的主题。具体地,用于对视频执行压缩编码的技术被称为视频压缩。
下一代视频内容期望以高空间分辨率、高帧速率和高维度的视频场景呈现的特点。这种内容的处理将需要显著地增大存储装置、存储器存取速率和处理能力。
因此,期望设计一种解决这些预见性的挑战并提供一些解决方案的编码工具。具体地,近来已在主流视频编码算法解决方案中利用了四叉树(以下,“QT”)分割。最初,QT分割是针对自适应环路滤波和自适应环路内插而提出的,并且随后成为高效率视频编码(以下,“HEVC”)块分割和信令方案的核心。HEVC利用两种独立的QT分解,一种用于预测,因此被称为预测QT,而另一种用于块变换的应用,因此被称为变换QT。尽管其能力在于实现灵活分割和高效分离(split)信令,但是它在视频信号中的空间非均匀内容呈现和运动建模方面也可以被认为是次佳的。
典型的QT呈现被限制于捕获块内的二元位置(dyadic location)处的水平和垂直边缘不连续性。因此,如果在非二元位置中需要分离,或者如果在非水平和非垂直方向上需要分离,则当推测各个叶子覆盖光滑图像区域而没有单个运动模型的不连续性时,将对更小的块进行QT分解以实现更高的呈现精度。
在一些情况下,针对通过树呈现的空间和运动模型,QT分解和信令可能变得次佳,并且这将导致分解次数的增加以及信令比特开销的增大。特别地,这种情形可能对进行大LCU(最大编码单元)尺寸的HEVC设计常见。
因此,需要利用使用几何建模的QT分解并将QT分解调整到位于非二元空间位置的边缘。
技术实现要素:
技术问题
本发明的一个目的在于提出一种用于实现设计用于高效压缩的编码工具并减少所需要的计算资源的方法。
本发明的另一目的在于与一些类型的图像和视频信号的全QT分解呈现和建模相比实现更紧凑。
本发明的另一目的在于利用QT分解来提高视频编码系统的压缩效率。
本发明的另一目的在于通过使用较少数目的用于对一些类型的图像和视频信号进行处理和/或编码的QT分解级来降低计算复杂性和存储器要求。
本发明的另一目的在于减少用于常见自然内容的冗余分解并且减少用于QT分解的信令以及运动和几何模型的信令的显著比特开销。
本发明的另一目的在于提出一种用于QT叶合并的策略,并且提出一种用于联合优化双QT分解的算法。
本发明的另一目的在于提出一种用于联合优化几何QT和运动QT的算法以利用叶间相关性。
技术解决方案
本发明提供了一种用于利用使用几何建模的QT分解来对视频信号进行编码和解码的方法。
另外,本发明提供了一种用于将QT分解调整至位于非二元或任意空间位置的边缘的方法。
有益效果
本发明通过提出一种利用嵌入块分割的QT分解方法,能够实现用于高效压缩的编码工具的设计并且还能够显著地降低所需要的计算资源、存储器要求、存储器存取带宽和计算复杂性。
另外,与一些类型的图像和视频信号的全QT分解呈现和建模相比,本发明能够实现更紧凑。
另外,本发明能够利用QT分解来提高视频编码系统的压缩效率。
另外,本发明能够通过使用较少数目的用于对一些类型的图像和视频信号进行处理和/或编码的QT分解级来降低计算复杂性和存储器要求。
另外,本发明能够减少用于常见自然内容的冗余分解并且减少用于QT分解的信令以及运动和几何模型的信令的显著比特开销。
附图说明
图1是根据本发明的实施方式的对视频信号执行编码的编码器的框图;
图2是根据本发明的实施方式的对视频信号执行解码的解码器的框图;
图3例示了根据本发明的实施方式的编码单元的分割结构;
图4例示了根据本发明的一实施方式的利用嵌入块的四叉树分解;
图5是例示根据本发明的一实施方式的用于基于分离类型信息对编码单元进行解码的方法的流程图;
图6是例示根据本发明的一实施方式的用于对嵌入块进行解码的方法的流程图;
图7和图8是例示根据本发明的实施方式的用于在利用嵌入块执行四叉树分解时对编码单元进行解码的方法的流程图;
图9例示了根据本发明的一实施方式的用于对嵌入块进行解码的语法结构;
图10例示了根据本发明的一实施方式的嵌入块的参数;
图11是例示根据本发明的一实施方式的用于生成嵌入块的方法的流程图;
图12是例示根据本发明的一实施方式的用于在利用嵌入块执行四叉树分解时对编码单元进行编码的方法的流程图;以及
图13是根据本发明的一实施方式的用于对嵌入块进行解码的处理器的框图。
具体实施方式
根据本发明的用于对视频信号进行解码的方法包括以下步骤:从所述视频信号中获取分离标志,其中,所述分离标志指示是否对编码单元进行分割;当根据所述分离标志对所述编码单元进行分割时,获取所述编码单元的分离类型信息,其中,所述分离类型信息包括嵌入块类型信息,并且所述嵌入块类型信息指示嵌入块分割(EBP)是位于所述编码单元内的任意空间位置处的块;以及基于所述编码单元的所述分离类型信息对所述编码单元进行解码。
根据本发明的用于对视频信号进行解码的方法还包括以下步骤:获取所述EBP的数目信息;根据所述数目信息获取各个EBP的参数信息;以及基于所述参数信息对所述EBP进行解码。
根据本发明的用于对视频信号进行解码的方法还包括以下步骤:生成所述EBP的残余信号(residual signal);以及对除了所述EBP的像素之外的编码单元进行解码。
根据本发明的用于对视频信号进行解码的方法还包括以下步骤:生成所述EBP的残余信号;以及通过对所述残余信号应用预定权重来对所述编码单元进行解码。
根据本发明的参数信息包括所述EBP的深度信息、位置信息和尺寸信息中的至少一种。
根据本发明的参数信息被包含在序列参数集、图片参数集、切片头部(slice header)、编码树单元级或编码单元级中的至少一个中。
根据本发明的用于对视频信号进行编码的方法包括以下步骤:针对编码单元执行全四叉树分解;收集所述编码单元内的分割块的运动信息;基于所收集的运动信息来识别所述分割块的运动模式;以及通过将具有相同运动模式的分割块进行合并来生成嵌入块,其中,所述嵌入块是指位于所述编码单元内的任意空间位置处的块。
根据本发明的用于对视频信号进行编码的方法还包括以下步骤:计算嵌入块的第一率失真成本(rate-distortion cost)和剩余块的第二率失真成本,其中,所述剩余块是指除了所述嵌入块之外的编码单元;确定对基于所述第一率失真成本与所述第二率失真成本之和的函数进行优化的嵌入块的数目;以及对所述编码单元进行编码。
根据本发明的所述嵌入块与预定类型和尺寸对应。
根据本发明的用于对视频信号进行解码的装置包括:分离标志获取单元,所述分离标志获取单元用于从所述视频信号中获取分离标志,其中,所述分离标志指示是否对编码单元进行分割;分离类型获取单元,所述分离类型获取单元用于当根据所述分离标志对所述编码单元进行分割时,从所述视频信号中获取所述编码单元的分离类型信息,其中,所述分离类型信息包括嵌入块类型信息,并且所述嵌入块类型信息指示嵌入块分割(EBP)是位于所述编码单元内的任意空间位置处的块;以及嵌入块解码单元,所述嵌入块解码单元用于基于所述编码单元的所述分离类型信息对所述编码单元进行解码。
根据本发明的嵌入块解码单元还包括:嵌入块参数获取单元,所述嵌入块参数获取单元用于获取所述EBP的数目信息;并且根据所述数目信息获取各个EBP的参数信息,其中,基于所述参数信息对所述EBP进行解码。
根据本发明的嵌入块解码单元还包括嵌入块残余获取单元,所述嵌入块残余获取单元用于生成所述EBP的残余信号,并且所述装置还包括编码单元解码单元,所述编码单元解码单元用于对除了所述EBP的像素之外的编码单元进行解码。
根据本发明的嵌入块解码单元还包括嵌入块残余获取单元,所述嵌入块残余获取单元用于生成所述EBP的残余信号,并且所述装置还包括编码单元解码单元,所述编码单元解码单元用于通过对所述残余信号应用预定权重来对所述编码单元进行解码。
根据本发明的用于对视频信号进行编码的装置包括:图像分割单元,所述图像分割单元用于通过执行以下操作来生成嵌入块:针对编码单元执行全四叉树分解,收集所述编码单元内的分割块的运动信息,基于所收集的运动信息来识别所述分割块的运动模式,以及将具有相同运动模式的分割块进行合并,其中,所述嵌入块是指位于所述编码单元内的任意空间位置处的块。
根据本发明的图像分割单元计算嵌入块的第一率失真成本和剩余块的第二率失真成本,并且确定对基于所述第一率失真成本与所述第二率失真成本之和的函数进行优化的嵌入块的数目;并且所述装置对所述编码单元进行编码,其中,所述剩余块是指除了所述嵌入块之外的编码单元。
实施方式
以下,参照附图来描述根据本发明的实施方式的示例性元件和操作。参照附图描述的本发明的元件和操作仅例示了不限制本发明的技术精神及其核心结构和操作的实施方式。
另外,本说明书中使用的术语是现在广泛使用的常见术语,但在特定情况下,使用由申请人随机选择的术语。在这种情况下,在相应部分的详细描述中清楚地描述了相应术语的含义。因此,要注意的是,本发明不应被解释为仅基于本说明书的相应描述中所使用的术语的名称,并且本发明甚至应通过检查相应术语的含义来进行解释。
此外,虽然本说明书中所使用的术语是被选择来描述本发明的常见术语,但是如果存在具有类似含义的其它术语,也可以用其它术语来替换该术语,以进行更适当的分析。例如,在各种编码处理中,可以适当地替换和理解信号、数据、样本、图片、帧以及块。另外,在各种编码处理中,可以适当地替换和理解分割、分解、分离以及分隔。
图1是根据本发明的实施方式的用于对视频信号执行编码的编码器的框图。
参照图1,编码器100包括图像分割单元110、变换单元120、量化单元130、解量化单元140、逆变换单元150、滤波单元160、解码图片缓冲器(DPB)170、帧间预测单元180、帧内预测单元185以及熵编码单元190。
图像分割单元110可以将输入图像(或图片、帧)分割成一个或更多个处理单元块(在下面,被称为“处理块”)。例如,处理块可以与编码树单元(CTU)、编码单元(CU)、预测单元(PU)或变换单元(TU)对应。
应注意的是,引入上述术语仅为了便于描述,并且本发明不受限于相应术语的定义。另外,为便于描述起见,本文采用术语编码单元作为用于对视频信号进行编码或解码处理的单元;然而,应理解的是,本发明不限于上述情况,并且可以根据本发明的当前描述来适当地理解术语。
具体地,根据本发明的图像分割单元110可以分割图像,使得分割图像可以包括编码单元内的嵌入块(EB)。此时,嵌入块(EB)可以与编码单元内的任意空间位置处的块对应。例如,输入图像可以被分解成四叉树块,并且四叉树节点可以被分解成包括至少一个嵌入块。另外,嵌入块(EB)可以被称为嵌入块分区(EBP)或嵌入块分割(EBP),但为了方便起见,其被称为嵌入块(EB)。
在下面的实施方式中,图像分割单元110可以执行对编码单元进行分解的处理以包括嵌入块,并且可以执行用于对包括嵌入块的编码单元进行编码的方法。
编码器100通过从输入图像信号中减去从帧间预测单元180或帧内预测单元185输出的预测信号来生成残余信号,并且所生成的残余信号被发送至变换单元120。
变换单元120可以通过将变换技术应用至残余信号来生成变换系数。
量化单元130将变换系数量化,并且将量化后的变换系数发送至熵编码单元190。熵编码单元190可以对量化信号执行熵编码,并且将熵编码后的量化信号输出为比特流。
另外,从量化单元130输出的量化信号可以用于生成预测信号。例如,量化信号可以通过经由环路内的解量化单元140和逆变换单元150分别应用解量化和逆变换来重构残余信号。通过将重构后的残余信号与从帧间预测单元180或帧内预测单元185输出的预测信号相加,能够生成重构信号。
另外,可以从上述压缩处理中观察到图像劣化,因为通过不同的量化参数来对相邻的块进行量化,所以呈现出了块边界。这种现象被称为块化伪影(blocking artifact),其是评价图像质量的重要度量之一。为了减少伪影,可以执行滤波处理。通过滤波处理,不仅可以通过消除块化伪影而且可以通过减小针对当前图片的误差来提高图像质量。
滤波单元160对重构信号应用滤波;并且将滤波后的信号输出至播放器或将滤波后的信号发送至解码图片缓冲器170。发送至解码图片缓冲器170的滤波后的信号可以用作帧间预测单元180中的参考图片。按照这种方式,通过在图像间预测模式中将滤波图片用作参考图片,不仅能够提高图像质量,而且能够提高编码效率。
解码图片缓冲器170能够存储滤波图片,使得帧间预测单元180能够将滤波图片用作参考图片。
帧间预测单元180参照重构图片来执行时间预测和/或空间预测,以消除时间和/或空间冗余。此时,由于用于执行预测的参考图片是通过先前编码/解码以块为单位进行量化和解量化的变换信号,所以能够观察到块化伪影或环状伪影。
因此,帧间预测单元180可以通过应用低通滤波器以弥补由于信号不连续性或量化而导致的性能劣化来内插具有子像素精度的像素值。子像素是指从内插滤波器中生成的人造像素,并且整数像素表示重构图片中的实际像素。线性内插、双线性内插或维纳(wiener)滤波器能够用于内插。
应用于重构图片的内插滤波器能够提高预测性能。例如,帧间预测单元180可以通过以下操作来执行预测:通过将内插滤波器应用于整数像素来生成内插像素,以及将包括内插像素的内插块用作预测块。
帧内预测单元185可以通过参照此刻要被应用编码的块周围的样本来预测当前块。帧内预测单元185可以执行以下处理来执行帧内预测。首先,帧内预测单元185可以准备生成预测信号所需要的参考样本。然后,帧内预测单元185可以通过使用所准备的参考样本来生成预测信号。接下来,帧内预测单元185可以对预测模式进行编码。此时,可以通过参考样本填充和/或参考样本滤波来准备参考样本。由于参考样本经历了预测和重构处理,所以可能会出现量化误差。因此,为了减少量化误差,可以针对用于帧内预测的各种预测模式执行参考样本滤波处理。
通过帧间预测单元180或帧内预测单元185生成的预测信号可以用于生成重构信号或残余信号。
图2是根据本发明的实施方式的对视频信号执行解码的解码器的框图。
参照图2,解码器200包括熵解码单元210、解量化单元220、逆变换单元230、滤波单元240、解码图片缓冲器(DPB)单元250、帧间预测单元260以及帧内预测单元265。
通过解码器200产生的重构视频信号可以通过播放器播放。
解码器200可以接收从图1中的编码器输出的信号(即,比特流),并且所接收的信号可以通过熵解码单元210来进行熵解码。
解量化单元220通过使用量化步长的信息来从熵解码信号中获取变换系数。
逆变换单元230通过将变换系数进行逆变换来获取残余信号。
通过将所获取的残余信号与从帧间预测单元260或帧内预测单元265输出的预测信号相加,逆变换单元230生成重构信号。
滤波单元240对重构信号执行滤波,并且将滤波后的重构信号输出至播放器或将滤波后的重构信号发送至解码图片缓冲器单元250。发送至解码图片缓冲器单元250的滤波信号可以在帧内预测单元260用作参考图片。
在本发明中,关于编码器100的滤波单元160、帧间预测单元180以及帧内预测单元185所描述的实施方式可以分别同样地应用于滤波单元240、帧间预测单元260以及帧内预测单元265。
现今的静止图像压缩或视频压缩技术(例如,HEVC)采用了基于块的图像压缩方法。基于块的图像压缩方法将图像划分成特定块单元的区域,并且能够减少存储器使用和计算负载。
图3例示了根据本发明的实施方式的编码单元的分割结构。
编码器可以通过矩形形状的编码树单元(CTU)来分割图像(或图片)。另外,编码器根据光栅扫描顺序一个接一个地对CTU进行编码。
例如,CTU尺寸可以通过64×64、32×32和16×16中的一个来确定。编码器可以根据输入图像的分辨率或特性来选择CTU尺寸。CTU可以包括关于亮度分量的编码树块(CTB)和关于与亮度分量对应的两个色度分量的编码树块(CTB)。
一个CTU可以被分解成四叉树结构。例如,一个CTU可以被分割成四个相等尺寸的方形单元。可以递归地执行根据四叉树结构的分解。
参照图3,四叉树的根节点可以与CTU有关。可以对四叉树中的各个节点进行分割,直到其到达叶节点。此时,叶节点可以被称为编码单元(CU)。
CU是用于编码的基本单位,基于该编码执行对输入图像的处理,例如,帧内或帧间预测。CU可以包括关于亮度分量的编码块(CB)和关于与亮度分量对应的两个色度分量的编码块(CB)。例如,CU尺寸可以通过64×64、32×32、16×16和8×8当中的一个来确定。然而,本发明不限于上述情况;在高分辨率图像的情况下,CU尺寸可以更大或多样化。
参照图3,CTU与根节点对应,并且具有最短深度(即,0级)。根据输入图像的特性,可以不对CTU进行细分,并且在这种情况下,CTU与CU对应。
CTU可以被分解成四叉树结构,并且结果,可以生成具有1级的深度的子节点。在具有1级的深度的子节点当中,不再分割的节点(即,叶节点)与CU对应。在图3的(b)的示例中,分别与节点a、b和j对应的CU(a)、CU(b)和CU(j)已从CTU中被分割了一次,并且具有1级的深度。
具有1级的深度的节点中的至少一个节点可以被再次分割成四叉树结构。另外,具有2级的深度的子节点当中的不再分割的节点(即,叶节点)与CU对应。在图3的(b)的示例中,分别与节点c、h和i对应的CU(c)、CU(h)和CU(i)已从CTU中被分割了两次,并且具有2级的深度。
具有2级的深度的节点中的至少一个节点可以被再次细分成四叉树结构。另外,具有3级的深度的子节点当中的不再细分的节点(即,叶节点)与CU对应。在图3的(b)的示例中,分别与节点d、e、f和g对应的CU(d)、CU(e)、CU(f)和CU(g)已从CTU中被细分了三次,并且具有3级的深度。
编码器可以根据视频图像的特性(例如,分辨率)或者通过考虑到编码效率来确定CU的最大或最小尺寸。比特流可以包括与特性或者编码效率或者能够从中得到特性或编码效率的信息有关的信息。具有最大尺寸的CU可以被称为最大编码单元(LCU),而具有最小尺寸的CU可以被称为最小编码单元(SCU)。
具有树结构的UE可以通过使用预定最大深度信息(或最大级信息)以分层形式进行分割。各个分割的CU可以具有深度信息。由于深度信息表示相应CU的分割次数和/或分割程度,所以深度信息可以包括关于CU尺寸的信息。
由于LCU被分割成四叉树结构,所以可以通过使用LCU的尺寸和树的最大深度信息来获得SCU尺寸。或者相反,可以从SCU的尺寸和树的最大深度获得LCU的尺寸。
对于各个CU,指示相应CU是否被分割的信息能够被传递至解码器。例如,该信息可以被定义为分离标志并且由语法元素“split_cu_flag”来表示。分离标志可以被合并到除了SCU之外的所有CU中。例如,如果分离标志的值为“1”,则相应CU被再次分割成四个CU,而如果分离标志的值为“0”,则相应CU不再被进一步分割,但是可以执行关于相应CU的编码处理。
尽管图3中的实施方式已描述了关于CU的分割处理,但是四叉树结构还能够应用于作为执行变换的基本单元的变换单元(TU)。
TU可以从要编码的CU中被以分层形式分割成四叉树结构。例如,CU与用于TU的树的根节点对应。
由于TU可以被分割成四叉树结构,所以从CU中分割的TU可以被分割成更小的TU。例如,TU的尺寸可以通过32×32、16×16、8×8和4×4当中的一个来确定。然而,本发明不限于上述情况;在高分辨率图像的情况下,TU尺寸可以更大或多样化。
对于各个TU,表示相应TU是否被分割的信息可以被传递至解码器。例如,该信息可以被定义为分离变换标记并且由语法元素“split_transform_flag”来表示。
分离变换标记可以被合并到除了具有最小尺寸的TU之外的所有TU中。例如,如果分离变换标记的值为“1”,则相应TU被再次分割成四个TU,而如果分离变换标记的值为“0”,则相应TU不再被进一步分割。
如上所述,CU为基本编码单元,基于其来执行帧内或帧间预测。为了更有效地对输入图像进行编码,CU可以被分解成预测单元(PU)。
PU是用于生成预测单元的基本单元;PU可以甚至在一个CU内以PU为单位按照各种方式生成预测块。PU可以根据帧内预测模式还是帧间预测模式被用作PU所属的CU的编码模式来被不同地分解。
现今的静止图像压缩或视频压缩技术(例如,HEVC)采用了基于块的图像压缩方法。然而,由于基于块的图像压缩方法被限制于将图像分割成方形单元,所以可能没有适当地考虑图像的固有特性。具体地,基于块的图像压缩不适合于复杂纹理的编码。因此,需要能够更有效地压缩图像的高级图像压缩技术。
QT分割被广泛地用作用于视频编码算法的最近解决方案,并且可以用于块分割、信令方案等。
QT分解可以用于预测QT和变换QT,所述预测QT用于预测处理,所述变换QT用于块变换。
在空间非统一内容表示和运动建模方面,QT分解可以被认为是次佳的。
QT呈现可以在块内的二元位置处捕获水平和垂直边缘不连续性。因此,如果在非二元位置中需要分离,或者如果在非水平和非垂直方向上需要分离,则当推测各个叶子覆盖光滑图像区域而没有单个运动模型的不连续性时,将对更小的块进行QT分解以实现更高的呈现精度。
在一些情况下,QT分解和信令对于通过树呈现的空间和运动模型可能是次佳的,并且这将导致分解的次数增加以及信令比特开销增大。特别地,这种情形对于进行到大LCU尺寸可能是常见的。
为了克服这个问题,本发明提出了利用几何建模的QT分解。分解处理中引入的多项式几何建模识别节点分离的特性(例如,方向)以满足由特定节点表示的图像片段的实际边界。可以利用几个参数(例如,直线、分离线的角度及其距0,0节点的偏移)来描述多项式几何建模。
图4例示了根据本发明的一实施方式的利用嵌入块的四叉树分解。
在QT分解中利用几何建模使得能够在减少QT分解的复杂性并因此减少用于分离信令的比特预算的情况下调整QT分解,以满足图像片段的实际空间边界。
本发明可以对预测QT使用灵活的块分离和对角分离。另外,本发明可以采用QT分解以调整为非垂直分离和非水平分离。
非方形分割引入了基本和有限的能力以用精确的精度将QT分解调整至QT内的空间位置,并且这种解决方案可以是复杂性与性能之间的良好折衷。然而,由于非方形分解是在CTB的叶子中进行的,所以不允许从该非二元位置进行进一步的QT分解,并且可能仍然需要显著的复杂性QT(具有显著的比特开销)以描述QT内的空间局部化对象。
利用几何建模的QT分解可以使得能够将QT分解调整至位于非二元空间位置的边缘。然而,需要提供用于在各个节点处实现利用GM的QT分解的合理复杂性的优化算法。在QT叶子处利用GM假定从该非二元位置开始能够不进行进一步的分解。本发明可以利用具有有限组的非方形矩形分割的简化GM,因此被称为预测块,其提供了有限的QT能力以调整到非二元位置处的空间边缘。
如果相邻叶子的父亲不同,则QT分解难以利用所述相邻叶子之间的相关性。为了解决这个问题,本发明提供了各种叶子合并策略,这些叶子合并策略中的大多数是基于RDO的并且以高复杂性为特点。另外,本发明提供了用于联合优化双QT分解(例如,用于运动模型的QT分解和用于图像中的空间边界的QT分解)的算法。
作为更实用的解决方案,本发明可以提供双QT分解。例如,一种是用于空间边界(变换QT),另一种是用于运动建模(预测QT)。在该设计中,变换QT叶子可以跨过预测QT叶子边界,并且因此利用了预测QT的相邻叶子之间的空间相关性。
在运动建模方面,本发明的实施方式在预测QT中引入了叶子合并,所述叶子合并在运动场中采用空间相关性。合并处理可以独立于预测和变换QT的构建来进行,并且其能够使用于运动模型的比特预算最小化。因此,本发明提供了一种方法来利用跨叶子相关性。例如,本发明的实施方式可以使用合并节点来共享预测单元(PU)之间的运动信息。
下一代视频内容很可能以高空间分辨率(按像素数目的图片尺寸)、快速时间采样(高帧速率)和高维度的场景呈现为特点。预计将四叉树分解用于这种数据将导致所利用的QT的最大空间尺寸和QT分解的最大深度的增加。例如,从512×512的尺寸向下构造为块尺寸8×8的QT可能会导致用于常见自然内容的冗余分解以及用于QT分解的信令和运动和几何模型的信令的显著比特开销。
本发明提出了当能够用有限数目的嵌入块(EB)对QT中的除了常规的二次分离之外和/或代替常规的二次分离的节点(或叶子)进行分解时的QT分解的特殊情况。在这种情况下,嵌入块(EB)可以用位于节点(或叶子,块)内的任意空间位置处的块来定义。例如,节点可以是CTU、CU、PU或TU中的一个。
例如,参照图4,CTU与根节点对应,并且可以通过QT分解被分解成四个块,所述四个块被分别称为CU1、CU2、CU3和CU4。所述CU1、CU2、CU3和CU4可以被进一步分解为具有嵌入块。例如,CU1可以具有嵌入块EB1,CU2可以具有嵌入块EB2和EB3,CU4可以具有嵌入块EB4。
在本发明的实施方式中,嵌入块(EB)可以进一步执行二次分离,因此成为嵌入QT(EQT)或嵌入QT分解。此时,嵌入QT(EQT)或嵌入QT分解可以指示嵌入块被QT分解。
例如,嵌入块EB1可以通过QT分解被分割成四个块,并且一个分割块可以通过QT分解被进一步分割成四个块。
参照图4,嵌入块EB1可以被分割成块a、块(b,c,d,e)、块f和块g;第二象限中的块(b,c,d,e)可以被再次分割成块b、块c、块d和块e。可以看出,嵌入块EB1位于块CU1内的任意空间位置处。
可以看出,嵌入块EB2和EB3位于块CU2内的任意空间位置处,而没有进行附加的分割。
可以看出,嵌入块EB4可以被分割成块p、块q、块r和块s,并且位于块CU4内的任意空间位置处。
另外,除了嵌入块以外的块区域可以被定义为剩余块。例如,块CU1中的除了嵌入块EB1以外的区域可以被定义为剩余块RB1。同样地,块CU2中的除了嵌入块EB2和EB3以外的区域可以被定义为剩余块RB2,块CU4中的除了嵌入块EB4以外的区域可以被定义为剩余块RB3。
在本发明的实施方式中,利用嵌入块来执行分离的父节点可以被处理或编码为排除被嵌入块覆盖的像素的叶子。QT分解的结果可以作为组合的分解产生,而在父叶子与嵌入块之间的像素域中没有交叠。例如,在图4中的情况下,可以在将嵌入块EB1排除在外的同时对CU1进行编码。换句话说,可以通过仅对剩余块RB1的那些像素进行编码来对CU1进行编码。此时,嵌入块EB1可以被单独编码并发送。在本文中,这种编码方案将被称为临界分解编码。
在本发明的另一实施方式中,利用嵌入块来执行分离的父节点可以被处理或编码为包括被嵌入块覆盖的像素的叶子。QT分解的结果可以作为分解的叠加产生,其中由节点内的所有嵌入QT处理的所得的像素可以与由父节点处理的像素一起用权重混合。例如,在图4的情况下,CU2可以被编码为包括嵌入块EB2和EB3的像素的叶节点。换句话说,可以通过对CU2和嵌入块EB2和EB3的所有像素进行编码来对CU2进行编码。此时,可以通过对嵌入块EB2和EB3的像素应用权重来对嵌入块EB2和EB3的像素进行编码。在本文中,这种编码方案将被称为过完备分解编码。
在本发明的另一实施方式中,嵌入块的参数(EB参数)可以包括空间位置信息、垂直和水平方向上的尺寸信息以及识别信息中的至少一个,并且可以应用于预定义的QT类型集合内所利用的QT。
在本发明的另一实施方式中,嵌入块的参数(EB参数)可以包括分解参数。例如,分解参数可以包括QT分解的范围信息、分离网格信息中的至少一个,并且分离网格信息可以包括二元类型或非二元类型、几何模型类型中的至少一种。
在本发明的另一实施方式中,编码器和解码器二者可以预先知道QT分解的参数。
在本发明的另一实施方式中,可以基于预定义的嵌入块类型集合内的标识符来用信号发送嵌入块的尺寸信息和类型信息。
在本发明的另一实施方式中,可以在比特流中用信号发送嵌入块的参数(EB参数)。可以在QT节点级处、在QT根级处、在LCU级中、在切片头部中、在PPS中、在SPS中或者与其它语法元素一起完成信令。
在本发明的另一实施方式中,可以从编码器或解码器的至少一个中获得嵌入块的参数(EB参数)。
在本发明的另一实施方式中,嵌入块的参数(EB参数)可以包括与嵌入块内的像素关联的运动信息。
在本发明的另一实施方式中,针对嵌入块的父节点可以包括与被父节点覆盖的像素关联的运动信息,其中,所述父节点可以包括或不包括被嵌入块覆盖的像素。
在本发明的另一实施方式中,父节点内的嵌入块可以共享EB参数。
在本发明的另一实施方式中,父节点内的嵌入块可以与另一父节点中的嵌入块共享EB参数。
在下文中,将描述可以从编码器和解码器的角度执行的信令和实施方式。
图5是例示根据本发明的一实施方式的用于基于分离类型信息对编码单元进行解码的方法的流程图。
如上所述,CTU可以通过QT分解被分割成CU,并且CU可以被进一步分割。此时,可以使用分离标志。分离标志可以表示指示编码单元是否被分割的信息;例如,分离标志可以由语法元素“split_cu_flag”表示。
解码器200可以接收视频信号并且从视频信号中获取分离标志(S510)。例如,如果分离标志为“1”,则其指示当前编码单元被分割成子编码单元,而如果分离标志为“0”,则其指示当前编码单元不被分割成子编码单元。
另外,解码器200可以从视频信号中获取分离类型信息(S520)。分离类型信息表示对编码单元进行分割的类型。例如,分离类型信息可以包括嵌入块(EB)分离类型、QT分离类型和二元分离类型中的至少一种。EB分离类型是指编码单元被分割成包括嵌入块的这种分割方案,QT分离类型是指编码单元通过QT分解进行分割的方案,二元分离类型是指编码单元被分割成两个块的方案。
基于分离类型信息,解码器200可以对编码单元进行解码(S530)。此时,本发明可以根据分离类型信息提供不同的编码方法。将通过下面的实施方式详细地描述具体的编码方法。
图6是例示根据本发明的一实施方式的用于对嵌入块进行解码的方法的流程图。
本发明提供了用于当编码单元被分割成包括嵌入块时对嵌入块进行编码的方法。
解码器200可以检查编码单元是否被分割(S610)。编码单元是否被分割可以通过从视频信号中获取的分离标志来检查。如果分离标志为“1”,则其指示当前编码单元被分割,然而,如果分离标志为“0”,则其指示当前编码单元不被分割。
如果从检查结果中确定出编码单元被分割,则解码器200可以从视频信号中获取分离类型信息(S620)。分离类型信息表示对编码单元进行分割的类型;例如,分离类型信息可以包括嵌入块(EB)分离类型、QT分离类型和二元分离类型中的至少一种。
解码器200可以检查分离类型信息是否与EB分离类型对应(S630)。
如果分离类型信息与EB分离类型对应,则解码器200可以获取嵌入块的数目信息(S640)。例如,参照图4,CU1、CU2和CU3的分离类型信息可以表示EB分离类型。另外,针对CU1和CU3中的每一个的嵌入块的数目信息为1(EB1、EB4),并且针对CU2的嵌入块的数目信息为2(EB2和EB3)。
解码器200可以根据所获得的嵌入块的数目信息来获取关于各个嵌入块的参数信息(S650)。例如,参数信息可以包括嵌入块的位置信息、水平尺寸信息和垂直尺寸信息中的至少一种。
解码器200可以基于参数信息对嵌入块进行解码(S660)。
图7和图8是例示根据本发明的实施方式的用于在利用嵌入块来执行四叉树分解时对编码单元进行解码的方法的流程图。
作为本发明的一实施方式,提供了一种临界分解解码方法,即,用于在将嵌入块的像素排除在外的同时对编码单元进行解码的方法。
参照图7,解码器200可以对嵌入块进行解码,并且获取嵌入块的残余信号(S710)。可以根据嵌入块的数目信息来针对各个嵌入块执行该过程。可以基于EB参数来对嵌入块进行解码。
解码器200可以对当前编码单元进行解码(S720),并且获取关于剩余块的残余信号(S730)。此时,剩余块表示编码单元中的除了嵌入块的像素以外的区域。
解码器200可以基于变换四叉树对嵌入块的残余信号和剩余块的残余信号进行解码(S740)。
例如,参照图4,可以在将嵌入块EB1的像素排除在外的同时对CU1进行编码。换句话说,嵌入块EB1和剩余块RB1可以被单独编码并发送。
作为本发明的另一实施方式,可以用值“0”或与白色对应的值对嵌入块的像素进行编码。
作为本发明的另一实施方式,提供了一种过完备分解解码方法,即,用于在包括嵌入块的像素的同时对编码单元进行解码的方法。
参照图8,解码器200可以对嵌入块进行解码,并且获取嵌入块的残余信号(S810)。可以根据嵌入块的数目信息来针对各个嵌入块执行该过程。可以基于EB参数来对嵌入块进行解码。
解码器200可以对包括嵌入块的当前编码单元进行解码并且获取当前编码单元的残余信号(S820)。例如,当嵌入块的像素被填充为“0”或白色时,嵌入块的像素可以通过值“0”或与白色对应的值来处理。在这种情况下,解码器200可以对包括填充有“0”或白色的嵌入块的当前编码单元进行解码。
解码器200可以聚合针对各个嵌入块产生的残余信号。另外,解码器200可以对针对各个嵌入块产生的残余信号应用预定权重(S830)。
解码器200可以基于QT四叉树对残余信号进行解码(S840)。
例如,在图4的情况下,CU2可以被编码为包括嵌入块EB2和EB3的像素的叶节点。解码器200可以对嵌入块EB2和EB3进行解码;并且获取嵌入块EB2的残余信号EB2_R和嵌入块EB3的残余信号EB3_R。另外,解码器200可以对包括嵌入块EB2和EB3的当前编码单元CU2进行解码;并且获取当前编码单元CU2的残余信号CU2_R。
解码器200可以聚合针对各个嵌入块产生的残余信号EB2_R和EB3_R,并且通过对各个聚合的残余信号应用预定权重来对当前编码单元CU2进行解码。
解码器200可以基于变换四叉树对残余信号进行解码。
本发明的实施方式中的彼此交叠的那些部分可以被省略;因此,实施方式可以彼此组合。例如,图5至图8的实施方式可以彼此组合。
图9例示了根据本发明的一实施方式的用于对嵌入块进行解码的语法结构。
构成视频信号的图片可以包括至少一个切片,并且切片可以被分割成切片片段。切片片段可以包括从对CTU进行编码而获得的数据,并且该CTU可以包括编码单元的分割信息(S901)。
如前所述,CTU可以被分割成四叉树结构或者被分割成包括嵌入块。
解码器可以通过检查分离标志来确定CTU是否已经被分割成块。例如,解码器可以获得语法元素“split_cu_flag”,并且检查分离标志是0还是1(S902)。如果split_cu_flag为1,则其指示CTU已经被分割成CU(S903)。
作为本发明的另一实施方式,CTU调用函数coding_quad_tree()并且能够从该函数中检查分离标志。在这种情况下,如果分离标志为“0”,则其指示CTU不再被分割并且可以调用函数coding_unit(),而如果分离标志为“1”,则其指示函数coding_quad_tree()可以被称为分割块的数目并且能够在函数coding_quad_tree()内再次检查分离标志。图9的实施方式省略了上述处理,但是上述处理可以应用于图9中的实施方式,并且当分离类型信息指示EB分离类型时也可以类似地应用。例如,在S907的“else”步骤之后,嵌入块可以包括调用函数coding_quad_tree()并且从该函数中检查分离标志的处理。
另外,解码器可以检查分离类型信息。例如,解码器可以获得语法元素“split_type_id”并且基于该语法元素检查分离类型信息(S904)。分离类型信息指示对编码单元(或编码树单元)进行分割的类型;例如,分离类型信息可以包括EB分离类型、QT分离类型和二元分离类型中的至少一种。分离类型信息可以由为各个分离类型指派识别码的表来定义。
解码器可以检查分离类型信息是否为EB分离类型(S905)。图9的S905和S907中所示的算法仅仅是示例;当分离类型信息为多条时,可以按照各种方式来检查分离类型信息,并且可以根据分离类型信息来应用单独的解码处理。
当分离类型信息不是EBP_TYPE(S905)时,解码器可以对编码单元进行解码(S906)。例如,解码器可以执行不同类型的分割,而不是嵌入块分区类型。此时,编码单元(x0,y0,log2CbSize)的(x0,y0,log2CbSize)可以指示亮度分量中的CU的第一像素的绝对坐标值。
另外,当分离类型信息为嵌入块分区类型(S907)时,可以执行包括用于对嵌入块和编码单元进行解码的步骤S908至S914的处理。
首先,解码器可以获取嵌入块的数目信息(number_ebp)(S908)。另外,根据该数目信息,解码器可以执行针对各个嵌入块的环路编码(S909)。例如,参照图4,在CU2的情况下,number_ebp为2,并且可以针对EB2和EB3中的每一个执行环路编码。
可以获得当前嵌入块的最大深度信息(S910)。例如,最大深度信息表示当前嵌入块的最远分割级,并且可以由语法元素“log2_dif_max_ebp[i]”表示。
可以获得当前嵌入块的水平和垂直位置信息(S911、S912)。水平和垂直位置信息表示分别沿着水平和垂直方向离当前编码单元的坐标(0,0)的距离,并且可以分别由语法元素“conditional_location_ebp_x[i]”和“conditional_location_ebp_y[i]”表示。
解码器可以获取当前嵌入块的附加参数信息(S913)。例如,参数信息可以包括嵌入块的水平尺寸信息或垂直尺寸信息中的至少一种。
解码器可以基于嵌入块参数(例如,S910至S913)来对当前嵌入块进行解码(S914)。例如,编码单元(conditional_location_ebp_x[i],conditional_location_ebp_y[i],log2_dif_max_ebp+log2_min_luma_coding_block_size_minus3+3)可以表示当前嵌入块的位置。
如上所述,在对嵌入块进行解码之后,解码器可以进行关于父节点(例如,CTU或CU)的解码(S915)。在步骤S915中,“type_decomp”表示当前CU所采用的解码方法;例如,信息可以与临界分解解码方法或过完备分解解码方法中的一种对应。
图10例示了根据本发明的一实施方式的嵌入块的参数。
在本发明的实施方式中,像当前节点内的EB的水平/垂直尺寸或log2_dif_max_ebp以及空间位置这样的EB参数可以根据当前节点的尺寸、先前编码的EB的数目和先前编码的EB的尺寸在条件范围内被表示。在这种情况下,EB参数可以包括当前节点内的EB的水平尺寸、垂直尺寸、最大深度信息或空间位置信息。例如,参照图10,EB1的水平尺寸可以被表示为EB1_hor_x[1],EB1的垂直尺寸可以被表示为EB1_ver_y[1]。另外,EB2的水平尺寸可以被表示为EB1_hor_x[2],EB2的垂直尺寸可以被表示为EB1_ver_y[2]。
在图10中,节点被编码有2个EB,用粗箭头线描绘第一EB的参数,并且用细箭头线描绘第二EB的参数。用虚线描绘EB的尺寸,并且用实线描绘可用于定位EBP的空间坐标范围。
第一EB的可能空间坐标的范围(粗实线)没有跨过整个父节点尺寸,但是其可能受限于EB尺寸。第二EB的可能空间坐标的范围(细实线)可能受限于第一EB和第二EB的尺寸以及第一EB的位置。第二EB的可能尺寸的范围也可能受限于第一EB的尺寸和位置。
图11是例示根据本发明的一实施方式的用于生成嵌入块的方法的流程图。
本发明可以利用下面的编码方案来实现利用EQT分解的QT。
在本发明的实施方式中,编码器100可以针对编码单元执行全四叉树分解(S1110)。
另外,编码器100可以聚合分割块的运动信息(S1120)。
然后,编码器100可以通过将具有相同运动模式的分割块进行合并来生成嵌入块(EB)(S1130)。
可以如下详细地说明本发明的另一实施方式。
对于利用嵌入块的QT分解,编码器可以基于在当前节点的节点/叶子全QT分解上应用的合并处理(例如,自下而上的合并策略)来利用率失真优化。例如,可以利用下面的算法。
编码器100可以针对当前节点执行预测QT的全分解。编码器100可以执行对当前节点的编码并且产生参考RD成本RefCost。
编码器100可以识别非交叠运动模型(不同的运动模式)并且预置当前节点的全深度QT分解的叶子。首先,编码器100可以聚合针对叶子所估计的运动信息。例如,编码器100可以产生聚合来自当前节点内的前向预测和后向预测的残差的残余图,并且产生当前节点内的运动场图。
编码器100可以聚集运动信息和分割信息,以识别当前节点内的有限数目的空间局部化运动模型。
编码器100可以合并共享相同运动模型的叶子,以产生预定义类型和尺寸的EQT。
对于各个EQT X,编码器100可以估计父节点的RD成本(costEqtX)以及排除EQT所覆盖的像素后的参考RD成本(RefCostX)。
编码器100可以针对EQT所覆盖的样本执行MCP(运动补偿预测),并且估计costEqtX。
另外,编码器100可以针对将EQT所覆盖的样本排除在外的节点执行MCP,并且估计参考RD成本RefCostX。
编码器100可以聚合来自与分割关联的RefCostX和CostX的残余,并且通过使用优化函数来选择EQT的数目。在这种情况下,下面的式1可以用作优化函数。
[式1]
min(RefCostX+CostEqtX,refCost)
在这种情况下,RefCostX指示参考RD成本,costEqtX指示与分离块有关的RD成本,refCost指示先前EQT的参考RD成本。
然后,编码器100可以对当前节点进行编码并且将其用信号发送至比特流。
图12是例示根据本发明的一实施方式的用于利用嵌入块来执行四叉树分解时对编码单元进行编码的方法的流程图。
在本发明中,编码器100可以使用MCP残余产生节点分解。
在本发明的实施方式中,编码器100可以计算嵌入块(EB)的第一RD成本和剩余块(RB)的第二RD成本(S1210)。
另外,编码器100可以确定用于对基于第一RD成本和第二RD成本之和的函数进行优化的EB的数目(S1220)。
然后,编码器100可以对编码单元进行编码(S1230)。
可以如下详细地说明本发明的另一实施方式。
编码器100可以利用前向和后向ME(运动估计)预测来产生针对当前节点的残余信号。编码器100可以识别具有高残余能量的有限数目的空间局部化区域。另外,编码器100可以将反映具有高空间局部化残余能量的区域的像素数据进行分割,并且产生针对所识别的区域的有限数目的EQT。在这种情况下,EQT可以具有预定义类型和尺寸。
对于各个EQT X,编码器100可以估计父节点的RD成本(costEqtX)和将EQT所覆盖的像素排除在外的参考RD成本(RefCostX)。
编码器100可以对EQT所覆盖的样本执行ME/MCP,并且估计RD成本costEqtX。
编码器100可以针对将EQT所覆盖的样本排除在外的节点执行ME/MCP,并且估计参考RD成本RefCostX。
编码器100可以基于RD成本CostEqtX和参考RD成本RefCostX来聚合残余,并且通过使用优化函数来选择所利用的EQT的数目。在这种情况下,式1可以用作优化函数。
然后,编码器100可以对当前节点进行编码并且将其用信号发送至比特流。
图13是例示根据本发明的一实施方式的用于对嵌入块进行解码的处理器的框图。
解码器可以包括本发明所应用的处理器。处理器1300可以包括分离标志获取单元1310、分离类型获取单元1320、嵌入块解码单元1330和编码单元解码单元1340。另外,嵌入块解码单元1330可以包括嵌入块参数获取单元1331和嵌入块残余获取单元1332。
在下文中,将省略与上述给出的描述交叠的那些部分,并且图1至图12中的实施方式可以应用于图13的实施方式。
通过检查分离标志,分离标志获取单元1310可以检查CTU是否已经被分割成块。
分离类型获取单元1320可以检查分离类型信息。此时,分离类型信息表示对编码单元(或编码树单元)进行分割的类型;例如,分离类型信息可以包括嵌入块(EB)分离类型、QT分离类型和二元分离类型中的至少一种。
分离类型获取单元1320可以检查分离类型信息是否与嵌入分离类型(EBP_TYPE)对应。
当分离类型信息不是EBP_TYPE时,处理器1300可以通过编码单元解码单元1340对编码单元进行解码。
然而,当分离类型信息与EBP_TYPE对应时,处理器1300可以通过嵌入块解码单元1330对嵌入块进行解码。
嵌入块参数获取单元1331可以获取用于对嵌入块进行解码的嵌入块参数。例如,嵌入块参数可以包括嵌入块的数目信息、嵌入块的最大深度信息、嵌入块的水平位置信息、嵌入块的垂直位置信息、以及嵌入块的附加参数信息。例如,该附加参数信息可以包括嵌入块的水平尺寸信息和垂直尺寸信息中的至少一种。
嵌入块解码单元1330可以基于嵌入块参数对嵌入块进行解码。此时,嵌入块残余获取单元1332可以获取嵌入块的残余信号。
如上所述,在对嵌入块进行解码后,编码单元解码单元1340可以针对父节点(例如,CTU或CU)进行解码。此时,可以使用临界分解解码方法或过完备分解解码方法。
如上所述,本发明中所说明的实施方式可以在处理器、微处理器、控制器或芯片上实现和执行。例如,图1-2和图13中说明的功能单元可以在计算机、处理器、微处理器、控制器或芯片上实现和执行。
另外,本发明所应用的解码器和编码器可以被包括在多媒体广播发送/接收装置、移动通信终端、家庭影院视频装置、数字电影视频装置、监视相机、视频聊天装置、诸如视频通信的实时通信装置、移动流媒体装置、存储介质、摄像机、VoD服务提供装置、因特网流媒体服务提供装置、三维(3D)视频装置、电话会议视频装置以及医疗视频装置中,并且可以用于对视频信号和数据信号进行编码。
另外,本发明所应用的解码/编码方法可以按照要由计算机执行的程序的形式产生,并且可以被存储在计算机可读记录介质中。根据本发明的具有数据结构的多媒体数据也可以被存储在计算机可读记录介质中。计算机可读记录介质包括存储有计算机系统可读的数据的所有类型的存储装置。例如,计算机可读记录介质可以包括BD、USB、ROM、RAM、CD-ROM、磁带、软盘和光学数据存储装置。另外,计算机可读记录介质包括按照载波(例如,通过因特网发送)的形式实现的介质。另外,通过编码方法生成的比特流可以被存储在计算机可读记录介质中,或者可以通过有线/无线通信网络发送。
工业实用性
已出于例示性目的公开了本发明的示例性实施方式,并且本领域技术人员可以在所附的权利要求中公开的本发明的技术精神和范围内改进、改变、替换或增加各种其它实施方式。