By Mark Bingeman | Mar 13, 2014
Nuvation has completed a number of 4K video design projects for industries ranging from consumer electronics to defense and aerospace. Although the design requirements vary greatly, an FPGA can be a great architecture choice whether you're capturing, streaming, processing, or transcoding your video. Here are three common design challenges that can be solved using an FPGA.
Challenge #1: Frame Buffering
Frame buffering is required for any 4K video application where a frame delay is required in the processing pipeline. Some typical situations include H.264 encoding, frame rate conversion, and video warping. External memory is required to store and retrieve these frames.
As video frames get larger, the bandwidth required to transfer frames to external memory increases. The diagram below shows a typical 3D video example where both left and right video inputs need to be buffered to support side-by-side, top-bottom, quad-frame, and frame interleaved video formats.
Frame buffer bandwidth requirements are based on the resolution, frame rate, chroma format and bit-depth, and the number of inputs and outputs. Often a standard 64-bit or 72-bit DIMM DDR3 interface is not sufficient. An FPGA has the flexibility to support multiple DDR3 interfaces at frequencies and data widths required to meet your frame buffer bandwidth requirements. FPGA vendors provide both soft-core and hard-core DDR3 controller IP for interfacing with external DDR3 memory. These DDR3 controllers provide various options to control read and write burst widths, and read and write access patterns to maximize the DDR3 bandwidth efficiency.
Challenge #2: Multiple Video Interfaces
Current video broadcast infrastructure primarily supports 2K formats. However, with the introduction of 4K cameras and 4K screens, broadcast infrastructure will need to be upgraded to support higher resolutions and bandwidths. While current broadcast standards are limited to HD-SDI and 3G HD-SDI, there are new standards in process to extend the HD-SDI protocol to 6 GHz, 12 GHz and even 24 GHz. Broadcast infrastructure also needs to be flexible to to support the current and emerging HD-SDI frequencies, and number of HD-SDI channels to transmit various resolutions and frame rates.
The diagram below shows a 3D system (2 inputs, 2 outputs), where we would like the ability to switch between 2K and 4K video formats using the same distribution infrastructure. This requires 4 HDMI Rx and 4 HDMI Tx interfaces to external devices.
FPGA high-speed transceiver blocks are reconfigurable on the fly to switch between the various HD-SDI frequencies as needed.
High-end FPGAs can support a large number of HD-SDI channels in one mobile casino device, which is more cost-effective, and uses less PCB space than external devices.
Challenge #3: Look-up Tables
Look-up tables (LUTs) are required for a variety of 4K video applications, such as 3D image processing color correction, and gamma correction. In the case of 3D color look-up tables, as the number of points per color increases, so does the size of the look up table. Similarly, look-up tables for gamma correction increase with larger color bit depths.
FPGA internal memories can be used for some of these look-up tables, but in the case of very large look-up tables, external memory such as an RLDRAM can be used. The diagram below shows a 3D lookup table for color correction.
RLDRAMs devices are low-latency double data rate memories that can support burst lengths as short as 2. RLDRAMs with a burst length of 2 can be used to provide random access to the lookup table every pixel clock. FPGAs can interface with one or more RLDRAM devices as needed. RLDRAM IP cores are available to simplify interfaces with external RLDRM devices. In this scenario, an FPGA is clearly the best option for fast lookups and precision color correction.
As for which FPGA to choose, Nuvation design partners Xilinx and Altera both have some extremely powerful devices. System-on-a-chip devices (FPGAs with integrated ARM-based processor core) such as the Cyclone V and Zynq-7000 families are great options as well.