專利名稱:處理n比特視頻數據的編/解碼器和編/解碼方法
技術領域:
本發明涉及一種處理視頻數據的編/解碼器和編/解碼方法,更具體地講,本發明涉及一種處理N比特視頻數據的編/解碼器和編/解碼方法,其中,N是大于8的整數。
背景技術:
可視通信系統和應用越來越提倡更大的屏幕和更高的分辨率。在電子消費市場,這一趨勢隨著大型CRT、LCD、PDP、投影儀以及高清晰度(HD)電視的出現而受到驅動,并通過以MPEG、DVD、DV等的格式來數字化處理和存儲可視信息的增加得到進一步增強。同樣地,提高以高分辨率顯示在大屏幕上的圖像和視頻的質量變得非常重要。
要就視頻編解碼器而言,傳統的編解碼只能對8比特深度的視頻數據進行處理。然而,隨著視頻壓縮技術的發展,需要能夠根據輸入視頻數據的類型處理諸如10比特和12比特的比特深度等更高的比特深度。
發明內容
本發明提供一種具有N比特數據編解碼能力的編/解碼器和編/解碼方法。同時,保證編/解碼效率,甚至促使更高的SNR(信噪比)。
根據本發明的一方面,提供一種編碼N比特視頻數據的方法,包括以下步驟(a)提取關于輸入視頻數據的比特深度N的信息;(b)劃分輸入視頻數據,并基于劃分的數據,通過預測獲得差分矩陣;(c)根據輸入的視頻數據的比特深度N對差分矩陣進行變換和縮放;以及(d)產生變換和縮放后的數據,其中,N是大于8的整數。
根據本發明的一方面,N為10或12。
根據本發明的一方面,步驟(c)包括下面的步驟(c1)對輸入的差分矩陣進行整數DCT變換并產生第一中間矩陣;(c2)將第一中間矩陣除以第一預定值并取整到最接近的整數,產生第二中間矩陣作為結果;(c3)根據基于域的數組乘法將第二中間矩陣乘以預定數組S(i),并產生第三中間矩陣作為結果;(c4)將第三中間矩陣除以第二預定值并取整到最接近的整數,然后產生第四中間矩陣作為結果;(c5)將第四中間矩陣乘以預定值q[QP],以生成第五中間矩陣。
其中,第一預定值根據在步驟(c3)中使用的乘法器來確定,以保證相乘之后的值不會溢出,其中,根據在步驟(c5)中使用的乘法器來確定第二預定值,以保證相乘之后的值不會溢出。
其中,根據在步驟(c1)中采用的整數DCT變換方式來確定預定數組S(i),其中,根據在變換和縮放期間采用的量化參數QP來確定預定值q[QP]。
根據本發明的一方面,如果N是10,則第一預定值是7并且第二預定值是17。
根據本發明的一方面,如果N是12,則第一預定值是9并且第二預定值是15。
根據本發明的一方面,S(i)=233/v(i),其中,i=0~5,如果差分矩陣是8×8矩陣,則數組v(i)是v(i)=[512×512,442×442,464×464,512×442,512×464,442×464],其中,根據在步驟(c1)采用的整數DCT變換矩陣來確定v(i)的值。
根據本發明的一方面,在步驟(c3)中,第二中間矩陣和數組S(i)之間的乘法如下執行在行={0,4}和列={0,4}的數據乘以預定系數S(0);在行={1,3,5,7}和列={1,3,5,7}的數據乘以預定系數S(1);在行={2,6}和列={2,6}的數據乘以預定系數S(2);在行={0,4}和列={1,3,5,7}的數據乘以預定系數S(3);在行={1,3,5,7}和列={0,4}的數據乘以預定系數S(3);在行={0,4}和列={2,6}的數據乘以預定系數S(4);在行={2,6}和列={0,4}的數據乘以預定系數S(4);其它數據乘以預定系數S(5)。
根據本發明的一方面,其中,步驟(c)還包括以下步驟(c6)將從步驟(c5)輸出的結果加上值k,然后右移15比特,其中,如果預測是幀內預測,則值k=2-15*10/31,如果預測是幀間預測,則值k=2-15*10/62。
根據本發明的一方面,其中,q=215/2QP/8,量化參數QP是整數并且其范圍是0~63。
根據本發明的另一方面,提供一種用于編碼N比特視頻數據的編碼器,包括編碼控制器,用于提取關于輸入視頻數據的比特深度N的信息并控制編碼器的全部;劃分器,用于劃分輸入視頻數據然后通過預測獲得的差分數據;整數DCT變換和縮放模塊,用于根據輸入視頻數據的比特深度N對差分塊進行變換和縮放,并產生變換和縮放后的數據,即量化數據,其中,N是大于8的整數;逆變換和縮放模塊,用于將逆變換和縮放后的數據轉換為殘差數據;幀內/幀間預測模塊,用于產生預測數據;去塊模塊,用于將通過將殘差數據和預測數據相加獲得的重構數據去塊,并存儲在參考幀存儲器中;運動估計模塊,用于基于當前輸入的視頻數據和參考幀生成運動數據;熵編碼模塊,用于通過對來自編碼控制器的控制數據、量化數據和運動數據熵編碼來生成編碼的比特流。
根據本發明的一方面,N是10或12。
根據本發明的一方面,變換和縮放模塊包括整數DCT模塊,用于對差分矩陣進行整數DCT變換并產生第一中間矩陣;第一除法器,用于將第一中間矩陣除以第一預定值并取整到最接近的整數,并產生第二中間矩陣作為結果;第一乘法器,用于根據基于域的數組乘法將第二中間矩陣乘以預定數組S(i),并產生第三中間矩陣作為結果;第二除法器,用于將第三中間矩陣除以第二預定值并取整到最接近的整數,然后產生第四中間矩陣作為結果;第二乘法器,用于將第四中間矩陣乘以預定值q[QP],從而產生第五中間矩陣。
其中,根據第一乘法器來確定第一預定值,以保證相乘之后的值不會溢出,根據第二乘法器確定所述第二預定值,以保證相乘之后的值不會溢出。
其中,根據在整數DCT模塊中采用的整數DCT變換矩陣來確定預定數組S(i),其中,根據在變換和縮放期間采用的量化參數QP來確定預定值q[QP]。
根據本發明的一方面,如果N是10,則第一預定值是7并且第二預定值是17。
根據本發明的一方面,如果N是12,則第一預定值是9并且第二預定值是15。
根據本發明的一方面,提供了一種用于處理N-比特視頻數據的解碼器,包括熵解碼模塊,用于將輸入的比特流解碼為控制數據、量化數據和運動數據,所述控制數據包含有關于將被處理的視頻數據的比特深度N的信息;解碼控制器,用于基于所述控制數據控制解碼器的整個操作;逆變換和縮放模塊,對從所述熵解碼模塊接收到的量化數據進行逆變換和縮放。
其中,所述的比特深度N大于8。
根據本發明的一方面,逆變換和縮放模塊包括第三乘法器,用于將量化的數據乘以數組乘法乘以第三預定值r[QP],從而生成第七中間矩陣;第三除法器,用于將所述第七中間矩陣除以第四預定值n[QP],然后取最接近的整數,并生成第八中間矩陣;逆變換模塊,用于逆變換所述第八中間矩陣,從而生成殘差數據。
其中,第三預定值r[QP]和第四預定值n[QP]根據如下條件進行確定QP=0~63q[QP]≅2^15/(2^(QP/8))]]>q[QP]*r[QP]≅2^(16+n[QP]),]]>其中,QP是量化參數,符號“^”表示冪。
根據本發明的一方面,比特深度N為10或12。
根據本發明的一方面,提供了一種用于處理N-比特視頻數據的解碼方法,包括用于將輸入的比特流解碼為控制數據、量化數據和運動數據,所述控制數據包含有關于將被處理的視頻數據的比特深度N的信息;基于所述控制數據控制解碼器的整個操作;對從所述熵解碼模塊接收到的量化數據進行逆變換和縮放,其中,所述的比特深度N大于8。
根據本發明的一方面,所述逆變換和縮放步驟包括將量化的數據乘以數組乘法乘以第三預定值r[QP],從而生成第七中間矩陣;將所述第七中間矩陣除以第四預定值n[QP],然后取最接近的整數,并生成第八中間矩陣;逆變換所述第八中間矩陣,從而生成殘差數據。
其中,第三預定值r[QP]和第四預定值n[QP]根據如下條件進行確定QP=0~63q[QP]≅2^15/(2^(QP/8))]]>q[QP]*r[QP]≅2^(16+n[QP]),]]>其中,QP是量化參數,符號“^”表示冪。
根據本發明的一方面,所述比特深度N為10或12。
通過下面結合附圖進行的詳細描述,本發明的這些和/或其它方面和優點將會變得清楚并且更加容易理解,其中圖1是根據本發明實施例的編碼器的方框圖;圖2是示出根據本發明的變換和縮放模塊的詳細結構的示圖;
圖3是示出如圖2所示的變換和縮放模塊的操作的流程圖;圖4是示出本發明和現有技術的編碼效率的圖表;圖5是示出圖2中的逆變換和縮放模塊的結構的示意圖;圖6是示出圖2中的逆變換和縮放模塊的操作的流程圖;圖7是示出根據本發明實施例的解碼器的方框圖;圖8是示出圖7中所示的解碼器的逆變換和縮放模塊的結構的示意圖;圖9是示出圖7中的解碼器的逆變換和縮放模塊的操作的流程圖。
具體實施例方式
現在將詳細參照本發明的實施例,其示例在附圖中示出,其中,相同的標號始終表示相同的部件。以下通過參照附圖來描述實施例以便解釋本發明。
運動圖像數據基于運動預測技術來編碼和解碼。參考基于時間軸的前幀或前幀和后幀兩者來進行預測。當編碼或解碼當前幀時被參考的幀稱為參考幀。在基于塊的運動圖像編碼中,包括在運動圖像中的靜止圖像(幀)被劃分為宏塊(MB),宏塊(MB)被劃分為子塊。因此,基于逐塊來對靜止圖像的運動進行預測和編碼。
圖1示出根據本發明實施例的視頻編碼器的框圖。
參照圖1,編碼器包括劃分器110、加法器112、編碼控制器120、變換和縮放模塊113、預測單元110以及熵編碼模塊130。
當8比特原始數據被輸入時,劃分器110在編碼控制器120的控制下選擇將被編碼的幀或場。對于每一幀或場,其被劃分為MB(Macro-Block)。每一MB由16×16像素組成。即,將被編碼的幀或場被劃分成多個16×16像素的宏塊,所述16×16像素的MB由多個16×16信號塊和/或多個8×8信號塊組成。
編碼控制器120從輸入的視頻數據中提取指示輸入視頻信號的比特深度N的信息,并控制編碼器的全部操作以協調編碼器的工作。
在加法器112中,從來自劃分器100的原始數據中減去來自幀內預測模塊117或幀間預測模塊118的預測數據以給出差分矩陣。
變換和縮放模塊113對所述差分矩陣進行整數DCT變換和縮放生成量化數據,并分別將量化數據輸出到預測單元110和熵編碼模塊130。
預測單元110包括逆變換和縮放模塊114、加法器111、去塊模塊115、存儲器116、幀內預測模塊117、幀間預測模塊118和運動估計模塊119。
逆變換和縮放模塊114對來自變換和縮放模塊113的量化數據執行反整數DCT變換和縮放操作,并輸出殘差數據。將參照圖5來詳細描述逆變換和縮放模塊114的操作。
在加法器111中,來自逆變換和量化模塊114的殘差數據與來自幀內預測模塊117或幀間預測模塊118的預測數據相加,產生重構的數據,然后輸出到去塊模塊115。
去塊模塊115對輸入的重構數據執行環路濾波以進行去塊,并將去塊結果輸出到存儲器116。
輸入存儲器116的數據被存儲為參考數據,其將用于稍后的預測。
幀內預測模塊117執行幀內預測,幀間預測模塊118執行幀間預測,也稱作運動補償。幀間預測模塊118從來自存儲器116中的參考幀提取與運動矢量對應的預測宏塊,并對參考幀的預測宏塊進行運動補償以輸出預測數據。
運動估計模塊119搜索來自存儲器116的宏塊的參考幀,并將在參考幀或場的宏塊中的圖像的位置和在當前幀或場的宏塊中的圖像的位置之間的差值作為運動矢量輸出到加法器112。
熵編碼模塊130接收控制數據、運動數據(如果有的話)和量化數據,并將它們分組為輸出比特流。
變換和縮放模塊113對差分數據的每個8×8信號矩陣進行變換和縮放。下面將差分數據的8×8信號矩陣稱為X。
現在,將參照圖2和圖3進行對變換和縮放處理的詳細描述。
圖2是根據本發明實施例的編碼器10的變換和縮放模塊113的框圖。圖3是示出根據本發明實施例的變換和縮放處理的流程圖。
如圖2所示,編碼器10的變換和縮放模塊113包括DCT變換模塊210、第一除法模塊220、第一乘法器230、第二除法模塊240、第二乘法器250和移位模塊260。
參照圖3,在步驟S310中,變換和縮放模塊113接收關于輸入視頻數據的比特深度N的信息。對于差分MB數據中的每個8×8信號矩陣X(對于每一MB,信號矩陣的數量和信號矩陣的組織由原始視頻格式和編碼MB模式來確定)。在步驟S320,DCT變換模塊210根據下面的等式1對輸入的差分數據進行整數DCT變換 B=T·X·TT其中,符號“·”是矩陣相乘的符號,T是整數DCT變換矩陣,TT是整數DCT變換矩陣T的轉置,B是變換后的矩陣。優選地,整數DCT變換矩陣T是下面用于8×8的DCT變換的矩陣T=[8 8 8 8 8 8 8 810962-2-6-9-10104-4-10-10-44109-2-10-66102-98-8-888-8-886-1029-9-210-64-1010-4-410-1042-69-1010-96-2]。
DCT變換模塊210將整數DCT變換后的矩陣B輸出到第一除法模塊220,所述矩陣B也被稱為第一中間矩陣B,然后在步驟S330中,第一除法模塊220將第一中間矩陣B除以與比特深度N的信息對應的第一預定值ShiftTab0,然后取整到最接近的整數以產生第二中間矩陣C,并將第二中間矩陣C發送到第一乘法器230。步驟S330中的操作可以表示為等式C=B//ShiftTab0,其中,符號“//”表示相除后取整到最接近的整數。
這里對符號“//”中所包含的相除操作進行更詳細的說明,例如a//b=sign(a)×[(abs(a)+2b-1)>>b]其中,>>表示右移位abs(x)=x;x>=0-x;x<0]]>sign(x)=1;x>=0-1;x<0,]]>因此,在整個說明書中,當提到相除并取最接近的整數時,指的就是上述例子中所定義的運算。
當乘法器是16比特乘法器時,優選地,如果比特深度N是10,則第一預定值ShiftTab0是7,如果比特深度N是12,則第一預定值ShiftTab0是9。然而,只要乘法器的操作得以保證,可根據采用的乘法器將第一預定值設置為不同的值。
在步驟340,第一乘法器230根據基于域的乘法,通過將第二中間矩陣C乘以預設系數S(i)來生成第三中間矩陣D,并將第三中間矩陣D發送到第二除法模塊240。在步驟S340的操作可表示為D=S(i)·*C,其中,符號“.*”表示基于域的數組乘法。
根據下述規則來確定預設系數S(i)S(i)=233/v(i),其中i=0~5.
對于8×8矩陣,數組v(i)isv=[512×512,442×442,464×464,512×442,512×464,442×464]。
在步驟S340中,根據下述規則執行D=S(i)·*C的乘法操作對于行={0,4},列={0,4}的數據,乘以預設系數S
對于行={1,3,5,7},列={1,3,5,7},乘以預設系數S[1]對于行={2,6},列={2,6},乘以預設系數S[2]對于行={0,4},列={1,3,5,7}的數據,或者行={1,3,5,7},列={0,4}的數據,乘以預設系數S[3]對于行={0,4},列={2,6}的數據,或者行={2,6},列={0,4}的數據,乘以預設系數S[4]對于其他數據,乘以預設系數S[5]。
在步驟S350,第二除法模塊240通過將第三中間矩陣D除以與比特深度N相應的第二預定值ShiftTab1來生成第四中間矩陣E,其后取整到最近的整數,并將第四中間矩陣E發送到第二乘法器250。步驟S350的操作可表示為E=D//ShiftTab1,其中,符號“//”與上面所定義的運算相同.
優選地,如果比特深度為10,則第二預定值ShiftTab1是17,如果比特深度為12,則第二預定值ShiftTab1是15。然而,只要保證乘法器的乘法操作,則第二預定值ShiftTab1可根據所采用的乘法器而被設置為不同的值。
在步驟S360,第二乘法器250通過將第四中間矩陣E乘以q[QP]來生成第五中間矩陣F。步驟S360操作的操作可表示為式F=q[QP].E,其中,符號“.”表示數組乘法。
根據式q[QP]≅2^15/(2^(QP/8))]]>來確定q[QP]的值,其中,QP是從0至63的量化參數,符號 表示約等于,符號“^”表示冪運算。
在步驟S370,移位模塊260將K加到第五中間矩陣F,其后右移15位以生成量化數據G,其被稱為第六中間矩陣。對于幀間預測,所述K例如為2-15*10/31,對于幀間預測,所述K例如為2-15*10/32。
其后,變換和量化模塊113將量化數據G輸出到逆變換和縮放模塊以及熵編碼模塊120。
圖5是根據本發明實施例的編碼器10的逆變換和縮放模塊114的框圖。圖6是示出逆變換和縮放模塊114的操作的流程圖。將參照圖5和圖6描述逆變換和縮放模塊114的詳細操作。
在步驟S610,第一乘法器510從逆變換和縮放模塊113接收量化數據G,并將量化數據G乘以r[QP]以生成第七中間矩陣H。操作S610可表示為式H=r[QP].G,其中,符號“.”表示數組乘法。
在步驟S611,第三除法模塊520將第七中間矩陣除以n[QP]并取整到最近的整數以生成第八中間矩陣I。操作S611可表示為式I=H//n[QP],其中,符號“//”所表示運算操作與上面所定義的相同。
在步驟S612,第一逆變換模塊530將第八中間矩陣乘以T以生成第九中間矩陣J。步驟S612的操作可表示為式J=I·T,其中,T是用于圖2的DCT變換模塊210的整數DCT變換矩陣。
在步驟613,第四除法模塊540將第九中間矩陣J除以3并取整到最近的整數以生成第十中間矩陣K。步驟S613的操作可表示為式K=J//3。
在步驟S614,第二逆變換模塊550將第十中間矩陣K乘以TT并生成第十一中間矩陣L。步驟S614的操作可表示為式L=TT·K,其中TT是整數DCT變換矩陣T的轉置。
在步驟S615,第五除法模塊560將第十一中間矩陣L除以7并取整到最近的整數以生成第十二中間矩陣M。步驟S615的操作可表示為式M=L//7。
以上描述的總的操作如下·B=T·X·TT·C=B//ShiftTab0·D=s[i].*C·E=D//ShiftTab1·F=q[QP].E
·G=(F+k)>>15(Intrak=(1<<15)*10/31;Interk=(1<<15)*10/62),·H=r[QP].G·I=H//n[QP]·J=I·T·K=J//3·L=TT·K·M=L//7DCT和縮放矩陣操作應滿足下面的規則·QP=0~63·v={512*512,442*442,464*464,512*442,512*464,442*464}·s[i]≅(2^33)/v(i)(i=0~5)]]>·q[QP]≅2^15(2^(QP/8))]]>·q[QP]*r[QP]≅2^(16+n[QP])]]>其中,符號“·”表示用于矩陣乘法的符號,符號“.”表示數組乘法,符號“.*”表示基于域的數組乘法,符號 表示約等于。
其中,v根據整數DCT變換矩陣T而被確定。一旦v被確定,則S(i)的值被確定。
具有上述結構的編碼器具有N比特數據編碼能力,可以處理10比特視頻數據、12比特視頻數據和14比特視頻數據,而只對現有乘法器作出最小改動。同時,編碼效率被保證,甚至提高了SNR。
圖4是示出根據本發明以及現有技術的編碼器的編碼效率的圖。參照圖4可見,根據本發明的編碼效率被保持,甚至比現有技術的編碼效率更高。
圖7是示出根據本發明實施例的解碼器的框圖。
參照圖7,解碼器包括熵解碼器710、解碼器控制模塊711、逆變換和縮放模塊712、加法器713、去塊模塊714、幀內預測模塊715、幀間預測模塊716以及參考幀存儲模塊717。
熵解碼模塊710將輸入的比特流進行解碼為量化數據G、控制數據和運動數據。其后,熵解碼模塊710分別將量化數據、控制數據和運動數據發送到逆變換和縮放模塊712、解碼器控制模塊711和幀間預測模塊716。
逆變換和縮放模塊712對量化數據G執行逆整數DCT變換操作以生成殘差數據,其后將殘差數據發送到加法器713。
在加法器713中,殘差數據與來自幀內預測模塊715的預測數據或來自幀間預測模塊716的預測數據相加,并將結果輸出到解塊模塊714。
解塊模塊714對其輸入的用于解塊的數據執行環路濾波,并將解塊的結果輸出到保存參考模塊717。
輸入到保存參考模塊717的數據被保存作為參考數據,其將在稍后的預測中被使用。
幀內預測模塊715執行幀內預測,幀間預測模塊716執行幀間預測,也稱為運動補償,幀間預測模塊從保存參考模塊717中的參考幀提取于運動矢量相應的預測宏塊,并對參考幀的預測宏塊進行運動補償以輸出預測數據。
圖8是示出根據本發明實施例的解碼器的縮放和逆變換模塊的結構的框圖。
參照圖8,逆變換和縮放模塊712包括第三乘法器810、第三除法模塊820、第一逆變換模塊830、第四除法模塊840、第二逆變換模塊850以及第五除法模塊860。
圖8中的各個模塊的功能與圖5中的各個模塊的功能相同。為了簡明,將省略對圖8的描述。
圖9是示出根據本發明實施例的解碼方法的流程圖。
圖9的流程與圖6的流程相同。為了簡明,將省略對圖9的描述。
對于當前8比特編/解碼系統,硬件特征如下(a)QP從0到63;(b)使用用于差分輸入和輸出的16位存儲器;(c)使用16位乘法器;(d)算術邏輯單元支持32位操作。對于根據本發明的處理N比特視頻數據編/解碼器,特征如下(a)QP從0到63;(b)使用用于差分輸入和輸出的16位存儲器;(c)使用16位乘法器;(d)算術邏輯單元支持32位操作。也就是說,對當前系統進行了最小的系統改動。
根據本發明實施例,可在視頻編碼器和解碼器中處理高保真原始數據N比特(1 0比特、12比特、14比特)。同時,保證編碼效率并提高了SNR。
雖然已參照其示例性實施例示出和描述了本發明,但本領域技術人員應理解,在不脫離由權利要求限定的本發明的精神和范圍的情況下,可在形式和細節上做出各種改變。
權利要求
1.一種編碼N比特視頻數據的方法,包括以下步驟(a)提取關于輸入視頻數據的比特深度N的信息;(b)劃分輸入視頻數據并得到通過預測獲得的差分矩陣;(c)根據輸入視頻數據的比特深度N對差分矩陣進行變換和縮放;以及(d)輸出變換和縮放后的數據,其中,N是大于8的整數。
2.如權利要求1所述的方法,步驟(c)包括下面的步驟(c1)對差分矩陣進行整數DCT變換并產生第一中間矩陣;(c2)將第一中間矩陣除以第一預定值并取整到最接近的整數,產生第二中間矩陣作為結果;(c3)根據基于域的數組乘法將第二中間矩陣乘以預定數組S(i),并產生第三中間矩陣作為結果;(c4)將第三中間矩陣除以第二預定值并取整到最接近的整數,然后產生第四中間矩陣作為結果;(c5)將第四中間矩陣乘以預定值q[QP],其中,根據在步驟(c3)中使用的乘法器來確定第一預定值,以保證相乘之后的值不會溢出,其中,根據在步驟(c5)中使用的乘法器來確定第二預定值,以保證相乘之后的值不會溢出,其中,根據在步驟(c1)中采用的整數DCT變換方式來確定預定數組S(i),其中,根據在變換和縮放期間采用的量化參數QP來確定預定值q[QP]。
3.如權利要求1所述的方法,其中,N是10或12。
4.如權利要求3所述的方法,其中,如果N是10,則第一預定值是7并且第二預定值是17。
5.如權利要求3所述的方法,其中,如果N是12,則第一預定值是9并且第二預定值是15。
6.如權利要求2所述的方法,S(i)=233/v(i),其中,i=0~5,如果差分矩陣是8×8矩陣,則數組v(i)是v(i)=[512×512,442×442,464×464,512×442,512×464,442×464],其中,根據在步驟(c1)采用的整數DCT變換矩陣來確定v(i)的值。
7.如權利要求2所述的方法,其中,在步驟(c3)中,第二中間矩陣和數組S(i)之間的乘法如下執行在行={0,4}和列={0,4}的數據乘以預定系數S(0);在行={1,3,5,7}和列={1,3,5,7}的數據乘以預定系數S(1);在行={2,6}和列={2,6}的數據乘以預定系數S(2);在行={0,4}和列={1,3,5,7}的數據乘以預定系數S(3);在行={1,3,5,7}和列={0,4}的數據乘以預定系數S(3);在行={0,4}和列={2,6}的數據乘以預定系數S(4);在行={2,6}和列={0,4}的數據乘以預定系數S(4);并且其它數據乘以預定系數S(5)。
8.如權利要求2所述的方法,其中,步驟(c)還包括以下步驟(c6)將從步驟(c5)輸出的結果加上值k,然后右移15比特并產生第六中間矩陣,其中,如果預測是幀內預測,則值k=2-15*10/31,如果預測是幀間預測,則值k=2-15*10/62。
9.如權利要求2所述的方法,其中,q=215/2QP/8,QP是整數并且其范圍是0~63。
10.一種編碼N比特視頻數據的編碼器,包括編碼控制器,用于提取關于輸入視頻數據的比特深度N的信息并控制編碼器的全部;劃分器,用于劃分輸入視頻數據并得到通過預測獲得的差分數據;整數DCT變換和縮放模塊,用于根據輸入視頻數據的比特深度N對差分塊進行變換和縮放,并產生變換和縮放后的數據,其中,N是大于8的整數。
11.如權利要求9所述的編碼器,變換和縮放模塊包括整數DCT模塊,用于對差分矩陣進行整數DCT變換并產生第一中間矩陣;第一除法器,用于將第一中間矩陣除以第一預定值并取整到最接近的整數,并產生第二中間矩陣作為結果;第一乘法器,用于根據基于域的數組乘法將第二中間矩陣乘以預定數組S(i),并產生第三中間矩陣作為結果;第二除法器,用于將第三中間矩陣除以第二預定值并取整到最接近的整數,然后產生第四中間矩陣作為結果;第二乘法器,用于將第四中間矩陣乘以預定值q[QP],其中,根據在步驟(c3)中使用的乘數來確定第一預定值,以保證相乘之后的值不會溢出,其中,第二預定值被確定為與在步驟(c5)中使用的乘數對應,以保證相乘之后的值不會溢出,其中,根據在步驟(c1)中采用的整數DCT變換矩陣來確定預定數組S(i),其中,根據在變換和縮放期間采用的量化參數QP來確定預定值q。
12.如權利要求11所述的編碼器,其中,N是10或12。
13.如權利要求12所述的編碼器,如果N是10,則第一預定值是7并且第二預定值是17。
14.如權利要求11所述的編碼器,其中,如果N是12,則第一預定值是9并且第二預定值是15。
15.如權利要求11所述的編碼器,S(i)=233/v(i),其中,i=0~5,如果差分矩陣是8×8矩陣,則數組v(i)是v(i)=[512×512,442×442,464×464,512×442,512×464,442×464],其中,根據在整數DCT模塊中采用的整數DCT變換矩陣來確定v(i)的值。
16.如權利要求11所述的編碼器,其中,第一乘法器根據如下規則來執行第二中間矩陣和數組S(i)之間的乘法在行={0,4}和列={0,4}的數據乘以預定系數S(0);在行={1,3,5,7}和列={1,3,5,7}的數據乘以預定系數S(1);在行={2,6}和列={2,6}的數據乘以預定系數S(2);在行={0,4}和列={1,3,5,7}的數據乘以預定系數S(3);在行={1,3,5,7}和列={0,4}的數據乘以預定系數S(3);在行={0,4}和列={2,6}的數據乘以預定系數S(4);在行={2,6}和列={0,4}的數據乘以預定系數S(4);以及其它數據乘以預定系數S(5)。
17.如權利要求11所述的編碼器,變換和量化模塊還包括偏移模塊,其將從第二乘法器輸出的結果加上值k,然后右移15比特,以產生第六中間矩陣,其中,如果預測是幀內預測,則值k=2-15*10/31,如果預測是幀間預測,則值k=2-15*10/62。
18.如權利要求11所述的編碼器,其中,q=215/2QP/8,QP是整數并且其范圍是0~63。
19.一種用于處理N-比特視頻數據的解碼器,包括熵解碼模塊,用于將輸入的比特流解碼為控制數據、量化數據和運動數據,所述控制數據包含有關于將被處理的視頻數據的比特深度N的信息;解碼控制器,用于基于所述控制數據控制解碼器的整個操作;逆變換和縮放模塊,對從所述熵解碼模塊接收到的量化數據進行逆變換和縮放,其中,所述的比特深度N大于8。
20.如權利要求19所述的解碼器,其中,所述逆變換和縮放模塊包括第三乘法器,用于將量化的數據乘以數組乘法乘以第三預定值r[QP],從而生成第七中間矩陣;第三除法器,用于將所述第七中間矩陣除以第四預定值n[QP],然后取最接近的整數,并生成第八中間矩陣;逆變換模塊,用于逆變換所述第八中間矩陣,從而生成殘差數據,其中,第三預定值r[QP]和第四預定值n[QP]根據如下條件進行確定Qp=0~63q[QP]≅2^15/(2^(QP/8))]]>q[QP]*r[QP]≅2^(16+n[QP]),]]>其中,QP是量化參數,符號“^”表示冪。
21.如權利要求19所述的解碼器,其中,所述比特深度N為10或12。
22.一種用于處理N-比特視頻數據的解碼方法,包括用于將輸入的比特流解碼為控制數據、量化數據和運動數據,所述控制數據包含有關于將被處理的視頻數據的比特深度N的信息;基于所述控制數據控制解碼器的整個操作;對從所述熵解碼模塊接收到的量化數據進行逆變換和縮放,其中,所述的比特深度N大于8。
23.如權利要求22所述的解碼方法,其中,所述逆變換和縮放步驟包括將量化的數據乘以數組乘法乘以第三預定值r[QP],從而生成第七中間矩陣;將所述第七中間矩陣除以第四預定值n[QP],然后取最接近的整數,并生成第八中間矩陣;逆變換所述第八中間矩陣,從而生成殘差數據,其中,第三預定值r[QP]和第四預定值n[QP]根據如下條件進行確定QP=0~63q[QP]≅2^15/(2^(QP/8))]]>q[QP]*r[QP]≅2^(16+n[QP]),]]>其中,QP是量化參數,符號“^”表示冪。
24.如權利要求22所述的解碼方法,其中,所述比特深度N為10或12。
全文摘要
提供一種編碼N比特視頻數據的方法,包括以下步驟(a)提取關于輸入視頻數據的比特深度N的信息;(b)劃分輸入視頻數據并得到通過預測獲得的差分矩陣;(c)根據輸入視頻數據的比特深度N對差分塊進行變換和縮放;以及(d)輸出變換和縮放后的數據,其中,N是大于8的整數。由于本發明的方法根據輸入視頻數據的比特深度對視頻數據進行變換和縮放,所以它能夠處理多于8比特的視頻數據。
文檔編號H04N7/50GK101083769SQ200610092448
公開日2007年12月5日 申請日期2006年6月2日 優先權日2006年6月2日
發明者張志明, 趙大星, 金鉉文, 金大熙, 崔雄一 申請人:三星電子株式會社