|IQ-Video - FPGA Based Video Mixing Solution|
IQ-Video is an advanced FPGA solution for high definition video interfacing, mixing, and display based on Mikroprojekt's Video IP and the Lattice ECP3 FPGA.
Key Feature List
Applications and target markets
The IQ-Video solution allows easy interfacing, adaptation and mixing of multiple video sources of various origins. The solution is capable of performing video mixing with advanced effects, such as blending, overlay, side by side, or picture in picture.
Transitions between various mixing combinations are easily animated with moving, scrolling, panning and scaling effects on live video streams. Video streams of various resolution, frame rate, color spaces and color depth can be combined into one or more output streams. The mixed video stream can be displayed on one or more standard or embedded monitors, or transmitted over a specific video interface such as DVI, HDMI, HD-SDI or others.
Video can be combined with static or dynamic graphics such as logos or banners. Graphical overlays can employ both overall and per-pixel alpha transparencies to implement anti-aliased OSD graphical elements.
IP Cores and Functionality
Video interfacing is handled within IQ-Vin video input IP cores. The IQ-Vin IP cores allow easy interfacing to various streaming video sources such as DVI/HDMI, Video decoders, SDI/HD-SDI, DisplayPort and many others. IQ-Vin IP cores grab consecutive video frames, supporting frame skipping, dynamic video cropping, positioning and scaling through Mikroprojekt's IQ-ScalR video scaler IP core, which is seamlessly integrated inside the IQ-Vin.
IQ-ScalR is an advanced video scaler core which employs polyphase filtering to deliver high quality image scaling effects. Each video frame can be upscaled or downscaled to a different scaling ratio, allowing for advanced, smooth scaling effects and animations.
Mikroprojekt's IQ-DispML display controller IP core provides support for mixing of multiple video sources, supporting alpha blending and compositing, windowing, positioning and smooth scrolling frame-by-frame. Combined with scaling effects available through IQ-ScalR IP core, the IQ-Video video mixing solution provides a large palette of video mixing and transitional effects.
Basic IQ-Video configuration (Click to enlarge)
The Peregrine system architecture delivers unprecedented performance of video processing by minimizing data transfer overheads and allows transfer rates up to 95% of memory's theoretical maximum. This performance allows the IQ-Video to handle high definition video streams, up to 1080p60. The Peregrine system architecture is complemented by the highly efficient IQ-Mem memory controller, which delivers high data rates with DDR2 and DDR3 memories on Lattice ECP3 FPGAs through multiple memory ports.
The embedded Lattice Mico32 microprocessor maintains precise control of the video mixing timing, delivering smooth transitions and effects without jitter. Additionally, it can communicate over non-video links and render graphics, allowing data such as informations and stock tickers to be visualized and blended into the video streams. This can be additionally facilitated by employing the IQ-GraphBlit graphics accelerator.
Effects can be directed either directly by Mico32 software, or by an external interface such as IQ-Link.
The IQ-Video solution Reference Design is based on a SoC implemented within the Lattice ECP3 FPGA, running on Mikroprojekt's Sparrowhawk FX Development system. The design is employing the on-chip SERDES channels to interface with DVI/HDMI video interfaces. The DVI/HDMI streams are handled through the HDMI receiver and transmitter IP cores provided by Lattice Semiconductor. The system integrates Mikroprojekt’s IQ-DispML, IQ-VIN and IQ-ScalR IP cores, communicating over the Peregrine video-specialized system interconnect. DDR3 memory is handled with Mikroprojekt's IQ-MEM memory controller. LatticeMico32 Soft CPU controls the system operation.
(Click to enlarge)
Implementation and Demo Platform
The design is implemented and can be evaluated on Mikroprojekt's Sparrowhawk FX Video Development board. The implementation allows mixing of 1080p60 video streams input over DVI/HDMI interfaces. Initialization of the board on power up is automatic, handled by the Mico32 CPU. Communication with the board and the IQ-Video design is implemented through the IQ-LinkUSB interface.
An alternate implementation is available for the Lattice Video Interfaces Development Kit, integrating a Lattice ECP3-95 FPGA.
1Sparrowhawk FX reference design with dual-channel DDR3, dual DVI/HDMI inputs and outputs, with peripherals