用于可缩放视频译码的帧内预测改善的制作方法_4

文档序号:8270317阅读:来源:国知局
测来减少或移除视频序列的邻接帧或图片内的视频中的时间冗余。帧内模式(I模式) 可指若干基于空间的译码模式中的任一者。例如单向预测(P模式)或双向预测(B模式) 等帧间模式可指若干基于时间的译码模式中的任一者。
[0080] 如图2所示,视频编码器20接收视频帧内的待编码的当前视频块。在图1的实例 中,视频编码器20包含模式选择单元40、参考帧存储器64、求和器50、变换处理单元52、量 化单元54,及摘编码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、 帧内预测单元46及分割单元48。对于视频块重建,视频编码器20还包含反量化单元58、 反变换单元60,及求和器62。还可包含解块滤波器(图2中未展示)以对块边界进行滤 波,以从经重建的视频移除成块假影。在需要时,解块滤波器通常对求和器62的输出进行 滤波。除解块滤波器之外,还可使用额外滤波器(环路内或环路后)。为简洁起见未展示此 些滤波器,但在必要时,此些滤波器可对求和器50的输出进行滤波(作为环路内滤波器)。
[0081] 在编码过程期间,视频编码器20接收待译码的视频帧或切片。所述帧或切片可划 分成多个视频块。运动估计单元42及运动补偿单元44相对于一或多个参考帧中的一或多 个块执行所接收视频块的帧间预测性译码以提供时间预测。帧内预测单元46可替代地相 对于与待译码块相同的帧或切片中的一或多个相邻块执行对所接收的视频块的帧内预测 性译码以提供空间预测。视频编码器20可执行多个译码遍次,以例如针对每一视频数据块 选择适当的译码模式。
[0082] 此外,分割单元48可基于先前译码遍次中的先前分割方案的评估将视频数据块 分割成子块。举例来说,分割单元48可最初将帧或切片分割成LCU,且基于速率-失真分析 (例如,速率-失真优化)各所述LCU中的每一者分隔成子CU。模式选择单元40可进一步 产生指示LCU到子CU的分割的四叉树数据结构。所述四叉树的叶节点CU可包含一或多个 PU及一或多个TU。
[0083] 模式选择单元40可例如基于误差结果而选择译码模式中的一者(帧内或帧间), 且将所得的经帧内译码或经帧间译码的块提供到求和器50以产生残余块数据,且提供到 求和器62以重建经编码块以用作参考帧。模式选择单元40还将语法元素(例如,运动向 量、帧内模式指示符、分割信息及其它此类语法信息)提供到熵编码单元56。
[0084] 运动估计单元42与运动补偿单元44可高度集成,但出于概念上的目的而分开予 以说明。由运动估计单元42执行的运动估计是产生估计视频块的运动的运动向量的过程。 举例来说,运动向量可指示当前视频帧或图片内的视频块的PU相对于参考帧(或其它经译 码单元)内的预测性块相对于当前帧(或其它经译码单元)内正经译码的当前块的移位。 预测性块是经发现在像素差方面密切地匹配待译码块的块,其可通过绝对差总和(SAD)、平 方差总和(SSD)或其它差量度来确定。在一些实例中,视频编码器20可计算存储在参考帧 存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插参考图 片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元 42可相对于全像素位置及分数像素位置执行运动搜索且输出具有分数像素精度的运动向 量。
[0085] 运动估计单元42通过比较PU的位置与参考图片的预测性块的位置来计算用于经 帧间译码切片中的视频块的PU的运动向量。参考图片可选自第一参考图片列表(列表0) 或第二参考图片列表(列表1),其中的每一者识别存储在参考帧存储器64中的一或多个参 考图片。运动估计单元42将计算出的运动向量发送到j:商编码单元56及运动补偿单元44。
[0086] 由运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42确定的运动向 量提取或产生预测性块。此外,在一些实例中,运动估计单元42与运动补偿单元44可在 功能上集成。在接收到当前视频块的PU的运动向量之后,运动补偿单元44可即刻在参考 图片列表中的一者中定位所述运动向量指向的预测性块。求和器50通过从经译码的当前 视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块,如下文所论 述。一般来说,运动估计单元42相对于明度分量执行运动估计,且运动补偿单元44对于色 度分量及明度分量两者使用基于明度分量计算的运动向量。模式选择单元40还可产生与 视频块及视频切片相关联的语法元素以供视频解码器30用于对视频切片的视频块进行解 码。
[0087] 作为如上文所描述由运动估计单元42及运动补偿单元44执行的帧间预测的替代 方案,帧内预测单元46可对当前块进行帧内预测。明确地说,帧内预测单元46可确定用来 编码当前块的帧内预测模式。在一些实例中,帧内预测单元46可例如在单独编码遍次期间 使用各种帧内预测模式编码当前块,且帧内预测单元46(或在一些实例中,模式选择单元 40)可从经测试模式选择适当帧内预测模式来使用。
[0088] 举例来说,帧内预测单元46可使用速率-失真分析计算用于各种经测试帧内预测 模式的速率-失真值,且从所述经测试模式当中选择具有最佳速率-失真特性的帧内预测 模式。速率-失真分析一般确定经编码块与经编码以产生所述经编码块的原始未经编码块 之间的失真(或误差)的量,以及用于产生经编码块的位速率(即,位数目)。帧内预测单 元46可根据用于各种经编码块的失真及速率计算比率,以确定哪种帧内预测模式对于所 述块展现最佳速率 -失真值。
[0089] 在针对一块选择帧内预测模式之后,帧内预测单元46可将指示用于所述块的所 选帧内预测模式的信息提供到熵编码单元56。熵编码单元56可编码指示选定帧内预测模 式的信息。视频编码器20在发射的位流中可包含配置数据,其可包含多个帧内预测模式索 引表及多个经修改的帧内预测模式索引表(也称为码字映射表),对用于各种块的上下文 进行编码的定义,及对最可能帧内预测模式、帧内预测模式索引表及经修改的帧内预测模 式索引表的指示以用于所述上下文中的每一者。
[0090] 视频编码器20通过从经译码的原始视频块减去来自模式选择单元40的预测数据 形成残余视频块。求和器50表示执行此减法运算的组件。变换处理单元52将例如离散余 弦变换(DCT)或概念上类似的变换等变换应用于残余块,从而产生包括残余变换系数值的 视频块。变换处理单元52可执行概念上类似于DCT的其它变换。还可使用子波变换、整数 变换、子带变换或其它类型的变换。在任何情况下,变换处理单元52向残余块应用所述变 换,从而产生残余变换系数的块。所述变换可将残余信息从像素值域转换到变换域(例如, 频域)。变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化变换系 数以进一步减小位速率。量化过程可减小与系数中的一些或全部相关联的位深度。可通过 调整量化参数来修改量化程度。在一些实例中,量化单元54可接着执行对包含经量化的变 换系数的矩阵的扫描。或者,熵编码单元56可执行所述扫描。
[0091] 在量化之后,熵编码单元56对经量化的变换系数进行熵译码。举例来说,熵编 码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码 (CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码 或另一熵译码技术。在基于上下文的熵译码的情况下,上下文可基于相邻块。在熵编码单 元56的熵译码之后,可将经编码位流发射到另一装置(例如视频解码器30),或将所述视频 存档用于稍后发射或检索。
[0092] 反量化单元58及反变换单元60分别应用反量化及反变换,以重建像素域中的残 余块,(例如)以用于稍后用作参考块。运动补偿单元44可通过将残余块相加到参考帧存 储器64的帧中的一者的预测性块中来计算参考块。运动补偿单元44还可将一或多个内插 滤波器应用于经重建残余块以计算子整数像素值以用于运动估计。求和器62将经重建的 残余块相加到由运动补偿单元44产生的运动补偿预测块以产生经重建视频块用于存储在 参考帧存储器64中。经重建的视频块可由运动估计单元42及运动补偿单元44用作用于 对后续视频帧中的块进行帧间译码的参考块。
[0093] 图3是说明可实施本发明中描述的方面的技术的视频解码器的实例的框图。视频 解码器30可经配置以执行本发明的技术中的任一者或全部。作为一个实例,运动补偿单元 72及/或帧内预测单元74可经配置以执行本发明中描述的技术中的任一者或全部。然而, 本发明的方面不限于此。在一些实例中,本发明中描述的技术可在视频解码器30的各种组 件之间共享。在一些实例中,作为补充或替代,处理器(未展示)可经配置以执行本发明中 描述的技术中的任一者或全部。
[0094] 在一些实施例中,熵解码单元70、帧内预测单元74或解码器30的另一组件(展 示或未展示)可执行本发明的技术。举例来说,熵解码单元70可接收经编码视频位流,所 述经编码视频位流可编码与参考层(例如,基础层)及对应的一或多个增强层有关的数据。 帧内预测单元74或解码器30的另一适当单元可至少部分基于基于增强层中的至少一个额 外视频单元的帧内预测值及参考层中的共置视频单元的值而确定定位在所述增强层内的 一位置处的视频单元的值。基于增强层中的至少一个额外视频单元的帧内预测值可通过第 一加权因子加权。参考层中的共置视频单元的值可通过第二加权因子加权。熵解码单元70 或解码器30的另一组件可经配置以解码所述视频单元且在位流中接收第一加权因子及第 二加权因子或与所述第一加权因子及所述第二加权因子有关的信息。在一个实施例中,解 码器30可导出所述第一加权因子及所述第二加权因子。
[0095] 在某些实施例中,熵解码单元70或解码器30的另一组件(展示或未展示)可接 收经编码视频位流。帧内预测单元74或解码器30的另一适当单元可至少部分基于参考层 中的多个像素的平均值确定增强层中的像素的预测值。
[0096] 在其它实施例中,熵解码单元70或解码器30的另一组件(展示或未展示)可接 收经编码视频位流。帧内预测单元74或解码器30的另一适当单元可将平滑滤波器应用到 增强层中的视频单元且在所述视频单元为像素值时将平滑滤波器应用到邻近于所述视频 单元的至少一个额外视频单元。
[0097] 在一些实施例中,熵解码单元70或解码器30的另一组件(展示或未展示)可接 收经编码视频位流。帧内预测单元74或解码器30的另一适当单元可至少部分基于差视频 层确定定位于增强层内的一位置处的视频单元的值。可从增强层与对应参考层之间的差导 出像素信息的差视频层。第一空间分辨率可与所述增强层相关联,且第二空间分辨率可与 所述参考层相关联。当第一空间分辨率不等于第二空间分辨率时,解码器30可至少部分基 于所述差视频层确定EL中的视频单元的值。当第一空间分辨率等于第二空间分辨率时,解 码器30可禁止至少部分基于差视频层确定视频单元的值。
[0098] 在图3的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测 单元74、反量化单元76、反变换单元78、参考帧存储器82及求和器80。在一些实例中,视 频解码器30可执行与关于视频编码器20 (图2)所描述的编码遍次大体互逆的解码遍次。 运动补偿单元72可基于从熵解码单元70接收的运动向量产生预测数据,而帧内预测单元 74可基于从熵解码单元70接收的帧内预测模式指示符产生预测数据。
[0099] 在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视 频块及相关联语法元素的经编码视频位流。视频解码器30的熵解码单元70对位流进行熵 解码以产生经量化系数、运动向量或帧内预测模式指示符及其它语法元素。摘解码单元70 将运动向量及其它语法元素转发到运动补偿单元72。视频解码器30可在视频切片层级及 /或视频块层级接收语法元素。
[0100] 当视频切片经译码为经帧内译码(I)切片时,帧内预测单元74可基于用信号通知 的帧内预测模式及来自当前帧或图片的先前经解码块的数据产生用于当前视频切片的视 频块的预测数据。当视频帧被译码为经帧间译码(例如,B、P或GPB)切片时,运动补偿单 元72基于从熵解码单元70接收的运动向量及其它语法元素产生用于当前视频切片的视频 块的预测性块
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1