簡介
VC-1是最後被認可的高清編碼格式,不過因為有微軟的後台,所以這種編碼格式不能小窺。相對於MPEG2,VC-1的壓縮比更高,但相對於H.264而言,編碼解碼的計算則要稍小一些,目前來看,VC-1可能是一個比較好的平衡,輔以微軟的支持,應該是一隻不可忽視的力量。一般來說,VC-1多為 “.wmv”後綴,但這都不是絕對的,具體的編碼格式還是要通過軟體來查詢。總的來說,從壓縮比上來看,H.264的壓縮比率更高一些,也就是同樣的視頻,通過H.264編碼算法壓出來的視頻容量要比VC-1的更小,但是VC-1 格式的視頻在解碼計算方面則更小一些,一般通過高性能的CPU就可以很流暢的觀看高清視頻。相信這也是目前NVIDIA Geforce 8系列顯示卡不能完全解碼VC-1視頻的主要原因。
VC-l的編碼結構也是基於塊的運動補償混合編碼結構,但與H.264編碼結構有些不同(圖2),VC-l在頻率域中進行幀內預測;另外,VC-l的熵編碼採用的是自適應變長編碼。
VC-l的幀內預測採用傳統MPEG標準的預測模式,即在頻率域內進行幀內預測,在反量化前和重疊平滑化之後採用8×8塊的DC係數與AC係數的預測。
與H.246基於空間域的幀內預測相比,VC-l在預測精度和效率方面相對H.264低一些,但技術成熟,易於實現。
VC-1在宏塊劃分上只有2種:16×16和8×8。雖然VC-1的塊尺寸沒有H.264完整,但明顯的減小了計算量。
VC-1支持支持兩種內插運算:1/2像素的Bilinear內插運算和1/4像素的Bicubic內插運算。
VC-l的幀間預測參考幀僅由前I幀的重建幀所組成,減小了快取容量,使編解碼器的複雜性大為降低。VC-l的B幀預測編碼採用前向、後向運動估計和補償的方式,為提高編碼性能主要採取了三個措施。
B幀編碼位置只與兩個參考幀相關,而與時間無關;採用B幀的幀內編碼方案,在出現場景切換時提高了編碼的效率;運動矢量採用前向預測前向、後向預測後向的原則,並分別快取運動矢量,改善了快取質量,提高了運動矢量的連續性。
VC-l使用的濾波器採用了兩項技術:一是採用了環路濾波器,二是採用了重疊平滑技術。
在進行環路濾波操作時每隔4個像素進行一次,加快了處理速度,同時在設計時對平滑區域比較敏感,有利於改善圖像效果;採用重疊平滑技術可以消除塊對應的真實邊界和由量化導致的偽邊界造成的環路濾波失真。
變換編碼和量化
VC-l變換的基本單元沒有採用固定的矩陣,而是採用自適應變換,共有8×8、8×4、4×8、4×4四種尺寸,對幀內採用4×4,對幀間採用其中任何一種,雖然提高了變換的效果,但結構較複雜。VC-l同時允許使用死區量化器和常規均勻量化器,在大步長下採用死區量化器,而在小步長下採用均勻量化器,此外量化還考慮圖像中的噪聲和碼率控制參數調整等因素。這種靈活措施可使VC-l不管在高碼率下還是在低碼率下都能保持良好的率失真性能。