Video Stabilization – HW Module
- input – analog video with vibrations
- output – analog stabilized video
- control – RS232 additional commands
- boot – SD card to upgrade firmware
This HW module takes pride in a really small dimension so it can be placed inside our P/Ts and can take advantage form cooperation with servos (e.g. turn stabilization off automatically when P/T is moving).
Our HW module is able to compensate effectively vibrations with a frequency of 1.2 – 25 Hz (PAL) or 1.2 – 30 Hz (NTSC) and an amplitude ± 20% width and height of a picture. A new and innovative algorithm can also deal with a dynamic scene with some moving objects in it. The HW module use a special technique called “inpainting” to fill unknown areas of a stabilized frame. When movements exceed defined limits stabilization algorithm is automatically reset to another location.
Currently we are developing another module that can be easily inserted into exiting HW board. This module will take care of a tracking algorithm that is able to follow a detected target in live view (turn a manipulator appropriately).
FPGA (Field-Programmable Gate Array) – these units are attached to a microcontroller in order to enable their booting from FLASH memory and possible upgrade through a standard SD card. The input video signal is captured by a video decoder and fed to FPGA in digital form. Their basic function is pre- and post-processing.
DSP (Digital Signal Processor) – it is utilized for a computational demanding operations such as a stabilization algorithm. Each DSP unit is equipped with SDRAM (Synchronous Dynamic RAM) memory which provides a temporary storage for several images from a sequence.
A main algorithm chooses ideal pattern from several predefined areas in a complicated scene. The algorithm utilizes a principle of pattern matching to find a right offset (motion vector) between two consecutive frames. The pattern matching was developed as two multilevel phases – coarse and fine matching. For this purpose we use an optimized cross-correlation function.
The sophisticated algorithm is able to compensate unwanted camera vibrations which are defined as an irregular global motion effects (jitter). But simultaneously it can preserve long-term movements (panning) which are generated by user (using joystick).