專利名稱:一種靜止動態(tài)一體化的圖像編碼方法
一種靜止動態(tài)一體化的圖像編碼方法技術領域
本發(fā)明屬于圖像處理技術領域,更進一步涉及一種基于離散小波變換 DffT(Discrete Wavelet Transform)和離散余弦變換DCT(Discrete Cosine Transform)混合變換的多級樹集合分裂SPIHT (Set Partitioning in Hierarchical Tree)算法的靜止動態(tài)一體化的圖像壓縮方法。本發(fā)明適用于星上對靜止動態(tài)圖像進行一體化的壓縮處理。
背景技術:
近幾年,在航天應用中的圖像壓縮領域,要求相機載荷同時具有靜止和動態(tài)圖像成像及壓縮編碼的工作模式已經(jīng)成為一種發(fā)展趨勢,在已經(jīng)成功發(fā)射的神州7號伴飛小衛(wèi)星和即將發(fā)射的嫦娥3號衛(wèi)星上都有類似的應用。然而,靜止和動態(tài)圖像的數(shù)據(jù)統(tǒng)計特性有很大區(qū)別,針對它們的最優(yōu)壓縮編碼方法也相應地存在很大區(qū)別。靜止圖像編碼處理單幀圖像,只考慮幀內(nèi)的相關性,不考慮幀間的相關性。動態(tài)圖像編碼則需要充分考慮序列中相鄰幀間的相關性,以通過運動估計和補償?shù)燃夹g來提高壓縮效率。目前,靜止圖像編碼的國際標準是JPEG2000,采用基于小波的內(nèi)嵌碼塊編碼方法。動態(tài)圖像編碼的國際標準是 H. 264,采用基于塊的變換和幀間運動估計的編碼方法。這兩種壓縮方法并不是在統(tǒng)一框架下實現(xiàn)的。因此,如果單獨采用其中一種方法進行壓縮,將無法獲得最佳性能。如果同時采用兩種方法分別進行壓縮,則在同一個系統(tǒng)中需要設計兩個獨立的壓縮模塊,會降低可靠性,并大大增加設備的功耗、體積、重量和成本等,不能適應航天應用對高可靠性、低功耗、 低復雜度的特殊要求。
針對這一情況,有學者提出了靜止動態(tài)一體化的壓縮方法。
馬鴻泰論文“國家天文臺靜、動態(tài)圖像編碼與傳輸?shù)难芯俊?北京郵電大學的碩士學位論文2007年3月)中公開了一種基于天文學應用的靜止動態(tài)圖像編碼與傳輸方法。該方法采取JPEG算法對FITS格式的星圖文件進行有損壓縮,采取基于ZIP壓縮下使用分層的方法對星圖進行無損壓縮,然后通過Windows Media的流媒體技術將多幅靜止的星圖流化成一個視頻文件,支持網(wǎng)絡發(fā)布、視頻點播等功能。該方法的不足之處是由于該方法的計算復雜度高,壓縮速度緩慢,尤其是對動態(tài)圖像難以用硬件實現(xiàn),而且該方法專門應用于天文圖像壓縮,沒有涉及到星上圖像等的壓縮處理方法。
郭清衍論文“靜止和活動圖像一體化解壓縮軟件設計與實現(xiàn)”(西安電子科技大學的碩士學位論文2010年6月)中公開了一種靜止和動態(tài)圖像一體化的壓縮方法。該方法對于靜止圖像采用內(nèi)嵌小波變換算法,對于活動圖像加入了運動估計和運動補償?shù)哪K, 具有良好的壓縮效果,支持實時解碼顯示、多功能回放等功能。該方法的不足之處是存儲空間大,計算復雜度高,碼率難以控制,對動態(tài)圖像進行高倍壓縮時性能不夠理想。發(fā)明內(nèi)容
本發(fā)明的目的在于克服上述已有技術的不足,提出一種基于多級樹集合分裂 SPIHT算法的編碼方法,能夠在統(tǒng)一的架構下實現(xiàn)靜止圖像以及低速動態(tài)圖像的編碼。
為實現(xiàn)上述目的,本發(fā)明包括如下步驟
(I)對原始圖像進行預處理
Ia)輸入靜止或者動態(tài)的原始圖像;
Ib)將原始圖像的每個像素值減去2ΡΛ其中P為圖像的像素精度,獲得直流電平位移后的圖像;
Ic)將位移后的圖像的每個像素值乘以任意確定的相同倍數(shù),獲得數(shù)據(jù)提升后的圖像;
(2)對數(shù)據(jù)提升后的圖像進行幀內(nèi)離散小波變換;
(3)判斷圖像類型如果是動態(tài)圖像,執(zhí)行步驟(4),如果是靜止圖像,執(zhí)行步驟(5);
(4)幀間離散余弦變換
4a)將離散小波變換后的動態(tài)圖像每8幀作為一組,劃分為若干組圖像;
4b)將每組圖像中相同位置的像素點抽取出來,組合成一維的像素塊;
4c)對像素塊進行離散余弦變換;
4d)將變換后像素塊中的每個像素點放回每組圖像中抽取時的位置;
(5)多級樹集合分裂SPIHT編碼對步驟(3)和步驟(4)得到的變換后圖像進行多級樹集合分裂SPIHT編碼;
(6)聯(lián)合碼率優(yōu)化截取
6a)對動態(tài)圖像編碼后的碼流,以幀間離散余弦變換時的分組作為截取單位,從最重要比特平面到最不重要比特平面,逐一截取組內(nèi)每幀圖像在每個比特平面的碼流,達到預定碼率時,停止截?。?br>
6b)對靜止圖像編碼后的碼流,以單幀圖像作為截取單位,從最重要比特平面到最不重要比特平面,逐一截取圖像在每個比特平面的碼流,達到預定碼率時,停止截?。?br>
(7)將截取之后的碼流輸出。
本發(fā)明與現(xiàn)有技術相比,具有以下優(yōu)點
第一,由于本發(fā)明采用了多級樹集合分裂SPIHT算法,克服了現(xiàn)有技術中計算復雜度高的問題,使得本發(fā)明得到嵌入式比特流,具有易于進行壓縮比的控制和實現(xiàn)可伸縮編碼的優(yōu)點。
第二,由于本發(fā)明采用了幀間離散余弦變換對動態(tài)圖像進行壓縮,克服了現(xiàn)有技術中動態(tài)圖像壓縮處理難以用硬件實現(xiàn)的問題,使得本發(fā)明的壓縮架構簡單易行,具有編碼速度較快的優(yōu)點。
第三,由于本發(fā)明采用了聯(lián)合碼率優(yōu)化截取方法來獲得動態(tài)圖像的壓縮碼流,克服了現(xiàn)有技術中動態(tài)圖像編碼難以控制碼率的問題,使得本發(fā)明能夠準確控制壓縮碼流長度,最大程度地保留重要編碼信息,具有圖像高倍壓縮時恢復效果較好的優(yōu)點。
圖I是本發(fā)明的流程圖。
具體實施方式
參照附圖1,本發(fā)明的具體實施步驟如下
步驟I,對原始圖像進行預處理。
輸入需要壓縮的原始圖像。原始圖像可以是靜止圖像或動態(tài)圖像,用不同的類型參數(shù)表示。本發(fā)明可以設置任意壓縮倍數(shù)對任意分辨率的原始圖像進行壓縮。本發(fā)明實施例中的靜止圖像分辨率為2352 X 1728,對其進行2倍壓縮;動態(tài)圖像分辨率為720 X 576,對其進行24倍壓縮。
對原始圖像進行直流電平位移,目的是將像素值的取值范圍移位到一個對稱區(qū)間里,便于解碼端正確恢復圖像。位移方法是將原始圖像的每個像素值減去2p_i,其中P為圖像的像素精度。本發(fā)明實施例中的原始圖像的像素精度為8比特,因此將每個像素值減去 128。
對位移后的圖像進行數(shù)據(jù)提升,目的是使像素值更適合進行下一步的離散小波變換。提升方法是將位移后的圖像的每個像素值乘以任意確定的相同倍數(shù)。本發(fā)明實施例中將每個像素值乘以4。
步驟2,對數(shù)據(jù)提升后的圖像進行幀內(nèi)離散小波變換。
為了去除圖像的空間冗余,對每幀圖像進行離散小波變換。離散小波變換的優(yōu)點是將圖像分解成許多具有不同空間分辨率、不同頻率特性和方向特性的子圖像,分解結果符合人的視覺特性。本發(fā)明實施例中采用了四級5/3離散小波變換,每一級變換過程由分離、預測、更新三個步驟完成。
分離是將N個像素值組成的序列X按照序號的奇偶性分為兩個互不相交的子集。 偶數(shù)序號的像素值子集記作Is},奇數(shù)序號的像素值子集記作xv3r9jzsqg。
預測是利用像素值之間的相關性,用偶數(shù)子集來預測奇數(shù)子集。預測值和實際值之間會產(chǎn)生誤差值,該誤差值被稱為像素值序列中的高通分量。本發(fā)明實施例中通過如下預測公式獲得高通分量ττ I Si + L . N]
H =d.----— O <z < —1 1 2 2
其中,Hi是像素值序列中的第i個高通分量,Cli是奇數(shù)子集中的第i個像素值,Si 是偶數(shù)子集中的第i個像素值,N是像素值序列的長度。
更新的目的是保持像素值序列的均值等某些全局特性不變,本發(fā)明采用的方法是用預測產(chǎn)生的誤差值來修正偶數(shù)子集,修正結果被稱為像素值序列中的低通分量。本發(fā)明實施例通過如下更新公式獲得低通分量
L. =S- H——-Ly-O <ζ < —1 [ 42
其中,Li是像素值序列中的第i個低通分量,Cli是奇數(shù)子集中的第i個像素值,Si 是偶數(shù)子集中的第i個像素值,N是像素值序列的長度。
步驟3,根據(jù)步驟I中輸入的動態(tài)或靜止原始圖像的類型參數(shù)判斷原始圖像的類型如果是動態(tài)圖像,執(zhí)行步驟4,如果是靜止圖像,執(zhí)行步驟5。
步驟4,幀間離散余弦變換。
為了去除圖像的時間冗余,對圖像分組進行離散余弦變換。離散余弦變換的優(yōu)點是壓縮性能較高,計算復雜度適中,易于硬件實現(xiàn)。本發(fā)明實施例中采用了整型快速離散余弦變換。
對離散小波變換后的動態(tài)圖像進行分組。本發(fā)明實施例中每8幀作為一組,將變換后的動態(tài)圖像劃分為若干組。
對分組后的圖像進行像素點抽取,目的是建立幀與幀之間的聯(lián)系。方法是將每組圖像中相同位置的像素點抽取出來,組合成一維的像素塊。
對像素塊進行整型快速離散余弦變換。設變換前的數(shù)值是X,變換后的數(shù)值是y, 變換由以下四個步驟完成,其中yi是第i步運算后的結果
權利要求
1.一種靜止動態(tài)一體化的圖像編碼方法,包括以下步驟(1)對原始圖像進行預處理Ia)輸入靜止或者動態(tài)的原始圖像;Ib)將原始圖像的每個像素值減去215-1,其中P為圖像的像素精度,獲得直流電平位移后的圖像;Ic)將位移后的圖像的每個像素值乘以任意確定的相同倍數(shù),獲得數(shù)據(jù)提升后的圖像;(2)對數(shù)據(jù)提升后的圖像進行幀內(nèi)離散小波變換;(3)判斷圖像類型如果是動態(tài)圖像,執(zhí)行步驟(4),如果是靜止圖像,執(zhí)行步驟(5);(4)幀間離散余弦變換4a)將離散小波變換后的動態(tài)圖像每8幀作為一組,劃分為若干組圖像;4b)將每組圖像中相同位置的像素點抽取出來,組合成一維的像素塊;4c)對像素塊進行離散余弦變換;4d)將變換后像素塊中的每個像素點放回每組圖像中抽取時的位置;(5)多級樹集合分裂SPIHT編碼對步驟(3)和步驟(4)得到的變換后圖像進行多級樹集合分裂SPIHT編碼;(6)聯(lián)合碼率優(yōu)化截取6a)對動態(tài)圖像編碼后的碼流,以幀間離散余弦變換時的分組作為截取單位,從最重要比特平面到最不重要比特平面,逐一截取組內(nèi)每幀圖像在每個比特平面的碼流,達到預定碼率時,停止截??;6b)對靜止圖像編碼后的碼流,以單幀圖像作為截取單位,從最重要比特平面到最不重要比特平面,逐一截取圖像在每個比特平面的碼流,達到預定碼率時,停止截??;(7)將截取之后的碼流輸出。
2.根據(jù)權利要求I所述的一種靜止動態(tài)一體化的編碼方法,其特征在于,步驟(2)中所述的離散小波變換采用分離、預測、更新三個步驟完成的小波提升算法。
3.根據(jù)權利要求I所述的一種靜止動態(tài)一體化的編碼方法,其特征在于,步驟(4)中所述的離散余弦變換采用整型快速離散余弦變換。
4.根據(jù)權利要求I所述的一種靜止動態(tài)一體化的編碼方法,其特征在于,步驟(5)中所述的多級樹集合分裂SPIHT編碼步驟如下第一步,對步驟(3)和步驟(4)得到的變換后圖像進行生成樹的抽??;第二步,將生成樹對應的比特層按左遍歷的順序進行重要性掃描,根據(jù)生成樹在該層上各點的值來確定各類重要性信息;第三步,根據(jù)各點在當前比特平面的重要性信息、在該層的比特信息和符號信息、在上一比特平面的重要性信息、該點各類集合的存在性信息進行編碼。
全文摘要
本發(fā)明公開了一種靜止動態(tài)一體化的編碼方法,主要解決目前靜止動態(tài)一體化壓縮計算復雜度高,難以用硬件實現(xiàn)的問題。本發(fā)明對輸入的原始圖像進行預處理后,如果是靜態(tài)圖像,利用幀內(nèi)離散小波變換去除圖像的空間冗余。如果是動態(tài)圖像,在進行幀內(nèi)離散小波變換去除圖像的空間冗余后,進一步利用幀間離散余弦變換去除圖像的時間冗余;得到變換的圖像后,對其進行多級樹集合分裂編碼,最終用聯(lián)合碼率優(yōu)化截取方法獲得輸出碼流。本發(fā)明具有處理速度快,占用資源少,壓縮性能好的優(yōu)點,尤其適用于資源和時間都受限的航天領域。
文檔編號H04N7/26GK102984519SQ20121051772
公開日2013年3月20日 申請日期2012年11月22日 優(yōu)先權日2012年11月22日
發(fā)明者雷杰, 李爽, 李云松, 吳憲云, 張皓 申請人:西安電子科技大學