Skin tone correction in image processing

Achromatization, blending, and color recovery techniques enhance skin tone accuracy in digital imaging by converting skin pixels to grayscale, blending, and adjusting hue and saturation, effectively addressing uneven illumination and color casts in mixed lighting scenarios.

WO2026011377A1PCT designated stage Publication Date: 2026-01-15QUALCOMM INC +3
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/104896
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-11
Publication Date
2026-01-15

AI Technical Summary

Technical Problem

Capturing accurate skin tones in digital imaging under mixed lighting conditions is challenging, as existing methods often result in unnatural skin tones due to uneven illumination and color casts, especially when light sources with different color temperatures are present.

Method used

Achromatization, blending, and color recovery techniques are applied to process images, where skin pixels are converted to grayscale, blended with the original image, and adjusted for hue and saturation using a reference set of typical human skin tones to achieve natural and balanced skin tones.

Benefits of technology

The method effectively corrects skin tones under mixed lighting conditions, resulting in more natural and aesthetically pleasing images by addressing variations caused by side illumination and maintaining color balance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024104896_15012026_PF_FP_ABST
    Figure CN2024104896_15012026_PF_FP_ABST
Patent Text Reader

Abstract

A device for image processing includes: one or more memories configured to store one or more images; and processing circuitry coupled to the one or more memories and configured to perform skin tone correction, wherein to perform skin tone correction, the processing circuitry is configured to: achromatize values for pixels of one or more regions of a first image to generate a second image, wherein the pixels of the one or more regions comprise skin tone pixels, and wherein the first image is obtained under mixed lighting conditions; blend the first image and the second image to generate a third image; and adjust hue and saturation values of the third image based on a reference set containing data on the hue and saturation values that represent typical human skin tones to generate a fourth image.
Need to check novelty before this filing date? Find Prior Art

Description

SKIN TONE CORRECTION IN IMAGE PROCESSINGTECHNICAL FIELD

[0001] The disclosure relates to image processing.BACKGROUND

[0002] In digital photography and imaging, capturing natural and accurate skin tones is important for creating realistic and pleasing images. Skin tone significantly impacts the overall aesthetics of a portrait or image featuring people. Accurate skin tone reproduction is a challenge in digital imaging, especially under mixed lighting conditions.SUMMARY

[0003] In general, this disclosure describes techniques for skin tone improvement under mixed lighting conditions. To perform skin tone improvement, processing circuitry (e.g., camera processor or other processor) may be configured to perform achromatization, blending, and color recovery. The term “achromatization, ” as used herein refers to the process of removing color information from an image, such converting the image to grayscale. In the context of skin tone correction, the processing circuitry may first receive the original image containing color information. The processing circuitry may analyze each pixel's Red (R) , Green (G) , and Blue (B) values. To achieve achromatization for skin pixels, the processing circuitry may set these R, G, and B values to be the same. Accordingly, achromatization essentially removes color variations and leaves behind a grayscale representation of the skin area.

[0004] In an aspect, the processing circuitry may perform blending to combine the original color image with the achromatized skin area to create a final image. In one example, the processing circuitry may determine which pixels represent skin in the original image. The achromatized version of only the skin pixels may be created as described above. The processing circuitry may preserve the original color information for the non-skin areas. The processing circuitry may apply a blending function to combine the original color image (for skin areas) with the achromatized skin area. The blending ratio may determine the influence of each version on the final image. A higher blend with the original image may maintain more color, while a higher blend with the achromatic image may create a more desaturated skin tone.

[0005] In an aspect, the processing circuitry may use color recovery step in conjunction with achromatization and blending. Hue refers to the color itself (e.g., red, green, blue) , and saturation indicates the intensity of the color. After achromatization, some skin tones may appear unnaturally pale or washed out. Color recovery may be applied to the achromatized skin area to adjust hue and saturation slightly. Color recovery may help achieve a more natural and balanced skin tone in the final image.

[0006] In one example, the disclosure describes a device for image processing, the device comprising: one or more memories configured to store one or more images; and processing circuitry coupled to the one or more memories and configured to perform skin tone correction, wherein to perform skin tone correction, the processing circuitry is configured to: achromatize values for pixels of one or more regions of a first image to generate a second image, wherein the pixels of the one or more regions comprise skin tone pixels, and wherein the first image is obtained under mixed lighting conditions; blend the first image and the second image to generate a third image; and adjust hue and saturation values of the third image based on a reference set containing data on the hue and saturation values that represent typical human skin tones to generate a fourth image.

[0007] In one example, the disclosure describes a method for image processing, the method comprising: achromatizing values for pixels of one or more regions of a first image to generate a second image, wherein the pixels of the one or more regions comprise skin tone pixels, and wherein the first image is obtained under mixed lighting conditions; blending the first image and the second image to generate a third image; and adjusting hue and saturation values of the third image based on a reference set containing data on the hue and saturation values that represent typical human skin tones to generate a fourth image.

[0008] In one example, the disclosure describes non-transitory computer-readable storage media having instructions encoded thereon, the instructions configured to cause processing circuitry to: achromatize values for pixels of one or more regions of a first image to generate a second image, wherein the pixels of the one or more regions comprise skin tone pixels, and wherein the first image is obtained under mixed lighting conditions; blend the first image and the second image to generate a third image; and adjust hue and saturation values of the third image based on a reference set containing data on the hue and saturation values that represent typical human skin tones to generate a fourth image.

[0009] The details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description, drawings, and claims.BRIEF DESCRIPTION OF DRAWINGS

[0010] FIG. 1 is a block diagram of a device configured to perform one or more of the example techniques described in this disclosure.

