使用根據圖像變化的小波級數和各個小波級不同量化因子的小波變換對矩陣、尤其代表 ...的制作方法
【專利摘要】本發明涉及一種編碼方法,用于通過相繼的層將初始矩陣編碼成壓縮矩陣和將其恢復成恢復矩陣,初始矩陣的各個單元包含相應的初始數值;壓縮矩陣的各個單元包含與相應的初始數值相對應的相應的壓縮數值;恢復矩陣的各個單元包含與相應的初始數值相對應的相應的恢復數值;其特征在于,為了編碼:?在有限數量的級上將小波變換應用于整個矩陣,以其使保留大于或等于2×2尺寸的殘余級;然后,對殘余級差分編碼、即通過用殘余級的各個值執行差分來壓縮殘余級。
【專利說明】
使用根據圖像變化的小波級數和各個小波級不同量化因子的 小波變換對矩陣、尤其代表靜止圖像或視頻的矩陣編碼的 方法
技術領域
[0001] 本發明設及設置為矩陣的數字值的編碼領域,尤其設及所述矩陣為表示圖像像素 的二維矩陣的情況。
【背景技術】
[0002] 壓縮方法的主要約束一方面在于通過壓縮來盡可能地減少按字節計量的初始數 字文件的體積,和另一方面在于盡可能接近初始文件地恢復文件。多種圖像壓縮方法使用 特別地已知名稱為化eg2000的小波變換。水平應用的各個小波級將寬度除W因子2;豎直應 用的各個小波級將高度除W因子2;二維應用的小波級將圖像的兩個維度除W因子2。現有 編解碼器通過小波壓縮圖像,直到殘余圖像僅呈現一個像素。為了減少待應用的小波級數, 其中一些編解碼器、如化eg2000將圖像分成矩形子部分,稱為"片"(英文為"tiles")。該技 術通過將圖像的各個子部分作為完整圖像考慮來允許減小級數;然而,該技術有在解壓縮 后恢復的圖像上的片的邊界處產生偽像/間斷的缺點。
【發明內容】
[0003] 本發明的目的在于提供一種簡單的壓縮方法,尤其在其應用于代表圖像的矩陣時 允許結合將該圖像分割成片的優點,而不具有在恢復圖像上造成運些片的關于變換、即壓 縮然后解壓的間斷的缺點。
[0004] 根據本發明的方法,為了通過相繼的層將初始矩陣編碼成壓縮矩陣并將其恢復成 恢復矩陣,初始矩陣的各個單元包含相應的初始數值;壓縮矩陣的各個單元包含與相應初 始數值對應的相應的壓縮數值;恢復矩陣的各個單元包含與相應初始數值對應的相應的恢 復數值;其特征在于,為了編碼、即壓縮初始矩陣:
[0005] -在有限數量的級上將小波變換應用于整個矩陣,W使其保留尺寸大于2 X 2的殘 余級;然后,
[0006] -對殘余級差分編碼,即在殘余級的各個值的初始形式(該級編碼前)或恢復形式 (該級編碼后)下,通過用殘余級的各個值執行差分來壓縮殘余級。
[0007] 該方法有利地應用于矩陣編碼,其中矩陣的各個值對應于圖像的像素。
【附圖說明】
[000引接下來參照附圖,W舉例而非限制性方式描述本發明多種實施方式,其中:
[0009] -圖1為尺寸為320 X 224像素的原始圖像;
[0010] -圖2示出第一恢復圖像,通過現有技術的小波方法對圖1的整個原始圖像全局地 應用壓縮然后解壓得到;
[0011] -圖3示出第二恢復圖像,通過借助現有技術的小波方法對預先裁剪成為32X32像 素片的圖I原始圖像應用壓縮然后解壓得到;和
[0012] -圖4示出第=恢復圖像,通過根據本發明的小波方法對圖1的整個原始圖像全局 地應用壓縮然后解壓得到。
【具體實施方式】
[0013] 將在圖像的數字壓縮應用中描述根據本發明的方法。在該例子中,應用使用升法 (proc自 d自 d' 自1自vat ion)的二維Cohen-Daubechies-Fauveau(CDF) 5/3型離散小波。圖 1示出 初始、原始圖像。由圖4示出,通過本方法對初始圖像壓縮然后解壓之后所恢復的圖像。在所 示出的例子中,圖像為包括320列和224行即320X224像素的灰度圖像。
[0014] 根據所述方法,計算適于圖像壓縮的級數。將級數理解為由小波處理的級數與由 差值處理的殘余級數的總和。例如,包括四個級的圖像將有=個級由小波處理,和一個殘余 級由差值處理。
[0015] 為了使殘余級數足夠代表圖像內容,W舉例的方式按如下方式計算級數:
[0016] -采用高度和寬度之間的最小尺寸:例如,在320 X 224圖像的情況下,最小尺寸為 高度,即:min_dim = 224;
[0017] -通過將如下公式應用于最小尺寸來確定級數Nv_niveaux:
[001 引 Nb_niveaux=ARR0NDI.INF[ln(min_dim)/ln(2)-3]
[0019] 和,
[0020] 1 < Nb_niveaux < 5
[0021] 其中;
[0022] -ARR0NDI.INF代表下舍運算。例如:
[0023] ARR0NDI.INF(4.99)=4
[0024] -Ln代表自然對數。
[0025] 優選地和在所示出的例子中,對于大圖像,限制于5級。因此,如果:
[0026] ARR0NDI.INF[ln(min_dim)/ln(2)-3]>5,那么,Nb_niveaux = 5。
[0027] 對于極小圖像,具有至少1級。因此,如果:
[002引 ARR0NDI.INF[ln(min_dim)/ln(2)-3]=0,那么,Nb_niveaux = l;
[0029] 在所示例子中:
[0030] -Ln(224)=5.41
[0031] -Ln(2)=0.69
[0032] 其中;
[0033] Nb_niveaux=ARR0NDI.INF[(5.41/0.69)-3]=4
[0034] 因此將具有四個級,其中=個級由小波處理,和一個殘余級由差值處理。
[0035] 在下文中,考慮第一級作為用于圖像解碼的啟始級,即由差值處理的級,之前命名 為"殘余級",即具有最小清晰度的級;最后一級為包含完整圖像的級。
[0036] 還計算量化因子。在所示出的例子中,為各個級定義量化因子。如果該因子為1,不 存在量化且無損失地應用變換。當將量化因子應用于小波級時,用該量化因子量化該級的 各個子矩陣LH、HL和皿。在將量化因子應用于殘余級時,根據該因子量化各個差值。有利地, 量化因子的值在各個級增大:包含更多數據的最后級將比第一級被更多地量化。
[0037] 還可用整數和定點數針對全部或部分級執行運些變換和量化。
[0038] 量化因子的計算方法可W如下:
[0039] -定義最大量化因子Qmax,其將被應用于最后一級矩陣HH;和,
[0040] -將該因子除W2, W得到該相同最后一級的矩陣LH和化的量化因子;然后,
[0041] -對于各個其它小波級,將與矩陣皿相關聯的量化因子定義為后續級的矩陣LH和 HL的量化因子,和將當前級的矩陣LH和HL的量化因子定義為當前級的矩陣皿的量化因子的 一半;
[0042] 如果計算的因子小于1,則不存在量化。
[0043] 由差值處理的殘余級可被量化或不被量化。
[0044] 為了簡化,在例子中對各個小波級使用固定量化因子,下面將定義各個級的因子。
[0045] 在接下來的描述中,對所述值并且對于所述舍入運算使用W下約定。
[0046] 對于所述值,所述約定如下:系統地處于矩陣Y的范圍內,矩陣Y的各個值由命名為 ym,n的元素代表,其中:
[0047] -m代表矩陣Y中元素所處行的標號;
[0048] -n表示矩陣中元素所處列的標號;
[0049] 行n和列m被從1開始編號,元素 yi,i位于矩陣Y左上角。因此,可W如下方式表示矩 陣Y:
[(K)加 ]
[0051]對于舍入運算,所述約定為:除了為了計算級數,每次需要進行舍入運算,就執行 該舍入運算得到最接近的整數;例如得到如下舍入運算:
[0化2] ARRONDI (0.5) = 1
[0053] ARRONDI (0.49)=0
[0化4] ARRONDI (-0.49)=0
[0化5] ARRONDI (-0.5) = 1
[0056] 所述方法的接續步驟包括對通過使用小波提供的級編碼。在所示例子中,使用CDF 5/3型小波。
[0057] 用如下方程得到豎直小波步驟:
[0化引-計算詳細矩陣H:
[0059 ] hm, n = y2m, n- [ y2m-l, n+y2m+l, n] /2
[0060]對于包括在I和Y高度的一半之間的任意m,對于在矩陣Y的寬度上的任意n。
[0061 ]-計算近似矩陣^
[0062] Imn = y2m-l, n+ [ hm-l, n+hm, n ] /4
[0063] 對于小于或等于Y高度的一半的m,如果Y的高度為奇數,那么+1,對于在Y的寬度上 的任意n。
[0064] 用如下方程得到水平小波步驟:
[00化]-計算詳細矩陣;
[0066] hm, n = ym, 2n- [ Ym, 2n-l+ym, 2n+l ] / 2
[0067] 對于包括在I和Y寬度的一半之間的任意n,對于在Y的高度上的任意m。
[006引-計算近似矩陣;
[0069] Imn = Ym, 2n-l+ [hm, n-1+hm, n] /4
[0070] 對于小于或等于Y寬度的一半的n,如果Y的寬度為奇數,那么+1,對于在Y的高度上 的任意m。
[0071 ] W傳統方式,W如下方式獲得2維小波級:
[0072] -將豎直小波應用于輸入矩陣Y,W生成(近似)矩陣L和(詳細)矩陣H;
[0073] -將水平小波應用于矩陣L,W獲得(近似)矩陣化和(詳細)矩陣LH;
[0074] -將水平小波應用于矩陣H,W獲得兩個矩陣(詳細)化和(近似)皿。
[0075] 近似矩陣化因此作為用于先前級的輸入矩陣。
[0076] 接下來編碼第一級,或殘余級,即在通過小波對其它級編碼之后的殘余級。代表第 一級或殘余級的矩陣Y的值記作ym,n,根據前面定義的約定:稱y為原始值,yQm,n為(量化)壓 縮值W及yRm,n為恢復值。
[0077] 在所示出的例子中,此處使用因子q = 2。通過使用量化的差值并調節行進方向來 進行最后一級的編碼:
[007引-保留第一值yi,i,使得:
[0079] yQi,i = yRi,i = yi,i;
[0080] -對于第一行的全部值yi,n:
[0081] yQi,n=(yi,n-yRi,n-l)/q
[0082] 和,
[0083] yRi,n = yRi,n-i+yQi,n x q
[0084] -對于第一列的全部值ym, I:
[00 化]y〇m,i = (ym'i-yRm-i'i)/q
[0086] 和,
[0087] yRm, 1 = yRm-i, i+yQm, ixq
[0088] 對于全部剩余值,豎線M代表其所框起的值的絕對值:
[0089] -計算恢復值中最接近的水平差:
[0090] DHm,n= |yRm-l,n-yRm-l,n-l
[0091 ]-計算恢復值中最接近的豎直差:
[0092] DVm, n= |yRm,n-1-yRm-l,n-l
[0093] -根據最小差、默認為豎直差來選擇參考值:
[0094] -如果DV< =DH:豎直差
[00 巧]yQm,n=(ym,n-yRm-l,n-l)/q
[0096] 和,
[0097] yRm, n = yRm-1, n+yQm, n * q [009引-如果DH<DV:水平差:
[0099] y Qm, n = (ym, n-yRm, n-1 ) /q
[0100] 和,
[0101] yRm, n = yRm, n-l+yQm, n * q
[0102] -如果最后一級未被量化(q=l),則前面公式可簡化成yRm,n = ym,n。
[0103] 在對最后一級解碼時,W與編碼相同的方式計算行進方向,恢復值是相同的。因此 執行如下操作W獲得恢復值:
[0104] ?保留第一值yi,i,使得:
[0105] y 化 i = y 化 1
[0106] ?對于第一行的全部值yi,n:
[0107] -yRi,n = yRi,n-i+yQi,n 女 q [010引.對于第一列的全部值ym,i:
[0109] -yRm, 1 = yRm-i, i+yQm, i * q
[0110] .對于全部殘余值:
[0111] -計算恢復值中最接近的水平差:
[0112] ^DHm, n= IyRm-I, n-yRm-l, n-1 I
[0113] -計算恢復值中最接近的豎直差:
[0114] DVm.n= |yRm,n-:l-yRm-l,n-l I
[0115] -根據最小差、默認為豎直差來選擇參考值:
[0116] -如果DV< =DH,則豎直差:
[0117] yRm, n = yRm-1, n+yQm, n * q
[011引-如果DH<DV,則水平差:
[0119] yRm, n = yRm, n-1+yQm, n * q
[01 20]如果最后一級未被量化(q = 1 ),則前面的公式可簡化成yRm, n = ym, n。
[0121] 接下來解碼在前面由小波編碼的級。對于各個小波級的解碼,解量化被量化的子 矩陣LH、HL和HH,然后通過使用解量化的運些矩陣和由先前級的解碼恢復的矩陣化來執行 二維逆小波。
[0122] 在例子中,處于使用CDF 5/3型二維小波來壓縮灰度圖像的范圍內。
[0123] WS種方式將圖1所示的320 X 224尺寸的圖像編碼在8個比特(值從0至255)上:
[0124] -根據現有技術的第一方法:通過連續小波級對整個圖像編碼直到所述圖像為1個 像素,并恢復成如圖2所示的圖像;
[0125] -根據現有技術的第二方法:分成32 X 32的片,應用5個小波級,W達到用于最終級 的1像素尺寸,并恢復成如圖3所示的圖像;
[0126] -根據本發明的方法:對整個圖像應用3個連續級,然后對差值編碼并恢復如圖4所 示的圖像。
[0127] 在各個情況下根據相同因子對相繼的級進行量化,按減小級的順序:50、25、15、2、 2、1、1、1、1。
[0128] 此處,僅用整數操作,并且對于小波變換的各個級,將唯一因子應用于該級的矩陣 ^、化、和皿。
[0129] 根據第一現有技術:
[0130] 自320 X224圖像起,對于整個圖像需要相繼的10個小波級,W達到1個像素的圖 像。
[0131] 相繼級的清晰度和量化因子為: 「ni9勺1
[0133] 使用升法在各個級處應用CDF 5/3型二維離散小波變換。各級的矩陣LH、HL、皿被 用相關聯的因子量化并且舍入為較大整數值:
[0134] ARRONDI (0.5) = 1
[0135] ARRONDI (0.49)=0
[0136] ARRONDI (-0.49)=0
[0137] ARRONDI (-0.5) = 1
[0138] 接下來W如下方式計算圖像的理論權重:形成包含量化小波的全部系數的信號, 并將它們用于化annon賭公式。
[0139] 最后,W如下方式計算平均誤差:執行各個原始值和各個對等的恢復值之間的差 的絕對值,取運些值的平均。
[0140] 得到由圖2示出的如下結果:
[0141] -理論權重:2.000化B
[0142] -平均差:0.8335
[0143] 根據第一現有技術:
[0144] 將圖像分成32 X 32像素的片。因此得到320/32 = 10個水平片,和224/32 = 7個豎直 片,即整體為10*7 = 70個片。
[0145] 用5個相繼的小波級壓縮運些片中的每一個,直到達到1個像素的片,然后用與前 面的因子相同的因子量化該片。對于各個片,獲得:
[0147]通過使用升法,在各個級處應用CDF 5/3型二維離散小波變換。各級的矩陣LH、化、 用相關聯的因子量化,并且舍入為較大整數值:
[014 引 ARRONDI (0.5) = 1
[0149] ARRONDI (0.49)=0
[0150] ARRONDI (-0.49)=0
[0151] ARRONDI (-0.5) = 1
[0152] 接下來W如下方式計算圖像的理論權重:形成包含量化小波的全部系數的信號, 并將它們用于化annon賭公式。
[0153] 最后,W如下方式計算平均誤差:執行各個原始值和各個對等的恢復值之間的差 的絕對值,取運些值的平均。
[0154] 得到由圖3示出的如下結果:
[01巧]-理論權重:2.177化B
[0156] -平均差:1.2197
[0157] 另外注意到,恢復圖像上標記出了片的邊界。通過添加到圖3的線條局部地強調了 運些邊界,W更好地說明意圖。
[0158] 按照根據本發明的方法:
[0159] 計算必要的級數:在該情況下,最小尺寸為高度,即值等于224。
[0160] 因此應該有:nb_niveaux=ARR0NDI.INF(ln(224)/ln(2)-3)
[0161] =ARRONDI. INF((5.41/0.69)-3)
[0162] =ARRONDI. INF(4.8)
[0163] =4
[0164] 因此獲得被應用于整個圖像的3個小波級(級2、3、4)和由差值編碼的一個殘余級。
[0165] 級的尺寸和量化因子如下: 「m
L0167J 使用升巧,在各個級處應用CDF 5/3型二維離散小波變挾。各級的矩陣LH、化、皿彼 用相關聯的因子量化并且舍入為較大整數值:
[016 引 ARRONDI (0.5) = 1 [0169] ARRONDI (0.49)=0
[0170] ARRONDI (-0.49)=0
[0171] ARRONDI (-0.5) = I
[0172] 對于最后級,應用如上面定義的差值,然后使用相同的舍入運算。
[0173] 接下來W如下方式計算圖像的理論權重:形成包含量化小波的全部系數的信號, 并將它們用于化annon賭公式。
[0174] 最后,W如下方式計算平均誤差:執行各個原始值和各個對等的恢復值之間的差 的絕對值,取運些值的平均。
[0175] 得到在圖4示出的如下結果:
[0176] -理論權重:1.927化B
[0177] -平均差:0.7815
[0178] 當然,本發明不限于剛描述的示例。
[0179] 因此,可根據單一維度使用小波,例如僅水平、或僅豎直,而非如前所述根據二維 使用。還可在使用或不使用升法的情況下利用小波。
[0180] 而且,可使用不同公式來計算級數和/或最大級數可不同于5。級數還可預定。例 如,級數可為3或4,即由小波處理的級數可為2或3而非4。
[0181] 此外,對于每個小波級可使用單一量化因子,或反之,為小波的各個級的各個子矩 陣LH、HL、HH選擇特定的量化因子。還可W任意方式為各個級確定因子,或甚至可為各個小 波級的子矩陣確定因子。
[0182] 根據本發明的方法是特別有利的。尤其是:
[0183] -其使用簡單,因為即使僅解壓最后一級,也會得到圖像的初級概況;
[0184] -其產生較小的級數,并且因此需要較小數量的不同緩沖區,W用于待處理的數 據;
[0185] -避免由于使用片而出現偽像或間斷現象;和
[0186] -通過對編碼圖像的部分解碼獲得該方法的可擴展性,該部分解碼允許通過僅基 于用于獲得期望的清晰度所需的第一解壓級數來將圖像解壓成該期望的清晰度。
[0187] 上面使用的化annon賭定義了信號中呈現的信息"量",并且因此給出借助如算術 編碼或化ffman編碼之類的二進制編碼技術對該信號編碼所需要的比特量的精確指示。在 信號中規剛A巧巧軍復的估戯《,該信號的備戯小。計算化annon賭的一般公式如下:
[018 引
[0189] 其中,Pi代表各個符號的出現概率。
[0190] 此外,根據本發明的方法不限于二維矩陣。此種方法例如可用于=維矩陣、尤其是 S維圖像的3D打印圖。
【主權項】
1. 一種編碼方法,用于通過相繼層將初始矩陣編碼成壓縮矩陣并且將壓縮矩陣恢復成 恢復矩陣,初始矩陣的各個單元包含相應的初始數值;壓縮矩陣的各個單元包含與相應的 初始數值相對應的相應的壓縮數值;恢復矩陣的各個單元包含與相應的初始數值相對應的 相應的恢復數值;其特征在于,為了編碼、也即是說壓縮初始矩陣: -在有限數目的級上將小波變換應用于整個矩陣,以使得留下大于或等于2 X 2尺寸的 殘余級;然后, -對殘余級進行差分編碼,也就是說,通過用殘余級的各個值來執行差分來壓縮殘余 級。2. 根據權利要求1所述的編碼方法,其特征在于,小波級的數量取決于圖像尺寸。3. 根據權利要求2所述的方法,其特征在于,小波級的數量的計算至少包括: -確定矩陣的最小尺寸min_dim的步驟; -通過公式:他_11;[¥631? = 41?1?0冊1.1冊[111(111;[11_(1;[111)/111(2)-3]來確定包括小波級的 數量和殘余級的總級數Nb_niveauX的步驟,其中ARRONDI.INF代表下舍入函數并且In代表 自然對數函數; -確定總級數閾值的步驟;如果Nb_niveaux<l,則Nb_niveaux為1,和如果Nb_niveaux > 5,則Nb_niveaux為5; -減去最后一級的步驟,小波級的數量等于總級數減1。4. 根據權利要求1至3之一所述的方法,其特征在于,通過量化因子量化至少一個子矩 陣。5. 根據權利要求4所述的方法,其中用于各個子矩陣的量化因子是通過包括以下的方 法計算的: -定義應用于最后一級的矩陣HH的量化因子Qmax的步驟; -確定應用于最后一級的矩陣HL和LH的、等于因子Qmax的一半的量化因子的步驟; -對于直到第一級的各個先前級: -確定應用于所述級的矩陣HH的、與下一級的矩陣HL和LH的量化因子相等的量化因子 的步驟; -確定應用于所述級的矩陣HL和LH的、與應用于所述級的矩陣HH的量化因子的一半相 等的量化因子的步驟; 其特征在于,對于子矩陣,在量化因子小于1時,不應用任何量化。6. 根據權利要求1至5之一所述的方法,其特征在于,小波被計算為整數。7. 根據權利要求1至5之一所述的方法,其特征在于,小波被計算為定點小數。8. 根據權利要求1至7之一所述的方法,其特征在于,小波是Cohen-Daubechies-FauveauS/^ 類型。9. 根據權利要求1至8之一所述的方法,其特征在于,能夠根據差值來編碼殘余級的至 少一個單元,該差值的方向取決于先前編碼的值或相關聯的恢復值。10. 根據權利要求9所述的對二維矩陣編碼的方法,其特征在于,能夠根據水平差值或 豎直差值對殘余級的至少一個單元編碼。11. 根據權利要求10所述的方法,其特征在于,根據水平差值或豎直差值的編碼的選擇 包括: -計算先前恢復值中最接近的水平差值DH的步驟; -計算先前恢復值中最接近的豎直差值DV的步驟; -如果豎直差值DV小于或等于DH,則選擇由豎直差值編碼;否則,選擇由水平差值編碼。
【文檔編號】H04N19/63GK105850137SQ201480067537
【公開日】2016年8月10日
【申請日】2014年9月24日
【發明人】T·M-E·加瓦斯, B·盧貝, N·貝蘇, Y·圭米奧特, M·派提特福勒斯, S·羅克
【申請人】簡·克勞德·科林