视频译码中的预测残余块的再定位的制作方法_4

文档序号:8947769阅读:来源:国知局
111] 在运动补偿单元82基于运动向量及其它语法元素产生当前视频块的预测性块之 后,视频解码器30通过将经重构的残余块与由运动补偿单元82产生的相对应的预测性块 加总来形成经解码视频块。更具体来说,将残余块的像素差值与相对应的预测性块的相对 应的预测性像素值加总。此加总过程是针对明度及色度块两者执行以便重构整个视频块。 求和器90表示执行此加总运算的一或多个组件。必要时,还可应用解块滤波器以对经解码 块进行滤波以便去除成块效应假象。还可使用其它环路滤波器(在译码环路中或在译码环 路之后)来使像素转变变平滑或者以其它方式改善视频质量。接着将给定帧或图片中的经 解码视频块存储在参考图片存储器92中,参考图片存储器92存储用于后续运动补偿的参 考图片。参考图片存储器92还存储经解码视频以供稍后呈现在显示装置(例如,图1的显 示装置32)上。
[0112] 视频解码器30可经配置以执行本发明的技术,包含跳过用于残余块的逆变换,及 确定是否旋转残余块。视频解码器30的再定位单元94可确定是否旋转残余块。在一些实 例中,再定位单元94基于位流中指示在视频编码器20处使用的残余块的旋转值的语法元 素确定是否旋转残余块。在其它实例中,再定位单元94可基于残余块的两个或两个以上边 缘处的边界的类型确定是否旋转残余块。
[0113] 当旋转残余块时,视频解码器30的再定位单元94可确定是否将残余块旋转达预 定旋转值,或可确定将残余块旋转所达的旋转值。在任一情况下,视频解码器30接着在使 用预测性块从残余块重构视频块之前将残余块旋转达所确定的旋转值。下文关于图5到8 更详细描述用于基于残余块的边缘处的边界的类型确定是否旋转帧间预测残余块的实例 操作。
[0114] 在一些实例中,视频解码器30可接收仅指示变换跳过是否用于残余块的语法元 素,即,是使用无损译码模式还是使用变换跳过模式中的有损译码模式来编码残余块。在此 情况下,再定位单元94使用与视频编码器20确定残余块的边缘处的边界的类型的操作相 同的操作来确定是否旋转残余块,以将在编码期间执行的旋转反转以便从残余块重构视频 块。在其它实例中,视频解码器30可接收指示在编码期间应用于残余块的旋转的旋转值 (例如,〇度、90度、180度或270度)的语法元素。在此情况下,再定位单元94可基于用信 号表示的旋转值旋转残余块以将在编码期间执行的旋转反转,例如,通过在相反方向上旋 转〇度、90度、180度或270度,以便从残余块重构视频块。下文关于图5到8更详细地描 述用于确定是否旋转帧间预测残余块的实例操作。
[0115] 在一些额外实例中,视频解码器30经配置以执行本发明的技术,包含在残余块的 大小小于或等于阈值块大小时,跳过用于残余块的变换及旋转残余块。阈值块大小可等于 在有损译码模式中允许进行变换跳过及旋转所针对的块大小。以此方式,对于使用无损译 码模式或变换跳过模式中的有损译码模式译码的残余块,可执行旋转所针对的块大小对 准,S卩,相同。此技术可适用于帧间预测残余块及帧内预测残余块两者。
[0116] 此外,视频解码器30可经配置以执行本发明的技术,包含在残余块的大小小于或 等于阈值块大小时,跳过用于残余块的变换,及沿着残余块的对角线翻转残余数据样本值。 翻转残余块的残余数据样本值包含交换残余块的对角线的一边上的残余数据样本值与对 角线的另一边上的对应的镜像位置处的残余数据样本值。此技术可适用于帧间预测残余块 及帧内预测残余块两者。
[0117] 在一些实例中,在无损译码模式的情况下,可将旋转或翻转仅应用于大小小于或 等于阈值块大小的帧内预测残余块。在其它实例中,可将旋转或翻转应用于大小小于或等 于阈值块大小的所有残余块,即,帧内预测及帧间预测残余块。在额外实例中,在变换跳过 模式中的有损译码模式的情况下,可将旋转或翻转仅应用于帧内预测残余块,或可将旋转 或翻转应用于帧内预测及帧间预测残余块两者。
[0118] 图4为说明根据运动预测模式分割成一或多个PU102、104及根据四叉树数据结 构分割成多个TU110、112、114、116的残余块的⑶100的框图。在图4中,将PU边界说 明为围绕HJ102及104的边缘的粗体实线。PU边界包括属于不同PU的两个TU之间的边 界,例如,PU102内的TU110与PU104内的TU114之间的边界。在图4中,将TU边界说 明为PU102内的TU110与TU112之间及PU104内的TU114与TU116之间的粗体短划 线。TU边界包括属于同一PU的两个TU之间的边界,例如,PU102内的TU110与TU112 之间的边界。
[0119] 一般来说,本发明描述用于译码具有变换跳过的预测残余块(例如,TU112)的残 余数据的技术。TU112的残余数据包括视频块的一部分与相关联的预测块之间的像素差 值。当使用无损译码模式或变换跳过模式中的有损译码模式译码TU112时,可跳过用于TU 112的变换。在未将变换应用于TU112时,具有高于平均值的能量的残余数据(S卩,较大像 素差值)可能并不定位于TU112的左上角处,所述情形为熵译码所期望的。
[0120] 在帧内预测模式中,当跳过用于残余块的变换时,具有高于平均值的能量的残余 数据通常定位于帧内预测残余块的右下角处。在一些情况下,可在译码残余块之前自动地 将帧内预测残余块旋转达180度以便将具有高于平均值的能量的残余数据定位于残余块 的左上角处。然而,在帧间预测模式中,可能不会始终需要自动地将残余块旋转达180度。
[0121] 做出关于帧间预测残余块的残余数据的能量的以下观察。帧间预测残余块的TU边界处的残余数据通常具有低于残余块中的平均残余数据的能量。另外,帧间预测残余块 的PU边界处的残余数据通常具有高于残余块中的平均残余数据的能量。基于此观察,本发 明的技术包含基于TU112的两个或两个以上边缘处的边界的类型旋转具有变换跳过的帧 间预测残余块(例如,TU112)。
[0122] 根据本发明的技术,当跳过用于TU112的变换时,再定位单元(例如,来自图2的 视频编码器20的再定位单元66或来自图3的视频解码器30的再定位单元94)可确定TU 112的两个或两个以上边缘处的边界的类型,且接着确定是否旋转TU112以便将TU112的 原始版本的PU边界处的残余数据定位于TU112的被旋转的版本的左上角处。在一些情况 下,可仅将所述技术应用于使用无损译码模式或变换跳过模式中的有损译码模式译码的帧 间预测残余块。在所述情况下,可在译码残余视频块中的残余数据之前自动地将使用无损 译码模式或变换跳过模式中的有损译码模式译码的经帧内预测的残余块旋转达180度。在 其它情况下,还可将所述技术应用于使用无损译码模式或变换跳过模式中的有损译码模式 译码的帧间预测及帧内预测残余块两者。
[0123]在一些实例中,所述技术包含确定是将TU112旋转达预定旋转值(例如,180 度)还是不旋转TU112。在其它实例中,所述技术包含从两个或两个以上旋转值中确定将 TU112旋转所达的旋转值,例如,0度或不旋转、180度、90度或270度。在编码侧上,执行旋 转以在编码TU112的残余数据之前将具有高于平均值的能量的残余数据定位于TU112的 被旋转的版本的左上角处以改善熵译码效率。在一些情况下,可在编码侧上在逆时针方向 上执行旋转。在解码侧上,执行旋转以将在编码期间执行的旋转反转且将具有高于平均值 的能量的残余数据传回到其在TU112中的原始位置以便使用预测性块从TU112重构视频 块。在一些情况下,可在解码侧上在顺时针方向上执行旋转。
[0124] 在本发明的技术的第一实例中,在译码帧内预测残余块的残余数据之前,自动地 将跳过变换的所述残余块旋转达180度。相反地,不管是否跳过变换,均不对帧间预测残余 块(例如,TU112)应用旋转。
[0125] 在本发明的技术的第二实例中,可将残余块旋转达180度或不旋转残余块,这取 决于残余块的边缘处的边界的类型。将旋转限于〇度或180度可能为合乎需要的,这是因 为难以在硬件中实施达90度或270度的旋转(因为可能需要转置缓冲器)。一般来说,如 果残余块的左侧及顶部边缘为PU边界(例如,TU110),那么左上角中的残余数据很可能具 有高于TU110中的平均残余数据的能量。在所述情况下,TU110达180度的旋转可能为 不合乎需要的,这是因为高能量残余数据已经集中在TU110的左上角处。因此,视频译码 装置可确定不执行TU110的旋转。然而,如果残余块的左侧及顶部边缘为TU边界且残余 视频块的右侧及底部边缘为PU边界,那么达180度的旋转可能为合乎需要的,以便将高能 量残余数据定位于残余块的被旋转的版本的左上角中。因此,视频译码装置可确定将所述 残余块旋转达180度。
[0126] 根据本发明的技术,视频译码装置的再定位可将残余块的每一边缘分类为HJ边 界或TU边界。再定位单元接着应用规则来确定是否将残余块旋转达180度。如果残余块 的右侧及底部边缘上的PU边界的数目大于残余块的左侧及顶部边缘上的HJ边界的数目, 那么再定位单元确定将残余块旋转达180度。下文的表1展示将执行达180度的旋转所针 对的边缘分类的组合。对于剩余组合,视频译码装置的再定位单元确定不对残余块执行旋 转。在左侧及顶部边缘的PU边界的数目等于残余块的底部及右侧边缘处的PU边界的数目 的情况下,视频译码装置的再定位单元可确定将残余块旋转达180度或不旋转残余块。
[0127] 表 1
[0128]
[0129] 作为实例,视频译码装置的再定位单元可基于TU112的每一边缘处的边界的类 型确定是否将TU112的残余块旋转(例如)达180度。再定位单元确定TU112的左侧边 缘及顶部边缘处的PU边界的第一数目等于一个HJ边界,S卩,顶部边缘。再定位单元还确定 TU112的右侧边缘及底部边缘处的PU边界的第二数目等于两个PU边界,S卩,右侧边缘与底 部边缘两者。在此情况下,PU边界的第二数目大于PU边界的第一数目,因此再定位单元确 定在译码TU112的残余数据之前将TU112旋转达180度。
[0130] 在本发明的技术的第三实例中,视频译码装置的再定位单元可考虑用于每一残余 视频块的高达4个可能的旋转值,S卩,0度或不旋转、180度、90度及270度。在一些情况下, 再定位单元可能仅考虑所述旋转值中的两者,例如0度及180度,这是因为难以在硬件中实 施达90度或270度的旋转(因为可能需要转置缓冲器)。因此,在此实例中,仅考虑不旋转 或达180度的旋转。
[0131] 在应用旋转值(0度、180度、90度及270度)中的每一者之后,再定位单元针对所 述旋转值中的相应旋转值计算残余块的左侧及顶部边缘处的PU边界的数目。假设HJ边界 的这些数目用nQ、n1SQ、n9。及n27。来表示。类似地,在应用旋转值(0度、180度、90度及270 度)中的每一者之后,再定位单元针对所述旋转值中的相应旋转值计算残余块的右侧及底 部边缘处的PU边界的数目。假设PU边界的这些数目用mQ、m1SQ、m9。及m27。来表示。可在编 码侧上在逆时针方向上执行旋转,且可在解码侧上在顺时针方向上执行旋转。
[0132] 根据这些技术,视频译码装置的再定位单元接着针对所述旋转值中的每一者计算 残余块的左侧及顶部边缘处及残余块的右侧及底部边缘处的PU边界的数目之间的差值, 即,d0= (n0-m0),d90= (n90-m90),d1S0= (n1S0-m1S0),且d270=(n270-m270)。再定位单元从用 于所有旋转值的差值d。、d9。、dls。及d27。中确定最大差值。视频译码装置的再定位单元接着 确定将残余块旋转达对应于最大差值的旋转值。
[0133] 如果所述差值中的两者或两者以上等于最大差值,那么再定位单元可根据预定次 序选择待应用于残余块的旋转值。预定次序的一个实例为:不旋转、旋转达180度、旋转达 90度,及旋转达270度。在此实例中,如果d。、d9。及d18。皆等于最大差值,那么不对残余块 应用旋转。如果d9。及dls。两者等于最大差值,那么将180度的旋转值应用于残余块。在其 它实例中,可使用在最大值约束的情况下选择旋转的不同次序。下文表2展示原始残余块 的边界类型与用于残余块的所得旋转值的两种组合。
[0134] 表 2
[0135]
[0136] 作为实例,视频译码器的再定位单元可基于TU112的每一边缘处的边界的类型 确定是否将TU112的残余视频块旋转(例如)达0度、180度、逆时针的90度或逆时针的 270度。再定位单元针对所述旋转值中的每一者确定TU112的左侧边缘及顶部边缘处的 PU边界的第一数目以使得n。=l,n1S。= 2,n9。= 2,且n27。= 1。再定位单元接着针对所述 旋转值中的每一者确定TU112的右侧边缘及底部边缘处的PU边界的第二数目以使得m。= 2,n1S0=l,n90= 1 且n270= 2〇
[0137] 再定位单元接着针对所述旋转值中的每一者计算PU边界的第一数目与PU边界的 第二数目之间的差值以使得d。=-1,d18。= 1,d9。= 1,且d27。=-1。再定位单元接下来确 定TU112的所有旋转值的不同差值中的最大差值等于dls。及d9。,其均等于1。在约束的情 况下,根据上文所描述的预定次序,优先于90度选择180度的旋转值。视频译码装置的再 定位单元接着确定在译码残余视频块中的残余数据之前将残余块旋转达具有最大差值的 旋转值,在此情况下,所述差值为180度。
[0138] 图5为说明视频编码器确定在编码残余块的残余数据之前是否旋转残余块的示 例性操作的流程图。所述操作是关于来自图2的视频编码器20加以描述。视频编码器20 在帧间预测模式中使用来自运动补偿单元44的预测性块从视频块计算残余块(120)。在一 些实例中,可使用无损译码模式译码残余块,其中始终跳过用于残余块的变换及量化两者。 在其它实例中,可使用变换跳过模式中的有损译码模式译码残余块,其中仅跳过用于残余 块的变换。
[0139] 响应于选择使用变换跳过译码残余块,视频编码器20跳过执行变换处理单元52 处的用于残余块的变换(122)。作为一个实例,视频编码器20可编码语法元素(即,cu_ transquant_bypass_flag),其指示是否使用无损译码模式译码残余块,其中始终跳过用于 残余块的变换及量化两者。在另一实例中,视频编码器20可编码语法元素(S卩,tranSf〇rm_ skip_flag),其指示是否使用变换跳过模式,其中在使用有损译码模式译码残余块期间,仅 跳过变换。
[0140] 根据所述技术,当跳过用于残余块的变换时,视频编码器20的再定位单元66确定 残余块的每一边缘处的边界的类型(124)。残余块的特定边缘处的边界的类型指示通常可 见于残余块的特定边缘处的残余数据的能级。再定位单元66接着基于每一边缘处的边界 的类型确定是否旋转残余块(126)。再定位单元66可确定旋转残余块以便将具有高于平均 值的能量的残余数据定位于残余块的左上角处以改善熵译码效率。
[0141] 当再定位单元66确定旋转残余块时(128的是分支),再定位单元66将残余块旋 转达所确定的旋转值(130)。在一些情况下(关于图7更详细加以描述),所确定的旋转值 可为静态的预定旋转值,例如180度。在其它情况下(关于图8更详细地加以描述),再定 位单元66可从多个旋转值中确定将残余块旋转所达的旋转值。多个旋转值可包含180度、 逆时针的90度或逆时针的270度。
[0142] 当再定位单元66确定不旋转残余块时(128的否分支),再定位单元66并不旋 转残余块。不管再定位单元66是否旋转残余块,熵编码单元56均编码残余块的残余数据 (132)。在一些情况下(例如,变换跳过模式中的有损译码模式),在由熵编码单元56进行 熵编码之前,可使用量化单元54将残余块的残余数据量化。还可能有可能在确定是否使用 再定位单元66旋转残余块之前使用量化单元54将残余块的残余数据量化。在其它情况下 (例如,无损译码模式),跳过变换及量化两者且直接由熵编码单元56熵编码残余块的残余 数据而不进行任何进一步压缩。
[0143] 替代地,不是确定残余块的边缘中的每一者处的边界的类型及基于边缘处的边界 的类型确定是否旋转,而是再定位单元66可基于熵编码残余块所需的位数确定是否旋转 残余块。在此情况下,再定位单元66可将一或多个旋转值应用于残余块且针对每一旋转值 确定熵编码被旋转的残余块中所包含的经量化的残余系数所需的位数。再定位单元66可 接着基于产生用于熵编码的最低位数的旋转值确定是否旋转残余块。
[0144] 在此替代实例中,熵编码单元56可编码指示是否旋转残余块的语法元素。视频解 码器并不存取相同信息以确定是否旋转或用于残余块的旋转值。因此,需要明确地在位流 中用信号表示旋转值。在仅两个可能的旋转值(即,〇度或不旋转及180度)的情况下,一 位足以用信号表示旋转值。熵编码单元56可使用上下文或在绕过模式中对位进行CABAC 译码。在4个可能的旋转值(即,0度、180度、逆时针的90度或逆时针的270度)的情况 下,可使用两位来用信号表示旋转值。熵编码单元56可使用上下文或在绕过模式中对两位 进行CABAC译码。
[0145]图6为说明视频解码器确定在从残余块的残余数据重构视频块之前是否旋转残 余块的示例性操作的流程图。所述操作是关于来自图3的视频解码器30加以描述。视频 解码器30的熵解码单元80从接收自视频编码器的视频块的位流解码残余块的残余数据及 相关联的语法元素(140)。作为一个实例,语法元素(即,cu_transquant_bypass_flag)指 示是否使用无损译码模式译码残余块,其中始终跳过用于残余块的变换及量化两者。在另 一实例中,语法元素(即,transform_skip_flag)指示是否使用变换跳过模式,其中在使用 有损译码模式译码残余块期间,仅跳过变换。
[0146] 在一些情况下(例如,变换跳过模式中的有损译码模式),在旋转残余块及从残余 块的残余数据重构视频块之前,使用逆量化单元86将残余块的残余数据逆量化。还可能有 可能确定在使用逆量化单元86将残余块的残余数据逆量化之前是否使用再定位单元94旋 转残余块。在其它情况下(例如,无损译码模式),跳过逆量化及逆变换两者且使用残余块 的残余数据直接重构视频块而不进行任何进一步解压缩。
[0147] 视频解码器30基于通过相关联的语法元素指示的变换跳过跳过执行逆变换处理 单元88处的残余块的逆变换(142)。根据所述技术,当跳过用于残余块的逆变换时,视频 解码器30的再定位单元94确定残余块的每一边缘处的边界的类型(144)。再定位单元94 接着基于每一边缘处的边界的类型确定是否旋转残余块(146)。再定位单元94可确定旋转 残余块以便将在编码期间执行的残余块的旋转反转以便将具有高于平均值的能量的残余 数据定位于残余块的左上角处以改善熵译码效率。
[0148] 当再定位单元94确定旋转残余块时(148的是分支),再定位单元94将残余块旋 转达所确定的旋转值(150)。在一些情况下(关于图7更详细加以描述),所确定的旋转值 可为静态的预定旋转值,例如180度。在其它情况下(关于图8更详细地加以描述),再定 位单元94可从多个旋转值中确定将残余块旋转所达的旋转值。多个旋转值可包含180度、 顺时针的90度或顺时针的270度,例如,在其中视频编码器在逆时针方向上执行旋转的情 况下。
[0149] 当再定位单元94确定不旋转残余块时(148的否分支),再定位单元94并不旋转 残余块。不管再定位单元94是否旋转残余块,视频解码器30均在帧间预测模式中使用来 自运动补偿单元82的预测性块从残余块重构视频块(152)。
[0150] 替代地,不是确定残余块的边缘中
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1