[0011] FIG. 2 is a flow diagram illustrating an example of applying skin tone correction to an input image, in accordance with the techniques of this disclosure.

[0012] FIG. 3 is a diagram illustrating an example of applying achromatism to input images, in accordance with the techniques of this disclosure.

[0013] FIG. 4 is a diagram illustrating an example of applying blending to blend the original input image and achromatic image, in accordance with the techniques of this disclosure.

[0014] FIG. 5A is a conceptual diagram illustrating mapping of the blended image by conversion of polar coordinates to Cartesian coordinates, in accordance with the techniques of this disclosure.

[0015] FIG. 5B is a conceptual diagram illustrating an example of applying color recovery by mapping the blending image to calibrated standard skin set, in accordance with the techniques of this disclosure.

[0016] FIG. 6 is a flowchart illustrating an example method of operation.DETAILED DESCRIPTION

[0017] In digital photography and imaging, capturing realistic skin tones is important. Accurate skin tones may significantly impact the overall aesthetics of a portrait or any image featuring people. For instance, a photo where everyone looks washed out or has an unnatural color cast may not be very flattering.

[0018] In the tone mapping process, there can be issues in mixed lighting situations. For example, this can happen when a scene is illuminated by multiple light sources with different color temperatures. A photo may be taken indoors with both sunlight streaming through a window and artificial lights on.

[0019] Each light source casts a specific color tint, affecting the captured skin tones. So called “standard skin tone” may occupy a concentrated area within color spaces. Furthermore, color spaces are like different languages for describing colors. Common  examples of color spaces include, but are not limited to, RGB (Red, Green, Blue) and HSV (Hue, Saturation, Value) .

[0020] In accordance with one or more examples described in this disclosure, despite variations in skin tones due to ethnicity, individual differences, etc., there may be a “sweet spot” in color space where most “standard skin tones” tend to cluster together. With the example techniques, by understanding this concentrated area of skin tones in color space, the processing circuitry may be configured to identify skin pixels in an image, analyze color values of the skin pixels and nudge the skin pixels closer to the “standard skin tone” region within the color space.

[0021] As described in more detail, skin tone correction may help achieve more natural and accurate skin tone reproduction, even under mixed lighting conditions. Current image processing approaches for skin tone correction often aim for a consistent color throughout the entire facial area. Such approach may fall short when dealing with mixed lighting, especially when the light source comes from the side. In this manner, side illumination may cast light on one side of the face more than the other.

[0022] Uneven illumination may create natural variations in skin tone –brighter on the illuminated side and darker / shadowed on the other side. If a skin tone correction method simply corrects for an overall “average” tone, such method may overly lighten the shadowed side, making the shadowed side appear unnatural. Uniform correction method may leave the brightly lit side looking too pale or washed out to achieve uniformity. As described in more detail, effective skin tone correction under mixed lighting with side illumination may require a more nuanced technique.

[0023] As an example, the disclosed technique may analyze the range of skin tones within the image and adjust corrections to reflect the natural variations caused by side illumination. That is, a skin tone correction unit may use a combination of achromatization, blending, and color recovery to adjust skin tones in an image.

[0024] For example, processing circuitry may perform achromatization step to remove color information from the skin area, (e.g., converting the skin area to grayscale) . The processing circuitry may identify skin pixels in the image. For the skin pixels, the processing circuitry may set all of the Red (R) , Green (G) , and Blue (B) values to the same value. Achromatization may eliminate color variations and leave behind a brightness representation of the skin.

[0025] The processing circuitry may perform blending to combine the original input image with the achromatized skin area to create the final output image.

[0026] The original color information from non-skin areas may be preserved. As described above, to generate a tone corrected image, the processing circuitry may control how much of the original color and the achromatized version are blended together. In some cases, a higher blend with the original image may maintain more color, while a higher blend with the achromatic image may create a more desaturated skin tone.

[0027] The processing circuitry may use color recovery to refine the results after achromatization and blending. In some examples, achromatization may make skin tones appear unnaturally pale or washed out.

[0028] In some examples, the color recovery may adjust the hue (color itself) and saturation (color intensity) of the achromatized skin area slightly. In this manner, the color recovery may help achieve a more natural and balanced skin tone in the final image.

[0029] FIG. 1 is a block diagram of a device configured to perform one or more of the example techniques described in this disclosure. Examples of computing device 100 include a computer (e.g., personal computer, a desktop computer, or a laptop computer) , a mobile device such as a tablet computer, a wireless communication device (such as, e.g., a mobile telephone, a cellular telephone, a satellite telephone, and / or a mobile telephone handset) , a landline telephone for teleconferencing, an Internet telephone, a handheld device such as a portable video game device or a personal digital assistant (PDA) . Additional examples of computing device 100 include a personal music player, a video player, a display device, a camera, a television, a set-top box, a broadcast receiver device, a server, an intermediate network device, a mainframe computer or any other type of device that processes and / or displays graphical data.

[0030] As illustrated in the example of FIG. 1, computing device 100 includes image sensor 102, a camera processor 104, a central processing unit (CPU) 106, a graphical processing unit (GPU) 108, user interface 112, memory controller 114 that provides access to system memory 120, and display processor 116 that outputs signals that cause graphical data to be displayed on display 118. In FIG. 1, camera processor 104 is coupled to buffer 110. In one or more examples, buffer 110 may be dedicated buffer memory for camera processor 104. That is, buffer 110 may not be available to other components for storage. In some examples, buffer 110 may not be needed, and may be part of system memory 120.

[0031] In some examples, buffer 110 may be part of camera processor 104, and may be dedicated memory of camera processor 104. In some examples, buffer 110, when located within camera processor 104, may be dedicated for storing one or more images.

