【視頻編碼】軟解與硬解

視頻解碼分爲軟解和硬解。

軟解,即軟件解碼:即通過軟件讓CPU來對視頻進行解碼處理;

硬解,即硬件解碼:是將原來全部交由CPU來處理的視頻數據的部分交由GPU來做。

所謂“軟解”就是通過軟件讓CPU進行視頻解碼處理;而“硬解”是指不依賴於CPU,通過專用的設備(子卡)單獨完成視頻解碼,比如曾經的VCD/DVD解壓卡、視頻壓縮卡都被冠以“硬解”的稱號。現在實現高清硬解不需要額外的子卡,也不需要額外的投入,因爲硬解碼模塊被整合在了GPU內部,而目前主流的顯卡(包括整合顯卡)都能支持硬解碼。
“硬解”其實更需要軟件的支持,只是基本不需要CPU參與運算,從而爲系統節約了很多資源開銷。通過降低CPU佔用率,可以給用戶帶來很多實惠:

  • GPU硬解碼高清視頻的優勢:
  1. 不需要太好的CPU,單核足矣,CPU方面節約不少資金;
  2. 硬解碼基本相當於免費附送,不到500元的整合主板都能完美支持;
  3. 硬解碼讓CPU佔用率超低,系統有能力在看HDTV的同時進行多任務操作;
  4. CPU需要傾盡全力才能解碼HDTV,而GPU只需動用0.1億晶體管的解碼模塊就能完成任務,功耗控制更好;
  • GPU硬解碼高清視頻的劣勢:
  1. 起步較晚,軟件支持度無法與軟解相提並論;
  2. 面對雜亂無章的視頻編碼、封裝格式,硬解碼無法做到全面兼容;
  3. 軟解擁有大量畫面輸出補償及畫質增強技術,而硬解這方面做得還遠遠不夠;
  4. 硬解碼軟件設置較爲複雜,很多朋友根本不知道該如何正確使用GPU硬件解碼。
     

上述描述比較籠統,不完全對。舉一個反例,intel的qsv硬編方案,就是基於cpu的。以後會越來越不好區分,兩者逐漸在融合。fpga已經有這個趨勢。

 

參考:

[1] 視頻編碼之軟解與硬解區別

[2] 【乾貨】關於軟解(ffmpeg)和硬解(MediaCodec、MediaPlayer)以及底層(OpenMax)的那點事

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章