新四季網

ARM+GPU異構架構下的光線投射算法的OpenGLES實現方法

2023-11-05 05:58:52 1

ARM+GPU異構架構下的光線投射算法的OpenGL ES實現方法
【專利摘要】本發明公開了一種ARM+GPU異構架構下的光線投射算法的OpenGL?ES實現方法,所述方法包括如下步驟:步驟一:在ARM中建立顯示窗口系統;步驟二:在ARM中獲取原始體數據,並將原始體數據重建到三維笛卡爾坐標系下;步驟三:ARM對二維紋理進行排布,並利用OpenGL?ES接口以二維紋理方式導入三維超聲體數據;步驟四:GPU接收人機互動指令,計算坐標變換矩陣完成三維成像中的人機互動功能;步驟五:GPU進行光線投射算法的OpenGL?ES實現,並對計算量進行控制;步驟六:GPU繪製顯示平面。本發明將傳統的基於顯卡和Intel處理器的光線投射算法在嵌入式平臺下實現,降低了系統開發成本。
【專利說明】ARM+GPU異構架構下的光線投射算法的OpenGL ES實現方

【技術領域】
[0001]本發明涉及嵌入式系統中圖像處理及計算機視覺領域的三維成像實現過程,具體涉及ARM+GPU異構系統級晶片(System On Chip, S0C)架構下光線投射算法的OpenGL ES實現。
【背景技術】
[0002]醫學超聲成像是一種基於超聲波的醫學影像診斷技術,通過超聲換能器向人體發出超聲波並接收組織回波,利用超聲波的物理特性和人體組織器官聲學性質上的差異,顯示人體內部的形態學信息,藉以進行疾病診斷。其具有無創傷、無輻射、成本低和成像速度快等優點,且具有便攜性,能夠實時獲取圖像,故在一般的醫療診斷中,超聲成像佔有很大比例。特別地,對於胎兒檢查,超聲成像是四大醫學影像中(CT\核磁\PET\超聲)唯一能夠使用的成像手段。
[0003]傳統的二維超聲成像系統只能提供人體組織器官某一切面的圖像,醫生需要根據二維圖像在自己的大腦中合成相應的三維結構。這就對醫生的熟練程度提出了很高的要求,並在一定程度上影響了臨床診斷的準確性,使其在應用上存在一定局限性。尤其對於胎兒檢測來說,三維超聲成像具有成像直觀、定位準確、確診速度快等優點。因此,在超聲診斷系統中研究三維超聲成像方法具有重要意義。
[0004]目前廣泛使用的3D體繪製成像算法是光線投射算法,它是一種基於圖像空間的成像方法,其假設從圖像空間的每一個像素向物體空間發出一條光線,在光線穿過物體空間的過程中,對相交體素的光學屬性與吸收屬性按照一定的方法進行累積,從而形成最後的圖像。與其他體繪製算法相比,其成像質量高,且可以設置不同的閾值以顯示內部特徵;但是光線投射算法計算量較大,在角度變換以及人機互動的時候難以達到實時效果。
[0005]OpenGL是一個跨程式語言、跨平臺的2D/3D圖形處理庫,開發人員可以利用其所提供的頂點著色器與片段著色器自定義渲染算法,實現通用計算。光線投射算法同時包含圖形處理和通用計算兩個方面,物體的頂點、光柵化、片段處理以及旋轉視點變換等屬於圖形學範疇,沿光線上的積分過程屬於通用計算範疇。OpenGL能很好地兼顧這兩個方面,直接利用OpenGL的圖形管線能夠簡潔高效的實現圖形處理部分,利用OpenGL頂點著色器與片段著色器的可編程能力能實現複雜的算法設計。將OpenGL與GPU相結合,可以很方便地對光線投射算法進行實現。
[0006]隨著超聲成像設備的便攜性、小型化和專科化要求,同時考慮到產品的體積、功耗和性價比,超聲診斷系統所選用的處理器的通用計算能力逐漸下降,逐漸以嵌入式處理器替代X86架構的處理器核心。隨著技術發展,ARM的計算能力有了巨大的提升,逐漸成為便攜設備的主流體系結構。硬體平臺計算能力的降低會對超聲數據處理模塊的實現提出挑戰。尤其對於超聲系統中的三維成像算法,相比於二維成像算法,數據的吞吐量和計算量通常大兩個數量級。如果僅僅依靠ARM處理器難以實現三維超聲成像功能,即使採用針對並行處理的單指令多數據(Single Instruction Multiple Data, SIMD)技術,仍然無法達到要求。
[0007]從目前處理器的發展來看,對於嵌入式處理器,通常會攜帶可用於通用計算的圖形處理單元(Graphic Processing Unit, GPU),組合起來形成異構架構,更有利於提高嵌入式處理器的計算能力。以ARM核心為主控的多核SOC晶片通常集成有GPU內核作為三維加速引擎。
[0008]但是,對於ARM+GPU的異構架構,嵌入式GPU存在兩個明顯的限制:1)並行運算單元少,計算能力弱;2)ARM與GPU共用系統內存,沒有專門的高速顯存。同時,在嵌入式體系下,專用的開放圖形庫接口也從OpenGL變成了 OpenGL ES,因此,在OpenGL下開發的成熟的光線投射算法並不能直接應用到嵌入式系統中。

