Patent US7088392B2 successfully refreshed from Google Patents.
← Back to Patent Explorer
US7088392B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Digital image system and method for implementing an adaptive demosaicing method

Assignee: Aptina Imaging Corp
•
Filing: 2001-08-27
•
Granted: 2006-08-08
•
Expires: 2021-08-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An adaptive demosaicing method interpolates images based on color edge detection and neighborhood voting. The adaptive demosaicing algorithm uses a voting scheme to determine the direction of interpolation at each missing luminance pixel location. Each color plane votes either horizontal or vertical based on a comparison between the horizontal and vertical components of the degree of change (i.e., gradient, Laplacian or other measure of the degree of change) in that color plane. Votes are counted from the neighborhood pixels as well as from measurements taken at the pixel location itself. Once the luminance plane is fully interpolated, the chrominance planes are filled in by simple bilinear or median interpolation of difference chrominance values. Enhancements to the adaptive demosaicing algorithm permit adaptive smoothing and sharpening.

Inventors

  • 👤 Ramakrishna Kakarala
  • 👤 Izhak Baharav

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 17:23
CPC Classifications
G; G06; G06T; G06T3/00; G06T3/40; G06T3/4015; G06T3/4007; G06T3/403; H; H04; H04N; H04N23/00; H04N23/80; H04N23/84; H04N23/843; H04N25/00; H04N25/10; H04N25/11; H04N25/13; H04N25/134

Claims Analysis

