Defective Pixel Correction

 

An image sensor may have a certain number of defective pixels that may be the result of manufacturing faults, failures during normal operation, or variations in pixel voltage levels based on temperature or exposure. A wide class of pixel defects may be characterized as: dead (always low), hot (always high), or stuck (to a certain value). These anomalies can further be characterized as static (always present) or dynamic (as a function of exposure or temperature).

 

The Defective Pixel Correction is the module that takes care of eliminating these anomalies from the Video in input stream. The module for each pixel identifies a 5×5 ROI of adjacent pixels and calculates an estimate of the pixel of interest. The estimate can be substituted for the real pixel if the difference between the two exceeds a certain threshold, which acts as a parameter to the module.

The simplicity of the algorithm ensures excellent visual performance, in addition to the high frequencies of execution and the low occupations found on Xilinx® devices Zynq®-7000 AP SoC, 7 Series and newer FPGAs.

 

Interface

The Defective Pixel Correction (DPC) core uses industry standard control and data interfaces to connect to other system components. The following sections describe the various interfaces available with the core. The Figure below illustrates an I/O diagram of the DPC core. Some signals are optional and not present for all configurations of the core.

Notice how the module requires two clocks for its operation. It is in fact customary that the configuration clock that drives the AXI4-lite configuration bus has lower frequency than the video stream clock. This simplifies the synthesis and placement of the component. The table below summarizes the meaning of every signal.

Signal / Bus Name Direction Description
s_axi_BUS_A Slave AXI-Lite Bus for the configuration of IP.
inter_pix Slave AXI4-Stream Bus for input stream.
ap_clk In Input Clock for streaming domain.
ap_rst_n In Low reset synchronized with streaming clock.
s_axi_clk In Input clock for axilite domain.
ap_rst_n_s_axi_clk In Low reset synchronized with axilite clock.
out_pix Master AXI4-Stream Bus for output stream.
interrupt Out Signal indicating the end of the task.