基于ADSP-BF533处理器的H.264解码器

发布者:快乐飞翔最新更新时间:2007-02-07 来源: 单片机及嵌入式系统应用关键字:视频  像素  滤波  频率 手机看文章 扫描二维码
随时随地手机看文章

  引


  H
264ITU TVCEGISOIECMPEG联合成立的联合视频组JVT(Joint Video Tearn)共同制定的新视频编码标准,定位于覆盖整个视频应用领域。H264标准采用了基于可变大小宏块的运动补偿、多帧参考、整数变换、基于14像素精度的运动估计、去块效应滤波器等新技术,因而获得更好的压缩性能,同时也导致了运算量的大幅度增加。


  Blackfin
处理器采用了ADI公司和英特尔公司共同开发的微信号结构,在结构中加人专门的视频处理指令,工作频率高达756 MHz,能完成12OOM次/s乘加操作。与采用超标量结构或超长指令集的DSP(TIC6000系列)相比,Blackfin处理器在功耗、成本方面具有很大的优势,非常适合嵌入式的视频应用。

 

  1 H264视频编码标准


  H
264视频编解码器的基本结构与早期的编码标准(H263MPEG4)相似,都是由运动补偿、变换、量化、熵编码、环路去块效应滤波器等功能单元组成的。H264标准的改进主要体现在各功能模块内部。H_264的重大改进表现在以下几个方面:


  ①高精度的基于
14像素精度的运动预测。


  ②多种宏块划分模式。每个宏块
(16×16像素)的亮度分量有7种分区方法:16×1616×88×168×88×44×84×4


  ③多帧预测。在帧间编码时,可选
5个不同的参考帧。


  ④整数变换。采用基于
4×4像素块的整数变换代替DCT变换。


  ⑤
H_264AVC支持两种熵编码方法,即CAVLC(基于上下文的自适应可变长编码)CABAC(基于上下文的自适应算术编码)CAVLC的抗差错能力比较高,而编码效率比CABAC低;CABAC编码效率高,但需要的计算量和存储容量更大。


  ⑥帧内预测编码。
H264采用了多种设计合理的帧内预测模式,大大降低了I帧的编码率。


  ⑦网络适配层
NAL(Network Abstraction Layer)为视频编码层提供一个与网络无关的统一接口,使视频编码数据能适应不同的网络应用环境。


  H
264分为7种不同的框架(profile)——BaselineprofileMain profiIeExtended profileHigh profikHigh10 profikHigh422 profileHigh 444,分别代表不同的技术限制和算法集合。其中baseline prome的使用是不收版权费的。

 

  2 基于ADSPBF533的软硬件实现平台


  硬件平台采用
ADI公司的ADSPBF533 EZkit Lite评估板。此评估板包括lADSPBF533处理器,32MB SDRAM2 MB? FlashADVl836音频编解码器外接4输入/6输出音频接口,ADV7183视频解码器和ADV7171视频编码器外接3输入/3输出视频接口,1UART接口,1USB调试接口,1JTAG调试接口。评估板系统结构框图如图1所示。

 

  评估板上采用的ADSPBF533处理器,工作频率高达756 MHz。该处理器有以下特点:双16位乘法累加器;双40位算术逻辑单元(ALU)48位视频ALU140

位移位器;专用的视频信号处理指令;148 KB的片内存储器(16 KB可作为指令Cache32 KB可作为数据Cache);动态电源管理功能等。Blackfin处理器还包括丰富的外设和接口:EBIU接口(4128 MB SDRAM接口,4l MB异步存储器接口)3个定时/计数器,1UART1SPI接口,2个同步串行接口,1路并行外设接口(支持ITU656数据格式)等等。Blackfin处理器在结构上充分体现了对媒体应用(特别是视频应用)算法的支持。


  软件验证采用如下方式:首先,通过
DSP仿真器将H264编码文件拷贝到评估板的存储器里。然后,软件从存储器中读取编码文件的数据,进行解码操作。最后,将解码的数据通过PPI接口输出到ADV7171芯片,ADV7171芯片将输入的视频数据编码为PAL格式输出到显示器上二进行显示。


  Blackfin
处理器的软件开发平台是VisualDSP++40

 

  3 H 264实时解码器软件设计


  3.1
软件总体设计


  为了实现实时解码的要求,需要优化程序的设计。优化流程如下:


  ①在
PC机上进行算法的验证和评估、优化程序的流程设计和数据结构设计。


  ②将程序代码移植到
Blackfin处理器。在VisualDSP++集成开发环境里进行编译,删除PC平台相关的代码,添加DSP平台相关的代码。


  ③进行基于
DSP平台的优化操作。设置速度优化的编译参数,进行C语言级的优化,用汇编指令改写最耗时的函数,通过使用专用的向量指令和并行指令减少函数的执行时间。


  3.2
PC机上实现并优化解码器程序


  解码器程序参考了
JM96,并在以下方面作了优化:


  ①由于只支持
Baseline profile,删除有关B帧、SI片、SP片和数据分割等不支持特性的冗余程序代码;


  ②修正
JM96,每次处理一个Slice时都要分配内存,读取其中信息,再释放内存,合理安排内存空间的分配和释放;


  ③将
I帧、P帧分别独立解码,宏块解码也按预测模式和预测方向分成不同的解码模块,以省去中间的重复判断,提高解码速度;


  ④优化
CAVLC码表的查询方法。


  3.3
程序移植


  VisualDSP++
是一款支持Blackfin处理器的集成开发、调试环境,包括VisuaIDSP++内核(VDK)CC++编译器、高级图形绘制工具、调试工具、器件模拟器等多种功能;能够很好地支持在Blackfin处理器上用CC++语言进行开发工作。


  移植的第一步是除去所有的编译环境不支持的函数(例如某些时间相关的函数),将文件操作修改为读取文件数据缓存的操作,删除SNR信息收集和信息打印输出等DSP平台实现不需要的代码。第二步是添加与硬件相关的代码。这些代码包括系统初始化代码、输出模块代码、中断服务程序和解码速率控制程序等程序代码。


  移植完毕后,就实现了基于ADSP-BF533处理器的H_264解码器;但速度达不到实时解码的要求,还需要进行优化。


  3.4
基于DSP平台的优化


  基于
DSP平台的优化分为系统级优化、C程序级优化和汇编级优化。


  (1)
系统级优化


  打开编译器中的优化开关,设置为速度最优化;打开自动内联开关;打开“
Interprocedural optimization(过程间优化)开关;使用VisualDSP++编译器的PGO(ProfileGuided Optimization)优化编译技术。


  (2)C
程序级优化


  C
程序级的优化主要是针对BIackfin处理器的具体特点进行优化:


  ①编写链接描述文件,将经常用的数据存储在片内存储器,例如
CAVLC熵解码的码表;启用指令Cache和数据Cache,设置好启用Cache机制的指令地址和数据地址。


  ②将除法操作转换为乘法操作或者采用查表法计算。


  ③减少对片外存储器的访问次数。对于经常访问的片外存储器区域,设置
Cache使能,并可设置Cache锁定,防止被缓存的数据被替换,减少Cache未命中的几率。


  ④对于能够用较短的数据类型表达的数据改用较短的数据类型表达,例如原定义为
int类型的4×4逆整数变换的输人数据,实际上可以定义为short类型。


  (3)
汇编级优化


  汇编级优化通常遵循以下原则:

① 使用寄存器代替局部变量。如果局部变量用来保存计算的中间结果,那么用寄存器

代替局部变量可以省掉很多访问内存的时问。

 使用硬件循环代替软件循环。.Blackfin处理器有专用的硬件支持两级嵌套的零开销

硬件循环。用硬件循环代替软件循环可避免堵塞流水线,提高速度。

③ 使用并行指令和向量指令。使用并行指令和向量指令,可以充分利用Blackfin处理器的SIMD系统结构的优点和内部硬件资源的并行处理优点,减少指令执行次数和提高指令执行效率。使用1条并行指令同时执行2条或3条非并行指令。向量指令可以同时对多个数据流进行相同的加工操作。

④ 使用视频处理指令。视频处理应用可以使用Blackfin处理器专用的视频处理指令,提高执行效率。


  将最耗时的一些函数用汇编语言改写,充分利用
Blackfin处理器的S1MD结构的优点和硬件上的并行性,在一个指令周期内执行多个操作,减少函数执行需要的指令周期。最耗时的函数有宏块解码函数decode_one_macroblock、逆整数变换函数itrans、去块效应滤波函数EdgeLoop、滤波门限计算函数Get_Strength等函数。


  下面以
4×4矩阵逆整数变换函数itrans14像素插值滤波get_block(),说明用汇编指令优化带来的性能提高。4×4矩阵的逆整数变换函数itrans采用的是2级蝶形运算,先对4×4矩阵的每一行分别做行逆变换,再对每一列做列逆变换。一维变换采用如图2所示的蝶形算法。

Blackfin处理器的SIMD结构支持向量操作,最多可以在1个周期内完成416位的加法操作。它的并行指令能同时进行算术运算和两个数据的装载/存储操作。例如上述的蝶形运算可以用如下指令实现(设寄存器IO中保存了输人数据y[4][4]的地址,I2中保存了系数数组cof[2]={0x7fff0x4000}的地址,Il中保存了临时变量tmp[4][4]的地址,R2R1保存的是中问结果)

R7=[IO++]

Al=R6I*R71AO=R61*R71(IS)┃│I R5=

[10++]┃┃[││++]=R2

R4h =(A1一一R51*R61)R41=(AO+=R51*R61)(IS)││W[I1++]=R1h

R71=R61*R5h(IS)1 W[11++]=R11

R5=R7>>>1(v)

A1=R61*R5hAOR61*R51(IS)

R3h(A1+R61*R71) R31(AO =R61*R7h)(IS)

R2=R4+l+R3,R1=R4一│ R3


  完成一次一维逆变换只需
8条指令,算上函数调用的开销和其他一些辅助指令,完成一个4×4矩阵的逆整数变换时总共需要82条指令周期。表1是优化前、后的比较。


  get_block
函数对像素矩阵进行14像素插值操作。先用六阶滤波器进行12像素插值,然后用线性内插法进行l4像素插值。


  l
2像素b计算方法为:b=round((E5F+20G+20H5I+j)32)。示意图如图3所示。EFGHIJ是整数像素,bGH之问的12像素。

 

像素的亮度值为unsigned char类型,先利用并行指令可以在1个指令周期内将8个像素的亮度值读到寄存器,然后利用视频专用指令将4个字节解包到1个寄存器对(R1OR32)中去,利用向量指令在1个周期内进行2次乘加操作。通过视频专用指令、向量指令和并行指令的使用,减少了函数指令的指令周期数。

 

  4 实验结果


  在
EZKit533开发板上测试了解码器算法,对CIF格式(352×288)foreman测试序列,可以达到4550帧/s的解码速度;对CIF格式的mobile测试序列,能够达到40帧~44帧的解码速度。如果增加解码速率控制模块,可以稳定地实现以30帧/s的速率播放CIF测试序列。实验结果证明,在Blackiln处理器上实现H264实时解码器是可行的。ADI公司甚至声称可以在600 MtzBF533处理器上实现D1(720×576)格式的视频实时解码器。


  BIackfin
处理器有低功耗、低成本和高性能的特点。在Blackfin处理器上实现的H264视频解码器很适合用于IP机顶盒、可视电话、PMP(便携式媒体播放器)等嵌人式视频应用中。

关键字:视频  像素  滤波  频率 引用地址:基于ADSP-BF533处理器的H.264解码器

上一篇:AVS手机解码芯片成本不比H.264高
下一篇:首个多模手机电视芯片支持三种制式

推荐阅读最新更新时间:2024-05-03 19:17

5G基建提速,陶瓷滤波器产能供给能否满足需求高峰?
“新基建”带动5G基站建设再次进入提速阶段,供应链也随之迎来产业机遇。作为5G基站核心器件之一的滤波器,在5G商用和华为、中兴等5G设备厂商的推动下,国产滤波器厂商迎来新的机遇,加速了国产替代的步伐。 目前四大基站终端中,华为和爱立信倾向于陶瓷介质滤波器,中兴和诺基亚目前仍以小型化金属腔体滤波器为主。因陶瓷滤波器在小型化、轻量化、低损耗及性价比等优势,逐步成为主流方案,且自去年底已出现产能供不应求,当下5G基站部署提速或将带动陶瓷介质滤波器再次进入一个需求高峰。 滤波器产能能否支撑5G提速? 继2月22日工信部复工复产会议要求加快5G建设后,3月4日政治局会议再次强调加快在建项目建设进度,推动5G网络加快发展。 需要注意的
[手机便携]
新技术推升1400万像素图像传感器的性能
    CMOS成像技术创新者ApTIna公司日前发布了最新产品,其不断扩充的高性能图像传感器组合又添新成员。这款1400万像素的图像传感器融合了APTINA 公司最新的Aptina A-Pix 像素技术,低光灵敏度提高了近25%(与同等CCD相比),与上款1400万像素图像传感器相比,其静态图像捕捉的质量大幅提高。高速MT9F002传感器不仅使用了1.4微米像素技术,更配备电子影像稳定(EIS) 、数字影像重采样等先进功能。新款传感器还具备全高清摄影功能(1080p/60fps)、灵活的高速接口选项——包括4通道 HiSPi(高速串行像素接口)、并行接口或四通道MIPI I。凭借这些特点和功能,MT9F002解决方案可为新一代混
