天天看點

音視訊中的CBR,VBR,ABR

視訊碼率CBR和VBR   固定碼率(CBR)與可變碼率(VBR)

一般在我們輸出視訊檔案的時候都會碰到一個選擇即CBR與VBR,CBR的英文全稱是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有三個參數分别是MAX,Average和MIN,分别是指視訊的最大比碼率,平均碼率和最小碼率。+ c: j' b3 Q+ U) A9 V6 B- i

: v9 g( m; l! n& A# m; q

由于在壓縮的時候我們要大概的知道成片的大小是多少這個時候我們可以用VBR的平均碼率來計算出視訊檔案的大概大小是多少。由于電腦存儲檔案是采用位元組即Byte而在電路中實作傳輸的時候采取的是比特流即Bit,8個Bit組成一個Byte。是以我們以平均碼率6Mbps來計算每一秒的畫面就是6Mbps/8=750KB那麼一小時的視訊檔案大小就是750KB*3600=2700MB即2.7GB,這就是一般的DVD視訊檔案一小時的大小。

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

VBR的優點就展現出來了畫面品質相對高,但是缺點也出來了運算量大壓縮時間長,更嚴重的對解碼算法的要求就複雜了很多相對的對解碼器的CPU要求就也高了。

5 O6 W8 e7 A# W. f3 M+ `

這就是很多手機可以播出CBR的RM視訊卻播不了VBR的RMVB視訊的原因,因為手機的CPU還沒有足夠的強,記憶體也不能運算如此複雜的解碼算法。0 G2 b/ P0 j8 `; J

, L3 u9 I1 P6 O% }

在MPEG4級壓縮的應用還出現了BitrateVBR和QualityVBR即碼率控制與品質控制,前者是單純的調整碼率達到平均值,後者複雜一些是根據圖像品質而定是以并不能先給出一個平均值來,隻是保證每一幀畫面的品質達到要求,至于這一幀畫面為了保證品質會達到什麼樣的碼率值并不是提前知道的,當然這種運算就更複雜了。還有更進階的保持品質的壓縮方式Two-pass即Two-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有一些差別,關于CBR或VBR編碼的差別如下:

  通過使用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。

繼續閱讀