天天看点

图像处理SoC的方案调研(视频编码器和DLA)

作者:徐丹的写作空间
图像处理SoC的方案调研(视频编码器和DLA)

最近在公众号和粉丝交流,提到了图像处理SoC,包括的部分有CPU + ISP + 视频编码器 + DLA + axi/ahb/apb总线及外设,我觉得很有意思,值得学习和了解,尤其是视频编码器和DLA这两个概念。

1 视频编码器

视频编码器是一种可以将数字视频信号压缩并转换成特定格式的工具。编码器通常使用特定的算法,可以使得视频文件体积变小,便于存储和传输。它的发展源于互联网的发展,高清视频的实时数据巨大,为了实现在有限带宽下传输如此高数据量的视频图像,音视频应用系统通过使用编码设备将图像进行压缩编码大幅降低数据量后,再通过网络传输。

主要的功能有三类:

:改变视频数据的存储方式,减小视频文件的大小,而同时保持高质量。

:将视频进行转码,让不同格式的视频能够在不同设备和平台上播放。

:通过增加或减少压缩因子,来影响视频的图像质量。

常见的视频编码器包括了H.264、H.265、MPEG-4和VP9等。

是目前最流行的格式之一,它被广泛应用于移动设备、智能电视和数字广告牌等场景中。主要用于,而4K(4096*2160)、8K(8192*4320)就不够传了。

是H.264的后继产品,可以进一步提高视频压缩比例。H.265/HEVC在现有的主流视频编码标准H.264上保留了一些较为成熟的技术和继承其现有的优势,同时采用了基于四叉树结构的编码分割、预测编码技术等先进的编码技术,视频压缩效率将比H.264提高大约一半,可以轻松实现在低带宽下实现1080P图像的传输,同时支持4K、8K高清图像的传输。

是另一个流行的视频压缩标准,也被广泛用于数字电视和网络视频等领域。

是谷歌推出的免费视频编码器,具有更好的视频压缩效果。

图像处理SoC的方案调研(视频编码器和DLA)

2 DLA

深度学习加速器DLA(Deep Learning Accelerator)是英伟达公司的产品。它是一种专用集成电路,是一款针对深度学习操作的固定功能加速器引擎,能够有效地执行现代神经网络架构中常见的固定操作,例如卷积、反卷积、全连接、激活、池化、批量归一化等各种层,DLA不支持Explicit Quantization。根据NVIDIA官方文档的介绍,DLA支持了约15种主要AI算子的执行,不支持的算子类型将会offload到GPGPU进行计算。

尽管 DLA 没有 GPU 那么多的支持层,但它仍然支持许多流行的神经网络架构中使用的各种层。在许多情况下,层支持可能会满足模型的要求。例如,NVIDIA TAO 工具包包括 DLA 支持的各种预训练模型,范围从对象检测到动作识别。虽然需要注意的是,DLA 吞吐量通常低于 GPU,但它非常节能。

软件调用流程:

从应用->模型加载->用户态runtime library->设备文件系统(devfs ioctl)->内核态驱动->NPU硬件的调用来看,它和VIP的开发思路是一样的。

英伟达Xavier以GPU为计算核心,其SoC方案是CPU+GPU+ASIC:主要有4个模块: CPU,GPU,Deep Learning Accelerator(DLA)和Programmable Vision Accelerator(PVA)。占据最大面积的是GPU,接下来是CPU,最后辅以两个ASIC:。

与之对应的是特斯拉。特斯拉FSD以NPU(一种ASIC)为计算核心:有三个主要模块:CPU,GPU和Neural Processing Unit(NPU)。其中最重要也是面积最大的就是特斯拉自研的NPU(属于ASIC),主要用来运行深度神经网络。GPU主要是用来运行deep neural network的 post processing部分。总SoC方案也是CPU+GPU+ASIC,在NPU里也有类似DLA的功能,只不过叫法不同。

图像处理SoC的方案调研(视频编码器和DLA)

继续阅读