主要性能
附圖一是一個典型的無線電多媒體處理器的內部架構,它涵蓋了下述的主要性能:
(1)高畫質的DVD影像:以硬體實現的視訊編解碼器,具有低功率、高速率的優點。能拍攝和播放VGA 30fps MPEG-4/DivX、CIF 30 H.264解析度的影像;並支援PAL/NTSC組合式輸出訊號,可外接至一般電視機收看DVD高畫質影像。
(2)影像訊號處理器:支援超過500萬像素的CCD和CMOS感測器。具有與數位相機一樣的「資料暴衝模式」,可以使處理速率加快,因此,「訊框率」能夠增加。此訊號處理器還支援自動白平衡、自動曝光、自動聚焦、鏡頭黑點校正、色彩校正、糾正錯誤像素、光學縮放、遮光和閃光……….等功能。
(3)語音編解碼器:支援常見的多種音訊規格,例如:具有64音多標準的MIDI播放機之功能、AMR NB/WB、MP3、AAC、AAC+、立體環場音效。
(4)2D/3D硬體加速器:它是一種低功率和高品質的電玩處理器,每秒可呈現700K個多邊形,充填速率可高達每秒100M個像素。還提供符合Open GL ES 1.1和 JSR184標準的介面程式庫。
(5)GPS/AGPS:低功率、低成本的GPS處理器能夠處理基頻訊號,僅需外接一顆射頻晶片即可。提供標準的介面程式庫和通訊協定程式,能立即發揮定位和查詢地理位置之功能。
(6)行動式數位電視:類似數位式機頂盒,能夠支援DVB-H、T/ S-DMB數位電視廣播服務,僅需外接調頻器和解調器即可。還內建低功率的DRM加速器,可以對鎖碼頻道解碼。
(7)週邊介面:支援常見的輸出入介面,例如:USB、UART、I2C、PCM、AC97、SPI、I2S……等。可以藉此外接記憶體,或其它應用裝置或控制器。
(8)開機用的記憶體之選擇:使用ROM開機可以加快開機速度,且安全性高;或者可以使用NAND FLASH開機;或者可使用具有SPI介面的FLASH開機;或者可由基頻處理器開機;或可從UART介面開機(專供開發與測試之用)。
(9)大量資料的儲存:可以透過CE-ATA、miniPCI或其它標準介面與硬碟連接。另外,還可以與SD/MMC、CompactFlash……等記憶卡連接,且外接的NAND FLASH大小不受限制。
(10)製程技術:若CPU採用ARM9時,其內部速率可以高達270MHz以上。且耗電率低,譬如:內部耗電1V,外部週邊耗電1.8至3.3V。採用188 LFBGA封裝、10x10mm規格、90奈米CMOS製程。
(11)功率:處理器休眠時(沒有系統時脈,但除了LCD和語音訊號仍正常工作外),小於100μW。由於採用硬體加速器和先進的處理技術,使得工作功率能夠大幅降低。
影像處理單元
比較複雜的多媒體處理器內部都含有影像處理單元,這單元能夠處理視訊和圖像,並且可以外接視訊/影像感測器和顯示器。例如:附圖二是一個典型的影像處理單元的內部架構。此影像處理單元具有下列的主要功能:
從CCD/CMOS感測器或電視解碼器擷取到的影像資料,可以暫存於外部記憶體等候微控制器處理,或送至前置處理器處理。
前置處理依照最終應用的不同,可區分為兩個不同的通道:一個到編碼器,另一個到顯示器。前置處理包括了下列的工作內容:
(1)垂直與水平比例的任意縮放
(2)色彩空間的轉換(YUV轉RGB、RGB轉YUV、不同YUV格式間的轉換)
(3)在一個視訊平面上加入一個圖像平面。
(4)90度的旋轉、上下和左右翻轉。
當微控制器處理暫存在外部記憶體的資料時,就稱為「後置處理」。微控制器會依序使用許多個後置處理通道,當前一個訊框通道處理完畢之後,它會回過頭重複使用影像處理單元。後置處理除了包括前置處理的工作內容外,還包含:對來自外部記憶體的資料進行「後濾波」作業:例如,支援MPEG-4的「解塊」和「去環」演算法,以及支援H.264的後濾波演算法。這些演算法都是很費時的,交由影像處理單元處理後,可大幅提高時效。
同步顯示視訊和圖像時(亦即不記憶,直接輸出),具有下列選項:
(1)隨時都能組合視訊和圖像平面
(2)能產生「硬體游標」:硬體游標的反應速度比軟體游標快很多。
(3)畫面可垂直和水平地捲動。
非同步顯示視訊和圖像時,有兩種機制可以加快處理速度:其一是,將資料和命令交錯在一起,命令是由微控制器發出的,暫存在命令緩衝區內;另一是,依照一個預先準備好的參考樣本,自動產生命令。如此,暫存於外部記憶體、或影像處理單元內部、或直接來自於微控制器、或DMA控制器內部的資料都能夠送至顯示器。所以,這種非同步顯示也稱為「智慧型顯示」。
在影像處理單元內部,以及外部記憶體之間傳輸的資料,其像素格式可以彈性更換。
影像處理單元雖然是一個獨立的模組,但它仍要受微控制器的控制。附圖二中的IPS匯流排就是給微控制器使用的,它可以控制影像處理單元。來自感測器的資料是透過SENSB匯流排送至影像處理單元。影像處理單元處理完畢的結果、或讀取先前儲存的資料、或從通訊通道接收一筆資料,都是透過「主要的AHB埠(AHB_M1、AHB_M2)」。運用兩個主要的AHB埠(雙模)和一個次要的AHB埠(AHB_S,單模),可以產生兩種工作模式。就雙模而言,影像處理單元會輪流使用AHB埠,這可以減少延遲,提高記憶體介面的傳輸速率。透過一根外部的接腳,以及周邊匯流排暫存器的一個控制位元,就可以選擇雙模或單模。但如果此外部接腳被設成單模,則此控制位元將無效。
此外,微控制器可以透過AHB_S埠直接與影像處理單元溝通。影像處理單元的輸出資料是透過顯示匯流排(DISPB)送至同步或非同步顯示器,或送至電視編碼器。影像處理單元的中斷訊號是透過IPI匯流排送至微控制器。IPG匯流排負責提供系統時脈和重置訊號。IPT匯流排支援掃描和自我測試的功能。DIAGB匯流排是為了除錯之用,它可以即時監控內部訊號。這是經由DIAGB匯流排暫存器選定一組待測的內部訊號,之後,DIAGB匯流排的32根接腳就分別代表不同的內部訊號。一般而言,為了節省晶片的體積大小,DIAGB匯流排是與其它訊號共用GPIO的,它們是以不同的參數設定來做區分的。
以不同的匯流排,與外部的微控制器、記憶體控制器、時脈控制器等連接的方式是不盡相同的,必須按照這些外部元件的技術規格而定。
管理流程
底下將介紹影像處理單元的管理與工作流程。附圖三是一個典型的例子,其流程共可區分為四個階段:系統設定、工作設定和初始化、正常作業、停止。
系統設定:依據週邊裝置的規格,設定參數於暫存器內,譬如:顯示器的型態、匯流排寬度、時序等。這些系統參數和介面設定都是固定的,而且與特定的應用無關。系統設定可細分為下列三個:
(1)共用參數:選擇像素的二進位次序和單模/雙模AHB模式。
(2)感測器介面:依據感測器型態,設定右列參數:感測器的組態、感測器的訊框大小、BT.565碼、閃光參數。
(3)顯示器介面:依據顯示器的特性,設定右列參數:顯示器介面的模式、極性方向、串列介面、時序、資料匯流排的映射、輸出入一個像素所需要的時脈週期、可用的顯示參數、讀取模式、螢幕大小、垂直同步、載入「非同步顯示控制器」的參考樣本、定義「同步顯示控制器」的參數、同步顯示的水平和垂直大小。
工作設定和初始化:這包含許多動態參數的設定,皆與特定的應用相關。開機、系統初始化、顯示器和感測器的初始化等,都是在這個階段完成。而且,必須在這時,對影像處理單元內部的所有模組做設定,這包含:
(1)相機感測器介面:定義真實訊框的大小、輸出資料的特性。
(2)影像轉換器:啟動適當的工作選項、定義每一個工作的縮放比例、定義廣域的alpha和主色彩值、載入適當的影像轉換工作參數。
(3)後濾波:設定後濾波的型態、針對H.264標準啟動暫停和定義「暫停行」。
(4)非同步顯示控制器:定義基本的通道參數、對所有使用到的通道設定起始位址和起始時間、設定微控制器的存取參數。
(5)同步顯示控制器:定義與輸入資料的格式相關的基本參數、定義廣域的alpha和主色彩值、定義前景和背景視窗的位置、定義游標位置、游標閃爍、游標色彩和「脈衝寬度調變」的參數。
(6)顯示器介面:設定初始時脈。其餘參數都是靜態的,必須在前述的「系統設定」階段設定完成。
(7)影像DMA控制器:設定通道仲裁的選項、DMA通道的優先次序、載入適當的通道參數、載入適當的解碼查看表。
(8)控制模組:此時,訊框同步鏈結和中斷參數會被設定。這包含:對每一個DMA通道設定其為單模或雙模、對每一個DMA通道清除目前的緩衝區位元值、設定工作鏈結、啟動適當的中斷。
(9)感測器的初始化:包括開機、感測器與影像處理單元韌體之連接。此時,影像處理單元無法控制感測器,而是透過感測器的I2C介面達成的。
(10)顯示器的初始化:包括開機、顯示器與影像處理單元韌體之連接。此時,影像處理單元無法控制顯示器,而是透過微控制器的韌體與連接在GPIO接腳上的顯示器達成的;或者透過一顆外接的電源管理晶片完成的。影像處理單元是透過非同步介面,來設定智慧型的顯示器,並使它初始化,這包含:啟動顯示器介面、以低階的存取暫存器來對顯示器做程式設定(但在程式設定時,必須經由GPIO同步地控制顯示器)。
正常作業:在此階段,影像處理單元執行先前設定的所有工作,這包括:
(1)啟動工作:按次序完成:啟動影像處理單元、啟動會用到的影像DMA通道、啟動必需的影像轉換作業、將視訊和圖像充填至影像處理單元的輸入緩衝區內,並將相對應的可用緩衝區的旗標位元值設為一、啟動背景和前景平面。於是,所有的工作就開始了。
(2)繼續工作:有些工作並不需要微控制器的韌體參予,就能自動地繼續執行。例如:當新的感測訊框到達時,「取景工作」就會被喚起,繼續執行。對其它工作(例如:後置處理)而言,在前一個訊框被處理完畢之後,微控制器就須喚起它們,繼續執行。詳說之,必須完成右列諸作業:
【A】其中一個工作若收到訊框結束時的中斷訊息,就從相對應的緩衝區讀取輸出資料,並將相對應的可用緩衝區的旗標位元值設為一(表示該緩衝區恢復為可用)。此外,讀取「中斷狀態暫存器」的值,就可以判定此中斷的來源。
【B】如果需要,可以利用前一個訊框結束時的中斷,在下一個想要的感測訊框處產生閃光。
【C】將新的視訊和圖像充填至影像處理單元的輸入緩衝區內,並將相對應的可用緩衝區的旗標位元值設為一。
(3)重新設定和繼續工作:在重新設定工作之前,必須先將它停止。當相對應的「忙碌位元」值不再代表忙碌時,此工作或通道才可以再次被程式設定。對DMA通道而言,可以隨時更改空閒的記憶體緩衝區的起始位址。對同步顯示控制器而言,也能隨時更改平面位置和游標參數。微控制器也可以更改任一個「高速處理時脈」值(但是在更改當時,該時脈不能被使用)。
停止工作:必須完成下列工作:
(1)停止影像轉換工作,此工作在完成目前的訊框後就會停止。
(2)將相對應的可用緩衝區的旗標位元值設為零。在完成目前的訊框後,所有執行中的工作將立即停止。
(3)停止使用背景和前景平面。
(4)停止使用相對應的影像DMA通道。
此外,還須停止感測器、顯示器和影像處理單元內部的所有模組:
(1)停止感測器:包含關機、與影像處理單元脫離(這也是透過I2C達成的)。
(2)停止顯示器:包括關機、與影像處理單元脫離(這也是透過微控制器,或外部的電源管理晶片完成的)。影像處理單元只能經由非同步介面和低階的存取暫存器,將智慧型顯示器關閉。
(3)停止影像處理單元:清除相對應的位元值,即可將影像處理單元關閉。
控制模組
控制模組是視訊和影像處理的調派中心。如附圖四所示,控制模組包含了訊框同步單元、中斷產生器、除錯單元、一般組態暫存器(GCR)、時脈和重置控制單元、自我測試單元。
影像處理單元內部的不同模組和微控制器所執行的全部工作,都是經由訊框同步單元來達到同步處理的目標。它不需要微控制器插手,就能自動建立起複雜的影像同步處理流程。訊框同步單元為影像訊框提供了雙緩衝區----它們是在外部記憶體內,並能夠自動地將影像處理工作,按照前後順序鏈結在一起。附表一是影像處理工作鏈結的實例。
(表一) 影像處理工作鏈結的實例
《圖五 訊框同步單元的初始化 》 - BigPic:568x186 |
|
訊框同步單元提供兩種同步模式:手動(微控制器所執行的工作)和自動(當前一個工作完成之後,會自動執行下一個工作)。於附表一的第一個實例裡,從感測器(CSI)擷取到的影像是被送到記憶體暫時儲存,並沒有被立即處理。這個流程的工作鏈結是以CSI->IC->MEM來表示,且所使用的影像DMA通道是輸出埠DMAIC_7。
附圖五是訊框同步單元的初始化示意圖。下面以影像轉換器的前置工作流程為例來說明:
- ●初始化:微控制器設定所有相關的參數,其初始化的對象包含:一般組態暫存器、影像轉換器的工作參數記憶體、影像DMA控制器的通道參數記憶體(這包含:後置處理視訊輸入通道、後置處理圖像輸入通道、後置處理視訊輸出通道)、視訊和圖像的第一個輸入緩衝區,並配置輸出視訊緩衝區,最後,將每個可用通道的旗標位元設為一。
- ●啟動:等微控制器將一般組態暫存器的適當位元值設為一之後,工作就開始了。
- ●觸發:在此例中,當輸入和輸出視訊的緩衝區是可用的,而且工作已被啟動,則即可觸發,訊框同步單元會發出訊號給影像轉換器,告訴它準備接收或傳送新的訊框。