Methods and systems for mitigating undesirable video flash in infrared camera systems are disclosed. A frame of video can be stored in a buffer and information related to the frame of video can be processed prior to displaying the video such that the processed information facilitates display of the video substantially without flashing. A display of a non-flashed frame can be frozen while a flash event would otherwise cause a flashed frame to be displayed. The shift in a histogram caused by a flash event or some portion thereof can be subtracted from pixels of an image. Thus, image quality can be substantially enhanced.
|
4. A method for mitigating flash in an infrared camera system, the method comprising:
determining if a histogram has changed by more than a predetermined amount and if a number of pixels have changed by more than a predetermined amount for a frame of infrared image video data;
detecting if a flash event was captured in the frame based on the determining; and
freezing a display of a non-flashed frame while a flash event would otherwise cause a flashed frame to be displayed in response to the detecting of a flash event.
16. A method for mitigating flash in an infrared camera system, the method comprising:
storing a frame of infrared image video data in a buffer;
determining if a histogram has changed by more than a predetermined amount and if a number of pixels have changed by more than a predetermined amount for the frame;
detecting if a flash event was captured in the frame based on the determining; and
subtracting a shift in a histogram caused by a flash event or some portion thereof from the frame of infrared image video data in response to the detecting of a flash event.
29. A system for mitigating infrared camera flash, the system comprising:
means for storing a frame of infrared image video data;
means for determining if a flash event is present in the frame based on whether a histogram has changed by more than a predetermined amount and whether a number of pixels have changed by more than a predetermined amount for the frame of infrared image video data; and
means for subtracting at least a portion of a shift in the histogram caused by a flash event from the frame of infrared image video data in response to a flash event detected by the determining means.
26. A system for mitigating infrared camera flash, the system comprising:
means for storing a frame of infrared image video data;
means for determining if a flash event is present in the frame based on whether a histogram has changed by more than a predetermined amount and whether a number of pixels have changed by more than a predetermined amount for the frame of infrared image video data; and
means for processing information related to the frame of infrared image video data prior to displaying the frame of infrared image video data, in response to a flash event detected by the determining means, such that the processing facilitates display of the frame of video substantially without flashing.
1. A method for mitigating flash in an infrared camera system, the method comprising:
storing a frame of video in a buffer;
determining if a histogram has changed by more than a predetermined amount and if a number of pixels have changed by more than a predetermined amount for the frame comprising infrared image data;
detecting if a flash event was captured in the frame based on the determining, wherein the flash event is due to an abrupt change in temperature of a scene captured in the video; and
processing information related to the frame of video prior to displaying the frame of video in response to the detecting of a flash event, the processed information facilitating display of the frame of video substantially without flashing.
21. A method for detecting a flash event in an infrared camera system, the method comprising:
storing a frame of infrared image video data in a buffer;
determining if a histogram has changed by more than a predetermined amount and if a number of pixels have changed by more than a predetermined amount for the frame of infrared image video data;
detecting if a flash event was captured in the frame based on the determining; and
modifying a processing of the infrared image video data, in response to the detecting of a flash event, by disabling a recursive filter used to generate an intensity transform table applied to the infrared image video data and/or increasing a priority level of updating the intensity transform table that is applied to the infrared image video data.
31. A system for detecting a flash event in an infrared camera system, the system comprising:
a pre-buffer adapted to store a frame of infrared image video data;
flash detection logic adapted to detect if a flash event is present in the frame based on whether a histogram has changed by more than a predetermined amount and whether a number of pixels have changed by more than a predetermined amount for the frame of infrared image video data; and
intensity transform table generation logic adapted to generate intensity transform tables to apply to the infrared image video data prior to displaying the infrared image video data such that, in response to a flash event detected by the flash detection logic, the infrared image video data is modified to prevent substantially a display of the flash event.
2. The method of
3. The method of
5. The method of
6. The method of
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
12. The method of
13. The method of
14. The method of
15. The method of
17. The method as recited in
18. The method as recited in
19. The method as recited in
20. The method as recited in
22. The method of
23. The method of
24. The method of
25. The method of
27. The system of
28. The system of
30. The system of
32. The system of
33. The system of
|
The present invention relates generally to infrared cameras and, more particularly, to algorithmic methods and systems for processing infrared data, e.g., mitigating the undesirable effects of image flash, for infrared camera systems.
Infrared camera systems are well known and are used in many different applications. For example, infrared camera systems can be used on vehicles, including automobiles, to enhance viewing. Such infrared cameras can be particularly useful during periods of decreased visibility, such as dusk, dawn, and at night.
As those skilled in the art will appreciate, a flash, e.g., a whitened image that is displayed, may occur when there is an abrupt change in the temperature of at least a portion of a scene being imaged. A flash is displayed as one or more image frames that contain substantially more white (indicating heat) than desired. A flash can be predominantly white.
For example, a flash can occur when a raindrop or snowflake strikes or splashes against the lens of an infrared camera. Water is substantially non-transmissive in infrared and the raindrop or snowflake typically quickly heats up after it contacts the warm optical element.
Such flashing is undesirable because it can be distracting and annoying to one viewing the displayed image and may even prevent viewing of the intended image. That is, the display of a flash can prevent someone from seeing something in the display that should be seen. As a result, there is a need for one or more methods and/or systems that mitigate the occurrence of flashing in infrared camera systems.
Systems and methods are disclosed herein to provide for the mitigation of undesirable flash in infrared camera systems. According to one embodiment of the present invention, flash can be mitigated by storing a frame of video in a buffer and processing information related to the frame of video prior to displaying the frame of video. The processed information facilitates the display of the frame of video substantially without flashing.
Processing the information related to the frame of video can comprise updating an intensity transform table for the stored frame of video. Updating the intensity transform table can comprise using a histogram for the stored frame of video to at least partially define the intensity transform table.
According to one embodiment of the present invention, flash can be mitigated by freezing a display of the last non-flashed frame during a period of time in which a flash event (such as a raindrop or snowflake striking or splashing against the optics of an infrared camera) would otherwise cause a flashed frame to be displayed. Freezing can be accomplished by holding the non-flashed frame in a video buffer and reading it out repeatedly without overwriting it with data from a subsequent frame.
Display of the non-flashed frame can be repeated for any desired amount of time or number of frames. Thus, the non-flashed frame can be stored for one frame, two frames, or more frames. Generally, the non-flashed frame will be stored for the amount of time or number of frames that is necessary to prevent a flash from being displayed. Thus, the non-flashed frame can be stored for the length of time that it takes to process an intensity transform table that substantially mitigates flash in one or more subsequent frames.
Recursive filtering of the intensity transform table can be disabled until the flash event has passed. By disabling recursive filtering, recovery of the infrared camera from a flash event can be accelerated.
According to one embodiment of the present invention, flash can be mitigated by subtracting all or some portion of a shift in a histogram caused by a flash event from pixels of an image. Subtracting at least a portion of a histogram shift from pixels of an image can comprise subtracting a portion of the histogram shift that is proportional to a shift in the mean of the histogram from pixels of the image. For example, subtracting at least a portion of a histogram shift from pixels of an image can comprise subtracting a mean of the histogram shift (mean-shift) from the pixels of the image. Subtracting at least a portion of a histogram shift from pixels of an image can comprise subtracting all of a histogram shift from every pixel of an image.
According to one embodiment of the present invention, flash can be detected (so as to facilitate mitigating of the flash, for example), by determining if a histogram has changed more than a predetermined amount and also determining if a number of pixels have changed more than a predetermined amount. By determining if both a histogram and a number of pixels have changed, more robust flash detection is provided.
Determining if a histogram has changed more than a predetermined amount can comprise determining if a mean of the histogram has changed more than a predetermined amount. For example, determining if a histogram has changed more than a predetermined amount can comprise determining if a mean of the histogram has changed an amount corresponding to more than ½° C.
Determining if a number of pixels have changed more than a predetermined amount can comprise determining if a predetermined percentage of the pixels of a frame have changed by an amount corresponding to more than a predetermined temperature. For example, determining if a number of pixels have changed more than a predetermined amount can comprise determining if 30% of the pixels of a frame have changed by an amount corresponding to more than ½° C.
One or more embodiments of the present invention provide one or more methods and systems that detect flash and/or mitigate the occurrence of flash in infrared camera systems, e.g., to mitigate the distraction and annoyance caused thereby. As those skilled in the art will appreciate, such flash may substantially decrease the utility and desirability of contemporary infrared systems.
The scope of the invention is defined by the claims, which are incorporated into this section by reference. A more complete understanding of embodiments of the present invention will be afforded to those skilled in the art, as well as a realization of additional advantages thereof, by a consideration of the following detailed description of one or more embodiments. Reference will be made to the appended sheets of drawings that will first be described briefly.
Embodiments of the present invention and their advantages are best understood by referring to the detailed description that follows. It should be appreciated that like reference numerals are used to identify like elements illustrated in one or more of the figures.
As discussed above, undesirable flash occurs in contemporary infrared camera systems when a raindrop or snowflake strikes the camera's lens, e.g., a surface through which an optical viewing path is formed. Water from the raindrop is quickly heated to a temperature, for example, where it becomes hot enough to overwhelm the camera system's automatic gain control (AGC) or is beyond its present setting or adjustment capability, resulting in the display of a predominately white frame or flash.
Contemporary infrared cameras can use an automatic gain control system wherein an intensity transform table is applied to imaged data so as to maintain the required range of the image data. This is done so that the range is suitable for further processing and/or display. Such an automatic gain control system can provide image enhancement (such as by controlling brightness and/or contrast of displayed images, for example) and can change the resolution of the image data (such as from 14 bit to 8 bit resolution, for example).
According to contemporary practice, the intensity transform table (ITT) applied to a current frame is based on data that may have occurred one or more frames earlier. There are several possible reasons for the latency. First, the intensity transform table based on the current frame cannot be updated until the histogram for the current frame is complete.
Second, even after the histogram for the current frame is collected, according to contemporary practice the processing cannot necessarily be completed in the small interval of time between the current frame and the next frame. Thus, according to contemporary practice, the processing spills over into the next frame, causing latency to increase by another frame.
Third, the intensity transform table is typically updated at some fraction of the frame rate. For example, the intensity transform table can be updated at 15 Hz instead of the 30 Hz frame rate commonly used in video systems. Such updating at a fraction of the frame rate causes latency to increase by one additional frame on every other frame.
Thus, when a raindrop or snowflake strikes the camera's lens, the histogram tends to change rapidly, whereas the latency in updating the intensity transform table does not allow it to change as rapidly. During the time that it takes the intensity transform table to update, the image data can be out of the desired range, i.e., can be too bright and/or have insufficient contrast. Thus, a flash may be displayed on the monitor.
While not a latency issue per se, according to contemporary practice recursive filtering is often applied to the intensity transform table. The use of such recursive filtering causes the recovery from a flash event to take many frames, even after the flash event is finished.
If the only source of latency is due to waiting for completion of the histogram, then introducing a frame buffer can substantially mitigate the problem. According to an embodiment of the present invention, a frame buffer is used to hold a frame of video data until the histogram for that frame is complete. In this manner, the frame can be displayed using an intensity transform table based on data from that frame, instead of the data from an earlier frame (which may not be appropriate for the current frame, such as due to flashing, for example).
Thus, according to an embodiment of the present invention, a frame buffer can be used to mitigate, e.g., eliminate or partially eliminate, undesirable flash. When a frame buffer is used, the problems due to the small time interval available for processing of the intensity transform table, updating of the intensity transform table at a fraction of the frame rate, and the use of recursive filtering, are still potential sources of flash. However, they can be substantially mitigated as the result of further embodiments of the present invention.
According to one or more embodiments of the present invention, signal flow is enhanced so as to better detect flash, such that detection occurs before the frame is displayed.
According to one or more embodiments of the present invention, there are two criteria (and three threshold values) that can be used to detect a flash event. A first criteria is that the mean of the histogram for a frame must change by a predetermined amount x. A second criterion is that a predetermined number y of pixels must change by a predetermined amount z. According to an exemplary embodiment of the present invention, the default values of x and z can be those values that correspond to a shift of approximately ½° Celsius of equivalent scene temperature change. The default value of y can be 30% of the array.
Using only the mean of the histogram is undesirably prone to false detections. For example, if some small but hot object moves into the field of view, the mean of the histogram can potentially shift above the threshold even though there is no flash event.
Conversely, using only a predetermined change in a predetermined number of pixels is also prone to false detections. A simple illustration of this can be provided by imaging a hot picket fence. If the fence shifts slightly in the field of view, a large number of individual pixels will suddenly change value significantly while the mean value of the array stays generally constant. Using both of the criteria together provides a robust method for the detection of flash events that reduces the incidence of false detections.
According to one embodiment of the present invention, the processes that take place in response to the detection of a flash substantially mitigate the display of flashing. Four examples of methods for such mitigation are discussed herein.
The first method for the mitigation of flash is a freeze frame method. According to this method, when a flash event is detected the current, non-flashed frame, is frozen (continually displayed) long enough for a new intensity transform table to be generated that is appropriate for the next frame to be displayed. The new intensity transform table will mitigate the effect of flashing in the display.
The second method addresses the problems caused by updating the intensity transform table at a fraction of the frame rate. This method comprises reassigning the priority of the intensity transform table update. For example, processing of the intensity transform table can be moved from the background to the foreground of the processor. This reduces the amount of time that a frozen image is displayed.
For example, when a flash is detected, then a currently displayed frame can be frozen until the next intensity transform table update. To shorten the number of frames that are frozen, the intensity transform table update can be commanded to take place as soon as possible rather than at the next regularly scheduled time.
The third method is to have the processor, for example, modify image data in a manner that mitigates the effects of flash. The processor has already computed the magnitude of the histogram shift (since that is one of the criteria for detecting a flash event in one embodiment of the present invention). Since the processor has this information, the processor can undo the shift (caused by the flash) by subtracting the shift, or some fraction thereof, from every pixel in the frame to be displayed.
For example, if the histogram's mean shifts by 100 counts, then subtracting 100 counts from every pixel will maintain the modified mean and hence tend to eliminate the flash. The result is that instead of a freeze, a live image is displayed at the same average brightness as the previous frame. The contrast may be reduced since the water droplet causing the flash may reduce the magnitude of the scene energy to be transmitted to the infrared sensor. However, there is little or no disturbing flash. This solution can be used instead of freezing the current or non-flashed frame.
A fourth method comprises temporarily disabling the recursive filter after a flash event. This can allow more rapid recovery when the intensity transform table updates.
According to one embodiment of the present invention, an algorithm looks for changes in the histogram that exceed a predetermined threshold (comparatively large changes that tend to necessitate the use of a new intensity transform table so as to maintain the desired range of the image data). Some exemplary criteria for detecting such changes are discussed herein.
The algorithm can freeze a previous good frame (a frame for which the image data is within the desired range of the camera system and thus does not cause a flash), while the intensity transform table is being updated. Typically, such freezing is only necessary for one or two frames, such that its impact upon a person viewing the display tends to be minimized.
Thus, when image data indicative of a flash occurs, then the algorithm re-displays the same previous, non-flashed, frame one or more times so as to give the automatic gain control system time to catch up. During this time, the intensity transform table is updated so as to be substantially more appropriate for the current image data. When a flash is detected, processing of the intensity transform table can be moved from the background to the foreground of a processor, so that it is performed more quickly. That is, such processing can be performed before other, less critical processing.
According to one embodiment of the present invention, m bit image data values of the infrared camera's image data are converted into corresponding n bit values (m>n) by intensity transform table 12a. Intensity transform table 12a can be a lookup table for which the m bit image data values are inputs and the corresponding n bit gray scale values are outputs.
At this point, intensity transform table 12a has not yet been updated so as to effect desired automatic gain control and thus maintain the image data within the desired range. Thus, intensity transform table 12a improperly converts m bit image data into n bit image data. As can be seen, histogram 11b has shifted such that intensity transform table 12a converts substantially all of any m bit image data into higher values (more white) of n bit data than is desired. This results in too much brightness and too little contrast. Thus, when intensity transform table 11a is applied to image data, the displayed result is a flash, or predominantly white screen.
According to one embodiment of the present invention, the intensity transform table is updated, optionally on an expedited basis, when a shift in the histogram occurs, and this is accomplished while a previous, non-flashed, frame is being displayed. In this manner, the flash that results from the shift in the histogram is not displayed.
More particularly, a stream of video data Pix(i, j, t) includes data for individual pixels where i is the row of each pixel, j is the column of each pixel, and t is the frame of each pixel. The video data Pix(i, j, t) is provided to both a “generate histogram” circuit 401 and an “apply filtered ITT” circuit 404.
“Generate histogram” circuit 401 generates a histogram, such as from each frame of video data, and provides the histogram to a “generate desired ITT” circuit 402. “Generate desired ITT” circuit 402 generates an intensity transform table (ITT).
Optionally, the intensity transform table is provided to “generate recursively filtered ITT” circuit 403. As those skilled in the art will appreciate, a recursive filter can be applied to the intensity transform table so as to mitigate the undesirable effects of rapidly changing data in stream of video data Pix(i, j, t).
The intensity transform table, whether recursively filtered or not, can be provided to an “apply filtered ITT” circuit 404. “Apply filtered ITT” circuit 404 can apply the intensity transform table to stream of video data Pix(i, j, t).
However, the processes of generating the histogram, generating the desired intensity transform, and optionally recursively filtering the intensity transform table require time for processing. Thus, by the time an intensity transform table is ready to be applied to the stream of video data Pix(i, j, t), a subsequent frame of video data is being provided to “apply filtered ITT” circuit 404. That is, the frame of video data to which the intensity transform table is being applied occurred after the frame of data that was used to generate the intensity transform table.
This latency means that the intensity transform table is not always appropriate for the frame of video data. For example, an intensity transform table from a frame of video data that does not contain a flash event can be applied to a subsequent frame of video data that does contain a flash event. This can result in the undesirable display of flashing.
More particularly, when an intensity transform table for a frame of video data not having a flash event is applied to a frame of video data having a flash event, then the intensity transform table will tend to cause the display image to have an intensity and contrast that is not appropriate for the flash event, thus causing the undesirable effects of the flash event.
In order to mitigate the undesirable display of flashing, the signal pipeline of
Pre-ITT buffer 501 provides the video data to a “compute per-pixel shift/mean-shift” circuit 502. This circuit determines the amount of shift of each pixel of a frame of video data, as well as the shift of the mean of the video data. This information can be used by a “flash detection logic” circuit 503 to determine whether or not a flash event is present in the video data, as described herein.
Applying delayed video stream Pix(i, j, t−1) to “apply filtered ITT” circuit 404 has the benefit of facilitating the application of an intensity transform table to the same frame of video that was used to generate the intensity transform table. Applying an intensity transform table to the same frame of video that was used to generate the intensity transform table has the potential to mitigate the display of flashing. For example, if the intensity transform table for a frame of video data having a flash event is applied to that same frame of video data, then the intensity transform table will tend to cause the display image to have an intensity and contrast that is appropriate for the flash event, thus mitigating the undesirable effects of the flash event.
In other words, when a flash event is detected, then video buffer 405 is not updated by “apply filtered ITT” circuit 404 for one or more frames. This provides time for the flash event to subside and/or for the intensity transform table to be updated so as to be more appropriate for the frame of video data containing the flash event.
When switch 504 is positioned such that no new video data is provided to video buffer 405, then video buffer 405 continues to facilitate the display of the video information that is stored therein. That is, the same frame of video is re-displayed one or more times.
It is worthwhile to note that switch 504 does not necessarily have to be a physical switch, but rather indicates control of the writing of new video data to video buffer 405. Thus, new video data can continue to be provided to video buffer 405 without the new data actually being written thereto.
Switch 504 can re-apply video data from “apply filtered ITT” circuit 404 to video buffer 405 after the flash event has subsided and/or the intensity transform table has been updated so as to be more appropriate for the frame of video data containing the flash event. Switch 504 can be controlled by flash detection logic 503 such that when a flash event is present in the video data, then no new video data is applied to video buffer 405 and when no flash event is present in the video data, then new video data is applied to video buffer 405.
More particularly, flash detection logic can control “generate recursively-filtered ITT” circuit 403 such that when flash detection logic 503 detects a flash event, then it can disable recursive filtering.
By disabling recursive filtering, the time required to update the applied intensity transform table can be substantially reduced. That is, the effects of pre-flash video data that tend to linger following a flash event due to recursive filtering are substantially mitigated or eliminated, so that the effects of a flash event can better be represented in the intensity transform table.
More particularly, flash detection logic can control the priority of “generate desired ITT” circuit 402 such that when flash detection logic 503 detects a flash event, then it can increase the priority of providing intensity transform updates. That is, when a flash event is detected, then the priority with which intensity transform table processing is done can be increased, e.g., intensity transform table process can be moved from the background to the foreground.
By increasing the priority of processing the intensity transform table, a new intensity transform table can be provided more quickly. Thus, fewer frames need to be frozen by re-displaying the contents of video buffer 405.
More particularly, after the mean-shift has been determined by “compute per-pixel shift/mean-shift” circuit 502, then flash detection logic 503 can cause the mean-shift or another value to be subtracted from the video data, such as by subtractor 901. Such subtraction can occur prior to applying the filtered intensity transform table to the video data, for example.
Various combinations of the methods for mitigating flash discussed herein may be used. For example, freezing a non-flashed image in video buffer 405 may be done while disabling recursive filtering, while increasing the priority of the intensity transform table update, or while both disabling recursive filtering and increasing the priority of the intensity transform table update.
Although
In one or more embodiments of the present invention, a field programmable gate array (FPGA) can be used, for example, to set a register so as to indicate to software that a freeze event is required (such as due to a substantial shift in a histogram). The use of a programmable gate array in this manner helps to facilitate the very tight timing that is required between detection of a flash and the start of the first frozen frame. Alternatively, an application specific integrated circuit (ASIC) or other type of general or specialized circuit or software may be used in place of the programmable gate array.
Software polls to the register can be performed asynchronously, for example, in accordance with an embodiment of the present invention. As a specific example, a set register can be used to trigger software to modify the intensity transform table filter coefficient.
Intensity transform table updating can be performed according to an on demand basis. For example, software can update the intensity transform table immediately after a flash detection. This will tend to reduce the number of frames that must be frozen.
The use of polling can be replaced with firmware latching, such as via the use of a firmware status bit. This will mitigate the critical timing requirements associated with the use of polling. Moreover, the software state machine of the infrared camera flash algorithm can be replaced by firmware that utilizes such a firmware status bit. The use of such firmware would tend to mitigate uncertainty regarding detection of a shift in the histogram on a current or previous frame.
The term lens as used herein can be defined as any infrared transparent structure through which infrared light passes for camera imaging. Thus, a lens can be a window, filter, or other covering and need not have refractive properties for infrared light.
The present invention provides methods and systems that mitigate the occurrence of flash in infrared camera systems. In this manner, the distraction and annoyance caused by flash is likewise mitigated and the quality of video imagery provided by the infrared camera system is substantially enhanced.
Although discussed herein as being an infrared camera system, those skilled in the art will appreciate that the flash algorithm of the present invention can alternatively be used with other types of camera systems as well. Indeed, one or more embodiments of the present invention can alternatively be used to mitigate the perception of defects in a wide variety of different types of data. Thus, discussion here as being an infrared camera system is by way of example only, and not by way of limitation.
Embodiments described above illustrate but do not limit the invention. It should also be understood that numerous modifications and variations are possible in accordance with the principles of the present invention. Accordingly, the scope of the invention is defined only by the following claims.
Hall, Peter, Kostrzewa, Joseph, Höglund, Tobias, Kraemer, Douglas R., Araki, Leonard S., Hedberg, Ognjan
Patent | Priority | Assignee | Title |
10007974, | Jun 10 2016 | Sensors Unlimited, Inc.; SENSORS UNLIMITED, INC | Enhancing images |
10128808, | Aug 20 2014 | Seek Thermal, Inc. | Gain calibration for an imaging system |
10346961, | Jun 10 2016 | Sensors Unlimited, Inc. | Enhancing images |
10467736, | Dec 02 2014 | Seek Thermal, Inc. | Image adjustment based on locally flat scenes |
10600164, | Dec 02 2014 | Seek Thermal, Inc. | Image adjustment based on locally flat scenes |
10867371, | Jun 28 2016 | SEEK THERMAL, INC | Fixed pattern noise mitigation for a thermal imaging system |
11276152, | May 28 2019 | SEEK THERMAL, INC | Adaptive gain adjustment for histogram equalization in an imaging system |
8780161, | Mar 01 2011 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | System and method for modifying images |
9549130, | May 01 2015 | Seek Thermal, Inc. | Compact row column noise filter for an imaging system |
9584750, | Aug 20 2014 | SEEK THERMAL, INC | Adaptive adjustment of the operating bias of an imaging system |
9595934, | Aug 20 2014 | SEEK THERMAL, INC | Gain calibration for an imaging system |
9727954, | Aug 05 2014 | Seek Thermal, Inc.; SEEK THERMAL, INC | Local contrast adjustment for digital images |
9924116, | Aug 05 2014 | SEEK THERMAL, INC | Time based offset correction for imaging systems and adaptive calibration control |
9930324, | Aug 05 2014 | Seek Thermal, Inc.; SEEK THERMAL, INC | Time based offset correction for imaging systems |
9947086, | Dec 02 2014 | SEEK THERMAL, INC | Image adjustment based on locally flat scenes |
Patent | Priority | Assignee | Title |
7202463, | Sep 16 2005 | Adobe Systems Incorporated | Higher dynamic range image sensor with signal integration |
7333144, | Aug 02 2002 | FUJIFILM Corporation | Electronic flash device and camera having the same |
7352394, | Oct 09 1997 | FotoNation Limited | Image modification based on red-eye filter analysis |
7414667, | Jul 15 2003 | Canon Kabushiki Kaisha | Image sensing apparatus, image processing apparatus, and control method therefor for relaxing a red-eye effect |
7583297, | Jan 23 2004 | Sony Corporation | Image processing method, image processing apparatus, and computer program used therewith |
20020150306, | |||
20060008171, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 23 2006 | KRAEMER, DOUGLAS R | FLIR SYSTEMS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018020 | /0967 | |
May 23 2006 | KRAEMER, DOUGLAS R | Autoliv Development AB | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018020 | /0967 | |
May 23 2006 | ARAKI, LOENARD S | Autoliv Development AB | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018020 | /0967 | |
May 23 2006 | KOSTRZEWA, JOSEPH | Autoliv Development AB | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018020 | /0967 | |
May 23 2006 | KOSTRZEWA, JOSEPH | FLIR SYSTEMS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018020 | /0967 | |
May 23 2006 | ARAKI, LOENARD S | FLIR SYSTEMS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018020 | /0967 | |
May 31 2006 | HEDBERG, OGNJAN | Autoliv Development AB | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018020 | /0967 | |
May 31 2006 | HOGLUND, TOBIAS | FLIR SYSTEMS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018020 | /0967 | |
May 31 2006 | HEDBERG, OGNJAN | FLIR SYSTEMS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018020 | /0967 | |
May 31 2006 | HALL, PETER | FLIR SYSTEMS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018020 | /0967 | |
May 31 2006 | HOGLUND, TOBIAS | Autoliv Development AB | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018020 | /0967 | |
May 31 2006 | HALL, PETER | Autoliv Development AB | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018020 | /0967 | |
Jun 09 2006 | Flir Systems, Inc. | (assignment on the face of the patent) | / | |||
Jun 09 2006 | Autoliv Development AB | (assignment on the face of the patent) | / | |||
Apr 01 2018 | Autoliv Development AB | VEONEER SWEDEN AB | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 053845 | /0928 | |
May 14 2021 | FIREWORK MERGER SUB II, LLC | Teledyne FLIR, LLC | MERGER AND CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 058832 | /0915 | |
May 14 2021 | FLIR SYSTEMS, INC | Teledyne FLIR, LLC | MERGER AND CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 058832 | /0915 | |
Nov 07 2023 | VEONEER SWEDEN AB | MAGNA ELECTRONICS SWEDEN AB | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 066816 | /0846 |
Date | Maintenance Fee Events |
Sep 20 2013 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Feb 19 2018 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Mar 04 2022 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Sep 14 2013 | 4 years fee payment window open |
Mar 14 2014 | 6 months grace period start (w surcharge) |
Sep 14 2014 | patent expiry (for year 4) |
Sep 14 2016 | 2 years to revive unintentionally abandoned end. (for year 4) |
Sep 14 2017 | 8 years fee payment window open |
Mar 14 2018 | 6 months grace period start (w surcharge) |
Sep 14 2018 | patent expiry (for year 8) |
Sep 14 2020 | 2 years to revive unintentionally abandoned end. (for year 8) |
Sep 14 2021 | 12 years fee payment window open |
Mar 14 2022 | 6 months grace period start (w surcharge) |
Sep 14 2022 | patent expiry (for year 12) |
Sep 14 2024 | 2 years to revive unintentionally abandoned end. (for year 12) |