收藏 分销(赏)

基于FPGA的实时视频无损压缩算法.pdf

上传人:自信****多点 文档编号:574269 上传时间:2024-01-02 格式:PDF 页数:4 大小:1.81MB
下载 相关 举报
基于FPGA的实时视频无损压缩算法.pdf_第1页
第1页 / 共4页
基于FPGA的实时视频无损压缩算法.pdf_第2页
第2页 / 共4页
基于FPGA的实时视频无损压缩算法.pdf_第3页
第3页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、106广播电视网络 2023 年第 7 期 总第 403 期实践探索1 引言随着视频技术的发展,需要进行数字图像处理的视频流所携带的数据量愈加庞大,这对视频的传输和存储会产生巨大的影响,所以视频压缩具有很强的实用性。1数据压缩分为有损压缩和无损压缩。有损压缩是指数据压缩后再进行数据解压时得到的解压数据与原始数据不完全一致,可能会导致丢失图像数据中的关键信息,但其一般能达到较高的压缩率。无损压缩是指经过压缩后的数据在解压还原后得到的解压数据与原始数据完全相同,与有损压缩相比其压缩率一般不会很高。2本文提出的压缩算法为无损压缩,压缩方法一般是采用基于预测编码3、矢量量化编码4、变换编码5或者是将多

2、种方法结合的混合编码6等。文献 7 和文献 8 通过在FPGA 中实现压缩算法,但是在算法的计算上会相对比较复杂,导致其整体系统的时钟频率无法提升,比较适合应用在一些低速系统上。为了保证无损视频压缩算法的压缩率、步骤以及计算的简洁性,并能在高速系统上对视频数据进行实时处理,本文在预测编码与 LZW 压缩编码相结合的基础上,提出了建立一种新的视频压缩方法,其先通过预测编码的因果预测模板得到像素预测值并在处理后得到残差系数,然后将残差系数进行数据重构编码,最后通过 LZW压缩编码进一步进行压缩。2 相关无损压缩算法2.1 边缘预测算法边缘预测算法指通过利用当前待预测像素的附近像素建立预测模版并由此

3、得到待预测像素预测值。9-10边缘预测算法采用的像素因果预测模板如图1所示,其中x为当前待预测像素。先根据设定条件对当前模板进行判断,从而选择合适的预测算法计算当前预测像素 x 的预测值 Px,算法如公式(1)所示。(1)若当前待预测像素位于该图像的第一行,则位置 b、c 的像素值赋值为Rb=Rc=0;若当前待预测像素位于该基于 FPGA 的实时视频无损压缩算法范贵星 张永爱 林珊玲 林坚普 福州大学李智毅 福建江夏学院摘要:随着视频技术的发展,超高清视频传输数据量愈加庞大,高效地对超高清视频流数据进行实时无损压缩成为难点。针对这一问题,本文提出了一种基于 FPGA 的实时视频无损压缩算法。本

4、文提出的算法无须使用目前许多视频压缩解压算法中的浮点运算等复杂运算,并且对 LZW 压缩编码进行了优化改进,以此能使用在显示器设备中的 FPGA 控制器对视频进行快速实时压缩解压。最终实验结果表明,本文提出的算法能实时对4K60Hz 的超高清视频流数据进行实时无损压缩处理,整体压缩率在 50%左右,对单帧纯色图像的压缩率可达到 14.2%。关键词:无损压缩 FPGA 实时 视频本文为国家重点研发计划新型显示与战略性电子材料重点专项 2021 年度公开指南项目“彩色电子纸显示材料与器件”(项目编号:2021YFB3600600)课题“彩色电子纸显示器集成与驱动”(课题编号:2021YFB3600

5、603)成果图 1 像素因果预测模板107广播电视网络 2023 年第 7 期 总第 403 期实践探索图像的第一列,则位置 a 的像素值设定为 Ra=Rb。2.2 LZW 压缩编码算法LZW 压缩编码是一种使用字典编码的无损压缩算法,其本身具有普适性,根据信源数据本身可能出现相同字符串的特点,使用前面已经进行过编码的字符串代替其字符串本身,从而达到数据压缩的目的。11首先,要建立一个基础字典,包括信源中所有可能会出现的单字符;其次,在编码的过程中通过以接收到的数据流动态地建立一个额外字典,用于将由单字符拼接成的字符串进行存储;最后,在编码过程中可以利用该额外字典对字符串进行查找匹配,从而完成

