两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

減少傳輸圖形數(shù)據(jù)的頻寬需求的系統(tǒng)與方法

文檔序號:7654312閱讀:193來源:國知局
專利名稱:減少傳輸圖形數(shù)據(jù)的頻寬需求的系統(tǒng)與方法
技術(shù)領(lǐng)域
本發(fā)明是有關(guān)于圖像數(shù)據(jù)壓縮,更特別是指一種z軸數(shù)據(jù)壓縮與編碼的系統(tǒng)與方法。
背景技術(shù)
如本領(lǐng)域技術(shù)人員所知,藝術(shù)與科學(xué)上的3D計算機圖像是由3D物體的2D圖像所產(chǎn)生或繪制,再呈現(xiàn)于顯示裝置(如陰極射線管顯示器或液晶顯示器)上。此物體可能為簡單的幾何基元(primitive),例如點、線、三角形、或是多邊形。許多復(fù)雜的物體可以由一連串相連的平面多邊形代表而繪制于顯示裝置上,舉例來說,此物體可由一連串相連的平面三角形來代表。所有幾何基元可能最后都以一個頂點或一組頂點來表示,舉例而言,坐標(biāo)(x,y,z)可能定義成一個點,或是一條線的端點,或是多邊形的一角。
為了產(chǎn)生一組數(shù)據(jù)讓一個3D基元的2D投影顯示于計算機監(jiān)示器或其它顯示裝置,此基元的頂點將在繪圖管線(pipeline)中經(jīng)過一連串的運算或是階段。一個基本的管線僅是一連串處理單元或階段的迭合,把前一個階段的輸出當(dāng)成下一個階段的輸入。舉例來說,在一個圖形處理器中處理階段包括有頂點運算、基元組合運算、像素運算、紋理組合運算、描繪運算、以及碎形運算。
在典型圖形顯示系統(tǒng)中,圖像數(shù)據(jù)庫(例如指令列)可存有場景的物體描述,這些物體被描述成覆蓋在其表面的數(shù)個小多邊形。同樣地,數(shù)個小區(qū)塊(tile)也可以同樣的方式覆蓋在一墻面或其它表面。每個多邊形被表示成一個表,包括有頂點坐標(biāo)(模形坐標(biāo)里的X軸坐標(biāo)、Y軸坐標(biāo)、Z軸坐標(biāo)),一些材質(zhì)表面特性的敘述(顏色、紋理、亮度等),還可能有每個頂點構(gòu)成的表面的正規(guī)向量。對于具有復(fù)雜曲度表面的3D物體而言,多邊形通常必須為三角形或四邊形,而后者還可被分解成一對三角形。
轉(zhuǎn)換引擎對應(yīng)使用者所輸出的視角轉(zhuǎn)換物體的坐標(biāo)。此外,使用者可設(shè)定視野,產(chǎn)生的圖像大小,以及后端的可見度,以視需要包含或移除背景。當(dāng)視野被選擇時,修剪邏輯電路便移除在視野外的多邊形(三角形),并修剪部分在視野外但部分在視野內(nèi)的多邊形。這些被修剪的多邊形將對應(yīng)到在視野內(nèi)的多邊形,并且其新邊將對應(yīng)到視野內(nèi)的邊。這些多邊形的頂點接著以對應(yīng)屏幕視野(X,Y坐標(biāo))和深度(Z坐標(biāo))的坐標(biāo)形式傳送至下一階段。在典型系統(tǒng)中,之后會有光源模型將光源納入考慮。多邊形的色彩值接著傳送至描繪器,描繪器系產(chǎn)生數(shù)個區(qū)塊的空白像素作為之后的可視性(visibility)決定,或隱藏表面的移除及剩余像素的紋理計算/著色。
圖1表示現(xiàn)今的隱藏表面移除(hidden surface removal)單元的實施方式,一般稱為z軸數(shù)據(jù)處理單元。如本領(lǐng)域技術(shù)人員所知,系統(tǒng)效能是經(jīng)由使用兩階段隱藏表面移除管線的實現(xiàn)而改善。在第一階段,ZL1單元處理一區(qū)塊內(nèi)多個像素的z軸數(shù)據(jù)。當(dāng)一區(qū)塊內(nèi)像素的z軸數(shù)據(jù)超過ZL1的格式范圍時,此z軸數(shù)據(jù)便必須以在像素z軸數(shù)據(jù)處理單元(有時稱為ZL2)中作像素層級處理。
ZL1和ZL2的名稱一般分別代表第一階Z暫存器和第二階Z暫存器。它們的名稱會依算法的類型而有所不同,例如超Z暫存器或階層式Z暫存器。此兩階Z單元實現(xiàn)允許較大像素圖塊的較高階深度數(shù)據(jù)儲存(如一個區(qū)塊),以及最小顆粒的深度數(shù)據(jù)儲存(如屏幕上的單一像素)。ZL1的優(yōu)點為減少繪圖管線中深度數(shù)據(jù)的計算復(fù)雜度。
區(qū)塊產(chǎn)生器100產(chǎn)生像素圖塊(如一個8乘8的方格)的區(qū)塊數(shù)據(jù)(亦即像素屏蔽),并傳送請求至ZL1快取104。區(qū)塊數(shù)據(jù)接著傳送至ZL1 102,ZL1 102耦接ZL1快取104,并在區(qū)塊層級定義可視度。若像素的z軸數(shù)據(jù)無法在ZL1102被處理的話,這些z軸數(shù)據(jù)將在像素層級的z軸數(shù)據(jù)處理單元ZL2 106被處理,ZL2 106耦接至ZL2快取108。在此設(shè)定下,ZL1 102可在一周期(cycle)中拒絕高達(dá)64個像素的處理,而未被拒絕的像素被標(biāo)示成已接受或再測試以減少ZL2 106的存儲器使用量。
隨著繪圖芯片的效能持續(xù)增加,當(dāng)執(zhí)行上述運算時,存儲器的頻寬需求變成整體效能的主要因素。根據(jù)摩爾定律(Moore’s Law),存儲器頻寬的增加通常落后于芯片運算能力的增加。于是,在許多例子中,系統(tǒng)中繪圖引擎的整體效能最終受限于圖像存儲器頻寬的可用量。當(dāng)內(nèi)部快取和數(shù)據(jù)壓縮方案用于解決存儲器頻寬受限的問題時,快取方式的效率高度相關(guān)于存儲器存取一致性。但是,其主要的問題在于,一個像素量相當(dāng)大的大型三角型基元不利于繪圖芯片內(nèi)的快取,故提供快取的方式幾乎變得無效。因此,一種前所未有的需求存在于業(yè)界中以解決上述的不足與缺陷。

發(fā)明內(nèi)容
減少傳輸圖像數(shù)據(jù)所需外部頻寬的一系統(tǒng)實施例,包括預(yù)測誤差計算器用以產(chǎn)生像素圖塊的z坐標(biāo)數(shù)據(jù)的預(yù)測誤差矩陣,位長度計算器用以計算儲存此預(yù)測誤差矩陣所需的總位數(shù),數(shù)據(jù)編碼器用以像此預(yù)測誤差矩陣編碼成壓縮區(qū)塊,以及封包器用以在單一運算中移動此壓縮區(qū)塊至外部存儲器位置。
尚有另一實施例包含減少圖像數(shù)據(jù)傳輸頻寬需求的系統(tǒng),包括解封包模塊用以從外部存儲器位置移動壓縮區(qū)塊并從此壓縮區(qū)塊解開預(yù)測誤差矩陣,以及加法樹用以導(dǎo)出像素圖塊。在一些實施例中,解封包模塊還包括跳脫序列解封包器用以解壓縮此預(yù)測誤差矩陣?yán)锏拿總€跳脫序列,解封包器用于從此壓縮區(qū)塊還原出此預(yù)測誤差矩陣,以及加法樹還原出此像素圖塊。
尚有減少圖像數(shù)據(jù)傳輸頻寬需求的一方法實施例,包括通過儲存每個像素圖塊的預(yù)測誤差而壓縮包含數(shù)個像素圖塊的圖像數(shù)據(jù),計算像素圖塊的位長度,對壓縮的z軸數(shù)據(jù)編碼成壓縮區(qū)塊,在單一運算中移動每個壓縮區(qū)塊至輸出總線,其中每個字組包含數(shù)個位,以及傳送這些數(shù)據(jù)從輸出總線至高速緩存供作往后還原之用。
本發(fā)明還提供一種減少傳輸圖形數(shù)據(jù)的頻寬需求的方法,包括從高速緩存?zhèn)魉蛪嚎s數(shù)據(jù)至解封包單元;在上述解封包單元對上述壓縮數(shù)據(jù)進(jìn)行解壓縮以取得像素圖塊內(nèi)每個像素的預(yù)測誤差;傳送上述預(yù)測誤差至加法樹;以及在上述加法樹里從上述預(yù)測誤差導(dǎo)出圖形數(shù)據(jù)。
其它本發(fā)明的系統(tǒng)、方法、技術(shù)特征,和/或優(yōu)點,本領(lǐng)域技術(shù)人員可由下列敘述及所附圖示得知。所有在本發(fā)明揭露范圍內(nèi)的其它的系統(tǒng)、方法、技術(shù)特征,和/或優(yōu)點,將受到伴隨的申請專利范圍所保護(hù)。


