2010-12-17 76 views
0

可變比特率在什麼時間範圍內用於平均?例如,假設我想以每秒2000千比特編碼60秒的640 x 280 25 fps視頻。可變比特率視頻壓縮如何平均每幀?

編解碼器是否會查看視頻的第一秒(25幀),確定如何將這25幀壓縮到2000千比特,然後移動到下一秒的視頻(25幀)?或者是否分析整個視頻(也許前10秒是純黑色),並計算出它可以在過去的50秒內使用超過2000千比特,但在整個視頻中仍然保持2000千比特的平均值?

或者它是基於特定編解碼器的關鍵幀間隔。如果我將關鍵幀間隔設置爲250(視頻10秒),那麼編解碼器是否會在10秒內分配20,000千比特?

我確定它對於所有不同的編解碼器實際上是不同的,但我認爲必須有一個最佳實踐(或至少一個術語,我可以谷歌)。

回答

1

我不知道任何特定的編解碼器的定義或編碼器的實現,但我很熟悉的理性和動機背後VBR(更因爲它涉及音頻,但我相信這個概念是一樣的)。

這裏有兩個主要類別:單程和多程。單程(即時)編碼速度更快。它只是通過視頻一次並編碼。它可以實時進行廣播和其他情況,整個視頻不可用於事先分析。你的問題似乎主要涉及多通道。雖然它被稱爲多次通過,但通常意味着只有兩次。更重要的是,您似乎在詢問關於多路VBR編碼,其中指定了平均值(ABR)並且必須遵守。

對於需要更高比特率的部分,由於顏色深度,邊緣數量等(或者在音頻 - 大量復調音,混合頻率等)以及較低比率的「平坦」部分與這些品質(音頻:單一的聲音,只有節奏的部分等)相比,其中極端的是整個純色或接近它(靜音)的幀。基本上影響靜止圖像壓縮的相同標準。因此,在我看來,編碼器堅持指定平均值的最有效方法是在整個文件中以特定週期頻率對單個幀進行採樣。對於整個視頻來說,每秒兩次。 (我不知道這是否是一個現實的估計,但你明白了)。這有希望能夠對視頻特徵進行很好的估計(因爲缺乏更好的詞),並且可以最有效地分發這些寶貴的資源。

還應該注意的是,有時可以使用一定範圍的最小和最大比特率,使得比特率在任何時候都不能小於X或大於Y.良好選擇的範圍顯然取決於決議。

至於條款谷歌 - 嘗試多通編碼和AVR。和往常一樣,維基百科描繪了一幅相當不錯的粗略畫面,足以讓您知道去哪裏尋找更多的信息http://en.wikipedia.org/wiki/Variable_bitrate#Multi-pass_encoding_and_single-pass_encoding

1

一個術語,你可以谷歌 - 多通編碼&率預測。

它的功能(除了提供最佳質量編碼之外)是編解碼器有效地對視頻進行兩次編碼,第一次記錄由固定比特率導致的質量損失,第二次將該信息合併以維持相同的電平的質量,而不管視頻中的變化量如何。

速率預測/速率控制,是一個非常吸引人的話題,特別是對於實時單通編碼。編解碼器必須對未來的場景複雜性做出很好的估計,以保持整體比特率的目標。

限制通道允許的最大比特率(例如,您可能需要1MBit/s的平均比特率,但由於播放器中的緩衝區,內容不能超過2MBit/s超過5s,因此會使此任務更加複雜具有挑戰性的。

看看這裏更多提示: http://www.pixeltools.com/rate_control_paper.html