2017-11-27

【嵌牛導(dǎo)讀】今天為大家講解視頻的編碼原理。

【嵌牛鼻子】視覺(jué)暫留現(xiàn)象尽楔,有損圖像壓縮,運(yùn)動(dòng)預(yù)測(cè)第练,圖像組和視頻文件阔馋,視頻容器

【嵌牛提問(wèn)】計(jì)算機(jī)如何生成圖像,視頻

【嵌牛正文】

視覺(jué)暫留現(xiàn)象

人的眼睛是一個(gè)非常巧妙的成像系統(tǒng)娇掏,來(lái)自自然界的光經(jīng)由晶狀體垦缅,投射到感光細(xì)胞上,感光細(xì)胞將光轉(zhuǎn)化為神經(jīng)電流驹碍,通過(guò)視神經(jīng)傳到大腦壁涎,引起人體視覺(jué)。受制于視覺(jué)神經(jīng)的反應(yīng)速度志秃,當(dāng)光停止作用后怔球,在一段時(shí)間內(nèi),圖像仍將短暫地停留浮还,稱(chēng)為“后像“竟坛,這便是視覺(jué)暫留現(xiàn)象。

IT之家學(xué)院:文件格式系列科普之視頻編碼基本原理

正因?yàn)槿说囊曈X(jué)系統(tǒng)有著這樣的特性钧舌,當(dāng)我們將一組動(dòng)作連續(xù)的靜態(tài)圖片放在眼前快速切換時(shí)担汤,人眼會(huì)感覺(jué)它“動(dòng)起來(lái)了“。事實(shí)上洼冻,我們看到的視頻崭歧,就是由一張又一張的靜態(tài)圖像組成的。

有損圖像壓縮

前面我們已經(jīng)提到撞牢,視頻是由一張又一張的靜態(tài)圖片組成的率碾,要壓縮視頻,首先就要壓縮這些組成視頻的靜態(tài)圖像屋彪,在關(guān)于JPEG圖片格式的科普中所宰,我們已經(jīng)講解了JPEG的壓縮原理,事實(shí)上畜挥,視頻中的靜態(tài)圖片仔粥,它的壓縮原理和JPEG頗為相似。

首先蟹但,就是將色彩空間由RGB轉(zhuǎn)化為YCbCr躯泰,和RGB色彩空間通過(guò)紅綠藍(lán)三種顏色來(lái)組成大千世界不同,YCbCr將畫(huà)面分解成明度(亮度信息)和色度(色彩信息)矮湘,在YCbCr的色彩空間下斟冕,把Cb(藍(lán))和Cr(紅)去掉,只留Y(亮度)缅阳,那么圖像依然可以正常顯示磕蛇,只是此時(shí)顯示的圖像是黑白的,把亮度信息和色彩信息分離所帶來(lái)的好處十办,就是解決了彩色顯示器和黑白顯示器的兼容問(wèn)題秀撇。

IT之家學(xué)院:文件格式系列科普之視頻編碼基本原理

色彩空間轉(zhuǎn)換完成后,就要對(duì)圖像進(jìn)行離散余弦變換(DCT)了向族,在DCT時(shí)呵燕,圖像將被分割成一個(gè)個(gè)8*8的像素塊,每個(gè)8*8的像素塊都將通過(guò)復(fù)雜的公式轉(zhuǎn)換為數(shù)字編碼件相,隨后再扭,這些數(shù)字編碼將通過(guò)一系列的處理進(jìn)一步丟掉對(duì)人眼來(lái)講并不重要的數(shù)據(jù)(人眼對(duì)高頻區(qū)的辨識(shí)能力較差氧苍,這部分的數(shù)據(jù)可以酌情丟掉),經(jīng)過(guò)這番折騰泛范,原始的8*8像素塊將被轉(zhuǎn)化為結(jié)尾有很多連續(xù)的0的一串?dāng)?shù)字編碼让虐。這串編碼經(jīng)過(guò)冗余數(shù)據(jù)精簡(jiǎn)后,再進(jìn)行一些處理罢荡,將生成一張經(jīng)過(guò)壓縮的圖片赡突。這張圖片就是視頻中的I幀。

運(yùn)動(dòng)預(yù)測(cè)

