ZHCADF0 November   2023 AM62A3-Q1 , AM62A7-Q1 , AM62P-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2AM62A 处理器
  6. 3AM62A 视频处理单元 (VPU) 功能
  7. 4AM62A JPEG 编码能力
    1. 4.1 开源 GStreamer 概述
    2. 4.2 TI 提供的用于多媒体的 V4L2 驱动程序
    3. 4.3 硬件加速 GStreamer 插件
  8. 5软件驱动器架构
  9. 6性能测量
  10. 7多媒体用例
    1. 7.1 智能 AI 盒
    2. 7.2 安全监控
  11. 8总结
  12. 9参考资料

安全监控

在交通监控、事件识别系统和无人机等许多监控应用中,需要以 800 万像素处理单个摄像头流。AM62A 的 ISP 具有 4k 线宽,因此能够支持高分辨率摄像头传感器。内部 ISP 随后会将图像比例缩小至较低的分辨率,并在由深度学习加速器处理之前校正摄像头镜头失真效应。如图 7-2 所示。

GUID-20231120-SS0I-DP8L-HWWG-TMSCR02ZLPCH-low.svg图 7-2 智能监控单个编码用例
表 7-3 具有编码和分析功能的 800 万像素监控摄像头的资源利用率
主 IP 负载
编码器 8MP@ 15fps = 120MP/s
VPAC3L (ISP) 8MP@ 15fps = 120MP/s
ARM 加载 @ 1.25GHz 16%
深度学习 C7/MMA @850MHz 25%
DDR 带宽 1860MB/s(2410 – 550(显示))MB/s
使用 PET 时的功耗估计值 (85c) 约为 1.5W
  • 使用的 Gstreamer 流水线:
    gst-launch-1.0 -v v4l2src device=/dev/video3  io-mode=dmabuf-import ! \
    video/x-bayer, width=3280, height=2464, framerate=15/1, format=rggb ! \
    tiovxisp sink_0::device=/dev/v4l-subdev2 sensor-name="SENSOR_SONY_IMX219_RPI" dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss.bin sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a.bin format-msb=7 ! \
    video/x-raw, format=NV12, width=3280, height=2464, framerate=15/1 ! \
    tiovxmultiscaler  name=msc \
    msc. ! queue ! video/x-raw, format=NV12, width=1920, height=1080 ! kmssink driver-name=tidss  \
    msc. ! queue ! video/x-raw, format=NV12, width=3280, height=2464, framerate=15/1 ! v4l2h264enc ! \
    rtph264pay ! udpsink host=192.168.65.187 port=5002

在许多示例中,监控摄像头没有像以太网这样的物理网络连接,视频流需要进行编码并通过 Wi-Fi 发送。在本例中,一些应用需要以不同的分辨率同时对流进行编码,并根据网络流量能够支持的功能选择用于 Wi-Fi 传输的编码流。如图 7-3 所示。

GUID-20231120-SS0I-B9LB-W7MG-X9PNTXK7DCMV-low.svg图 7-3 智能监控多重编码用例
表 7-4 智能监控多重编码用例资源利用率
主 IP 负载
解码器+ 编码器 (2MP+0.9M+0.3MP)@ 30fps = 96MP/s
VPAC3L (ISP) 2MP@ 30fps = 60MP/s
ARM 加载 @ 1.25GHz 34.5%
深度学习 C7/MMA @850MHz 25%
DDR 带宽 1310MB/s(1860-550(显示))
使用 PET 时的功耗估计值 (85c)
  • 使用的 Gstreamer 流水线:
    gst-launch-1.0 -v v4l2src device=/dev/video-rpi-cam0 io-mode=dmabuf-import ! \
    video/x-bayer, width=1920, height=1080, framerate=30/1, format=rggb10 ! \
    tiovxisp sink_0::device=/dev/v4l-rpi-subdev0 sensor-name="SENSOR_SONY_IMX219_RPI" \
    dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_10b.bin \
    sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_10b.bin format-msb=9 ! \
    video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! tiovxmultiscaler name=msc \
    msc. ! queue ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! \
    v4l2h264enc output-io-mode=dmabuf-import extra-controls="controls,h264_i_frame_period=60,video_gop_size=60"! \
    rtph264pay ! udpsink host=192.168.65.187 port=5001 \
    msc. ! queue ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! \
    v4l2h264enc output-io-mode=dmabuf-import extra-controls="controls,h264_i_frame_period=60,video_gop_size=60"! \
    rtph264pay ! udpsink host=192.168.65.187 port=5002 \
    msc. ! queue ! video/x-raw, format=NV12, width=640, height=480, framerate=30/1 ! tee name=t1 \
    t1. ! queue ! v4l2h264enc output-io-mode=dmabuf-import extra-controls="controls,h264_i_frame_period=60,video_gop_size=60"! \
    rtph264pay ! udpsink host=192.168.65.187 port=5003 \
    t1. ! queue ! kmssink driver-name=tidss