【發明內容】

[0009]本發明針對目前超聲設備發展專用性趨勢的要求以及成像算法龐大的計算量和數據吞吐,提出了以ARM+GPU異構架構對三維超聲成像光線投射算法的實現。ARM核心作為主控晶片負責整個過程中所有的任務調度及預處理工作,GPU核心作為加速引擎,實現並行計算的算法核心,通過OpenGL ES被應用程式調用,實現光線投射算法。本發明將傳統的基於顯卡和Intel處理器的光線投射算法在嵌入式平臺下實現,降低了系統開發成本。
[0010]本發明的目的是通過以下技術方案實現的:
[0011]—種ARM+GPU異構架構下的光線投射算法的OpenGL ES實現方法,包括如下步驟:
[0012]步驟一:在ARM中建立顯不窗口系統;
[0013]步驟二:在ARM中獲取原始體數據,並將原始體數據重建到三維笛卡爾坐標系下;
[0014]步驟三:ARM對二維紋理進行排布,並利用OpenGL ES接口以二維紋理方式導入三維超聲體數據;
[0015]步驟四:GPU接收人機互動指令,計算從物體坐標繫到投影坐標系的變換矩陣,完成三維成像中的人機互動功能;
[0016]步驟五:GPU進行光線投射算法的OpenGL ES實現,並對計算量進行控制;
[0017]步驟六:GPU繪製顯示平面。
[0018]本發明所述的步驟三中,考慮到嵌入式系統不支持三維紋理導入的情況,給出了二維紋理的排布導入方案。考慮到硬體平臺對於二維紋理尺寸的限制,以及在二維紋理中查詢體數據時不能精確索的問題,在ARM中給出了數據的具體排布方案,該方案能夠解決嵌入式平臺數據導入受限問題,具有良好的兼容性。
[0019]本發明所述的步驟四中,針對OpenGL ES的坐標系統定義設計人機互動矩陣,其中包括繞屏幕上兩個軸的旋轉、放大縮小以及上下左右前後六個觀測方向的選擇,可以簡潔清晰地完成各種人機互動命令,使系統具備人機互動功能。
[0020]本發明所述的步驟五中,運用光線投射算法進行體繪製,針對弱計算能力與大計算量的矛盾,提出了兩種計算量控制的方法,包括增大採樣步長與減少光線數量;該方法有效的降低了計算量,提高了繪製速度,使人機互動可以滿足實時性要求。
[0021]本發明所述系統採用ARM+GPU異構架構實現光線投射算法,ARM核心作為主控晶片負責整個過程中所有的任務調度及預處理工作,GPU核心作為加速引擎,實現並行計算的算法核心,通過OpenGLES被應用程式調用,實現光線投射算法。該實現方案能夠顯著降低系統開發成本。本發明與現有技術相比,具有如下優點:
[0022]I)系統開發成本低。本發明提出基於ARM+GPU異構SOC晶片的硬體解決方案,該方案的硬體成本遠低於基於顯卡和Intel處理器的硬體解決方案,適合低端便攜產品。SOC晶片中GPU作為加速引擎直接集成在晶片內部,GPU廠商和SOC晶片廠商提供GPU驅動,應用程式通過OpenGL接口直接調用GPU,ARM和作業系統會自動完成兩個核心間的任務調度。
[0023]2)良好的兼容性。本發明考慮到一些嵌入式GPU並不支持三維紋理,提出了通過導入二維紋理的方式將三維體數據導入到GPU中,使該實現方法能夠解決平臺受限問題,具有良好的兼容性。
[0024]3)簡潔有效的人機互動方式。本發明針對OpenGL ES的坐標系統定義設計了三種基本三維人機互動操作對應的矩陣變換方法,且三種變換對應到三維觀測的不同階段,相互獨立,能夠簡單清晰地完成人機互動指令。
[0025]4)良好的實時性。嵌入式系統較弱的處理能力,使光線投射算法的經典GPU實現方法在嵌入式設備上難以取得良好的性能,本發明改進了經典實現方法,提出通過計算量控制提高處理速度,又根據實際三維系統的用戶操作流提出了速度和質量的折中方式,通過這兩方面的改進能夠解決嵌入式系統的處理瓶頸,滿足用戶的需求。
【專利附圖】

