Sign In to Follow Application
View All Documents & Correspondence

System For Identification And Correction Of Non Performing Pixels And Method Thereof

Abstract: A system (100) for identification and correction of non-performing pixels in an image sequence, comprising at least one sensor (102) configured to capture a plurality of images and generate the image sequence, wherein the image sequence comprises consecutive frames of the captured images; a non-performing pixel identification and correction unit (104) configured to identify non-performing pixels from a plurality of consecutive frames received from the sensor, by computing a pixel performance index value, and correct the pixel performance index values of the identified non-performing pixels; a non-uniformity correction (NUC) unit (106) configured to compute a gain value and an offset value for the identified non-performing pixels, and perform non-uniformity correction of the identified non-performing pixels, an image processing unit (108) configured to perform one or more operations on the corrected non-performing pixels to generate enhanced corrected non-performing pixels, a dynamic range compression (DRC) unit (110) configured to map a bit size of the enhanced corrected non-performing pixels to a compatible bit size.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
29 March 2022
Publication Number
40/2023
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

BHARAT ELECTRONICS LIMITED
Outer Ring Road, Nagavara, Bangalore – 560045, Karnataka, India

Inventors

1. Saurabh Girish Naik
Central Research Laboratory, Bharat Electronics Limited, Jalahalli P.O., Bangalore-560013, Karnataka, India
2. Neelabh Keshav
Central Research Laboratory, Bharat Electronics Limited, Jalahalli P.O., Bangalore-560013, Karnataka, India
3. Mastan Rao Kongara
Central Research Laboratory, Bharat Electronics Limited, Jalahalli P.O., Bangalore-560013, Karnataka, India

Specification

DESC:TECHNICAL FIELD
[0001] The present invention relates to image processing, and more particularly, to automatic non-performing pixel correction in thermal image sensors.
BACKGROUND
[0002] An imaging sensor in a digital imaging device consists of a planar array of detectors which is sensitive to one or more band of electromagnetic spectrum such as visible, near-infrared, infrared etc. These detectors generate a current or voltage in response to electromagnetic radiation falling on them. The generation of current or voltage is dependent upon the responsivity of the detector array to the thermal luminance of the incident thermal radiations. Analog to Digital Convertors convert the analog voltage or current signals to digital signals and the digital signal can be rearranged as an image frame at a rate called frames per second (FPS) with each digital data in a frame known as picture element or pixel.
[0003] Any manufactured semiconductor device has certain defects. Devices that are produced using less precise manufacturing techniques have a higher probability of defects. Minimization of defects yields a higher quality product. As compared to CCD sensors, the defects are more pronounced in thermal sensors because of the complexity and technological immaturity in the field, though the progress is highly satisfactory. Along with the other defects, infrared imaging detectors are particularly more inundated by an imperfection at the pixel level recognized as "Non-Performing Pixels".
[0004] A defective area in the material used to build a substrate will show up as a defective area on the image that is acquired by the Focal Plane Array. Focal Plane Array (FPA) refers to an assemblage of individual detector picture elements (pixels) located at the focal plane of an imaging system. Optical devices, which include thermal cameras, infrared cameras, ultraviolet cameras, CCD cameras, CMOS cameras, DSLR cameras etc., operate on spatially distributed units of picture elements or pixels. A typical defect in such an optical device is a pixel error “non-performing pixel” which generally means that this pixel location will not behave in the expected way. For example, bad pixels may not work at all, or alternatively may be brighter or dimmer than desired. Depending on the desired quality and the intended application, a single non-performing pixel may be sufficient to cause the device containing pixels to be discarded. The detectors are tested for defects, and any detector which has more than a certain percentage of non-performing pixels is usually discarded. But the accepted number of non-performing pixels is also at times uncomfortable to user and thus need to be identified and corrected.
[0005] In US7589770B2, a dead pixel real-time detection method for image applicable in a digital camera is provided. The method is utilized to achieve the real-time detection of dead pixels in an image, upon obtaining the image by the digital camera, thus locating the dead pixel desired to be repaired. Through the real-time detection, the large amount of manpower and working-hours spent on detection and correction of the dead pixels of digital cameras on a production line can be saved, and the large amount of storage space occupied by the position information of the dead pixels in a digital camera can also be reduced. More importantly, in the detection process, the dead pixel scan be determined more accurately through dynamically adjusting a threshold value as based on the different attributes of the various images, thus achieving the raising of the quality of the images significantly.
[0006] In 20150029368, a dead pixel correction apparatus includes a storage unit suitable for storing position information of dead pixels obtained from pixel data, a data scanning section suitable for scanning the position information stored in the storage unit, a valid data determination section suitable for determining valid data with respect to the scanned position information, a valid data pre-processing section suitable for pre-processing the determined valid data, and a dead pixel correction section suitable for correcting pixel values corresponding to the dead pixels in current pixel data based on the pre-processed valid data, and outputting the corrected pixel data.
[0007] US10609313B2 relates to a method for detecting bad pixels from a pixel array of a device, for capturing an image that is sensitive to infrared radiation. The method includes: receiving an input image captured by the pixel system, and calculating a score for a plurality of target pixels including at least some of the pixels from the input image. The score for each target pixel is generated on the basis of k pixels of the input image that are selected in a window of H by H pixels around the target pixel. H is an odd integer greater than or equal to 3, and k is an integer between 2 and 5. Each pixel, from the set formed of the k pixels and the target pixel, share at least one border or corner with another pixel from said set, and the values of the k pixels are at respective distances from the value of the target pixel, the k pixels being selected on the basis of the k distances. The method also includes detecting that at least one of the target pixels is a bad pixel on the basis of the calculated scores.
[0008] US20150172576A1 relates to infrared imaging devices using matrix type detector and restoring the bad pixels in these devices by detecting them. The objective of the invention is to provide a real time dynamic bad pixel correction method which can perform bad pixel identification and correction process in an image taken from a thermal imaging device in each image frame.
[0009] WO2012063265A2 relates to a method of detection of bad pixel in sensor array and correction of detected bad pixels by in painting and also to image sensor devices involving such sensor arrays adapted for identification and correction of the bad pixels. Importantly, image sensors which are provided to convert optical images to electrical signals would benefit from such possible detection and correction of pixel errors thereby providing for better quality of output. The method and the device enable providing for better quality cameras in particular digital cameras involving CCD image sensors or CMOS sensors. It monitors the health of the sensor arrays and increase its life, without involving any additional hardware cost. The invention targets all possible varieties of defective pixels including dead pixels, stuck pixels, hot and cold pixels and therefore is adapted to serve as a complete solution to such art of handling image corruption even for high of numbers of bad pixels.
[0010] Therefore, is there felt for a need for an invention which can identify and correct non-performing pixels in infrared imaging systems.
SUMMARY
[0011] This summary is provided to introduce concepts of the invention related to system and method for identification and correction of pixels in thermal imaging sensors, as disclosed herein. This summary is neither intended to identify essential features of the invention as per the present invention nor is it intended for use in determining or limiting the scope of the invention as per the present invention.

