0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

运动估计与运动补偿的H.263压缩算法分析和优化研究

电子设计 来源:电子技术应用 作者:余振建;周健;戴梅 2020-11-11 10:45 次阅读

运动图像远程实时传输系统的网络传输部分架构在Internet之上,而现阶段Internet的状况是带宽小、延迟大、不稳定。所以为了获得良好的实时传输效果,除了改善传输控制机制之外,还需要实现高压缩比、低耗时、能达到实时压缩和解压缩效果的运动图像压缩方法。H.263是国际电信协会-电信标准化部门ITU-T(The International Telecommunications Union-Telecommunication Standardization Sector)于1995年通过的用于低比特率实时传输的视频编解码协议。其设计初衷是满足带宽低于64kbps的低带宽视频应用需求,如视频会议、可视电话等。现在H.263也被应用于运动图像远程实时传输系统中,但原始的H.263在实时性和压缩比等方面还有不少可优化余地。本文针对具体的运动图像远程实时传输系统应用,在大量研究工作基础上提出多个H.263的优化策略,并取得了相当好的效果。

1 H.263压缩算法的分析概要

H.263的输入视频帧格式为QCIF(Quarter Common Intermediate Format,大小为176×144)、CIF(Common Intermediate Format,大小为352×288)等。将每个视频帧分成许多宏块(MB-Micro Block),每个宏块由4个Y亮度块、1个Cb色度块和1个Cr色度块组成。块(Block)的大小为8×8。H.263以宏块为单位进行视频帧的压缩。

H.263使用离散余弦变换DCT(Discrete Cosine Transform)减小空间冗余,使用运动估计和运动补偿(Motion Estimation and Motion Compensation)减小时间冗余。H.263有两种编码方式,一种是Intra方式,帧内编码,产生的帧作为关键帧-I帧;另一种是Inter方式,帧间编码,产生的帧作为非关键帧-P帧。

通过分析,将H.263压缩算法的流程图归纳为如图1所示。

通过分析和测试表明,DCT、运动估计和运动补偿是H.263最重要的部分,同时也是H.263实现中最耗时的运算环节。要提高H.263的运算速度,就要针对这些环节进行优化。

2 转换函数、DCT和运动估计环节的优化

2.1 色彩空间转换函数的优化

CIF格式基于YUV色彩空间,而应用程序中,大多数视频采集程序只提供RGB色彩空间的视频帧,因此需要建立从RGB色彩空间到YUV色彩空间的转换函数。

RGB到YUV的转换函数如下所示,其中Y为YUV色彩空间的亮度值,U(Cb)和V(Cr)为YUV色彩空间的色度值。

Y=0.299×R+0.587×G+0.114×B;

Cr=V=(R-Y)×127/179;

Cb=U=(B-Y)×127/226;

H.263原有的色彩空间转换算法采用浮点运算,但浮点运算会消耗较多的CPU周期。为了加快视频处理速度,采用整型乘法和向右移位来代替浮点乘除,从而有效缩短了转换时间。

优化后的转换函数如下:

Y=((R×313524)》》20)+((G×615514)》》20)×((B×119538)》》20);

Cr=V=((R-Y)×743962))》》20;

Cb=U=((B-Y)×589244))》》20;

2.2 DCT、IDCT算法的优化

二维DCT公式为:

通过分析得出,DCT快速算法的实现可以有两种方式。一种方法是把已有的快速变换算法(如FFT、FHT等)映射到DCT计算中,这种方式多了一个映射环节,增加了计算的复杂度;另一种方法是从DCT变换本身寻找规律进行改进。

在H.263应用中,注意到两条规律:一是能量集中在少部分DCT系数上;二是随着量化步长的增大,被量化为零的DCT系数增多,而且对DCT计算的精度要求降低。于是,采用一种零系数预测策略,即根据量化步长,首先对DCT变换的输入数据分类,对于给定的量化步长,如果输入数据将要被量化为0,那么这些数据就不必做DCT运算,而直接将变换结果置为0。这样只需对部分数据进行DCT变换,因此节省了大量无效运算。另外,利用DCT的局部并行性,使用Intel的多媒体处理指令集-MMX来实现DCT计算,大幅度提高了运算速度。

2.3 运动估计与运动补偿算法的优化

运动估计是指在参考帧中搜索一个与当前帧图像块最相似的图像块,即最佳匹配块,搜索结果用运动向量来表示。运动补偿是指利用参考帧和已求得的运动向量重构当前帧,把重构帧和当前帧的差值作为当前帧的补偿值进行压缩编码。两者互相配合,共同实现压缩效果。

