0阶指数哥伦布编码
指數(shù)哥倫布編碼
規(guī)定語法元素的編解碼模式的描述符如下:
比特串:
b(8):任意形式的8比特字節(jié)(就是為了說明語法元素是為8個(gè)比特,沒有語法上的含義)
f(n):n位固定模式比特串(其值固定,如forbidden_zero_bit的值恒為0)
i(n):使用n比特的有符號整數(shù)(語法中沒有采用此格式)
u(n):n位無符號整數(shù)
指數(shù)哥倫布編碼:
ue(v):無符號整數(shù)指數(shù)哥倫布碼編碼的語法元素
se(v):有符號整數(shù)指數(shù)哥倫布編碼的語法元素,左位在先
te(v):舍位指數(shù)哥倫布碼編碼語法元素,左位在先
以及ce(v):CAVLC和ae(v):CABAC。
指數(shù)哥倫布編碼過程:
在表9-1中,比特串格式為“前綴1后綴”。1)1后綴=codeNum+1,如codeNum = 3,則1后綴=4,即為100,后綴為00;2)前綴與后綴的比特?cái)?shù)相同,且前綴的各位比特為0,如codeNum=3,則最終編碼所得的比特串為:00100.
對于ue(v),按上述規(guī)則進(jìn)行編碼;
對于se(v),則按照表9-3轉(zhuǎn)換成codeNum,然后按上述規(guī)則進(jìn)行編碼;
在表9-3中,1)語法元素值為負(fù)數(shù),則乘2取反,轉(zhuǎn)換成codeNum,2)語法元素為正數(shù),則乘2減1,轉(zhuǎn)換成codeNum;
對于te(v),只有7.3.5.1節(jié)“宏塊預(yù)測語法”和7.3.5.2節(jié)“子宏塊預(yù)測語法”中的ref_idx_l0[mbPartIdx]和ref_idx_l1[mbPartIdx]用此模式編碼,
如果語法元素值為0,則編碼為1,如果語法元素值為1,則編碼為0,如果為其他大于1的值,則按ue(v)進(jìn)行編碼。
---------------------------------------------------
用來表示非負(fù)整數(shù)的k階指數(shù)哥倫布碼可用如下步驟生成:
?? 1. 將數(shù)字以二進(jìn)制形式寫出,去掉最低的k個(gè)比特位,之后加1
?? 2. 計(jì)算留下的比特?cái)?shù),將此數(shù)減一,即是需要增加的前導(dǎo)零個(gè)數(shù)
?? 3. 將第一步中去掉的最低k個(gè)比特位補(bǔ)回比特串尾部
0階指數(shù)哥倫布碼如下所示:
0 => 1 => 1
1 => 10 => 010
2 => 11 => 011
3 => 100 => 00100
4 => 101 => 00101
5 => 110 => 00110
6 => 111 => 00111
7 => 1000 => 0001000
8 => 1001 => 0001001
小波變換在圖像壓縮中的應(yīng)用
小波變換在圖像壓縮中的應(yīng)用
?
施吉鳴
?
摘要:近十幾年來小波理論研究已成為應(yīng)用數(shù)學(xué)的一個(gè)新方向。作為數(shù)學(xué)工具,小波被迅速應(yīng)用到圖像和語音分析等眾多領(lǐng)域。本文試圖從工程和實(shí)驗(yàn)角度出發(fā),較為直觀地探討小波變換在圖像壓縮中的應(yīng)用。
關(guān)鍵詞:小波 變換 重構(gòu) 圖像壓縮
?
1、小波概述
??? 小波(wavelet)是定義在有限間隔且平均值為0的函數(shù),小波函數(shù)多以開發(fā)者名字命名,如圖1所示:
?
圖1 部分小波
?
??? 眾所周知,傅立葉分析是把一個(gè)信號分解成各種不同頻率的正弦波,因此正弦波是傅立葉變換的基函數(shù)。同樣,小波分析是把一個(gè)信號分解成由原始小波經(jīng)過移位和縮放后的一系列小波,因此小波是小波變換的基函數(shù),即小波可用作表示一些函數(shù)的基函數(shù)。
小波是近十幾年才發(fā)展并迅速應(yīng)用到圖像和語音分析等眾多領(lǐng)域的數(shù)學(xué)工具,是繼110多年前建立傅立葉(Joseph Fourier)分析之后的一個(gè)重大突破。經(jīng)過十幾年的努力,小波理論基礎(chǔ)已經(jīng)基本建立并成為應(yīng)用數(shù)學(xué)的一個(gè)新領(lǐng)域,引起了眾多數(shù)學(xué)家和工程技術(shù)人員的極大關(guān)注,是國際上科技學(xué)術(shù)界高度關(guān)注的前沿領(lǐng)域。本文試圖從工程和實(shí)驗(yàn)角度出發(fā),較為直觀地探討小波變換在圖像壓縮中的應(yīng)用。
?
2、小波變換和重構(gòu)
??? 小波變換的基本思想是用一組小波或基函數(shù)表示一個(gè)函數(shù)或信號,例如圖像信號。以哈爾(Haar)小波基函數(shù)為例,基本哈爾小波函數(shù)(Haar wavelet function)定義如下:
????????????????????? 1,? 當(dāng)0≤x<1/2
?????????? Ψ(x) =?? -1,? 當(dāng)1/2≤x<1
???????????????? 0,? 其他
設(shè)有一幅分辨率只有4個(gè)像素的一維圖像,對應(yīng)像素值為:[9? 7? 3? 5]。用哈爾小波變換的過程是:計(jì)算相鄰像素對的平均值(averaging,亦可稱之為近似值approximation),得到一幅分辨率為原圖像1/2的新圖像:[8? 4]。這時(shí)圖像信息已部分丟失,為了能從2個(gè)像素組成的圖像重構(gòu)出4個(gè)像素的原圖像,必須把每個(gè)像素對的第一個(gè)像素值減這個(gè)像素的平均值作為圖像的細(xì)節(jié)系數(shù)(detail coefficient)保存。因此,原圖像可用下面的兩個(gè)平均值和兩個(gè)細(xì)節(jié)系數(shù)表示:[8? 4? 1? -1]。可以把第一步變換得到的圖像進(jìn)一步變換,原圖像兩級變換的過程如表1所示:
表1 哈爾小波變換過程
| 分辨率 | 平均值 | 細(xì)節(jié)系數(shù) |
| 4 | [9? 7? 3? 5] | ? |
| 2 | [8? 4] | [1? -1] |
| 1 | [6] | [2] |
?
哈爾變換過程事實(shí)上是用求均值和差值的方法對函數(shù)或圖像進(jìn)行分解,對于f(x)=[9? 7? 3? 5],我們可作最多2層的分解。
對于2維圖像,同樣可以用依次對行列進(jìn)行小波變換得到2維圖像的分解。這時(shí)經(jīng)過一次小波變換得到是2維圖像的近似值(CA)以及水平(CH)、垂直(CV)和對角(CD)細(xì)節(jié)分量值。顯然,從2維圖像的CA、CH、CV和CD值可以重構(gòu)出原來的2維圖像。
?
3、圖像壓縮
事實(shí)上,去掉某些經(jīng)過小波變換得到的細(xì)節(jié)分量值對重構(gòu)圖像的質(zhì)量影響不大。具體的做法是設(shè)置一個(gè)閾值δ,例如把≤δ的經(jīng)小波變換得到的水平(CH)、垂直(CV)和對角(CD)細(xì)節(jié)分量值細(xì)節(jié)分量值置為0,
?
圖2 小波圖像變換過程
這樣就實(shí)現(xiàn)了圖像壓縮。
為了驗(yàn)證圖像壓縮的效果,筆者使用數(shù)學(xué)軟件工具M(jìn)ATLAB 6.1設(shè)計(jì)了3級非標(biāo)準(zhǔn)小波變換和重構(gòu)圖像程序function [ ] = report(picname),同時(shí)以分辨率256×256的真彩色照片為測試圖像,通過執(zhí)行程序完成了閾值δ分別為0,5,10和20的情況下利用Haar小波進(jìn)行變換變換和重構(gòu)過程。
??? 以使用Haar小波,閾值等于10,真彩色圖像G分量為例,小波圖像變換過程如圖2所示。
?
4、實(shí)驗(yàn)結(jié)論
??? 用report('jimm')對jimm_org.png真彩圖像文件計(jì)算閾值分別為0,5,10和20的情況下進(jìn)行3級非標(biāo)準(zhǔn)haar小波變換和重構(gòu)后,系數(shù)為“0"的數(shù)目和以PNG格式存儲的重構(gòu)圖像文件大小,實(shí)驗(yàn)結(jié)果得到圖像測試表如表2所示:
表2 圖像測試表
| 圖像名稱 | 閾值 | 系數(shù)為“0"的數(shù)目 | PNG文件大小 |
| 原始圖像jimm_org.png | — | — | 103KB |
| 重構(gòu)圖像 jimm_haar_00.png | δ=0 | 19527 | 103KB |
| 重構(gòu)圖像jimm_haar_05.png | δ≤5 | 123261 | 84KB |
| 重構(gòu)圖像jimm_haar_10.png | δ≤10 | 155003 | 61KB |
| 重構(gòu)圖像jimm_haar_20.png | δ≤20 | 175655 | 38KB |
?
圖3表示了在不同閾值下的重構(gòu)圖像:
?
圖3 不同閾值下的重構(gòu)圖像
?
從圖像測試表和觀察不同閾值下的重構(gòu)圖像可得出以下結(jié)論:
u??????? 可利用小波變換與重構(gòu)對圖像文件進(jìn)行壓縮。
u??????? 通常在給定小波基函數(shù)條件下,閥值越大,系數(shù)為0的數(shù)目就越多,重構(gòu)圖像文件壓縮率也越高,重構(gòu)的圖像失真程度隨之增加。
u??????? 閥值>0時(shí),利用小波變換與重構(gòu)進(jìn)行圖像壓縮是一種有損壓縮方法,可以根據(jù)實(shí)際需要在圖像失真度允許的范圍內(nèi)選擇適當(dāng)?shù)拈y值來確定壓縮率。
?
參考文獻(xiàn)
???? [1] 林福宗,《小波與小波變換》,清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系智能技術(shù)與系統(tǒng)國家重點(diǎn)實(shí)驗(yàn)室,2001-9-25.
??? [2] The MathWorks, Inc., Wavelet Toolbox. Version 2.1 (R12.1), MATLAB 6.1 06-Apr-2001.
總結(jié)
- 上一篇: MFC中关于虚函数的一些问题
- 下一篇: MFC GDI绘图基础