视频的解码方法_5

文档序号:9290287阅读:来源:国知局
建模器1420将用于对当前句法元素的比特串 的每个二进制值进行编码的二进制值的概率输出到二进制算术编码器1430。
[0197] 上下文模型是二进制位的概率模型,可包括关于0和1中的哪个与最大概率符号 (MPS)和最小概率符号(LPS)相应的信息、以及MPS和LPS中的至少一个的概率信息。
[0198] 上下文建模器1420可基于变换单元的变换深度来选择用于对变换单元有效系数 标记cbf?进行熵编码的上下文模型。如果变换单元的尺寸等于编码单元的尺寸,也就是,如 果变换单元的变换深度为0,则上下文建模器1420可将预设第一上下文模型确定为用于对 变换单元有效系数标记cbf?进行熵编码的上下文模型。相反,如果变换单元的尺寸小于编 码单元的尺寸,也就是,如果变换单元的变换深度不为0,则上下文建模器1420可将预设第 二上下文模型确定为用于对变换单元有效系数标记cbf?进行熵编码的上下文模型。这里, 第一上下文模型和第二上下文模型基于不同的概率分布模型。也就是说,第一上下文模型 和第二上下文模型是不同的上下文模型。
[0199] 如上所述,当变换单元有效系数标记cbf被熵编码时,上下文建模器1420在变换 单元的尺寸等于编码单元的尺寸的情况以及在变换单元的尺寸不等于编码单元的尺寸的 情况下使用不同的上下文模型。如果指示用于对变换单元有效系数标记cbf?进行熵编码 的多个预设上下文模型中的一个的索引被称为上下文索引ctxldx,则上下文索引ctxldx 可具有通过将用于确定上下文模型的上下文增加参数ctxlnc与预设上下文索引偏移 (^叉1(^;(^€861:求和而获得的值。也就是,(^11(11 = (^1111〇+(^11(^(^€861:。上下文建模器 1420可将变换单元的变换深度为0的情况与变换单元的变换深度不为0的情况区分开,可 基于变换单元的变换深度来改变用于确定上下文模型的上下文增加参数ctxlnc,并且因此 可改变用于确定用于对变换单元有效系数标记cbf?进行熵编码的上下文模型的上下文索 弓|ctxldx。
[0200] 更详细地,如果变换深度被称为trafocbpth,则上下文建模器1420可基于以下运 算来确定上下文增加参数ctxlnc:
[0201] ctxlnc=(trafodepth= = 0) ? 1:0
[0202] 该运算可由以下伪代码来实现。
[0203] {
[0204] If(trafodepth== 0)ctxlnc= 1 ;
[0205] elsectxlnc= 0 ;
[0206] }
[0207] 可根据亮度分量和色度分量来单独地设置变换单元有效系数标记cbf。如上所述, 可通过使用根据变换单元的变换深度是否为0而改变的上下文增加参数ctxlnc来确定用 于对亮度分量的变换单元的变换单元有效系数标记cbf_luma进行熵编码的上下文模型。 可通过将变换深度trafodepth的值用作上下文增加参数ctxlnc来确定用于对色度分量的 变换单元的变换单元有效系数标记cbf_cb或cbf_cr进行熵编码的上下文模型。
[0208] 常规编码引擎1432基于包括在从上下文建模器1420提供的上下文模型中的关于 MPS和LPS的信息以及MPS和LPS中的至少一个的概率信息,对与句法元素相应的比特流执 行二进制算术编码。
[0209] 图15是示出根据本发明的实施例的对与变换单元相关的句法元素进行熵编码和 熵解码的操作的流程图。
[0210] 参照图15,在操作1510,对变换单元有效系数标记cbf进行初始熵编码和熵解码, 其中,变换单元有效系数标记cbf指示非零变换系数是否存在于包括在当前变换单元中的 多个变换系数中。如上所述,可基于变换单元的变换深度来确定用于对变换单元有效系数 标记cbf?进行熵编码的上下文模型,并且可基于确定的上下文模型来执行对变换单元有效 系数标记cbf?进行二值化算术编码。
[0211] 如果变换单元有效系数标记cbf为0,则由于仅变换系数0存在于当前变换单元 中,因此仅值〇被熵编码或熵解码为变换单元有效系数标记cbf,并且变换系数级别信息不 被熵编码或熵解码。
[0212] 在操作1520,如果在当前变换单元中存在有效系数,则对指示有效系数的位置的 有效图SigMap进行熵编码或熵解码。
[0213] 有效图SigMap可由有效位和指示最后一个有效系数的位置的预定信息构成。有 效位指示根据每个扫描索引的变换系数是有效系数还为0,并可由significant_coeff_ flag[i]来表示。如稍后将描述的,以通过划分变换单元而获得的具有预定尺寸的子集为单 位来设置有效图。因此,significant_coeff_flag[i]指示在子集中包括的多个变换系数 之中的第i个扫描索引的变换系数是否为〇,其中,所述子集包括在变换单元中。
[0214] 根据传统的H. 264,指示每个有效系数是否为最后一个有效系数的标记 (End-of-Block(块的结束))被单独地熵编码或熵解码。然而,根据本发明的实施例,对最 后一个有效系数自身的位置信息进行熵编码或熵解码。例如,如果最后一个有效系数的位 置是(x,y),则可对作为指示坐标值(x,y)的句法元素的last_significant_coeff_x和 last_significant_coeff_y进行熵编码或熵解码,其中,x和y是整数。
[0215] 在操作1530,指示变换系数的大小的变换系数级别信息被熵编码或熵解码。根 据传统H. 264/AVC,由作为句法元素的coeff_abs_level_minusl来表示变换系数级别信 息。根据本发明的实施例,对作为变换系数级别信息的coeff_abs_level_greaterl_flag、 coefT_abs_level_greater2_flag和coeff_abs_level_remaining进行编码,其中,coeff_ abs_level_greaterl_flag是关于变换系数的绝对值是否大于1的句法元素,coeff_abs_ level_greater2_flag是关于变换系数的绝对值是否大于2的句法元素,coeff_abs_ level_remaining指示剩余变换系数的大小信息。
[0216] 指示剩余变换系数的大小信息的句法元素coeff_abs_level_remaining是变 换系数(absCoeff)的大小和基本级别值baseLevel之间的差,其中,通过使用coeff_ abs_level_greaterl_flag和coeff_abs_level_greater2_flag来确定基本级别值 baseLevel。根据等式baseLevel=l+coeff_abs_level_greatherl_flag+coeff_abs_level_greather2_flag来确定基本级别值baseLevel,并且根据等式coeff_abs_level_ remaining=absCoeff-baseLevel来石角定coefT_abs_level_remaining〇 在coeff_abs_ level_greaterl_flag和coeff_abs_level_greater2_flag具有值0 或 1 的同时,基本级别 值baseLevel可具有从 1 到 3 的值。因此,coeff_abs_level_remaining可从(absCoeff-1) 到(absCoeff-3)改变。如上所述,作为原始变换系数absCoeff的大小和基本级别值 baseLevel之间的差的(absCoeff-baseLevel)作为变换系数的大小信息被发送,以减小发 送数据的大小。
[0217] 现在将描述根据本发明的实施例的确定用于对变换单元有效系数标记进行熵编 码的上下文模型的操作。
[0218] 图16是示出根据本发明的实施例的编码单元和包括在编码单元中的变换单元 1611至1617的示图。在图16中,由虚线指示的数据单元表示编码单元,由实线指示的数据 单元表示变换单元1611至1617。
[0219] 如上所述,视频编码设备100和视频解码设备200通过将最大编码单元划分为具 有等于或小于最大编码单元的尺寸的尺寸的编码单元来执行编码和解码。独立于其他数据 单元,可基于代价来确定在预测操作中使用的预测单元和在变换操作中使用的变换单元。 如果编码单元的尺寸大于视频编码设备100和视频解码设备200可使用的最大变换单元的 尺寸,则编码单元可被划分为具有等于或小于最大变换单元的尺寸的尺寸的变换单元,并 且可基于划分的变换单元来执行变换操作。例如,如果编码单元的尺寸是64X64并且可用 的最大变换单元的尺寸是32X32,为了对编码单元进行变换(或逆变换),则编码单元被划 分为具有等于或小于32X32的尺寸的变换单元。
[0220] 可确定指示编码单元在水平方向和竖直方向上被划分为变换单元的次数的变换 深度(trafod印th)。例如,如果当前编码单元的尺寸是2NX2N并且变换单元的尺寸是 2NX2N,则可确定变换深度为0。如果变换单元的尺寸是NXN,则可确定变换深度为1。不 同地,如果变换单元的尺寸为N/2XN/2,则可确定变换深度为2。
[0221] 参照图16,变换单元1611、1616和1617是通过将根编码单元划分一次而获得的级 别1变换单元,并且具有变换深度1。变换单元1612、1614、1614和1615是通过通过将级别 1变换单元划分为4片而获得的级别2变换单元,并且具有变换深度2。
[0222] 图17是示出用于基于变换深度确定图16的变换单元1611至1617中的每个的变 换单元有效系数标记cbf?的上下文模型的上下文增加参数ctxlnc的示图。在图17的树结 构中,叶节点1711至1717分别对应于图16的变换单元1611至1617,标记在叶节点1711 至1717上的值0和1指示变换单元1611至1617的变换单元有效系数标记cbf。另外,在 图17中,具有相同变换深度的叶节点以位于左上方、右上方、左下方和右下方的变换单元 的顺序被示出。例如,图17的叶节点1712、1713、1714和1715分别对应于图16的变换单 元1612、1613、1614和1615。另外,参照图16和图17,假设仅变换单元1612和1614的变 换单元有效系数标记cbf?是1,而其他变换单元的变换单元有效系数标记cbf?为0。
[0223] 参照图17,由于图16的所有的变换单元1611至1617通过划分根编码单元而获得 并且因此具有非零变换深度,因此用于确定变换单元1611至1617中的每个的变换单元有 效系数标记cbf?的上下文模型的上下文增加参数ctxlnc被设置为具有值0。
[0224] 图18是示出根据本发明的另一实施例的编码单元1811和包括在编码单元1811 中的变换单元1812的示图。在图18中,由虚线指示的数据单元表示编码单元1811,由实线 指示的数据单元表示变换单元1812。
[0225] 参照图18,如果编码单元1811的尺寸等于用于对编码单元1811进行变换的变换 单元1812的尺寸,贝lj变换单元1812的变换深度(trafodepth)具有值0。如果变换单元 1812具有变换深度0,则用于确定变换单元1812的变换单元有效系数标记cbf?的上下文模 型的上下文增加参数ctxlnc被设置为具有值1。
[0226] 图14的上下文建模器1420基于变换单元的变换深度来将编码单元的尺寸与变换 单元的尺寸进行比较,并且可将变换单元的变换深度为〇的情况与变换单元的变换深度不 为〇的情况区分开,因此可改变用于确定用于对变换单元有效系数标记cbf进行熵编码的 上下文模型的上下文增加参数ctxlnc。在变换单元的变换深度为0的情况和变换单元的变 换深度不为〇的情况下,通过改变用于确定上下文模型的上下文增加参数ctxlnc,可改变 用于对变换单元有效系数标记cbf进行熵编码的上下文模型。
[0227]图19是示出根据本发明的实施例的用于确定包括在图16的编码单元中的变换单 元的结构的划分信息标记split_transform_flag的示图。
[0228] 视频编码设备100可将关于用于对每个编码单元进行变换的变换单元的结构的 信息用信号传输到视频解码设备200。可通过使用指示每个编码单元是否在水平方向和竖 直方向上被划分为四个变换单元的划分信息标记split_transform_flag,来用信号传输关 于变换单元的结构的信息。
[0229] 参照图16和图19,由于根变换单元被划分为四片,因此根变换单元的划分变换标 记split_transform_flag1910被设置为1。如果根变换单元的尺寸大于可用的最大变换 单元的尺寸,则根编码单元的划分变换标记split_transform_flag1910可总被设置为1 并且可不被信号传输。这是因为,如果编码单元的尺寸大于可用的最大变换单元的尺寸,则 编码单元不需要被划分为具有等于或小于至少最大变换单元的尺寸的尺寸的较深层编码 单元。
[0230] 针对从根编码单元划分的四个变换单元中的每个变换单元已经具有变换深度1, 指示是否将四个变换单元中的每个变换单元划分为具有变换深度2的四个变换单元的划 分变换标记被设置。在图19中,具有相同变换深度的变换单元的划分变换标记以位于左上 方、右上方、左下方和右下方的变换单元的顺序被示出。标号1911表示图16的变换单元 1611的划分变换标记。由于变换单元1611没有被划分为具有较低深度的变换单元,因此 变换单元1611的划分变换标记1911具有值0。同样,由于图16的变换单元1616和1617 没有被划分为具有更低深度的变换单元,因此变换单元1616的划分变换标记1913和变换 单元1617的划分变换标记1914具有值0。由于图16中的具有变换深度1的右上方变换 单元被划分为具有变换深度2的变换单元1612、1613、1614和1615,因此,右上方变换单元 的划分变换标记1912具有变换深度1。由于具有变换深度2的变换单元1612、1613、1614 和1615没有被划分为具有更低深度的变换单元,则具有变换深度2的变换单元1612、1613、 1614和1615的划分变换标记1915、1916、1917和1918具有值0。
[0231] 如上所述,可基于变换单元的变换深度来确定用于对变换单元有效系数标记cbf 进行熵编码的上下文模型,并且可基于选择的上下文模型来对变换单元有效系数标记cbf 执行二值化算术编码。如果变换单元有效系数标记cbf为0,则由于仅变换系数0存在于当 前变换单元中,因此仅值〇被熵编码或熵解码为变换单元有效系数标记cbf,并且变换系数 级别信息不被熵编码或解码。
[0232] 现在将描述对与包括在其变换单元有效系数标记cb
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1