Per-Title(按主題)編碼是指為了節(jié)省碼率、存儲空間以及ABR傳輸帶寬為每部電影(基于其獨特的空間和時間屬性以及復(fù)雜度)調(diào)整ABR碼率階梯(bitrate ladder)。換言之,Per-Title編碼的目的就是根據(jù)電影特點(慢動作、體育、動畫、卡通內(nèi)容等)為每部電影生成一組不同的編碼或者壓縮參數(shù)。 接下來,我們將了解Per-Title編碼所涉及的編碼過程以及它為流媒體提供商帶來的優(yōu)勢。
什么是Per-Title編碼?從哪里開始?
最早提到Per-Title編碼的地方是Netflix的博客,隨后IEEE發(fā)表了名為“Complexity-based consistent-quality encoding in the cloud(《云上基于復(fù)雜度的穩(wěn)定質(zhì)量編碼》”的論文。該論文的摘要中有一句話很有趣:
為了生產(chǎn)最佳質(zhì)量的視頻流,系統(tǒng)需要使編碼適應(yīng)每條內(nèi)容(以一種自動、可擴展的方式)。在本篇論文中,我們描述了兩個算法優(yōu)化,用于基于云的分布式編碼管道,它們分別是:(1)針對碼率-分辨率選擇的Per-Title復(fù)雜度分析;(2)針對穩(wěn)定質(zhì)量編碼的Per-chunk碼率控制。相對于簡單的“一刀切”的編碼系統(tǒng),這些改進帶來了很多優(yōu)勢,包括更高效的帶寬使用和更穩(wěn)定的視頻質(zhì)量。
上文這句“為了生產(chǎn)最佳質(zhì)量的視頻流,系統(tǒng)需要使編碼適應(yīng)每條內(nèi)容”很好地總結(jié)了Per-Title編碼。
編碼器需要“理解”每一個視頻內(nèi)容,并調(diào)整壓縮設(shè)置和參數(shù)與之適應(yīng),這樣就有可能達到最佳視頻質(zhì)量。
傳統(tǒng)的ABR和壓縮過程發(fā)生了什么?
在使用ABR技術(shù)的傳統(tǒng)視頻傳輸方法中,一般是創(chuàng)建一個碼率階梯(或者一組profile),并將其應(yīng)用于內(nèi)容庫中的所有電影。關(guān)于ABR技術(shù)的更多介紹,請閱讀這篇文章:理解ABR及其工作原理。
比如,碼率階梯有一個6mbps 1080p的profile,并應(yīng)用到了所有的分類——無論是動漫、體育還是脫口秀。
然而,這種方法存在一個問題:每部電影的特點和復(fù)雜度并不相同。
所有電影看上去都不一樣: 有些電影擁有快速動作場景(體育比賽、動作片),有些在動作上較慢(《肖申克的救贖》)。有些動畫片比較簡單(《辛普森一家》),有些卻擁有高度細節(jié)(《玩具總動員》)。所有電影都有它自己的“基因”和特點,所以每部制作出來的電影都與眾不同。
那么,為什么都要以相同方式壓縮電影,使用相同編碼器設(shè)置并使用相同碼率階梯進行ABR視頻傳輸呢?
讓我們來看看下文中來自《辛普森一家》、足球比賽和Park Joy測試序列的三張截圖,它們看起來都不一樣,是吧?
容易壓縮!
真的很難壓縮!
因為視頻中出現(xiàn)了水、草和樹葉,也很難壓縮!
現(xiàn)在,上述這些例子依賴于你對于視頻質(zhì)量優(yōu)劣的主觀判斷。讓我們看下Netflix技術(shù)博客上的數(shù)字實驗。下方的RD圖描述了不同序列在不同目標碼率下的碼率與視頻質(zhì)量 (PSNR)。
看看圖中的變化有多大!在5000 kbps,一些序列擁有高達45 dB甚至更高的PSNR分值,而其他序列只有36 dB。這清楚地表明:沒有兩個視頻是相同的,應(yīng)該根據(jù)它們各自的特點來進行處理。
用更專業(yè)的術(shù)語來說就是,這些視頻的時空復(fù)雜度及其特征之間存在差異,所以利用這一點來有效壓縮視頻會是一個好主意。 ?
因此,Per-Title編碼就是從一個視頻變化到(或適應(yīng))另一個視頻的編碼。
使用Per-Title編碼,哪些變量是可以改變的?
使用Per-Title編碼時,很多編碼和傳輸參數(shù)都會發(fā)生變化,比如:
碼率階梯中的分辨率選擇:某些title可能會生成720p的質(zhì)量內(nèi)容(看上去也很棒),對于這類視頻,你也許不必將它切換成更高質(zhì)量內(nèi)容的1080p。
每個分辨率所選擇的碼率:這是Per-Title編碼中最重要的部分。如果你必須生成一組視頻分辨率(1080p、720p等),那么你可以為其中每個分辨率改變碼率。也就是說,你會發(fā)現(xiàn)自己可能不是在6mbps時生成1080p的視頻,而是在3mbps生成1080p,并達到相同的視頻質(zhì)量!
碼率階梯中的profile數(shù)量:這是Per-Title編碼的又一大優(yōu)勢。通過變換碼率-分辨率組合,也許能夠減少你需要在碼率階梯中產(chǎn)生的profile數(shù)量。
在使用Per-Title編碼時,其參數(shù)的范圍更大。在更精細的層面,你可以研究編碼器設(shè)置并對它們進行調(diào)整:
過濾器的強度
GOP長度
啟用和禁用二分之一像素或者四分之一像素運動估計
運動估計的搜索范圍
GOP結(jié)構(gòu)(P幀與B幀的比率)
以及更多取決于如何設(shè)置視頻編解碼器。這里的首要重點應(yīng)該是了解你的視頻復(fù)雜度,視頻編解碼器的能力,以及如何結(jié)合你所有的數(shù)據(jù)和視頻智能分析來有效壓縮視頻。
如何實現(xiàn)Per-Title編碼?
Per-Title編碼最重要的特點就是它能夠“理解”一部電影的復(fù)雜度、其中的場景和變化等。方法就是:通過收集電影信息和統(tǒng)計數(shù)據(jù),并使用這些數(shù)據(jù)進行壓縮。
這就使我們需要了解多遍編碼(multi-pass encoding)的概念,其中第一遍(或者第N 遍)被用來收集電影相關(guān)信息。在最后的第M遍,使用這些信息來編碼視頻。
哪些信息對理解電影復(fù)雜度有所幫助?讓我們來看看:
全局速度或運動矢量:它將告訴我們場景移動的速度,可以被用來區(qū)分脫口秀(其中沒有人移動)和美國職業(yè)橄欖球比賽(充滿快速攝像機的移動)。
空間復(fù)雜度:電影中的大部分畫面是像《辛普森一家》中的純色塊?還是充滿了年代電影中那種復(fù)雜的圖案?
時間復(fù)雜度:想要理解電影內(nèi)容如何快速地從一幀切換到另一幀,這又與上文中的全局運動向量和速度有關(guān)。
這些都是非常重要的視頻特點,它們決定了如何在確定的比特預(yù)算前提下有效壓縮視頻。簡單來說就是,如果你了解你的視頻屬性,你就可以調(diào)整編碼器設(shè)置從而達到最佳視頻質(zhì)量(比如被要求壓縮視頻到x mbps) 所以,在你收集了這些信息以后,你就可以在視頻編解碼器上執(zhí)行另一個pass來將視頻壓縮到正確碼率(由你的凸包算法決定)。
Per-Title編碼的優(yōu)勢
執(zhí)行Per-Title編碼擁有許多優(yōu)勢,比如:
節(jié)省存儲空間:通過使用Per-Title編碼改變碼率和分辨率,你可以高效壓縮視頻,且節(jié)省很多存儲空間。
節(jié)省傳輸成本:因為每個被編碼的title都使用了一個最適合它的碼率階梯,所以你馬上就會看到CDN傳輸成本的節(jié)省。除此之外,終端用戶也將下載較小的文件,以此減少緩沖的發(fā)生和首屏延遲。
節(jié)省編碼時間:再者,由于編碼階梯會為每部電影而單獨調(diào)整,你可以很容易地看到編碼時間的節(jié)省。比如,如果我們不使用1080p編碼《辛普森一家》的片段,而是使用720p并獲得了相同視覺質(zhì)量,那么分辨率的下降會提升編碼器的速度。這主要是因為分辨率的下降導(dǎo)致運動估計和補償算法的工作減少了。
提升質(zhì)量:通過調(diào)整每部電影或者每個主題的編碼器、分辨率、碼率、幀率以及其他設(shè)置,你可以充分利用編碼器,并獲取最佳視頻質(zhì)量。這將會帶來很棒的用戶體驗! 因此,通過切換到Per-Title編碼方案,你可以節(jié)省大量存儲、傳輸和編碼時間上的成本。
審核編輯:劉清
-
編碼
+關(guān)注
關(guān)注
6文章
959瀏覽量
54969 -
過濾器
+關(guān)注
關(guān)注
1文章
433瀏覽量
19759 -
ABR
+關(guān)注
關(guān)注
1文章
11瀏覽量
9711
原文標題:什么是Per-Title編碼?
文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
為何說Per-Title編碼思想仍在發(fā)揮著重要作用
![為何說<b class='flag-5'>Per-Title</b><b class='flag-5'>編碼</b>思想仍在發(fā)揮著重要作用](https://file.elecfans.com/web1/M00/51/13/o4YBAFr_eLOAOnKmAAIlxxwpakQ015.png)
labview word報表easy title 自動換行
【AD問答 3】如何全局修改原理圖的Title
Cadence原理圖中Title Blocks的使用方法(一)
Cadence原理圖中Title Blocks的使用方法(二)
球泡燈title24證書CEC證書頒發(fā)
I2S Master bits_per_sample != bits_per_chan情況下工作不正常怎么解決?
什么是cps (chip per second)
根據(jù)不同粒度的CAE,可以實現(xiàn)從粗獷和精確的內(nèi)容感知編碼
SBC 85 Pad per hole原型板開源
![SBC 85 Pad <b class='flag-5'>per</b> hole原型板開源](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論