视频软解码和硬解码的区别

对于视频的传输而言,解码的认识应该是基础的。
那么什么是软解码,什么又是硬解码呢?之间的差异在哪里呢。难道只是专有名词的不同吗?其实他两个的区别很明显

区别点

我们在计算机上播放的视频文件都是经过压缩的,因为这样有利于节约存储空间;那么在播放过程,就需要进行一个反射的解压缩过程。在以前这项工作都是由CPU来完成的,对于普通分辨率的AVI、RMVB等文件,绝大多数的CPU都可以胜任;但是发展到高清视频(1080i/p)之后,数据解压缩的工作量比以前翻了数倍,这让很多处理器叫苦不迭。
  随着技术的发展,工程师们发现显卡的GPU/VPU要比CPU更适合这类大数据量的、低难度的重复工作。视频解码工作从处理器那里分离出来,交给显卡去做,这就叫做“硬解码”,例如NVDIA的PureVideo、AMD的UVD技术等等;与之对应的,以前那种纯粹依靠CPU来讲稿的方式则是“软解码”。不过受到技术条件的限制,纯粹的“硬解码”在现阶段是不存在的,CPU依然在发挥一部分作用,只不过硬解码时GPU/VPU已经成为运算的主力。

  • 软解码和硬解码的区别
    软编码:使用CPU进行编码
    硬编码:使用非CPU进行编码,如显卡GPU、专用的DSP、FPGA、ASIC芯片等
  • 软编码和硬编码比较
    软编码:实现直接、简单,参数调整方便,升级易,但CPU负载重,性能较硬编码低,低码率下质量通常比硬编码要好一点。
    硬编码:性能高,低码率下通常质量低于软编码器,但部分产品在GPU硬件平台移植了优秀的软编码算法(如X264)的,质量基本等同于软编码。
  • 目前的主流GPU加速平台
    Intel、AMD、NVIDIA
  • 目前主流的GPU平台开发框架
    CUDA:NVIDIA的封闭编程框架,通过框架可以调用GPU计算资源
    AMD APP:AMD为自己的GPU提出的一套通用并行编程框架,标准开放,通过在CPU、GPU同时支持OpenCL框架,进行计算力融合。
    OpenCL:开放计算语言,为异构平台编写程序的该框架,异构平台可包含CPU、GPU以及其他计算处理器,目标是使相同的运算能支持不同平台硬件加速。
    Inel QuickSync:集成于Intel显卡中的专用视频编解码模块。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近在研究IJKPlayer框架,对视屏的软解码和硬解码也有一些自己的理解. 我们在计算机上播放的视频文件都是经过...
    iOS_Edward阅读 4,427评论 0 1
  • 什么是【解码】 为了节约存储空间,我们在设备上播放的视频文件都是经过压缩的;在播放过程,需要进行一个反射的解压缩过...
    wnido阅读 9,377评论 0 3
  • 在保证视频图像质量的前提下,HEVC通过增加一定的计算复杂度,可以实现码流在H.264/AVC的基础上降低50%。...
    加刘景长阅读 12,464评论 0 6
  • 软解码和硬解码有什么区别?硬解码:由显卡核心GPU来对高清视频进行解码工作,CPU占用率很低,画质效果比软解码略差...
    Code丶Ling阅读 14,542评论 1 3
  • 酒深巷,痴情浓。酒的原料是大自然的产物,而酒是人类智慧的结晶。 21:17☞晚餐之美味佳肴依旧进行,这顿爱心晚餐要...
    字典与胡路阅读 3,561评论 0 0

友情链接更多精彩内容