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

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

3天内不再提示

利用DSP芯片实现MPEG-4视频编码的优化设计

电子设计 来源: 电子设计应用 作者:吴建斌 2021-03-16 15:38 次阅读

数字视频的大数据量给信息的存储和传输造成了相当大的困难,成为数字视频应用的瓶颈之一,数字视频压缩编码是解决这一问题的有效途径,但在一些对实时性要求较高的场合,要求快速实现数字视频的编解码。采用DSP器件集成的视频采集压缩卡能快速实现视频压缩算法,提高处理速度,满足实时性要求。

本文采用Blackfin系列的DSP芯片ADSP-21535来实现MPEG-4视频编解码,详细介绍了硬件和软件的设计方案。

硬件设计

整个系统包括视频采集单元、MPEG-4编解码单元、数据存储单元、逻辑控制单元和视频显示单元等。采用conexant公司的Bt829实现视频信号采集,数据存储采用Cypress公司的SRAM芯片CY7C104133,视频显示单元采用ADI公司的ADV7175,逻辑控制部分采用Altera公司的MAX7000芯片。

软件设计

MPEG-4视频编码是根据图像的内容将其分割成不同的视频对象VO(Video Object),然后进行编码。其编码过程可由3步来完成,即VO的形成、编码和复合。它提供了灵活的框架和开放的工具集。

基于VOP(VIDEO Object Plane)的编码,VO是场景中的某个物体,是由时间上连续的帧画面序列组成的,而VOP是某一时刻某一帧画面的VO,VOP编码是针对某一时刻该帧画面VO的形状、运动、纹理等三类信息进行编码。从类型上看包括帧内IVOP(Intra VOP)、帧间前向因果预测PVOP(Inter Prediction VOP)、帧间双向非因果预测BVOP(Inter Biderctional Prediction VOP)和全息灵影SVOP(Sprite VOP)。从空间上看它由若干个16×16的宏块组成,又可分成4个8×8的亮度块和2个8×8的色差块。它采用位图法对VOP的形状进行编码。

在本文设计的编解码器中,对于352×288的VOP图像数据编码采用Y:U:V=4:2:0的格式,即每采样4个亮度样本,对应采样两个色差样本。然后,分离不同的帧格式,分别对它们进行编码和解码。

利用DSP芯片实现MPEG-4视频编码的优化设计

基于ADSP-21535的MPEG-4编码优化

ADSP-21535采用双MAC的结构,具有正交的类似RISC微处理器集,主频可达300MHz,有专门的视频处理指令、灵活的SRAM和cache结构,是一款在多媒体处理与网络传输应用中极具特色的芯片。因此,在编码的过程中,应充分考虑芯片的结构和指令特点,实现程序的优化。

使用硬件结构提高处理速度

ADSP-21535内部有两块RAM,即L1RAM和L2RAM。L1RAM是核内的高速RAM,可以按照需要定义为cache或SRAM,或者一部分数据cache,一部分数据SRAM。它可分成16KB指令cache和指令SRAM,也可分成32KB数据cache和数据RAM。相对来说L2RAM离核较远,如果程序或数据放在L2RAM中直接执行,速度会比较慢。因此如果程序的数据量较小,可以把程序和数据直接放入L1RAM中执行。但是对于数据量较大的程序来说,有时还有可能把数据放在外部存储器中,如视频采集数据,这时就应该设置好cache允许的数据地址和程序地址,然后启动cache,这样程序和数据就会自动调入L1RAM中执行。

运动估值搜索算法的并行处理

视频压缩的关键是去除时间与空间的冗余,考虑到帧间的时间相关性强的特点,为了满足随机存储和高压缩比的要求,一般采用帧间和帧内的编码技术。在MPEG-4运动搜索算法中是使用条块匹配算法,需要进行VOP范围内点的搜索。匹配使当前的图像与预测图像的绝对差值和,即SAD最小。

SAD的计算是运动估值中最重要的一个环节,它直接影响整个运动搜索的速度,这也是图像数据实时压缩的瓶颈。Blackfin提供了一个极好的硬件指令,可以取出8个单元数据同时做4组VIDEO单元的绝对差和。ADSP-21535提供了两种指令形式来完成这个操作,即SAA(R1:0)和SAA(R1:0,R3:2)(R代表寄存器组高低寄存器互换),将结果放在A0和A1中(A0和A1为两个乘法器和累加器,R1和R0、R2和R3为配对的两个寄存器,一般称为寄存器组0和寄存器组1)。

由于作绝对差和是针对字节而言,所以起始字节地址不一定是以4的整数倍开始,但是每次运算却必须要取出4个字节作运算。对于此,Blackfin巧妙地根据地址的末两位来确定运算所取的字节。其地址指针为I0和I1,由I0和R1:0、I1和R3:2来确定运算的8个点。

用ADSP-21535计算当前块与目标宏块的SAD值的程序在此就不再赘述。

结语

