專利名稱:用于通過使用旋轉變換對圖像編碼和解碼的方法和設備的制作方法
技術領域:
與示例性實施例一致的方法和設備涉及一種用于對圖像編碼和解碼的方法和設備,更具體地說,涉及一種用于對頻域的系數編碼和解碼的方法和設備。
背景技術:
為了執行圖像壓縮,大多數圖像編碼和解碼方法和設備通過將像素域的圖像變換為頻域的系數來對圖像編碼。離散余弦變換(DCT)是廣泛用于圖像或聲音壓縮的頻率變換技術。近年來,已經進行了研究以搜索更有效的編碼方法。針對音頻編碼,參數編碼獲得比 DCT更好的結果。針對二維QD)數據,盡管Karhunen Loeve變換(KLT)系數具有最小的比特大小,但是系統開銷(overhead)信息的大小顯著增加。
發明內容
解決方案示例性實施例提供一種對圖像編碼和解碼的方法和設備。示例性實施例還提供一種記錄有用于執行該方法的程序的計算機可讀記錄介質。有益效果如上所描述的,根據示例性實施例的用于對圖像編碼和解碼的方法和設備可基于固態(solid)數學基礎以較高壓縮率對頻率系數矩陣編碼,從而可顯著地提高整體圖像編碼操作的壓縮率。
通過參照附圖詳細描述本發明的示例性實施例,以上和其它特點將變得更明顯, 附圖中圖1是根據示例性實施例的圖像編碼設備的示圖;圖2是根據另一示例性實施例的圖像解碼設備的示圖;圖3是根據另一示例性實施例的分級編碼單位的示圖;圖4是根據另一示例性實施例的基于編碼單位的圖像編碼器的框圖;圖5是根據另一示例性實施例的基于編碼單位的圖像解碼器的框圖;圖6示出根據另一示例性實施例的最大編碼單位、子編碼單位和預測單位;圖7是根據另一示例性實施例的編碼單位和變換單位的示圖;圖8A和圖8B示出根據另一示例性實施例的最大編碼單位、預測單位和變換單元的劃分形式;圖9是根據另一示例性實施例的圖像編碼設備的框圖;圖10是根據另一示例性實施例的變換器的示圖;圖IlA到圖IlC示出根據另一示例性實施例的旋轉變換(ROT);圖12是根據另一示例性實施例的歐拉角的示圖13示出根據另一示例性實施例的偽隨機點;圖14是根據另一示例性實施例的圖像解碼設備的框圖;圖15是根據另一示例性實施例的逆變換器的示圖;圖16是根據示例性實施例的對圖像編碼的方法的流程圖;圖17是根據另一示例性實施例的對圖像解碼的方法的流程圖。最佳實施方式根據示例性實施例的一方面,提供了一種對圖像編碼的方法,所述方法包括通過將預定塊變換到頻域來產生第一頻率系數矩陣;通過基于角參數執行第一頻率系數矩陣的行之間或列之間的一個或多個值的部分交換來產生第二頻率系數矩陣;對第二頻率系數矩陣進行量化;對第二頻率系數矩陣和關于角參數的信息進行熵編碼,其中,角參數是指示行之間和列之間的一個或多個值的部分交換的水平的參數。根據示例性實施例的另一方面,提供了一種圖像編碼設備,包括變換器,通過將預定塊變換到頻域來產生第一頻率系數矩陣,通過基于角參數執行第一頻率系數矩陣的行之間或列之間的一個或多個值的部分交換來產生第二頻率系數矩陣;量化單元,對第二頻率系數矩陣進行量化;熵編碼器,對第二頻率系數矩陣和關于角參數的信息進行熵編碼,其中,角參數是指示行之間和列之間的一個或多個值的部分交換的水平的參數。根據示例性實施例的另一方面,提供了一種對圖像解碼的方法,所述方法包括對第二頻率系數矩陣和關于角參數的信息進行熵解碼;對第二頻率系數矩陣進行逆量化;通過基于角參數執行第二頻率系數矩陣的行之間或列之間的一個或多個值的部分交換來產生第一頻率系數矩陣;將第一頻率系數矩陣逆變換到像素域,并重構預定塊,其中,角參數是指示行之間和列之間的一個或多個值的部分交換的水平的參數。根據示例性實施例的另一方面,提供了一種圖像解碼設備,包括熵解碼器,對第二頻率系數矩陣和關于角參數的信息進行熵解碼;逆量化單元,對第二頻率系數矩陣進行逆量化;逆變換器,通過基于角參數執行第二頻率系數矩陣的行之間或列之間的一個或多個值的部分交換來產生第一頻率系數矩陣;將第一頻率系數矩陣逆變換到像素域,并重構預定塊,其中,角參數是指示行之間和列之間的一個或多個值的部分交換的水平的參數。根據示例性實施例的另一方面,提供了一種計算機可讀記錄介質,所述記錄介質存儲用于執行對圖像編碼和對圖像解碼的方法的計算機可讀程序。
具體實施例方式在下文,將參照附圖詳細描述示例性實施例。在本說明書中,“圖像”可表示用于視頻的靜止圖像或運動圖像(即,視頻本身)。圖1是根據示例性實施例的用于對圖像編碼的設備100的框圖。參照圖1,設備100包括最大編碼單位劃分器110、編碼深度確定單元120、圖像數據編碼器130和編碼信息編碼器140。最大編碼單位劃分器110可基于最大編碼單位(其為最大大小的編碼單位)來劃分當前畫面或像條(slice)。即,最大編碼單位劃分器110可劃分當前畫面或像條,以獲得至少一個最大編碼單位。根據示例性實施例,可通過使用最大編碼單位和深度來表示編碼單位。如上所述,
6最大編碼單位表示當前畫面的編碼單位中具有最大大小的編碼單位,深度表示通過分級地減小編碼單位獲得的子編碼單位的大小。隨著深度增加,編碼單位的大小從最大編碼單位減小到最小編碼單位,其中,最大編碼單位的深度被定義為最小深度,最小編碼單位的深度被定義為最大深度。由于編碼單位的大小隨著深度增加而從最大編碼單位減小,所以第k 深度的子編碼單位可包括第(k+n)深度的多個子編碼單位(k和η為等于或大于1的整數)。根據將被編碼的畫面的大小的增加,以較大的編碼單位對圖像編碼可引起較高的圖像壓縮比。然而,如果較大的編碼單位被固定,則考慮到連續改變的圖像特性,無法對圖像進行有效編碼。例如,當對諸如大海或天空的平滑區域編碼時,編碼單位越大,可增加越多的壓縮比。然而,當對諸如人或建筑的復雜區域編碼時,編碼單位越小,壓縮比可增加的越多。因此,根據示例性實施例,針對每個畫面或像條設置不同的最大圖像編碼單位和不同的最大深度。由于最大深度表示編碼單位可減小的最大倍數,最大圖像編碼單位中包括的每個最小編碼單位的大小可根據最大深度被變化地設置。編碼深度確定單元120確定最大深度。可基于率失真(R-D)代價的計算來確定最大深度。可針對每個畫面或像條或者針對每個最大編碼單位來不同地確定最大深度。確定的最大深度被提供給編碼信息編碼器140,根據最大編碼單位的圖像數據被提供給圖像數據編碼器130。最大深度表示具有可被包括在最大編碼單位中的最小大小的編碼單位,S卩,最小編碼單位。換句話講,可根據不同深度將最大編碼劃分成具有不同大小的子編碼單位。稍后將參照圖8Α和圖8Β對此進行詳細描述。另外,可基于具有不同大小的處理單位來預測或變換最大編碼單位中包括的具有不同大小的子編碼單位。換句話講,設備100可基于具有各種大小和各種形狀的處理單位來對圖像執行多個處理操作。為了對圖像數據編碼,可執行諸如預測、變換和熵編碼的處理操作,其中,可對每個操作使用具有相同大小的處理單位,或者可對每個操作使用具有不同大小的處理單位。例如,設備100可選擇與編碼單位不同的處理單位,以預測編碼單位。當編碼單位的大小是2ΝΧ2Ν(其中,N為正整數)時,用于預測的處理單位可以是 2ΝΧ2Ν、2ΝΧΝ、ΝΧ2Ν、ΝΧΝ。換句話講,可基于具有由此編碼單位的高度和寬度中的至少一個被均除以2的形狀的處理單位來執行運動預測。以下,作為預測基礎的處理單位被定義為“預測單位”。預測模式可以是幀內模式、幀間模式和跳過模式中的至少一個。可僅對具有特定大小或形狀的預測單位執行特定預測模式。例如,可僅對形狀是正方形的大小為2ΝΧ2Ν和 NXN的預測單位執行幀內模式。此外,可僅對大小為2ΝΧ2Ν的預測單位執行跳過模式。如果在編碼單位中存在多個預測單位,則在對每個預測單位執行了預測之后,可選擇具有最少編碼誤差的預測模式。可選擇地,設備100可基于大小與編碼單位不同的處理單位來對圖像數據執行到頻率的變換。針對編碼單位中的頻率變換,可基于大小等于或小于編碼單位的大小的處理單位來執行頻率變換。以下,作為頻率變換基礎的處理單位被定義為“變換單位”。頻率變換可以是任何變換例如,離散余弦變換(DCT)或Karhunen Loeve變換(KLT)。編碼深度確定單元120可基于拉格朗日乘法器通過使用RD優化來確定最大編碼
7單位中包括的子編碼單位。換句話講,編碼深度確定單元120可確定從最大編碼單位劃分的多個子編碼單位的形狀,其中,所述多個子編碼單位根據其深度具有不同的大小。圖像數據編碼器130基于由編碼深度確定單元120確定的劃分形狀通過對最大編碼單位編碼來輸出比特流。編碼信息編碼器140對關于由編碼深度確定單元120確定的最大編碼單位的編碼模式的信息進行編碼。換句話講,編碼信息編碼器140通過對關于最大編碼單位的劃分形狀的信息、關于最大深度的信息、關于針對每個深度的子編碼單位的編碼模式的信息進行編碼來輸出比特流。關于子編碼單位的編碼模式的信息可包括關于子編碼單位的預測單位的信息、關于針對每個預測單位的預測模式的信息、關于子編碼單位的變換單位的信息。由于針對每個最大編碼單位存在具有不同大小的子編碼單位,并且針對每個子編碼單位必須確定關于編碼模式的信息,所以可針對一個最大編碼單位確定關于至少一個編碼模式的信息。設備100可根據深度的增加將最大編碼單位的高度和寬度均除以2來產生子編碼單位。即,當第k深度的編碼單位的大小是2NX2N時,第(k+Ι)深度的編碼單位的大小是 NXN。因此,根據示例性實施例的設備100可考慮圖像特性基于最大深度和最大編碼單位的大小來確定每個最大編碼單位的最優劃分形狀。通過考慮圖像特性變化地調整最大編碼單位的大小,并通過將最大編碼單位劃分成不同深度的子編碼單位對圖像編碼,可更有效地對具有各種分辨率的圖像進行編碼。圖2是根據示例性實施例的用于對圖像解碼的設備200的框圖。參照圖2,設備200包括圖像數據獲取單元210、編碼信息提取單元220和圖像數據解碼器230。圖像數據獲取單元210通過解析由設備200接收的比特流根據最大編碼單位來獲取圖像數據,并將所述圖像數據輸出到圖像數據解碼器230。圖像數據獲取單元210可從當前畫面或像條的頭中提取關于當前畫面或像條的最大編碼單位的信息。換句話講,圖像數據獲取單元210按最大編碼單位劃分比特流,從而圖像數據解碼器230可根據最大編碼單位對圖像數據解碼。編碼信息提取單元220通過解析由設備200接收的比特流從當前畫面的頭中提取關于最大編碼單位、最大深度、最大編碼單位的劃分形狀、子編碼單位的編碼模式的信息。 關于劃分形狀的信息和關于編碼模式的信息被提供給圖像數據解碼器230。關于最大編碼單位的劃分形狀的信息可包括與根據最大編碼單位中包括的深度具有不同大小的子編碼單位有關的信息,關于編碼模式的信息可包括與根據子編碼單位的預測單位有關的信息、關于預測模式的信息和關于變換單位的信息。圖像數據解碼器230通過基于由編碼信息提取單元220提取的信息對每個最大編碼單位的圖像數據解碼來恢復當前畫面。編碼信息解碼器230可基于關于最大編碼單位的劃分形狀的信息來對最大編碼單位中包括的子編碼單位解碼。解碼處理可包括具有幀內預測和運動補償的預測處理、逆變換處理。圖像數據解碼器230可基于關于預測單位的信息和關于預測模式的信息來執行幀內預測或幀間預測,以對預測單位進行預測。圖像數據解碼器230還可基于關于子編碼單位的變換單位的信息來對每個子編碼單位執行逆變換。圖3示出根據示例性實施例的分級編碼單位。參照圖3,根據示例性實施例的分級編碼單位可包括尺寸為64X64、32X32、 16X16,8X8,4X4的編碼單位。除了這些具有完全正方形的編碼單位之外,還可存在尺寸為 64X32、32X64、32X16、16X32、16X8、8X16、8X4、4X8 的編碼單位。參照圖3,針對分辨率為1920 X 1080的圖像數據310,最大編碼單位的大小被設置為64X64,最大深度被設置為2。針對分辨率為1920X1080的圖像數據320,最大編碼單位的大小被設置為 64X64,最大深度被設置為3。針對分辨率為352X^8的圖像數據330,最大編碼單位的大小被設置為16 X 16,最大深度被設置為1。當分辨率為高或者數據量大時,優選地,編碼單位的最大大小相對大,以增加壓縮比并準確地反映圖像特性。因此,針對分辨率高于圖像數據330的圖像數據310和320,可選擇64X64作為最大編碼單位的大小。最大深度表示在分級編碼單位中層的總數量。由于圖像數據310的最大深度是2, 因此,根據深度的增加,圖像數據310的編碼單位315可包括長軸大小為64的最大編碼單位以及長軸大小為32和16的子編碼單位。另一方面,由于圖像數據330的最大深度為1,因此,根據深度的增加,圖像數據 330的編碼單位335可包括長軸大小為16的最大編碼單位以及長軸大小為8的編碼單位。然而,由于圖像數據320的最大深度為3,所以,根據深度的增加,圖像數據320的編碼單位325可包括長軸大小為64的最大編碼單位以及長軸大小為32、16、8和4的子編碼單位。由于隨著深度的增加基于較小的子編碼單位對圖像進行編碼,所以示例性實施例適用于對包括更微小場景的圖像進行編碼。圖4是根據示例性實施例的基于編碼單位的圖像編碼器400的框圖。幀內預測器410對當前幀405中的幀內模式的預測單位執行幀內預測,運動估計單元420和運動補償單元425通過使用當前幀405和參考幀495對幀間模式的預測單位執行幀間預測和運動補償。基于從幀內預測單位410、運動估計單元420、運動補償單元425輸出的預測單位來產生殘差值,并且產生的殘差值通過變換器430和量化單元440被輸出為量化的變換系數。量化的變換系數通過逆量化單元460和頻率逆變換器470被恢復成殘差值,恢復的殘差值通過去塊單元480和環路濾波單元490被進行后處理,并被輸出為參考幀495。量化的變換系數可通過熵編碼器450被輸出為比特流455。為了基于根據示例性實施例的編碼方法執行編碼,圖像編碼器400的部件(即,幀內預測器410、運動估計單元420、運動補償單元425、變換器430、量化單元440、熵編碼器 450、逆量化單元460、頻率逆變換器470、去塊單元480和環路濾波單元490)基于最大編碼單位、根據深度的子編碼單位、預測單位和變換單位執行圖像編碼。圖5是根據示例性實施例的基于編碼單位的圖像解碼器500的框圖。比特流505通過解析器510,從而將被解碼的編碼圖像數據和解碼所必需的編碼信息被解析。編碼圖像數據通過熵解碼器520和逆量化器530被輸出為逆量化數據,并通過頻率逆變換器540被恢復為殘差值。殘差值通過被加上幀內預測器550的幀內預測結果或者運動補償單元560的運動補償結果根據編碼單位被恢復。恢復的編碼單位通過去塊單元570和環路濾波單元580被用于隨后的編碼單位或下一畫面的預測。為了基于根據示例性實施例的解碼方法執行解碼,圖像解碼器500的部件(即,解析單元510、熵解碼器520、逆量化單元530、頻率逆變換器M0、幀內預測器550、運動補償單元560、去塊單元570和環路濾波單元580)基于最大編碼單位、根據深度的子編碼單位、預測單位和變換單位執行圖像解碼處理。具體地講,幀內預測器550和運動補償單元560通過考慮最大編碼單位和深度確定子編碼單位中的預測模式和預測單位,頻率逆變換器540通過考慮變換單位的大小執行逆變換。圖6示出根據示例性實施例的最大編碼單位、子編碼單位和預測單位。根據示例性實施例的設備100和設備200考慮圖像特性使用分級編碼單位執行編碼和解碼。最大編碼單位和最大深度可根據圖像特性被自適應地設置,或者根據用戶需求被不同地設置。根據示例性實施例的分級編碼單位結構600示出高和寬為64以及最大深度為4 的最大編碼單位610。深度沿著分級編碼單位結構600的縱軸增加,隨著深度增加,子編碼單位620至650的高度和寬度減小。沿著分級編碼結構600的橫軸示出了最大編碼單位 610以及子編碼單位620至650的預測單位。最大編碼單位610深度為0,編碼單位的大小(S卩,高和寬)為64X64。深度沿著縱軸增加,存在大小為32X32并且深度為1的子編碼單位620、大小為16X16并且深度為 2的子編碼單位630、大小為8X8并且深度為3的子編碼單位640、大小為4X4并且深度為 4的子編碼單位650。大小為4X4并且深度為4的子編碼單位650是最小編碼單位,最小編碼單位可被劃分成多個預測單位,所述多個預測單位中的每一個小于最小編碼單位。參照圖6,根據每個深度沿橫軸示出了預測單位的示例。S卩,深度為0的最大編碼單位610的預測單位可以是大小等于編碼單位610的大小(即,64X64)的預測單位,或者深度為0的最大編碼單位610的預測單位可以是大小為64X32的預測單位612、大小為 32 X 64的預測單位614或者大小為32 X 32的預測單位616,其中,預測單位612、614或616 的大小小于大小為64X64的編碼單位610的大小。深度為1并且大小為32X32的編碼單位620的預測單位可以是大小等于編碼單位620的大小(即,32X32)的預測單位,或者編碼單位620的預測單位可以是大小為 32X16的預測單位622、大小為16X32的預測單位624或者大小為16X 16的預測單位626, 其中,預測單位622、6M或者626的大小小于大小為32X32的編碼單位620的大小。深度為2并且大小為16 X 16的編碼單位630的預測單位可以是大小等于編碼單位630的大小(S卩,16X16)的預測單位,或者編碼單位620的預測單位可以是大小為16X8 的預測單位632、大小為8X 16的預測單位634或者大小為8X8的預測單位636,其中,預測單位632、634或者636的大小小于大小為16 X 16的編碼單位630的大小。深度為3并且大小為8X8的編碼單位640的預測單位可以是大小等于編碼單位 640的大小(即,8X8)的預測單位,或者編碼單位640的預測單位可以是大小為8X4的預測單位642、大小為4X8的預測單位644或者大小為4X4的預測單位646,其中,預測單位642,644或者646的大小小于大小為8X8的編碼單位640的大小。最后,深度為4并且大小為4X4的編碼單位650是最小編碼單位和最大深度的編碼單位,編碼單位650的預測單位可以是大小為4X4的預測單位650、大小為4X2的預測單位652、大小為2X4的預測單元6M或者大小為2X2的預測單位656。圖7示出根據示例性實施例的編碼單位和變換單位。根據示例性實施例的設備100和設備200使用最大編碼單位自身或者使用從最大編碼單位劃分的等于或小于最大編碼單位的子編碼單位執行編碼。在編碼處理中,選擇用于頻率變換的變換單位的大小以不大于相應編碼單位的大小。例如,在當前編碼單位710大小為64X64時,可通過使用大小為32X32的變換單位 720來執行頻率變換。圖8A和圖8B示出根據示例性實施例的編碼單位、預測單位和頻率變換單位的劃分形狀。圖8A示出根據示例性實施例的編碼單位和預測單位。圖8A的左側示出根據示例性實施例的由設備100選擇的劃分形狀,以對最大編碼單位810編碼。設備100將最大編碼單位810劃分成不同形狀,執行編碼,并通過基于R-D 代價對各劃分形狀的編碼結果進行相互比較來選擇最優劃分形狀。當保持原樣對最大編碼單位810編碼為最優時,可在不劃分最大編碼單位810的情況下對最大編碼單位810編碼, 如圖8A和圖8B所示。參照圖8A的左側,通過將深度為0的最大編碼單位810劃分成深度等于或大于1 的子編碼單位來對最大編碼單位810編碼。S卩,最大編碼單位810被劃分成深度為1的四個子編碼單位,深度為1的所有或一些子編碼單位被劃分成深度為2的子編碼單位。深度為1的子編碼單位中位于右上側的子編碼單位和位于左下側的子編碼單位被劃分成深度等于或大于2的子編碼單位。深度等于或大于2的子編碼單位中的一些可被劃分成深度等于或大于3的子編碼單位。圖8A的右側示出最大編碼單位810的預測單位的劃分形狀。參照圖8A的右側,可與最大編碼單位810不同地來劃分最大編碼單位810的預測單位860。換句話講,每個子編碼單位的預測單位可小于相應的子編碼單位。例如,深度為1的子編碼單位中位于右下側的子編碼單位854的預測單位可小于子編碼單位854。另外,深度為2的子編碼單位814、816、850和852中的一些子編碼單位 (814、816、850和852)的預測單位可分別小于子編碼單位814、816、850和852。另外,深度為3的子編碼單位822、832和848的預測單位可分別小于子編碼單位822、832和848。預測單位可具有由此各子編碼單位在高度或寬度方向被均除以2的形狀,或者可具有由此各子編碼單位在高度和寬度方向被均除以4的形狀。圖8B示出根據示例性實施例的預測單位和變換單位。圖8B的左側示出在圖8的右側示出的最大編碼單位810的預測單位的劃分形狀, 圖8B的右側示出最大編碼單位810的變換單位的劃分形狀。參照圖8B的右側,可從預測單位860不同地設置變換單位870的劃分形狀。例如,即使深度為1的編碼單位854的預測單位被選擇具有由此編碼單位854的高度被均除以2的形狀,變換單位可被選擇具有與編碼單位854的大小相同的大小。同樣
11地,即使深度為2的編碼單位814和850的預測單位被選擇具有由此編碼單位814和850 中的每一個的高度被均除以2的形狀,變換單位可被選擇具有與編碼單位814和850中的每一個的原始大小相同的大小。變換單位可被選擇具有比預測單位小的大小。例如,當深度為2的編碼單位852 的預測單位被選擇具有由此編碼單位852的寬度被均除以2的形狀時,變換單位可被選擇具有由此編碼單位852沿著高度和寬度的方向被均除以4的形狀,該形狀具有比預測單位的形狀小的大小。圖9是根據另一示例性實施例的圖像編碼設備900的框圖。圖9的圖像編碼設備900可以是包括在圖1的圖像編碼設備100中的模塊或包括在圖4的圖像編碼器400中的模塊,所述模塊執行稍后將描述的圖像編碼過程。參照圖9, 根據本示例性實施例的圖像編碼設備900包括變換器910、量化單元920和熵編碼器930。變換器910接收預定塊并將預定快變換到頻域。預定塊根據預定變換算法被變換,然后產生頻域的系數。變換器910可使用包括將像素域的塊變換到頻域的系數的多種算法之一。例如,可通過使用離散余弦變換(DCT)或Karhunen Loeve變換(KLT)將預定塊變換到頻域。預定塊可以是殘差塊。此外,預定塊可以是關于圖7或圖8B描述的變換單位的塊。此外,變換器910執行包括在矩陣的行之間和矩陣的列之間交換一個或多個值的后處理,其中,所述矩陣包括產生為變換的結果的頻域的系數,將參照圖10、圖IlA到圖IlC 詳細描述后處理。圖10是根據示例性實施例的變換器910的示圖。參照圖10,變換器910包括變換執行單元1010、旋轉變換(ROT)執行單元1020。變換執行單元1010接收預定塊,將預定塊變換到頻域,并產生頻率系數矩陣。例如,如上所述,通過執行DCT或KLT,可產生包括頻域的系數的頻率系數矩陣。ROT執行單元1020接收由變換執行單元1010產生的頻率系數矩陣,執行R0T,然后產生調整后的頻率系數矩陣。ROT可與這樣的變換對應通過所述變換來對行之間和列之間的一個或多個值進行交換。將參照圖IlA到圖IlC詳細描述ROT。圖IlA到圖IlC示出根據示例性實施例的ROT。ROT執行單元1020對頻率系數矩陣的行之間和列之間的一個或多個值進行部分地交換。現在將參照圖IlA到圖IlC描述頻率系數矩陣的行之間和列之間的交換。根據一個或多個示例性實施例,行之間或列之間的部分交換不指示特定行或特定列的值按一到一對應被無條件交換,而是指示通過使用包括正弦函數的特定函數對兩行之間或兩列之間的值進行部分地交換。例如,根據參數a的值,兩行A和B之間的交換可由等式1定義。等式1行A(新)=cos (a) X 行 A(舊)-sin(a) X 行 B(舊)行B(新)=sin (a) X 行 A(舊)+cos(a) X 行 B(舊)參照等式1,參數“a”用作角。因此,在本發明的一個或多個實施例中,指示DCT變換矩陣的行之間和列之間的部分交換的水平的參數“a”被定義為角參數。在參數“a”的值為0度的情況下,該情況意味著交換未發生。此外,在參數“a”的值為90度的情況下,在行之間發生整體交換。在參數“a”的值具有大于90度小于180度的值的情況下,該情況意味著在行之間發生交換,并且元素值的符號被改變。在參數“a”的值為180度的情況下,在行之間沒有發生交換,但是包括在每行中的所有元素的符號被改變。在一個或多個示例性實施例中,列之間的部分交換以與行之間的部分交換同樣的方式被定義。圖IlA示出對4X4頻率系數矩陣執行ROT的情況。參照圖11A,三個參數α ^ α2 和α 3用于頻率系數矩陣的行之間的部分交換,三個參數α4、α5* α 6用于頻率系數矩陣的列之間的部分交換。圖IlB示出對8X8頻率系數矩陣執行ROT的情況。在圖IlB的情況下,α ^ α 2、 α 3、α 4、α 5禾口 α 6被用于 亍之間的部分交換,α 7、α 8、α 9、α 10、α η禾口 α 12被用于列之間的部分交換。圖IlC示出對大小等于或大于16Χ 16的頻率系數矩陣執行ROT的情況。如以上關于圖IlA和圖IlB的描述,隨著頻率系數矩陣的大小增加,角參數的數量增加。為了對圖IlA的4X4頻率系數矩陣執行R0T,需要六個角參數,為了對圖IlB的8X8 頻率系數矩陣執行R0T,需要12個角參數。雖然以通過對頻率系數矩陣執行ROT來產生調整后的頻率系數矩陣的方式提高了壓縮率,然后對調整后的頻率系數矩陣執行量化和熵編碼,但是如果角參數的數量增加使得系統開銷增加,則數據的總量不減少。因此,預定大小,例如,當對大小等于或大于 16Χ 16的頻率系數矩陣執行ROT時,使用系數采樣。換句話說,如圖IlC中所示,ROT執行單元1020選擇僅包括頻率系數矩陣1010的一些系數的采樣的頻率系數矩陣1120,然后對選擇的頻率系數矩陣1120執行ROT。不對頻率系數矩陣1110的剩余部分1130執行ROT。為了使對具有大的大小的頻率系數矩陣的ROT達到足夠效果,包括在頻率系數矩陣1120中的系數需要具有圖像數據的壓縮效果。因此,ROT執行單元1020只選擇具有低頻分量并且具有除0之外的值的系數,并對這些系數執行ROT。一般地,作為變換結果的產生的頻率系數矩陣包括關于在頻率系數矩陣的左上角的低頻分量的系數。因此,如圖lie中所示,ROT執行單元1020僅選擇位于頻率系數矩陣 1110的左上角的系數,然后執行ROT。在圖IlC的示例中,ROT執行單元1020以與關于圖 IlB的ROT相同的方式對大小為8X8的頻率系數矩陣1120執行ROT。參照圖IlA的對4X4頻率系數矩陣的R0T,根據三個角參數Q^a2* α 3的應用順序獲得不同結果。即,三個角參數彼此不獨立。作為在首先應用角參數Q1然后應用角參數α 2的情況下執行ROT的結果而產生的調整后的頻率系數矩陣不同于作為在首先應用角參數α 2然后應用角參數Ci1的情況下執行ROT的結果而產生的調整后的頻率系數矩陣。 這將參照圖12進行詳細描述。圖12是根據另一示例性實施例的歐拉(Euler)角的示圖。參照圖12,可理解矩陣的行之間或列之間的交換與三維(3D)空間中的坐標軸的旋轉相似。即,三行或三列分別與3D坐標的X軸、Y軸和Z軸對應。針對3D空間中的坐標軸的旋轉,根據哪個軸首先旋轉獲得不同結果。因此,已經嘗試顯示3D空間中的坐標軸的旋轉,在所述嘗試中的代表性嘗試就是歐拉角。
在圖12中,α、β、Y角指示歐拉角。圖12中,X軸、Y軸和Z軸指示旋轉之前的坐標軸,X’軸、Y’軸、ζ’軸指示旋轉之后的坐標軸。N軸是X-Y平面和X’ -Y’平面的相交線。這里,N軸被稱為“節點的線”。角α指示繞Z軸旋轉的X軸和N軸之間的角。角β指示繞N軸旋轉的Z軸和Ζ’ 軸之間的角。角Y指示繞Ζ’軸旋轉的N軸和X’軸之間的角。等式2給出根據歐拉角的坐標軸的旋轉。等式2
,cos/ sinf 0V10 0 V cos α sin α 0、-sin ^ cos 廠 0 0 cos β sin β -sin α cos α 0 、0 0 1 J[o -sin; cosfjL 0 0 Iy第一矩陣指示圍繞Ζ’軸的旋轉。第二矩陣指示圍繞N軸的旋轉。第三矩陣指示圍繞Z軸的旋轉。在一個或多個示例性實施例中,在矩陣的行之間或列之間的交換可被指示為使用歐拉角的坐標軸的旋轉。返回參照圖9和圖10,變換器910的ROT執行單元1020對頻率系數矩陣執行R0T, 從而產生調整后的頻率系數矩陣。調整后的頻率系數矩陣被輸入到量化單元920。量化單元920根據預定量化步長對包括在調整后的頻率系數矩陣中的系數進行量化,熵編碼器930對量化的調整后的頻率系數矩陣執行熵編碼。可通過使用上下文自適應變量算術編碼(CABAC)或上下文自適應變長編碼(CAVLC)來執行熵編碼。在由于頻率系數矩陣1110的大的大小而僅對只包括一些系數的頻率系數矩陣1120執行ROT的情況下, 對包括頻率系數矩陣1120和剩余部分1130的頻率系數矩陣1110執行量化然后執行熵編碼,其中,頻率系數矩陣1120包括旋轉變換的一些系數。熵編碼器930對在由變換器910執行的ROT中使用的角參數執行熵編碼,圖像編碼設備900根據以下過程確定用于ROT的最佳角參數。為了有效地執行壓縮,為了最佳角參數需要搜索最佳角參數。然而,這是對參數具有強烈非平滑度依賴性的多參數問題。為了解決該問題,使用蒙特卡羅(Monte Carlo)方法。這里,在蒙特卡羅方法中可使用萊默(Lehmer)隨機序列數以產生隨機點。僅可存儲或發送指示序列數的一個整數,而不是存儲或發送用作參數的角參數。因此,可減少通知解碼器在ROT中使用的角參數所必需的系統開銷。S卩,將被考慮以確定最佳角參數的組合的內容被陳述如下。1、變換矩陣的可逆變換2、用于更有效編碼的能量的重排列3、通過使用萊默隨機序列數而增加的信息的最小化返回參照圖IlA到圖11C,通過頻率系數矩陣的旋轉被修正的部分被涂為黑色,未被修正的部分被涂為白色。在圖IlA的4X4頻率系數矩陣中,在根據行之間和列之間的交換對十五個系數的修正中涉及六個角參數。在圖IlB的8X8頻率系數矩陣中,在六十個系數的修正中涉及十二個角參數。參照圖11A,對于行之間的交換,三個見參數是必須的,對于列之間的交換,三個角參數也是必須的。因此,針對4X4塊,六個角參數是必須的。
參照圖11B,對于行之間的交換,六個見參數是必須的,對于列之間的交換,六個角參數也是必須的。因此,針對8X8塊,十二個角參數是必須的。圖像編碼設備900可根據以下步驟執行ROT。步驟1-正交變換家族參數化步驟2-蒙特卡羅方法步驟3-萊默偽隨機數步驟4-用于最佳角參數的音域(diapason)的定位步驟5-準最佳要素(basis)雖然通過使用ROT提高了圖像的壓縮率,但是如果添加太多的參數,則視頻信號的發送可達到比壓縮更好的結果。換句話說,存在在壓縮率和附加參數的系統開銷之間的交替使用。例如,雖然4X4頻率系數矩陣中的圖像信號被壓縮到接近0的大小,但是如果壓縮需要十六個附加參數,則可不需要執行ROT。在這方面,可更有效地將十六個像素值發送到解碼器。因此,圖像信號的壓縮和附加系統開銷的最小化兩者是重要的。為此,在根據以下步驟最小化系統開銷的同時,ROT執行單元1020搜索最佳角參數。<步驟1-正交變換家族參數化>為了選擇用于當前數據的最佳變換,需要要素調整。要素的旋轉被選擇作為要素修改。從而旋轉角的集合唯一地描述要素修改。介紹過的旋轉角以與歐拉角描述3D空間中的固態體的旋轉相同的方式來描述要素修改。該相似性解釋該算法的名稱。為了修正要素,可主要選擇要素的旋轉。在一個或多個示例性實施例中,通過使用角參數執行要素的選擇。這里,使用通過利用角參數執行的要素的旋轉。角參數可以是歐拉角。然而,角參數不限于歐拉角,因此可包括可指示矩陣的行之間和列之間的一個或多個值的部分交換的水平的其它。以下,現在將描述涉及使用歐拉角的示例。旋轉由等式3通過使用頻率系數矩陣D的左乘法Rh iz。ntal和右乘法RVCTti。al定義。等式3D,= RhoriZontalXDX Rvertical(D’指示被旋轉變換的調整后的頻率系數矩陣。)矩陣Rtoizmtal執行頻率系數矩陣D的行之間的交換。RVCTti。al執行頻率系數矩陣D 的列之間的交換。4X4±夬中的矩陣Rtoiz。ntal的示例由等式4給出。等式4
B C O^ DEFO
GHIO ,0 0 0 IyA = cos α cos γ -sin α cos β sin yB = -sin α cos y -cos α cos β sin yC = sin^ sin y
15
D = cos α sin γ +sin α cos β cos γE = -sin α sin γ +cos α cos β cos γF = -sin β cos γG = sin α sin βH =cos α sin βI = Cos^在等式4中,α、β、Υ指示歐拉角。因此,對于4X4頻率系數矩陣,歐拉角通過六個參數αι、α2、... α 6的組描述十二個頻率系數的修正。對于8X8頻率系數矩陣,十二個歐拉角α-ρ α 2、... Ci12描述六十個頻率系數的修正。<步驟2-蒙特卡羅方法>在自由度減小到六個角參數(8X8頻率系數矩陣情況下的十二個角參數)之后, 需要考慮到節省比特檢查優化問題。即,需要對選擇角參數的組的方法進行優化。對使用高維域的參數(六個或十二個角參數)的優化是困難的,并且圖像的壓縮對于使用的參數具有非平滑依賴性。一般地,通過使用蒙特卡羅方法來解決該困難。蒙特卡羅方法的核心在于執行多個嘗試。即,從幾個點測量壓縮率,然后選擇最佳點。在蒙特卡羅方法中,多維域中的隨機點的質量是很重要的(具體地,根據維數的升高質量更加重要)。偽隨機點優選為均衡柵格點。這將參照二維OD)情況在圖13中描述。圖13示出根據另一示例性實施例的偽隨機點。圖13的左示圖示出均衡柵格點,圖13的右示圖示出根據偽隨機處理的第一十六個占
I ;^ O在使用均衡柵格點的情況下,不管蒙特卡羅方法的十六個點,僅針對第一參數 (和第二參數)檢查四個不同值。另一方面,在使用偽隨機的情況下,通過十六個點針對第一參數(和第二參數)檢查十六個不同值。即,當使用偽隨機點時,針對十六個點充分檢查第一參數和第二參數的各個值。具體地說,針對蒙特卡羅方法,根據參數的數量的增加,偽隨機點的使用比均衡柵格點的使用更有益。<步驟3-萊默偽隨機數>可通過使用各種方法產生偽隨機序列。最有效的方法之一是使用萊默數。這是人工產生的序列,并接近于被均衡地分布的真實隨機數。用于產生萊默序列的算法是公知的, 因此這里省略對其的詳細描述。根據示例性實施例,提供至少IO13個不重復點。萊默序列是人造序列,并且用于產生萊默序列的算法是公知的,因此解碼器可容易地對其進行再計算。通過使用萊默序列,可通過使用一個信息(即,隨機序列中的數量)來對角參數的組合編碼。在六維(在4X4頻率系數矩陣的情況下)或十二維(在8X8頻率系數矩陣的情況下)參數域中,產生與角參數的組合對應的隨機點,在通過使用隨機點執行壓縮之后測量壓縮率,然后選擇最佳參數點。與最佳參數點對應的萊默序列的數量被存儲或發送,而不是存儲或發送角參數的組合。如果對2Ρ個點(即,蒙特卡羅方法中的角參數的組合)執行R0T,則只有ρ比特的信息被包括作為系統開銷。<步驟4-用于最佳角參數的音域的定位>
16
根據一個或多個示例性實施例,最佳旋轉角具有接近0度或180度(π弧度)的值。這意味著用于轉換到頻域的要素(例如,DCT要素或KLT要素)幾乎被優化。因此,根據一個或多個示例性實施例的角參數僅用于執行行之間和列之間的一個或多個值的部分交換(對在歐拉角的情況下的接近0度的角),或執行所述部分交換和要素元素的符號的改變(在歐拉角的情況下接近180度的角)。即,用于一個或多個示例性實施例的參數的音域被限制為域的特定部分,該限制被稱為定位。通過對參數的音域執行定位,關于系統開銷的比特的數量減小。如果假設圖13 中的將被檢查的點被限制為特定部分,則將被檢查以搜索角參數的最佳組合的點的數量減少。此外,如果將被檢查的點的數量是固定的(即,在用作系統開銷的比特的數量是固定的情況下),并且應用定位,則可檢查在較小角中的更多點,從而可增加壓縮率。〈步驟5-準最佳要素〉通過執行上述步驟1至步驟4,可關于所有塊(大小等于或大于4X4和8X8的塊)選擇最佳要素。可以以高比特率將具有8或10字節的系統開銷添加到每個塊。當比特率減小時,優選選擇準最佳要素。準最佳要素意味著相同的旋轉應用于包括在像條或畫面中的所有變換單位的組或變換單位的一些。如果最佳選擇應用于每個塊,則關于圖像的壓縮率增加,而系統開銷也增加。為了確定變換單位、變換單位的組合、像條和畫面中的哪個單位應用了相同旋轉, 可執行各種試驗。在以低比特率變換到頻域之后,頻率系數矩陣的許多部分中的量化系數值變為0。 因此,針對頻率系數矩陣的部分,不必須執行ROT和發送關于旋轉角度值的附加信息。圖像編碼設備900通過使用蒙特卡羅方法對多個角參數的組合執行R0T,并重復地執行量化和熵編碼,從而確定角參數的最佳組合。此外,圖像編碼設備900不對角參數編碼,而將萊默偽隨機序列數編碼為關于確定的角參數的最佳組合的信息。這里,通過使用定位和準最佳要素,關于角參數的信息可以以更高的效率被編碼。圖14是根據另一示例性實施例的圖像解碼設備1400的框圖。圖14的圖像解碼設備1400可以是包括在圖2的圖像解碼設備200中的模塊或包括在圖5的圖像解碼器500 中的模塊,并且圖像解碼設備1400執行稍后描述的圖像解碼過程。參照圖14,圖像解碼設備1400包括熵解碼器1410、逆量化器1420和逆變換器1430。熵解碼器1410接收比特流,并對預定塊的調整后的頻率系數矩陣執行熵解碼。調整后的頻率系數矩陣以如下方式產生通過將預定塊變換到頻域來產生頻率系數矩陣,并且對頻率系數矩陣執行ROT。此外,對于逆R0T,熵解碼器1410可對關于在ROT中使用的角參數的信息解碼。與熵編碼器930類似,熵解碼器1410通過使用CABAC或CAVLC執行熵解碼。逆量化器1420對由熵解碼器1410熵解碼的調整后的頻率系數矩陣逆量化。根據編碼操作的量化步驟執行逆量化。逆變換器1430通過對調整后的頻率系數矩陣執行逆ROT來產生頻率系數矩陣,并將頻率系數矩陣逆變換到像素域。這將參照圖15進行詳細描述。
圖15是根據另一示例性實施例的逆變換器1430的示圖。參照圖15,逆變換器1430包括逆ROT執行單元1510和逆變換執行單元1520。逆ROT執行單元1510對從逆量化單元1420接收的逆量化的調整后的頻率系數矩陣執行逆ROT。逆ROT執行單元1510逆執行關于圖IlA到圖11C、圖12和圖13描述的 ROT。這里,逆ROT執行單元1510可通過參考關于由熵解碼器1410熵解碼的角參數的信息來執行逆ROT。根據關于角參數的信息,調整后的頻率系數矩陣的行之間和列之間的一個或多個值被部分交換,從而產生頻率系數矩陣。在對僅包括頻率系數矩陣1110的一些系數的頻率系數矩陣1120執行ROT的情況下,對僅包括所述一些系數的頻率系數矩陣1120執行逆R0T,從而產生頻率系數矩陣1110。逆變換執行單元1520從逆ROT執行單元1510接收頻率系數矩陣,并將頻率系數矩陣變換到像素域。通過逆執行DCT或KLT,逆變換執行單元1520可對頻率系數矩陣逆變換。作為逆變換的結果,重構像素域的預定塊。圖16是根據示例性實施例的對圖像編碼的方法的流程圖。參照圖16,在操作1610,圖像編碼設備通過將預定塊變換到頻域來產生頻率系數矩陣。圖像編碼設備接收預定塊,對預定塊執行DCL或KLT,然后產生包括頻域的系數的頻率系數矩陣。在操作1620,圖像編碼設備通過執行在操作1610中產生的頻率系數矩陣的行之間和列之間的一個或多個值的部分交換來產生調整后的頻率系數矩陣。圖像編碼設備通過對頻率系數矩陣執行參照圖IlA到11C、圖12和圖13描述的ROT來產生調整后的頻率系數矩陣。當頻率系數矩陣的大小是大的(例如,等于或大于16X16的大小)時,可選擇僅包括頻率系數矩陣的一些系數的矩陣,然后可對僅包括所述一些系數的矩陣執行ROT。在僅包括一些系數的矩陣的選擇中,可選擇僅包括關于低頻分量的系數的矩陣。在操作1630,圖像編碼設備對在操作1620產生的調整后的頻率系數矩陣進行量化。根據預定量化步長對調整后的頻率系數矩陣進行量化。在操作1640,圖像編碼設備對在操作1630量化的調整后的頻率系數矩陣執行熵編碼。通過使用CABAC或CAVLC執行熵編碼。在操作1640,圖像編碼設備還對關于在操作 1620在行之間和列之間的一個或多個值的部分交換中使用的角參數的信息執行熵編碼。所述角參數是指示行之間和列之間的一個或多個值的部分交換的水平的參數。圖像編碼設備可對多個角參數的組合重復地執行操作1620至操作1640,從而可確定最佳角參數。通過對多個角參數的組合重復地執行編碼,可選擇指示最佳壓縮率的角參數。可通過使用蒙特卡羅方法選擇多個角參數的組合,并且多個角參數的組合可與萊默偽隨機數對應。在多個角參數的組合與萊默偽隨機數對應的情況下,在操作1640被編碼的關于角參數的信息可以是與確定的最佳角參數對應的萊默偽隨機序列數。圖17是根據另一示例性實施例的對圖像解碼的方法的流程圖。參照圖17,在操作1710,圖像解碼設備接收關于預定塊的比特流,并對關于角參數的信息和調整后的頻率系數矩陣執行熵解碼。調整后的頻率系數矩陣是通過對所有的頻率系數矩陣或一些頻率系數矩陣執行ROT形成的矩陣。
在操作1720,圖像解碼設備對在操作1710被熵解碼的調整后的頻率系數矩陣進行逆量化。圖像解碼設備根據在圖像解碼中使用的量化步長對調整后的頻率系數矩陣的系數進行逆量化。在操作1730,圖像解碼設備通過執行在操作1720被逆量化的調整后的頻率系數矩陣的行之間和列之間的一個或多個值的部分交換來產生頻率系數矩陣。圖像解碼設備通過逆執行參照圖IlA到圖11C、圖12和圖13描述的ROT來產生評論系數矩陣,其中,通過參考關于在操作1710中被熵解碼的角參數的信息來逆執行ROT。如上所述,在僅包括頻率系數矩陣的一些系數的矩陣在編碼過程中被旋轉地變換的情況下,對僅包括一些系數的矩陣執行逆R0T,從而產生頻率系數矩陣。在操作1740,圖像解碼設備對在操作1730產生的頻率系數矩陣進行逆變換。通過對頻率系數矩陣執行DCT或KLT,重構頻域的塊。如上所述,根據示例性實施例的對圖像編碼和解碼的方法和設備可基于固態數學基礎以更高的壓縮率對頻率系數矩陣編碼,從而可顯著地提高整體圖像編碼操作的壓縮率。示例性實施例還可被實施為計算機可讀記錄介質上的計算機可讀代碼。計算機可讀記錄介質是可存儲數據的任何數據存儲裝置,所述數據可由計算機系統讀取。計算機可讀記錄介質的示例包括只讀存儲器(ROM)、隨機存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光學數據存儲裝置。計算機可讀記錄介質還可被分布到聯網的計算機系統從而計算機可讀代碼以分布方式被存儲和執行。例如,根據一個或多個示例性實施例的圖像編碼設備、圖像解碼設備、圖像編碼器和圖像解碼器中的每個可包括連接到如圖1-2、圖4-5、圖9-10和圖14-15中示出的設備中的每個單元的總線,并且包括連接到總線的至少一個處理器。此外,根據一個或多個示例性實施例的圖像編碼設備、圖像解碼設備、圖像編碼器和圖像解碼器中的每個可包括連接到至少一個處理器的存儲器從而存儲命令、接收的消息或產生的消息,并執行命令,其中,所述至少一個處理器連接到總線。雖然具體地示出了示例性實施例,但是本領域普通技術人員將理解,在不脫離由權利要求限定的本發明的精神和范圍的情況下,可以對其進行形式和細節的各種改變。應僅以說明意義考慮示例性實施例,而不是為了限制的目的。因此,本發明的范圍不是由示例性實施例的詳細描述限定的,而是由權利要求限定的。
權利要求
1.一種對圖像編碼的方法,所述方法包括產生第一頻率系數矩陣;通過基于角參數執行第一頻率系數矩陣的至少兩行之間或至少兩列之間的一個或多個值的部分交換來產生第二頻率系數矩陣; 對第二頻率系數矩陣進行量化; 對第二頻率系數矩陣和關于角參數的信息進行熵編碼,其中,角參數是這樣的參數,所述參數指示第一頻率系數矩陣的至少兩行之間或至少兩列之間的一個或多個值的部分交換的水平。
2.如權利要求1所述的方法,其中,角參數是關于歐拉角的參數。
3.如權利要求1所述的方法,其中,第二頻率系數矩陣的產生步驟包括將用于執行第一頻率系數矩陣的至少兩行之間的部分交換的矩陣乘以第一頻率系數矩陣的左側,將用于執行第一頻率系數矩陣的至少兩列之間的部分交換的矩陣乘以第一頻率系數矩陣的右側。
4.如權利要求3所述的方法,其中,用于執行第一頻率系數矩陣的至少兩行之間的部分交換的矩陣為
5.如權利要求1所述的方法,還包括針對不同的角參數重復地執行以下操作通過執行第一頻率系數矩陣的至少兩行之間或至少兩列之間的一個或多個值的部分交換來產生第二頻率系數矩陣,對第二頻率系數矩陣進行量化,對第二頻率系數矩陣進行熵編碼;從不同角參數中選擇與最高壓縮率對應的角參數。
6.如權利要求5所述的方法,其中,從不同角參數中選擇角參數的步驟包括 針對不同角參數并通過使用蒙特卡羅方法重復地執行以下操作通過執行第一頻率系數矩陣的至少兩行之間或至少兩列之間的一個或多個值的部分交換來產生第二頻率系數矩陣,對第二頻率系數矩陣進行量化,對第二頻率系數矩陣進行熵編碼; 從不同角參數中選擇與最高壓縮率對應的角參數。
7.如權利要求5所述的方法,其中,選擇角參數的步驟包括 將不同角參數與隨機序列對應;針對不同角參數重復地執行以下操作通過執行第一頻率系數矩陣的至少兩行之間或至少兩列之間的一個或多個值的部分交換來產生第二頻率系數矩陣,對第二頻率系數矩陣進行量化,對第二頻率系數矩陣進行熵編碼;從不同角參數中選擇與最高壓縮率對應的角參數,其中,對關于角參數的信息進行熵編碼的步驟包括將與選擇的角參數對應的隨機序列的數量編碼為關于角參數的信息。
8.如權利要求1所述的方法,其中,產生第二頻率系數矩陣的方法包括 選擇僅包括第一頻率系數矩陣的一些系數的矩陣;通過基于角參數執行包括所選擇的系數的矩陣的至少兩行之間或至少兩列之間的一個或多個值的部分交換來產生第二頻率系數矩陣。
9.一種圖像編碼設備,包括變換器,產生第一頻率系數矩陣,通過基于角參數執行第一頻率系數矩陣的至少兩行之間或至少兩列之間的一個或多個值的部分交換來產生第二頻率系數矩陣; 量化單元,對第二頻率系數矩陣進行量化; 熵編碼器,對第二頻率系數矩陣和關于角參數的信息進行熵編碼, 其中,角參數是這樣的參數,所述參數指示第一頻率系數矩陣的至少兩行之間或至少兩列之間的一個或多個值的部分交換的水平。
10.一種對圖像解碼的方法,所述方法包括對第二頻率系數矩陣和關于角參數的信息進行熵解碼; 對第二頻率系數矩陣進行逆量化;通過基于角參數執行第二頻率系數矩陣的至少兩行之間或至少兩列之間的一個或多個值的部分交換來產生第一頻率系數矩陣;將第一頻率系數矩陣逆變換為像素域,并重構預定塊,其中,角參數是這樣的參數,所述參數指示第二頻率系數矩陣的至少兩行之間或至少兩列之間的一個或多個值的部分交換的水平。
11.如權利要求10所述的方法,其中,角參數是關于歐拉角的參數。
12.如權利要求10所述的方法,其中,第一頻率系數矩陣的產生步驟包括將用于執行第二頻率系數矩陣的至少兩行之間的部分交換的矩陣乘以第二頻率系數矩陣的左側,將用于執行第二頻率系數矩陣的至少兩列之間的部分交換的矩陣乘以第二頻率系數矩陣的右側。
13.一種圖像解碼設備,包括熵解碼器,對第二頻率系數矩陣和關于角參數的信息進行熵解碼; 逆量化單元,對第二頻率系數矩陣進行逆量化;逆變換器,通過基于角參數執行第二頻率系數矩陣的至少兩行之間或至少兩列之間的一個或多個值的部分交換來產生第一頻率系數矩陣;將第一頻率系數矩陣逆變換到像素域,并重構預定塊,其中,角參數是這樣的參數,所述參數指示第二頻率系數矩陣的至少兩行之間或至少兩列之間的一個或多個值的部分交換的水平。
14.一種記錄有當被計算機執行時執行對圖像編碼的方法的程序的計算機可讀記錄介質,所述方法包括產生第一頻率系數矩陣;通過基于角參數執行第一頻率系數矩陣的至少兩行之間或至少兩列之間的一個或多個值的部分交換來產生第二頻率系數矩陣; 對第二頻率系數矩陣進行量化; 對第二頻率系數矩陣和關于角參數的信息進行熵編碼,其中,角參數是這樣的參數,所述參數指示第一頻率系數矩陣的至少兩行之間或至少兩列之間的一個或多個值的部分交換的水平。
15.一種記錄有當被計算機執行時執行對圖像解碼的方法的程序的計算機可讀記錄介質,所述方法包括對第二頻率系數矩陣和關于角參數的信息進行熵解碼; 對第二頻率系數矩陣進行逆量化;通過基于角參數執行第二頻率系數矩陣的至少兩行之間或至少兩列之間的一個或多個值的部分交換來產生第一頻率系數矩陣;將第一頻率系數矩陣逆變換到像素域,并重構預定塊,其中,角參數是這樣的參數,所述參數指示第二頻率系數矩陣的至少兩行之間或至少兩列之間的一個或多個值的部分交換的水平。
全文摘要
提供了一種對圖像編碼的方法和設備。所述方法和設備包括對第二頻率系數矩陣進行量化和熵編碼,其中,通過執行第一頻率系數矩陣的行之間和列之間的一個或多個值的部分交換來產生第二頻率系數矩陣。還提供了一種用于對通過使用用于對圖像編碼的方法和設備編碼的圖像數據解碼的方法和設備。
文檔編號H04N7/26GK102484702SQ201080036019
公開日2012年5月30日 申請日期2010年8月13日 優先權日2009年8月13日
發明者亞歷山大·阿爾辛, 艾琳娜·阿爾辛娜, 范迪姆·謝廖金 申請人:三星電子株式會社