具有减少的线缓冲器的解块滤波器的制造方法_3

文档序号:8532132阅读:来源:国知局
表示系数的数据量从而提供进一步压缩的过程。量化过程可减少与系数中的一些系数或全部相关联的位深度。举例来说,可在量化期间将η位值向下舍入到m位值,其中η大于m。
[0052]在量化之后,视频编码器可以扫描变换系数,从包含经量化变换系数的二维矩阵产生一维向量。扫描可以经设计以将较高能量(并且因此较低频率)的系数放置在阵列前面,并且将较低能量(并且因此较高频率)的系数放置在阵列的后面。在一些实例中,视频编码器20可利用预先界定的扫描次序来扫描经量化的变换系数以产生可被熵编码的串行化向量。在其它实例中,视频编码器20可以执行自适应扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可例如根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法对所述一维向量进行熵编码。视频编码器还20可对与经编码视频数据相关联的语法元素进行熵编码以供视频解码器30在对视频数据解码时使用。
[0053]为了执行CABAC,视频编码器20可以向待传输的符号指派上下文模型内的上下文。上下文可涉及(例如)符号的相邻值是否为非零。了执行CAVLC,视频编码器20可针对待传输的符号选择可变长度码。可建构VLC中的码字以使得相对较短代码对应于更有可能的符号,而较长代码对应于不太可能的符号。(例如)与对待传输的每一符号使用等长度码字的情形相比较,以此方式,使用VLC可实现位节省。概率确定可基于指派给符号的上下文。
[0054]视频编码器20可进一步例如在帧标头、块标头、切片标头或GOP标头中将例如基于块的语法数据、基于帧的语法数据及基于GOP的语法数据等语法数据发送到视频解码器30。GOP语法数据可描述相应GOP中的帧的数目,且帧语法数据可指示用以编码相对应的帧的编码/预测模式。
[0055]图2是说明可实施根据本发明的各方面的技术的视频编码器的实例的框图。在一些实例中,本发明中描述的技术可在视频编码器20的各种组件之间共享。在一些实例中,处理器(未图示)可经配置以执行本发明中描述的技术中的任一者或全部。
[0056]视频编码器20可执行视频切片内的视频块的帧内及帧间译码。帧内译码依赖于空间预测来减少或移除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的邻接帧或图片内的视频中的时间冗余。帧内模式(I模式)可以指若干基于空间的译码模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可以指若干基于时间的译码模式中的任一者。
[0057]在图2的实例中,视频编码器20包含模式选择单元40、参考帧存储器66、求和器50、变换处理单元52、量化单元54及摘编码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测单元46及分割单元48。为了视频块重构,视频编码器20还包含反量化单元58、反变换单元60、求和器62及解块滤波器64。
[0058]在编码过程期间,视频编码器20接收待译码的视频帧或切片。所述帧或切片可被划分成多个视频块。运动估计单元42及运动补偿单元44相对于一或多个参考帧中的一或多个块执行所接收视频块的帧间预测译码以提供时间预测。帧内预测单元46可替代地相对于与待译码块相同的帧或切片中的一或多个相邻块执行对所接收的视频块的帧内预测译码以提供空间预测。视频编码器20可以执行多个译码遍次,例如,以便为每一视频数据块选择一种适当的译码模式。
[0059]此外,分割单元48可以基于前述译码遍次中的前述分割方案的评估将视频数据块分割成子块。举例来说,分割单元48最初可以将帧或切片分割成LCU,并且基于速率失真分析(例如,速率失真优化)将LCU中的每一者分割成子CU。模式选择单元40可以进一步产生指示LCU划分成子CU的四叉树数据结构。四叉树的叶节点CU可包含一或多个I3U和一或多个TU。
[0060]模式选择单元40可以基于错误结果选择译码模式中的一者(帧内或帧间),并且将所得的经帧内译码或经帧间译码块提供到求和器50以便产生残差块数据,并且提供到求和器62以便重构经编码块以用于参考帧。模式选择单元40还将语法元素(例如,运动向量、帧内模式指示符、分割信息及其它此类语法信息)提供到熵编码单元56。
[0061 ] 运动估计单元42与运动补偿单元44可高度集成,但出于概念目的分开加以说明。由运动估计单元42执行的运动估计是产生运动向量的过程,所述过程估计视频块的运动。举例来说,运动向量可以指示当前视频帧或图片内的视频块的PU相对于参考帧(或其它经译码单元)内的预测块相对于当前帧(或其它经译码单元)内正经译码的当前块的移位。预测块是被发现在样本差方面与待译码块紧密匹配的块,样本差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量来确定。在一些实例中,视频编码器20可计算存储于参考帧存储器66中的参考图片的子整数样本位置的值。举例来说,视频编码器20可以内插参考图片的四分之一样本位置、八分之一样本位置或其它分数样本位置的值。因此,运动估计单元42可相对于全样本位置和分数样本位置执行运动搜索并且输出具有分数样本精度的运动向量。
[0062]运动估计单元42通过比较PU的位置与参考图片的预测块的位置来计算经帧间译码切片中的视频块的PU的运动向量。参考图片可选自第一参考图片列表(列表O)或第二参考图片列表(列表I),所述参考图片列表中的每一者识别存储在参考帧存储器66中的一或多个参考图片。运动估计单元42将计算出来的运动向量发送到商编码单元56及运动补偿单元44。
[0063]由运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42确定的运动向量而获取或产生预测块。再次,在一些实例中,运动估计单元42与运动补偿单元44可在功能上集成。在接收到当前视频块的PU的运动向量后,运动补偿单元44可即刻在参考图片列表中的一者中定位所述运动向量指向的预测块。求和器50通过从经译码的当前视频块的样本值减去预测块的样本值从而形成样本差值来形成残差视频块,如下文所论述。在具有亮度及色度分量的视频中,运动估计单元42可仅相对于亮度分量执行运动估计。运动补偿单元44可使用基于所述亮度分量而计算的运动向量来定位色度分量及亮度分量两者的预测块。模式选择单元40还可产生与视频块和视频切片相关联的语法元素以供视频解码器30在对视频切片的视频块进行解码时使用。
[0064]作为如上文所描述由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可以对当前块进行帧内预测。明确地说,帧内预测单元46可以确定用来编码当前块的帧内预测模式。在一些实例中,帧内预测单元46可(例如)在单独编码回合期间使用各种帧内预测模式对当前块进行编码,且帧内预测单元46(在一些实例中,或为模式选择单元40)可从所测试的模式中选择将使用的适当的帧内预测模式。
[0065]举例来说,帧内预测单元46可以使用速率失真分析计算针对各种经测试帧内预测模式的速率失真值,并且从所述经测试模式当中选择具有最佳速率失真特性的帧内预测模式。速率失真分析一般确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。帧内预测单元46可以根据用于各种经编码块的失真及速率计算比率,以确定哪种帧内预测模式对于所述块展现最佳速率失真值。
[0066]在针对块选择帧内预测模式之后,帧内预测单元46可将指示用于所述块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可编码指示选定帧内预测模式的信息。视频编码器20可在所述经编码视频位流中包含配置数据。配置数据可包含多个帧内预测模式索引表和多个经修改帧内预测模式索引表(也被称作码字映射表)。另外,配置数据可包含用于各种块的编码上下文的定义,以及用于所述编码上下文中的每一者的最可能的帧内预测模式、帧内预测模式索引表及经修改的帧内预测模式索引表的指示。
[0067]视频编码器20通过从经译码的原始视频块减去来自模式选择单元40的预测数据形成残差视频块。求和器50表示执行此减法运算的一或多个组件。变换处理单元52将例如离散余弦变换(DCT)或概念上类似的变换等变换应用于残差块,从而产生包括残差变换系数值的视频块。变换处理单元52可以执行概念上类似于DCT的其它变换。还可使用小波变换、整数变换、子频带变换或其它类型的变换。在任何情况下,变换处理单元52向残差块应用所述变换,从而产生残差变换系数的块。所述变换可将残差信息从样本值域转换到变换域,例如频域。变换处理单元52可将所得变换系数发送到量化单元54。量化单元54将变换系数量化以进一步减小位速率。
[0068]由量化单元54执行的量化涉及将一组可能的输入值映射到更小组的输出值。可(例如)通过舍入输入值以产生具有较低程度的精度的输出值来实施量化。或者,可简单地通过忽略超出某一程度的精度的数字来实现量化。在任何情况下,伴随着量化的精度的损失常常导致输入值与输出值之间的不符。这些不符是执行量化的视频译码器(例如视频编码器20)中的误差的来源。
[0069]在视频编码器20中,在由量化单元54量化来自变换处理单元52的变换系数之后,它们可具有较低的位深度。换句话说,它们可需要更少的二进制数字来表示,进而减小经编码视频的大小。可通过调整量化参数来修改量化的程度及位深度的相关联的减小。在一些实例中,量化单元54可随后执行对包含经量化的变换系数的矩阵的扫描。或者,熵编码单元56可执行所述扫描。
[0070]在量化之后,熵编码单元56对经量化的变换系数进行熵译码。举例来说,熵编码单元56可以执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间划分熵(PIPE)译码或另一熵译码技术。在基于上下文的熵译码的情况下,上下文可以基于相邻块。在熵编码单元56的熵译码之后,可以将经编码位流传输到另一装置(例如视频解码器30),或者将所述视频存档用于以后传输或检索。
[0071]反量化单元58及反变换单元60分别应用反量化及反变换以在样本域中重构残差块,例如,以供稍后用作参考块的一部分。经重构的残差块可由于由量化单元54引入的误差而不同于原始残差块,如上文所论述。
[0072]运动补偿单元44可以通过将残差块添加到参考帧存储器66的帧中的一者的预测块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重构的残差块以计算子整数样本值以用于运动估计。求和器62将经重构残差块添加到由运动补偿单元44产生的运动补偿预测块以产生发送到解块滤波器64的经重构视频块。
[0073]解块滤波器64跨越邻近视频块之间的边缘而执行滤波。在视频编码器20的一些实施方案中,解块滤波器64可在对视频的不同部分进行滤波时应用不同的滤波强度,且所述视频的部分可完全不被滤波。因此,解块滤波器64可经配置以作出关于是否滤波边缘及使用什么滤波强度的决策。如果解块滤波器64决定对所述边缘进行滤波,那么其可通过调整边缘的每一侧上的样本的值而平滑所述样本之间的转变。
[0074]为了决定滤波强度,解块滤波器64可使用来自邻近块的一或多个样本作为输入。来自所述块的样本还可以用作用于计算调整的目的的输入。例如,解块滤波器64可通过计算调整值且向所述特定样本添加所述调整值来调整特定样本。所述调整值可取决于来自所述块的其它样本以及针对所述样本所属的块边缘而确定的滤波强度。
[0075]根据本发明的方面,解块滤波器64可通过依赖于具有受限的位深度的输入而实施调整样本的优化模式。另外,解块滤波器64还可使用具有受限的位深度的输入来确定滤波强度及是否首先进行滤波。在下文相对于额外的图式及实例详细地揭示可以用于解块滤波器64中以减小必需的输入的位深度的技术。
[0076]解块滤波器64是环路内滤波器,因为其输出并入到后续编码预测所基于的参考数据中。具体来说,已经由解块滤波器64滤波的经重构视频块可存储在参考帧存储器66中。来自参考帧存储器66的经重构及经滤波视频块可随后由运动估计单元42及运动补偿单元44用作译码视频中的其它块的参考块。
[0077]虽然解块滤波器64被描绘为环路内滤波器,但本发明的技术还可应用于其它类型的滤波器,例如环路后滤波器。此外,在图2的情形下,还可以使用额外的滤波器(环路内、环路后等)以作为解块滤波器64的补充。
[0078]图3是说明可实施根据本发明的各方面的技术的视频解码器的实例的框图。视频解码器30可经配置以执行本发明的技术中的任一者或全部。作为一个实例,解块滤波器82可经配置以执行本发明中描述的技术中的任一者或全部。然而,本发明的方面不限于此。在一些实例中,本发明中描述的技术可在视频解码器30的各种组件之间共享。另外,在一些实例中,处理器(未图示)可经配置以执行本发明中描述的技术中的任一者或全部。
[0079]在图3的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1