Color conversion for environmentally adaptive digital content
By capturing the ambient light color conversion on the side and display side on the computing device, and generating and correcting digital images, the problem of digital image perceived color accuracy under different ambient light conditions is solved, and the consistency of image color is achieved.
Patent Information
- Application Number
- CN201980049160.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-07-23
- Filing Date
- 2019-06-19
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2039-06-19
AI Technical Summary
The prior art is difficult to maintain the perceived color accuracy of digital images under different ambient lighting conditions, resulting in inconsistencies in color during capture and display.
By capturing the color conversion of ambient light on the computing device, a digital image with ambient light agnostic ambient light is generated and ambient light correction is performed on the display side, ensuring that the image maintains perceived color accuracy under different lighting conditions.
It realizes the perceived color accuracy of the digital image under different ambient lighting conditions, ensures that the color performance of the image is consistent with the original scene, and solves the problem of inconsistent color during capture and display.
Smart Images

Figure CN112513939B_ABST
Abstract
Description
Background Art
[0001] The ambient lighting conditions of an environment may affect how colors are represented in any image captured in that environment. The ambient lighting conditions may also affect how the colors of an image are perceived when the image is displayed. Summary of the invention
[0002] This Summary is provided to introduce in simplified form a selection of concepts that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all of the disadvantages mentioned in any part of this disclosure.
[0003] A method for digital image color conversion includes: capturing a first digital image of a first real-world environment at a first computing device. Generating a first ambient lighting agnostic digital image from the first digital image using a capture-side ambient lighting color conversion based on ambient lighting conditions of the first real-world environment. The first ambient lighting agnostic digital image is transmitted to a second computing device in a second real-world environment. A second ambient lighting agnostic digital image is received from the second computing device, the second image having been generated from the second digital image by the second computing device using a capture-side ambient lighting color conversion. Generating a lighting-corrected digital image from the second ambient lighting agnostic digital image using a display-side ambient lighting color conversion based on ambient lighting conditions. The lighting-corrected digital image is displayed on the first computing device. BRIEF DESCRIPTION OF THE DRAWINGS
[0004] Figure 1 Two example computing devices exchanging digital images are schematically shown.
[0005] Figure 2 An example method for digital image color conversion is illustrated.
[0006] Figure 3 The swapping and color conversion of digital images by computing devices in separate real-world environments is illustrated.
[0007] Figure 4 An example method for digital image color conversion of a second lighting-corrected digital image is illustrated.
[0008] Figure 5 A color transition for an interface color of a user interface element is schematically illustrated.
[0009] Figure 6 An example method for display-side ambient lighting color conversion is illustrated.
[0010] Figure 7 An example method for capturing side ambient lighting color transitions is illustrated.
[0011] Figure 8 An example method for digital image color conversion is illustrated.
[0012] Fig. 9 Another example method for digital image color conversion is illustrated.
[0013] Fig.10 An example computing system is schematically illustrated. DETAILED DESCRIPTION
[0014] The ambient lighting conditions of an environment will have an impact on any images captured in that environment, particularly with respect to color reproduction. An apple photographed under typical daylight conditions will have a noticeably different appearance in a photograph than the same apple photographed under incandescent lighting, fluorescent lighting, etc., at least in part because different light sources tend to have different ambient color profiles. Many digital cameras use various image processing techniques (such as automatic white balance) to attempt to correct for the ambient lighting conditions in an environment. As a result, the resulting digital image may not accurately reproduce the colors in the environment as perceived by the photographer. In many cases, the resulting image is artificially modified so that the depicted environment appears to be illuminated under predefined lighting conditions (such as typical daylight) or to account for subjective preferences (e.g., for a particular user).
[0015] This has implications for maintaining perceived color accuracy in digital images, especially when the digital images are viewed under lighting conditions that are different from the lighting conditions under which they were captured. Here, achieving perceived (or perceived) color accuracy involves rendering colors on a display to visually match the colors in the original scene under given ambient lighting conditions. In other words, if the original scene is under one ambient lighting condition, and the display that reproduces the scene is under different ambient lighting conditions, the appearance of the various colors in the scene relative to the corresponding scene white point should be preserved. Perceived color accuracy differs from the general term "color accuracy" in that color accuracy is calculated colorimetrically using reference colors in a standard color space (e.g., sRGB, DCI-P3, or Adobe RGB) that has a specific white point, and therefore color accuracy is measured or calculated relative to that white point. In contrast, perceived color accuracy takes into account viewing conditions (e.g., ambient color and brightness), and uses aspects of color appearance modeling to predict how colors appear to a user under given ambient lighting conditions.
[0016] As an example, two different computing devices may exchange digital images as part of a live video call between two friends. As each device captures the digital image, automatic white balance or similar techniques will be used to account for the respective ambient lighting conditions of each device before the captured image is sent. Thus, when one friend views a digital image received from another friend's device, their perception of the digital image will be affected by both any image processing performed by the friend's device and their own local ambient lighting. As a result, the colors perceived by one friend when viewing the image may differ significantly from the colors perceived by their friend when the image was captured. In other words, in this scenario, perceived color accuracy is not maintained between the two devices.
[0017] Therefore, the present disclosure describes a technique for digital image color conversion that is intended to maintain perceived color accuracy independent of ambient lighting conditions. After capturing a digital image, a computing device determines the ambient lighting conditions of its own real-world environment and generates an ambient lighting-agnostic digital image using a capture-side ambient lighting color conversion. The ambient lighting-agnostic digital image can depict the real-world environment as if it were under predefined lighting conditions (such as daylight) that are opposite to the actual lighting conditions of the environment. The ambient lighting-agnostic digital image can then be stored for later display and / or transmission to another device. In the case of an ambient lighting-agnostic digital image that is intended to be displayed, the device can generate a lighting-corrected digital image that takes into account how the local ambient lighting conditions will affect the perception of the colors in the image. In an example scenario, a lighting-corrected digital image can be generated for display so that its colors are perceived to be similar to how the colors actually appear to the photographer when the original digital image is captured. Therefore, the techniques described herein can help maintain the perceived color accuracy in a digital image regardless of the ambient lighting of the environment at the time of capture or display.
[0018] Digital image color conversion techniques are described herein primarily with reference to two devices exchanging digital images over a network. In other words, a digital image captured by one device is ultimately displayed on another device, and the ambient lighting conditions in the two different environments are taken into account. However, digital image color conversion can be applied in the context of any number of devices, including more than two devices or a single device in communication. For example, a digital camera can be used to capture an image in a first environment, and the image is viewed in a second environment, and thus two different sets of ambient lighting conditions can be taken into account.
[0019] Figure 1 Schematically illustrates the exchange of digital images between two example computing devices 100A and 100B. Figure 1In the present invention, these devices are mobile devices that each include an integrated display 102A / 102B and camera hardware 104A / 104B. In addition, each device includes an ambient color sensor 106A / 106B. However, the ambient lighting color conversion can be performed on any suitable computing device with any suitable hardware. Such devices need not include an integrated camera, ambient color sensor, or display (for example, the digital image can be captured by another device and transmitted for processing and / or display). As an example, the digital image color conversion can be performed on a laptop, desktop, smart phone, tablet, digital camera, virtual / augmented / mixed reality display device, server, wearable device, media center, etc. The digital image color conversion can be performed in the following about Fig.10 The described computing system 1000 is implemented.
[0020] Devices 100A and 100B are exchanging digital images in the context of a live video call. Specifically, devices 100A and 100B each display digital images 107A / 107B, each depicting a different real-world environment 108A / 108B. User 110B is displayed in image 107A on device 100A, with the user present in environment 108B. Similarly, user 110A is shown in image 107B on device 100B, with user 110A present in environment 108A. In other words, in Figure 1 , computing device 100A is present in real-world environment 108A, but image 107A captured by device 100B in real-world environment 108B is shown. Similarly, image 107B shown by device 100B is captured by camera 104A of computing device 100A.
[0021] However, each device is also displaying supplemental images 112A / 112B depicting the device's own real-world environment. Device 100A is displaying image 112A depicting user 110A (i.e., the owner of the device) within real-world environment 108A, while device 100B displays image 112B. In other words, each computing device captures an image of its own real-world environment. These images are both displayed on the capture-side device (i.e., as images 112A and 112B) and transmitted for remote display on another device (i.e., as images 107A and 107B).
[0022] exist Figure 1, the smaller image 112A / 112B displayed by each device shows the content captured locally by the device, while the larger image 107A / 107B is received from the opposite device and includes the content captured by the opposite device. However, in some examples, the received images 107A and 107B may be displayed as smaller than the locally captured images 112A and 112B. In addition, each device may display additional images, such as those received from additional devices, and / or display only a single image at a time.
[0023] Each real-world environment 108A / 108B includes a light source 114A / 114B, respectively. Specifically, environment 108B includes a light source 114B in the form of a lamp, while environment 108A includes an open window that admits light from the sun 114A. As a result, each of environments 108A and 108B will have different ambient lighting conditions. Environment 108B will have relatively warm lighting consistent with typical home lighting, while environment 108A will be closer to the neutral cool lighting of typical daylight conditions.
[0024] As discussed above, the different ambient lighting conditions in the real-world environments of the two devices will affect how digital images are captured and displayed. For example, when device 100B captures a digital image of user 110B, the device may perform automatic white balance and / or similar image processing to account for the relatively warm lighting in environment 108B. As a result, user 110A may perceive the colors in image 107A as appearing cooler to user 110B in real-world environment 108B than the colors in image 107A. This may be undesirable in various scenarios where perceived color accuracy is important, such as when user 110B is asking user 110A about his thoughts on the color of a new article of clothing or a new paint color in environment 108B.
[0025] Accordingly, Figure 2 An example method 200 for color conversion of digital images is illustrated. Method 200 contemplates a scenario in which two devices (a first computing device and a second computing device) are exchanging digital images over a network. However, the steps in method 200 are all performed by the first computing device. As a result, in some cases, similar or equivalent steps may be performed by the second computing device. Method 200 may be performed by either or both of devices 100A and 100B, Fig.10 The present invention may be performed by the computing system 1000, and / or any other suitable computer hardware.
[0026] At 202, method 200 includes capturing a first digital image of a first real-world environment. Capturing the digital image may be accomplished using any suitable camera or other imaging hardware. Such imaging hardware need not be integrated into or attached to a computing device implementing method 200. Instead, the device may optionally communicate with an external camera to retrieve the captured digital image, and / or retrieve the captured digital image from another suitable source.
[0027] Figure 3 Schematically illustrates color conversion of a digital image in the context of bidirectional communication between two computing devices. The depicted steps are divided between a first real world environment 300A and a second real world environment 300B. For simplicity, the steps shown as occurring within the first real world environment 300A are represented by Figure 1 The steps performed in the second real-world environment 300B are performed by the computing device 100A. Figure 1 100B. However, the depicted steps may be divided among any suitable number of computing devices. In the first real-world environment 300A, at step SA1, computing device 100A captures a first digital image 302A. Similarly, in the second real-world environment 300B, at step SB1, second computing device 100B captures a second digital image 302B.
[0028] Back to Figure 2 At 204, method 200 includes determining an ambient lighting condition of the first real-world environment. In some examples, the ambient lighting condition of the environment may be determined using an ambient color sensor of the computing device (such as Figure 1 The ambient lighting conditions of the environment may be determined by the ambient color sensors 106A and 106B shown in FIG. Additionally or alternatively, the ambient lighting conditions of the environment may be determined in other suitable ways. For example, the ambient lighting conditions of the environment may be inferred from the pixel values of the captured digital image. This may be accomplished, for example, in the case of performing automatic white balancing by identifying objects within the environment that are assumed to be white and determining how the apparent color of the white objects differs from true white. The difference may be inferred to be derived from the ambient color temperature within the environment.
[0029] At 206, method 200 includes generating a first ambient lighting agnostic digital image from the first digital image using a capture-side ambient lighting color transform based on the ambient lighting conditions of the first real-world environment. In other words, various image processing techniques and algorithms may be used to adjust how colors appear in the digital image to account for the lighting conditions under which the image was captured. Additional details regarding ambient lighting color transforms are described below with respect to Figure 6 and 7 Given.
[0030] In some examples, the capture-side ambient lighting color conversion is configured to convert the color of the digital image to appear as if the digital image was captured under predefined lighting conditions. The predefined lighting conditions may be, for example, an ambient color temperature of 6500K (D65), which is similar to the lighting observed under typical daylight conditions. In other words, regardless of the ambient lighting conditions present when the digital image was captured, the ambient lighting agnostic digital image should appear as if the environment was illuminated by typical daylight. However, the predefined lighting conditions may be any suitable ambient color configuration depending on implementation and user preference.
[0031] exist Figure 3 The generation of an ambient lighting agnostic digital image is schematically illustrated in FIG. As shown in step SA2, a capture-side ambient lighting color transform is used to generate a first ambient lighting agnostic digital image 304A from a first digital image 302A. Similarly, in a second real-world environment 300B, another capture-side ambient lighting color transform SB2 is utilized to generate a second ambient lighting agnostic digital image 304B from a second digital image 302B.
[0032] Briefly return to Figure 2 At 208, method 200 includes transmitting the first ambient lighting-agnostic digital image to a second computing device at a second real-world environment. At 210, method 200 includes receiving a second ambient lighting-agnostic digital image of the second real-world environment from the second computing device. Similar to the first ambient lighting-agnostic digital image, the second ambient lighting-agnostic digital image is generated from the second digital image by the second computing device using a capture-side ambient lighting color conversion. In other words, the second digital image may be an original image captured by the second computing device, and the second ambient lighting-agnostic digital image is generated based on the original image. In some cases, in addition to or in lieu of the ambient lighting-agnostic digital image, the digital image transmitted from one device to another device may be an original captured image (e.g., a substantially unmodified image).
[0033] exist Figure 3 , where a first ambient lighting agnostic digital image 304A is transmitted from a first computing device 100A to a second computing device 100B in a second real world environment 300B. Similarly, a second ambient lighting agnostic digital image 304B is received by the first computing device 100A from the second computing device 100B.
[0034] Digital images can be transmitted and received in any suitable manner. For example, digital images can be transmitted wirelessly through a wired connection, via a suitable wireless communication protocol (e.g., Bluetooth), through a local area network, through the Internet, etc. In addition, in some examples, the transmission of the first ambient lighting agnostic digital image and the reception of the second ambient lighting agnostic digital image are performed by a live video communication application of the first computing device, thereby allowing the first and second devices to exchange live video of their surroundings. However, digital images can be exchanged between two devices in any suitable context.
[0035] Return to Figure 2 At 212, method 200 includes generating a lighting-corrected digital image from a second ambient-lighting-agnostic digital image using a display-side ambient-lighting color transform based on an ambient-lighting condition of a first real-world environment. In other words, various image processing techniques and algorithms may be used to adjust how colors appear in the lighting-corrected digital image to account for the lighting conditions under which the image is displayed. Additional details regarding ambient-lighting color transforms are provided below with respect to Figure 6 and 7 supply.
[0036] In some examples, the display-side ambient lighting color conversion is configured to convert the colors of the digital image that is agnostic to the second ambient lighting to maintain the perceived color accuracy of the second real-world environment under the ambient lighting conditions of the first real-world environment. For example, if the ambient lighting conditions of the real-world environment are relatively warm, the display-side ambient lighting color conversion can convert the image colors to appear relatively cool so that the colors are perceived as neutral under the warm lighting. In some cases, the display-side ambient lighting color conversion can use a human perception model to account for how the pixels of the digital image will be perceived by the visual system of a human observer.
[0037] exist Figure 3 The generation of a lighting-corrected digital image is schematically illustrated in FIG. As shown, upon receiving the second ambient-lighting-agnostic digital image 304B from the second computing device 100B, the first computing device 100A generates a lighting-corrected digital image 306A using a display-side ambient-lighting color transform SA3. Similarly, the second computing device 100B generates a lighting-corrected digital image 306B from the first ambient-lighting-agnostic digital image 304B using a display-side ambient-lighting color transform SB3. Figure 3 In FIG. 1 and elsewhere herein, the lighting-corrected digital image is shown with a dot-fill pattern to distinguish it from the first / second digital images 302A / 302B and the ambient-lighting-unaware digital image 304A / 304B.
[0038] Briefly return to Figure 2At 214, method 200 includes displaying the lighting-corrected digital image on the first computing device. Depending on the specific display hardware of the first computing device, display-specific color calibration may be performed in conjunction with or as part of a display-side ambient lighting color conversion or otherwise prior to displaying the lighting-corrected digital image. Such display-specific color calibration may be performed in any suitable manner, and includes, for example, adapting display performance based on local ambient lighting conditions and a preset adaptation strength.
[0039] Depending on the particular lighting transformation performed, the colors in the displayed lighting-corrected digital image may be perceived by the first user as being similar (if not identical) to how the same colors appear to the second user in a second real-world environment. As discussed above, depending on the particular display hardware involved, display-specific color calibration may be performed. In other words, if the second user takes a photo of an article of clothing and sends it to the first user, the two users may perceive the color of the article of clothing in the same way. Thus, the first user may provide advice on whether the color of the clothing is pleasing, for example, based on the second user's skin tone. Without the ambient color transformation described herein, there would be uncertainty as to whether the two users are actually seeing the same color.
[0040] Now go to Figure 4 In some cases, a computing device may apply a digital image color transform to images captured by the device itself. Figure 4 Reproduced from Figure 1 100A, is still displaying images 107A and 112A. As discussed above, image 107A is received from a second computing device and depicts a second real-world environment. However, image 112A is captured by computing device 100A and depicts a first real-world environment of device 100A. In some cases, a digital image color conversion may be applied to image 112A before image 112A is displayed on display 102A.
[0041] Accordingly, Figure 4 An example method 400 for digital image color conversion is also illustrated. At 402, the method 400 includes capturing a digital image. At 404, the method 400 includes determining an ambient lighting condition of a real-world environment of a computing device. At 406, the method 400 includes generating a first ambient lighting agnostic digital image from the digital image using a capture-side ambient lighting color conversion. These steps may be performed as described above with respect to Figure 2107A. In other words, a computing device captures a digital image of its own environment and generates a first ambient lighting agnostic digital image based on the ambient lighting conditions of the device's own environment. The first ambient lighting agnostic digital image may be transmitted to a second computing device, and a second ambient lighting agnostic digital image depicting a second real-world environment is received in return. A first lighting-corrected digital image may then be generated by computing device 100A from the second ambient lighting agnostic digital image and displayed as image 107A.
[0042] However, at 408, method 400 includes generating a second lighting-corrected digital image from the first ambient-lighting-agnostic digital image via a display-side ambient-lighting color conversion. In other words, the device performs a display-side ambient-lighting color conversion on the same ambient-lighting-agnostic digital image that it generated via a capture-side ambient-lighting color conversion and that depicts the first real-world environment. Thus, the device generates an ambient-lighting-corrected digital image that depicts its own environment and is modified to account for ambient lighting conditions in the device's own environment.
[0043] At 410, method 400 includes displaying the second lighting-corrected digital image on a computing device (e.g., as image 112A). This can ensure that the image of the user's local environment visible on the display appears to visually match the colors that the user actually experiences in his or her local environment. This is in contrast to conventional automatic white balance and other similar image processing techniques in which colors in the image can be perceived differently than colors visible in the real-world environment. As discussed above, the second lighting-corrected digital image can be presented on a display that employs a display-specific color calibration.
[0044] Thus far, the description of digital image color conversion has focused on its application to digital images captured by a camera. However, the digital image color conversion techniques described herein may additionally or alternatively be applied to user interface elements displayed by a computing device. For example, Figure 5 Another example computing device 500 is shown rendering various user interface elements on its display. This includes a live video communication application 502, which in turn includes a digital image 504. Interface elements 506A (news application), 506B (stock application), and 506C (weather application) are also shown.
[0045] As discussed above, the ambient lighting conditions of the environment in which the digital image is viewed may affect how the color of the digital image is perceived. For example, a white image displayed in an environment with relatively warm lighting may be "contaminated" by the ambient lighting and thus be perceived as relatively warmer than the actual pixel values of the image indicate. The color of user interface elements may be affected in much the same way as a digital image captured by a camera.
[0046] Accordingly, in addition to or in lieu of applying a color conversion to a digital image, a computing device may be configured to perform a display-side ambient lighting color conversion on a displayed user interface element. Figure 5 , computing device 500 displays lighting-corrected digital image 504 as part of a user interface including a plurality of user interface elements, as discussed above. The user interface may be rendered and presented on a color-calibrated display. Figure 5 Each of these user interface elements may have a predefined interface element color (e.g., as specified by the programming of the software application), and the perception of such color may be affected by the local ambient lighting. Figure 5 In FIG. 1 , the display-side ambient lighting color conversion C1 is used to convert the interface element color into the interface element color corrected by lighting based on the local ambient lighting conditions. The interface element corrected by lighting is shown with a dot fill pattern.
[0047] exist Figure 5 In the embodiment of the present invention, the display-side ambient lighting color conversion is applied to all elements of the user interface. In other words, substantially all pixels rendered by the computing device 500 may be affected by the digital image color conversion. However, in some cases, the digital image color conversion may be applied to less than all pixels / UI elements rendered by the computing device. For example, the display-side ambient lighting color conversion may be applied on a per-application basis, which means that some application content is rendered without considering the local ambient lighting.
[0048] At a technical level, display-side ambient lighting color conversion will typically involve modifying the RGB values of pixels displayed by the device. In some scenarios, this can be done via software through GPU shader calculations, in which case performing the display-side ambient lighting color conversion will typically consume additional processor cycles of the computing device, which can have an impact on device performance and electrical power consumption. Additionally or alternatively, aspects of the display-side ambient lighting color conversion can be integrated into the hardware display pipeline (e.g., along with the display-specific color calibration described above).
[0049] In any case, the modification of the pixel RGB values may also affect the relative brightness of the image. For example, when an image is adapted to be displayed in a relatively cold environment, the color configuration of the image may be offset to appear relatively warmer. However, this may also cause the image to appear relatively darker and therefore more difficult to see. In response, the computing device may increase the brightness of the image by increasing the intensity of the hardware display backlight, although this will also consume additional electrical power. Depending on the specific configuration of the device, the increase in electrical power consumption may be detrimental to device performance (such as when the device runs on battery power). Accordingly, the display-side ambient lighting color conversion may be optionally interrupted based on the battery charge level of the computing device falling below a threshold. In some cases, the threshold may be 100%, which means that the digital image color conversion is only performed when the device is plugged in. Additionally or alternatively, the battery charge threshold may be user-specified.
[0050] As discussed above, the specific technical details associated with capture-side and display-side ambient lighting color conversion may vary from implementation to implementation. Figure 6 An example method 600 for color conversion of a digital image that can be used in accordance with display-side conversion is illustrated. As with other methods described herein, method 600 can be performed on any suitable computer hardware, including any of the computing devices described above, the following description of the Fig.10 The system may be implemented on the computing system 1000 described herein and / or another suitable system).
[0051] The pixel values of a digital image are usually defined with respect to a specific color space. There are various standardized color spaces, each with specific applicability for different applications. With respect to digital cameras and computer displays, it is common to use Adobe RGB and sRGB color spaces. These color spaces define a finite set of perceptible colors, where each different color is defined by a digital value - for example, a different red, green and blue value, or a digital tuple that can be mapped to a chromaticity diagram.
[0052] When a computing device is used to capture a digital image, the colors in the image will be defined with respect to a color space used by the device, and the color space may be selected based on the hardware characteristics of the device camera and / or display. However, it is often necessary to convert the white-balanced colors from the device RGB space to the XYZ tristimulus value space so that subsequent calculations can be performed. Accordingly, at 604, method 600 includes converting an RGB value for white (e.g., [255, 255, 255] or [1, 1, 1]) associated with the color space used by the digital image into a first XYZ value.
[0053] In digital imaging, a white point is the tristimulus values or chromaticity coordinates that define the color "white" under specific lighting. Therefore, it is desirable that images captured under different lighting conditions have different white points. For example, a white object imaged under relatively warm incandescent lighting (e.g., a color temperature of 3000K) will have a different appearance than the same white object imaged under daylight conditions (e.g., 6500K). Therefore, different white point targets are used for images with different lighting conditions so that the object appears white in both images. The first XYZ values calculated above can be defined with respect to the source white point of the digital image, which can be a white point automatically selected by image processing software (e.g., based on image statistics) or applied by the capture process when the digital image is captured.
[0054] Accordingly, at 606, method 600 includes setting the source white point of the image to an XYZ value, and setting the target white point of the image to another XYZ value. The source white point may be inferred from ambient lighting conditions potentially reported from an ambient color sensor as described above. In an example scenario, the source white point may be 3000K (i.e., warm lighting), while the target white point is 6500K (i.e., daylight conditions). In this example, 6500K is a predefined lighting condition for the above digital image reference that is agnostic about ambient lighting.
[0055] At 608, method 600 includes applying a chromaticity adaptation transform to convert first white XYZ values of the digital image into adapted XYZ values having a target white point. As discussed above, the first white XYZ values of the digital image are defined with respect to a source white point. Thus, the chromaticity adaptation transform has the effect of converting the first white XYZ values defining perceived values of white under source lighting conditions into second white XYZ values defining perceived values of white under target lighting conditions.
[0056] The characteristics of the chromaticity adaptation transform will depend on which color appearance model is used. As an example, chromaticity adaptation transforms specific to CIECAM02, iCAM06, and Bradford color appearance models can be used. In a specific scene, the chromaticity adaptation transform may include setting a 3x3 chromaticity adaptation transform matrix matAdapt (e.g., specified by the iCAM image appearance model). Next, the [3x1] spectrally sharpened RGB response is calculated based on the first white XYZ value. As an example, the matrix matAdapt can be applied to the first white XYZ value (XYZin), and the source and target white point XYZ values (whiteSrc and whiteDest) to give the RGB white point:
[0057] RGBin=matAdapt*XYZin
[0058] RGB_whiteSrc=matAdapt*whiteSrc
[0059] RGB_whiteDest=matAdapt*whiteDest
[0060] Next, the chromaticity adaptation transform may include calculating the degree of adaptation based on the specified adaptation strength, the ambient lighting surround factor, and the ambient lighting luminance factor. The degree of adaptation degAdapt may be expressed in any suitable manner—for example, as a value between zero and one. The adapted white RGB value is calculated based on the first white XYZ value, the source and target RGB white points, and the degree of adaptation:
[0061] adaptedRGB[ii]=(degAdapt*RGB_whiteDest[ii] / RGB_whiteSrc[ii]+1–degAdapt)*RGBin[ii], where 0≤ii≤2.
[0062] Finally, the adapted white XYZ XYZ_adapt value can be calculated from the adapted white RGB value:
[0063] XYZ_adapt=inv(matAdapt)*adaptedRGB
[0064] At 610, method 600 includes converting the adapted XYZ values into adapted RGB values for a desired output color space (e.g., sRGB) of a device display. Based on the adapted RGB values, an ambient lighting corrected digital image may be generated. This may include, for example, modifying pixels of the digital image to account for the new lighting-adapted RGB white values calculated above, so that the ambient lighting corrected digital image has adapted RGB color values. In addition, when applied in the context of display-side ambient lighting color conversion, the adapted XYZ color values may be used as a target white point for display-specific color calibration. This may be used to tune the physical display hardware of the device to render a lighting-corrected digital image in a perceptually accurate manner.
[0065] Figure 7 An example method 700 for capturing side ambient lighting color transitions is illustrated. As with other methods described herein, method 700 may be implemented on any suitable computer hardware, including any of the computing devices described above, Fig.10 The system may be implemented on the computing system 1000 described herein and / or another suitable system).
[0066] At 702, method 700 includes performing white balancing on the captured digital image. Performing white balancing includes first estimating the ambient lighting conditions of the environment (e.g., via an ambient color sensor as described above), or estimating the ambient white point of the captured scene, and applying white balance channel gains to the color channels of the captured image. Because the goal of capture-side ambient lighting color conversion is to achieve perceptual color accuracy, the white balancing steps of method 700 are performed to estimate the ambient lighting conditions in the environment as accurately as possible. Unlike conventional approaches for camera tuning, method 700 does not incorporate subjective user preferences. After white balancing, neutral colors in the image appear neutral.
[0067] Continuing with method 700, at 704, the white balanced device RGB values are converted to XYZ values based on a source white point (e.g., a color temperature (D50) of 5000K). At 706, method 700 includes setting a target white point of the image to the XYZ values (e.g., D65). As previously described, at 708, method 700 includes applying a chromaticity adaptation transform to convert the XYZ values of the digital image into adapted XYZ values having a target white point. At 710, method 700 includes converting the adapted XYZ values into adapted RGB values for a desired output color space of the device camera (e.g., sRGB). Based on the adapted RGB values, an ambient lighting agnostic digital image can be generated.
[0068] The above description of digital image color conversion focuses on a scenario in which each of two computing devices is responsible for some aspect of image processing. In other words, the capture-side ambient lighting color conversion is performed on a first computing device that actually captures the digital image, while the display-side ambient lighting color conversion is performed on a second computing device on which the image is displayed. However, such processing can be distributed between any number of devices, including only one device.
[0069] Figure 8 Another example method 800 for digital image color conversion is illustrated in which a single device performs both capture-side and display-side ambient lighting color conversion on a digital image received from an external source. Figure 8 The system can be used on any suitable computer hardware (including any of the computing devices described above, Fig.10 For the purposes of this description, method 800 will be assumed to be performed by a first computing device present in a first real-world environment.
[0070] At 802, method 800 includes receiving a digital image of a second real-world environment and ambient lighting information describing ambient lighting conditions of the second real-world environment. As discussed above, network communication between two computing devices may be accomplished in any suitable manner. Figure 8 , the received digital image has not yet undergone capture-side ambient lighting color conversion. In other words, the received digital image can be described as a raw captured image. Depending on the characteristics of the imaging hardware used to capture the digital image, white balancing and / or other image processing may or may not be applied prior to transmission.
[0071] The ambient lighting information may take any suitable form and may depend on the hardware capabilities of the device used to capture the digital image. When available, an ambient color sensor (such as Figure 1 Sensors 106A / 106B shown in ) can be used to quantify ambient lighting conditions in a second real-world environment (e.g., as a color temperature measured in degrees Kelvin). In other examples, the ambient lighting conditions of the second real-world environment can be inferred from pixel values of the image itself by the second computing device before sending the digital image or by the first computing device after receiving the digital image. In other words, the ambient lighting information can be included in the digital image itself via image pixel values, as additional metadata, as a separate file, etc.
[0072] continue Figure 8 At 804, method 800 includes generating an ambient lighting agnostic digital image from the digital image using a capture-side ambient lighting color conversion based on the ambient lighting conditions of the second real-world environment. It is worth noting that in this case, the capture-side ambient lighting color conversion is performed by a device that does not actually capture the digital image. Regardless, the term "capture-side ambient lighting color conversion" still refers to some combination of algorithms and digital image processing techniques for generating an ambient lighting agnostic digital image. Such conversion can be performed on any suitable computing device as long as sufficient information about the ambient lighting conditions of the second real-world environment is available.
[0073] At 806, method 800 includes determining an ambient lighting condition of a first real-world environment. At 808, method 800 includes generating a lighting-corrected digital image from the ambient-lighting-agnostic digital image using a display-side ambient lighting color transform based on the ambient lighting condition of the first real-world environment. At 810, method 800 includes displaying the lighting-corrected digital image. The lighting-corrected digital image may be displayed on a color-calibrated display, as discussed above. These steps may be substantially as described above with respect to Figure 2 The described is executed.
[0074] The above description of digital image color conversion generally focuses on a scenario in which two computing devices are exchanging digital images over a network (eg, as part of a live video call). However, the described techniques may additionally or alternatively be performed on a single device. Fig. 9Another example method 900 for color conversion of a digital image is illustrated in which a single device captures a digital image in a first real world environment and displays the digital image in a second real world environment. The method 900 may be implemented on any suitable computer hardware, including any of the computing devices described above, Fig.10 The system may be implemented on the computing system 1000 described herein and / or another suitable system).
[0075] At 902, method 900 includes capturing a digital image of a first real-world environment. At 904, method 900 includes determining a first ambient lighting condition of the first real-world environment. At 906, method 900 includes generating an ambient lighting agnostic digital image from the digital image using a capture-side ambient lighting color transform based on the first ambient lighting condition. These steps may be substantially as described above with respect to Figure 2 The described is executed.
[0076] However, in contrast to method 200, the ambient lighting agnostic digital image is not transmitted to the second computing device, nor is a second ambient lighting agnostic digital image received. Instead, the ambient lighting agnostic digital image is stored on the computing device for later display. The ambient lighting agnostic digital image may be stored in addition to the original digital image, meaning that the digital image is retained, or the ambient lighting agnostic digital image may replace the originally captured image.
[0077] At 908, method 900 includes receiving input to display an ambient lighting agnostic digital image. Notably, the input may be received while the computing device is in a second real-world environment having a second ambient lighting condition. Alternatively, the computing device may remain in the first real-world environment, even though the ambient lighting condition has changed (e.g., because a light source is turned on / off or the time of day has changed). Regardless, when the input is received, the ambient lighting condition may now be different.
[0078] The received input may take any suitable form. For example, a user may select an image for display from a photo album or other software application. Alternatively, the image may be automatically displayed by one or more software applications in response to application programming or one or more external factors. For example, a digital image may be saved as a contact photo for a particular contact on a communication device. Because contact photos are typically displayed in conjunction with new communications from contacts associated therewith, the input for displaying the image may take the form of a new call or communication from a particular contact.
[0079] At 910, method 900 includes determining a second ambient lighting condition of a second real-world environment. At 912, method 900 includes generating a lighting-corrected digital image from the ambient-lighting-agnostic digital image using a display-side ambient lighting color transform based on the second ambient lighting condition. At 914, method 900 includes displaying the lighting-corrected digital image. Again, these steps may be substantially as described above with respect to Figure 2 For example, a lighting-corrected digital image can be presented on a color-calibrated display. However, it is worth noting that in this case, the display-side ambient lighting color conversion is performed by the same device that captured the digital image.
[0080] The version of the digital image stored by the computing device for a long time may vary due to different implementations. As discussed above, the digital image that is not aware of the ambient lighting may replace the original captured image, or both images may be retained. Similarly, although the digital image corrected for illumination will generally be the image displayed to the user, the digital image corrected for illumination may or may not be stored for a long time. For example, the digital image that is not aware of the ambient lighting may remain stored on the computing device even when the digital image corrected for illumination is displayed. When the digital image corrected for illumination is no longer displayed, it may optionally remain in the storage on the computing device. Alternatively, given that the digital image corrected for illumination may not be suitable for other ambient lighting conditions that the computing device may experience, the digital image corrected for illumination may be discarded and / or replaced each time an input for displaying the digital image is received. Further, the digital image corrected for illumination may replace the digital image that is not aware of the ambient lighting. In some cases, the computing device may be configured to display the digital image that is not aware of the ambient lighting instead of the digital image corrected for illumination in some cases (e.g., upon user request).
[0081] In some embodiments, the methods and processes described herein may be bound to a computing system of one or more computing devices. Specifically, such methods and processes may be implemented as computer applications or services, application programming interfaces (APIs), libraries, and / or other computer program products.
[0082] Fig.10 A non-limiting embodiment of a computing system 1000 that can perform one or more of the above methods and processes is schematically illustrated. The computing system 1000 is illustrated in simplified form. The computing system 1000 can take the form of one or more of the following: a personal computer, a server computer, a tablet computer, a home entertainment computer, a network computing device, a gaming device, a mobile computing device, a mobile communication device (e.g., a smart phone), and / or other computing devices.
[0083] The computing system 1000 includes a logic machine 1002 and a storage machine 1004. The computing system 1000 may optionally include a display subsystem 1006, an input subsystem 1008, a communication subsystem 1010, and / or Fig.10 Other components not shown.
[0084] The logic machine 1002 includes one or more physical devices configured to execute instructions. For example, the logic machine may be configured to execute instructions that are part of one or more of the following: an application, a service, a program, a routine, a library, an object, a component, a data structure, or other logical construct. Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more components, implement a technical effect, or otherwise obtain a desired result.
[0085] The logic machine may include one or more processors configured to execute software instructions. Additionally or alternatively, the logic machine may include one or more hardware or firmware logic machines configured to execute hardware or firmware instructions. The processor of the logic machine may be single-core or multi-core, and the instructions executed thereon may be configured for serial, parallel, and / or distributed processing. The individual components of the logic machine may optionally be distributed among two or more separate devices, which may be remotely located and / or configured for collaborative processing. Various aspects of the logic machine may be virtualized and executed by a remotely accessible networked computing device configured with a cloud computing configuration.
[0086] The storage machine 1004 includes one or more physical devices configured to hold instructions executable by a logic machine to implement the methods and processes described herein. When implementing these methods and processes, the state of the storage machine 1004 may be transformed—for example, to hold different data.
[0087] The storage machine 1004 may include removable and / or built-in devices. The storage machine 1004 may include optical storage (e.g., CD, DVD, HD-DVD, Blu-ray disc, etc.), semiconductor storage (e.g., RAM, EPROM, EEPROM, etc.), and / or magnetic storage (e.g., hard disk drive, floppy disk drive, tape drive, MRAM, etc.), etc. The storage machine 1004 may include volatile, non-volatile, dynamic, static, read / write, read-only, random access, sequential access, location addressable, file addressable, and / or content addressable devices.
[0088] It will be appreciated that storage 1004 comprises one or more physical devices. However, various aspects of the instructions described herein may alternatively be propagated over a communication medium (eg, electromagnetic signals, optical signals, etc.) that is not retained by a physical device for a finite duration.
[0089] Aspects of the logic machine 1002 and the memory machine 1004 may be integrated together into one or more hardware logic components. Such hardware logic components may include, for example, field programmable gate arrays (FPGAs), program and application specific integrated circuits (PASIC / ASIC), program and application specific standard products (PSSP / ASSP), systems on chips (SOCs), and complex programmable logic devices (CPLDs).
[0090] The terms "module," "program," and "engine" may be used to describe aspects of the computing system 1000 that are implemented to perform specific functions. In some cases, a module, program, or engine may be instantiated via the logic machine 1002 executing instructions held by the storage machine 1004. It will be understood that different modules, programs, and / or engines may be instantiated from the same application, service, code block, object, library, routine, API, function, etc. Similarly, the same module, program, and / or engine may be instantiated by different applications, services, code blocks, objects, routines, APIs, functions, etc. The terms "module," "program," and "engine" are intended to cover single or grouped executable files, data files, libraries, drivers, scripts, database records, and the like.
[0091] It should be appreciated that a "service" as used herein is an application that can be executed across multiple user sessions. A service can be used for one or more system components, programs, and / or other services. In some implementations, a service can run on one or more server computing devices.
[0092] When display subsystem 1006 is included, display subsystem 1006 can be used to present a visual representation of the data maintained by storage machine 1004. This visual representation can take the form of a graphical user interface (GUI). Since the methods and processes described herein change the data maintained by the storage machine, and thus transform the state of the storage machine, the state of display subsystem 1006 can also be transformed to visually represent the changes in the underlying data. Display subsystem 1006 may include one or more display devices utilizing substantially any type of technology. Such display devices may be combined with logic machine 1002 and / or storage machine 1004 in a shared package, or such display devices may be peripheral display devices.
[0093] When input subsystem 1008 is included, input subsystem 1008 may include or interface with one or more user input devices such as a keyboard, mouse, touch screen, or game controller. In some embodiments, the input subsystem may include selected natural user input (NUI) components or interface with the above-mentioned natural user input (NUI) components. Such components can be integrated or peripheral, and the transduction and / or processing of input actions can be handled on or off the board. Example NUI components may include a microphone for voice and / or speech recognition; infrared, color, stereo, and / or depth cameras for machine vision and / or gesture recognition; head trackers, eye trackers, accelerometers, and / or gyroscopes for motion detection and / or intent recognition; and electric field sensing components for evaluating brain activity.
[0094] When the communication subsystem 1010 is included, the communication subsystem 1010 can be configured to communicatively couple the computing system 1000 with one or more other computing devices. The communication subsystem 1010 may include wired and / or wireless communication devices compatible with one or more different communication protocols. As non-limiting examples, the communication subsystem can be configured to communicate via a wireless telephone network, or a wired or wireless local area network or wide area network. In some embodiments, the communication subsystem can allow the computing system 1000 to send messages to other devices and / or receive messages from other devices via a network such as the Internet.
[0095] In one example, a method for digital image color conversion includes: capturing a first digital image of a first real-world environment at a first computing device; generating a first ambient lighting-agnostic digital image from the first digital image using a capture-side ambient lighting color conversion based on ambient lighting conditions of the first real-world environment; transmitting the first ambient lighting-agnostic digital image to a second computing device in a second real-world environment; receiving a second ambient lighting-agnostic digital image of the second real-world environment from the second computing device, the second ambient lighting-agnostic digital image having been generated from the second digital image by the second computing device using a capture-side ambient lighting color conversion; generating a lighting-corrected digital image from the second ambient lighting-agnostic digital image using a display-side ambient lighting color conversion based on ambient lighting conditions of the first real-world environment; and displaying the lighting-corrected digital image on the first computing device. In this example or any other example, the capture-side ambient lighting color conversion is configured to convert the color of the first digital image to appear as if the first digital image was captured under predefined lighting conditions. In this example or any other example, the predefined lighting condition is an ambient color temperature of 6500K (D65). In this example or any other example, the capture-side ambient lighting conversion includes: converting white RGB color values of the digital image into first white XYZ tristimulus values with a source white point, applying a chromaticity adaptation transform to convert the first white XYZ tristimulus values into adapted white XYZ tristimulus values with a target white point based on ambient lighting surround and brightness factors, and generating an ambient lighting agnostic digital image with the adapted RGB color values. In this example or any other example, the display-side ambient lighting color conversion is configured to convert the color of the second ambient lighting agnostic digital image to maintain the perceived color accuracy of the second real-world environment when displayed on a color-calibrated display under ambient lighting conditions of the first real-world environment. In this example or any other example, the ambient lighting conditions of the first real-world environment are determined using an ambient color sensor of the first computing device. In this example or any other example, the method further includes: using the display-side ambient lighting color conversion on the first computing device to generate a second lighting-corrected digital image from the first ambient lighting agnostic digital image of the first real-world environment, and displaying the second lighting-corrected digital image on the first computing device. In this or any other example, the transmission of the first ambient lighting agnostic digital image and the receipt of the second ambient lighting agnostic digital image are performed by a live video communications application of the first computing device.In this example or any other example, the lighting-corrected digital image is displayed as part of a user interface including one or more user interface elements, each of the one or more user interface elements having a predefined interface element color, and the method further includes using a display-side ambient lighting color conversion to convert the predefined interface element color to the lighting-corrected interface color based on the ambient lighting conditions of the first real-world environment. In this example or any other example, the method further includes interrupting the display-side ambient lighting color conversion based on a battery charge level of the first computing device falling below a threshold. In this example or any other example, the method further includes: when the first computing device is located in a third real-world environment, receiving input to display the first ambient lighting-agnostic digital image; generating a second lighting-corrected digital image from the first ambient lighting-agnostic digital image using a display-side ambient lighting color conversion based on the ambient lighting conditions of the third real-world environment; and displaying the second lighting-corrected digital image on the first computing device. In this example or any other example, the first ambient lighting-agnostic digital image is stored on the first computing device even while the second lighting-corrected digital image is displayed.
[0096] In one example, a computing device includes: a logic machine; and a storage machine that retains instructions executable by the logic machine to perform the following operations: when the computing device is in a first real world environment, receiving a digital image of a second real world environment from a second computing device; generating a lighting-corrected digital image from the digital image using a display-side ambient lighting color conversion based on an ambient lighting condition of the first real world environment; and displaying the lighting-corrected digital image on a display of the computing device. In this example or any other example, the digital image is an ambient lighting-agnostic digital image generated by the second computing device from an original captured image using a capture-side ambient lighting color conversion. In this example or any other example, the capture-side ambient lighting color conversion is configured to convert the color of the original captured image to appear as if the original captured image was captured under predefined lighting conditions. In this example or any other example, the predefined lighting condition is an ambient color temperature of 6500K (D65). In this example or any other example, the capture-side ambient lighting color conversion includes: converting white RGB color values of the original captured image into first white XYZ tristimulus values having a source white point, applying a chromaticity adaptation transform to convert the first white XYZ tristimulus values into adapted white XYZ tristimulus values having a target white point based on ambient lighting surround and brightness factors, and generating an ambient lighting agnostic digital image with the adapted RGB color values. In this example or any other example, the instructions may be further executed to generate an ambient lighting agnostic digital image from the digital image using the capture-side ambient lighting color conversion based on ambient lighting information describing ambient lighting conditions of the second real-world environment, and generate a lighting-corrected digital image from the ambient lighting agnostic digital image using the display-side ambient lighting color conversion. In this example or any other example, the display-side ambient lighting color conversion is configured to convert the color of the digital image to maintain the perceived color accuracy of the second real-world environment under the ambient lighting conditions of the first real-world environment.
[0097] In one example, a method for color conversion of digital images includes: receiving, at a computing device in a first real-world environment, a digital image of a second real-world environment and ambient lighting information describing ambient lighting conditions of the second real-world environment; generating an ambient lighting-agnostic digital image from the digital image using a capture-side ambient lighting color conversion based on the ambient lighting conditions of the second real-world environment; generating an illumination-corrected digital image from the ambient lighting-agnostic digital image using a display-side ambient lighting color conversion based on the ambient lighting conditions of the first real-world environment; and displaying the illumination-corrected digital image on the computing device.
[0098] It should be understood that the configurations and / or approaches described herein are exemplary in nature, and these specific embodiments or examples should not be considered to have limiting significance, as many variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. Thus, the various actions illustrated and / or described may be performed in the illustrated and / or described order, in other orders, in parallel, or omitted. Likewise, the order of the processes described above may be changed.
[0099] The subject matter of the present disclosure includes all novel and non-obvious combinations and sub-combinations of the various processes, systems and configurations, and other features, functions, acts, and / or properties disclosed herein, as well as any and all equivalents thereof.
Claims
1. A method for color conversion of a digital image, comprising: capturing, at a first computing device, a first digital image of a first real-world environment; generating a first ambient lighting agnostic digital image from the first digital image using a capture-side ambient lighting color transform based on ambient lighting conditions of the first real-world environment; transmitting the first environment lighting agnostic digital image to a second computing device in a second real world environment; receiving, from the second computing device, a second ambient lighting agnostic digital image of the second real-world environment, the second ambient lighting agnostic digital image having been generated by the second computing device from a second digital image using a capture-side ambient lighting color transform of the second real-world environment; generating a lighting-corrected digital image from the second ambient lighting-agnostic digital image using a display-side ambient lighting color transform based on the ambient lighting condition of the first real-world environment; as well as The lighting-corrected digital image is displayed on the first computing device.
2. The method of claim 1, wherein the capture-side ambient lighting color conversion is configured to convert the colors of the first digital image to appear as if the first digital image was captured under predefined lighting conditions.
3. The method of claim 2, wherein the predefined lighting condition is an ambient color temperature of 6500K (D65).
4. The method of claim 2, wherein the capture-side ambient lighting color conversion comprises: Converting white RGB color values of the digital image into first white XYZ tristimulus values having a source white point, applying a chromaticity adaptation transform to convert the first white XYZ tristimulus values into adapted white XYZ tristimulus values having a target white point based on ambient lighting surround and brightness factors, and generating the ambient lighting agnostic digital image having adapted RGB color values.
5. The method of claim 1 , wherein the display-side ambient lighting color conversion is configured to convert the colors of the second ambient lighting-agnostic digital image to maintain the perceived color accuracy of the second real-world environment when displayed on a color-calibrated display under the ambient lighting conditions of the first real-world environment.
6. The method of claim 1, wherein the ambient lighting condition of the first real-world environment is determined using an ambient color sensor of the first computing device.
7. The method of claim 1, further comprising: The display-side ambient lighting color transform is used on the first computing device to generate a second lighting-corrected digital image from the first ambient lighting-agnostic digital image of the first real-world environment, and the second lighting-corrected digital image is displayed on the first computing device.
8. The method of claim 1, wherein the transmission of the first ambient lighting agnostic digital image and the reception of the second ambient lighting agnostic digital image are performed by a live video communications application of the first computing device.
9. A method as claimed in claim 1, wherein the lighting-corrected digital image is displayed as part of a user interface including one or more user interface elements, each of the one or more user interface elements having a predefined interface element color, and the method further includes using the display-side ambient lighting color conversion to convert the predefined interface element color into a lighting-corrected interface color based on the ambient lighting conditions of the first real-world environment.
10. The method of claim 1, further comprising interrupting the display-side ambient lighting color conversion based on a battery charge level of the first computing device falling below a threshold.
11. The method of claim 1, further comprising: receiving input to display the first environment lighting-agnostic digital image while the first computing device is in a third real-world environment; generating a second lighting-corrected digital image from the first ambient lighting-agnostic digital image using the display-side ambient lighting color conversion based on ambient lighting conditions of the third real-world environment; as well as The second lighting-corrected digital image is displayed on the first computing device.
12. The method of claim 11, wherein the first ambient lighting agnostic digital image is stored on the first computing device even while the second lighting corrected digital image is being displayed.
13. A computing device comprising: Logic Machine; as well as a storage machine that holds instructions executable by the logic machine to: receiving, while the computing device is in the first real-world environment, a digital image of a second real-world environment from a second computing device; generating an ambient lighting agnostic digital image from the digital image using a capture-side ambient lighting color transformation based on ambient lighting information describing ambient lighting conditions of the second real-world environment; generating a lighting-corrected digital image from the ambient lighting agnostic digital image using a display-side ambient lighting color conversion based on an ambient lighting color temperature of the first real-world environment; as well as The lighting-corrected digital image is displayed on a display of the computing device.
14. The computing device of claim 13, wherein the capture-side ambient lighting color conversion is configured to convert the colors of the digital image to appear as if the digital image was captured under predefined lighting conditions.
15. The computing device of claim 14, wherein the predefined lighting condition is an ambient color temperature of 6500K (D65).
16. The computing device of claim 14, wherein the capture-side ambient lighting color conversion comprises: Converting white RGB color values of the digital image into first white XYZ tristimulus values having a source white point, applying a chromaticity adaptation transform to convert the first white XYZ tristimulus values into adapted white XYZ tristimulus values having a target white point based on ambient lighting surround and brightness factors, and generating the ambient lighting agnostic digital image having adapted RGB color values.
17. The computing device of claim 13, wherein the display-side ambient lighting color conversion is configured to convert the color of the digital image to maintain the perceived color accuracy of the second real-world environment under the ambient lighting conditions of the first real-world environment.
18. A method for color conversion of a digital image, comprising: receiving, at a computing device in a first real-world environment, a digital image of a second real-world environment and ambient lighting information describing ambient lighting conditions of the second real-world environment; generating an ambient lighting agnostic digital image from the digital image using a capture-side ambient lighting color transform based on the ambient lighting conditions of the second real-world environment; generating a lighting-corrected digital image from the ambient lighting-agnostic digital image using a display-side ambient lighting color conversion based on ambient lighting conditions of the first real-world environment; as well as The lighting-corrected digital image is displayed on the computing device.
Citation Information
Patent Citations
Color reproduction of display camera system
US20140292997A1
Adaptive post-processing for mobile video calling system
US20140362159A1