用于视频和图像编码的熵编解码和上下文建模的方法和装置与流程

文档序号:15577073发布日期:2018-09-29 05:43阅读:238来源:国知局

本发明要求在2015年11月27日提出申请号为pct/cn2015/095775的pct专利申请和2015年12月23日提出申请号为62/387,291的美国临时专利申请的优先权。上述pct专利申请和美国临时专利申请整体以引用方式并入本文中。

本发明总体涉及图像和视频处理技术领域。具体地,本发明涉及用于视频和图像编码系统中产生的语法或符号的熵编解码和上下文建模。



背景技术:

高效视频编码(high-efficiencyvideocoding,hevc)标准由itu-t视频编码专家组(videocodingexpertsgroup,vceg)与iso/iec运动图像专家组(movingpictureexpertsgroup,mpeg)标准化组织的联合视频项目开发,并被作为视频编码联合协作组(thejointcollaborativeteamonvideocoding,jct-vc)的合作伙伴。

在hevc中,一个片段被分区为多个编码树单元(codingtreeunits,ctu)。在主配置文件中,ctu的最小尺寸和最大尺寸由序列参数集(sequenceparameterset,sps)中的语法元素限定。ctu的允许尺寸可以为8x8,16x16,32x32,或64x64。对于每个片段而言,片段中的ctu按照光栅扫描顺序处理。

ctu进一步被分区为多个编码单元(codingunits,cu)以适应不同的局部特征。四元树结构,用编码树表示,用于将ctu分成多个cu。设ctu的尺寸为mxm,m为64,32,或16中的任一数值。ctu可以为一个cu,或者可以作为编码树的节点,被分割成的四个更小的尺寸相同的编码单元(例如,m/2xm/2)。如果该单元作为编码树的叶节点,则该单元为cu。否则,可以迭代四元树分割流程,直至节点尺寸达到sps中限定的最小允许cu尺寸。这一表现形式导致由图1所示的编码树(也被称为分区树结构)120指定的递归结构。图1所示的ctu分区110中,实线指示cu的边界。在cu级中,确定是否使用帧内图片(时间)或帧间图片(空间)预测对图片区域进行编码。由于最小cu尺寸可以为8x8,在不同预测类型切换时的最小粒度为8x8。

每个cu指定一个或多个预测单元(predictionunit,pu)。pu与cu连接,pu作为共享预测信息的基本代表块。在每个pu内,相同的预测流程被应用,且相关信息被发送到一个pu基本层的解码器上。根据pu分割类型,一个cu可以被分割成一个、两个或四个pu。如图2所示,hevc规定了将cu分区成pu的八种形状。不同于cu,pu可以只被分割一次。如第二行所示的分区对应不对称分区类型,其中,两个分区部分具有不同的尺寸。

在基于pu分割类型应用预测流程获取到残差块之后,根据另一个类似于cu编码树的四元树结构,可以将一个cu分割成变换单元(transformunits,tus)。图1中,区块110的实线指示cu的边界,虚线指示tu的边界。类似地,分区树形结构120上的实线对应cu分区树形结构,分区树形结构120上的虚线对应tu分区树形结构。tu是一种应用于整数变换算法和量化处理的残差或变换系数的基本代表块(basicrepresentativeblock)。对于每个tu,一种相同尺寸的整数变换被应用于tu以获得残差系数。该系数被发送到经过以tu为基础的量化处理后的解码器上。

下列术语,编码树块(codingtreeblock,ctb),编码块(codingblock,cb),预测块(predictionblock,pb)以及变换块(transformblock,tb)被定义为分别用于指示与ctu,cu,pu以及tu相关的一个彩色分量的2d样品阵列。因此,ctu包含一个亮度ctb,两个色度ctb,ctu与语法元素相关。类似的关系在cu,pu和tu中有效。树分区通常同时应用于亮度和色度,尽管在色度达到一定的最小允许尺寸时,树分区应用异常。

