ADVERTISEMENT
在網路上觀賞串流影片時,資料流量是影響使用者體驗相當重要的因素之一,如果影片的資料流量太高,超過網路頻寬所能負荷,那麼就會發生影片播放不順的狀況,另一方面,如果使用非吃到飽的上網方案,還需要考慮觀看影片所產生的上網費用,所以在不影響畫質的前題下降低資料流量,就是影音網站努力的目標。
靠資料壓縮節省流量
對於影音網站的經營者而言,節省資料流量的另一個目的,就是可以降低伺服器的負擔,降低資料流量不但能減少伺服器再傳輸影片時所消耗的網路頻寬,也能降低影片的檔案容量,這些結果都可以進一步降低伺服器建置與營運的成本,也能讓使用者不必等待緩衝時間,就能直接開始觀看影片。YouTube於表示,為了要節省資料流量,它們開始採用VP9這種檔案格式,可以為HD高畫質或是4K超高畫質影片節省一半資料流量。
VP9是目前最有效率的主流影像編碼之一,根據YouTube提供的資料,在2014年間,全體使用者總共在YouTube上觀看長達250億小時的VP9影片,其中也有數10億小時並非觀看高畫質影片。VP9同時也是開源軟體,具有免費與開發彈性更大的優勢。
ADVERTISEMENT
在部落格中,YouTube也展示了VP9的影像壓縮實力,在分別使用VP9與H.264等2種主流影響編碼格式,製作流量為600kbps的影片(每分鐘影片約占用4.39MB),可以看出VP9的影像更為清析,而H.264的影像不但不夠銳利,畫面上也充滿雜訊。
▲使用VP9壓縮的影像,使用600kbps的流量就有相當不錯的表現。
ADVERTISEMENT
▲然而一樣使用600kbps流量,使用H.264壓縮的影像就比較模糊。
用運算能力換取空間
影片壓縮的目的就是為了要降低資料流量並節省空間,以目前主流的HD高畫質影片(解析度為1920 x 1080,顏色取樣深度為24bit,每秒幀數為60幀)進行估算,在不進行壓縮的情況流量約為每秒356MB,而YouTube官方為估算4K超高畫質影片的流量更是高達每秒2,250 MB。上述2種影片格式的流量,對伺服器的儲存與串流播放都是極大的負擔,因此為影片進行壓縮是必要手段。
ADVERTISEMENT
不過壓縮是需要付出代價的,無論是編碼或是解碼,都需要消耗電腦的運算效能來達成。在錄製影片的過程中,需要以編碼器對原始影片進行編碼,不過由於編碼工作不需要與播放速度同步,所以不會有流暢性的問題,舉例來說可以使用2小時來壓縮片長只有1小時的影片。但是在播放的時候,解碼工作需要與播放速度同步,所以需要考慮解碼器的運算效能,使用播放設備可以負荷的壓縮方式,否則在播放影片時就會發生延遲或不流暢的狀況。
至於影片壓縮是用什麼方式來節省空間的呢?VP9承襲了前代規範VP8的許多技術細節,也與許多主流編碼一樣採用動態補嘗做為壓縮的核心技術之一。動態補償的概念就是會比對影片中的前後畫格,只記錄其中的變動,並刪去重複的部分以節省空間。VP9與VP8一樣將畫格分為最後畫格(last frame)、黃金畫格(golden frame)、備用畫格(alternate frame)等3大類。最後畫格會將整個畫面完整地記錄下來,雖然會花費最多儲存空間,但是只要解碼單一畫格,就可以顯示該時間點的完整畫面。黃金畫格則只記錄與上一幀相異的部份,至於相同的部份,則延用上一幀的資料。備用畫格最大的特色就是畫格中的物件不一定要顯示在畫面上,而且可以將其中物件插入不同畫格中,它可以把許多將被用於動態補償的物件,收集在單一畫格中,並且在解碼時分配給多個黃金畫格使用,以增進壓縮的效率。
此外VP9也在畫質上做了許多改善,並將巨區塊(macroblock)的尺寸從16 x 16像素提高到32×32甚至64×64的規格,此外VP9也導入了類似於H.265的樹狀資料結構編碼,提高整體壓縮效率,讓影片能在保持相同畫質的前提下,降低所需的資料流量。
ADVERTISEMENT
▲圖中I、B、P分別指傳統動態補償所使用的I、P、B frame,L、G、A表示最後、黃金、備用畫格,紅色箭頭表示可以讀取其他畫格資料的方向。
I frame與最後畫格一樣記錄完整畫面,B、P frame與黃金畫格都需要向鄰近畫格調用資料,才能合成畫面。備用畫格則是能提升動態補償資料利用的靈活度。
延伸閱讀:
ADVERTISEMENT