neXt Gen Avm Solution

目前市面上所有的 AVM 产品都是一个设备主机盒子的形态。主机内部包含完整的硬件,系统固件,算法代码,控制逻辑和交互界面。

在这种情况下,为了降低成本和价格,势必选择很低端的SOC,从而导致SOC算力不强, 输出的画面分辨率不高,只能显示单一的2D画面等问题。

如果选择高性能的能够实现AVM的SOC方案, 又会发现成本增长数倍。

其实,在这两者之间存在着大量的各种品牌型号的,性能强劲,成本低廉的SOC,广泛应用于车机,车载系统,平板等领域,它们不能应用于AVM产品唯一的原因就是——不能接入4个摄像头。

所以,AVM产品需要解决的其实是两个技术问题:

  1. 用低成本解决多摄像头接入。
  2. AVM算法和模型。

解决这两个问题,就可以在任意平台和系统上实现AVM功能,而无关SOC方案。

关于AVM的思考

海思方案的缺陷

使用MCIM模块跟车机对接,实现AVM功能,在成本上, 比第二代海思方案的360全景产品更低一点。并且可以实现3D AVM,流媒体后视等 海思方案无法实现的功能。海思方案的缺陷在于,天生的处理能力差,不适合做图像处理,海思方案之所以能够这么火,是因为找到了一个行业的狭缝,刚刚能用,价格很低,正规方案成本死活降不下来。海思只能输出 800x480@12fps 左右的2D AVM画面, 这个性能天花板是海思芯片做AVM方案的死穴。

独立的360盒子已经没有太多的商业价值

现在的360盒子都在跟车机对接, 但是360盒子跟车机对接实际上是很鸡肋, 两个系统搭载一起,其中一个系统的目的就是向另一个系统提供一个功能接口,不管是从系统结构,性能,还是技术上,都很古怪。

4合1采集芯片兼容性不好

现有的芯片厂商也有4摄像头输入合1,单接口输出的方案, 但是这几个方案都无一例外使用了MIPI的虚通道的接口模式, 所以中低档的SOC很难对接这种解决方案, 目前能够对接的也就是 IMX6, T7 等特定芯片,大宗产品使用的MT,高通等 方案都没法直接使用这种低成本的单芯片方案。Nextchip的片子也明确只能再IMX6, T7上使用。

T7方案做车机,性能不好

T7方案如果是作为车机方案,应该是走不远。 车机厂商不会因为一个360功能就把自己现在的产品整套方案全部换成 T7, 不光是成本的问题, 还有T7的CPU(A7)和GPU(mali400mp2)性能都不强,T7推出太晚,已经错过了时机。

T7做AVM盒子性价比不高

如果使用T7单独来做AVM产品,那么又存在性价比不高的问题。

AVM

AVM本质上就是多摄像头输入 + 图像合成算法。所以不管用什么方案,用什么系统, 本质上就是在解决这两个问题。现在绝大多数中低档SOC不支持多摄像头输入, 是因为摄像头接口标准很多, 支持哪一种这个很难决策,支持任何一种方案,都意味着IC成本增加,市场接受度降低。所以可以预见的未来,中低端IC厂商的SOC都不会针对AVM增加多摄像头输入能力。

高端方案例如 Nvidia,J6是早就支持的, 但是也会选择高档一些的接口标准,以免降低了档次和芯片的规格指标。

关于分辨率

对于现在的主流AVM方案来说, 4个720P摄像头输入都是劣势而不是优势。 因为对于车机显示频的 1024x600或者1280x720显示清晰度来说, 能得到最好图像效果的摄像头应该是 720x480 的数字摄像头(场模式,模拟信号调试方式,导致了很严重的图像质量劣化), 使用4个720P摄像头来合成一个 800x480的全景画面, 因为分辨率降低太多,所以需要3x3或者4x4的算子来采样, 而双线性插值的 2x2采样不够用。

4x720P的图像采集,缓存,遍历, 本身就成了了大多数中低端SOC的性能负担, 例如在IMX6上, GPU合成AVM跑30fps一点问题都没有,但是一旦打开视频输入, 输出就会被降低 12fps上下。妥妥的腰斩。

真正的问题

国内AVM产品从12年左右有公司推出产品到现在,有6年多了。AVM产品也经历了好几代更替,富士通方案,NXP方案,TI方案,海思方案,飞思卡尔方案,凌阳方案,Latiice方案……成王败寇,真正赚钱的方案没两个。

目前的行业趋势来看,AVM作为独立产品生存的空间越来越小,越来越作为 车机的配件,搭配车机销售。这跟我15年的预测一致。

AVM如果作为车机的配件,现在的几款产品都很鸡肋。海思方案效果和性能太差, 飞思卡尔方案比车机还贵,性能也算不上高。导致这个原因的就在于AVM的多摄像头输入要求,使得能够选择的SOC方案很少,要么就是海思的监控芯片,能够满足 多摄像头输入,但是性能很差。要么就是IMX6这样的特定SOC,性价比超低。 其实现在性能又强,价格又低的SOC到处都是,但是AVM就是摆脱不了特定的方案,这可能也算另一个层次的缺少核心技术吧,国内这么多做AVM的厂家,都在拿方案修修补补写写软件,没有一家公司有能力深入到更深的系统层次去解决方案的问题。现在主流的车机性能都比海思芯片或者IMX6强很多,却需要把车机里对资源和性能要求最高的一个功能,交给外挂的一颗低端芯片,想想就觉得奇葩。

其实解决问题的关键,就是在控制住成本的前提下,实现多摄像头的输入问题, 这个问题解决了, AVM盒子的帧率低,分辨率不高,图像卡顿,3D效果差, 不能增加新的功能等问题就迎刃而解。

从这个角度来看,用FPGA来实现低成本低延时的视频输入,确实是正确的思路,能够真正解决本质的问题。

选一颗性能强,价格低的SOC,增加¥100多成本的FPGA模块实现多摄像头采集。

跟海思对标, 价格高一截,但是性能功能甩海思两代以上,跟海思就比功能,比指标。

跟IMX6对标,价格比IMX6低一大截,性能还超IMX6.(IMX6面世很早,跟主流的A53+T720对比,性能已经只能算中低档了。)。

跟T7对标,价格略高(其实未必,如果T7卖的不好价格肯定不会低),性能高一大截。T7作为全志主推的低端片子,性价比 可能比其他大量出货的国产片子差很多。

MCIM替代海思AVM

如果使用MCIM跟车机方案对接,来实现AVM功能, 那么很有希望能够成为通用的3D版AVM解决方案。

使用MIPI输出,在RK3288,Android平台 实现3D AVM功能。720P显示分辨率全屏输出, 25fps毫无压力,CPU和GPU都表示工作不饱和。

测试视频1

25fps流畅运行,不卡顿

测试视频2

25fps流畅运行,不卡顿,不会像海思方案那样看到明显的图像一帧一帧跳动。