运动估计算法的研究从两方面着手:快速搜索算法和块匹配准则。

最简单的搜索算法是全搜索法(FS),这种算法精度高,但计算量过于庞大。为了加快运算速度,保证精度,人们提出了很多快速搜索算法:三步法(TSS)及基于三步法的改进算法、二维对数法(LOGS)、交叉搜索法(CS)、四步法(4SS)、预测搜索法(PSA)、钻石搜索法(DS)等。钻石搜索法是迄今为止综合性能最优的快速搜索算法之一,用于本次项目研究中。

块匹配准则决定何时找到最佳匹配块,从而终止搜索进程。传统的准则有绝对平均误差函数(MAE)、互相关函数(CCF)、均方误差函数(MSE)、最大误差最小函数(MME)等。由于传统方法没有考虑人眼的视觉特性,所以判断结果和人眼的感知相差较大。实际H.263采用的块匹配准则为MSE的替代准则SAD(绝对差和),两者的公式如下:

其中:F0和F-1分别代表当前帧和重构帧(参考帧);k,l为待编码宏块在当前帧中的坐标;x,y为重构帧中参考宏块的坐标;N表示宏块的尺寸,此处为16。从公式中可见,SAD用绝对值运算代替了MSE的乘方运算,明显降低了运算量,从而可以加快计算速度。

测试表明,SAD的计算量要比MSE的计算量减少三分之一,而它们的图像效果相当。

此外,还可以利用硬件特性加速块匹配准则的运算速度,Intel的MMX技术提供了这种特性。SAD等块匹配准则主要针对短数据的重复计算,MMX增加了系统单个指令操作数据的数目(SIMD),从而可以在一个指令中完成多组数据的计算,实现并行机制,从而加快运算速度。

3 提高压缩比的选择

H.263提供了许多高级模式来提高视频压缩比。从对压缩效率的贡献角度看,大运动向量模式、高级预测模式、PB帧模式和增强PB帧模式是最重要的4个高级模式。

在大运动向量模式和高级预测模式下,运动向量可以指到图像边界以外,增大了运动向量的表达范围,从而在本质上提高了运动补偿的精度以改善编码效率。

基本PB帧模式下,一个PB帧是一个P帧和一个B帧组成的整体。当前P帧由前一个P帧预测得到,B帧则由前一个P帧和当前P帧预测得到(见图2)。PB帧模式在增加较少比特数的情况下,将帧率提高了近一倍。

增强PB帧模式的主要改进点在于预测方式的增强。基本PB帧模式对B帧图像(或宏块 )仅允许使用双向预测,而增强的PB帧模式对B帧图像则允许使用前向预测(见图3)、后向预测(见图4)和双向预测(见图2)三种手段。这样,在压缩过程中,有机会选择更合适的预测方法处理B帧图像(或宏块),从而提高B帧的压缩效率。基本PB帧模式的B帧只能通过双向预测获得,这对慢速运动图像效果较好。当输入运动图像存在快速不规则运动时,B帧质量会急剧恶化,而增强PB帧模式的B帧有三种预测方式可选,可以解决这一难题。通过分析和测试表明,增强PB帧模式比基本PB帧模式有更强的鲁棒性,更适用于运动图像远程实时传输。

大运动向量模式和高级预测模式由于增大了运动向量的表示范围,可以增强运动补偿的精度,从而提高压缩比;而增强PB帧模式引入B帧,有三种预测方式可以生成B帧,在相同帧率的情况下,将压缩比提高近80%,压缩效果明显。在实际程序设计中,笔者配合传输环境测试模块,在网络带宽较低时实现这三种方式的配合使用,发挥了更大的压缩效率,达到更高的压缩比。

4 实验数据和性能分析

4.1 算法优化测试

分别取100帧三种不同格式(SUB-QCIF:88×72,QCIF:178×144,CIF:352×288)的视频帧,每20帧取1个关键帧,视频帧质量取6000,比较优化前和优化后算法的时间效率,结果如(图5)所示。

纵轴单位为毫秒,表示压缩完成所需时间。可见,要处理的视频帧越大,优化后的算法取得的加速效果越明显。

4.2 增强PB帧模式压缩效果测试

分别取100帧三种不同格式(SUB-QCIF:88×72,QCIF:178×144,CIF:352×288)的视频帧,每20帧取1个关键帧,视频帧质量取6000,比较使用增强PB帧模式前和使用增强PB帧模式后算法的压缩效率,结果如(图6)所示。

