




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、收稿日期:2008-11-27.基金项目:国家自然科学基金项目(60805030.光电技术应用CCSDS 星载图像压缩模块的FPGA 设计与实现张学全1,2,顾晓东1,孙辉先1(1.中国科学院空间科学与应用研究中心,北京100080;2.中国科学院研究生院,北京100080摘要:根据航天应用的需要,采用CCSDS122.02B 21推荐的新一代空间图像压缩算法,基于FP GA 设计实现了高速星载图像压缩模块。针对算法的特点,设计了整体架构。图像采用分块编码的方法,对小波变换,采用了边界补偿的冗余分块算法,提高了信噪比,位平面编码各模块采用并行与流水结合的方法,提高了扫描和编码速率。通过测试,系
2、统性能指标达到了航天任务需求。关键词:CCSDS ;图像压缩;小波变换;位平面编码;FP GA 中图分类号:V447文献标识码:A 文章编号:1001-5868(200906-0935-05Design and Implementation of CCSDS 2based Onboard Image Compression U nit Using FPG AZHAN G Xue 2quan 1,2,GU Xiao 2dong 1,SUN Hui 2xian 1(1.C enter for Space Science and Applied R esearch ,Chinese Academy
3、of Sciences ,B eijing 100080,CHN;2.G radu ate School of Chinese Academy of Sciences ,B eijing 100190,CHN Abstract :Based on CCSDS122.02B 21algorit hm ,a high speed o nboard image compression module is designed and implemented on FP GA.The f unctional f ramework is p roposed after analyzing t he char
4、acteristics of t he algorit hm.The images are processed by blocking and ext ra pixels are compensated for wavelet t ransform ,from which t he compression performance is imp roved.Test result s verify t he applicability of t his designed module in space applications.K ey w ords :CCSDS ;image compress
5、ion ;wavelet ;bit plane encoding ;FP GA0引言星载图像压缩历来是卫星在轨数据处理的关键技术之一。随着国际国内空间探索活动日益频繁,星上图像采集设备分辨率不断提高,目前高分辨率星载遥感的原始数据率达到数个Gbit/s ,给数据缓存和传输带来巨大的压力。由于大容量存储器扩展能力和数据下行带宽有限,高速低比特率图像压缩就成为解决这一困难的有效途径。以通用处理器为核心的压缩方案通常需要较高的时钟输入(大于100M Hz 才能满足高速需求,不符合空间环境对星上电磁兼容的约束;而图像压缩专用ASIC 又不能灵活满足任务需要,无法进行功能裁剪,且不能保证供货;采用FP
6、GA 实现压缩算法虽然较为复杂,但能够克服上述缺点,且保密性好,成为压缩系统研制方案的合理选择。CCSDS (Consultative Committee for Space Data Systems ,空间数据系统咨询委员会2005年正式推出了新一代空间图像压缩推荐标准CCSDS122.02B 211,它针对空间图像处理的特点,协调了算法性能与硬件实现复杂度的矛盾,兼容CCD 相机的帧格式输出和推扫格式输出,适用于从红外,可见光到紫外等谱段的二维数字图像压缩。本文基于Xilinx FP GA ,采用CCSDS 的推荐算法,设计实现了空间图像压缩模块。文章在第二部分对CCSDS 算法原理和小波
7、分块算法做简要介绍,第三部分阐述基于FP GA 的算法整体架构及各个模块结构的设计和实现方法,第四部分介绍实验结果,最后给出结论。5391压缩算法分析CCSDS 算法采用了一种广泛应用的变换+编码模型,如图1所示。输入图像数据首先利用离散小波变换(DW T ,Discrete Wavelet Transform 进行频带分解,以达到能量聚焦和去除相关性的目的,之后模块对变换得到的小波系数进行位平面扫描和熵编码,最后拼接成输出码流。由于采用了位平面编码(B PE ,Bit Plane Encoding ,可对嵌入式码流随机截断,使得图像可以渐进传输,压缩比/压缩质量可以连续调节。 图1CCSDS
8、 压缩算法模型1.1离散小波变换DW T 能够对数据高频成分在由粗到细渐进的空频域上正交分解,像显微镜一样处理任意局部特征,实现高质量压缩。CCSDS 推荐了9/7浮点和整数两种双正交小波变换方法,整数变换可采用定点运算,节省资源,运算量小,适合于FP GA 实现,且能够实现完全重构,故本文算法采用整数小波变换,一维提升公式如式(1、(21。由于二维变换是一维变换的张量积,等效于将图像沿水平和垂直方向顺次进行一维分解。分解得到LL 1、HL 1、L H 1和H H 1子带,其中LL 1为能量聚集的低子带,可继续进行同样的分解。根据协议规定,将原始图像进行三级二维分解,得到10个子带,如图2所示
9、,子带加权后,即可进行位平面编码。 图2小波变换系数位置分布图D j =x 2j +1-916(x 2j +x 2j +2-116(x 2j -2+x 2j +4+12(1C j =x 2j -D j -1+D j2+12(21.2位平面编码三级小波变换后的空频图像,如图2,不同频带的系数形成了树状关系,每个DC 系数对应3个四叉树,共64个成员组成一个家族。位平面编码模块首先根据位置关系,将同一家族成员聚集成8×8的数据块,作为一个单元,并按照相应DC 在LL 3中的排列顺序,将各单元依次排列,然后开始扫描和编码。扫描前首先设定S 个连续排列的单元为一个段,每次扫描编码只针对一个段
10、。段与段之间相互独立扫描编码,以防止空间信道传输中数据丢失的情况下,造成解码端误码扩散。编码分交、直流系数分别进行。在直流系数编码中,DC 系数,AC 深度先按照协议中给定的量化表进行量化,然后对量化系数进行Rice 编码。交流编码分位平面扫描和熵编码两部分。位平面扫描针对交流系数深度设定一系列阈值,按重要性由高到低,每次得到小波系数在一个位平面的有效值,对这些有效值按照1中的扫描算法分5阶段顺序进行,形成转义字,类型值等中间符号,再对这些符号进行熵编码,编码采用查表的方法。1.3图像分块算法通常,空间遥感图像的尺寸都很大(行列通常都大于500像素,如果对整幅像进行变换及编码处理,从时间延迟和
11、资源占用上考虑都是不合理,甚至难于实现的。面对FP GA 有限的片内逻辑和存储资源,为了实现高速数据压缩,本文采取分了块的方法,将整幅图像分成小块,对每一块分别进行处理,块间进行流水操作,在接收端可以分别解码重构合成图像。这种方法,压缩核只对分块图像进行处理,与整幅图像大小无关,大大提高了压缩效率和压缩模块的适用性。但直接将图像独立分块的方法,一般采用延拓来弥补边界数据的不足,在有损压缩的情况下,会丢失块间像素的统计相关性,造成解码重构图像的块效应。本文对9/7整数小波采用补偿边界的冗余分块方法2,以较小的代价解决了边界信息丢失的问题。具体方法如下:以长度为32的一维数据为例。由9/7小波变换
12、公式(1、(2可知,每进行一级小波变换,需要在639前一级数据边界左侧补充4个数据,右侧补充3个数据,以此类推,可得三级变换所依赖的原始数据范围如图3,其中双竖线为边界线。由图可见,最终得到4个直流分量,需要在左侧补充28个数据,在右侧补充21个数据,才能完成运算。因此在本文中,我们每次送入图像块时,将其三级变换所依赖范围的像素数据全部送入,则变换所得到的结果就与整幅图像小波变换所得结果完全一致,避免额外引入块效应。采用此种方法的代价是增加了约5.4倍的片内存储,和3.7倍计算量,但因为所分图像块较小,并不会对硬件资源造成过大压力,相对于整幅图像的计算仍具有较大优势 。图3三级小波变换边界补充
13、数据范围2算法的FP GA 设计与实现采用自顶向下的方法,首先设计总体框架,再分别设计功能模块。2.1算法实现的总体框架如图4所示,由于压缩速率和外部数据输入速率存在差异,所以原始图像数据首先输入缓存,再将缓存内容切分成小块图像送入小波变换模块,变换的中间结果送入小波系数缓存,当变换完成后,BPE 模块接到控制指令,从小波系数缓存中读取数据,先进行家族数据集合,加权,扫描系数深度,直流系数量化等预处理,之后对DC 系数,AC 深度进行Rice 编码,对交流系数进行位平面扫描和编码。直流和交流处理相互独立,可并行执行,以减少压缩时间,所得到的结果送入码字拼接模块,形成连续的码流送入输出缓存。由于
14、DW T 模块与B PE 模块是两个功能独立的模块,因此两模块间工作为流水模式,如图5,使得压缩周期由t DWT +t BPE 变为maxt DWT ,t BPE ,因此可以减少时间延迟,提高压缩效率 。图4 算法实现整体框架图5整体流水结构示意图2.2DWT 模块的电路结构DW T 模块包含分块和小波变换两部分内容。分块按照1.3所述方法,每次从缓存读取67×67大小图像数据块送入小波变换模块计算,相邻读取的图像块会有重叠。对小波变换来说,变换速率和资源占用情况直接影响到整体性能。关于小波变换的硬件实现方法,已有许多相关文献324作了报道。本文中,因为压缩速率的瓶颈取决于周期最长的
15、流水环节,即B PE 环节,所以从算法整体框架出发,可以适当放宽对小波变换速率的要求,转而面向资源节省考虑问题。因此,本文采取复用一维变换的方法来实现三级二维变换。结构如图6。为降低存储控制的复杂性和保持数据同时读取和存储,分配两块同等大小的片内缓存。输入数据经接口控制模块进入一维小波变换,行变换后的结果送入缓存2,经缓存2读取数据继续送入一维小波变换,列变换的结果送入缓存1,此时完成一级变换。接下来由缓存1读取相应位置的数据,重复上述过程进行第二级和第三级变换,最终变换结果存放在缓存1中,由接口控制模块控制结果输出 。图6小波变换实现结构一维小波变换采取提升格式,将乘法转换成加法和移位操作,
16、方法如下:由式(1、(2可以得到其等效表达式(3、(4:D j =x 2j +1-116(x 2j +x 2j +2-x 2j -2-x 2j +4+8(x 2j +x 2j +2+1(3739C j =x 2j -1-D j -1-D j2(4由式(3、(4可得到计算步骤,描述如下:step1:temp1<=x 2j +x 2j +2-x 2j -2-x 2j -4;temp2<=(x 2j +x 2j +2+1<<<3;step2:D j <=x 2j +1-(temp1+temp2>>>4;step3:C j <=x 2j -(
17、2-D j -1-D j >>>2;step 之间采用流水操作,保证每个周期输出一个结果,以此保持输出紧凑连续。2.3BPE 模块的电路结构BPE 模块针对一个段的数据进行处理,包括预 处理,DC ,ACDept h 编码,块内扫描,AC 熵编码及码字拼接五个部分。2.3.1预处理首先进行编码前的预处理。当B PE 模块从总体控制模块得到DW T 模块完成信号时,即开始从小波系数缓存中读取数据,根据读取数据的地址,可以判断小波系数的频带位置及家族归属情况,以此对小波系数进行加权和家族聚合,形成扫描单元,同时对读取的小波系数测量数据深度,最终得到整个段内各扫描单元的DC 深度和
18、AC 深度(ACDept h ,加权表见1。段内全部数据读取之后,暂存于寄存器中,然后对DC 进行量化,量化表见1。2.3.2直流编码预处理之后,编码分两路并行进行。一路是针对DC 量化值和ACDept h 的Rice 编码,另一路是针对DC 的量化余数和AC 系数的位平面编码。在Rice 编码中,包括差分,映射,编码参数选择,和变长编码几个步骤。其中,编码参数的选择有遍历寻优和次优公式两种方法,为节省运算,本文采用次优公式计算编码参数。由于Rice 编码实现方法较为成熟,本文不作详细阐述。2.3.3位平面扫描与编码AC 系数和DC 量化余数的位平面编码,是算法的核心部分,由块内扫描和AC 熵
19、编码两个模块完成。如图7所示,bp 表示位平面,B 表示块,N 为AC 深度,S 为段内所含扫描单元的数目。输入数据首先存放在寄存器中,AC 系数按照位平面从高到低逐层扫描,一个位平面包含S 个扫描单元,在一个扫描单元中,系数扫描的次序如图8所示,分为五个stage 。stage0为DC 余数扫描,stage1,stage2,stage3为扫描AC 系数并形成转义符号,对上层位平面已扫描中的像素在本平面中由stage4直接记录剩余数值而不做符号转换。扫描的过程中,下一层的扫描结果与上一层的扫描结果紧密相关,因此要记录扫面历史信息,在生成新扫描字时进行参考。由于扫描单元间无交叉信息,所以在本文的
20、设计中,采用S 个单元并行扫描以提高编码效率。扫描中位平面间存在顺序关系,但各位平面编码是相互独立的,所以多个位平面间扫描与编码可以采用流水结构处理。扫描模块对一个位平面进行扫描,扫描过后即送入编码模块进行编码。在编码的过程中,首先要计算编码选项,方法是遍历所有选项的码字长度,累加比较,挑选使码长最小的选项,之后,即可根据选项查表映射码字。映射表见1。2.3.4码字拼接与随机截断由于码流以8位或16位字节为输出单位,必须将编码输出的零散变长码字拼接成以字或字节为单位的码流。本文实现结构如图9。当读信号有效,则读取输入码字,截取有效位,与剩余位拼接,如果凑足了新的单位码流则输出,并将剩余位右移;
21、若不足以形成新的单位码流,则拼接后一同作为剩余位暂存。同时,为了对压缩比进行灵活控制,要求可以随时截断码流,在码字拼接并输出的环节添加位计数,一旦计数器满足了压缩比,将立刻输出停止编码信号。这样可以省去不必要的计算。为了防止码流不足的情况发生,当读信号无效而补0信号有效时,将不输入码字,输入8位0,用0补充不足的码流。839 图9码字拼接及数据截断功能结构3测试及结果分析本文采用Xilinx 的XC2V6000 器件作为设计验证平台,以此器件为核心搭建了验证系统。上层为验证板,FP GA 芯片外围配有4片RAM ,下面有一层基于U SB 的接口板,两个U SB 口与PC 机相连,分别为上行和下
22、行数据传输通道,由PC 机作为图像源和接受方,可对不同大小的图像以可变的发送速率进行测试本文选取一系列512×512的8bit 遥感灰度图进行测试,采用40M Hz 时钟,进行8倍压缩,耗时均为35ms 左右,峰值信噪比均大于30dB ,资源占用率约为60%,能够满足某些航天应用的需求。图10是其中三幅图像的原图和解压图对比,压缩时间和效果如表1。5为SST (Space Solar telescope 应用的压缩实现方法,与之相比,本设计更具有适合航天应用的功能优势,对比如表2。图10所得火星及月球表面图像的原图及解压图表1实测压缩性能压缩比CR峰值信噪比PSNR时间/ms火星表面
23、833.6337.74月面1839.9537.04月面2838.9238.58表2两种设计压缩功能对比算法变换实现平台处理模式压缩效果5EZW 5/3整数FP GA +DSP 不分块,不抗误码参考项设计CCSDS 9/7整数FP GA 分块,抗误码扩散更优64结论本文基于CCSDS 图像压缩协议,采用边界补偿的冗余分块方法,设计实现了高效的星载图像压缩模块。通过采用并行结合流水的功能结构,提高了在轨压缩的效率,实验表明,能够满足某些航天应用的需求,说明了设计方法的合理性,也为进一步的改进优化提供了经验。参考文献:1CCSDS.Image Data Compression.CCSDS122.02B 21S.2005,11.2Ritter J ,Moli
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025室内墙面涂料合同范本
- 人民医院传染病楼智能化提升工程项目技术规范书
- 2025混凝土厂租赁经营合同示范文本
- 2025年关于委托授权与委托合同的差异有哪些
- 2024年收费的生产服务项目资金筹措计划书代可行性研究报告
- 2025年中国工程建设项目合同条件的特色
- 2025企业聘请劳务合同的
- 2025汽车销售项目首付分期付款合同
- 2025桥梁混凝土浇筑工程劳务承包合同
- 《疾病常识讲解》课件
- 陕西省2024年中考语文现代文阅读真题
- 2025届高考语文二轮复习:文言文知识点与答题技巧汇编 讲义
- Unit 5 Here and now Section A Grammar 说课稿 2023-2024学年人教版英语七年级下册
- 地下综合管廊建设项目可行性研究报告
- 基于多源异构数据的地质知识图谱构建与应用
- 2024年战略规划咨询服务合同
- 2024年领导干部任前廉政知识考试测试题库及答案
- 《公共资源交易主体信用评价实施指南》编制说明
- 2024年度山东省国家电网招聘之管理类测试卷(含答案)
- 煤矿防突专项设计(样本)
- 绍兴银行社会招聘真题
评论
0/150
提交评论