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

文档序号:8947769阅读:来源:国知局
、90度或270度。在编码侧上,所述旋转经选择以 在编码残余块的残余数据之前将具有高于平均值的能量的残余数据定位于被旋转的残余 块的左上角处以改善熵译码效率。在解码侧上,所述旋转将在编码期间执行的旋转反转且 将具有高于平均值的能量的残余数据传回到其在原始残余块中的原始位置以便使用预测 性块从残余块重构视频块。
[0075]图2为说明可实施本发明中描述的技术以确定在编码残余块的残余数据之前是 否旋转残余块的实例视频编码器20的框图。视频编码器20可执行视频切片内的视频块的 帧内及帧间译码。帧内译码依赖于空间预测来减少或去除给定视频帧或图片内的视频中的 空间冗余。帧间译码依赖于时间预测来减少或去除视频序列的邻接帧或图片内的视频中的 时间冗余。帧内模式(I模式)可指若干基于空间的压缩模式中的任一者。例如单向预测 (P模式)或双向预测(B模式)等帧间模式可指若干基于时间的压缩模式中的任一者。
[0076] 在图2的实例中,视频编码器20包含分割单元35、预测处理单元41、参考图片存 储器64、求和器50、变换处理单元52、量化单元54、再定位单元66及熵编码单元56。预测 处理单元41包含运动估计单元42、运动补偿单元44及帧内预测处理单元46。为了视频块 重构,视频编码器20还包含逆量化单元58、逆变换处理单元60,及求和器62。还可包含解 块滤波器(图2中未图示)以便对块边界进行滤波,以将成块效应假象从经重构的视频中 去除。必要时,解块滤波器通常将对求和器62的输出进行滤波。除了解块滤波器之外,还 可使用额外环路过滤器(环路内或环路后)。
[0077] 如图2中所展示,视频编码器20接收视频数据,且分割单元35将数据分割成视频 块。此分割还可包含分割成切片、图像块或其它较大单元,以及例如根据LCU及CU的四叉 树结构的视频块分割。视频编码器20-般说明编码待编码的视频切片内的视频块的组件。 所述切片可以划分成多个视频块(且可能划分成被称作图像块的数组视频块)。预测处理 单元41可基于错误结果(例如,译码速率及失真等级)针对当前视频块选择多种可能译码 模式中的一者,例如,多种帧内译码模式中的一者或多种帧间译码模式中的一者。预测处理 单元41可将所得的经帧内译码或经帧间译码块提供到求和器50以产生残余块数据,且提 供到求和器62以重构经编码块以用于用作参考图片。
[0078] 预测处理单元41内的帧内预测处理单元46可相对于与待译码的当前块在相同的 帧或切片中的一或多个相邻块执行当前视频块的帧内预测性译码,以提供空间压缩。预测 处理单元41内的运动估计单元42及运动补偿单元44相对于一或多个参考图片中的一或 多个预测性块执行当前视频块的帧间预测性译码以提供时间压缩。
[0079] 运动估计单元42可经配置以根据用于视频序列的预定模式确定用于视频切片的 帧间预测模式。预定模式可将序列中的视频切片指明为P切片或B切片。运动估计单元42 与运动补偿单元44可高度集成,但出于概念目的而分别加以说明。由运动估计单元42执 行的运动估计是产生运动向量的过程,所述过程估计视频块的运动。举例来说,运动向量可 以指示当前视频帧或图片内的视频块的PU相对于参考图片内的预测性块的位移。
[0080] 预测性块是被发现在像素差方面与待译码的视频块的HJ密切匹配的块,像素差 可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量来确定。在一些实例中,视频 编码器20可以计算存储在参考图片存储器64中的参考图片的子整数像素位置的值。举例 来说,视频编码器20可以内插参考图片的四分之一像素位置、八分之一像素位置或其它分 数像素位置的值。因此,运动估计单元42可相对于全像素位置及分数像素位置执行运动搜 索并且输出具有分数像素精度的运动向量。
[0081] 运动估计单元42通过比较经帧间译码切片中的视频块的PU的位置与参考图片的 预测性块的位置来计算PU的运动向量。参考图片可选自第一参考图片列表(列表0)或第 二参考图片列表(列表1),所述参考图片列表中的每一者识别存储在参考图片存储器64中 的一或多个参考图片。运动估计单元42将所计算的运动向量发送到熵编码单元56及运动 补偿单元44。
[0082] 由运动补偿单元44执行的运动补偿可以涉及基于通过运动估计(有可能执行对 子像素精度的内插)确定的运动向量提取或产生预测性块。在接收到当前视频块的PU的 运动向量后,运动补偿单元44便可以在参考图片列表中的一者中定位所述运动向量指向 的预测性块。视频编码器20通过从正被译码的当前视频块的像素值减去预测性块的像素 值从而形成像素差值来形成残余视频块。像素差值形成所述块的残余数据,且可包含明度 及色度差分量两者。求和器50表示执行此减法运算的一或多个组件。运动补偿单元44还 可产生与视频块及视频切片相关联的供视频解码器30在解码视频切片的视频块时使用的 语法元素。
[0083] 作为如上文所描述的由运动估计单元42及运动补偿单元44执行的帧间预测的替 代方案,帧内预测处理单元46可以对当前块进行帧内预测。明确地说,帧内预测处理单元 46可以确定用以编码当前块的帧内预测模式。在一些实例中,帧内预测处理单元46可(例 如)在单独编码遍次期间使用各种帧内预测模式编码当前块,且帧内预测处理单元46可从 经测试模式中选择适当帧内预测模式来使用。举例来说,帧内预测处理单元46可以使用速 率失真分析计算用于各种经测试帧内预测模式的速率失真值,并且从所述经测试模式当中 选择具有最佳速率失真特性的帧内预测模式。速率失真分析一般确定经编码块与经编码以 产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码 块的位速率(也就是说,位数目)。帧内预测处理单元46可以从用于各种经编码块的失真 及速率计算比率,以确定哪个帧内预测模式对于所述块展现最佳速率失真值。
[0084] 在任何情况下,在选择用于块的帧内预测模式之后,帧内预测处理单元46可将指 示用于块的选定帧内预测模式的信息提供到熵译码单元56。熵译码单元56可根据本发明 的技术编码指示所述选定帧内预测模式的信息。视频编码器20可在所发射的位流中包含 配置数据,所述配置数据可包含多个帧内预测模式索引表及多个修改的帧内预测模式索引 表(还被称作码字映射表)、编码用于各种块的上下文的定义,及用于所述上下文中的每一 者的最可能的帧内预测模式、帧内预测模式索引表及修改的帧内预测模式索引表的指示。
[0085] 在预测处理单元41经由帧间预测或帧内预测产生用于当前视频块的预测性块之 后,视频编码器20通过从当前视频块减去所述预测性块而形成残余视频块。残余视频块中 的残余数据包括待译码的当前视频块与预测性块之间的像素差值。残余视频块可包括包 含用于视频块的残余数据的至少一部分的一或多个TU。当使用有损译码模式译码视频块 时,将残余块中的每一者施加到变换处理单元52。变换处理单元52使用例如离散余弦变换 (DCT)或概念上类似的变换等变换将残余数据变换成残余变换系数。变换处理单元52可将 残余视频数据从像素域转换到变换域,例如频域。
[0086] 变换处理单元52可将所得变换系数发送到量化单元54。量化单元54可将所述变 换系数量化以进一步减小位速率。量化过程可减少与系数中的一些系数或全部相关联的位 深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可以接着执行对 包含经量化的变换系数的矩阵的扫描。替代地,熵编码单元56可以执行所述扫描。
[0087] 当使用变换跳过模式中的有损译码模式译码视频块时,并不将变换应用于残余 块。此外,当使用无损译码模式译码视频块时,既不对残余块应用变换也不对残余块应用量 化。根据本发明的技术,当跳过用于残余块的变换时,将残余块施加到再定位单元66。在此 情况下,残余数据保持在像素域中且包括空间像素位置处的像素差值。此情形与以下情形 形成对比:使用变换处理单元52将残余数据转换到变换域作为对应于频率分量的位置处 的变换系数。
[0088] 再定位单元66确定是否旋转残余块以将具有高于平均值的能量(S卩,较大像素差 值)的残余数据定位于残余块的左上角中。高能量残余数据的移位通常由于由变换处理单 元52执行的变换过程而发生。然而,当跳过变换时,可能需要旋转残余块,这是因为熵编码 单元56是基于高能量残余数据将集中在经变换的残余块的左上角处的假设而设计。
[0089] 在帧内预测残余块的情况下,再定位单元66可自动地将残余块旋转达180度以便 将具有高于平均值的能量的残余数据定位于残余块的左上角处。当跳过用于帧内预测残余 块的变换时,高能量残余数据通常集中在右下角处以使得180度旋转将改善熵译码效率。 在帧间预测残余块的情况下,高能量残余数据可集中在残余块内的任何位置处。在所述情 况下,再定位单元66可首先确定是否旋转残余块且接着,基于所述确定,将残余块旋转达 所确定旋转值或并不旋转残余块。在一些实例中,再定位单元66可在逆时针方向上将所确 定的旋转值应用于残余块。下文关于图5到8更详细地描述用于确定是否旋转帧间预测残 余块的实例操作。
[0090] 对于变换跳过模式中的有损译码模式,在由熵编码单元56进行熵编码之前,再定 位单元66将被旋转的残余块发送到量化单元54以用于实现进一步压缩。在一些情况下, 可在确定是否通过再定位单元66旋转残余块之前将残余块发送到量化单元54。对于无损 译码模式,再定位单元66将被旋转的残余块直接发送到熵编码单元56以用于在无任何进 一步压缩的情况下实现熵编码。
[0091] 熵编码单元56熵编码残余系数,例如,经量化的变换系数、经量化的残余系数 或未经压缩的残余系数。举例来说,熵编码单元56可执行上下文自适应可变长度译码 (CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译 码(SBAC)、概率区间分割熵(PIPE)译码或另一熵译码方法或技术。在由熵编码单元56进 行熵编码之后,可以将经编码位流发射到例如视频解码器30等视频解码器,或将经编码位 流存档以用于稍后由视频解码器发射或检索。熵编码单元56还可熵编码正被译码的当前 视频切片的运动向量及其它语法元素。
[0092] 逆量化单元58及逆变换处理单元60分别将逆量化及逆变换应用于经量化的变换 系数以便在像素域中重构残余块以用于稍后用作参考图片的参考块。对于变换跳过模式中 的有损译码模式,逆量化单元58将逆量化应用于经量化的残余系数且再定位单元66执行 反向旋转以将高能量残余数据传回到其原始位置以便重构残余块。在一些情况下,可在通 过逆量化单元58执行逆量化之前,将经量化的残余系数发送到再定位单元66以执行反向 旋转。对于无损译码模式,再定位单元66执行残余系数的反向旋转以将高能量残余数据传 回到其原始位置以便重构残余块。
[0093] 运动补偿单元44可接着通过将经重构的残余块加到参考图片列表中的一者内的 参考图片中的一者的预测性块来计算参考块。运动补偿单元44还可将一或多个内插滤波 器应用于经重构的残余块以计算子整数像素值以用于运动估计。求和器62将经重构的残 余块加到由运动补偿单元44产生的经运动补偿的预测块以产生参考块以用于存储在参考 图片存储器64中。参考块可供运动估计单元42及运动补偿单元44用作参考块以对后续 视频帧或图片中的块进行帧间预测。
[0094] 视频编码器20可经配置以执行本发明的技术,包含跳过用于残余块的变换,及确 定是否旋转残余块。视频编码器20的再定位单元66可确定是否旋转残余块。在一些实 例中,再定位单元66基于熵编码残余块所需的位数确定是否旋转残余块。举例来说,再定 位单元66可基于产生用于熵编码的最低位数的旋转值确定是否旋转残余块。在其它实例 中,再定位单元66可基于残余块的两个或两个以上边缘处的边界的类型确定是否旋转残 余块。
[0095] 当旋转残余块时,视频编码器20的再定位单元66可确定是否将残余块旋转达预 定旋转值,或可确定将残余块旋转所达的旋转值。在任一情况下,视频编码器20接着在通 过熵编码单元56编码残余块的残余数据之前,将残余块旋转达所确定的旋转值。下文关于 图5到8更详细描述用于基于残余块的边缘处的边界的类型确定是否旋转帧间预测残余块 的实例操作。
[0096] 在一些实例中,视频编码器20可仅用信号表示变换跳过是否用于残余块,S卩,是 使用变换跳过模式中的无损译码模式还是使用有损译码模式来编码残余块。在此情况下, 视频解码器可使用确定残余块的边缘处的边界的类型的相同操作来确定是否旋转残余块, 以将在编码期间执行的旋转反转以便从残余块重构视频块。在其它实例中,视频编码器20 可将在编码期间应用于残余块的旋转的旋转值用信号表示到视频解码器。在此情况下,视 频解码器可基于用信号表示的旋转值旋转残余块以将在编码期间执行的旋转反转以便从 残余块重构视频块。
[0097] 在一些额外实例中,视频编码器20经配置以执行本发明的技术,包含在残余块的 大小小于或等于阈值块大小时,跳过用于残余块的变换及旋转残余块。阈值块大小可等于 在有损译码模式中允许进行变换跳过及旋转所针对的块大小。以此方式,对于使用无损译 码模式或变换跳过模式中的有损译码模式译码的残余块,可执行旋转所针对的块大小对 准,S卩,相同。此技术可适用于帧间预测残余块及帧内预测残余块两者。
[0098] 此外,视频编码器20可经配置以执行本发明的技术,包含在残余块的大小小于或 等于阈值块大小时,跳过用于残余块的变换,及沿着残余块的对角线翻转残余数据样本值。 翻转残余块的残余数据样本值包含交换残余块的对角线的一边上的残余数据样本值与对 角线的另一边上的相对应的镜像位置处的残余数据样本值。此技术还可适用于帧间预测残 余块及帧内预测残余块两者。
[0099] 在一些实例中,在无损译码模式的情况下,可将旋转或翻转仅应用于大小小于或 等于阈值块大小的帧内预测残余块。在其它实例中,可将旋转或翻转应用于大小小于或等 于阈值块大小的所有残余块,即,帧内预测及帧间预测残余块。在额外实例中,在变换跳过 模式中的有损译码模式的情况下,可将旋转或翻转仅应用于帧内预测残余块,或可将旋转 或翻转应用于帧内预测及帧间预测残余块两者。
[0100] 图3为说明可实施本发明中描述的技术以确定在从残余块的残余数据重构视频 块之前是否旋转残余块的实例视频解码器30的框图。在图3的实例中,视频解码器30包 含熵解码单元80、预测处理单元81、逆量化单元86、逆变换单元88、再定位单元94、求和器 90及参考图片存储器92。预测处理单元81包含运动补偿单元82及帧内预测处理单元84。 在一些实例中,视频解码器30可执行一般与关于图2的视频编码器20描述的编码遍次互 逆的解码遍次。
[0101] 在解码过程期间,视频解码器30从视频编码器(例如,视频编码器20)接收经编 码视频位流,所述经编码视频位流表示经编码视频切片的视频块及相关联的语法元素。视 频解码器30的熵解码单元80对位流进行熵解码以产生残余系数、运动向量及其它语法元 素。熵解码单元80将运动向量及其它语法元素转发到预测处理单元81。视频解码器30可 以接收视频切片等级及/或视频块等级的语法元素。
[0102] 当视频切片经译码为经帧内译码(I)切片时,预测处理单元81的帧内预测处理单 元84可基于用信号表示的帧内预测模式及来自当前帧或图片的先前经解码块的数据产生 用于当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(即,B或P)切片 时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动向量及其它语法 元素产生用于当前视频切片的视频块的预测性块。可以从参考图片列表中的一者内的参考 图片中的一者产生预测性块。视频解码器30可以基于存储在参考图片存储器92中的参考 图片使用默认构造技术构造参考帧列表(列表〇及列表1)。
[0103] 运动补偿单元82通过剖析运动向量及其它语法元素确定用于当前视频切片的视 频块的预测信息,并且使用所述预测信息产生用于经解码的当前视频块的预测性块。举例 来说,运动补偿单元82使用所接收语法元素中的一些语法元素确定用于译码视频切片的 视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片或P切 片)、切片的参考图片列表中的一或多者的构造信息、切片的每一经帧间编码的视频块的运 动向量、切片的每一经帧间译码的视频块的帧间预测状态,及用以解码当前视频切片中的 视频块的其它信息。
[0104] 运动补偿单元82还可基于内插滤波器执行内插。运动补偿单元82可使用如由视 频编码器20在编码视频块期间使用的内插滤波器来计算参考块的子整数像素的内插值。 在此情况下,运动补偿单元82可从所接收的语法元素确定由视频编码器20使用的内插滤 波器且使用所述内插滤波器来产生预测性块。
[0105] 如上文所描述,熵解码单元80对位流进行熵解码以产生视频块的残余系数,例 如,经量化的变换系数、经量化的残余系数或未经压缩的残余系数。当使用有损译码模式译 码视频块时,逆量化单元86将位流中所提供的残余块的经量化的变换系数逆量化(即,解 量化)。所述逆量化过程可包含使用针对视频切片中的每一视频块计算的用以确定量化程 度及同样的应应用的逆量化程度的量化参数。逆变换处理单元88将例如逆DCT、逆整数变 换或概念上类似的逆变换过程等逆变换应用于变换系数,以便重构像素域中的残余块。
[0106] 当使用变换跳过模式中的有损译码模式译码视频块时,并不将逆变换应用于残余 块。此外,当使用无损译码模式译码视频块时,既不对残余块应用逆变换也不对残余块应用 逆量化。根据本发明的技术,当跳过用于残余块的残余系数的逆变换时,将残余块施加到再 定位单元94。在此情况下,残余数据保持在像素域中且包括空间像素位置处的像素差值。 此情形与以下情形形成对比:使用逆变换处理单元88将残余数据从变换域转换作为对应 于频率分量的位置处的变换系数。
[0107] 再定位单元94可旋转残余块,以便将在编码期间执行的旋转反转,使得具有高于 平均值的能量的经定位的残余数据(即,较大像素差值)位于所述残余块的左上角处。高 能量残余数据回到其原始位置的移位通常由于由逆变换处理单元88执行的逆变换过程而 发生。然而,当跳过逆变换时,可能有必要旋转残余块以使用预测性块适当地重构视频块。
[0108] 对于变换跳过模式中的有损译码模式,逆量化单元86将逆量化应用于在位流中 提供的残余块的经量化的残余系数以用于解压缩。再定位单元94接着执行旋转以将在编 码期间执行的旋转反转且将高能量残余数据传回到其原始位置以便重构残余块。在一些情 况下,可在通过逆量化单元86执行逆量化之前,将经量化的残余系数发送到再定位单元94 以执行反向旋转。对于无损译码模式,再定位单元94直接接收在位流中提供的残余块的残 余系数而不进行任何解压缩。再定位单元94接着执行旋转以将在编码期间执行的旋转反 转且将高能量残余数据传回到其原始位置以便重构残余块。以此方式,将像素差值旋转回 到相对应的像素的原始空间位置。
[0109] 在具有变换跳过的帧内预测残余块的情况下,高能量残余数据通常集中在右下角 处以使得编码期间的180度旋转将改善熵译码效率。在此情况下,再定位单元94可自动地 将帧内预测残余块旋转达180度以将具有高于平均值的能量的残余数据传回到其在原始 残余块的右下角处的位置。
[0110] 在帧间预测残余块的情况下,高能量残余数据可集中在残余块内的任何位置处。 在此情况下,再定位单元94首先确定是否旋转残余块且接着,基于所述确定,将残余块旋 转达所确定旋转值或并不旋转残余块。为了将在编码期间对残余块执行的旋转反转,再定 位单元94确定是否旋转残余块,但在与来自图2的视频编码器20的再定位单元66相反的 方向上应用所确定的旋转值,例如,在与逆时针方向形成对比的顺时针方向上。
[0
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1