APP下载

Research on JPEG baseline image compression method in DMB system

2016-03-09

电子世界 2016年3期
关键词:邮电大学元组解码



Research on JPEG baseline image compression method in DMB system

Abstract:The paper realized of the progressive JPEG and baseline JPEG mode sending and decoding display. The method is economical and feasible, improving the different coding modes JPEG breadth of scope and enhancing the user experience.

Key words:Joint Picture Experts Group ;TPEG; software and hardware co-design

0 引言

重庆邮电大学微电子实验室开发的DMB多媒体广播技术,可通过广播传输音频、JPEG图片、视频。现有的很多终端是JPEG硬解码,由于计算能力经济成本等方面的限制,只支持基线格式,因此需要在发射端把渐进式转换成基线式,因此本文设计这样一个算法,这个算法可以直接嵌入到DMB 发射软件中。

1 DMB数据图片业务优化

除了传送高质量的声音节目,数字广播还可传送数据业务,如数据图像业务、视频业务。图片数据业务终端在接收到数据包后,根据每个数据包携带属于何种业务的标识、地址,将这些包所携带的的有用数据组织在一起就可以得到一张完整的JPEG图片,然后对JPEG图片解码即可。JPEG文件有两种保存方式,分别是Baseline JPEG(标准型)和Progressive JPEG(渐进式)。这两种文件扫描区别如图1所示。

图1 baseline jpeg和progressive jpeg显示jpeg的区别

Baseline jpeg逐行扫描。Progressive JPEG文件多次扫描,文件的缺点就是占用用户的CPU和内存大,这对嵌入式接收终端来说是非常宝贵的。

2 基本原理

基本思路为在JPEG Encoder加入LibJPEG库,读取不同编码模式的JPEG数据,然后按照基本JPEG系统编码流程(如图2所示),解析为终端可解码的连续压缩模式的JPEG。

图2 基本JPEG算法环节

2.1 色彩变换与部分数据取样

色彩变换将计算机屏幕显示使用的RGB色彩数据按照(1)式给定的关系,转换成JPEG中使用的YCbCr数据,其中Y是颜色的亮度,CbCr是色调。

Y=0.2999R+0.5870G+0.1140

Cb=-0.1687R-0.3313G+0.5000B+128

Cr=0.5000R-0.4187G-0.0813B+128

2.2 离散余弦变换(DCT)和频率量化

基于DCT的JP EG基线压缩算法首先把原始图像分割成8X 8的像素快,然后对各分块做前向二维DCT变换得到8X 8的DCT变换系数矩阵(正变换和逆变换式如下式(1)(2))。

式中:

C(v)=1(其它情况);f8×8为原始矩阵,F8×8为频域矩阵。

频率量化是JPEG算法得高压缩比和可控压缩的主要手段。量化器通过对CB的每个数据除以给定的量化值(量化粒度)完成量化,如式(3):

式中,B8×8是量化结果;F8×8是待量化的数据;Q8×8是量化表元表元素。经过量化以后,矩阵B8×8中将出现很多值为0的高频分量。为了提高游程编码的编码效率,将量化结果保存为序列Z。Z为矩阵B8×8的自左上角开始的折形排列:

2.3 熵编码

经DCT变换量化后低频分量主要集中在变换块的左上角。左上角第一个系数称为直流(DC)系数,是8X 8子块的平均值,要对它单独编码,采用差分编码( DPCM )。其他63个系数称为交流(AC)系数,进行行程编码。

为了对信息进行进一步的压缩,还要对RLC编码的中间格式进行熵编码。熵编码采用包括查分编码、游程编码、变长编码、哈夫曼编码在内的许多编码技术。JPEG基本顺序编码解码器具体规定用Huffman编码。Huffman编码用较少的二进制码字表示出现频率较高的信元,从而达到缩减数据量的目的。

3 实验测试结果

JPEG文件结构的每个标记都是由2个位元组组成,其前一个位元组是固定值0xFF。每个标记之前还可以添加数目不限的0xFF填充位元组。转baseline jpeg命令行:jpegtran-copy none -optimize <source.jpg><result.jpg>,通过ultraedit分析软件处理前后的JPEG文件对比,Procressive JPEG 有FFC2渐进压缩模式标记码,Baseline jpeg没有FFC2标记码,达到了设计要求。

图3 Progressive DCT JPEG

图4 Baseline DCT JPEG

图5 解码示例

将文件分别上传到发射系统客户端,Progressive DCT JPEG无法解码显示,输出Baseline DCT JPEG终端解码显示效果如图5所示。

4 结论

本文提出了DMB发送端软件处理图像,终端硬件JPEG解码协同工作。实现了progressive 编码模式JPEG转为终端可解码的baseline JPEG,该方法经济可行提高了不同编码模式JPEG适用范围的广泛性,提升了用户体验度。

参考文献

[1]王国裕,张红升,陆明莹.我国数字广播的发展方向[J].科学通报,2014,59(23):2320-2327.

[2]赵恒阳,刘华.Baseline JPEG压缩器在Xilinx FPGA上的设计与实现[J].电子设计工程,2014(10): 153-156.

张殿尧(1988—),重庆邮电大学光电工程学院硕士研究生在读,主要研究方向:集成电路工程,熟悉vc++编程、图像处理。

程康(1993—),重庆邮电大学光电工程学院硕士研究生在读,主要研究方向:集成电路系统与芯片设计,熟悉windows编程,unix编程,音视频封装。

作者简介:

猜你喜欢

邮电大学元组解码
《西安邮电大学学报》征稿启事
《解码万吨站》
西安邮电大学设计作品
Python核心语法
《西安邮电大学学报》征稿启事
解码eUCP2.0
海量数据上有效的top-kSkyline查询算法*
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
基于减少检索的负表约束优化算法