[模拟电子]
三星电子推6400万像素图像传感器,追赶市场
据BusinessKorea报道,三星电子推出业界最高分辨率的智能手机图像传感器。该公司于今(9)日推出了两款新的0.8微米(μm)像素图像传感器,一款是6400万像素三星ISOCELL Bright GW1,另一款是4800万像素ISOCELL Bright GM2。此外,三星还更新了了其0.8μm图像传感器阵容。 “在过去几年中,手机摄像头已经成为记录和分享我们日常生活的主要工具。”三星传感器业务执行副总裁Park Yong-in表示,“三星ISOCELL Bright GW1和GM2将为当前最流行的移动设备带来全新的摄影水平,并改变我们记录日常生活的方式。” 官方资料显示,ISOCELL Bright GW1是
[手机便携]
三星电子推6400万<font color='red'>像素</font>图像传感器,追赶市场
利用可编程逻辑实现高性能的罪犯抓捕系统
由于高科技工具成为抓捕罪犯的武器中越来越关键的部分,因此执法机构和安全专业人员不断寻求更快更方便的数据收集和解读方式就不足为奇了。针对这一领域的应用越来越复杂,必须适应不断演变的要求,并把成本控制在机构的有限预算范围之内。鉴于此,具有高性能、灵活性和高成本效益等优势的可编程逻辑( PLD )解决方案无疑是一种理想的解决方案。 两个大学生团队利用FPGA和嵌入式软核处理器开发了两个抓捕罪犯系统的原型,一个是带无线自动追踪摄像机的警车支持系统,一个是防止安全系统被突破的指纹识别系统。 盯住可疑对象不放-即使是高速情况下 当追踪行动启动时,警官只有很短的时间用来激活警笛、向控制中心作汇报并与其他巡逻队通
[嵌入式]
利用可编程逻辑实现高性能的罪犯抓捕系统
基于单片机高性价比频率计的设计与实现
1 系统测量原理 测量方法采用多周期同步测量法,保证了测量精度。 多周期同步测量原理与传统的频率和周期的测量原理不同,时钟信号(f0)经同步电路作用后与被测信号同步。主门 与主门 在时间T 内被同时打开,于是计数器 和计数器 便分别对被测信号和时钟信号的周期数进行累计。在T内,事件计数器的累加数为Na;时间计数器的累加数为Nb。再由单片机运算得出被测频率为(Na/Nb)×f。由于D触发器的同步作用,计数器 所记录的Na值已不存正负1误差的影响。但由于时钟信号与闸门的开和关无确定的相位关系,计数器 所记录的Nb值仍存在正负1误差的影响,由于时钟频率很高,正负1误差影响小,所以测量精度与被测信号频率无关,且在全频段的测量精度是均
[单片机]
基于单片机高性价比<font color='red'>频率</font>计的设计与实现
AT89C51单片机在电话远程控制器中的应用
随着通讯产业的发展,电话机已经走进了千家万户,利用电话机进行远程控制的技术也日益用于生活中,本文设计了一种电话远程控制系统,该系统主要应用于电话遥控控制的家用电器,用户在户外可通过任意一部双音多频电话(包括手机、电话分机),根据语音提示,可以对各种电器(如电饭锅、微波炉等电器)进行远程控制。   1 系统结构 此系统主要包括电话振铃检测电路,电话自动拾机和挂机电话,DTMF信号解码电路,语音提示电路,以及音频放大电路,系统结构框图如图1所示。 当有电话呼入时,电话振铃检测电路检测到有振铃并等待系统默认的振铃次数后,控制器自动拾机。用户在语音提示下依次输入用户的操作密码和操作指令。DTMF解码电路将接收到的DT
[单片机]
一种节能型视频监控终端的设计
  摘要: 设计了一种节能型视频监控终端。该终端以 TMS320DM642 芯片为核心,在 摄像头 、图像解码芯片 TVP5150 、红外 传感器 等外围芯片的协助下, 能有效监控区域人员出入情况, 并仅在有人员进入监控区域时才开始视频图像的采集、处理、传输等,既达到了监控目的,又节约了部分电能。   视频 监控系统 越来越多地走进人们的生活, 系统节能也是 电子 系统必须考虑的一个重要参数。对一个少有人出入的场合, 采用不间断的实时监控不仅没有必要,也会浪费很多的电能。针对这种情况, 本文设计了一个无人值守的智能监控终端。在没有人进入监控区域时,监控终端处于低能耗的休眠状态; 当 红外传感器 检测到有人进入监控区域时, 终端被唤
[安防电子]
一种节能型<font color='red'>视频</font>监控终端的设计
IEEE802.16-2004 WiMAX物理层操作和测量
802.16-2004标准描述了四种不同的空中接口。其中一种接口标准是针对NLOS,RF频率小于11GHz和距离达到30km的无线通信而优化的。许多人都把它称为WiMAX空中接口,其基本特性是256载波OFDM,带宽范围为1.25-20MHz,载波频率最高达11GHz。本文是安捷伦科技有限公司专门为需要全面了解802.16-2004定义的256载波OFDM空中接口基本RF特性,以及使用Agilent测试解决方案实现的RF参数测量技术的工程师编写的应用指南。 802.16-2004标准描述了四种不同的空中接口。其中一种接口标准是针对NLOS,RF频率小于11GHz和距离达到30km的无线通信而优化的。虽然标准把这一物理层正式命名为Wi
[网络通信]
小广播
最新家用电子文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 电视相关 白色家电 数字家庭 PC互联网 数码影像 维修拆解 综合资讯 其他技术 论坛

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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