影片壓縮在幹嘛?看懂H.264、H.265、VP9等影片的檔案瘦身 ...

文章推薦指數: 80 %
投票人數:10人

早期常見的影片壓縮格式包含VCD與DVD使用的MPEG-1、MPEG-2,還有網路影片常用的RM、RMVB。

到了MPEG-4盛行的年代,則因公開規格的關係,讓各公司、機構可以 ... 登入 註冊 新聞評測處理器主機板顯示卡記憶體儲存機殼/電源網通電腦/周邊遊戲/電競活動專區業界動態 零組件儲存網通電腦/周邊遊戲/電競軟體技術研究 關於電腦王| 隱私權政策 著作權聲明| 廣告合作 ADVERTISEMENT 無論我們使用手機拍攝影片,或是透過YouTube、Netflix觀賞影片,這些檔案都會經過壓縮手續,來節省儲存空間與傳輸流量,然而影片壓縮的原理是什麼,或是目前大家會遇到林林總總的檔案編碼格式,是不是讓你覺得眼花繚亂,就讓我們一起來看看這些技術背後的原理吧。

電腦也是點描派藝術大師 其實電腦儲存數位影像的方式很簡單,但在說明其原理之前,筆者想要先介紹一下點描派藝術大師秀拉,他透過堆砌色點的方式繪畫,當觀賞者與圖畫保持較長距離時,因為不容易看清楚每一個色點,所以就會感覺是一幅正常的畫作。

數位影像的原理與點描畫很接近,電腦會透過儲存很多色點的方式記錄影像,不過在電腦領域會以「像素」(Pixel,也可稱為畫素)稱呼色點,畫面上的每個像素除了有固定位置外,還記錄了紅、綠、藍等3原色的資訊(即RGB資訊),當累積足夠多像素之後,就能拼湊出細膩的畫面。

以FullHD的影像為例,它的解析度為1920x1080,代表,畫面上會有寬1920個像素、高1080個像素,透過共207萬3600個像素記錄影像。

▲《大碗島的星期日下午》是點描派大師秀拉最具代表性的畫作之一。

▲將畫作放大來看,可以發現是由許多色點所構成。

▲45x30解析度(共1,350像素)的影像因像素太少,所以相當粗糙。

▲若把解析度提升至720x480(共345,600像素),由更多像素組合出的影像就清晰許多。

▲目前主流的FullHD的解析度為1920x1080,代表寬、高分別有1920、1080個像素,雖然不及更高階的4K解析度,但已經能夠提供高畫質的視覺體驗。

點描其實很佔空間 目前常見的顏色取樣深度為24bit,代表分別使用8個位元儲存RGB資訊,因此3原色可以有256種不同色階變化,組合起來共可呈現16,777,216(約1677萬)種顏色。

由於每個像素需佔用24bit,所以儲存FullHD畫面上的200多萬個像素總共需要的儲存空間如下 1920x1080x24=6,220,800bit ,若以無壓縮的BMP格式儲存這種圖片,則需額外加上54bit的檔頭資料,總共會佔用5.93MB左右的儲存空間。

在不壓縮畫面的情況下,光是儲存1張靜態畫像就會佔用不少空間,若以60FPS的影片為例,每秒儲存60張畫面,就需佔用356MB左右,這樣下來1個小時的影片的畫面部分(不含聲音資訊),就會佔用約1.22TB的儲存空間。

這樣無論是對於儲存或是傳輸影片來說都是很大的負擔,舉個例子來說,如果我們以手機拍攝無壓縮、FullHD、60FPS影片,那麼64GB的空間大約只夠儲存3分鐘的影片,若以10GB的行動上網流量觀賞串流影片,則只能觀看28秒影片,看來不把影片壓縮一下真的讓人吃不消。

▲24bit雖然可以還原美麗的色彩,在未壓縮的情況下儲存靜態畫像就耗費不少空間。

▲降低顏色取樣深度雖然可以節省儲存空間,但也會大幅折損色彩表現,圖為16色範例。

先從靜態圖片壓縮 從上面的範例可以看到,降低顏色取樣深度並不是個可行的解決方案,所以我們需要使用其他方式壓縮影片以節省容量,由於這個部分牽扯到許多艱深的影像處理技術,會讓文章內容太過發散,所以筆者僅以概念性的方式解說影片壓縮的原理。

由於影片是由許多靜態圖片組合而成,所以壓縮的過程首先可以先考慮把每張圖片都壓縮起來,舉例來說,將BMP點陣圖壓縮成JPEG格式,就能節省許多容量。

而這類圖片壓縮的技術大多為破壞性壓縮,意即編碼器會捨棄些許原始資訊以換取更高的壓縮效率,這類壓縮方式大家比較容易理解的案例是MP3音訊格式。

由於一般人耳大多只能聽到頻率20,000Hz以下的聲音,所以MP3就捨棄這些人耳不易查覺的高頻訊號,讓壓縮後的檔案會更小,但由於被捨棄的部分在解壓縮後無法還原到與原始資訊相同,因此稱為破壞性壓縮。

回到圖片部分,壓縮的重要程序就是捨棄人眼難以分辨的細節,由於人眼對亮度比較敏感,而對顏色比較遲鈍,因此在壓縮過程中,會將RGB資訊轉換成YUV,在維持記錄每個像素亮度(Luma)的情況下,降低色度、濃度(Chrominance、Chroma)的記錄密度,達到節省容量的效果。

接著透過離散餘弦變換(DiscreteCosineTransform)、量化(Quantization)、熵編碼(EntropyCoding)等數學運算方式,再次將YUV訊號進行破壞性壓縮,進一步縮小檔案容量。

此外在壓縮影片時,編碼器也會進行畫格內預測(Intra-FramePrediction),找出空間上的資訊冗餘(簡單地說就是分析畫面內臨近像素是否是相近顏色),並以差分編碼(DeltaEncoding)方式節省記錄容量。

▲以JPEG格式圖片格式為例,將品質參數設為96(最高為100),可以把原先容量為854KB的BMP圖片壓縮至87.9KB,且肉眼不易分辨差異。

▲但是把品質參數設為10的話,雖然能把容量進一步壓縮至12.8KB,但可以看出破壞性壓縮對畫質造成負面影響。

動態畫面靠資源回收 當考慮完單張的靜態畫面後,接下來就是要處理把多張畫面串起來後的問題,比方說60FPS的影片就代表每秒播放60張靜態畫面,但是畫面中可能會有很多區域是重覆的,如果可以不用記錄這些重覆的部分,是不是就可以省下很多容量呢? 我們可以想像一個都會區馬路的場景,攝影機高處俯瞰街景,影片中的行人、車輛會移動,但是道路、建築物卻固定不動。

另一個例子是電影結束後所播放的工作人原列表,會有許多人的名字從畫面下方向上捲動,字體內容不會改變,只是持續往相同方向移動。

這個時候就是進行畫格間預測(Inter-FramePrediction),找出時間上的資訊冗餘(簡單地說就是分析影片播放過程中沒有變動的物件),並以動態補償(MotionCompensation)方式找出影片中有變動的部分,只記錄差異的資料,至於沒有變動的部分則重覆利用先前的資訊。

回到前面的例子,在街景的範例中,編碼器會先以I畫格(IFrame)記錄完整畫面,然後使用P畫格(PFrame,可以參考前一畫格內的資訊)與B畫格(BFrame,可以參考前一與後一畫格內的資訊,可以提升壓縮率,但會增加運算負擔)記錄行人、車輛移動時造成的畫面差異,至於沒有變動的部分則沿用先前畫面上的資訊,如此一來就能大幅減少需要記錄的資訊,進而發揮降低壓縮後的檔案容量。

▲筆者隨手拍攝的範例影片,可以看到畫面中只有行人、車輛在移動。

(為降低容量所以畫質較差請見諒) ▲影片的I畫格會記錄完整畫面,但P或B畫格則只需記錄紅框標註的區域,其他部分的資訊則可省略並節省容量。

壓縮後只需千分之一容量 早期常見的影片壓縮格式包含VCD與DVD使用的MPEG-1、MPEG-2,還有網路影片常用的RM、RMVB。

