我知道,我對(duì)與電子有關(guān)的所有事情都很著迷,但不論從哪個(gè)角度看,今天的現(xiàn)場可編程門陣列(FPGA),都顯得“鶴立雞群”,真是非常棒的器件。如果在這個(gè)智能時(shí)代,在這個(gè)領(lǐng)域,想擁有一技之長的你還沒有關(guān)注FPGA,那么世界將拋棄你,時(shí)代將拋棄你。
視頻壓縮
視頻數(shù)據(jù)是極其消耗存儲(chǔ)空間的,而且最可怕的是它還在不斷增長。一秒鐘的未壓縮4:2:2 NTSC視頻需要27MB的存儲(chǔ)空間,一分鐘就需要1.6GB!由于未經(jīng)處理的原始視頻占用非常高的專用帶寬,因此業(yè)界花費(fèi)了很多的努力,只要有可能,就盡量避免傳輸未經(jīng)壓縮的數(shù)據(jù)。已經(jīng)開發(fā)出了一些壓縮算法,可以將傳輸NTSC/PAL視頻所需的帶寬從每秒數(shù)十兆降低到每秒幾兆,并且可以根據(jù)視頻質(zhì)量來調(diào)整帶寬的效率。
壓縮率高度依賴于要壓縮視頻的內(nèi)容以及使用的壓縮算法。有些編碼器,例如MPEG-4和H.246,具有分別對(duì)前景和背景信息進(jìn)行編碼的能力,這樣就比將整幅圖像作為一個(gè)整體來處理具有更高的壓縮比。一些在空間上變化非常小的圖像(例如大塊的單一顏色區(qū)域),以及那些幀與幀之間相對(duì)比較靜態(tài)的視頻(例如慢速變化的背景)都是可以大比例壓縮的。另一方面,一些細(xì)節(jié)豐富的圖像和快速變化的視頻內(nèi)容將會(huì)降低壓縮率。
大多數(shù)嵌入式媒體處理開發(fā)人員傾向于將視頻編解碼器看作是”drop-in”的模塊,處理器供應(yīng)商或第三方源代碼已經(jīng)專門針對(duì)該平臺(tái)做了優(yōu)化。換句話說,現(xiàn)在的大多數(shù)嵌入式多媒體設(shè)計(jì)員期望獲得視頻解編碼器,而不是從頭開始自己設(shè)計(jì)。這樣,他們主要關(guān)心的問題就變成了,在他們的應(yīng)用中應(yīng)該選用哪個(gè)編解碼器。我們簡單介紹一下下面這些較為流行的編解碼器。
選擇視頻編碼器不存在對(duì)錯(cuò),——它實(shí)際值取決于你的最終應(yīng)用真正需要什么。如果內(nèi)容的來源、分發(fā)和顯示都得到了很好的控制,那么可以考慮使用具有專有權(quán)的編解碼器。這樣可以獲得很高的性能,而不用擔(dān)心受到標(biāo)準(zhǔn)組織的干預(yù)?;蛘撸绻悴辉敢庵Ц秾@褂觅M(fèi),那么開源編解碼器就是非常有吸引力的替代方案。內(nèi)容保護(hù)、網(wǎng)絡(luò)流性能、比特率特性(恒速還是可變速率、編碼選項(xiàng)等)都是區(qū)分編解碼器的其他重要特征。另外也不要忘記考慮下面這些事項(xiàng):你選用的媒體處理器連接的是哪種編碼器,具有多少種實(shí)現(xiàn)方式,它們的技術(shù)支持是否良好以及使用這些編解碼器的綜合成本如何(前期成本和單位成本)。
下表列出了一些流行的視頻編碼標(biāo)準(zhǔn),以及各自的原始提出機(jī)構(gòu),我們對(duì)每一個(gè)標(biāo)準(zhǔn)做一些簡單的介紹。
流行的視頻編碼標(biāo)準(zhǔn)
1、 MotionJPEG(M-JPEG)
雖然JPEG標(biāo)準(zhǔn)沒有專門包含M-JPEG,但是M-JPEG也提供了一種很方便的方法壓縮視頻幀,并且是在MPEG-1正式形成方法之前。實(shí)質(zhì)上,每一個(gè)視頻幀都是單獨(dú)進(jìn)行JPEG編碼的,然后按順序存儲(chǔ)(之后解碼)壓縮后的視頻幀。
還有MotionJPEG2000編解碼器,它使用了J2K代替JPEG去編碼各個(gè)視頻幀。就像J2K代替了JPEG一樣,這個(gè)編解碼器也可能會(huì)取代M-JPEG。
2、H.261
這個(gè)標(biāo)準(zhǔn)是在1990年開發(fā)出來的,是第一個(gè)被廣泛使用的視頻編解碼器。該標(biāo)準(zhǔn)引入了將一幀圖像分割為16X16的“宏塊”的概念,跟蹤這些宏塊在不同幀之間的運(yùn)動(dòng)就可以計(jì)算出運(yùn)動(dòng)補(bǔ)償矢量。這個(gè)標(biāo)準(zhǔn)主要定位于在ISDN線路(px64kbps,這里p的范圍是1~30)上進(jìn)行的視頻電話應(yīng)用。輸入幀通常為30fps的CIF圖像,而輸出壓縮幀大約為10fps分辨率,傳輸速度為64~128kbps。雖然這個(gè)標(biāo)準(zhǔn)現(xiàn)在還在繼續(xù)使用,但幾乎已經(jīng)被其后繼者H.263、H.264所取代。
3、 MPEG-1
MPEG-1誕生于20世紀(jì)90年代初期,它提供了一種可以數(shù)字化的存儲(chǔ)音頻和視頻數(shù)據(jù)的方法,并能以大體相當(dāng)于NHS(VIDEO HOME SYSTEM,家用錄像系統(tǒng))的質(zhì)量恢復(fù)出來。這個(gè)編解碼器的目標(biāo)是在CD-ROM上存儲(chǔ)視頻數(shù)據(jù),具體來說,,基本目的是允許在容量為650~750MB的CD-ROM上存儲(chǔ)和回放VHS質(zhì)量的視頻,允許創(chuàng)建一個(gè)所謂的視頻CD(VCD)。組合起來的視頻/音頻比特流可以適應(yīng)1.5Mbps的帶寬,這對(duì)應(yīng)于當(dāng)時(shí)從CD-ROM中和數(shù)字音頻磁帶系統(tǒng)中恢復(fù)出來的數(shù)據(jù)。
在更高的比特率下,MPEG-1在質(zhì)量上超過了H.261(對(duì)于CIF輸入幀,允許1Mbps以上的速率)。雖然CIF也用于某些源數(shù)據(jù)流,但一種稱為SIF的格式也許更流行。這是一種每幀有352X240像素的格式,大約相當(dāng)于720X480 NTSC幀的一半。MPEG-1是專門為以每秒30幀的速度壓縮SIF格式逐行掃描視頻而開發(fā)出來的。和H.261相比,MPEG-1中增加了雙向運(yùn)動(dòng)預(yù)測和半像素運(yùn)動(dòng)估計(jì)。雖然現(xiàn)在有些比較頑固的人仍然在用MPEG-1創(chuàng)建VCD,但是和MPEG-2相比,已經(jīng)很少見了。
4、MPEG-2
由于受到跨多種終端市場需求的驅(qū)動(dòng),MPEG-2很快就超越了MPEG-1,并具有編碼比特率從1 Mbps到30Mbps擴(kuò)展能力。這就為高性能應(yīng)用(包括DVD視頻、標(biāo)清電視和高清電視)打開了一扇大門。即使是在比較低的MPEG-2比特率下,最終的碼流質(zhì)量也要優(yōu)先于MPEG-1。
這個(gè)復(fù)雜的標(biāo)準(zhǔn)由10個(gè)部分組成,“視覺”部分也稱為H.262。MPEG-1主要目標(biāo)在于CD和VHS質(zhì)量的視頻,但MPEG-2則實(shí)現(xiàn)了DVD質(zhì)量的視頻,輸入符合BT.601(NTSC720X480,30fps)的要求,輸出碼流速率范圍是4~30Mbps,這根據(jù)選擇的“性能配置”有所不同。MPEG-2既支持隔行掃描,也支持逐行掃描。
5、H.263
這個(gè)編碼器在視頻會(huì)議系統(tǒng)中應(yīng)用非常普遍,在所有的比特率上都要優(yōu)先于H.261。輸入源通常為30fps的QCIF或CIF,在10fps下,輸出比特率甚至可以低于28.8kbps,這和H.261具有同樣的性能。因此,H.261需要在ISDN線路上傳輸,而H.263用普通的電話線就可以傳輸。H.263應(yīng)用的終端市場包括視頻通話和網(wǎng)絡(luò)監(jiān)控(包括基于互聯(lián)網(wǎng)的應(yīng)用)。
6、MPEG-4
MPEG-4是從H.263的基線開始,增加了一些改進(jìn)。其主要的目標(biāo)是網(wǎng)絡(luò)上傳輸?shù)牧魇蕉嗝襟w。因?yàn)榫W(wǎng)絡(luò)通常有些帶寬限制,所以一般來講,MPEG-4編解碼的輸入源是CIF及其以下的分辨率。MPEG-4允許對(duì)不同類型的對(duì)象選用不同的編碼方式。例如,靜態(tài)的背景紋理和移動(dòng)的前景形狀就被區(qū)別對(duì)待,以便使整體的壓縮率最大。MPEG-4使用了幾種不同的性能配置,其中最流行的是“Simple”和“Advanced Simple”。Simple Profile適合于較低的視頻分辨率和較低的比特率,例如手機(jī)上的視頻流。Advanced Simple Profile主要用于較高的視頻分辨率和較高的比特率。
7、DV
DV是專門為消費(fèi)類(隨后也包括專業(yè)類)視頻設(shè)備而開發(fā)的,它的壓縮策略本質(zhì)上與Motion JPEG相似,可以接收亮度和色度信息的BT.601采樣格式。在攝像機(jī)中,它的應(yīng)用是相當(dāng)普遍的,這種格式根據(jù)不同的比特率和色度下采樣策略,可以允許幾種不同的“播放”模式。DV通常在IEEE1934接口上傳輸,它的比特率可以從標(biāo)清消費(fèi)級(jí)設(shè)備常用的25Mbps擴(kuò)展到高清視頻設(shè)備常用的100Mbps以上。
8、QuickTime
QuickTime格式由蘋果公司開發(fā),包含了一組多媒體編解碼器和一些處理數(shù)字視頻、音頻、動(dòng)畫、圖像和文本的算法。QuickTime7.0遵從MPEG-4和H.264標(biāo)準(zhǔn)。事實(shí)上,QuickTime文件格式作為ISO的MPEG-4標(biāo)準(zhǔn)的基礎(chǔ),部分原因在于它提供了一種完全點(diǎn)對(duì)點(diǎn)的解決方案,從視頻捕獲、編輯和存儲(chǔ),到內(nèi)容回放和分發(fā),全都包括。
9、RealVideo
RealVideo是由RealNetworks公司開發(fā)的具有專利權(quán)的視頻編解碼器。RealVideo開始是作為PC上的低比特率的流媒體格式開發(fā)出來的,但是現(xiàn)在它也延伸到了便攜式設(shè)備市場中,也用于寬帶流媒體和手機(jī)基礎(chǔ)設(shè)施。RealVideo可以用于實(shí)時(shí)流,也可以用于下載文件之前的視頻點(diǎn)播預(yù)覽。RealNetworks將RealVideo和RealAudio捆綁在一起,RealAudio是它的專有音頻編解碼器,產(chǎn)生的一個(gè)RealMedia集成文件,可以用于PC上的應(yīng)用程序RealPlayer播放。
10、Windows Media Video(WMV)
這個(gè)編解碼器是微軟公司開發(fā)的MPEG-4的變體。它也具有數(shù)字版權(quán)管理能力,可以控制如何瀏覽視頻內(nèi)容、復(fù)制、修改或重放。
11、Theora
Theora是一個(gè)開源、免專利使用費(fèi)的視頻編解碼器,由Xiph.org基金會(huì)開發(fā),該基金會(huì)已經(jīng)開發(fā)了若干個(gè)開源音頻編解碼器。Theora是基于VP3編解碼器開發(fā)出來的,后者是由On2Technologies向公共領(lǐng)域發(fā)布的。這個(gè)編解碼器主要是和一些低比特率的編解碼器競爭。
12、H.264
H.264也稱為MPEG-4第10部分、H.26L或MPEG-4AVC profile。實(shí)際上,這個(gè)標(biāo)準(zhǔn)是一個(gè)多方合作的象征,由ITU-T和ISO/IEC委員會(huì)共同定義出來的。H.264的目標(biāo)是和前面的標(biāo)準(zhǔn)相比,要在保證合理的視頻質(zhì)量的前提下將比特率降低50%以上。該標(biāo)準(zhǔn)可以在很廣的比特率和視頻分辨率范圍內(nèi)工作。H.264在比特率上有了極大的降低,其代價(jià)就是實(shí)現(xiàn)的復(fù)雜度大幅增加。這種復(fù)雜度是的D-1格式的H.264編碼僅僅在高端媒體處理器中才有應(yīng)用,通常還需要兩個(gè)分立器件來分擔(dān)處理任務(wù)。
評(píng)論