TWI810393B - 距離場調色板 - Google Patents

距離場調色板 Download PDF

Info

Publication number
TWI810393B
TWI810393B TW108139050A TW108139050A TWI810393B TW I810393 B TWI810393 B TW I810393B TW 108139050 A TW108139050 A TW 108139050A TW 108139050 A TW108139050 A TW 108139050A TW I810393 B TWI810393 B TW I810393B
Authority
TW
Taiwan
Prior art keywords
texels
texel
color
distance
odd
Prior art date
Application number
TW108139050A
Other languages
English (en)
Other versions
TW202036481A (zh
Inventor
賴瑞 席勒
亞迪安 約翰史東
亞歷山大 南科維斯
Original Assignee
美商元平台技術有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商元平台技術有限公司 filed Critical 美商元平台技術有限公司
Publication of TW202036481A publication Critical patent/TW202036481A/zh
Application granted granted Critical
Publication of TWI810393B publication Critical patent/TWI810393B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Credit Cards Or The Like (AREA)
  • Macromonomer-Based Addition Polymer (AREA)
  • Inks, Pencil-Leads, Or Crayons (AREA)
  • Color Image Communication Systems (AREA)

Abstract

在一實施例中,一種決定用於一樣本位置的色彩之方法包含利用一計算系統來決定在一包括複數個紋理元素的紋理之內的一取樣位置。每一個紋理元素可以編碼一距離場以及一色指數。所述系統可以根據所述取樣位置來選擇在所述複數個紋理元素中的一紋理元素組,以用來決定一用於所述取樣位置的色彩。所述系統可以根據所述紋理元素組的距離場來計算一內插的距離場。所述系統可以根據所述內插的距離場來選擇所述紋理元素組的一子集合。所述系統可以根據在所述紋理元素以及所述取樣位置之間的一距離,從所述紋理元素的子集合中選擇一紋理元素。所述系統接著可以利用所選的紋理元素的色指數來決定用於所述取樣位置的色彩。

Description

距離場調色板
此揭露內容大致有關在用於擴增實境及/或虛擬實境的環境的即時電腦繪圖中的文字成像。
此申請案是根據第35號美國法典第119條(e)項主張2018年10月31日申請的美國臨時專利申請案第62/753,676號以及2019年9月26日申請的美國非臨時專利申請案第16/583,878號的權益,所述美國專利申請案被納入在此作為參考。
一般而言,電腦繪圖是利用電腦產生的視覺場景。三維的(3D)電腦繪圖是從特定的視角提供使用者3D物體的視圖。在一3D場景中的每一個物體(例如,一茶壺、房屋、人、等等)可以利用基本的幾何而被定義在一3D模型的空間中。例如,一圓柱形物體可以利用一圓柱形管與頂端及底部圓形蓋來加以建立模型。所述圓柱形管及圓形蓋分別可以藉由一網路或網格的較小的多邊形(例如,三角形)來加以表示。於是,每一個多邊形都可以根據其個別的頂點在3D模型的空間中的座標來加以儲存。
即使在電腦繪圖中的3D物體可以用三個維度來建立模型,但它們傳統上是透過矩形二維的(2D)顯示器,例如電腦或電視螢幕而被呈現給觀看者。由於人的視覺感知系統的限制,人在任何瞬間預期是從大致相同的觀察點來感知世界。換言之,人預期一3D物體的某些部分將會是可見的,而其它部分將會隱蔽而看不見的。因此,對於每一個3D場景,一電腦繪圖的系統可以只需要成像場景中的使用者可看見的部分,而不成像其餘部分。此容許系統大幅降低所需的計算量。
在電腦繪圖中的一項問題是2D圖形的有效率且高品質的成像(例如,影像是由實心的色彩區域所構成,即不同於通常包含陰影或圖案化的區域的3D圖形)。2D圖形可被置放在一3D場景中並且從任意的觀點來觀察,此使得原始的2D圖形出現扭曲。當產生用於一顯示器的一場景時,一成像系統通常從使用者/攝影機的觀點取樣所述2D圖形,以決定應該藉由螢幕的像素顯示的適當色彩。將藉由一像素顯示的色彩通常是利用一濾波技術(例如雙線性內插)來加以決定,其根據在所述2D圖形中靠近一對應的取樣點的多個色彩資訊來估計所述色彩。由於多個色彩資訊被用來估計單一像素的色彩,因此所成像的圖形的邊緣將會出現模糊或是較不銳利的。用於解決前述針對於2D圖形的問題的目標可被描述特徵為:(1)定義一更精簡的方式來代表2D圖形影像、以及(2)定義一方式以在實心的色彩區域之間具有清晰的邊緣,儘管有在例如是擴增及虛擬實境的許多圖形應用中是所需的通常會造成模糊的重新取樣濾波,以考量到幾何失真。
當成像文字時,這些問題是特別嚴峻的,其需要在文字及背景區域之間成像細微的邊緣細節。當文字是靜態的,花費時間及計算資源以在高精確度下預先成像其並不構成問題。例如,一字元可以被儲存為一具有每一紋理元素(texel)的色彩資料(例如,紅色、綠色及藍色)的紋理,並且當需要時被成像到螢幕上。所述字元在其是小的可以看起來合理良好的,但若是其被放大、旋轉、或扭曲(例如,由於在轉換、觀點上的改變、或是所述文字本身改變),則像素化及疊頻可能變成更明顯的。為了改善當成像時的字型(font)的外觀及銳利度,一種專門的技術必須被使用,例如是一種用稱為有向距離場(signed distance field)的結構來儲存字元形狀(例如,字形(glyph))之技術。
在此所述的實施例解決如上所論述的相關於圖形成像的問題。特定實施例是有關於利用距離場標籤(如同在此所用的“標籤”是指字元、字型、字形、圖像、以及其它由實心的色彩區域所構成的2D影像)以支援更複雜的標籤圖案,例如是那些需要超過兩個色彩圖案者,而不只是由傳統的距離場技術所支援的二元化色彩方案(例如,背景及前景)。由於文字是可以藉由本揭露內容解決的一特別困難且常見的問題的一個例子,因此文字將會被使用作為主要的例子來描繪所述的各種技術。然而,應注意到的是,在此所述的技術可以適用到不同類型的標籤,包含圖像以及其它2D影像。
在特定的實施例中,當取樣在一特定表面上的點時,一特定取樣的點的距離場可以利用四個最接近的紋理元素的距離場的雙線性內插來加以計算出。所取樣的距離場可以指出所述取樣點是否“落入”或“落出”標籤(例如,在文字的主體內、或是落出在背景中)。接著,下一個步驟可以是選擇在所述四個紋理元素之內編碼的色指數(color index)。所述四個紋理元素中的兩個可以編碼用於“落入”的色彩,而另外兩個紋理元素編碼用於“落出”的色彩。在特定的實施例中,若所取樣的距離場被判斷是“落出”,則所述兩個“落出”紋理元素中之最接近取樣的點的一個的指數將會被使用。類似地,若所取樣的距離場被判斷是“落入”,則較接近的“落入”紋理元素的指數將會被使用。
在此所述的特定實施例是有關於利用根據用於四個交錯的指數的一組距離的雙距離場標籤。雙距離場被用來支援具有銳利凸出的內角及外角的複雜形狀。在特定的實施例中,利用根據只有至一邊緣的距離的單一距離場可能會導致角落未被正確地重建,而是在所產生的影像中看起來圓弧化或切削的。此之一解決方案是利用根據至兩個不同類型的邊緣的距離的雙距離場。由雙距離場引入的一不明確性是在邊緣交叉處,可能有和在所述邊緣的每一個之內或之外的四個不同組合相關的四個不同區域。特定實施例使得雙距離場標籤能夠編碼應該被用在每一個之內/之外的情節的色彩(例如,若一取樣點落在兩個邊緣之內的一區域中,則其應該著色成紅色;若一取樣點落在一邊緣之內且在另一邊緣之外的一區域中,則其應該著色成紫色、等等)。每一個雙距離場標籤如同名稱所暗示的,其具有兩個距離場:distance0(例如,至type0邊緣的距離)以及distance1(例如,至type1邊緣的距離)。每一個標籤的兩個距離場可以編碼兩個個別的色指數。因此,一對雙距離場標籤可被用來編碼四個指數,每一個“落入”及“落出”組合各有一個。接著,一旦“落入”及“落出”的四個組合相關於兩個不同的邊緣類型的每一個而被判斷出後,一針對於每一個“落入/落出”組合所指明的指數可被存取,以便於決定色彩查找表項目以使用來標示一樣本點的色彩。
在此所述的特定實施例是有關於利用距離場最佳化技術。作為一第一例子,為了最小化非所要的像素化及/或疊頻影響,一紋理映射(mipmap)可被用來考量不同的像素取樣尺寸。紋理映射是一種縮放一原始的高解析度的紋理貼圖並且預先濾波所述紋理貼圖成為多個解析度的技術,其可以在成像期間根據在紋理元素以及取樣像素之間的相對的尺寸來選擇性地被使用。在距離場之下,當在兩個邊緣之間的距離是低於兩個紋理元素時,在所述邊緣之間最多將只會有單一紋理元素。就此而論,有一固有的不明確性是所述紋理元素的距離值是關於哪一個邊緣量測的。為了解決此問題,特定實施例可以配置一標籤的一紋理映射鏈,以具有距離場紋理以及RGBA紋理。距離場紋理可以在較大的解析度紋理是所需時使用,而RGBA紋理可以在較小的紋理是所需時使用。一RGBA紋理的較差的品質將不會是顯著的,因為其螢幕涵蓋將會是小的。作為距離場的最佳化的一第二例子,最高有效位元的比較可被完成,以在其中不需要內插的情況中消除內插。作為距離場最佳化的一第三例子,透明的結果可被偵測到,因而對應的像素可被拋棄。
本發明的實施例可包含一人工實境系統、或是結合一人工實境系統來加以實施。人工實境是一種在呈現給使用者之前已經用某種方式調整的實境形式,其例如可包含一虛擬實境(VR)、一擴增實境(AR)、一混合實境(MR)、一混成實境、或是其之某種組合及/或衍生。人工實境的內容可包含完全是產生的內容、或是產生的內容結合所捕捉的內容(例如,真實世界的照片)。人工實境的內容可包含視訊、音訊、觸覺回授、或是其之某種組合,並且其之任一種都可以在單一通道中或是在多個通道中被呈現(例如,產生一種三維效果給觀看者的立體視訊)。此外,在某些實施例中,人工實境可以是和例如被用來在一人工實境中產生內容且/或在一人工實境中被使用(例如,在其中執行活動)的應用程式、產品、配件、服務、或是其之某種組合相關的。提供人工實境內容的人工實境系統可以在各種的平台上實施,其包含連接至一主機電腦系統的一頭戴式顯示器(HMD)、一獨立的HMD、一行動裝置或計算系統、或是任何其它能夠提供人工實境內容至一或多個觀看者的硬體平台。
在此揭露的實施例只是例子而已,因而此揭露內容的範疇並不限於其。特定實施例可以包含在此揭露的實施例的構件、元件、特點、功能、操作、或是步驟的全部、一些、或是全無。根據本發明的實施例尤其是被揭露在所附針對於方法、儲存媒體、系統及電腦程式產品的請求項中,其中任何在一請求項類型(例如方法)中所提及的特點都也可以在另一請求項類型(例如系統)中加以主張。在所附的請求項中的往回依附或參照只是為了合乎格式的原因來選擇的而已。然而,從刻意的參照回到任何先前的請求項(尤其是多重依附)所產生之任何標的都也可以主張,因而請求項及其之特點的任意組合都被揭示並且可加以主張,而不論在所附的請求項中選擇的依附為何。可主張的標的不僅包括如同在所附的請求項中所闡述的特點的組合,而且亦包括在所述請求項中的特點的任何其它組合,其中在所述請求項中提及的每一個特點都可以和在所述請求項中的任何其它特點或是其它特點的組合來加以結合。再者,在此敘述或描繪的實施例及特點的任一個都可以在一個別的請求項中被主張,且/或以和在此敘述或描繪的任何實施例或特點、或是和所附的請求項的特點的任一個的任意組合來加以主張。
此申請案描述當轉換、觀點、或文字本身可能即時動態地改變,例如是在擴增實境(AR)及虛擬實境(VR)中的文字成像(或例如是圖像、字形、2D影像、等等的其它類型的標籤成像)的情況中時,用於在電腦繪圖中的文字成像之技術。在即時的圖形成像中所用的一範例技術是依賴用稱為有向距離場、或是單純稱距離場的結構來儲存字元形狀(例如,字形)。一般而言,一距離場是被施加至N維的空間的一子集合的一有向距離轉換的結果,其是將被成像的一向量形狀(例如,文字、圖像、等等)。所述距離場將所述空間的每一個點P對映到一純量有向距離值。一有向距離可被定義如下:若點P屬於所述子集合(例如,若點P是在待被成像的文字或圖像之內),則有向距離是至所述子集合的形狀的最接近的邊緣的正的最小距離。此亦被稱為是“在內部”或是“落入”,並且可以藉由使得一m位元的距離場的最高有效位元(MSB)為1來加以編碼。若其並不屬於所述子集合(例如,若點P是在待被成像的文字或圖像之外),則有向距離是至所述子集合的形狀的最接近的邊緣的負的距離。此亦被稱為“在外部”或“落出”,並且可以藉由使得一m位元的距離場的MSB為0來加以編碼。所述距離場可以使用其域只是二維空間的歐幾里得距離。
一般而言,用於驅動AR及/或VR顯示器的顯示引擎的特定實施例是被饋送資料以顯示及執行針對於AR/VR顯示裝置(例如,使用者所使用或穿戴的裝置)的特徵來調整所必要的失真、重新取樣、組成、以及色彩校正。顯示給使用者的一場景的每一幀都是根據使用者目前的頭位置、目前的眼睛位置、目前的眼睛移動、其它相關的位置、或是其之任意組合而被產生的。每一幀的場景的細節可以藉由在根據標準的電腦處理單元(CPU)或圖形處理單元(GPU)的成像結果所產生的表面上執行雙線性內插來加以產生。一表面可以是一具有用以指明其在場景中的位置的一轉換矩陣之矩形紋理貼圖。所述紋理貼圖的基本單元是一紋理元素(亦以紋理元件或紋理像素著稱),並且所述紋理貼圖包含代表一特定紋理空間的紋理元素的陣列。尤其,有兩種類型的表面:影像表面以及標籤表面。影像表面可以具有儲存每一紋理元素的RGB(紅色-綠色-藍色的色彩空間)或是RGBA(紅色-綠色-藍色-alpha的色彩空間)成分的紋理,並且所述紋理被用來成像陰影的影像(例如,藉由GPU成像的視訊幀或場景)。標籤表面可以具有儲存有向距離及色指數的紋理,並且所述紋理被用來成像由實心的色彩區域組成的物體,其包含除了圖像之外的文字,例如是字母、數字、字元、等等。不同於RGBA標籤,距離場標籤並不容易受到由內插運算所引起的模糊邊緣的影響。在此所述的特定實施例將會聚焦在和標籤表面相關的技術上。
目前,距離場標籤限於兩個色彩,例如具有白背景及/或挖空的黑色文字或前景、或者反之亦然。就此而論,為了支援更複雜的標籤色彩圖案,在此論述的實施例描述一改良的距離場標籤是如何可以支援超過兩個色彩。在特定的實施例中,一8位元的紋理元素可以被編碼為其中(1)一距離場被儲存在所述紋理元素的6位元上,並且(2)一色指數(例如,指出一所要的色彩的一值、或是概念上指向在一色彩查找表中的一項目的一指標)被儲存在所述紋理元素的其餘的2位元上。例如,所述8位元的紋理元素可被用來定義具有一透明的背景(例如,具有色指數0)的一白色文字,其容許其它被設置在所述文字之後的物件能夠被看見。被配置給所述指數的位元數目決定有多少色彩可以藉由所述標籤來支援。例如,一2位元的指數容許最多四個獨特的色彩(例如,透明、橙色、黃色、以及紫色)的選擇。在此所述的實施例亦思及連結兩個紋理元素的指數以形成一具有更多位元的指數。例如,藉由連結兩個紋理元素的2位元的指數,一4位元的指數可被形成,其容許最多十六個獨特的色彩(例如,一透明的色彩以及十五個色彩)的選擇。如同在以下更詳細論述的,所述色指數是根據內插的距離的高階位元而被用來查找一RGBA色彩。 利用單一距離場來決定一樣本位置的色彩
在此所述的特定實施例是針對於分別具有單一距離場的紋理元素。在一高層級下,距離場是被用來指出在標籤表面上的實心色彩的區域(例如,前景及背景)之間的邊緣的位置。每一個紋理元素儲存所述紋理元素中心至最接近的邊緣的距離的一表示,其被一最大距離所約束,一超過最大距離的紋理元素被判斷為在一特定的陣列之外。在特定的實施例中,6位元可被配置用於指出所述距離值,其中MSB代表所述紋理元素中心是“落入”(例如,藉由1來加以表示)或是“落出”(例如,藉由0來加以表示)。若紋理元素遠離一邊緣,則其餘5位元將會是一大的值;相反地,若紋理元素靠近一邊緣,則其餘5位元將會是小的。在特定的實施例中,對於一樣本位置P而言,四個最接近的紋理元素的距離場的雙線性內插可被利用來判斷樣本位置P是在邊緣的哪一側。舉例而言,在內插的距離的高階位元(例如,MSB)中的一個零(0)是指出樣本位置P是在藉由邊緣所界定的區域之外,並且在內插的距離的高階位元中的一個一(1)是指出樣本位置P是在藉由邊緣所界定的區域之內。值得注意的是,在此所述的特定實施例中的距離場可以是無正負號的數,因而最低的值是零,並且沒有值是編碼剛好在邊緣上的位置。此相對於其它利用正負號的值編碼的距離場(例如,一距離場的MSB可以代表值是正或負,其對應於“落入”或“落出”、或是對應於“在邊緣上”的零)。所述無正負號的距離場編碼是有利的,因為其避免例如是當一邊緣通過一紋理元素的中心時的某些問題。
如上所論述,一標籤紋理的每一個紋理元素可包含一距離以及一色指數值。色指數值是被用來在一色彩查找表中選擇一項目,所述色彩查找表可以針對於每一個標籤客製化的。對於一給定的樣本位置,要選擇哪一個紋理元素的色指數是依據所述樣本位置的內插的距離(例如,是否其MSB=0(落出)或MSB=1(落入))以及所述樣本位置在紋理空間中相對於附近的紋理元素的位置而定的。在特定的實施例中,每一個標籤表面指定進入所述色彩表的一基底位址以及一控制位元,其選擇所述表面是否對於在邊緣內以及在邊緣外的每一個組合使用單一組的色彩表項目、或是每一個組合是否使用一不同組的色彩表項目。
每一個色指數對於在紋理中的一給定區域之內的所有樣本選擇一色彩,而不是只針對於其被儲存的紋理元素而已。對於單一距離標籤而言,兩個交錯的色指數指明當內插的距離的MSB是零(落出)或是一(落入)時將要使用的色彩。對於雙距離標籤而言,四個交錯的色指數指明針對於兩個內插的距離的MSB的四個組合將要使用的色彩。
某些情況值得額外的考量。舉例而言,當邊緣直接通過紋理元素的中心(例如,當所述距離是零)時,為了判斷一紋理元素是在哪一個邊緣上,一“左上”規則可被利用,其中落在一邊緣上的一像素被納入的情況是若物體的內部在所述像素的右邊、或是對於一水平的邊緣而言,若物體的內部在所述像素之下。作為另一例子的是,所有在所述陣列之外的紋理元素都被當作為具有零的距離以及零的指數。因此,任何在距離紋理元素的格子之外超過0.5紋理元素的樣本位置對於所有的邊緣都產生MSB=0(落出),並且產生一零的指數。針對於每一個表面的第一色彩表項目通常是被設定為透明的(亦即,無色的)。就此而論,對於在所述陣列之外超過0.5紋理元素的樣本位置都不成像。
圖1是描繪一範例的紋理元素陣列100,其中各種的樣本位置被置放在一字元形狀110的邊緣之內以及之外。字元形狀110描繪一個“A”,其中一邊緣120分開字元形狀110的一色彩(例如,陰影區域)與背景130的一色彩。在所述陰影區域之內紋理元素(為了簡化起見而未被展示)被編碼指出它們“落入”(其中MSB=1)的距離值,而在所述陰影區域之外的紋理元素被編碼指出它們“落出”(其中MSB=0)的距離值。此外,邊界140是劃界背景130與超出紋理元素陣列100的區域。各種的樣本點被展示,其包含位在藉由字元形狀110的邊緣120所界定的區域之內的樣本點150、位在藉由字元形狀110的邊緣120所界定的區域之外的樣本點160、位在字元形狀110的邊緣120上的樣本點170、以及位在紋理元素陣列100的邊界140之外的樣本點180。
如同將會在以下更詳細地論述的,對於樣本點150、160的每一個的四個最接近的紋理元素的無正負號的距離函數的線性內插將會決定樣本點150的內插的距離具有一MSB=1(落入),並且樣本點160的內插的距離具有一MSB=0(落出)。此外,針對於樣本點170的四個最接近的紋理元素的距離函數的線性內插將會判斷出內插的距離是剛好無正負號的距離場的範圍的一半,此指出樣本點170就在邊緣120上(若距離場是帶正負號而不是無正負號的,則所述“在邊緣上”的情節將會是藉由一0的內插的距離來加以表示)。因此,用於樣本點170的色彩將會根據所述“左上”規則來加以決定。再者,樣本點180將會被判斷是在紋理元素陣列100之外,並且因此具有和一無色或“透明的”結果相關的一個零的無正負號的距離以及一個零的指數。
在特定的實施例中,指明色指數可以有兩種方式。第一種方法容許從四個色彩的較細顆粒的色彩選擇,其中第一個色彩是透明的。例如,如同在以上所提及的,一紋理元素可以藉由8位元來加以表示,其中6位元編碼距離場,並且2位元編碼色指數。2位元的色指數可以對映到四個色彩。儘管此例子配置特定數目的位元來編碼距離場及色指數,但是具有此項技術之通常技能者將會體認到任何其它的位元配置都可以替代地被利用(例如,7、8、9或20位元來編碼距離場、以及1、4、6或10位元來編碼色指數)。譬如,在此所述的第二種方法可以具有較粗顆粒的色彩選擇,並且容許有十六個色彩選項,其中第一個是透明的。所述兩種方法是就“細微顆粒”方法中藉由一組色指數所決定的紋理區域的尺寸小於“粗略顆粒”方法的紋理區域的尺寸的意義而言,而被描述為具有“細微顆粒”以及“粗略顆粒”。這些方法的每一個將會在以下詳細地論述。 單一距離場細微顆粒的色彩選擇
用於單一距離場標籤的細微顆粒的色彩選擇方法的討論將會聚焦在圖2A、2B、3A、3B中所示的實施例、以及在圖4中敘述的方法。簡言之,圖2A及2B分別描繪在用於細微顆粒的色指數選擇的一紋理元素的陣列200上的偶數及奇數紋理元素位置的範例圖。圖3A描繪在和單一距離場相關的紋理元素的陣列300上利用一種細微顆粒的色指數選擇方法。圖3B描繪用於細微顆粒的色指數選擇的一範例色彩查找表。此外,圖4描繪一種利用細微顆粒的色指數來決定一利用具有單一距離場的紋理元素的樣本位置的色彩之範例的方法400。
圖2A及2B描繪一範例六乘六的紋理元素陣列200,其中分別位在偶數或奇數位置處的紋理元素被描繪在鑽石狀區域的中心。在陣列200中的紋理元素是在一紋理貼圖中被配置在一U軸210以及一V軸212座標系統上的位置處。圓圈是代表在陣列200上的紋理元素位置的中心。在其中紋理元素取樣是藉由硬體來執行的實施例中,所述座標可以利用二進位值來指明。例如,沿著V軸212的列0-3分別被稱為列00、01、10以及11,並且沿著U軸210的行0-3分別被稱為行00、01、10以及11(為了簡化起見,額外的列與行並未被參照,因為這樣做將會增加參照它們的位元數目)。例如,紋理元素214位在u=00及v=00(或是(00, 00));紋理元素216位在(00, 01),紋理元素218位在(01, 00),紋理元素220位在(01, 01),依此類推。為了簡化起見,所述六乘六的陣列200只有前四列以及前四行才在此加以參照。
為了細微顆粒的色指數選擇,在陣列200中的紋理元素被分類成為偶數或奇數位置(亦即,“偶數”紋理元素或“奇數”紋理元素),以便於決定要使用哪一個紋理元素來查找和一區域相關的色彩。在特定的實施例中,在陣列200中的紋理元素是根據和紋理元素相關的U及V座標的最低階位元(例如,最低有效位元LSB)是否為相同的數字而被判斷為偶數或奇數。舉例而言,紋理元素214是位在u=00及v=00的U-V座標,並且由於所述U座標以及V座標具有相同的最後一個數字(亦即,“0”),因此紋理元素216被視為一偶數紋理元素。此外,紋理元素220也是一偶數紋理元素,因為u=01及v=01的U-V座標具有相同的最後一個數字(亦即,“1”)。偶數紋理元素(例如214及220)在圖2A中被描繪為分別位在所述鑽石狀區域(例如,222及224)之內。如同將會在以下更詳細描述的,假設一落在此種鑽石狀區域(例如,222)中的樣本點和“偶數”紋理元素相關的(例如,根據所述樣本點的內插的距離的MSB,其在以下更詳細地敘述),所述樣本點將會被指定藉由在所述區域的中心的紋理元素(例如,214)的色指數所指明的色彩。在另一方面,紋理元素216是位在u=01及v=00的U-V座標,並且由於所述U座標及V座標並不具有相同的最後一個數字,因此紋理元素216是一奇數紋理元素。此外,紋理元素218也是一奇數紋理元素,因為u=00及v=01的U-V座標並不具有相同的最後一個數字。在圖2B中描繪的奇數紋理元素(例如216及218)是分別位在鑽石狀區域(例如,226及228)之內。如同將會在以下更詳細描述的,假設一落在此種鑽石狀區域(例如,226)中的樣本點和“奇數”紋理元素相關的(例如,根據所述樣本點的內插的距離的MSB,其在以下更詳細地敘述),所述樣本點將會被指定藉由在所述區域的中心的紋理元素的色指數所指明的色彩。如同在圖2A及2B中所示,陣列200的每一個二乘二的區域都包含兩個偶數紋理元素(例如,紋理元素214及220)以及兩個奇數紋理元素(例如,紋理元素216及218)。
在特定的實施例中,紋理元素214、216、218及220是分別和包含一6位元距離的一距離場以及一2位元色指數相關的(所述特定指定的位元長度可以變化)。如上所論述,紋理元素214、216、218及220的每一個的距離場儲存從紋理元素的中心至最接近的邊緣的距離的一表示,並且紋理元素214、216、218及220的每一個的色指數儲存對於在一色彩查找表中的一用於決定和所述紋理元素相關的色彩之項目的一參照。針對於所述細微顆粒的色彩選擇方法,判斷一紋理元素偶數或奇數之目的是用於根據一樣本點是在藉由一邊緣所界定的一區域之外或之內的一判斷來選擇要使用那些紋理元素。如同在以下更詳細論述的,若樣本點的內插的距離的最高階位元是0(亦即,MSB=0),則所述樣本點被判斷為在藉由邊緣所界定的區域之外,並且所述偶數紋理元素對(例如,紋理元素214及220)被選擇來決定所述樣本的色彩。在另一方面,若樣本點的內插的距離的最高階位元是1(亦即,MSB=1),則所述樣本點被判斷為在藉由邊緣所界定的區域之內,並且所述奇數紋理元素對(例如,紋理元素218及218)被選擇來決定所述樣本的色彩。此外,一陰影區域230代表在紋理元素的陣列200之外的位置(例如,在所述陣列之外超過0.5紋理元素的紋理元素),並且因此具有和一無色或“透明的”結果相關的零的距離以及零的指數。
圖3A描繪一範例四乘四的紋理元素陣列300。類似於在以上相關圖2A及2B所述的實施例,在陣列300中的紋理元素是在一U軸310及V軸312座標系統上的位置而被配置在一紋理貼圖上。在其中紋理元素取樣是藉由硬體來執行的實施例中,所述座標可以利用二進位值來指明(例如,列0-3分別被稱為列00、01、10及11,並且行0-3分別被稱為行00、01、10、11)。圓圈是代表在陣列300上的紋理元素位置。例如,紋理元素318位在u=00及v=00(或是(00, 00));紋理元素322位在(00, 01),依此類推。一樣本點P 314被選擇(例如,根據可見度測試,其例如是藉由在3D觀察空間中利用光線投射以從一像素位置投射一光線到一標籤表面之上,並且將交叉點對映到紋理元素陣列300中)。針對於樣本點314將被選擇的色彩是利用細微顆粒的色彩選擇方法400而被判斷出。如同在圖4中所示,方法400可以開始在步驟410,其中四個最接近樣本點314的紋理元素被判斷出,因而那些紋理元素的距離可被用來決定樣本點314的內插的距離。圖3A描繪四個最接近樣本點314的紋理元素是在二乘二的紋理元素區域316中的紋理元素,並且包含紋理元素318、320、322及324。
在特定的實施例中,紋理元素318、320、322及324是分別和包含一6位元距離的一距離場以及一2位元色指數相關的。如上所論述的,紋理元素318、320、322及324的每一個的距離場儲存從所述紋理元素的中心至最接近的邊緣的距離的一表示。此外,紋理元素318、320、322及324的每一個的色指數儲存在一色彩查找表中的一項目的一參照,以用於決定和所述紋理元素相關的色彩。圖3B描繪一具有四個不同項目的範例色彩查找表。在所展示的特定例子中,項目“0”對應於“透明的”(亦即,無色),項目“1”(或是以二進位的01)對應於紅色,項目“2”(或是以二進位的10)對應於綠色,並且項目“3”(或是以二進位的11)對應於藍色。因此,舉例而言,紋理元素318可以具有一指出所述紋理元素是藍色的項目“3”的色指數,紋理元素320可以具有一指出所述紋理元素是藍色的項目“3”的色指數,紋理元素322可以具有一指出所述紋理元素是紅色的項目“1”的色指數,並且紋理元素324可以具有一指出所述紋理元素是綠色的項目“2”的色指數。
如同在圖4中所示,在步驟420,針對於樣本點314的距離值D是根據紋理元素318、320、322及324的每一個的距離場內插的。接著,在步驟430,針對於樣本點314的內插的距離值D的最高階位元被判斷為0或是1。換言之,若針對於樣本點314的內插的距離值D的MSB被判斷為0,則樣本點314被判斷為在藉由邊緣所界定的區域之外。在另一方面,若針對於樣本點314的內插的距離值D的MSB被判斷為1,則樣本點314被判斷為在藉由邊緣所界定的區域之內。
在步驟440,若判斷出的是針對於樣本點314的內插的距離值D的MSB是0,則樣本點314被判斷為在藉由邊緣所界定的區域之外,並且兩個偶數紋理元素從二乘二的紋理元素區域316被選擇。在特定的實施例中,類似於圖2A及2B的實施例的討論,在陣列300中的紋理元素是根據和所述紋理元素相關的U及V座標的最低階位元(例如,最低有效的位元)是否為相同的數字而被判斷為偶數或是奇數。舉例而言,紋理元素318位在u=00及v=00的U-V座標,並且由於所述U座標及V座標具有相同的最後一個數字(亦即,“0”),因此紋理元素318被視為一偶數紋理元素。此外,紋理元素324也是一偶數紋理元素,因為u=01及v=01的U-V座標具有相同的最後一個數字(亦即,“1”)。在另一方面,紋理元素320位在u=01及v=00的U-V座標,並且由於所述U座標及V座標並不具有相同的最後一個數字,因此紋理元素320是一奇數紋理元素。此外,紋理元素322也是一奇數紋理元素,因為座標u=00及v=01的U-V並不具有相同的最後一個數字。換言之,根據這些判斷,一偶數紋理元素對326包含紋理元素318、324,並且一奇數紋理元素對328包含紋理元素320、322。
就此而論,在步驟440,若判斷出的是針對於樣本點314的內插的距離值D的MSB是0,則所述偶數紋理元素對326被選擇。一旦所述紋理元素對被選擇,方法400移動到步驟450以判斷所述偶數紋理元素對326的哪一個偶數紋理元素在距離上較接近樣本點314。此如何可以用硬體來判斷的特定實施例是如下的。在陣列300中,其中距離是以紋理元素單位來加以量測,在兩個相鄰且正交的紋理元素位置之間的距離是一距離單位(例如,在紋理元素318及322之間的距離是1,並且在紋理元素318及320之間的距離也是1)。由於在區域316中的四個紋理元素定義一單位方形,因此沿著所述單位方形的一對角線332的任何點都將會具有總和達1單位距離的一U軸距離以及一V軸距離。例如,重合其中紋理元素320所在之處的一點將會具有從所述單位方形的左邊緣的一個1的U軸距離、以及從所述單位方形的頂端邊緣的一個0的V軸距離,當其U軸距離以及V軸距離相加在一起時產生一個1單位距離的總和。作為另一例子的是,在所述單位方形的中心的一點將會具有0.5為U軸及V軸距離,此產生一個1單位距離的總和。就此而論,一種供硬體判斷所述兩個偶數紋理元素中的哪一個較靠近樣本點314的方式是藉由概念上判斷樣本點314落在對角線332的哪一側。對於偶數紋理元素對326,任何在對角線332上或是對角線332的左邊的點將會具有其U軸及V軸距離總和達到1距離單位或是較小的(在此例子中,一落在所述對角線上的點被算作為較靠近左紋理元素)。若是如此的話,則紋理元素326的指數將會是被認為是較靠近樣本點314,並且因此加以選擇。相反地,任何在對角線332的右邊的點將會具有其U軸及V軸距離總和達到大於1距離單位。若是如此的話,則紋理元素324的指數將會是被認為是較靠近樣本點314,並且因此加以選擇。
用於選擇一細微的指數的特定實施例更正式被定義如下。令一樣本點(例如,樣本點314)的位置藉由[U1 , V1 ]來加以表示。首先,計算U1 ’ = U1 mod 2以及V1 ’ = V1 mod 2、或者換言之,截頭U1 及V1 至一整數位元(例如,一距離)以及其分數的位元。概念上,所述截頭執行一正規化操作,其轉換樣本點314的U-V座標成為一較小的區域的座標。例如,概念上,紋理元素陣列300可被分成格子,其中水平的格線源自於每一個偶數V位置(亦即,其最低有效位元是0的V位置),並且垂直的格線源自於每一個偶數U位置(亦即,其最低有效位元是0的U位置)。因此,每一個格子是一具有2單位距離側邊的方形。在每一個格子之內,左上角落的U-V座標都將會具有零作為其最低有效的兩個位元,因而每一個格子可以具有其本身的區域的座標系統。所述截頭結果U1 ’及V1 ’代表樣本點在具有一2單位距離的格子的一區域的座標系統中的轉換後的座標。U1 ’及V1 ’亦可以代表相關2單位距離的格子的U軸距離及V軸距離。
每一個2單位距離的格子包含四個單位方形,每一個單位方形是藉由一組相鄰且正交的紋理元素所界定的(例如,區域316包含一個此種單位方形)。概念上,下一個步驟是判斷在包含樣本點的單位方形之內,兩個偶數紋理元素中的哪一個(若內插的距離的MSB=0)或是兩個奇數紋理元素中的哪一個(若內插的距離的MSB=1)最接近所述樣本點。在特定的實施例中,若內插的距離的MSB=0,則最接近的偶數紋理元素可以如下被判斷出。首先,若U1 ’ < 1,則令距離Du = U1 ’;否則令距離Du = 2 - U1 ’。若V1 ’ < 1,則令距離 Dv = V1 ’;否則令Dv =2 - V1 ’。一組合的UV距離D1 於是可以藉由以下而被計算出: 距離D1 (針對於MSB = 0) = Du + Dv 。 若此距離D1 等於或小於1,則在偶數U位置(亦即,其最低有效位元是0的U位置)的偶數紋理元素的指數被選擇,否則在奇數U位置(亦即,其最低有效位元是1的U位置)的偶數紋理元素的指數被選擇。所選的偶數紋理元素的V位置的最低有效位元以及U位置的最低有效位元將會是相同的。利用圖3A作為一個例子,若一樣本點的內插的距離的MSB是0並且若所述樣本點是在分開偶數紋理元素318及324的對角線332的右側,則Du 將會是U1 ’,並且Dv 將會是V1 ’。由於所述樣本點是在所述對角線的右側,因此吾人知道Du +Dv 將會是大於1。就此而論,在奇數U位置的偶數紋理元素的指數將會被選擇,在此情形中,紋理元素324將會被選擇,因為其U座標是[01]。如同可以從所述圖看出的,偶數紋理元素324將會是比偶數紋理元素318更靠近在對角線232的右側的一樣本點。
在另一方面,若在步驟430判斷出的是針對於樣本點314的內插的距離值D的MSB是1,則樣本點314將會被認為是在藉由邊緣所界定的區域之內,並且在步驟350,兩個奇數紋理元素將會從二乘二的紋理元素區域316被選擇。因此,在步驟350,若判斷出的是針對於樣本點314的內插的距離值D的MSB是1,則奇數紋理元素對328被選擇。一旦所述紋理元素對被選擇,方法400移動到步驟470以判斷奇數紋理元素對328中的哪一個奇數紋理元素在距離上較接近樣本點314。在特定的實施例中,若內插的距離的MSB=1,則最接近奇數紋理元素可以如下被判斷出。首先,若U1 ’ < 1, 則令距離Du = U1 ’;否則令距離 Du = 2 - U1 ’。若V1 ’ < 1,則令距離Dv = 1 - V1 ’;否則令Dv =V1 ’ - 1。一組合的UV距離D2 於是可以藉由以下而被計算出: 距離D2 (針對於MSB = 1) = Du + Dv 。 若此距離D2 等於或小於1,則偶數U位置(亦即,其最低有效位元是0的U位置)的奇數紋理元素的指數被選擇,否則在奇數U位置(亦即,其最低有效位元是1的U位置)的奇數紋理元素的指數被選擇。所選的紋理元素的V位置的最低有效位元以及U位置的最低有效位元在此例中將會是相反的。利用圖3A作為一個例子,若一樣本點的內插的距離的MSB是1並且若所述樣本點是在分開奇數紋理元素322及320的對角線330的右側,則Du 將會是U1 ’,並且Dv 將會是1-V1 ’。根據此定義,吾人知道Du +Dv 將會是大於1。就此而論,在奇數U位置的奇數紋理元素的指數將會被選擇,在此情形中,紋理元素320將會被選擇,因為其U座標是[01]。如同可以從所述圖看出的,奇數紋理元素320將會是比奇數紋理元素322更靠近在對角線330的右側的一樣本點。
接著,在步驟480,被判斷為在距離上最接近樣本點314的所選的偶數或奇數紋理元素的色指數被用來決定用於樣本點314的色彩。舉例而言,若在步驟450判斷出的是偶數紋理元素318在距離上最接近樣本點314(其具有MSB=0),則樣本點314被決定編碼成藍色(例如,如同根據以上論述的假設紋理元素318的指數指到藍色而被決定的)。反之,若在步驟450判斷出的是偶數紋理元素324在距離上最接近樣本點314,則樣本點314被決定編碼成綠色。在另一方面,若在步驟470判斷出的是奇數紋理元素320在距離上最接近樣本點314(其現在具有MSB=1),則樣本點314被決定編碼成藍色。反之,若在步驟470判斷出的是奇數紋理元素322在距離上最接近樣本點314,則樣本點314被決定編碼成紅色。特定實施例可以在適當情況重複圖4的方法的一或多個步驟。儘管此揭露內容描述並且描繪圖4的方法的特定步驟為以一特定的順序發生,但是此揭露內容思及圖4的方法的任何適當的步驟以任何適當的順序來發生。再者,儘管此揭露內容描述並且描繪一種包含圖4的方法的特定的步驟之利用所述細微顆粒的色指數來決定一利用單一距離場的樣本位置的色彩之範例的方法,但是此揭露內容思及包含任何適當的步驟之任何利用所述細微顆粒的色指數來決定一利用單一距離場的樣本位置的色彩之適當的方法,其可以在適當情況包含圖4的方法的步驟的全部、一些、或是不包含。再者,儘管此揭露內容描述並且描繪實行圖4的方法的特定步驟的特定構件、裝置、或系統,但是此揭露內容思及實行圖4的方法的任何適當的步驟的任何適當的構件、裝置、或系統的任何適當的組合。
如同可以從上述用於編碼在一紋理元素陣列中的色指數以及根據內插結果來推斷適當的色指數來使用的實施例看出的,一距離場標籤可被配置以支援超過兩個色彩。因此,在以上的例子中展示的字母“A”例如可以定義前景“A”是黑色,在“A”的內部挖空中的背景是紅色,並且所述背景的其餘部分是紫色。靠近“A”的前景以及“A”的內部挖空的邊界區域處,在該區域之內的紋理元素可以定義用於“落入”(例如,黑色)以及“落出”(例如,紅色)的所要的色彩方案。類似地,靠近“A”的前景以及所述背景的其餘部分的邊界的紋理元素可以具有一用於“落入”(例如,黑色)以及“落出”(例如,紫色)的不同定義的所要的色彩方案。此技術具有利用距離場的優點(例如是銳利度,而不論尺寸及/或方位為何),而又減輕具有有限的色彩選項的傳統的缺點。若被配置來指明指數的位元數目增加(例如是3位元,而不是2位元),則色彩選項的數目亦將會增加(例如,3位元容許有8個色彩選項)。 單一距離場的粗略顆粒的色彩選擇
利用單一距離場的粗略顆粒的色彩選擇方法的討論將會聚焦在在圖5A、5B、6A及6B中所示的實施例以及在圖7中所述的方法。簡言之,圖5A及5B分別描繪在用於粗略顆粒的色指數選擇的一陣列的紋理元素上的偶數列以及奇數列的紋理元素位置的範例圖。圖6A描繪在一陣列的紋理元素上利用一粗略顆粒的色指數選擇方法。圖6B描繪用於粗略顆粒的色指數選擇的一範例色彩查找表。此外,圖7描繪一種利用粗略顆粒的色指數來決定利用單一距離場的一樣本位置的色彩之範例的方法700。
圖5A及5B描繪一用於粗略顆粒的色彩選擇的範例的六乘六的紋理元素陣列500,其中分別位在偶數列或奇數列的位置的紋理元素對被描繪是在方形區域之內。所述粗略顆粒的色彩選擇方法(在至少一特點中)與所述細微顆粒的色彩選擇方法不同在於粗略顆粒的色彩選擇方法使用一對紋理元素,而不是單一紋理元素,來指明針對於一圍繞所述紋理元素對的區域的所要的色指數(例如是藉由連結所述紋理元素對的指數)。因此,每一個紋理元素對的涵蓋區域是大於用在所述細微顆粒方法的每一個紋理元素的涵蓋區域。任何落在藉由一紋理元素對所涵蓋的一區域中的樣本點將會具有藉由所述紋理元素對的組合的色指數指明的色彩,前提是所述紋理元素對是被指定給所述樣本點的特定的“落入”或“落出”狀態(在特定的實施例中是如同根據其MSB所判斷出)的紋理元素。利用一對紋理元素來編碼色指數的益處是可利用於編碼指數的位元數目增加(例如,從2位元增加到4位元),此表示更多的色彩選項是可供利用的(例如,從4增加到16種色彩)。由於第一個色彩表項目通常是被設定為透明的(亦即,無色),此留下多達15個獨特的色彩可以藉由用在粗略顆粒的色彩選擇方法中的4位元的指數來加以編碼。
如同所繪的,在陣列500中的紋理元素是在一紋理貼圖中被配置在一U軸510以及一V軸512座標系統上的位置處。圓形代表在陣列500上的紋理元素位置。在其中紋理元素取樣是藉由硬體來執行的實施例中,一紋理元素的座標可以利用二進位值來指明。例如,沿著V軸512的列0-3分別被稱為列00、01、10及11,並且沿著U軸510的行0-3分別被稱為行00、01、10及11(額外的列與行可以利用額外的位元類似地加以編號)。例如,紋理元素514位在u=00及v=00(或是(00, 00));紋理元素516位在(00, 01),紋理元素518位在(01, 00),紋理元素520位在(01, 01),依此類推。為了簡化起見,所述六乘六的陣列500只有前四列以及前四行才在此加以參照。
為了粗略顆粒的色指數選擇,在陣列500中的紋理元素被分類成為偶數列或奇數列的位置(亦即,“偶數列的”紋理元素或是“奇數列的”紋理元素),以便於判斷要使用哪一個紋理元素來查找和一樣本位置相關的色彩。在特定的實施例中,在陣列500中的偶數及奇數列是根據相關列的V位置的最低有效位元而被判斷出。舉例而言,紋理元素514、516、518及520全部都具有一V位置v=00,其中最低有效位元是0。因此,紋理元素514、516、518及520都是偶數列的紋理元素。在另一方面,紋理元素522、524、526、528全部都具有一V位置v=01,其中最低有效位元是1。因此,紋理元素522、524、526、528都是奇數列的紋理元素。
如同在圖5A及5B中所示,每一個對齊的二乘二的紋理元素都包含兩個偶數列的紋理元素(例如,紋理元素514及516)以及兩個奇數列的紋理元素(例如,紋理元素522及524)。在特定的實施例中,偶數列的紋理元素對(例如,一偶數紋理元素對514及516、另一偶數紋理元素對518及520)可被用來編碼用於“落出”情形的色指數。為了描繪用於每一對的對齊的偶數列的紋理元素的涵蓋區域,圖5A展示偶數列的紋理元素對是位在其個別的方形區域之內(例如,偶數紋理元素對514及516是位在區域530之內,偶數紋理元素對518及520是位在區域532之內,依此類推)。此外,奇數列的紋理元素對(例如,一奇數列的紋理元素對522及524、以及另一奇數列的紋理元素對526及528)可被用來編碼用於“落入”情形的色指數,並且在圖5B中被描繪為分別位在方形區域534及536之內。此外,類似於以上論述的圖3A及3B,一陰影區域538代表在紋理元素的陣列500之外的位置(例如,在所述陣列之外超過0.5紋理元素的紋理元素),並且因此具有和一無色或“透明的”結果相關的零的距離以及零的指數。
圖6A描繪一範例四乘四個的紋理元素陣列600。在陣列600中的十六個紋理元素是在一紋理貼圖上被配置在一具有U軸610及V軸612的座標系統中指明的位置處。在特定的硬體實施例中,如同參考圖2A所述的,U位置及V位置可以用二進位指明。圓形是代表在陣列600上的紋理元素位置。一樣本點614被選擇(類似於在以上樣本點314是如何被選擇的),並且被選擇用於樣本點614的色彩是利用圖7的粗略顆粒的色彩選擇方法700而被判斷出。在特定的實施例中,如上所論述的,在每一個偶數列中的紋理元素對(例如,根據偶數紋理元素的V位置的最低有效位元是0而被判斷出)可被用來編碼用於“落出”情形的色指數,並且在每一個奇數列中的紋理元素對(例如,根據奇數紋理元素的V位置的最低有效位元是1而被判斷出)可被用來編碼用於所述“落入”情形的色指數。總結,如同在此所用的,“偶數列的紋理元素”是指在所述紋理元素陣列的一偶數列上的紋理元素(例如,一偶數列的紋理的V位置的最低有效位元是0),並且“奇數列的紋理元素”是指在所述紋理元素陣列的一奇數列上的紋理元素(例如,一奇數列的紋理的V位置的最低有效位元是1)。每一個紋理元素對的兩個指數被連結,並且結果是在濾波期間和兩個紋理元素相關的(亦即,所述紋理元素對的兩個紋理元素將會是和相同的連結的指數相關的)。
如同在圖7中所示,方法700可以開始在步驟710,其中相鄰對齊的偶數或奇數紋理元素對的指數被連結,並且以兩個相關的紋理元素而被儲存在像素區塊中的紋理元素緩衝器內。此可以是當紋理元素資料被載入記憶體時的資料載入過程的部分。舉例而言,如同在圖6A中所示,針對於位在V位置v=00的偶數列的紋理元素,偶數列的紋理元素對634(包含相鄰的偶數列的紋理元素618及620)的兩個指數被連結,並且結果是和兩個紋理元素相關的。此外,偶數列的紋理元素對636(包含相鄰的偶數列的紋理元素622及624)被連結,並且結果是和兩個紋理元素相關的。同樣地,針對於位在V位置v=01的奇數列的紋理元素,奇數列的紋理元素對638(包含相鄰的奇數列的紋理元素626及628)的兩個指數被連結並且結果是和兩個紋理元素相關的,並且奇數列的紋理元素對640(包含相鄰的奇數列的紋理元素630及632)的兩個指數被連結並且結果是和兩個紋理元素相關的。在其中每一個紋理元素的色指數是2位元的實施例中,連結兩個紋理元素的色指數將會產生一4位元的色指數。例如,若紋理元素618的色指數是2位元的二進位數目11並且紋理元素620的色指數是2位元的二進位數目00,則連結所述兩者可以導致4位元的指數0011(若低階的位元被填入在偶數U位置中的紋理元素的指數)、或是1100(若低階的位元被填入在奇數U位置中的紋理元素的指數)。之後,所述4位元的指數(例如0011)將會是和兩個紋理元素618及620相關的(例如,與其一起被儲存的)。
接著,在步驟720,四個最接近樣本點614的紋理元素被判斷出並且載入記憶體中,因而那些紋理元素的距離值可被用來決定樣本點614的內插的距離。圖6A描繪四個最接近樣本點614的紋理元素是偶數列的紋理元素620、622以及奇數列的紋理元素628、630。在特定的實施例中,偶數列的紋理元素620、622以及奇數列的紋理元素628、630是分別和包含一6位元的距離的一距離場以及在步驟710中產生的4位元的色指數相關的。如上所論述,所述4位元的色指數儲存對於在一16色彩的查找表中的一項目的一參照,以用於決定和紋理元素相關的色彩。圖6B描繪一具有16個不同項目的範例的色彩查找表。在所展示的特定例子中,項目“0”對應於“透明的”(亦即,無色),項目“1”(或是以二進位表示的0001)對應於紅色,項目“2”(或是以二進位表示的0010)對應於綠色,並且項目“3”(或是以二進位表示的0011)對應於藍色、等等,直到項目“16”(或是以二進位表示的1111)為止。因此,舉例而言,包含偶數列的紋理元素618及620的偶數列的對634分別可以具有一個“3”或“0011”的連結色指數,其指出和兩個紋理元素相關的色彩是藍色;包含偶數列的紋理元素622及624的偶數列的對636亦可具有一個“3”或“0011”的連結色指數,其指出和兩個紋理元素相關的色彩也是藍色;包含奇數列的紋理元素626及628的奇數列的對638可以具有一個“1”或“0001”的連結色指數,其指出和兩個紋理元素相關的色彩是紅色;並且包含奇數列的紋理元素630及632的奇數列的對640可以具有一個“2”或“0010”的連結色指數,其指出和兩個紋理元素相關的色彩是綠色。
在步驟730,針對於樣本點614的距離值D是根據所述四個最近的紋理元素620、622、628、630的距離值來加以內插的。接著,在步驟740,針對於樣本點614的內插的距離值D的最高階位元被判斷為0或是1。換言之,若針對於樣本點614的內插的距離值D的MSB被判斷為0,則樣本點614被判斷為在藉由邊緣所界定的區域之外。在另一方面,若針對於樣本點614的內插的距離值D的MSB被判斷為1,則樣本點614被判斷為在藉由邊緣所界定的區域之內。因此,在步驟740,若判斷出的是針對於樣本點614的內插的距離值D的MSB是0,則樣本點614被判斷為在藉由邊緣所界定的區域之外,並且在步驟750,兩個偶數列的紋理元素從最接近的4個紋理元素被選擇(如先前所述,根據特定的粗略顆粒的指數實施例,偶數列的紋理元素在“落出”情形中被用來編碼色指數,並且奇數列的紋理元素在“落入”情形中被用來編碼色指數)。就此而論,在此例子中,所選的兩個偶數列的紋理元素將會是偶數列的紋理元素620及622。
一旦偶數列的紋理元素620及622被選擇後,方法700移動到步驟760以判斷兩個偶數列的紋理元素620及622中的哪一個在距離上是較接近樣本點614。此如何可以用硬體來判斷的特定實施例是如下的。如上所論述,在其中距離是以紋理元素單位來加以量測的陣列600中,在兩個相鄰的紋理元素位置之間的距離是一距離單位(例如,在偶數列的紋理元素620及622之間的距離是1,並且在奇數列的紋理元素628及630之間的距離也是1)。由於這四個最接近的紋理元素620、622、628、630定義一單位方形,因此任何沿著一在偶數列的紋理元素620及622之間以及在奇數列的紋理元素628及630之間的垂直線642的點都對應於一沿著U軸方向距離偶數列的紋理元素620及622以及奇數列的紋理元素628及630的每一個0.5紋理元素的位置。就此而論,一種供硬體判斷兩個偶數紋理元素的哪一個較接近樣本點614之方式是概念上藉由判斷樣本點614落在垂直線642的哪一側(例如,如同在以下詳細論述的,藉由判斷樣本點614是否距離最接近的整數U軸位置小於或等於0.5紋理元素、或者是大於0.5紋理元素)。舉例而言,對於偶數列的紋理元素620及622,任何在垂直線642上或左邊的點都將會具有相隔一最接近的整數U軸位置(例如,u=01)的一小於或等於0.5紋理元素的距離。若是如此的話,則偶數列的紋理元素620(亦即,“左邊的”偶數列的紋理元素)的指數將會被認為是較靠近樣本點614,並且因此被選擇。相反地,任何在垂直線642的右邊的點都將會具有相隔最接近的整數U軸位置(例如,u=01)的一大於0.5紋理元素的距離。若是如此的話,則偶數列的紋理元素422(亦即,“右邊的”偶數列的紋理元素)的指數將會被認為是較接近樣本點614,並且因此被選擇。
用於選擇一粗略指數的特定實施例是更正式定義如下。令一樣本點(例如,樣本點614)的位置是藉由(U2 , V2 )來加以表示。首先,計算U2 ’ = U2 mod 1、或換言之,截頭U2 至一分數的位元(亦即,餘數)。概念上,截頭執行一正規化運算,其計算一樣本點在U軸方向上相隔最接近的整數U位置有多遠。舉例而言,對於一被內插是在一沿著U軸對應於1.3紋理元素的十進位的位置處的樣本點而言,所述距離值的截頭將會產生一0.3的餘數。類似地,對於一被內插是在一沿著U軸對應於2.7紋理元素的二進位的位置處的樣本點而言,所述距離值的截頭將會產生一0.7的餘數。
如上所論述的,從最接近樣本點614的4個紋理元素,根據針對於樣本點614的內插的距離值D的MSB,所述一對偶數列的紋理元素620、622或是所述一對奇數列的紋理元素628、630是所關注的。概念上,下一個步驟是判斷所述兩個偶數列的紋理元素中的哪一個(若內插的距離的MSB=0)或所述兩個奇數列的紋理元素中的哪一個(若內插的距離的MSB=1)是最接近樣本點。在特定的實施例中,若內插的距離的MSB是0(因而指出所述一對偶數列的紋理元素是所關注的),則所述偶數列的紋理元素中的最接近的一個可以如下被決定。如同先前論述的,首先計算U2 ’ = U2 mod 1,其中U2 是樣本點在紋理空間中的U位置。接著,若U2 ’ > 0.5,則在偶數U位置(亦即,其最低有效位元是0的U位置)的偶數紋理元素的指數被選擇。否則,若U2 ’ ≤ 0.5,則在奇數U位置(亦即,其最低有效位元是1的U位置)的偶數紋理元素的指數被選擇。利用圖6A作為例子,若一樣本點的內插的距離的MSB是0並且若U2 ’ = U2 mod 1 ≤ 0.5,則所述樣本點將會落在垂直線642的左側。就此而論,在奇數U位置的偶數列的紋理元素的指數將會被選擇,在此情形中偶數列的紋理元素620將會由於其U座標是[01]而被選擇。如同可以從所述圖看出的,偶數列的紋理元素620將會是比偶數列的紋理元素622更接近樣本點614。
在另一方面,若在步驟740判斷出的是針對於樣本點614的內插的距離值D的MSB是1,則樣本點614被判斷為在藉由邊緣所界定的區域之內,並且在步驟770,兩個奇數列的紋理元素是從最接近的4個紋理元素被選擇。就此而論,所選的兩個奇數列的紋理元素將會是奇數列的紋理元素628及630。一旦奇數列的紋理元素628及630被選擇,則方法700移動到步驟780以判斷奇數列的紋理元素628及630中的哪一個在距離上較接近樣本點614。最接近的奇數列的紋理元素可以類似於如上所論述的最接近的偶數列的紋理元素如何被判斷的而被判斷出。明確地說,若一樣本點(例如,樣本點614)的紋理位置是(U2 , V2 ),則首先計算U2 ’ = U2 mod 1、或換言之,截頭U2 至一分數的位元(亦即,餘數)。接著,若U2 ’ > 0.5,則在偶數U位置(亦即,其最低有效位元是0的U位置)的奇數列的紋理元素的指數被選擇。否則,若U2 ’ ≤ 0.5,則在奇數U位置(亦即,其最低有效位元是1的U位置)的奇數列的紋理元素的指數被選擇。利用圖6A作為例子,若一樣本點的內插的距離的MSB是1(指出奇數列的紋理元素是所關注的)並且若U2 ’ = U2 mod 1 ≤ 0.5,則所述樣本點將會落在垂直線642的左側。就此而論,在奇數U位置的奇數列的紋理元素的指數將會被選擇,在此情形中,奇數列的紋理元素628將會由於其U座標是[01]而被選擇。如同可以從所述圖看出的,奇數列的紋理元素628將會是比奇數列的紋理元素630更接近樣本點614。
以上論述的例子是描述其中樣本點614位在一介於兩組對齊的紋理元素之間的位置處(例如,介於紋理元素對634以及紋理元素對636之間)的情況,其亦表示四個相鄰的紋理元素(例如,620、622、628及630)可以具有獨特的4位元的連結指數。換言之,如同在圖6A中所示,樣本點614位在所述對的偶數列的紋理元素618、620以及所述對的偶數列的紋理元素622、624之間,並且類似地位在所述對的奇數列的紋理元素626、628以及所述對的奇數列的紋理元素630、632之間。然而,一樣本點可以反而位在一組對齊的2x2紋理元素之內(例如,在紋理元素618、620、626、628之內),其表示所述偶數列的紋理元素將會具有相同的4位元的連結指數,並且所述奇數列的紋理元素將會具有相同的4位元的連結指數。舉例而言,如同在圖6A中所示,位在(U3 , V3 )的樣本點644是位在所述對的偶數列的紋理元素622、624述紋理元素之間,並且類似地位在所述對的奇數列的紋理元素630、632的紋理元素之間。在此情況中,4個最接近樣本點644的紋理元素將會包含所述對的偶數列的紋理元素622、624以及所述對的奇數列的紋理元素630、632。利用上述的方法700,在判斷是否選擇偶數列的紋理元素對(若內插的距離的MSB=0)或是奇數列的紋理元素對(若內插的距離的MSB=1)之後,藉由計算是否U3 ’ = U3 mod 1 > 0.5或是≤ 0.5來選擇最接近的偶數列或奇數列的紋理元素導致一與選擇最接近的紋理元素的概念上的觀念相反的結果。舉例而言,若偶數列的紋理元素對622、624被選擇(根據內插的距離的MSB=0),並且判斷出的是U3 ’ = U3 mod 1 > 0.5,則在偶數U位置(亦即,其最低有效位元是0的U位置)的偶數列的紋理元素的指數被選擇。然而,此將會導致“左側的”偶數列的紋理元素622的選擇(由於其U位置是10),即使概念上判斷是U3 ’ > 0.5指出“右側的”偶數列的紋理元素624較接近。儘管此看似不一致的結果,但因為偶數列的紋理元素622及624具有相同的連結指數,因此哪一個偶數列的紋理元素的指數被選擇的最終結果並不重要。以一種類似的方式,同樣的結果將會發生在所述對的奇數列的紋理元素630、632之間選擇時。
回到圖7,在判斷哪一個偶數列的紋理元素或是奇數列的紋理元素較靠近樣本點614之後,在步驟790,在距離上被判斷為最接近樣本點614的所選的偶數列或奇數列的紋理元素的連結色指數被用來決定用於樣本點614的色彩。舉例而言,若在步驟760判斷出的是偶數列的紋理元素620是在距離上最接近樣本點614(其具有MSB=0),則樣本點614被決定編碼成藍色(例如,如同根據以上論述的假設偶數列的紋理元素618及620的指數編碼成藍色而被判斷的)。若在步驟760反而判斷出的是偶數列的紋理元素622在距離上最接近樣本點614(其具有MSB=0),則樣本點614亦被決定編碼成藍色。在另一方面,若在步驟780判斷出的是奇數列的紋理元素628在距離上最接近樣本點614(其具有MSB=1),則樣本點614被決定編碼成紅色。若在步驟780反而判斷出的是奇數列的紋理元素630在距離上最接近樣本點614(其具有MSB=1),則樣本點614被決定編碼成為編碼的綠色。特定實施例可以在適當情況重複圖7的方法的一或多個步驟。儘管此揭露內容描述並且描繪圖7的方法的特定步驟為以一特定的順序發生,但是此揭露內容思及圖7的方法的任何適當的步驟以任何適當的順序來發生。再者,儘管此揭露內容描述並且描繪一種包含圖7的方法的特定的步驟之利用所述粗略顆粒的色指數來決定一利用單一距離場的樣本位置的色彩之範例的方法,但是此揭露內容思及包含任何適當的步驟之任何利用所述粗略顆粒的色指數來決定一利用單一距離場的樣本位置的色彩之適當的方法,其可以在適當情況包含圖7的方法的步驟的全部、一些、或是不包含。再者,儘管此揭露內容描述並且描繪實行圖7的方法的特定步驟的特定構件、裝置、或系統,但是此揭露內容思及實行圖7的方法的任何適當的步驟的任何適當的構件、裝置、或系統的任何適當的組合。
如同可以從上述用於在一紋理元素陣列中編碼連結色指數並且根據內插結果來推斷適當的連結色指數來使用的實施例看出的,一具有相鄰的紋理元素的連結的色指數之距離場標籤可被配置以支援多達16種色彩(例如,一“透明的”色彩以及多達15種獨特的色彩)。類似於所述細微顆粒技術,此粗略顆粒技術亦具有利用距離場的優點(例如是銳利度,而不論尺寸及/或方位為何),而又減輕具有有限的色彩選項的傳統的缺點。 利用雙距離場以判斷一樣本位置的色彩
在特定的實施例中,利用根據至只有一邊緣的距離的單一距離場可能會導致字元或字形的銳利的角落(例如,一鑽石形狀)當它們被成像時呈現圓弧形或是平滑化的,尤其是當所述距離場的解析度減小時。針對此的一種解決方案是利用雙距離場來捕捉在兩個邊緣之間的交叉處的資訊。在特定的實施例中,當一標籤(例如,字元、字形、等等)被產生時,一產生所述標籤的創作軟體可以識別及標示邊緣,例如是type0及type1邊緣。雙距離場捕捉一紋理元素至兩個不同類型的邊緣的距離以保存交叉資料。在一雙距離場標籤中的每一個紋理元素具有兩個距離值:distance0表示從所述紋理元素至最接近的type0邊緣的距離,並且distance1表示從所述紋理元素至最接近的type1邊緣的距離。
如先前所論述的,一紋理元素的每一個距離值編碼所述紋理元素相對於所述距離被量測的邊緣是否“落入”或“落出”。對於一雙距離場紋理元素而言,其距離值的每一個都可能是“落入”或“落出”,此表示對於每一個紋理元素而言有四種“落入”及“落出”組合。圖8是描繪和一字母“F”相關的一範例區域,其中兩個不同邊緣類型的邊緣交會在一頂點,此產生和在所述邊緣的每一個之內或是之外的四個不同組合相關的四個不同的區域。如同在圖8中所示,一type0邊緣810以及一type1邊緣812交叉在點814。儘管邊緣810、812被繪製成實線,但是每一個邊緣810、812的整個長度在所述標籤中並不一定都是可見的。例如,在圖8中所展示者可以對應於字母“F”的左上角落,其中點814是所述角落,邊緣812的右半界定所述角落的水平的邊緣,並且邊緣810的下半界定所述角落的垂直的邊緣。邊緣810及812的其餘部分可以是那些邊緣810、812的實際可見的部分的概念上的延伸,其為了界定針對於附近的紋理元素的距離值之目的而被產生的。若所展示的是“F”的左上角落,則在邊緣812之下的紋理元素可被認為是相對於邊緣812“落入”,並且在邊緣812之上的紋理元素可被認為是相對於邊緣812“落出”。類似地,在邊緣810的右邊的紋理元素可被認為是相對於邊緣810“落入”,並且在邊緣810的左邊的紋理元素可被認為是相對於邊緣810“落出”。因為type0邊緣810在點814與type1邊緣812交叉,因此四個不同的區域816、818、820及822被形成。在每一個區域中的紋理元素將會具有一相對於所述兩個邊緣810、812的不同的“落入”及“落出”的組合。例如,在區域816中的紋理元素將會具有一分別相對於邊緣810/812的落出/落出的組合;在區域818中的紋理元素將會具有一落入/落出的組合;在區域826中的紋理元素將會具有一落出/落入的組合,並且在區域830中的紋理元素將會具有一落入/落入的組合。像是傳統的單一距離場標籤,傳統的雙距離場標籤只支援兩種色彩–前景及背景。前景及背景將會分別藉由“落入”及“落出”的特定的組合而被編碼。例如,落入/落入的區域將會被視為是前景,並且任何其它部分(亦即,落出/落出、落入/落出、或是落出/落入)將會被視為是背景。利用圖8作為一例子,對於字母“F”在點814的銳角,落入/落入將會指定前景,並且其餘將會被設定成背景。但是對於在字母“F”中的鈍角中之一(例如,藉由所述字母的垂直條以及兩個水平條的任一個所形成的内角的任一個),落出/落出將會需要指定背景,並且其餘將會被設定成前景以適當地著色“F”的內部。現有的方法可能嘗試利用三種類型的邊緣來解決此問題。相對地,在此所述的實施例只利用兩種類型的邊緣(例如,type0及type1)來解決此問題。
在此所述的特定實施例擴大雙距離場字型的色彩選項到超過兩個,並且進一步容許每一個“落入”及“落出”的組合被指定不同的色彩。利用圖8作為一個例子,區域816是白色的,區域818是紅色的,區域820是黃色的,並且區域822是橙色的。
當一雙距離標籤被對映到螢幕空間時,內插被用來根據所述標籤的紋理元素的雙距離場以決定用於螢幕像素的色彩。如同在以上所提及的,每一個紋理元素可以具有一distance0以及一distance1值,其分別指明所述紋理元素至最接近的edge0以及最接近的edge1的距離。在特定的硬體實施方式中,每一個距離值可以藉由一個二進位值(例如,110111)來加以表示。在特定的實施例中,每一個距離值的最高有效位元(MSB)可被用來表示所述紋理元素相對於相關的邊緣類型是否“落入”或“落出”,並且所述位元的其餘部分可以指示距離。例如,若distance0是110111,則distance0的MSB(其可被表示為MSB(distance0))將會是0(此表示“落出”),並且所述紋理元素相隔最接近的edge0的距離將會是10111。類似地,若distance1是000001,則MSB(distance1)=1,並且所述紋理元素相隔最接近的edge1的距離將會是00001。
當紋理元素的距離值針對於在紋理空間中的一像素的樣本點而被使用在內插計算中(例如,雙線性內插)時,所述樣本點將會被指定一內插的distance0,其是根據四個相鄰的紋理元素的distance0值而被計算出的。此外,所述樣本點將會被指定一內插的distance1,其是根據所述四個相鄰的紋理元素的distance1值而被計算出的。根據內插的distace0的MSB,可以判斷所述樣本點相對於邊緣type0是否“落入”(若MSB=1)或“落出”(若MSB=0)。類似地,根據內插的distance1的MSB,可以判斷所述樣本點相對於邊緣type1是否“落入”(若MSB=1)或“落出”(若MSB=0)。舉例而言,如同在圖8中所示,樣本點824將會是和“落出/落出”的組合相關的,因為其將會具有一MSB(內插的distance0)=0(落出)以及一MSB(內插的distance1)=0(落出),此表示樣本點824是在type0邊緣810以及type1邊緣812兩者之外。樣本點826將會是和“落入/落出”的組合相關的,因為其將會具有一MSB(內插的distance0)=1(落入)以及一MSB(內插的distance1)=0(落出),此表示樣本點826在type0邊緣810之內,但是在type1邊緣812之外。樣本點828將會是和“落出/落入”的組合相關的,因為其將會具有一MSB(內插的distance0)=0(落出)以及一MSB(內插的distance1)=1(落入),此表示樣本點828在type0邊緣810之外,但是在type1邊緣812之內。此外,樣本點830將會是和“落入/落入”的組合相關的,因為其將會具有一MSB(內插的distance0)=1(落入)以及一MSB(內插的distance0)=1(落入),此表示樣本點830是在type0邊緣810以及type1邊緣812兩者之內。此外,類似於以上論述的單一邊緣的距離標籤,被判斷是在標籤的紋理元素陣列之外的紋理元素被當作為零。因此,任何在所述標籤之外超過0.5紋理元素的樣本位置都內插一具有MSB=0的距離,此導致一“透明的”色彩被選擇以用於所述樣本位置。
在特定的實施例中,一旦已經判斷出所述四個“落入”及“落出”的組合中的哪一個和所述樣本點相關後,一色指數可被存取以決定用於該樣本點的所要的色彩。如同將會在以下更詳細描述的,在所述標籤的一區域之內的紋理元素可以指明用於每一個“落入/落出”組合的所要的色指數。在特定的實施例中,每一個距離值(例如,6位元)可以是和一色指數(例如,2位元)相關的。
在特定的實施例中,雙距離場標籤可以利用一細微顆粒技術或是一粗略顆粒技術來編碼用於所述四個“落入”及“落出”的組合的所要的色彩(或是前景/背景的判斷)。在一細微顆粒實施例中(在以下更詳細地敘述),根據樣本點的內插的距離的MSB以及所述樣本點在紋理空間中的位置,一色指數可以從附近的紋理元素被選擇,並且被用來決定用於所述樣本點的所要的色彩。指數值可被用來從一色彩查找表選擇一色彩。例如,一個2位元的色指數可以對應於在一查找表中的橙色。或者是,指數值可被用來選擇一布林函數(例如,AND、OR、等等)以施加至所述MSB(內插的distance0)以及所述MSB(內插的distance1)以決定樣本點是否應該和一前景或背景相關的。例如,若指數選擇一AND運算,則施加此種運算至1及0的MSB將會產生0,此可以指出所述樣本點應該是背景。在另一方面,若指數選擇一OR運算,則施加所述運算至1及0的MSB將會產生1,此可以指出所述樣本點應該是前景。換言之,一紋理元素的指數可以針對於所述紋理元素位在其中的區域定義每一個“落入”/”落出”組合應該如何被對映到背景或前景。
在一粗略顆粒的實施例中,如同在以下更詳細論述的,從一對紋理元素選擇的指數可以連結以形成一較大的指數值(例如,兩個2位元的指數可以連結以形成一4位元的指數)。一在尺寸上4位元的指數將會是能夠指向在一色彩查找表中的16個不同的色彩(例如,具有一透明以及15個色彩)。 雙距離場細微顆粒的色彩選擇
針對於一樣本點的細微顆粒雙距離場的色彩選擇方法的討論將會聚焦在圖9A及9B中所示的實施例以及在圖10中所述的方法上。簡言之,圖9A描繪在一陣列的具有雙距離場的紋理元素上利用一細微顆粒的色指數選擇方法。圖9B描繪和用於細微顆粒的色指數選擇的對齊的二乘二的紋理元素組相關的範例的距離場。此外,圖10描繪一種利用被編碼在雙距離場紋理元素之內的細微顆粒的色指數來決定一樣本點的色彩之範例的方法1000。
圖9A描繪一範例的四乘四個的紋理元素陣列900。在陣列900中的十六個紋理元素是在一U軸910及V軸912上的位置處被配置在一紋理貼圖上。在特定的硬體實施例中,U及V座標是用二進位表示的數字指明的,其開始於00(對應於十進位的值0)並且結束於11(對應於十進位的值3)。圓形是代表在紋理元素陣列900中的紋理元素位置。一樣本點914是利用上述的過程而被選擇的(例如,在3D觀察空間中從一像素投影一光線至一表面,找出交叉點,並且對映所述交叉點到2D紋理空間中)。就此而論,樣本點914對應於在一螢幕中的一像素,並且被選擇用於樣本點914的色彩是利用細微顆粒的色彩選擇方法1000而被判斷出。如同在圖10中所示,方法1000可以開始在步驟1010,其中四個最接近樣本點914的紋理元素被判斷出。圖9A描繪四個最接近樣本點914的紋理元素是在二乘二的紋理元素區域916中的紋理元素,並且包含紋理元素918、紋理元素920、紋理元素922、以及紋理元素924。
如同在圖9B中所示,紋理元素918、920、922及924是分別和雙距離場相關的。在特定的實施例中,每一個距離場可以是8位元長的。一紋理元素的第一距離場可包含一藉由distance0或D0 來加以表示的第一6位元的距離值、以及一2位元的色指數。distance0的MSB位元可以編碼所述紋理元素是否“落入”或“落出”,並且所述位元的其餘部分可以指明在所述紋理元素以及最接近的type0邊緣之間的距離。同一個紋理元素的第二距離場可包含一藉由distance1或D1 來加以表示的第二6位元的距離值、以及一2位元的色指數。distance1的MSB位元可以編碼所述紋理元素是否“落入”或“落出”,並且所述位元的其餘部分可以指明在所述紋理元素以及最接近的type1邊緣之間的距離。所述紋理元素918、920、922及924的每一個的每一色指數參照到在一4項目的色彩查找表(例如,在圖3B中所示的色彩查找表)中的一項目。
在特定的實施例中,在紋理元素陣列900的每一個區域中,用於所述四個“落入”/“落出”的組合的所要的色彩分別可以藉由相鄰對的紋理元素的四個色指數來指明。例如,紋理元素918的distance0及distance1指數、以及紋理元素920的distance0及distance1指數可以指出用於所述區域的所要的色彩,其根據哪一個“落入”/“落出”組合是和樣本點914相關的而定(其在以下更詳細地描述)。因此,每一個指數可以代表針對於一特定的“落入”/“落出”組合的所要的色指數。在特定的實施例中,藉由每一個指數來加以表示的何種“落入”/“落出”組合可以根據一預設的模式而被指定。例如,圖9B描繪針對於一2x2組的對齊的紋理元素(例如紋理元素918、920、922及924)的模式的一個例子。如圖所示,紋理元素918的distance0指數指定用於落出/落出情形的所要的色彩,並且distance1指數指定用於落出/落入情形的所要的色彩;紋理元素920的distance0指數指定用於落入/落出情形的所要的色彩,並且distance1指數指定用於落入/落入情形的所要的色彩;紋理元素922的distance0指數指定用於落入/落出情形的所要的色彩,並且distance1指數指定用於落入/落入情形的所要的色彩;以及紋理元素924的distance0指數指定用於落出/落出情形的所要的色彩,並且distance1指數指定用於落出/落入情形的所要的色彩。此模式可以重複在整個紋理元素陣列900中。例如,此針對於對齊的2x2紋理元素的模式可以重複於位在(U, V)座標(10, 00)、(11, 00)、(10, 01)及(11, 01)的2x2紋理元素、位在(00, 10)、(01, 10)、(00, 11)、(01, 11)的2x2紋理元素、以及位在(10, 10)、(11, 10)、(10, 11)及(11, 11)的2x2紋理元素。
在圖9B中所示的模式可以用各種方式來加以描述,例如是就偶數紋理元素以及奇數紋理元素而論。每一個紋理元素可被稱為一偶數紋理元素或是奇數紋理元素,其是用和如上參考圖3A-3B所述相同的方式界定的。例如,紋理元素918可被視為一偶數紋理元素,因為其U及V座標的LSB是相同的(亦即,在此例中都是0)。紋理元素924亦可被視為一偶數紋理元素,因為其U及V座標的LSB也是相同的(亦即,在此例中都是1)。相對地,紋理元素920可被視為一奇數紋理元素,因為其U及V座標的LSB是不同的(亦即,在此例中是1及0)。類似地,紋理元素922可被視為一奇數紋理元素,因為其U及V座標的LSB也是不同的(亦即,在此例中是0及1)。在圖9B中所示的模式可以被描述如下:每一個偶數紋理元素可以使得其distance0指數和落出/落出的組合相關的,並且distance1指數和落出/落入的組合相關的,並且每一個奇數紋理元素可以使得其distance0指數和落入/落出的組合相關的,並且distance1指數和落入/落入組合相關的。所述模式是以一交錯的方式重複的。在一組對齊的2x2的紋理元素之內,每一個distance0指數是和落出/落出或落入/落出的組合相關的,並且每一個distance1指數是和落出/落入或落入/落入組合相關的。應注意到的是,儘管和每一個指數相關的落入/落出的組合可能會重複,但其並不表示所述指數值本身需要依循任何特定的模式。例如,即使紋理元素918以及位在(10, 00)的紋理元素可以都具有一和落出/落出的組合相關的distance0指數,但是紋理元素918的distance0指數可以對應於紅色,而在(10, 00)的紋理元素的distance0指數可以對應於藍色。
類似於以上參考圖2A及2B所述的細微顆粒單一距離場實施例,在細微顆粒雙距離場實施例中的偶數及奇數紋理元素亦經由其個別的指數,針對於其個別的涵蓋區域指明所要的色彩。例如,所述偶數紋理元素指明用於其個別的涵蓋區域的色彩(例如,如同在圖2A中所示),並且所述奇數紋理元素指明用於其個別的涵蓋區域的色彩(例如,如同在圖2B中所示)。即如將會在以下更詳細描述的,若針對於樣本點914的內插的distance0的MSB是0,則最接近的偶數紋理元素可被選擇。所選的偶數紋理元素具有和distance0以及distance1相關的兩個指數。若針對於樣本點914的內插的distance1的MSB是0,則和distance0相關的指數將會被選擇。在另一方面,若內插的distance1的MSB是1,則和distance1相關的指數將會被選擇。所選的指數接著可被用來決定用於位在所選的偶數紋理元素的涵蓋區域之內的樣本點914的色彩。作為另一例子的是,若針對於樣本點914的內插的distance0的MSB是1,則最接近的奇數紋理元素可被選擇。所選的奇數紋理元素具有和distance0及distance1相關的兩個指數。若針對於樣本點914的內插的distance1的MSB是0,則和distance0相關的指數將會被選擇。在另一方面,若內插的distance1的MSB是1,則和distance1相關的指數將會被選擇。所選的指數接著可被用來決定用於位在所選的奇數紋理元素的涵蓋區域之內的樣本點914的色彩。
已經選擇的最終的指數接著可被用來決定樣本點914的色彩。如上所述,所述指數的特定實施例可以指明一特定的邏輯運算(例如,AND、OR、XOR、NAND、NOR、XNOR、等等)以施加至樣本點914的內插的distance0及distance1值的MSB。所述邏輯運算的結果可以指出樣本點914是否為一背景(例如,若所述邏輯運算產生0)、或是一前景(例如,若所述邏輯運算產生1)。在其它實施例中,所選的指數可以指向在一色彩查找表(例如,圖3B)中的一特定的項目。
如同在圖10中所示,在步驟1012,針對於樣本點914的距離值distance0(D0 )及distance1(D1 )是根據紋理元素918、920、922及924的每一個的距離值來內插的。在特定的實施例中,內插的距離D0 指明在樣本點914以及最接近的type0邊緣之間的距離,並且內插的距離D1 指明在樣本點914以及最接近的type1邊緣之間的距離。接著,在步驟1014,針對於樣本點914的內插的距離值D0 的最高階位元被判斷為0或是1。換言之,若針對於樣本點914的內插的距離值D0 的MSB被判斷為0,則樣本點914被判斷為相對於最接近的type0邊緣“落出”(亦即,在藉由最接近的type0邊緣所界定的區域之外)。在另一方面,若針對於樣本點914的內插的距離值D0 的MSB被判斷為1,則樣本點914被判斷為相對於最接近的type0邊緣“落入”(亦即,在藉由最接近的type0邊緣所界定的區域之內)。類似地,若內插的D1 =0,則樣本點914被判斷為相對於最接近的type1邊緣“落出”;若內插的D1 =1,則樣本點914被判斷為相對於最接近的type1邊緣“落入”。
若在步驟1014判斷出是針對於樣本點914的內插的距離值D0 的MSB是0,則在步驟1016,樣本點914被判斷為相對於最接近的type0邊緣“落出”,並且因此兩個偶數紋理元素從二乘二的紋理元素區域916被選擇。所述偶數紋理元素是用如上參考圖3A-3B所述的相同的方式界定的。明確地說,在二乘二的紋理元素區域916之內,紋理元素918可被視為一偶數紋理元素,因為其U座標(u=00)及V座標(v=00)的LSB是相同的(亦即,在此例中都是0),並且紋理元素924亦可被視為一偶數紋理元素,因為其U座標(u=01)及V座標(v=01)的LSB也是相同的(亦即,在此例中都是1)。因此,紋理元素918及924被選擇為在二乘二的紋理元素區域916之內的兩個偶數紋理元素。
接著,在步驟1018,方法1000判斷所選的兩個偶數紋理元素中的哪一個偶數紋理元素在距離上較接近樣本點914。此類似於在圖3A中敘述的單一距離細微顆粒的實施例以及圖4的方法400的步驟450而被判斷出。明確地說,一種供硬體判斷所述兩個偶數紋理元素的哪一個較靠近樣本點914的方式是藉由概念上判斷樣本點914落在一對角線926的哪一側。此是藉由加總樣本點914的內插的距離值D0 的U軸及V軸距離而完成的。因此,對於二乘二的紋理元素區域916而言,任何在對角線926上或是左邊的點都將會使得其U軸及V軸距離總和達到1距離單位或更小(在此例子中,一落在所述對角線上的點被看作為是較靠近左邊的紋理元素)。若是的話,則偶數紋理元素918的指數(例如,包含distance0指數及distance1指數)將會被認為是較靠近樣本點914,並且因此被選擇。相反地,任何在對角線926的右邊的點都將會使得其U軸及V軸距離總和達到大於1距離單位。若是的話,則紋理元素924的指數(例如,包含distance0指數及distance1指數)將會被認為是較靠近樣本點914,並且因此被選擇。舉例而言,若樣本點914被判斷為在對角線926的左邊,則偶數紋理元素918的指數(例如,包含distance0指數及distance1指數)將會被選擇。
由於兩個指數(distance0指數以及distance1指數)是和偶數紋理元素918相關的,因此方法1000接下來是判斷要使用偶數紋理元素918中的哪一個指數。為了做成此決定,在步驟1020,方法1000判斷針對於樣本點914的內插的距離值D1 的最高階位元是否為0或是1。就此而論,若在步驟1020判斷出的是針對於樣本點914的內插的距離值D1 的MSB是0,則樣本點914被判斷為相對於最接近的type1邊緣“落出”,並且在步驟1022,和所選的偶數紋理元素的distance0相關的指數將會被選擇來決定樣本點914的色彩。在另一方面,若在步驟1020判斷出的是針對於樣本點914的內插的距離值D1 的MSB是1,則樣本點914被判斷為相對於最接近的type1邊緣“落入”,並且在步驟1024,和所選的偶數紋理元素的distance1相關的指數將會被選擇來決定樣本點914的色彩。如上所論述的,在特定的實施例中,最終所選的指數接著可被用來根據藉由所述指數指明的特定邏輯運算以指出樣本點914是否為一背景(例如,若所述邏輯運算產生0)或是一前景(例如,若所述邏輯運算產生1)以決定樣本點914的色彩。在其它實施例中,所選的指數可以指向在一類似於以上相關圖3B所述的色彩查找表中的一特定的項目。舉例而言,若樣本點914被判斷為在距離上較接近偶數紋理元素918,並且針對於樣本點914的內插的距離值D1 的MSB被判斷為0,則和偶數紋理元素918的distance0相關的指數將會被選擇來決定樣本點914的色彩。參照圖3B,若distance0的2位元的指數編碼成“3”,則樣本點914被決定編碼成藍色。
在另一方面,若在步驟1014判斷出的是針對於樣本點914的內插的距離值D0 的MSB是1,則在步驟1026,樣本點914被判斷為相對於最接近的type0邊緣“落入”,並且因此兩個奇數紋理元素從二乘二的紋理元素區域916被選擇。所述奇數紋理元素是用如上參考圖3A-3B所述的相同的方式定義的。明確地說,在二乘二的紋理元素區域916之內,紋理元素920可被視為一奇數紋理元素,因為其U座標(u=01)及V座標(v=00)的LSB是不同的(亦即,在此例中是1以及0),並且紋理元素922亦可被視為一奇數紋理元素,因為其U座標(u=00)及V座標(v=01)的LSB也是不同的(亦即,在此例中是0以及1)。因此,紋理元素920及922被選擇為在二乘二的紋理元素區域916之內的兩個奇數紋理元素。
接著,在步驟1028,方法1000判斷所選的兩個奇數紋理元素中的哪一個奇數紋理元素在距離上較接近樣本點914。此是類似於在圖3A中敘述的實施例以及圖4的方法400的步驟470而被判斷出。明確地說,一種供硬體判斷所述兩個奇數紋理元素中的哪一個較靠近樣本點914的方式是藉由概念上判斷樣本點914落在一對角線928的哪一側。此是藉由加總樣本點914的內插的距離值D0 的U軸及V軸距離而完成的。因此,對於二乘二的紋理元素區域916而言,任何在對角線928上或是左邊的點將會使得其U軸及V軸距離總和達到1距離單位或更小(在此例子中,一落在所述對角線上的點被看作為是較靠近左邊的紋理元素)。若是的話,則奇數紋理元素922的指數(例如,包含distance0指數及distance1指數)將會被認為是較靠近樣本點914,並且因此被選擇。相反地,任何在對角線928的右邊的點都將會使得其U軸及V軸距離總和達到大於1距離單位。若是的話,則紋理元素920的指數(例如,包含distance0指數及distance1指數)將會被認為是較靠近樣本點914,並且因此被選擇。舉例而言,若樣本點914被判斷為在對角線928的左邊,則奇數紋理元素922的指數(例如,包含distance0指數及distance1指數)將會被選擇。
由於兩個指數(distance0指數以及distance1指數)是和奇數紋理元素922相關的,因此方法1000接下來是判斷要使用奇數紋理元素922中的哪一個指數。為了做成此決定,在步驟1030,方法1000判斷針對於樣本點914的內插的距離值D1 的最高階位元是否為0或是1。就此而論,若在步驟1030判斷出的是針對於樣本點914的內插的距離值D1 的MSB是0,則樣本點914被判斷為相對於最接近的type1邊緣“落出”,並且在步驟1032,和所選的奇數紋理元素的distance0相關的指數將會被選擇來決定樣本點914的色彩。在另一方面,若在步驟1030判斷出的是針對於樣本點914的內插的距離值D1 的MSB是1,則樣本點914被判斷為相對於最接近的type1邊緣“落入”,並且在步驟1034,和所選的奇數紋理元素的distance1相關的指數將會被選擇來決定樣本點914的色彩。如上所論述的,在特定的實施例中,最終所選的指數接著可被用來根據藉由所述指數指明的特定邏輯運算以指出樣本點914是否為一背景(例如,若所述邏輯運算產生0)或是一前景(例如,若所述邏輯運算產生1)以決定樣本點914的色彩。在其它實施例中,所選的指數可以指向在一類似於以上相關圖3B所述的色彩查找表中的一特定的項目。舉例而言,若樣本點914被判斷為在距離上較接近奇數紋理元素922,並且針對於樣本點914的內插的距離值D1 的MSB被判斷為0,則和奇數紋理元素922的distance0相關的指數將會被選擇來決定樣本點914的色彩。參照圖3B,若distance0的2位元的指數編碼成“1”,則樣本點914被決定編碼成紅色。
如同可以從上述用於在一利用兩個距離場的紋理元素陣列中編碼色指數並且根據內插結果來推斷適當的色指數來使用的實施例看出的,雙距離場標籤可被配置以支援超過兩個色彩。雙距離場可被利用以捕捉在兩個邊緣之間的交叉處的色彩資訊,以助於保存交叉資料並且更佳的成像字元或字形的銳利的角落。 雙距離場粗略顆粒的色彩選擇
針對於一樣本點的粗略顆粒的雙距離場色彩選擇方法的討論將會聚焦在圖11A-11B中所示的實施例以及在圖12中所述的方法上。簡言之,圖11A描繪在一陣列的具有雙距離場的紋理元素上利用一粗略顆粒的色指數選擇方法。圖11B描繪和用於粗略顆粒的色指數選擇的對齊的二乘二的紋理元素組相關之範例的距離場。圖12描繪一種利用雙距離場紋理元素編碼的粗略顆粒的色指數來決定一樣本點的色彩之範例的方法。
圖11A描繪一範例的四乘四個的紋理元素陣列1100。在陣列1100中的十六個紋理元素是在一U軸1110及V軸1112上的位置處被配置在一紋理貼圖上。在特定的硬體實施例中,U及V座標是用二進位表示的數字指明的,其開始於00(對應於十進位的值0)並且結束於11(對應於十進位的值3)。圓形是代表在紋理元素陣列1100中的紋理元素位置。一樣本點1114被選擇(類似於在以上樣本點914是如何被選擇的),並且將被選擇用於樣本點1114的色彩是利用如下所論述的粗略顆粒的色彩選擇方法1200而被判斷出。
粗略顆粒的雙距離場色彩選擇方法1200在至少一特點上與細微顆粒的雙距離場色彩選擇方法1000不同在於粗略顆粒的雙距離場色彩選擇方法使用一對紋理元素,而不是單一紋理元素,來指明用於一圍繞所述紋理元素對的區域的所要的色指數(例如,藉由連結每一對水平對齊的紋理元素的指數)。因此,每一個紋理元素對的涵蓋區域大於在細微顆粒方法中所用的每一個紋理元素的涵蓋區域。利用一對紋理元素來編碼色指數的益處是可供利用於編碼指數的位元數目增加(例如,從2位元增加到4位元),此表示更多的色彩選項是可供利用的(例如,從4增加到16種色彩)。由於第一個色彩表項目通常是被設定為透明的(亦即,無色),此留下多達15個獨特的色彩可以藉由用在粗略顆粒的雙距離場色彩選擇方法中的4位元的指數來加以編碼。
如上所論述的,對於一雙距離場紋理元素,每一個紋理元素可以具有一distance0以及一distance1值,其分別指明所述紋理元素至最接近的edge0以及最接近的edge1的距離。此外,其距離值的每一個都可以是“落入”或“落出”,此表示對於每一個紋理元素而言有四種“落入”及“落出”組合。在特定的實施例中,如同在以下更詳細論述的,雙距離場標籤可以利用一粗略顆粒的技術來針對於“落入”及“落出”的四個組合編碼一所要的色彩或是一前景/背景判斷。在粗略顆粒的技術中,從一對紋理元素所選的指數可以連結以形成一較大的指數值(例如,兩個2位元的指數可以連結以形成一4位元的指數)。在雙距離場實施例中,每一個紋理元素具有兩個色指數:一和distance0相關的,並且另一和distance1相關的。在特定的實施例中,兩個對齊的紋理元素對之對應的指數被連結一起。例如,紋理元素1118可以具有一和distance0相關的指數以及另一和distance1相關的指數;類似地,紋理元素1120可以具有一和distance0相關的指數以及另一和distance1相關的指數。紋理元素1120及1118的個別的distance0指數可以連結以形成和distance0相關的單一4位元的指數。類似地,紋理元素1118及1120的個別的distance1指數可以連結以形成和distance1相關的單一4位元的指數。所產生的distance0的4位元的指數以及distance1的4位元的指數可以都和紋理元素1118以及1120一起被儲存,因而它們都具有所述指數的副本。如同在以上所提及的,一在尺寸上是4位元的指數將會能夠指向在一色彩查找表中的16個不同的色彩(例如,具有一透明的色彩以及15個色彩)。
如同在圖12中所示,方法1200可以開始在步驟1210,其中相鄰對的偶數列或奇數列的紋理元素的指數被連結,並且和相關的紋理元素被儲存在像素區塊中的紋理元素緩衝器內。類似於相關圖5A、5B及6A所述的實施例,在每一個偶數列中的紋理元素對(例如,根據所述偶數紋理元素的V位置的最低有效位元是0而判斷的)可被用來編碼針對於“落出”情形的色指數,並且在每一個奇數列中的紋理元素對(例如,根據奇數紋理元素的V位置的最低有效位元是1而判斷的)可被用來編碼針對於“落入”情形的色指數。總結之,“偶數列的紋理元素”是指在紋理元素陣列的一偶數列上的紋理元素(例如,一偶數列的紋理的V位置的最低有效位元是0),並且“奇數列的紋理元素”是指在所述紋理元素陣列的一奇數列上的紋理元素(例如,一奇數列的紋理的V位置的最低有效位元是1)。舉例而言,在圖11A中,紋理元素1118、1120、1122及1124(都具有v=00)是偶數列的紋理元素,並且紋理元素1126、1128、1130及1132(都具有v=01)是奇數列的紋理元素。
如同在圖11B中所示,紋理元素1118、1120、1126及1128分別和具有連結的指數的雙距離場相關的。在特定的實施例中,每一個紋理元素可以具有一第一距離場,其包含一藉由distance0或D0 來加以表示的第一6位元的距離值以及一相關的4位元的連結色指數、以及一第二距離場,其亦包含一藉由distance1或D1 來加以表示的第一6位元的距離值以及一相關的4位元的連結色指數。distance0的MSB位元可以編碼所述紋理元素是否“落入”或“落出”,並且所述位元的其餘部分可以指明在所述紋理元素以及最接近的type0邊緣之間的距離。此外,distance1的MSB位元可以編碼所述紋理元素是否“落入”或“落出”,並且所述位元的其餘部分可以指明在所述紋理元素以及最接近的type1邊緣之間的距離。紋理元素1118、1120、1126及1128的每一個的每一連結色指數參照在一16項目的色彩查找表(例如,在圖6B中所示的色彩查找表)中的一項目。
在特定的實施例中,在紋理元素陣列1100的每一個區域中,用於所述四個“落入”/“落出”的組合的所要的色彩分別可以藉由相鄰對的紋理元素的兩個連結色指數來指明。例如,紋理元素1118的distance0連結指數(其藉由連結紋理元素1118及紋理元素1120的distance0指數而被產生)可以指出用於藉由所述對的紋理元素1118、1120所涵蓋的區域的所要的色彩,其是根據和樣本點1114相關的哪一個“落入”/“落出”組合而定(將在以下更詳細描述)。此外,紋理元素1118的distance1連結指數(其藉由連結紋理元素1118及紋理元素1120的distance1指數而被產生)亦可以指出用於相同的區域的所要的色彩,其是根據和樣本點1114相關的哪一個“落入”/“落出”組合而定(所述和distance1連結指數相關的“落入”/“落出”組合將會是不同於和distance0連結指數相關的“落入”/“落出”組合)。換言之,每一個紋理元素的兩個連結指數可以代表針對於兩個不同的“落入”/“落出”組合的所要的色指數,一個是和distance0相關的,並且另一個是和distance1相關的。在特定的實施例中,哪兩個“落入”/“落出”組合是藉由每一個紋理元素的兩個連結指數來加以表示可以是根據一預設的模式而被指定的。
舉例而言,圖11B描繪用於一組2x2的對齊的紋理元素,例如一第一組的紋理元素1118、1120、1126及1128、以及類似的一第二組的紋理元素1122、1124、1130及1132的模式的一個例子。如圖所示,用於偶數列的紋理元素1118及1120的distance0的連結指數(其對於兩個紋理元素而言是相同的)指定用於落出/落出情形的所要的色彩,並且用於distance1的連結指數指定用於落出/落入情形的所要的色彩。此外,用於奇數列的紋理元素1126及1128的distance0的連結指數(其對於兩個紋理元素而言是相同的)指定用於落入/落出情形的所要的色彩,並且用於distance1的連結指數指定用於落入/落入情形的所要的色彩。類似地,此模式可以針對於相鄰的紋理元素1122、1124以及紋理元素1130、1132重複之。例如,用於偶數列的紋理元素1122及1124的distance0的連結指數(其對於兩個紋理元素而言是相同的)指定用於落出/落出情形的所要的色彩,並且用於distance1的連結指數指定用於落出/落入情形的所要的色彩。此外,用於奇數列的紋理元素1130及1132的distance0的連結指數(其對於兩個紋理元素而言是相同的)指定用於落入/落出情形的所要的色彩,並且用於distance1的連結指數指定用於落入/落入情形的所要的色彩。再者,此模式可以對於整個紋理元素陣列1100的其餘部分重複之。例如,用於所述對齊的2x2紋理元素的此模式可以重複於位在(U, V)座標(00, 10)、(01, 10)、(00, 11)、以及(01, 11)之處的2x2紋理元素、以及位在(10, 10)、(11, 10)、(10, 11)、以及(11, 11)的2x2紋理元素。
在圖11B中所示的模式可以用各種方式加以描述,例如是就偶數列的紋理元素以及奇數列的紋理元素而論。每一個紋理元素可被稱為一偶數列的紋理元素或是奇數列的紋理元素,其是用如上參考圖5A-5B所述相同的方式定義的。例如,如上所論述的,偶數列的紋理元素是位在V位置v=00(“偶數”是由於其LSB是0),並且因此將會包含紋理元素1118、1120、1122及1124。在這四個偶數列的紋理元素中,所述對的相鄰的偶數列的紋理元素1118及1120的兩個指數被連結,並且結果是和兩個偶數列的紋理元素的連結指數相關的,並且所述對的相鄰的偶數列的紋理元素1122及1124被連結,並且結果是和兩個偶數列的紋理元素的連結指數相關的。同樣地,奇數列的紋理元素是位在V位置v=01(“奇數”是由於其LSB是1),並且因此將會包含紋理元素1126、1128、1130及1132。在這四個奇數列的紋理元素中,所述對的相鄰的奇數列的紋理元素1126及1128的兩個指數被連結,並且結果是和兩個奇數列的紋理元素的連結指數相關的,並且所述對的相鄰的奇數列的紋理元素1130及1132的兩個指數被連結,並且結果是和兩個奇數列的紋理元素的連結指數相關的。
在圖11B中所示的模式可以描述如下:每一個偶數列的紋理元素可以使得其連結的distance0指數和落出/落出的組合相關的,並且連結的distance1指數和落出/落入的組合相關的,並且每一個奇數列的紋理元素可以使得其連結的distance0指數和落入/落出的組合相關的,並且連結的distance1指數和落入/落入組合相關的。所述模式是以一交錯的方式重複之。在一組對齊的2x2的紋理元素之內,每一個distance0指數是和所述落出/落出或是落入/落出的組合相關的,並且每一個distance1指數是和所述落出/落入或是落入/落入組合相關的。應注意到的是,儘管和每一個連結指數相關的落入/落出的組合可以重複,但其並不表示指數值本身需要依循任何特定的模式。例如,即使紋理元素1118以及位在(00, 10)的紋理元素可以都具有一和落出/落出的組合相關的distance0指數,但是紋理元素1118的distance0指數可以對應於紅色,而在(00, 10)的紋理元素的distance0指數可以對應於藍色。
類似於以上參考圖5A及5B所述的粗略顆粒的單一距離場實施例,在粗略顆粒的雙距離場實施例中的偶數及奇數列的紋理元素亦經由其個別的指數,針對於其個別的涵蓋區域指明所要的色彩。例如,所述偶數紋理元素指明用於其個別的涵蓋區域的色彩(例如,如同在圖5A中所示),並且所述奇數紋理元素指明用於其個別的涵蓋區域的色彩(例如,如同在圖5B中所示)。即如將會在以下更詳細描述的,若針對於樣本點1114的內插的distance0的MSB是0,則最接近的偶數列的紋理元素可被選擇。所選的偶數列的紋理元素具有和distance0以及distance1相關的兩個指數。若針對於樣本點1114的內插的distance1的MSB是0,則和distance0相關的連結指數將會被選擇。在另一方面,若內插的distance1的MSB是1,則和distance1相關的連結指數將會被選擇。所選的連結指數接著可被用來決定用於位在所選的偶數列的紋理元素的涵蓋區域之內的樣本點1114的色彩。作為另一例子的是,若針對於樣本點1114的內插的distance0的MSB是1,則最接近的奇數列的紋理元素可被選擇。所選的奇數列的紋理元素具有和distance0以及distance1相關的兩個連結指數。若針對於樣本點1114的內插的distance1的MSB是0,則和distance0相關的連結指數將會被選擇。在另一方面,若內插的distance1的MSB是1,則和distance1相關的連結指數將會被選擇。所選的連結指數接著可被用來決定用於位在所選的奇數列的紋理元素的涵蓋區域之內的樣本點1114的色彩。
已經選擇的最終的指數接著可被用來決定樣本點1114的色彩。如上所述,所述連結指數的特定實施例可以指明一特定的邏輯運算(例如,AND、OR、XOR、NAND、NOR、XNOR、等等)以施加至樣本點1114的內插的distance0及distance1值的MSB。所述邏輯運算的結果可以指出樣本點1114是否為一背景(例如,若所述邏輯運算產生0)、或是一前景(例如,若所述邏輯運算產生1)。在其它實施例中,所選的連結指數可以指向在一具有高達16個不同項目的色彩查找表(例如,圖6B)中的一特定的項目。
回到在圖12中所示的方法1200,在步驟1220,四個最接近樣本點1114的紋理元素被判斷出。圖11A描繪四個最接近樣本點1114的紋理元素是紋理元素1120、紋理元素1122、紋理元素1128、以及紋理元素1130。接著,在步驟1214,針對於樣本點1114的距離值distance0(D0 )以及distance1(D1 )是根據紋理元素1120、1122、1128及1130的每一個的對應的distance0以及distance1值來內插的。在特定的實施例中,內插的距離D0 指明在樣本點1114以及最接近的type0邊緣之間的距離,並且內插的距離D1 指明在樣本點1114以及最接近的type1邊緣之間的距離。接著,在步驟1216,針對於樣本點1114的內插的距離值D0 的最高階位元被判斷為0或是1。換言之,若針對於樣本點1114的內插的距離值D0 的MSB被判斷為0,則樣本點1114被判斷為相對於最接近的type0邊緣“落出”(亦即,在藉由最接近的type0邊緣所界定的區域之外)。在另一方面,若針對於樣本點1114的內插的距離值D0 的MSB被判斷為1,則樣本點914被判斷為相對於最接近的type0邊緣“落入”(亦即,在藉由最接近的type0邊緣所界定的區域之內)。
若在步驟1216判斷出的是針對於樣本點1114的內插的距離值D0 的MSB是0,則在步驟1218,樣本點1114被判斷為相對於最接近的type0邊緣“落出”,並且因此兩個偶數列的紋理元素從最接近二乘二的紋理元素區域1116被選擇。所述偶數列的紋理元素是用如上參考圖5A-5B所述的相同的方式定義的。明確地說,在二乘二的紋理元素區域1116之內,紋理元素1120及1122可被視為偶數列的紋理元素,因為其V座標的LSB等於0。因此,在其中內插的距離D0 的MSB是0的此例子中,紋理元素1120及1122被選擇。
接著,在步驟1220,方法1200判斷所選的兩個偶數列的紋理元素中的哪一個在距離上較接近樣本點1114。此是類似於在圖6A中所述的單一距離粗略顆粒的實施例以及圖7的方法700的步驟760而被判斷出。明確地說,一種供硬體判斷所述兩個偶數列的紋理元素的哪一個較靠近樣本點1114的方式是藉由概念上判斷樣本點1114落在垂直線1134的哪一側(例如,如上所論述的,藉由判斷樣本點1114相隔最接近的整數U軸位置是否小於或等於0.5紋理元素、或者是大於0.5紋理元素)。舉例而言,針對於偶數列的紋理元素1120及1122,任何在垂直線1134上或是左邊的點都將會具有相隔一最接近的整數U軸位置(例如,u=01)的一小於或等於0.5紋理元素的距離。若是如此的話,則偶數列的紋理元素1120(亦即,“左邊的”偶數列的紋理元素)的連結指數(例如,包含連結的distance0指數以及連結的distance1指數)將會被認為是較靠近樣本點1114,並且因此暫時被選擇。相反地,任何在垂直線1134的右邊的點都將會具有一相隔最接近的整數U軸位置(例如,u=01)的大於0.5紋理元素的距離。若是如此的話,則偶數列的紋理元素1122(亦即,“右邊的”偶數列的紋理元素)的連結指數(例如,包含連結的distance0指數以及連結的distance1指數)將會被認為是較接近樣本點1114,並且因此暫時被選擇。
由於兩個連結指數(連結的distance0指數以及連結的distance1指數)是和偶數列的紋理元素1120相關的,因此方法1200接著判斷要使用偶數列的紋理元素1120的哪一個連結指數。為了做成此決定,在步驟1222,方法1200判斷針對於樣本點1114的內插的距離值D1 的最高階位元是否為0或1。若在步驟1222判斷出的是針對於樣本點1114的內插的距離值D1 的MSB是0,則樣本點1114被判斷為相對於最接近的type1邊緣“落出”,並且在步驟1224,和所選的偶數列的紋理元素1120的distance0相關的連結指數將會被選擇來決定樣本點1114的色彩。在另一方面,若在步驟1222判斷出的是針對於樣本點1114的內插的距離值D1 的MSB是1,則樣本點1114被判斷為相對於最接近的type1邊緣“落入”,並且在步驟1224,和所選的偶數列的紋理元素1120的distance1相關的連結指數將會被選擇來決定樣本點1114的色彩。如上所論述,在特定的實施例中,所選的最終的指數接著可被用來根據藉由所述指數指明的特定的邏輯運算以指出樣本點1114是否為一背景(例如,若所述邏輯運算產生0)或是一前景(例如,若所述邏輯運算產生1)以決定樣本點1114的色彩。在其它實施例中,所選的指數可以指向在一類似於以上相關於圖6B所述的色彩查找表中的一特定的項目。舉例而言,若樣本點1114被判斷為在距離上較接近偶數列的紋理元素1120,並且針對於樣本點1114的內插的距離值D1 的MSB被判斷為0,則和偶數列的紋理元素1120的distance0相關的指數將會被選擇來決定樣本點1114的色彩。參照圖6B,若distance0的4位元的連結指數編碼為“3”,則樣本點1114被決定編碼成藍色。
在另一方面,若在步驟1216判斷出的是針對於樣本點1114的內插的距離值D0 的MSB是1,則在步驟1228,樣本點1114被判斷為相對於最接近的type0邊緣“落入”,並且因此兩個奇數列的紋理元素從二乘二的紋理元素區域1116被選擇。所述奇數列的紋理元素是用如上參考圖5A-5B所述的相同的方式定義的。明確地說,在二乘二的紋理元素區域1116之內,紋理元素1128及1130可被視為奇數列的紋理元素,因為其V座標的LSB是1。因此,紋理元素1128及1130被選擇為在二乘二的紋理元素區域1116之內的兩個奇數列的紋理元素。
接著,在步驟1230,方法1200判斷所選的兩個奇數列的紋理元素的哪一個奇數列的紋理元素在距離上較接近樣本點1114。此是類似於在圖6A中所述的實施例以及圖7的方法700的步驟780而被判斷出。明確地說,類似於上述的用於偶數列的紋理元素的判斷,一種供硬體判斷所述兩個奇數列的紋理元素的哪一個較接近樣本點1114之方式是藉由概念上判斷樣本點1114落在垂直線1134的哪一側上(例如,如上所論述的,藉由判斷樣本點1114相隔最接近的整數U軸位置是否小於或等於0.5紋理元素、或者是大於0.5紋理元素)。舉例而言,對於所述奇數列的紋理元素1128及1130,任何在垂直線1134上或是左邊的點都將會具有相隔一最接近的整數U軸位置(例如,u=01)的小於或等於0.5紋理元素的一距離。若是如此的話,則奇數列的紋理元素1128(亦即,“左邊的”奇數列的紋理元素)的連結指數(例如,包含連結的distance0指數以及連結的distance1指數)將會被認為是較靠近樣本點1114,並且因此暫時被選擇。相反地,任何在垂直線1134的右邊的點都將會具有相隔最接近的整數U軸位置(例如,u=01)的大於0.5紋理元素的一距離。若是如此的話,則奇數列的紋理元素1130(亦即,“右邊的”奇數列的紋理元素)的連結指數(例如,包含連結的distance0指數以及連結的distance1指數)將會被認為是較接近樣本點1114,並且因此暫時被選擇。
由於兩個連結指數(所述連結的distance0指數以及所述連結的distance1指數)是和奇數列的紋理元素1128相關的,因此方法1200接著判斷要使用奇數列的紋理元素1128的哪一個連結指數。為了做成此決定,在步驟1232,方法1000判斷針對於樣本點1114的內插的距離值D1 的最高階位元是0或1。若在步驟1232判斷出的是針對於樣本點1114的內插的距離值D1 的MSB是0,則樣本點1114被判斷為相對於最接近的type1邊緣“落出”,並且在步驟1234,和所選的奇數列的紋理元素的distance0相關的連結指數將會被選擇來決定樣本點1114的色彩。在另一方面,若在步驟1232判斷出的是針對於樣本點1114的內插的距離值D1 的MSB是1,則樣本點1114被判斷為相對於最接近的type1邊緣“落入”,並且在步驟1236,和所選的奇數列的紋理元素的distance1相關的連結指數將會被選擇來決定樣本點1114的色彩。如上所論述,在特定的實施例中,所選的最終的指數接著可被用來根據藉由所述連結指數指明的特定邏輯運算以指出樣本點1114是否為一背景(例如,若所述邏輯運算產生0)、或是一前景(例如,若所述邏輯運算產生1)以決定樣本點1114的色彩。在其它實施例中,所選的連結指數可以指向在類似於以上相關於圖6B所述的一色彩查找表中的一特定的項目。舉例而言,若樣本點1114被判斷為在距離上較接近奇數列的紋理元素1128,並且針對於樣本點1114的內插的距離值D1 的MSB被判斷為0,則和奇數列的紋理元素1128的distance0相關的連結指數將會被選擇來決定樣本點1114的色彩。參照圖6B,若distance0的4位元的連結指數編碼為“1”,則樣本點1114被決定編碼成紅色。
以上論述的例子描述其中樣本點1114是位在一介於兩組對齊的紋理元素之間位置處的情況(例如,第一組包含紋理元素1118、1120、1126及1128,並且第二組包含紋理元素1122、1124、1130及1132),此亦表示所述四個相鄰的紋理元素(例如,1120、1122、1128及1130)可以具有獨特的4位元的連結指數。換言之,如同在圖11A中所示,樣本點1114是位在所述對的偶數列的紋理元素1118、1120以及所述對的偶數列的紋理元素1122、1124之間,並且類似地在所述對的奇數列的紋理元素1126、1128以及所述對的奇數列的紋理元素1130、1132之間。然而,一樣本點反而可以是位在一組對齊的2x2紋理元素之內(例如,在紋理元素1118、1120、1126、1128之內),此表示所述偶數列的紋理元素(例如,1118及1120)將會具有相同的4位元的連結指數,並且所述奇數列的紋理元素(例如,1126及1128)將會具有相同的4位元的連結指數。舉例而言,假設有一樣本點位在所述對的偶數列的紋理元素1118、1120的紋理元素之間,以及在所述對的奇數列的紋理元素1126、1128的紋理元素之間的(U3 , V3 )。在此情況中,所述4個最接近樣本點的紋理元素將會包含紋理元素1118、1120、1126及1128。利用上述的方法1200,在判斷是否選擇所述偶數列的紋理元素對(若內插的distance0的MSB=0)或是所述奇數列的紋理元素對(若內插的distance0的MSB=1)之後,藉由計算是否U3 ’ = U3 mod 1 > 0.5或是≤ 0.5來選擇最接近的偶數列或奇數列的紋理元素導致一結果是與選擇最接近的紋理元素的概念上的理念相反。舉例而言,若偶數列的紋理元素對1118、1120被選擇(根據內插的distance0的MSB=0),並且判斷出的是U3 ’ = U3 mod 1 > 0.5,則在偶數U位置(亦即,其最低有效位元是0的U位置)的偶數列的紋理元素的指數被選擇。然而,此將會導致“左側的”偶數列的紋理元素1118的選擇(由於其U位置是00),即使概念上判斷U3 ’ > 0.5是指“右側的”偶數列的紋理元素1120是較接近。儘管有此看似不一致的結果,但因為偶數列的紋理元素1118及1120具有相同的連結指數,因此哪一個偶數列的紋理元素的指數被選擇的最終結果並不重要。以一種類似的方式,相同的結果將會發生在所述對的奇數列的紋理元素1126、1128之間做選擇時。
如同可以從上述用於在一利用兩個距離場的紋理元素陣列中編碼連結色指數並且根據內插結果來推斷適當的色指數來使用的實施例看出的,具有相鄰的紋理元素的連結色指數之雙距離場標籤可被配置以支援多達16個色彩(例如,一“透明的”色彩以及多達15個獨特的色彩)。類似於所述細微顆粒雙距離場技術,此粗略顆粒的雙距離場技術可被利用以捕捉在兩個邊緣之間的交叉處的色彩資訊,以助於保存交叉資料並且更佳的成像字元或字形的銳利的角落。 距離場的最佳化技術 混合的距離場紋理映射
距離場標籤的特定實施例在某些情節中可能會產生次佳的結果。例如,上述的距離場標籤理想是在邊緣之間的水平及垂直的距離是至少兩個紋理元素,並且對角線距離是2紋理元素的平方根(針對於細微顆粒指數)、或是2紋理元素的平方根的兩倍(針對於粗略顆粒的指數)時被使用。當此種特徵滿足時,距離場標籤可以產生相關銳利度、正確性、以及最小的失真及假影(例如,像素化、等等)的高品質成像。然而,在兩個邊緣之間的距離低於兩個紋理元素時,有一固有的不明確性是有關於哪一個邊緣被一位在那些邊緣之間的紋理元素的距離值所量測。在此種情節中,所成像的標籤可能會遭受到像素化假影,其於是可能會造成運動假影出現。
在此所述的特定實施例是有關於一種用於標籤紋理的健全的紋理映射(mipmap),其可以考量不同的縮放需求,包含那些其中在所述標籤中的兩個邊緣之間的距離小於兩個紋理元素寬的需求。所述紋理映射可包含不同的紋理映射位準,每一個紋理映射位準對應於標籤紋理的一特定解析度。在特定的實施例中,一原始的高解析度的標籤可被用來產生一系列具有不同解析度的標籤。例如,原始的標籤可被濾波(例如,利用雙線性內插)以產生一或多個較低解析度的標籤。
圖13描繪針對於一特定標籤紋理的一範例的紋理映射1300。紋理映射1300包含複數個紋理映射位準,每一個紋理映射位準對應於在一不同解析度的所述標籤。例如,最大的紋理映射位準1310可以具有一256x256紋理元素的解析度。其餘的紋理映射位準可以具有逐漸降低的解析度(例如,其中每一個維度是2的次方),例如128x128紋理元素(紋理映射位準1320)、64x64紋理元素(紋理映射位準1330)、32x32紋理元素(紋理映射位準1340)、16x16紋理元素(紋理映射位準1350)、依此類推。用於取樣一像素的色彩所選的紋理映射位準可以是根據所述在紋理空間中的一紋理元素的尺寸以及一樣本像素的尺寸之間的比例而定。例如,當選擇一紋理映射位準時,所述成像系統可以針對於一被投影的像素判斷紋理元素至像素的比例,以決定要使用何種紋理映射位準。在特定的實施例中,所選的紋理映射位準是具有在尺寸上類似於所述取樣的像素的紋理元素(換言之,紋理元素至像素的比例是最接近1)的一紋理映射位準。在所選的紋理映射位準的紋理貼圖接著被取樣以決定將被使用的色彩。例如,最初,一顯示給使用者的標籤可以從一64x64紋理映射位準產生的。當使用者放大時,所述標籤將會看起來較小的,並且因此較低解析度的紋理映射位準(例如,8x8)可被選擇以產生所述標籤。然而,如上所述,當一標籤紋理的解析度減小到某一範圍而使得在所述標籤的兩個邊緣之間的距離(例如,字母“I”的寬度)小於兩個紋理元素時,成像結果將會是次佳的。
為了解決前述有關距離場標籤的問題,特定實施例可以針對於一標籤在兩種類型的紋理映射位準下產生一紋理映射:利用距離場定義的紋理映射位準、以及利用RGBA定義的紋理映射位準。例如,一或多個較高解析度的紋理映射位準可以利用距離場紋理來加以定義,並且一或多個較低解析度的紋理映射位準可以利用RGBA紋理來加以定義。此種紋理映射利用距離場所給予的益處(例如,具有較少失真及假影的較銳利成像的標籤),同時消除在較低的解析度的距離場的前述的缺點。尤其,當在一標籤中的兩個邊緣之間的距離大於或等於兩個紋理元素時,則利用藉由距離場所定義的紋理映射位準以用於標籤成像將會提供高品質結果。然而,如上所論述的,當在兩個邊緣之間的距離小於兩個紋理元素時,藉由RGBA成分(而不是距離場)所定義的紋理映射位準可被使用於成像。儘管RGBA標籤在較高的解析度並不和距離場標籤一樣好的執行(因為在RGBA紋理中的邊緣在內插時易於模糊),但它們在較低的解析度下是比距離場標籤更適當的。當所述特點是過窄的,利用距離場的問題是疊頻(aliasing):邊緣可能被完全跳過,此產生像素化假影。儘管切換成RGBA將會以某種在仔細檢查下可能看起來模糊的東西取代所述像素化假影,但是所述模糊是被引入在其中特點細節是小到並不顯著之處。
在特定的實施例中,一藉由成像系統或顯示引擎處理的標籤可以是和屬性相關的,所述屬性是指出在其紋理映射中的利用距離場所實施的紋理映射位準的數目、以及用RGBA定義的紋理映射位準的數目。例如,若一標籤具有四個紋理映射位準,則一個兩位元的屬性可以指明利用距離場定義的高解析度的紋理映射位準的數目。例如,一個10的兩位元的屬性(對應於十位數2)將會指出利用距離場定義的兩個較高解析度的紋理映射位準。其餘較低解析度的紋理映射位準將會被認為是以RGBA定義的。繼續以上的例子,由於所述兩個位元的屬性指出四個紋理映射位準中的兩個是藉由距離場所定義的,因此其餘兩個較低位準的紋理映射位準將會是以RGBA定義的。儘管以RGBA定義的紋理映射位準在成像時可能會引入某些非所要的假影,但其在整體場景上的視覺影響將可能是最小而且不顯明的,因為其螢幕涵蓋區域將可能是小的(這是為何較低解析度的紋理映射位準首先被選擇的原因)。
利用此屬性資訊,一顯示引擎可以如下成像一標籤。所述顯示引擎可以載入一3D表面定義到記憶體中,並且執行可視度測試(visibility test)以判斷所述3D表面的哪些部分是在螢幕上的像素可見的。在特定的實施例中,此主要的可視度測試可以利用光線投射來加以執行。例如,根據使用者的觀點,一概念上的光線可以從一被設置在3D觀察空間中的螢幕的一特定像素投射,並且進入所述3D表面被設置在其中的觀察空間中。在所述光線以及所述3D表面之間的交叉可以指出所述交叉點是透過所述像素可見的,並且因此所述像素的色彩將會依據對應於所述交叉點的紋理而定。因此,一旦所述交叉點在3D空間中被判斷出後,其被轉換成為和所述表面相關的紋理的2D紋理空間,以決定要取樣所述紋理的哪個部分。在其它實施例中,並不是每一像素投射個別的光線,而是一光束可以針對於一塊(tile)的像素(例如,一塊可以是16x16像素)來加以投射。尤其,所述光束可以從所述塊的四個角落投射,其概念上類似於投影所述塊到3D空間中以判斷其是否交叉所述表面以及在何處交叉。交叉的區域接著從3D空間被轉換到2D紋理空間中。由於一塊代表例如是16x16像素,因此相同數目的16x16樣本點將會在紋理空間中的交叉區域之內被判斷。
當取樣時,所述顯示引擎可以決定取樣要使用哪一個紋理映射位準。在特定的實施例中,所述顯示引擎可以選擇其紋理元素在尺寸上最類似於取樣像素尺寸的紋理映射位準(例如,具有一紋理元素至像素比例是最接近一比一)。所述顯示引擎接著可以判斷所選的紋理映射位準是否利用距離場或RGBA定義的。例如,在其中每一個表面具有一個兩位元的(或是任何其它位元尺寸)屬性值指出在其利用距離場(或RGBA)定義的紋理映射中的紋理映射位準的數目之實施例中,所述系統可以推論所選的紋理映射位準是否藉由距離場或RGBA所定義的。例如,若所選的紋理映射位準是1(例如,所述位準範圍可以是從0到3,其中0是最高解析度的紋理映射位準,並且其中3是最低的),則所述顯示引擎可以做出結論是其利用距離場定義的,因為所述兩位元的屬性指出兩個最高解析度的紋理映射位準對應於距離場紋理。利用相同的邏輯,若所選的紋理映射位準是2,則所述顯示引擎可以做出結論是對應的紋理是利用RGBA定義的。一旦所述顯示引擎判斷出其正在利用的紋理類型後,其可以調用適當的成像邏輯來處理後續的取樣過程。例如,針對於距離場標籤,前述用於單一距離場的過程或是雙距離場濾波過程可被用來決定取樣點的色彩。針對於RGBA標籤,所述顯示引擎可以識別四個最接近取樣點的紋理元素,並且在那些紋理元素的色彩上執行雙線性內插。藉由利用包含利用距離場定義的紋理映射位準以及利用RGBA定義的紋理映射位準之混合的紋理映射,所述顯示引擎能夠在無由於距離場的限制造成的品質損失下考量不同的成像尺度。
圖14描繪一種利用一具有混合的紋理映射位準之紋理映射來計算一像素的一色彩值之範例的方法。所述方法可以開始在步驟1410,其中一計算系統可以決定在一紋理之內的一取樣像素區域。所述紋理可以是和具有不同解析度的所述紋理的紋理映射位準相關的。所述紋理映射位準可以是從原始的紋理產生的。所述紋理映射位準可包含至少一藉由色彩紋理元素所定義的第一紋理映射位準、以及一藉由距離場的紋理元素所定義的第二紋理映射位準。藉由色彩紋理元素所定義的第一紋理映射位準可以具有一比藉由距離場的紋理元素所定義的第二紋理映射位準較低的解析度。所述第一紋理映射位準可以具有在所述紋理映射中的最低解析度,並且藉由距離場紋理元素所定義的第二紋理映射位準可以具有在所述紋理映射中的最高解析度。
在步驟1420,所述系統可以根據所述取樣像素區域的一尺寸以及在所選的紋理映射位準中的一紋理元素的一尺寸來選擇所述紋理映射位準中之一。例如,所選的紋理映射位準可以是根據在所述取樣像素區域的尺寸以及在所選的紋理映射位準中的每一個紋理元素的尺寸之間的一比例而選擇的。譬如,所述系統可以識別其紋理元素尺寸類似於所述取樣像素區域的尺寸(例如,所述像素尺寸至紋理元素尺寸的比例是接近1比1)的一紋理映射位準。
在步驟1430,所述系統可以判斷所選的紋理映射位準是否藉由色彩紋理元素或是距離場的紋理元素所定義的。若所述系統判斷所選的紋理映射位準是藉由色彩紋理元素所定義,則在步驟1440,所述系統可以選擇一被配置以處理色彩紋理元素的對應的成像邏輯。接著在步驟1445,所選的成像邏輯可以利用所選的紋理映射位準來處理所述色彩紋理元素以計算一用於所述取樣像素區域的色彩值。例如,所述成像邏輯可以從所選的紋理映射位準識別四個相對於所述取樣像素區域最接近的色彩紋理元素,並且執行雙線性內插或是雙三次內插以計算用於所述取樣像素區域的色彩值。
在另一方面,若所述系統判斷所選的紋理映射位準是藉由距離場的紋理元素所定義的,則在步驟1450其可以選擇一被配置以處理距離場的紋理元素的第二成像邏輯。接著在步驟1455,所述系統可以利用所選的第二成像邏輯以及藉由距離場的紋理元素所定義的紋理映射位準來計算一用於所述取樣像素區域的色彩值。所述成像邏輯可以是根據以上參考圖4、7、10或12所述的實施例而定的。 根據MSB的比較來消除內插
在特定的實施例中,針對於在一紋理貼圖上的一樣本點內插最接近的四個紋理元素的距離場以決定一內插的距離(或者在雙距離場標籤的情形中是兩個距離)的過程可以在其中最接近的四個紋理元素的距離場的MSB是相同的情況中被最佳化。如同在以上更詳細敘述的,用於內插最接近的四個紋理元素的距離場的主要目的是判斷所述樣本點是否“落入”或“落出”,其是藉由內插的距離的MSB所指出的。就此而論,在其中四個最接近的紋理元素的四個距離場都具有相同的MSB(例如,0或1)的情況中,針對於所述樣本點的MSB可以單純被選擇成相同的MSB,而不須計算所述內插的距離(例如,利用點取樣,而不是雙線性內插取樣)。能夠在不須執行雙線性內插下判斷所述MSB是有助於最佳化運算效率,並且移除不必要的計算繁重的處理步驟。如上所述,以此種方式所判斷的MSB接著可被用來選擇適當的紋理元素,其色指數指定用於所述樣本點的色彩。
舉例而言,在所述用於利用具有一細微顆粒的色指數的單一距離場紋理元素陣列來判斷一樣本點的色彩的方法400中,如同在圖4中所示,在四個最接近樣本點314的紋理元素在步驟410中被判斷出之後,並且在針對於樣本點314的距離是根據紋理元素318、320、322及324的距離場而經由雙線性內插計算出之前,所述像素區塊可以進行一初步的分析以判斷所述四個紋理元素318、320、322及324的距離場的MSB是否相同的。例如,若所有四個紋理元素318、320、322及324的距離場的MSB都是0(亦即,“落出”),則樣本點314的內插的距離的MSB(若其真的被計算出)必須也是0。就此而論,所述像素區塊可以單純跳過內插步驟420(其在計算上是昂貴的),並且前進到步驟440及後續的步驟以識別其色指數是指明用於樣本點314的色彩的紋理元素。在另一方面,若所有四個紋理元素318、320、322及324的距離場的MSB都是1(亦即,“落入”),則樣本點314的MSB必須也是1,並且方法400可以單純跳過內插步驟420,並且前進到步驟460及後續的步驟以判斷哪一個紋理元素的色指數將被使用。此最佳化技術亦可以被用在其中粗略的色指數被定義以用於單一距離場紋理元素的實施例。
一種類似的最佳化技術可以適用在所述雙距離場的實施例中。在所述細微顆粒指數以及粗略顆粒指數兩者的實施例中,樣本點的相關distance0及distance1的“落入”或“落出”狀態是被用來選擇用於所述樣本點的色指數。在上述的實施例中,所述樣本點相關最接近的type0邊緣是否“落入”或“落出”是藉由其內插的distance0的MSB而被判斷出,其內插的distance0是利用四個最接近的紋理元素的distance0值而被計算出的。若四個最接近的紋理元素的distance0值的MSB是相同的(例如,全都是1、或者全都是0),則所述樣本點的distance0值的MSB可被設定為相同的MSB(例如,經由點取樣)。類似地,所述樣本點是否相關最接近的type1邊緣“落入”或“落出”是藉由其內插的distance1的MSB而被判斷出,其內插的distance1是利用四個最接近的紋理元素的distance1值而被計算出的。若四個最接近的紋理元素的distance1值的MSB是相同的(例如,全都是1、或者全都是0),則所述樣本點的distance1值的MSB可被設定為相同的MSB(例如,經由點取樣)。所述樣本點的兩個MSB(亦即,一個是和distance0相關的,並且另一個是和distance1相關的)可以獨立地被計算出,此表示其中一個、兩個、或是都無可以利用所述最佳化技術而被計算出。例如,和distance0相關的MSB可以利用所述最佳化技術而被計算出,而和distance1相關的MSB可以利用雙線性內插而被計算出。如同在本文別處更詳細敘述的,一旦所述兩個MSB都已經被判斷出,所述像素區塊可以使用其來選擇用於所述樣本點的適當的指數。
圖15描繪一種用於在無內插下判斷用於一取樣位置的色彩之範例的方法1500。所述方法可以開始在步驟1510,其中一計算系統可以決定在一包括複數個紋理元素的紋理之內的一取樣位置。每一個紋理元素可以編碼一距離場,其指出(1)在所述紋理元素以及在所述紋理中描繪的一邊緣之間的一距離、以及(2)一指示符指出所述紋理元素是否在所述邊緣的一第一預設的側邊、或是在所述邊緣的一第二預設的側邊。譬如,所述指示符可以編碼所述紋理元素是否相對於所述邊緣“落入”或“落出”。在步驟1520,所述系統可以根據所述取樣位置來在所述複數個紋理元素中選擇一紋理元素組,以使用來決定一用於所述取樣位置的色彩。例如,所述系統可以選擇四個最接近所述取樣位置的紋理元素。在步驟1530,所述系統可以判斷所述紋理元素組是否具有相同的指示符。若所述指示符是不同的(例如,某些紋理元素“落入”,而某些紋理元素“落出”),則內插可以例如根據以上參考圖4、7、10或12所述的實施例而被用來計算用於所述取樣位置的色彩。然而,若判斷出的是所述紋理元素組具有相同的指示符,則在步驟1540所述系統可以根據在所述紋理元素組中的任何紋理元素的指示符,來選擇所述紋理元素組的一子集合。例如,若在四個紋理元素之間的共同的指示符是“落出”,則兩個偶數紋理元素可被選擇。在另一方面,若四個紋理元素是“落入”,則兩個奇數紋理元素可被選擇。在步驟1550,所述系統可以根據在所述紋理元素以及所述取樣位置之間的一距離來從紋理元素的子集合選擇一紋理元素。接著在步驟1560,所述系統可以利用所選的紋理元素來決定用於所述取樣位置的色彩。例如,所述紋理元素的每一個可以編碼一色指數到一色彩表中(例如,圖3b),其可被用來決定用於所述取樣位置的色彩。 偵測透明的結果以容許像素的拋棄
在特定的實施例中,利用最接近的四個紋理元素的距離場來決定在一紋理貼圖上的一樣本點的一內插的距離可以在其中適用於所述樣本點的距離場色指數是透明的情況中被最佳化及/或消除。此可能發生在兩個不同的情節中。第一情節是其中最接近樣本點的四個紋理元素的距離場的色指數都對應於在色彩表項目中的“透明的”。第二情節是其中樣本點被判斷為在紋理元素陣列之外(例如,在紋理元素陣列之外超過½紋理元素長度),並且因此被認為是透明的。在這些情節中,所述樣本點可以單純被認為是透明的,藉此消除不必要的計算繁重的處理步驟,例如是雙線性內插。
作為所述第一情節的一個例子,在用於單一距離場紋理元素陣列中利用所述細微顆粒的色指數來決定一樣本點的色彩之方法400中,在四個最接近樣本點的紋理元素在步驟410中被判斷出之後,並且在針對於樣本點314的距離經由雙線性內插被計算出之前,所述方法可以進行一初步的分析以判斷四個紋理元素318、320、322及324的每一個的色指數是否對應於“透明的”。若是此種情況的話,則方法400可以跳過其餘的步驟並且單純地編碼所述樣本點為透明的。相同的初步的分析可以在所述粗略顆粒的單一距離場實施例中執行。對於所述雙距離場實施例(亦即,細微顆粒及粗略顆粒),一類似的初步的分析可加以執行,以判斷和四個附近的紋理元素相關的所有候選色指數(包含那些和distance0及distance1相關的色指數)是否對應於“透明的”。若是的話,則所述樣本點可以在不執行雙線性內插下直接被標記為“透明的”。 系統及方法
圖16描繪一範例的電腦系統1600。在特定的實施例中,一或多個電腦系統1600執行一或多種在此敘述或描繪的方法的一或多個步驟。在特定的實施例中,一或多個電腦系統1600提供在此敘述或描繪的功能。在特定的實施例中,在一或多個電腦系統1600上執行的軟體執行一或多種在此敘述或描繪的方法的一或多個步驟、或是提供在此敘述或描繪的功能。特定實施例包含一或多個電腦系統1600的一或多個部分。在此,對於一電腦系統的參照在適當情況可以涵蓋一計算裝置,並且反之亦然。再者,對於一電腦系統的參照在適當情況可以涵蓋一或多個電腦系統。
此揭露內容思及任何適當數量的電腦系統1600。此揭露內容思及具有任何適當實體形式的電腦系統1600。舉例且非限制性的,電腦系統1600可以是一內嵌式電腦系統、一系統單晶片(SOC)、單板電腦系統(SBC)(例如,一模組化電腦(COM)或模組化系統(SOM))、一桌上型電腦系統、一膝上型或筆記型電腦系統、一互動資訊站(interactive kiosk)、一大型計算機、一電腦系統網格、一行動電話、一個人數位助理(PDA)、一伺服器、一平板電腦系統、一擴增/虛擬實境裝置、或是這些中的兩個或多個的一組合。在適當情形中,電腦系統1600可包含一或多個電腦系統1600;為一體的或分散的;橫跨多個位置;橫跨多個機器;橫跨多個資料中心;或是存在於雲端中,其可包含在一或多個網路中的一或多個雲端構件。在適當情形中,一或多個電腦系統1600可以在無實質的空間或時間的限制下執行一或多種在此敘述或描繪的方法的一或多個步驟。舉例且非限制性的,一或多個電腦系統1600可以即時地或是以批次模式來執行一或多種在此敘述或描繪的方法的一或多個步驟。在適當情況,一或多個電腦系統1600可以在不同的時間或是在不同的位置執行一或多種在此敘述或描繪的方法的一或多個步驟。
在特定的實施例中,電腦系統1600包含一處理器1602、記憶體1604、儲存器1606、一輸入/輸出(I/O)介面1608、一通訊介面1610、以及一匯流排1612。儘管此揭露內容描述且描繪一特定的電腦系統具有在一特定配置下的一特定數量的特定構件,但是此揭露內容思及具有在任何適當的配置下的任何適當數量的任何適當的構件之任何適當的電腦系統。
在特定的實施例中,處理器1602包含用於執行例如是那些構成一電腦程式的指令的硬體。舉例且非限制性的,為了執行指令,處理器1602可以從一內部的暫存器、一內部的快取、記憶體1604、或是儲存器1606擷取(或提取)所述指令;解碼及執行它們;並且接著將一或多個結果寫入到一內部的暫存器、一內部的快取、記憶體1604、或是儲存器1606。在特定的實施例中,處理器1602可包含用於資料、指令、或位址的一或多個內部的快取。此揭露內容思及處理器1602在適當情況包含任何適當數量的任何適當的內部的快取。舉例且非限制性的,處理器1602可包含一或多個指令快取、一或多個資料快取、以及一或多個轉譯後備緩衝器(TLB)。在所述指令快取中的指令可以是在記憶體1604或儲存器1606中的指令的副本,並且所述指令快取可以加速那些指令藉由處理器1602的取出。在所述資料快取中的資料可以是資料在記憶體1604或儲存器1606中的副本,以供在處理器1602執行的指令在其上運算;執行在處理器1602的先前的指令的結果,以供藉由在處理器1602執行的後續的指令存取、或是用於寫入到記憶體1604或儲存器1606;或是其它適當的資料。所述資料快取可以加速藉由處理器1602的讀取或寫入的操作。所述TLB可以加速用於處理器1602的虛擬位址的轉譯。在特定的實施例中,處理器1602可包含一或多個用於資料、指令、或位址的內部的暫存器。此揭露內容思及處理器1602在適當情況包含任何適當數量的任何適當的內部的暫存器。在適當情形中,處理器1602可包含一或多個算術邏輯單元(ALU);是一多核心的處理器;或是包含一或多個處理器1602。儘管此揭露內容描述且描繪一特定的處理器,但此揭露內容思及任何適當的處理器。
在特定的實施例中,記憶體1604包含主要記憶體以用於儲存供處理器1602執行的指令、或是供處理器1602在其上運算的資料。舉例且非限制性的,電腦系統1600可以從儲存器1606或是另一來源(例如,另一電腦系統1600)載入指令到記憶體1604。處理器1602接著可以從記憶體1604載入所述指令到一內部的暫存器或是內部的快取。為了執行所述指令,處理器1602可以從所述內部的暫存器或內部的快取擷取所述指令,並且解碼它們。在所述指令的執行期間或是之後,處理器1602可以寫入一或多個結果(其可以是中間或最終的結果)至所述內部的暫存器或是內部的快取。處理器1602接著可以將那些結果中的一或多個寫入到記憶體1604。在特定的實施例中,處理器1602只執行在一或多個內部的暫存器或內部的快取中、或是在記憶體1604中的指令(相對於儲存器1606或是在別處)、並且只在一或多個內部的暫存器或內部的快取中、或是在記憶體1604中的資料上運算(相對於儲存器1606或是在別處)。一或多個記憶體匯流排(其分別可包含一位址匯流排以及一資料匯流排)可以將處理器1602耦接至記憶體1604。如同在以下敘述的,匯流排1612可包含一或多個記憶體匯流排。在特定的實施例中,一或多個記憶體管理單元(MMU)位在處理器1602與記憶體1604之間,並且使得由處理器1602所請求的對於記憶體1604的存取變得容易。在特定的實施例中,記憶體1604包含隨機存取記憶體(RAM)。此RAM在適當情況可以是揮發性記憶體。在適當情形中,此RAM可以是動態RAM(DRAM)或靜態RAM(SRAM)。再者,在適當情況,此RAM可以是單埠或多埠的RAM。此揭露內容思及任何適當的RAM。記憶體1604在適當情況可包含一或多個記憶體1604。儘管此揭露內容描述且描繪特定的記憶體,但是此揭露內容思及任何適當的記憶體。
在特定的實施例中,儲存器1606包含用於資料或指令的大量儲存。舉例且非限制性的,儲存器1606可包含一硬碟機(HDD)、一軟碟機、快閃記憶體、一光碟、一磁光碟片、磁帶、或是一萬用串列匯流排(USB)隨身碟、或是這些的兩個或多個的一組合。儲存器1606在適當情況可包含可拆卸或非可拆卸的(或固定的)媒體。儲存器1606在適當情況可以是在電腦系統1600的內部或外部。在特定的實施例中,儲存器1606是非揮發性固態的記憶體。在特定的實施例中,儲存器1606包含唯讀記憶體(ROM)。在適當情形中,此ROM可以是遮罩程式化ROM、可程式化ROM(PROM)、可抹除PROM(EPROM)、電性可抹除PROM(EEPROM)、電性可變ROM(EAROM)、或是快閃記憶體、或是這些的兩個或多個的一組合。此揭露內容思及採用任何適當的實體形式的大量儲存器1606。儲存器1606在適當情況可包含一或多個儲存控制單元,其使得在處理器1602以及儲存器1606之間的通訊變得容易。在適當情形中,儲存器1606可包含一或多個儲存器1606。儘管此揭露內容描述且描繪特定的儲存,但是此揭露內容思及任何適當的儲存。
在特定的實施例中,I/O介面1608包含硬體、軟體、或是兩者,其提供一或多個用於在電腦系統1600以及一或多個I/O裝置之間的通訊的介面。電腦系統1600在適當情況可包含這些I/O裝置中的一或多個。這些I/O裝置中的一或多個可以致能在人以及電腦系統1600之間的溝通。舉例且非限制性的,一I/O裝置可包含一鍵盤、小型鍵盤、麥克風、監視器、滑鼠、印表機、掃描器、揚聲器、相機、指示筆、平板電腦、觸控螢幕、軌跡球、視訊攝影機、其它適當的I/O裝置、或是這些的兩個或多個的一組合。一I/O裝置可包含一或多個感測器。此揭露內容思及任何適當的I/O裝置以及用於它們的任何適當的I/O介面1608。在適當情形中,I/O介面1608可包含一或多個裝置或軟體驅動程式,其致能處理器1602來驅動這些I/O裝置中的一或多個。I/O介面1608在適當情況可包含一或多個I/O介面1608。儘管此揭露內容描述且描繪一特定的I/O介面,但是此揭露內容思及任何適當的I/O介面。
在特定的實施例中,通訊介面1610包含硬體、軟體、或是兩者,其提供一或多個用於在電腦系統1600以及一或多個其它電腦系統1600或一或多個網路之間的通訊(例如,封包為基礎的通訊)的介面。舉例且非限制性的,通訊介面1610可包含一網路介面控制器(NIC)或網路轉接器以用於和一乙太網路或其它有線為基礎的網路通訊、或是包含一無線NIC(WNIC)或無線轉接器以用於和一例如是WI-FI網路的無線網路通訊。此揭露內容思及任何適當的網路以及用於其之任何適當的通訊介面1610。舉例且非限制性的,電腦系統1600可以和一隨意網路、一個人區域網路(PAN)、一本地區域網路(LAN)、一廣域網路(WAN)、一都會區域網路(MAN)、或網際網路的一或多個部分、或是這些中的兩個或多個的一組合通訊。這些網路中的一或多個的一或多個部分可以是有線或無線的。舉例而言,電腦系統1600可以和一無線PAN(WPAN)(例如,一藍芽WPAN)、一WI-FI網路、一WI-MAX網路、一行動電話網路(例如,一全球行動通訊系統(GSM)網路)、或其它適當的無線網路、或是這些中的兩個或多個的一組合通訊。電腦系統1600在適當情況可包含用於這些網路的任一者的任何適當的通訊介面1610。通訊介面1610在適當情況可包含一或多個通訊介面1610。儘管此揭露內容描述且描繪一特定的通訊介面,但是此揭露內容思及任何適當的通訊介面。
在特定的實施例中,匯流排1612包含硬體、軟體、或是兩者,其將電腦系統1600的構件彼此耦接。舉例且非限制性的,匯流排1612可包含一加速圖形埠(AGP)或其它圖形匯流排、一強化的工業標準架構(EISA)匯流排、一前端匯流排(FSB)、一超傳輸(HT)互連、一工業標準架構(ISA)匯流排、一無限頻寬互連、一低接腳數(LPC)匯流排、一記憶體匯流排、一微通道架構(MCA)匯流排、一週邊元件互連(PCI)匯流排、一PCI-Express(PCIe)匯流排、一串列先進技術附接(SATA)匯流排、一視訊電子標準協會區域(VLB)匯流排、或其它適當的匯流排、或是這些中的兩個或多個的一組合。匯流排1612在適當情況可包含一或多個匯流排1612。儘管此揭露內容描述且描繪一特定的匯流排,但是此揭露內容思及任何適當的匯流排或互連。
在此,一或多種電腦可讀取的非暫態的儲存媒體在適當情況可包含一或多個半導體為基礎或其它的積體電路(IC)(例如,現場可程式化閘陣列(FPGA)、或特殊應用IC(ASIC))、硬碟機(HDD)、混合硬碟機(HHD)、光碟、光碟機(ODD)、磁光碟片、磁光機、軟碟片、軟碟機(FDD)、磁帶、固態硬碟(SSD)、虛擬磁碟、安全數位卡或碟、任何其它適當的電腦可讀取的非暫態的儲存媒體、或是這些中的兩個或多個的任何適當的組合。一電腦可讀取的非暫態的儲存媒體在適當情況可以是揮發性、非揮發性、或是揮發性及非揮發性的一組合。
在此,除非有明確相反的指出或是上下文有相反的指出,否則“或”是包括而非排它性的。因此,除非有明確相反的指出或是上下文有相反的指出,否則在此的“A或B”是表示“A、B、或是兩者”。再者,除非有明確相反的指出或是上下文有相反的指出,否則“及”是聯合且分別的。因此,除非有明確相反的指出或是上下文有相反的指出,否則在此的“A及B”是表示“聯合且分別的A及B”。
此揭露內容的範疇包含具有在此項技術中的普通技能者將會理解的對於在此敘述或描繪的範例實施例的所有改變、替代、變化、變動及修改。此揭露內容的範疇並不限於在此敘述或描繪的範例實施例。再者,儘管此揭露內容在此描述且描繪個別的實施例為包含特定的構件、元件、特點、功能、操作、或是步驟,但是這些實施例的任一個都可包含具有在此項技術中的普通技能者將會理解的在此任何地方所敘述或描繪的構件、元件、特點、功能、操作、或是步驟的任一個的任何組合或排列。再者,在所附的請求項中對於被調適、安排、能夠、配置、致能、可運作、或操作以執行一特定功能的一設備或系統、或是一設備或系統的一構件的參照是包含所述設備、系統、構件,而不論其或所述特定的功能是否被起動、導通、或解鎖,只要所述設備、系統、或構件如此被調適、安排、能夠、配置、致能、可運作、或是操作即可。此外,儘管此揭露內容描述或描繪特定實施例為提供特定的優點,但是特定實施例可以提供這些優點的無、一些、或是全部。
100:紋理元素陣列 110:字元形狀 120:邊緣 130:背景 140:邊界 150:樣本點 160:樣本點 170:樣本點 180:樣本點 200:紋理元素陣列 210:U軸 212:V軸 214:紋理元素 216:紋理元素 218:紋理元素 220:紋理元素 222:鑽石狀區域 224:鑽石狀區域 226:鑽石狀區域 228:鑽石狀區域 230:陰影區域 300:紋理元素陣列 310:U軸 312:V軸 314:樣本點P 316:紋理元素區域 318:紋理元素 320:紋理元素 322:紋理元素 324:紋理元素 326:偶數紋理元素對 328:奇數紋理元素對 330:對角線 332:對角線 400:方法 410:步驟 420:步驟 430:步驟 440:步驟 450:步驟 460:步驟 470:步驟 480:步驟 500:紋理元素陣列 510:U軸 512:V軸 514:紋理元素 516:紋理元素 518:紋理元素 520:紋理元素 522:紋理元素 524:紋理元素 526:紋理元素 528:紋理元素 530:區域 532:區域 534:方形區域 536:方形區域 538:陰影區域 600:紋理元素陣列 610:U軸 612:V軸 614:樣本點 618:偶數列的紋理元素 620:偶數列的紋理元素 622:偶數列的紋理元素 624:偶數列的紋理元素 626:奇數列的紋理元素 628:奇數列的紋理元素 630:奇數列的紋理元素 632:奇數列的紋理元素 634:偶數列的紋理元素對 636:偶數列的紋理元素對 638:奇數列的紋理元素對 640:奇數列的紋理元素對 642:垂直線 644:樣本點 700:粗略顆粒的色彩選擇方法 710:步驟 720:步驟 730:步驟 740:步驟 750:步驟 760:步驟 770:步驟 780:步驟 790:步驟 810:type0邊緣 812:type1邊緣 814:點 816:區域 818:區域 820:區域 822:區域 824:樣本點 826:樣本點 828:樣本點 830:樣本點 900:紋理元素陣列 910:U軸 912:V軸 914:樣本點 916:紋理元素區域 918:紋理元素 920:紋理元素 922:紋理元素 924:紋理元素 1000:細微顆粒的雙距離場色彩選擇方法 1010:步驟 1012:步驟 1014:步驟 1016:步驟 1018:步驟 1020:步驟 1022:步驟 1026:步驟 1028:步驟 1030:步驟 1032:步驟 1034:步驟 1100:紋理元素陣列 1110 :U軸 1112 :V軸 1114 :樣本點 1118 :紋理元素 1120:紋理元素 1122:紋理元素 1124:紋理元素 1126:紋理元素 1128:紋理元素 1130:紋理元素 1132:紋理元素 1134:垂直線 1200:粗略顆粒的雙距離場色彩選擇方法 1210:步驟 1214:步驟 1216:步驟 1218:步驟 1220:步驟 1222:步驟 1224:步驟 1228:步驟 1230:步驟 1232:步驟 1234:步驟 1236:步驟 1300:紋理映射 1310:紋理映射位準 1320:紋理映射位準 1330:紋理映射位準 1340:紋理映射位準 1350:紋理映射位準 1410:步驟 1420:步驟 1430:步驟 1440:步驟 1445:步驟 1450:步驟 1455:步驟 1500:方法 1510:步驟 1520:步驟 1530:步驟 1540:步驟 1550:步驟 1560:步驟 1600:電腦系統 1602:處理器 1604:記憶體 1606:儲存器 1608:輸入/輸出(I/O)介面 1610:通訊介面 1612:匯流排
圖1是一範例距離場標籤,其中各種的樣本位置是被置放在一字元形狀的邊緣之內以及之外。
圖2A及2B分別描繪在用於細微顆粒的色指數選擇的一紋理元素的陣列上的偶數及奇數紋理元素位置的範例圖。
圖3A描繪在和單一距離場相關的紋理元素的陣列上利用一種細微顆粒的色指數選擇方法。圖3B描繪用於細微顆粒的色指數選擇的一範例色彩查找表。
圖4描繪一種利用細微顆粒的色指數來決定一利用單一距離場的樣本位置的色彩之範例的方法。
圖5A及5B分別描繪在用於粗略顆粒的色指數選擇的一紋理元素的陣列上的偶數列及奇數列的紋理元素位置的範例圖。
圖6A描繪在一陣列的紋理元素上利用一粗略顆粒的色指數選擇方法。圖6B描繪用於粗略顆粒的色指數選擇的一範例色彩查找表。
圖7描繪一種利用粗略顆粒的色指數來決定利用單一距離場的一樣本位置的色彩之範例的方法。
圖8是描繪其中兩個不同邊緣類型的邊緣交會在一頂點並且產生和在所述邊緣的每一個之內或是之外的四個不同組合相關的四個不同的區域的一範例區域。
圖9A描繪在一陣列的和雙距離場相關的紋理元素上利用一細微顆粒的色指數選擇方法。圖9B描繪和用於細微顆粒的色指數選擇的對齊的二乘二的紋理元素組相關的範例的距離場標籤。
圖10描繪一種用於利用細微顆粒的色指數來決定一利用雙距離場的樣本位置的色彩之範例的方法。
圖11A描繪在一陣列的和雙距離場相關的紋理元素上利用一粗略顆粒的色指數選擇方法。圖11B描繪和用於粗略顆粒的色指數選擇的對齊的二乘二的紋理元素組相關之範例的距離場標籤。
圖12描繪一種用於利用粗略顆粒的色指數來決定一利用雙距離場的樣本位置的色彩之範例的方法。
圖13描繪一範例的紋理映射,其具有混合的距離場的紋理以及RGBA紋理。
圖14描繪一種用於利用一具有混合的紋理映射位準的紋理映射來針對一像素計算一色彩值之範例的方法。
圖15描繪一種用於在無內插下判斷用於一取樣位置的色彩之範例的方法。
圖16描繪一範例電腦系統。
400:方法
410:步驟
420:步驟
430:步驟
440:步驟
450:步驟
460:步驟
470:步驟
480:步驟

Claims (20)

  1. 一種決定用於一取樣位置的色彩之方法,包括:藉由一計算系統在包括複數個紋理元素的紋理之內決定所述取樣位置,其中每一個紋理元素編碼距離場以及色指數;藉由所述計算系統根據所述取樣位置來選擇在所述複數個紋理元素中的一紋理元素組,以用來決定用於所述取樣位置的所述色彩;藉由所述計算系統根據所述紋理元素組的所述距離場來計算內插的距離場;藉由所述計算系統根據所述內插的距離場來選擇所述紋理元素組的子集合;藉由所述計算系統根據在所述紋理元素以及所述取樣位置之間的距離來從所述紋理元素的子集合中選擇一紋理元素;以及藉由所述計算系統利用所選的紋理元素的所述色指數來決定用於所述取樣位置的所述色彩。
  2. 如請求項1所述之方法,其中:所述紋理描繪2D影像,其具有分開所述2D影像的內部與所述2D影像的外部的一或多個邊緣;所述複數個紋理元素的每一個紋理元素的所述距離場編碼(1)在相關的紋理元素以及所述2D影像的所述一或多個邊緣中的一邊緣之間的第一距離、以及(2)所述相關的紋理元素是否在所述2D影像的內部或外部中;以及所述內插的距離場編碼(1)在所述取樣位置以及所述2D影像的所述一或多個邊緣中的一邊緣之間的第二距離、以及(2)所述取樣位置是否在所述2D影像的內部或外部中。
  3. 如請求項2所述之方法,其中根據所述內插的距離場,所述紋理 元素的子集合是根據所述取樣位置是否在所述2D影像的內部或外部中來加以選擇。
  4. 如請求項1所述之方法,其中:所述紋理元素組包含一對偶數紋理元素以及一對奇數紋理元素;以及所述紋理元素的子集合是所述偶數紋理元素對、或是所述奇數紋理元素對。
  5. 如請求項4所述之方法,其中:所述複數個紋理元素分別具有在所述紋理中的一u座標以及一v座標;所述複數個紋理元素包括複數個偶數紋理元素,其中每一個偶數紋理元素的所述u座標的二進位表示的一最低有效位元以及所述偶數紋理元素的所述v座標的二進位表示的一最低有效位元是相等的;以及所述複數個紋理元素包括複數個奇數紋理元素,其中每一個奇數紋理元素的所述u座標的二進位表示的一最低有效位元以及所述奇數紋理元素的所述v座標的二進位表示的一最低有效位元是不同的。
  6. 如請求項1所述之方法,其中所選的紋理元素的所述色指數被對映到預設的色彩組中之一色彩。
  7. 如請求項6所述之方法,其中所述預設的色彩組包含超過兩個色彩。
  8. 如請求項1所述之方法,其中所述複數個紋理元素的每一個紋理元素的所述距離場使用一種不具有在邊緣上的表示之距離表示方案。
  9. 如請求項1所述之方法,其中:所述紋理元素組是在所述複數個紋理元素中最接近所述取樣位置的四個紋理元素;以及所述取樣位置和一像素相關,並且用於所述取樣位置的所述色彩會藉由所述像素來加以顯示。
  10. 一種決定用於一取樣位置的色彩之系統,其包括:一或多個處理器;以及一或多個電腦可讀取的非暫態儲存媒體,其耦接至所述一或多個處理器並且包含指令,所述指令當由所述一或多個處理器執行時可運作以使得所述系統:在包括複數個紋理元素的紋理之內決定所述取樣位置,其中每一個紋理元素編碼距離場及色指數;根據所述取樣位置來選擇在所述複數個紋理元素中的一紋理元素組,以用來決定用於所述取樣位置的所述色彩;根據所述紋理元素組的所述距離場來計算內插的距離場;根據所述內插的距離場來選擇所述紋理元素組的子集合;根據在所述紋理元素以及所述取樣位置之間的距離來從所述紋理元素的子集合中選擇一紋理元素;以及利用所選的紋理元素的所述色指數來決定用於所述取樣位置的所述色彩。
  11. 如請求項10所述之系統,其中:所述紋理描繪2D影像,其具有分開所述2D影像的內部與所述2D影像的外部的一或多個邊緣;所述複數個紋理元素的每一個紋理元素的所述距離場編碼(1)在相關的紋理元素以及所述2D影像的所述一或多個邊緣中的一邊緣之間的第一距離、以及(2)所述相關的紋理元素是否在所述2D影像的內部或外部中;以及所述內插的距離場編碼(1)在所述取樣位置以及所述2D影像的所述一或多個邊緣中的一邊緣之間的第二距離、以及(2)所述取樣位置是否在所述2D影像的內部或外部中。
  12. 如請求項11所述之系統,其中根據所述內插的距離場,所述紋理元素的子集合是根據所述取樣位置是否在所述2D影像的內部或外部中來加以 選擇。
  13. 如請求項10所述之系統,其中:所述紋理元素組包含一對偶數紋理元素以及一對奇數紋理元素;以及所述紋理元素的子集合是所述偶數紋理元素對、或是所述奇數紋理元素對。
  14. 如請求項13所述之系統,其中:所述複數個紋理元素分別具有在所述紋理中的一u座標以及一v座標;所述複數個紋理元素包括複數個偶數紋理元素,其中每一個偶數紋理元素的所述u座標的二進位表示的一最低有效位元以及所述偶數紋理元素的所述v座標的二進位表示的一最低有效位元是相等的;以及所述複數個紋理元素包括複數個奇數紋理元素,其中每一個奇數紋理元素的所述u座標的二進位表示的一最低有效位元以及所述奇數紋理元素的所述v座標的二進位表示的一最低有效位元是不同的。
  15. 如請求項10所述之系統,其中所選的紋理元素的所述色指數被對映到預設的色彩組中之一色彩。
  16. 一種包括軟體的一或多個電腦可讀取的非暫態儲存媒體,所述軟體當被執行時使得一計算系統進行以下動作:在包括複數個紋理元素的紋理之內決定一取樣位置,其中每一個紋理元素編碼距離場以及色指數;根據所述取樣位置來選擇在所述複數個紋理元素中的一紋理元素組,以用來決定用於所述取樣位置的色彩;根據所述紋理元素組的所述距離場來計算內插的距離場;根據所述內插的距離場來選擇所述紋理元素組的子集合;根據在所述紋理元素以及所述取樣位置之間的距離來從所述紋理元素的子集合中選擇一紋理元素;以及 利用所選的紋理元素的所述色指數來決定用於所述取樣位置的所述色彩。
  17. 如請求項16所述之媒體,其中:所述紋理描繪2D影像,其具有分開所述2D影像的內部與所述2D影像的外部的一或多個邊緣;所述複數個紋理元素的每一個紋理元素的所述距離場編碼(1)在相關的紋理元素以及所述2D影像的所述一或多個邊緣中的一邊緣之間的第一距離、以及(2)所述相關的紋理元素是否在所述2D影像的內部或外部中;以及所述內插的距離場編碼(1)在所述取樣位置以及所述2D影像的所述一或多個邊緣中的一邊緣之間的第二距離、以及(2)所述取樣位置是否在所述2D影像的內部或外部中。
  18. 如請求項17所述之媒體,其中根據所述內插的距離場,所述紋理元素的子集合是根據所述取樣位置是否在所述2D影像的內部或外部中來加以選擇。
  19. 如請求項16所述之媒體,其中:所述紋理元素組包含一對偶數紋理元素以及一對奇數紋理元素;以及所述紋理元素的子集合是所述偶數紋理元素對、或是所述奇數紋理元素對。
  20. 如請求項19所述之媒體,其中:所述複數個紋理元素分別具有在所述紋理中的一u座標以及一v座標;所述複數個紋理元素包括複數個偶數紋理元素,其中每一個偶數紋理元素的所述u座標的二進位表示的一最低有效位元以及所述偶數紋理元素的所述v座標的二進位表示的一最低有效位元是相等的;以及所述複數個紋理元素包括複數個奇數紋理元素,其中每一個奇數紋理元素的所述u座標的二進位表示的一最低有效位元以及所述奇數紋理元素的所述v座標的二進位表示的一最低有效位元是不同的。
TW108139050A 2018-10-31 2019-10-29 距離場調色板 TWI810393B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862753676P 2018-10-31 2018-10-31
US62/753,676 2018-10-31
US16/583,878 2019-09-26
US16/583,878 US11055898B2 (en) 2018-10-31 2019-09-26 Distance field color palette

Publications (2)

Publication Number Publication Date
TW202036481A TW202036481A (zh) 2020-10-01
TWI810393B true TWI810393B (zh) 2023-08-01

Family

ID=70325538

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108139050A TWI810393B (zh) 2018-10-31 2019-10-29 距離場調色板

Country Status (7)

Country Link
US (4) US11055898B2 (zh)
EP (1) EP3874466A1 (zh)
JP (1) JP2022511319A (zh)
KR (1) KR20210088588A (zh)
CN (1) CN113261032A (zh)
TW (1) TWI810393B (zh)
WO (1) WO2020092218A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11138747B1 (en) * 2018-11-02 2021-10-05 Facebook Technologies, Llc Interpolation optimizations for a display engine for post-rendering processing
US11288788B2 (en) 2020-08-13 2022-03-29 Facebook Technologies, Llc. Anti-aliasing for distance field graphics rendering
US11120774B1 (en) * 2020-08-13 2021-09-14 Electronic Arts Inc. Subpixel text rendering
WO2022089043A1 (zh) 2020-10-30 2022-05-05 海信视像科技股份有限公司 显示设备、几何图形识别方法及多图层叠加显示方法
CN115243094A (zh) * 2020-12-22 2022-10-25 海信视像科技股份有限公司 一种显示设备及多图层叠加方法
CN113077539B (zh) * 2021-04-08 2022-06-14 网易(杭州)网络有限公司 目标虚拟模型的渲染方法、装置及电子设备
CN113409411B (zh) * 2021-05-26 2024-08-27 腾讯科技(深圳)有限公司 图形界面的渲染方法、装置、电子设备及存储介质
CN113778905B (zh) * 2021-11-10 2022-02-08 腾讯科技(深圳)有限公司 Ui设计验收方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW526429B (en) * 2000-06-20 2003-04-01 Terraspring Inc Graphical editor for defining and creating a computer system
US20040189666A1 (en) * 2003-03-25 2004-09-30 Frisken Sarah F. Method for generating a composite glyph and rendering a region of the composite glyph in object-order
US20100271382A1 (en) * 2008-01-15 2010-10-28 Yoshiyuki Kato Graphic drawing device and graphic drawing method
US20170178594A1 (en) * 2015-12-19 2017-06-22 Intel Corporation Method and apparatus for color buffer compression

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6184893B1 (en) * 1998-01-08 2001-02-06 Cirrus Logic, Inc. Method and system for filtering texture map data for improved image quality in a graphics computer system
US6819793B1 (en) 2000-06-30 2004-11-16 Intel Corporation Color distribution for texture and image compression
US6982724B2 (en) 2003-03-25 2006-01-03 Mitsubishi Electric Research Labs, Inc. Method for antialiasing an object represented as a two-dimensional distance field in object-order
US8830249B2 (en) * 2011-09-12 2014-09-09 Sony Computer Entertainment Inc. Accelerated texture lookups using texture coordinate derivatives
GB2541644B (en) 2015-08-03 2017-11-22 Advanced Risc Mach Ltd Graphics processing systems
US11024014B2 (en) * 2016-06-28 2021-06-01 Microsoft Technology Licensing, Llc Sharp text rendering with reprojection
US10395408B1 (en) 2016-10-14 2019-08-27 Gopro, Inc. Systems and methods for rendering vector shapes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW526429B (en) * 2000-06-20 2003-04-01 Terraspring Inc Graphical editor for defining and creating a computer system
US20040189666A1 (en) * 2003-03-25 2004-09-30 Frisken Sarah F. Method for generating a composite glyph and rendering a region of the composite glyph in object-order
US20100271382A1 (en) * 2008-01-15 2010-10-28 Yoshiyuki Kato Graphic drawing device and graphic drawing method
US20170178594A1 (en) * 2015-12-19 2017-06-22 Intel Corporation Method and apparatus for color buffer compression

Also Published As

Publication number Publication date
US11055898B2 (en) 2021-07-06
KR20210088588A (ko) 2021-07-14
WO2020092218A8 (en) 2021-04-01
TW202036481A (zh) 2020-10-01
US20200134881A1 (en) 2020-04-30
US20200134902A1 (en) 2020-04-30
US11062499B2 (en) 2021-07-13
US20200134879A1 (en) 2020-04-30
US11257275B2 (en) 2022-02-22
JP2022511319A (ja) 2022-01-31
US10964088B2 (en) 2021-03-30
CN113261032A (zh) 2021-08-13
EP3874466A1 (en) 2021-09-08
WO2020092218A1 (en) 2020-05-07
US20200134880A1 (en) 2020-04-30

Similar Documents

Publication Publication Date Title
TWI810393B (zh) 距離場調色板
US11876950B2 (en) Layered scene decomposition codec with view independent rasterization
US9640149B2 (en) Methods for fixed rate block based compression of image data
CN111937040A (zh) 分层场景分解编解码系统及方法
US9245363B2 (en) System, method, and computer program product implementing an algorithm for performing thin voxelization of a three-dimensional model
CN107967707B (zh) 用于处理图像的设备和方法
CN107392988A (zh) 利用投影几何失真用于以可变采样率渲染的系统、方法和计算机程序产品
US8330767B2 (en) Method and apparatus for angular invariant texture level of detail generation
KR20220047284A (ko) 포비티드 렌더링을 위한 시스템들 및 방법들
US11893676B2 (en) Parallel texture sampling
US8928690B2 (en) Methods and systems for enhanced quality anti-aliasing
TW200426709A (en) Mechanism for reducing Z buffer traffic in three dimensional graphics processing
US10460502B2 (en) Method and apparatus for rendering object using mipmap including plurality of textures
US20220245783A1 (en) Anti-Aliasing for Distance Field Graphics Rendering
JP4995969B2 (ja) 行傾きコードワード及び列傾きコードワードを使用する画素ブロック値の可逆圧縮のための方法、圧縮器、伸張器及び信号表現
CN105793896A (zh) 图像输出装置和渲染图像的方法
US20080165208A1 (en) 3-Dimensional graphic processing apparatus and operating method thereof
US20240249461A1 (en) Vector graphic texture engine
CN106447593B (zh) 操作图形处理流水线的方法、图形处理流水线、存储介质