[0032] Although FIG. 1 illustrates image sensor 102 as part of the same device that includes camera processor 104, CPU 106, and GPU 108, the techniques described in this disclosure are not so limited. In some examples, camera processor 104, CPU 106, and GPU 108 and many of the various other components illustrated in FIG. 1 may be on a different device (e.g., a processing device) than image sensor 102.

[0033] Also, although the various components are illustrated as separate components, in some examples the components may be combined to form a system on chip (SoC) . As an example, camera processor 104, CPU 106, GPU 108, and display processor 116 may be formed on a common integrated circuit (IC) chip. In some examples, one or more of camera processor 104, CPU 106, GPU 108, and display processor 116 may be in separate IC chips. Various other permutations and combinations are possible, and the techniques should not be considered limited to the example illustrated in FIG. 1. The various components illustrated in FIG. 1 (whether formed on one device or different devices) may be formed as at least one of fixed-function or programmable circuitry such as in one or more microprocessors, application specific integrated circuits (ASICs) , field programmable gate arrays (FPGAs) , digital signal processors (DSPs) , or other equivalent integrated or discrete logic circuitry.

[0034] The various units illustrated in FIG. 1 communicate with each other using bus 122. Bus 122 may be any of a variety of bus structures, such as a third generation bus (e.g., a HyperTransport bus or an InfiniBand bus) , a second generation bus (e.g., an Advanced Graphics Port bus, a Peripheral Component Interconnect (PCI) Express bus, or an Advanced Extensible Interface (AEI) bus) or another type of bus or device interconnect. It should be noted that the specific configuration of buses and communication interfaces between the different components shown in FIG. 1 is merely exemplary, and other configurations of computing devices and / or other image processing systems with the same or different components may be used to implement the techniques of this disclosure.

[0035] Camera processor 104 may be external to computing device 100; however, it may be possible for camera processor 104 to be internal to computing device 100, as illustrated. For instance, in some examples, image sensor 102 and camera processor 104 may form a pluggable camera for a desktop or laptop computer, and CPU 106, GPU  108, and the various other components may be part of the desktop or laptop computer. For ease of description, the examples are described with respect to the configuration illustrated in FIG. 1.

[0036] Image sensor 102 includes a plurality of sensor elements (e.g., photodiodes) arranged in 2x2 grid. The sensor elements may be CMOS (Complementary Metal-Oxide-Semiconductor) sensor elements. Each sensor element generates an electrical signal based on a luminance of the light incident to the sensor element. With filtering, such as Bayer filtering, the electrical signals generated by each of the sensor element indicate the luminance of a particular color.

[0037] For instance, the output from image sensor 102 may comprise samples associated with different colors (e.g., red, green, blue samples) . Based on the particular filtering that is used, each of the colors may be sub-sampled relative to the number of sensor elements.

[0038] Camera processor 104 is configured to receive electrical signals as sensor signals from respective sensor elements of image sensor 102 and process the electrical signals to generate pixel data of an image. As one example, camera processor 104 may upsample the red color samples to generate red samples of a red color frame, upsample the green color samples to generate green color samples of a green color frame, and upsample the blue color samples to generate blue color samples of a blue color frame. The upsampling may be optional, but for purposes of illustration only the examples are described with respect to a plurality of color frames (e.g., red, green, and blue color frames) having the same resolution as an image. In examples where upsampling is not performed, there may be other techniques to address the difference in resolution between the image and the color frames.

[0039] The pixels of the image may be a combination of the samples from each of the color frames. For instance, the top-left pixel of the image may be a combination of the top-left samples of the red color frame, the green color frame, and blue color frame, the pixel immediately to the right of the top-left pixel of the image may be a combination of the samples immediately to the right of the top-left samples of the red color frame, the green color frame, and the blue color frame, and so forth. Accordingly, the pixels of the image are based on color values of samples in each color frame of a plurality of color frames of the image, where each color frame is associated with a different color.

[0040] In some examples, camera processor 104 may be configured as a single-input-multiple-data (SIMD) architecture. Camera processor 104 may perform the same  operations on electrical signals received from each of the sensor elements of image sensor 102. Each lane of the SIMD architecture may include an image pipeline. The image pipeline includes hardwire circuitry and / or programmable circuitry (e.g., at least one of fixed-function or programmable circuitry) to process the output of the sensors to generate pixel values for pixels.

[0041] In one or more examples, processing circuitry of image sensor 102 may include respective trans-impedance amplifiers (TIAs) to convert the electrical signals (e.g., current) to a voltage and respective analog-to-digital converters (ADCs) that convert the analog voltage output into a digital value. The electrical signal outputted by each sensor element indicates the luminance (e.g., light intensity) of a red, green, or blue component. These examples described with respect to processing circuitry of image sensor 102 may be part of camera processor 104, in some examples.

[0042] Camera processor 104 may also perform noise reduction and image sharpening, as additional examples. Camera processor 104 outputs the resulting images (e.g., pixel values for each of the image pixels) to system memory 120 via memory controller 114.

[0043] CPU 106 may comprise a general-purpose or a special-purpose processor that controls operation of computing device 100. A user may provide input to computing device 100 to cause CPU 106 to execute one or more software applications. The user may provide input to computing device 100 via one or more input devices (not shown) such as a keyboard, a mouse, a microphone, a touch pad or another input device that is coupled to computing device 100 via user interface 112.

[0044] One example of the software application is a camera application. CPU 106 executes the camera application, and in response, the camera application causes CPU 106 to generate content that display 118 outputs. For instance, display 118 may output information such as light intensity, whether flash is enabled, and other such information. The user of computing device 100 may interface with display 118 to configure the manner in which the images are generated (e.g., with or without flash, focus settings, exposure settings, and other parameters) . The camera application also causes CPU 106 to instruct camera processor 104 to process the images captured by image sensor 102 in the user-defined manner.