I幀区赵,又稱(chēng)幀內(nèi)編碼幀惭缰,這是個(gè)獨(dú)立幀,自帶全部信息笼才;P幀漱受,又稱(chēng)幀間預(yù)測(cè)編碼幀,它里面包含的是當(dāng)前幀與前一幀之間的差別患整,在解碼時(shí)拜效,需要以之前的畫(huà)面為基礎(chǔ),疊加上兩幅畫(huà)面之間的差異部分各谚,才能生成最終的畫(huà)面紧憾。B幀,又稱(chēng)雙向預(yù)測(cè)編碼幀昌渤,它不僅記錄了當(dāng)前幀與前一幀之間的差別赴穗,還記錄了當(dāng)前幀與下一幀之間的差別,B幀的壓縮率通常更高膀息,不過(guò)對(duì)解碼性能的要求也更高般眉。

IT之家學(xué)院:文件格式系列科普之視頻編碼基本原理

P幀的生成過(guò)程,實(shí)際上就是運(yùn)動(dòng)預(yù)測(cè)的過(guò)程潜支,在這個(gè)過(guò)程中甸赃,圖像將被分割成一個(gè)個(gè)16*16的像素塊,然后冗酿,我們將計(jì)算當(dāng)前幀的這個(gè)16*16像素塊的信息與下一幀中哪個(gè)16*16像素塊中的信息最為相似埠对,然后記錄下它們之間的位置差別(運(yùn)動(dòng)預(yù)測(cè)矢量),簡(jiǎn)單地說(shuō)裁替,運(yùn)動(dòng)預(yù)測(cè)的過(guò)程项玛,就是使用當(dāng)前幀位于不同起始位置的16*16像素塊,拼湊出下一幀的圖像來(lái)弱判。B幀的生成原理和P幀大致相同襟沮,只不過(guò)B幀是同時(shí)結(jié)合前后兩幀來(lái)實(shí)現(xiàn)運(yùn)動(dòng)預(yù)測(cè)的。

圖像組和視頻文件

所謂的圖像組,就是由I幀打頭开伏,后面跟了一系列的P幀或者B幀的圖像的編組膀跌,看起來(lái)差不多是這個(gè)樣子的:I,P,P,P,P,P,P,P,P,P,P,如果有B幀硅则,則是這個(gè)樣子的:I,P,B,B,P,B,B,P,B,B,P淹父。

視頻文件是由一個(gè)接著一個(gè)的圖像組構(gòu)成的。在播放視頻時(shí)怎虫,每個(gè)圖像組的第一幀必須是I幀,若第一幀不是I幀困介,后面的P幀或者B幀將無(wú)法被還原成正常的圖像大审,視頻也就無(wú)法正常播放了。

IT之家學(xué)院:文件格式系列科普之視頻編碼基本原理

如果一個(gè)P幀是由某幀通過(guò)運(yùn)動(dòng)預(yù)測(cè)來(lái)生成的座哩,那么這里的“某幀”就是該P(yáng)幀的參考幀徒扶,關(guān)于參考幀的選擇,也是有講究的根穷。

這里有一個(gè)圖像組姜骡,I1,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,我們參考I1生成了P1屿良,又參考了P1生成了P2圈澈,緊接著參考P2生成了P3,以此類(lèi)推尘惧,最后生成了P10康栈,由于運(yùn)動(dòng)預(yù)測(cè)本身就是有誤差的,如果我們每一幀都參考前一幀進(jìn)行運(yùn)動(dòng)預(yù)測(cè)喷橙,那么從P1到P10啥么,誤差會(huì)越來(lái)越大,最后生成的P10可能就面目全非了贰逾。為了避免這個(gè)問(wèn)題悬荣,在選擇參考幀時(shí),我們可以這樣做疙剑,P1~P10氯迂,全部參考I1來(lái)生成,或者P1~P5參考I1來(lái)生成核芽,然后P6~P10參考P5來(lái)生成囚戚,步子邁得小一點(diǎn),扯到蛋的風(fēng)險(xiǎn)自然就會(huì)降低轧简。

到這里驰坊,視頻編碼基本原理的介紹就告一段落了,不同的編碼標(biāo)準(zhǔn)哮独,它具體的編碼方式也不盡相同拳芙,這個(gè)需要具體標(biāo)準(zhǔn)具體分析察藐。常見(jiàn)的視頻編碼標(biāo)準(zhǔn)有MPEG-1、MPEG-2舟扎、MPEG-3分飞、MPEG-4、H.264等睹限。

視頻容器

如果說(shuō)視頻是個(gè)圖書(shū)館譬猫,那么一幀一幀的圖像就是書(shū)的一頁(yè)一頁(yè),一個(gè)一個(gè)的圖像組羡疗,就是一本又一本的書(shū)染服,我們還缺少什么東西啊叨恨?書(shū)架柳刮。圖書(shū)館里沒(méi)有書(shū)架怎么行?

所謂視頻容器痒钝,就是將圖像組秉颗,聲音以及視頻的附屬信息(比如字幕、分辨率送矩、作者蚕甥、加密信息等)封裝在一起的標(biāo)準(zhǔn),這就正是我們要找的書(shū)架益愈。

視頻容器梢灭,又叫封裝格式,提到封裝格式(對(duì)應(yīng)相應(yīng)的文件擴(kuò)展名)蒸其,相信大家一定非常眼熟敏释,舉幾個(gè)例子,大家感受一下:avi摸袁、rmvb钥顽、mp4、flv靠汁、mkv……

IT之家學(xué)院:文件格式系列科普之視頻編碼基本原理

封裝格式對(duì)視頻質(zhì)量的影響不大蜂大,決定視頻質(zhì)量的還是它的編碼數(shù)據(jù),就像前面舉的圖書(shū)館的例子蝶怔,書(shū)架不管是豪華還是簡(jiǎn)陋奶浦,只要它上面擺放的書(shū)是好書(shū),那這個(gè)圖書(shū)館就是個(gè)好圖書(shū)館踢星。

IT之家的用戶(hù)是多層次的澳叉,這篇文章的受眾是零基礎(chǔ)的讀者,本著淺顯易懂的原則,在一些方面我們并沒(méi)有深入討論和展開(kāi)討論成洗。如果你是相關(guān)行業(yè)的工作者五督,或者你是相關(guān)專(zhuān)業(yè)的高校學(xué)生,那么這篇文章可能不適合你瓶殃。

好的充包,今天關(guān)于視頻壓縮原理的文章就到這里,文件格式系列科普至此完結(jié)遥椿,想了解更多的常識(shí)科普和實(shí)用教程基矮,請(qǐng)關(guān)注IT之家學(xué)院。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末修壕,一起剝皮案震驚了整個(gè)濱河市愈捅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌慈鸠,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件灌具,死亡現(xiàn)場(chǎng)離奇詭異青团,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)咖楣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)督笆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人诱贿,你說(shuō)我怎么就攤上這事娃肿。” “怎么了珠十?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵料扰,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我焙蹭,道長(zhǎng)晒杈,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任孔厉,我火速辦了婚禮拯钻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘撰豺。我一直安慰自己粪般,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布污桦。 她就那樣靜靜地躺著亩歹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上捆憎,一...
    開(kāi)封第一講書(shū)人閱讀 52,475評(píng)論 1 312
  • 那天舅柜,我揣著相機(jī)與錄音,去河邊找鬼躲惰。 笑死致份,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的础拨。 我是一名探鬼主播氮块,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼岂嗓,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼悟狱!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起闷哆,我...
    開(kāi)封第一講書(shū)人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤塔沃,失蹤者是張志新(化名)和其女友劉穎蝠引,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蛀柴,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡螃概,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鸽疾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吊洼。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖制肮,靈堂內(nèi)的尸體忽然破棺而出冒窍,到底是詐尸還是另有隱情,我是刑警寧澤豺鼻,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布综液,位于F島的核電站,受9級(jí)特大地震影響拘领,放射性物質(zhì)發(fā)生泄漏意乓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一约素、第九天 我趴在偏房一處隱蔽的房頂上張望届良。 院中可真熱鬧,春花似錦圣猎、人聲如沸士葫。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)慢显。三九已至爪模,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間荚藻,已是汗流浹背屋灌。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留应狱,地道東北人共郭。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像疾呻,于是被迫代替她去往敵國(guó)和親除嘹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

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