可替换地,二元树区块分区结构可以被用于如itu-tsg16(studyperiod2013),contribution966(j.an,etal,“blockpartitioningstructurefornextgenerationvideocoding”,itu-tt13sg16com16–c966r3–e,geneva,september2015)所公开的场景中。在已公开的二元树分区结构中,一区块可以被递归地分割成两个更小的区块。如图3中所示,存在多种不同的分割类型。最高效和最简单的分割类型是如图2顶部所示的对称水平分割和对称垂直分割。因此,系统可以选择仅使用上述两种分割类型。对于大小为mxn的给定块,一标记可以被以信号形式指示是否将一区块分割成两个更小的区块。若标记指示“是”,则另一语法元素被以信号形式指示哪一分割类型(例如,水平或垂直)被应用。若使用水平分割类型,则区块被分割成尺寸为mxn/2的两个区块,否则,若使用垂直分割类型,则区块被分割成尺寸为m/2xn的两个区块。二元树分割流程可以被迭代直至分割区块的尺寸(宽度或高度)可以达到高级语法(如sps)中限定的最小允许区块的尺寸(宽度或高度)。由于二元树有两种分割类型(例如,水平和垂直),最小允许区块宽度和高度均应当被指示出。当分割会引起区块高度小于被指示的最小值时,非水平分割是隐含的。当分割会引起区块宽度小于被指示的最小值时,非水平分割是隐含的。图4给出了一个区块分区410及其相关的二元树结构420的示例。在二元树的每个分割节点(例如,非叶节点),一符号指示哪一分割类型(例如,水平或垂直)被应用,0指示水平分割,1指示垂直分割。

所提出的二元树结构可以被用于将一个区块分区成多个更小的区块,例如将一片段分区成多个ctu,将一个ctu分区成多个cu,将一个cu分区成多个pu或者将一个cu分区成多个tu,等等。在一个实施例中,二元树被用于将一个ctu分区成多个cu。换言之,二元树的根节点是一个ctu,二元树的叶节点是多个cu。叶节点进一步被预测和变换编码处理。在另一实施例中,为了简化区块分区流程,没有进一步地将一个cu分区成多个pu或者将一个cu分区成多个tu。这意味着,一cu等于一pu也等于一tu。因此,在这一案例中,二元树的叶节点也是预测和变换编码的基础单元。

二元树结构比四元树结构更有弹性,随着越来越多的分区形状可以被支持,二元树结构也是提高编码效率的因素。然而,为了选择最优的分区形状,编码的复杂性也将增加。为了平衡复杂性和编码效率,在2015年12月9日申请的pct/cn2015/096761中公开了一种组合四元树和二元树结构的方法,该方法被称为四元树加二元树结构(quadtreeplusbinarytree,qtbt)。在已公开的qtbt结构中,一区块首先被四元树结构分区,该四元树分区可以被迭代直至分区区块的尺寸分区达到最小允许四元树叶节点尺寸。如果该叶四元树区块不大于最大允许二元树根节点尺寸,则叶四元树区块进一步被二元树结构分割,二元树分割可以被迭代直至分区区块的尺寸(宽度或高度)到达最小允许二元树叶节点尺寸(宽度或高度)或二元树深度达到最大允许二元树深度。在qtbt结构中,最小允许四元树叶节点尺寸、最大允许二元树根节点尺寸、最小允许二元树叶节点宽度和高度以及最大允许二元树深度可以被高级语法(如sps)指示出。图5给出了一个区块分区510及其相关的qtbt结构520的示例。实线指示四元树分割,虚线指示二元树分割。在二元树的每个分割节点(例如,非叶节点),一符号指示哪一分割类型(例如,水平或垂直)被应用,0指示水平分割,1指示垂直分割。

已公开的qtbt结构可以被用于将一区块分区成多个更小的区块,例如将一片段分区成多个ctu,将一个ctu分区成多个cu,将一个cu分区成多个pu或者将一个cu分区成多个tu,等等。例如,qtbt可以被用于将一个ctu分区成多个cu,即,qtbt的根节点为一ctu,ctu被一qtbt分区成多个cu。cu进一步被预测和变换编码处理。qtbt结构的简化也已经被2015年12月9日申请的pct/cn2015/096761公开,没有进一步地将一个cu分区成多个pu或者将一个cu分区成多个tu。换言之,一cu等于一pu,并等于一tu。因此,qtbt结构的叶节点是预测和变换的基础单元。

