SPRADE7 November 2023 AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62P-Q1
In many surveillance applications like traffic monitoring, event recognition systems, and drones it is desired to process a single camera stream at 8MP. AM62A’s ISP has a 4k linewidth and is therefore able to support high-resolution camera sensors. The internal ISP then downscales the image to lower resolutions and corrects for camera lens distortion effects before processing by the deep learning accelerator. This is illustrated in Figure 7-2.
Main IP | Loading |
---|---|
Encoder | 8MP@ 15 fps = 120MP/s |
VPAC3L (ISP) | 8MP@ 15fps = 120MP/s |
ARM loading @ 1.25GHz | 16% |
Deep Learning C7/MMA @850MHz | 25% |
DDR BW | 1860 MB/s (2410 – 550(Display)) MB/s |
Power Consumption Est (85c) using PET | ~1.5W |
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
In many examples where the surveillance camera does not have a physical network connection like ethernet, the video stream needs to be encoded and sent through Wi-Fi. In this case, some applications need to encode the stream simultaneously at different resolutions and select the encode stream for Wi-Fi transmission based on what the network traffic is capable of supporting. This is illustrated in Figure 7-3.
Main IP | Loading |
---|---|
Decoder+ Encoder | (2MP+0.9M+0.3MP)@ 30 fps = 96MP/s |
VPAC3L (ISP) | 2MP@ 30 fps = 60MP/s |
ARM loading @ 1.25GHz | 34.5% |
Deep Learning C7/MMA @850MHz | 25% |
DDR BW | 1310 MB/s (1860-550(Display)) |
Power Consumption Est (85c) using PET |
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