基于DSP平台的快速H.264编码算法的设计

发布者:dst2015最新更新时间:2009-02-24 来源: 现代电子技术关键字:DSP  编码算法  视频压缩编码  编码器  ARM 手机看文章 扫描二维码
随时随地手机看文章

    标准H.264/AVC是由ISO/IEC和ITU-T组成的联合视频专家组(JVT)制定的,他引进了一系列先进的视频编码技术,如4×4整数变换、空域内的帧内预测,多参考帧与多种大小块的帧间预测技术等,标准一经推出,就以其高效的压缩性能和友好的网络特性受到业界的广泛推崇。特别是在2004年7月JVT组织做了重要的保真度范围扩展的补充后,更加扩大了标准的应用范围,但同时巨大的运算量却成为其广泛应用的瓶颈。考虑到H.264协议实现的复杂度,本文的思路是:一方面提高硬件处理速度和能力,采用TI公司最新的数字媒体处理器Davinci TMS320DM6446 芯片作为H.264实现的硬件平台,另一方面提高算法效率。最后提出一个基于这个芯片的嵌入式H.264的设计方案。

  1 硬件平台

  1.1 Davinci DM6446芯片介绍

  DM6446采用+的双内核结构(内核图见图1),其中的芯片的时钟频率可达594 MHz,的引入可以释放在控制方面的部分功能,使专门进行数据处理的工作。芯片采用增强型的哈佛结构总线,其内部有2个数据通道,8个32 b的功能单元,2个通用寄存器组(A和B),可同时执行8条32 b长指令。如果能充分利用这8个功能单元,总字长为256 b的指令包同时分配到8个并行处理单元,在完全流水的情况下,该芯片的指令吞吐量将达到594×8=4 752 MIPS。处理器具有双16 b扩充功能,芯片能在一个周期内完成双16 b的乘法、加减法、比较、移位等操作。该芯片内部支持两级Cache,其中第一级32 kB的程序缓存器L1P,80 kB的数据缓存器L1D,而第二级的Cache大小是可配置的64 kB,芯片自动完成这两级Cache之间数据一致性的维护。有了这两级Cache的支持将使的执行速度大大加快。

 

  Davinci DM6446具有专用的视频图像处理子系统。视频处理子系统包括1个视频前端和1个视频末端,视频前端的输入接口用于接受外部传感器或视频译码器输出的BT.656等图像输入信息;视频末端输出接口输出图像,实现图像本地重现。

  视频前端输入(VPFE)接口由1个CCD控制器(CCDC),1个预处理器,柱状模块,自动曝光/白平衡/聚焦模块(H3A)和寄存器组成。CCD控制器可以与视频解码器CMOS传感器或电荷耦合装置连接。预处理器是一个实时的图形处理器。

  1.2 H.264硬件平台

  本系统的平台核心处理芯片为Davinci DM6446,如图2所示,片外RAM选取两片DDR并联成32位的数据宽度,空间为256 MB。模拟视频信号在“VIDEO IN”引入后经过解码芯片TVP5146变换为数字信号后输入TMS320DM6446芯片中进行处理,H.264编码处理后的码流可以通过视频末端输出保存在本地硬盘上,以方便调试检查。或者可以通过10/100 M以太网物理层接口输出,进行网络传输。同时,本地的重构图像可以通过TMS320DM6446芯片内部OSD模块和编码模块D/A变换后直接显示输出。

 

  2 H.264结构与编码流程

  2.1 H.264结构

  如图3所示输入的图像以宏块为单位进入中,根据图像变化的快慢选择帧内或帧间预测编码。如果选择帧内预测编码,首先判断当前待编码块中是否包含很多的细节,再决定是否要把帧进行再分割。接着以重建帧μF′n中的块为参考,结合当前块周围块的预测模式,选择当前块的最佳预测模式。最后由重建帧μF′n中相应块和当前块选定的预测模式得到当前块的预测值。按照上述方法,对图像中的每一宏块作出帧内预测,进而得到一帧图像的预测值P。如果选择帧间预测编码,当前输入帧Fn和前一帧(参考帧)Fn-1被送到运动估计器(ME),通过块搜索,匹配可以得到当前帧中的各宏块相对于参考帧中对应宏块的偏移量,也就是常说的运动矢量。接着,参考帧Fn-1和刚得到的运动矢量MV被送到运动补偿器(MC),通过计算得到帧间预测值P;当前帧Fn和帧预测值P相减,得到残差Dn,经过变换,量化后产生一组量化后的变换系数X,再经过熵编码,与解码所需的一些边信息(如预测模式量化参数,运动矢量等)一起组成一个压缩后的码流,经NAL(网络自适应层)供传输和存储。

 