以下为一已公开的qtbt结构的示例。qtbt结构可以应用于尺寸为128x128的ctu,最小允许四元树叶节点尺寸等于16x16,最大允许二元树根节点尺寸等于64x64,最小允许二元树叶节点宽度和高度均等于4,以及最大允许二元树深度等于4。首先,ctu被四元树结构分区,叶四元树单元可以拥有从16x16(最小允许四元树叶节点尺寸)到128x128(等于ctu尺寸,即没有分割)的尺寸。当叶四元树单元为128x128时,由于尺寸达到最大允许二元树根节点尺寸64x64,叶四元树单元不能进一步被二元树分割。否则,叶四元树单元可以进一步被二元树分割。叶四元树单元被用作二元树深度为0的根二元树单元。当二元树深度达到4时(即,被指示的最大二元树深度),非分割是隐含的。当二元树节点的宽度为4时,非水平分割是隐含的。当二元树节点的高度为4时,非垂直分割是隐含的。qtbt的叶节点进一步被预测(例如,帧间图片或帧内图片)和变换编码处理。

已公开的树结构可以被分别用于i-片段(即帧间编码片段)的亮度和色度,并同时被用于p-片段和b-片段的亮度和色度(在色度达到特定最小尺寸时除外)。换言之,在i-片段中,一个亮度ctb拥有其自身的qtbt-结构区块分区,两个色度ctb拥有另一qtbt-结构区块分区。该两个色度ctb也可以拥有其自身的qtbt-结构区块分区。



技术实现要素:

本发明公开了一种用于对与区块相关的符号进行熵编解码的方法和装置,该区块分别通过视频编码器或视频解码器进行编码或解码。在一实施例中,接收包括与当前图像中的当前块相关的输入数据,其中,当前块通过采用四元树结构、二元树结构或组合四元树和二元树结构对初始区块分区生成。确定输入数据中被编码或被解码的当前符号,其中,当前符号与当前块相关。基于来源于一个或多个相邻区块的第一信息和与当前块的区块形状或分区深度中的至少一者相关的第二信息确定当前上下文,其中,在当前块之前处理该一个或多个相邻区块。根据当前上下文,应用基于上下文的熵编解码或解码对当前符号进行处理。

在一实施例中,当前符号与四元树分割标记相关,根据当前块的当前四元树深度和具有比当前块更大的四元树深度的相邻区块的数量确定当前上下文,其中,当前块通过采用四元树结构对初始区块分区生成,相邻区块包括顶部相邻区块和左侧相邻区块。例如,当前四元树深度可以被划分成三类,当前四元树深度分别为0,1或大于1;具有比当前块更大的四元树深度的相邻区块的数量值与0,1或2相关;基于三类和三种具有比当前块更大的四元树深度的相邻区块的数量值,总共5类上下文被应用。当基于当前块的分区深度来确定当前上下文时,若初始区块的不同区块尺寸被应用,可以进一步基于当前块的区块形状来确定当前上下文。不同的上下文可以被用于当前块的不同四元树深度以及具有比当前块更大的四元树深度的相邻区块的不同数量值。另外,当顶部相邻区块和左侧相邻区块的四元树分割标记均等于1时,不同的上下文可以被用于不同的四元树深度。

在另一实施例中,当前符号与跳过标记相关,基于当前块的当前二元树深度和采用跳过模式进行编码的相邻区块的数量来确定当前上下文,其中,当前块通过采用二元树结构对初始区块分区生成,相邻区块包括顶部相邻区块和左侧相邻区块。当给定块被跳过模式编码时,除了合并给定块的候选索引外,不再发出语法元素信号。当前二元树深度可以被划分成三类,当前二元树深度分别为0,1或2,以及大于2。被跳过模式编码的相邻区块的数量值与0,1或2相关。在本实施例中,基于三类和三种被跳过模式编码的相邻区块的数量值,总共9类上下文可以被应用。

在又一实施例中,当前符号与一用于指示当前块是否被帧内预测模式或帧间预测模式编码的预测模式标记相关,基于与当前块相关的一当前组合四元树和二元树深度和采用帧间模式进行编码的相邻区块的数量来确定当前上下文,其中,当前块通过采用组合四元树和二元树结构对初始区块分区生成,相邻区块包括顶部相邻区块和左侧相邻区块,其中当前组合四元树和二元树结构为缩放2倍后的四元树深度以及二元树深度的总和。例如,两种上下文分别被用于数量为1和2的被帧间模式编码的相邻区块,若被帧间模式编码的相邻区块数量为0,则两种附加上下文分别被用于当前组合四元树和二元树深度小于4的相邻区块和当前组合四元树和二元树深度不小于4的相邻区块。不同的上下文可以取决于当前组合四元树和二元树深度与深度阈值的比较结果而应用。在本实施例中,若初始区块的不同区块尺寸被应用,则深度阈值可以取决于当前块的区块尺寸。