纵轴为压缩比。要处理的视频帧越大,冗余信息越多,增强PB帧模式的压缩效果越明显。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10333

    浏览量

    206222
  • 视频
    +关注

    关注

    6

    文章

    1886

    浏览量

    71826
  • 传输系统
    +关注

    关注

    0

    文章

    135

    浏览量

    36995
收藏 人收藏

    评论

    相关推荐

    H.264标准详细介绍

    ,现列举如下。  1.多种更好的运动估计  高精度估计  在H.263中采用了半像素估计,在H.
    发表于 06-04 14:29

    针对硬件实现的h.264视频编码算法改进

    针对硬件实现的h.264视频编码算法改进针对硬件实现的视频编码算法改进上海交通大学图像通信与信息处理研究所 周怡吴昊方向忠摘要’ 从硬件实现的角度
    发表于 06-25 11:35

    H.263标准中文版

    H.263标准中文版建议说明了一个可以用来压缩包含低比特率情况下的有运动图象成分的视听服务的编码表示。视频信号编码的基本构造是基于ITU-T的H.261建议,它是通过帧间预测编码去除时
    发表于 06-25 12:49

    视频通信中的一种视频压缩传输方案

    了一个基于H.263协议的视频压缩传输方案,其目标是可移植性、低运算量和良好容错性。1 问题的提出  基于H.263的视频压缩中,运动
    发表于 09-19 09:33

    图像的编码标准

    H.263由于能在低带宽上传输高质量的视频流而日益受到欢迎。  H.263是基于数字硬盘录像机制造商运动补偿的DPCM的混合编码,在运动
    发表于 03-07 11:09

    H264视频编码技术

    H264视频编码技术  H.264压缩算法采用与H.263和MPEG-4类似的基于块的混和编码方法,采用帧内(Intra)和帧间(Inter
    发表于 08-10 14:53

    有关 基于FPGA的H264运动估计算法优化与实现 的问题

    大家好我是刚刚来这的实习生(拱手)。最近在看 基于FPGA的H264运动估计算法优化与实现 方面的东西,他提出了一个概念:运动矢量。这是如何
    发表于 04-28 11:51

    介绍一种基于H.264标准的快速运动估计算法

    本文介绍了一种基于H.264标准的快速运动估计算法
    发表于 06-03 06:27

    h.264码流结构/H.263的码流结构

    、H.264的码流结构H.264的码流结构和H.263的有很大的区别,它采用的不再是严格的分级结构。 a、H.263的码流结构H.263定义的码流结构是分级结构,共四层。自上而下分别
    发表于 08-19 13:46 59次下载
    h.264码流结构/<b class='flag-5'>H.263</b>的码流结构

    运动估计综述

    视频序列图像在时间上存在很强的相关性,采用运动估计运动补偿技术可以消除时间冗余以提高编码效率,这种技术广泛用于视频压缩的一些国际标准中,如
    发表于 08-25 13:09 24次下载

    基于DSP技术的H.263视频编码协议算法

    摘 要:对H.263编码原理进行了简单介绍,对运动估值中几种主要搜索算法的性能进行了分析比较,完成了H.263
    发表于 03-03 22:36 25次下载

    H.264视频压缩快速运动估计算法 DCS算法

    H.264是现有最重要数据压缩编码国际标准之一。 快速运动估计算法一直是视频压缩中的研究热点。本文针对一些快速
    发表于 06-25 11:50 1559次阅读
    H.264视频<b class='flag-5'>压缩</b>快速<b class='flag-5'>运动</b><b class='flag-5'>估计算法</b> DCS<b class='flag-5'>算法</b>

    机载双站SAR运动补偿研究

    与单站SAR 相比, 双站 SAR 的几何关系更复杂, 运动误差来源更多, 因而运动补偿难度更大. 本文提出了一种有效的双站SAR 运动误差的估计
    发表于 06-20 16:52 0次下载
    机载双站SAR<b class='flag-5'>运动</b><b class='flag-5'>补偿</b><b class='flag-5'>研究</b>

    基于UMHexagonS的运动估计算法优化

    针对UMHexagonS算法冗余搜索的问题,使用大十字搜索判定结果,改进原有的运动估计算法。改进算法判断最优点可能分布区域,使用相应改进搜索模板搜索,降低搜索点个数,达到避免冗余搜索的
    发表于 11-24 10:51 2次下载
    基于UMHexagonS的<b class='flag-5'>运动</b><b class='flag-5'>估计算法</b><b class='flag-5'>优化</b>

    一种基于H.264标准的快速运动估计算法

    关键词:估计算法 , 快速运动 H.264是现有最重要数据压缩编码国际标准之一。同时快速运动估计算法一直是视频
    发表于 10-08 07:00 354次阅读