青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Dict.CN 在線詞典, 英語學習, 在線翻譯

學海苦作舟,書山勤為徑

留下點回憶

常用鏈接

統計

積分與排名

Denoise

English study

Web技術

數據壓縮

一些連接

最新評論

JPEG2000中如何計算失真的?

 

JPEG2000中如何計算失真的?

概述

JPEG2000失真的計算是其EBCOT算法的基礎,因此了解如何計算失真才能真正理解EBCOT算法。

首先描述wmse的計算公式:

Wmse  = ( Delta *1<<K_max)^2 * G_b * W_b^2

Pass_wmse = wmse/1<<32

Pass_wmse = Pass_wmse * (0.25^miss_msb)

再描述失真的公式:

Delta_D = Pass_wmse*(Ts +Tm)

 

失真的計算牽涉到很多概念,主要包括:

1. 能量計算(G_b)

2. 解碼的差異

3. 子帶的權重(W_b)

4. Delta的值(Delta) K_max

5. Miss_msbPass_wmse

6. TsTm

 

能量的計算

首先看一下能量的計算;能量的計算與選擇的DWT小波核有關系,這里以5/3小波為例。

看一下5/3小波變換的過程:

正變換公式:

C(2i+1) = P(2i+1) + (1 - P(2i) - P(2i+2))>>1           (1)

C(2i) = P(2i) + (C(2i-1) + C(2i+1) + 2)>>2             (2)

 

變換公式:

Q(2i) = C(2i) - (C(2i-1) + C(2i+1) + 2)>>2              (3)

Q(2i+1) = C(2i+1) - (1 - Q(2i) - Q(2i+2))>>1           (4)

 

JPEG2000中對于這種變化叫做提升;5/3變換的提升步驟有兩步,分別對應公式12,其提升因子分別是-0.50.25

 

同樣JPEG2000使用單位脈沖響應來計算能量的變換;這種能量的變換對于高頻和低頻是不同的。分別在奇數位置和偶數位置設置一個1來模擬高頻和低頻脈沖響應。下表演示了在整合過程中單位脈沖的響應:這里假設DWT Lelvel3

 

L1 cof

L1

L2 cof

L2

L3 cof

L3

0

 

 

 

 

 

 

1

 

0.5

 

0.25

 

0.125

2

1

1

0.5

0.5

0.25

0.25

3

 

0.5

 

0.75

 

0.325

4

 

 

1

1

0.5

0.5

5

 

 

 

0.75

 

0.625

6

 

 

0.5

0.5

0.75

0.75

7

 

 

 

0.25

 

0.875

8

 

 

 

 

1

1

9

 

 

 

 

 

0.875

10

 

 

 

 

0.75

0.75

11

 

 

 

 

 

0.625

12

 

 

 

 

0.5

0.5

13

 

 

 

 

 

0.325

14

 

 

 

 

0.25

0.25

15

 

 

 

 

 

0.125

上表是一個在偶數位置模擬一個脈沖的過程,也就是在低頻子帶中。

Lx表示DWT的第幾層

Lx cof表示DWT的整合系數;第一次的整合系數是1,在綜合之后得到L1層真正DWT系數;而L1層的系數作為L2層的輸入系數,因為有一個放大的過程,所以對應的位置需要乘以,也就是偶數位置,實際上對應低頻子帶。

由于5/3變換是整數變化,情況和上面有點不同。

 

JPEG2000中認為DWT變換是線性的,實際上從上面的計算可以發現這個事實;因此它認為各層之間的能力是可以線性相加的,從而得到整個過程的能量。

能量是通過系數的平方累加得到。

再來看高頻子帶中的一個模擬脈沖情況:

 

L1 cof

L1

L2 cof

L2

L3 cof

L3

-5

 

 

 

 

 

 

-4

 

 

 

 

 

 

-3

 

 

 

 

 

 

-2

 

0

-0.125

-0.125

 

 

-1

0

-0.125

0

 

 

 

0

0

-0.25

-0.25

 

 

 

1

1

0.75

0

 

 

 

2

0

-0.25

0.75

 

 

 

3

0

-0.125

0

 

 

 

4

0

0

-0.25

 

 

 

5

0

 

0

 

 

 

6

 

 

-0.125

 

 

 

7

 

 

0

 

 

 

8

 

 

 

 

 

 

9

 

 

 

 

 

 

10

 

 

 

 

 

 

11

 

 

 

 

 

 

12

 

 

 

 

 

 

