WO2021162263A1 - 이미지의 생성 방법 및 그 전자 장치 - Google Patents

이미지의 생성 방법 및 그 전자 장치 Download PDF

Info

Publication number
WO2021162263A1
WO2021162263A1 PCT/KR2021/000750 KR2021000750W WO2021162263A1 WO 2021162263 A1 WO2021162263 A1 WO 2021162263A1 KR 2021000750 W KR2021000750 W KR 2021000750W WO 2021162263 A1 WO2021162263 A1 WO 2021162263A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
processor
color
electronic device
filter
Prior art date
Application number
PCT/KR2021/000750
Other languages
English (en)
French (fr)
Inventor
최지환
임종화
김범수
도원준
유지성
임광용
신대규
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to CN202180024794.3A priority Critical patent/CN115516494A/zh
Priority to US17/798,842 priority patent/US20230156349A1/en
Priority to EP21752930.4A priority patent/EP4102451A4/en
Publication of WO2021162263A1 publication Critical patent/WO2021162263A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4015Image demosaicing, e.g. colour filter arrays [CFA] or Bayer patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/84Camera processing pipelines; Components thereof for processing colour signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • H04N23/632Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters for displaying or modifying preview images prior to image capturing, e.g. variety of image resolutions or capturing parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image

Definitions

  • the present disclosure relates to an electronic device for generating an image and a method for generating an image of the electronic device.
  • the filter function is a function that can apply various effects to a photo to create a photo with a special feeling.
  • the same effect corresponding to the selected filter function is applied to the entire picture.
  • the user may select a filter effect stored in the electronic device and apply the stored filter effect to a desired image.
  • a filter desired by a user may not exist because a filter effect already stored in the electronic device is applied or a filter that has been created is selectively downloaded and used.
  • the style transfer method which is one of the existing methods for creating a desired filter, takes a certain amount of time to process in the process of encoding and decoding style images, and requires a lot of storage space.
  • an electronic device includes a camera, a display, a memory, and at least one processor electrically connected to the display and the memory, wherein the at least one processor receives an input for selecting a first image obtains, generates a color filter through comparison of the first image and a second image having a color pattern different from the first image, obtains a third image, and applies the generated color filter to the third image applied to create a fourth image.
  • At least one processor electrically connected to a camera, a display, and a memory acquires an input for selecting a first image, the first image and the second image and generating a color filter by comparing the first image with a second image having a different color pattern, obtaining a third image, and applying the generated color filter to the third image.
  • a process of compressing and decoding a style image is not required, so that a process speed is fast and a small storage space is required to generate a filter, thereby improving power consumption.
  • user convenience can be improved by generating a filter from an image having a color desired by the user, storing the generated filter, and continuously applying the filter.
  • FIG. 1 is a block diagram of an electronic device in a network environment, according to various embodiments of the present disclosure
  • FIG. 2 is a block diagram illustrating a camera module, according to various embodiments.
  • FIG. 3 is a diagram illustrating a process in which an electronic device generates and applies a color filter through comparison of a first image and a second image, according to an exemplary embodiment.
  • FIG. 4 is a diagram illustrating a process of generating a color filter by estimating a second image from a first image according to an exemplary embodiment.
  • FIG. 5 is a diagram illustrating a process of generating a color filter by obtaining an input for selecting a second image, according to an exemplary embodiment.
  • FIG. 6 is a color lookup table generated by comparing a first image and a second image according to an exemplary embodiment.
  • FIG. 7 is a diagram illustrating a first image and a second image displayed on an electronic device according to an exemplary embodiment.
  • FIG. 8 is a diagram illustrating a third image and a fourth image displayed on an electronic device according to an exemplary embodiment.
  • FIG. 9 is a flowchart illustrating a process of creating a filter from the user's point of view and applying the filter in the electronic device according to an embodiment.
  • FIG. 10 is a diagram illustrating a screen for generating a filter in an electronic device according to an embodiment.
  • FIG. 11 is a diagram illustrating a screen for adding or deleting a filter in an electronic device according to an exemplary embodiment.
  • FIG. 12 is a diagram illustrating a screen for changing a name of a color filter in an electronic device according to an embodiment.
  • FIG. 13 is a diagram illustrating a screen for re-croping a first image in an electronic device according to an exemplary embodiment.
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 according to various embodiments.
  • an electronic device 101 communicates with an electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or a second network 199 . It may communicate with the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
  • a first network 198 eg, a short-range wireless communication network
  • a second network 199 e.g., a second network 199
  • 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 device 150 , a sound output device 155 , a display device 160 , an audio module 170 , and a sensor module ( 176 , interface 177 , haptic module 179 , camera module 180 , power management module 188 , battery 189 , communication module 190 , subscriber identification module 196 , or antenna module 197 . ) may be included. In some embodiments, at least one of these components (eg, the display device 160 or the camera module 180 ) may be omitted or one or more other components may be added to the electronic device 101 . In some embodiments, some of these components may be implemented as one integrated circuit. For example, the sensor module 176 (eg, a fingerprint sensor, an iris sensor, or an illuminance sensor) may be implemented while being embedded in the display device 160 (eg, a display).
  • the sensor module 176 eg, a fingerprint sensor, an iris sensor, or an illuminance sensor
  • the processor 120 for example, executes software (eg, a program 140) to execute at least one other component (eg, a hardware or software component) of the electronic device 101 connected to the processor 120 . It can control and perform various data processing or operations. According to one embodiment, as at least part of data processing or operation, the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 . may be loaded into the volatile memory 132 , process commands or data stored in the volatile memory 132 , and store the resulting data in the non-volatile memory 134 .
  • software eg, a program 140
  • the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 .
  • the volatile memory 132 may be loaded into the volatile memory 132 , process commands or data stored in the volatile memory 132 , and store the resulting data in the non-volatile memory 134 .
  • the processor 120 includes a main processor 121 (eg, a central processing unit or an application processor), and a secondary processor 123 (eg, a graphics processing unit, an image signal processor) that can be operated independently or in conjunction with the main processor 121 . , a sensor hub processor, or a communication processor). Additionally or alternatively, the auxiliary processor 123 may be configured to use less power than the main processor 121 or to be specialized for a designated function. The auxiliary processor 123 may be implemented separately from or as a part of the main processor 121 .
  • a main processor 121 eg, a central processing unit or an application processor
  • a secondary processor 123 eg, a graphics processing unit, an image signal processor
  • the auxiliary processor 123 may be configured to use less power than the main processor 121 or to be specialized for a designated function.
  • the auxiliary processor 123 may be implemented separately from or as a part of the main processor 121 .
  • the auxiliary processor 123 may be, for example, on behalf of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or when the main processor 121 is active (eg, executing an application). ), together with the main processor 121, at least one of the components of the electronic device 101 (eg, the display device 160, the sensor module 176, or the communication module 190) It is possible to control at least some of the related functions or states.
  • the coprocessor 123 eg, an image signal processor or a communication processor
  • the memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176 ) of the electronic device 101 .
  • the data may include, for example, input data or output data for software (eg, the program 140 ) and instructions related thereto.
  • the memory 130 may include a volatile memory 132 or a non-volatile memory 134 .
  • the program 140 may be stored as software in the memory 130 , and may include, for example, an operating system 142 , middleware 144 , or an application 146 .
  • the input device 150 may receive a command or data to be used by a component (eg, the processor 120 ) of the electronic device 101 from the outside (eg, a user) of the electronic device 101 .
  • the input device 150 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (eg, a stylus pen).
  • the sound output device 155 may output a sound signal to the outside of the electronic device 101 .
  • the sound output device 155 may include, for example, a speaker or a receiver.
  • the speaker can be used for general purposes such as multimedia playback or recording playback, and the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from or as part of the speaker.
  • the display device 160 may visually provide information to the outside (eg, a user) of the electronic device 101 .
  • the display device 160 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the corresponding device.
  • the display device 160 may include a touch circuitry configured to sense a touch or a sensor circuit (eg, a pressure sensor) configured to measure the intensity of a force generated by the touch. there is.
  • the audio module 170 may convert a sound into an electric signal or, conversely, convert an electric signal into a sound. According to an embodiment, the audio module 170 acquires a sound through the input device 150 , or an external electronic device (eg, a sound output device 155 ) connected directly or wirelessly with the electronic device 101 . The sound may be output through the electronic device 102 (eg, a speaker or a headphone).
  • an external electronic device eg, a sound output device 155
  • the sound may be output through the electronic device 102 (eg, a speaker or a headphone).
  • the sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101 or an external environmental state (eg, user state), and generates an electrical signal or data value corresponding to the sensed state. can do.
  • the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
  • the interface 177 may support one or more specified protocols that may be used by the electronic device 101 to directly or wirelessly connect 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.
  • the 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 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic sense.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 may capture still images and moving images. According to an embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 188 may manage power supplied to the electronic device 101 .
  • the power management module 388 may be implemented as, for example, at least a part of 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 .
  • battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
  • the communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (eg, the electronic device 102, the electronic device 104, or the server 108). It can support establishment and communication through the established communication channel.
  • the communication module 190 may include one or more communication processors that operate independently of the processor 120 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
  • the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg, : It may include a local area network (LAN) communication module, or a power line communication module).
  • a wireless communication module 192 eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • wired communication module 194 eg, : It may include a local area network (LAN) communication module, or a power line communication module.
  • a corresponding communication module is a first network 198 (eg, a short-range communication network such as Bluetooth, WiFi direct, or IrDA (infrared data association)) or a second network 199 (eg, a cellular network, the Internet, or It may communicate with an external electronic device via a computer network (eg, a telecommunication network such as a LAN or WAN).
  • a computer network eg, a telecommunication network such as a LAN or WAN.
  • These various types of communication modules may be integrated into one component (eg, a single chip) or may be implemented as a plurality of components (eg, multiple chips) separate from each other.
  • the wireless communication module 192 uses the subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199 .
  • the electronic device 101 may be identified and authenticated.
  • the antenna module 197 may transmit or receive a signal or power to the outside (eg, an external electronic device).
  • the antenna module may include one antenna including a conductor formed on a substrate (eg, a PCB) or a radiator formed of a conductive pattern.
  • the antenna module 197 may include a plurality of antennas. 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 from the plurality of antennas by, for example, the communication module 190 . can be selected. A signal or power may be transmitted or received between the communication module 190 and an external electronic device through the selected at least one antenna.
  • other components eg, RFIC
  • other than the radiator may be additionally formed as a part of the antenna module 197 .
  • peripheral devices eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • GPIO general purpose input and output
  • SPI serial peripheral interface
  • MIPI mobile industry processor interface
  • the command 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 electronic devices 102 and 104 may be the same or a different type of the electronic device 101 .
  • all or a part of operations executed 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 itself instead of executing the function or service itself.
  • one or more external electronic devices may be requested to perform at least a part of the function or the service.
  • the one or more external electronic devices that have received the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit a result of the execution to the electronic device 101 .
  • the electronic device 101 may process the result as it is or additionally and provide it as at least a part of a response to the request.
  • cloud computing, distributed computing, or client-server computing technology may be used.
  • the electronic device may have various types of devices.
  • the electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance device.
  • a portable communication device eg, a smart phone
  • a computer device e.g., a smart phone
  • a portable multimedia device e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a wearable device e.g., a smart bracelet
  • a home appliance device e.g., a home appliance
  • first”, “second”, or “first” or “second” may simply be used to distinguish the component from other such components, and refer to those components in other aspects (e.g., importance or order) is not limited. that one (eg first) component is “coupled” or “connected” to another (eg, second) component with or without the terms “functionally” or “communicatively” When referenced, it means that one component can be connected to the other component directly (eg by wire), wirelessly, or through a third component.
  • module may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as, for example, logic, logic block, component, or circuit.
  • a module may be an integrally formed part or a minimum unit or a part of the part 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
  • Various embodiments of the present document include one or more instructions stored in a storage medium (eg, internal memory 136 or external memory 138) readable by a machine (eg, electronic device 101).
  • a machine eg, electronic device 101
  • the processor eg, the processor 120
  • the device eg, the electronic device 101
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain a signal (eg, electromagnetic wave), and this term is used in cases where data is semi-permanently stored in the storage medium and It does not distinguish between temporary storage cases.
  • a signal eg, electromagnetic wave
  • the method according to various embodiments disclosed in this document may be provided as included in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or via an application store (eg Play Store TM ) or on two user devices ( It can be distributed (eg downloaded or uploaded) directly, online between smartphones (eg: smartphones).
  • a part of the computer program product may be temporarily stored or temporarily created in a machine-readable storage medium such as a memory of a server of a manufacturer, a server of an application store, or a memory of a relay server.
  • each component eg, a module or a program of the above-described components may include a singular or a plurality of entities.
  • one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added.
  • a plurality of components eg, a module or a program
  • the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component are executed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations are executed in a different order, or omitted. or one or more other operations may be added.
  • the camera module 180 includes a lens assembly 210 , a flash 220 , an image sensor 230 , an image stabilizer 240 , a memory 250 (eg, a buffer memory), or an image signal processor. (260).
  • the lens assembly 210 may collect light emitted from a subject, which is an image to be captured.
  • the lens assembly 210 may include one or more lenses.
  • the camera module 180 may include a plurality of lens assemblies 210 . In this case, the camera module 180 may form, for example, a dual camera, a 360 degree camera, or a spherical camera.
  • Some of the plurality of lens assemblies 210 may have the same lens properties (eg, angle of view, focal length, auto focus, f number, or optical zoom), or at least one lens assembly may be a different lens assembly. It may have one or more lens properties different from the lens properties of .
  • the lens assembly 210 may include, for example, a wide-angle lens or a telephoto lens.
  • the flash 220 may emit light used to enhance light emitted or reflected from the subject.
  • the flash 220 may include one or more light emitting diodes (eg, a red-green-blue (RGB) LED, a white LED, an infrared LED, or an ultraviolet LED), or a xenon lamp.
  • the image sensor 230 may acquire an image corresponding to the subject by converting light emitted or reflected from the subject and transmitted through the lens assembly 210 into an electrical signal.
  • the image sensor 230 may include, for example, one image sensor selected from among image sensors having different properties, such as an RGB sensor, a black and white (BW) sensor, an IR sensor, or a UV sensor, the same It may include a plurality of image sensors having a property, or a plurality of image sensors having different properties.
  • Each image sensor included in the image sensor 230 may be implemented using, for example, a charged coupled device (CCD) sensor or a complementary metal oxide semiconductor (CMOS) sensor.
  • CCD charged coupled device
  • CMOS complementary metal oxide semiconductor
  • the image stabilizer 240 moves at least one lens or image sensor 230 included in the lens assembly 210 in a specific direction in response to the movement of the camera module 180 or the electronic device 101 including the same. Operation characteristics of the image sensor 230 may be controlled (eg, read-out timing may be adjusted, etc.). This makes it possible to compensate for at least some of the negative effects of the movement on the image being taken.
  • the image stabilizer 240 is, according to an embodiment, the image stabilizer 240 is a gyro sensor (not shown) or an acceleration sensor (not shown) disposed inside or outside the camera module 180 . Such a movement of the camera module 180 or the electronic device 101 may be detected using .
  • the image stabilizer 240 may be implemented as, for example, an optical image stabilizer.
  • the memory 250 may temporarily store at least a portion of the image acquired through the image sensor 230 for a next image processing operation. For example, when image acquisition is delayed according to the shutter or a plurality of images are acquired at high speed, the acquired original image (eg, Bayer-patterned image or high-resolution image) is stored in the memory 250 and , a copy image corresponding thereto (eg, a low-resolution image) may be previewed through the display device 160 .
  • the acquired original image eg, Bayer-patterned image or high-resolution image
  • a copy image corresponding thereto eg, a low-resolution image
  • the memory 250 may be configured as at least a part of the memory 130 or as a separate memory operated independently of the memory 130 .
  • the image signal processor 260 may perform one or more image processing on an image acquired through the image sensor 230 or an image stored in the memory 250 .
  • the one or more image processes may include, for example, depth map generation, three-dimensional modeling, panorama generation, feature point extraction, image synthesis, or image compensation (eg, noise reduction, resolution adjustment, brightness adjustment, blurring ( blurring), sharpening (sharpening), or softening (softening)
  • the image signal processor 260 may include at least one of the components included in the camera module 180 (eg, an image sensor). 230), for example, exposure time control, readout timing control, etc.
  • the image processed by the image signal processor 260 is stored back in the memory 250 for further processing.
  • the image signal processor 260 may be configured as at least a part of the processor 120 or as a separate processor operated independently of the processor 120.
  • the image signal processor 260 may be configured as the processor 120 and a separate processor, the at least one image processed by the image signal processor 260 may be displayed through the display device 160 as it is by the processor 120 or after additional image processing.
  • the electronic device 101 may include a plurality of camera modules 180 each having different properties or functions.
  • at least one of the plurality of camera modules 180 may be a wide-angle camera, and at least the other may be a telephoto camera.
  • at least one of the plurality of camera modules 180 may be a front camera, and at least the other may be a rear camera.
  • FIG. 3 is a flowchart 300 of a method for generating a new image in an electronic device according to an embodiment.
  • the processor 120 may obtain an input for selecting the first image.
  • the first image may include an image stored in an album application of the electronic device.
  • the first image may include an image captured by a user using a camera of the electronic device, and may include an image generated based on information obtained through an image sensor.
  • the first image may include an image acquired by being transmitted from another electronic device.
  • the first image may include an image downloaded from a specific server on the Internet.
  • the first image may include a captured image generated using a screen capture function of the electronic device.
  • the captured image may include at least one captured image of a desktop screen of the electronic device, an application operation screen, and a call screen.
  • the capture function may be performed in such a way that the user presses a specific button of the electronic device 101 or the user takes a specific motion with his/her hand on the display.
  • the processor 120 may set the first image as a target image from which color data is derived.
  • the processor 120 may generate a color filter by comparing the first image and the second image.
  • the processor 120 may generate a color filter by comparing color values of pixels corresponding to each other in the first image and the second image.
  • the processor 120 may match the first image to the second image and compare color values of pixels that overlap each other.
  • the first image and the second image may include color components of R (red), G (green), and B (blue), respectively, and the processor 120 may select any R and G of the first image. , which R, G, and B values are changed in the second image may be determined.
  • R, G, and B may each have a value between 0 and 255, and an R value corresponding to 120 in the first image may have an R value corresponding to 135 in the second image.
  • the processor may acquire data on which R, G, and B values included in the first image are changed to which R, G, and B values in the second image.
  • the processor 120 may generate two or more color filters in response to a user's input for adding a color filter. For example, in a state in which one color filter exists, the number of color filters may be two in response to a user's input for adding a color filter.
  • the color filter may be implemented as a function or function coefficient derived through the color value comparison or a color lookup table generated based on the derived function and function coefficient.
  • the function, coefficients of the function, and color lookup table will be described in detail below with reference to FIG. 6 .
  • the processor 120 may acquire a third image.
  • the third image may include at least one of a first preview image acquired through a camera module (eg, 180 of FIG. 1 ) or an image stored in a memory (eg, the memory 130 of FIG. 1 ).
  • the third image may include an image generated based on information acquired through an image sensor (eg, the image sensor 230 of FIG. 2 ).
  • the third image may include an image in which the generated image is stored in the memory 130 .
  • the processor 120 may set the third image as a target image to which color data is applied.
  • the processor 120 may apply a color filter generated by comparing the first image and the second image to the third image.
  • the processor 120 may generate a fourth image by applying a color filter to the third image. For example, R having a value of 135 in the third image may be converted into R having a value of 120 in the fourth image.
  • the processor 120 may apply the derived function to the third image.
  • the processor 120 may generate a fourth image by receiving each color value of R, G, and B for each pixel as an input of a function for the third image, which is a new image, and performing calculations.
  • FIG. 4 is a flowchart 400 illustrating a process of generating a color filter in an electronic device according to an embodiment.
  • the processor 120 may obtain an input for selecting the first image.
  • the processor 120 may display the first image on the display when obtaining a user's input for selecting the first image.
  • the first image may be an image to which a filter effect is applied.
  • the first image may be an image to which at least one of a filter giving a black and white effect, a filter giving a faded feeling, or a filter giving a pastel color is applied.
  • a filter giving a black and white effect e.g., a filter giving a black and white effect
  • a filter giving a faded feeling e.g., a filter giving a faded feeling
  • a filter giving a pastel color e.g., various filters may exist in addition to the filters presented above.
  • the processor 120 may estimate the second image from the first image.
  • the processor 120 may estimate a second image, which is an original image to which a color filter is not applied, from the image to which the filter is applied.
  • the processor 120 may estimate the second image based on average characteristics of objects in the first image.
  • the processor 120 may recognize objects included in the first image, and may estimate an original image by estimating an average color of the object. For example, the processor 120 may recognize an object (eg, a pool or the sea) included in the first image, and recognize that the grass or the sea has a gray color by applying a black and white filter to the first image.
  • an object eg, a pool or the sea
  • the grass may include a green color on average and the sea may include a blue color on average, so in the second image that is the original image, The grass may have a green color and the sea may have a blue color. That is, the processor 120 estimates the average color (ex. blue) of the object (ex. the sea) from the gray color of the object (ex. the sea) included in the first image to generate the second image, which is the original image. can be estimated
  • the estimation method may be performed by applying machine learning, big data technology, and artificial intelligence (AI), and the data learned through the estimation is memory by at least one of machine learning, big data technology, or artificial intelligence (AI). 130 may be stored.
  • AI artificial intelligence
  • the processor 120 may generate a color filter by comparing the first image with the estimated second image.
  • the processor 120 may generate a color filter by comparing the color values of the first image and the estimated second image.
  • the processor 120 may generate a color filter by comparing the color values of the first image and the estimated second image.
  • the first image and the second image may include color elements of R (red), G (green), and B (blue), respectively, and the processor 120 determines whether any R, G, and B values of the first image are It can be determined which R, G, and B are changed in the second image.
  • each of R, G, and B may have a value between 0 and 255, and an R value corresponding to 120 in the first image may have an R value of 135 in the second image.
  • the processor may acquire data on which R, G, and B values included in the first image are changed to which R, G, and B values in the second image.
  • FIG. 5 is a diagram 500 illustrating a process of generating a color filter by obtaining an input for selecting a second image according to an exemplary embodiment.
  • the processor 120 may obtain an input for selecting the first image.
  • the processor 120 may display the first image on the display when obtaining a user's input for selecting the first image.
  • the processor 120 may obtain an input for selecting the second image.
  • the processor 120 may obtain a user input for selecting the second image.
  • the first image may mean an image captured at the same location as the second image.
  • the second image may be an image captured at a different time period from the first image.
  • the first image may be an image photographed around sunset, and the second image may be an image photographed at noon of the same object included in the first image.
  • the processor 120 may adjust the composition of the first image and the second image.
  • the processor 120 may adjust the composition for comparison between the first image and the second image.
  • the processor 120 may recognize an object existing in the first image and an object existing in the second image.
  • An object existing in the first image may be the same as an object existing in the second image.
  • the second image may include a second object that is the same object as the first object included in the first image.
  • the at least one processor may adjust the composition of the second image so that the first object and the second object overlap. When the composition of the first image and the second image match, as in the case of photographing by the camera at a fixed position, the operation of adjusting the composition may be omitted.
  • the processor 120 may adjust the composition by determining whether the first image and the second image match each other.
  • the processor 120 may detect feature points of the first image and the second image, and extract feature descriptors for the feature points.
  • a feature point may mean an arbitrary part that can define a corresponding image, and a feature descriptor may mean that a corresponding feature area is expressed as a vector value.
  • the feature point may be a contour line or a center point included in an image, and the feature descriptor may be a value obtained by expressing displacements of points constituting the contour line or center point as a vector.
  • the processor 120 detects an object in an input image (eg, a first image), selects a tracking object by recognizing the detected object, and sets the object region of the tracking object in the input image It is possible to set a composition, track a tracking object in a newly input image (eg, a second image), and control to adjust the composition so that an object area of the tracking object in the image is arranged according to the set composition.
  • the processor 120 may store information on at least one or more objects in the memory 130 .
  • the above-described method of adjusting the composition of the first image and the second image is only for illustrating an embodiment, and the method of adjusting the composition of the present disclosure is not limited by the above-described method.
  • the processor 120 may generate a color filter by comparing the first image and the second image.
  • the processor 120 may generate a color filter by comparing the adjusted second image with the first image.
  • the processor 120 may derive a function and a coefficient of a function by comparing the color values of the adjusted second image and the first image, and may generate a color lookup table based on the derived function and coefficient of the function. have.
  • FIG. 6 is a color lookup table 600 generated by comparing a first image and a second image according to an exemplary embodiment.
  • the color lookup table 600 may include a function 610 derived through matching of color values of the first image and the second image and information on coefficients of the function.
  • the function 610 may be a third or higher non-linear polynomial or a trigonometric function.
  • the processor 120 may store the function in the memory 130 or store coefficients of the function -51.22, 93.254, -41.99, -2.6722, 2.5786, 0.9984, 0.05 in the memory 130 .
  • the processor 120 may store, in the electronic device 101 , information that is a sixth-order function in addition to the function and coefficients of the function.
  • the memory 130 may store at least one filter data including at least one of object information and shooting information.
  • the processor 120 may generate a color lookup table for each of R (red), G (green), and B (blue).
  • the processor 120 may calculate the result value of the function, generate a color lookup table for each of R, G, and B, and store the color lookup table in the memory 130 .
  • the x-axis 620 may indicate color values of pixels of the second image
  • the y-axis 630 may indicate color values of pixels of the first image.
  • the x-axis 620 of the color lookup table 600 normalizes the color values 0 to 255 from 0 to 1, and the number 660 of 0 appearing on the x-axis 620 means the color value is 0,
  • a number 670 of 1 appearing on the x-axis 620 may mean a color value of 255. This may also be applied to the y-axis 630 .
  • a color value of a pixel may not exist in the first image or the second image in the color lookup table 600 .
  • the processor may correct the color lookup table by mapping a color value of a pixel that does not exist in the second image with a color value of an arbitrary pixel.
  • the processor 120 when the maximum value of any one of R, G, and B that does not exist in the second image or the minimum value of any one does not exist (eg, the function graph 640 of FIG. 6), As in the function graph 650 of FIG. 6 , one of the maximum values may be mapped to 255 or the one of the minimum values may be mapped exactly or close to zero.
  • the processor 120 may match the R value corresponding to 230 in the second image with the R value corresponding to 220 in the first image.
  • the color lookup table can be calibrated.
  • the color lookup table may be corrected by matching the R value corresponding to the maximum value (eg, 255) in the second image with the R value corresponding to the maximum value (eg, 255) in the first image.
  • the processor 120 may prevent clipping of a color that is not present in the second image when a color filter is applied to a new image through the correction.
  • the processor 120 may correct the function 610 and the color lookup table 600 to prevent an abrupt change in the function. For example, when calculating the coefficients of a function by matching the color values of pixels, if there is a part in which the color values of a few pixels show a large change differently from the existing pattern, the change amount of the function may be unintentionally large. When a large change is shown differently from the existing pattern, the color value for R of the first image is 40 and the normal color value for R of the second image matching the color value 40 is 60, matching the color value 40 It may include a case where the color value for R of the second image to be used is 150.
  • the processor 120 may correct the function 610 and the color lookup table 600 so that the change amount of the function is not large by changing the coefficient of the function.
  • the processor 120 may generate a result image (eg, a fourth image) to which a filter effect is naturally applied when the corrected function is applied to the third image by correcting the shape of the function of the curved shape that is excessively bent.
  • the corrected function, the coefficient of the function, or the color lookup table may be stored in the memory 130 and continuously applied to a new image.
  • FIG. 7 is a diagram 700 illustrating a first image and a second image displayed on an electronic device according to an exemplary embodiment.
  • the first image 710 may mean an image to which a user's desired filter effect is applied.
  • the first image 710 may be referred to as a style image or a filter image.
  • the first image 710 may include at least one of R (red), G (green), or B (blue) color values for each pixel.
  • the second image 720 may include at least one of R (red), G (green), or B (blue) color values for each pixel.
  • the second image 720 may mean an image estimated from the first image 710 .
  • the second image 720 may be an image estimated based on average characteristics of objects in the first image 710 .
  • the second image 720 may include the same object (eg, small) included in the first image 710 .
  • the second image 720 may mean an image having a color value different from that of the first image 710 .
  • the R, G, and B values 740 of the second image 720 may be distinguished from the R, G, and B values 730 of the first image 710 .
  • the R, G, and B values may each have a value between 0 and 255, and an R value corresponding to 120 in the first image 710 is an R value corresponding to 135 in the second image 720 .
  • the processor 120 may generate a color filter by comparing color values of corresponding pixels of the first image 710 and the second image 720 .
  • FIG. 8 is a diagram 800 illustrating a third image and a fourth image displayed on an electronic device according to an exemplary embodiment.
  • the third image 810 may mean a target image to which the user wants to apply a filter.
  • the third image 810 may include at least one of an image stored in the memory 130 of the electronic device 101 or an image acquired through the camera module 180 and displayed in a preview.
  • the third image 810 may include an image displayed on the display during a video call.
  • the processor 120 may generate the fourth image 820 by applying a color filter to the third image 810 .
  • the processor 120 may generate the fourth image 820 having a different color pattern by applying the generated color filter to the third image 810 .
  • the third image 810 and the fourth image 820 may include at least one of R (red), G (green), and B (blue) for each pixel, R of the fourth image 820 ,
  • the G and B values 840 may be distinguished from the R, G, and B values 830 of the third image 810 .
  • the R value in the third image 810 may have a value of 135 and the R value may have a value of 120 in the fourth image 820 .
  • the processor 120 applies a black and white filter to the third image 810 by comparing the first image 710 to which the black and white filter is applied and the second image 720 originally estimated from the first image. ) to generate the fourth image 820 to which the black and white filter is applied.
  • the fourth image 820 may include the same object (eg, taxi) included in the third image 810 .
  • the third image 810 may include an object (eg, a taxi) having a yellow color.
  • the fourth image 820 may include an object (eg, a taxi) having a gray color to which a black and white filter is applied.
  • the processor 120 may obtain an input for storing the generated color filter and control the generated color filter to be stored in the memory.
  • the processor 120 may generate the fourth image 820 by applying the stored color filter.
  • the processor 120 outputs the fourth image 820 as a preview obtained through the camera module 180 to the camera module 180 . can be controlled.
  • FIG. 9 is a flowchart 900 illustrating a process of creating a filter from the user's point of view and applying the filter in the electronic device according to an embodiment.
  • the processor 120 may obtain an album or filter application input.
  • the processor 120 may execute the application in response to the user's input of the application.
  • the processor 120 may obtain an input for selecting the first image.
  • the processor 120 may obtain an input to re-crop the first image.
  • the processor 120 may generate a filter after obtaining an input for selecting the first image.
  • the processor 120 may store the generated filter in the memory 130 in response to a user's storage input.
  • the processor 120 may obtain an album or filter application input.
  • the processor 120 may execute the application in response to the user's input of the application.
  • the processor 120 may acquire a third image.
  • the processor 120 may acquire a third image that is an image to which the user wants to apply a filter.
  • the third image may include at least one of an image stored in the memory 130 of the electronic device 101 or an image acquired through the camera module 180 and displayed in a preview.
  • the processor 120 may apply the selected filter to the third image in response to the user's filter selection and application input.
  • FIG. 10 is a diagram 1000 illustrating a screen for generating a filter in an electronic device according to an embodiment.
  • the electronic device 101 may display the screen 1050 on the display device 160 .
  • the screen 1050 may include information display such as time and temperature, and may include application icons such as a camera and an album.
  • the screen 1010 may include a filter application icon.
  • the application may include at least one of a camera application, an album application, and a filter application.
  • the processor 120 may display the screen 1020 on the display in response to the user's input 1012 pressing the application.
  • the electronic device 101 may display the screen 1020 on the display device 160 .
  • the processor 120 may display filters, my filters, or a beauty function on a portion 1022 of the upper portion of the screen 1020 .
  • the processor 120 may display the screen 1030 on the display device 160 in response to a user input 1024 pressing the filter creation button.
  • the electronic device 101 may display the screen 1030 on the display device 160 .
  • the processor 120 may display an image list on the screen 1030 so that the user can select an image for creating a filter.
  • the processor 120 may display the screen 1040 on the display device 160 in response to a user input 1032 pressing an image.
  • the electronic device 101 may display the screen 1040 on the display device 160 .
  • the processor 120 may display the preview image 1043 obtained from the camera on the screen 1040 .
  • the processor 120 may display an image to which a filter is not applied on the display device 160 in response to a user input 1044 of long-tapping a portion of the preview image 1043 included in the screen 1040 . For example, when the user presses the display of the portion where the preview image is displayed for 1 second, the processor 120 may stop displaying the preview image to which the filter is applied and display the image to which the filter is not applied.
  • the processor 120 may stop displaying the screen 1040 and display the screen 1030 in response to a user input 1046 pressing a cancel button.
  • the processor 120 may stop displaying the screen 1040 and display the screen 1030 in response to the user input 1042 pressing the filter creation button.
  • the processor 120 may enter a screen 1050 that stores the generated color filter and displays the generated color filter in response to a user input 1048 pressing a save button.
  • the electronic device 101 may display the screen 1050 on the display device 160 .
  • the processor 120 may display the list of the generated color filters in a horizontal arrangement on the display device 160 .
  • the processor 120 may additionally create a filter in response to a user input 1056 pressing an add filter icon disposed at the leftmost in the list of color filters.
  • the user may adjust the intensity of the filter effect displayed on the screen 1050 .
  • the intensity of the filter effect may include a first step to a tenth step.
  • the electronic device 101 may acquire an image to which the filter is applied in response to a user input pressing the button 1054 .
  • a method in which the processor outputs the process of generating the filter to the display device 160 is not limited to the exemplary embodiment illustrated in FIG. 10 , and may be displayed in various ways.
  • FIG. 11 is a diagram 1100 illustrating a screen for adding or deleting a filter in an electronic device according to an embodiment.
  • the processor 120 may display the screen 1110 displayed after generating the color filter on the display device 160 .
  • the screen 1110 may include a filter creation icon, an icon for an image to which a filter is not applied, and a generated filter icon.
  • the processor 120 may display a filter creation icon and an icon for an image to which no filter is applied on a part of the lower portion of the screen 1120 .
  • the screen 1130 displayed on the electronic device 101 may include a state in which several color filters are generated.
  • the generated various color filter icons may be disposed at the bottom of the screen 1130 .
  • the processor 120 may limit the maximum number of filters that can be produced (eg, 99).
  • the processor 120 may display a warning message on a part of the screen when the filter creation input is obtained while the maximum number of filters that can be produced is reached. For example, the above warning message is 'Cannot create any more filters.' or 'Cannot create more than 1st number of filters.' may include at least one of
  • FIG. 12 is a diagram 1200 illustrating a screen for changing a name of a color filter in an electronic device according to an exemplary embodiment.
  • the processor 120 displays the screen 1220 on the display device 160 to reset the filter name in response to a user input 1215 pressing the filter name displayed on a part of the upper part of the display. can do.
  • the processor 120 may display the screen 1220 on the display device 160 in response to the user input 1215 , and may display an overlay keyboard on a portion of the screen.
  • the processor 120 may display a separate display showing the current filter name and an overlay keyboard on a part of the screen so that the user can correct the filter name.
  • the processor 120 may obtain the character input, and in response to the user's character input, display the character on the display device 160 .
  • the processor 120 may reset the filter name in response to the user's input of pressing an icon for resetting the filter name after the user writes the filter name through a keyboard input.
  • the processor 120 may deactivate the rename button when the user does not input a filter name, and activate the rename button when even one character is modified.
  • the rename button is deactivated, the user cannot press the rename button through the display device.
  • the processor 120 may limit the number of characters of the filter name to the first number of characters.
  • the processor 120 may display a warning message on the display device 160 .
  • the above warning message is 'You cannot enter any more characters.' or 'You cannot enter more than the first number of characters.' may include at least one of
  • FIG. 13 is a diagram 1300 illustrating a screen for re-croping a first image in an electronic device according to an exemplary embodiment.
  • the processor 120 may display the screen 1310 on the display device 160 in response to a user input pressing an image displayed on a portion of the screen (eg, the screen 1040 of FIG. 10 ).
  • the electronic device 101 may display the re-crop screen 1310 on the display device 160 of the electronic device 101 so that the user can re-crop the first image.
  • the user may change the crop region by moving a corner handler 1315 of the crop region, and the processor 120 may display the cropped region that is changed in response to the user's change input on the display device 160 .
  • the method of changing the crop area includes a method of obtaining an input 1325 for expanding the crop area on the fixed image of the screen 1320 and the method of setting the crop area 1335 on the fixed image of the screen 1330 by itself. It may include a method of obtaining an input that moves The processor 120 may limit the size of the crop region to the first size.
  • the processor 120 may generate a cropped image in response to a user input pressing the completion button 1340 .
  • the cropped image may mean a first image that is a target image for filter extraction, and may be stored in the memory 130 .
  • the processor 120 may stop displaying the screen 1310 and display a screen (eg, the screen 1040 of FIG. 10 ).
  • the electronic device 101 may include a camera, a display, a memory 130 , and at least one processor 120 electrically connected to the display and the memory.
  • the at least one processor obtains an input for selecting a first image, generates a color filter through comparison of the first image and a second image having a different color pattern with the first image, and obtains a third image and the generated color filter may be applied to the third image.
  • the at least one processor may estimate the second image from the first image.
  • the at least one processor may estimate the second image based on average characteristics of objects in the first image.
  • the at least one processor may obtain an input for selecting the second image.
  • the second image may include a second object that is the same object as the first object included in the first image, and the at least one processor determines whether the first object and the second object are A composition of the second image may be adjusted to overlap, and the color filter may be generated by comparing the composition of the adjusted second image with the first image.
  • the processor 120 may store the generated color filter in the memory 130 .
  • the at least one processor 120 may generate a fourth image by applying the generated or stored color filter to the third image.
  • the color filter may include at least one of a function derived through comparison of color values of pixels of the first image and the second image, a coefficient of a function, or a color lookup table for the derived function.
  • the at least one processor 120 may correct the color lookup table by mapping a color value of a pixel that does not exist in the second image with a color value of an arbitrary pixel.
  • the at least one processor 120 when the at least one processor 120 does not have a maximum value or a minimum value of any one of R, G, and B that does not exist in the second image,
  • the maximum value may be mapped to 255, or the minimum value of any one of the above may be mapped to 0.
  • the third image may include at least one of a first preview image acquired through the camera or an image stored in the memory.
  • the method of controlling an electronic device includes an operation of obtaining an input for selecting a first image by at least one processor electrically connected to a camera, a display, and a memory;
  • the method may include generating a color filter through comparison of a second image having a color pattern, obtaining a third image, and applying the generated color filter to the third image.
  • the method for controlling the electronic device may include estimating the second image from the first image.
  • the method for controlling the electronic device may include estimating the second image based on average characteristics of objects in the first image.
  • the method of controlling the electronic device may include obtaining an input for selecting the second image.
  • the second image may include a second object that is the same object as the first object included in the first image.
  • the at least one processor adjusts the composition of the second image so that the first object and the second object overlap, and the composition of the adjusted second image and the first image and generating the color filter through comparison of .
  • the method for controlling the electronic device may include storing the generated color filter in the memory.
  • the at least one processor may generate a fourth image by applying the generated or stored color filter to the third image.
  • the color filter may include a function derived through comparison of color values of pixels of the first image and the second image, a coefficient of a function, or a color lookup for the derived function It may include at least one of the tables.
  • the method for controlling an electronic device according to an embodiment includes mapping a color value of a pixel that does not exist in the second image with a color value of an arbitrary pixel and correcting the color lookup table through the mapping operation can do.
  • the method of controlling the electronic device determines if any one of the maximum values or the minimum values of R, G, and B that does not exist in the second image does not exist. It may include an operation of mapping to 255 or mapping any one of the minimum values to 0.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

본 개시의 일 실시 예에 따르면, 전자 장치는 카메라, 디스플레이, 메모리 그리고 상기 디스플레이 및 상기 메모리와 전기적으로 연결되는 적어도 하나의 프로세서를 포함한다. 상기 프로세서는 제1 이미지를 선택하는 입력을 획득하고, 상기 제1 이미지 및 상기 제1 이미지와 다른 컬러 패턴을 가지는 제2 이미지의 비교를 통해 컬러 필터를 생성하고, 제3 이미지를 획득하고, 상기 제3 이미지에 상기 생성된 컬러 필터를 적용하여 제4 이미지를 만들어낸다. 상기 프로세서는 상기 제1 이미지와 상기 제2 이미지의 픽셀의 컬러 값 비교를 통해 함수 및 그 함수의 계수를 도출한다. 상기 컬러 필터는, 상기 제1 이미지와 제2 이미지의 비교를 통해 도출된 함수, 함수의 계수 및 상기 도출된 함수를 기반으로 생성된 컬러 룩업 테이블을 포함할 수 있다. 프로세서는 상기 생성된 컬러 필터를 상기 메모리에 저장하고 제3 이미지에 상기 저장된 컬러 필터를 적용하여 제4 이미지를 생성한다.

Description

이미지의 생성 방법 및 그 전자 장치
본 개시는 이미지를 생성하는 전자 장치 및 전자 장치의 이미지 생성 방법에 관한 것이다.
사진을 편집할 수 있는 다양한 기능들 중 필터 기능은 사진에 다양한 효과를 적용하여 특별한 느낌의 사진을 만들 수 있는 기능이다. 하나의 사진에 대해 하나의 필터기능이 선택되면, 사진 전체에 선택된 필터 기능에 대응되는 동일한 효과가 적용되고 있다. 사용자는 전자 장치에 저장되어 있는 필터 효과를 선택하여 원하는 이미지에 저장된 필터 효과를 적용할 수 있다.
이미지에 필터를 입히는 경우, 전자 장치에 이미 저장되어 있는 필터 효과를 적용하거나, 만들어진 필터를 선택적으로 다운 받아 사용을 했기 때문에 사용자가 원하는 필터가 없는 경우가 있었다. 원하는 필터를 생성하는 기존 방법 중 하나인 스타일 트랜스퍼(style transfer)의 방식은 스타일 이미지를 인코딩 및 디코딩 하는 과정에서 처리하는 데 일정 시간이 소요되고, 많은 저장공간이 필요했다.
또한 스타일 입력 이미지로부터 필터의 효과만을 분리하여 추출하기가 어려워서 사용자가 원하는 색, 밝기, 대비 등의 필터효과만 적용할 수 없었다. 불필요한 요소인 질감 등도 같이 적용되어 원하는 이미지를 생성하기 어려웠다.
본 개시에서 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 일 실시 예에 따르면, 전자 장치는, 카메라, 디스플레이, 메모리 및 상기 디스플레이 및 상기 메모리와 전기적으로 연결되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 제1 이미지를 선택하는 입력을 획득하고, 상기 제1 이미지 및 상기 제1 이미지와 다른 컬러 패턴을 가지는 제2 이미지의 비교를 통해 컬러 필터를 생성하고, 제3 이미지를 획득하고, 상기 제3 이미지에 상기 생성된 컬러 필터를 적용하여 제4 이미지를 생성한다. 본 개시의 일 실시 예에 따르면, 전자 장치의 제어 방법은, 카메라, 디스플레이 및 메모리와 전기적으로 연결되는 적어도 하나의 프로세서가 제1 이미지를 선택하는 입력을 획득하는 동작, 상기 제1 이미지 및 상기 제1 이미지와 다른 컬러 패턴을 가지는 제2 이미지의 비교를 통해 컬러 필터를 생성하는 동작, 제3 이미지를 획득하는 동작 및 상기 제3 이미지에 상기 생성된 컬러 필터를 적용하는 동작을 포함한다.
다양한 실시 예에 따르면, 스타일 이미지를 압축하여 디코딩 하는 과정이 필요하지 않아 필터를 생성하는데 처리 속도가 빠르고 적은 저장공간을 요하며 이로 인해 전력 소모를 개선시킬 수 있다.
다양한 실시 예에 따르면, 사용자가 원하는 색감을 가지는 이미지로부터 필터를 생성하고, 생성된 필터를 저장하여 계속적으로 적용할 수 있어서 사용자의 편의성을 개선시킬 수 있다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블럭도이다.
도 2는, 다양한 실시예들에 따른, 카메라 모듈을 예시하는 블럭도이다.
도 3은, 일 실시 예에 따른 전자 장치가 제1 이미지와 제2 이미지의 비교를 통해 컬러 필터를 생성하고 적용하는 과정을 나타낸 도면이다.
도 4는, 일 실시 예에 따른 제1 이미지로부터 제2 이미지를 추정하여 컬러 필터를 생성하는 과정을 나타낸 도면이다.
도 5는, 일 실시 예에 따른 제2 이미지를 선택하는 입력을 획득하여 컬러 필터를 생성하는 과정을 나타낸 도면이다.
도 6은, 일 실시 예에 따른 제1 이미지와 제2 이미지의 비교를 통해 생성된 컬러 룩업 테이블이다.
도 7은, 일 실시 예에 따른 전자 장치에 표시되는 제1 이미지와 제2 이미지를 나타내는 도면이다.
도 8은, 일 실시 예에 따른 전자 장치에 표시되는 제3 이미지와 제4 이미지를 나타내는 도면이다.
도 9는, 일 실시 예에 따른 전자 장치에서, 사용자 입장에서 필터를 생성하여 필터를 적용하는 과정을 나타낸 순서도이다.
도 10은, 일 실시 예에 따른 전자 장치에서, 필터를 생성하는 화면을 나타낸 도면이다.
도 11은, 일 실시 예에 따른 전자 장치에서, 필터를 추가하거나 삭제하는 화면을 나타낸 도면이다.
도 12는, 일 실시 예에 따른 전자 장치에서, 컬러 필터의 명칭을 바꾸는 화면을 나타낸 도면이다.
도 13은, 일 실시 예에 따른 전자 장치에서, 제1 이미지를 re-crop 하는 화면을 나타낸 도면이다.
이하, 첨부된 도면을 참조하여 본 문서에 개시된 다양한 실시 예들이 설명된다. 설명의 편의를 위하여 도면에 도시된 구성요소들은 그 크기가 과장 또는 축소될 수 있으며, 본 개시가 반드시 도시된 바에 의해 한정되는 것은 아니다.
도 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), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드된 채 구현될 수 있다
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다.
메모리(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)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(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)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(388)은, 예를 들면, 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 direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC)이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, 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, or 108) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나",“A 또는 B 중 적어도 하나,”"A, B 또는 C," "A, B 및 C 중 적어도 하나,”및 “A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, “기능적으로” 또는 “통신적으로”라는 용어와 함께 또는 이런 용어 없이, “커플드” 또는 “커넥티드”라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 2는, 다양한 실시예들에 따른, 카메라 모듈(180)을 예시하는 블럭도(200)이다. 도 2를 참조하면, 카메라 모듈(180)은 렌즈 어셈블리(210), 플래쉬(220), 이미지 센서(230), 이미지 스태빌라이저(240), 메모리(250)(예: 버퍼 메모리), 또는 이미지 시그널 프로세서(260)를 포함할 수 있다. 렌즈 어셈블리(210)는 이미지 촬영의 대상인 피사체로부터 방출되는 빛을 수집할 수 있다. 렌즈 어셈블리(210)는 하나 또는 그 이상의 렌즈들을 포함할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 복수의 렌즈 어셈블리(210)들을 포함할 수 있다. 이런 경우, 카메라 모듈(180)은, 예를 들면, 듀얼 카메라, 360도 카메라, 또는 구형 카메라(spherical camera)를 형성할 수 있다. 복수의 렌즈 어셈블리(210)들 중 일부는 동일한 렌즈 속성(예: 화각, 초점 거리, 자동 초점, f 넘버(f number), 또는 광학 줌)을 갖거나, 또는 적어도 하나의 렌즈 어셈블리는 다른 렌즈 어셈블리의 렌즈 속성들과 다른 하나 이상의 렌즈 속성들을 가질 수 있다. 렌즈 어셈블리(210)는, 예를 들면, 광각 렌즈 또는 망원 렌즈를 포함할 수 있다.
플래쉬(220)는 피사체로부터 방출 또는 반사되는 빛을 강화하기 위하여 사용되는 빛을 방출할 수 있다. 일실시예에 따르면, 플래쉬(220)는 하나 이상의 발광 다이오드들(예: RGB(red-green-blue) LED, white LED, infrared LED, 또는 ultraviolet LED), 또는 xenon lamp를 포함할 수 있다. 이미지 센서(230)는 피사체로부터 방출 또는 반사되어 렌즈 어셈블리(210)를 통해 전달된 빛을 전기적인 신호로 변환함으로써, 상기 피사체에 대응하는 이미지를 획득할 수 있다. 일실시예에 따르면, 이미지 센서(230)는, 예를 들면, RGB 센서, BW(black and white) 센서, IR 센서, 또는 UV 센서와 같이 속성이 다른 이미지 센서들 중 선택된 하나의 이미지 센서, 동일한 속성을 갖는 복수의 이미지 센서들, 또는 다른 속성을 갖는 복수의 이미지 센서들을 포함할 수 있다. 이미지 센서(230)에 포함된 각각의 이미지 센서는, 예를 들면, CCD(charged coupled device) 센서 또는 CMOS(complementary metal oxide semiconductor) 센서를 이용하여 구현될 수 있다.
이미지 스태빌라이저(240)는 카메라 모듈(180) 또는 이를 포함하는 전자 장치(101)의 움직임에 반응하여, 렌즈 어셈블리(210)에 포함된 적어도 하나의 렌즈 또는 이미지 센서(230)를 특정한 방향으로 움직이거나 이미지 센서(230)의 동작 특성을 제어(예: 리드 아웃(read-out) 타이밍을 조정 등)할 수 있다. 이는 촬영되는 이미지에 대한 상기 움직임에 의한 부정적인 영향의 적어도 일부를 보상하게 해 준다. 일실시예에 따르면, 이미지 스태빌라이저(240)는, 일실시예에 따르면, 이미지 스태빌라이저(240)는 카메라 모듈(180)의 내부 또는 외부에 배치된 자이로 센서(미도시) 또는 가속도 센서(미도시)를 이용하여 카메라 모듈(180) 또는 전자 장치(101)의 그런 움직임을 감지할 수 있다. 일실시예에 따르면, 이미지 스태빌라이저(240)는, 예를 들면, 광학식 이미지 스태빌라이저로 구현될 수 있다. 메모리(250)는 이미지 센서(230)를 통하여 획득된 이미지의 적어도 일부를 다음 이미지 처리 작업을 위하여 적어도 일시 저장할 수 있다. 예를 들어, 셔터에 따른 이미지 획득이 지연되거나, 또는 복수의 이미지들이 고속으로 획득되는 경우, 획득된 원본 이미지(예: Bayer-patterned 이미지 또는 높은 해상도의 이미지)는 메모리(250)에 저장이 되고, 그에 대응하는 사본 이미지(예: 낮은 해상도의 이미지)는 표시 장치(160)를 통하여 프리뷰될 수 있다. 이후, 지정된 조건이 만족되면(예: 사용자 입력 또는 시스템 명령) 메모리(250)에 저장되었던 원본 이미지의 적어도 일부가, 예를 들면, 이미지 시그널 프로세서(260)에 의해 획득되어 처리될 수 있다. 일실시예에 따르면, 메모리(250)는 메모리(130)의 적어도 일부로, 또는 이와는 독립적으로 운영되는 별도의 메모리로 구성될 수 있다.
이미지 시그널 프로세서(260)는 이미지 센서(230)를 통하여 획득된 이미지 또는 메모리(250)에 저장된 이미지에 대하여 하나 이상의 이미지 처리들을 수행할 수 있다. 상기 하나 이상의 이미지 처리들은, 예를 들면, 깊이 지도(depth map) 생성, 3차원 모델링, 파노라마 생성, 특징점 추출, 이미지 합성, 또는 이미지 보상(예: 노이즈 감소, 해상도 조정, 밝기 조정, 블러링(blurring), 샤프닝(sharpening), 또는 소프트닝(softening)을 포함할 수 있다. 추가적으로 또는 대체적으로, 이미지 시그널 프로세서(260)는 카메라 모듈(180)에 포함된 구성 요소들 중 적어도 하나(예: 이미지 센서(230))에 대한 제어(예: 노출 시간 제어, 또는 리드 아웃 타이밍 제어 등)를 수행할 수 있다. 이미지 시그널 프로세서(260)에 의해 처리된 이미지는 추가 처리를 위하여 메모리(250)에 다시 저장되거나 카메라 모듈(180)의 외부 구성 요소(예: 메모리(130), 표시 장치(160), 전자 장치(102), 전자 장치(104), 또는 서버(108))로 제공될 수 있다. 일실시예에 따르면, 이미지 시그널 프로세서(260)는 프로세서(120)의 적어도 일부로 구성되거나, 프로세서(120)와 독립적으로 운영되는 별도의 프로세서로 구성될 수 있다. 이미지 시그널 프로세서(260)가 프로세서(120)와 별도의 프로세서로 구성된 경우, 이미지 시그널 프로세서(260)에 의해 처리된 적어도 하나의 이미지는 프로세서(120)에 의하여 그대로 또는 추가의 이미지 처리를 거친 후 표시 장치(160)를 통해 표시될 수 있다.
일 실시예에 따르면, 전자 장치(101)는 각각 다른 속성 또는 기능을 가진 복수의 카메라 모듈(180)들을 포함할 수 있다. 이런 경우, 예를 들면, 상기 복수의 카메라 모듈(180)들 중 적어도 하나는 광각 카메라이고, 적어도 다른 하나는 망원 카메라일 수 있다. 유사하게, 상기 복수의 카메라 모듈(180)들 중 적어도 하나는 전면 카메라이고, 적어도 다른 하나는 후면 카메라일 수 있다.
도 3은, 일 실시 예에 따른 전자 장치에서, 새로운 영상 생성 방법에 관한 순서도(300)이다.
일 실시 예에 따르면, 동작 310에서, 프로세서(120)는 제1 이미지를 선택하는 입력을 획득할 수 있다. 상기 제1 이미지는 전자 장치의 앨범 어플리케이션에 저장된 이미지를 포함할 수 있다. 상기 제1 이미지는 사용자가 전자 장치의 카메라를 이용하여 촬영한 이미지를 포함할 수 있고, 이미지 센서를 통해 획득된 정보를 기반으로 생성된 이미지를 포함할 수 있다. 제1 이미지는 다른 전자 장치로부터 전송받아 획득한 이미지를 포함할 수 있다. 제1 이미지는 인터넷의 특정 서버에서 다운로드 받은 이미지를 포함할 수 있다. 일 실시 예에 따르면, 상기 제1 이미지는 전자 장치의 화면 캡쳐 기능을 이용하여 생성한 캡쳐 이미지를 포함할 수 있다. 상기 캡쳐 이미지는 전자 장치의 바탕화면, 어플리케이션 작동 화면, 통화 화면 중 적어도 하나의 캡쳐 이미지를 포함할 수 있다. 상기 캡쳐 기능은 사용자가 전자 장치(101)의 특정 버튼을 누르거나 사용자가 디스플레이 위에서 손으로 특정 모션을 취하는 방식으로 수행될 수 있다. 프로세서(120)는 사용자가 앨범 어플리케이션을 통하여 저장된 제1 이미지를 선택하는 것에 응답하여, 상기 제1 이미지를 컬러 데이터를 도출하는 대상 이미지(target image)로 설정할 수 있다.
일 실시 예에 따르면, 동작 320에서, 프로세서(120)는 제1 이미지와 제2 이미지의 비교를 통해 컬러 필터를 생성할 수 있다. 예를 들어, 프로세서(120)는 제1 이미지와 제2 이미지에서 서로 대응되는 픽셀의 컬러 값을 비교하여 컬러 필터를 생성할 수 있다. 프로세서(120)는 제1 이미지를 제2 이미지에 매칭시키고, 서로 중첩되는 픽셀에 대한 컬러 값을 비교할 수 있다. 예를 들어, 제1 이미지 및 제2 이미지는 각각 R(red), G(green), B(blue)의 색 요소를 포함할 수 있고, 프로세서(120)는 제1 이미지의 임의의 R, G, B 값이 제2 이미지에서 어떤 R, G, B으로 변경되는지 판단할 수 있다. 예를 들어, R, G, B는 각각 0~255 사이의 값을 가질 수 있고, 제1 이미지에서 120에 해당하는 R 값은 제2 이미지에서 135에 해당하는 R 값을 가질 수 있다. 프로세서는, 제1 이미지에 포함된 모든 R, G, B 값이, 제2 이미지에서는 어떠한 R, G, B 값으로 변경되는지 데이터를 획득할 수 있다.
일 실시 예에 따르면, 프로세서(120)는 컬러 필터를 추가하는 사용자의 입력에 응답하여 상기 컬러 필터를 둘 이상 생성할 수 있다. 예를 들어, 컬러 필터가 1개 존재하는 상태에서, 컬러 필터를 추가하는 사용자의 입력에 응답하여 컬러 필터는 2개가 될 수 있다.
일 실시 예에 따르면 상기 컬러 필터는 상기 컬러 값 비교를 통해 도출된 함수, 함수의 계수 또는 상기 도출된 함수 및 함수의 계수를 기반으로 생성된 컬러 룩업 테이블로 구현될 수 있다. 상기 함수, 함수의 계수 및 컬러 룩업 테이블은 이하 도 6에서 자세히 설명한다.
일 실시 예에 따르면, 동작 330에서, 프로세서(120)는 제3 이미지를 획득할 수 있다. 상기 제3 이미지는 카메라 모듈(예: 도 1의 180)을 통해 획득된 제1 프리뷰 이미지 또는 메모리(예: 도 1의 메모리(130))에 저장된 이미지 중 적어도 하나를 포함할 수 있다. 제3 이미지는 이미지 센서(예: 도 2의 이미지 센서(230))를 통해 획득된 정보를 기반으로 생성된 이미지를 포함할 수 있다. 상기 제3 이미지는 상기 생성된 이미지가 메모리(130)에 저장된 이미지를 포함할 수 있다. 프로세서(120)는 사용자가 앨범 어플리케이션을 통하여 저장된 제3 이미지를 선택하는 것에 응답하여, 상기 제3 이미지를 컬러 데이터가 적용되는 대상 이미지로 설정할 수 있다.
일 실시 예에 따르면, 동작 340에서, 프로세서(120)는 제3 이미지에, 제1 이미지와 제2 이미지의 비교를 통해 생성된 컬러 필터를 적용할 수 있다. 상기 프로세서(120)는 제3 이미지에 컬러 필터를 적용하여 제4 이미지를 생성할 수 있다. 예를 들어, 제3 이미지에서 135의 값을 가지는 R은 제4 이미지에서 120의 값을 가지는 R로 변환될 수 있다. 프로세서(120)는 제3 이미지에 상기 도출한 함수를 적용할 수 있다. 프로세서(120)는 새로운 이미지인 제3 이미지에 대해 픽셀마다 R, G, B 각각의 컬러 값을 함수의 입력으로 받아서 계산을 수행하여 제4 이미지를 생성할 수 있다.
도 4는, 일 실시 예에 따른 전자 장치에서, 컬러 필터를 생성하는 과정을 나타낸 순서도(400)이다.
일 실시 예에 따르면, 동작 410에서, 프로세서(120)는 제1 이미지를 선택하는 입력을 획득할 수 있다. 프로세서(120)는 제1 이미지를 선택하는 사용자의 입력을 획득하는 경우 제1 이미지를 디스플레이에 표시할 수 있다.
상기 제1 이미지는 필터 효과가 적용된 이미지일 수 있다. 예를 들어, 제1 이미지는 흑백 효과를 주는 필터, 빛바랜 느낌을 주는 필터 또는 파스텔 색감을 주는 필터 중 적어도 하나의 적용을 받은 이미지일 수 있다. 컬러 필터는 상기 제시된 필터 외에도 다양한 필터가 존재할 수 있다.
일 실시 예에 따르면, 동작 420에서, 프로세서(120)는 제1 이미지로부터 제2 이미지를 추정할 수 있다. 프로세서(120)는 상기 필터가 적용된 이미지에서 컬러 필터가 적용되지 않은 원본 이미지인 제2 이미지를 추정할 수 있다. 프로세서(120)는 상기 제1 이미지 내의 객체들의 평균적인 특성에 기반하여 상기 제2 이미지를 추정할 수 있다. 프로세서(120)는 제1 이미지에 포함되어 있는 객체들을 인식할 수 있고, 상기 객체가 가지는 평균적인 색감을 추정하여 원본 이미지를 추정할 수 있다. 예를 들어, 프로세서(120)는 제1 이미지에 포함되어 있는 객체(ex. 풀 또는 바다)를 인식할 수 있고, 제1 이미지에 흑백 필터가 적용되어 풀 또는 바다가 회색 색감을 가지는 것을 인식할 수 있다. 제1 이미지에 흑백 필터가 적용되어 풀 또는 바다가 회색 색감을 가지는 경우, 풀은 평균적으로 녹색 색감을 포함할 수 있고, 바다는 평균적으로 파란색 색감을 포함할 수 있으므로, 원본 이미지인 제2 이미지에서 풀은 녹색, 바다는 파란색 색감을 가질 수 있다. 즉, 프로세서(120)는 상기 제1 이미지에 포함된 객체(ex. 바다)의 회색 색감에서 상기 객체(ex. 바다)의 평균적인 색감(ex. 파란색)을 추정하여 원본 이미지인 제2 이미지를 추정할 수 있다.
상기 추정 방식은 머신 러닝, 빅데이터 기술, AI(artificial intelligence)가 적용되어 수행될 수 있고, 상기 추정을 통해 학습된 데이터는 머신 러닝, 빅데이터 기술 또는 AI(artificial intelligence) 중 적어도 하나에 의해 메모리(130)에 저장될 수 있다.
일 실시 예에 따르면, 동작 430에서, 프로세서(120)는 제1 이미지와 추정된 제2 이미지의 비교를 통해 컬러 필터를 생성할 수 있다. 프로세서(120)는 상기 제1 이미지와 상기 추정된 제2 이미지의 컬러 값을 비교하여 컬러 필터를 생성할 수 있다. 프로세서(120)는 제1 이미지와 추정된 제2 이미지의 컬러 값을 비교하여 컬러 필터를 생성할 수 있다. 제1 이미지 및 제2 이미지는 각각 R(red), G(green), B(blue)의 색 요소를 포함할 수 있고, 프로세서(120)는 제1 이미지의 임의의 R, G, B 값이 제2 이미지에서 어떤 R, G, B으로 변경되는지 판단할 수 있다. 예를 들어, R, G, B는 각각 0~255 사이의 값을 가질 수 있고, 제1 이미지에서 120에 해당하는 R 값은 제2 이미지에서 135의 R 값을 가질 수 있다. 프로세서는, 제1 이미지에 포함된 모든 R, G, B 값이, 제2 이미지에서는 어떠한 R, G, B 값으로 변경되는지 데이터를 획득할 수 있다.
도 5는, 일 실시 예에 따른 제2 이미지를 선택하는 입력을 획득하여 컬러 필터를 생성하는 과정을 나타낸 도면(500)이다.
일 실시 예에 따르면, 동작 510에서, 프로세서(120)는 제1 이미지를 선택하는 입력을 획득할 수 있다. 프로세서(120)는 제1 이미지를 선택하는 사용자의 입력을 획득하는 경우 제1 이미지를 디스플레이에 표시할 수 있다.
일 실시 예에 따르면, 동작 520에서, 프로세서(120)는 제2 이미지를 선택하는 입력을 획득할 수 있다. 프로세서(120)는 제2 이미지를 선택하는 사용자의 입력을 획득할 수 있다. 일 실시 예에 따르면, 제1 이미지는 제2 이미지와 동일한 장소에서 촬영한 이미지를 의미할 수 있다. 제2 이미지는 제1 이미지와 시간대를 달리하여 촬영한 이미지일 수 있다. 예를 들어, 제1 이미지는 해가 질 무렵에 촬영한 이미지일 수 있고, 제2 이미지는 제1 이미지에 포함된 동일 객체를 정오에 촬영한 이미지일 수 있다.
일 실시 예에 따르면, 동작 530에서, 프로세서(120)는 제1 이미지와 제2 이미지의 구도를 조정할 수 있다 프로세서(120)는 제1 이미지와 제2 이미지의 비교를 위하여 구도를 조정할 수 있다. 프로세서(120)는 제1 이미지 내에 존재하는 객체와 제2 이미지 내에 존재하는 객체를 인식할 수 있다. 제1 이미지 내에 존재하는 객체와 제2 이미지 내에 존재하는 객체는 동일할 수 있다. 상기 제2 이미지는 상기 제1 이미지에 포함된 제1 객체와 동일한 객체인 제2 객체를 포함할 수 있다. 상기 적어도 하나의 프로세서는 상기 제1 객체와 상기 제2 객체가 중첩되도록 상기 제2 이미지의 구도를 조정할 수 있다. 고정된 위치의 카메라에 의해 촬영된 경우와 같이 제1 이미지와 제2 이미지의 구도가 일치하는 경우에는, 구도를 조정하는 동작은 생략될 수 있다.
일 실시 예에 따르면, 프로세서(120)는 제1 이미지와 제2 이미지가 서로 매칭되는지 판단하여 구도를 조정할 수 있다. 프로세서(120)는 상기 제1 이미지와 상기 제2 이미지의 특징점을 탐지하고, 특징점에 대한 특징 기술자들을 추출할 수 있다. 특징점이란 해당 이미지를 정의할 수 있는 임의의 부분을 의미하며, 특징 기술자란 해당 특징 영역을 벡터 값으로 표현한 것을 의미할 수 있다. 예를 들어 특징점은 이미지에 포함된 윤곽선 또는 중심점일 수 있으며, 특징 기술자는 상기 윤곽선 또는 중심점을 이루는 각 점들의 변위를 벡터로 표현한 값일 수 있다.
일 실시 예에 따르면, 프로세서(120)는 입력되는 영상(예: 제1 이미지)에서 객체를 검출하고, 검출된 객체를 인식하여 추적 객체를 선정하고, 입력 영상에서 추적 객체의 객체 영역에 대한 설정 구도를 설정하고, 새로이 입력되는 영상(예: 제2 이미지)에서 추적 객체를 추적하고, 영상에서 추적 객체의 객체 영역이 설정 구도에 의하여 배치되도록 구도를 조정하도록 제어할 수 있다. 프로세서(120)는 적어도 하나 이상의 객체에 대한 정보를 메모리(130)에 저장할 수 있다.
상기 설명된 제1 이미지와 제2 이미지의 구도를 조정하는 방식은 일 실시 예를 나타내기 위한 것일 뿐, 상기 설명된 것에 의해 본 개시의 구도를 조정하는 방식이 한정되는 것은 아니다.
일 실시 예에 따르면, 동작 540에서, 프로세서(120)는 제1 이미지와 제2 이미지의 비교를 통해 컬러 필터를 생성할 수 있다. 프로세서(120)는 상기 조정된 제2 이미지와 제1 이미지의 비교를 통해 컬러 필터를 생성할 수 있다. 프로세서(120)는 상기 조정된 제2 이미지와 제1 이미지의 컬러 값 비교를 통해 함수 및 함수의 계수를 도출할 수 있고, 상기 도출된 함수 및 함수의 계수를 기반으로 컬러 룩업 테이블을 생성할 수 있다.
도 6은, 일 실시 예에 따른 제1 이미지와 제2 이미지의 비교를 통해 생성된 컬러 룩업 테이블(600)이다.
상기 컬러 룩업 테이블(600)은 제1 이미지와 제2 이미지의 컬러 값들의 매칭을 통해 도출한 함수(610) 및 함수의 계수에 대한 정보를 포함할 수 있다. 상기 함수(610)는 3차 이상의 비선형(non-linear) 다항식 또는 삼각함수 일 수 있다. 상기 함수(610)는, 예를 들어, y=-51.22*x^6 +93.254*x^5 -41.99*x^4 -2.6722*x^3 +2.5786*x^2 +0.9984*x +0.05 일 수 있다. 프로세서(120)는 상기 함수를 메모리(130)에 저장하거나 상기 함수의 계수인 -51.22, 93.254, -41.99, -2.6722, 2.5786, 0.9984, 0.05를 메모리(130)에 저장할 수 있다. 상기 프로세서(120)는 상기 함수 및 함수의 계수에 더하여 6차 함수라는 정보를 전자 장치(101)에 저장할 수 있다. 상기 메모리(130)는 객체 정보 또는 촬영 정보 중 적어도 하나를 포함하는 적어도 하나의 필터 데이터를 저장할 수 있다.
프로세서(120)는 R(red), G(green), B(blue) 각각에 대한 컬러 룩업 테이블을 생성할 수 있다. 상기 프로세서(120)는 상기 함수의 결과값을 계산하여 R, G, B 각각에 대한 컬러 룩업 테이블을 생성해서 상기 컬러 룩업 테이블을 메모리(130)에 저장할 수도 있다.
일 실시 예에 따르면, x축(620)은 제2 이미지의 픽셀들의 컬러 값이고, y축(630)은 제1 이미지의 픽셀들의 컬러 값을 의미할 수 있다. 상기 컬러 룩업 테이블(600)의 x축(620)은 컬러 값 0부터 255를 0부터 1로 정규화한 것으로, x축(620)에 나타나는 0이라는 숫자(660)는 컬러 값이 0을 의미하고, x축(620)에 나타나는 1이라는 숫자(670)는 컬러 값 255를 의미할 수 있다. 이는 y축(630)에도 마찬가지로 적용될 수 있다.
일 실시 예에 따르면, 상기 컬러 룩업 테이블(600)에서 제1 이미지 또는 제2 이미지는 픽셀의 컬러 값이 존재하지 않을 수 있다. 상기 프로세서는, 상기 제2 이미지에 존재하지 않는 픽셀의 컬러 값을 임의의 픽셀의 컬러 값과 맵핑하여 상기 컬러 룩업 테이블을 보정할 수 있다. 상기 프로세서(120)는, 상기 제2 이미지에 존재하지 않는 R, G, B 중 어느 하나의 최대 값 또는 어느 하나의 최소 값이 존재하지 않는 경우(예: 도 6의 함수 그래프(640)), 도 6의 함수 그래프(650)와 같이 상기 어느 하나의 최대 값을 255에 맵핑하거나 상기 어느 하나의 최소 값을 0에 정확히 또는 가깝게 맵핑할 수 있다. 예를 들어, 프로세서(120)는, 제2 이미지에서 230에 해당하는 R 값 존재하지 않는 경우, 제2 이미지에서 230에 해당하는 R 값을 제1 이미지에서 220에 해당하는 R 값과 매칭하여 상기 컬러 룩업 테이블을 보정할 수 있다. 또한, 제2 이미지에서 최대값(예: 255)에 해당하는 R 값을 제1 이미지에서 최대값(예: 255)에 해당하는 R 값과 매칭하여 상기 컬러 룩업 테이블을 보정할 수 있다. 프로세서(120)는 상기 보정을 통해 새로운 이미지에 컬러 필터를 적용할 때 제2 이미지에 없는 색상에 대해 클리핑(clipping)이 발생하는 것을 방지할 수 있다.
일 실시 예에 따르면, 프로세서(120)는 함수의 급격한 변화를 방지하도록 상기 함수(610) 및 상기 컬러 룩업 테이블(600)을 보정할 수 있다. 예를 들어, 픽셀의 컬러 값 매칭으로 함수의 계수를 구할 때, 소수의 픽셀의 컬러 값들이 기존 패턴과 다르게 큰 변화를 보이는 부분이 있으면 함수의 변화량이 의도치않게 클 수 있다. 상기 기존 패턴과 다르게 큰 변화를 보이는 경우는 제1 이미지의 R에 대한 컬러 값이 40이고 상기 컬러 값 40에 매칭되는 제2 이미지의 R에 대한 정상적인 컬러 값은 60인데, 상기 컬러 값 40에 매칭되는 제2 이미지의 R에 대한 컬러 값이 150인 경우를 포함할 수 있다. 프로세서(120)는 함수의 계수를 변경하여 함수의 변화량이 크지 않도록 상기 함수(610) 및 상기 컬러 룩업 테이블(600)을 보정할 수 있다. 프로세서(120)는 지나치게 크게 구부러지는 곡선 형태의 함수 모양을 보정하여 상기 보정된 함수를 제3 이미지에 적용했을 때 필터 효과가 자연스럽게 적용된 결과 영상(예: 제4 이미지)을 생성할 수 있다.
일 실시 예에 따르면, 상기 보정된 함수, 함수의 계수 또는 컬러 룩업 테이블은 메모리(130)에 저장되어 새로운 이미지에 계속적으로 적용할 수 있다.
도 7은, 일 실시 예에 따른 전자 장치에 표시되는 제1 이미지와 제2 이미지를 나타내는 도면(700)이다.
일 실시 예에 따르면, 제1 이미지(710)는 사용자가 원하는 필터 효과가 적용된 이미지를 의미할 수 있다. 제1 이미지(710)는 스타일 이미지 또는 필터 이미지로 언급될 수 있다. 제1 이미지(710)는 각 픽셀마다 R(red), G(green) 또는 B(blue) 컬러 값 중 적어도 하나 이상을 포함할 수 있다. 제2 이미지(720)는 각 픽셀마다 R(red), G(green) 또는 B(blue) 컬러 값 중 적어도 하나 이상을 포함할 수 있다. 제2 이미지(720)는 제1 이미지(710)로부터 추정된 이미지를 의미할 수 있다. 제2 이미지(720)는 제1 이미지(710) 내의 객체들의 평균적인 특성에 기반하여 추정된 이미지일 수 있다. 제2 이미지(720)는 제1 이미지(710)가 포함하고 있는 동일한 객체(ex. 소)를 포함할 수 있다. 제2 이미지(720)는 제1 이미지(710)와 구별되는 컬러 값을 갖는 이미지를 의미할 수 있다. 제2 이미지(720)의 R, G, B 값(740)은 제1 이미지(710)의 R, G, B 값(730)과 구별될 수 있다. 예를 들어, R, G, B 값은 각각 0~255 사이의 값을 가질 수 있고, 제1 이미지(710)에서 120에 해당하는 R 값은 제2 이미지(720)에서 135에 해당하는 R 값과 매칭될 수 있다. 프로세서(120)는 상기 제1 이미지(710)와 상기 제2 이미지(720)의 대응되는 픽셀에 대한 컬러 값의 비교를 통해 컬러 필터를 생성할 수 있다.
도 8은, 일 실시 예에 따른 전자 장치에 표시되는 제3 이미지와 제4 이미지를 나타내는 도면(800)이다.
일 실시 예에 따르면, 제3 이미지(810)는 사용자가 필터를 적용하고 싶은 대상인 대상 이미지를 의미할 수 있다. 제3 이미지(810)는 전자 장치(101)의 메모리(130)에 저장된 이미지 또는 카메라 모듈(180)을 통해 획득되어 프리뷰에 나타나는 이미지 중 적어도 하나를 포함할 수 있다. 제3 이미지(810)는 영상 통화를 하는 도중에 디스플레이에 표시되는 영상을 포함할 수 있다.
일 실시 예에 따르면, 프로세서(120)는 제3 이미지(810)에 컬러 필터를 적용하여 제4 이미지(820)를 생성할 수 있다. 프로세서(120)는 제3 이미지(810)에 생성된 컬러 필터를 적용하여 다른 컬러 패턴을 가지는 제4 이미지(820)를 생성할 수 있다. 제3 이미지(810) 및 제4 이미지(820)는 각 픽셀마다 R(red), G(green) 또는 B(blue) 중 적어도 하나 이상을 포함할 수 있고, 제4 이미지(820)의 R, G, B 값(840)은 제3 이미지(810)의 R, G, B 값(830)과 구별될 수 있다. 예를 들어, 제3 이미지(810)에서 R 값은 135을 가지고 제4 이미지(820)에서 R 값은 120의 값을 가질 수 있다.
일 실시 예에 따르면, 프로세서(120)는 흑백 필터가 적용된 제1 이미지(710)와 상기 제1 이미지로부터 원본 추정된 제2 이미지(720)의 비교를 통해 도출한 흑백 필터를 제3 이미지(810)에 적용하여 흑백 필터가 적용된 제4 이미지(820)를 생성할 수 있다. 제4 이미지(820)는 제3 이미지(810)가 포함하고 있는 동일한 객체(ex. 택시)를 포함할 수 있다. 제3 이미지(810)는 노란색 색감을 가지는 객체(ex. 택시)를 포함할 수 있다. 제4 이미지(820)는 흑백 필터가 적용되어 그레이 색감을 가지는 객체(ex. 택시)를 포함할 수 있다.
일 실시 예에 따르면, 프로세서(120)는 상기 생성된 컬러 필터를 저장하는 입력을 획득하여 메모리에 상기 생성된 컬러필터가 저장되도록 제어할 수 있다. 프로세서(120)는 상기 저장된 컬러 필터를 적용하여 제4 이미지(820)를 생성할 수 있다. 프로세서(120)는 제3 이미지(810)가 카메라 모듈(180)을 통해 획득되는 프리뷰인 경우, 제4 이미지(820)를 카메라 모듈(180)을 통해 획득되는 프리뷰로서 출력하도록 카메라 모듈(180)을 제어할 수 있다.
도 9는, 일 실시 예에 따른 전자 장치에서, 사용자 입장에서 필터를 생성하여 필터를 적용하는 과정을 나타낸 순서도(900)이다.
일 실시 예에 따르면, 동작 910에서, 프로세서(120)는 앨범 또는 필터 어플리케이션 입력을 획득할 수 있다. 프로세서(120)는 사용자의 상기 어플리케이션 입력에 응답하여, 상기 어플리케이션을 실행할 수 있다.
일 실시 예에 따르면, 동작 920에서, 프로세서(120)는 제1 이미지 선택하는 입력을 획득할 수 있다. 프로세서(120)는 제1 이미지를 리크롭(re-crop)하는 입력을 획득할 수 있다.
일 실시 예에 따르면, 동작 930에서, 프로세서(120)는 제1 이미지를 선택하는 입력을 획득한 후 필터를 생성할 수 있다. 프로세서(120)는 생성된 필터를 사용자의 저장 입력에 응답하여 메모리(130)에 저장할 수 있다.
일 실시 예에 따르면, 동작 940에서, 프로세서(120)는 앨범 또는 필터 어플리케이션 입력을 획득할 수 있다. 프로세서(120)는 사용자의 상기 어플리케이션 입력에 응답하여, 상기 어플리케이션을 실행할 수 있다.
일 실시 예에 따르면, 동작 950에서, 프로세서(120)는 제3 이미지를 획득할 수 있다. 프로세서(120)는 사용자가 필터를 적용하기 원하는 이미지인 제3 이미지를 획득할 수 있다. 제3 이미지는 전자 장치(101)의 메모리(130)에 저장된 이미지 또는 카메라 모듈(180)을 통해 획득되어 프리뷰에 나타나는 이미지 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 동작 960에서, 프로세서(120)는 사용자의 필터 선택 및 적용 입력에 대응하여 제3 이미지에 상기 선택된 필터를 적용할 수 있다.
도 10은, 일 실시 예에 따른 전자 장치에서, 필터를 생성하는 화면을 나타낸 도면(1000)이다.
일 실시 예에 따르면, 전자 장치(101)는 화면 1050을 표시 장치(160)에 표시할 수 있다. 상기 화면 1050은 시간, 기온 등의 정보 표시를 포함할 수 있고, 카메라, 앨범 등의 어플리케이션 아이콘을 포함할 수 있다. 상기 화면(1010)은 필터 어플리케이션 아이콘을 포함할 수 있다. 상기 어플리케이션은 카메라 어플리케이션, 앨범 어플리케이션 또는 필터 어플리케이션 중 적어도 하나를 포함할 수 있다. 프로세서(120)는 상기 어플리케이션을 누르는 사용자의 입력(1012)에 응답하여 화면(1020)을 디스플레이에 표시할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 화면 1020을 표시 장치(160)에 표시할 수 있다. 프로세서(120)는 화면(1020) 상단의 일부분(1022)에 filters, my filters 또는 beauty 기능을 표시할 수 있다. 프로세서(120)는 필터 만들기 버튼을 누르는 사용자 입력(1024)에 응답하여 화면(1030)을 표시 장치(160)에 표시할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 화면 1030을 표시 장치(160)에 표시할 수 있다. 프로세서(120)는 화면(1030)에 사용자가 필터를 만들기 위한 이미지를 선택할 수 있도록 이미지 목록을 표시할 수 있다. 프로세서(120)는 이미지를 누르는 사용자의 입력(1032)에 응답하여 화면(1040)을 표시장치(160)에 표시할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 화면 1040을 표시 장치(160)에 표시할 수 있다.
일 실시 예에 따르면, 프로세서(120)는 화면(1040)에 카메라로부터 획득된 프리뷰 이미지(1043)를 표시할 수 있다. 프로세서(120)는 화면(1040)에 포함된 상기 프리뷰 이미지(1043) 중 일부분을 롱탭하는 사용자 입력(1044)에 응답하여, 필터가 적용되지 않은 이미지를 표시장치(160)에 표시할 수 있다. 예를 들어, 사용자가 프리뷰 이미지가 표시되는 부분의 디스플레이를 1초간 누르고 있는 경우, 프로세서(120)는 필터가 적용된 프리뷰 이미지의 표시를 중단하고 필터가 적용되지 않는 이미지를 표시할 수 있다.
일 실시 예에 따르면, 프로세서(120)는 취소(cancel) 버튼을 누르는 사용자 입력(1046)에 응답하여, 화면(1040)을 표시하는 것을 중단하고, 화면(1030)을 표시할 수 있다. 프로세서(120)는 필터 만들기 버튼을 누르는 사용자 입력(1042)에 응답하여, 화면(1040)을 표시하는 것을 중단하고, 화면(1030)을 표시할 수 있다. 프로세서(120)는 저장(save) 버튼을 누르는 사용자 입력(1048)에 응답하여, 생성된 컬러 필터를 저장하고 생성된 컬러 필터를 표시하는 화면(1050)으로 진입할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 화면 1050을 표시 장치(160)에 표시할 수 있다. 프로세서(120)는 생성된 컬러 필터의 목록을 가로 배열로 표시 장치(160)에 표시할 수 있다. 프로세서(120)는 상기 컬러 필터의 목록에서 가장 왼쪽에 배치된 필터 추가 아이콘을 누르는 사용자 입력(1056)에 응답하여 필터를 추가로 생성할 수 있다. 사용자는 화면(1050)에 표시된 필터 효과의 강도(intensity)를 조절할 수 있다. 예를 들어, 필터 효과의 강도는 제1 단계 내지 제10 단계를 포함할 수 있다. 전자 장치(101)는 버튼(1054)을 누르는 사용자 입력에 응답하여, 필터가 적용된 이미지를 획득할 수 있다.
프로세서가 필터를 생성하는 과정을 표시장치(160)에 출력하는 방식은, 도 10에 기재된 실시 예에 한정되지 않으며, 다양한 방식으로 표시될 수 있다.
도 11은, 일 실시 예에 따른 전자 장치에서, 필터를 추가하거나 삭제하는 화면을 나타낸 도면(1100)이다.
일 실시 예에 따르면, 프로세서(120)는 컬러 필터를 생성 후 표시되는 화면(1110)을 표시 장치(160)에 표시할 수 있다. 화면(1110)은 필터 만들기 아이콘, 필터가 적용되지 않은 이미지에 대한 아이콘, 생성된 필터 아이콘을 포함할 수 있다.
일 실시 예에 따르면, 생성된 컬러 필터가 모두 삭제된 경우, 프로세서(120)는 화면(1120)의 하단 중 일부분에 필터 만들기 아이콘과 필터가 적용되지 않은 이미지에 대한 아이콘을 표시할 수 있다. 일 실시 예에 따르면, 전자 장치(101)에 표시되는 화면(1130)은 여러 컬러 필터를 생성한 모습을 포함할 수 있다. 상기 생성된 여러 컬러 필터 아이콘은 화면(1130)의 하단에 배치될 수 있다. 프로세서(120)는 생산 가능한 필터의 최대 개수(예: 99개)를 제한할 수 있다. 프로세서(120)는 생산 가능한 필터의 최대 개수가 도달한 상태에서, 필터 생성 입력을 획득한 경우 경고 메시지를 화면의 일부에 표시할 수 있다. 예를 들어, 상기 경고 메시지는 '더 이상 필터를 생성할 수 없습니다.' 또는 '제1 개수 이상의 필터를 생성할 수 없습니다.' 중 적어도 하나를 포함할 수 있다.
도 12는, 일 실시 예에 따른 전자 장치에서, 컬러 필터의 명칭을 바꾸는 화면을 나타낸 도면(1200)이다.
일 실시 예에 따르면, 프로세서(120)는 디스플레이 상단 중 일부에 표시되는 필터 명칭을 누르는 사용자의 입력(1215)에 응답하여 필터 명칭을 다시 설정할 수 있도록 화면(1220)을 표시 장치(160)에 표시할 수 있다. 프로세서(120)는 상기 사용자 입력(1215)에 응답하여 화면(1220)을 표시 장치(160)에 표시할 수 있고, 화면의 일부분에 오버레이(overlay) 키보드를 표시할 수 있다. 프로세서(120)는 화면의 일부분에 사용자가 필터 명칭을 정정할 수 있도록 현재의 필터 명칭을 보여주는 별도의 표시 및 오버레이 키보드를 표시할 수 있다. 사용자가 글자를 입력하면 프로세서(120)는 상기 글자 입력을 획득할 수 있고, 사용자의 글자 입력에 응답하여, 상기 글자를 표시 장치(160)에 표시할 수 있다. 프로세서(120)는 사용자가 키보드 입력을 통해 필터 명칭을 작성 후에 필터 명칭을 재설정하는 아이콘을 누르는 사용자의 입력에 응답하여 필터 명칭을 재설정할 수 있다.
일 실시 예에 따르면, 프로세서(120)는 사용자가 필터 명칭을 입력하지 않은 경우 rename 버튼을 비활성화하고, 한 글자라도 수정된 경우, rename 버튼을 활성화할 수 있다. 상기 rename 버튼이 비활성화된 경우, 사용자는 rename 버튼을 표시 장치를 통해 누를 수 없다.
일 실시 예에 따르면, 프로세서(120)는 필터 명칭의 글자 수를 제1 글자 수로 제한할 수 있다. 제1 글자 수가 입력된 상태에서 사용자가 한 글자를 더 입력하는 것에 응답하여, 프로세서(120)는 경고 메시지를 표시 장치(160)에 표시할 수 있다. 상기 경고 메시지는 '더 이상 글자를 입력할 수 없습니다.' 또는 '제1 글자 수 이상 입력할 수 없습니다.' 중 적어도 하나를 포함할 수 있다.
도 13은, 일 실시 예에 따른 전자 장치에서, 제1 이미지를 re-crop 하는 화면을 나타낸 도면(1300)이다.
일 실시 예에 따르면, 프로세서(120)는 화면(예: 도 10의 화면 (1040))의 일부분에 표시되는 이미지를 누르는 사용자의 입력에 응답하여 화면(1310)을 표시 장치(160)에 표시할 수 있다. 전자 장치(101)는 사용자가 제1 이미지를 리크롭(re-crop)할 수 있도록 리크롭 화면(1310)을 전자 장치(101)의 표시 장치(160)에 표시할 수 있다. 사용자는 크롭 영역의 모서리 핸들러(handler)(1315)를 움직여서 크롭 영역을 변경할 수 있고, 프로세서(120)는 사용자의 변경 입력에 응답하여 변경되는 크롭 영역을 표시 장치(160)에 표시할 수 있다. 예를 들어, 크롭 영역을 변경하는 방식은 화면(1320)의 고정된 이미지 위에 크롭 영역을 확장하는 입력(1325)을 획득하는 방식 및 화면(1330)의 고정된 이미지 위에 크롭 영역(1335)을 자체를 움직이는 입력을 획득하는 방식을 포함할 수 있다. 프로세서(120)는 크롭 영역의 사이즈를 제1 사이즈로 제한할 수 있다.
일 실시 예에 따르면, 프로세서(120)는 완료 버튼(1340)을 누르는 사용자의 입력에 응답하여, 크롭된 이미지를 생성할 수 있다. 크롭된 이미지는 필터 추출의 대상 이미지인 제1 이미지를 의미할 수 있고, 메모리(130)에 저장될 수 있다. 프로세서(120)는 취소 버튼(1350)을 누르는 사용자의 입력에 응답하여, 화면(1310) 표시를 중단하고, 화면(예: 도 10의 화면(1040))을 표시할 수 있다.
다양한 실시 예에 있어서, 전자 장치(101)는 카메라, 디스플레이, 메모리(130) 및 상기 디스플레이 및 상기 메모리와 전기적으로 연결되는 적어도 하나의 프로세서(120)를 포함할 수 있다. 상기 적어도 하나의 프로세서는 제1 이미지를 선택하는 입력을 획득하고, 상기 제1 이미지 및 상기 제1 이미지와 다른 컬러 패턴을 가지는 제2 이미지의 비교를 통해 컬러 필터를 생성하고, 제3 이미지를 획득하고, 상기 제3 이미지에 상기 생성된 컬러 필터를 적용할 수 있다.
일 실시 예에 있어서, 상기 적어도 하나의 프로세서는, 상기 제1 이미지로부터 상기 제2 이미지를 추정할 수 있다.
일 실시 예에 있어서, 상기 적어도 하나의 프로세서는, 상기 제1 이미지 내의 객체들의 평균적인 특성에 기반하여 상기 제2 이미지를 추정할 수 있다.
일 실시 예에 있어서, 상기 적어도 하나의 프로세서는, 상기 제2 이미지를 선택하는 입력을 획득할 수 있다.
일 실시 예에 있어서, 상기 제2 이미지는 상기 제1 이미지에 포함된 제1 객체와 동일한 객체인 제2 객체를 포함할 수 있고, 상기 적어도 하나의 프로세서는 상기 제1 객체와 상기 제2 객체가 중첩되도록 상기 제2 이미지의 구도를 조정하고, 상기 구도가 조정된 제2 이미지와 상기 제1 이미지의 비교를 통해 상기 컬러 필터를 생성할 수 있다.
일 실시 예에 있어서, 프로세서(120)는 상기 생성된 컬러 필터를 상기 메모리(130)에 저장할 수 있다.
일 실시 예에 있어서, 상기 적어도 하나의 프로세서(120)는, 상기 제3 이미지에 상기 생성되거나 저장된 컬러 필터를 적용하여 제4 이미지를 생성할 수 있다.
일 실시 예에 있어서, 상기 컬러 필터는, 상기 제1 이미지 및 제2 이미지의 픽셀의 컬러 값 비교를 통해 도출된 함수, 함수의 계수 또는 상기 도출된 함수에 대한 컬러 룩업 테이블 중 적어도 하나를 포함할 수 있다.
일 실시 예에 있어서, 상기 적어도 하나의 프로세서(120)는, 상기 제2 이미지에 존재하지 않는 픽셀의 컬러 값을 임의의 픽셀의 컬러 값과 맵핑하여 상기 컬러 룩업 테이블을 보정할 수 있다.
일 실시 예에 있어서, 상기 적어도 하나의 프로세서(120)는 상기 제2 이미지에 존재하지 않는 R, G, B 중 어느 하나의 최대 값 또는 어느 하나의 최소 값이 존재하지 않는 경우, 상기 어느 하나의 최대 값을 255에 맵핑하거나 상기 어느 하나의 최소 값을 0에 맵핑할 수 있다.
일 실시 예에 있어서, 상기 제3 이미지는 상기 카메라를 통해 획득된 제1 프리뷰 이미지 또는 상기 메모리에 저장된 이미지 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 있어서, 전자 장치의 제어 방법은 카메라, 디스플레이 및 메모리와 전기적으로 연결되는 적어도 하나의 프로세서가 제1 이미지를 선택하는 입력을 획득하는 동작, 상기 제1 이미지 및 상기 제1 이미지와 다른 컬러 패턴을 가지는 제2 이미지의 비교를 통해 컬러 필터를 생성하는 동작, 제3 이미지를 획득하는 동작, 상기 제3 이미지에 상기 생성된 컬러 필터를 적용하는 동작을 포함할 수 있다.
일 실시 예에 있어서, 상기 전자 장치 제어 방법은 상기 제1 이미지로부터 상기 제2 이미지를 추정하는 동작을 포함할 수 있다.
일 실시 예에 있어서, 상기 전자 장치 제어 방법은 상기 제1 이미지 내의 객체들의 평균적인 특성에 기반하여 상기 제2 이미지를 추정하는 동작을 포함할 수 있다
일 실시 예에 있어서, 상기 전자 장치 제어 방법은 상기 제2 이미지를 선택하는 입력을 획득하는 동작을 포함할 수 있다.
일 실시 예에 따른 상기 전자 장치 제어 방법에 있어서, 상기 제2 이미지는 상기 제1 이미지에 포함된 제1 객체와 동일한 객체인 제2 객체를 포함할 수 있다. 상기 전자 장치 제어 방법에 있어서, 상기 적어도 하나의 프로세서는 상기 제1 객체와 상기 제2 객체가 중첩되도록 상기 제2 이미지의 구도를 조정하는 동작 및 상기 구도가 조정된 제2 이미지와 상기 제1 이미지의 비교를 통해 상기 컬러 필터를 생성하는 동작을 포함할 수 있다.
일 실시 예에 있어서, 상기 전자 장치 제어 방법은 상기 생성된 컬러 필터를 상기 메모리에 저장하는 동작을 포함할 수 있다.
일 실시 예에 따른 상기 전자 장치 제어 방법에 있어서, 상기 적어도 하나의 프로세서는, 상기 제3 이미지에 상기 생성되거나 저장된 컬러 필터를 적용하여 제4 이미지를 생성할 수 있다.
일 실시 예에 따른 상기 전자 장치 제어 방법에 있어서, 상기 컬러 필터는, 상기 제1 이미지 및 제2 이미지의 픽셀의 컬러 값 비교를 통해 도출된 함수, 함수의 계수 또는 상기 도출된 함수에 대한 컬러 룩업 테이블 중 적어도 하나를 포함할 수 있다. 일 실시 예에 따른 전자 장치 제어 방법은 상기 제2 이미지에 존재하지 않는 픽셀의 컬러 값을 임의의 픽셀의 컬러 값과 맵핑하는 동작 및 상기 맵핑하는 동작을 통해 상기 컬러 룩업 테이블을 보정하는 동작을 포함할 수 있다.
일 실시 예에 있어서, 상기 전자 장치 제어 방법은 상기 제2 이미지에 존재하지 않는 R, G, B 중 어느 하나의 최대 값 또는 어느 하나의 최소 값이 존재하지 않는 경우, 상기 어느 하나의 최대 값을 255에 맵핑하거나 상기 어느 하나의 최소 값을 0에 맵핑하는 동작을 포함할 수 있다.
상술한 본 개시의 구체적인 실시 예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (15)

  1. 전자 장치에 있어서,
    카메라;
    디스플레이;
    메모리; 및
    상기 디스플레이 및 상기 메모리와 전기적으로 연결되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는:
    제1 이미지를 선택하는 입력을 획득하고,
    상기 제1 이미지 및 상기 제1 이미지와 다른 컬러 패턴을 가지는 제2 이미지의 비교를 통해 컬러 필터를 생성하고,
    제3 이미지를 획득하고,
    상기 제3 이미지에 상기 생성된 컬러 필터를 적용하는, 전자 장치.
  2. 청구항 1에 있어서,
    상기 적어도 하나의 프로세서는, 상기 제1 이미지로부터 상기 제2 이미지를 추정하는, 전자 장치.
  3. 청구항 2에 있어서,
    상기 적어도 하나의 프로세서는, 상기 제1 이미지 내의 객체들의 평균적인 특성에 기반하여 상기 제2 이미지를 추정하는, 전자 장치.
  4. 청구항 1에 있어서,
    상기 적어도 하나의 프로세서는, 상기 제2 이미지를 선택하는 입력을 획득하는, 전자 장치.
  5. 청구항 4에 있어서,
    상기 제2 이미지는 상기 제1 이미지에 포함된 제1 객체와 동일한 객체인 제2 객체를 포함하고,
    상기 적어도 하나의 프로세서는:
    상기 제1 객체와 상기 제2 객체가 중첩되도록 상기 제2 이미지의 구도를 조정하고,
    상기 구도가 조정된 제2 이미지와 상기 제1 이미지의 비교를 통해 상기 컬러 필터를 생성하는, 전자 장치.
  6. 청구항 1에 있어서,
    상기 생성된 컬러 필터를 상기 메모리에 저장하는, 전자 장치.
  7. 청구항 6에 있어서,
    상기 적어도 하나의 프로세서는, 상기 제3 이미지에 상기 생성되거나 저장된 컬러 필터를 적용하여 제4 이미지를 생성하는, 전자 장치.
  8. 청구항 1에 있어서,
    상기 컬러 필터는, 상기 제1 이미지 및 제2 이미지의 픽셀의 컬러 값 비교를 통해 도출된 함수, 함수의 계수 또는 상기 도출된 함수에 대한 컬러 룩업 테이블 중 적어도 하나를 포함하는, 전자 장치.
  9. 청구항 8에 있어서,
    상기 적어도 하나의 프로세서는, 상기 제2 이미지에 존재하지 않는 픽셀의 컬러 값을 임의의 픽셀의 컬러 값과 맵핑하여 상기 컬러 룩업 테이블을 보정하는, 전자 장치.
  10. 청구항 9에 있어서,
    상기 적어도 하나의 프로세서는 상기 제2 이미지에 존재하지 않는 R, G, B 중 어느 하나의 최대 값 또는 어느 하나의 최소 값이 존재하지 않는 경우, 상기 어느 하나의 최대 값을 255에 맵핑하거나 상기 어느 하나의 최소 값을 0에 맵핑하는, 전자 장치.
  11. 청구항 1에 있어서,
    상기 제3 이미지는 상기 카메라를 통해 획득된 제1 프리뷰 이미지 또는 상기 메모리에 저장된 이미지 중 적어도 하나를 포함하는, 전자 장치.
  12. 전자 장치의 제어 방법에 있어서,
    카메라, 디스플레이 및 메모리와 전기적으로 연결되는 적어도 하나의 프로세서가 제1 이미지를 선택하는 입력을 획득하는 동작;
    상기 제1 이미지 및 상기 제1 이미지와 다른 컬러 패턴을 가지는 제2 이미지의 비교를 통해 컬러 필터를 생성하는 동작;
    제3 이미지를 획득하는 동작; 및
    상기 제3 이미지에 상기 생성된 컬러 필터를 적용하는 동작을 포함하는 전자 장치 제어 방법.
  13. 청구항 12에 있어서,
    상기 제1 이미지로부터 상기 제2 이미지를 추정하는 동작을 포함하는, 전자 장치 제어 방법.
  14. 청구항 12에 있어서,
    상기 제2 이미지를 선택하는 입력을 획득하는 동작을 포함하는, 전자 장치 제어 방법.
  15. 청구항 12에 있어서,
    상기 생성된 컬러 필터를 상기 메모리에 저장하는 동작을 포함하는, 전자 장치 제어 방법.
PCT/KR2021/000750 2020-02-10 2021-01-19 이미지의 생성 방법 및 그 전자 장치 WO2021162263A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202180024794.3A CN115516494A (zh) 2020-02-10 2021-01-19 用于生成图像的方法及其电子装置
US17/798,842 US20230156349A1 (en) 2020-02-10 2021-01-19 Method for generating image and electronic device therefor
EP21752930.4A EP4102451A4 (en) 2020-02-10 2021-01-19 IMAGE GENERATION METHOD AND ASSOCIATED ELECTRONIC DEVICE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200015687A KR20210101571A (ko) 2020-02-10 2020-02-10 이미지의 생성 방법 및 그 전자 장치
KR10-2020-0015687 2020-02-10

Publications (1)

Publication Number Publication Date
WO2021162263A1 true WO2021162263A1 (ko) 2021-08-19

Family

ID=77292840

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/000750 WO2021162263A1 (ko) 2020-02-10 2021-01-19 이미지의 생성 방법 및 그 전자 장치

Country Status (5)

Country Link
US (1) US20230156349A1 (ko)
EP (1) EP4102451A4 (ko)
KR (1) KR20210101571A (ko)
CN (1) CN115516494A (ko)
WO (1) WO2021162263A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4064217A1 (en) * 2021-03-27 2022-09-28 Tata Consultancy Services Limited Extracting region of interest from scanned images and determining an associated image type thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101727169B1 (ko) * 2015-02-11 2017-04-14 시아오미 아이엔씨. 이미지 필터를 생성하기 위한 방법 및 장치
KR20180108041A (ko) * 2017-03-23 2018-10-04 삼성전자주식회사 전자 장치 및 이를 이용한 카메라 촬영 환경 및 장면에 따른 영상 처리 방법
KR20190027598A (ko) * 2017-09-07 2019-03-15 엘지전자 주식회사 이동 단말기
JP2019117558A (ja) * 2017-12-27 2019-07-18 日本放送協会 カラー情報推定モデル生成装置、画像カラー化装置およびそれらのプログラム
KR20190092995A (ko) * 2018-01-31 2019-08-08 주식회사 하이퍼커넥트 단말기 및 그것의 이미지 처리 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8913827B1 (en) * 2010-05-10 2014-12-16 Google Inc. Image color correction with machine learning
US9661299B2 (en) * 2011-06-30 2017-05-23 Thomson Licensing Outlier detection for colour mapping
EP3016386A1 (en) * 2014-10-29 2016-05-04 Thomson Licensing A method and device for estimating a color mapping between two different color-graded versions of a picture
WO2018049084A1 (en) * 2016-09-07 2018-03-15 Trustees Of Tufts College Methods and systems for human imperceptible computerized color transfer
US10872399B2 (en) * 2018-02-02 2020-12-22 Nvidia Corporation Photorealistic image stylization using a neural network model
CN108596830B (zh) * 2018-04-28 2022-04-22 国信优易数据股份有限公司 一种图像风格迁移模型训练方法以及图像风格迁移方法
US11070717B2 (en) * 2019-04-23 2021-07-20 Adobe Inc. Context-aware image filtering
JP7394147B2 (ja) * 2019-04-29 2023-12-07 センスタイム グループ リミテッド 画像生成方法及び装置、電子機器並びに記憶媒体
US11625576B2 (en) * 2019-11-15 2023-04-11 Shanghai United Imaging Intelligence Co., Ltd. Systems and methods for image style transformation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101727169B1 (ko) * 2015-02-11 2017-04-14 시아오미 아이엔씨. 이미지 필터를 생성하기 위한 방법 및 장치
KR20180108041A (ko) * 2017-03-23 2018-10-04 삼성전자주식회사 전자 장치 및 이를 이용한 카메라 촬영 환경 및 장면에 따른 영상 처리 방법
KR20190027598A (ko) * 2017-09-07 2019-03-15 엘지전자 주식회사 이동 단말기
JP2019117558A (ja) * 2017-12-27 2019-07-18 日本放送協会 カラー情報推定モデル生成装置、画像カラー化装置およびそれらのプログラム
KR20190092995A (ko) * 2018-01-31 2019-08-08 주식회사 하이퍼커넥트 단말기 및 그것의 이미지 처리 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4102451A4 *

Also Published As

Publication number Publication date
KR20210101571A (ko) 2021-08-19
EP4102451A1 (en) 2022-12-14
US20230156349A1 (en) 2023-05-18
EP4102451A4 (en) 2023-08-02
CN115516494A (zh) 2022-12-23

Similar Documents

Publication Publication Date Title
WO2020171583A1 (en) Electronic device for stabilizing image and method for operating same
WO2020171540A1 (en) Electronic device for providing shooting mode based on virtual character and operation method thereof
WO2020162673A1 (en) Electronic device for providing avatar animation and method thereof
WO2019035601A1 (en) IMAGE EDITING APPARATUS USING A DEPTH CARD AND ITS METHOD
WO2019164185A1 (en) Electronic device and method for correcting image corrected in first image processing scheme in external electronic device in second image processing scheme
WO2019156308A1 (ko) 광학식 이미지 안정화 움직임을 추정하기 위한 장치 및 방법
WO2020032497A1 (en) Method and apparatus for incorporating noise pattern into image on which bokeh processing has been performed
WO2020130654A1 (en) Camera module having multi-cell structure and portable communication device including the same
WO2019066373A1 (ko) 이미지에 포함된 오브젝트의 카테고리 및 인식률에 기반하여 이미지를 보정하는 방법 및 이를 구현한 전자 장치
WO2020197070A1 (en) Electronic device performing function according to gesture input and operation method thereof
WO2020080845A1 (en) Electronic device and method for obtaining images
WO2020116844A1 (en) Electronic device and method for acquiring depth information by using at least one of cameras or depth sensor
WO2019172521A1 (en) Electronic device and method for correcting images based on image feature information and image correction scheme
WO2019035551A1 (en) APPARATUS FOR COMPOSING OBJECTS USING DEPTH CARD AND ASSOCIATED METHOD
WO2021066565A1 (en) Image processing method and electronic device supporting the same
WO2021133025A1 (en) Electronic device comprising image sensor and method of operation thereof
WO2021080307A1 (en) Method for controlling camera and electronic device therefor
WO2021162353A1 (ko) 카메라를 포함하는 전자 장치 및 그의 동작 방법
WO2021162307A1 (ko) 전자 장치 및 그의 hdr 영상 생성 방법
WO2020190008A1 (en) Electronic device for auto focusing function and operating method thereof
WO2021162263A1 (ko) 이미지의 생성 방법 및 그 전자 장치
WO2019182359A1 (en) Electronic device for notifying of update of image signal processing and method for operating the same
EP3921805A1 (en) Electronic device for generating composite image and method thereof
WO2021246736A1 (ko) 이미지 처리 장치 및 이미지 처리 방법
WO2021215795A1 (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: 21752930

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021752930

Country of ref document: EP

Effective date: 20220907