一种基于空域分解的视频帧内编码方法

文档序号:7927215阅读:128来源:国知局
专利名称:一种基于空域分解的视频帧内编码方法
技术领域
本发明涉及一种用于视频帧内编码方法,尤其涉及一种在视频I帧 编码过程中,将I帧在空域上分解成基本子帧和预测子帧,利用子帧内 的空间相关性对基本子帧进行子帧内预测与补偿,利用子帧间存在的时 间相关性对预测子帧进行子帧间预测与补偿,从而将重建子帧合成I帧 重建帧的视频帧内编码方法,属于视频处理技术领域。
背景技术
视频图像具有直观生动、内容丰富等特点,是人类最重要的信息载 体之一。特别是在今天的信息社会,数字化的视频图像已广泛应用于工 农业生产、日常生活和军事侦察等各个方面。随着信息技术的快速发展, 各种视频应用对视频图像的分辨率、清晰度和色彩等的要求越来越高, 相应地,视频图像的数据量也急剧增加,远远超过了传输信道带宽和存 储容量的增长速度。因此,视频编码(即视频压縮)技术已成为信息领 域的重点研究课题,受到了广泛的关注。
在现有视频编码技术中,将视频编码帧分为I帧、P帧和B帧。其中
I帧为帧内编码帧,只利用本帧信息进行编码,在解码时,仅用I帧的码 流数据就可重构出I帧的重建图。p帧为前向预测编码帧,它是以I帧为 参考帧,在I帧中找出p帧编码块的最佳预测值和运动向量,压縮比较
高,时间复杂度较高。B帧是双向预测帧,它以前面的I或P帧和后面的 P帧为参考帧,找出B帧参考块的最佳预测值和运动矢量,压縮比最高, 复杂度也最高。I帧只利用本帧视频信息除去空间冗余进行编码,因此与
预测帧相比,具有两个明显的特点第一,I帧具有较强的独立性,能够 方便地进行视频快进、快退、暂停以及切换等操作,有效地提高了恢复 视频的主观质量;第二, I帧只能利用本帧的空间相关性进行视频压縮, 与预测帧相比,在质量相当的情况下,I帧的码流量是P帧码流量的3倍 左右或者更大,压縮比率较低。
在MPEG-2标准中,I帧编码采用了简单的空域预测算法。由于没有 利用I帧本身信息进行有效的预测,而一概采用像素值128进行预测, 对于大多数视频序列预测误差较大,因此I帧的压縮效率很低。在MPEG-4
标准中,I帧编码块采用了基于频域的AC/DC预测算法,编码块首先进行 DCT变换,像素值从空域变换到频域,利用相邻块的AC/DC系数,对当前 编码块的系数进行预测,I帧压縮效率有了一定的提高。在H. 264标准中, 帧内预测首先利用周围邻近的像素值来预测当前的像素值,然后对预测 误差进行编码。这种帧内预测基于不同尺寸的块进行,并对不同的块尺 寸采用不同的预测模式。对于亮度分量,块尺寸有16X16和4X4两种, 16X16块有4种预测模式,4X4块有9种预测模式;对于色度分量,预 测对整个8X8块进行,有4种预测模式。
随着技术的不断发展,帧内编码的性能也逐渐提高,但是,现有的 帧内编码方法仍然没有充分利用像素间存在的空间相关性,I帧的压縮效 率远低于预测帧的压縮效率。因此,充分利用视频图像的空间相关性对I 帧编码方法进行改进,从而在满足I帧独立性要求的前提下,有效提高I 帧的压縮比率,具有重要的理论意义和实践意义。

发明内容
针对现有技术没有充分利用I帧内固有的空间相关性,存在压縮比 率低的缺陷,本发明的目的在于提出一种新的基于空域分解/合成的视频 帧内编码方法。
为实现上述发明目的,本发明采用下述的技术方案。 一种基于空域分解的视频帧内编码方法,其特征在于包括如下的步