【附圖說明】
[0026]圖1為ARM+GPU異構架構下光線投射算法的OpenGL ES實現流程圖;
[0027]圖2為三維體數據在二維紋理中的排布方式;
[0028]圖3為基於OpenGL ES的光線投射原理;
[0029]圖4為光線數量控制;
[0030]圖5為採樣步長為0.002下的渲染效果圖;
[0031]圖6為採樣步長為0.005下的渲染效果圖;
[0032]圖7為採樣步長為0.01下的渲染效果圖。
【具體實施方式】
[0033]下面結合附圖對本發明的技術方案作進一步的說明,但並不局限於此,凡是對本發明技術方案進行修改或者等同替換,而不脫離本發明技術方案的精神和範圍,均應涵蓋在本發明的保護範圍中。
[0034]本發明的流程圖如圖1所示,具體步驟如下:
[0035]一、顯不窗口系統建立
[0036]OpenGL ES的計算功能雖獨立於窗口系統,但是其顯示調用過程依賴於窗口系統,需要繼承顯示系統的上下文環境,所以在應用OpenGL ES的系統中必須首先建立起窗口系統。窗口系統不局限於單一種類,只要支持OpenGL的窗口系統都適用本發明。
[0037]本實施例是基於Android的顯示系統建立的。在管理系統界面的XML文件中創建用於輸出OpenGL ES渲染結果的顯示控制項,利用作業系統提供的視圖類建立起顯示控制項和計算之間的聯繫,通過重載視圖的繪製方法來實現窗口建立功能。
[0038]二、數據獲取及體數據重建[0039]超聲成像一般通過總線方式進行前後端數據的傳輸,常用的有CPU的內部總線、PCI總線或USB通用串行總線等。數據按照掃查的先後順序進行傳輸,對於三維成像功能來說,先掃查同一位置,形成二維切片數據,再掃查不同的切片位置,從而構成三維成像所要使用的原始體數據。對於超聲成像特有的扇形掃查或線形掃查方式來說,原始體數據的各個體素並不直接與三維笛卡爾坐標系的坐標點一一對應,因此在體數據渲染之前,需要進行三維體數據重建。
[0040]重建方法是將原始體數據經坐標變換,利用三線性插值將原始體數據重建到三維笛卡爾坐標系下。由於受限於聲波的衰減和穿透力,超聲成像質量較低,且存在固有的斑點和噪聲,故還需要對超聲數據進行濾波處理。本發明針對超聲圖像數據,採用最近鄰域插值算法將數據的重建和濾波同步進行。
[0041]在其他應用中,如果原始體數據獲取均勻,即與三維笛卡爾坐標點一一對應的話,可以越過此步驟。
[0042]三、OpenGL ES下體數據的紋理導入
[0043]依賴於OpenGL ES的數據傳輸機制,重建後的體數據需要通過紋理的方式傳遞給GPU,紋理有二維紋理和三維紋理兩種。由於重建之後的體數據本身就是三維的,故採用三維紋理的導入相對簡單和直觀。
[0044]但是,三維紋理是OpenGL ES標準的可選實現,一些半導體廠商的GPU核心並不支持三維紋理,作為OpenGL ES標準的必要實現,只支持二維紋理載入。因此,在該情況下,就需要研究三維體數據的二維紋理載入方法。
[0045]將三維體數據作為二維紋理載入時,有兩個限制條件,一是硬體平臺對於二維紋理尺寸的限制;二是在二維紋理中查詢體數據時不能精確索引。這決定了不能將三維笛卡爾坐標系下對應的體數據按照切片的方式簡單排列,而是要精心設計其紋理的排布方式,使其最終既不會超出硬體平臺所支持的最大紋理尺寸,又不會因為紋理查詢的不精確而造成較大的偏差。
[0046]本發明提出如圖2所示的紋理排布方式:先按照GPU對於紋理的寬度和高度要求,並結合每一張切片的寬度大小,設計紋理的寬度和高度。然後將笛卡爾坐標系下的切片數據按照線數關係排布到紋理中,即先沿紋理寬度方向順序排布切片的第O條線形成一行,排布滿後再沿紋理高度方向向下排布第I條線形成一行,依此類推,當切片數據填滿後,從新切片的第O條線開始繼續,直到將數據填滿紋理。整個紋理的排布操作主要涉及數據在內存中的排布,因此該部分工作由ARM完成。
[0047]數據按照二維紋理排布好後,通過OpenGL ES的二維紋理導入接口,便可以把CPU的內存數據加載到GPU的存儲空間中,供GPU後續處理管線使用。
[0048]這種紋理導入的方式決定了紋理查詢的準確性。假設要查詢(x,y,z)點處的紋理值,先根據z坐標確定其前後切片的索引;確定切片位置後,按照(x,y)的坐標確定待查詢體數據在切片內的位置。最終GPU查找出來的體數據是由兩個切片內(x,y)位置的像素分別按照雙線性插值,再對兩個計算結果進行線性插值得到。由於二維紋理的排布關係,能夠保證切片內的相鄰數據和切片間的相鄰數據與體數據真實的空間位置是對應的,因此保證了數據查詢的準確性。需要注意的是,二維紋理支持切片內數據的雙線性插值,即硬體可以自動計算;切片間的線性插值需要由GPU自行編程計算。[0049]四、接收人機互動指令,計算坐標變換矩陣
[0050]三維成像系統中基本的三種人機互動包括:繞屏幕上兩個軸的旋轉、放大縮小和上下左右前後六個觀測方向的選擇。OpenGL ES的圖形處理管線中的角度變換功能是通過坐標變換矩陣實現的。人機互動方法是:首先建立基本人機互動指令與空間變換矩陣間的對應關係,然後根據OpenGL ES的坐標定義設計空間變換矩陣。
[0051]系統運行時,人機互動系統每下達一個指令,ARM就按照事先設計的方式修改空間變換矩陣,導入到OpenGL ES的頂點著色器中,在頂點著色器中用頂點的坐標向量乘以空間變換陣就可以得到頂點在空間變換後的坐標。
[0052]本發明設計的人機互動與空間變換矩陣之間的關係是:在世界坐標系中進行將繞屏幕上兩個軸的旋轉操作,將其對應到物體繞世界坐標系的兩個軸的旋轉;利用觀察坐標系相對世界坐標系的位置關係進行六個觀測方向的視角(前後上下左右)選擇操作;在投影坐標系中進行放大縮小的操作,將其對應到透射投影階段近平面位置的改變。實時更新三種操作所對應的矩陣,便可以完成人機互動功能。本發明設計的人機互動的實現方式,使三種人機互動過程就相互獨立,任何一個的操作不會對另外兩個操作造成影響。
[0053]設計的空間變換矩陣如下:
[0054]物體繞世界坐標系的X軸旋轉Θ角對應的旋轉矩陣如式(I)所示:
【權利要求】
1.一種ARM+GPU異構架構下的光線投射算法的OpenGL ES實現方法,其特徵在於所述方法包括如下步驟: 步驟一:在ARM中建立顯示窗口系統; 步驟二:在ARM中獲取原始體數據,並將原始體數據重建到三維笛卡爾坐標系下,得到笛卡爾坐標系下的切片數據; 步驟三:ARM對二維紋理進行排布,並利用OpenGL ES接口以二維紋理方式導入三維超聲體數據; 步驟四:GPU接收人機互動指令,計算從物體坐標繫到投影坐標系的變換矩陣,完成三維成像中的人機互動功能; 步驟五:GPU進行光線投射算法的OpenGL ES實現,並對計算量進行控制; 步驟六:GPU繪製顯示平面。
2.根據權利要求1所述的ARM+GPU異構架構下的光線投射算法的OpenGLES實現方法,其特徵在於所述步驟三中,二維紋理排布方式如下:先按照GPU對於紋理的寬度和高度要求,並結合每一張切片的寬度大小,設計紋理的寬度和高度;然後將笛卡爾坐標系下的切片數據按照線數關係排布到紋理中。
3.根據權利要求1所述的ARM+GPU異構架構下的光線投射算法的OpenGLES實現方法,其特徵在於所述步驟四中,從物體坐標繫到投影坐標系的變換矩陣Matrix ojectionViewModel.MsitiriXpr 0jecti0n WorldModelMatrixprojection.Matrixview.Matrix






