?
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
重慶郵電大學微電子實驗室開發(fā)的DMB多媒體廣播技術,可通過廣播傳輸音頻、JPEG圖片、視頻?,F有的很多終端是JPEG硬解碼,由于計算能力經濟成本等方面的限制,只支持基線格式,因此需要在發(fā)射端把漸進式轉換成基線式,因此本文設計這樣一個算法,這個算法可以直接嵌入到DMB 發(fā)射軟件中。
除了傳送高質量的聲音節(jié)目,數字廣播還可傳送數據業(yè)務,如數據圖像業(yè)務、視頻業(yè)務。圖片數據業(yè)務終端在接收到數據包后,根據每個數據包攜帶屬于何種業(yè)務的標識、地址,將這些包所攜帶的的有用數據組織在一起就可以得到一張完整的JPEG圖片,然后對JPEG圖片解碼即可。JPEG文件有兩種保存方式,分別是Baseline JPEG(標準型)和Progressive JPEG(漸進式)。這兩種文件掃描區(qū)別如圖1所示。
圖1 baseline jpeg和progressive jpeg顯示jpeg的區(qū)別
Baseline jpeg逐行掃描。Progressive JPEG文件多次掃描,文件的缺點就是占用用戶的CPU和內存大,這對嵌入式接收終端來說是非常寶貴的。
基本思路為在JPEG Encoder加入LibJPEG庫,讀取不同編碼模式的JPEG數據,然后按照基本JPEG系統(tǒng)編碼流程(如圖2所示),解析為終端可解碼的連續(xù)壓縮模式的JPEG。
圖2 基本JPEG算法環(huán)節(jié)
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基本順序編碼解碼器具體規(guī)定用Huffman編碼。Huffman編碼用較少的二進制碼字表示出現頻率較高的信元,從而達到縮減數據量的目的。
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 解碼示例
將文件分別上傳到發(fā)射系統(tǒng)客戶端,Progressive DCT JPEG無法解碼顯示,輸出Baseline DCT JPEG終端解碼顯示效果如圖5所示。
本文提出了DMB發(fā)送端軟件處理圖像,終端硬件JPEG解碼協(xié)同工作。實現了progressive 編碼模式JPEG轉為終端可解碼的baseline JPEG,該方法經濟可行提高了不同編碼模式JPEG適用范圍的廣泛性,提升了用戶體驗度。
參考文獻
[1]王國裕,張紅升,陸明瑩.我國數字廣播的發(fā)展方向[J].科學通報,2014,59(23):2320-2327.
[2]趙恒陽,劉華.Baseline JPEG壓縮器在Xilinx FPGA上的設計與實現[J].電子設計工程,2014(10): 153-156.
張殿堯(1988—),重慶郵電大學光電工程學院碩士研究生在讀,主要研究方向:集成電路工程,熟悉vc++編程、圖像處理。
程康(1993—),重慶郵電大學光電工程學院碩士研究生在讀,主要研究方向:集成電路系統(tǒng)與芯片設計,熟悉windows編程,unix編程,音視頻封裝。
作者簡介: