人類社會(huì)的三大支柱是物質(zhì)、能量和信息。具體而言,農(nóng)業(yè)現(xiàn)代化的基礎(chǔ)是物質(zhì),工業(yè)現(xiàn)代化的支柱是能量,而信息化的支柱是信息。
90 年代以來,隨著Internet和移動(dòng)通信的迅猛發(fā)展,視頻信息和多媒體信息在Internet網(wǎng)絡(luò)和移動(dòng)網(wǎng)絡(luò)中的處理和傳輸成為了當(dāng)前我國信息化中的熱點(diǎn)技術(shù),數(shù)字視頻技術(shù)在通信和廣播領(lǐng)域獲得了日益廣泛的應(yīng)用。
視頻信息具有直觀性、確切性、高效性、廣泛性和高帶寬性等特點(diǎn)。
一個(gè)基本的視頻處理和通信系統(tǒng)大致可如下圖所示,主要包括采集、預(yù)處理、視頻編碼、通信、圖像處理以及顯示等幾個(gè)方面。
· 數(shù)字信號(hào)的產(chǎn)生:從攝像機(jī)光電轉(zhuǎn)換后得到的電視信號(hào)都是模擬信號(hào),將模擬電視信號(hào)變成數(shù)字電視信號(hào)要經(jīng)過模/數(shù)(A/D)轉(zhuǎn)換過程。
· 模/數(shù)轉(zhuǎn)換包含三個(gè)過程,即取樣、量化及編碼。其中,取樣的目的是將時(shí)間上連續(xù)的模擬信號(hào)變成時(shí)間上離散的信號(hào),量化是將幅度上連續(xù)的取樣值變成幅度上離散的取樣值,而編碼的作用是將離散化的取樣值編成二進(jìn)制數(shù)碼。
· 取樣是指用每隔一定時(shí)間的信號(hào)樣值序列來代替原來的時(shí)間上連續(xù)的信號(hào),也就是在時(shí)間上將模擬信號(hào)離散,其理論基礎(chǔ)是奈奎斯特取樣定理。
· 量化是用有限個(gè)幅度近似原來連續(xù)變化的幅度值,把模擬信號(hào)的幅度離散化。量化過程是把取樣后的信號(hào)幅值歸并到有限個(gè)幅度等級(jí)上,并用一個(gè)相應(yīng)的數(shù)據(jù)來表示。歸并過程使得量化后的信號(hào)幅度與取樣信號(hào)實(shí)際幅度之間有偏差,這稱為量化誤差。量化誤差的存在會(huì)使重現(xiàn)圖像上產(chǎn)生雜波干擾,稱為量化雜波或量化噪聲。
· 編碼則是按照一定的規(guī)律,把量化后的值用數(shù)字表示,然后轉(zhuǎn)換成二值或多值的數(shù)字信號(hào)流。這樣得到的數(shù)字信號(hào)可以通過電纜、微波干線、衛(wèi)星通道等數(shù)字線路傳輸。
圖像采集的功能由圖像傳感器實(shí)現(xiàn),目前圖像傳感器主要有電荷耦合器件(CCD,charge coupled devices)和CMOS傳感器,前者技術(shù)發(fā)展成熟,具有高解析度、低噪聲、動(dòng)態(tài)范圍大等優(yōu)點(diǎn),在高端產(chǎn)品中得到廣泛應(yīng)用,后者隨著半導(dǎo)體技術(shù)的發(fā)展,以其低成本、高的集成度、低功耗等占領(lǐng)了低端市場(chǎng),且隨著技術(shù)的不斷發(fā)展,CMOS圖像傳感器的一些參數(shù)性能指標(biāo)已達(dá)到或超過 CCD。但不論是CCD還是CMOS傳感器在將實(shí)際景物轉(zhuǎn)換為圖像信號(hào)時(shí)總會(huì)引入各種噪聲和畸變失真,因此一般需要對(duì)圖像傳感器的圖像進(jìn)行預(yù)處理,包括伽馬校正、圖像插值、圖像校正、白平衡、圖像增強(qiáng)以及增益控制等技術(shù),一方面改善圖像的質(zhì)量,另一方面,可使得圖像有利于視頻編碼的處理。
前面的攝像頭工作原理中已經(jīng)講過,無論是CCD還是CMOS,一個(gè)像素點(diǎn)往往只能給出記錄從純白到純黑的系列色調(diào),因而只能給出單色的色調(diào)值,不能同時(shí)給出RGB三組數(shù)據(jù)。因此,對(duì)于彩色的圖像值的獲取,這就需要借助色彩濾鏡陣列(CFA,Color Filter Array),即圖像傳感器的像素表面覆蓋一個(gè)多色的濾鏡陣列。通過應(yīng)用不同的色彩濾鏡陣列,可以獲得不同的圖像輸出陣列,其中,最常見的一種濾鏡陣列的圖像傳感器獲得的是一幅如圖2.9所示的馬賽克的圖像陣列,即Bayer模型。
圖2.1-1 Bayer 圖像陣列
顯然,這種圖像陣列中,每個(gè)像素值只有一個(gè)顏色的色調(diào)值,另外兩個(gè)顏色的色調(diào)必須利用相鄰像素之間的相關(guān)性,通過數(shù)據(jù)計(jì)算獲得,這些方法通常就被稱為色彩插值。
通過插值已經(jīng)得到了 RGB 三元色齊全的圖像(R、G、B)了,但傳感器響應(yīng)的這個(gè)圖像與真實(shí)場(chǎng)景之間仍存在差異。這存在多方面的原因,涉及圖像傳感器中光學(xué)器件(棱鏡)的光譜特性、場(chǎng)景的光源光照條件(諸如白光、熒光或者鎢光)以及色彩濾鏡的光譜特性等因素。
為了補(bǔ)償這種差異,必須對(duì)圖像的像素值(R、G、B)進(jìn)行變換處理。這種處理需要傳感器廠商在滿足人眼的視覺效果的前提下,依據(jù)性能指標(biāo)和測(cè)試結(jié)果綜合給出。
因此,這里的色彩校正不可能做到理想的效果,只能做到盡可能地減小上述的差異性。
在計(jì)算機(jī)圖形領(lǐng)域, “伽馬校正”這個(gè)術(shù)語大家并不陌生,但它的含義可能正確理解的不多。這其中又涉及到另一個(gè)術(shù)語—強(qiáng)度(Intensity),其表示的是每單位面積傳播的(光)輻射能量。在圖像顯示器中,這個(gè)強(qiáng)度作為參量和輸入的電壓信號(hào)密切相關(guān)。
以目前應(yīng)用的陰極射線管顯示器CRT 為例,CRT 的感光材料的響應(yīng)隨著加載電子束電壓信號(hào)的不同而不同。在理想狀態(tài)時(shí),輸出的色彩強(qiáng)度Intensity和電子束的電壓信號(hào)之間的關(guān)系應(yīng)該是線性的,如圖2.3-1 (a)所示;但實(shí)際上,如圖2.3-1 (b)所示,輸出的強(qiáng)度隨著電壓信號(hào)之間是非線性的。
圖2.3-1(a) 理想的線性響應(yīng) 圖2.3-1(b)實(shí)際的非線性響應(yīng)
研究表明,顯示器的輸出強(qiáng)度和輸出電壓的相應(yīng)大致呈冪指數(shù)關(guān)系。通常我們就把這個(gè)冪指數(shù)稱為伽馬(gamma),為了在顯示器上顯示的圖像效果和實(shí)際相符,有必要在攝像機(jī)獲取圖像后進(jìn)行伽馬校正,使得上述這種非線性校正為線性關(guān)系。
很顯然,實(shí)際應(yīng)用中圖像傳感器的輸出圖像經(jīng)過上述的處理并不是完美的,圖像質(zhì)量獲得的改進(jìn)也是有限的,加之噪聲、光照等原因,需要進(jìn)一步處理,丟棄無用的信息,保留我們感興趣的重要信息。圖像增強(qiáng)作為一種重要的圖像處理技術(shù),目的無非就是兩個(gè):第一更適合人眼的感覺;第二有利于后續(xù)的分析處理。
圖像增強(qiáng)主要包括直方圖均衡、平滑濾波、中值濾波、銳化等內(nèi)容。一般情況下,圖像增強(qiáng)既可以在空間域?qū)崿F(xiàn),也可以在頻域內(nèi)實(shí)現(xiàn)。這里我們主要介紹在空間域內(nèi)對(duì)圖像進(jìn)行點(diǎn)運(yùn)算,它是一種既簡單又重要的圖像處理技術(shù),它能讓用戶改變圖像上像素點(diǎn)的灰度值,這樣通過點(diǎn)運(yùn)算處理將產(chǎn)生一幅新圖像??傊?,圖像增強(qiáng)后,有利于視覺的效果和后續(xù)的處理,消除了相關(guān)性和高頻噪聲,有利于圖像的壓縮和處理,節(jié)省帶寬。
下圖就是經(jīng)過銳化處理前后圖像的對(duì)比:
圖2.4-1銳化處理效果圖
白平衡作為圖像處理的一個(gè)重要術(shù)語,也隨著數(shù)碼相機(jī)的普及進(jìn)入了人們的認(rèn)識(shí)中。白平衡指的就是對(duì)白色物體的還原。當(dāng)我們用肉眼觀看這大千世界時(shí),在不同的光線下,對(duì)相同的顏色的感覺基本是相同的,比如在早晨旭日初升時(shí),我們看一個(gè)白色的物體,感到它是白的;而我們?cè)谝雇砘璋档臒艄庀?,看到的白色物體,感到它仍然是白的。這是由于人類從出生以后的成長過程中,人的大腦已經(jīng)對(duì)不同光線下的物體的彩色還原有了適應(yīng)性。但是,圖像傳感器沒有這種人眼的適應(yīng)性,在不同的光線下,由于圖像傳感器輸出的不平衡性,造成其輸出的彩色失真:或者圖像偏藍(lán),或者偏紅,如圖8.5-1所示。
圖2.4-1白平衡示意圖
理解白平衡,涉及到另一個(gè)重要的概念:色溫。所謂色溫,簡而言之,就是定量地以開爾文溫度表示色彩。色溫越高,藍(lán)色成分就越多;色溫越低,紅色成分就越多,在攝影、攝像時(shí),不同色溫光源下拍攝物體,獲得的圖像不可避免會(huì)出現(xiàn)色彩上的偏差。為了獲得現(xiàn)實(shí)際世界中各種色彩的圖像,必須消除環(huán)境中光源色溫的影響,即進(jìn)行白平衡處理。
視頻編碼系統(tǒng)的基本結(jié)構(gòu)如圖2-1 所示。
![]() |
圖2-1視頻編解碼系統(tǒng)
·
裸視頻的數(shù)據(jù)量非常龐大,傳輸網(wǎng)絡(luò)帶寬要求高,就像一輛龐大的貨車只有在寬闊的馬路上才能行駛一樣。而在目前的低帶寬網(wǎng)絡(luò)條件下要想傳輸裸的視頻數(shù)據(jù)是極為昂貴的,因此視頻數(shù)據(jù)在傳送前要先進(jìn)行壓縮編碼,即進(jìn)行視頻源壓縮編碼,然后在網(wǎng)絡(luò)上進(jìn)行傳送,以便節(jié)省傳送帶寬和存儲(chǔ)空間。這里有兩個(gè)要求:
1)必須壓縮在一定的帶寬內(nèi),即視頻編碼器應(yīng)具有足夠的壓縮比;
2)視頻信號(hào)壓縮之后,應(yīng)保持一定的視頻質(zhì)量。這個(gè)視頻質(zhì)量有兩個(gè)標(biāo)準(zhǔn):一個(gè)為主觀質(zhì)量,由人從視覺上進(jìn)行評(píng)定;一個(gè)為客觀質(zhì)量,通常用信噪比(S/N)表示。
如果不問質(zhì)量,一味地壓縮,雖然壓縮比很高,但壓縮后嚴(yán)重失真,顯然達(dá)不到要求;反之,如只講質(zhì)量,壓縮比太小,也不符合要求。
當(dāng)然,在以上兩個(gè)要求下,視頻編碼器的實(shí)現(xiàn)應(yīng)力求簡單、易實(shí)現(xiàn)、成本低、可靠性高,這也是基本的要求。
視頻信號(hào)壓縮的目的是減小數(shù)據(jù)量,降低信號(hào)傳輸?shù)臄?shù)碼率。壓縮過程實(shí)際上就是去除圖像中那些與信息無關(guān)或?qū)D像質(zhì)量影響不大的部分,即冗余部分。根據(jù)視頻信號(hào)的特點(diǎn)及人眼的視覺特性,視頻信號(hào)中存在很多的冗余部分,去除圖像中那些與信息無關(guān)或?qū)D像質(zhì)量影響不大的部分,這就為圖像壓縮提供了可能性。視頻信號(hào)的冗余性表現(xiàn)在以下幾個(gè)方面:時(shí)間和空間相關(guān)冗余、視覺冗余、熵冗余。
· 空間相關(guān)性:對(duì)于大多數(shù)電視圖像來說,相鄰像素之間、相鄰行之間圖像內(nèi)容變化很小,即具有很大的相關(guān)性(或稱相似性),這種相關(guān)性稱為電視信號(hào)的空間相關(guān)性或幀內(nèi)相關(guān)性。
· 時(shí)間相關(guān)性:電視信號(hào)是利用人眼的視覺特性,借助于快速傳送相關(guān)畫面的方式來再現(xiàn)活動(dòng)畫面的,因此在相鄰場(chǎng)或幀的對(duì)應(yīng)像素間也存在很強(qiáng)的相關(guān)性,稱之為時(shí)間相關(guān)性或幀間相關(guān)性。
時(shí)間和空間相關(guān)性造成了電視信號(hào)的冗余,減少這些冗余就可以實(shí)現(xiàn)圖像壓縮。
· 人眼的視覺效果是圖像質(zhì)量的最直接也是最終的檢驗(yàn)標(biāo)準(zhǔn),對(duì)于人眼難以識(shí)別的數(shù)據(jù)或?qū)σ曈X效果影響甚微的數(shù)據(jù),都可認(rèn)為是多余的數(shù)據(jù),可以省去。這些多余部分就是視覺冗余。
例如,通過對(duì)人眼視覺特性的研究,發(fā)現(xiàn)人眼對(duì)靜止或緩慢運(yùn)動(dòng)圖像的灰度等級(jí)及圖像細(xì)節(jié)的分辨力很高,而對(duì)快速運(yùn)動(dòng)圖像的灰度等級(jí)及圖像細(xì)節(jié)的分辨力卻較低。人眼在觀察大面積像塊時(shí),對(duì)灰度等級(jí)分辨力很高,而對(duì)輪廓細(xì)節(jié)的分辨力則較低;這些說明人眼接收綜合信息的速率有限
如前所述,視頻信號(hào)存在多方面的冗余性,因此壓縮時(shí)采用的編碼方式也有多種多樣,這些方式可從不同角度進(jìn)行分類編碼。
(1)幀間壓縮編碼:又稱時(shí)間冗余壓縮編碼。此方式在相鄰幀之間進(jìn)行,它利用了電視圖像信號(hào)的時(shí)間相關(guān)性來消除相鄰幀之間的冗余信息。這種方式對(duì)于靜止圖像或緩慢運(yùn)動(dòng)圖像有很強(qiáng)的壓縮能力,但對(duì)于快速運(yùn)動(dòng)圖像,由于其時(shí)間相關(guān)性降低,因此壓縮能力也相應(yīng)減弱。
(2)幀內(nèi)壓縮編碼:又稱空間冗余壓縮編碼。這種編碼方式是在一幀(或一場(chǎng))內(nèi)進(jìn)行的,它利用了電視圖像信號(hào)的空間相關(guān)性來消除一幀(或一場(chǎng))內(nèi)圖像的冗余信息。在畫面細(xì)節(jié)較少的情況下,這種方式可實(shí)現(xiàn)較大的數(shù)碼率壓縮。
(3)預(yù)測(cè)編碼:預(yù)測(cè)編碼的目的是消除圖像信息的空間相關(guān)性(幀內(nèi)預(yù)測(cè))和時(shí)間相關(guān)性(幀間預(yù)測(cè))。編碼時(shí)可從不同區(qū)域選取參與預(yù)測(cè)的像素。如果只選取前一個(gè)像素來預(yù)測(cè)當(dāng)前像素,稱為前值預(yù)測(cè);若選取同一行內(nèi)前幾個(gè)像素來預(yù)測(cè)當(dāng)前像素,稱為一維預(yù)測(cè);若選取同一行及上一行內(nèi)若干個(gè)像素來預(yù)測(cè)當(dāng)前像素,稱為二維預(yù)測(cè)。上述幾種預(yù)測(cè)方式都屬于幀內(nèi)預(yù)測(cè)。如果除了選取同一行及上一行內(nèi)相鄰像素外,還選取上一幀相關(guān)位置上的像素來預(yù)測(cè)當(dāng)前像素,則稱為三維預(yù)測(cè),也即幀間預(yù)測(cè)。
(4)變換編碼:變換編碼是利用圖像在空間分布上的規(guī)律性來消除圖像冗余的另一種編碼方式,它將原來在空間域內(nèi)描述的圖像信號(hào)利用數(shù)學(xué)運(yùn)算變換成在另一變換域內(nèi)描述的信號(hào)。在空間上相關(guān)性很強(qiáng)的圖像信號(hào)在變換域上表現(xiàn)為在某些特定區(qū)域內(nèi)能量很集中,即變換系數(shù)矩陣具有某種規(guī)律性。利用這一規(guī)律性即可實(shí)現(xiàn)數(shù)據(jù)壓縮的目的。
(5)熵編碼:熵編碼是一種無損壓縮編碼方式。若信源熵小于平均碼長,則存在熵冗余。熵編碼的目的就是去除熵冗余,使平均碼長接近熵值,從而實(shí)現(xiàn)壓縮碼率。熵編碼的基本思想是對(duì)出現(xiàn)概論大的符號(hào)(攜帶較少的信息量)用短的碼字編碼,對(duì)出現(xiàn)概論小的符號(hào)(攜帶較多的信息量)用長的碼字編碼,這樣可使對(duì)不同符號(hào)編碼的平均碼長接近于信源熵。
l QP值
QP 為量化步長,在量化和反量化過程中,量化步長QP決定量化器的編碼壓縮率及圖像精度。如果QP比較大,則量化值動(dòng)態(tài)范圍較小,其相應(yīng)的編碼長度較小,但反量化時(shí)損失較多的圖像細(xì)節(jié)信息;如果QP比較小,則動(dòng)態(tài)范圍較大,相應(yīng)的編碼長度也較大,但圖像細(xì)節(jié)信息損失較少。編碼器可以根據(jù)圖像實(shí)際動(dòng)態(tài)范圍自動(dòng)改變QP值,在編碼長度和圖像精度之間折衷,達(dá)到整體最佳效果。
在H.264 中,量化步長Qstep共有52個(gè)值。當(dāng)QP取最小值0時(shí)代表最精細(xì)的量化,當(dāng)QP取最大值51時(shí)代表最粗糙的量化。
l I幀(Intra-coded picture)
如果一幀都采用幀內(nèi)模式編碼,這一幀就稱為I 幀。一般用于一個(gè)序列的第一幀。它的特點(diǎn)是高碼率,但是可單獨(dú)解碼,無需參考前一幀,因此也被稱為關(guān)鍵幀。
l P 幀(Predictive-coded Picture)
參考前一幀圖像進(jìn)行單向預(yù)測(cè)編碼得到的幀稱為P幀,它的特點(diǎn)是碼流低,但是不能單獨(dú)解碼,必須參考前一幀解碼后的圖像數(shù)據(jù)才能解碼,如果丟失了前一幀數(shù)據(jù)強(qiáng)行解碼的話解出來的圖像會(huì)花掉,直到解I幀才能恢復(fù)。
l B幀()
即Bidirectionallypredicted picture,參考前后2幀圖像進(jìn)行雙向預(yù)測(cè)編碼得到的幀稱為B幀,它的特點(diǎn)是可以反向解碼,即觀看視頻時(shí)可以倒退觀看。
l GOP:
這是Group Of Picture的意思,指兩個(gè)I幀之間的距離。GOP的值定義了每隔多少個(gè)P/B幀編一個(gè)I幀(關(guān)鍵幀),如下圖所示:
GOP=10時(shí)幀數(shù)據(jù)
如果碼流傳輸過程中P幀丟失或破壞后會(huì)引起后續(xù)P幀解碼錯(cuò)誤從而顯示花屏,因此設(shè)置適當(dāng)?shù)?span>GOP可以讓編碼器定期編出I幀來阻止錯(cuò)誤擴(kuò)散并恢復(fù)圖像。
Reference(參考周期)指兩個(gè)P幀之間的距離。一個(gè)I幀所占用的字節(jié)數(shù)大于一個(gè)P幀,一個(gè)P幀所占用的字節(jié)數(shù)大于一個(gè)B幀(如下圖所示)。
所以在碼率不變的前提下,GOP值越大,P、B幀的數(shù)量會(huì)越多,平均每個(gè)I、P、B幀所占用的字節(jié)數(shù)就越多,也就更容易獲取較好的圖像質(zhì)量;Reference越大,B幀的數(shù)量越多,同理也更容易獲得較好的圖像質(zhì)量。
需要說明的是,通過提高GOP值來提高圖像質(zhì)量是有限度的,在遇到場(chǎng)景切換的情況時(shí),H.264編碼器會(huì)自動(dòng)強(qiáng)制插入一個(gè)I幀,此時(shí)實(shí)際的GOP值被縮短了。另一方面,在一個(gè)GOP中,P、B幀是由I幀預(yù)測(cè)得到的,當(dāng)I幀的圖像質(zhì)量比較差時(shí),會(huì)影響到一個(gè)GOP中后續(xù)P、B幀的圖像質(zhì)量,直到下一個(gè)GOP開始才有可能得以恢復(fù),所以GOP值也不宜設(shè)置過大。
同時(shí),由于P、B幀的復(fù)雜度大于I幀,所以過多的P、B幀會(huì)影響編碼效率,使編碼效率降低。另外,過長的GOP還會(huì)影響Seek操作的響應(yīng)速度,由于P、B幀是由前面的I或P幀預(yù)測(cè)得到的,所以Seek操作需要直接定位,解碼某一個(gè)P或B幀時(shí),需要先解碼得到本GOP內(nèi)的I幀及之前的N個(gè)預(yù)測(cè)幀才可以,GOP值越長,需要解碼的預(yù)測(cè)幀就越多,seek響應(yīng)的時(shí)間也越長。
視頻解碼就是編碼的逆向算法,解碼器能夠根據(jù)碼流封包里面的信息提取需要的各種編碼信息,從而能自動(dòng)進(jìn)行解碼,相對(duì)編碼來說其工作量要小很多,但是由于編碼器類別很多,一個(gè)好的解碼器需要兼容各種編碼格式。
聯(lián)系客服