Multi-color flash with image post-processing
By adopting the multi-color flash method of image post-processing in the camera, the controller acquires images under different color flashes and post-processes to generate the final image, solving the high-cost preprocessing problem in the prior art and achieving cost-effective optimal color point selection.
Patent Information
- Application Number
- CN202080093701.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-12-05
- Filing Date
- 2020-11-19
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2040-11-19
AI Technical Summary
When using multi-color flash cameras in low-light conditions, complex and expensive pre-processing steps are required to adjust the current of the LED to match the color points before acquiring the image, resulting in high cost of use in mobile applications such as mobile phones.
Using a multi-color flash method with image post-processing, the camera is controlled to acquire images under different color flash lighting through the controller, and the final image is generated in the post-processing, reducing the dependence on pre-processing.
The preprocessing requirement is alleviated through post-processing technology, allowing for the use of less complex processing units, reducing costs while achieving the optimal color point selection.
Smart Images

Figure CN115280758B_ABST
Abstract
Description
[0001] Cross - reference to related applications
[0002] This application claims the benefit and priority of U.S. Provisional Application No. 62 / 937,550, filed on November 19, 2019, and U.S. Non - Provisional Application No. 16 / 704,864, filed on December 5, 2019. For all purposes, their disclosures are hereby incorporated herein by reference in their entireties. Technical Field
[0003] The present disclosure generally relates to cameras, and more particularly, to cameras with multi - color flashlights. Background Art
[0004] Camera flashlights provide illumination in low - light conditions. For optimal color rendering, the color of the flashlight should match the color of the object and / or the entire image. This can be achieved by using a set of light sources of different colors such that the combined color point produced by the set matches the color point of the object and / or the entire image. Due to their compact size and low power requirements, light - emitting diodes (LEDs) are attractive candidates for light sources used in camera flashlights of handheld battery - powered devices such as cameras and mobile phones.
[0005] D1 (U.S. Patent No. 9,766,533) describes a device including a flash unit and a controller. The controller is configured to generate a third image based on a first image and a second image. Brief Description of the Drawings
[0006] To provide a more complete understanding of the present disclosure and its features and advantages, the following description is made with reference to the accompanying drawings, in which like reference numerals represent like parts, and in which:
[0007] Figure 1 A block diagram showing an example camera device according to some embodiments of the present disclosure is provided;
[0008] Figure 2 A flowchart of a method for performing multi - flash with image post - processing according to some embodiments of the present disclosure is provided;
[0009] Figure 3 An example graph showing the color points of two different - colored flashlights and the color point of ambient illumination according to some embodiments of the present disclosure is provided;
[0010] Figure 4 Shows an example of using Figure 3 a graph to calculate a correction factor for a flashlight of a first color according to some embodiments of the present disclosure;
[0011] Figure 5shows an example of calculating a correction factor for a flash of a second color using a Figure 3 graph according to some embodiments of the present disclosure;
[0012] Figure 6 shows an example of calculating a correction factor for a flash of two colors using a Figure 3 graph according to some embodiments of the present disclosure; and
[0013] Figure 7 provides a block diagram showing an example data processing system according to some embodiments of the present disclosure, which can be configured to implement at least portions of the multi-color flash with image post-processing as described herein. DETAILED DESCRIPTION
[0014] Overview
[0015] The systems, methods, and devices of the present disclosure each have several innovative aspects, none of which alone is responsible for all of the desirable attributes disclosed herein. Details of one or more implementations of the subject matter described in this specification are set forth in the following description and the accompanying drawings.
[0016] For the purpose of illustrating the multi-color flash with image post-processing described herein, it may be useful to understand the phenomena that can occur in a multi-color flash camera. The following basic information can be considered as a basis for properly interpreting the present disclosure. This information is provided solely for the purpose of explanation and should not, therefore, be construed in any way as limiting the broad scope of the present disclosure and its potential applications.
[0017] An LED flash in a camera (or more generally, any imaging device) - such as in mobile imaging - provides illumination when acquiring an image under low light conditions. As described above, for optimal color reproduction, the color of the flash should match the color of the object and / or the entire image, which can be achieved by using a set of light sources of different colors to set the optimal color point. One conventional method of setting the correct color point is to first measure the color point with a camera or other device and then adjust the set of LEDs to regulate the current used to drive each LED. One challenge with this method is that both the measurement and the adjustment should be performed between the time the user presses the button to acquire the image and the time the camera actually acquires the image. This is a time-critical step and typically requires a dedicated processing unit, which can be very expensive in terms of processing power and required components. Performing such preprocessing can be particularly costly for mobile applications such as multi-flash cameras used in mobile phones.
[0018] Embodiments of the present disclosure provide a method that can be referred to as "multicolor flash with image post - processing" because it uses a camera device with a multicolor flash (i.e., a flash with at least two different colors or color points), and performs post - processing (i.e., processing after the camera has acquired an image) to generate an image. In one aspect, the multicolor flash with image post - processing can be implemented by a controller that is configured to control a camera and a flash with at least two different colors (or associated with at least two different color points), referred to as the "first flash" and the "second flash". Generally, as used herein, the term "first flash" can refer to a set of light sources (e.g., a set of LEDs) that, when the first flash is used during image acquisition, causes the image to be associated with a first color point. Similarly, the term "second flash" can refer to a set of light sources (e.g., a set of LEDs) that, when the second flash is used during image acquisition, causes the image to be associated with a second color point different from the first color point. The controller can be configured to cause the camera to acquire a first image of a scene when the scene is being illuminated by the first flash rather than the second flash (which can cause the first image to be associated with the first color point), then cause the camera to acquire a second image of the scene when the scene is being illuminated by the second flash rather than the first flash (which can cause the second image to be associated with a second color point different from the first color point), and generate a final image of the scene in post - processing based on a combination of the first image and the second image. For example, the final image can be generated as a weighted average, squared weighted average, weighted median, or any other suitable combination of the first and second images to represent the desired balance between the first and second flashes in the final image. In this way, the selection of the optimal / desired color points of the multicolor flash can be performed in post - processing, which can reduce some of the requirements or needs for pre - processing steps that must be performed, thus advantageously allowing, for example, the use of a less complex processing unit, which can result in significant cost savings. For example, in some embodiments, the post - processing to generate the final image can be performed by an application - layer processor. Other features and advantages of the present disclosure will be apparent from the following description and claims.
[0019] In the following, multicolor flashlights are described with reference to two different colored (or colored dots) flashlights. For example, a first flashlight may cause a first colored dot to be a cold white (CW) colored dot, and a second flashlight may cause a second colored dot to be a warm white (WW) colored dot. However, these descriptions can be easily extended to other embodiments, where other colors of the first and second flashlights may be used, and / or where more than two different colored flashlights may be used, all of which embodiments are within the scope of the present disclosure. Further, although some descriptions may refer to LEDs as the light sources for the different colored flashlights, in other embodiments, any suitable light source may be used, not limited to LEDs. Still further, the descriptions provided herein regarding one colored flashlight providing illumination while the other colored flashlight is off are equally applicable and encompass embodiments where the second flashlight is not completely off but is dimmed - e.g., dimmed to less than about 30%, less than about 20%, or less than about 10% of its nominal output, including all values and ranges therein. Since each flashlight can be implemented as a collection of light sources (e.g., a collection of LEDs), embodiments can be envisioned where, when not acquiring an image with different colored flashlights, as described herein, all of the LEDs are off. Instead, it may be that different groups of LEDs emit light with different intensities at different times, which results in different colored dots in the image, and these colored dots are acquired to produce the final image as described herein. Thus, generally, the descriptions regarding acquiring a given image when a given flashlight is illuminating a scene while other flashlights are not illuminating the scene include any embodiment where a given group of light sources - each light source at a certain intensity (which intensity may vary from one light source to another) - emits light, thereby causing illumination of the scene associated with a colored dot that is different from the colored dots of one or more other flashlights. Thus, the multicolor flash with image post - processing described herein generally refers to any embodiment that utilizes multiple consecutive photos taken with various flashlight colored dots that are subsequently combined, where the flashlight colored dots do not necessarily need to be the same as the colored dots of a given light source or a given group of light sources.
[0020] As will be appreciated by those skilled in the art, aspects of the present disclosure - particularly aspects of multi-color flashes with image post-processing described herein - can be embodied in various ways, such as as a method, system, computer program product, or computer-readable storage medium. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, microcode, etc.), or an embodiment combining software and hardware aspects, which in this context are generally referred to herein as "circuits", "modules", or "systems". The functions described in the present disclosure may be implemented as algorithms executed by one or more hardware processing units (such as one or more microprocessors) of one or more computers. In various embodiments, different steps and portions of steps of each method described herein may be performed by different processing units. Additionally, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer-readable media (preferably non-transitory), on which computer-readable program code is embodied (e.g., stored). In various embodiments, such a computer program may, for example, be downloaded (updated) to existing devices and systems (such as existing camera devices and / or their controllers, etc.) or stored during the manufacture of these devices and systems.
[0021] In the following detailed description, terms commonly used by those skilled in the art to convey the substance of their work to other skilled artisans in the art may be used to describe aspects of the illustrative embodiments. For example, if used, the term "connected" means a direct electrical or magnetic connection between the things being connected, without any intermediate devices, while the term "coupled" means a direct electrical or magnetic connection between the things being connected, or an indirect connection through one or more passive or active intermediate devices. The term "circuit" means one or more passive and / or active components that are arranged to cooperate with each other to provide the desired function. The terms "substantially", "near", "approximate", "proximate", and "about" generally refer, based on the context of a particular value described herein or known in the art, within + / - 20% of the target value, preferably within + / - 10%.
[0022] For the purposes of the present disclosure, the phrase "A and / or B" means (A), (B), or (A and B). For the purposes of the present disclosure, the phrase "A, B, and / or C" means (A), (B), (C), (A and B), (A and C), (B and C), or (A, B, and C). When referring to a measurement range, the term "between" includes the endpoints of the measurement range. As used herein, the symbol "A / B / C" means (A), (B), and / or (C).
[0023] This specification uses the phrases "in one embodiment" or "in an embodiment", each of which can refer to one or more of the same or different embodiments. In addition, the terms "comprising", "including", "having", etc. used with respect to the embodiments of the present disclosure are synonymous. Unless otherwise stated, the use of the ordinal adjectives "first", "second", "third", etc. to describe a common object merely indicates that different instances of similar objects are being referred to, and is not intended to mean that the objects so described must be in a given order in time, space, ranking, or in any other way.
[0024] In the following detailed description, reference is made to the accompanying drawings which form a part hereof, and which illustrate by way of illustration some embodiments in which the subject matter may be practiced. In the drawings, like reference numerals refer to the same or similar elements / materials, such that the explanation of an element / material with a given reference numeral provided in the context of one drawing is applicable to other drawings in which the element / material with the same reference numeral may be shown. The accompanying drawings are not necessarily drawn to scale. Further, it will be understood that some embodiments may include more elements than shown in the drawings, some embodiments may include a subset of the elements shown in the drawings, and some embodiments may incorporate any suitable combination of features from two or more of the drawings.
[0025] The various operations may be described sequentially as a number of discrete actions or operations in a manner most helpful in understanding the claimed subject matter. However, the order of description should not be construed as implying that these operations are necessarily order-dependent. In particular, these operations may not be performed in the order presented. The described operations may be performed in an order different from the described embodiments. In additional embodiments, various additional operations may be performed, and / or the described operations may be omitted.
[0026] In some examples provided herein, the interactions may be described in terms of two, three, four, or more electrical components. However, this is done merely for clarity and illustrative purposes. It should be appreciated that the devices and systems described herein may be combined in any suitable manner. Along similar design alternatives, any one of the components, modules, and elements shown in the accompanying drawings may be combined in various possible configurations, all of which are clearly within the broad scope of the present disclosure. In some cases, it may be easier to describe one or more functions of a given set of processes by only referring to a limited number of electrical elements.
[0027] The following detailed description presents various descriptions of certain specific embodiments. However, it should be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present disclosure. In general, the innovations described herein may be embodied in many different ways, e.g., as defined and covered by the claims and / or selected examples, and the following detailed description should not be construed in a limiting sense.
[0028] Example camera device
[0029] Figure 1 A block diagram is provided showing an example camera device 100 according to some embodiments of the present disclosure, in which a multi-color flash with image post-processing can be implemented. As Figure 1 shown, the camera device 100 may include a first flash 102 (i.e., a flash associated with a first color dot), a second flash 104 (i.e., a flash associated with a second color dot), a camera 106, a controller 108, and an optional measurement unit 110.
[0030] Each of the first flash 102 and the second flash 104 may include a set of light sources (e.g., a set of LEDs), which, when the camera 106 illuminates a scene with one of these flashes to acquire an image, causes the acquired image to be associated with a different color dot. For example, the first flash 102 may be a CW color flash, and the second flash 104 may be a WW color flash. In some embodiments, a scene illuminated by the first flash 102 may include a scene illuminated by a first plurality of light sources of one or more of a plurality of colors, and a scene illuminated by the second flash 104 may include a scene illuminated by a second plurality of light sources of one or more of a plurality of colors, and the illumination provided by the second plurality of light sources has a color different from the illumination provided by the first plurality of light sources. The color of a given flash (or a given light source or set of light sources) may result from different emission spectra of the light sources and is characterized by different positions (color dots) in the RGB color space of the camera 106.
[0031] The sets of LEDs of the first flash 102 and the second flash 104 may be arranged in a matrix or a vector. Thus, the LEDs of a particular color dot may be in a particular matrix. In one implementation, the camera device 100 includes two matrices for two color dots, e.g., one matrix for CW color and another matrix for WW color. Thus, depending on the desired color dot, all the LEDs of the matrix can be activated. In one implementation, the matrices share the same LEDs and are controlled to emit colored light of different intensities at different times.
[0032] The LEDs in the LED assembly can be micro-LEDs. Thus, the first flash 102 and the second flash 104 can be micro-LED (pLED) pixel arrays, where dozens, hundreds, thousands, or millions of LEDs are located together on a substrate with a centimeter-scale area or less. In some embodiments, the size of the micro-LEDs is between 30 microns and 500 microns. In various embodiments, the position spacing of the light-emitting pixels is less than 1 millimeter and is typically spaced apart by a distance from 30 microns to 500 microns. In many instances, the micro-LED pixels are individually addressable.
[0033] The camera 106 can include any suitable imaging device configured to acquire an image of a scene. The camera 106 can be communicatively coupled to each of the first flash 102 and the second flash 104 such that when the camera 106 is acquiring an image, these flashes can be synchronized to provide illumination of the scene.
[0034] The timing of acquiring an image by the camera 106 and the selective engagement of the flashes 102 and 104 in providing illumination when an image is acquired can be controlled by the controller 108, for example, as described below. The controller 108 can also be configured to generate a final image of the scene based on the image acquired by the camera 106. In some embodiments, the controller 108 can be implemented as Figure 7 the data processing system 700 shown, or include Figure 7 at least portions of the data processing system 700 shown.
[0035] If used, the measurement unit 110 can be configured to perform additional measurements that the controller 108 can use when generating the final image. For example, in various embodiments, the measurement unit 110 can be configured to measure one or more of the ambient (white) color point, spectrum, ambient (white) RGB response, ambient correlated color temperature (CCT), and other parameters related to the acquired image (such as autofocus, autoexposure, etc.). In some embodiments, the measurement unit 110 can also be configured to perform measurements of the values of Ra, Ba, Ga, or perform measurements that enable the calculation of the values of Ra, Ba, Ga, as described below, where the values of Ra, Ba, Ga are, for example, the values used in the equations (1)-(3) provided below.
[0036] Although the camera device 100 shows only two flashlights of different colors (i.e., flashlights 102 and 104), in other embodiments, additional flashlights of different colors may be included in the camera device 100. Additionally, in further embodiments, the camera device 100 may include other components. For example, in some embodiments, the camera device 100 may further include an output device configured to display one or more of, for example, the first image, the second image, and the final image described herein. In another example, in some embodiments, the camera device 100 may further include an input device configured to receive user input for the camera device to use to perform one or more of causing the camera 106 to acquire the first image, causing the camera 106 to acquire the second image, and the controller 108 to generate the final image. In yet another example, in some embodiments, the camera device 100 may further include one or more communication chips and antennas configured to wirelessly transmit one or more of the first image, the second image, and the final image, and / or wirelessly receive input for the camera device 100 to use to perform one or more of causing the camera to acquire the first image, causing the camera to acquire the second image, and generating the final image.
[0037] In addition, although various components are shown as being included within the camera device 100, in various embodiments, the camera device 100 may refer to a device including any combination of one or more of these components, in which case Figure 1 the other components shown in Figure 1 may be implemented externally (i.e., in a separate device) and may be communicatively coupled, as needed, via any suitable communication channel to the components of the camera device 100 to implement multi-flash with image post-processing as described herein.
[0038] In various embodiments, the camera device 100 may be, for example, a wearable camera device (e.g., a smartwatch), a handheld camera device (e.g., a mobile phone), or a fixed camera (e.g., a security / surveillance camera).
[0039] Example Method
[0040] Figure 2 FIG. shows a flowchart of a method 200 for performing multi-flash with image post-processing according to some embodiments of the present disclosure. Although method 200 is now described with reference to Figure 1 the elements shown in
[0041] As Figure 2As shown, method 200 may begin with process 202, which includes the controller 108 causing the camera 106 to acquire a first image of the scene while the scene is being illuminated by the first flash 102 rather than the second flash 104. Similarly, in process 204 of method 200, the controller 108 causes the camera 106 to acquire a second image of the scene while the scene is being illuminated by the second flash 104 rather than the first flash 102. Generally speaking, processes 202 and 204 indicate that method 200 includes the camera 106 acquiring separate images with different-colored flashes, where for each of these images, one or more flashes illuminate the scene during image acquisition while one or more other flashes are off. Typically, ambient light will also be present, and when acquiring an image with external illumination from flash 102 or 104, the ambient light also provides illumination for the scene. Thus, more generally, process 202 includes the controller 108 causing the camera 106 to acquire a first image while the scene is being illuminated by the first flash 102 and ambient light, and process 204 includes the controller 108 causing the camera 106 to acquire a second image while the scene is being illuminated by the second flash 104 and ambient light.
[0042] As Figure 2 shown, method 200 may also include an optional process 206, which includes the controller 108 causing the camera 106 to acquire a third image of the scene while the scene is not being illuminated by the first or second flash 102, 104 (or, more generally, while the scene is not being illuminated by any flash and only ambient light may be present).
[0043] Although the images acquired in processes 202, 204, and 206 are referred to as the first, second, and third images, generally speaking, these processes may be performed in an order different from Figure 2 that shown. For example, in some embodiments, the order may be as follows: First, process 202 is performed, then process 206 is performed after process 202, and then process 204 is performed after process 206.
[0044] In addition, in some embodiments, method 200 may include performing any one of processes 202, 204, and 206 multiple times, e.g., to compensate for motion-related artefacts. In some such embodiments, any one of processes 202, 204, and 206 may be repeatedly performed continuously multiple times. In other such embodiments, method 200 may be any combination of these processes. For example, method 200 may include performing processes 202, 204, and 206 in the following order: 202, 206, 202, 204, 206, 202, 206, 202, 202, 206, 204. Generally, any combination of these processes may be included in method 200. In this context, for all the descriptions provided herein, the first, second, and third images may not necessarily refer to the pixel values of the images acquired by camera 106, but rather to any combination of pixel values from multiple instances of acquiring each image. For example, if method 200 includes repeatedly performing process 202 multiple times, the "first image" may refer to a matrix of pixel values, where each pixel value is a combination, e.g., an average or any other statistical representation, of the corresponding pixel values in multiple instances of the image initially acquired in each process 202. In this context, when the pixel values of an image are pixels in the same location / position within the pixel matrix of the image, these pixel values may be referred to as "corresponding to the pixel values of another image". For example, the pixel value of pixel (1, 1) in the pixel matrix of an image (i.e., the pixel in the first row and first column of the pixel array of the image) corresponds to the pixel value of pixel (1, 1) in the pixel matrix of another image.
[0045] In addition, in different embodiments of method 200, what is considered a pixel value may vary. In some embodiments, the different pixels may be monochromatic pixels. In other embodiments, the different pixels may be (R, G, B) pixels. In other embodiments, the different pixels may be other color combinations, such as RGBW or RGB / cyan. Unless otherwise specified, when "pixel value" is mentioned in any of the explanations provided herein, the pixel values according to any one of these embodiments are within the scope of the present disclosure.
[0046] Images are acquired using different-colored flashlights that provide illumination and using only ambient light that provides illumination without using an external flashlight, such that these images are associated with different color points, which can later be used by controller 108 to combine the images in post-processing to generate a final image. To this end, in some embodiments, the color points of the images may be shown in a graph, which will be described in more detail below. Figures 3 - 6Some of the examples shown therein each show white dots representing color points of a first image (i.e., the image acquired in process 202), black dots representing color points of a second image (i.e., the image acquired in process 204), and gray dots representing color points of a third image (i.e., the image acquired in process 206).
[0047] Returning to Figure 2 , method 200 may further include process 208, which includes controller 108 generating a final image of the scene based on a combination of at least the first and second images - possibly in combination with the third image (since acquisition of the third image is optional). Some examples of such combination are described below. It should be understood that in various further embodiments, there may be additional processing steps involved in performing process 208, which are not specifically described here, but which are known in the field of image processing, such as normalization of the brightness of the acquired images (e.g., relative to one or more of the image sensor sensitivity, exposure time, and possible other settings of camera 106 during image acquisition), depending on the type of the input images (e.g., jpeg or raw or...), including correction of the gamma curve, application of the same color correction matrix to all pictures (if not fixed before image acquisition), etc.
[0048] In some embodiments, process 208 may include the controller 108 applying respective weights to the pixel values of the first and second images to generate what may be referred to as "modified" first and second images (e.g., where each pixel value of the originally acquired images is multiplied by some weight), and then combining the pixel values of the modified first and second images to generate a final image. For example, in some embodiments, process 208 may include the controller 108 generating a modified first image by multiplying each pixel value of the first image by a first weight (the first weight being a value equal to or greater than zero and equal to or less than 1), and generating a modified second image by multiplying each pixel value of the second image by a second weight (for embodiments that use only two different flashlights, the second weight being a value such that the sum of the first and second weights equals 1). Process 208 may also include the controller 108 generating the final image by, for example, adding the pixel values of the modified first image to the corresponding pixel values of the modified second image on a pixel-by-pixel basis. In this way, the final image may be generated as a weighted average of the first and second images. However, in other embodiments, the weights may be used differently to generate the final image. For example, in various other embodiments, the final image may be generated as a squared weighted average, weighted median, or any other suitable combination (possibly utilizing weights applied thereto) of the first and second images to represent the desired balance between the first and second flashlights in the final image. In some embodiments in which weights are used, the weights may be such that the sum of all weights applied to images having different flashlight colors adds up to 1. Refer to Figures 3 - 6 Some examples are described of how the controller 108 may use weights to implement process 208 of method 200, where the controller 108 may be configured to calculate a correction factor γ applied to the first image to generate a modified first image (i.e., the weight applied to the first image is equal to or based on the correction factor γ), and apply a correction factor equal to 1 - γ to the second image to generate a modified second image (i.e., the weight applied to the second image is equal to or based on the correction factor 1 - γ).
[0049] In addition to the various embodiments that may generate weights and apply the weights to the first and second images, how the modified first and second images are combined in process 208 may also be implemented in various ways. In some embodiments, the controller 108 may be configured to combine the modified first and second images to generate a final image on a pixel-by-pixel basis by combining the pixel values of the modified first image with the corresponding pixel values of the modified second image in some manner. In this context, as used herein, an action described as being performed "on a pixel-by-pixel basis" refers to performing the action on each pixel individually. For example, the controller 108 adding the pixel value of the modified first image to the corresponding pixel value of the modified second image on a pixel-by-pixel basis means that the controller 108 adds the pixel value of pixel (1, 1) of the modified first image to the pixel value of pixel (1, 1) of the modified second image (i.e., the corresponding pixel value), adds the pixel value of pixel (1, 2) of the modified first image to the pixel value of pixel (1, 2) (i.e., the corresponding pixel value), and so on.
[0050] In some embodiments of method 200, the method may further include receiving user input indicating a factor representing the balance between the first and second images in the final image, and then generating the final image in process 208 based on the received factor. For example, in some such embodiments, the controller 108 may be configured to generate a modified first image by multiplying each pixel value of the first image by a first weight indicating the received factor, generate a modified second image by multiplying each pixel value of the second image by a second weight indicating the received factor, and generate the final image by adding the pixel values of the modified first image to the corresponding pixel values of the modified second image on a pixel-by-pixel basis. The discussion provided above regarding generating the final image in a manner different from a simple weighted combination of the first and second images is also applicable to such embodiments.
[0051] Although the discussion of method 200 provided herein and other discussions relate to the processing of images, these discussions are equally applicable to the processing of video signals that may be acquired if the camera 106 is a video recording device that generates a video including a plurality of consecutive frames. In this context, each frame may be generated as the final image described herein.
[0052] Examples of calculating correction factors to be applied in the generation of the final image
[0053] As briefly described above, in some embodiments, process 208 may include the controller 108 calculating something herein referred to as a "correction factor" (denoted as γ) based on the color points of the first, second, and third images, and then applying the correction factor to the first and second images to calculate the pixel values of the final image. Figures 3 - 6 Different examples of how to calculate the correction factor γ are provided.
[0054] Figures 3 - 6 Each of them shows white dots 301, which represent the color dots of the first flash 102 (e.g., calculated by the controller 108 based on the first image obtained in process 202); black dots 302, which represent the color dots of the second flash 104 (e.g., calculated by the controller 108 based on the image obtained in process 204); and gray dots 303, which represent the color dots of the ambient light (e.g., calculated by the controller 108 based on the third image obtained in process 206 or obtained based on the measurement of the measurement unit 110). Figures 3 - 6 The horizontal axis of each example in shows the value obtained by dividing the sum or subset of all red pixels indicating a given image (R) by the sum or subset of all green pixels indicating a given image (G), i.e., R / G; while Figures 3 - 6 the vertical axis of each of shows the value obtained by dividing the sum or subset of all blue pixels indicating a given image (B) by the sum or subset of all green pixels indicating a given image (G), i.e., B / G. However, this is just one example of how a graph showing the color dots of different flashes and the color dots of ambient light can be represented in order to calculate the correction factor applied to the first and second images to generate the final image in process 208, and this example is a specific example given for an RGB camera. In other embodiments, the metrics of the various pixel values indicating the flash illumination image and the ambient light color dots can be different.
[0055] For Figures 3 - 6 the specific example shown in, the coordinates of the first flash color dot 301 within the graph 300 can be (R cw / G cw ; B cw / G cw ), the coordinates of the second flash color dot 302 within the graph 300 can be (R ww / G ww ; B ww / G ww ), and the coordinates of the ambient color dot 303 within the graph 300 can be (R a / G a ; B a / G a ). In this notation, "CW" refers to "cool white", which indicates that the first flash 102 can have a first color of CW; "WW" refers to "warm white", which indicates that the second flash 104 can have a second color of WW; and "a" refers to "ambient".
[0056] In particular, Figure 4 shows that in some embodiments, the correction factor γ can be calculated with reference to the horizontal axis of the graph 300. In particular, Figure 4It is shown that the correction factor can be calculated based on the position of the ambient color point 303 along the horizontal axis of the curve graph 300 relative to the position of the first flash color point 301 along the horizontal axis and the position of the second flash color point 302 along the horizontal axis. To this end, Figure 4 The coordinates of the color points 301, 302, and 303 along the horizontal axis are shown, and these values can be used to calculate the correction factor γ as follows:
[0057] (1).
[0058] Figure 5 It is shown that in some embodiments, the correction factor γ can be calculated with reference to the vertical axis of the curve graph 300. In particular, Figure 5 It is shown that the correction factor can be calculated based on the position of the ambient color point 303 along the vertical axis of the curve graph 300 relative to the position of the first flash color point 301 along the vertical axis and the position of the second flash color point 302 along the vertical axis. To this end, Figure 5 The coordinates of the color points 301, 302, and 303 along the vertical axis are shown, and these values can be used to calculate the correction factor γ as follows:
[0059] (2).
[0060] Finally, Figure 6 It is shown that in some embodiments, the correction factor γ can be calculated with reference to the straight line connecting the first flash color point 301 and the second flash color point 302 of the curve graph 300. In particular, Figure 6 It is shown that the correction factor can be calculated based on the position of the ambient color point 303 along the straight line connecting the first flash color point 301 and the second flash color point 302 in the curve graph 300, relative to the position of the first flash color point 301 along this line and the position of the second flash color point 302 along this line. To this end, Figure 6 The coordinates of the color points 301 and 302 are shown, as well as the coordinates of the projection of the ambient color point 303 onto the line connecting the color points 301 and 302 ( Figure 6 the point 304 marked therein) (R' a / G' a ; B' a / G' a ). In such an embodiment, the correction factor γ can be calculated as follows:
[0061] (3).
[0062] In each of these examples, the correction factor γ can be a value between 0 and 1, and it can be applied to the first and second images in any of the above ways. Additionally, although Figure 6The positions of the ambient color dots are shown relative to the straight line connecting color dots 301 and 302. However, in other embodiments, the ambient color dot 303 may refer to a curve or some other non-straight line between color dots 301 and 302. Further, when using more than two colors of flashlights, the ambient color dots may be determined relative to the corresponding more than two color dots.
[0063] Example data processing system
[0064] Figure 7 FIG. shows a block diagram of an example data processing system 700 according to some embodiments of the present disclosure. The example data processing system 700 may be configured to implement at least portions of a multi-flash camera device with image post-processing as described herein (e.g., referring to Figures 1 - 6 the camera device described).
[0065] As Figure 7 shown, the data processing system 700 may include at least one processor 702 (e.g., a hardware processor 702) coupled to a memory element 704 via a system bus 706. In this way, the data processing system may store program code in the memory element 704. Further, the processor 702 may execute the program code accessed from the memory element 704 via the system bus 706. In one aspect, the data processing system may be implemented as a computer suitable for storing and / or executing program code. However, it should be appreciated that the data processing system 700 may be implemented in the form of any system including a processor and a memory that can perform the functions described within the present disclosure.
[0066] In some embodiments, the processor 702 may execute software or algorithms to perform the activities discussed in this specification, particularly those related to multi-flash with image post-processing as described herein. The processor 702 may include any combination of hardware, software, or firmware that provides programmable logic, including - by way of non-limiting example - a microprocessor, a DSP, a field-programmable gate array (FPGA), a programmable logic array (PLA), an integrated circuit (IC), an application-specific IC (ASIC), or a virtual machine processor. The processor 702 may be communicatively coupled to the memory element 704, for example, in a direct memory access (DMA) configuration, such that the processor 702 can read from or write to the memory element 704.
[0067] Generally, memory element 704 can include any suitable volatile or non-volatile memory technology, including double data rate (DDR) random access memory (RAM), synchronous RAM (SRAM), dynamic RAM (DRAM), flash memory, read-only memory (ROM), optical media, virtual memory regions, magnetic memory or tape memory, or any other suitable technology. Unless otherwise specified, any memory element discussed herein should be construed to be encompassed within the broad term "memory". Information that is measured, processed, tracked, or sent to any component of data processing system 700 or information that is measured, processed, tracked, or sent from any component of data processing system 700 can be provided in any database, register, control list, cache, or storage structure, all of which can be referenced within any suitable time frame. Any such storage option can be included within the broad term "memory" as used herein. Similarly, any potential processing elements, modules, and machines described herein should be construed to be encompassed within the broad term "processor". Each element shown in this figure - such as Figure 1 any circuit / component shown in
[0068] In certain example embodiments, the mechanisms for implementing multi-flash with image post-processing in a camera device as outlined herein can be implemented by logic encoded in one or more tangible media, which can include non-transitory media such as: embedded logic provided in an ASIC, in DSP instructions, software (potentially including object code and source code) to be executed by a processor, or other similar machines, etc. In some of these instances, memory elements - such as for example Figure 7 memory element 704 as shown - can store data or information for the operations described herein. This includes memory elements capable of storing software, logic, code, or processor instructions that are executed to effectuate the activities described herein. The processor can execute any type of instructions associated with the data or information to implement the operations described in detail herein. In one example, a processor - such as for example Figure 7The illustrated processor 702 - can transform an element or article (e.g., data) from one state or thing to another. In another example, the activities outlined herein can be implemented with fixed logic or programmable logic (e.g., software / computer instructions executed by a processor), and the elements identified herein can be a programmable processor of some type, programmable digital logic (e.g., FPGA, DSP, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)), or an ASIC that includes digital logic, software, code, electronic instructions, or any suitable combination thereof.
[0069] The memory element 704 can include one or more physical memory devices, such as, for example, local memory 708 and one or more mass storage devices 710. Local memory can refer to RAM or other non-persistent storage devices generally used during the actual execution of program code. The mass storage device can be implemented as a hard disk drive or other persistent data storage device. The processing system 700 can also include one or more caches (not shown) that provide temporary storage of at least some program code to reduce the number of times program code must be retrieved from the mass storage device 710 during execution.
[0070] As Figure 7 illustrated, the memory element 704 can store an application 718. In various embodiments, the application 718 can be stored in the local memory 708, one or more mass storage devices 710, or separate from the local memory and mass storage devices. It should be appreciated that the data processing system 700 can further execute an operating system ( Figure 7 not shown herein) that can facilitate the execution of the application 718. The application 718, implemented in the form of executable program code, can be executed by the data processing system 700 (e.g., by the processor 702). In response to executing the application, the data processing system 700 can be configured to perform one or more of the operations or method steps described herein.
[0071] Optionally, input / output (I / O) devices depicted as input device 712 and output device 714 can be coupled to the data processing system. Examples of input devices can include, but are not limited to, a keyboard, a pointing device such as a mouse, etc. Examples of output devices can include, but are not limited to, a monitor or display, or a speaker, etc. In some embodiments, output device 714 can be any type of screen display, such as a plasma display, a liquid crystal display (LCD), an organic light emitting diode (OLED) display, an electroluminescent (EL) display; or any other indicator, such as a dial, a barometer, or a light emitting diode (LED). In some implementations, the system can include a driver (not shown) for output device 714. The input and / or output devices 712, 714 can be coupled to the data processing system directly or through an intermediate I / O controller.
[0072] In an embodiment, the input and output devices can be implemented as a combined input / output device (illustrated by the dashed line surrounding input device 712 and output device 714 in Figure 7 ). An example of such a combined device is a touch-sensitive display, sometimes also referred to as a "touchscreen display" or simply a "touchscreen". In such an embodiment, input to the device can be provided by the movement of a physical object (such as, for example, a user's finger or a stylus) on or near the touchscreen display.
[0073] Network adapter 716 can also optionally be coupled to the data processing system to enable it to be coupled to other systems, computer systems, remote network devices, and / or remote storage devices through an intermediate private or public network. The network adapter can include a data receiver for receiving data transmitted to the data processing system 700 by the system, device, and / or network, and a data transmitter for transmitting data from the data processing system 700 to the system, device, and / or network. Modems, cable modems, and Ethernet cards are examples of different types of network adapters that can be used with the data processing system 700.
[0074] Selected examples
[0075] Example 1 provides a camera device that includes a controller configured to: cause the camera to acquire a first image of a scene when the scene is being illuminated by a first flash and substantially not being illuminated by a second flash, the first flash causing the first image to be associated with a first color dot; cause the camera to acquire a second image of the scene when the scene is being illuminated by the second flash and substantially not being illuminated by the first flash, the second flash causing the second image to be associated with a second color dot different from the first color dot; and generate a final image of the scene based on a combination of the first image and the second image.
[0076] Example 2 provides a camera device according to Example 1, wherein the controller is configured to generate a final image of the scene based on a combination of the first image and the second image by: generating a modified first image by multiplying each pixel value of the first image by a first weight (the first weight is a value equal to or greater than zero and equal to or less than 1), generating a modified second image by multiplying each pixel value of the second image by a second weight (for an embodiment using only two different flashlights, the second weight is a value equal to 1 minus the first weight), and generating the final image by adding the pixel values of the modified first image and the corresponding pixel values of the modified second image on a pixel-by-pixel basis. In this way, the final image can be generated as a weighted average of the first and second images.
[0077] Example 3 provides a camera device according to Example 1, wherein the controller is further configured to cause the camera to acquire a third image of the scene when the scene is not illuminated by the first flashlight and not illuminated by the second flashlight (e.g., the third image can be acquired using only ambient illumination). Such a third image can be used to determine the ambient color point described herein. In other examples, the ambient color point can be determined based on the measurements of the measurement unit 110.
[0078] Example 4 provides a camera device according to Example 3, wherein the controller is configured to generate a final image of the scene based on a combination of the first image and the second image by: calculating a multicolor flash post-processing factor (γ) based on at least a subset of pixel values of the first image, the second image, and the third image, generating a modified first image by multiplying each pixel value of the first image by γ, generating a modified second image by multiplying each pixel value of the second image by a value equal to 1 - γ, and generating the final image by adding the pixel values of the modified first image and the corresponding pixel values of the modified second image on a pixel-by-pixel basis.
[0079] Example 5 provides a camera device according to Example 4, wherein the third image is associated with a third color point, and each of the first color point, the second color point, and the third color point has a respective different position in a graph having a first axis and a second axis, the first axis of the graph indicating the ratio of the sum of at least a subset of pixel values of a first primary color to the sum of at least a subset of pixel values of a third primary color, and the second axis of the graph indicating the ratio of the sum of at least a subset of pixel values of a second primary color to the sum of at least a subset of pixel values of a third primary color, and the controller is configured to calculate γ based on at least a subset of pixel values of the first image, the second image, and the third image by calculating a value indicating the position of the third color point relative to the position of the first color point along the first axis of the graph and the position of the second color point along the first axis of the graph.
[0080] Example 6 provides a camera device according to Example 4, wherein a third image is associated with a third color point, each of the first color point, the second color point, and the third color point has a respective different position in a graph having a first axis and a second axis, the first axis of the graph indicates a ratio of a sum of at least one subset of pixel values of a first primary color to a sum of at least one subset of pixel values of a third primary color, and the second axis of the graph indicates a ratio of a sum of at least one subset of pixel values of a second primary color to a sum of at least one subset of pixel values of a third primary color, and the controller is configured to calculate γ based on at least a subset of pixel values of the first image, the second image, and the third image by calculating a value indicating a position of the third color point relative to a position of the first color point along the second axis of the graph and a position of the second color point along the second axis of the graph.
[0081] Example 7 provides a camera device according to Example 4, wherein a third image is associated with a third color point, each of the first color point, the second color point, and the third color point has a respective different position in a graph having a first axis and a second axis, the first axis of the graph indicates a ratio of a sum of at least one subset of pixel values of a first primary color to a sum of at least one subset of pixel values of a third primary color, and the second axis of the graph indicates a ratio of a sum of at least one subset of pixel values of a second primary color to a sum of at least one subset of pixel values of a third primary color, and the controller is configured to calculate γ based on at least a subset of pixel values of the first image, the second image, and the third image by calculating a value indicating a position of the third color point relative to a line connecting a position of the first color point and a position of the second color point in the graph.
[0082] Example 8 provides a camera device according to Example 1, wherein the controller is configured to generate a final image of a scene based on a combination of a first image and a second image by: receiving a user input indicating a factor representing a balance between the first image and the second image in the final image, generating a modified first image by multiplying each pixel value of the first image by a first weight indicating the factor, generating a modified second image by multiplying each pixel value of the second image by a second weight indicating the factor, and generating the final image by adding pixel values of the modified first image and corresponding pixel values of the modified second image on a pixel-by-pixel basis.
[0083] Example 9 provides a camera device according to any of the foregoing examples, wherein the camera device is a video recording device configured to generate a video including a plurality of consecutive frames, and the final image is one of the plurality of frames of the video.
[0084] Example 10 provides a camera device according to Example 9, wherein each of the plurality of frames of the video is generated as a respective final image based on a combination of a respective first image and a respective second image acquired for the frame.
[0085] Example 11 provides a camera device according to any of the foregoing examples, wherein the scene illuminated by the first flash includes a scene illuminated by a first plurality of light sources of one or more colors among a plurality of colors, and the scene illuminated by the second flash includes a scene illuminated by a second plurality of light sources of one or more colors among the plurality of colors, and the illumination provided by the second plurality of light sources has a color different from the illumination provided by the first plurality of light sources.
[0086] Example 12 provides a camera device according to any of the foregoing examples, wherein the first color point is a cool white color point and the second color point is a warm white color point.
[0087] Example 13 provides a camera device according to any of the foregoing examples, wherein the camera device further includes one or more of a camera, a first flash, and a second flash.
[0088] Example 14 provides a camera device according to any of the foregoing examples, wherein the camera device further includes an output device configured to display one or more of a first image, a second image, and a final image.
[0089] Example 15 provides a camera device according to any of the foregoing examples, wherein the camera device further includes an input device configured to receive user input for the camera device to use to perform one or more of causing the camera to acquire a first image, causing the camera to acquire a second image, and generating a final image.
[0090] Example 16 provides a camera device according to any of the foregoing examples, wherein the camera device further includes one or more communication chips and antennas configured to: wirelessly transmit one or more of a first image, a second image, and a final image; or wirelessly receive input for the camera device to use to perform one or more of causing the camera to acquire a first image, causing the camera to acquire a second image, and generating a final image.
[0091] Example 17 provides a camera device according to any of the foregoing examples, wherein the camera device is a wearable camera device (e.g., a smartwatch), a handheld camera device (e.g., a mobile phone), or a fixed camera (e.g., a security / surveillance camera).
[0092] Example 18 provides a non - transitory computer - readable storage medium storing computer - readable instructions that, when executed on a processor, are operable to retrieve or cause a camera to obtain a first image of a scene taken by the camera when the scene is illuminated by a first flash and not illuminated by a second flash, the first flash associating the first image with a first color dot; retrieve or cause the camera to obtain a second image of the scene taken by the camera when the scene is illuminated by the second flash and not illuminated by the first flash, the second flash associating the second image with a second color dot different from the first color dot; and generate a final image of the scene based on a combination of the first image and the second image.
[0093] Example 19 provides a method for operating a camera device, the method comprising: causing the camera to obtain a first image of a scene when the scene is illuminated by a first flash and substantially not illuminated by a second flash, the first flash associating the first image with a first color dot; causing the camera to obtain a second image of the scene when the scene is illuminated by the second flash and substantially not illuminated by the first flash, the second flash associating the second image with a second color dot different from the first color dot; and generating a final image of the scene based on a combination of the first image and the second image.
[0094] Example 20 provides the method according to Example 19, wherein the final image is generated as a weighted combination of the first image and the second image.
[0095] A further example provides a computer program product comprising instructions configured to operate a camera device and / or implement a method according to any one of the foregoing examples.
[0096] Other embodiments, variations, and applications
[0097] It should be understood that not all objectives or advantages may be achieved in accordance with any particular embodiment described herein. Thus, for example, those skilled in the art will recognize that certain embodiments may be configured to operate in a manner that achieves or optimizes one advantage or a group of advantages taught herein, without necessarily achieving other objectives or advantages taught or suggested herein.
[0098] It should be appreciated that the circuits in the accompanying drawings and their teachings are readily extensible and can accommodate a large number of components, as well as more complex / precise arrangements and configurations. Thus, the examples provided should not limit the scope or inhibit the broad teachings of circuits potentially applicable to numerous other architectures.
[0099] In some embodiments, any number of the circuits of the drawings may be implemented on a board of the associated electronic device. The board may be a general-purpose circuit board that can accommodate various components of the internal electronic system of the electronic device and further provide connectors for other peripheral devices. More specifically, the board may provide electrical connections through which other components of the system can communicate electrically. Any suitable processor (including digital signal processors, microprocessors, support chipsets, etc.), computer-readable non-transitory memory elements, etc. may be appropriately coupled to the board based on specific configuration requirements, processing needs, computer design, etc. Other components such as external storage, additional sensors, controllers for audio / video display, and peripheral devices may be attached to the board as plug-in cards via cables or integrated into the board itself. In various embodiments, the functions described herein may be implemented in emulation form as software or firmware running within one or more configurable (e.g., programmable) elements arranged in a structure that supports those functions. The software or firmware providing the emulation may be provided on a non-transitory computer-readable storage medium including instructions that allow a processor to execute those functions.
[0100] In some embodiments, the circuits in the attached drawings or the circuits associated with the attached drawings may be implemented as independent modules (e.g., devices having associated components and circuits configured to perform a specific application or function), or as plug-in modules in the dedicated hardware of the electronic device. Note that some embodiments of the present disclosure may be readily included, in whole or in part, in a system-on-chip (SOC) package. SOC represents an integrated circuit (IC) that integrates the components of a computer or other electronic system into a single chip. It may contain digital, analog, mixed-signal, and typically radio-frequency functions: all of which may be provided on a single chip substrate. Other embodiments may include a multi-chip module (MCM), where multiple individual ICs are located within a single electronic package and are configured to interact closely with each other through the electronic package. In various other embodiments, at least some aspects of multi-flash with image post-processing may be implemented in one or more silicon cores in an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), and other semiconductor chips.
[0101] It is also important to note that the functions associated with multi-flash with image post-processing - such as in Figure 2Those functions summarized in one or more of the processes shown - only some of the possible functions that can be performed by or within the camera device described herein are shown. Some of these operations may be deleted or removed where appropriate, or may be substantially modified or changed without departing from the scope of the present disclosure. Additionally, there may be substantial variation in the timing of these operations. For purposes of example and discussion, the foregoing operational flow has been provided. The embodiments described herein provide substantial flexibility because any suitable arrangement, timing, configuration, and timing mechanism can be provided without departing from the teachings of the present disclosure.
Claims
1. A camera device, comprising: a controller configured to cause the camera to acquire a first image of the scene when the scene is illuminated by a first set of light sources, the first set of light sources being configured to associate the first image with a first color point; cause the camera to acquire a second image of the scene when the scene is illuminated by a second set of light sources, the second set of light sources being configured to associate the second image with a second color point; obtain a third color point associated with the scene that is not illuminated by the first set of light sources and not illuminated by the second set of light sources, wherein each of the first color point, the second color point, and the third color point has a corresponding position in a graph having a first axis and a second axis, the first axis indicating a ratio of a sum of at least one subset of pixel values of a first primary color to a sum of at least one subset of pixel values of a third primary color, and the second axis indicating a ratio of a sum of at least one subset of pixel values of a second primary color to a sum of at least one subset of pixel values of a third primary color; and generate a final image of the scene based on a combination of the first image and the second image by: calculating a correction factor based at least on a value indicating the position of the first color point, a value indicating the position of the second color point, and a value indicating the position of the third color point; generating a modified first image by modifying each pixel value of the first image by a first value based on the correction factor; generating a modified second image by modifying each pixel value of the second image by a second value based on the correction factor; and generating the final image based on the pixel values of the modified first image and the pixel values of the modified second image.
2. The camera device according to claim 1, wherein the controller is configured to generate the final image by adding, on a pixel-by-pixel basis, a value calculated based on the pixel value of the first image to a value calculated based on the corresponding pixel value of the second image, thereby generating the final image of the scene based on a combination of the first image and the second image.
3. The camera device according to claim 1, wherein the controller is further configured to: cause the camera to acquire a third image of the scene when the scene is not illuminated by the first set of light sources and not illuminated by the second set of light sources; and further generate the final image based on a color point associated with the third image.
4. The camera device according to claim 1, wherein: the controller is configured to calculate the correction factor based at least on the position of the third color point along the first axis of the graph relative to the position of the first color point and the position of the second color point along the first axis of the graph.
5. The camera device according to claim 1, wherein: the controller is configured to calculate the correction factor based at least on the position of the third color point along the second axis of the graph relative to the position of the first color point and the position of the second color point along the second axis of the graph.
6. The camera device according to claim 1, wherein: The controller is configured to calculate the correction factor based at least on a position of the third color point relative to a line connecting positions of the first color point and the second color point in the graph.
7. The camera device according to claim 1, wherein the controller is configured to generate a second final image of the scene based on a combination of the first image and the second image by: receiving a user input indicating a factor representing a balance between the first image and the second image in the second final image, generating a second modified first image by modifying each pixel value of the first image by a first value based on the received factor, generating a second modified second image by modifying each pixel value of the second image by a second value based on the received factor, and generating the second final image based on pixel values of the second modified first image and pixel values of the second modified second image.
8. The camera device according to claim 1, wherein: the camera device is a video recording device configured to generate a video including a plurality of consecutive frames, and the final image is one of the plurality of frames of the video.
9. The camera device according to claim 8, wherein each of the plurality of frames of the video is generated as a corresponding final image based on a combination of a corresponding first image and a corresponding second image acquired for the frame.
10. The camera device according to claim 1, wherein: the scene illuminated by the first group of light sources includes a scene illuminated by a first plurality of light sources of one or more colors among a plurality of colors, and the scene illuminated by the second group of light sources includes a scene illuminated by a second plurality of light sources of one or more colors among the plurality of colors, and illumination provided by the second plurality of light sources has a color different from illumination provided by the first plurality of light sources.
11. The camera device according to claim 1, wherein the first color point is a color point of cold white, and the second color point is a color point of warm white.
12. The camera device according to claim 1, wherein the camera device further includes one or more of the camera, the first group of light sources, and the second group of light sources.
13. The camera device according to claim 1, wherein the camera device further includes an output device configured to display one or more of the first image, the second image, and the final image.
14. The camera device according to claim 1, wherein the camera device further includes an input device configured to receive user input to be used by the camera device to perform one or more of the following: cause the camera to acquire the first image, cause the camera to acquire the second image and generate the final image.
15. The camera device according to claim 1, wherein the camera device further includes one or more communication chips and antennas configured to: Wirelessly transmit one or more of the first image, the second image, and the final image, or wirelessly receive an input to be used by the camera device to perform one or more of causing the camera to acquire the first image, causing the camera to acquire the second image, and generating the final image.
16. The camera device according to claim 1, wherein the camera device is a wearable camera device, a handheld camera device, or a fixed camera.
17. A non-transitory computer-readable storage medium storing computer-readable instructions that, when executed on a processor, are operable to: Retrieve a first image of a scene captured by a camera while the scene is being illuminated by a first set of light sources that are used to associate the first image with a first color point; Retrieve a second image of the scene captured by the camera while the scene is being illuminated by a second set of light sources that are used to associate the second image with a second color point different from the first color point; Obtain a third color point associated with the scene that is not illuminated by the first set of light sources and not illuminated by the second set of light sources, each of the first color point, the second color point, and the third color point having a corresponding position in a graph having a first axis and a second axis, the first axis indicating a ratio of a sum of at least one subset of pixel values of a first primary color to a sum of at least one subset of pixel values of a third primary color, and the second axis indicating a ratio of a sum of at least one subset of pixel values of a second primary color to a sum of at least one subset of pixel values of a third primary color; and Generate a final image of the scene based on a combination of the first image and the second image by: Calculating a correction factor based at least on a value indicating the position of the first color point, a value indicating the position of the second color point, and a value indicating the position of the third color point; Generating a modified first image by modifying each pixel value of the first image by a first value based on the correction factor; Generating a modified second image by modifying each pixel value of the second image by a second value based on the correction factor; and Generating the final image based on the pixel values of the modified first image and the pixel values of the modified second image.
18. The medium according to claim 17, wherein the correction factor is calculated based on one of the following equations: where γ is the correction factor, R is the first primary color, B is the second primary color, G is the third primary color, 1 represents the position of the first color point, 2 represents the position of the second color point, a represents the position of the third color point, and (R' a / G' a ; B' a / G' a ) represents the coordinates of projecting the third color point onto the line connecting the position of the first color point and the position of the second color point in the curve graph.
19. A method for operating a camera device, the method comprising: Causing a camera to acquire a first image of a scene while the scene is being illuminated by a first set of light sources that are used to associate the first image with a first color point; Causing the camera to acquire a second image of the scene while the scene is being illuminated by a second set of light sources that are used to associate the second image with a second color point different from the first color point; Obtain a third color point associated with the scene that is not illuminated by the first set of light sources and not illuminated by the second set of light sources, each of the first color point, the second color point, and the third color point having a corresponding position in a graph having a first axis and a second axis, the first axis indicating a ratio of a sum of at least one subset of pixel values of a first primary color to a sum of at least one subset of pixel values of a third primary color, and the second axis indicating a ratio of a sum of at least one subset of pixel values of a second primary color to a sum of at least one subset of pixel values of a third primary color; and Generate a final image of the scene based on a combination of the first image and the second image by: Calculating a correction factor based at least on a value indicating the position of the first color point, a value indicating the position of the second color point, and a value indicating the position of the third color point, Generating a modified first image by modifying each pixel value of the first image by a first value based on the correction factor, Generating a modified second image by modifying each pixel value of the second image by a second value based on the correction factor, and Generating the final image based on the pixel values of the modified first image and the pixel values of the modified second image.
20. The method of claim 19, wherein the final image is generated as a weighted combination of the first image and the second image.
Citation Information
Patent Citations
Flash device, and imaging method
US9766533B2
Flash device, and imaging method
US20150227025A1
Multi-led camera flash for color temperature matching
US20160088278A1