Total Claims: 36
Claim 1
Independent Claim 120 words
A method for determining whether a pixel lies on an edge of a digital image, said method comprising: determining, for said pixel, a first edge-orientation of a first color and a second edge-orientation of a second color, said first and second edge-orientations each having a row component and a column component; and providing respective interpolation votes associated with said first edge-orientation and said second edge-orientation based on said respective row components and said respective column components to determine a selected interpolation orientation, said respective interpolation votes being either a first interpolation orientation or a second interpolation orientation, said selected interpolation orientation being based on the number of said interpolation votes for said first interpolation orientation and said second interpolation orientation.
Claim 2
Independent Claim 120 words
A method for determining whether a pixel lies on an edge of a digital image, said method comprising: determining, for said pixel, a first edge-orientation of a first color and a second edge-orientation of a second color, said first and second edge-orientations each having a row component and a column component; and providing respective interpolation votes associated with said first edge-orientation and said second edge-orientation based on said respective row components and said respective column components to determine a selected interpolation orientation, said respective interpolation votes being either a first interpolation orientation or a second interpolation orientation, said selected interpolation orientation being based on the number of said interpolation votes for said first interpolation orientation and said second interpolation orientation.
Claim 3
Dependent Claim 28 words
The method of claim 1 , wherein said first and second edge-orientations are first and second gradients, said first and second gradients forming a Jacobian of said pixel.
Claim 4
Dependent Claim 233 words
The method of claim 2 , wherein said first interpolation orientation is a horizontal interpolation and said second interpolation orientation is a vertical interpolation, and wherein said step of providing further comprises: setting a first one of said interpolation votes associated with said first gradient, said first interpolation vote being set as said horizontal interpolation when the absolute value of a row component of said first gradient is lower than the absolute value of a column component of said first gradient, said first interpolation vote being set as said vertical interpolation when the absolute value of said column component of said first gradient is lower than the absolute value of said row component of said first gradient; setting a second one of said interpolation votes associated with said second gradient, said second interpolation vote being set as said horizontal interpolation when the absolute value of a row component of said second gradient is lower than the absolute value of a column component of said second gradient, said second interpolation vote being set as said vertical interpolation when the absolute value of said column component of said second gradient is lower than the absolute value of said row component of said second gradient; and selecting either said horizontal interpolation, said vertical interpolation or a combination of said vertical interpolation and said horizontal interpolation for said selected interpolation orientation based on said steps of setting.
Claim 5
Dependent Claim 84 words
The method of claim 3 , wherein said step of selecting further comprises: providing neighborhood vote data, said neighborhood vote data including a majority vote from at least one adjacent pixel, said majority vote being horizontal interpolation when the majority of said interpolation votes from said adjacent pixel are horizontal interpolation and vertical interpolation when the majority of said interpolation votes from said adjacent pixel are vertical interpolation; and adding said neighborhood vote data to said interpolation votes to determine said selected interpolation orientation.
Claim 6
Dependent Claim 79 words
The method of claim 4 , wherein said step of selecting further comprises: setting at least a first threshold and a second threshold associated with the number of said interpolation votes for either said horizontal interpolation or said vertical interpolation; and selecting said combination of said vertical and horizontal interpolations as said selected interpolation orientation when the number of said interpolation votes for either said horizontal interpolation or said vertical interpolation falls in between said first and second thresholds.
Claim 7
Independent Claim 113 words
A method for demosaicing a digital image represented as values at pixel locations, said method comprising: receiving a set of first color values and a set of second color values; determining for a given one of said first color values associated with a given one of said pixel locations a first degree of change using said set of first color values and a second degree of change using said set of second color values, said first and second degrees of change each having a row component and a column component; comparing said row component to said column component for both said first and second degrees of change to determine a selected interpolation orientation.
Claim 8
Independent Claim 113 words
A method for demosaicing a digital image represented as values at pixel locations, said method comprising: receiving a set of first color values and a set of second color values; determining for a given one of said first color values associated with a given one of said pixel locations a first degree of change using said set of first color values and a second degree of change using said set of second color values, said first and second degrees of change each having a row component and a column component; comparing said row component to said column component for both said first and second degrees of change to determine a selected interpolation orientation.
Claim 9
Dependent Claim 25 words
The method of claim 6 , further comprising: interpolating a missing second color value associated with said given pixel location using said selected interpolation orientation.
Claim 10
Dependent Claim 36 words
The method of claim 7 , wherein said step of interpolating further comprises: interpolating said missing second color value by applying a linear prediction function that uses said first color values and said second color values.
Claim 11
Dependent Claim 45 words
The method of claim 8 , wherein said step of interpolating further comprises: determining a number of said first and second color values that are below a low-light threshold value; and turning off said linear prediction function when said number exceeds an additional threshold value.
Claim 12
Dependent Claim 60 words
The method of claim 7 , further comprising: determining a difference value by subtracting said interpolated missing second color value from said given first color value; and interpolating a missing first color value using at least said difference value, said missing first color value being associated with one of said pixel locations that did not produce said first color value.
Claim 13
Dependent Claim 92 words
The method of claim 6 , wherein said first and second degrees of change are first and second gradients, respectively, said first and second gradients forming a Jacobian of said given first color value, and wherein said step of comparing further comprises: supplying, by each of said first and second gradients, a respective interpolation vote, said interpolation vote being either a first interpolation orientation or a second interpolation orientation, said selected interpolation orientation being based on the number of said interpolation votes for said first interpolation orientation and said second interpolation orientation.
Claim 14
Dependent Claim 145 words
The method of claim 11 , wherein said first interpolation orientation is a horizontal interpolation and said second interpolation orientation is a vertical interpolation, and wherein said step of supplying further comprises: setting said interpolation vote as said horizontal interpolation, by a respective one of said first and second gradients, when the absolute value of said row component of said respective gradient is lower than the absolute value of said column component of said respective gradient; setting said interpolation vote as said vertical interpolation, by said respective gradient, when the absolute value of said column component of said respective gradient is lower than the absolute value of said row component of said respective gradient; and selecting either said horizontal interpolation, said vertical interpolation or a combination of said vertical interpolation and said horizontal interpolation for said selected interpolation orientation based on said steps of setting.
Claim 15
Dependent Claim 101 words
The method of claim 12 , wherein said step of selecting further comprises: providing neighborhood vote data, said neighborhood vote data including a majority vote from at least one adjacent one of said pixel locations to said given pixel location, said majority vote being horizontal interpolation when the majority of said interpolation votes from said adjacent one of said pixel locations are horizontal interpolation and vertical interpolation when the majority of said interpolation votes from said adjacent one of said pixel locations are vertical interpolation; and adding said neighborhood vote data to said interpolation votes to determine said selected interpolation orientation.
Claim 16
Dependent Claim 79 words
The method of claim 13 , wherein said step of selecting further comprises: setting at least a first threshold and a second threshold associated with the number of said interpolation votes for either said horizontal interpolation or said vertical interpolation; and selecting said combination of said vertical and horizontal interpolations as said selected interpolation orientation when the number of said interpolation votes for either said horizontal interpolation or said vertical interpolation falls in between said first and second thresholds.
Claim 17
Dependent Claim 24 words
The method of claim 6 , wherein said first color values are chrominance color values and said second color values are luminance color values.
Claim 18
Dependent Claim 82 words
The method of claim 15 , further comprising: determining a first mean luminance value of a first group of said luminance color values and a second mean luminance value of a second group of said luminance color values; determining a difference percentage between said first mean luminance value and said second mean luminance value; and increasing said luminance color values of said first group by said difference percentage when said first mean luminance value is lower than said second mean luminance value.
Claim 19
Dependent Claim 83 words
The method of claim 15 , further comprising: determining a Jacobian of a given one of said luminance color values from said set of luminance color values; determining a first sum of the absolute values of the values within said Jacobian; and if said first sum is less than a predefined threshold: multiplying said given luminance color value by four, adding said luminance color values of four diagonally adjacent pixel locations to obtain a second sum, and dividing said second sum by eight.
Claim 20
Dependent Claim 72 words
The method of claim 6 , further comprising: determining a Jacobian of said given first color value; determining a first sum of the absolute values of the values within said Jacobian; and if said first sum is less than a predefined threshold: multiplying said given first color value by eight, adding said first color values of eight nearest pixel locations to obtain a second sum, and dividing said second sum by sixteen.
Claim 21
Dependent Claim 125 words
A digital image system for demosaicing a digital image represented as values at pixel locations, said system comprising: a processor adapted to receive a set of first color values and a set of second color values, said processor being further adapted to determine for a given one of said first color values associated with a given one of said pixel locations a first degree of change using said first set of colors and a second degree of change using said set of second color values, said first and second degrees of change each having a row component and a column component, said row component being compared to said column component for both said first and second degrees of change to determine a selected interpolation orientation.
Claim 22
Dependent Claim 125 words
A digital image system for demosaicing a digital image represented as values at pixel locations, said system comprising: a processor adapted to receive a set of first color values and a set of second color values, said processor being further adapted to determine for a given one of said first color values associated with a given one of said pixel locations a first degree of change using said first set of colors and a second degree of change using said set of second color values, said first and second degrees of change each having a row component and a column component, said row component being compared to said column component for both said first and second degrees of change to determine a selected interpolation orientation.
Claim 23
Dependent Claim 30 words
The system of claim 19 , wherein said processor is further adapted to interpolate a missing second color value associated with said given pixel location using said selected interpolation orientation.
Claim 24
Dependent Claim 36 words
The system of claim 20 , wherein said processor is further adapted to interpolate said missing second color value by applying a linear prediction function that uses said first color values and said second color values.
Claim 25
Dependent Claim 50 words
The system of claim 21 , wherein said processor is further adapted to determine a number of said first and second color values that are below a low-light threshold value, said processor being further adapted to turn off said linear prediction function when said number exceeds an additional threshold value.
Claim 26
Dependent Claim 53 words
The system of claim 20 , wherein said processor is further adapted to receive a set of third color values, said sets of first, second and third color values each being associated with a different color, said processor being capable of determining a third degree of change associated with said third color values.
Claim 27
Dependent Claim 51 words
The system of claim 23 , wherein said processor is further adapted to determine a difference value by subtracting said interpolated missing second color value from said given first color value and interpolate a missing first color associated with said second or third color values using at least said difference value.
Claim 28
Dependent Claim 87 words
The system of claim 23 , wherein said first, second and third degrees of change are first, second and third gradients, respectively, said first, second and third gradients forming a Jacobian of said given first color value, each of said first, second and third gradients supplying a respective interpolation vote, said interpolation vote being either a first interpolation orientation or a second interpolation orientation, said selected interpolation orientation being based on the number of said interpolation votes for said first interpolation orientation and said second interpolation orientation.
Claim 29
Dependent Claim 181 words
The system of claim 25 , wherein said first interpolation orientation is a horizontal interpolation using at least one or more of said second color values from said pixel locations within the same row of said pixel locations as said given pixel location and said second interpolation orientation is a vertical interpolation using at least one or more of said second color values from said pixel locations within the same column of said pixel locations as said given pixel location, said interpolation vote of a respective one of said first, second and third gradients being said horizontal interpolation when the absolute value of said row component of said respective gradient is lower than the absolute value of said column component of said respective gradient and vertical interpolation when the absolute value of said column component of said respective gradient is lower than the absolute value of said row component of said respective gradient, said selected interpolation orientation being selected from the group consisting of: said horizontal interpolation, said vertical interpolation or a combination of said vertical interpolation and said horizontal interpolation.
Claim 30
Dependent Claim 100 words
The system of claim 26 , further comprising: a memory capable of storing neighborhood vote data, said neighborhood vote data including a majority vote from at least one adjacent one of said pixel locations to said given pixel location, said majority vote being horizontal interpolation when the majority of said interpolation votes from said adjacent one of said pixel locations are horizontal interpolation and vertical interpolation when the majority of said interpolation votes from said adjacent one of said pixel locations are vertical interpolation, said neighborhood vote data being added to said interpolation votes to determine said selected interpolation orientation.
Claim 31
Dependent Claim 71 words
The system of claim 27 , further comprising: at least a first threshold and a second threshold associated with the number of said interpolation votes for either said horizontal interpolation or said vertical interpolation, said selected interpolation orientation being said combination of said vertical and horizontal interpolations when the number of said interpolation votes for either said horizontal interpolation or said vertical interpolation falls in between said first and second thresholds.
Claim 32
Dependent Claim 24 words
The system of claim 19 , wherein said first color values are chrominance color values and said second color values are luminance color values.
Claim 33
Dependent Claim 93 words
The system of claim 29 , wherein said processor is further adapted to determine a first mean Luminance value of a first group of said luminance color values and a second mean luminance value of a second group of said luminance color values, said processor further being adapted to determine a difference percentage between said first mean luminance value and said second mean luminance value and increase said luminance color values of said first group by said difference percentage when said first mean luminance value is lower than said second mean luminance value.
Claim 34
Dependent Claim 94 words
The system of claim 29 , wherein said processor is further adapted to determine a Jacobian of a given one of said luminance color values from said set of luminance color values and determine a first sum of the absolute values of the values within said Jacobian, said processor being further adapted to multiply said given luminance color value by four, add said luminance color values of four diagonally adjacent pixel locations to obtain a second sum and divide said second sum by eight when said first sum is less than a predefined threshold.
Claim 35
Dependent Claim 50 words
The system of claim 19 , wherein said processor is further adapted to determine a Laplacian of a select color value within either said set of first color values or said set of second color values and add said Laplacian multiplied by an adjustable parameter to said select color value.
Claim 36
Dependent Claim 83 words
The system of claim 19 , wherein said processor is further adapted to determine a Jacobian of said given first color value and determine a first sum of the absolute values of the values within said Jacobian, said processor being further adapted to multiply said given first color value by eight, add said first color values of eight nearest pixel locations to obtain a second sum and divide said second sum by sixteen when said first sum is less than a predefined threshold.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2009-08-07 2010-02-06 2010-08-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2013-08-07 2014-02-06 2014-08-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2017-08-07 2018-02-06 2018-08-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag