基于压缩算法的无人机视频压缩的研究

描述

对 H.264 压缩技术的特点进行介绍,对 H.264 编码器硬件的设计进行研究,并对图像压缩算法进行优化。研究表明,压缩率有了较大幅度的提升,基本在 10 倍左右,PSNR 变化幅度不大,压缩比达到 100 倍。由此说明优化之后图像的压缩效果较好,优化前后图像的质量没有明显得下降。

随着我国的综合科技实力也不断上升,无人机技术是最近几年快速发展的技术,无人机技术广泛地应用在电力、电影、军事等产业之中,在高温、高寒、危险等环境下,采用无人机技术可以辅助人们工作。无人机的众多应用领域中,大多需要摄像头辅助工作,因此数据传输在无人机系统中显得十分重要。随着军事领域无人机的不断应用,数据传输距离变长,对于视频数据的压缩技术提出了更高的要求[1-5]。

2  H.264 压缩技术的研究

2.1 基本概念

(1)视频帧结构。H.264 算法采用 I 或 P 帧作为前向预测帧,将每帧的图像划分为一片或多片宏块,每片宏块由采样点组成,每块宏块可以进一步分割成多个子块。

(2)H.264 档次级别。档次是对编码器和算法进行整合的规定,实现编码器的功能和适用范围。基本档次的主要适用于视频通信领域,可以实现多样的快速编码,同时可以满足随机片顺序编码。主要档主要应用在数字电视、广播等领域,主要档次除了支持 I、P、B 三种类型的功能特性之外,还支持 CAVLC、CABAC 两种功能特性。扩展档次主要用于网络传输,其抗干扰能力较强,包含基本档次的所有功能,还可以实现加权预测等功能。

2.2 编码关键技术

(1)帧内预测编码。针对亮度宏块,此种此种编码方法采用了像素和像素模式。通过当前宏块和已经编码的宏块预测当前宏块,可以取得较好的压缩性能。

(2)帧间预测编码。视频图像序列相邻帧图像时间的相关性,这种相关性导致图像在存储时具有较高的冗余性,主要包括时间和空间两个维度。这种预测编码技术就是利用相似性去除试件冗余,进行视频压缩。H.264 技术在相对于以前的编码标准,引入了可变块和运动估计技术。可变块大小技术,将每个宏块分割成 7 种方式。宏块大小对视频图像的压缩性能具有较大的影响,大宏块可以应用在运动信息量较小的部分,小宏块可以应用在运动量大的部分。

3  H.264 编码器硬件设计

3.1 整体硬件设计

(1)硬件设计目标。无人机的图像侦查能力是无人机的主要功能之一,无人机整体硬件设计的关键内容就是数字图像传输系统的设计。很多情况下无人机图像运动系统的传输必须是实时的,因此巨大的数据量必须占用巨大的带宽,如此大的数据导致图像的传输和抗干扰能力出现一定的困难,因此针对目前无人机的需求需要高效压缩、实时传输的无线传输系统。

(2)硬件设计方案。根据无人机设计目标的要求,无人机视频压缩设计方法应该具有以下几个特点:首先,高压缩比,采用数字图像压缩算法,实现数字图像的高效压缩;其次,实时性,通过视频压缩节约宽带,进行实时传输;最后,抗干扰性能强、轻便携带。

(3)系统整体结构。设计需要在完成设计目标的同时,完成应用性的要求。系统整体结构分为两个部分的内容:首先是无人机上无线发射部分,通过图像压缩,实时传回地面;另外是地面接收部分,硬件平台采用德州仪器的双核视频处理模块。 

3.2 集成开发环境

采用 CCS 软件集成开发环境,利用 CCS 函数库,基于 Windows 操作系统操作系统,集成多种调试方法,完成 TMS320 系列指令的仿真和直观数据结果分析。CCS 软件集成开发环境,具有较强的扩展性。

CCS 软件集成环境主要包含程序规划和设计、代码编写生成、代码调试跟踪和分析。CCS 软件开发平台集成了编译器、汇编器、链接器等工具实现 DSP 源代码的生成。

(1)C/C++ 编译器。主要功能是实现C/C++ 源程序到汇编语言的编译和转换,该编译器由三部分组成,外壳程序、优化程序和内部工具,外壳程序主要完成语言的汇编等内容,优化程序对外壳程序编译的语言进行优化,提高代码的执行速度和执行效率。内部工具实现 C/C++ 代码转换成 DSP 汇编代码。

(2)汇编器。汇编器的主要作用是将汇编语言转换成机器目标文件,主要内容有伪指令、指令等,主要用来控制汇编语言的内容、数据格式等。

(3)链接器。链接器的主要内容为,将 COFF 格式文件生成可执行代码的过程,输入可以重定位的目标文件和目标库。

(4)软件流水。通过汇编器的软件流水技术可以很好地运行循环指令,优化循环指令并行运行,提高软件的运行速度,采用软件流水技术可以优化循环代码。用户在对编译器进行赋予信息时,要明确编译器的循环次数、冗余循环等信息,提高软件流水的效率,提高代码的运行速度。

4  编码器的移植和优化

4.1 运动估计算法的优化

(1)匹配准则。运动估计搜索算法采用率失真最优化准则,优化和 SAD 公式如式(1)所示。

(2)搜索算法。目前常用的搜索算法为钻石搜索算法、六边形搜索算法。① 钻石搜算算法以半径为 1 的小菱形内进行搜索,通过计算匹配误差,得到 MBD 点。之后进行比较,如果 MBD 点在另行区域内,则搜索到的 MBD 点就是最优点,若不是,则以 MBD 为中心再次进行搜索。② 六边形搜索算法分为三部分。首先以搜索起点为中心点以六边形模板为基础进行搜索,对比中心点与周围六个点的匹配误差,随后对比杜比 MBD 与中心点的匹配误差;第二步采用上一步 MBD 点,按照六边形模板进行搜索,计算 MBD 点的匹配误差,如果 MBD 点与中心点无误差下一步计算,若不重合重复第二步计算;最后采用小正方形模板进行搜索,MBD 点就是最优点。 

(3)搜索算法优化。以上搜索算法在搜索过程中会发生搜索点的重复,导致效率降低。采用无重复的搜索算法,可以解决重复搜索的问题。采用 SAD 代码,在程序中增添 判断模块即可,若满足终止条件自行终止。

4.2 结果分析

(1)进一步优化。在搜索算法优化的基础上,进行内联函数优化和循环优化处理,使用内联函数 _mem4()、_subabs() 等进行优化,极大地提高了计算效率;采用伪指令 #pragma MUST_ITERATE(min, max, multiple) 可以较为明确地对最小循环次数进行运算。

(2)结果分析。分析优化前后的数据,可以看出,优化之后帧率有了较大幅度的提升,基本在 10 倍左右,PSNR 变化幅度不大,压缩比达到 100 倍,由此说明优化之后图像的压缩效果较好,优化前后图像质量差距不大。 

5  结语 

本文对 H.264 压缩技术的特点进行介绍,对 H.264 编码器硬件的设计进行研究,并对图像压缩算法进行优化。采用 SAD 代码,在程序中增添 if(isum ≥ bcost) 判断模块;在搜索算法优化的基础上,进行内联函数优化和循环优化处理;优化之后帧率有了较大幅度的提升,基本在 10 倍左右,PSNR 变化幅度不大,压缩比达到 100 倍,由此说明有话之后图像的压缩效果较好,优化前后图像的质量没有明显得下降。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分