符合ccsds标准的比特平面编码硬件结构及方法

文档序号:7552344阅读:151来源:国知局
专利名称:符合ccsds标准的比特平面编码硬件结构及方法
技术领域
本发明属于通信技术领域,更进一步涉及图像处理技术领域中的符合CCSDS (Consultative Committee for Space Data Systems)图像压缩标准的比特平面编码硬件结构及方法。本发明可以高效低资源地实现比特平面编码器,适用于航空航天的图像压缩系统。
背景技术
CCSDS图像压缩方法广泛应用于图像压缩领域,针对图像数据压缩标准CCSDS122.0-B-1,其算法描述中对各个比特平面采用串行的编码方法,若硬件按照串行的方法进行编码,则系统编码效率较低,无法满足卫星图像压缩系统高吞吐率的要求。中国科学院空间科学与应用研究中心申请的专利“一种符合CCSDS标准的图像无损压缩处理系统及方法”(专利申请号:200810226720.4,公开号:CN101742299A)中公开了一种涉及CCSDS标准的图像无损压缩处理系统及方法。该系统结构由控制模块、JPEG-LS预处理模块、RICE编码模块和码流拼接模块组成。该方法通过控制模块将16个采样点分组,分组后数据进入预处理模块进行去相关处理,再经RICE编码模块和码流拼接模块得到压缩码流。该专利申请装置的不足之处是:采用串行的编码方式,编码速率较低。该专利申请的方法不足之处是:所实现的方法仅仅支持图像的无损压缩,不能进行有损图像压缩处理。西北工业大学申请的专利“ IEEE1394接口视频信号实时CCSDS编码系统与智能总线接口方法”(专利申请号:201010577962.5,公开号:CN102075747A)中公开了一种IEEE1394接口视频信号实时CCSDS编码系统与智能总线接口方法。该编码结构包括离散小波变换、直流系数编码、交流系数比特深度编码和交流系数编码四个模块。该方法采用时钟切换和数据接收发送的优先级设置,并充分利用了高速逻辑阵列并行性可重构性的特点,实现了图像数据在低速IEEE1394总线和高速智能总线的双向数据交互,提高了数据传输速度。该专利申请编码结构的不足之处是:采用状态机跳转的方式依次完成各部分编码,编码效率较低。该专利申请方法的不足之处是:仅仅采用数据接收和发送的速率优化方法,对于CCSDS编码系统中的比特平面编码部分的实现方法未提及。张学全等人发表的论文“CCSDS星载图像压缩模块的FPGA设计与实现”(《半导体光电》2009年12月第30卷第6期)中提出了一种采用CCSDS图像压缩算法的FPGA实现方法。该论文中提出了 CCSDS图像压缩算法的整体架构,其中编码结构由预处理、直流编码、位平面扫描与编码以及码字拼接四个部分组成。该结构对于位平面扫描采用并行处理的方法,但是在后续的比特平面编码模块,仍然采用依次编码的方法,使得编码效率严重受限。该FPGA实现方法的不足之处是:未针对FPGA内部结构来合理分配硬件资源,导致硬件资源开销较大。

