APP下载

改进的JPEG-LS编码方法在飞行试验中的应用

2016-11-17侯海啸张兴国

计算机测量与控制 2016年6期
关键词:压缩算法码率编码器

韩 涛,吴 衡,侯海啸,张兴国

(中国飞行试验研究院,西安 710089)



改进的JPEG-LS编码方法在飞行试验中的应用

韩 涛,吴 衡,侯海啸,张兴国

(中国飞行试验研究院,西安 710089)

为了研究压缩性能更好的压缩算法,首先引出了JPEG压缩算法,然后提出了一种JPEG-LS编码改进方法,编码过程遵循JPEG-LS的无损模式;接着深入分析JPEG-LS编码器,该编码器产生比其他的JPEG-LS编码器更高速率的编码效率,利用低复杂度数据链路技术产生很高的操作频率,产生比其他算法更高的吞吐量;同时算法在硬件资源上很有优势,所占用的资源很低;方法有效地提高了视频编码的峰值信噪比,并且输出码率更接近预定带宽要求;理论分析和实验表明提出的编码方法在占用资源和吞吐量方面是非常的有效,对飞行试验中多路高清视频压缩率更高,适合应用于飞行试验机载视频压缩编码和传输中。

无损压缩;JPEG-LS;LOCO-I;飞行试验

0 引言

JPEG-LS是一种无损或者接近无损的对于灰度或者颜色连续图像的压缩方式。它提供了比有损压缩JPEG标准更高压缩率的压缩形式,同时具有相对小的复杂度。压缩算法的核心在于LOCO-I。LOCO-I主要特征在于它结合了基于上下文的有效的压缩模式和较低的复杂度水平。JPEG-LS在接近无损时的性能很有限,压缩比并没有其他的压缩算法好。但是这并不影响算法在卫星和医学图像上的应用,因为在解码后并没有改变信息质量。近年来,慢慢地形成用硬件实现JPEG-LS的编码,利用到高效率的LOCO-I无损压缩模型。这种方式有两种好处,首先降低了算法的复杂度,除此之外算法得以简化,处理过程减少,编码效率提高[1]。

本文将分为算法的改进和硬件实现两部分进行阐述。第一部分介绍JPEG编码方法,第二部分阐述JPEG-LS算法的原理,第三部分分析了JPEG-LS算法的具体实现,包括结构,逻辑等。第四部分利用ASIC技术实现JPEG-LS,然后对性能对比。最后第五部分对飞行试验中的应用做了展望。

1 JPEG算法

首先把一幅图像(单色图像的灰度值或彩色图像的亮度分量或色差分量信号)分成8×8的块,按图中的框图进行离散余弦正变换(FDCT)。在编码器输入端,原始图像被分成一系列8×8的块,作为离散余弦正变换(FDCT)的输入。在解码器的输出端,离散余弦逆变换(IDCT)输出许多8×8的数据块,用以重构图像。

图1 JPEG算法流程图

8×8的FDCT和8×8的IDCT的数学定义表示式如下:

FDCT:

F(u,v)=

IDCT:

f(x,y)=

为进一步达到压缩数据的目的,需对量化后的DC系数和行程编码后的AC系数进行基于统计特性的熵编码。64个变换系数经过量化后,坐标u=v=0的值是直流分量(即DC系数)。DC系数是64个图像的采样平均值。因为相邻的8×8块之间有强的相关性,所以相邻块的DC系数值很接近。对量化后的前后两块之间的DC系数差值进行编码,可以用较少的比特数。

2 JPEG-LS算法

JPEG-LS算法包括上下文模版和编码器两个主要部分。上下文模版利用临近像素和当前像素的相关性,使之相关到特定的模版,同时预测当前值。LOCO-I同时压缩连续的区域用到游程模式,当设置为游程模式时首先判断当前像素是否等于前像素,如果相等则游程模式开始,否则进入中断模式[2]。

2.1 上下文模版

上下文模版用临近像素值估算当前像素。设D1= Rd - Rb , D2 = Rb - Rc ,D3= Rc -Ra,用这3个量化向量从上下文模版中求得当前的像素。预测误差幅度Α[Q],偏差B[Q],预测误差相关参数C[Q]等同时输出。上下文模版利用中值边缘检测机制来预测当前的像素值。

图3 修改后的数据路径

图2 上下文模版

预测误差被影射到一个非负值,因为Golomb编码只能用正值。

2.2 LOCO-I模块

LOCO-I模块算法中存在数据的依赖性。每次在上下文模版中,以前更新的参数必须被再次使用,以便降低预测的误差。前面的过程包括预测误差的计算和参数的更新两个部分。统计参数在Golomb变量k和预测误差计算出来以前无法被更新,需要当前的值A[Q],B[Q]和N[Q]。

3 提出的JPEG-LS算法的实现

此算法主要降低了路径的干扰,同时产生了较高的编码输出。LOCO-I算法包括从上下文的预测到对误差的编码几个函数,会造成一定延时,这将限制了最大的操作频率。然而,本文算法的分布式过程则分为几个阶段,最小化路径降低总体延时。

JPEG-LS的数据路径:将该算法分解为几个步骤,取换了寄存器。在上下文模版对当前的样值预测后,同时也在对预测的差值进行编码,这些数据就相对的独立,在这样的条件下取代了寄存器。计算预测的误差需要更新偏差参数C[Q]。设计该过程的最主要的部分在于数据循环电路,包括误差的预测和统计参数的更新。

然而,像LOCO-I这样的低复杂度的方案对于偏差参数的更新对于迭代是很有限的。因此,偏差参数更新的值就可以保持不变,C[Q]只有3个取值。预测的误差可以通过这3个值估计,随后存储在寄存器里。C[Q]通过上下文参数的缓存得到。双精度的缓存来存储偏差C[Q]的值,因为两个不同的偏差需要从缓存里读取:其一负责误差的估计,另一个负责参数的更新。

除此之外,在上下文预测后,提前访问上下文的缓存将会加速误差估计。两个过程实现编码过程。第一个过程产生对于影射的误差,而第二个过程形成最后的编码流。连接技术同样用来实现中断编码过程。尽管比在正常模式下简单,不过会造成总体延时[3]。

数据路径如图3所示。第一个阶段包括对上下文的预测和计算中值边缘检测值。提前计算误差的过程在第二阶段。缓存的解码单元对于预测误差的估计在第三阶段。在第四阶段对于预测误差做出正确估计。下一步包括计算Golomb变量和对误差的影射,上下文更新了统计参数。影射的误差在最后的两个阶段被编码。

最重要的路径设计发生在第四阶段。在这阶段对C[Q]以前的值和更新后的值进行了比较。包括对误差的正确估计和对参数的更新。更新通过对Golomb变量的计算和误差的影射来实现,但是操作起来很慢。

图4 图像线形缓存

3.1 内存占用

JPEG-LS算法编码过程所需的内存的大小取决于上下文模版的参数和前编码的采样值。C[Q]值是双精度的。对于八位图像的A[Q],B[Q],C[Q],N[Q]长度分别是13,7,8和7。 因此上下文缓存总的大小是1.9 KB。

在上下文模版中对像素x的估计值取决于相邻的a,b,c和d。在t时刻样值x在下一个时刻将变成相邻的像素a,因此可以存储在单独的寄存器里。在t-1时刻的像素c将不再是相邻的值因此可以被取代,因此缓存的大小达到了最小。这样最小化了ASIC设计的区域,因为芯片的内存占据了设计产品的大部分资源。用到的芯片在同一个时钟周期里可以执行读和写的操作。

3.2 JPEG-LS的结构

提出的JPEG-LS编码结构由LOCO-I,上下文模版,图像缓存和两个缓存控制接口组成。缓存接口访问缓存,存储新的相邻样值,使新的采样值进入数据路径中。上下文缓存接口访问上下文模版参数,将最后更新的参数C[Q]和误差估计传输到上下文。

图5 本文提出的JPEG-LS算法结构

4 飞行试验结果分析

飞行试验多路高清视频采集传输编码及记录时,通常前端压缩后再进行处理,常用的压缩方法有JPEG2000及H.264和本文算法。测试视频采用1 600*1 200高清视频,前端不压缩视频。测试序列共编码150帧,不考虑跳帧,帧率为15帧每秒。分别对复杂度相差较大的飞行试验视频1,飞行试验视频2,飞行试验视频3和飞行试验视频4序列进行编码测试。

表1所示为在24 kbits/s,48 kbits/s和64 kbits/s3种带宽下对以上序列进行编码的结果。从表1可见,除了在24 kbits/s带宽下编码视频1序列外,采用本文算法编码的序列的平均峰值信噪比均要高于JPEG2000算法,最大可提高0.45 dB,并在大多数情况下高于H.264中提出的算法。码率控制的结果也更为精确,JPEG2000算法的实际码率与预定码率的平均误差是0.36%,而本文算法的平均误差为0.26%,可见本文算法更符合实际的带宽要求。

表1 JPEG-LS算法和其他方法的比较

为了验证算法在场景变换时的编码性能,在48 kbits/s带宽下,用3种方法分别编码测试,混合序列在第30帧和第75帧处发生场景变换。编码结果如图6所示。由图6可见,本文提出的方法在两次场景变换时均取得了更高的编码信噪比,提高了新场景的编码质量。图7对3种码率控制方法在编码过程中的缓冲区状态进行了对比。从图7可见,本文方法比更接近目标码率,并且在场景变换时有效降低了缓冲区占用量,在编码器缓冲区尺寸有限的情况下,为新场景提供了更多可用编码资源。

实验通过VHDL实现,通过模型仿真器仿真和证实了方法的正确性。JPEG-LS特性和其他方法加以比较如表2和表3所示,从下面的表格中可以看到,提出的JPEG-LS算法比其他的现有的算法表现出更高的吞吐量,同时最小化了设计资源的要求。还必须强调的是LOCO-I算法的设计是比较小简单的,在吞吐量方面也较高[4]。

从表2可以看出本文提出的算法大概比其他的算法吞吐量提高4.4 dB,比其他的算法占用的资源降低4.6 dB。

表2 JPEG-LS算法的比较

表3 JPEG-LS算法的比较

图6 场景变换时的编码信噪比

图7 逐帧缓冲区状态比较

5 结论

本文提出了一种新的无损压缩JPEG-LS压缩算法。利用低复杂度数据链路技术产生很高的操作频率,提出的算法比其他的JPEG-LS算法的吞吐量高[5]。同时算法在硬件资源上很有优势,所占用的资源很低。提出的编码器在占用资源和吞吐量方面是非常的有效的[6],输出的码率也更加稳定,更接近预定带宽要求,适合应用于飞行试验机载高清视频压缩编码及传输中[7-8]。

[1] JPEG2000图象压缩基础﹑标准和实践[M]. 北京:电子工业出版社,2004.

[2] JPEG2000图象压缩算法研究[D].重庆:重庆大学学报,2004.

[3] 分形图象压缩算法研究[D].重庆:重庆大学,2004.

[4] 自然图象处理理论和方法研究[D].长沙:国防科技大学,2005.

[5] Dong J P. A Context-Adaptive Prediction Scheme for Parameter Estimation in H.264/AVC Macroblock Layer Rate Control[J]. IEEE Trans Circuits System Video Technology, 2009,19(1): 1108-1117.

[6] Liu Y. A novel rate control scheme for low delay video communication of H.264/AVC standard[J]. IEEE Trans. Circuits System Video Technology, 2007, 17(1): 68-78

[7] Min Y. A Rate Control Scheme for H.264 Video Under Low Bandwidth Channel[J]. Journal of Zhejiang University: Science, 2006: 990-995.

[8] Li Z G. Adaptive basic unit layer rate control for JVT[A]. Presented at the 7th JVT Meeting[C]. Pattaya II, Thailand, 2003, JVT-G012-rl.

Application of Improved JPEG-LS Encoding Method in Flight Test

Han Tao, Wu Heng, Hou Haixiao, Zhang Xingguo

(Chinese Flight Test Establishment ,Xi′an 710089,China)

In order to study compression performance better compression algorithm, first of all, the JPEG compression algorithm is introduced ,then it presents an improved method of JPEG-LS encoding, the encoding process followed by the JPEG-LS lossless mode. Then JPEG-LS encoder is proposed, the encoder can generate high speed encoding efficiency than the other JPEG-LS method ,and produces a higher throughput than other algorithms. At the same time, the algorithm has advantages in hardware resources, the resources occupied are very low. The proposed algorithm achieves a higher PSNR in video encoding and is more accurate in output bit-rate control. Theoretical analysis and experiments show that the proposed coding method in the occupied resource and throughput is very effective, in flight test multiple HD video compression rate is higher, and is suitable for application in the flight test of airborne video compression coding and transmission.

lossless compression; JPEG-LS;LOCO-I;flight test

2015-12-09;

2016-01-11。

航空基金(2010ZD30004;2015ZD30002)。

韩 涛(1985-),男,陕西汉中人,硕士,工程师,主要从事光电跟踪及视频压缩理论方向的研究。

1671-4598(2016)06-0311-04

10.16526/j.cnki.11-4762/tp.2016.06.085

TN2

A

猜你喜欢

压缩算法码率编码器
一种基于HEVC 和AVC 改进的码率控制算法
基于FPGA的多码率卷积编码器设计与实现
基于参数识别的轨道电路监测数据压缩算法研究
基于FPGA的同步机轴角编码器
基于状态机的视频码率自适应算法
基于双增量码道的绝对式编码器设计
一种基于嵌入式实时操作系统Vxworks下的数据压缩技术
JESD204B接口协议中的8B10B编码器设计
PMU数据预处理及压缩算法
多光谱图像压缩的联合码率分配—码率控制方法