對于視頻的傳輸而言,解碼的認識應該是基礎的。
那么什么是軟解碼,什么又是硬解碼呢?之間的差異在哪里呢。難道只是專有名詞的不同嗎?其實他兩個的區(qū)別很明顯
區(qū)別點
我們在計算機上播放的視頻文件都是經(jīng)過壓縮的,因為這樣有利于節(jié)約存儲空間;那么在播放過程,就需要進行一個反射的解壓縮過程。在以前這項工作都是由CPU來完成的,對于普通分辨率的AVI、RMVB等文件,絕大多數(shù)的CPU都可以勝任;但是發(fā)展到高清視頻(1080i/p)之后,數(shù)據(jù)解壓縮的工作量比以前翻了數(shù)倍,這讓很多處理器叫苦不迭。
隨著技術(shù)的發(fā)展,工程師們發(fā)現(xiàn)顯卡的GPU/VPU要比CPU更適合這類大數(shù)據(jù)量的、低難度的重復工作。視頻解碼工作從處理器那里分離出來,交給顯卡去做,這就叫做“硬解碼”,例如NVDIA的PureVideo、AMD的UVD技術(shù)等等;與之對應的,以前那種純粹依靠CPU來講稿的方式則是“軟解碼”。不過受到技術(shù)條件的限制,純粹的“硬解碼”在現(xiàn)階段是不存在的,CPU依然在發(fā)揮一部分作用,只不過硬解碼時GPU/VPU已經(jīng)成為運算的主力。
-
軟解碼和硬解碼的區(qū)別
軟編碼:使用CPU進行編碼
硬編碼:使用非CPU進行編碼,如顯卡GPU、專用的DSP、FPGA、ASIC芯片等 -
軟編碼和硬編碼比較
軟編碼:實現(xiàn)直接、簡單,參數(shù)調(diào)整方便,升級易,但CPU負載重,性能較硬編碼低,低碼率下質(zhì)量通常比硬編碼要好一點。
硬編碼:性能高,低碼率下通常質(zhì)量低于軟編碼器,但部分產(chǎn)品在GPU硬件平臺移植了優(yōu)秀的軟編碼算法(如X264)的,質(zhì)量基本等同于軟編碼。 -
目前的主流GPU加速平臺
Intel、AMD、NVIDIA -
目前主流的GPU平臺開發(fā)框架
CUDA:NVIDIA的封閉編程框架,通過框架可以調(diào)用GPU計算資源
AMD APP:AMD為自己的GPU提出的一套通用并行編程框架,標準開放,通過在CPU、GPU同時支持OpenCL框架,進行計算力融合。
OpenCL:開放計算語言,為異構(gòu)平臺編寫程序的該框架,異構(gòu)平臺可包含CPU、GPU以及其他計算處理器,目標是使相同的運算能支持不同平臺硬件加速。
Inel QuickSync:集成于Intel顯卡中的專用視頻編解碼模塊。