太赫兹科学与电子信息学报  2020, Vol. 18 Issue (6): 998-1002     DOI: 10.11805/TKYDA2019202
一种基于小波变换的遥测图像编码新方法    [PDF全文]
蒋春蕾     
西昌学院 机械与电气工程学院,四川 西昌 615013
摘要: 为了实现火箭遥测图像的高效处理,优化火箭遥测图像的编码流程,提出了一种基于小波变换的火箭遥测图像编码新方法。在图像小波变换的基础上,以空间方向树为编码单位,采用改进的分层树集合分割(SPIHT)算法实现图像重要小波系数的比特平面编码,并采用联合码率优化截取方法,优先截取和传输重要比特平面的遥测图像数据。通过系统测试,结果表明:与传统的火箭遥测图像编码方法相比,新的遥测图像编码方法具有丢帧率低、重构图像质量好、编码效率高等优点,满足运载火箭遥测图像处理和传输的工程需求。
关键词: 小波变换    遥测图像    图像编码    改进的SPIHT算法    
A new encoding method of telemetry image based on wavelet transform
JIANG Chunlei     
School of Mechanical and Electrical Engineering, Xichang College, Sichuan Xichang 615013, China
Abstract: In order to realize the efficient disposal of rocket telemetry image and optimize its encoding process, a new encoding method of rocket telemetry image based on wavelet transform is put forward. On the basis of image wavelet transform, the modified Set Partitioning In Hierarchical Tree(SPIHT) algorithm is adopted to realize the bit flat encoding of important wavelet coefficient in the image by the encoding unit of space direction tree, the optimized interception method of united code rate preferentially cuts out and transmits the important bit flat data of telemetry image. Through the system testing, the results demonstrate that compared with the traditional encoding method of rocket telemetry image, the new encoding method has the advantage of low frame-drop-ratio, good quality of reconstructed image, and efficient encoding, etc, which can meet the engineering requirements of the disposal and transmission of rocket telemetry image.
Keywords: wavelet transform    telemetry image    image encoding    modified SPIHT algorithm    

在航天发射任务中,为了能够准确了解和掌握运载火箭飞行中的关键技术状态,如火箭的助推器分离、级间分离、星箭分离等,在运载火箭的关键部件上安装了摄像头。在火箭飞行过程中,这些摄像头将采集到的关键技术状态的图像通过遥测信道发送给地面的遥测设备,经过挑路、解码后显示。由于受遥测信道带宽的限制,以及火箭箭上系统的高可靠性、低复杂度、低功耗等要求,需要将火箭上摄像头采集到的视频图像进行压缩编码处理,降低视频数据传输带宽,减小视频图像数据的存储空间。如何在不增加箭上系统复杂度的前提下,研究一种既适用静止图像压缩,也适用运动图像压缩的高效、可靠的箭上视频图像编码方法,一直是航天系统设计的重点。

对于静止图像,目前主要采用JPEG2000[1]静态图像压缩编码方法,由于JPEG2000图像编码方法的计算复杂度较高,图像数据处理的存储量较大,硬件实现的复杂度也较高,因此,JPEG2000图像编码方法不适用于火箭遥测图像的压缩编码。对于运动图像,目前主要采用H.264/AVC[2]视频图像编码标准,分帧内和帧间两种情况对运动视频图像进行预测编码,实现运动图像的压缩编码。由于运载火箭的箭上遥测图像的运动画面相对较少,画面内容相对简单且变化较为缓慢,因此,H.264/AVC图像编码方法也不适用于火箭遥测图像的压缩编码。在不增加箭上硬件设备复杂度的前提下,为了降低箭上系统的质量和功耗,本文提出一种基于小波变换的运载火箭遥测图像编码新方法,优化了箭上遥测图像的编码流程,给出了图像编码算法的实现过程和码流截取方法,并通过系统测试,验证了新的遥测图像编码方法的可行性和有效性。

1 图像编码方法

为了实现对遥测图像的高效编码,首先对图像进行预处理,经过离散小波变换获得图像数据的小波系数,通过图像编码算法实现图像小波系数的比特平面编码,最后采用联合码率优化截取方法,获得系统设定的遥测码流。

1.1 图像预处理

为了提高图像压缩的效率,降低图像各分量的相关性,需要对获得的遥测图像进行预处理,包括分量变换、直流电平平移等[3]

1.2 图像小波变换

小波变换[4]可以有效提取信号的局部特征,具有较好的多分辨率特性和时频局部特性,一直是图像压缩的研究热点。遥测图像小波变换的实现过程包括分离、预测和更新三步。

1.3 图像编码算法

经过小波变换,得到图像数据的小波系数,将这些小波系数按照重要程度从高到低进行排序,得到一个比特平面,然后对这个比特平面进行量化编码。在比特平面编码方法中,目前较为流行的编码算法有:嵌入式零树小波[5](Embedded Zero-tree Wavelet,EZW)编码算法、基于分层树集合分割[6](SPIHT)编码和基于优化截至的嵌入式块[7](Embedded Block Coding by Optimized Truncation,EBCOT)编码等。与其他2种算法相比,SPIHT[8]算法具有复杂度较低、图像恢复质量高、编码速度快等优点,非常适用于星上遥测图像的压缩,但SPIHT算法需要3个附加链表存储编码信息,对星上存储空间要求较高,在硬件实现上存在一定的困难。因此,本文对SPIHT算法进行改进,用于星上遥测图像压缩编码。

1) 生成空间方向树:经过小波分解后,图像的小波系数按照频带从低到高的顺序,组成一个空间方向树。在这棵树中,树的根节点是最低频子带,除了最高频子带,其余子带在高一级子带的对应位置均有4个孩子,这4个孩子组成2×2矩阵,且这些叶节点的行、列坐标均为偶数。以左遍历的方式进行顺序扫描,得到一个完整的空间方向树,然后通过集合划分方法,将小波系数进行重排,并用标志位图区分不同集合的重要性。以3次小波变换的图像为例,生成的空间方向树见图 1

Fig.1 Spatial orientation tree diagram of image after three times wavelet transform 图 1 三次小波变换图像的空间方向树示意图

为了方便后续描述,对空间方向树中的相关符号定义如下:该空间方向树所有根节点的坐标集合为H,任意取树中的一个节点(i, j),设它的小波系数值为ρi, j,该节点的父节点坐标集合为P(i, j),与该节点直接相连的子节点的坐标集合为C(i, j),该节点的孙节点的坐标集合为G(i, j),该节点的子孙节点的坐标集合为D(i, j),则有D(i, j)=C(i, j)+G(i, j)。方向树中各节点集合之间的树形关系见图 2

Fig.2 Tree relationship among node sets 图 2 各节点集合之间的树形关系

用函数FIρ(i, j), FID(i, j)和FIG(i, j)分别表示该节点的小波系数、子孙节点和孙节点的重要性,其重要性按式(1)进行计算:

${S_n}(B) = \left\{ \begin{array}{l} 1, \begin{array}{*{20}{c}} {}&{\max \mathop {\left\{ {\left| {{\rho _{i, j}}} \right|} \right\}}\limits_{(i, j) \in B} \geqslant {2^n}} \end{array} \\ 0, \begin{array}{*{20}{c}} {}&{{\rm{otherwise}}} \end{array} \\ \end{array} \right.$ (1)

式中:${S_n}(B)$为重要性函数;B代表节点坐标的集合;n为小波变换的次数;2n为门限值。如果集合中有节点的小波系数的幅值大于或等于门限值,则认为这个集合是重要的,并取值为1;如果集合中所有节点的小波系数的幅值均小于门限值,则认为该集合不重要,并取值为0,在编码时用1 bit数据表示这个集合,从而达到简化编码的目的。在编码中,需要了解本层与上层比特平面的重要性,则本层比特平面的相应重要性函数分别为FIρ-new(i, j), FID-new(i, j)和FIG-new(i, j),上层比特平面的相应重要性函数分别为FIρ-old(i, j), FID-old(i, j)和FIG-old(i, j)。

2) 改进的SPIHT编码算法:改进的SPIHT编码算法以单棵空间方向树为编码单位,算法实现过程如下:

Step1:初始化。将本层和上层的比特平面重要性函数FIρ-old(i, j), FID-old(i, j), FIG-old(i, j), FIρ-new(i, j), FID-new(i, j)和FIG-new(i, j)置为空,并按照式(2)计算小波变换次数n

