基于DSP的机载视频图像实时压缩与处理系统

时间:2011-10-17来源:网络

  2. 3 系统工作流程

  系统由初始化模块、采集模块、压缩模块、打包编帧模块、存储模块和传输模块组成。其工作流程如图2 所示。

图2 机载图像将压缩处理子系统软件工作流程

  初始化模块完成对程序从Flash 中导入内存、DSP各端口及解码芯片工作模式的设置及全局数据的申请及初始化, 并启动对视频端口状态的查询。当定时检测到视频端口缓冲区中有数据时, 将端口缓冲区中的原始数据根据接收的控制命令进行指定大小大抽取, 输出YUV4: 2: 0格式的图像数据缓存到外围存储模块中。压缩模块将采集的图像数据进行MPEG-4 压缩。打包、编帧模块将压缩后的MPEG-4 编码数据进行实时打包, 并对打包后的数据进行连续的实时编帧。当数据包缓冲区中无数据时,便在传输帧中插入空数据。编帧完的数据64 位并行缓存到外围SDRAM 中。在FIFO 中断服务程序中, 启动一次DMA 传输, 将缓存在SDRAM 中的帧数据流传输到FIFO 中, 实现256 KB/ s 的恒定速率的数据传输。

  需要注意的是原始图像和压缩码流在DSP 中的存储。视频端口、编码程序都要访问原始图像, 例如在某一时刻,编码程序访问当前帧图像, 而视频端口正在输入下一帧图像, 为了避免访问冲突, 原始图像在DSP 中采用三缓冲区进行管理。压缩码流由编码程序写入, 根据FIFO 状态恒定码率输出, 所以采用环式存储管理协调读写的步调。

  2. 4 内存分配

  DM642 片内只有256 KB 的存储空间, 因此当前帧、参考帧和当前帧的重建帧都必须放至片外存储器, 压缩码流若被主机读取, 也放至片外。其他数据如程序代码、全局变量、VLC码表、各编码模块产生的中间数据等均可放至片内。

  由于CPU 访问片外的速度通常要比访问片内慢几十倍, 片外数据的传输通常成为程序运行时的瓶颈, 即使代码效率很高, 流水线也会因为等待数据而被严重阻塞。解决这一问题的有效方法是用EDMA 传送数据。程序是逐个宏块进行编码时, 在编码当前宏块的同时, EDMA 将下一个宏块的数据、用到的参考帧数据由片外传送至片内;当前宏块做完成运动补偿后, EDMA 将重建后的宏块由片内传送至片外。这样CPU 只对片内数据进行操作, 使得流水线可以顺利进行, 而压缩码流按逐个码字有时间间隔地写入, 可由CPU 直接写至片外。

  3 基于DM642 的软件优化技术

  为了提高代码的执行效率, 必须充分利用C64x CPU的VL IW 和流水线结构对其进行优化, 使程序无冲突地并行执行[ 6] 。MPEG 4 编码程序中包含大量的循环体, 例如计算量化、DCT、半像素插值、运动补偿和构建重建帧等。这些循环体代码并不复杂, 且执行次数频繁, 占据了编码的绝大部分时间, 因此循环体的优化是重点。本文所采取的代码优化为C 语言优化和编写线性汇编两个步骤,主要从消除数据相关性、数据打包和循环体的软件流水3个方面进行优化。

  3. 1 针对C语言的优化

  C 代码的优化主要依靠开发环境CCS 的编译器完成, 编程者需要合理选择编译选项, 并利用特定的关键字和指令向编译器提供优化信息 。例如关键字rest rict 用来消除数据间的相关性, 编译器从而可以安排语句的并行执行 ; 内联函数_ nasser t 有助于数据的打包处理; 宏指令# pragma MU ST _IT ERAT E 告诉编译器有关循环迭代次数的信息, 编码器会根据这一信息进行软件流水。

  3. 2 用线性汇编改写关键代码

  线性汇编是TMS320C6000 特有的一种编程语言, 介于高级语言和汇编语言之间。它可以指定指令用到的寄存器和功能单元, 更易于对数据的打包处理。

  线性汇编代码的并行处理和软件流水由汇编优化器完成, 编程者需要熟悉C64x DSP 的CPU 结构和指令集, 认真设计代码并充分利用编译器的反馈信息合理修改代码, 才能写出高质量的线性汇编。本设计中程序主框架采用C 语言编写, 其它各关键部分的代码采用线性汇编实现。

  4 结果分析

  本压缩系统在对标准Foreman 序列、地面人群及道路车辆等视频序列进行压缩测试。对D1 分辨率视频序列能够实现25 帧/ 秒实时的压缩编码, 压缩码率为1. 8 Mb/ s, 解码图像视觉效果良好, 经编帧后输出250KB/ s 恒定基带码流。在图像传输中没有出现数据拥塞和丢失现象。有效满足了高清晰机载图像帧察的目的。

  5 结束语

  本文以TMS320DM642 芯片为中心, 详细介绍了机载图像实时压缩系统的设计及MPEG 4 实时编码器的优化。系统经测试实现了高分辨率图像的实时压缩和实时编帧传输, 满足了系统设计需求。本文采用MPEG 4Simlpe Profile 算法, 在算法方面还有一定的研究空间。

1 2

关键词: 图像压缩

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版