目前不管是消費型數位相機或PC數位相機,幾乎都使用USB來傳輸影像資料,這是因為USB比其它傳統的傳輸技術更便利和可靠,因此,也擴大了USB控制晶片的市場。
數位相機是由三個主要部份構成的:CMOS感測器(image sensor)、控制晶片、儲存裝置。但PC所使用的數位相機(PC camera)並沒有儲存裝置,它的影像資料都是經由輸出入通訊埠(I/O port)直接傳給PC播放或儲存的,如附圖1所示。目前不管是消費型數位相機或PC數位相機,幾乎都使用USB來傳輸影像資料,這是因為USB比其它傳統的傳輸技術更便利和可靠,因此,也擴大了USB控制晶片的市場。
一般功能
如附圖2所示,數位相機的USB控制晶片內部之主要功能有:影像訊號處理(ISP)單元、影像資料壓縮單元、資料傳輸單元。為了錄音,有些還包括高音質的取樣單元,此語音功能還必須遵守USB音訊類別(audio class)標準。為了降低設計成本,此控制晶片必須包含USB控制器和傳收器(transceiver),不需要外接記憶體。通常,從CMOS感測器傳來的影像資料會被編譯或壓縮成JPEG、MPEG-4或H.264格式,所以,影像資料壓縮單元其實是一個影像編碼器。其餘詳細功能如下所列:
■輸出15fps的VGA訊號(不需要額外的DRAM)
■透過EEPROM或FLASH來啟動和設定USB控制器參數。
■接收來自於CMOS感測器的9/8位元RGB(Bayer模式)原始資料
■支援可程式化的色彩校正和gamma校正
■支援可程式化的自動曝光(auto exposure;AE)、自動白平衡(auto
white balance;AWB)、CMOS重置準位(reset level)的自動控制
■支援自動增益控制(auto gain control)
■支援4個量化表(quantization table),因此影像品質是可程式化的
■可輸出原始資料,藉以提供高畫質照片(still image)
■I/O埠的供電壓是3.3V,CPU的供電壓是2.5V
在附圖2中,影像訊號處理器在接收到原始的RGB資料之後,就進行各種影像處理工作,譬如:白平衡、色彩校正和gamma校正、histogram均化.......等。次取樣(sub-sample)和水平掃瞄(raster)單元負責將輸入的影像資料進行「縮放(scaling)」,並將它們轉換成8x8的方塊(block)格式,這種格式是DCT壓縮模組所需要的。JPEG編碼器單元將影像資料壓縮成JPEG格式,最後,這些JPEG資料被USB裝置控制器傳送至PC儲存或在螢幕上播放。音訊介面支援單音(mono)或立體音16位元PCM格式,這些語音資料是經過USB裝置控制器的音訊串流管路(pipe),被傳送到PC。
CMOS感測器
目前常見的CMOS感測器廠牌有:Agilent、Hynix、IC Media、TASC、PixArt、Photobit、OmniVision、Century。CMOS感測器的輸出介面是以8/9位元為單位。
USB控制器
支援暫停(suspend)和遠端喚醒(remote wakeup)的功能。支援3個傳輸介面:視訊、音訊和控制。USB參數儲存於外部的EEPROM裡,這些參數包括:廠商編號、產品編號、最大功率、序號、製造描述、產品描述、晶片版本。
影像訊號處理
其硬體線路可以偵測或隱藏失效像素(dead pixel)。以2線或3線的串列匯流排(serial bus)介面與CMOS感測器通訊。此外,還支援可程式化的AE/AWB視窗、畫面邊緣的強化、雜音的移除、2x2次取樣。
圖2:USB相機控制器的內部架構
水平掃瞄
通常,經過水平掃瞄(raster)以後的輸出資料格式是4:2:2 YCbCr。雖然,CMOS感測器所拍攝到的原始影像是高畫質的4:4:4 YCbCr,但為了影像壓縮,必須將它轉換為畫質較差的4:2:2 YCbCr。此外,這個單元會將影像資料轉換成DCT壓縮模組所需要的8x8方塊(block)格式。
壓縮模組
支援2-AC和2-DC的Huffman碼表(code table)。它具有「位元率控制(bit rate control)」單元,可以調整壓縮比。可程式化地簡化JPEG抬頭檔(header),以加快編碼速度。支援15fps VGA輸出;或輸出CIF(common intermediate format)/SIF(source input format)時,可以增加到30fps。
音訊介面
內建16-位元「類比數位轉換器(ADC)」,以提供錄音功能。取樣速率是8/16KHz。
系統控制
此單元負責控制影像訊號處理單元、JPEG單元、USB單元,設定控制暫存器(control register)、產生系統時脈、偵測錯誤、管理USB傳輸。
視訊訊號
附圖3是從CMOS感測器輸出端所測得的標準輸入訊號波形,其中CS_CLK是感測器的時脈,CS_D是感測器的資料,Vsync和Hsync分別是垂直/水平同步訊號。這些訊號都是上升緣啟動(rising-edge active)的。當Vsync從低值升到高值時,表示一個新的視訊框(frame)即將來臨。當Vsync從低值升到高值時,表示一條新的掃描線(scanline)即將來臨。
CS_CLK是從USB控制器輸出到感測器,但是Vsync和Hsync的訊號方向是雙向的,當Vsync或Hsync是從感測器輸入至USB控制器時,是標準的照相模式,影像資料隨著CS_CLK時脈不斷地輸出至USB控制器。當Vsync或Hsync是從USB控制器輸入至LCD面板時,則是播放模式,影像資料隨著CS_CLK時脈不斷地輸出至LCD面板。因此,這種USB控制器晶片也是一種視訊橋接器(video bridge)。附圖4是當Vsync或Hsync從USB控制器輸入至LCD面板時的標準時脈圖,這時Vsync/Hsync會比CS_CLK慢Td的時間。
在一條標準的VGA或RGB訊號線裡面都包含了5個訊號:紅(R)、綠(G)、藍(B)、Vsync、Hsync。紅綠藍三個訊號是承載了像素資料的類比訊號,Vsync和Hsync則提供了要讓顯示器或面板能夠正確播放影像所必需的時序資訊。