• <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>
            Dict.CN 在線詞典, 英語(yǔ)學(xué)習(xí), 在線翻譯

            學(xué)海苦作舟,書山勤為徑

            留下點(diǎn)回憶

            常用鏈接

            統(tǒng)計(jì)

            積分與排名

            Denoise

            English study

            Web技術(shù)

            數(shù)據(jù)壓縮

            一些連接

            最新評(píng)論

            JPEG2000中如何計(jì)算失真的?

             

            JPEG2000中如何計(jì)算失真的?

            概述

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

            首先描述wmse的計(jì)算公式:

            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)

             

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

            1. 能量計(jì)算(G_b)

            2. 解碼的差異

            3. 子帶的權(quán)重(W_b)

            4. Delta的值(Delta) K_max

            5. Miss_msbPass_wmse

            6. TsTm

             

            能量的計(jì)算

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

            看一下5/3小波變換的過(guò)程:

            正變換公式:

            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中對(duì)于這種變化叫做提升;5/3變換的提升步驟有兩步,分別對(duì)應(yīng)公式12,其提升因子分別是-0.50.25

             

            同樣JPEG2000使用單位脈沖響應(yīng)來(lái)計(jì)算能量的變換;這種能量的變換對(duì)于高頻和低頻是不同的。分別在奇數(shù)位置和偶數(shù)位置設(shè)置一個(gè)1來(lái)模擬高頻和低頻脈沖響應(yīng)。下表演示了在整合過(guò)程中單位脈沖的響應(yīng):這里假設(shè)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

            上表是一個(gè)在偶數(shù)位置模擬一個(gè)脈沖的過(guò)程,也就是在低頻子帶中。

            Lx表示DWT的第幾層

            Lx cof表示DWT的整合系數(shù);第一次的整合系數(shù)是1,在綜合之后得到L1層真正DWT系數(shù);而L1層的系數(shù)作為L2層的輸入系數(shù),因?yàn)橛幸粋€(gè)放大的過(guò)程,所以對(duì)應(yīng)的位置需要乘以,也就是偶數(shù)位置,實(shí)際上對(duì)應(yīng)低頻子帶。

            由于5/3變換是整數(shù)變化,情況和上面有點(diǎn)不同。

             

            JPEG2000中認(rèn)為DWT變換是線性的,實(shí)際上從上面的計(jì)算可以發(fā)現(xiàn)這個(gè)事實(shí);因此它認(rèn)為各層之間的能力是可以線性相加的,從而得到整個(gè)過(guò)程的能量。

            能量是通過(guò)系數(shù)的平方累加得到。

            再來(lái)看高頻子帶中的一個(gè)模擬脈沖情況:

             

            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

             

             

             

             

             

             

             

            如果當(dāng)前的LEVEL1,而且是低頻子帶,那么能量系數(shù)是:

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

            如果是高頻子帶,那么能力系數(shù)是:

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

             

            現(xiàn)在知道如何計(jì)算單位沖擊的能量了,這些系數(shù)可以作為其他系數(shù)變化的基數(shù)。

             

            DWT變換中某些子帶兼有高頻和低頻部分,可以通過(guò)這個(gè)公式來(lái)計(jì)算某個(gè)子帶的具體能量:

            假設(shè)子帶具有索引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系數(shù):

            Y分量:Y_G_b = G_b

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

            子帶的權(quán)重

            JPEG2000可以為不同的子帶分配不同的權(quán)重。理論上可以根據(jù)CSF來(lái)分配權(quán)重,但這個(gè)值一般都設(shè)置為1

             

            DeltaK_max

            Delta對(duì)于5/3變換實(shí)際采用的一個(gè)固定的值1/256.

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

            LL: K_max bit B1 1-G

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

            HH: K_max bit + B3 + 1 – G

            G為保護(hù)位,一般取1,而B1B3是最壞的BIBO位擴(kuò)展,根據(jù)計(jì)算得到,B1從來(lái)不大于2B2從來(lái)不大于3B3從來(lái)不大于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

            有來(lái)以上各值,我們看一下WMSE是什么值。

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

            對(duì)于不同的子帶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)

            結(jié)合上面的子帶能量分布有:

            子帶

            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位的像素值;如果每個(gè)值都小于128,那么開始編碼位就是第60為基數(shù))位。通常情況在DWT分析的低層,系數(shù)一般比較小,他們?cè)诟呶欢嘉?/span>0,因此使用Miss_msb來(lái)記錄這個(gè)事實(shí),從而節(jié)省編碼。

            Miss_msb表示從最高位開始到第一個(gè)不全為0的位平面的位平面數(shù)量。

            Pass_wmse

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

            Wmse值是對(duì)應(yīng)到每個(gè)編碼過(guò)程就被稱為pass_wmse;這個(gè)值主要是計(jì)算當(dāng)前過(guò)程編碼對(duì)整個(gè)過(guò)程的失真改進(jìn)的情況。

            Pass_wmse的計(jì)算公式如下:

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

            由于采用16位整數(shù)運(yùn)算的,所以首先需要將wmse對(duì)應(yīng)到16位整數(shù)的變化,因此除以2^16的平方(因?yàn)?/span>wmse也是一個(gè)平方);然后對(duì)于從編碼位平面的最高位開始,每前進(jìn)一個(gè)位能量相當(dāng)于是原來(lái)的1/2(因?yàn)閺臄?shù)值上來(lái)看,例如:0x1000x080,確實(shí)后者是前者的一半),同樣需要取平方值。因此有多少個(gè)miss_msb就需要縮小次。

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

             

             

            TsTm

            首先看一下JPEG2000認(rèn)為如何計(jì)算失真的?

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

            其中第一個(gè)y是解碼后的值,第二個(gè)y是原來(lái)的樣本值;當(dāng)然這些都是針對(duì)DWT系數(shù)的。

            這里考察從位平面p+1p時(shí)候失真的改進(jìn)。

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

            G_b是能量因子,與我們前面的計(jì)算值同一個(gè)含義。

            yp+1是解碼到p1位平面時(shí)的值,yp是編碼到位平面p時(shí)候的值。而y表示原來(lái)的DWT系數(shù)。

             

            如果采用重點(diǎn)重建的算法,那么有:

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

            如果vp=0 yp 0

            因此向下編碼到位平面p的時(shí)候,由樣本y產(chǎn)生的失真為:

            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的值都是絕對(duì)值。

            現(xiàn)則假設(shè):v_py/2p×△的小數(shù)部分,也就是說(shuō):

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

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

             

            因此將上面兩個(gè)結(jié)果代入前面的表達(dá)式中。這里分為幾種情況來(lái)計(jì)算:

            1. vp0vp+1都為0,這個(gè)時(shí)候?qū)嶋H上式?jīng)]有失真的;這中情況不表示

            2. vp1,表示vp+10

            3. 如果vp+11,而且vp0,表示從p+1p位平面沒(méi)有改進(jìn)

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

            下面對(duì)24來(lái)求最中的失真改進(jìn)。

             

            對(duì)于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]

             

            對(duì)于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]

             

            有一個(gè)事實(shí)是不可忽略的,也就是:v_pv_p+1之間的關(guān)系。我們知道v_p|y|/2p△的小數(shù)部分,也就是:

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

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

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

             

            例如:設(shè)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(至少應(yīng)該是1,因?yàn)?/span>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

            因?yàn)?/span>2×v_p+1 >=1,所以其整數(shù)部分肯定是1

            對(duì)于vp大于1的過(guò)程,一般是量值改進(jìn)過(guò)程,對(duì)應(yīng)的失真計(jì)算方法有:

            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中通過(guò)兩個(gè)小的查找表來(lái)近似計(jì)算;這里取5位作為顯著過(guò)程和清除過(guò)程的計(jì)算基數(shù)。

            Ts的計(jì)算:

            假設(shè)將最中的結(jié)果轉(zhuǎn)換到1<<16范圍內(nèi)。

            設(shè)n大于等于0小于32

                   n 32n

                   v doublen/(double)32

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

             

            Tm的計(jì)算。計(jì)算Tm的時(shí)候使用的是6位來(lái)近似整個(gè)失真過(guò)程的變化。同樣將結(jié)果轉(zhuǎn)換到1<<16范圍內(nèi)。

            設(shè)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

             

            這里的計(jì)算位56根據(jù)精度選擇。

             

            最中的失真表達(dá)式

            現(xiàn)在已經(jīng)知道了所有失真計(jì)算的變量,可以用來(lái)表示最中的失真表達(dá)式了。如下:

            對(duì)于清除和顯著過(guò)程為:

            Delta_D = Pass_wmse *Ts

            對(duì)于量值改建過(guò)程為:

            Delta_D = Pass_wmse* +Tm

             

            失真長(zhǎng)度斜率

            失真的改進(jìn)和長(zhǎng)度的變化比值就是失真長(zhǎng)度改進(jìn),使用lambda來(lái)表示,如下:

            Lambda Delta_D/Delta_L

            標(biāo)準(zhǔn)的斜率曲線應(yīng)該式下中心原點(diǎn)內(nèi)凹的曲線,但上面的Lambda式一個(gè)小數(shù)值,不便于調(diào)試和觀察,JPEG2000中使用對(duì)數(shù)形式來(lái)將其轉(zhuǎn)換到065536之間的數(shù),具體轉(zhuǎn)換過(guò)程如下:

            設(shè)logscale256/ln2

            那么log_lambda logscale×(ln lambdaln232)+65536

            Log_lambda是不能小于2和大于65535的整數(shù)。

             

             

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

            評(píng)論

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

            你好!我想問(wèn)一下你用過(guò)Kakadu源代碼程序進(jìn)行圖像壓縮嗎?在這進(jìn)行壓縮的話小波基怎么樣選擇的呢?  回復(fù)  更多評(píng)論   

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

            可以選擇5/3或9/7
            通過(guò)設(shè)置可逆還是不可逆變換來(lái)確定  回復(fù)  更多評(píng)論   

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

            我們知道在 位平面截?cái)嗨惴?中
            如果剩下的比特?cái)?shù)不足以提取整個(gè)位平面, 則按照先
            低通子帶幀后高通子帶幀、先低通空間子帶后高通
            空間子帶、先亮度分量后色度分量的順序依次分配
            編碼比特,直到剩余比特?cái)?shù)為零.

            那么在 率失真優(yōu)化截?cái)嘀腥绻O碌谋忍財(cái)?shù)不足以提取整個(gè)包packet該怎么處理呢 ?  回復(fù)  更多評(píng)論   

            72种姿势欧美久久久久大黄蕉 | 久久久久亚洲AV无码专区桃色| 欧洲精品久久久av无码电影| 久久久久av无码免费网| 亚洲国产精品无码久久九九| 欧美激情精品久久久久久久| 久久精品成人免费国产片小草| 成人精品一区二区久久久| 亚洲乱亚洲乱淫久久| 99久久精品免费| 一本久久久久久久| 9191精品国产免费久久| 99久久国产热无码精品免费久久久久| 久久精品国产69国产精品亚洲| 久久香蕉一级毛片| 国产无套内射久久久国产| 久久国产视频网| 91麻豆国产精品91久久久| 熟妇人妻久久中文字幕| 久久精品aⅴ无码中文字字幕重口| 97久久久久人妻精品专区| 日韩精品国产自在久久现线拍 | 久久久噜噜噜久久熟女AA片| 久久天天躁狠狠躁夜夜网站| 久久精品国产精品青草| 久久国产视频网| 久久强奷乱码老熟女网站 | 91精品国产91久久久久久| 国产无套内射久久久国产| 午夜福利91久久福利| 99蜜桃臀久久久欧美精品网站| 色欲av伊人久久大香线蕉影院| 国产精品天天影视久久综合网| 精品国产青草久久久久福利| 久久这里都是精品| 99久久99久久久精品齐齐| 久久久久99精品成人片三人毛片| 国产精品久久久久久久app| 久久大香香蕉国产| 久久天天躁狠狠躁夜夜av浪潮| 久久久久久久久波多野高潮|