EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
案例说明( U, }8 P) C* {* y; q$ a
本文主要介绍基于创龙科技TL3588-EVM评估板(基于RK3588J)的6路高清视频采集案例,开发环境如下。 Windows开发环境:Windows 7 64bit、Windows 10 64bit 虚拟机:VMware15.5.5 开发环境:Ubuntu20.04.6 64bit U-Boot:U-Boot-2017.09 Kernel:Linux-5.10.160 LinuxSDK:rk3588_linux_release_v1.2.1 摄像头模块型号:TL13850和Camera Module v2 视频分辨率:1920x1080@30fps
- R+ B6 B2 J$ G1 U' _( R* E
图 1 6路视频采集效果图 备注:由于案例通过等比例拼接形式采集画面,且摄像头帧率需统一,因此摄像头分辨率帧率均使用1920x1080@30fps。 5 ~7 q1 x4 i) c1 r% C5 a. P5 U
RK3588J的MIPI CSI介绍 RK3588J的MIPI CSI接口介绍如下。 (1)支持多种视频格式:RAW8、RAW10、RAW12、RAW14、YUV422。 (2)包含4个MIPI CSI DPHY接口,支持MIPI DPHY V1.2标准,每个接口支持2Lane,每Lane最高支持2.5Gbps;支持将2个MIPI CSI DPHY接口组合成1个4Lane数据通道接口使用。 (3)包含2个MIPI CSI DCPHY接口(MIPI CSI DPHY/CPHY复用),支持MIPI CPHY V1.1标准,每个MIPI CSI DCPHY支持4Lane数据通道,每Lane最高2.5Gbps。 (4)支持的摄像头接口组合方案如下: 6个摄像头接口配置:2个MIPI CSI DCPHY(4Lane)接口 + 4个MIPI CSI DPHY(2Lane)接口; 5个摄像头接口配置:2个MIPI CSI DCPHY(4Lane)接口 + 1个MIPI CSI DPHY(4Lane)接口 + 2个MIPI CSI DPHY(2Lane)接口; 4个摄像头接口配置:2个MIPI CSI DCPHY(4Lane)接口 + 2个MIPI CSI DPHY(4Lane)接口。 % c, [( k' Z( p- p( ~: V2 }& T" F
![]()
* T# Q3 r- V: V- y表 1
5 {0 ` G! h: [$ X: d
(5)常见视频输入数据量理论带宽及MIPI CSI Lane数量要求,如下表所示: 备注:以下相关数据量估算不含数据传输协议相关开销,仅供参考。 * J& n; x+ Y7 L; h" x5 v
![]()
( o; s, h$ x7 I9 e表 2
! d% q0 L0 @$ h: A$ d0 r8 z6 _ g
案例功能说明 ISP图像处理说明 RK3588J的ISP30模块支持标准的Sensor图像数据处理,包括自动白平衡、自动曝光、Demosaic、坏点矫正及镜头阴影矫正等基本功能,也支持HDR、去雾、降噪等高级处理功能。 ISP30功能框图如下图所示。 ![]()
$ R+ q4 x) e0 l5 A; I图 2 3 g2 D* q9 x4 f8 b2 G
RK3588J的图像处理基于ISP图像参数调试工具RKISP2.x Tuner对摄像头采集的图像进行标定,通过IQ参数文件将摄像头采集的图像优化处理后发送至显示设备。 RKISP2.x Tuner提供了一套便于用户调试ISP参数的工具,用户可以在RKISP2.x Tuner中对所有ISP模块开展标定(Calibration)、调试(Tuning)等工作。用户可以使用RKISP2.x Tuner提供的抓图工具(Capture Tool)来拍摄RAW图,在标定工具(Calibration Tool)中完成基础模块的标定工作,在RKISP2.x Tuner中连接设备,在线进行ISP参数调试。 Tuner流程图如下所示:
/ w; P( a0 {9 K+ w5 m; B3 L
![]()
, g3 p' r% H2 }/ Y图 3 : G7 Z1 N/ s1 Y5 M
缩放拼接功能说明 案例基于Linux的V4L2采集1080P的摄像头画面,通过RGA进行图像缩放和拼接处理,最终利用DRM框架将处理后的整个画面进行显示。 (1)采集图像:V4L2(Video for Linux 2)是用于支持摄像头和视频设备的框架,其提供了一组API和驱动程序接口,用于在Linux系统中进行视频采集、视频流处理和视频播放等操作。 (2)缩放拼接:RGA(Raster Graphic Acceleration Unit)是⼀个独立的2D硬件加速器,可⽤于加速点/线的绘制,执行图像缩放、旋转、bitBlt、alpha混合等常⻅的2D图形操作。 (3)图像显示:DRM(Direct Rendering Manager)是Linux内核的一个子系统,负责与GPU进行交互。用户空间程序可以使用DRM的API向GPU发送命令和数据并执行诸如配置显示器模式设置之类的操作。 / \6 F7 Z- ^# {) r$ p7 A! g! j7 x
RK3588J典型应用领域 图5
( u& u7 j+ P' K) q4 B1 i2 H
6路视频采集案例演示 案例说明 本案例实现6路摄像头的图像采集,并对图像进行缩放和拼接处理,最终通过HDMI显示屏进行显示。其中配置所有摄像头以1920x1080@30fps分辨率采集画面,并通过硬件协处理器缩放拼接画面后以1920x1080@30fps分辨率输出到HDMI显示屏。 0 E9 Z- J3 ]+ o$ Z, D# j$ i
图 5
' J, I$ N% k# p. Z
根据摄像头的数量,显示的画面布局如下: ![]()
5 ?# z: i# t8 Z" i图 6
+ }. |1 ?. P2 o+ U- ^2 g9 U' A
案例测试 请使用FFC软排线将MIPI摄像头模块(TL13850)连接至评估板CAMERA1、CAMERA2接口;将MIPI摄像头模块(Camera Module v2)连接至评估板CAMERA3~CAMERA6接口,然后将评估板HDMI OUT接口连接至HDMI显示屏。 ) M4 ^3 p3 g. K0 f* E, o
![]()
0 Y9 G% q5 q6 _( G! {+ s表 3 . d9 P- Y6 K2 F7 g7 U' o" p. q
& |" L" i* M( B$ T1 S
图 7
# `- U: R1 a+ R8 }6 y& Y' M
请将案例bin目录下的multi_camera_display可执行程序拷贝至评估板文件系统任意目录下,进入可执行程序所在目录,执行如下命令采集视频,并输出至显示设备。命令参数"-o 208:71:1920x1080"表示将终端输出至HDMI显示器,打印信息"usec"表示耗时,单位为us,"fps"表示帧率。按"Ctrl + C"可停止运行。 Target# ./multi_camera_display -M rockchip -i 84,66,75,93,102,111 -S 1920x1080 -f NV12 -F NV12 -b 4 -o 208:71:1920x1080
/ t( ~- [' J! [ X+ |
8 L/ r! y: T" `3 f- Q- a
图 8 , u& B( u2 Y5 y' V" A' a9 f. q- }+ ]
6 @9 m, h. a, X" u* Z5 b- x
图 9
: q9 k5 }0 I& F' Q+ P 使用摄像头采集PC机显示屏的在线秒表图像,经过ARM处理后再将图像进行显示。PC机显示画面与评估板显示画面的时间差,即为时延。进行单路视频采集和6路视频采集时延测试,得到的时延结果如下表所示。& ]( c' i# S" v. i& r4 J8 Z( \2 k
& W w5 B' m6 W6 T8 A7 e
6 e. W8 b' D- S. } 2 g( d7 r- K y0 q' X
表 4 ( _: y @/ A0 o, f' q
![]()
" @% Z, T' N6 s9 R3 e图 10 单路视频采集时延测试界面
: s3 B" K5 c1 X
![]()
9 {$ i1 W6 w5 r9 H图 11 6路视频采集时延测试界面 5 \& w7 N% k3 L _$ M' G& c
4 c9 @$ [$ D0 X' g
: y; i0 F8 P5 E8 n0 }6 @ |