技术领域
本发明属于可伸缩视频编码领域,特别是涉及空域分辨率分层中的运动矢 量预测方法。
背景技术
随着网络
基础设施,存储容量和计算能
力的快速发展,视频压缩编码技术 也进行着迅速蓬勃地发展。当前,视频编码技术
覆盖了多媒体消息,视频电话, 视频会议,无线和Internet
视频流,标清或高清电视广播和DVD存储等多个应 用领域。在这些应用中,各种各样的视频传输和存储系统可能被部署。由于现 代视频传输系统的异构性和复杂性,以及视频终端需求的多样性,传统的编解 码技术已经表现地捉襟见肘,可伸缩编码技术是满足现代视频传输需求的最佳 方案之一。传统的编解码技术仅仅只注重视频压缩效率和编码效率的平衡,缺 乏了针对应用环境的灵活适应性。而可伸缩编码技术在尽力保证率失真最优的 同时,从
帧率、分辨率、图像
质量的灵活可调整来满足不同应用需求,增强了 对异构多变的网络传输系统和多样化的终端需求的适用性。因此,可伸缩编码 技术一般被分为时域可伸缩、空域可伸缩和质量可伸缩以及三项伸缩的结合。
空域可伸缩的概念分别出现在了MPEG-2、H.263和MPEG4等标准中,它的 基本思想是将码流分成一个基本层和多个增强层,增强层依赖基本层或较低增 强层的数据来解码。低分辨率的视频
信号被编码在基本层中,较高分辨率的视 频信号被编码在第一增强层中,更高分辨率的
视频信号被编码在第二增强层中, 依此类推,形成一个分辨率倒金字塔,而这些视频频信号都被包含在一个空域 可伸缩的码流中。最新的H.264扩展标准可伸缩视频编码(SVC)中也沿用了传 统的空域可伸缩方法,并且为了提高编码性能,使用了三种层间预测
算法:层 间
帧内预测,层间运动信息预测和层间残差预测。
设计层间预测算法的目的是尽可能利用基本层的信息来提高增强层的压缩 效率和编码效率。SVC将层间预测方法分为两类,一类称为多循环解码方法,这 种方法利用基本层的重构帧上
采样来预测增强层的帧信息,例如:层间帧内预 测。在高运动场景中,同层时域相关性减弱,该算法可获得较大增益。另外一 类称为单循环解码方法,该方法直接利用基本层的编码信息对增强层进行预测, 避免了重构和上采样步骤,减少了解码复杂度和时延。层间运动信息预测和层 间残差预测就是使用单循环解码的概念。
简单介绍三种层间预测算法以便理解当前技术:(1)层间运动信息预测。 SVC在空域增强层增加了一种宏
块编码模式BlSkip。当选用这个模式时,宏块 数据只传残差而不传运动信息。如果基本层对应块使用帧内编码模式,则增强 层使用层间帧内编码。如果基本层对应块使用帧间编码模式,则增强层使用层 间运动信息预测算法。层间运动信息预测直接利用基本层的
运动矢量、预测方 向、块划分模式以及参考索引预测增强层的运动信息,从而节省了传输运动信 息的码率;(2)层间帧内预测。如上所述,当增强层宏块使用BlSkip模式而且 基本层对应块为帧内编码,则SVC通过层间帧内预测方法获得增强层宏块预测 信号。该算法上采样基本层对应块的重构信号,并作为增强层原信号的预测。 该算法增益主要来自基本层上采样信号的纹理信息的准确性,减少了残差数据。 (3)层间残差预测。SVC的层间残差预测应用于任何分割模式的宏块,而不管是 否使用BlSkip模式。当层间残差预测标志位开启后,基本层相应8*8块的残差 信号通过一个双向
滤波器上采样,作为增强层宏块残差信号的预测,从而减小 残差的码率。显然,基本层残差的上采样信号与增强层残差信号越接近,该方 法的增益就越大。
由于相邻两层间的运动信息的相关性,增强层运动信息可以通过基本层运 动信息来预测。在层间运动信息预测算法中,编码增强层宏块时,如果该宏块 选用BLSkip模式,则使用基本层对应
位置块的运动矢量乘以2作为增强层的运 动矢量,同时沿用基本层参考索引和预测方向等运动信息。但是,我们在仿真 实验中发现,基本层获得的运动矢量精确性对编码效率至关重要。如果预测的 运动矢量与全搜索的最优运动矢量比较接近,再经过局部小范围运动搜索,就 有可能得到一个比较好的增益;相反,如果预测的运动矢量与最优运动矢量相 去甚远,则局部小范围运动搜索的结果也可能只是局部最优,得不到好的增益。 此外,如果基本层的运动矢量本身误差较大,则利用它来预测增强层的运动矢 量误差也较大,造成层间运动矢量误差的“漂移”。
发明内容
本发明目的在于解决上述层间运动矢量预测的准确性和误差的“漂移”问 题,提供
一种分辨率分层技术中的运动矢量预测方法。
本发明的技术方案为利用时域、空域和层间域运动矢量的相关性,获取增 强层中宏块的预测运动矢量,实现过程为,
时域上由前一帧相同位置宏块的运动矢量获取时域候选运动矢量,空域上 由相邻块的运动矢量获取空域候选运动矢量,层间域上由较低空域分辨率层次 的相应运动矢量获取层间域候选运动矢量,对时域候选运动矢量、空域候选运 动矢量和层间域候选运动矢量进行选择,将其中
运动估计代价最小的选为预测 运动矢量。
而且,所述空域候选运动矢量的获取方式为三个相邻块的运动矢量取中值, 三个相邻块分别处于该宏块的上、左、上右或上左。
而且,所述层间域候选运动矢量的获取方式为较低空域分辨率层次对应位 置块的运动矢量进行伸缩得到,伸缩比例为两层之间的空域分辨率比率。
本发明还提供了应用这种运动矢量预测方法的视频编码方法,采集获取高 分辨率的视频信号,将高分辨率视频信号
下采样成低分辨率视频信号,将两种 分辨率的视频信号时域分解对齐,形成增强层和基本层,对增强层和基本层的 信息处理后复合成一路码流输出;
其中增强层和基本层的纹理信息处理方法为,经过帧内纹理预测后,进行变换 和
熵编码,增强层的帧内纹理预测通过基本层的重构上采样实现;
其中增强层和基本层的运动信息处理方法为,基本层使用全搜索运动估计获取 运动矢量并编码,增强层对时域候选运动矢量、空域候选运动矢量和层间域候 选运动矢量进行选择,获取增强层的预测运动矢量并编码。
而且,宏块的数据编码组织过程包括如下步骤,
首先,在宏块数据头加一个模式标志位,写宏块码流操作开始后,如果选中了 多域运动矢量预测模式,该模式标志位被写为1,后面跟着写多域选择索引和精 细运动矢量差信息,所述精细运动矢量差信息是对运动矢量修正得到的压缩信 息;如果没有选中多域运动矢量预测模式,则模式标志位被写为0;
接着,写宏块模式和全搜索运动矢量;
最后,写预测残差数据。
而且,精细运动矢量差信息的获取方法为,以时域候选运动矢量、空域候 选运动矢量和层间域候选运动矢量为起点,在窗口内计算SAD值,将最小SAD 值的候选向量的精细运动矢量差作为精细运动矢量差信息。
而且,所述窗口为候选运动矢量的x分量和y分量分别在一定范围内调整 构成。
而且,x分量和y分量分别在(-1,+1)之间调整。
本发明还提供了相应解码方法,收到空域可伸缩码流后,首先解码基本层 图像,接着解码同一时刻的增强层图像;在解码增强层图像时,根据模式标志 位判断模式,如果当前宏块选中多域运动矢量预测模式,则根据多域选择索引 选取预测运动矢量,根据精细运动矢量信息修正得到运动矢量。
本发明提出多域运动矢量预测的方法,就是利用时域前一帧相应位置的运 动矢量、空域相邻块的运动矢量结合较低空域分辨率层次获取的运动矢量进行 选择,进而能够综合利用时域、空域和层间域运动矢量的相关性,获取更准确 的预测运动矢量。本发明还提供了运用多域运动矢量预测方法的编解码方案, 将运动矢量信息传输改为传递精细运动矢量差信息,在提高预测运动矢量的准 确性上压缩了运动矢量码率,可以获得较大的性能增益。
附图说明
图1为本发明的分层结构中多域运动矢量预测方法示意图;
图2为本发明
实施例的空域分辨率分层的视频编码原理
框图;
图3为本发明实施例的增强层宏块的分割模式选择
流程图;
图4为本发明实施例的增强层宏块码流数据写入流程图;
图5为本发明实施例的编码效率测试结果图。
具体实施方式
本发明的技术方案提供一种分辨率分层技术中的运动矢量预测方法,时域 上由前一帧相同位置宏块的运动矢量获取时域候选运动矢量,空域上由相邻块 的运动矢量获取空域候选运动矢量,层间域上由较低空域分辨率层次的相应运 动矢量获取层间域候选运动矢量,对时域候选运动矢量、空域候选运动矢量和 层间域候选运动矢量进行选择,将其中运动估计代价(cost)最小的选为预测 运动矢量。具体实施时,对于候选矢量的选择策略有多种不同方法,例如计算 空域相关性作为
阈值的方法、根据图像内容运动复杂度自适应选择的方法等, 而本发明选择采用SAD(绝对差之和)值为匹配量度的运动矢量搜索算法,选取 最小SAD作为cost值,并实现运动向量精化。注意,其它选择策略的cost值 取得方法不一定是通过SAD值。运动矢量搜索具体方案是,以时域候选运动矢 量、空域候选运动矢量和层间域候选运动矢量为起点,在一个小窗口内计算SAD 值,将具有最小SAD值的选为预测候选向量。运动矢量搜索算法是一种本领域 常见方法,其中窗口为候选运动矢量的x分量和y分量分别在一定范围内调整 构成,本发明实施例提供的优选方案是x分量和y分量分别在(-1,+1)之间 调整。并且这种算法的优点是,得到的运动矢量准确性高,可在编码时传输精 细运动矢量差代替预测候选向量,以压缩码率。本发明所说的精细运动矢量是 相对其它普通编码方法而言,具有分量取值在一定范围内的特点,实质上是对 运动矢量修正得到的压缩信息,可以减少码率。本发明实施例的精细运动矢量 分量取值只可能在小窗口范围(例如-1到+1)内的运动矢量。
参见附图1,本发明以最普通的分两层为例,获取增强层的预测运动矢量时, 参考基本层对应位置块的相应运动矢量,获取层间域候选运动矢量,具体方式 为基本层对应位置块的运动矢量进行伸缩得到,伸缩比例为两层之间的空域分 辨率比率;空域候选运动矢量的获取方式为三个相邻块1、2、3的运动矢量取 中值,三个相邻块分别处于该宏块的上、左、上左,考虑到编码顺序一般为从 上到下、从左到右,具体实施时一般先选择该宏块的上、左位置相邻块,第三 块可以选择上左或上右位置。
本发明将这种从三个域中选择预测运动向量的方法称为多域运动向量预 测,提供了应用这种多域运动矢量预测方法的视频编码方法,参见图2:对视频 采集输入获取的高分辨率的视频信号,空域下采样成低分辨率视频信号,将两 种分辨率的视频信号时域分解对齐,形成增强层和基本层,对增强层和基本层 的信息处理后复合成一路码流输出;其中增强层和基本层的纹理信息处理方法 为,经过帧内纹理预测后,进行变换和熵编码,增强层的帧内纹理预测通过基 本层的重构上采样实现;其中增强层和基本层的运动信息处理方法为,基本层 使用全搜索运动估计获取运动矢量并编码,增强层对时域候选运动矢量、空域 候选运动矢量和层间域候选运动矢量进行选择,获取增强层的预测运动矢量并 编码。本发明提供的方法只分一个基本层和一个增强层编码,但一个基本层和 多个增强层编码也应在本发明的保护范围内,增强层依赖基本层或较低增强层 的数据获取预测运动矢量都可以采用多域运动向量预测方案。
图3提供了本发明实施例的增强层宏块的分割模式选择流程图,当开始编 码增强层宏块后,首先计算各种块分割模式的cost值,这些模式包括 16×16,16×8,8×16,8×8,SKIP等等。然后,如果开启了多域运动矢量预测这个选 项,则根据增强层宏块与基本层块之间的映射关系,获取对应块的运动矢量并 将x分量和y分量都乘上分辨率比率作为层间域候选向量,例如基本层使用QCIF 分辨率,增强层使用CIF分辨率,则分辨率比率就为2;接着获取时域前一帧中 相同位置宏块的运动矢量作为时域候选向量;根据空域相邻块运动矢量预测的 方法,获取空域候选向量;最后将这三个域获取的运动矢量分别在(-1,+1)范围 内计算SAD值,选取最小SAD值作为层间多域运动矢量预测模式的cost值,如 果该cost值小于其他模式cost值,则该模式被选中作为该宏块的运动模式。
为了便于实施,本发明实施例还提供了宏块的数据编码组织过程,参见图4, 包括如下步骤:首先,在宏块数据头加一个模式标志位(motion mode flag), 写宏块码流操作开始后,如果选中了多域运动矢量预测模式,该模式标志位被 写为1,后面跟着写多域选择索引(用于表明选中三个域中的哪个)和精细运动 矢量差信息,实施例中精细运动矢量差是分量取值只可能在小窗口范围(例如 -1到+1)内的运动矢量。如果没有选中多域运动矢量预测模式,则模式标志位 被写为0;接着,写宏块模式和全搜索运动矢量。最后,写预测残差数据,预测 残差数据是本领域的常见术语,指原始块与预测块之间的差值数据。
设置模式标志位可以便于解码,对应解码方法为:收到空域可伸缩码流后, 首先解码基本层图像,接着解码同一时刻的增强层图像;在解码增强层图像时, 根据模式标志位判断模式,如果当前宏块选中多域运动矢量预测模式,则根据 多域选择索引选取预测运动矢量,根据精细运动矢量信息修正得到运动矢量。
在本发明的实施例中,采用了我国具有自主知识产权的音视频编码标准 AVS,扩展AVS为空域分辨率双层结构,并采用了本发明的方法,对foreman.qcif 和foreman.cif序列(foreman为标准测试序列)进行编码测试,图5为分辨 率分层中多域运动矢量预测的性能图,在编码过程中,基本层采用的
单层 AVS1-P2编码标准进行编码,增强层使用了本发明的多域运动向量预测方法,由 于有效利用了多域的运动信息,提高了编码效率,从图5中可以看出,在相同 Bit rate(码率)的情况下,本发明的方法能提高YPSNR(
亮度信噪比)达到 0.5dB以上。图5表达了在BLQP(基本层量化参数)=29,帧率为30HZ时的 各种编码方式的性能曲线,其中编码方式术语解释如下:SVC为可伸缩视频编码, BLSkip为层间运动预测算法;base layer为基本层;Anchor为双码流;Proposed motion prediction为多域预测方法。