日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

视频传输原理解码

發(fā)布時間:2023/12/9 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 视频传输原理解码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

視頻傳輸原理

視頻是由一幅幅幀圖像和一組音頻構成的,視頻的播放過程可以簡單理解為一幀幀的畫面按照時間順序呈現(xiàn)出來的過程。但是在實際應用中,并不是每一幀都是完整的畫面,因為如果每一幀畫面都是完整的圖片,那么一個視頻的體積就會很大。這樣對于網(wǎng)絡傳輸或者視頻數(shù)據(jù)存儲來說成本太高,所以通常會對視頻流中的一部分畫面進行壓縮(編碼)處理。

編碼器將多張圖像進行編碼后生產(chǎn)成一段一段的?GOP ( Group of Pictures )?如下圖,?解碼器在播放時則是讀取一段一段的?GOP?進行解碼后讀取畫面再渲染顯示。GOP (Group of Pictures) 是一組連續(xù)的畫面,由一個 I 幀和數(shù)個 B / P 幀組成,是視頻圖像編碼器和解碼器存取的基本單位,它的排列順序將會一直重復到影像結束。

由于壓縮處理的方式不同,視頻中的畫面幀就分為了不同的類別,其中包括:I 幀、P 幀、B 幀。I 幀是內部編碼幀(也稱為關鍵幀),P 幀是前向預測幀(前向參考幀),B 幀是雙向內插幀(雙向參考幀)。簡單地講,I 幀是一個完整的畫面,而 P 幀和 B 幀記錄的是相對于 I 幀的變化。如果沒有 I 幀,P 幀和 B 幀就無法解碼。

I 幀

I 幀(Intra coded frames):I 幀圖像采用幀內編碼方式,即只利用了單幀圖像內的空間相關性,而沒有利用時間相關性。由于 I 幀不依賴其它幀,所以是隨機存取的入點,同時是解碼的基準幀。

I 幀主要用于視頻播放的初始化,I 幀圖像的壓縮倍數(shù)相對較低。I 幀圖像是周期性出現(xiàn)在圖像序列中的,出現(xiàn)頻率可由編碼器選擇。在視頻畫面播放過程中,如果 I 幀丟失了,則后面的 P 幀也就隨著解不出來,就會出現(xiàn)視頻畫面黑屏或卡頓的現(xiàn)象。

P 幀

P 幀(Predictive-coded frames)前向預測編碼圖像幀:P 幀采用幀間編碼方式,即同時利用了空間和時間上的相關性。P 幀圖像只采用前向時間預測,可以提高壓縮效率和圖像質量。P 幀是差別幀,P 幀沒有完整畫面數(shù)據(jù),只有與前一幀的畫面差別的數(shù)據(jù)。

若 P 幀丟失了,則視頻畫面會出現(xiàn)花屏、馬賽克等現(xiàn)象。

B 幀

B 幀(Bi-directional predicted frames),B 幀圖像采用雙向時間預測,可以大大提高壓縮倍數(shù)。值得注意的是,由于 B 幀圖像采用了未來幀作為參考,因此 MPEG-2 編碼碼流中圖像幀的傳輸順序和顯示順序是不同的。

這就帶來一個問題:在視頻流中,先到來的 B 幀無法立即解碼,需要等待它依賴的后面的 I、P 幀先解碼完成,這樣一來播放時間與解碼時間不一致了,順序打亂了,那這些幀該如何播放呢?這時就需要我們來了解另外兩個概念:DTS 和 PTS。

DTS 和 PTS

DTS(Decoding Time Stamp):即解碼時間戳,這個時間戳的意義在于告訴播放器該在什么時候解碼這一幀的數(shù)據(jù)。

PTS(Presentation Time Stamp):即顯示時間戳,這個時間戳用來告訴播放器該在什么時候顯示這一幀的數(shù)據(jù)。

DTS 和 PTS 都是在編碼的時候由編碼器生成的。

比如上圖的 GOP,他的采集順序是 IBBBP,那顯示順序 PTS 也是

I B B B P PTS: ? ? 12345

編碼器的編碼順序是:

I P B B B DTS: ? ? 12345 PTS: ? ? 15234

推流順序也是按編碼順序,即:

I P B B B DTS: ? ? 12345 PTS: ? ? 15234

接收端接收的視頻流也是 IPBBB。

解碼也是按接收到的視頻流去解,接收一幀解碼一幀,解碼順序:

IPBBB

而解碼順序和顯示順序不同,我們需要按 PTS 重新調整解碼后的幀,即:

I B B B P PTS: ? ? 12345 DTS: ? ? 13452

另外音頻的播放,也有 DTS、PTS 的概念,但是音頻沒有類似視頻中 B 幀,不需要雙向預測,所以音頻幀的 DTS、PTS 順序是一致的。

?

總結

以上是生活随笔為你收集整理的视频传输原理解码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。