專利名稱:使用蝶形處理器對(duì)離散余弦變換編碼和計(jì)算的設(shè)備和方法
背景技術(shù):
發(fā)明領(lǐng)域本申請(qǐng)要求2001年5月16日提出的美國(guó)臨時(shí)專利申請(qǐng)第60/291,467號(hào)的優(yōu)先權(quán)利益,這里通過(guò)完整的引用將該專利加入于此。本發(fā)明涉及數(shù)字信號(hào)處理。尤其,本發(fā)明涉及一種設(shè)備和方法,用于確定經(jīng)編碼的數(shù)據(jù)塊的變換。
現(xiàn)有技術(shù)的描述在數(shù)字信號(hào)處理的一般學(xué)科中,數(shù)字圖片處理具有突出的位置。人類視覺(jué)感覺(jué)的重要性已經(jīng)在本技術(shù)領(lǐng)域和數(shù)字圖片處理的科學(xué)中鼓動(dòng)了極大的興趣和進(jìn)步。在發(fā)送和接收視頻信號(hào)的領(lǐng)域中,諸如那些用于放映影片或電影的那些領(lǐng)域中,正在對(duì)圖像壓縮技術(shù)作出各種改進(jìn)。許多當(dāng)前的和建議的視頻系統(tǒng)都使用數(shù)字編碼技術(shù)。這個(gè)領(lǐng)域的一些方面包括圖像編碼、圖像恢復(fù)以及圖像特征選擇。圖像編碼表示嘗試以有效的方式發(fā)送數(shù)字通信信道的圖片,使之使用盡可能少的比特?cái)?shù)以使所需要的帶寬最小,同時(shí)使失真維持在某個(gè)范圍內(nèi)。圖像恢復(fù)表示努力再現(xiàn)目標(biāo)的真實(shí)圖像。在通信信道上發(fā)送的經(jīng)編碼的圖像可能由于各種因素而失真。降級(jí)的根源可能起因于從目標(biāo)產(chǎn)生原始圖像。特征選擇是指對(duì)圖片的某些屬性的選擇。這些屬性在識(shí)別、分類和在更寬背景中的判決中可能需要。
諸如在數(shù)字電影中的那些視頻的數(shù)字編碼是從改進(jìn)的圖像壓縮技術(shù)得益的一個(gè)領(lǐng)域。一般可以把數(shù)字圖像壓縮分成兩類無(wú)損方法和有損方法。無(wú)損圖像被恢復(fù)不會(huì)喪失任何信息。有損方法涉及根據(jù)壓縮比、壓縮算法質(zhì)量以及算法的實(shí)施,某些信息喪失而不可恢復(fù)。一般,考慮有損壓縮方法以得到成本有效的數(shù)字電影方法所要求的壓縮比。為了達(dá)到數(shù)字電影質(zhì)量水平,壓縮方法應(yīng)該提供視覺(jué)上無(wú)損的性能水平。如此,雖然作為壓縮過(guò)程的結(jié)果存在數(shù)學(xué)上的信息損失,但是由這個(gè)損失產(chǎn)生的圖像失真對(duì)于正常觀看條件下的觀看者應(yīng)該是覺(jué)察不到的。
已經(jīng)為其它應(yīng)用發(fā)展了現(xiàn)有的數(shù)字圖像壓縮技術(shù),即,用于電視系統(tǒng)。這種技術(shù)已經(jīng)使設(shè)計(jì)對(duì)于指定的應(yīng)用適當(dāng)?shù)卣壑?,但是不符合電影呈現(xiàn)所要求的質(zhì)量要求。
數(shù)字電影壓縮技術(shù)應(yīng)該提供看電影者以前已經(jīng)經(jīng)歷的視覺(jué)質(zhì)量。理想地,數(shù)字電影的視覺(jué)質(zhì)量應(yīng)該嘗試超過(guò)高質(zhì)量的發(fā)行復(fù)制片(print film)。同時(shí),壓縮技術(shù)應(yīng)該具有實(shí)用的高的編碼效率。如這里所定義,編碼效率是指符合某個(gè)定性水平的壓縮圖像質(zhì)量所需要的比特率。此外,系統(tǒng)和編碼技術(shù)應(yīng)該具有內(nèi)在的靈活性以適應(yīng)不同的格式,并且應(yīng)該是成本有效的,即,小的尺寸和有效的解碼器和編碼器處理。
能夠提供顯著的壓縮水平同時(shí)保留所要求的質(zhì)量水平的一種壓縮技術(shù)是利用被編碼的離散余弦變換(DCT)系數(shù)數(shù)據(jù)的自適應(yīng)大小的塊以及子塊。雖然作為一種數(shù)字壓縮方法的DCT技術(shù)正得到廣泛的接受,但是有效的硬件實(shí)施是有困難的。
發(fā)明概要本發(fā)明提供自適應(yīng)塊大小的DCT編碼數(shù)據(jù)的硬件實(shí)施。一種設(shè)備,用于確定經(jīng)編碼數(shù)據(jù)的塊的變換,經(jīng)編碼數(shù)據(jù)的塊包括多個(gè)數(shù)據(jù)元素。配置輸入寄存器以接收預(yù)定數(shù)量的數(shù)據(jù)元素。把至少一個(gè)蝶形處理器耦合到輸入寄存器,并配置成對(duì)所選擇的一對(duì)數(shù)據(jù)元素上執(zhí)行至少一種數(shù)學(xué)運(yùn)算,以產(chǎn)生經(jīng)處理的數(shù)據(jù)元素的輸出。把至少一個(gè)中間寄存器耦合到蝶形處理器,并配置成臨時(shí)存儲(chǔ)經(jīng)處理的數(shù)據(jù)。把反饋回路耦合到中間寄存器和蝶形處理器,如果啟用的話,配置成把經(jīng)處理的數(shù)據(jù)元素的第一部分傳遞到合適的蝶形處理器以執(zhí)行附加的數(shù)學(xué)運(yùn)算,如果禁用的話,配置成把經(jīng)處理的數(shù)據(jù)元素的第二部分傳遞到至少一個(gè)保持寄存器。
因此,一個(gè)實(shí)施例的一個(gè)方面是提供一種處理器,所述處理器有效地執(zhí)行離散余弦變換(DCT)和離散四元樹變換(DQT)技術(shù)。
一個(gè)實(shí)施例的另一個(gè)方面是提供一種處理器,所述處理器有效地執(zhí)行離散余弦反變換(IDCT)和離散四元樹反變換(IDQT)技術(shù)。
一個(gè)實(shí)施例的另一個(gè)方面是實(shí)施一種處理器,所述處理器的靈活性在于可以重新配置相同的硬件元件以計(jì)算在相同變換網(wǎng)格網(wǎng)格(trellis)中的不同數(shù)學(xué)運(yùn)算。
一個(gè)實(shí)施例的另一個(gè)方面是提供一種圖像處理器,所述圖像處理器保持高質(zhì)量圖像同時(shí)使圖像失真最小。
一個(gè)實(shí)施例的另一個(gè)方面是并行地處理經(jīng)編碼數(shù)據(jù)的各部分。
一個(gè)實(shí)施例的另一個(gè)方面是在單個(gè)時(shí)鐘周期中處理讀、寫和蝶形操作。
一個(gè)實(shí)施例的另一個(gè)方面是提供和實(shí)施一個(gè)控制序列發(fā)生器,所述控制序列發(fā)生器具有可變性,以控制數(shù)據(jù)的不同塊大小以及保持實(shí)時(shí)處理所需要的速度。
一個(gè)實(shí)施例的另一個(gè)方面是實(shí)施一種處理器,使得把處理器配置成在可變的塊大小上操作。
附圖簡(jiǎn)述從下面結(jié)合附圖的詳細(xì)描述中,對(duì)本發(fā)明的方面、特性、目的和優(yōu)點(diǎn)將更為明了,在所有的附圖中,用相同的標(biāo)記作相應(yīng)的識(shí)別,其中
圖1a和1b是數(shù)據(jù)塊的列和行處理的方框圖;圖2a是方框圖,說(shuō)明通過(guò)編碼過(guò)程的數(shù)據(jù)流;圖2b是方框圖,說(shuō)明通過(guò)解碼過(guò)程的數(shù)據(jù)流;圖2c是方框圖,說(shuō)明涉及在基于方差的塊大小分配中的處理步驟;圖3是方框圖,說(shuō)明實(shí)施本發(fā)明的一種設(shè)備,用于計(jì)算諸如離散余弦變換(DCT)和離散量化變換(DQT)之類的變換;圖4說(shuō)明通過(guò)圖3的設(shè)備實(shí)施的DCT網(wǎng)格結(jié)構(gòu);圖5說(shuō)明通過(guò)圖3的設(shè)備實(shí)施的IDCT網(wǎng)格結(jié)構(gòu);圖6說(shuō)明具有輸入和輸出多路復(fù)用器的單個(gè)蝶形處理器;圖7說(shuō)明寫入多路復(fù)用器的方框圖;圖8示出蝶形處理器的方框圖;圖9a說(shuō)明圖8的蝶形處理器可以執(zhí)行的否定操作配置;圖9b說(shuō)明圖8的蝶形處理器可以執(zhí)行的累加操作配置;圖9c說(shuō)明圖8的蝶形處理器可以執(zhí)行的蝶形DCT操作配置;圖9d說(shuō)明圖8的蝶形處理器可以執(zhí)行的蝶形IDCT操作配置;圖9e說(shuō)明圖8的蝶形處理器可以執(zhí)行的累加寄存器操作配置;圖9f說(shuō)明圖8的蝶形處理器可以執(zhí)行的DQT/IDQT操作配置;圖10說(shuō)明流程圖,示出實(shí)施本發(fā)明的一種過(guò)程,用于計(jì)算諸如離散余弦變換(DCT)和離散量化變換(DQT)之類的變換;圖11a說(shuō)明示例塊大小分配;圖11b說(shuō)明對(duì)于圖11a的塊大小分配的對(duì)應(yīng)的四元樹分解;以及圖11c說(shuō)明對(duì)于圖11a的塊大小分配的對(duì)應(yīng)的PQR數(shù)據(jù)。
較佳實(shí)施例的詳述為了便于數(shù)字信號(hào)的數(shù)字發(fā)送和享受到相應(yīng)的利益,一般需要使用某些形式的信號(hào)壓縮。為了在所產(chǎn)生的圖像中得到高分辨率,保持圖像的高質(zhì)量也是很重要的。此外,對(duì)于小型硬件實(shí)施,希望計(jì)算效率,這在許多應(yīng)用中是很重要的。
因此,諸如傅里葉變換、小波以及離散余弦變換(DCT)之類的空間頻域技術(shù)一般滿足上述準(zhǔn)則。DCT具有能量緊縮能力,以及在信號(hào)的去相關(guān)中趨近統(tǒng)計(jì)的最優(yōu)化變換。開(kāi)發(fā)有效實(shí)施DCT的各種算法進(jìn)一步對(duì)它的主流可應(yīng)用性作出了貢獻(xiàn)。這些算法的減少和計(jì)算復(fù)雜性以及它的遞歸結(jié)構(gòu)導(dǎo)致更簡(jiǎn)化的硬件方案。DCT一般是正交的和可分開(kāi)的。DCT是正交的這個(gè)事實(shí)暗示在變換下保留了信號(hào)的能量或信息;即,映射到DCT域。DCT是可分開(kāi)的這個(gè)事實(shí)暗示可以通過(guò)一系列一維DCT來(lái)實(shí)施多維DCT。因此,可以對(duì)于一維DCT開(kāi)發(fā)較快的算法,并且直接擴(kuò)展到多維變換。
在DCT中,把一個(gè)象素塊變換成頻域中的系數(shù)的相同大小的塊。基本上,變換把一個(gè)象素塊表示為正交基圖像的線性組合。系數(shù)的量值表示象素塊和基圖像的相似程度。
一般,要在數(shù)字域中處理的圖像包括分成大小為N×N的非重疊塊的陣列的象素?cái)?shù)據(jù)。在每個(gè)塊上可以執(zhí)行兩維DCT。通過(guò)下列關(guān)系式定義兩維DCTX(k,l)=α(k)β(l)NΣm=0N-1Σn=0N-1x(m,n)cos[(2m+1)πk2N]cos[(2n+1)πl2N].0≤k,l≤N-1]]>其中 以及x(m,n)是在N×M塊中的象素位置(m,n),以及X(k,l)是對(duì)應(yīng)的DCT系數(shù)。
由于象素值是非負(fù)的,所以DCT分量X(0,0)始終是正的,并且通常具有最多能量。事實(shí)上,對(duì)于一般圖像,分量X(0,0)周圍集中了大多數(shù)變換能量。這個(gè)能量緊縮特性使DCT技術(shù)成為如此吸引人的一種壓縮方法。
已經(jīng)觀察到,大多數(shù)自然圖像是由平坦的變化相當(dāng)慢的區(qū)域和諸如目標(biāo)邊界和高對(duì)比度紋理之類的快變化區(qū)域構(gòu)成的。對(duì)比度自適應(yīng)編碼方案通過(guò)把更多位分配給快變化區(qū)域和較少位分配給較少變化區(qū)域而利用了這種因素的優(yōu)點(diǎn)。在已轉(zhuǎn)讓給本發(fā)明的受讓人、并在此引用作為參考的、題為“Adaptive BlockSize Image Compression Method and System”的美國(guó)專利第5,021,891號(hào)中、在已轉(zhuǎn)讓給本發(fā)明的受讓人、并在此引用作為參考的、題為“Adaptive BlockSize Image Compression Method and System”的美國(guó)專利第5,107,345號(hào)中揭示了這種技術(shù)。此外,在題為“Adaptive Block Size Image CompressionMethod and System”的美國(guó)專利第5,452,104號(hào)中揭示了結(jié)合差分四元樹變換技術(shù)的ABSDCT技術(shù)的使用,該專利也已轉(zhuǎn)讓給本發(fā)明的受讓人,并在此引用作為參考。在這些專利中描述的系統(tǒng)使用所謂的“幀內(nèi)”編碼,其中對(duì)圖像數(shù)據(jù)的每個(gè)幀進(jìn)行編碼而不管任何其它幀的內(nèi)容。使用ABSDCT技術(shù),可以大大地降低可得到的數(shù)據(jù)速率而圖像質(zhì)量沒(méi)有可察覺(jué)的降級(jí)。
使用ABSDCT,一般把視頻信號(hào)分段成為用于處理的幀和象素的塊。DCT操作符是把按時(shí)間取樣的信號(hào)變換成相同信號(hào)的頻率表示的一種方法。通過(guò)變換成頻率表示,已經(jīng)示出DCT技術(shù)允許很高的壓縮程度,因?yàn)榭梢栽O(shè)計(jì)成利用圖像的頻率分布特征優(yōu)點(diǎn)的量化器。在一個(gè)較佳實(shí)施例中,把一個(gè)16×16 DCT施加于第一排序,把四個(gè)8×8 DCT施加于第二排序,把16個(gè)4×4 DCT施加于第三排序,以及把64個(gè)2×2 DCT施加于第四排序。
為了圖像處理的目的,對(duì)分割成不重疊塊的陣列的象素?cái)?shù)據(jù)執(zhí)行DCT操作。注意,雖然這里以N×N的大小來(lái)討論塊的大小,但是預(yù)見(jiàn)可以使用各種各樣的塊大小。例如,可以使用N×M塊大小,其中N和M兩者都是整數(shù),M可以大于或小于N。另一個(gè)重要方面是可以把塊分割成至少一個(gè)層次的子塊,諸如N/ixN/i、N/ixN/j、N/ixM/j以及等等,其中i和j是整數(shù)。此外,這里討論的示例塊大小是DCT系數(shù)的相應(yīng)的塊和子塊的16×16象素塊。可以進(jìn)一步預(yù)見(jiàn),可以使用諸如偶整數(shù)或奇整數(shù)之類的各種其它整數(shù),例如,9×9。
可以把彩色信號(hào)從RGB空間變換到Y(jié)C1C2空間,其中Y是輝度分量,或亮度分量,而C1和C2是色度分量或彩色分量。因?yàn)檠劬?duì)于彩色的空間靈敏度較低,許多系統(tǒng)在水平和垂直方向上通過(guò)一個(gè)為四的因子對(duì)C1和C1分量進(jìn)行子取樣。然而,子取樣不是必需的。已知為4∶4∶4格式的全分辨率圖像在諸如稱之為覆蓋數(shù)字?jǐn)z像機(jī)之類的某些應(yīng)用中可以是極有用的或是必需的。兩種可能的YC1C2表示為YIQ表示和YUV表示,兩者都是本技術(shù)領(lǐng)域中眾知的。使用已知為YCbCr的、YUV表示的一種變型也是可能的。
圖1a和1b示出經(jīng)編碼數(shù)據(jù)100和120的N×N塊的列和行處理??梢詧?zhí)行N維變換作為N個(gè)一維變換的級(jí)聯(lián)。例如,執(zhí)行2×2 DCT作為兩個(gè)一維DCT處理的級(jí)聯(lián),首先在每個(gè)列上操作,然后在每個(gè)行上操作。首先處理第一列m(124),接著處理列m+1(108),接著列m+2(112),依次類推直到列n(116)。在處理列之后,處理行120,如在圖1b中所示。首先處理行m(124),接著處理行m+1(128),接著行m+2(132),依次類推直到行n(136)。
相似地,另一個(gè)例子可以是需要IDCT處理的8×8數(shù)據(jù)塊??梢园?×8塊分解成四個(gè)兩維IDCT。然后可以用相對(duì)于圖1a和1b描述的兩維DCT方式的相同方式來(lái)處理每個(gè)兩維IDCT。
圖2a說(shuō)明編碼過(guò)程期間的經(jīng)編碼數(shù)據(jù)流的方框圖250。在編碼過(guò)程中,把經(jīng)編碼數(shù)據(jù)從象素域變換到頻域。圖2b說(shuō)明通過(guò)解碼過(guò)程的經(jīng)編碼數(shù)據(jù)流的方框圖254。在解碼過(guò)程中,把經(jīng)編碼數(shù)據(jù)從頻域變換到象素域。如在編碼過(guò)程250中所示,首先執(zhí)行經(jīng)編碼數(shù)據(jù)的塊大小分配(BAS)(258)。在實(shí)施例的一個(gè)方面,處理Y、Cb和Cr分量中的每一個(gè)而無(wú)需子取樣。因此,把16×16象素塊的輸入提供給塊大小分配單元258,它執(zhí)行塊大小分配,準(zhǔn)備用于視頻壓縮。
塊大小分配單元258根據(jù)塊中圖像的感知特征來(lái)確定塊的分解。塊大小分配根據(jù)16×16塊中的活動(dòng)性按四元樹方式把每個(gè)16×16塊子分割為較小的塊。塊大小分配單元258產(chǎn)生稱之為PQR數(shù)據(jù)的四元樹數(shù)據(jù),它的長(zhǎng)度可以在1和21比特之間。因此,如果塊大小分配確定要分割16×16塊,則設(shè)置PQR數(shù)據(jù)的R比特,接著是對(duì)應(yīng)于四個(gè)經(jīng)分割的8×8塊的Q數(shù)據(jù)的四個(gè)附加的比特。如果塊大小分配確定要對(duì)任何8×8塊進(jìn)行子分割,則對(duì)于每個(gè)經(jīng)子分割的8×8塊添加P數(shù)據(jù)的四個(gè)附加比特。
把數(shù)據(jù)分割成諸如2×2、4×4、8×8和16×16之類的塊大小。然后編碼數(shù)據(jù)處理器執(zhí)行經(jīng)編碼數(shù)據(jù)(262)的變換(DCT/DQT),如相對(duì)于圖3所描述。在完成DCT/DQT過(guò)程262之后,在經(jīng)編碼數(shù)據(jù)上執(zhí)行量化過(guò)程(QB)266。這完成了經(jīng)編碼數(shù)據(jù)從象素域到頻域的變換。
在一個(gè)實(shí)施例中,使用頻率加權(quán)掩碼(FWM)以及量化標(biāo)度因子使DCT系數(shù)量化。FWM是與輸入DCT系數(shù)的塊的維數(shù)相同的頻率權(quán)重的一個(gè)列表。頻率權(quán)重把不同的權(quán)重施加于不同的DCT系數(shù)。設(shè)計(jì)權(quán)重來(lái)突出具有人類視覺(jué)系統(tǒng)更敏感的頻率內(nèi)容的輸入取樣,并且使具有視覺(jué)系統(tǒng)不敏感的頻率內(nèi)容的取樣不突出。還可以根據(jù)諸如觀看距離之類的因素來(lái)設(shè)計(jì)權(quán)重。
從圖像的測(cè)量統(tǒng)計(jì)值或理論統(tǒng)計(jì)值來(lái)設(shè)計(jì)哈夫曼碼。已經(jīng)觀察到,大多數(shù)自然圖像是由單調(diào)的或變化相當(dāng)慢的區(qū)域和諸如目標(biāo)邊界和高對(duì)比度紋理之類的快變化區(qū)域構(gòu)成的。具有諸如DCT之類的頻域變換的哈夫曼編碼器通過(guò)把更多位分配給快變化區(qū)域和把較少位分配給單調(diào)區(qū)域而利用這些特征。一般,哈夫曼編碼器使用查找表對(duì)游程長(zhǎng)度和非零值進(jìn)行編碼。
根據(jù)經(jīng)驗(yàn)數(shù)據(jù)來(lái)選擇權(quán)重。在國(guó)際標(biāo)準(zhǔn)組織,1994年的“Digitalcompression and encoding of continuous-tone still image-part 1Requirements and guidelines”,ISO/IEC JTCT CD10918中,揭示了用于設(shè)計(jì)8×8 DCT系數(shù)的加權(quán)掩碼的一種方法,這里引用該文作為參考。一般,設(shè)計(jì)兩個(gè)FWM,一個(gè)用于亮度分量,而一個(gè)用于色度分量。通過(guò)抽選得到用于塊大小2×2、4×4的FWM表格,以及通過(guò)對(duì)于8×8塊的內(nèi)插得到16×16。標(biāo)度因子控制經(jīng)量化的系數(shù)的質(zhì)量和比特率。
因此,根據(jù)關(guān)系式量化每個(gè)DCT系數(shù) 其中DCT(i,j)是輸入DCT系數(shù),fwm(i,j)是頻率加權(quán)掩碼,q是標(biāo)度因子以及DCTq(i,j)是經(jīng)量化的系數(shù)。注意,根據(jù)DCT系數(shù)的符號(hào),使在括號(hào)內(nèi)的第一項(xiàng)向上或向下舍入(round up and down)。還使用合適的加權(quán)掩碼使DQT系數(shù)量化。然而,可以使用多個(gè)表格或掩碼,并施加于Y、Cb和Cr分量中的每一個(gè)。
把經(jīng)量化的系數(shù)提供給之字形掃描串行器268。串行器268按之字形方式對(duì)經(jīng)量化的塊進(jìn)行掃描,以產(chǎn)生經(jīng)量化的系數(shù)的串行化流。可以選擇許多不同的之字形掃描圖案,以及不同于之字形的圖案。一種較佳技術(shù)使用8×8塊大小的之字形掃描,雖然可以使用諸如4×4或16×16之類的其它大小。
注意,可以把之字形掃描串行化器268放置在量化器266的前面或后面。凈結(jié)果是相同的。
在任何情況中,把經(jīng)量化的系數(shù)流提供給可變長(zhǎng)度編碼器269??勺冮L(zhǎng)度編碼器269可以使用后面跟著編碼的零游程長(zhǎng)度編碼。在所述美國(guó)專利申請(qǐng)第5,021,891、5,107,345和5,452,104號(hào)以及這里引用作為參考和這里概括的未決的美國(guó)專利申請(qǐng)第<000163>號(hào)中詳細(xì)討論這種技術(shù)。游程長(zhǎng)度編碼器取得經(jīng)量化的系數(shù),并相對(duì)于不連續(xù)系數(shù)標(biāo)注出連續(xù)系數(shù)的游程。把連續(xù)值稱為游程長(zhǎng)度值,并進(jìn)行編碼。對(duì)于不連續(xù)值進(jìn)行分開(kāi)編碼。在一個(gè)實(shí)施例中,連續(xù)系數(shù)是零值,而不連續(xù)系數(shù)是非零值。一般,游程長(zhǎng)度是從0到63位,而大小是從1-10的AC值。文件碼的結(jié)束添加附加的碼-,因此,存在總數(shù)為641個(gè)的可能的碼。
在解碼過(guò)程中,把在頻域中的經(jīng)編碼數(shù)據(jù)轉(zhuǎn)換回象素域??勺冮L(zhǎng)度解碼器270產(chǎn)生數(shù)據(jù)的游程長(zhǎng)度和大小,并把數(shù)據(jù)提供給反之字形掃描串行器271,它根據(jù)所使用的掃描方案對(duì)系數(shù)進(jìn)行排序。反之字形掃描串行器271接收PQR數(shù)據(jù),以輔助使系數(shù)正確地排序成為復(fù)合的系數(shù)塊。把復(fù)合塊提供給反量化器272,用于恢復(fù)由于頻率加權(quán)掩碼的使用而引起的處理。
然后在經(jīng)編碼的數(shù)據(jù)上執(zhí)行指紋機(jī)(H20)273。指紋機(jī)把一個(gè)水印或其它識(shí)別符信息放到數(shù)據(jù)上??梢栽谝院髸r(shí)間恢復(fù)水印,以顯露識(shí)別符信息。識(shí)別符信息可以包括信息,諸如何處和何時(shí)播放材料、以及核準(zhǔn)誰(shuí)來(lái)播放這種材料。接在指紋機(jī)273之后,開(kāi)始相對(duì)于圖4詳細(xì)描述的解碼器數(shù)據(jù)過(guò)程274(IDQT/IDCT)。在對(duì)數(shù)據(jù)進(jìn)行解碼之后,把數(shù)據(jù)發(fā)送到幀緩沖器接口(FBI)278。配置FBI使之一次讀出和寫入一幀的未壓縮數(shù)據(jù)。在一個(gè)實(shí)施例中,F(xiàn)BI具有四幀的容量,雖然設(shè)想可以改變存儲(chǔ)容量。
現(xiàn)在參考圖2c,提供示出塊大小分配單元258的操作的詳細(xì)說(shuō)明的流程圖。算法使用塊的方差作為對(duì)塊進(jìn)行子分割的判決中的量度。在步驟202處開(kāi)始,讀出象素的16×16塊。在步驟204處,計(jì)算16×16塊的方差v16。計(jì)算方差如下var=1N2Σi=0N-1Σj=0N-1x2i,j-(1N2·Σi=0N-1Σj=0N-1xij)2]]>其中N=16,而xij是在N×N塊中的第i行、第j列中的象素。在步驟206處,首先修改方差門限值T16以提供新的門限值T’16,如果塊的平均值在兩個(gè)預(yù)定值之間,則塊方差與新的門限值T’16進(jìn)行比較。
如果方差v16不大于門限值T16,則在步驟208處,寫入16×16塊的開(kāi)始地址,并把PQR數(shù)據(jù)的R比特設(shè)置為0,以表示不子分割16×16塊。然后算法讀出象素的下一個(gè)16×16塊。如果方差v16大于門限值T16,則在步驟210處,把PQR數(shù)據(jù)的R比特設(shè)置為1,以表示要把16×16塊子分割成四個(gè)8×8塊。
順序考慮四個(gè)8×8塊,i=1∶4,進(jìn)行進(jìn)一步的子分割,如在步驟212中所示。在步驟214中,對(duì)于每個(gè)8×8塊,計(jì)算方差v8i。在步驟216處,首先修改方差門限值T4,以提供新的門限值T’8,如果塊的平均值在兩個(gè)預(yù)定值之間,則塊方差對(duì)照這個(gè)新的門限值進(jìn)行比較。
如果偏差v8i不大于門限值T4,則在步驟218處,寫入8×8塊的開(kāi)始地址,以及把對(duì)應(yīng)的Q比特,Qi,設(shè)置為0。然后處理下一個(gè)8×8塊。如果方差v8i大于門限值T4,則在步驟220處,把對(duì)應(yīng)的Q比特,Qi,設(shè)置為1,以表示要把8×8塊子分割成四個(gè)4×4塊。
順序考慮四個(gè)4×4塊,ji=1∶4,進(jìn)行進(jìn)一步的子分割,如在步驟222中所示。在步驟224中,對(duì)于每個(gè)4×4塊,計(jì)算方差v4ij。在步驟226處,首先修改方差門限值T4,以提供新的門限值T’4,如果塊的平均值在兩個(gè)預(yù)定值之間,則塊偏差與這個(gè)新的門限值進(jìn)行比較。
如果方差v4ij不大于門限值T4,則在步驟228處,寫入4×4塊的地址,以及把對(duì)應(yīng)的P比特,Pij,設(shè)置為0。然后處理下一個(gè)4×4塊。如果方差v4ij大于門限值T4,則在步驟230處,把對(duì)應(yīng)的P比特,Pij,設(shè)置為1,以表示要把4×4塊子分割成四個(gè)2×2塊。此外,寫入四個(gè)2×2塊的地址。
門限值T16、T8和T4可以是預(yù)定的常數(shù)。這被稱之為硬判決。另一方面,可以執(zhí)行自適應(yīng)或軟判決。軟判決根據(jù)2N×2N塊的平均象素值改變方差的門限值,其中N可以是8、4或2。因此,可以使用平均象素值的函數(shù)作為門限值。
為了說(shuō)明的目的,考慮下面的例子。讓Y分量對(duì)于16×16塊、8×8塊和4×4塊的預(yù)定的方差門限值分別為50、1100和880。換言之,T16=50、T8=1100和T16=880。讓平均值的范圍為80和100。假定所計(jì)算的16×16塊的方差是60。由于60和它的平均值90大于T16,所以把16×16塊子分割成四個(gè)8×8子塊。假定所計(jì)算的8×8塊的方差是1180、935、980和1210。由于8×8塊中的兩個(gè)塊具有超過(guò)T8的偏差,所以進(jìn)一步子分割這兩個(gè)塊以產(chǎn)生總共八個(gè)4×4塊。最后,假定八個(gè)4×4塊的偏差為620、630、610、590、525、930和690,其中前面的四個(gè)對(duì)應(yīng)于平均值90、120、110、115。由于第一個(gè)4×4塊的平均值落在范圍(80,100)中,所以它的門限值要降低到小于880的T’4=200。所以將子分割這個(gè)4×4塊作為第七個(gè)4×4塊。在圖11a中示出所產(chǎn)生的塊大小分配。在圖11b中示出對(duì)應(yīng)的四元樹分解。在圖11c中示出這種塊大小分配產(chǎn)生的PQR數(shù)據(jù)。
注意,使用相似的過(guò)程來(lái)分配彩色分量C1和C2的塊大小。彩色分量是可以水平地抽選的、垂直地抽選的或兩者。此外,注意,雖然已經(jīng)作為其中先估計(jì)最大的塊(在本例子中是16×16)的自頂?shù)较碌姆椒▉?lái)描述塊大小分配,但是也可以用自底到上的方法來(lái)代替。自底到上的方法先估計(jì)最小的塊(在本例子中是2×2)。
把PQR數(shù)據(jù)與所選擇塊的地址一起提供給DCT/DQT單元262。DCT/DQT單元262使用PQR數(shù)據(jù)來(lái)執(zhí)行所選擇塊上適當(dāng)大小的離散余弦變換。只有所選擇塊需要進(jìn)行DCT處理。還使用DQT來(lái)減少DCT的DC系數(shù)中間的冗余。在每個(gè)DCT塊的左上角處遇到DC系數(shù)。一般,DC系數(shù)比AC系數(shù)大。大小的差異使之難于設(shè)計(jì)有效的可變長(zhǎng)度編碼器。因此,減少DC系數(shù)中間的冗余是有利的。DQT單元在DC系數(shù)上執(zhí)行兩維DCT,每次取2×2。從4×4塊中的2×2塊開(kāi)始,在四個(gè)DC系數(shù)上執(zhí)行兩維DCT。把這個(gè)2×2 DCT稱為四個(gè)DC系數(shù)的差分四元樹變換,或DQT。其次,DQT的DC系數(shù)和具有8×8塊的三個(gè)相鄰DC系數(shù)一起使用來(lái)計(jì)算下一個(gè)層次的DQT。最后,使用在16×16塊中的四個(gè)8×8塊的DC系數(shù)來(lái)計(jì)算DQT。因此,在16×16塊中,存在一個(gè)真實(shí)的DC系數(shù),而其余的是對(duì)應(yīng)于DCT和DQT的AC系數(shù)。
在一幀中,獨(dú)立地計(jì)算每個(gè)16×16塊。因此,通過(guò)由PQR所確定的,可以按需要改變給定塊所使用的處理算法。
圖3是方框圖,說(shuō)明DCT/DQT的計(jì)算以及經(jīng)編碼數(shù)據(jù)300的一個(gè)塊的IDQT/IDCT。如在圖3中示出的編碼模式中,經(jīng)編碼數(shù)據(jù)起初在象素域中。當(dāng)通過(guò)中間步驟處理經(jīng)編碼數(shù)據(jù)時(shí),把經(jīng)編碼數(shù)據(jù)變換到頻域中。在解碼模式中,經(jīng)編碼數(shù)據(jù)起初在頻域中。當(dāng)通過(guò)中間步驟處理經(jīng)編碼數(shù)據(jù)時(shí),把經(jīng)編碼數(shù)據(jù)變換到象素域中。
參考圖3,把經(jīng)編碼數(shù)據(jù)的至少一個(gè)M×N塊存儲(chǔ)在轉(zhuǎn)置RAM304中。轉(zhuǎn)置RAM304可以包括M×N數(shù)據(jù)的一個(gè)或多個(gè)塊。在具有兩個(gè)經(jīng)編碼數(shù)據(jù)塊的一個(gè)實(shí)施例中,把一個(gè)塊配置成包括當(dāng)前M×N數(shù)據(jù)塊308,把另一個(gè)配置成包括下一個(gè)M×N數(shù)據(jù)塊312。如在圖2a中所示從塊大小分配208(在編碼模式中)或如在圖2b中所示從指紋機(jī)220(在解碼模式中),把數(shù)據(jù)塊308和312傳遞到轉(zhuǎn)置RAM304。在一個(gè)實(shí)施例中,轉(zhuǎn)置RAM304可以是雙端口RAM,致使轉(zhuǎn)置RAM接口316處理當(dāng)前數(shù)據(jù)塊308以及接收來(lái)自指紋機(jī)220的下一個(gè)數(shù)據(jù)塊。轉(zhuǎn)置RAM接口316控制定時(shí)并可以使緩沖存儲(chǔ)器允許從轉(zhuǎn)置RAM304讀出數(shù)據(jù)塊或把數(shù)據(jù)塊寫入轉(zhuǎn)置RAM304中。在一個(gè)實(shí)施例中,轉(zhuǎn)置RAM304和轉(zhuǎn)置RAM接口316可以響應(yīng)從控制序列發(fā)生器324來(lái)的一個(gè)或多個(gè)控制信號(hào)。
經(jīng)編碼數(shù)據(jù)進(jìn)入數(shù)據(jù)處理器328,從轉(zhuǎn)置RAM304(或通過(guò)轉(zhuǎn)置RAM接口316)到一個(gè)或多個(gè)輸入寄存器332。在一個(gè)實(shí)施例中,有16個(gè)輸入寄存器332。在一個(gè)實(shí)施例中,數(shù)據(jù)處理器328首先處理列數(shù)據(jù),接著處理行數(shù)據(jù),如在圖1中所示。另一方面,數(shù)據(jù)處理器328可以先處理有列再處理行,然而,下面的說(shuō)明假定在處理行數(shù)據(jù)之前處理列數(shù)據(jù)。輸入寄存器332包括16×16塊的單個(gè)列編碼的數(shù)據(jù)。數(shù)據(jù)處理器328通過(guò)在經(jīng)編碼數(shù)據(jù)上一列一列地執(zhí)行數(shù)學(xué)運(yùn)算而計(jì)算變換,并把數(shù)據(jù)寫回轉(zhuǎn)置RAM304中。在處理數(shù)據(jù)列之后,數(shù)據(jù)處理器328處理經(jīng)編碼數(shù)據(jù)的每個(gè)行。在處理經(jīng)編碼數(shù)據(jù)的每個(gè)行之后,數(shù)據(jù)處理器328通過(guò)輸出寄存器352輸出數(shù)據(jù)。
在一個(gè)實(shí)施例中,數(shù)據(jù)塊是經(jīng)編碼數(shù)據(jù)的16×16塊,雖然可以設(shè)想使用任何大小的數(shù)據(jù)塊,諸如32×32、8×8、4×4或2×2,或它們的組合。因此,當(dāng)數(shù)據(jù)處理器328正在處理來(lái)自轉(zhuǎn)置RAM304的數(shù)據(jù)塊時(shí)(例如,當(dāng)前的M×N數(shù)據(jù)塊308),轉(zhuǎn)置RAM接口316接收來(lái)自BSA208(編碼模式)或指紋機(jī)220(解碼模式)的下一個(gè)數(shù)據(jù)塊312。當(dāng)數(shù)據(jù)處理器328完成當(dāng)前數(shù)據(jù)塊308的處理時(shí),轉(zhuǎn)置RAM接口316從轉(zhuǎn)置RAM304接口讀出下一個(gè)數(shù)據(jù)塊312,并把它裝載到數(shù)據(jù)處理器328中。如此,通過(guò)轉(zhuǎn)置RAM接口316和控制序列發(fā)生器324的指揮,從轉(zhuǎn)置RAM304來(lái)的數(shù)據(jù)在當(dāng)前數(shù)據(jù)塊308和下一個(gè)數(shù)據(jù)塊312之間反復(fù)轉(zhuǎn)換。
數(shù)據(jù)處理器328包括輸入寄存器332、在專權(quán)蝶形處理器簇336中的至少一個(gè)蝶形處理器以及至少一個(gè)中間數(shù)據(jù)寄存器340。數(shù)據(jù)處理器328還可以包括保持寄存器334、寫入多路復(fù)用器348以及輸出數(shù)據(jù)寄存器352。專用蝶形處理器簇336可以進(jìn)一步包括第一輸入多路復(fù)用器356,而中間數(shù)據(jù)寄存器340進(jìn)一步包括第二輸入多路復(fù)用器360。最好由控制序列發(fā)生器324來(lái)控制數(shù)據(jù)處理器328的上述部件。
在操作中,對(duì)于給定的數(shù)據(jù)列或行,把輸入寄存器332配置成通過(guò)轉(zhuǎn)置RAM接口316接收來(lái)自轉(zhuǎn)置RAM304的經(jīng)編碼數(shù)據(jù)??刂菩蛄邪l(fā)生器324啟使能輸入寄存器的某些地址,以通過(guò)輸入多路復(fù)用器356發(fā)送數(shù)據(jù)。通過(guò)多路復(fù)用器356經(jīng)過(guò)選擇而對(duì)數(shù)據(jù)輸入再排序,使得選擇適當(dāng)?shù)木幋a數(shù)據(jù)對(duì)來(lái)進(jìn)行數(shù)學(xué)運(yùn)算。通過(guò)控制序列發(fā)生器324的控制,輸入多路復(fù)用器356把數(shù)據(jù)傳遞到專權(quán)蝶形處理器簇336。專權(quán)蝶形處理器簇336包括一個(gè)或多個(gè)蝶形處理器。在一個(gè)實(shí)施例中,專權(quán)蝶形處理器簇336包括四個(gè)獨(dú)立的蝶形處理器364、368、372和376,而控制序列發(fā)生器324通過(guò)輸入多路復(fù)用器356按選擇路線把經(jīng)編碼數(shù)據(jù)傳遞到合適的蝶形處理器。
每個(gè)獨(dú)立的蝶形處理器364、368、372或376能夠執(zhí)行一維變換,諸如DCT、IDCT、DQT和IDQT。一維變換一般包括算術(shù)運(yùn)算,諸如簡(jiǎn)單的加法器、減法器或乘法器。在一對(duì)數(shù)據(jù)元素上執(zhí)行一維變換之后,把所產(chǎn)生的輸出傳遞到中間數(shù)據(jù)寄存器340。中間數(shù)據(jù)寄存器340可以響應(yīng)控制序列發(fā)生器324??刂菩蛄邪l(fā)生器可以是諸如狀態(tài)機(jī)、微控制器或可編程處理器之類的裝置。在中間數(shù)據(jù)寄存器340響應(yīng)控制序列發(fā)生器324的一個(gè)實(shí)施例中,使用反饋路徑380和通過(guò)第一輸入多路復(fù)用器356使存儲(chǔ)在中間數(shù)據(jù)寄存器340中的選擇數(shù)據(jù)元素反饋回蝶形處理器以進(jìn)行再次處理(即,一維變換的另一個(gè)部分)這個(gè)反饋循環(huán)繼續(xù)直到完成對(duì)于經(jīng)編碼數(shù)據(jù)的所有一維變換。當(dāng)完成數(shù)據(jù)的處理時(shí),把來(lái)自中間數(shù)據(jù)寄存器340的數(shù)據(jù)寫入WRBR保持寄存器344。如果正在處理的數(shù)據(jù)是列數(shù)據(jù),則從WRBR保持寄存器344通過(guò)寫入多路復(fù)用器348寫入數(shù)據(jù),并返回到轉(zhuǎn)置RAM304進(jìn)行存儲(chǔ),這樣就可以開(kāi)始行處理。對(duì)寫入多路復(fù)用器348控制,以對(duì)經(jīng)處理的列數(shù)據(jù)進(jìn)行再排序使之回到它的原始排序。如果保持寄存器數(shù)據(jù)是行數(shù)據(jù)(因此,所有列數(shù)據(jù)的處理已完成),則按選擇路線把數(shù)據(jù)傳遞到輸出寄存器352。然后控制序列發(fā)生器324可以控制來(lái)自菊花鏈多路復(fù)用器和輸出數(shù)據(jù)寄存器352的數(shù)據(jù)的輸出。
圖4說(shuō)明可以通過(guò)圖3的數(shù)據(jù)路徑處理器328在編碼模式中實(shí)施的DCT網(wǎng)格結(jié)構(gòu)。相似地,圖5說(shuō)明可以通過(guò)圖3的數(shù)據(jù)路徑處理器328在解碼模式中實(shí)施的IDCT網(wǎng)格結(jié)構(gòu)。通過(guò)PQR數(shù)據(jù)的指揮和/或根據(jù)所執(zhí)行的計(jì)算的類型,控制序列發(fā)生器324可以選擇經(jīng)編碼數(shù)據(jù)元素的不同對(duì),以組合和執(zhí)行部分一維變換的各部分。例如,在圖4的網(wǎng)格結(jié)構(gòu)中,在列404中發(fā)生八種運(yùn)算。所示的運(yùn)算如下x(0)+x(7)、x(1)+x(6)、x(3)+x(4)、x(2)+x(5)、x(0)-x(7)、x(1)-x(6)、x(3)-x(4)和x(2)-x(5)。蝶形處理器364、368、372和376(如圖3所示)中的每一個(gè)在給定時(shí)鐘周期中處理四種運(yùn)算中的一種。因此,例如,蝶形處理器364計(jì)算x(0)+x(7)和x(0)-x(7)的運(yùn)算,蝶形處理器368計(jì)算x(1)+x(6)和x(1)-x(6)的運(yùn)算,蝶形處理器372計(jì)算x(3)+x(4)和x(3)-x(4)的運(yùn)算以及蝶形處理器376計(jì)算x(2)+x(5)和x(2)-x(5)的運(yùn)算,都在同一個(gè)時(shí)鐘周期中計(jì)算??梢园堰@些運(yùn)算中的每一個(gè)的結(jié)果臨時(shí)存儲(chǔ)在流水線寄存器中或中間數(shù)據(jù)寄存器340中,然后按選擇路線傳遞到輸入多路復(fù)用器360。在說(shuō)明書中相對(duì)于圖9c和9d描述流水線寄存器的操作。
任選地,在下一個(gè)時(shí)鐘周期中,使用相同的四個(gè)蝶形處理器計(jì)算剩余的四種乘法運(yùn)算。因此,蝶形處理器364計(jì)算[x(0)-x(7)]*(1/2C116),蝶形處理器368計(jì)算[x(1)-x(6)]*(1/2C316),蝶形處理器372計(jì)算[x(3)-x(4)]*(1/2C716)以及蝶形處理器376計(jì)算[x(2)-x(5)]*(1/2C516)。把這些計(jì)算的結(jié)果臨時(shí)存儲(chǔ)在中間數(shù)據(jù)寄存器340中。當(dāng)完成計(jì)算時(shí),經(jīng)編碼數(shù)據(jù)的排序與原始輸入時(shí)的經(jīng)編碼數(shù)據(jù)的排序不同。因此,按需要,在每個(gè)反饋回路后,控制序列發(fā)生器324和輸入多路復(fù)用器356對(duì)經(jīng)編碼數(shù)據(jù)或部分處理過(guò)的經(jīng)編碼數(shù)據(jù)進(jìn)行再排序。
在接著的時(shí)鐘周期中,處理對(duì)于列408的計(jì)算,再次把處理結(jié)果存儲(chǔ)在中間數(shù)據(jù)寄存器340中,并通過(guò)輸入多路復(fù)用器360反饋。再次,對(duì)現(xiàn)在已部分處理過(guò)的被反饋的經(jīng)編碼數(shù)據(jù)進(jìn)行再排序,使得把經(jīng)編碼數(shù)據(jù)的各正確部分按選擇路線傳遞到合適的蝶形處理器。因此,蝶形處理器364處理b(0)+b(2)和b(0)-b(2)。相似地,蝶形處理器368計(jì)算b(1)+b(3)和b(1)-b(3),蝶形處理器372計(jì)算b(4)+b(6)和b(4)-b(6)以及蝶形處理器376計(jì)算b(5)+b(7)和b(5)-b(7)。再次把計(jì)算結(jié)果存儲(chǔ)在中間數(shù)據(jù)寄存器340或流水線寄存器中,并通過(guò)輸入多路復(fù)用器360按選擇路線傳遞。在下一個(gè)時(shí)鐘周期中,按相對(duì)于列404描述的方式相同方式執(zhí)行乘以1/2C18、1/2C38、1/2C18和1/2C38的乘法。因此,蝶形處理器364計(jì)算b(0)-b(2)*1/2C18,蝶形處理器368計(jì)算b(1)-b(3)*1/2C38,蝶形處理器372計(jì)算b(4)-b(6)*1/2C18,蝶形處理器376計(jì)算b(5)-b(7)*1/2C38。
在下一個(gè)時(shí)鐘周期中,處理對(duì)于列412的計(jì)算,對(duì)于在d(0)到d(7)位置的值進(jìn)行計(jì)算,再次把計(jì)算結(jié)果存儲(chǔ)在中間數(shù)據(jù)寄存器340中,并反饋到輸入多路復(fù)用器360中。因此,每個(gè)蝶形處理器計(jì)算每個(gè)輸入的每個(gè)級(jí),使得蝶形處理器364計(jì)算d(0)+d(1)和d(0)-d(1)的運(yùn)算,蝶形處理器368計(jì)算d(2)+d(3)和d(2)-d(3)的運(yùn)算,蝶形處理器372計(jì)算d(4)+d(5)和d(4)-d(5)的運(yùn)算以及蝶形處理器376計(jì)算d(6)+d(7)和d(6)-d(7)的運(yùn)算,都在同一個(gè)時(shí)鐘周期中計(jì)算。在接著的時(shí)鐘周期中,按相對(duì)于列404和408描述的方式相同的方式執(zhí)行乘以1/2C14的乘法。
列416說(shuō)明在下一個(gè)時(shí)鐘周期中通過(guò)蝶形處理器計(jì)算的下一組數(shù)學(xué)運(yùn)算。如在圖4的例子中所示,在列416中,在這個(gè)時(shí)鐘周期期間只需要兩種運(yùn)算即,f(2)和f(3)分量的相加以及f(6)和f(7)分量的相加。因此,蝶形處理器364計(jì)算f(2)+f(3),而蝶形處理器368計(jì)算f(6)+f(7)。
在接著的時(shí)鐘周期中,處理在列420中表示的計(jì)算。如此,計(jì)算h(4)、h(5)和h(6)的值。因此,蝶形處理器364計(jì)算h(4)+h(6),蝶形處理器368計(jì)算h(5)+h(8),而蝶形處理器372計(jì)算h(5)+h(6)。
可容易地觀察到,圖5說(shuō)明按相似方式操作的IDCT網(wǎng)格結(jié)構(gòu),但是與相對(duì)于圖4描述的網(wǎng)格結(jié)構(gòu)具有相反的順序。在解碼過(guò)程中使用與編碼過(guò)程中操作的DCT網(wǎng)格結(jié)構(gòu)對(duì)反的IDCT網(wǎng)格結(jié)構(gòu)。蝶形處理器364、368、372和376按相對(duì)于圖4描述的方式相似的方式操作,利用了并行處理中效率的優(yōu)點(diǎn)。在編碼和解碼兩種過(guò)程中,一個(gè)實(shí)施例的明顯的優(yōu)點(diǎn)是對(duì)于網(wǎng)格結(jié)構(gòu)的每個(gè)級(jí)再使用相同的硬件。因此,列504中說(shuō)明的計(jì)算所使用的硬件與列508、512、516和520中說(shuō)明的計(jì)算所使用的硬件是相同的。相似地,列404中說(shuō)明的計(jì)算所使用的硬件與列408、412、416和420中說(shuō)明的計(jì)算所使用的硬件是相同的。
一旦計(jì)算了表示圖4中網(wǎng)格結(jié)構(gòu)的終點(diǎn)的最終結(jié)果,就從中間數(shù)據(jù)寄存器340把數(shù)據(jù)傳遞到保持寄存器344??刂菩蛄邪l(fā)生器324控制保持寄存器344和輸出數(shù)據(jù)寄存器352。如果數(shù)據(jù)是列數(shù)據(jù),則把數(shù)據(jù)傳遞到寫入多路復(fù)用器348并存儲(chǔ)回轉(zhuǎn)置RAM304。再次,對(duì)經(jīng)編碼數(shù)據(jù)進(jìn)行再排序以反映經(jīng)編碼數(shù)據(jù)的原始序列。如果數(shù)據(jù)是行數(shù)據(jù),則因此而完成了所有的計(jì)算,并把數(shù)據(jù)從保持寄存器344傳遞到輸出數(shù)據(jù)寄存器352。
圖6說(shuō)明具有一個(gè)或多個(gè)輸入和輸出多路復(fù)用器600的單個(gè)蝶形處理器的例子。在一個(gè)實(shí)施例中,把從一個(gè)或多個(gè)中間數(shù)據(jù)寄存器340輸出的數(shù)據(jù)耦合到輸入多路復(fù)用器604的輸入端口(見(jiàn)圖3)。在一個(gè)實(shí)施例中,把從每個(gè)中間數(shù)據(jù)寄存器340輸出的數(shù)據(jù)輸入到蝶形處理器到第一多路復(fù)用器608和第二多路復(fù)用器612。把從輸入AR寄存器332(見(jiàn)圖3)輸出的數(shù)據(jù)也通過(guò)輸入多路復(fù)用器604傳遞。特別,把AR寄存器AR(0)和AR(8)的輸出耦合到多路復(fù)用器616的輸入端,并把AR(1)、AR(8)和AR(15)的輸出耦合到多路復(fù)用器620的輸入端。通過(guò)控制序列發(fā)生器324的指揮,多路復(fù)用器624和628選擇來(lái)自AR或BR寄存器的信號(hào)(在圖3中示出)。因此,多路復(fù)用器624選擇來(lái)自多路復(fù)用器608或616的數(shù)據(jù),而多路復(fù)用器628選擇來(lái)自多路復(fù)用器620或多路復(fù)用器612的數(shù)據(jù)。因此把多路復(fù)用器624和628的輸出耦合到單獨(dú)的蝶形處理器532的輸入端。蝶形處理器632計(jì)算DCT/IDCT/DQT/IDQT變換的一級(jí),如相對(duì)于圖3、4和5所述。把蝶形處理器632的兩個(gè)輸出,輸出636和638,的每一個(gè)耦合到每個(gè)中間數(shù)據(jù)多路復(fù)用器642和646的輸入端。然后把數(shù)據(jù)從多路復(fù)用器642和646選擇到一組中間寄存器650。在一個(gè)實(shí)施例中,有16個(gè)如此的中間多路復(fù)用器和數(shù)據(jù)寄存器。
圖7說(shuō)明寫入多路復(fù)用器的方框圖。如在圖3中所示,把中間數(shù)據(jù)寄存器340的偶數(shù)輸出輸入到多路復(fù)用器704,并把中間數(shù)據(jù)寄存器340的奇數(shù)輸出輸入到多路復(fù)用器708。如在圖3中所示,通過(guò)控制序列發(fā)生器324的控執(zhí),多路復(fù)用器704、708、712和716對(duì)每個(gè)中間寄存器中的數(shù)據(jù)進(jìn)行再排序,并分別存儲(chǔ)在17比特的寄存器720和724中。然后把經(jīng)再排序的數(shù)據(jù)存儲(chǔ)在轉(zhuǎn)置RAM304中。
圖8說(shuō)明每個(gè)蝶形處理器800的操作。在一個(gè)實(shí)施例中,實(shí)施四個(gè)蝶形處理器。然而,設(shè)想可以實(shí)施服從定時(shí)和大小限制的任何數(shù)目的蝶形處理器。數(shù)據(jù)通過(guò)輸入804和808進(jìn)入蝶形處理器。在一個(gè)實(shí)施例中,輸入804有時(shí)表示DC值,并通過(guò)截尾器812傳遞。截尾器812負(fù)責(zé)1/N函數(shù),如關(guān)于下文兩維DCT公式所描述。輸入804的DC值是17比特-單個(gè)符號(hào)比特加上16個(gè)整數(shù)比特。截尾器812從DC值輸入數(shù)據(jù)截去n比特以產(chǎn)生經(jīng)截尾的DC值816,其中如果所處理的數(shù)據(jù)是16×16塊,則n是4比特,如果所處理的數(shù)據(jù)是8×8塊,則n是3比特,如果所處理的數(shù)據(jù)是4×4塊,則n是2比特,以及如果所處理的數(shù)據(jù)是2×2塊,則n是1比特。如果輸入是AC值,則旁路截尾器812,并按選擇路線傳遞到第一選擇器814。然后第一選擇器814從輸入A804選擇經(jīng)截尾的DC值816或AC值。在這個(gè)實(shí)施例中,不使用分?jǐn)?shù)比特,雖然設(shè)想可以使用分?jǐn)?shù)比特。
把第一選擇器的輸出816按選擇路線傳遞到延遲820和第二選擇器824。當(dāng)選擇器輸出值816通過(guò)選擇路線傳遞到延遲820時(shí),經(jīng)截尾的DC值在通過(guò)選擇路線傳遞到第二選擇器824之前可以保持一個(gè)時(shí)鐘周期。在一個(gè)實(shí)施例中,延遲820是寄存器。在第二選擇器824中的數(shù)據(jù)選擇是要在數(shù)據(jù)上執(zhí)行的一種數(shù)學(xué)運(yùn)算類型的函數(shù)。最好從控制序列發(fā)生器通過(guò)選擇路線傳遞過(guò)來(lái)的控制字826觸發(fā)第二選擇器824。如在整個(gè)圖8中所示,控制字826提供對(duì)于許多部件的控制。再次根據(jù)要執(zhí)行的數(shù)學(xué)運(yùn)算的類型,然后,把數(shù)據(jù)傳遞到加法器832或減法器836。第三選擇器還接收來(lái)自延遲820的經(jīng)延遲的輸出值,以及輸入808。再次,在第三選擇器828中的數(shù)據(jù)選擇是要在數(shù)據(jù)上執(zhí)行的數(shù)學(xué)運(yùn)算類型的函數(shù)。
對(duì)數(shù)據(jù)進(jìn)行加或減,然后把數(shù)據(jù)傳遞到第四選擇器840或第五選擇器844,用于從蝶形處理器800輸出。把輸入804也傳遞到第四選擇器840,并把輸入808傳遞到第五選擇器844。在編碼模式中,可以按選擇路線把數(shù)據(jù)傳遞到第六選擇器848。在一個(gè)實(shí)施例中,在編碼模式中,在通過(guò)選擇路線傳遞到第六選擇器848之前,通過(guò)編碼延遲852而使數(shù)據(jù)按選擇路線傳遞。
第二輸入,輸入808,通過(guò)第三選擇器828和第六選擇器848傳遞。如果第六選擇器848選擇輸入808,則使數(shù)據(jù)通過(guò)選擇路線傳遞到乘法器856,輸入808在那里乘上標(biāo)量860。具有標(biāo)量860的乘法過(guò)程對(duì)數(shù)據(jù)定標(biāo)以產(chǎn)生經(jīng)定標(biāo)的輸出864。在一個(gè)實(shí)施例中,然后把經(jīng)定標(biāo)的輸出864通過(guò)選擇路線傳遞到格式化器868。格式化器868使數(shù)據(jù)從24比特格式(一個(gè)符號(hào)比特、16個(gè)整數(shù)比特和7個(gè)分?jǐn)?shù)比特)舍入和飽和(saturate)成為17比特格式。因此,相對(duì)于長(zhǎng)度的20位,經(jīng)格式化的定標(biāo)輸出872是17比特。如此處理的數(shù)據(jù)允許當(dāng)計(jì)算時(shí)保持精確度,但是使用較少位來(lái)表示相同的數(shù)據(jù),這依次節(jié)約了硬件空間。通過(guò)延遲876把經(jīng)格式化的定標(biāo)輸出872通過(guò)選擇路線傳遞到第三選擇器828和第五選擇器844,用于進(jìn)一步處理。
圖9a-9f說(shuō)明每個(gè)蝶形處理器能夠執(zhí)行的各種數(shù)學(xué)運(yùn)算。圖9a說(shuō)明蝶形處理器900可能執(zhí)行的NO(非)運(yùn)算。給出兩個(gè)輸入,輸入A(902)和輸入B(904),簡(jiǎn)單地把每個(gè)輸入傳遞到輸出C(906)和輸出D(908)。因此,在NO運(yùn)算中,C=A和D=B。
圖9b說(shuō)明蝶形處理器910執(zhí)行的累加運(yùn)算。給出兩個(gè)輸入,輸入A(912)和輸入B(914),輸出C(916)表示和A+B。通過(guò)加法器913組合輸入A(912)和輸入B(914)。輸出D(918)表示輸入B(914)的通過(guò)。因此,在累加運(yùn)算中,C=A+B和D=B。
圖9c說(shuō)明蝶形處理器920執(zhí)行的蝶形DCT運(yùn)算。給出兩個(gè)輸入,輸入A(922)和輸入B(924),輸出C(926)表示輸入A(922)和輸入B(924)的和,致使C=A+B。由加法器923組合輸入922和輸入924。輸出D(928)表示輸入A(922)和輸入B(924)的減法器并被乘以系數(shù)CF(930),致使D=CF×(A-B)。減法器925從輸入922減去輸入924,然后通過(guò)乘法器927作乘法。任選地,可以使用流水線寄存器932和934來(lái)臨時(shí)存儲(chǔ)中間產(chǎn)物直到下一個(gè)時(shí)鐘周期。
圖9d說(shuō)明蝶形處理器936執(zhí)行的蝶形IDCT運(yùn)算。給出兩個(gè)輸入,輸入A(938)和輸入B(940),輸出C(942)表示輸入A(938)和輸入B(940)乘以系數(shù)CF(943)的和,致使輸出C=A+(B×CF)。通過(guò)乘法器945使輸入B(940)乘以系數(shù)CF(943),然后通過(guò)加法器947加到輸入A(938)上。相似地,輸出D(944)表示輸入A(938)和輸入B(940)乘以系數(shù)CF(943)的差,致使D=A-(B×CF)。乘法器945使輸入B(940)乘以系數(shù)CF(943),然后通過(guò)減法器949從輸入A(938)中減去。任選地,可以使用流水線寄存器946和948來(lái)存儲(chǔ)在下一個(gè)時(shí)鐘周期中要計(jì)算的中間產(chǎn)物。
圖9e說(shuō)明蝶形處理器950執(zhí)行的累加寄存器運(yùn)算。給出兩個(gè)輸入,輸入A(952)和輸入AREG(954),輸出C(956)表示輸入A和AREG的和,致使C=A+AREG。與輸入值不同,AREG也可以是以前時(shí)鐘周期存儲(chǔ)在寄存器951中的一個(gè)值。通過(guò)加法器953使輸入A(952)和輸入AREG(954)相加。
圖9f說(shuō)明蝶形處理器958執(zhí)行的DQT/IDQT運(yùn)算。給出兩個(gè)輸入,輸入A(960)和輸入B(962),輸出C(964)表示輸入A和B的和,致使C=A+B。相似地,輸出D(966)表示輸入A和B的差,致使D=A-B。通過(guò)加法器963組合輸入A(960)和輸入B(962)。通過(guò)減法器965從輸入A(960)減去輸入B(962)。
在圖10中說(shuō)明計(jì)算圖像數(shù)據(jù)1000的變換的過(guò)程,并且可以在關(guān)于圖3描述的結(jié)構(gòu)中實(shí)施。對(duì)于諸如DCT、IDCT、DQT和IDQT之類的頻域技術(shù),容易地配置過(guò)程。數(shù)據(jù)的列或行起初駐留在轉(zhuǎn)置RAM1004中,并傳遞到蝶形處理器中的保持寄存器1008中。選擇要組合的數(shù)據(jù)塊的各個(gè)數(shù)據(jù)元素1012,以及選擇要在各個(gè)數(shù)據(jù)元素上執(zhí)行的數(shù)學(xué)運(yùn)算1016??梢詧?zhí)行關(guān)于圖9a-9f描述的數(shù)學(xué)運(yùn)算,并包括非操作1020、累加1024、DCT蝶形1028、IDCT蝶形1032、累加寄存器1036和DQT/IDQT蝶形1040。臨時(shí)存儲(chǔ)數(shù)學(xué)運(yùn)算的結(jié)果1044。然后根據(jù)是否需要進(jìn)一步的數(shù)學(xué)運(yùn)算來(lái)進(jìn)行反饋判決1048。在一個(gè)實(shí)施例中,控制序列發(fā)生器控制反饋判決,如關(guān)于圖3所描述。如果反饋數(shù)據(jù)1052,則把數(shù)據(jù)反饋到保持寄存器1008,并重復(fù)進(jìn)行處理。如果不反饋數(shù)據(jù)1056,則把數(shù)據(jù)傳遞到輸出保持寄存器1060。根據(jù)對(duì)于數(shù)據(jù)的列或行是否需要另外的數(shù)學(xué)運(yùn)算來(lái)進(jìn)行另一個(gè)判決1064。如果需要(1068),則把數(shù)據(jù)的列或行傳遞到保持器1072,然后寫回到轉(zhuǎn)置RAM1004中。如果不需要(1076),則把數(shù)據(jù)塊傳遞到輸出數(shù)據(jù)寄存器1080。
作為例子,可以用專用集成電路(ASIC)、可編程邏輯器件、分立門或晶體管邏輯、例如,諸如寄存器和FIFO之類的分立硬件部件、執(zhí)行一組固件指令的處理器、任何傳統(tǒng)的可編程軟件和處理器、或任何它們的組合,在硬件或軟件中實(shí)施或執(zhí)行與這里揭示的實(shí)施例描述相關(guān)連的各種示意的邏輯塊、流程圖以及步驟。有利地,處理器可以是微處理器,但是另一方面,處理器可以是任何傳統(tǒng)的處理器、控制器、微控制器或狀態(tài)機(jī)。軟件可以駐留在RAM存儲(chǔ)器、快閃存儲(chǔ)器、ROM存儲(chǔ)器、寄存器硬盤、可移動(dòng)盤、CD-ROM、DVD-ROM或本技術(shù)領(lǐng)域中眾知的任何其它形式的存儲(chǔ)媒體中。
提供較佳實(shí)施例的上述描述,以使熟悉本領(lǐng)域技術(shù)的人員可以制造或使用本發(fā)明。熟悉本領(lǐng)域技術(shù)的人員將不費(fèi)力地明了這些實(shí)施例的各種修改,可以把這里所定義的一般原理應(yīng)用到其它的實(shí)施例而不需要用發(fā)明創(chuàng)造。因此,不打算把本發(fā)明限于這里所示出的實(shí)施例,而是和這里所揭示的原理和新潁特征符合的最寬廣的范圍相一致。
權(quán)利要求
1.確定經(jīng)編碼數(shù)據(jù)的塊的變換的一種設(shè)備,所述經(jīng)編碼數(shù)據(jù)的塊包括多個(gè)數(shù)據(jù)元素,所述設(shè)備包括輸入寄存器,配置成接收預(yù)定量的數(shù)據(jù)元素;耦合到所述輸入寄存器的至少一個(gè)蝶形處理器,把所述蝶形處理器配置成在所選擇的數(shù)據(jù)元素對(duì)上執(zhí)行至少一種數(shù)學(xué)運(yùn)算以產(chǎn)生經(jīng)處理數(shù)據(jù)元素的輸出;耦合到所述蝶形處理器的至少一個(gè)中間寄存器,把所述中間寄存器配置成臨時(shí)存儲(chǔ)經(jīng)處理的數(shù)據(jù);以及耦合到所述中間寄存器和所述蝶形處理器的反饋回路,其中,如果使能的話,把所述反饋回路配置成把經(jīng)處理的數(shù)據(jù)元素的第一部分傳遞到合適的蝶形處理器以執(zhí)行附加的數(shù)學(xué)運(yùn)算,其中如果禁用的話,則把它配置成把經(jīng)處理數(shù)據(jù)元素的第二部分傳遞到至少一個(gè)保持寄存器;其中把所述保持寄存器配置成存儲(chǔ)經(jīng)處理數(shù)據(jù)直到處理了所有第一部分?jǐn)?shù)據(jù)元素。
2.如權(quán)利要求1所述的設(shè)備,進(jìn)一步包括耦合到所述反饋回路和所述中間寄存器的至少一個(gè)輸入多路復(fù)用器,其特征在于,把每個(gè)輸入多路復(fù)用器配置成臨時(shí)選擇數(shù)據(jù)元素和把數(shù)據(jù)元素傳遞到合適的蝶形處理器。
3.如權(quán)利要求1所述的設(shè)備,進(jìn)一步包括耦合到所述蝶形處理器和所述中間寄存器的至少一個(gè)輸入多路復(fù)用器,其特征在于,把每個(gè)輸入多路復(fù)用器配置成臨時(shí)選擇數(shù)據(jù)元素和把數(shù)據(jù)元素傳遞到合適的中間寄存器。
4.如權(quán)利要求1所述的設(shè)備,其特征在于,從下述組中選擇所述變換,所述組包括離散余弦變換(DCT)、差分四元樹變換(DQT)、離散余弦反變換(IDCT)以及差分四元樹反變換(IDQT)。
5.如權(quán)利要求1所述的設(shè)備,其特征在于,可以把經(jīng)編碼數(shù)據(jù)的塊表示成行數(shù)據(jù)和列數(shù)據(jù),并且進(jìn)一步包括耦合到輸入寄存器的轉(zhuǎn)置隨機(jī)存取存儲(chǔ)器(RAM),其中把所述轉(zhuǎn)置RAM配置成當(dāng)正在處理列數(shù)據(jù)時(shí)存儲(chǔ)行數(shù)據(jù),以及其中把所述轉(zhuǎn)置RAM配置成當(dāng)正在處理行數(shù)據(jù)時(shí)存儲(chǔ)列數(shù)據(jù)。
6.如權(quán)利要求5所述的設(shè)備,其特征在于,把所述轉(zhuǎn)置RAM配置成存儲(chǔ)經(jīng)編碼數(shù)據(jù)的兩個(gè)塊。
7.如權(quán)利要求5所述的設(shè)備,進(jìn)一步包括耦合到所述保持寄存器的寫入多路復(fù)用器,其特征在于,把所述寫入多路復(fù)用器配置成對(duì)數(shù)據(jù)元素進(jìn)行再排序以完成一維變換。
8.如權(quán)利要求1所述的設(shè)備,其特征在于,所述反饋回路允許再使用相同的部件而不管塊大小。
9.如權(quán)利要求1所述的設(shè)備,其特征在于,所述反饋回路允許再使用相同的部件而不管變換的類型。
10.如權(quán)利要求1所述的設(shè)備,其特征在于,所述反饋回路允許再使用相同的部件而不管數(shù)學(xué)運(yùn)算。
11.如權(quán)利要求1所述的設(shè)備,進(jìn)一步包括耦合到所述反饋回路的控制序列發(fā)生器,其特征在于,把所述控制序列發(fā)生器配置成使能或禁用所述反饋回路。
12.如權(quán)利要求11所述的設(shè)備,其特征在于,所述控制序列發(fā)生器把唯一的系數(shù)乘法器提供給所述蝶形處理器。
13.如權(quán)利要求12所述的設(shè)備,其特征在于,所述唯一的系數(shù)乘法器是基于B.G.Lee的算法。
14.如權(quán)利要求11所述的設(shè)備,其特征在于,所述控制序列發(fā)生器根據(jù)預(yù)定事件使能所述輸入寄存器中的某一些。
15.如權(quán)利要求11所述的設(shè)備,其特征在于,所述控制序列發(fā)生器根據(jù)預(yù)定準(zhǔn)則使能啟動(dòng)所述蝶形處理器中的某一些。
16.如權(quán)利要求11所述的設(shè)備,其特征在于,所述控制序列發(fā)生器根據(jù)預(yù)定準(zhǔn)則使能所述中間寄存器中的某一些。
17.如權(quán)利要求11所述的設(shè)備,其特征在于,所述控制序列發(fā)生器根據(jù)預(yù)定準(zhǔn)則使能所述輸出寄存器中的某一些。
18.如權(quán)利要求1所述的設(shè)備,其特征在于,所述數(shù)學(xué)運(yùn)算是來(lái)自包括加、乘和減的組。
19.如權(quán)利要求1所述的設(shè)備,其特征在于,每個(gè)所述蝶形處理器執(zhí)行一維變換的一部分。
20.如權(quán)利要求1所述的設(shè)備,其特征在于,計(jì)算所述經(jīng)編碼數(shù)據(jù)的塊的變換作為一系列一維變換被計(jì)算。
21.確定經(jīng)編碼數(shù)據(jù)的塊的變換的一種設(shè)備,所述經(jīng)編碼數(shù)據(jù)的塊能夠作為行數(shù)據(jù)和列數(shù)據(jù)來(lái)表示,每個(gè)行和列包括多個(gè)數(shù)據(jù)元素,所述設(shè)備包括配置成存儲(chǔ)經(jīng)編碼數(shù)據(jù)的塊的轉(zhuǎn)置隨機(jī)存取存儲(chǔ)器(RAM);耦合到所述轉(zhuǎn)置RAM的至少一個(gè)輸入寄存器,把所述輸入寄存器配置成接收來(lái)自所述轉(zhuǎn)置RAM的數(shù)據(jù)的列;耦合到所述輸入寄存器的至少一個(gè)蝶形處理器,把所述蝶形處理器配置成在所選擇的來(lái)自列數(shù)據(jù)的數(shù)據(jù)元素對(duì)上執(zhí)行一維變換的一部分以產(chǎn)生第一階列數(shù)據(jù)的輸出;耦合到所述蝶形處理器的至少一個(gè)中間寄存器,把所述中間寄存器配置成臨時(shí)存儲(chǔ)第一階列數(shù)據(jù);以及耦合到所述中間寄存器和所述蝶形處理器的反饋回路,其中,如果使能的話,把所述反饋回路配置成把所選擇的第一階列數(shù)據(jù)的數(shù)據(jù)元素傳遞到所述蝶形處理器以執(zhí)行一維變換的附加部分,其中如果禁用的話,則把它配置成把列數(shù)據(jù)傳遞到所述轉(zhuǎn)置RAM;其中把輸入寄存器配置成接收來(lái)自所述轉(zhuǎn)置RAM的數(shù)據(jù)的行,把蝶形處理器配置成在所選擇來(lái)自數(shù)據(jù)的行的數(shù)據(jù)元素對(duì)上執(zhí)行一維變換的一部分,以產(chǎn)生第一階行數(shù)據(jù)的輸出,把中間寄存器配置成臨時(shí)存儲(chǔ)第一階行數(shù)據(jù),把反饋回路配置成把第一階行數(shù)據(jù)的所選擇的數(shù)據(jù)元素傳遞到蝶形處理器以執(zhí)行一維變換的附加部分,其中如果禁用的話,則把它配置成把行數(shù)據(jù)傳遞到輸出寄存器。
22.如權(quán)利要求21所述的設(shè)備,其特征在于,根據(jù)在列或行數(shù)據(jù)上完成一維變換而禁用所述反饋回路。
23.如權(quán)利要求21所述的設(shè)備,進(jìn)一步包括耦合到所述反饋回路和所述中間寄存器的至少一個(gè)輸入多路復(fù)用器,其特征在于,把每個(gè)輸入多路復(fù)用器配置成臨時(shí)選擇數(shù)據(jù)元素和把數(shù)據(jù)元素傳遞到合適的蝶形處理器。
24.如權(quán)利要求21所述的設(shè)備,進(jìn)一步包括耦合到所述蝶形處理器和所述中間寄存器的至少一個(gè)輸出多路復(fù)用器,其特征在于,把每個(gè)輸出多路復(fù)用器配置成臨時(shí)選擇數(shù)據(jù)元素和把數(shù)據(jù)元素傳遞到合適的中間寄存器。
25.如權(quán)利要求21所述的設(shè)備,其特征在于,從下述組中選擇所述變換,所述組包括離散余弦變換(DCT)、差分四元樹變換(DQT)、離散余弦反變換(IDCT)以及差分四元樹反變換(IDQT)。
26.如權(quán)利要求21所述的設(shè)備,其特征在于,配置所述轉(zhuǎn)置RAM以存儲(chǔ)所述經(jīng)編碼數(shù)據(jù)的兩個(gè)塊。
27.如權(quán)利要求21所述的設(shè)備,進(jìn)一步包括耦合到保持寄存器的寫入多路復(fù)用器,其特征在于,把所述寫入多路復(fù)用器配置成對(duì)數(shù)據(jù)元素進(jìn)行再排序使得完成了一維變換。
28.如權(quán)利要求21所述的設(shè)備,其特征在于,所述反饋回路允許再使用相同的部件而不管塊大小、變換的類型或數(shù)學(xué)運(yùn)算的類型。
29.如權(quán)利要求21所述的設(shè)備,進(jìn)一步包括耦合到所述反饋回路的控制序列發(fā)生器,其特征在于,把所述控制序列發(fā)生器配置成使能或禁用所述反饋回路。
30.如權(quán)利要求29所述的設(shè)備,其特征在于,所述控制序列發(fā)生器把唯一的系數(shù)乘法器提供給所述蝶形處理器。
31.如權(quán)利要求29所述的設(shè)備,其特征在于,所述唯一的系數(shù)乘法器是基于B.G.Lee的算法。
32.如權(quán)利要求29所述的設(shè)備,其特征在于,所述控制序列發(fā)生器根據(jù)預(yù)定則使能所述輸入寄存器、所述蝶形處理器、所述中間寄存器或所述輸出寄存器中的某一些。
33.如權(quán)利要求21所述的設(shè)備,其特征在于,所述數(shù)學(xué)運(yùn)算是來(lái)自包括加、乘和減的組。
34.如權(quán)利要求21所述的設(shè)備,其特征在于,每個(gè)所述蝶形處理器執(zhí)行一維變換的一部分。
35.如權(quán)利要求21所述的設(shè)備,其特征在于,計(jì)算所述經(jīng)編碼數(shù)據(jù)的塊的變換作為一系列一維變換被計(jì)算。
36.在經(jīng)編碼數(shù)據(jù)的塊上執(zhí)行作為N個(gè)一維變換的級(jí)聯(lián)的N維變換的一種設(shè)備,所述經(jīng)編碼數(shù)據(jù)包括多個(gè)數(shù)據(jù)元素,所述設(shè)備包括耦合到輸入寄存器的蝶形處理器的簇,把每個(gè)蝶形處理器配置成在所選擇的數(shù)據(jù)元素對(duì)上執(zhí)行一維變換的一部分,以產(chǎn)生包括多個(gè)經(jīng)部分處理的數(shù)據(jù)元素的部分經(jīng)處理的數(shù)據(jù)輸出;耦合到每個(gè)蝶形處理器的至少一個(gè)中間寄存器,把所述中間寄存器配置成臨時(shí)存儲(chǔ)部分經(jīng)處理的數(shù)據(jù);以及耦合到所述中間寄存器和所述蝶形處理器的反饋回路,其中按需要使能反饋回路,以通過(guò)選擇路線把所選擇的經(jīng)部分處理的數(shù)據(jù)元素對(duì)傳遞到合適的蝶形處理器,以執(zhí)行一維變換的附加部分直到完成一維變換。
37.如權(quán)利要求36所述的設(shè)備,其特征在于,從下述組中選擇所述變換,所述組包括離散余弦變換(DCT)、差分四元樹變換(DQT)、離散余弦反變換(IDCT)以及差分四元樹反變換(IDQT)。
38.如權(quán)利要求36所述的設(shè)備,其特征在于,可以把所述經(jīng)編碼數(shù)據(jù)的塊表示為行數(shù)據(jù)和列數(shù)據(jù),并且進(jìn)一步包括耦合到輸入寄存器的轉(zhuǎn)置只讀存儲(chǔ)器(RAM),其中配置所述轉(zhuǎn)置RAM以當(dāng)正在處理列數(shù)據(jù)時(shí)存儲(chǔ)行數(shù)據(jù),其中配置所述轉(zhuǎn)置RAM以當(dāng)正在處理行數(shù)據(jù)時(shí)存儲(chǔ)列數(shù)據(jù)。
39.如權(quán)利要求38所述的設(shè)備,其特征在于,配置所述轉(zhuǎn)置RAM以存儲(chǔ)所述經(jīng)編碼數(shù)據(jù)的兩個(gè)塊。
40.如權(quán)利要求36所述的設(shè)備,其特征在于,所述反饋回路允許再使用相同的部件而不管塊大小、變換的類型或數(shù)學(xué)運(yùn)算的類型。
41.如權(quán)利要求36所述的設(shè)備,進(jìn)一步包括耦合到所述反饋回路的控制序列發(fā)生器,其特征在于,把所述控制序列發(fā)生器配置成使能或禁用所述反饋回路。
42.如權(quán)利要求41所述的設(shè)備,其特征在于,所述控制序列發(fā)生器把唯一的系數(shù)乘法器提供給所述蝶形處理器。
43.如權(quán)利要求42所述的設(shè)備,其特征在于,所述唯一的系數(shù)乘法器是基于B.G.Lee的算法。
44.如權(quán)利要求41所述的設(shè)備,其特征在于,所述控制序列發(fā)生器根據(jù)預(yù)定準(zhǔn)收使能所述輸入寄存器、所述蝶形處理器、所述中間寄存器或所述輸出寄存器中的某一些。
45.確定經(jīng)編碼數(shù)據(jù)的塊的離散余弦反變換的一種設(shè)備,所述經(jīng)編碼數(shù)據(jù)的塊包括多個(gè)數(shù)據(jù)元素,所述設(shè)備包括輸入寄存器,配置成接收預(yù)定量的數(shù)據(jù)元素;耦合到所述輸入寄存器的至少一個(gè)蝶形處理器,把所述蝶形處理器配置成在所選擇的數(shù)據(jù)元素對(duì)上執(zhí)行至少一種數(shù)學(xué)運(yùn)算以產(chǎn)生經(jīng)處理數(shù)據(jù)元素的輸出;耦合到所述蝶形處理器的至少一個(gè)中間寄存器,把所述中間寄存器配置成臨時(shí)存儲(chǔ)經(jīng)處理的數(shù)據(jù);以及耦合到所述中間寄存器和所述蝶形處理器的反饋回路,其中,如果使能的話,把所述反饋回路配置成把經(jīng)處理數(shù)據(jù)元素的第一部分傳遞到合適的蝶形處理器以執(zhí)行附加的數(shù)學(xué)運(yùn)算,其中如果禁用的話,則把它配置成把經(jīng)處理數(shù)據(jù)元素的第二部分傳遞到至少一個(gè)保持寄存器;其中把所述保持寄存器配置成存儲(chǔ)經(jīng)處理數(shù)據(jù)直到處理了所有第一部分?jǐn)?shù)據(jù)元素。
46.確定經(jīng)編碼數(shù)據(jù)的塊的變換的一種設(shè)備,所述經(jīng)編碼數(shù)據(jù)的塊能夠作為行數(shù)據(jù)和列數(shù)據(jù)來(lái)表示,每個(gè)行和列包括多個(gè)數(shù)據(jù)元素,所述設(shè)備包括配置成存儲(chǔ)經(jīng)編碼數(shù)據(jù)的塊的轉(zhuǎn)置隨機(jī)存取存儲(chǔ)器(RAM);耦合到所述轉(zhuǎn)置RAM的至少一個(gè)輸入寄存器,把所述輸入寄存器配置成接收來(lái)自所述轉(zhuǎn)置RAM的數(shù)據(jù)的列;耦合到所述輸入寄存器的至少一個(gè)蝶形處理器,把所述蝶形處理器配置成在所選擇的來(lái)自列數(shù)據(jù)的數(shù)據(jù)元素對(duì)上執(zhí)行第一階變換的一部分以產(chǎn)生第一階列數(shù)據(jù)的輸出;耦合到所述蝶形處理器的至少一個(gè)中間寄存器,把所述中間寄存器配置成臨時(shí)存儲(chǔ)第一階列數(shù)據(jù);以及耦合到所述中間寄存器和所述蝶形處理器的反饋回路,其中,如果使能的話,把所述反饋回路配置成把所選擇的第一階列數(shù)據(jù)的數(shù)據(jù)元素傳遞到所述蝶形處理器以執(zhí)行附加的變換,其中如果禁用的話,則把它配置成把列數(shù)據(jù)傳遞到所述轉(zhuǎn)置RAM;以及耦合到所述反饋回路的控制序列發(fā)生器,其中把所述控制序列發(fā)生器配置成使能或禁用所述反饋回路,其中把輸入寄存器配置成接收來(lái)自所述轉(zhuǎn)置RAM的數(shù)據(jù)的行,把蝶形處理器配置成在所選擇的來(lái)自數(shù)據(jù)的行的數(shù)據(jù)元素對(duì)上執(zhí)行第一階變換,以產(chǎn)生第一階行數(shù)據(jù)的輸出,把中間寄存器配置成臨時(shí)存儲(chǔ)第一階行數(shù)據(jù),把反饋回路配置成把所選擇的第一階行數(shù)據(jù)的數(shù)據(jù)元素傳遞到蝶形處理器以執(zhí)行附加的變換,其中如果禁用的話,則把它配置成把行數(shù)據(jù)傳遞到輸出寄存器。
47.確定經(jīng)編碼數(shù)據(jù)的塊的變換的一種方法,所述經(jīng)編碼數(shù)據(jù)的塊包括多個(gè)數(shù)據(jù)元素,所述方法包括(a)接收預(yù)定量的數(shù)據(jù)元素;(b)所選擇的在數(shù)據(jù)元素對(duì)上執(zhí)行至少一種數(shù)學(xué)運(yùn)算以產(chǎn)生經(jīng)處理數(shù)據(jù)元素的輸出;(c)作出任何經(jīng)處理的數(shù)據(jù)元素是否需要附加的數(shù)學(xué)運(yùn)算的確定;(d)選擇需要附加數(shù)學(xué)運(yùn)算的經(jīng)處理數(shù)據(jù)元素的第一部分;(e)選擇不需要附加數(shù)學(xué)運(yùn)算的經(jīng)處理數(shù)據(jù)元素的第二部分;(f)在所選擇的經(jīng)處理數(shù)據(jù)元素的第一部分對(duì)上執(zhí)行至少一種數(shù)學(xué)運(yùn)算以產(chǎn)生經(jīng)處理數(shù)據(jù)元素的第二輸出;以及(g)存儲(chǔ)經(jīng)處理數(shù)據(jù)元素的第二部分直到處理了數(shù)據(jù)元素的所有第一部分。
48.如權(quán)利要求47所述的方法,其特征在于,進(jìn)一步包括(h)按需要重復(fù)步驟(c)、(d)、(e)、(f)和(g)。
49.如權(quán)利要求47所述的方法,其特征在于,進(jìn)一步包括(i)當(dāng)經(jīng)編碼數(shù)據(jù)的塊的所有數(shù)據(jù)元素不需要附加的數(shù)學(xué)運(yùn)算時(shí),輸出經(jīng)編碼數(shù)據(jù)的塊。
50.如權(quán)利要求47所述的方法,其特征在于,從下述組中選擇所述變換,所述組包括離散余弦變換(DCT)、差分四元樹變換(DQT)、離散余弦反變換(IDCT)以及差分四元樹反變換(IDQT)。
51.如權(quán)利要求47所述的方法,其特征在于,可以把經(jīng)編碼數(shù)據(jù)的塊表示為行數(shù)據(jù)和列數(shù)據(jù),并且進(jìn)一步包括當(dāng)正在處理列數(shù)據(jù)時(shí),存儲(chǔ)行數(shù)據(jù);以及當(dāng)正在處理行數(shù)據(jù)時(shí),存儲(chǔ)列數(shù)據(jù)。
52.如權(quán)利要求47所述的方法,其特征在于,進(jìn)一步包括在存儲(chǔ)步驟之前對(duì)數(shù)據(jù)元素進(jìn)行再排序,使得以有效的方式執(zhí)行數(shù)據(jù)元素的后續(xù)的傳遞。
53.如權(quán)利要求47所述的方法,其特征在于,進(jìn)一步包括根據(jù)預(yù)定準(zhǔn)則控制步驟(a)、(b)、(c)、(d)、(e)、(f)、(g)和(h)。
54.如權(quán)利要求53所述的方法,其特征在于,進(jìn)一步包括根據(jù)預(yù)定準(zhǔn)則把唯一的系數(shù)乘法器提供給某些數(shù)據(jù)元素。
55.如權(quán)利要求54所述的設(shè)備,其特征在于,所述唯一的系數(shù)乘法器是基于B.G.Lee的算法。
56.如權(quán)利要求47所述的方法,其特征在于,所述數(shù)學(xué)運(yùn)算是來(lái)自包括加、乘和減的組的。
57.如權(quán)利要求47所述的方法,其特征在于,每個(gè)所述蝶形處理器執(zhí)行一維變換的一部分。
58.如權(quán)利要求47所述的設(shè)備,其特征在于,計(jì)算所述經(jīng)編碼數(shù)據(jù)的塊的變換作為一系列一維變換而被計(jì)算。
59.一種計(jì)算機(jī)可讀出媒體,包括用于控制計(jì)算機(jī)系統(tǒng)執(zhí)行一種方法的結(jié)構(gòu),所述方法包括(a)接收預(yù)定量的數(shù)據(jù)元素;(b)所選擇的在數(shù)據(jù)元素對(duì)上執(zhí)行至少一種數(shù)學(xué)運(yùn)算以產(chǎn)生經(jīng)處理數(shù)據(jù)元素的輸出;(c)作出任何經(jīng)處理的數(shù)據(jù)元素是否需要附加的數(shù)學(xué)運(yùn)算的確定;(d)選擇需要附加數(shù)學(xué)運(yùn)算的經(jīng)處理數(shù)據(jù)元素的第一部分;(e)選擇不需要附加數(shù)學(xué)運(yùn)算的經(jīng)處理數(shù)據(jù)元素的第二部分;(f)在經(jīng)處理數(shù)據(jù)元素的第一部分的所選擇的對(duì)上執(zhí)行至少一種數(shù)學(xué)運(yùn)算以產(chǎn)生經(jīng)處理數(shù)據(jù)元素的第二輸出;以及(g)存儲(chǔ)經(jīng)處理數(shù)據(jù)元素的第二部分直到處理了數(shù)據(jù)元素的所有第一部分。
60.確定經(jīng)編碼數(shù)據(jù)的塊的變換的一種設(shè)備,經(jīng)編碼數(shù)據(jù)的塊包括多個(gè)數(shù)據(jù)元素,所述設(shè)備包括(a)一種裝置,用于接收預(yù)定量的數(shù)據(jù)元素;(b)一種裝置,用于在所選擇的數(shù)據(jù)元素對(duì)上執(zhí)行至少一種數(shù)學(xué)運(yùn)算以產(chǎn)生經(jīng)處理數(shù)據(jù)元素的輸出;(c)一種裝置,用于作出任何經(jīng)處理的數(shù)據(jù)元素是否需要附加的數(shù)學(xué)運(yùn)算的確定;(d)一種裝置,用于選擇需要附加數(shù)學(xué)運(yùn)算的經(jīng)處理數(shù)據(jù)元素的第一部分;(e)一種裝置,用于選擇不需要附加數(shù)學(xué)運(yùn)算的經(jīng)處理數(shù)據(jù)元素的第二部分;(f)一種裝置,用于在所選擇的經(jīng)處理數(shù)據(jù)元素的第一部分對(duì)上執(zhí)行至少一種數(shù)學(xué)運(yùn)算以產(chǎn)生經(jīng)處理數(shù)據(jù)元素的第二輸出;以及(g)一種裝置,用于存儲(chǔ)經(jīng)處理數(shù)據(jù)元素的第二部分直到處理了數(shù)據(jù)元素的所有第一部分。
61.如權(quán)利要求47所述的設(shè)備,其特征在于,進(jìn)一步包括(h)一種裝置,用于按需要重復(fù)步驟(c)、(d)、(e)、(f)和(g)。
62.如權(quán)利要求47所述的設(shè)備,其特征在于,進(jìn)一步包括(i)一種裝置,用于當(dāng)經(jīng)編碼數(shù)據(jù)的塊的所有數(shù)據(jù)元素不需要附加的數(shù)學(xué)運(yùn)算時(shí),輸出經(jīng)編碼數(shù)據(jù)數(shù)據(jù)的塊。
63.如權(quán)利要求47所述的設(shè)備,其特征在于,從下述組中選擇所述變換,所述組包括離散余弦變換(DCT)、差分四元樹變換(DQT)、離散余弦反變換(IDCT)以及差分四元樹反變換(IDQT)。
64.如權(quán)利要求47所述的設(shè)備,其特征在于,可以把經(jīng)編碼數(shù)據(jù)的塊表示為行數(shù)據(jù)和列數(shù)據(jù),并且進(jìn)一步包括一種裝置,用于當(dāng)正在處理列數(shù)據(jù)時(shí),存儲(chǔ)行數(shù)據(jù);以及一種裝置,用于當(dāng)正在處理行數(shù)據(jù)時(shí),存儲(chǔ)列數(shù)據(jù)。
65.如權(quán)利要求47所述的設(shè)備,其特征在于,進(jìn)一步包括一種裝置,用于在存儲(chǔ)步驟之前對(duì)數(shù)據(jù)元素進(jìn)行再排序,使得以有效的方式執(zhí)行數(shù)據(jù)元素的后續(xù)的傳遞。
66.如權(quán)利要求47所述的設(shè)備,其特征在于,進(jìn)一步包括一種裝置,用于根據(jù)預(yù)定準(zhǔn)則控制單元(a)、(b)、(c)、(d)、(e)、(f)、(g)和(h)。
67.如權(quán)利要求66所述的設(shè)備,其特征在于,進(jìn)一步包括根據(jù)預(yù)定準(zhǔn)則把唯一的系數(shù)乘法器提供給某些數(shù)據(jù)元素。
68.如權(quán)利要求67所述的方設(shè)備,其特征在于,所述唯一的系數(shù)乘法器是基于B.G.Lee的算法。
69.如權(quán)利要求60所述的設(shè)備,其特征在于,所述數(shù)學(xué)運(yùn)算是來(lái)自包括加、乘和減的組的。
70.如權(quán)利要求60所述的設(shè)備,其特征在于,每個(gè)所述蝶形處理器執(zhí)行一維變換的一部分。
71.確定經(jīng)編碼數(shù)據(jù)的變換的一種設(shè)備,所述經(jīng)編碼數(shù)據(jù)包括象素域中的多個(gè)數(shù)據(jù)元素,所述設(shè)備包括配置成接收多個(gè)數(shù)據(jù)元素和把數(shù)據(jù)元素分組成象素域中的數(shù)據(jù)元素的多個(gè)組的塊大小分配器;配置成把數(shù)據(jù)元素從象素域變換到頻域的DCT/DQT變換器,所述變換器進(jìn)一步包括輸入寄存器,配置成接收所述組的預(yù)定量的數(shù)據(jù)元素;耦合到所述輸入寄存器的至少一個(gè)蝶形處理器,把所述蝶形處理器配置成在所選擇的數(shù)據(jù)元素對(duì)上執(zhí)行至少一種數(shù)學(xué)運(yùn)算以產(chǎn)生經(jīng)處理數(shù)據(jù)元素的輸出;耦合到所述蝶形處理器的至少一個(gè)中間寄存器,把所述中間寄存器配置成臨時(shí)存儲(chǔ)經(jīng)處理的數(shù)據(jù);以及耦合到所述中間寄存器和所述蝶形處理器的反饋回路,其中,如果使能的話,把所述反饋回路配置成把經(jīng)處理數(shù)據(jù)元素的第一部分傳遞到合適的蝶形處理器以執(zhí)行附加的數(shù)學(xué)運(yùn)算,其中如果禁用的話,則把它配置成把經(jīng)處理數(shù)據(jù)元素的第二部分傳遞到至少一個(gè)保持寄存器;其中把所述保持寄存器配置成存儲(chǔ)經(jīng)處理數(shù)據(jù)直到處理了所有第一部分?jǐn)?shù)據(jù)元素;量化器,配置成對(duì)頻域元素進(jìn)行量化,以突出對(duì)于人的視覺(jué)系統(tǒng)更敏感的那些元素,并且使對(duì)于人的視覺(jué)系統(tǒng)較不敏感的那些元素不突出;串行化器,配置成產(chǎn)生頻域元素的串行化流;以及可變長(zhǎng)度編碼器,配置成確定連續(xù)頻域元素和不連續(xù)頻域元素。
72.如權(quán)利要求71所述的設(shè)備,其特征在于,進(jìn)一步包括耦合所述反饋回路和所述中間寄存器的至少一個(gè)輸入多路復(fù)用器,其中把每個(gè)輸入多路復(fù)用器配置成臨時(shí)選擇數(shù)據(jù)元素和把數(shù)據(jù)元素傳遞到合適的蝶形處理器。
73.如權(quán)利要求71所述的設(shè)備,其特征在于,進(jìn)一步包括耦合所述蝶形處理器和所述中間寄存器的至少一個(gè)輸出多路復(fù)用器,其中把每個(gè)輸出多路復(fù)用器配置成臨時(shí)選擇數(shù)據(jù)元素和把數(shù)據(jù)元素傳遞到合適的中間寄存器。
74.如權(quán)利要求71所述的設(shè)備,其特征在于,可以把經(jīng)編碼數(shù)據(jù)的塊表示為行數(shù)據(jù)和列數(shù)據(jù),并且進(jìn)一步包括耦合到輸入寄存器的轉(zhuǎn)置隨機(jī)存取存儲(chǔ)器(RAM),其中把所述轉(zhuǎn)置RAM配置成當(dāng)正在處理列數(shù)據(jù)時(shí),存儲(chǔ)行數(shù)據(jù);以及當(dāng)正在處理行數(shù)據(jù)時(shí),存儲(chǔ)列數(shù)據(jù)。
75.如權(quán)利要求74所述的設(shè)備,其特征在于,把所述轉(zhuǎn)置RAM配置成存儲(chǔ)經(jīng)編碼數(shù)據(jù)的兩個(gè)塊。
76.如權(quán)利要求74所述的設(shè)備,進(jìn)一步包括耦合到所述保持寄存器的寫入多路復(fù)用器,其特征在于,把所述寫入多路復(fù)用器配置成對(duì)數(shù)據(jù)元素進(jìn)行再排序以完成一維變換。
77.如權(quán)利要求71所述的設(shè)備,其特征在于,所述反饋回路允許再使用相同的部件而不管塊大小。
78.如權(quán)利要求71所述的設(shè)備,其特征在于,進(jìn)一步包括耦合到所述反饋回路的控制序列發(fā)生器,其特征在于,把所述控制序列發(fā)生器配置成使能或禁用所述反饋回路。
79.如權(quán)利要求78所述的設(shè)備,其特征在于,所述控制序列發(fā)生器把唯一的系數(shù)乘法器提供給所述蝶形處理器。
80.如權(quán)利要求78所述的設(shè)備,其特征在于,所述控制序列發(fā)生器根據(jù)預(yù)定事件使能所述輸入寄存器中的某一些。
81.如權(quán)利要求78所述的設(shè)備,其特征在于,所述控制序列發(fā)生器根據(jù)預(yù)定準(zhǔn)則使能所述蝶形處理器中的某一些。
82.如權(quán)利要求78所述的設(shè)備,其特征在于,所述控制序列發(fā)生器根據(jù)預(yù)定準(zhǔn)則使能所述中間寄存器中的某一些。
83.如權(quán)利要求78所述的設(shè)備,其特征在于,所述控制序列發(fā)生器根據(jù)預(yù)定準(zhǔn)則使能所述輸出寄存器中的某一些。
84.如權(quán)利要求71所述的設(shè)備,其特征在于,所述數(shù)學(xué)運(yùn)算是來(lái)自包括加、乘和減的組。
85.如權(quán)利要求71所述的設(shè)備,其特征在于,每個(gè)所述蝶形處理器執(zhí)行一維變換的一部分。
86.把經(jīng)編碼數(shù)據(jù)從象素域變換到頻域的一種方法,所述經(jīng)編碼數(shù)據(jù)包括多個(gè)數(shù)據(jù)元素,所述方法包括(a)把象素域中的多個(gè)數(shù)據(jù)元素分組成多個(gè)塊,每個(gè)塊包括象素域中的多個(gè)數(shù)據(jù)元素;(b)在所選擇的對(duì)上執(zhí)行至少一種數(shù)學(xué)運(yùn)算以產(chǎn)生經(jīng)處理的數(shù)據(jù)元素?cái)?shù)據(jù)元素的輸出;(c)作出任何經(jīng)處理的數(shù)據(jù)元素是否需要附加的數(shù)學(xué)運(yùn)算的確定;(d)選擇需要附加數(shù)學(xué)運(yùn)算的經(jīng)處理數(shù)據(jù)元素的第一部分;(e)選擇不需要附加數(shù)學(xué)運(yùn)算的經(jīng)處理數(shù)據(jù)元素的第二部分;(f)在所選擇的經(jīng)處理數(shù)據(jù)元素的第一部分對(duì)上執(zhí)行至少一種數(shù)學(xué)運(yùn)算以產(chǎn)生經(jīng)處理數(shù)據(jù)元素的第二輸出;(g)存儲(chǔ)經(jīng)處理的數(shù)據(jù)元素的第二部分直到處理了數(shù)據(jù)元素的所有第一部分;(h)按需要重復(fù)步驟(c)、(d)、(e)、(f)和(g)直到所有數(shù)據(jù)元素不需要附加的數(shù)學(xué)運(yùn)算,并被轉(zhuǎn)換成頻域元素。(i)對(duì)頻域數(shù)據(jù)元素進(jìn)行量化,以突出于人的視覺(jué)系統(tǒng)更敏感的那些元素,并且使對(duì)于人的視覺(jué)系統(tǒng)較不敏感的那些元素不突出;(j)使經(jīng)量化的頻域元串行化以產(chǎn)生頻域元的串行化流;以及(k)對(duì)經(jīng)串行化的頻域元進(jìn)行編碼,以判定連續(xù)頻域元和不連續(xù)頻域元。
87.如權(quán)利要求86所述的方法,其特征在于,可以把經(jīng)編碼數(shù)據(jù)的塊表示為行數(shù)據(jù)和列數(shù)據(jù),并且進(jìn)一步包括當(dāng)正在處理列數(shù)據(jù)時(shí),存儲(chǔ)行數(shù)據(jù);以及當(dāng)正在處理行數(shù)據(jù)時(shí),存儲(chǔ)列數(shù)據(jù)。
88.如權(quán)利要求86所述的方法,其特征在于,進(jìn)一步包括根據(jù)所需要控制信號(hào)控制步驟(a)、(b)、(c)、(d)、(e)、(f)、(g)和(h)。
89.如權(quán)利要求88所述的方法,其特征在于,進(jìn)一步包括根據(jù)預(yù)定準(zhǔn)則把唯一的系數(shù)乘法器提供給某些數(shù)據(jù)元素。
90.如權(quán)利要求86所述的方法,其特征在于,每個(gè)所述蝶形處理器執(zhí)行一維變換的一部分。
91.如權(quán)利要求86所述的方法,其特征在于,計(jì)算經(jīng)編碼數(shù)據(jù)的塊的變換作為一系列一維變換被計(jì)算。
全文摘要
確定經(jīng)編碼數(shù)據(jù)的塊的變換的一種設(shè)備,所述經(jīng)編碼數(shù)據(jù)的塊包括多個(gè)數(shù)據(jù)元素。配置輸入寄存器以接收預(yù)定量的數(shù)據(jù)元素。把至少一個(gè)蝶形處理器耦合到輸入寄存器,并把所述蝶形處理器配置成在所選擇的數(shù)據(jù)元素對(duì)上執(zhí)行至少一種數(shù)學(xué)運(yùn)算以產(chǎn)生經(jīng)處理數(shù)據(jù)元素的輸出。把至少一個(gè)中間寄存器耦合到所述蝶形處理器,并且配置成臨時(shí)存儲(chǔ)經(jīng)處理的數(shù)據(jù)。把反饋回路耦合到中間寄存器和所述蝶形處理器,并且如果使能的話,則把反饋回路配置成把經(jīng)處理數(shù)據(jù)元素的第一部分傳遞到合適的蝶形處理器以執(zhí)行附加的數(shù)學(xué)運(yùn)算,其中如果禁用的話,則把經(jīng)處理的數(shù)據(jù)元素的第二部分傳遞到至少一個(gè)保持寄存器。
文檔編號(hào)G06F7/00GK1518706SQ02810009
公開(kāi)日2004年8月4日 申請(qǐng)日期2002年5月15日 優(yōu)先權(quán)日2001年5月16日
發(fā)明者J·拉勞卡, C·A·額維尼, J·A·萊文, J 拉勞卡, 萊文, 額維尼 申請(qǐng)人:高通股份有限公司