[0012] Various embodiments herein may include one or more apparatuses and methods thereof. In accordance with an embodiment of the present invention, there is provided a system for identification and correction of non-performing pixels in an image sequence. The system comprises at least one sensor configured to capture a plurality of images and generate the image sequence, wherein the image sequence comprises consecutive frames of the captured images; a non-performing pixel identification and correction unit configured to cooperate with the sensor and further configured to identify non-performing pixels from a plurality of consecutive frames received from the sensor, by computing a pixel performance index value, and correct the pixel performance index values of the identified non-performing pixels; a non-uniformity correction (NUC) unit configured to cooperate with the non-performing pixel identification and correction unit and further configured to compute a gain value and an offset value for the identified non-performing pixels, and perform non-uniformity correction of the identified non-performing pixels by the computed gain and offset values, an image processing unit configured to cooperate with the non-uniformity correction unit and further configured to perform one or more operations on the corrected non-performing pixels to generate enhanced corrected non-performing pixels, a dynamic range compression (DRC) unit configured to cooperate with the image processing unit and further configured to map a bit size of the enhanced corrected non-performing pixels to a compatible bit size by compressing the enhanced corrected non-performing pixels for displaying.

[0013] In accordance with another embodiment of the present invention, there is provided a method for identification and correction of non-performing pixels in an image sequence. The method comprising capturing, by at least one sensor, a plurality of images and generating the image sequence, wherein the image sequence comprises consecutive frames of the captured images; identifying, by a non-performing pixel identification and correction unit, non-performing pixels from a plurality of consecutive frames by computing a pixel performance index value, and correcting the pixel performance index values of the identified non-performing pixels; computing, by a non-uniformity correction (NUC) unit, a gain and an offset values for non-performing pixels, and performing non-uniformity correction of the non-performing pixels by the computed gain and offset values, performing, by an image processing unit, one or more operations on the corrected non-performing pixels to generate enhanced corrected non-performing pixels, mapping, by a dynamic range compression (DRC) unit, a bit size of the enhanced non-performing pixels to a compatible bit size by compressing the enhanced non-performing pixels for displaying.

BRIEF DESCRIPTION OF ACCOMPANYING DRAWINGS

[0014] The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to reference like features and modules.
[0015] Figure 1 illustrates a system for identification and correction of non-performing pixels, in accordance with an exemplary embodiment of the present invention.
[0016] Figure 2 illustrates a flow diagram for non-performing pixel identification and correction performed by a Non-Performing Pixel Identification and correction unit, in accordance with an exemplary embodiment of the present invention.
[0017] Figure 3 illustrates a flow diagram for auto non-performing pixel identification and correction performed by a Auto Non-Performing Pixel Identification Module, in accordance with an exemplary embodiment of the present invention.
[0018] Figure 3a exemplifies an overlay (N × N) overlapping window generated during auto non-performing pixel identification, in accordance with an exemplary embodiment of the present invention.
[0019] Figure 4 illustrates a flow diagram for storing the non-performing pixels in a memory, in accordance with an exemplary embodiment of the present invention.
[0020] Figure 5 illustrates a flow diagram for non-performing pixel correction, in accordance with an exemplary embodiment of the present invention.
[0021] Figure 6 illustrates a flow diagram for adaptive exposure time adjustment, in accordance with an exemplary embodiment of the present invention.
[0022] It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative methods embodying the principles of the present invention. Similarly, it will be appreciated that any flow charts, flow diagrams, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
DETAILED DESCRIPTION
[0023] The various embodiments of the present invention relate to system and method for accurate automatic identification and correction of non-performing pixels in infrared images.
[0024] In the following description, for purpose of explanation, specific details are set forth in order to provide an understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without these details. One skilled in the art will recognize that embodiments of the present invention, some of which are described below, may be incorporated into a number of systems.
[0025] However, the systems and methods are not limited to the specific embodiments described herein. Further, structures and devices shown in the figures are illustrative of exemplary embodiments of the present invention and are meant to avoid obscuring of the present invention.
[0026] It should be noted that the description merely illustrates the principles of the present invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described herein, embody the principles of the present invention. Furthermore, all examples recited herein are principally intended expressly to be only for explanatory purposes to help the reader in understanding the principles of the invention and the concepts contributed by the inventor to furthering the art and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass equivalents thereof.
[0027] The present invention embodies non-performing pixel detection and correction method for image, applicable in the image processing of a thermal or infrared imaging device, and in particular to a non-performing pixel detection method for image that can be realized through a dynamically varying Pixel Performance Index value. More specifically, it relates to processing of signals from imaging sensors sensitive though not limited to infrared range of electromagnetic radiation for augmentation in which the imaging device is an arrangement of essentials called pixels each of which gives an intensity level output based on their response to incident electromagnetic radiation.
[0028] This invention focuses on the non-performing pixels that occur in infrared sensors. The methodology discussed hereinafter provides a novel and an effective approach to identify and correct non-performing pixels in infrared imaging systems. Non-Performing Pixel Correction in infrared imaging systems consists broadly of 3 components – Non-Performing Pixel Identification, Non-Performing Pixel Saving and Non-Performing Pixel Correction. The identification of non-performing pixels is done by the method of comparison of the target pixel with its neighbouring pixels by the method of Pixel Performance Index Computation. Non-performing pixel identification is done in multiple stages of changing the exposure time of the thermal sensor to arrive at more satisfying results. Pixel Performance Memory Map has a multi-role functionality. This memory is used to write the non-performing pixel locations, to correct the non-performing pixels and also to identify the newer non-performing pixels in the image. Non-performing pixel correction is applied to all the locations present in the pixel performance memory map. Correction methodology uses bi-cubic interpolation technique to correct the non-performing pixels in the image.
[0029] In accordance with an embodiment of the present invention, a system (100) for identification and correction of pixels in an image sequence comprises at least one sensor (102) configured to capture a plurality of images and generate the image sequence, wherein the image sequence comprises consecutive frames of the captured images; a non-performing pixel identification and correction unit (104) configured to cooperate with the sensor (102) and further configured to identify non-performing pixels from a plurality of consecutive frames received from the sensor, by computing a pixel performance index value, and correct the pixel performance index values of the identified non-performing pixels; a non-uniformity correction (NUC) unit (106) configured to cooperate with the non-performing pixel identification and correction unit (104) and further configured to compute a gain value and an offset value for the identified non-performing pixels, and perform non-uniformity correction of the identified non-performing pixels by the computed gain and offset values, an image processing unit (108) configured to cooperate with the non-uniformity correction unit (106) and further configured to perform one or more operations on the corrected non-performing pixels to generate enhanced corrected non-performing pixels, a dynamic range compression (DRC) unit (110) configured to cooperate with the image processing unit (108) and further configured to map a bit size of the enhanced corrected non-performing pixels to a compatible bit size by compressing the enhanced corrected non-performing pixels for displaying.

[0030] In an aspect, the sensor (102) is a thermal image sensor.
[0031] In an aspect, the non-performing pixel identification and correction unit (104) comprises a non-performing pixel memory module (203) configured to store the computed pixel performance index values of the identified non-performing pixels; a pixel performance map updation module (201) configured to determine whether the pixel performance index values of the identified non-performing pixels stored in the non-performing pixel memory module (203) needs updation; an updation determination module (207), if it is determined that the pixel performance index values of the identified non-performing pixels stored in memory needs updation, configured to determine whether the pixel performance index values of the identified non-performing pixels stored in the non-performing pixel memory module (203) need to be updated automatically or manually; an auto non-performing pixel identification module (202), if it is determined that the pixel performance index values of the identified non-performing pixels stored in the non-performing pixel memory module (203) need to be updated automatically, configured to automatically compute the pixel performance index values of the identified non-performing pixels, and store the automatically computed pixel performance index values of the identified non-performing pixels in the non-performing pixel memory module (203); or a manual non-performing pixel identification module (205), if it is determined that the pixel performance index values of the identified non-performing pixels stored in the non-performing pixel memory module (203) need to be updated manually, configured to store pixel performance index values of the identified non-performing pixels manually indicated by one or more commands through a user interface, in the non-performing pixel memory module (203); a non-performing pixel correction module (204) configured to receive the pixel performance index values of the identified non-performing pixels from the non-performing pixel memory module (203), and correct the pixel performance index values of the identified non-performing pixels; a total non-performing pixel counter module (206) configured to verify the pixel performance index values of the non-performing pixels, and compute the total number of identified non-performing pixels, and further configured to increment a counter if a new non-performing pixel is identified.
[0032] In an aspect, the auto non-performing pixel identification module (202) comprises an image mean matrix module (301) configured to receive consecutive frames from the sensor and the pixel performance index values of the identified non-performing pixels, and further configured to compute a mean image matrix using a finite number of consecutive frames; an overlay (N × N) overlapping window (302) configured to identify the non-performing pixels by overlaying the (N × N) overlapping window (302) on the computed mean image matrix; a pixel readout and averaging unit (304) configured to readout a centre pixel in the overlay (N × N) overlapping window (302), and compute an average value of surrounding pixels (N × N -1) surrounding the center pixel; a dynamic pixel performance index computing unit (303) configured to compute a dynamic pixel performance index value with respect to the position of the overlay (N × N) overlapping window (302); a comparator unit (305) configured to calculate an absolute difference between the computed average value of surrounding pixels (N × N -1) and a value of the centre pixel in the overlay (N × N) overlapping window (302), and compare the calculated absolute difference value with the dynamic pixel performance index value computed by the dynamic pixel performance index computing unit (303); a pixel performance index module (306) configured to determine whether the computed dynamic pixel performance index value exceeds the calculated absolute difference value between the computed average value of surrounding pixels (N × N -1) and the value of the centre pixel in the overlay (N × N) overlapping window (302), and further configured to shift the overlay (N × N) overlapping window (302) by one unit if the calculated difference value is within the dynamic pixel performance index value, check the next pixel in the overlay (N × N) overlapping window (302) to identify the non-performing pixel, and identify the centre pixel as non-performing pixel if the calculated difference value exceeds the dynamic pixel performance index value; an adaptive exposure time adjustment unit (309) configured to adjust the sensor exposure time of the sensor (102) based on the mean image matrix and the dynamic pixel performance index value; a volatile memory pixel performance map (307) configured to store the pixel performance index values of the identified non-performing pixels and update the image mean matrix module (301) with the pixel performance index values of the identified non-performing pixels.
[0033] In an aspect, the non-performing pixel memory module (203) comprises the volatile memory pixel performance map (405) configured to receive pixel performance index values of new identified non-performing pixels, provide pixel performance index values of the new identified non-performing pixels as feedback to the auto non-performing pixel identification module (404) to identify additional non-performing pixels in the mean image matrix computed by the image mean matrix module (301), and send the pixel performance index values of the new identified non-performing pixels from the non-performing pixel correction module (402) for correction of the pixel performance index values of the non-performing pixels; a non-performing pixel identification determination module (407) configured to determine whether the pixel performance index values of the new identified non-performing pixels are correctly computed, erase the pixel performance index values of the identified non-performing pixels in the volatile memory pixel performance map (405), if the pixel performance index values of identified non-performing pixels are not correctly computed, or store the pixel performance index values of the new identified non-performing pixels in a non-volatile memory pixel performance map (406), if the pixel performance index values of the new identified non-performing pixels are correctly computed; the non-volatile memory pixel performance map (406) configured to update the volatile memory pixel performance map (405) with the pixel performance index values of the identified non-performing pixels.
[0034] In an aspect, the non-performing pixel correction module (402) comprises an address comparator module (502) configured to compare the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501) with pixel performance index values of new identified non-performing pixels, wherein the new identified non-performing pixels are determined from the consecutive frames generated from a subsequent image sequence generated by the sensor (102); a non-performing pixel location determination module (503) configured to determine whether the pixel performance index values of the new identified non-performing pixels is same as the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501); a buffering module (505) configured to receive the pixel performance index values of the new identified non-performing pixels, if it is determined that the pixel performance index values of new identified non-performing pixels is not the same as the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501); an interpolation module (504) configured to receive the pixel performance index values of the new identified non-performing pixels, if it is determined that the pixel performance index values of new identified non-performing pixels are same as the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501), and correct the pixel performance index value of the non-performing pixel to generate a corrected pixel;
a multiplexer (506) configured to select and output either the pixel performance index values of the non-performing pixels from the buffering module (505) or the pixel performance index values of the corrected pixels from the interpolation module (504), based on the determination that the pixel performance index values of the new identified non-performing pixels and the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501) are same or not.
[0035] In an aspect, the adaptive exposure time adjustment unit (309) comprises a frame pixel average computing module (602) configured to compute the pixel average value from the mean image matrix and the dynamic pixel performance index value; a first decision making module (603) configured to determine whether the pixel average value is equivalent to a predetermined lower percentage of a threshold value; an exposure time generator module (604) configured to send commands to the sensor (102) to change the exposure time of the sensor (102) until the pixel average value becomes equivalent to the predetermined lower percentage of the threshold value, if it is determined that the pixel average value is not equivalent to the predetermined lower percentage of the threshold value; or a stepwise linear exposure time generator module (605) configured to increase the exposure time of the sensor (102) linearly, if it is determined that the pixel average value is equivalent to the predetermined lower percentage of the threshold value; a second decision making module (606) configured to determine whether the pixel average value is greater than the predetermined upper percentage of the threshold value, if it is determined that the pixel average value is not greater than the predetermined upper percentage of the threshold value, the auto non-performing pixel identification module (202) configured to automatically compute the pixel performance index values of identified non-performing pixels, and store the automatically computed pixel performance index values of the identified non-performing pixels in the non-performing pixel memory module (203), else stop the non-performing pixel identification.
[0036] Figure 1 illustrates a system for identification and correction of non-performing pixels in an image sequence, in accordance with an embodiment of the present invention. An image sequence may be defined as a continuous input of consecutive image frames that are generated due to the exposure of the sensor array of an image capture device to a scene. The input image sequence data from image capture device that includes an image sensor that may have responsivity in various bands of electromagnetic spectrum such as visible, infrared, near infrared etc. The figure describes the technique used in processing the imaging sensor data. Non-performing pixel identification and correction unit (104) receives raw or pre-processed sensor data as input. This unit involves all the processing in relation to the non-performing pixels. Non-performing pixel identification and correction unit (104) is expanded in detail in Figure 2. Non-Performing pixel corrected data is further given to Non-uniformity correction (NUC) block (106). This block computes the gain and offset tables and also uses them in order to perform NUC and fixed pattern noise removal. The data is then sent to Image Processing block for Image Enhancement (108). Image processing may be done using a number of algorithms considering the suitability of the algorithm for a particular used case. The algorithms include, but not limited to, histogram building and equalization, LAHE, CLAHE, brightness and contrast adjustment algorithms, detail enhancement techniques etc. The output of Non-uniformity correction (NUC) block (106) is provided to Dynamic Range Compression (DRC) Unit (110). This unit maps the bit size of the input pixels to the bit size expected by the Display Unit (112). The techniques used for DRC include, but not limited to, Automatic Gain Compression, Histogram Equalization, Histogram Projection, Squared Histogram Equalization, to name a few. Finally, this data if provided to the Display Unit (105) which uses standard encoding protocols to display the processed image.
[0037] Figure 2 illustrates a flow diagram for non-performing pixel identification and correction performed by a Non-Performing Pixel Identification and correction unit, in accordance with an embodiment of the present invention. The Non-Performing Pixel Identification and correction unit (104) encompasses four fundamental modules – Manual Non-Performing Pixel Identification Module (205), Auto Non-Performing Pixel Identification Module (202), Non-Performing Pixel Memory Module (203) and Non-Performing Pixel Correction Module (204). Once the Input Raw Sensor Data enters Non-Performing Pixel Identification and correction unit (104), Pixel Performance Map updation requirement is checked by a pixel performance map updation module (201) based on user input. If no updation is required, then the executer jumps to non-performing pixel memory module (203). Here the existing Non-Performing Pixel locations saved in memory are considered for correction and forwarded to Non-Performing Pixel Correction Module (204). If there is a requirement of pixel performance map updation at (201) then the method provides liberty for choosing manual identification or automatic identification in (207). Manual Non-Performing Pixel Identification Module (205) requires user to find the non-performing pixel location by manually indicating the location of non-performing pixel using a comprehensive user interface. The result of this module is entirely based on human decision for indicating the location. This location is written in memory elucidated in Non-Performing Pixel Memory Module (203) which is further expanded in FIG 4. Auto Non-Performing Pixel Identification Module (202) uses the methodology described herein to identify non-performing pixel locations based on an overlapping NxN window sliding over the input image frame. The details of Auto Non-Performing Pixel Identification Module (202) are expanded in FIG 3. The methodology involved requires Auto Non-Performing Pixel Identification Module (202) and Non-Performing Pixel Memory Module (203) to interact with each other continuously till the identification is completed. The output of Auto Non-Performing Pixel Identification Module (202) is fed to Non-Performing Pixel Memory Module (203) where it gets written in memory which may be volatile or non-volatile. These Non-Performing pixel locations in the image frame are extracted from the memory and forwarded to Non-Performing Pixel Correction Module (204), the details of which are explained in detail in FIG 5. Total Non-Performing Pixel Counter (206) is used to check and verify the Non-Performing Pixel number computed for a given sensor. It provides the total number of non-performing pixels identified at any stage and time.
[0038] Figure 3 illustrates a flow diagram for auto non-performing pixel identification and correction performed by the Auto Non-Performing Pixel Identification Module, in accordance with an embodiment of the present invention. Once new Non-Performing Pixel Identification requirement is indicated then focal plane array is covered with a uniform thermal scene. This surface can be, but not limited to, a blackbody at uniform temperature, a uniform temperature shutter or a uniform temperature lens cover. Input Data (300) from uniformly exposed scene which may be raw imaging sensor data or pre-processed sensor data is given to an Image Mean Matrix module (301) wherein any small pixel-wise temporal noises are eliminated by considering a finite number of consecutive frames to compute a mean image matrix. The Image Mean Matrix module (301) also uses information already stored in the Volatile Memory Pixel Performance Map (307) to correct the already identified Non-Performing pixel locations in the current or previous iterations of Non-Performing pixel identifications done automatically or manually. An overlay NxN overlapping window (302) is overlaid on the mean image matrix. The value of N may be based upon the detector size, the optical assembly, final results based on user satisfaction of bad pixel identification. A very small value of N may result in the misidentification of bad pixels by computing incorrect dynamic threshold because of the possibility of a bad pixel cluster covering neighbourhood pixels. A very high value of N may result in incorrect dynamic threshold because of the increased radial non-uniformity between the pixels. The choice of N is crucial in the method and variable.
[0039] Figure 3a illustrates the overlay (N × N) overlapping window generated during auto non-performing pixel identification, in accordance with an embodiment of the present invention. The NxN overlay window serves two purposes – one, the centre pixel in the window is read out in a Pixel Readout and Averaging unit (304). Here, the centre pixel is readout and saved. Also, the surrounding (NxN - 1) are averaged out and the value is saved. Second, the surrounding (NxN – 1) pixels surrounding the centre pixel are given as input to a dynamic pixel performance index computing unit (303). This unit will compute pixel performance index s which is specific to the overlay window position. This index is actually tolerable difference between the centre pixel and the averaged value of the surrounding pixels that is computed in the Pixel Readout and Averaging unit (304) to retain a pixel as good pixel. The technique to be used for pixel performance index computation involves though not limited to, variance calculation, standard deviation calculation or any other approach. The output of the dynamic pixel performance index computing unit (303) and the pixel readout and averaging unit (304) are given to a comparator unit (305). This is a decision making unit which determines whether the centre pixel of the current NxN window to be a Non-performing pixel. The comparator unit (305) will calculate the absolute difference between the two values it receives from the pixel readout and averaging unit (304) and compares it with the computed index value from the dynamic pixel performance index computing unit (303). If the output of the comparator unit (305) lies within the pixel performance index, then the overlay (N × N) overlapping window (302) is shifted by one unit and next pixel is checked for non-performing pixel. If the output of the comparator unit (305) exceeds the computed pixel performance index, then the centre pixel is identified as non-performing pixel and the corresponding location is updated in the volatile memory pixel performance map (307) which is used to update the Image Mean Matrix module (301). The updated Image Mean Matrix is used for current iteration of non-performing pixel identification process.
[0040] When first Image Mean Matrix module (301) is processed for non-performing pixel identification then a trigger signal is sent from a pixel performance index module (306) to an Adaptive Exposure Time Adjustment Unit (309), which is described in detail in FIG 6. The Adaptive Exposure Time Adjustment Unit (309) takes a Mean Frame Matrix (601) as an input. The Mean Frame Matrix (601) sends the data to Frame Pixel Average computing module (602). This module checks for Pixel average value and sends it to a first decision making module (603). The first decision making module (603) determines whether the pixel average value is equivalent to a predetermined lower percentage of a threshold value. In an exemplary embodiment, the predetermined lower percentage is 20% of the threshold value. If the value of pixel average is not around 10% of the threshold value i.e., a maximum value, then Exposure Time Generator Module 604 keeps sending commands to the sensor to change the exposure time until the pixel average falls nearly 20% of the maximum value. The value of exposure time for which the pixel average will fall around 20% will vary from sensor to sensor. The value depends upon various parameters like physical properties of the sensor, temperature of the focal plane array, and also the temperature of the shutter used for closing the detector. Till the system fixes the exposure time to around 20% of the maximum value, no automatic non-performing pixel identification procedure will be carried out. The extreme values are not considered because there is a possibility of sensor misbehaviour at these regions. Once the value reaches around 20% of the maximum, the first decision making module (603) enables the Stepwise Linear Exposure Time Generator Module (605). This module keeps changing the exposure time in constant steps and for each exposure time change, the Auto Non-Performing Pixel Identification Module is reiterated, and any new non-performing pixel locations found are written in the volatile memory pixel performance ap (307). The second decision making module (606) determines whether the pixel average value is greater than a predetermined upper percentage of the threshold value i.e., the maximum value. This is done because all the non-performing pixels cannot be identified in single exposure time. The Stepwise Linear Exposure Time Generator Module (605) increases the exposure time till the frame pixel average reaches the upper percentage. In an exemplary embodiment, the upper percentage is 80% of the threshold/maximum value. Once the upper percentage is reached, the second decision making module (606) concludes the process of Auto Non-Performing Pixel Identification.
[0041] One more approach described herein requires the sensor to be exposed to constant and controllable blackbody temperatures. Instead of an adaptive exposure time adjustment unit (309), the full frame processing complete trigger is forwarded to a Blackbody Temperature Adjustment Unit (310). The Non-Performing Pixel Identification Module follows the same procedure for different Blackbody temperatures to improve the identification efficiency. The range of Blackbody Temperature may be dependent upon the application of the system, the incident radiation acceptance range, and blackbody temperature limits, among others.