$n = \left\lfloor {{{\log }_2}\left[ {\max \mathop {\left\{ {\left| {{\rho _{i, j}}} \right|} \right\}}\limits_{\forall i, j} } \right]} \right\rfloor $ (2)

Step2:节点重要性扫描。利用式(1)的重要性函数,按照下面的顺序对空间方向树中的节点进行重要性扫描:首先扫描低级子带,再扫描高级子带,最后扫描树根节点;在同级子带间,先扫描HL子带,再扫描LH子带,最后扫描HH子带。a)对于树中任意一个节点(i, j),如果该节点的小波系数值ρi, j在本层比特平面重要,则置FIρ-new(i, j)=1,并将ρi, j减去门限值2n;同时,也表明该节点的父节点也重要,并置FID-new[P(i, j)]=1;如果该节点的小波系数值ρi, j在本层比特平面不重要,则置FIρ-new(i, j)=FIρ-old(i, j)。b)如果节点(i, j)是空间方向树的叶节点,并且满足FID-new(i, j)=1,则该节点的父节点下的所有子孙节点当前也重要,并置FID-new[P(i, j)]=1,FIG-new[P(i, j)]=1。

Step3:比特编码。按照以下原则进行比特平面编码:a)如果节点(i, j)是空间方向树的叶节点,且满足FID-new[P(i, j)]=1,或,如果节点(i, j)是空间方向树的根节点,则输出该节点小波系数ρi, j的第n个比特位。b)如果节点(i, j)在上层比特平面不重要,而在本层比特平面重要,即满足条件:FIρ-old(i, j)=0且FIρ-new(i, j)=1,则输出该节点小波系数ρi, j的符号位。c)如果节点(i, j)是空间方向树的叶节点,该节点的子孙节点D(i, j)在上层比特平面不重要,而该节点的父节点的孙节点在本层比特平面重要,即满足条件:FID-old(i, j)=0且FIG-new[P(i, j)]=1;或,如果节点(i, j)是空间方向树的根节点,且满足条件:FID-old(i, j)=0,则输出FID-new(i, j)=1。d)如果节点(i, j)存在孙节点G(i, j),满足条件:FIG-old(i, j)=0且FID-new(i, j)=1,则输出FIG-new(i, j)=1。e)如果节点(i, j)的子孙节点D(i, j)在本层比特平面重要,即满足FID-new(i, j)=1,则扫描该节点的所有子孙节点,并按照前面的编码原则进行比特编码,直到所有子孙节点均完成编码处理。

Step4:更新量化步长。每完成一棵空间方向树的编码,则n减去1,然后跳转到Step2进行下一轮编码,直到n=1,所有空间方向树均完成编码或达到系统设置的码率时,停止对图像的压缩编码。

与传统的SPIHT编码算法相比,改进的SPIHT编码算法在执行过程中,仅需存储一棵空间方向树所对应的信息,大大降低了对箭上存储器的容量需求,易于硬件实现。在一个比特平面内,将扫描过程与编码过程分离,提高了算法的抗误码扩散能力,同时,将不同比特平面的编码采用并行处理,提高了遥测图像的编码处理速度。

1.4 联合码率截取

为了达到最佳的图像数据流截取效果,以遥测图像帧间离散小波变换的分组为单位,联合优化截取遥测图像的码流。具体的截取过程见图 3

Fig.3 Optimization interception process of joint code rate 图 3 联合码率优化截取过程

联合码率优化截取过程如下:首先,对分组内的每帧图像进行基于空间方向树的快速编码;然后,按照比特平面的重要性从高到低的顺序截取图像的比特码流;在同一比特平面内,按照分组的第一帧到最后一帧的顺序依次截取图像的比特码流,当截取的遥测图像码流达到系统预先设置值时,停止图像码流的截取。

2 系统测试与分析 2.1 测试条件

以某次航天发射的遥测图像视频为基本的图像源,它既包括了运载火箭飞行、发动机二次点火、级间分离等运动图像,也包括了二级、三级发动机工作状况等静止图像,典型图像见图 4图 5。小波变换采用离散9/7小波基,变换级数为3级,图像边界处采用对称延拓,延拓单元设定为4,图像分辨力为1 024×1 024 bit,比特精确度为8 bit,编码块的大小为64×64 bit。分别采用以下2种方案对图像进行压缩编码和码流截取:第一种方案,采用传统SPIHT编码算法进行图像压缩,利用单帧独立码流截取方法对编码数据流进行码流截取(以下简称:传统方案);第二种方案,采用本文改进的SPIHT编码算法对图像进行压缩,利用联合码率优化截取方法对编码后的数据流进行码流截取(以下简称:本文方案)。两种方案截取的遥测数据码率均为2 Mbit/s,通过同一套解码设备,对上述两种方案的遥测数据流进行图像数据挑路处理,并用同一套解码软件对遥测图像数据进行解码和图像重构。对于同一个遥测视频流,以500帧图像为一组,共测试300组,从丢帧率和图像质量等方面比较传统方案和本文方案的图像编码性能。

Fig.4 Flight image of carrier rocket after launching 图 4 运载火箭点火飞行图像
Fig.5 Working status image of the secondary engine 图 5 二级发动机工作状态图像
2.2 结果与分析

1) 丢帧率测试结果

调整箭上编码程序的图像压缩比参数,测试压缩比分别为2, 4, 8, 16, 32, 64时,解码软件接收到遥测图像的丢帧率情况。丢帧率的计算方法为:

${R_\text{df}} = \frac{{{d_\text{f}}}}{{{T_\text{f}}}} \times 100\% $ (3)

式中:Rdf为丢帧率;df为接收端的图像解码器丢弃的图像帧数;Tf为遥测图像的总帧数。

采用同一套解码设备处理传统方案和本文方案的遥测图像数据,不同压缩比条件下的遥测图像丢帧率测试结果见图 6。从图 6可以看出,在同一压缩比条件下,本文方案的图像丢帧率小于传统方案的图像丢帧率。随着箭上遥测图像压缩比的增加,图像丢帧率也增加,但本文方案的图像丢帧率增加较为缓慢,当压缩比为64时,遥测图像丢帧率约为3%,不会影响遥测图像的接收和显示;而传统方案的图像丢帧率呈快速增长趋势,当压缩比为64时,遥测图像丢帧率接近9%,接收和显示遥测图像时会出现图像卡顿,严重时会导致解码设备死机。这主要是由于在相同的箭上遥测图像存储容量下,传统方案的图像编码量大于本文方案的图像编码量,导致了部分编码数据被丢弃;同时,在相同码流条件下,本文方案的联合码率截取方法优先传输重要的图像信息,而传统方案的单帧独立码流截取方法将所有图像信息同等处理,也会导致部分重要图像信息因信道码流限制而被丢弃,引起图像丢帧率增加。

Fig.6 Loss frame rate test results of telemetry images with different compression ratios 图 6 不同压缩比下的遥测图像丢帧率测试结果

2) 图像质量测试结果

将接收端解压得到的遥测图像与原始图像相比,得到图像的峰值信噪比(Peak Signal-to-Noise Ratio,PSNR),计算方法如下:

$\left\{ \begin{array}{l} MSE = \frac{1}{{mn}}\sum\limits_{i = 1}^m {\sum\limits_{j = 1}^n {{{\left[ {\hat f(i, j) - f(i, j)} \right]}^2}} } \\ PSNR = 10\lg \frac{{255 \times 255}}{{MSE}} \\ \end{array} \right.$ (4)

式中:MSE(Mean Squared Error)为重构的遥测图像与原始图像之间的均方误差;$\hat f(i, j)$为重构遥测图像的像素灰度值;$f(i, j)$为原始遥测图像的像素灰度值;m×n为图像分辨力大小。

利用PSNR指标评价重构遥测图像的质量。测试中,采用同一遥测图像流,在压缩比为4, 8和32时,以500帧图像为一组,共测试300组,分别在不同压缩比下进行图像重构,并计算其峰值信噪比的平均值,得到的测试结果见表 1。从表 1可以看出,在相同压缩比条件下,本文方案的平均峰值信噪比高出传统方案约10 dB左右,且随着压缩比的增加,本文方案的平均峰值信噪比明显优于传统方案,重构遥测图像的质量得到大幅度改善。这主要是由于在传统方案中,采用SPIHT编码算法进行图像压缩时,只要压缩码流中存在1 bit的错误数据,均会导致该比特数据的后续数据全部失效,从而引起重构图像的峰值信噪比下降;本文采用改进的SPIHT编码算法对图像压缩编码,以单棵空间方向树作为编码单位,各树之间独立编码,一棵空间方向树出现编码错误,不会影响其他空间方向树的编码结果,并且在同一棵树的内部,如果单个节点的比特平面出现编码错误,也不会影响其他节点的编码结果。因此,与传统方案相比,本文方案具有较强的抗误码扩散能力,能够获得较高的重构图像质量。

表 1 不同压缩比条件下的重构图像平均峰值信噪比 Table 1 Average peak signal to noise ratio of reconstructed images under different compression ratios
3 结论

本文优化了运载火箭遥测图像编码流程,并采用改进的SPIHT编码算法实现遥测图像小波系数的高效编码,通过联合码率优化截取方法实现图像数据的重要比特平面优先传输。最后,通过系统测试,结果表明:本文的遥测图像编码方法在重构图像质量性能方面比传统的遥测图像编码方法有极大的提高,有利于箭上遥测图像的实时、高效传输和处理。在后续的研究中,将按照箭上遥测图像的编码方法,对遥测图像的地面接收系统进行改进,实现箭上、箭下遥测图像一体化高效处理,为航天发射任务的指挥决策提供技术支撑。

参考文献
[1]
王建新, 朱恩, 刘文松, 等. 基于JPEG2000的遥感图像感兴趣区域编码新算法及其VLSI设计[J]. 电子与信息学报, 2016, 38(4): 958-963. (WANG Jianxin, ZHU En, LIU Wensong, et al. A new region of interest coding algorithm based on JPEG2000 for remote sensing images and its VLSI design[J]. Journal of Electronics and Information Technology, 2016, 38(4): 958-963.)
[2]
李淑芝, 张翔, 邓小鸿, 等. 基于模式特征的H.264/AVC可逆视频水印[J]. 中国图象图形学报, 2015, 20(10): 1285-1296. (LI Shuzhi, ZHANG Xiang, DENG Xiaohong, et al. Reversible video watermarking algorithm for H.264/AVC based on mode feature[J]. Journal of Image and Graphics, 2015, 20(10): 1285-1296.)
[3]
刘炎, 王涛, 陈凡胜, 等. 基于时域信噪比的红外弱小目标检测[J]. 太赫兹科学与电子信息学报, 2019, 17(1): 118-123. (LIU Yan, WANG Tao, CHEN Fansheng, et al. Infrared small target detection algorithm based on spatial signal to noise ratio[J]. Journal of Terahertz Science and Electronic Information Technology, 2019, 17(1): 118-123.)
[4]
刘少敏. 基于小波变换的红外小目标去噪策略[J]. 激光杂志, 2016, 37(3): 53-56. (LIU Shaomin. Infrared small target de-noising strategy based on wavelet transform[J]. Laser Journal, 2016, 37(3): 53-56.)
[5]
黄庆. 一种改进的嵌入式零树小波图像编码算法[J]. 通信技术, 2013, 46(2): 29-31. (HUANG Qing. An improved embedded zero-tree wavelet image coding algorithm[J]. Communications Technology, 2013, 46(2): 29-31.)
[6]
陈秀梅, 王伟, 汤敏. 基于Curvelet变换和SPIHT算法的医学图像感兴趣区压缩[J]. 中国医学影像学杂志, 2014, 22(10): 786-792. (CHEN Xiumei, WANG Wei, TANG Min. Medical images compression for region of interest based on curvelet transform and SPIHT algorithm[J]. Chinese Journal of Medical Imaging, 2014, 22(10): 786-792.)
[7]
刘玉, 谭军杰, 粘永健, 等. 基于变换的医学图像序列有损压缩算法[J]. 重庆理工大学学报(自然科学), 2016, 30(6): 109-114. (LIU Yu, TAN Junjie, NIAN Yongjian, et al. Transform-based lossy compression algorithm for medical images[J]. Journal of Chongqing University of Technology(Natural Science), 2016, 30(6): 109-114.)
[8]
王海燕, 殷俊, 潘显萌. 基于Surfacelet变换和SPIHT算法的视频压缩[J]. 计算机科学, 2016, 43(11): 237-239, 267. (WANG Haiyan, YIN Jun, PAN Xianmeng. Video compression based on Surfacelet transform and SPIHT algorithm[J]. Computer Science, 2016, 43(11): 237-239, 267.)