Method and apparatus for RGB color conversion that can be used in conjunction with lossless and lossy image compression
AssigneeKWE International, Inc.
InventorSergey N. Bezryadin
Life of this patent
Estimating the term…
Abstract
Methods and apparatus are provided for performing reversible color conversion on digital image data using integer computer arithmetic. This color conversion provides an approximation of the luminance component to the luminance as perceived by the human visual system with any necessary precision (Kd) and without multiplication and division operations other than shifts. The color conversion can be used in conjunction with a lossless or lossy compression/decompression process. Other embodiments, including non-reversible and non-integer color conversion, are also provided.
Claims67
A color conversion method comprising:
- (a) receiving RGB data representing the red (R), green (G), and blue (B) components of one or more colors;
- (b) generating by circuitry, from the RGB data, data Rg=R−G;
- (c) generating by circuitry, from the RGB data, data Bg=B−G;
- (d) generating by circuitry, from the Rg and Bg data, data P=f(Rg,Bg) where f is a predefined function;
- (e) generating by circuitry, from the RGB data and the P data, data Y=G+P;
- wherein the Y, Rg, and Bg data represent said one or more colors.
A color conversion method comprising:
- (a) receiving YRgBg data representing the luminance value Y and the chrominance values Rg, Bg of one or more colors;
- (b) generating by circuitry, from the YRgBg data, data P=f(Rg,Bg), where f is a predefined function;
- (c) generating by circuitry, from the YRgBg data and the P data, data G=Y−P;
- (d) generating by circuitry, from the YRgBg data and the G data, data R=Rg+G;
- (e) generating by circuitry, from the YRgBg data and the G data, data B=Bg+G;
- wherein the R data, the G data, and the B data represent respectively the read, green, and blue components of the one or more colors.
An apparatus comprising circuitry for:
- (a) receiving RGB data representing the red (R), green (G), and blue (B) components of one or more colors;
- (b) generating, from the RGB data, data Rg=R−G;
- (c) generating, from the RGB data, data Bg=B−G;
- (d) generating, from the Rg and Bg data, data P=f(Rg,Bg) where f is a predefined function;
- (e) generating, from the RGB data and the P data, data Y=G+P;
- wherein the Y, Rg, and Bg data represent said one or more colors.
An apparatus comprising circuitry for:
- (a) receiving YRgBg data representing the luminance value Y and the chrominance values Rg, Bg of one or more colors;
- (b) generating, from the YRgBg data, data P=f(Rg,Bg), where f is a predefined function;
- (c) generating, from the YRgBg data and the P data, data G=Y−P;
- (d) generating, from the YRgBg data and the G data, data R=Rg+G;
- (e) generating, from the YRgBg data and the G data, data B=Bg+G;
- wherein the R data, the G data, and the B data represent respectively the read, green, and blue components of the one or more colors.
A color conversion method comprising:
- receiving RGB data representing red (R), green (G), and blue (B) components of one or more colors;
- generating by circuitry, from the RGB data, luminance data Y and chrominance data Rg and Bg, wherein:
- Y=α*R+(1−α−β)*G+β*B
- and one of the following conditions holds true:
- (a) α={fraction (2/8)} and β={fraction (1/8)};
- or
- (b) α={fraction (5/16)} and β={fraction (2/16)};
- or
- (c) α={fraction (19/64)} and β={fraction (7/64)};
- or
- (d) α={fraction (77/256)} and β={fraction (29/256)};
- or
- (e) α={fraction (306/1024)} and β={fraction (117/1024)}.
An apparatus comprising circuitry for:
- receiving RGB data representing red (R), green (G), and blue (B) components of one or more colors;
- generating, from the RGB data, luminance data Y and chrominance data Rg and Bg, wherein:
- Y=α*R+(1−α−β)*G+β*B
- and one of the following conditions holds true:
- (a) α=2/8and β=1/8;
- or
- (b) α=5/16and β=2/16;
- or
- (c) α=19/64and β=7/64;
- or
- (d) α=77/256and β=29/256;
- or
- (e) α=306/1024and β=17/1024.
A color conversion method comprising:
- receiving YRgBg data representing a luminance value Y and chrominance values Rg, Bg for one or more colors;
- generating by circuitry, from the YRgBg data, RGB data for the one or more colors, the RGB data comprising red (R), green (G), and blue (B) components of the one or more colors, wherein:
- R=Y+(1−α)*Rg−β*Bg;
- G=Y−α*Rg−β*Bg;
- B=Y−α*Rg+(1−β)*Bg;
- and one of the following conditions holds true:
- (a) α=2/8and β=1/8;
- or
- (b) α=5/16and β=2/16;
- or
- (c) α=19/64and β=7/64;
- or
- (d) α=77/256and β=29/256;
- or
- (e) α=306/1024and β=117/1024.
An apparatus comprising circuitry for:
- receiving YRgBg data representing a luminance value Y and chrominance values Rg, Bg for one or more colors;
- generating, from the YRgBg data, RGB data for the one or more colors, the RGB data comprising red (R), green (G), and blue (B) components of the one or more colors, wherein:
- R=Y+(1−α)*Rg−β*Bg;
- G=Y−α*Rg−β*Bg;
- B=Y−α*Rg+(1−β)*Bg;
- and one of the following conditions holds true:
- (a) α=2/8and β=1/8;
- or
- (b) α=5/16and β=2/16;
- or
- (c) α=19/64and β=7/64;
- or
- (d) α=77/256and β=29/256;
- or
- (e) α={fraction (306/1024)} and β={fraction (117/1024)}.
A color conversion method comprising:
- receiving RGB data representing red (R), green (G), and blue (B) components of one or more colors;
- generating by circuitry, from the RGB data, luminance data Y and chrominance data Rg and Bg, wherein:
- Y=α*R+(1−α−β)*G+β*B;
- wherein α and β are numbers which minimize a coefficient
- 7 Kd = ( α - 0.299 ) 2 + ( 1 - α - β - 0.587 ) 2 + ( β - 0.114 ) 2 0.299 2 + 0.587 2 + 0.114 2 × 100 %
- over all possible values of α and β such that α=m/2k and β=n/2k, wherein m, n, and k are integer numbers, wherein k is a fixed number greater than or equal to 3, and m and n vary so that:
- 0≦α≦1;
- 0≦β≦1;
- and
- 0≦α+β≦1.
An apparatus comprising circuitry for:
- receiving RGB data representing red (R), green (G), and blue (B) components of one or more colors;
- generating, from the RGB data, luminance data Y and chrominance data Rg and Bg, wherein:
- Y=α*R+(1−α−β)*G+β*B;
- wherein α and β are numbers which minimize a coefficient
- 8 Kd = ( α - 0.299 ) 2 + ( 1 - α - β - 0.587 ) 2 + ( β - 0.114 ) 2 0.299 2 + 0.587 2 + 0.114 2 × 100 %
- over all possible values of α and β such that α=m/2k and β=n/2k, wherein m, n, and k are integer numbers, wherein k is a fixed number greater than or equal to 3, and m and n vary so that:
- 0≦α≦1;
- 0≦β≦1;
- and
- 0≦α+β≦1.
A color conversion method comprising:
- receiving YRgBg data representing a luminance value and chrominance values Rg, Bg for one or more colors;
- generating by circuitry, from the YRgBg data, RGB data for the one or more colors, the RGB data comprising red (R), green (G), and blue (B) components of the one or more colors, wherein:
- R=Y+(1−α)*Rg−β*Bg;
- G=Y−α*Rg−β*Bg;
- B=Y−α*Rg+(1−β)*Bg;
- wherein α and β are numbers which minimize a coefficient
- 9 Kd = ( α - 0.299 ) 2 + ( 1 - α - β - 0.587 ) 2 + ( β - 0.114 ) 2 0.299 2 + 0.587 2 + 0.114 2 × 100 %
- over all possible values of α and β such that α=m/2k and β=n/2k, wherein m, n, and k are integer numbers, wherein k is a fixed number greater than or equal to 3, and m and n vary so that:
- 0≦α≦1;
- 0≦β≦1;
- and
- 0≦α+β≦1.
An apparatus comprising circuitry for:
- receiving YRgBg data representing a luminance value and chrominance values Rg, Bg for one or more colors;
- generating, from the YRgBg data, RGB data for the one or more colors, the RGB data comprising red (R), green (G), and blue (B) components of the one or more colors, wherein:
- R=Y+(1−α)*Rg−β*Bg;
- G=Y−α*Rg−β*Bg;
- B=Y−α*Rg+(1−β)*Bg;
- wherein α and β are numbers which minimize a coefficient
- 10 Kd = ( α - 0.299 ) 2 + ( 1 - α - β - 0.587 ) 2 + ( β - 0.114 ) 2 0.299 2 + 0.587 2 + 0.114 2 × 100 %
- over all possible values of α and β such that α=m/2k and β=n/2k, wherein m, n, and k are integer numbers, wherein k is a fixed number greater than or equal to 3, and m and n vary so that:
- 0≦α≦1;
- 0≦β≦1;
- and
- 0≦α+β≦1.
Dependencies are inferred from the claim text.