[0042] Every time a new non-performing pixel is identified, the counter (308) is incremented and finally the total number of non-performing pixels corrected in current iteration is computed and provided to the user.

[0043] The Non-Performing Pixel Memory Module (203) consists of two major components, namely, a Volatile Memory Pixel Performance Map (405) and a Non-Volatile Memory Pixel Performance Map (406). A volatile memory may be defined as any electronic memory storage whose contents are erased when the system’s power is turned off or interrupted. Volatile memory may be considered as, but not limited to SRAM, DRAM, VRAM, Cache memory, DDR etc. A non-volatile memory can be defined as a type of memory that retains stored data even after the system power is turned off or interrupted. Unlike volatile memory, it does not require any charge or electricity to maintain the storage state. Non-volatile memory may be considered as, but not limited to Flash Memory, EPROM, EEPROM, HDD, SSD etc. The non-performing pixel memory module (203) is expanded in FIG 4. Any new non-performing pixel location identified in the auto non-performing pixel identification module (404) or Manual Non-Performing Pixel Identification Module (401) is sent to the Volatile Memory Pixel Performance Map (405) through an OR gate (403). The information in the Volatile Memory Pixel Performance Map (405) is used by the auto non-performing pixel identification module (404), the process of which is described earlier. After the completion of non-performing pixel identification, the user is provided with the decision making power to verify whether the Non-Performing pixel identification is as expected as the non-performing pixel identification determination module (407). If the user returns negative response then the volatile memory pixel performance map is erased. The user may restart the Non-Performing Pixel Identification process following this. If the response from the non-performing pixel identification determination module (407) is positive, then the information in volatile memory is stored in the Non-Volatile Memory Pixel Performance Map (406). This information storage is permanent and may be extracted into volatile memory whenever required, may be at power on or system start-up. The information in the Volatile Memory Pixel Performance Map (405) is also used by a Non-Performing Pixel Correction Module (402) to correct the non-performing pixels in real time. The Non-Performing Pixel Correction Module (402) is extended in more detail in FIG 5.

