專利名稱:產(chǎn)生對圖像或圖像序列進行編碼的量化矩陣的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種自適應(yīng)地產(chǎn)生可用于對圖像或圖像序列進行編碼的量化矩陣的方法和設(shè)備。
背景技術(shù):
通過量化像素塊的(變換后)頻率系數(shù)或分量,可以實現(xiàn)視頻編碼中的明顯的數(shù)據(jù)率減小效果,使得此后只需要對較少的幅度電平(amplitudelevel)編碼,并且一部分量化的幅值變?yōu)?、且不需要被編碼為量化的幅值。許多基于變換的視頻編碼標(biāo)準(zhǔn)使用默認(rèn)的量化矩陣來獲得較佳的主觀視頻編碼/解碼質(zhì)量,例如ISO/IEC(國際標(biāo)準(zhǔn)化組織/國際電工委員會)13818-2(MPEG-2視頻)。如果相關(guān)的水平和/或垂直頻率被認(rèn)為是相對于結(jié)果主觀圖像質(zhì)量不太重要的頻率分量,則‘量化矩陣’將較小的縮放值(即具有較大的除數(shù))賦予塊的某些頻率分量。眾所周知,人類心理學(xué)—視覺系統(tǒng)對較高的水平和/或垂直頻率不太敏感,尤其是對較高的對角線頻率不太敏感。
MPEG-2、MPEG-4、MPEG-4 AVC/H.264(ISO/IEC 14496-10)和MPEG-4AVC/H.264 FRExt(‘保真度范圍擴展’,Redmond JVT會議,2004年7月17-23日)視頻編碼標(biāo)準(zhǔn)都包括對這種量化矩陣的支持。例如,ISO/IEC 13818-2在6.3.11節(jié)中公開了以下量化矩陣用于幀內(nèi)塊(intrablock)的默認(rèn)‘量化矩陣’,它具有不同的量化器除數(shù),最大的量化器除數(shù)位于8*8除數(shù)陣列中的右下部位置;以及用于非幀內(nèi)塊的默認(rèn)量化矩陣,它對8*8陣列中的所有位置都具有相等量化器除數(shù)。可以通過編碼器發(fā)送用戶定義的量化矩陣,以供解碼器之用,見ISO/IEC 13818-2中的6.2.3.2節(jié)。
H.264FRExt為更專業(yè)的應(yīng)用重新引入了量化矩陣。與其它視頻編碼標(biāo)準(zhǔn)如MPEG-2和MPEG-4一樣,量化矩陣能夠用不同的縮放值來量化不同的離散余弦變換(DCT)系數(shù)。8*8變換被添加到H.264FRExt中,旨在專業(yè)的高清晰電視(HDTV)應(yīng)用,然而8*8變換不在H.264Main Prole中。主觀質(zhì)量也是高清晰(HD)視頻編碼的重要問題。在大多數(shù)情況下,貫穿圖像序列,對于不同頻率的量化矩陣都被設(shè)置為默認(rèn)或固定的。
在以下描述中,有時參考以下現(xiàn)有技術(shù)列表[1]G.Wallace,“The JPEG still picture compression standard”,Communications of ACM.34(4),30-441991. T.Wiegand,G.Sullivan,“Draft ITU-T Recommendation and FinalDraft Intemational Standard of Joint Video Specification(ITU-T Rec.H.264|ISO/IEC 14496-10AVC)”,Mar 31,2003. K.R.Rao and P.Yip,“Discrete Cosine TransformAlgorithms,Advantages,Applications”,Boston,MAAcademic,1990. G.Sullivan,T.McMahon,T.Wiegand,A.Luthra,“Draft Test ofH.264/AVC Fidelity Range Extension Amendment”,JVT-K047,ftp//ftp.imtc-files.org/jvt-experts/2004_03_Munich/JVT-K047d8.zip. B.Tao,“On optimal entropy-constrained dead-zone quantisation”,IEEE Transactions on Circuits and Systems for Video Technology,Vol.ll,pp.560-563,April 2001. F.Müller,“Distribution shape of two-dimensional DCT coefficients ofnatural images”,Electronics Letters,29(22)1935-1936,October 1993. S.R.Smoot and L.A.Rowe,“Laplacian Model for AC DCT Terms inImage and Video Coding”,Ninth Image and Multidimensional SignalProcessing workshop,March 1996. Watson et al.,“DCT quantisation matrices Visually optimised forindividual images”,Human Vision,Visual Processing and Digital Display IV,Proceedings of SPIE 1913-1(1993). Yingwei Chen,K.Challapali,“Fast computation of perceptuallyoptimal quantisation matrices for MPEG-2intra pictures”,Image Processing,1998,ICIP 98 Proceedings 1998 International Conference,4-7Oct,1998. H.Peterson,A.J.Ahumada,A.B.Watson,“An Improved DetectionModel for DCT Coefficient Quantisation”,Proceedings of the SPIE,1993,pp.191-201. E.Y.Lam,and J.W Goodman,“A Mathematical Analysis of theDCT Coefficient Distributions for Images”,IEEE Trans.On Image Processing,Vol.9,No.10,PP.1661-1666,2000. Cristina Gomila,Alexander Kobilansky,“SEI message for film grainencoding”,JVT-H022,Mar 31,2003. Zhihai He and Sanjit K.Mitra,“A Unified Rate-Distortion AnalysisFramework for Transform Coding”,IEEE Transactions on Circuits and Systemfor Video Technology,Vol.11,PP.1221-1236,December 2001.
許多當(dāng)前圖像和視頻編碼標(biāo)準(zhǔn)都基于離散預(yù)先變換(DCT),如聯(lián)合圖像專家組(JPEG)[1]、MPEG-2、MPEG-4和AVC/H.264。在一階馬爾可夫(Markov)過程的某些條件下,對于自然圖像,DCT變換是理想Karhunen-Loeve變換KLT的一種魯棒近似,DCT變換相對于KLT的優(yōu)點在于,它獨立于圖像內(nèi)容。DCT用于使圖像信號去相關(guān),并用于將信號能量壓緊在例如從相應(yīng)像素塊獲得得8*8系數(shù)塊內(nèi)的較少位置。在DCT后面,通常進行量化和熵編碼。如上所述,量化過程常常丟棄圖像細(xì)節(jié),以便獲得高壓縮比。因此,在量化過程中,關(guān)鍵的是保持最重要的圖像信息(即系數(shù))、而丟棄不太重要的系數(shù)。這可以通過修改量化矩陣中的量化器除數(shù)值來實現(xiàn)。如果可用于對圖像或片編碼的輸出比特率被預(yù)先確定,或者其它編碼參數(shù)被固定,則使用自適應(yīng)量化矩陣的特征促進了對塊中不同頻率位置進行選擇的靈活性。選擇良好量化矩陣的目的是更佳的(可測量的)編碼/解碼質(zhì)量,尤其是更佳的主觀質(zhì)量,在高比特率視頻編碼應(yīng)用中該目的甚至更有吸引力。H.264FRExt中也重新引入了8*8變換[4]。關(guān)于圖像和視頻編碼中使用的8*8DCT系數(shù),已經(jīng)進行了許多研究[5][6][7],如感覺最佳量化矩陣設(shè)計和主觀質(zhì)量評價[5][8][9]。
JPEG將圖像分成小的8*8塊,并對每個塊使用DCT。在變換處理中,MPEG-2象JPEG一樣處理I幀[1]。因此,當(dāng)為MPEG-2I幀設(shè)計量化矩陣時,幾乎和JPEG中一樣。在H.264FRExt中,當(dāng)對Y分量使用8*8變換時,用于幀內(nèi)塊的默認(rèn)量化矩陣不同于MPEG-2中使用的量化矩陣,這是因為只有幀內(nèi)預(yù)測后的殘差(residue)被編碼,這意味著這些殘差的統(tǒng)計分布不同于DCT系數(shù)自己的統(tǒng)計分布。預(yù)測誤差可以傳播,并且如果量化矩陣改變了,則最佳預(yù)測方式可以相應(yīng)地改變。
對于P幀和B幀,幀間塊編碼是主要的。不失一般性,以下那些情況將被稱為‘幀間塊’,來代替‘P幀’或‘B幀’。對于幀間塊可能出現(xiàn)相同的問題,如DCT誤差傳播的不同分布。然而,對于P幀編碼,由自適應(yīng)量化矩陣造成的誤差傳播不太強,但是仍然造成問題。
Watson等[8]提出了一種為JPEG設(shè)計感覺上最佳的量化矩陣的方法,該方法對于低和極低比特率提供主觀質(zhì)量改善。然而,對于高比特率編碼,這些感覺上最佳的方法不是最佳的。Watson等在根據(jù)頻率閾值處理來設(shè)計圖像相關(guān)量化矩陣的方面,已經(jīng)進行了詳盡的工作[8][10]。在Watson的出版物中,假定人類對不同DCT頻帶的靈敏度是不同的。根據(jù)視覺實驗,測量了所謂的“檢測閾值”,它代表人類可感覺到的最小失真。Watson理論聲稱,該檢測閾值與整個塊的平均亮度以及相應(yīng)頻率分量的絕對值相關(guān)。在確定檢測閾值之后,將每個頻率分量的感覺誤差定義為量化誤差除以檢測閾值。為了組合一幅圖像中所有DCT頻率分量和所有塊的誤差,Watson使用了另一種被稱為‘β-norm’的視覺模型。
發(fā)明內(nèi)容
雖然Waston方法很適用于象JPEG那樣的幀內(nèi)圖像(intra picture)量化矩陣設(shè)計,但是它對于殘留圖像的性能不象預(yù)期的那樣好,尤其是對于高比特率圖像編碼。
為了執(zhí)行高比特率視頻壓縮,重要的是為由于詳細(xì)或復(fù)雜圖像內(nèi)容而使可得平均比特率太受約束的圖像區(qū),保持更多細(xì)節(jié),這意味對于高頻,在量化期間應(yīng)該不只使用較大縮放。Watson方法可以被認(rèn)為是量化誤差的加權(quán)組合。當(dāng)設(shè)計量化矩陣時,公知算法是基于如[5]和[9]中所公開的均方誤差(MSE)優(yōu)化,[5]和[9]將傳統(tǒng)的MSE和某些感覺上最佳的加權(quán)一起用于8*8頻率位置的每一個。權(quán)重可以是塊圖像內(nèi)容自適應(yīng)的或塊無關(guān)的。理論上,如果某些權(quán)重被加到頻率的失真值上,乃至如果只使用量化矩陣,則失真不變性就被破壞。從而,公知方法僅僅試圖定義近似模型。
根據(jù)本發(fā)明,對于自適應(yīng)量化矩陣的設(shè)計或選擇,借助于其它測量來計算失真可以產(chǎn)生更好的結(jié)果。此外,不利用任何形式失真的測量對于最佳量化矩陣的設(shè)計也可以是有效的。人類視覺系統(tǒng)(HVS)也可以從無失真模型開始,來為新測量訓(xùn)練良好權(quán)重。
迄今為止,沒有公知的HVS模型考慮膠片顆粒(film grain)問題,膠片顆粒問題尤其和HD或HDTV質(zhì)量的電影編碼有關(guān)[12]。在這種情況下,對于信號質(zhì)量評價,作為基于失真的客觀質(zhì)量標(biāo)準(zhǔn)的峰值信噪比(PSNR)根本不準(zhǔn)確,這是因為令人愉快的噪聲被加到圖像中。雖然不使用任何傳統(tǒng)的基于MSE的測量或HVS模型,但是保持膠片顆粒的編碼技術(shù)應(yīng)該獲得良好性能。
如上所述,基本上可以將MSE選為確定信號失真的標(biāo)準(zhǔn),并且MSE被廣泛使用,這是因為許多空間如Hilbert空間都使用L2范數(shù)作為能量測量形式。迄今為止,圖像或視頻編碼中使用的變換都是標(biāo)準(zhǔn)正交(即正交和標(biāo)準(zhǔn)化的)變換,例如DCT、Haar小波或Hadamard變換。標(biāo)準(zhǔn)正交變換是距離不變的,因此是能量不變的。因此,應(yīng)該在空間域中累積的信號失真也可以在變換域或頻域中被累積?;谶@個概念,當(dāng)設(shè)計量化矩陣時,借助于人類頻率敏感性的某些視覺模型,大多數(shù)公知方法都基于變換域中每個頻率分量的失真。因此,根據(jù)本發(fā)明,需要一種不同的圖像/視頻質(zhì)量評價或比特分配方法,該方法從基于非MSE(失真)的模型開始,并且將產(chǎn)生更好的主觀結(jié)果,尤其是對于高比特率壓縮。
如以上已經(jīng)提到的,應(yīng)用量化矩陣的目的是,在編碼處理中將較小的縮放值分配給被認(rèn)為是不太重要的頻率分量,并將較大的縮放值分配給更重要的頻率分量。從而,最重要的問題是評價不同頻率分量的重要性。在現(xiàn)有技術(shù)中,把加權(quán)失真用作這種評價的測量,借此高頻分量將被給予大量化除數(shù)值,從而被給予很小的比特分配。然而,在JM FRExt參考軟件中,默認(rèn)幀內(nèi)8*8量化矩陣中縮放的方差小于MPEG-2和MPEG-4默認(rèn)量化矩陣中縮放的方差。主要原因是,幀內(nèi)預(yù)測方法使正常DCT系數(shù)變成殘留DCT系數(shù),并且對于包含豐富細(xì)節(jié)的圖像,具有小方差的量化矩陣更好。因此在媒體或高比特率應(yīng)用中,從默認(rèn)量化矩陣開始,每個頻率分量都應(yīng)該相互競爭,以得到更多的分配位?!畠?yōu)勝者’是那些對于某些測量獲得高性能的頻率分量,它們可能沒有失真形式,但是將更關(guān)心圖像內(nèi)容細(xì)節(jié)。
在設(shè)計量化矩陣的過程中,也應(yīng)該考慮比特約束條件。許多現(xiàn)有技術(shù)都建議DCT AC系數(shù)的分布服從Laplacian分布[6][7][11]p(x)=λ2e-λ|x|,]]>其中p(x)是隨機變量x的概率,λ是均值。對于這種簡單情況,它的標(biāo)準(zhǔn)偏差σ2導(dǎo)致以下均值λ公式λ=2σ.]]>在具有死區(qū)[-Δ,Δ]的量化過程之后,零的百分比p為p=∫-ΔΔλ2e-λ|x|dx=1-e-λΔ.]]>在Zhihai模型[13]中,速率R的下限為R(p)=log2[1+(1-ρ)1-(1-ρ)]=2(1-ρ)log2e+O([1-ρ]3),]]>其中ρ是零的百分比。
雖然有現(xiàn)有技術(shù)聲稱分布更接近于Gaussian或一般化Gaussian分布[6],但是在[13]中這些情況被考慮到了,并且比特率R和非零百分比之間的相同線性關(guān)系被保持。
本發(fā)明要解決的問題是,提供或產(chǎn)生或修改改進的量化矩陣,該改進量化矩陣實現(xiàn)更高的主觀圖像質(zhì)量,并且為由于詳細(xì)或復(fù)雜圖像內(nèi)容而使可得比特率太受約束的圖像區(qū)、保持更多細(xì)節(jié),尤其是在高比特率視頻壓縮中。通過權(quán)利要求1中公開的方法來解決該問題。權(quán)利要求2中公開了使用該方法的設(shè)備。
如上所述,在H.264FRExt中,在大多數(shù)情況下,貫穿整個圖像序列、不同頻率的量化矩陣都被設(shè)置為默認(rèn)或固定的。然而,有一些情況,圖像組(GOP)中的某些區(qū)充滿細(xì)節(jié)或高頻信息。為保持這些細(xì)節(jié)以便提高主觀質(zhì)量,本發(fā)明中公開了幾種為I幀、P幀和B幀產(chǎn)生自適應(yīng)量化矩陣的方法。在H.264FRExt中,量化矩陣是基于片(slice)的,并且每一片都具有圖像參數(shù)集標(biāo)識符(ID),借此可以選擇不同量化矩陣。根據(jù)本發(fā)明,利用快速兩輪或多輪基于頻率的處理來為不同視頻序列產(chǎn)生一個或多個自適應(yīng)量化矩陣,尤其是為I幀、P幀和B幀產(chǎn)生自適應(yīng)量化矩陣。本發(fā)明的量化矩陣產(chǎn)生從默認(rèn)的幀內(nèi)和幀間塊量化矩陣開始,并由此得到對于給定圖像序列感覺上最佳的量化矩陣。在第一輪,構(gòu)造給定圖像序列的量化矩陣,在第二輪將所產(chǎn)生的量化矩陣用于重新編碼那個圖像序列以及產(chǎn)生相應(yīng)比特流。在DCT變換之后,將殘留圖像(預(yù)測之后)重新排序成不同頻率分量。提取量化后系數(shù)的直方圖,以便計算測度或度量。根據(jù)現(xiàn)有技術(shù)的基于失真的測度,利用幾種測度來迭代選擇DCT域中的敏感和不敏感頻率。但是,這是基于每個頻率分量的量化電平分布。諸如死區(qū)中百分比或熵變化的測度或度量用于選擇相當(dāng)重要的頻率分量,以便增大或減小量化矩陣的相應(yīng)值。不同頻率分量的熵之和可以用作測定所得圖像/視頻質(zhì)量的標(biāo)準(zhǔn)。
自適應(yīng)量化矩陣可以是基于片的,即每一片都具有用于選擇不同量化矩陣的圖像參數(shù)集ID。
原則上,本發(fā)明方法適于產(chǎn)生可用于對圖像或圖像序列進行編碼的量化矩陣,其中利用所述量化矩陣對與像素差值塊或預(yù)測像素塊相關(guān)的變換后系數(shù)的編碼塊進行量化,或另外進行逆量化,在所述量化矩陣中特定除數(shù)被賦予系數(shù)塊中系數(shù)位置的每一個,所述方法包括以下步驟加載包括一個用于變換后直流系數(shù)的除數(shù)和多個用于變換后交流系數(shù)的除數(shù)的預(yù)定量化矩陣,作為候選量化矩陣;對于給定圖像或圖像序列,或者對于給定圖像或圖像序列中的片,迭代地a)在所述候選量化矩陣中增大所述交流系數(shù)除數(shù)中的一個或多個,同時在所述候選量化矩陣中減小所述交流系數(shù)除數(shù)中的另外一個或多個,b)對于所得到的(resulting)更新后候選量化矩陣的已改變除數(shù),測量在把更新后候選量化矩陣應(yīng)用于所述編碼中時、所得到的圖像編碼/解碼質(zhì)量是否提高,如果是真的,則對于后面的迭代循環(huán),分別允許所述已改變除數(shù)的進一步增大或減小,
如果不是真的,嘗試增大和減小所述除數(shù)中的其它除數(shù),以及/或者顛倒所述已改變除數(shù)的增大和減??;c)對于所述已改變除數(shù)的每一個,檢查在迭代循環(huán)中它是否被增大及減小了,并且如果是真的,則將預(yù)定標(biāo)記值賦予這種除數(shù),并從所述除數(shù)標(biāo)記值來計算矩陣狀態(tài)值;如果迭代次數(shù)超過第一閾值或者矩陣狀態(tài)值超過第二閾值,則輸出最新候選量化矩陣作為所述量化矩陣。
原則上,本發(fā)明的設(shè)備適于產(chǎn)生可用于對圖像或圖像序列進行編碼的量化矩陣,其中利用所述量化矩陣對與像素差值塊或預(yù)測像素塊相關(guān)的變換后系數(shù)的編碼塊進行量化,或另外進行逆量化,在所述量化矩陣中特定除數(shù)被賦予系數(shù)塊中系數(shù)位置的每一個,所述設(shè)備包括適于以下步驟的裝置加載包括一個用于變換后DC系數(shù)的除數(shù)和多個用于變換后AC系數(shù)的除數(shù)的預(yù)定量化矩陣,作為候選量化矩陣;對于給定圖像或圖像序列,或者對于給定圖像或圖像序列中的片,迭代地a)在所述候選量化矩陣中增大所述交流系數(shù)除數(shù)中的一個或多個,同時在所述候選量化矩陣中減小所述交流系數(shù)除數(shù)中的另外一個或多個,b)對于所得到的更新后候選量化矩陣的已改變除數(shù),測量在把更新后候選量化矩陣應(yīng)用于所述編碼中時、所得到的圖像編碼/解碼質(zhì)量是否提高,如果是真的,則對于后面的迭代循環(huán),分別允許所述已改變除數(shù)的進一步增大或減小,如果不是真的,嘗試增大和減小所述除數(shù)中的其它除數(shù),以及/或者顛倒所述已改變除數(shù)的增大和減?。籧)對于所述已改變除數(shù)的每一個,檢查在迭代循環(huán)中它是否被增大及減小了,并且如果是真的,則將預(yù)定標(biāo)記值賦予這種除數(shù),并從所述除數(shù)標(biāo)記值來計算矩陣狀態(tài)值;如果迭代次數(shù)超過第一閾值或者矩陣狀態(tài)值超過第二閾值,則輸出最新候選量化矩陣作為所述量化矩陣。
在各自從屬權(quán)利要求中,公開了本發(fā)明的有利附加實施例。
參考附圖來描述本發(fā)明的示范性實施例,其中圖1顯示了HDTV序列Kung_fu中幀內(nèi)塊的DCT系數(shù)分布;圖2顯示了那個序列中幀間塊的DCT系數(shù)分布;圖3顯示了量化矩陣產(chǎn)生過程的流程圖;圖4顯示了本發(fā)明編碼器的框圖。
具體實施例方式
以下將描述幾種既用于幀內(nèi)塊、又用于幀間塊的量化矩陣的自適應(yīng)計算方法。這些方法可用于所有基于離散余弦變換(DCT)的圖像或視頻編碼標(biāo)準(zhǔn)中,如JPEG、MPEG-2和MPEG-4 H.264 FRExt,并且為量化過程提供靈活性,以改善主觀或客觀質(zhì)量,乃至調(diào)節(jié)比特率。對于高清晰(HD)視頻編碼,8*8尺寸變換的執(zhí)行好于4*4尺寸變換。因此,如果沒有另外聲明,則在以下描述中,對于幀內(nèi)塊和幀間塊,4*4變換被禁用,且量化矩陣都具有8*8尺寸。
圖1顯示了HDTV序列Kung_fu中所有幀內(nèi)8*8塊的64個DCT系數(shù)的幅度電平(即直方圖)的平均分布。每幅小圖像都和DCT位置對應(yīng)。水平坐標(biāo)是量化的幅值(電平),垂直坐標(biāo)是量化后該電平的系數(shù)數(shù)目。小圖像按按光柵次序排列,即直方圖的上行代表從左到右按升序排列的完全水平8*8塊頻率,而直方圖的左列代表從頂?shù)降装瓷蚺帕械耐耆怪鳖l率。圖2顯示了該序列中所有幀間塊的DCT系數(shù)的相應(yīng)分布。由圖1和圖2,顯然大多數(shù)頻率分量都不是壓緊或集中在零頻率(即直流(DC))附近的區(qū)域(即左上邊)中,而是具有較寬的分布。一方面,只有一些高頻分量壓緊為幾乎出現(xiàn)零次。另一方面,有一些特殊情況,高頻分量具有類似于某些低頻分量的大方差。這意味著,這些高頻分量是重要的,并且不應(yīng)象在公知的量化矩陣中那樣得到減小的權(quán)重。對于視頻序列編碼/解碼之后的膠片顆粒保留,那些頻率分量也可能是重要的。
以下假定如果給定頻率系數(shù)的幅度具有較大的方差,則與具有較小幅度方差的頻率分量的量化縮放減小相比,相應(yīng)量化縮放的小幅減小將不造成高得多的總質(zhì)量提高。因此,對于具有較小幅度方差的頻率分量的量化縮放,可以給予較高的比特分配。
進一步假定,改變量化矩陣中的幾個參數(shù)將不影響幀內(nèi)方式?jīng)Q定過程和幀間運動補償與方式?jīng)Q定。
雖然不使用均方誤差(MSE)失真測量,但是可以使用其它測量如非零幅度百分比和/或每個頻率分量的熵,來決定量化矩陣中的哪些縮放值將減小或增大。有利地,這意味著,在某種程度上也可以用那些測量來評價編碼/解碼質(zhì)量。
以下,使用術(shù)語‘量化參數(shù)’(以QP表示)。QP代表量化過程中的又一除數(shù)。對于8*8塊中的每個頻率分量,該除數(shù)都具有相同值。根據(jù)以下公式來從變換系數(shù)coefij計算量化的變換系數(shù)coefqijcoefqij=coefij/QP/QMij,其中QM是量化矩陣,并且i和j是8*8塊中的水平和垂直位置索引。根據(jù)本發(fā)明,在第一輪期間可以使用小QP‘20’來訓(xùn)練量化矩陣產(chǎn)生,這是因為高比特率壓縮是目標(biāo)。對于極高比特率壓縮,該QP數(shù)可以更小。根據(jù)另一實施例,第一輪期間可能的QP配置是,將第二輪中的最后QP復(fù)制到第一遍中,即使用目標(biāo)QP來訓(xùn)練量化矩陣。
在量化矩陣的每一次調(diào)節(jié)期間,量化矩陣中的幾個縮放值減小,同時其它幾個縮放值增大,以便使所得比特率保持近似恒定。DC分量的縮放值保持不變。
可以通過只考慮I幀,來產(chǎn)生幀內(nèi)塊的量化矩陣。然而,幀間塊量化矩陣的產(chǎn)生是不同的可以使用P幀的幀間塊。根據(jù)這種塊的運動矢量,塊選擇過程對幀間塊也是有用的。
但是,一旦塊數(shù)據(jù)被接收和變換,幀內(nèi)塊和幀間塊量化矩陣的調(diào)節(jié)過程就是相同的,并且只需要考慮殘差。
不失一般性,只詳細(xì)描述產(chǎn)生幀內(nèi)塊量化矩陣的過程步驟0 T=0;M_Status[8][8]={0,0...},其中T是循環(huán)計數(shù)器,M_Status是矩陣M的元素的狀態(tài)矩陣。
步驟1 M=M0,encode_slice(),其中M0是初始量化矩陣,M是更新量化矩陣。
步驟2 TM=M,其中TM是候選或測試量化矩陣。
對于除(i,j)=(0,0)以外的每個0≤i,j<8TMij=Shrink(Mij)Metricij=Function(m,TMij)步驟3 通過63個位置的Metricij來選擇N個最好位置{Pk}和L個最差位置{Pm}。如下所述,將用測量或度量來評價‘最好’和‘最差’位置。
更新M和M_Status使T遞增‘1’步驟4 如果(T>threshold1或者ABS(M_Status>threshold2),則轉(zhuǎn)到步驟6,否則轉(zhuǎn)到步驟5。
步驟5 如果(need_re-encode()),則M0=M,轉(zhuǎn)到步驟1,否則轉(zhuǎn)到步驟2。
步驟6 M0=M,運行另一遍編碼,以得到最終比特流。
圖3中描述了量化矩陣產(chǎn)生過程的相應(yīng)流程圖,圖中顯示了步驟0到步驟6。
關(guān)于以上列出步驟的一些注釋a)在步驟2中,只需要考慮殘留圖像。
b)在步驟2中,Shrink()函數(shù)被定義為候選量化矩陣M中要改變的所有縮放值與因子例如β=0.88的乘積。
c)在步驟3中,更新矩陣M把候選或測試量化矩陣TM中的相應(yīng)值用于最好位置。對于最差位置,使用和相應(yīng)因子例如1/β的乘積。
d)在步驟3中,對于矩陣M的狀態(tài)矩陣M_Status的更新,可以使用以下策略對于每個頻率分量,都計算縮放增大或減小的次數(shù)。一旦對于相同頻率分量,系數(shù)的增大和減小都發(fā)生了,則M_Status中的相應(yīng)值將被設(shè)置為大數(shù),由此將禁止對那個頻率分量進行進一步縮放調(diào)節(jié)。
e)在步驟4中,ABS(M_Status)是矩陣M_Status中所有值的絕對值之和。
f)在步驟6中,可以執(zhí)行重新編碼過程直到最后一次編碼為止,但是優(yōu)選地,之前記錄量化矩陣。
g)對于幀間圖像,可以一起考慮來自幾個幀的幀間塊,以獲得那些幀間圖像的量化矩陣。可以利用視頻分析將幀分成分區(qū)或片。因為幀間量化矩陣的縮放值一般較小,所以優(yōu)選地因子β大于幀內(nèi)量化矩陣中所用的因子β。另一種方式是將β設(shè)置為‘1’,并且僅僅增加或減小‘1’來分別增大或減小縮放值。然而,實驗顯示,幀內(nèi)塊量化矩陣的設(shè)計比幀間塊量化矩陣的設(shè)計要重要得多。
h)實驗顯示,即使按照步驟5對幀進行重新編碼,最終量化矩陣M也將不出現(xiàn)大變化。因此,可以總是忽視重新編碼步驟,并且不是在步驟4之后繼續(xù)執(zhí)行步驟5,而是可以直接轉(zhuǎn)到步驟2。
如步驟2中所使用的函數(shù)(以F表示)是重要的。F是和量化矩陣的縮放將要造成的變化相關(guān)的測量。以下,在沒有特別說到的情況下,對單一頻率分量或系數(shù)位置計算所有參數(shù)和測量。
如果縮放比例縮小,則在應(yīng)用當(dāng)前測試量化矩陣之后對所有塊計算的給定頻率分量的非零系數(shù)百分比將改變。F被定義為F=(ρ0-ρ1)/(1-ρ0),其中ρi是某個頻率分量的零百分比,下標(biāo)‘0’對應(yīng)于舊縮放,而下標(biāo)‘1’對應(yīng)于新縮放。對于分母為零的情況,需要進行特殊處理。F越大,某個頻率分量就越重要。因此,可以選擇最好的頻率分量和最差的頻率分量。一次要調(diào)節(jié)的最好頻率分量數(shù)目的可能選擇是N=4,要調(diào)節(jié)的最壞頻率分量數(shù)目是L=2。在量化之后,計算非零系數(shù)數(shù)目或非零值百分比。換句話說,此時要緊的只是每個量化后的系數(shù)的幅度電平。對于具有W*H尺寸的幀內(nèi)圖像(intra-frame),按照幀內(nèi)預(yù)測,有No_block=(W/8)*(H/8)個塊。在8*8變換后,每個塊都有一個DC系數(shù)和63個交流(AC)系數(shù)。對于給定量化矩陣,相同頻率分量ACij的No_block個AC系數(shù)被量化,并且該頻率分量的幅度電平直方圖被獲得作為Hisij。因此,在量化后,作為簡單統(tǒng)計變量的ρ=Hisij(0)只關(guān)心‘0’電平系數(shù)的數(shù)目。處于死區(qū)(dead zone)(其中所有系數(shù)都將被量化為0的區(qū)域)的系數(shù)數(shù)目是頻率分量非常重要的信息,并且系數(shù)是否處于死區(qū)有很大差別。
對于Laplacian情況,
F=(ρ0-ρ1)/(1-ρ0)=(e-λW0-e-λW1)/(e-λW0)=1-e-λ(W1-W0)]]>其中W0和W1是在調(diào)節(jié)一次縮放前后,系數(shù)要跳出死區(qū)的最小值。即(例如)只有當(dāng)α≥Wi時,以‘α’表示的系數(shù)才能跳出死區(qū),由此得到‘1’電平。
對于更一般的分布,可以假定,某個頻率分量的概率分布函數(shù)P(x≤X)在
范圍中,其中‘x’是隨機變量,‘X’是正實數(shù)。
于是,F(xiàn)=P(x≤W0)-P(x≤W1)1-P(x≤W0)=P(W1<x≤W0)P(W0<x).]]>在此,為簡單起見,只討論隨機變量分布在正區(qū)(positive area)的情況。此外,如果使用W1=W0β,則F=P(βW0<x≤W0)P(W0<x).]]>因此,測量F取決于分量的起始縮放值W0和幅值分布。如果兩個頻率分量始于相同縮放值,則更加緊縮的分量將有機會減小除法因子,即有機會縮小縮放值。
根據(jù)人類視覺系統(tǒng)(HVS),默認(rèn)的量化矩陣為不同的分量設(shè)置不同的縮放值。當(dāng)與默認(rèn)量化矩陣相比,本發(fā)明的方法保持默認(rèn)量化矩陣的大體結(jié)構(gòu),但是調(diào)節(jié)了一些分量,以便簡化幅值分布。優(yōu)選地,在某些相似條件下,通過將較高的比特分配給予更緊縮的頻率分量來縮小死區(qū)。
對于幀內(nèi)塊,因為AC系數(shù)的分布,所以在量化過程期間,大多數(shù)系數(shù)都落入死區(qū)中,這意味著AC系數(shù)值的所有信息都丟失了、或者被大大消去了。如上所述,根據(jù)高頻系數(shù)可能代表噪聲或者可能對于人類視覺系統(tǒng)不太敏感這一假定,公知編碼標(biāo)準(zhǔn)的默認(rèn)量化矩陣常常將大量化除數(shù)賦予高頻。對于幀間塊,可以利用相同策略來獲得更好的量化矩陣。對于某些視頻序列,迄今對于幀間塊的結(jié)果不明顯。但是,即使幀間塊量化矩陣沒有改變,因為更好的幀內(nèi)塊量化矩陣,在后面的許多幀中都可以注意到更好的主觀質(zhì)量。
在本發(fā)明中,定義了頻率分量敏感性的幾種測度。例如,度量或測度應(yīng)該代表跳出死區(qū)的系數(shù)值數(shù)目和已經(jīng)在死區(qū)之外的系數(shù)值數(shù)目之間的比例。
下表顯示了可以用于視頻序列kung_fu的量化矩陣
如果每個頻率分量的幅度電平直方圖包含的信息比零幅度多,則更一般的度量或測度和每個頻率分量的熵有關(guān)。對于頻率分量(i,j),熵為Hij=Σl-Hisij(l)log2Hisij(l)]]>因此,可以將另一種測度定義為ΔFij=ΔHij。對于先前縮放中有極少數(shù)非零電平、并且縮放的當(dāng)前縮小之后有幾個系數(shù)跳出死區(qū)的情況,該測度非常有用。而且,在頻率分量有許多非零電平的情況下,相同的系數(shù)變化將不導(dǎo)致相應(yīng)熵的大幅增加。在量化之后,所有DCT值都被量化為幅度電平l=0,1,2及更高電平。為了給出每個頻率分量熵的更有效表示,將Hij公式中的電平剪切為有符號值0、-1、1、-2、2、-3、3等等。即,絕對值大于‘3’的電平分別被處理為‘3’或‘-3’。這種方法是基于以下經(jīng)驗大多數(shù)系數(shù)都處于死區(qū),并且只有極少數(shù)高幅值電平。
當(dāng)考慮提高主觀質(zhì)量時,必須記住,利用默認(rèn)量化矩陣編碼的視頻序列的比特率和利用本發(fā)明量化矩陣編碼的視頻序列的比特率通常不完全相同。這意味著,保持比特率是影響量化矩陣評定的另一個重要問題??梢钥紤]另一種測度fij=ΔHij/ΔRij,其中ΔRij是由于使用修改的候選量化矩陣而造成的比特率差。用相同比特率來獲得多數(shù)熵值E=Σi,jHij.]]>換句話說,比特分配策略傾向于具有更多熵增加的頻率分量。然而,該測量極其耗時,這是因為只有在編碼過程之后才能確定真實比特率為了得到63個Fij值,需要對幀(乃至完整視頻序列)重新編碼至少63次。為避免這種冗長計算,可以使用ΔR的估計,如Zhihai的基于ρ域模型(見[13])。
在圖4中,編碼器的視頻數(shù)據(jù)輸入信號IE包含例如16*16宏塊數(shù)據(jù),該宏塊數(shù)據(jù)包括用于編碼的亮度和色度像素塊。在要對視頻數(shù)據(jù)進行幀內(nèi)或場內(nèi)編碼(I方式)的情況下,視頻數(shù)據(jù)通過未修改的減法器SUB。此后,例如16*16宏塊中的8*8像素塊在離散余弦變換裝置DCT和量化裝置Q中被處理,并且通過熵編碼器ECOD被饋給復(fù)用器MUX,復(fù)用器MUX輸出編碼器視頻數(shù)據(jù)輸出信號OE。熵編碼器ECOD可以對量化的DCT系數(shù)執(zhí)行Huffman編碼。在復(fù)用器MUX中,頭信息和運動矢量數(shù)據(jù)MV以及可能編碼后的音頻數(shù)據(jù),和編碼的視頻數(shù)據(jù)相結(jié)合。在要對視頻數(shù)據(jù)進行幀間或場間編碼的情況下,在減法器SUB中,基于塊從輸入信號IE減去預(yù)測的宏塊數(shù)據(jù)PMD,并且將8*8塊差值數(shù)據(jù)通過變換裝置DCT和量化裝置Q饋給熵編碼器ECOD。量化裝置Q的輸出信號也在相應(yīng)的逆量化裝置QE-1中被處理,逆量化裝置QE-1的輸出信號以重構(gòu)塊或宏塊差值數(shù)據(jù)RMDD的形式、通過相應(yīng)的逆離散余弦變換裝置DCTE-1被饋給組合器ADDE。ADDE的輸出信號被緩存在運動補償裝置FS_MC_E的圖像存儲器中,運動補償裝置FS_MC_E對重構(gòu)的宏塊數(shù)據(jù)執(zhí)行運動補償,并將相應(yīng)預(yù)測的宏塊數(shù)據(jù)PMD輸出到SUB的減輸入以及組合器ADDE的另一輸入。例如,通過熵編碼器ECOD中的編碼器緩沖器的占用等級(occupancy level)來控制量化裝置Q和逆量化裝置QE-1的特性。運動估計器ME接收輸入信號IE,并向運動補償裝置FS_MC_E提供必需的運動信息,而且向復(fù)用器MUX提供運動矢量數(shù)據(jù)MV,以便傳輸給相應(yīng)解碼器、并在相應(yīng)解碼器中進行計算。QE-1、DCTE-1、ADDE和FS_MC_E組成接收器端解碼器的模擬。量化裝置Q和逆量化裝置QE-1連接到量化矩陣計算器QMC,量化矩陣計算器QMC按照上述本發(fā)明處理來操作。
以上描述涉及亮度塊。對于色度分量,量化矩陣為4*4,然而可以實施相同的調(diào)節(jié)方案,來根據(jù)默認(rèn)量化矩陣得到改進的4*4量化矩陣。
另外,可以為不同塊尺寸和/或場和幀宏塊編碼方式產(chǎn)生特殊量化矩陣。
在使用其它塊尺寸的情況下,相應(yīng)地修改所給出的數(shù)。
本發(fā)明具有幾個優(yōu)點產(chǎn)生量化矩陣的過程具有低復(fù)雜性。該過程較快。所得到的(resulting)量化矩陣可以用于高質(zhì)量和媒體或高比特率應(yīng)用,這是因為所使用的測量更關(guān)心詳細(xì)頻率分量。它具有保持膠片顆粒的可能性。因為只對幀編碼一次、并且聚焦于殘留圖像,并且因為將很簡單的統(tǒng)計量用于每個頻率分量,所以可實現(xiàn)第一個優(yōu)點。這些統(tǒng)計量不需要關(guān)心任何形式的失真。
只需要在[-1,1]范圍內(nèi)調(diào)節(jié)量化參數(shù),來得到和原始比特率相對應(yīng)的接近比特率。
權(quán)利要求
1.一種產(chǎn)生(QMC)用于對圖像或圖像序列進行編碼的量化矩陣(M)的方法,其中利用所述量化矩陣對與像素差值塊或預(yù)測像素塊(PMD)相關(guān)的變換后(DCT)系數(shù)的編碼塊進行量化(Q),或另外進行逆量化(QE-1),在所述量化矩陣中特定除數(shù)被賦予系數(shù)塊中系數(shù)位置的每一個,其特征在于以下步驟加載包括一個用于變換后直流系數(shù)的除數(shù)以及多個用于變換后交流系數(shù)的除數(shù)的預(yù)定量化矩陣(M0),作為候選量化矩陣(TM);對于給定圖像或圖像序列,或者對于給定圖像或圖像序列中的片,以迭代地a)在所述候選量化矩陣(M)中增大所述交流系數(shù)除數(shù)中的一個或多個,同時在所述候選量化矩陣(M)中減小所述交流系數(shù)除數(shù)中的另外一個或多個,b)對于所得到的更新后候選量化矩陣(TM)的已改變除數(shù),測量在把更新后候選量化矩陣應(yīng)用于所述編碼中時、所得到的圖像編碼/解碼質(zhì)量是否提高,如果是真的,則對于后面的迭代循環(huán),分別允許所述已改變除數(shù)的進一步增大或減小,如果不是真的,嘗試增大和減小所述除數(shù)中的其它除數(shù),以及/或者顛倒所述已改變除數(shù)的增大和減?。籧)對于所述已改變除數(shù)的每一個,檢查在迭代循環(huán)中它是否被增大及減小了,并且如果是真的,則將預(yù)定標(biāo)記值賦予這種除數(shù),并從所述除數(shù)標(biāo)記值來計算矩陣狀態(tài)值(M_Status);如果迭代次數(shù)超過第一閾值或者矩陣狀態(tài)值(M_Status)超過第二閾值,則輸出最新候選量化矩陣作為所述量化矩陣(M)。
2.一種產(chǎn)生用于對圖像或圖像序列進行編碼的量化矩陣(M)的設(shè)備,其中利用所述量化矩陣對與像素差值塊或預(yù)測像素塊(PMD)相關(guān)的變換后(DCT)系數(shù)的編碼塊進行量化(Q),或另外進行逆量化(QE-1),在所述量化矩陣中特定除數(shù)被賦予系數(shù)塊中系數(shù)位置的每一個,所述設(shè)備包括適于以下步驟的裝置(QMC)加載包括一個用于變換后直流系數(shù)的除數(shù)和多個用于變換后交流系數(shù)的除數(shù)的預(yù)定量化矩陣(M0),作為候選量化矩陣(TM);對于給定圖像或圖像序列,或者對于給定圖像或圖像序列中的片,迭代地a)在所述候選量化矩陣(M)中增大所述交流系數(shù)除數(shù)中的一個或多個,同時在所述候選量化矩陣(M)中減小所述交流系數(shù)除數(shù)中的另外一個或多個,b)對于所得更新后候選量化矩陣(TM)的已改變除數(shù),測量在把更新后候選量化矩陣應(yīng)用于所述編碼中時、所得圖像編碼/解碼質(zhì)量是否得到提高,如果是真的,則對于后面的迭代循環(huán),分別允許所述已改變除數(shù)的進一步增大或減小,如果不是真的,嘗試增大和減小所述除數(shù)中的其它除數(shù),以及/或者顛倒所述已改變除數(shù)的增大和減?。籧)對于所述已改變除數(shù)的每一個,檢查在迭代循環(huán)中它是否被增大及減小了,并且如果是真的,則將預(yù)定標(biāo)記值賦予這種除數(shù),并從所述除數(shù)標(biāo)記值來計算矩陣狀態(tài)值(M_Status);如果迭代次數(shù)超過第一閾值或者矩陣狀態(tài)值(M_Status)超過第二閾值,則輸出最新候選量化矩陣作為所述量化矩陣(M)。
3.根據(jù)權(quán)利要求1所述的方法或者根據(jù)權(quán)利要求2所述的設(shè)備,其中為幀內(nèi)塊和幀間塊,并且任選地為亮度和色度塊、不同塊尺寸、場和幀宏塊編碼方式中的一個或多個,產(chǎn)生單獨的量化矩陣。
4.根據(jù)權(quán)利要求1或3所述的方法或者根據(jù)權(quán)利要求2或3所述的設(shè)備,其中每次迭代循環(huán)都通過固定系數(shù)來執(zhí)行除數(shù)的所述增大和減小。
5.根據(jù)權(quán)利要求1、3、4之一所述的方法或者根據(jù)權(quán)利要求2至4之一所述的設(shè)備,其中對于塊中的每個頻率分量位置都建立系數(shù)幅度分布統(tǒng)計量,并且在所述迭代中將分布統(tǒng)計量用于調(diào)節(jié)所述候選量化矩陣。
6.根據(jù)權(quán)利要求5所述的方法或設(shè)備,其中計算量化后非零系數(shù)百分比和/或塊中每個頻率分量位置的熵,作為分布統(tǒng)計量。
7.根據(jù)權(quán)利要求6所述的方法或設(shè)備,其中在把量化后系數(shù)的幅度電平剪切到預(yù)定區(qū)間之后計算熵。
8.根據(jù)權(quán)利要求6或7所述的方法或設(shè)備,其中在所述量化矩陣產(chǎn)生過程中計算熵和輸出比特率。
9.根據(jù)權(quán)利要求8所述的方法或設(shè)備,其中在所述量化矩陣產(chǎn)生過程中,計算由當(dāng)前候選量化矩陣和先前候選量化矩陣產(chǎn)生的比特率之差。
10.根據(jù)權(quán)利要求6至9之一所述的方法或設(shè)備,其中將熵之和用作所述圖像編碼/解碼質(zhì)量的評價標(biāo)準(zhǔn)。
11.利用根據(jù)權(quán)利要求1和3至10之一的方法產(chǎn)生的量化矩陣來對圖像或圖像序列進行編碼的方法。
全文摘要
公開了一種產(chǎn)生對圖像或圖像序列進行編碼的量化矩陣的方法和設(shè)備,其中通過量化像素塊的變換后頻率系數(shù)或分量,來實現(xiàn)視頻編碼中的數(shù)據(jù)率大大減小效果,使得此后只需要對較少的幅度電平編碼,并且一部分量化的幅值變?yōu)?、且不需要被編碼為量化的幅值。本發(fā)明的量化矩陣產(chǎn)生始于默認(rèn)量化矩陣,并由此得到對于給定圖像序列感覺上最佳的量化矩陣。在第一遍,通過同時增大某些系數(shù)位置的縮放值并減小其它一些系數(shù)位置的縮放值,來為給定圖像序列迭代地構(gòu)造候選量化矩陣。在第二遍,將所產(chǎn)生的量化矩陣應(yīng)用于圖像序列重新編碼。
文檔編號H04N7/26GK1794815SQ20051013691
公開日2006年6月28日 申請日期2005年12月20日 優(yōu)先權(quán)日2004年12月22日
發(fā)明者陳穎, 翟杰夫 申請人:湯姆森許可貿(mào)易公司