2.2 编码流程

  如图4所示为H.264主流程。对输入的一帧图像首先进行单元划分:以宏块为基本单元进行划分,再由若干宏块在组合成Slice,由Slice再组合成Slice Group,这样每个宏块所属的Slice和Slice Group也就确定了。再判断输入的一帧图像是I-Frame还是P-Frame。在以上工作完成后,也就可以对每个宏块进行编码了。在对每个宏块都编码完成后,还需要对重构图像进行1/4象素精度插值处理、参考帧缓冲区插入处理等工作。至此,编码一帧的工作才算完成。

 

  3 运动估计模式快速率失真决策

  为了减少图像序列的时间冗余,达到更好压缩效果的目的,H.264/AVC编码方案采用运动补偿技术和预测。即由先前已编码的一个或多个帧产生当前编码帧的一种预测模式,然后再进行预测编码。且采用了一种可变块尺寸的运动预测模式,亮度块尺寸的范围从16×16变化到4×4,其中包含很多可选模式,形成了一种树形结构的运动预测。对于I帧(包含帧内4×4、帧内16×16),对P帧(包含帧内4×4、帧内16×16、SKIP模式、帧间16×16、帧间16×8、帧间8×16、帧间8×8、帧间8×4、帧间4×8)同时还为P帧和B帧提供了特殊的SKIP模式,总共11种模式。这些可选模式的存在使得编码方式更加灵活,编码精度相对于固定尺寸块预测要高很多。然而,可选的帧问预测模式增加了,必然会使得运算复杂度增加,因此有必要采用一种高效的决策方法来选取块尺寸组合方式,使得编码效率和编码质量均佳。

  3.1 拉各朗日代价函数

  引入拉各朗日代价函数如下:

 

  其中D表示重构恢复图像相对于原始图像间的失真;R(si,m)表示对宏块编码后数据及相关参数在码流中所占用的比特数,一般由编码统计得到,但对于SKIP模式,比特数默认为1比特;λ表示模式选择时所使用的拉各朗日乘积因子。

  对于运动估计,可使用拉各朗日代价函数作为选择运动矢量的判决标准。根据式(1)得到对一个采样块si进行ME判决的代价函数为下:

 

  该式返回产生最小代价值的最佳匹配运动矢量mi,其中M指各种可能编码模式的集合,m为当前选定模式,式(2)中R(si,m)是运动矢量(mx,my)所要传输(按熵编码)的比特数。D(si,m)表示对图像宏块的预测误差,对于该预测误差的计算有两种方案:当预测误差选择是绝对误差时用(SAD)表示,如式(3);当预测误差选择是平方差时,则用SSD表示,如式(4)中:

 

  其中A为当前编码宏块。在使用多参考帧进行运动估计时,mi表示所选用的最佳参考帧。在进行运动搜索时,对块si先是进行整象素精度的运动搜索,以取式(1)最小值为匹配标准,得到整象素精度最佳匹配点后,以同样的方法进行1/2,1/4象素精度的匹配搜索。同时在多个参考帧内作同样的操作,将所得的函数代价进行比较得到最小值,也就找到了s,块的最佳匹配的运动矢量mi。

  3.2 快速预测模式判断算法

  快速算法相对于拉各朗日代价函数算法,可分以下两步实现:

  (1)以基于预测模式的方式计算代价函数J,但是这里采用简化的计算方法,对每一种采样模式进行分行交错隔点采样,如对8×8块内象素进行下采样,采样如图5所示。

 

  然后对采样点计算SAD,记做SADi。仅对采样点计算的拉各朗日代价函数如下:

  J=[SAD(si,m)+λ?R(si,m)]

  先对上述各种模式分别计算代价函数J,然后选择代价最小的3种模式构成候选模式集。

  (2)对步骤(1)所得到的候选模式集中每个模式,按照式(1),通过计算基于率失真的代价来实现基于RDO的模式选择,也即C值最小的模式作为最终预测模式。

  4 测试结果与结论

  目前,基于DM6446平台上设计的以上H.264系统己基本完成,我们选择了几个常见的视频对该进行了性能测试,测试数据如表1所示。数据表明本H.264能够正常工作,且表现出较好的压缩性能。当然该只实现了H.264协议的基本档次的部分,而且尚未进行更专门的优化过程,而协议的其他部分,由于其复杂性,则需要进行进一步研究,沿着这个方向,视频还可以进一步压缩。

