Electronic device for processing image signals and image signal processing method
The electronic device uses a neural network model to generate a category map for image signal processing, addressing the challenge of inconsistent white balance by adapting color correction based on subject and light source, resulting in improved image quality.
Patent Information
- Application Number
- PCT/KR2024/097167
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-18
- Filing Date
- 2024-12-19
- Publication Date
- 2025-07-10
AI Technical Summary
Existing image signal processing technologies struggle to accurately adjust white balance based on the color of the light source and the type of subject in an image, leading to inconsistent color representation.
An electronic device equipped with a machine-learned neural network model processes image data to generate a category map, allowing for the determination and update of object category information, which is used to adjust color information and auto white balance gains based on the identified subjects and light sources.
The solution enables more accurate and context-aware color correction, enhancing the quality of images by adapting white balance to the specific lighting conditions and subject types, thereby improving color representation.
Smart Images

Figure KR2024097167_10072025_PF_FP_ABST
Abstract
Description
Electronic device for processing image signals and method for processing image signals
[0001] The present disclosure relates to an electronic device for processing an image signal and a method for processing an image signal by the electronic device.
[0002] An electronic device may be equipped with a digital camera. A digital camera can generate an image by converting light into an electrical signal using an image sensor. The electronic device may acquire a corrected image using an image signal processor. Image signal processing may refer to the process of processing raw data received from an image sensor, such as a camera. For example, an auto white balance (AWB) function performed by an electronic device to provide accurate colors for an image may include a process of adjusting the gain for color components (e.g., red component, green component, blue component) of an image based on a white point to correct the image according to the color temperature of the light so that colors are expressed similar to those perceived by the user's eyes.
[0003] The above information may be provided as background art to aid in understanding the present disclosure. No claim or determination is made as to whether any of the above is applicable as prior art in connection with the present disclosure.
[0004] In one embodiment, an electronic device may include a camera, one or more processors, and a memory. The memory may store a machine-learned neural network model that receives an image and outputs a category map including category information that classifies the types of objects corresponding to a plurality of regions of the image. The memory may store one or more instructions. The one or more instructions, when executed by the one or more processors, may cause the electronic device to obtain image data for an image captured by the camera. The one or more instructions, when executed by the one or more processors, may cause the electronic device to obtain a category map corresponding to the image using the neural network model. The one or more instructions, when executed by the one or more processors, may cause the electronic device to determine object category information that classifies a plurality of blocks that divide the image into a plurality of regions based on color. The one or more instructions, when executed by the one or more processors, may cause the electronic device to update at least a portion of the object category information for at least a portion of the plurality of blocks based on the category map. One or more instructions, executed by the one or more processors, may cause the electronic device to correct color information for the image based on the updated object category information.
[0005] A method for processing an image signal by an electronic device according to one embodiment may include an operation of obtaining image data for an image captured by a camera of the electronic device. The method may include an operation of obtaining a category map corresponding to the image using a machine-learned neural network model to input an image and output a category map including category information classifying types of subjects corresponding to a plurality of regions of the image. The method may include an operation of determining object category information classifying a plurality of blocks that divide the image into a plurality of regions based on color. The method may include an operation of updating at least a portion of the object category information for at least a portion of the plurality of blocks based on the category map. The method may include an operation of correcting color information for the image based on the updated object category information.
[0006] A computer-readable non-transitory recording medium according to one embodiment may have recorded thereon a computer program that causes an electronic device to perform the operations described above.
[0007] FIG. 1 is a block diagram of an electronic device within a network environment according to various embodiments.
[0008] FIG. 2 is a block diagram illustrating a camera module according to various embodiments.
[0009] FIG. 3 is a flowchart illustrating a process in which an electronic device performs image signal processing according to one embodiment.
[0010] Figure 4 illustrates the concept of statistical data and category maps for an image according to one embodiment.
[0011] FIG. 5 illustrates a concept of updating object category information according to one embodiment.
[0012] FIG. 6 is a block diagram illustrating a process for performing signal processing on raw data according to one embodiment.
[0013] Figure 7 illustrates an example of an image acquired according to one embodiment.
[0014] FIG. 8 is a flowchart illustrating an example of a process in which an electronic device performs image signal processing according to one embodiment.
[0015] Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings so that those skilled in the art can easily implement the present invention. However, the disclosed embodiments may be implemented in various different forms and are not limited to the embodiments described herein.
[0016] An electronic device and an image signal processing method according to one embodiment are intended to improve the performance of image signal processing.
[0017] An electronic device and an image signal processing method according to one embodiment are for determining an automatic white balance gain value according to a color of a light source and a subject.
[0018] An electronic device and an image signal processing method according to one embodiment are for correcting the color of an image according to the color of a light source and the type of an object.
[0019] The technical problems to be achieved in this document are not limited to the technical problems mentioned above, and other technical problems not mentioned can be clearly understood by a person having ordinary skill in the technical field to which the present invention belongs from the description of this disclosure.
[0020] FIG. 1 is a block diagram of an electronic device (101) within a network environment (100) according to various embodiments. Referring to FIG. 1, in the network environment (100), the electronic device (101) may communicate with the electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of the electronic device (104) or the server (108) via a second network (199) (e.g., a long-range wireless communication network). In one embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).
[0021] The processor (120) may, for example, execute software (e.g., a program (140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) and perform various data processing or operations. According to one embodiment, as at least a part of the data processing or operations, the processor (120) may store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the commands or data stored in the volatile memory (132), and store result data in a non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or an auxiliary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together with the main processor (121). For example, when the electronic device (101) includes the main processor (121) and the auxiliary processor (123), the auxiliary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a given function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as a part thereof.
[0022] The auxiliary processor (123) may control at least a portion of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.
[0023] The memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto. The memory (130) can include volatile memory (132) or non-volatile memory (134).
[0024] The program (140) may be stored as software in the memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0025] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0026] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0027] The display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. According to one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
[0028] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).
[0029] The sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0030] The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). In one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0031] The connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0032] The haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. According to one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
[0033] The camera module (180) can capture still images and videos. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0034] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
[0035] A battery (189) may power at least one component of the electronic device (101). In one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0036] The communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module, or a power line communication module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).
[0037] The wireless communication module (192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)). According to one embodiment, the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.
[0038] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (198) or the second network (199), may be selected from the plurality of antennas, for example, by the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device via the at least one selected antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).
[0039] According to various embodiments, the antenna module (197) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.
[0040] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
[0041] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102 or 104) may be the same or a different type of device as the electronic device (101). According to one embodiment, all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
[0042] Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.
[0043] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B, or C", "at least one of A, B, and C", and "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0044] The term "module" used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0045] Various embodiments of the present document may be implemented as software (e.g., a program (140)) including one or more instructions stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)). For example, a processor (e.g., a processor (120)) of the machine (e.g., an electronic device (101)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
[0046] According to one embodiment, the method according to various embodiments disclosed in this document may be provided as a computer program product. The computer program product may be traded between sellers and buyers as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or may be provided through an application store (e.g., Play Store). TM ) or directly between two user devices (e.g., smart phones), online distribution (e.g., downloading or uploading). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0047] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
[0048] FIG. 2 is a block diagram (200) illustrating a camera module (180) according to various embodiments. Referring to FIG. 2, the camera module (180) may include a lens assembly (210), a flash (220), an image sensor (230), an image stabilizer (240), a memory (250) (e.g., a buffer memory), or an image signal processor (260). The lens assembly (210) may collect light emitted from a subject that is a target of image capturing. The lens assembly (210) may include one or more lenses. According to one embodiment, the camera module (180) may include a plurality of lens assemblies (210). In this case, the camera module (180) may form, for example, a dual camera, a 360-degree camera, or a spherical camera. Some of the plurality of lens assemblies (210) may have the same lens properties (e.g., angle of view, focal length, autofocus, f-number, or optical zoom), or at least one lens assembly may have one or more lens properties that are different from the lens properties of the other lens assemblies. A lens assembly (210) may include, for example, a wide-angle lens or a telephoto lens.
[0049] The flash (220) can emit light used to enhance light emitted or reflected from a subject. According to one embodiment, the flash (220) can include one or more light-emitting diodes (e.g., red-green-blue (RGB) LED, white LED, infrared LED, or ultraviolet LED), or a xenon lamp. The image sensor (230) can acquire an image corresponding to the subject by converting light emitted or reflected from the subject and transmitted through the lens assembly (210) into an electrical signal. According to one embodiment, the image sensor (230) can include one image sensor selected from among image sensors having different properties, such as an RGB sensor, a black and white (BW) sensor, an IR sensor, or a UV sensor, a plurality of image sensors having the same property, or a plurality of image sensors having different properties. Each image sensor included in the image sensor (230) can be implemented using, for example, a CCD (charged coupled device) sensor or a CMOS (complementary metal oxide semiconductor) sensor.
[0050] The image stabilizer (240) can move at least one lens or image sensor (230) included in the lens assembly (210) in a specific direction or control the operating characteristics of the image sensor (230) (e.g., adjusting the read-out timing, etc.) in response to the movement of the camera module (180) or the electronic device (101) including the same. This allows compensating for at least some of the negative effects of the movement on the captured image. In one embodiment, the image stabilizer (240) can detect such movement of the camera module (180) or the electronic device (101) using a gyro sensor (not shown) or an acceleration sensor (not shown) disposed inside or outside the camera module (180). In one embodiment, the image stabilizer (240) can be implemented as, for example, an optical image stabilizer. The memory (250) can temporarily store at least a portion of the image acquired through the image sensor (230) for the next image processing task. For example, when image acquisition is delayed due to the shutter, or when multiple images are acquired at high speed, the acquired original image (e.g., a Bayer-patterned image or a high-resolution image) is stored in the memory (250), and a corresponding copy image (e.g., a low-resolution image) can be previewed through the display module (160). Thereafter, when a specified condition is satisfied (e.g., a user input or a system command), at least a portion of the original image stored in the memory (250) can be acquired and processed, for example, by the image signal processor (260). According to one embodiment, the memory (250) can be configured as at least a portion of the memory (130) or as a separate memory that operates independently therefrom.
[0051] The image signal processor (260) can perform one or more image processing operations on an image acquired through an image sensor (230) or an image stored in a memory (250). The one or more image processing operations may include, for example, depth map generation, 3D modeling, panorama generation, feature extraction, image synthesis, or image compensation (e.g., noise reduction, resolution adjustment, brightness adjustment, blurring, sharpening, or softening). Additionally or alternatively, the image signal processor (260) may perform control (e.g., exposure time control, read-out timing control, etc.) for at least one of the components included in the camera module (180) (e.g., image sensor (230)). An image processed by the image signal processor (260) may be stored back in the memory (250) for further processing or provided to an external component of the camera module (180) (e.g., memory (130), display module (160), electronic device (102), electronic device (104), or server (108)). According to one embodiment, the image signal processor (260) may include at least one of the processors (120). It may be configured as a separate processor that is configured as a part of the processor (120) or operates independently of the processor (120). If the image signal processor (260) is configured as a separate processor from the processor (120), at least one image processed by the image signal processor (260) may be displayed through the display module (160) as is or after undergoing additional image processing by the processor (120).
[0052] According to one embodiment, the electronic device (101) may include a plurality of camera modules (180), each having different properties or functions. In this case, for example, at least one of the plurality of camera modules (180) may be a wide-angle camera, and at least another may be a telephoto camera. Similarly, at least one of the plurality of camera modules (180) may be a front camera, and at least another may be a rear camera.
[0053] FIG. 3 is a flowchart (300) illustrating a process in which an electronic device (e.g., the electronic device (101) of FIG. 1) performs image signal processing according to one embodiment.
[0054] In the present disclosure, the operation of the electronic device may be understood as being performed by one or more processors of the electronic device (e.g., the processor (120) of FIG. 1) executing one or more instructions stored in a memory (e.g., the memory (130) of FIG. 1) to perform operations or control components of the electronic device. Alternatively, one or more processors may be configured to perform the operation of the electronic device.
[0055] In one embodiment, an electronic device may perform operation 310 of acquiring image data for an image acquired through a camera (e.g., camera module (180) of FIG. 1, camera module (180) of FIG. 2). For example, the electronic device may control the camera to output an image stream for displaying a preview image based on execution of a camera application. For example, the electronic device may generate an image corresponding to a set shooting mode based on data acquired through the camera in response to a user input to capture an image.
[0056] In one embodiment, the electronic device may perform operation 320, which acquires a category map for the image acquired in operation 310 using a neural network model. For example, the electronic device may predict category information corresponding to the image by causing a neural processing unit (NPU) included in one or more processors to run the neural network model. The neural network model may be generated by learning training data using a machine learning algorithm. The training data may include an image and a label for the image. For example, the label may include category information that classifies pixels or multiple regions of the image into which subjects are captured. The category map may refer to information organized in the form of a map that indicates which type of subjects are captured in each part of the image. For example, the category information included in the category map may include information indicating that each region is one of the following: background, sky, plants, skin, hair, clothes, or pets. However, it is not limited to this example, and the type of category information can be configured in various ways depending on the range that can be supported by the image signal processor (e.g., the image signal processor (160) of FIG. 2).
[0057] In one embodiment, the neural network model may be configured to receive an image as input and output a category map including category information corresponding to pixels or multiple regions of the image. In one embodiment, the neural network model may be stored in the memory of the electronic device, or may be stored in an external device. If the neural network model is stored in the external device, the operation of generating a category map using the neural network model is performed by the external device, and the electronic device may receive information about the category map from the external device.
[0058] An electronic device according to one embodiment may obtain statistical data for an image including information of a category map in operation 320. The statistical data may include information about an image in units of a plurality of blocks in which the image is divided into a plurality of regions. In the present disclosure, a block for an image may mean a region that serves as a unit for performing a color correction operation (e.g., auto white balance (AWB)) for the image. For example, the statistical data may include an average value of pixel values of pixels included in each block (e.g., an average value of a red component, an average value of a green component, an average value of a blue component) and category information (information corresponding to a block among information included in a category map).
[0059] In one embodiment, the electronic device may determine object category information for a plurality of blocks for the image acquired in operation 310. In the process of performing an algorithm for performing AWB, the electronic device may determine object category information for determining an AWB gain for a subject photographed in a block based on color information. For example, if the color of a block in the image is the color of the sky, the electronic device may determine object category information for the block as information indicating the sky, and determine an AWB gain for performing white balance with a color corresponding to the sky. The electronic device may perform white balance for the image based on the determined AWB gain.
[0060] In operation 340, an electronic device according to an embodiment may update object category information based on a category map. The electronic device may update object category information corresponding to at least one block among a plurality of blocks for an image based on information included in the category map. For example, if the object category information determined in operation 330 indicates that the block is a gray area in which a gray subject is photographed, and the category map indicates that the area corresponding to the block is an area in which the sky is photographed, the electronic device may change the object category information for the block to indicate a light blue area.
[0061] In operation 350, an electronic device according to an embodiment may correct color information of an image based on updated object category information. For example, the electronic device may determine an AWB gain value based on the object category information, and perform AWB based on the determined AWB gain value for pixels included in a block corresponding to the object category information. For example, the electronic device may determine a color correction matrix based on the object category information. The electronic device may correct color values of pixels included in the corresponding block based on the determined color correction matrix.
[0062] FIG. 4 illustrates the concept of statistical data (410) and category map (420) for an image (400) according to one embodiment.
[0063] In one embodiment, an electronic device (e.g., electronic device (101) of FIG. 1) may obtain statistical data (410) including a block (415) corresponding to a region (405) within an image (400). For example, the statistical data may include a block (415) including an average value of pixel values of pixels included within the region (405). For example, the block (415) of the statistical data (405) may include a first average value of red component values, a second average value of green component values, and a third average value of blue component values included in the pixel values of pixels within the region (405).
[0064] In one embodiment, the electronic device may obtain a category map (420) for the image (400) using a neural network model. The category map (420) may include information indicating what types of subjects are captured in each of the plurality of regions included in the image (400). For example, the electronic device may classify what types of subjects are captured in each region of the pixels using semantic segmentation for each pixel of the image (400). The category map (420) may include category information (425) including the type of subject determined to occupy the largest area within the region (405) of the image (400). Referring to FIG. 4, the category information (425) may include information indicating the sky. The block (415) of the statistical data (410) may further include category information (425) corresponding to the region (415).
[0065] FIG. 5 illustrates a concept of updating object category information (510) according to one embodiment.
[0066] In one embodiment, an electronic device (e.g., the electronic device (101) of FIG. 1) may determine at least one block (515) from among a plurality of blocks in which object category information (510) can be updated. For example, the electronic device may determine at least one area (525) including a category that can be reflected in the object category information within a category map (520). The electronic device may determine that at least one block (515) corresponding to at least one area (525) is updateable. Referring to FIG. 5, when the vegetation classification of the category map (520) corresponds to a plant (or green object) of the object category information (510), the electronic device may determine that at least one block (515) corresponding to at least one area (525) classified as vegetation of the category map (520) is updateable.
[0067] In one embodiment, the electronic device may update at least a portion of object category information (515) corresponding to at least one block (515) determined to be updatable based on the category map (520). Referring to FIG. 5, the electronic device may obtain updated object category information (530) including blocks (535) in which at least one block (515) is updated to a plant corresponding to the category map (520).
[0068] FIG. 6 is a block diagram illustrating a process of performing signal processing on raw data (600) according to one embodiment.
[0069] In one embodiment, an electronic device (e.g., the electronic device (101) of FIG. 1) may obtain an image processed from raw data (600) output from an image sensor (e.g., the image sensor (230) of FIG. 2) through an image signal processing chain (ISP chain) included in the electronic device. An operation of performing an image signal processing process based on the image signal processing chain may be performed by one or more processors (e.g., the processor (120) of FIG. 1) of the electronic device. For example, the operation of performing the image signal processing process may be performed by a combination of at least one of an application processor, an NPU, or an image signal processor (e.g., the image signal processor (260) of FIG. 2).
[0070] For example, referring to FIG. 6, the electronic device may perform lens shading correction (620). The lens shading correction (620) may include an operation of correcting a phenomenon in which the amount of light decreases from the center to the periphery of an image sensor by a lens (e.g., at least one lens included in the lens assembly (210) of FIG. 2) of a camera (e.g., the camera module (180) of FIG. 1, the camera module (180) of FIG. 2). The electronic device may perform an exposure adjustment (620) operation based on a result of performing the lens shading correction (620). The auto-exposure (620) operation may include an operation of adjusting the overall brightness of a scene based on the amount of light detected.
[0071] In one embodiment, the electronic device may perform an automatic white balance (630) on the result of the exposure adjustment (620). The automatic white balance (630) may include an operation of adjusting the color values of the image based on the determined AWB gain value. For example, the electronic device may apply a red gain value to the red component of the pixel values included in the image, a green gain value to the green component, and a blue gain value to the blue component. The electronic device may perform the automatic white balance (630) based on a category map acquired through the artificial intelligence engine (635).
[0072] In one embodiment, the artificial intelligence engine (635) may include a neural network model configured to output a category map for an image when an image is input. For example, the neural network model may be configured by being trained using training data consisting of pairs of images and category maps. Machine learning algorithms for training the neural network model may be implemented in various ways. The image input to the artificial intelligence engine (635) may be configured in various ways depending on the method of implementing the electronic device according to one embodiment. For example, the image input to the artificial intelligence engine (635) may be an image resulting from color conversion (660). In this case, the electronic device may re-perform automatic white balance (630) on the image for which color conversion (660) has been performed. For example, the image input to the artificial intelligence engine (635) may be raw data (600) output from an image sensor.
[0073] In one embodiment, the electronic device may perform color correction (640) on the result of performing auto white balance (630). Color correction (640) may include an operation of correcting color expression according to the characteristics of the image sensor by applying a color correction matrix to pixel values. The electronic device may perform color correction (640) based on a color correction matrix updated based on a category map. The electronic device may perform gamma correction (650) on the result of performing color correction (640). Gamma correction (640) may include an operation of non-linearly converting color component values to correspond to the non-linear gamma characteristic of the display. The electronic device may perform color conversion (650) according to the format of the image on the result of performing gamma correction (650). For example, the electronic device may convert an image expressed based on an RGB color space to a YUV format.
[0074] The image signal processing process illustrated in FIG. 6 is an example for explaining one embodiment, and at least a part of the image signal processing process may be replaced, excluded, or added.
[0075] FIG. 7 illustrates an example of an image (700) obtained according to one embodiment.
[0076] In one embodiment, an electronic device (e.g., electronic device (101) of FIG. 1) can determine which scene an image is taken of based on a category map, and can correct the color of an area where an object corresponding to the determined scene is taken based on updated object category information using the category map.
[0077] For example, referring to FIG. 7, if the image (700) includes a scene in which a sunset in the sky is captured, the electronic device may perform an automatic white balance or apply a color correction matrix to the image (700) so that a specific color (e.g., yellow or red) in the area (710) in which the sky is captured is emphasized.
[0078] FIG. 8 is a flowchart (800) illustrating an example of a process in which an electronic device (e.g., the electronic device (101) of FIG. 1) performs image signal processing according to one embodiment.
[0079] In one embodiment, the electronic device may perform operation 810 of obtaining image data for an image. The electronic device may perform operation 820 of obtaining a category map for the image using a neural network model. The electronic device may perform operation 840 of determining object category information for a plurality of blocks included in the image. Operations 810, 820, and 840 may correspond to operations 310, 320, and 330 of FIG. 3.
[0080] In operation 830, the electronic device according to one embodiment may change the size of the acquired category map. For example, if object category information is classified for 64 * 48 blocks and the category map classifies the subject's category for 256 * 194 areas, four areas of the category map may correspond to one block. The electronic device may change the size of the category map to correspond to a plurality of blocks (areas for performing AWB) included in the image. For example, by determining the category with the largest number of categories among the categories of the category map corresponding to the block as the category corresponding to the block, the electronic device may change the size of the category map to correspond to a plurality of blocks (e.g., 64 * 48).
[0081] In operation 850, the electronic device according to one embodiment may determine whether to perform a color correction operation using a category map. If the image acquired in operation 810 is a speed-priority processing target, the electronic device may determine not to use the category map. For example, if the electronic device acquires an image in which image processing speed is prioritized over image quality, the electronic device may determine not to use the category map. In one embodiment, if the category map is not utilized, the performance of operations 820 and 830 may also be omitted.
[0082] In one embodiment, the electronic device may determine at least one block among a plurality of blocks included in an image for which object category information is to be updated. For example, the electronic device may determine at least one block capable of being updated, as illustrated in FIG. 5 . In operation 860, the electronic device according to one embodiment may update object category information for at least one block capable of being updated based on a category map.
[0083] In operation 870, the electronic device may determine at least one count value for a plurality of blocks included in the image. The at least one count value may include at least one of a category count value and a color count value. The category count value may correspond to a quantity of blocks classified as belonging to a subject category among the plurality of blocks. For example, the electronic device may determine a quantity of blocks of statistical data whose subject information according to a category map is sky as a category count value for the sky category. The color count value may correspond to a quantity of blocks classified as belonging to a subject category that are classified as corresponding to a specific color. For example, the electronic device may determine a quantity of blocks whose color information is red, classified according to object category information, as a category count value for red.
[0084] In operation 880, the electronic device may perform color correction on the image based on the updated object category information and count value. For example, the electronic device may determine a category of a subject having a category count value greater than or equal to a first value. The electronic device may perform color correction based on color count values for blocks belonging to the determined category. Based on a ratio of the color count value to the category count value being greater than or equal to a second value, the electronic device may perform automatic white balance on the image according to a first AWB gain value. Based on a ratio of the color count value to the category count value being greater than or equal to the second value, the electronic device may apply a first color correction matrix to correct the color of the image. Based on a ratio of the color count value to the category count value being less than a third value, the electronic device may perform automatic white balance on the image according to a second AWB gain value. Based on a ratio of the color count value to the category count value being less than the third value, the electronic device may apply a second color correction matrix to correct the color of the image. For example, the first AWB gain value can be determined by applying a first weight corresponding to at least one of the updated object category information or count values to the second AWB gain value. The first weight can include, for example, at least one of a weight for a red component, a weight for a green component, or a weight for a blue component. The second AWB gain value can include, for example, a value corresponding to light source information determined through an automatic white balance (630) algorithm. Based on a ratio of the color count value to the category count value being less than the second value and greater than or equal to the third value, the electronic device can perform automatic white balance on the image according to a third AWB gain value obtained by interpolating the first AWB gain value and the second AWB gain value.For example, the electronic device can determine a third AWB gain value by applying a second weighting value that is an interpolation of a weight and a base value (e.g., 1) to the second AWB gain value. Based on a ratio of color count values to category count values being less than the second value and greater than or equal to the third value, the electronic device can color correct the image by applying a third color correction matrix that is an interpolation of the first color correction matrix and the second color correction matrix.
[0085] In one embodiment, an electronic device (e.g., electronic device (101) of FIG. 1) may include a camera (e.g., camera module (180) of FIG. 1, camera module (180) of FIG. 2), one or more processors (e.g., processor (120) of FIG. 1, image signal processor (260) of FIG. 2), and memory (e.g., memory (130) of FIG. 1, memory (250) of FIG. 2). The memory (e.g., memory (130) of FIG. 1, memory (250) of FIG. 2)) may store a machine-learned neural network model that receives an image as input and outputs a category map including category information that classifies a type of subject corresponding to a plurality of regions of the image. The memory (e.g., memory (130) of FIG. 1, memory (250) of FIG. 2)) may store one or more instructions. One or more instructions may be executed by the one or more processors (e.g., the processor (120) of FIG. 1, the image signal processor (260) of FIG. 2) to cause an electronic device (e.g., the electronic device (101) of FIG. 1) to obtain image data for an image captured by the camera (e.g., the camera module (180) of FIG. 1, the camera module (180) of FIG. 2). One or more instructions may be executed by the one or more processors (e.g., the processor (120) of FIG. 1, the image signal processor (260) of FIG. 2) to cause an electronic device (e.g., the electronic device (101) of FIG. 1) to obtain a category map corresponding to the image using the neural network model. One or more instructions may be executed by the one or more processors (e.g., the processor (120) of FIG. 1, the image signal processor (260) of FIG. 2) to cause the electronic device (e.g., the electronic device (101) of FIG. 1) to determine object category information that classifies the plurality of blocks that divide the image into a plurality of regions based on color.One or more instructions may be executed by the one or more processors (e.g., the processor (120) of FIG. 1, the image signal processor (260) of FIG. 2) to cause the electronic device (e.g., the electronic device (101) of FIG. 1) to update at least a portion of the object category information for at least a portion of the plurality of blocks based on the category map. One or more instructions may be executed by the one or more processors (e.g., the processor (120) of FIG. 1, the image signal processor (260) of FIG. 2) to cause the electronic device (e.g., the electronic device (101) of FIG. 1) to correct color information for the image based on the updated object category information.
[0086] In one embodiment, the one or more instructions may be executed by the one or more processors (e.g., the processor 120 of FIG. 1 , the image signal processor 260 of FIG. 2 ) to cause the electronic device (e.g., the electronic device 101 of FIG. 1 ) to determine an auto white balance (AWB) gain value based on the updated object category information. The one or more instructions may be executed by the one or more processors (e.g., the processor 120 of FIG. 1 , the image signal processor 260 of FIG. 2 ) to cause the electronic device (e.g., the electronic device 101 of FIG. 1 ) to correct the image based on the auto white balance gain value.
[0087] In one embodiment, the one or more instructions may be executed by the one or more processors (e.g., the processor 120 of FIG. 1 , the image signal processor 260 of FIG. 2 ) to cause the electronic device (e.g., the electronic device 101 of FIG. 1 ) to determine at least one count value for the plurality of blocks. The one or more instructions may be executed by the one or more processors (e.g., the processor 120 of FIG. 1 , the image signal processor 260 of FIG. 2 ) to cause the electronic device (e.g., the electronic device 101 of FIG. 1 ) to perform an operation of correcting the color information based on the at least one count value.
[0088] In one embodiment, the at least one count value may include at least one of a category count value and a color count value. The category count value may include a value representing the number of blocks classified as belonging to a category of the subject. The color count value may include a value representing the number of blocks classified as corresponding to a specific color.
[0089] In one embodiment, the one or more instructions may be executed by the one or more processors (e.g., the processor 120 of FIG. 1, the image signal processor 260 of FIG. 2) to cause the electronic device (e.g., the electronic device 101 of FIG. 1) to convert the size of the category map into a size corresponding to the plurality of blocks. The one or more instructions may be executed by the one or more processors (e.g., the processor 120 of FIG. 1, the image signal processor 260 of FIG. 2) to cause the electronic device (e.g., the electronic device 101 of FIG. 1) to update object category information for the plurality of blocks based on the converted category map.
[0090] In one embodiment, the one or more instructions may be executed by the one or more processors (e.g., processor (120) of FIG. 1, image signal processor (260) of FIG. 2) to cause the electronic device (e.g., electronic device (101) of FIG. 1) to omit an operation of updating at least a portion of the object category information when the image is a speed-priority processing target.
[0091] In one embodiment, the one or more instructions may be executed by one or more processors (e.g., the processor 120 of FIG. 1 , the image signal processor 260 of FIG. 2 ) to cause the electronic device (e.g., the electronic device 101 of FIG. 1 ) to determine at least one block among the plurality of blocks that is updatable based on the category map. The one or more instructions may be executed by the one or more processors (e.g., the processor 120 of FIG. 1 , the image signal processor 260 of FIG. 2 ) to cause the electronic device (e.g., the electronic device 101 of FIG. 1 ) to update object category information for the at least one block.
[0092] In one embodiment, the one or more instructions may be executed by the one or more processors (e.g., the processor (120) of FIG. 1, the image signal processor (260) of FIG. 2) to cause the electronic device (e.g., the electronic device (101) of FIG. 1) to determine that object category information for the at least one block is updateable if a category value included in the category map corresponding to the at least one block corresponds to any one of the pre-specified candidate values.
[0093] In one embodiment, the one or more instructions may be executed by the one or more processors (e.g., the processor 120 of FIG. 1 , the image signal processor 260 of FIG. 2 ) to cause the electronic device (e.g., the electronic device 101 of FIG. 1 ) to update a color correction matrix based on the updated object category information. The one or more instructions may be executed by the one or more processors (e.g., the processor 120 of FIG. 1 , the image signal processor 260 of FIG. 2 ) to cause the electronic device (e.g., the electronic device 101 of FIG. 1 ) to color correct the image based on the updated color correction matrix.
[0094] According to one embodiment, a method for processing an image signal by an electronic device (e.g., the electronic device (101) of FIG. 1) may include an operation of obtaining image data for an image captured through a camera (e.g., the camera module (180) of FIG. 1, the camera module (180) of FIG. 2) of the electronic device (e.g., the electronic device (101) of FIG. 1). The method may include an operation of obtaining a category map corresponding to the image using a machine-learned neural network model so as to receive an image and output a category map including category information classifying a type of a subject corresponding to a plurality of regions of the image. The method may include an operation of determining object category information classifying a plurality of blocks that divide the image into a plurality of regions based on color. The method may include an operation of updating at least a portion of the object category information for at least a portion of the plurality of blocks based on the category map. The method may include an operation of correcting color information for the image based on the updated object category information.
[0095] In one embodiment, the operation of correcting the color information may include an operation of determining an auto white balance (AWB) gain value based on the updated object category information. The operation of correcting the color information may include an operation of correcting the image based on the auto white balance gain value.
[0096] In one embodiment, the method may further include an operation of determining at least one count value for the plurality of blocks. The operation of correcting the color information may include an operation of correcting the color information based on the at least one count value.
[0097] In one embodiment, the at least one count value may include at least one of a category count value and a color count value. The category count value may include a value representing the number of blocks classified as belonging to a category of the subject. The color count value may include a value representing the number of blocks classified as corresponding to a specific color.
[0098] In one embodiment, the operation of obtaining the category map may include an operation of converting the size of the category map into a size corresponding to the plurality of blocks.
[0099] In one embodiment, the method may omit an operation of updating at least a portion of the object category information when the image is a speed-priority processing target.
[0100] In one embodiment, the operation of updating at least a portion of the object category information may include an operation of determining at least one block among the plurality of blocks that is updatable based on the category map. The operation of updating at least a portion of the object category information may include an operation of updating object category information for the at least one block.
[0101] In one embodiment, the operation of determining at least one block that is updatable may include an operation of determining that object category information for the at least one block is updatable if a category value included in the category map corresponding to the at least one block corresponds to any one of pre-specified candidate values.
[0102] In one embodiment, the method may include updating a color correction matrix based on the updated object category information. The method may include color correcting the image based on the updated color correction matrix.
[0103] In one embodiment, a computer-readable, non-transitory recording medium may record a computer program that, when executed by an electronic device (e.g., the electronic device (101) of FIG. 1), causes the electronic device to perform a method for processing an image signal. The method may include an operation of obtaining image data for an image captured through a camera (e.g., the camera module (180) of FIG. 1, the camera module (180) of FIG. 2) of the electronic device (e.g., the electronic device (101) of FIG. 1). The method may include an operation of obtaining a category map corresponding to the image using a machine-learned neural network model to input an image and output a category map including category information that classifies a type of a subject corresponding to a plurality of regions of the image. The method may include an operation of determining object category information that classifies a plurality of blocks that divide the image into a plurality of regions based on color. The method may include an operation of updating at least a portion of the object category information for at least a portion of the plurality of blocks based on the category map. The method may include an operation of correcting color information for the image based on the updated object category information.
[0104] In one embodiment, the operation of correcting the color information may include an operation of determining an auto white balance (AWB) gain value based on the updated object category information. The operation of correcting the color information may include an operation of correcting the image based on the auto white balance gain value.
[0105] In one embodiment, the method may include an operation of identifying a block corresponding to a specified category within the category map. The method may further include an operation of increasing at least one count value for the specified category based on the identified block. The operation of correcting the color information may include an operation of correcting the color information based on the at least one count value.
[0106] In one embodiment, the at least one count value may include at least one of a category count value and a color count value. The category count value may include a value representing the number of blocks classified as belonging to a category of the subject. The color count value may include a value representing the number of blocks classified as corresponding to a specific color.
[0107] In one embodiment, the operation of obtaining the category map may include an operation of converting the size of the category map into a size corresponding to the plurality of blocks.
[0108] According to one embodiment, an electronic device and an image signal processing method capable of performing an appropriate automatic white balance function depending on the color of a light source and the type of a subject may be provided.
[0109] According to one embodiment, an electronic device and an image signal processing method can be provided that can perform more appropriate color correction depending on the color of a light source and the type of a subject.
[0110] The effects that can be obtained from the present disclosure are not limited to the effects mentioned above, and other effects that are not mentioned can be clearly understood by a person having ordinary skill in the art to which the present disclosure belongs from the description below.
[0111] The methods according to the embodiments described in the claims or specification of the present disclosure may be implemented in the form of hardware, software, or a combination of hardware and software.
[0112] When implemented in software, a computer-readable storage medium storing one or more programs (software modules) may be provided. The one or more programs stored in the computer-readable storage medium are configured for execution by one or more processors within an electronic device. The one or more programs include instructions that cause the electronic device to execute methods according to embodiments described in the claims or specification of the present disclosure.
[0113] In the present disclosure, a function or operation performed by an electronic device may be performed by one or more processors executing one or more instructions stored in a memory. The function or operation of the electronic device mentioned in the present disclosure may be performed by one processor executing one or more instructions, or may be performed by a combination of multiple processors executing one or more instructions. The processor mentioned in the present disclosure may be understood to include a circuit for performing an operation or controlling other components of the electronic device. For example, the one or more processors may include a central processing unit (CPU), a microprocessor unit (MPU), an application processor (AP), a communication processor (CP), a neural processing unit (NPU), a system on chip (SoC), an integrated circuit (IC), or an application-specific integrated circuit (ASIC) configured to execute one or more instructions. The one or more processors may be configured to perform the operations of the electronic device described above.
[0114] In the present disclosure, a program (software module, software) may be stored in a non-volatile memory including a random access memory (RAM), a flash memory, a read only memory (ROM), an electrically erasable programmable read only memory (EEPROM), a magnetic disc storage device, a compact disc ROM (CD-ROM), digital versatile discs (DVDs) or other forms of optical storage devices, a magnetic cassette. Or, it may be stored in a memory formed by a combination of some or all of these. The memory may be formed by a single storage medium, or may be formed by a combination of a plurality of storage media. The one or more commands may be stored in a single storage medium, or may be distributed and stored in a plurality of storage media.
[0115] Additionally, the program may be stored on an attachable storage device that is accessible via a communication network such as the Internet, an intranet, a local area network (LAN), a wide LAN (WLAN), or a storage area network (SAN), or a combination thereof. Such a storage device may be connected to a device performing an embodiment of the present disclosure via an external port. Additionally, a separate storage device on the communication network may be connected to a device performing an embodiment of the present disclosure.
[0116] In the specific embodiments of the present disclosure described above, components included in the disclosure are expressed in the singular or plural form, depending on the specific embodiment presented. However, the singular or plural expressions are selected to suit the presented situation for convenience of explanation, and the present disclosure is not limited to singular or plural components. Components expressed in the plural form may be composed of singular elements, or components expressed in the singular form may be composed of plural elements.
[0117] Additionally, in the present disclosure, terms such as “part”, “module”, etc. may refer to a hardware component such as a processor or circuit, and / or a software component executed by a hardware component such as a processor.
[0118] A "component" or "module" may be implemented by a program stored in an addressable storage medium and executed by a processor. For example, a "component" or "module" may be implemented by components such as software components, object-oriented software components, class components, and task components, as well as processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
[0119] The specific implementations described in this disclosure are merely exemplary and do not limit the scope of the present disclosure in any way. For the sake of brevity, descriptions of conventional electronic components, control systems, software, and other functional aspects of the systems may be omitted.
[0120] Additionally, in the present disclosure, “comprising at least one of a, b, or c” may mean “comprising only a, including only b, including only c, or including a combination of two or more (including a and b, including b and c, including a and c, or including all of a, b, and c).
[0121] While the detailed description of this disclosure has described specific embodiments, it should be understood that various modifications are possible without departing from the scope of this disclosure. Therefore, the scope of this disclosure should not be limited to the described embodiments, but should be defined not only by the scope of the claims described below, but also by equivalents thereof.
Claims
1. In electronic devices, camera; one or more processors; and A memory storing a machine-learned neural network model and one or more instructions to output a category map including category information classifying the type of a subject corresponding to multiple regions of an input image, The one or more instructions are executed by the one or more processors, such that the electronic device: Obtaining image data for images acquired through the above camera, Using the above neural network model, a category map corresponding to the image is obtained, For a plurality of blocks that divide the above image into a plurality of regions, object category information that classifies the plurality of blocks based on color is determined, updating at least a portion of the object category information for at least some of the plurality of blocks based on the category map; An electronic device that corrects color information for the image based on the updated object category information.
2. In claim 1, The one or more instructions are executed by the one or more processors, such that the electronic device: Determine the auto white balance (AWB) gain value based on the updated object category information, An electronic device for correcting the image based on the automatic white balance gain value.
3. In claim 1, The one or more instructions are executed by the one or more processors, such that the electronic device: determining at least one count value for the above plurality of blocks, An electronic device configured to perform an operation of correcting the color information based on at least one count value.
4. In claim 3, wherein said at least one count value comprises at least one of a category count value or a color count value, The above category count value includes a value for the number of blocks classified as belonging to the subject category, An electronic device, wherein the color count value includes a value for the number of blocks classified as corresponding to a specific color.
5. In claim 1, The one or more instructions are executed by the one or more processors, such that the electronic device: Convert the size of the above category map to a size corresponding to the above multiple blocks, An electronic device that updates object category information for the plurality of blocks based on the converted category map.
6. In claim 1, The one or more instructions are executed by the one or more processors, such that the electronic device: An electronic device that, when the image is a target for speed priority processing, skips the operation of updating at least a part of the object category information.
7. In claim 1, The one or more instructions are executed by the one or more processors, such that the electronic device: determining at least one block among the above multiple blocks that can be updated based on the above category map; An electronic device configured to update object category information for at least one block.
8. In claim 7, An electronic device wherein the one or more instructions are executed by the one or more processors to cause the electronic device to determine that object category information for the at least one block is updateable if a category value included in the category map corresponding to the at least one block corresponds to any one of the pre-designated candidate values.
9. In claim 1, The one or more instructions are executed by the one or more processors, such that the electronic device: Update the color correction matrix based on the updated object category information, An electronic device for color correcting the image based on the updated color correction matrix.
10. In a method for processing an image signal by an electronic device, An operation of acquiring image data for an image acquired through a camera of the above electronic device; An operation of obtaining a category map corresponding to the image by using a machine-learned neural network model to output a category map including category information classifying the type of subject corresponding to multiple areas of the input image; An operation for determining object category information that classifies the plurality of blocks based on color, for a plurality of blocks that divide the above image into a plurality of regions; An operation of updating at least a portion of the object category information for at least some of the plurality of blocks based on the category map; and A method comprising an action of correcting color information for the image based on the updated object category information.
11. In claim 10, the operation of correcting the color information is: An operation for determining an auto white balance (AWB) gain value based on the updated object category information, and A method comprising: an operation of correcting the image based on the automatic white balance gain value; 12. In claim 10, Further comprising an operation of determining at least one count value for said plurality of blocks, The operation of correcting the color information includes an operation of correcting the color information based on the at least one count value, wherein said at least one count value comprises at least one of a category count value or a color count value, The above category count value includes a value for the number of blocks classified as belonging to the subject category, A method wherein the color count value includes a value for the number of blocks classified as corresponding to a specific color.
13. In claim 10, A method wherein the operation of obtaining the above category map includes an operation of converting the size of the above category map into a size corresponding to the plurality of blocks.
14. In claim 10, The action of updating at least part of the above object category information is: An operation of determining at least one block among the plurality of blocks that can be updated based on the category map, and Comprising an operation of updating object category information for at least one block above, A method according to claim 1, wherein the operation of determining at least one block capable of being updated includes an operation of determining that object category information for the at least one block is capable of being updated if a category value included in the category map corresponding to the at least one block corresponds to any one of pre-designated candidate values.
15. In a non-transitory computer-readable recording medium, Executed by electronic devices: An operation of acquiring image data for an image acquired through a camera of the above electronic device; An operation of obtaining a category map corresponding to the image by using a machine-learned neural network model to input an image and output a category map including category information classifying the types of subjects corresponding to multiple areas of the image; An operation for determining object category information that classifies the plurality of blocks based on color, for a plurality of blocks that divide the above image into a plurality of regions; An operation of updating at least a portion of the object category information for at least some of the plurality of blocks based on the category map; and A recording medium having recorded thereon a computer program that causes an image signal processing method to be performed, including an operation of correcting color information for the image based on the updated object category information.
Citation Information
Patent Citations
Image processor, imaging apparatus and its program
JP2008236015A
Method and apparatus for auto compensating image sensor lens shading
KR100566571B1
A video surveillance apparatus for identification and tracking multiple moving objects with similar colors and method thereof
KR101731243B1
Apparatus and Method of Enhancing Visual Flavor of Food Image
KR1020170030334A
Prefab box
KR1020250034550A