基于Xscale便攜式視頻終端硬件設備設計
關(guān)鍵詞:Xscale;OpenGL;便攜設備;硬件接口
1 前言
在當今信息社會(huì ),以多媒體為特征的信息技術(shù)和信息產(chǎn)業(yè)的發(fā)展及應用對人類(lèi)社會(huì )產(chǎn)生的影響和作用愈來(lái)愈明顯,愈來(lái)愈重要。多媒體能改變信息的包裝,實(shí)現知識信息數字化,為人們獲得知識信息提供極大的方便和無(wú)窮的樂(lè )趣。友善的人機界面、多種多樣的多媒體教學(xué)軟件、誘人的電子游藝節目、身臨其境的多媒體導購系統、五花八門(mén)的信息家電和高效方便的網(wǎng)上查詢(xún)等等,無(wú)不滲透著(zhù)多媒體的作用,它引導人們進(jìn)入了一個(gè)有聲有色的世界。同時(shí),多媒體的發(fā)展和應用,極大地推動(dòng)了各行各業(yè)的相互滲透和飛速發(fā)展,大大改變了人類(lèi)社會(huì )的上作環(huán)境和生活方式??珊敛豢鋸埖卣f(shuō),多媒體產(chǎn)業(yè)的形成和發(fā)展,不僅引起了計算機工業(yè)的一次革命,也正在深刻地影響人類(lèi)社會(huì )發(fā)生巨大的變革。
全球正興起的便攜式圖像處理與顯示終端市場(chǎng),正刺激著(zhù)對下一代具有復雜圖像渲染TOR的手持移動(dòng)設備的巨大需求。同時(shí),也預示著(zhù)圖像處理終端設備在便攜設備中應用的技術(shù)挑戰,也給開(kāi)發(fā)商帶來(lái)了市場(chǎng)機遇。僅在兩年前,像手機這樣的移動(dòng)設備還僅是提供基本的圖像處理作為附加功能,正如可發(fā)送短信的手機幾年前才出現一樣。用戶(hù)很快便開(kāi)始希望能在其手持移動(dòng)設備上實(shí)現更復雜的圖像功能。手持移動(dòng)設備制造商們也順勢推出利用高級圖像渲染特性、更復雜及互動(dòng)式設備,諸如高性能游戲終端、實(shí)時(shí)視頻監控設備。隨著(zhù)性能的提高,我國針對圖像視頻手持移動(dòng)設備的發(fā)展速度比世界任何其他地方的發(fā)展速度都要快。尤其是在工業(yè)控制、無(wú)人監控、機器人技術(shù)等等這些方面,都有著(zhù)巨大的市場(chǎng)需求。
真正的技術(shù)竟賽已從第二代具有圖像渲染功能的手持移動(dòng)設備開(kāi)始。廠(chǎng)商們將在純技術(shù)性能方面展開(kāi)前所未有的竟爭,特別是一旦 API標準完全確立后就將幾乎沒(méi)有什么分歧。一些人認為,制造商應該避免過(guò)快地擴展其平臺以及制作一些其專(zhuān)有的擴展,產(chǎn)業(yè)必須確保OpenGL ES標準API隨市場(chǎng)一起發(fā)展。事實(shí)上,OpenGL ES路線(xiàn)圖己經(jīng)確立,而且人們已經(jīng)制定了OpenGL ES2.0。雖然目前的API是基于狀態(tài)機,但對于第三代手持移動(dòng)設備來(lái)說(shuō)它必須發(fā)展成為基于Shader(著(zhù)色引擎)的標準?,F在,API基于固定功能管線(xiàn)(Pipeline), 這種固定功能管線(xiàn)可以根據目前渲染條件來(lái)啟用或禁用某些功能,它使廠(chǎng)商能根據吞吐量、像素數量及類(lèi)似功能來(lái)制造不同的終端設備。透過(guò)OpenGL ES2.0,人們可對繪圖管線(xiàn)中的某些元素進(jìn)行編程,因而使內容開(kāi)發(fā)商能夠精確定義如何處理頂點(diǎn)(Vertex)或像素。這能不僅能為供應商提供更大的特性集與性能創(chuàng )新空間以及更大的差異化,尤其在視覺(jué)品質(zhì)及效果方面,而且還能為開(kāi)發(fā)商保留一個(gè)公共平臺。
2 OpenGL數據處理流程
OpenGL是圖形硬件的一個(gè)軟件接口。它的主要作用是將二維或三維的對象繪入一個(gè)幀緩沖區中。對象被描述為一系列的頂點(diǎn)(用來(lái)定義兒何對象)或像素(用來(lái)定義圖像)。OpenGL對數據進(jìn)行幾個(gè)步驟的處理從而將其轉換成像素,這些像素將在幀緩沖區中形成最終需要的圖形。它包括以下兩個(gè)主要部分:OpenGL基礎,其主要解釋基本的OpenGL概念,例如什么是幾何圖元以及OpenGL如何實(shí)行客戶(hù)端――服務(wù)器端的執行模式;基本OpenGL 操作,通過(guò)一個(gè)高層的模塊圖來(lái)說(shuō)明OpenGL在幀緩沖區中處理數據并生成相應圖像的過(guò)程。
許多OpenGL命令直接影響諸如點(diǎn)、線(xiàn)、多邊形、以及位圖等OpenGL對象的繪制。而另一些命令,例如那些用于反走或紋理操作的命令,主要用來(lái)控制圖像如何生成。還有一些命令則關(guān)注幀緩沖區的操作。圖一是一幅較為詳細的OpenGL處理流程圖。從圖中我們可以看到,其中有三組箭頭穿過(guò)了大多數階段,這三組箭頭分別代表了頂點(diǎn)和與其相關(guān)的兩個(gè)主要的數據類(lèi)型――顏色值和紋理坐標。值得注意的是頂點(diǎn)首先組合成圖元,然后是片斷,最后成為幀緩沖區中的像素。一個(gè)OpenGL命令的效果,將很大程度地依賴(lài)于某特定模式是否有效。例如,與光照有關(guān)的命令,只有當啟動(dòng)了光照功能才能有效地生成一個(gè)適當的光照對象;如果要啟動(dòng)一個(gè)特定的模式,可調用glEnalbe()命令,并且要提供一個(gè)適當的常量來(lái)確定該模式(如GL_LIGHTING)。調用glDisable()可以關(guān)閉一個(gè)模式。
3 基于Xscale的實(shí)現與優(yōu)化
Xscale核是采用ARMV5TE架構的處理器,是Intel公司的StrongARM的升級換代產(chǎn)品。它具有高性能、低功耗等特點(diǎn),不過(guò),它以核的形式作為ASSP(Application Specific Standard Productor)的構件。PXA270、PXA250和PXA210應用處理器就是作為便攜設備而設計的ASSP。而采用Xscale核的第一個(gè)應用處理器是Intel的80200,作為I/O應用。圖二是Xscale微結構的系統結構特征圖。
圖 二 :Xscale微結構的系統結構特征圖
Xscale核與StrongARM一樣,仍采用ARM架構,因此,在處理器結構上與ARM處理器結構基本相同。并在流水線(xiàn)設計、DSP處理和指令設計中有很大改進(jìn)。Xscale超級流水線(xiàn)由主流水線(xiàn)、存儲器流水線(xiàn)和MAC流水線(xiàn)組成。
其中,主流水線(xiàn)由F1/F2、ID、RF、X1、X2和XWB等7級流水線(xiàn)構成:F1/F2為2級指令提取,ID為指令譯碼,RF為寄存器文件/操作數移位,X1為ALU執行,X2為狀態(tài)執行,XWB為寫(xiě)回。
FI/F2指令取級,Xseale為了便于分支指令的動(dòng)態(tài)預測,安排了Fl/F2兩級流水線(xiàn)。分支目標緩沖器BTB和指令取單元IFU(Instruction Fetch Unit),在此2級流水線(xiàn)進(jìn)行操作。ID指令譯碼級,進(jìn)行一般指令譯碼;檢測未定義指令井產(chǎn)生異常;以及把復雜指令動(dòng)態(tài)擴展為一系列簡(jiǎn)單指令,如LDM、STM和SWP 指令。RF寄存器文件移位級,該級主要進(jìn)行寄存器讀、寫(xiě);對于A(yíng)RM架構的處理器,在該級后半周期還進(jìn)行移位操作。通過(guò)該級將為ALU執行、MAC操作、存儲器寫(xiě)與協(xié)處理器接口提供相關(guān)的數據源。XI 執行級,在該級中,主要執行ALU計算,條件指令執行和分支目標確定。X2執行級,該級包括了ALU的輸出,選擇哪些需在下一級(XWB)寫(xiě)回寄存器中,以及程序狀態(tài)寄存器PSR操作等。XWB寫(xiě)回級,到達該級,即寫(xiě)回寄存器文件部件RFU。在該流水線(xiàn)操作中會(huì )產(chǎn)生數據相關(guān)等問(wèn)題,Xscale采用旁路技術(shù),來(lái)減少流水線(xiàn)的停頓。
Intel Xscale內核與StrongARM一樣,其指令也是有條件執行的。Xscale可以修改條件碼,使指令優(yōu)化。優(yōu)化主要從以下幾個(gè)方面進(jìn)行:首先是優(yōu)化條件檢查,Xscale內核可以有選擇性地修改條件碼的狀態(tài),如果遇到if-else和loop循環(huán),那么就會(huì )減少比較指令的使用。其次優(yōu)化轉移結構,轉移會(huì )降低流水線(xiàn)的使用效率,而轉移的預測會(huì )提高使用效率。轉移預測的數目會(huì )受到轉移緩沖區數目的限制,因為程序中預測轉移指令的數目要遠遠大于轉移緩沖區的數目,所以減少轉移指令會(huì )有助于優(yōu)化。再則對復雜的表達式如邏輯指令將會(huì )降低指令的使用效率,可以使用帶條件碼的指令來(lái)實(shí)現。最后是對立即數和整數的乘除法的使用優(yōu)化。Xscale內核制定在立即數加載進(jìn)寄存器時(shí)必須使用MOV或者M(jìn)VN指令,還可以配合使用ORR、BIC和ADD指令設置一組常量。
4 實(shí)驗結果與分析
對于彩色圖像的分割方法,因為既可以通過(guò)在顏色空間內劃分像素來(lái)完成,也可以通過(guò)在空間上劃分像素來(lái)完成,其中基于圖像中的空間信息的方法還可以分成兩種,一種是利用圖像區域(像素)之間的邊緣進(jìn)行圖像分割。為了獲取邊緣信息,人們一般首先使用Sobel、Laplacian、Canny、等算子進(jìn)行邊緣檢測。然而,當圖像中存在噪聲時(shí),用算子得到的邊緣常常是孤立的或者分小段連續的,即使采用邊緣閉合的方法進(jìn)行處理,也很難得到區域的精確邊緣。另一種是利用區域 (像素)之間的鄰接和相似性,進(jìn)行區域生長(cháng)和區域合并。區域生長(cháng)可以看作是區域合并的特例。區域合并的關(guān)鍵問(wèn)題是要制定合理的合并和停止合并的規則。Jseg在確定了種子區域以后,采用了全局最優(yōu)化的規則進(jìn)行區域生長(cháng),然后使用了基于閾值的區域合并完成圖像分割。K.Haris采用水線(xiàn)分割算法完成圖像的初始分割,然后使用快速的區域合并算法將顏色距離最相近的區域進(jìn)行逐步合并,當圖像中的區域達到設定數目時(shí)停止合并。
近來(lái)的研究表明,融合多種信息更有利于取得合理的分割效果。也就是既要在顏色等特征空間內考慮像素的優(yōu)化分類(lèi),又要考慮圖像中區域(像素)之間邊緣、鄰接關(guān)系等空間信息。Milan Sonka通過(guò)理論和實(shí)驗證明了綜合使用顏色和邊緣信息的分割算法,能夠比只使用顏色信息或者邊緣信息的方法取得更合理的分割結果。
本文綜合了圖像的顏色和空間信息,提出了一種新的視頻圖像分割方法。算法完成顏色量化以后,通過(guò)一個(gè)增量式的區域增長(cháng)算法形成了對采集到的靜態(tài)視頻圖像的初始分割,此時(shí)的分割基本上是在顏色空間內對像素的劃分。然后本文融合區域的顏色信息、空間上的邊緣和鄰接關(guān)系信息,定義了區域距離,并根據區域距離進(jìn)行了分級的區域合并。
鑒于目前的圖像視頻質(zhì)量沒(méi)有統一的評價(jià)標準,我們應用了普遍采用的主觀(guān)視覺(jué)評價(jià)方式。通過(guò)一些圖像的分割實(shí)驗和實(shí)驗分析對比,本文提出的分割算法對于無(wú)顯著(zhù)紋理的視頻圖像具有良好的分割效果,其中的增量式區域增長(cháng)有助于發(fā)現更多的圖像細節,而且停止區域合并的規則也十分有效。其分割結果可以用于基于區域的圖像檢索、基于對象的圖像內容分析等。在未來(lái)的工作中,可以將圖像的紋理特征融入算法中,圖像質(zhì)量將得到進(jìn)一步的提高。
5 創(chuàng )新點(diǎn)總結
本文的創(chuàng )新點(diǎn)在于提出了一種基于Xscale的便攜式視頻終端設備接口設計方案,并設計了一種新的視頻圖像分割方法,通過(guò)試驗驗證,達到了預期設計目標。但是迄今為止,不但沒(méi)有一個(gè)方法能夠對所有圖像都可以給出很好的分割結果,而且沒(méi)有一個(gè)方法能夠對由不同方法得到的分割結果給出與主觀(guān)感覺(jué)一致的評價(jià),也沒(méi)有一個(gè)理論來(lái)指導我們如何根據不同的圖像選擇合適的分割方法。由于圖像分割的研究還缺乏一個(gè)統一的理論,因此,在解決一些實(shí)際的圖像分割問(wèn)題時(shí),我們往往還是依賴(lài)于自己的知識和經(jīng)驗。這一切不但限制了圖像分析和理解研究的發(fā)展,也限制了機器視覺(jué)技術(shù)在工農業(yè)生產(chǎn)中的應用。
參考文獻:
1 馬忠梅 馬廣云 等. ARM嵌入式處理器與應用基礎[M].北京航空航天大學(xué)出版社,2002
2 陳章龍 唐志強 涂時(shí)亮. 嵌入式技術(shù)與系統――Intel Xscale結構與開(kāi)發(fā)[M]. 北京航空航天大學(xué)出版社,2004
3 葉齊祥 高文 王偉強 黃鐵軍.一種融合顏色和空間信息的彩色圖像分割算法[J]. 中國科學(xué)院計算技術(shù)研究所,2005
4 謝建平 PDP電視機多制式數字視頻信號轉換電路的研究[J].微計算機信息,2006, 7-2:p222-224
評論