專利名稱:圖像處理系統和圖像處理程序的制作方法
技術領域:
本發明涉及圖像處理系統和圖像處理程序,尤其涉及交流分量預測(ACP =ACComponent Prediction)的自鳴噪聲(ringing noise)對策。
背景技術:
以往,已知有被稱作交流分量預測(ACP)的圖像處理方法。交流分量預測是指,如圖ι所例示那樣,參照成為處理對象的對象塊PBS的周邊區域PB1、PBr的信息L、R來求出將該塊PBs分割了的子塊sb0、sbl的信息c0、cl的方法。在交流分量預測中,一面利用對象塊PBs與位于其附近的周邊區域PBl、PBr之間的空間的相關性來保持對象塊PBs的DC值S,一面計算空間分辨能力更高的AC值cO、Cl。專利文獻1 3中公開了將對象塊依次分割、對圖像數據進行層級(分級)編碼的遞歸交流分量預測編碼(RACP)。具體而言,首先一邊在圖像平面上使對象塊在預定方向依次移位,一邊依次計算將對象塊分割了的子塊的預測像素值。接著,計算預測像素值與原本的像素值(真值)之差分來作為預測殘差。然后,通過對該預測殘差實施不可逆變換和熵編碼,生成成為壓縮數據的一部分的圖像的交流分量。以上這樣的處理在例如由8X8像素的塊(最高層級)、4X4像素的塊(第2層級)、2X2像素的塊(第3層級)以及1X1像素的塊(最低層級)構成的層級結構中遞歸地反復進行。專利文獻1 日本專利第4000157號公報專利文獻2 日本專利第3774201號公報專利文獻3 日本專利第3700976號公報
發明內容
在以往的交流分量預測中,有時在圖像的輪廓或文字等的邊緣周圍產生自鳴噪聲即沿著邊緣的條紋狀的噪聲。如圖1例示那樣,自鳴噪聲在沿一維方向排列的像素值L、C、R發生單調變化的情況(單調減少或單調增加)、或者它們為平(flat)的情況下很難從視覺上分辨。但是,如圖2例示那樣,在像素值L、S之差很大、像素值S、R相等(也包括S、R之差微小的情況)的邊緣周圍,作為交流分量預測固有的特性,橫向的傾斜度α變得大(急劇)。其結果,預測像素值cO上沖+ α的量,并且預測像素值Cl下沖-α的量,交流分量預測前的一維方向的像素值的大小關系被破壞。這種現象除了成為視覺上的噪聲而導致畫質的下降之外,在采用交流分量預測的編碼中還會預測誤差增大而導致壓縮率的下降。因此,本發明的目的在于,抑制由交流分量預測造成的上沖和下沖來有效地降低自鳴噪聲。為了解決上述課題,第一發明提供一種圖像處理系統,其具有傾斜度計算部、閾值設定部、傾斜度修正部、預測部,進行塊的交流分量預測。傾斜度計算部基于作為與塊相關的參照區域的信息而被確定的多個像素值來計算表示一維方向的每單位距離的像素值的變化量的傾斜度。這些像素值在圖像平面上以塊為中心而相對。閾值設定部選擇位于一維方向的一個方向的像素值以及塊的像素值的變化量、和位于一維方向的另一個方向的像素值以及塊的像素值的變化量中的較小一方,基于該選擇的較小一方的變化量來設定傾斜度閾值。傾斜度修正部在一維方向的傾斜度大于傾斜度閾值時以使得一維方向的傾斜度的值變小的方式修正一維方向的傾斜度而輸出。預測部使用所輸出的一維方向的傾斜度來計算將塊分割而得的多個子塊的各自的預測像素值。在此,第一發明中,優選的是,一維方向的傾斜度是圖像平面上的橫向的傾斜度和縱向的傾斜度中的至少一方。因此,既可以對橫向的傾斜度和縱向的傾斜度這雙方進行上述傾斜度修正,也可以追加與此外的傾斜方向相關的上述傾斜度修正。在第一發明中,優選的是,傾斜度修正部在一維方向的傾斜度大于傾斜度閾值時將一維方向的傾斜度修正為傾斜度閾值以下而輸出。在第一發明中,還可以設置加法器,其通過將相當于由預測部計算出的預測像素值與真的像素值的差分的預測殘差與由預測部計算出的預測像素值相加來計算子塊的像素值。第一發明還能夠應用于伴隨層級變低而塊的大小階段性變小的層級結構。在這種情況下,在上級層級中計算出的子塊的像素值作為位于上級層級的下一級的下級層級中的塊的像素值而被供給到下級層級。第一發明還能夠應用于壓縮圖像的編碼器。該編碼器還包括計算由預測部計算出的預測像素值與真的像素值的差分來作為預測殘差的減法器;對由減法器計算出的預測殘差實施不可逆變換的不可逆變換部;通過對實施了不可逆變換的預測殘差實施熵編碼而生成作為壓縮數據的一部分的圖像的交流分量的熵編碼部;以及通過對實施了不可逆變換的預測殘差進行不可逆變換的逆處理而生成應供給到加法器的預測殘差的逆變換部。第一發明還能夠應用于擴展(伸張)圖像的解碼器。該解碼器還包括逆變換部,其通過對圖像的壓縮數據進行在圖像壓縮時所實施的不可逆變換和熵編碼的逆處理,將應供給到加法器的預測殘差復原(復元)。第二發明提供一種進行塊的交流分量預測的圖像處理程序。該圖像處理程序使計算機執行包括如下步驟的圖像處理方法基于被確定為與塊相關的參照區域的信息的、在圖像平面上以塊為中心而相對的多個像素值,計算傾斜度的步驟,傾斜度表示一維方向上的每單位距離的像素值的變化量;選擇位于一維方向的一個方向的像素值以及塊的像素值的變化量、和位于一維方向的另一個方向的像素值以及塊的像素值的變化量中的較小一方,基于該選擇的較小一方的變化量來設定傾斜度閾值的步驟;在一維方向的傾斜度大于傾斜度閾值時,以使得一維方向的傾斜度的值變小的方式修正一維方向的傾斜度而輸出的步驟;以及使用輸出的一維方向的傾斜度來計算將塊分割而得的多個子塊各自的預測像素值的步驟。在此,第二發明中,優選的是,一維方向的傾斜度與第一發明同樣地,是圖像平面上的橫向的傾斜度和縱向的傾斜度中的至少一方。在第二發明中,優選的是,修正上述一維方向的傾斜度而輸出的步驟是在一維方向的傾斜度大于傾斜度閾值時將一維方向的傾斜度修正為傾斜度閾值以下并將其輸出的步驟。在第二發明中,可以還設置通過將預測殘差與計算出的預測像素值相加來計算子塊的像素值的步驟,所述預測殘差相當于計算出的預測像素值與真的像素值的差分。第二發明還能夠應用于伴隨層級變低而塊的大小階段性變小的層級結構。在這種情況下,遞歸地執行上述圖像處理方法,在上級層級中計算出的子塊的像素值作為位于上級層級的下一級的下級層級中的塊的像素值而被供給到下級層級。第二發明還能夠應用于壓縮圖像的編碼程序。該編碼程序還包括計算計算出的預測像素值與真的像素值的差分來作為預測殘差的步驟;對計算出的預測殘差實施不可逆變換的步驟;通過對實施了不可逆變換的預測殘差實施熵編碼,生成作為壓縮數據的一部分的圖像的交流分量的步驟;以及通過對實施了不可逆變換的預測殘差進行不可逆變換的逆處理,生成應供給到第6步驟的預測殘差。第二發明還能夠應用于擴展圖像的解碼程序。該解碼程序還包括通過對圖像的壓縮數據進行圖像壓縮時所實施的不可逆變換和熵編碼的逆處理而將預測殘差復原的步驟。根據第一發明和第二發明,在一維方向的傾斜度大于傾斜度閾值的邊緣周圍,修正一維方向的傾斜度,使得一維方向的傾斜度的值變小。一維方向的傾斜度的抑制在抑制由交流分量預測造成的上沖和下沖的方向產生作用,因此有助于自鳴噪聲的降低。
圖1是邊緣周圍以外的區域的橫向的像素值的特性圖。圖2是邊緣周圍的橫向的像素值的特性圖。圖3是RACP編碼器的整體結構圖。圖4是在圖像平面上所設定的塊的說明圖。圖5是并行處理的工作時序圖。圖6是逐步處理的工作時序圖。圖7是RACP編碼器中的層級處理部的結構圖。圖8是交流分量預測部的結構圖。圖9是表示以對象塊為中心的參照塊的距離關系的圖。圖10是橫向的傾斜度α的計算說明圖。圖11是作為一例的橫向的傾斜度α的輸入輸出特性圖。圖12是作為另一例的橫向的傾斜度α的輸入輸出特性圖。圖13是上沖/下沖被抑制了的橫向的像素值的特性圖。圖14是表示參照塊的另一設定例的圖。圖15是表示參照塊的又一設定例的圖。圖16是RACP編碼程序的流程圖。圖17是RACP解碼器的整體結構圖。圖18是RACP解碼器中的層級處理部的結構圖。
圖19是RACP解碼程序的流程圖。
具體實施例方式
以下,作為應用了本發明涉及的交流分量預測的實施方式,以遞歸交流分量預測編碼(RACP Recursive ACP)為例進行說明。
(RACP 編碼器)圖3是RACP編碼器的整體結構圖。該編碼器具有DC計算部1、DC編碼部2、層級處理部3a 3c,作為一例,由4層級構成。從這些單元l、2、3a 3c輸出的數據TDCn、 DCn(η = 0,1,2)被暫時地隨時儲存在未圖示的緩沖存儲器(存儲部)中。DC計算部1將成為壓縮對象的輸入圖像分割為預先設定的大小的塊(block),將各個塊的平均像素值即包含在塊內的像素的平均值作為TDCO TDC3而輸出。在此,TDCO 是8X8像素的塊(以下稱作“8X8塊”)的平均像素值,TDCl是4X4像素的塊(以下稱作“4X4塊”)的平均像素值,TDC2是2X2像素的塊(以下稱作“2X2塊”)的平均像素值。另外,TDC3是1X1像素的塊(以下稱作“1X1塊”)的平均像素值、即作為圖像的最小單位的像素的像素值本身。此外,要注意的一點是,根據輸入圖像直接計算出的平均像素值 TDCO TDC3 (真值)區別于經過在單元2、3a 3c內的處理而被復原的平均像素值DCO DC2 (復原值)。兩者的值在編碼的過程中伴隨有不可逆變換,因此嚴格來說不一致。DC編碼部2和層級處理部3a 3c在由8X8塊(最高層級)、4X4塊(第二層級)、2X2塊(第三層級)、1X1塊(最低層級)構成的四層級結構中進行被分配給自己的層級處理。最高層級的DC編碼部2對從緩沖存儲器讀出的每8X8塊的平均像素值TDCO實施差分脈沖編碼調制(DPCM differential Pulse Code Modulation)和熵編碼。利用差分脈沖編碼調制,與在圖像平面上彼此相鄰的塊有關的平均像素值TDCO的差分被編碼。然后,對該編碼后的差分在量化后實施霍夫曼編碼、算術編碼這樣的熵編碼。經過這樣處理的數據作為成為壓縮數據的一部分的圖像的直流分量DCO而被輸出,并且為了也供給到下一層級的層級處理部3a而作為對8X8塊的平均像素值復原(逆量化)后的值DCO被輸出。3個層級處理部3a 3c通過包含將由DC計算部1所生成的平均像素值TDCn (η =1、2、3,以下相同)和由上一層級所生成的平均像素值DCn-I作為輸入的交流分量預測的處理,輸出作為壓縮數據的一部分的圖像的交流分量ACn。并且,層級處理部3a、3b(3c除外)根據交流分量ACn復原平均像素值DCn。復原的平均像素值DC0、1、2為了供給到下一層級而被輸出。具體而言,第二層級的層級處理部3a經過以8X8塊作為處理對象的交流分量預測和預測殘差的計算這樣的處理,輸出4X4塊的交流分量ACl和4X4塊的平均像素值 DCl。在該層級,使用在最高層級所生成的8X8塊的平均像素值DCO作為交流分量預測中應參照的信息。并且,為了計算預測殘差,輸出由DC計算部1計算出的4X4塊的平均像素值TDC1。第三層級的層級處理部北經過以4X4塊作為處理對象的交流分量預測等的處理,輸出2X2塊的交流分量AC2和2X2塊的平均像素值DC2。在該層級中,使用在第二層級所生成的4X4塊的平均像素值DCl作為交流分量預測的參照信息。并且,為了計算預測殘差,被輸入由DC計算部1計算出的2X2塊的平均像素值TDC2。最低層級的層級處理部 3c經過以2 X 2塊作為處理對象的交流分量預測等的處理,輸出1 X 1塊的交流分量AC3 (不需要計算DO)。在該層級,使用在第三層級所生成的2 X 2塊的平均像素值DC2作為交流分量預測的參照信息。并且,為了計算預測殘差,使用由DC計算部1計算出的1X1塊的平均像素值TDC3。這樣,在成為處理對象的塊的大小不同的層級結構中,通過DC編碼部2和層級處理部3a 3c相互聯系,遞歸地執行以交流分量預測為主體的圖像處理。由此,輸出圖像的直流分量DCO和其交流分量ACl AC3作為壓縮數據。在壓縮數據中,除了這些以外還包含霍夫曼表等附帶信息。圖4是在圖像平面上所設定的塊的說明圖。塊PB通過縱橫地分割成為壓縮對象的圖像(例如1幀的圖像或其部分圖像)而在圖像平面上被設定有多個,以塊為單位被處理。塊PB的大小被設定成隨著層級變低而階段性地變小。某層級中的塊PB的大小與在位于其上一級的層級中分割了的子塊sb的大小一致。反過來說,上一層級的子塊Sb的大小與位于其下一級的低層級的塊PB的大小一致。某層級中的圖像整體的處理通過一邊使成為處理對象的對象塊PBs在畫面上依次移位一邊反復進行處理、對圖像中的所有塊進行處理來達成。該移位方向(掃描方向)可以如圖示那樣按沿著水平方向的線依次掃描,但也可以包括沿著垂直方向的移位方向在內而任意地設定。另外,各個層級中的移位方向未必需要相同。在圖示的移位方向的情況下,對象塊PBs所屬的水平線的上側成為已處理區域, 其下側成為未處理區域。另外,對象塊PBs的水平線的左側成為已處理區域,其右側成為未處理區域。使用塊大小相同的4個塊PBt、PBl、PBb, PBr來作為在對象塊PBs的處理中參照的參照區域。左右的塊PB1、PBr以對象塊PBs為中心在橫向相對,上下的塊PBt、PBb以對象塊PBs為中心在縱向相對。通過對象塊PBs的交流分量預測,計算將其分成4部分的子塊sbOO、sbOU sblO、sbll的平均像素值。以下,在將某塊PB分割時,用下標“00”來識別左上方的子塊sb,用下標“01”來識別右上方的子塊,用下標“10”來識別左下方的子塊, 用下標“11”來識別右下方的子塊。RACP編碼器的處理可以通過并行處理或順序處理進行。圖5是并行處理的工作時序圖。首先,DC計算部1進行工作,生成平均像素值TDCO TDC3。然后,當全部的平均像素值TDCO TDC3的生成結束時,DC編碼部2和層級處理部3a 3c并行地工作。但是, 它們的工作開始的定時不同,層級越低,開始定時越遲。該延遲是由于上級層級的依次移位造成的處理延遲而產生的。在某層級中開始進行對象塊PBs的處理的情況下,以其參照塊 PBt PBr的處理在上一層級中已結束為條件(處理開始條件)。因此,只要在上級層級中進行依次移位、沒有結束到塊rab為止的處理,就不能開始進行下級層級中的塊PBs的處理。這是產生下級層級的工作延遲的原因。但是,與如圖6所示的順序處理相比較,圖5所示的流水線并行處理是高速的。而在圖6的順序處理中,在某層級的處理全部結束的時間點,開始進行下一級層級的處理。因此,在順序處理中也當然滿足上述處理開始條件。圖7是RACP編碼器中的層級處理部3(3a 3c的總稱)的結構圖。除了所處理的塊大小不同這一點之外,各個層級中的層級處理部3的結構和處理的流程基本相同。但是, 對于最低級的層級處理部3c,由于不存在比其低的層級,所以不需要DC3的生成系統36、 37。層級處理部3包括像素值讀出部31、交流分量預測部32、減法器33、不可逆變換部34、 熵編碼部35、逆變換部36、以及加法器37。像素值讀出部31確定成為此次的處理對象的對象塊PBs和成為其應參照的區域的參照塊PBt PBr,從緩沖存儲器中讀出它們的平均像素值DCn-Ι。在本實施方式中,參照塊PBt PBr的信息與該塊已處理/未處理的區別無關,換句話說,與是否計算出該塊內的子塊的信息無關,一律使用在上一級層級中已計算出的平均像素值DCn-Ι。在如后述的圖14和圖15那樣還參照子塊的情況下,從緩沖存儲器中讀出在同一層級中已計算出的平均像素值DCn。從緩沖存儲器中讀出來的平均像素值DCn-I被供給到交流分量預測部32。交流分量預測部32使用對象塊PBs的平均像素值DCn-I (以下稱作“S”)和參照塊PBt PBr的平均像素值DCn-I (以下分別稱作“T”、“L”、“B”、“R” )來進行對象塊PBs 的交流分量預測。由此,計算將對象塊PBs分割了的4個子塊sbOO sbll的預測像素值 C = {c00, cOl, clO, ell}。圖8是交流分量預測部32的結構圖。交流分量預測部32包括傾斜度計算部32a、 閾值設定部32b、傾斜度修正部32c、預測部32d。傾斜度計算部3 基于對象塊PBs的參照區域的信息來計算一維方向的傾斜度即一維方向上的每單位距離的像素值的變化量。在本實施方式中,計算出橫向的傾斜度α和縱向的傾斜度β這雙方,作為一維方向的傾斜度, 但也可以只是任意一方,或者也可以對它們追加傾斜方向等。橫向的傾斜度α基于圖像平面上以對象塊PBs為中心而在橫向相對的左右的像素值L、R計算出。另外,縱向的傾斜度 β基于圖像平面上以對象塊PBs為中心而在縱向相對的上下的像素值Τ、B計算出。將這些傾斜度α、β的計算式表示為式1。(式1)α = (L-R) /8β = (T-B) /8圖9是表示以對象塊PBs為中心的參照塊PBt PBr的距離關系的圖。各塊PB的中心位置處的中心像素值看作該塊本身的平均像素值DCn-Ι。將把塊PB分為4部分時的正方形(子塊sb)的一邊的長度設為1,將把子塊sb進一步分為4部分時的正方形的一邊的長度設為1/2。相鄰的塊彼此的中心間距離為2,塊與其內部的子塊的中心間距離為1/2(歸一化系數)。上述式1中的除數8是用歸一化系數1/2對左右的中心像素值L、R的中心間距離4進行標準化而得的值。圖10是橫向的傾斜度α的計算說明圖。首先,將左右的參照塊ΡΒ1、PBr的中心像素值L、R之差除以兩者的中心間距離4。然后,對由此得到的值用歸一化系數1/2進行標準化,從而計算出橫向的傾斜度a。縱向的傾斜度β也一樣,將上下的參照塊PBt、PBb 的中心像素值T、B之差除以兩者的中心間距離4,用歸一化系數1/2對該除法值進行標準化。由傾斜度計算部3 計算出的傾斜度α、β被輸出到傾斜度修正部32c。閾值設定部32b分別針對傾斜度α、β計算傾斜度閾值α th、β th。關于橫向的傾斜度α,計算對象塊PBs的左側的像素值L與對象塊PBs本身的像素值S之間的變化量
L-S I,并且計算對象塊PBs的右側的像素值R與對象塊PBs本身的像素值S之間的變化量|R-s|。然后,選擇出這些變化量|L-S|、|R-S|中較小的一方,將其設定為橫向的傾斜度閾值ath。另一方面,關于縱向的傾斜度β,計算對象塊PBs的上側的像素值T與對象塊 PBs本身的像素值S之間的變化量I T-S I,并且計算對象塊PBs的下側的像素值B與對象塊 PBs本身的像素值S之間的變化量|B-S|。然后,選擇出這些變化量|T-s|、|B-s|中較小的一方,將其設定為縱向的傾斜度閾值i3th。由閾值設定部32b所設定的傾斜度閾值ath、 β th被輸出到傾斜度修正部32c。傾斜度修正部32c在橫向的傾斜度α為傾斜度閾值a th以下時不修正橫向的傾斜度α而將其直接輸出到預測部32d(輸入值a =輸出值α ’),而在橫向的傾斜度α大于傾斜度閾值ath時修正傾斜度α使得該傾斜度α的值變小而輸出(輸入值a >輸出值α ’)。同樣地,在縱向的傾斜度β為傾斜度閾值i3th以下時,縱向的傾斜度β被直接輸出(輸入值I β I =輸出值I β ’|),在縱向的傾斜度β大于傾斜度閾值^th時,修正傾斜度β使得該傾斜度β的值變小而輸出(輸入值I β I >輸出值I β ’ I)。在本實施方式中,作為一例,基于下面的式2來修正傾斜度α、β。在此,sign (χ) 是指定傾斜度的符號的符號函數,在x > 0時返回輸出1、在χ = 0時返回輸出0、在χ < 0 時返回輸出-1。(式2)α,= sign(a ) X a thβ,= sigin(3) X β th圖11是傾斜度修正部32c中的橫向的傾斜度α的輸入輸出特性圖。在 a I ( a th的非修正區域中,由于不產生由交流分量預測造成的上沖(overshoot)/下沖
(undershoot),所以將輸入值| a |直接作為輸出值| α,|。相對于此,在| a | > a th的修正區域中,與輸入值I a I的值無關地,將輸出值I a ’|限制為傾斜度閾值ath (恒定)。 傾斜度I a I大于傾斜度閾值a th意味著,由于該方向的傾斜度大,所以若保持該狀態會產生上沖/下沖。在這種情況下,如果相對于輸入值I a I而減小輸出值I α,I,則相應于輸出值與原來的值α之差,上沖/下沖被緩和。特別是,如果將輸出值I α,I限制在傾斜度閾值a th以下,則理論上能夠完全消除上沖/下沖。也可以直接使用傾斜度閾值a th作為修正值,還可以使用對其乘以預定的系數η(0<η< 1)而得到的值。另外,也可以不將修正區域的輸出值α,設為恒定值,而如圖12所示那樣,一邊維持I a I > I a,|的條件, 一邊隨著輸入值I a I的增加而使輸出值I α,I呈曲線狀增加。當設定輸入輸出特性時,需要最低限度滿足輸出值I α,I小于輸入值I a I這樣的條件,只要滿足該條件即可,可以設定任何輸入輸出特性。進而,傾斜度α的修正除了使用運算式進行以外,還可以參照記述有輸入值α和輸出值α,的對應關系的表來進行。以上這些,對于縱向的傾斜度β也一樣。由傾斜度修正部32c計算出的傾斜度a ’、β ’被輸出到預測部32d。預測部32d進行以橫向的傾斜度α,和縱向的傾斜度β,這雙方作為輸入的阿達瑪逆變換(式3),計算將對象塊PBs分割了的多個子塊sbOO sbl 1各自的預測像素值C ={C00,C01,C10,C11}。另外,式4是以非修正區域的處理結果即a,= α、β = β,作為輸入的預測像素值C的計算式(用單一式表現了式1、式3的計算式)。預測部32d中計算出的預測像素值C被供給到圖7的減法器33和加法器37。(式3)
cOO =T+(a :’ +β,)
c01 =T+ (-a,+β,
clO =T+(a :’ -β,)
cll =T+ (-a,~β,
(式4)
cOO =T+(L-R+T-B)/
c01 =T+(-L+R+T-B)
clO =T+(L-R-T+B)/
cll =T+(-L+R-T+B)
再次參照圖7,減法器33計算出由交流分量預測部32計算出的預測像素值C (例如4X4塊單位)和與其對應的平均像素值TDCn (例如4X4塊單位)即基于輸入圖像計算出的真的像素值的差分,作為預測殘差冊。通過交流分量預測而生成的預測圖像(預測像素值cOO cll的集合)越接近原來的圖像(真的像素值),預測殘差I3R越小。通過傾斜度修正部32c中的傾斜度α、β的修正,向消除預測偏離的方向進行了作用,因此與直接使用傾斜度α、β的情況相比,預測殘差ra變小。預測殘差ra越小,統計地看出的預測殘差的出現頻率偏于0附近的傾向越高,因此在實施熵編碼方面變得有利(有助于壓縮率的提
1 ) O不可逆變換部34對由減法器33計算出的預測殘差I3R實施例如阿達瑪變換和量化這樣的不可逆變換。熵編碼部35通過對實施了不可逆變換的預測殘差PR實施霍夫曼編碼、算術編碼這樣的熵編碼來生成例如4X4塊單位的交流分量ACn (壓縮數據)。逆變換部36通過對實施了不可逆變換的預測殘差ra實施該不可逆變換的逆處理來計算預測殘差 PR'ο該預測殘差PR’是將原來的預測殘差I3R復原后的值,但由于實施了不可逆變換(無法將原來的值完全復原),與原來的預測殘差I3R略微不同。加法器37通過將預測殘差PR’ 與由交流分量預測部32計算出的預測像素值C相加來計算子塊(例如4X4塊)的平均像素值DCn。不使用原來的預測殘差I3R而使用復原了的預測殘差PR’作為加法器37的輸入的理由是,為了防止由于解碼時的反復處理而累積誤差,確保擴展圖像的再現性。從加法器 37輸出的平均像素值DCn被暫時儲存在緩沖存儲器中,在下一層級的處理中被隨時讀出。這樣,根據本實施方式涉及的RACP編碼器,在一維方向的傾斜度α、β為傾斜度閾值ath、i3th以下時,作為非修正區域的處理,直接輸出α、β的值來作為傾斜度α ’、β ’。 然后,基于這些傾斜度α’(=α),β’(=β)來計算預測像素值C。在這種情況下,例如對于橫向的傾斜度α,與圖1中例示的現有技術同樣,原本就不會導致上沖/下沖,計算出 S士 α的預測像素值cO、cl(AC值)。相對于此,在如邊緣周圍那樣一維方向的傾斜度α、β 大于傾斜度閾值ath,β th時,作為修正區域的處理進行修正使得α、β的值變小,將修正的值作為傾斜度α’、β’輸出。然后,基于這些傾斜度I α,|(< |α|)、|β,|(< |β|)來計算預測像素值C。在這種情況下,例如對于橫向的傾斜度α,如圖13中例示那樣,規定相對于S (DC值)的變化量的I α,I被限制為傾斜度閾值ath以下。由此,交流分量預測前的大小關系(L > S彡R)被維持為交流分量預測后的大小關系(L > cO > cl = R)、或者與其接近的形式。由此,能夠抑制預測像素值cO的上沖和預測像素值cl的下沖,能有效地降低自鳴噪聲的發生。其結果,能抑制畫質的下降,并且還能防止由預測誤差的增大而引起的壓縮率的下降。特別是,若將傾斜度的大小I a I、I β I替換為傾斜度閾值a th、β th的值或者其以下的值,則理論上能夠完全消除自鳴噪聲。另外,若進行圖5所示那樣的流水線并行處理,能夠實現整體的處理時間的縮短。在上述的實施方式中,作為對象塊PBs的參照區域,設定了與其直接相鄰的上下左右的塊PBt PBr,但能夠應用于包括下面所示的設定例在內的各種設定。另外,在上述的實施方式中,在傾斜度α、β的計算和傾斜度閾值a th、β th的計算中使用了同一像素值T、L、B、R(參照信息),但也可以例如傾斜度α、β的計算使用大塊、傾斜度閾值a th、 β th的計算使用小塊,這樣使兩者的計算中使用的參照信息不同。圖14的設定例中,作為對象塊PBs的參照區域,使用塊大小相同的8個塊PBt、PBtt、PBl、PBll、PBb、PBbb、PBr、PBrr0 參照塊 PBt、PBl、PBb、PBr 與對象塊 PBs 的上下左 右直接相鄰。另外,參照塊PBtt、PBll、PBWKPBrr與對象塊PBs的上下左右隔開ー個而相 鄰。在本設定例中,將傾斜度α、β的計算設為式1,僅對于傾斜度閾值α th、β th的計算 使用預測像素值Τ’、L’、B’、R’(式5)。預測像素值Τ’、L’、B’、R’使用對象塊PBs的像素 值S和在該方向上所存在的2個塊的像素值(例如左方上L、LL)來預測。計算出傾斜度 α、β等以后的處理與上述的實施方式相同。(式5)L' = L+(S-LL)/4R' = R+(S-RR)/4T' = T+(S-TT)/4B' = B+(S-BB)/4α = (L-R) /8β = (T-B) /8α th = min(|L,-S|,|R,-S|)β th = min(け,-S|,|B,_S|)圖15的設定例中,對上方的塊PBt、左方的塊PBl使用子塊sb⑴、sb (L)的中心 像素值t0、tl、10、ll。這些中心像素值to 11在同一層級的以前的處理中作為DCn已處 理完,其值被反饋。本設定例中,對于傾斜度α、β的計算和傾斜度閾值α th、β th的計算 這雙方使用預測像素值T’、L’、B’、R’(式6)。在這種情況下,預測以對象塊PBs為中心在 ー維方向上相対的預測像素值,使用這些值計算傾斜度α、β。計算出傾斜度α、β等以 后的處理與上述的實施方式相同。(式6)T,= (t0+tl)/2L,= (10+11)/2B' = B+(S-BB)/8R' = R+(S-RR)/8α = (L,-R,)/6β = (Τ,-Β,)/6α th = min(|L,-S|,|R,-S|)β th = min(け,-S|,|B,_S|)(RACP編碼程序)接著,說明用于通過計算機的軟件處理來實現與作為硬件而實現的RACP編碼器 同等的處理的RACP編碼程序。由于硬件處理和軟件處理之間沒有本質的差異,所以在此僅 概略說明,其詳細的情況參照上述的記載。圖16是RACP編碼程序的流程圖。在由計算機進行的軟件處理中,圖6所示的順 序處理是基本。首先,在步驟1中,在輸入圖像的圖像平面上設定多個塊0個),計算各塊 的平均像素值TDCO TDC3。計算出的平均像素值TDCO 3被隨時儲存在緩沖存儲器中。 當全部的塊的處理結束時,進入步驟2。在步驟2中,對8X8塊的平均像素值TDCO實施DC編碼即差分脈沖寬度調制和熵編碼,由此生成成為壓縮數據的一部分的圖像的直流分量DCO并將其輸出。另外,其復原值作為DCO被儲存在緩沖存儲器中。在步驟3中,層級序號LN被設為1(初始值)。LN= 1表示應進行處理的層級為最高層級。并且,每當1個層級處理結束時,增加1(步驟14),順次地推移到下級層級。然后,在LN = 3即最低層級的處理結束的時間點,全部的處理結束(步驟13)。在步驟4中,塊序號BN被設為1 (初始值)。與前面步驟3中的層級序號LN的設定相伴隨,唯一地確定在該層級中成為處理對象的塊的大小,還確定與全部的塊數相應的結束塊序號BNend。每當同一層級內的塊的處理結束時,塊序號BN增加1 (步驟12),處理對象在預定的方向依次移位。然后,在相當于結束塊序號BNend的塊的處理結束的時間點, 該層級的處理結束(步驟11)。在步驟5中,針對用塊序號BN指定的對象塊PBs,讀出參照塊的像素值DCn ( = T, Lj B,R) O在步驟6中,針對用塊序號BN指定的對象塊PBs,基于上述的式1 3來進行交流分量預測,由此計算預測像素值C( = cOO cll)。然后,在接下來的步驟7中,計算在前面步驟6中計算出的預測像素值C與真的像素值TDCn的差分來作為預測殘差PR。在步驟8中,對在前面步驟7中計算出的預測殘差ra實施不可逆變換和熵編碼。 由此,生成作為壓縮數據的一部分的圖像的交流分量ACn。在接下來的步驟9中,對實施了不可逆變換的預測誤差I3R進行其逆處理,計算將原來的預測誤差I3R復原了的預測誤差 PR'(復原值)。然后,在步驟10中,通過將預測殘差PR’與在步驟6中計算出的預測像素值C相加,計算子塊的平均像素值DCn,并將其儲存在緩沖存儲器中。步驟9、10的處理在 LN = 3即最低層級處理中被跳過。在步驟11中,判斷塊序號BN是否到達結束塊序號BNend。在步驟12中塊序號BN 每次增加1,反復進行步驟5 11的處理,直至到達結束塊序號BNend為止。然后,當到達結束塊序號BNend時、即圖像平面內的全部塊的處理結束時,退出循環而進入步驟13。在步驟13中,判斷層級序號LN是否到達3 (最低層級)。在步驟14中層級序號 LN每次增加1,反復進行步驟5 12的循環,直至到達3為止。由此,隨著層級變低而對象塊PBs的大小階段性變小,遞歸地執行上述的一連串的處理。在高層級側計算出的子塊的平均像素值DCn(輸出)作為低層級側的平均像素值DCn-I (輸入)而使用。并且,在到達 LN =3且BN = BNend時即最低層級的全部處理結束時,根據步驟n、13的判斷結果退出循環,由此結束本程序的處理。根據本實施方式涉及的RACP編碼程序,與上述的RACP編碼器同樣,能夠抑制由自鳴噪聲造成的畫質的下降,并且還能夠防止由預測誤差的增大而引起的壓縮率的下降。(RACP 解碼器)圖17是對利用上述的RACP編碼器或RACP編碼程序而生成的壓縮數據進行擴展的RACP解碼器的整體結構圖。該解碼器以DC解碼部5和3個層級處理部6a 6c為主體構成。從這些單元5、6a 6c輸出的數據DCn(n = 0,l,2,3)暫時儲存在未圖示的緩沖存儲器(存儲部)中。DC解碼部5和層級處理部6a 6c在8X8塊(最高層級)、4X4塊(第二層級)、 2X2塊(第三層級)、1X1塊(最低層級)的層級結構中進行被分配給自己的層級處理。最高層級的DC解碼部5通過對與圖像的直流分量DCO相關的壓縮數據進行在圖像壓縮時所實施的處理的逆處理,生成8X8塊的平均像素值DC0,并將其供給到第二層級的層級處理部6a。RACP解碼器的層級結構本身與RACP編碼器的大致相同,但不同之處在于,成為編碼器中的層級處理部3a 3c的輸出的交流分量ACl AC3,成為解碼器中的層級處理部 6a 6c的輸入。這些層級處理部6a 6c基于與圖像的交流分量ACl AC3相關的壓縮數據和從上一層級所供給的平均像素值DCn-I而將平均像素值DCn復原。復原后的平均像素值DCn為了根據需要供給到下一層級而被輸出,并被儲存在緩沖存儲器中。然后,由最低層級的層級處理部6c計算出的1 X 1塊的平均像素值DC3的集合成為最終的擴展圖像。解碼器中的依次移位的方向設為以編碼器的依次移位方向為標準的方向。另外,解碼器的處理可以是并行處理或順序處理。圖18是RACP解碼器中的層級處理部6 (6a 6c的總稱)的結構圖。除了所處理的塊的大小不同這一點之外,各個層級中的層級處理部6的基本結構和工作相同。層級處理部6包括像素值讀出部61、交流分量預測部62、加法器63、以及逆變換部64。像素值讀出部61與RACP編碼器同樣,從緩沖存儲器讀出存在于對象塊PBs的周圍的參照塊PBt rr的平均像素值DCn ( = T,L,B,R)。該平均像素值DCn-I在上一層級中已經計算出,從上一層級經由緩沖存儲器而供給。從緩沖存儲器讀出來的平均像素值DCn-I 被供給到交流分量預測部62。交流分量預測部62具有圖8所示的構造,使用從緩沖存儲器供給的DCn-I進行對象塊PBs的交流分量預測。由此,計算對象塊PBs的預測像素值C( = COO cll)。計算出的預測像素值C被供給到加法器63。在如圖像平面上的邊緣部那樣周邊區域的一部分欠缺時,按照在與解碼器之間預先決定的規則進行處理。例如,補充對象塊PBs的平均像素值 DCn-I作為該部分的信息。逆變換部64通過對例如4X4塊的交流分量ACn的壓縮數據進行在圖像壓縮時所實施的不可逆變換和熵編碼的逆處理,對應供給到加法器63的預測殘差PR’進行復原。加法器63通過將被逆變換部64復原了的預測殘差PR’與由交流分量預測部62計算出的預測像素值C相加,計算子塊(例如4X4塊)的平均像素值DCn,將其暫時儲存在緩沖存儲器中。緩沖存儲器所儲存的平均像素值DCn還作為下一層級中的塊(例如4X4塊)的平均像素值而被供給到下一層級中的交流分量預測部62。這樣,根據本實施方式涉及的RACP解碼器,能夠適當地擴展由上述的RACP解碼器或RACP編碼程序所生成的壓縮數據。特別是,若進行圖5所示那樣的流水線并行處理,能夠實現整體的處理時間的縮短。(RACP解碼程序)接著,說明用于通過計算機的軟件處理來實現與作為硬件而實現的RACP解碼器同等的處理的RACP解碼程序。由于硬件處理與軟件處理之間沒有本質的差異,所以在此僅概略說明,其詳細情況參照上述的記載。圖19是RACP解碼程序的流程圖。在由計算機進行的軟件處理中,圖6所示的順序處理是基本。首先,在步驟21中,對圖像的直流分量DCO的壓縮數據實施DC解碼即在數據壓縮時所實施的編碼處理的逆處理,由此8X8塊的平均像素值DCO被復原,將其儲存在緩沖存儲器中。在步驟22、23中,與RACP編碼程序同樣,層級序號LN被設為1 (初始值),塊序號 BN被設為1(初始值)。在步驟M中,從緩沖存儲器讀出用塊序號BN所指定的對象塊PBs的參照信息T、 L、B、R0在步驟25中,針對用塊序號BN所指定的對象塊PBs,基于上述的式1 3進行交流分量預測,由此計算與對象塊PBs相關的預測像素值C( = cOO cll)。然后,在接著的步驟沈中,擴展圖像的交流分量ACn的壓縮數據,由此預測殘差HT被復原。然后,在步驟 27中,通過將在步驟27中計算出的預測殘差PR’與在步驟25中計算出的預測像素值C相加,計算子塊的平均像素值DCn,將其儲存在緩沖存儲器中。在步驟28中,判斷塊序號BN是否到達結束塊序號BNend。在步驟四中塊序號BN 每次增加1,反復進行步驟M 27的處理,直至到達結束塊序號BNend為止。然后,當到達結束塊序號BNend時,即圖像平面內的全部塊的處理結束時,根據步驟觀的判斷結果退出循環,進入步驟30。在步驟30中,判斷層級序號LN是否到達3 (最低層級)。在步驟31中層級序號 LN每次增加1,反復進行步驟23 四的循環,直至到達3為止。由此,隨著層級變低,塊PB 的大小階段性變小,遞歸地執行上述的一連串的處理。在上級層級側中計算出的子塊的平均像素值DCn (輸出)作為成為低級層級側的處理對象和未處理周邊區域的塊的平均像素值DCn-I (輸入)而使用。然后,在到達LN= 3且BN = BNend時,即最低層級的處理結束時,退出循環,由此本程序的處理結束。根據本實施方式涉及的RACP解碼程序,獲得與上述的RACP解碼器同樣的效果。產業上的可利用性本發明涉及的圖像處理系統和圖像處理程序,不僅能夠應用于交流分量預測編碼 (包含遞歸交流分量預測編碼),也能廣泛應用于使用交流分量預測而生成分辨率高的圖
像的圖像處理等。
附圖標記說明
1 =DC計算部
2 =DC編碼部
3 (3a 3c)層級處理部
5 =DC解碼部
6 (6a 6c)層級處理部
31,61 像素值讀出部
32,62 交流分量預測部
32a 傾斜度計算部
32b 閾值設定部
32c 傾斜度修正部
32d 預測部
33 減法器
34 不可逆變換部
35 熵編碼部36、64:逆變換部37、63:加法器
權利要求
1.一種圖像處理系統,進行塊的交流分量預測,其特征在于,包括傾斜度計算部,其基于被確定為與所述塊相關的參照區域的信息的、在圖像平面上以所述塊為中心而相對的多個像素值,計算傾斜度,所述傾斜度表示一維方向上的每單位距離的像素值的變化量;閾值設定部,其選擇位于所述一維方向的一個方向的像素值以及所述塊的像素值的變化量、和位于所述一維方向的另一個方向的像素值以及所述塊的像素值的變化量中的較小一方,基于該選擇的較小一方的變化量來設定傾斜度閾值;傾斜度修正部,其在所述一維方向的傾斜度大于所述傾斜度閾值時,以使得所述一維方向的傾斜度的值變小的方式修正所述一維方向的傾斜度而輸出;以及預測部,其使用所述輸出的一維方向的傾斜度來計算將所述塊分割而得的多個子塊各自的預測像素值。
2.根據權利要求1所述的圖像處理系統,其特征在于,所述一維方向的傾斜度是圖像平面上的橫向的傾斜度和縱向的傾斜度中的至少一方。
3.根據權利要求1或2所述的圖像處理系統,其特征在于,所述傾斜度修正部,在所述一維方向的傾斜度大于所述傾斜度閾值時,將所述一維方向的傾斜度修正為所述傾斜度閾值以下而輸出。
4.根據權利要求1 3中的任意一項所述的圖像處理系統,其特征在于,還包括加法器,所述加法器通過將預測殘差與由所述預測部計算出的所述預測像素值相加,來計算所述子塊的像素值,所述預測殘差相當于由所述預測部計算出的所述預測像素值與真的像素值的差分。
5.根據權利要求4所述的圖像處理系統,其特征在于,在隨著層級變低而所述塊的大小階段性變小的層級結構中,在上級層級中計算出的所述子塊的像素值作為位于該上級層級的下一級的下級層級中的所述塊的像素值而被供給到該下級層級。
6.根據權利要求4或5所述的圖像處理系統,其特征在于,所述圖像處理系統是壓縮圖像的編碼器,還包括減法器,其計算由所述預測部計算出的所述預測像素值與真的像素值的差分來作為預測殘差;不可逆變換部,其對由所述減法器計算出的所述預測殘差實施不可逆變換;熵編碼部,其通過對實施了所述不可逆變換的預測殘差實施熵編碼,生成作為壓縮數據的一部分的圖像的交流分量;以及逆變換部,其通過對實施了所述不可逆變換的所述預測殘差進行該不可逆變換的逆處理,生成應供給到所述加法器的所述預測殘差。
7.根據權利要求4或5所述的圖像處理系統,其特征在于,所述圖像處理系統是擴展圖像的解碼器,還包括逆變換部,所述逆變換部通過對圖像的壓縮數據進行在圖像壓縮時所實施的不可逆變換和熵編碼的逆處理,將應供給到所述加法器的所述預測殘差復原。
8.一種圖像處理程序,進行塊的交流分量預測,其特征在于,使計算機執行圖像處理方法,所述圖像處理方法包括基于被確定為與所述塊相關的參照區域的信息的、在圖像平面上以所述塊為中心而相對的多個像素值,計算傾斜度的步驟,所述傾斜度表示一維方向上的每單位距離的像素值的變化量;選擇位于所述一維方向的一個方向的像素值以及所述塊的像素值的變化量、和位于所述一維方向的另一個方向的像素值以及所述塊的像素值的變化量中的較小一方,基于該選擇的較小一方的變化量來設定傾斜度閾值的步驟;在所述一維方向的傾斜度大于所述傾斜度閾值時,以使得所述一維方向的傾斜度的值變小的方式修正所述一維方向的傾斜度而輸出的步驟;以及使用所述輸出的一維方向的傾斜度來計算將所述塊分割而得的多個子塊各自的預測像素值的步驟。
9.根據權利要求8所述的圖像處理程序,其特征在于,所述一維方向的傾斜度是圖像平面上的橫向的傾斜度和縱向的傾斜度中的至少一方。
10.根據權利要求8或9所述的圖像處理程序,其特征在于,修正所述一維方向的傾斜度而輸出的步驟是,在所述一維方向的傾斜度大于所述傾斜度閾值時,將所述一維方向的傾斜度修正為所述傾斜度閾值以下而輸出的步驟。
11.根據權利要求8 10中的任意一項所述的圖像處理程序,其特征在于,還包括通過將預測殘差與所述計算出的預測像素值相加來計算所述子塊的像素值的步驟,所述預測殘差相當于所述計算出的預測像素值與真的像素值的差分。
12.根據權利要求11所述的圖像處理程序,其特征在于,在隨著層級變低而所述塊的大小階段性變小的層級結構中,遞歸地執行所述圖像處理方法,在上級層級中計算出的所述子塊的像素值作為位于該上級層級的下一級的下級層級中的所述塊的像素值而被供給到該下級層級。
13.根據權利要求11或12所述的圖像處理程序,其特征在于,所述圖像處理程序是壓縮圖像的編碼程序,還包括計算所述計算出的預測像素值與真的像素值的差分來作為預測殘差的步驟;對所述計算出的預測殘差實施不可逆變換的步驟;通過對實施了所述不可逆變換的預測殘差實施熵編碼,生成作為壓縮數據的一部分的圖像的交流分量的步驟;以及通過對實施了所述不可逆變換的所述預測殘差進行該不可逆變換的逆處理,生成應供給到所述第6步驟的所述預測殘差。
14.根據權利要求11或12所述的圖像處理程序,其特征在于,所述圖像處理程序是擴展圖像的解碼程序,還包括通過對圖像的壓縮數據進行在圖像壓縮時所實施的不可逆變換和熵編碼的逆處理而將所述預測殘差復原的步驟。
全文摘要
抑制由交流分量預測造成的上沖和下沖來有效地降低自鳴噪聲。傾斜度計算部(32a)計算一維方向的傾斜度α。閾值設定部(32b)選擇橫向的像素值的變化量|L-C|、|R-C|中的較小一方,基于該選擇的較小一方的變化量設定傾斜度閾值αth。傾斜度修正部(32c)在一維方向的傾斜度α大于傾斜度閾值αth時以使得傾斜度α的值變小的方式修正傾斜度α而輸出。預測部使用所輸出的一維方向的傾斜度α’來計算將塊分割了的多個子塊的各自的預測像素值C。
文檔編號H04N1/41GK102577344SQ20098016182
公開日2012年7月11日 申請日期2009年10月5日 優先權日2009年10月5日
發明者客野一樹 申請人:株式會社艾庫塞爾