[0045] GPU 108 may generate graphical information that provides the user information about the image frames to be captured. For instance, GPU 108 may generate a graphic that indicates whether flash is enabled, generate boxes around identified faces, etc.

[0046] Memory controller 114 facilitates the transfer of data going into and out of system memory 120. For example, memory controller 114 may receive memory read and write commands, and service such commands with respect to memory 120 in order to provide memory services for the components in computing device 100. Memory controller 114 is communicatively coupled to system memory 120. Although memory controller 114 is illustrated in the example of computing device 100 of FIG. 1 as being a processing circuit that is separate from both CPU 106 and system memory 120, in other examples, some or all of the functionality of memory controller 114 may be implemented on one or both of CPU 106 and system memory 120.

[0047] System memory 120 may store program modules and / or instructions and / or data that are accessible by camera processor 104, CPU 106, and GPU 108. For example, system memory 120 may store user applications (e.g., instructions for the camera application) , resulting images from camera processor 104, etc. System memory 120 may additionally store information for use by and / or generated by other components of computing device 100. For example, system memory 120 may act as a device memory for camera processor 104. System memory 120 may include one or more volatile or non-volatile memories or storage devices, such as, for example, random access memory (RAM) , static RAM (SRAM) , dynamic RAM (DRAM) , read-only memory (ROM) , erasable programmable ROM (EPROM) , electrically erasable programmable ROM (EEPROM) , flash memory, a magnetic data media or an optical storage media.

[0048] In some aspects, system memory 120 may include instructions that cause camera processor 104, CPU 106, GPU 108, and display processor 116 to perform the functions ascribed to these components in this disclosure. Accordingly, system memory 120 may be a computer-readable storage medium having instructions stored thereon that, when executed, cause one or more processors (e.g., camera processor 104, CPU 106, GPU 108, and display processor 116) to perform various functions.

[0049] In some examples, system memory 120 is a non-transitory storage medium. The term “non-transitory” indicates that the storage medium is not embodied in a carrier wave or a propagated signal. However, the term “non-transitory” should not be interpreted to mean that system memory 120 is non-movable or that its contents are static. As one example, system memory 120 may be removed from computing device 100, and moved to another device. As another example, memory, substantially similar to system memory 120, may be inserted into computing device 100. In certain  examples, a non-transitory storage medium may store data that can, over time, change (e.g., in RAM) .

[0050] Camera processor 104, CPU 106, and GPU 108 may store image data, and the like in respective buffers that are allocated within system memory 120. Display processor 116 may retrieve the data from system memory 120 and configure display 118 to display the image represented by the generated image data. In some examples, display processor 116 may include a digital-to-analog converter (DAC) that is configured to convert the digital values retrieved from system memory 120 into an analog signal consumable by display 118. In other examples, display processor 116 may pass the digital values directly to display 118 for processing.

[0051] Display 118 may include a monitor, a television, a projection device, a liquid crystal display (LCD) , a plasma display panel, a light emitting diode (LED) array, or another type of display unit. Display 118 may be integrated within computing device 100. For instance, display 118 may be a screen of a mobile telephone handset or a tablet computer. Alternatively, display 118 may be a stand-alone device coupled to computing device 100 via a wired or wireless communications link. For instance, display 118 may be a computer monitor or flat panel display connected to a personal computer via a cable or wireless link.

[0052] In some examples, processing circuitry (e.g., of camera processor 104, display processor 116, some other processor, or any combination of circuitry) may be configured to perform skin tone correction. The disclosed technique may potentially address skin tone issues caused by mixed lighting or uneven illumination. By removing color variations and then blending back some color information, the processing circuitry may achieve a more natural-looking skin tone.

[0053] In one or more examples, the processing circuitry may be configured to perform the skin tone correction by removing color information from pixels identified as skin tones in the original image, creating a grayscale image focusing on brightness variations. The processing circuitry may be further configured to blend the original image (with color) and the grayscale image to create a new image with balanced color and even skin tones. In addition, the processing circuitry may be configured to compare the color data in the blended image to a reference set of typical human skin tones. Using this information, the processing circuitry may adjust the hue (color cast) and saturation (intensity of color) of the image to achieve a more natural-looking skin tone.

[0054] FIG. 2 is a flow diagram illustrating an example of applying skin tone correction to an input image, in accordance with the techniques of this disclosure. The example flow diagram may be performed by any combination of processing circuitry of FIG. 1. For instance, image sensor 102 may capture input image 202.

[0055] The various units shown in FIG. 2 may be units of processing circuitry of device 100. For ease, the units are illustrated as separate units, but the units may be combined together. Also, the units may be fixed-function circuitry or may be software executing on programmable circuitry of the processing circuitry.

[0056] Input image 202 may be the starting point –the original digital image containing one or more regions that need to be adjusted by the skin tone processing circuitry of FIG. 1. Achromatization unit 204 of the processing circuitry may focus on the skin area 206 within the input image 202. For instance, achromatization unit 204 may identify which pixels represent skin tone. For the identified skin pixels, achromatization unit 204 may remove color information.

[0057] Achromatization unit 204 may achieve achromatization by setting the Red (R) , Green (G) , and Blue (B) values of each skin pixel to the same value. For instance, FIG. 3 illustrates an example of achromatization unit 204 generating essentially a grayscale representation of the skin area, preserving brightness variations but removing color variations.

