就技術層面而言,LCD TV是屬于高整合電子產品。它涵蓋了算法、軟件、硬件、芯片、無線射頻等領域,而且有許多專利是屬于國外公司或機構所擁有。目前國內很缺乏熟悉這塊領域的系統整合人才。目前即使在先進國家,由于LCD TV或HDTV仍然屬于最新的產品,熟悉這塊領域的技術人才,其實也不多。與之相近的,應該是數位機頂盒(Digital STB),不過,前者的技術復雜度又遠遠超過后者,因為LCD TV或HDTV除了包含了網絡通信的功能以外,還包括OSD(On Screen Display)和“縮放控制器(Scalar)”、屏幕驅動等功能。所以,即使設計過STB的人,也不敢隨便說LCD TV或HDTV的技術很簡單。
LCD TV的硬件架構
圖1 LCD TV的硬件架構
圖1是LCD TV的硬件架構示意圖。其中,比較重要的音視頻部件有:中央處理器、視頻解碼器(Video Decoder)、射頻調諧器(RF tuner)、信道解調器(Channel Demodulator/Decoder)、音頻編解碼器(Audio Codec)。此外,還可能包含一般常見的I/O接口與裝置,例如:USB、1394、藍牙、WLAN、IrDA、MMC/SD/CF、以太網絡、數字相機、DSL或纜線調制解調器(Cable Modem)、PDA等。
視頻解碼器
圖2 混頻解碼器的位置
圖2是一個LCD TV/HDTV視頻解碼器與相鄰芯片之間的關系。它具有下列的主要功能:
1. 可編程化的像素(Pixel)輸出端口:由8到30位來決定像素的YCbCr/RGB的比例,例如:4:2:2或4:4:4。
2. 支持外部的射頻調諧器,具有10-bit的數字基頻合成(Composite)視頻輸入單元。
3. 自動辨識和處理VCR或數字電視信號。
4. 通過像素輸出端口支持“垂直空白間隔(Vertical Blank Interval;VBI)”數據的輸出,可以用來傳送“字幕(Closed Caption;CC)”數據,例如:傳輸實時的股市行情。其它VBI數據可以通過I2C接口傳輸,例如:版權產生管理系統(Copy Generation Management System;CGMS)、寬屏幕信號(Wide Screen Signalling)、強清晰度電視(Enhanced Definition Television;EDTV)、CC字幕、延伸數據服務(Extended Data Service;XDS)。
5. 支持全球現有的多種色彩格式:
*PAL B/D/I/G/H、PAL60、PAL M、PAL N、PAL Nc
*NTSC M/J、NTSC 4.43
*SECAM B/D/G/K/L
*NTSC方形像素(square pixel)
6. 支持HDTV的所有輸入信號,例如:525p、625p、720p和1080i,以及其它高分辨率(HD)和SMPTE(Society of Motion Picture Engineers)標準。也支持標準分辨率(SD)。
7. 除支持CVBS、S-Video、YPbPr、RGB以外,還支持5線的YPbPrHV/RGBHV和CSync,如圖3。
圖3 支持多種視頻輸入格式
視頻串流的路徑
附圖四是一個簡易的LCD TV或數字電視接收系統之架構。它包含了上述的硬件架構,也包括了必需的軟件。
圖4 簡易的LCD TV系統架構
從解碼器、解調器傳來的MPEG-2傳輸串流(transport stream;TS),經過”解多復用器(Demultiplexer)”之后,可以得到視頻、音頻、數據、對白(subtitle)或字幕…。.等不同的信號,再經過視頻解碼器(例如:MPEG-2/4或H.264)、音頻解碼器,得到的數據是最原始的(raw)數據。這些數據會被中央處理器送到適當的通信協議層,例如:V4L2、RTP/RTCP/RTSP、HTTP、Java應用程序……等,之后通過“回傳信道(return channel)”,例如:以太網絡,將這些數據送到因特網上;或送至OSD、音頻DAC,交給LCD和揚聲器播放。
沒錯,數字機頂盒也具有上述的類似功能。它和LCD TV一樣也都具有“條件訪問(CA)”的功能。只不過,LCD TV的屏幕都是內建的,而且,一般的數字機頂盒只能通過單一的路徑來獲取視頻,但是,LCD TV可以通過4種不同的路徑來取得視頻,這包含:衛星數字、數字地面、因特網、有線數據網絡。不過,就交互式電視的軟件而言,數字機頂盒和LCD TV的軟件是非常類似的,甚至是一樣的。
在“設備驅動程序(device driver)”層,為了能播放數字電視信號,LCD TV的I/O端口必須要有LCD驅動程序(能夠設定OSD和Scalar)和音頻驅動程序。為了能將互動信息傳送至因特網上,它也需要以太驅動程序和DSL(或纜線)調制解調器驅動程序。外部裝置也可以通過IrDA或I2C、SPI、UART……等接口,將數據送給LCD TV處理。此外,接收端的視頻/音頻解碼器的驅動程序也位于這一層。
有許多工程師不了解LCD TV或數字機頂盒的視頻數據流(data flow)的行動路徑,因此經常造成消錯上的困擾,尤其是在經過視頻解碼器之后,信號應交給中央處理器處理,而不是其它組件。同理,如果在附圖四中的信號來源換成是以太網絡,而不是射頻天線,在經過視頻解碼器解碼之后的信號仍應交給中央處理器。此外,在圖四中,不管是MPEG-2 TS或PS/PES,都可以將它們視為最底層的數字數據封包,其地位和角色皆如同以太封包一樣,有別于模擬信號。
解碼引擎
由于視頻、音頻格式的多樣化,使用單一的解碼器已經無法滿足這么多的需求。于是有所謂的“解碼引擎(decode engine)”,它可能是一顆RISC或DSP,負責重置、停止、加載和啟動固件或“微碼(microcode)”,并處理所有與串流解碼無關的工作,例如:輸出聲音。
每個解碼引擎內部具有數個解碼器,負責下列的工作:1. 開啟或關閉單一串流。2. 傳送命令。例如:初始化、解除初始化、播放、暫停、停止等。3. 取得目前的狀態信息。例如:播放中、已暫停等。4. 各種串流獨有的特性。例如:數據格式等。
在這些RISC或DSP內部都具有許多個硬件模塊,而每一個模塊都具有特定的實體功能;這些功能通常可以利用緩存器(Register)來設定。一般而言,這些RISC或DSP會包含下列的硬件模塊:1. 解多任務(Demux)引擎:同時對視頻和音頻分工。2. MPEG引擎:是一個視頻DSP,內含一個視頻解碼器和一個“子圖像(Subpicture)解碼器”。3. 音頻引擎:是一個音頻DSP,內含兩個音頻解碼器和一個混頻器(mixer)。4. 中央處理器:CPU核心、DMA、中斷處理單元。
這些RISC或DSP的軟件模塊是利用硬件模塊來產生“執行緒(task)”。例如下列的軟件模塊:1. 系統區塊:PLL初始化、DRAM設定……等。2. 圖形加速引擎:使用圖形加速命令所控制的FIFO,來加快處理速度。3. 字幕解碼模塊:軟件的字幕解碼單元。4. I2C:軟件的I2C接口,為可程序化的輸出入端口(PIO)。5. 內存管理模塊:DRAM的配置。
解碼引擎的驅動程序
圖5 視頻解碼引擎的驅動程序架構
通常,視頻解碼引擎的驅動程序會包含下列幾個單元(如附圖五):1. 與操作系統和芯片無關的應用程序接口(API):控制緩存器和DRAM的存取。2. 硬件抽象層鏈接庫:與硬件相關,可通過XML語言來設定它,以適應特定的芯片。它不包含與操作系統相關的API,只會呼叫與操作系統和芯片無關的API。3. 最少的核心模塊:它在上述1.的上方,負責存取緩存器和處理DMA,并且處理OS核心的全部作業,例如:IRQ處理、DMA配置…等。4. 核心模塊:它呼叫“最少的核心模塊”,以存取硬件。
內存的配置
圖6 視頻解碼器的內存配置
內存配置是在開發視頻解碼裝置時,必須特別考慮的。圖6是典型的視頻解碼器之內存配置;附表一是各種視頻格式在解碼時所需要的內存大小。
表1 各種視頻格式的內存需求
配置內存時,必須避免分割太小和太多。務必先配置大的、長時間使用的緩沖空間(buffer);在進行多信道播放時,應避免不必要的配置或釋放緩沖空間。
責任編輯:gt
-
解碼器
+關注
關注
9文章
1131瀏覽量
40676 -
射頻
+關注
關注
104文章
5550瀏覽量
167550 -
lcd
+關注
關注
34文章
4411瀏覽量
167084 -
無線
+關注
關注
31文章
5430瀏覽量
173075
發布評論請先 登錄
相關推薦
評論