发明内容
本发明的目的在于针对上述已有技术的不足,提出一种基于CCSDS图像压缩标准标准的硬件结构及方法,采用并行流水技术,高效低资源地实现比特平面编码器。本发明的硬件结构包括扫描模块、位置存储器、比特平面编码模块和码流组织模块;所述的位置存储器的输出端分别与扫描模块、比特平面编码模块的输入端相连,扫描模块的输出端与比特平面编码模块的输入端相连,比特平面编码模块的输出端与码流组织模块的输入端相连;其中:所述的扫描模块,用于对各子集中小波系数的16个比特平面进行“或”操作获得
重要性信息;所述的位置存储器,用于提供各个小波系数所属集合的信息;所述的比特平面编码模块,用于对小波系数进行压缩编码;所述的码流组织模块,用于对压缩编码产生的码字进行拼接后输出。本发明的编码方法包括以下步骤:(I)接收小波系数数据:按照子集相邻的顺序依次接收外部输入的小波系数数据,每一个时钟周期接收一个小波系数数据;(2)提供位置信息:顺序循环访问位置存储器,每一个时钟周期内选取一个位置信息;(3)扫描重要性信息:3a)扫描模块将小波系数的各个比特位做“或”运算,将结果作为当前小波系数的
重要性信息;3b)扫描模块将小波系数各个比特平面以集合为单位做“或”运算,将结果作为系数集合的重要性信息;(4)生成系数字:4a)系数字生成模块将CCSDS标准中定义的各种类型系数字的生成条件和结果,存储在系数字查找表中;4b)系数字生成模块将步骤(3)中获得的小波系数和系数集合重要性信息,输入到系数字查找表中,在表中查找与之对应的系数字;(5)映射符号值:5a)将系数字的类型值、长度、符号映射关系表,存储到只读存储器ROM中;Sb)符号映射模块根据符号映射关系表将系数字映射成符号值,并将符号值存储于双端口存储器中;(6)计算编码方式:6a)编码选项计算模块对符号值按类别对应的不同编码方式的码字长度求和;6b)比较求和值,将最小求和值的编码方式,作为符号值对应的熵编码方式;(7)熵编码:7a)熵编码器将符号值对应的各种熵编码方式的码字表存储于只读存储器ROM中;7b)熵编码器依次读取步骤5b)中双端口存储器中的符号值,按熵编码方式在只读存储器ROM中查找对应的码字;(8)输出合成码流:
码流组织模块将熵编码产生的码字按照CCSDS标准中的码流格式进行组织,得到合成码流,输出合成码流。本发明与现有技术相比具有如下优点:第一,本发明在比特平面编码模块中采用并行流水结构,通过多个比特平面复用一个符号映射模块和熵编码器的方法,克服了现有技术编码效率低、硬件资源开销大的缺陷,使得本发明高效、低资源地实现了压缩编码。第二,本发明在扫描模块中采用流水线的处理方式,克服了现有技术采用并行扫描的方式消耗过多硬件资源的缺陷,使得本发明具有硬件资源开销小的优点。第三,本发明针对现场可编程门阵列FPGA芯片的内部结构,采用只读存储器ROM实现编码映射,克服了现有技术全部采用逻辑资源实现映射编码的缺陷,使得本发明的硬件结构能够在硬件资源较少的FPGA芯片上得以实现。第四,本发明采用“或”运算获取重要性信息的方法,克服了现有技术采用阈值比较的方法的计算复杂度高的缺陷,使得本发明具有计算复杂度低的优点。