整个系统使用Visual DSP++3.0进行开发,通过JTAG口仿真,在CIF格式下(352×288)进行测试。采集的帧率为25fps,对IVOP、PVOP、BVOP同时编码,平均压缩一帧需60ms左右,平均压缩比为40倍左右。从这些数据可以看出,用Blackfin实现MPEG-4编解码方案是可行的,能有效解决传输数据的瓶颈问题,提高信号的处理速度。同时该芯片的功耗小,性能稳定,可实现电源的动态管理,有利于实现视频压缩卡的集成。当然,如果能够对算法进一步优化,就更有利于视频数据的实时处理和传输。

责任编辑:gt

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

    关注

    544

    文章

    7682

    浏览量

    344347
  • 芯片
    +关注

    关注

    447

    文章

    47785

    浏览量

    409089
  • 微处理器
    +关注

    关注

    11

    文章

    2131

    浏览量

    81406
收藏 人收藏

    评论

    相关推荐

    基于MPEG-4技术的医疗系统

    MPEG-4图像压缩技术针对一定比特率下的视频、音频编码,强调了基于内容的交互性。因此,利用MPEG-4
    发表于 12-16 10:19

    基于FPGA NiosII的MPEG-4视频播放器该怎么设计?

    Expert5 Group)推出了MPEG-4标准。于1999年正式成为国际标准的MPEG-4是一个适合于低传输率的视频、音频解决方案,更注重于多媒体系统的交互性和灵活性。MPEG-4
    发表于 08-30 06:47

    基于FPGA NiosII的MPEG-4视频播放器该怎么设计?

    Expert5 Group)推出了MPEG-4标准。于1999年正式成为国际标准的MPEG-4是一个适合于低传输率的视频、音频解决方案,更注重于多媒体系统的交互性和灵活性。MPEG-4
    发表于 09-03 06:55

    如何利用DSP去设计一款MPEG-4编码器?

    如何利用DSP去设计一款MPEG-4编码器?
    发表于 04-09 07:04

    怎么实现基于C6000系列DSPMPEG-4视频编码卡的软硬件设计?

    本文介绍了基于C6000系列DSPMPEG-4视频编码卡的软硬件实现利用
    发表于 06-02 07:03

    在Intel PXA27X平台上如何去实现MPEG-4视频编码的功能?

    在Intel PXA27X平台上如何去实现MPEG-4视频编码的功能?
    发表于 06-03 06:15

    怎么实现MPEG-4 ASP视频编码器的软件优化设计?

    怎么实现MPEG-4 ASP视频编码器的软件优化设计?
    发表于 06-04 07:04

    MPEG-4视频编码技术及在多媒体通信中的应用是什么

    MPEG-4视频编码技术及在多媒体通信中的应用是什么
    发表于 06-07 06:50

    基于PC机的MPEG-4编码原理是什么?

    基于PC机的MPEG-4编码原理是什么?
    发表于 06-07 06:37

    基于TMS320DM642的MPEG-4编码软件优化设计

    结合TI 公司C64 系列DSP 芯片指令并行处理的特点,在自主开发的以TMS320DM642 为核心的嵌入式MPEG-4 视频监控平台上,通过对
    发表于 08-27 12:19 19次下载

    MPEG-4 ASP视频编码器的软件优化设计

    本文介绍了 TMS320C6416 DSPMPEG-4ASP (Advanced Simple Profile )视频编码器在SP基础上新增的工具,详细阐述了基于该平台
    发表于 12-02 17:07 15次下载

    MPEG-4视频监控应用中的软件实现

    MPEG-4视频监控应用中的软件实现 本文根据视频监控的特点,主要讨论了MPEG-4视频
    发表于 07-25 10:14 965次阅读
    <b class='flag-5'>MPEG-4</b>在<b class='flag-5'>视频</b>监控应用中的软件<b class='flag-5'>实现</b>

    MPEG-4实时编码器在ADSP-BF533上的实现

    MPEG-4实时编码器在ADSP-BF533上的设计方案   MPEG-4视频编码技术可以在较小的带宽下传输高质量的
    发表于 03-05 15:54 942次阅读
    <b class='flag-5'>MPEG-4</b>实时<b class='flag-5'>编码</b>器在ADSP-BF533上的<b class='flag-5'>实现</b>

    基于C6000系列DSPMPEG

    更高。由于MPEG-4编码算法复杂,需要存储的数据量大,无论是存储空间分配、数据传输还是运算速度对DSP来说都是挑战。本文介绍了基于C6000系列DSP
    发表于 11-28 12:42 319次阅读

    采用数字信号处理器实现MPEG-4视频编码卡的设计

    存储空间分配、数据传输还是运算速度对DSP来说都是挑战。本文介绍了基于C6000系列DSPMPEG-4视频编码卡的软硬件
    的头像 发表于 03-17 14:31 1599次阅读
    采用数字信号处理器<b class='flag-5'>实现</b><b class='flag-5'>MPEG-4</b><b class='flag-5'>视频</b><b class='flag-5'>编码</b>卡的设计