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

news2025/1/19 2:41:54

图片

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

1 视频编码器

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

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

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

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

常见的视频编码器包括了H.264、H.265、MPEG-4和VP9等。
H.264是目前最流行的格式之一,它被广泛应用于移动设备、智能电视和数字广告牌等场景中。主要用于720P,1080P的视频,而4K(40962160)、8K(81924320)就不够传了。

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

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

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

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:一个是用于inference的DLA,还有一个是加速传统CV的PVA。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1441900.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

内网穿透工具

1. nps-npc 1.1 简介 nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……)&#xff0c…

Makefile编译原理 make的隐性规则

一.makefile 中的同名目标 下面程序怎么执行?为什么? 实验1 :makefile 中出现同名目标时 .PHONY : all all : echo "command-1"all : echo "command-2"VAR : testall :echo "all : $(VAR)"mhrubuntu:~/work/…

春节:当代发展及创新传承

为了解中国传统节日——春节,2024年2月9日,曲阜师范大学计算机学院“古韵新声,格物致‘知’”实践队队员贾宣在山东省青岛市西海岸新区的商场中进行了街头调查,探究春节的发展与当代意义。 春节历史悠久,起源于早期人…

vue-内置组件-Suspense

Suspense (实验性功能) <Suspense> 是一项实验性功能。它不一定会最终成为稳定功能&#xff0c;并且在稳定之前相关 API 也可能会发生变化。 <Suspense> 是一个内置组件&#xff0c;用来在组件树中协调对异步依赖的处理。它让我们可以在组件树上层等待下层的多个嵌…

k8s 部署java应用 基于ingress+jar包

k8 集群ingress的访问模式 先部署一个namespace 命名空间 vim namespace.yaml kind: Namespace apiVersion: v1 metadata:name: ingress-testlabels:env: ingress-test 在部署deployment deployment是pod层一层封装。可以实现多节点部署 资源分配 回滚部署等方式。 部署的…

以管理员权限删除某文件夹

到开始菜单中找到—命令提示符—右击以管理员运行 使用&#xff1a;del /f /s /q “文件夹位置” 例&#xff1a;del /f /s /q "C:\Program Files (x86)\my_code\.git"

【Java八股面试系列】JVM-内存区域

目录 Java内存区域 运行时数据区域 线程独享区域 程序计数器 Java 虚拟机栈 StackFlowError&OOM 本地方法栈 线程共享区域 堆 GCR-分代回收算法 字符串常量池 方法区 运行时常量池 HotSpot 虚拟机对象探秘 对象的创建 对象的内存布局 句柄 Java内存区域 运…

P3647 题解

文章目录 P3647 题解OverviewDescriptionSolutionLemmaProof Main Code P3647 题解 Overview 很好的题&#xff0c;但是难度较大。 模拟小数据&#xff01;——【数据删除】 Description 给定一颗树&#xff0c;有边权&#xff0c;已知这棵树是由这两个操作得到的&#xff1…

Hexo更换Matery主题

引言 在数字化时代&#xff0c;拥有一个个人博客已经成为许多人展示自己技能、分享知识和与世界互动的重要方式。而在众多博客平台中&#xff0c;Hexo因其简洁、高效和易于定制的特点而备受青睐。本文将详细介绍如何为你的Hexo博客更换主题&#xff0c;让你的个人博客在互联网…

LabVIEW工业监控系统

LabVIEW工业监控系统 介绍了一个基于LabVIEW软件开发的工业监控系统。系统通过虚拟测控技术和先进的数据处理能力&#xff0c;实现对工业过程的高效监控&#xff0c;提升系统的自动化和智能化水平&#xff0c;从而满足现代工业对高效率、高稳定性和低成本的需求。 随着工业自…

机器学习:回归决策树(Python)

一、平方误差的计算 square_error_utils.py import numpy as npclass SquareErrorUtils:"""平方误差最小化准则&#xff0c;选择其中最优的一个作为切分点对特征属性进行分箱处理"""staticmethoddef _set_sample_weight(sample_weight, n_samp…

Flask基础学习

1.debug、host、port 模式修改 1) debug模式 默认debug模式是off&#xff0c;在修改代码调试过程中需要暂停重启使用&#xff0c;这时可修改on模式解决。 同时在debug模式开启下可看到出错信息。 下面有关于Pycharm社区版和专业版修改debug模式的区别 专业版 社区版&#…

3.1 Verilog 连续赋值

关键词&#xff1a;assign&#xff0c; 全加器 连续赋值语句是 Verilog 数据流建模的基本语句&#xff0c;用于对 wire 型变量进行赋值。&#xff1a; 格式如下 assign LHS_target RHS_expression &#xff1b; LHS&#xff08;left hand side&#xff09; 指赋值操作…

Go语言每日一题——链表篇(七)

传送门 牛客面试笔试必刷101题 ----------------删除链表的倒数第n个节点 题目以及解析 题目 解题代码及解析 解析 这一道题与昨天的题目在解题思路上有一定的相似之处&#xff0c;都是基于双指针定义快慢指针&#xff0c;这里我们让快指针先走n步&#xff0c;又因为n一定…

[Angular 基础] - 自定义事件 自定义属性

[Angular 基础] - 自定义事件 & 自定义属性 之前的笔记&#xff1a; [Angular 基础] - Angular 渲染过程 & 组件的创建 [Angular 基础] - 数据绑定(databinding) [Angular 基础] - 指令(directives) 以上是能够实现渲染静态页面的基础 之前的内容主要学习了怎么通过…

C语言-3

定义指针 /*指针的概念:1.为了方便访问内存中的内容&#xff0c;给每一个内存单元&#xff0c;进行编号&#xff0c;那么我们称这个编号为地址&#xff0c;也就是指针。2.指针也是一种数据类型&#xff0c;指针变量有自己的内存&#xff0c;里面存储的是地址&#xff0c;也就是…

VMware17上安装centos7.9

一、下载安装包&#xff1a; 1、VMware安装 VMware 下载地址&#xff1a; https://www.vmware.com/cn/products/workstation-pro.html VMware下载后安装即可 安装教程可以参考VMware安装教程 2、CentOs7.9下载地址&#xff1a; http://mirrors.aliyun.com/centos/7.9.2009/iso…

HTML+CSS:全景轮播

效果演示 实现了一个简单的网页布局&#xff0c;其中包含了五个不同的盒子&#xff0c;每个盒子都有一个不同的背景图片&#xff0c;并且它们之间有一些间距。当鼠标悬停在某个盒子上时&#xff0c;它的背景图片会变暗&#xff0c;并且文字会变成白色。这些盒子和按钮都被放在一…

如何用Hexo搭建一个优雅的博客

引言 在数字化时代&#xff0c;拥有一个个人博客已经成为许多人展示自己技能、分享知识和与世界互动的重要方式。而在众多博客平台中&#xff0c;Hexo因其简洁、高效和易于定制的特点而备受青睐。本文将详细介绍如何从零开始搭建一个Hexo博客&#xff0c;让你的个人博客在互联…

Git版本与分支

目录 一、Git 二、配置SSH 1.什么是SSH Key 2.配置SSH Key 三、分支 1.为什么要使用分支 2.四个环境及特点 3.实践操作 1.创建分支 2.查看分支 3.切换分支 4.合并分支 5.删除分支 6.重命名分支 7.推送远程分支 8.拉取远程分支 9.克隆指定分支 四、版本 1.什…