WO2024043557A1 - 이미지를 합성하기 위한 방법 및 이를 지원하는 전자 장치 - Google Patents
이미지를 합성하기 위한 방법 및 이를 지원하는 전자 장치 Download PDFInfo
- Publication number
- WO2024043557A1 WO2024043557A1 PCT/KR2023/010953 KR2023010953W WO2024043557A1 WO 2024043557 A1 WO2024043557 A1 WO 2024043557A1 KR 2023010953 W KR2023010953 W KR 2023010953W WO 2024043557 A1 WO2024043557 A1 WO 2024043557A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- processor
- electronic device
- area
- objects
- Prior art date
Links
- 230000002194 synthesizing effect Effects 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 title claims description 67
- 239000000203 mixture Substances 0.000 claims abstract description 85
- 239000002131 composite material Substances 0.000 claims description 50
- 230000000694 effects Effects 0.000 claims description 41
- 230000033001 locomotion Effects 0.000 claims description 32
- 230000008859 change Effects 0.000 claims description 15
- 238000013145 classification model Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 description 49
- 230000001629 suppression Effects 0.000 description 43
- 230000006870 function Effects 0.000 description 15
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000013473 artificial intelligence Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000000638 stimulation Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013527 convolutional neural network 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
- 230000004044 response Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000003442 weekly effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 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
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003155 kinesthetic effect Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- -1 suppression moon (x Chemical compound 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
-
- 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
-
- 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/95—Computational photography systems, e.g. light-field imaging systems
- H04N23/951—Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/265—Mixing
Definitions
- This disclosure relates to a method for compositing images and an electronic device supporting the same.
- UIs user interfaces
- various applications that can be run on mobile terminals are being developed. For example, a video compositing application downloaded by a user through a wireless Internet service provides the function of compositing various hairstyles into photos taken by the user.
- One embodiment of the present disclosure aims to provide a synthesized image through a display module by combining a virtual celestial body image with a night view image acquired by a camera module.
- the purpose of the present disclosure is not limited to the content described above.
- an electronic device may include a camera module, a display module, and at least one processor operatively connected to the camera module and the display module.
- the at least one processor may identify one or more objects within the first image.
- the at least one processor generates at least one map related to pixel values of a first region of the first image, based on pixel values of regions corresponding to each of the identified one or more objects. You can decide.
- the at least one processor may generate the second image based on at least one of metadata of the first image, a user input for determining the composition of the second image, or a 3D model. .
- the at least one processor may change pixel values of at least a partial area of the second image corresponding to the first area based on the determined at least one map. In one embodiment, the at least one processor may obtain a third image by combining a second image with the changed pixel value with a second area of the first image. In one embodiment, the at least one processor may be configured to display the third image through the display module.
- a method of synthesizing an image of an electronic device may include identifying one or more objects in a first image.
- the method includes determining at least one map associated with a pixel value of a first region of the first image, based on pixel values of regions corresponding to each of the identified one or more objects. may include.
- the method may include generating a second image based on at least one of metadata of the first image, a user input for determining the composition of the second image, or a three-dimensional model. there is.
- the method may include changing pixel values of at least a partial region of the second image corresponding to the first region based on the determined at least one map.
- the method may include obtaining a third image by combining a second image with the changed pixel value into a second area of the first image.
- the method may include displaying the third image through a display module.
- the instructions may be set to cause the electronic device to perform at least one operation when executed by at least one circuit of the electronic device.
- the at least one operation may include identifying one or more objects in the first image.
- the at least one operation includes determining at least one map associated with a pixel value of a first region of the first image, based on pixel values of regions corresponding to each of the identified one or more objects. can do.
- the at least one operation may include generating a second image based on at least one of metadata of the first image, a user input for determining the composition of the second image 440, or a three-dimensional model. You can.
- the at least one operation may include changing a pixel value of at least a partial area of the second image corresponding to the first area based on the determined at least one map.
- the at least one operation may include obtaining a third image by combining a second image with the changed pixel value into a second area of the first image.
- the at least one operation may include displaying the third image through a display module.
- the means for solving the problem according to an embodiment of the present disclosure are not limited to the above-mentioned solution means, and the solution methods not mentioned may be used by those skilled in the art from the present specification and the attached drawings. You will be able to understand it clearly.
- FIG. 1 is a block diagram of an electronic device in a network environment according to an embodiment of the present disclosure.
- Figure 2 is a block diagram for explaining an electronic device according to an embodiment of the present disclosure.
- FIG. 3 is a flowchart illustrating an operation of acquiring a composite image of an electronic device according to an embodiment of the present disclosure.
- FIG. 4 is an example diagram illustrating an operation of an electronic device acquiring a third image from a first image according to an embodiment of the present disclosure.
- FIG. 5 is a flowchart illustrating an operation in which an electronic device acquires a suppression map for determining a pixel value of a second image from a first image, according to an embodiment of the present disclosure.
- FIG. 6 is a flowchart illustrating an operation of an electronic device combining a first image and a second image based on information obtained from the first image, according to an embodiment of the present disclosure.
- FIG. 7 is a flowchart illustrating an operation in which an electronic device adjusts the composition of a second image based on a user input, according to an embodiment of the present disclosure.
- FIG. 8 is an example diagram illustrating an operation of an electronic device adjusting the composition of a second image based on a user input, according to an embodiment of the present disclosure.
- FIG. 9 is an example diagram illustrating an operation of changing an effect applied to a recommended image by an electronic device according to an embodiment of the present disclosure.
- FIG. 10 is a flowchart illustrating an operation in which an electronic device acquires a composite image based on a plurality of input images according to an embodiment of the present disclosure.
- FIG. 11 is an example diagram illustrating an operation in which an electronic device acquires a composite image based on a plurality of input images according to an embodiment of the present disclosure.
- FIG. 12 is a flowchart illustrating an operation in which an electronic device acquires a composite image to which a diurnal motion effect is applied, according to an embodiment of the present disclosure.
- FIG. 13 is an example diagram illustrating an operation of an electronic device acquiring a composite image to which a diurnal movement effect is applied, according to an embodiment of the present disclosure.
- FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 according to an embodiment of the present disclosure.
- the electronic device 101 communicates with the electronic device 102 through a first network 198 (e.g., a short-range wireless communication network) or a second network 199. It is possible to communicate with at least one of the electronic device 104 or the server 108 through (e.g., a long-distance wireless communication network). According to one embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108.
- a first network 198 e.g., a short-range wireless communication network
- a second network 199 e.g., a long-distance wireless communication network.
- 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, and 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 may include an antenna module 197.
- at least one of these components eg, the connection terminal 178) may be omitted or one or more other components may be added to the electronic device 101.
- some of these components e.g., sensor module 176, camera module 180, or antenna module 197) are integrated into one component (e.g., display module 160). It can be.
- the processor 120 for example, executes software (e.g., program 140) to operate at least one other component (e.g., hardware or software component) of the electronic device 101 connected to the processor 120. It can be controlled and various data processing or calculations can be performed. According to one embodiment, as at least part of data processing or computation, the processor 120 stores instructions or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132. The commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
- software e.g., program 140
- the processor 120 stores instructions or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132.
- the commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
- the processor 120 includes the main processor 121 (e.g., a central processing unit or an application processor) or an auxiliary processor 123 that can operate independently or together (e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor).
- the main processor 121 e.g., a central processing unit or an application processor
- an auxiliary processor 123 e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor.
- the electronic device 101 includes a main processor 121 and a secondary processor 123
- the secondary processor 123 may be set to use lower power than the main processor 121 or be specialized for a designated function. You can.
- the auxiliary processor 123 may be implemented separately from the main processor 121 or as part of it.
- the auxiliary processor 123 may, for example, act on behalf of the main processor 121 while the main processor 121 is in an inactive (e.g., sleep) state, or while the main processor 121 is in an active (e.g., application execution) state. ), together with the main processor 121, at least one of the components of the electronic device 101 (e.g., the display module 160, the sensor module 176, or the communication module 190) At least some of the functions or states related to can be controlled.
- co-processor 123 e.g., image signal processor or communication processor
- may be implemented as part of another functionally related component e.g., camera module 180 or communication module 190. there is.
- the auxiliary processor 123 may include a hardware structure specialized for processing artificial intelligence models.
- Artificial intelligence models can be created through machine learning. For example, such learning may be performed in the electronic device 101 itself on which the artificial intelligence model is performed, or may be performed through a separate server (e.g., server 108).
- Learning algorithms may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but It is not limited.
- An artificial intelligence model may include multiple artificial neural network layers.
- Artificial neural networks include deep neural network (DNN), convolutional neural network (CNN), recurrent neural network (RNN), restricted boltzmann machine (RBM), belief deep network (DBN), bidirectional recurrent deep neural network (BRDNN), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the examples described above.
- artificial intelligence models may additionally or alternatively include software 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. Data may include, for example, input data or output data for software (e.g., program 140) and instructions related thereto.
- 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 application 146.
- the input module 150 may receive commands or data to be used in a component of the electronic device 101 (e.g., the processor 120) from outside the electronic device 101 (e.g., a user).
- the input module 150 may include, for example, a microphone, mouse, keyboard, keys (eg, buttons), or digital pen (eg, 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. Speakers can be used for general purposes such as multimedia playback or recording playback.
- the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.
- the display module 160 can 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 can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device (e.g., directly or wirelessly connected to the electronic device 101). Sound may be output through the electronic device 102 (e.g., speaker or headphone).
- the electronic device 102 e.g., speaker or headphone
- the sensor module 176 detects the operating state (e.g., power or temperature) of the electronic device 101 or the external environmental state (e.g., user state) and generates an electrical signal or data value corresponding to the detected state. can do.
- the sensor module 176 includes, 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 IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, humidity sensor, or light sensor.
- the interface 177 may support one or more designated protocols that can be used to connect the electronic device 101 directly or wirelessly with 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 can 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 can convert electrical signals into mechanical stimulation (e.g., vibration or movement) or electrical stimulation that the user can 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 can capture still images and moving images.
- the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
- the power management module 188 can manage power supplied to the electronic device 101.
- the power management module 188 may be implemented as at least a part of, for example, a power management integrated circuit (PMIC).
- 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 battery, a rechargeable secondary battery, or a fuel cell.
- Communication module 190 is configured to provide a direct (e.g., wired) communication channel or wireless communication channel between electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108). It can support establishment and communication through established communication channels. Communication module 190 operates independently of processor 120 (e.g., an application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication.
- processor 120 e.g., an application processor
- the communication module 190 may be a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., : LAN (local area network) communication module, or power line communication module) may be included.
- a wireless communication module 192 e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
- GNSS global navigation satellite system
- wired communication module 194 e.g., : LAN (local area network) communication module, or power line communication module
- the corresponding communication module is a first network 198 (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (e.g., legacy It may communicate with an external electronic device 104 through a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
- a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
- a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
- a telecommunication network such as a cellular network, a 5G network, a next-generation communication network
- the wireless communication module 192 uses subscriber information (e.g., 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 e.g., International Mobile Subscriber Identifier (IMSI)
- IMSI International Mobile Subscriber Identifier
- the wireless communication module 192 may support 5G networks after 4G networks and next-generation communication technologies, for example, NR access technology (new radio access technology).
- NR access technology provides high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and access to multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low latency). -latency communications)) can be supported.
- the wireless communication module 192 may support high frequency bands (eg, mmWave bands), for example, to achieve high data rates.
- the wireless communication module 192 uses various technologies to secure performance in high frequency bands, for example, beamforming, massive array multiple-input and multiple-output (MIMO), and full-dimensional multiplexing. It can support technologies such as input/output (FD-MIMO: full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna.
- the wireless communication module 192 may support various requirements specified in the electronic device 101, an external electronic device (e.g., electronic device 104), or a network system (e.g., second network 199).
- the wireless communication module 192 supports Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mmTC, or U-plane latency (e.g., 164 dB or less) for realizing URLLC.
- Peak data rate e.g., 20 Gbps or more
- loss coverage e.g., 164 dB or less
- U-plane latency e.g., 164 dB or less
- the antenna module 197 may transmit or receive signals or power to or from the outside (eg, an external electronic device).
- the antenna module 197 may include an antenna including a radiator made 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 connected to the plurality of antennas by, for example, the communication module 190. can be selected. Signals or power may be transmitted or received between the communication module 190 and an external electronic device through the at least one selected antenna.
- other components eg, radio frequency integrated circuit (RFIC) may be additionally formed as part of the antenna module 197.
- RFIC radio frequency integrated circuit
- the antenna module 197 may form a mmWave antenna module.
- a mmWave antenna module includes: a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band. can do.
- a mmWave antenna module includes: a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side)
- peripheral devices e.g., 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 of the same or different type as the electronic device 101.
- all or part of the operations performed in the electronic device 101 may be executed in one or more of the external electronic devices 102, 104, or 108.
- the electronic device 101 may perform the function or service instead of executing the function or service on its own.
- one or more external electronic devices may be requested to perform at least part of the function or service.
- One or more external electronic devices that have received the request may execute at least part of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device 101.
- the electronic device 101 may process the result as is or additionally and provide it as at least part of a response to the request.
- cloud computing distributed computing, mobile edge computing (MEC), or client-server computing technology can 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.
- 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 (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
- FIG. 2 is a block diagram for explaining an electronic device 200 according to an embodiment of the present disclosure.
- the electronic device 200 (e.g., the electronic device 101 of FIG. 1) includes a camera module 210, a display module 220, a memory 230, and a processor 240. ) may include.
- camera module 210 may be included in camera module 180 of FIG. 1 .
- display module 220 may be included in display module 160 of FIG. 1 .
- the display module 220 may display an image acquired by the camera module 210.
- the display module 220 may display dynamic images (eg, preview images, moving images) and/or still images acquired by the camera module 210.
- memory 230 may be included in memory 130 of FIG. 1 .
- the memory 230 may store a three-dimensional model including the positions and directions of celestial bodies with respect to the electronic device 200 . Information stored by the memory 230 will be described later.
- processor 240 may be included in processor 120 of FIG. 1 .
- the processor 240 may control the overall operation for compositing a virtual image with the image acquired by the camera module 210.
- processor 240 may include one or more processors for compositing images.
- One or more processors may be operatively connected to memory 230, camera module 210, and display module 220. Operations performed by the processor 240 to synthesize images will be described later with reference to FIGS. 3 to 13.
- the electronic device 200 is illustrated as including a camera module 210, a display module 220, a memory 230, and/or a processor 240, but is not limited thereto.
- the electronic device 200 may further include at least one configuration shown in FIG. 1 .
- the electronic device 200 may further include a communication module (eg, the communication module 190 of FIG. 1).
- the electronic device 200 may receive data for updating the 3D model from an external electronic device (eg, the electronic device 104 of FIG. 1).
- FIG. 3 is a flowchart 300 for explaining an operation of acquiring a composite image of the electronic device 200 according to an embodiment of the present disclosure.
- each operation may be performed sequentially, but is not necessarily performed sequentially.
- the order of each operation may be changed, and at least two operations may be performed in parallel.
- operations 301 to 311 may be understood as being performed by a processor (e.g., processor 240 of FIG. 2) of an electronic device (e.g., electronic device 200 of FIG. 2).
- a processor e.g., processor 240 of FIG. 2
- an electronic device e.g., electronic device 200 of FIG. 2.
- processor 240 may identify one or more objects within the first image.
- the first image may be an image acquired by a camera module (eg, camera module 210 of FIG. 2).
- the first image may be an image stored in a memory (eg, memory 230 of FIG. 2).
- the first image may be an image received from an external electronic device (e.g., electronic device 102 of FIG. 1) through a first network (e.g., first network 198 of FIG. 1). .
- the first image is received from an external electronic device (e.g., electronic device 104 or server 108 of FIG. 1) through a second network (e.g., second network 199 of FIG. 1). It could be just one image.
- the means for acquiring the first image is not limited to the examples described above.
- processor 240 may identify one or more objects within the first image based on image segmentation.
- the first image may be a static image acquired by the camera module 210.
- the first image may be a dynamic image acquired by the camera module 210.
- the processor 240 may obtain labels corresponding to one or more objects included in the first image by inputting the first image into a previously learned object recognition model.
- the object recognition model may be trained in advance using pre-collected images as training data to output labels corresponding to one or more objects included in the images.
- the learned object recognition model can identify objects included in each region by dividing the input image into a plurality of regions.
- objects included in the first image may include at least one of sky, clouds, moon, lighting, and ground.
- the processor 240 may classify areas of the first image into areas corresponding to one or more objects recognized within the first image. In one embodiment, the processor 240 may classify regions of the first image into a sky region, a cloud region, a moon region, an illumination region, and a non-ROI (non region of interest) region.
- Objects identified by the object recognition model are not limited to the examples described above. In one embodiment, the objects identified by the object recognition model may include objects such as the ocean, mountains, or lakes.
- processor 240 may determine a map associated with pixel values of a first region of the first image.
- the processor 240 may determine a map for adjusting pixel values of a surrounding area of a preset object among one or more objects included in the first image.
- the first area may be a surrounding area of a preset object.
- Preset objects may include clouds, the moon, and lighting.
- the processor 240 may determine a suppression map to adjust pixel values of the surrounding area according to the brightness values of the cloud area, the moon area, and the lighting area.
- a map for adjusting pixel values may be referred to as a “suppression map.”
- the size of the suppression map may be substantially the same as the size of the first image.
- the processor 240 may determine a suppression map corresponding to the object based on the relative position of the pixel with respect to the object and the Hue-Saturation-Value (HSV) value.
- HSV Hue-Saturation-Value
- processor 240 may analyze the first image to determine at least one suppression map for adjusting pixel values.
- the processor 240 may obtain information related to synthesis of the first image by analyzing the first image.
- the processor 240 may obtain pixel values for each identified area.
- processor 240 may traverse the identified regions to extract a representative (e.g., median, mode, or average) brightness value for each region.
- the processor 240 may determine at least one suppression map corresponding to each area based on brightness values of areas containing preset objects. In one embodiment, when processor 240 identifies at least one of a moon region, an illuminated region, and a cloud region, it may generate at least one suppression map corresponding to the identified region.
- the processor 240 may generate a suppression map for at least one of the moon area and the lighting area.
- the suppression map for the moon area or lighting area may include information about the relative position and brightness distribution of pixels located in the surrounding area, with the moon area or lighting area as the center.
- the processor 240 may reduce the brightness value of the surrounding area as the brightness value of the moon area or lighting area increases. As the brightness value of the moon area or lighting area increases, the processor 240 may relatively increase the area of the area where the brightness value is reduced. The processor 240 may relatively reduce the brightness value of the surrounding area as the distance to the moon area or lighting area becomes closer.
- processor 240 may generate a suppression map for a cloud area.
- the processor 240 may calculate a brightness value representative (e.g., median, mode, or average) of a sky area separated by a preset radius from the cloud area.
- the processor 240 may reduce the brightness value of pixels located around the cloud area based on the difference between the representative brightness value of the sky area surrounding the cloud area and the brightness value of the cloud area.
- the processor 240 may relatively reduce the brightness value of pixels located in the surrounding area as the difference in brightness values increases.
- processor 240 generates a second image based on at least one of metadata of the first image, user input to determine the composition of the second image, or a three-dimensional model. You can.
- the processor 240 may acquire the second image based on a user input and a 3D model for determining the composition of the second image.
- the user input may include information about right ascension, declination, and angle for acquiring the second image.
- user input may include information regarding GPS information, date, time, and viewing direction.
- the processor 240 may store one or more pre-generated second images.
- the processor 240 obtains (or estimates) the composition of the first image based on the shooting date, latitude, longitude, and rotation angles of the horizontal axis, vertical axis, and vertical axis with respect to the earth's surface included in the first image. can do.
- the metadata of the first image may include the capture date and time of the first image, GPS information of the first image, and gyro sensor information obtained when the first image was captured.
- the processor 240 may obtain information on the time when the first image was captured based on the capture date and time included in the first image.
- the processor 240 may obtain location information where the first image was captured based on GPS information included in the first image.
- the processor 240 may obtain (or calculate) latitude and longitude corresponding to location information where the first image was captured.
- the processor 240 may obtain the composition of an astronomical image observable at the time and place where the first image was taken, based on the date and time when the first image was taken, and the latitude and longitude of the place where the first image was taken. there is.
- the composition may include directional elements and angular elements.
- the processor 240 calculates pitch, yaw, and roll values corresponding to the first image based on gyro sensor information included in the first image. It can be obtained.
- the pitch value may be the rotation angle of the camera lens about the horizontal axis.
- the yaw value may be the rotation angle of the camera lens about the vertical axis.
- the roll value may be the rotation angle of the camera lens about the vertical axis.
- the processor 240 may obtain the direction and angle of the first image based on the pitch value, yaw value, and roll value corresponding to the first image.
- the processor 240 may obtain vertical direction information of the first image based on the pitch value.
- the processor 240 may obtain horizontal direction information of the first image based on the yaw value.
- the processor 240 may obtain angle information of the first image based on the roll value. In one embodiment, when the processor 240 fails to obtain metadata of the first image, the processor 240 generates an astronomical image based on the current time, gyro sensor information of the electronic device 200, and GPS information of the electronic device 200. The composition can be determined.
- the processor 240 (e.g., the electronic device 200 of FIG. 2) stores information about the positions and brightness of celestial bodies in the memory 230 (e.g., the memory of FIG. 1) based on actual celestial data. (130)).
- the processor 240 may store information about the positions and brightness of celestial bodies based on generating a virtual 3D spherical celestial body model.
- the processor 240 may generate a 3D model in the shape of a sphere such that the 3D model corresponds to a celestial sphere.
- the coordinates of the center of the spherical three-dimensional model may correspond to the position of the Earth on the celestial sphere.
- the processor 240 may determine the brightness values of the point light sources based on the apparent magnitude of the celestial bodies so that the point light sources located on the surface of the spherical three-dimensional model correspond to the celestial bodies.
- the actual magnitude of a celestial body may be the relative brightness value of the celestial body determined based on the absolute magnitude of the celestial body and the distance between the Earth and the celestial body.
- the processor 240 may determine the location of the point light source on the surface of the 3D model based on the right ascension and declination of the actual celestial body in the equatorial coordinate system.
- the processor 240 may confirm the locations of the point light sources from the 3D model by using GPS information of the first image, based on the determined location of the point light sources.
- the equatorial coordinate system may be a method of expressing the direction of a celestial body on the celestial sphere as right ascension and declination, based on the celestial equator and vernal equinox.
- the vernal equinox may be the point where the sun intersects the celestial equator as it passes from south to north along the ecliptic.
- the processor 240 may generate a second image by acquiring a partial area of the surface of the 3D model based on the composition of the acquired first image.
- the size of the second image may be substantially the same as the first image.
- the processor 240 generates a second image by extracting a surface area of substantially the same size as the first image from the three-dimensional model, based on the direction and angle included in the composition of the first image. You can.
- the processor 240 may acquire a second image including celestial bodies based on perspective projection.
- the processor 240 may project celestial bodies located on the surface of the 3D model onto an image plane that is substantially the same size as the first image, based on the composition of the first image.
- the processor 240 generates a second image based on the composition and three-dimensional model of the first image, thereby providing the effect of photographing an image of a celestial body observable from the center of the celestial sphere.
- the processor 240 transmits the composition of the first image to an external electronic device (e.g., the electronic device 104 or the server 108 of FIG. 1), and receives the composition of the first image from the external electronic device. Based on this, a second image extracted from the virtual 3D model may be received.
- the processor 240 may change pixel values of at least a partial region of the second image corresponding to the first region based on at least one suppression map.
- the processor 240 based on pixel values included in at least one of the suppression map for the illuminated area, the suppression map for the moon area, and the suppression map for the cloud area, selects the first area, The brightness value of at least some areas of the second image corresponding to may be reduced.
- the processor 240 may generate a hue map, saturation map, and value map for the second image based on pixel values of the second image.
- the size of each map generated from the second image may be the same as the size of the second image.
- the processor 240 may adjust the brightness value of the brightness map generated from the second image based on Equation 1.
- Equation 1 above is only an example to aid understanding, but is not limited thereto, and can be modified, applied, or expanded in various ways.
- the processor 240 calculates the pixel values of the adjusted brightness map (e.g., V in (x, y)) from the pixel values of the brightness map for the second image. V out (x, y)) can be obtained (or calculated).
- the processor 240 may adjust the total brightness value of the second image based on the total brightness value (eg, Bright input ) of the first image and a preset reference brightness value (eg, Bright ref ). A method by which the processor 240 adjusts the overall brightness value of the second image will be described later with reference to FIG. 6.
- processor 240 outputs pixel values of a suppression map for the moon (e.g., suppression moon (x, y)) and pixel values of a suppression map for the light (e.g., suppression light (x, y)). ), and pixel values of the suppression map for clouds (e.g., suppression cloud (x, y)), the pixel value of the brightness map may be reduced.
- the processor 240 may determine the pixel value of the brightness map in inverse proportion to the pixel value of the suppression maps. For example, referring to Equation 1, the processor 240 may reduce the pixel value of the brightness map to a relatively greater extent as the pixel value of the suppression map increases.
- the processor 240 may obtain a second image with the brightness value of a partial area adjusted by traversing the pixels of the brightness map.
- the processor 240 adjusts the pixel value of the brightness map for the second image based on the suppression maps obtained from the first image, thereby providing the effect of naturally blurring the celestial bodies located in the area corresponding to the first area. You can.
- the processor 240 may obtain a third image by combining a second image with changed pixel values with a second area of the first image.
- the processor 240 may obtain a third image by combining the second image, the brightness value of which is adjusted in operation 307, with the second area of the first image.
- the second area may be an area containing preset objects.
- objects included in the second area may be clouds and sky.
- the third image may be a composite image of the first image and the second image in the second area.
- the size of the third image may be substantially the same as the sizes of each of the first image and the second image.
- the processor 240 may synthesize a first image and a second image for an area corresponding to a preset object.
- the processor 240 may perform a weighted summation of the first image and the second image for an area including a cloud area and a sky area.
- the processor 240 may store weights for each of the first image and the second image in advance in the memory 230.
- the processor 240 not only displays celestial bodies on the first image acquired by the camera module 210 by combining the first image with a second image whose pixel values are adjusted, but also displays the pixel values on the first image. These adjusted celestial bodies can provide naturally composite images.
- images of areas within the third image excluding the second area may be substantially the same as images of areas within the first image excluding the second area.
- the processor 240 may display the synthesized third image through the display module (eg, the display module 220 of FIG. 3).
- the processor 240 may control the display module 220 to display a third image in which the second image is synthesized in the second area of the first image.
- the processor 240 can provide an image in which celestial bodies are synthesized on the first image without being limited by spatial or temporal constraints.
- FIG. 4 is an example diagram illustrating an operation in which an electronic device (e.g., the electronic device 200 of FIG. 2 ) acquires a third image 460 from the first image 410 according to an embodiment of the present disclosure. am.
- an electronic device e.g., the electronic device 200 of FIG. 2
- acquires a third image 460 from the first image 410 according to an embodiment of the present disclosure. am.
- the processor determines that the first image 410 acquired by a camera module (e.g., camera module 210 of FIG. 2) is an image that satisfies preset conditions. You can check whether it is recognized or not.
- the processor 240 may determine the first image 410 that satisfies the above conditions as an input image for compositing. A condition for determining the input image for the synthesis may be whether the image includes the night sky.
- the processor 240 may input the first image 410 into a previously learned image classification model. An image classification model can learn images containing various objects in advance. The learned image classification model may output one or more labels corresponding to one or more objects in the input image.
- the processor 240 may determine whether the first image 410 is an image including the night sky, based on one or more labels output from the image classification model.
- processor 240 may identify one or more objects within first image 410 based on determining that first image 410 is an image that includes a night sky. The processor 240 may identify one or more objects within the first image 410 according to operation 301 of FIG. 3 . In one embodiment, processor 240 may identify night sky 411, clouds 413, and illuminated buildings 415 included in first image 410 based on image segmentation. there is.
- the processor 240 may generate at least one suppression map 425 for at least one object among one or more objects identified in the first image 410.
- the processor 240 generates at least one suppression map 425 for at least one object that affects the brightness of the celestial bodies among the one or more objects identified in the first image 410.
- the processor 240 may perceive celestial bodies located in the area surrounding the buildings in the first image 410 as dark. The user may faintly recognize celestial bodies obscured by clouds 413 in the first image.
- the processor 240 uses a suppression map 425 for each of the clouds 413 and the buildings 415 to adjust the brightness values of at least some of the celestial objects included in the second image 440. ) can be created.
- the area containing at least one object that affects the brightness of the celestial bodies may be referred to as the “first area”.
- the processor 240 may extract (or obtain) images of areas 451 including preset objects from the first image 410 .
- the processor 240 may classify the first image 410 into areas 451 that include a preset object and areas 453 that do not include a preset object.
- areas containing preset objects may be referred to as “second areas.”
- the processor 240 may generate a mask image by excluding pixel values of areas 453 that do not contain a preset object from the first image 410.
- the processor 240 may generate a mask image from the first image 410 by extracting images of areas 451 including the night sky 411 and clouds 413.
- the processor 240 obtains a partial area of the surface of the 3D model 430 based on the metadata 421 included in the 3D model 430 and the first image 410.
- the second image 440 can be generated.
- the processor 240 may determine the composition of the first image 410 based on the metadata 421 according to operation 305 of FIG. 3 .
- the processor 240 may generate the second image 440 by projecting the surface of the 3D model 430 onto an image plane of substantially the same size as the first image 410 based on the determined composition.
- the processor 240 extracts observable celestial bodies at the time and place where the first image 410 was captured from the 3D model 430, thereby obtaining a realistic celestial image.
- the processor 240 may change the overall brightness value of the second image 440 based on the overall brightness value of the first image 410.
- the processor 240 may obtain (or extract) brightness values for pixels of the first image 410.
- the processor 240 may obtain the overall brightness value of the first image 410 by calculating representative (eg, median, mode, or average) values of brightness values of pixels.
- the processor 240 may determine the total brightness value of the second image 440 in inverse proportion to the total brightness value of the first image 410. For example, the processor 240 may relatively increase the overall brightness value of the second image 440 as the overall brightness value of the first image 410 decreases.
- the processor 240 may relatively reduce the overall brightness value of the second image 440 as the overall brightness value of the first image 410 increases.
- the processor 240 can obtain a more realistic astronomical image by adjusting the overall brightness value of the second image 440 based on the overall brightness value of the first image 410.
- the processor 240 may adjust the brightness value of at least a partial area of the second image 440 based on at least one suppression map corresponding to at least one object included in the first area. there is.
- the processor 240 may adjust pixel values of the brightness map for the second image 440 based on the suppression map according to operation 307 of FIG. 3 .
- processor 240 may adjust pixel values of the brightness map for the second image based on pixel values of the suppression map for clouds 413 and the suppression map for buildings 415. .
- the processor 240 may significantly reduce the pixel value of the brightness map corresponding to the area close to the clouds 413 and the buildings 415, based on the pixel value of each suppression map.
- the processor 240 may obtain a realistic astronomical image by adjusting the brightness value of a partial area of the second image 440 based on the suppression map obtained from the first image 410.
- the processor 240 may obtain (or generate) the third image 460 by combining the second image 440 with the second area 451 of the mask image 450.
- the processor 240 obtains the third image 460 by combining the second image 440 with the changed pixel value with the second area 451 of the first image 410 according to operation 309 of FIG. 3. You can.
- the processor 240 synthesizes the first image 410 and the second image 440 based on a weight calculation, so that the objects of the first image 410 and the celestial bodies of the second image 440 are naturally synthesized. 3 images 460 can be provided.
- FIG. 5 shows that the electronic device 200 according to an embodiment of the present disclosure displays a second image (e.g., the second image 440 of FIG. 4 ) from a first image (e.g., the first image 410 of FIG. 4 ).
- This is a flowchart 500 to explain the operation of obtaining a suppression map for determining the pixel value of )).
- each operation may be performed sequentially, but is not necessarily performed sequentially.
- the order of each operation may be changed, and at least two operations may be performed in parallel.
- operations 501 to 505 may be understood as being performed by a processor (e.g., processor 240 of FIG. 2) of an electronic device (e.g., electronic device 200 of FIG. 2).
- a processor e.g., processor 240 of FIG. 2
- an electronic device e.g., electronic device 200 of FIG. 2.
- the processor 240 may obtain the overall brightness value of the first image 410.
- the processor 240 may obtain (or extract) brightness values for pixels of the first image 410.
- the processor 240 may obtain HSV values of the pixels of the first image 410 by traversing them.
- the processor 240 may obtain the brightness value of each pixel from the HSV value of the pixels.
- the processor 240 may obtain the overall brightness value of the first image 410 by calculating representative (eg, median, mode, or average) values of brightness values of pixels.
- the processor 240 may obtain a mask image (eg, mask image 450 of FIG. 4) for the first image 410.
- a mask image eg, mask image 450 of FIG. 4
- the processor 240 may extract (or obtain) images of areas (e.g., the second area 451 in FIG. 4) containing preset objects from the first image 410. there is. In one embodiment, the processor 240 excludes pixel values of areas (e.g., areas 453 in FIG. 4) that do not contain a preset object from the first image 410. , the mask image 450 can be obtained (or generated). For example, processor 240 may generate mask image 450 from first image 410 by extracting images of areas 451 including night sky 411 and clouds 413. there is.
- the processor 240 may determine at least one suppression map corresponding to at least one preset object among the objects identified in the first image 410.
- the operation of the processor 240 determining the suppression map may correspond to operation 303 of FIG. 3 .
- the processor 240 may provide information for adjusting (or processing) an astronomical image (e.g., the second image 440 of FIG. 4) based on at least one of operations 501, 503, and 505. .
- FIG. 6 shows that the electronic device 200 (e.g., the processor 240 of FIG. 2) according to an embodiment of the present disclosure displays the first image 410 and
- the processor 240 may adjust the overall brightness value of the second image 440.
- the processor 240 may adjust the overall brightness value of the second image 440 based on the overall brightness value of the first image 410 .
- the processor 240 may decrease the brightness value of the second image 440 as the overall brightness value of the first image 410 increases.
- the processor 240 may increase the brightness value of the second image 440 as the overall brightness value of the first image 410 decreases.
- the processor 240 may obtain a ratio of the brightness value of the first image 410 to a preset reference brightness value.
- the processor 240 may adjust the overall brightness value of the second image 440 by multiplying each pixel of the brightness map obtained from the second image 440 by the brightness value ratio.
- the processor 240 may determine the brightness value of a partial area of the second image 440 based on the suppression map.
- the operation of the processor 240 determining the brightness value of a partial area of the second image 440 based on the suppression map may correspond to operation 307.
- the processor 240 may obtain a realistic astronomical image by adjusting the brightness value of a partial area of the second image 440 based on the suppression map obtained from the first image 410.
- the processor 240 may composite the first image 410 and the second image 440 with respect to the mask area.
- the processor 240 excludes (or deletes) pixel values of an area excluding a preset object in the first image 410, thereby creating a mask area (e.g., including the preset object in FIG. 4).
- Area 451) can be acquired.
- the processor 240 may acquire pixel values of an area including a night sky (e.g., night sky 411 in FIG. 4) and clouds (e.g., clouds 413 in FIG. 4).
- the processor 240 may weightly add the second image 440, whose brightness value has been adjusted, to the first image 410 with respect to the mask area.
- the processor 240 may use the pixel value of the first image 410 as is for the area excluding the mask area.
- the processor 240 may synthesize a night scene image of the first image 410 and a celestial body image of the second image 440 for an area including the night sky 411 and clouds 413. .
- the processor 240 may adjust the brightness value of the boundary of the mask area.
- the processor 240 adjusts the brightness value of an area corresponding to the boundary of the mask area within the synthesized image according to operation 605, thereby creating a third image (e.g., the second image 460 of FIG. 3). ) can be obtained.
- the processor 240 may obtain the average brightness value of surrounding pixels located inside and outside the mask area.
- the processor 240 may adjust the brightness values of pixels located at the boundary based on representative (e.g., median, mode, or average) brightness values of surrounding pixels.
- the operation of adjusting the brightness values of pixels located on the boundary of the mask area may be referred to as “blending.”
- the processor 240 synthesizes the first image 410 and the second image 440 based on at least one of operations 601, 603, 605, and 607 to produce a synthesized third image ( 460) quality can be improved.
- FIG. 7 is a flowchart 700 illustrating an operation in which an electronic device adjusts the composition of a second image based on a user input, according to an embodiment of the present disclosure.
- each operation may be performed sequentially, but is not necessarily performed sequentially.
- the order of each operation may be changed, and at least two operations may be performed in parallel.
- operations 701 to 509 may be understood as being performed by a processor (e.g., processor 240 of FIG. 2) of an electronic device (e.g., electronic device 200 of FIG. 2).
- a processor e.g., processor 240 of FIG. 2
- an electronic device e.g., electronic device 200 of FIG. 2.
- the processor 240 adds a first image (e.g., the first image 410 of FIG. 4) to a second image (e.g., the second image of FIG. 4). (440)) can be synthesized.
- the processor 240 may synthesize the second image 440 with the first image 410 by overlapping the second image 440 with the first image 410. In one embodiment, the processor 240 excludes the second area and the pixel value of the second image 440 corresponding to the second area (e.g., the second area 451 in FIG. 4) from the synthesized image. Pixel values of the first image 410 corresponding to an area (eg, area 453 in FIG. 4) may be separated. The processor 240 may adjust the composition of the second image 440 based on the user input by separating the pixel values of the second image 440 from the synthesized image.
- the processor 240 may display a composite image and a plurality of objects through a display module (eg, display module 220 of FIG. 2).
- a display module eg, display module 220 of FIG. 2.
- the processor 240 may control the display module 220 to display a plurality of objects for changing the composition of the second image 440 among the synthesized images.
- a plurality of objects displayed by the processor 240 through the display module 220 will be described later with reference to FIG. 8 .
- the processor 240 may adjust at least one of the direction and angle of the second image 440 based on user input.
- the processor 240 may adjust the composition of the second image 440 determined to correspond to the composition of the first image 410 based on user input.
- the processor 240 may change at least one of the direction and angle of the second image 440 based on user input.
- a specific example in which the processor 240 changes at least one of the direction and angle of the second image 440 based on user input will be described later with reference to FIG. 8 .
- the processor 240 may adjust the pixel value of the second image 440 based on user input.
- the processor 240 generates a third image (e.g., the third image in FIG. 4) by compositing the adjusted second image 440 with respect to the mask region of the first image 410.
- Image 460 can be obtained.
- the operation of the processor 240 to composite the first image 410 with the second image 440 may correspond to operation 309 of FIG. 3 .
- the processor 240 may display the acquired third image 460 through the display module 220.
- an operation of the processor 240 displaying the acquired third image 460 through the display module 220 may correspond to operation 311 of FIG. 3 .
- the processor 240 may provide a composite image including celestial images of various compositions based on at least one of operations 701, 703, 705, 707, and 709.
- FIG. 8 is an example diagram illustrating an operation of an electronic device adjusting the composition of a second image based on a user input, according to an embodiment of the present disclosure.
- the processor 240 may provide celestial images of various compositions based on a user input for at least one of the plurality of objects 821a, 821b, 821c, 821d, 823a, and 823b.
- the processor (e.g., processor 240 of FIG. 2) superimposes (810) the second image on the first image (e.g., first image 410 of FIG. 4) to create a synthesized image (820). ) can be obtained.
- the second image may be an image containing celestial bodies.
- the processor 240 may acquire the second image based on metadata and a 3D model included in the first image 410.
- the processor 240 may acquire the second image based on user input and a 3D model.
- the user input may include information about right ascension, declination, and angle for acquiring the second image.
- user input may include information regarding GPS information, date, time, and viewing direction.
- the processor 240 may store one or more pre-generated second images.
- the processor 240 may display the composite image 820 and a plurality of objects 821a, 821b, 821c, 821d, 823a, and 823b through a display.
- the plurality of objects may be buttons for adjusting the direction or angle of the second image.
- the processor 240 may use an object 821a to move the second image to the left, an object 821b to move the second image to the right, an object 821c to move the second image upward, or an object 821c to move the second image downward.
- the direction of the second image may be adjusted based on the user input for the object 821d.
- the processor 240 may adjust the angle of the second image based on the object 823a for rotating the angle of the second image counterclockwise or the object 823b for rotating the angle clockwise.
- the processor 240 displays a composite image in which the second image is moved to the left based on a user input for the object 821a for moving the second image to the left through the display module 220. It can be displayed through. In one embodiment, in order to change the composition of the second image, the processor 240 may obtain a second image corresponding to the changed composition from the 3D model.
- the processor 240 obtains the third image 860 by synthesizing (850) the second image with the adjusted composition with respect to the mask area of the first image (410) based on the user input. can do.
- FIG. 9 is an example diagram illustrating an operation of the electronic device 200 to change an effect applied to the recommended image 903 according to an embodiment of the present disclosure.
- a processor may change the effect applied to the recommended image 903 based on user input.
- the processor 240 may obtain a recommended image 903 by applying a celestial image effect to the representative image 901.
- the processor 240 may obtain a representative image 901 from an input image acquired by a camera module (eg, the camera module 210 of FIG. 2). Based on the representative image 901, the processor 240 may acquire one or more images to which effects such as a color filter, an augmented reality filter, and a portrait filter are applied.
- a camera module eg, the camera module 210 of FIG. 2
- the processor 240 may acquire one or more images to which effects such as a color filter, an augmented reality filter, and a portrait filter are applied.
- processor 240 may determine whether representative image 901 includes a night sky based on image classification. Based on confirmation that the representative image 901 includes the night sky, the processor 240 can display a recommended image 903 to which a celestial image effect is applied to the representative image 901 through the display module 220. there is.
- the processor 240 may obtain the overall brightness value of the representative image 901.
- the processor 240 may obtain at least one suppression map corresponding to at least one preset object among the objects identified in the representative image 901.
- the processor 240 may divide the representative image 901 into a foreground including the night sky and clouds and a background excluding the foreground.
- the processor 240 may obtain pixel values of the divided foreground.
- the processor 240 may store the total brightness value of the acquired representative image 901, at least one suppression map, and foreground pixel value.
- the processor 240 may obtain a recommended image 903 to which a celestial image effect is applied to the foreground 907a based on metadata and a 3D model included in the representative image 901. In one embodiment, the processor 240 determines the celestial object based on the time when the representative image 901 was captured, the GPS information of the electronic device 200, and the gyro sensor value acquired at the time the representative image 901 was captured. You can determine the composition of the image. The processor 240 may further use the acceleration sensor value including information about the direction of the camera module 210 to determine the composition of the celestial image. In one embodiment, the processor 240 may acquire a celestial image by extracting a partial area of the surface of the 3D model based on the determined composition. The processor 240 may obtain the recommended image 903 by combining the celestial body image with the foreground 907a of the representative image 901.
- the processor 240 may display the obtained recommended image 903 through a display module (eg, the display 220 of FIG. 2).
- the processor 240 displays a screen for adjusting the celestial image effect applied to the foreground 907a of the recommended image 903 based on the user input for the object 905 for adjusting the effect applied to the recommended image 903. It can be displayed (910).
- the user input may be an action of touching an object displayed through the display module 220.
- the processor 240 may keep the background 907b of the recommended image the same.
- the processor 240 may display one or more objects 921a, 921b, and 921c related to a method of determining the composition of a celestial image.
- the processor 240 displays information in the foreground 907a of the recommended image 903, at the time and place where the representative image 901 was captured, based on the user input for the Auto object 921a.
- the composition of the corresponding celestial image can be displayed.
- the processor 240 displays one of the compositions of the pre-stored astronomical image in the foreground 907a of the recommended image 903, based on the user input for the preset object 921b. You can.
- the processor 240 configures one or more objects 821a, 821b, 821c, 821d, 823a, and 823b) can be displayed.
- the processor 240 adjusts at least one of the direction and angle of the celestial image based on user input for at least one of the one or more objects 821a, 821b, 821c, 821d, 823a, and 823b. You can.
- the processor 240 may adjust the composition of the celestial image by extracting a partial area of the surface of the 3D model based on the date, time, right ascension, and declination included in the user input.
- the processor 240 changes the composition from a preset composition or a composition determined based on the user input, based on a user input to the auto object 921a, to a composition determined based on metadata of the representative image 901, You can adjust the composition of the celestial image.
- the processor 240 may cancel the adjusted celestial image effect based on a user input to the Cancel object 923a.
- the processor 240 may apply an adjusted celestial image effect based on a user input to the Apply object 923b.
- the processor 240 may adjust the strength of the effect of the celestial body image based on user input for the dial object 925a.
- the intensity of the effect may be the brightness of one or more celestial bodies included in the celestial image.
- the processor 240 may adjust the intensity of the effect of the celestial body image by increasing or decreasing the brightness values of the celestial bodies in the celestial body image.
- the processor 240 may adjust the intensity of the astronomical image effect in proportion to the length of the slide 925b in the slide bar 925c displayed through the display module 220.
- processor 240 may reduce (930) the intensity of the astronomical image effect based on user input for dial object (925a).
- the processor 240 may display a celestial body image with the intensity of the effect reduced in the foreground 941a.
- the processor 240 may maintain the background 941b of the representative image.
- FIG. 10 is a flowchart 1000 illustrating an operation in which the electronic device 200 acquires a composite image based on one or more input images according to an embodiment of the present disclosure.
- each operation may be performed sequentially, but is not necessarily performed sequentially.
- the order of each operation may be changed, and at least two operations may be performed in parallel.
- operations 1001 to 1009 may be understood as being performed by a processor (e.g., processor 240 of FIG. 2) of an electronic device (e.g., electronic device 200 of FIG. 2).
- a processor e.g., processor 240 of FIG. 2
- an electronic device e.g., electronic device 200 of FIG. 2.
- the processor 240 may obtain a composite image by generating one or more astronomical images (or astronomical images) whose composition is adjusted based on the time stamps of one or more input images.
- the processor 240 may determine an initial composition of an astronomical image (or astronomical image) corresponding to an initial input image.
- the processor 240 determines the initial composition of the celestial image corresponding to the initial input image based on the metadata of the initial input image acquired by the camera module (e.g., the camera module 210 of FIG. 2). can be decided.
- the processor 240 may determine the composition of the celestial body image based on the initial input image and the 3D model, according to operation 305 of FIG. 3 .
- processor 240 may obtain an initial composite frame by compositing an initial input image and an astronomical image (or astronomical image).
- the processor 240 may obtain an initial composite frame by compositing a celestial image generated based on the determined initial composition into an area including the sky and clouds of the initial input image.
- processor 240 may adjust the composition of an astronomical image (or astronomical images) based on a time stamp of each of the one or more input images.
- the processor 240 adjusts the composition of the celestial body image based on the time changed according to the time stamp from the initial composition of the celestial body image, thereby providing the effect of celestial bodies moving within the celestial image over time. You can.
- processor 240 synthesizes one or more input images and a reframed astronomical image (or astronomical image) based on the timestamp of each input image to produce one or more composite frames. can be obtained.
- the processor 240 may change some pixel values of each of one or more celestial images whose composition has been adjusted based on a mask image and at least one suppression map obtained from the initial input image.
- the processor 240 may obtain one or more composite frames by combining one or more input images with a celestial image corresponding to each of the input images.
- the processor 240 may acquire a composite image by sequentially connecting the initial composite frame and the obtained composite frames.
- the processor 240 may acquire a composite image by sequentially connecting the initial composite frame and the acquired composite frames over time based on a time stamp.
- FIG. 11 is an example diagram illustrating an operation in which an electronic device acquires a composite image based on a plurality of input images according to an embodiment of the present disclosure.
- a processor e.g., processor 240 of FIG. 2 based on metadata of the initial input image 1101_1 acquired by a camera module (e.g., camera module 210 of FIG. 2), The initial composition of the celestial body image 1111_1 corresponding to the initial input image 1101_1 may be determined.
- the processor 240 may determine the initial composition of the astronomical object image 1111_1 based on the initial input image 1101_1 and the 3D model, according to operation 305 of FIG. 3 .
- the processor 240 synthesizes the celestial body image 1111_1 generated based on the determined initial composition into the area including the sky and clouds of the initial input image 1101_1, thereby creating an initial composite frame 1121_1. can be obtained.
- the processor 240 adjusts the composition of the celestial body image based on the time changed according to the time stamp from the initial composition of the celestial body image 1111_1, thereby creating the effect of celestial bodies moving within the celestial body image over time. can be provided.
- the processor 240 configures one or more celestial images 1111_2, and 1111_3 to 1111_N, the composition of which is adjusted based on a mask image and at least one suppression map obtained from the initial input image 1101_1. You can change the values of some of each pixel.
- the processor 240 may obtain one or more composite frames 1121_2 and 1121_3 to 1121_N by combining one or more input images 1101_2 and 1101_3 to 1101_N with a celestial image corresponding to each of the input images. there is.
- the processor 240 acquires a composite image by sequentially connecting the initial composite frame 1121_1 and the obtained composite frames 1121_2 and 1121_3 to 1121_N according to time, based on a time stamp. can do.
- FIG. 12 is a flowchart 1200 illustrating an operation of the electronic device 200 according to an embodiment of the present disclosure to acquire a composite image to which a diurnal motion effect is applied.
- each operation may be performed sequentially, but is not necessarily performed sequentially.
- the order of each operation may be changed, and at least two operations may be performed in parallel.
- operations 1201 to 1209 may be understood as being performed by a processor (e.g., processor 240 of FIG. 2) of an electronic device (e.g., electronic device 200 of FIG. 2).
- a processor e.g., processor 240 of FIG. 2
- an electronic device e.g., electronic device 200 of FIG. 2.
- the processor 240 may acquire a third image to which a diurnal motion effect is applied by accumulating one or more astronomical images (or astronomical images) whose composition has been adjusted to the previously acquired first image. there is.
- the processor 240 is not limited by temporal or spatial constraints and can provide a third image to which a long exposure effect is applied.
- the processor 240 may determine the video length of the second image based on user input.
- processor 240 may determine the intensity of the diurnal motion effect based on the image length of the second image.
- user input may include information regarding weekly exercise time.
- the processor 240 may obtain a plurality of astronomical images (or astronomical images) by changing the composition of the second image.
- the processor 240 may acquire one or more astronomical images by changing the composition of the second image at preset time intervals based on the determined image length. In one embodiment, the processor 240 may determine the initial composition of the second image based on metadata and a 3D model of the first image, according to operation 305 of FIG. 3 . The processor 240 may change the composition of the second image based on the time stamp that changes at preset time intervals.
- processor 240 may obtain a diurnal motion image by accumulating a plurality of astronomical images (or astronomical images).
- the processor 240 may acquire one diurnal motion image by accumulating one or more acquired celestial body images.
- the processor 240 may obtain a third image to which the diurnal motion effect is applied by combining the diurnal motion image with the second area of the first image.
- the processor 240 may obtain a third image to which the diurnal motion effect is applied by combining the obtained diurnal motion image with at least a partial area including clouds and the night sky in the first image. .
- the processor 240 may display a third image to which the diurnal motion effect is applied through the display module 220.
- the processor 240 can provide a composite image without being limited by temporal or spatial constraints by applying the effect of the diurnal movement of celestial bodies viewed from a virtual viewpoint to the first image acquired in the past. there is.
- FIG. 13 is an example diagram illustrating an operation of an electronic device acquiring a composite image to which a diurnal movement effect is applied, according to an embodiment of the present disclosure.
- the processor e.g., the processor 240 of FIG. 2 applies the effect of the diurnal movement of celestial bodies viewed from a virtual viewpoint to the first image 1300 acquired in the past, thereby maintaining temporal constraints and spatial constraints.
- a third image 1330 may be provided.
- the processor 240 may determine the image length of the second image 1301 based on user input.
- user input may include information regarding weekly exercise time.
- the processor 240 changes the composition of the second image 1301 at a preset time interval ( ⁇ t) based on the determined image length, thereby changing one or more celestial body images 1311_1 and 1311_2 to 1311_N. ) can be obtained.
- the processor 240 may determine the initial composition of the second image based on metadata and a 3D model of the first image 1300, according to operation 305 of FIG. 3 .
- the processor 240 may change the composition of the second image based on the time stamp that changes at preset time intervals.
- the processor 240 may acquire one diurnal motion image 1320 by accumulating one or more acquired celestial images 1311_1 and 1311_2 to 1311_N.
- the processor 240 combines the obtained diurnal motion image 1320 with at least a partial area 1303 that includes clouds and the night sky within the first image 1300, thereby creating a diurnal motion effect.
- the applied third image 1330 can be obtained.
- the processor 240 may display the third image 1330 to which the diurnal motion effect is applied through a display module (eg, the display module 220 of FIG. 2).
- the electronic device 101; 200 includes a camera module 180; 210, a display module 160; 220, and operates with the camera module 180; 210 and the display module 160; 220. It may include at least one processor (120; 240) that is connected to each other. The at least one processor 120 (240) may identify one or more objects within the first image 410. The at least one processor 120 (240), based on the pixel values of the regions corresponding to each of the identified one or more objects, at least one processor related to the pixel value of the first region of the first image 410 The map can be determined.
- the at least one processor 120 (240) is based on at least one of metadata of the first image 410, a user input for determining the composition of the second image 440, or a three-dimensional model 430. Thus, the second image 440 can be generated.
- the at least one processor 120 (240) may change the pixel value of at least a partial area of the second image 440 corresponding to the first area based on the determined at least one map.
- the at least one processor 120 (240) may obtain the third image 460 by combining the second image 440, in which the pixel value is changed, with the second area of the first image 410.
- the at least one processor 120; 240 may be configured to display the third image 460 through the display module 160; 220.
- the at least one processor 120 (240) may input the first image 410 into a previously learned image classification model.
- the at least one processor 120 (240) may check whether the first image 410 includes at least one preset object based on the output of the image classification model.
- the at least one processor 120 (240) identifies one or more objects in the first image 410 based on confirmation that the first image 410 includes the preset at least one object. It can be configured to do so.
- the at least one processor 120 (240) may obtain the overall brightness value of the first image 410 based on the pixel value of the first image 410.
- the at least one processor 120 (240) may be configured to change the overall brightness value of the second image 440 based on the obtained overall brightness value of the first image 410.
- the at least one processor 120 (240) may obtain a brightness map corresponding to the second image 440 based on the pixel value of the second image 440.
- the at least one processor 120 (240) may be configured to adjust pixel values included in the brightness map based on the brightness value of the at least one map related to the pixel value of the first area.
- the at least one processor 120 (240) may check whether the one or more identified objects include at least one preset object. The at least one processor 120 (240), based on confirming that the identified one or more objects include the preset at least one object, creates at least one area corresponding to the preset at least one object. can be decided. The at least one processor 120 (240) may be configured to generate a mask image 450 by obtaining pixel values of the determined at least one area.
- the three-dimensional model may include information about the positions and pixel values of one or more celestial bodies.
- the at least one processor 120 (240) may synthesize the second image 440 with the first image 410.
- the at least one processor (120; 240) may display the synthesized image and a plurality of objects through the display module (160; 220).
- the at least one processor 120 (240) may adjust at least one of the direction and angle of the second image 440 based on a user input for at least one of the plurality of objects.
- the at least one processor 120 (240) may obtain the third image 460 by combining the adjusted second image 440 with at least a partial area of the first image 410.
- the at least one processor 120; 240 may be configured to display the third image 460 through the display module 160; 220.
- the at least one processor 120 (240) may detect a user input for one of the plurality of objects.
- the at least one processor 120 (240) may be configured to adjust the pixel value of the second image 440 based on the detected user input.
- the initial composition of 1111_1) can be determined.
- the at least one processor 120 (240) may obtain an initial composite frame 1121_1 by combining the initial input image 1101_1 with a celestial body image 1111_1 generated based on the determined initial composition.
- the at least one processor (120; 240) configures the composition of the astronomical image (1111_1) based on the time stamp of each of the one or more input images (1101_N) further acquired by the camera module (180; 210). It can be adjusted.
- the at least one processor (120; 240) synthesizes a celestial body image (1111_N) whose composition is adjusted based on the respective time stamps to each of the one or more input images (1101_N), thereby creating one or more composite frames. You can obtain (1121_N).
- the at least one processor 120 (240) may be configured to acquire a composite image 1131 by sequentially connecting the initial composite frame 1121_1 and the obtained composite frames 1121_N.
- the at least one processor (120; 240) may determine the image length of the second image (440; 1301) based on a user input.
- the at least one processor (120; 240) acquires one or more celestial images (1311_N) by changing the composition of the second image (440; 1301) at preset time intervals based on the determined image length. can do.
- the at least one processor 120 (240) may acquire a diurnal motion image 1320 by accumulating the acquired one or more celestial body images 1311_N.
- the at least one processor (120; 240) obtains a third image (1330) to which the diurnal motion effect is applied by combining the obtained diurnal motion image (1320) with at least a partial area of the first image (410). can do.
- the at least one processor 120; 240 may be configured to display a third image 1330 to which the diurnal motion effect is applied through the display module 160; 220.
- a method of synthesizing images of the electronic device 101 (200) may include identifying one or more objects in the first image 410.
- the method includes determining at least one map associated with a pixel value of a first region of the first image 410, based on pixel values of regions corresponding to each of the identified one or more objects. can do.
- the method generates the second image 440 based on at least one of metadata of the first image 410, a user input for determining the composition of the second image 440, or a 3D model 430.
- the method may include an operation of changing pixel values of at least a partial area of the second image 440 corresponding to the first area based on the determined at least one map.
- the method may include obtaining a third image 460 by combining a second image 440 with the changed pixel value into a second area of the first image 410.
- the method may include displaying the third image 460 through the display module 160 (220).
- the method may include inputting the first image 410 into a previously learned image classification model.
- the method may include checking whether the first image 410 includes at least one preset object based on the output of the image classification model.
- the method may further include identifying one or more objects in the first image 410 based on confirming that the first image 410 includes the preset at least one object. .
- the method may include an operation of obtaining the total brightness value of the first image 410 based on the pixel value of the first image 410.
- the method may further include changing the overall brightness value of the second image 440 based on the obtained overall brightness value of the first image 410.
- the method may include obtaining a brightness map corresponding to the second image 440 based on the pixel value of the second image 440.
- the method may further include adjusting pixel values included in the brightness map based on brightness values of the at least one map related to pixel values of the first area.
- the method may include an operation of checking whether the one or more identified objects include at least one preset object.
- the method may include determining at least one area corresponding to the preset at least one object, based on confirming that the identified one or more objects include the preset at least one object. there is.
- the method may further include generating a mask image 450 by obtaining pixel values of the determined at least one area.
- the 3D model 430 may include information regarding the positions and pixel values of one or more celestial bodies.
- the method may further include an operation of combining the second image 440 with the first image.
- the method may include an operation of displaying the synthesized image and a plurality of objects through the display module 160 (220).
- the method may include adjusting at least one of the direction and angle of the second image 440 based on a user input for at least one of the plurality of objects.
- the method may include obtaining the third image 460 by combining the adjusted second image 440 with at least a partial area of the first image 410.
- the method may further include displaying the third image 460 through the display module 160 (220).
- the method may include detecting a user input for one of the plurality of objects.
- the method may further include adjusting the pixel value of the second image 440 based on the detected user input.
- the method determines the initial composition of the celestial body image (1111_1) corresponding to the initial input image (1101_1), based on the metadata of the initial input image (1101_1) acquired by the camera module (180; 210).
- the method may include obtaining an initial composite frame 1121_1 by combining the initial input image 1101_1 with a celestial body image 1111_1 generated based on the determined initial composition.
- the method may include an operation of adjusting the composition of the astronomical image 1111_1 based on the time stamp of each of the one or more input images 1101_N further acquired by the camera module 180 (210). .
- the method includes an operation of obtaining one or more composite frames (1121_N) by synthesizing a celestial body image (1111_N) whose composition is adjusted based on the respective time stamps to each of the one or more input images (1101_N). It can be included.
- the method may further include acquiring a composite image 1131 by sequentially connecting the initial composite frame 1121_1 and the obtained composite frames 1121_N.
- the method may include determining the video length of the second image 440 (1301) based on user input.
- the method may include acquiring one or more astronomical images 1311_N by changing the composition of the second image 440 (1301) at preset time intervals, based on the determined image length.
- the method may include acquiring a diurnal motion image 1320 by accumulating the acquired one or more celestial body images 1311_N.
- the method may include obtaining a third image 1330 to which the diurnal motion effect is applied by combining the obtained diurnal motion image 1320 with at least a partial area of the first image 410.
- the method may further include displaying a third image 1330 to which the diurnal motion effect is applied through the display module 160 (220).
- An electronic device may be of various types.
- Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances.
- Electronic devices according to embodiments of this document are not limited to the above-described devices.
- first, second, or first or second may be used simply to distinguish one component from another, and to refer to that component in other respects (e.g., importance or order) is not limited.
- One (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.”
- any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.
- module used in one embodiment of this document may include a unit implemented in hardware, software, or firmware, and may be interchangeable with terms such as logic, logic block, component, or circuit, for example. can be used
- a module may be an integrated part or a minimum unit of the parts or a part 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
- One embodiment of the present document is one or more instructions stored in a storage medium (e.g., built-in memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). It may be implemented as software (e.g., program 140) including these.
- a processor e.g., processor 120
- the one or more instructions may include code generated by a compiler or code that can be executed by an interpreter.
- a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
- 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and this term refers to cases where data is semi-permanently stored in the storage medium. There is no distinction between temporary storage cases.
- a method according to an embodiment disclosed in this document may be provided and included in a computer program product.
- Computer program products are commodities and can be traded between sellers and buyers.
- the computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)), or through an application store (e.g. Play Store TM ) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online.
- a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
- each component (e.g., module or program) of the above-described components may include a single or multiple entities, and some of the multiple entities may be separately placed in other components.
- one or more of the above-described corresponding components or operations may be omitted, or one or more other components or operations may be added.
- multiple components eg, modules or programs
- the integrated component may perform one or more functions of each component of the plurality of components in the same or similar manner as those performed by the corresponding component of the plurality of components prior to the integration. .
- operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or , or one or more other operations may be added.
- the data structure 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 media includes storage media such as magnetic storage media (eg, ROM, floppy disk, hard disk, etc.) and optical read media (eg, CD-ROM, DVD, etc.).
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Computer Security & Cryptography (AREA)
- Processing Or Creating Images (AREA)
Abstract
일 실시예에 따르면, 전자 장치에 있어서, 카메라 모듈, 디스플레이 모듈, 및 상기 카메라 모듈 및 상기 디스플레이 모듈과 작동적으로 연결되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 제1 이미지 내에서 하나의 이상의 객체들을 식별하고, 상기 식별된 하나 이상의 객체들 각각에 대응하는 영역들의 픽셀 값에 기반하여, 상기 제1 이미지의 제1 영역의 픽셀 값과 관련되는 적어도 하나의 맵을 결정하고, 상기 제1 이미지의 메타데이터, 제2 이미지의 구도를 결정하기 위한 사용자 입력, 또는 3차원 모델 중 적어도 하나에 기반하여 제2 이미지를 생성하고, 상기 결정된 적어도 하나의 맵에 기반하여, 상기 제1 영역에 대응하는 상기 제2 이미지의 적어도 일부 영역의 픽셀 값을 변경하고, 상기 제1 이미지의 제2 영역에 상기 픽셀 값이 변경된 제2 이미지를 합성함으로써 제3 이미지를 획득하고, 상기 디스플레이 모듈을 통해, 상기 제3 이미지를 표시하도록 구성된, 전자 장치가 제공될 수 있다. 그 밖의 다양한 실시예가 가능하다.
Description
본 개시는 이미지를 합성하기 위한 방법 및 이를 지원하는 전자 장치에 관한 것이다.
통신 기술의 급속한 발전으로 인하여 휴대 단말에 의하여 제공되는 기능이 점차 확대되고 있으며, 다양한 사용자인터페이스(User Interface: UI) 및 그를 이용한 다양한 기능들이 제공되고 있다. 휴대 단말의 효용 가치를 높이고 사용자들의 다양한 욕구를 만족시키기 위하여, 휴대 단말에서 실행 가능한 다양한 애플리케이션들이 개발되고 있다. 예를 들면, 사용자가 무선 인터넷 서비스를 통해 다운로드 받은 영상 합성 애플리케이션은, 사용자가 촬영한 사진에 다양한 헤어스타일을 합성하는 기능을 제공한다.
더욱이, 우주 탐사에 관한 대중의 관심이 증가함에 따라, 야간에 별과 같은 천체를 포함하는 하늘을 촬영하고자 하는 수요가 증가하고 있다.
본 개시의 일 실시예는, 카메라 모듈에 의하여 획득된 야경 이미지에 가상의 천체 이미지를 합성함으로써, 디스플레이 모듈을 통해 합성된 이미지를 제공하는 것을 목적으로 한다. 다만, 본 개시의 목적은 상기 기술된 내용으로 제한되지 않는다.
본 개시의 일 실시예에 따르면, 전자 장치는, 카메라 모듈, 디스플레이 모듈, 및 상기 카메라 모듈 및 상기 디스플레이 모듈과 작동적으로 연결되는 적어도 하나의 프로세서를 포함할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는, 제1 이미지 내에서 하나의 이상의 객체들을 식별할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 식별된 하나 이상의 객체들 각각에 대응하는 영역들의 픽셀 값에 기반하여, 상기 제1 이미지의 제1 영역의 픽셀 값과 관련되는 적어도 하나의 맵을 결정할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 제1 이미지의 메타데이터, 제2 이미지의 구도를 결정하기 위한 사용자 입력, 또는 3차원 모델 중 적어도 하나에 기반하여 제2 이미지를 생성할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 결정된 적어도 하나의 맵에 기반하여, 상기 제1 영역에 대응하는 상기 제2 이미지의 적어도 일부 영역의 픽셀 값을 변경할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 제1 이미지의 제2 영역에 상기 픽셀 값이 변경된 제2 이미지를 합성함으로써 제3 이미지를 획득할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 디스플레이 모듈을 통해, 상기 제3 이미지를 표시하도록 구성될 수 있다.
본 개시의 일 실시예에 따르면, 전자 장치의 이미지를 합성하는 방법은, 제1 이미지 내에서 하나의 이상의 객체들을 식별하는 동작을 포함할 수 있다. 일 실시예에서, 상기 방법은, 상기 식별된 하나 이상의 객체들 각각에 대응하는 영역들의 픽셀 값에 기반하여, 상기 제1 이미지의 제1 영역의 픽셀 값과 관련되는 적어도 하나의 맵을 결정하는 동작을 포함할 수 있다. 일 실시예에서, 상기 방법은, 상기 제1 이미지의 메타데이터, 제2 이미지의 구도를 결정하기 위한 사용자 입력, 또는 3차원 모델 중 적어도 하나에 기반하여 제2 이미지를 생성하는 동작을 포함할 수 있다. 일 실시예에서, 상기 방법은, 상기 결정된 적어도 하나의 맵에 기반하여, 상기 제1 영역에 대응하는 상기 제2 이미지의 적어도 일부 영역의 픽셀 값을 변경하는 동작을 포함할 수 있다. 일 실시예에서, 상기 방법은, 상기 제1 이미지의 제2 영역에 상기 픽셀 값이 변경된 제2 이미지를 합성함으로써 제3 이미지를 획득하는 동작을 포함할 수 있다. 일 실시예에서, 상기 방법은, 디스플레이 모듈을 통해, 상기 제3 이미지를 표시하는 동작을 포함할 수 있다.
본 개시의 일 실시예에 따르면, 인스트럭션들을 저장하고 있는 비일시적 저장 매체에 있어서, 상기 인스트럭션들은 전자 장치의 적어도 하나의 회로에 의해서 실행될 때에 전자 장치로 하여금 적어도 하나의 동작을 수행하도록 설정될 수 있다. 상기 적어도 하나의 동작은, 제1 이미지 내에서 하나의 이상의 객체들을 식별하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 식별된 하나 이상의 객체들 각각에 대응하는 영역들의 픽셀 값에 기반하여, 상기 제1 이미지의 제1 영역의 픽셀 값과 관련되는 적어도 하나의 맵을 결정하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 제1 이미지의 메타데이터, 제2 이미지(440)의 구도를 결정하기 위한 사용자 입력, 또는 3차원 모델 중 적어도 하나에 기반하여 제2 이미지를 생성하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 결정된 적어도 하나의 맵에 기반하여, 상기 제1 영역에 대응하는 상기 제2 이미지의 적어도 일부 영역의 픽셀 값을 변경하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 제1 이미지의 제2 영역에 상기 픽셀 값이 변경된 제2 이미지를 합성함으로써 제3 이미지를 획득하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 디스플레이 모듈을 통해, 상기 제3 이미지를 표시하는 동작을 포함할 수 있다.
본 개시의 일 실시예에 따른, 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 일 실시예에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 본 개시의 일 실시예에 따른 전자 장치를 설명하기 위한 블록도이다.
도 3은 본 개시의 일 실시예에 따른 전자 장치의 합성 이미지를 획득하는 동작을 설명하기 위한 흐름도이다.
도 4는 본 개시의 일 실시예에 따른 전자 장치가, 제1 이미지로부터 제3 이미지를 획득하는 동작을 설명하기 위한 예시도이다.
도 5는 본 개시의 일 실시예에 따른 전자 장치가, 제1 이미지로부터, 제2 이미지의 픽셀 값을 결정하기 위한 서프레션 맵을 획득하는 동작을 설명하기 위한 흐름도이다.
도 6은 본 개시의 일 실시예에 따른 전자 장치가, 제1 이미지로부터 획득한 정보에 기반하여, 제1 이미지 및 제2 이미지를 합성하는 동작을 설명하기 위한 흐름도이다.
도 7은 본 개시의 일 실시예에 따른 전자 장치가, 사용자 입력에 기반하여, 제2 이미지의 구도를 조정하는 동작을 설명하기 위한 흐름도이다.
도 8은 본 개시의 일 실시예에 따른 전자 장치가, 사용자 입력에 기반하여, 제2 이미지의 구도를 조정하는 동작을 설명하기 위한 예시도이다.
도 9는 본 개시의 일 실시예에 따른 전자 장치가, 추천 이미지에 적용된 효과를 변경하는 동작을 설명하기 위한 예시도이다.
도 10은 본 개시의 일 실시예에 따른 전자 장치가, 복수의 입력 이미지에 기반하여 합성 영상을 획득하는 동작을 설명하기 위한 흐름도이다.
도 11은 본 개시의 일 실시예에 따른 전자 장치가, 복수의 입력 이미지에 기반하여 합성 영상을 획득하는 동작을 설명하기 위한 예시도이다.
도 12는 본 개시의 일 실시예에 따른 전자 장치가, 일주 운동 효과가 적용된 합성 이미지를 획득하는 동작을 설명하기 위한 흐름도이다.
도 13은 본 개시의 일 실시예에 따른 전자 장치가, 일주 운동 효과가 적용된 합성 이미지를 획득하는 동작을 설명하기 위한 예시도이다.
이하에서는 도면을 참조하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면의 설명과 관련하여, 동일하거나 유사한 구성요소에 대해서는 동일하거나 유사한 참조 부호가 사용될 수 있다. 또한, 도면 및 관련된 설명에서는, 잘 알려진 기능 및 구성에 대한 설명이 명확성과 간결성을 위해 생략될 수 있다.
도 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 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
도 2는 본 개시의 일 실시예에 따른 전자 장치(200)를 설명하기 위한 블록도이다.
도 2를 참조하면, 일 실시예에서, 전자 장치(200)(예: 도 1의 전자 장치(101)는, 카메라 모듈(210), 디스플레이 모듈(220), 메모리(230), 및 프로세서(240)를 포함할 수 있다.
일 실시예에서, 카메라 모듈(210)은 도 1의 카메라 모듈(180)에 포함될 수 있다.
일 실시예에서, 디스플레이 모듈(220)은 도 1의 디스플레이 모듈(160)에 포함될 수 있다.
일 실시예에서, 디스플레이 모듈(220)은, 카메라 모듈(210)에 의해 획득된 이미지를 표시할 수 있다. 예를 들어, 디스플레이 모듈(220)은, 카메라 모듈(210)에 의해 획득된 동적 이미지(예: 프리뷰(preview) 이미지, 동영상 이미지) 및/또는 정지 이미지를 표시할 수 있다.
일 실시예에서, 메모리(230)는 도 1의 메모리(130)에 포함될 수 있다.
일 실시예에서, 메모리(230)는 전자 장치(200)에 대한 천체들의 위치 및 방향을 포함하는 3차원 모델을 저장할 수 있다. 메모리(230)가 저장하는 정보에 대해서는 후술하도록 한다.
일 실시예에서, 프로세서(240)는 도 1의 프로세서(120)에 포함될 수 있다.
일 실시예에서, 프로세서(240)는, 카메라 모듈(210)에 의하여 획득된 이미지에 가상 이미지를 합성하기 위한 전반적인 동작을 제어할 수 있다. 일 실시예에서, 프로세서(240)는 이미지를 합성하기 위한 하나 이상의 프로세서들을 포함할 수 있다. 하나 이상의 프로세서들은, 메모리(230), 카메라 모듈(210) 및 디스플레이 모듈(220)과 작동적으로 연결될 수 있다. 프로세서(240)가 이미지를 합성하기 위하여 수행하는 동작에 대하여 도 3 내지 도 13을 참조하여 후술하도록 한다.
도 2에서 전자 장치(200)가 카메라 모듈(210), 디스플레이 모듈(220), 메모리(230), 및/또는 프로세서(240)를 포함하는 것으로 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 전자 장치(200)는, 도 1에 도시된 적어도 하나의 구성을 더 포함할 수 있다. 일 실시예에서, 전자 장치(200)는 통신 모듈(예: 도 1의 통신 모듈(190))을 더 포함할 수 있다. 전자 장치(200)는 외부 전자 장치(예: 도 1의 전자 장치(104))로부터 3차원 모델을 업데이트하기 위한 데이터를 수신할 수 있다.
도 3은 본 개시의 일 실시예에 따른 전자 장치(200)의 합성 이미지를 획득하는 동작을 설명하기 위한 흐름도(300)이다.
이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.
일 실시 예에 따르면, 동작 301 내지 311은 전자 장치(예: 도 2의 전자 장치(200))의 프로세서(예: 도 2의 프로세서(240))에서 수행되는 것으로 이해될 수 있다.
도 3을 참조하면, 동작 301에서, 일 실시예에서, 프로세서(240)는, 제1 이미지 내에서 하나 이상의 객체들을 식별할 수 있다. 일 실시예에서, 제1 이미지는 카메라 모듈(예: 도 2의 카메라 모듈(210))에 의해 획득된 이미지일 수 있다. 일 실시예에서, 제1 이미지는, 메모리(예: 도 2의 메모리(230))에 저장된 이미지일 수도 있다. 일 실시예에서, 제1 이미지는, 제1 네트워크(예: 도 1의 제1 네트워크(198))를 통하여 외부 전자 장치(예: 도 1의 전자 장치(102))로부터 수신한 이미지일 수도 있다. 일 실시예에서, 제1 이미지는, 제2 네트워크(예: 도 1의 제2 네트워크(199))를 통하여 외부 전자 장치(예: 도 1의 전자 장치(104) 또는 서버(108))로부터 수신한 이미지일 수도 있다. 제1 이미지를 획득하는 수단은, 전술한 예시에 제한되지 않는다.
일 실시예에서, 프로세서(240)는, 이미지 세그멘테이션(image segmentation)에 기반하여, 제1 이미지 내에서 하나 이상의 객체들을 식별할 수 있다. 제1 이미지는 카메라 모듈(210)에 의하여 획득된 정적 이미지일 수 있다. 일 실시예에서, 제1 이미지는 카메라 모듈(210)에 의하여 획득된 동적 이미지일 수도 있다. 일 실시예에서, 프로세서(240)는 제1 이미지를 미리 학습된 객체 인식 모델에 입력함으로써, 제1 이미지에 포함된 하나 이상의 객체들에 각각 대응하는 레이블을 획득할 수 있다. 일 실시예에서, 객체 인식 모델은, 미리 수집된 이미지들을 학습 데이터로 이용하여, 이미지에 포함된 하나 이상의 객체에 대응하는 레이블을 출력하도록, 미리 학습될 수 있다. 학습된 객체 인식 모델은 입력된 이미지를 복수의 영역으로 분할함으로써, 각각의 영역 내에 포함된 객체를 식별할 수 있다. 일 실시예에서, 제1 이미지에 포함된 객체는 하늘, 구름, 달, 조명 및 지면 중 적어도 하나를 포함할 수 있다. 프로세서(240)는, 제1 이미지 내에서 인식된 하나 이상의 객체들에 대응하는 영역들로, 제1 이미지의 영역들을 분류할 수 있다. 일 실시예에서, 프로세서(240)는, 제1 이미지의 영역들을 하늘 영역, 구름 영역, 달 영역, 조명 영역 및 기타 영역(Non-ROI: non region of interest)으로 분류할 수 있다. 객체 인식 모델이 식별하는 객체는 전술한 예시에 제한되지 않는다. 일 실시예에서, 객체 인식 모델이 식별하는 객체는, 바다, 산, 또는 호수와 같은 객체를 포함할 수 있다.
동작 303에서, 일 실시예에서, 프로세서(240)는, 제1 이미지의 제1 영역의 픽셀 값과 관련되는 맵(map)을 결정할 수 있다.
일 실시예에서, 프로세서(240)는, 제1 이미지에 포함된 하나 이상의 객체들 중 미리 설정된 객체의 주변 영역의 픽셀 값을 조정하기 위한 맵을 결정할 수 있다. 제1 영역은 기 설정된 객체의 주변 영역일 수 있다. 기 설정된 객체는 구름, 달, 및 조명을 포함할 수 있다.
일 실시예에서, 프로세서(240)는, 구름 영역, 달 영역, 및 조명 영역의 밝기 값에 따라 주변 영역의 픽셀 값을 조정하기 위하여 서프레션 맵을 결정할 수 있다. 픽셀 값을 조정하기 위한 맵은 "서프레션 맵(suppression map)"으로 지칭될 수 있다. 서프레션 맵의 크기는, 제1 이미지의 크기와 실질적으로 동일할 수 있다. 일 실시예에서, 프로세서(240)는, 객체에 대한 픽셀의 상대 위치 및 HSV(Hue-Saturation-Value) 값에 기반하여, 객체에 대응하는 서프레션 맵을 결정할 수 있다.
일 실시예에서, 프로세서(240)는, 픽셀 값을 조정하기 위한 적어도 하나의 서프레션 맵을 결정하기 위하여, 제1 이미지를 분석할 수 있다. 프로세서(240)는 제1 이미지를 분석함으로써, 제1 이미지의 합성과 관련되는 정보를 획득할 수 있다. 프로세서(240)는, 식별된 각각의 영역에 대한 픽셀 값을 획득할 수 있다. 일 실시예에서, 프로세서(240)는, 식별된 영역들을 순회함으로써, 각각의 영역의 대표(예: 중간, 최빈 또는 평균) 밝기 값을 추출할 수 있다.
일 실시예에서, 프로세서(240)는, 미리 설정된 객체를 포함하는 영역들의 밝기 값에 기반하여, 각각의 영역에 대응하는 적어도 하나의 서프레션 맵을 결정할 수 있다. 일 실시예에서, 프로세서(240)는, 달 영역, 조명 영역, 및 구름 영역 중 적어도 하나를 식별하는 경우, 식별된 영역에 대응하는 적어도 하나의 서프레션 맵을 생성할 수 있다.
일 실시예에서, 프로세서(240)는, 달 영역 및 조명 영역 중 적어도 하나에 대한 서프레션 맵을 생성할 수 있다. 달 영역 또는 조명 영역에 대한 서프레션 맵은, 달 영역 또는 조명 영역을 중심으로, 주변 영역에 위치한 픽셀의 상대 위치 및 밝기 분포에 관한 정보를 포함할 수 있다. 프로세서(240)는 달 영역 또는 조명 영역의 밝기 값이 클수록, 주변 영역의 밝기 값을 감소시킬 수 있다. 프로세서(240)는 달 영역 또는 조명 영역의 밝기 값이 클수록, 밝기 값을 감소시키는 영역의 넓이를 상대적으로 증가시킬 수 있다. 프로세서(240)는 달 영역 또는 조명 영역과의 거리가 가까울수록, 주변 영역의 밝기 값을 상대적으로 감소시킬 수 있다.
일 실시예에서, 프로세서(240)는, 구름 영역에 대한 서프레션 맵을 생성할 수 있다. 프로세서(240)는, 구름 영역과 기 설정된 반경(radius)이 떨어진 하늘 영역의 대표(예: 중간, 최빈 또는 평균) 밝기 값을 산출할 수 있다. 프로세서(240)는, 구름 영역의 주변 하늘 영역의 대표 밝기 값과 구름 영역의 밝기 값의 차이에 기반하여, 구름 영역을 중심으로 주변에 위치한 픽셀의 밝기 값을 감소시킬 수 있다. 프로세서(240)는, 상기 밝기 값의 차이가 클수록, 주변 영역에 위치한 픽셀의 밝기 값을 상대적으로 감소시킬 수 있다.
동작 305에서, 일 실시예에서, 프로세서(240)는, 제1 이미지의 메타데이터, 제2 이미지의 구도를 결정하기 위한 사용자 입력, 또는 3차원 모델 중 적어도 하나에 기반하여 제2 이미지를 생성할 수 있다.
일 실시예에서, 프로세서(240)는, 제2 이미지의 구도를 결정하기 위한 사용자 입력 및 3차원 모델에 기반하여 제2 이미지를 획득할 수 있다. 사용자 입력은, 제2 이미지를 획득하기 위한 적경, 적위, 및 각도에 관한 정보를 포함할 수 있다. 일 실시예에서, 사용자 입력은, GPS 정보, 날짜, 시간, 및 관찰 방향에 관한 정보를 포함할 수도 있다. 일 실시예에서, 프로세서(240)는 미리 생성된 하나 이상의 제2 이미지를 저장할 수도 있다.
일 실시예에서, 프로세서(240)는, 제1 이미지에 포함된 촬영 일시, 위도, 경도, 및 지표면에 대한 가로축, 세로축, 수직축 회전 각도에 기반하여, 제1 이미지의 구도를 획득(또는 추정)할 수 있다. 일 실시예에서, 제1 이미지의 메타데이터는 제1 이미지의 촬영 일시, 제1 이미지의 GPS 정보, 및 제1 이미지가 촬영될 때 획득된 자이로 센서 정보를 포함할 수 있다.
일 실시예에서, 프로세서(240)는, 제1 이미지에 포함된 촬영 일시에 기반하여, 제1 이미지가 촬영된 시간 정보를 획득할 수 있다. 프로세서(240)는, 제1 이미지에 포함된 GPS 정보에 기반하여, 제1 이미지가 촬영된 위치 정보를 획득할 수 있다. 프로세서(240)는, 제1 이미지가 촬영된 위치 정보에 대응하는 위도 및 경도를 획득(또는 산출)할 수 있다. 프로세서(240)는, 제1 이미지가 촬영된 일시, 및 제1 이미지가 촬영된 장소의 위도 및 경도에 기반하여, 제1 이미지가 촬영된 일시 및 장소에서 관측 가능한 천체 이미지의 구도를 획득할 수 있다. 구도는, 방향 요소 및 각도 요소를 포함할 수 있다.
일 실시예에서, 프로세서(240)는 제1 이미지에 포함된 자이로 센서(gyro sensor) 정보에 기반하여, 제1 이미지에 대응하는 피치(pitch), 요우(yaw), 및 롤(roll) 값을 획득할 수 있다. 일 실시예에서, 피치 값은, 가로축에 대한 카메라 렌즈의 회전 각도일 수 있다. 요우 값은, 수직축에 대한 카메라 렌즈의 회전 각도일 수 있다. 롤 값은, 세로축에 대한 카메라 렌즈의 회전 각도일 수 있다. 프로세서(240)는, 제1 이미지에 대응하는 피치 값, 요우 값, 및 롤 값에 기반하여, 제1 이미지의 방향 및 각도를 획득할 수 있다. 프로세서(240)는 피치 값에 기반하여, 제1 이미지의 수직 방향 정보를 획득할 수 있다. 프로세서(240)는 요우 값에 기반하여, 제1 이미지의 수평 방향 정보를 획득할 수 있다. 프로세서(240)는 롤 값에 기반하여, 제1 이미지의 각도 정보를 획득할 수 있다. 일 실시예에서, 프로세서(240)는 제1 이미지의 메타데이터를 획득하지 못한 경우, 현재 시간, 전자 장치(200)의 자이로 센서 정보, 및 전자 장치(200)의 GPS 정보에 기반하여, 천체 이미지의 구도를 결정할 수 있다.
일 실시예에서, 프로세서(240)(예: 도 2의 전자 장치(200))는, 실제 천체 데이터에 기반하여, 천체들의 위치 및 밝기에 관한 정보를 메모리(230)(예: 도 1의 메모리(130))에 저장할 수 있다. 프로세서(240)는 가상의 3차원 구 형태의 천체 모델을 생성하는 것에 기반하여, 천체들의 위치 및 밝기에 관한 정보를 저장할 수 있다. 일 실시예에서, 프로세서(240)는 3차원 모델이 천구(celestial sphere)에 대응하도록, 구 형태의 3차원 모델을 생성할 수 있다. 구형의 3차원 모델의 중심 좌표는, 천구 상의 지구의 위치에 대응할 수 있다. 프로세서(240)는, 구 형태의 3차원 모델의 표면에 위치한 점 광원들이 천체들에 대응하도록, 천체들의 실시등급(apparent magnitude)에 기반하여, 점 광원들의 밝기 값을 결정할 수 있다. 천체의 실시등급은 천체의 절대등급(absolute magnitude) 및 지구와 천체 간의 거리에 기반하여 결정된 천체의 상대 밝기 값일 수 있다. 프로세서(240)는, 적도 좌표계 상에서 실제 천체의 적경 및 적위에 기반하여, 3차원 모델의 표면 상에서 점 광원의 위치를 결정할 수 있다. 프로세서(240)는 결정된 점 광원의 위치에 기반하여, 제1 이미지의 GPS 정보를 이용함으로써, 3차원 모델로부터 점 광원들의 위치를 확인할 수 있다. 적도 좌표계(equatorial coordinate system)는 천구의 적도(equator) 및 춘분점(vernal equinox)으로 기준으로, 천구 상에서의 천체의 방향을 적경(right ascension) 및 적위(declination)로 표현하는 방식일 수 있다. 춘분점은 태양이 황도를 따라 남쪽에서 북쪽으로 지나가면서 하늘의 적도와 만나는 점일 수 있다.
일 실시예에서, 프로세서(240)는 획득된 제1 이미지의 구도에 기반하여, 3차원 모델의 표면의 일부 영역을 획득함으로써, 제2 이미지를 생성할 수 있다. 일 실시예에서, 제2 이미지의 크기는 제1 이미지와 실질적으로 동일할 수 있다. 일 실시예에서, 프로세서(240)는 제1 이미지의 구도에 포함된 방향 및 각도에 기반하여, 제1 이미지와 실질적으로 동일한 크기의 표면 영역을 3차원 모델로부터 추출함으로써, 제2 이미지를 생성할 수 있다. 프로세서(240)는 원근 투영법(perspective projection)에 기반하여, 천체들을 포함하는 제2 이미지를 획득할 수 있다. 프로세서(240)는 제1 이미지의 구도에 기반하여, 제1 이미지의 크기와 실질적으로 동일한 이미지 평면(image plane)에 3차원 모델의 표면 상에 위치한 천체들을 투영할 수 있다. 프로세서(240)는 제1 이미지의 구도 및 3차원 모델에 기반하여 제2 이미지를 생성함으로써, 천구의 중심에서 관측 가능한 천체 이미지를 촬영하는 효과를 제공할 수 있다. 일 실시예에서, 프로세서(240)는 외부 전자 장치(예: 도 1의 전자 장치(104) 또는 서버(108))에 제1 이미지의 구도를 전송하고, 외부 전자 장치로부터 제1 이미지의 구도에 기반하여 가상의 3차원 모델로부터 추출된 제2 이미지를 수신할 수도 있다.
동작 307에서, 일 실시예에서, 프로세서(240)는, 적어도 하나의 서프레션 맵에 기반하여, 제1 영역에 대응하는 제2 이미지의 적어도 일부 영역의 픽셀 값을 변경할 수 있다.
일 실시예에서, 프로세서(240)는, 조명 영역에 대한 서프레션 맵, 달 영역에 대한 서프레션 맵, 및 구름 영역에 대한 서프레션 맵 중 적어도 하나에 포함된 픽셀 값에 기반하여, 제1 영역에 대응하는 제2 이미지의 적어도 일부 영역의 밝기 값을 감소시킬 수 있다. 프로세서(240)는 제2 이미지의 픽셀 값에 기반하여, 제2 이미지에 대한 색조(hue) 맵, 채도(saturation) 맵, 및 명도(value) 맵을 생성할 수 있다. 제2 이미지로부터 생성된 각각의 맵의 크기는 제2 이미지의 크기와 동일할 수 있다. 프로세서(240)는 수학식 1에 기반하여, 제2 이미지로부터 생성된 명도 맵의 밝기 값을 조정할 수 있다.
위 수학식 1은 단지 이해를 돕기 위한 예시일 뿐, 이에 제한되지 않으며, 다양한 방식으로 변형, 응용 또는 확장될 수 있다.
일 실시예에서, 수학식 1을 참조하면, 프로세서(240)는 제2 이미지에 대한 명도 맵의 픽셀 값(예: Vin(x, y)) 으로부터, 조정된 명도 맵의 픽셀 값 (예: Vout(x, y))을 획득(또는 산출)할 수 있다. 프로세서(240)는 제1 이미지의 전체 밝기 값(예: Brightinput) 및 기 설정된 기준 밝기 값(예: Brightref)에 기반하여, 제2 이미지의 전체 밝기 값을 조정할 수 있다. 프로세서(240)가 제2 이미지의 전체 밝기 값을 조정하는 방법에 관하여는 도 6에서 후술하도록 한다. 일 실시예에서, 프로세서(240)는 달에 대한 서프레션 맵의 픽셀 값(예: suppressionmoon(x, y)), 조명에 대한 서프레션 맵의 픽셀 값(예: suppressionlight(x, y)), 및 구름에 대한 서프레션 맵의 픽셀 값(예: suppressioncloud(x, y)) 중 적어도 하나에 기반하여, 명도 맵의 픽셀 값을 감소시킬 수 있다. 프로세서(240)는 서프레션 맵들의 픽셀 값에 반비례하여, 명도 맵의 픽셀 값을 결정할 수 있다. 예를 들어, 수학식 1을 참조하면, 프로세서(240)는 서프레션 맵의 픽셀 값이 클수록, 명도 맵의 픽셀 값을 상대적으로 크게 감소시킬 수 있다. 프로세서(240)는 명도 맵의 픽셀들을 순회함으로써, 일부 영역의 밝기 값이 조정된 제2 이미지를 획득할 수 있다. 프로세서(240)는 제1 이미지로부터 획득한 서프레션 맵들에 기반하여 제2 이미지에 대한 명도 맵의 픽셀 값을 조정함으로써, 제1 영역에 대응하는 영역에 위치한 천체들을 자연스럽게 흐리도록 하는 효과를 제공할 수 있다.
동작 309에서, 일 실시예에서, 프로세서(240)는, 제1 이미지의 제2 영역에 픽셀 값이 변경된 제2 이미지를 합성함으로써 제3 이미지를 획득할 수 있다.
일 실시예에서, 프로세서(240)는, 동작 307에 의하여 밝기 값이 조정된 제2 이미지를 제1 이미지의 제2 영역에 합성함으로써, 제3 이미지를 획득할 수 있다. 제2 영역은 기 설정된 객체를 포함하는 영역일 수 있다. 일 실시예에서, 제2 영역이 포함하는 객체는 구름 및 하늘일 수 있다. 제3 이미지는 제2 영역에서 제1 이미지 및 제2 이미지가 합성된 이미지일 수 있다. 제3 이미지의 크기는 제1 이미지 및 제2 이미지 각각의 크기와 실질적으로 동일할 수 있다. 프로세서(240)는 기 설정된 객체에 대응하는 영역에 대하여, 제1 이미지 및 제2 이미지를 합성할 수 있다. 프로세서(240)는 구름 영역 및 하늘 영역을 포함하는 영역에 대하여, 제1 이미지 및 제2 이미지의 가중합(weighted summation)을 수행할 수 있다. 프로세서(240)는 제1 이미지 및 제2 이미지 각각에 대한 가중치를 메모리(230)에 미리 저장할 수 있다. 프로세서(240)는 제1 이미지에 픽셀 값이 조정된 제2 이미지를 합성함으로써, 카메라 모듈(210)에 의하여 획득된 제1 이미지 상에 천체들을 단순히 표시할 뿐만 아니라, 제1 이미지 상에 픽셀 값이 조정된 천체들이 자연스럽게 합성된 이미지를 제공할 수 있다. 일 실시예에서, 제3 이미지 내에서 제2 영역을 제외한 영역들의 이미지는, 제1 이미지 내에서 제2 영역을 제외한 영역들의 이미지와 실질적으로 동일할 수 있다.
동작 311에서, 일 실시예에서, 프로세서(240)는, 상기 디스플레이 모듈(예: 도 3의 디스플레이 모듈(220))을 통하여, 합성된 제3 이미지를 표시할 수 있다.
일 실시예에서, 프로세서(240)는, 제1 이미지의 제2 영역에 제2 이미지가 합성된 제3 이미지를 표시하도록, 디스플레이 모듈(220)을 제어할 수 있다. 프로세서(240)는 디스플레이 모듈(220)을 통해 합성된 제3 이미지를 표시함으로써, 공간적 제약 및 시간적 제약에 제한되지 않고, 제1 이미지 상에 천체들이 합성된 이미지를 제공할 수 있다.
도 4는 본 개시의 일 실시예에 따른 전자 장치(예: 도 2의 전자 장치(200))가, 제1 이미지(410)로부터 제3 이미지(460)를 획득하는 동작을 설명하기 위한 예시도이다.
일 실시예에서, 프로세서(예: 도 2의 프로세서(240))는 카메라 모듈(예: 도 2의 카메라 모듈(210))에 의하여 획득된 제1 이미지(410)가 기 설정된 조건을 만족하는 이미지인지 여부를 확인할 수 있다. 일 실시예에서, 프로세서(240)는 상기 조건을 만족하는 제1 이미지(410)를 합성을 위한 입력 이미지로 결정할 수 있다. 상기 합성을 위한 입력 이미지를 결정하기 위한 조건은, 야간 하늘을 포함하는 이미지인지 여부일 수 있다. 일 실시예에서, 프로세서(240)는 기 학습된 이미지 분류(image classification) 모델에 제1 이미지(410)를 입력할 수 있다. 이미지 분류 모델은 다양한 객체를 포함하는 이미지들을 미리 학습할 수 있다. 학습된 이미지 분류 모델은, 입력된 이미지 내에서 하나 이상의 객체들에 대응하는 하나 이상의 레이블들을 출력할 수 있다. 프로세서(240)는 이미지 분류 모델로부터 출력된 하나 이상의 레이블들에 기반하여, 제1 이미지(410)가 야간 하늘을 포함하는 이미지인지 여부를 결정할 수 있다.
일 실시예에서, 프로세서(240)는 제1 이미지(410)가 야간 하늘을 포함하는 이미지임을 확인하는 것에 기반하여, 제1 이미지(410) 내에서 하나 이상의 객체들을 식별할 수 있다. 프로세서(240)는 도 3의 동작 301에 따라서, 제1 이미지(410) 내에서 하나 이상의 객체들을 식별할 수 있다. 일 실시예에서, 프로세서(240)는, 이미지 세그멘테이션에 기반하여, 제1 이미지(410)에 포함된 야간 하늘(411), 구름(413), 및 조명이 켜진 건물들(415)을 식별할 수 있다.
일 실시예에서, 프로세서(240)는, 제1 이미지(410) 내에서 식별된 하나 이상의 객체들 중에서, 적어도 하나의 객체에 대한 적어도 하나의 서프레션 맵(425)을 생성할 수 있다. 프로세서(240)는 도 3의 동작 303에 따라, 제1 이미지(410) 내에서 식별된 하나 이상의 객체들 중에서, 천체들의 밝기에 영향을 미치는 적어도 하나의 객체에 대한 적어도 하나의 서프레션 맵(425)을 생성할 수 있다. 예를 들어, 사용자는 조명이 켜진 건물들(415)의 높은 밝기 값으로 인하여, 제1 이미지(410) 내에서 건물 주변 영역에 위치한 천체들을 어둡게 인식할 수 있다. 사용자는 제1 이미지 내에서 구름(413)에 가리워진 천체들을 희미하게 인식할 수 있다. 일 실시예에서, 프로세서(240)는, 제2 이미지(440)에 포함된 천체들의 적어도 일부의 밝기 값을 조정하기 위하여, 구름(413) 및 건물들(415) 각각에 대한 서프레션 맵(425)을 생성할 수 있다. 천체들의 밝기에 영향을 미치는 적어도 하나의 객체를 포함하는 영역은 "제1 영역"으로 지칭될 수 있다.
일 실시예에서, 프로세서(240)는, 제1 이미지(410)로부터, 기 설정된 객체를 포함하는 영역들(451)의 이미지를 추출(또는 획득)할 수 있다. 프로세서(240)는 제1 이미지(410)를 기 설정된 객체를 포함하는 영역들(451)과 기 설정된 객체를 포함하지 않는 영역들(453)로 분류할 수 있다. 일 실시예에서, 기 설정된 객체를 포함하는 영역들은 "제2 영역"으로 지칭될 수 있다. 프로세서(240)는 제1 이미지(410)로부터, 기 설정된 객체를 포함하지 않는 영역들(453)의 픽셀 값을 제외함으로써, 마스크 이미지(mask image)를 생성할 수 있다. 예를 들어, 프로세서(240)는, 야간 하늘(411) 및 구름(413)을 포함하는 영역들(451)의 이미지를 추출함으로써, 제1 이미지(410)로부터 마스크 이미지를 생성할 수 있다.
일 실시예에서, 프로세서(240)는, 3차원 모델(430) 및 제1 이미지(410)에 포함된 메타데이터(421)에 기반하여, 3차원 모델(430)의 표면의 일부 영역을 획득함으로써, 제2 이미지(440)를 생성할 수 있다. 프로세서(240)는 도 3의 동작 305에 따라, 메타데이터(421)에 기반하여 제1 이미지(410)의 구도를 결정할 수 있다. 프로세서(240)는 결정된 구도에 기반하여 3차원 모델(430)의 표면을 제1 이미지(410)와 실질적으로 동일한 크기의 이미지 평면에 투영함으로써, 제2 이미지(440)를 생성할 수 있다. 프로세서(240)는 제1 이미지(410)가 촬영된 일시 및 장소에서 관찰 가능한 천체들을 3차원 모델(430)로부터 추출함으로써, 현실감 있는 천체 이미지를 획득할 수 있다.
일 실시예에서, 프로세서(240)는, 제1 이미지(410)의 전체 밝기 값에 기반하여, 제2 이미지(440)의 전체 밝기 값을 변경할 수 있다. 프로세서(240)는, 제1 이미지(410)의 픽셀들에 대한 명도 값을 획득(또는 추출)할 수 있다. 프로세서(240)는, 픽셀들의 명도 값의 대표(예: 중간, 최빈 또는 평균) 값을 산출함으로써, 제1 이미지(410)의 전체 밝기 값을 획득할 수 있다. 프로세서(240)는 제1 이미지(410)의 전체 밝기 값에 반비례하여, 제2 이미지(440)의 전체 밝기 값을 결정할 수 있다. 예를 들어, 프로세서(240)는 제1 이미지(410)의 전체 밝기 값이 작을수록, 제2 이미지(440)의 전체 밝기 값을 상대적으로 증가시킬 수 있다. 프로세서(240)는 제1 이미지(410)의 전체 밝기 값이 클수록, 제2 이미지(440)의 전체 밝기 값을 상대적으로 감소시킬 수 있다. 프로세서(240)는 제1 이미지(410)의 전체 밝기 값에 기반하여 제2 이미지(440)의 전체 밝기 값을 조정함으로써, 보다 현실감 있는 천체 이미지를 획득할 수 있다.
일 실시예에서, 프로세서(240)는, 제1 영역에 포함된 적어도 하나의 객체에 대응하는 적어도 하나의 서프레션 맵에 기반하여, 제2 이미지(440)의 적어도 일부 영역의 밝기 값을 조정할 수 있다. 프로세서(240)는 도 3의 동작 307에 따라, 서프레션 맵에 기반하여 제2 이미지(440)에 대한 명도 맵의 픽셀 값을 조정할 수 있다. 예를 들어, 프로세서(240)는 구름(413)에 대한 서프레션 맵 및 건물들(415)에 대한 서프레션 맵의 픽셀 값에 기반하여, 제2 이미지에 대한 명도 맵의 픽셀 값을 조정할 수 있다. 프로세서(240)는, 각각의 서프레션 맵의 픽셀 값에 기반하여, 구름(413) 및 건물들(415)과 가까운 영역에 대응하는 명도 맵의 픽셀 값을 크게 감소시킬 수 있다. 프로세서(240)는 제1 이미지(410)로부터 획득한 서프레션 맵에 기반하여 제2 이미지(440)의 일부 영역의 명도 값을 조정함으로써, 현실감 있는 천체 이미지를 획득할 수 있다.
일 실시예에서, 프로세서(240)는, 마스크 이미지(450)의 제2 영역(451)에 제2 이미지(440)를 합성함으로써, 제3 이미지(460)를 획득(또는 생성)할 수 있다. 프로세서(240)는 도 3의 동작 309에 따라, 제1 이미지(410)의 제2 영역(451)에 픽셀 값이 변경된 제2 이미지(440)를 합성함으로써, 제3 이미지(460)를 획득할 수 있다. 프로세서(240)는 가중치 연산에 기반하여 제1 이미지(410) 및 제2 이미지(440)를 합성함으로써, 제1 이미지(410)의 객체들과 제2 이미지(440)의 천체들이 자연스럽게 합성된 제3 이미지(460)를 제공할 수 있다.
도 5는 본 개시의 일 실시예에 따른 전자 장치(200)가, 제1 이미지(예: 도 4의 제1 이미지(410))로부터, 제2 이미지(예: 도 4의 제2 이미지(440))의 픽셀 값을 결정하기 위한 서프레션 맵을 획득하는 동작을 설명하기 위한 흐름도(500)이다.
이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.
일 실시 예에 따르면, 동작 501 내지 505는 전자 장치(예: 도 2의 전자 장치(200))의 프로세서(예: 도 2의 프로세서(240))에서 수행되는 것으로 이해될 수 있다.
도 5를 참조하면, 동작 501에서, 일 실시예에서, 프로세서(240)는, 제1 이미지(410)의 전체 밝기 값을 획득할 수 있다.
일 실시예에서, 프로세서(240)는, 프로세서(240)는, 제1 이미지(410)의 픽셀들에 대한 명도 값을 획득(또는 추출)할 수 있다. 예를 들어, 프로세서(240)는 제1 이미지(410)의 픽셀들을 순회함으로써, 픽셀들의 HSV 값을 획득할 수 있다. 프로세서(240)는 픽셀들의 HSV 값으로부터, 각각의 픽셀의 명도 값을 획득할 수 있다. 프로세서(240)는, 픽셀들의 명도 값의 대표(예: 중간, 최빈 또는 평균) 값을 산출함으로써, 제1 이미지(410)의 전체 밝기 값을 획득할 수 있다.
동작 503에서, 일 실시예에서, 프로세서(240)는, 제1 이미지(410)에 대한 마스크 이미지(예: 도 4의 마스크 이미지(450))을 획득할 수 있다.
일 실시예에서, 프로세서(240)는, 제1 이미지(410)로부터, 기 설정된 객체를 포함하는 영역들(예: 도 4의 제2 영역(451))의 이미지를 추출(또는 획득)할 수 있다. 일 실시예에서, 프로세서(240)는 프로세서(240)는 제1 이미지(410)로부터, 기 설정된 객체를 포함하지 않는 영역들(예: 도 4의 영역들(453))의 픽셀 값을 제외함으로써, 마스크 이미지(450)를 획득(또는 생성)할 수 있다. 예를 들어, 프로세서(240)는, 야간 하늘(411) 및 구름(413)을 포함하는 영역들(451)의 이미지를 추출함으로써, 제1 이미지(410)로부터 마스크 이미지(450)를 생성할 수 있다.
동작 505에서, 일 실시예에서, 프로세서(240)는, 제1 이미지(410) 내에서 식별된 객체들 중에서, 기 설정된 적어도 하나의 객체에 대응하는 적어도 하나의 서프레션 맵을 결정할 수 있다.
일 실시예에서, 프로세서(240)가 서프레션 맵을 결정하는 동작은, 도 3의 동작 303에 대응될 수 있다. 프로세서(240)는, 동작 501, 동작 503, 및 505 중 적어도 하나에 기반하여, 천체 이미지(예: 도 4의 제2 이미지(440))를 조정(또는 처리)하기 위한 정보를 제공할 수 있다.
도 6은 본 개시의 일 실시예에 따른 전자 장치(200)(예: 도 2의 프로세서(240))가, 제1 이미지(410)로부터 획득한 정보에 기반하여, 제1 이미지(410) 및 제2 이미지(440)를 합성하는 동작을 설명하기 위한 흐름도(600)이다.
도 6을 참조하면, 동작 601에서, 일 실시예에서, 프로세서(240)는, 제2 이미지(440)의 전체 밝기 값을 조정할 수 있다.
일 실시예에서, 프로세서(240)는, 제1 이미지(410)의 전체 밝기 값에 기반하여, 제2 이미지(440)의 전체 밝기 값을 조정할 수 있다. 예를 들어, 프로세서(240)는 제1 이미지(410)의 전체 밝기 값이 클수록, 제2 이미지(440)의 밝기 값을 감소시킬 수 있다. 프로세서(240)는 제1 이미지(410)의 전체 밝기 값이 낮을수록, 제2 이미지(440)의 밝기 값을 증가시킬 수 있다. 일 실시예에서, 프로세서(240)는 기 설정된 기준 밝기 값에 대한 제1 이미지(410)의 밝기 값의 밝기 값 비율을 획득할 수 있다. 프로세서(240)는 제2 이미지(440)로부터 획득된 명도 맵의 픽셀들 각각에 대하여 상기 밝기 값 비율을 곱함으로써, 제2 이미지(440)의 전체 밝기 값을 조정할 수 있다.
동작 603에서, 일 실시예에서, 프로세서(240)는, 서프레션 맵에 기반하여, 제2 이미지(440)의 일부 영역의 밝기 값을 결정할 수 있다.
일 실시예에서, 프로세서(240)가 서프레션 맵에 기반하여 제2 이미지(440)의 일부 영역의 밝기 값을 결정하는 동작은, 동작 307에 대응될 수 있다. 프로세서(240)는 제1 이미지(410)로부터 획득한 서프레션 맵에 기반하여 제2 이미지(440)의 일부 영역의 명도 값을 조정함으로써, 현실감 있는 천체 이미지를 획득할 수 있다.
동작 605에서, 일 실시예에서, 프로세서(240)는, 마스크 영역에 대하여, 제1 이미지(410) 및 제2 이미지(440)를 합성할 수 있다.
일 실시예에서, 프로세서(240)는 제1 이미지(410) 내에서 기 설정된 객체를 제외하는 영역의 픽셀 값을 제외(또는 삭제)함으로써, 마스크 영역(예: 도 4의 기 설정된 객체를 포함하는 영역(451))을 획득할 수 있다. 예를 들어, 프로세서(240)는 야간 하늘(예: 도 4의 야간 하늘(411)) 및 구름(예: 도 4의 구름(413))을 포함하는 영역의 픽셀 값을 획득할 수 있다. 프로세서(240)는, 마스크 영역에 대하여, 제1 이미지(410)에 명도 값이 조정된 제2 이미지(440)를 가중합 할 수 있다. 프로세서(240)는 마스크 영역을 제외한 영역에 대하여, 제1 이미지(410)의 픽셀 값을 그대로 이용할 수 있다. 예를 들어, 프로세서(240)는 야간 하늘(411) 및 구름(413)을 포함하는 영역에 대하여, 제1 이미지(410)의 야경 이미지 및 제2 이미지(440)의 천체 이미지를 합성할 수 있다.
동작 607에서, 일 실시예에서, 프로세서(240)는, 마스크 영역의 경계면의 밝기 값을 조정할 수 있다.
일 실시예에서, 프로세서(240)는 동작 605에 따라 합성된 이미지 내에서, 마스크 영역의 경계면에 대응하는 영역의 밝기 값을 조정함으로써, 제3 이미지(예: 도 3의 제2 이미지(460))를 획득할 수 있다. 일 실시예에서, 프로세서(240)는 마스크 영역의 내부 및 외부에 위치한 주변 픽셀들의 평균 밝기 값을 획득할 수 있다. 프로세서(240)는 주변 픽셀들의 대표(예: 중간, 최빈 또는 평균) 밝기 값에 기반하여, 경계면에 위치한 픽셀들의 밝기 값을 조정할 수 있다. 일 실시예에서, 마스크 영역의 경계면에 위치하는 픽셀들의 밝기 값을 조정하는 동작은 "블렌딩(blending)"으로 지칭될 수 있다. 프로세서(240)는, 동작 601, 동작 603, 동작 605, 및 동작 607 중 적어도 하나의 동작에 기반하여, 제1 이미지(410) 및 제2 이미지(440)를 합성함으로써, 합성된 제3 이미지(460)의 품질을 향상시킬 수 있다.
도 7은 본 개시의 일 실시예에 따른 전자 장치가, 사용자 입력에 기반하여, 제2 이미지의 구도를 조정하는 동작을 설명하기 위한 흐름도(700)이다.
이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.
일 실시 예에 따르면, 동작 701 내지 509는 전자 장치(예: 도 2의 전자 장치(200))의 프로세서(예: 도 2의 프로세서(240))에서 수행되는 것으로 이해될 수 있다.
도 7을 참조하면, 동작 701에서, 일 실시예에서, 프로세서(240)는, 제1 이미지(예: 도 4의 제1 이미지(410))에 제2 이미지(예: 도 4의 제2 이미지(440))를 합성할 수 있다.
일 실시예에서, 프로세서(240)는, 제1 이미지(410)에 제2 이미지(440)를 중첩함으로써, 제1 이미지(410)에 제2 이미지(440)를 합성할 수 있다. 일 실시예에서, 프로세서(240)는, 합성된 이미지로부터, 제2 영역(예: 도 4의 제2 영역(451))에 대응하는 제2 이미지(440)의 픽셀 값 및 제2 영역을 제외한 영역(예: 도 4의 영역(453))에 대응하는 제1 이미지(410)의 픽셀 값을 분리할 수 있다. 프로세서(240)는, 합성된 이미지로부터 제2 이미지(440)의 픽셀 값을 분리함으로써, 사용자 입력에 기반하여 제2 이미지(440)의 구도를 조정할 수 있다.
동작 703에서, 일 실시예에서, 프로세서(240)는, 디스플레이 모듈(예: 도 2의 디스플레이 모듈(220))을 통하여, 합성된 이미지 및 복수의 오브젝트들을 표시할 수 있다.
일 실시예에서, 프로세서(240)는, 디스플레이 모듈(220)이 합성된 이미지 중에서 제2 이미지(440)의 구도를 변경하기 위한 복수의 오브젝트들을 표시하도록 제어할 수 있다. 프로세서(240)가 디스플레이 모듈(220)을 통하여 표시하는 복수의 오브젝트들은 도 8에서 후술하도록 한다.
동작 705에서, 일 실시예에서, 프로세서(240)는, 사용자 입력에 기반하여, 제2 이미지(440)의 방향 및 각도 중 적어도 하나를 조정할 수 있다.
일 실시예에서, 프로세서(240)는, 사용자 입력에 기반하여, 제1 이미지(410)의 구도에 대응하여 결정된 제2 이미지(440)의 구도를 조정할 수 있다. 프로세서(240)는, 사용자 입력에 기반하여, 제2 이미지(440)의 방향 및 각도 중 적어도 하나를 변경할 수 있다. 프로세서(240)가 사용자 입력에 기반하여 제2 이미지(440)의 방향 및 각도 중 적어도 하나를 변경하는 구체적인 예시는 도 8에서 후술하도록 한다. 일 실시예에서, 프로세서(240)는, 사용자 입력에 기반하여, 제2 이미지(440)의 픽셀 값을 조정할 수도 있다.
동작 707에서, 일 실시예에서, 프로세서(240)는, 제1 이미지(410)의 마스크 영역에 대하여, 조정된 제2 이미지(440)를 합성함으로써, 제3 이미지(예: 도 4의 제3 이미지(460))를 획득할 수 있다.
일 실시예에서, 프로세서(240)가 제1 이미지(410)에 제2 이미지(440)에 합성하는 동작은, 도 3의 동작 309에 대응될 수 있다.
동작 709에서, 일 실시예에서, 프로세서(240)는, 디스플레이 모듈(220)을 통하여, 획득된 제3 이미지(460)를 표시할 수 있다.
일 실시예에서, 프로세서(240)가 디스플레이 모듈(220)을 통하여, 획득된 제3 이미지(460)를 표시하는 동작은, 도 3의 동작 311에 대응될 수 있다. 프로세서(240)는 동작 701, 동작 703, 동작 705, 동작 707, 및 동작 709 중 적어도 하나에 기반하여, 다양한 구도의 천체 이미지를 포함하는 합성 이미지를 제공할 수 있다.
도 8은 본 개시의 일 실시예에 따른 전자 장치가, 사용자 입력에 기반하여, 제2 이미지의 구도를 조정하는 동작을 설명하기 위한 예시도이다.
일 실시예에서, 프로세서(240)는 복수의 오브젝트들(821a, 821b, 821c, 821d, 823a, 및 823b) 중 적어도 하나에 대한 사용자 입력에 기반하여, 다양한 구도의 천체 이미지를 제공할 수 있다.
일 실시예에서, 프로세서(예: 도 2의 프로세서(240))는 제1 이미지(예: 도 4의 제1 이미지(410))에 제2 이미지를 중첩(810)함으로써, 합성된 이미지(820)를 획득할 수 있다. 일 실시예에서, 제2 이미지는 천체들을 포함하는 이미지일 수 있다. 일 실시예에서, 프로세서(240)는 제1 이미지(410)에 포함된 메타 데이터 및 3차원 모델에 기반하여 제2 이미지를 획득할 수 있다. 일 실시예에서, 프로세서(240)는 사용자 입력 및 3차원 모델에 기반하여 제2 이미지를 획득할 수도 있다. 사용자 입력은, 제2 이미지를 획득하기 위한 적경, 적위, 및 각도에 관한 정보를 포함할 수 있다. 일 실시예에서, 사용자 입력은, GPS 정보, 날짜, 시간, 및 관찰 방향에 관한 정보를 포함할 수도 있다. 일 실시예에서, 프로세서(240)는 미리 생성된 하나 이상의 제2 이미지를 저장할 수도 있다.
일 실시예에서, 프로세서(240)는 디스플레이를 통하여, 합성된 이미지(820) 및 복수의 오브젝트들(821a, 821b, 821c, 821d, 823a, 및 823b)을 표시할 수 있다. 복수의 오브젝트들은, 제2 이미지의 방향 또는 각도를 조정하기 위한 버튼일 수 있다. 예를 들어, 프로세서(240)는 제2 이미지를 좌측 방향으로 이동시키기 위한 오브젝트(821a), 우측 방향으로 이동시키기 위한 오브젝트(821b), 상방으로 이동시키기 위한 오브젝트(821c), 또는 하방으로 이동시키기 위한 오브젝트(821d)에 대한 사용자 입력에 기반하여, 제2 이미지의 방향을 조정할 수 있다. 프로세서(240)는 제2 이미지의 각도를 반시계 방향으로 회전시키기 위한 오브젝트(823a) 또는 시계 방향으로 회전시키기 위한 오브젝트(823b)에 기반하여, 제2 이미지의 각도를 조정할 수 있다.
일 실시예에서, 프로세서(240)는 제2 이미지를 좌측 방향으로 이동시키기 위한 오브젝트(821a)에 대한 사용자 입력에 기반하여, 제2 이미지가 왼쪽 방향으로 이동된 합성 이미지를 디스플레이 모듈(220)을 통하여 표시할 수 있다. 일 실시예에서, 프로세서(240)는 제2 이미지의 구도를 변경하기 위하여, 3차원 모델로부터 변경된 구도에 대응하는 제2 이미지를 획득할 수 있다.
일 실시예에서, 프로세서(240)는 사용자 입력에 기반하여, 제1 이미지(410)의 마스크 영역에 대하여, 구도가 조정된 제2 이미지를 합성(850)함으로써, 제3 이미지(860)를 획득할 수 있다.
도 9는 본 개시의 일 실시예에 따른 전자 장치(200)가, 추천 이미지(903)에 적용된 효과를 변경하는 동작을 설명하기 위한 예시도이다.
일 실시예에서, 프로세서(예: 도 2의 프로세서(240))는 사용자 입력에 기반하여, 추천 이미지(903)에 적용된 효과를 변경할 수 있다. 프로세서(240)는 대표 이미지(901)에 천체 이미지 효과를 적용함으로써, 추천 이미지(903)를 획득할 수 있다.
일 실시예에서, 참조부호 900을 참조하면, 프로세서(240)는 카메라 모듈(예: 도 2의 카메라 모듈(210))에 의하여 획득된 입력 영상으로부터, 대표 이미지(901)를 획득할 수 있다. 프로세서(240)는 대표 이미지(901)에 기반하여, 색상 필터, 증강현실 필터, 및 인물사진 필터와 같은 효과가 적용된 하나 이상의 이미지들을 획득할 수 있다.
일 실시예에서, 프로세서(240)는 이미지 분류에 기반하여, 대표 이미지(901)가 야간 하늘을 포함하는지 여부를 확인할 수 있다. 프로세서(240)는 대표 이미지(901)가 야간 하늘을 포함함을 확인하는 것에 기반하여, 대표 이미지(901)에 천체 이미지 효과가 적용된 추천 이미지(903)를 디스플레이 모듈(220)을 통하여 표시할 수 있다.
일 실시예에서, 프로세서(240)는 대표 이미지(901)의 전체 밝기 값을 획득할 수 있다. 프로세서(240)는 대표 이미지(901) 내에서 식별된 객체들 중 기 설정된 적어도 하나의 객체에 대응하는 적어도 하나의 서프레션 맵을 획득할 수 있다. 프로세서(240)는 대표 이미지(901)를 야간 하늘 및 구름을 포함하는 전경과 전경을 제외한 배경으로 분할할 수 있다. 프로세서(240)는 분할된 전경의 픽셀 값을 획득할 수 있다. 프로세서(240)는 획득한 대표 이미지(901)의 전체 밝기 값, 적어도 하나의 서프레션 맵, 및 전경의 픽셀 값을 저장할 수 있다.
일 실시예에서, 프로세서(240)는 대표 이미지(901)에 포함된 메타 데이터 및 3차원 모델에 기반하여, 전경(907a)에 천체 이미지 효과가 적용된 추천 이미지(903)를 획득할 수 있다. 일 실시예에서, 프로세서(240)는 대표 이미지(901)가 촬영된 시각, 전자 장치(200)의 GPS 정보, 및 대표 이미지(901)가 촬영된 시점에 획득된 자이로 센서 값에 기반하여, 천체 이미지의 구도를 결정할 수 있다. 프로세서(240)는 천체 이미지의 구도를 결정하기 위하여, 카메라 모듈(210)의 방향 에 관한 정보를 포함하는 가속도 센서 값을 더 이용할 수 있다. 일 실시예에서, 프로세서(240)는 결정된 구도에 기반하여, 3차원 모델의 표면의 일부 영역을 추출함으로써, 천체 이미지를 획득할 수 있다. 프로세서(240)는 천체 이미지를 대표 이미지(901)의 전경(907a)에 합성함으로써, 추천 이미지(903)를 획득할 수 있다.
일 실시예에서, 프로세서(240)는 획득된 추천 이미지(903)를 디스플레이 모듈(예: 도 2의 디스플레이(220))을 통하여 표시할 수 있다. 프로세서(240)는 추천 이미지(903)에 적용된 효과를 조정하기 위한 오브젝트(905)에 대한 사용자 입력에 기반하여, 추천 이미지(903)의 전경(907a)에 적용된 천체 이미지 효과를 조정하기 위한 화면을 표시(910)할 수 있다. 사용자 입력은, 디스플레이 모듈(220)을 통하여 표시된 오브젝트를 터치하는 동작일 수 있다. 일 실시예에서, 프로세서(240)는 추천 이미지의 배경(907b)은 동일하게 유지할 수 있다.
일 실시예에서, 참조부호 920을 참조하면, 프로세서(240)는 천체 이미지의 구도를 결정하는 방식과 관련되는 하나 이상의 오브젝트들(921a, 921b, 및 921c)을 표시할 수 있다. 일 실시예에서, 프로세서(240)는 오토(Auto) 오브젝트(921a)에 대한 사용자 입력에 기반하여, 추천 이미지(903)의 전경(907a)에, 대표 이미지(901)가 촬영된 시간 및 장소에 대응하는 천체 이미지의 구도를 표시할 수 있다. 일 실시예에서, 프로세서(240)는 프리셋(Preset) 오브젝트(921b)에 대한 사용자 입력에 기반하여, 추천 이미지(903)의 전경(907a)에, 미리 저장된 천체 이미지의 구도들 중 하나를 표시할 수 있다. 일 실시예에서, 프로세서(240)는 매뉴얼(Manual) 오브젝트(921c)에 대한 사용자 입력에 기반하여, 천체 이미지의 구도를 조정하기 위한 하나 이상의 오브젝트들(821a, 821b, 821c, 821d, 823a, 및 823b)을 표시할 수 있다. 프로세서(240)는 프로세서(240)는 하나 이상의 오브젝트들(821a, 821b, 821c, 821d, 823a, 및 823b) 중 적어도 하나에 대한 사용자 입력에 기반하여, 천체 이미지의 방향 및 각도 중 적어도 하나를 조정할 수 있다. 일 실시예에서, 프로세서(240)는 사용자 입력에 포함된 날짜, 시간, 적경, 및 적위에 기반하여, 3차원 모델의 표면의 일부 영역을 추출함으로써, 천체 이미지의 구도를 조정할 수도 있다. 일 실시예에서, 프로세서(240)는 오토 오브젝트(921a)에 대한 사용자 입력에 기반하여, 미리 설정된 구도 또는 사용자 입력에 기반하여 결정된 구도로부터, 대표 이미지(901)의 메타 데이터에 기반하여 결정된 구도로, 천체 이미지의 구도를 조정할 수 있다. 일 실시예에서, 프로세서(240)는 취소(Cancel) 오브젝트(923a)에 대한 사용자 입력에 기반하여, 조정된 천체 이미지 효과를 취소할 수 있다. 일 실시예에서, 프로세서(240)는 적용(Apply) 오브젝트(923b)에 대한 사용자 입력에 기반하여, 조정된 천체 이미지 효과를 적용할 수 있다.
일 실시예에서, 프로세서(240)는 다이얼 오브젝트(925a)에 대한 사용자 입력에 기반하여, 천체 이미지의 효과의 강도(strength)를 조정할 수 있다. 일 실시예에서, 상기 효과의 강도는, 천체 이미지에 포함된 하나 이상의 천체들의 밝기일 수 있다. 예를 들어, 프로세서(240)는, 천체 이미지의 천체들의 밝기 값을 증가 또는 감소시킴으로써, 천체 이미지의 효과의 강도를 조정할 수 있다. 일 실시예에서, 프로세서(240)는 디스플레이 모듈(220)을 통해 표시된 슬라이드 바(925c)에서 슬라이드(925b)의 길이에 비례하여, 천체 이미지 효과의 강도를 조정할 수 있다. 일 실시예에서, 프로세서(240)는 다이얼 오브젝트(925a)에 대한 사용자 입력에 기반하여, 천체 이미지 효과의 강도를 감소(930)시킬 수 있다.
일 실시예에서, 참조부호 940을 참조하면, 프로세서(240)는 전경(941a)에 효과의 강도가 감소된 천체 이미지를 표시할 수 있다. 프로세서(240)는 대표 이미지의 배경(941b)을 유지할 수 있다.
도 10은 본 개시의 일 실시예에 따른 전자 장치(200)가, 하나 이상의 입력 이미지에 기반하여 합성 영상을 획득하는 동작을 설명하기 위한 흐름도(1000)이다.
이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.
일 실시 예에 따르면, 동작 1001 내지 1009는 전자 장치(예: 도 2의 전자 장치(200))의 프로세서(예: 도 2의 프로세서(240))에서 수행되는 것으로 이해될 수 있다
일 실시예에서, 프로세서(240)는 하나 이상의 입력 이미지들의 타임 스탬프에 기반하여, 구도가 조정된 하나 이상의 천문 이미지(또는 천체 이미지)를 생성함으로써, 합성 영상을 획득할 수 있다.
도 10을 참조하면, 동작 1001에서, 일 실시예에서, 프로세서(240)는, 초기 입력 이미지에 대응하는 천문 이미지(또는 천체 이미지)의 초기 구도를 결정할 수 있다.
일 실시예에서, 프로세서(240)는, 카메라 모듈(예: 도 2의 카메라 모듈(210))에 의하여 획득된 초기 입력 이미지의 메타 데이터에 기반하여, 초기 입력 이미지에 대응하는 천체 이미지의 초기 구도를 결정할 수 있다. 프로세서(240)는, 도 3의 동작 305에 따라, 초기 입력 이미지 및 3차원 모델에 기반하여, 천체 이미지의 구도를 결정할 수 있다.
동작 1003에서, 일 실시예에서, 프로세서(240)는, 초기 입력 이미지 및 천문 이미지(또는 천체 이미지)를 합성함으로써, 초기 합성 프레임을 획득할 수 있다.
일 실시예에서, 프로세서(240)는, 초기 입력 이미지의 하늘 및 구름을 포함하는 영역에, 결정된 초기 구도에 기반하여 생성된 천체 이미지를 합성함으로써, 초기 합성 프레임을 획득할 수 있다.
동작 1005에서, 일 실시예에서, 프로세서(240)는, 하나 이상의 입력 이미지들 각각의 타임 스탬프에 기반하여, 천문 이미지(또는 천체 이미지)의 구도를 조정할 수 있다.
일 실시예에서, 프로세서(240)는, 천체 이미지의 초기 구도로부터, 타임 스탬프에 따라 변경된 시간에 기반하여 천체 이미지의 구도를 조정함으로써, 시간에 따라 천체 이미지 내에서 천체들이 이동하는 효과를 제공할 수 있다.
동작 1007에서, 일 실시예에서, 프로세서(240)는, 하나 이상의 입력 이미지들 및 각각의 입력 이미지의 타임스탬프에 기반하여 구도가 조정된 천문 이미지(또는 천체 이미지)를 합성함으로써, 하나 이상의 합성 프레임들을 획득할 수 있다.
일 실시예에서, 프로세서(240)는, 초기 입력 이미지로부터 획득된 마스크 이미지 및 적어도 하나의 서프레션 맵에 기반하여, 구도가 조정된 하나 이상의 천체 이미지들 각각의 일부 픽셀 값을 변경할 수 있다. 프로세서(240)는 하나 이상의 입력 이미지들에, 입력 이미지들 각각에 대응하는 천체 이미지를 합성함으로써, 하나 이상의 합성 프레임들을 획득할 수 있다.
동작 1009에서, 일 실시예에서, 프로세서(240)는, 초기 합성 프레임 및 획득된 합성 프레임들을 순차적으로 연결함으로써, 합성 영상을 획득할 수 있다.
일 실시예에서, 프로세서(240)는, 타임 스탬프에 기반하여, 시간에 따라 초기 합성 프레임 및 획득된 합성 프레임들을 순차적으로 연결함으로써, 합성 영상을 획득할 수 있다.
도 11은 본 개시의 일 실시예에 따른 전자 장치가, 복수의 입력 이미지에 기반하여 합성 영상을 획득하는 동작을 설명하기 위한 예시도이다.
일 실시예에서, 프로세서(예: 도 2의 프로세서(240))는, 카메라 모듈(예: 도 2의 카메라 모듈(210))에 의하여 획득된 초기 입력 이미지(1101_1)의 메타 데이터에 기반하여, 초기 입력 이미지(1101_1)에 대응하는 천체 이미지(1111_1)의 초기 구도를 결정할 수 있다. 프로세서(240)는, 도 3의 동작 305에 따라, 초기 입력 이미지(1101_1) 및 3차원 모델에 기반하여, 천체 이미지(1111_1)의 초기 구도를 결정할 수 있다.
일 실시예에서, 프로세서(240)는, 초기 입력 이미지(1101_1)의 하늘 및 구름을 포함하는 영역에, 결정된 초기 구도에 기반하여 생성된 천체 이미지(1111_1)를 합성함으로써, 초기 합성 프레임(1121_1)을 획득할 수 있다.
일 실시예에서, 프로세서(240)는, 천체 이미지(1111_1)의 초기 구도로부터, 타임 스탬프에 따라 변경된 시간에 기반하여 천체 이미지의 구도를 조정함으로써, 시간에 따라 천체 이미지 내에서 천체들이 이동하는 효과를 제공할 수 있다.
일 실시예에서, 프로세서(240)는, 초기 입력 이미지(1101_1)로부터 획득된 마스크 이미지 및 적어도 하나의 서프레션 맵에 기반하여, 구도가 조정된 하나 이상의 천체 이미지들(1111_2, 및 1111_3 내지 1111_N) 각각의 일부 픽셀 값을 변경할 수 있다. 프로세서(240)는 하나 이상의 입력 이미지들(1101_2, 및 1101_3 내지 1101_N)에, 입력 이미지들 각각에 대응하는 천체 이미지를 합성함으로써, 하나 이상의 합성 프레임들(1121_2, 및 1121_3 내지 1121_N)을 획득할 수 있다.
일 실시예에서, 프로세서(240)는, 타임 스탬프에 기반하여, 시간에 따라 초기 합성 프레임(1121_1) 및 획득된 합성 프레임들(1121_2, 및 1121_3 내지 1121_N)을 순차적으로 연결함으로써, 합성 영상을 획득할 수 있다.
도 12는 본 개시의 일 실시예에 따른 전자 장치(200)가, 일주 운동 효과가 적용된 합성 이미지를 획득하는 동작을 설명하기 위한 흐름도(1200)이다.
이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.
일 실시 예에 따르면, 동작 1201 내지 1209는 전자 장치(예: 도 2의 전자 장치(200))의 프로세서(예: 도 2의 프로세서(240))에서 수행되는 것으로 이해될 수 있다
일 실시예에서, 프로세서(240)는, 기 획득된 제1 이미지에, 구도가 조정된 하나 이상의 천문 이미지들(또는 천체 이미지들)을 누적함으로써, 일주 운동 효과가 적용된 제3 이미지를 획득할 수 있다. 프로세서(240)는 시간적 제약 및 공간적 제약에 제한되지 않고, 장노출 효과가 적용된 제3 이미지를 제공할 수 있다.
도 12를 참조하면, 동작 1201에서, 일 실시예에서, 프로세서(240)는, 사용자 입력에 기반하여, 제2 이미지의 영상 길이를 결정할 수 있다.
일 실시예에서, 프로세서(240)는, 제2 이미지의 영상 길이에 기반하여, 일주 운동 효과의 강도를 결정할 수 있다. 일 실시예에서, 사용자 입력은 일주 운동 시간에 관한 정보를 포함할 수 있다.
동작 1203에서, 일 실시예에서, 프로세서(240)는, 제2 이미지의 구도를 변경함으로써, 복수의 천문 이미지들(또는 천체 이미지들)을 획득할 수 있다.
일 실시예에서, 프로세서(240)는, 결정된 영상 길이에 기반하여, 기 설정된 시간 간격으로 제2 이미지의 구도를 변경함으로써, 하나 이상의 천체 이미지들을 획득할 수 있다. 일 실시예에서, 프로세서(240)는 도 3의 동작 305에 따라, 제1 이미지의 메타 데이터 및 3차원 모델에 기반하여, 제2 이미지의 초기 구도를 결정할 수 있다. 프로세서(240)는 기 설정된 시간 간격으로 변경되는 타임 스탬프에 기반하여, 제2 이미지의 구도를 변경할 수 있다.
동작 1205에서, 일 실시예에서, 프로세서(240)는, 복수의 천문 이미지들(또는 천체 이미지들)을 누적함으로써, 일주 운동 이미지를 획득할 수 있다.
일 실시예에서, 프로세서(240)는, 획득된 하나 이상의 천체 이미지들을 누적함으로써, 하나의 일주 운동 이미지를 획득할 수 있다.
동작 1207에서, 일 실시예에서, 프로세서(240)는, 제1 이미지의 제2 영역에 일주 운동 이미지를 합성함으로써, 일주 운동 효과가 적용된 제3 이미지를 획득할 수 있다.
일 실시예에서, 프로세서(240)는, 제1 이미지 내에서 구름 및 야간 하늘을 포함하는 적어도 일부 영역에, 획득된 일주 운동 이미지를 합성함으로써, 일주 운동 효과가 적용된 제3 이미지를 획득할 수 있다.
동작 1209에서, 일 실시예에서, 프로세서(240)는, 디스플레이 모듈(220)을 통하여, 일주 운동 효과가 적용된 제3 이미지를 표시할 수 있다.
일 실시예에서, 프로세서(240)는 과거에 획득된 제1 이미지에, 가상의 시점에서 바라보는 천체들의 일주 운동 효과를 적용함으로써, 시간적 제약 및 공간적 제약에 제한되지 않고, 합성 이미지를 제공할 수 있다.
도 13은 본 개시의 일 실시예에 따른 전자 장치가, 일주 운동 효과가 적용된 합성 이미지를 획득하는 동작을 설명하기 위한 예시도이다.
일 실시예에서, 프로세서(예: 도 2의 프로세서(240))는, 과거에 획득된 제1 이미지(1300)에, 가상의 시점에서 바라보는 천체들의 일주 운동 효과를 적용함으로써, 시간적 제약 및 공간적 제약에 제한되지 않고, 제3 이미지(1330)를 제공할 수 있다.
일 실시예에서, 프로세서(240)는 사용자 입력에 기반하여, 제2 이미지(1301)의 영상 길이를 결정할 수 있다. 일 실시예에서, 사용자 입력은 일주 운동 시간에 관한 정보를 포함할 수 있다.
일 실시예에서, 프로세서(240)는, 결정된 영상 길이에 기반하여, 기 설정된 시간 간격(Δt)으로 제2 이미지(1301)의 구도를 변경함으로써, 하나 이상의 천체 이미지들(1311_1, 및 1311_2 내지 1311_N)을 획득할 수 있다. 일 실시예에서, 프로세서(240)는 도 3의 동작 305에 따라, 제1 이미지(1300)의 메타 데이터 및 3차원 모델에 기반하여, 제2 이미지의 초기 구도를 결정할 수 있다. 프로세서(240)는 기 설정된 시간 간격으로 변경되는 타임 스탬프에 기반하여, 제2 이미지의 구도를 변경할 수 있다. 일 실시예에서, 프로세서(240)는, 획득된 하나 이상의 천체 이미지들(1311_1, 및 1311_2 내지 1311_N)을 누적함으로써, 하나의 일주 운동 이미지(1320)를 획득할 수 있다.
일 실시예에서, 프로세서(240)는, 제1 이미지(1300) 내에서 구름 및 야간 하늘을 포함하는 적어도 일부 영역(1303)에, 획득된 일주 운동 이미지(1320)를 합성함으로써, 일주 운동 효과가 적용된 제3 이미지(1330)를 획득할 수 있다. 프로세서(240)는, 디스플레이 모듈(예: 도 2의 디스플레이 모듈(220))을 통하여, 일주 운동 효과가 적용된 제3 이미지(1330)를 표시할 수 있다.
일 실시예에 따른 전자 장치(101; 200)는, 카메라 모듈(180; 210), 디스플레이 모듈(160; 220), 및 상기 카메라 모듈(180; 210) 및 상기 디스플레이 모듈(160; 220)과 작동적으로 연결되는 적어도 하나의 프로세서(120; 240)를 포함할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 제1 이미지(410) 내에서 하나의 이상의 객체들을 식별할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 식별된 하나 이상의 객체들 각각에 대응하는 영역들의 픽셀 값에 기반하여, 상기 제1 이미지(410)의 제1 영역의 픽셀 값과 관련되는 적어도 하나의 맵을 결정할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 제1 이미지(410)의 메타데이터, 제2 이미지(440)의 구도를 결정하기 위한 사용자 입력, 또는 3차원 모델(430) 중 적어도 하나에 기반하여 제2 이미지(440)를 생성할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 결정된 적어도 하나의 맵에 기반하여, 상기 제1 영역에 대응하는 상기 제2 이미지(440)의 적어도 일부 영역의 픽셀 값을 변경할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 제1 이미지(410)의 제2 영역에 상기 픽셀 값이 변경된 제2 이미지(440)를 합성함으로써 제3 이미지(460)를 획득할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 디스플레이 모듈(160; 220)을 통해, 상기 제3 이미지(460)를 표시하도록 구성될 수 있다.
상기 적어도 하나의 프로세서(120; 240)는, 상기 제1 이미지(410)를 기 학습된 이미지 분류 모델에 입력할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 이미지 분류 모델의 출력에 기반하여, 상기 제1 이미지(410)가 기 설정된 적어도 하나의 객체를 포함하는지 여부를 확인할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 제1 이미지(410)가 상기 기 설정된 적어도 하나의 객체를 포함함을 확인함에 기반하여, 상기 제1 이미지(410) 내에서 하나 이상의 객체들을 식별하도록 구성될 수 있다.
상기 적어도 하나의 프로세서(120; 240)는, 상기 제1 이미지(410)의 픽셀 값에 기반하여, 상기 제1 이미지(410)의 전체 밝기 값을 획득할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 획득된 상기 제1 이미지(410)의 전체 밝기 값에 기반하여, 상기 제2 이미지(440)의 전체 밝기 값을 변경하도록 구성될 수 있다.
상기 적어도 하나의 프로세서(120; 240)는, 상기 제2 이미지(440)의 픽셀 값에 기반하여, 상기 제2 이미지(440)에 대응하는 명도 맵을 획득할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 제1 영역의 픽셀 값과 관련되는 상기 적어도 하나의 맵의 명도 값에 기반하여, 상기 명도 맵에 포함된 픽셀 값을 조정하도록 구성될 수 있다.
상기 적어도 하나의 프로세서(120; 240)는, 상기 식별된 하나 이상의 객체들이 기 설정된 적어도 하나의 객체를 포함하는지 여부를 확인할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 식별된 하나의 이상의 객체들이 상기 기 설정된 적어도 하나의 객체를 포함함을 확인함에 기반하여, 상기 기 설정된 적어도 하나의 객체에 대응하는 적어도 하나의 영역을 결정할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 결정된 적어도 하나의 영역의 픽셀 값을 획득함으로써, 마스크 이미지(450)를 생성하도록 구성될 수 있다.
상기 3차원 모델은, 하나 이상의 천체들의 위치 및 픽셀 값에 관한 정보를 포함할 수 있다.
상기 적어도 하나의 프로세서(120; 240)는, 상기 제1 이미지(410)에 상기 제2 이미지(440)를 합성할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 디스플레이 모듈(160; 220)을 통하여, 상기 합성된 이미지 및 복수의 오브젝트들을 표시할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 복수의 오브젝트들 중 적어도 하나에 대한 사용자 입력에 기반하여, 상기 제2 이미지(440)의 방향 및 각도 중 적어도 하나를 조정할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 조정된 제2 이미지(440)를 상기 제1 이미지(410)의 적어도 일부 영역에 합성함으로써, 상기 제3 이미지(460)를 획득할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 디스플레이 모듈(160; 220)을 통하여, 상기 제3 이미지(460)를 표시하도록 구성될 수 있다.
상기 적어도 하나의 프로세서(120; 240)는, 상기 복수의 오브젝트들 중 하나에 대한 사용자 입력을 감지할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 감지한 사용자 입력에 기반하여, 상기 제2 이미지(440)의 픽셀 값을 조정하도록 구성될 수 있다.
상기 적어도 하나의 프로세서(120; 240)는, 상기 카메라 모듈(180; 210)에 의하여 획득된 초기 입력 이미지 (1101_1)의 메타 데이터에 기반하여, 상기 초기 입력 이미지 (1101_1)에 대응하는 천체 이미지(1111_1)의 초기 구도를 결정할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 초기 입력 이미지(1101_1)에 상기 결정된 초기 구도에 기반하여 생성된 천체 이미지(1111_1)를 합성함으로써, 초기 합성 프레임(1121_1)을 획득할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 카메라 모듈(180; 210)에 의하여 더 획득된 하나 이상의 입력 이미지들(1101_N) 각각의 타임 스탬프에 기반하여, 상기 천체 이미지(1111_1)의 구도를 조정할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 하나 이상의 입력 이미지들(1101_N) 각각에, 상기 각각의 타임 스탬프에 기반하여 구도가 조정된 천체 이미지(1111_N)를 합성함으로써, 하나 이상의 합성 프레임들(1121_N)을 획득할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 초기 합성 프레임(1121_1) 및 상기 획득된 합성 프레임들(1121_N)을 순차적으로 연결함으로써, 합성 영상(1131)을 획득하도록 구성될 수 있다.
상기 적어도 하나의 프로세서(120; 240)는, 사용자 입력에 기반하여, 상기 제2 이미지(440; 1301)의 영상 길이를 결정할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 결정된 영상 길이에 기반하여, 기 설정된 시간 간격으로 상기 제2 이미지(440; 1301)의 구도를 변경함으로써, 하나 이상의 천체 이미지들(1311_N)을 획득할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 획득된 하나 이상의 천체 이미지들(1311_N)을 누적함으로써, 일주 운동 이미지(1320)를 획득할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 제1 이미지(410)의 적어도 일부 영역에 상기 획득된 일주 운동 이미지(1320)를 합성함으로써, 일주 운동 효과가 적용된 제3 이미지(1330)를 획득할 수 있다. 상기 적어도 하나의 프로세서(120; 240)는, 상기 디스플레이 모듈(160; 220)을 통하여, 상기 일주 운동 효과가 적용된 제3 이미지(1330)를 표시하도록 구성될 수 있다.
일 실시예에 따른 전자 장치(101; 200)의 이미지를 합성하는 방법은, 제1 이미지(410) 내에서 하나의 이상의 객체들을 식별하는 동작을 포함할 수 있다. 상기 방법은, 상기 식별된 하나 이상의 객체들 각각에 대응하는 영역들의 픽셀 값에 기반하여, 상기 제1 이미지(410)의 제1 영역의 픽셀 값과 관련되는 적어도 하나의 맵을 결정하는 동작을 포함할 수 있다. 상기 방법은, 상기 제1 이미지(410)의 메타데이터, 제2 이미지(440)의 구도를 결정하기 위한 사용자 입력, 또는 3차원 모델(430) 중 적어도 하나에 기반하여 제2 이미지(440)를 생성하는 동작을 포함할 수 있다. 상기 방법은, 상기 결정된 적어도 하나의 맵에 기반하여, 상기 제1 영역에 대응하는 상기 제2 이미지(440)의 적어도 일부 영역의 픽셀 값을 변경하는 동작을 포함할 수 있다. 상기 방법은, 상기 제1 이미지(410)의 제2 영역에 상기 픽셀 값이 변경된 제2 이미지(440)를 합성함으로써 제3 이미지(460)를 획득하는 동작을 포함할 수 있다. 상기 방법은, 디스플레이 모듈(160; 220)을 통해, 상기 제3 이미지(460)를 표시하는 동작을 포함할 수 있다.
상기 방법은, 상기 제1 이미지(410)를 기 학습된 이미지 분류 모델에 입력하는 동작을 포함할 수 있다. 상기 방법은, 상기 이미지 분류 모델의 출력에 기반하여, 상기 제1 이미지(410)가 기 설정된 적어도 하나의 객체를 포함하는지 여부를 확인하는 동작을 포함할 수 있다. 상기 방법은, 상기 제1 이미지(410)가 상기 기 설정된 적어도 하나의 객체를 포함함을 확인함에 기반하여, 상기 제1 이미지(410) 내에서 하나 이상의 객체들을 식별하는 동작을 더 포함할 수 있다.
상기 방법은, 상기 제1 이미지(410)의 픽셀 값에 기반하여, 상기 제1 이미지(410)의 전체 밝기 값을 획득하는 동작을 포함할 수 있다. 상기 방법은, 상기 획득된 상기 제1 이미지(410)의 전체 밝기 값에 기반하여, 상기 제2 이미지(440)의 전체 밝기 값을 변경하는 동작을 더 포함할 수 있다.
상기 방법은, 상기 제2 이미지(440)의 픽셀 값에 기반하여, 상기 제2 이미지(440)에 대응하는 명도 맵을 획득하는 동작을 포함할 수 있다. 상기 방법은, 상기 제1 영역의 픽셀 값과 관련되는 상기 적어도 하나의 맵의 명도 값에 기반하여, 상기 명도 맵에 포함된 픽셀 값을 조정하는 동작을 더 포함할 수 있다.
상기 방법은, 상기 식별된 하나 이상의 객체들이 기 설정된 적어도 하나의 객체를 포함하는지 여부를 확인하는 동작을 포함할 수 있다. 상기 방법은, 상기 식별된 하나의 이상의 객체들이 상기 기 설정된 적어도 하나의 객체를 포함함을 확인함에 기반하여, 상기 기 설정된 적어도 하나의 객체에 대응하는 적어도 하나의 영역을 결정하는 동작을 포함할 수 있다. 상기 방법은, 상기 결정된 적어도 하나의 영역의 픽셀 값을 획득함으로써, 마스크 이미지(450)를 생성하는 동작을 더 포함할 수 있다.
상기 방법에서, 상기 3차원 모델(430)은, 하나 이상의 천체들의 위치 및 픽셀 값에 관한 정보를 포함할 수 있다.
상기 방법은, 상기 제1 이미지에 상기 제2 이미지(440)를 합성하는 동작을 더 포함할 수 있다. 상기 방법은, 상기 디스플레이 모듈(160; 220)을 통하여, 상기 합성된 이미지 및 복수의 오브젝트들을 표시하는 동작을 포함할 수 있다. 상기 방법은, 상기 복수의 오브젝트들 중 적어도 하나에 대한 사용자 입력에 기반하여, 상기 제2 이미지(440)의 방향 및 각도 중 적어도 하나를 조정하는 동작을 포함할 수 있다. 상기 방법은, 상기 조정된 제2 이미지(440)를 상기 제1 이미지(410)의 적어도 일부 영역에 합성함으로써, 상기 제3 이미지(460)를 획득하는 동작을 포함할 수 있다. 상기 방법은, 상기 디스플레이 모듈(160; 220)을 통하여, 상기 제3 이미지(460)를 표시하는 동작을 더 포함할 수 있다.
상기 방법은, 상기 복수의 오브젝트들 중 하나에 대한 사용자 입력을 감지하는 동작을 포함할 수 있다. 상기 방법은, 상기 감지한 사용자 입력에 기반하여, 상기 제2 이미지(440)의 픽셀 값을 조정하는 동작을 더 포함할 수 있다. 상기 방법은, 상기 카메라 모듈(180; 210)에 의하여 획득된 초기 입력 이미지(1101_1)의 메타 데이터에 기반하여, 상기 초기 입력 이미지(1101_1)에 대응하는 천체 이미지(1111_1)의 초기 구도를 결정하는 동작을 포함할 수 있다. 상기 방법은, 상기 초기 입력 이미지(1101_1)에 상기 결정된 초기 구도에 기반하여 생성된 천체 이미지(1111_1)를 합성함으로써, 초기 합성 프레임(1121_1)을 획득하는 동작을 포함할 수 있다. 상기 방법은, 상기 카메라 모듈(180; 210)에 의하여 더 획득된 하나 이상의 입력 이미지들(1101_N) 각각의 타임 스탬프에 기반하여, 상기 천체 이미지(1111_1)의 구도를 조정하는 동작을 포함할 수 있다. 상기 방법은, 상기 하나 이상의 입력 이미지들(1101_N) 각각에, 상기 각각의 타임 스탬프에 기반하여 구도가 조정된 천체 이미지(1111_N)를 합성함으로써, 하나 이상의 합성 프레임들(1121_N)을 획득하는 동작을 포함할 수 있다. 상기 방법은, 상기 초기 합성 프레임(1121_1) 및 상기 획득된 합성 프레임들(1121_N)을 순차적으로 연결함으로써, 합성 영상(1131)을 획득하는 동작을 더 포함할 수 있다.
상기 방법은, 사용자 입력에 기반하여, 상기 제2 이미지(440; 1301)의 영상 길이를 결정하는 동작을 포함할 수 있다. 상기 방법은, 상기 결정된 영상 길이에 기반하여, 기 설정된 시간 간격으로 상기 제2 이미지(440; 1301)의 구도를 변경함으로써, 하나 이상의 천체 이미지들(1311_N)을 획득하는 동작을 포함할 수 있다. 상기 방법은, 상기 획득된 하나 이상의 천체 이미지들(1311_N)을 누적함으로써, 일주 운동 이미지(1320)를 획득하는 동작을 포함할 수 있다. 상기 방법은, 상기 제1 이미지(410)의 적어도 일부 영역에 상기 획득된 일주 운동 이미지(1320)를 합성함으로써, 일주 운동 효과가 적용된 제3 이미지(1330)를 획득하는 동작을 포함할 수 있다. 상기 방법은, 상기 디스플레이 모듈(160; 220)을 통하여, 상기 일주 운동 효과가 적용된 제3 이미지(1330)를 표시하는 동작을 더 포함할 수 있다.
본 문서에 개시된 일 실시예에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 일 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "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)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
일 실시예에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 일 실시예에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 일 실시예에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, CD-ROM, DVD 등)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
Claims (15)
- 전자 장치(101; 200)에 있어서,카메라 모듈(180; 210);디스플레이 모듈(160; 220); 및상기 카메라 모듈(180; 210) 및 상기 디스플레이 모듈(160; 220)과 작동적으로 연결되는 적어도 하나의 프로세서(120; 240)를 포함하고,상기 적어도 하나의 프로세서(120; 240)는,제1 이미지(410) 내에서 하나의 이상의 객체들을 식별하고,상기 식별된 하나 이상의 객체들 각각에 대응하는 영역들의 픽셀 값에 기반하여, 상기 제1 이미지(410)의 제1 영역의 픽셀 값과 관련되는 적어도 하나의 맵을 결정하고,상기 제1 이미지(410)의 메타데이터, 제2 이미지(440)의 구도를 결정하기 위한 사용자 입력, 또는 3차원 모델(430) 중 적어도 하나에 기반하여 제2 이미지(440)를 생성하고,상기 결정된 적어도 하나의 맵에 기반하여, 상기 제1 영역에 대응하는 상기 제2 이미지(440)의 적어도 일부 영역의 픽셀 값을 변경하고,상기 제1 이미지(410)의 제2 영역에 상기 픽셀 값이 변경된 제2 이미지(440)를 합성함으로써 제3 이미지(460)를 획득하고,상기 디스플레이 모듈(160; 220)을 통해, 상기 제3 이미지(460)를 표시하도록 구성된, 전자 장치(101; 200).
- 제 1 항에 있어서,상기 적어도 하나의 프로세서(120; 240)는,상기 제1 이미지(410)를 기 학습된 이미지 분류 모델에 입력하고,상기 이미지 분류 모델의 출력에 기반하여, 상기 제1 이미지(410)가 기 설정된 적어도 하나의 객체를 포함하는지 여부를 확인하고,상기 제1 이미지(410)가 상기 기 설정된 적어도 하나의 객체를 포함함을 확인함에 기반하여, 상기 제1 이미지(410) 내에서 하나 이상의 객체들을 식별하도록 구성된, 전자 장치(101; 200).
- 제 1 항 또는 제 2 항에 있어서,상기 적어도 하나의 프로세서(120; 240)는,상기 제1 이미지(410)의 픽셀 값에 기반하여, 상기 제1 이미지(410)의 전체 밝기 값을 획득하고,상기 획득된 상기 제1 이미지(410)의 전체 밝기 값에 기반하여, 상기 제2 이미지(440)의 전체 밝기 값을 변경하도록 구성된, 전자 장치(101; 200).
- 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,상기 적어도 하나의 프로세서(120; 240)는,상기 제2 이미지(440)의 픽셀 값에 기반하여, 상기 제2 이미지(440)에 대응하는 명도 맵을 획득하고,상기 제1 영역의 픽셀 값과 관련되는 상기 적어도 하나의 맵의 명도 값에 기반하여, 상기 명도 맵에 포함된 픽셀 값을 조정하도록 구성된, 전자 장치(101; 200).
- 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,상기 적어도 하나의 프로세서(120; 240)는,상기 식별된 하나 이상의 객체들이 기 설정된 적어도 하나의 객체를 포함하는지 여부를 확인하고,상기 식별된 하나의 이상의 객체들이 상기 기 설정된 적어도 하나의 객체를 포함함을 확인함에 기반하여, 상기 기 설정된 적어도 하나의 객체에 대응하는 적어도 하나의 영역을 결정하고,상기 결정된 적어도 하나의 영역의 픽셀 값을 획득함으로써, 마스크 이미지(450)를 생성하도록 구성된, 전자 장치(101; 200).
- 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,상기 3차원 모델은, 하나 이상의 천체들의 위치 및 픽셀 값에 관한 정보를 포함하는, 전자 장치(101; 200).
- 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,상기 적어도 하나의 프로세서(120; 240)는,상기 제1 이미지(410)에 상기 제2 이미지(440)를 합성하고,상기 디스플레이 모듈(160; 220)을 통하여, 상기 합성된 이미지 및 복수의 오브젝트들을 표시하고,상기 복수의 오브젝트들 중 적어도 하나에 대한 사용자 입력에 기반하여, 상기 제2 이미지(440)의 방향 및 각도 중 적어도 하나를 조정하고,상기 조정된 제2 이미지(440)를 상기 제1 이미지(410)의 적어도 일부 영역에 합성함으로써, 상기 제3 이미지(460)를 획득하고,상기 디스플레이 모듈(160; 220)을 통하여, 상기 제3 이미지(460)를 표시하도록 구성된, 전자 장치(101; 200).
- 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,상기 적어도 하나의 프로세서(120; 240)는,상기 복수의 오브젝트들 중 하나에 대한 사용자 입력을 감지하고,상기 감지한 사용자 입력에 기반하여, 상기 제2 이미지(440)의 픽셀 값을 조정하도록 구성된, 전자 장치(101; 200).
- 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,상기 적어도 하나의 프로세서(120; 240)는,상기 카메라 모듈(180; 210)에 의하여 획득된 초기 입력 이미지 (1101_1)의 메타 데이터에 기반하여, 상기 초기 입력 이미지 (1101_1)에 대응하는 천체 이미지(1111_1)의 초기 구도를 결정하고,상기 초기 입력 이미지(1101_1)에 상기 결정된 초기 구도에 기반하여 생성된 천체 이미지(1111_1)를 합성함으로써, 초기 합성 프레임(1121_1)을 획득하고,상기 카메라 모듈(180; 210)에 의하여 더 획득된 하나 이상의 입력 이미지들(1101_N) 각각의 타임 스탬프에 기반하여, 상기 천체 이미지(1111_1)의 구도를 조정하고,상기 하나 이상의 입력 이미지들(1101_N) 각각에, 상기 각각의 타임 스탬프에 기반하여 구도가 조정된 천체 이미지(1111_N)를 합성함으로써, 하나 이상의 합성 프레임들(1121_N)을 획득하고,상기 초기 합성 프레임(1121_1) 및 상기 획득된 합성 프레임들(1121_N)을 순차적으로 연결함으로써, 합성 영상(1131)을 획득하도록 구성된, 전자 장치(101; 200).
- 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,상기 적어도 하나의 프로세서(120; 240)는,사용자 입력에 기반하여, 상기 제2 이미지(440; 1301)의 영상 길이를 결정하고,상기 결정된 영상 길이에 기반하여, 기 설정된 시간 간격으로 상기 제2 이미지(440; 1301)의 구도를 변경함으로써, 하나 이상의 천체 이미지들(1311_N)을 획득하고,상기 획득된 하나 이상의 천체 이미지들(1311_N)을 누적함으로써, 일주 운동 이미지(1320)를 획득하고,상기 제1 이미지(410)의 적어도 일부 영역에 상기 획득된 일주 운동 이미지(1320)를 합성함으로써, 일주 운동 효과가 적용된 제3 이미지(1330)를 획득하고,상기 디스플레이 모듈(160; 220)을 통하여, 상기 일주 운동 효과가 적용된 제3 이미지(1330)를 표시하도록 구성된, 전자 장치(101; 200).
- 전자 장치(101; 200)의 이미지를 합성하는 방법에 있어서,제1 이미지(410) 내에서 하나의 이상의 객체들을 식별하는 동작;상기 식별된 하나 이상의 객체들 각각에 대응하는 영역들의 픽셀 값에 기반하여, 상기 제1 이미지(410)의 제1 영역의 픽셀 값과 관련되는 적어도 하나의 맵을 결정하는 동작;상기 제1 이미지(410)의 메타데이터, 제2 이미지(440)의 구도를 결정하기 위한 사용자 입력, 또는 3차원 모델(430) 중 적어도 하나에 기반하여 제2 이미지(440)를 생성하는 동작;상기 결정된 적어도 하나의 맵에 기반하여, 상기 제1 영역에 대응하는 상기 제2 이미지(440)의 적어도 일부 영역의 픽셀 값을 변경하는 동작;상기 제1 이미지(410)의 제2 영역에 상기 픽셀 값이 변경된 제2 이미지(440)를 합성함으로써 제3 이미지(460)를 획득하는 동작; 및디스플레이 모듈(160; 220)을 통해, 상기 제3 이미지(460)를 표시하는 동작을 포함하는 방법.
- 제 11 항에 있어서,상기 제1 이미지(410)를 기 학습된 이미지 분류 모델에 입력하는 동작;상기 이미지 분류 모델의 출력에 기반하여, 상기 제1 이미지(410)가 기 설정된 적어도 하나의 객체를 포함하는지 여부를 확인하는 동작; 및상기 제1 이미지(410)가 상기 기 설정된 적어도 하나의 객체를 포함함을 확인함에 기반하여, 상기 제1 이미지(410) 내에서 하나 이상의 객체들을 식별하는 동작을 더 포함하는 방법.
- 제 11 항 또는 제 12 항에 있어서,상기 제1 이미지(410)의 픽셀 값에 기반하여, 상기 제1 이미지(410)의 전체 밝기 값을 획득하는 동작; 및상기 획득된 상기 제1 이미지(410)의 전체 밝기 값에 기반하여, 상기 제2 이미지(440)의 전체 밝기 값을 변경하는 동작을 더 포함하는 방법.
- 제 11 항 내지 제 13 항 중 어느 한 항에 있어서,상기 제2 이미지(440)의 픽셀 값에 기반하여, 상기 제2 이미지(440)에 대응하는 명도 맵을 획득하는 동작; 및상기 제1 영역의 픽셀 값과 관련되는 상기 적어도 하나의 맵의 명도 값에 기반하여, 상기 명도 맵에 포함된 픽셀 값을 조정하는 동작을 더 포함하는 방법.
- 제 11 항 내지 제 14 항 중 어느 한 항에 있어서,상기 식별된 하나 이상의 객체들이 기 설정된 적어도 하나의 객체를 포함하는지 여부를 확인하는 동작;상기 식별된 하나의 이상의 객체들이 상기 기 설정된 적어도 하나의 객체를 포함함을 확인함에 기반하여, 상기 기 설정된 적어도 하나의 객체에 대응하는 적어도 하나의 영역을 결정하는 동작; 및상기 결정된 적어도 하나의 영역의 픽셀 값을 획득함으로써, 마스크 이미지(450)를 생성하는 동작을 더 포함하는 방법.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20220104948 | 2022-08-22 | ||
KR10-2022-0104948 | 2022-08-22 | ||
KR1020220113853A KR20240026808A (ko) | 2022-08-22 | 2022-09-08 | 이미지를 합성하기 위한 방법 및 이를 지원하는 전자 장치 |
KR10-2022-0113853 | 2022-09-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024043557A1 true WO2024043557A1 (ko) | 2024-02-29 |
Family
ID=90013716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/010953 WO2024043557A1 (ko) | 2022-08-22 | 2023-07-27 | 이미지를 합성하기 위한 방법 및 이를 지원하는 전자 장치 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024043557A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130242121A1 (en) * | 2012-03-12 | 2013-09-19 | Casio Computer Co., Ltd. | Image composing apparatus for continuously shooting plural images and combining the plural images |
KR20170112066A (ko) * | 2016-03-30 | 2017-10-12 | 삼성전자주식회사 | 이미지를 처리하기 위한 전자 장치 및 방법 |
US20180234640A1 (en) * | 2011-09-14 | 2018-08-16 | Katsuya Yamamoto | Image capturing apparatus |
KR102131369B1 (ko) * | 2019-08-28 | 2020-07-08 | 주식회사 해치텍 | 천체를 촬영한 복수의 이미지를 합성하는 방법 및 장치 |
KR102287043B1 (ko) * | 2017-05-22 | 2021-08-06 | 삼성전자주식회사 | 카메라를 이용하여 획득한 이미지를 처리하는 전자 장치 및 그 동작 방법 |
-
2023
- 2023-07-27 WO PCT/KR2023/010953 patent/WO2024043557A1/ko unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180234640A1 (en) * | 2011-09-14 | 2018-08-16 | Katsuya Yamamoto | Image capturing apparatus |
US20130242121A1 (en) * | 2012-03-12 | 2013-09-19 | Casio Computer Co., Ltd. | Image composing apparatus for continuously shooting plural images and combining the plural images |
KR20170112066A (ko) * | 2016-03-30 | 2017-10-12 | 삼성전자주식회사 | 이미지를 처리하기 위한 전자 장치 및 방법 |
KR102287043B1 (ko) * | 2017-05-22 | 2021-08-06 | 삼성전자주식회사 | 카메라를 이용하여 획득한 이미지를 처리하는 전자 장치 및 그 동작 방법 |
KR102131369B1 (ko) * | 2019-08-28 | 2020-07-08 | 주식회사 해치텍 | 천체를 촬영한 복수의 이미지를 합성하는 방법 및 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020130691A1 (en) | Electronic device and method for providing information thereof | |
WO2022097857A1 (en) | Electronic device and method for displaying image on flexible display | |
WO2022065722A1 (ko) | 외부 물체에 대한 알림을 디스플레이하는 전자 장치 및 그 방법 | |
WO2022080869A1 (ko) | 이미지를 이용한 3차원 지도의 업데이트 방법 및 이를 지원하는 전자 장치 | |
WO2022039424A1 (ko) | 흔들림을 보정하는 방법 및 그 전자 장치 | |
WO2022092706A1 (ko) | 복수의 카메라를 이용한 사진 촬영 방법 및 그 장치 | |
WO2024043557A1 (ko) | 이미지를 합성하기 위한 방법 및 이를 지원하는 전자 장치 | |
WO2022097930A1 (ko) | 전자 장치 및 이의 디스플레이 방법 | |
WO2022186646A1 (ko) | 이미지 생성을 위한 전자 장치 및 전자 장치의 동작 방법 | |
WO2024122913A1 (ko) | 기계 학습 모델을 이용하여 영상을 획득하는 전자 장치 및 그 동작 방법 | |
WO2024005333A1 (ko) | 카메라를 포함하는 전자 장치 및 방법 | |
WO2023282458A1 (ko) | 전자 장치 및 전자 장치의 동작 방법 | |
WO2024090802A1 (ko) | 렌더링 스타일이 변경된 이미지를 획득하기 위한 전자 장치 및 방법 | |
WO2024210288A1 (ko) | 이미지를 재생성하는 전자 장치 및 방법 | |
WO2024117590A1 (ko) | 이미지의 뷰 영역을 결정하는 전자 장치 및 그 동작 방법 | |
WO2024034837A1 (ko) | 깊이 맵을 획득하기 위한 전자 장치 및 방법 | |
WO2024111924A1 (ko) | 이미지를 제공하는 방법 및 이를 지원하는 전자 장치 | |
WO2024085724A1 (ko) | 천체를 촬영하기 위한 전자 디바이스 및 방법 | |
WO2024043681A1 (ko) | 전자 장치의 화면을 확장 현실 환경으로 변환하는 머리 착용형 전자 장치 및 그와 연결된 전자 장치 | |
WO2024071718A1 (ko) | 증강현실 기능을 지원하는 전자 장치 및 이의 동작 방법 | |
WO2024080730A1 (ko) | 슬로우 셔터 기능을 제공하는 전자 장치 및 방법 | |
WO2024196011A1 (ko) | 이미지를 처리하는 전자 장치 및 그 방법 | |
WO2022197036A1 (ko) | Ar을 이용한 측정 방법 및 전자 장치 | |
WO2024071776A1 (ko) | 증강 현실 객체 표시 방법 및 이를 지원하는 전자 장치 | |
WO2024085494A1 (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: 23857593 Country of ref document: EP Kind code of ref document: A1 |