13

 

 

 

 

 

 

14

 

 

 

 

 

 

15

 

 

 

 

 

 

 

如果當前的LEVEL1,而且是低頻子帶,那么能量系數是:

L_G_b = 0.5*0.5 + 1*1 + 0.5*0.5 = 1.5

如果是高頻子帶,那么能力系數是:

H_G_b = (-0.125)^2 * 2 + 0.75^2 + (-0.25)^2 = 0.03125+0.5625+0.125=0.71875

 

現在知道如何計算單位沖擊的能量了,這些系數可以作為其他系數變化的基數。

 

DWT變換中某些子帶兼有高頻和低頻部分,可以通過這個公式來計算某個子帶的具體能量:

假設子帶具有索引xy0表示低頻,1表示高頻,因此x=0y=0表示LL子帶,x=1并且y=1表示HH子帶,那么:

G_b = (x? H_G_b: L_G_b) * (y? H_G_b: L_G_b)

分配到子帶就是:

子帶

G_b

LL

2.25

HL/LH

1.078125

HH

0.5166015625

 

 

不同的分量采用不同的G_b系數:

Y分量:Y_G_b = G_b

UV分量:G_b = G_b * (0.75^2+0.25^2+0.25^2)

子帶的權重

JPEG2000可以為不同的子帶分配不同的權重。理論上可以根據CSF來分配權重,但這個值一般都設置為1

 

DeltaK_max

Delta對于5/3變換實際采用的一個固定的值1/256.

K_max用來表示子帶樣本范圍,不同子帶范圍是不同的,基本上這樣定義:

LL: K_max bit B1 1-G

HL/LH: K_max bit + B2 +1-G

HH: K_max bit + B3 + 1 – G

G為保護位,一般取1,而B1B3是最壞的BIBO位擴展,根據計算得到,B1從來不大于2B2從來不大于3B3從來不大于4。因此有:

LL: K_max bit 2 1-G = bit +2

HL/LH: K_max bit + 3 +1-G = bit + 3

HH: K_max bit + 4 + 1 – G= bit + 4

 

Wmse

有來以上各值,我們看一下WMSE是什么值。

這里假設圖像的分量精度是8,那么:

對于不同的子帶K_max為:

子帶

K_max

LL

10

HL/LH

11

HH

12

Wmse = ( Delta *1<<K_max)^2 * G_b * W_b^2

1/256 ×K_max^2 *G_b (W_b=1)

結合上面的子帶能量分布有:

子帶

WMSE

LL

64*G_b=64*2.25 = 144

HL/LH

256* G_b  = 256*1.078125=276

HH

1024*G_b = 1024*0.5166015625=529

Miss_msb

JPEG2000中采用的是位平面編碼,其編碼是從不是所有像素都為0的位平面開始編碼。例如,8位的像素值;如果每個值都小于128,那么開始編碼位就是第60為基數)位。通常情況在DWT分析的低層,系數一般比較小,他們在高位都位0,因此使用Miss_msb來記錄這個事實,從而節省編碼。

Miss_msb表示從最高位開始到第一個不全為0的位平面的位平面數量。

Pass_wmse

JPEG2000使用的是位平面編碼,并且將每個位平面分為3個過程編碼,分別是清除過程、顯著過程合量值改進過程。對于第一個編碼的位平面只有清除過程,然后從第二個開始編碼的位平面開始,都是有:顯著過程、量值改進過程合清除過程組成。因此如果有K個位平面需要編碼,那么就有:3K-2個編碼過程。

Wmse值是對應到每個編碼過程就被稱為pass_wmse;這個值主要是計算當前過程編碼對整個過程的失真改進的情況。

Pass_wmse的計算公式如下:

Pass_wmse = (wmse /2^32)*0.25^miss_msb

由于采用16位整數運算的,所以首先需要將wmse對應到16位整數的變化,因此除以2^16的平方(因為wmse也是一個平方);然后對于從編碼位平面的最高位開始,每前進一個位能量相當于是原來的1/2(因為從數值上來看,例如:0x1000x080,確實后者是前者的一半),同樣需要取平方值。因此有多少個miss_msb就需要縮小次。

這個pass_wmse再編碼過程中也是逐漸減小的,每次編碼一個位平面完成以后,減少一次。

 

 

TsTm

首先看一下JPEG2000認為如何計算失真的?

D G_b (yp[j]-y[j]) 2

其中第一個y是解碼后的值,第二個y是原來的樣本值;當然這些都是針對DWT系數的。

