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