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