关键字:DSP  编码算法  视频压缩编码  编码器  ARM 引用地址:基于DSP平台的快速H.264编码算法的设计

上一篇:嵌入式系统的系统测试方法和可靠性评估
下一篇:基于TMS320LF2407的馈线终端装置设计

推荐阅读最新更新时间:2024-05-02 20:46

ARM汇编伪指令 .word
经常碰到那些以“.”打头的一些令人头疼的伪指令, 至于.globl _start .balign .align .data .text等等就算了,最最bt的如下: _undefined_instruction: .word undefined_instruction 这个.word令人费解。网上的技术人员都不屑回答,说请参考GNU ASM。我去看了,对于.word解释如下: http://tigcc.ticalc.org/doc/gnuasm.html#SEC49 .word Syntax: .word expressions This directive expects zero or more expressions, of
[单片机]
ARM联合创始人:若英伟达收购arm将会导致灾难性后果
ARM联合创始人Hermann Hauser对BBC表示,他认为英国政府应该进行干预,如果将ARM卖给英伟达将是灾难性的。 Hermann Hauser是CPU公司(Cambridge Processing Unit)的创始人之一,1979年,CPU公司改名为Acorn计算机公司。Acorn便是ARM的前身。 Hermann Hauser表示,英国政府应该帮助ARM重新成为一家独立的英国企业。 ARM突破性的IP商业模式,打造了一个基于ARM体系的全球生态链,几乎所有移动芯片均都依赖于ARM设计的架构。2016年,软银以320亿美元的价格收购了ARM,政府称这是对脱欧后的英国投下的信任票。 但Hauser博士
[嵌入式]
<font color='red'>ARM</font>联合创始人:若英伟达收购<font color='red'>arm</font>将会导致灾难性后果
一种DSP芯片外围电路典型设计
引 言 DSP(数字信号处理器)芯片是一种能够实时快速地实现各种数字信号处理算法控制的微处理器,已经在通信与信息系统、信号与处理、自动控制、雷达、航空航天、医疗等许多领域得到了广泛的应用。 目前生产DSP芯片的厂家主要有TI公司、AD公司、Motorola公司等。其中TI公司推出的TMS320C2XX系列是继TMS320C2X和 TMA320C5X之后的一种低价格、高性能16位定点运算DSP。TMS320F206是2XX系列的代表之一,性价比高,应用广泛,目前已成为高档单片机的理想替代。TMS320F206的性能特点如下:指令周期达25 ns;可寻址64 k程序空间、64 k数据空间、64 k I/O空间以及32 k全局存储空
[嵌入式]
基于DSP的数码相机中的MPEG-4压缩方案
  虽然数码相机(DSC)投入市场仅几年时间,但已经使消费类电子成像业发生了翻天覆地的变化。目前,全球售出的相机中大约有三分之一是数码相机,而且其份额还在稳步上升。随着多兆象素DSC生成分辨率越来越高的图像而开始挑战传统的胶卷像机,消费类DSC也正提供智能化操作模式,帮助用户在各种条件下都能拍摄出更好的照片。视频模式也已经成为消费类DSC的标准功能,使用户能够快速拍摄多个照片,以便选择更好的快照,同时也使他们能够保存重大事件的简短剪辑。此外,DSC也开始与手机集成在一起,实现静止图片与剪辑随时随地的快速传输。   随着瞬息万变的DSC市场不断分化,开发商必须不断充分利用技术创新的优势来细分其产品。当今其中一项创新就是在基于高性能
[手机便携]
基于<font color='red'>DSP</font>的数码相机中的MPEG-4压缩方案
九寨沟、新疆地震突如其来,地震仪到底发展到啥程度了?
这两天,想必大伙一定被两则地震消息给刷屏了,一个是08月08日21时19分发生在四川阿坝州九寨沟县发生7.0级地震;另一个是8月9日7时27分,在新疆博尔塔拉州精河县发生 6.6级地震。有网友疑问,为什么 地震仪 不能提前预测并大幅度减少伤亡呢?地震仪的技术到底发展到什么程度了?   今天的《 方案馆 》,与非小编就和大伙说一说关于地震仪的故事。   发展史 说到地震仪,不知道大伙是不是和小编一样,“张衡”两个字瞬间跳到眼前。张衡是我国东汉时代的科学家在公元132年就制成了世界上最早的“地震仪”,准确的说是 地动仪 。此仪器据说能判定地震发生的方位,那个没有电子仪器的年代,这玩意当真有用吗?     地动仪的核心部件就是一个青
[嵌入式]
利用DSP技术与软件的企业IP电话解决方案
引言     从最初的概念展示,一直到目前的广泛应用,VoIP(Voice over IP)市场的成长可说极为快速。透过VoIP网关的实际安装布署,下一代的电信厂商不但已经开始提供全球性的IP电话服务,其成本也低于传统的通话方式。事实上,只要利用现有的分组交换网络基础设施,然后再使用IP电话网关以及客户端设备,厂商就可大幅降低电话服务的成本,这包括了语音与传真服务。今天,在所有实际应用的VoIP解决方案中,几乎都可以看到数字信号处理器(DSP)的踪迹,在这些解决方案的成功经验中,DSP芯片与软件都扮演了极为重要的角色。目前,许多企业的电话系统都采用专用电话交换机设备,因此为了继续支持这些服务,下一代的IP电话产品也会
[嵌入式]
ARM CPU S3C44B0X与C54X DSP的接口设计
摘要:以SAMSUNG公司的ARM SOC芯片S3C44B0X和TI公司的TMS320C5416 DSP为例,讲述了ARM与DSP的数据接口技术,并结出了硬件连接图和软件代码。 关键词:ARM S3C44B0X 主机接口(HPI) TMS320C5416 后PC时代,嵌入式产品逐渐占领市场。而这些嵌入式产品的核心——处理器决定了产品的市场和性能。高性能、低功耗、低成本是嵌入式处理器的主要特点。在32位嵌入式处理器市场中,ARM占有78.6%的份额。而TI而占有DSP市场的绝大部分份额。通常的嵌入式系统设计中,由微控制器实现整个系统的控制,由DSP来执行计算密集型操作,然后通过一定的手段实现微控制器与DSP之间的通信和数据交换。
[应用]
东芝推出适用于电机控制的Arm® Cortex®-M4微控制器
进一步丰富TXZ+™族高级系列的M4K组,将代码闪存扩充至512 KB/1 MB 中国上海,2024年3月26日——东芝电子元件及存储装置株式会社(“东芝”)今日宣布, 采用Cortex®-M4内核并搭载FPU的TXZ+™族高级系列32位微控制器的M4K组新增8款新产品,闪存容量达512 KB/1 MB,同时提供4种不同的封装类型。 支持物联网的电机应用功能不断发展,需要更大的编程容量以及更好的固件OTA支持。 东芝新推出的M4K组产品将现有产品的最大代码闪存容量从256 KB扩充至512 KB /1 MB (具体容量视产品而定),RAM容量也从24 KB扩充至64 KB。 在容量提升的同时,其他特性也得以保留,包
[工业控制]
东芝推出适用于电机控制的<font color='red'>Arm</font>® Cortex®-M4微控制器
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved