视频编解码的比喻

前端之家收集整理的这篇文章主要介绍了视频编解码的比喻前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

随着工作业务的开展,对视频编解码的理解更加深入了一些,记录一些心得体会,以便后面回味。

某天突然有个好的想法略过心头,可以形象的向别人介绍视频编码和解码。

 

1.编解码像一场考试,编码就像做主观题,解码就像做客观题。

  编码可以类比为写作文:优秀的学生(学霸)可以用短小精炼的语音,生动形象地描述一个故事,大体故事细节(人物对话、面部表情眼神交流)都叙述清楚了;而普通的学生(学渣)则要用啰嗦、冗余、平凡的文字来表达一个故事,但是故事中的很多细节漏掉了!

    即,优秀学生(优秀的编码器)用较少的文字语言(比特数据)来表达了一个故事(图形),而平庸学生(一般的编码器)用大量的文字(比特数据)来表达一个故事(图形)。如果对比过不同的编码器,你就会发现同样的编码图像质量,有的编码器需要用较高的码率才行,如果强行将目标码率设小了会出现马赛克;而有的编码器(像x264)用较小的码率就可以实现较高的图形质量。

  解码可以类比为做选择题,这些题目都有固定的答案,(不同的解码器厂商)必须按照某个标准(h264的官方文档)去解码。

2.h264官方文档是个解码标准,规定了解码协议,不是编码标准。

  编码器厂商需要按照解码协议尽情发挥,使自家编码器输出的数据能够被解码。因此,编码考验各个厂商的人力物力投入,体现了其技术水平。

3.软硬件编码器特点比较。

  编码过程就是一个海量运算的过程。硬件编码器相比软件编码器,最大特点就是一个字——快!因为其将大量算法硬件化。软件编码器也有其特点——可以快速迭代升级

  对于其他行业的人来说,可能没有“快”的概念。这个快到底有多快?

  拿笔者所服务的厂商所设计的soc来说,使用hw来编码一帧1080p图像,需要10-15ms,然而,编码同样一帧yuv图像,使用6代i5处理器,使用大名鼎鼎的x264,需要500ms。因此如果进行录像,使用硬件基本绰绰有余,而使用软件编码,可能导致录制出的文件帧率较低,出现卡顿现象。

4.软硬件编码器有哪些?

  软编:x264和OpenH264,前者应用最为广泛,支持的编码特性最多,由分布于全球的视频编码领域专家所维护;后者由cisco公司开源给外界使用,特性较少,编码速度也一般。

  硬编:分成两类,一类专业的编码器厂商,另外一类搞通用soc的厂商。

    后者,会集成一个硬件编码IP到处理器中,因为再外挂一个专业的编码器对下游方案商来说,成本有点高,所以主控厂商,会自行设计这个专业模块以集成到自家处理器中。如桌面端的intel和amd,移动端的qcom,hisilicon,mtk,unisoc,编解码器不是其核心卖点,其卖点是通用处理器或者基带,因此编码性能可能做的比较一般(intel的qsv编解码器,测试效果很不错,应该是花了不少人力资源去做,毕竟多媒体业务是个强需求)。

    前者,所设计的soc以编解码器为核心,可以说是买编码器送ap,例如通常把编解码性能做的非常强悍(核心卖点),但是使用的处理器架构可能比较low,例如使用arm9、arm11这些上一代的处理器架构,因为客户对cpu运算需求较少,核心需求就是编解码。近几年来许多主控厂商也将自己的架构进行更新换代,例如一路跟随arm的节奏走,使用cortexA7,A9,A15,A72...等等,以满足下游客户对cpu运算的增长需求(可能跑一些AI算法)。这里面要着重提几家,以TI(德州仪器),Ambarella(安霸),Hisilicon(海思)为代表的主流老中青三代,以及以Allwinner(全志)、Novatek(联咏)为代表的业余玩家。其中TI的编解码这块基本退出中国市场,安霸在早几年,在中国业务开展的非常之宽,大部分行车记录仪和安防上基本用它的方案,其编码质量高并且码率小,但是这几年其在编码市场上在走下坡路,其大客户GoPro现在出的产品就不用它的编码器了;然而,市场是多变的,偷点懒就可能被竞争对手超过,目前,海思占据着安防监控领域大部分份额!海思算是后起之秀,从2004年做到现在的2020年,一步一步变成了市场的Num1。其他几个厂家,像全志科技,就是靠视频编解码(平板电脑)起家的,编解码性能做的还可以,但其cpu架构使用万年不变的A7就有点跟不上时代潮流了(后面出的各种主控又换成了A53),毕竟公司小人力资源投入有限,使用熟悉的架构风险相对较小。联咏为台湾企业,编解码做的还行,但还没拿过其样机进行测试。

 

好啦,随心而发,先总结到这!后面空了再开一些专栏来介绍编码和解码原理。

 

猜你在找的多媒体技术相关文章