在又一实施例中,当前符号与第一bin值相关,第一bin值与用于指示当前块是否被分割的二元树分割标记有关,基于具有比当前块更大的组合四元树和二元树深度的相邻区块的数量来确定当前上下文,其中,当前块通过采用组合四元树和二元树结构对初始区块分区生成,当前组合四元树和二元树结构为缩放2倍后的四元树深度以及二元树深度的总和,相邻区块包括顶部相邻区块和左侧相邻区块。进一步地,一当前第二符号对第二bin值相关,第二bin值与用于指示水平分割或垂直分割的二元树分割标记有关,根据当前块的区块形状,当前第二符号取决于第二bin值。第二上下文可以被应用,其中,三种第二上下文分别与区块形状为方形、宽度大于高度的矩形以及宽度小于高度的矩形的当前块相关。不同的上下文集合可以被用于当前块的三种不同形状,其中,当前块的三种不同形状分别与方形、宽度大于高度的矩形以及宽度小于高度的矩形相关。不同的上下文集合或不同的第二上下文集合可以被用于当前块的不同组合四元树和二元树深度。不同的上下文集合或不同的第二上下文集合可以被用于当前块的至少两种不同的二元树深度。例如,4类不同的上下文集合或4类不同的第二上下文集合可以被用于4中不同的二元树深度类型,二元树深度类型分别对应等于0,1,2或大于2的二元树深度。在另一例子中,不同的上下文集合或不同的第二上下文集合可以被用于当前块的至少两种不同的四元树深度或至少两种不同的二元树深度。

附图说明

图1是使用hevc中相应的四元树将ctu细分为cus和tus的示例;

图2是hevc中将cu分割成一个或多个pu的八种分区类型的示例;

图3是二元树中的可能的分区类型的示例;

图4是使用一相关二元树的区块分区的示例;

图5是使用一相关qtbt的区块分区的示例;

图6是本发明一示例性编码系统中使用四元树结构、二元树结构或组合四元树加二元树结构的用于与区块生成相关的符号的基于上下文的熵编解码的一示例性流程示意图。

具体实施方式

以下描述为实施本发明的较佳方式。本描述的目的在于阐释本发明的一般原理,并非起限定意义。本发明的保护范围当视所附的权利要求书所界定为准。

为了提高编码效率,在本发明中,使用基于上下文的自适应二进制算术编码(thecontext-basedadaptivebinaryarithmeticcoding,cabac)模式的熵编解码被用于二元树结构的表达。根据本发明,基于上下文的熵编解码被用于与具有不同区块尺寸范围的区块相关的源符号,其中,通过四元树结构、二元树结构或组合四元树加二元树结构对初始区块分区生成该区块。根据本发明的上下文是基于来自相邻区块的部分信息以及基于当前块的形状、尺寸和深度中的至少一种,因为与当前块相关联的符号的数据可以与当前块利用树结构怎么分区相关。

在一方法中,上下文建模考虑到与相邻区块的二元树深度以及当前块的二元树深度相关的信息,其中,当前块可以发信通知分区决策。上下文的信息可以进一步考虑当前块的尺寸和/或形状。当组合四元树结构时,上下文建模可以进一步利用与相邻区块的四元树深度以及当前块的四元树深度相关的信息。二进制语法元素bt_split_flag可以被编码以作为当前块是否进一步被分区的信号。若该语法元素bt_split_flag是正确的(即分区),语法元素bt_split_flag可以被编码以指示被当前块使用的分割或分区模式(即水平或垂直)。