步骤一对于视频图像中的I帧进行分解,形成基本子帧、水平子 帧、垂直子帧和对角子帧;
步骤二对所述基本子帧,对其中的宏块利用子帧内的空间相关性 进行子帧内预测与补偿,对残差进行变换、量化,对量化系数进行反量 化反变换得到重建的基本子帧;
步骤三利用所述水平子帧与所述重建的基本子帧之间的时间相关 性进行子帧间预测与补偿,对残差进行变换、量化,对量化系数进行反 量化反变换得到重建的水平子帧;
步骤四利用所述垂直子帧与所述重建的基本子帧、所述重建的水 平子帧之间的时间相关性进行子帧间预测与补偿,对残差进行变换、量
化,对量化系数进行反量化反变换得到重建的水平子帧;
步骤五利用所述对角子帧与所述重建的水平子帧、所述重建的垂
直子帧之间的时间相关性进行子帧间预测与补偿,对残差进行变换、量 化,对量化系数进行反量化反变换得到重建的对角子帧;
步骤六利用步骤二 五所得到的重建的基本子帧、水平子帧、垂 直子帧和对角子帧,合成重建为新的I帧。
所述步骤一中,对I帧按照如下方法进行分解在组成所述I帧的 像素阵列中,以左上角的像素点为基准,隔行隔列选取相邻的像素点组 成基本子帧;以所述基本子帧中的像素点为基准,由水平方向上的相邻 像素点组成水平子帧,垂直方向上的相邻像素点组成垂直子帧,对角方 向上的相邻像素点组成对角子帧。
所述步骤二中,对于所述基本子帧中宏块的亮度分量,首先计算编 码块的纹理复杂度,结合预设的阈值判断编码块的尺寸,如果编码块纹 理简单,则按照16X16块大小进行编码。如果编码块的模式选择尺寸为 4X4块大小,则通过相邻块估计最佳预测模式,结合环形滑动窗口将窗 口内的预测模式追加为候选的预测模式,进行动态模式选择。
步骤三 步骤五所述的水平子帧、垂直子帧和对角子帧的编码过程 中,首先进行Interl6X16模式的匹配搜索,然后进行Skip模式的判断。 在Interl6X16模式的匹配搜索过程中,首先进行整像素匹配搜索,求得 最优的整像素匹配向量,然后在最优的整像素匹配向量的基础上进行亚 像素匹配搜索,求得最优的亚像素匹配向量。
本发明所提供的视频帧内编码方法能够明显提高I帧编码的压縮效 率。对于分辨率为720X576的视频,与H. 264算法相比,PSNR值可提 高0.5 2dB,在PSNR值相同的情况下,本发明可节约10% 40%的码流 量,重建帧的主观质量明显好于H.264参考软件JM9中算法的重建帧; 与MPEG-4采用的AC/DC预测算法相比,本方法的优势更加突出,客观 质量提高1.5 3.5dB,可节约25%~55%的码流量,主观质量明显提高。


图1为本发明所述的基于空域分解的视频帧内编码方法的基本流程 示意图2为I帧的分解示意图,用于描述I帧分解的过程; 图3为预测子帧进行子帧间预测及补偿的流程图,描述子帧间预测 包括Skip模式预判、整像素匹配搜索、亚像素匹配搜索的过程;
图4为Foreman序列在不同帧内编码方法下的率失真曲线; 图5为Houseriding序列在不同帧内编码方法下的率失真曲线。
具体实施例方式
下面结合附图和具体实施方式
对本发明作进一步的说明。
图1显示了本视频帧内编码方法的基本实施过程。
在I帧编码过程中,视频数据经过预测、变换量化、熵编码后产生 的码流存入码流缓存区,该码流可用于存储或者传输;同时,对于量化 后系数要进行反量化变换、补偿,产生重建块,该重建块作为后续帧的 参考帧编码时可作为参考帧。其中,变换量化是对输入的视频数据以块 为单位进行二维整数DCT变换和量化操作,消除了数据冗余,在H. 264 中,将变化和量化两个过程中的乘法合并,减少了运算量,提高了编码 器的运算速度,反量化变换是变换量化的逆过程。熵编码是无损压縮编 码方法,有效消除了视频数据的冗余信息。位率控制根据率失真模型为 视频序列合理地分配目标位数,有效提高恢复视频的质量。上述概念的 详细解释可参阅相关书籍,如毕厚杰主编的《新一代视频压縮编码标准 一H. 264/AVC》(ISBN7-115-13064-7/TN. 2415, 2005年5月第一版,人民 邮电出版社)。
参见图1所示,本视频帧内编码方法首先对I帧进行空域上的分解, 得到四个子帧基本子帧、水平子帧、垂直子帧和对角子帧。然后,对
于基本子帧利用子帧内的空间相关性进行子帧内预测与补偿,对于作为 预测子帧的水平子帧、垂直子帧和对角子帧则利用子帧间存在的时间相 关性进行子帧间预测与补偿。具体的,首先对基本子帧进行编码,即利 用编码块的上边一行或者左边一列像素进行子帧内预测与补偿,对补偿 后残差进行变换、量化,对量化系数进行熵编码后写入码流缓存区,同 时对量化系数进行反量化反变换得到重建的基本子帧,用作后续预测子 帧的参考帧。接着,分别对作为预测子帧的水平子帧、垂直子帧和对角 子帧进行编码,利用重建的基本子帧与预测子帧的相关性,进行子帧间 预测与补偿,对残差系数进行变换、量化,对量化系数进行熵编码写入
码流缓存区,同时对量化系数进行反量化反变换得到重建的预测子帧, 用作后续预测子帧的参考帧。对各预测子帧的处理要分别进行,在本方 法中一共处理三次。最后,将得到的多个重建子帧进行合成,产生重建
的I帧。该I帧可以作为后续预测帧编码的参考帧。这样可以充分利用 子帧内或子帧间存在的数据相关性,有效消除I帧的数据冗余,提高I 帧编码的效率。
下面对上述过程展开详细的说明。
1. 把I帧分解成一个基本子帧和三个预测子帧
由于已有的帧内编码方法没有充分利用子帧内或子帧间存在的数据
相关性,使得I帧的压縮比率较低。如图2所示,本发明按照隔行隔列
的原则将I帧中的每一个像素划分到四个子帧中,形成水平和垂直分辨
率减半的基本子帧、水平子帧、垂直子帧和对角子帧。此处的子帧划分
原则是指在构成I帧的像素阵列中,以位于左上角的像素点为基准,隔
行隔列选取其相邻的像素点,这些像素点组成基本子帧。以基本子帧中
的像素点为基准,其水平方向上的相邻像素点组成水平子帧,垂直方向
上的相邻像素点组成垂直子帧,而对角方向上的相邻像素点组成对角子
帧。假设I帧的分辨率为2MX2N,产生的子帧的分辨率为MXN。 P (x,y)、
PB(x,y)、 PH(x,y)、 Pv(x,y)和P。(x,y)分别表示I帧、基本子帧、水平子帧、
垂直子帧和对角子帧的(x,y)处的像素值。则 PB(x,y) = P(2x,2y) (0"<M,0《y<N)
PH(x,y) = P(2x + l,2y) (0"<M,0《y<N)
,、 (1) Pv(x,y) = P(2x,2y + l)(0《x < M,O《y < N)
PD( x, y) = P(2x + l,2y + 1)(0《x < M,O S y < N)
按照图2所示方法进行I帧分解后得到水平子帧、垂直子帧和对角 子帧。由于各子帧间的数据冗余较大,因此,在分别编码三个预测子帧 的时候,参考己经重建的预测子帧,可以极大提高预测子帧的压縮比率, 提高I帧的编码效率。
2. 对基本子帧进行子帧内预测、补偿以及后续编码 在本实施例中,对于基本子帧中宏块的亮度分量(即亮度块)按照
16X16大小和4X4大小进行预测,色度分量(即色度块)按照8X8大 小进行预测,模式定义与H. 264标准中定义相同。
一般地,纹理简单的编码块适合按照16X16大小进行预测,而纹理 复杂,细节丰富的编码块适合按照4X4大小进行预测。本视频帧内编码
方法用数学工具方差预先估计图像的复杂程度,避免帧内预测算法因搜
索全部9种4X4模式和4种16X16模式带来的计算开销,降低计算复杂 度。设NXN大小的图像块,、是像素的灰度值,5是像素灰度值的均值, 则方差S2为
<formula>formula see original document page 9</formula>
S2值越大,表示像素灰度值偏离均值越大,图像就越复杂。考虑到
公式(2)中含有NXN个乘法和一个除法,计算复杂度高,本视频帧内编 码方法作如下处理根据空域相关性,按照隔行隔列取像素计算;平方 计算改为绝对值计算;不除以像素总数。快速算法以简化后的公式(3) 计算图像的复杂度。公式(3)中的5是隔行隔列选择的部分像素的灰度 均值,abs表示绝对值操作。
<formula>formula see original document page 9</formula> (3)
在本方法中,设定两个阈值T,和T"每个宏块编码前,首先按照公式 (3)计算T值,如果TST,,则按照16X16块大小进行帧内预测;如果 T》T2,则以4X4块大小进行预测,如果T,〈T〈T2,则仍以两种块预测。 通过大量实验,取T,二550, T2=950时算法性能最佳。
如果编码块按4X4预测,本视频帧内编码方法利用中值法和滑动窗 口縮小模式选择范围,可进一步提高预测速度。利用图像的空间相关性, 综合参考作为相邻块的左邻块,上邻块和对角邻快的纹理趋势,估计出 当前块的纹理方向,通过邻块的预测模式计算出当前块的预测模式,称 为预测模式的中值法估计。为了提高预测精度,以估计的预测模式作为 环形滑动窗口的中心做一定宽度的窗口 ,窗口内的预测模式追加为候选 的预测模式,称为滑动窗口动态模式选择。预测模式的选择范围縮小之 后,本方法的时间复杂度大大降低,通过简化块匹配准则,可以进一步 提高运行速度。本方法中使用的子帧内预测的详细过程可参阅论文《适 用于H.264/AVC的快速帧内预测算法》(电子学报,2007, Vol.34 No. 4, P668-672)。
按照亮度块和色度块选择的最佳模式进行子帧内补偿,变换量化、
熵编码。对于量化后系数进行反量化变换、补偿得到编码块的重建块。 在后续预测子帧编码时用作参考帧。
3.对各个预测子帧进行子帧内预测、补偿以及后续编码 前已述及,在本发明中,通过I帧分解产生的各子帧间存在极强的 数据相关性。与基于空域的多模式帧内预测方法相比,子帧间预测能够 更有效地消除数据冗余,提高编码效率。因此,本视频帧内编码方法在 对基本子帧进行编码之后,以基本子帧的重建子帧为参考,对水平子帧 进行编码,然后以基本子帧和水平子帧的重建子帧为参考,对垂直子帧 进行编码,接着以水平和垂直子帧的重建子帧为参考,对对角子帧进行 编码。
在H.264标准中,为了提高编码效率,采用了多模式预测。如在编 码p帧中的过程中,编码块需要进行Interl6X16、 Interl6X8 Inter8X16、 Inter8X8、 Inter8X4、 Inter4X8、 Inter4X4禾卩Skip模 式的选择,计算量非常大。本方法中,由于子帧间数据相关性极强,没 有必要进行多种模式的搜索,因此,与H.264中预测帧编码相比,预测 子帧中宏块的编码模式只有两种Interl6X16模式和Skip模式。极大 地降低了编码计算量。
如图3所示,本视频帧内编码方法先进行Interl6X16模式的匹配搜 索,然后进一步判断是否可以按照Skip模式进行编码,最后按照选定的 编码模式,整数DCT变换、量化、熵编码。对于量化后系数进行反量化、 反变换、补偿得到编码块的重建块。
下面对此进行详细的说明。 (1)整像素和亚像素匹配搜索
由于本方法中各个子帧是从同一个I帧分解得到,具有极强的相关 性,当前编码块与最匹配参考块的相似程度高,匹配向量的模一般很小。 因此,为了提高匹配速度,匹配块搜索的窗口可以设定的小一些。已有 运动估计算法中搜索窗口的大小设置为32X 32或者更大,本方法的一个 实施例设置窗口大小为6X6。本视频帧内编码方法中的编码块采用16X 16大小,在匹配搜索过程中,采用具有起点预测的小菱形匹配搜索,搜 索窗口大小为6X6,通过编码块的左边块,上边块和右上块的匹配向量 预测当前块的初始匹配向量,首先进行整像素匹配搜索,求得最优的整
像素匹配向量,然后在最优的整像素匹配向量的基础上进行亚像素匹配 搜索,求得最优的亚像素匹配向量。
确定搜索起点常用的方法有中值法、加权平均法和误差函数值比较 法三种。因为在多数情况下预测效果是第一位的,准确的预测能为后续 的搜索提供良好的起点,可以较快地到达搜索终点;各预测匹配向量对 应的点相关性较强,都有可能成为最优匹配点,对它们进行搜索也是必 要的。因此,本方法采用了误差函数值比较法的预测方式。亚像素位置 的点是通过整像素点插值得到,综合考虑预测效果和计算量,本方法采 用线性插值。为了提高编码速度,在不影响搜索精度的情况下,本方法 只搜索整像素周围上下左右四个亚像素位置。
(2) Skip模式判断
宏块的最佳匹配模式是Skip模式的条件是最优参考帧是前一个参 考帧;最优匹配向量是预测的匹配向量;16X16块的变换系数全部是零 或者近似为零。当按照Skip模式编码时,不用向码流中写入匹配向量和 变换系数,只写入模式信息即可,这样可以大大节省码流量。由于编码 子帧与参考子帧存在着极强的相关性,大多数编码块的编码模式为Skip
模式,经统计,35% 65%的编码块最终按照Skip模式编码。因此,本方 法在进行完整像素和亚像素匹配搜索后,按照上述条件进行Skip模式判 断。
(3) 获得编码块的重建块
如果编码块采用Skip模式,将模式信息写入码流缓存区;直接复制 预测匹配向量指向的参考块可形成重建块,用于后续子帧的预测。如果 编码块不采用Skip模式,在求得的最优亚像素匹配向量的基础上,对亮 度分量、色度分量进行匹配补偿,对补偿后的残差进行变换量化,得到 量化后编码系数,该系数进行熵编码后写入码流缓冲区。对前述步骤求 得的量化后编码系数进行反量化反变换,然后同最优匹配向量对应的参 考块做补偿可形成重建块,用于后续子帧的预测。
4.利用重建子帧合成重建的I帧。
将前述各步骤中重建出来的基本子帧、水平子帧、垂直子帧和对角 子帧按照分解的相反过程合成重建的I帧。具体的,此处的I帧合成原 则是指在构成I帧重建帧的像素阵列中,以位于第一行、第一列像素点
位置为基准,隔行隔列位置的像素点依次来自重建的基本子帧。以位于 第一行、第二列像素点位置为基准,隔行隔列位置的像素点值依次来自 重建的水平子帧。以位于第二行、第一列的像素点位置为基准,隔行隔 列位置的像素点值依次来自重建的垂直子帧。以位于第二行、第二列的 像素点位置为基准,隔行隔列位置的像素点依次来自重建的对角子帧。 上述合成重建的I帧可作为后续预测帧编码的参考帧。
图4显示了 Foreman序列在不同帧内编码方法下的率失真曲线。图 5显示了 Houseriding序列在不同帧内编码方法下的率失真曲线。可以看 出,本发明所提供的视频帧内编码方法能够明显提高I帧编码的压縮效 率。对于分辨率为720X 576的视频,与H. 264算法相比,PSNR值可提 高0.5 2dB,在PSNR值相同的情况下,本发明可节约10% 40%的码流 量,重建帧的主观质量明显好于H.264参考软件JM9中算法的重建帧; 与MPEG-4采用的AC/DC预测算法相比,本方法的优势更加突出,客观 质量提高1.5 3.5dB,可节约25%~55%的码流量,主观质量明显提高。
对本领域的一般技术人员而言,在不背离本发明实质精神的前提下 对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将 承担相应的法律责任。
权利要求
1. 一种基于空域分解的视频帧内编码方法,其特征在于包括如下的步骤步骤一对于视频中的I帧进行分解,形成基本子帧、水平子帧、垂直子帧和对角子帧;步骤二对所述基本子帧,对其中的宏块利用子帧内的空间相关性进行子帧内预测与补偿,对残差进行变换、量化,对量化系数进行反量化反变换得到重建的基本子帧;步骤三利用所述水平子帧与所述重建的基本子帧之间的时间相关性进行子帧间预测与补偿,对残差进行变换、量化,对量化系数进行反量化反变换得到重建的水平子帧;步骤四利用所述垂直子帧与所述重建的基本子帧、所述重建的水平子帧之间的时间相关性进行子帧间预测与补偿,对残差进行变换、量化,对量化系数进行反量化反变换得到重建的水平子帧;步骤五利用所述对角子帧与所述重建的水平子帧、所述重建的垂直子帧之间的时间相关性进行子帧间预测与补偿,对残差进行变换、量化,对量化系数进行反量化反变换得到重建的对角子帧;步骤六利用步骤二~五所得到的重建的基本子帧、水平子帧、垂直子帧和对角子帧,合成重建为新的I帧。
2. 如权利要求1所述的基于空域分解的视频帧内编码方法,其特征在于所述步骤一中,对I帧按照如下方法进行分解在组成所述I帧的像素阵列中,以左上角的像素点为基准,隔行隔列选取相邻的像素点组 成基本子帧;以所述基本子帧中的像素点为基准,由水平方向上的相邻像素点组成水平子帧,垂直方向上的相邻像素点组成垂直子帧,对角方 向上的相邻像素点组成对角子帧。
3. 如权利要求1所述的基于空域分解的视频帧内编码方法,其特征在于所述步骤二中,对于所述基本子帧中宏块的亮度分量,首先计算编码块的纹理复杂度(T),结合预设的阈值(T,)、 (T2)判断编码块的模 式选择尺寸,如果TST,则按照16X16块大小进行模式选择,如果 T,<TST2,按照16X16和4X4块大小进行模式选择,如果T>T2,则按照4X4块大小分别进行模式选择。
4. 如权利要求3所述的基于空域分解的视频帧内编码方法,其特征 在于如果编码块的模式选择尺寸为4X4块大小,则通过相邻块估计最佳 预测模式,结合环形滑动窗口将窗口内的预测模式追加为候选的预测模 式,进行动态模式选择。
5. 如权利要求1所述的基于空域分解的视频帧内编码方法,其特征 在于在所述水平子帧、垂直子帧和对角子帧中,编码宏块只采用 Interl6X16模式和Skip模式。首先进行Interl6 X 16模式搜索,然后 进行Skip模式的判断。
6. 如权利要求5所述的基于空域分解的视频帧内编码方法,其特征 在于在Interl6X16模式的匹配搜索过程中,首先进行搜索窗口范围较小 的整像素匹配搜索,求得最优的整像素匹配向量,然后在最优的整像素 匹配向量的基础上进行亚像素匹配搜索,求得最优的亚像素匹配向量。
全文摘要
本发明公开了一种基于空域分解的视频帧内编码方法。该方法将I帧分解为一个基本子帧和三个预测子帧,先后对四个子帧进行编码。对基本子帧采用快速模式选择算法进行子帧内预测,按照选择的最优模式进行子帧内补偿。以重建的子帧为参考帧,对预测子帧进行子帧间预测和补偿,先进行较小范围的整像素匹配搜索和亚像素匹配搜索,然后进行Skip模式判断,按照选中的模式重建出预测子帧。对四个子帧的重建子帧进行合成,形成I帧的重建帧。实验结果表明,在PSNR值相同的情况下,重建帧的主观质量明显好于H.264参考软件JM9中推荐算法的重建帧。
文档编号H04N7/50GK101389028SQ20081022408
公开日2009年3月18日 申请日期2008年10月15日 优先权日2008年10月15日
发明者乔淑娟, 宋建斌, 波 李 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1