3.音視頻壓縮編碼介紹

1.概念:

壓縮(編碼):因?yàn)槲唇?jīng)壓縮的數(shù)字視頻的數(shù)據(jù)量巨大,在相對(duì)有限的存儲(chǔ)空間和傳輸帶寬條件下,其在互聯(lián)網(wǎng)上的傳輸會(huì)有極大的不便扇商,所以在視頻的傳輸之前,會(huì)對(duì)視頻數(shù)據(jù)和音頻數(shù)據(jù)進(jìn)行一定算法的壓縮宿礁,這個(gè)過程又稱為編碼案铺。

幀內(nèi)(Intraframe)壓縮:也稱為空間壓縮,當(dāng)壓縮一幀圖像時(shí)梆靖,只考慮本幀的數(shù)據(jù)而不考慮相鄰幀之間的冗余信息控汉,幀內(nèi)一般采用有損壓縮算法,由于幀內(nèi)壓縮時(shí)各個(gè)幀之間沒有相互關(guān)系返吻,所以壓縮后的視頻數(shù)據(jù)仍可以以幀為單位進(jìn)行編輯姑子。幀內(nèi)壓縮一般達(dá)不到很高的壓縮比率,可能有一定的失真测僵。

基于同一幀內(nèi)已編碼塊預(yù)測(cè)街佑,構(gòu)造預(yù)測(cè)塊,計(jì)算與當(dāng)前塊的殘差捍靠,對(duì)殘差沐旨、預(yù)測(cè)模式等信息進(jìn)行編碼。其主要去除的是空域冗余榨婆。

幀間(Interframe)壓縮:是基于許多視頻或 動(dòng)畫的連續(xù)前后兩幀具有很大的相關(guān)性磁携,或者說前后兩幀信息變化很小的特點(diǎn)。也即連續(xù)的視頻其相鄰幀之間具有冗余信息良风,根據(jù)這一特性谊迄,壓縮相鄰幀之間的冗余量就可以進(jìn)一步提高壓縮量,減小壓縮比拖吼。幀間壓縮也稱為時(shí)間壓縮(Temporalcompression)鳞上,它通過比較時(shí)間軸上不同幀之間的數(shù)據(jù)進(jìn)行壓縮。幀間壓縮一般是無損的吊档。幀差值(Frame differencing)算法是一種典型的時(shí)間壓縮法篙议,它通過比較本幀與相鄰幀之間的差異,僅記錄本幀與其相鄰幀的差值,這樣可以大大減少數(shù)據(jù)量鬼贱。

基于一個(gè)或多個(gè)已編碼幀預(yù)測(cè)移怯,構(gòu)造預(yù)測(cè)塊,計(jì)算與當(dāng)前塊的殘差这难,對(duì)殘差舟误、預(yù)測(cè)模式、運(yùn)動(dòng)矢量殘差姻乓、參考圖像索引等信息進(jìn)行編碼嵌溢。其主要去除的是時(shí)域冗余

RGB:任何彩色圖像可由不同比例的紅色蹋岩、綠色和藍(lán)色組合而成赖草,即三基色原理。這種表

示彩色圖像的方法即RGB 彩色空間剪个。

YUV(YCbCr):人類視覺系統(tǒng)(HDV)對(duì)亮度比彩色更敏感秧骑,因此可以把亮度信息從彩色信息分離處來,并使之具有更高的清晰度扣囊,彩色信息的清晰度較低些乎折,可顯著壓縮帶寬,實(shí)現(xiàn)視頻壓縮的一部分侵歇,人的感覺卻沒有不同骂澄。

如果亮度分量用Y 表示,色度用Cb盒至,Cr 表示酗洒,則由大量實(shí)驗(yàn)得出:

Y=0.299R+0587G+0.114B

Cb=0564(B-Y)

Cr=0.713(R-Y)?

反之士修,可由下式得到相應(yīng)的R枷遂、G、B:

R=Y+1.402Cr

G=Y-0.344Cb-0.714Cr

B=Y+1.772Cb?

GOP(Group of Pictures):策略影響編碼質(zhì)量:所謂GOP棋嘲,意思是畫面組酒唉,一個(gè)GOP就是一組連續(xù)的畫面。MPEG編碼將畫面(即幀)分為I沸移、P痪伦、B三種。

I幀:幀內(nèi)編碼幀雹锣,表示關(guān)鍵幀网沾,可以理解為這一幀畫面的完整保留;解碼時(shí)只根據(jù)本幀數(shù)據(jù)就可以完成蕊爵。

I幀特點(diǎn):?1.它是一個(gè)全幀壓縮編碼幀辉哥。它將全幀圖像信息進(jìn)行JPEG壓縮編碼及傳輸; 2.解碼時(shí)僅用I幀的數(shù)據(jù)就可重構(gòu)完整圖像; 3.I幀描述了圖像背景和運(yùn)動(dòng)主體的詳情; 4.I幀不需要參考其他畫面而生成; 5.I幀是P幀和B幀的參考幀(其質(zhì)量直接影響到同組中以后各幀的質(zhì)量); 6.I幀是幀組GOP的基礎(chǔ)幀(第一幀),在一組中只有一個(gè)I幀; 7.I幀不需要考慮運(yùn)動(dòng)矢量; 8.I幀所占數(shù)據(jù)的信息量比較大。

P幀:前向預(yù)測(cè)編碼幀。P幀表示的是這一幀跟之前的一個(gè)關(guān)鍵幀(或P幀)的差別醋旦,解碼時(shí)需要用之前緩存的畫面疊加上本幀定義的差別恒水,生成最終畫面。(也就是差別幀饲齐,P幀沒有完整畫面數(shù)據(jù)钉凌,只有與前一幀的畫面差別的數(shù)據(jù))

P幀的預(yù)測(cè)與重構(gòu):P幀是以I幀為參考幀,在I幀中找出P幀“某點(diǎn)”的預(yù)測(cè)值和運(yùn)動(dòng)矢量,取預(yù)測(cè)差值和運(yùn)動(dòng)矢量一起傳送。在接收端根據(jù)運(yùn)動(dòng)矢量從I幀中找出P幀“某點(diǎn)”的預(yù)測(cè)值并與差值相加以得到P幀“某點(diǎn)”樣值,從而可得到完整的P幀捂人。

P幀特點(diǎn):1.P幀是I幀后面相隔1~2幀的編碼幀;2.P幀采用運(yùn)動(dòng)補(bǔ)償?shù)姆椒▊魉退c前面的I或P幀的差值及運(yùn)動(dòng)矢量(預(yù)測(cè)誤差);3.解碼時(shí)必須將I幀中的預(yù)測(cè)值與預(yù)測(cè)誤差求和后才能重構(gòu)完整的P幀圖像;4.P幀屬于前向預(yù)測(cè)的幀間編碼御雕。它只參考前面最靠近它的I幀或P幀;5.P幀可以是其后面P幀的參考幀,也可以是其前后的B幀的參考幀;6.由于P幀是參考幀,它可能造成解碼錯(cuò)誤的擴(kuò)散;7.由于是差值傳送,P幀的壓縮比較高。

B幀:雙向預(yù)測(cè)內(nèi)插編碼幀滥搭。B幀是雙向差別幀饮笛,也就是B幀記錄的是本幀與前后幀的差別(具體比較復(fù)雜,有4種情況论熙,但我這樣說簡(jiǎn)單些)福青,換言之,要解碼B幀脓诡,不僅要取得之前的緩存畫面无午,還要解碼之后的畫面,通過前后畫面的與本幀數(shù)據(jù)的疊加取得最終的畫面祝谚。B幀壓縮率高宪迟,但是解碼時(shí)CPU會(huì)比較累。

B幀的預(yù)測(cè)與重構(gòu):B幀以前面的I或P幀和后面的P幀為參考幀,“找出”B幀“某點(diǎn)”的預(yù)測(cè)值和兩個(gè)運(yùn)動(dòng)矢量,并取預(yù)測(cè)差值和運(yùn)動(dòng)矢量傳送交惯。接收端根據(jù)運(yùn)動(dòng)矢量在兩個(gè)參考幀中“找出(算出)”預(yù)測(cè)值并與差值求和,得到B幀“某點(diǎn)”樣值,從而可得到完整的B幀次泽。

B幀特點(diǎn):1.B幀是由前面的I或P幀和后面的P幀來進(jìn)行預(yù)測(cè)的;2.B幀傳送的是它與前面的I或P幀和后面的P幀之間的預(yù)測(cè)誤差及運(yùn)動(dòng)矢量;3.B幀是雙向預(yù)測(cè)編碼幀;4.B幀壓縮比最高,因?yàn)樗环从潮麉⒖紟g運(yùn)動(dòng)主體的變化情況,預(yù)測(cè)比較準(zhǔn)確;5.B幀不是參考幀,不會(huì)造成解碼錯(cuò)誤的擴(kuò)散。

