系列文章目录
文章目录
- 系列文章目录
- 前言
- 一、Hi3518EV200 芯片架构
- 1.1. ARM子系统
- 1.2. 图像子系统(Image Subsystem)
- 1.3. 视频子系统(Video Subsystem)
- 1.4. 存储与接口模块
- 1.5. 通用功能模块
- 1.6. DDR与总线
- 1.7. 数据流
- 1.7.1. 数据采集(图像传感器到图像子系统)
- 1.7.2. 图像数据处理与优化(图像子系统到视频子系统)
- 1.7.3. 视频编码与加密(视频子系统)
- 1.7.4. 数据存储与传输(存储与接口模块)
- 1.7.5. 辅助功能支持(通用功能模块)
- 1.8 数据流整体总结
- 1.9主要特点
- 二、Hisilicon PQ
- 总结
前言
一、Hi3518EV200 芯片架构
Hi3518EV200为新一代HD IP摄像机SOC,集成新一代ISP,优化后的编码前图像处理算法和新一代H.264编码器,同时采用先进低功耗工艺和低功耗架构设计,使得Hi3518EV200在低码率、高图像质量、低功耗方面具有优越性能。
- ARM子系统:运行控制程序,管理整个芯片的资源调度和任务分配。
- 图像子系统:对传感器的输入进行图像增强、格式转换和显示优化。
- 视频子系统:负责视频流的编码和安全加密。
- 存储与接口模块:支持数据存储和外围设备的连接。
- 通用功能模块:提供基本的外围控制接口。
- DDR与总线:作为数据流动的核心枢纽,连接所有子模块。
1.1. ARM子系统
作用:芯片的中央控制单元,负责运行操作系统和处理核心逻辑。
主要功能:
ARM926处理器:主CPU,频率为540MHz,配备32KB的指令缓存和32KB的数据缓存。
任务:运行系统软件、调度任务、管理其他子系统的操作。
常用于控制外设(如存储、视频编码等)以及协调系统之间的通信。
ARM的角色在于控制,而非数据处理
ARM处理器 在整个流程中的作用是指挥其他硬件模块如何工作,尤其是涉及复杂操作时(如启动 视频编码器 或 加密模块)。例如,在图像处理过程中,ARM 处理器将数据从图像传感器传送到 ISP,然后将处理过的图像数据交给 VPSS 进行进一步优化,最终通过 H.264编码器 进行压缩编码。
然后,它还负责将编码数据送到存储设备或通过网络接口传输,但图像和视频数据的实际处理(如降噪、编码、加密)是由专用硬件模块完成的,ARM 处理器只是协调这些操作
1.2. 图像子系统(Image Subsystem)
作用:处理从图像传感器输入的原始数据,并生成高质量的图像或视频。
模块功能:
-
TDE(图像显示引擎) 和 IVE(智能视频引擎):
TDE(图像显示引擎) 主要是用于图像显示和后处理,而不是直接参与数据的编码、存储或传输。主要功能包括:图像叠加:将多个图像层叠加在一起,比如添加时间戳、显示标识、水印等。
图像旋转和缩放:图像的旋转、缩放操作。
透明度调整:调整不同图层的透明度,用于图像合成等。
颜色空间转换:将不同格式的图像(例如 YUV 与 RGB)转换,以适应不同显示设备的需求。TDE 通常用于图像最终显示的过程中,在图像流传输到显示设备时,它对图像进行优化,比如调整图像的显示效果、旋转、缩放和叠加等。它主要作用于图像的输出阶段,而不是图像采集、编码或存储阶段。因此,在视频流和图像数据的处理过程中,TDE 并不参与数据的编码、加密或存储。
IVE:用于高级图像处理算法(如目标检测、边缘检测)。
IVE的工作流程
数据输入:通过接口(如 MIPI、LVDS、Hispi 等)从图像传感器或视频流输入原始数据(如 RAW 数据、YUV 数据、RGB 数据等)。
图像处理:
目标检测:通过深度学习模型(如卷积神经网络CNN)或传统图像处理算法识别图像中的目标。
边缘检测:使用常见的边缘检测算法(如Sobel算子)检测图像中的边缘。
运动检测和背景建模:通过对比图像的连续帧,识别视频中的移动物体。
图像增强:应用滤波算法,优化图像的质量和清晰度。处理结果输出:
处理后的数据可以输出到显示设备(如LCD、电视)进行展示,或者传输到后续模块(如视频编码器、存储设备)进行存储或网络传输。
高级功能支持:如果支持深度学习加速,IVE可以通过硬件加速支持深度神经网络(DNN)模型,用于目标检测、图像分类等复杂任务。
目标检测、边缘检测、运动检测、图像增强 等任务都是在数据采集和视频编码之前进行的,通常属于图像的 处理阶段,其目的是提取和优化图像中的关键信息。这些操作依赖于对图像数据的实时处理,但它并不改变数据流本身的格式或内容,因此不会直接涉及编码、加密或存储。
数据流 通常是指从摄像头传感器到视频编码器再到存储或传输的路径,它更多是关注 数据传输、压缩、存储或远程传输 的操作。而 IVE 则用于图像或视频数据的 处理和分析,在数据流的路径外单独工作。
- VPSS(视频处理子系统) 和 VGS(视频图像缩放):
VPSS:实现去噪、格式转换、缩放等操作。
VGS:负责视频图像的缩放处理。 - ISP(图像信号处理器):
对传感器的原始数据(RAW数据)进行处理,如白平衡、曝光调整、降噪和宽动态范围(WDR)处理。 - 显示和传感器接口:
支持LCD输出、BT656格式视频信号,以及MIPI/LVDS/Hispi等接口,与图像传感器连接。
1.3. 视频子系统(Video Subsystem)
作用:负责视频编码和数据加密处理。
模块功能:
视频编码器:
支持H.264编码(包括Baseline、Main、High Profile)。
支持MJPEG/JPEG编码,广泛用于视频存储或网络传输。
安全模块:
提供AES/DES/3DES/RSA等加密算法,确保视频数据的传输安全。
支持HASH运算、OTP(一次性密码)和TRNG(真随机数生成)。
1.4. 存储与接口模块
作用:为系统提供外部存储支持和外围设备接口。
主要模块:
SDHC/SDXC:支持SD卡作为存储介质。
SPI Flash 和 eMMC:提供高效的嵌入式存储选项。
USB 2.0:支持USB设备和主机模式,可用于外接存储或外设。
FE PHY 和 MAC:实现网络通信(如以太网)。
1.5. 通用功能模块
作用:提供与外部设备交互的接口以及辅助功能。
主要模块:
RTC(实时时钟):提供时间管理功能。
I2C/I2S:用于与音频设备、传感器等外设通信。
SSP(同步串行端口):支持串行数据传输。
GPIO(通用输入输出接口):可控制简单的外部硬件。
IR(红外接口):支持红外通信(如遥控器)。
UART:提供串口通信。
PWM(脉宽调制):用于控制电机、LED等。
SAR-ADC(模数转换器):用于将模拟信号转换为数字信号,适用于传感器数据采集。
1.6. DDR与总线
DDR控制器(DDRC):负责与DDR2内存的交互,用于缓存和存储临时数据。
AMBA 3.0 总线:系统内部的通信骨干,将ARM子系统、图像子系统、视频子系统等模块连接起来,确保数据的高效传输。
根据 Hi3518EV200 的系统架构图和各模块功能说明,数据流在整个芯片中的完整流程可以分为以下步骤。这里以 视频监控系统 的典型使用场景为例(从摄像头获取视频到存储或传输视频),详细描述数据流的处理过程。
1.7. 数据流
1.7.1. 数据采集(图像传感器到图像子系统)
- 数据源:摄像头传感器通过 MIPI/LVDS/Hispi 接口将原始图像数据(Raw 数据)输入到 ISP(图像信号处理器)。
- ISP处理:
- 3A算法:自动调整白平衡、曝光、对焦。
- WDR(宽动态范围处理):优化图像对比度。
- 去噪与色彩校正:对图像质量进行增强。
- 输出格式:处理后的数据可转换为 YUV 或 RGB 格式。
1.7.2. 图像数据处理与优化(图像子系统到视频子系统)
-
图像数据从 ISP 流向 VPSS(视频处理子系统)。
-
VPSS处理:
- 对视频帧进行裁剪、缩放和去噪。
- 格式转换:将 ISP 输出的 RGB 或 YUV 数据进一步优化,确保兼容后续编码器。
-
数据交付:
- 处理后的数据通过 AMBA 3.0 总线 传递到视频子系统。
1.7.3. 视频编码与加密(视频子系统)
-
数据进入视频子系统后,主要经过以下处理流程:
- H.264编码器:
- 将优化后的视频流压缩为 H.264 格式(BP、MP、HP),适合网络传输或存储。
- 可选 MJPEG/JPEG 编码,适用于实时图像流的传输。
- 安全加密模块:
- 对编码后的视频数据进行 AES 加密,保障数据传输或存储的安全性。
- 如果需要认证或签名,使用 RSA 算法进行数字签名。
- TRNG(真随机数生成器)用于生成加密密钥。
- H.264编码器:
-
输出数据:
- 加密后的数据通过总线交付到存储或网络传输模块。
1.7.4. 数据存储与传输(存储与接口模块)
-
存储路径:
- 如果需要本地存储,数据通过以下路径写入存储设备:
- eMMC:嵌入式存储设备,用于长时间录像存储。
- SD卡(通过SDIO接口):用于可插拔存储。
- 安全模块确保数据在写入存储设备之前已完成加密。
- 如果需要本地存储,数据通过以下路径写入存储设备:
-
网络传输路径:
- 数据流经 MAC(以太网接口) 或 USB接口 传输至外部设备或服务器。
- 在传输过程中,AES 加密保障数据安全。
1.7.5. 辅助功能支持(通用功能模块)
- 在整个数据流处理中,通用功能模块提供了必要的辅助支持:
- RTC(实时时钟):用于时间戳记录,确保数据流的时间同步。
- I2C/I2S:用于与外部传感器或音频设备交互。
- GPIO/IR/UART:可用于控制设备运行状态或与外部设备交互(如启动红外摄像头或调试数据流)。
1.8 数据流整体总结
以下是完整的数据流路径总结:
- 数据采集:
- 摄像头传感器 → MIPI/LVDS接口 → ISP(图像信号处理)。
- 图像优化:
- ISP 输出 → VPSS(去噪、裁剪、缩放、格式转换)。
- 编码与加密:
- VPSS 输出 → 视频编码器(H.264/MJPEG) → 安全模块(AES加密)。
- 数据输出:
- 存储路径:
- 加密数据 → eMMC/SD卡。
- 传输路径:
- 加密数据 → MAC(以太网)/USB接口。
- 存储路径:
这一流程中,各模块通过 AMBA 3.0 总线 高效连接,完成数据的流转与处理。
1.9主要特点
• 支持8/10/12/14bit RGB Bayer输入,时钟最高100MHz
• 支持4通道MIPI/Hispi/LVDS接口
• H.264编码最大可支持分辨率为2M Pixel
• 编码帧率支持1/16~30fps
• 内嵌512M*16bit DDR2(最高360MHz)
• 支持3D降噪、图像增强、边缘增强
• 支持视频输出抗闪烁处理
• 支持3A功能(用户可调节)
• 强光抑制、背光补偿、gamma、色彩增强
• 支持坏点校正、数字防抖
• 支持去雾功能
• 支持镜头畸变校正
• 支持PC端ISP tuning tools
• 典型功耗700mW
二、Hisilicon PQ
Hisilicon PQ(以下简称 HiPQ)向客户提供一系列专业图像质量调试工具,包括方便的
在线调试工具(Tuning Tool),连接单板后可以直接进行 ISP 等各模块的参数调节,同
时实时通过预览点播(Stream Tool)观看设置完参数后的效果;还针对常用调试的场
景提供各类数据分析等(Analysis Tool),对客户调节提供更客观的分析。
工具从使用场景上来分主要分为:
标定工具(Cablibration):用于自动生成各个受支持 ISP 模块的算法参数。现阶段
该工具是个独立工具。
在线调试工具(Tuning Tool):用于各类参数的精细及差异化的调节,实时生效,
可以通过预览看到图像质量的效果。
分析工具(Analysis Tool):辅助在线调试工具,提供常用的数据、图表,实时调
节同时实时分析。
抓拍工具(Stream Tool):抓拍工具,支持抓拍 YUV、RAW、JPEG 文件。
工具从交付上来看,分为 PC 端及板端两大部分,HiPQ 包括在线调试工具、另外
以插件的形式提供各种分析工具;板端为 ittb_control 进程,主要负责在线参数调
节。
整体架构
PC(个人电脑) 侧和 Board(开发板) 侧之间通过 SDK 和 Control Tool 进行交互。图中的工具分为 Dump Tools、Analysis Tools、Tuning Tools、Calibration Tools 和 Control Tool,它们分别处理不同阶段的图像调试和优化。
PC 侧工具
- Dump Tools(数据转储工具):
功能:用于从设备或板子获取图像数据并导出为文件格式。
举例:
Dump YUV(VIVPSS):将 YUV 格式数据导出,用于后续处理或分析。
Dump RAW:将 RAW 格式的图像数据导出。
数据格式:YUV、RAW、BMP等。
- Analysis Tools(分析工具):
功能:分析导出的图像数据,检查图像质量,帮助开发人员调试图像处理的各项参数。
举例:
Color Checker:检测图像色彩的准确性和均匀性。
Raw analyzer:分析RAW图像文件的特性和质量。
White Balance analyzer:分析白平衡设置对图像的影响。
- Tuning Tools(调试工具):
功能:用于对图像处理算法和硬件进行调优。
举例:
ISP Tuning:对ISP(图像信号处理器)进行调优,以改善图像质量(例如曝光、锐度、去噪等)。
CCM Tuning:进行色彩校正,确保图像色彩准确。
Gamma Tuning:调整伽马值以优化图像的对比度和亮度。
VPSS Tuning:调优视频处理子系统(VPSS),实现更好的视频质量和流畅度。
- Calibration Tools(校准工具):
功能:对ISP进行更精确的校准。
举例:
ISP Calibration:用于对图像信号处理器进行校准,以确保图像质量符合需求。
Board(开发板)侧工具
- Control Tool(控制工具):
功能:在开发板侧控制图像采集、处理及配置,负责配置硬件和调度图像处理任务。
举例:
Snap (YUV/RAW/JPEG):捕获图像数据并以YUV、RAW或JPEG格式进行处理。
config:用于配置板载硬件参数、图像处理流程、各模块之间的通信等。
- API调用与寄存器控制:
控制工具通过 API调用 进行参数设置和硬件操作,同时通过 寄存器控制 调整硬件模块的参数,进行细粒度的调节。
数据流和交互
- 数据流:
图像数据从传感器采集后,进入到开发板的硬件模块(如 ISP、VPSS、TDE 等)进行处理。
通过 Dump Tools,可以将这些图像数据导出为不同格式(如 YUV、RAW、BMP 文件),然后在 PC 侧进行进一步分析。
- 图像处理与调试:
PC 侧的 Analysis Tools 用于分析导出的数据,检查图像质量并发现潜在问题。
通过 Tuning Tools,用户可以调整硬件的配置,优化图像质量,直到满足要求。
- 调试过程:
调试过程中,可以通过 ISP Tuning、Gamma Tuning 等功能,实时调整图像的各种处理参数,并通过工具与开发板进行交互,达到最佳的图像质量。
总结
参考博文 海思Hi3518EV200(1)简介
参考资料 华为海思图像质量调试工具使用指南.pdf