到了MPEG-4盛行的年代,則因公開規格的關係,讓各公司、機構可以根據MPEG-4標準開發不同的格式,而產生如DivX、XviD、3ivx等繁多的衍生格式,直到H.264出現,才算是一統MPEG-4的「業界標準」,而H.264也是目前最主流的影片壓縮格式之一。

以YouTube所採用的H.264格式影片為例,筆者先前以FullHD解析度錄製的《實感賽車7》開場動畫時間長度約為30秒,若以未壓縮的方式儲存需要佔用10.43GB的空間,而經YouTube壓縮後檔案容量大幅下降為10.4MB,差距大約為1000倍。

除此之外,Google也先後推出VP8、VP9等影片壓縮格式,改善線上影片串流的觀賞體驗,而H.264的後續技術H.265也能在維持相近影像品質時,節省一半影片容量,對於往4K或更高解析度的影片播放來說相當關鍵。

這3種壓縮格式的介紹可以參考筆者先前所撰寫的深入報導。

延伸閱讀:認識VP8影像編碼:整合HTML5更小更漂亮、挑戰H.264地位VP9影像編碼格式是什麼?為何能讓YouTube播高畫質影片不需緩衝新一代影像編碼格式H.265完全析解,流量省一半,檔案更小更美 目前最新的影片壓縮格式之一就是由開放媒體聯盟(AOMedia)所開發的AV1,它的目標是取代其前身,即由Google開發的VP9影片壓縮格式,並具有日漸完整的生態系統,有望成為下個世代最主流的格式。

▲上傳至YouTube的影片會犧牲些許畫質並換取更高的壓縮率,檔案容兩能夠壓低至約為無壓縮影片的千分之一。

▲AV1具有完整的生態系統與相對開放且免權利金的優勢,未來發展值得期望。

▲AV1已經獲得許多廠商加盟與支持,對普及化有決定行的助益。

影片壓縮的技術不會隨時間停下,當我們有更高的影片解析度、畫質需求,而手上又有更強大的運算效能(如更新的智慧型手機處理器),就是壓縮效率更好的技術登場的時機,所以未來的發展還有許多好戲可以看呢。

標籤:知識百科,電腦王,h.264,影像處理,教學,vp8,codec,影片壓縮,h.265,技術研究,vp9,av1,編碼 使用Facebook留言 謹慎發言,尊重彼此。

按此展開留言規則 留言板發文規則: 請注意!留言要自負法律責任,相關案例層出不窮,請慎重發文! 請勿一文多貼灌水洗板或發表無意義字串,違者直接刪除留言。

請勿張貼廣告,不允許任何形式的商業廣告行為,包含頭像、簽名檔等。

禁止發表非官方所舉辦的團購性質活動,違者直接刪除留言。

發言時請勿涉及人身攻擊、侮辱、色情或其他有違社會善良風俗之內容,違者直接刪除留言。

嚴禁發表討論破解軟體、註冊碼、音樂、影片、軟體複製等違反智慧財產權之留言。

請尊重他人之文章著作權,轉載者請標明來源。

1 如果李小龍、約翰·藍儂還活著,他們會是什麼模樣?攝影師用AI結合繪圖工具,畫出了10名英年早逝的名人 2 NovelAI這個網站透過AI能幫你續寫小說,再幫你畫出二次元圖片 3 老黃刀法出包!12GB版RTX4080遭「撤回發表」取消上市 4 將蟑螂「趕出舒適圈」!博士使用JetsonNano開發板加上AI演算法,用雷射炮塔殺蟑螂 5 只要20分鐘,GPT-3就能幫你寫好得高分的回家作業,還能通過學校的檢測演算法 6 DisplayPort2.1標準正式發布,與USB4完全合體 7 「AI繪畫元年」來了!3款AI繪圖工具:DiscoDiffusion、Midjourney、DALL·E2有什麼不同? 8 AI透過拍攝手機、ATM表面的熱成像照片,20秒內就可以破解你的密碼,成功率高達86% 9 AMDRyzen57600X搭配B650晶片組效能實測:新世代的經濟好選擇 10 AMDRMP神級超頻工具,讓老6800XT顯示卡也能優化媲美3090Ti



請為這篇文章評分?