CAVU Aerospace UK

Real-Time Video Capture by PolarFire FPGA Case: Alvium1800 C-240 Cameras

Connecting two Alvium 1800 C-240 cameras to a PolarFire FPGA for real-time video capture at 1080p and 24 FPS is feasible, but the hardware development would face some challenges such as:Interfacing the two cameras with the PolarFire device at a specific lane-rate for 1080p@24 FPS.

Implementing the efficient video compression module on FPGA fabric.

Camera Output Requirements

Resolution & Frame Rate: The Alvium1800 C-240 outputs video at around 1080p resolution (1920×1080 pixels) at 24 FPS .

Data Format: This model supports multiple data formats, including RAW and RGB data types.

Data Bandwidth: For a video stream with 1080p@24 FPS RGB format the data rate would be:Resolution ×Frame Rate ×Color Depth. The calculation would be : 1080 ×1920 ×24 ×24bit=149.3MB.

PolarFireMaximum Transceiver Bandwidth: PolarFirelow-power transceivers can operate up to 12.7Gbps which is more than enough to handle 1080p@24 FPS video stream.

 

MIPI CSI-2 Protocol

Alvium 1800 C-240 Lane Configuration: The Alvium 1800 C-240 uses a MIPI CSI-2 interface, supporting configurations of 1, 2, 4, or 8 data lanes, with increased lane count allowing higher throughput.

PolarFire Lane Configuration: PolarFire’s MIPI CSI-2 RxDecoder IP supports up to 8 lanes per channel (supports resolution up to 3840×2160@60 FPS), enough for 1080p@24 FPS in RGB-888

Packet Structure: Alvium 1800 C-240 transmits data via long packets containing pixel data and short packets for synchronization. PolarFire’s CSI-2 RxDecoder IP supports both, which are essential for handling high-resolution video in real-time.

Data Processing in PolarFire

Overview: MIPI CSI-2 operates in two modes, High speed mode and low power mode. In the high-speed mode, MIPI CSI-2 supports the transport of image data using short packet and long packet formats. Short packets provide line and frame synchronization, and long packets provide pixel information.

  • MIPI CSI-2 RxDecoder IP Compatibility: The PolarFire IP is compatible with Alvium cameras’ CSI-2 output, supporting high-speed modes necessary for video. It handles protocols and includes AXI interfaces compatible with video processing pipelines
  • Parallel Clock Requirements: A PLL-based setup is required to synchronize video data capture. PolarFire’s configuration must match the input clock requirements, with the PLL generating a parallel pixel clock synchronized with the MIPI data rate and lane count

 

Hardware implementation

For implementing the MIPI CSI-2 Receiver on PolarFIre device, an MIPI CSI-2 RxDecoder can be used. This IP has to be used in conjugation with the PolarFire MIPI IOD generic interface block and PLL.

 

Compression Algorithm: Real-time compression is crucial to reduce the size of data being stored. PolarFire FPGAs support DSP blocks, which can handle compression algorithms like H.264 or H.265, but implementing real-time compression will require optimized HDL/VHDL coding.

  • Second solution: Using the PolarFire FPGA H.264 Encoder IP would substantially decrease the implementation time and cost with efficient resource consumption.
  • FPGA Resource Utilization: PolarFire has limited computational power and memory bandwidth, so compression must be balanced with real-time

264

264 typically compresses 1080p video at various bit rates depending on the quality, complexity, and efficiency of compression. The compression ratios for H.264 can decrease up to 1:2000, but a common range is 50:1 to 100:1 for high-quality video, depending on motion and detail. Since the uncompressed data rate for 1080p@24 RGB video stream is 1200Mbps, the data rate after H.264 compression using an average compression ratio of 50:1 would be 1200/50=24Mbps and with a 100:1 compression ratio (common for lower-motion video or reduced quality) the data rate would be 1200/100=12Mbps.me data throughput.

 

PolarFIre FPGA H.264 Encoder IP features

Expects the input in YCbCr:422 video format (8 bit for each component: Y, Cb, and Cr). The Alvium 1800 C-240 can be configured with an I2C interface to output its video stream with the same format.

  • Standalone operation, CPU or processor assistance not required.
  • User configurable quality factor during run time.
  • Computation at the rate of one pixel per clock.
  • Supports compression up to resolution of 1080p@60 FPS.

 

Storage Interface

Storage Bandwidth: eMMC storage devices with up to 400MBytes/s can be used for saving the compressed video stream. eMMC on-board memories would be a good choice if there is no need for very high-volume memory capacity.

A second eMMC memory can be used as a redundant memory to consider.

 

  • Data Buffering: Incorporate memory buffering to handle temporary data surges if storage cannot keep pace. FIFO buffers on the PolarFire can help with short-term buffering needs during peak data rates. DDR4 memory is another high throughput memory that can be used as a temporary buffer.
  • An imminent solution with two eMMC memories equal to 64GByte storage is available (2x32GByte. 32GByte main storage and 32GByte redundant storage).