论文部分内容阅读
在众多视频标准共存的现在,为了适应不同网络带宽以及终端用户的需要,视频转码得到了快速的发展。本文研究转码类型:1.非采样(空间分辨率不变)情况下,MPEG-2/MPEG-4到H.264的转码;2.采样(空间分辨率改变)情况下,MPEG-2/MPEG-4到H.264的转码;本文的主要研究内容以及研究成果如下:1.在熟悉MPEG-2、MPEG-4与H.264视频标准的基础上,阅读了MPEG-2、MPEG-4解码程序以及H.264编码程序,搭建了转码的空域与频域平台。在搭建空域平台时,研究了统计如编码帧数这类无法直接从解码端获得的信息的方法。在搭建频域平台时,详细描述了解码端P帧频域运动补偿以及编码端I帧与P帧亮度块与色度块频域运动补偿算法,研究了运动矢量超越图像边界时的频域运动补偿方法。2.分析和比较各种转码结构,指出了空域转码结构与频域转码结构各自的优劣,以及快速级联转码结构与漂移误差补偿转码结构的关系。通过理论分析与测试验证得出了漂移误差补偿结构实际是快速级联转码结构的特殊情况的结论。3.研究适用于MPEG-2/MPEG-4到H.264的转码算法,包括非采样情况下P帧的运动矢量映射、精细化以及帧间宏块模式选择算法;任意比例采样算法;任意比例采样情况下P帧的运动矢量映射、精细化以及帧间宏块模式选择算法。其中在运动矢量精细化与帧间宏块模式选择算法上提出了根据每个P帧的运动矢量统计来确定帧的活动剧烈性,然后再根据每帧的活动剧烈性来确定搜索算法、搜索范围、帧间宏块模式的方法。在对运动剧烈的帧进行局部范围搜索时,本文对六边形搜索算法做了进一步的改进。相比完全编码完全解码的级联转码,本文提出的算法可以节省50%以上的时间,图像质量仅下降0.1db左右,码率上升0%~5%。4.使用MMX指令优化代码中频繁出现的部分,在图像质量不会有任何损失前提下,转码时间可以节省原来的20%左右;尝试了在双核CPU条件下使用双线程编码,在下采样转码情况下完全节省了解码部分的时间。