專利名稱:圖像和視頻編碼用的改進的塊變換和量化的制作方法
技術領域:
本發明一般涉及圖像和視頻信號的編碼和解碼,特別涉及到一種用于編碼和解碼圖像視頻信號的改進的塊變換和逆變換,以及量化和去量化方法。
背景技術:
離散余弦變換(DCT)一般用于塊變換的圖像和視頻(圖像序列)編碼,例如JPEG和MPEG。其他原因是,就圖像視覺質量而言,DCT可將隨機信號(例如,對應于圖像數據的信號)分離為較重要的低頻部分和次要的高頻部分,這樣便于壓縮。
舉例來說,H.26L是一種使用4×4像素塊構成幀的圖像和/或視頻的編碼技術,與采用8×8像素塊的MPEG和JPEG不同,H.26L通過使用除幀間估計和運動補償(即,幀際編碼)外,還利用同幀中存在的其他塊的預測信息(即,幀內編碼),從而使采用4×4像素塊取得了相對較高質量的壓縮。一般說來,為了完成幀內預測,H.26L編碼器要告訴相應的H.26L解碼器,在構成幀中哪些以前的像素塊被用作為預測基礎,并識別6種可能的預測器(公式)中的1個來確定新塊像素(從以前幀內的塊的像素進行識別)。這會引致預測誤差,但此誤差也供給解碼器,以校正新塊。預測誤差信息利用塊變換(DCT)加以編碼,將編碼結果送至解碼器,用于再次計算誤差信息,包括通過逆變換來校正預測的塊。
圖像和視頻的編碼或解碼需要大量的處理能力。眾所周知,編碼器具有的處理能力要大大地超過多個將數據轉換為圖像的解碼器的處理能力,因為解碼器通常是在用戶設備中提供,如,圖像和視頻的解碼可發生在電視機頂端盒內,個人數子助理內,袖珍式個人計算機和更先進的蜂窩式電話內。
因此,考慮圖像和視頻的編碼和解碼方法時,保持解碼的簡單性是很重要的,縱然這意味著編碼必須在計算上做得更復雜些。任何簡化解碼的措施都是需要的,在這樣做時,編碼和解碼的處理不會對現有技術基本方法的壓縮水平、最終圖像質量和解碼器需要的其他資源量起到不利影響。
發明內容
簡言之,本發明提供一種改進的方法,系統和塊變換,使得編碼器和解碼器兩者都可大大地簡化對圖像和視頻的計算復雜性。而同時,壓縮、圖像/視頻質量和其他資源所受到的影響可以忽略。
特別是,提供一種對離散余弦變換(DCT)采用新的整數近似的正交塊變換和相應的逆變換,以及其他可顯著地減少編碼器和解碼器計算復雜性的計算改變。事實上,在一個實施例中,在編碼器和解碼器,每個系數的變換操作次數已減少至在16位運算中的4次加法和1次移位(而H.26L規定的變換要在32位運算中有4次加法和3次乘法)。因為編碼期間的量化(換算和舍入至整數)和解碼期間的去量化(通過使用根據各系數位置所選擇的3張表之一)具有對其他變換乘法系數進行補償的參數值(除了在變換和逆變換過程中由移位操作所完成的乘法外),所以本發明能正確地變換像素信息(如,誤差校正數據)。
而且,解碼器在解碼期間對各經量化的系數進行1次16位乘法,將經量化的系數去量化,成為變換系數,替代(如H.26L所需的)32位的乘法運算。在許多設備中,就一般圖像和視頻來說,本發明的數據處理的好處與H.26L相比是顯而易見的,特別在解碼器上,如果產生質量和/或壓縮的任何損失,也是可忽略的。
本發明提供一種對視頻或圖像信息進行編碼的方法,該方法包括應用一種對信息的變換處理來從中構造變換系數,所述變換處理應用具有值的變換計算,這樣,變換計算中的每個乘法運算可由移位操作來完成;以及把變換系數量化為經量化的變換系數。
本發明提供一種提供視頻或圖像信息的系統,該系統包括塊轉換編碼器,包括(1)變換處理,應用對信息的變換以從中構造的變換系數,該變換處理應用具有值的變換計算,這樣,變換計算中的每個乘法操作可由移位操作來完成;以及(2)量化過程,把變換系統量化為經量化的整數變換系數。
本發明還提供一種對視頻或圖像信息進行編碼的方法,該方法包括應用對信息的變換處理來從中構造變換系數,所述變換處理應用具有值的變換計算,這樣,變換計算中的每個乘法運算可由左移操作來完成;以及把變換系數量化為經量化的變換系數。
從下面結合附圖的詳細描述中,其他好處和優點就是明顯的,其中
圖1是示出包含本發明的示范計算機系統的方塊圖;圖2是示出根據本發明的一個方面,用于將視頻或圖像數據像素編碼成經編碼的視頻,和將經編碼的視頻解碼為像素信息的部件的方塊圖,包括變換,量化,去量化和逆變換。
圖3示出根據本發明的一個方面所表示的改進變換矩陣的蝶形結構。
圖4示出根據本發明的一個方面所表示的改進逆變換矩陣的蝶形結構。
具體實施例方式
圖1示出可實施本發明的一個適合操作環境120的例子,特別是對圖像和/或視頻數據的解碼。操作環境120只是適合操作環境的一個例子,并不是要對本發明應用范圍或功能性提出任何限止。適用于本發明的其他一些眾所周知的計算系統、環境和/或配置包括(但不局限于)個人計算機、服務器計算機、手持式和膝上型設備、多處理器系統、基于微處理的系統、可編碼的用戶電子設備、網絡PC機、小型計算機、主計算機,包括上述任何系統或設備的分布計算環境等等。例如,圖像和/或視頻圖像數據的編碼很可能經常在1臺具有比現今手持式個人計算機更強處理能力的計算機上進行,但這并不是說不能在示范設備上進行編碼,或在更強處理能力的設備上進行解碼。
本發明在一般計算機可執行的指令的范圍中描述,如程序模塊,可由1個或多個計算機或其他設備來執行。一般說來,程序模塊包括執行特定任務或實施特定的抽象數據類的例行程序、程序、對象、組成部分、數據結構等等。一般程序模塊功能性可按各種實例的要求進行組合或分布。
計算設備120一般至少包括一些形式的計算機可讀媒體。計算機可讀媒體可以是由計算設備120能存取的任何可獲得的媒體。舉例來說,但不限于,計算機可讀媒體可包括計算機存儲媒體和通信媒體。計算機存儲媒體包括以任何方法或技術來存儲信息所實現的易失性和非易失性、可移動和不可移動的媒體,如計算機可讀指令、數據結構、程序模塊或其他數據。計算機存儲媒體包括,但不限于,RAM、ROM、EEPROM、快閃存儲器或其他存儲器技術、CD-ROM、數字式多用途盤(DVD)或其他光存儲器、磁盤、磁帶、磁盤存儲器或其他磁存儲器件,或可用于存儲所需信息,并由計算設備120可存取的任何其他媒體。通信媒體一般包括計算機可讀指令、數據結構、程序模塊或經調制的數據信號中的其他數據如載波或其他傳送機制,并包括任何信息發送媒體。術語“經調制的數據信號”就是指具有其特性組中1個特性或多個特性或可按關于對信號中信息編碼的一種方式來改變的信號。舉例來說,并不局限于,通信媒體包括有線媒體如有線網絡或直接有線連接,和無線媒體如聲頻、RF、紅外或其他無線媒體。上述的任何組合也必須包括在計算機可讀媒體的范圍內。
圖1示出一種這樣的手持式計算設備120的功能部件,包括處理器122、存儲器124、顯示器126和鍵盤128(它可以是實際的或虛擬的鍵盤)。存儲器124一般包括易失性存儲器(如RAM)和非易失性存儲器(如ROM、PCMCIA卡等等)兩者。操作系統130駐留在存儲器124內,并在處理器122上執行,如微軟公司WindowCE操作系統或其他操作系統。
1個或多個應用程序132加載入存儲器124,并在操作系統上130運行。應用程序的例子包括電子郵件程序、調度程序、PIM(個人信息管理)程序、字處理程序、電子表格程序、因特網瀏覽器程序等等。手持式個人計算機120還包括加載入存儲器124的通知管理程序134,此程序在處理器122上執行。通知管理程序134處理諸如來自應用程序的通知要求。
手持式個人計算機120具有由1個或多個電池實現的電源136。電源136進一步包括外接電源,對機內電池過載(override)或充電,如AC適配器或供電的連接底座。
圖1示出的示范手持式個人計算機120具有3種類型的外部通知機構1個或多個發光二極管(LED)140和1個音頻發生器144。這些器件可直接耦合至電源136,這樣,當這些器件激活時,即使手持式個人計算機處理器122和其他組成部分為了節省電池電源而關機,這些器件仍在通知機構所指定的時期內保持開啟。LED140最好無限止地保持開啟,直至用戶采取行動。注意現在這類音頻發生器144耗用當今手持式個人計算機的電池電源太多,所以當系統休眠時或在激活后有限時期內,將它置于關閉。
編碼和解碼就背景所述,離散余弦變換(DCT)利用線性變換公式X=Hx將長度-N矢量X映射為新的變換系數矢量X,其中H的第k行和第n列中的元素由下式規定Hkn=H(k,n)=ck2Ncos((n+1/2)kπN)]]>其中k=0,1,…,N-1,而n=0,1,…N-1,同時當k>1時,c0=2]]>而ck=1。DCT矩陣是正交的,因此,其逆向等于其轉置,即x=H-1X=HTX。
DCT的一個缺點是H(k,n)項是無理數,所以整數輸入數據x(n)將映射為無理變換系數X(k)。因此,使用數字計算機時,當直接變換和逆變換以級聯方式計算時,輸出數據就不完全相等于輸入數據。換言之,如果以X=Hx來計算,且u=round(HTX),然而對所有n來說,u(n)=x(n)并不為真。然而通過引入合適的換算因子α,γ,例如x=γHx而u=round(αHTX),則當α和γ選擇得足夠大時,對幾乎所有n,u(n)=Gx(n),其中G是整數,但這也不能保證是正確的結果。
在運動補償的視頻編碼器中,例如,過去解碼的幀數據用作為用于生成當前幀的預測信息的參考信息。因此,作為編碼的一部分,編碼器生成其自己的經解碼的幀,因而編碼器需要計算逆變換。如果應用公式u=round(αHTx),則不同處理器中的不同浮點格式和舍入方法會導致不同的結果。結果是,在編碼器上的解碼數據對解碼器上的解碼數據之間將產生偏差(它們具有不同處理器),因為編碼器是基于對幀塊進行預測/運動信息,而此幀塊越來越少,如解碼器所產生的幀塊那樣,因此每1新幀的圖像越來越差。
解決數據偏差的一個辦法是用只具有整數的矩陣來近似矩陣H,就可消除舍入誤差。如果H行是正交的并具有相同的范數(平方和),然后接下來其遵循對所有整數x,可以以整數運算正確計算u。換言之,當直接變換由X=Hx來計算,逆變換由u=HTX來計算時,得出結果為u=Gx,其中G是整數,等于H中任何行的平方范數。
對DCT生成整數近似值的一種方法是使用通用公式Q(k,n)=round(αH(k,n))其中α為換算參數。
在H.26L視頻壓縮標準中,圖像是由4×4像素塊組成,故在H.26L的DCT公式中N=4。DCT矩陣的結果等于H=121111cs-s-c1-1-11s-cc-s]]>
其中C2cos(π/8)]]>和S2sin(π/8).]]>目前版本H.26L中變換矩陣是設定α=26取得的,此值計算為Qo=round(26H)=13131313177-7-1713-13-13137-1717-7]]>使用換算參數值26,Q0行和列相互是正交的(即,任何兩列的內積為零),所有行和列具有1個范數676。事實上,對于α<50時,只有α=2或α=26才能提供具有相等范數的行的正交矩陣。然而α=2的解決方法所得到的壓縮效果不好,并且更大的α值并不令人滿意,因為計算直接變換的結果X=Q0x時,所需的計算復雜性會增加(如,字長)。因而在H.26L中迄今還是選用a=26。
逆變換由x’=Q0X來規定,故可用整數運算來計算。按上述規定,X’=676x,即,重構的數據x’等于原始數據x由整數增益676可放大(它是Q0中任何行的范數)。
按照本發明一個方面,提供一種采用整數近似值的塊變換矩陣,這些近似值是正交的,但具有不同的值,能在編碼和解碼時顯著地減少計算復雜性。更具體地說,使用α=2.5,生成下列矩陣QDround(2.5H)=111121-1-21-1-111-221]]>注意QD行是相互正交的,當它們范數不同時(行0和行2的范數等于4;而行1和行3的范數等于10),如下所述,以一種不明顯增加計算復雜性的方法進行量化和去量化處理。
回到附圖2,顯示出塊變換編碼器200和塊變換解碼器222,能通過一些類型媒體和/或中間器件220加以連接。眾所周知,編碼器200不需要直接將其輸出用于解碼器222,這樣,圖2中標出的線220可虛擬地代表任何媒體或器件,如網絡電纜、無線傳輸媒體、電話線、存儲器件、路由器和/或它們虛擬的任何組合。
一般說來,編碼器200通過可分的2維變換204將每個N×N輸入像素數據202塊進行變換來工作。具體地說,首先由行變換處理206來變換塊中行像素數據,然后行變換的結果(圖2中未特別示出)通過列變換處理208變換成結果變換系數210。換言之,2維DCT對像素塊各行基本上執行1維DCT,接著是,對由1維DCT在行上產生的各列像素塊進行1維DCT。行和列的變換也可以以相反的次序進行,而獲得的結果相同。
在H.26L中,規定的變換矩陣形成下列公式,以計算變換系數A=13a+13b+13c+13dB=17a+7b-7c-17dC=13a-13b-13c+13dD=7a-17b+17c-7d其中,[abcd]在4X4塊中首先代表行像素值,在行變換后,代表這些行變換后數據值的列像素值。但在實際中,這些公式可以簡化,DCT矩陣具有遞歸結構,可減少所需的乘法和加法的運算次數。然而,上述矩陣需要至少4次加法和3次乘法來計算各像素的變換系數。而且,因為每個像素可能是一個帶符號的9位數值,當行和列因子(增益等于范數676)相乘時,計算要求32位運算,而單獨一次32位運算要花費與多次16位運算相同的時間。當這些考慮因素一般在編碼期間并不明顯時,倘若應用H.26L規定的這些矩陣值,在解碼期間還是會產生額外操作和32位運算,因此,開銷就很大。
與H.26L規定的矩陣相反,使用如上所述的同樣的通用公式表示法,本發明的塊變換矩陣為QDround(2.5H)=111121-1-21-1-111-22-1]]>它提供下列公式來計算變換系數A=a+b+c+dB=2a+b-c-2dC=a-b-c+dD=a-2b+2c-d此公式/矩陣可最優化工作的部分理由是通過簡單地改變換算中使用的值,使乘法因子基本上在量化階段得以處理,從而替代原來在變換階段中進行各個乘法。結果,利用此公式的唯一的乘法是乘以2的冪,在處理器中此操作是通過簡單的左移操作來完成的,并不是真正的乘法。以u,v,y和z作為輔助參數,其中“<<1”就是指左移1位(等效于乘以2,但計算更快),上述公式可簡化成下述公式
u=a+d;v=b+c;y=b-c;z=a-d;A=u+v;C=u-v;B=y+(z<<1);D=z-(y<<1);通過圖3示出的蝶形結構(其中2點之間的線指示和數,而線上的數字(幾個-1、2和-2指出乘法因子),查找這些變換系數實際上僅需要對每個給定的像素進行4次加法和1次移位,它與H.26L規定的因子相比,可提供顯著的性能改進。因為系數值更低,所有變換操作都可在16位運算中完成(帶有9位像素數據)。特別是,使用上述規定的變換矩陣QD,在2維2-D變換后,最大信號放大倍數為36。由此,2維變換后輸出系數比輸入要延伸6位。因此,對9位的輸入來說,輸出系數具有15位的動態范圍,也就是2維直接變換可用16位運算來計算。而且,如下所述,由于操作次數大大減少,而每次操作只需16位運算所帶來的性能提升在采用逆變換進行解碼期間,可再次重現性能提高,這就大大提高了解碼性能。
一旦算出變換系數210,通過對此值換算和舍入它們至它們最近的整數對塊系數210進行量化。這由圖2中的量化過程212示出,它從量化參數214的量化值中進行選擇,將變換系數210換算為量化系數216。如下所述,因為在改進的矩陣中不是有1個范數,而是3個范數,3種量化表Q0,Q1和Q2包括這些值,這取決于要量化的變換系數在塊中的位置。
換算和舍入的量化公式如下,但它必須用32位精度加以計算L=[K×A(QP,r)+fX]>>20其中L是量化系數,K是變換系數,A(QP,r)是由量化參數QP和r所索引的換算因子,其中r識別應用哪張表(Q0,Q1或Q2),fX在
×220范圍內(fX具有和K相同的符號),而>>20是指右移20位(除以1,048,576),以使數按比例下降。量化過程因此引入誤差。注意,雖然應用32位運算進行量化,但這僅是編碼所需,當解碼時就沒有那么重要(其中去量化只需要16位精度,如下所述)。
索引r可從3張量化表Q0,Q1,Q3選出1張用于根據塊中系數k的位置來調整3個不同的范數如果系數來自下列位置{(0,0),(0,1),(1,0),(1,1)}中之一,則r=0(使用Q0表);如果系數來自下列位置{(0,2),(0.3),(1,2),(1,3),(2,0),(2,1),(3,0),(3,1)}中之一,則r=1,使用Q1表;如果系數來自下列位置{(2,2),(2,3),(3,2),(3,3)}中之一,則r=2,使用Q2表。
在右移20位后,各個經量化結果L擬合到16位整數中。
在示范實施例中,根據下列表格,換算因子A(QP,r)取決于量化參數QP和系數位置組rA(QP=0..31,r=0)={104858,93418,83226,74146,66056,58849,52429,46709,41613,37073,33028,29425,26214,23354,20806,18536,16514,14712,13107,11677,10403,9268,8257,7356,6554,5839,5202,4634,4129,3678,3277,2919};A(QP=0..31,r=1)={66318,59082,52636,46894,41778,37220,33159,29541,26318,23447,20889,18610,16579,14771,13159,11723,10444,9305,8290,7385,6580,5862,5222,4652,4145,3693,3290,2931,2611,2326,2072,1846};A(QP=0..31,r=2)={41943,37367,33290,29658,26422,23540,20972,18684,16645,14829,13211,11770,10486,9342,8323,7415,6606,5885,5243,4671,4161,3707,3303,2942,2621,2335,2081,1854,1651,1471,1311,1168}.
上述特定值是設計用來滿足H.26L中設計技術規范,量化步驟規模必須在表索引中每6次遞增時,加倍。對于其他視頻或靜止圖像編碼應用,要考慮所需的保真度增量,設計另外的量化表。注意,為了將量化表存儲于編碼器中,需要有額外空間來存儲3張表,而不是1張表,但是該額外空間量僅為64字節,故微不足道。
再看圖2,經量化過程后,量化系數216饋至熵編碼器218,進一步減少塊編碼時所需的位數。熵編碼器(和解碼器)是大家熟知的,故這兒不再累述,因為本發明操作前,基本上與熵編碼無關,而操作后基本上也與熵解碼無關。
考慮在塊變換解碼器222中解碼時,有時不論如何傳遞,熵編碼的輸出位饋至熵解碼器224作為輸入位。一般說來,這種熵解碼器是已知的,因此在其他可能的操作中,它足以說明熵解碼器224對給定的塊再生量化系數226。注意,一般編碼和解碼是不能有損的,即饋至熵編碼器218的量化系數216與由熵解碼器224所產生的量化系數226是一致的。
一般說來,塊變換解碼器222反映塊變換編碼器200的操作,雖然如下所述,且為了和本發明一致,提供一種改進的逆變換矩陣,能應用16位運算于整個解碼過程中,這樣,大大簡化了解碼器的計算復雜性。
一旦量化系數226從熵解碼器224中取出,每個量化系數L由去量化處理228轉換為重構(去量化)值K’,去量化處理執行下述公式K’=L×B(QP,r)其中換算因子B取決于編碼時使用的QP索引,而r通過從3張表D0,D1或D2中選用的1張表的1個參數來決定去量化參數230(以調整3個范數)。注意,如上面有關量化所述,r能從塊中正在去量化的系數的位置中推導出來,雖然從編碼器中送出r值是可行的(這能減少解碼器上計算的復雜性),但這要求對每個系數至少要多送出2位,以便標識r。
這樣,換算因子B(QP,r)取決于編碼時所用的QP量化參數索引和系數位置組r。在示范實施中,根據下表規定相關性B(QP=0..31,r=0)={80,90,101,113,127,143,160,180,202,226,254,285,320,359,403,453,508,570,640,718,806,905,1016,1140,1280,1437,1613,1810,2032,2281,2560,2874};B(QP=0..31,r=1)={101,114,127,143,161,180,202,227,255,286,321,361,405,454,510,572,643,721,810,909,1020,1145,1285,1443,1619,1817,2040,2290,2570,2885,3239,3635};B(QP=0..31,r=2)={128,144,161,181,203,228,256,287,323,362,406,456,512,575,645,724,813,912,1024,1149,1290,1448,1625,1825,2048,2299,2580,2896,3252,3650,4095,4596}.
當使用編碼表時,上述的特定值是設計滿足H.26L的設計技術規范的,即量化步驟的規模必須是索引表中每增量為6就加倍。對其他視頻或靜止圖像編碼應用,考慮到所需保真度的增量,可設計其他的量化表。
可以理解的是,雖然這些換算值中的每個值都足夠低,以保證解碼器只需要16位運算,但去量化公式又使系數換算回成為較大值。必須注意的是,因為1個表中的各項與其他2個表中相應的QP索引的項在數學上是相關的(基于范數),就可能換個辦法,根據r值作出適當的數學調整來只使用1張表的QP值,而不是用3張表。然而,在小表中查找更為有效,并且以每個項2字節空間來存儲3張表的32項代替(H.26L變換規定所需的)每項以4位空間來存儲1張表的32項所需的字節數是64個附加字節,這在現代計算設備中是可忽略的,特別考慮到由去量化生成的變換系數擬合到16位字中,而不是在32位字中,因而可減少所需的存儲器總量。
圖2中又示出,一旦經量化系數226通過上述公式和表進行去量化后,就產生重構變換系數232的4×4矩陣。根據這些變換系數232,通過將它們饋至分別由列和行逆變換處理236,238組成的2維逆變換處理234中去,就能生成重構像素。
為了與本發明相符,不采用平常所用的逆變換QJ=QDT,而是允許16位去量化和逆變換計算,本發明規定下列逆變換矩陣供使用 注意,QI諸列是相互正交的,但它們范數是不同的。然而這可通過在選擇去量化參數中所用的“r”值來處理,如上所述。而且,注意由QD生成QI時,QD是轉置的,通過列1和列3乘以1/2。再之,在D0、D1和D2表中已經存在的QP值已為此而事先加以調整,故不需要任何附加計算復雜性以進行補償。而且,使用此矩陣在計算逆變換時必須進行的唯一“乘法”是乘以1/2,這實際上是通過高效率的右移操作來完成的。注意,這種不精確的除法引起的少量噪聲基本上對速率失真性能沒有影響。
當QI如上規定,其最大增益等于4。因此,2維逆變換過程的動態范圍只擴展4位,故可在16位運算中計算。
圖2示出的列逆變換處理236和行逆變換處理238(在列逆變換處理的結果上操作)生成輸出像素數據240。至此,通過使用上述逆變換矩陣和調用[A B C D]為特定的逆變換的行或列,相應的逆變換值[a’b’c’d’]由下式算出u=A+C;v=A-C;y=(B>>1)-D;z=(D>>1)+B;a′=u+z;b′=v+y;c′=v-y;d′=u-z;其中,u,v,y和z是輔助變量,而>>1是指右移1位(等效于乘以1/2)。相似于編碼,通過圖4所示的蝶形結構,這些公式實際上對每個系數已減少至4次加法操作和1次移位操作,都在16位運算中進行。最后,逆變換處理234(圖2)以2-7因子來換算重構的像素值(通過1次7位右移操作來完成)。
在7位移位后,重構的像素值具有9位范圍,所以逆變換可在16位運算中計算。上述設置的去量化表D0、D1和D2是這樣的,即去量化公式在以16位運算進行計算時不會溢出。下述表格總結了使用本發明變換和逆變換在計算上與H.26L所規定的操作相比存在的一些優點
現在很好理解,使用本發明所帶來的這種節省是很顯著的,特別在16位的處理器上。例如,實際上,一種典型的16位PDA處理器通過應用本發明,可以在解碼方面具有速度提高1倍左右的改善。
而且,已經對變換/逆變換對質量和壓縮的影響作了測試。編碼增益的結果(一般定義為信噪比提高)說明使用本發明的變換方式與H26L變換相比,以測試數據的結果來看,損失僅為0.01dB,這是可以忽略的,事實上有可能要比實際的視頻信號信息的損失小得多,如像素預測誤差。而且,相對于H.26L規定的變換,在32個量化參數的每個參數上作了總的性能測試,結果只是±0.5%范圍的差異,而平均值又十分接近零,因此表明本發明的變換和H.26L規定的變換一樣好。
從上面詳細描述來看,現提供一種改進的變換和逆變換矩陣分別用于圖像或視頻的編碼和解碼,比起其他現有的變換來說,可大大地減少計算復雜性,并對壓縮和質量沒有不利影響。不需要變換的乘法,但仍能取得正確的結果,因為除了在變換和逆變換處理中移位操作外,量化和去量化參數值都對這些乘法因子進行補償。由于使用此參數值,編碼時變換操作和解碼時去量化和變換操作都能在16位運算中完成(像素數據由9位或更少位來表示)。
本發明可以有各種修改和其他結構,在圖中示出說明實例例,并在上面作了詳述。然而,應該理解的是,并不是要將發明局限于所揭示的具體形式內,相反,本發明是要包括包含在本發明的精神和范圍內的所有修改、替代結構和同等物。
權利要求
1.一種對視頻或圖像信息進行編碼的方法,其特征在于,該方法包括應用對信息的變換處理來從中構造變換系數,所述變換處理應用具有值的變換計算,這樣,變換計算中的每個乘法運算可由移位操作來完成;以及把變換系數量化為經量化的變換系數。
2.如權利要求1所述的方法,其特征在于,所述信息包含為4×4矩陣的預測錯誤信息。
3.如權利要求1所述的方法,其特征在于,左移操作來完成變換運算中的每個乘法運算,并且其中對于每個4×4的信息的塊,所述變換運算包含16位左移操作,多個加法操作和多個減法操作。
4.如權利要求1所述的方法,其特征在于,所述變換處理對應于2維變換,所述變換使用基于下述矩陣示出的值的變換計算111121-1-21-1-111-22-1]]>
5.如權利要求1所述的方法,其特征在于,所述變換處理包括行和列變換處理。
6.如權利要求1所述的方法,其特征在于,所述變換系數是邏輯地排列于塊中,其中所述量化通過從多組的換算因子中選擇的換算因子來換算變換系數,并且其中該選擇是基于塊內的相對轉換系數位置和量化參數。
7.如權利要求1所述的方法,其特征在于,進一步包括對經量化的變換系數進行熵編碼。
8.如權利要求1所述的方法,其特征在于,進一步包括把經量化的系數去量化轉成經去量化的變換系數;以及把逆變換處理應用于經去量化的變換系數,以從中產生重構的信息,該逆變換處理應用具有值的逆變換計算,這樣,逆變換計算中的每個乘法操作可由移位操作來完成。
9.一種提供視頻或圖像信息的系統,其特征在于,該系統包括塊轉換編碼器,包括(1)變換處理,應用對信息的變換以從中構造變換系數,該變換處理應用具有值的變換計算,這樣,變換計算中的每個乘法操作可由移位操作來完成;以及(2)量化過程,把變換系統量化為經量化的整數變換系數。
10.如權利要求9所述的系統,其特征在于,所述信息包含為4×4矩陣的預測錯誤信息。
11.如權利要求9所述的系統,其特征在于,變換計算中的每個乘法操作可由左移位操作來完成;并且對于每個4×4的信息的塊,所述變換計算包含16位的左移操作,多個加法操作和多個減法操作。
12.如權利要求9所述的系統,其特征在于,所述變換處理包括行和列的變換處理,并且其中該行和列的變換處理依據下述矩陣所示的值進行變換計算111121-1-21-1-111-22-1]]>
13.如權利要求9所述的系統,其特征在于,所述變換系數是邏輯地排列于塊中,其中所述量化通過從多組的換算因子中選擇的換算因子來換算變換系數,并且其中該選擇是基于塊內的相對轉換系數位置和量化參數。
14.如權利要求9所述的系統,其特征在于,進一步包含一種機制,提供從塊變換編碼器到塊變換解碼器的經量化的整數的變換系數。
15.如權利要求9所述的系統,其特征在于,進一步包含塊變換解碼器,包括(1)去量化處理,把經量化的整數的變換系數經去量化轉成經去量化的變換系數;以及(2)逆變換處理,從所述去量化的變換系數中產生重構的信息,所述逆變換處理應用具有值的逆變換計算,這樣,逆變換計算中的每個乘法操作可由移位操作來完成。
16.一種對視頻或圖像信息進行編碼的方法,其特征在于,該方法包括應用對信息的變換處理來從中構造變換系數,所述變換處理應用具有值的變換計算,這樣,變換計算中的每個乘法運算可由左移操作來完成;以及把變換系數量化為經量化的變換系數。
17.如權利要求16所述的方法,其特征在于,所述信息包含為4×4矩陣的預測錯誤信息。
18.如權利要求16所述的方法,其特征在于,對于每個4×4的信息的塊,所述變換運算包含16位左移操作,多個加法操作和多個減法操作。
19.如權利要求16所述的方法,其特征在于,所述變換處理對應于2維變換,所述變換使用基于下述矩陣示出的值的變換計算111121-1-21-1-111-22-1]]>
20.如權利要求16所述的方法,其特征在于,所述變換系數是邏輯地排列于塊中,其中所述量化通過從多組的換算因子中選擇的換算因子來換算變換系數,并且其中該選擇是基于塊內的相對轉換系數位置和量化參數。
全文摘要
圖像或視頻編碼和解碼用的一種改進方法和塊變換,其中變換和逆變換矩陣是這樣確定的,即編碼和解碼時顯著地減少計算復雜性。如,解碼期間在將去量化變換系數轉為輸出像素信息的2維逆變換中,每個系數變換只需4次加法和1次移位操作,都在16位運算中進行。因為通過使用根據各系數位置從3張表中選用的1張表,編碼期間的量化和解碼期間的去量化(16位)具有對其他變換乘法因子已作補償的參數值(除了在變換和逆變換處理中可由移位操作完成的這些2的冪的乘法操作之外(如,2或1/2)),所以變換可提供正確的結果。與其他已知的變換相比,其計算復雜性大大減少,并對壓縮和質量沒有不利影響。
文檔編號H04N7/26GK1764279SQ200510119219
公開日2006年4月26日 申請日期2002年9月18日 優先權日2001年9月18日
發明者H·S·馬爾渥 申請人:微軟公司