[0058] The output of achromatization unit 204 may be fed into blending unit 208 of the processing circuitry to combine the achromatized skin area with the original color image to generate the output image 212. The output of blending unit 208 may be an image, in which the original color information from non-skin areas (like hair, clothes, background) may remain untouched. The blending unit 208 may control the blending ratio, determining how much of the original color and the achromatized version are combined for the final skin tone.

[0059] A higher blend with the original image (input image 202) may mean more of the original color is preserved, resulting in a less desaturated skin tone. Conversely, a higher blend with the achromatized image may lead to a more desaturated and potentially paler look.

[0060] The output of the blending unit 208 may be fed into color recovery unit 210 of the processing circuitry to refine the skin tone after achromatization and blending. Sometimes, achromatization may make the skin appear too pale or washed out.

[0061] Color recovery unit 210 may address the aforementioned issues by making subtle adjustments to the hue (color itself) and saturation (color intensity) of the achromatized skin area. Color recovery adjustments may help achieve a more natural and balanced skin tone in the final output image 212. In one or more examples, the processing circuitry may output the corrected image with the adjusted skin tone.

[0062] The processing circuitry may generate the corrected image where the skin tone should appear more natural and even, especially under challenging lighting conditions where the original image might have had color casts or uneven illumination.

[0063] FIG. 3 is a diagram illustrating an example of applying achromatism to input images, in accordance with the techniques of this disclosure. The example diagram may be performed by any combination of processing circuitry of FIG. 1. For instance, achromatization unit 204 of the processing circuitry may receive input image 202 , and perform achromatization. Achromatization is the process of converting a colored image into grayscale. In simpler terms, achromatization unit 204 may remove all color information from the regions 302, 304 of the image 202 containing skin, leaving only variations in brightness. Achromatization may be achieved by setting the saturation of all pixels to zero, while preserving the luminance (brightness) information.

[0064] In an aspect, achromatization unit 204 may be specifically configured to remove color information from skin tone pixels in an image. Skin tones, despite variations in regions 302 and 304 of the input image 202, mostly reside in a specific range within the color space 306. As described in more detail below, by setting color to the same value for all pixels, achromatization unit 204 may effectively remove the color variations and retain only the luminance information, resulting in a grayscale representation of the skin in the achromatized image 308. In this way, the Luma value (Y) may represent the perceived brightness of a specific pixel.

[0065] In an aspect, achromatization unit 204 may calculate the Luma value using a weighted sum of the Red (R) , Green (G) , and Blue (B) components of the pixel. As one example, achromatization unit 204 may use the following formula (1) for calculating the Luma value according to the BT. 709 standard, which is widely used in digital television and video systems: Y=0.299*Roriginal+ 0.587*Goriginal+0.114 *Boriginal        (1)

[0066] In formula (1) , each color component (R, G, B) may be multiplied by a specific weight based on its contribution to perceived brightness. Green contributes the most,  followed by red and then blue. This specific weighting reflects the sensitivity of the human eye to different colors. For example, by calculating the Luma value (Y) for each pixel in the skin regions 302, 304, achromatization unit 204 may obtain a representation of the image based solely on perceived brightness variations.

[0067] Assigning the same Luma value (Y) to the Red (R) , Green (G) , and Blue (B) components of each skin tone pixel is one example technique to achieve achromatization, but other techniques are possible. Skin tone pixels may become various shades of gray depending on their original luminance.

[0068] In other words, achromatization unit 204 may set the Red (R) , Green (G) , and Blue (B) components of those pixels to the same Y value. Another example of formula (1) for calculating the luma value (Y) is shown below: Y=1 / 8*Roriginal+ 1 / 4*Goriginal+1 / 8 *Boriginal+1 / 2* Max (Roriginal, Goriginal, Boriginal)

[0069] Skin tone pixels may become various shades of gray determined by the calculated Y value. This technique directly sets all color components to the calculated Luma value (Y) , achieving the same grayscale representation based on luminance.

[0070] FIG. 4 is a diagram illustrating an example of applying blending to blend the original input image and achromatic image, in accordance with the techniques of this disclosure. The example diagram may be performed by any combination of processing circuitry of FIG. 1. For instance, blending unit 208 of the processing circuitry may receive input image 202 and achromatic image 308 and may perform blending.

[0071] As discussed above in conjunction with FIG. 3, achromatization unit 204 may generate the achromatic image 308 by setting the RGB components of skin tone pixels to their corresponding Luma values.

[0072] The blending factor value (e.g., factor_blending) may control the influence of the original and achromatic images in the blended image 402. In the example, the blending factor values may range from 0 to 1. In the example of FIG. 4, when the skin tone in the original input image 202 has a large range of colors (indicating more color variations) , blending unit 208 may use a smaller factor_blending value. In other words, the blended image 402 generated by blending unit 208 may rely more on the achromatic image 308 (less color influence from input image 202) . In the example of FIG. 4, when the skin tone in input image 202 has a small range of colors (indicating less color variations) , blending unit 208 may use a larger factor_blending value. Larger factor_blending value may incorporate more color information from the input image  202 into the blended image 402. For instance, blending unit 208 may use the formulas (2) - (4) to perform the actual blending for each Red (R) , Green (G) , and Blue (B) channel of the image: Rblending=(1-factorblending)*Rachromatic+factorblending*Roriginal  (2) Gblending=(1-factorblending)*Gachromatic+factorblending*Goriginal  (3) Bblending=(1-factorblending)*Bachromatic+factorblending*Boriginal  (4)

[0073] In formulas (2) - (4) , Rachromatic, Gachromatic, and Bachromatic may be the corresponding red, green, and blue components from the achromatic image 308 (set to the Luma value) . Roriginal, Goriginal, and Boriginal may be the corresponding red, green, and blue components from the input image 202.

[0074] By adjusting the factor_blending based on the skin color range analysis, blending unit 208 may achieve a more natural-looking result where skin tones with a wider range of colors may appear more achromatic (less influenced by original colors) , while skin tones with a limited color range may retain more of the original color information. In this case, such blending may help to create a more realistic and nuanced representation of skin tones in the final image (shown in FIG. 5B) .

[0075] In an aspect, blending unit 208 may perform skin color range analysis, which may involve identifying skin tone pixels and analyzing the range of color variations within those pixels. Examples of the skin color range analysis techniques may include, but are not limited to, color segmentation and statistical analysis of color channels. Based on the analyzed color range, blending unit 208 may use a formula or lookup table to determine the appropriate factor_blending value for each pixel or region of interest.

[0076] As explained previously, blending unit 208 may generate blended image 402 by combining the input 202 and achromatic 308 images based on the factorblending. The blended image 402 may contain the red (Rblending) , green (Gblending) , and blue (Bblending) components for each pixel.

[0077] In an aspect, blending unit 208 may use the gain factor value (factorgain) to control the overall brightness of the blended image 402.

[0078] For instance, values greater than 1 may brighten all color channels (red, green, and blue) proportionally. Accordingly, factorgain> 1 may increase the brightness of the image. Values less than 1 may darken all color channels proportionally. Accordingly,  factorgain < 1 may decrease the brightness of the image. In an aspect, factorgain = 1 may maintain the current brightness level of the blended image 402.

[0079] As one non-limiting example, blending unit may use the following formulas (5) – (7) to perform the brightness adjustment on each color channel: Rblending_gain=factorgain*Rblending  (5) Gblending_gain=factorgain*Gblending  (6) Bblending_gain=factorgain*Bblending  (7)

[0080] Also, in formulas (5) - (7) , Rblending, Gblending, and Bblending may be the red, green, and blue components from the blended image 402. By multiplying each component by the factorgain, blending unit 208 may essentially adjust their intensity, resulting in a brighter or darker image depending on the chosen gain value. Furthermore, the disclosed technique may allow for independent control of brightness adjustment after the color correction achieved through blending. Blending unit 208 may fine-tune the blended image 402 appearance without affecting the color correction specifically targeted at skin tones.

[0081] The appropriate factorgainvalue may depend on the desired level of brightness adjustment. Analysis of the overall image histogram or user input may guide the selection of this factor by blending unit 208.

[0082] FIG. 5A is a conceptual diagram illustrating mapping of the blended image by conversion of polar coordinates to Cartesian coordinates, in accordance with the techniques of this disclosure.

[0083] A calibrated standard skin set may be a reference set containing data on the hue and saturation values that represent typical human skin tones. The calibrated standard skin set data may be obtained from various sources or created through color calibration of diverse skin tone samples.

[0084] The example color recovery unit 210 may already have the blended image 402 obtained from the previous steps (as shown in FIG. 5B) . The blended image 402 may contain red (R) , green (G) , and blue (B) values for each pixel. Next, color recovery unit 210 may convert these values to hue (H) and saturation (S) using appropriate color conversion algorithms (e.g., RGB to HSV conversion) .

[0085] For instance, hue (H) 502 may be represented in a circular fashion (0 to 360 degrees) , while saturation (S) may range from 0 to 1. This constitutes a polar coordinate system 504. In the step illustrated in FIG. 5A, color recovery unit 210 may convert hue  502 and saturation 506 from polar coordinates 504 to Cartesian coordinates 508 for further processing. However, depending on the chosen color space and processing technique, this conversion may not be strictly necessary.

[0086] Next, color recovery unit 210 may perform mapping to standard skin set.

[0087] FIG. 5B is a conceptual diagram illustrating an example of applying color recovery by mapping the blending image to calibrated standard skin set, in accordance with the techniques of this disclosure. The example diagram may be performed by any combination of processing circuitry of FIG. 1. For instance, color recovery unit 210 of the processing circuitry may receive the blending image 402 and may perform color recovery for the blending image 402.

[0088] In an aspect, color recovery unit 210 may compare the hue 502 and saturation 506 values (HS) 512 of each pixel in the blended image 402 with the data points in the calibrated standard skin set (shown in FIG. 5B) . Based on the comparison, the processing circuit may potentially apply a “shifting” operation to adjust the HS values of the blended image 402 towards the standard skin set 510. Such shifting could involve hue adjustment and saturation boost.

[0089] If the hue 502 of the blended image 402 falls outside the typical skin tone range in the standard set 510, the color recovery unit 210 may shift the hue closer to the central hue range of the standard skin tones 510. In this example, if the saturation of the blended image 402 is lower than expected for skin tones, the color recovery unit 210 may increase the saturation slightly to bring the saturation in final output image 514 closer to the saturation range observed in the standard skin set 510.

[0090] FIG. 6 is a flowchart illustrating an example method of operation. For ease of illustration, the example techniques are described with respect to processing circuitry and one or more memories. Example of the processing circuitry includes one or combination of processors illustrated in FIG. 1. Example of the one or more memories includes buffer 110 and / or system memory 120. For instance, the one or more memories may be configured to store one or more images, such as input image 202, achromatic image 308, blended image 402, final output image 514, or other intermediate images.

[0091] The processing circuitry may be configured to perform skin tone correction for one or more regions of a first image. Each of the one or more regions may comprise a plurality of pixels.

[0092] The processing circuitry may achromatize values for pixels of one or more regions of a first image to generate a second image (602) . The pixels of the one or more regions may comprise skin tone pixels. The first image may be obtained under mixed lighting conditions. The processing circuitry may perform achromatization step to remove color information from the skin area, essentially converting it to grayscale. The processing circuitry may identify skin pixels in the image. For the skin pixels, the processing circuitry may set all of the Red (R) , Green (G) , and Blue (B) values to the same value. Achromatization may eliminate color variations and leave behind a brightness representation of the skin.

[0093] The processing circuitry may blend the first image and the second image to generate a third image (604) . As one example, the blending factor value (e.g., factor_blending) may control the influence of the original and achromatic images in the blended image. In one example, the blending factor values may range from 0 to 1. In the example of FIG. 4, when the skin tone in the original input image 202 has a large range of colors (indicating more color variations) , blending unit 208 may use a smaller factor_blending value. In other words, the blended image 402 generated by blending unit 208 may rely more on the achromatic image 308 (less color influence from input image 202) . Larger factor_blending value may incorporate more color information from the input image 202 into the blended image 402.

[0094] The processing circuitry may adjust hue and saturation values of the third image based on a reference set containing data on the hue and saturation values that represent typical human skin tone to generate a fourth image (606) . Color recovery adjustments may help achieve a more natural and balanced skin tone in the final output image 212 shown in FIG. 2.

[0095] The following describes one or more examples in accordance with the techniques described in this disclosure.

[0096] Clause 1. A device for image processing, the device comprising: one or more memories configured to store one or more images; and processing circuitry coupled to the one or more memories and configured to perform skin tone correction, wherein to perform skin tone correction, the processing circuitry is configured to: achromatize values for pixels of one or more regions of a first image to generate a second image, wherein the pixels of the one or more regions comprise skin tone pixels, and wherein the first image is obtained under mixed lighting conditions; blend the first image and the second image to generate a third image; and adjust hue and saturation  values of the third image based on a reference set containing data on the hue and saturation values that represent typical human skin tones to generate a fourth image.

[0097] Clause 2. The device of clause 1, wherein the processing circuitry configured to achromatize values is further configured to: eliminate one or more color variations in the one or more regions of the first image.

[0098] Clause 3. The device of clause 2, wherein the processing circuitry configured to achromatize values is further configured to: calculate Luma values for the pixels of the one or more regions of the first image.

[0099] Clause 4. The device of clause 3, wherein the processing circuitry configured to calculate the Luma values is further configured to: multiply each color component of the respective pixels by a specific weight based on contribution of the corresponding color to perceived brightness of the first image.

[0100] Clause 5. The device of clause 1, wherein the processing circuitry configured to blend the first image and the second image is further configured to: blend the first image and the second image using a blending factor value.

[0101] Clause 6. The device of clause 5, wherein the blending factor value is determined based on color variations in the one or more regions of the first image.

[0102] Clause 7. The device of clause 5, wherein the processing circuitry configured to blend the first image and the second image is further configured to: blend the first image and the second image using a gain factor value, wherein the gain factor value controls the overall brightness of the third image.

[0103] Clause 8. The device of clause 1, wherein the hue values for each pixel are represented using polar coordinates.

[0104] Clause 9. The device of clause 1, wherein the processing circuit configured to generate the fourth image is further configured to: convert polar coordinates into Cartesian coordinates for each hue value.

[0105] Clause 10. A method for image processing comprising: achromatizing values for pixels of one or more regions of a first image to generate a second image, wherein the pixels of the one or more regions comprise skin tone pixels, and wherein the first image is obtained under mixed lighting conditions; blending the first image and the second image to generate a third image; and adjusting hue and saturation values of the third image based on a reference set containing data on the hue and saturation values that represent typical human skin tones to generate a fourth image.

[0106] Clause 11. The method of clause 10, wherein achromatizing values further comprises: eliminating one or more color variations in the one or more regions of the first image.

[0107] Clause 12. The method of clause 11, wherein achromatizing values further comprises: calculating Luma values for the pixels of the one or more regions of the first image.

[0108] Clause 13. The method of clause 12, wherein calculating Luma values further comprises: multiplying each color component of the respective pixels by a specific weight based on contribution of the corresponding color to perceived brightness of the first image.

[0109] Clause 14. The method of clause 10, wherein blending the first image and the second image further comprises: blending the first image and the second image using a blending factor value.

[0110] Clause 15. The method of clause 14, wherein the blending factor value is determined based on color variations in the one or more regions of the first image.

[0111] Clause 16. The method of clause 14, wherein blending the first image and the second image further comprises: blending the first image and the second image using a gain factor value, wherein the gain factor value controls the overall brightness of the third image.

[0112] Clause 17. The method of clause 10, wherein the hue values for each pixel are represented using polar coordinates.

[0113] Clause 18. The method of clause 10, wherein generating the fourth image further comprises: converting polar coordinates into Cartesian coordinates for each hue value.

[0114] Clause 19. Non-transitory computer-readable storage media having instructions encoded thereon, the instructions configured to cause processing circuitry to:achromatize values for pixels of one or more regions of a first image to generate a second image, wherein the pixels of the one or more regions comprise skin tone pixels, and wherein the first image is obtained under mixed lighting conditions; blend the first image and the second image to generate a third image; and adjust hue and saturation values of the third image based on a reference set containing data on the hue and saturation values that represent typical human skin tones to generate a fourth image.

[0115] Clause 20. The non-transitory computer-readable storage media of clause 19, the instructions configured to cause processing circuitry to achromatize values are  further configured to cause the processing circuitry to: eliminate one or more color variations in the one or more regions of the first image.

[0116] In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over, as one or more instructions or code, a computer-readable medium and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media, which corresponds to a tangible medium such as data storage media. In this manner, computer-readable media generally may correspond to tangible computer-readable storage media which is non-transitory. Data storage media may be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code and / or data structures for implementation of the techniques described in this disclosure. A computer program product may include a computer-readable medium.

