專利名稱:率失真優(yōu)化量化的加速技術(shù)的制作方法
技術(shù)領(lǐng)域:
本公開涉及數(shù)字視頻編碼,尤其涉及視頻信號(hào)的量化。更特別地,本公開涉及用于率失真優(yōu)化量化和編碼模式判定的加速技術(shù)。
背景技術(shù):
視頻編碼系統(tǒng)被廣泛用于降低再現(xiàn)、存儲(chǔ)和發(fā)送數(shù)字視頻信號(hào)所需的帶寬。通常使用的視頻編碼系統(tǒng)包括基于塊的視頻編碼系統(tǒng),基于區(qū)域的視頻編碼系統(tǒng)以及基于小波的視頻編碼系統(tǒng)等等?;趬K的視頻編碼系統(tǒng)是一種被廣泛采用的視頻編碼系統(tǒng),其用于壓縮數(shù)字視頻信號(hào)。這種編碼系統(tǒng)的例子包括諸如MPEG1/2/4、H. 264的國(guó)際視頻編碼標(biāo)準(zhǔn)(請(qǐng)參見(jiàn)參考文獻(xiàn)I)、VC-I (請(qǐng)參見(jiàn)參考文獻(xiàn)2)標(biāo)準(zhǔn)、根據(jù)諸如VP-6、VP-7和VP-8的0n2技術(shù)的編碼系統(tǒng)、Dirac編解碼器以及Theora視頻編解碼器等。圖I示出基于塊的通用視頻編碼系統(tǒng)的方塊圖。輸入視頻信號(hào)(102)被逐塊處理。通常使用的視頻塊單位由NXM個(gè)像素構(gòu)成,通常N=M=16(通常還被稱為宏塊)。對(duì)于每個(gè)輸入視頻塊,可以執(zhí)行空間預(yù)測(cè)(160)和/或者時(shí)間預(yù)測(cè)(162)??臻g預(yù)測(cè)利用同一個(gè)視頻幀/片段中已經(jīng)編碼的相鄰塊來(lái)預(yù)測(cè)當(dāng)前視頻塊??臻g預(yù)測(cè)通常還被稱為“幀內(nèi)預(yù)測(cè)(intraprediction)”。可以利用各種大小的視頻塊或者視頻區(qū)域執(zhí)行空間預(yù)測(cè);例如,H. 264/AVC允許4X4、8X8和16X16像素的塊大小用于視頻信號(hào)的亮度分量的空間預(yù)測(cè)。另一方面,時(shí)間預(yù)測(cè)利用來(lái)自先前編碼的、通常相鄰的視頻幀/片段的信息來(lái)預(yù)測(cè)當(dāng)前視頻塊。時(shí)間預(yù)測(cè)通常還被稱為“幀間預(yù)測(cè)”和/或者“運(yùn)動(dòng)預(yù)測(cè)”。與空間預(yù)測(cè)類似,時(shí)間預(yù)測(cè)也可以對(duì)各種大小或者形狀的視頻塊或者區(qū)域來(lái)進(jìn)行;例如,對(duì)于亮度分量,H. 264/AVC可以利用諸如16X16、16X8、8X16、8X8、8X4、4X8和4X4的塊大小進(jìn)行基于塊的幀間預(yù)測(cè)。還可以考慮其中有多個(gè)參考可以被用于預(yù)測(cè)并且可以被進(jìn)一步線性或者非線性組合的多參考預(yù)測(cè)和多假設(shè)預(yù)測(cè)。預(yù)測(cè)之后,在求和器(116)中把預(yù)測(cè)塊從原始視頻塊中減去。殘差塊在變換單元
(104)中被變換并且在量化單元(106)中被量化。然后,經(jīng)量化的殘差塊變換系數(shù)被送到熵編碼單元(108)以被執(zhí)行熵編碼,從而進(jìn)一步降低位速率??梢圆捎酶鞣N熵編碼方法或者模式。例如,H. 264/AVC允許兩種熵編碼模式,即,上下文自適應(yīng)可變長(zhǎng)編碼(CAVLC)模式和上下文自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)模式。然后,經(jīng)熵編碼殘差系數(shù)被打包,以形成輸出視頻位流(120)的一部分。經(jīng)量化的變換系數(shù)在反量化單元(110)中被反量化,并且在反變換單元(112)中被反變換,以獲得重構(gòu)的殘差塊。然后,在求和器(126)中該重構(gòu)的殘差塊與預(yù)測(cè)視頻塊相力口,以形成重構(gòu)視頻塊??梢栽诃h(huán)路濾波單元(166)中對(duì)該重構(gòu)的視頻塊進(jìn)行附加濾波,以減小特定編碼贗象。例如,與在a 264/AVC中一樣,環(huán)內(nèi)去塊濾波器是在單元(166)執(zhí)行的用于去除或者減小視覺(jué)上令人不舒服的成塊贗象的環(huán)路濾波的例子。環(huán)路濾波之后,重構(gòu)的視頻塊被存儲(chǔ)在參考畫面存儲(chǔ)器(164)中,用作該視頻幀/片段和/或者未來(lái)(根據(jù)編碼順序)視頻幀/片段中的其它視頻塊的預(yù)測(cè)。圖I所示的編碼器使用模式判定和通用編碼器控制邏輯單元(180),以通常根據(jù)特定預(yù)定判據(jù)選擇當(dāng)前 視頻塊的最佳編碼模式,例如,根據(jù)拉格朗日(Lagrangian)率失真成本J(A) = D(r)+ A r(I)其中r是編碼該視頻塊所需的位速率或者位數(shù),D是重構(gòu)視頻塊與原始視頻塊之間的失真(例如,SSE或者方差和,SAD或者絕對(duì)差值和等),以及\是拉格朗日\(chéng)因數(shù)(請(qǐng)參見(jiàn)參考文獻(xiàn)3)。還可以考慮采用速率和失真之外的諸如功率消耗、實(shí)現(xiàn)復(fù)雜性和/或者實(shí)現(xiàn)成本的多個(gè)其它參數(shù)的聯(lián)合優(yōu)化。速率r可以是編碼要求的真實(shí)速率,但是也可以是估計(jì)的速率;失真D可以基于失真模型的變化,其中一些還可能對(duì)主觀質(zhì)量感知和人的視覺(jué)系統(tǒng)產(chǎn)生影響。模式判定之后,編碼模式(幀間編碼或者幀內(nèi)編碼)、預(yù)測(cè)信息(如果是幀內(nèi)編碼,則是空間預(yù)測(cè)模式和轉(zhuǎn)換類型;如果是幀間編碼,則是運(yùn)動(dòng)劃分、雙向預(yù)測(cè)或者單向預(yù)測(cè)運(yùn)動(dòng)補(bǔ)償預(yù)測(cè))以及其它運(yùn)動(dòng)信息(參考幀索引、運(yùn)動(dòng)矢量、照明變化參數(shù)等)被發(fā)送到熵編碼單元(108)進(jìn)行進(jìn)一步壓縮,以降低位速率。熵編碼模式和運(yùn)動(dòng)信息也被打包,從而形成視頻位流的一部分(120)。變換和量化組合可以降低與編碼預(yù)測(cè)殘差塊相關(guān)的位速率。被變換的殘差系數(shù)的量化導(dǎo)致視頻質(zhì)量損失。量化程度由量化參數(shù)(QP)的值控制,并且它直接反應(yīng)質(zhì)量損失程度。即,較大的QP值通常與較大的主動(dòng)量化相關(guān)并由此與糟糕的重構(gòu)視頻質(zhì)量相關(guān);較低的QP值意味著較小的主動(dòng)量化,因此,通常具有較好的重構(gòu)視頻質(zhì)量。某些視頻編碼系統(tǒng)(例如,H. 264/AVC視頻編碼標(biāo)準(zhǔn))允許宏塊級(jí)QP變化。對(duì)于這種系統(tǒng),根據(jù)輸入視頻塊的特性,編碼器可以選擇進(jìn)行較大或者較小的量化來(lái)獲得較高壓縮的或者視覺(jué)質(zhì)量較好的視頻信號(hào)。具體地說(shuō),量化給定的輸入視頻塊采用的QP值可以由編碼器選擇,從而優(yōu)化等式(I)給出的速率一失真成本函數(shù)或者任何其它預(yù)測(cè)判據(jù);以及編碼器選擇的最佳QP值可以被送到解碼器,作為視頻位流的一部分(120)。此外,在量化單元(106)中,在量化變換系數(shù)時(shí),編碼器可以應(yīng)用更復(fù)雜的量化處理(諸如JPEG2000系統(tǒng)中采用的網(wǎng)格量化處理(請(qǐng)參見(jiàn)參考文獻(xiàn)4和11)),代替簡(jiǎn)單的標(biāo)量量化處理,從而實(shí)現(xiàn)較好的編碼性能。作為量化處理的一部分采用的其它工具還包括量化矩陣和量化偏移。給定的量化矩陣規(guī)定編碼器和解碼器希望在塊內(nèi)的每個(gè)系數(shù)應(yīng)用的量化比例系數(shù)(量化程度)。例如,對(duì)于4X4殘差塊,對(duì)應(yīng)的量化矩陣可能是4X4矩陣,其中每個(gè)矩陣元規(guī)定量化比例系數(shù),用于該塊內(nèi)的每個(gè)相應(yīng)系數(shù)。下面給出可以對(duì)照明分量的幀間編碼4X4殘差塊采用的示例量化矩陣。不同的量化矩陣可以用于其它類型的殘差塊,諸如4X4色度殘差塊,8X8亮度殘差塊(luma residual block)、8X8色度殘差塊等,因?yàn)檫@些殘差塊的特性可能不同。被幀內(nèi)編碼的塊和被幀間編碼的塊也可以采用不同的量化矩陣。除了量化矩陣,還可以考慮對(duì)應(yīng)于不同系數(shù)位置的量化偏移它們可以被看作僅是編碼處理的一部分,并且/或者通過(guò)將這種信息發(fā)送到解碼器并且在重構(gòu)時(shí)考慮到這些參數(shù),它們還可以被看作解碼處理的一部分。
權(quán)利要求
1.一種用于在圖像編碼處理中對(duì)要被編碼和量化的圖像編碼單位選擇編碼模式和量化參數(shù)的方法,包括 選擇初始量化參數(shù)和所述初始量化參數(shù)的最佳編碼模式; 根據(jù)編碼模式轉(zhuǎn)移狀態(tài)機(jī)估計(jì)后續(xù)量化參數(shù)的編碼模式,所述編碼模式轉(zhuǎn)移狀態(tài)機(jī)包括編碼模式狀態(tài)和在編碼模式狀態(tài)之間的轉(zhuǎn)移,其中所述編碼模式轉(zhuǎn)移狀態(tài)機(jī)的每種狀態(tài)對(duì)應(yīng)于編碼模式,并且對(duì)在一對(duì)編碼模式狀態(tài)之間的轉(zhuǎn)移賦予模式轉(zhuǎn)移似然得分;以及 在估計(jì)的編碼模式和量化參數(shù)中選擇最佳編碼模式和最佳量化參數(shù)。
2.根據(jù)權(quán)利要求I所述的方法,其中如果編碼模式之間的轉(zhuǎn)移的可能性較大,則所述模式轉(zhuǎn)移似然得分較高,而如果編碼模式狀態(tài)之間的所述轉(zhuǎn)移可能性較小,則所述模式轉(zhuǎn)移似然得分較低。
3.根據(jù)權(quán)利要求I所述的方法,其中根據(jù)所述圖像編碼單位的特性,賦予所述模式轉(zhuǎn)移似然得分。
4.根據(jù)權(quán)利要求3所述的方法,其中在圖像編碼之前,利用圖像預(yù)分析來(lái)分析和確定所述圖像的特性。
5.根據(jù)權(quán)利要求I所述的方法,其中根據(jù)編碼模式之間的轉(zhuǎn)移類型,賦予所述模式轉(zhuǎn)移似然得分。
6.根據(jù)權(quán)利要求I所述的方法,其中編碼模式狀態(tài)之間的轉(zhuǎn)移次數(shù)是可控的。
7.根據(jù)權(quán)利要求6所述的方法,其中根據(jù)要編碼的所述圖像編碼單位的重要性,選擇編碼模式狀態(tài)之間的轉(zhuǎn)移次數(shù),以對(duì)較重要圖像編碼單位選擇較多的轉(zhuǎn)移次數(shù)。
8.根據(jù)權(quán)利要求6所述的方法,其中根據(jù)轉(zhuǎn)移似然閾值,選擇編碼模式狀態(tài)之間的轉(zhuǎn)移次數(shù),以僅允許在轉(zhuǎn)移似然得分高于所述轉(zhuǎn)移似然閾值的編碼模式之間進(jìn)行轉(zhuǎn)移。
9.根據(jù)權(quán)利要求8所述的方法,其中非基準(zhǔn)圖像編碼單位的轉(zhuǎn)移似然閾值高于基準(zhǔn)圖像編碼單位的似然閾值。
10.根據(jù)權(quán)利要求8所述的方法,其中較不重要圖像編碼單位的轉(zhuǎn)移似然閾值高于較重要圖像編碼單位的轉(zhuǎn)移似然閾值。
11.根據(jù)權(quán)利要求I所述的方法,其中根據(jù)要編碼的所述圖像編碼單位的類型,選擇編碼模式狀態(tài)之間存在或者不存在轉(zhuǎn)移。
12.根據(jù)權(quán)利要求I所述的方法,其中根據(jù)所述圖像編碼單位是基準(zhǔn)圖像編碼單位還是非基準(zhǔn)圖像編碼單位,選擇編碼模式狀態(tài)之間存在還是不存在轉(zhuǎn)移。
13.根據(jù)權(quán)利要求I所述的方法,其中根據(jù)圖像編碼應(yīng)用和與所述圖像編碼應(yīng)用相關(guān)聯(lián)的可用復(fù)雜性預(yù)算,選擇編碼模式狀態(tài)之間存在還是不存在轉(zhuǎn)移。
14.根據(jù)權(quán)利要求I所述的方法,其中所述模式轉(zhuǎn)移狀態(tài)機(jī)是動(dòng)態(tài)可調(diào)模式轉(zhuǎn)移狀態(tài)機(jī)。
15.根據(jù)權(quán)利要求14所述的方法,其中所述編碼模式轉(zhuǎn)移狀態(tài)機(jī)中允許的轉(zhuǎn)移的次數(shù)取決于所估計(jì)的量化參數(shù)的數(shù)量。
16.根據(jù)權(quán)利要求15所述的方法,其中估計(jì)了特定數(shù)量的量化參數(shù)后,僅允許自轉(zhuǎn)移。
17.根據(jù)權(quán)利要求16所述的方法,其中對(duì)于所確定的量化參數(shù),在所述所確定的量化參數(shù)之前的多個(gè)量化參數(shù)的最佳編碼模式?jīng)]有發(fā)生變化的情況下,僅允許所述所確定的量化參數(shù)的自轉(zhuǎn)移。
18.根據(jù)權(quán)利要求14所述的方法,其中調(diào)節(jié)所述模式轉(zhuǎn)移狀態(tài)機(jī)取決于已經(jīng)編碼的相鄰圖像編碼單位。
19.根據(jù)權(quán)利要求18所述的方法,其中如果給定圖像編碼單位的已經(jīng)編碼的相鄰圖像編碼單位采用較寬松的模式轉(zhuǎn)移狀態(tài)機(jī),則對(duì)該給定圖像編碼單位應(yīng)用較寬松的編碼模式轉(zhuǎn)移狀態(tài)機(jī),而如果給定圖像編碼單位的已經(jīng)編碼的相鄰圖像編碼單位采用較不寬松的模式轉(zhuǎn)移狀態(tài)機(jī),則對(duì)該給定圖像編碼單位應(yīng)用較不寬松的編碼模式轉(zhuǎn)移狀態(tài)機(jī)。
20.根據(jù)權(quán)利要求19所述的方法,其中應(yīng)用于給定圖像編碼單位的特定模式轉(zhuǎn)移狀態(tài)機(jī)是較寬松的還是較不寬松的取決于已經(jīng)編碼的相鄰圖像編碼單位之間的相似度。
21.一種用于在圖像編碼處理中對(duì)要被編碼和量化的圖像編碼單位選擇編碼模式和量化參數(shù)的方法,包括 在估計(jì)M個(gè)可能編碼模式時(shí),執(zhí)行第一量化處理; 基于所述第一量化處理,根據(jù)預(yù)定編碼判據(jù),選擇M1個(gè)最佳編碼模式,其中M>Mi ^ I ; 對(duì)所述M1個(gè)最佳編碼模式執(zhí)行第二量化處理;以及 基于所述第一量化處理和所述第二量化處理的結(jié)果,選擇最佳編碼模式。
22.根據(jù)權(quán)利要求21所述的方法,其中所述第一量化處理是較快類型的量化,并且所述第二量化處理是較慢類型的量化。
23.根據(jù)權(quán)利要求21所述的方法,其中對(duì)每個(gè)量化參數(shù),重復(fù)所述第一量化處理和所述第二量化處理。
24.根據(jù)權(quán)利要求23所述的方法,其中在后續(xù)量化參數(shù)的量化處理中,采用與一個(gè)或多個(gè)量化參數(shù)的量化變換系數(shù)的位置和幅值有關(guān)的信息。
25.根據(jù)權(quán)利要求21所述的方法,其中僅對(duì)M個(gè)可能編碼模式中的一個(gè)最佳編碼模式,或者等同于M1 = 1,應(yīng)用所述第二量化處理。
26.根據(jù)權(quán)利要求21所述的方法,其中通過(guò)以下操作來(lái)選擇最佳結(jié)果 將i)經(jīng)所述第一量化處理量化的殘差的預(yù)定編碼判據(jù)的值與ii)經(jīng)所述第二量化處理量化的殘差的預(yù)定編碼判據(jù)的值進(jìn)行比較;以及 選擇提供所述預(yù)定編碼判據(jù)的較好值的殘差。
27.根據(jù)權(quán)利要求21所述的方法,還包括在初始編碼處理后,在選擇所述最佳編碼模式后,再編碼所述圖像編碼單位。
28.根據(jù)權(quán)利要求27所述的方法,其中在執(zhí)行所述圖像編碼單位的再編碼時(shí),執(zhí)行所述第二量化處理。
29.根據(jù)權(quán)利要求28所述的方法,其中所述再編碼包括估計(jì)最佳預(yù)測(cè)模式。
30.根據(jù)權(quán)利要求29所述的方法,其中在再編碼處理時(shí),估計(jì)預(yù)測(cè)模式的子集。
31.根據(jù)權(quán)利要求30所述的方法,其中根據(jù)在所述初始編碼處理之后選擇的所述最佳預(yù)測(cè)模式,來(lái)選擇在進(jìn)行再編碼處理時(shí)估計(jì)的預(yù)測(cè)模式的子集。
32.一種用于在圖像編碼處理中對(duì)要被編碼和量化的圖像編碼單位選擇編碼模式和量化參數(shù)的方法,包括 選擇初始量化參數(shù)和所述初始量化參數(shù)的最佳編碼模式; 對(duì)于后續(xù)量化參數(shù),估計(jì)編碼模式, 其中對(duì)量化參數(shù)的編碼模式的估計(jì)包括在多個(gè)變換中選擇最佳變換,以編碼所述圖像編碼單位。
33.根據(jù)權(quán)利要求32所述的方法,其中選擇最佳變換包括根據(jù)每個(gè)量化參數(shù)的預(yù)定編碼判據(jù),在所述多個(gè)變換中選擇變換數(shù)目不增加的變換子集,直到對(duì)于所確定的量化參數(shù),僅選擇了一個(gè)最佳變換,然后,對(duì)于所述所確定的量化參數(shù)之后的所有后續(xù)量化參數(shù),保持所述最佳變換。
34.根據(jù)權(quán)利要求33所述的方法,其中對(duì)于所述初始量化參數(shù),僅選擇一個(gè)最佳變換,然后對(duì)于所有后續(xù)量化參數(shù)保持所述最佳變換。
35.根據(jù)權(quán)利要求32所述的方法,其中在所述多個(gè)變換中的一個(gè)變換的量化處理中,采用與另一變換的量化變換系數(shù)的位置和幅值有關(guān)的信息。
36.一種用于在圖像編碼處理中對(duì)要被編碼和量化的圖像編碼單位在多個(gè)編碼模式中選擇編碼模式和在多個(gè)量化參數(shù)中選擇量化參數(shù)的方法,包括 跳過(guò)對(duì)所述多個(gè)量化參數(shù)的子集的估計(jì), 其中如果先前估計(jì)的量化參數(shù)中的最佳量化參數(shù)與全O殘差塊相關(guān)聯(lián),并且如果當(dāng)前量化參數(shù)值大于最佳量化參數(shù)值,則跳過(guò)對(duì)當(dāng)前量化參數(shù)的估計(jì)。
37.一種用于在圖像編碼處理中對(duì)要被編碼和量化的圖像編碼單位在多個(gè)編碼模式中選擇編碼模式和在多個(gè)量化參數(shù)中選擇量化參數(shù)的方法,包括 跳過(guò)對(duì)所述多個(gè)量化參數(shù)的子集的估計(jì), 其中如果在估計(jì)當(dāng)前量化參數(shù)集時(shí),獲得預(yù)選編碼判據(jù)的持續(xù)改善的值,則跳過(guò)對(duì)量化參數(shù)的補(bǔ)集的估計(jì)。
38.根據(jù)權(quán)利要求36或者37所述的方法,其中所述當(dāng)前編碼單位的初始量化參數(shù)的值的是可調(diào)的。
39.根據(jù)權(quán)利要求36或者37所述的方法,其中根據(jù)已經(jīng)編碼的相鄰圖像編碼單位的量化參數(shù)值,預(yù)測(cè)所述當(dāng)前編碼單位的初始量化參數(shù)的值。
40.一種用于在圖像編碼處理中對(duì)要被編碼和量化的圖像編碼單位選擇編碼模式和量化參數(shù)的方法,包括 選擇初始量化參數(shù)和所述初始量化參數(shù)的最佳編碼模式;以及 估計(jì)后續(xù)量化參數(shù)的編碼模式, 其中 對(duì)量化參數(shù)的編碼模式的估計(jì)包括執(zhí)行運(yùn)動(dòng)搜索,以及 對(duì)所述初始量化參數(shù)執(zhí)行較全面的運(yùn)動(dòng)搜索,而對(duì)所述后續(xù)量化參數(shù)執(zhí)行有限的運(yùn)動(dòng)搜索,其中所述有限的運(yùn)動(dòng)搜索基于所述初始量化參數(shù)的較全面的運(yùn)動(dòng)搜索的結(jié)果。
41.一種用于按照權(quán)利要求1、21、32、36、37或者40所述的方法中的一個(gè)或者多個(gè)方法編碼視頻信號(hào)的編碼器。
42.—種用于按照權(quán)利要求1、21、32、36、37或者40所述的方法中的一個(gè)或者多個(gè)方法編碼視頻信號(hào)的設(shè)備。
43.—種用于按照權(quán)利要求1、21、32、36、37或者40所述的方法中的一個(gè)或者多個(gè)方法編碼視頻信號(hào)的系統(tǒng)。
44.一種含有用于使計(jì)算機(jī)執(zhí)行按照權(quán)利要求1、21、32、36、37或者40所述的方法中的一個(gè)或者多個(gè)方法的一組指令的計(jì)算機(jī)可讀介質(zhì)。
45.—種按照權(quán)利要求1、21、32、36、37或者40所述的方法中的一個(gè)或者多個(gè)方法編碼視頻信號(hào)的應(yīng)用。
全文摘要
描述了用于選擇圖像編碼處理的編碼模式的技術(shù)??梢酝ㄟ^(guò)編碼模式轉(zhuǎn)移狀態(tài)機(jī)、再量化處理、選擇最佳變換大小、通過(guò)跳過(guò)一些量化參數(shù)或者通過(guò)執(zhí)行運(yùn)動(dòng)搜索,選擇編碼模式。
文檔編號(hào)H04N7/26GK102648627SQ201080040506
公開日2012年8月22日 申請(qǐng)日期2010年9月7日 優(yōu)先權(quán)日2009年9月10日
發(fā)明者亞歷山德羅斯·圖拉皮斯, 葉琰 申請(qǐng)人:杜比實(shí)驗(yàn)室特許公司