单片机信息网:深圳市今科电子有限公司
网站地图 RSS订阅
高级搜索 收藏本站
会员中心 欢迎投稿
首页 | 业界动态 | 解决方案 | 技术文献 | 下载中心 | 单片机学习 | 单片机原理 | 单片机编程 | 单片机设计 | 单片机开发 | 技术专题 | 单片机论坛 |单片机博客| 联系我们
单片机新闻 | 单片机学习 | 单片机编程 | 单片机设计 | 单片机开发 | 单片机原理 | 单片机解密 | 芯片解密 | IC解密 | 单片机方案 | 51单片机 | AVR单片机 | PIC单片机
单片机程序实例大全 | 潜入式系统 | PCB设计 | 单片机资料下载 | 工具/软件下载 | 技术经验分享 | 单片机技术人生 | IC资料下载 | 数字电路 | 模拟电路 | 单片机空间
当前位置:主页>嵌入式系统>文章内容
一种基于DSP平台的快速H.264编码算法的设计
来源:单片机信息网 作者: 发布时间:2008-06-14 阅读次数: 【大 中 小】【收藏本文】 【打印

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


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

  1 硬件平台

  1.1 Davinci DM6446芯片介绍

  DM6446采用DSP+ARM的双内核结构(内核图见图1),其中的DSP芯片的CPU时钟频率可达594 MHz,ARM的引入可以释放DSP在控制方面的部分功能,使DSP专门进行数据处理的工作。芯片采用增强型的哈佛结构总线,其CPU内 部有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的支持将使CPU的执行速度大大加快。

 

  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协议的基本档次的部分,而且尚未进行更专门的优化过程,而协议的其他部分,由于其复杂性,则需要进行进一步研究,沿着这个方向,视频还可以进一步压缩。



上一篇:基于单片机的数字正弦机研制   下一篇:无线火灾报警系统的体系结构研究

标签:编码 算法 设计 快速 平台 基于 预测 模式 进行 运动 点此搜索本站更多相关信息...搜索更多相关内容..

您可能还感兴趣的内容: 深圳今科电子单片机解密、IC解密服务 今科电子单解机、IC解密业务是怎样的流程?

此页的访问者还关注了下面这些相关资讯


·基于单片机的数字正弦机研制
·无线火灾报警系统的体系结构研究
·利用基于闪存的MCU实现用户数据存储
·基于SEP3203的嵌入式以太网口的设计
·嵌入式Linux系统中的快速启动技术研究
·基于微控制器的LED驱动器拓扑、权衡和局限
·基于MPC755的嵌入式计算机系统设计
·DSP+FPGA在高速高精运动控制器中的应用
·DSP在平行双轮电动车控制系统中的应用
·Xilinx FPGA开发环境的配置
·S3C44B0X键盘的uClinux驱动程序设计
·LonWorks现场总线设备驱动设计与实现
·运动控制和混合信号FPGA运动控制和混合信号FPGA
·基于构件技术的嵌入式系统复用软件设计
·语音芯片APR9600及其在电话遥控系统中的应用
·基于TMS320C50的通用语音信号处理系统
·一种实时信号处理系统的研究和实现引言
·单片机嵌入式系统在运程电网监测系统中的应用
·基于DSP的视频采集系统设计
·基于凌阳SPCE061A的嵌入式应用系统设计
·基于凌阳SPCE061A的嵌入式应用系统设计
·基于MSP430的语音与音频压缩/解压缩技术
·构建基于ARM920T的嵌入式Linux系统
·构建基于ARM920T的嵌入式Linux系统
·经济和低功率的ZigBee无线方案
·OFDM信道调制解调的仿真及其FPGA设计
·基于嵌入式系统的网络环境模拟器的设计
·无线标准的共存性和互操作性
·蓝牙的发展:无线系统设计的挑战
·GPRS网络的附加业务:VoIP over GPRS
·基于PowerPC405的Xilkernel内核实现多任务操作
·基于NucleusPLUS的嵌入式系统的软件设计
·嵌入式系统的发展趋势:网络互联与嵌入式微处理架构
·用IAR EWARM开发嵌入式系统时目标代码的链接与定位
·风河在移动世界大会上展示整合NEC 3G芯片的手机软件平
·ARM Linux中断分析
·剖析几种主流嵌入式软件代码压缩技术
·Linux系统在嵌入式DVR中的应用
·TCP/IP协议栈在嵌入式芯片上的实现
·基于嵌入式TCP/IP软件体系结构的优化设计与实现