[0044] Non-Performing Pixel Correction Module consists of the Address Comparator module (502) which takes the Volatile Memory Pixel Performance Map (501) as an input. When a new sensor data arrives, the corresponding address is compared with address in Pixel Performance Map. If the response of the non-performing pixel location determination module (503) is negative, then the input raw sensor data is input to a Buffering module (505) and passes uncorrected to the Multiplexer (506). If the response of the non-performing pixel location determination module (503) is positive, then the input raw sensor data is passed to an interpolation module (504). The interpolation module (504) may implement any interpolation methodology includes, but not limited to Linear Interpolation, Bilateral Interpolation, Gaussian Interpolation etc. and also may use any number of the neighbourhood pixels for the same.

[0045] The outputs of the interpolation module (504) and the buffering module (505) are forwarded to the Multiplexer (506). This is a 2:1 MUX. The input to the select line of this MUX is provided by the non-performing pixel location determination module (503). If the current pixel location has a non-performing pixel, then the output from the interpolation module (504) is sent as the Corrected Pixel output.

[0046] The system for identification and correction of non-performing pixels in an image sequence, as described herein above, implements a method for identification and correction of non-performing pixels in an image sequence comprises, capturing, by at least one sensor (102), a plurality of images and generating the image sequence, wherein the image sequence comprises consecutive frames of the captured images; identifying, by a non-performing pixel identification and correction unit (104), non-performing pixels from a plurality of consecutive frames by computing a pixel performance index value, and correcting the pixel performance index values of the identified non-performing pixels; computing, by a non-uniformity correction (NUC) unit (106), a gain and an offset values for non-performing pixels, and performing non-uniformity correction of the non-performing pixels by the computed gain and offset values, performing, by an image processing unit (108), one or more operations on the corrected non-performing pixels to generate enhanced corrected non-performing pixels, mapping, by a dynamic range compression (DRC) unit (110), a bit size of the enhanced non-performing pixels to a compatible bit size by compressing the enhanced non-performing pixels for displaying.
[0047] In an aspect, the step of identifying and correcting non-performing pixel comprises storing, by the non-preforming pixel memory module (203), the computed performance index values of the identified non-performing pixels; determining, by the pixel performance map updation module (201), whether the pixel performance index values of the identified non-performing pixels stored in the non-preforming pixel memory module (203) need updation; determining, by the updation determination module (207), if the pixel performance index values of the identified non-performing pixels stored in memory needs updation, whether the pixel performance index values of the identified non-performing pixels stored in the non-performing pixel memory module (203) need to be updated automatically or manually; if the pixel performance index values of the identified non-performing pixels stored in the non-performing pixel memory module (203) need to be updated automatically, automatically computing, by an auto non-performing pixel identification module (202), the pixel performance index values of the identified non-performing pixels, and storing the automatically computed pixel performance index values of the identified non-performing pixels in the non-performing pixel memory module (203); or if the pixel performance index values of the identified non-performing pixels stored in the non-performing pixel memory module (203) need to be updated manually, storing, by a manual non-performing pixel identification module (205), pixel performance index values of the identified non-performing pixels manually indicated by one or more commands through a user interface, in the non-performing pixel memory module (203); receiving, by a non-performing pixel correction module (204), the pixel performance index values of the identified non-performing pixels and correcting the pixel performance index values of the identified non-performing pixels; verifying, by a total non-performing pixel counter module (206), pixel performance index values of the non-performing pixels, and computing the total number of identified non-performing pixels and incrementing a counter if a new non-performing pixel is identified.
[0048] In an aspect, the step of automatically computing the pixel performance index values of the identified non-performing pixels comprises receiving, by a image mean matrix module (301), consecutive frames from the sensor and the pixel performance index values of the identified non-performing pixels to compute a mean image matrix using a finite number of consecutive frames; identifying, by an overlay (N × N) overlapping window (302), the non-performing pixels by overlaying the (N × N) overlapping window (302) on the computed mean image matrix; reading, by a pixel readout and averaging unit (304), the centre pixel in the overlay (N × N) overlapping window (302), and computing the average value of surrounding pixels (N × N -1) surrounding the center pixel; computing, by a dynamic pixel performance index computing unit (303), the dynamic pixel performance index value with respect to the position of the overlay (N × N) overlapping window (302); calculating, by a comparator unit (305), an absolute difference between the computed average value of surrounding pixels (N × N -1) and a value of the centre pixel in the overlay (N × N) overlapping window (302), comparing, by the comparator unit (305), the calculated absolute difference value with the dynamic pixel performance index value computed by the dynamic pixel performance index computing unit (303); determining, by a pixel performance index module (306), whether the computed dynamic pixel performance index value exceeds the calculated absolute difference value between the computed average value of surrounding pixels (N × N -1) and the value of the centre pixel in the overlay (N × N) overlapping window (302), shifting the overlay (N × N) overlapping window (302) by one unit if the calculated difference value is within the dynamic pixel performance index value, checking the next pixel in the overlay (N × N) overlapping window (302) to identify the non-performing pixel, and identifying the centre pixel as non-performing pixel if the calculated difference value exceeds the dynamic pixel performance index value; adjusting, by an adaptive exposure time adjustment unit (309), the sensor exposure time of the sensor (102) based on the mean image matrix and the dynamic pixel performance index value; storing, by a volatile memory pixel performance map (307), the pixel performance index values of the identified non-performing pixels and updating the image mean matrix module (301) with the pixel performance index values of the identified non-performing pixels.
[0049] In an aspect, the method further comprises the steps of receiving, by a volatile memory pixel performance map (405), pixel performance index values of new identified non-performing pixels, providing, by the volatile memory pixel performance map (405), pixel performance index values of new identified non-performing pixels as feedback to the auto non-performing pixel identification module (404) to identify additional non-performing pixels in the mean image matrix computed by the image mean matrix module (301), and sending, by the volatile memory pixel performance map (405), the pixel performance index values of the new identified non-performing pixels from the non-performing pixel correction module (402) for correcting the pixel performance index values of the non-performing pixels; determining, by a non-performing pixel identification determination module (407), whether the pixel performance index values of new identified non-performing pixels are correctly computed, erasing, by the non-performing pixel identification determination module (407), the pixel performance index values of the identified non-performing pixels in the volatile memory pixel performance map (405), if the pixel performance index values of identified non-performing pixels are not correctly computed, or storing the pixel performance index values of new identified non-performing pixels in a non-volatile memory pixel performance map (406), if the pixel performance index values of new identified non-performing pixels are correctly computed; updating, by the non-volatile memory pixel performance map (406), the volatile memory pixel performance map (405) with the pixel performance index values of the identified non-performing pixels.
[0050] In an aspect, the method further comprises the steps of comparing, by the address comparator module (502), the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501) with pixel performance index values of new identified non-performing pixels, wherein the new identified non-performing pixels are determined from the consecutive frames generated from a subsequent image sequence generated by the sensor (102); determining, by a non-performing pixel location determination module (503), whether the pixel performance index values of the new identified non-performing pixels is same as the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501); receiving, by a buffering module (505), the pixel performance index values of the new identified non-performing pixels, if it is determined that the pixel performance index values of new identified non-performing pixels is not the same as the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501); receiving, by a interpolation module (504), the pixel performance index values of the new identified non-performing pixels, if it is determined that the pixel performance index values of new identified non-performing pixels are same as the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501), and correcting, by the interpolation module (504), the pixel performance index value of the non-performing pixel to generate a corrected pixel; selecting and outputting, by a multiplexer (506), either the pixel performance index values of the non-performing pixels from the buffering module (505) or the pixel performance index values of the corrected pixels from the interpolation module (504), based on the determination that the pixel performance index values of the new identified non-performing pixels and the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501) are same or not.
[0051] In an aspect, the step of adjusting the sensor exposure time comprises computing, by a frame pixel average computing module (602), the pixel average value from the mean image matrix and the dynamic pixel performance index value; determining, by a first decision making module (603), whether the pixel average value is equivalent to a predetermined lower percentage of a threshold value; sending, by a exposure time generator module (604), the commands to the sensor (102) to change the exposure time of the sensor (102) until the pixel average value becomes equivalent to the predetermined lower percentage of the threshold value, if it is determined that the pixel average value is not equivalent to the predetermined lower percentage of the threshold value; or increasing, by a stepwise linear exposure time generator module (605), the exposure time of the sensor (102) linearly, if it is determined that the pixel average value is equivalent to the predetermined lower percentage of the threshold value; determining, by a second decision making module (606), whether the pixel average value is greater than the predetermined upper percentage of the threshold value, if it is determined that the pixel average value is not greater than the predetermined upper percentage of the threshold value, automatically computing, by the auto non-performing pixel identification module (202), the pixel performance index values of identified non-performing pixels, and storing the automatically computed pixel performance index values of the identified non-performing pixels in the non-performing pixel memory module (203), else stopping the non-performing pixel identification.
[0052] In exemplary embodiments, the system for identification and correction of non-performing pixels in an image sequence may be realized through at least a processor such as microcontroller, microprocessor, digital signal processor (DSP), field programmable gate array (FPGA), application specific integrated circuit (ASIC), or other like electronic processing devices. In other exemplary embodiments, the processor may be a computing device such as a computer, a tablet, etc.

[0053] In another exemplary embodiment, the processor may comprise the above described units, where each unit would be configured to perform its respective operations.

[0054] Thus, at least some of the technical advantages provided by the present invention include: automatic identification and correction of non-performing pixels, Using the identified non-performing pixels in the current and previous iterations to identify other non-performing pixels in the same current iteration, using overlapping window along with Pixel Performance memory map to improve the non-performing pixel identification efficiency, Adaptive Exposure Time Adjustment to vary the sensor exposure time and simulating the variations in FPA temperatures for non-performing pixel identification, Exposing the detector to different scene temperatures for non-performing pixel identification.
[0055] The foregoing description has been set merely to illustrate the invention and is not intended to be limiting. Since modifications of the disclosed embodiments incorporating the substance of the invention may occur to person skilled in the art, the invention should be construed to include everything within the scope of the invention.
,CLAIMS:
1. A system (100) for identification and correction of non-performing pixels in an image sequence, the system (100) comprising:
at least one sensor (102) configured to capture a plurality of images and generate the image sequence, wherein the image sequence comprises consecutive frames of the captured images;
a non-performing pixel identification and correction unit (104) configured to cooperate with the sensor (102) and further configured to:
identify non-performing pixels from a plurality of consecutive frames received from the sensor, by computing a pixel performance index value, and
correct the pixel performance index values of the identified non-performing pixels;
a non-uniformity correction (NUC) unit (106) configured to cooperate with the non-performing pixel identification and correction unit (104) and further configured to:
compute a gain value and an offset value for the identified non-performing pixels, and
perform non-uniformity correction of the identified non-performing pixels by the computed gain and offset values,
an image processing unit (108) configured to cooperate with the non-uniformity correction unit (106) and further configured to perform one or more operations on the corrected non-performing pixels to generate enhanced corrected non-performing pixels,
a dynamic range compression (DRC) unit (110) configured to cooperate with the image processing unit (108) and further configured to map a bit size of the enhanced corrected non-performing pixels to a compatible bit size by compressing the enhanced corrected non-performing pixels for displaying.

2. The system as claimed in claim 1, wherein the sensor (102) is a thermal image sensor.

3. The system as claimed in claim 1, wherein the non-performing pixel identification and correction unit (104) comprises:
a non-performing pixel memory module (203) configured to store the computed pixel performance index values of the identified non-performing pixels;
a pixel performance map updation module (201) configured to determine whether the pixel performance index values of the identified non-performing pixels stored in the non-performing pixel memory module (203) needs updation;
an updation determination module (207), if it is determined that the pixel performance index values of the identified non-performing pixels stored in memory needs updation, configured to determine whether the pixel performance index values of the identified non-performing pixels stored in the non-performing pixel memory module (203) need to be updated automatically or manually;
an auto non-performing pixel identification module (202), if it is determined that the pixel performance index values of the identified non-performing pixels stored in the non-performing pixel memory module (203) need to be updated automatically, configured to:
automatically compute the pixel performance index values of the identified non-performing pixels, and
store the automatically computed pixel performance index values of the identified non-performing pixels in the non-performing pixel memory module (203); or
a manual non-performing pixel identification module (205), if it is determined that the pixel performance index values of the identified non-performing pixels stored in the non-performing pixel memory module (203) need to be updated manually, configured to store pixel performance index values of the identified non-performing pixels manually indicated by one or more commands through a user interface, in the non-performing pixel memory module (203);
a non-performing pixel correction module (204) configured to receive the pixel performance index values of the identified non-performing pixels from the non-performing pixel memory module (203), and correct the pixel performance index values of the identified non-performing pixels;
a total non-performing pixel counter module (206) configured to verify the pixel performance index values of the non-performing pixels, and compute the total number of identified non-performing pixels, and further configured to increment a counter if a new non-performing pixel is identified.

