案例說明 本文主要介紹基于創龍科技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 圖 1 6路視頻采集效果圖 備注:由于案例通過等比例拼接形式采集畫面,且攝像頭幀率需統一,因此攝像頭分辨率幀率均使用1920x1080@30fps。 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)接口。 表 1 (5)常見視頻輸入數據量理論帶寬及MIPI CSI Lane數量要求,如下表所示: 備注:以下相關數據量估算不含數據傳輸協議相關開銷,僅供參考。 表 2 案例功能說明 ISP圖像處理說明 RK3588J的ISP30模塊支持標準的Sensor圖像數據處理,包括自動白平衡、自動曝光、Demosaic、壞點矯正及鏡頭陰影矯正等基本功能,也支持HDR、去霧、降噪等高級處理功能。 ISP30功能框圖如下圖所示。 圖 2 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流程圖如下所示: 圖 3 縮放拼接功能說明 案例基于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發送命令和數據并執行諸如配置顯示器模式設置之類的操作。 RK3588J典型應用領域 圖5 6路視頻采集案例演示 案例說明 本案例實現6路攝像頭的圖像采集,并對圖像進行縮放和拼接處理,最終通過HDMI顯示屏進行顯示。其中配置所有攝像頭以1920x1080@30fps分辨率采集畫面,并通過硬件協處理器縮放拼接畫面后以1920x1080@30fps分辨率輸出到HDMI顯示屏。 圖 5 根據攝像頭的數量,顯示的畫面布局如下: 圖 6 案例測試 請使用FFC軟排線將MIPI攝像頭模塊(TL13850)連接至評估板CAMERA1、CAMERA2接口;將MIPI攝像頭模塊(Camera Module v2)連接至評估板CAMERA3~CAMERA6接口,然后將評估板HDMI OUT接口連接至HDMI顯示屏。 表 3 圖 7 請將案例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 圖 8 圖 9 表 4 圖 10 單路視頻采集時延測試界面 圖 11 6路視頻采集時延測試界面 |