注:I席爽、B意荤、P各幀是根據(jù)壓縮算法的需要,是人為定義的,它們都是實(shí)實(shí)在在的物理幀。一般來說,I幀的壓縮率是7(跟JPG差不多)郑趁,P幀是20,B幀可以達(dá)到50捐寥。可見使用B幀能節(jié)省大量空間祖驱,節(jié)省出來的空間可以用來保存多一些I幀握恳,這樣在相同碼率下,可以提供更好的畫質(zhì)捺僻。

2.視頻幾種主流編碼算法

為什么視頻信息可以被壓縮乡洼?

視頻信息之所以存在大量可以被壓縮的空間,是因?yàn)槠渲斜旧砭痛嬖诖罅康臄?shù)據(jù)冗余。其主要類型有:

時(shí)間冗余:視頻相鄰的兩幀之間內(nèi)容相似就珠,存在運(yùn)動(dòng)關(guān)系

空間冗余:視頻的某一幀內(nèi)部的相鄰像素存在相似性

視覺冗余:觀眾的視覺系統(tǒng)對(duì)視頻中不同的部分敏感度不同

針對(duì)這些不同類型的冗余信息寇壳,在各種視頻編碼的標(biāo)準(zhǔn)算法中都有不同的技術(shù)專門應(yīng)對(duì),以通過不同的角度提高壓縮的比率妻怎。

理論依據(jù):參照一段時(shí)間內(nèi)圖像的統(tǒng)計(jì)結(jié)果表明壳炎,在相鄰幾幅圖像畫面中,一般有差別的像素只有10%以內(nèi)的點(diǎn),亮度差值變化不超過2%逼侦,而色度差值的變化只有1%以內(nèi)匿辩。所以對(duì)于一段變化不大圖像畫面,我們可以先編碼出一個(gè)完整的圖像幀A榛丢,隨后的B幀就不編碼全部圖像铲球,只寫入與A幀的差別,這樣B幀的大小就只有完整幀的1/10或更形蕖稼病!B幀之后的C幀如果變化不大,我們可以繼續(xù)以參考B的方式編碼C幀掖鱼,這樣循環(huán)下去然走。這段圖像我們稱為一個(gè)GOP(GOP就是有相同特點(diǎn)的一段數(shù)據(jù)),當(dāng)某個(gè)圖像與之前的圖像變化很大戏挡,無法參考前面的幀來生成芍瑞,那我們就結(jié)束上一個(gè)GOP,開始下一段GOP褐墅,也就是對(duì)這個(gè)圖像生成一個(gè)完整幀A1拆檬,隨后的圖像就參考A1生成,只寫入與A1的差別內(nèi)容妥凳。

??

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末竟贯,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子猾封,更是在濱河造成了極大的恐慌澄耍,老刑警劉巖噪珊,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晌缘,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡痢站,警方通過查閱死者的電腦和手機(jī)磷箕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來阵难,“玉大人岳枷,你說我怎么就攤上這事。” “怎么了空繁?”我有些...
    開封第一講書人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵殿衰,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我盛泡,道長(zhǎng)闷祥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任傲诵,我火速辦了婚禮凯砍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘拴竹。我一直安慰自己悟衩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開白布栓拜。 她就那樣靜靜地躺著座泳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪幕与。 梳的紋絲不亂的頭發(fā)上钳榨,一...
    開封第一講書人閱讀 49,816評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音纽门,去河邊找鬼薛耻。 笑死,一個(gè)胖子當(dāng)著我的面吹牛赏陵,可吹牛的內(nèi)容都是我干的饼齿。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼蝙搔,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼缕溉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起吃型,我...
    開封第一講書人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤证鸥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后勤晚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體枉层,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年赐写,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鸟蜡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡挺邀,死狀恐怖揉忘,靈堂內(nèi)的尸體忽然破棺而出跳座,到底是詐尸還是另有隱情,我是刑警寧澤泣矛,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布疲眷,位于F島的核電站,受9級(jí)特大地震影響您朽,放射性物質(zhì)發(fā)生泄漏咪橙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一虚倒、第九天 我趴在偏房一處隱蔽的房頂上張望美侦。 院中可真熱鬧,春花似錦魂奥、人聲如沸菠剩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)具壮。三九已至,卻和暖如春哈蝇,著一層夾襖步出監(jiān)牢的瞬間棺妓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工炮赦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留怜跑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓吠勘,卻偏偏與公主長(zhǎng)得像性芬,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子剧防,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容