[0079] 算法3-一對于三個亮度子范圍(N = 3)的閾值確定
end
[0081] 通過算法2和3計算的閾值可以在編碼器(100)和解碼器(200)兩者中都應用于 算法1。在實施例中,可以使用元數(shù)據(jù)將所計算的閾值從編碼器(100)發(fā)送到解碼器(200)。
[0082] 如前所述,去隔行器(350)和(460)可以組合去隔行和上采樣功能兩者。圖像處 理領域中的技術人員將意識到,本文中所討論的用于上采樣器(150)和(126)的改進設計 的亮度范圍驅(qū)動的方法也可以應用于去隔行器(350)和(460)中的上采樣器的設計中。
[0083] 自適應殘差處理
[0084] 如圖1和圖3中所描繪的,在增強層(EL)中,在用EL編碼器(160)壓縮殘差信號 (167)以產(chǎn)生EL流(162)之前,可以用非線性量化器(NL? (155)對殘差信號(167)進行 處理。不失一般性,圖5描繪了根據(jù)本發(fā)明的實施例的關于NLQ(155)的示例輸入-輸出關 系。
[0085] 如圖5中所描繪的,設(-X_,X_)表示感興趣的幀或幀區(qū)域中將被編碼的殘差像 素x(167)的像素值的范圍。設Level表示量化器的每側(cè)的可用碼字的數(shù)量(例如,對于 x彡0, Level = 128),那么,給定正閾值T,設
[0086]
[0087] 那么,給定輸入殘差X,在將x裁剪在范圍(_Xmax,Xmax)內(nèi)之后,圖5的量化運算可 以被表達為:
[0088]
[0089] 其中,Q (x)表示量化的輸出,SL表示
Q (x)在(T,Xmax)內(nèi)的斜率,M表示偏移值,該 偏移值表示當殘差x = 0時的輸出碼字。閾值T是相對小的值,并且在一些實施例中,T = 0〇
[0090] 參數(shù)T、M、Xma!^P SL可以分別針對殘差信號x的每個顏色分量定義,并且可以使用 元數(shù)據(jù)傳送到接收器。在一些實施例中,NLQ量化參數(shù)中的一個或多個還可以針對整個幀、 幀的一個或多個分區(qū)或子區(qū)域、或者一組幀(例如,場景)定義。
[0091] 給定這樣的量化器,在接收器(例如,(200))上,去量化處理(例如,NLDQ(220)) 可以被表達為:
[0095] Remp表示接收的(解碼的)殘差(或RL信號(212)),表示去量化的輸出(222), 該輸出也可以被限定在例如范0,
[0096] 實驗結果表明,與NLQ (155)的參數(shù)的自適應設置相組合的殘差數(shù)據(jù)(167)的適當 的預處理可以得到EL流的更高效的編碼,從而導致編碼偽像減小并且總體圖像質(zhì)量更好。 在該部分中,接著描述三種殘差預處理算法。
[0097] 使用標準差度量的殘差預量化
[0098] 殘差信號(167)的不適當?shù)牧炕途幋a,尤其是當以相對較低的位率(例如, 0. 5Mbits/s)對EL流進行編碼時,可能在解碼的信號(232)中導致塊狀偽像。在實施例中, 可以通過自適應地預量化被感知為位于相對"平滑"區(qū)域中的某些殘差值來減小這些偽像。 圖6A中描繪了根據(jù)本發(fā)明的實施例的這樣的處理的例子,其中,在不作為限制的情況下, 測量圍繞每個殘差像素的矩形像素區(qū)域的平滑度是基于計算該區(qū)域中的像素的標準差的。
[0099] 設rfi表示第f幀的第i殘差像素。設該像素在被表示為n fi的W。XW。像素區(qū)域 (例如,1。= 15)的中心處。那么,在步驟(602)中,該像素的標準差〇 fi可以被確定為:
[0100]
[0101] 其中
[0102]
[0103] 給定閾值T。,在步驟(606)中,如果〇fi〈T。,則可以將殘差像素rfi設置為預定值 (例如,零)。閾值T??梢允枪潭ǖ模蛘咴趦?yōu)選實施例中,可以根據(jù)殘差幀特性和總體位 率要求自適應地確定。例如,設P f表示第f幀中的像素的總數(shù)。設〇 fi表示在步驟(602) 中計算的標準差值。在步驟(604)中,可以如下確定T。:
[0104] (a)按降序?qū)Ι?fi進行排序以產(chǎn)生排序的&的列表;
[0105] (b)然后,T。是泛..排序列表中的1^村\值,其中,k被定義在范圍0.0至1.0內(nèi)。例 如,對于k = 0. 25,給定1920 X 1080幀,T。對應于排序列表中的第518, 400標準差值的值。
[0106] 計算平滑度的替代方法還可以包括計算IXW。像素的均值或方差,或者計算基 于每個像素周圍的區(qū)域的邊緣圖的度量,或者使用本領域中已知的任何其它的平滑度檢測 和確定算法。
[0107] 殘差尾端邊界調(diào)整
[0108] 設1》表示幀f中的最大正殘差值,設表示幀f中的最小負殘差值的絕對值。那 么,
[0112] 如圖5中所描繪的,可以按照心+和乃來確定量化器的輸入邊界(例如, 及"ax= X;);然而,實驗結果表明,殘差值具有鐘形分布,并且在每個幀中通常存在非 常少的接近于或的像素。如前所指出的,對于圖5中所描繪的量化器,量化步長與 成比例。對于固定數(shù)量的碼字(例如,Level的值),由于量化而導致的失真與X_ 的值成正比;因此,較小的X_值是優(yōu)選的。在實施例中,不是根據(jù)X/或確定X_,而是確 定新的更小的范圍[Thf_ Thf+]。在應用NLQ(155)之前,限制(或裁剪)殘差像素值以位于 新范圍[Thf_ Thf+]內(nèi);其中,對于幀f,Thf+表示正殘差的邊界,Thf_表示負殘差的邊界。也 就是說,
[0113] rfi= clip3 (r fi, Thf_, Thf+),
[0114] 其中,clip3〇函數(shù)表示:大于Thf+的殘差像素值被裁剪為Thf+,小于Th f_的殘差 像素值被裁剪為Thf_。
[0115] 雖然用于NLQ處理的較小的輸入范圍由于量化得到較小的誤差,但是殘差信號的 無限制的裁剪可能得到明顯的偽像,因此需要根據(jù)殘差信號的特性來改動新范圍的選擇。 在實施例中,自適應地基于所觀察的殘差像素值的連接性(或稀疏性)來確定這兩個閾值。 也就是說,具有非常大的值的孤立殘差像素可以被裁剪而對總體質(zhì)量影響最??;然而,連接 的殘差像素的像素值應被適當?shù)鼐幋a。圖6B中用處理(650)描繪了根據(jù)本發(fā)明的實施例 的這樣的邊界確定處理的示例實現(xiàn)。
[0116] 處理(650)計算閾值Th,該閾值Th滿足如下條件:等于或大于Th的殘差像素值 被認為是稀疏地連接,因此它們可以被裁剪。處理(650)可以用于根據(jù)輸入的殘差值計算 1\_或111 {+邊界中的任何一個。例如,為了確定Thf+=Th,該處理僅考慮例如在范圍(0, G )內(nèi)的正殘差像素值:
[0117]
[0118] 為了確定Thf_= Th,該處理僅考慮例如在范圍(0, )內(nèi)的負殘差像素值的絕對 值:
[0119]
[0120] 在步驟(610)中,該處理通過將初始值設置為閾值Th而開始。所以,給定rfi的原 始邊界(例如,Th_L = 0并_
;),在示例實施例中,初始閾值可以 被設置為已知范圍的中間值,例如:
[0121] Th = (Th_H+Th_L) /2.
[0122] 給定閾值Th,在步驟(612)中,產(chǎn)生二值圖Mf,其中,該二值圖的元素被計算為:
[0123] mfi = (R fi ^ Th)
[0124] Mf(i) = mfi.
[0125] 給定Mf,在步驟(614)中,可以確定每個二值像素的連接性。例如,在MATLAB中,可 以使用函數(shù)bwconncomp計算近鄰連接性(例如,4像素或8像素連接的鄰域)。設NC f (i) 表示二值圖像Mf中的每個像素的近鄰的數(shù)量。在步驟(618)中,閾值Th可以被調(diào)整為使 得,如果像素的連接性超過預定的連接性閾值L (例如,= 5個像素),則這些像素都不 被裁剪。例如,如果所有像素上的最大像素連接性超過預定的連接性閾值T °c,則可以增大 閾值Th,否則,可以減小閾值Th。例如,使用二值搜索,
[0126] if (max {NCf (i)} ^ Tcc)//the maximal connectivity for each pixel exceeds Tcc
[0127] Th_L = Th ;
[0128] else
[0129] Th_H = Th ;
[0130] Th_old = Th ;
[0131] Th = (Th_H+Th_L) /2 ;
[0132] 為了降低計算復雜度,在實施例中,所述處理可以包括收斂測試步驟(620)。例如, 收斂步驟(620)可以計算先前的(或舊的)閾值和新的閾值之間的差值。如果它們的差值 大于預定的收斂閾值,則所述處理用該新閾值再次從步驟(612)繼續(xù)進行。否則,它終止, 并且輸出將被使用的最終邊界(例如,Thf+= Th)。
[0133] 基于場景的非線性量化
[0134] 如前所討論的,在一些實施例中,可以按照以下參數(shù)來表達非線性量化器(155): X max、offset (偏差)(例如,M)和Level(也參見關于圖5的討論)。在一些實施例中,可能 有益的是按照幀序列(例如,場景)中的殘差像素特性來確定這些參數(shù)。
[0135] 給定用于F個幀的序列的和,設
[0136]
[0137]
[0138] 那么,非線性量化器的參數(shù)可以針對整個場景被設置為:
[0139]
[0140] Level = max {(2EL-bitdepth-l)-Offset, Offset},
[0141] 并且
[0142] Xmx= (l+A)max{X、X+},
[0143] 其中,EL_bitdepth 表示 EL 編碼器(160)的位深(例如,EL_bitdepth = 8),A 表 示小的正數(shù)值(例如,△ =0. 1)。在實施例中,對于色度分量,可以使用下式來確定量化級 的數(shù)量:
[0144]
[0145] 在另一實施例中,$和H直還可以用如前計算的相應的Thf+和Th {_值取代。
[0146] 示例計算機系統(tǒng)實現(xiàn)
[0147] 本發(fā)明的實施例可以用計算機系統(tǒng)、用電子電路和組件中配置的系統(tǒng)、集成電路 (1C)器件(諸如微控制器)、現(xiàn)場可編程門陣列(FPGA)或另一可配置或可編程邏輯器件 (PLD)、離散時間或數(shù)字信號處理器(DSP)、專用IC(ASIC)、和/或包括這樣的系統(tǒng)、器件或 組件中的一個或多個的裝置來實現(xiàn)。計算機和/或1C可以執(zhí)行、控制或運行與對UHD EDR 信號進行編碼(諸如本文中所描述的那些)相關的指令。計算機和