硬解码和软解码有什么区别?

905 阅读4分钟

一维码|二维码

现如今有比较多的二维码扫描器厂商推出价格低廉的产品,打着“性能一样,价格更优”的口号,吸引了很多客户的注意。据了解,之所以如此的原因在于该类产品使用的是软解码模式,那么问题来了,二维码扫描器软解码模式与之前的解码模式也就是硬解码模式有何区别呢?

硬解码模式

二维码扫描器硬解码模式具体步骤:

  1. 首先是要进行信息采集,也就是对条码进行拍照。
  2. 然后对照片进行解析,解析处理器进行处理,通常会将这些解析的电路做成一个小电路板,这就是所谓的解码板
  3. 最后解码板解析的数据通过通信接口(uart)传输给需要的设备(一般有电脑和手持机)。

本质上就是扫描头抓取信息分析后给CPU输出结果,然后显示。这就是硬解码模式下的解码过程

软解码模式

二维码扫描器软解码模式主频有要求,CPU主频不能低于400MHz,再需要将解码的程序加入系统内部,CPU处理引擎(扫描头)拍摄的二维码图片,也就是扫描头抓取信息给机器CPU分析,输出结果后显示。

小结

大家应该理解软解和硬解的区分了吧,其实说白了就是手持机是直接(硬解码)还是间接(软解码)处理二维码数据。

硬解码模式和软解码模式相比的优缺点对比

硬解码软解码
优势性能和稳定性上,硬解速度相对软解要快,长时间使用性能也不会下降。软解二维码设备成本低
劣势硬解二维解码设备成本高软解的机器,由于解码程序要加入到系统内部,所以系统不稳定的风险相对要高。

视频编解码

编解码指的是用特定算法将数据进行转换还原的过程,或将电脉冲信号转换成它所代表的信息、数据等的过程。由于直接传输原始画面数据量庞大,会占用较多的带宽资源,为了节约带宽,减少带宽的压力。在传输前编码器会对画面进行压缩,让画面的流数据减小,并成为统一的编码格式。在传输后解码器对编码传输后的数据按照解码格式进行一一解码,对数据进行还原。这样一来,节约了大量的带宽资源,并且传输的数据流较小,减少了网络抖动所带来的影响,因此,编解码是必不可少的。

硬编解码

硬件编解码是非CPU通过烧写运行视频加速功能对高清视频流进行编解码,其中非CPU可包括GPUFPGA或者ASIC独立硬件模块,把CPU高频率使用的视频编解码工作从CPU里分离出来,降低CPU的使用负荷,使得平台能高效且流畅的执行视频的编解码动作。

软编解码

软件编解码指的是在信息传输的过程中,视频等信号直接通过CPU进行编解码。如此而来,会增加CPU的工作负荷,提升功耗,如果CPU能力不足,则软件其它功能也会受到一定程度的影响。由于CPU拥有更强大的计算能力以及更精确的数据位宽,因此CPU能更好地兼容各种编解码的工作。

小结

  1. 硬编解码
    • 优点
      • 可分离出音视频编解码的工作,无需占用CPU资源。
      • 性能高,同等条件下编解码的速率更快
      • 同等条件下,独立硬件模块进行编解码的功耗要低于CPU进行软编解码。
    • 缺点
      • 起步较晚,软件支持度无法与软件编解码相提并论。
      • 由于GPU以及专用硬件功能性限制,硬件编解码兼容度较低
      • 硬件编码在大量画面输出补偿及画质增强等技术方面有一定欠缺。
      • 硬件编解码在软件上需要进行独立设置,对小白用户不是很友好。
  2. 软编解码
    • 优点
      • 编解码器更易于开发,协议兼容度高
      • 软件编解码拥有大量画面输出补偿及画质增强的技术,画质优于硬件编解码。
    • 缺点
      • 软件编解码对CPU的性能要求较高,通过软件编解码进行串流玩高帧率游戏或播放高清电影,CPU的负担较重。

H.264以及H.265的编解码协议标准

从一开始分时视频内容分发模式直播模式,再到现在的云游戏互动模式,编解码逐步从更适用于CPU计算的H.264往更适用于GPUH.265的方向发展。并且,Google提出的更有效率的AV1编解码也在不断推进。