Method for correcting color of image, and image processing device for performing same

The image processing device improves color correction by adjusting G and B values based on differences and correction factors, addressing inaccuracies in color representation in images captured by CFAs, resulting in enhanced color accuracy.

WO2025263860A1PCT designated stage Publication Date: 2025-12-26NEXTCHIP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2025/007145
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-27
Filing Date
2025-05-27
Publication Date
2025-12-26

AI Technical Summary

Technical Problem

Existing image processing technologies face challenges in accurately correcting the color of images captured by cameras with color filter arrays (CFAs), particularly in adjusting green (G) and blue (B) values to enhance the representation of specific colors like red.

Method used

An image processing device adjusts G and B values based on differences between R and G values and R and B values, using correction factors and mixing ratios to refine color representation, incorporating color interpolation and correction steps.

Benefits of technology

The method enhances the accuracy of color representation by adjusting G and B values, ensuring that colors like red are expressed more vividly and accurately in processed images.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025007145_26122025_PF_FP_ABST
    Figure KR2025007145_26122025_PF_FP_ABST
Patent Text Reader

Abstract

A method by which an image processing device performs color correction is disclosed. According to one embodiment, the method by which an image processing device performs color correction comprises the operations of: acquiring a first red (R) value, a first green (G) value, and a first blue (B) value for a first pixel of a first image; determining a first difference between the first R value and the first G value; determining a second difference between the first R value and the first B value; determining a second G value by adjusting the first G value on the basis of the first difference; determining a second B value by adjusting the first B value on the basis of the second difference; and determining a target color value for the first pixel on the basis of the first R value, the second G value and the second B value.
Need to check novelty before this filing date? Find Prior Art

Description

Method for correcting the color of an image and an image processing device performing the method

[0001] The embodiments below relate to techniques for processing image signals, and more specifically, to techniques for correcting the color of an image.

[0002] The camera's image sensor includes a color filter array (CFA), and generates a raw image by detecting external light corresponding to a specific pixel by color in response to the CFA. The image signal processor (ISP) of the image processing device receives and processes the raw image generated by the camera's image sensor to generate an image. The image signal processing process of the ISP includes a step of determining the color corresponding to a specific pixel based on the raw image.

[0003] One embodiment may provide a method for color correction of an image by adjusting G and B values ​​of image pixels.

[0004] One embodiment may provide a method for color correcting an image corresponding to the type of CFA from which the raw image was generated.

[0005] However, technical challenges are not limited to the technical challenges described above, and other technical challenges may exist.

[0006] In one embodiment, a color correction method performed by an image processing device may include: obtaining a first R (red) value, a first G (green) value, and a first B (blue) value for a first pixel of a first image; determining a first difference between the first R value and the first G value; determining a second difference between the first R value and the first B value; determining a second G value by adjusting the first G value based on the first difference; determining a second B value by adjusting the first B value based on the second difference; and determining a target color value for the first pixel based on the first R value, the second G value, and the second B value.

[0007] The operation of determining the second G value by adjusting the first G value based on the first difference may include an operation of determining the first G value as the second G value when the first difference is not a value within a preset first range.

[0008] The operation of determining the second G value by adjusting the first G value based on the first difference may include the operation of determining a first correction G value based on the first G value and the operation of determining the second G value based on the first G value, the first correction G value, and the first difference.

[0009] The operation of determining the first correction G value based on the first G value may include an operation of determining the first G value as the first correction G value when the first G value is less than or equal to a first reference G value, and an operation of determining the first correction G value as the first value obtained by adding the first reference G value to the product of the difference between the first G value and the first reference G value and the first G value correction slope when the first G value exceeds the first reference G value.

[0010] The operation of determining the second G value based on the first G value, the first correction G value, and the first difference may include an operation of determining a first G value mixing ratio based on the first difference, and an operation of determining the second G value by mixing the first G value and the first correction G value based on the first G value mixing ratio.

[0011] The operation of determining the first G value mixing ratio based on the first difference may include an operation of determining the first G value mixing ratio as 1 when the first difference is not a value within a first preset range, and an operation of determining the first G value mixing ratio as a value between 0 and 1 that varies based on the first difference when the first difference is a value within the first preset range, and the operation of determining the second G value by mixing the first G value and the first correction G value based on the first G value mixing ratio may include an operation of determining the second G value by adding a value obtained by multiplying the first G value mixing ratio by the first G value and a value obtained by subtracting the first G value mixing ratio from 1 and multiplying the first correction G value.

[0012] The operation of determining the second B value by adjusting the first B value based on the second difference may include an operation of determining the first B value as the second B value when the second difference is not a value within a preset second range.

[0013] The operation of determining the second B value by adjusting the first B value based on the second difference may include the operation of determining the first correction B value based on the first B value and the operation of determining the second B value based on the first B value, the first correction B value, and the second difference.

[0014] The operation of determining the first correction B value based on the first B value may include an operation of determining the first B value as the first correction B value when the first B value is less than or equal to a first reference B value, and an operation of determining the first correction B value as the first value obtained by adding the first reference B value to the product of the difference between the first B value and the first reference B value and the first B value correction slope when the first B value exceeds the first reference B value.

[0015] The operation of determining the second B based on the first B value, the first correction B value, and the second difference may include an operation of determining a first B value mixing ratio based on the second difference, and an operation of determining the second B value by mixing the first B value and the first correction B value based on the first B mixing ratio.

[0016] The operation of determining the first B value mixing ratio based on the second difference may include an operation of determining the first B value mixing ratio as 1 when the second difference is not a value within a preset second range, and an operation of determining the first B value mixing ratio as a value between 0 and 1 that varies based on the second difference when the second difference is a value within the preset second range, and the operation of determining the second B value by mixing the first B value and the first correction B value based on the first B value mixing ratio may include an operation of determining the second B value by adding a value obtained by multiplying the first B value mixing ratio by the first B value and a value obtained by subtracting the first B value mixing ratio from 1 and multiplying the first correction B value.

[0017] The above color correction method may further include an operation of receiving a first raw image and an operation of generating the first image by performing color interpolation on the first raw image.

[0018] The above color correction method may further include an operation of determining a first color filter array (CFA) corresponding to the first raw image, and the operation of determining the second G value by adjusting the first G value based on the first difference may include an operation of determining the second G value by adjusting the first G value based on the first CFA and the first difference, and the operation of determining the second B value by adjusting the first B value based on the second difference may include an operation of determining the second B value by adjusting the first B value based on the first CFA and the second difference.

[0019] In one embodiment, an image processing device includes at least one processor; and a memory storing instructions, wherein when the instructions are individually or collectively executed by the at least one processor, the image processing device can perform at least: obtaining a first R value, a first G value, and a first B value for a first pixel of a first image, determining a first difference between the first R value and the first G value, determining a second difference between the first R value and the first B value, determining a second G value by adjusting the first G value based on the first difference, determining the second B value by adjusting the first B value based on the second difference, and determining a target color value for the first pixel based on the first R value, the second G value, and the second B value.

[0020] In one embodiment, a color correction method performed by an image processing device may include: obtaining a first R value, a first G value, and a first B value for a first pixel of a first image; determining a first difference between the first R value and the first G value; determining a second difference between the first R value and the first B value; determining a first corrected G value based on the first G value; determining a first corrected B value based on the first B value; determining a first G value mixing ratio based on the first difference; determining a first B value mixing ratio based on the second difference; determining a second G value by mixing the first G value and the first corrected G value based on the first G value mixing ratio; determining the second B value by mixing the first B value and the first corrected B value based on the first B value mixing ratio; and determining a target color value for the first pixel based on the first R value, the second G value, and the second B value.

[0021] According to one embodiment, an image processing device capable of correcting the color of an image by adjusting the G value and the B value of an image pixel based on the difference between the R value and the G value of the image pixel and the difference between the R value and the B value may be provided.

[0022] According to one embodiment, an image processing device capable of correcting the color of an image by adjusting the G value and B value of an image pixel corresponding to the type of CFA of an image sensor may be provided.

[0023] FIG. 1 is a block diagram of an image signal processing system according to one embodiment.

[0024] Figure 2 is a schematic diagram of an image processing device according to one embodiment.

[0025] Figure 3 illustrates the steps by which a raw image is processed, according to an example.

[0026] Figure 4 illustrates steps in which the color of an image is corrected, according to an example.

[0027] FIG. 5 is a flowchart of a method for correcting the color of an image according to one embodiment.

[0028] Figure 6 is a flowchart of a method for generating a first image to be corrected, according to an example.

[0029] FIG. 7 is a flowchart of a method for adjusting a second G value based on a first correction G value, according to an example.

[0030] Figure 8 illustrates a curve for determining a first correction G value and a first correction B value according to an example.

[0031] FIG. 9 is a flowchart of a method for adjusting a second G value based on a first G value mixing ratio, according to an example.

[0032] FIG. 10 illustrates a curve for determining a first G value mixing ratio and a first B value mixing ratio according to an example.

[0033] Figure 11 illustrates a curve for determining a second G value and a second B value according to an example.

[0034] Hereinafter, embodiments are described in detail with reference to the attached drawings. However, the embodiments may be modified in various ways, and the scope of the patent application is not limited or restricted by these embodiments. It should be understood that all modifications, equivalents, or alternatives to the embodiments are included within the scope of the patent application.

[0035] The terms used in the examples are for the purpose of description only and should not be construed as limiting. The singular expression includes the plural expression unless the context clearly indicates otherwise. In this specification, the terms "comprises" or "has" and the like are intended to specify the presence of a feature, number, step, operation, component, part, or combination thereof described in the specification, but should be understood to not preclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

[0036] Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the embodiments pertain. Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant technology, and shall not be interpreted in an idealized or overly formal sense unless explicitly defined herein.

[0037] In addition, when describing with reference to the attached drawings, identical components will be assigned the same reference numerals regardless of the drawing numbers, and redundant descriptions thereof will be omitted. When describing embodiments, if a detailed description of a related known technology is judged to unnecessarily obscure the gist of the embodiment, the detailed description will be omitted.

[0038] Additionally, terms such as first, second, A, B, (a), (b), etc. may be used to describe components of the embodiments. These terms are only intended to distinguish the components from other components, and the nature, order, or sequence of the components are not limited by the terms. When a component is described as being "connected," "coupled," or "connected" to another component, it should be understood that the component may be directly connected or connected to the other component, but another component may also be "connected," "coupled," or "connected" between each component.

[0039] Components included in one embodiment and components with common functions will be described using the same names in other embodiments. Unless otherwise stated, the descriptions given in one embodiment may also apply to other embodiments, and detailed descriptions will be omitted to the extent of overlap.

[0040]

[0041] FIG. 1 is a block diagram of an image signal processing system according to one embodiment.

[0042] According to one embodiment, an image signal processing system may include an image signal generating device (110) and an image processing device (120).

[0043] The image signal generation device (110) can generate a raw image through an image sensor capable of acquiring information about the external environment. For example, the image signal generation device (110) includes a camera and can generate a signal captured by the image sensor of the camera as a raw image.

[0044] The image sensor of the image signal generation device (110) can generate an analog signal for the light received from the outside by receiving light from the outside, separating the color of the received light through a color filter array (CFA), and detecting the intensity of light for the separated color through a plurality of photodiodes. For example, the pattern of the CFA included in the image signal generation device (110) can be a Bayer pattern, a red-green-blue-infrared (RGBIR) pattern, a red-clear-clear-blue (RCCB) pattern, a red-clear-clear-green (RCCG) pattern, or a red-yellow-yellow-cyan (RYYCy) pattern.

[0045] According to one embodiment, the image signal generation device (110) can transmit an analog signal for light received from the outside as a raw image to the image processing device (120). The raw image can be composed of analog signals of a plurality of lines (e.g., horizontal lines) corresponding to the photodiode array of the image sensor.

[0046] The image signal generation device (110) can transmit a raw image, which is an analog signal, to the image processing device (120) via a coaxial cable. When a coaxial cable is used for signal transmission, large-capacity data transmission utilizing a high bandwidth is possible, and signal interference can be minimized. However, the raw image transmission method of the image signal generation device (110) is not limited to transmission using a coaxial cable, and the raw image can be transmitted to the image processing device (120) in various ways.

[0047] According to one embodiment, the image signal generation device (110) may include a plurality of cameras. For example, the image sensors included in each of the plurality of cameras may include different CFA patterns. Since the same scene is captured by cameras having different CFA patterns, necessary visual information in a specific situation can be smoothly acquired. For example, in a dark situation, an image generated by a first CFA pattern based on IR (infrared) can be used to detect an object rather than an image generated by a first CFA pattern based on RGB.

[0048] According to one embodiment, the image signal processing system may include a plurality of image signal generating devices (110). For example, a first image signal generating device may be connected to an image processing device (120) via a first coaxial cable, and a second image signal generating device may be connected to the image processing device (120) via a second coaxial cable. Each of the plurality of image signal generating devices may generate a raw image and transmit the generated raw image to the image processing device (120).

[0049]

[0050] Figure 2 is a schematic diagram of an image processing device according to one embodiment.

[0051] According to one embodiment, an image processing device (e.g., the image processing device (120) of FIG. 1) includes a communication unit (210), a processor (220), and a memory (230).

[0052] The communication unit (210) is connected to a processor (220), a memory (230), and an image signal generation device (e.g., the image signal generation device (110) of FIG. 1) to transmit and receive data. The communication unit (210) may be connected to another external device to transmit and receive data. Hereinafter, the expression "transmitting and receiving "A" may refer to transmitting and receiving "information or data representing A."

[0053] The communication unit (210) may be implemented as a circuitry within the image processing device. For example, the communication unit (210) may include an internal bus and an external bus. As another example, the communication unit (210) may be an element that connects the image processing device (120) to an external device. The communication unit (210) may be an interface. The communication unit (210) may receive data from an external device and transmit the data to the processor (220) and the memory (230).

[0054] The processor (220) processes data received by the communication unit (210) and data stored in the memory (230). A "processor" may be a data processing device implemented as hardware having a circuit with a physical structure for executing desired operations. For example, the desired operations may include code or instructions included in a program. For example, a data processing device implemented as hardware may include a microprocessor, a central processing unit, a processor core, a multi-core processor, a multiprocessor, an ASIC (Application-Specific Integrated Circuit), and an FPGA (Field Programmable Gate Array).

[0055] The processor (220) executes computer-readable code (e.g., software) stored in a memory (e.g., memory (230)) and instructions generated by the processor (220). For example, a color correction method of the image processing device (120) can be performed through execution of the instructions.

[0056] The memory (230) stores data received by the communication unit (210) and data processed by the processor (220). For example, the memory (230) may store a program (or application, software). The stored program may be a set of syntaxes that are coded to provide an image processing method or a color correction method and can be executed by the processor (220).

[0057] According to one aspect, the memory (230) may include one or more volatile memory, non-volatile memory, and random access memory (RAM), flash memory, a hard disk drive, and an optical disk drive.

[0058] The memory (230) stores a set of instructions (e.g., software) for operating the image processing device. The set of instructions for operating the image processing device is executed by the processor (220).

[0059]

[0060] Figure 3 illustrates the steps by which a raw image is processed, according to an example.

[0061] An image processing device (e.g., an image processing device (120) of FIG. 1) can perform image signal processing steps including a color interpolation step (310) and a color correction step (320). For example, the image processing device can output an image having a color space of RGB or YUV by processing an input raw image through the image signal processing steps.

[0062] A raw image input to an image processing device may include information about the intensity of light received through a CFA of an image sensor. Since one pixel of the image sensor corresponds to one filter of the CFA, one pixel may include information about the intensity of light for one color. For example, a raw image generated by an image sensor including a CFA having a Bayer pattern including an RGGB filter array may include information about an R (red) value, a G (green) value, or a B (blue) value corresponding to a first pixel. For example, if the first pixel corresponds to an R filter of the CFA, the raw image may include information about the R value corresponding to the first pixel, but may not include information about the G value and the B value.

[0063] In the color interpolation step (310), the image processing device may determine RGB values ​​(i.e., R value, G value, and B value) of the first pixel to determine a color corresponding to the first pixel. Since the raw image may only include information about the color of the filter corresponding to the first pixel among the CFAs for the first pixel, information about the surrounding pixels of the first pixel may be used to determine the RGB value of the first pixel. For example, if the first pixel corresponds to the R filter of the CFA having the Bayer pattern, the image processing device may determine the G value of the first pixel based on information about the pixels located around the first pixel and corresponding to the G filter of the CFA, and may determine the B value of the first pixel based on information about the pixels located around the first pixel and corresponding to the B filter of the CFA. The image processing device may determine RGB values ​​for the first pixel by using various color interpolation algorithms, such as bilinear interpolation and bicubic interpolation, based on information about the pixels located around the first pixel.

[0064] Depending on the pattern of the CFA of the image sensor that generates the raw image, the RGB values ​​of the first pixel may be determined differently. For example, when an image sensor having a CFA of a Bayer pattern receives red light in an area including the first pixel to generate a raw image, and the raw image is processed through color interpolation, an RGB value corresponding to the color red (e.g., (255, 0, 0)) may be determined for the first pixel. For example, when an image sensor having a CFA of an RGBIR pattern, an RCCB pattern, an RCCG pattern, or an RYYCy pattern receives red light in an area including the first pixel to generate a raw image, and the raw image is processed through color interpolation, an RGB value corresponding to the color orange or yellow may be determined for the first pixel. For example, if an image sensor receives light from a light source (e.g., an LED) that emits high-luminance red light in an area including a first pixel, the high luminance of the light may also affect the G and B values ​​of the first pixel, causing the first pixel to have non-zero G and B values, resulting in an error in the representation of the red color.

[0065] In the color correction step (320), the image processing device can generate corrected RGB data based on the acquired RGB data (i.e., a set of RGB values ​​corresponding to each pixel). For example, the image processing device can adjust the RGB values ​​for the first pixel so that the red color can be accurately expressed in the image. For example, the image processing device can adjust the G value for the first pixel based on the difference between the R value and the G value (RG difference), and can adjust the B value for the first pixel based on the difference between the R value and the B value (RB difference). For example, when the first pixel has a non-zero G value and B value as the high luminance of light also affects the G value and the B value of the first pixel, the red color can be expressed more accurately by adjusting the G value and the B value of the first pixel to be smaller. The steps for correcting the color of the image are described in detail below with reference to FIG. 4.

[0066] Referring to FIG. 3, the image processing device is illustrated as first performing a color interpolation step (310) and then performing a color correction step (320) immediately after the color interpolation step (310), but the steps for processing a raw image by the image processing device and the order of each step are not limited to what is illustrated. The image processing device may additionally perform various steps for processing a raw image, and as long as the color correction step (320) is performed after the color interpolation step (310), the order among the color interpolation step (310), the color correction step (320), and the various steps for processing a raw image is not limited.

[0067]

[0068] Figure 4 illustrates steps in which the color of an image is corrected, according to an example.

[0069] In the color correction step (e.g., the color correction step (320) of FIG. 3), the image processing device (e.g., the image processing device (120) of FIG. 1) can generate corrected RGB data based on the acquired RGB data. For example, the image processing device can adjust the RGB values ​​of the first pixel so that the red color can be accurately expressed in the image. The color correction step can include a step of calculating an RG difference (410), a step of calculating an RB difference (420), a step of determining a corrected G value (430), a step of determining a corrected B value (440), a step of mixing G values ​​(450), and a step of mixing B values ​​(460). For example, the image processing device can perform a color interpolation step (e.g., the color interpolation step (310) of FIG. 3) and a color correction step.

[0070] An image processing device can obtain RGB data that is the target of color correction by processing a raw image through a color interpolation step. The RGB data may be a set of RGB values ​​for each pixel corresponding to the raw image.

[0071] In the step (410) of calculating the RG difference, the image processing device can obtain the R value and the G value of the first pixel based on the RGB data, and calculate the difference (RG difference) between the R value and the G value. For example, the image processing device can determine a value obtained by subtracting the G value from the R value as the RG difference when the R value is greater than the G value, and can determine 0 as the RG difference when the R value is less than the G value.

[0072] In the step (420) of calculating the RB difference, the image processing device can obtain the R value and the B value of the first pixel based on the RGB data, and calculate the difference (RB difference) between the R value and the B value. For example, the image processing device can determine a value obtained by subtracting the B value from the R value as the RB difference when the R value is greater than the B value, and can determine 0 as the RG difference when the R value is less than the B value.

[0073] In the step (430) of determining the correction G value, the image processing device can determine the correction G value for adjusting the G value. For example, the correction G value can be determined based on the G value.

[0074] In the step (440) of determining the correction B value, the image processing device can determine the correction B value for adjusting the B value. For example, the correction B value can be determined based on the B value.

[0075] In the step of mixing the G value (450), the image processing device can adjust the G value by mixing the G value and the corrected G value. For example, the mixing ratio of the G value and the corrected G value can be determined based on the RG difference.

[0076] In the step of mixing the B value (460), the image processing device can adjust the B value by mixing the B value and the corrected B value. For example, the mixing ratio of the B value and the corrected B value can be determined based on the RB difference.

[0077] The operations of the image processing device in the color correction step are described in detail below with reference to FIGS. 5 to 11.

[0078]

[0079] FIG. 5 is a flowchart of a method for correcting the color of an image according to one embodiment.

[0080] The following operations 510 to 560 may be performed by an image processing device (the image processing device (120) of FIGS. 1 to 3). The image processing device may include a communication unit (e.g., the communication unit (210) of FIG. 2), a processor (e.g., the processor (220) of FIG. 2), and a memory (e.g., the memory (230) of FIG. 2).

[0081] In operation 510, the image processing device can obtain a first R value, a first G value, and a first B value for a first pixel of a first image. For example, when the values ​​are expressed in 8 bits, the first R value, the first G value, and the first B value can each be represented as an integer between 0 and 255. For example, pure red can be represented as (255, 0, 0).

[0082] In operation 520, the image processing device may determine a first difference between the first R value and the first G value. For example, if the first R value is greater than the first G value, the first difference may be determined as a value obtained by subtracting the first G value from the first R value. For example, if the first R value is less than the first G value, the first difference may be determined as 0.

[0083] In operation 530, the image processing device may determine a second difference between the first R value and the first B value. For example, if the first R value is greater than the first B value, the second difference may be determined as a value obtained by subtracting the first B value from the first R value. For example, if the first R value is less than the first B value, the second difference may be determined as 0.

[0084] In operation 540, the image processing device can determine the second G value by adjusting the first G value based on the first difference. For example, the image processing device can determine the second G value by mixing the first G value and the first corrected G value based on the first difference. For example, the image processing device can determine the first corrected G value based on the first G value.

[0085] According to one embodiment, the image processing device can determine the first G value as the second G value if the first difference is not a value within the preset first range. If the first pixel is not a target of color correction, the image processing device can bypass the color correction operation by determining the first G value as the second G value.

[0086] In operation 550, the image processing device can determine the second B value by adjusting the first B value based on the second difference. For example, the image processing device can determine the second B value by mixing the first B value and the first corrected B value based on the first difference. For example, the image processing device can determine the first corrected B value based on the first B value.

[0087] According to one embodiment, the image processing device can determine the first B value as the second B value if the second difference is not a value within the preset second range. If the first pixel is not a target of color correction, the image processing device can bypass the color correction operation by determining the first B value as the second B value.

[0088] In operation 560, the image processing device can determine a target color value for the first pixel based on the first R value, the second G value, and the second B value. The image processing device can generate corrected RGB data by adjusting the G value and the B value for each of the pixels representing the color red. For example, as the G value and the B value are adjusted to be lower for each of the pixels having an R value higher than the G value or the B value, the color red can be expressed more vividly.

[0089]

[0090] FIG. 6 is a flowchart of a method for generating a first image to be corrected, according to an example.

[0091] According to one embodiment, operations 610 to 630 below may be performed by an image processing device (the image processing device (120) of FIGS. 1 to 3). The image processing device may include a communication unit (e.g., the communication unit (210) of FIG. 2), a processor (e.g., the processor (220) of FIG. 2), and a memory (e.g., the memory (230) of FIG. 2). For example, operations 610 to 630 may be performed before operation 510 described above with reference to FIG. 5 is performed.

[0092] In operation 610, the image processing device may receive a first raw image. For example, the first raw image may correspond to some of analog signals of a plurality of lines (e.g., horizontal lines) corresponding to an array of photodiodes of the image sensor.

[0093] In operation 620, the image processing device may determine a first CFA corresponding to the first raw image. For example, the first CFA may be a CFA of a Bayer pattern, an RGBIR pattern, an RCCB pattern, an RCCG pattern, or an RYYCy pattern.

[0094] In operation 630, the image processing device may generate a first image by performing color interpolation on the first raw image. The first image may include RGB data for pixels corresponding to the first raw image. The description of the color interpolation step (310) described above with reference to FIG. 3 may be similarly modified and applied to operation 630.

[0095] Depending on the type of CFA, RGB data of the first image corresponding to the same color may be determined differently. According to one embodiment, the image generation device may determine the second G value by adjusting the first G value based on the first CFA and the first difference, and may determine the second B value by adjusting the first B value based on the first CFA and the second difference. For example, the image processing device may store information on a lookup table for at least one of a curve for which the first corrected G value and the first corrected B value are determined, a curve for which the first G value mixing ratio and the first B value mixing ratio are determined, or a curve for which the second G value and the second B value are determined, corresponding to each of the CFA patterns. For example, the image generation device may obtain a CFA pattern of the first CFA, and determine the second G value and the second B value using the lookup table. When the raw images are generated by image sensors each including a different CFA pattern, the colors of the images corresponding to each of the raw images can be expressed consistently by correcting the color of the first image corresponding to the CFA pattern by which the first image was generated.

[0096]

[0097] FIG. 7 is a flowchart of a method for adjusting a second G value based on a first correction G value according to an example, and FIG. 8 illustrates a curve by which a first correction G value and a first correction B value are determined according to an example.

[0098] According to one embodiment, the operations 710 and 720 below may be performed by an image processing device (the image processing device (120) of FIGS. 1 to 3). The image processing device may include a communication unit (e.g., the communication unit (210) of FIG. 2), a processor (e.g., the processor (220) of FIG. 2), and a memory (e.g., the memory (230) of FIG. 2). For example, operation 540 described above with reference to FIG. 5 may include operations 710 and 720.

[0099] In operation 710, the image processing device can determine a first correction G value based on the first G value.

[0100] According to one embodiment, the image processing device may determine the first G value as the first correction G value when the first G value is less than or equal to the first reference G value (801), and may determine the first correction G value as the value obtained by adding the first reference G value (801) to the product of the difference between the first G value and the first reference G value (801) and the first G value correction slope when the first G value is greater than the first reference G value. For example, the first G value correction slope may have a value between 0 and 1. When the first G value is less than or equal to the first reference G value (801), a value equal to the first G value may be determined as the first correction G value, but when the first G value exceeds the first reference G value (801), a value lower than the first G value may be determined as the first correction G value.

[0101] In operation 720, the image processing device can determine a second G value based on the first G value, the first corrected G value, and the first difference. For example, the image processing device can determine the second G value by mixing the first G value and the first corrected G value based on a first G value mixing ratio corresponding to the first difference.

[0102] The operations 710 and 720 described above can be applied in a similar manner to the operation of determining the second B value (e.g., operation 550 described above in FIG. 5).

[0103] Referring to FIG. 8, the left graph represents a curve for determining a first correction G value corresponding to a first G value, and (b) represents a curve for determining a first correction B value corresponding to a first B value. When the first G value is less than or equal to a first reference G value (801), the first correction G value may be determined to be the same value as the first G value. When the first G value exceeds the first reference G value (801), the product of the difference between the first G value and the first reference G value (801) and the first G value correction slope may be added to the first reference G value (801) to determine the first correction G value. When the first B value is less than or equal to the first reference B value (802), the first correction B value may be determined to be the same value as the first B value. When the first B value exceeds the first reference B value (802), the product of the difference between the first B value and the first reference B value (802) and the first B value correction slope plus the first reference B value (802) may be determined as the first correction B value. The first correction G value or the first correction B value exceeding the first reference G value (801) or the first reference B value (802) may have a value smaller than the first G value or the first B value. The specific values ​​of the first reference G value (801), the first reference B value (802), the first G value correction slope, and the first B value correction slope are not limited and may be set in various ways. According to an embodiment, the curve for determining the first correction G value or the curve for determining the first correction B value may have slopes that change with a plurality of reference G values ​​or a plurality of reference B values.

[0104]

[0105] FIG. 9 is a flowchart of a method for adjusting a second G value based on a first G value mixing ratio according to an example, FIG. 10 illustrates a curve for determining a first G value mixing ratio and a first B value mixing ratio according to an example, and FIG. 11 illustrates a curve for determining a second G value and a second B value according to an example.

[0106] According to one embodiment, the operations 910 and 920 below may be performed by an image processing device (the image processing device (120) of FIGS. 1 to 3). The image processing device may include a communication unit (e.g., the communication unit (210) of FIG. 2), a processor (e.g., the processor (220) of FIG. 2), and a memory (e.g., the memory (230) of FIG. 2). For example, operation 720 described above with reference to FIG. 7 may include operations 910 and 920.

[0107] In operation 910, the image processing device can determine a first G value mixing ratio based on the first difference. The first G value mixing ratio can be a variable that determines a second G value between the first G value and the first corrected G value.

[0108] In operation 920, the image processing device can determine a second G value by mixing the first G value and the first correction G value based on the first G value mixing ratio. For example, the second G value can be determined by the following [Mathematical Formula 1].

[0109]

[0110] In [Equation 1], is a second G value, G is a first G value mixing ratio, G is a first G value, and G' is a first correction G value. For example, the first G value mixing ratio can be a value between 0 and 1. For example, when the first G value mixing ratio is 1, the second G value can be determined as the first G value. For example, when the first G value mixing ratio is 0, the second G value can be determined as the first correction G value. The second G value can be determined by mixing the first G value and the first correction G value based on the first G value mixing ratio.

[0111] According to one embodiment, the image processing device may determine the first G value mixing ratio as 1 when the first difference is not a value within the preset first range, and may determine the first G value mixing ratio as a value between 0 and 1 that varies based on the first difference when the first difference is a value within the preset first range. The image processing device may determine the second G value by adding a value obtained by multiplying the first G value mixing ratio by the first G value and a value obtained by subtracting the first G value mixing ratio from 1 and multiplying the first correction G value, as in the above [Mathematical Formula 1]. Only when the first difference is a value within the preset first range, the second G value may be adjusted by mixing the first G value and the first correction G value, and when the first difference is not a value within the first range, the second G value may not be adjusted.

[0112] The operations 910 and 920 described above can be applied in a similar manner to the operation of determining the second B value (e.g., operation 550 described above in FIG. 5).

[0113] Referring to FIG. 10, the left graph represents a curve for determining a first G value mixing ratio corresponding to a first difference, and the right graph represents a curve for determining a first B value mixing ratio corresponding to a second difference. When the first difference is a value equal to or less than the lower limit (1001) of the first range, the first G value mixing ratio may be 1. When the first difference is a value within the first range, the first G value mixing ratio may have a value between 0 and 1. When the first difference is a value greater than the upper limit (1002) of the first range, the first G value mixing ratio may be 1. When the second difference is a value equal to or less than the lower limit (1003) of the second range, the first B value mixing ratio may be 1. When the second difference is a value within the second range, the first B value mixing ratio may have a value between 0 and 1. When the second difference is a value greater than the upper limit (1004) of the second range, the first B value mixing ratio may be 1. Depending on the embodiment, the curve for determining the first G value mixing ratio or the curve for determining the second G value mixing ratio can be determined in various forms.

[0114] Referring to FIG. 11, the left graph may represent a curve for determining a second G value corresponding to a first G value, and the right graph may represent a curve for determining a second B value corresponding to a first B value. For example, the left graph of FIG. 11 may be a curve that appears as the first G value changes with respect to a fixed first R value when the first correction G value is determined corresponding to the curve shown in the left graph of FIG. 8 and the first G value mixing ratio is determined corresponding to the curve shown in the left graph of FIG. 10. For example, (b) of FIG. 11 may be a curve that appears as the first B value changes with respect to a fixed first R value when the first correction B value is determined corresponding to the curve shown in the right graph of FIG. 8 and the first B value mixing ratio is determined corresponding to the curve shown in the right graph of FIG. 10. The image processing device determines a first correction G value and a first correction B value, which serve as a reference for adjustment, based on the first G value and the first B value, respectively, in adjusting the first G value and the first B value (i.e., determining the second G value and the second B value), and determines a first G value mixing ratio and a first B value mixing ratio, which serve as a degree of adjustment, based on the first difference (i.e., RG difference) and the second difference (i.e., RB difference), respectively, thereby performing color correction stably and accurately. As the G value and the B value are adjusted to be lower for each of the pixels representing the red color, the red color can be expressed more clearly.

[0115]

[0116] The method according to the embodiment may be implemented in the form of program commands that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program commands, data files, data structures, etc., alone or in combination. The program commands recorded on the medium may be those specially designed and configured for the embodiment or may be those known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program commands, such as ROMs, RAMs, and flash memories. Examples of the program commands include not only machine language codes generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter, etc. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiment, and vice versa.

[0117] Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing device to perform a desired operation or may, independently or collectively, command the processing device. The software and / or data may be permanently or temporarily embodied in any type of machine, component, physical device, virtual equipment, computer storage medium or device, or transmitted signal wave, for interpretation by the processing device or for providing instructions or data to the processing device. The software may also be distributed over networked computer systems and stored or executed in a distributed manner. The software and data may be stored on one or more computer-readable recording media.

[0118] Although the embodiments described above have been described with limited drawings, those skilled in the art will appreciate that various technical modifications and variations can be applied based on the above. For example, appropriate results can still be achieved even if the described techniques are performed in a different order than described, and / or components of the described systems, structures, devices, circuits, etc. are combined or combined in a different manner than described, or are replaced or substituted with other components or equivalents.

[0119] Therefore, other implementations, other embodiments, and equivalents to the claims also fall within the scope of the claims described below.

Claims

1. A color correction method performed by an image processing device, An operation of obtaining a first R (red) value, a first G (green) value, and a first B (blue) value for a first pixel of a first image; An operation of determining a first difference between the first R value and the first G value; An operation of determining a second difference between the first R value and the first B value; An operation of determining a second G value by adjusting the first G value based on the first difference; An operation of determining a second B value by adjusting the first B value based on the second difference; and An operation of determining a target color value for the first pixel based on the first R value, the second G value, and the second B value. Including How to color correct.

2. In paragraph 1, The operation of determining the second G value by adjusting the first G value based on the first difference is: An operation of determining the first G value as the second G value if the first difference is not a value within a preset first range. including, How to color correct.

3. In paragraph 1, The operation of determining the second G value by adjusting the first G value based on the first difference is: An operation of determining a first correction G value based on the first G value; and An operation of determining the second G value based on the first G value, the first correction G value, and the first difference. including, How to color correct.

4. In paragraph 3, The operation of determining the first correction G value based on the first G value is: An operation of determining the first G value as the first correction G value when the first G value is less than or equal to the first reference G value; and When the first G value exceeds the first reference G value, an operation of determining a value obtained by adding the first reference G value to the product of the difference between the first G value and the first reference G value and the first G value correction slope as the first correction G value. including, How to color correct.

5. In paragraph 3, The operation of determining the second G value based on the first G value, the first correction G value, and the first difference is: An operation of determining a first G value mixing ratio based on the first difference; and An operation of determining the second G value by mixing the first G value and the first correction G value based on the first G value mixing ratio. including, How to color correct.

6. In paragraph 5, The operation of determining the first G value mixing ratio based on the first difference is as follows: If the first difference is not a value within a preset first range, an operation of determining the first G value mixing ratio as 1; and When the first difference is a value of the first range set in advance, an operation of determining the first G value mixing ratio as a value between 0 and 1 that changes based on the first difference. Including, An operation of determining the second G value by mixing the first G value and the first correction G value based on the first G value mixing ratio is as follows: An operation of determining the second G value by adding a product of the first G value mixing ratio and the first G value and a product of the first G value mixing ratio minus 1 and the first correction G value. including, How to color correct.

7. In paragraph 1, The operation of determining the second B value by adjusting the first B value based on the second difference is as follows: An operation of determining the first B value as the second B value if the second difference is not a value within the preset second range. including, How to color correct.

8. In paragraph 1, The operation of determining the second B value by adjusting the first B value based on the second difference is as follows: An operation of determining a first correction B value based on the first B value; and An operation of determining the second B value based on the first B value, the first correction B value, and the second difference. including, How to color correct.

9. In paragraph 8, The operation of determining the first correction B value based on the first B value is: An operation of determining the first B value as the first correction B value when the first B value is less than or equal to the first reference B value; and When the first B value exceeds the first reference B value, an operation of determining a value obtained by adding the first reference B value to the product of the difference between the first B value and the first reference B value and the first B value correction slope as the first correction B value. including, How to color correct.

10. In paragraph 8, The operation of determining the second B based on the first B value, the first correction B value, and the second difference is: An operation of determining a first B value mixing ratio based on the second difference; and An operation of determining the second B value by mixing the first B value and the first correction B value based on the first B value mixing ratio. including, How to color correct.

11. In paragraph 10, The operation of determining the first B value mixing ratio based on the second difference is as follows: If the second difference is not a value within the preset second range, an operation of determining the first B value mixing ratio as 1; and When the second difference is a value of the preset second range, an operation of determining the first B value mixing ratio as a value between 0 and 1 that changes based on the second difference. Including, An operation of determining the second B value by mixing the first B value and the first correction B value based on the first B value mixing ratio is as follows: An operation of determining the second B value by adding a value obtained by multiplying the first B value mixing ratio by the first B value and a value obtained by subtracting the first B value mixing ratio from 1 and multiplying the first correction B value. including, How to color correct.

12. In paragraph 1, The action of receiving a first raw image; and An operation of generating the first image by performing color interpolation on the first raw image. including more, How to color correct.

13. In paragraph 12, An operation of determining a first color filter array (CFA) corresponding to the first raw image. Including more, The operation of determining the second G value by adjusting the first G value based on the first difference is: An operation of determining the second G value by adjusting the first G value based on the first CFA and the first difference. Including, The operation of determining the second B value by adjusting the first B value based on the second difference is as follows: An operation of determining the second B value by adjusting the first B value based on the first CFA and the second difference. including, How to color correct.

14. A computer-readable recording medium containing a program for performing the method of paragraph 1.

15. In an image processing device, at least one processor; and Memory that stores instructions Including, When the above instructions are individually or collectively executed by the at least one processor, the image processing device causes at least: An operation of obtaining a first R value, a first G value, and a first B value for a first pixel of a first image; An operation of determining a first difference between the first R value and the first G value; An operation of determining a second difference between the first R value and the first B value; An operation of determining a second G value by adjusting the first G value based on the first difference; An operation of determining a second B value by adjusting the first B value based on the second difference; and An operation of determining a target color value for the first pixel based on the first R value, the second G value, and the second B value. to perform, Image processing device.

16. In a color correction method performed by an image processing device, An operation of obtaining a first R value, a first G value, and a first B value for a first pixel of a first image; An operation of determining a first difference between the first R value and the first G value; An operation of determining a second difference between the first R value and the first B value; An operation of determining a first correction G value based on the first G value; An operation of determining a first correction B value based on the first B value; An operation of determining a first G value mixing ratio based on the first difference; An operation of determining a first B value mixing ratio based on the second difference; An operation of determining a second G value by mixing the first G value and the first correction G value based on the first G value mixing ratio; An operation of determining a second B value by mixing the first B value and the first correction B value based on the first B value mixing ratio; and An operation of determining a target color value for the first pixel based on the first R value, the second G value, and the second B value. Including How to color correct.

Citation Information

Patent Citations

  • Image processing method and apparatus, and imaging device

    JP2016503624A

  • Automatic chemical supply system having transfer stage

    KR102768902B1

  • Image processing apparatus and image pickup apparatus using same

    US20110149103A1

  • Per pixel color correction filtering

    US20180007333A1

  • Image processing method, and electronic device

    US20230075262A1