專利名稱:根據像素亮度調整的去塊濾波器的制作方法
技術領域:
本發明涉及視頻編碼器和解碼器(組合在一起為“CODEC”),特別涉及具有去塊濾波器的視頻CODEC。
背景技術:
一般以比特流形式處理和傳送視頻數據。視頻編碼器一般進行塊變換編碼,例如離散余弦變換(“DCT”)以壓縮原始數據。相應的視頻解碼器一般通過使用例如離散余弦逆變換(“IDCT”)來解碼塊變換編碼的比特流數據。
去塊濾波器經常與基于塊的數字視頻壓縮系統一起使用。去塊濾波器可用于壓縮環路內部,其中將濾波器用于編碼器和解碼器。作為一種替換,去塊濾波器可用于壓縮環路之后,僅用于解碼器。一個典型的去塊濾波器通過將低通濾波器用于其中執行塊變換編碼(例如,DCT)和量化的塊的邊緣過渡來實現。去塊濾波器可以減少解壓縮視頻內的被稱為“黑度”的負面視覺效果,但是一般需要視頻解碼器和/或編碼器進行相當大的、復雜的計算量。
發明內容
通過包含根據像素亮度調整的去塊濾波器的系統和方法解決了已有技術的這些和其他缺點和不足。
提供用于編碼像素數據作為多個塊變換系數并解碼編碼的塊變換系數以提供重新構造的像素數據的編碼器和解碼器,編碼器和/或解碼器包括僅用于對滿足預選定的像素亮度級標準的塊過渡的進行濾波的調整去塊濾波器。
用于調整去塊濾波的相應方法包括接收至少一個與塊過渡相鄰的第一像素,提供該至少一個第一像素的亮度的信號表示,將該亮度信號與亮度的上閾值和下閾值中的至少一個進行比較,和響應該亮度比較,調整地濾波包括塊過渡的第一像素的多個相鄰像素。
通過下面結合附圖對示范實施例進行的描述,本發明的上述和其他方面,特征和優點將會變得顯而易見。
本發明根據下面的示例附圖闡述根據像素亮度調整的去塊濾波器,其中圖1示出具有根據像素亮度調整的內環去塊濾波器的示范編碼器的方框圖;圖2示出具有根據像素亮度調整的內環去塊濾波器的、并與圖1的編碼器一起使用的示范解碼器的方框圖;圖3示出具有根據像素亮度調整的后處理去塊濾波器的示范解碼器的方框圖;和圖4示出根據本發明原理的根據像素亮度調整的內環去塊濾波的流程圖。
具體實施例方式
實現去塊濾波一般要求在視頻解碼器和/或編碼器進行大量復雜計算。確定是否對特定的邊緣過渡進行濾波和用于執行濾波操作的特定濾波器二者不但對計算復雜程度而且對感知的視覺質量都有很大影響。實現基于塊的數字視頻壓縮系統內的去塊濾波可以簡化為根據過渡中的像素亮度級決定是否在塊過渡中應用低通濾波。這樣,通過在不能提高感知的視覺質量的過渡上省略去塊濾波來減少計算復雜程度。在不明顯影響感知的視覺質量的情況下,本發明通過根據過渡中的像素的亮度級決定是否在塊過渡上使用低通濾波器來減少去塊濾波的計算復雜程度。
在ITU-T推薦H.263視頻壓縮標準中,使用特定去塊濾波器的依據與用于編碼給定宏塊的量化參數有關。在所提議的ITU-T推薦H.264|ISO/IEC14496-10 AVC視頻壓縮標準(下文稱為“H.264/AVC”)中,有幾個因素用于確定是否對過渡進行濾波以及所使用的濾波器的程度。這些因素包括塊是內編碼的還是交互編碼(inter-coded)的、非零系數是否出現在塊中、經過邊緣的像素值的差值幅值、以及經過邊緣的塊的運動矢量的差值幅值。已有方法在確定是否濾波塊過渡和/或確定所使用的濾波器的程度時不考慮像素本身的亮度值。
下面的描述僅示出了本發明的原理。因此可以理解,本領域技術人員能夠設計各種變化,盡管這里沒有明確描述或示出這些變化,但是這些變化具體化了本發明原理并包括在本發明的精神和范圍內。此外,本文敘述的所有實例和限制性語言原則上僅用于教導目的以有助于讀者理解本發明的原理和發明者的相對于現有技術的有貢獻的構思,本發明不限于這些特定敘述的實例和條件。進一步,在此敘述的本發明的原理、各個方面、和實施例的所有陳述以及本發明特定的實例意欲覆蓋本發明結構和功能的等效物。此外,應該明確這些等效物不但包括當前已知的等效物而且還包括未來開發出的等效物,即,為執行相同功能而開發的任何部件,與結構無關。
這樣,例如,本領域技術人員應該明白本文的方框圖表示體現本發明原理的示意性電路的構思圖。類似地,可以理解為任何流程圖、操作順序圖、狀態轉換圖、偽代碼和實質上以計算機可讀介質表現并且可由計算機或處理器執行的類似各種表現處理,無論計算機或處理器是否明確示出。
圖中示出的各種部件的功能可以通過使用專用硬件以及能夠執行與適當軟件相關的軟件的硬件來實現。當由處理器實現功能時,可以通過單個專用處理器、單個共享處理器、或多個單獨的處理器(其中可以共用某些處理器)來實現功能。進一步,術語“處理器”或“控制器”的明確使用不應該理解為專指能夠執行軟件的硬件,還包括,但不限于,數字信號處理器(“DSP”)硬件、用于存儲軟件的只讀存儲器(“ROM”)、隨機存取存儲器(“RAM”)和非易失性存儲器。也可以包括其他硬件,常規的和/或定制的。類似地,圖中示出的任何開關僅是概念性的。可以通過可編程邏輯的操作、通過專用邏輯、通過程序控制和專用邏輯的交互作用、或者甚至可以手動地由實施者通過對上下文的特定理解來選擇特定技術來實現這些功能。
在本文的權利要求書中,表示為用于執行特定功能的裝置的任何部件試圖覆蓋實現該功能的任何方式,包括,例如a)實現該功能的電路元件的組合或者b)任何形式的軟件,包括固件、微代碼或者與適當電路組合的用于執行實現該功能的軟件的同樣軟件。由這樣的權利要求書定義的本發明事實上是以權利要求書要求的方式組合并集合由各種所陳述的裝置提供的功能。因此申請人將實現這些功能的任何裝置視為本文示出裝置的等同物。
如圖1所示,標記數字100一般表示根據像素亮度調整的具有內環去塊濾波器的示范編碼器。編碼器100包括一個在信號通信中耦合到相加模塊114的正輸入端的視頻輸入端112。相加模塊114順序耦合到用于實現整數變換以提供系數的功能模塊116。模塊116耦合到用于實現熵編碼以提供輸出比特流的熵編碼模塊118。模塊116進一步耦合到定標和反變換模塊122的內環部分120。模塊122耦合到相加模塊124,相加模塊124順序耦合到幀內預測模塊126。幀內預測模塊126可切換地耦合到開關127,開關127順序耦合到相加模塊124的第二輸入端和相加模塊114的反向輸入端。
相加模塊124的輸出耦合到調整去塊濾波器140。去塊濾波器140耦合到幀存儲器128。幀存儲器128耦合到運動補償模塊130,運動補償模塊130耦合到開關127的第二可替換輸入端。視頻輸入端112進一步耦合到運動估計模塊119以提供運動矢量。去塊濾波器140耦合到運動估計模塊119的第二輸入端。運動估計模塊119的輸出耦合到運動補償模塊130以及熵編碼模塊118的第二輸入端。
視頻輸入端112進一步耦合到編碼控制模塊160。編碼控制模塊160耦合到用于提供控制信號以控制編碼器100的操作的模塊116、118、119、122、126、130和140的每一個控制輸入端。
參照圖2,標記數字200一般表示根據像素亮度調整的具有內環去塊濾波器的示范解碼器。解碼器200包括一個用于接收輸入比特流的熵解碼模塊210。解碼模塊210耦合到用于提供系數的內環部分220上的定標和反轉換模塊222。模塊222耦合到相加模塊224,相加模塊224順序耦合到幀內預測模塊226。幀內預測模塊226可切換地耦合到開關227,開關227順序耦合到相加模塊224的第二輸入端。
相加模塊224的輸出耦合到用于提供輸出圖像的調整去塊濾波器240。去塊濾波器240耦合到幀存儲器228。幀存儲器228耦合到運動補償模塊230,運動補償模塊230耦合到開關227的第二可替換輸入端。解碼模塊210進一步耦合到用于提供運動矢量的運動補償模塊230的第二輸入端。
熵解碼模塊210進一步耦合到用于提供輸入信號的解碼器控制模塊262。解碼器控制模塊262耦合到用于控制信號并控制解碼器200的操作的模塊222、226、230和240的每一個控制輸入端。
參照圖3,標記數字300一般表示根據像素亮度調整的具有后處理去塊濾波器的示范解碼器。解碼器300包括一個用于接收輸入比特流的熵解碼模塊310。解碼模塊310耦合到用于提供系數的內環部分320的定標和反轉換模塊322。模塊322耦合到相加模塊324,相加模塊324順序耦合到幀內預測模塊326。幀內預測模塊326可切換地耦合到開關327,開關227順序耦合到相加模塊324的第二輸入端。
相加模塊324的輸出耦合到用于提供輸出圖像的調整去塊濾波器340。相加模塊324進一步耦合到幀存儲器328。幀存儲器328耦合到運動補償模塊330,運動補償模塊330耦合到開關327的第二可替換輸入端。熵編碼模塊310進一步耦合到用于提供運動矢量的運動補償模塊330的第二輸入端。
熵解碼模塊310進一步耦合到用于提供輸入的解碼器控制模塊362。解碼器控制模塊362耦合到用于傳遞控制信號并控制解碼器300的操作的模塊322、326、330和340的每一個控制輸入端。
參照圖4,標記數字400一般表示響應于像素亮度的示范去塊濾波器的工作過程。工作過程400包括將控制傳送到輸入步驟412的起動步驟410,輸入步驟412用于接收與塊過渡相鄰的至少一個第一像素。輸入步驟412將控制傳送給步驟414,步驟414用于提供至少一個第一像素處的亮度的信號指示。步驟414將控制傳送給用于比較亮度信號與上亮度閾值的判定步驟416。如果亮度大于上亮度閾值,不執行去塊濾波并且控制工作過程轉向結束步驟428。否則,步驟416將控制傳送到用于比較亮度信號與下亮度閾值的判定步驟418。如果亮度小于下亮度閾值,不執行去塊濾波并且控制工作過程轉向結束步驟428。否則,步驟418將控制傳送到用于接收與第一像素相鄰并且位于塊過渡的相對一側的至少一個第二像素的功能步驟420。
步驟420將控制傳送到用于測定第一和第二像素之間亮度級差值的功能步驟422。步驟422順序將控制傳送到功能步驟424,功能步驟424用于響應測定的差值來選擇將使用的去塊濾波器的程度。步驟424將控制傳送到功能步驟426,步驟426用于響應亮度比較來調整地濾波包括塊過渡上的第一像素的多個相鄰像素。最后,步驟426將控制傳送到結束步驟428。
在本發明實施例的操作中,通過響應施加到位于或接近塊邊界過渡處的像素的亮度值測定中的條件對任何給定模塊不執行去塊濾波和/或降低濾波程度來減少圖像或視頻壓縮系統內的去塊濾波器的計算復雜程度。對于那些處于太亮或太暗以致不易被自然人視覺識別的值范圍內的過渡,不進行去塊濾波,或者降低濾波器濾波程度。因此,對于這些區域,使用去塊濾波器將需要附加的計算,而不顯著提高人所感知的視覺質量。
在優選實施例,去塊濾波器不適用于小于最小閾值或大于最大閾值的像素亮度級。用數學表示,去塊濾波器不適用于像素亮度級p,這里p<Ymin或者p>Ymax,以及Ymin和Ymax是相應的最小和最大亮度級閾值。為簡單計算p值,可以基于單獨值,或者基于過渡中的像素的平均值。作為一種替換,閾值測試可以分開用于過渡中的每個像素,并且僅在過渡中的所有像素大于Ymax或者過渡中的所有像素小于Ymin的塊中不使用去塊濾波。
在另一個實施例,決定濾波或不濾波可以并入使用其他標準進行去塊濾波判定的系統,例如那些使用H.264/AVC壓縮標準的系統。當將本發明的原理用于H.264/AVC JM1.9兼容系統時,例如,將本發明的濾波判定用于JM 1.9去塊濾波器的基于線的濾波步驟。這里,當去塊算法用于過渡時,其執行三個步驟。在一個步驟該算法確定是否對當前過渡進行濾波。該判定根據基于線的標準和前面評價的其他的基于塊的參數。對于決定進行濾波的地方,進行選擇所使用的濾波器的另一個步驟。一個附加步驟開始濾波處理本身,其中修改圍繞塊邊緣的確定數目的像素值以平滑該過渡。由下面的標記表示用于該示范實施例的過渡的濾波所包括的8像素組
這里塊邊緣位于p0和q0之間。
在該實施例,僅在圍繞過渡的一個像素判斷該標準,其中p0>Ymin和p0<Ymax僅濾波那些檢驗基本和這些附加條件的過渡。所得到的具有較好實驗結果的閾值是Ymin=64和Ymax=232。
這種用于調整去塊濾波器的新標準增加了判定過程中所包括的操作量,但是當判定不進行線過渡的濾波時節省了計算從而降低了整體的計算復雜程度。實驗也表明在不明顯損失視覺質量的前提下減少了操作量。
通過本文的教導本領域的普通技術人員可以很容易地理解本發明的這些和其他特征和優點。應該明白本發明的教導可以以各種形式的硬件、軟件、固件、專用處理器、或其組合來實現。
最好是,本發明的實施例可以實現為硬件和軟件的組合。此外,軟件最好實現為可觸知地嵌入在程序存儲單元的應用程序。該應用程序可以上載到包含適當結構的機器中并由其執行。最好地,可以在具有諸如一個或多個中央處理單元(“CPU”)、隨機存取存儲器(“RAM”)、和輸入/輸出(“I/O”)接口之類硬件的計算機平臺實現該機器。該計算機平臺還可包括操作系統和微指令代碼。本文描述的各種處理和功能可以是由CPU執行的微指令代碼的一部分或者應用程序的一部分,或者二者組合。此外,各種其他的外圍設備單元可以連接到計算機平臺上,例如附加的數據存儲單元和打印單元。
應該進一步理解,附圖示出的某些組成系統部件和方法最好以軟件形式實現,根據編程本發明實施例的方式,系統部件或處理功能單元模塊之間的實際連接可能會有所不同。根據本文給出的教導,本領域的普通技術人員可以得到本發明的這些和其他類似的實現或配置。
盡管參照附圖已經描述示出的實施例,應該明白本發明不限于這些特定的實施例,在不脫離本發明的精神和范圍的前提下本領域技術人員可以實現各種變化和修改。所有這些變化和修改落入由附屬權利要求書闡述的本發明的范圍。
權利要求
1.一種用于對塊轉換處理的像素數據進行去塊處理的方法(400),該方法包括接收(412)與塊過渡相鄰的至少一個第一像素;提供(414)指示至少一個第一像素的亮度的信號;將該亮度信號與上亮度閾值和下亮度閾值中的至少一個進行比較(416,418);和響應亮度比較來調整地濾波(426)包括塊過渡上的第一像素的多個相鄰像素。
2.如權利要求1所述的方法,進一步包括接收(420)與第一像素相鄰并位于塊過渡的相對一側的至少一個第二像素;測定(422)第一和第二像素之間的亮度級差值;和響應所測定的差值選擇所使用的去塊濾波器的濾波程度。
3.如權利要求2所述的方法,其中在給定塊過渡存在所接收的大約4個第一和大約4個第二像素,所述像素沿著經過塊過渡的一條線放置。
4.如權利要求1所述的方法,其中下亮度閾值大約是64以及上亮度閾值大約是232。
5.如權利要求1所述的方法,其中調整濾波步驟分開用于與過渡相鄰的每個像素并且僅對過渡中的所有像素大于上亮度閾值或者過渡中的所有像素小于下亮度閾值的塊省略濾波。
6.如權利要求1所述的方法,進一步包括平均包括第一像素的多個相鄰像素,其中所提供的亮度信號是多個相鄰像素的平均亮度的指示信號。
7.如權利要求6所述的方法,其中僅對過渡中的平均像素亮度大于上亮度閾值或者過渡中的平均像素亮度小于下亮度閾值的塊省略濾波。
8.如權利要求1所述的方法,其中調整濾波是基于線的。
9.如權利要求1所述的方法,其中調整濾波是基于塊的。
10.如權利要求1所述的方法,進一步包括編碼像素數據作為多個塊變換系數;以及對反饋環內的像素數據進行調整去塊處理。
11.如權利要求1所述的方法,進一步包括根據多個塊變換系數解碼像素數據;和對反饋環內的像素數據進行調整去塊處理。
12.如權利要求1所述的方法,進一步包括根據多個塊變換系數解碼像素數據;和對反饋環之后的像素數據進行調整去塊處理。
13.一種用于編碼像素數據作為多個塊變換系數的編碼器(100),編碼器包括用于僅濾波滿足至少一個像素亮度級閾值的塊過渡的調整去塊濾波器(140)。
14.如權利要求13所述的編碼器,調整去塊濾波器包括用于接收與塊過渡相鄰的至少一個第一像素的接收器裝置;響應接收器裝置用于提供至少一個第一像素的亮度的信號指示的信號裝置;響應信號裝置用于比較亮度信號與上亮度閾值和下亮度閾值中的至少一個的比較裝置;響應比較裝置用于調整地濾波包括塊過渡中的第一像素的多個相鄰像素的濾波器裝置。
15.如權利要求14所述的編碼器,調整去塊濾波器進一步包括用于接收與第一像素相鄰并位于塊過渡的相對一側的至少一個第二像素的第二接收器裝置;用于測定第一和第二像素之間的亮度級差值的測定裝置;和用于響應所測定的差值選擇所適用的去塊濾波器濾波程度的濾波器濾波程度裝置。
16.一種用于解碼編碼塊變換系數以提供重新構造的像素數據的解碼器(200,300),解碼器包括用于僅濾波滿足至少一個像素亮度閾值的塊過渡的調整去塊濾波器(240,340)。
17.如權利要求16所述的解碼器,其中調整去塊濾波器包括用于接收與塊過渡相鄰的至少一個第一像素的接收器裝置;響應接收器裝置用于提供至少一個第一像素的亮度的信號指示的信號裝置;響應信號裝置用于比較亮度信號與上亮度閾值和下亮度閾值中的至少一個的比較裝置;和響應比較裝置用于調整地濾波包括塊過渡中的第一像素的多個相鄰像素的濾波器裝置。
18.如權利要求17所述的解碼器,調整去塊濾波器進一步包括用于接收與第一像素相鄰并位于塊過渡的相對一側的至少一個第二像素的第二接收器裝置;用于測定第一和第二像素之間的亮度級差持的測定裝置;和用于響應所測定的差值選擇所適用的去塊濾波器濾波程度的濾波器濾波程度裝置。
19.如權利要求16所述的解碼器,其中調整去塊濾波器處于在運動補償期間用于去塊處理的反饋環內。
20.如權利要求16所述的解碼器,其中調整去塊濾波器處于在運動補償之后用于去塊處理的反饋環之后。
全文摘要
公開一種用于編碼像素數據作為多個塊變換系數并解碼編碼塊變換系數以提供重新構造的像素數據的編碼器(100)、解碼器(200,300)、和相應的方法,編碼器和/或解碼器包括用于僅對滿足預選定的像素亮度級標準的塊過渡進行濾波的調整去塊濾波器(140,240,340),其中調整去塊濾波器(400)包括接收(412)與塊過渡相鄰的至少一個第一像素,提供(414)該至少一個第一像素的亮度的信號指示,將該亮度信號與上亮度閾值和下亮度閾值中的至少一個進行比較(416,418),和響應該亮度比較對包括塊過渡的第一像素的多個相鄰像素進行調整濾波(426)。
文檔編號H04N7/26GK1659794SQ03813374
公開日2005年8月24日 申請日期2003年4月14日 優先權日2002年5月1日
發明者克里斯蒂娜·戈米拉, 吉爾·M·博伊斯 申請人:湯姆森特許公司