WO2023146149A1 - 이미지를 제공하는 방법 및 이를 지원하는 전자 장치 - Google Patents
이미지를 제공하는 방법 및 이를 지원하는 전자 장치 Download PDFInfo
- Publication number
- WO2023146149A1 WO2023146149A1 PCT/KR2023/000169 KR2023000169W WO2023146149A1 WO 2023146149 A1 WO2023146149 A1 WO 2023146149A1 KR 2023000169 W KR2023000169 W KR 2023000169W WO 2023146149 A1 WO2023146149 A1 WO 2023146149A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- camera module
- processor
- brightness
- exposure
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 60
- 230000008859 change Effects 0.000 claims description 81
- 230000011218 segmentation Effects 0.000 claims description 48
- 230000033001 locomotion Effects 0.000 claims description 31
- 238000004891 communication Methods 0.000 description 47
- 230000035945 sensitivity Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000013473 artificial intelligence Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000012937 correction Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 5
- 239000003381 stabilizer Substances 0.000 description 5
- 210000000746 body region Anatomy 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003155 kinesthetic effect Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 229910052724 xenon Inorganic materials 0.000 description 1
- FHNFHKCVQCLJFQ-UHFFFAOYSA-N xenon atom Chemical compound [Xe] FHNFHKCVQCLJFQ-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/70—Circuitry for compensating brightness variation in the scene
- H04N23/73—Circuitry for compensating brightness variation in the scene by influencing the exposure time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/57—Mechanical or electrical details of cameras or camera modules specially adapted for being embedded in other devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/61—Control of cameras or camera modules based on recognised objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/61—Control of cameras or camera modules based on recognised objects
- H04N23/611—Control of cameras or camera modules based on recognised objects where the recognised objects include parts of the human body
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/70—Circuitry for compensating brightness variation in the scene
- H04N23/71—Circuitry for evaluating the brightness variation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
- H04N5/77—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
Definitions
- Various embodiments of the present disclosure relate to a method for providing an image and an electronic device supporting the same.
- An electronic device such as a smart phone may control settings of a camera module to obtain an image desired by a user.
- the electronic device may control the exposure of the camera module to obtain an image having appropriate brightness.
- the electronic device may calculate the average brightness of the entire area of the acquired image or the brightness of the central area of the acquired image when an image is acquired through the camera module.
- the electronic device controls the exposure of the camera module based on the average brightness of the entire area of the calculated image or the brightness of the central area of the image.
- the exposure of the camera can be set according to the brightness of the entire area of the image, regardless of the type of subject to be photographed.
- the camera Exposure of the camera may be set based on the brightness of the area where the background is captured, not the brightness of the area where the subject is captured within the acquired image.
- Various embodiments of the present disclosure control the exposure of a camera based on at least one object obtained (eg, classified) by segmentation of an image, thereby controlling the subject regardless of the position of the subject within the angle of view of the camera.
- An electronic device includes a camera module, a memory, and at least one processor operatively connected to the camera module and the memory, the at least one processor via the camera module.
- a camera module By acquiring an image and performing segmentation on the image, at least one region corresponding to each of at least one object included in the image is identified in the image, and the brightness of the at least one region is determined.
- a method for providing an image in an electronic device includes obtaining an image through a camera module of the electronic device and performing segmentation on the image to include the image in the image.
- an operation of checking at least one area corresponding to each of the at least one object, obtaining a brightness of the at least one area, an operation of checking at least one weight corresponding to each of the at least one object, and the An operation of controlling exposure of the camera module based on the brightness of at least one region and the at least one weight value may be included.
- a method for providing an image and an electronic device supporting the same control exposure of a camera based on at least one object obtained (eg, classified) by segmentation of the image,
- the exposure of the camera can be controlled based on the subject (eg, person) regardless of the position of the subject within the angle of view.
- FIG. 1 is a block diagram of an electronic device in a network environment, according to various embodiments.
- FIG. 2 is a block diagram illustrating a camera module, in accordance with various embodiments.
- FIG. 3 is a block diagram of an electronic device, according to various embodiments.
- FIG. 4 is a block diagram of a processor, in accordance with various embodiments.
- FIG. 5 is a flowchart illustrating a method of providing an image, according to various embodiments.
- FIG. 6 is an exemplary diagram for explaining segmentation according to various embodiments.
- FIG. 7 is an exemplary diagram for explaining a method of obtaining brightness of a first region corresponding to an object, according to various embodiments.
- FIG. 8 is a flowchart illustrating a method of controlling exposure of a camera module, according to various embodiments.
- FIG. 9 is an exemplary view illustrating a method of controlling exposure of a camera module according to various embodiments.
- FIG. 10 is a flowchart illustrating a method of providing an image, according to various embodiments.
- FIG. 11 is a flowchart illustrating a method of providing an image, according to various embodiments.
- FIG. 12 is an exemplary diagram for explaining a method of providing an image, according to various embodiments.
- FIG. 13 is a flowchart illustrating a method of providing an image, according to various embodiments.
- FIG. 14 is a flowchart illustrating a method of providing an image, according to various embodiments.
- 15 is a flowchart illustrating a method of providing an image, according to various embodiments.
- 16 is a flowchart illustrating a method of providing an image, according to various embodiments.
- FIG. 1 is a block diagram of an electronic device 101 within a network environment 100, according to various embodiments.
- an electronic device 101 communicates with an electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or through a second network 199. It may communicate with at least one of the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
- a first network 198 eg, a short-range wireless communication network
- a second network 199 e.g., a second network 199. It may communicate with at least one of the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
- the electronic device 101 includes 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), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or the antenna module 197 may be included.
- at least one of these components eg, the connection terminal 178) may be omitted or one or more other components may be added.
- some of these components eg, sensor module 176, camera module 180, or antenna module 197) are integrated into a single component (eg, display module 160). It can be.
- the processor 120 for example, executes software (eg, the program 140) to cause at least one other component (eg, hardware or software component) of the electronic device 101 connected to the processor 120. It can control and perform various data processing or calculations. According to one embodiment, as at least part of data processing or operation, processor 120 transfers instructions or data received from other components (e.g., sensor module 176 or communication module 190) to volatile memory 132. , processing commands or data stored in the volatile memory 132 , and storing resultant data in the non-volatile memory 134 .
- software eg, the program 140
- processor 120 transfers instructions or data received from other components (e.g., sensor module 176 or communication module 190) to volatile memory 132. , processing commands or data stored in the volatile memory 132 , and storing resultant data in the non-volatile memory 134 .
- the processor 120 includes a main processor 121 (eg, a central processing unit or an application processor) or a secondary processor 123 (eg, a graphic processing unit, a neural network processing unit ( NPU: neural processing unit (NPU), image signal processor, sensor hub processor, or communication processor).
- a main processor 121 eg, a central processing unit or an application processor
- a secondary processor 123 eg, a graphic processing unit, a neural network processing unit ( NPU: neural processing unit (NPU), image signal processor, sensor hub processor, or communication processor.
- NPU neural network processing unit
- the secondary processor 123 may use less power than the main processor 121 or be set to be specialized for a designated function.
- the secondary processor 123 may be implemented separately from or as part of the main processor 121 .
- the secondary processor 123 may, for example, take the place of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or the main processor 121 is active (eg, running an application). ) state, together with the main processor 121, at least one of the components of the electronic device 101 (eg, the display module 160, the sensor module 176, or the communication module 190) It is possible to control at least some of the related functions or states.
- the auxiliary processor 123 eg, an image signal processor or a communication processor
- the auxiliary processor 123 may include a hardware structure specialized for processing an artificial intelligence model.
- AI models can be created through machine learning. Such learning may be performed, for example, in the electronic device 101 itself where the artificial intelligence model is performed, or may be performed through a separate server (eg, the server 108).
- the learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning or reinforcement learning, but in the above example Not limited.
- the artificial intelligence model may include a plurality of artificial neural network layers.
- Artificial neural networks include deep neural networks (DNNs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), restricted boltzmann machines (RBMs), deep belief networks (DBNs), bidirectional recurrent deep neural networks (BRDNNs), It may be one of deep Q-networks or a combination of two or more of the foregoing, but is not limited to the foregoing examples.
- the artificial intelligence model may include, in addition or alternatively, software structures in addition to hardware structures.
- the memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176) of the electronic device 101 .
- the data may include, for example, input data or output data for software (eg, program 140) and commands related thereto.
- the memory 130 may include volatile memory 132 or non-volatile memory 134 .
- 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 .
- the input module 150 may receive a command or data to be used by a component (eg, the processor 120) of the electronic device 101 from the outside of the electronic device 101 (eg, a user).
- the input module 150 may include, for example, a microphone, a mouse, a keyboard, a key (eg, a button), or a digital pen (eg, a stylus pen).
- the sound output module 155 may output sound signals to the outside of the electronic device 101 .
- the sound output module 155 may include, for example, a speaker or a receiver.
- the speaker can be used for general purposes such as multimedia playback or recording playback.
- a receiver may be used to receive an incoming call. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.
- the display module 160 may visually provide information to the outside of the electronic device 101 (eg, a user).
- the display module 160 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the device.
- the display module 160 may include a touch sensor configured to detect a touch or a pressure sensor configured to measure the intensity of force generated by the touch.
- the audio module 170 may convert sound into an electrical signal or vice versa. According to an embodiment, the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device connected directly or wirelessly to the electronic device 101 (eg: Sound may be output through the electronic device 102 (eg, a speaker or a headphone).
- the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device connected directly or wirelessly to the electronic device 101 (eg: Sound may be output through the electronic device 102 (eg, a speaker or a headphone).
- the sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101 or an external environmental state (eg, a user state), and generates an electrical signal or data value corresponding to the detected state. can do.
- the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a bio sensor, It may include a temperature sensor, humidity sensor, or light sensor.
- the interface 177 may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device 101 to an external electronic device (eg, the electronic device 102).
- 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.
- HDMI high definition multimedia interface
- USB universal serial bus
- SD card interface Secure Digital Card interface
- audio interface audio interface
- connection terminal 178 may include a connector through which the electronic device 101 may be physically connected to an external electronic device (eg, the electronic device 102).
- the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
- the haptic module 179 may convert electrical signals into mechanical stimuli (eg, vibration or motion) or electrical stimuli that a user may perceive through tactile or kinesthetic senses.
- the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
- the camera module 180 may capture still images and moving images. According to one embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
- the power management module 188 may manage power supplied to the electronic device 101 .
- the power management module 188 may be implemented as at least part of a power management integrated circuit (PMIC), for example.
- PMIC power management integrated circuit
- the battery 189 may supply power to at least one component of the electronic device 101 .
- the battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
- the communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (eg, the electronic device 102, the electronic device 104, or the server 108). Establishment and communication through the established communication channel may be supported.
- the communication module 190 may include one or more communication processors that operate independently of the processor 120 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
- the communication module 190 may be a wireless communication module 192 (eg, 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 (eg, a : a local area network (LAN) communication module or a power line communication module).
- a wireless communication module 192 eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
- GNSS global navigation satellite system
- wired communication module 194 eg, a : a local area network (LAN) communication module or a power line communication module.
- a corresponding communication module is a first network 198 (eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (eg, legacy It may communicate with the external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a telecommunications network such as a computer network (eg, a LAN or a WAN).
- a telecommunications network such as a computer network (eg, a LAN or a WAN).
- These various types of communication modules may be integrated as one component (eg, a single chip) or implemented as a plurality of separate components (eg, multiple chips).
- the wireless communication module 192 uses subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199.
- subscriber information eg, International Mobile Subscriber Identifier (IMSI)
- IMSI International Mobile Subscriber Identifier
- the electronic device 101 may be identified or authenticated.
- the wireless communication module 192 may support a 5G network after a 4G network and a next-generation communication technology, for example, NR access technology (new radio access technology).
- NR access technologies include high-speed transmission of high-capacity data (enhanced mobile broadband (eMBB)), minimization of terminal power and access of multiple terminals (massive machine type communications (mMTC)), or high reliability and low latency (ultra-reliable and low latency (URLLC)).
- eMBB enhanced mobile broadband
- mMTC massive machine type communications
- URLLC ultra-reliable and low latency
- -latency communications can be supported.
- the wireless communication module 192 may support a high frequency band (eg, mmWave band) to achieve a high data rate, for example.
- the wireless communication module 192 uses various technologies for securing performance in a high frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), and full-dimensional multiplexing. Technologies such as input/output (FD-MIMO: full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna may be supported.
- the wireless communication module 192 may support various requirements defined for the electronic device 101, an external electronic device (eg, the electronic device 104), or a network system (eg, the second network 199).
- the wireless communication module 192 may be used to realize peak data rate (eg, 20 Gbps or more) for realizing eMBB, loss coverage (eg, 164 dB or less) for realizing mMTC, or U-plane latency (for realizing URLLC).
- peak data rate eg, 20 Gbps or more
- loss coverage eg, 164 dB or less
- U-plane latency for realizing URLLC.
- DL downlink
- UL uplink each of 0.5 ms or less, or round trip 1 ms or less
- the antenna module 197 may transmit or receive signals or power to the outside (eg, an external electronic device).
- the antenna module 197 may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (eg, PCB).
- the antenna module 197 may include a plurality of antennas (eg, 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 is selected from the plurality of antennas by the communication module 190, for example. can be chosen A signal or power may be transmitted or received between the communication module 190 and an external electronic device through the selected at least one antenna.
- other components eg, a radio frequency integrated circuit (RFIC) may be additionally formed as a part of the antenna module 197 in addition to the radiator.
- RFIC radio frequency integrated circuit
- the antenna module 197 may form a mmWave antenna module.
- the mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first surface (eg, a lower surface) of the printed circuit board and capable of supporting a designated high frequency band (eg, mmWave band); and a plurality of antennas (eg, array antennas) disposed on or adjacent to a second surface (eg, a top surface or a side surface) of the printed circuit board and capable of transmitting or receiving signals of the designated high frequency band. can do.
- peripheral devices eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
- signal e.g. commands or data
- commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199 .
- Each of the external electronic devices 102 or 104 may be the same as or different from the electronic device 101 .
- all or part of operations executed in the electronic device 101 may be executed in one or more external electronic devices among the external electronic devices 102 , 104 , or 108 .
- the electronic device 101 when the electronic device 101 needs to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device 101 instead of executing the function or service by itself.
- one or more external electronic devices may be requested to perform the function or at least part of the service.
- One or more external electronic devices receiving the request may execute at least a part of the requested function or service or an additional function or service related to the request, and deliver the execution result to the electronic device 101 .
- the electronic device 101 may provide the result as at least part of a response to the request as it is or additionally processed.
- cloud computing distributed computing, mobile edge computing (MEC), or client-server computing technology may be used.
- the electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
- the external electronic device 104 may include an internet of things (IoT) device.
- Server 108 may be an intelligent server using machine learning and/or neural networks. According to one embodiment, the external electronic device 104 or server 108 may be included in the second network 199 .
- the electronic device 101 may be applied to intelligent services (eg, smart home, smart city, smart car, or health care) based on 5G communication technology and IoT-related technology.
- Electronic devices may be devices of various types.
- the electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance.
- a portable communication device eg, a smart phone
- a computer device e.g., a smart phone
- a portable multimedia device e.g., a portable medical device
- a camera e.g., a portable medical device
- a camera e.g., a portable medical device
- a camera e.g., a portable medical device
- a camera e.g., a camera
- a wearable device e.g., a smart bracelet
- first, second, or first or secondary may simply be used to distinguish a given component from other corresponding components, and may be used to refer to a given component in another aspect (eg, importance or order) is not limited.
- a (e.g., first) component is said to be “coupled” or “connected” to another (e.g., second) component, with or without the terms “functionally” or “communicatively.”
- the certain component may be connected to the other component directly (eg by wire), wirelessly, or through a third component.
- module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as, for example, logic, logical blocks, parts, or circuits.
- a module may be an integrally constructed component or a minimal unit of components or a portion thereof that performs one or more functions.
- the module may be implemented in the form of an application-specific integrated circuit (ASIC).
- ASIC application-specific integrated circuit
- a storage medium eg, internal memory 136 or external memory 138
- a machine eg, electronic device 101
- a processor eg, the processor 120
- a device eg, the electronic device 101
- the one or more instructions may include code generated by a compiler or code executable by an interpreter.
- the device-readable storage medium may be provided in the form of a non-transitory storage medium.
- the storage medium is a tangible device and does not contain a signal (e.g. electromagnetic wave), and this term refers to the case where data is stored semi-permanently in the storage medium. It does not discriminate when it is temporarily stored.
- a signal e.g. electromagnetic wave
- the method according to various embodiments disclosed in this document may be provided by being included in a computer program product.
- Computer program products may be traded between sellers and buyers as commodities.
- a computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play Store TM ) or on two user devices ( It can be distributed (eg downloaded or uploaded) online, directly between smart phones.
- a device-readable storage medium eg compact disc read only memory (CD-ROM)
- an application store eg Play Store TM
- It can be distributed (eg downloaded or uploaded) online, directly between smart phones.
- at least part of the computer program product may be temporarily stored or temporarily created in a device-readable storage medium such as a manufacturer's server, an application store server, or a relay server's memory.
- each component (eg, module or program) of the above-described components may include a single object or a plurality of entities, and some of the plurality of entities may be separately disposed in other components. there is.
- one or more components or operations among the aforementioned corresponding components may be omitted, or one or more other components or operations may be added.
- a plurality of components eg modules or programs
- the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by a corresponding component of the plurality of components prior to the integration. .
- the actions performed by a module, program, or other component are executed sequentially, in parallel, iteratively, or heuristically, or one or more of the actions are executed in a different order, or omitted. or one or more other actions may be added.
- FIG. 2 is a block diagram 200 illustrating a camera module 180, in accordance with various embodiments.
- the camera module 180 includes a lens assembly 210, a flash 220, an image sensor 230, an image stabilizer 240, a memory 250 (eg, a buffer memory), or an image signal processor. (260).
- the lens assembly 210 may collect light emitted from a subject that is an image capturing target.
- the lens assembly 210 may include one or more lenses.
- the camera module 180 may include a plurality of lens assemblies 210 .
- 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 (eg, angle of view, focal length, auto focus, f number, or optical zoom), or at least one lens assembly may have the same lens properties as other lens assemblies. may have one or more lens properties different from the lens properties of .
- the lens assembly 210 may include, for example, a wide-angle lens or a telephoto lens.
- the flash 220 may emit light used to enhance light emitted or reflected from a subject.
- the flash 220 may include one or more light emitting diodes (eg, a red-green-blue (RGB) LED, a white LED, an infrared LED, or an ultraviolet LED), or a xenon lamp.
- the image sensor 230 may 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.
- the image sensor 230 is, for example, an 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, It may include a plurality of image sensors having a property, or a plurality of image sensors having other properties.
- Each image sensor included in the image sensor 230 may be implemented using, for example, a charged coupled device (CCD) sensor or a complementary metal oxide semiconductor (CMOS) sensor.
- CCD charged coupled device
- CMOS complementary metal oxide semiconductor
- the image stabilizer 240 moves at least one lens or image sensor 230 included in the lens assembly 210 in a specific direction in response to movement of the camera module 180 or the electronic device 101 including the same. Operation characteristics of the image sensor 230 may be controlled (eg, read-out timing is adjusted, etc.). This makes it possible to compensate at least part of the negative effect of the movement on the image being taken.
- the image stabilizer 240 may include a gyro sensor (not shown) or an acceleration sensor (not shown) disposed inside or outside the camera module 180. Such a movement of the camera module 180 or the electronic device 101 may be detected using .
- the image stabilizer 240 may be implemented as, for example, an optical image stabilizer.
- the memory 250 may at least temporarily store at least a portion of an image acquired through the image sensor 230 for a next image processing task. For example, when image acquisition is delayed according to the shutter, or a plurality of images are acquired at high speed, the acquired original image (eg, a Bayer-patterned image or a high-resolution image) is stored in the memory 250 and , a copy image (eg, a low resolution image) corresponding thereto may be previewed through the display module 160 . Thereafter, when a specified condition is satisfied (eg, a user input or a system command), at least a part of the original image stored in the memory 250 may be obtained and processed by the image signal processor 260 , for example. According to one embodiment, the memory 250 may be configured as at least a part of the memory 130 or as a separate memory operated independently of the memory 130 .
- the image signal processor 260 may perform one or more image processes on an image obtained through the image sensor 230 or an image stored in the memory 250 .
- the one or more image processes for example, depth map generation, 3D modeling, panorama generation, feature point extraction, image synthesis, or image compensation (eg, noise reduction, resolution adjustment, brightness adjustment, blurring ( blurring, sharpening, or softening.
- the image signal processor 260 may include at least one of the components included in the camera module 180 (eg, an image sensor).
- the image processed by the image signal processor 260 is stored again in the memory 250 for further processing, or It may be provided as an external component of the camera module 180 (eg, the memory 130, the display module 160, the electronic device 102, the electronic device 104, or the server 108).
- the image signal processor 260 may be configured as at least a part of the processor 120 or may be configured as a separate processor that operates independently of the processor 120.
- the image signal processor 260 may be configured as a processor 120 and When configured as a separate processor, at least one image processed by the image signal processor 260 may be displayed through the display module 160 as it is or after additional image processing by the processor 120 .
- the electronic device 101 may include a plurality of camera modules 180 each having different properties or functions.
- at least one of the plurality of camera modules 180 may be a wide-angle camera, and at least the other may be a telephoto camera.
- at least one of the plurality of camera modules 180 may be a front camera, and at least another one may be a rear camera.
- FIG. 3 is a block diagram of an electronic device 101 according to various embodiments.
- the electronic device 101 may include a display module 310, a camera module 320, a memory 330, and/or a processor 340.
- the display module 310 may be included in the display module 160 of FIG. 1 .
- the display module 310 may display various screens.
- the display module 310 may display an image obtained through the camera module 320 .
- the image displayed by the display module 310 may include a moving image such as a preview image and/or a static image such as a capture image obtained based on a user input while the preview image is displayed.
- the camera module 320 may be included in the camera module 180 of FIGS. 1 and 2 .
- the camera module 320 may acquire an image based on camera settings set by the processor 340 .
- the camera module 320 is configured by the processor 340 to set camera settings related to exposure (eg, shutter speed, sensitivity of an image sensor (also referred to as 'International Standard Organization (ISO) sensitivity')). ), and/or the aperture value), a plurality of frames may be obtained consecutively (or sequentially).
- exposure e.g, shutter speed, sensitivity of an image sensor (also referred to as 'International Standard Organization (ISO) sensitivity')
- ISO International Standard Organization
- memory 330 may be included in memory 130 of FIG. 1 .
- the memory 330 may store information for performing at least part of an operation of providing an image. Information for performing at least a part of an operation of providing an image stored in the memory 330 will be described later in detail.
- processor 340 may be included in processor 120 of FIG. 1 .
- the processor 340 may overall control an operation of providing an image. In one embodiment, the processor 340 may include one or more processors for performing an operation of providing an image. Components included in the processor 340 to perform an image providing operation will be described in detail with reference to FIG. 4 .
- the electronic device 101 is illustrated as including a display module 310, a camera module 320, a memory 330, and/or a processor 340 in FIG. 3, it is not limited thereto.
- the electronic device 101 shares an image acquired through the camera module 320 with an external electronic device (eg, the electronic device 102, the electronic device 104, and/or the server 108).
- the communication module 190 of FIG. 1 may be further included.
- FIG. 4 is a block diagram of a processor 340, in accordance with various embodiments.
- the processor 340 may include a segmentation area acquisition unit 410, a brightness acquisition unit 420, an exposure control unit 430, and/or a motion detection unit 440. there is.
- the segmentation area acquisition unit 410 performs a segmentation operation on the image obtained through the camera module 320, and thereby, in the image, at least one object ('object') included in the image. is also referred to as a 'class') (hereinafter, referred to as 'at least one object') at least one area corresponding to each (hereinafter, at least one area corresponding to each of the at least one object) as 'at least one referred to as 'a first region of').
- the segmentation area acquisition unit 410 may perform a segmentation operation on an image obtained through the camera module 320 .
- the segmentation area acquisition unit 410 may perform segmentation on an image using a specified algorithm and/or artificial intelligence model.
- an artificial intelligence model for performing image segmentation may include a panoptic segmentation network.
- an artificial intelligence model for performing image segmentation may include an instance segmentation network, FCN, U-Net, DeepLab V3+, or Atrous convolution.
- the segmentation area acquisition unit 410 classifies at least one object included in the image by performing segmentation on the image, and provides information about the location of the at least one classified object. can be obtained For example, the segmentation area acquisition unit 410 classifies at least one object included in the image by performing segmentation on the image, and classifies at least one object in the image for each of the classified at least one object. Information on the coordinates of at least one first region in which is displayed may be obtained.
- the brightness obtaining unit 420 may acquire the brightness of at least one first area. For example, the brightness acquisition unit 420 determines a brightness value (eg, a Y value of the YCbCr color space) (hereinafter, the brightness value is also referred to as a 'Y value') for each of the at least one first region. can be obtained
- the brightness obtaining unit 420 may acquire the brightness of the image by considering at least one weight value corresponding to each of the at least one object. For example, the brightness obtainer 420 may check at least one weight value stored in the memory 330 and set for each of the at least one object corresponding to the at least one first region. The brightness acquisition unit 420 determines the brightness of the image (eg, the brightness of the entire image) by weighting the brightness of the at least one first area based on the brightness of the at least one first area and the at least one weight. can be obtained
- the exposure control unit 430 may control the exposure of the camera module 320 based on the brightness of the image.
- the exposure control unit 430 may control the exposure of the camera module 320 based on the brightness of the image and the specified brightness (hereinafter, referred to as 'target brightness').
- the target brightness is an image to be acquired through the camera module 320 by adjusting settings (eg, settings related to exposure) of the camera module 320 based on the image acquired through the camera module 320.
- the target brightness is determined through the camera module 320 when settings (eg, settings related to exposure) of the camera module 320 are gradually adjusted based on images acquired through the camera module 320.
- a target brightness may be specified by processor 340 .
- the target brightness may be set to a fixed brightness value or may be changed according to the environment around the electronic device 101 (eg, ambient illumination).
- the exposure control unit 430 may obtain an exposure value (EV) based on the brightness of the image (eg, total brightness of the image) and target brightness.
- the exposure controller 430 may set a shutter speed, ISO sensitivity, and/or aperture value related to the exposure of the camera module 320 based on the exposure value.
- the motion detector 440 may detect a motion of at least one object in an image obtained through the camera module 320 .
- the motion detection unit 440 may set (eg, adjust) exposure-related settings (eg, shutter speed and ISO sensitivity) of the camera module 320 based on the degree of motion of at least one object in the image. .
- the processor 340 is illustrated as including the segmentation area acquisition unit 410, the brightness acquisition unit 420, the motion detection unit 440, and/or the exposure control unit 430, but is not limited thereto.
- the processor 340 is configured to process (or correct) brightness of an image, such as high dynamic range (HDR) processing for an image acquired through the camera module 320. It may further include at least one component for performing various processes.
- HDR high dynamic range
- the electronic device 101 includes a camera module 320, a memory 330, and at least one processor (operably connected to the camera module 320 and the memory 330).
- the at least one processor detects at least one object included in the image by performing segmentation on the image, and determines the number of the detected at least one object. It may be configured to obtain information about location.
- the at least one processor (eg, the processor 340) sets a plurality of weights for each of the plurality of objects so that at least some of the plurality of objects have different weights, And it may be further configured to store the plurality of objects and the plurality of weights in the memory 330 .
- the at least one processor may be configured to set a higher weight for a person object among the plurality of objects than for other objects.
- the at least one processor may be configured to set the highest weight for a person object corresponding to the user of the electronic device 101 among a plurality of person objects. there is.
- the at least one processor acquires the brightness of the image based on the brightness of the at least one region and the at least one weight, and determines the brightness and It may be configured to determine an exposure value of the camera module 320 based on target brightness, and to control the exposure of the camera module 320 based on the exposure value of the camera module 320. there is.
- the at least one processor (eg, the processor 340) checks whether the at least one object includes a designated object, and if the at least one object includes the designated object, It is determined to control the exposure of the camera module 320 based on an object in the image, and when the at least one object does not include the specified object, the camera module 320 is determined based on a central area in the image. It may be further configured to determine what controls the exposure of module 320.
- the at least one processor (eg, the processor 340) is further configured to detect a position change amount of the at least one first region, and the at least one processor (eg, the processor 340) may be configured to set the shutter speed of the camera module 320 based on the amount of change in the position of the at least one first area.
- the at least one processor (eg, the processor 340) is further configured to determine whether the at least one object includes a designated object, and the at least one processor (eg, the processor 340) )) controls the exposure of the camera module 320 based on a first convergence rate when the at least one object includes the designated object, and the at least one object includes the designated object If not, the exposure of the camera module 320 may be controlled based on a second convergence rate faster than the first convergence rate.
- the at least one processor (eg, the processor 340) is further configured to determine whether a change in brightness of the at least one first region is less than a change in brightness due to a movement of the at least one object. and the at least one processor (for example, the processor 340), when the brightness change of the at least one first region is equal to or less than the brightness change due to the motion of the at least one object, based on the first convergence rate, A second convergence speed that is faster than the first convergence speed when exposure of the camera module 320 is controlled and a change in brightness of the at least one first area is greater than a change in brightness due to a motion of the at least one object Based on , it may be configured to control the exposure of the camera module 320 .
- FIG. 5 is a flowchart 500 describing a method of presenting an image, according to various embodiments.
- the processor 340 may obtain an image through the camera module 320 .
- the processor 340 may obtain an image through the camera module 320 while the camera application is being executed. For example, the processor 340 continuously sends a plurality of frames through the camera module 320 to display a preview image through the display module 210 in response to the execution of the camera application. ) can be obtained. For another example, the processor 340 may obtain a plurality of frames based on a user input for capturing an image.
- the processor 340 performs an operation (eg, operations 503 to 509) of controlling the exposure of the camera module 320 for each of a plurality of frames continuously acquired through the camera module 320. can do. For example, when the camera module 320 acquires a plurality of frames at 30 frames per second (FPS), the processor 340 performs an operation of controlling the exposure of the camera module 320 every 1/30 second can do. However, it is not limited thereto, and if the FPS at which the camera module 320 acquires a plurality of frames is equal to or greater than the specified FPS (eg, 120 FPS), the camera module 320 every 2 frames (or 3 frames or more) An operation of controlling the exposure of may be performed.
- FPS frames per second
- the processor 340 performs segmentation on the image acquired through the camera module 320, so that at least one corresponding to each of the at least one object included in the image is performed.
- One first region can be identified.
- the processor 340 may perform segmentation on an image acquired through the camera module 320 .
- the processor 340 may perform a segmentation operation on an image using a specified algorithm and/or artificial intelligence model.
- an artificial intelligence model for performing a segmentation operation on an image may include a panoptic segmentation network.
- an artificial intelligence model for performing a segmentation operation on an image may include an instance segmentation network, FCN, U-Net, DeepLab V3+, or Atrous convolution.
- the processor 340 classifies at least one object included in the image by performing a segmentation operation on the image, and obtains information about a position of the at least one classified object.
- a segmentation operation can be performed by the processor 340 on an image.
- FIG. 6 is an exemplary diagram 600 for explaining segmentation according to various embodiments.
- reference numeral 601 in FIG. 6 may indicate an image 610 acquired through the camera module 320 .
- an image 610 includes a body object 611 of a person, a skin object 612 of the person, and a sky object 613.
- the processor 340 by performing segmentation on the image 610, from the image 610, as at least one object included in the image 610, the body object 611, skin object ( 612), and the sky object 613 may be detected (eg, classified).
- an image map 620 corresponds to image 610 and includes a position (and brightness) of each of at least one object included in image 610 . can do.
- the processor 340 performs segmentation on the image 610 to obtain a first region of the complement corresponding to the body object 611, the skin object 612, and the sky object 613 in the image 610, respectively.
- a body area 621 , a skin area 622 , and a sky area 623 can be identified.
- the processor 340 creates a body area 621, a skin area 622, and a body area 621 respectively corresponding to the body object 611, the skin object 612, and the sky object 613 in the image 610.
- the body area 621, the skin area 622, and the sky area 623 are exemplified as having a rectangular shape, but are not limited thereto.
- the at least one first area respectively corresponding to at least one object may be an area formed by (or surrounded by) an outline (or boundary line) of at least one object in the image.
- the first region corresponds to the first region among the plurality of patches.
- a plurality of patches including objects may be included.
- the processor 340 when the information on the position of at least one object included in the image is obtained by performing a segmentation operation on the image, the information on the position of at least one object in the memory 330 ) can be stored.
- the processor 340 may obtain brightness of at least one first area.
- the processor 340 may obtain brightness for each of the at least one first region.
- the processor 340 may obtain a brightness (eg, a brightness value) for each of at least one first area.
- FIG. 7 is an exemplary diagram 700 for explaining a method of acquiring brightness of a first region corresponding to an object, according to various embodiments.
- an image map 710 may be configured (eg, divided) into a plurality of patches.
- the image map 710 may be divided into 19 horizontal and 32 vertical patches.
- the plurality of first patches 721 represent the body region 621 of FIG. 6
- the plurality of second patches 722 represent the body region 621 of FIG. 6
- the skin area 622 may be indicated
- the plurality of third patches 723 may indicate the sky area 623 of FIG. 6 .
- the processor 340 may obtain brightness for each of a plurality of patches included in at least one first area. In an embodiment, the processor 340 calculates a brightness value from pixel values of each of the plurality of patches in each of the plurality of patches included in the at least one first region by using [Equation 1] below. can
- R represents a red value of pixels constituting a patch represented by RGB data
- G represents a green value of pixels constituting a patch represented by RGB data
- B represents RGB It may represent blue values of pixels constituting a patch represented by data.
- the coefficients (0.299, 0.587, 0144) may be changed according to R/G and/or B/G of the image calculated through the camera module 320.
- the processor 340 may obtain an average brightness of a plurality of patches included in the at least one first area as the brightness of the at least one first area. For example, the processor 340 determines a brightness value from pixel values (eg, RGB data) of each of the plurality of first patches 721 of the body region 621 . (e.g. Y value of YCbCr color space) can be calculated. The processor 340 may obtain an average of brightness values of the plurality of first patches 721 of the body area 621 as the brightness of the body area 621 .
- pixel values eg, RGB data
- Y value of YCbCr color space e.g. Y value of YCbCr color space
- a method of obtaining a location and brightness of at least one first region using a plurality of patches is illustrated, but is not limited thereto.
- the processor 340 may obtain the location and brightness of at least one first region using coordinates and brightness of pixels included in each of the at least one first region without using a plurality of patches.
- At least one first region eg, a plurality of regions corresponding to the body region 621) corresponding to at least one object in an image (eg, the image map 710).
- the processor 340 may include at least one first area corresponding to at least one object and the remaining area (eg, the image map 710) except for the at least one first area in the image (eg, the image map 710).
- Brightness of the plurality of first patches 721, the plurality of second patches 722, and the remaining patches except for the plurality of third patches 723 in the image map 710 may be obtained. there is.
- the processor 340 may check at least one weight value corresponding to each of the at least one object.
- the processor 340 may set (eg, assign) a plurality of weights corresponding to each of the plurality of objects. For example, the processor 340 may set a plurality of weights corresponding to each of a plurality of objects, as shown in [Table 1 below].
- the object in [Table 1], includes a skin object, a body object, and a mask object, and the background is obtained by performing segmentation in an image obtained through the camera module 320 at least It can represent the remaining parts except for one object.
- level 3, level 2, and level 1 high weights may correspond (e.g., mapping) (e.g., in [Table 1], level 4 is the most corresponds to the highest weight, and level 1 corresponds to the lowest weight).
- a mask object may mean an object for a mask used for having a person's mouth (and nose).
- the processor 340 sets a weight higher than that of other objects for a person object and/or an object included in the person (eg, a skin object or a body object), and sets a mask worn by the person.
- the lowest weight for the mask object may be set, or the weight may be substantially set to '0' so that the brightness of the image is not affected by the brightness of .
- the processor 340 may set different weights for at least some of the plurality of objects.
- the processor 340 may map a plurality of objects and weights set for each of the plurality of objects and store them in the memory 330 .
- the processor 340 may store in the memory 330 a table in which a plurality of objects and weights set for each of the plurality of objects are mapped.
- the processor 340 may check at least one weight corresponding to each of the at least one object detected in the image through the table stored in the memory 330 .
- the processor 340 for a person-related object (eg, a person object, a skin object included in the person object, a body object included in the person object), compared to other objects (eg, object object) Higher weights can be set.
- a person-related object eg, a person object, a skin object included in the person object, a body object included in the person object
- other objects eg, object object
- the processor 340 may set different weights for at least some of the plurality of person objects. For example, the processor 340 may, with respect to a person object corresponding to the user of the electronic device 101, a person object corresponding to other persons (eg, other persons registered in the contact information of the electronic device 101). Compared to , a higher weight can be set.
- the processor 340 may set a lower weight for an object related to an object (eg, accessory) worn by a person than other objects (eg, background). For example, the processor 340 may set a lower weight for a mask, necklace, and/or clothing worn by a person than for other objects.
- object eg, accessory
- other objects eg, background
- the processor 340 may store in the memory 330 a plurality of weights set to correspond to each of the plurality of objects. In one embodiment, when at least one object included in the image is identified by performing segmentation, the processor 340 may check at least one weight corresponding to each of the at least one object from the memory 330. there is.
- the operation of acquiring the brightness of at least one first region in operation 505 is performed rather than the operation of checking at least one weight corresponding to each of the at least one object in operation 507, but is not limited thereto.
- the operation of checking at least one weight corresponding to each of the at least one object in operation 507 is performed prior to the operation of obtaining the brightness of the at least one first region in operation 505, or simultaneously (or in parallel). ) can be performed.
- the processor 340 controls the exposure of the camera module 320 based on the brightness of the at least one first region and the at least one weight value corresponding to each of the at least one object. can do.
- FIG. 8 is a flowchart 800 describing a method of controlling exposure of a camera module 320 according to various embodiments.
- the processor 340 determines the brightness of an image based on the brightness of at least one first area and the at least one weight, corresponding to each of the at least one object. (eg, the brightness of the entire region of the image acquired through the camera module 320) may be obtained.
- the processor 340 may obtain the brightness of the image by performing a weighted average on the brightness of at least one first region.
- the processor 340 may obtain the brightness of the image by performing a weighted average on the brightness of at least one first region using Equation 2 below.
- the brightness of the image may represent a weighted average Y value (weighted average brightness value), and N may represent the number of patches constituting the image.
- Ypatch may represent a Y value of each of a plurality of patches constituting an image
- Wpatch may represent a weight of each of a plurality of patches constituting an image.
- Wpatch may indicate a weight set for an object corresponding to a patch. For example, the plurality of first patches 721 corresponding to the body object 621 of FIG.
- each of the plurality of second patches 722 corresponding to the skin object 622 of FIG. 7 may have a weight set for the skin object 622 .
- the method of obtaining the brightness of an image by performing a weighted average of the brightness of at least one first region is not limited to the method using [Equation 2] described above.
- the processor 340 may determine an exposure value (EV) based on the brightness of the image (eg, the brightness of the image acquired in operation 801) and the target brightness.
- EV exposure value
- the target brightness is an image to be acquired through the camera module 320 by adjusting settings (eg, settings related to exposure) of the camera module 320 based on the image acquired through the camera module 320.
- the target brightness is determined through the camera module 320 when settings (eg, settings related to exposure) of the camera module 320 are gradually adjusted based on images acquired through the camera module 320. It may be a designated brightness that an image to be acquired finally has.
- a target brightness may be specified by processor 340 .
- the target brightness may be set to a fixed brightness value or may be changed according to the environment around the electronic device 101 (eg, ambient illumination).
- the processor 340 may calculate an exposure adjustment value based on the brightness of the image (eg, the brightness of the image acquired through operation 801) and the target brightness.
- the exposure adjustment value may be an exposure value that is added to the current exposure value of the camera module 320 in order to calculate a target exposure value.
- the processor 340 may calculate an exposure adjustment value and a target exposure value using [Equation 3] and [Equation 4] below.
- delta EV represents an adjustment value of exposure
- the Y value of the image represents the brightness value of the image acquired through operation 801
- the target Y value represents the target brightness value.
- the target exposure value may refer to a final exposure value to be set in the camera module 320 through an exposure convergence operation.
- the processor 340 gradually (or step by step) over time from the current exposure value of the camera module 320, the camera module 320 to have the target exposure value, The exposure value of module 320 can be set. Referring to Table 2 below, an operation of setting the exposure value of the camera module 320 by the processor 340 will be described.
- the processor 340 may calculate the exposure adjustment value as 1 and the target exposure value as 7 using [Equation 3] and [Equation 4] based on the brightness of the acquired image and the target brightness. .
- the exposure value of the camera module 320 is changed from the current exposure value of the camera module 320 (eg 6) through four steps (eg 6.25, 6.5, 6.75, 7), It is exemplified as converging to the exposure value of the target camera module 320, but is not limited thereto.
- the processor 340 determines the exposure value of the camera module 320 from the current exposure value (eg, 6) of the camera module 320 through steps more than 4 times or steps less than 4 times.
- the exposure value of the camera module 320 (eg, an exposure value to be applied for acquisition of the next frame of the current frame) may be set to converge to the exposure value of the target camera module 320 .
- the processor 340 may control the exposure of the camera module 320 based on the exposure value of the camera module 320 . For example, when the exposure value of the camera module 320 is calculated, the processor 340 sets (adjusts) settings related to the exposure of the camera module 320 based on the exposure value of the camera module 320. can do. For example, the processor 340 may set a shutter speed, a sensitivity (ISO sensitivity) of an image sensor, and/or an aperture value based on an exposure value of the camera module 320 .
- the processor 340 sets a method for setting settings related to the exposure of the camera module 320 based on the exposure value of the camera module 320 .
- FIG. 9 is an exemplary diagram 900 illustrating a method of controlling exposure of the camera module 320 according to various embodiments.
- FIG. 9 is a graph (eg, an exposure diagram) showing values corresponding to shutter speeds and values corresponding to sensitivities of an image sensor, corresponding to exposure values of the camera module 320. It may be a drawing for explanation.
- the X-axis represents the exposure value of the camera module 320
- the Y-axis represents a value corresponding to the shutter speed (Tv (value related to exposure time)) and image It may represent a value corresponding to the sensitivity of the sensor (Sv (a value related to ISO speed rating).
- a first line 910 corresponds to an exposure value of the camera module 320).
- a value Tv corresponding to a corresponding shutter speed may be indicated, and the second line 920 may indicate a value Sv corresponding to the sensitivity of the image sensor corresponding to the exposure value of the camera module 320 .
- the processor 340 may calculate a value (Tv) corresponding to the shutter speed and a value (Sv) corresponding to the image sensor using the exposure value and the following [Equation 5].
- Av may represent a value corresponding to an aperture value
- Tv may represent a value corresponding to a shutter speed.
- EV ISO 100 represents an exposure value based on ISO 100 (eg, when ISO sensitivity is 100)
- the coefficient '5' may be a constant determined based on ISO 100.
- Tv when the current exposure value of the camera module 320 is 11, Tv may be 7.7 and Sv may be 4.
- the processor 340 calculates the target exposure value of the camera module 320 as 10 based on the brightness of the image and the target brightness (eg, when delta EV is calculated as 1 through [Equation 3]), Using the first line 910 and the second line 920, a value (Tv) corresponding to the shutter speed corresponding to the target exposure value of 10 is calculated as 6.7, and a value (Sv) corresponding to the sensitivity of the image sensor can be determined as 4.
- a value (Tv) corresponding to the shutter speed corresponding to the target exposure value of 12 may be calculated as 8.7, and a value (Sv) corresponding to the sensitivity of the image sensor may be determined as 4.
- the method of calculating the value corresponding to the shutter speed and the value corresponding to the sensitivity of the image sensor based on the exposure value of the camera module 320 and [Equation 5] described with reference to FIG. 9 is an example, and various methods may be used. Using this, a value corresponding to the shutter speed and a value corresponding to the sensitivity of the image sensor may be calculated based on the exposure value of the camera module 320 .
- the processor 340 sets settings related to the exposure of the camera module 320 by controlling the exposure of the camera module 320 through operation 509, and then based on the settings related to the set exposure.
- An image eg, a frame next to a current frame
- the processor 340 may perform at least some of operations 503 to 509 of FIG. 5 when the electronic device 101 (eg, the camera module 320) performs an automatic exposure function. .
- the processor 340 may display the obtained image through the display module 210 .
- FIG. 10 is a flowchart 1000 describing a method of providing an image, according to various embodiments.
- the processor 340 may acquire an image through the camera module 320.
- operation 1001 is at least partially the same as or similar to operation 501 of FIG. 5 , a detailed description thereof will be omitted.
- the processor 340 performs segmentation on the image acquired through the camera module 320, thereby at least corresponding to each of the at least one object included in the image.
- One first region can be identified.
- operation 1003 is at least partially the same as or similar to operation 503 of FIG. 5 , a detailed description thereof will be omitted.
- the processor 340 may check whether at least one object detected in the image includes a designated object. For example, the processor 340 may check whether an image obtained through the camera module 320 includes a designated object.
- the processor 340 controls the exposure of the camera module 320 based on an object in the image according to whether a specified object is detected in the image (eg, operation 1007 to operation 1007).
- a method of controlling the exposure of the camera module 320 through 1011) and a second method of controlling the exposure of the camera module 320 based on the central area in the image (eg, method of controlling the exposure of the camera module 320 through operation 1013) ) exposure control method) can be determined.
- the processor 340 may designate a person object (or a person's body object, or a person's skin object) as an object for selecting one of the first method and the second method.
- an object designated to determine one of the first method and the second method is not limited to a person object.
- the operation of checking whether at least one object detected in an image in operation 1005 includes a designated object is performed by performing segmentation on an image obtained through the camera module 320 in operation 1003,
- the operation of identifying at least one first region corresponding to each of the at least one object included in the image is illustrated as being independent (separate) operations, but is not limited thereto.
- operation 1005 may be included in operation 1003.
- the processor 340 may check whether the image includes the specified object by performing segmentation on the image acquired through the camera module 320 and checking at least one object included in the image.
- the processor 340 may obtain brightness of at least one first area.
- operation 1007 is at least partially the same as or similar to operation 505 of FIG. 5 , a detailed description thereof will be omitted.
- the processor 340 may check at least one weight corresponding to each of the at least one object.
- operation 1009 is at least partially the same as or similar to operation 507 of FIG. 5 , a detailed description thereof will be omitted.
- the processor 340 controls the exposure of the camera module 320 based on the brightness of at least one first region and at least one weight corresponding to each of the at least one object. can do.
- Operation 1011 is at least partially the same as or similar to operation 509 of FIG. 5, and thus a detailed description thereof will be omitted.
- the processor 340 determines the location of the image Exposure of the camera module 320 may be controlled based on the central area. For example, when an image is composed of a plurality of patches, the processor 340 may set a higher weight for each of the plurality of patches closer to the center of the image. The processor 340 may control the exposure of the camera module 320 based on the brightness of the plurality of patches and the weights set for the plurality of patches.
- a specified object when a specified object is not detected in the image, it is exemplified as controlling the exposure of the camera module 320 based on the central region of the image, but is not limited thereto.
- the processor 340 controls the exposure of the camera module 320 based on the average brightness of all regions of the image, or based on a specific region in the image. Exposure of the camera module 320 may be controlled.
- 11 is a flowchart 1100 describing a method of providing an image, according to various embodiments.
- FIG. 12 is an exemplary diagram 1200 for explaining a method of providing an image, according to various embodiments.
- the processor 340 may detect a change in position of at least one first region corresponding to at least one object in the image. For example, the processor 340 may determine the position of the first region corresponding to the first object detected in the first frame (eg, the frame acquired before the current frame) acquired through the camera module 320 (eg, the first region). : coordinates of the first area within the first frame) and the position of the first area corresponding to the first object detected within the second frame (eg, the current frame) subsequent to the first frame (eg, within the second frame) Coordinates of the first region) can be compared. The processor 340 may determine that the position of at least one first region is changed when the position of the first region within the first frame and the position and difference between the positions of the first region within the second frame are greater than or equal to a specified difference.
- the processor 340 may determine that the position of at least one first region has changed, when the position of a designated object among at least one object included in the image is changed beyond the designated position. For example, if the position of a person object (eg, a body object or a skin object) among at least one object included in the image is changed beyond a designated position, the processor 340 determines whether the position of at least one first region has changed. can be determined as For another example, the processor 340 may determine that the position of at least one first region does not change even if the image includes only the sky object and the position of the sky object changes beyond a designated position.
- a person object eg, a body object or a skin object
- the processor 340 updates an image map corresponding to the image when it is determined that the position of at least one first region corresponding to at least one object in the image has changed. can do. For example, when it is determined that the position of at least one first region corresponding to at least one object in the image has changed, the processor 340 indicates the changed position (and brightness of the image) of the at least one first region.
- the image map may be stored in memory 330 .
- the processor 340 detects a position change amount of at least one first region in the image.
- the image map 1210 denoted by reference numeral 1201 of FIG. 12 may indicate an image map corresponding to a first frame (eg, a frame obtained before the current frame).
- the plurality of first-first patches 1211 represent a first area corresponding to the body object
- the plurality of first-second patches 1212 represent a first area corresponding to the skin object.
- the plurality of first to third patches 1213 may represent a first area corresponding to the sky object.
- the image map 1220 at reference numeral 1202 of FIG. 12 may indicate an image map corresponding to the second frame (eg, the current frame).
- the plurality of 2-1 patches 1221 represent the first area corresponding to the body object
- the plurality of 2-2 patches 1222 represent the first area corresponding to the skin object
- the plurality of 2-3 patches 1223 may represent a first area corresponding to the sky object.
- the processor 340 corresponds to the body object based on the plurality of 1-1 patches 1211 of the first frame and the plurality of 2-1 patches 1221 of the second frame. It may be detected that the location of the first region to be changed by a distance corresponding to one patch (eg, the horizontal length of one patch). Based on the plurality of 1-2 patches 1212 of the first frame and the plurality of 2-1 patches 1222 of the second frame, the processor 340 controls the first area corresponding to the skin object. It is possible to detect that the position is changed by a distance corresponding to one patch. In this case, the processor 340 may determine each of the position change amount of the first area corresponding to the body object and the position change amount of the first area corresponding to the skin object as one patch interval.
- the processor 340 may detect a direction in which the at least one first area changes along with a position change amount of the at least one first area. For example, in FIG. 12 , the processor 340 may determine a change direction of the first area corresponding to the body object and the first area corresponding to the scan object as the right direction.
- the processor 340 determines the amount of change in the position of at least one patch located at the center of the plurality of patches among the plurality of patches included in the first area corresponding to the object as the amount of change in the position of the first area. can be determined by However, it is not limited thereto, and for example, the processor may determine the amount of change in position of a specific patch among a plurality of patches included in the first area corresponding to the object as the amount of change in the position of the first area.
- a method of detecting a change in position of a first region corresponding to an object based on a change in positions of a plurality of patches in the first region corresponding to an object is exemplified, but is not limited thereto.
- the processor 340 may detect a position change amount of the first area corresponding to the object based on a change in coordinates of pixels of the first area corresponding to the object.
- the processor 340 may control the exposure of the camera module 320 based on the amount of change in the position of the at least one first region.
- the processor 340 may differently set the shutter speed of the camera module 320 based on the amount of change in the position of the at least one first region. For example, the processor 340 sets the shutter speed of the camera module 320 to a faster speed as the position change of at least one first area increases, and sets the camera module 320 to a faster speed as the position change of at least one first area decreases. The shutter speed of 320 can be set to a slow speed.
- '2 patches' refers to a first distance range of less than a distance corresponding to 4 patches greater than or equal to a distance corresponding to two patches (eg, a horizontal length of the two patches).
- '4 patches' represents a second distance range less than the distance corresponding to 8 patches over a distance corresponding to 4 patches
- '8 patches' represents a distance corresponding to 8 patches or more 16 patches
- '8 patches' may indicate a fourth distance range equal to or greater than the distance corresponding to 8 patches.
- shutter speeds may correspond (eg, map) to high shutter speeds in order of level 1, level 2, level 3, and level 4.
- a shutter speed corresponding to level 1 may be the slowest shutter speed
- a shutter speed corresponding to level 4 may be the fastest shutter speed.
- the processor 340 may store in the memory 330 a table representing a relationship between the amount of change in the position of the first region of the object and the shutter speed, as shown in [Table 3].
- the processor 340 may set the shutter speed of the camera module 320 to a shutter speed corresponding to the distance range according to the distance range corresponding to the amount of change in the position of the first region of the object.
- the processor 340 may set the shutter speed of the camera module 320 to a shutter speed corresponding to level 1 when the position variation of the first area of the object corresponds to the first distance range.
- the processor 340 when the exposure value of the camera module 320 is determined through at least some operations of operations 501 to 509 of FIG. 5, the determined exposure value of the camera module 320 and operation 1107
- the sensitivity of the image sensor may be set in consideration of the set shutter speed.
- the processor 340 may determine the exposure value of the camera module 320 through at least some operations of operations 501 to 509 of FIG. 5 .
- the processor 340 may set a shutter speed corresponding to level 1 when the position variation of the first area corresponding to the object corresponds to the first distance range.
- the processor 340 may set the sensitivity value of the image sensor to the first sensitivity value according to the determined exposure value of the camera module 320 and the shutter speed corresponding to level 1.
- the processor 340 may set a shutter speed corresponding to level 4 when the position variation of the first area corresponding to the object corresponds to the fourth distance range.
- the processor 340 may set the sensitivity value of the image sensor to a second sensitivity value higher than the first sensitivity value according to the determined exposure value of the camera module 320 and the shutter speed corresponding to level 4.
- the processor 340 sets the shutter speed to a faster shutter speed as the amount of change in the position of the first region of the object increases, so that the image is blurred (eg, a person) by the movement of the subject (eg, a person) to be captured. It can be done so that it is not displayed as blurred.
- the image is blurred (eg, a person) by the movement of the subject (eg, a person) to be captured. It can be done so that it is not displayed as blurred.
- FIG. 13 is a flowchart 1300 describing a method of providing an image, according to various embodiments.
- the processor 340 may acquire an image through the camera module 320.
- operation 1301 is at least partially the same as or similar to operation 501 of FIG. 5 , a detailed description thereof will be omitted.
- the processor 340 performs segmentation on the image acquired through the camera module 320, thereby at least corresponding to each of the at least one object included in the image.
- One first region can be identified.
- operation 1303 is at least partially the same as or similar to operation 503 of FIG. 5 , a detailed description thereof will be omitted.
- the processor 340 may check whether at least one object detected in the image includes a designated object. For example, the processor 340 may check whether an image acquired through the camera module 320 includes a designated object (eg, a person object, a person's body object, or a person's skin object).
- a designated object eg, a person object, a person's body object, or a person's skin object.
- the processor 340 may obtain brightness of at least one first area.
- operation 1307 is at least partially the same as or similar to operation 505 of FIG. 5 , a detailed description thereof will be omitted.
- the processor 340 may check at least one weight corresponding to each of the at least one object.
- operation 1309 is at least partially the same as or similar to operation 507 of FIG. 5 , a detailed description thereof will be omitted.
- the processor 340 may control the exposure of the camera module 320 based on the first exposure convergence rate.
- the processor 340 determines the brightness of the image (eg, through the camera module 320) based on the brightness of the at least one first region and the at least one weight, corresponding to each of the at least one object. brightness of the entire region of the acquired image) may be obtained.
- the processor 340 may determine an exposure value of the camera module 320 based on the brightness of the image and the target brightness.
- the processor 340 may set the exposure value of the camera module 320 based on the first exposure convergence speed when the specified object is included in the image. For example, when the specified object is not included in the image, the processor 340 determines the exposure value of the camera module 320 from the currently set exposure value of the camera module 320, as shown in Table 2 described above. , the exposure value of the camera module 320 may be set to converge to the exposure value of the target camera module 320 through four steps. Processor 340, when the specified object is included in the image, as shown in Table 3 below, the exposure value of the camera module 320 is 10 times more than 4 times from the currently set exposure value of the camera module 320. Through several steps, the exposure value of the camera module 320 may be set to converge to the exposure value of the target camera module 320 .
- the processor 340 may calculate the exposure adjustment value as 1 and the target exposure value as 7 using [Equation 3] and [Equation 4] based on the brightness of the acquired image and the target brightness. .
- the exposure Convergence may be referred to as slow.
- the exposure convergence speed increases. can be referred to as fast.
- the processor 340 sets the exposure value of the camera module 320 based on the first exposure convergence rate when the specified object is included in the image, and sets the exposure value of the camera module 320 when the specified object is not included in the image.
- An exposure value of the camera module 320 may be set based on the second exposure convergence speed faster than the exposure convergence speed.
- the processor 340 may obtain brightness of at least one first area.
- operation 1313 is at least partially the same as or similar to operation 505 of FIG. 5 , a detailed description thereof will be omitted.
- the processor 340 may check at least one weight corresponding to each of the at least one object.
- operation 1315 is at least partially the same as or similar to operation 507 of FIG. 5 , a detailed description thereof will be omitted.
- the processor 340 may control the exposure of the camera module 320 based on the first exposure convergence rate.
- the processor 340 may set the exposure value of the camera module 320 based on a second exposure convergence speed faster than the first exposure convergence speed. For example, the processor 340, as shown in [Table 2] described above, the exposure value of the camera module 320, from the currently set exposure value of the camera module 320, through four steps, the target camera module An exposure value of the camera module 320 (eg, an exposure value to be applied to obtain a next frame of the current frame) may be set to converge to the exposure value of (320).
- a second exposure convergence speed faster than the first exposure convergence speed For example, the processor 340, as shown in [Table 2] described above, the exposure value of the camera module 320, from the currently set exposure value of the camera module 320, through four steps, the target camera module An exposure value of the camera module 320 (eg, an exposure value to be applied to obtain a next frame of the current frame) may be set to converge to the exposure value of (320).
- the camera module 320 when the processor 340 includes the specified object in the image, the camera module 320 based on the first exposure convergence rate that is slower than the second exposure convergence rate set when the specified object is not included in the image.
- the exposure value of when the image includes a specified object, the brightness of the image can be smoothly changed. Through this, it is possible to improve the quality of the image experienced by the user.
- an image does not include a designated object
- it is exemplified as controlling the exposure of the camera module 320 based on an object in the image, like operations 1313 to 1317, but is not limited thereto.
- the processor 340 controls the exposure of the camera module 320 based on a central region in the image, as in operation 1013 of FIG. 10 , and
- an exposure value of the camera module 320 may be set based on the second exposure convergence speed.
- the processor 340 performs an operation of checking whether at least one object of operation 1305 includes a designated object before performing operations 1307 and 1309 or operations 1313 and 1315.
- the processor 340 may perform an operation of acquiring brightness of at least one first region corresponding to at least one object (eg, operation 1307 or operation 1309) and at least one weight corresponding to each of the at least one object. After performing an operation (eg, operation 1313 or operation 1315) for checking, it is possible to check whether at least one object includes a designated object.
- the processor 340 When at least one object includes the specified object, the processor 340 performs an operation of controlling the exposure of the camera module 320 based on the first exposure convergence rate, such as operation 1311, and at least one object is specified. When the object is not included, an operation of controlling the exposure of the camera module 320 based on the second exposure convergence speed, such as operation 1317, may be performed.
- FIG. 14 is a flowchart 1400 describing a method of presenting an image, according to various embodiments.
- the processor 340 may obtain an image through the camera module 320.
- operation 1301 is at least partially the same as or similar to operation 501 of FIG. 5 , a detailed description thereof will be omitted.
- the processor 340 performs segmentation on the image obtained through the camera module 320, thereby at least corresponding to each of the at least one object included in the image.
- One first region can be identified.
- operation 1403 is at least partially the same as or similar to operation 503 of FIG. 5 , a detailed description thereof will be omitted.
- the processor 340 may obtain brightness of at least one first area.
- operation 1405 is at least partially the same as or similar to operation 505 of FIG. 5 , a detailed description thereof will be omitted.
- the processor 340 may check whether the change in brightness of the at least one first area is less than a threshold.
- the processor 340 may determine whether a change in brightness of at least one first region (or at least one first region and a background region in the image) is less than a threshold. For example, the processor 340 calculates a difference between the brightness of at least one first area in a first frame and the brightness of at least one first area in a second frame subsequent to the first frame, so that within the image A change in brightness of at least one first region can be confirmed in . The processor 340 may determine whether the brightness change of the at least one first region is less than the threshold by comparing the checked brightness change of the at least one first region with a threshold (eg, threshold brightness change).
- a threshold eg, threshold brightness change
- the processor 340 determines whether the change in brightness of the at least one first region is smaller than the change in brightness caused by the movement of at least one object included in the image (or the movement of the subject to be photographed). can For example, the processor 340 replaces an operation of determining whether the brightness change of the at least one first area is less than a threshold, and determines whether the brightness change of the at least one first area is at least one object included in the image. It can be checked whether the change in brightness due to the movement of is smaller than the change in brightness.
- the lighting device disposed in the surrounding environment (eg, the shooting space) of the electronic device 101 switches from a turn off state to a turn on state ( Alternatively, as the lighting device is switched from a turn-off state to a turn-on state), the brightness of an image acquired through the camera module 320 may be rapidly changed.
- the processor 340 may check at least one weight corresponding to each of the at least one object.
- operation 1409 is at least partially the same as or similar to operation 507 of FIG. 5 , a detailed description thereof will be omitted.
- the processor 340 may control the exposure speed of the camera module 320 based on the first exposure convergence speed.
- the processor 340 determines that the change in brightness of the at least one first region is less than a threshold (or the change in brightness of the at least one first region is related to the motion of at least one object included in the image). If it is confirmed that the change in brightness is smaller than the change in brightness due to the exposure), the exposure of the camera module 320 may be controlled based on the first exposure convergence speed that is slower than the second exposure convergence speed. An operation of controlling the exposure of the camera module 320 by the processor 340 based on the first exposure convergence rate is at least partially the same as or similar to operation 1311 of FIG. 13, and thus a detailed description thereof will be omitted.
- the processor 340 may check at least one weight corresponding to each of the at least one object.
- operation 1413 is at least partially the same as or similar to operation 507 of FIG. 5 , a detailed description thereof will be omitted.
- the processor 340 may control the exposure speed of the camera module 320 based on the second exposure convergence speed.
- the processor 340 determines that the change in brightness of at least one first region is greater than or equal to a threshold (or the change in brightness of at least one first region is related to the motion of at least one object included in the image). If it is confirmed that the change in brightness is greater than the change in brightness due to , the exposure of the camera module 320 may be controlled based on the second exposure convergence speed faster than the first exposure convergence speed. An operation in which the processor 340 controls the exposure of the camera module 320 based on the second exposure convergence rate is at least partially the same as or similar to operation 1317 of FIG. 14, and thus a detailed description thereof will be omitted.
- the processor 340 is configured to switch the lighting device disposed in the surrounding environment of the electronic device 101 from a turn-off state to a turn-on state (or from a turn-on state to a turn-off state). Accordingly, when the brightness of an image obtained through the camera module 320 is rapidly changed, the exposure of the camera module 320 may be controlled based on a second exposure convergence speed faster than the first exposure convergence speed.
- the processor 340 determines that the change in brightness of at least one first region is greater than or equal to a threshold even when the image includes a specified object (eg, a person object, a body object of a person, or a skin object of a person). If it is confirmed (or if it is confirmed that the change in brightness of at least one first region is greater than the change in brightness due to the motion of at least one object included in the image), a second exposure convergence rate faster than the first exposure convergence rate Based on this, exposure of the camera module 320 may be controlled.
- a specified object eg, a person object, a body object of a person, or a skin object of a person.
- 15 is a flowchart 1500 describing a method of presenting an image, according to various embodiments.
- FIG. 15 may include operations performed after performing an operation of determining an exposure value based on brightness of an image and target brightness in operation 803 of FIG. 8 .
- the processor 340 may check the setting of the camera module 320 corresponding to the exposure value of the camera module 320. For example, after determining the exposure value based on the brightness of the image and the target brightness, the processor 340 determines the determined exposure value based on the first line 910 and the second line 920 of the graph of FIG. 9 . A value corresponding to the shutter speed corresponding to and a value corresponding to the sensitivity of the image sensor may be checked.
- the processor 340 may check whether the settings of the camera module 320 can be set with the checked settings of the camera module 320.
- the processor 340 may not be able to set the settings of the camera module 320 to the confirmed settings of the camera module 320 due to limitations of hardware or software related to the camera module 320. .
- the processor 340 determines that the sensitivity value of the image sensor corresponding to the exposure value of the camera module 320 is 6400, and the sensitivity value of the image sensor of the camera module 320 can be set up to 3200. , it can be confirmed that the settings of the camera module 320 cannot be set with the confirmed settings of the camera module 320 .
- the processor 340 determines that the sensitivity value of the image sensor corresponding to the exposure value of the camera module 320 is 1600, and the sensitivity value of the image sensor of the camera module 320 can be set up to 3200. In this case, it can be confirmed that the settings of the camera module 320 can be set based on the confirmed settings of the camera module 320 .
- the processor 340 determines that the exposure time of the camera module 320 corresponding to the exposure value of the camera module 320 is t1, and the exposure time settable in the camera module 320 is greater than t1. In the case of short t2, it can be confirmed that the settings of the camera module 320 cannot be set with the confirmed settings of the camera module 320.
- the processor 340 determines that the exposure time of the camera module 320 corresponding to the exposure value of the camera module 320 is t3, and the exposure time settable in the camera module 320 is greater than t3. In the case of long t2, it can be confirmed that the settings of the camera module 320 can be set with the confirmed settings of the camera module 320.
- the processor 340 may determine the maximum and/or minimum values of exposure-related settings (eg, shutter speed, image sensor sensitivity, and/or aperture-related settings) settable in the camera module 320 . In consideration of the values, it is possible to check whether the settings of the camera module 320 can be set with the checked settings of the camera module 320 . For example, the processor 340 may, when the identified setting of the camera module 320 is in a range between the maximum value and the minimum value of settings related to exposure settable in the camera module 320, the identified camera module 320. It can be confirmed that the settings of the camera module 320 can be set through the settings of the module 320 .
- exposure-related settings eg, shutter speed, image sensor sensitivity, and/or aperture-related settings
- the processor 340 may, when the identified setting of the camera module 320 is greater than the maximum value or less than the minimum value of settings related to exposure settable in the camera module 320, the identified camera module 320. It can be confirmed that the setting of the camera module 320 cannot be set through the setting of the module 320 .
- the processor 340 determines the camera module ( Settings of the camera module 320 may be set by setting in 320).
- Operation 1505 is at least partially the same as or similar to the operation of controlling exposure of the camera module 320 of operation 805 of FIG. 8 , and thus a detailed description thereof will be omitted.
- the processor 340 sets the configurable camera module ( 320) may set the settings of the camera module 320.
- the processor 340 may set the settings of the camera module 320 to the maximum or minimum values of settings related to exposure that can be set in the camera module 320 . For example, the processor 340 determines that the sensitivity value of the image sensor corresponding to the exposure value of the camera module 320 is 6400, and the sensitivity value of the image sensor of the camera module 320 can be set up to 3200. , the sensitivity value of the image sensor of the camera module 320 may be set to 3200.
- the processor 340 may obtain an image through the camera module 320 based on the setting of the camera module 320 set in operation 1507.
- the processor 340 may acquire brightness of the obtained image.
- the processor 340 may acquire the brightness of the entire region of the obtained image.
- the processor 340 may correct the brightness of the image based on the target brightness and the brightness of the image (eg, the brightness of the image obtained through operation 1511).
- the processor 340 may calculate a difference between the target brightness and the brightness of the image (hereinafter referred to as 'delta Y').
- the processor 340 may correct the brightness of the image by performing tone correction through gamma correction and/or tone mapping so that delta Y becomes a minimum (eg, a value of '0'). there is.
- the processor 340 may perform tone correction through gamma correction and/or tone mapping such that the difference between the target brightness and the brightness of the image is minimal (eg, the brightness of the image is substantially equal to the target brightness). can be done
- 16 is a flowchart 1600 describing a method of presenting an image, according to various embodiments.
- FIG. 16 may include operations performed after controlling the exposure of the camera module 320 of FIG. 5 .
- the processor 340 may acquire an image through the camera module 320 .
- the processor 340 may obtain an image through the camera module 320 based on settings related to exposure of the camera module 320 set by performing the operations of FIG. 5 .
- the processor 340 may set the setting of the camera module 320 such that the exposure value of the camera module 320 is the same as the target exposure value by performing the above-described exposure convergence operation.
- the processor 340 may acquire an image through the camera module 320 after the setting of the camera module 320 corresponding to the exposure value of the camera module 320_ set to be the same as the target exposure value is set.
- the processor 340 may obtain brightness of a first area corresponding to a designated object included in the image.
- the processor 340 may obtain the brightness of the first region corresponding to a designated object (eg, a skin object) by performing segmentation.
- the processor 340 may set a skin object included in a person object as a designated object. However, it is not limited thereto, and the processor 340 may set an object other than a skin object (eg, a body object included in a person object) as a designated object.
- the processor 340 may correct the brightness of the image based on the brightness of the first area corresponding to the specified object and the target brightness of the specified object.
- the processor 340 may calculate a difference between the brightness of the first area corresponding to the designated object (eg, skin object) and the target brightness set for the designated object.
- the processor 340 performs tone correction through gamma correction and/or tone mapping so that a difference between the brightness of the first area corresponding to the specified object and the target brightness set for the specified object is minimized (eg, a value of '0'). By doing this, the brightness of the image can be corrected.
- the processor 340 minimizes the difference between the brightness of the first area corresponding to the specified object (eg, skin object) and the target brightness set for the specified object (eg, the first area corresponding to the specified object).
- Tone correction may be performed through gamma correction and/or tone mapping so that the brightness of is substantially equal to the target brightness of the specified object.
- the setting of the camera module 320 An image including an object having appropriate brightness may not be obtained only by the operation of setting .
- the processor 340 corrects the brightness of the image based on the brightness of the first area corresponding to the designated object (eg, skin object) and the target brightness of the designated object, so that an image including an object having appropriate brightness is obtained. can be obtained
- a method of providing an image in an electronic device 101 includes obtaining an image through a camera module 320 of the electronic device 101 and performing segmentation on the image. , an operation of identifying at least one region in the image corresponding to each of the at least one object included in the image, an operation of acquiring brightness of the at least one region, and at least one region corresponding to each of the at least one object. It may include an operation of checking a weight of , and an operation of controlling the exposure of the camera module 320 based on the brightness of the at least one region and the at least one weight.
- the operation of identifying the at least one region may include detecting at least one object included in the image by performing segmentation on the image, and information about the location of the at least one detected object. It may include an operation of obtaining.
- the method may include an operation of setting a plurality of weights for each of the plurality of objects so that at least some of the plurality of objects have different weights, and the plurality of objects and the plurality of weights.
- An operation of storing the weights in the memory 330 of the electronic device 101 may be further included.
- the operation of setting the plurality of weights may include an operation of setting a higher weight for a person object among the plurality of objects than for other objects.
- the operation of setting a higher weight for a person object than other objects among the plurality of objects includes the highest weight for the person object corresponding to the user of the electronic device 101 among the plurality of person objects. It may include an operation to set.
- the operation of controlling the exposure of the camera module 320 may include an operation of acquiring the brightness of the image based on the brightness of the at least one region and the at least one weight, the brightness and An operation of determining an exposure value of the camera module 320 based on a target brightness, and an operation of controlling the exposure of the camera module 320 based on the exposure value of the camera module 320 may be included. there is.
- the method may include an operation of determining whether the at least one object includes the specified object, and if the at least one object includes the specified object, the camera based on the object in the image.
- the method further includes an operation of detecting an amount of change in the position of the at least one first region, and the operation of controlling exposure of the camera module 320 determines the position of the at least one first region.
- An operation of setting the shutter speed of the camera module 320 based on the amount of change may be included.
- the method further includes an operation of determining whether the at least one object includes a designated object, and the operation of controlling the exposure of the camera module 320 includes the at least one object.
- the operation of controlling the exposure of the camera module 320 based on the first convergence rate when the specified object is included, and the first convergence rate when the at least one object does not include the specified object Based on the fast second convergence speed, an operation of controlling the exposure of the camera module 320 may be included.
- the method further includes an operation of determining whether a change in brightness of the at least one first region is less than a change in brightness due to a motion of the at least one object, and the camera module 320
- the operation of controlling the exposure may include controlling the exposure of the camera module 320 based on a first convergence rate when the change in brightness of the at least one first area is equal to or less than the change in brightness due to the motion of the at least one object.
- the method may include, after controlling the exposure of the camera module 320, an operation of obtaining a subsequent image subsequent to the image through the camera module 320, and a designated designated included in the subsequent image.
- the method may further include obtaining brightness of an area corresponding to the object and correcting brightness of the subsequent image based on the brightness of the area and the target brightness of the designated object.
- the structure of data used in the above-described embodiments of the present invention can be recorded on a computer-readable recording medium through various means.
- the computer-readable recording medium includes storage media such as magnetic storage media (eg, ROM, floppy disk, hard disk, etc.) and optical reading media (eg, CD-ROM, DVD, etc.).
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Studio Devices (AREA)
Abstract
본 개시의 다양한 실시예들에 따른 전자 장치는, 카메라 모듈, 메모리, 및 상기 카메라 모듈 및 상기 메모리와 작동적으로 연결된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 카메라 모듈을 통하여 이미지를 획득하고, 상기 이미지에 대한 세그멘테이션(segmentation)을 수행함으로써, 상기 이미지 내에서 상기 이미지에 포함된 적어도 하나의 객체 각각에 대응하는 적어도 하나의 영역을 확인하고, 상기 적어도 하나의 영역의 밝기를 획득하고, 상기 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 확인하고, 및 상기 적어도 하나의 영역의 밝기 및 상기 적어도 하나의 가중치에 기반하여, 상기 카메라 모듈의 노출을 제어하도록 구성될 수 있다.
Description
본 발명의 다양한 실시예들은, 이미지를 제공하는 방법 및 이를 지원하는 전자 장치에 관한 것이다.
스마트 폰(smart phone)과 같은 전자 장치는 사용자가 원하는 이미지를 획득하기 위하여 카메라 모듈의 설정을 제어할 수 있다. 예를 들어, 전자 장치는, 적정한 밝기를 가지는 이미지를 획득하기 위하여, 카메라 모듈의 노출을 제어할 수 있다.
전자 장치는, 카메라 모듈의 노출을 제어하기 위한 동작으로서, 카메라 모듈을 통하여 이미지가 획득된 경우, 획득된 이미지의 전체 영역의 평균 밝기 또는 획득된 이미지의 중심 영역의 밝기를 산출할 수 있다. 전자 장치는, 산출된 이미지의 전체 영역의 평균 밝기 또는 이미지의 중심 영역의 밝기에 기반하여, 카메라 모듈의 노출을 제어하고 있다.
전자 장치가 이미지의 전체 영역의 평균 밝기에 기반하여 카메라 모듈의 노출을 제어하는 경우, 촬영의 대상이 되는 피사체의 종류와 관계 없이, 이미지의 전체 영역의 밝기에 따라 카메라의 노출이 설정이 설정될 수 있다.
또한, 전자 장치가 이미지의 중심 영역의 평균 밝기에 기반하여 카메라 모듈의 노출을 제어하는 경우, 피사체(예: 인물)가 카메라의 화각(field of view) 내에서 가장 자리에 위치하는 경우, 카메라를 통하여 획득된 이미지 내에서 피사체를 촬영한 영역의 밝기가 아닌 배경을 촬영한 영역의 밝기를 기준으로 카메라의 노출이 설정이 설정될 수 있다.
본 개시의 다양한 실시예들은, 이미지에 대한 세그멘테이션(segmentation)에 의해 획득된(예: 분류된) 적어도 하나의 객체에 기반하여 카메라의 노출을 제어함으로써, 카메라의 화각 내 피사체의 위치의 관계 없이 피사체(예: 인물)를 기준으로 카메라의 노출을 제어할 수 있는, 이미지를 제공하는 방법 및 이를 지원하는 전자 장치에 관한 것이다.
본 개시가 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 다양한 실시예들에 따른 전자 장치는, 카메라 모듈, 메모리, 및 상기 카메라 모듈 및 상기 메모리와 작동적으로 연결된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 카메라 모듈을 통하여 이미지를 획득하고, 상기 이미지에 대한 세그멘테이션(segmentation)을 수행함으로써, 상기 이미지 내에서 상기 이미지에 포함된 적어도 하나의 객체 각각에 대응하는 적어도 하나의 영역을 확인하고, 상기 적어도 하나의 영역의 밝기를 획득하고, 상기 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 확인하고, 및 상기 적어도 하나의 영역의 밝기 및 상기 적어도 하나의 가중치에 기반하여, 상기 카메라 모듈의 노출을 제어하도록 구성될 수 있다.
본 개시의 다양한 실시예들에 따른 전자 장치에서 이미지를 제공하는 방법은, 상기 전자 장치의 카메라 모듈을 통하여 이미지를 획득하는 동작, 상기 이미지에 대한 세그멘테이션을 수행함으로써, 상기 이미지 내에서 상기 이미지에 포함된 적어도 하나의 객체 각각에 대응하는 적어도 하나의 영역을 확인하는 동작, 상기 적어도 하나의 영역의 밝기를 획득하는 동작, 상기 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 확인하는 동작, 및 상기 적어도 하나의 영역의 밝기 및 상기 적어도 하나의 가중치에 기반하여, 상기 카메라 모듈의 노출을 제어하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예에 따른 이미지를 제공하는 방법 및 이를 지원하는 전자 장치는, 이미지에 대한 세그멘테이션에 의해 획득된(예: 분류된) 적어도 하나의 객체에 기반하여 카메라의 노출을 제어함으로써, 카메라의 화각 내 피사체의 위치의 관계 없이 피사체(예: 인물)를 기준으로 카메라의 노출을 제어할 수 있다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는, 다양한 실시예들에 따른, 카메라 모듈을 예시하는 블록도이다.
도 3은, 다양한 실시예들에 따른, 전자 장치의 블록도이다.
도 4는, 다양한 실시예들에 따른, 프로세서의 블록도이다.
도 5는, 다양한 실시예들에 따른, 이미지를 제공하는 방법을 설명하는 흐름도이다.
도 6은, 다양한 실시예들에 따른, 세그멘테이션을 설명하기 위한 예시도이다.
도 7은, 다양한 실시예들에 따른, 객체에 대응하는 제 1 영역의 밝기를 획득하는 방법을 설명하기 위한 예시도이다.
도 8은, 다양한 실시예들에 따른, 카메라 모듈의 노출을 제어하는 방법을 설명하는 흐름도이다.
도 9는, 다양한 실시예들에 따른, 카메라 모듈의 노출을 제어하는 방법을 설명하는 예시도이다.
도 10은, 다양한 실시예들에 따른, 이미지를 제공하는 방법을 설명하는 흐름도이다.
도 11은, 다양한 실시예들에 따른, 이미지를 제공하는 방법을 설명하는 흐름도이다.
도 12는, 다양한 실시예들에 따른, 이미지를 제공하는 방법을 설명하기 위한 예시도이다.
도 13은, 다양한 실시예들에 따른, 이미지를 제공하는 방법을 설명하는 흐름도이다.
도 14는, 다양한 실시예들에 따른, 이미지를 제공하는 방법을 설명하는 흐름도이다.
도 15는, 다양한 실시예들에 따른, 이미지를 제공하는 방법을 설명하는 흐름도이다.
도 16은, 다양한 실시예들에 따른, 이미지를 제공하는 방법을 설명하는 흐름도이다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 2는, 다양한 실시예들에 따른, 카메라 모듈(180)을 예시하는 블록도(200)이다.
도 2를 참조하면, 카메라 모듈(180)은 렌즈 어셈블리(210), 플래쉬(220), 이미지 센서(230), 이미지 스태빌라이저(240), 메모리(250)(예: 버퍼 메모리), 또는 이미지 시그널 프로세서(260)를 포함할 수 있다.
렌즈 어셈블리(210)는 이미지 촬영의 대상인 피사체로부터 방출되는 빛을 수집할 수 있다. 렌즈 어셈블리(210)는 하나 또는 그 이상의 렌즈들을 포함할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 복수의 렌즈 어셈블리(210)들을 포함할 수 있다. 이런 경우, 카메라 모듈(180)은, 예를 들면, 듀얼 카메라, 360도 카메라, 또는 구형 카메라(spherical camera)를 형성할 수 있다. 복수의 렌즈 어셈블리(210)들 중 일부는 동일한 렌즈 속성(예: 화각, 초점 거리, 자동 초점, f 넘버(f number), 또는 광학 줌)을 갖거나, 또는 적어도 하나의 렌즈 어셈블리는 다른 렌즈 어셈블리의 렌즈 속성들과 다른 하나 이상의 렌즈 속성들을 가질 수 있다. 렌즈 어셈블리(210)는, 예를 들면, 광각 렌즈 또는 망원 렌즈를 포함할 수 있다.
플래쉬(220)는 피사체로부터 방출 또는 반사되는 빛을 강화하기 위하여 사용되는 빛을 방출할 수 있다. 일 실시예에 따르면, 플래쉬(220)는 하나 이상의 발광 다이오드들(예: RGB(red-green-blue) LED, white LED, infrared LED, 또는 ultraviolet LED), 또는 xenon lamp를 포함할 수 있다. 이미지 센서(230)는 피사체로부터 방출 또는 반사되어 렌즈 어셈블리(210)를 통해 전달된 빛을 전기적인 신호로 변환함으로써, 상기 피사체에 대응하는 이미지를 획득할 수 있다.
일 실시예에 따르면, 이미지 센서(230)는, 예를 들면, RGB 센서, BW(black and white) 센서, IR 센서, 또는 UV 센서와 같이 속성이 다른 이미지 센서들 중 선택된 하나의 이미지 센서, 동일한 속성을 갖는 복수의 이미지 센서들, 또는 다른 속성을 갖는 복수의 이미지 센서들을 포함할 수 있다. 이미지 센서(230)에 포함된 각각의 이미지 센서는, 예를 들면, CCD(charged coupled device) 센서 또는 CMOS(complementary metal oxide semiconductor) 센서를 이용하여 구현될 수 있다.
이미지 스태빌라이저(240)는 카메라 모듈(180) 또는 이를 포함하는 전자 장치(101)의 움직임에 반응하여, 렌즈 어셈블리(210)에 포함된 적어도 하나의 렌즈 또는 이미지 센서(230)를 특정한 방향으로 움직이거나 이미지 센서(230)의 동작 특성을 제어(예: 리드 아웃(read-out) 타이밍을 조정 등)할 수 있다. 이는 촬영되는 이미지에 대한 상기 움직임에 의한 부정적인 영향의 적어도 일부를 보상하게 해 준다. 일 실시예에 따르면, 이미지 스태빌라이저(240)는, 일 실시예에 따르면, 이미지 스태빌라이저(240)은 카메라 모듈(180)의 내부 또는 외부에 배치된 자이로 센서(미도시) 또는 가속도 센서(미도시)를 이용하여 카메라 모듈(180) 또는 전자 장치(101)의 그런 움직임을 감지할 수 있다. 일 실시예에 따르면, 이미지 스태빌라이저(240)는, 예를 들면, 광학식 이미지 스태빌라이저로 구현될 수 있다.
메모리(250)는 이미지 센서(230)을 통하여 획득된 이미지의 적어도 일부를 다음 이미지 처리 작업을 위하여 적어도 일시 저장할 수 있다. 예를 들어, 셔터에 따른 이미지 획득이 지연되거나, 또는 복수의 이미지들이 고속으로 획득되는 경우, 획득된 원본 이미지(예: Bayer-patterned 이미지 또는 높은 해상도의 이미지)는 메모리(250)에 저장이 되고, 그에 대응하는 사본 이미지(예: 낮은 해상도의 이미지)는 디스플레이 모듈(160)을 통하여 프리뷰될 수 있다. 이후, 지정된 조건이 만족되면(예: 사용자 입력 또는 시스템 명령) 메모리(250)에 저장되었던 원본 이미지의 적어도 일부가, 예를 들면, 이미지 시그널 프로세서(260)에 의해 획득되어 처리될 수 있다. 일 실시예에 따르면, 메모리(250)는 메모리(130)의 적어도 일부로, 또는 이와는 독립적으로 운영되는 별도의 메모리로 구성될 수 있다.
이미지 시그널 프로세서(260)는 이미지 센서(230)을 통하여 획득된 이미지 또는 메모리(250)에 저장된 이미지에 대하여 하나 이상의 이미지 처리들을 수행할 수 있다. 상기 하나 이상의 이미지 처리들은, 예를 들면, 깊이 지도(depth map) 생성, 3차원 모델링, 파노라마 생성, 특징점 추출, 이미지 합성, 또는 이미지 보상(예: 노이즈 감소, 해상도 조정, 밝기 조정, 블러링(blurring), 샤프닝(sharpening), 또는 소프트닝(softening)을 포함할 수 있다. 추가적으로 또는 대체적으로, 이미지 시그널 프로세서(260)는 카메라 모듈(180)에 포함된 구성 요소들 중 적어도 하나(예: 이미지 센서(230))에 대한 제어(예: 노출 시간 제어, 또는 리드 아웃 타이밍 제어)를 수행할 수 있다. 이미지 시그널 프로세서(260)에 의해 처리된 이미지는 추가 처리를 위하여 메모리(250)에 다시 저장 되거나 카메라 모듈(180)의 외부 구성 요소(예: 메모리(130), 디스플레이 모듈(160), 전자 장치(102), 전자 장치(104), 또는 서버(108))로 제공될 수 있다. 일 실시예에 따르면, 이미지 시그널 프로세서(260)는 프로세서(120)의 적어도 일부로 구성되거나, 프로세서(120)와 독립적으로 운영되는 별도의 프로세서로 구성될 수 있다. 이미지 시그널 프로세서(260)이 프로세서(120)과 별도의 프로세서로 구성된 경우, 이미지 시그널 프로세서(260)에 의해 처리된 적어도 하나의 이미지는 프로세서(120)에 의하여 그대로 또는 추가의 이미지 처리를 거친 후 디스플레이 모듈(160)을 통해 표시될 수 있다.
일 실시예에 따르면, 전자 장치(101)는 각각 다른 속성 또는 기능을 가진 복수의 카메라 모듈(180)들을 포함할 수 있다. 이런 경우, 예를 들면, 상기 복수의 카메라 모듈(180)들 중 적어도 하나는 광각 카메라이고, 적어도 다른 하나는 망원 카메라일 수 있다. 유사하게, 상기 복수의 카메라 모듈(180)들 중 적어도 하나는 전면 카메라이고, 적어도 다른 하나는 후면 카메라일 수 있다.
도 3은, 다양한 실시예들에 따른, 전자 장치(101)의 블록도이다.
도 3을 참조하면, 일 실시예에서, 전자 장치(101)는, 디스플레이 모듈(310), 카메라 모듈(320), 메모리(330), 및/또는 프로세서(340)를 포함할 수 있다.
일 실시예에서, 디스플레이 모듈(310)은 도 1의 디스플레이 모듈(160)에 포함될 수 있다.
일 실시예에서, 디스플레이 모듈(310)은 다양한 화면을 표시할 수 있다. 예를 들어, 디스플레이 모듈(310)은 카메라 모듈(320)을 통하여 획득된 이미지를 표시할 수 있다. 디스플레이 모듈(310)이 표시하는 이미지는, 프리뷰(preview) 이미지와 같은 동영상 및/또는 프리뷰 이미지가 표시되는 동안 사용자 입력에 기반하여 획득된 캡처(capture) 이미지와 같은 정적 이미지를 포함할 수 있다.
일 실시예에서, 카메라 모듈(320)은, 도 1 및 도 2의 카메라 모듈(180)에 포함될 수 있다.
일 실시예에서, 카메라 모듈(320)은, 프로세서(340)에 의해 설정된 카메라 설정에 기반하여, 이미지를 획득할 수 있다. 예를 들어, 카메라 모듈(320)은, 프로세서(340)에 의해 설정되고 노출과 관련된 카메라 설정(예: 셔터 스피드(shutter speed), 이미지 센서의 감도('ISO(International Standard Organization) 감도'로도 지칭됨), 및/또는 조리개 값)에 기반하여, 연속적으로(또는 순차적으로) 복수의 프레임들(frames)을 획득할 수 있다.
일 실시예에서, 메모리(330)는 도 1의 메모리(130)에 포함될 수 있다.
일 실시예에서, 메모리(330)는 이미지를 제공하는 동작의 적어도 일부를 수행하기 위한 정보를 저장할 수 있다. 메모리(330)가 저장하는, 이미지를 제공하는 동작의 적어도 일부를 수행하기 위한 정보에 대해서는, 상세히 후술하도록 한다.
일 실시예에서, 프로세서(340)는 도 1의 프로세서(120)에 포함될 수 있다.
일 실시예에서, 프로세서(340)는, 이미지를 제공하는 동작을 전반적으로 제어할 수 있다. 일 실시예에서, 프로세서(340)는, 이미지를 제공하는 동작을 수행하기 위한 하나 이상의 프로세서들을 포함할 수 있다. 프로세서(340)가 이미지를 제공하는 동작을 수행하기 위하여 포함하는 구성들에 대해서는 도 4를 참조하여, 상세히 설명하도록 한다.
일 실시예에서, 도 3에서는 전자 장치(101)가, 디스플레이 모듈(310), 카메라 모듈(320), 메모리(330), 및/또는 프로세서(340)를 포함하는 것으로 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 전자 장치(101)는 카메라 모듈(320)을 통하여 획득된 이미지를 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 및/또는 서버(108))와 공유하기 위하여, 도 1의 통신 모듈(190)을 더 포함할 수 있다.
도 4는, 다양한 실시예들에 따른, 프로세서(340)의 블록도이다.
도 4를 참조하면, 일 실시예에서, 프로세서(340)는, 세그멘테이션 영역 획득부(410), 밝기 획득부(420), 노출 제어부(430), 및/또는 움직임 검출부(440)를 포함할 수 있다.
일 실시예에서, 세그멘테이션 영역 획득부(410)는, 카메라 모듈(320)을 통하여 획득된 이미지에 대한 세그멘테이션 동작을 수행함으로써, 상기 이미지 내에서, 상기 이미지에 포함된 적어도 하나의 객체('객체'는 '클래스(class)'로도 지칭됨)(이하, '적어도 하나의 객체'로 지칭함) 각각에 대응하는 적어도 하나의 영역(이하, 적어도 하나의 객체 각각에 대응하는 적어도 하나의 영역을 '적어도 하나의 제 1 영역'으로 지칭함)을 확인할 수 있다.
일 실시예에서, 세그멘테이션 영역 획득부(410)는, 카메라 모듈(320)을 통하여 획득된 이미지에 대한 세그멘테이션 동작을 수행할 수 있다. 예를 들어, 세그멘테이션 영역 획득부(410)는, 지정된 알고리즘 및/또는 인공지능 모델을 이용하여, 이미지에 대한 세그멘테이션을 수행할 수 있다. 일 실시예에서, 이미지에 대한 세그멘테이션을 수행하기 위한 인공지능 모델은, panoptic segmentation network를 포함할 수 있다. 다만, 이에 제한되지 않으며, 이미지에 대한 세그멘테이션을 수행하기 위한 인공지능 모델은, instance segmentation network, FCN, U-Net, DeepLab V3+, 또는 Atrous convolution을 포함할 수 있다.
일 실시예에서, 세그멘테이션 영역 획득부(410)는, 이미지에 대한 세그멘테이션을 수행함으로써, 이미지 내에 포함된 적어도 하나의 객체를 분류하고(classify), 상기 분류된 적어도 하나의 객체의 위치에 대한 정보를 획득할 수 있다. 예를 들어, 세그멘테이션 영역 획득부(410)는, 이미지에 대한 세그멘테이션을 수행함으로써, 이미지 내에 포함된 적어도 하나의 객체를 분류하고, 이미지 내에서, 상기 분류된 적어도 하나의 객체 별로, 적어도 하나의 객체가 표시되는 적어도 하나의 제 1 영역의 좌표에 대한 정보를 획득할 수 있다.
일 실시예에서, 밝기 획득부(420)는 적어도 하나의 제 1 영역의 밝기를 획득할 수 있다. 예를 들어, 밝기 획득부(420)는, 적어도 하나의 제 1 영역 각각에 대하여 밝기 값(예: YCbCr 색 공간의 Y 값)(이하에서, 밝기 값은 'Y 값'으로도 지칭됨)을 획득할 수 있다.
일 실시예에서, 밝기 획득부(420)는, 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 고려하여, 이미지의 밝기를 획득할 수 있다. 예를 들어, 밝기 획득부(420)는, 메모리(330)에 저장되고, 적어도 하나의 제 1 영역에 대응하는 적어도 하나의 객체 각각에 대하여 설정된 적어도 하나의 가중치를 확인할 수 있다. 밝기 획득부(420)는, 적어도 하나의 제 1 영역의 밝기 및 적어도 하나의 가중치에 기반하여, 적어도 하나의 제 1 영역의 밝기를 가중 평균함으로써, 이미지의 밝기(예: 이미지 전체의 밝기)를 획득할 수 있다.
일 실시예에서, 노출 제어부(430)는, 이미지의 밝기에 기반하여, 카메라 모듈(320)의 노출을 제어할 수 있다. 예를 들어, 노출 제어부(430)는, 이미지의 밝기 및 지정된 밝기(이하, '타겟(target) 밝기'로 지칭됨)에 기반하여, 카메라 모듈(320)의 노출을 제어할 수 있다. 일 실시예에서, 타겟 밝기는 카메라 모듈(320)을 통하여 획득된 이미지에 기반하여 카메라 모듈(320)의 설정(예: 노출과 관련된 설정)을 조정함으로써, 카메라 모듈(320)을 통해 획득될 이미지가 가지도록 목표로 하는 밝기일 수 있다. 예를 들어, 타겟 밝기는, 카메라 모듈(320)을 통하여 획득된 이미지에 기반하여 카메라 모듈(320)의 설정(예: 노출과 관련된 설정)이 점진적으로 조정되는 경우, 카메라 모듈(320)을 통해 획득될 이미지가 최종적으로 가지도록 지정된 밝기일 수 있다. 타겟 밝기는 프로세서(340)에 의해 지정될 수 있다. 일 실시예에서, 타겟 밝기는, 고정된 밝기 값으로 설정되거나, 전자 장치(101) 주변의 환경(예: 주변 조도)에 따라 변경될 수도 있다.
일 실시예에서, 노출 제어부(430)는, 이미지의 밝기(예: 이미지의 전체 밝기) 및 타겟 밝기에 기반하여, 노출 값(exposure value; EV)을 획득할 수 있다. 노출 제어부(430)는, 노출 값에 기반하여, 카메라 모듈(320)의 노출과 관련된, 셔터 속도, ISO 감도, 및/또는 조리개 값을 설정할 수 있다.
일 실시예에서, 움직임 검출부(440)는, 카메라 모듈(320)을 통하여 획득된 이미지 내에서 적어도 하나의 객체의 움직임을 검출할 수 있다. 움직임 검출부(440)는, 이미지 내에서 적어도 하나의 객체의 움직임 정도에 기반하여, 카메라 모듈(320)의 노출과 관련된 설정(예: 셔터 속도 및 ISO 감도)을 설정(예: 조정)할 수 있다.
도 4에서는, 프로세서(340)가, 세그멘테이션 영역 획득부(410), 밝기 획득부(420), 움직임 검출부(440), 및/또는 노출 제어부(430)를 포함하는 것으로 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 도 4에 도시하지는 않았지만, 프로세서(340)는, 카메라 모듈(320)을 통하여 획득된 이미지에 대한 HDR(high dynamic range) 처리와 같은, 이미지의 밝기를 처리(또는 보정)하기 위한 다양한 처리들을 수행하기 위한 적어도 하나의 구성을 더 포함할 수 있다.
본 개시의 다양한 실시예들에 따른 전자 장치(101)는, 카메라 모듈(320), 메모리(330), 및 상기 카메라 모듈(320) 및 상기 메모리(330)와 작동적으로 연결된 적어도 하나의 프로세서(예: 프로세서(340))를 포함하고, 상기 적어도 하나의 프로세서(예: 프로세서(340))는, 상기 카메라 모듈(320)을 통하여 이미지를 획득하고, 상기 이미지에 대한 세그멘테이션(segmentation)을 수행함으로써, 상기 이미지 내에서 상기 이미지에 포함된 적어도 하나의 객체 각각에 대응하는 적어도 하나의 영역을 확인하고, 상기 적어도 하나의 영역의 밝기를 획득하고, 상기 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 확인하고, 및 상기 적어도 하나의 영역의 밝기 및 상기 적어도 하나의 가중치에 기반하여, 상기 카메라 모듈(320)의 노출을 제어하도록 구성될 수 있다.
다양한 실시예에서, 상기 적어도 하나의 프로세서(예: 프로세서(340))는, 상기 이미지에 대한 세그멘테이션을 수행함으로써, 상기 이미지에 포함된 적어도 하나의 객체를 검출하고, 상기 검출된 적어도 하나의 객체의 위치에 대한 정보를 획득하도록 구성될 수 있다.
다양한 실시예에서, 상기 적어도 하나의 프로세서(예: 프로세서(340))는, 복수의 객체들 중 적어도 일부가 서로 다른 가중치들을 가지도록, 상기 복수의 객체들 각각에 대하여 복수의 가중치들을 설정하고, 및 상기 복수의 객체들 및 상기 복수의 가중치들을 상기 메모리(330)에 저장하도록 더 구성될 수 있다.
다양한 실시예에서, 상기 적어도 하나의 프로세서(예: 프로세서(340))는, 상기 복수의 객체들 중 인물 객체에 대하여 다른 객체 보다 높은 가중치를 설정하도록 구성될 수 있다.
다양한 실시예에서, 상기 적어도 하나의 프로세서(예: 프로세서(340))는, 복수의 인물 객체들 중에서 상기 전자 장치(101)의 사용자에 대응하는 인물 객체에 대하여 가장 높은 가중치를 설정하도록 구성될 수 있다.
다양한 실시예에서, 상기 적어도 하나의 프로세서(예: 프로세서(340))는, 상기 적어도 하나의 영역의 밝기 및 상기 적어도 하나의 가중치에 기반하여, 상기 이미지의 밝기를 획득하고, 상기 이미지의 밝기 및 타겟(target) 밝기에 기반하여, 상기 카메라 모듈(320)의 노출 값을 결정하고, 및 상기 카메라 모듈(320)의 노출 값에 기반하여, 상기 카메라 모듈(320)의 노출을 제어하도록 구성될 수 있다.
다양한 실시예에서, 상기 적어도 하나의 프로세서(예: 프로세서(340))는, 상기 적어도 하나의 객체가 지정된 객체를 포함하는지 여부를 확인하고, 상기 적어도 하나의 객체가 상기 지정된 객체를 포함하는 경우, 상기 이미지 내에서 객체를 기준으로 상기 카메라 모듈(320)의 노출을 제어할 것을 결정하고, 및 상기 적어도 하나의 객체가 상기 지정된 객체를 포함하지 않는 경우, 상기 이미지 내에서 중심 영역을 기준으로 상기 카메라 모듈(320)의 노출을 제어할 것을 결정하도록 더 구성될 수 있다.
다양한 실시예에서, 상기 적어도 하나의 프로세서(예: 프로세서(340))는, 상기 적어도 하나의 제 1 영역의 위치 변화량을 검출하도록 더 구성되고, 상기 적어도 하나의 프로세서(예: 프로세서(340))는, 상기 적어도 하나의 제 1 영역의 위치 변화량에 기반하여, 상기 카메라 모듈(320)의 셔터 속도를 설정하도록 구성될 수 있다.
다양한 실시예에서, 상기 적어도 하나의 프로세서(예: 프로세서(340))는, 상기 적어도 하나의 객체가 지정된 객체를 포함하는지 여부를 확인하도록 더 구성되고, 상기 적어도 하나의 프로세서(예: 프로세서(340))는, 상기 적어도 하나의 객체가 상기 지정된 객체를 포함하는 경우, 제 1 수렴 속도에 기반하여, 상기 카메라 모듈(320)의 노출을 제어하고, 및 상기 적어도 하나의 객체가 상기 지정된 객체를 포함하지 않는 경우, 상기 제 1 수렴 속도 보다 빠른 제 2 수렴 속도에 기반하여, 상기 카메라 모듈(320)의 노출을 제어하도록 구성될 수 있다.
다양한 실시예에서, 상기 적어도 하나의 프로세서(예: 프로세서(340))는, 상기 적어도 하나의 제 1 영역의 밝기 변화가 상기 적어도 하나의 객체의 움직임에 의한 밝기 변화 보다 적은지 여부를 확인하도록 더 구성되고, 상기 적어도 하나의 프로세서(예: 프로세서(340))는, 상기 적어도 하나의 제 1 영역의 밝기 변화가 상기 적어도 하나의 객체의 움직임에 의한 밝기 변화 이하인 경우, 제 1 수렴 속도에 기반하여, 상기 카메라 모듈(320)의 노출을 제어하고, 및 상기 적어도 하나의 제 1 영역의 밝기 변화가 상기 적어도 하나의 객체의 움직임에 의한 밝기 변화 보다 큰 경우, 상기 제 1 수렴 속도 보다 빠른 제 2 수렴 속도에 기반하여, 상기 카메라 모듈(320)의 노출을 제어하도록 구성될 수 있다.
도 5는, 다양한 실시예들에 따른, 이미지를 제공하는 방법을 설명하는 흐름도(500)이다.
동작 501에서, 일 실시예에서, 프로세서(340)는, 카메라 모듈(320)을 통하여 이미지를 획득할 수 있다.
일 실시예에서, 프로세서(340)는, 카메라 어플리케이션이 실행되는 동안, 카메라 모듈(320)을 통하여 이미지를 획득할 수 있다. 예를 들어, 프로세서(340)는, 카메라 어플리케이션이 실행됨에 응답하여, 디스플레이 모듈(210)을 통하여 프리뷰(preview) 이미지를 표시하기 위하여, 카메라 모듈(320)을 통하여 연속적으로 복수의 프레임들(frames)을 획득할 수 있다. 다른 예를 들어, 프로세서(340)는, 이미지를 캡처(capture)하기 위한 사용자 입력에 기반하여, 복수의 프레임들을 획득할 수 있다.
일 실시예에서, 프로세서(340)는, 카메라 모듈(320)을 통하여 연속적으로 획득되는 복수의 프레임들 각각에 대하여 카메라 모듈(320)의 노출을 제어하는 동작(예: 동작 503 내지 509)를 수행할 수 있다. 예를 들어, 카메라 모듈(320)이 복수의 프레임들을 30 FPS(frame per second)로 획득하는 경우, 프로세서(340)는, 1/30 초 마다 카메라 모듈(320)의 노출을 제어하는 동작을 수행할 수 있다. 다만, 이에 제한되지 않으며, 카메라 모듈(320)이 복수의 프레임들을 획득하는 FPS가 지정된 FPS(예: 120 FPS) 이상인 경우, 2개의 프레임들(또는 3개의 프레임들 이상) 마다 카메라 모듈(320)의 노출을 제어하는 동작을 수행할 수도 있다.
동작 503에서, 일 실시예에서, 프로세서(340)는, 카메라 모듈(320)을 통하여 획득된 이미지에 대한 세그멘테이션을 수행함으로써, 상기 이미지 내에서 상기 이미지에 포함된 적어도 하나의 객체 각각에 대응하는 적어도 하나의 제 1 영역을 확인할 수 있다.
일 실시예에서, 프로세서(340)는, 카메라 모듈(320)을 통하여 획득된 이미지에 대한 세그멘테이션을 수행할 수 있다. 예를 들어, 프로세서(340)는, 지정된 알고리즘 및/또는 인공지능 모델을 이용하여, 이미지에 대한 세그멘테이션 동작을 수행할 수 있다. 일 실시예에서, 이미지에 대한 세그멘테이션 동작을 수행하기 위한 인공지능 모델은, panoptic segmentation network를 포함할 수 있다. 다만, 이에 제한되지 않으며, 이미지에 대한 세그멘테이션 동작을 수행하기 위한 인공지능 모델은, instance segmentation network, FCN, U-Net, DeepLab V3+, 또는 Atrous convolution을 포함할 수 있다.
일 실시예에서, 프로세서(340)는, 이미지에 대한 세그멘테이션 동작을 수행함으로써, 이미지 내에 포함된 적어도 하나의 객체를 분류하고(classify), 상기 분류된 적어도 하나의 객체의 위치에 대한 정보를 획득할 수 있다. 이하, 도 6을 참조하여, 프로세서(340)가 이미지에 대하여 수행하는 세그멘테이션에 대하여 설명하도록 한다.
도 6은, 다양한 실시예들에 따른, 세그멘테이션을 설명하기 위한 예시도(600)이다.
도 6을 참조하면, 도 6의 참조 부호 601은, 카메라 모듈(320)을 통하여 획득된 이미지(610)를 나타낼 수 있다. 도 6에서, 설명의 편의를 위하여, 이미지(610)가 인물의 바디(body) 객체(611), 인물의 스킨(skin) 객체(612), 및 하늘(sky) 객체(613)를 포함하는 것을 가정하기로 한다.
일 실시예에서, 프로세서(340)는, 이미지(610)에 대한 세그멘테이션을 수행함으로써, 이미지(610)로부터, 이미지(610)에 포함된 적어도 하나의 객체로서, 바디 객체(611), 스킨 객체(612), 및 하늘 객체(613)를 검출(예: 분류)할 수 있다.
일 실시예에서, 도 6의 참조 부호 602에서, 이미지 맵(620)(image map)은 이미지(610)에 대응하고 이미지(610)에 포함된 적어도 하나의 객체 각각의 위치(및 밝기)를 포함할 수 있다. 프로세서(340)는, 이미지(610)에 대한 세그멘테이션을 수행함으로써, 이미지(610) 내에서 바디 객체(611), 스킨 객체(612), 및 하늘 객체(613)에 각각 대응하는 보수의 제 1 영역들로서, 바디 영역(621), 스킨 영역(622), 및 하늘 영역(623)을 확인할 수 있다. 예를 들어, 프로세서(340)는, 이미지(610) 내에서 바디 객체(611), 스킨 객체(612), 및 하늘 객체(613)에 각각 대응하는 바디 영역(621), 스킨 영역(622), 및 하늘 영역(623)의 위치들을 획득할 수 있다. 참조 부호 602에서, 바디 영역(621), 스킨 영역(622), 및 하늘 영역(623)은 직사각형 형태인 것으로 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 적어도 하나의 객체에 각각 대응하는 적어도 하나의 제 1 영역은, 이미지 내에서 적어도 하나의 객체의 외곽선(또는 경계선)에 의해 형성되는(외곽선에 의해 둘러싸인) 영역일 수 있다.
일 실시예에서, 이미지가 복수의 패치들(patches)로 구성되는 경우(예: 이미지가 복수의 패치들로 구분되는 경우), 제 1 영역은, 복수의 패치들 중에서, 제 1 영역에 대응하는 객체를 포함하는 복수의 패치들을 포함할 수 있다.
일 실시예에서, 프로세서(340)는, 이미지에 대한 세그멘테이션 동작을 수행함으로써 이미지 내에 포함된 적어도 하나의 객체의 위치에 대한 정보가 획득된 경우, 적어도 하나의 객체의 위치에 대한 정보를 메모리(330)에 저장할 수 있다.
동작 505에서, 일 실시예에서, 프로세서(340)는, 적어도 하나의 제 1 영역의 밝기를 획득할 수 있다.
일 실시예에서, 프로세서(340)는 적어도 하나의 제 1 영역 각각에 대하여, 밝기를 획득할 수 있다. 예를 들어, 프로세서(340)는, 적어도 하나의 제 1 영역 별로 밝기(예: 밝기 값)를 획득할 수 있다.
이하, 도 7을 참조하여, 적어도 하나의 객체에 대응하는 적어도 하나의 제 1 영역의 밝기를 획득하는 방법에 대하여 설명하기로 한다.
도 7은, 다양한 실시예들에 따른, 객체에 대응하는 제 1 영역의 밝기를 획득하는 방법을 설명하기 위한 예시도(700)이다.
도 7을 참조하면, 일 실시예에서, 이미지 맵(710)는 복수의 패치들로 구성(예: 구분)될 수 있다. 예를 들어, 이미지 맵(710)는, 도 7에 도시된 바와 같이, 가로 19개 및 세로 32개의 패치들로 구분될 수 있다. 일 실시예에서, 도 7의 이미지 맵(710) 내에서, 복수의 제 1 패치들(721)은 도 6의 바디 영역(621)을 나타내고, 복수의 제 2 패치들(722)은 도 6의 스킨 영역(622)을 나타내고, 복수의 제 3 패치들(723)은 도 6의 하늘 영역(623)을 나타낼 수 있다.
일 실시예에서, 프로세서(340)는, 적어도 하나의 제 1 영역에 포함된 복수의 패치들 각각에 대한 밝기를 획득할 수 있다. 일 실시예에서, 프로세서(340)는, 아래 [수식 1]을 이용하여, 적어도 하나의 제 1 영역에 포함된 복수의 패치들 각각에서, 복수의 패치들 각각의 픽셀 값들로부터 밝기 값을 산출할 수 있다.
일 실시예에서, [수식 1]에서, R은 RGB 데이터로 표현되는 패치를 구성하는 픽셀들의 red 값을 나타내고, G은 RGB 데이터로 표현되는 패치를 구성하는 픽셀들의 green 값을 나타내고, B은 RGB 데이터로 표현되는 패치를 구성하는 픽셀들의 blue 값을 나타낼 수 있다. [수식 1]에서, 계수들(0.299, 0.587, 0144)은 카메라 모듈(320)을 통하여 산출되는 이미지의 R/G 및/또는 B/G에 따라, 변경될 수 있다.
일 실시예에서, 프로세서(340)는, 적어도 하나의 제 1 영역에 포함된 복수의 패치들의 평균 밝기를 적어도 하나의 제 1 영역의 밝기로서 획득할 수 있다. 예를 들어, 프로세서(340)는, 바디 영역(621)의 복수의 제 1 패치들(721) 각각에서, 복수의 제 1 패치들(721) 각각의 픽셀 값들(예: RGB 데이터)로부터 밝기 값(예: YCbCr 색 공간의 Y 값)을 산출할 수 있다. 프로세서(340)는, 바디 영역(621)의 복수의 제 1 패치들(721)의 밝기 값들의 평균을, 바디 영역(621)의 밝기로서 획득할 수 있다.
도 7에서는, 복수의 패치들을 이용하여 적어도 하나의 제 1 영역의 위치 및 밝기를 획득하는 방법을 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 프로세서(340)는, 복수의 패치들을 이용함 없이, 적어도 하나의 제 1 영역 각각에 포함된 픽셀들의 좌표들 및 밝기들을 이용하여, 적어도 하나의 제 1 영역의 위치 및 밝기를 획득할 수 있다.
도 6, 도 7, 및 전술한 예시들에서는, 이미지(예: 이미지 맵(710)) 내에서 적어도 하나의 객체에 대응하는 적어도 하나의 제 1 영역(예: 바디 영역(621)에 대응하는 복수의 제 1 패치들(721), 스킨 영역(622)에 대응하는 복수의 제 2 패치들(722), 및 하늘 영역(623)에 대응하는 복수의 제 3 패치들(723))의 밝기를 획득하는 것으로 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 프로세서(340)는, 적어도 하나의 객체에 대응하는 적어도 하나의 제 1 영역과 함께, 이미지(예: 이미지 맵(710)) 내에서 적어도 하나의 제 1 영역을 제외한 나머지 영역(예: 이미지 맵(710) 내에서 복수의 제 1 패치들(721), 복수의 제 2 패치들(722), 및 복수의 제 3 패치들(723)을 제외한 나머지 패치들)의 밝기를 획득할 수 있다.
도 5를 다시 참조하면, 동작 507에서, 일 실시예에서, 프로세서(340)는, 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 확인할 수 있다.
일 실시예에서, 프로세서(340)는, 복수의 객체들 각각에 대응하는 복수의 가중치들을 설정(예: 부여)할 수 있다. 예를 들어, 프로세서(340)는, [아래 표 1]과 같이, 복수의 객체들 각각에 대응하는 복수의 가중치들을 설정할 수 있다.
객체 | 스킨 객체 | 바디 객체 | 배경 | 마스크 객체 |
가중치 | 레벨 4 | 레벨 3 | 레벨 2 | 레벨 1 |
일 실시예에서, [표 1]에서, 객체는, 스킨 객체, 바디 객체, 및 마스크 객체를 포함하고, 배경은, 카메라 모듈(320)을 통하여 획득된 이미지 내에서, 세그멘테이션을 수행함으로써 획득된 적어도 하나의 객체를 제외한 나머지 부분을 나타낼 수 있다. [표 1]에서, 레벨 4, 레벨, 3, 레벨 2, 및 레벨 1, 순서로, 높은 가중치가 대응(예: 매핑(mapping))될 수 있다(예: [표 1]에서 레벨 4가 가장 높은 가중치에 대응하고, 레벨 1이 가장 낮은 가중치에 대응함). [표 1]에서, 마스크(mask) 객체는, 사람의 입(및 코)를 가지는 용도로 사용되는 마스크에 대한 객체를 의미할 수 있다. 일 실시예에서, 프로세서(340)는, 인물 객체 및/또는 인물에 포함되는 객체(예: 스킨 객체, 바디 객체)에 대하여 다른 객체의 가중치에 비하여 높은 가중치를 설정하고, 인물에 의해 착용된 마스크의 밝기에 의해 이미지의 밝기가 영향 받지 않도록, 마스크 객체에 대하여 가장 낮은 가중치를 설정하거나, 가중치를 실질적으로 '0'으로 설정할 수 있다.
일 실시예에서, 프로세서(340)는, 복수의 객체들 중 적어도 일부에 대하여 서로 다른 가중치들을 설정할 수 있다.
일 실시예에서, 프로세서(340)는, 복수의 객체들과, 복수의 객체들 각각에 설정된 가중치들을 매핑하여 메모리(330)에 저장할 수 있다. 예를 들어, 프로세서(340)는, 복수의 객체들과, 복수의 객체들 각각에 설정된 가중치들이 매핑된 테이블을 메모리(330)에 저장할 수 있다. 일 실시예에서, 프로세서(340)는, 메모리(330)에 저장된 상기 테이블을 통하여, 이미지 내에서 검출된 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 확인할 수 있다.
일 실시예에서, 프로세서(340)는, 인물과 관련된 객체(예: 인물 객체, 인물 객체에 포함되는 스킨 객체, 인물 객체에 포함되는 바디 객체)에 대하여, 다른 객체(예: 사물 객체)에 비하여 높은 가중치를 설정할 수 있다.
일 실시예에서, 프로세서(340)는, 복수의 인물 객체들 중 적어도 일부에 대하여, 서로 다른 가중치들을 설정할 수 있다. 예를 들어, 프로세서(340)는, 전자 장치(101)의 사용자에 대응하는 인물 객체에 대하여, 다른 인물들(예: 전자 장치(101)의 연락처에 등록된 다른 인물들)에 대응하는 인물 객체들에 비하여, 높은 가중치를 설정할 수 있다.
일 실시예에서, 프로세서(340)는, 인물이 착용하는 사물(예: 액세서리(accessory))과 관련된 객체에 대하여, 다른 객체(예: 배경)에 비하여 낮은 가중치를 설정할 수 있다. 예를 들어, 프로세서(340)는, 인물이 착용하는 마스크, 목걸이, 및/또는 의류에 대하여, 다른 객체에 비하여 낮은 가중치를 설정할 수 있다.
일 실시예에서, 프로세서(340)는, 복수의 객체들 각각에 대응하도록 설정된 복수의 가중치들을 메모리(330)에 저장할 수 있다. 일 실시예에서, 프로세서(340)는, 세그멘테이션을 수행함으로써, 이미지에 포함된 적어도 하나의 객체가 확인된 경우, 메모리(330)로부터, 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 확인할 수 있다.
도 5에서는, 동작 505의 적어도 하나의 제 1 영역의 밝기를 획득하는 동작이 동작 507의 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 확인하는 동작 보다 수행되는 것으로 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 동작 507의 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 확인하는 동작이 동작 505의 적어도 하나의 제 1 영역의 밝기를 획득하는 동작 보다 먼저 수행되거나, 동시에(또는 병렬적으로) 수행될 수 있다.
동작 509에서, 일 실시예에서, 프로세서(340)는, 적어도 하나의 객체 각각에 대응하는, 적어도 하나의 제 1 영역의 밝기 및 적어도 하나의 가중치에 기반하여, 카메라 모듈(320)의 노출을 제어할 수 있다.
동작 509에 대하여 이하 도 8 및 도 9를 참조하여 상세히 설명하도록 한다.
도 8은, 다양한 실시예들에 따른, 카메라 모듈(320)의 노출을 제어하는 방법을 설명하는 흐름도(800)이다.
도 8를 참조하면, 동작 801에서, 일 실시예에서, 프로세서(340)는, 적어도 하나의 객체 각각에 대응하는, 적어도 하나의 제 1 영역의 밝기 및 적어도 하나의 가중치에 기반하여, 이미지의 밝기(예: 카메라 모듈(320)의 통하여 획득된 이미지의 전체 영역의 밝기)를 획득할 수 있다.
일 실시예에서, 프로세서(340)는, 적어도 하나의 제 1 영역의 밝기에 대한 가중 평균을 수행함으로써, 이미지의 밝기를 획득할 수 있다. 예를 들어, 프로세서(340)는, 아래 [수식 2]를 이용하여, 적어도 하나의 제 1 영역의 밝기에 대한 가중 평균을 수행함으로써, 이미지의 밝기를 획득할 수 있다.
일 실시예에서, [수식 2]에서, 이미지의 밝기는 가중 평균 Y 값(가중 평균 밝기 값)을 나타내고, N은 이미지를 구성하는 패치(patch)의 개수를 나타낼 수 있다. [수식 2]에서, Ypatch는 이미지를 구성하는 복수의 패치들 각각의 Y 값을 나타내고, Wpatch는 이미지를 구성하는 복수의 패치들 각각의 가중치를 나타낼 수 있다. [수식 2]에서, Wpatch는 패치에 대응하는 객체에 설정된 가중치를 나타낼 수 있다. 예를 들어, 도 7의 바디 객체(621)에 대응하는(바디 객체(621)에 대응하는 제 1 영역에 포함된) 복수의 제 1 패치들(721)은, 각각, 바디 객체(621)에 대하여 설정된 가중치를 가질 수 있다. 다른 예를 들어, 도 7의 스킨 객체(622)에 대응하는 복수의 제 2 패치들(722)은, 각각, 스킨 객체(622)에 대하여 설정된 가중치를 가질 수 있다. 다만, 적어도 하나의 제 1 영역의 밝기에 대한 가중 평균을 수행함으로써, 이미지의 밝기를 획득하는 방법은 전술한 [수식 2]를 이용하는 방법에 제한되지 않는다.
동작 803에서, 일 실시예에서, 프로세서(340)는, 이미지의 밝기(예: 동작 801에서 획득된 이미지의 밝기) 및 타겟 밝기에 기반하여, 노출 값(exposure value; EV)을 결정할 수 있다.
일 실시예에서, 타겟 밝기는 카메라 모듈(320)을 통하여 획득된 이미지에 기반하여 카메라 모듈(320)의 설정(예: 노출과 관련된 설정)을 조정함으로써, 카메라 모듈(320)을 통해 획득될 이미지가 가지도록 목표로 하는 밝기일 수 있다. 예를 들어, 타겟 밝기는, 카메라 모듈(320)을 통하여 획득된 이미지에 기반하여 카메라 모듈(320)의 설정(예: 노출과 관련된 설정)이 점진적으로 조정되는 경우, 카메라 모듈(320)을 통해 획득될 이미지가 최종적으로 가지도록 지정된 밝기일 수 있다. 타겟 밝기는 프로세서(340)에 의해 지정될 수 있다. 일 실시예에서, 타겟 밝기는, 고정된 밝기 값으로 설정되거나, 전자 장치(101) 주변의 환경(예: 주변 조도)에 따라 변경될 수도 있다.
일 실시예에서, 프로세서(340)는, 이미지의 밝기(예: 동작 801을 통하여 획득된 이미지의 밝기) 및 타겟 밝기에 기반하여, 노출의 조정 값을 산출할 수 있다. 노출의 조정 값은, 목표로 하는 타겟 노출 값을 산출하기 위하여, 현재 카메라 모듈(320)의 노출 값에 합산되는 노출 값일 수 있다. 예를 들어, 프로세서(340)는, 아래 [수식 3] 및 [수식 4]를 이용하여, 노출의 조정 값 및 타겟 노출 값을 산출할 수 있다.
일 실시예에서, [수식 3]에서, delta EV는 노출의 조정 값을 나타내고, 이미지의 Y 값은 동작 801을 통하여 획득된 이미지의 밝기 값을 나타내고, 타겟 Y 값은 타겟 밝기 값을 나타낼 수 있다.
일 실시예에서, 타겟 노출 값은, 노출 수렴 동작을 통하여, 카메라 모듈(320)에서 설정될 최종 노출 값을 지칭할 수 있다. 프로세서(340)는, 타겟 노출 값이 산출된 경우, 현재 카메라 모듈(320)의 노출 값으로부터, 시간에 따라 점진적으로(또는 단계적으로), 카메라 모듈(320)이 타겟 노출 값을 가지도록, 카메라 모듈(320)의 노출 값을 설정할 수 있다. 아래 [표 2]를 참조하여, 프로세서(340)가 카메라 모듈(320)의 노출 값을 설정하는 동작을 설명하도록 한다.
시간 | t=1 | t=2 | t=3 | t=4 | t=5 |
카메라 모듈의 노출 값 | 6 | 6.25 | 6.5 | 6.75 | 7 |
타겟 노출 값 | - | 7 | 7 | 7 | 7 |
노출 조정 값 | - | 0.75 | 0.50 | 0.25 | 0 |
일 실시예에서, [표 2]에서, 프로세서(340)는, t=1에서, 노출 값이 6으로 설정된 카메라 모듈(320)을 통하여 이미지를 획득할 수 있다. 프로세서(340)는, 획득된 이미지의 밝기 및 타겟 밝기에 기반하여, [수식 3] 및 [수식 4]를 이용하여, 노출 조정 값을 1로 산출하고, 타겟 노출 값을 7로 산출할 수 있다. 프로세서(340)는, [표 2]의 t=2 내지 t=5의 카메라 모듈(320)의 노출 값들(예: 6.25, 6.5, 6.75, 7)과 같이, 현재 설정된 카메라 모듈(320)의 노출 값 6으로부터 시간에 따라 점진적으로 타겟 노출 값 7에 수렴하도록(타겟 노출 값과 동일하도록), t=2(예: 현재 프레임을 획득한 t=1 다음의 프레임이 획득되는 시간)에서 카메라 모듈(320)의 노출 값을 6.25로 설정할 수 있다. [표 2]에서, t=1이 현재 프레임을 획득한 시점인 경우, t=2는 카메라 모듈(320)을 통하여 현재 프레임 다음의 프레임을 획득하는 시간일 수 있다.
[표 2]에서는, 카메라 모듈(320)의 노출 값이, 현재 카메라 모듈(320)의 노출 값(예: 6)으로부터, 4번의 단계들(예: 6.25, 6.5, 6.75, 7)을 통하여, 타겟 카메라 모듈(320)의 노출 값에 수렴하는 것으로 예시하고 있지만 이에 제한되지 않는다. 예를 들어, 프로세서(340)는, 카메라 모듈(320)의 노출 값이, 현재 카메라 모듈(320)의 노출 값(예: 6)으로부터, 4번 보다 많은 단계들 또는 4번 보다 적은 단계들을 통하여, 타겟 카메라 모듈(320)의 노출 값에 수렴하도록, 카메라 모듈(320)의 노출 값(예: 현재 프레임의 다음 프레임 획득을 위하여 적용될 노출 값)을 설정할 수 있다.
동작 805에서, 일 실시예에서, 프로세서(340)는, 카메라 모듈(320)의 노출 값에 기반하여, 카메라 모듈(320)의 노출을 제어할 수 있다. 예를 들어, 프로세서(340)는, 카메라 모듈(320)의 노출 값이 산출된 경우, 카메라 모듈(320)의 노출 값에 기반하여, 카메라 모듈(320)의 노출과 관련된 설정을 설정(조정)할 수 있다. 예를 들어, 프로세서(340)는, 카메라 모듈(320)의 노출 값에 기반하여, 셔터 속도, 이미지 센서의 감도(ISO 감도), 및/또는 조리개 값을 설정할 수 있다. 이하, 도 9를 참조하여, 프로세서(340)가 카메라 모듈(320)의 노출 값에 기반하여, 카메라 모듈(320)의 노출과 관련된 설정을 설정하는 방법에 대하여 설정하도록 한다.
도 9는, 다양한 실시예들에 따른, 카메라 모듈(320)의 노출을 제어하는 방법을 설명하는 예시도(900)이다.
일 실시예에서, 도 9는, 카메라 모듈(320)의 노출 값에 대응하는, 셔터 속도에 대응하는 값 및 이미지 센서의 감도에 대응하는 값을 나타내는 그래프(예: 노출 선도(exposure diagram))를 설명하기 위한 도면일 수 있다.
도 9를 참조하면, 일 실시예에서, 도 9의 그래프에서, X축은 카메라 모듈(320)의 노출 값을 나타내고, Y축은 셔터 속도에 대응하는 값(Tv(exposure time과 관련된 값)) 및 이미지 센서의 민감도에 대응하는 값(Sv(ISO의 speed rating과 관련된 값)을 나타낼 수 있다. 일 실시예에서, 도 9의 그래프에서, 제 1 라인(910)은 카메라 모듈(320)의 노출 값에 대응하는 셔터 속도에 대응하는 값(Tv)을 나타내고, 제 2 라인(920)은 카메라 모듈(320)의 노출 값에 대응하는 이미지 센서의 민감도에 대응하는 값(Sv)을 나타낼 수 있다.
일 실시예에서, 프로세서(340)는, 노출 값 및 아래 [수식 5]를 이용하여, 셔터 속도에 대응하는 값(Tv) 및 이미지 센서에 대응하는 값(Sv)를 산출할 수 있다.
일 실시예에서, [수식 5]에서, Av는 조리개 값에 대응하는 값을 나타내고, Tv는 셔터 속도에 대응하는 값을 나타낼 수 있다. [수식 5]에서, EVISO 100 는 ISO 100을 기준으로 하는(예: ISO 민감도가 100인 경우) 노출 값을 나타내고, 계수 '5'는 ISO 100을 기준으로 결정된 상수일 수 있다.
일 실시예에서, 도 9의 그래프에서, 카메라 모듈(320)의 현재 노출 값이 11인 경우, Tv는 7.7이고 Sv는 4일 수 있다. 프로세서(340)는, 이미지의 밝기 및 타겟 밝기에 기반하여 카메라 모듈(320)의 타겟 노출 값을 10으로 산출된 경우(예: [수식 3]을 통하여 delta EV가 1로 산출된 경우), 제 1 라인(910) 및 제 2 라인(920)을 이용하여, 타겟 노출 값 10에 대응하는, 셔터 속도에 대응하는 값(Tv)을 6.7로 산출하고, 이미지 센서의 민감도에 대응하는 값(Sv)을 4로 결정할 수 있다. 프로세서(340)는, 이미지의 밝기 및 타겟 밝기에 기반하여 카메라 모듈(320)의 타겟 노출 값을 12로 산출된 경우(예: [수식 3]을 통하여 delta EV가 -1로 산출된 경우), 타겟 노출 값 12에 대응하는, 셔터 속도에 대응하는 값(Tv)을 8.7로 산출하고, 이미지 센서의 민감도에 대응하는 값(Sv)을 4로 결정할 수 있다.
다만, 도 9를 통하여 설명한, 카메라 모듈(320)의 노출 값 및 [수식 5]에 기반하여 셔터 속도에 대응하는 값 및 이미지 센서의 감도에 대응하는 값을 산출하는 방법은 예시이며, 다양한 방법들을 이용하여, 카메라 모듈(320)의 노출 값에 기반하여 셔터 속도에 대응하는 값 및 이미지 센서의 감도에 대응하는 값을 산출할 수 있다.
다시 도 5를 참조하면, 프로세서(340)는, 동작 509를 통하여 카메라 모듈(320)의 노출을 제어함으로써 카메라 모듈(320)의 노출과 관련된 설정을 설정한 후, 설정된 노출과 관련된 설정에 기반하여, 카메라 모듈(320)을 통하여, 이미지(예: 현재 프레임의 다음 프레임)를 획득할 수 있다.
일 실시예에서, 프로세서(340)는, 전자 장치(101)(예: 카메라 모듈(320))에 자동 노출 기능이 수행되는 경우, 도 5의 동작 503 내지 동작 509 중 적어도 일부를 수행할 수 있다.
도 5에 도시하지는 않았지만, 일 실시예에서, 프로세서(340)는, 획득된 이미지를, 디스플레이 모듈(210)을 통하여 표시할 수 있다.
도 10은, 다양한 실시예들에 따른, 이미지를 제공하는 방법을 설명하는 흐름도(1000)이다.
도 10을 참조하면, 동작 1001에서, 일 실시예에서, 프로세서(340)는, 카메라 모듈(320)을 통하여 이미지를 획득할 수 있다.
동작 1001은 도 5의 동작 501과 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
동작 1003에서, 일 실시예에서, 프로세서(340)는, 카메라 모듈(320)을 통하여 획득된 이미지에 대한 세그멘테이션을 수행함으로써, 상기 이미지 내에서 상기 이미지에 포함된 적어도 하나의 객체 각각에 대응하는 적어도 하나의 제 1 영역을 확인할 수 있다.
동작 1003은 도 5의 동작 503과 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
동작 1005에서, 일 실시예에서, 프로세서(340)는, 이미지 내에서 검출된 적어도 하나의 객체가 지정된 객체를 포함하는지 여부를 확인할 수 있다. 예를 들어, 프로세서(340)는, 카메라 모듈(320)을 통하여 획득된 이미지가 지정된 객체를 포함하는지 여부를 확인할 수 있다.
일 실시예에서, 프로세서(340)는, 이미지 내에서 지정된 객체가 검출되는지 여부에 따라, 이미지 내에서 객체를 기준으로 카메라 모듈(320)의 노출을 제어하는 제 1 방식(예: 동작 1007 내지 동작 1011을 통한 카메라 모듈(320)의 노출 제어 방식) 및 이미지 내에서 중심 영역을 기준으로 카메라 모듈(320)의 노출을 제어하는 제 2 방식 중 하나의 방식(예: 동작 1013을 통한 카메라 모듈(320)의 노출 제어 방식)을 결정할 수 있다. 일 실시예에서, 프로세서(340)는, 인물 객체(또는 인물의 바디 객체, 또는 인물의 스킨 객체)를 상기 제 1 방식 및 상기 제 2 방식 중에서 하나의 방식을 선택하기 위한 객체로서 지정할 수 있다. 다만, 상기 제 1 방식 및 상기 제 2 방식 중에서 하나의 방식을 결정하기 위하여 지정되는 객체는 인물 객체에 제한되지 않는다.
도 10에서, 동작 1005의 이미지 내에서 검출된 적어도 하나의 객체가 지정된 객체를 포함하는지 여부를 확인하는 동작은, 동작 1003의 카메라 모듈(320)을 통하여 획득된 이미지에 대한 세그멘테이션을 수행함으로써, 상기 이미지 내에서 상기 이미지에 포함된 적어도 하나의 객체 각각에 대응하는 적어도 하나의 제 1 영역을 확인하는 동작은, 독립된(별개의) 동작들인 것으로 도시하고 있지만, 이에 제한되지 않는다. 예를 들어, 동작 1005는 동작 1003에 포함될 수 있다. 프로세서(340)는, 카메라 모듈(320)을 통하여 획득된 이미지에 대한 세그멘테이션을 수행함으로써, 이미지에 포함된 적어도 하나의 객체를 확인함으로써, 이미지가 지정된 객체를 포함하는지 여부를 확인할 수 있다.
동작 1005에서 적어도 하나의 객체가 지정된 객체를 포함하는 것으로 확인된 경우, 동작 1007에서, 일 실시예에서, 프로세서(340)는, 적어도 하나의 제 1 영역의 밝기를 획득할 수 있다.
동작 1007은 도 5의 동작 505와 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
동작 1009에서, 일 실시예에서, 프로세서(340)는, 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 확인할 수 있다.
동작 1009는 도 5의 동작 507과 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
동작 1011에서, 일 실시예에서, 프로세서(340)는, 적어도 하나의 객체 각각에 대응하는, 적어도 하나의 제 1 영역의 밝기 및 적어도 하나의 가중치에 기반하여, 카메라 모듈(320)의 노출을 제어할 수 있다.
동작 1011은 도 5의 동작 509과 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
동작 1005에서 적어도 하나의 객체가 지정된 객체를 포함하지 않는 것으로 확인된 경우(예: 이미지 내에서 지정된 객체가 검출되지 않는 경우), 동작 1013에서, 일 실시예에서, 프로세서(340)는, 이미지의 중심 영역을 기준으로 카메라 모듈(320)의 노출을 제어할 수 있다. 예를 들어, 프로세서(340)는, 이미지가 복수의 패치들로 구성되는 경우, 복수의 패치들 각각에 대하여 이미지 중심에 가까울 수록 높은 가중치를 설정할 수 있다. 프로세서(340)는, 복수의 패치들의 밝기 및 복수의 패치들에 설정된 가중치들에 기반하여, 카메라 모듈(320)의 노출을 제어할 수 있다.
도 10에서, 이미지 내에서 지정된 객체가 검출되지 않은 경우, 이미지의 중심 영역을 기준으로 카메라 모듈(320)의 노출을 제어하는 것으로 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 이미지 내에서 지정된 객체가 검출되지 않은 경우, 프로세서(340)는, 이미지의 전체 영역의 평균 밝기에 기반하여 카메라 모듈(320)의 노출을 제어하거나, 이미지 내에서 특정 영역을 기준으로 카메라 모듈(320)의 노출을 제어할 수 있다.
도 11은, 다양한 실시예들에 따른, 이미지를 제공하는 방법을 설명하는 흐름도(1100)이다.
도 12는, 다양한 실시예들에 따른, 이미지를 제공하는 방법을 설명하기 위한 예시도(1200)이다.
도 11 및 도 12를 참조하면, 동작 1101에서, 일 실시예에서, 프로세서(340)는, 이미지 내에서 적어도 하나의 객체에 대응하는 적어도 하나의 제 1 영역의 위치 변화를 검출할 수 있다. 예를 들어, 프로세서(340)는, 카메라 모듈(320)을 통하여 획득된 제 1 프레임(예: 현재 프레임 이전에 획득된 프레임) 내에서 검출된 제 1 객체에 대응하는 제 1 영역의 위치(예: 제 1 프레임 내에서 제 1 영역의 좌표) 및 제 1 프레임에 연속하는 제 2 프레임(예: 현재 프레임) 내에서 검출된 제 1 객체에 대응하는 제 1 영역의 위치(예: 제 2 프레임 내에서 제 1 영역의 좌표)를 비교할 수 있다. 프로세서(340)는, 제 1 프레임 내에서 제 1 영역의 위치 및 제 2 프레임 내에서 제 1 영역의 위치 및 차이가 지정된 차이 이상인 경우, 적어도 하나의 제 1 영역의 위치가 변화된 것으로 결정할 수 있다.
일 실시예에서, 프로세서(340)는, 이미지에 포함된 적어도 하나의 객체 중에서, 지정된 객체의 위치가 지정된 위치 이상 변화된 경우, 적어도 하나의 제 1 영역의 위치가 변화된 것으로 결정할 수 있다. 예를 들어, 프로세서(340)는, 이미지에 포함된 적어도 하나의 객체 중에서, 인물 객체(예: 바디 객체, 스킨 객체)의 위치가 지정된 위치 이상 변화된 경우, 적어도 하나의 제 1 영역의 위치가 변화된 것으로 결정할 수 있다. 다른 예를 들어, 프로세서(340)는, 이미지가 하늘 객체만을 포함하고, 하늘 객체의 위치가 지정된 위치 이상 변화되더라도, 적어도 하나의 제 1 영역의 위치가 변화되지 않은 것으로 결정할 수 있다.
동작 1103에서, 일 실시예에서, 프로세서(340)는, 이미지 내에서 적어도 하나의 객체에 대응하는 적어도 하나의 제 1 영역의 위치 변화된 것으로 결정된 경우, 이미지에 대응하는 이미지 맵(image map)을 업데이트할 수 있다. 예를 들어, 프로세서(340)는, 이미지 내에서 적어도 하나의 객체에 대응하는 적어도 하나의 제 1 영역의 위치 변화된 것으로 결정된 경우, 적어도 하나의 제 1 영역의 변화된 위치(및 이미지의 밝기)를 나타내는 이미지 맵을 메모리(330)에 저장할 수 있다.
동작 1105에서, 일 실시예에서, 프로세서(340)는, 이미지 내에서 적어도 하나의 객체에 대응하는 적어도 하나의 제 1 영역의 위치 변화된 것으로 결정된 경우, 적어도 하나의 제 1 영역의 위치 변화량을 검출할 수 있다.
일 실시예에서, 도 12의 참조 부호 1201에서 이미지 맵(1210)은 제 1 프레임(예: 현재 프레임 이전에 획득된 프레임)에 대응하는 이미지 맵을 나타낼 수 있다. 이미지 맵(1210)에서, 복수의 제 1-1 패치들(1211)는 바디 객체에 대응하는 제 1 영역을 나타내고, 복수의 제 1-2 패치들(1212)는 스킨 객체에 대응하는 제 1 영역을 나타내고, 복수의 제 1-3 패치들(1213)는 하늘 객체에 대응하는 제 1 영역을 나타낼 수 있다. 일 실시예에서, 도 12의 참조 부호 1202에서 이미지 맵(1220)은 제 2 프레임(예: 현재 프레임)에 대응하는 이미지 맵을 나타낼 수 있다. 이미지 맵(1220)에서, 복수의 제 2-1 패치들(1221)는 바디 객체에 대응하는 제 1 영역을 나타내고, 복수의 제 2-2 패치들(1222)는 스킨 객체에 대응하는 제 1 영역을 나타내고, 복수의 제 2-3 패치들(1223)는 하늘 객체에 대응하는 제 1 영역을 나타낼 수 있다.
일 실시예에서, 프로세서(340)는, 제 1 프레임의 복수의 제 1-1 패치들(1211) 및 제 2 프레임의 복수의 제 2-1 패치들(1221)에 기반하여, 바디 객체에 대응하는 제 1 영역의 위치가 하나의 패치(예: 하나의 패치의 가로 길이)에 대응하는 거리만큼, 변화됨을 검출할 수 있다. 프로세서(340)는, 제 1 프레임의 복수의 제 1-2 패치들(1212) 및 제 2 프레임의 복수의 제 2-1 패치들(1222)에 기반하여, 스킨 객체에 대응하는 제 1 영역의 위치가 하나의 패치에 대응하는 거리만큼, 변화됨을 검출할 수 있다. 이러한 경우, 프로세서(340)는, 바디 객체에 대응하는 제 1 영역의 위치 변화량 및 스킨 객체에 대응하는 제 1 영역의 위치 변화량 각각을 하나의 패치 간격으로 결정할 수 있다.
전술한 예시들에서는, 적어도 하나의 제 1 영역의 위치 변화량을 검출하는 것으로 예시하고 있지만, 이에 제한되지 않는다. 일 실시예에서, 프로세서(340)는, 적어도 하나의 제 1 영역의 위치 변화량과 함께, 적어도 하나의 제 1 영역이 변화하는 방향을 검출할 수 있다. 예를 들어, 프로세서(340)는, 도 12에서, 바디 객체에 대응하는 제 1 영역 및 스캔 객체에 대응하는 제 1 영역이 변화하는 방향을 오른쪽 방향으로 결정할 수 있다.
일 실시예에서, 프로세서(340)는, 객체에 대응하는 제 1 영역에 포함된 복수의 패치들 중에서, 복수의 패치들의 중심에 위치하는 적어도 하나의 패치의 위치 변화량을, 제 1 영역의 위치 변화량으로 결정할 수 있다. 다만, 이에 제한되지 않으며, 예를 들어, 프로세서는, 객체에 대응하는 제 1 영역에 포함된 복수의 패치들 중에서 특정 패치의 위치 변화량을, 제 1 영역의 위치 변화량으로 결정할 수 있다.
도 12에서는, 객체에 대응하는 제 1 영역의 위치 변화량을, 객체에 대응하는 제 1 영역의 복수의 패치들의 위치들의 변화에 기반하여, 검출하는 방법을 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 프로세서(340)는, 객체에 대응하는 제 1 영역의 픽셀들의 좌표들의 변화에 기반하여, 객체에 대응하는 제 1 영역의 위치 변화량을 검출할 수 있다.
동작 1107에서, 일 실시예에서, 프로세서(340)는, 적어도 하나의 제 1 영역의 위치 변화량에 기반하여, 카메라 모듈(320)의 노출을 제어할 수 있다.
일 실시예에서, 프로세서(340)는, 적어도 하나의 제 1 영역의 위치 변화량에 기반하여, 카메라 모듈(320)의 셔터 속도를 다르게 설정할 수 있다. 예를 들어, 프로세서(340)는, 적어도 하나의 제 1 영역의 위치 변화량이 클수록 카메라 모듈(320)의 셔터 속도를 빠른 속도로 설정하고, 적어도 하나의 제 1 영역의 위치 변화량이 작을수록 카메라 모듈(320)의 셔터 속도를 느린 속도로 설정할 수 있다.
아래 [표 3]을 참조하여, 프로세서(340)가 적어도 하나의 제 1 영역의 위치 변화량에 기반하여, 카메라 모듈(320)의 셔터 속도를 설정하는 동작에 대하여 설명하도록 한다.
위치 변화량 | 2 패치 | 4 패치 | 8 패치 | 16 패치 |
셔터 속도의 레벨 | 레벨 1 | 레벨 2 | 레벨 3 | 레벨 4 |
일 실시예에서, [표 3]에서, '2 패치'는 2개의 패치들에 대응하는 거리(예: 2개의 패치들의 가로 길이) 이상 4개의 패치들에 대응하는 거리 미만의 제 1 거리 범위를 나타내고, '4 패치'는 4개의 패치들에 대응하는 거리 이상 8개의 패치들에 대응하는 거리 미만의 제 2 거리 범위를 나타내고, '8 패치'는 8개의 패치들에 대응하는 거리 이상 16개의 패치들에 대응하는 거리 미만의 제 3 거리 범위를 나타내고, '8 패치'는 8개의 패치들에 대응하는 거리 이상의 제 4 거리 범위를 나타낼 수 있다. [표 3]에서, 셔터 속도는, 레벨 1, 레벨 2, 레벨 3, 및 레벨 4, 순서로, 빠른 속도가 대응(예: 매핑)될 수 있다. 예를 들어, [표 3]에서, 레벨 1에 대응하는 셔터 속도는 가장 느린 셔터 속도이고, 레벨 4에 대응하는 셔터 속도는 가장 빠른 셔터 속도일 수 있다.
일 실시예에서, 프로세서(340)는, 메모리(330)에 [표 3]과 같은, 객체의 제 1 영역의 위치 변화량 및 셔터 속도 간 관계를 나타내는 테이블을 저장할 수 있다. 프로세서(340)는, 객체의 제 1 영역의 위치 변화량에 대응하는 거리 범위에 따라, 거리 범위에 대응하는 셔터 속도로, 카메라 모듈(320)의 셔터 속도를 설정할 수 있다. 예를 들어, 프로세서(340)는, 객체의 제 1 영역의 위치 변화량이 제 1 거리 범위에 해당하는 경우, 레벨 1에 대응하는 셔터 속도로, 카메라 모듈(320)의 셔터 속도를 설정할 수 있다.
일 실시예에서, 프로세서(340)는, 도 5의 동작 501 내지 동작 509의 적어도 일부 동작을 통하여 카메라 모듈(320)의 노출 값이 결정된 경우, 결정된 카메라 모듈(320)의 노출 값 및 동작 1107을 통하여 설정된 셔터 속도를 고려하여, 이미지 센서의 감도를 설정할 수 있다. 예를 들어, 프로세서(340)는 도 5의 동작 501 내지 동작 509의 적어도 일부 동작을 통하여 카메라 모듈(320)의 노출 값을 결정할 수 있다. 프로세서(340)는, 객체에 대응하는 제 1 영역의 위치 변화량이 제 1 거리 범위에 해당하는 경우 레벨 1 에 대응하는 셔터 속도를 설정할 수 있다. 프로세서(340)는, 상기 결정된 카메라 모듈(320)의 노출 값 및 레벨 1 에 대응하는 셔터 속도에 따라, 이미지 센서의 민감도 값을 제 1 민감도 값으로 설정할 수 있다. 프로세서(340)는, 객체에 대응하는 제 1 영역의 위치 변화량이 제 4 거리 범위에 해당하는 경우 레벨 4 에 대응하는 셔터 속도를 설정할 수 있다. 프로세서(340)는, 상기 결정된 카메라 모듈(320)의 노출 값 및 레벨 4 에 대응하는 셔터 속도에 따라, 이미지 센서의 민감도 값을 제 1 민감도 값 보다 높은 제 2 민감도 값으로 설정할 수 있다.
일 실시예에서, 프로세서(340)가, 객체의 제 1 영역의 위치 변화량이 클수록, 셔터 속도를 빠른 셔터 속도로 설정함으로써, 촬영 대상이 되는 피사체(예: 사람)의 움직임에 의해 이미지가 블러드(blurred)하게 표시되지 않도록, 할 수 있다.
도 13은, 다양한 실시예들에 따른, 이미지를 제공하는 방법을 설명하는 흐름도(1300)이다.
도 13을 참조하면, 동작 1301에서, 일 실시예에서, 프로세서(340)는, 카메라 모듈(320)을 통하여 이미지를 획득할 수 있다.
동작 1301은 도 5의 동작 501과 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
동작 1303에서, 일 실시예에서, 프로세서(340)는, 카메라 모듈(320)을 통하여 획득된 이미지에 대한 세그멘테이션을 수행함으로써, 상기 이미지 내에서 상기 이미지에 포함된 적어도 하나의 객체 각각에 대응하는 적어도 하나의 제 1 영역을 확인할 수 있다.
동작 1303은 도 5의 동작 503과 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
동작 1305에서, 일 실시예에서, 프로세서(340)는, 이미지 내에서 검출된 적어도 하나의 객체가 지정된 객체를 포함하는지 여부를 확인할 수 있다. 예를 들어, 프로세서(340)는, 카메라 모듈(320)을 통하여 획득된 이미지가 지정된 객체(예: 인물 객체, 인물의 바디 객체, 인물의 스킨 객체)를 포함하는지 여부를 확인할 수 있다.
동작 1305에서 적어도 하나의 객체가 지정된 객체를 포함하는 것으로 확인된 경우, 동작 1307에서, 일 실시예에서, 프로세서(340)는, 적어도 하나의 제 1 영역의 밝기를 획득할 수 있다.
동작 1307은 도 5의 동작 505와 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
동작 1309에서, 일 실시예에서, 프로세서(340)는, 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 확인할 수 있다.
동작 1309는 도 5의 동작 507과 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
동작 1311에서, 일 실시예에서, 프로세서(340)는, 제 1 노출 수렴 속도에 기반하여, 카메라 모듈(320)의 노출을 제어할 수 있다.
일 실시예에서, 프로세서(340)는, 적어도 하나의 객체 각각에 대응하는, 적어도 하나의 제 1 영역의 밝기 및 적어도 하나의 가중치에 기반하여, 이미지의 밝기(예: 카메라 모듈(320)의 통하여 획득된 이미지의 전체 영역의 밝기)를 획득할 수 있다. 프로세서(340)는, 이미지의 밝기 및 타겟 밝기에 기반하여, 카메라 모듈(320)의 노출 값을 결정할 수 있다.
일 실시예에서, 프로세서(340)는, 이미지에 지정된 객체가 포함된 경우, 제 1 노출 수렴 속도에 기반하여, 카메라 모듈(320)의 노출 값을 설정할 수 있다. 예를 들어, 프로세서(340)는, 이미지에 지정된 객체가 포함되지 않는 경우, 전술한 [표 2]와 같이, 카메라 모듈(320)의 노출 값이, 카메라 모듈(320)의 현재 설정된 노출 값으로부터, 4번의 단계들을 통하여, 타겟 카메라 모듈(320)의 노출 값에 수렴하도록, 카메라 모듈(320)의 노출 값을 설정할 수 있다. 프로세서(340)는, 이미지에 지정된 객체가 포함된 경우, 아래 [표 3]와 같이, 카메라 모듈(320)의 노출 값이, 카메라 모듈(320)의 현재 설정된 노출 값으로부터, 4번 보다 많은 10번의 단계들을 통하여, 타겟 카메라 모듈(320)의 노출 값에 수렴하도록, 카메라 모듈(320)의 노출 값을 설정할 수 있다.
시간 | t=1 | t=2 | t=3 | t=4 | t=5 | t=6 | t=7 | t=8 | t=9 | t=10 | t=11 |
카메라 모듈의 노출 값 | 6 | 6.1 | 6.2 | 6.3 | 6.4 | 6.5 | 6.6 | 6.7 | 6.8 | 6.9 | 7 |
타겟 노출 값 | - | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 |
노출 조정 값 | - | 0.9 | 0.8 | 0.7 | 0.6 | 0.5 | 0.4 | 0.3 | 0.2 | 0.1 | 0.0 |
일 실시예에서, [표 4]에서, 프로세서(340)는, t=1에서, 노출 값이 6으로 설정된 카메라 모듈(320)을 통하여 이미지를 획득할 수 있다. 프로세서(340)는, 획득된 이미지의 밝기 및 타겟 밝기에 기반하여, [수식 3] 및 [수식 4]를 이용하여, 노출 조정 값을 1로 산출하고, 타겟 노출 값을 7로 산출할 수 있다. 프로세서(340)는, [표 2]의 t=2 내지 t=11의 카메라 모듈(320)의 노출 값들(예: 6.1 내지 7)과 같이, 현재 설정된 카메라 모듈(320)의 노출 값 6으로부터 시간에 따라 점진적으로 타겟 노출 값 7에 수렴하도록(타겟 노출 값과 동일하도록), t=2(예: 현재 프레임을 획득한 t=1 다음의 프레임이 획득되는 시간)에서 카메라 모듈(320)의 노출 값을 6.1로 설정할 수 있다. [표 4]에서, t=1이 현재 프레임을 획득한 시점인 경우, t=2는 카메라 모듈(320)을 통하여 현재 프레임 다음의 프레임을 획득하는 시간일 수 있다.
일 실시예에서, 카메라 모듈(320)의 노출 값이 점진적으로 타겟 노출 값으로 수렴하는 단계들이 많을수록(또는 카메라 모듈(320)의 노출 값이 점진적으로 타겟 노출 값으로 수렴하는 시간이 길수록), 노출 수렴 속도가 느린 것으로 지칭될 수 있다. 카메라 모듈(320)의 노출 값이 점진적으로 타겟 노출 값으로 수렴하는 단계들이 적을수록(또는 카메라 모듈(320)의 노출 값이 점진적으로 타겟 노출 값으로 수렴하는 시간이 짧을수록), 노출 수렴 속도가 빠른 것으로 지칭될 수 있다.
일 실시예에서, 프로세서(340)는, 이미지에 지정된 객체가 포함된 경우 제 1 노출 수렴 속도에 기반하여 카메라 모듈(320)의 노출 값을 설정하고, 이미지에 지정된 객체가 포함되지 않은 경우 제 1 노출 수렴 속도 보다 빠른 제 2 노출 수렴 속도에 기반하여 카메라 모듈(320)의 노출 값을 설정할 수 있다.
동작 1305에서 적어도 하나의 객체가 지정된 객체를 포함하지 않는 것으로 확인된 경우, 동작 1313에서, 일 실시예에서, 프로세서(340)는, 적어도 하나의 제 1 영역의 밝기를 획득할 수 있다.
동작 1313은 도 5의 동작 505와 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
동작 1315에서, 일 실시예에서, 프로세서(340)는, 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 확인할 수 있다.
동작 1315는 도 5의 동작 507과 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
동작 1317에서, 일 실시예에서, 프로세서(340)는, 제 1 노출 수렴 속도에 기반하여, 카메라 모듈(320)의 노출을 제어할 수 있다.
일 실시예에서, 프로세서(340)는, 제 1 노출 수렴 속도 보다 빠른 제 2 노출 수렴 속도에 기반하여 카메라 모듈(320)의 노출 값을 설정할 수 있다. 예를 들어, 프로세서(340)는, 전술한 [표 2]와 같이, 카메라 모듈(320)의 노출 값이, 카메라 모듈(320)의 현재 설정된 노출 값으로부터, 4번의 단계들을 통하여, 타겟 카메라 모듈(320)의 노출 값에 수렴하도록, 카메라 모듈(320)의 노출 값(예: 현재 프레임의 다음 프레임 획득을 위하여 적용될 노출 값)을 설정할 수 있다.
일 실시예에서, 프로세서(340)가 이미지에 지정된 객체가 포함된 경우, 이미지에 지정된 객체가 포함되지 않은 경우 설정되는 제 2 노출 수렴 속도 보다 느린 제 1 노출 수렴 속도에 기반하여 카메라 모듈(320)의 노출 값을 설정함으로써, 이미지에 지정된 객체가 포함된 경우 이미지의 밝기가 완만하게 변화되도록 할 수 있다. 이를 통하여, 사용자가 체감하는 이미지의 품질을 향상시킬 수 있다.
도 13에서, 이미지가 지정된 객체를 포함하지 않는 경우에도, 동작 1313 내지 동작 1317과 같이, 이미지 내에서 객체를 기준으로 카메라 모듈(320)의 노출을 제어하는 것으로 예시하고 있지만 이에 제한되지 않는다. 예를 들어, 프로세서(340)는, 이미지가 지정된 객체를 포함하지 않는 경우, 도 10의 동작 1013과 같이, 이미지 내에서 중심 영역을 기준으로 카메라 모듈(320)의 노출을 제어하고, 이미지 내에서 중심 영역을 기준으로 카메라 모듈(320)의 노출을 제어하기 위한 동작의 일부로서 제 2 노출 수렴 속도에 기반하여 카메라 모듈(320)의 노출 값을 설정할 수 있다.
또한, 도 13에서는, 프로세서(340)가 동작 1307 및 동작 1309 또는 동작 1313 및 동작 1315를 수행하기 전 동작 1305의 적어도 하나의 객체가 지정된 객체를 포함하는지 여부를 확인하는 동작을 수행하는 것으로 예시하고 있지만 이에 제한되지 않는다. 예를 들어, 프로세서(340)는 적어도 하나의 객체에 대응하는 적어도 하나의 제 1 영역의 밝기를 획득하는 동작(예: 동작 1307 또는 동작 1309) 및 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 확인하는 동작(예: 동작 1313 또는 동작 1315)를 수행한 후, 적어도 하나의 객체가 지정된 객체를 포함하는지 여부를 확인할 수 있다. 프로세서(340)는, 적어도 하나의 객체가 지정된 객체를 포함하는 경우 동작 1311과 같은 제 1 노출 수렴 속도에 기반하여 카메라 모듈(320)의 노출을 제어하는 동작을 수행하고, 적어도 하나의 객체가 지정된 객체를 포함하지 않는 경우 동작 1317과 같은 제 2 노출 수렴 속도에 기반하여 카메라 모듈(320)의 노출을 제어하는 동작을 수행할 수 있다.
도 14는, 다양한 실시예들에 따른, 이미지를 제공하는 방법을 설명하는 흐름도(1400)이다.
도 14를 참조하면, 동작 1301에서, 일 실시예에서, 프로세서(340)는, 카메라 모듈(320)을 통하여 이미지를 획득할 수 있다.
동작 1301은 도 5의 동작 501과 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
동작 1403에서, 일 실시예에서, 프로세서(340)는, 카메라 모듈(320)을 통하여 획득된 이미지에 대한 세그멘테이션을 수행함으로써, 상기 이미지 내에서 상기 이미지에 포함된 적어도 하나의 객체 각각에 대응하는 적어도 하나의 제 1 영역을 확인할 수 있다.
동작 1403은 도 5의 동작 503과 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
동작 1405에서 일 실시예에서, 프로세서(340)는, 적어도 하나의 제 1 영역의 밝기를 획득할 수 있다.
동작 1405는 도 5의 동작 505와 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
동작 1407에서, 일 실시예에서, 프로세서(340)는, 적어도 하나의 제 1 영역의 밝기 변화가 임계 미만인지 여부를 확인할 수 있다.
일 실시예에서, 프로세서(340)는, 적어도 하나의 제 1 영역(또는 이미지 내에서 적어도 하나의 제 1 영역 및 배경 영역)의 밝기 변화가 임계 미만인지 여부를 확인할 수 있다. 예를 들어, 프로세서(340)는, 제 1 프레임 내에서 적어도 하나의 제 1 영역의 밝기 및 제 1 프레임 다음의 제 2 프레임 내에서 적어도 하나의 제 1 영역의 밝기 간 차이를 산출함으로써, 이미지 내에서 적어도 하나의 제 1 영역의 밝기 변화를 확인할 수 있다. 프로세서(340)는, 확인된 적어도 하나의 제 1 영역의 밝기 변화 및 임계(예: 임계 밝기 변화)를 비교함으로써, 적어도 하나의 제 1 영역의 밝기 변화가 임계 미만인지 여부를 확인할 수 있다.
일 실시예에서, 프로세서(340)는, 적어도 하나의 제 1 영역의 밝기 변화가 이미지에 포함된 적어도 하나의 객체의 움직임(또는 촬영 대상이 되는 피사체의 움직임)에 의한 밝기 변화 보다 적은지 여부를 확인할 수 있다. 예를 들어, 프로세서(340)는, 적어도 하나의 제 1 영역의 밝기 변화가 임계 미만인지 여부를 확인하는 동작을 대체하여, 적어도 하나의 제 1 영역의 밝기 변화가 이미지에 포함된 적어도 하나의 객체의 움직임에 의한 밝기 변화 보다 적은지 여부를 확인할 수 있다.
일 실시예에서, 적어도 하나의 제 1 영역의 밝기 변화가 이미지에 포함된 적어도 하나의 객체의 움직임(또는 촬영 대상이 되는 피사체의 움직임)에 의한 밝기 변화 보다 큰 경우(또는 촬영 대상이 되는 피사체의 움직임)에 의한 밝기 변화 보다 큰 경우)는, 전자 장치(101)의 주변 환경(예: 촬영 공간)에 배치된 조명 장치가 턴 오프(turn off) 상태로부터 턴 온(turn on) 상태로 전환(또는 조명 장치가 턴 오프 상태로부터 턴 온 상태로 전환)됨에 따라, 카메라 모듈(320)을 통하여 획득된 이미지의 밝기가 급격하게 변화되는 경우에 해당될 수 있다.
동작 1407에서 적어도 하나의 제 1 영역의 밝기 변화가 임계 미만인 것으로 확인된 경우(또는 적어도 하나의 제 1 영역의 밝기 변화가 이미지에 포함된 적어도 하나의 객체의 움직임에 의한 밝기 변화 보다 적은 것으로 확인된 경우), 동작 1409에서, 일 실시예에서, 프로세서(340)는, 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 확인할 수 있다.
동작 1409는 도 5의 동작 507과 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
동작 1411에서, 일 실시예에서, 프로세서(340)는, 제 1 노출 수렴 속도에 기반하여, 카메라 모듈(320)의 노출 속도를 제어할 수 있다.
일 실시예에서, 프로세서(340)는, 적어도 하나의 제 1 영역의 밝기 변화가 임계 미만인 것으로 확인된 경우(또는 적어도 하나의 제 1 영역의 밝기 변화가 이미지에 포함된 적어도 하나의 객체의 움직임에 의한 밝기 변화 보다 적은 것으로 확인된 경우), 제 2 노출 수렴 속도에 비하여 느린 제 1 노출 수렴 속도에 기반하여, 카메라 모듈(320)의 노출을 제어할 수 있다. 프로세서(340)가 제 1 노출 수렴 속도에 기반하여 카메라 모듈(320)의 노출을 제어하는 동작은, 도 13의 동작 1311과 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
동작 1407에서 적어도 하나의 제 1 영역의 밝기 변화가 임계 이상인 것으로 확인된 경우(또는 적어도 하나의 제 1 영역의 밝기 변화가 이미지에 포함된 적어도 하나의 객체의 움직임에 의한 밝기 변화 보다 큰 것으로 확인된 경우), 동작 1413에서, 일 실시예에서, 프로세서(340)는, 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 확인할 수 있다.
동작 1413은 도 5의 동작 507과 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
동작 1415에서, 일 실시예에서, 프로세서(340)는, 제 2 노출 수렴 속도에 기반하여, 카메라 모듈(320)의 노출 속도를 제어할 수 있다.
일 실시예에서, 프로세서(340)는, 적어도 하나의 제 1 영역의 밝기 변화가 임계 이상인 것으로 확인된 경우(또는 적어도 하나의 제 1 영역의 밝기 변화가 이미지에 포함된 적어도 하나의 객체의 움직임에 의한 밝기 변화 보다 큰 것으로 확인된 경우), 제 1 노출 수렴 속도에 빠른 제 2 노출 수렴 속도에 기반하여, 카메라 모듈(320)의 노출을 제어할 수 있다. 프로세서(340)가 제 2 노출 수렴 속도에 기반하여 카메라 모듈(320)의 노출을 제어하는 동작은, 도 14의 동작 1317과 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
일 실시예에서, 전술한 바와 같이, 프로세서(340)는 전자 장치(101)의 주변 환경에 배치된 조명 장치가 턴 오프 상태로부터 턴 온 상태로(또는 턴 온 상태로부터 턴 오프 상태로) 전환됨에 따라 카메라 모듈(320)을 통하여 획득된 이미지의 밝기가 급격하게 변화되는 경우, 제 1 노출 수렴 속도 보다 빠른 제 2 노출 수렴 속도에 기반하여 카메라 모듈(320)의 노출을 제어할 수 있다.
일 실시예에서, 프로세서(340)는, 이미지가 지정된 객체(예: 인물 객체, 인물의 바디 객체, 인물의 스킨 객체)를 포함하는 경우에도, 적어도 하나의 제 1 영역의 밝기 변화가 임계 이상인 것으로 확인된 경우(또는 적어도 하나의 제 1 영역의 밝기 변화가 이미지에 포함된 적어도 하나의 객체의 움직임에 의한 밝기 변화 보다 큰 것으로 확인된 경우), 제 1 노출 수렴 속도 보다 빠른 제 2 노출 수렴 속도에 기반하여 카메라 모듈(320)의 노출을 제어할 수 있다.
도 15는, 다양한 실시예들에 따른, 이미지를 제공하는 방법을 설명하는 흐름도(1500)이다.
도 15를 참조하면, 일 실시예에서, 도 15는, 도 8의 동작 803에서 이미지의 밝기 및 타겟 밝기에 기반하여 노출 값을 결정하는 동작을 수행한 후에 수행되는 동작들을 포함할 수 있다.
동작 1501에서, 일 실시예에서, 프로세서(340)는, 카메라 모듈(320)의 노출 값에 대응하는 카메라 모듈(320)의 설정을 확인할 수 있다. 예를 들어, 프로세서(340)는, 이미지의 밝기 및 타겟 밝기에 기반하여 노출 값이 결정된 후, 도 9의 그래프의 제 1 라인(910) 및 제 2 라인(920)에 기반하여, 결정된 노출 값에 대응하는 셔터 속도에 대응하는 값 및 이미지 센서의 민감도에 대응하는 값을 확인할 수 있다.
동작 1503에서, 일 실시예에서, 프로세서(340)는, 상기 확인된 카메라 모듈(320)의 설정으로 카메라 모듈(320)의 설정을 설정할 수 있는지 여부를 확인할 수 있다.
일 실시예에서, 프로세서(340)는, 카메라 모듈(320)과 관련된 하드웨어 또는 소프트웨어의 제약에 의해, 상기 확인된 카메라 모듈(320)의 설정으로 카메라 모듈(320)의 설정을 설정하지 못할 수 있다. 예를 들어, 프로세서(340)는, 카메라 모듈(320)의 노출 값이 대응하는 이미지 센서의 민감도 값이 6400으로 확인되고, 카메라 모듈(320)의 이미지 센서의 민감도 값이 최대 3200까지 설정 가능한 경우, 상기 확인된 카메라 모듈(320)의 설정으로 카메라 모듈(320)의 설정을 설정할 수 없는 것으로 확인할 수 있다. 다른 예를 들어, 프로세서(340)는, 카메라 모듈(320)의 노출 값이 대응하는 이미지 센서의 민감도 값이 1600으로 확인되고, 카메라 모듈(320)의 이미지 센서의 민감도 값이 최대 3200까지 설정 가능한 경우, 상기 확인된 카메라 모듈(320)의 설정으로 카메라 모듈(320)의 설정을 설정 가능한 것으로 확인할 수 있다. 또 다른 예를 들어, 프로세서(340)는, 카메라 모듈(320)의 노출 값이 대응하는 카메라 모듈(320)의 노출 시간이 t1으로 확인되고, 카메라 모듈(320)에서 설정 가능한 노출 시간이 t1 보다 짧은 t2인 경우, 상기 확인된 카메라 모듈(320)의 설정으로 카메라 모듈(320)의 설정을 설정할 수 없는 것으로 확인할 수 있다. 또 다른 예를 들어, 프로세서(340)는, 카메라 모듈(320)의 노출 값이 대응하는 카메라 모듈(320)의 노출 시간이 t3으로 확인되고, 카메라 모듈(320)에서 설정 가능한 노출 시간이 t3 보다 긴 t2인 경우, 상기 확인된 카메라 모듈(320)의 설정으로 카메라 모듈(320)의 설정을 설정할 수 있는 것으로 확인할 수 있다.
일 실시예에서, 프로세서(340)는, 카메라 모듈(320)에서 설정 가능한 노출과 관련된 설정(예: 셔터 속도, 이미지 센서의 민감도, 및/또는 조리개 값과 관련된 설정)의 최대 값 및/또는 최소 값을 고려하여, 상기 확인된 카메라 모듈(320)의 설정으로 카메라 모듈(320)의 설정을 설정할 수 있는지 여부를 확인할 수 있다. 예를 들어, 프로세서(340)는, 상기 확인된 카메라 모듈(320)의 설정이 카메라 모듈(320)에서 설정 가능한 노출과 관련된 설정의 최대 값 및 최소 값 사이의 범위에 있는 경우, 상기 확인된 카메라 모듈(320)의 설정으로 카메라 모듈(320)의 설정을 설정할 수 있는 것으로 확인할 수 있다. 다른 예를 들어, 프로세서(340)는, 상기 확인된 카메라 모듈(320)의 설정이 카메라 모듈(320)에서 설정 가능한 노출과 관련된 설정의 최대 값 보다 크거나 최소 값 보다 작은 경우, 상기 확인된 카메라 모듈(320)의 설정으로 카메라 모듈(320)의 설정을 설정할 수 없는 것으로 확인할 수 있다.
동작 1503에서 상기 확인된 카메라 모듈(320)의 설정으로 카메라 모듈(320)의 설정을 설정할 수 있는 것으로 확인된 경우, 동작 1505에서, 일 실시예에서, 프로세서(340)는, 확인된 카메라 모듈(320)의 설정으로 카메라 모듈(320)의 설정을 설정할 수 있다.
동작 1505는, 도 8의 동작 805의 카메라 모듈(320)의 노출을 제어하는 동작과 적어도 일부가 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
동작 1503에서 상기 확인된 카메라 모듈(320)의 설정으로 카메라 모듈(320)의 설정을 설정할 수 없는 것으로 확인된 경우, 동작 1507에서, 일 실시예에서, 프로세서(340)는, 설정 가능한 카메라 모듈(320)의 설정으로 카메라 모듈(320)의 설정을 설정할 우 있다.
일 실시예에서, 프로세서(340)는, 카메라 모듈(320)에서 설정 가능한 노출과 관련된 설정의 최대 값 또는 최소 값으로, 카메라 모듈(320)의 설정을 설정할 수 있다. 예를 들어, 프로세서(340)는, 카메라 모듈(320)의 노출 값이 대응하는 이미지 센서의 민감도 값이 6400으로 확인되고, 카메라 모듈(320)의 이미지 센서의 민감도 값이 최대 3200까지 설정 가능한 경우, 카메라 모듈(320)의 이미지 센서의 민감도 값을 3200으로 설정할 수 있다.
동작 1509에서, 일 실시예에서, 프로세서(340)는, 동작 1507에서 설정된 카메라 모듈(320)의 설정에 기반하여, 카메라 모듈(320)을 통하여 이미지를 획득할 수 있다.
동작 1511에서, 일 실시예에서, 프로세서(340)는, 획득된 이미지의 밝기를 획득할 수 있다. 예를 들어, 프로세서(340)는, 획득된 이미지의 전체 영역의 밝기를 획득할 수 있다.
동작 1513에서, 일 실시예에서, 프로세서(340)는, 타겟 밝기 및 이미지의 밝기(예: 동작 1511을 통해 획득된 이미지의 밝기)에 기반하여 이미지의 밝기를 보정할 수 있다.
일 실시예에서, 프로세서(340)는, 타겟 밝기 및 이미지의 밝기 간 차이(이하, 'delta Y'로 지칭함)를 산출할 수 있다. 프로세서(340)는, delta Y가 최소(예: '0'의 값)가 되도록 감마(gamma) 보정 및/또는 톤 매핑(tone mapping)을 통하여 톤 보정을 수행함으로써, 이미지의 밝기를 보정할 수 있다. 예를 들어, 프로세서(340)는, 타겟 밝기 및 이미지의 밝기 간 차이가 최소가 되도록(예: 이미지의 밝기가 타겟 밝기와 실질적으로 동일하도록), 감마 보정 및/또는 톤 매핑을 통하여 톤 보정을 수행할 수 있다.
도 16은, 다양한 실시예들에 따른, 이미지를 제공하는 방법을 설명하는 흐름도(1600)이다.
도 16을 참조하면, 일 실시예에서, 도 16은, 도 5의 카메라 모듈(320)의 노출을 제어한 후, 수행되는 동작들을 포함할 수 있다.
동작 1601에서, 일 실시예에서, 프로세서(340)는, 카메라 모듈(320)을 통하여, 이미지를 획득할 수 있다.
일 실시예에서, 프로세서(340)는, 도 5의 동작들을 수행함으로써 설정된 카메라 모듈(320)의 노출과 관련된 설정에 기반하여, 카메라 모듈(320)을 통하여, 이미지를 획득할 수 있다. 예를 들어, 프로세서(340)는, 전술한 노출 수렴 동작을 수행함으로써, 카메라 모듈(320)의 노출 값을 타겟 노출 값과 동일하게 되도록, 카메라 모듈(320)의 설정을 설정할 수 있다. 프로세서(340)는, 타겟 노출 값과 동일하게 설정된 카메라 모듈(320_의 노출 값에 대응하는 카메라 모듈(320)의 설정이 설정된 후, 카메라 모듈(320)을 통하여, 이미지를 획득할 수 있다.
동작 1603에서, 일 실시예에서, 프로세서(340)는, 이미지에 포함된 지정된 객체에 대응하는 제 1 영역의 밝기를 획득할 수 있다. 예를 들어, 프로세서(340)는, 세그멘테이션을 수행함으로써, 지정된 객체(예: 스킨 객체)에 대응하는 제 1 영역의 밝기를 획득할 수 있다.
일 실시예에서, 프로세서(340)는 인물 객체에 포함된 스킨 객체를 지정된 객체로 설정할 수 있다. 다만, 이에 제한되지 않으며, 프로세서(340)는 스킨 객체 외 다른 객체(예: 인물 객체에 포함된 바디 객체)를 지정된 객체로 설정할 수도 있다.
동작 1605에서, 일 실시예에서, 프로세서(340)는, 지정된 객체에 대응하는 제 1 영역의 밝기 및 지정된 객체의 타겟 밝기에 기반하여, 이미지의 밝기를 보정할 수 있다.
일 실시예에서, 프로세서(340)는, 지정된 객체(예: 스킨 객체)에 대응하는 제 1 영역의 밝기 및 지정된 객체에 설정된 타겟 밝기 간 차이를 산출할 수 있다. 프로세서(340)는, 지정된 객체에 대응하는 제 1 영역의 밝기 및 지정된 객체에 설정된 타겟 밝기 간 차이가 최소(예: '0'의 값)가 되도록 감마 보정 및/또는 톤 매핑을 통하여 톤 보정을 수행함으로써, 이미지의 밝기를 보정할 수 있다. 예를 들어, 프로세서(340)는, 지정된 객체(예: 스킨 객체)에 대응하는 제 1 영역의 밝기 및 지정된 객체에 설정된 타겟 밝기 간 차이가 최소가 되도록(예: 지정된 객체에 대응하는 제 1 영역의 밝기가 지정된 객체의 타겟 밝기와 실질적으로 동일하도록), 감마 보정 및/또는 톤 매핑을 통하여 톤 보정을 수행할 수 있다.
일 실시예에서, 이미지의 크기에 대한 지정된 객체에 대응하는 제 1 영역의 비율이 지정된 비율 이하인 경우(예: 이미지의 크기 대비 스킨 객체의 영역의 크기가 작은 경우), 카메라 모듈(320)의 설정을 설정하는 동작만으로 적정한 밝기를 가진 객체를 포함하는 이미지가 획득되지 않을 수 있다. 이러한 경우, 프로세서(340)가 지정된 객체(예: 스킨 객체)에 대응하는 제 1 영역의 밝기 및 지정된 객체의 타겟 밝기에 기반하여 이미지의 밝기를 보정함으로써, 적정한 밝기를 가진 객체를 포함하는 이미지가 획득될 수 있다.
본 개시의 다양한 실시예들에 따른 전자 장치(101)에서 이미지를 제공하는 방법은, 상기 전자 장치(101)의 카메라 모듈(320)을 통하여 이미지를 획득하는 동작, 상기 이미지에 대한 세그멘테이션을 수행함으로써, 상기 이미지 내에서 상기 이미지에 포함된 적어도 하나의 객체 각각에 대응하는 적어도 하나의 영역을 확인하는 동작, 상기 적어도 하나의 영역의 밝기를 획득하는 동작, 상기 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 확인하는 동작, 및 상기 적어도 하나의 영역의 밝기 및 상기 적어도 하나의 가중치에 기반하여, 상기 카메라 모듈(320)의 노출을 제어하는 동작을 포함할 수 있다.
다양한 실시예에서, 상기 적어도 하나의 영역을 확인하는 동작은, 상기 이미지에 대한 세그멘테이션을 수행함으로써, 상기 이미지에 포함된 적어도 하나의 객체를 검출하고, 상기 검출된 적어도 하나의 객체의 위치에 대한 정보를 획득하는 동작을 포함할 수 있다.
다양한 실시예에서, 상기 방법은, 상기 복수의 객체들 중 적어도 일부가 서로 다른 가중치들을 가지도록, 상기 복수의 객체들 각각에 대하여 복수의 가중치들을 설정하는 동작 및 상기 복수의 객체들 및 상기 복수의 가중치들을 상기 전자 장치(101)의 메모리(330)에 저장하는 동작을 더 포함할 수 있다.
다양한 실시예에서, 상기 복수의 가중치들을 설정하는 동작은, 상기 복수의 객체들 중 인물 객체에 대하여 다른 객체 보다 높은 가중치를 설정하는 동작을 포함할 수 있다.
다양한 실시예에서, 상기 복수의 객체들 중 인물 객체에 대하여 다른 객체 보다 높은 가중치를 설정하는 동작은, 복수의 인물 객체들 중에서 상기 전자 장치(101)의 사용자에 대응하는 인물 객체에 대하여 가장 높은 가중치를 설정하는 동작을 포함할 수 있다.
다양한 실시예에서, 상기 카메라 모듈(320)의 노출을 제어하는 동작은, 상기 적어도 하나의 영역의 밝기 및 상기 적어도 하나의 가중치에 기반하여, 상기 이미지의 밝기를 획득하는 동작, 상기 이미지의 밝기 및 타겟 밝기에 기반하여, 상기 카메라 모듈(320)의 노출 값을 결정하는 동작, 및 상기 카메라 모듈(320)의 노출 값에 기반하여, 상기 카메라 모듈(320)의 노출을 제어하는 동작을 포함할 수 있다.
다양한 실시예에서, 상기 방법은, 상기 적어도 하나의 객체가 지정된 객체를 포함하는지 여부를 확인하는 동작, 상기 적어도 하나의 객체가 상기 지정된 객체를 포함하는 경우, 상기 이미지 내에서 객체를 기준으로 상기 카메라 모듈(320)의 노출을 제어할 것을 결정하는 동작, 및 상기 적어도 하나의 객체가 상기 지정된 객체를 포함하지 않는 경우, 상기 이미지 내에서 중심 영역을 기준으로 상기 카메라 모듈(320)의 노출을 제어할 것을 결정하는 동작을 더 포함할 수 있다.
다양한 실시예에서, 상기 방법은 상기 적어도 하나의 제 1 영역의 위치 변화량을 검출하는 동작을 더 포함하고, 상기 카메라 모듈(320)의 노출을 제어하는 동작은, 상기 적어도 하나의 제 1 영역의 위치 변화량에 기반하여, 상기 카메라 모듈(320)의 셔터 속도를 설정하는 동작을 포함할 수 있다.
다양한 실시예에서, 상기 방법은, 상기 적어도 하나의 객체가 지정된 객체를 포함하는지 여부를 확인하는 동작을 더 포함하고, 상기 카메라 모듈(320)의 노출을 제어하는 동작은, 상기 적어도 하나의 객체가 상기 지정된 객체를 포함하는 경우, 제 1 수렴 속도에 기반하여, 상기 카메라 모듈(320)의 노출을 제어하는 동작 및 상기 적어도 하나의 객체가 상기 지정된 객체를 포함하지 않는 경우, 상기 제 1 수렴 속도 보다 빠른 제 2 수렴 속도에 기반하여, 상기 카메라 모듈(320)의 노출을 제어하는 동작을 포함할 수 있다.
다양한 실시예에서, 상기 방법은, 상기 적어도 하나의 제 1 영역의 밝기 변화가 상기 적어도 하나의 객체의 움직임에 의한 밝기 변화 보다 적은지 여부를 확인하는 동작을 더 포함하고, 상기 카메라 모듈(320)의 노출을 제어하는 동작은, 상기 적어도 하나의 제 1 영역의 밝기 변화가 상기 적어도 하나의 객체의 움직임에 의한 밝기 변화 이하인 경우, 제 1 수렴 속도에 기반하여, 상기 카메라 모듈(320)의 노출을 제어하는 동작 및 상기 적어도 하나의 제 1 영역의 밝기 변화가 상기 적어도 하나의 객체의 움직임에 의한 밝기 변화 보다 큰 경우, 상기 제 1 수렴 속도 보다 빠른 제 2 수렴 속도에 기반하여, 상기 카메라 모듈(320)의 노출을 제어하는 동작을 포함할 수 있다.
다양한 실시예에서, 상기 방법은, 상기 카메라 모듈(320)의 노출을 제어한 후, 상기 카메라 모듈(320)을 통하여, 상기 이미지에 후속하는 후속 이미지를 획득하는 동작, 상기 후속 이미지에 포함된 지정된 객체에 대응하는 영역의 밝기를 획득하는 동작, 및 상기 영역의 밝기 및 상기 지정된 객체의 타겟 밝기에 기반하여, 상기 후속 이미지의 밝기를 보정하는 동작을 더 포함할 수 있다.
또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, CD-ROM, DVD 등)와 같은 저장매체를 포함한다.
Claims (15)
- 전자 장치에 있어서,카메라 모듈;메모리; 및상기 카메라 모듈 및 상기 메모리와 작동적으로 연결된 적어도 하나의 프로세서를 포함하고,상기 적어도 하나의 프로세서는,상기 카메라 모듈을 통하여 이미지를 획득하고,상기 이미지에 대한 세그멘테이션(segmentation)을 수행함으로써, 상기 이미지 내에서 상기 이미지에 포함된 적어도 하나의 객체 각각에 대응하는 적어도 하나의 영역을 확인하고,상기 적어도 하나의 영역의 밝기를 획득하고,상기 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 확인하고, 및상기 적어도 하나의 영역의 밝기 및 상기 적어도 하나의 가중치에 기반하여, 상기 카메라 모듈의 노출을 제어하도록 구성된 전자 장치.
- 제 1 항에 있어서,상기 적어도 하나의 프로세서는,상기 이미지에 대한 세그멘테이션을 수행함으로써, 상기 이미지에 포함된 적어도 하나의 객체를 검출하고, 상기 검출된 적어도 하나의 객체의 위치에 대한 정보를 획득하도록 구성된 전자 장치.
- 제 1 항에 있어서,상기 적어도 하나의 프로세서는,복수의 객체들 중 적어도 일부가 서로 다른 가중치들을 가지도록, 상기 복수의 객체들 각각에 대하여 복수의 가중치들을 설정하고, 및상기 복수의 객체들 및 상기 복수의 가중치들을 상기 메모리에 저장하도록 더 구성된 전자 장치.
- 제 3 항에 있어서,상기 적어도 하나의 프로세서는,상기 복수의 객체들 중 인물 객체에 대하여 다른 객체 보다 높은 가중치를 설정하도록 구성된 전자 장치.
- 제 1 항에 있어서,상기 적어도 하나의 프로세서는,상기 적어도 하나의 영역의 밝기 및 상기 적어도 하나의 가중치에 기반하여, 상기 이미지의 밝기를 획득하고,상기 이미지의 밝기 및 타겟(target) 밝기에 기반하여, 상기 카메라 모듈의 노출 값을 결정하고, 및상기 카메라 모듈의 노출 값에 기반하여, 상기 카메라 모듈의 노출을 제어하도록 구성된 전자 장치.
- 제 1 항에 있어서,상기 적어도 하나의 프로세서는,상기 적어도 하나의 객체가 지정된 객체를 포함하는지 여부를 확인하고,상기 적어도 하나의 객체가 상기 지정된 객체를 포함하는 경우, 상기 이미지 내에서 객체를 기준으로 상기 카메라 모듈의 노출을 제어할 것을 결정하고, 및상기 적어도 하나의 객체가 상기 지정된 객체를 포함하지 않는 경우, 상기 이미지 내에서 중심 영역을 기준으로 상기 카메라 모듈의 노출을 제어할 것을 결정하도록 더 구성된 전자 장치.
- 제 1 항에 있어서,상기 적어도 하나의 프로세서는, 상기 적어도 하나의 영역의 위치 변화량을 검출하도록 더 구성되고,상기 적어도 하나의 프로세서는, 상기 적어도 하나의 영역의 위치 변화량에 기반하여, 상기 카메라 모듈의 셔터 속도를 설정하도록 구성된 전자 장치.
- 제 1 항에 있어서,상기 적어도 하나의 프로세서는, 상기 적어도 하나의 객체가 지정된 객체를 포함하는지 여부를 확인하도록 더 구성되고,상기 적어도 하나의 프로세서는,상기 적어도 하나의 객체가 상기 지정된 객체를 포함하는 경우, 제 1 수렴 속도에 기반하여, 상기 카메라 모듈의 노출을 제어하고, 및상기 적어도 하나의 객체가 상기 지정된 객체를 포함하지 않는 경우, 상기 제 1 수렴 속도 보다 빠른 제 2 수렴 속도에 기반하여, 상기 카메라 모듈의 노출을 제어하도록 구성된 전자 장치.
- 제 1 항에 있어서,상기 적어도 하나의 프로세서는, 상기 적어도 하나의 영역의 밝기 변화가 상기 적어도 하나의 객체의 움직임에 의한 밝기 변화 보다 적은지 여부를 확인하도록 더 구성되고,상기 적어도 하나의 프로세서는,상기 적어도 하나의 영역의 밝기 변화가 상기 적어도 하나의 객체의 움직임에 의한 밝기 변화 이하인 경우, 제 1 수렴 속도에 기반하여, 상기 카메라 모듈의 노출을 제어하고, 및상기 적어도 하나의 영역의 밝기 변화가 상기 적어도 하나의 객체의 움직임에 의한 밝기 변화 보다 큰 경우, 상기 제 1 수렴 속도 보다 빠른 제 2 수렴 속도에 기반하여, 상기 카메라 모듈의 노출을 제어하도록 구성된 전자 장치.
- 제 1 항에 있어서,상기 적어도 하나의 프로세서는,상기 카메라 모듈의 노출을 제어한 후, 상기 카메라 모듈을 통하여, 상기 이미지에 후속하는 후속 이미지를 획득하고,상기 후속 이미지에 포함된 지정된 객체에 대응하는 영역의 밝기를 획득하고, 및상기 영역의 밝기 및 상기 지정된 객체의 타겟 밝기에 기반하여, 상기 후속 이미지의 밝기를 보정하도록 구성된 전자 장치.
- 전자 장치에서 이미지를 제공하는 방법에 있어서,상기 전자 장치의 카메라 모듈을 통하여 이미지를 획득하는 동작;상기 이미지에 대한 세그멘테이션을 수행함으로써, 상기 이미지 내에서 상기 이미지에 포함된 적어도 하나의 객체 각각에 대응하는 적어도 하나의 영역을 확인하는 동작;상기 적어도 하나의 영역의 밝기를 획득하는 동작;상기 적어도 하나의 객체 각각에 대응하는 적어도 하나의 가중치를 확인하는 동작; 및상기 적어도 하나의 영역의 밝기 및 상기 적어도 하나의 가중치에 기반하여, 상기 카메라 모듈의 노출을 제어하는 동작을 포함하는 방법.
- 제 11 항에 있어서,상기 적어도 하나의 영역을 확인하는 동작은,상기 이미지에 대한 세그멘테이션을 수행함으로써, 상기 이미지에 포함된 적어도 하나의 객체를 검출하고, 상기 검출된 적어도 하나의 객체의 위치에 대한 정보를 획득하는 동작을 포함하는 방법.
- 제 11 항에 있어서,상기 복수의 객체들 중 적어도 일부가 서로 다른 가중치들을 가지도록, 상기 복수의 객체들 각각에 대하여 복수의 가중치들을 설정하는 동작; 및상기 복수의 객체들 및 상기 복수의 가중치들을 상기 전자 장치의 메모리에 저장하는 동작을 더 포함하는 방법.
- 제 13 항에 있어서,상기 복수의 가중치들을 설정하는 동작은,상기 복수의 객체들 중 인물 객체에 대하여 다른 객체 보다 높은 가중치를 설정하는 동작을 포함하는 방법.
- 제 11 항에 있어서,상기 카메라 모듈의 노출을 제어하는 동작은,상기 적어도 하나의 영역의 밝기 및 상기 적어도 하나의 가중치에 기반하여, 상기 이미지의 밝기를 획득하는 동작;상기 이미지의 밝기 및 타겟 밝기에 기반하여, 상기 카메라 모듈의 노출 값을 결정하는 동작; 및상기 카메라 모듈의 노출 값에 기반하여, 상기 카메라 모듈의 노출을 제어하는 동작을 포함하는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/754,896 US20240348936A1 (en) | 2022-01-27 | 2024-06-26 | Method for providing image, and electronic device for supporting same |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0012537 | 2022-01-27 | ||
KR20220012537 | 2022-01-27 | ||
KR10-2022-0016487 | 2022-02-08 | ||
KR1020220016487A KR20230115827A (ko) | 2022-01-27 | 2022-02-08 | 이미지를 제공하는 방법 및 이를 지원하는 전자 장치 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/754,896 Continuation US20240348936A1 (en) | 2022-01-27 | 2024-06-26 | Method for providing image, and electronic device for supporting same |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023146149A1 true WO2023146149A1 (ko) | 2023-08-03 |
Family
ID=87471796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/000169 WO2023146149A1 (ko) | 2022-01-27 | 2023-01-04 | 이미지를 제공하는 방법 및 이를 지원하는 전자 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240348936A1 (ko) |
WO (1) | WO2023146149A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060003390A (ko) * | 2004-07-06 | 2006-01-11 | 삼성전자주식회사 | 자동 노출 보정 방법 및 보정 장치 |
KR101352349B1 (ko) * | 2006-01-30 | 2014-01-15 | 소니 주식회사 | 노출 제어장치 및 촬상 장치 |
KR101812807B1 (ko) * | 2011-06-29 | 2017-12-27 | 엘지이노텍 주식회사 | 영역별 가중치를 기반으로 한 적응형 자동 노출 제어 방법 |
KR20180086646A (ko) * | 2017-01-23 | 2018-08-01 | 주식회사 아이디스 | 카메라의 적응적 노출 제어 장치 |
US20190012776A1 (en) * | 2017-07-10 | 2019-01-10 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Regulation method, terminal equipment and non-transitory computer-readable storage medium for automatic exposure control of region of interest |
-
2023
- 2023-01-04 WO PCT/KR2023/000169 patent/WO2023146149A1/ko unknown
-
2024
- 2024-06-26 US US18/754,896 patent/US20240348936A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060003390A (ko) * | 2004-07-06 | 2006-01-11 | 삼성전자주식회사 | 자동 노출 보정 방법 및 보정 장치 |
KR101352349B1 (ko) * | 2006-01-30 | 2014-01-15 | 소니 주식회사 | 노출 제어장치 및 촬상 장치 |
KR101812807B1 (ko) * | 2011-06-29 | 2017-12-27 | 엘지이노텍 주식회사 | 영역별 가중치를 기반으로 한 적응형 자동 노출 제어 방법 |
KR20180086646A (ko) * | 2017-01-23 | 2018-08-01 | 주식회사 아이디스 | 카메라의 적응적 노출 제어 장치 |
US20190012776A1 (en) * | 2017-07-10 | 2019-01-10 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Regulation method, terminal equipment and non-transitory computer-readable storage medium for automatic exposure control of region of interest |
Also Published As
Publication number | Publication date |
---|---|
US20240348936A1 (en) | 2024-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020091262A1 (ko) | 인공 신경망을 이용한 이미지 처리 방법 및 이를 지원하는 전자 장치 | |
WO2022010122A1 (ko) | 영상을 제공하는 방법 및 이를 지원하는 전자 장치 | |
WO2022139262A1 (ko) | 관심 객체를 이용하여 비디오를 편집하는 전자 장치 및 그 동작 방법 | |
WO2022102972A1 (ko) | 이미지 센서를 포함하는 전자 장치 및 그 동작 방법 | |
WO2022154387A1 (ko) | 전자 장치 및 그의 동작 방법 | |
WO2022149654A1 (ko) | 흔들림 보정을 수행하는 전자 장치 및 그 동작 방법 | |
WO2022203285A1 (ko) | 이미지 안정화 어셈블리를 포함하는 카메라 모듈 및 상기 카메라 모듈을 포함하는 전자 장치 | |
WO2022108201A1 (ko) | 영상을 제공하는 방법 및 이를 지원하는 전자 장치 | |
WO2022045702A1 (ko) | 이미지 안정화 어셈블리, 카메라 모듈 및 이를 포함하는 전자 장치 | |
WO2021256709A1 (ko) | 전자 장치 및 전자 장치의 동작 방법 | |
WO2023063608A1 (ko) | 이미지를 제공하는 방법 및 이를 지원하는 전자 장치 | |
WO2022260252A1 (ko) | 카메라 모듈을 포함하는 전자 장치 및 그 전자 장치의 동작 방법 | |
WO2023033333A1 (ko) | 복수의 카메라를 포함하는 전자 장치 및 그 동작 방법 | |
WO2023018201A1 (ko) | 이미지 안정화를 수행하는 전자 장치 및 그의 동작 방법 | |
WO2022149812A1 (ko) | 카메라 모듈을 포함하는 전자 장치 및 그 전자 장치의 동작 방법 | |
WO2022114789A1 (ko) | 광량을 획득하는 전자 장치 및 방법 | |
WO2022139238A1 (ko) | 이미지를 제공하는 방법 및 이를 지원하는 전자 장치 | |
WO2021210875A1 (ko) | 다중 포토다이오드 센서에 의해 획득된 서브 이미지들의 차이에 기반하여 이미지의 결함을 검출하는 전자 장치 및 이의 동작 방법 | |
WO2023146149A1 (ko) | 이미지를 제공하는 방법 및 이를 지원하는 전자 장치 | |
WO2024029706A1 (ko) | 자동 노출 제어를 수행하는 전자 장치, 그 제어 방법, 및 컴퓨터 프로그램이 기록된 기록매체 | |
WO2024014761A1 (ko) | 카메라 흔들림을 보정하기 위한 방법 및 이를 지원하는 전자 장치 | |
WO2024090803A1 (ko) | 이미지를 제공하는 방법 및 이를 지원하는 전자 장치 | |
WO2022154168A1 (ko) | 자동 초점 조절이 가능한 전자 장치 및 그 동작 방법 | |
WO2022203447A1 (ko) | 이미지 센서를 포함하는 전자 장치 및 그 동작 방법 | |
WO2022154388A1 (ko) | 전자 장치 및 그의 이미지 처리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23747194 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |