用于編碼和解碼量化矩陣的方法和使用其的設備的制作方法
【專利摘要】本發明涉及用于編碼和解碼量化矩陣的方法以及使用其的設備,根據本發明的用于編碼量化矩陣的方法包括以下步驟:確定要用于量化使用的量化矩陣并量化;確定用于量化矩陣的量化使用的預測方法;和基于確定的預測方法來編碼量化矩陣信息,其中該預測方法可以是量化矩陣中的系數間的預測方法或量化矩陣的復制。
【專利說明】用于編碼和解碼量化矩陣的方法和使用其的設備
【技術領域】
[0001]本發明涉及圖像編碼和解碼技術,并更具體地,涉及用于編碼和解碼量化索引的方法和設備。
【背景技術】
[0002]具有高清晰度(HD)分辨率的廣播服務最近已在全世界以及本地擴展。因此,許多用戶已變得習慣于具有高分辨率和高畫面質量的圖像,并且許多機構激勵下一代圖像裝置的開發。
[0003]因為存在對于具有比HDTV高四倍的分辨率的超高清晰度(UHD)以及HDTV的增長興趣,所以存在對于具有更高分辨率和更高畫面質量的圖像的壓縮技術的需求。
[0004]關于圖像壓縮,可通過預測來編碼關于當前畫面的像素的信息。例如,能使用其中根據時間上在前和/或時間上在后的畫面來預測當前畫面中包括的像素值的幀間預測技術、和其中使用關于當前畫面中的像素的信息來預測當前畫面中包括的像素值的幀內預測技術。
[0005]此外,使用其中向具有高出現頻率的碼元分配短符號并向具有低出現頻率的碼元分配長符號的熵編碼技術,能改進編碼效率和降低傳送信息的數量。
[0006]在該情況下,更有效地執行通過預測生成的殘差塊的變換系數的量化的方法是有問題的。
【發明內容】
[0007]本發明的目的是提供用于基于可用的變換塊的尺寸來限制量化矩陣編碼/解碼的方法和設備。
[0008]本發明的另一目的是提供編碼/解碼方法和設備,其中能在序列、畫面或片段中根據每一變換塊的尺寸或量化矩陣的類型,來混合和使用缺省量化矩陣和非缺省量化矩陣。
[0009]本發明的另一目的是提供編碼/解碼方法和設備,其中基于參考量化矩陣ID來使用缺省量化矩陣。
[0010]本發明的另一目的是提供編碼/解碼方法和設備,其通過僅當存在參考量化矩陣時才執行量化矩陣的預測來增加編碼效率。
[0011]本發明的另一目的是提供用于對DC矩陣系數有效執行預測和編碼/解碼的方法和設備。
[0012]本發明的另一目的是提供用于從和當執行編碼/解碼時的量化矩陣具有相同尺寸的量化矩陣、執行量化矩陣的預測的編碼/解碼方法和設備。
[0013]本發明的另一目的是提供用于基于量化矩陣內的第一系數來執行預測和編碼/解碼的方法和設備。
[0014]本發明的實施例提供了一種用于編碼量化矩陣的方法,包括:確定在量化中要使用的量化矩陣并量化,確定在量化中使用的量化矩陣的預測方法,和根據確定的預測方法來編碼關于量化矩陣的信息,其中該預測方法可以是預測量化矩陣中的系數間預測方法的方法和量化矩陣的拷貝中的任一個。
[0015]本發明的另一實施例提供了一種用于解碼量化矩陣的方法,包括:確定要在反量化中使用的量化矩陣的預測方法,和根據確定的預測方法來解碼要在反量化中使用的量化矩陣,其中該量化矩陣的預測方法可以是量化矩陣內的系數間預測方法和量化矩陣的拷貝中的任一個。
[0016]根據本發明,通過基于可用的變換塊的尺寸限制量化矩陣的編碼,能改進編碼效率并能降低計算的復雜程度。
[0017]根據本發明,通過根據序列、畫面、或片段內的每一變換塊的尺寸或量化矩陣的類型混合和使用缺省量化矩陣和非缺省量化矩陣,能改進編碼效率并能增加編碼器選擇量化矩陣時的自由度。
[0018]根據本發明,通過基于參考量化矩陣ID編碼/解碼關于是否將使用缺省量化矩陣的信息、或者僅當存在參考量化矩陣時才執行量化矩陣的預測,能改進編碼效率,能降低計算的復雜程度,并能增加編碼器選擇量化矩陣時的自由度。
[0019]根據本發明,通過預測和編碼/解碼DC矩陣系數或從和當執行編碼/解碼時的量化矩陣具有相同尺寸的量化矩陣執行量化矩陣的預測,能改進編碼效率,能降低計算的復雜程度,并能增加編碼器選擇量化矩陣時的自由度。
[0020]此外,根據本發明,通過使用頻繁出現的系數值編碼/解碼量化矩陣內的第一系數,能改進編碼效率并能降低計算的復雜程度。
【專利附圖】
【附圖說明】
[0021]圖1是示出了根據其中應用本發明的圖像編碼設備的實施例的構造的框圖。
[0022]圖2是示出了根據其中應用本發明的圖像解碼設備的實施例的構造的框圖。
[0023]圖3是示意性圖示了其中將一個單元分區為多個下級單元的實施例的概念圖。
[0024]圖4是示意性圖示了根據本發明的圖像編碼方法的流程圖。
[0025]圖5是示意性圖示了用于解碼關于量化矩陣的信息并通過使用解碼的信息來執行解碼的解碼器的操作的示例的流程圖。
[0026]圖6是示意性圖示了根據本發明的執行反量化的方法的示例的流程圖。
[0027]圖7是示意性圖示了當在參數集中存在量化矩陣時獲得關于量化矩陣的信息、并通過使用該信息來執行反量化的方法的示例的圖。
[0028]圖8是示意性圖示了當在參數集中存在量化矩陣時獲得關于量化矩陣的信息、并通過使用該信息來執行反量化的方法的另一示例的圖。
【具體實施方式】
[0029]其后,參考附圖來詳細描述本發明的實施例。此外,在描述本發明的實施例時,將省略已知功能和構造的詳細描述,如果認為它們使得本發明的要義不必要的模糊的話。
[0030]在該說明書中,當認為一個元件與另一元件“連接”、“組合”或“耦接”時,所述一個元件可與所述另一元件直接連接或耦接,但是還應理解的是,第三元件可在這兩個元件之間“連接”、“組合”或“耦接”。此外,在該說明書中,描述“包括(或包含)”特定元件的內容不意味著排除除了該特定元件之外的元件,而是意味著附加元件可包括在本發明的實現或本發明的技術精神的范圍中。
[0031]諸如“第一”和“第二”的術語可被用來描述各種元件,但是這些元件不限于這些術語。使用這些術語將一個元件與另一元件進行區分。例如,第一元件可被稱為第二元件,并且同樣,第二元件可被稱為第一元件,而不脫離本發明的范圍。
[0032]此外,獨立示出本發明的實施例中描述的元件,以便指示不同和特征功能,并且這不意味著每一元件組成單獨硬件或一個軟件模塊。即,為了便于描述來安排這些元件,并且這些元件中的至少兩個可組合以形成一個元件,或者一個元件可被劃分為多個元件,并且所述多個元件可執行功能。其中組合元件或者劃分每一元件的實施例被包括在本發明的范圍中,而不脫離本發明的精髓。
[0033]此外,在本發明中,一些元件可以不是執行必要功能的必要元件,而可以是僅用于改進功能的可選元件。本發明可僅使用用于實現本發明的精髓的必要元件而不是僅用來改進性能的元件來實現,并且僅包括這些必要元件而不包括僅用于改進功能的可選元件的結構被包括在本發明的范圍中。
[0034]首先,為了便于描述和為了幫助理解本發明,簡要描述該說明書中使用的術語。
[0035]單元意味著圖像編碼和解碼的單元。換言之,在圖像編碼/解碼中,當對一個圖像進行細分和編碼或解碼時,編碼單元或解碼單元表示分區的單元。該單元也被稱為塊、宏塊、編碼單元、預測單元、變換單元、編碼塊、預測塊、變換塊等。一個單元可被分區為較小下級單元。
[0036]變換單元是執行殘差塊的編碼/解碼(諸如變換、逆變換、量化、反量化、和變換系數編碼/解碼)的基本單元。一個變換單元可被分區為多個較小變換單元。此外,變換單元可被用作與變換塊相同的含義。包括與用于亮度和色度信號的變換塊相關的語法元素的形式可被稱為變換單元。
[0037]量化矩陣意味著為了改進圖像的主觀畫面質量或客觀畫面質量而在量化或逆量化處理中使用的矩陣。量化矩陣也被稱為縮放列表。并且逆量化處理與反量化處理相同。
[0038]量化/反量化中使用的量化矩陣可按照比特流的形式傳送,并且可使用已在編碼器和/或解碼器中包括的缺省矩陣作為量化矩陣。根據每一量化矩陣的尺寸或其中通過序列參數集(SPS)或畫面參數集(PPS)應用量化矩陣的變換塊的尺寸,關于量化矩陣的信息可一次全部(in a lump)傳送。例如,可傳送用于4x4變換塊的4x4量化矩陣,可傳送用于8x8變換塊的8x8矩陣,可傳送用于16x16變換塊的16x16矩陣,并可傳送用于32x32變換塊的32x32矩陣。
[0039]向當前塊施加的量化矩陣可(I)通過拷貝具有相同尺寸的量化矩陣來獲得和(2)通過根據量化矩陣中的先前矩陣系數進行預測來生成。具有相同尺寸的矩陣可以是已先前編碼或解碼或使用的量化矩陣、參考量化矩陣、或缺省量化矩陣。或者,可以通過包括已先前編碼或解碼或使用的量化矩陣、參考量化矩陣、和缺省量化矩陣中的至少兩個的組合,來選擇性確定具有相同尺寸的矩陣。
[0040]參數集對應于關于比特流中的結構的報頭的信息,并具有共同表示序列參數集、畫面參數集、自適應參數集等的含義。
[0041]量化參數是在量化和反量化中使用的值,并可以是映射到量化步長尺寸的值。
[0042]缺省矩陣可意味著已在編碼器和/或解碼器中先前定義的特定量化矩陣。本說明書中稍后要描述的缺省量化矩陣可被用作和缺省矩陣相同的含義。非缺省矩陣可意味著還沒有在編碼器和/或解碼器中先前定義、并從編碼器傳送到解碼器(即,用戶傳送/接收)的量化矩陣。本說明書中稍后要描述的非缺省量化矩陣能被用作和非缺省矩陣相同的含義。
[0043]圖1是示出了根據其中應用本發明的圖像編碼設備的實施例的構造的框圖。
[0044]參考圖1,圖像編碼設備100包括運動預測模塊111、運動補償模塊112、幀內預測模塊120、開關115、減法器125、變換模塊130、量化模塊140、熵編碼模塊150、反量化(逆量化)模塊160、逆變換模塊170、加法器175、濾波器模塊180、和參考圖像緩沖器190。
[0045]圖像編碼設備100可按照幀內模式或幀間模式對輸入圖像執行編碼并輸出比特流。幀內預測意味著幀內預測,而幀間預測意味著幀間預測。在幀內模式的情況下,開關115可切換到幀內模式,而在幀間模式的情況下,開關115可切換到幀間模式。在生成用于輸入圖像的輸入塊的預測塊之后,圖像編碼設備100可編碼輸入塊和預測塊之間的差。這里,輸入圖像可意味著原始圖像。
[0046]在幀內模式的情況下,幀內預測模塊120可通過基于與當前塊相鄰的已編碼塊的像素值執行空間預測,來生成預測塊。
[0047]在幀間模式的情況下,運動預測模塊111可在運動預測處理中在參考圖像緩沖器190中存儲的參考圖像中搜索與輸入塊最佳匹配的區域,并基于檢索的區域來獲得運動向量。運動補償模塊112能通過使用運動向量執行運動補償,來生成預測塊。這里,運動向量是在幀間預測中使用的2維向量,并且運動向量可指示當前塊和參考圖像中的塊之間的偏移。
[0048]減法器125可基于輸入塊和生成的預測塊之間的差來生成殘差塊。變換模塊130可通過對殘差塊執行變換來輸出變換系數。接下來,量化模塊140可通過使用量化參數和量化矩陣中的至少一個對接收的變換系數進行量化,來輸出量化后的系數。這里,量化矩陣可被輸入到編碼器,并且可以確定在編碼器中使用輸入的量化矩陣。
[0049]熵編碼模塊150可通過基于量化模塊140所計算的值或在編碼處理中計算的編碼參數值等執行熵編碼,來輸出比特流。如果施加熵編碼,則可通過向具有高出現概率的碼元分配小數目比特并向具有低出現概率的碼元分配大數目比特,來表示碼元,以便降低用于編碼要編碼的碼元的比特流的尺寸。因此,能通過熵編碼來增加圖像編碼的壓縮性能。熵編碼模塊150可使用諸如指數哥倫布編碼、上下文自適應可變長度編碼(CAVLC)和上下文自適應二進制算術編碼(CABAC)的編碼方法用于熵編碼。
[0050]根據圖1的實施例的圖像編碼設備(其后稱為編碼器)執行幀間預測編碼(即,幀間預測編碼),并由此當前編碼的圖像需要被解碼和存儲,以便用作參考圖像。因此,量化后的系數經受反量化模塊160的反量化并經受逆變換模塊170的逆變換。逆量化和逆變換后的系數成為重構后的殘差塊,并且通過加法器175將重構后的殘差塊添加到預測塊,由此生成重構塊。
[0051]重構塊經過(experiences)濾波器模塊180。濾波器模塊180可向重構塊或重構畫面應用解塊濾波器、樣本自適應偏移(SAO)、和自適應環路濾波器(ALF)中的一個或多個。濾波器模塊180也可被稱為環內濾波器。解塊濾波器可去除在塊的邊界處已出現的塊的失真。SAO可向像素值添加適當偏移值以便補償編碼誤差。ALF可基于通過比較重構圖像與原始圖像而獲得的值,來執行濾波。已經過濾波器模塊180的重構塊可被存儲在參考圖像緩沖器190中。
[0052]圖2是示出了根據其中應用本發明的圖像解碼設備的實施例的構造的框圖。
[0053]參考圖2,圖像解碼設備200包括熵解碼模塊210、反量化(逆量化)模塊220、逆變換模塊230、幀內預測模塊240、運動補償模塊250、加法器255、濾波器模塊260、和參考圖像緩沖器270。
[0054]圖像解碼設備200可接收從編碼器輸出的比特流,按照幀內模式或幀間模式來對比特流執行解碼,并輸出重構的圖像。在幀內模式的情況下,開關可切換到幀內模式。在幀間模式的情況下,開關可切換到幀間模式。圖像解碼設備200可從接收的比特流獲得重構的殘差塊,生成預測塊,并通過將重構的殘差塊添加到預測塊來生成重構塊。
[0055]熵解碼模塊210可通過根據概率分布對輸入比特流執行熵解碼,來生成包括具有量化后的系數形式的碼元的碼元。熵解碼方法與上述熵編碼方法類似。
[0056]如果應用熵解碼方法,則可通過向具有高出現概率的碼元分配小數目比特并向具有低出現概率的碼元分配大數目比特來表示碼元,以便降低每一碼元的比特流的尺寸。
[0057]量化后的系數可經受反量化模塊220基于量化參數的反量化,并可經受逆變換模塊230的逆變換。作為對量化后的系數的反量化/逆變換的結果,可生成重構的殘差塊。
[0058]反量化中使用的量化矩陣也被稱為縮放列表。反量化模塊220能通過向量化后的系數應用量化矩陣,來生成逆量化后的系數。
[0059]這里,反量化模塊220可響應于編碼器應用的量化來執行反量化。例如,反量化模塊220可通過向量化后的系數相反應用編碼器所應用的量化矩陣,來執行反量化。
[0060]圖像解碼設備200 (其后稱為解碼器)在反量化中使用的量化矩陣可從比特流接收,并且已在編碼器和/或解碼器中包括的缺省矩陣可被用作量化矩陣。根據每一量化矩陣的尺寸或其中通過序列參數集或畫面參數集應用量化矩陣的變換塊的尺寸,所傳送的關于量化矩陣的信息可一次全部接收。例如,可接收用于4x4變換塊的4x4量化矩陣,可接收用于8x8變換塊的8x8矩陣,可接收用于16x16變換塊的16x16矩陣,并可接收用于32x32變換塊的32x32矩陣。
[0061]在幀內模式的情況下,幀內預測模塊240可通過使用當前塊周圍的已解碼塊的像素值執行空間預測,來生成預測塊。在幀間模式的情況下,運動補償模塊250可通過使用運動向量和參考圖像緩沖器270中存儲的參考圖像執行運動補償,來生成預測塊。
[0062]加法器255將重構的殘差塊和預測塊相加到一起,并且相加的塊能經過濾波器模塊260。濾波器模塊260可向重構的塊或重構的畫面應用解塊濾波器、SAOjP ALF中的一個或多個。濾波器模塊260能輸出重構的圖像(即,恢復的圖像)。重構的圖像可被存儲在參考圖像緩沖器270中并用于幀間預測。
[0063]其間,塊分區信息可包括關于單元的深度的信息。該深度信息可指示單元被分區的次數和/或單元被分區的程度。
[0064]圖3是示意性圖示了其中將一個單元分區為多個下級單元的實施例的概念圖。
[0065]可利用深度信息基于樹結構來對一個單元或塊進行分級分區。每一分區的下級單元可具有深度信息。該深度信息可包括關于下級單元的尺寸的信息,因為它指示單元被分區的次數和/或單元被分區的程度。
[0066]參考圖3的310,最高節點可被稱為根節點,而最高節點能具有最小深度值。這里,最高節點能具有級別O的深度,并能指示還沒有分區的第一單元。
[0067]具有級別I的深度的下級節點能指示從第一單元分區一次的單元,并且具有級別2的深度的下級節點能指示從第一單元分區兩次的單元。例如,在圖3的320中,對應于節點“a”的單元“a”是從第一單元分區一次的單元,并且單元“a”能具有級別I的深度。
[0068]級別3的葉節點能指示從第一單元分區三次的單元。例如,在圖3的320中,對應于節點“d”的單元“d”是從第一單元分區三次的單元,并且單元“d”能具有級別3的深度。因此,級別3的葉節點(即,最低節點)能具有最深深度。
[0069]迄今已描述了示意性編碼/解碼方法。如同編碼/解碼的其他處理,編碼/解碼處理的量化和逆量化處理中使用的量化矩陣編碼/解碼方法對編碼效率具有大影響。因此,必須通過考慮編碼效率來改進量化/反量化。
[0070]更具體地,傳統上,通過不考慮可用的變換單元的最小尺寸和最大尺寸,來對所有變換的量化矩陣進行編碼/解碼。此外,傳統上,一次全部應用量化矩陣,而不在序列、畫面或片段中根據變換的尺寸或量化矩陣的類型來混合和使用缺省矩陣和非缺省矩陣。因此,存在的缺點在于,編碼器選擇量化矩陣時的自由度低,并且編碼效率低,因為不需要編碼/解碼的缺省矩陣必須被編碼和傳送。
[0071]如上所述,根據傳統方法,在應用量化矩陣時,自由度和編碼效率低,并且復雜程度高。
[0072]為了解決這些問題,需要考慮有效使用量化矩陣的方法,以便改進編碼效率并降低量化/反量化中的復雜程度。
[0073]圖4是示意性圖示了根據本發明的圖像編碼方法的流程圖。
[0074]參考圖4,在步驟S410,編碼器確定關于當前序列或畫面的變換單元的尺寸的信息并編碼該信息。
[0075]關于變換單元的尺寸的信息意味著變換單元的最小尺寸和最大尺寸中的至少一個。當編碼圖像時,編碼器能確定變換單元的最小尺寸和最大尺寸。
[0076]例如,編碼器能將正方形變換單元的最小尺寸確定為4x4塊或者能將正方形變換單元的最大尺寸確定為32x32塊。此外,編碼器可將正方形變換單元的最小尺寸和最大尺寸分別確定為4x4塊和32x32塊。編碼器能根據正方形變換單元的最小尺寸和最大尺寸執行編碼。
[0077]編碼器能對對于比特流所確定的關于變換單元的尺寸的信息執行熵編碼。例如,編碼器能在比特流中將所確定的關于變換單元的尺寸的信息編碼為參數集。
[0078]如上所述,關于變換單元的尺寸的信息表示關于變換單元的最小尺寸和最大尺寸中的至少一個的信息。因此,編碼器能將關于變換單元的最小尺寸和最大尺寸的信息作為關于變換單元的尺寸的信息編碼到比特流中。這里,變換單元的最大尺寸能使用變換單元的最大尺寸和變換單元的最小尺寸之間的差值來指定。
[0079]表格I示意性示出了已被熵編碼為比特流的序列參數集的關于變換單元的尺寸的信息的示例。
[0080]< 表格 1>
[0081]
seq parameter set rbsp() {__描 \
* *?
log2 min transform block size minus】_uc(v)_
log2 diff max min transform block size_ue(v)
*.*
i__
[0082]如同表格I中圖示的語法元素中那樣,在通過向正方形變換單元的最小水平或垂直尺寸應用Log2函數來計算Log2MinTrafoSize之后,編碼器能指定通過使用log2_min_transform_block_size_minus2 從 Log2MinTrafoSize 減去 2 而獲得的值。此外,在通過向正方形變換單元的最大水平或垂直尺寸應用Log2函數來計算Log2MaxTrafoSize之后,編碼器能通過使用 log2_diff_max_min_transform_block_size 來指定 Log2MaxTrafoSize 和Log2MinTrafoSize 之間的差值。編碼器能將 log2_min_transform_block_size_minus2 和log2_diff_max_min_transform_block_size (即,語法元素)編碼為比特流,并將得到的比特流發送到解碼器。換言之,編碼器能編碼log2_min_transform_block_size_minus2和log2_diff_max_min_transform_block_size所指示的值,并按照比特流的形式來發送所編碼的值。
[0083]編碼器能在步驟S420編碼關于量化矩陣的信息。編碼器能編碼關于量化矩陣的信息,包括以下的一個或多個:(I)關于是否已使用量化矩陣的信息、(2)關于是否存在量化矩陣的信息、(3)關于是否已編碼量化矩陣以及是否已使用缺省矩陣的信息、(4)預測編碼方法和量化矩陣的類型、(5)參考量化矩陣ID (標識符)、和¢)已先前編碼的量化矩陣的系數值和量化矩陣中要編碼的量化矩陣的系數值之間的差值。
[0084]這里,編碼器可基于關于變換單元的尺寸的信息,來編碼關于量化矩陣的信息。
[0085]其后,參考圖和下面的表格來詳細描述用于編碼關于量化矩陣的信息的方法。
[0086]關于量化矩陣的信息指示編碼器所確定或使用的方法。例如,編碼器能確定是否使用量化矩陣,并能將關于是否已使用量化矩陣的信息編碼為參數集。因此,所編碼的關于是否已使用量化矩陣的信息指示是否已使用編碼器所確定的量化矩陣。
[0087]表格2示出其中將關于是否已使用量化矩陣的信息編碼為序列參數的示例。
[0088]< 表格 2>
[0089]
scq parameter set rbspf) {__描述符
scaling list enabled flag__ιι(1)_
I—
[0090]如同表格2的語法中那樣,編碼器能將scaling_list_enabled_flag( S卩,關于是否已使用量化矩陣的信息)編碼為序列參數集,并將編碼的信息發送到解碼器。當scaling_list_enabled_flag的值是I時,它可指示對于所有序列在變換系數的反量化/縮放中使用該量化矩陣。當scaling_list_enabled_flag的值是O時,它可指示在變換系數的反量化/縮放中不使用該量化矩陣。這里,語法能意味著語法元素。
[0091]在確定是否存在量化矩陣之后,編碼器能將關于是否存在量化矩陣的信息編碼為參數集。
[0092]表格3示出其中將關于是否存在量化矩陣的信息編碼為參數集的示例。
[0093]< 表格 3>
[0094]
叩s rbspf) {__描述符
aps scaling list data present flag__uij_
if( tips seal in? list data present flaa )__
scaling list param()__
I
[0095]如同表格3的語法中那樣,編碼器能將aps_scaling_list_data_present_flag(即,關于是否存在量化矩陣的信息)編碼為參數集。在表格3中,已圖示了其中將關于是否存在量化矩陣的信息編碼為自適應參數集的示例,但是本發明不限于此。例如,編碼器可將關于是否存在量化矩陣的信息編碼為另一參數集。
[0096]在表格3 中,當 aps_scaling_list_data_present_flag 的值是 I 時,它指示在該自適應參數集中存在該量化矩陣。當aps_scaling_list_data_present_flag的值是O時,它指示在該自適應參數集中不存在該量化矩陣。如果scaling_list_enabled_flag的值是I并且aps_scaling_list_data_present_flag的值是O,則這可意味著當執行反量化時使用缺省矩陣。此外,關于是否存在量化矩陣的信息能在不同參數集中存在。例如,如果使用指示是否在序列中存在量化矩陣的sps_scaling_list_data_present_flag和指示是否在畫面中存在量化矩陣的 pps_scaling_list_data_present_flag,則當 sps_scaling_list_data_present_flag 的值為 I 并且 pps_scaling_list_data_present_flag 的值為 O 時,當執行量化/反量化時,能使用與該序列對應的量化矩陣。即,如果通過幾個參數集傳送量化矩陣并且在一些參數集中不存在量化矩陣,則當執行量化/反量化時,能使用在活動參數集中存在或不存在的量化矩陣。從稍后要描述的實施例中,以上內容也能應用到其中對關于是否存在量化矩陣的信息進行編碼/解碼的內容。
[0097]在確定是否編碼量化矩陣以及是否使用缺省矩陣之后,編碼器能將關于是否已編碼量化矩陣和是否已使用缺省矩陣的信息編碼為參數集。
[0098]表格4示出其中將關于是否已編碼量化矩陣和是否已使用缺省矩陣的信息編碼為參數集的示例。
[0099]< 表格 4>
[0100]scaling list param() {__描述符
use default scaling list flag__utjj_
if( !use default scaling list flag)__
for( SizeID = 0; SizeID < 4; SizeID^)_
for( MatnxD=0; MatrixID < (SizeD --3)? 2:6; MatrixID++) {__
_pred mode flag__uQ)_
_if( !pred mode flag)__
_pred matrix id delta__ue(v)_
_else__
scaling_list( QuantMatrix[ SizeID ][ MatrixID ],
_(I <<(4+(SizeID? I))))__
)
_i__
I
j__
[0101]如同表格4的語法中那樣,編碼器能將use_default_scaling_list_flag(即,關于是否已編碼量化矩陣和是否已使用缺省矩陣的信息)編碼為自適應參數集。當use_default_scaling_list_flag的值為I時,不編碼量化矩陣并由此所有量化矩陣的系數值被確定為與編碼器和/或解碼器中定義的缺省矩陣的系數值相同。當uSe_default_sCaling_list_f lag的值為O時,編碼量化矩陣并且不使用編碼器和/或解碼器中定義的缺省矩陣。
[0102]表格4圖示了其中將use_default_scaling_list_flag編碼為自適應參數集的示例。這僅是為了便于描述的示例。在一些實施例中,use_default_scaling_list_flag可被編碼為另一參數集。
[0103]可通過考慮變換單元的尺寸或變換塊的尺寸、編碼模式、和顏色分量,來確定關于量化矩陣的信息。此外,關于量化矩陣的信息可指示對應信息是亮度分量(Y,luma)還是色度分量(Cb, Cr, chroma)。
[0104]例如,編碼器能通過使用SizeID( S卩,與量化矩陣的尺寸對應的信息)和MatrixID (即,與量化矩陣的類型對應的信息),來確定量化矩陣的編碼、是否使用缺省矩陣、和預測編碼方法中的至少一個。這里,SizeID可被解釋為關于與變換單元的尺寸對應的量化矩陣的信息或關于與變換塊的尺寸對應的量化矩陣的信息。此外,該說明書中使用的 SizeID 與 sizelD 和 sizeld 相同,并且 MatrixID 與 matrixID 和 matrixld 相同。
[0105]這里,編碼器可使用其中存儲的表格和/或解碼器中存儲的表格。
[0106]表格5示出了用來指示變換塊的尺寸或與變換塊對應的量化矩陣的尺寸的表格的示例。
[0107]< 表格 5>
[0108]_____I變換單元的尺寸
(量化《陣的尺寸I
O4x4
—18x8 2 16x16 3I32x32
[0109]在表格5的示例中,SizeID值指定變換單元的尺寸、變換塊的尺寸、或量化矩陣的尺寸。
[0110]表格6示出了其中使用量化矩陣的塊的編碼模式、和映射到顏色分量的量化矩陣的類型的表格的示例。
[0111]< 表格 6>
[0112]
_ MatrtxID的含義(SizeID < 3)_
' MatrixID值編碼模式的類-S! 分髮- _O__內編馬__Y_
—1~ 幀內編碼—Cb................................................................2............................................................................................................麗碩..........................................................................................................Qr.............................................................—3幀間編碼..................................Y
—4'..........................................................................................Cb
'5ti間編碼 —Cr
[0113]
—:..........................MatrilD—(SMD==3)—
~ MairixID值—編碼模式的.4?分量
0—幀內編碼—Y
1幀SI編碼 ~Y
[0114]在表格6的示例中,MatrixID值可指示在量化矩陣中使用的編碼模式和指定顏色分量的量化矩陣的類型。這里,編碼模式可意味著預測模式。
[0115]表格7和8是基于表格5和6中確定的SizeID和MatrixID來指定缺省量化矩陣所使用的缺省量化矩陣表格的示例。這里,表格中的每一值意味著通過ScalingList [SizeID][MatrixID] [i]指定的值。
[0116]〈表格7>
[0117]
I1 Il~[2~[3~|4 |5~[6~[?~|8 |9~IlO 111 Il2 Il3 Il4 Il5
ScalingList [0] [0..2] [i] 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16ScalingList [0] [3..5] [i] 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16
[0118]〈表格8>
[0119]
iI O I I I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 | !O | M | 12 I 13 | 14 | 15
8^ι1?η?Ι^Γ!..21[0..21[ il' Γ '
c r rVLu.lG 16 K,16 16 …16 |r, 17 丨(,17 丨(> 卩丨 S
■_ScahngLis 化】[0J[ i J______________________
8οηΙ1η^[1..2][3..5][? 沁]6 川,6 16 ]6 16 16 沁 17 17 17 !7 17 18
ScaliimListOIIllI i I_________________
_1-16_?) I 2 3 4 5 6 7 8 9~ 10" ?Γ ?Γ U "?4 ?5~
ktn ^iin ^ir ;I I I I I I I ^ I I I I I I I I 1.......*......J7 ^ ]7 [H ?1 19 21 19 2L 94 2) ” 24
ScalingList|3||01[ i I_________________________
ScaHnf,.;;||f.5】⑴:77:::2() 20
ScaluigListl j| 11 Il 11_________________
_1-32_~0 ? 2 3 4 5 6 7 8 9~ 10" ?Γ --~ U TT 15
ScalingLi,t[1..2][0..2][i]
ScalingList|3|H)|[ i \_________________
ScahngListr1.^]^]!!! 24 24 24 ,4 25 25 25 25 25 25 25 28 2S 2S 2S 28
Scaimt>Lisl|31|ll| ι I_________________
_1-48_?)~~?~~2~~3~~T 5 6~~7~~8~~9~10"?Γ?Γ1ΤΤ4?5~
scaiinsListji 2Η? 2Π?] τ;
___________________
ScalingLiStll..2][3..5j[ij ” ” ” ”
S,alinaList[3||l|[ i I ^,’| 41 | 41 | 41 | 叫.叫叫叫 7J | 7i
[0120]表格7涉及其中SizeID值是0(即,4x4塊)的缺省量化矩陣,而表格8涉及其中SizeID值是I (即,8x8塊)、2(即,16x16塊)、和3 (即,32x32塊)的缺省量化矩陣。在表格7和8中,SizeID和MatrixID值是在表格5和6中指定的值。
[0121]在表格7和8中,“i”指定量化矩陣中每一系數的位置。在量化矩陣的情況下,例如,在用于16x16塊或32x32塊的量化矩陣的情況下,不指定用于所有16x16塊和32x32塊的量化矩陣值,但是可指定僅用于8x8塊的量化矩陣系數,并且可基于8x8塊來導出未指定的量化矩陣系數并使用。表格8示出了其中對于每一 8x8塊指定缺省量化矩陣的示例。用于16x16塊或32x32塊的量化矩陣系數可被內插并從對于每一 8x8塊存儲的量化矩陣中導出,或可按照特定方式導出。如果通過內插從8x8尺寸的量化矩陣導出16x16尺寸或32x32尺寸的量化矩陣,則不使用內插值,而是可使用附加值作為DC位置處的量化矩陣系數。
[0122]其間,如果通過考慮可用的變換單元的最小尺寸和最大尺寸而不使用量化矩陣,則必須編碼具有所有尺寸的變換單元的量化矩陣。在該情況下,編碼效率可惡化,并且計算的復雜程度可增加。
[0123]為了解決這些問題,編碼器可通過考慮變換單元的尺寸來編碼關于量化矩陣的信息。例如,編碼器可基于關于變換單元的尺寸的多條信息之中的、最小尺寸和最大尺寸來限制 SizeID0
[0124]編碼器能通過使用限制SizeID執行量化矩陣的編碼、關于是否已使用缺省矩陣的信息的編碼、以及關于預測編碼方法的類型的信息的編碼中的一個或多個。
[0125]表格9示出了當通過限制SizeID執行量化矩陣的編碼時使用的語法結構的示例。
[0126]〈表格9>
[0127]scaling list param() {__描迷符
uscjkfault scaling list flag_ _ki)_
if(!use default scaliiiR list flag)__
for( SizeID 二 Log2MnTrafoSize-2; SizeID < Log2MaxTrafoSize" I; SizeID++)__
for( MatrixID 二 0; MatrixID < (SizeID = 二 3) ? 2:6: MatrixID++) {__
_pt^cl mode Aa^__u(JJ_
_if( !pred—mode—flag)__
_pred matrix id delta__uo(v)_
_else__
scaling_list( QuantMatrix[ SizeID ][ MatrixID ],
_(l?(4 + (Sizero?l))))__
I
_?__
}
[0128]如同表格9的示例中那樣,編碼器能基于關于變換單元的尺寸的多條信息之中的、最小尺寸和最大尺寸來限制SizelD,并按照特定變換單元尺寸來執行量化矩陣的編碼、關于是否已使用缺省矩陣的信息的編碼、以及關于預測編碼方法的類型的信息的編碼中的一個或多個。
[0129]例如,當Log2MinTrafoSize的值是3并且Log2MaxTrafoSize的值是4時,編碼器能執行與8x8變換單元到16x16變換單元對應的量化矩陣的編碼、關于是否已使用缺省矩陣的信息的編碼、以及關于預測編碼方法的類型的信息的編碼中的一個或多個。
[0130]其間,在表格9的示例中,可以不編碼use_default_scaling_list_flag。
[0131]此外,編碼器能基于關于變換單元的尺寸的多條信息之中的、最大尺寸和最小尺寸之間的差值來限制SizelD,并執行量化矩陣的編碼、關于是否已使用缺省矩陣的信息的編碼、以及關于預測編碼方法的類型的信息的編碼中的一個或多個。
[0132]表格10示意性示出了通過基于關于變換單元的尺寸的多條信息之中的、最大尺寸和最小尺寸之間的差值限制SizelD、來編碼關于量化矩陣的多條信息所使用的語法結構的示例
[0133]〈表格10>
[0134]
【權利要求】
1.一種用于編碼量化矩陣的方法,包括: 確定在量化中要使用的量化矩陣并執行量化; 確定在量化中使用的量化矩陣的預測方法;和 根據確定的預測方法來編碼關于量化矩陣的信息, 其中該預測方法是預測量化矩陣中的系數間預測方法的方法和量化矩陣的拷貝中的任一個。
2.根據權利要求1的方法,其中如果該量化矩陣的預測方法是量化矩陣的拷貝,則在編碼關于量化矩陣的信息時,編碼ID信息以標識在量化矩陣的拷貝中使用的參考矩陣。
3.根據權利要求2的方法,其中如果將在量化矩陣的拷貝中使用的參考矩陣確定為缺省矩陣,則該ID信息指示要編碼的量化矩陣MatrixID與參考矩陣RefMatrixID相同。
4.根據權利要求2的方法,其中如果將在量化矩陣的拷貝中使用的參考矩陣確定為缺省矩陣,則通過量化矩陣的尺寸和類型以及解碼器中定義的量化矩陣來指定該缺省矩陣。
5.根據權利要求2的方法,其中該ID信息是指示要編碼的量化矩陣MatrixID與參考矩陣RefMatrixID之間的差的信息。
6.根據權利要求2的方法,其中該ID信息指示要編碼的量化矩陣是參考矩陣。
7.根據權利要求1的方法,其中: 如果該量化矩陣的預測方法是量化矩陣的拷貝,則在編碼關于量化矩陣的信息時,編碼ID信息以標識在量化矩陣的拷貝中使用的矩陣,和 該ID信息通過使用一個語法元素來指示在量化矩陣的拷貝中使用的量化矩陣是參考矩陣還是缺省矩陣。
8.根據權利要求1的方法,其中如果該量化矩陣的預測方法是量化矩陣內的系數間預測方法,則在編碼關于量化矩陣的信息時,使用要編碼的量化矩陣中先前編碼的量化矩陣的系數,來編碼量化矩陣的系數之間的差值。
9.一種用于解碼量化矩陣的方法,包括: 確定要在反量化中使用的量化矩陣的預測方法;和 根據確定的預測方法來解碼要在反量化中使用的量化矩陣, 其中該量化矩陣的預測方法是量化矩陣內的系數間預測方法和量化矩陣的拷貝中的任一個。
10.根據權利要求9的方法,其中在確定量化矩陣的預測方法時,基于從編碼器接收的扁平信息來確定量化矩陣的預測方法。
11.根據權利要求9的方法,其中: 如果該量化矩陣的預測方法是量化矩陣的拷貝,則在解碼反量化中要使用的量化矩陣時,基于ID信息來確定要在反量化中使用的并且要解碼的量化矩陣MatrixID,和 該ID信息是在量化矩陣的拷貝中使用的標識參考矩陣RefMatrixID的信息。
12.根據權利要求11的方法,其中: 如果該ID信息指示要解碼的量化矩陣MatrixID與參考矩陣RefMatrixID相同,則在解碼量化矩陣時,將要在反量化中使用的并且要解碼的量化矩陣MatrixID確定為缺省矩陣,和 該缺省矩陣是在解碼器中定義的并且由量化矩陣的尺寸和類型指定的量化矩陣。
13.根據權利要求11的方法,其中該ID信息是指示要解碼的量化矩陣MatrixID與參考矩陣RefMatrixID之間的差的信息。
14.根據權利要求9的方法,其中如果在確定量化矩陣的預測方法時、將量化矩陣的預測方法確定為量化矩陣內的系數間預測方法,則在解碼量化矩陣時,使用要解碼的量化矩陣內先前解碼的量化矩陣的系數來解碼量化矩陣的系數之間的差值,并且基于解碼的差值來解碼量化矩陣的系數。
15.根據權利要求9的方法,其中: 如果量化矩陣的預測方法是量化矩陣的拷貝,則在解碼量化矩陣時,解碼用于標識在量化矩陣的拷貝中使用的量化矩陣的ID信息,并且 該ID信息通過使用一個語法來指示在量化矩陣的拷貝中使用的量化矩陣是參考矩陣還是缺省矩陣。
【文檔編號】H04N19/70GK104170382SQ201380014811
【公開日】2014年11月26日 申請日期:2013年1月21日 優先權日:2012年1月20日
【發明者】林成昶, 金暉容, 李鎮浩, 崔振秀, 金鎮雄 申請人:韓國電子通信研究院