1. 程式人生 > >音視訊中的CBR VBR ABR

音視訊中的CBR VBR ABR

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               


視訊位元速率CBRVBR   固定位元速率(CBR)與可變位元速率(VBR


一般在我們輸出視訊檔案的時候都會碰到一個選擇即CBRVBRCBR的英文全稱是Constant Bit Rate

翻譯過來是固定位元速率,就是說每一秒種的畫面如果看做是一個靜止的圖片檔案的話(實際上是每一幀的畫面大小加起來)它大小是固定的。1 W9 ~3 U) `2 y/ j; w+ ]

VBR
的英文全稱是Variable Bit Rate意思是可變位元速率,就是每一秒畫面的大小是不固定。

CBR
相對簡單會在壓縮輸出的時候就把畫一秒的畫面都計算為固定的大小,這樣運算量小,編碼時間短而且解碼演算法也簡單,但缺點是在畫面劇烈運動的時候會由於位元速率不夠而丟失部分畫面資訊。我們從視覺上來看就是畫面波紋嚴重,影象不清晰。CBR的設定非常簡單就是設定一下位元速率大小就可以了。, b8 K$ t/ i3 K" O$ c1 M  s+ h


我們重點要講的是VBR
/ M; R0 _% p( v5 A% i' U
學習過視訊知識的人都知道在在移動的畫面所要消耗的儲存量是大於靜止的畫面的!
+ P/ M  S, R5 h9 n4 ^% r* o) B0 v
VBR
的出現就是為了解決這個問題。VBR有三個引數分別是MAXAverageMIN,分別是指視訊的最大比位元速率,平均位元速率和最小位元速率。+ c: j' b3 Q+ U) A9 V6 B- i
: v9 g( m; l! n& A# m; q
由於在壓縮的時候我們要大概的知道成片的大小是多少這個時候我們可以用VBR的平均位元速率來計算出視訊檔案的大概大小是多少。由於電腦儲存檔案是採用位元組即
Byte而在電路中實現傳輸的時候採取的是位元流即Bit8Bit組成一個Byte。所以我們以平均位元速率6Mbps來計算每一秒的畫面就是6Mbps/8=750KB那麼一小時的視訊檔案大小就是750KB*3600=2700MB2.7GB,這就是一般的DVD視訊檔案一小時的大小。

由於有MAXARGMIN三個引數我們採用VBR壓縮輸出視訊的時候計算機會先進行一下逐幀的掃描把運動量大的畫面位元速率調高,運動量小或是靜止的畫面位元速率調低並保證平均後的位元速率等於ARG值。; D' [4 d$ b3 q, Y. a! f3 E

VBR
的優點就體現出來了畫面質量相對高,但是缺點也出來了運算量大壓縮時間長,更嚴重的對解碼演算法的要求就複雜了很多相對的對解碼器的CPU要求就也高了。
5 O6 W8 e7 A# W. f3 M+ `
這就是很多手機可以播出CBRRM視訊卻播不了VBRRMVB視訊的原因,因為手機的CPU還沒有足夠的強,記憶體也不能運算如此複雜的解碼演算法。0 G2 b/ P0 j8 `; J
, L3 u9 I1 P6 O% }
MPEG4級壓縮的應用還出現了BitrateVBRQualityVBR即位元速率控制與質量控制,前者是單純的調整位元速率達到平均值,後者複雜一些是根據影象質量而定所以並不能先給出一個平均值來,只是保證每一幀畫面的質量達到要求,至於這一幀畫面為了保證質量會達到什麼樣的位元速率值並不是提前知道的,當然這種運算就更復雜了。還有更高階的保持質量的壓縮方式Two-passTwo-pass Encoding 的先對影片作一次分析,即First-pass。此時整個影片檔案會被先作掃描,定義影片中的影格是動態或是靜態,所以再決定相應的每一幀畫面的位元速率來進行壓縮。



CBR:固定位元速率

  CBR(Constants Bit Rate)即固定位元速率,就是靜態(恆定)位元率的意思,CBR是一種固定取樣率的壓縮方式。優點是壓縮快,能被大多數軟體和裝置支援,缺點是佔用空間相對大,效果不十分理想,現已逐步被VBR的方式取代。

  固定位元速率是一個用來形容通訊服務質量(QoS,Qualityof Service)的術語。和該詞相對應的詞是可變位元速率或可變位元率(英文variable bit rate,縮寫VBR)。

  當形容編解碼器的時候,CBR編碼指的是編碼器的輸出位元速率(或者解碼器的輸入位元速率)應該是固定制(常數)。當在一個頻寬受限的通道中進行多媒體通訊的時候CBR是非常有用的,因為這時候受限的是最高位元速率,CBR可以更好的易用這樣的通道。但是CBR不適合進行儲存,因為CBR將導致沒有足夠的位元速率對複雜的內容部分進行編碼(從而導致質量下降),同時在簡單的內容部分會浪費一些位元速率。

大部分編碼方案的輸出都是可變長的碼字,例如霍夫曼編碼或者遊程編碼(run-length coding),這使得編碼器很難做到完美的CBR。編碼器可以通過調整量化(進而調整編碼質量)來部分的解決這個問題,如果同時使用填充碼來完美的達到CBR。(有時候,CBR也指一種非常簡單的編碼方案,比如將一個16位精度的音訊資料流通過抽樣得到一個8位精度的資料流)。

 

VBR

VBR(VariableBit Rate)動態位元率。也就是非固定的位元率,音訊編碼軟體在編碼時根據音訊資料的複雜程度即時確定使用什麼位元率,這是以質量為前提兼顧檔案大小的編碼方式。

  VBR也稱為動態位元率編碼,使用這個方式時,你可以選擇從最差音質/最大壓縮比到最好音質/最低壓縮比之間的種種過渡級數,在MP3檔案編碼之時,程式會嘗試保持所選定的整個檔案的品質,將選擇適合音樂檔案不同部分的不同位元率來編碼。主要優點是可以讓整首歌的音質都能大致達到我們的品質要求,缺點是編碼時無法估計壓縮後的檔案大小。

  bitrate就是從波形裡面取樣的頻率, 聲音自然是波形,就是振動。振動畫出來是擺動的曲線,電腦存的時就在這根曲線上,隔百分之幾秒取一個點,這個間隔時間就叫取樣率。

  一般好的mp3取樣率是320kbps(就是每秒320千位元),320kbps以下波形破壞嚴重,很多非高音的細節都會消失,而320kbps的MP3編碼主要壓縮高音細節.320kbps以上只有較少軟體支援編碼,並且音質提升不明顯,不如採用無失真壓縮.

  採點越頻繁,波形還原就越精確,聲音就越不失真。VBR是一種不讓整個音樂取同一取樣率的技術。通過動態調整讓音樂複雜的地方取樣多些,簡單的地方取樣少些,這樣相同大小檔案,聽上去質量會更高。


區別

  VBR與傳統的CBR編碼的MP3不同,傳統的CBR(ConstantBitRate)就是靜態位元率,CBR約定死了MP3的取樣率為固定值。一首MP3從頭至尾為某固定值如128KBit/s進行壓縮。而VBR則採取了一種全新的,全程動態調節技術的壓縮方法。當在低音段時,VBR會自動採用較低的位元率如32KBit/s對音質進行壓縮;當在高音段時會用較高的位元率如224KBit/s對音質進行壓縮;當在極高端時則採用最高320KBit/s進行壓縮。VBR MP3就是在控制檔案大小的情況下,最大限度的提高了MP3的音質。

  CBR 和VBR的不同點:

  (1)CBR:固定位率的FRAME的大小也是固定的,只要知道檔案總長度,和幀長即可由播放每幀需26ms計算得出mp3播放的總時間,也可通過計數幀的個數控制快進,快退慢放等操作。

  (2)VBR:VBR是XING公司推出的演算法,所以在MP3的FRAME裡會有“XING”這個關鍵字(現在很多流行的小軟體也可以進行VBR壓縮,它們是否遵守這個約定,那就不得而知了),它存放在MP3檔案中的第一個有效FRAME裡,它標識了這個MP3檔案是VBR的。同時第一個FRAME裡存放了MP3檔案的FRAME的總個數,這就很容易獲得了播放總時間,同時還有100個位元組存放了播放總時間的100個時間分段的FRAME的INDEX。

原理

  VBR是一種可變編碼速率的MP3壓縮方式,其原理就是將一首歌的複雜部分用高位元率編碼,簡單部分用低位元率編碼,通過這種動態調整編碼速率的方式,進一步得到音質和檔案體積之間的平衡。它的主要優點是可以讓整首歌都能大致達到我們的音質要求,缺點是編碼時無法估計壓縮出來的檔案體積大小。

  現在推出的MP3機大部分都支援VBR了,不過有些機器雖然能夠播放VBR格式的歌曲,但是不能夠正確顯示播放時間,目前許多高品質MP3都是採用VBR編碼的,因此在選購的時候要注意MP3隨身聽對VBR的支援是否有效。




對 MP3 來說 bitrate(位元率)是最重要的因素,它用來表示每秒鐘的音訊資料佔用了多少個 bit(bit per second,簡稱 bps)。這個值越高,音質就越好。未壓縮的 WAV 檔案其 bitrate 為 1400kbps,1 個位元組為 8 位元,將 1400/8 轉換成位元組就是 175kByte/s。所以,對一首 4 分鐘的音樂,wav 格式的檔案佔用的空間為 4 分 * 60 秒 * 175=42000kByte,即 42000/1024=41MB;而 192kbps(每秒 24kByte)的 MP3 則佔用了 4*60*24/1024=5.625MB。這種每秒固定位元率的演算法是由 Xing 公司開發的,被稱為 Constant BitRate,即 CBR(固定速率);後來,Xing 又發展了一種新的演算法,他們將一首歌的複雜部分用高 bitrate 編碼,簡單部分用低 bitrate 編碼,這被稱為 Variable BitRate,簡稱 VBR(可變速率)。主意雖然不錯,可惜 Xing 編碼器的 VBR 演算法很差,音質與 CBR 相去甚遠,而且不是所有的播放器都支援 VBR 編碼的 MP3,包括微軟的 media player,這也是為什麼在 WMP 中 VBR 編碼的 MP3 不能正確顯示時間的原因。幸運的是,由 LAME 完美地實現了 VBR 演算法(以 Xing 的演算法為基礎加以改進和擴充),非但如此,從 LAME 3.89 版本開始,LAME 又引入了一種新的演算法:ABR(average bitrate,平均速率)。ABR 也被稱為“safe VBR”,它可以將生成的 MP3 控制在給定的 bitrate 上。舉例來說,當指定用 192kbps、ABR 對一段 wav 檔案進行編碼時,LAME 會將該檔案的 90% 用 192kbps 編碼,然後對剩餘 10% 進行優化:複雜部分用高於 192kbps 來編碼、簡單部分用低於 192kbps 來編碼。與 192kbps、CBR 相比,192kbps、ABR在檔案大小上相差不多,音質卻提高不少。據統計,ABR 編碼在速度上是 VBR 編碼的 2 到 3 倍,在 128-256kbps 範圍內質量要好於 CBR。(ABR在指定的檔案大小內,以每50幀(30幀約1秒)為一段,低頻和不敏感頻率使用相對低的流量,高頻和大動態表現時使用高流量,可以作為VBR和CBR的一種折中選擇。)



視訊編碼中CBR編碼和VBR編碼的區別   用Premiere Pro 2.0輸出DVD時,系統中有個選項,即輸出採用CBR編碼還是VBR編碼,那麼,CBR編碼和VBR編碼的區別是什麼呢?兩種編碼適用於什麼情況呢?

  VBR就是可變位元率,它與恆定位元率CBR有一些區別,關於CBRVBR編碼的區別如下:
  通過使用Windows Media編碼器,可以用
恆定位元率(CBR)或可變位元率(VBR)對音訊和視訊內容進行編碼。

  CBR編碼
  在流式播放方案中使用CBR編碼最為有效。使用CBR編碼時,位元率在流的進行過程中基本保持恆定並且接近目標位元率,始終處於由緩衝區大小確定的時間窗內。CBR編碼的缺點在於編碼內容的質量不穩定。因為內容的某些片段要比其他片段更難壓縮,所以CBR流的某些部分質量就比其他部分差。此外,CBR編碼會導致相鄰流的質量不同。通常在較低位元率下,質量的變化會更加明顯。

  VBR編碼
  當計劃提供內容供使用者下載、 將內容在本地播放或者在讀取速度有限的裝置(如CD或DVD播放機)上播放時,請使用VBR編碼。(計劃流式播放內容時也可以採用峰值VBR編碼模式)當 編碼內容中混有簡單資料和複雜資料(例如,在快動作和慢動作間切換的視訊)時,VBR 編碼是很有優勢的。使用VBR編碼時,系統將自動為內容的簡單部分分配較少的位元,從而留出足量的位元用於生成高質量的複雜部分。這意味著複雜性恆定的內 容(例如新聞播音)不會受益於VBR編碼。對混合內容使用VBR 編碼時,在檔案大小相同的條件下,VBR編碼的輸出結果要比CBR編碼的輸出結果質量好得多。在某些情況下,與CBR編碼檔案質量相同的VBR編碼檔案, 其大小可能只有前者的一半。

  一般情況下,合成相同質量的節目時,採用CBR編碼方式時節目合成時間會短一些,但檔案的長度會大一些(即相同時長的節目會佔用更多的空間或者相同的空間只能容納更短的節目)。

   一臺Intel雙核805D(2.66GHz)、1.5GB記憶體、ATI X550獨立256MB顯示卡、300GB並口硬碟、不超頻的情況下,在Premiere Pro 2.0中合成一段54分鐘的DVD節目,採用CBA編碼方式,耗時約90分鐘,生成的檔案約3.7GB;採用VBA二次編碼方式,耗時約150分鐘,生成 的檔案約2.7GB。



VBR是動態位元速率。CBR是靜態位元速率。     VBR(Variable Bitrate)動態位元率。也就是沒有固定的位元率,壓縮軟體在壓縮時根據音訊資料即時確定使用什麼位元率,這是以質量為前提兼顧檔案大小的方式。       VBR也稱為動態位元率編碼,使用這個方式時,你可以選擇從最差音質/最大壓縮比到最好音質/最低壓縮比之間的種種過渡級數,在MP3檔案編碼之時,程式會嘗試保持所選定的整個檔案的品質,將選擇適合音樂檔案的不同部分的位元率來編碼。主要優點是可以讓整首歌都能大致達到我們的品質要求,缺點是編碼時無法估計壓縮出來的檔案大小。      CBR(Constants Bit Rate)即固定位元速率,就是靜態(恆定)位元率的意思,CBR是一種固定取樣率的壓縮方式。優點是壓縮快,能被大多數軟體和裝置支援,缺點是佔用空間相對大,效果不十分理想,現已逐步被VBR的方式取代。      固定位元速率是一個用來形容通訊服務質量(QoS,Quality of Service)的術語。和該詞相對應的詞是可變位元速率或可變位元率(英文variable bit rate,縮寫VBR)。      當形容編解碼器的時候,CBR編碼指的是編碼器的輸出位元速率(或者解碼器的輸入位元速率)應該是固定制(常數)。當在一個頻寬受限的通道中進行多媒體通訊的時候CBR是非常有用的,因為這時候受限的是最高位元速率,CBR可以更好的易用這樣的通道。但是CBR不適合進行儲存,因為CBR將導致沒有足夠的位元速率對複雜的內容部分進行編碼(從而導致質量下降),同時在簡單的內容部分會浪費一些位元速率。



H.264 中的CBR、VBR

CBR(Constants Bit Rate)即固定位元速率,就是靜態(恆定)位元率的意思,CBR是一種固定取樣率的壓縮方式。優點是壓縮快,能被大多數軟體和裝置支援,缺點是在同樣質量下佔用空間相對大,效果不十分理想,現已逐步被VBR的方式取代。

固定位元速率是一個用來形容通訊服務質量(QoS,Quality of Service)的術語。和該詞相對應的詞是可變位元速率或可變位元率(英文variable bit rate,縮寫VBR)。

VBR(Variable Bit Rate)動態位元率。也就是非固定的位元率,編碼軟體在編碼時根據資料的複雜程度即時確定使用什麼位元率,這是以質量為前提兼顧檔案大小的編碼方式。

H.264是一種高效能的視訊編解碼技術。目前國際上制定視訊編解碼技術的組織有兩個,一個是“國際電聯(ITU-T)”,它制定的標準有H.261、H.263、H.263+等,另一個是“國際標準化組織(ISO)”它制定的標準有MPEG-1、MPEG-2、MPEG-4等。而H.264則是由兩個組織聯合組建的聯合視訊組(JVT)共同制定的新數字視訊編碼標準,所以它既是ITU-T的H.264,又是ISO/IEC的MPEG-4高階視訊編碼(Advanced Video Coding,AVC),而且它將成為MPEG-4標準的第10部分。因此,不論是MPEG-4 AVC、MPEG-4 Part 10,還是ISO/IEC 14496-10,都是指H.264。

 H.264標準的主要目標是:與其它現有的視訊編碼標準相比,在相同的頻寬下提供更加優秀的圖象質量。

在安防監控行業,目前市場上各大廠家的數字硬碟錄影機裝置均採用的H.264壓縮演算法。在碼流控制方面有CBR,也有VBR。

那麼採用的CBR的裝置在設定了碼流之後,不管是前端攝像機視訊流的實際大小是小於所設定的碼流,還是大於所設定的碼流,經過裝置的壓縮之後都會固定在所設定的碼流。那麼這種情況下,如果前端攝像機的實際視訊流小於了所設定的碼流,就會造成頻寬的浪費;如果前端攝像機的實際視訊流大於所設定的碼流,那麼由於碼流的固定化,就會造成影象的效果會變差。打個比方來說:CBR就相當於把一條10車道的路直接劃出來了8個車道給小汽車用,不管這8個車道上有沒有小汽車在行駛,其他的貨車、客車等都不能佔用這8個車道,嚴重浪費了資源;而且當小汽車比較多的時候,也禁止佔用剩餘的那2個車道,又造成了嚴重的湧堵。

相比來講,採用VBR的裝置就不一樣了。採用的VBR的裝置在設定了碼流之後,會根據前端攝像機的實際碼流在所設定的碼流範圍內自動調節,做到既不浪費頻寬,同時也能保證影象質量。打個比方來說:VBR就相當於設定了10個車道當汽車流量小的時候,1個車道就夠了;當汽車流量很大的時候,可以用滿10個車道。


           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述