6、编码。123 视频无损压缩算法结构从上文可知,边缘预测算法通过利用像素之间的关联性建立预测模板得到像素预测值,而 LZW 压缩编码算法则是利用数据流之间存在的冗余信息进行压缩编码处理。以上两种算法未对图像像素间的冗余信息进行处理,本文提出一种视频无损算法,其利用预测编码和 LZW 压缩编码的算法特性构造一种数据重构编码方法进行处理,并对 LZW 压缩算法进行一定的改进。3.1 数据重构编码将通过边缘预测算法得到的像素预测值与像素原始值进行相减处理得到残差系数,根据得到的残差系数和像素原始值进行重构编码。以处理 10bit 的像素数据为例,最终会获得 11bit 的编码数据,其可能包括了原有 2

7、 个 10bit 数据的信息,分别存储在11bit 数据中的第 5 位或第 6 至 10 位中。其中,数据变量 sig 为操作流程标识符,data_press0 为重构编码数据,resid0 为残差系数,data_og 为像素原始值,data_pred 为像素预测值。3.2 LZW 压缩编码的改进优化方法传统的 LZW 压缩编码主要是通过编码时生成的额外字典对信源中字符串进行查找匹配。由于在编码初期,初始字典中包含原始单字符,匹配度会比较低,从而导致编码后的数据流可能会大于原始数据流,造成压缩反效果。而当数据流量比较大时,采用固定码长代替不同码长的字符串,导致压缩效率也有一定程度下降。13因此

8、,针对上述问题并结合对 FPGA 资源使用的考虑以及数据重构编码的算法特点,对 LZW 压缩编码进行改进优化。在数据重构编码算法中生成的11bit 的重构数据变量 data_press0 有153 个数值不会出现,这 153 个数值分布在 02047 数值空间中。对于这 153 个冗余数值,可以根据 LZW 压缩编码的特性进行处理,把原本 11bit 的数据变量 data_press0 重新映射在 8700 和20471024 中,形成新数据变量 data_press1。生成的变量 data_press1 会空出来一个数值,空间范围在 1023871,这样就可以建立一个同等地址深度为153 的

9、额外字典来进行 LZW 压缩编码。若要建立一个地址深度大于 153 的字典,则需要将 11bit 的数据流扩宽为12bit,以此得到更大的额外字典容量,对更多的字符串进行存储,但这会大大增加FPGA硬件上存储资源的消耗,一般的 FPGA 板载存储资源不足以支持如此大的资源消耗。关于字典结构,传统的方式是利用 FPGA 本身的存储资源 BRAM 通过串行进行查找匹配操作,即每个时钟与存储器中一个地址存储的数据进行比较。若要对于一个地址深度为 153的字典进行匹配查找,则需要的时间在 2154 个时钟周期,无法满足实时处理的要求。因此,本文提出采用并行查找匹配方式,将数据与地址进行转置处理,并采用

10、级联的方式将多个子额外字典拼接成一个额外字典,组成一个内容寻址存储器(Content Addressable Memory,CAM),其数据宽度为 44bit,地址深度为 153。本文提出的 CAM 能够实现匹配查找的功能,只需要 2 个时钟周期,其中一个时钟周期从存储器读取数据,另一个时钟周期进行解码得出匹配结果。由于采用级联的方式,使原本硬件存储资源可能会不足的问题得到了解决,大大节约了资源,LZW 字典结构如图 2所示。4 实验与结果分析4.1 FPGA 平台算法结构设计使用 VHDL 对本文提出的视频无损压缩算法的功能进行 RTL 描述,并在 Vivado 2018.3 和 Model

11、sim DE-64 10.6c 软件平台上进行仿真,最终在Xilinx 的 XC7K324TFFG900 开发板上进行板级测试。本文提出的视频无损压缩算法硬件架构如图 3 所示,主要包括数据输入缓存模块、预测编码算法模块、数据重构编码算法模块、编码数据缓存模块、LZW 压缩编码模块、输出数据缓存控制模块。4.2 时序仿真结果分析通过软件 Vivado 和 Modelsim 搭建仿真平台,并将若干张4K(38402160)108广播电视网络 2023 年第 7 期 总第 403 期实践探索分辨率的原始图像转换成 RGB 格式的30bit 的 16 进制数据,以文本格式(data_i.txt)进行

12、保存。通过时序仿真将文本数据读取输入到本文提出的无损压缩模块中,经过无损压缩模块后得到压缩编码数据,此时再将压缩编码数据传输到解压模块进行解压处理,通过解压缩模块后可得到解压缩数据,并将解压缩后的数据输出保存到文本(data_o.txt),最后将 2 个文本文件进行数据信息对比,即可验证模块功能的正确性。无损压缩算法模块时序仿真结果如图 4 所示。其中,data_even_i 为视频数据的输入通道,data_even_code_o_buf 为压缩编码数据的输出通道,data_even_o 为解码数据的输出通道,视频数据是按照行输入的。每一行输入的视频像素数据经过无损压缩模块进行压缩编码后,在下

13、一行视频数据输入后一段时钟周期开始从压缩编码数据的输出通道进行输出,并且经过无损压缩模块输出的编码数据的数据量比输入视频流数据量明显减少,这说明压缩算法模块能对输入数据进行一定的压缩处理。编码数据输入解压缩模块进行实时解压缩,并在下一段编码数据输入时进行输出,输出的解码数据量与原始的视频数据量基本一致,并且通过对比输入和输出的文本文件数据,得到结果为两者在数据上完全一致。因此,时序仿真结果和输出输入文本的对比结果说明本文提出的无损压缩算法模块功能无误,能将输入数据进行无损压缩处理。4.3 算法效果比较为比较传统的 LZW 压缩编码与本文提出的无损压缩算法的效果,本文收集 150 张 4K 分辨

14、率的图片进行测试实验。其中 100 张为照片,包括风景、人物和宠物等,另外 50 张为经过处理的生成图。经过实验测试,2 种算法对图 2 LZW 字典结构图 3 无损压缩算法硬件架构图 4 无损压缩算法模块时序仿真结果109广播电视网络 2023 年第 7 期 总第 403 期实践探索图片集的平均压缩率如表 1所示。本文提出的无损压缩算法整体要比传统的LZW 压缩编码压缩率更高,并且对于纯色图片,本文提出的无损压缩算法压缩率最高可以达到 14.2%,而传统的 LZW 压缩算法压缩率为 27.56%。由此可以得出,本文提出的无损压缩算法的压缩效果相比于传统 LZW 算法更好。4.4 板级验证为了

15、验证该算法模块能实时对视频流数据行处理,进行了板级测试验证。以基于 Xilinx 的 Kintex-7 XC7K325T900的核心 FPGA 板搭建硬件板级验证平台,用笔记本电脑端作为 HDMI 输出信号,电视机接收 HDMI 信号后,在机芯板处理视频信号,再将视频信号传输到驱动板的中间过程,使用本文设计的无损压缩算法进行压缩和解压缩操作处理后输出视频流数据,最后驱动电视机进行显示,所用 FPGA 板和显示效果如图 5 所示。通过测试验证,最终实现了在 4K60Hz 的电视上进行数据压缩和解压缩处理,整体压缩率达到 50%左右;输入端和输出端画面一致说明压缩前和解压缩后数据一致没有被损坏,无

16、损压缩算法功能正常运行。5 结语本文提出了一种新型的视频无损压缩算法,通过结合预测编码和 LZW压缩编码的特点,在两者之间加入数据重构编码,采用混合压缩编码的方式提高算法的压缩率,并对 LZW 压缩编码进行了优化改进,使整个算法简洁高效,对 FPGA 的资源占用较小,且能对 4K60Hz 的视频流进行实时的压缩处理。算法的正确性通过软件仿真和 FPGA 板级实现进行了验证,实验结果表明在 300MHz 工作频率下,视频流数据的压缩率达到 50%左右,单帧图像最高压缩率为 14.2%,达到较好的压缩效果,有一定的工程实用性。参考文献1SAYOOD K.Introduction to Data C

17、ompression M.5th ed.Cambridge,USA:Morgan Kaufmann,2017.2MUDDHASANI V,WAGH M D.Bilinear Algorithms for Discrete Cosine Transforms of Prime LengthsJ.Signal Processing,2006,86(5):2393-2406.3MIELIKAINEN J,HUANG B.Lossless Compression of Hyperspectral Images Using Clustered Linear Prediction with Adaptiv

18、e Prediction LengthJ.IEEE Geoscience and Remote Sensing Letters,2012,9(6):1118-1121.4TAUR J S,LIU Y C,LEE G H,et al.Vector Quantisation Index Compression Based on a Coding Tree Assignment Scheme with Improved Search-order Coding AlgorithmsJ.IET Image Processing,2012,6(4):318-326.5PEARLMAN W A,DA SIL

19、VA E A B,DUTRA A J S.Successive Approximation Wavelet Coding of AVIRIS Hyperspectral ImagesJ.IEEE Journal of Selected Topics in Signal Processing,2011,5(3):370-385.6YANG L,HE X,ZHANG G,et al.A Low Complexity Block-Based Adaptive Lossless Image CompressionJ.Optik,2013,124(24):6545-6552.7 刘 志 杨,郭 继 昌,

20、关 欣,等.利 用 FPGA实 现 同 步 FIFO 设 置 方 法 J.电 子 测 量 技术,2006,19(4):65-66.8TSAI T H,LEE Y H,LEE Y Y.Design and Analysis of High-Throughput Lossless Image Compression Engine Using VLSI-Oriented FELICS AlgorithmJ.IEEE Transactions on Very Large Scale Integration(VLSI)Systems,2009,18(1):39-52.9 陈军,王怀超,顾晓东,等.基于

21、LOCO-I算法的星载图像无损压缩的 FPGA 实现 J.微电子学与计算机,2011,28(11):168-173.10 尤传亮.一种图像无损压缩算法 JPEG-LS的 FPGA 实现 D.南京:东南大学,2019.11SANGEETHA M,BETTY P,KUMAR G.A Biometrie Iris Image Compression Using LZW and Hybrid LZW Coding AlgorithmC/2017 International Conference on Innovations in Information Embedded and Communicati

22、on Systems(ICIIECS),Mar.17-18,2017.New York:IEEE,2017:1-6.12XIAO J,HONG C,ZHANG L,et al.A High Speed LZW Compression Algorithm Hardware Implementation Based on FPGAJ.Microelectronic in WANFANG DATA,2019(49):824-828.13JAIN P,JAIN A,AGRAWAL C.Improving Data Compression Ratio by the Use of Optimality of LZW&Adaptive Huffman Algorithm(OLZWH)J.International Journal on Information Theory,2015,4(1):11-19.RTN图 5 压缩编码处理所用 FPGA 板实物与显示效果表 1 图片集压缩率 测试图片集传统 LZW 压缩编码压缩率(%)本文算法压缩率(%)照片74.3952.48电子生成图61.34740.26

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服