欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng)的制作方法

文檔序號(hào):7644133閱讀:277來(lái)源:國(guó)知局
專利名稱:圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明系有關(guān)于計(jì)算機(jī)技術(shù),且特別有關(guān)于圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng)(VIDEO DATA DECODING SYSTEMS)。
背景技術(shù)
高清晰度電視(High Definition TV,筒稱HDTV)對(duì)圖像譯碼器(Video decoder)的譯碼速度提出了更高的要求,而運(yùn)算量大的反離散余弦變換的運(yùn) 算速度往往是圖像譯碼器譯碼速度的瓶頸之一 ,尤其是在新一代視頻壓縮編 碼標(biāo)準(zhǔn)^^H.264中,與MPEG標(biāo)準(zhǔn)相比,在反量化(inverse quantization,簡(jiǎn) 稱IQ)與反離散余弦變換(inverse discrete cosine transform,簡(jiǎn)稱IDCT)之前增 加了直流反哈達(dá)瑪(Hadamard)變換的運(yùn)算(以下稱為IHAD),而宏塊(macro block)內(nèi)部的操作塊(block)的尺寸大小也從單一的8x8上升到8x8、 4x4、 2x2 同時(shí)存在的情況。這對(duì)運(yùn)算量大的反離散余弦變換的運(yùn)算速度提出了更為苛 刻的要求?,F(xiàn)有的大部分設(shè)計(jì),IQ、 IDCT的運(yùn)算速度大都是每一時(shí)間單位處理一 像素(lPixel/lT),設(shè)計(jì)上采用如圖1的結(jié)構(gòu)經(jīng)過(guò)直流反哈達(dá)瑪變換IHAD 與反量化IQ之后的結(jié)果,通常需要單獨(dú)的緩沖器(Buffer,例如圖1中緩沖 器BUF2)來(lái)存儲(chǔ),以便給后級(jí)的IDCT運(yùn)算之用。而對(duì)于IQ運(yùn)算與IDCT 運(yùn)算之間,為了滿足速度要求,又通常用兩個(gè)8x8塊大小的乒乓緩沖器(如 圖1中緩沖器BUF3)用作IDCT的輸入緩沖器;這樣,IHAD、 IQ、 IDCT之 間就會(huì)需要有好幾個(gè)緩沖器,如圖1中的緩沖器BUF2、緩沖器BUF3,面 積會(huì)'比較大,速度上也還是受影響,需要提高頻率來(lái)滿足要求?,F(xiàn)有技術(shù)中還有一種比較常見的是IQ是串行的,IHAD、 IDCT是并行的,同樣如圖1在IQ與IHAD之間,IQ與IDCT之間需要緩沖器來(lái)作調(diào)整。 另夕卜,現(xiàn)有的技術(shù),大部分只考慮到4x4IHAD運(yùn)算單元與4x4IDCT運(yùn) 算單元共享,而8x8IDCT與他們是完全獨(dú)立的運(yùn)算單元。發(fā)明內(nèi)容有鑒于此,本發(fā)明的目的在提供圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng)?;谏鲜瞿康模景l(fā)明實(shí)施例提供一種圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),包含 反哈達(dá)瑪模塊及反量化模塊。上述反哈達(dá)瑪模塊包含反哈達(dá)瑪運(yùn)算的復(fù)數(shù)處 理階段,對(duì)圖像數(shù)據(jù)之中 一操作塊的表示矩陣中的 一第 一列執(zhí)行反哈達(dá)瑪運(yùn) 算,在完成該第一列的上述反哈達(dá)瑪運(yùn)算的一第一處理階段后,接收上述操 作塊的表示矩陣中的一笫二列以對(duì)該第二列執(zhí)行反哈達(dá)瑪運(yùn)算的第 一階段。 上述反量化模塊,在該笫一列的上述反哈達(dá)瑪運(yùn)算完成后,接收該第一列, 并對(duì)該笫一列執(zhí)行反量化,并且在該第二列的上述反哈達(dá)瑪運(yùn)算完成后,接 收該第二列,并對(duì)該第二列執(zhí)行反量化。另外,本發(fā)明實(shí)施例提供一種圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),包含反量化模 塊。上述反量化模塊包含反量化運(yùn)算的復(fù)數(shù)處理階段,每一處理階段用以處 理圖像數(shù)據(jù)之中一操作塊的表示矩陣中一向量,并且在完成該表示矩陣中一 第一向量的第一處理階^殳后,接收該表示矩陣中的第二向量,并對(duì)該第二向 量執(zhí)行上述反量化運(yùn)算的第一處理階段。本發(fā)明可以最大限度地以最小的面積達(dá)到最快的運(yùn)算速度。