Model ? 其中,Matrixft ^eetim為投射投影矩陣,MatrixviewS世界坐標繫到觀察坐標系的變換矩陣,MatrixM odel為物體坐標繫到世界坐標系的坐標變換矩陣。
4.根據權利要求3所述的ARM+GPU異構架構下的光線投射算法的OpenGLES實現方法,其特徵在於所述物體坐標繫到世界坐標系的坐標變換矩陣MatrixM odel如下:
Matri xM odel = KnKlri …Ki …K2K1K0 ; 其中,Ki代表第i次轉動物體,Kn代表最近一次的轉動。
5.根據權利要求4所述的ARM+GPU異構架構下的光線投射算法的OpenGLES實現方法,其特徵在於所述物體繞世界坐標系的X軸旋轉Θ角對應的旋轉矩陣如式(I)所示:
6.根據權利要求3所述的ARM+GPU異構架構下的光線投射算法的OpenGLES實現方法,其特徵在於所述世界坐標繫到觀察坐標系的變換矩陣Matrixview如下:
7.根據權利要求3所述的ARM+GPU異構架構下的光線投射算法的OpenGLES實現方法,其特徵在於所述投射投影矩陣為:
8.根據權利要求1所述的ARM+GPU異構架構下的光線投射算法的OpenGLES實現方法,其特徵在於所述步驟五中,採用增大採樣步長或減少光線數量的方法對計算量進行控制。
9.根據權利要求8所述的ARM+GPU異構架構下的光線投射算法的OpenGLES實現方法,其特徵在於採用通過控制光柵化階段生成的片段數量來間接控制光線數量。
【文檔編號】G06T15/04GK103971396SQ201410225333
【公開日】2014年8月6日 申請日期:2014年5月24日 優先權日:2014年5月24日
【發明者】金晶, 申瑞雪, 賈恆, 沈毅 申請人:哈爾濱工業大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