視頻碼率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的一種折中選擇。)
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。
那么采用的CBR的設備在設定了碼流之后,不管是前端攝像機視頻流的實際大小是小于所設定的碼流,還是大于所設定的碼流,經過設備的壓縮之后都會固定在所設定的碼流。那么這種情況下,如果前端攝像機的實際視頻流小于了所設定的碼流,就會造成帶寬的浪費;如果前端攝像機的實際視頻流大于所設定的碼流,那么由于碼流的固定化,就會造成圖像的效果會變差。打個比方來說:CBR就相當于把一條10車道的路直接劃出來了8個車道給小汽車用,不管這8個車道上有沒有小汽車在行駛,其他的貨車、客車等都不能占用這8個車道,嚴重浪費了資源;而且當小汽車比較多的時候,也禁止占用剩余的那2個車道,又造成了嚴重的涌堵。
相比來講,采用VBR的設備就不一樣了。采用的VBR的設備在設定了碼流之后,會根據前端攝像機的實際碼流在所設定的碼流范圍內自動調節,做到既不浪費帶寬,同時也能保證圖像質量。打個比方來說:VBR就相當于設置了10個車道當汽車流量小的時候,1個車道就夠了;當汽車流量很大的時候,可以用滿10個車道。