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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

H.264中的帧

發布時間:2023/11/23 windows 62 coder
生活随笔 收集整理的這篇文章主要介紹了 H.264中的帧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

導言

高級視頻編碼 (AVC) 也稱為 H.264,是使用最廣泛的視頻壓縮標準。它與所有主要的流式傳輸協議和容器格式兼容。
當我們使用播放器播放一個視頻時,通常會經過:解協議,解封裝,音視頻解碼,音視頻同步這幾個步驟。其中H.264就是視頻解碼階段的標準。通過解封裝,可以將數據解析為H.264格式的數據流,通過解碼,可以將H.264格式的數據流輸出為非壓縮的顏色數據,如YUV,RGB等。

視頻幀

在視頻編碼中,視頻由一系列連續的圖像幀組成。每一幀都代表視頻中的一個瞬間圖像,而它們之間存在特定的關系。為了壓縮視頻數據的大小,H.264中有三種不同的幀。

I幀

關鍵幀是視頻序列中的關鍵參考點,它是獨立編碼的幀,不依賴于其他幀。
關鍵幀包含完整的信息,可以獨立解碼出網站的圖像。基于其特性,播放器在進行快進操作時,一般都會跳轉到I幀,確保在該關鍵幀之后的播放過程中可以正常解碼和顯示視頻。這樣可以有效減少解碼所需的計算量,提高快進操作的響應速度。

P幀

預測幀是相對于關鍵幀的幀,它通過對前面的關鍵幀或預測幀進行預測來編碼。
P幀相對于I幀具有較小的文件大小,因為它只存儲相對于參考幀的差異信息。但是在進行解碼時,P幀也需要依賴之前的幀進行解碼。

B幀

雙向預測幀引入了更復雜的預測方式,利用前后的關鍵幀和預測幀進行雙向預測。
相對于關鍵幀(I 幀)和預測幀(P 幀)具有更高的壓縮效率和更復雜的結構,適當的引入B幀可以顯著的較小視頻文件的大小,提升視頻的傳輸效率。

幀解碼和播放順序

由于一個視頻文件中可能存在I,B,P三種不同的視頻幀,所以幀的解碼和播放順序可能會不同。在H.264中,有兩個時間戳,一個是PTS,一個是DTS:

  • PTS(Presentation Time Stamp):
    • PTS 表示視頻幀應該被展示的時間。它指示視頻幀何時應該在播放器中顯示給用戶。
    • PTS 的時間單位通常是毫秒(ms)或時鐘周期,取決于具體的應用和實現。
    • PTS 的值不僅受到幀自身的編碼時間影響,還受到解碼和顯示的延遲等因素的影響。
  • DTS(Decoding Time Stamp):
    • DTS 表示視頻幀應該被解碼的時間。它指示視頻幀何時應該被送入解碼器進行解碼。
    • 與 PTS 不同,DTS 主要關注解碼過程,而不是展示過程。
    • 在一些情況下,視頻幀的 DTS 可能等于其 PTS,但在其他情況下可能存在差異,這取決于編碼和解碼過程中的各種因素。

在視頻中沒有B幀時,視頻的解碼順序和播放順序如下:

Stream: I P P P P P P 
   PTS: 1 2 3 4 5 6 7
   DTS: 1 2 3 4 5 6 7

在視頻中存在B幀時,視頻的解碼順序和播放順序如下:

Stream: I B B P B B P
   PTS: 1 2 3 4 5 6 7
   DTS: 1 3 4 2 6 7 5

GOP

全稱是Group of Pictures,即畫面組,是一組連續的畫面。
一個GOP由一系列圖像幀組成,這些圖像幀通常都是I幀,或者P幀,或者B幀。GOP的長度就是兩個I幀之間的距離。
在視頻編碼中,GOP(Group of Pictures)的結構通常用"M"和"N"來表示:

  • M幀(IPredictive周期):表示在兩個I幀(包括第一個I幀)之間的幀數,即P幀和B幀的總數。M幀的設定影響著兩個I幀之間的編碼周期長度。
  • N幀(GOP周期):表示兩個連續I幀之間的總幀數,包括M幀、I幀以及I幀之間的所有幀。N幀定義了一個GOP的長度。

例如

IBBPBBPBBPBB

其中M=2,N=12。這表示兩個I幀之間有10幀,其中包含了2個P幀和8個B幀。這樣的結構有助于提高視頻編碼的壓縮效率和壓縮質量。

IDR

I幀和IDR幀都是H.264視頻編碼中的關鍵幀,所有的 IDR 幀都是 I 幀,但是并不是所有 I 幀都是 IDR 幀。
IDR幀在一些方面和I幀有一些區別。

  • IDR幀也是關鍵幀,但有一個重要的特性是它可以用來隨時刷新解碼器的狀態。
  • 當解碼器在解碼過程中發生錯誤或需要進行隨機訪問時,通常會使用IDR幀來重新開始解碼。
  • IDR幀之后的幀不可以參考之前的幀。
    總體而言,IDR幀可以看作是一種特殊類型的I幀,具有附加的刷新解碼器狀態的功能。在需要在任何時間點重新開始解碼時,IDR幀是很有用的。

總結

以上是生活随笔為你收集整理的H.264中的帧的全部內容,希望文章能夠幫你解決所遇到的問題。

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