国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      圖像處理裝置及其方法

      文檔序號:6447282閱讀:186來源:國知局
      專利名稱:圖像處理裝置及其方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種圖像處理裝置及其方法,所述圖像處理裝置通過單位圖形的合成來表達(dá)模型,在屏幕坐標(biāo)系的繪圖區(qū)域中產(chǎn)生像素數(shù)據(jù),相對于存儲器來進(jìn)行繪制(rendering),并且當(dāng)產(chǎn)生圖像時產(chǎn)生邊緣信息和執(zhí)行抗混疊。
      背景技術(shù)
      近來,隨著計算機(jī)系統(tǒng)中的操作速度的改善和繪圖功能的加強(qiáng),使用計算機(jī)資源來準(zhǔn)備和處理圖形和圖像的“計算機(jī)圖形(CG)”技術(shù)一直是積極研發(fā)的主題,并且已經(jīng)進(jìn)入實用。
      例如,當(dāng)三維對象被預(yù)定光源照亮?xí)r,三維圖形通過數(shù)學(xué)模型來表達(dá)光學(xué)現(xiàn)象,根據(jù)這個模型來向?qū)ο蟊砻嬖黾雨幱盎驅(qū)哟?,并且進(jìn)一步附加圖案以產(chǎn)生更逼真的和像三維似的二維高清晰度圖像。在科學(xué)、工程和制造中的開發(fā)領(lǐng)域中和其他各種應(yīng)用領(lǐng)域中,這樣的計算機(jī)圖形已經(jīng)變得越來越多地用于CAD/CAM。
      三維圖形處理一般由作為前端而定位的“幾何子系統(tǒng)”和作為后端而定位的“光柵子系統(tǒng)”組成。
      所述“幾何子系統(tǒng)”表示在顯示屏幕上顯示的三維對象的位置、姿態(tài)等的幾何處理的步驟。在幾何子系統(tǒng)中,一般,一個對象被作為一組大量的多邊緣形。以多邊緣形為單位來執(zhí)行幾何處理,諸如“坐標(biāo)轉(zhuǎn)換”、“剪裁”和“光源計算”。
      另一方面,所述“光柵子系統(tǒng)”表示為形成對象的像素上色的步驟。通過根據(jù)例如對于多邊緣形的每個頂點得到的圖像參數(shù)來內(nèi)插在一個多邊緣形內(nèi)包括的所有像素的圖像參數(shù)而實現(xiàn)光柵化。在此所指的圖像參數(shù)包括由所謂的RGB格式表達(dá)的顏色(繪圖顏色)數(shù)據(jù)、用于表達(dá)在深度方向中的距離的z值等。而且,在近來的高清晰度三維圖形處理中,用于促進(jìn)透視感的f(霧)和用于表達(dá)材料感的或?qū)ο蟊砻娴膱D案以賦予真實感的紋理t也被包括作為圖像參數(shù)。
      在此,經(jīng)常通過使用被稱為“數(shù)字微分分析器(DDA)”的線性內(nèi)插技術(shù)來執(zhí)行根據(jù)多邊緣形的頂點信息產(chǎn)生在多邊緣形內(nèi)的像素的處理。在DDA處理中,從頂點信息來發(fā)現(xiàn)數(shù)據(jù)相對于多邊緣形的側(cè)向的傾斜角,通過使用這個傾斜角來計算在所述側(cè)上的數(shù)據(jù),計算光柵掃描方向(X方向)的傾斜角,并且向掃描的起點的參數(shù)值加上從這個傾斜角發(fā)現(xiàn)的參數(shù)的改變量,從而產(chǎn)生內(nèi)部的像素。
      而且,在三維計算機(jī)圖形中,當(dāng)確定對應(yīng)于每個像素的顏色時,執(zhí)行繪制以計算每個像素的顏色,并且向?qū)?yīng)于所述像素的顯示緩沖器(幀緩沖器)的地址寫入這個所計算的顏色的值。
      由這樣的計算機(jī)圖形產(chǎn)生的圖像被抗混疊或否則處理,以便提高視覺分辨率,原因是出現(xiàn)了直線不連續(xù)、多邊緣形邊緣和顏色的邊緣界這樣的混疊效果。邊緣信息的提取對于抗混疊變得必要。
      傳統(tǒng)上,邊緣提取方法包括用于僅僅通過過濾來從所產(chǎn)生的畫面中提取邊緣的方法、通過以輪廓來繪制多邊緣形而提取邊緣的方法等。而且,抗混疊的技術(shù)包括超采樣方法、用于發(fā)現(xiàn)每個像素的覆蓋度的方法等。
      總結(jié)本發(fā)明要解決的問題,所述用于僅僅通過過濾來提取邊緣的方法不利用由三維計算機(jī)圖形產(chǎn)生的圖像的優(yōu)點,即,在產(chǎn)生圖像時有益數(shù)據(jù)被產(chǎn)生等,因此獲得特定程度的邊緣信息,但是不能獲得能夠用于抗混疊的足夠精確的邊緣信息。
      在所述以輪廓來繪制多邊緣形而提取邊緣的方法中,以多邊緣形為單位來繪制所有的周圍的邊緣,因此,除了固有的必須繪制的像素(諸如周圍像素)之外的像素的繪制是必要的。在那個部分,引發(fā)了繪制速度的下降。而且,所繪制的多邊緣形的多數(shù)邊緣不是所繪制的對象的邊緣并且被其他多邊緣形重寫,因此變得無用。
      而且,被用作抗混疊技術(shù)的所述超采樣方法是一種用于繪制大量點并且然后應(yīng)用低通濾波器(LPF)的方法。在這種方法中,如果提高采樣的數(shù)量,則質(zhì)量被改善那個程度,但是對于那個數(shù)量需要大存儲器。而且,當(dāng)提高采樣數(shù)量時,需要繪制那個數(shù)量,因此也使得繪制速度嚴(yán)重減小。
      而且,使用用于發(fā)現(xiàn)每個像素的覆蓋度的方法,與超采樣技術(shù)相比較,成為必要的存儲器的大小更小,但是繪制順序具有大影響,因此如果多邊緣形的繪制順序差則不能執(zhí)行正確的抗混疊,因此Z類(Z-sort)技術(shù)成為必要的。而且,即使使用Z類,也存在問題背景持續(xù)地保留等。例如,這樣的問題出現(xiàn)在三角扇形的中心。

      發(fā)明內(nèi)容
      本發(fā)明的第一目的是提供一種圖像處理裝置和方法,用于進(jìn)行除了固有的必須繪制的像素之外的周圍像素的不必要的繪制,并且能夠提取足夠精確的邊緣信息,以便能夠為抗混疊所利用而不引發(fā)繪制速度的降低。
      本發(fā)明的第二目的是提供一種圖像處理裝置和方法,它能夠不受繪制順序影響而實現(xiàn)精確的抗混疊,并且不引發(fā)繪制速度的降低。
      為了實現(xiàn)上述目的,按照本發(fā)明的第一方面,提供了一種圖像處理裝置,用于產(chǎn)生在屏幕坐標(biāo)系的繪制區(qū)域內(nèi)的像素數(shù)據(jù)以相對于存儲器執(zhí)行繪制,并且產(chǎn)生在存儲器中繪制的圖像,并且此時,產(chǎn)生邊緣信息和執(zhí)行抗混疊,所述裝置包括邊緣信息提取部件,用于根據(jù)在存儲器中繪制的預(yù)定像素數(shù)據(jù)來提取邊緣信息;以及抗混疊部件,用于根據(jù)通過邊緣信息提取部件獲得的邊緣信息來確定抗混疊所需要的處理的內(nèi)容,并且執(zhí)行所確定的處理。
      最好,抗混疊部件確定用于與每個邊緣上的像素混合的鄰接像素和混合比,并且根據(jù)所確定的像素和比率來執(zhí)行混合。
      最好,抗混疊部件包括第一部件,用于從所述邊緣信息檢測正在被處理的像素在混疊圖案的什么形狀的什么位置;第二部件,用于測量從所檢測的混疊圖案的開始到邊緣轉(zhuǎn)向的改變點的長度和從所述改變點到混疊圖案結(jié)束的位置的長度,并且計算根據(jù)從第一部件和第二部件獲得的信息來計算要混合的像素的位置和混合系數(shù)。
      最好,在所述存儲器中繪制的像素數(shù)據(jù)包括深度信息,以及所述邊緣信息提取部件發(fā)現(xiàn)掃描作為存儲深度信息的存儲器的深度信息緩沖器的結(jié)果而獲得的深度信息的第二微分(differentiation),并且根據(jù)第二微分來提取邊緣信息。
      最好,在向存儲器繪制時產(chǎn)生的數(shù)據(jù)包括每個像素的法向矢量,在存儲器中形成用于存儲所述法向矢量的法向矢量緩沖器,以及所述邊緣信息提取部件根據(jù)作為掃描在法向矢量緩沖器中存儲的像素的法向矢量的結(jié)果而獲得的法向矢量來提取邊緣信息。
      最好,在所述存儲器中繪制的像素數(shù)據(jù)包括深度信息,以及所述邊緣信息提取部件從作為掃描存儲深度信息的存儲器的深度信息緩沖器的結(jié)果而獲得的深度信息和屏幕坐標(biāo)來恢復(fù)每個像素的法向矢量,并且根據(jù)所恢復(fù)的法向矢量來提取邊緣信息。
      最好,所述邊緣信息提取部件提取接近被檢查的線的多條線的邊緣信息。
      按照本發(fā)明的第二方面,提供了一種圖像處理方法,用于產(chǎn)生在屏幕坐標(biāo)系的繪制區(qū)域內(nèi)的像素數(shù)據(jù)以相對于存儲器執(zhí)行繪制,并且產(chǎn)生在存儲器中繪制的圖像,并且此時,產(chǎn)生邊緣信息和執(zhí)行抗混疊,所述方法包括第一步驟,用于根據(jù)在存儲器中繪制的預(yù)定像素數(shù)據(jù)來提取邊緣信息;以及第二步驟,用于根據(jù)在第一步驟獲得的邊緣信息來確定抗混疊所需要的處理的內(nèi)容,并且執(zhí)行所確定的處理。
      按照本發(fā)明,在邊緣信息提取部件結(jié)束在存儲器中繪制深度信息后,掃描深度信息緩沖器,并且通過掃描獲得深度信息的第二微分。
      然后,通過比較所設(shè)置的閾值和所發(fā)現(xiàn)的第二微分來評估像素是否在邊緣上。
      即,按照本發(fā)明,在例如通過使用在三維計算機(jī)圖形的普通繪制時原來需要的信息而繪制后提取邊緣信息,所述邊緣信息當(dāng)被繪制時保持作為信息,但是傳統(tǒng)上在其后不被使用,諸如深度(z)緩沖器的信息。
      而且,按照本發(fā)明,在三維計算機(jī)圖形的普通繪制中不保留的信息,諸如每個像素的法向矢量的信息,被保留和在以后的階段中使用,或者在以后階段提取邊緣所需要的信息在繪制時被形成和保留。
      而且,在抗混疊部件中,確定接合在哪個方向中的鄰接邊緣上的每個像素的哪個像素的值和混合比,并且通過所確定的值來執(zhí)行混合。


      通過下面說明參照附圖給出的優(yōu)選實施例,本發(fā)明的這些和其他目的和特征將會變得更加清楚,其中圖1是按照本發(fā)明的形成圖像處理裝置的三維計算機(jī)圖像系統(tǒng)的系統(tǒng)結(jié)構(gòu)的視圖;圖2A和2B是用于說明按照本實施例的z值的第二微分的視圖;圖3A-3C是用于說明按照本實施例的z緩沖器的掃描操作的視圖;圖4是用于說明按照本實施例的通過使用z值來恢復(fù)法向矢量的方法的視圖;圖5A-5D是用于說明按照本實施例的用于使用法向矢量的方法的視圖;圖6A-6D是示出需要抗混疊的邊緣的最一般圖案的視圖;圖7是用于說明按照本實施例的在抗混疊中的混合操作的視圖;圖8是用于說明按照本實施例的混疊圖案的搜索方法的視圖;圖9是用于說明按照本實施例的一種方法的視圖,所述方法用于在線掃描時也獲得除了所關(guān)心的邊緣之外的多個上下線的邊緣信息時發(fā)現(xiàn)重疊的邊緣圖案,并且適當(dāng)?shù)靥幚硭鼈儯粓D10是用于說明按照本實施例的一種方法的視圖,所述方法用于在線掃描時也獲得除了所關(guān)心的邊緣之外的多個上下線的邊緣信息時發(fā)現(xiàn)靠近邊緣的圖案,并且適當(dāng)?shù)靥幚硭鼈?;圖11是用于說明按照本實施例的一種方法的視圖,所述方法用于當(dāng)在線掃描時也獲得除了所關(guān)心的邊緣之外的多個上下線的邊緣信息時發(fā)現(xiàn)靠近邊緣的圖案,并且適當(dāng)?shù)靥幚硭鼈?;圖12是用于在概念上示出按照本實施例的抗混疊系統(tǒng)的結(jié)構(gòu)示例的視圖;圖13A-13D是用于用圖解法示出按照本實施例的狀態(tài)機(jī)的運動和混合的視圖;圖14是示出下述情況的視圖,即,改變作為繪制結(jié)果的RGB圖像的存儲器上的圖像,并且在結(jié)束后向顯示器傳送它;圖15是示出下述情況的視圖,即,光柵掃描以在顯示器上顯示作為繪制結(jié)果的RGB圖像,并且與此并行和同步,也掃描z緩沖器,并且在向顯示器傳輸時,改變在存儲器上的圖像,并且在結(jié)束后將其傳送到顯示器;圖16A-16E是用于說明相鄰平面的邊緣界的情況的邊緣提取的視圖;和圖17A-17D是用于說明在對象和背景之間的邊緣界的情況的邊緣提取的視圖。
      具體實施例方式
      下面,在本實施例中,將說明被應(yīng)用到個人計算機(jī)等的三維計算機(jī)圖形系統(tǒng),用于高速在陰極射線管(CRT)或其他顯示器上顯示任何對象模型的期望三維圖像。
      圖1是按照本發(fā)明的形成圖像處理裝置的三維計算機(jī)圖形系統(tǒng)10的系統(tǒng)配置的視圖。
      三維計算機(jī)圖形系統(tǒng)10是這樣的一種系統(tǒng),用于將三維模型表達(dá)為作為單位圖形的三角形(多邊緣形)的組合,繪制這些多邊緣形以確定顯示屏幕的每個像素的顏色,并且在顯示器上顯示所述結(jié)果,即多邊緣形繪制。
      而且,三維計算機(jī)圖形系統(tǒng)10使用除了用于在平面上表達(dá)位置的(x,y)坐標(biāo)之外的表達(dá)深度的z坐標(biāo),以便表達(dá)三維對象,并且通過三個(x,y,c)坐標(biāo)來指定在三維空間中的任何點。
      而且,三維計算機(jī)圖形系統(tǒng)10對于由計算機(jī)圖形產(chǎn)生的圖像執(zhí)行諸如抗混疊的圖像處理。在這種情況下,在計算機(jī)圖形(CG)圖像的產(chǎn)生步驟中產(chǎn)生當(dāng)普通地處理圖像時不能使用的大量有益信息。在本實施例中,示出了一種用于重新使用或處理這種有益信息以精確地提取邊緣信息的方法,所述邊緣信息指示一個在圖像中的對象的邊緣界或方向突變的表面。
      本實施例包括兩種方法。下面將說明細(xì)節(jié)。
      第一種方法是使用一種信息的方法,所述信息是在三維計算機(jī)圖形的普通繪制時原來需要的信息,并且當(dāng)繪制時保持為信息,但是傳統(tǒng)上在其后不被使用,諸如緩沖器的信息,以便在繪制后提取邊緣信息。z緩沖器的信息通過三維計算機(jī)圖形以及顏色信息被繪制,但是傳統(tǒng)上當(dāng)向以后階段傳送顏色信息以使用時,放棄z信息(z值)而在其后不使用它。在本實施例中,在以后階段中重新使用z緩沖器的信息。
      第二種方法是這樣一種方法,它用于保持一種信息,所述信息在三維計算機(jī)圖形的普通繪制中不保留,例如每個像素的法向矢量的信息和多邊緣形的傾斜角的信息,所述方法在以后階段中使用它,第二種方法或者是用于形成在以后階段中的邊緣提取所需要的信息并且將其保留的方法。這種方法也可以被解釋為在向以后階段指示應(yīng)當(dāng)做什么的意義上繪制“指令”或“操作代碼”。所述信息是三維計算機(jī)圖形特有的信息。它也可以說是這樣的一種技術(shù),用于有效地處理和向以后階段傳送在繪制時提供的信息,以便可以在以后階段的圖像處理中使用它。
      在使用z緩沖器的方法中,第二微分以像素為單位而計算,并且用于邊緣提取。
      在使用法向矢量的方法中,以像素為單位來計算相鄰像素的法向矢量的內(nèi)積,并且根據(jù)像素的大小來判斷它是否是在邊緣上。
      而且,可以使用這樣一種方法,用于通過使用像素的屏幕坐標(biāo)僅僅從z緩沖器的信息和使用同樣的恢復(fù)在每個像素中的法向矢量的信息。
      而且,也可以使用這樣一種方法,用于使用諸如超采樣的技術(shù)來僅僅用于由這種技術(shù)得到的邊緣部分。
      而且,三維計算機(jī)圖形系統(tǒng)10當(dāng)執(zhí)行抗混疊時不像一般使用的技術(shù)那樣在繪制時不計算和存儲每個像素的覆蓋度。它也不使用諸如多采樣和超采樣的技術(shù)。
      即,三維計算機(jī)圖形系統(tǒng)10在產(chǎn)生計算機(jī)圖形圖像結(jié)束后執(zhí)行作為后處理的抗混疊。
      在產(chǎn)生計算機(jī)圖形圖像結(jié)束后作為后處理提取邊緣,并且通過使用邊緣信息來執(zhí)行抗混疊。
      從邊緣信息得到邊緣的圖案,并且按照所述圖案來處理像素。在本實施例中,不僅混合在所寫入的像素周圍的像素,而且混合對象和背景。甚至有時混合在覆蓋度上為100%的寫入的像素。
      在圖案提取時,可以通過使用狀態(tài)機(jī)和計數(shù)器來處理線性長的邊緣。
      作為邊緣的圖案,僅僅處理需要抗混疊的圖案。而且,處理具有重疊邊緣的圖案。
      在本實施例中,也示出了一種安裝方法,用于以像素為單位掃描z緩沖器等的信息,并且同時繼續(xù)進(jìn)行抗混疊。
      必要的處理如下1)從繪制后的圖像恢復(fù)屏幕坐標(biāo)中x方向和y方向的邊緣信息。
      2)從所獲得的邊緣信息確定抗混疊所需要的處理內(nèi)容。
      3)執(zhí)行所確定的處理。
      在本實施例中,使用一種技術(shù),用于通過下述方式來向像素應(yīng)用抗混疊,即,掃描在繪制時獲得的z緩沖器的信息或在每個像素中的法向矢量的信息或這兩種信息,或者使用從z緩沖器的信息恢復(fù)的法向矢量的信息。
      在每種掃描中,指定了一種狀態(tài)機(jī),它作為第一部件,用于保存狀態(tài);計數(shù)器,作為第二部件,用于測量邊緣的連續(xù)性。使用這兩種器件,確定將每個邊緣上的像素以何比率與在哪個方向上相鄰的像素的像素值混合。
      然后,使用所確定的值來用于所述混合。這在掃描期間連續(xù)地被執(zhí)行,直到更新了像素值。
      按照這種方法,為了抗混疊而增加的存儲量可以保持為小,并且不增加在繪圖時降低性能的處理。
      下面,將連續(xù)地說明如上所述配置的三維計算機(jī)圖形系統(tǒng)10的部件的特定結(jié)構(gòu)和功能。
      如圖1所示,三維計算機(jī)圖形系統(tǒng)10包括經(jīng)由主總線15連接的主處理器11、主存儲器12、輸入/輸出接口電路13和繪制電路14。繪制電路14連接到CRT控制電路16。注意在圖1中,CRT控制電路16被提供在繪制電路14之外,但是也可以使用在繪制電路14中提供同樣的配置。
      在這些部件中,繪制電路14和/或CRT控制電路16構(gòu)成本發(fā)明的邊緣信息提取部件和抗混疊部件。
      下面,將說明部件的功能。
      主處理器11按照進(jìn)展的狀態(tài)等來從主存儲器12讀出必要的圖形數(shù)據(jù),并且相對于這個圖形數(shù)據(jù)執(zhí)行幾何處理等,諸如坐標(biāo)轉(zhuǎn)換、剪裁和照亮,以產(chǎn)生多邊緣形繪制數(shù)據(jù)。
      主處理器11經(jīng)由主總線15向繪制電路14輸出多邊緣形繪制數(shù)據(jù)S11。
      輸入/輸出接口電路13按照需要從外部接收作為輸入的運動的控制信息或多邊緣形繪制數(shù)據(jù)等,并且將其經(jīng)由主總線15向繪制電路14輸出。
      輸入到繪制電路14的多邊緣形繪制數(shù)據(jù)包括每個多邊緣形的三個頂點的(x,y,z,R,G,B,α,s,t,q)的數(shù)據(jù)。
      在此,(x,y,z)數(shù)據(jù)示出了多邊緣形的頂點的三維坐標(biāo),(R,G,B)數(shù)據(jù)示出了在三維坐標(biāo)的紅色、綠色和藍(lán)色的亮度值。
      而且,α示出了混合值(系數(shù))。
      在(s,t,q)數(shù)據(jù)中,(s,t)示出了對應(yīng)的紋理的同類坐標(biāo),q示出了同類項。在此,“s/q”和“t/q”與紋理大小USIZE和VSIZE相乘以獲得實際的紋理坐標(biāo)數(shù)據(jù)(u,v)。
      通過使用紋理坐標(biāo)數(shù)據(jù)(u,v)來執(zhí)行對于在繪制電路14的圖形存儲器(具體上將后述紋理緩沖器)中存儲的紋理數(shù)據(jù)的存取。
      即,多邊緣形繪制數(shù)據(jù)是三角的頂點的物理坐標(biāo)值和頂點的顏色和紋理數(shù)據(jù)。
      如圖1所示,繪制電路14具有數(shù)字微分分析器(DDA)設(shè)置電路141,作為用于線性內(nèi)插操作的初始設(shè)置操作塊;三角DDA電路142,作為線性內(nèi)插處理塊;紋理引擎電路143;存儲器接口(I/F)電路144;和圖形存儲器145,例如被DRAM配置。通過紋理引擎電路143和存儲器接口(I/F)電路144來配置處理電路。
      在線性內(nèi)插在物理坐標(biāo)系上的三角的頂點的值以在后面的三角DDA電路142中得到三角內(nèi)的每個像素的顏色信息和深度信息之前,DDA設(shè)置電路141得到在三角的一側(cè)和水平方向之間的差等,以用于由多邊緣形繪制數(shù)據(jù)S11指示的(z,R,G,B,α,s,t,q)的數(shù)據(jù),即用于設(shè)置操作。
      這種設(shè)置操作具體上使用起點的值、終點的值和在起點和終點之間的距離來計算在單位長度運動情況下的要發(fā)現(xiàn)的值的變化量。
      DDA設(shè)置電路141向三角DDA電路142輸出設(shè)置數(shù)據(jù)S141來作為關(guān)于圖元的信息,其中包括所計算的變化數(shù)據(jù)。
      三角形的每組頂點數(shù)據(jù)包括16比特的例如x和y坐標(biāo)、24比特的z坐標(biāo)、12(=8+4)比特的RGB顏色值和32比特的浮點十進(jìn)制值(IEEE格式)的s、t、q紋理坐標(biāo)。
      三角DDA電路142根據(jù)作為從DDA設(shè)置電路141輸入的包括變化數(shù)據(jù)的、關(guān)于圖元的信息的設(shè)置數(shù)據(jù)S141來計算在三角形內(nèi)的像素的線性內(nèi)插(z,R,G,B,α,s,t,q)數(shù)據(jù)。
      三角DDA電路142向紋理引擎電路143輸出每個像素的(x,y)數(shù)據(jù)和在(x,y)坐標(biāo)的(z,R,G,B,α,s,t,q)數(shù)據(jù)來作為DDA數(shù)據(jù)(內(nèi)插數(shù)據(jù))S142。
      即,三角DDA電路142根據(jù)對于多邊緣形的每個頂點得到的圖像參數(shù)來內(nèi)插在多邊緣形中包括的所有像素的圖像參數(shù),即用于光柵化。
      具體上,三角DDA電路142光柵化各種數(shù)據(jù)(z,紋理坐標(biāo)、顏色等)。
      紋理引擎電路143以流水線形式來執(zhí)行用于計算“s/q”和“t/q”的處理、用于計算紋理坐標(biāo)數(shù)據(jù)(u,v)的處理、從圖形存儲器145讀取(R,G,B)數(shù)據(jù)等。
      注意,紋理引擎電路143同時并行執(zhí)行對于位于例如預(yù)定矩形內(nèi)多個(例如四個或八個)像素的處理。
      紋理引擎電路143對于由DDA數(shù)據(jù)S142指示的(s,t,q)數(shù)據(jù)執(zhí)行將s數(shù)據(jù)除以q數(shù)據(jù)和將t數(shù)據(jù)除以q數(shù)據(jù)的操作。
      紋理引擎電路143被提供有例如未示出的多個除法電路,它們對應(yīng)于要并行處理的像素的數(shù)量(例如,8)。同時執(zhí)行對于8個像素的相除“s/q”和“t/q”。而且,也可能安裝所述電路以便從在8個像素中的代表點執(zhí)行內(nèi)插操作。
      而且,紋理引擎電路143將相除結(jié)果“s/q”和“t/q”與紋理大小USIZE和VSIZE相乘以產(chǎn)生紋理坐標(biāo)數(shù)據(jù)(u,v)。
      而且,紋理引擎電路143經(jīng)由存儲器I/F電路向圖形存儲器145輸出包括所產(chǎn)生的紋理坐標(biāo)數(shù)據(jù)(u,v)的讀取請求,并且經(jīng)由存儲器I/F電路讀取在圖形存儲器145中包括的紋理緩沖器中存儲的紋理數(shù)據(jù),以由此獲得在對應(yīng)于(s,t)數(shù)據(jù)的紋理地址存儲的(R,G,B)數(shù)據(jù)。
      紋理引擎電路143通過將所讀出的(R,G,B)數(shù)據(jù)和在來自前面的三角DDA電路142的DDA數(shù)據(jù)S142中包括的(R,G,B)數(shù)據(jù)相乘等來產(chǎn)生像素數(shù)據(jù)。
      紋理引擎電路143最后向存儲器I/F電路144輸出這個像素數(shù)據(jù)來作為像素的色彩值。
      注意,在圖形存儲器145中包括的紋理緩沖器存儲MIPMAP(用于多個分辨率的紋理)或?qū)?yīng)于多個壓縮率的其他紋理數(shù)據(jù)。在此,使用預(yù)定的算法來在上面的三角單元確定紋理數(shù)據(jù)要使用哪個壓縮率。
      紋理引擎電路143在全色模式的情況下直接地使用從紋理緩沖器讀出的(R,G,B)數(shù)據(jù)。
      另一方面,在指數(shù)顏色模式的情況下,紋理引擎電路143向通過內(nèi)置SRAM等配置的暫時存儲緩沖器傳送提前從紋理顏色查找表(CLUT)緩沖器準(zhǔn)備的顏色指數(shù)表的數(shù)據(jù),并且使用這個顏色查找表來獲得與從紋理緩沖器讀出的顏色指數(shù)對應(yīng)的(R,G,B)。
      例如,當(dāng)顏色查找表由SRAM組成時,當(dāng)向SRAM的地址輸入顏色指數(shù)時,輸出實際的(R,G,B)數(shù)據(jù)。
      而且,紋理引擎電路143可以被配置以便在圖形存儲器145中存儲不在三維計算機(jī)圖形的普通繪制中保留的信息,例如每個像素的法向矢量的信息和多邊緣形的傾斜角的信息,用于實現(xiàn)上述的邊緣信息提取的第二種方法。
      存儲器接口I/F電路144比較與從紋理引擎電路143輸入的像素數(shù)據(jù)S145對應(yīng)的z數(shù)據(jù)和在圖形存儲器145中包括的z緩沖器中存儲的z數(shù)據(jù),判斷通過輸入像素數(shù)據(jù)繪制的圖像是否比上次寫入到圖形存儲器145(顯示緩沖器)的圖像更靠近(視點側(cè)),并且當(dāng)它更靠近時將z數(shù)據(jù)更新為所述圖像數(shù)據(jù)和存儲在z緩沖器中。
      而且,存儲器I/F電路144向圖形存儲器145(顯示緩沖器)寫入(R,G,B)數(shù)據(jù)。
      而且,存儲器I/F電路144根據(jù)紋理地址計算圖形存儲器145的存儲塊,其用于存儲從那時開始要繪制的像素上的紋理地址所對應(yīng)的紋理數(shù)據(jù),僅向那個存儲塊發(fā)出讀取請求,并且由此讀出紋理數(shù)據(jù)。
      在這種情況下,不存取沒有保留對應(yīng)的紋理數(shù)據(jù)的存儲塊以讀取紋理數(shù)據(jù),因此變得有可能提供更多的存取時間以繪制。
      以相同的方式,在繪制時,存儲器I/F電路144從對應(yīng)的地址讀出像素數(shù)據(jù),以修改用于存儲從那時開始要繪制數(shù)據(jù)的像素地址所對應(yīng)的像素數(shù)據(jù)的、圖形存儲器145的存儲塊的寫入,并且在修改后向同一地址寫回所述數(shù)據(jù)。
      在隱藏的平面處理時,所述電路從對應(yīng)的地址讀出深度數(shù)據(jù)以修改用于存儲仍然要向其繪制數(shù)據(jù)的像素地址所對應(yīng)的深度數(shù)據(jù)的存儲塊的寫入,并且如果必要的話在修改后向同一地址寫回所述數(shù)據(jù)。
      而且,存儲器I/F電路144當(dāng)從紋理引擎電路143接收到包括相對于圖形存儲器145所產(chǎn)生紋理坐標(biāo)數(shù)據(jù)(u,v)的讀取請求時,讀出在圖形存儲器145中存儲的(R,G,B)數(shù)據(jù)。
      而且,當(dāng)接收到用于從CRT控制電路16讀取顯示數(shù)據(jù)的請求時,存儲器I/F電路144響應(yīng)這個請求從圖形存儲器145(顯示緩沖器)以例如8個像素或16個像素為單位讀出特定數(shù)量的顯示數(shù)據(jù)。
      當(dāng)從CRT控制電路16接收到z值的讀取請求以例如使用例如z值來進(jìn)行邊緣信息恢復(fù)時,存儲器I/F電路144響應(yīng)這個請求而在x方向(水平方向)和y方向(垂直方向)中掃描圖形存儲器145(z緩沖器)以讀出所述z值。
      而且,當(dāng)從CRT控制電路16接收用于例如法向矢量來進(jìn)行邊緣信息恢復(fù)的法向矢量的讀取請求時,存儲器I/F電路144響應(yīng)于這個請求而掃描圖形存儲器145以讀出法向矢量信息。
      存儲器I/F電路144存取(用于寫入或讀取)圖形存儲器145,但是寫入路徑和讀取路徑被配置為獨立路徑。
      即,在寫入的情況下,寫入地址和寫入數(shù)據(jù)在寫入系統(tǒng)電路中被處理,并且被寫入到圖形存儲器145,而在讀取的情況下,它們在讀取系統(tǒng)電路中被處理,并且從圖形存儲器145被讀出。
      而且,存儲器I/F電路144根據(jù)尋址的預(yù)定交織類型來以例如16像素為單位存取圖形存儲器145。
      在這樣的與存儲器的數(shù)據(jù)傳送中,可以通過并行執(zhí)行多個處理來改善繪制性能。
      特別是,通過以并行有效格式(空間并行)提供用于三角DDA部分和紋理引擎部分的同一電路或精細(xì)地插入流水線(時間并行)來對于多個像素執(zhí)行同時計算。
      圖形存儲器145的存儲塊被布置使得在顯示區(qū)域中的相鄰部分變?yōu)椴煌拇鎯K,如下所述,因此當(dāng)繪制像三角形的平面時,它們變得能夠在所述平面上同時被處理。因此,每個存儲塊的操作概率變得很高。
      圖形存儲器145一般作為紋理緩沖器、顯示緩沖器、z緩沖器和紋理CLUT(顏色查找表)緩沖器。
      而且,當(dāng)CRT控制電路16被配置以便使用法向矢量來執(zhí)行邊緣信息恢復(fù)時,圖形存儲器145除了作為紋理緩沖器、顯示緩沖器和z緩沖器和紋理CLUT(顏色查找表)緩沖器之外也還作為用于存儲法向矢量的正規(guī)緩沖器。
      圖形存儲器145被劃分為多個,例如四個,具有相同功能的模塊。
      為了在圖形存儲器145中存儲更多的紋理數(shù)據(jù),在紋理CLUT緩沖器中存儲在指數(shù)顏色的指數(shù)和用于其的顏色查找表的值。
      使用所述指數(shù)和顏色查找表的值來用于如上所述的紋理處理。
      即,通常由總共24比特來表達(dá)紋理元素,所述24比特包括R、G和B的每個的8個比特。但是,在這種情況下,數(shù)據(jù)量增大,因此從提前選擇的例如256個顏色中選擇一個顏色,并且將那個數(shù)據(jù)用于紋理處理。結(jié)果,對于256種顏色,可以通過8比特來表達(dá)一個紋理元素。從指數(shù)到實際顏色的轉(zhuǎn)換表變得必要,但是紋理的分辨率越高,則紋理數(shù)據(jù)可以變得越緊湊。
      由此,紋理數(shù)據(jù)的壓縮變得可能,并且內(nèi)置存儲器的有效利用變得可能。
      而且,圖形存儲器145存儲要繪制的對象的深度信息,以用于與繪制同時和并行地執(zhí)行隱藏平面處理。
      注意,作為顯示數(shù)據(jù)、深度數(shù)據(jù)和紋理數(shù)據(jù)的存儲方法,例如顯示數(shù)據(jù)被存儲在存儲塊的預(yù)定位置,例如從頂部連續(xù)地存儲,然后存儲深度數(shù)據(jù),然后在剩余的空白區(qū)域中用于每種紋理的連續(xù)地址空間中存儲紋理數(shù)據(jù)。
      如上所述,在DDA設(shè)置電路141、三角DDA電路142、紋理引擎電路143、存儲器I/F電路144等中的預(yù)定處理后,最后的存儲器存取變?yōu)橹T如像素的繪制像素單位。
      CRT控制電路16產(chǎn)生顯示地址,以用于與給定的水平和垂直同步信號同步地在未示出的CRT上顯示,并且向存儲器I/F電路144輸出用于從在圖形存儲器145中包括的顯示緩沖器讀取顯示數(shù)據(jù)的請求。
      響應(yīng)于這個請求,存儲器I/F電路144從圖形存儲器145(顯示緩沖器)讀出特定數(shù)量的顯示數(shù)據(jù)。
      CRT控制電路16包括例如內(nèi)置的FIFO電路,用于存儲從圖形存儲器145讀出的顯示數(shù)據(jù),并在不變的時間間隔產(chǎn)生RGB的指數(shù)值。
      CRT控制電路16存儲對應(yīng)于指數(shù)值的R、G、B數(shù)據(jù),并且向未示出的數(shù)/模(D/A)轉(zhuǎn)換器傳送對應(yīng)于所產(chǎn)生的RGB的指數(shù)值的數(shù)字格式的R,G,B數(shù)據(jù),以產(chǎn)生模擬格式的R,G,B數(shù)據(jù)。
      CRT控制電路16向未示出的CRT輸出這個所產(chǎn)生的R,G,B數(shù)據(jù)。
      CRT控制電路16對于由上述的計算機(jī)圖形處理產(chǎn)生的圖像執(zhí)行抗混疊和其他圖像處理。
      下面,將說明用于在本實施例中的抗混疊的邊緣信息產(chǎn)生和基于結(jié)合繪制而產(chǎn)生的邊緣信息的特定抗混疊。
      首先,將說明用于產(chǎn)生用于邊緣提取的信息的處理。
      在本實施例中,作為用于邊緣提取的信息產(chǎn)生方法,如上所述,使用重新使用z緩沖器的z值的第一種方法和使用每個像素的法向矢量的信息的第二種方法。
      使用z緩沖器的信息的邊緣提取方法z值在三維計算機(jī)圖形的繪制時被原始地計算和寫入在圖形存儲器145中。在此,不使用z值本身。而是,z值的第二微分變得必要。
      如圖2A和2B所示,z值的第二微分是很有用的信息??梢詫⒛莻€值離開適當(dāng)?shù)拈撝档狞c看作邊緣。在三維計算機(jī)圖形的繪制時獲知不是通過圖像識別從二維圖像計算的z值而是獲得精確的z的值,因此從z值的第二微分檢測的邊緣信息的精度變得極高。在許多情況下,在此獲得的邊緣是在所繪制的對象和背景之間的邊緣界。
      在圖2A中,在夾著邊緣的兩個點上,在圖中由箭頭&lt;2&gt;指示的第二微分的結(jié)果(方向)與在同一對象內(nèi)或在背景的視圖中的箭頭&lt;1&gt;和&lt;3&gt;指示的結(jié)果(方向)不同。以相同的方式,在圖2B中,在夾著邊緣的兩個點,在視圖中由箭頭&lt;3&gt;指示的第二微分的結(jié)果與在同一對象或背景內(nèi)的視圖中的箭頭&lt;1&gt;、&lt;2&gt;、&lt;4&gt;和&lt;5&gt;指示的結(jié)果(方向)很不同。
      作為獲得z的第二微分的方法,可以使用通過在繪制結(jié)束后掃描z緩沖器而計算的方法和與繪制時寫入(安裝)像素值相同的定時更新z的第二微分的方法。
      當(dāng)必須保留存儲器時,優(yōu)選的是,采用使用前一種方法和按照CRT控制電路16的請求與z的掃描同時地結(jié)束必要的處理的方法。
      如果必須減輕在以后階段種的處理,則可以使用后一種方法來結(jié)束與繪制一起的z的第二微分的計算。
      在此,將說明用于結(jié)束與繪制一起的z的第二微分的計算的方法。在這種情況下,使用不是CRT控制電路16而是存儲器I/F電路144或紋理引擎電路143來計算與繪制一起的z的第二微分。CRT控制電路16通過存儲器I/F電路144讀出關(guān)于所產(chǎn)生圖像的第二微分,并且執(zhí)行抗混疊。
      除了原始存在的z緩沖器之外提供了z的第二微分的緩沖器,并且將其初始化為零。每當(dāng)在繪制時更新某一像素的z值時,更新具有對第二微分產(chǎn)生影響的z值的周圍像素的第二微分。
      通過那個處理,在繪制結(jié)束時形成z的第二微分的緩沖器。
      當(dāng)屏幕坐標(biāo)是x和y并且在每個像素的z值是z(x,y)時,作為第二微分的分布,下列兩種分布對于每個像素變得必要。
      d2z/dx2(x,y)=z(x+1,y)+z(x-1,y)-2*z(x,y)d2z/dy2(x,y)=z(x,y+1)+z(x,y-1)-2*z(x,y) (1)在繪制時,如果更新某個x、y地址的z值,則更新地址(x-1,y)、(x+1,y)、(x,y-1)、(x,y+1)的z的第二微分。
      例如,假定在更新前的第二微分如下d2z/dx20_0(x,y)=z0(x+1,y)+z0(x-1,y)-2*z0(x,y)(2)在此,假定例如(x-1,y)的z值被更新為z1,則在更新后的第二微分變得如下d2z/dx21_1(x,y)=z0(x+1,y)+z1(x-1,y)-2*z0(x,y)(3)
      此時,為了更新第二微分,可以執(zhí)行下列方程的計算d2z/dx2_1-d2z/dx2_0=z 1(x-1,y)-z0(x-1,y)(4)可以通過下列讀取修改寫入程序來執(zhí)行更新讀取d2z/dx20的值,加上上述差,并且寫回結(jié)果。
      注意,當(dāng)使用z的第二微分來用于諸如抗混疊的處理時,可以使用利用在x和y方向的值的任何一個的方法或獨立地使用兩種信息的方法。
      接著,作為獲得z的第二微分的方法,將說明在結(jié)束繪制后掃描z緩沖器、計算和產(chǎn)生邊緣信息的方法。
      圖3A-3C是用于說明作為獲得z的第二微分的方法的、在繪制結(jié)束后掃描z緩沖器和計算以產(chǎn)生邊緣信息的方法。
      如圖3A-3C所示,當(dāng)掃描z緩沖器時,在水平方向(x方向)上的掃描和在垂直方向(y方向)上的掃描都對于恢復(fù)邊緣信息是有效的,但是,在抗混疊中,進(jìn)行在垂直和水平方向上的掃描的聯(lián)合使用也是有效的。
      在掃描時,在每個像素執(zhí)行下列過濾。
      d2z=4*z(x,y)-z(x,y-1)-z(x,y+1)-z(x-1,y)-z(x+1,y)d2zdx=2*z(x,y)-z(x-1,y)-z(x+1,y)d2zdy=2*z(x,y)-z(x,y-1)-z(x,y+1) (5)存在用于通過向上、下、左、右和中心像素加上方程5中所示的系數(shù)來找出值的方法,除了那個以外,但是有可能獨立地找出下述兩個值通過上、下和中心像素的在垂直方向中的值,通過左、右和中心像素的在水平方向上的值。這種方法在以后的抗混疊中有效。
      在水平方向(x方向)和垂直方向(y方向)上的獨立計算過濾值(z的第二微分)的方法中,在掃描時對于每個像素得到兩個值[d2dx,(x,y)]和[dz2dy(x,y)]。對于每個值執(zhí)行使用閾值Zth的下列評估,即評估是否絕對值大于閾值Zth。
      abs(dz2dx(x,y))>zthabs(dz2dy(x,y))>zth (6)注意Zth是可調(diào)整的閾值。
      如果所述評估不等式(6)為真,則像素在那個方向上的邊緣上,如果它不為真,則像素不在那個方向的邊緣上。
      例如,假定z的第二微分(當(dāng)在屏幕坐標(biāo)像素之間的距離是1時在x,y的值)如方程7中那樣。
      x方向d2zdx=z(x+1,y)+z(x-1,y)-2*z(x,y)y方向d2zdy=z(x,y+1)+z(x,y-1)-2*z(x,y) (7)在這種情況下,當(dāng)d2zdx>zth時,評估所述像素位于在x方向上不連續(xù)但是在y方向上延伸的邊緣上。
      當(dāng)d2zdy>zth時,評估所述像素位于在y方向上不連續(xù)但是在x方向上延伸的邊緣上。
      可以通過z緩沖器的一個掃描來對于每個像素進(jìn)行上述處理。
      而且,獨立地判斷是否某個像素在x方向和y方向上的邊緣上是用于抗混疊的有效手段。
      接著,將說明使用法向矢量來用于邊緣提取的方法。
      使用每個像素的法向矢量的信息的邊緣提取方法法向矢量在繪制時被產(chǎn)生,但是一般不存儲在圖形存儲器145中,并且在使用后被丟棄。如果對于每個像素在圖形存儲器145中存儲它們,則它們可以用于在以后階段中的邊緣提取。下面將說明提取方法。
      另一方面,存儲器是用于存儲法向矢量所需要的,因此也可以使用通過不在存儲器中存儲法向矢量而是從平面坐標(biāo)和在繪制結(jié)束后的z緩沖器的z值來恢復(fù)法向矢量而保留存儲器的方法。
      作為具體的技術(shù),如圖4和下面的方程8所示,在每個像素,當(dāng)通過屏幕坐標(biāo)的x、y坐標(biāo)值和z緩沖器的z值來形成三維坐標(biāo)、并且使用三點——在所涉及的像素上或下的一個像素、在所涉及的像素的右或左的一個像素和所涉及的像素——的三維坐標(biāo)來計算向量的外積的時候,結(jié)果是法向矢量。
      (nx0,ny0,nz0)=((x2,y2,z2)-(x0,y0,z0)x((x1,y1,z1)-(x0,y0,z0))nx0=(y2-y0)*(z1-z0)-(z2-z0)*(y1-y0)ny0=(z2-z0)*(x1-x0)-(x2-x0)*(z1-z0)nz0=(x2-x0)*(y1-y0)-(y2-y0)*(x1-x0)(8)即,在用于從z緩沖器的值恢復(fù)法向矢量的方法中,通過下述方式獲得的向量被定義為法向矢量歸一化在通過z緩沖器的值z和z緩沖器的地址(x,y)這三個參數(shù)形成的三維空間中從某一點到兩個其他點的向量的外積。
      給出一個示例,當(dāng)在兩個x和y維上分布z緩沖器的地址并且在像素之間的x和y方向上的距離是1的時候,結(jié)果變得如下
      nx=z(x+1,y)-z(x,y)ny=z(x,y+1)-z(x,y)nz=-1 (9)以這種方式,對于使用法向矢量的邊緣信息恢復(fù),必須在繪制時在緩沖器中存儲每個像素的法向矢量的分量或從z緩沖器的信息和屏幕坐標(biāo)恢復(fù)法向矢量。
      如果存儲法向矢量,則如果存儲用于假陰影(Phong shading)的線性內(nèi)插的法向矢量的值則提高精度,但是也可能在不內(nèi)插法向矢量的繪圖時將多邊緣形的平均值存儲為每個像素的值。
      而且,不必存儲所有三個分量。如果法向矢量的條件是向量的幅度是1,則如果僅僅兩個分量的符號和剩余的一個分量被存儲,則可以以后通過計算來提取三個分量。
      圖5A-5D示出了用于從法向矢量的信息提取邊緣信息的方法。
      如圖所示,通過掃描水平方向(x方向)或垂直方向(y方向)的任何一個或兩者來提取信息。當(dāng)存在法向矢量緩沖器時,這個法向矢量緩沖器被掃描。
      當(dāng)恢復(fù)法向矢量時,掃描z緩沖器,并且當(dāng)判斷邊緣時恢復(fù)所述法向矢量。在掃描期間,在每個像素,如圖和下面的方程10中所示,獲得在中心像素的法向矢量和所述像素的上下左右的像素的法向矢量之間的內(nèi)積。
      Px0=N(x,y)·N(x-1,y)Px1=N(x,y)·N(x+1,y)Py0=N(x,y)·N(x,y-1)Py1=N(x,y)·N(x,y+1)(10)相對于內(nèi)積來執(zhí)行下面的評估11-1.Abs(px0)<(1.0_nth)11-2.Abs(px1)<(1.0_nth)11-3.Abs(py0)<(1.0_nth)11-4.Abs(py1)<(1.0_nth)在此,“nth”是可調(diào)整的閾值。如果上述的不等式11-1或11-2為真,則推斷所涉及的像素在x方向的邊緣上。如果上述的不等式11-3或11-4為真,則推斷所涉及的像素在y方向的邊緣上。
      即,計算在x和y方向中彼此相鄰的像素的法向矢量的內(nèi)積。如果內(nèi)積的值在從1.0到閾值的范圍內(nèi),則判斷所述像素不在所述邊緣上,而如果它們在閾值的范圍之外,則判斷所述像素在所述邊緣上。
      例如,當(dāng)滿足在x方向上的下列條件時,則判斷在所涉及的像素左面(x變小的方向)存在y方向上延伸的邊緣。
      nx(x-1,y)*nx(x,y)+ny(x-1,y)*ny(x,y)+nz(x-1,y)*nz(x,y)<nth(12)當(dāng)滿足下列條件時,則判斷在所涉及的像素右面(x變大的方向)存在在y方向上延伸的邊緣。
      nx(x-1,y)*nx(x,y)+ny(x+1,y)*ny(x,y)+nz(x+1,y)*nz(x,y)<nth(13)當(dāng)滿足下列條件時,則判斷在所涉及的像素上(y變小的方向)存在x方向上延伸的邊緣。
      nx(x,y-1)*nx(x,y)+ny(x,y-1)*ny(x,y)+nz(x,y-1)*nz(x,y)<nth(14)當(dāng)滿足下列條件時,則判斷在所涉及的像素下方(y變大的方向)存在x方向上延伸的邊緣。
      nx(x,y+1)*nx(x,y)+ny(x,y+1)*ny(x,y)+nz(x,y+1)*nz(x,y)<nth(15)對于上述評估,一次掃描使能要處理的每個像素。獨立地相對于x和y方向調(diào)查邊緣的存在和在垂直方向和水平方向中的掃描給出在其后的抗混疊處理的有益信息。
      向關(guān)于像素是否在如上所述獲得的邊緣上的信息增加關(guān)于邊緣存在于左或右的哪個或在上或下的哪個的信息。于是,作為信息,除了用于指示邊緣的存在的1比特信息之外,用于指示所述邊緣存在于哪側(cè)的1比特信息也是必要的,因此產(chǎn)生了至少2比特的信息。
      在本實施例中,如上所述,在繪制屏幕坐標(biāo)中的x方向和y方向的邊緣信息后從圖像恢復(fù)預(yù)定的信息,并且從所獲得的邊緣信息確定抗混疊所需要的處理內(nèi)容,并且執(zhí)行所確定的處理。
      在本實施例中,通過掃描在繪制時獲得的z緩沖器的信息或在每個像素的法向矢量的信息的任何一個或兩者或者使用從z緩沖器的信息恢復(fù)的法向矢量的信息,向每個像素應(yīng)用抗混疊。
      例如,在每次掃描中,定義了用于保存狀態(tài)的狀態(tài)機(jī)和用于測量邊緣的連續(xù)性的計數(shù)器。通過這兩個器件,對于在每個邊緣上的像素,確定在什么方向與相鄰像素的像素值以何種比率執(zhí)行混合。然后,所確定的值用于混合。這在掃描期間被連續(xù)地執(zhí)行,直到更新像素值。
      按照這種方法,可以將用于抗混疊目的的存儲器的提高量保持為小,并且不增加在繪制時降低性能的處理。
      下面,將說明這種處理的算法和安裝格式。
      算法變得混疊的邊緣的最一般形狀是圖6A和6C所示的圖案。這樣的圖案的邊緣被混合,如圖6B和6D所示。
      具體上,如圖7所示,夾住邊緣的像素彼此混合。在這種情況下,當(dāng)一個像素側(cè)的長度是1.0時在附圖中的梯形的面積變?yōu)榛旌舷禂?shù)。
      使用圖7的情況作為示例,當(dāng)像素值是A0、A1、A2、B0、B1和B2時,下面示出了每個像素值如何改變。在此,對應(yīng)于像素的混合系數(shù)是a0、a1、a2、b0、b1和b2。
      A0→A0*(1-a0)+B0*a0B0→B0*(1-b0)+A0*b0a0=3.0*0.5*0.5*(1-2*2/(3*3))b0=3.0*0.5*0.5*(1-1/(3*3))A1→A1*(1-a1)+B1*a1B1→B1*(1-b1)+A1*b1a1=3.0*0.5*0.5*2*2(3*3)*(1-1*1/(2*2))b1=3.0*0.5*0.5*2*2(3*3)*(1-1*1/(2*2))A2→A2*(1-a2)+B2*a2B2→B2*(1-b2)+A2*b2a2=3.0*0.5*0.5*(1*1/(3*3))b2=3.0*0.5*0.5*(1-2*2/(3*3))(16)如果使用上述系數(shù),則即使在靠近水平或垂直的邊緣上也完全地消除了混疊的形狀。
      得到用于上述處理的邊緣的圖案(混疊圖案)是必要的。一般,這變?yōu)橛糜谠诖怪狈较蚝退椒较蛏溪毩⒌氐玫綀D8所示的邊緣的圖案的處理。
      為此,也可能定義屏蔽(mask)和執(zhí)行圖案匹配,但是也可以使用下面的方法。有可能組合下面的方法和圖案匹配。
      當(dāng)注意到特定線時,從任何一個端點掃描那條線。在掃描的中間,有時,在垂直于所述線的方向上得到變?yōu)檫吘壍南袼亍?br> 例如,當(dāng)在x方向上掃描時,這是在y方向上變?yōu)檫吘壍南袼?。?dāng)在y方向上掃描時,這是在x方向上變?yōu)檫吘壍南袼??!霸趚(y)方向上的邊緣”表示z的第二微分、法向矢量的方向等在那個方向上突變。
      當(dāng)發(fā)現(xiàn)這樣的像素時,下述概率極高在相關(guān)的線上或下的線的像素中在垂直于所述線方向的方向上也得到形成邊緣的像素。
      而且,當(dāng)繼續(xù)掃描時,形成邊緣的幾個像素在垂直于相關(guān)線的方向上將連續(xù),并且形成邊緣的像素也在上或下像素上在垂直方向上將連續(xù)。在某個時間點,當(dāng)相關(guān)線的像素連續(xù)在垂直方向上形成邊緣時,在上和下線中在垂直方向上形成邊緣的線將轉(zhuǎn)向。在這樣的狀態(tài)連續(xù)幾個像素后,在相關(guān)線中,在垂直方向上的邊緣的像素將消失。這是如何得到一個混疊圖案。
      在相關(guān)線中在垂直方向上形成邊緣的像素與在垂直方向上形成邊緣的上或下像素混合,然后被寫回。
      在本實施例中,當(dāng)?shù)玫竭@樣的圖案時,在每條線的掃描中,例如,使用狀態(tài)機(jī)和計數(shù)器。
      狀態(tài)機(jī)示出了在處理中的像素在什么圖案形狀的什么位置,而計數(shù)器測量從混疊圖案的起點到改變點(上和下邊緣轉(zhuǎn)向的部分)的長度和從所述改變點到當(dāng)混疊圖案結(jié)束時的長度。
      由此,可以相對于每個像素示出邊緣存在于混疊圖案的哪個長度的哪個部分,并且可以計算要混合的其他像素的位置和混合系數(shù)。
      在本方法中,可以識別多少類型的圖案對于處理的質(zhì)量具有影響。特別是,必須得到適合于當(dāng)兩條或多條邊緣重疊或變近的處理。
      由此,在本實施例中,除了線掃描時的相關(guān)線之外,也可以獲得多條上和下線的邊緣信息。例如,為了得到如圖9所示的重疊邊緣和圖10和圖11所示的靠近邊緣的圖案,并且適當(dāng)?shù)靥幚硭鼈?,必須同時查看至少兩條上線和兩條下線或總共五條線的信息。
      圖12是在概念上示出用于實現(xiàn)如上所述的邊緣信息產(chǎn)生和抗混疊的安裝的特定模式的視圖。
      這種抗混疊系統(tǒng)200如圖12所示具有z緩沖器201;法向矢量緩沖器202;第一第二微分電路203,用于通過水平地(在x方向上)掃描z緩沖器201而獲得的z值的第二微分;第一內(nèi)積計算電路204,用于獲得通過水平地(在x方向上)掃描而獲得的法向矢量的內(nèi)積;第一邊緣判定電路205,用于根據(jù)第二微分電路203和內(nèi)積計算電路204的結(jié)果來進(jìn)行邊緣判斷;第一狀態(tài)機(jī)206,用于根據(jù)第一邊緣判斷電路205的判斷結(jié)果來指示處理中的像素存在于什么圖案形狀的什么位置;第一計數(shù)器207,用于測量從混疊圖案的起點到改變點(上和下邊緣轉(zhuǎn)向的部分)的長度和從改變點到當(dāng)混疊圖案結(jié)束時的長度;第二第二微分電路208,用于通過垂直地(在y方向上)掃描z緩沖器201而獲得的z值的第二微分;第二內(nèi)積計算電路209,用于取得通過垂直地(在y方向上)掃描而獲得的法向矢量的內(nèi)積;第二邊緣判斷電路210,用于根據(jù)第二微分電路208和內(nèi)積計算電路209的結(jié)果來進(jìn)行邊緣判斷;第二狀態(tài)機(jī)211,用于根據(jù)第二邊緣判斷電路210的判斷結(jié)果來指示像素存在于什么圖案格式的什么位置;第二計數(shù)器212,用于測量從混疊圖案的起點到改變點(上和下邊緣轉(zhuǎn)向的部分)的長度和從改變點到當(dāng)混疊圖案結(jié)束時的長度;顯示緩沖器213,用于存儲所完成的計算機(jī)圖形(CG)圖像;顯示緩沖器214,用于存儲在抗混疊后的圖像;和標(biāo)記寄存器215。
      假定圖12的抗混疊系統(tǒng)200從下列作為前提而存在的狀態(tài)開始處理1.結(jié)束繪制三維計算機(jī)圖形圖像;2.伴隨著繪制完成z緩沖器201;3.伴隨著繪制完成法向矢量緩沖器202。
      上述的“緩沖器”表示每個像素具有的數(shù)據(jù)的存儲器。z緩沖器201是如上所述的最初繪制的和在繪制結(jié)束的同時被丟棄的原始信息的副產(chǎn)品。在本實施例中,這被重新使用。
      關(guān)于法向矢量緩沖器202,可以通過計算根據(jù)z緩沖器201和屏幕坐標(biāo)來恢復(fù)法向矢量,因此當(dāng)包括那個處理時不需要法向矢量緩沖器。
      在圖12的抗混疊系統(tǒng)200中,并行同時執(zhí)行水平掃描和垂直掃描。而且,與每個掃描一起進(jìn)行處理。
      在每個掃描中,在第一和第二第二微分電路203和208中得到z值的第二微分,并且在第一和第二內(nèi)積計算電路204和209中計算相鄰像素的法向矢量的內(nèi)積。
      然后,第一和第二邊緣判斷電路205和210根據(jù)第一和第二第二微分電路203和208與第一和第二內(nèi)積計算電路204和209的結(jié)果來判斷是否所涉及的像素在x方向和y方向的每個的邊緣上,并且向狀態(tài)機(jī)206和211發(fā)送判斷結(jié)果。
      狀態(tài)機(jī)206和211判斷在處理中的像素在什么邊緣圖案的什么部分,并且保存邊緣的信息。然后,計數(shù)器207和212測量邊緣的長度。
      當(dāng)邊緣的圖案在那條線處結(jié)束時,狀態(tài)機(jī)206和211與計數(shù)器207和212被清空,返回到線后的像素而執(zhí)行混合系數(shù)的計算、要混合的其他像素的確定等,混合每個像素,并且在作為用于存儲處理后的圖像的存儲器的顯示緩沖器中寫入數(shù)據(jù)。
      此時,并行執(zhí)行水平掃描的處理和垂直掃描的處理,因此對于每個像素,必須保存一個比特的標(biāo)記信息,用于指示是否另一個掃描已經(jīng)處理了所涉及的像素。
      如果所述標(biāo)記不在標(biāo)記檢測器215中,則混合緩沖器213的“完成的CG圖像”的像素值,而如果它在其中,則從緩沖器214的“抗混疊后的圖像”讀出像素值,混合那個值,然后寫回數(shù)據(jù)。
      注意,有時僅僅使用z緩沖器的信息而不使用法向矢量緩沖器和不進(jìn)行法向矢量恢復(fù)。
      而且,掃描的寬度僅僅需要是三條線,以便檢測普通的邊緣圖案,但是必須同時掃描至少五條線,以便分離重寫邊緣等。本發(fā)明不排除任何數(shù)量的線作為多條線被同時掃描的概率。
      下面,將說明狀態(tài)機(jī)的示例。
      在此所述的狀態(tài)機(jī)使用三個變量“狀態(tài)”、“計數(shù)”和“奇偶”。
      而且,“next#state”指示狀態(tài)下一個所取的值。
      在掃描方向上每次前進(jìn)一個像素。在x方向和y方向上掃描z緩沖器、法向矢量緩沖器或邊緣信息緩沖器(表示用于存儲通過z緩沖器等的掃描而獲得的邊緣信息的存儲器),以通過所讀取的數(shù)據(jù)而改變變量“狀態(tài)”。按照變量“狀態(tài)”來確定計數(shù)器的清空、計數(shù)和值的保存。
      x方向掃描的情況When state==0if(pixel forming edge in y-direction)next#state=1
      count=1;if(pixel forming edge also in x-direction)parity=1;elseparity=0;elsenext#state=0;count=0;When state==1if(pixel forming edge in y-direction)next#state=1count=count+1;elsenext#state=0if(parity==pixel forming edge in 1&amp;&amp;xdirection)Blending going back by amount of pixels of count when mode=2if(parity==not edge in 1&amp;&amp;xdirection)Blending going back by amount of pixels of count when mode=1if(parity==pixel forming edge in 0&amp;&amp;xdirection)Blending going back by amount of pixels of count when mode=0if(parity==not edge in 0&amp;&amp;xdirection)Nothing done當(dāng)繪制狀態(tài)機(jī)的運動和通過數(shù)字(figure)混合時,它們變?yōu)槿鐖D13A-13D所示。
      所圖解的示例是這樣的示例,其中通過在x方向上的掃描來觀看上和側(cè)邊緣。
      向后地執(zhí)行混合,直到當(dāng)可變狀態(tài)從1向0改變時的位置。
      如何得到混合系數(shù)當(dāng)模式=0時,具有較大計數(shù)的像素的混合系數(shù)是接近0.5的值。具有較小計數(shù)的像素的混合值靠近接近零的值。可以從多種方法選擇這個計算的方法。
      在上述的示例中,例如,用于建立計數(shù)C的像素的混合系數(shù)C/5*0.5的方法是最簡單的方法。除此之外,用于建立例如圖7所示的混合系數(shù)的梯形的區(qū)域的方法是可能的。
      此時,方程變得如下混合系數(shù)=0.5*0.5/Len*(Len-C+1)2-(Len-C)2(17)Len在本示例中是5。
      當(dāng)模式=1時,計數(shù)C的相對幅度和混合系數(shù)變得與當(dāng)模式=0時的那些相反。
      當(dāng)模式=2時,即使在從0到0.5的適當(dāng)值均勻,當(dāng)設(shè)置值以便在中間的混合系數(shù)(在這個示例中為接近C=3)變得略大的時候,則結(jié)果顯示為自然結(jié)束。
      注意,在此所述的狀態(tài)機(jī)僅僅是一個示例。
      一般,狀態(tài)機(jī)在x方向和y方向上執(zhí)行處理。在每個掃描中,提供了狀態(tài)機(jī)來感測邊緣的形狀,并且對多個像素計數(shù)。作為狀態(tài)機(jī)的操作的結(jié)果,向后地處理像素。
      作為一種用于選擇或混合x方向混合和y方向混合的方法,有可能使用下列方法·在混合前比較混合系數(shù)并且僅僅對于較大的一個執(zhí)行處理的方法;·在混合前比較混合系數(shù)并且僅僅對于較小的一個執(zhí)行處理的方法;·等同地混合兩個處理的方法;·向在時間上移位的x方向處理和y方向處理中的前一個處理提供優(yōu)先權(quán),此時變得需要用于存儲指示每個像素的處理的1比特的存儲器;·按照混合系數(shù)的幅度來向在時間上移位的x方向處理和y方向處理中的前一個處理提供優(yōu)先權(quán),此時變得需要用于存儲每個像素的混合系數(shù)的存儲器;·等同地混合在時間上移位的x方向處理和y方向處理的方法,此時變得需要用于存儲每個像素的混合系數(shù)的存儲器。
      圖14和圖15是僅僅使用z緩沖器的在繪制后的完整后處理的情況的概念視圖。在這種情況下,圖1的CRT控制電路16通過存儲器I/F電路144來存取圖形存儲器145以掃描z緩沖器,并且通過使用z值信息來向每個像素應(yīng)用抗混疊。
      圖14示出了作為繪制結(jié)果的RGB圖像被CRT控制電路16在存儲器上改變,并且其后被傳送到顯示器的情況。
      圖15示出了光柵掃描的情況,所述光柵掃描用于在顯示器上顯示作為繪制結(jié)果的RGB圖像,并且并行和同步地掃描z緩沖器和向顯示器傳送數(shù)據(jù),并且此時通過CRT控制電路16來改變在存儲器上的圖像和在結(jié)束后向顯示器傳送數(shù)據(jù)。
      圖14和圖15僅僅使用z緩沖器。對于繪制不使用附加的處理。整個處理作為后處理被執(zhí)行。
      在邊緣信息提取時,具體上識別下面兩種邊緣,并且執(zhí)行不同的處理。
      第一處理是如圖16所示的彼此相鄰的平面的邊緣界的情況的處理。
      第二處理是如圖17所示的對象和背景之間的邊緣界的情況的處理。
      在第一處理和第二處理之間,z的第二微分的閾值不同。
      第一處理在第一處理中,精確地獲得混合系數(shù)。
      如圖16所示,讀出以所涉及的像素為中心的1x5+5x1的交叉形狀的z值。
      然后,判斷在所涉及的像素和與前者接觸的像素之間是否存在相互鄰接的平面的邊緣界的邊緣。而且,與這個判斷同時地計算混合系數(shù)。
      第二微分用于所述判斷。第二微分被獨立地計算和用于x方向和y方向。
      在這種情況下,使用兩種類型的閾值。
      與這個第一處理同時地產(chǎn)生用于第二處理的信息。
      在圖16的示例中,用作混合系數(shù)的s變得如下s=(sz3+sz1-2*sz2)/(sd4-sz3-sz2+sz1) (18)第二處理讀出以所涉及的像素為中心的1xn+nx1的交叉的信息。注意,n是屏蔽。在此所稱的信息表示在第一處理中產(chǎn)生的信息。
      當(dāng)在所涉及的像素和與其接觸的像素之間存在對象和背景之間的邊緣界的邊緣時,計數(shù)在屏蔽中形成邊緣的像素的數(shù)量。
      處理流程依序執(zhí)行下面兩個循環(huán)。
      第一循環(huán)在第一循環(huán)中,對于所有像素依序執(zhí)行下面的處理。
      執(zhí)行邊緣提取和與第一處理相關(guān)聯(lián)的邊緣的混合。通過1x5+5x1屏蔽來對于所有像素執(zhí)行這個處理。
      ·得到x和y方向的所涉及的像素的z的第二微分。
      ·得到x和y方向的所涉及的像素的上下左右四個像素的z的第二微分。
      ·檢測x和y方向的與第一處理相關(guān)聯(lián)的邊緣(zdev和zdev0被用作閾值)。
      ·檢測x和y方向的與第二處理相關(guān)聯(lián)的邊緣(zdev1被用作閾值)。
      ·通過使用與第一處理相關(guān)聯(lián)的邊緣的檢測結(jié)果來混合以更新RGB緩沖器。
      ·并且如果(相對于所有像素)在存儲器中執(zhí)行第一處理的混合,留下用于指示與第二處理相關(guān)聯(lián)的邊緣檢測的結(jié)果的一個比特。
      第二循環(huán)在第二循環(huán)中,相對于所有像素依序執(zhí)行下面的處理。
      執(zhí)行與第二處理相關(guān)聯(lián)的邊緣的混合。通過1xn+nx1屏蔽來對于所有像素執(zhí)行這個處理?!璶是屏蔽長度。
      ·在查看變量狀態(tài)的同時通過僅僅屏蔽在x方向和y方向中計數(shù)。
      ·計數(shù)四種類型的值。
      ·從上述四種類型計數(shù)得到混合系數(shù),以執(zhí)行混合和更新RGB緩沖器。
      此時,如果第一處理的混合的標(biāo)記存在,則使得混合系數(shù)為0。
      第一循環(huán)和第二循環(huán)是獨立的循環(huán)。
      接著,參照圖17來說明第二循環(huán)的計數(shù)。
      在此,屏蔽n是7。
      在附圖中,“Len=min((maskLen-1)/2,L1)”使能了按照以前當(dāng)計數(shù)屏蔽的內(nèi)容時是否首先達(dá)到L1端或首先達(dá)到屏蔽端而獲知的最小值(min值)。
      maskLen在圖17中是7,并且n在此。
      根據(jù)在附圖中所示的像素的數(shù)量,通過下面的方程得到的值被定義為混合系數(shù)α=(黑色像素的數(shù)量-Len)/(4*(Len+1)) (19)注意,用于得到上述的系數(shù)的方法僅僅是一個示例。
      一般,所述方法包括分類像素以便對于在給定的屏蔽的屏蔽中的像素有盡可能多的級的混合系數(shù),對它們計數(shù),并且通過使用它們來得到系數(shù)。
      接著,說明通過上述配置的操作。在此,使用僅僅z緩沖器。沒有用于繪制的附加處理。將完整的后處理的情況作為示例來進(jìn)行說明。
      在三維計算機(jī)圖形系統(tǒng)10中,從主處理器11的主存儲器12或用于從外部接收圖形數(shù)據(jù)的I/O接口電路13經(jīng)由主總線15向繪制電路14給出圖形繪制和其他數(shù)據(jù)。
      注意,按照需要,圖形繪制和其他數(shù)據(jù)在主處理器11等中進(jìn)行幾何處理,諸如坐標(biāo)轉(zhuǎn)換、剪裁和照明。
      在幾何處理后的圖形數(shù)據(jù)變?yōu)槎噙吘壭卫L制數(shù)據(jù)S11,它包括頂點坐標(biāo)、三角形的頂點的x、y和z、亮度值R、G和B以及對應(yīng)于要繪制的像素的紋理坐標(biāo)s、t和q。
      這個多邊緣形繪制數(shù)據(jù)S11被依序傳送到繪制電路14的DDA設(shè)置電路141。
      DDA設(shè)置電路141根據(jù)多邊緣形繪制數(shù)據(jù)S11來產(chǎn)生用于指示在三角的一側(cè)和水平方向之間的差等的變化數(shù)據(jù)。
      具體上,它使用起點的值、終點的值和它們之間的距離,以計算在單位長度運動情況下發(fā)現(xiàn)的值的改變,并且它向三角形DDA電路142輸出包括所述改變數(shù)據(jù)的設(shè)置數(shù)據(jù)S141。
      三角形DDA電路142使用包括所述變化數(shù)據(jù)的設(shè)置數(shù)據(jù)S141來計算在三角內(nèi)的每個像素上的線性內(nèi)插(z,R,G,B,α,s,t,q)數(shù)據(jù)。
      然后,從三角DDA電路142向紋理引擎電路143輸出作為DDA數(shù)據(jù)S142的、這個所計算的(z,R,G,B,α,s,t,q)數(shù)據(jù)和三角形的每個頂點的(x,y)數(shù)據(jù)。
      即,三角DDA電路142執(zhí)行光柵化,用于根據(jù)對于多邊緣形的頂點得到的圖像參數(shù)來內(nèi)插在多邊緣形內(nèi)包括的所有像素的圖像參數(shù)(z,紋理坐標(biāo),顏色等)。
      紋理引擎電路143對于由DDA數(shù)據(jù)S142指示的(s,t,q)數(shù)據(jù)來執(zhí)行將s數(shù)據(jù)除以q數(shù)據(jù)的操作和將t數(shù)據(jù)除以q數(shù)據(jù)的操作。然后,它將相除結(jié)果“s/q”和“t/q”乘以紋理大小USIZE和VSIZE以產(chǎn)生紋理坐標(biāo)數(shù)據(jù)(u,v)。
      接著,紋理引擎電路143向存儲器I/F電路144輸出包括所產(chǎn)生的紋理坐標(biāo)數(shù)據(jù)(u,v)的讀取請求,并且經(jīng)由存儲器I/F電路144讀取在圖形存儲器145中存儲的(R,G,B)數(shù)據(jù)。
      接著,紋理引擎電路143使讀出(R,G,B)數(shù)據(jù)的(R,G,B)數(shù)據(jù)和包括在來自在前的三角DDA電路142的DDA數(shù)據(jù)S142中的(R,G,B)數(shù)據(jù)相乘,以便產(chǎn)生像素數(shù)據(jù)。
      從紋理引擎電路143向存儲器I/F電路144輸出這個像素數(shù)據(jù)。
      然后,存儲器I/F電路144比較從紋理引擎電路143輸入的像素數(shù)據(jù)所對應(yīng)的z數(shù)據(jù)和在z緩沖器中存儲的z數(shù)據(jù),并且判斷是否通過輸入像素數(shù)據(jù)S145繪制的圖像比前一次向顯示緩沖器寫入的圖像更靠近(視點側(cè))。
      當(dāng)判斷結(jié)果是它更靠近時,在z緩沖器中存儲的z數(shù)據(jù)被對應(yīng)于圖像數(shù)據(jù)的z數(shù)據(jù)更新。
      接著,存儲器I/F電路144向圖形存儲器145的顯示緩沖器寫入(R,G,B)數(shù)據(jù)。
      要寫入(也包括更新)的數(shù)據(jù)經(jīng)由寫入系統(tǒng)電路被并行地寫入到預(yù)定存儲器。
      存儲器I/F電路144通過紋理地址計算圖形存儲器145的存儲塊——用于存儲從那時開始要按照紋理地址繪制的像素的紋理地址所對應(yīng)的紋理數(shù)據(jù),向僅僅那個存儲塊發(fā)出讀取請求,并且讀出紋理數(shù)據(jù)。
      以及以相同的方式繪制時,從用于存儲從那時開始要繪制數(shù)據(jù)的像素地址所對應(yīng)的像素數(shù)據(jù)的存儲塊的對應(yīng)的地址讀出像素數(shù)據(jù),以便執(zhí)行修改寫入操作,并且在修改操作后,寫回同一地址。
      在隱藏的平面處理時,從用于存儲從那時開始仍然要向其繪制數(shù)據(jù)的像素數(shù)據(jù)所對應(yīng)的深度數(shù)據(jù)的存儲塊的對應(yīng)地址讀出深度數(shù)據(jù),以便執(zhí)行修改寫入操作,并且如果必要的話在修改操作后,向同一地址寫回。
      當(dāng)在未示出的CRT上顯示圖像時,CRT控制電路16與給定的水平和垂直同步頻率同步地產(chǎn)生顯示地址,并且發(fā)出用于向存儲器I/F電路144傳送顯示數(shù)據(jù)的請求。
      存儲器I/F電路144按照所述請求向CRT控制電路16傳送特定數(shù)量的顯示數(shù)據(jù)。
      CRT控制電路16在一個未示出的顯示器使用的FIFO等存儲顯示數(shù)據(jù),并且以不變的間隔產(chǎn)生RGB的RGB指數(shù)值。
      CRT控制電路16在其中存儲相對于RGB指數(shù)的RGB值,并且向未示出的數(shù)D/A轉(zhuǎn)換器傳送指數(shù)值的RGB值。
      然后,在D/A轉(zhuǎn)換器中被轉(zhuǎn)換為模擬信號的RGB信號被傳送到CRT。
      在這種情況下,作為繪制結(jié)果的RGB圖像被CRT控制電路16在存儲器上改變,然后被傳送到顯示器?;蛘?,作為繪制結(jié)果的RGB圖像被光柵掃描以用于顯示器,并且并行和同步地掃描z緩沖器,并且在向顯示器傳送時,圖像由CRT控制電路16在存儲器上改變,然后被傳送到顯示器。
      當(dāng)在掃描z緩沖器時恢復(fù)法向矢量時,在通過掃描z緩沖器來恢復(fù)法向矢量的同時執(zhí)行邊緣判斷。
      在這種情況下,相對于例如z緩沖器并行同時地執(zhí)行垂直掃描和水平掃描。與掃描一起進(jìn)行處理。
      例如,CRT控制電路16得到在每個掃描中的z值的第二微分,并且計算內(nèi)部彼此相鄰的像素的法向矢量的內(nèi)積。
      然后,根據(jù)第二微分的結(jié)果和內(nèi)積計算的結(jié)果來判斷所涉及的像素是否在x方向和y方向的每個的邊緣上。這個判斷結(jié)果被發(fā)送到例如狀態(tài)機(jī)。
      狀態(tài)機(jī)判斷在處理的像素位于哪個邊緣圖案的哪個部分,并且保存邊緣的信息。然后,計數(shù)器測量邊緣的長度。
      當(dāng)一個邊緣的圖案在那條線內(nèi)結(jié)束時,狀態(tài)機(jī)和計數(shù)器被清空,并且返回在那條線后的像素而執(zhí)行混合系數(shù)的計算、要混合的其他像素的確定等。
      然后,像素被混合。
      在混合的圖像被寫入到作為存儲器的顯示緩沖器。
      此時,水平掃描的處理和垂直掃描的處理被并行執(zhí)行,因此對于每個像素保存一個比特的標(biāo)記信息,該信息用于指示是否已經(jīng)對所涉及的像素已經(jīng)執(zhí)行了其他掃描。
      例如,如果所述標(biāo)記不位于標(biāo)記寄存器中,則混合緩沖器“完成的CG圖像”的像素值。
      與此相反,如果標(biāo)記存在,則像素值被從“在抗混疊后的圖像”讀出,被混合,然后被寫回。
      如上所述,按照本實施例,良好地使用三維計算機(jī)圖形的屬性,并且有效地使用在繪制時處理的信息,因此變得能夠獲得極準(zhǔn)確的邊緣信息。
      而且,因為所述處理是繪制的后處理,因此存在相對于繪制本身所請求的最少的附加處理。有時請求附加的處理,但是即使在這種情況下,所述處理也不是增加覆蓋的像素的數(shù)量的處理,因此不使得繪制速度變慢。
      可以僅僅通過總是當(dāng)繪制三維計算機(jī)圖形時產(chǎn)生的z緩沖器的信息來執(zhí)行所述處理,因此所需要的存儲器的數(shù)量不增加。
      當(dāng)考慮用于抗混疊時,與傳統(tǒng)系統(tǒng)相比較,因為所有的處理可以作為后處理被執(zhí)行,因此對繪制速度存在很小的影響。而且,可以使用精確的邊緣信息來提取邊緣的圖案,因此對于屏蔽大小——在諸如超采樣的技術(shù)中的一個問題——沒有限制,并且可以很干凈地去除接近水平或垂直直線那樣的邊緣的混疊。
      注意,在圖1所示的三維計算機(jī)圖形系統(tǒng)10中,舉例說明了在主處理器11執(zhí)行產(chǎn)生多邊緣形繪制數(shù)據(jù)的幾何處理的情況,但是,也可以使用用于在繪制電路14執(zhí)行它的配置。
      總結(jié)本發(fā)明的效果,按照本發(fā)明,除了固有地需要的繪制像素(諸如周圍像素)之外的像素的繪制是不必要的,并且可以不引起繪制速度的下降來提取能夠用于抗混疊的足夠精確的邊緣信息。
      而且,存在一個優(yōu)點可以使用小存儲器來實現(xiàn)精確的抗混疊,而不對繪制順序有影響,并且不會引發(fā)繪制速度的下降。
      雖然已經(jīng)參照為了說明而選擇的特定實施例而描述了本發(fā)明,但是應(yīng)當(dāng)顯然,本領(lǐng)域的技術(shù)人員在不脫離本發(fā)明的基本思想和范圍的情況下,可以對其進(jìn)行多種修改。
      權(quán)利要求
      1.一種圖像處理裝置,用于產(chǎn)生在屏幕坐標(biāo)系的繪制區(qū)域內(nèi)的像素數(shù)據(jù)以相對于存儲器執(zhí)行繪制,并且產(chǎn)生在存儲器中繪制的圖像,并且此時,產(chǎn)生邊緣信息和執(zhí)行抗混疊,所述裝置包括邊緣信息提取部件,用于根據(jù)在存儲器中繪制的預(yù)定像素數(shù)據(jù)來提取邊緣信息;以及抗混疊部件,用于根據(jù)通過邊緣信息提取部件獲得的邊緣信息來確定抗混疊所需要的處理的內(nèi)容,并且執(zhí)行所確定的處理。
      2.按照權(quán)利要求1的圖像處理裝置,其中,所述抗混疊部件確定用于與在每個邊緣上的像素混合的鄰接像素和混合比,并且根據(jù)所確定的像素和比率來執(zhí)行混合。
      3.按照權(quán)利要求2的圖像處理裝置,其中,抗混疊部件包括第一部件,用于從所述邊緣信息檢測正在被處理的像素在混疊圖案的什么形狀的什么位置;第二部件,用于測量從所檢測的混疊圖案的開始到邊緣轉(zhuǎn)向的改變點的長度和從所述改變點到混疊圖案結(jié)束的位置的長度,并且計算根據(jù)從第一部件和第二部件獲得的信息來計算要混合的像素的位置和混合系數(shù)。
      4.按照權(quán)利要求3的圖像處理裝置,其中,在所述存儲器中繪制的像素數(shù)據(jù)包括深度信息,以及所述邊緣信息提取部件發(fā)現(xiàn)掃描作為存儲深度信息的存儲器的深度信息緩沖器的結(jié)果而獲得的深度信息的第二微分,并且根據(jù)第二微分來提取邊緣信息。
      5.按照權(quán)利要求3的圖像處理裝置,其中,在向存儲器繪制時產(chǎn)生的數(shù)據(jù)包括每個像素的法向矢量,在存儲器中形成用于存儲所述法向矢量的法向矢量緩沖器,以及所述邊緣信息提取部件根據(jù)作為掃描在法向矢量緩沖器中存儲的像素的法向矢量的結(jié)果而獲得的法向矢量來提取邊緣信息。
      6.按照權(quán)利要求3的圖像處理裝置,其中,在所述存儲器中繪制的像素數(shù)據(jù)包括深度信息,以及所述邊緣信息提取部件從作為掃描存儲深度信息的存儲器的深度信息緩沖器的結(jié)果而獲得的深度信息和屏幕坐標(biāo)來恢復(fù)每個像素的法向矢量,并且根據(jù)所恢復(fù)的法向矢量來提取邊緣信息。
      7.按照權(quán)利要求4的圖像處理裝置,其中,所述邊緣信息提取部件提取接近被檢查的線的多條線的邊緣信息。
      8.按照權(quán)利要求6的圖像處理裝置,其中,所述邊緣信息提取部件提取接近被檢查的線的多條線的邊緣信息。
      9.按照權(quán)利要求6的圖像處理裝置,其中,所述邊緣信息提取部件提取接近被檢查的線的多條線的邊緣信息。
      10.一種圖像處理方法,用于產(chǎn)生在屏幕坐標(biāo)系的繪制區(qū)域內(nèi)的像素數(shù)據(jù)以相對于存儲器執(zhí)行繪制,并且產(chǎn)生在存儲器中繪制的圖像,并且此時,產(chǎn)生邊緣信息和執(zhí)行抗混疊,所述方法包括第一步驟,用于根據(jù)在存儲器中繪制的預(yù)定像素數(shù)據(jù)來提取邊緣信息;以及第二步驟,用于根據(jù)在第一步驟獲得的邊緣信息來確定抗混疊所需要的處理的內(nèi)容,并且執(zhí)行所確定的處理。
      11.按照權(quán)利要求10的圖像處理方法,其中,所述第二步驟確定用于與在每個邊緣上的像素混合的鄰接像素和混合比,并且根據(jù)所確定的像素和比率來執(zhí)行混合。
      12.按照權(quán)利要求10的圖像處理方法,其中,所述第二步驟包括第三步驟,用于從所述邊緣信息檢測正被處理的像素在什么形狀的混疊圖案的什么位置;以及第四步驟,用于測量從所檢測的混疊圖案的開始點到邊緣轉(zhuǎn)向的改變點的長度和從所述改變點到混疊圖案結(jié)束的位置的長度,并且計算根據(jù)從第三部分和第四步驟獲得的信息來計算要混合的像素的位置和混合系數(shù)。
      13.按照權(quán)利要求12的圖像處理方法,其中,在所述存儲器中繪制的像素數(shù)據(jù)包括深度信息,以及第一步驟還包括掃描存儲所述深度信息的存儲器的深度信息緩沖器,得到所獲得的深度信息的第二微分,并且根據(jù)第二微分來提取邊緣信息。
      14.按照權(quán)利要求12的圖像處理方法,其中,在向所述存儲器繪制時產(chǎn)生的數(shù)據(jù)包括每個像素的法向矢量,在所述存儲器中形成用于存儲所述法向矢量的法向矢量緩沖器,以及所述第一步驟還包括掃描在法向矢量緩沖器中存儲的每個像素的法向矢量,根據(jù)所獲得的法向矢量來提取邊緣信息。
      15.按照權(quán)利要求12的圖像處理裝置,其中,在所述存儲器中繪制的像素數(shù)據(jù)包括深度信息,以及所述第一步驟還包括從作為掃描用于存儲深度信息的存儲器的深度信息緩沖器的結(jié)果而獲得的深度信息和屏幕坐標(biāo)來恢復(fù)每個像素的法向矢量,并且根據(jù)所恢復(fù)的法向矢量來提取邊緣信息。
      全文摘要
      一種圖像處理裝置,能夠使用小存儲器來實現(xiàn)精確的抗混疊,而不被繪制順序影響,并且不引起繪制速度的下降,所述裝置包括抗混疊系統(tǒng),用于在繪制后從圖像獲得邊緣信息,確定抗混疊所需要的處理內(nèi)容,并且執(zhí)行確定的處理。具體上,掃描z緩沖器的信息和在繪制時獲得的每個像素的法向矢量的信息的任何一個或兩者,或者使用從z緩沖器的信息恢復(fù)的法向矢量的信息,規(guī)定了用于保存狀態(tài)的狀態(tài)機(jī)和用于測量邊緣的連續(xù)性的計數(shù)器,確定與在每個邊緣上的每個像素在什么方向上接近的哪個像素的值和使用何種比率來混合,并且使用所確定的值來混合。這個連續(xù)地被執(zhí)行,直到更新了像素值。
      文檔編號G06T15/00GK1674049SQ20041010376
      公開日2005年9月28日 申請日期2004年9月25日 優(yōu)先權(quán)日2003年9月25日
      發(fā)明者中橋英通, 渡辺修, 長崎多仁生, 稻田徹悟, 森山康弘, 山田英史 申請人:索尼株式會社
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1