图1为本发明硬件结构的示意图;图2为本发明编码方法的流程图;图3为本发明小波系数子集示意图。
具体实施例方式下面结合附图对本发明做进一步的描述。参照图1,本发明的硬件结构如下:本发明的硬件结构包括扫描模块、位置存储器、比特平面编码模块和码流组织模块;所述的位置存储器的输出端分别与扫描模块、比特平面编码模块的输入端相连,扫描模块的输出端与比特平面编码模块的输入端相连,比特平面编码模块的输出端与码流组织模块的输入端相连。扫描模块对各子集中小波系数的16个比特平面进行“或”操作获得重要性信息;位置存储器提供各个小波系数所属集合的信息;比特平面编码模块依据位置信息对小波系数的重要性信息进行压缩编码;码流组织模块对压缩编码产生的码字按照CCSDS标准中的码流格式进行组织后输出。比特平面编码模块包括16个系数字生成模块、8个符号映射模块、16个编码选项计算模块、16个双端口存储器和4个熵编码器;图1中用编号I到16表示系数字生成模块和双端口存储器的数量,用编号I到8表示符号映射模块的数量,用编号I到4表示熵编码器的数量。系数字生成模块用于将各个比特平面的重要性信息编码成系数字;符号映射模块用于将系数字映射成符号;编码选项计算模块用于选择最优的熵编码方式;双端口存储器用于缓存映射产生的符号值;熵编码器用于对符号值进行熵编码。比特平面编码模块采用多个子模块并行处理的结构,可同时处理16个比特平面的系数数据,具有较高的编码效率,通过流水线技术实现16个比特平面复用8个符号映射模块和4个熵编码器,降低了硬件结构的资源开销。每相邻两个系数字生成模块的输出端连接到一个符号映射模块的输入端,一个符号映射模块的输出端分别与相邻的两个编码选项计算模块、相邻的两个双端口存储器的输入端相连,相邻的四个编码选项计算模块和相邻的四个双端口存储器的输出端连接到一个熵编码器的输入端。本发明中各模块按照编号依次递减的方式相互连接,由于模块数量较多且连接方式相同,现对其中部分模块的连接进行具体说明:系数字生成模块16和系数字生成模块15的输出端连接到符号映射模块8的输入端;符号映射模块8的输出端分别与编码选项计算模块16、编码选项计算模块15、双端口存储器16、双端口存储器15的输入端相连,编码选项计算模块16、编码选项计算模块15、双端口存储器16、双端口存储器15的输出端连接到熵编码器4的输入端。参照图2,本发明方法的具体实施步骤如下:步骤I,接收小波系数数据。按照子集相邻的顺序依次接收外部输入的小波系数数据,每一个时钟周期接收一个小波系数数据。子集相邻的顺序是指,依次接收直流系数、父亲节点系数子集、儿子节点系数子集、孙子节点系数子集。其中,父亲节点系数子集包括三个系数;儿子节点系数子集共有三个,每个子集包括四个系数;孙子节点系数子集共有三个,每个子集包括16个系数;再加上一个直流系数,共64个小波系数组成一个块。如图3所示,每个小格表示一个小波系数,灰色小格表示64个小波系数组成的一个块,三个虚线框内的灰色小格组成三个家族。图3中一个块包含一个直流系数fo,P1, P2分别表示三个家族的父亲节点系数;(;,C1, C2分别表示三个家族的儿子节点系数子集Ac^GpG2分别表示三个孙子节点系数子集,每个孙子节点系数子集又按照位置关系进一步划分为Htl, H1, H2, H3四个子集合。步骤2,提供位置信息。顺序循环访问位置存储器,每一个时钟周期内选取一个位置信息,采用64个时钟周期选取一个块的小波系数的位置信息。位置信息包括四个集合有效标志位、两个集合起始标志位和一个集合终止标志位,分别用于标记Ctl集合有效系数、C1集合有效系数、C2集合有效系数、孙子节点系数集合有效系数、家族起始系数、H子集合的起始系数、所有集合终止系数。步骤3,扫描重要性信息。采用流水线的处理方式,将小波系数的各个比特位做“或”运算,将结果作为当前小波系数的重要性信息,共需要64个时钟周期获取一个块内全部小波系数的重要性信息。由小波系数的位置信息判断当前系数是否为步骤I中所述集合的最后一个系数,若不是,则将同一子集内相邻小波系数的各比特平面做“或”运算,缓存运算结果并等待处理下一个小波系数,否则,将同一子集内相邻将小波系数的各比特平面做“或”运算的结果作为系数集合的重要性信息。所述的比特平面是指,以二进制数表示小波系数时,系数权值相同的比特组成的集合。步骤4,生成系数字。将CCSDS标准中定义的38种类型系数字的生成条件和结果,存储在系数字查找表中。系数字共分为六类,分别用以下符号表示AypesJ^j]、signsbO)、tranB、tranD、trane
和^,每一类系数字对应一种系数字查找表。将步骤3中获得的小波系数和系数集合重要性信息,按照位置信息输入到相应的系数字查找表中,在表中查找与之对应的系数字。步骤5,映射符号值。将系数字的类型值、长度、符号映射关系表,存储到只读存储器ROM中,将CCSDS标准中符号值的三个映射表合并为一个映射表,其中符号值的取值范围为“0”到“29”。根据符号映射关系表将系数字映射成符号值,并将符号值存储于双端口存储器中。将各个比特平面的系数字输入,每两个比特平面复用一个符号值映射结构,分时获得各个比特平面的符号映射值,同时依照CCSDS标准判断每个系数字属于第几级码流,记录其级数信息。比特平面编码部分主要分为三级输出:第一级包含trpesJP],signsb[P];第二级包含 tranB, tranD, typesjcj, signsjcj ;第三级包含 tranG, tranHi;typesjHij], signsjHij]。本发明将CCSDS标准中符号值的三个映射表合并为一个映射表,如表I所不,符号值映射表中符号值的编号取值范围是‘0-29’,其中编号‘0-3’对应长度为两比特的系数字,编号‘4-11’对应长度为三比特的系数字,编号‘12-27’对应长度为四比特的系数字,编号‘28’对应系数字为单比特‘0’的符号值,编号‘29’对应系数字为单比特‘I’的符号值。表I符号值映射表
权利要求
1.一种符合CCSDS标准的比特平面编码硬件结构,包括扫描模块、位置存储器、比特平面编码模块和码流组织模块;所述的位置存储器的输出端分别与扫描模块、比特平面编码模块的输入端相连,扫描模块的输出端与比特平面编码模块的输入端相连,比特平面编码模块的输出端与码流组织模块的输入端相连;其中: 所述的扫描模块,用于对各子集中小波系数的16个比特平面进行“或”操作获得重要性信息; 所述的位置存储器,用于提供各个小波系数所属集合的信息; 所述的比特平面编码模块,用于对小波系数进行压缩编码; 所述的码流组织模块,用于对压缩编码产生的码字进行拼接后输出。
2.根据权利要求1所述的符合CCSDS标准的比特平面编码硬件结构,其特征在于,所述的比特平面编码模块包括16个系数字生成模块、8个符号映射模块、16个编码选项计算模块、16个双端口存储器和4个熵编码器;所述的系数字生成模块的输出端连接到符号映射模块的输入端,符号映射模块的输出端分别与编码选项计算模块、双端口存储器的输入端相连,编码选项计算模块和双端口存储器的输出端连接到熵编码器的输入端;其中: 所述的系数字生成模块, 用于将各个比特平面的重要性信息编码成系数字; 所述的符号映射模块,用于将系数字映射成符号; 所述的编码选项计算模块,用于选择最优的熵编码方式; 所述的双端口存储器,用于缓存映射产生的符号值; 所述的熵编码器,用于对符号值进行熵编码。
3.根据权利要求1所述的符合CCSDS标准的比特平面编码硬件结构,其特征在于,所述的比特平面编码模块采用只读存储器ROM实现符号映射和熵编码。
4.一种符合CCSDS标准的比特平面编码方法,包括以下步骤: (1)接收小波系数数据: 按照子集相邻的顺序依次接收外部输入的小波系数数据,每一个时钟周期接收一个小波系数数据; (2)提供位置信息: 顺序循环访问位置存储器,每一个时钟周期内选取一个位置信息; (3)扫描重要性信息: 3a)扫描模块将小波系数的各个比特位做“或”运算,将结果作为当前小波系数的重要性信息; 3b)扫描模块将小波系数各个比特平面以集合为单位做“或”运算,将结果作为系数集合的重要性信息; (4)生成系数字: 4a)系数字生成模块将CCSDS标准中定义的各种类型系数字的生成条件和结果,存储在系数字查找表中; 4b)系数字生成模块将步骤(3)中获得的小波系数和系数集合重要性信息,输入到系数字查找表中,在表中查找与之对应的系数字; (5)映射符号值: 5a)将系数字的类型值、长度、符号映射关系表,存储到只读存储器ROM中;5b)符号映射模块根据符号映射关系表将系数字映射成符号值,并将符号值存储于双端口存储器中; (6)计算编码方式: 6a)编码选项计算模块对符号值按类别对应的不同编码方式的码字长度求和; 6b)比较求和值,将最小求和值的编码方式,作为符号值对应的熵编码方式; (7)熵编码: 7a)熵编码器将符号值对应的各种熵编码方式的码字表存储于只读存储器ROM中; 7b)熵编码器依次读取步骤5b)中双端口存储器中的符号值,按熵编码方式在只读存储器ROM中查找对应的码字; (8)输出合成码流: 码流组织模块将熵编码产生的码字按照CCSDS标准中的码流格式进行组织,得到合成码流,输出合成码流。
5.根据权利要求4所述的符合CCSDS标准的比特平面编码方法,其特征在于,步骤(I)中所述子集相邻的顺序是指,依次接收直流系数、父亲节点系数子集、儿子节点系数子集、孙子节点系数子集。
6.根据权利要求4所述的符合CCSDS标准的比特平面编码方法,其特征在于,步骤(2)中所述的 位置信息包括四个集合有效标志位、两个集合起始标志位和一个集合终止标志位。
7.根据权利要求4所述的符合CCSDS标准的比特平面编码方法,其特征在于,步骤(3)中所述的比特平面是指,以二进制数表示小波系数时,系数权值相同的比特组成的集合。
8.根据权利要求4所述的符合CCSDS标准的比特平面编码方法,其特征在于,步骤(5)中所述的符号映射关系表是将CCSDS标准中符号值的三个映射表合并得到的。
9.根据权利要求4所述的符合CCSDS标准的比特平面编码方法,其特征在于,步骤6a)中所述的类别是指将符号值按照系数字长度分为两比特、三比特、四比特三类。
10.根据权利要求4所述的符合CCSDS标准的比特平面编码方法,其特征在于,步骤6b)中所述的熵编码方式共有九种,包括两比特符号对应的两种熵编码方式,三比特符号对应的三种熵编码方式,四比特符号对应的四种熵编码方式。
全文摘要
本发明公开了一种符合CCSDS标准的比特平面编码硬件结构及方法。本发明的硬件结构包括扫描模块、位置存储器、比特平面编码模块和码流组织模块。本发明的编码方法的具体步骤包括(1)接收小波系数数据;(2)提供位置信息;(3)扫描重要性信息;(4)生成系数字;(5)映射符号值;(6)计算编码方式;(7)熵编码;(8)输出合成码流。本发明采用“或”运算获取重要性信息的方法,降低了计算复杂度,采用只读存储器ROM实现映射编码,降低了硬件资源开销。本发明采用并行流水结构,通过多个比特平面复用同一映射编码模块的方法,克服了现有技术编码效率低、硬件资源开销大的缺陷,高效低资源地实现了比特平面编码。
文档编号H04N7/26GK103108185SQ201310054239
公开日2013年5月15日 申请日期2013年1月31日 优先权日2013年1月31日
发明者雷杰, 陆懿, 李云松, 王舒瑶, 刘凯, 郭杰 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1