本發(fā)明所揭露的許多面向可由所附圖示作最好詮釋。圖標(biāo)所繪的元件并不按照比例,其用意在于清楚解釋本發(fā)明的原則。此外,在這些圖示中,相同的標(biāo)號表示相對應(yīng)的部分。雖然數(shù)個實施例相關(guān)于這些圖示,但這不意味著限制本發(fā)明于這些實施例中,相反地,這意味著有許多可能的替代方案、修改、或相等物。
圖1表示已知的z暫存器實施方式。
圖2表示z軸數(shù)據(jù)壓縮實施例的基本元件圖。
圖3A表示利用計算預(yù)測誤差來壓縮一區(qū)塊內(nèi)的z軸數(shù)據(jù)的一個實施例。
圖3B表示區(qū)塊內(nèi)不同像素的預(yù)算誤差。
圖4A表示計算儲存壓縮區(qū)塊所需位數(shù)的上層流程圖實施例。
圖4B表示代表8×8像素圖塊的壓縮區(qū)塊的的字段示意圖。
圖5為編碼程序中配置預(yù)測誤差與對應(yīng)的跳脫序列的上層流程圖實施例。
圖6A和6B為封包器和解封包器的代表實施例。
圖7為還原原始z軸數(shù)據(jù)在數(shù)個實施例中的上層流程圖。
圖8A說明圖像處理系統(tǒng)810的實施例的元件方塊圖。
圖8B表示有內(nèi)嵌或電性耦接圖形運算單元812的圖像處理系統(tǒng)810的實施例方?jīng)Q圖。
100~區(qū)塊產(chǎn)生器 102~ZL1104~ZL1快取 106~ZL2108~ZL2快取 202~z解編碼器204~預(yù)測誤差計算器 206~位長度計算器208~數(shù)據(jù)編碼器 210~暫存器212~封包器 214~第二階高速緩存216~跳脫序列解封包器 218~解封包器220~加法樹 810~圖像處理系統(tǒng)812~圖形運算單元 814~Z解編碼器816~預(yù)測誤差計算器 818~位長度計算器820~數(shù)據(jù)編碼器 822~封包器824~第二階高速緩存 826~解封包階段828~加法樹 830~運算裝置832~輸入/輸出接口834~存儲器836~顯示裝置 838~數(shù)據(jù)總線840~繪圖卡接口
具體實施例方式
本發(fā)明的多種實施方式將在以下用文字?jǐn)⑹霾殡S相關(guān)圖標(biāo)。當(dāng)所附圖標(biāo)用說明文字解釋時,并不意圖限制本發(fā)明于這些實施例中。相反地,其意圖涵蓋所附申請專利范圍的精神與范疇的許多替代方案、修改、以及相等物。
降低存儲器頻寬需求是現(xiàn)今繪圖處理單元(GPU)架構(gòu)最重要的。實現(xiàn)降低存儲器頻寬需求與通過壓縮像素而改善快取效能的系統(tǒng)與方法的實施例于此敘述。實施例為大量減少圖像處理系統(tǒng)在決定可視性時的存儲器需求的z軸數(shù)據(jù)壓縮方案。此種壓縮方式的許多實施例利用基元內(nèi)的z軸數(shù)據(jù)高度相關(guān)特性,并提供一個隨機存取外部存儲器數(shù)據(jù)的區(qū)塊式數(shù)據(jù)處理方案。最后,這些實施例從另一角度看,可完美地在繪圖芯片中實現(xiàn)此壓縮方案而不需變更現(xiàn)存的芯片架構(gòu)。
當(dāng)有邊角在壓縮區(qū)塊里時(亦即此壓縮區(qū)塊包含某三角形基元的其中一角),壓縮會變得較無效率。然而,Z暫存解編碼器(或稱Z codec)的實施例則有效率地補償這些不足。在一個區(qū)塊里z值的線性改變是已知的,而此特質(zhì)可用作高效率的增量z壓縮方案。也就是說,許多實施例是指儲存z值改變量的壓縮方案。此最終結(jié)果可大量減少未壓縮的z軸數(shù)據(jù)的存儲器儲存需求。
圖形數(shù)據(jù)通常指的是在圖像處理系統(tǒng)中繪圖管線z軸數(shù)據(jù)。此外,具有三個變量的梯度函數(shù)是每個像素對于水平方向與垂直方向的z值改變的3D向量。對于每個像素,梯度向量指出預(yù)測誤差最可能出現(xiàn)的方向,并且此梯度向量對應(yīng)至該方向的改變率。三角形基元內(nèi)的z軸數(shù)據(jù)就某種程度上是多余的,因此對某一三角形基元而言,大部分的z軸數(shù)據(jù)是多余的。這表示幾千個像素里,只用兩個梯度便可有效表示所有像素。因此,z軸數(shù)據(jù)的一個特性便是在一大三角形基元里其具有固定的梯度。也就是說,在某一三角形基元里所有像素的z軸數(shù)據(jù)通常座落于相同平面。這可允許同一區(qū)塊內(nèi)的像素用線性外差的方式取得其z軸數(shù)據(jù)。一般而言,這對以熵(entropy)為基礎(chǔ)的壓縮器產(chǎn)生非常好的熵減少。
圖2表示z軸數(shù)據(jù)壓縮實施例的基本元件圖。圖2的z解編碼器202執(zhí)行z壓縮數(shù)據(jù)的許多功能。如圖所示,z解編碼器202可能包含預(yù)測誤差計算器204、位長度計算器206、數(shù)據(jù)編碼器208、儲存所有z壓縮數(shù)據(jù)長度的暫存器210、以及封包器212。這些為z壓縮數(shù)據(jù)的基本元件。只要z軸數(shù)據(jù)處于壓縮狀態(tài),第二階高速緩存214就會儲存z軸數(shù)據(jù)作為以后使用。當(dāng)壓縮的z軸數(shù)據(jù)被存取時,壓縮的z軸數(shù)據(jù)從第二階高速緩存214提取出來并送至跳脫序列解封包器216,再傳送至數(shù)據(jù)解封包器218。數(shù)據(jù)接著再送至加法樹220還原成原始未壓縮的z軸數(shù)據(jù)。
在壓縮路徑中,預(yù)測誤差計算器204計算一區(qū)塊(8×8的像素圖塊)內(nèi)每個像素的預(yù)測誤差。先判定一個參考像素后接著導(dǎo)出兩參考梯度。再計算該區(qū)塊內(nèi)剩余像素的預(yù)測誤差并儲存至預(yù)測誤差矩陣。此預(yù)測誤差矩陣之后代表該區(qū)塊內(nèi)所有z軸數(shù)據(jù)。
位長度計算器206計算儲存此預(yù)測誤差矩陣(亦即z軸數(shù)據(jù)的壓縮區(qū)塊)所需的位數(shù)?;诖藚^(qū)塊內(nèi)最大的預(yù)測誤差,決定全長值與半長值。當(dāng)預(yù)測誤差不為零且超過一定量時,此二值對應(yīng)預(yù)測誤差矩陣所需的位數(shù)。
數(shù)據(jù)編碼器208對此區(qū)塊每個像素的預(yù)測誤差作編碼,以在處理大型三角形基元時得到效率增加并同時降低硬件復(fù)雜度。為了取得平衡,必須選擇一總量(或是位長度單元)用來為z壓縮數(shù)據(jù)編碼。在數(shù)據(jù)編碼器208內(nèi),若一區(qū)塊內(nèi)一像素的預(yù)測誤差不為零且大于1時,則必須決定儲存此預(yù)測誤差所需的位數(shù),且同時對齊所選的位長度單位。代表編碼數(shù)據(jù)的壓縮數(shù)據(jù)字組的長度將儲存至?xí)捍嫫?10作為此z壓縮數(shù)據(jù)的檔案復(fù)原之用。
接著,編碼數(shù)據(jù)傳送至封包器212以移動此包含z軸數(shù)據(jù)編碼的壓縮區(qū)塊至存儲器中。視每個像素圖塊的最大預(yù)測誤差而定,壓縮區(qū)塊可能會大小不一。封包器212移動整個壓縮區(qū)塊至存儲器中。在一些實施例中,封包器是指柱形移位器(barrel shifter)。然而,此封包器的多工器皆為獨立控制。在封包器212中,完整的z壓縮數(shù)據(jù)輸出至第二階高速緩存214作為稍后數(shù)據(jù)復(fù)原之用。如圖2所示,該壓縮數(shù)據(jù)段也寫入第二階高速緩存214中。
要存取壓縮數(shù)據(jù)時,從第二階高速緩存214取得z壓縮數(shù)據(jù)并送至跳脫序列解封包器216。跳脫序列解封包器216解壓縮關(guān)于一區(qū)塊內(nèi)每個像素的跳脫序列。跳脫序列接著用在解封包器218以決定數(shù)據(jù)內(nèi)每段數(shù)據(jù)的位數(shù)。此階段的數(shù)據(jù)包含預(yù)測誤差。
最后,未壓縮的預(yù)測誤差矩陣送至加法樹220以導(dǎo)出儲存于預(yù)測誤差矩陣內(nèi)的原始z軸數(shù)據(jù)。從預(yù)測誤差矩陣還原出z軸數(shù)據(jù)的細(xì)節(jié)說明如下。
圖3A表示利用計算預(yù)測誤差來壓縮一區(qū)塊內(nèi)的z軸數(shù)據(jù)的一個實施例。
以一個壓縮區(qū)塊儲存z軸數(shù)據(jù)的角度來看,壓縮器實際儲存的值為預(yù)測誤差。一般來說,預(yù)測誤差是指實際值和預(yù)測值之間的差異。為了說明本實施例的壓縮算法,在此用8×8像素的區(qū)塊作說明,這也可稱為壓縮區(qū)塊大小,而壓縮區(qū)塊大小不一定要限制在8×8像素。步驟310首先找出可以計算兩參考梯度的參考像素。在不同的實施例中z軸數(shù)據(jù)可能擁有不同儲存單位,包含但不限制于24位的z軸數(shù)據(jù)或是32位的z軸數(shù)據(jù)。
舉例而言,一個8×8像素圖塊具有下述z值Z=z00z01z02z03z04z05z06z07z10z11z12z13z14z15z16z17z20z21z22z23z24z25z26z27z30z31z32z33z34z35z36z37z40z41z42z43z44z45z46z47z50z51z52z53z54z55z56z57z60z61z62z63z64z65z66z67z70z71z72z73z74z75z76z77]]>在步驟320和330中,參考梯度dz/dx和dz/dy被計算出來。參考梯度的公式如下dzdx=zij-zi-1,j]]>,以及 [1.0]dzdy=zij-zi,j-1---[2.0]]]>從此區(qū)塊中,每個像素的預(yù)測誤差可由下列一組公式推得(步驟340)σij=zij'i=j=0zij-zi-1,j'i=1,j=0zij-zi,j-1'i=0,j=1(zij-zi-1,j)-(zi-1,j-zi-2,j),i>1,j=0(zij-zi,j-1)-(zi,j-1-zi,j-2),i=0,j>1(zij-zi,j-1)-(zi-1,j-zi-1,j-1),i>0,j>0---[3.0]]]>圖3B表示區(qū)塊內(nèi)不同像素的預(yù)算誤差。以此例來說,若此區(qū)塊完全落于一三角形基元里(亦即落于相同平面),則預(yù)測誤差矩陣可能如下列所示(步驟350)
z00dx010-100dy000-100000100100000000000100001000100-100-1000100000010001]]>此預(yù)測誤差矩陣的左上角的z值,Z00,為參考像素,而dx和dy為z梯度沿x-y軸的舍入值。最后,此預(yù)測誤差矩陣?yán)锱紶柍霈F(xiàn)的+1和-1表示舍入誤差。值得注意的是此預(yù)測誤差矩陣大多數(shù)的值皆為0,因為此像素圖塊完全位于一基元內(nèi)。
此壓縮算法在一些實施例的目的在于減少傳輸數(shù)據(jù)所需的外部存儲器頻寬,但不是減少外部的儲存量。所有壓縮區(qū)塊在存儲器固定地址與固定配置空間,其大小取決于未壓縮數(shù)據(jù)的大小。此外,此壓縮算法受限于因為存儲器存取量化而產(chǎn)生的顯著粒度(granularity)損失。
在某些實施例中推導(dǎo)數(shù)據(jù)編碼方案時,有數(shù)個因素需納入考慮。一個考慮是想在數(shù)個完全包含數(shù)個8×8像素圖塊的大基元(例如三角形基元)達(dá)到最大壓縮效能。另一個考慮則是減少硬件復(fù)雜度。當(dāng)有許多8×8像素圖塊完全包含在一三角形基元內(nèi)時,預(yù)測誤差矩陣的計算將非常相似于上述的預(yù)測誤差矩陣?yán)印R虼?,因為像素圖塊內(nèi)的像素都位于同一平面上,其預(yù)測誤差大部分皆為零。
于是,在一些實施例中,編碼方案可利用此架構(gòu)中z軸數(shù)據(jù)的階級性。舉例而言,由檢查壓縮區(qū)塊(例如一個8×8區(qū)塊)內(nèi)的z軸數(shù)據(jù),可決定最大預(yù)測誤差的范圍。于是,儲存像素所需的位元素可輕易由檢查8×8區(qū)塊的z軸數(shù)據(jù)所決定。
另一些實施例考慮的是數(shù)據(jù)編碼方案的硬件實現(xiàn)具有最小復(fù)雜度,可導(dǎo)致降低成本。為了達(dá)到這件事,第一要考慮的是必須配置表示誤差的位數(shù)(例如預(yù)測誤差的絕對值大于1),而這將取決于事先決定的量化級數(shù),以在壓縮率最大化時減少硬件復(fù)雜度與成本。
圖4A表示計算儲存壓縮區(qū)塊所需位數(shù)的上層流程圖實施例。在這個例子里,位長度單位,或稱量化級別,選擇為4位(步驟410)。在一些實施例中,此值提供硬件復(fù)雜度與壓縮最大化的最佳平衡點。位長度單位(量化級別)是壓縮數(shù)據(jù)區(qū)塊可對齊的最小單位或區(qū)段。舉例來說,假設(shè)位長度單位為4位,若給定一段數(shù)據(jù)為10位長,則兩個額外位將加入此數(shù)據(jù)區(qū)塊,因為離10位最近的4倍數(shù)為12位。
每個儲存像素圖塊的預(yù)測誤差的壓縮區(qū)塊包括固定長度字段與可變長度字段。也就是說,每個壓縮區(qū)塊永遠(yuǎn)包含一個相同長度的字段。為了配置及指示像素的預(yù)測誤差所需的位數(shù),下列步驟將說明如何決定。首先,先決定表示z軸數(shù)據(jù)所需的位數(shù)(步驟420)。接著,決定「全長值」與「半長值」(步驟430)。全長值與半長值意指大于1的位數(shù),可用作儲存預(yù)測誤差之用。此處的z軸數(shù)據(jù)表示給定8×8區(qū)塊中最大預(yù)測誤差。舉例來說,此處的z軸數(shù)據(jù)為14位長。因為位量化電平為4位,因為實際的最小長度為12位。于是,可能的長度為12、16、20、以及24位。這些長度可能對應(yīng)到全長值。在一些例子中,預(yù)測誤差可能只需少數(shù)位而獲得較佳壓縮率,在這些例子中可使用「半長值編碼」。全長值12、16、20、24以及24位可分別產(chǎn)生半長值8、8、12、以及12位,因為位長度單位在此例中選擇成4位。在下一步驟440中,可決定壓縮區(qū)塊的可變字段。每個壓縮區(qū)有可變字段因為區(qū)塊內(nèi)的預(yù)測誤差大小可能大于1。因此,用來替預(yù)測誤差編碼的全長值和半長值可能每個壓縮區(qū)塊彼此不同。最后,在步驟450中,決定儲存壓縮區(qū)塊的固定字段以及加入此壓縮區(qū)塊的可變字段部分。壓縮區(qū)塊的固定字段包括有六十四個1位屏蔽,以及對應(yīng)像素z00、z01以及z10的三個24位。
圖4B表示代表8×8像素圖塊的壓縮區(qū)塊的字段示意圖。第一欄460包括64個1位屏蔽,對應(yīng)像素圖塊內(nèi)的每個像素,其中「0」值表示預(yù)差誤差為零,「1」值表示需要兩位的跳脫序列。第二欄470包括對應(yīng)像素z00、z01、以及z10的三個24位。字段460和470構(gòu)成壓縮區(qū)塊的固定字段。第三欄480包括剩余像素(亦即z00、z01、以及z10以外的像素)的跳脫序列。此字段是可變字段,因為像素可能有也可能沒有對應(yīng)的跳脫序列,而這會發(fā)生在像素的預(yù)測誤差為零的時候,因此不需要跳脫序列。最后一欄490包括長預(yù)測誤差(亦即預(yù)測誤差的大小大于1)。全長值編碼或半長值編碼的需求視預(yù)測誤差的大小而決定。只要編碼后的壓縮區(qū)塊長度決定了,此長度將儲存在獨立的暫存器里,且需要3位去說明每個8×8區(qū)塊的數(shù)據(jù)長度。當(dāng)還原壓縮的z軸數(shù)據(jù)時,需在讀取壓縮數(shù)據(jù)前先讀取長度字段以事先知道有多少數(shù)據(jù)要讀取??梢灾赖氖侨糸L度字段對應(yīng)未壓縮的z軸數(shù)據(jù)時(例如24位的z軸數(shù)據(jù)用六個位長度單位表示),這表示數(shù)據(jù)未被壓縮。運用此項特征可避免壓縮數(shù)據(jù)大于未壓縮狀態(tài)的可能性。
圖5為編碼程序中配置預(yù)測誤差與對應(yīng)的跳脫序列的上層流程圖實施例。此階段的位配置包括第4圖步驟440的可變字段敘述。在步驟510中,在一8×8壓縮區(qū)塊內(nèi)的每個像素的預(yù)測誤差(除了左上角的三個像素之外)先與(-1,0,1}比較。在步驟520中,預(yù)測誤差「0」表示沒有誤差,于是沒有額外的位配置給此特別預(yù)測誤差。若預(yù)測誤差的絕對值等于1時,則只需要兩個額外位表示此預(yù)測誤差。然而在步驟540中,若預(yù)測誤差不是1、0、或-1的話,則表示預(yù)測誤差的大小大于1。因此,此像素的預(yù)測誤差要全長值編碼或半長值編碼。這些步驟在步驟560重復(fù)直到所有預(yù)測誤差處理完畢。儲存預(yù)測誤差的所需總位數(shù)將包括儲存區(qū)塊的可變字段。
步驟580的兩位配置指出預(yù)測誤差大小是否為1,以及是否需要全長值或半長值來編碼??赡馨l(fā)生的情況總結(jié)在第1表中。

第1表像素z00、z01、以及z10的預(yù)測誤差絕對值一定永遠(yuǎn)大于1,z00為一像素圖塊左上角的參考像素。因此,這三個像素使用1位屏蔽字段指出使用半長值或是全長值,且此三像素不需跳脫序列。因為最小半長值為8位,因此有24位(3像素×8位)可表示這些像素,將字段的總長度縮小。此24位以及64位屏蔽構(gòu)成壓縮數(shù)據(jù)的固定字段,是儲存所有區(qū)塊所需要的。跳脫序列與全、半長預(yù)測誤差構(gòu)成可變字段。若整個跳脫序列的位數(shù)不是4的倍數(shù)時,額外的位將加在字組的后面以對齊位長度單位(量化電平)。
圖6A和6B為封包器和解封包器的代表實施例。圖6A為有8個輸入端的封包器單元的例子。封包器將一連串的獨立字組(例如獨立輸入的預(yù)測誤差矩陣)封裝起來以避免浪費多余填塞位(padding bits)讓獨立字組對齊字節(jié)邊緣。封包器可為柱形移位器(barrel shifter)。一般來說,柱形移位器為用作數(shù)據(jù)移位的裝置/電路。柱形移位器也可以用軟件仿真實現(xiàn)。柱形移位器在單一運算中將數(shù)據(jù)字組移位任意數(shù)個位,這可避免一次只對一欄移動一個數(shù)據(jù)位,因而減少整個字組的移位所需時間。一般來說,柱形移位器可由一連串的多工器實現(xiàn)。一個多工器的輸出視移位值而連接至下一多工器的輸入。
標(biāo)準(zhǔn)柱形移位器和此處所述的封包器的不同點在于封包器的每個多工器是獨立控制的。舉例來說,假設(shè)封包器運算在4位的數(shù)據(jù)數(shù)組,若封包器的輸入和輸出為2048位,則一個有512個輸入端的柱形移位器將需要九個階段來作移位。每個輸入端有對應(yīng)的移位值指派給它,而每個輸入端的移位值不小于前一輸入端的移位值。
每個輸入端的多工器受控于下一輸入端的移位值的最低有效位(LSB)。每個多工器不只移位數(shù)據(jù)也同時對移位值移位,因此在每個階段丟棄最低有效位而讓下一位變成最低有效位。因此,在原始移位值上的一位對應(yīng)到一2次方的移位,此2次方的移位執(zhí)行在柱形移位器的對應(yīng)階段上的數(shù)據(jù)移位。
解封包器被用在還原z軸數(shù)據(jù)的原始狀態(tài)(亦即解壓縮z軸數(shù)據(jù))。圖6B表示解封包器利用與封包器相同長度的數(shù)據(jù)信息。解封包器計算每個輸入端的移位值再傳遞此值至多工器。每行輸入-輸出的多工器使用相同的移位值,因此不需要對移位值執(zhí)行多工。因此,更精簡的移位器設(shè)定可用在此解封包器。最低有效位被用在最后階段的多工器,下一位被用在先前階段的多工器等等。更多關(guān)于封包器與解封包器的功能信息可在美國專利公開第20050093873和20050093872號找到,本文于此引用上述兩者所揭露的信息。
圖7為還原原始z軸數(shù)據(jù)在數(shù)個實施例中的上層流程圖。在步驟710中,z軸數(shù)據(jù)的壓縮區(qū)塊從第二階高速緩存214中取出。接著,從暫存器210讀取此壓縮區(qū)塊的數(shù)據(jù)大小(步驟720)。步驟730中,壓縮數(shù)據(jù)傳送至跳脫序列解封包器216,在跳脫序列解封包器216亦讀取每個預(yù)測誤差的1位屏蔽。所有64個預(yù)測誤差(對應(yīng)一個8×8像素圖塊)的1位屏蔽被讀取。1位屏蔽作為跳脫序列解封包器216的輸出控制。基于1位屏蔽的值可以解出對應(yīng)的跳脫序列。舉例來說,若讀到一個預(yù)測誤差的1位屏蔽為「0」時,表示此預(yù)測誤差為零且沒有配置多余的位儲存此預(yù)測誤差。然而,若讀到一個預(yù)測誤差的1位屏蔽為「1」時,則表示此預(yù)測誤差存在對應(yīng)的2位跳脫序列。跳脫序列接著被解開并用在下一階段中(解封包器218)。
解開的跳脫序列在此階段中用來控制解封包器218。在步驟740中,解封包器218根據(jù)跳脫序列從壓縮區(qū)塊解開并重建預(yù)測誤差矩陣,依據(jù)1位屏蔽和2位跳脫序列,讀取全長值或半長值。另一方面,若某預(yù)測誤差的1位屏蔽值為「0」的話,則不會有多余位被解出來。
根據(jù)跳脫序列的值,跳脫序列解封包器會讀取更多位或是繼續(xù)讀取下一個1位屏蔽。舉例來說,若跳脫序列的值為「10」時,對應(yīng)半長值的位數(shù)將被讀取以重建此預(yù)測誤差。另一方面,若跳脫序列的值為「00」時,沒有多余位會被讀取因為此特定值指出此像素的預(yù)測誤差為+1。此程序?qū)⒅貜?fù)執(zhí)行直到64個預(yù)測誤差值(對應(yīng)此個8×8像素圖塊)被讀取。
最后,重建回來的預(yù)測誤差矩陣傳送至最后階段,原始的z軸數(shù)據(jù)將在加法樹里用預(yù)測誤差矩陣重建回來(步驟750)。為了使預(yù)測誤差矩陣還原回原始的z軸數(shù)據(jù),此矩陣的所有值將從矩陣的左上角以重復(fù)的方式計算。在此實施例中,z軸數(shù)據(jù)值Zij使用下列方程式從預(yù)測誤差矩陣重建回來。
zij=ZLImax-σij'i=j=0σij+zi-1,j'i=1,j=0σij+zi-1,j'i=0,j=1(σij+zi-1,j)+(zi-1,j-zi-2,j),i>1,j=0(σij+zi,j-1)+(zi,j-1-zi,j-2),i=0,j>1(σij+zi,j-1)+(zi-1,j-zi-1,j-1),i>0,j>0---[4.0]]]>σij表示位于預(yù)測誤差矩陣第i行第j列的預(yù)測誤差,而ZL1max表示整個矩陣的預(yù)測誤差最大值。
圖8A說明圖像處理系統(tǒng)810的實施例的元件方塊圖。在一些實施例中,圖像處理系統(tǒng)810可能為但不限制于任何型式的計算裝置如桌上型計算機或筆記型計算機。
圖像處理系統(tǒng)810可能包含圖形運算單元(GPU)812,提供某種功能如像素著色的可編程化處理。這避免需要使用專用硬件執(zhí)行這些功能。圖形運算單元812可作為除了主運算器之外的分離協(xié)處理器,如圖像處理系統(tǒng)里的中央處理器執(zhí)行它被設(shè)定的特定運算工作。在執(zhí)行這些工作時,圖形運算單元可能釋放此中央處理器去執(zhí)行其它工作。在一些情況下,如圖形運算單元之類的協(xié)處理器可能實際存在于計算機系統(tǒng)的主機板上并伴隨著可能是微處理器的中央處理器。然而,在其它應(yīng)用中,本領(lǐng)域技術(shù)人員可知圖形運算單元可能存在于獨立但電性耦合的適配卡,如本例中的繪圖卡接口840。
如圖所示,圖形運算單元812可能包含z解編碼器814和高速緩存如用來儲存第二階z軸數(shù)據(jù)的第二階高速緩存824。在一些實施例中,z解編碼器814包含預(yù)測誤差計算器816、位長度計算器、數(shù)據(jù)編碼器820、以及封包器822。這些模塊被用在z軸數(shù)據(jù)壓縮時。對還原壓縮的z軸數(shù)據(jù)而言,z解編碼器814還包含解封包階段826和加法器828以從預(yù)測誤差矩陣導(dǎo)出z軸數(shù)據(jù)。解封包階段826包括有跳脫序列解封包器216及解封包器218。
當(dāng)z解編碼器814的許多模塊用軟件實現(xiàn)時,系統(tǒng)可以儲存在計算機可讀媒介中,以供多種計算機相關(guān)系統(tǒng)或方法使用或連接其上。在本文中計算機可讀媒介可包含電子式、磁力式、光學(xué)式、或其它實體裝置,包含供計算機相關(guān)系統(tǒng)或方法使用或連接的計算機程序。此接口可內(nèi)嵌于許多計算機可讀媒介,供指令執(zhí)行系統(tǒng)、設(shè)備、或裝置(如以計算機為基礎(chǔ)的系統(tǒng)、內(nèi)含處理器的系統(tǒng),或是其它系統(tǒng)可從指令執(zhí)行系統(tǒng)、設(shè)備、或裝置擷取指令并執(zhí)行指令的系統(tǒng))使用或連接。
本文中的計算機可讀媒介儲存、連接、傳遞、或運送供多種計算機相關(guān)系統(tǒng)或方法使用或連接的程序。舉例而言,計算機可讀媒介可包含但不限制于電子式、磁力式、光學(xué)式、電磁式、紅外線式、或半導(dǎo)體系統(tǒng)、設(shè)備、裝置、或傳遞媒介。計算機可讀媒介的特定例子可包含如下有一條或數(shù)個線的電子連接點(電子式)、可攜式計算機磁盤(磁力式)、隨機存取存儲器(RAM)(電子式)、只讀存儲器(ROM)(電子式)、可抹除可編程只讀存儲器(EPROM、EEPROM、或閃存)(電子式)、光纖(光學(xué)式)、以及可攜式只讀光盤(CDROM)(光學(xué)式)。
圖8B表示有內(nèi)嵌或電性耦接圖形運算單元812的圖像處理系統(tǒng)810的實施例方?jīng)Q圖。一般而言,圖像處理系統(tǒng)810可包括任何有線/無線運算裝置,如桌上型計算機、可攜式計算機、專用服務(wù)器、多處理器運算裝置、移動電話、個人數(shù)字助理(PDA),手持裝或平板計算機,內(nèi)嵌式裝置等等。舉例而言,無關(guān)于其特定用途,圖像處理系統(tǒng)810可包括圖形接口840、運算裝置830、數(shù)個輸入/輸出接口832以及存儲器834,其中每個裝置通過數(shù)據(jù)總線838相互連接。舉例而言,顯示裝置836可包括計算機監(jiān)示器或個人計算機的電漿屏幕或手持裝置的液晶屏幕。
運算裝置830可包含客制或市售處理器、中央處理器或介于圖像處理系統(tǒng)810的數(shù)個處理器的輔助處理器、以半導(dǎo)體為基礎(chǔ)的微處理器(以微芯片型式)、巨型處理器、一個或數(shù)個特殊應(yīng)用集成電路(ASIC)、數(shù)個適合設(shè)定的數(shù)字邏輯門、以及其它已知的電子設(shè)施,包含數(shù)個獨立元件可以多種結(jié)合方式共同完成運算系統(tǒng)的所有操作。
存儲器834可包含易失性存儲器元件(如動態(tài)隨機存取存儲器或靜態(tài)隨機存取存儲器等等)和非易失性存儲器元件(如只讀存儲器、硬盤、卡帶、光盤等)的組合。存儲器834通常包含反向操作系統(tǒng),一個或數(shù)個反向應(yīng)用程序、仿真系統(tǒng)、或仿真應(yīng)用程序,供許多操作系統(tǒng)和/或仿真硬件平臺,仿真操作系統(tǒng)等使用。本領(lǐng)域技術(shù)人員可知存儲器834通常包含其它為求簡化而省略的成份。
輸入/輸出接口832提供數(shù)個接口供數(shù)據(jù)輸入輸出。舉例而言,當(dāng)圖像處理系統(tǒng)810包括個人計算機時,這些元件可能連接使用者輸入裝置,如鍵盤或鼠標(biāo)。當(dāng)圖像處理系統(tǒng)810包括手持裝置(如個人數(shù)字助理,手機)時,這元件可能連接功能鍵或按鈕、觸碰式屏幕等等。
本發(fā)明雖以數(shù)個實施例揭露如上,然其并非用以限定本發(fā)明的范圍,任何本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可做些許的更動與潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)視所附的權(quán)利要求范圍所界定者為準(zhǔn)。
舉例而言,本領(lǐng)域技術(shù)人員可知本說明書所提數(shù)個減少圖像數(shù)據(jù)傳輸頻寬需求的方法實施例,包括通過儲存每個像素圖塊的預(yù)測誤差而壓縮包含數(shù)個像素圖塊的圖像數(shù)據(jù),計算像素圖塊的位長度,對壓縮的z軸數(shù)據(jù)編碼成壓縮區(qū)塊,在單一運算中移動每個壓縮區(qū)塊至輸出總線,其中每個字組包含數(shù)個位,以及傳送這些數(shù)據(jù)從輸出總線至高速緩存供作往后還原之用。在一些實施例中,圖像數(shù)據(jù)為24位z軸數(shù)據(jù)。在其它實施例中,圖像數(shù)據(jù)為32位z軸數(shù)據(jù)。在一些實施例中,z壓縮數(shù)據(jù)還包括辨別完全位于一基元內(nèi)的數(shù)個像素圖塊,其中對每個像素圖塊執(zhí)行下列步驟辨別像素圖塊內(nèi)的參考像素值z00,決定第一斜率值,決定第二值,基于第一、第二梯度值計算線性梯度,應(yīng)用此線性梯度至像素圖塊的其余像素去計算像素圖像內(nèi)每個像素的預(yù)測誤差,以及儲存關(guān)聯(lián)每個像素值的預(yù)測誤差。
在一些實施例中,像素圖塊包括一塊方格的像素。在一些實施例中,計算線性梯度包括水平成份及垂直成份。在一些實施例中,水平成份表示z坐標(biāo)的數(shù)據(jù)對x坐標(biāo)數(shù)據(jù)的微分。在一些實施例中,垂直成份表示z坐標(biāo)的數(shù)據(jù)對y坐標(biāo)數(shù)據(jù)的微分。在一些實施例中,一像素圖塊中最大預(yù)測誤差值為像素的z軸數(shù)據(jù)。在一些實施例中,計算位長度還包括建立位長度值用以決定儲存像素圖塊所儲的總位數(shù)的量化電平,基于此量化值計算半長值與全長值,其中像素圖塊的全部字段包括可變字段和固定字段。在一些實施例中,計算像素圖塊的可變字段還包括檢查像素圖塊的z軸數(shù)據(jù)以決定其中最大的預(yù)測誤差值并基于此最大預(yù)測誤差值配置位數(shù)。在一些實施例中,利用半長值編碼所產(chǎn)生的壓縮率高于全長值編碼。在一些實施例中,編碼z壓縮數(shù)據(jù)還包括設(shè)定像素圖塊內(nèi)每個像素的1位屏蔽,其中若無預(yù)測誤差則此1位屏蔽設(shè)為“0”以及若預(yù)測誤差不為零則此1位屏蔽設(shè)為“1”,以及設(shè)定2位跳脫序列,其中“00”表示預(yù)測誤差為+1,“01”表示預(yù)測誤差為-1,“10”表示預(yù)測誤差需要半長值編碼,以及“11”表示預(yù)測誤差需要全長值編碼。在一些實施例中,在單一運算中移動每個壓縮區(qū)塊至輸出總線是通過使用具有獨立控制多工器的柱形移位器。
另一個實施例包含減少圖像數(shù)據(jù)傳輸頻寬需求的方法,包括從高速緩存?zhèn)魉蛿?shù)據(jù)至解封包單元,在此解封包單元解壓縮z壓縮數(shù)據(jù)以得到像素圖塊內(nèi)每個像素的預(yù)測誤差值,傳送這些預(yù)測誤差至加法樹,以及在此加法樹內(nèi)從這些預(yù)測誤差還原出z軸數(shù)據(jù)。在一些實施例中,解封包單元用以執(zhí)行下述操作解壓縮像素圖塊內(nèi)關(guān)聯(lián)每個像素的1位屏蔽,基于這些1位屏蔽解壓縮此像素圖塊內(nèi)關(guān)聯(lián)每個像素的跳脫序列,基于這些跳脫序列解壓縮此像素圖塊內(nèi)關(guān)聯(lián)每個像素的預(yù)測誤差值。在一些實施例中,導(dǎo)出z軸數(shù)據(jù)還包括基于這些預(yù)測誤差值以重復(fù)的方式從預(yù)測誤差矩陣的左上角開始計算z軸數(shù)據(jù)。
尚有另一實施例包含減少圖像數(shù)據(jù)傳輸頻寬需求的系統(tǒng),包括預(yù)測誤差計算器用以產(chǎn)生像素圖塊的z坐標(biāo)數(shù)據(jù)的預(yù)測誤差矩陣,位長度計算器用以計算儲存此預(yù)測誤差矩陣所需的總位數(shù),數(shù)據(jù)編碼器用以像此預(yù)測誤差矩陣編碼成壓縮區(qū)塊,以及封包器用以在單一運算中移動此壓縮區(qū)塊至外部存儲器位置。在一些實施例中,此z坐標(biāo)數(shù)據(jù)為24位z軸數(shù)據(jù)。在一些實施例中,此z坐標(biāo)數(shù)據(jù)為32位z軸數(shù)據(jù)。在一些實施例中,此壓縮區(qū)塊包括固定字段及可變字段。
尚有另一實施例包含減少圖像數(shù)據(jù)傳輸頻寬需求的系統(tǒng),包括解封包模塊用以從外部存儲器位置移動壓縮區(qū)塊并從此壓縮區(qū)塊解開預(yù)測誤差矩陣,以及加法樹用以導(dǎo)出像素圖塊。在一些實施例中,解封包模塊還包括跳脫序列解封包器用以解壓縮此預(yù)測誤差矩陣?yán)锏拿總€跳脫序列,以及解封包器用壓從此壓縮區(qū)塊解壓縮出此預(yù)測誤差矩陣。在一些實施例中,加法樹更用以從此預(yù)測誤差矩陣的左上角開始以重復(fù)的型式導(dǎo)出此像素圖塊。
權(quán)利要求
1.一種減少傳輸圖形數(shù)據(jù)的頻寬需求的方法,包括通過儲存每個像素圖塊的多個預(yù)測誤差以壓縮上述圖形數(shù)據(jù),其中上述圖形數(shù)據(jù)包括復(fù)數(shù)像素圖塊;計算上述像素圖塊的位長度;將上述預(yù)測誤差編碼成壓縮區(qū)塊;移動每個上述壓縮區(qū)塊至輸出總線;以及從上述輸出總線傳送上述壓縮區(qū)塊至高速緩存作為往后數(shù)據(jù)還原之用。
2.根據(jù)權(quán)利要求1所述的減少傳輸圖形數(shù)據(jù)的頻寬需求的方法,其中壓縮上述圖形數(shù)據(jù)還包括計算上述像素圖塊內(nèi)每個像素的線性梯度,以決定上述預(yù)測誤差。
3.根據(jù)權(quán)利要求1所述的減少傳輸圖形數(shù)據(jù)的頻寬需求的方法,其中壓縮上述圖形數(shù)據(jù)還包括辨別完全座落于基元內(nèi)的每個復(fù)數(shù)像素圖塊,其中對每個上述像素圖塊執(zhí)行下述步驟找出上述像素圖塊內(nèi)的參考像素值Z00;決定第一參考斜率值;決定第二參考斜率值;基于上述第一與第二參考斜率值,計算線性梯度;對上述像素圖塊內(nèi)的其余像素應(yīng)用上述線性梯度,以計算上述區(qū)塊內(nèi)每個像素的上述預(yù)測誤差;以及儲存與每個上述像素關(guān)聯(lián)的上述預(yù)測誤差。
4.根據(jù)權(quán)利要求1所述的減少傳輸圖形數(shù)據(jù)的頻寬需求的方法,其中計算上述線性梯度包括水平成份以及垂直成份。
5.根據(jù)權(quán)利要求4所述的減少傳輸圖形數(shù)據(jù)的頻寬需求的方法,其中上述水平成份代表z軸數(shù)據(jù)對x軸數(shù)據(jù)的微分,以及上述垂直成份代表z軸數(shù)據(jù)對y軸數(shù)據(jù)的微分。
6.根據(jù)權(quán)利要求1所述的減少傳輸圖形數(shù)據(jù)的頻寬需求的方法,其中給定像素圖塊的上述預(yù)測誤差的最大值為像素的z軸數(shù)據(jù)。
7.根據(jù)權(quán)利要求1所述的減少傳輸圖形數(shù)據(jù)的頻寬需求的方法,其中計算位長度還包括建立位長度單位以作為決定儲存給定像素圖塊所需的總位數(shù)的量化級別;根據(jù)上述量化級別,計算半長字段值與全長字段值;決定上述壓縮區(qū)塊的可變字段的長度,其中上述可變字段加上上述壓縮區(qū)塊的固定字段為總長度。
8.根據(jù)權(quán)利要求7所述的減少傳輸圖形數(shù)據(jù)的頻寬需求的方法,其中決定上述壓縮區(qū)塊的上述可變字段的長度還包括檢查給定像素圖塊的圖形數(shù)據(jù)以決定每個像素圖塊的最大預(yù)測誤差;以及基于上述最大預(yù)測誤差分配多個位。
9.根據(jù)權(quán)利要求7所述的減少傳輸圖形數(shù)據(jù)的頻寬需求的方法,其中利用半長值編碼所產(chǎn)生的壓縮率高于全長值編碼。
10.根據(jù)權(quán)利要求1所述的減少傳輸圖形數(shù)據(jù)的頻寬需求的方法,其中將上述預(yù)測誤差編碼還包括設(shè)定與給定像素圖塊內(nèi)每個像素相關(guān)的1位屏蔽,其中若上述預(yù)測誤差為0則上述1位屏蔽設(shè)成「0」,且若上述預(yù)測誤差不為0則上述1位屏蔽設(shè)成「1」;以及當(dāng)上述1位屏蔽不為0時,設(shè)定2位脫離序列,其中「00」代表上述預(yù)測誤差為+1;「01」代表上述預(yù)測誤差為-1;「10」代表上述預(yù)測誤差需要半長值編碼;以及「11」代表上述預(yù)測誤差需要全長值編碼。
11.根據(jù)權(quán)利要求1所述的減少傳輸圖形數(shù)據(jù)的頻寬需求的方法,其中在單一運算里移動每個上述壓縮區(qū)塊至輸出總線是通過使用具有多個獨立控制多工器的多個柱形移位器而執(zhí)行。
12.一種減少傳輸圖形數(shù)據(jù)的頻寬需求的方法,包括從高速緩存?zhèn)魉蛪嚎s數(shù)據(jù)至解封包單元;在上述解封包單元對上述壓縮數(shù)據(jù)進(jìn)行解壓縮以取得像素圖塊內(nèi)每個像素的預(yù)測誤差;傳送上述預(yù)測誤差至加法樹;以及在上述加法樹里從上述預(yù)測誤差導(dǎo)出圖形數(shù)據(jù)。
13.根據(jù)權(quán)利要求12所述的減少傳輸圖形數(shù)據(jù)的頻寬需求的方法,其中上述解壓縮單元執(zhí)行下列步驟解壓縮1位屏蔽,其中上述1位屏蔽關(guān)聯(lián)于上述像素圖塊內(nèi)的每個像素;根據(jù)上述1位屏蔽解壓縮上述像素圖塊的跳脫序列;以及根據(jù)上述跳脫序列解壓縮與上述像素圖塊內(nèi)每個像素有關(guān)的上述預(yù)測誤差。
14.根據(jù)權(quán)利要求12所述的減少傳輸圖形數(shù)據(jù)的頻寬需求的方法,其中導(dǎo)出上述圖形數(shù)據(jù)還包括從預(yù)測誤差矩陣的左上角開始,反復(fù)計算上述預(yù)測誤差以得到多個z值。
15.一種減少傳輸圖形數(shù)據(jù)的頻寬需求的系統(tǒng),包括預(yù)測誤差計算器,用以產(chǎn)生像素圖塊的z軸數(shù)據(jù)的預(yù)測誤差矩陣;位長度計算器,用以計算儲存上述預(yù)測誤差矩陣所需的位數(shù);數(shù)據(jù)編碼器,用以將上述預(yù)測誤差矩陣編碼成壓縮區(qū)塊;以及封包器,用以移動上述壓縮區(qū)塊至外部存儲器位置。
16.根據(jù)權(quán)利要求15所述的減少傳輸圖形數(shù)據(jù)的頻寬需求的系統(tǒng),其中上述預(yù)測誤差矩陣包括參考像素,位于上述像素圖塊中;第一參考斜率;第二參考斜率;以及多個預(yù)測誤差,與上述像素圖塊內(nèi)的剩余值有關(guān),其中上述預(yù)測誤差是應(yīng)用線性梯度至每個值而獲得,其中上述線性梯度是根據(jù)上述第一參考斜率以及上述第二參考斜率。
17.根據(jù)權(quán)利要求15所述的減少傳輸圖形數(shù)據(jù)的頻寬需求的系統(tǒng),其中上述壓縮區(qū)塊包括固定字段以及可變字段。
18.一種減少傳輸圖形數(shù)據(jù)的頻寬需求的系統(tǒng),包括解封包器,用以從外部存儲器位置移動壓縮區(qū)塊,并從上述壓縮區(qū)塊取得預(yù)測誤差矩陣;以及加法樹,用以導(dǎo)出像素圖塊。
19.根據(jù)權(quán)利要求18所述的減少傳輸圖形數(shù)據(jù)的頻寬需求的系統(tǒng),其中上述解封包器還包括跳脫序列解封包器,用以解封包跳脫序列以得到上述預(yù)測誤差矩陣的每個值。
20.根據(jù)權(quán)利要求18所述的減少傳輸圖形數(shù)據(jù)的頻寬需求的系統(tǒng),其中上述加法樹還以一種反復(fù)方式從上述預(yù)測誤差矩陣的左上角開始計算,以取得上述像素圖塊。
全文摘要
減少傳送圖形數(shù)據(jù)的外部頻寬需求的多種實施例包含其中。一個實施例包含一種減少傳送圖形數(shù)據(jù)的外部頻寬需求的系統(tǒng),上述系統(tǒng)包括預(yù)測誤差計算器用以產(chǎn)生像素圖塊的z軸數(shù)據(jù)的預(yù)測誤差矩陣,位長度計算器用以計算儲存所需的位數(shù),數(shù)據(jù)編碼器用以將上述預(yù)測誤差矩陣編碼成壓縮區(qū)塊,以及封包器用以在單一運算中移動上述壓縮區(qū)塊至外部存儲器位置。
文檔編號H04N7/32GK101068363SQ200710109969
公開日2007年11月7日 申請日期2007年6月11日 優(yōu)先權(quán)日2006年6月9日
發(fā)明者柏瑞斯·柏克潘克, 提莫·佩塔西 申請人:威盛電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
邢台县| 资源县| 上虞市| 吴忠市| 东平县| 杭州市| 阿荣旗| 普兰县| 四子王旗| 绥江县| 荔浦县| 阜新| 石城县| 太和县| 聂拉木县| 九台市| 桂平市| 汽车| 长兴县| 靖边县| 慈溪市| 甘洛县| 长阳| 沿河| 保德县| 渑池县| 峨山| 克什克腾旗| 道孚县| 府谷县| 仁化县| 陆川县| 铜陵市| 上杭县| 拉萨市| 安塞县| 宁晋县| 遂宁市| 丹江口市| 利津县| 呼玛县|