TWI535277B - 用於深度緩衝之方法、設備及系統 - Google Patents
用於深度緩衝之方法、設備及系統 Download PDFInfo
- Publication number
- TWI535277B TWI535277B TW102141238A TW102141238A TWI535277B TW I535277 B TWI535277 B TW I535277B TW 102141238 A TW102141238 A TW 102141238A TW 102141238 A TW102141238 A TW 102141238A TW I535277 B TWI535277 B TW I535277B
- Authority
- TW
- Taiwan
- Prior art keywords
- depth
- value
- depth value
- bits
- significant bits
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Description
本發明大體上係關於深度緩衝之領域,且詳言之係關於與用於產生三維圖形時的圖形呈現的改善之深度緩衝的技術相關的實施例。
電腦圖形系統用以模型化具有三維物件之場景,且接著將該等三維物件顯示於二維顯示器件上。一種常用之此類系統係基於多邊形之物件排序圖形系統,在該系統中,場景中之三維物件各自由近似描繪於影像中之物件之形狀的大量多邊形來表示。視經選擇用於在二維上檢視場景的定向而定,表示場景中的物件的許多基元將隱藏於其他基元後面,且不被顯示。視給定基元之一部分是否在顯示器件之所呈現影像中被隱藏而定,未完全隱藏之基元被稱為可見的,且將被完全或部分地顯示。隨著待呈現場景之深度複雜度增加,表示場景之最終可由顯示器件之觀測者看見的所有基元的百分數顯著減低。因此,在許多狀況下,場景之許多基元將被隱藏。
依據本發明之一實施例,係特地提出一種用於深度緩衝之
方法,其包含下列步驟:在一圖形處理單元中將構成一深度值的數個位元分裂成較高及較低有效位元;以及最初僅使用該等較高有效位元來進行一深度緩衝分析。
12‧‧‧光柵處理器
14‧‧‧HiZ單元
16‧‧‧深度單元
18‧‧‧記憶體系統
20‧‧‧保守深度比較模組
28‧‧‧比較模組
30、32‧‧‧分離快取記憶體
700‧‧‧系統
702‧‧‧平台
705‧‧‧晶片集
710‧‧‧處理器
712‧‧‧記憶體
714‧‧‧儲存器
715‧‧‧圖形子系統
716‧‧‧應用程式
718‧‧‧無線電
721‧‧‧全球定位系統(GPS)
723‧‧‧攝影機
720、804‧‧‧顯示器
730‧‧‧內容服務器件
740‧‧‧內容遞送器件
750‧‧‧導覽控制器
760‧‧‧網路
770‧‧‧作業系統
780‧‧‧內部電池
790‧‧‧韌體
800‧‧‧器件
802‧‧‧外殼
806‧‧‧輸入/輸出(I/O)器件
808‧‧‧天線
812‧‧‧導覽特徵
關於以下諸圖來描述一些實施例:
圖1為本發明之一個實施例的系統描繪;
圖2為根據一個實施例的展示於圖1中之深度緩衝器的更詳細示意性描繪。
圖3為本發明之一個實施例的系統描繪;以及
圖4為一個實施例的前正視圖。
習知電腦圖形系統可具有圖框緩衝器及深度緩衝器。圖框緩衝器通常係保持影像中的各像素或樣本之色彩及強度之數位表示的記憶體。圖框緩衝器亦被稱作視訊位元映射。亦被稱作Z緩衝器的深度緩衝器係具有針對圖框緩衝器中的各像素或樣本之項目的大記憶體陣列。
用於判定哪些基元將係可見的或隱藏的一種方法涉及使用深度緩衝器。圖形系統中之深度軸線反映距特定觀測者之視點的距離。因此,較大深度值表示距視點的較大距離。深度緩衝涉及比較所產生物件上之數個點之深度值以判定哪一物件最靠近視點,且因此應顯現於二維顯示器上。作為處理場景之圖形資料的部分,針對場景中之各基元產生像素。
在習知深度緩衝中,隨著產生各像素,比較其深度座標與
先前儲存於深度緩衝器中之針對影像中該位置的深度座標。在處理場景之第一基元之前,藉由針對每個像素將對應於最大距離的值儲存於深度緩衝器項目中來初始化深度緩衝器,使得最初舊的深度值對應於最大距離。一般而言,若新深度值小於舊的深度值,從而指示像素更靠近視點(相較於先前視點),則該像素被寫入至顯示器件中,且深度緩衝器經更新以含有新值。若新值大於或等於舊的值,則像素不被寫入,且深度緩衝器保持不改變。請注意,以上文字描述被稱為「小於」之深度測試,亦即,深度緩衝器保持小於先前值的值。亦可使用其他深度測試。在程序期間,基元的最終被完全隱藏之所有像素可在深度緩衝器中被覆寫,使得基元不被顯示。
在電腦圖形中,「呈現」係將資料集合轉譯成可經顯示之圖像的程序。在呈現程序中,圖像資料庫通常保持經讀取之多邊形資料,且藉由呈現硬體逐像素地執行計算以決定各像素的色彩。色彩計算器常常執行此功能性。當呈現多邊形時,針對多邊形涵蓋之各像素來獲得色彩樣本。若進行了過度取樣,則各像素具有多個對應色彩值,其經平均以給出最終色彩。各色彩具有相關聯的深度值及位置。舉例而言,在小於深度測試中,深度緩衝器儲存各位置的最小深度值及計數器。若色彩樣本具有小於該位置之如記錄於深度緩衝器中之值的深度值,則該樣本經寫入至圖框緩衝器中,且深度緩衝器經更新。否則,捨棄該色彩樣本。
因此,在深度緩衝中,各像素之色彩判定以及與三維圖形相關聯的許多其他功能,諸如使用包括不同陰影、孔洞、透明紋理、半透明紋理及其他特徵的不同紋理,通常在圖形處理器的呈現引擎中被執行。呈現引擎藉由利用呈現管線來執行此等功能。圖形資料
沿著呈現管線流動。通常,直至管線的末端才執行深度緩衝。深度緩衝之理念係移除將被遮蔽之基元的像素。結果,可節省處理時間,且可改善效率。
根據一些實施例,深度值可被分裂成較高及較低有效位元。藉由進行此操作,可僅基於該等較高有效位元來進行某處理。在較高有效位元之數目顯著小於位元之總數時,可保留某記憶體頻寬。換言之,藉由僅將該等較高有效位元用於深度緩衝操作中的一些,記憶體頻寬使用可被減少,從而改善效率。
在一些狀況下,記憶體頻寬利用係功率消耗之最重要決定因子。在包括行動應用之許多應用中,功率消耗係首要考慮事項。
記憶體存取係電腦系統中消耗功率最多之操作之一。因此,重要的是在最大可能程度上減少記憶體頻寬使用。
在一些狀況下,藉由在圖形處理器中減少至且自深度緩衝器之記憶體頻寬使用,可獲得顯著之功率消耗節省。因此,在一些實施例中,藉由減少用以表示深度值之位元的數目,記憶體頻寬可被減少,同時亦減少功率消耗。可結合普通深度緩衝技術(包括深度緩衝器快取、深度緩衝器壓縮、Zmax剔除及Zmin剔除)來使用本文中所描述之技術。
在包括DirectX及OpenGL之許多圖形處理規範中,深度值可以24位元整數或32位元浮點值來儲存。本申請案之發明者已發現,在深度值之最低有效位元中存在相對沒用的內容。因此,深度值Z可具有N個位元,其目前通常係24或32個位元。H個最高有效位元可由術語Zhi來指明,且L個最低有效位元可由Zlo來指明。因此,Z=(Zhi<<L)+Zlo。(Zhi<<L)+000...00b<=Z<=(Zhi<<L)+
111...11b成立,其中000...00b意謂L個二進位零,且111...11b意謂L個二進位一。為了簡單,Zf=(Zhi<<L)+000...00b,其係經量化至H個位元的Z,在底限捨位情況下),且Zc=(Zhi<<L)+111...11b,其係經量化至H個位元的Z,在頂值捨位情況下)。
通常,藉由Zmin/Zmax剔除,圖形處理器讀取當前深度值,繼之以按樣本或像素之深度比較,且若通過深度比較,則經由深度快取記憶體將新深度值寫入至深度緩衝器中。根據本發明之一些實施例,藉由在第一執行個體中僅使用Zhi且僅在被需要時接著透過使用Zlo繼續,深度比較可保守地進行,以便從不產生任何不正確深度比較。
在本文中所描述之實施例中,深度測試係小於測試,此係因為若傳入樣本之深度小於深度緩衝器中之對應深度,則深度測試通過。然而,在本發明的其他實施例中,可使用任何深度測試。
參看圖1,深度管線可包括耦接至記憶體系統18的光柵處理器12、HiZ單元14及深度單元16。在一個實施例中,HiZ單元14執行Zmin/Zmax剔除。在深度單元16與記憶體單元18之間傳遞之資料的量判定需要之頻寬,且最終控制單元之功率消耗的部分。因此,在本發明之一些實施例中,所要的是減少在深度單元與記憶體系統之間的記憶體傳送之頻寬。此等記憶體傳送通常係依據記憶體讀取或記憶體寫入。
因此,若藉由讀取Zhi,深度單元16僅自記憶體系統讀取深度值的H個位元,則可減少頻寬。即,藉由使用Zhi值來執行保守深度測試,在深度單元與記憶體系統18之間僅需傳送較少位元。在Zi係傳入深度且Zd為來自深度單元16內部之深度緩衝器的深度的
情況下,當進行此操作時,以下結果為可能的。若Zi小於Zd f,則保證傳入深度Zi係處於已在深度緩衝器中的深度值之前部。在此狀況下,可達成顯著節省,此係由於使用僅H個位元而非整個N個位元。為了更新深度緩衝器,Zi hi及Zi lo兩者可被寫入至深度緩衝器中。雖然寫入可能不節省頻寬,但讀取操作涉及較少頻寬,且因此係節約頻寬的。
另一可能性係Zi大於Zd c,其意謂測試失敗,此係因為可保證傳入深度係在深度緩衝器之當前內容的後部,或被前述當前內容遮蔽。再一次,由於僅讀取H個位元而非H個位元來找到該答案,因此節省頻寬。
在其他狀況下,結果為模糊的,且僅使用高位元集合並非為決定性的。但在許多狀況下,仍節約頻寬。在結果係模糊之處,亦必須讀取較低有效位元以便解析深度測試。因而,再次對較低有效位元執行深度測試,且若深度測試失敗,則不需要記憶體更新。然而,若深度測試通過,則Zi lo必須被寫入至快取記憶體。然而,不需要寫入Zi hi,此係由於已知曉其如儲存於緩衝器一般為正確的。
基於實驗,已判定,在一些實施例中,針對讀取頻寬之H的最佳值係8個位元,且H之最佳寫入頻寬係9個位元。因此,在一些實施例中,H=8可經選定為最合理選擇,此係由於此H與多數記憶體佈局良好適配。
在許多狀況下,像素之諸如影像塊的小矩形區的Zhi位元將僅含有獨特H位元值的幾個集合。在一個實施例中,可各自使用具有H個位元之2k個值。接著,每個樣本/像素需要指向此等2k個值中的一者的k位元索引。在許多狀況下,k=2在多數狀況下觸發
壓縮,且提供充分壓縮。舉例而言,對於8×8個像素影像塊,最高有效位元可係8*8*8=512個儲存位元,而藉由本文中所描述之方法,將僅需要160個儲存位元(4*8+8*8*2)。k之不同變化亦係想得到的。在一些實施例中,經壓縮之最高有效位元可與Zmin及Zmax值一起儲存於快速小記憶體中。
對於影像塊之Zlo個位元,可使用壓縮。舉例而言,可使用深度偏移壓縮技術。參見Jon Hasselgren及Tomas Akenine-Möller之「Efficient Depth Buffer Compression」(圖形硬體,第103至110頁,2006年)。
現轉至圖2,圖2可表示軟體、韌體及/或硬體實施例。在軟體及韌體實施例中,其可藉由儲存於諸如磁性、光學或半導體儲存器之一或多個非暫時性電腦可讀媒體中的電腦執行指令來實施。
在一個實施例中,可將兩個分離快取記憶體30及32(或同一記憶體之兩個分離部分)用於儲存該H個位元及該L個位元。在一些實施例中,此等快取記憶體可位於共用快取記憶體中,且其亦可共用第二階快取記憶體。
傳入深度值Zi到達保守深度比較模組20。其執行已描述之三個測試。若Zi大於Zd c,則達成結果且流程可結束,如22處所指示。若Zi小於Zd f為真,則高深度值及低深度值之值應皆寫入至低儲存快取記憶體32及高儲存快取記憶體30。若保守深度比較為不確定的,則必須自低儲存器32讀取較低有效值,且接著與高或較高有效值一起在比較模組28中進行比較。若比較通過,則低值必須替換低儲存快取記憶體32中的當前儲存之值。否則,進行失敗指示,且流程結束。
圖3例示系統700之實施例。在實施例中,系統700可為媒體系統,儘管系統700並不限於此情形。舉例而言,系統700可併入至個人電腦(PC)、膝上型電腦、超級膝上型電腦、平板電腦、觸控板、攜帶型電腦、手持型電腦、掌上型電腦、個人數位助理(PDA)、蜂巢式電話、組合蜂巢式電話/PDA、電視、智慧型器件(例如,智慧型手機、智慧型平板電腦或智慧型電視)、行動網際網路器件(MID)、傳訊器件、資料通訊器件,等等。
在實施例中,系統700包含耦接至顯示器720之平台702。平台702可接收來自諸如內容服務器件730或內容遞送器件740之內容器件或其他類似內容來源的內容。包含一或多個導覽特徵之導覽控制器750可用以與例如平台702及/或顯示器720互動。下文更詳細描述此等組件中之各者。
在實施例中,平台702可包含以下各者之任何組合:晶片集705、處理器710、記憶體712、儲存器714、圖形子系統715、應用程式716、全球定位系統(GPS)721、攝影機723及/或無線電718。晶片集705可提供處理器710、記憶體712、儲存器714、圖形子系統715、應用程式716及/或無線電718之間的相互通訊。舉例而言,晶片集705可包括能夠提供與儲存器714之相互通訊的儲存器配接器(圖中未描繪)。
此外,平台702可包括作業系統770。至處理器772之介面可介接作業系統與處理器710。
可提供韌體790以實施諸如啟動序列之功能。可提供更新模組,該更新模組使得韌體能夠自平台702外部更新。舉例而言,更新模組可包括程式碼以判定進行更新之嘗試是否為可信的,且識
別韌體790之最近更新以促進對需要更新之時間的判定。
在一些實施例中,平台702可由外部電源供應器來供電。在一些狀況下,平台702亦可包括內部電池780,內部電池780在並不適合於外部電源供應器之實施例中或在允許電池來源電力或外部來源電力之實施例中充當電源。
可藉由將軟體及韌體實施例併入於儲存器714內或者處理器710或圖形子系統715內之記憶體內而以軟體及韌體實施例來實施展示於圖2中之序列來舉幾個實例。圖形子系統715可包括圖形處理單元,且在一個實施例中處理器710可為中央處理單元。
處理器710可實施為複雜指令集電腦(CISC)或精簡指令集電腦(RISC)處理器、x86指令集相容處理器、多核心處理器或任何其他微型處理器或中央處理單元(CPU)。在實施例中,處理器710可包含雙核心處理器、雙核心行動處理器,等等。
記憶體712可實施為非依電性記憶體器件,諸如但不限於隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)或靜態RAM(SRAM)。
儲存器714可實施為非依電性儲存器件,諸如但不限於磁碟機、光碟機、磁帶機、內部儲存器件、附接儲存器件、快閃記憶體、電池備份之SDRAM(同步DRAM)及/或網路可存取之儲存器件。在實施例中,例如,在包括多個硬碟機時,儲存器714可包含增加針對有價值數位媒體之儲存器效能增強之保護的技術。
圖形子系統715可執行對諸如靜態影像或視訊之影像的處理以供顯示。舉例而言,圖形子系統715可為圖形處理單元(GPU)或視覺處理單元(VPU)。類比或數位介面可用以通訊地耦接圖形子系
統715與顯示器720。舉例而言,介面可為高清晰度多媒體介面、顯示埠、無線HDMI及/或無線HD順應性技術中的任一者。圖形子系統715可整合至處理器710或晶片集705中。圖形子系統715可為通訊地耦接至晶片集705之獨立卡。
可以各種硬體架構來實施本文中所描述之圖形及/或視訊處理技術。舉例而言,圖形及/或視訊功能性可整合於一晶片集內。替代性地,可使用離散圖形及/或視訊處理器。作為又一實施例,圖形及/或視訊功能可由包括多核心處理器之通用處理器來實施。在其他實施例中,功能可實施於消費型電子器件中。
無線電718可包括能夠使用各種合適無線通訊技術來傳輸並接收信號的一或多種無線電。此等技術可涉及越過一或多個無線網路之通訊。例示性無線網路包括(但不限於)無線區域網路(WLAN)、無線個人區域網路(WPAN)、無線都會網路(WMAN)、蜂巢式網路及衛星網路。在越過此等網路進行通訊時,無線電718可根據任何版本之一或多個適用標準來操作。
在實施例中,顯示器720可包含任何電視類型之監視器或顯示器。舉例而言,顯示器720可包含電腦顯示幕、觸控式螢幕顯示器、視訊監視器、類似於電視之器件及/或電視。顯示器720可為數位及/或類比顯示器。在實施例中,顯示器720可為全像顯示器。又,顯示器720可為可接收視覺投影(visual projection)之透明表面。此等投影可傳遞各種形式之資訊、影像及/或物件。舉例而言,此等投影可為行動擴增實境(MAR)應用程式之視覺重疊。在一或多個軟體應用程式716之控制下,平台702可將使用者介面722顯示於顯示器720上。
在實施例中,內容服務器件730可由任何國家、國際及/或獨立服務來代管,且因此平台702可經由例如網際網路來存取。內容服務器件730可耦接至平台702及/或顯示器720。平台702及/或內容服務器件730可耦接至網路760以傳達(例如,發送及/或接收)至且自網路760之媒體資訊。內容遞送器件740亦可耦接至平台702及/或至顯示器720。
在實施例中,內容服務器件730可包含有線電視盒、個人電腦、網路、電話、有網際網路能力之器件或能夠遞送數位資訊及/或內容之器具,及能夠經由網路760或直接地在內容提供者與平台702及/或顯示器720之間單向或雙向地傳達內容的任何其他類似器件。應瞭解,可經由網路760單向及/或雙向地傳達內容至系統700中之組件中的任一者及內容提供者且自系統700中之組件中的任一者及內容提供者傳達內容。內容之實例可包括任何媒體資訊,包括,舉例而言,視訊、音樂、醫療及遊戲資訊,等等。
內容服務器件730接收內容,諸如包括媒體資訊、數位資訊及/或其他內容的有線電視節目。內容提供者之實例可包括任何有線或衛星電視或者無線電或網際網路內容提供者。所提供之實例並不意謂限制本發明之實施例。
在實施例中,平台702可自具有一或多個導覽特徵之導覽控制器750接收控制信號。舉例而言,控制器750之導覽特徵可用以與使用者介面722互動。在實施例中,導覽控制器750可為一可係電腦硬體組件(具體而言人性化介面器件)的指標器件,該指標器件允許使用者將空間(例如,連續及多維)資料輸入至電腦中。諸如圖形使用者介面(GUI)以及電視及監視器之許多系統允許使用者使用實
體姿勢來控制電腦或電視並提供資料至電腦或電視。
控制器750之導覽特徵的移動可在顯示器上由顯示於顯示器(例如,顯示器720)上之指標、游標、聚焦環(focus ring)或其他視覺指示器的移動而重複。舉例而言,在軟體應用程式716之控制下,位於導覽控制器750上之導覽特徵可,舉例而言,映射至顯示於使用者介面722上之虛擬導覽特徵。在實施例中,控制器750可能並非分離組件,而是被整合至平台702及/或顯示器720中。然而,實施例並不限於該等元件或本文中所展示或描述之背景。
舉例而言,在實施例中,驅動器(圖中未示)可包含技術,該技術使得使用者能夠在初始啟動之後在該功能被啟用時,藉由觸碰按鈕而立即開啟及關閉類似電視的平台702。當平台「關閉」時,程式邏輯可允許平台702將內容串流傳輸至媒體配接器或其他內容服務器件730或內容遞送器件740。此外,例如,晶片集705可包含對5.1環場音效音訊及/或高清晰度7.1環場音效音訊之硬體及/或軟體支援。驅動器可包括針對整合式圖形平台之圖形驅動器。在實施例中,圖形驅動器可包含周邊組件互連(PCI)快速圖形卡。
在各種實施例中,可整合展示於系統700中之組件中的任何一或多者。舉例而言,可整合平台702與內容服務器件730,或可整合平台702與內容遞送器件740,或可整合(例如)平台702、內容服務器件730及內容遞送器件740。在各種實施例中,平台702及顯示器720可為整合式單元。舉例而言,可整合顯示器720與內容服務器件730,或可整合顯示器720與內容遞送器件740。此等實例並不意謂限制本發明。
在各種實施例中,系統700可實施為無線系統、有線系統
或前述兩種系統之組合。當實施為無線系統時,系統700可包括適用於經由無線共用媒體進行通訊的組件及介面,諸如一或多個天線、傳輸器、接收器、收發器、放大器、濾波器、控制邏輯,等等。無線共用媒體之實例可包括無線頻譜之數個部分,諸如RF頻譜,等等。當實施為有線系統時,系統700可包括適用於經由有線通訊媒體進行通訊的組件及介面,諸如輸入/輸出(I/O)配接器、連接I/O配接器與對應有線通訊媒體之實體連接器、網路介面卡(NIC)、碟片控制器、視訊控制器、音訊控制器,等等。有線通訊媒體之實例可包括導線、纜線、金屬引線、印刷電路板(PCB)、底板、交換網狀架構、半導體材料、雙絞線、同軸電纜、光纖,等等。
平台702可建立一或多個邏輯或實體頻道以傳達資訊。資訊可包括媒體資訊及控制資訊。媒體資訊可係指表示意謂用於使用者之內容的任何資料。內容之實例可包括例如來自語音對話、視訊會議、串流視訊、電子郵件(「email」)訊息、語音郵件訊息、文數字符號、圖形、影像、視訊、文字等等的資料。來自語音對話之資料可為,舉例來說,話音資訊、靜默週期、背景雜訊、人為背景雜訊、鈴聲,等等。控制資訊可係指表示意謂用於自動化系統之命令、指令或控制字的任何資料。舉例而言,控制資訊可用以經由系統投送媒體資訊,或指令節點以預定方式來處理媒體資訊。然而,實施例並不限於該等元件或圖3中所展示或描述之背景。
如上文所描述,系統700可以不同實體樣式或外觀造型規格來體現。圖4例示系統700可體現於其中之小外觀造型規格器件800的實施例。在實施例中,例如,器件800可實施為具有無線能力之行動計算器件。舉例而言,行動計算器件可係指具有處理系統及
行動電源或電源供應器,諸如一或多個電池的任何器件。
如上文所描述,行動計算器件之實例可包括個人電腦(PC)、膝上型電腦、超級膝上型電腦、平板電腦、觸控板、攜帶型電腦、手持型電腦、掌上型電腦、個人數位助理(PDA)、蜂巢式電話、組合蜂巢式電話/PDA、電視、智慧型器件(例如,智慧型手機、智慧型平板電腦或智慧型電視)、行動網際網路器件(MID)、傳訊器件、資料通訊器件,等等。
行動計算器件之實例亦可包括經配置以供個人穿戴之電腦,諸如腕型電腦、手指式電腦、戒指電腦、眼鏡電腦、帶夾電腦、臂章電腦、鞋型電腦、衣服電腦,及其他可穿戴電腦。在實施例中,例如,行動計算器件可實施為能夠執行電腦應用程式以及語音通訊及/或資料通訊的智慧型手機。儘管可藉由實施為例如智慧型手機的行動計算器件來描述一些實施例,但應瞭解,亦可使用其他無線行動計算器件來實施其他實施例。實施例並不受限於此背景。
如圖5中所展示,器件800可包含外殼802、顯示器804、輸入/輸出(I/O)器件806及天線808。器件800亦可包含導覽特徵812。顯示器804可包含用於顯示對於行動計算器件適當之資訊的任何合適顯示單元。I/O器件806可包含用於將資訊鍵入至行動計算器件中之任何合適I/O器件。I/O器件806之實例可包括文數字鍵盤、數字小鍵盤、觸控板、輸入鍵、按鈕、開關、搖臂開關、麥克風、揚聲器、語音辨識器件及軟體,等等。資訊亦可藉由麥克風之方式輸入至器件800中。此資訊可由語音辨識器件來數位化。實施例並不受限於此背景。
可使用硬體元件、軟體元件或前述兩者之組合來實施各種
實施例。硬體元件之實例可包括處理器、微處理器、電路、電路元件(例如,電晶體、電阻器、電容器、電感器,等等)、積體電路、特殊應用積體電路(ASIC)、可規劃邏輯器件(PLD)、數位信號處理器(DSP)、場可規劃閘陣列(FPGA)、邏輯閘、暫存器、半導體器件、晶片、微型晶片、晶片集,等等。軟體之實例可包括軟體組件、程式、應用程式(application)、電腦程式、應用程式(application program)、系統程式、機器程式、作業系統軟體、中間體、韌體、軟體模組、常式、子常式、函式、方法、程序、軟體介面、應用程式介面(API)、指令集、計算程式碼、電腦程式碼、碼段、電腦碼段、字、值、符號或其任何組合。判定實施例是否使用硬體元件及/或軟體元件來實施可根據任何數目個因素而發生變化,諸如所要計算速率、功率位準、耐熱性、處理循環預算、輸入資料速率、輸出資料速率、記憶體資源、資料匯流排速度,及其他設計或效能約束。
至少一個實施例之一或多個態樣可由儲存於機器可讀媒體上之代表性指令來實施,其表示處理器內之各種邏輯,在由機器讀取時使得機器製造邏輯以執行本文中所描述之技術。稱作「IP核心」之此等表示可儲存於有形機器可讀媒體上,且供應至各種客戶或製造設施以載入至實際製造出邏輯或處理器的製造機器中。
可以各種硬體架構來實施本文中所描述之圖形處理技術。舉例而言,圖形功能性可整合於一晶片集內。替代性地,可使用離散圖形處理器。作為又一實施例,圖形功能可由包括多核心處理器之通用處理器實施。
貫穿本說明書對「一個實施例」或「一實施例」之提及意謂:結合實施例所描述之特定特徵、結構或特性包括於涵蓋於本發
明內之至少一實施中。因此,片語「一個實施例」或「在一實施例中」之顯現不一定係指同一實施例。此外,特定特徵、結構或特性可以不同於所例示之特定實施例的其他合適形式來設立,且所有此等形式可涵蓋於本申請案之申請專利範圍內。
雖然已關於有限數目個實施例描述了本發明,但熟習此項技術者將瞭解來自前述實施例之眾多修改及變化。意欲附加申請專利範圍涵蓋如屬於本發明之真實精神及範疇內的所有此等修改及變化。
20‧‧‧保守深度比較模組
28‧‧‧比較模組
30、32‧‧‧分離快取記憶體
Claims (22)
- 一種用於深度緩衝之方法,其包含下列步驟:在一圖形處理單元中將構成一深度值的數個位元分裂成較高及較低有效位元;以判定一傳入深度值之該等較高有效位元是否小於以底限捨位所儲存的一已儲存深度值之該等較高有效位元之方式,僅使用該等較高有效位元來初步地進行一深度緩衝分析;以及判定該傳入深度值是否小於以底限捨位被量化為相等於最高有效位元的一數量之位元的來自該深度緩衝器之一深度值,且在其情況下,更新該深度緩衝器,且若該傳入深度值係大於以頂值捨位被量化為該數量之最高有效位元的該深度緩衝器中之深度值,則因為保證該傳入深度值要被由該深度緩衝器之內容所閉塞而判定深度測試失敗,並且若以底限捨位的來自該深度緩衝器之該深度值係小於或等於該傳入深度值或該傳入深度值係小於或等於以頂值捨位的深度值,則使用該最小有效位元以解決深度測試。
- 如請求項1之方法,其包括僅在藉由該等較高有效位元進行之該深度分析係為非決定因子情況下使用該等較低有效位元。
- 如請求項1之方法,其包括執行一小於深度測試。
- 如請求項1之方法,其包括偵測使用該等較低有效位元的該深度測試是否係為決定因子。
- 如請求項4之方法,其包括若係為非決定因子,則不執行記憶體更新。
- 如請求項4之方法,其包括若係為決定因子,則將該等較低有效位元寫入至一快取記憶體中。
- 如請求項6之方法,其包括不儲存該等較高有效位元。
- 如請求項1之方法,其包括使用該深度值之八個位元作為該等較高有效位元。
- 一種儲存有指令之一或多個非暫時性電腦可讀媒體,該等指令由一處理器執行以執行包含以下的一序列操作:在一圖形處理單元中將構成一深度值的數個位元分裂成較高及較低有效位元;以判定一傳入深度值之該等較高有效位元是否小於以底限捨位所儲存的一已儲存深度值之該等較高有效位元之方式,僅使用該等較高有效位元來初步地進行一深度緩衝分析;以及判定該傳入深度值是否小於以底限捨位被量化為相等於最高有效位元的一數量之位元的來自該深度緩衝器之一深度值,且在其情況下,更新該深度緩衝器,且若該傳入深度值係大於以頂值捨位被量化為該數量之最高有效位元的該深度緩衝器中之深度值,則因為保證該傳入深度值要被由該深度緩衝器之內容所閉塞而判定深度測試失敗,並且若以底限捨位的來自該深度緩衝器之該深度值係小於或等於該傳入深度值或該傳入深度值係小於或等於以頂值捨位的深度值,則使用該最小有效位元以解決深度測試。
- 如請求項9之媒體,其進一步儲存有指令以執行包括以下之序列操作:僅在藉由該等較高有效位元進行之該深度分析係為非決定因子情況下使用該等較低有效位元。
- 如請求項9之媒體,其進一步儲存有指令以執行包括以下之序列操作:執行一小於深度測試。
- 如請求項9之媒體,其進一步儲存有指令以執行包括以下之序列操作:偵測使用該等較低有效位元的該深度測試是否係為決定因子。
- 如請求項12之媒體,其進一步儲存有指令以執行包括以下之序列操作:若係為非決定因子,則不執行記憶體更新。
- 如請求項9之媒體,其進一步儲存有指令以執行包括以下之序列操作:若係為決定因子,則將該等較低有效位元寫入至一快取記憶體中。
- 如請求項14之媒體,其進一步儲存有指令以執行包括以下之序列操作:不儲存該等較高有效位元。
- 如請求項9之媒體,其進一步儲存有指令以執行包括以下之序列操作:使用該深度值之八個位元作為該等較高有效位元。
- 一種圖形處理單元,其包含:一核心,其將深度值位元分裂成較高有效位元之一第一群組及較低有效位元的一第二群組,接著以判定一傳入深度值之該等較高有效位元是否小於以底限捨位所儲存的一已儲存深度值之該等較高有效位元之方式,僅使用該第一群組來分析深度緩衝,判定該傳入深度值是否小於以底限捨位被量化為相等於最高有效位元的一數量之位元的來自該深度緩衝器之一深度值,且在其情況下,更新該深度緩衝器,且若該傳入深度值係大於以頂值捨位被量化為該數量之最高有效位元的該深度緩衝器中之深度值,則因為保證該傳入深度值要被由該深度緩衝器之內容所閉塞 而判定深度測試失敗,並且若以底限捨位的來自該深度緩衝器之該深度值係小於或等於該傳入深度值或該傳入深度值係小於或等於以頂值捨位的深度值,則使用該最小有效位元以解決深度測試;以及一耦接至該核心的記憶體。
- 如請求項17之單元,該核心在藉由該等較高有效位元進行之該深度分析係為非決定因子情況下使用該等較低有效位元。
- 如請求項17之單元,該核心偵測使用該等較低有效位元的該深度測試是否為決定因子。
- 如請求項19之單元,若係為非決定因子,則該核心不執行記憶體更新。
- 如請求項19之單元,若係為決定因子,則該核心將該等較低有效位元寫入至一快取記憶體中。
- 如請求項17之單元,該核心使用該深度值之八個位元作為該等較高有效位元。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/681,614 US9665973B2 (en) | 2012-11-20 | 2012-11-20 | Depth buffering |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201424356A TW201424356A (zh) | 2014-06-16 |
TWI535277B true TWI535277B (zh) | 2016-05-21 |
Family
ID=50727500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102141238A TWI535277B (zh) | 2012-11-20 | 2013-11-13 | 用於深度緩衝之方法、設備及系統 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9665973B2 (zh) |
CN (1) | CN104756150B (zh) |
DE (1) | DE112013004618T5 (zh) |
TW (1) | TWI535277B (zh) |
WO (1) | WO2014081473A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160054563A9 (en) * | 2013-03-14 | 2016-02-25 | Honda Motor Co., Ltd. | 3-dimensional (3-d) navigation |
US9164281B2 (en) | 2013-03-15 | 2015-10-20 | Honda Motor Co., Ltd. | Volumetric heads-up display with dynamic focal plane |
US10215583B2 (en) | 2013-03-15 | 2019-02-26 | Honda Motor Co., Ltd. | Multi-level navigation monitoring and control |
US9251715B2 (en) | 2013-03-15 | 2016-02-02 | Honda Motor Co., Ltd. | Driver training system using heads-up display augmented reality graphics elements |
US9747898B2 (en) | 2013-03-15 | 2017-08-29 | Honda Motor Co., Ltd. | Interpretation of ambiguous vehicle instructions |
US10339711B2 (en) | 2013-03-15 | 2019-07-02 | Honda Motor Co., Ltd. | System and method for providing augmented reality based directions based on verbal and gestural cues |
US9378644B2 (en) | 2013-03-15 | 2016-06-28 | Honda Motor Co., Ltd. | System and method for warning a driver of a potential rear end collision |
US9393870B2 (en) | 2013-03-15 | 2016-07-19 | Honda Motor Co., Ltd. | Volumetric heads-up display with dynamic focal plane |
US9552620B2 (en) | 2014-06-30 | 2017-01-24 | Intel Corporation | Depth offset compression |
US10380789B2 (en) * | 2016-09-16 | 2019-08-13 | Intel Corporation | Method and apparatus for efficient depth prepass |
US11417065B2 (en) | 2019-10-29 | 2022-08-16 | Magic Leap, Inc. | Methods and systems for reprojection in augmented-reality displays |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5844571A (en) * | 1996-06-10 | 1998-12-01 | International Business Machines Corporation | Z buffer bandwidth reductions via split transactions |
US6633298B2 (en) * | 1999-07-31 | 2003-10-14 | Hewlett-Packard Development Company, L.P. | Creating column coherency for burst building in a memory access command stream |
US6498605B2 (en) | 1999-11-18 | 2002-12-24 | Intel Corporation | Pixel span depth buffer |
US6677945B2 (en) | 2001-04-20 | 2004-01-13 | Xgi Cayman, Ltd. | Multi-resolution depth buffer |
JP2003099250A (ja) * | 2001-09-20 | 2003-04-04 | Oki Electric Ind Co Ltd | レジスタ読み出し回路及びマイクロプロセッサ |
FR2841013B1 (fr) * | 2002-06-12 | 2004-09-03 | Mbda France | Procede et systeme de gestion des evenements |
US7202867B1 (en) * | 2003-01-31 | 2007-04-10 | Microsoft Corporation | Generation of glow effect |
ATE383627T1 (de) | 2004-11-19 | 2008-01-15 | Ericsson Telefon Ab L M | Verfahren und vorrichtung zur erzeugung dreidimensionaler bilder |
CN100551021C (zh) * | 2007-09-24 | 2009-10-14 | 威盛电子股份有限公司 | 像素色彩值数据决定装置与方法 |
US8106914B2 (en) * | 2007-12-07 | 2012-01-31 | Nvidia Corporation | Fused multiply-add functional unit |
US8878849B2 (en) | 2007-12-14 | 2014-11-04 | Nvidia Corporation | Horizon split ambient occlusion |
JP5278441B2 (ja) * | 2008-12-04 | 2013-09-04 | 富士通株式会社 | 記憶装置および故障診断方法 |
CN101729919B (zh) * | 2009-10-30 | 2011-09-07 | 无锡景象数字技术有限公司 | 基于fpga的全自动平面视频转立体视频系统 |
EP2513795B1 (en) * | 2009-12-16 | 2014-03-12 | SanDisk IL Ltd | Auxiliary parity bits for data written in multi-level cells |
US8565522B2 (en) * | 2010-05-21 | 2013-10-22 | Seiko Epson Corporation | Enhancing color images |
CN103518227B (zh) | 2011-04-28 | 2017-09-15 | 英特尔公司 | 用于随机运动模糊栅格化的深度缓冲器压缩 |
AU2011203169C1 (en) * | 2011-06-29 | 2014-07-17 | Canon Kabushiki Kaisha | Compression of high bit-depth images |
US10019353B2 (en) * | 2012-03-02 | 2018-07-10 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for referencing data on a storage medium |
-
2012
- 2012-11-20 US US13/681,614 patent/US9665973B2/en active Active
-
2013
- 2013-06-27 DE DE112013004618.0T patent/DE112013004618T5/de not_active Withdrawn
- 2013-06-27 WO PCT/US2013/048058 patent/WO2014081473A1/en active Application Filing
- 2013-06-27 CN CN201380054751.5A patent/CN104756150B/zh not_active Expired - Fee Related
- 2013-11-13 TW TW102141238A patent/TWI535277B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
WO2014081473A1 (en) | 2014-05-30 |
US20140139524A1 (en) | 2014-05-22 |
CN104756150B (zh) | 2018-07-24 |
TW201424356A (zh) | 2014-06-16 |
DE112013004618T5 (de) | 2015-06-03 |
US9665973B2 (en) | 2017-05-30 |
CN104756150A (zh) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI535277B (zh) | 用於深度緩衝之方法、設備及系統 | |
JP6504212B2 (ja) | 装置、方法およびシステム | |
TWI582751B (zh) | 避免發送未改變區域至顯示器之技術 | |
TWI517086B (zh) | 用於去耦取樣為主描繪管線之低功率質心決定及紋理覆蓋區最佳化 | |
US9251731B2 (en) | Multi-sampling anti-aliasing compression by use of unreachable bit combinations | |
US9443347B2 (en) | Time-continuous collision detection using 3D rasterization | |
TWI595439B (zh) | 鑲嵌後邊緣快取 | |
TWI615807B (zh) | 用於記錄在輸入幾何物件粒度上的可視度測試之結果的方法、設備及系統 | |
JP2019057320A (ja) | 方法、コンピュータプログラム、コンピュータ可読記録媒体および装置 | |
US9262841B2 (en) | Front to back compositing | |
WO2013180729A1 (en) | Rendering multiple remote graphics applications | |
TWI502539B (zh) | 用於隨機柵格化之使用線性邊界的淘汰技術 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |