<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > LCD TV視頻解碼器技術(shù)簡(jiǎn)介

LCD TV視頻解碼器技術(shù)簡(jiǎn)介

——
作者:丹尼爾(臺灣) 時(shí)間:2007-01-02 來(lái)源:電子產(chǎn)品世界 收藏

就技術(shù)層面而言, TV是屬于高整合電子產(chǎn)品。它涵蓋了算法、軟件、硬件、芯片、無(wú)線(xiàn)射頻等領(lǐng)域,而且有許多專(zhuān)利是屬于國外公司或機構所擁有。目前國內很缺乏熟悉這塊領(lǐng)域的系統整合人才。目前即使在先進(jìn)國家,由于 TV或HDTV仍然屬于最新的產(chǎn)品,熟悉這塊領(lǐng)域的技術(shù)人才,其實(shí)也不多。與之相近的,應該是數位機頂盒(Digital STB),不過(guò),前者的技術(shù)復雜度又遠遠超過(guò)后者,因為 TV或HDTV除了包含了網(wǎng)絡(luò )通信的功能以外,還包括OSD(On Screen Display)和“縮放控制器(Scalar)”、屏幕驅動(dòng)等功能。所以,即使設計過(guò)STB的人,也不敢隨便說(shuō)LCD TV或HDTV的技術(shù)很簡(jiǎn)單。

LCD TV的硬件架構

圖1 LCD TV的硬件架構

圖1是LCD TV的硬件架構示意圖。其中,比較重要的音視頻部件有:中央處理器、視頻解碼器(Video Decoder)、射頻調諧器(RF tuner)、信道解調器(Channel Demodulator/Decoder)、音頻編解碼器(Audio Codec)。此外,還可能包含一般常見(jiàn)的I/O接口與裝置,例如:USB、1394、藍牙、WLAN、IrDA、MMC/SD/CF、以太網(wǎng)絡(luò )、數字相機、DSL或纜線(xiàn)調制解調器(Cable Modem)、PDA等。

視頻解碼器

圖2 混頻解碼器的位置

圖2是一個(gè)LCD TV/HDTV視頻解碼器與相鄰芯片之間的關(guān)系。它具有下列的主要功能:

1. 可編程化的像素(Pixel)輸出端口:由8到30位來(lái)決定像素的YCbCr/RGB的比例,例如:4:2:2或4:4:4。
2. 支持外部的射頻調諧器,具有10-bit的數字基頻合成(Composite)視頻輸入單元。
3. 自動(dòng)辨識和處理VCR或數字電視信號。
4. 通過(guò)像素輸出端口支持“垂直空白間隔(Vertical Blank Interval;VBI)”數據的輸出,可以用來(lái)傳送“字幕(Closed Caption;CC)”數據,例如:傳輸實(shí)時(shí)的股市行情。其它VBI數據可以通過(guò)I2C接口傳輸,例如:版權產(chǎn)生管理系統(Copy Generation Management System;CGMS)、寬屏幕信號(Wide Screen Signalling)、強清晰度電視(Enhanced Definition Television;EDTV)、CC字幕、延伸數據服務(wù)(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線(xiàn)的YPbPrHV/RGBHV和CSync,如圖3。

圖3  支持多種視頻輸入格式

視頻串流的路徑

附圖四是一個(gè)簡(jiǎn)易的LCD TV或數字電視接收系統之架構。它包含了上述的硬件架構,也包括了必需的軟件。

圖4  簡(jiǎn)易的LCD TV系統架構

從解碼器、解調器傳來(lái)的MPEG-2傳輸串流(transport stream;TS),經(jīng)過(guò)”解多復用器(Demultiplexer)”之后,可以得到視頻、音頻、數據、對白(subtitle)或字幕…..等不同的信號,再經(jīng)過(guò)視頻解碼器(例如:MPEG-2/4或H.264)、音頻解碼器,得到的數據是最原始的(raw)數據。這些數據會(huì )被中央處理器送到適當的通信協(xié)議層,例如:V4L2、RTP/RTCP/RTSP、HTTP、Java應用程序……等,之后通過(guò)“回傳信道(return channel)”,例如:以太網(wǎng)絡(luò ),將這些數據送到因特網(wǎng)上;或送至OSD、音頻DAC,交給LCD和揚聲器播放。

沒(méi)錯,數字機頂盒也具有上述的類(lèi)似功能。它和LCD TV一樣也都具有“條件訪(fǎng)問(wèn)(CA)”的功能。只不過(guò),LCD TV的屏幕都是內建的,而且,一般的數字機頂盒只能通過(guò)單一的路徑來(lái)獲取視頻,但是,LCD TV可以通過(guò)4種不同的路徑來(lái)取得視頻,這包含:衛星數字、數字地面、因特網(wǎng)、有線(xiàn)數據網(wǎng)絡(luò )。不過(guò),就交互式電視的軟件而言,數字機頂盒和LCD TV的軟件是非常類(lèi)似的,甚至是一樣的。

在“設備驅動(dòng)程序(device driver)”層,為了能播放數字電視信號,LCD TV的I/O端口必須要有LCD驅動(dòng)程序(能夠設定OSD和Scalar)和音頻驅動(dòng)程序。為了能將互動(dòng)信息傳送至因特網(wǎng)上,它也需要以太驅動(dòng)程序和DSL(或纜線(xiàn))調制解調器驅動(dòng)程序。外部裝置也可以通過(guò)IrDA或I2C、SPI、UART……等接口,將數據送給LCD TV處理。此外,接收端的視頻/音頻解碼器的驅動(dòng)程序也位于這一層。

有許多工程師不了解LCD TV或數字機頂盒的視頻數據流(data flow)的行動(dòng)路徑,因此經(jīng)常造成消錯上的困擾,尤其是在經(jīng)過(guò)視頻解碼器之后,信號應交給中央處理器處理,而不是其它組件。同理,如果在附圖四中的信號來(lái)源換成是以太網(wǎng)絡(luò ),而不是射頻天線(xiàn),在經(jīng)過(guò)視頻解碼器解碼之后的信號仍應交給中央處理器。此外,在圖四中,不管是MPEG-2 TS或PS/PES,都可以將它們視為最底層的數字數據封包,其地位和角色皆如同以太封包一樣,有別于模擬信號。

解碼引擎

由于視頻、音頻格式的多樣化,使用單一的解碼器已經(jīng)無(wú)法滿(mǎn)足這么多的需求。于是有所謂的“解碼引擎(decode engine)”,它可能是一顆RISC或DSP,負責重置、停止、加載和啟動(dòng)固件或“微碼(microcode)”,并處理所有與串流解碼無(wú)關(guān)的工作,例如:輸出聲音。

每個(gè)解碼引擎內部具有數個(gè)解碼器,負責下列的工作:
1. 開(kāi)啟或關(guān)閉單一串流。
2. 傳送命令。例如:初始化、解除初始化、播放、暫停、停止等。
3. 取得目前的狀態(tài)信息。例如:播放中、已暫停等。
4. 各種串流獨有的特性。例如:數據格式等。

在這些RISC或DSP內部都具有許多個(gè)硬件模塊,而每一個(gè)模塊都具有特定的實(shí)體功能;這些功能通??梢岳镁彺嫫?Register)來(lái)設定。一般而言,這些RISC或DSP會(huì )包含下列的硬件模塊:
1. 解多任務(wù)(Demux)引擎:同時(shí)對視頻和音頻分工。
2. MPEG引擎:是一個(gè)視頻DSP,內含一個(gè)視頻解碼器和一個(gè)“子圖像(Subpicture)解碼器”。
3. 音頻引擎:是一個(gè)音頻DSP,內含兩個(gè)音頻解碼器和一個(gè)混頻器(mixer)。
4. 中央處理器:CPU核心、DMA、中斷處理單元。

這些RISC或DSP的軟件模塊是利用硬件模塊來(lái)產(chǎn)生“執行緒(task)”。例如下列的軟件模塊:
1. 系統區塊:PLL初始化、DRAM設定……等。
2. 圖形加速引擎:使用圖形加速命令所控制的FIFO,來(lái)加快處理速度。
3. 字幕解碼模塊:軟件的字幕解碼單元。
4. I2C:軟件的I2C接口,為可程序化的輸出入端口(PIO)。
5. 內存管理模塊:DRAM的配置。

解碼引擎的驅動(dòng)程序

圖5 視頻解碼引擎的驅動(dòng)程序架構

通常,視頻解碼引擎的驅動(dòng)程序會(huì )包含下列幾個(gè)單元(如附圖五):
1. 與操作系統和芯片無(wú)關(guān)的應用程序接口(API):控制緩存器和DRAM的存取。
2. 硬件抽象層鏈接庫:與硬件相關(guān),可通過(guò)XML語(yǔ)言來(lái)設定它,以適應特定的芯片。它不包含與操作系統相關(guān)的API,只會(huì )呼叫與操作系統和芯片無(wú)關(guān)的API。
3. 最少的核心模塊:它在上述1.的上方,負責存取緩存器和處理DMA,并且處理OS核心的全部作業(yè),例如:IRQ處理、DMA配置…等。
4. 核心模塊:它呼叫“最少的核心模塊”,以存取硬件。

內存的配置

圖6  視頻解碼器的內存配置

內存配置是在開(kāi)發(fā)視頻解碼裝置時(shí),必須特別考慮的。圖6是典型的視頻解碼器之內存配置;附表一是各種視頻格式在解碼時(shí)所需要的內存大小。

表1  各種視頻格式的內存需求

配置內存時(shí),必須避免分割太小和太多。務(wù)必先配置大的、長(cháng)時(shí)間使用的緩沖空間(buffer);在進(jìn)行多信道播放時(shí),應避免不必要的配置或釋放緩沖空間。(本文選自《零組件》雜志)



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>