這里考察從位平面p+1p時候失真的改進。

Delta_D G_b×[(yp+1[j]-y[j]) - (yp[j]-y[j]) ]

G_b是能量因子,與我們前面的計算值同一個含義。

yp+1是解碼到p1位平面時的值,yp是編碼到位平面p時候的值。而y表示原來的DWT系數。

 

如果采用重點重建的算法,那么有:

如果vp>0 yp signy × 2p×△(vp+1/2

如果vp=0 yp 0

因此向下編碼到位平面p的時候,由樣本y產生的失真為:

G_b ×(yp[j]-y[j]) 2

= G_b × y-2p×△(vp+1/2))2 ,其中vp>0

G_b × y2 =(y2p×△×vp2  ,其中vp>0

 

上面各式中y的值都是絕對值。

現則假設:v_py/2p×△的小數部分,也就是說:

其:v_p |y|/2p×△ –vp

其中vp表示|y|/2p×△的整除結果。

 

因此將上面兩個結果代入前面的表達式中。這里分為幾種情況來計算:

1. vp0vp+1都為0,這個時候實際上式沒有失真的;這中情況不表示

2. vp1,表示vp+10

3. 如果vp+11,而且vp0,表示從p+1p位平面沒有改進

4. 如果vp大于1,表示vp+1大于0

下面對24來求最中的失真改進。

 

對于2有:

(yp+1[j]-y[j]) 2 ( |y| 2p+1vp+1 )2 = 22(p+1)×△×(|y|/2p+1 –vp+12 =22(p+1)×△×v_p+12

= 22p×△×(2v_p+1)2

(yp[j] - y[j]) 2 (|y| 2p(vp+1/2) )2 = 22p×△×(|y|/2p –(vp+1/2))2= 22p×△×(v_p–1/2)2

 

因此有:

Delta_D G_b×[(yp+1[j]-y[j]) - (yp[j]-y[j]) ]

G_b ×22p×△×[(2v_p+1)2- (v_p–1/2)2]

 

對于4有:

(yp+1[j]-y[j]) 2 ( |y| 2p+1(vp+1 +1/2))2 = 22p×△×(2v_p+1–1/2)2

(yp[j] - y[j]) 2 (|y| 2p(vp+1/2) )2 = 22p×△×(|y|/2p –(vp+1/2))2= 22p×△×(v_p–1/2)2

Delta_D G_b×[(yp+1[j]-y[j]) - (yp[j]-y[j]) ]

= G_b ×22p×△×[(2v_p+1–1/2)2- (v_p–1/2)2]

 

有一個事實是不可忽略的,也就是:v_pv_p+1之間的關系。我們知道v_p|y|/2p△的小數部分,也就是:

v_p = |y|/2p – [|y|/2p]

v_p+1|y|/2P+1 – [|y|/2p+1]。因此2 ×v_p+1是由最第有效位整數位和v_p構成,也就是:

V_p = 2v_p+1 – [2v_p+1],其中[2v_p+1]表示取整。

 

例如:設y22p2p+13

那么v_p = float22/4 int22/4 0.5

v_p+1 float22/8 int22/8 0.75

因此v_p 2 ×v_p+1(int)2×v_p+1 1.51 0.5

 

如果樣本在位平面p變成顯著位,你們vp 1 并且2×v_p+1 >=1(至少應該是1,因為p位至少是p+1位的1/2)。那么失真可表示位:

Delta_D G_b ×△2×22p× Tsv_p+1

其中Tsv_p+1)可表示為:

2×v_p+12-(v_p -1/22 =(2×v_p+12 [2×v_p+1)-11/2]2

因為2×v_p+1 >=1,所以其整數部分肯定是1

對于vp大于1的過程,一般是量值改進過程,對應的失真計算方法有:

Delta_D G_b ×△2×22p× Tmv_p+1

其中Tmv_p+1)為:

2v_p+1-12 - (2×v_p+1)-x1/22

其中x表示(int(v_p+1<<1)。如果p位也為1,那么x1,否則x 0

 

JPEG2000中的TsTm

JPEG2000中通過兩個小的查找表來近似計算;這里取5位作為顯著過程和清除過程的計算基數。

Ts的計算:

假設將最中的結果轉換到1<<16范圍內。

n大于等于0小于32

       n 32n

       v doublen/(double)32

       s_lut[n] = (long)((v2 – (v – 1.5)2)×f_scale0.5

 

Tm的計算。計算Tm的時候使用的是6位來近似整個失真過程的變化。同樣將結果轉換到1<<16范圍內。

n大于0小于64

       V=(doublen/double32

       如果n大于等于32,那么

       R_lut[n] v-1.02-(v-1.52

       如果n小于32,那么:

       R_lut[n] v-1.02-(v-0.52

 

這里的計算位56根據精度選擇。

 

最中的失真表達式

現在已經知道了所有失真計算的變量,可以用來表示最中的失真表達式了。如下:

對于清除和顯著過程為:

Delta_D = Pass_wmse *Ts

對于量值改建過程為:

Delta_D = Pass_wmse* +Tm

 

失真長度斜率

失真的改進和長度的變化比值就是失真長度改進,使用lambda來表示,如下:

Lambda Delta_D/Delta_L

標準的斜率曲線應該式下中心原點內凹的曲線,但上面的Lambda式一個小數值,不便于調試和觀察,JPEG2000中使用對數形式來將其轉換到065536之間的數,具體轉換過程如下:

logscale256/ln2

那么log_lambda logscale×(ln lambdaln232)+65536

Log_lambda是不能小于2和大于65535的整數。

 

 

posted on 2007-06-25 14:47 笨笨 閱讀(2598) 評論(3)  編輯 收藏 引用 所屬分類: 壓縮算法

評論

# re: JPEG2000中如何計算失真的? 2007-06-26 08:14 liuliu

你好!我想問一下你用過Kakadu源代碼程序進行圖像壓縮嗎?在這進行壓縮的話小波基怎么樣選擇的呢?  回復  更多評論   

# re: JPEG2000中如何計算失真的? 2007-06-26 09:12 笨笨

可以選擇5/3或9/7
通過設置可逆還是不可逆變換來確定  回復  更多評論   

# re: JPEG2000中如何計算失真的? 2008-04-21 17:46 vfdff

我們知道在 位平面截斷算法 中
如果剩下的比特數不足以提取整個位平面, 則按照先
低通子帶幀后高通子帶幀、先低通空間子帶后高通
空間子帶、先亮度分量后色度分量的順序依次分配
編碼比特,直到剩余比特數為零.

那么在 率失真優化截斷中如果剩下的比特數不足以提取整個包packet該怎么處理呢 ?  回復  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品日韩欧美| 欧美日韩精品伦理作品在线免费观看| 亚洲乱亚洲高清| 国产精品成人一区| 久久欧美肥婆一二区| 亚洲精品免费在线播放| 最近看过的日韩成人| 国产无一区二区| 国产精品日韩久久久| 欧美成人精品在线观看| 毛片一区二区三区| 久久综合狠狠| 亚洲三级电影在线观看 | 欧美91大片| 欧美 日韩 国产一区二区在线视频| 蜜臀久久99精品久久久久久9| 国产精品私房写真福利视频| 国产精品久久久久久久久久三级 | 亚洲国产精品视频| 国产日韩精品久久久| 欧美日韩另类视频| 久久综合狠狠综合久久综合88| 一级成人国产| 亚洲制服丝袜在线| 亚洲欧美日韩另类| 欧美亚洲网站| 亚洲国产精品999| 在线视频欧美日韩| 亚洲综合视频网| 欧美91福利在线观看| 亚洲一区在线播放| 欧美国产日韩一区二区三区| 午夜亚洲性色福利视频| 久久亚洲国产精品一区二区| 欧美一区二区三区在| 免费日韩精品中文字幕视频在线| 欧美大片在线影院| 亚洲欧美视频| 国产美女在线精品免费观看| 久久精品国产成人| 国产日韩欧美一区| 樱桃国产成人精品视频| 欧美中文字幕视频在线观看| 欧美一区二区三区免费视| 亚洲一区不卡| 亚洲天堂网在线观看| 亚洲在线黄色| 亚洲免费av电影| 亚洲性夜色噜噜噜7777| 欧美黄色网络| 国产精品乱人伦一区二区| 国产麻豆午夜三级精品| 国产日韩av高清| 亚洲欧美综合网| 亚洲免费av观看| 久久精品日产第一区二区三区 | 性久久久久久久| 亚洲性色视频| 国产日韩在线不卡| 久久精品国产999大香线蕉| 在线视频日韩| 国产三级精品三级| 久久亚洲精选| 久久亚洲欧洲| 亚洲欧洲在线免费| 亚洲黄色小视频| 国产精品高潮呻吟久久av黑人| 亚洲精选成人| 久久躁日日躁aaaaxxxx| 亚洲欧美日韩综合国产aⅴ| 国产婷婷色一区二区三区四区| 久久99伊人| 免费的成人av| 亚洲欧美日韩直播| 美女日韩欧美| 国产精品久久久久久久午夜| 亚洲高清在线观看一区| 久久综合久色欧美综合狠狠 | 欧美日韩中文字幕在线| 亚洲日本在线观看| 欧美亚洲综合久久| 好看的日韩av电影| 美女爽到呻吟久久久久| 亚洲永久精品国产| 国产精品日韩在线观看| 久久久人成影片一区二区三区观看 | 亚洲精品在线一区二区| 欧美日韩综合在线免费观看| 亚洲最新在线| 亚洲美女在线视频| 久久午夜视频| 久久成人免费网| 欧美日韩国产综合视频在线| 99re热这里只有精品免费视频| 99re66热这里只有精品3直播| 亚洲性夜色噜噜噜7777| 亚洲少妇诱惑| 国产亚洲第一区| 欧美 日韩 国产 一区| 亚洲精品视频在线观看网站| 午夜精品一区二区三区在线播放 | 欧美日韩一区二区免费视频| 在线一区欧美| 欧美不卡在线视频| 亚洲欧美日韩精品| 亚洲人成网站色ww在线| 国产精品久久久久天堂| 欧美.www| 久久天天狠狠| 日韩午夜精品视频| 中日韩午夜理伦电影免费| 亚洲欧美成人精品| 欧美国产在线视频| 亚洲欧美中文在线视频| 亚洲日本欧美天堂| 亚洲欧美一区二区精品久久久| 欧美激情 亚洲a∨综合| 日韩午夜av电影| 国产亚洲一二三区| 国产精品vvv| 国产精品美女久久久久久免费| 欧美日韩美女在线| 国产精品免费看| 国产最新精品精品你懂的| 亚洲成人在线视频播放| 亚洲高清一区二区三区| 亚洲伦理在线观看| 宅男噜噜噜66一区二区| 欧美一区亚洲二区| 亚洲国产婷婷香蕉久久久久久99| 亚洲精品国精品久久99热一| 亚洲视频每日更新| 美女在线一区二区| 国产精品卡一卡二| 亚洲国产精品999| 久久久久久亚洲精品杨幂换脸| 亚洲精品在线免费| 9色porny自拍视频一区二区| 欧美一级久久久| 亚洲精选在线| 欧美精品一区二区三区四区| 国产一区二区三区四区老人| 亚洲精品少妇30p| 亚洲精品日韩精品| 欧美激情国产日韩| 久久精品一区二区三区四区| 一区二区三区高清视频在线观看| 久久精品视频在线看| 亚洲另类视频| 99精品国产热久久91蜜凸| 欧美fxxxxxx另类| 免费在线观看精品| 久久久久九九九九| 欧美一区二区网站| 美女网站在线免费欧美精品| 一区二区三区视频免费在线观看| 影音国产精品| 日韩午夜激情电影| 国产精品久久久久国产精品日日| 国产精品福利影院| 国产午夜精品在线观看| 国语自产偷拍精品视频偷| 久久国产加勒比精品无码| 欧美大片免费观看| 性欧美8khd高清极品| 欧美理论在线| 久久嫩草精品久久久久| 欧美精品一二三| 国产精品亚洲视频| 国产农村妇女精品一二区| 亚洲国产一二三| 亚洲国产精品一区二区第一页| 亚洲激情视频在线| 欧美怡红院视频| 亚洲一区二区三区精品视频| 久久国产日韩| 国产精品一区一区| 久久精品动漫| 亚洲综合99| 亚洲国产高清高潮精品美女| 一道本一区二区| 在线观看91精品国产入口| 亚洲电影中文字幕| 国产精品乱码妇女bbbb| 欧美不卡在线| 国产在线成人| 欧美一区二区在线免费播放| 亚洲少妇自拍| 欧美国产日韩a欧美在线观看| 久久黄金**| 国产精品夜夜夜一区二区三区尤| 欧美高清在线精品一区| 一区二区三区在线观看欧美| 亚洲一级在线观看| 午夜精品一区二区三区在线播放| 欧美日韩精品一区二区三区四区| 亚洲激情在线播放| 日韩午夜在线电影| 欧美乱人伦中文字幕在线| 亚洲激情在线激情|