圖l顯示傳統(tǒng)圖像數(shù)據(jù)譯碼器的示意圖;圖2顯示圖像數(shù)據(jù)譯碼運(yùn)算系統(tǒng)實(shí)施例的示意圖;圖3顯示圖像數(shù)據(jù)上像素點(diǎn)行的示意圖;圖4顯示轉(zhuǎn)置存儲(chǔ)器實(shí)施例的示意圖;圖5至圖24顯示圖像數(shù)據(jù)在i奪碼運(yùn)算系統(tǒng)中的處理的流水順序示意圖。主要組件符號(hào)說(shuō)明BUF1 緩沖器;BUF2 緩沖器;BUF3 緩沖器;Ml 轉(zhuǎn)置存儲(chǔ)器;M2 轉(zhuǎn)置存儲(chǔ)器;M3 轉(zhuǎn)置存儲(chǔ)器;M4 轉(zhuǎn)置存儲(chǔ)器;MC 后一級(jí)運(yùn)算單元; IHAD 反哈達(dá)瑪模塊;IQ 反量化模塊;IDCT 反離散余弦變換模塊;VLD 前一級(jí)運(yùn)算單元;1 IHAD前一級(jí)運(yùn)算單元;2 IHAD —維運(yùn)算模塊;3-IHAD 二維運(yùn)算模塊;4-IQ模塊;5及6-IDCT—維運(yùn)算模塊;7及8 IDCT 二維 運(yùn)算模塊;9~運(yùn)算器;10 IQ前一級(jí)運(yùn)算單元;11 運(yùn)算器;12 緩沖器; 13 轉(zhuǎn)置存儲(chǔ)器;200 圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng);300一象素點(diǎn)行;301~位置。
具體實(shí)施方式
以下說(shuō)明是本發(fā)明的較佳實(shí)施例。其目的是要舉例說(shuō)明本發(fā)明一般性的 原則,不應(yīng)視為本發(fā)明的限制,本發(fā)明的范圍當(dāng)以權(quán)利要求所界定者為準(zhǔn)。 以下提出圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng)。為了提高IHAD、 IQ、 IDCT的整體運(yùn)算速度,同時(shí)又要求面積盡可能 小,例如節(jié)省掉圖1中的BUP2、 BUF3,在這個(gè)前提下,采用了一些新的設(shè) 計(jì)。系統(tǒng)架構(gòu)參考圖2,圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng)200包含IHAD模塊、IQ模塊5、 IDCT模塊及轉(zhuǎn)置存儲(chǔ)器(Transposememory)13。 IHAD前一級(jí)運(yùn)算單元l為 圖像數(shù)據(jù)的直流(DC)系數(shù)的IHAD運(yùn)算的前一級(jí)運(yùn)算單元,而IQ前一級(jí)運(yùn) 算單元IO為交流(AC)系數(shù)的IQ運(yùn)算的前一級(jí)運(yùn)算單元。轉(zhuǎn)置存儲(chǔ)器13可 以由寄存器堆組成,包含轉(zhuǎn)置存儲(chǔ)器Ml, M2, M3, 及M4,在儲(chǔ)存一 矩陣后,可以輸出該矩陣的轉(zhuǎn)置矩陣(transposedmatrix)。上述IHAD模塊由 IHAD —維運(yùn)算模塊2及IHAD二維運(yùn)算模塊3構(gòu)成。上述IDCT模塊由IDCT 一維運(yùn)算模塊5、 6及IDCT二維運(yùn)算模塊7、 8構(gòu)成。對(duì)于一4x4矩陣A=<formula>formula see original document page 11</formula>IHAD —維運(yùn)算模塊2執(zhí)行IHAD運(yùn)算中的一維運(yùn)算:<formula>formula see original document page 11</formula>(2)假設(shè)IHAD—ld(A)=B, IHAD 二維運(yùn)算模塊3執(zhí)行IHAD運(yùn)算中的二維運(yùn)算:<formula>formula see original document page 11</formula>(3)對(duì)于一2x2矩陣<formula>formula see original document page 11</formula>,其IHAD運(yùn)算為(4)IHAD —維運(yùn)算模塊2執(zhí)行IHAD運(yùn)算中的一維運(yùn)算:<formula>formula see original document page 11</formula>(5)假設(shè)IHAD—ld(Ai"Bp IHAD 二維運(yùn)算模塊3執(zhí)行IHAD運(yùn)算中的二維運(yùn)算:IHAD—2d(B,)=萬(wàn),<formula>formula see original document page 11</formula>當(dāng)上述IDCT模塊取得一個(gè)4x4矩陣D=<formula>formula see original document page 12</formula>的IDCT運(yùn)算為:<formula>formula see original document page 12</formula> 其中上述IDCT —維運(yùn)算模塊5用以執(zhí)行上述矩陣D的IDCT運(yùn)算中的 一維運(yùn)算<formula>formula see original document page 12</formula>(8)假設(shè)IDCT—ld(D)=B2,上述IDCT 二維運(yùn)算模塊7用以執(zhí)行上述矩陣D 的IDCT運(yùn)算中的二維運(yùn)算<formula>formula see original document page 12</formula>(9)當(dāng)上述IDCT模塊取得一個(gè)8x8矩陣:<formula>formula see original document page 12</formula> 上述矩陣C的IDCT運(yùn)算為—13/215/413/41/2 3/815/41/2-3/8一l --3/2一l 一3/413/4-1/2-3/2一l3/81 5/413/8-l-3/415/4 --1/2 -3/21一3/8一l3/41 --5/4 --1/2 3/21-3/4-1/23/2一l --3/81 一5/41一5/41/23/8一l3/2一l 3/41-3/21-5/41 --3/41/2 -3/8—l1111111 一3/25/43/43/8-3/8-3/4-5/4-3/211/2-1/2一l一l-1/21/215/4-3/8-3/2一3/43/43/23/8一5/41—1一l11一l一l13/4一3/23/85/4-5/4-3/83/2一3/41/2—11-1/2-1/21_11/23/8—3/45/4—3/23/2一5/43/4—3/8IDCT —維運(yùn)算模塊 IDCT(C)的一維運(yùn)算為(10)6及運(yùn)算器9執(zhí)行IDCT(C)的一維運(yùn)算,上述—13/215/413/41/23/815/41/2-3/8一l-3/2—1-3/413/4-1/2-3/2一l3/815/4—W(C)=3/8 -3/8一l 一l-3/4 3/41 15/4 —5/4-1/2 -1/2-3/2 3/21-3/4-1/23/2一l-3/81一5/41—5/41/23/8一l3/2一l3/4—1-3/21—5/41—3/41/2一3/8^00C。lC。2C。3C04C05 C06cioC12&c14C15 C16c17^20C22c23c27C30c32C33C34c37C40c"C43C44C45 C46C47^50c51c53C54C55 c56c57^60C64c67C70C71c72C73c74C75 C76c77IDCT —維運(yùn)算模塊7、 8及運(yùn)算器11執(zhí)行IDCT(C)的一維運(yùn)算。當(dāng) IDCT—ld(C)=8x8矩陣m,上述IDCT(C)中的二維運(yùn)算為<formula>formula see original document page 14</formula><formula>formula see original document page 15</formula>
稱為偶像素點(diǎn)矩陣,而<formula>formula see original document page 15</formula>
稱為奇像素點(diǎn)矩陣。參照算式(13)及(14)可知,8x8的IDCT運(yùn)算可以筒化成兩個(gè)4x4的矩陣運(yùn)算形式??梢栽谵D(zhuǎn)置存儲(chǔ)器13中組合成矩陣m,即:<formula>formula see original document page 15</formula>上述IDCT —維運(yùn)算才莫塊5用以執(zhí)行上述矩陣C的IDCT運(yùn)算中的一維 運(yùn)算算式(13)及(14)中的下列算式1<formula>formula see original document page 15</formula>從上述算式(8)及(15)可以看出,其中的常數(shù)矩陣是相同的。上述IDCT 一維運(yùn)算模塊6用以執(zhí)行上述矩陣C的IDCT運(yùn)算中的一維運(yùn)算算式(13)及(14)中的下列算式:<formula>formula see original document page 16</formula>(16)運(yùn)算器9將算式(15)與(16)的結(jié)果相加以求出算式(13)中的附,附..3),以及將算式(15)的結(jié)果減去(16)的結(jié)果以求出算式(14)中的<formula>formula see original document page 16</formula>可以在轉(zhuǎn)置存儲(chǔ)器13中組合成矩陣m。根據(jù)算式(12-1)可以利用算式(13)及(14) 計(jì)算mT的IDCT —維運(yùn)算(即IDCT—ld(mT)),再將結(jié)果于轉(zhuǎn)置存儲(chǔ)器13中 經(jīng)過(guò)轉(zhuǎn)置后(即IDCT_ld(mT)T),即可得出IDCT_2d(m)的結(jié)果(即 IDCT—2d(m)=IDCT—ld(mT)T)?;蛘撸?dāng)IDCT—2d(m)-矩陣p,則上述算式(12)可以由下列算式取代, 以計(jì)算出矩陣p:<formula>formula see original document page 16</formula><formula>formula see original document page 17</formula>可以在緩沖器12中組合成矩 陣p,即<formula>formula see original document page 17</formula>。上述IDCT 二維運(yùn)算模塊7用以執(zhí)行算式(l7)及(18)中的下列算式<formula>formula see original document page 17</formula>(19)<formula>formula see original document page 17</formula>從上述算式(9)及(19)可以看出,其中的常數(shù)矩陣是相同的。4x4矩陣及 8x8矩陣不會(huì)同時(shí)進(jìn)行,因此IDCT —維運(yùn)算模塊5及IDCT 二維運(yùn)算模塊7 可以讓4x4矩陣及8x8矩陣共享以計(jì)算IDCT運(yùn)算。上述IDCT 二維運(yùn)算模 塊8用以執(zhí)行上述矩陣C的IDCT運(yùn)算中的二維運(yùn)算算式(17)及(18)中的下 列算式<formula>formula see original document page 17</formula>(20)運(yùn)算器11將算式(19)與(20)的結(jié)果相加以求出算式(17)中的 <formula>formula see original document page 17</formula>, 以及將算式(19)的結(jié)果減去(20)的結(jié)果以求出算式(18)中的<formula>formula see original document page 17</formula>及<formula>formula see original document page 17</formula>可以在運(yùn)算器11或緩沖器12中組合成矩陣p。處理4x4矩陣時(shí),IHAD —維運(yùn)算單元2與IDCT —維運(yùn)算單元5可以是完全共享的,同時(shí)也可以是8x8IDCT運(yùn)算中的偶像素點(diǎn)矩陣的一維運(yùn)算 單元。IHAD 二維運(yùn)算單元3與IDCT 二維運(yùn)算單元7可以是完全共享的, 同時(shí)也可以是8x8IDCT的偶像素點(diǎn)矩陣的二維運(yùn)算單元。IDCT —維運(yùn)算模 塊6及IDCT二維運(yùn)算模塊8分別是8x8IDCT運(yùn)算中的奇像素點(diǎn)矩陣的一維 與二維運(yùn)算單元。IHAD與IQ之間、IQ與IDCT之間的流水操作先從譯碼速度上來(lái)考慮,IHAD與IQ之間,IQ與IDCT之間要能夠進(jìn) 行并行的流水操作。所謂的并行、流水操作,就是說(shuō)IHAD與IQ之間,IQ 與IDCT之間要都能夠同時(shí)運(yùn)算一個(gè)塊矩陣的一行或一列,例如,當(dāng)IHAD 運(yùn)算完一個(gè)塊矩陣的一行或列時(shí),立即進(jìn)行這個(gè)塊矩陣的一行或列的IQ運(yùn)的運(yùn)算。另夕卜,當(dāng)IQ模塊4運(yùn)算完一個(gè)塊矩陣的一向量時(shí)(例如行或列向量), 不需要經(jīng)過(guò)緩沖器(例如圖1的緩沖器BUF3)立即進(jìn)行這一向量的IDCT運(yùn) 算,這樣只需要增加IQ的運(yùn)算單元與控制行或列運(yùn)算順序的邏輯,就可以 使IHAD、 IQ、 IDCT的整體運(yùn)算速度達(dá)到1行/lT或者是1列/lT,較的常 用技術(shù)的lpixel/lT的運(yùn)算速度,提高到了 4倍或者8倍(4x4模式時(shí)一行或 一列是4個(gè)pixel, 8x8模式時(shí)一行或一列是8個(gè)pixel),同時(shí)可以不要緩沖 器BUF3。Ml、 M2、 M3、 M4為四個(gè)4x4x16的寄存器堆組成的轉(zhuǎn)置存儲(chǔ)器,每 一者具有4x4個(gè)儲(chǔ)存單元,每個(gè)儲(chǔ)存單元的位寬為16位。然而,轉(zhuǎn)置存儲(chǔ) 器M1、 M2、 M3、 M4也可以具有不同的結(jié)構(gòu)。圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng)200內(nèi)的功能模塊內(nèi)分別作矩陣的行運(yùn)算或列 運(yùn)算。圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng)200處理數(shù)據(jù)的流程,依操作塊的不同可以 分為下列情況。(一)、4x4操作塊需要做IHAD運(yùn)算的整個(gè)反量化反離散余弦運(yùn)算順序?yàn)榈谝徊剑茸鲋绷?DC)系數(shù)的IHAD與IQ運(yùn)算,數(shù)據(jù)經(jīng)過(guò)的功能模塊順序?yàn)閘->2->Ml->3->4->M4數(shù)據(jù)暫時(shí)保存在M4中,其具體存放格式稍后介紹。其中功能模塊1、 2、 4中的運(yùn)算順序是矩陣的行順序,其中功能模塊3中的運(yùn)算順序是矩陣的列 順序;第二步,再做交流(AC)系數(shù)的IQ運(yùn)算,由IQ模塊4執(zhí)行IQ運(yùn)算,數(shù) 據(jù)的處理順序?yàn)?10->4其中功模塊0、 4中的運(yùn)算順序是矩陣的行順序;第三步,IDCT —維運(yùn)算模塊5將這個(gè)4x4塊的DC系數(shù)以串行方式(一 個(gè)塊只有一個(gè)DC系數(shù))從M4中讀出來(lái),替換在第二步運(yùn)算完的結(jié)果這一 行的第一個(gè)位置上,組成新的一行,如圖3所示,在第二步運(yùn)算完的結(jié)果的 像素點(diǎn)行300的第一個(gè)位置301被上述DC系數(shù)取代。第四步,IDCT —維運(yùn)算模塊5執(zhí)行這一行的IDCT的一維運(yùn)算,將運(yùn) 算后的結(jié)果存至存儲(chǔ)器M1,數(shù)據(jù)處理順序如下5->Ml第五步,當(dāng)這一個(gè)4x4塊的4行都運(yùn)算完,結(jié)果都保存在M1中,此時(shí) 將以列的方式讀出來(lái)進(jìn)入模塊7中運(yùn)算,運(yùn)算完的結(jié)果即可以給后級(jí)的模塊 使用,至此,這個(gè)塊的整個(gè)IQ及IDCT運(yùn)算就算結(jié)束。(二) 、 4x4操作塊不需要做IHAD運(yùn)算的整個(gè)反量化反離散余弦運(yùn)算順 序比較筒單,處理順序?yàn)?0->4->5->Ml->7(三) 、8x8操作塊的整個(gè)反量化反離散余弦運(yùn)算順序?yàn)?第一步處理8x8操作塊的功能模塊順序如下10-〉4->5 第二步將4運(yùn)算完的這一行結(jié)果的矩陣依電路分成兩部分,矩陣笫0、 2、 4、 6 行作為偶像素點(diǎn)行,第1、 3、 5、 7行作為奇像素點(diǎn)行,分別輸入IDCT — 維運(yùn)算模塊5及6。第三步偶像素點(diǎn)行進(jìn)入IDCT —維運(yùn)算模塊5運(yùn)算,奇像素點(diǎn)行進(jìn)入IDCT — 維運(yùn)算模塊6運(yùn)算,兩者同時(shí)進(jìn)行。IDCT—維運(yùn)算模塊5、 6同時(shí)運(yùn)算完后 的結(jié)果由運(yùn)算器9進(jìn)行個(gè)加、減的操作。IDCT —維運(yùn)算模塊5與6的結(jié)果 相加,得到第0、 1、 2、 3行的一維結(jié)果,IDCT—維運(yùn)算^f莫塊5與6的結(jié)果 相減,得到第4、 5、 6、 7行的一維結(jié)果,具體算法請(qǐng)參考算式(13)及(14)。 整個(gè)這個(gè)8x8block的一維運(yùn)算結(jié)果存入由Ml、 M2、 M3、 M4組成的8x8x16 位的轉(zhuǎn)置存儲(chǔ)器13中,具體擺放格式于下文中描述。第四步從轉(zhuǎn)置存儲(chǔ)器13中按列順序讀出數(shù)據(jù),同樣拆分成偶像素點(diǎn)列與奇像 素點(diǎn)列,分別同時(shí)送入IDCT二維運(yùn)算模塊7、 8運(yùn)算。IDCT二維運(yùn)算模塊 7、8運(yùn)算后的結(jié)果由運(yùn)算器11作加減處理,具體算法請(qǐng)參考算式(17)及(18)。 處理后就可以送給后級(jí)的譯碼運(yùn)算模塊,整個(gè)8x8的IQ及IDCT運(yùn)算就算 結(jié)束。在圖2中,運(yùn)算器9及11只有在8x8IDCT運(yùn)算時(shí)才會(huì)用到。IHAD — 維運(yùn)算模塊2與IDCT —維運(yùn)算模塊5的硬件功能模塊可以是共享的,即由 相同硬件以分時(shí)復(fù)用方式提供IHAD —維運(yùn)算與IDCT —維運(yùn)算。IHAD 二 維運(yùn)算模塊3與IDCT 二維運(yùn)算模塊7的硬件功能模塊可以是共享的。IDCT 一維運(yùn)算模塊5及IDCT二維運(yùn)算模塊7作為8x8lDCT的偶像素點(diǎn)矩陣的運(yùn) 算單元與4x4IDCT的運(yùn)算單元,是完全共享相同硬件資源。因?yàn)镮DCT —維運(yùn)算模塊5和6是按塊矩陣的行順序運(yùn)算的,為了做完IQ之后馬上做IDCT (反離散余弦變換)運(yùn)算,IQ模塊4用塊矩陣的行順序 運(yùn)算。這樣既可以節(jié)省一個(gè)用于矩陣行列變換緩沖器,也可以加快運(yùn)算的速 度。所以IQ模塊4也采用行運(yùn)算順序。同時(shí)請(qǐng)注意DC系數(shù)在經(jīng)過(guò)功能模 塊1>2>M1>3>4的運(yùn)算之后,是按照并行方式儲(chǔ)存到M4的(即每次寫矩陣 的一列數(shù)值到M4),但是在做IDCT運(yùn)算時(shí)每次只讀一個(gè)DC值出來(lái)填到 對(duì)應(yīng)的位置進(jìn)行運(yùn)算。此時(shí)即利用串行讀的操作。因此,轉(zhuǎn)置存儲(chǔ)器13可 以在一次存取操作中存取矩陣的一行或一列,也可以在一次存取操作中只存 取矩陣的一元素。IQ才莫塊4包含IQ運(yùn)算的復(fù)數(shù)處理階^:,每一處理階段用以處理圖像數(shù) 據(jù)之中一操作塊的表示矩陣中一向量。上述第一及第二向量可以為行向量或 列向量。IQ模塊4在完成該向量的第一處理階段后,傳送該向量至第二處 理階段,接收該表示矩陣中的第二向量,并對(duì)該第二向量執(zhí)行上述IQ運(yùn)算 的第一處理階段。IQ運(yùn)算中的最后處理階段輸出上述第一向量后,即完成 上述第一向量的IQ運(yùn)算。以此進(jìn)行IQ模塊4內(nèi)部管線方式(pipeline)的IQ 運(yùn)算。譯碼運(yùn)算系統(tǒng)200的IDCT模塊包含IDCT運(yùn)算的復(fù)數(shù)處理階段,每一 處理階段用以處理上述表示矩陣中的一向量。IDCT模塊在完成該向量的第 一處理階段后,傳送該向量至第二處理階段,接收該表示矩陣中的第二向量, 并對(duì)該笫二向量執(zhí)行IDCT運(yùn)算的第一處理階段。IDCT的最后處理階段輸 出上述第一向量后,即完成上述第一向量的IDCT運(yùn)算。以此進(jìn)行IDCT模 塊內(nèi)部管線方式的IDCT運(yùn)算。上述IDCT模塊在上述IQ模塊4完成上述第 一向量的IQ運(yùn)算后,取得 IQ運(yùn)算后的上述第一向量以執(zhí)行IDCT,在上述IQ模塊4完成上述第二向 量的IQ運(yùn)算后,取得IQ運(yùn)算后的上述笫二向量以執(zhí)行IDCT。以此進(jìn)行IQ 模塊4與IDCT模塊之間管線方式的IDCT運(yùn)算。依相同原理,IHAD模塊包含IHAD運(yùn)算的復(fù)數(shù)處理階段,對(duì)圖像數(shù)據(jù)之中一操作塊的表示矩陣中的一向量批J亍IHAD運(yùn)算,在完成該向量的上述 IHAD運(yùn)算的一第一處理階段后,傳送該向量至第二處理階段,接收上述操 作塊的表示矩陣中的第二向量以對(duì)該第二向量執(zhí)行IHAD運(yùn)算的第一階段。 IHAD的最后處理階段輸出上述第一向量后,即完成上述第一向量的IHAD 運(yùn)算。以此進(jìn)行IHAD模塊內(nèi)部管線方式的IHAD運(yùn)算。IQ模塊4在該第一列的上述IHAD運(yùn)算完成后,接收該第一列,并對(duì) 該第一列執(zhí)行IQ運(yùn)算,并且在該第二列的上述IHAD運(yùn)算完成后,接收該 第二列,并對(duì)該第二列執(zhí)行IQ運(yùn)算。以此進(jìn)行IHAD模塊與IQ模塊4之間 管線方式的IDCT運(yùn)算。上述IQ模塊4是具有復(fù)數(shù)處理階段的管線處理結(jié)構(gòu),上述復(fù)數(shù)處理階 段中一最后處理階段輸出上述交流系數(shù)矩陣的第一行后,即完成上述交流系 數(shù)矩陣的上述第一行的IQ運(yùn)算。以下舉列說(shuō)明譯碼運(yùn)算系統(tǒng)200內(nèi)各功能模塊之間管線方式的運(yùn)算。先說(shuō)明圖2中的運(yùn)算順序。其中IHAD—維運(yùn)算模塊2是按矩陣的行順 序運(yùn)算的,IHAD二維運(yùn)算模塊3是按矩陣的列順序運(yùn)算的。IQ模塊4是按 矩陣的行順序運(yùn)算的,IDCT —維運(yùn)算模塊5及6是按塊矩陣的行順序運(yùn)算 的,IDCT二維運(yùn)算模塊7及8是按塊矩陣的列順序運(yùn)算的。IHAD二維運(yùn) 算模塊3與IQ模塊4之間運(yùn)算順序看似矛盾即IHAD 二維運(yùn)算模塊3是 按塊矩陣的列順序運(yùn)算的,運(yùn)算完后的結(jié)果直接進(jìn)入IQ模塊4運(yùn)算,但是 IQ模塊4是按塊矩陣的行順序運(yùn)算的,但是其實(shí)并不矛盾。在IQ模塊4內(nèi) 部會(huì)有一個(gè)運(yùn)算的處理。因?yàn)橐鯥HAD運(yùn)算的一定是DC系數(shù)組成的塊矩 陣,而同一個(gè)塊內(nèi)這些DC系數(shù)做IQ運(yùn)算的反量化縮放(Scaling)參數(shù)值是一 樣的,不同的只是它們的調(diào)整(Adjust)參數(shù),而每個(gè)DC系數(shù)組成的塊矩 陣各個(gè)像素點(diǎn)所處的位置的調(diào)整(Adjust)參數(shù)是確定的,為常數(shù)。這樣我 們就可以在IQ_ALU模塊內(nèi)按行順序正確地計(jì)算出每一個(gè)DC系數(shù)的反量化 值。IHAD, IQ及IDCT是利用管線處理(PipeLine)的方式來(lái)運(yùn)算的。首先需 要說(shuō)明的是IHAD有4x4模式和2x2模式,其中4x4模式用于亮度(luma)塊 矩陣的DC系數(shù),2x2模式用于色度(chroma)塊矩陣的DC系數(shù)。以下用H.264 色度快矩陣的IHAD、 IQ、 IDCT運(yùn)算為例來(lái)說(shuō)明管線處理的過(guò)程在YUV色彩模型中,色度塊有Cb、 Cr兩個(gè)部分,Cb有一個(gè)2x2的DC 系數(shù)矩陣,4個(gè)4x4的AC系數(shù)矩陣;Cr也有一個(gè)2x2的DC系數(shù)矩陣,4 個(gè)4x4的AC系數(shù)矩陣。它們的運(yùn)算順序是第一個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D5, IHAD前一級(jí)運(yùn)算單元模塊1從前一級(jí) 譯碼單元讀Cb第一行像素點(diǎn)DC系數(shù)(標(biāo)為Cb—DC一R1)給IHAD —維運(yùn)算模 塊2進(jìn)行運(yùn)算。第二個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D6, IHAD—維運(yùn)算模塊2運(yùn)算完畢Cb第一 行像素點(diǎn)DC系數(shù)(標(biāo)為Cb—DC一R1),將結(jié)果按行順序?qū)懲鵐l;同時(shí)IHAD 前一級(jí)運(yùn)算單元模塊1從前一級(jí)譯碼單元讀Cb第二行像素點(diǎn)DC系數(shù)(標(biāo)為 Cb—DC—R2)給IHAD —維運(yùn)算模塊2進(jìn)行運(yùn)算。第三個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D7, IHAD—維運(yùn)算模塊2運(yùn)算完畢Cb笫二 行像素點(diǎn)DC系數(shù)(標(biāo)為Cb_DC—R2),將結(jié)果按行順序?qū)懲鵐l;同時(shí)IHAD 前一級(jí)運(yùn)算單元模塊1從前一級(jí)譯碼單元讀Cr第一行像素點(diǎn)DC系數(shù)(標(biāo)為 Cr一DC一Rl)給IHAD —維運(yùn)算模塊2進(jìn)行運(yùn)算。笫四個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D8, IHAD—維運(yùn)算模塊2運(yùn)算完畢Cr第一 行像素點(diǎn)DC系數(shù)(標(biāo)為CrJDC—Rl),將結(jié)果按行順序?qū)懲鵐l;同時(shí)IHAD 前一級(jí)運(yùn)算單元模塊1從前一級(jí)譯碼單元讀Cr第二行像素點(diǎn)DC系數(shù)(標(biāo)為 Cr—DC—R2)給IHAD —維運(yùn)算模塊2進(jìn)行運(yùn)算,由于這時(shí)Cb的IHAD的一 維運(yùn)算結(jié)束,整個(gè)2x2矩陣一維IHAD的結(jié)果(標(biāo)為Cb一DC)已經(jīng)保存到Ml, 這時(shí)馬上激活Cb的IHAD的二維運(yùn)算,也就是IHAD 二維運(yùn)算模塊3按列 順序從M1中讀Cb的第一列(標(biāo)為Cb一DC—Cl)—維運(yùn)算結(jié)果進(jìn)行二維IHAD 運(yùn)算。第五個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D9, IHAD—維運(yùn)算模塊運(yùn)算完畢Cr第二行 像素點(diǎn)DC系數(shù)(標(biāo)為Cr—DC—R2),將結(jié)果按行順序?qū)懲鵐1,并同時(shí)停止運(yùn) 算;同時(shí)IHAD前一級(jí)運(yùn)算單元模塊1也停止從前一級(jí)譯碼單元讀數(shù)據(jù)。同 時(shí)IHAD 二維運(yùn)算模塊3運(yùn)算完Cb第一列像素點(diǎn)DC系數(shù)的二維運(yùn)算,將 結(jié)果送往IQ模塊4進(jìn)行反量化運(yùn)算,并同時(shí)從M1讀Cb的第二列一維運(yùn)算 結(jié)果(標(biāo)為Cb—DC—C2)進(jìn)行二維IHAD運(yùn)算。第六個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D10, IHAD二維運(yùn)算模塊3運(yùn)算完Cb第二 列像素點(diǎn)DC系數(shù)(標(biāo)為Cb一DC一C2)的二維IHAD運(yùn)算,將結(jié)果送往IQ模塊 4進(jìn)行反量化運(yùn)算,并同時(shí)從Ml讀Cr的第一列一維IHAD運(yùn)算結(jié)果(標(biāo)為 Cr—DC—Cl)進(jìn)行二維IHAD運(yùn)算。第七個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D11, IHAD二維運(yùn)算模塊3運(yùn)算完Cr的第 一列DC系數(shù)(標(biāo)為Cr—DC一C1)的二維IHAD運(yùn)算,將結(jié)果送往IQ模塊4進(jìn) 行反量化運(yùn)算,從Ml讀Cr的第二列 一維IHAD運(yùn)算結(jié)果(標(biāo)為Cr_DC—C2) 進(jìn)行二維IHAD運(yùn)算。第八個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D12, IHAD二維運(yùn)算模塊3運(yùn)算完Cr的第 二列DC系數(shù)的二維IHAD運(yùn)算,停止運(yùn)算,將結(jié)果送往IQ模塊4進(jìn)行反 量化運(yùn)算。由于反量化運(yùn)算是采用的四級(jí)管線(pipe)運(yùn)算,即四個(gè)處理階段,從第 一個(gè)數(shù)據(jù)輸入以后,要4個(gè)時(shí)鐘周期以后結(jié)果才會(huì)出來(lái),因此笫九個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D13, IQ模塊4運(yùn)算完Cb笫一列像素點(diǎn)DC 系數(shù),將此結(jié)果按列順序并行寫入到M4。第十個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D14, IQ模塊4運(yùn)算完Cb第二列像素點(diǎn)DC 系數(shù),將此結(jié)果按列順序并行寫入到M4。第十一個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D15, IQ模塊4運(yùn)算完Cr笫一列像素點(diǎn) DC系數(shù),將此結(jié)果按列順序并行寫入到M4。第十二個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D16, IQ模塊4運(yùn)算完Cr第二列像素點(diǎn)DC系數(shù),將此結(jié)果按列順序并行寫入到M4。這個(gè)時(shí)候色度Cb、 Cr的DC系數(shù)的IHAD、 IQ的管線處理(PipeLine) 運(yùn)算結(jié)束,何時(shí)激活I(lǐng)Q、 IDCT的管線處理(PipeLine)運(yùn)算,要看前一級(jí)譯碼 單元VLD是否已經(jīng)將色度Cb的4x4的AC系數(shù)矩陣譯碼完了 ,若是還沒有, 則要等到它譯碼完才能激活。假定VLD譯碼速度夠快,將需要的每一個(gè)4x4 的AC系數(shù)矩陣譯碼完了 ,貝寸第十三個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D17, IQ前一級(jí)運(yùn)算單元模塊0按行順序 從前一級(jí)譯碼單元VLD讀Cb的第一個(gè)4x4的AC系數(shù)矩陣的第一行(標(biāo)為 Cb—AC一R1),送到IQ模塊4進(jìn)行反量化運(yùn)算。前面已說(shuō)明,由于IQ模塊4內(nèi)部是一個(gè)四級(jí)的PipeLine運(yùn)算過(guò)程,因 此從第十三個(gè)時(shí)鐘周期一直到第十六個(gè)時(shí)鐘周期,模塊0-IQ前一級(jí)運(yùn)算單 元按行順序從前一級(jí)譯碼單元VLD分別讀Cb的第一個(gè)4x4的AC系數(shù)矩陣 的第一行,第二行、第三行、第四行數(shù)據(jù),送到IQ模塊4進(jìn)行反量化運(yùn)算, 請(qǐng)參照?qǐng)D18。笫十七個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D19, IQ前一級(jí)運(yùn)算單元模塊0按行順序 開始從前一級(jí)譯碼單元VLD讀Cb的第二個(gè)4x4的AC系數(shù)矩陣的第一行(標(biāo) 為Cb—2AC—Rl),送到IQ模塊4進(jìn)行反量化運(yùn)算。色度塊Cb的第 一個(gè)4x4AC 系數(shù)矩陣的第一行數(shù)據(jù)的反量化結(jié)果出來(lái),由IQ模塊4送往IDCT —維運(yùn) 算模塊5,同時(shí)要從轉(zhuǎn)置存儲(chǔ)器13的M4以串行方式讀出一個(gè)對(duì)應(yīng)的DC系 數(shù),替換這一行的第一個(gè)像素點(diǎn)的值,組成新的一行(標(biāo)為Cb一lAC一Rl'), 如圖3所示,以后每一個(gè)4x4AC系數(shù)矩陣的第一行數(shù)據(jù)的第一個(gè)像素點(diǎn)的 值都要這樣去替換。需注意的是, 一個(gè)4x4AC系數(shù)塊矩陣只有第一行的第 一個(gè)像素點(diǎn)的值需要被替換成DC值。組成的這新的一行去做一維的IDCT運(yùn)算。這里需要說(shuō)明,每一個(gè)IDCT的運(yùn)算單元(IDCT—維運(yùn)算模塊5、 IDCT 一維運(yùn)算模塊6、 IDCT二維運(yùn)算模塊7、 IDCT二維運(yùn)算模塊8),其內(nèi)部是一個(gè)2級(jí)的管線運(yùn)算過(guò)程,也就具有是2個(gè)處理階段,從數(shù)據(jù)輸入以后,要 2個(gè)時(shí)鐘周期以后即第三個(gè)時(shí)鐘周期才有結(jié)果。第十八個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D20,色度塊Cb的第一個(gè)4x4AC系數(shù)矩 陣的第二行數(shù)據(jù)的反量化結(jié)果(標(biāo)為Cb—1AC—R2)出來(lái),由IQ模塊4送往 IDCT —維運(yùn)算模塊5,同時(shí)IQ前一級(jí)運(yùn)算單元模塊0按行順序從前一級(jí)譯 碼單元VLD讀Cb的第二個(gè)4x4的AC系數(shù)矩陣的第二行(:標(biāo)為Cb—2AC—R2), 送到IQ模塊4進(jìn)行反量化運(yùn)算。第十九個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D21,色度塊Cb的第一個(gè)4x4AC系數(shù)矩 陣的第三行數(shù)據(jù)的反量化結(jié)果(標(biāo)為Cb—1AC—R3)出來(lái),由IQ模塊4送往 IDCT —維運(yùn)算模塊5,同時(shí)IDCT —維運(yùn)算模塊0運(yùn)算完Cb第一個(gè)4x4AC 系數(shù)矩陣的第一行數(shù)據(jù)的一維IDCT運(yùn)算結(jié)果(標(biāo)為Cb—1AC—Rl)寫入到Ml。 同時(shí)模塊O-IQ前一級(jí)運(yùn)算單元按行順序從前一級(jí)譯碼單元VLD讀Cb的第 二個(gè)4x4的AC系數(shù)矩陣的第三行(標(biāo)為Cb—2AC_R3),送到IQ模塊4進(jìn)行 反量化運(yùn)算。第二十個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D22,色度塊Cb的第一個(gè)4x4AC系數(shù)矩 陣的第四行數(shù)據(jù)的反量化結(jié)果(標(biāo)為Cb—1AC—R4)出來(lái),由IQ模塊4送往 IDCT —維運(yùn)算模塊5,同時(shí)IDCT —維運(yùn)算模塊5運(yùn)算完Cb第一個(gè)4x4AC 系數(shù)矩陣的第二行數(shù)據(jù)的一維IDCT運(yùn)算結(jié)果(標(biāo)為Cb—IAC—R2)寫入到Ml。 同時(shí)IQ前一級(jí)運(yùn)算單元模塊0按行順序從前一級(jí)譯碼單元VLD讀Cb的第 二個(gè)4x4的AC系數(shù)矩陣的第四行(標(biāo)為Cb—2AC—R4),送到IQ模塊4進(jìn)行 反量化運(yùn)算。第二十一個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D23,類似第十七個(gè)時(shí)鐘周期,IQ前一 級(jí)運(yùn)算單元模塊0按行順序開始從前一級(jí)譯碼單元VLD讀Cb的第三個(gè)4x4 的AC系數(shù)矩陣的第一行(標(biāo)為Cb一3AC—Rl),送到IQ模塊4進(jìn)行反量化運(yùn) 算,同時(shí)笫二個(gè)4x4AC系數(shù)矩陣的第一行數(shù)據(jù)的反量化結(jié)果(標(biāo)為 Cb—2AC—Rl)出來(lái),需要從M4中讀一個(gè)DC系數(shù)組合成新一行(標(biāo)為Cb—2AC—Rl,)進(jìn)行一維IDCT運(yùn)算。同時(shí)IDCT —維運(yùn)算模塊5運(yùn)算完Cb 第一個(gè)4x4AC系數(shù)矩陣的第三行數(shù)據(jù)的一維IDCT運(yùn)算結(jié)果(標(biāo)為 Cb—1AC—R3)寫入到Ml。第二十二個(gè)時(shí)鐘周期,請(qǐng)參照?qǐng)D24, IDCT —維運(yùn)算模塊5運(yùn)算完Cb 第一個(gè)4x4AC系數(shù)矩陣的第四行數(shù)據(jù)的一維IDCT運(yùn)算結(jié)果(標(biāo)為 Cb—1AC—R4)寫入到Ml,此時(shí)第一個(gè)4x4AC系數(shù)矩陣的一維IDCT運(yùn)算完 畢。IQ模塊4在同時(shí)在管線運(yùn)算Cb的第二個(gè)、第三個(gè)4x4的AC系數(shù)矩陣 的反量化,IDCT —維運(yùn)算模塊5在做第二個(gè)4x4的AC系數(shù)矩陣的IDCT (反離散余弦變換)運(yùn)算。笫二十三個(gè)時(shí)鐘周期,IDCT 二維運(yùn)算模塊7按列順序從Ml中讀數(shù)據(jù) 進(jìn)行第一個(gè)4x4AC系數(shù)矩陣的第一列數(shù)據(jù)的IDCT(反離散余弦變換)運(yùn)算, 這樣就可以看到IQ運(yùn)算、IDCT的一維運(yùn)算、IDCT的二維運(yùn)算是一個(gè)管線 處理(PipeLine)的運(yùn)算過(guò)程,而且可能在運(yùn)算不同的4x4AC系數(shù)矩陣塊內(nèi), 有的在按行順序運(yùn)算,有的在按列順序運(yùn)算,從而達(dá)到作為一個(gè)整體快速運(yùn) 算的目的。轉(zhuǎn)置存儲(chǔ)器圖2中,4個(gè)的轉(zhuǎn)置存儲(chǔ)器M1、 M2、 M3及M4,其中M2及M3兩塊 只有在8x8IDCT運(yùn)算的時(shí)候才會(huì)用到,作為8x8IDCT的轉(zhuǎn)置存儲(chǔ)器。另外 Ml及M4兩塊的有幾方面的作用(1) .8x8IDCT時(shí),同時(shí)作為8x8IDCT的轉(zhuǎn)置存儲(chǔ)器,,(2) .轉(zhuǎn)置存儲(chǔ)器Ml作為4x4IDCT與4x4IHAD時(shí)的共享轉(zhuǎn)置存儲(chǔ)器。(3) .轉(zhuǎn)置存儲(chǔ)器M4作為經(jīng)過(guò)IHAD與IQ運(yùn)算之后的結(jié)果保存用的存 儲(chǔ)器.圖4比較詳細(xì)地說(shuō)明了這一特殊轉(zhuǎn)置存儲(chǔ)器13的數(shù)據(jù)存取結(jié)構(gòu)的一種 實(shí)現(xiàn)方式,它既能同時(shí)并行地存入或者取出2x2、 4x4、 8x8塊矩陣的一行或 一列數(shù)據(jù),也能同時(shí)串行地存入或取出4x4、 2x2塊矩陣的某一個(gè)像素的值。其中同時(shí)并行存或取2x2、 4x4塊矩陣的一行或一列數(shù)據(jù)時(shí),是作為2x2、 4x4IHAD或4x4IDCT的轉(zhuǎn)置存儲(chǔ)器;同時(shí)并行存或取8x8塊矩陣的一行或 一列數(shù)據(jù)時(shí),是作為8x8IDCT的轉(zhuǎn)置存儲(chǔ)器;串行地存入或取出4x4、 2x2 塊矩陣的某一個(gè)像素的值時(shí),它是與4x4IDCT并行存或取4x4塊矩陣的一 行或一列數(shù)據(jù)同時(shí)存在的,是利用了 4x4模式時(shí)空閑出來(lái)的轉(zhuǎn)置存儲(chǔ)器區(qū)域 來(lái)存儲(chǔ)2x2、 4x4IHAD和IQ之后的結(jié)果,給4x4IDCT之用,圖4將較為詳 細(xì)地介紹其中的數(shù)據(jù)存取結(jié)構(gòu)及方法。8x8模式時(shí)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)相對(duì)比較筒單,整個(gè)存儲(chǔ)單元的結(jié)構(gòu)是儲(chǔ)存 單元E0-E31與儲(chǔ)存單元O0-O31所構(gòu)成的8x8個(gè)儲(chǔ)存單元的轉(zhuǎn)置存儲(chǔ)器。按此順序組成一個(gè)8x8的矩陣,每個(gè)存儲(chǔ)單元的位寬,舉例來(lái)說(shuō),可以 是16位(bit),或根據(jù)運(yùn)算精度的需要而定。數(shù)據(jù)如果按圖4垂直方向的 DIN0-DIN7進(jìn)來(lái),則按水平方向的OUT0-0UT7的順序出去;若按圖4水平 方向的DIN00-DIN07進(jìn)來(lái),則按垂直方向的OUTO- OUT7的順序出去,數(shù) 據(jù)的輸入與輸出是可以同時(shí)進(jìn)行的。轉(zhuǎn)置存儲(chǔ)器13釆用的是寄存器堆設(shè)計(jì) 的,采用的是移位寄存器堆的方式, 一邊移入,另外一邊移出??梢员苊鈹?shù) 據(jù)同時(shí)存取時(shí)數(shù)據(jù)不一致的問(wèn)題。4x4模式時(shí)此時(shí)儲(chǔ)存單元O0-O31存儲(chǔ)單元是空閑的。儲(chǔ)存單元E0-E15組成一個(gè)4x4的塊矩陣,作為4x4IHAD或4x4IDCT的轉(zhuǎn)置存儲(chǔ)器,并行存取;儲(chǔ)存單元E0-E1-E4-E5組成一個(gè)2x2的塊矩陣,作為2x2IHAD的轉(zhuǎn)置 存儲(chǔ)器13,并行存??;儲(chǔ)存單元E16、 E17、 E20及E21組成一個(gè)2x2的存儲(chǔ)塊矩陣,保存 2x2IHAD與IQ之后的結(jié)果,此為Cb的DC系數(shù),是串行存取的;儲(chǔ)存單元E18、 E19、 E22及E23組成一個(gè)2x2的存儲(chǔ)塊矩陣,保存 2x2IHAD與IQ之后的結(jié)果,此為Cr的DC系數(shù),是串行存取的;儲(chǔ)存單元E16-E31組成一個(gè)4x4的塊矩陣,保存4x4IHAD與IQ之后的 結(jié)果,此為亮度(Luma)的DC系數(shù),是串行存取的,其中E16-E23是與Cb、 Cr共享的。其中的E0-E15并行存取的順序與8x8模式類似,都是垂直方向進(jìn)來(lái), 則水平方向出去;若水平方向進(jìn)來(lái),則垂直方向出去,存取可同時(shí)進(jìn)行。圖4的轉(zhuǎn)置存儲(chǔ)器是實(shí)現(xiàn)(l)、 (2)、 (3)所描述功能的一種方式,也可以 采用其它的數(shù)據(jù)存取結(jié)構(gòu),例如用O0-O15或016-031來(lái)作為串行存取的單 元。針對(duì)H.264的這種特性,本發(fā)明提出了.將IHAD、 IQ、 IDCT捆綁成一 個(gè)整體,按照不同情況按矩陣行或按矩陣列并行、流水運(yùn)算的方式,解決譯碼速度的問(wèn)題;同時(shí)從提高產(chǎn)品竟?fàn)幜?、降低成本起見,采取一些?fù)雜的控制邏輯與變換算法,使得2x2、 4x4IHAD與4x4IDCT共享運(yùn)算單元與轉(zhuǎn)置 存儲(chǔ)器,8x8IDCT偶像素點(diǎn)矩陣與4x4IDCT共享運(yùn)算單元與轉(zhuǎn)置存儲(chǔ)器, 從而最大限度地以最小的面積達(dá)到最快的運(yùn)算速度。雖然本發(fā)明已以較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明,任何 所屬技術(shù)領(lǐng)域中具有通常知識(shí),在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作各 種的更動(dòng)與潤(rùn)飾,因此本發(fā)明的保護(hù)范圍當(dāng)以權(quán)利要求所界定者為準(zhǔn)。
權(quán)利要求
1. 一種圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),其特征在于,所述系統(tǒng)包含一反哈達(dá)瑪模塊,包含反哈達(dá)瑪運(yùn)算的復(fù)數(shù)處理階段,對(duì)圖像數(shù)據(jù)之中一操作塊的表示矩陣中的一第一列執(zhí)行反哈達(dá)瑪運(yùn)算,在完成所述第一列的所述反哈達(dá)瑪運(yùn)算的一第一處理階段后,接收所述操作塊的表示矩陣中的一第二列以對(duì)所述第二列執(zhí)行反哈達(dá)瑪運(yùn)算的第一階段;以及一反量化模塊,在所述第一列的所述反哈達(dá)瑪運(yùn)算完成后,接收所述第一列,并對(duì)所述第一列執(zhí)行反量化,并且在所述第二列的所述反哈達(dá)瑪運(yùn)算完成后,接收所述第二列,并對(duì)所述第二列執(zhí)行反量化。
2. 如權(quán)利要求1所述的圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),其特征在于,所述表 示矩陣包含所述操作塊的直流系數(shù),所述反量化模塊執(zhí)行所述操作塊的交流 系數(shù)矩陣的一第一行的反量化運(yùn)算,所述圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng)還包含一反離散余弦變換模塊,在所述反量化模塊完成所述交流系數(shù)矩陣的所 述第一行的反量化運(yùn)算后,將所述第一行與所述表示矩陣中的一直流系數(shù)整 合成新的第一行,對(duì)所述新的一行執(zhí)行反離散余弦變換,在所述反量化模塊 完成所述交流系數(shù)矩陣的一第二行的反量化運(yùn)算后,對(duì)所述第二行執(zhí)行反離 散余弦變換。
3. 如權(quán)利要求2所述的圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),其特征在于,所述 反量化模塊是具有復(fù)數(shù)處理階段的管線處理結(jié)構(gòu),所述復(fù)數(shù)處理階段中一最 后處理階段輸出所述交流系數(shù)矩陣的第一行后,即完成所述交流系數(shù)矩陣的 所述第一行的反量化運(yùn)算。
4. 如權(quán)利要求3所述的圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),其特征在于,所述 復(fù)數(shù)處理階^a中 一第 一處理階段輸出所述交流系數(shù)矩陣的笫 一行至一第二 處理階段后,接收所述交流系數(shù)矩陣的第二行,以進(jìn)行所述第二行的反量化 運(yùn)算。
5. 如權(quán)利要求2所述的圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),其特征在于,所述表示矩陣為4x4矩陣,所述反離散余弦變換模塊包含處理4x4矩陣的反離散 余弦變換運(yùn)算的一維運(yùn)算模塊及二維運(yùn)算模塊,所述一維及二維運(yùn)算模塊提 供4x4矩陣及8x8矩陣的反離散余弦變換運(yùn)算。
6. 如權(quán)利要求5所述的圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),其特征在于,所述 反離散余弦變換模塊與所述反哈達(dá)瑪模塊為硬件結(jié)構(gòu)上相同的運(yùn)算邏輯單 元,以分時(shí)復(fù)用方式提供反哈達(dá)瑪及反離散余弦變換運(yùn)算。
7. 如權(quán)利要求5所述的圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),其特征在于,當(dāng)所述反離散余弦變換模塊取得一個(gè)4x4矩陣D=的反離散余弦變換運(yùn)算為<formula>formula see original document page 3</formula>其中所述一維運(yùn)算模塊用以執(zhí)行所述矩陣D的反離散余弦變換運(yùn)算中 的一維運(yùn)算<formula>formula see original document page 3</formula>其中所述二維運(yùn)算模塊用以執(zhí)行所述矩陣D的反離散余弦變換運(yùn)算中 的二維運(yùn)算<formula>formula see original document page 3</formula>
8.如權(quán)利要求7所述的圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),其特征在于,當(dāng)所述反離散余弦變換模塊取得一個(gè)8x8矩陣<formula>formula see original document page 4</formula>所述矩陣C的反離散余弦變換運(yùn)算為<formula>formula see original document page 4</formula>所述IDCT(C)的一維運(yùn)算為:<formula>formula see original document page 5</formula>當(dāng)IDCT—lD(C)—巨陣m,貝'j:<formula>formula see original document page 5</formula>所述一維運(yùn)算模塊用以執(zhí)行所述矩陣c的反離散余弦變換運(yùn)算中的一 維運(yùn)算中的下列算式<formula>formula see original document page 5</formula>
9.如權(quán)利要求8所述的圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),其特征在于,當(dāng) IDCT—ld(C)=8x8矩陣m,所述IDCT(C)中的二維運(yùn)算為<formula>formula see original document page 6</formula>當(dāng)IDCT—2d(m戶矩陣p,則<formula>formula see original document page 6</formula>;以及所述二維運(yùn)算模塊用以執(zhí)行所述IDCT一2d(m)中的下列算式:<formula>formula see original document page 6</formula>
10.如權(quán)利要求2所述的圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),其特征在于,所 述系統(tǒng)還包含一轉(zhuǎn)置存儲(chǔ)器,以分時(shí)復(fù)用法來(lái)儲(chǔ)存所述反哈達(dá)瑪模塊與反量化模塊的運(yùn)算結(jié)果,及所述反離散余弦變換模塊執(zhí)行8x8矩陣的反離散余弦變換運(yùn)算 的結(jié)果。
11. 如權(quán)利要求10所述的圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),其特征在于, 所述轉(zhuǎn)置存儲(chǔ)器在一次存取操作中存取矩陣的一行或一列,以及在一次存取 操作中存取矩陣的一元素。
12. 如權(quán)利要求2所述的圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),其特征在于,所 述圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng)整合為一芯片。
13. —種圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),其特征在于,該系統(tǒng)包含 一反量化模塊,包含反量化運(yùn)算的復(fù)數(shù)處理階段,每一處理階段用以處理圖像數(shù)據(jù)之中 一操作塊的表示矩陣中 一 向量,并且在完成所述表示矩陣中 一第一向量的第一處理階段后,接收所迷表示矩陣中的第二向量,并對(duì)所述 第二向量執(zhí)行所述反量化運(yùn)算的第一處理階段。
14. 如權(quán)利要求13所述的圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),其特征在于,所 述第一及第二向量為行向量或列向量。
15. 如權(quán)利要求13所述的圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),其特征在于,所 述復(fù)數(shù)處理階段中一最后處理階段輸出所述第一向量后,即完成所述第一向 量的反量化運(yùn)算,所述圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng)還包含一反離散余弦變換模塊,在所述反量化模塊完成所述第一向量的反量化 運(yùn)算后,取得反量化運(yùn)算后的所述第一向量以執(zhí)行反離散余弦變換,在所述 反量化模塊完成所述第二向量的反量化運(yùn)算后,取得反量化運(yùn)算后的所述第 二向量以執(zhí)行反離散余弦變換。
16. 如權(quán)利要求15所述的圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),其特征在于,所 述反離散余弦變換模塊包含反離散余弦變換運(yùn)算的復(fù)數(shù)處理階段,每一處理 階段用以處理所述表示矩陣中的一向量。
17. 如權(quán)利要求15所述的圖像數(shù)椐的譯碼運(yùn)算系統(tǒng),其特征在于,所 述反離散余弦變換模塊提供4x4矩陣及8x8矩陣的反離散余弦變換運(yùn)算。
全文摘要
本發(fā)明提供一種圖像數(shù)據(jù)的譯碼運(yùn)算系統(tǒng),該系統(tǒng)包括一反哈達(dá)瑪模塊,包含反哈達(dá)瑪運(yùn)算的復(fù)數(shù)處理階段,對(duì)圖像數(shù)據(jù)之中一操作塊的表示矩陣中的一第一列執(zhí)行反哈達(dá)瑪運(yùn)算,在完成所述第一列的所述反哈達(dá)瑪運(yùn)算的一第一處理階段后,接收所述操作塊的表示矩陣中的一第二列以對(duì)所述第二列執(zhí)行反哈達(dá)瑪運(yùn)算的第一階段;以及一反量化模塊,在所述第一列的所述反哈達(dá)瑪運(yùn)算完成后,接收所述第一列,并對(duì)所述第一列執(zhí)行反量化,并且在所述第二列的所述反哈達(dá)瑪運(yùn)算完成后,接收所述第二列,并對(duì)所述第二列執(zhí)行反量化。本發(fā)明可以最大限度地以最小的面積達(dá)到最快的運(yùn)算速度。
文檔編號(hào)H04N7/26GK101237574SQ200710006998
公開日2008年8月6日 申請(qǐng)日期2007年2月1日 優(yōu)先權(quán)日2007年2月1日
發(fā)明者成世明 申請(qǐng)人:揚(yáng)智科技股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
南昌县| 桦南县| 全椒县| 汝阳县| 监利县| 淮安市| 太保市| 芒康县| 四平市| 无为县| 高唐县| 台山市| 新丰县| 桓台县| 田林县| 安乡县| 长治市| 宣武区| 文水县| 盈江县| 佛冈县| 正镶白旗| 聂拉木县| 商城县| 叙永县| 黄大仙区| 阳谷县| 应城市| 龙山县| 宾阳县| 铅山县| 合川市| 辽阳市| 鹰潭市| 辽源市| 平顶山市| 日土县| 图们市| 阳春市| 蓝田县| 腾冲县|