專(zhuān)利名稱(chēng):圖像編碼/解碼方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于編碼/解碼視頻或靜止圖像的圖像編碼/解碼方法及其裝置。
背景技術(shù):
近年來(lái),通過(guò)結(jié)合ITU-T和ISO-IEC,為ITU-TRec.H.264和ISO/IEC14496-10提出了一種與以前相比編碼效率大幅提高的視頻編碼方法(ISO/IEC 14496-102003 information technology-Coding ofaudio-visual objects-Part 10Advanced Video Coding)(稱(chēng)為H.264)。常規(guī)的編碼系統(tǒng),諸如ISO/IECMPEG-1,2,4,ITU-TH.261,H.263利用8*8塊的二維離散余弦變換(DCT)進(jìn)行壓縮。相反,由于H.264編碼系統(tǒng)使用4*4塊的二維整數(shù)正交變換,其無(wú)需考慮IDCT失配,并且能夠利用16比特寄存器實(shí)現(xiàn)操作。
并且,所述H.264編碼系統(tǒng)可以通過(guò)加法和比特移位來(lái)實(shí)現(xiàn)正交變換處理和量化處理。類(lèi)似于所述正交變換和量化處理,可通過(guò)加法和比特移位來(lái)實(shí)現(xiàn)反量化處理和逆整數(shù)正交變換處理。
進(jìn)一步,在H.264中,為了實(shí)現(xiàn)諸如高清晰電視圖像的高分辨率圖像的編碼效率或者主觀圖像質(zhì)量的提高,進(jìn)行了包括新編碼工具的類(lèi)(profile)的開(kāi)發(fā)。例如,在H.264的高類(lèi)(high profile)(Joint Video Team(JVT)of ISO/IEC MPEG & ITU-T VCEG,12th MeetingRedmond,WA,USA 17-23 July,2004,“JVT-L047d8”)中,希望引入諸如8*8塊的二維整數(shù)正交變換或MPEG-2的量化矩陣技術(shù)(ISO/IEC 13818-22000information technology-Genetic coding of moving pictures and associatedaudio informationVideo),并且提供一種指向高分辨率圖像和主觀圖像質(zhì)量的類(lèi)。
基于如下等式(1)進(jìn)行圖像編碼中的一般的量化處理。
Xij=int(|Yij|+fQstep)·sgn(Yij)---(1)]]>其中Xij表示量化后的變換系數(shù)矩陣,Qstep為量化步長(zhǎng),而Yij為變換系數(shù)矩陣。另一方面,基于如下等式(2)進(jìn)行一般的反量化處理。
Yij′=Xij×Qstep(2)在H.264中,進(jìn)行如下等式所示的反量化,以利用少量運(yùn)算實(shí)現(xiàn)16比特的運(yùn)算精度。例如,在如下等式(3)中示出了H.264高類(lèi)的反量化處理(4*4像素塊的誤差信號(hào))。
Yij=Xij×LS(m,i,j)<<(QP/6) (3)其中級(jí)別標(biāo)度(level scale)LS(m,i,j)是通過(guò)如下等式(4)定義的值,而QP是量化參數(shù),其表示在從0到51范圍內(nèi)的值。
LS(m,i,j)=WS(i,j)×Norm(m,i,j) (4)Norm(m,i,j)表示通過(guò)等式(5)表達(dá)的標(biāo)度調(diào)整參數(shù),并且通過(guò)等式(6)表達(dá)每個(gè)元素。
vm,n=101613111814132016142318162520181923---(6)]]>進(jìn)一步,WS(i,j)表示量化矩陣,并且能夠選擇通過(guò)例如等式(7)表達(dá)的矩陣。
WS(i,j)=6122027122027322027323727323741---(7)]]>在H.264中,等式(3)的QP值(量化參數(shù))被規(guī)定,從而在宏塊中有相同的值。所述高類(lèi)可采用4*4塊和8*8塊兩種變換塊尺寸。同時(shí),可利用所述4*4塊和8*8塊兩種量化塊尺寸進(jìn)行所述量化處理。
例如,H.264的幀內(nèi)預(yù)測(cè)對(duì)于4*4塊和8*8塊的每一個(gè)而言有九種模式,而對(duì)于16*16塊而言有四種模式。通過(guò)對(duì)根據(jù)所述預(yù)測(cè)模式或所述塊尺寸發(fā)生的預(yù)測(cè)誤差進(jìn)行正交變換得到的變換系數(shù)的分布對(duì)每個(gè)塊而言有所不同。類(lèi)似地,在幀間預(yù)測(cè)中,可從七種運(yùn)動(dòng)補(bǔ)償塊尺寸的塊中選擇任意塊。由于從多個(gè)參考圖像提供的運(yùn)動(dòng)向量,使得有許多種預(yù)測(cè)組合。因此,由于宏塊中的預(yù)測(cè)塊尺寸及參考圖像互不相同,通過(guò)對(duì)所述預(yù)測(cè)誤差進(jìn)行正交變換得到的變換系數(shù)的分布傾向于對(duì)每塊都不同。
進(jìn)一步,在H.264中,可對(duì)每個(gè)序列或每個(gè)圖片(picture)改變所述量化矩陣。由于所述量化矩陣特別地對(duì)于提高主觀圖像質(zhì)量有很大地貢獻(xiàn),根據(jù)將被編碼圖像設(shè)計(jì)最佳矩陣是十分重要的。然而,所述矩陣初始地被頻域中的系數(shù)分布進(jìn)行加權(quán),從而當(dāng)對(duì)于每塊而言所述系數(shù)分布不同時(shí),所述最佳矩陣對(duì)于每個(gè)像素區(qū)域有所不同。
如上討論的,在H.264中,不能根據(jù)所述宏塊中的預(yù)測(cè)塊形狀以及預(yù)測(cè)模式來(lái)改變所述反量化器。于是,存在這樣的問(wèn)題,即,所述宏塊的小像素塊中的所述變換系數(shù)不能被精細(xì)地控制。
進(jìn)一步,當(dāng)利用給定的量化矩陣,通過(guò)H.264高類(lèi)中規(guī)定的方法,為每個(gè)宏塊對(duì)量化參數(shù)進(jìn)行確定和反量化時(shí),存在這樣的問(wèn)題,即,不能根據(jù)所述宏塊中的預(yù)測(cè)塊形狀以及預(yù)測(cè)方法來(lái)控制變化系數(shù)。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種視頻編碼方法,其用于通過(guò)參照量化碼表以小于宏塊的塊為單位對(duì)預(yù)測(cè)誤差信號(hào)進(jìn)行量化來(lái)對(duì)圖像進(jìn)行編碼。
本發(fā)明的一個(gè)方面在于提供一種圖像編碼方法,其用于根據(jù)編碼模式對(duì)圖像信號(hào)進(jìn)行編碼,所述方法包括根據(jù)來(lái)自對(duì)應(yīng)于通過(guò)分割輸入圖像信號(hào)產(chǎn)生的多個(gè)宏塊中的每個(gè)宏塊的宏塊信號(hào)的多種編碼模式中的每一種來(lái)產(chǎn)生預(yù)測(cè)信號(hào)和編碼模式信息;從多個(gè)量化碼表中選擇對(duì)應(yīng)于每個(gè)宏塊的量化碼表;基于所述宏塊信號(hào)和所述預(yù)測(cè)信號(hào)產(chǎn)生所述編碼模式中的每一種的預(yù)測(cè)誤差信號(hào);對(duì)所述預(yù)測(cè)誤差信號(hào)進(jìn)行正交變換;利用對(duì)應(yīng)于所述宏塊的所述量化碼表,在改變所述宏塊中復(fù)數(shù)的亞像素塊(sub-pixel-block)的每一個(gè)的量化參數(shù)時(shí)量化所述正交變換的預(yù)測(cè)誤差信號(hào),以產(chǎn)生量化變換系數(shù);對(duì)所述量化變換系數(shù)進(jìn)行編碼;從所述編碼的量化變換系數(shù)的編碼失真以及編碼比特的數(shù)目來(lái)計(jì)算編碼代價(jià)(encodingcost);基于所述編碼代價(jià)從所述編碼模式中選擇一種編碼模式;基于所述編碼代價(jià)從所述量化碼表中選擇一個(gè)量化碼表;以及對(duì)指示所述輸入圖像信號(hào)的每個(gè)編碼部分的所述選擇的量化碼表的索引的信息進(jìn)行編碼,其中所述編碼部分包括所述輸入圖像信號(hào)的幀以及所述幀的區(qū)域中的一個(gè)。
圖1為根據(jù)本發(fā)明第一實(shí)施例的圖像編碼裝置的框圖;圖2為利用所述圖像編碼裝置實(shí)現(xiàn)的視頻編碼方法的處理流程圖;圖3為示圖,用于解釋根據(jù)上述實(shí)施例的量化/反量化方法;圖4為示圖,用于解釋關(guān)于所述實(shí)施例的句法(syntax)結(jié)構(gòu)的概要;圖5為示圖,其示出了關(guān)于所述實(shí)施例的序列頭的數(shù)據(jù)結(jié)構(gòu);圖6為示圖,其示出了關(guān)于所述實(shí)施例的條帶頭(slice header)的數(shù)據(jù)結(jié)構(gòu);圖7為示圖,其示出了關(guān)于所述實(shí)施例的宏塊層的數(shù)據(jù)結(jié)構(gòu);圖8為示圖,其示出了關(guān)于所述實(shí)施例的條帶頭的數(shù)據(jù)結(jié)構(gòu);圖9為示圖,其示出了關(guān)于所述實(shí)施例的宏塊層的數(shù)據(jù)結(jié)構(gòu);圖10為示圖,其指示了關(guān)于所述實(shí)施例的量化碼表索引;圖11為根據(jù)第二實(shí)施例的圖像編碼方法的處理流程圖;
圖12為示圖,其示出了根據(jù)所述第二實(shí)施例的序列頭的數(shù)據(jù)結(jié)構(gòu);圖13為示圖,其示出了根據(jù)所述第二實(shí)施例的條帶頭的數(shù)據(jù)結(jié)構(gòu);圖14為示圖,其示出了根據(jù)所述第二實(shí)施例的宏塊頭的數(shù)據(jù)結(jié)構(gòu);圖15為根據(jù)本發(fā)明所述實(shí)施例的圖像解碼裝置的框圖。
具體實(shí)施例方式
現(xiàn)在將參照以下的附圖描述圖像編碼方法、圖像編碼裝置、圖像解碼方法以及圖像解碼裝置。
圖1是關(guān)于本發(fā)明第一實(shí)施例的視頻編碼裝置的框圖。此實(shí)施例中,通過(guò)以小于宏塊的塊為單元參照量化碼表對(duì)預(yù)測(cè)誤差信號(hào)進(jìn)行量化來(lái)對(duì)視頻圖像進(jìn)行編碼。
根據(jù)圖1,輸入圖像信號(hào),即,視頻信號(hào)被分成宏塊或宏塊對(duì),并被輸入視頻編碼裝置100。在所述視頻編碼裝置100中,準(zhǔn)備了塊尺寸或預(yù)測(cè)信號(hào)產(chǎn)生方法不同的多種預(yù)測(cè)模式,作為幀內(nèi)預(yù)測(cè)模式或幀間預(yù)測(cè)模式。所述預(yù)測(cè)信號(hào)發(fā)生器120利用暫時(shí)存儲(chǔ)在參考圖像存儲(chǔ)器111中的參考圖像的宏塊生成所有可選擇的模式的預(yù)測(cè)圖像。進(jìn)一步,所述預(yù)測(cè)信號(hào)發(fā)生器120產(chǎn)生通過(guò)從所述輸入圖像信號(hào)中減去所述預(yù)測(cè)信號(hào)而得到的預(yù)測(cè)誤差信號(hào)。
如果指定的模式是運(yùn)動(dòng)補(bǔ)償幀間預(yù)測(cè)模式,所述預(yù)測(cè)信號(hào)發(fā)生器120進(jìn)行運(yùn)動(dòng)向量的檢測(cè)以及參考圖像的選擇。換言之,所述預(yù)測(cè)信號(hào)發(fā)生器120包括運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)模塊,其利用所述參考圖像存儲(chǔ)器111的參考圖像來(lái)檢測(cè)運(yùn)動(dòng)向量,以產(chǎn)生運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào),以及減法器,其從所述輸入圖像信號(hào)中減去由所述運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)電路輸出的預(yù)測(cè)信號(hào),以產(chǎn)生預(yù)測(cè)誤差信號(hào)。
當(dāng)除非與H.264的幀內(nèi)預(yù)測(cè)(4*4預(yù)測(cè))一樣地在所述宏塊中產(chǎn)生本地解碼圖像,否則不進(jìn)行下一次預(yù)測(cè)時(shí),可利用下述的正交變換器102進(jìn)行所述幀內(nèi)預(yù)測(cè)。僅利用所述預(yù)測(cè)信號(hào)發(fā)生器120和所述正交變換器102產(chǎn)生所述預(yù)測(cè)信號(hào)。
利用所述預(yù)測(cè)信號(hào)發(fā)生器120產(chǎn)生的預(yù)測(cè)誤差信號(hào)被輸入到所述量化集選擇器101。所述量化集選擇器101從所述量化器和反量化器所用的量化碼表中選擇表,并將其設(shè)置到編碼控制器121。
利用所述預(yù)測(cè)信號(hào)發(fā)生器120產(chǎn)生的預(yù)測(cè)誤差信號(hào)通過(guò)所述量化集選擇器101被發(fā)送到所述正交變換器102。所述正交變換器102對(duì)所述預(yù)測(cè)信號(hào)進(jìn)行正交變換(例如,離散余弦變換(DCT))并向所述量化器103提供變換系數(shù)。
所述量化器103參照利用編碼控制器121設(shè)置的所述量化碼表,并且根據(jù)所述量化碼表量化所述變換系數(shù),并向開(kāi)關(guān)104和反量化器108輸出所述經(jīng)過(guò)量化的正交變換系數(shù)以及預(yù)測(cè)模式信息(或者運(yùn)動(dòng)向量信息,參考圖像信息)。在此實(shí)施例中,所述量化器103充當(dāng)信號(hào)產(chǎn)生模塊以根據(jù)所述設(shè)置的量化碼表執(zhí)行視頻編碼方法。
利用可變長(zhǎng)編碼器112將所述量化的變換系數(shù)與諸如模式信息、量化系數(shù)、量化碼表的關(guān)于所述預(yù)測(cè)方法的信息一起進(jìn)行可變長(zhǎng)編碼(VLC)。此VLC信息被通過(guò)復(fù)用器122進(jìn)行復(fù)用,并通過(guò)輸出緩沖器123作為編碼數(shù)據(jù)輸出。
所述反量化器108根據(jù)利用編碼控制器121設(shè)置的所述量化碼表對(duì)來(lái)自所述量化器103的所述量化的變換系數(shù)進(jìn)行反量化,并向逆正交變換器109輸出所述經(jīng)過(guò)反量化的變換系數(shù)。所述逆正交變換器109對(duì)所述經(jīng)過(guò)反量化的變換系數(shù)進(jìn)行逆正交變換(例如,逆DCT),將其重建(reconstruct)為預(yù)測(cè)誤差信號(hào),并將其向所述預(yù)測(cè)解碼器110輸出。
所述預(yù)測(cè)解碼器110根據(jù)對(duì)應(yīng)于所述預(yù)測(cè)信號(hào)發(fā)生器120的處理的處理來(lái)對(duì)所述預(yù)測(cè)誤差信號(hào)進(jìn)行處理,以再現(xiàn)(playback)圖像,并將其向所述參考圖像存儲(chǔ)器111輸出。所述參考圖像存儲(chǔ)器111存儲(chǔ)所述重建的圖像。當(dāng)利用所述預(yù)測(cè)信號(hào)發(fā)生器120產(chǎn)生預(yù)測(cè)誤差信號(hào)時(shí),將參照存儲(chǔ)在所述參考圖像存儲(chǔ)器111中的圖像。在所述視頻編碼裝置中,不利用所述預(yù)測(cè)解碼器110產(chǎn)生所述預(yù)測(cè)圖像,而是希望保持和使用通過(guò)所述預(yù)測(cè)信號(hào)發(fā)生器120的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)電路產(chǎn)生的預(yù)測(cè)信號(hào)。
所述開(kāi)關(guān)104向臨時(shí)編碼器/編碼比特?cái)?shù)計(jì)數(shù)器105或可變長(zhǎng)編碼器112輸出從所述量化器103提供的正交變換系數(shù)和預(yù)測(cè)模式信息。
所述臨時(shí)編碼器/編碼比特?cái)?shù)計(jì)數(shù)器105臨時(shí)地對(duì)指示經(jīng)由所述開(kāi)關(guān)104輸入的所述正交變換系數(shù)的信號(hào)進(jìn)行編碼,并對(duì)已編碼的比特的數(shù)目進(jìn)行計(jì)數(shù)。所述臨時(shí)編碼是對(duì)所述系數(shù)臨時(shí)地進(jìn)行編碼以對(duì)已編碼的比特進(jìn)行計(jì)數(shù)。所述臨時(shí)編碼器/編碼比特?cái)?shù)計(jì)數(shù)器105對(duì)通過(guò)基于算術(shù)編碼的哈夫曼編碼或熵編碼進(jìn)行編碼得到的數(shù)據(jù)的編碼比特的個(gè)數(shù)進(jìn)行計(jì)數(shù)。
利用所述臨時(shí)編碼器/編碼比特?cái)?shù)計(jì)數(shù)器105計(jì)數(shù)得到的所述已編碼比特?cái)?shù)被輸入到編碼失真檢測(cè)器106。所述編碼失真檢測(cè)器106檢測(cè)在來(lái)自所述預(yù)測(cè)解碼器110的所述本地解碼圖像和所述輸入圖像信號(hào)之間的均方誤差,并將其作為編碼失真(量化失真)輸出到編碼模式控制/判定單元107。所述編碼模式控制/判定單元107計(jì)算來(lái)自輸入編碼失真(量化失真)和已編碼比特?cái)?shù)的編碼代價(jià)。利用所述編碼代價(jià)作為指標(biāo)來(lái)確定所述宏塊的模式。更具體地,在本實(shí)施例中,使用通過(guò)如下等式(8)得到的所述代價(jià)。
Cost=D+λ×R(8)D表示編碼失真,而R表示已編碼比特?cái)?shù)?;谶@樣得到的編碼代價(jià)從多種編碼模式中選擇編碼模式。換言之,對(duì)將被編碼的像素塊進(jìn)行預(yù)測(cè)編碼,對(duì)已編碼比特?cái)?shù)進(jìn)行計(jì)數(shù),并且檢測(cè)一種或多種編碼模式中的每一種的編碼失真。為每種編碼模式提供的每個(gè)編碼代價(jià)被互相比較,以選擇一種編碼模式。
在此實(shí)施例中,所述編碼模式控制/判定單元107選擇具有最低編碼代價(jià)的編碼模式。換言之,所述處理以如下次序執(zhí)行,在圖1中,量化集選擇器101→正交變換器102→量化器103→開(kāi)關(guān)104→臨時(shí)編碼器/編碼比特?cái)?shù)計(jì)數(shù)器105→編碼失真檢測(cè)器106→編碼模式控制/判定單元107,以選擇最佳編碼模式。
當(dāng)決定所述編碼模式時(shí),開(kāi)關(guān)104的輸出端直接與可變長(zhǎng)編碼器112相連接,以再次通過(guò)所述選擇的編碼模式和量化碼表對(duì)所述輸入圖像信號(hào)進(jìn)行編碼,并且利用所述選擇的編碼模式輸出關(guān)于量化變換系數(shù)、量化碼表、編碼代價(jià)等的編碼信息。在這種情況下,事先保持當(dāng)利用所述最佳編碼模式和所述量化碼表對(duì)所述輸入圖像信號(hào)進(jìn)行編碼時(shí)得到的各種信息(經(jīng)過(guò)量化的變換系數(shù)和選擇的量化碼表的索引)。無(wú)需再次利用可變長(zhǎng)編碼器112對(duì)所述輸入圖像信號(hào)進(jìn)行編碼即可輸出所述保持的數(shù)據(jù)。
此時(shí),當(dāng)對(duì)所述宏塊的所有可選模式進(jìn)行了臨時(shí)編碼循環(huán)(以如下次序進(jìn)行的處理流程,在圖1中,量化集選擇器101→正交變換器102→量化器103→開(kāi)關(guān)104→臨時(shí)編碼器及編碼比特?cái)?shù)計(jì)數(shù)器105→編碼失真檢測(cè)器106→編碼模式控制/判定單元107)時(shí),為一次循環(huán)。換言之,當(dāng)所述第一臨時(shí)編碼循環(huán)結(jié)束時(shí),所述模式確定完成,并且其后不需要再次進(jìn)行模式確定。
利用所述第一循環(huán)選擇的所述編碼模式設(shè)置到所述編碼控制器121。在接下來(lái)的循環(huán)中,當(dāng)通過(guò)改變所述量化碼表進(jìn)行所述臨時(shí)編碼時(shí),使用通過(guò)設(shè)置到所述編碼控制器121的編碼模式而計(jì)算得到的預(yù)測(cè)誤差信號(hào)。進(jìn)一步,在所述初始循環(huán)中,通過(guò)這樣的方案來(lái)實(shí)現(xiàn)所述量化和反量化,在其中,在所述宏塊中改變量化,以盡可能地抑制對(duì)利用所述量化表的量化模式確定的影響。
在H.264的幀內(nèi)預(yù)測(cè)中,在生成所述預(yù)測(cè)圖片以產(chǎn)生近似于當(dāng)前塊的塊的預(yù)測(cè)圖像時(shí),將所述當(dāng)前塊的本地解碼圖像作為參考圖像。因此,需要對(duì)每個(gè)小像素塊進(jìn)行正交變換,量化和反量化,以及逆正交變換。因此,當(dāng)通過(guò)所述臨時(shí)編碼循環(huán)(第二次以及之后的臨時(shí)編碼循環(huán))確定所述量化碼表時(shí),可重復(fù)所述幀內(nèi)預(yù)測(cè),以利用所述正交變換器102再生預(yù)測(cè)信號(hào)或者不進(jìn)行再生。
所述編碼控制器121執(zhí)行對(duì)所述已編碼比特?cái)?shù)的反饋控制、量化特性控制,模式控制、用于控制所述已編碼比特?cái)?shù)的速率控制、對(duì)所述預(yù)測(cè)單元的控制以及對(duì)編碼的整體控制。
可利用計(jì)算機(jī)根據(jù)在其中存儲(chǔ)的程序來(lái)實(shí)現(xiàn)以上結(jié)構(gòu)部分的功能。
以上描述了根據(jù)此實(shí)施例的視頻編碼裝置100的結(jié)構(gòu)。以下將參照?qǐng)D2描述與本發(fā)明相關(guān)的第一實(shí)施例的視頻編碼方法,作為由所述視頻編碼裝置100實(shí)施的例子。
當(dāng)對(duì)于每幀將視頻信號(hào)輸入到所述視頻編碼裝置100時(shí),對(duì)于每個(gè)宏塊或每對(duì)宏塊開(kāi)始對(duì)所述輸入圖像進(jìn)行編碼(步驟S201)。
利用所述預(yù)測(cè)信號(hào)生成器120對(duì)所述輸入視頻信號(hào)的宏塊的所有可選的編碼模式進(jìn)行所述預(yù)測(cè)圖像信號(hào)生成以及預(yù)測(cè)誤差信號(hào)計(jì)算(步驟S202)。通過(guò)正交變換以及對(duì)通過(guò)以上處理得到的所述預(yù)測(cè)誤差信號(hào)進(jìn)行量化來(lái)進(jìn)行所述編碼模式的確定以及所述最優(yōu)量化碼表的選擇。
將指示所述量化碼表的索引Q_idx初始化為0(步驟S203)。此索引表示例如圖10所示的碼表的號(hào)碼。進(jìn)一步,將指示編碼模式的索引初始化為0,將最終選擇的最好編碼模式的索引Best_Mode初始化為最大,并將指示最小編碼代價(jià)的Min_Cost初始化為最大(步驟S204)。
在編碼模式I(=index)以及量化碼表索引QC(=Q_idx)中進(jìn)行所述臨時(shí)編碼。換言之,在臨時(shí)編碼中,開(kāi)關(guān)104的輸出端被連接到所述臨時(shí)編碼器/編碼比特?cái)?shù)計(jì)數(shù)器105。根據(jù)圖1所示的臨時(shí)編碼循環(huán)執(zhí)行所述臨時(shí)編碼處理(處理流程以如下次序執(zhí)行,在圖1中,量化集選擇器101→正交變換器102→量化器103→開(kāi)關(guān)104→臨時(shí)編碼器/編碼比特?cái)?shù)計(jì)數(shù)器105→編碼失真檢測(cè)器106→編碼模式控制/判定單元107)。
在所述量化器103中,根據(jù)所述量化碼表索引QC所示的碼表值進(jìn)行量化。根據(jù)如下等式(9)從所述量化碼表索引QC計(jì)算所述量化參數(shù)。
QPblk=QP+QV(QC,blk) (9)QPblk表示從所述量化碼表索引QC得到的亞像素塊量化參數(shù),而QP指示宏塊的量化參數(shù)。QV(QC,blk)指示由所述量化碼表索引QC以及塊編號(hào)(block number)blk所示的量化碼表。可以以8*8塊或4*4塊為單位進(jìn)行這些處理。例如,通過(guò)如下等式(10)定義8*8塊的量化碼表。
QV(QC,blk)=vblk0vblk1MvblkQCMvblkQ_MAX_IDX=0,0,0,0,1,1,-1,-1-1,-1,1,11,-1,1,-1-1,1,-1,1M---(10)]]>vblkQC表示所述塊編號(hào)中的量化值的變量。例如,-1指示通過(guò)將所述宏塊的量化參數(shù)設(shè)置為-1對(duì)將被作為對(duì)象的8*8塊進(jìn)行的量化??赏ㄟ^(guò)設(shè)計(jì)適合于所述輸入圖像的vblkQC表來(lái)對(duì)于每個(gè)8*8像素改變所述宏塊中的量化參數(shù)。
在所述宏塊中有四個(gè)8*8塊。因此,blk包含值0到3。在所述第一臨時(shí)編碼循環(huán)中,QC=0。此時(shí),通過(guò)常規(guī)的宏塊內(nèi)固定的量化參數(shù)(intra-macroblock fixed quantization parameter)進(jìn)行所述臨時(shí)編碼處理。圖3示出了當(dāng)給出量化碼表vblkQC時(shí)分配宏塊內(nèi)量化參數(shù)的方法。
利用對(duì)應(yīng)于每個(gè)位置的參數(shù)變化度(parameter change degree)來(lái)改變所述量化參數(shù)。當(dāng)以8*8像素為單位改變所述量化參數(shù)時(shí),4*4像素塊量化器利用圖3左側(cè)所示的相同的量化參數(shù)來(lái)量化四個(gè)塊。在8*8像素塊量化器的情況下,如圖3右側(cè)所示,改變每個(gè)塊的量化參數(shù)。
常規(guī)地,基于所述宏塊中的量化參數(shù)不會(huì)波動(dòng)的假設(shè)來(lái)定義用于所述臨時(shí)編碼的編碼代價(jià)。因此,需要將以下條件表達(dá)式(11)加到等式(10)。
ΣblkvblkQC=0---(11)]]>這表示所述宏塊中的量化參數(shù)的波動(dòng)定性地恒定,以及對(duì)于編碼代價(jià)計(jì)算中的代價(jià)評(píng)價(jià)所須的限制條件。
利用所述臨時(shí)編碼器/編碼比特?cái)?shù)計(jì)數(shù)器105進(jìn)行已編碼比特?cái)?shù)的累積相加。利用所述編碼失真檢測(cè)器106從所述輸入圖像和所述本地解碼圖像計(jì)算所述編碼失真(S206)。利用所述量化器103量化的變換系數(shù)被利用所述反量化器108進(jìn)行反量化,并且然后被利用所述逆正交變換器109進(jìn)行逆正交變換,從而解碼所述預(yù)測(cè)誤差信號(hào)。進(jìn)一步,所述預(yù)測(cè)誤差信號(hào)被加到所述預(yù)測(cè)信號(hào)。
根據(jù)等式(8)從所述已編碼比特?cái)?shù)和編碼失真來(lái)計(jì)算所述編碼代價(jià)(S207)。然而,無(wú)需使用所述編碼失真即可將所述已編碼比特?cái)?shù)作為編碼代價(jià)使用。在這種情況下,確定所述編碼模式時(shí)不再需要所述編碼失真。因此,在所述臨時(shí)編碼循環(huán)中,不需要諸如反量化和逆正交變換的大負(fù)擔(dān)的處理??蛇x地,可使用所述輸入圖像的統(tǒng)計(jì)量(例如,所述輸入圖像的DC值(在所述像素和所述DC值之間的差之和))來(lái)代替所述編碼失真。所述臨時(shí)編碼不讀出所述編碼數(shù)據(jù)。
所述編碼模式控制/判定單元107判定計(jì)算得到的編碼代價(jià)是否小于所述最小編碼代價(jià)min_cost(步驟S208)。當(dāng)所述判定為“是”時(shí),所述編碼模式控制/判定單元107將所述編碼代價(jià)更新為所述最小編碼代價(jià),并將所述臨時(shí)編碼的編碼模式保存為best_mode,且將所述量化碼表索引保存為best_Q_idx。進(jìn)一步,將所述索引值增加一。在這種情況下,保持當(dāng)利用所述最好編碼模式進(jìn)行編碼時(shí)得到的各種編碼數(shù)據(jù),以避免重新編碼處理(步驟S209)。
所述編碼模式控制/判定單元107判定所述更新的索引是否大于MAX_INDEX(步驟S210)。當(dāng)所述索引大于MAX_INDEX時(shí),即,對(duì)在步驟S209中選擇的所述宏塊中的可選編碼模式的所有處理都結(jié)束了,所述判定為“是”。換言之,對(duì)于所有編碼模式完成步驟S205-S210的處理。當(dāng)所述判定為“否”時(shí),在所述更新的索引所示的模式中進(jìn)行步驟S205-S210的處理。這樣,當(dāng)步驟S210中的判定為“是”時(shí),從所述宏塊的可選編碼模式中確定編碼代價(jià)最小的編碼模式。當(dāng)步驟S210中的判定為“是”時(shí),增加所述量化碼表索引Q_idx,以更新QC(S211)。
所述編碼模式控制/判定單元107判定所述更新的Q_idx是否大于MAX_Q_IDX(步驟S212)。當(dāng)Q_idx更大時(shí),對(duì)所有可選的量化碼表索引完成所述臨時(shí)編碼處理。當(dāng)所述判定為“否”時(shí),將所述處理從所述編碼模式控制/判定單元107轉(zhuǎn)移到所述量化集選擇器101,以利用新的Q_idx重復(fù)所述臨時(shí)編碼循環(huán)。如果編碼模式I=best_mode,在所述第一循環(huán)中確定的best_mode中執(zhí)行所述量化碼表索引循環(huán)(從步驟S205到S212),而無(wú)需再次重復(fù)所述模式確定。
當(dāng)在步驟S212中的所述判定為“是”時(shí),結(jié)束所述臨時(shí)編碼循環(huán),并且再次使用best_mode和best_Q_idx進(jìn)行所述量化,并利用所述可變長(zhǎng)編碼器112進(jìn)行所述編碼(步驟S214)。當(dāng)保持這次的數(shù)據(jù)時(shí),不需要重新編碼。于是,所述編碼數(shù)據(jù)只是被輸出到所述復(fù)用器122,并被根據(jù)每個(gè)系統(tǒng)復(fù)用,然后作為比特流數(shù)據(jù)輸出到所述輸出緩沖器123(S215)。
為每一個(gè)像素塊選擇的量化碼表是從多個(gè)量化碼表中選擇的適當(dāng)?shù)牧炕a表。其被根據(jù)選擇的碼表轉(zhuǎn)換為量化碼表索引,并被編碼??梢杂蓭械亩鄠€(gè)像素塊組成的一個(gè)區(qū)域(稱(chēng)為條帶(slice))為單位來(lái)改變所述量化碼表。所述量化集選擇器101為每個(gè)條帶選擇具有高編碼效率的量化碼表。所述選擇的量化碼表的信息被作為量化碼表的索引而利用所述編碼數(shù)據(jù)進(jìn)行復(fù)用。
可將所述量化碼表構(gòu)造為具有根據(jù)量化參數(shù)和目標(biāo)比特率自動(dòng)唯一地確定的結(jié)構(gòu)。例如,當(dāng)所述量化參數(shù)小于某值時(shí),選擇具有較小值的量化碼表索引,而當(dāng)其大于所述值時(shí),選擇具有較大值的索引。可選地,當(dāng)比特率高于某值時(shí),選擇具有較大值的量化碼表索引,而當(dāng)其低于所述值時(shí),選擇具有較小值的索引。在每一種情況下,在對(duì)編碼數(shù)據(jù)進(jìn)行解碼時(shí),選擇相同的量化碼表,將其轉(zhuǎn)換為相應(yīng)的量化碼表,并進(jìn)行反量化。
以下將解釋量化碼表索引信息的編碼方法。圖4示出了在此實(shí)施例中使用的句法結(jié)構(gòu)的概要。此句法包括三部分。高級(jí)別句法(401)包括比所述條帶更高層次的句法信息。
所述條帶級(jí)句法(404)指定每個(gè)條帶所須的信息。所述宏塊級(jí)句法(407)指定將要被可變長(zhǎng)編碼并且為每個(gè)宏塊所需要的誤差信號(hào)和模式信息。
各句法進(jìn)一步包括詳細(xì)的句法。即,所述高級(jí)別句法(401)包括一序列的序列參數(shù)集句法(402),圖片參數(shù)集句法(403)等,以及圖片級(jí)句法。所述條帶級(jí)句法(404)包括條帶頭句法和條帶數(shù)據(jù)句法(406)。所述宏塊級(jí)句法(407)包括宏塊層句法(408)和宏塊預(yù)測(cè)句法(409)。
根據(jù)本發(fā)明,必需的句法信息是序列頭(402)、條帶頭(405)以及宏塊頭(408),后面將對(duì)此進(jìn)行描述。
圖5的序列頭中所示的ex_quant_code_in_slice_flag是指示是否為每個(gè)條帶對(duì)于所述量化碼表索引進(jìn)行編碼的標(biāo)志。當(dāng)此標(biāo)志為1時(shí),能夠?yàn)槊總€(gè)條帶改變所述量化碼表索引。ex_quant_code_in_mb_flag是指示是否為每個(gè)宏塊對(duì)于所述量化碼表索引進(jìn)行編碼的標(biāo)志。當(dāng)此標(biāo)志為1時(shí),所述編碼器能夠改變每個(gè)宏塊的所述宏塊量化碼表索引。
當(dāng)圖5所示的ex_quant_code_in_slice_flag為1時(shí),對(duì)圖6的條帶頭中的slice_ex_code_zero_flag進(jìn)行編碼。此標(biāo)志示出了選擇的量化碼表索引為0。當(dāng)所述標(biāo)志為1時(shí),此標(biāo)志指示在當(dāng)前條帶中選擇常規(guī)量化。換言之,其指示所述宏塊中的量化參數(shù)相等。然后,不對(duì)rem_slice_ex_code_num進(jìn)行編碼。當(dāng)所述slice_ex_code_zero_flag為1時(shí),將當(dāng)前選擇的量化碼表索引QC作為如下等式(12)的值進(jìn)行編碼。
rem_slice_ex_code_num=QC-1 (12)類(lèi)似地,當(dāng)圖5所示的ex_quant_code_in_mb_flag為1時(shí),對(duì)圖7的所述宏塊頭中的mb_ex_code_zero_flag進(jìn)行編碼。此標(biāo)志指示所述選擇的量化碼表索引為0。當(dāng)所述標(biāo)志為1時(shí),此標(biāo)志指示在所述當(dāng)前宏塊中選擇常規(guī)量化。換言之,其示出了所述宏塊中的量化參數(shù)相等。然后,不對(duì)rem_mb_ex_code_num進(jìn)行編碼。當(dāng)所述mb_ex_code_zero_flag為1時(shí),將當(dāng)前選擇的量化碼表索引QC作為如下等式(13)的值進(jìn)行編碼。
rem_mb_ex_code_num=QC-1 (13)當(dāng)實(shí)際編碼時(shí),設(shè)計(jì)使得當(dāng)選擇vblkQC=0,0,0,0]]>時(shí),編碼比特?cái)?shù)降低。這種句法的目標(biāo)在于,當(dāng)在低比特率時(shí)由于所述量化碼表索引起的影響很低時(shí),將編碼比特的數(shù)目降低到盡可能小。
以下句法為所述句法的另一個(gè)例子。圖8示出了條帶頭的數(shù)據(jù)結(jié)構(gòu)的一部分,而圖9示出了根據(jù)宏塊層的數(shù)據(jù)結(jié)構(gòu)的一部分。對(duì)所述條帶頭和所述宏塊層的量化碼表索引進(jìn)行可變長(zhǎng)編碼,或進(jìn)行定長(zhǎng)編碼以及復(fù)用。
具體地,所述幀內(nèi)預(yù)測(cè)利用所述輸入圖像的空間相關(guān)性進(jìn)行預(yù)測(cè),從而使得所述宏塊的細(xì)微區(qū)域中的系數(shù)分布傾向于大不相同。在這種情況下,幾乎不選擇在其中所述宏塊的量化參數(shù)不改變的量化器。如果利用各種量化碼表索引進(jìn)行所述量化,可降低所述編碼比特?cái)?shù)。換言之,由于不能預(yù)測(cè)量化碼表索引的出現(xiàn)頻率,很難配置高效的句法。因此,存在圖8和圖9所示句法有效的情況。
如上討論的,在此實(shí)施例中,實(shí)際上對(duì)多個(gè)可選編碼模式的每一個(gè)進(jìn)行臨時(shí)編碼處理。從多種編碼模式中選擇具有最低編碼代價(jià)的編碼模式,其中所述編碼模式的每一個(gè)具有從所述編碼數(shù)據(jù)的編碼比特?cái)?shù)和編碼失真計(jì)算的編碼代價(jià)。再次基于選擇的模式執(zhí)行作為量化碼表循環(huán)的臨時(shí)編碼處理。輸出根據(jù)編碼代價(jià)最小的量化碼表索引進(jìn)行編碼的編碼數(shù)據(jù)。
這樣,通過(guò)利用量化碼表控制每個(gè)子塊(sub-block)的宏塊的量化參數(shù)來(lái)選擇所述編碼模式。因此,能夠選擇這樣的量化參數(shù),通過(guò)其能夠根據(jù)預(yù)測(cè)塊形狀和預(yù)測(cè)方法進(jìn)行高編碼率的編碼。通過(guò)抑制所述宏塊的量化參數(shù)的平均變化值,可按其原樣使用常規(guī)的模式確定系統(tǒng)。
如所述,不必對(duì)所有的編碼模式進(jìn)行高負(fù)擔(dān)的編碼處理。由于僅需要在選擇的編碼模式中進(jìn)行編碼,可降低運(yùn)算負(fù)擔(dān)。換言之,在此實(shí)施例中,可能實(shí)現(xiàn)高速且優(yōu)選的編碼模式選擇以及高速且高壓縮效率的視頻編碼。
如在前所述,在選擇的模式中進(jìn)行編碼的情況下,將預(yù)測(cè)誤差信號(hào)的量化的正交變換系數(shù)輸入到逆正交變換器/反量化器206中,并對(duì)其進(jìn)行逆量化和逆正交變換以再生預(yù)測(cè)誤差信號(hào)。通過(guò)預(yù)測(cè)解碼器207產(chǎn)生本地解碼圖像,并將其作為參考圖像暫時(shí)地存儲(chǔ)在參考圖像存儲(chǔ)器208中。僅對(duì)選擇的模式進(jìn)行本地解碼圖像生成處理,并且不需要在用于判定預(yù)測(cè)模式的循環(huán)中總是執(zhí)行所述處理。
以下解釋另一個(gè)例子的視頻編碼方法。當(dāng)所述量化碼表索引的最大Q_MAX_IDX大于給定值時(shí),不能忽略將被編碼的句法的編碼比特?cái)?shù),尤其在低比特率的情況。因此,當(dāng)為每個(gè)宏塊發(fā)送所述句法時(shí),對(duì)實(shí)際范圍而言八種方法(3比特)是合適的。另一方面,在高比特率的情況下,可通過(guò)高效的量化碼表索引來(lái)提高所述編碼效率。因此,根據(jù)作為基礎(chǔ)的量化參數(shù),改變所述量化碼表。
根據(jù)由編碼控制器121進(jìn)行的速率控制來(lái)控制所述量化參數(shù)QP的值。當(dāng)對(duì)將被編碼的宏塊進(jìn)行編碼時(shí),已經(jīng)確定了所述量化參數(shù)的值,并且,常規(guī)地,所述編碼器對(duì)所述量化參數(shù)之間的差值進(jìn)行編碼。在臨時(shí)編碼循環(huán)中,根據(jù)給定的量化參數(shù)QP的值來(lái)改變將被使用的量化碼表。
更具體地,當(dāng)所述量化參數(shù)QP小于某值QPLow時(shí),采用Q_MAX_IDX大的碼表。當(dāng)QP大于QPHigh時(shí),使用Q_MAX_IDX小的碼表。由于存在可根據(jù)所述比特率容易地選擇的量化碼表,可自適應(yīng)地改變根據(jù)所述量化參數(shù)的值而使用的表。
作為另一個(gè)例子,可使用這樣的系統(tǒng),在其中準(zhǔn)備了Q_MAX_IDX表,并且在根據(jù)所述量化參數(shù)的值由所述表的上部指定的比特的允許范圍內(nèi)執(zhí)行臨時(shí)編碼循環(huán)。
圖10說(shuō)明了8*8像素塊量化碼表索引的例子??梢愿淖兏鶕?jù)由速率控制給出的所述宏塊的量化參數(shù)QP的值的可用的索引。例如,當(dāng)QP大于32時(shí),能夠選擇八個(gè)量化碼表索引(rem_mb_ex_code_zero_flag被配置為3比特)。另一方面,在QP處于20-32的范圍的情況下,能夠選擇十六個(gè)量化碼表索引(rem_mb_ex_code_zero_flag被配置為4比特)。
換言之,每個(gè)宏塊所使用的比特?cái)?shù)根據(jù)QP的有效范圍改變可使用的比特長(zhǎng)度。當(dāng)所述量化參數(shù)具有較大值時(shí),對(duì)所述系數(shù)進(jìn)行粗量化,使得編碼數(shù)據(jù)較小。如果為每個(gè)宏塊的小編碼數(shù)據(jù)使用大數(shù)目的比特,對(duì)于將被編碼的圖像整體而言,不能降低編碼比特?cái)?shù)。為此,根據(jù)所述量化參數(shù)的范圍決定那些比特可用。如果將所決定的比特?cái)?shù)輸入到所述編碼器和解碼器,能夠調(diào)整根據(jù)將被使用的比特率所實(shí)際發(fā)送的句法的比特?cái)?shù)。這樣,可能通過(guò)根據(jù)所述量化參數(shù)QP來(lái)改變可選的表來(lái)提高編碼效率,從而抑制所述句法的開(kāi)銷(xiāo)。
下面將描述根據(jù)第二實(shí)施例的視頻編碼方法。
在此實(shí)施例中,將用于選擇與每個(gè)像素塊對(duì)應(yīng)的相應(yīng)量化矩陣的步驟加入所述第一實(shí)施例。換言之,此實(shí)施例包括選擇性地切換多個(gè)量化矩陣,以及確定表示量化碼表的量化參數(shù)的索引。所述實(shí)施例的視頻編碼裝置的結(jié)構(gòu)相似于圖1。在所述第二實(shí)施例中,類(lèi)似的參考數(shù)字被用于指定與第一實(shí)施例的類(lèi)似結(jié)構(gòu)元素相對(duì)應(yīng)的結(jié)構(gòu)元素,為簡(jiǎn)潔起見(jiàn),將省略對(duì)其的進(jìn)一步解釋。
圖11示出了此實(shí)施例的視頻編碼處理流程。步驟S1001和S1002分別等同于圖2的步驟S201和S202。編碼控制器121初始化索引WM_idx,其指示量化矩陣的表編號(hào)為0(步驟S1003)。進(jìn)一步,初始化各變量(步驟S1004和S1005)。與第一實(shí)施例類(lèi)似,重復(fù)臨時(shí)編碼循環(huán)(在圖1中,量化集選擇器101→正交變換器102→量化器103→開(kāi)關(guān)104→臨時(shí)編碼器及編碼比特?cái)?shù)計(jì)數(shù)器105→編碼失真測(cè)量單元106→編碼模式控制/判定單元107)以確定編碼模式I和量化碼表索引QC(步驟S1005-S1013)。
在所述臨時(shí)編碼循環(huán)中,直到確定所述編碼模式和量化碼表索引,無(wú)需使用量化矩陣就可進(jìn)行扁平量化(flat quantization)和反量化。所述扁平量化是等式(7)表達(dá)的量化矩陣的所有分量都指示16的量化。在H.264中,當(dāng)不使用所述量化矩陣時(shí),進(jìn)行所述扁平量化。
當(dāng)在步驟S1013中的判定為“是”時(shí),所述量化集選擇器101增加WM_idx,并將所述結(jié)果設(shè)置到編碼控制器121。判定WM_idx是否等于2。當(dāng)所述判定為“否”時(shí),更新編碼模式(步驟S1014),并再次根據(jù)所述更新的量化矩陣索引來(lái)執(zhí)行所述臨時(shí)編碼。當(dāng)由所述臨時(shí)編碼提供的編碼代價(jià)“cost”小于min_cost時(shí),更新best_WM_idx,并存儲(chǔ)所述臨時(shí)編碼結(jié)果(步驟S1010)。
如果所述判定為“是”,結(jié)束所述臨時(shí)編碼循環(huán),并利用通過(guò)所述臨時(shí)編碼循環(huán)確定的各種參數(shù)再次進(jìn)行所述編碼(步驟S1016)。如果保存了通過(guò)所述臨時(shí)編碼得到的數(shù)據(jù),則不需要重新編碼。因此,只是向復(fù)用器122輸出所述編碼數(shù)據(jù)。根據(jù)每種方案復(fù)用所述編碼數(shù)據(jù),并將其作為比特流數(shù)據(jù)輸出到所述輸出緩沖器123(S215)。
在此實(shí)施例中,假設(shè)WM_idx為下一個(gè)索引的值。如果WM_idx為0,進(jìn)行所述扁平量化。如果WM_idx為1,對(duì)所述對(duì)象宏塊應(yīng)用H.264中規(guī)定的量化矩陣。在使用缺省矩陣的情況下,根據(jù)本方案,可為每個(gè)宏塊選擇所述缺省矩陣和扁平矩陣。用以下等式(14)表達(dá)H.264的4*4像素塊的缺省矩陣和扁平矩陣(不使用所述量化矩陣)。
WSdefault(i,j)=6122027122027322027323727323741]]>WSflat(i,j)=16161616161616161616161616161616---(14)]]>下面將解釋對(duì)量化矩陣的索引進(jìn)行編碼的方法。
圖12示出了序列頭的數(shù)據(jù)結(jié)構(gòu)的一部分,圖13示出了條帶頭的數(shù)據(jù)結(jié)構(gòu)的一部分,而圖14示出了宏塊頭的數(shù)據(jù)結(jié)構(gòu)的一部分。這些定義與圖4的句法結(jié)構(gòu)類(lèi)似。
圖12所示的ex_quant_matrix_in_slice_flag是指示是否為每個(gè)條帶對(duì)量化矩陣的索引進(jìn)行編碼的標(biāo)志。ex_quant_matrix_in_mb_flag是指示是否為每個(gè)宏塊對(duì)量化矩陣的索引進(jìn)行編碼的標(biāo)志。slice_ex_matrix_flag是指示是否在所述條帶中使用所述量化矩陣的標(biāo)志。如果所述slice_ex_matrix_flag為1,使用相應(yīng)的量化矩陣。在這種情況下,可發(fā)送所述量化矩陣,并且可采用存在于所述H.264高類(lèi)中的缺省矩陣。標(biāo)志“0”意味著在所述條帶中不采用所述量化矩陣。類(lèi)似地,mb_ex_matrix_flag是指示是否在所述相應(yīng)的宏塊中使用所述量化矩陣的標(biāo)志。如果所述標(biāo)志為1,利用所述量化矩陣進(jìn)行量化。
原樣發(fā)送所述相應(yīng)量化矩陣的索引而不是圖12和13中所示的用1比特指示的標(biāo)志,并利用多個(gè)量化矩陣進(jìn)行量化/反量化。然后,所述編碼器和解碼器必須具有對(duì)應(yīng)于各自量化矩陣的索引的量化矩陣表(可選地,利用對(duì)所述量化矩陣的復(fù)用將其發(fā)送到所述編碼數(shù)據(jù))。
通過(guò)細(xì)微地控制與量化相關(guān)的參數(shù)(量化參數(shù)、量化碼表、量化矩陣、量化偏移等),與幀間編碼相比,幀內(nèi)編碼能夠提高編碼效率。上述編碼方案可僅應(yīng)用于幀內(nèi)編碼區(qū)域。在這種情況下,當(dāng)從所述編碼控制器121(圖1)得到幀間編碼信息時(shí),所述量化集選擇器101將量化碼表索引和量化矩陣索引的每一個(gè)設(shè)置為0。在步驟S212中總是選擇“是”。類(lèi)似地,在步驟S1015中也總是選擇“是”。
換言之,在所述幀間編碼塊中,不執(zhí)行所述量化碼表索引循環(huán)和量化矩陣索引循環(huán)。進(jìn)一步,由于只能從所述量化碼表索引和量化矩陣索引中選擇索引“0”,也不必發(fā)送所述句法。這樣,通過(guò)利用與每個(gè)量化相關(guān)的參數(shù)僅對(duì)幀內(nèi)編碼區(qū)域進(jìn)行編碼,而無(wú)需作用于幀間編碼區(qū)域,能夠改善所述處理負(fù)荷,并提高編碼效率。
如上討論,在此實(shí)施例中,實(shí)際對(duì)多種可選編碼模式進(jìn)行臨時(shí)編碼處理。從每種模式的編碼數(shù)據(jù)的編碼比特?cái)?shù)和編碼失真來(lái)計(jì)算編碼代價(jià),以得到對(duì)應(yīng)于所述編碼模式的多個(gè)編碼代價(jià)。從所述編碼代價(jià)中選擇最小的編碼代價(jià)。從所述編碼模式中選擇對(duì)應(yīng)于所述最小編碼代價(jià)的編碼模式。再次基于選擇的模式根據(jù)量化碼表循環(huán)來(lái)執(zhí)行所述臨時(shí)編碼處理,以選擇編碼代價(jià)最小的量化碼表。再次基于選擇的編碼模式和量化碼表根據(jù)量化矩陣循環(huán)來(lái)執(zhí)行所述臨時(shí)編碼處理,以選擇編碼代價(jià)最小的量化矩陣索引。再次利用這些關(guān)于量化的參數(shù)進(jìn)行編碼,以輸出編碼數(shù)據(jù)。如上所述,利用所述量化碼表為每個(gè)小塊控制宏塊中的量化參數(shù),以選擇模式,并且進(jìn)一步,自適應(yīng)地通過(guò)切換每個(gè)宏塊的量化矩陣來(lái)執(zhí)行編碼。于是,能夠根據(jù)預(yù)測(cè)塊形狀和預(yù)測(cè)方法以高編碼效率進(jìn)行編碼。換言之,能夠根據(jù)像素塊的內(nèi)容進(jìn)行優(yōu)選的量化。
圖15示出了與此實(shí)施例有關(guān)的視頻解碼裝置300的結(jié)構(gòu)。經(jīng)由傳送系統(tǒng)或累積系統(tǒng)從所述視頻編碼裝置100發(fā)送的所述編碼數(shù)據(jù)被暫時(shí)存儲(chǔ)在輸入緩沖器301中,并被基于句法由所述解復(fù)用器302分為多個(gè)幀,然后被輸入到可變長(zhǎng)解碼器303。所述可變長(zhǎng)解碼器303對(duì)所述編碼數(shù)據(jù)的每個(gè)句法的可變長(zhǎng)碼進(jìn)行解碼,以再生量化變換系數(shù)、量化矩陣、量化參數(shù)、量化碼表信息、模式信息以及運(yùn)動(dòng)向量信息。
利用所述反量化器304對(duì)所述量化的變換系數(shù)進(jìn)行反量化,并通過(guò)逆正交變換器305利用再生信息中的量化矩陣、量化參數(shù)、量化碼表信息對(duì)其進(jìn)行逆正交變換。當(dāng)所述模式信息指示幀內(nèi)編碼模式時(shí),從所述逆正交變換器305輸出再生的圖像信號(hào),并經(jīng)由加法器306將其作為最終再現(xiàn)圖像信號(hào)310進(jìn)行輸出。
當(dāng)所述模式信息指示幀間編碼模式時(shí),從所述逆正交變換器305輸出預(yù)測(cè)誤差信號(hào),并且進(jìn)一步開(kāi)啟所述模式選擇開(kāi)關(guān)309。利用所述加法器306相加由幀存儲(chǔ)器/預(yù)測(cè)圖像產(chǎn)生器308輸出的預(yù)測(cè)圖像信號(hào)和所述預(yù)測(cè)誤差信號(hào),以生成再現(xiàn)圖像信號(hào)。將所述再現(xiàn)圖像信號(hào)作為參考圖像信號(hào)存儲(chǔ)在所述幀存儲(chǔ)器/預(yù)測(cè)圖像產(chǎn)生器308中。
將所述模式信息和運(yùn)動(dòng)向量信息輸入到所述幀存儲(chǔ)器/預(yù)測(cè)圖像產(chǎn)生器308。并將所述模式信息輸入到所述模式選擇開(kāi)關(guān)309。在幀內(nèi)編碼模式中,關(guān)斷所述開(kāi)關(guān)309,而在所述幀間模式時(shí),開(kāi)啟所述開(kāi)關(guān)。
所述可變長(zhǎng)解碼器303根據(jù)所述編碼數(shù)據(jù)的每一種方案對(duì)解復(fù)用的編碼數(shù)據(jù)進(jìn)行可變長(zhǎng)解碼,以獲得解碼所需的信息。圖4示意性示出此實(shí)施例中的句法。所述句法主要由三部分組成。高級(jí)別句法(401)是比所述條帶更高層次的句法信息。所述條帶級(jí)句法(404)指定每一個(gè)條帶所須的信息。所述宏塊級(jí)句法(407)指定每個(gè)宏塊所需要的誤差信號(hào)和模式信息。
所述句法的每一個(gè)由進(jìn)一步的詳細(xì)句法組成。即,所述高級(jí)別句法(401)包括一序列的序列參數(shù)集句法(402),圖片參數(shù)集句法(403)等,以及圖片級(jí)句法。所述條帶級(jí)句法(404)包括條帶頭句法和條帶數(shù)據(jù)句法(406)。所述宏塊級(jí)句法(407)包括宏塊層句法(408)和宏塊預(yù)測(cè)句法(409)。根據(jù)本實(shí)施例,必需的句法信息是序列頭(402),條帶頭(405)以及宏塊頭(408),后面將對(duì)此進(jìn)行描述。
圖5的序列頭中所示的ex_quant_code_in_slice_flag是指示是否為每個(gè)條帶對(duì)所述量化碼表索引進(jìn)行解碼的標(biāo)志。當(dāng)此標(biāo)志為1時(shí),為每個(gè)條帶改變所述量化碼表索引并進(jìn)行編碼。ex_quant_code_in_mb_flag是指示是否為每個(gè)宏塊對(duì)所述量化碼表索引進(jìn)行解碼的標(biāo)志。當(dāng)此標(biāo)志為1時(shí),所述解碼器改變每個(gè)宏塊的宏塊量化碼表索引,并對(duì)其進(jìn)行解碼。當(dāng)圖5所示的ex_quant_code_in_slice_flag為1時(shí),對(duì)圖6的條帶頭中的slice_ex_code_zero_flag進(jìn)行解碼。此標(biāo)志指示選擇的量化碼表索引為0。當(dāng)所述標(biāo)志為1時(shí),此標(biāo)志指示在當(dāng)前條帶中選擇常規(guī)的量化。換言之,其指示所述宏塊中的量化參數(shù)相等。此時(shí),不對(duì)rem_slice_ex_code_num進(jìn)行編碼。當(dāng)所述slice_exc_ode_zero_flag為1時(shí),將當(dāng)前選擇的量化碼表索引QC作為如下等式(15)中的值進(jìn)行編碼。
rem_slice_ex_code_num=QC-1 (15)類(lèi)似地,當(dāng)圖5所示的ex_quant_code_in_mb_flag為1時(shí),對(duì)圖7的所述宏塊頭中的mb_ex_code_zero_flag進(jìn)行解碼。此標(biāo)志指示所述選擇的量化碼表索引為0。當(dāng)所述標(biāo)志為1時(shí),此標(biāo)志指示在當(dāng)前宏塊中選擇常規(guī)的量化。換言之,其示出了所述宏塊中的量化參數(shù)相等。然后,不對(duì)rem_mb_ex_code_num進(jìn)行解碼。當(dāng)所述mb_ex_code_zero_flag為1時(shí),將當(dāng)前選擇的量化碼表索引QC作為如下等式(16)中的值進(jìn)行解碼。
rem_mb_ex_code_num=QC-1(16)從所述序列頭、所述條帶頭、所述宏塊頭等得到的信息被設(shè)置到所述解碼控制器310,并在以下信號(hào)處理模式中進(jìn)行使用。
以下句法被認(rèn)為是所述句法的另一個(gè)例子。圖8示出了條帶頭的數(shù)據(jù)結(jié)構(gòu)的一部分,而圖9示出了宏塊層的數(shù)據(jù)結(jié)構(gòu)的一部分。對(duì)所述條帶頭和所述宏塊層的量化碼表索引原樣地進(jìn)行可變長(zhǎng)解碼,或進(jìn)行定長(zhǎng)解碼。
反量化器304利用所述可變長(zhǎng)解碼的量化碼表信息從所述量化碼表索引訪問(wèn)當(dāng)前宏塊的量化碼表,設(shè)置每個(gè)相應(yīng)像素塊的小像素塊的量化參數(shù),并根據(jù)等式(3)進(jìn)行反量化。
下面描述對(duì)此反量化的詳細(xì)描述。
根據(jù)與等式(9)等同的以下等式(17)利用索引QC計(jì)算所述量化參數(shù),其中所述索引QC指示利用可變長(zhǎng)解碼器303進(jìn)行解碼的所述量化碼表。
QPblk=QP+QV(QC,blk) (17)
QPblk表示從所述量化碼表索引得到的亞像素塊量化參數(shù),而QP指示所述宏塊的量化參數(shù)。可通過(guò)對(duì)所述宏塊頭進(jìn)行可變長(zhǎng)解碼來(lái)得到所述QP的值。QV(QC,blk)指示由所述量化碼表索引QC以及塊編號(hào)blk所表示的量化碼表??梢砸?*8塊或4*4塊為單位執(zhí)行這些處理。例如,通過(guò)等同于等式(10)的如下等式(18)定義8*8塊的量化碼表。
QV(QC,blk)=vblk0vblk1MvblkQCMvblkQ_MAX_IDX=0,0,0,0,1,1,-1,-1-1,-1,1,11,-1,1,-1-1,1,-1,1M---(18)]]>其中,vblkQC表示所述塊編號(hào)中的量化值的變量。例如,-1指示通過(guò)將所述宏塊的量化參數(shù)設(shè)置為-1對(duì)將被作為對(duì)象的8*8塊進(jìn)行的量化。所述宏塊有四個(gè)8*8塊。因此,blk表示從0到3四個(gè)值。
圖3說(shuō)明了當(dāng)提供量化碼表時(shí)宏塊內(nèi)量化參數(shù)的分配方法。利用對(duì)應(yīng)于所述塊的每個(gè)位置的參數(shù)變化度來(lái)改變所述量化參數(shù)。當(dāng)以8*8像素為單位改變所述量化參數(shù)時(shí),所述4*4像素塊量化器利用圖3左側(cè)所示的相同的量化參數(shù)來(lái)反量化四個(gè)塊。如圖3右側(cè)所示,8*8像素塊量化器改變每個(gè)塊的量化參數(shù)。
下面將解釋用于對(duì)量化矩陣的索引進(jìn)行解碼的解碼方法。圖12示出了序列頭的數(shù)據(jù)結(jié)構(gòu)的一部分,圖13示出了條帶頭的數(shù)據(jù)結(jié)構(gòu)的一部分,而圖14示出了宏塊頭的數(shù)據(jù)結(jié)構(gòu)的一部分。類(lèi)似于圖4的句法結(jié)構(gòu)對(duì)它們進(jìn)行定義。
圖12所示的ex_quant_matrix_in_slice_flag是指示是否為每個(gè)條帶對(duì)量化矩陣的索引進(jìn)行解碼的標(biāo)志。所述ex_quant_matrix_in_mb_flag是指示是否為每個(gè)宏塊對(duì)量化矩陣的索引進(jìn)行解碼的標(biāo)志。所述slice_ex_matrix_flag是指示是否在所述條帶中使用量化矩陣的標(biāo)志。如果所述slice_ex_matrix_flag為1,使用相應(yīng)的量化矩陣。在這種情況下,可接收所述量化矩陣,并且可使用存在于所述H.264高類(lèi)中的缺省矩陣。
如果所述slice_ex_matrix_flag為0,其意味著在反量化時(shí)不在所述條帶中使用所述量化矩陣。類(lèi)似地,mb_ex_matrix_flag是指示是否在所述相應(yīng)宏塊中使用量化矩陣的標(biāo)志。如果所述標(biāo)志為1,利用所述量化矩陣進(jìn)行反量化。
原樣發(fā)送所述相應(yīng)量化矩陣的索引而不是圖12和13中所示的用1比特指示的標(biāo)志,并利用多個(gè)量化矩陣進(jìn)行量化/反量化。然后,所述解碼器必須具有對(duì)應(yīng)于各自量化矩陣的索引的量化矩陣表(可選地,從所述編碼數(shù)據(jù)解碼所述量化矩陣)。
以下描述如何切換所述量化矩陣。
當(dāng)所述條帶頭的所述slice_ex_matrix_flag或所述宏塊頭的mb_ex_matrix_flag為0時(shí),在相應(yīng)的條帶或宏塊中不采用所述量化矩陣(換言之,進(jìn)行扁平反量化(flat dequantization))。當(dāng)所述條帶頭的所述slice_ex_matrix_flag或所述宏塊頭的mb_ex_matrix_flag為1時(shí),利用發(fā)送的量化矩陣或缺省矩陣在所述相應(yīng)的條帶或宏塊中進(jìn)行反量化。
當(dāng)使用所述缺省矩陣時(shí),在此方案中,為每一個(gè)條帶或宏塊選擇所述缺省矩陣和所述扁平矩陣。如下等式(19)表達(dá)H.264的4*4像素塊中的缺省矩陣和扁平矩陣(對(duì)應(yīng)于不使用量化矩陣的情況)。
WSdefault(i,j)=6122027122027322027323727323741]]>WSflat(i,j)=16161616161616161616161616161616---(19)]]>如果如所述使用本方案,當(dāng)完成等式(3)的反量化時(shí),可為每一個(gè)條帶或宏塊改變等式(4)的量化矩陣。因此,考慮主觀圖像質(zhì)量進(jìn)行所述反量化。
如上所述,反量化器304通過(guò)類(lèi)似于利用所述視頻編碼裝置進(jìn)行量化的系統(tǒng)來(lái)執(zhí)行反量化。
以上實(shí)施例解釋視頻了編碼。然而,本發(fā)明也可應(yīng)用于靜止圖像編碼。
根據(jù)本發(fā)明,通過(guò)調(diào)整每個(gè)小像素塊的量化參數(shù)的值,利用用于改變宏塊的量化參數(shù)的量化碼表,并且進(jìn)行用于改變每個(gè)區(qū)域的量化矩陣的量化和反量化,可以實(shí)現(xiàn)具有比常規(guī)反量化器更高的編碼效率并考慮了視覺(jué)屬性的量化器和反量化器。
根據(jù)本發(fā)明,能夠?qū)崿F(xiàn)這樣的量化器和反量化器,其能夠提高編碼效率并且充分考慮了視覺(jué)屬性。
本領(lǐng)域技術(shù)人員可以容易地得到其它優(yōu)點(diǎn)和變型。因此,本發(fā)明在其廣義方面不限于在此示出和描述的具體細(xì)節(jié)和代表性實(shí)施例。于是,無(wú)需脫離由所附權(quán)利要求及其等同內(nèi)容所定義的一般發(fā)明性概念的精神和范圍即可得到各種變型。
權(quán)利要求
1.一種圖像編碼方法,其用于根據(jù)編碼模式對(duì)圖像信號(hào)進(jìn)行編碼,所述方法包括以下步驟根據(jù)來(lái)自對(duì)應(yīng)于通過(guò)分割輸入圖像信號(hào)產(chǎn)生的多個(gè)宏塊中的每個(gè)宏塊的宏塊信號(hào)的多種編碼模式中的每一種來(lái)產(chǎn)生預(yù)測(cè)信號(hào)和編碼模式信息;從多個(gè)量化碼表中選擇對(duì)應(yīng)于每個(gè)所述宏塊的量化碼表;基于所述宏塊信號(hào)和所述預(yù)測(cè)信號(hào)產(chǎn)生所述編碼模式中的每一種的預(yù)測(cè)誤差信號(hào);對(duì)所述預(yù)測(cè)誤差信號(hào)進(jìn)行正交變換;利用對(duì)應(yīng)于所述宏塊的所述量化碼表,在改變所述宏塊中復(fù)數(shù)的亞像素塊的每一個(gè)的量化參數(shù)時(shí)量化所述正交變換的預(yù)測(cè)誤差信號(hào),以產(chǎn)生量化變換系數(shù);對(duì)所述量化變換系數(shù)進(jìn)行編碼;從所述編碼的量化變換系數(shù)的編碼失真以及編碼比特的數(shù)目來(lái)計(jì)算編碼代價(jià);基于所述編碼代價(jià)從所述編碼模式中選擇一種編碼模式;基于所述編碼代價(jià)從所述量化碼表中選擇一個(gè)量化碼表;以及對(duì)指示所述輸入圖像信號(hào)的每個(gè)編碼部分的所述選擇的量化碼表的索引的信息進(jìn)行編碼,其中所述編碼部分包括所述輸入圖像信號(hào)的幀以及所述幀的區(qū)域中的一個(gè)。
2.根據(jù)權(quán)利要求1所述的視頻編碼方法,進(jìn)一步包括在幀內(nèi)編碼和幀間編碼之間利用所述量化表來(lái)切換量化和反量化的執(zhí)行。
3.根據(jù)權(quán)利要求1所述的視頻編碼方法,進(jìn)一步包括根據(jù)所述宏塊的所述量化參數(shù)的值來(lái)改變所述量化碼表。
4.根據(jù)權(quán)利要求1所述的視頻編碼方法,進(jìn)一步包括選擇對(duì)應(yīng)于每個(gè)所述宏塊的量化矩陣,利用所述量化矩陣量化所述正交變換的預(yù)測(cè)誤差信號(hào),以產(chǎn)生量化的變換系數(shù),并且基于從該量化的變換系數(shù)計(jì)算的所述編碼代價(jià)從多個(gè)量化矩陣中選擇一個(gè)量化矩陣。
5.根據(jù)權(quán)利要求4所述的視頻編碼方法,進(jìn)一步包括在幀內(nèi)編碼和幀間編碼之間利用所述量化表來(lái)切換量化和反量化的執(zhí)行。
6.根據(jù)權(quán)利要求4所述的視頻編碼方法,進(jìn)一步包括根據(jù)所述宏塊的所述量化參數(shù)的值改變所述量化碼表。
7.一種對(duì)編碼圖像信號(hào)進(jìn)行解碼的圖像解碼方法,包括以下步驟接收編碼圖像信號(hào)的每個(gè)宏塊的量化碼表的索引;當(dāng)根據(jù)對(duì)應(yīng)于所述宏塊中復(fù)數(shù)的亞像素塊的每一個(gè)的所述索引的所述量化碼表來(lái)改變量化參數(shù)時(shí),反量化所述宏塊;并且改變所述編碼圖像信號(hào)的每個(gè)圖像的所述量化碼表,所述圖像包括所述編碼圖像信號(hào)的幀和所述幀的區(qū)域中的一個(gè)。
8.根據(jù)權(quán)利要求7所述的圖像解碼方法,進(jìn)一步包括接收指示所述編碼圖像信號(hào)的每個(gè)圖像的所述量化碼表以及所述量化矩陣表中的一個(gè)的索引,并且利用所述量化碼表和所述量化矩陣表中的一個(gè),通過(guò)切換反量化的執(zhí)行和不執(zhí)行來(lái)對(duì)所述宏塊進(jìn)行解碼。
9.根據(jù)權(quán)利要求7所述的圖像解碼方法,進(jìn)一步包括接收指示所述編碼圖像信號(hào)的每個(gè)圖像的所述量化碼表以及所述量化矩陣表中的一個(gè)的索引的信息,并且根據(jù)所述索引的所述信息對(duì)所述量化碼表和所述量化矩陣中的一個(gè)進(jìn)行解碼。
10.根據(jù)權(quán)利要求7所述的視頻解碼方法,進(jìn)一步包括根據(jù)所述宏塊的所述量化參數(shù)的值來(lái)改變所述量化碼表和所述量化矩陣表中的一個(gè)。
11.根據(jù)權(quán)利要求7所述的圖像解碼方法,進(jìn)一步包括接收每個(gè)所述宏塊的量化矩陣的索引,根據(jù)用于所述宏塊并且從對(duì)應(yīng)于所述接收的量化矩陣的量化矩陣表得到的量化矩陣來(lái)反量化所述宏塊,并且改變所述編碼圖像信號(hào)的每個(gè)圖像的所述量化矩陣表。
12.根據(jù)權(quán)利要求11所述的圖像解碼方法,進(jìn)一步包括接收指示所述編碼圖像信號(hào)的每個(gè)圖像的所述量化碼表以及所述量化矩陣表中的一個(gè)的索引,并且利用所述量化碼表和所述量化矩陣表中的一個(gè),通過(guò)切換反量化的執(zhí)行和不執(zhí)行來(lái)解碼所述宏塊。
13.根據(jù)權(quán)利要求11所述的圖像解碼方法,進(jìn)一步包括接收指示所述編碼圖像信號(hào)的每個(gè)圖像的所述量化碼表以及所述量化矩陣表中的一個(gè)的索引的信息,并且根據(jù)所述索引的所述信息對(duì)所述量化碼表和所述量化矩陣中的一個(gè)進(jìn)行解碼。
14.根據(jù)權(quán)利要求11所述的視頻編碼方法,進(jìn)一步包括根據(jù)所述宏塊的所述量化參數(shù)的值來(lái)改變所述量化碼表和所述量化矩陣表中的一個(gè)。
15.一種根據(jù)編碼模式對(duì)圖像信號(hào)進(jìn)行編碼的圖像編碼裝置,包括用于存儲(chǔ)多個(gè)量化碼表的表;第一發(fā)生器,用于根據(jù)來(lái)自對(duì)應(yīng)于通過(guò)分割輸入圖像信號(hào)產(chǎn)生的多個(gè)宏塊中的每個(gè)宏塊的宏塊信號(hào)的多種編碼模式中的每一種來(lái)產(chǎn)生預(yù)測(cè)信號(hào)和編碼模式信息;第一選擇器,用于從所述量化碼表中選擇對(duì)應(yīng)于每個(gè)所述宏塊的量化碼表;第二發(fā)生器,用于基于所述宏塊信號(hào)和所述預(yù)測(cè)信號(hào)產(chǎn)生所述編碼模式中的每一種的預(yù)測(cè)誤差信號(hào);變換器,用于對(duì)所述預(yù)測(cè)誤差信號(hào)進(jìn)行正交變換;量化器,利用對(duì)應(yīng)于所述宏塊的所述量化碼表,在改變所述宏塊中復(fù)數(shù)的亞像素塊的每一個(gè)的量化參數(shù)時(shí)量化所述正交變換的預(yù)測(cè)誤差信號(hào),以產(chǎn)生量化變換系數(shù);第一編碼器,用于對(duì)所述量化變換系數(shù)進(jìn)行編碼;計(jì)算器,用于從所述編碼的量化變換系數(shù)的編碼失真以及編碼比特的數(shù)目來(lái)計(jì)算編碼代價(jià);第二選擇器,用于基于所述編碼代價(jià)從所述編碼模式中選擇一種編碼模式;第三選擇器,用于基于所述編碼代價(jià)從所述量化碼表中選擇一個(gè)量化碼表;第二編碼器,用于對(duì)指示所述輸入圖像信號(hào)的每個(gè)編碼部分的所述選擇的量化碼表的索引的信息進(jìn)行編碼,其中所述編碼部分包括所述輸入圖像信號(hào)的幀以及所述幀的區(qū)域中的一個(gè)。
16.根據(jù)權(quán)利要求15所述的視頻編碼裝置,進(jìn)一步包括用于選擇對(duì)應(yīng)于每個(gè)所述宏塊的量化矩陣的選擇器,用于利用所述量化矩陣來(lái)量化所述正交變換的預(yù)測(cè)誤差信號(hào)以產(chǎn)生量化的變換系數(shù)的量化器,以及用于基于從所述量化的變換系數(shù)計(jì)算的所述編碼代價(jià)來(lái)從多個(gè)量化矩陣中選擇一個(gè)量化矩陣的選擇器。
17.一種對(duì)編碼圖像信號(hào)進(jìn)行解碼的圖像解碼裝置,包括接收器,用于接收編碼圖像信號(hào)的每個(gè)宏塊的量化碼表的索引;反量化器,用于當(dāng)根據(jù)對(duì)應(yīng)于所述宏塊中復(fù)數(shù)的亞像素塊的每一個(gè)的所述索引的所述量化碼表來(lái)改變量化參數(shù)時(shí)反量化所述宏塊;以及開(kāi)關(guān),用于改變所述編碼圖像信號(hào)的每個(gè)圖像的所述量化碼表,其中所述圖像包括所述編碼圖像信號(hào)的幀和所述幀的區(qū)域中的一個(gè)。
18.根據(jù)權(quán)利要求17所述的圖像解碼裝置,進(jìn)一步包括被配置為接收每個(gè)所述宏塊的量化矩陣的索引的接收單元,根據(jù)用于所述宏塊并且從對(duì)應(yīng)于所述接收的量化矩陣的量化矩陣表得到的量化矩陣來(lái)反量化所述宏塊的反量化器,以及被配置為改變所述編碼圖像信號(hào)的每個(gè)圖像的所述量化矩陣表的改變單元。
全文摘要
一種圖像編碼方法,包括根據(jù)來(lái)自對(duì)應(yīng)于每個(gè)宏塊的宏塊信號(hào)的每種編碼模式產(chǎn)生預(yù)測(cè)信號(hào)和編碼模式信息,選擇對(duì)應(yīng)于每個(gè)宏塊的量化碼表,基于所述宏塊信號(hào)和所述預(yù)測(cè)信號(hào)產(chǎn)生每種編碼模式的預(yù)測(cè)誤差信號(hào),對(duì)所述預(yù)測(cè)誤差信號(hào)進(jìn)行正交變換,利用對(duì)應(yīng)于所述宏塊的所述量化碼表在改變復(fù)數(shù)的亞像素塊的每一個(gè)的量化參數(shù)時(shí)量化所述正交變換的預(yù)測(cè)誤差信號(hào),對(duì)量化變換系數(shù)進(jìn)行編碼,計(jì)算編碼代價(jià),基于所述編碼代價(jià)選擇一種編碼模式,基于所述編碼代價(jià)選擇一個(gè)量化碼表,以及對(duì)指示所述輸入圖像信號(hào)的每一幀或者所述幀的每一個(gè)區(qū)域的所述選擇的量化碼表的索引的信息進(jìn)行編碼。
文檔編號(hào)H04N7/50GK1835595SQ20061006509
公開(kāi)日2006年9月20日 申請(qǐng)日期2006年3月16日 優(yōu)先權(quán)日2005年3月16日
發(fā)明者谷澤昭行, 中條健 申請(qǐng)人:株式會(huì)社東芝