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