專利名稱:圖像殘差矩陣整數(shù)變換方法及裝置、反變換方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機與通信技術(shù)領(lǐng)域,尤其涉及一種對圖像殘差矩陣進(jìn)行整數(shù)變換的方法及裝置、對圖像殘差矩陣進(jìn)行整數(shù)反變換的方法及裝置。
背景技術(shù):
在現(xiàn)有技術(shù)中,采用的8×8整數(shù)變換矩陣對圖像殘差矩陣進(jìn)行整數(shù)變換的公式如下式(1)所示 Y=CXCT (1) 其中X為輸入的圖像信息矩陣對應(yīng)的8×8的圖像殘差矩陣(圖像信息矩陣可以包括圖像亮度信息矩陣及圖像色度信息矩陣等),若圖像信息矩陣中各矩陣元素所需存儲空間的位數(shù)為n,則該圖像殘差矩陣X中各元素所需存儲空間的位數(shù)為n+1,圖像殘差矩陣中各矩陣元素所需存儲空間的位數(shù)相比于圖像信息矩陣中各矩陣元素所需存儲空間的位數(shù)多出的一位為符號位,Y表示8×8的變換系數(shù)矩陣,也可以稱為整數(shù)變換后得到的矩陣,C表示8×8的整數(shù)變換矩陣,CT表示8×8的整數(shù)變換矩陣的轉(zhuǎn)置矩陣,整數(shù)變換矩陣C具體如下式(2) 8×8整數(shù)變換過程即為8×8的圖像殘差矩陣X轉(zhuǎn)換為8×8的變換系數(shù)矩陣Y的過程,該過程的具體流程如下 首先,對Y進(jìn)行如下式(3)的行變換 Y1=XCT (3) 其中,Y1為對Y進(jìn)行行變換后得到的中間結(jié)果矩陣。
然后,針對Y1,進(jìn)行如下式(4)的列變換 Y=CY1 (4) 在現(xiàn)有技術(shù)中,當(dāng)采用上述步驟對圖像殘差矩陣X進(jìn)行整數(shù)變換時,因為矩陣X包含預(yù)測誤差,因此矩陣X中各矩陣元素所需的9位存儲空間中有8位是用于表示數(shù)據(jù)信息,即這8位是各矩陣元素理論所需的存儲空間的位數(shù),而另一位則是預(yù)測誤差信息所需的存儲空間的位數(shù)(為了便于描述,下文中提及的各矩陣元素所需的存儲空間為各矩陣元素理論所需的存儲空間的位數(shù)與預(yù)測誤差信息所需的存儲空間位數(shù)的總和),而矩陣Y每一行絕對值之后的最大值為64,因此對于變換后的矩陣Y中的矩陣元素需要9+log264*64=21位來表示,由于采用目前通用的處理器并行處理時,完整整數(shù)變換過程中圖像殘差矩陣中的各矩陣元素所需存儲空間的位數(shù)不能超過處理器可并行處理的位數(shù)16,因此,還需要根據(jù)下式(5)對由式(4)得到的矩陣Y中的矩陣元素yij進(jìn)行移位,從而保證整數(shù)變換后得到的矩陣Y中各矩陣元素所需存儲空間的位數(shù)不超過16 Y=[yij>>5](i,j=0~7)(5) 對于圖像殘差矩陣中各矩陣元素所需存儲空間的位數(shù)不大于9位的情況,進(jìn)行整數(shù)變換的過程中,圖像殘差矩陣中各矩陣元素所需存儲空間的位數(shù)能夠滿足上述要求,但當(dāng)圖像殘差矩陣中用于表示各矩陣元素所需存儲空間的位數(shù)大于9位時(比如監(jiān)控系統(tǒng)中的圖像殘差矩陣),針對該圖像殘差矩陣進(jìn)行整數(shù)變換的過程中,該圖像殘差矩陣中各矩陣元素所需存儲空間的位數(shù)則會超過處理器可并行處理的16位,從而會導(dǎo)致數(shù)據(jù)溢出。
類似地,當(dāng)對圖像殘差矩陣進(jìn)行整數(shù)反變換時,其整數(shù)反變換公式如下式(6)所示 X=CTYC (6) 對應(yīng)的行整數(shù)反變換公式如下式(7)所示 X1=Y(jié)C (7) 對行整數(shù)反變換后得到的矩陣X1中的矩陣元素x1ij進(jìn)行移位,從而保證行整數(shù)反變換后得到的矩陣X1中各矩陣元素所需存儲空間的位數(shù)不超過16 X1=[x1ij>>3](i,j=0~7) (8) 列整數(shù)反變換公式為 X=CTX1 (9) 對列整數(shù)反變換后得到的矩陣X中的矩陣元素xij進(jìn)行移位,從而保證列整數(shù)反變換后得到的矩陣X中各矩陣元素所需存儲空間的位數(shù)不超過9 X=[xij>>7](i,j=0~7) (10) 與整數(shù)變換類似,對于圖像殘差矩陣中各矩陣元素所需存儲空間的位數(shù)不大于9位的情況,進(jìn)行整數(shù)反變換的過程中,圖像殘差矩陣中各矩陣元素所需存儲空間的位數(shù)能夠滿足上述要求,但當(dāng)圖像殘差矩陣中各矩陣元素所需存儲空間的位數(shù)大于9位時,針對該圖像殘差矩陣進(jìn)行整數(shù)反變換的過程中,該圖像殘差矩陣中各矩陣元素所需存儲空間的位數(shù)則會超過處理器可并行處理的16位,從而會導(dǎo)致數(shù)據(jù)溢出。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種對圖像殘差矩陣進(jìn)行整數(shù)變換方法及裝置,用以解決現(xiàn)有技術(shù)中針對各矩陣元素所需存儲空間的位數(shù)大于9位的圖像殘差矩陣進(jìn)行整數(shù)變換時,發(fā)生數(shù)據(jù)溢出的問題。
本發(fā)明實施例提供一種對圖像殘差矩陣進(jìn)行整數(shù)反變換方法及裝置,用以解決現(xiàn)有技術(shù)中針對各矩陣元素所需存儲空間的位數(shù)大于9位的圖像殘差矩陣進(jìn)行整數(shù)反變換處理時,發(fā)生數(shù)據(jù)溢出的問題。
為此,本發(fā)明采用以下技術(shù)方案 一種對圖像殘差矩陣進(jìn)行整數(shù)變換的方法,包括對圖像殘差矩陣進(jìn)行整數(shù)變換;當(dāng)判斷整數(shù)變換過程中獲得的矩陣中各矩陣元素所需存儲空間的位數(shù)大于處理器可并行處理位數(shù)時,確定所述各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理位數(shù)的差值;按照長度不小于所述差值的移位長度,對各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。
較佳地,上述方法中按照長度等于所述差值的移位長度,對各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。
較佳地,對圖像殘差矩陣進(jìn)行整數(shù)變換,具體包括對圖像殘差矩陣進(jìn)行行變換,獲得行變換矩陣;對所述行變換矩陣進(jìn)行列變換,獲得列變換矩陣。
較佳地,基于8×8的整數(shù)變換矩陣或4×4的整數(shù)變換矩陣對圖像殘差矩陣進(jìn)行整數(shù)變換。
較佳地,所述圖像殘差矩陣為圖像亮度信息矩陣對應(yīng)的圖像殘差矩陣;或圖像色度信息矩陣對應(yīng)的圖像殘差矩陣。
一種對圖像殘差矩陣進(jìn)行整數(shù)變換的裝置,包括整數(shù)變換單元,用于對圖像殘差矩陣進(jìn)行整數(shù)變換;判斷單元,用于判斷整數(shù)變換單元對圖像殘差矩陣進(jìn)行整數(shù)變換過程中獲得的矩陣中各矩形元素所需存儲空間的位數(shù)是否大于處理器可并行處理位數(shù);確定單元,用于在判斷單元的判斷結(jié)果為是時,確定所述各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理位數(shù)的差值;移位單元,用于按照長度不小于所述確定單元確定的差值的移位長度,對所述各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。
一種對圖像殘差矩陣進(jìn)行整數(shù)反變換的方法,包括對圖像殘差矩陣進(jìn)行整數(shù)反變換;當(dāng)判斷整數(shù)反變換過程中獲得的矩陣中各矩陣元素所需存儲空間的位數(shù)大于處理器可并行處理位數(shù)時,確定所述各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理位數(shù)的差值;按照長度不小于所述差值的移位長度,對各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。
一種對圖像殘差矩陣進(jìn)行整數(shù)反變換的裝置,包括整數(shù)反變換單元,用于對圖像殘差矩陣進(jìn)行整數(shù)反變換;判斷單元,用于判斷整數(shù)反變換單元對圖像殘差矩陣進(jìn)行整數(shù)反變換過程中獲得的矩陣中各矩形元素所需存儲空間的位數(shù)是否大于處理器可并行處理位數(shù);確定單元,用于在判斷單元的判斷結(jié)果為是時,確定所述各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理位數(shù)的差值;移位單元,用于按照長度不小于所述確定單元確定的差值的移位長度,對所述各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。
本發(fā)明實施例通過對圖像殘差矩陣進(jìn)行整數(shù)變換;當(dāng)判斷整數(shù)變換過程中獲得的矩陣中各矩陣元素所需存儲空間的位數(shù)大于處理器可并行處理位數(shù)時,確定所述各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理位數(shù)的差值;按照長度不小于所述差值的移位長度,對各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移,使得針對各矩陣元素所需存儲空間的位數(shù)大于9位的圖像殘差矩陣進(jìn)行整數(shù)變換時,不會發(fā)生數(shù)據(jù)溢出。
本發(fā)明實施例通過對圖像殘差矩陣進(jìn)行整數(shù)反變換;當(dāng)判斷整數(shù)反變換過程中獲得的矩陣中各矩陣元素所需存儲空間的位數(shù)大于處理器可并行處理位數(shù)時,確定所述各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理位數(shù)的差值;按照長度不小于所述差值的移位長度,對各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移,使得針對各矩陣元素所需存儲空間的位數(shù)大于9位的圖像殘差矩陣進(jìn)行整數(shù)反變換時,不會發(fā)生數(shù)據(jù)溢出。
圖1為本發(fā)明實施例提供的一種整數(shù)變換方法的具體實現(xiàn)流程圖; 圖2為本發(fā)明實施例提供的整數(shù)變換方法的一種具體實現(xiàn)過程的流程圖; 圖3為本發(fā)明實施例提供的整數(shù)變換方法的另一種具體實現(xiàn)過程的流程圖; 圖4為本發(fā)明實施例提供的整數(shù)變換方法的又一種具體實現(xiàn)過程的流程圖; 圖5為本發(fā)明實施例提供的采用4×4的整數(shù)變換矩陣對圖像殘差矩陣X進(jìn)行整數(shù)變換的具體實現(xiàn)流程圖; 圖6為本發(fā)明實施例提供的一種整數(shù)變換裝置的具體結(jié)構(gòu)示意圖; 圖7為本發(fā)明實施例提供的一種整數(shù)反變換方法的具體實現(xiàn)流程圖; 圖8為本發(fā)明實施例提供的整數(shù)反變換方法的一種具體實現(xiàn)過程的流程圖; 圖9為本發(fā)明實施例提供的采用8×8的整數(shù)反變換矩陣對圖像殘差矩陣Y進(jìn)行整數(shù)反變換的一種具體實現(xiàn)流程圖; 圖10為本發(fā)明實施例提供的采用8×8的整數(shù)反變換矩陣對圖像殘差矩陣Y進(jìn)行整數(shù)反變換的另一種具體實現(xiàn)流程圖; 圖11本發(fā)明實施例提供的一種整數(shù)反變換裝置的具體結(jié)構(gòu)示意圖。
具體實施例方式 本發(fā)明實施例提供一種整數(shù)變換方法及裝置、整數(shù)反變換方法及裝置,用以對各矩陣元素所需存儲空間的位數(shù)大于9位的圖像殘差矩陣分別進(jìn)行整數(shù)變換、整數(shù)反變換,從而避免現(xiàn)有技術(shù)中針對各矩陣元素所需存儲空間的位數(shù)大于9位的圖像殘差矩陣進(jìn)行整數(shù)變換、整數(shù)反變換處理時發(fā)生數(shù)據(jù)溢出的問題。
下面結(jié)合各個附圖對本發(fā)明實施例技術(shù)方案的主要實現(xiàn)原理具體實施方式
及其對應(yīng)能夠達(dá)到的有益效果進(jìn)行詳細(xì)的闡述。
如圖1所示,為本發(fā)明實施例提供的一種整數(shù)變換方法的具體實現(xiàn)流程圖,包括 步驟11,對圖像殘差矩陣進(jìn)行整數(shù)變換; 步驟12,當(dāng)判斷整數(shù)變換過程中獲得的矩陣中各矩陣元素所需存儲空間的位數(shù)大于處理器可并行處理位數(shù)時,確定所述各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理位數(shù)的差值; 步驟13,按照長度不小于所述差值的移位長度,對各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。
以下以具體的實施方式為例,來說明本發(fā)明實施例提供的該方法的具體實現(xiàn)過程 一、針對采用8×8的整數(shù)變換矩陣對圖像殘差矩陣X進(jìn)行整數(shù)變換,且對圖像殘差矩陣先進(jìn)行變換再進(jìn)行列變換的情況 本發(fā)明實施例提供的一種整數(shù)變換方法,其具體實現(xiàn)流程圖如圖2所示,包括 步驟21,對圖像殘差矩陣進(jìn)行行變換; 步驟22,當(dāng)對圖像殘差矩陣進(jìn)行行變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)大于處理器可并行處理的位數(shù)時,按照長度不小于所述行變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理的位數(shù)之差的第一右移長度,對所述行變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移; 步驟23,對所述移位后的矩陣元素所在矩陣進(jìn)行列變換;以及 步驟24,當(dāng)列變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)大于處理器可并行處理的位數(shù)時,按照長度不小于所述列變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理的位數(shù)之差的第二右移長度,對所述列變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。
為了具體說明本發(fā)明實施例提供的該方法與現(xiàn)有技術(shù)提供的整數(shù)變換方法的不同,以下對現(xiàn)有技術(shù)與本發(fā)明提供的該方法分別能達(dá)到的技術(shù)效果進(jìn)行對比說明 在現(xiàn)有技術(shù)中,采用8×8的整數(shù)變換矩陣對圖像殘差矩陣X進(jìn)行行變換時,若輸入圖像殘差矩陣X中各矩陣元素需占用的存儲空間位數(shù)為11位,則按照公式(3)Y1=XCT、公式(2)對其進(jìn)行行變換后得到的矩陣Y1中各矩陣元素需占用的存儲空間位數(shù)的計算公式如下式(11)所示 11+log264=17 (11) 由此可見,當(dāng)按照現(xiàn)有技術(shù)對各矩陣元素需占用的存儲空間位數(shù)為11位的圖像殘差矩陣X進(jìn)行行變換時,行變換后得到的矩陣Y1中各矩陣元素需占用的存儲空間位數(shù)為17位,超出了規(guī)定的位數(shù)“16”,因此會發(fā)生數(shù)據(jù)溢出的情況。
若按照本發(fā)明提供的整數(shù)變換方法,當(dāng)圖像殘差矩陣X進(jìn)行如式(3)所示的行變換后得到的矩陣Y1中,各矩陣元素所需存儲空間的位數(shù)17大于處理器可并行處理的位數(shù)16時,按照長度不小于行變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理的位數(shù)之差的第一右移長度(由于矩陣Y1中各矩陣元素所需存儲空間的位數(shù)為17,而處理器可并行處理的位數(shù)為16,因此,本實施例中的第一右移長度為1),對矩陣Y1中用于各矩陣元素所需存儲空間的位數(shù)進(jìn)行右移,該右移公式具體如下式(12)所示 Y1=[y1ij>>scale0](i,j=0~7)(12) 公式(12)中scale0為移位數(shù),其取值參照下表3,Bitdepth用以表示圖像殘差矩陣X對應(yīng)的圖像信息矩陣中各矩陣元素所需存儲空間的位數(shù)(下文中的BitDepth的含義與此處BitDepth的含義相同,不再贅述)。
表3 由于本實施例中矩陣X中各矩陣元素所需存儲空間的位數(shù)為11,BitDepth為11-1=10,因此根據(jù)上表3可知,公式(12)變?yōu)? Y1=[y1ij>>1](i,j=0~7) (13) 由公式(13)可知,由于按照本發(fā)明實施例提供的整數(shù)變換方法,使得矩陣Y1中各矩陣元素所需存儲空間的位數(shù)分別右移了1位,即17-1=16位,由此可見,采用本發(fā)明實施例提供的整數(shù)變換方法,能夠避免行變換后得到的矩陣Y1發(fā)生數(shù)據(jù)溢出的問題。
當(dāng)按照現(xiàn)有技術(shù)提供的整數(shù)變換方法,采用8×8的整數(shù)變換矩陣對矩陣Y1進(jìn)一步進(jìn)行如式(4)Y=CY1的列變換后,矩陣Y中各矩陣元素所需存儲空間的位數(shù)由下式(14)計算得到 16+log264=22 (14) 再根據(jù)式(5)Y=[yij>>5](i,j=0~7),對矩陣Y中各矩陣元素所需存儲空間的位數(shù)右移5位,最終得到矩陣Y中各矩陣元素實際所需存儲空間的位數(shù)22-5=17,由此可見,由于矩陣Y中各矩陣元素所需存儲空間的位數(shù)17大于處理器可并行處理的位數(shù)16,從而矩陣Y中也會發(fā)生數(shù)據(jù)溢出。
而采用本發(fā)明實施例提供的整數(shù)變換方法,則是按照長度不小于矩陣Y中各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理的位數(shù)之差的第二右移長度(由于矩陣Y中各矩陣元素所需存儲空間的位數(shù)為17,而處理器可并行處理的位數(shù)為16,因此,本實施例中的第二右移長度為1),對矩陣Y中各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移,其具體移位公式如下式(15)所示 Y=[yij>>(5+BitDepth-8-scale0](i,j=0~7)(15) 公式(15)中scale0為移位數(shù),其取值同樣參照表3。
根據(jù)表3可知,由于本實施例中矩陣X中各矩陣元素所需存儲空間的位數(shù)為10,因此公式(15)變?yōu)? Y=[yij>>6](i,j=0~7) (16) 對比現(xiàn)有技術(shù)中采用的移位公式(5)與本發(fā)明實施例提供的該方法中采用的移位公式(15)可知,由于本發(fā)明實施例中提供的移位公式能夠使矩陣Y中各矩陣元素所需存儲空間的位數(shù)多右移1位,因此采用本發(fā)明實施例提供的整數(shù)變換方法得到的矩陣Y中不會發(fā)生數(shù)據(jù)溢出的問題。
綜上可知,采用本發(fā)明實施例提供的整數(shù)變換方法,能夠有效地避免對圖像矩陣進(jìn)行整數(shù)變換過程中出現(xiàn)的數(shù)據(jù)溢出。由于在現(xiàn)有技術(shù)中,對于整數(shù)變換過程中出現(xiàn)數(shù)據(jù)溢出時,還需要采用處理器對發(fā)生數(shù)據(jù)溢出的矩陣進(jìn)行較為復(fù)雜的運算處理,因此,采用本發(fā)明實施例提供的整數(shù)變換方法,還能夠降低處理器的運算復(fù)雜度,從而降低了處理器的運算負(fù)荷。
需要說明的是,本發(fā)明實施例以矩陣X中各矩陣元素所需存儲空間的位數(shù)為11來說明本發(fā)明實施例提供的該方法的具體實施過程,實際上,只要矩陣X中各矩陣元素所需存儲空間的位數(shù)滿足大于8這一條件,均能采用本發(fā)明實施例提供的該方法,相應(yīng)地,表3可以調(diào)整為如下表4所示的格式,以滿足矩陣X中各矩陣元素所需存儲空間位數(shù)更多的情況,但一般地,圖像信息矩陣中各矩陣元素所需存儲空間的位數(shù)即BitDepth不會超過12位。
表4 此外,在本發(fā)明實施例提供的該方法中,對矩陣元素所需存儲空間位數(shù)進(jìn)行移位的位數(shù)大小可視具體情況而定,以式(15)為例,只要能保證對矩陣元素所需存儲空間位數(shù)進(jìn)行移位后得到的位數(shù)能夠不大于處理器可并行處理的位數(shù)16,也可以考慮右移7位或8位等。
二、針對采用4×4的整數(shù)變換矩陣對圖像殘差矩陣X進(jìn)行整數(shù)變換,且對圖像殘差矩陣先進(jìn)行行變換再進(jìn)行列變換的情況 按照現(xiàn)有技術(shù)中提供的整數(shù)變換方法,以矩陣X中的矩陣元素所需存儲空間的位數(shù)為11為例,采用下式(17)對矩陣X進(jìn)行整數(shù)變換 Y=BXBT (17) 其中,4×4的整數(shù)變換矩陣B具體如下式(18)所示 首先,按照下述公式(19),先對矩陣X進(jìn)行行變換 Y3=XBT (19) 則矩陣Y3中各矩陣元素需占用的存儲空間位數(shù)的計算公式如下式(20)所示 11+log28=14(20) 可見,矩陣Y3中各矩陣元素需占用的存儲空間位數(shù)并未超過處理器可并行處理的位數(shù)16。
然后,按照下述公式(21),對矩陣Y3進(jìn)行列變換 Y=BY3 (21) 矩陣Y中各矩陣元素所需存儲空間的位數(shù)由下式(22)計算得到 14+log28=17(22) 可見,矩陣Y中各矩陣元素所需存儲空間位數(shù)超過了規(guī)定位數(shù)16。
按照本發(fā)明實施例提供的方法,在根據(jù)公式(21)計算得到矩陣Y后,采用下述公式(23),對矩陣Y中各矩陣元素所需存儲空間的位數(shù)進(jìn)行移位 Y=[yij>>(BitDepth-8)](23) 由于該實施例中矩陣X中各矩陣元素所需存儲空間的位數(shù)為11,因此,根據(jù)表4,公式(23)變?yōu)? Y=[yij>>(10-8)]=[yij>>2](24) 由公式(22)、(24)可知,由于矩陣Y中各矩陣元素所需存儲空間的位數(shù)右移了2位,因此,按照本發(fā)明實施例提供的方法,最終得到的矩陣Y中各矩陣元素所需存儲空間的位數(shù)為17-2=15位,不大于處理器可并行處理的位數(shù)16。
實際上,上述公式(23)也可以變?yōu)閅=[yij>>(BitDepth-8-1)]=[yij>>(BitDepth-9)],這樣使得公式(24)對應(yīng)變?yōu)閅=[yij>>(10-9)]=[yij>>1],從而最終得到的矩陣Y中各矩陣元素所需存儲空間的位數(shù)為17-1=16位。綜上,對矩陣Y中各矩陣元素所需存儲空間的位數(shù)的移位準(zhǔn)則是既要滿足移位后所得的位數(shù)不大于處理器可并行處理的位數(shù)16,又要滿足移位的長度不能太大,避免使得矩陣Y的數(shù)據(jù)信息丟失過多。
三、針對采用8×8的整數(shù)變換矩陣對圖像殘差矩陣X進(jìn)行整數(shù)變換,且對圖像殘差矩陣先進(jìn)行列變換再進(jìn)行行變換的情況 由于采用現(xiàn)有技術(shù)中提供的整數(shù)變換方法,對矩陣X先進(jìn)行列變換再進(jìn)行行變換的過程中發(fā)生數(shù)據(jù)溢出的情況與對矩陣X先進(jìn)行行變換再進(jìn)行列變換的過程中發(fā)生數(shù)據(jù)溢出的情況相似,因此不再贅述,以下主要說明本發(fā)明實施例提供的該方法的實施過程,該過程的具體流程示意圖如圖3所示,包括 步驟31,對圖像殘差矩陣進(jìn)行列變換; 步驟32,當(dāng)對圖像殘差矩陣進(jìn)行列變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)大于處理器可并行處理的位數(shù)時,按照長度不小于所述列變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理的位數(shù)之差的第一右移長度,對所述列變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移; 步驟33,對所述移位后的矩陣元素所在矩陣進(jìn)行行變換;以及 步驟34,當(dāng)對進(jìn)行行變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)大于處理器可并行處理的位數(shù)時,按照長度不小于所述行變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理的位數(shù)之差的第二右移長度,對所述行變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。
該方法的具體實現(xiàn)過程如下,其具體實現(xiàn)流程圖如圖4所示,包括 步驟41,按照下式(25),對矩陣X進(jìn)行列變換 Y2=CX(25) 其中,矩陣C的取值如式(2)所示; 步驟42,按照下式(26),對矩陣Y2中的各矩陣元素需占用的存儲空間位數(shù)進(jìn)行移位 Y2=[y2ij>>scale0](i,j=0~7)(26) 其中,scale0為移位數(shù),其取值可以參照表3或表4; 步驟43,按照下式(27),對矩陣Y2進(jìn)行列變換 Y=Y(jié)2CT (27) 步驟44,按照下式(28),對矩陣Y中的各矩陣元素需占用的存儲空間位數(shù)進(jìn)行移位 Y=[yij>>(5+BitDepth-8-scale0](i,j=0~7)(28) 上式中scale0為移位數(shù),其取值同樣可以參照表3或表4。
綜上可知,采用本發(fā)明實施例提供的整數(shù)變換方法,能夠有效地避免對圖像矩陣進(jìn)行整數(shù)變換過程中出現(xiàn)的數(shù)據(jù)溢出。由于在現(xiàn)有技術(shù)中,對于整數(shù)變換過程中出現(xiàn)數(shù)據(jù)溢出時,還需要采用處理器對發(fā)生數(shù)據(jù)溢出的矩陣進(jìn)行較為復(fù)雜的運算處理,因此,采用本發(fā)明實施例提供的整數(shù)變換方法,還能夠降低處理器的運算復(fù)雜度,從而降低了處理器的運算負(fù)荷。
四、針對采用4×4的整數(shù)變換矩陣對圖像殘差矩陣X進(jìn)行整數(shù)變換,且對圖像殘差矩陣先進(jìn)行列變換再進(jìn)行行變換的情況 由于采用現(xiàn)有技術(shù)中提供的整數(shù)變換方法,對矩陣X進(jìn)行先進(jìn)行列變換再進(jìn)行行變換的過程中發(fā)生數(shù)據(jù)溢出的情況與對矩陣X先進(jìn)行行變換再進(jìn)行列變換的過程中發(fā)生數(shù)據(jù)溢出的情況相似,因此不再贅述,以下主要說明本發(fā)明實施例提供的該方法的具體實施過程,該過程的具體流程示意圖如圖5所示,包括 步驟51,按照下式(29)對矩陣X進(jìn)行列變換 Y4=BX (29) 其中,4×4的整數(shù)變換矩陣B具體如式(18)所示; 步驟52,按照下述公式(30),對矩陣Y4進(jìn)行行變換 Y=Y(jié)4BT (30) 步驟53,按照下述公式(31),對矩陣Y中各矩陣元素yij所需存儲空間的位數(shù)進(jìn)行移位 Y=[yij>>(BitDepth-8)] (31) 由于本發(fā)明實施例提供的整數(shù)變換方法主要是應(yīng)用于對圖像殘差矩陣進(jìn)行編碼的過程中,因此,以下簡單介紹編碼過程中的量化步驟,該量化步驟是在對圖像殘差矩陣X進(jìn)行整數(shù)變換后進(jìn)行的,具體為 按照公式(32),對變換系數(shù)矩陣Y進(jìn)行量化的公式如下式(32)所示 QY=((Y*SCALEM+1<<14)>>15*QTAB[QP]+QP_CONST)>>19 (32) 其中,QY為與變換系數(shù)矩陣Y對應(yīng)的量化值矩陣;QP_CONST為設(shè)定的固定值,用于對15*QTAB[QP]取整后得到的移位數(shù)值進(jìn)行舍入誤差補償;SCALEM為縮放系數(shù)矩陣,具體如下式(33)所示 QP為量化系數(shù)參數(shù),共64個,QTAB[QP]是不同QP在量化系數(shù)表中所對應(yīng)的量化系數(shù),QP每增加8,QTAB[QP]近似減小一倍,該量化系數(shù)表的具體結(jié)構(gòu)如下表5所示 表5 相應(yīng)地,本發(fā)明實施例提供一種整數(shù)變換裝置,其具體結(jié)構(gòu)示意圖如圖6所示,包括 整數(shù)變換單元61,用于對圖像殘差矩陣進(jìn)行整數(shù)變換; 判斷單元62,用于判斷整數(shù)變換單元61對圖像殘差矩陣進(jìn)行整數(shù)變換過程中獲得的矩陣中各矩形元素所需存儲空間的位數(shù)是否大于處理器可并行處理位數(shù); 確定單元63,用于在判斷單元62的判斷結(jié)果為是時,確定所述各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理位數(shù)的差值; 移位單元64,用于按照長度不小于所述確定單元63確定的差值的移位長度,對所述各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。
當(dāng)對圖像殘差矩陣進(jìn)行編碼時,編碼裝置中除包括本發(fā)明實施例提供的整數(shù)變換裝置外,還包括量化裝置,該量化裝置實現(xiàn)的功能與上述方法實施例中對變換系數(shù)矩陣進(jìn)行量化處理類似,因此不再贅述。
對應(yīng)于本發(fā)明實施例提供的整數(shù)變換方案,本發(fā)明實施例還提供一種整數(shù)反變換方案,用以解決現(xiàn)有技術(shù)中針對各矩陣元素所需存儲空間的位數(shù)大于9位的圖像殘差矩陣進(jìn)行整數(shù)反變換處理時,發(fā)生數(shù)據(jù)溢出的問題,該方案包括一種整數(shù)反變換方法和整數(shù)反變換裝置,其中,整數(shù)反變換方法的具體實現(xiàn)流程圖如圖7所示,包括 步驟71,對圖像殘差矩陣進(jìn)行整數(shù)反變換; 步驟72,當(dāng)判斷整數(shù)反變換過程中獲得的矩陣中各矩陣元素所需存儲空間的位數(shù)大于處理器可并行處理位數(shù)時,確定所述各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理位數(shù)的差值; 步驟73,按照長度不小于所述差值的移位長度,對各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。
當(dāng)先對圖像殘差矩陣進(jìn)行行整數(shù)反變換,再對圖像殘差矩陣進(jìn)行列整數(shù)反變換時,本發(fā)明實施例提供的該整數(shù)反變換方法的具體流程示意圖如圖8所示,包括 步驟81,對圖像殘差矩陣進(jìn)行行整數(shù)反變換; 步驟82,當(dāng)對圖像殘差矩陣進(jìn)行行整數(shù)反變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)大于處理器可并行處理的位數(shù)時,按照長度不小于所述行整數(shù)反變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理的位數(shù)之差的第一右移長度,對所述行整數(shù)反變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移; 步驟83,對所述移位后的矩陣元素所在矩陣進(jìn)行列整數(shù)反變換;以及 步驟84,當(dāng)進(jìn)行列整數(shù)反變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)大于處理器可并行處理的位數(shù)時,按照長度不小于所述列整數(shù)反變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理的位數(shù)之差的第二右移長度,對所述列整數(shù)反變換后得到的矩陣中各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。
具體地,當(dāng)采用8×8的整數(shù)反變換矩陣時,該整數(shù)反變換方法的具體實施過程的具體流程示意圖如圖9所示,包括 步驟91,按照下述公式(34),對圖像殘差矩陣Y進(jìn)行行整數(shù)反變換 X1=Y(jié)C (34) 其中,X1為對Y進(jìn)行行整數(shù)反變換后得到的中間結(jié)果矩陣,C則如式(2)所示; 步驟92,按照下述公式(35),對X1中各矩陣元素所需存儲空間的位數(shù)進(jìn)行移位 X1=[x1ij>>3+(BitDepth-8)](i,j=0~7)(35) 步驟93,按照下述公式(36),對矩陣Y進(jìn)行行整數(shù)反變換 X=CTX1(36) 步驟94,按照下述公式(37),對X中各矩陣元素所需存儲空間的位數(shù)進(jìn)行移位 X=[xij>>7+(8-BitDepth)](i,j=0~7) (37) 當(dāng)采用4×4的整數(shù)變換矩陣對矩陣Y進(jìn)行先行變換再列變換的整數(shù)反變換時,對矩陣Y進(jìn)行整數(shù)反變換后得到的矩陣X中各矩陣元素所需存儲空間的位數(shù)按照下式(38)進(jìn)行移位 X=[xij>>5] (38) 因此,按照本發(fā)明實施例提供的整數(shù)反變換方法,則當(dāng)采用4×4的整數(shù)變換矩陣對矩陣Y進(jìn)行整數(shù)反變換時,對矩陣Y進(jìn)行整數(shù)反變換后得到的矩陣X中各矩陣元素所需存儲空間的位數(shù)按照下式(39)進(jìn)行移位 X=[xij>>5+(8-BitDepth)] (39) 當(dāng)先對圖像殘差矩陣進(jìn)行列整數(shù)反變換,再對圖像殘差矩陣進(jìn)行行整數(shù)反變換時,以采用8×8的整數(shù)變換矩陣為例,本發(fā)明實施例提供的該整數(shù)反變換方法的具體流程示意圖如圖10所示,包括 步驟101,按照下述公式(40),對圖像殘差矩陣Y進(jìn)行行整數(shù)反變換 X2=CTY(40) 其中,X2為對Y進(jìn)行列整數(shù)反變換后得到的中間結(jié)果矩陣,C則如式(2)所示; 步驟102,按照下述公式(41),對X2中各矩陣元素所需存儲空間的位數(shù)進(jìn)行移位 X2=[x2ij>>3+(BitDepth-8)](i,j=0~7) (41) 步驟103,按照下述公式(42),對矩陣Y進(jìn)行行整數(shù)反變換 X=X2C (42) 步驟104,按照下述公式(43),對X中各矩陣元素所需存儲空間的位數(shù)進(jìn)行移位 X=[xij>>7+(8-BitDepth)](i,j=0~7) (43) 當(dāng)采用4×4的整數(shù)變換矩陣對矩陣Y進(jìn)行先列變換再行變換的整數(shù)反變換時,按照現(xiàn)有技術(shù)中的變換方法,對矩陣Y進(jìn)行整數(shù)反變換后得到的矩陣X中各矩陣元素所需存儲空間的位數(shù)按照下式(44)進(jìn)行移位 X=[xij>>5] (44) 因此,按照本發(fā)明實施例提供的整數(shù)反變換方法,則當(dāng)采用4×4的整數(shù)變換矩陣對矩陣Y進(jìn)行整數(shù)反變換時,對矩陣Y進(jìn)行整數(shù)反變換后得到的矩陣X中各矩陣元素所需存儲空間的位數(shù)按照下式(45)進(jìn)行移位 X=[xij>>5+(8-BitDepth)] (45) 由于本發(fā)明實施例提供的整數(shù)反變換方法主要是應(yīng)用于對矩陣Y進(jìn)行解碼的過程中,因此,以下簡單介紹解碼過程中的反量化步驟,該反量化步驟是在對圖像殘差矩陣Y進(jìn)行整數(shù)反變換之前執(zhí)行的,具體為 反量化步驟所用的公式如下式(46)所示 Y=(QY*DQTAB[QP]+1<<(Shift[QP]-1))>>SHIFT[QP] (46) 其中,QY為按照公式(32)所得的量化值矩陣;DQTAB[QP]為不同QP在反量化系數(shù)表中所對應(yīng)的反量化系數(shù),Shift[QP]為不同QP在反量化系數(shù)表中所對應(yīng)的移位數(shù),這里的Y也被稱為變換系數(shù)矩陣,該反量化系數(shù)表的具體結(jié)構(gòu)如下表6所示 表6 相應(yīng)地,本發(fā)明實施例還提供了一種整數(shù)反變換裝置,其具體結(jié)構(gòu)示意圖如圖11所示,包括 整數(shù)反變換單元111,用于對圖像殘差矩陣進(jìn)行整數(shù)反變換; 判斷單元112,用于判斷整數(shù)反變換單元111對圖像殘差矩陣進(jìn)行整數(shù)反變換過程中獲得的矩陣中各矩形元素所需存儲空間的位數(shù)是否大于處理器可并行處理位數(shù); 確定單元113,用于在判斷單元112的判斷結(jié)果為是時,確定所述各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理位數(shù)的差值; 移位單元114,用于按照長度不小于所述確定單元113確定的差值的移位長度,對所述各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。
當(dāng)對圖像殘差矩陣進(jìn)行解碼時,解碼裝置中除包括本發(fā)明實施例提供的整數(shù)反變換裝置外,還包括反量化裝置,該反量化裝置實現(xiàn)的功能與上述方法實施例中對量化值矩陣進(jìn)行反量化處理類似,因此不再贅述。
需要說明的是,本發(fā)明實施例中進(jìn)行整數(shù)變換或整數(shù)反變換所用的圖像殘差矩陣可以但不限于為圖像亮度信息矩陣對應(yīng)的圖像殘差矩陣或圖像色度信息矩陣對應(yīng)的圖像殘差矩陣,采用本發(fā)明實施例提供的方案對任何類型的矩陣進(jìn)行整數(shù)變換或反變換,都在本發(fā)明的保護(hù)范圍之內(nèi)。
此外,本發(fā)明實施例提供的方案可以但不限于針對處理器可并行處理的位數(shù)為16位的情況,采用本發(fā)明實施例提供的方案解決可并行處理的位數(shù)不為16位的處理器在對矩陣進(jìn)行整數(shù)變換、整數(shù)反變換過程中發(fā)生的數(shù)據(jù)溢出的問題,同樣在本發(fā)明的保護(hù)范圍之內(nèi)。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種對圖像殘差矩陣進(jìn)行整數(shù)變換的方法,其特征在于,包括
對圖像殘差矩陣進(jìn)行整數(shù)變換;
當(dāng)判斷整數(shù)變換過程中獲得的矩陣中各矩陣元素所需存儲空間的位數(shù)大于處理器可并行處理位數(shù)時,確定所述各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理位數(shù)的差值;
按照長度不小于所述差值的移位長度,對各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。
2.如權(quán)利要求1所述的方法,其特征在于,按照長度等于所述差值的移位長度,對各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。
3.如權(quán)利要求1所述的方法,其特征在于,對圖像殘差矩陣進(jìn)行整數(shù)變換,具體包括
對圖像殘差矩陣進(jìn)行行變換,獲得行變換矩陣;
對所述行變換矩陣進(jìn)行列變換,獲得列變換矩陣。
4.如權(quán)利要求1所述的方法,其特征在于,基于8×8的整數(shù)變換矩陣或4×4的整數(shù)變換矩陣對圖像殘差矩陣進(jìn)行整數(shù)變換。
5.如權(quán)利要求1所述的方法,其特征在于,所述圖像殘差矩陣為圖像亮度信息矩陣對應(yīng)的圖像殘差矩陣;或
圖像色度信息矩陣對應(yīng)的圖像殘差矩陣。
6.一種對圖像殘差矩陣進(jìn)行整數(shù)變換的裝置,其特征在于,包括
整數(shù)變換單元,用于對圖像殘差矩陣進(jìn)行整數(shù)變換;
判斷單元,用于判斷整數(shù)變換單元對圖像殘差矩陣進(jìn)行整數(shù)變換過程中獲得的矩陣中各矩形元素所需存儲空間的位數(shù)是否大于處理器可并行處理位數(shù);
確定單元,用于在判斷單元的判斷結(jié)果為是時,確定所述各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理位數(shù)的差值;
移位單元,用于按照長度不小于所述確定單元確定的差值的移位長度,對所述各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。
7.一種對圖像殘差矩陣進(jìn)行整數(shù)反變換的方法,其特征在于,包括
對圖像殘差矩陣進(jìn)行整數(shù)反變換;
當(dāng)判斷整數(shù)反變換過程中獲得的矩陣中各矩陣元素所需存儲空間的位數(shù)大于處理器可并行處理位數(shù)時,確定所述各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理位數(shù)的差值;
按照長度不小于所述差值的移位長度,對各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。
8.如權(quán)利要求7所述的方法,其特征在于,按照長度等于所述差值的移位長度,對各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。
9.如權(quán)利要求7所述的方法,其特征在于,對圖像殘差矩陣進(jìn)行整數(shù)反變換,具體包括
對圖像殘差矩陣進(jìn)行行反變換,獲得行反變換矩陣;
對所述行反變換矩陣進(jìn)行列反變換,獲得列反變換矩陣。
10.一種對圖像殘差矩陣進(jìn)行整數(shù)反變換的裝置,其特征在于,包括
整數(shù)反變換單元,用于對圖像殘差矩陣進(jìn)行整數(shù)反變換;
判斷單元,用于判斷整數(shù)反變換單元對圖像殘差矩陣進(jìn)行整數(shù)反變換過程中獲得的矩陣中各矩形元素所需存儲空間的位數(shù)是否大于處理器可并行處理位數(shù);
確定單元,用于在判斷單元的判斷結(jié)果為是時,確定所述各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理位數(shù)的差值;
移位單元,用于按照長度不小于所述確定單元確定的差值的移位長度,對所述各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。
全文摘要
本發(fā)明公開了一種對圖像殘差矩陣進(jìn)行整數(shù)變換的方法及裝置、對圖像殘差矩陣進(jìn)行整數(shù)反變換的方法及裝置。其中,對圖像殘差矩陣進(jìn)行整數(shù)變換的方法包括對圖像殘差矩陣進(jìn)行整數(shù)變換;判斷整數(shù)變換過程中獲得的矩陣中各矩陣元素所需存儲空間的位數(shù)大于處理器可并行處理位數(shù)時,確定各矩陣元素所需存儲空間的位數(shù)與處理器可并行處理位數(shù)的差值;按照長度不小于所述差值的移位長度,對各矩陣元素所需存儲空間的位數(shù)分別進(jìn)行右移。按照本發(fā)明提供的整數(shù)變換的方法及裝置,能夠解決現(xiàn)有技術(shù)中針對各矩陣元素所需存儲空間的位數(shù)大于9位的圖像殘差矩陣進(jìn)行整數(shù)變換時,發(fā)生數(shù)據(jù)溢出的問題。
文檔編號H04N7/32GK101742328SQ200810226579
公開日2010年6月16日 申請日期2008年11月14日 優(yōu)先權(quán)日2008年11月14日
發(fā)明者孫大瑞 申請人:北京中星微電子有限公司, 中星電子股份有限公司