[0117] By way of example, and not limitation, such computer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. It should be understood that computer-readable storage media and data storage media do not include carrier waves, signals, or other transient media, but are instead directed to non-transient, tangible storage media. Disk and disc, as used herein, includes compact disc (CD) , laser disc, optical disc, digital versatile disc (DVD) , floppy disk and Blu-ray disc, where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.

[0118] Instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs) , general purpose microprocessors, application specific integrated circuits (ASICs) , field programmable logic arrays (FPGAs) , or other equivalent integrated or discrete logic circuitry. Accordingly, the term “processor, ” as used herein may refer to any of the foregoing structure or any other structure suitable for implementation of the techniques described herein. In addition, in some aspects, the functionality described herein may be provided within dedicated hardware and / or software modules configured for encoding and decoding, or incorporated in a combined  codec. Also, the techniques could be fully implemented in one or more circuits or logic elements.

[0119] The techniques of this disclosure may be implemented in a wide variety of devices or apparatuses, including a wireless handset, an integrated circuit (IC) or a set of ICs (e.g., a chip set) . Various components, modules, or units are described in this disclosure to emphasize functional aspects of devices configured to perform the disclosed techniques, but do not necessarily require realization by different hardware units. Rather, as described above, various units may be combined in a codec hardware unit or provided by a collection of interoperative hardware units, including one or more processors as described above, in conjunction with suitable software and / or firmware.

[0120] Various examples have been described. These and other examples are within the scope of the following claims.

Claims

1.A device for image processing, the device comprising:one or more memories configured to store one or more images; andprocessing circuitry coupled to the one or more memories and configured to perform skin tone correction, wherein to perform skin tone correction, the processing circuitry is configured to:achromatize values for pixels of one or more regions of a first image to generate a second image, wherein the pixels of the one or more regions comprise skin tone pixels, and wherein the first image is obtained under mixed lighting conditions;blend the first image and the second image to generate a third image; andadjust hue and saturation values of the third image based on a reference set containing data on the hue and saturation values that represent typical human skin tones to generate a fourth image.2.The device of claim 1, wherein the processing circuitry configured to achromatize values is further configured to:eliminate one or more color variations in the one or more regions of the first image.3.The device of claim 2, wherein the processing circuitry configured to achromatize values is further configured to:calculate Luma values for the pixels of the one or more regions of the first image.4.The device of claim 3, wherein the processing circuitry configured to calculate the Luma values is further configured to:multiply each color component of the respective pixels by a specific weight based on contribution of the corresponding color to perceived brightness of the first image.5.The device of claim 1, wherein the processing circuitry configured to blend the first image and the second image is further configured to:blend the first image and the second image using a blending factor value.6.The device of claim 5, wherein the blending factor value is determined based on color variations in the one or more regions of the first image.7.The device of claim 5, wherein the processing circuitry configured to blend the first image and the second image is further configured to:blend the first image and the second image using a gain factor value, wherein the gain factor value controls the overall brightness of the third image.8.The device of claim 1, wherein the hue values for each pixel are represented using polar coordinates.9.The device of claim 1, wherein the processing circuit configured to generate the fourth image is further configured to:convert polar coordinates into Cartesian coordinates for each hue value.10.A method for image processing comprising:achromatizing values for pixels of one or more regions of a first image to generate a second image, wherein the pixels of the one or more regions comprise skin tone pixels, and wherein the first image is obtained under mixed lighting conditions;blending the first image and the second image to generate a third image; andadjusting hue and saturation values of the third image based on a reference set containing data on the hue and saturation values that represent typical human skin tones to generate a fourth image.11.The method of claim 10, wherein achromatizing values further comprises:eliminating one or more color variations in the one or more regions of the first image.12.The method of claim 11, wherein achromatizing values further comprises:calculating Luma values for the pixels of the one or more regions of the first image.13.The method of claim 12, wherein calculating Luma values further comprises:multiplying each color component of the respective pixels by a specific weight based on contribution of the corresponding color to perceived brightness of the first image.14.The method of claim 10, wherein blending the first image and the second image further comprises:blending the first image and the second image using a blending factor value.15.The method of claim 14, wherein the blending factor value is determined based on color variations in the one or more regions of the first image.16.The method of claim 14, wherein blending the first image and the second image further comprises:blending the first image and the second image using a gain factor value, wherein the gain factor value controls the overall brightness of the third image.17.The method of claim 10, wherein the hue values for each pixel are represented using polar coordinates.18.The method of claim 10, wherein generating the fourth image further comprises:converting polar coordinates into Cartesian coordinates for each hue value.19.Non-transitory computer-readable storage media having instructions encoded thereon, the instructions configured to cause processing circuitry to:achromatize values for pixels of one or more regions of a first image to generate a second image, wherein the pixels of the one or more regions comprise skin tone pixels, and wherein the first image is obtained under mixed lighting conditions;blend the first image and the second image to generate a third image; andadjust hue and saturation values of the third image based on a reference set containing data on the hue and saturation values that represent typical human skin tones to generate a fourth image.20.The non-transitory computer-readable storage media of claim 19, the instructions configured to cause processing circuitry to achromatize values are further configured to cause the processing circuitry to:eliminate one or more color variations in the one or more regions of the first image.

Citation Information

Patent Citations

  • Method and system of image processing based on skin color detection, and server

    CN106845455A

  • Method and system for adjusting skin color of human skin area in image

    CN113781586A

  • Skin color determination method and device, electronic equipment and storage medium

    CN115908450A

  • Image processing device and method, equipment and storage medium

    CN117221550A

  • Enhancement of Skin, Including Faces, in Photographs

    US20170132459A1