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

文档序号:8947769阅读:来源:国知局
的每一者处的边界的类型及基于边缘处的边界 的类型确定是否旋转,而是再定位单元94可基于指示是否将残余块旋转达明确地用信号 表示的旋转值的语法元素确定是否旋转残余块。在此情况下,视频编码器可基于熵编码残 余块所需的位数确定是否旋转残余块。举例来说,视频编码器可基于产生用于熵编码的最 低位数的旋转值确定是否旋转残余块,且明确地将旋转值用信号表示到视频解码器30。
[0151] 在此替代实例中,熵解码单元80可解码指示是否旋转残余块的语法元素。视频解 码器30并不存取与视频编码器相同的信息以确定是否旋转或用于残余块的旋转值。因此, 需要明确地在位流中用信号表示旋转值。在仅两个可能的旋转值(即,〇度或不旋转及180 度)的情况下,一位足以用信号表示旋转值。熵解码单元80可使用上下文或在绕过模式中 对位进行CABAC译码。在4个可能的旋转值(即,0度、180度、顺时针的90度或顺时针的 270度)的情况下,可使用两位来用信号表示旋转值。熵解码单元80可使用上下文或在绕 过模式中对两位进行CABAC译码。
[0152]图7为说明基于残余块的边缘处的边界的类型确定是否将残余块旋转达预定旋 转值的一个实例操作的流程图。所说明的操作为基于边缘处的边界的类型确定是否旋转残 余块的来自图5的步骤126及来自图6的步骤146的更详细实例。
[0153] 当跳过用于残余块的变换时(例如,无损译码模式或变换跳过模式中的有损译码 模式),可通过在编码期间旋转残余块以便将具有高于平均值的能量的残余数据定位于残 余块的左上角处来改善熵译码效率。在解码期间,需要将在编码期间执行的旋转反转以便 在帧间预测模式中使用预测性块从残余块适当地重构视频块。
[0154] 在帧间预测模式中,如果残余块的特定边缘为同一HJ内的两个TU之间的TU边 界,那么残余块的TU边界处的残余数据通常具有低于残余块中的平均残余数据的能量。另 外,如果残余块的特定边缘为不同PU中的两个TU之间的PU边界,那么残余块的PU边界 处的残余数据通常具有高于残余块中的平均残余数据的能量。基于此观察,图7中所说明 的技术使用残余块的边缘处的边界的类型来确定是否将残余块旋转达预定旋转值(例如, 180度),以将原始残余块的HJ边界处的残余数据定位于被旋转的残余块的左上角处。在 编码侧上,此旋转将具有高于平均值的能量的残余数据定位于被旋转的残余块的左上角处 以改善熵译码效率。在解码侧上,此旋转将在编码期间执行的旋转反转且将具有高于平均 值的能量的残余数据传回到其在原始残余块中的原始位置。
[0155] 图7中所说明的操作将关于来自图2的视频编码器20的再定位单元66加以描述。 在其它实例中,相同操作还可由来自图3的视频解码器30的再定位单元94来执行。在所 说明的操作中,再定位单元66可将残余块旋转达预定旋转值(例如,180度)或不旋转残余 块。为了确定是否旋转残余块,再定位单元66确定残余块的左侧边缘及顶部边缘处的PU 边界的第一数目(160)。再定位单元66还确定残余块的右侧边缘及底部边缘处的PU边界 的第二数目(162)。
[0156] 如果HJ边界的第二数目大于PU边界的第一数目(164的是分支),那么具有高于 平均值的能量的残余数据很可能集中在残余块的右下角处。在此情况下,再定位单元66将 残余块旋转达预定旋转值(168)。将残余块旋转达180度(例如)将具有高于平均值的能 量的残余数据定位于被旋转的残余块的左上角处。另一方面,如果PU边界的第二数目小于 或等于HJ边界的第一数目(164的否分支),那么具有高于平均值的能量的残余数据很可能 已经集中在残余块的左上角处。在所述情况下,再定位单元66并不旋转残余块(166)。
[0157] 图8为说明确定是否旋转残余块的另一实例操作的流程图,所述确定包含针对两 个或两个以上可能的旋转值中的每一者基于残余块的边缘处的边界的类型确定用于残余 块的旋转值。所说明的操作为基于边缘处的边界的类型确定是否旋转残余块的来自图5的 步骤126及来自图6的步骤146的另一更详细实例。
[0158] 当跳过用于残余块的变换时(例如,无损译码模式或变换跳过模式中的有损译码 模式),可通过在编码期间旋转残余块以便将具有高于平均值的能量的残余数据定位于残 余块的左上角处来改善熵译码效率。在解码期间,需要将在编码期间执行的旋转反转以便 在帧间预测模式中使用预测性块从残余块适当地重构视频块。
[0159] 在帧间预测模式中,如果残余块的特定边缘为同一HJ内的两个TU之间的TU边 界,那么残余块的TU边界处的残余数据通常具有低于残余块中的平均残余数据的能量。另 外,如果残余块的特定边缘为不同PU中的两个TU之间的PU边界,那么残余块的PU边界 处的残余数据通常具有高于残余块中的平均残余数据的能量。基于此观察,图8中所说明 的技术使用残余块的边缘处的边界的类型来确定将残余块旋转所达的旋转值(例如,〇度、 180度、90度或270度),以将原始残余块的PU边界处的残余数据定位于被旋转的残余块的 左上角处。在编码侧上,此旋转将具有高于平均值的能量的残余数据定位于被旋转的残余 块的左上角处以改善熵译码效率。在解码侧上,此旋转将在编码期间执行的旋转反转且将 具有高于平均值的能量的残余数据传回到其在原始残余块中的原始位置。
[0160] 图8中所说明的操作将关于来自图2的视频编码器20的再定位单元66加以描述。 在其它实例中,相同操作还可由来自图3的视频解码器30的再定位单元94来执行。在所说 明的操作中,再定位单元66可将残余块旋转达选自多个旋转值的旋转值。在一些情况下, 旋转值可包含〇度,即,不旋转,及180度。在其它情况下,旋转值可包含0度、180度、90度 及270度。作为实例,在编码侧上,旋转值可在逆时针方向上,且,在解码侧上,旋转值可在 顺时针方向上。
[0161] 为了确定将残余块旋转所达的旋转值,再定位单元66针对旋转值中的每一者确 定残余块的左侧边缘及顶部边缘处的PU边界的第一数目(170)。再定位单元66还针对旋 转值中的每一者确定残余块的右侧边缘及底部边缘处的PU边界的第二数目(172)。因此, 再定位单元66执行残余块的可能的旋转中的每一者且确定所述旋转中的每一者下的PU边 界的位置及数目。
[0162] 再定位单元66针对旋转值中的每一者计算第一数目与第二数目之间的差值 (174)。以此方式,在执行所述旋转中的每一者之后,再定位单元66确定具有高于平均值的 能量的残余数据很可能集中于残余块中何处。再定位单元66接着确定针对所有旋转值的 所计算的差值中的最大差值(176)。为了使具有高于平均值的能量的残余数据在残余块的 左上角处的集中最大化,旋转单元66选择旋转值中与最大差值相关联的旋转值。再定位单 元94接着将残余块旋转达具有最大差值的旋转值(178)。
[0163]图9是说明限制当未将变换应用于残余块时可执行旋转的残余块的块大小的实 例操作的流程图。图9中说明的操作将相对于来自图2的视频编码器20的再定位单元66 来描述。在其它实例中,相同操作也可由来自图3的视频解码器30的再定位单元94执行。 所说明的操作可在有损译码模式和无损译码模式两者中应用于帧内预测残余块和帧间预 测残余块两者。
[0164] 上文所描述的技术包含在跳过或绕过用于残余块的变换时,将残余块旋转达所确 定的旋转值。以上技术描述针对使用具有变换跳过模式的有损译码模式或其中绕过变换和 量化过程两者的无损译码模式译码的帧间预测残余块和帧内预测残余块两者执行旋转。
[0165] 在有损译码模式中,变换跳过模式可应用于所有残余块大小。在无损译码模式中, 针对所有残余块大小绕过变换。因此,可在帧内预测模式和帧间预测模式两者中针对所有 残余块大小执行旋转。然而,对于硬件实施方案来说,对大小较大的残余块(例如,16X16 或32X32块)执行旋转可能较困难。根据本发明的技术,使未应用变换的残余块的残余数 据旋转可限于小于或等于阈值大小的残余块大小。因此,确定是否旋转残余块可取决于指 示无损译码模式的cu_transquant_bypass_flag、指示有损译码模式中的变换跳过模式的 变换跳过旗标,及残余块的大小。
[0166] 在图9中所说明的操作中,当变换并未应用于残余块时,再定位单元66接收残余 块,即,使用无损译码模式或变换跳过模式中的有损译码模式译码残余块。本发明的技术包 含限制在有损译码模式和无损译码模式两者中可执行旋转的残余块的大小。
[0167] 在此情况下,为了确定是否旋转残余块,再定位单元66确定未应用变换的残余块 的大小(180)。如果残余块的大小小于或等于阈值块大小(182的是分支),那么再定位单 元66确定是否将残余块旋转达所确定的旋转值(186)。如果残余块的大小大于阈值大小 (182的否分支),那么再定位单元66停用旋转且不旋转残余块(184)。可通过上文更详细 描述的操作中的一者来执行旋转确定。在一些实例中,如果残余块为帧内预测残余块,那么 当残余块的块大小满足阈值块大小准则时,将始终应用旋转。在一些情况下,残余块的旋转 可限于180度。在其它情况下,可根据上文所描述的技术确定残余块的旋转为0度、90度、 180度或270度中的一者。在其它实例中,如果残余块是帧间预测残余块或帧内块复制(BC) 预测残余块,那么可停用旋转。
[0168] 在一个实例中,用于在有损译码模式和无损译码模式两者中执行残余块的旋转的 阈值大小是8X8。在其它实例中,所述阈值大小可等于4X4。在一些情况下,可仅将旋转 应用于有损译码模式或无损译码模式中满足阈值块大小准则的帧内预测残余块,且可无论 块大小如何都针对帧间预测残余块停用旋转。在一些情况下,也可以无论块大小如何都针 对帧内BC预测残余块停用旋转。在其它情况下,旋转可应用于有损译码模式或无损译码模 式中满足阈值块大小准则(即,残余块大小小于或等于阈值块大小)的帧内预测和帧间预 测残余块两者。在另一情况下,可将旋转仅应用于具有变换跳过的有损译码模式中满足阈 值块大小准则的帧内预测残余块,及将旋转应用于无损译码模式中满足阈值块大小准则的 帧内预测及帧间预测残余块两者。
[0169] 在另一个实例中,变换跳过模式可限于仅应用于有损译码模式中具有高达最大块 大小(例如,4X4或8X8)的大小的残余块。在有损译码模式中准许跳过变换的最大块大 小可在与残余块相关联的SPS和PPS中的一者中指示。在此情况下,用于在有损译码模式和 无损译码模式两者中执行残余块的旋转的阈值大小小于或等于在有损译码模式中可跳过 变换的最大块大小,例如4X4或8X8。将阈值块大小设定为小于或等于在有损译码模式中 可跳过变换的最大块大小对准于针对无损和有损译码模式情况两者可执行旋转的块大小。
[0170] 在一些情况下,可仅将旋转应用于有损译码模式或无损译码模式中满足阈值块大 小准则的帧内预测残余块,且可无论块大小如何都针对帧间预测残余块停用旋转。在一些 情况下,也可以无论块大小如何都针对帧内BC预测残余块停用旋转。在其它情况下,旋转 可应用于有损译码模式或无损译码模式中满足阈值块大小准则的帧内预测和帧间预测残 余块两者。在另一情况下,可将旋转仅应用于具有变换跳过的有损译码模式中满足阈值块 大小准则的帧内预测残余块,及将旋转应用于无损译码模式中满足阈值块大小准则的帧内 预测及帧间预测残余块两者。
[0171]图10是说明限制当未将变换应用于残余块时可执行残余数据样本值沿着对角线 的翻转的残余块的块大小的实例操作的流程图。图10中说明的操作将相对于来自图2的 视频编码器20的再定位单元66来描述。在其它实例中,相同操作也可由来自图3的视频 解码器30的再定位单元94执行。所说明的操作可在有损译码模式和无损译码模式两者中 应用于帧内预测残余块和帧间预测残余块两者。
[0172] 上文所描述的适用于旋转残余块的技术还可适用于翻转残余块的残余数据样本 值。如上文所论述,JCTVC-K0294提议:当跳过用于残余块的变换时,取决于所使用的扫描, 可沿着残余块的主对角线或反对角线翻转帧内预测残余块的样本值。还可应用上文关于图 9所描述的可对残余块执行旋转所针对的准则来确定何时可执行预测残余值的翻转。
[0173]当翻转残余块的残余数据样本值时,残余块的对角线的一边上的样本值与对角线 的另一边上的相对应的镜像位置处的样本值交换位置。在一些实例中,翻转残余块的样本 值可包含跨越残余块的主对角线(即,从残余块的左上角到右下角的对角线)镜射样本值。 在其它实例中,翻转残余块的样本值可包含跨越残余块的反对角线(即,从残余块的左下 角到右上角的对角线)镜射样本值。在一些情况下,当针对变换被跳过的残余块选择水平 或垂直扫描模式时,将围绕主对角线翻转残余块的样本值。在其它情况下,当针对变换被跳 过的残余块选择对角线扫描模式时,将围绕反对角线翻转残余块的样本值。
[0174] 在有损译码模式中,变换跳过模式可应用于所有残余块大小。在无损译码模式中, 针对所有残余块大小绕过变换。因此,可在帧内预测模式和帧间预测模式两者中针对所有 残余块大小执行翻转。根据本发明的技术,使未应用变换的残余块的残余数据翻转可限于 小于或等于阈值大小的残余块大小。因此,确定是否翻转残余块可取决于指示无损译码模 式的cu_transquant_bypass_flag、指示有损译码模式中的变换跳过模式的变换跳过旗标, 及残余块的大小。
[0175] 在图10中所说明的操作中,当跳过用于残余块的变换时,再定位单元66接收残余 块,即,使用无损译码模式或变换跳过模式中的有损译码模式译码残余块。本发明的技术包 含限制在有损译码模式和无损译码模式两者中可执行翻转的残余块的大小。
[0176] 在此情况下,为了确定是否翻转残余块,再定位单元66确定未应用变换的残余块 的大小(190)。如果残余块的大小小于或等于阈值块大小(192的是分支),那么再定位单 元66确定是否沿着残余块的对角线翻转残余数据样本值(196)。如果残余块的大小大于阈 值大小(192的否分支),那么再定位单元66停用翻转且不翻转残余块的残余数据样本值 (194)。可沿着残余块的主对角线(即,左上到右下)或沿着反对角线(S卩,左下到右上) 翻转残余数据样本值。
[0177] 在一个实例中,用于在有损译码模式和无损译码模式两者中翻转残余块的残余数 据的阈值大小是8X8。在其它实例中,所述阈值大小可等于4X4。在一些情况下,可仅将 翻转应用于有损译码模式或无损译码模式中满足阈值块大小准则的帧内预测残余块,且可 无论块大小如何都针对帧间预测残余块停用旋转。在一些情况下,也可以无论块大小如何 都针对帧内BC预测残余块停用翻转。在其它情况下,翻转可应用于有损译码模式或无损译 码模式中满足阈值块大小准则(即,残余块大小小于或等于阈值块大小)的帧内预测和帧 间预测残余块两者。在另一情况下,可将翻转仅应用于具有变换跳过的有损译码模式中满 足阈值块大小准则的帧内预测残余块,及将翻转应用于无损译码模式中满足阈值块大小准 则的帧内预测及帧间预测残余块两者。
[0178] 在另一个实例中,变换跳过模式可限于仅应用于有损译码模式中具有高达最大块 大小(例如,4X4或8X8)的大小的残余块。在有损译码模式中准许跳过变换的最大块大 小可在与残余块相关联的SPS和PPS中的一者中指示。在此情况下,用于在有损译码模式 和无损译码模式两者中翻转残余块的残余数据的阈值大小小于或等于在有损译码模式中 可跳过变换的最大块大小,例如4X4或8X8。将阈值块大小设定为小于或等于在有损译码 模式中可跳过变换的最大块大小对准于针对无损和有损译码模式情况两者可执行翻转的 块大小。
[0179] 在一些情况下,可仅将翻转应用于有损译码模式或无损译码模式中满足阈值块大 小准则的帧内预测残余块,且可无论块大小如何都针对帧间预测残余块停用旋转。在一些 情况下,也可以无论块大小如何都针对帧内BC预测残余块停用翻转。在其它情况下,翻转 可应用于有损译码模式或无损译码模式中满足阈值块大小准则的帧内预测和帧间预测残 余块两者。在另一情况下,可将翻转仅应用于具有变换跳过的有损译码模式中满足阈值块 大小准则的帧内预测残余块,及将翻转应用于无损译码模式中满足阈值块大小准则的帧内 预测及帧间预测残余块两者。
[0180] 图IlA和IlB是分别说明使用残余差分脉码调制(RDPCM)译码的残余块200和 202的概念图。在一个实例中,视频译码标准可支持在水平或垂直方向中使用残余差分脉 码调制(RDPCM)的变换跳过帧内预测块和变换跳过帧间预测块。RDPCM的基本想法是应用 DPCM技术以通过在垂直模式中使用上部行像素预测当前像素且在水平模式中使用左边列 像素用于预测当前像素来用残余块预测残余数据。残余块200和202中的每一者具有大小 M(行)XN(列)且包含残余数据像素riij,其中0彡i彡(M-I)且0彡j彡(N-I)。
[0181] 当使用RDPCM在有损译码模式中解码残余块时,在来自图3的视频解码器30中可 遵循以下操作次序:由再定位单元94执行的旋转或翻转,由逆量化单元86执行的逆量化, 逆变换跳过,以及逆RDPCM。当使用RDPCM在有损译码模式中编码残余块时,在来自图2的 视频编码器20中可遵循以下操作次序:RDPCM,变换跳过,由量化单元54执行的量化,以及 由再定位单元66执行的旋转或翻转。当使用RDPCM在无损译码模式中解码残余块时,在来 自图3的视频解码器30中可遵循以下操作次序:由再定位单元94执行的旋转或翻转,逆量 化和逆变换绕过,以及逆RDPCM。当使用RDPCM在无损译码模式中编码残余块时,在来自图 2的视频编码器20中可遵循以下操作次序:RDPCM,变换和量化绕过,以及由再定位单元66 执行的旋转或翻转。
[0182] 图IIA说明应用于残余块200的垂直帧间RDPCM模式。在垂直帧间RDPCM模式中, 残余块200的第一行201中的残余数据不变(即,不从任何其它行预测),而残余块200的 残余数据的较晚的行是从上方行预测。在垂直帧间RDPCM之后,第一行201中的残余数据 往往会具有与残余块200中的残余数据的其它行相比更多或更高的能量。如果残余块200 旋转例如达180度,那么在垂直帧间RDPCM之后,残余块200的残余数据的最底部行往往会 具有与残余数据的其它行相比更多或更高的能量/量值。
[0183] 图IIB说明应用于残余块202的水平帧间RDPCM模式。在水平帧间RDPCM模式中, 残余块202的最左边列203中的残余数据不变(即,不从任何其它列预测),而残余块202 的残余数据的较晚的列是从左边列预测。在水平帧间RDPCM之后,最左边列203中的残余 数据往往会具有与残余块202中的残余数据的其它列相比更多或更高的能量。如果残余块 202旋转例如达180度,那么在水平帧间RDPCM之后,残余块202的残余数据的最右边行往 往会具有与残余数据的其它行相比更多或更高的能量/量值。
[0184] 对于帧间RDPCM,预测方向(非RDPCM,水平,垂直)可显式地用信号表示给视频解 码器30。举例来说,视频编码器20可在经编码位流中包含指示用于视频数据的特定块(或 多个块)的RDPCM模式的一或多个语法元素。视频解码器30可接收所述一或多个语法元 素且以互逆方式执行RDPCM。
[0185] 如上文所描述,在HEVC中,设计熵译码用于变换译码。较低频率变换系数通常具 有较高能量。变换系数是从视频块的右下到左上来扫描且经熵译码。因此,视频编码器或 视频解码器期望在扫描中在视频块的右下拐角处的初始系数具有比扫描次序中的较晚系 数小的能量。然而,在帧间RDPCM块旋转之后,扫描中在视频块的右下拐角处的初始系数往 往会具有比扫描次序中较晚系数更多或更高的能量,进而导致更差的译码性能(g卩,熵译 码需要的更多位)。
[0186] 本发明的技
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1