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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

什么是闭合GOP和开放GOP?

發布時間:2024/4/11 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是闭合GOP和开放GOP? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方“LiveVideoStack”關注我們

翻譯 | Alex

技術審校 | 李忠

本文來自OTTVerse,作者為Krishna Rao Vijayanagar。

GOP

Easy Tech

#008#

在本文中,我們將了解閉合GOP和開放GOP的概念。這兩種類型的GOP在視頻流化中非常常見,并會影響視頻壓縮效率、錯誤恢復以及ABR的切換能力。

? 什么是GOP?

GOP(A Group of Pictures)是指一組按照編解碼和顯示順序排列好的圖片。

注意:如果你不熟悉視頻壓縮和幀的類型,可以先閱讀這篇文章:Easy Tech:什么是I幀、P幀和B幀?

一個GOP包含不同類型的圖片(幀)。這些基本的幀類型有:

  • I幀(僅幀內預測)

  • P幀(僅參考前一幀預測)

  • B幀(可參考前、后幀預測,即雙向預測)

好,現在有了這些最基本的幀類型,我們就可以構建GOP了:

  • 一個GOP通常以I幀開頭,緊接著是P幀和B幀序列

  • 兩個連續I幀之間的距離被稱為GOP長度

  • 連續P幀之間的距離被稱為mini-GOP大小

P幀和B幀參考其他幀進行時域預測。用作預測的幀既可以是I幀和P幀,也可以是被參考的B幀。H.264/AVC允許將這三種類型的幀組合起來形成多個預測幀。

問題來了——分析顯示順序(Display Order)時,預測/參考幀的位置在哪里?換言之,P幀和B幀可以參考幾個GOP之前的幀嗎?這樣做也許會呈現最好的效果,為什么不這樣做呢?

為了回答這些問題,我們需要先理解閉合GOP和開放GOP的概念。讓我們繼續吧!

? 什么是閉合GOP?

顧名思義,閉合GOP是指不對外開放的GOP。一個屬于閉合GOP的幀只能參考本GOP之內的幀。

在上面的圖片中,第一個GOP以P幀而不是B幀結束,這就意味著編碼器不會將下一個GOP中的幀用作參考幀。多補充一點,如果GOP的最后一幀是B幀,你認為會發生什么?難道B幀不就是設計用來參考前、后幀的嗎?

在這種情況下,編碼器應該確保后一參考幀是空幀。后面那一幀如果是空幀,B幀這時就發揮了P幀的作用。然而,編碼器總會確保最后一幀是P幀,這樣一來,就簡化了“關閉”GOP的過程。

閉合GOP在視頻流化和壓縮中非常有用,它是視頻中的獨立片段,和其他GOP有清晰的隔斷,所有在閉合GOP出現的問題都不會影響到其他GOP。

閉合GOP以一個被稱為IDR(Instantaneous Decoder Refresh,即時解碼刷新)的I幀開始。之所以稱之為IDR,是因為當解碼器遇到 IDR 幀時,由于在 IDR 之前出現的任何幀都不能用作在該 IDR 之后出現的圖片的參考幀,它可以刷新其解碼圖片緩沖區(Decoded Picture Buffer 或 DPB)。這就形成了圖片序列的徹底中斷。

所以,IDR和閉合GOP到底有什么用處?

ABR視頻流:在ABR視頻流中,播放器可以根據帶寬和解碼器緩沖器的填充程度在不同配置文件(組合不同碼率和分辨率的視頻)之間切換。如果播放器要從1080p切換到360p,那么它就需要這種利落的切換。此時IDR發揮作用,這樣播放器就能刷新緩沖,讓360p的視頻流進入。如果你不了解ABR,請閱讀這篇文章:理解ABR及其工作原理。

錯誤恢復:如果你在流化視頻時使用HLS,并且每個視頻片段都以IDR開始,這意味著片段中的所有幀都不能參考前、后片段中的幀。所以如果因為某個錯誤而失去其中一個片段,播放器仍然能繼續接收下一個視頻片段。有趣的是,Apple 的 HLS 規范提到應該每兩秒使用一次 IDR。(注意:規范沒有說視頻片段持續時間應該是兩秒,而是指 GOP 的大小是兩秒)。

快進快退(Trick Mode):我們之前提到過,IDR非常有助于實現快進快退。播放器需找到距離最近的IDR,然后開始從這一點播放視頻流。

現在你已經理解閉合GOP了吧,讓我們繼續學習開放GOP。

?什么是開放GOP?

開放GOP正好和閉合GOP相反,允許其內的幀參考其他GOP內的幀。請看下圖第二個I幀。來自前一個GOP的B幀被用作參考幀,這意味著這是一個開放GOP(由黃色箭頭表示)。

開放GOP在以下情況中非常有用:

  • 你不需要為了ABR而重新開始一段新的視頻,但是需要關閉GOP

  • 你現在想要提高視頻壓縮效率(因為B幀可以多一個高質量的參考幀)

  • 當你需要插入I幀時(或是為了刷新視頻質量,或者在非場景轉換的情況下,是否跨I幀預測并不重要)

? 總? ?結

我希望這篇文章能夠有助于你理解閉合GOP、開放GOP和IDR。關于視頻壓縮的更多入門文章,請關注我們的Easy Tech欄目。感謝閱讀,我們下次再會!


致謝

本文已獲得作者Krishna Rao Vijayanagar授權翻譯和發布,特此感謝。

原文鏈接:

https://ottverse.com/closed-gop-open-gop-idr/

延伸閱讀:

視頻編碼完全指南

Easy Tech:什么是I幀、P幀和B幀?

為什么視頻壓縮如此重要


講師招募

LiveVideoStackCon 2022 音視頻技術大會 上海站,正在面向社會公開招募講師,無論你所處的公司大小,title高低,老鳥還是菜鳥,只要你的內容對技術人有幫助,其他都是次要的。歡迎通過?speaker@livevideostack.com?提交個人資料及議題描述,我們將會在24小時內給予反饋。

喜歡我們的內容就點個“在看”吧!

總結

以上是生活随笔為你收集整理的什么是闭合GOP和开放GOP?的全部內容,希望文章能夠幫你解決所遇到的問題。

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