在包含两种二元分割模式的qtbt结构的一实施例中,对语法元素bt_split_flag进行熵编解码的上下文建模取决于具有比当前块更大的组合qtbt深度的相邻区块的数量。区块的组合qtbt深度被定义为缩放2倍后的四元树深度以及二元树深度的总和。对语法元素bt_split_mode进行熵编解码的上下文建模可以进一步取决于当前块的形状。根据本发明一实施例,表1和表2分别示例性地说明了编码语法元素bt_split_flag和bt_split_mode的上下文选择映射表。在表1中,ctxinc等于0对应于顶部相邻区块和左侧相邻区块的组合qtbt深度均没有大于当前块的组合qtbt深度;ctxinc等于1对应于只有顶部相邻区块和左侧相邻区块中的一者的组合qtbt深度大于当前块的组合qtbt深度。在表2中,由上下文索引识别上下文,ctxinc基于当前块的形状。具体地,ctxinc等于0对应于一个平方块;ctxinc等于1对应于一个宽度大于高度的矩形块;以及ctxinc等于2对应于一个高度大于宽度的矩形块。可以理解的是,表1和表2中所描述的例子在所有方面仅是说明性的,而不是作为对本发明的限制。本申请中可以采用其他数量的上下文。例如,表2中的两个矩形形状可以共享同一个上下文以将上下文的总数量由3个减少至2个。相应地,所公开的表格仅是说明性的,而不是作为对本发明的限制。

表1

表2

在另一实施例中,上下文建模进一步取决于当前块的二元树深度。根据本发明一实施例,表3和表4分别示例性地说明了编码语法元素bt_split_flag和bt_split_mode的上下文选择映射表,其中,“w”和“h”表示当前块宽度和高度。在另一实施例中,上下文建模进一步取决于当前块的四元树深度。在另一实施例中,上下文建模进一步取决于当前块的四元树深度和/或二元树深度,以及不同的四元树深度或二元树深度可以共享相同集合的上下文建模。如表3所示,总共12类上下文(即ctxinc从0到11)被应用。如表4所示,总共8类上下文(即ctxinc从0到7)被应用。再次强调,可以理解的是,表3和表4中所描述的例子在所有方面仅是说明性的,而不是作为对本发明的限制。本发明中,更多或更少数量的上下文或不同的上下文映射可以被应用。例如,表4中区块形状为宽度小于高度“w<h”的二元树深度为1和2的上下文并不相同。但是,在另一例子中,这两种条件可以共享同一个上下文。

表3

表4

在又一实施方式中,根据当前块的形状,不同的上下文集合可以被用于编码语法元素bt_split_flag。例如,不同形状当前块的不同上下文集合可以从如下等式得到:

ctx+=(w==h?0:(w>h?1:2))*num_ctx_set。(1)

当不同上下文集合的算法应用于表1的案例中,表1中的三类上下文可以得到三种不同区块形状的9类上下文。

在又一实施方式中,上下文可以进一步取决于当前块的组合四元树和二元树深度。例如,不同当前块的组合四元树和二元树深度的不同上下文集合可以从如下等式得到:

ctx+=((qtdepth<<1)+btdepth)*num_ctx_set。(2)

在等式(2)中,((qtdepth<<1)+btdepth)项与组合四元树和二元树深度相关,其中,qtdepth是当前块的四元树深度,btdepth是当前块的二元树深度。

众所周知,由于视频资源中总是存在强空间相关性,因此区块的源语法元素值的统计特征常常与其相邻区块的对应语法元素值高度相关。实验结果进一步表明,区块的源语法元素值的统计特征常常与当前块的区块尺寸或分区树的深度相关。因此,在本发明的一实施例中,对尺寸范围大的区块的语法元素所进行的熵编解码上下文建模方案取决于一些与相邻区块相关的信息。上下文建模进一步取决于当前块的区块尺寸或分区树的深度。为了减少建模成本,一些接近的或相关的环境条件可以共享一个建模上下文。例如,在一实施例中,当前块的相邻树深度的相同集合上下文可以被指派给当前块。在另一实施例中,当区块分区被执行于不同色彩分量时,上下文建模方案进一步取决于当前块的色彩分量指数。

在一实施例中,所提出的上下文建模方案被用于由四元树或qtbt分区结构产生的cu四元树分割标记的二进制值(例如hevc中的语法元素split_cu_flag)的熵编解码。所提出的上下文建模方案可以取决于具有比当前cu更大的四元树深度的相邻cu的数量,进一步取决于某些相邻配置的当前块的四元树深度。例如,当前cu的上下文索引ctxidx可以由以下等式确定:

ctxinc=(d<t0?0:(d>t1?(t1-t0+1):(d-t0)))*(n+1)+n。(3)