版权声明:
( 更多版权详述 | 隐私政策 )

1、凡本网注明“来源:单片机信息网”或“单片机论坛”的文字、图片和音视频作品,版权均属深圳市今科电子有限公司所有,任何媒体、网站或个人未经本网书面授权不得转载、链接、转贴或以其他方式使用;已经本网书面授权的,在使用时必须注明“来源:单片机信息网”或“单片机论坛””。
2、本网未注明“来源:单片机信息网”或“单片机论坛”的作品均为转载稿,本网转载稿件只为传递更多信息,并不意味着认同其观点或真实性。如其他媒体、网站或个人转载使用,必须保留本网注明的“稿件来源”,并自负法律责任。
3、对于单片机信息网通过单片机论坛发布的作品,本网受著作权人委托禁止任何媒体、网站或个人在未经书面授权的情况下转载使用。
4、为维护自身权益、尊重作者版权,单片机信息网特委托深圳市律师协会为本网站法律顾问。对于违反本声明的,单片机信息网律师将依法追究其责任;对于刊载作品涉及版权等问题的,请作者在两周内与网站管理或张朝阳律师联系。
责任编辑:今科电子
双击复制本文网址,发送给您QQ/MSN上的朋友:
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
§最新评论
今科热门解密系列
·PIC芯片DSP系列单片机解密PIC芯
·Freescale单片机解密飞思卡尔芯
·飞思卡尔(Freescale)单片机解密/
·pic18f系列单片机解密
·三星(Samsung)系列单片机极速解
·飞林Feeling芯片系列MCU单片机/I
·MICROCHIP微芯(PIC)系列单片机/M
·单片机破解的常用方法及应对策略
·IC卡预付费电度表的安全及防范技
·单片机解密 单片机解密方法 单片
·PHILIPS系列单片机解密
·独家STC单片机解密
·我对红外遥控信号的解码思路
·51系列单片机解密(数分钟搞定)
·芯片解密业务流程介绍
·单片机解密后提供什么文件?
·单片机解密后为何要提供厂家的专
·芯片是如何被解密的?
·SST系列MCU单片机/IC/芯片解密
·INTEL系列单片机/IC/芯片解密
·ISSI系列MCU单片机IC破解芯片解
·ZILOG系列MCU单片机IC破解芯片解
·MOTOROLA系列MCU单片机IC破解芯
·LG(HYUNDAI系列MCU单片机/IC破
·MCPLD/EPLD系列MCU单片机IC破解
·新茂系列MCU单片机IC破解芯片解
·PHILIPS系列MCU单片机IC破解芯片
·MXIC系列MCU单片机IC破解芯片解
·(ATMEL)51系列MCU单片机IC破解芯
·华邦芯片系列MCU单片机/IC/芯片
·(MICROCHIP)微芯(PIC)系列MCU单
·CYPRESS系列MCU单片机IC破解芯芯
·Sinowealih系列MCU单片机IC破解
·Tenx系列MCU单片机IC破解芯片解
·松翰(SONIX)系列MCU单片机IC破解
·义隆(EMC)系列MCU单片机IC破解
·合泰(HOLTEK)系列MCU单片机IC破
·麦肯(MDT)系列mcu单片机IC破解芯
·今科单片机解密服务
·单片机程序开发
热点技术文章文献
·单片机课程设计(直流风扇电机转
·单片机课程设计(报警器)
·单片机课程设计心得体会
·单片机课程设计(数字温度计设计)
·单片机课程设计(秒表的设计)
·步进电机单片机控制系统设计
·单片机控制GSM手机的技术及应用
·单片机课程设计(秒表的设计程序)
·步进电机运行系统控制设计
·基于单片机的真空冷冻干燥试验仪
·基于单片机的LED汉字显示屏设计
·基于单片机通用引脚的软件UART设
·基于看门狗芯片MAX708的数据保护
·HT46R22单片机在电磁炉功率控制
·基于nRF905的无线数据传输设备设
·基于单片机控制的新型智能电梯语
·单片机硬件系统设计原则
·一个单片机串行数据采集/传输模
·数字音频射频收发芯片nRF24Z1原
·基于单片机的具有通讯口的智能温
·8051单片机中DPTR的扩展设计
·汉王手写芯片的触摸屏控制器应用
·嵌入式系统的技术特点及前景展望
·加密存储芯片AT88SC1616的原理和
·编写适合自己需要的printf()函数
·用单片机设计A/D、D/A转换器
·基于ARM的嵌入式网络收音机的设
·基于PIC无线发射器件的环形天线
·基于51单片机的车用数字仪表设计
·单片机实现对CF卡的读写
今科推荐产品
·51系列单片机解密(数分钟搞定)
·今科单片机解密服务
·单片机程序开发
·小家电(厨卫电器)系列产品
·灯饰控制系列产品
·四键遥控器系列产品
·红外遥控器系列产品
相关技术文献资讯
·基于单片机的数字正弦机研制
·无线火灾报警系统的体系结构研究
·利用基于闪存的MCU实现用户数据
·基于SEP3203的嵌入式以太网口的
·嵌入式Linux系统中的快速启动技
·基于微控制器的LED驱动器拓扑、
·基于MPC755的嵌入式计算机系统设
·DSP+FPGA在高速高精运动控制器中
·DSP在平行双轮电动车控制系统中
·Xilinx FPGA开发环境的配置
·S3C44B0X键盘的uClinux驱动程序
·LonWorks现场总线设备驱动设计与
·运动控制和混合信号FPGA运动控制
·基于构件技术的嵌入式系统复用软
·语音芯片APR9600及其在电话遥控
·基于TMS320C50的通用语音信号处
·一种实时信号处理系统的研究和实
·单片机嵌入式系统在运程电网监测
·基于DSP的视频采集系统设计
·基于凌阳SPCE061A的嵌入式应用系
·基于凌阳SPCE061A的嵌入式应用系
·基于MSP430的语音与音频压缩/解
·构建基于ARM920T的嵌入式Linux系
·构建基于ARM920T的嵌入式Linux系
·经济和低功率的ZigBee无线方案
论坛最新讨论资讯
芯片解密常见问题
· 什么是单片机?
· 单片机要如何加密?
· 单片机芯片是如何被解密的?
· 单片机解密后提供什么文件?
· 芯片解密为何用专用格式文档?
· 芯片解密是怎样的业务流程?
首页 - 隐私政策 - 版权申明 - 网站地图 - 产品中心 - IC解密中心 - 企业文化 - 代理加盟 - 公司简介 - 人才招聘 - 常见问题 - 我要投稿 - 联系我们 - 返回顶部
[单片机信息网] .© 2006-2009 版权所有,严禁非法复制与建立镜像.运营商:[今科电子] 公司地址:中国.深圳/上海 E-Mail:renbangent#126.com sales#techmcu.com(换#为@)
深圳公司 电话热线:+86 0755-82964200 82964201 82964700 传真:0755-82964432 支持手机:13684994966 业务QQ: 501995683 联系人:王小姐 张小姐(工程师) 罗先生(高工)
上海公司 电话热线:+86 021-63062380 15001885509   传真:+86 021-63062380-6   技术支持:15001885509 业务QQ:xxxxxxxx   联系人:郑小姐(业务) 陆工(工程师)
Optimized for 1024x768 to Firefox,Opera and MS-IE6 or higher,Template designed by: Berlin Lee.Web Support[FuAn Network] ICP Record No.:07053756 Webmaster