- 1 -
中国科技论文在线
基于 的视频转码实现与优化
聂焱平,叶庆云**
作者简介:聂焱平(1980-),男,硕士研究生,主要研究通信与信息系统
通信联系人:叶庆云(1957-)女,副教授,主要研究通信与信息系统
(武汉理工大学信息工程学院,武汉 430070)
摘要: 的编码方式,文件小,占用带宽少,逐渐成为手机视频的主流。研究5
标准及视频转码具有非常现实的意义和需求。本文研究了视频转码技术中 IDR
帧机制,分析 UMHS快速搜索算法,引入新的搜索步骤和判断阈值。比较了几种 IDR帧机
制的优劣,找到适合转码的插入机制,提出了 UMHS 快速搜索的优化算法,实验证明该新
算法缩短了运动估计时间,PNSR值没有明显降低。并在转码系统中采用上述两项优化,提
高了转码系统性能。�10
关键词:图像处理; / AVC ;IDR;UMHS�
中图分类号:TN919�
Realization and Optimization for Video Transcoding
Based-on 15
Nie Yanping, Ye qinyun
(School of Information Engineering , Wuhan University of Technology, WuHan 430070)
Abstract: Encoding with standard can get smaller file, occupy less bandwidth and it
will become the mainstream in the cell phone videos gradually. Researching standard
and video transcoding have very realistic meaning and paper studies the IDR frame 20
mechanism in video transcoding technology, analyses UMHS fast searching algorithm, introduces
new searching steps and judgment of several IDR frame mechanism of
transcoding, in order to find a suitable mechanism,and put forward a quickly search optimization
algorithm of data proof that this new algorithm shortens the ME time,while
SNR value descends above mentioned two optimizations realized in 25
transcoding system performance and improve transcoding system performance.
Key words: Image Processing; IDR; UMHS
0 引言
数字视频实质上是每秒按照一定速度播放的数字图像,因此数字图像和数字视频具有很30
大的相似性,可以将数字视频归到数字图像一类中。用数字的方式进行图像处理,相比模拟
的方式具有十分明显的优势。在存储方面,模拟图像存储容易随时间和使用次数引起图像质
量下降,传输方面,模拟传输方式基本不具备抗干扰能力,信号容易收到干扰,特别是在人
为干扰情况下,模拟传输将无法进行。在编辑方面,模拟图像每次编辑基本是一次性的,而
且基本上是线性的,很难按照要求对任意部分进行编辑。因此,目前在图像处理方面,模拟35
方式基本退出历史舞台了。目前主流的手机视频文件有 3GP、AVI、mp4 等。其中 3GP 采
用 的编码方式,文件小,占用带宽少,逐渐成为手机视频的主流。随着芯片和
液晶显示技术的发展,使用 PMP(便携式媒体播放器)观看影视也正成为流行的休闲方式,
硬盘式 PMP 体积大,耗电多,逐渐被淘汰,闪存式 PMP 成为主流。主流的 PMP 的闪存大
小为 8G 左右,因此也迫切需要视频文件使用占用空间小的编码标准。 40
- 2 -
中国科技论文在线
本文根据视频转码的需要研究其中的 IDR 帧机制,优化 UMHS 算法,提出了合理的 IDR
帧机制,引入阈值判断方式,得到了更快速的搜索方式。
1 数字视频标准介绍及转码的目的和意义
MPEG-1
MPEG-1 是 MPEG(运动图像专家小组)于 1993 年制定发布的一种视频标准,一般速45
率在小于 1Mb/s,90 年代我国常见的 VCD 播放机及光盘就是采用这种标准,目前已基本淘
汰,但其中的宏块、帧、运动补偿、IBP 图像等概念在后续的标准中得到了继承和改进[1]。
MPEG-2
MPEG-2 是 MPEG(运动图像专家小组)于 1995 年制定和发布的一种视频标准,编码
码率范围较大,可达到 3M~100Mb/s,一方面是对图像质量的要求,一方面是计算机和芯片的50
发展可以满足这些苛刻要求。并且相对 MPEG-1,适用范围更广,不但常见的 DVD 可以采
用这样的标准,而且可以适用于数字电视和高清电视,也可以应用于网络视频点播和 ATM
宽带通讯网[1]。
是 ITU(国际电信联盟)于 1995 年提出的一种视频编码标准,主要适用于低码55
率网络视频中,在 的基础之上改进而成,同时兼顾了 MPEG-1 和 MPEG-2 的优点。
具备下面四种新增特性:1、允许使用更大的运动矢量,2、熵编码中使用了基于语义的算术
编码,3、允许 4 个 8×8 块分别搜索运动矢量,4、引入 PB 帧模式。最大支持分辨率达 16CIF
(1408×1152)[2]。
MPEG-4 60
MPEG-4 是 1999 年初由 MPEG 组织正式提出的一套视频编码标准,相对于 MPEG-1 和
MPEG-2,MPEG-4 更有利于具有交互性和灵活性的多媒体系统,主要使用对象是视频电话、
视频邮件、视频监控等速率要求不高的场合。MPEG-4 是基于对象的编码,引入了 VOP(Video
Object Plane)的概念[2],这是 MPEG-4 独有的概念。将整个图像视作为一个视频对象平面。
在低带宽时采用灵活的码率控制方式,对用户不感兴趣的部分可以少分配码率,从而使图像65
的整体主观质量得到了加强。视频对象 VO 可以是传统的矩形框,也可以是某一个物体,编
码时首先由输入的视频系列与用户的交互形成一个个 VOP,每个 VOP 分别编码,最后将
VOP 编码结果写入码流之中,根据 VO 的特点,可以提出基于形状、运动、纹理等 MPEG-4
所特有的编码技术[2]。
VC-1 70
Microsoft 公司于 2006 年初提出和发布一种名为 VC-1 视频编码标准, VC-1 基本是原
来 Microsoft 公司的 WMV 基础上改进而成,也可以封装在 WMV 中。VC-1 借鉴了以前的标
准的很多优点。由于 Microsoft 公司的影响,得到了诸如华纳、环球、蓝光联盟等有影响力
的公司和组织的采纳和采纳意向。VC-1 达到了高清视频的标准。相对于 ,VC-1 在同
样图像质量条件下,压缩比略低,但计算量要小一些,因此有些性能稍微高一点的 cup 就可75
以完全解码 VC-1 的高清视频,流畅度相对高一些。但 VC-1 并不公布源码,只能由 Microsoft
公司一家授权,而且 VC-1 相对于 在技术层面并没有明显的优势。VC-1 与 相
- 3 -
中国科技论文在线
互竞争,任何一方暂时不能取得绝度的优势。
2001 年 12 月 ITU-T 和 MPEG 联合成立一个名为 JVT 的组织,2003 年 JVT 提出了这个80
名为 的视频压缩标准,由于是两个组织共同开发的所有也被称作是 MPEG-4 第
10 部分。相对于前面的标准, 是一种比较新的标准,而且不断引入新的提案和
算法,标准得到了不断的更新和改进[3]。
视频转码的目的和意义
随着 3G 的发展和普及,手机电视、电影成为一种流行的娱乐方式。目前主流的手机视85
频文件有 3GP、AVI、mp4 等。其中 3GP 采用 的编码方式,文件小,占用带宽
少,逐渐成为手机视频的主流。随着芯片和液晶显示技术的发展,使用 PMP(便携式媒体
播放器)观看影视也正成为流行的休闲方式,硬盘式 PMP 体积大,耗电多,逐渐被淘汰,
闪存式 PMP 成为主流。主流的 PMP 的闪存大小为 8G 左右,因此也迫切需要视频文件使用
占用空间小的编码标准。因此研究 标准及视频转码具有非常现实的意义和需求。 90
2 IDR 帧的分析与研究
IDR 是 Instantaneous Decoding Refresh 的缩写,是指立即解码刷新,只有 I 帧才能做 IDR
帧,但不一定所有 I 帧都是 IDR 帧。I 帧与 IDR 的区别在于:I 帧之后的图像可以参考 I 帧
之前的图像,而 IDR 帧之后的帧不能再引用 IDR 帧之前的帧。加入 IDR 帧的目的在于使解
码重新同步,当 IDR 帧出现时,解码器将引入的参考帧的数据清空,重新形成一个全新的95
系列,如果没有 IDR 帧一般将第一帧看做是 IDR 帧,可以看成是一个视频系列的开始[4]。
但过多引入 IDR 帧之后,将使编码运算更加复杂,IDR 帧属于 I 帧,数据量相比较大,
目标文件可能增大,失去了视频压缩的应有意义[4]。因此,引入 IDR 帧应该视情况而定。下
面是视频系列在引用不同 IDR 帧下的效果分析比较。在 JM 软件中改变 IDR 间隔参数,设
定每间隔 2,4,8,16,32 帧加入一个 IDR 帧,其他使用默认值,使用 JM 工具仿真,以视100
频系列 foreman 为例。
编码 100 帧,仿真结果如表 1:
表 1 IDR 帧间隔
Tab. 1 IDRFrame Distance 105
IDR帧间隔/帧 编码时间/s 文件大小/k PNSR/db
2 104
4
8
只编码一帧 IDR
62
49
36
- 4 -
中国科技论文在线
0
50
100
150
200
250
300
350
400
2 4 8 100
编码时间
文件大小
图 3 编码时间与文件大小关系图 图 4 PNSR 关系图
由图 3、图 4 可知,随着 IDR 帧的增加,文件变大,峰值信噪比越来越高,在文件大小110
和图像质量之间,应该考虑一个平衡。
本文采用一种随机访问 IDR 帧的机制,在间隔插入 IDR 的基础上,随机再插入一些 IDR
帧,这样在观看视频时,如果直接拖动滚动条到随机位置,那么由于随机插入了 IDR 帧,
这样解码的时候容易找到 IDR 帧,提高解码速度。 is_idr=establish_random_access
(p_Inp,p_seq_struct,curr_frame,p_seq_struct->curr_num_to_populate - proc_frames, 0 );使用 rand115
()函数产生随机数,使用随机数函数与总的宏块数的相除取余的值,pos = rand() %
NumberOfMBs;避免了位置值超出系列之外,intra |= RandomIntra (img->current_mb_nr),强
制伪随机 IDR 帧 Forced Pseudo-Random Intra。
3 UMHS(非对称十字型多层次六边形格点)混合搜索法
在 编码中寻找最佳匹配宏块是很重要的一步,在图 5 中可以看到运动估计120
时间 ME(motion estimation)占编码总时间的 50%以上,特别是双向预测的 B 帧。在前向和
后向的帧中的宏块中搜索,要耗尽大量的时间。采用 Full search 的方式显然更加准确,但是根
据大量的实验证明,编码消耗时间是其他搜索法的几倍,而且 PNSR 提高不明显,现实意义
不太[5]。UMHS 混合搜索法是 JM 中的一种比较快速的搜索法,但缺点也很明显,搜索速度
方面仍差强人意[4]。本文根据 UMHS 的基础理论进行优化改进。 125
图 5 编码过程参数图
UMHS 搜索法如图 6 所示:第一步寻找起始搜索点,搜索费用最小的运动矢量的点。130
采用公式: min arg[min ( , )]motion
i
m J mim λ= 来找到起始搜索点,误差匹配函数为:
- 5 -
中国科技论文在线
( , ) ( , ( ) ( ))motion motionJ MV SAD s c MV R MV PMVλ λ= + × − 其中第二步是采用不对称的十
字交叉搜索,所谓非对称是指根据自然界中的现象,由于重力作用,自然界的物体运动,一
般局限在平面之内,水平方向上运动比垂直方向上的运动剧烈一些,因此 X 轴上搜索的宏
块要比 Y 轴上多一些,第三步依次采用小矩形窗和六边形格点搜索,同样是非对称的,矩135
形搜索不到,转入六边形形搜索,第四步采用扩展的六边形搜索[5]。
图 6 UMHS 搜索过程图
Block_type 信息利用
原始算法中的 Block_type 信息利用方式比较粗糙,不同的 Block_type 在 UMHS 搜索中140
步骤可以进行改进。搜索策略为:如果当前宏块 Mode 为 7,那么可以直接进入 UMHS 中的
第四步,进行六边形搜索法,采用 4×4 模块直接进入第四步,实质上,8×8 以下的宏块在
SAD 计算中至少增加了 48 次加法计算而已(计算机中一般用加法或位移代替其它运算),
运算开销没有增加很大,因此可以把 8×8 模式一下的宏块直接加入到第四步中。设置采用
goto 判断语句,直接跳到 step2,进行扩展的六边形搜索。 145
当 block 模式不为 1 时,可以复用上层宏块模式来预测 SAD 的值,通过调整参数的方
式,进一步减少 SAD 的运算量,
阈值判断改进
原始算法中采用 min arg[min ( , )i motion
i
m J mm λ= 作为判断起始搜索点提前截止条件,搜索
满足条件的运动矢量,条件不满足是跳到更大的宏块。如果增加阈值函数,那么计算量将减150
少。本文采用 threshold 变量判断,将当前帧和参考帧的 SAD 值作为阈值判断依据,根据大
量实验数据统计,绝大部分的 SAD 值不大于 1800,因此可以将阈值为 2000[6],采用 betasec
和 betathird 变量更新参数进行控制,在超过阈值时,直接跳过第一步,不必进行费用计算。
- 6 -
中国科技论文在线
为进一步简化计算,在计算 SAD 中加入 if 判断语句,设定最优的 SAD 值(mincost)作为
判断标准,满足条件时,跳出循环,减少了不必要的计算量。 155
4 仿真测试与结果分析
实验使用 JVT 组织发布的仿真软件 进行仿真,为公平起见,选择运动剧烈和运
动平缓的不同视频系列,以 football 系列(运动极为剧烈)、waterfall 系列(运动极为平缓)、
coastguard 系列(运动适中)作为仿真视频系列。主要观察 Total ME 时间,Total ME 是衡量
运动估计时间的主要指标。并比较 Y、U、V 三个分量的 SNR 值。因为人眼对亮度的敏感160
性超过色度,因此以亮度分量 Y 的 SNR 值作为主要指标,色度 SNR 只取 U-SNR 作为色度
代表。为体现运动估计,B 帧双向预测,运动估计计算量更大,采用 IPBPBPB 帧的编码形
式。
表 2 运动估计测试结果
Motion Estimation Test Results 165
系列名称 Y-SNR I/db U-SNR I/db Totaltime/ms ME/ms
Waterfall
Waterfall (improved)
443235
438076
212562
206552
Coastguard
Coastguard (improved)
Football
Football (improved)
540703
534324
506327
499141
298310
289689
285885
270317
通过表 2 可以直观的看出,ME 时间具有明显下降,而 Y-SNR 值基本变换不大,增加
或减少 左右, 以内的减少对于 CIF 视频肉眼并不能明确区分,属于正常范围。
将上述改进引入至视频转码系统中,以富士相机拍摄的无压缩 AVI 文件作为原始文件,
生成目标文件。图像质量对比如图 7、图 8: 170
图 7 原始文件 图 8 目标文件
图像质量基本不能用肉眼分辨,然而文件大小降至源文件大小的58%左右,表明改转码175
系统实用性较强。
5 结束语
在认真分析 IDR 帧机制及 UMHS 搜索算法的基础上,得到了一种均衡的 IDR 帧机制和
速度提高了的 UMHS 改进算法,在视频转码系统中采用这两种改进,提高了转码速度和降
低了目标文件的大小,具有一定的实际应用价值。 180
- 7 -
中国科技论文在线
[参考文献]
[1] 张立科. Visual c++音视频编解码技术及实践[M] 北京: 人民邮电出版社, 2006
[2] 宋坤 刘锐宁 马文强. Visual c++ 视频技术方案宝典[M] 北京: 人民邮电出版社, 185
[3] 毕厚杰.新一代视频压缩编码标准 北京:人民邮电出版社,
[4] 汪霞.AVI 文件视频流到 编码转换研究与优化设计[D].武汉:武汉理工大学,2008
[5] 白茂生,田裕鹏,田晓冬. 基于 UMHexagonS 的快速帧间模式选择算法[J]. 计算机应
用,2007,27(9):2150- 2152.
[6] 黄庆春,邱晓彬.基于 x264 的快速运动估计算法优化[J].控制工程,2010,17(6) 820-848 190