專利名稱:用于二進制圖像分類及分割的方法和設備的制作方法
用于二進制圖像分類及分割的方法和設備技術領域
要求權益的本發(fā)明的實現(xiàn)一般可涉及用于二進制圖像分類和分割的方案,特別是涉及射線跟蹤期間射線的分類。
背景技術:
二進制分類任務可包括將給定對象分離成兩組, 一組處 理某些性質,而另一組則不是。 一些典型的應用可包括決策、圖像分 割、數(shù)據(jù)壓縮、計算機視覺、醫(yī)療測試和質量控制。存在二進制分類 的多種方法,包括但不限于決策樹、貝葉斯網(wǎng)絡、支持向量機和神經(jīng) 網(wǎng)絡。在一些應用中,多次、有時數(shù)百萬次執(zhí)行分類,并且二進制判 定包括選擇兩個可能性其中之一1)組中的所有對象具有某種性質; 以及2)組中存在具有不同性質的至少兩個對象。在一些實現(xiàn)中,圖像 處理問題可要求判定一組像素是否具有某種性質。例如, 一組像素是 否具有相似顏色或者屬于同 一個對象。
用于解決全局照明問題的一種技術涉及跟蹤射線、即確 定射線與給定幾何形狀之間的交點。射線跟蹤是一種用于對與各種介 質中的波傳播相關的各種物理現(xiàn)象建才莫的常規(guī)方式。例如,可將它用 于在真實性計算機圖形學中計算照明解決方案、用于無線通信中的復 雜環(huán)境信道建才莫、高級音頻應用中的傲銳(aureal)渲染等。
在全局照明任務中,可將場景的三維描述(包括幾何對 象、材料性質、光等)轉換成適合在計算機監(jiān)視器上顯示或者進行硬拷 貝(打印或鍍膜)的二維表示??赡苡欣氖牵餐幚砩渚€組,從而 利用現(xiàn)代計算機的單指令多數(shù)據(jù)(SIMD)能力。根據(jù)給定的射線組的某 個二進制分類,可使用不同的處理方法。在一些實現(xiàn)中,二進制分類6200680046816. 1說明書第2/12頁可以是射線跟蹤射線束中的初始步驟。為了實現(xiàn)全局照明的大量應用 所需的實時性能,優(yōu)選地極快執(zhí)行該分類步驟。
結合在本說明中并構成其組成部分的附圖示出符合本發(fā) 明的原理的一個或多個實現(xiàn),并且與描述一起用于說明這類實現(xiàn)。附 圖不一定按照比例繪制,重點是在于說明本發(fā)明的原理。附圖包括
圖1示出從照相機通過屏幕像素到場景中的對象所跟蹤 的示范性的多條射線;
圖2示出射線跟蹤的一個示范性過程;
圖3示出分離不相干射線組的一個示范性過程;
圖4在概念上示出對于各坐標(x、y和z)具有不同射線方 向的示范性的 一組4 x4像素;
圖5示出使用流式SIMD擴展(S.S.E.)指令來分離不相干 射線組的一個示范性過程;
圖6示出檢測給定的射線組中的相干性的一個示范性過程;
圖7示出在S.S.E.實現(xiàn)中分離不相干射線組以便進行進 一步處理的一個示范性過程;
圖8示出一種包括圖像分類和分割邏輯的示范性計算機 系統(tǒng)。
具體實施方式
以下詳細描述參照附圖。在不同附圖中可^f吏用相同的參 考標號來標識相同或相似的要素。為了便于說明而不是進行限制,以 下描述中闡述了諸如特定結構、體系結構、接口、技術等具體細節(jié), 以便提供對要求權益的本發(fā)明的各個方面的充分理解。然而,獲益于 本公開的本領域的技術人員將會清楚地知道,也可在背離這些具體細節(jié)的其它示例中實施要求權益的本發(fā)明的各個方面。在某些情況下, 省略對公知的設備、電路和方法的描述,以免不必要的細節(jié)妨礙對本 發(fā)明的描述。
在一些實現(xiàn)中,并且為了便于本文進行說明,使用射線跟蹤術語和示例來論述本發(fā)明的實施例。本發(fā)明的實施例不限于射線跟蹤。任何特定SIMD實現(xiàn)也不是唯一可行的。本領域的技術人員可 對不同的SIMD體系結構實現(xiàn)所描述的算法。 射線投射
本文所使用的"射線投射"又稱作射線跟蹤,可將它理解 為表示一種用于確定從沿特定視線的所選點什么是可見的技術。在一 些配置中,射線可以是在由位置向量所描述的空間中的點上始發(fā)的無 限長的半直線,它沿方向向量從所迷點傳播。通過/人射線的位置向量 描述的有利點、沿射線的方向向量描述的視線引導一條或多條射線, 在計算機圖形學中可使用射線跟蹤來確定可見性。確定沿那個視線的 最近可見表面的位置要求對于與虛擬場景中的所有幾何形狀的交點來 有效地測試該射線并保留最近的交點。
圖1示出從照相機102通過屏幕像素104到場景106中 的對象所跟蹤的多條射線的一個示范性實施例100。如圖所示,九組 4x4射線108表示為在幾何上是分離的。雖然為了便于說明而表示為 以某種方式來配置,但是,可通過其它配置來實現(xiàn)圖1的實施例。在 一些實現(xiàn)中,根據(jù)算法的復雜度,在初級眼射線撞擊場景中的某些對 象之后,可生成次級射線。次級射線可包括但不限于陰影射線(場景中 的光的方向上發(fā)射的)、反射射線、折射射線以及其它某些類型的射線。 在一些實現(xiàn)中,通過從沿計算軌跡的命中點生成次級射線,可使用射 線跟蹤來計算光學上正確的陰影、反射或折射。因此,典型場景的渲 染可包括跟蹤數(shù)百萬條射線,并且可同時處理多個數(shù)據(jù)流。為了利用 這些能力,共同處理射線組可能;^有利的。處理器特定指令、如流式 單指令/多數(shù)據(jù)(SIMD)擴展(S.S.E.)指令可允許同時處理四個浮點或整數(shù)。
圖2示出射線跟蹤的一個示例過程200。雖然為了便于 清楚地進行說明,可針對圖1的實施例100來描述圖2, ^f旦是應當理 解,可通過其它硬件和/或軟件實現(xiàn)來執(zhí)行過程200。
最初可生成射線組(射線4殳射)(動作202)。在一些實現(xiàn)中, 如同圖l中那樣,可將通過相鄰像素的射線集中在一起。當射線大部 分一起通過場景時,可以更有效地執(zhí)行遍歷算法。但是,在幾個交互 作用之后,這些射線可使相干性變得松散,特別是在組中的射線與不 同對象相交時。
可確定各射線的始發(fā)點(眼位)和方向(動作204)。在一些 實現(xiàn)中,始發(fā)點可表示為5 -(ox,oy,oz),并且方向可表示為 3=(dx,dy,dz)。目艮射線可在照相機的投影中心始發(fā),并通過圖像平面的 像素??墒褂脭?shù)字下標來區(qū)分不同的坐標(代替x、 y和z)。例如,射 線方向可表示為^Kd
,d[l,d[2])。還將使用下標i來指明組中的不同 射線(例如,對于4x4射線組中的所有射線,i-1...16)。
可確定射線組的相干性(動作206)。在一些實施例中,可 按照下式(l)來確定相干性(所有dxi>0或所有cbqO)與(所有dyi>0或所有dy^O)與(所有dz^O 或所有dZl<0) 等式(l)其中,i從l到N, N二分組中的射線數(shù)量
如果確定所有射線對于各坐標x、 y和z以相同方向(正或者負)傳播(動作208),則可確定該組相干(動作210)。如果所有射線對于各坐標x、 y和z不是以相同方向傳播(動作208),則可認為該組不相干(動作212)。在一些實現(xiàn)中,可通過與相干的射線組不同的方式來遍歷不相干的射線組。在等式(l)中不可定義精確的等同性。例如, 可將其中某些方向坐標為零的一組作為不相干組來處理。分離算法
在一些實現(xiàn)中,在全局照明任務中創(chuàng)建的射線分組的大部分將會是相干的。但是,當分組中存在大量射線時,分組中的射線 的一部分可能在不同方向上傳播,也就是不相干的。如圖1所示,可利用分為四行、每行四個像素的大小十六的分組。為了進行說明,圖3示出使用這個分組配置來分離不相干射線組的一個示例過程300。雖 然為了便于清楚地進行說明,可針對圖1的實施例100來描述圖3, 但是應當理解,可通過其它硬件和/或軟件實現(xiàn)來執(zhí)行過程100。
最初確定一組是否相干(動作302)。在一些實現(xiàn)中,這可 按照上式(l)或其它某種方式來確定。
如果確定該組;^相干的(動作302),則可將該組作為整體 來處理(動作304)。
如果確定該組是不相干的(動作302),則可根據(jù)相干性質 將該組分成小組(動作306)。由于示例中的各坐標可產(chǎn)生兩個分離的方 向,所以可能具有八個不同的小組。
對于各小組(動作308),可獨立執(zhí)行射線跟蹤算法(動作 310)。
然后合并結果(動作310)。這個步驟包括將相交數(shù)據(jù)從各 個d、組復制到原始組,其中相交數(shù)據(jù)可包括到交點的距離以及各射線 的相交對象的標識符。
本領域的技術人員會知道,可通過任何高級語言以及通 過支持射線跟蹤期間所處理的數(shù)據(jù)量的方式來實現(xiàn)算法300的實施 例。S.S.E.實現(xiàn)
圖4在概念上示出對于各坐標(x、y和z)具有不同射線方 向的示范性的一組400的4x4像素(402)。具體來"^兌,示出4x4射線組 的方向符號及其緊湊S.S.E.布局404。區(qū)域406表示正方向,區(qū)域408 表示負方向。
圖5示出將射線方向數(shù)據(jù)重組為適合S.S.E.指令的格式 的一個示例過程500。雖然為了便于清楚地進行說明,可針對圖4的實施例400來描述圖5,但是應當理解,可通過其它硬件和/或軟件實 現(xiàn)來執(zhí)行過程500。例如,除了加速射線跟蹤之外,需要處理大量數(shù) 據(jù)的其它應用、例如圖像分割和分類問題也可從中獲益。
最初可通過不適合于S.S,E.實現(xiàn)的格式來存^諸數(shù)據(jù)(動作 502)。在一些實現(xiàn)中,可將各原點和方向向量表示為三個浮點數(shù)(每個 坐標一個)。基于此,可依次存儲所有向量(動作502),如下面所示I dy! I dzi I dx2 | dy2 | dz2 | dx3 | dy3 | dz3 | dx4 I dy4 | dz4
在這個實現(xiàn)中,該布局表示存儲4個方向向量^、 32、 ^和^4(4x4組中的第一行)。但是,在一些實現(xiàn)中,這種才各式對于四 向SIMD處理可能不是理想的,因為各S.S.E.數(shù)可包含不同向量的元 素(第一個中的(dxhdy!,dzhdx2),依此類推)。為了充分利用S.S.E.單元 的處理能力,可按照以下方式重新排列數(shù)據(jù)(動作504):dirfO則di側[l]dir則2]dxi 1 dx2 dx3 1 dx^dy、 1 dy2 | dy3 | dy4dz, 1 dz2 dz3 1
以上示出三個同質S.S.E.向量dir[O][O]、 dk[O][l]和 dir
[2]。具體來說,在dir[i][j]中,指數(shù)i表示行(從0到3),而指數(shù)j 表示坐標(x、 y和z)。
在一個實現(xiàn)中,可將圖4中16條射線的數(shù)據(jù)404連續(xù)存 儲在存儲器中,因此dir
[2]之后緊接dir[1]
,依此類推。各dir[i][j] 數(shù)可占用16個字節(jié)(4x32位),因此,可能需要總共16x3x4=192個字 節(jié)來存^f諸整個4x4組的方向向量。才艮據(jù)上述過程300且如圖3所示, 最初確定分組中的所有射線是否相干。參照圖4,這將對應于具有區(qū) 域406或者408的所有x、 y和z扇區(qū)。
圖6示出使用S.S.E.指令來測試射線組的相千性的一個 示例過程600,并實現(xiàn)圖2的實施例206。雖然為了便于清楚地進行說 明,可針對圖4的實施例400來描述圖6,但是應當理解,可通過其 它硬件和/或軟件實現(xiàn)來執(zhí)行過程600。例如,該過程可使用各種操作 來實現(xiàn),其中包括但不限于MOVMSKPS(創(chuàng)建符號位的四位掩碼)操ii作。為了進行說明,可使用例如IA-32 Intel⑧架構軟件開發(fā)人員手冊 (http:〃www.intel.com/design/Pentium4/manuals/25366513.pdf)中公開的 S.S.E.固有指令。
過程600檢查給定分組中所有射線的x、 y和z方向。為 了便于清楚地說明,對于包含4行、每行4個射線的分組來描述這個 方面。應當理解,可對于更大或更小的射線組來實現(xiàn)過程600。
最初可計算四位掩碼cm[O],它存儲第一行射線的x方向 的符號(動作610)。這可實現(xiàn)為cm[O] =—mm—movemask_ps(dir
)
然后可測試掩碼cm[O],以便檢測x方向的相干性(實施 例612)。如果所有x方向為正(在這種情況下,cm
等于O)或者負(cm[O] 為15),則控制轉到動作620。否則,可將整個射線組作為不相干組來 處理(動作660,它對應于圖2的實施例212)。
類似地,在動作620, y方向的掩碼可計算為cm[l] = —mm—moveiaask_ps (dir
[1〗)并且可在動作622執(zhí)行相干性測試。
對于z方向,在動作630,掩碼可計算為cm〖2] = —mm—movemask^ps(dir
[2]》并且可在動作632執(zhí)行相干性測試。
對于其它所有行(例如由dir[l]、 dir[2]和dir[3]表示),可 將方向掩碼與第一行已經(jīng)發(fā)現(xiàn)的掩碼cm[j]進行比較。為了使整組^L相 干的,各方向的這些掩碼必須3_相同的??刹捎靡韵聹y試(^于于x方向) 來實現(xiàn)if (crft[O] mm—饑ovemaslc一ps tdi:r[l〗
)) gotoprocess—incoherent—groupz // 660if (cni〖0] !-—mm—movemaskjs (dir [2]
)和z方向(cm[2])來執(zhí)行類似測試??稍趧幼?40進行這些計算。如果發(fā)現(xiàn)組是不相干的,則執(zhí)行繼續(xù)進行到 動作660,否則,在動作650,將組作為相干組來處理。
圖7示出在S.S.E.實現(xiàn)中使用S.S.E.指令來分離不相干射 線組以便在S.S.E.實現(xiàn)中進行進一步處理的一個示例過程700。逸只于應 于圖6的實施例660。雖然為了便于清楚地進行說明,可針對圖4的 實施例400來描述圖7,但是應當理解,可通過其它硬件和/或軟件實 現(xiàn)來執(zhí)行過程700。為了進行示范,對于例如圖4所示的4x4射線分 組之類的射線分組的各行來執(zhí)行這個過程。
可根據(jù)逐行過程來執(zhí)行過程700??蓪⒏餍蟹譃橄嗲?組。這可通過創(chuàng)建掩碼(邏輯S.S.E.值)來實現(xiàn),其中掩碼對于屬于當前 小組的射線包含l,而對于其它射線包含O??赡艿氖?,該行中的全部 4個射線以不同方向前進,因而需要創(chuàng)建4個小組。還可能的是,某 個行中的全部射線將是相千的,因此僅可創(chuàng)建一個小組。 一種常見情 況是當該行中存在一個或兩個小組時的情況。以下描述并且圖7所示 的過程可針對這個常見情況。參照圖4,行0和1是相干的(對于行O 為全部正方向,對于行l(wèi)為匹配方向),行2具有兩個小組,而行3包 含三個小組。
對于各行,在動作702,確定哪些射線以與該行(對應于 指數(shù)O)的第一射線相同的方向前進。這可通過將各坐標x、 y和z的各 個掩碼與第 一射線的適當掩碼(通過使用下面的重排運算符(shuffling 叩erator)來獲得)進行比較來實現(xiàn)。返回四個相同的值,然后可將它們 與整個掩碼進行比較。這可通過執(zhí)行以下6個操作來實現(xiàn)<formula>formula see original document page 13</formula>因此,對于匹配第一射線的方向的所有方向,邏輯變量中的適當條目(對于x方向為m[O],對于y為m[l],以及對于z為m[2])將完全 為零(包含全0)。
在動作704,可處理在動作702確定為以與第一射線相 同的方向前進的所有射線。這可對于變量mact對其保持為1的所有射 線來扭J亍mall = —mm—or_ps (一mm—or_ps (m[O,m[2]); //如果與笫 一個不 同,則為1mact = —mm—andnot^ps (mall' sse—true). 〃 sse true包^"全1
如果如動作706所確定的、在該行中不存在不相干射線, 則可取下一行(動作720)。這可通過將—mm—movemaskjs(mall)與0進 行比較而測試上述變量mall的符號位來確定。如果為真,則給定行中 不存在不相干射線。
否則,如果在動作706確定存在不相千射線,則確定在 該行中是否正好存在僅在一個方向上不同的2個小組(動作708)。這可 通過檢驗對于j=l,2,3、只有一個—mm—movemaskj)s(m[j])值是非零值來 實現(xiàn)。
如果在動作708 4企測到正好存在兩個小組,則在動作710 處理第二小組。例如,這可對于變量mall對其保持為1的所有射線來 執(zhí)行。
否則(動作712),可識別和處理給定行中的所有可能的小 組。這可通過使用值m[O]、 m[l]和m[2]構成各種掩碼、并在處理給定 行時使用這些掩碼來實現(xiàn),但是僅當掩碼中存在非零成分時進行。這 些是7個掩碼值,從而產(chǎn)生所有可能的小組(除了以上定義的一個之 外)iuact —n\m—andjps (一mm一.anxi—ps (m〖0〗,m[i;i) , m[2]〉inact —n m_arici_jps (一mm一anclnot^ps (m〖0], m[l〗>,m[2]〉mact —mm—and一ps (一mm—andnot一ps (m〖1], m[O]), m〖2])iaact - —mm—and一ps (_mm—arvclnot_ps (m〖2], m〔0〗),mact 。 —ram—andnot—ps (m[O],— 鵬—andLnot—ps (ra[2,ra[l]〉) iaac七《 ^jmm一ancinot^ps (in[O] , 一rara一andnot一ps , m[2〗)》iaact 一mra一andnotjp3 (m〖1] , —mm—andnot—ps <m[2I, m[O〗》)產(chǎn)生所有可能小組的其它邏輯表達式也是可行的。
在典型實現(xiàn)中,過程700有效地處理最普遍情況中的兩種1) 行中的所有4個射線是相干的0又需要處理一個小組)。2) 只有一個坐標(x、 y或z)產(chǎn)生不相干值。在這種情況下,將處理 兩個小組,但是將避免
中由掩碼所定義的窮舉計算。系統(tǒng)
圖8示出一種包括圖像分類和分割邏輯802的示范性計 算機系統(tǒng)800。圖像分類和分割邏輯802可以是上述過程其中之一。 代表性地,計算機系統(tǒng)800包括用于在處理器(CPU)820與芯片組806 之間傳遞信息的處理器系統(tǒng)總線804。如本文所述,可使用術語"芯片 組"來總括性地描述耦合到CPU 820以便執(zhí)行預期系統(tǒng)功能性的各種 設備。在一些實現(xiàn)中,CPU820可以是多核芯片多處理器(CMP)。
代表性地,芯片組806包括其中包含集成圖形控制器810 的存儲控制器808。在一些實現(xiàn)中,圖形控制器810可耦合到顯示器 812。在其它實現(xiàn)中,圖形控制器810可耦合到芯片組806,并與存4渚 控制器808分離,^f吏得芯片組806包括與圖形控制器分離的存儲控制 器。圖形控制器可以處于分立配置中。代表性地,存儲控制器808還 耦合到主存儲器814。在一些實現(xiàn)中,主存儲器814可包括但不限于 隨機存取存儲器(RAM)、動態(tài)RAM(DRAM)、靜態(tài)RAM(SRAM)、同 步DRAM(SDRAM)、雙倍數(shù)據(jù)速率(DDR)SDRAM(DDR-SDRAM)、存 儲器總線(Rambus)DRAM(RDRAM)或者能夠支持數(shù)據(jù)的高速緩沖的 任何設備。
如進一步所述,芯片組806可包括輸^/輸出(I/O)控制器 816。雖然在一個實施例中,將芯片組806表示為包括獨立圖形控制器 810和I/O控制器816,但可將圖形控制器810集成在CPU 820中,以 便例如提供片上系統(tǒng)(SOC)。在一備選實施例中,將圖形控制器810 和I/O控制器816的功能性集成在芯片組806中。
在一個實施例中,可在包括集成在CPU中的存儲控制 器、集成在芯片組中的存儲控制器和I/O控制器以及片上系統(tǒng)的計算 機系統(tǒng)中實現(xiàn)圖像分類和分割邏輯802。因此,本領域的技術人員會 認識到,提供圖8以便說明一個實施例,而不應當以限制方式對它進 行理解。在一個實施例中,圖形控制器810包括渲染引擎818,以便 渲染從圖像分類和分割邏輯802中接收的數(shù)據(jù),從而實現(xiàn)這種數(shù)據(jù)的 顯示。
前面對一個或多個實現(xiàn)的描述提供il明和描述,而不是 要窮舉本發(fā)明的范圍或者將本發(fā)明的范圍限于所公開的精確形式。才艮 據(jù)上述教導,修改和變更是可行的,或者從實施本發(fā)明的各種實現(xiàn)中 可獲得修改和變更。
雖然將系統(tǒng)說明為包括分立組件,但是,這些組件可通 過硬件、軟件/固件或者它們的某種結合來實現(xiàn)。在通過硬件來實現(xiàn)時, 可將系統(tǒng)的部分組件結合到某個芯片或設備中。雖然論述了若千示范 實現(xiàn),但是,要求權益的本發(fā)明不應被限于明確提到的那些方面,而 是應當包含任何設備或接口,其中包括多于一個能夠處理、發(fā)送、輸 出或存儲信息的處理器。例如可通過可由處理器或本地系統(tǒng)的另 一個 部分運行的軟件來實現(xiàn)這些過程。
例如,圖2、圖3、圖5、圖6和圖7中的動作的至少一 部分可實現(xiàn)為在機器可讀介質中實現(xiàn)的指令、指令組。不應當將本申 請的描述中使用的元件、動作或指令理解為對于本發(fā)明是關鍵或必不 可少的,除非明確進行這樣的說明。本文所使用的冠詞"一"也包括一 項或多項??稍诓粚嵸|上背離本發(fā)明的精神和原理的前提下,對要求權益的本發(fā)明的上述實現(xiàn)進行變更和修改。在本文中,所有這類修改 和變更都要包含在本公開的范圍之內并且為以下權利要求所保護。
權利要求
1.一種用于二進制分類的方法,包括使用浮點值的符號來檢測不同的小組;檢測所述組中的所有條目是否屬于同一個小組;將原始小組分為一致的小組;以及使用浮點值的陣列來對小組分類。
2. 如權利要求l所述的方法,其中,提供SIMD指令用于二進制 分類。
3. 如權利要求l所述的方法,其中,檢測所述組中的所有條目是 否屬于同 一個小組的步驟還包括檢測所述組中的所有條目是否具有相同符號。
4. 如權利要求1所述的方法,還包括 檢測射線組中的相千性。
5. 如權利要求4所述的方法,其中,檢測射線組中的相干性的步 驟還包括生成射線組;確定所述組中的各射線的始發(fā)點和方向; 確定所述射線組的相干性;以及當射線組中的所有射線^皮確定為對于各坐標x、 y和z以相同方向 傳播時,將射線組確定為相干的;以及否則將射線組確定為不相干的,并以與相干射線組不同的方式來 遍歷不相干射線組。
6. 如權利要求5所述的方法,其中,確定所述射線組的相干性的 步驟還包括根據(jù)(所有dxi>0或所有dxiO)與(所有dyi>0或所有dyiO)與(所有 dziX)或所有dziO)來確定所述射線組的相干性,其中i從l到N, N= 分組中的射線數(shù)量。
7.如權利要求5所述的方法,其中,否則將射線組確定為不相干 -錄紐; ;向"古《類^樂所;末; ;柏千l線紐沾岳驟還包括..如果在所述組中某些方向坐標為零,則否則將射線組確定為不相 干的,并以與相干射線組不同的方式來遍歷所述不相干射線組。
8. 如權利要求5所述的方法,其中,否則將射線組確定為不相干括根據(jù)相干性質將所述組分成小組。
9. 如權利要求5所述的方法,其中,將射線組確定為不相干的并 合并不同小組的結果。
10. 如權利要求1所述的方法,其中,將原始小組分為一致的小 組的步驟還包括使用S.S.E.指令來分離不相干組。
11. 如權利要求5所述的方法,其中,確定所述組中的各射線的 始發(fā)點和方向的步驟還包括將所述數(shù)據(jù)重組為用于S.S.E.實現(xiàn)的格式,其中,對于每四個射 線,可將各原點和方向向量表示為三個S.S.E.數(shù)。
12. 如權利要求3所述的方法,其中,使用浮點值的符號來檢測 所述組中的所有條目是否屬于同 一個小組的步驟還包括;險測所述組中的所述第一^"的所有符號位對于各條目是否相同; 將所述原始組中的其它行的符號位與所述笫一行的進行比較;以及使用比較結果來檢測所述相干組。
13. 如權利要求l所述的方法,其中,使用S.S.E.指令將原始小組 分為 一致的小組的步驟還包括逐行地處理組;確定所述行中的哪些條目與所述行中的第一條目屬于相同的小組;將與所述行中的第 一條目屬于相同的小組的所有條目作為 一個小 組來處理;檢測在所述行中是否存在一個、兩個或多于兩個小組; 如果僅存在兩個小組,則處理所述笫二小組;以及 如果存在多于兩個小組,則使用邏輯掩碼來指定所述組中所有可 能的小組。
14. 如權利要求1所述的方法,其中,使用S.S.E.指令將原始小組 分為 一致的小組的步驟還包括識別最普遍的情況,并對算法進行優(yōu)化以便有效地對所述情況進 行處理。
15. 如權利要求13所述的方法,其中,使用S.S.E.邏輯掩碼將原 始小組分為一致的小組以便指定所述組中所有可能的小組的步驟還包 括使用S.S.E.值的陣列來查找所有可能的邏輯掩碼;以及 僅將S.S.E.操作用于這些計算。
16. —種具有包含關聯(lián)數(shù)據(jù)的機器可訪問介質的制品,其中,所 述數(shù)據(jù)在被訪問時使所述機器執(zhí)行以下步驟使用浮點值的符號來^r測不同的小組; 檢測所述組中的所有條目是否屬于同 一個小組; 將原始小組分為一致的小組;以及 使用浮點值的陣列來對小組分類。
17. 如權利要求16所述的制品,還包括檢測射線組中的相干性。
18. 如權利要求17所述的制品,其中,檢測射線組中的相干性的 步驟還包括生成射線組;確定所述組中的各射線的始發(fā)點和方向;確定所述射線組的相干性;以及當射線組中的所有射線祐:確定為對于各坐標x、 y和z以相同方向 (正或負)傳播時,將射線組確定為相干的;以及否則將射線組確定為不相干的,并以與相干射線組不同的方式來 遍歷不相干射線組。
19. 一種系統(tǒng),包括圖形控制器,包括二進制分類邏輯,使用浮點值的符號來檢測不 同的小組,檢測所述組中的所有條目是否屬于同一個小組,將原始小 組分為 一致的小組,以及使用浮點值的陣列來對d、組分類。
20. 如權利要求19所述的系統(tǒng),其中,二進制分類邏輯還包括檢 測射線組中的相干性,其中包括生成射線組、確定所述組中的各射線 的始發(fā)點和方向、確定所述射線組的相干性,以及當射線組中的所有 射線^皮確定為對于各坐標x、 y和z以相同方向(正或負)傳播時,將射 線組確定為相干的。
全文摘要
用于二進制分類的方法和裝置包括使用浮點值的符號來檢測不同的小組,檢測組中的所有條目是否屬于同一個小組,將原始小組分為一致的小組,以及使用浮點值的陣列來對小組分類。通過生成射線組、確定組中各射線的始發(fā)點和方向、確定射線組的相干性,以及當射線組中的所有射線被確定為對于各坐標x、y和z以相同方向傳播時,將射線組確定為相干的,否則將射線組確定為不相干并以與相干射線組不同的方式來遍歷不相干射線組,來檢測射線組中的相干性。
文檔編號G06T15/50GK101331523SQ200680046816
公開日2008年12月24日 申請日期2006年12月6日 優(yōu)先權日2005年12月12日
發(fā)明者A·D·卡普斯丁, A·M·索皮科夫, A·V·雷謝托夫 申請人:英特爾公司