DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 86|回复: 0
打印 上一主题 下一主题

解析H.264视频编解码DSP实现与优化

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 19:05:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                      0 引言
  基于互联网的数字视频产业前景看好,而3G的规模部署,也会推动移动视频通信成为现实。但数字化后的视频图像具有数据海量性,给图像的存储和传输造成较大的困难。数字视频产业,是指数字内容中以数字视频形态为主的文化创意和传播产业,及其必需依赖的多学科高科技技术支撑和保障服务产业。为此,该专家组基于帧内图像相邻像素间及相邻行间的空间相关性和相邻帧间运动图像的时间相关性,采用压缩编码技术,将那些对人眼视觉图像和人耳听觉声音不太重要的东西及冗余成分抛弃,从而缩减了存储、传输和处理的数据量,提高了频谱资源利用率,使数字化正在变为现实。数字视频压缩编码技术是解决这一问题的关键技术。H.264以其良好的网络适应性和高编码压缩效率,灵活的语法配置,在视频处理领域比以往的视频编码标准更加适合视频处理的发展方向,更加适合不同应用环境的对象。进一步提高了编码算法的压缩效率和图像回放质量。在肉眼主观感受相同的情况下,H.264较之H.263的编码效率提高了50%左右。
  利用高性能数字信号处理器(DSP)来实现H.264实时编码器是一种快速有效的方法,有助于H.264视频标准的迅速推广和应用,也指明了视频图像压缩领域最新的研究方向。数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。
  1 H.264编码的关键技术
  1.1 基于灵活分割宏块(MB)的运动矢量估计和补偿以及增加变换的压缩效果
  H.264根据宏块的编码特性采用亮度块直流变换,色度块直流变换与普通差值变换相结合的方法。在运动估计时,H.264信源编码采用基于4×4块的整数变换,可以灵活地选择块的大小。而其他标准处理的像素块大小均为16×16或者8x8.H.264以可变大小的块来适应不同应用环境和要求,采用16×16,16×8,8×16,8×8四种模式;当划分为8×8模式时,又可进一步采用8×4,4×8,4×4三种子宏块划分模式进一步划分,如图1所示。根据需要由不同尺寸的宏块来执行,采用整数变换既可以使运动物体的划分更加精确,不可以减小运动物体边缘的衔接误差,处理好需要更多运动细节的场合,即以引入更小运动补偿块可以提高一般和特殊情况下的预测质量,它可以提高主观视觉效果,同时又减小了变换过程中的计算量。实验表明,应用7种不同大小和形状的块可以比单一利用16×16块进行的编码提高15%以上的压缩率。



  在发送端,视频输出由视频A/D芯片先转换为数字视频信号,然后输入到DM642的视频端口2,由DM642进行图像采集,并把图像数据送入SDRAM中,同时DM642对视频图像进行实时压缩,并把压缩后的数据通过McBSP发送到信道编码部分,完成发送端的工作。在接收端,接收由信道译码部分送来的压缩图像数据,然后由DM642完成图像的实时解压,并把解压后的数据送到SDRAM中,然后把解压后的图像数据送人视频端口0,再由视频端口0把数据送入视频D/A,完成视频的实时显示。图2中音频/视频接口作为扩展,10/100Mb/s的以太网卡以及USB控制器外设主要是为了方便接收端直接把数字视频信号传送到计算机或者终端各处,供电及复位电路完成对电路板的供电及复位功能。
  3 H.264的视频编解码的DSP优化
  将H.264编码器移植到DM642图像处理平台上,由于H.264的核心算法不仅在代码结构上需要改进,而且在具体的核心算法上也需要做较大的改动,因此整个系统的编码速度非常令人不满意,达不到实时应用的要求,因此需要从各个方面对该系统进行优化,将编码的时间减少下去。首先去除了编码器中的冗余代码,然后优化工作分三步:在PC机上实现H.264算法并进行优化;PC机H.264代码的DSP化,可以在DSP上实现H.264的编解码算法,但是,这样实现的算法运行效率很低,因为所有的代码都是由C语言编写,并没有完全利用DSP的各种性能,所以必须结合DSP本身的特点,对其进一步优化,才能实现H.264视频解码器算法对视频图像的实时处理,即要H.264的DSP算法优化。对于DSP代码的优化共分为三个层次:项目级优化、C程序级优化、汇编程序级优化。
  4 结语
  在上述环境下,解码器算法对QCIF测试序列已经能够达到45"60 f/s的解码速度,达到了实时性解码的目的。测试结果表明,图像主观质量较好,无明显方块效应,码率也比较低。另外,图像编码的实时性能与图像的内容、运动的剧烈程度等都有一定的关系。在DM642板卡上实现的H.264视频编解码器具有功能强,使用灵活等特点,有广泛的应用前景。RADVISION策略的关键是在SCOPIA架构中支持H.264-SVC技术,这样RADVISION的支持SVC的SCOPIA桌面系统就可以与诸如H.263和H.264等其它标准视频编解码技术互通。可以向同一个会议室接入不同的设备,每台设备根据其性能均可获得最佳的视频编解码质量。不支持H.264-SVC的设备仍可通过H.263或H.264方式进行连接,相信在不久的将来,基于H.264算法和DSP处理器的可视电话、视频会议、有线电视、无线流媒体通信等产品会逐渐地走进千家万户,视频编解码器在嵌入式处理终端上的应用会渐渐地成为应用的主流。
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-23 03:31 , 耗时 0.084283 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表