4. The system as claimed in claim 3, wherein the auto non-performing pixel identification module (202) comprises:
an image mean matrix module (301) configured to receive consecutive frames from the sensor and the pixel performance index values of the identified non-performing pixels, and further configured to compute a mean image matrix using a finite number of consecutive frames;
an overlay (N × N) overlapping window (302) configured to identify the non-performing pixels by overlaying the (N × N) overlapping window (302) on the computed mean image matrix;
a pixel readout and averaging unit (304) configured to:
readout a centre pixel in the overlay (N × N) overlapping window (302), and
compute an average value of surrounding pixels (N × N -1) surrounding the center pixel;
a dynamic pixel performance index computing unit (303) configured to compute a dynamic pixel performance index value with respect to the position of the overlay (N × N) overlapping window (302);
a comparator unit (305) configured to:
calculate an absolute difference between the computed average value of surrounding pixels (N × N -1) and a value of the centre pixel in the overlay (N × N) overlapping window (302), and
compare the calculated absolute difference value with the dynamic pixel performance index value computed by the dynamic pixel performance index computing unit (303);
a pixel performance index module (306) configured to determine whether the computed dynamic pixel performance index value exceeds the calculated absolute difference value between the computed average value of surrounding pixels (N × N -1) and the value of the centre pixel in the overlay (N × N) overlapping window (302), and further configured to:
shift the overlay (N × N) overlapping window (302) by one unit if the calculated difference value is within the dynamic pixel performance index value,
check the next pixel in the overlay (N × N) overlapping window (302) to identify the non-performing pixel, and
identify the centre pixel as non-performing pixel if the calculated difference value exceeds the dynamic pixel performance index value;
an adaptive exposure time adjustment unit (309) configured to adjust the sensor exposure time of the sensor (102) based on the mean image matrix and the dynamic pixel performance index value;
a volatile memory pixel performance map (307) configured to store the pixel performance index values of the identified non-performing pixels and update the image mean matrix module (301) with the pixel performance index values of the identified non-performing pixels.

5. The system as claimed in claim 3, wherein the non-performing pixel memory module (203) comprises:
the volatile memory pixel performance map (405) configured to:
receive pixel performance index values of new identified non-performing pixels,
provide pixel performance index values of the new identified non-performing pixels as feedback to the auto non-performing pixel identification module (404) to identify additional non-performing pixels in the mean image matrix computed by the image mean matrix module (301), and
send the pixel performance index values of the new identified non-performing pixels from the non-performing pixel correction module (402) for correction of the pixel performance index values of the non-performing pixels;
a non-performing pixel identification determination module (407) configured to:
determine whether the pixel performance index values of the new identified non-performing pixels are correctly computed,
erase the pixel performance index values of the identified non-performing pixels in the volatile memory pixel performance map (405), if the pixel performance index values of identified non-performing pixels are not correctly computed, or
store the pixel performance index values of the new identified non-performing pixels in a non-volatile memory pixel performance map (406), if the pixel performance index values of the new identified non-performing pixels are correctly computed;
the non-volatile memory pixel performance map (406) configured to update the volatile memory pixel performance map (405) with the pixel performance index values of the identified non-performing pixels.

6. The system as claimed in claims 3 and 5, wherein the non-performing pixel correction module (402) comprises:
an address comparator module (502) configured to compare the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501) with pixel performance index values of new identified non-performing pixels, wherein the new identified non-performing pixels are determined from the consecutive frames generated from a subsequent image sequence generated by the sensor (102);
a non-performing pixel location determination module (503) configured to determine whether the pixel performance index values of the new identified non-performing pixels is same as the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501);
a buffering module (505) configured to receive the pixel performance index values of the new identified non-performing pixels, if it is determined that the pixel performance index values of new identified non-performing pixels is not the same as the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501);
an interpolation module (504) configured to:
receive the pixel performance index values of the new identified non-performing pixels, if it is determined that the pixel performance index values of new identified non-performing pixels are same as the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501), and
correct the pixel performance index value of the non-performing pixel to generate a corrected pixel;
a multiplexer (506) configured to:
select and output either the pixel performance index values of the non-performing pixels from the buffering module (505) or the pixel performance index values of the corrected pixels from the interpolation module (504), based on the determination that the pixel performance index values of the new identified non-performing pixels and the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501) are same or not.

7. The system as claimed in claim 4, wherein the adaptive exposure time adjustment unit (309) comprises:
a frame pixel average computing module (602) configured to compute the pixel average value from the mean image matrix and the dynamic pixel performance index value;
a first decision making module (603) configured to determine whether the pixel average value is equivalent to a predetermined lower percentage of a threshold value;
an exposure time generator module (604) configured to send commands to the sensor (102) to change the exposure time of the sensor (102) until the pixel average value becomes equivalent to the predetermined lower percentage of the threshold value, if it is determined that the pixel average value is not equivalent to the predetermined lower percentage of the threshold value; or
a stepwise linear exposure time generator module (605) configured to increase the exposure time of the sensor (102) linearly, if it is determined that the pixel average value is equivalent to the predetermined lower percentage of the threshold value;
a second decision making module (606) configured to determine whether the pixel average value is greater than the predetermined upper percentage of the threshold value,
if it is determined that the pixel average value is not greater than the predetermined upper percentage of the threshold value, the auto non-performing pixel identification module (202) configured to automatically compute the pixel performance index values of identified non-performing pixels, and store the automatically computed pixel performance index values of the identified non-performing pixels in the non-performing pixel memory module (203), else stop the non-performing pixel identification.

8. A method for identification and correction of pixels in an image sequence, the method comprising:
capturing, by at least one sensor (102), a plurality of images and generating the image sequence, wherein the image sequence comprises consecutive frames of the captured images;
identifying, by a non-performing pixel identification and correction unit (104), non-performing pixels from a plurality of consecutive frames by computing a pixel performance index value, and
correcting the pixel performance index values of the identified non-performing pixels;
computing, by a non-uniformity correction (NUC) unit (106), a gain and an offset values for non-performing pixels, and
performing non-uniformity correction of the non-performing pixels by the computed gain and offset values,
performing, by an image processing unit (108), one or more operations on the corrected non-performing pixels to generate enhanced corrected non-performing pixels,
mapping, by a dynamic range compression (DRC) unit (110), a bit size of the enhanced non-performing pixels to a compatible bit size by compressing the enhanced non-performing pixels for displaying.

9. The method as claimed in claim 8, wherein the step of identifying and correcting non-performing pixel comprises:
storing, by the non-preforming pixel memory module (203), the computed performance index values of the identified non-performing pixels;
determining, by the pixel performance map updation module (201), whether the pixel performance index values of the identified non-performing pixels stored in the non-preforming pixel memory module (203) need updation;
determining, by the updation determination module (207), if the pixel performance index values of the identified non-performing pixels stored in memory needs updation, whether the pixel performance index values of the identified non-performing pixels stored in the non-performing pixel memory module (203) need to be updated automatically or manually;
if the pixel performance index values of the identified non-performing pixels stored in the non-performing pixel memory module (203) need to be updated automatically,
automatically computing, by an auto non-performing pixel identification module (202), the pixel performance index values of the identified non-performing pixels, and
storing the automatically computed pixel performance index values of the identified non-performing pixels in the non-performing pixel memory module (203); or
if the pixel performance index values of the identified non-performing pixels stored in the non-performing pixel memory module (203) need to be updated manually, storing, by a manual non-performing pixel identification module (205), pixel performance index values of the identified non-performing pixels manually indicated by one or more commands through a user interface, in the non-performing pixel memory module (203);
receiving, by a non-performing pixel correction module (204), the pixel performance index values of the identified non-performing pixels and correcting the pixel performance index values of the identified non-performing pixels;
verifying, by a total non-performing pixel counter module (206), pixel performance index values of the non-performing pixels, and computing the total number of identified non-performing pixels and incrementing a counter if a new non-performing pixel is identified.

10. The method as claimed in claim 9, wherein the step of automatically computing the pixel performance index values of the identified non-performing pixels comprises:
receiving, by a image mean matrix module (301), consecutive frames from the sensor and the pixel performance index values of the identified non-performing pixels to compute a mean image matrix using a finite number of consecutive frames;
identifying, by an overlay (N × N) overlapping window (302), the non-performing pixels by overlaying the (N × N) overlapping window (302) on the computed mean image matrix;
reading, by a pixel readout and averaging unit (304), the centre pixel in the overlay (N × N) overlapping window (302), and computing the average value of surrounding pixels (N × N -1) surrounding the center pixel;
computing, by a dynamic pixel performance index computing unit (303), the dynamic pixel performance index value with respect to the position of the overlay (N × N) overlapping window (302);
calculating, by a comparator unit (305), an absolute difference between the computed average value of surrounding pixels (N × N -1) and a value of the centre pixel in the overlay (N × N) overlapping window (302),
comparing, by the comparator unit (305), the calculated absolute difference value with the dynamic pixel performance index value computed by the dynamic pixel performance index computing unit (303);
determining, by a pixel performance index module (306), whether the computed dynamic pixel performance index value exceeds the calculated absolute difference value between the computed average value of surrounding pixels (N × N -1) and the value of the centre pixel in the overlay (N × N) overlapping window (302),
shifting the overlay (N × N) overlapping window (302) by one unit if the calculated difference value is within the dynamic pixel performance index value,
checking the next pixel in the overlay (N × N) overlapping window (302) to identify the non-performing pixel, and
identifying the centre pixel as non-performing pixel if the calculated difference value exceeds the dynamic pixel performance index value;
adjusting, by an adaptive exposure time adjustment unit (309), the sensor exposure time of the sensor (102) based on the mean image matrix and the dynamic pixel performance index value;
storing, by a volatile memory pixel performance map (307), the pixel performance index values of the identified non-performing pixels and updating the image mean matrix module (301) with the pixel performance index values of the identified non-performing pixels.

11. The method as claimed in claims 9 and 10, further comprising the steps of:
receiving, by a volatile memory pixel performance map (405), pixel performance index values of new identified non-performing pixels,
providing, by the volatile memory pixel performance map (405), pixel performance index values of new identified non-performing pixels as feedback to the auto non-performing pixel identification module (404) to identify additional non-performing pixels in the mean image matrix computed by the image mean matrix module (301), and
sending, by the volatile memory pixel performance map (405), the pixel performance index values of the new identified non-performing pixels from the non-performing pixel correction module (402) for correcting the pixel performance index values of the non-performing pixels;
determining, by a non-performing pixel identification determination module (407), whether the pixel performance index values of new identified non-performing pixels are correctly computed,
erasing, by the non-performing pixel identification determination module (407), the pixel performance index values of the identified non-performing pixels in the volatile memory pixel performance map (405), if the pixel performance index values of identified non-performing pixels are not correctly computed, or storing the pixel performance index values of new identified non-performing pixels in a non-volatile memory pixel performance map (406), if the pixel performance index values of new identified non-performing pixels are correctly computed;
updating, by the non-volatile memory pixel performance map (406), the volatile memory pixel performance map (405) with the pixel performance index values of the identified non-performing pixels.

12. The method as claimed in claims 9 and 11, further comprising the steps of:
comparing, by a address comparator module (502), the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501) with pixel performance index values of new identified non-performing pixels, wherein the new identified non-performing pixels are determined from the consecutive frames generated from a subsequent image sequence generated by the sensor (102);
determining, by a non-performing pixel location determination module (503), whether the pixel performance index values of the new identified non-performing pixels is same as the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501);
receiving, by a buffering module (505), the pixel performance index values of the new identified non-performing pixels, if it is determined that the pixel performance index values of new identified non-performing pixels is not the same as the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501);
receiving, by a interpolation module (504), the pixel performance index values of the new identified non-performing pixels, if it is determined that the pixel performance index values of new identified non-performing pixels are same as the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501), and
correcting, by the interpolation module (504), the pixel performance index value of the non-performing pixel to generate a corrected pixel;
selecting and outputting, by a multiplexer (506), either the pixel performance index values of the non-performing pixels from the buffering module (505) or the pixel performance index values of the corrected pixels from the interpolation module (504), based on the determination that the pixel performance index values of the new identified non-performing pixels and the pixel performance index values of the non-performing pixels received from the volatile memory pixel performance map (501) are same or not.

13. The system as claimed in claim 10, the step of adjusting the sensor exposure time comprises:
computing, by a frame pixel average computing module (602), the pixel average value from the mean image matrix and the dynamic pixel performance index value;
determining, by a first decision making module (603), whether the pixel average value is equivalent to a predetermined lower percentage of a threshold value;
sending, by a exposure time generator module (604), the commands to the sensor (102) to change the exposure time of the sensor (102) until the pixel average value becomes equivalent to the predetermined lower percentage of the threshold value, if it is determined that the pixel average value is not equivalent to the predetermined lower percentage of the threshold value; or
increasing, by a stepwise linear exposure time generator module (605), the exposure time of the sensor (102) linearly, if it is determined that the pixel average value is equivalent to the predetermined lower percentage of the threshold value;
determining, by a second decision making module (606), whether the pixel average value is greater than the predetermined upper percentage of the threshold value,
if it is determined that the pixel average value is not greater than the predetermined upper percentage of the threshold value, automatically computing, by the auto non-performing pixel identification module (202), the pixel performance index values of identified non-performing pixels, and storing the automatically computed pixel performance index values of the identified non-performing pixels in the non-performing pixel memory module (203), else stopping the non-performing pixel identification.

Documents

Application Documents

# Name Date
1 202241018474-PROVISIONAL SPECIFICATION [29-03-2022(online)].pdf 2022-03-29
2 202241018474-FORM 1 [29-03-2022(online)].pdf 2022-03-29
3 202241018474-DRAWINGS [29-03-2022(online)].pdf 2022-03-29
4 202241018474-Proof of Right [10-06-2022(online)].pdf 2022-06-10
5 202241018474-FORM-26 [10-06-2022(online)].pdf 2022-06-10
6 202241018474-Correspondence_Form-1_20-06-2022.pdf 2022-06-20
7 202241018474-FORM 3 [06-03-2023(online)].pdf 2023-03-06
8 202241018474-ENDORSEMENT BY INVENTORS [06-03-2023(online)].pdf 2023-03-06
9 202241018474-DRAWING [06-03-2023(online)].pdf 2023-03-06
10 202241018474-CORRESPONDENCE-OTHERS [06-03-2023(online)].pdf 2023-03-06
11 202241018474-COMPLETE SPECIFICATION [06-03-2023(online)].pdf 2023-03-06
12 202241018474-POA [04-10-2024(online)].pdf 2024-10-04
13 202241018474-FORM 13 [04-10-2024(online)].pdf 2024-10-04
14 202241018474-AMENDED DOCUMENTS [04-10-2024(online)].pdf 2024-10-04
15 202241018474-Response to office action [01-11-2024(online)].pdf 2024-11-01