在等式(3)中,n是具有比当前cu更大的四元树深度的相邻cu的数量,n是相邻cu的最大数量值,d是当前块的四元树深度,以及t0和t1是某预设深度阈值。逻辑运算符“x?y:z”表示当x是true或者不为0时,求y的值;否则求z的值。

在减小上下文的总数量的另一实施例中,当前cu的上下文索引ctxidx可以由以下等式确定:

ctxinc=(n<n)?n:((d<t0?0:(d>t1?(t1-t0+1):(d-t0)))+n)。(4)

在等式(4)中,n是与更大的qt深度相关的相邻cu的数量,n是相邻cu的最大数量值,d是当前块的四元树深度,以及t0和t1是某预设深度阈值。基于等式(4)的上下文选择的语法元素split_cu_flag的示例性映射表被示出在表5a中,其中,当相邻cu均具有一个较大的四元树深度(即n等于2)时,上下文建模进一步取决于预设深度阈值t0和t1分别为0和2的当前cu的四元树深度。如表5a所示,共有6类上下文(即ctxinc从0到5)被应用。表5b示出了另一例子,其中,所有四元树深度大于1的当前块被分组到一个类别,以及共有6类上下文(即ctxinc从0到4)被应用。

表5a

表5b

当ctu的尺寸被固定时,cu的尺寸可以由四元树深度被唯一地导出。例如当ctu的尺寸为128时,对应四元树深度为0,1和2,cu的尺寸分别可以为128,64和32。但是,当不同的ctu的尺寸被应用时,例如ctu为256,对应四元树深度为0,1和2,cu的尺寸分别可以为256,128和64。在本例中,在不同ctu的尺寸被应用时,具有给定尺寸的cu可以通过不同的上下文集合进行编码。这并不是所期望的。在另一实施例中,当上下文取决于四元树深度时,上下文建模进一步取决于区块尺寸。另一方面,四元树深度可以根据ctu的尺寸调节,如此相同cu尺寸被指定到相同的模型集合。

在另一实施例中,所提出的上下文建模方法被用于由四元树、二元树或qtbt分区结构生成cu跳过标记的二进制值(例如hevc中的语法元素cu_skip_flag)的熵编解码。cu跳过标记等于1规定除了合并候选索引外,当前块不再发出语法元素信号。例如,所提出的上下文建模方法取决于跳过相邻cu的数量,进一步取决于当前cu二元树或qtbt的深度。例如,当前块的上下文索引ctxinc可以由以下等式确定:

ctxinc=(((d+1)>>1)<t0?0:(((d+1)>>1)>t1?(t1-t0+1):(((d+1)>>1)-t0)))*(n+1)+n。(5)

在等式(5)中,n是跳过的相邻cu的数量,n是跳过的相邻cu的最大数量值,d是当前块的bt,qt或btqt深度,以及t0和t1是某预设深度阈值。在本发明一实施例中,表6示出了在二元树或qtbt分区结构中的语法cu_skip_flag的上下文选择的示例性映射表。在表6中,共有9类上下文(即ctxinc从0到8)被应用。在本发明一实施例中,表7示出了使用四元树分区结构的上下文选择的示例性映射表。在表6中,共有12类上下文(即ctxinc从0到11)被应用。

表6

表7

在减少上下文总量的另一实施例中,当前块的上下文索引ctxinc可以由以下等式确定:

ctxinc=(n<n)?n:((((d+1)>>1)<t0?0:

(((d+1)>>1)>t1?(t1-t0+1):(((d+1)>>1)-t0)))+n)。(6)

在等式(6)中,n是跳过的相邻cu的数量,n是跳过的相邻cu的最大数量值,d是当前块的bt,qt或btqt深度,以及t0和t1是某预设深度阈值。

本发明可以被用于语法元素pred_mode_flag。语法元素pred_mode_flag等于0规定当前块单元在帧内预测模式中被编码。语法元素pred_mode_flag等于1规定当前块单元在帧间预测模式中被编码。根据现有的hevc标准,语法元素pred_mode_flag等于被应用单个上下文进行熵编解码。本发明一实施例得到在帧间模式中被编码的基于相邻区块数量的上下文,其中,相邻区块包括顶部相邻区块和左侧相邻区块。上下文进一步取决于当前块的组合四元树和二元树深度,qbtdepth=(qtdepth*2+btdepth+1)>>1,其中qtdepth为当前块的四元树深度,btdepth为当前块的二元树深度。在一实施例中,初始上下文索引ctxinc可以基于在帧间模式中被编码的相邻区块数量推导得出。随后被修改的初始ctxinc进一步取决于当前块的组合四元树和二元树深度:

ctxinc=ctxinc?(ctxinc+1):(qbtdepth<4?0:1)。(7)

根据等式(7),生成语法元素pred_mode_flag的4类上下文。在上述示例中,上下文选择取决于具有一深度阈值的当前块的组合四元树和二元树深度的比较结果。如果不同的ctu尺寸被应用,例如ctu的尺寸为256或128,由于不同的ctu尺寸,该深度阈值应当将四元树深度考虑在内。例如,在等式(7)中,ctu的尺寸为128时,深度阈值为4。ctu的尺寸为256时,深度阈值应被修改为6。相应地,在其他实施例中,如果不同的ctu区块尺寸被应用,深度阈值取决于当前cu的区块尺寸。

图6示出了本发明中包含基于上下文对区块相关的符号进行熵编解码的示例性编码系统一实施例的流程示意图,该区块采用四元树结构、二元树结构或组合四元树和二元树结构生成的。根据该方法,在步骤610中,接收与当前图像中的当前块相关的输入数据,其中,当前块通过采用四元树结构、二元树结构或组合四元树和二元树结构对初始区块分区生成。在编码器侧,输入数据对应与当前块相关的一个或多个符号。该符号可以与用于生成当前块的分区流程相关。该符号也可以对应与当前块相关的语法元素,例如跳过标记或预测模式标记。在解码器侧,输入数据可以对应与编码符号或语法元素相关的一视频比特流或一二进制字符串,该编码符号或语法元素通过基于上下文的熵解码进行解码。在步骤620中,确定输入数据中被编码或被解码的当前符号,其中,当前符号与当前块相关。在步骤630中,基于来源于一个或多个相邻区块的第一信息和与当前块的区块形状或分区深度中的至少一者相关的第二信息确定当前上下文,其中,在当前块之前处理一个或多个相邻区块。随后,在步骤640中,根据当前上下文,应用基于上下文的熵编解码或解码对当前符号进行处理。

本发明所示的流程图用于示出根据本发明的视频编码的示例。在不脱离本发明的精神的情况,本领域的技术人员可以修改每个步骤、重组这些步骤、将一个步骤进行分离或者组合这些步骤而实施本发明。在本发明中,已经使用特定语法和语义来示出不同示例,以实施本发明的实施例。在不脱离本发明的精神的情况,通过用等价的语法和语义来替换该语法和语义,本领域的技术人员可以实施本发明。

上述说明,使得本领域的普通技术人员能够在特定应用程序的内容及其需求中实施本发明。对本领域技术人员来说,所描述的实施例的各种变形将是显而易见的,并且本文定义的一般原则可以应用于其他实施例中。因此,本发明不限于所示和描述的特定实施例,而是将被赋予与本文所公开的原理和新颖特征相一致的最广泛的范围。在上述详细说明中,说明了各种具体细节,以便透彻理解本发明。尽管如此,将被本领域的技术人员理解的是,本发明能够被实践。

如上的本发明的实施例可以在各种硬件、软件代码或两者的结合中实现。例如,本发明的实施例可以是集成在视频压缩芯片内的电路,或者是集成到视频压缩软件中的程序代码,以执行本文的处理。本发明的一个实施例也可以是在数字信号处理器(digitalsignalprocessor,dsp)上执行的程序代码,以执行本文所描述的处理。本发明还可以包括由计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(fieldprogrammablegatearray,fpga)所执行的若干函数。根据本发明,通过执行定义了本发明所实施的特定方法的机器可读软件代码或者固件代码,这些处理器可以被配置为执行特定任务。软件代码或固件代码可以由不同的编程语言和不同的格式或样式开发。软件代码也可以编译为不同的目标平台。然而,执行本发明的任务的不同的代码格式、软件代码的样式和语言以及其他形式的配置代码,不会背离本发明的精神和范围。

本发明以不脱离其精神或本质特征的其他具体形式来实施。所描述的例子在所有方面仅是说明性的,而非限制性的。因此,本发明的范围由附加的权利要求来表示,而不是前述的描述来表示。权利要求的含义以及相同范围内的所有变化都应纳入其范围内。

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