WO2020017936A1 - 전자 장치 및 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법 - Google Patents

전자 장치 및 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법 Download PDF

Info

Publication number
WO2020017936A1
WO2020017936A1 PCT/KR2019/008986 KR2019008986W WO2020017936A1 WO 2020017936 A1 WO2020017936 A1 WO 2020017936A1 KR 2019008986 W KR2019008986 W KR 2019008986W WO 2020017936 A1 WO2020017936 A1 WO 2020017936A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
electronic device
communication
processor
external device
Prior art date
Application number
PCT/KR2019/008986
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 US17/257,989 priority Critical patent/US11393078B2/en
Publication of WO2020017936A1 publication Critical patent/WO2020017936A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/77Retouching; Inpainting; Scratch removal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/30Monitoring; Testing of propagation channels
    • H04B17/391Modelling the propagation channel
    • H04B17/3913Predictive models, e.g. based on neural network models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/30Monitoring; Testing of propagation channels
    • H04B17/309Measuring or estimating channel quality parameters
    • H04B17/318Received signal strength
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/30Monitoring; Testing of propagation channels
    • H04B17/373Predicting channel quality or other radio frequency [RF] parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/57Mechanical or electrical details of cameras or camera modules specially adapted for being embedded in other devices
    • 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/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • 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/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • 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
    • 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/81Camera processing pipelines; Components thereof for suppressing or minimising disturbance in the image signal generation

Definitions

  • Various embodiments of the present invention relate to a method for correcting an image based on a transmission state when transmitting an image to another device, and an electronic device including the method.
  • a wearable device such as a wearable device, may include a camera and may take an image by using the camera.
  • the user may upload an image photographed using the camera of the electronic device to the external electronic device.
  • Various embodiments of the present disclosure relate to a method for correcting an image based on an image transmission state and an electronic device including the method, and may process an image using a cloud service.
  • Various embodiments of the present disclosure relate to a method for correcting an image based on an image transmission state and an electronic device including the method, and may process an image using information provided from a cloud service according to a network or communication state. .
  • an electronic device may include a camera; One or more communication modules; One or more memories; And one or more processors, wherein the processor acquires a raw image of an external object using the camera, generates a small raw image corresponding to the raw image, and at least one of the one or more communication modules in the electronic device. It is determined whether the transmission of the small raw image to the external device is possible using a part, and if it is determined that the transmission of the small raw image is possible, the external electronic device uses the small raw image to determine whether the transmission is possible. Send the small raw image to the external device, receive the first correction information from the external device, and generate the first correction information based on a correction processing scheme of the device, and the transmission of the small raw image is impossible. If it is determined that the status is true, Determine, determine second correction information generated based on the situation information, and correct the raw image by using one of the first correction information and the corresponding one of the second correction information. It may be set to generate a corrected image.
  • a method of correcting an image based on a transmission state of an image of an electronic device may include: obtaining a raw image of an external object using a camera; Generating a small original image corresponding to the original image; Determining whether the electronic device transmits the small raw image to the external device using at least some of the one or more communication modules; If it is determined that the transmission of the small raw image is possible, the external electronic device may generate the small correction image based on the correction processing scheme of the external device using the small raw image to generate the first correction information.
  • a method of correcting an image based on an image transmission state and an electronic device including the method may provide various images to a user by processing an image using a cloud service.
  • a method of correcting an image based on an image transmission state and an electronic device including the method may change a time point at which information provided by a cloud service is received based on a network or a communication state, By processing the image using information previously received from the service and stored in the electronic device, it is possible to maintain a constant image quality.
  • a method of correcting an image based on an image transmission state and an electronic device including the method may provide image photographing information based on a network or a communication state, thereby providing information regarding a cloud service user. Can be provided to
  • FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments.
  • FIG. 2 is a block diagram of an electronic device and a cloud platform according to various embodiments.
  • FIG. 3 is a conceptual diagram illustrating an operation of an electronic device and an external electronic device according to various embodiments of the present disclosure.
  • FIG. 4 is a flowchart illustrating an image processing method according to a network state according to various embodiments of the present disclosure.
  • FIG. 5 is a flowchart illustrating an image processing method according to a network state according to various embodiments of the present disclosure.
  • FIG. 6 is a flowchart illustrating an image processing method according to a network state according to various embodiments of the present disclosure.
  • FIG. 7 is a flowchart illustrating an image processing method according to a network state according to various embodiments of the present disclosure.
  • FIG. 8 is a flowchart illustrating an image processing method according to a network state according to various embodiments of the present disclosure.
  • FIG. 9 is a flowchart illustrating an operation of displaying a camera APP icon according to various embodiments of the present disclosure.
  • FIG. 10 is a flowchart illustrating an operation of displaying a camera live view according to various embodiments of the present disclosure.
  • FIG. 11 is a block diagram illustrating a recipe information selection operation according to various embodiments of the present disclosure.
  • FIG. 12 is a diagram illustrating a camera live view display operation when it is determined that photography based on the cloud platform of FIG. 10 is deactivated according to various embodiments of the present disclosure.
  • FIG. 13 is a diagram illustrating a camera live view display operation when it is determined that photography based on the cloud platform of FIG. 10 is activated according to various embodiments of the present disclosure.
  • FIG. 14 is a view illustrating a camera app icon display operation when it is determined that shooting based on the cloud platform of FIG. 9 is deactivated according to various embodiments of the present disclosure.
  • FIG. 15 is a diagram illustrating a camera app icon display operation when it is determined that shooting based on the cloud platform of FIG. 9 is activated according to various embodiments of the present disclosure.
  • 16 is a flowchart illustrating an image processing method according to a network state according to various embodiments of the present disclosure.
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100, according to various embodiments.
  • the electronic device 101 communicates with the electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or the second network 199.
  • the electronic device 104 may communicate with the server 108 through a long range wireless communication network.
  • the electronic device 101 may communicate with the electronic device 104 through the server 108.
  • the electronic device 101 may include a processor 120, a memory 130, an input device 150, an audio 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.
  • 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.
  • the components for example, the display device 160 or the camera module 180
  • the sensor module 176 may be implemented embedded in the display device 160 (eg, display).
  • the processor 120 executes software (eg, the program 140) to execute at least one other component (eg, hardware or software component) of the electronic device 101 connected to the processor 120. It can control and perform various data processing or operations. According to one embodiment, as at least part of data processing or operation, processor 120 may send instructions or data received from another component (eg, sensor module 176 or communication module 190) to volatile memory 132. Can be loaded into, processed in a command or data stored in the volatile memory 132, and stored in the non-volatile memory (134).
  • software eg, the program 140
  • processor 120 may send instructions or data received from another component (eg, sensor module 176 or communication module 190) to volatile memory 132. Can be loaded into, processed in a command or data stored in the volatile memory 132, and stored in the non-volatile memory (134).
  • the processor 120 may include a main processor 121 (eg, a central processing unit or an application processor), and a coprocessor 123 (eg, a graphics processing unit, an image signal processor) that may operate independently or together. , Sensor hub processor, or communication processor). Additionally or alternatively, the coprocessor 123 may be configured to use lower power than the main processor 121 or to be specialized for its designated function. The coprocessor 123 may be implemented separately from or as part of the main processor 121.
  • a main processor 121 eg, a central processing unit or an application processor
  • a coprocessor 123 eg, a graphics processing unit, an image signal processor
  • the coprocessor 123 may be configured to use lower power than the main processor 121 or to be specialized for its designated function.
  • the coprocessor 123 may be implemented separately from or as part of the main processor 121.
  • the coprocessor 123 may, for example, replace the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or the main processor 121 may be active (eg, execute an application). 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) together with the main processor 121 while in the) state. Control at least some of the functions or states associated with the. According to one embodiment, the coprocessor 123 (eg, an image signal processor or communication processor) may be implemented as part of other functionally related components (eg, camera module 180 or communication module 190). have.
  • 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, software (eg, the program 140) and input data or output data for a command related thereto.
  • the memory 130 may include a volatile memory 132 or a nonvolatile 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 for a component (for example, the processor 120) of the electronic device 101 from the outside (for example, a user) of the electronic device 101.
  • the input device 150 may include, for example, a microphone, a mouse, or a keyboard.
  • 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 may be used for general purposes such as multimedia playback or recording playback, and the receiver may be used to receive an incoming call.
  • the receiver may be implemented separately from or as part of a 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 device.
  • the display device 160 may include touch circuitry configured to sense a touch, or a sensor circuit (eg, a pressure sensor) set to measure the strength of a force generated by the touch. have.
  • the audio module 170 may convert sound into an electric signal or, conversely, convert an electric signal into a sound. According to an embodiment, the audio module 170 may acquire sound through the input device 150, or may output an external electronic device (for example, a sound output device 155 or directly or wirelessly connected to the electronic device 101). Sound may be output through the electronic device 102 (eg, a speaker or a headphone).
  • an external electronic device for example, a sound output device 155 or directly or wirelessly connected to the electronic device 101. 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) or an external environmental state (eg, a user state) of the electronic device 101, and generates an electrical signal or data value corresponding to the detected state. can do.
  • the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared 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 designated protocols that may be used for the electronic device 101 to be directly or wirelessly connected to an external electronic device (for example, the electronic device 102).
  • the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD card interface Secure Digital Card interface
  • audio interface audio interface
  • connection terminal 178 may include a connector through which the electronic device 101 may be physically connected to an external electronic device (eg, the electronic device 102).
  • the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 179 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that can be perceived by the user through tactile or kinesthetic senses.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 may capture still images and videos. According to one embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the electronic device 101 may include at least one or more camera modules 180 and may include a front camera and a rear camera located opposite.
  • the power management module 188 may manage power supplied to the electronic device 101.
  • the power management module 388 may be implemented, for example, as at least 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.
  • the battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell or a fuel cell.
  • the communication module 190 may establish a direct (eg wired) communication channel or 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). Establish and perform communication over established communication channels.
  • the communication module 190 may operate independently of the processor 120 (eg, an application processor) and include one or more communication processors supporting direct (eg, wired) or wireless communication.
  • the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a near field communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg A local area network (LAN) communication module, or a power line communication module).
  • GNSS global navigation satellite system
  • the corresponding communication module of these communication modules may be a first network 198 (e.g., a short range communication network such as Bluetooth, WiFi direct, or an infrared data association (IrDA)) or a second network 199 (e.g., a cellular network, the Internet, or Communicate with external electronic devices through a telecommunication network such as a computer network (eg, LAN or WAN).
  • a first network 198 e.g., a short range communication network such as Bluetooth, WiFi direct, or an infrared data association (IrDA)
  • a second network 199 e.g., a cellular network, the Internet, or Communicate with external electronic devices through a telecommunication network such as a computer network (eg, LAN or WAN).
  • a telecommunication network such as a computer network (eg, LAN or WAN).
  • These various types of communication modules may be integrated into one component (eg, a single chip) or may be implemented by a plurality of components (
  • the wireless communication module 192 uses subscriber information (e.g., international mobile subscriber identifier (IMSI)) stored in the subscriber identification module 196 in a communication network such as the first network 198 or the second network 199.
  • subscriber information e.g., international mobile subscriber identifier (IMSI)
  • IMSI international mobile subscriber identifier
  • the antenna module 197 may transmit or receive a signal or power to an external (eg, an external electronic device) or from an external source.
  • antenna module 197 may include one or more antennas, from which at least one antenna suitable for a communication scheme used in a communication network, such as first network 198 or second network 199, For example, it may be selected by the communication module 190.
  • the signal or power may be transmitted or received between the communication module 190 and the external electronic device through the selected at least one antenna.
  • At least some of the components are connected to each other and connected to each other through a communication method (eg, a bus, a general purpose input and output (GPIO), a serial peripheral interface (SPI), or a mobile industry processor interface (MIPI)). For example, commands or data).
  • a communication method eg, a bus, a general purpose input and output (GPIO), a serial peripheral interface (SPI), or a mobile industry processor interface (MIPI)
  • a communication method eg, a bus, a general purpose input and output (GPIO), a serial peripheral interface (SPI), or a 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 a device of the same or different type as the electronic device 101.
  • all or some of the operations executed in the electronic device 101 may be executed in one or more external devices among the external electronic devices 102, 104, or 108. For example, when the electronic device 101 needs to perform a function or service automatically or in response to a request from a user or another device, the electronic device 101 instead of executing the function or service 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 receive 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 part of the response to the request.
  • cloud computing distributed computing, or client-server computing technology may be used.
  • the electronic device 210 may include a camera module 211, a display 220, a processor 221, and memories 219 and 222.
  • the electronic device 210 of FIG. 2 is the same as the electronic device 101 of FIG. 1.
  • the camera module 211 of FIG. 2 is the same as the camera module 180 of FIG. 1.
  • the display 220 of FIG. 2 is the same as the display device 160 of FIG. 1.
  • the processors 213 and 221 of FIG. 2 are the same as the processor 120 of FIG. 1.
  • the memories 219 and 222 of FIG. 2 are the same as the memory 130 of FIG. 1.
  • the camera module 211 may include an image sensor 212, a processor 213, and a memory 219.
  • the processor 213 may include a raw image processor 214, an image signal processor (ISP) 215, and an encoder 216.
  • ISP image signal processor
  • the image sensor 212 may acquire various raw images of the subject.
  • the image sensor 212 may acquire various types of raw images according to a color filter array (CFA) pattern.
  • CFA color filter array
  • DP dual pixel
  • 2PD dual pixel
  • an image sensor 212 including different phase difference (or parallax) information in one pixel may be obtained.
  • Multiple image sensors with the same or different characteristics e.g. dual sensors (e.g. RGB + RGB, RGB + Mono, or Wide + Tele), array sensors (e.g. two or more sensors attached)
  • One or more image sensors 212 can be obtained for a scene.
  • the acquired image sensor 212 may be stored in the memory 222 as it is or through additional processing.
  • the image sensor 212 may obtain an image corresponding to the subject by converting light transmitted from the subject through a lens assembly (not shown) into an electrical signal.
  • the image sensor 212 is the same as, 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.
  • Each image sensor included in the image sensor 212 may be implemented as, 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 camera module 211 may further include a lens assembly (not shown), a flash (not shown), and an image stabilizer (not shown).
  • the lens assembly may collect light emitted from a subject that is a target of image capturing.
  • the lens assembly may include one or more lenses.
  • the camera module 211 may include a plurality of lens assemblies (not shown).
  • the camera module 211 may be, for example, a dual camera, a 360 degree camera, or a spherical camera.
  • the plurality of lens assemblies (not shown) have the same lens properties (eg, angle of view, focal length, auto focus, f number, or optical zoom), or at least one lens assembly is different from the other lens lens assemblies. It may have at least one other lens property.
  • the lens assembly (not shown) may include, for example, a wide angle lens or a telephoto lens.
  • the flash (not shown) may emit a light source used to enhance the light emitted from the subject.
  • the flash may include one or more light emitting diodes (eg, red-green-blue (RGB) LEDs, white LEDs, infrared LEDs, or ultraviolet LEDs), or xenon lamps.
  • RGB red-green-blue
  • the image stabilizer may react at least in part to the movement of the camera module 212 or the electronic device 210 including the same to compensate for the negative effect (eg, image shaking) caused by the movement on the captured image.
  • At least one lens or image sensor 212 included in the lens assembly (not shown) may be moved or controlled (eg, adjusting read-out timing, etc.) in a specific direction.
  • the image stabilizer may be implemented as, for example, an optical image stabilizer, and a gyro sensor (not shown) or an acceleration sensor (not shown) disposed inside or outside the camera module 212. C) to detect the movement.
  • Raw images can be constructed in a variety of formats (eg Bayer format, etc.).
  • the raw image may be represented by one of R (red), G (green), and B (blue) color with respect to the pixel of the image sensor 212, and has a bit depth of 8 to 16 bits (Bit) Bit-Depth).
  • CFA color filter array
  • the raw image may be a raw image of a layer structure including various color information (for example, a plurality of colors of R, G, and B) for one pixel.
  • color information eg, RGB
  • phase difference information may be included.
  • Information related to capturing an image eg, time, location, illuminance, etc.
  • the processors 213 and 221 of the electronic device may perform various processes related to image processing.
  • Various image processing modules eg, the raw image processor 214, the ISP 215, and the encoder 216) may be included in one processor or distributed in a plurality of processors 213 and 221.
  • the processor 213 may be located inside the camera module 211 or outside the camera module 211 (eg, the electronic device 210) or one or more servers constituting part of the cloud platform 250, or the like. It can be both inside and outside.
  • Various processes may be performed alone by a processor or distributedly by a plurality of processors.
  • the raw image processor 214 may perform various processing on the raw image acquired by the image sensor 212. Lens distortion compensation may be performed on the raw image or some noise may be removed. Since the raw image may be quite large in size, the raw image processor 214 may perform various processing (eg, down scaling, down sampling, or compression) before storing, processing, or transmitting the raw image. (compression, etc.) can reduce the data size.
  • various processing eg, down scaling, down sampling, or compression
  • the small raw image generator 217 may reduce the size of the raw image by downscaling (e.g., reducing or reducing the resolution) or downsampling (e.g., taking only one or some of the samples in the sampled series). You can create raw images.
  • the raw image compressor 218 may compress a raw image or a small raw image by using various image compression algorithms.
  • the ISP 215 performs various image processing on the raw image by using recipe information including various information about the raw image analyzed by the engine 257.
  • the electronic device 210 may receive recipe information from the cloud platform 250 and perform raw image processing based on the recipe information through the ISP 215. For example, image processing provided by an embedded ISP of the electronic device 210 and image processing using recipe information may be combined.
  • image processing is performed in the cloud platform 250, an original image based on recipe information may be performed through the ISP 258 included in the cloud platform 250.
  • the ISP 258 included in the cloud platform 250 may receive additional information (eg, feature vector, etc.) corresponding to the recipe information from the database 252 and use it for image processing.
  • the processed image may be transmitted to the electronic device 210 or stored in the image storage 254 of the cloud platform 250.
  • Image processing may include functions such as white balance, color adjustment, noise reduction, sharpen, detail enhancement, and the like. These functions may be performed for each area of an image based on recipe information.
  • the ISP 215 may perform image processing (eg, depth map generation, three-dimensional modeling, panorama generation, feature point extraction, etc.) on an image acquired through the image sensor 212 or an image stored in the memories 219 and 222.
  • Image compositing, or image compensation eg, noise reduction, resolution adjustment, brightness adjustment, blurring, sharpening, or softening.
  • control eg, exposure time control, readout timing control, etc.
  • image is stored in memory 250 for further processing or external components of camera module 180 (e.g. memory 130, display device 160, electronic device 102, electronic device). 104, or server 108.
  • image processing eg, depth map generation, three-dimensional modeling, panorama generation, feature point extraction, etc.
  • image compensation eg, noise reduction, resolution adjustment, brightness adjustment, blurring, sharpening, or softening
  • control eg, exposure time control, readout timing control, etc.
  • image is stored in memory 250 for further processing or external components of camera module 180 (e.g. memory 130, display
  • ISP 215 may be configured as at least a portion of the processor (213, 221), or may be configured as a separate processor operating independently from the processor 213, 221. If configured as a separate processor, ISP (215) May be displayed on the display 220 after being processed by the processors 213 and 221 or after further image processing.
  • the encoder 216 may generate an image file (eg, JPEG, MPEG, 360 image, etc.) by encoding the raw image.
  • an image file eg, JPEG, MPEG, 360 image, etc.
  • the electronic device 210 may include a memory 219 inside the camera module 211 and / or a memory 222 outside the camera module 211.
  • the memories 219 and 222 may store a raw image, a small raw image, an image file, an image processed raw image, and the like.
  • the memories 219 and 222 may at least temporarily store at least a portion of an image acquired through the image sensor 212 for the next image processing task. For example, when the image acquisition according to the shutter is delayed or when a plurality of images are obtained at high speed, the obtained original image (eg, a high resolution image) is stored in the memory 219 and 222 and correspondingly.
  • a copy image (eg, a low resolution image) may be previewed through the display 220.
  • the memory 219 may be configured as a separate memory operated as at least a part of the memory 222 or independently of the memory 222.
  • the electronic device 210 may include a display 222 (the same as the display device 160 of FIG. 1).
  • the cloud platform 250 may be an external device and may include a processor 251, a database 252, a raw image storage 253, and an image storage 254.
  • the processor 251 may include an engine (eg, a recognition engine) 255, an encoder 256, a preprocessor 257, and an ISP 258.
  • the processor 251 of the cloud platform 250 may perform various processes related to image processing.
  • Various image processing modules eg, the engine 255, the encoder 256, the preprocessor 257, and the ISP 258, may be included in one processor or distributed among a plurality of processors.
  • Engine 255 captures a variety of meaningful information (e.g., object recognition, velocity vectors, face recognition, segmentation, scene parsing, etc.) from images (e.g., raw images, small raw images, image files, etc.). Perform the action of analysis. Various algorithms for this may be included. As a result of analysis, information (recipe information, recipe information) (for example, information including segments, layers, vectors, or scene categories, etc.) that can be used for processing various images by the ISP can be generated, stored, or transmitted in association with the image. .
  • meaningful information e.g., object recognition, velocity vectors, face recognition, segmentation, scene parsing, etc.
  • images e.g., raw images, small raw images, image files, etc.
  • information for example, information including segments, layers, vectors, or scene categories, etc.
  • the encoder 256 may generate an image file (eg, JPEG, MPEG, 360 image, etc.) by encoding the raw image.
  • an image file eg, JPEG, MPEG, 360 image, etc.
  • the preprocessor 257 may perform necessary processing before transferring the raw image received from the electronic device 210 to the engine 255 or the ISP 258. Decompression of the compressed raw image, simple image quality improvement, de-mosaic processing, or image format change can be performed.
  • the ISP 258 performs various image processing on the raw image by using recipe information including various information about the raw image analyzed by the engine 257.
  • the electronic device 210 may receive recipe information from the cloud platform 250 and perform raw image processing based on the recipe information through the ISP 215. For example, image processing provided by an embedded ISP of the electronic device 210 and image processing using recipe information may be combined.
  • image processing is performed in the cloud platform 250, an original image based on recipe information may be performed through the ISP 258 included in the cloud platform 250.
  • the ISP 258 included in the cloud platform 250 may receive additional information (eg, feature vector, etc.) corresponding to the recipe information from the database 252 and use it for image processing.
  • the processed image may be transmitted to the electronic device 210 or stored in the image storage 254 of the cloud platform 250.
  • Image processing may include functions such as white balance, color adjustment, noise reduction, sharpen, detail enhancement, and the like. These functions may be performed for each area of an image based on recipe information.
  • the database 252 may store a feature corresponding to the category of the image.
  • the raw image store 253 may store the raw image.
  • Image store 254 may store image files.
  • FIG. 3 is a conceptual diagram illustrating an operation of an electronic device 101 and an external electronic device 300 (for example, the server 108) according to various embodiments of the present disclosure.
  • the electronic device 101 may include an image sensor 321, an ISP 323, and a memory 325.
  • the external electronic device 300 may include a recognition module 331, an ISP 333, and a storage 335.
  • the recognition module 331 may be a logic module or may be implemented as a processor of the external electronic device 300.
  • the ISP 333 may also be implemented as a processor of the external electronic device 300.
  • the processor of the external electronic device 300 may perform both recognition and image processing.
  • the electronic device 101 may include a communication module (eg, the communication interface 170 or the communication module 220) that may transmit and receive data with the external electronic device 300.
  • the external electronic device 300 may include a communication module capable of transmitting and receiving data with the electronic device 101.
  • the image sensor 321 may acquire an image of an external object, and generate a raw image 322 (raw image) corresponding thereto.
  • the image sensor 321 may transfer the raw image 322 to the ISP 323.
  • the image sensor 321 may generate the small row image 321 and transmit the small row image 321 to the external electronic device 300 through the communication module.
  • a processor of the electronic device 101 other than the image sensor 321 may generate the small row image 321, and the generated small row image 321 may be generated through an external electronic device (eg, a communication module). 300).
  • the image sensor 321 may transmit the raw image 322 to the ISP or the external electronic device 300 in a compressed state.
  • the image sensor 321 may be compressed and stored in a memory inside the image sensor 321 for processing of the raw image 322.
  • the recognition module 331 of the external electronic device 300 may obtain the small row image 321 through the communication module, and segment at least one image area from the small row image 321.
  • the recognition module 321 may recognize each of the at least one image area divided by the segmentation result.
  • Correction area information 332 including at least one of information associated with a plurality of image areas generated from the recognition module 321, for example, coordinate information of the image area or a recognition result, may be generated.
  • the correction area information 332 may be transmitted to the electronic device 101.
  • the ISP 323 may correct the row image 322 using the correction area information 332, and thus a corrected image 324 may be generated.
  • the corrected image 324 may have a format of YUV, for example.
  • the corrected image 324 may be stored in the memory 325.
  • the corrected image 324 may be compressed according to, for example, the JPEG method, and the compressed image may be stored in the memory 325.
  • the raw image 322 provided from the image sensor 321 may be transmitted to the external electronic device 300 separately from the small raw image 321. Since the raw image 322 has a larger capacity than the small raw image 321, the small raw image 321 is first transmitted to the external electronic device 300, and the raw image 322 is then transferred to the external electronic device 300. ) May be sent.
  • the raw image 322 may be transmitted to the external electronic device 300 while the ISP 323 performs the correction on the raw image 322.
  • the raw image 322 may be uploaded to the external electronic device 300 as it is generated by the image sensor 321, or a preprocessed image in which lens distortion compensation or noise removal is performed may be uploaded.
  • the preprocessing described above may be performed in the external electronic device 300.
  • the external electronic device 300 may perform demosaic processing, image format modification, or preprocessing to increase an image recognition rate.
  • the ISP 333 of the external electronic device 300 may correct the received row image 322.
  • the external electronic device 300 may correct the row image 322 by using the previously generated correction area information 332, or may correct the row image 322 by using the extended correction area information. .
  • the raw image 322 may have a higher resolution than the small raw image 321, and accordingly, the ISP 333 of the external electronic device 300 may obtain more detailed extended correction area information from the high resolution image. .
  • the ISP 333 may generate expanded correction region information by using the correction region information previously generated and the row image 322 together.
  • the ISP 333 may acquire the high quality image 334 by correcting the raw image 322 using the extended correction region information.
  • the high resolution image 334 may be stored in the storage 335 of the external electronic device 300 or downloaded to the electronic device 101.
  • the external electronic device 300 may be implemented as, for example, a cloud server. Accordingly, the ISP 333 of the external electronic device may be referred to as a cloud ISP.
  • the ISP 333 of the external electronic device may include original color mapping, detail re-generation, text reconstruction, image inpainting, scene based white balance (WB) / color adjustment, segmentation based noise reduction (NR) / sharpen or segmentation based detail enhancement. At least one of the correction may be performed.
  • FIG. 4 is a flowchart illustrating an image processing method according to a network state according to various embodiments of the present disclosure.
  • the electronic device 210 may acquire an image of an external object using the camera module 211 according to a user input under the control of at least one processor 213 or 221.
  • the electronic device 210 may acquire an image using the camera module 211 according to a user input. At least one object may be included in the acquired image through the camera module 211.
  • the electronic device 210 controls a small raw image (eg, the small raw image 321 of FIG. 3) by using the acquired image under the control of the at least one processor 213 and 221. Can be generated.
  • a small raw image eg, the small raw image 321 of FIG. 3
  • the electronic device 210 may downscale (eg, reduce the size or reduce the resolution) or downsample (eg, one of a sampled series of samples) an acquired image (eg, a raw image). Or take only a few samples) to produce a small raw image.
  • the electronic device 210 may compress the acquired image or the small raw image by using various image compression algorithms.
  • the electronic device 210 may use the small raw image generator 217 to downscale (eg, reduce the size or reduce the resolution) of an image (eg, a raw image) acquired. Motion) or down sampling (e.g., taking only one or some of the samples in the sampled series) to produce a small raw image.
  • the electronic device 210 may compress the obtained image or the small raw image by using the various image compression algorithms of the raw image compressor 218.
  • the electronic device 210 may determine whether the communication connection state with the cloud platform 250 is good under the control of the at least one processor 213 or 221. In operation 405, the electronic device 210 may determine whether a communication connection state with the cloud platform 250 is good, and determine whether the electronic device 210 can communicate with the cloud server.
  • the electronic device 210 determines whether the communication connection state with the cloud platform 250 is good or not, whether the desired raw image is transmitted. It may be an operation for determining whether or not, and whether the environment is possible may be an operation for determining whether a communication throughput is a specified level (eg, a connection situation of upload 50 Mbps or more).
  • sending a small raw image to the cloud platform 250 may be very limited. It can be judged as an environment in which a raw image cannot be transmitted.
  • the electronic device 210 may transmit the generated small raw image to the cloud platform 250, or the electronic device 210 may receive the recipe information from the cloud platform 250. It may be determined that the communication connection state with the platform 250 is good.
  • the electronic device 210 may not transmit the generated small raw image to the cloud platform 250, or the electronic device 210 may not receive recipe information from the cloud platform 250. 250) and it may be determined that the communication connection state is not good (poor).
  • the electronic device 210 determines whether the communication connection state with the cloud platform 250 is good, as follows.
  • the at least one processor 213 , 221 may determine whether the communication state with the cloud platform 250 is good using the information on the connection state of the communication channel.
  • the information about the connection state of the communication channel may include at least one or more of information regarding a communication transmission / reception rate, a communication signal strength, and a communication amount of another communication device in the base station.
  • the at least one processor 213 and 221 may have a good communication status with the cloud platform 250. If the communication transmission and reception throughput is less than or equal to the preset transmission and reception throughput, the at least one processor 213 and 221 may determine that the communication status with the cloud platform 250 is not good.
  • the at least one processor 213 and 221 may have a good communication state with the cloud platform 250. If the communication signal strength is less than or equal to the preset signal strength, the at least one processor 213 or 221 may determine that the communication state with the cloud platform 250 is not good.
  • the at least one processor 213 or 221 based on the information about the connection state of the communication channel, if the communication amount of the other communication device is less than or equal to the preset communication amount, the at least one processor 213 or 221 is in good communication with the cloud platform 250. If the communication amount of the other communication device is greater than or equal to the preset communication amount, the at least one processor 213 or 221 may determine that the communication state with the cloud platform 250 is not good.
  • the program 140 may be configured to operate on an operating system and / or various applications (eg, an application program 146) that controls resources related to the electronic device 101. )).
  • the operating system may include, for example, Android TM, iOS TM, Windows TM, Symbian TM, Tizen TM, or Bada TM.
  • the program 140 may include an operating system 142, a kernel, middleware 144, an application programming interface (API), and / or an application program 146.
  • the middleware 144 may provide various functions through the API, for example, to provide functions commonly required by the application 146 or to allow the application 146 to use limited system resources inside the electronic device. ) Can be provided.
  • the middleware 144 may include at least one of a runtime library, an application manager, a window manager, a multimedia manager, a resource manager, a power manager, a database manager, a package manager, a connection manager, a notification manager, a location manager, a graphic manager, or a security manager. It may include.
  • the connection manager may, for example, manage communication connections.
  • the electronic device 210 may branch from operation 405 to operation 407.
  • the electronic device 210 controls the small raw image under the control of the at least one processor 213 and 221 in operation 407.
  • the communication module 190 may transmit the cloud platform 250 to the cloud platform 250.
  • the electronic device 210 may receive recipe information from the cloud platform 250 through the communication module (eg, the communication module 190 of FIG. 1) under the control of the at least one processor 213 and 221. Can be.
  • the communication module eg, the communication module 190 of FIG. 1
  • the recipe information may be the same as the recipe information of FIG. 2 or the correction area information 332 mentioned in FIG. 3.
  • the cloud platform 250 may segment at least one image area from the small raw image (eg, the small row image 321 of FIG. 3).
  • the cloud platform 250 may recognize each of at least one image area divided by the segmentation result.
  • the cloud platform 250 may include at least one of information associated with a plurality of generated image areas, for example, coordinate information (vector information), segment information, layer information, recognition result, and scene category information of the image area.
  • the recipe information may be generated, and the generated recipe information may be transmitted to the electronic device 210.
  • the electronic device 210 may process the acquired image by using the received recipe information or recipe information prepared in advance under the control of the at least one processor 213 or 221.
  • the electronic device 210 may use the received recipe information under the control of at least one processor 213 and 221 in operation 411.
  • the acquired image can be processed.
  • the ISP 215 of the electronic device 210 performs various image processing on the acquired image (eg, a raw image) by using the received recipe information.
  • the electronic device 210 may receive recipe information from the cloud platform 250 and perform raw image processing based on the recipe information through the ISP 215.
  • Image processing may include image processing operations such as white balance, color adjustment, noise reduction, sharpen, detail enhancement, and the like. Such image processing operations may be performed for each area of an image based on recipe information.
  • the electronic device 210 may store the processed image in the at least one memory 219, 222, 254 under the control of the at least one processor 213, 221. In operation 413, the electronic device 210 may store the processed image in at least one or more memories 219 and 222 of the electronic device 210 through an encoding operation such as JPEG. Alternatively, when the electronic device 210 transmits the processed image to the cloud platform 250 in operation 413, the electronic device 210 may be stored in at least one memory (eg, the image storage 254) of the cloud platform 250.
  • the electronic device 210 may be stored in at least one memory (eg, the image storage 254) of the cloud platform 250.
  • the electronic device 210 controls the at least one processor 213 and 221 for the image in operation 415.
  • Recipe information can be selected according to the situation information.
  • the electronic device 210 may process the acquired image by using the received recipe information or recipe information prepared in advance under the control of the at least one processor 213 or 221.
  • the electronic device 210 controls the at least one processor 213, 221 in operation 411.
  • the acquired image may be processed based on recipe information prepared in advance.
  • the ISP 215 of the electronic device 210 may perform various image processing on the acquired image (eg, a raw image) by using recipe information prepared in advance.
  • the recipe information prepared in advance may be one of a plurality of recipe information preset in the electronic device 210 in consideration of various situations.
  • the electronic device 210 displays at least one of a plurality of recipe information that is pre-set on a screen or scene currently acquired through the camera module 211 and recipe information corresponding to the same or the same object, brightness and color.
  • One or more can be selected as recipe information prepared in advance.
  • the recipe information prepared in advance may be recipe information received close to a point in time of acquiring a screen or a scene through the current camera module 211 among recipe information received from the cloud platform 250.
  • the electronic device 210 controls the at least one processor 213, 221 in operation 415.
  • the operation of selecting recipe information prepared in advance according to the situation information on the image is as follows. Operation 415 of the electronic device 210 may include operation 451, operation 453, or operation 455.
  • the electronic device 210 may determine context information about the image in operation 451.
  • the contextual information about the image may be a change of a screen or a scene currently acquired through the camera module 211.
  • the electronic device 210 displays a screen currently obtained through the camera module 211.
  • the operation of the electronic device 210 to determine whether there is a screen or scene change is compared with a frame that is currently acquired and a previous frame, and when the color or brightness of the screen changes by more than a preset condition, the screen or scene is switched. If it is determined that the color or brightness of the screen is changed under a preset condition, it may be determined that there is no change of the screen or scene.
  • the electronic device 210 may branch to operation 453 in operation 451.
  • the electronic device 210 performs control among at least one of a plurality of preset recipe information under the control of at least one processor 213 or 221. At least one recipe information may be selected.
  • the electronic device 210 may control a screen or a scene currently acquired through the camera module 211, an object, brightness, color, etc., under the control of at least one processor 213, 221.
  • corresponding recipe information may be selected as at least one recipe information among a plurality of recipe information.
  • an operation of selecting one or more recipe information among a plurality of recipe information under the control of at least one processor 213 and 221 may be as follows.
  • At least one processor (213, 221) performs a scene analysis of the image based on the frame (frame) currently obtained through the camera module 211, one of a plurality of recipe information based on the analyzed scene The above can be selected as recipe information.
  • the operation of analyzing the scene of the image based on the frames acquired by the at least one processor 213 or 221 may be performed by the at least one processor 213 or 221 analyzing the depth of the image and the like.
  • the segmentation information for each region may be calculated by segmenting at least one image region.
  • the at least one processor 213 or 221 may calculate the characteristic of the entire scene and the brightness information (eg, ISO information and illuminance information) of the entire scene using the calculated segmentation information.
  • the at least one processor 213 or 221 may determine the parameter value for each region of the segmented image using the calculated brightness information and the scene feature.
  • the at least one processor 213 or 221 may select recipe information corresponding to the calculated brightness information, scene feature, and region-specific parameter value from the plurality of recipe information stored in the memory 219.
  • the at least one processor 213 or 221 or the ISP 215 may process the image using recipe information selected according to the calculated brightness information, scene feature, and parameter value for each region.
  • the electronic device 210 may branch from operation 451 to operation 455.
  • the electronic device 210 may select recipe information of a previous frame under the control of the at least one processor 213 or 221. have.
  • the recipe information of the previous frame may be recipe information received close to a point in time of acquiring a screen or a scene through the current camera module 211 among recipe information received from the cloud platform 250.
  • the recipe information selected in operation 453 is recipe information calculated and generated in the electronic device 210, and the recipe information received in operation 409 and recipe information selected in operation 455 may be recipe information generated and generated in the cloud platform 250. have.
  • the recipe information received in operation 409 may be recipe information received by the electronic device 210 from the platform 250 according to a real time or frame generation period, and the recipe information selected in operation 455 may be the platform 250 at a previous time or a previous frame. ) May be recipe information received by the electronic device 210.
  • the recipe information calculated and generated by the cloud platform 250 and the recipe information calculated and generated by the electronic device 210 may be compared with Table 1 below.
  • Recipe information calculated and generated in the cloud platform 250 Recipe information calculated and generated by the electronic device 210 Segmentation map Segmentation confidence map Depth map Depth confidence map Scene recognition Scene parsing Image parsing Parameter recognition by image region Information (e.g. objects, figures, textures) Segmentation Map Segmentation Confidence Map Depth Map Depth Confidence Map Image Recognition (Person)
  • image region Information e.g. objects, figures, textures
  • Recipe information calculated and generated in the cloud platform 250 and recipe information calculated and generated in the electronic device 210 may have a difference in accuracy.
  • FIG. 5 is a diagram illustrating network conditions according to various embodiments of the present disclosure. It is a flowchart showing an image processing method.
  • the electronic device 210 may acquire an image using the camera module 211 according to a user input under the control of at least one processor 213 or 221.
  • the electronic device 210 may acquire an image using the camera module 211 according to a user input. At least one object may be included in the acquired image through the camera module 211.
  • the electronic device 210 may control a small raw image (eg, the small raw image 321 of FIG. 3) by using the acquired image under the control of the at least one processor 213 and 221. Can be generated.
  • a small raw image eg, the small raw image 321 of FIG. 3
  • the electronic device 210 may downscale (eg, reduce the size or reduce the resolution) or downsample (eg, one of a sampled series of samples) an acquired image (eg, a raw image). Or take only a few samples) to produce a small raw image.
  • the electronic device 210 may compress the acquired image or the small raw image by using various image compression algorithms.
  • the electronic device 210 may use the small raw image generator 217 to downscale (eg, reduce the size or reduce the resolution) of an image (eg, a raw image) acquired. Motion) or down sampling (e.g., taking only one or some of the samples in the sampled series) to produce a small raw image.
  • the electronic device 210 may compress the obtained image or the small raw image by using the various image compression algorithms of the raw image compressor 218.
  • the electronic device 210 transmits the small raw image to the cloud platform 250 through the communication module (eg, the communication module 190 of FIG. 1) under the control of the at least one processor 213 and 221 in operation 505. Can be attempted and the transmission can be determined.
  • the communication module eg, the communication module 190 of FIG. 1
  • the electronic device 210 may branch from operation 505 to operation 507.
  • the electronic device 210 may branch from operation 505 to operation 513.
  • the electronic device 210 receives recipe information from the cloud platform 250 through the communication module (eg, the communication module 190 of FIG. 1) under the control of the at least one processor 213 and 221. Attempt to receive recipe information for a predetermined time, it is possible to determine whether the reception is successful.
  • the communication module eg, the communication module 190 of FIG. 1
  • the electronic device 210 may branch from operation 507 to operation 509.
  • the electronic device 210 may branch from operation 507 to operation 513.
  • the recipe information may be the same as the recipe information of FIG. 2 or the correction area information 332 mentioned in FIG. 3.
  • the cloud platform 250 may segment at least one image area from the small raw image (eg, the small row image 321 of FIG. 3).
  • the cloud platform 250 may recognize each of at least one image area divided by the segmentation result.
  • the cloud platform 250 may include at least one of information associated with a plurality of generated image areas, for example, coordinate information (vector information), segment information, layer information, recognition result, and scene category information of the image area.
  • the recipe information may be generated, and the generated recipe information may be transmitted to the electronic device 210.
  • the electronic device 210 may process the acquired image by using the received recipe information or recipe information prepared in advance under the control of the at least one processor 213 or 221.
  • the electronic device 210 acquires using the received recipe information under the control of at least one processor 213 and 221. Can process images
  • the ISP 215 of the electronic device 210 performs various image processing on the acquired image (eg, a raw image) by using the received recipe information.
  • the electronic device 210 may receive recipe information from the cloud platform 250 and perform raw image processing based on the recipe information through the ISP 215.
  • Image processing may include image processing operations such as white balance, color adjustment, noise reduction, sharpen, detail enhancement, and the like. Such image processing operations may be performed for each area of an image based on recipe information.
  • the electronic device 210 may store the processed image in the at least one memory 219, 222, 254 under the control of the at least one processor 213, 221.
  • the electronic device 210 may store the processed image in at least one or more memories 219 and 222 of the electronic device 210 through an encoding operation such as JPEG.
  • the electronic device 210 may be stored in at least one memory (eg, the image storage 254) of the cloud platform 250.
  • the electronic device 210 may perform at least one processor 213 in operation 513. Under the control, recipe information prepared in advance may be selected according to context information about the image.
  • the electronic device 210 may process the acquired image by using the received recipe information or recipe information prepared in advance under the control of the at least one processor 213 or 221.
  • the electronic device 210 if the electronic device 210 does not transmit a small raw image to the cloud platform 250 or does not receive recipe information from the cloud platform 250, the electronic device 210, at operation 509, at least. Under the control of one processor 213 or 221, an image acquired based on previously prepared recipe information may be processed.
  • the ISP 215 of the electronic device 210 may perform various image processing on the acquired image (eg, a raw image) by using recipe information prepared in advance.
  • the recipe information prepared in advance may be one of a plurality of recipe information preset in the electronic device 210 in consideration of various situations.
  • the electronic device 210 displays at least one of a plurality of recipe information that is preset in a screen or scene currently obtained through the camera module 211 and recipe information corresponding to the same or identical objects, brightness, and color.
  • One or more can be selected as recipe information prepared in advance.
  • the recipe information prepared in advance may be recipe information received close to a point in time of acquiring a screen or a scene through the current camera module 211 among recipe information received from the cloud platform 250.
  • the electronic device 210 when the electronic device 210 does not transmit the small raw image to the cloud platform 250 or does not receive the recipe information from the cloud platform 250, the electronic device 210, in operation 513, Under the control of at least one processor 213 or 221, an operation of selecting recipe information prepared in advance according to context information of an image is as follows. Operation 513 of the electronic device 210 may include operations 531, 533, and 535.
  • the electronic device 210 may determine context information about the image in operation 531.
  • the contextual information about the image may be a change of a screen or a scene currently acquired through the camera module 211.
  • the electronic device 210 may operate at the current camera in operation 531. It may be determined whether there is a change of a screen or a scene obtained through the module 211. The operation of the electronic device 210 to determine whether there is a screen or scene change is compared with a frame that is currently acquired and a previous frame, and when the color or brightness of the screen changes by more than a preset condition, the screen or scene is switched. If it is determined that the color or brightness of the screen is changed under a preset condition, it may be determined that there is no change of the screen or scene.
  • the electronic device 210 may branch to operation 533 in operation 531.
  • the electronic device 210 under the control of the at least one processor 213, 221, of a plurality of preset recipe information. At least one recipe information may be selected.
  • the electronic device 210 may control a screen or a scene currently acquired through the camera module 211, an object, brightness, color, etc. under the control of at least one processor 213 or 221. Similarly or identically corresponding recipe information may be selected as at least one recipe information among a plurality of recipe information.
  • an operation of selecting one or more recipe information from among a plurality of recipe information under the control of at least one processor 213 and 221 may be as follows.
  • At least one processor (213, 221) performs a scene analysis of the image based on the frame (frame) currently obtained through the camera module 211, one of a plurality of recipe information based on the analyzed scene The above can be selected as recipe information.
  • the operation of analyzing the scene of the image based on the frames acquired by the at least one processor 213 or 221 may be performed by the at least one processor 213 or 221 analyzing the depth of the image and the like.
  • the segmentation information for each region may be calculated by segmenting at least one image region.
  • the at least one processor 213 or 221 may calculate the characteristic of the entire scene and the brightness information (eg, ISO information and illuminance information) of the entire scene using the calculated segmentation information.
  • the at least one processor 213 or 221 may determine the parameter value for each region of the segmented image using the calculated brightness information and the scene feature.
  • the at least one processor 213 or 221 may select recipe information corresponding to the calculated brightness information, scene feature, and region-specific parameter value from the plurality of recipe information stored in the memory 219.
  • the at least one processor 213 or 221 or the ISP 215 may process the image using recipe information selected according to the calculated brightness information, scene feature, and parameter value for each region.
  • the electronic device 210 may branch to operation 535 in operation 531.
  • the electronic device 210 may select recipe information of a previous frame under the control of the at least one processor 213 or 221. Can be.
  • the recipe information of the previous frame may be recipe information received close to a point in time of acquiring a screen or a scene through the current camera module 211 among recipe information received from the cloud platform 250.
  • the recipe information selected in operation 535 is recipe information calculated and generated in the electronic device 210, and the recipe information received in operation 507 and recipe information selected in operation 535 may be recipe information generated and generated in the cloud platform 250. have.
  • the recipe information received in operation 507 may be recipe information received by the electronic device 210 from the platform 250 according to a real time or a frame generation period, and the recipe information selected in operation 535 may be the platform 250 at a previous time or a previous frame. ) May be recipe information received by the electronic device 210.
  • FIG. 6 is a flowchart illustrating an image processing method according to a network state according to various embodiments of the present disclosure.
  • the electronic device 210 may acquire an image using the camera module 211 according to a user input under the control of at least one processor 213 or 221.
  • the electronic device 210 may acquire an image using the camera module 211 according to a user input. At least one object may be included in the acquired image through the camera module 211.
  • the electronic device 210 may control a small raw image (eg, the small raw image 321 of FIG. 3) by using the acquired image under the control of the at least one processor 213 and 221. Can be generated.
  • a small raw image eg, the small raw image 321 of FIG. 3
  • the electronic device 210 may downscale (eg, reduce the size or reduce the resolution) or downsample (eg, one of a sampled series of samples) an acquired image (eg, a raw image). Or take only a few samples) to produce a small raw image.
  • the electronic device 210 may compress the acquired image or the small raw image by using various image compression algorithms.
  • the electronic device 210 may use the small raw image generator 217 to downscale (eg, reduce the size or reduce the resolution) of an image (eg, a raw image) acquired. Motion) or down sampling (e.g., taking only one or some of the samples in the sampled series) to produce a small raw image.
  • the electronic device 210 may compress the obtained image or the small raw image by using the various image compression algorithms of the raw image compressor 218.
  • the electronic device 210 may predict a communication connection state and predict whether the communication connection is good under the control of the at least one processor 213 or 221.
  • the electronic device 210 predicts whether or not a communication connection state with the cloud platform 250 is in good condition. It may be an operation for determining whether or not, and whether the environment is possible may be an operation for determining whether a communication throughput is a specified level (eg, a connection situation of upload 50 Mbps or more).
  • sending a small raw image to the cloud platform 250 may be very limited. It can be judged as an environment in which a raw image cannot be transmitted.
  • the operation may branch from operation 605 to operation 607. If the communication connection is predicted to be poor, the operation may branch from operation 605 to operation 615.
  • the electronic device 210 predicts whether the communication connection state with the cloud platform 250 is good.
  • the at least one processor 213 , 221 may predict whether the communication state with the cloud platform 250 is good by using the information on the connection state of the communication channel.
  • the information about the connection state of the communication channel may include at least one or more of information regarding a communication transmission / reception rate, a communication signal strength, and a communication amount of another communication device in the base station.
  • the at least one processor 213 and 221 may have a good communication status with the cloud platform 250. If the communication transmission and reception throughput is less than or equal to the preset transmission and reception throughput, the at least one processor 213 and 221 may predict that the communication status with the cloud platform 250 is not good.
  • the at least one processor 213 and 221 may have a good communication state with the cloud platform 250. If the communication signal strength is less than or equal to the preset signal strength, the at least one processor 213 or 221 may predict that the communication state with the cloud platform 250 is not good.
  • the at least one processor 213 or 221 may be in a good communication state with the cloud platform 250. At least one processor 213 or 221 may predict that the communication state with the cloud platform 250 is not good when the traffic of another communication device is greater than or equal to a preset communication amount.
  • the electronic device 210 under operation 607, under control of at least one processor 213, 221, transmits a small raw image to a communication module (eg, FIG. 1). Through the communication module 190 may be transmitted to the cloud platform 250 in a first cycle.
  • a communication module eg, FIG. 1
  • the electronic device 210 receives recipe information from the cloud platform 250 through the communication module (eg, the communication module 190 of FIG. 1) under the control of the at least one processor 213 and 221. Can be received at intervals.
  • the first period and the second period may be the same.
  • the electronic device 210 may process an image acquired by using recipe information received in a second period or recipe information received in a fourth period, under the control of at least one processor 213 and 221.
  • the electronic device 210 may control the second received recipe information under the control of the at least one processor 213 and 221 in operation 611.
  • the acquired image may be processed using.
  • the ISP 215 of the electronic device 210 performs various image processing on the acquired image (eg, a raw image) by using recipe information received in a second period or a fourth period.
  • the electronic device 210 may receive recipe information from the cloud platform 250 and perform raw image processing based on the recipe information through the ISP 215.
  • Image processing may include image processing operations such as white balance, color adjustment, noise reduction, sharpen, detail enhancement, and the like. Such image processing operations may be performed for each area of an image based on recipe information.
  • the electronic device 210 may store the processed image in the at least one memory 219, 222, 254 under the control of the at least one processor 213, 221. In operation 613, the electronic device 210 may store the processed image in at least one or more memories 219 and 222 of the electronic device 210 through an encoding operation such as JPEG. Alternatively, when the electronic device 210 transmits the processed image to the cloud platform 250 in operation 613, the electronic device 210 may be stored in at least one memory (eg, the image storage 254) of the cloud platform 250.
  • the electronic device 210 may be stored in at least one memory (eg, the image storage 254) of the cloud platform 250.
  • the operation may branch from operation 605 to operation 615.
  • the electronic device 210 under operation 615, under control of at least one processor 213, 221, transmits a small raw image to a communication module (e.g., FIG.
  • the communication module 190 of FIG. 1 may be transmitted to the cloud platform 250 in a third cycle.
  • the first period and the third period may be different from each other, and the third period may be shorter than the first period.
  • the electronic device 210 may control the cloud platform 250 under the control of at least one processor 213 and 221 in operation 615.
  • the small raw image may be transmitted to the cloud platform 250 through the communication module (eg, the communication module 190 of FIG. 1) at a faster interval than when the communication status with the communication is expected to be good.
  • the electronic device 210 controls recipe information from the cloud platform 250 through the communication module (eg, the communication module 190 of FIG. 1) under the control of the at least one processor 213 and 221. Can be received at intervals.
  • the third period and the fourth period may be the same.
  • the electronic device 210 may control the cloud platform 250 under the control of at least one processor 213 and 221.
  • the recipe information may be received from the cloud platform 250 at a faster rate than when the communication status with the network is expected to be good.
  • the electronic device 210 may process an image acquired by using recipe information received in a second period or recipe information received in a fourth period, under the control of at least one processor 213 and 221.
  • FIG. 7 is a flowchart illustrating an image processing method according to a network state according to various embodiments of the present disclosure.
  • the electronic device 210 may acquire an image using the camera module 211 according to a user input under the control of at least one processor 213 or 221.
  • the electronic device 210 may acquire an image using the camera module 211 according to a user input. At least one object may be included in the acquired image through the camera module 211.
  • the electronic device 210 may control a small raw image (eg, the small raw image 321 of FIG. 3) by using the acquired image under the control of the at least one processor 213 and 221. Can be generated.
  • a small raw image eg, the small raw image 321 of FIG. 3
  • the electronic device 210 may downscale (eg, reduce the size or reduce the resolution) or downsample (eg, one of a sampled series of samples) an acquired image (eg, a raw image). Or take only a few samples) to produce a small raw image.
  • the electronic device 210 may compress the acquired image or the small raw image by using various image compression algorithms.
  • the electronic device 210 may use the small raw image generator 217 to downscale (eg, reduce the size or reduce the resolution) of an image (eg, a raw image) acquired. Motion) or down sampling (e.g., taking only one or some of the samples in the sampled series) to produce a small raw image.
  • the electronic device 210 may compress the obtained image or the small raw image by using the various image compression algorithms of the raw image compressor 218.
  • the electronic device 210 may predict the communication connection state or check the communication connection state under the control of the at least one processor 213 or 221.
  • the electronic device 210 under the control of the at least one processor 213 and 221, predicts whether the communication connection with the cloud platform 250 is in good condition. It may be an operation for determining whether or not, and whether the environment is possible may be an operation for determining whether a communication throughput is a specified level (eg, a connection situation of upload 50 Mbps or more).
  • a specified level eg, a connection situation of upload 50 Mbps or more.
  • sending a small raw image to the cloud platform 250 may be very limited. It can be judged as an environment in which a raw image cannot be transmitted.
  • the electronic device 210 predicts whether the communication connection state with the cloud platform 250 is good under the control of the at least one processor 213 and 221 as follows.
  • the at least one processor 213 , 221 may predict whether the communication state with the cloud platform 250 is good by using the information on the connection state of the communication channel.
  • the information about the connection state of the communication channel may include at least one or more of information regarding a communication transmission / reception rate, a communication signal strength, and a communication amount of another communication device in the base station.
  • the at least one processor 213 and 221 may have a good communication status with the cloud platform 250. If the communication transmission and reception throughput is less than or equal to the preset transmission and reception throughput, the at least one processor 213 and 221 may predict that the communication status with the cloud platform 250 is not good.
  • the at least one processor 213 and 221 may have a good communication state with the cloud platform 250. If the communication signal strength is less than or equal to the preset signal strength, the at least one processor 213 or 221 may predict that the communication state with the cloud platform 250 is not good.
  • the at least one processor 213 or 221 may be in a good communication state with the cloud platform 250. At least one processor 213 or 221 may predict that the communication state with the cloud platform 250 is not good when the traffic of another communication device is greater than or equal to a preset communication amount.
  • the electronic device 210 determines whether the communication connection state with the cloud platform 250 is good under the control of the at least one processor 213 and 221 as follows.
  • the at least one processor 213 , 221 may determine whether the communication state with the cloud platform 250 is good by using the information on the connection state of the communication channel.
  • the information about the connection state of the communication channel may include at least one or more of information regarding a communication transmission / reception rate, a communication signal strength, and a communication amount of another communication device in the base station.
  • the at least one processor 213 and 221 may have a good communication status with the cloud platform 250. If the communication transmission and reception throughput is less than or equal to the preset transmission and reception throughput, the at least one processor 213 and 221 may confirm that the communication status with the cloud platform 250 is not good.
  • the at least one processor 213 and 221 may have a good communication state with the cloud platform 250. If the communication signal strength is less than or equal to the preset signal strength, the at least one processor 213 or 221 may confirm that the communication state with the cloud platform 250 is not good.
  • the at least one processor 213 or 221 may confirm that the communication state with the cloud platform 250 is not good.
  • the electronic device 210 may determine whether to change the communication channel according to a result of predicting the communication connection state or confirming the communication connection state under the control of the at least one processor 213 or 221. have.
  • the electronic device 210 determines that the communication connection state is poor or as a result of confirming the communication connection state under the control of the at least one processor 213 or 221.
  • Communication channel can be changed. When the communication channel is changed, it may branch from operation 707 to operation 709.
  • the electronic device 210 determines that the communication connection state is good or determines that the communication connection state is good under the control of the at least one processor 213 or 221. Communication channel may not be changed. If the communication channel does not change, it may branch from operation 707 to operation 717.
  • the modified communication channel may be a first communication channel and may be a Wi-Fi or WLAN communication channel.
  • the electronic device 210 controls recipe information from the cloud platform 250 using the changed communication channel under the control of the at least one processor 213 or 221. Received through the communication module 190 of the (1).
  • the electronic device 210 controls the at least one processor 213 and 221 to transmit a small raw image using the original communication channel to the communication module (eg, the communication module of FIG. 1). (190) may be transmitted to the cloud platform 250.
  • the original communication channel may be a second communication channel, and may be an LTE channel or a WWAN communication channel.
  • the electronic device 210 controls recipe information (eg, from the cloud platform 250 using the original communication channel) under the control of the at least one processor 213 or 221. It may be received through the communication module 190 of FIG. 1.
  • the electronic device 210 may control recipe information received through a changed communication channel (eg, a first communication channel (Wi-Fi communication channel or WLAN communication channel)) under the control of at least one processor 213 or 221.
  • the acquired image may be processed using recipe information received through an original communication channel (eg, a second communication channel (LTE communication channel or WWAN communication channel)).
  • the ISP 215 of the electronic device 210 performs various image processing on the acquired image (eg, a raw image) by using the received recipe information.
  • the electronic device 210 may receive recipe information from the cloud platform 250 and perform raw image processing based on the recipe information through the ISP 215.
  • Image processing may include image processing operations such as white balance, color adjustment, noise reduction, sharpen, detail enhancement, and the like. Such image processing operations may be performed for each area of an image based on recipe information.
  • the electronic device 210 may store the processed image in the at least one memory 219, 222, 254 under the control of the at least one processor 213, 221.
  • the electronic device 210 may store the processed image in at least one or more memories 219 and 222 of the electronic device 210 through an encoding operation such as JPEG.
  • the electronic device 210 may be stored in at least one memory (eg, the image storage 254) of the cloud platform 250.
  • FIG. 8 is a flowchart illustrating an image processing method according to a network state according to various embodiments of the present disclosure.
  • the electronic device 210 may acquire an image using the camera module 211 according to a user input under the control of at least one processor 213 or 221.
  • the electronic device 210 may acquire an image using the camera module 211 according to a user input. At least one object may be included in the acquired image through the camera module 211.
  • the electronic device 210 controls a small raw image (eg, the small raw image 321 of FIG. 3) by using the acquired image under the control of the at least one processor 213 and 221. Can be generated.
  • a small raw image eg, the small raw image 321 of FIG. 3
  • the electronic device 210 may downscale (eg, reduce the size or reduce the resolution) or downsample (eg, one of a sampled series of samples) an acquired image (eg, a raw image). Or take only a few samples) to produce a small raw image.
  • the electronic device 210 may compress the acquired image or the small raw image by using various image compression algorithms.
  • the electronic device 210 may use the small raw image generator 217 to downscale (eg, reduce the size or reduce the resolution) of an image (eg, a raw image) acquired. Motion) or down sampling (e.g., taking only one or some of the samples in the sampled series) to produce a small raw image.
  • the electronic device 210 may compress the obtained image or the small raw image by using the various image compression algorithms of the raw image compressor 218.
  • the electronic device 210 may predict a communication connection state under the control of at least one processor 213 and 221, and predict whether the communication connection is good.
  • the electronic device 210 predicts whether a communication connection state with the cloud platform 250 is in good condition. It may be an operation for determining whether or not, and whether the environment is possible may be an operation for determining whether a communication throughput is a specified level (eg, a connection situation of upload 50 Mbps or more).
  • sending a small raw image to the cloud platform 250 may be very limited. It can be judged as an environment in which a raw image cannot be transmitted.
  • the operation may branch from operation 805 to operation 807. If the communication connection is predicted to be poor, it may branch from operation 805 to operation 815.
  • the electronic device 210 predicts whether the communication connection state with the cloud platform 250 is good.
  • the at least one processor 213 , 221 may predict whether the communication state with the cloud platform 250 is good by using the information on the connection state of the communication channel.
  • the information about the connection state of the communication channel may include at least one or more of information regarding a communication transmission / reception rate, a communication signal strength, and a communication amount of another communication device in the base station.
  • the at least one processor 213 and 221 may have a good communication status with the cloud platform 250. If the communication transmission and reception throughput is less than or equal to the preset transmission and reception throughput, the at least one processor 213 and 221 may predict that the communication status with the cloud platform 250 is not good.
  • the at least one processor 213 and 221 may have a good communication state with the cloud platform 250. If the communication signal strength is less than or equal to the preset signal strength, the at least one processor 213 or 221 may predict that the communication state with the cloud platform 250 is not good.
  • the at least one processor 213 or 221 may be in good communication with the cloud platform 250. At least one processor 213 or 221 may predict that the communication state with the cloud platform 250 is not good when the traffic of another communication device is greater than or equal to a preset communication amount.
  • the electronic device 210 controls the small raw image under the control of the at least one processor 213 and 221 in operation 807.
  • the communication module 190 may periodically transmit to the cloud platform 250.
  • the electronic device 210 may transmit recipe information from the cloud platform 250 under the control of at least one processor 213 and 221 in operation 809. (Eg, the communication module 190 of FIG. 1) may be periodically received.
  • the operation may branch from operation 805 to operation 815.
  • the electronic device 210 under operation 815, under control of the at least one processor 213, 221, transmits a small raw image to a communication module (eg, FIG.
  • the communication module 190 of 1 may transmit the cloud platform 250 to a predetermined time.
  • the predetermined time may be a time point at which the communication state is predicted to worsen.
  • the electronic device 210 communicates recipe information from the cloud platform 250 under the control of at least one processor 213 and 221 in operation 817. It may receive up to a predetermined time through a module (eg, the communication module 190 of FIG. 1). The predetermined time may be a time point at which the communication state is predicted to worsen.
  • the electronic device 210 may process an image obtained by using recipe information received periodically or recipe information received up to a predetermined time, under the control of at least one processor 213 and 221.
  • the electronic device 210 may periodically receive recipe information under the control of at least one processor 213 and 221 in operation 811.
  • the acquired image may be processed using.
  • the ISP 215 of the electronic device 210 performs various image processing on the acquired image (eg, a raw image) by using recipe information received up to a periodic or predetermined time.
  • the electronic device 210 may receive recipe information from the cloud platform 250 and perform raw image processing based on the recipe information through the ISP 215.
  • Image processing may include image processing operations such as white balance, color adjustment, noise reduction, sharpen, detail enhancement, and the like. Such image processing operations may be performed for each area of an image based on recipe information.
  • the electronic device 210 may store the processed image in the at least one memory 219, 222, 254 under the control of the at least one processor 213, 221. In operation 813, the electronic device 210 may store the processed image in at least one or more memories 219 and 222 of the electronic device 210 through an encoding operation such as JPEG. Alternatively, when the electronic device 210 transmits the processed image to the cloud platform 250 in operation 813, the electronic device 210 may be stored in at least one memory (eg, the image storage 254) of the cloud platform 250.
  • the electronic device 210 may be stored in at least one memory (eg, the image storage 254) of the cloud platform 250.
  • FIG. 9 is a flowchart illustrating an operation of displaying a camera APP icon according to various embodiments of the present disclosure.
  • the electronic device 210 may display a camera app icon including a first image on a home screen under the control of at least one processor 213 and 221.
  • the electronic device 210 may display a camera app icon including a first image on a home screen under the control of at least one processor 213 and 221. 220 can be controlled.
  • the first image may comprise an image associated with the camera.
  • the electronic device 210 may determine whether photography based on the cloud platform 250 is activated under the control of at least one processor 213 or 221.
  • an operation of activating photographing based on the cloud platform 250 may be performed under the control of at least one processor 213 or 221. According to this may be an operation of activating the cloud platform 250 based shooting.
  • an operation of activating photographing based on the cloud platform 250 may be performed by, for example, a cloud platform. It may be an operation of automatically activating according to the communication state with the 250.
  • the electronic device 210 may branch to operation 901.
  • the electronic device 210 may branch to operation 901. have.
  • the electronic device 210 may branch to operation 905.
  • the electronic device 210 controls the at least one camera app icon including the second image under the control of the at least one processor 213 or 221 in operation 905. Can be displayed on the screen.
  • the electronic device 210 may include a second image under the control of at least one processor 213 and 221 in operation 905.
  • the display 220 may be controlled to display a camera app icon on the home screen.
  • the second image may include the first image and may further include an image indicating that photography based on the cloud platform 250 is activated.
  • the second image may include an image related to a cloud and an image related to a communication antenna.
  • FIG. 10 is a flowchart illustrating an operation of displaying a camera live view according to various embodiments of the present disclosure.
  • the electronic device 210 may execute a camera function under the control of at least one processor 213 or 221.
  • the electronic device 210 may execute a camera function according to a user input under the control of at least one processor 213 or 221.
  • the electronic device 210 may execute a camera function when receiving a user input for a camera app icon displayed on a home screen under the control of at least one processor 213 or 221.
  • the electronic device 210 controls the at least one processor 213 or 221 to display a plurality of camera icons including a live view and a first image set on the display 220. I can display it.
  • the electronic device 210 may display on the display 220 a plurality of camera icons including a live view and a first set of images.
  • the operation may be an operation of overlaying the plurality of camera icons including the first set of images on the live view, or displaying the icons in a translucent or transparent manner.
  • the first image set may include at least one of a photographing button, a thumbnail image of a previous photographing result, or a thumbnail image quick view image of a previous photographing result.
  • the live view may be a background screen currently being photographed through the camera module 211.
  • the electronic device 210 may determine whether photographing based on the cloud platform 250 is activated under the control of the at least one processor 213 or 221.
  • an operation of activating photographing based on the cloud platform 250 may be performed under the control of at least one processor 213 or 221. According to this may be an operation of activating the cloud platform 250 based shooting.
  • an operation of activating photographing based on the cloud platform 250 may be performed under the control of at least one processor 213 or 221. It may be an operation of automatically activating according to the communication state with the 250.
  • the electronic device 210 may branch to operation 1003.
  • operation 1005 when it is determined that photography based on the cloud platform 250 is deactivated under the control of at least one processor 213 or 221, the electronic device 210 may branch to operation 1003. have.
  • the electronic device 210 may branch to operation 1007.
  • the electronic device 210 may control a camera including a live view and a second image set under the control of at least one processor 213 and 221 in operation 1007.
  • Displaying a plurality of icons on the display 220 may be an operation of overlaying a plurality of camera icons including a second set of images on a live view, or displaying the icons in a translucent or transparent manner.
  • the live view displayed in operation 1007 may reflect recipe information received from the cloud platform 250.
  • the second image set may include at least one or more of a photographing button, a thumbnail image of a previous photographing result, a thumbnail image of a previous photographing result, a quick view image of a previous photographing result, or an image of a communication state.
  • the live view may be a background screen currently being photographed through the camera module 211.
  • Shooting buttons included in the second set of images, thumbnail images of previous shooting results or quick view images of previous shooting results, or images of communication status may be activated by shooting based on the cloud platform 250. It may further include an image indicating that.
  • the second image set may include an image related to a cloud and an image related to a communication antenna.
  • FIG. 11 is a block diagram illustrating a recipe information selection operation according to various embodiments of the present disclosure.
  • the first recipe information may be recipe information received from the cloud platform 250, and the second recipe information may be recipe information selected from the electronic device 210.
  • the recipe information selector 1110 may be at least one processor 213 or 221.
  • the recipe information selecting unit 1110 may select the first recipe information or the second recipe information and transmit the selected recipe information to the ISP 215 under the condition of scene change.
  • the ISP 215 may process the image according to the selected recipe information.
  • FIG. 12 is a diagram illustrating a camera live view display operation when it is determined that photography based on the cloud platform 250 of FIG. 10 is deactivated according to various embodiments of the present disclosure.
  • the electronic device 210 displays a plurality of camera icons 1220 and 1230 including a live view 1210 and a first image set under the control of at least one processor 213 and 221. ) Can be displayed on.
  • the electronic device 210 displays 220 a plurality of camera icons 1220, 1230 that include a live view 1210 and a first image set.
  • the displaying on the image may be an operation of overlaying the plurality of camera icons 1220 and 1230 including the first set of images on the live view 1210, or displaying the translucent or transparent display.
  • the first image set may include at least one of a photographing button 1220, a thumbnail image 1230 regarding a previous photographing result, or a quick view image 1230 regarding a previous photographing result.
  • the live view 1210 may be a background screen currently being captured by the camera module 211.
  • FIG. 13 is a diagram illustrating a camera live view display operation when it is determined that shooting based on the cloud platform 250 of FIG. 10 is activated according to various embodiments of the present disclosure.
  • the electronic device 210 displays a plurality of camera icons 1320, 1330, and 1340 including a live view 1310 and a second image set under the control of at least one processor 213 and 221. It can be displayed on (220).
  • the electronic device 210 may display a plurality of camera icons 1320, 1330, 1340 including a live view 1310 and a second set of images.
  • the operation of displaying on the 220 may be an operation of overlaying the plurality of camera icons 1320, 1330, and 1340 including the second set of images on the live view 1310, or displaying them semi-transparently or transparently.
  • the second set of images is either of the shooting button 1320, thumbnail image 1230 for the previous shooting result or thumbnail image quick view image 1230 for the previous shooting result, or image 1340 for the communication status. It may include at least one.
  • the live view 1310 may reflect recipe information received from the cloud platform 250.
  • the live view 1310 may be a background screen currently being captured by the camera module 211.
  • the image may further include an image indicating that photography based on the cloud platform 250 is activated.
  • the second image set may include an image related to a cloud (eg, 1331) and an image 1340 related to a communication antenna.
  • FIG. 14 is a diagram illustrating a camera app icon display operation when it is determined that shooting based on the cloud platform 250 of FIG. 9 is deactivated according to various embodiments of the present disclosure.
  • the electronic device 210 may display a home screen on the display 220 and display at least one or more app icons 1410, 1420, and 1430 on the home screen under the control of at least one processor 213 and 221. have.
  • the electronic device 210 may display a camera app icon 1430 including the first image 1431 on a home screen under the control of at least one processor 213 or 221.
  • the electronic device 210 displays the camera app icon 1410 including the first image 1431 on the home screen under the control of at least one processor 213, 221. 220 may be controlled.
  • the first image 1431 may include an image associated with a camera.
  • FIG. 15 is a diagram illustrating a camera app icon display operation when it is determined that shooting based on the cloud platform 250 of FIG. 9 is activated according to various embodiments of the present disclosure.
  • the electronic device 210 may display a home screen on the display 220 under the control of at least one processor 213 and 221, and display at least one or more app icons 1510, 1520, and 1530 on the home screen. have. At least one app icon 1510, 1520, 1530 on the home screen of FIG. 15 may be an icon related to a function such as at least one app icon 1410, 1420, 1430 on the home screen of FIG. 14.
  • the electronic device 210 determines that the photography based on the cloud platform 250 is activated under the control of at least one processor 213 or 221, the electronic device 210 displays the camera app icon 1530 including the second image 1531. It can be displayed on the home screen.
  • the electronic device 210 controls the at least one processor 213 and 221 to control the camera app including the second image 1531.
  • the display 220 may be controlled to display the icon 1530 on the home screen.
  • the second image 1531 may include the first image 1431 of FIG. 14, and may further include an image indicating that photography based on the cloud platform 250 is activated.
  • the second image may include an image related to a cloud and an image related to a communication antenna.
  • 16 is a flowchart illustrating an image processing method according to a network state according to various embodiments of the present disclosure.
  • the electronic device 210 may acquire an image of an external object using the camera module 211 according to a user input under the control of at least one processor 213 or 221.
  • the electronic device 210 may acquire an image using the camera module 211 according to a user input. At least one object may be included in the acquired image through the camera module 211.
  • the electronic device 210 may control a small raw image (eg, the small raw image 321 of FIG. 3) by using the acquired image under the control of the at least one processor 213 and 221. Can be generated.
  • a small raw image eg, the small raw image 321 of FIG. 3
  • the electronic device 210 may downscale (eg, reduce the size or reduce the resolution) or downsample (eg, one of a sampled series of samples) an acquired image (eg, a raw image). Or take only a few samples) to produce a small raw image.
  • the electronic device 210 may compress the acquired image or the small raw image by using various image compression algorithms.
  • the electronic device 210 may use the small raw image generator 217 to downscale (eg, reduce the size or reduce the resolution) of an image (eg, a raw image) acquired. Motion) or down sampling (e.g., taking only one or some of the samples in the sampled series) to produce a small raw image.
  • the electronic device 210 may compress the obtained image or the small raw image by using the various image compression algorithms of the raw image compressor 218.
  • the electronic device 210 may determine whether the small raw image may be transmitted to the cloud platform 250 through the communication module under the control of the at least one processor 213 or 221.
  • the electronic device 210 may be an operation of determining whether an environment in which a desired raw image can be transmitted to the cloud platform 250 is controlled under the control of at least one processor 213 and 221. It may be an operation of determining whether the communication throughput is a specified level (eg, a connection situation of upload 50 Mbps or more).
  • sending a small raw image to the cloud platform 250 may be very limited. It can be judged as an environment in which a raw image cannot be transmitted.
  • the electronic device 210 determines whether the small raw image can be transmitted.
  • the at least one processor 213 , 221 may determine whether the communication state with the cloud platform 250 is good using the information on the connection state of the communication channel.
  • the information about the connection state of the communication channel may include at least one or more of information regarding a communication transmission / reception rate, a communication signal strength, and a communication amount of another communication device in the base station.
  • the at least one processor 213 and 221 may have a good communication status with the cloud platform 250. If the communication transmission and reception throughput is less than or equal to the preset transmission and reception throughput, the at least one processor 213 and 221 may determine that the communication status with the cloud platform 250 is not good.
  • the at least one processor 213 and 221 may have a good communication state with the cloud platform 250. If the communication signal strength is less than or equal to the preset signal strength, the at least one processor 213 or 221 may determine that the communication state with the cloud platform 250 is not good.
  • the at least one processor 213 or 221 based on the information about the connection state of the communication channel, if the communication amount of the other communication device is less than or equal to the preset communication amount, the at least one processor 213 or 221 is in good communication with the cloud platform 250. If the communication amount of the other communication device is greater than or equal to the preset communication amount, the at least one processor 213 or 221 may determine that the communication state with the cloud platform 250 is not good.
  • the program 140 may be configured to operate on an operating system and / or various applications (eg, an application program 146) that controls resources related to the electronic device 101. )).
  • the operating system may include, for example, Android TM, iOS TM, Windows TM, Symbian TM, Tizen TM, or Bada TM.
  • the program 140 may include an operating system 142, a kernel, middleware 144, an application programming interface (API), and / or an application program 146.
  • the middleware 144 may provide various functions through the API, for example, to provide functions commonly required by the application 146 or to allow the application 146 to use limited system resources inside the electronic device. ) Can be provided.
  • the middleware 144 may include at least one of a runtime library, an application manager, a window manager, a multimedia manager, a resource manager, a power manager, a database manager, a package manager, a connection manager, a notification manager, a location manager, a graphic manager, or a security manager. It may include.
  • the connection manager may, for example, manage communication connections.
  • the electronic device 210 may branch from operation 1605 to operation 1607.
  • the electronic device 210 may control the small raw image under the control of the at least one processor 213 and 221. It may be transmitted to the cloud platform 250 through the communication module 190 of.
  • the electronic device 210 may control the first correction information from the cloud platform 250 through the communication module (eg, the communication module 190 of FIG. 1) under the control of the at least one processor 213 and 221. Can be received.
  • the communication module eg, the communication module 190 of FIG. 1
  • the first correction information may be the same as the recipe information of FIG. 2 or the correction area information 332 mentioned in FIG. 3.
  • the cloud platform 250 may segment at least one image area from the small raw image (eg, the small row image 321 of FIG. 3).
  • the cloud platform 250 may recognize each of at least one image area divided by the segmentation result.
  • the cloud platform 250 may include at least one of information associated with a plurality of generated image areas, for example, coordinate information (vector information), segment information, layer information, recognition result, and scene category information of the image area.
  • the recipe information may be generated, and the generated recipe information may be transmitted to the electronic device 210.
  • the electronic device 210 may process an image obtained by using the first correction information or the second correction information under the control of at least one processor 213 or 221.
  • the electronic device 210 when it is determined that the communication state with the cloud platform 250 is good, the electronic device 210 may be acquired using the first information under the control of the at least one processor 213 and 221 in operation 1611. One image can be processed.
  • the ISP 215 of the electronic device 210 performs various image processing on the acquired image (eg, the raw image) by using the first correction information.
  • the electronic device 210 may receive recipe information from the cloud platform 250 and perform raw image processing based on the recipe information through the ISP 215.
  • Image processing may include image processing operations such as white balance, color adjustment, noise reduction, sharpen, detail enhancement, and the like. Such image processing operations may be performed for each area of an image based on recipe information.
  • the electronic device 210 may store the processed image in the at least one memory 219, 222, 254 under the control of the at least one processor 213, 221. In operation 1613, the electronic device 210 may store the processed image in at least one or more memories 219 and 222 of the electronic device 210 through an encoding operation such as JPEG. Alternatively, when the electronic device 210 transmits the processed image to the cloud platform 250 in operation 1613, the electronic device 210 may be stored in at least one memory (eg, the image storage 254) of the cloud platform 250.
  • the electronic device 210 may be stored in at least one memory (eg, the image storage 254) of the cloud platform 250.
  • the operation may branch from operation 1605 to operation 1615.
  • the electronic device 210 may check the second correction information according to the context information of the image under the control of the at least one processor 213 or 221.
  • the electronic device 210 may process the raw image obtained by using the first correction information or the second correction information under the control of the at least one processor 213 and 221.
  • the electronic device 210 controls the at least one processor 213, 221 in operation 1611.
  • the image acquired based on the second correction information may be processed.
  • the second correction information may be information generated according to the situation information, or may be recipe information prepared in advance.
  • the ISP 215 of the electronic device 210 may perform various image processing on the acquired image (eg, the raw image) by using the second correction information.
  • the second correction information may be one of a plurality of recipe information preset in the electronic device 210 in consideration of various situations.
  • the electronic device 210 displays at least one of a plurality of recipe information that is pre-set on a screen or scene currently acquired through the camera module 211 and recipe information corresponding to the same or the same object, brightness and color. One or more may be selected as the second correction information.
  • the second correction information may be first correction information received close to a point in time at which a screen or a scene is acquired through the current camera module 211 among the first correction information received from the cloud platform 250.
  • the electronic device 210 may determine context information about the image in operation 1615.
  • the contextual information about the image may be a change of a screen or a scene currently acquired through the camera module 211.
  • the electronic device 210 may determine whether there is a change of a screen or a scene currently acquired through the camera module 211 in operation 1615.
  • the operation of the electronic device 210 to determine whether there is a screen or scene change is compared with a frame that is currently acquired and a previous frame, and when the color or brightness of the screen changes by more than a preset condition, the screen or scene is switched. If it is determined that the color or brightness of the screen is changed under a preset condition, it may be determined that there is no change of the screen or scene.
  • the electronic device 210 controls at least one of a plurality of preset second correction information under the control of at least one processor 213 or 221.
  • the above second correction information can be selected.
  • the electronic device 210 may control a screen or a scene currently acquired through the camera module 211, an object, brightness, color, etc. under the control of at least one processor 213, 221.
  • corresponding recipe information may be selected as at least one or more second information among a plurality of recipe information.
  • the operation of the electronic device 210 selecting one or more second correction information from among the plurality of recipe information under the control of at least one processor 213 and 221 may be as follows.
  • At least one processor (213, 221) performs a scene analysis of the image based on the frame (frame) currently obtained through the camera module 211, one of a plurality of recipe information based on the analyzed scene The above can be selected as the second correction information.
  • the operation of analyzing the scene of the image based on the frames acquired by the at least one processor 213 or 221 may be performed by the at least one processor 213 or 221 analyzing the depth of the image and the like.
  • the segmentation information for each region may be calculated by segmenting at least one image region.
  • the at least one processor 213 or 221 may calculate the characteristic of the entire scene and the brightness information (eg, ISO information and illuminance information) of the entire scene using the calculated segmentation information.
  • the at least one processor 213 or 221 may determine the parameter value for each region of the segmented image using the calculated brightness information and the scene feature.
  • the at least one processor 213 or 221 may select recipe information corresponding to the calculated brightness information, scene feature, and region-specific parameter value from the plurality of recipe information stored in the memory 219.
  • the at least one processor 213 or 221 or the ISP 215 may process the image using recipe information selected according to the calculated brightness information, scene feature, and parameter value for each region.
  • the electronic device 210 may select recipe information of a previous frame under the control of at least one processor 213 or 221.
  • the recipe information of the previous frame may be first correction information received close to a point in time of acquiring a screen or a scene through the current camera module 211 among the first correction information received from the cloud platform 250.
  • Electronic devices may be various types of devices.
  • the electronic device may include, for example, a portable communication device (eg, a smartphone), 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 smartphone
  • a computer device e.g., a tablet, or a smart phone
  • a portable multimedia device e.g., a portable medical device
  • a camera e.g., a camera
  • a wearable device e.g., a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch
  • first, second, or first or second may be used merely to distinguish a component from other corresponding components, and to separate the components from other aspects (e.g. Order).
  • Some (eg, first) component may be referred to as “coupled” or “connected” to another (eg, second) component, with or without the term “functionally” or “communicatively”.
  • any component can be connected directly to the other component (eg, by wire), wirelessly, or via a third component.
  • module may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit.
  • the module may be a minimum unit or part of an integrally configured component or 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 this document may include one or more instructions stored on a storage medium (eg, internal memory 136 or external memory 138) that can be read by a machine (eg, electronic device 101). It may be implemented as software (eg, program 140) including the.
  • a processor eg, the processor 120 of the device (eg, the electronic device 101) may call and execute at least one command among one or more instructions stored from the storage medium. This enables the device to be operated to perform at least one function in accordance with the at least one command invoked.
  • 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' means only that the storage medium is a tangible device and does not contain a signal (e.g. electromagnetic wave), which is the term used when the data is stored semi-permanently on the storage medium. It does not distinguish cases where it is temporarily stored.
  • a signal e.g. electromagnetic wave
  • a method may be provided included in a computer program product.
  • the computer program product may be traded between the seller and the buyer as a product.
  • the computer program product may be distributed in the form of a device-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play StoreTM) or two user devices ( Example: smartphones) can be distributed (eg downloaded or uploaded) directly or online.
  • a device-readable storage medium e.g. compact disc read only memory (CD-ROM)
  • an application store e.g. Play StoreTM
  • smartphones two user devices
  • at least a portion of the computer program product may be stored at least temporarily or temporarily created on a device-readable storage medium such as a server of a manufacturer, a server of an application store, or a memory of a relay server.
  • each component eg, module or program of the above-described components may include a singular or plural entity.
  • one or more of the aforementioned components or operations 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 the component of each of the plurality of components the same as or similar to that performed by the corresponding component of the plurality of components before the integration. .
  • operations performed by a module, program, or other component may be executed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations may be executed in a different order, or omitted. Or one or more other actions may be added.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Studio Devices (AREA)

Abstract

전자 장치는 카메라; 하나 이상의 통신 모듈; 하나 이상의 메모리; 및 하나 이상의 프로세서를 포함하며, 상기 프로세서는 상기 카메라를 이용하여 외부 객체에 대한 원시 이미지를 획득하고, 상기 원시 이미지에 대응하는 소형 원시 이미지를 생성하고, 상기 전자 장치에서 상기 하나 이상의 통신 모듈 중 적어도 일부를 이용하여 상기 외부 장치로의 상기 소형 원시 이미지 전송이 가능한 상태 인지를 판단하고, 상기 소형 원시 이미지의 상기 전송이 가능한 상태라고 판단되면, 상기 외부 전자 장치가 상기 소형 원시 이미지를 이용하여 상기 외부 장치의 보정 처리 방식에 기반하여 제 1 보정 정보를 생성 하도록, 상기 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하고, 상기 소형 원시 이미지의 상기 전송이 불가능한 상태라고 판단되면, 상기 이미지에 대한 상황 정보를 판단하고, 상기 상황 정보에 기반하여 생성된 제 2 보정 정보를 확인하고, 및 상기 제 1 보정 정보 및 상기 제 2 보정 정보 중 대응하는 하나의 보정 정보를 이용하여, 상기 원시 이미지가 보정 처리된 보정 이미지를 생성하도록 설정될 수 있다.

Description

전자 장치 및 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법
본 발명의 다양한 실시예는 이미지를 다른 장치로 전송할 때, 전송 상태에 기초하여 이미지를 보정하는 방법 및 이 방법을 포함하는 전자 장치에 관한 것이다.
스마트 폰(Smart Phone), 태블릿 PC(Tablet PC), PMP(Portable Multimedia Player), PDA(Personal Digital Assistant), 랩탑 PC(Laptop Personal Computer) 및 손목 시계(Wrist watch), HMD(Head-Mounted Display)와 같은 웨어러블 기기(Wearable device) 등의 다양한 전자 장치는 카메라를 포함하고, 카메라를 이용하여 이미지를 촬영할 수 있다.
사용자는 전자 장치의 카메라를 이용하여 촬영한 이미지를 외부 전자 장치에 업로드 할 수 있다.
본 발명의 다양한 실시예들은 이미지 전송 상태에 기초하여 이미지를 보정하는 방법 및 이 방법을 포함하는 전자 장치에 관한 것으로서, 클라우드(cloud) 서비스를 이용하여 이미지를 처리할 수 있다.
본 발명의 다양한 실시예들은 이미지 전송 상태에 기초하여 이미지를 보정하는 방법 및 이 방법을 포함하는 전자 장치에 관한 것으로서, 네트워크 또는 통신 상태에 따라 클라우드 서비스에서 제공되는 정보 이용하여 이미지를 처리할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는 카메라; 하나 이상의 통신 모듈; 하나 이상의 메모리; 및 하나 이상의 프로세서를 포함하며, 상기 프로세서는 상기 카메라를 이용하여 외부 객체에 대한 원시 이미지를 획득하고, 상기 원시 이미지에 대응하는 소형 원시 이미지를 생성하고, 상기 전자 장치에서 상기 하나 이상의 통신 모듈 중 적어도 일부를 이용하여 상기 외부 장치로의 상기 소형 원시 이미지 전송이 가능한 상태 인지를 판단하고, 상기 소형 원시 이미지의 상기 전송이 가능한 상태라고 판단되면, 상기 외부 전자 장치가 상기 소형 원시 이미지를 이용하여 상기 외부 장치의 보정 처리 방식에 기반하여 제 1 보정 정보를 생성 하도록, 상기 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하고, 상기 소형 원시 이미지의 상기 전송이 불가능한 상태라고 판단되면, 상기 이미지에 대한 상황 정보를 판단하고, 상기 상황 정보에 기반하여 생성된 제 2 보정 정보를 확인하고, 및 상기 제 1 보정 정보 및 상기 제 2 보정 정보 중 대응하는 하나의 보정 정보를 이용하여, 상기 원시 이미지가 보정 처리된 보정 이미지를 생성하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 방법은 전자 장치의 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법에 있어서, 카메라를 이용하여 외부 객체에 대한 원시 이미지를 획득하는 동작; 상기 원시 이미지에 대응하는 소형 원시 이미지를 생성하는 동작; 상기 전자 장치에서 상기 하나 이상의 통신 모듈 중 적어도 일부를 이용하여 상기 외부 장치로의 상기 소형 원시 이미지 전송이 가능한 상태 인지를 판단하는 동작; 상기 소형 원시 이미지의 상기 전송이 가능한 상태라고 판단되면, 상기 외부 전자 장치가 상기 소형 원시 이미지를 이용하여 상기 외부 장치의 보정 처리 방식에 기반하여 제 1 보정 정보를 생성 하도록, 상기 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하는 동작; 상기 소형 원시 이미지의 상기 전송이 불가능한 상태라고 판단되면, 상기 이미지에 대한 상황 정보를 판단하고, 상기 상황 정보에 기반하여 생성된 제 2 보정 정보를 확인하는 동작; 및 상기 제 1 보정 정보 및 상기 제 2 보정 정보 중 대응하는 하나의 보정 정보를 이용하여, 상기 원시 이미지가 보정 처리된 보정 이미지를 생성하도록 하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따른 이미지 전송 상태에 기초하여 이미지를 보정하는 방법 및 이 방법을 포함하는 전자 장치는 클라우드 서비스를 이용하여 이미지를 처리함으로써, 사용자에게 다양한 이미지를 제공할 수 있다.
본 발명의 다양한 실시예에 따른 이미지 전송 상태에 기초하여 이미지를 보정하는 방법 및 이 방법을 포함하는 전자 장치는 네트워크 또는 통신 상태에 기반하여 클라우드 서비스에서 제공되는 정보를 수신하는 시점을 변경하거나, 클라우드 서비스로부터 기 수신되어 전자 장치에 저장된 정보를 이용하여 이미지를 처리함으로써, 일정한 이미지 품질을 유지할 수 있다.
본 발명의 다양한 실시예에 따른 이미지 전송 상태에 기초하여 이미지를 보정하는 방법 및 이 방법을 포함하는 전자 장치는 네트워크 또는 통신 상태에 기반하여 이미지 촬영 정보를 제공함으로써, 클라우드 서비스 이용에 관한 정보를 사용자에게 제공할 수 있다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블럭도이다.
도 2는, 다양한 실시예들에 따른, 전자 장치와 클라우드 플랫폼의 블럭도이다.
도 3은 본 발명의 다양한 실시예에 따른 전자 장치 및 외부 전자 장치의 동작을 설명하기 위한 개념도를 도시한다.
도 4는 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
도 5는 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
도 6은 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
도 7은 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
도 8은 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
도 9는 본 발명의 다양한 실시예에 따른 카메라 앱 아이콘(camera APP icon) 표시 동작을 나타내는 순서도이다.
도 10은 본 발명의 다양한 실시예에 따른 카메라 라이브 뷰(live view)표시 동작을 나타내는 순서도이다.
도 11은 본 발명의 다양한 실시예에 따른 레시피 정보 선택 동작을 나타내는 블록도이다.
도 12는 본 발명의 다양한 실시예에 따른 도 10의 클라우드 플랫폼을 기반으로 하는 촬영이 비활성화되었다고 판단되는 경우의 카메라 라이브 뷰(live view)표시 동작을 나타내는 도면이다.
도 13은 본 발명의 다양한 실시예에 따른 도 10의 클라우드 플랫폼을 기반으로 하는 촬영이 활성화되었다고 판단되는 경우의 카메라 라이브 뷰(live view)표시 동작을 나타내는 도면이다.
도 14는 본 발명의 다양한 실시예에 따른 도 9의 클라우드 플랫폼을 기반으로 하는 촬영이 비활성화되었다고 판단되는 경우의 카메라 앱 아이콘 표시 동작을 나타내는 도면이다.
도 15는 본 발명의 다양한 실시예에 따른 도 9의 클라우드 플랫폼을 기반으로 하는 촬영이 활성화되었다고 판단되는 경우의 카메라 앱 아이콘 표시 동작을 나타내는 도면이다.
도 16은 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(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)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전자 장치(101)는 적어도 하나 이상의 카메라 모듈(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)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 하나 이상의 안테나들을 포함할 수 있고, 이로부터, 제 1 네트워크 198 또는 제 2 네트워크 199와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, 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)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는, 다양한 실시예들에 따른, 전자 장치(210)와 클라우드 플랫폼(250)의 블럭도(200)이다. 도 2를 참조하면, 전자 장치(210)는 카메라 모듈(211) 및 디스플레이(220), 프로세서(221) 및 메모리(219, 222)를 포함할 수 있다. 도 2의 전자 장치(210)는 도 1의 전자 장치(101)와 동일하다. 도 2의 카메라 모듈(211)은 도 1의 카메라 모듈(180)과 동일하다. 도 2의 디스플레이(220)는 도 1의 표시 장치(160)와 동일하다. 도 2의 프로세서(213, 221)는 도 1의 프로세서(120)와 동일하다. 도 2의 메모리(219, 222)는 도 1의 메모리(130)와 동일하다.
카메라 모듈(211)은 이미지 센서(212), 프로세서(213), 메모리(219)를 포함할 수 있다. 프로세서(213)는 원시 이미지 처리부(214) 및 ISP(image signal processor)(215) 및 인코더(216)을 포함할 수 있다.
이미지 센서(212)는 피사체에 대한 다양한 원시 이미지(raw image)를 획득할 수 있다. 이미지 센서(212)는 컬러 필터 어레이(CFA, Color Filter Array) 패턴에 따라 다양한 형태의 원시 이미지를 획득할 수 있다. 이미지 센서(212)의 듀얼 픽셀(DP, dual pixel또는 2PD) 구조를 이용하면, 하나의 픽셀에 서로 다른 위상 차(또는 시차) 정보를 포함하는 이미지 센서(212)을 획득할 수 있다. 서로 같거나 다른 특성을 가진 복수의 이미지 센서들(예: 듀얼 센서(예: RGB+RGB, RGB+Mono, 또는 Wide+Tele 등), 어레이 센서(Array Sensor, 예: 2개 이상의 Sensor가 부착))을 이용하여, 한 장면에 대해 하나 이상의 이미지 센서(212)을 획득할 수 있다. 획득된 이미지 센서(212)은 그대로 또는 추가적인 처리를 거쳐 메모리(222)에 저장될 수 있다.
이미지 센서(212)는 피사체로부터 렌즈 어셈블리(미도시)를 통해 전달된 빛을 전기적인 신호로 변환함으로써, 상기 피사체에 대응하는 이미지를 획득할 수 있다. 일실시예에 따르면, 이미지 센서(212)는, 예를 들면, RGB 센서, BW(black and white) 센서, IR 센서, 또는 UV 센서와 같이 속성이 다른 이미지 센서들 중 선택된 하나의 이미지 센서, 동일한 속성을 갖는 복수의 이미지 센서들, 또는 다른 속성을 갖는 복수의 이미지 센서들을 포함할 수 있다. 이미지 센서(212)에 포함된 각각의 이미지 센서는, 예를 들면, CCD(charged coupled device) 센서 또는 CMOS(complementary metal oxide semiconductor) 센서로 구현될 수 있다.
카메라 모듈(211)은 렌즈 어셈블리(미도시), 플래쉬(미도시), 이미지 스태빌라이저(미도시)를 더 포함할 수 있다.
렌즈 어셈블리(미도시)는 이미지 촬영의 대상인 피사체로부터 방출되는 빛을 수집할 수 있다. 렌즈 어셈블리(미도시)는 하나 또는 그 이상의 렌즈들을 포함할 수 있다.
일실시예에 따르면, 카메라 모듈(211)은 복수의 렌즈 어셈블리(미도시)들을 포함할 수 있다. 이런 경우, 카메라 모듈(211)은, 예를 들면, 듀얼 카메라, 360도 카메라, 또는 구형 카메라(spherical camera)일 수 있다. 복수의 렌즈 어셈블리(미도시)들은 동일한 렌즈 속성(예: 화각, 초점 거리, 자동 초점, f 넘버(f number), 또는 광학 줌)을 갖거나, 또는 적어도 하나의 렌즈 어셈블리는 다른 렌즈 렌즈 어셈블리와 적어도 하나의 다른 렌즈 속성을 가질 수 있다. 렌즈 어셈블리(미도시)는, 예를 들면, 광각 렌즈 또는 망원 렌즈를 포함할 수 있다. 플래쉬(미도시)는 피사체로부터 방출되는 빛을 강화하기 위하여 사용되는 광원을 방출할 수 있다. 플래쉬(미도시)는 하나 이상의 발광 다이오드들(예: RGB(red-green-blue) LED, white LED, infrared LED, 또는 ultraviolet LED), 또는 xenon lamp를 포함할 수 있다.
이미지 스태빌라이저(미도시)는 카메라 모듈(212) 또는 이를 포함하는 전자 장치(210)의 움직임에 반응하여, 촬영되는 이미지에 대한 상기 움직임에 의한 부정적인 영향(예: 이미지 흔들림)을 적어도 일부 보상하기 위하여 렌즈 어셈블리(미도시)에 포함된 적어도 하나의 렌즈 또는 이미지 센서(212)를 특정한 방향으로 움직이거나 제어(예: 리드 아웃(read-out) 타이밍을 조정 등)할 수 있다. 일실시예에 따르면, 이미지 스태빌라이저(미도시)는, 예를 들면, 광학식 이미지 스태빌라이저로 구현될 수 있으며, 카메라 모듈(212)의 내부 또는 외부에 배치된 자이로 센서(미도시) 또는 가속도 센서(미도시)를 이용하여 상기 움직임을 감지할 수 있다.
원시 이미지는 다양한 포맷(예: Bayer 포맷 등)으로 구성될 수 있다. 원시 이미지는 이미지 센서(212)의 픽셀(Pixel)에 대해 R(red),G(green),B(blue) 중 하나의 색으로 표현될 수 있고, 8~16비트(Bit)의 비트 깊이(Bit-Depth)로 표현 가능하다. 원시 이미지에는 다양한 컬러 필터 어레이(CFA, Color Filter Array)패턴이 적용될 수 있다. 원시 이미지는 하나의 픽셀에 대해 여러 가지 색(예: R,G,B 중 복수 의 색) 정보를 포함하는 레이어(Layer) 구조의 원시 이미지일 수 있다. 이미지 센서(212)의 다양한 구성에 따라, 색 정보(예:RGB) 뿐만 아니라, 위상차 정보 등도 포함할 수 있다. 영상의 촬영과 관련된 정보(예: 시간, 위치, 조도 등)는 메타데이터로 생성되어 원시 이미지와 관련하여 저장될 수 있다.
전자 장치의 프로세서(213, 221)는 영상 처리와 관련된 다양한 처리들을 수행할 수 있다. 다양한 영상 처리 모듈들(예: 원시 이미지 처리부(214), ISP(215), 인코더(216))은 하나의 프로세서 내에 포함될 수도 있고, 복수의 프로세서(213, 221)들에 분산되어 있을 수도 있다. 프로세서(213)는 카메라 모듈(211)의 내부에 또는 카메라 모듈(211)의 외부에(예: 전자 장치(210)) 또는 클라우드 플랫폼(250)의 일부를 구성하고 있는 하나 또는 여러 서버 등) 또는 내부와 외부 모두에 있을 수 있다. 다양한 처리들은 프로세서에 의해 단독으로 처리되거나 또는 복수의 프로세서에 의해 분산 처리될 수 있다.
원시 이미지 처리부(214)는 이미지 센서(212)에서 획득된 원시 이미지에 대해 다양한 처리를 수행할 수 있다. 원시 이미지에 대해 렌즈 왜곡 보상을 수행하거나 또는 또는 노이즈를 일부 제거할 수 있다. 원시 이미지는 데이터의 크기가 상당히 클 수 있으므로, 원시 이미지 처리부(214)는 원시 이미지를 저장, 처리 또는 전송하기 전에, 다양한 처리(예: 다운 스케일링(down scaling), 다운 샘플링(down sampling) 또는 압축(compression) 등)를 통해 데이터 크기를 줄일 수 있다.
소형 원시 이미지 생성부(217)는 원시 이미지를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다.
원시 이미지 압축부(218)는 다양한 영상 압축 알고리즘을 이용하여 원시 이미지 또는 소형 원시 이미지를 압축할 수 있다.
ISP(215)는 엔진(257)에서 분석된 원시 이미지에 대한 다양한 정보를 포함하는 레시피 정보(recipe)를 이용하여, 원시 이미지에 대한 다양한 영상 처리를 수행한다. 전자 장치(210)는 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하고, ISP(215)를 통해, 레시피 정보에 기반한 원시 이미지 처리를 수행할 수 있다. 예를 들면, 전자 장치(210)의 임베디드ISP(Embedded ISP)에서 제공되는 영상 처리와, 레시피 정보를 활용한 영상 처리를 복합적으로 수행할 수 있다. 클라우드 플랫폼(250)에서 영상 처리를 수행하는 경우, 클라우드 플랫폼(250)에 포함된 ISP(258)를 통해, 레시피 정보에 기반한 원시 이미지를 수행할 수도 있다. 클라우드 플랫폼(250)에 포함된 ISP(258)는 데이터베이스(252)로부터 레시피 정보에 대응하는 추가 정보(예: feature vector 등)를 수신하여 영상 처리에 이용할 수 있다. 처리된 영상은 전자 장치(210)로 송신되거나 또는 클라우드 플랫폼(250)의 이미지 저장소(254)에 저장될 수 있다. 영상 처리는 화이트 밸런스(White Balance), 색 조정(Color Adjustment), 노이즈 제거(Noise Reduction), 샤픈 (Sharpen), 디테일 인핸스먼트(Detail Enhancement) 등의 기능을 포함할 수 있다. 이러한 기능들은 레시피 정보에 기반하여, 영상의 영역별로 수행될 수 있다.
ISP(215)는 이미지 센서(212)을 통하여 획득된 이미지 또는 메모리(219, 222)에 저장된 이미지에 대하여 이미지 처리(예: 깊이 지도(depth map) 생성, 3차원 모델링, 파노라마 생성, 특징점 추출, 이미지 합성, 또는 이미지 보상(예: 노이즈 감소, 해상도 조정, 밝기 조정, 블러링(blurring), 샤프닝(sharpening), 또는 소프트닝(softening))을 수행할 수 있다. 추가적으로 또는 대체적으로, ISP(215)는 카메라 모듈(211)에 포함된 구성 요소들 중 적어도 하나(예: 이미지 센서(212))에 대한 제어(예: 노출 시간 제어, 또는 리드 아웃 타이밍 제어 등)를 수행할 수 있다. ISP(215)에 의해 처리된 이미지는 추가 처리를 위하여 메모리(250)에 다시 저장 되거나 카메라 모듈(180)의 외부 구성 요소(예: 메모리(130), 표시 장치(160), 전자 장치(102), 전자 장치(104), 또는 서버(108))로 전달될 수 있다. 일실시예에 따르면, ISP(215)는 프로세서(213, 221)의 적어도 일부로 구성되거나, 프로세서(213, 221)와 독립적으로 운영되는 별도의 프로세서로 구성될 수 있다. 별도의 프로세서로 구성된 경우, ISP(215)에 의해 처리된 이미지들은 프로세서(213, 221)에 의하여 그대로 또는 추가의 이미지 처리를 거친 후 디스플레이(220)를 통해 표시될 수 있다.
인코더(216)는 원시 이미지를 인코딩 하여 이미지 파일(예: JPEG, MPEG, 360 영상 등)을 생성할 수 있다.
전자 장치(210)는 카메라 모듈(211) 내부에 메모리(219) 및/또는 카메라 모듈(211) 외부에 메모리(222)를 포함할 수 있다. 메모리(219, 222)는 원시 이미지, 소형 원시 이미지, 이미지 파일, 및 이미지 처리된 원시 이미지 등을 저장할 수 있다. 메모리(219, 222)는 이미지 센서(212)을 통하여 획득된 이미지의 적어도 일부를 다음 이미지 처리 작업을 위하여 적어도 일시 저장할 수 있다. 예를 들어, 셔터에 따른 이미지 획득이 지연되거나, 또는 복수의 이미지들이 고속으로 획득되는 경우, 획득된 원본 이미지(예: 높은 해상도의 이미지)는 메모리(219, 222)에 저장이 되고, 그에 대응하는 사본 이미지(예: 낮은 해상도의 이미지)는 디스플레이(220)를 통하여 프리뷰될 수 있다. 이후, 지정된 조건이 만족되면(예: 사용자 입력 또는 시스템 명령) 메모리(219, 222)에 저장되었던 원본 이미지의 적어도 일부가, 예를 들면, ISP(215)에 의해 획득되어 처리될 수 있다. 일실시예에 따르면, 메모리(219)는 메모리(222)의 적어도 일부로, 또는 이와는 독립적으로 운영되는 별도의 메모리로 구성될 수 있다.
전자 장치(210)는 디스플레이(222, 도 1의 표시 장치(160)와 동일)를 포함할 수 있다.
클라우드 플랫폼(250)은 외부 장치로서, 프로세서(251), 데이터 베이스(252), 원시 이미지 저장소(253), 이미지 저장소(254)를 포함할 수 있다. 프로세서(251)는 엔진(예를 들어, 인식 엔진)(255), 인코더(256), 전처리부(257), ISP(258)을 포함할 수 있다.
클라우드 플랫폼(250)의 프로세서(251)는 영상 처리와 관련된 다양한 처리들을 수행할 수 있다. 다양한 영상 처리 모듈들(예: 엔진(255), 인코더(256), 전처리부(257), ISP(258))은 하나의 프로세서 내에 포함될 수도 있고 복수의 프로세서들에 분산되어 있을 수도 있다.
엔진(255)은 영상(예: 원시 이미지, 소형 원시 이미지, 이미지 파일 등)으로부터 다양한 유의미한 정보(예: 사물 인식, 속도 벡터, 얼굴 인식, 세그먼테이션(segmentation), 장면 파싱(scene parsing) 등)를 분석하는 동작을 수행한다. 이를 위한 다양한 알고리즘들을 포함할 수 있다. 분석 결과로써 ISP에서 다양한 영상 처리에 활용 가능한 정보(레시피 정보, recipe information)(예: segments, layers, vectors, 또는 scene category 등을 포함하는 정보)를 영상과 연관하여 생성, 저장, 또는 전송할 수 있다.
인코더(256)는 원시 이미지를 인코딩 하여 이미지 파일(예: JPEG, MPEG, 360 영상 등)을 생성할 수 있다.
전처리부(257)는 전자 장치(210)로부터 수신된 원시 이미지를 엔진(255)이나 ISP(258)로 전달하기 전에 필요한 처리를 수행할 수 있다. 압축된 원시 이미지의 압축 해제, 간단한 화질 개선, 디모자이크(de-mosaic) 처리, 또는 영상 포맷 변경 등을 수행할 수 있다.
ISP(258)는 엔진(257)에서 분석된 원시 이미지에 대한 다양한 정보를 포함하는 레시피 정보(recipe)를 이용하여, 원시 이미지에 대한 다양한 영상 처리를 수행한다. 전자 장치(210)는 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하고, ISP(215)를 통해, 레시피 정보에 기반한 원시 이미지 처리를 수행할 수 있다. 예를 들면, 전자 장치(210)의 임베디드ISP(Embedded ISP)에서 제공되는 영상 처리와, 레시피 정보를 활용한 영상 처리를 복합적으로 수행할 수 있다. 클라우드 플랫폼(250)에서 영상 처리를 수행하는 경우, 클라우드 플랫폼(250)에 포함된 ISP(258)를 통해, 레시피 정보에 기반한 원시 이미지를 수행할 수도 있다. 클라우드 플랫폼(250)에 포함된 ISP(258)는 데이터베이스(252)로부터 레시피 정보에 대응하는 추가 정보(예: feature vector 등)를 수신하여 영상 처리에 이용할 수 있다. 처리된 영상은 전자 장치(210)로 송신되거나 또는 클라우드 플랫폼(250)의 이미지 저장소(254)에 저장될 수 있다. 영상 처리는 화이트 밸런스(White Balance), 색 조정(Color Adjustment), 노이즈 제거(Noise Reduction), 샤픈 (Sharpen), 디테일 인핸스먼트(Detail Enhancement) 등의 기능을 포함할 수 있다. 이러한 기능들은 레시피 정보에 기반하여, 영상의 영역별로 수행될 수 있다.
데이터베이스(252)는 영상의 카테고리에 대응하는 특징(feature)을 저장할 수 있다. 원시 이미지 저장소(253)는 원시 이미지를 저장할 수 있다. 이미지 저장소(254)는 이미지 파일을 저장할 수 있다.
도 3은 본 발명의 다양한 실시예에 따른 전자 장치(101) 및 외부 전자 장치(300)(예: 서버(108))의 동작을 설명하기 위한 개념도를 도시한다.
전자 장치(101)는, 이미지 센서(321), ISP(323) 및 메모리(325)를 포함할 수 있다. 외부 전자 장치(300)는, 인식 모듈(331), ISP(333) 및 저장소(335)를 포함할 수 있다. 인식 모듈(331)은 논리 모듈일 수도 있으며, 외부 전자 장치(300)의 프로세서로 구현될 수도 있다. ISP (333) 또한 외부 전자 장치(300)의 프로세서로 구현될 수 있으며, 예를 들어 외부 전자 장치(300)의 프로세서가 인식과 이미지 처리를 모두 수행할 수도 있다. 도시되지는 않았지만, 전자 장치(101)는 외부 전자 장치(300)와 데이터를 송수신할 수 있는 통신 모듈(예: 통신 인터페이스(170) 또는 통신 모듈(220))을 포함할 수 있다. 외부 전자 장치(300)는 전자 장치(101)와 데이터를 송수신할 수 있는 통신 모듈을 포함할 수 있다.
이미지 센서(321)(예: 카메라 모듈(291))는, 외부 객체에 대한 이미지를 획득할 수 있으며, 이에 대응하는 로우 이미지(322)(원시 이미지, raw image)를 생성할 수 있다. 이미지 센서(321)는, 로우 이미지(322)를 ISP(323)로 전달할 수 있다. 본 발명의 다양한 실시예에서, 이미지 센서(321)는 스몰 로우 이미지(321)를 생성하여 이를 통신 모듈을 통하여 외부 전자 장치(300)로 송신할 수 있다. 또 다른 실시예에서는, 이미지 센서(321)가 아닌 전자 장치(101)의 프로세서가 스몰 로우 이미지(321)를 생성할 수도 있으며, 생성된 스몰 로우 이미지(321)를 통신 모듈을 통하여 외부 전자 장치(300)로 송신할 수 있다. 이미지 센서(321)는, 로우 이미지(322)를 압축된 상태로 상기 ISP 또는 상기 외부 전자 장치(300)으로 송신할 수 있다. 이미지 센서(321)는, 로우 이미지(322)의 일부 처리를 위해 압축하여 상기 이미지 센서(321)내부의 메모리에 저장할 수 있다. 외부 전자 장치(300)의 인식 모듈(331)은 통신 모듈을 통하여 스몰 로우 이미지(321)를 획득할 수 있으며, 스몰 로우 이미지(321)로부터 적어도 하나의 이미지 영역을 세그먼테이션할 수 있다. 인식 모듈(321)은 세그먼테이션 결과로 구분된 적어도 하나의 이미지 영역 각각을 인식할 수 있다. 인식 모듈(321)로부터 생성된 복수의 이미지 영역과 연관된 정보, 예를 들어 이미지 영역의 좌표 정보 또는 인식 결과 중 적어도 하나를 포함하는 보정 영역 정보(332)가 생성될 수 있다. 보정 영역 정보(332)는 전자 장치(101)로 송신될 수 있다. ISP(323)는 보정 영역 정보(332)를 이용하여 로우 이미지(322)를 보정할 수 있으며, 이에 따라 보정된 이미지(324)가 생성될 수 있다. 보정된 이미지(324)는, 예를 들어 YUV의 포맷을 가질 수 있다. 보정된 이미지(324)는 메모리(325)에 저장될 수 있다. 또는, 보정된 이미지(324)는 예를 들어 JPEG 방식에 따라 압축될 수 있으며, 압축된 이미지가 메모리(325)에 저장될 수도 있다. 본 발명의 다양한 실시예에서, 이미지 센서(321)로부터 제공되는 로우 이미지(322)는 스몰 로우 이미지(321)와 별도로 외부 전자 장치(300)로 송신될 수 있다. 로우 이미지(322)는, 스몰 로우 이미지(321)에 비하여 용량이 크므로, 스몰 로우 이미지(321)가 우선 외부 전자 장치(300)로 송신되며, 이후 로우 이미지(322)가 외부 전자 장치(300)로 송신될 수 있다. 예를 들어, ISP(323)가 로우 이미지(322)에 대한 보정을 수행하는 동안에 로우 이미지(322)가 외부 전자 장치(300)로 송신될 수도 있다. 로우 이미지(322)는, 이미지 센서(321)에 의하여 생성된 그대로 외부 전자 장치(300)로 업로드될 수도 있으며, 또는 렌즈 왜곡 보상 또는 노이즈 제거가 수행된 전처리 영상이 업로드될 수도 있다. 상술한 전처리는 외부 전자 장치(300)에서 수행될 수도 있다. 외부 전자 장치(300)는, Demosaic 처리 또는 이미지 포맷 변형, 또는 영상 인식률을 높이기 위한 전처리를 수행할 수도 있다. 외부 전자 장치(300)의 ISP(333)는, 수신된 로우 이미지(322)를 보정할 수 있다. 외부 전자 장치(300)는 기존에 생성하였던 보정 영역 정보(332)를 이용하여 로우 이미지(322)를 보정할 수도 있으며, 또는 확장된 보정 영역 정보를 이용하여 로우 이미지(322)를 보정할 수도 있다. 로우 이미지(322)는, 스몰 로우 이미지(321)에 비하여 해상도가 높을 수도 있으며, 이에 따라 외부 전자 장치(300)의 ISP(333)는 고해상도 이미지로부터 보다 상세한 확장된 보정 영역 정보를 획득할 수 있다. ISP(333)는, 기존에 생성된 보정 영역 정보와 로우 이미지(322)를 함께 이용하여 확장된 보정 영역 정보를 생성할 수도 있다. ISP(333)는 확장된 보정 영역 정보를 이용하여 로우 이미지(322)를 보정함으로써, 고해상도 이미지(high quality image)(334)를 획득할 수 있다. 고해상도 이미지(334)는 외부 전자 장치(300)의 저장소(335)에 저장될 수 있으며, 전자 장치(101)로 다운로드될 수도 있다.
외부 전자 장치(300)는, 예를 들어 클라우드 서버로 구현될 수 있으며, 이에 따라 외부 전자 장치의 ISP(333)는 클라우드 ISP(cloud ISP)로 명명될 수도 있다. 외부 전자 장치의 ISP(333)는, original color mapping, detail re-generation, text reconstruction, image inpainting, scene based white balance(WB) / color adjustment, segmentation based noise reduction(NR) / sharpen 또는 segmentation based detail enhancement 중 적어도 하나의 보정을 수행할 수 있다.
도 4는 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
전자 장치(210)는, 401 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 외부 객체에 대한 이미지를 획득할 수 있다.
전자 장치(210)는 카메라 기능이 실행되면, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다. 카메라 모듈(211)을 통해, 획득한 이미지에는 적어도 하나 이상의 오브젝트가 포함될 수 있다.
전자 장치(210)는, 403 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 획득한 이미지를 이용하여 소형 원시 이미지(small raw image, 예, 도 3의 스몰 로우 이미지(321))를 생성할 수 있다.
전자 장치(210)는 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
다양한 실시예에서, 전자 장치(210)는 소형 원시 이미지 생성부(217)를 이용하여 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 원시 이미지 압축부(218) 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
전자 장치(210)는, 405 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)과 통신 연결 상태가 양호한지 여부를 판단할 수 있다. 전자 장치(210)가 405 동작에서, 클라우드 플랫폼(250)과 통신 연결 상태가 양호한지 여부를 판단하는 동작은, 클라우드 서버와 통신 연결 가능한 상태인지를 판단하는 동작일 수 있다.
전자 장치(210)는, 405 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)과 통신 연결 상태가 양호한지 여부를 판단하는 동작은 소원 원시 이미지를 전송이 가능한 환경인지 여부를 판단 하는 동작일 수 있고, 가능한 환경 인지은 통신 처리율이 지정된 수준(예: upload 50 Mbps 이상인 연결 상황)인지를 판단하는 동작일 수 있다.
예를 들면, 통신망의 연결 상태가 3G 환경에 연결된 상태 또는 4G or 5G 환경에서 속도가 제한된 연결 상태 등 이라면 소형 원시 이미지를 클라우드 플랫폼(250)에 전송하기가 상당히 제약이 되며, 통신은 연결되어 있지만 원시 이미지 전송 불가 환경으로 판단할 수 있다.
예를 들어, 전자 장치(210)는 생성된 소형 원시 이미지를 클라우드 플랫폼(250)에 전송 가능한 상태이거나, 전자 장치(210)가 클라우드 플래폼(250)으로부터 레시피(recipe) 정보를 수신 가능한 상태를 클라우드 플랫폼(250)과 통신 연결 상태가 양호한 것으로 판단할 수 있다.
반대로, 전자 장치(210)는 생성된 소형 원시 이미지를 클라우드 플랫폼(250)에 전송 불가능한 상태이거나, 전자 장치(210)가 클라우드 플랫폼(250)으로부터 레시피(recipe) 정보를 수신 불가능한 상태를 클라우드 플랫폼(250)과 통신 연결 상태가 양호하지 않은 것(불량한 것)으로 판단할 수 있다.
다양한 실시예에서, 전자 장치(210)가 405 동작에서, 클라우드 플랫폼(250)과 통신 연결 상태가 양호한지 여부를 판단하는 동작은 다음과 같다.
예를 들어, 무선 연결을 관리하는 연결 매니저(connection manager)로부터 현재 연결 중이거나 연결 예정인 통신 채널의 연결 상태에 관한 정보를 적어도 하나의 프로세서(213, 221)에 전달하면, 적어도 하나의 프로세서(213, 221)는 통신 채널의 연결 상태에 관한 정보를 이용하여 클라우드 플랫폼(250)과 통신 상태가 양호한지 여부를 판단할 수 있다.
통신 채널의 연결 상태에 관한 정보는 통신 송수신 처리율, 통신 신호 강도, 기지국 내의 다른 통신 장치의 통신량에 관한 정보 중 적어도 하나 이상을 포함할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 송수신 처리율 이상으로 통신 송수신 처리율이 높다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하다고 판단할 수 있고, 통신 송수신 처리율이 미리 설정된 송수신 처리율 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않다고 판단할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 신호 강도 이상으로 통신 신호 강도가 좋다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하다고 판단할 수 있고, 통신 신호 강도가 미리 설정된 신호 강도 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않다고 판단할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 다른 통신 장치의 통신량이 미리 설정된 통신량 이하면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하다고 판단할 수 있고, 다른 통신 장치의 통신량이 미리 설정된 통신량 이상이면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않다고 판단할 수 있다.
도1을 참조하여, 연결 매니저에 관하여 구체적으로 설명하면, 프로그램(140)은 전자 장치(101)에 관련된 자원을 제어하는 운영 체제 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램(146))을 포함할 수 있다. 운영 체제는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다.
도 1을 참조하면, 프로그램(140)은 운영 체제(142), 커널, 미들웨어(144), API(application programming interface), 및/또는 어플리케이션 프로그램(146)을 포함할 수 있다. 미들웨어(144)는, 예를 들면, 어플리케이션(146)이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션(146)이 전자 장치 내부의 제한된 시스템 자원을 사용할 수 있도록 API를 통해 다양한 기능들을 어플리케이션(370)으로 제공할 수 있다. 미들웨어(144) 는 런타임 라이브러리, 어플리케이션 매니저, 윈도우 매니저, 멀티미디어 매니저, 리소스 매니저, 파워 매니저, 데이터베이스 매니저, 패키지 매니저, 연결 매니저, 노티피케이션 매니저, 로케이션 매니저, 그래픽 매니저, 또는 시큐리티 매니저 중 적어도 하나를 포함할 수 있다. 연결 매니저는, 예를 들면, 통신 연결을 관리할 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호하다고 판단되면, 전자 장치(210)는, 405 동작에서 407 동작으로 분기할 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호하다고 판단되면, 전자 장치(210)는, 407 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 전송할 수 있다.
전자 장치(210)는, 409 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)으로부터 레시피 정보를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 수신할 수 있다.
레시피 정보는 도 2의 레시피 정보, 또는 도 3에 언급된 보정 영역 정보(332)와 동일할 수 있다. 클라우드 플랫폼(250)은 소형 원시 이미지(예, 도 3의 스몰 로우 이미지(321))로부터 적어도 하나의 이미지 영역을 세그먼테이션할 수 있다. 클라우드 플랫폼(250)은 세그먼테이션 결과로 구분된 적어도 하나의 이미지 영역 각각을 인식할 수 있다. 클라우드 플랫폼(250)은 생성된 복수의 이미지 영역과 연관된 정보, 예를 들어 이미지 영역의 좌표 정보(벡터 정보), 세그먼트(segment) 정보, 레이어(layer) 정보, 인식 결과, 장면 카테고리 정보 중 적어도 하나를 포함하는 레시피 정보를 생성하고, 생성된 레시피 정보를 전자 장치(210)로 전송할 수 있다.
전자 장치(210)는, 411 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 수신된 레시피 정보 또는 미리 준비된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하다고 판단되면, 전자 장치(210)는, 411 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 수신된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
전자 장치(210)의 ISP(215)는 수신된 레시피 정보(recipe)를 이용하여, 획득한 이미지(예, 원시 이미지)에 대한 다양한 영상 처리를 수행한다. 전자 장치(210)는 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하고, ISP(215)를 통해, 레시피 정보에 기반한 원시 이미지 처리를 수행할 수 있다.
이미지 처리는 화이트 밸런스(White Balance), 색 조정(Color Adjustment), 노이즈 제거(Noise Reduction), 샤픈 (Sharpen), 디테일 인핸스먼트(Detail Enhancement) 등의 이미지 처리 동작을 포함할 수 있다. 이러한 이미지 처리 동작들은 레시피 정보에 기반하여, 영상의 영역별로 수행될 수 있다.
전자 장치(210)는, 413 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 처리된 이미지를 적어도 하나의 메모리(219, 222, 254)에 저장할 수 있다. 전자 장치(210)는, 413 동작에서, 처리된 이미지는 JPEG 등의 인코딩 동작을 거쳐서, 전자 장치(210)의 적어도 하나 이상의 메모리(219, 222)에 저장될 수 있다. 또는, 전자 장치(210)는, 413 동작에서, 처리된 이미지를 클라우드 플랫폼(250)에 전송하면 클라우드 플랫폼(250)의 적어도 하나의 메모리(예, 이미지 저장소(254))에 저장될 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호하지 않다고 판단되거나 또는 통신 상태가 불량하다고 판단되면, 405 동작에서 415 동작으로 분기할 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호하지 않다고 판단되거나 또는 통신 상태가 불량하다고 판단되면, 전자 장치(210)는, 415 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 이미지에 대한 상황 정보에 따라 미리 준비된 레시피 정보를 선택할 수 있다.
전자 장치(210)는, 411 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 수신된 레시피 정보 또는 미리 준비된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하지 않다고 판단되거나 또는 통신 상태가 불량하다고 판단되면, 전자 장치(210)는, 411 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 미리 준비된 레시피 정보에 기반하여 획득한 이미지를 처리할 수 있다.
다양한 실시예에서, 전자 장치(210)의 ISP(215)는 미리 준비된 레시피 정보를 이용하여, 획득한 이미지(예, 원시 이미지)에 대한 다양한 이미지 처리를 수행할 수 있다.
다양한 실시예에서, 미리 준비된 레시피 정보는 여러 상황을 고려해서 전자 장치(210)에서 미리 설정된(pre-setting) 복수의 레시피 정보 중 하나일 수 있다. 전자 장치(210)는 현재 카메라 모듈(211)를 통해 획득되는 화면 또는 장면과, 오브젝트, 밝기와 색상 등이 유사 또는 동일하게 대응하는 레시피 정보를 미리 설정된(pre-setting) 복수의 레시피 정보 중 적어도 하나 이상을 미리 준비된 레시피 정보로 선택할 수 있다.
다양한 실시예에서, 미리 준비된 레시피 정보는 클라우드 플랫폼(250)으로부터 수신한 레시피 정보 중에서 현재 카메라 모듈(211)을 통해 화면 또는 장면을 획득하는 시점과 가깝게 수신된 레시피 정보일 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하지 않다고 판단되거나 또는 통신 상태가 불량하다고 판단되어, 전자 장치(210)가, 415 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 이미지에 대한 상황 정보에 따라 미리 준비된 레시피 정보를 선택하는 동작은 다음과 같다. 전자 장치(210)의 415 동작은 451 동작, 453 동작, 455 동작을 포함할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하지 않다고 판단되거나 또는 통신 상태가 불량하다고 판단되면, 전자 장치(210)는 451 동작에서, 이미지에 대한 상황 정보를 판단할 수 있다. 이미지에 대한 상황 정보는 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환일 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하지 않다고 판단되거나 또는 통신 상태가 불량하다고 판단되면, 전자 장치(210)는 451 동작에서, 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 있는지 여부를 판단할 수 있다. 전자 장치(210)가 화면 또는 장면의 전환이 있는지 여부는 판단하는 동작은 현재 획득되는 프레임과 이전 프레임을 비교하여, 미리 설정된 조건 이상으로 화면의 색상 또는 밝기가 변경되는 경우 화면 또는 장면의 전환이 있다고 판단하고, 미리 설정된 조건 이하로 화면의 색상 또는 밝기가 변경되는 경우 화면 또는 장면의 전환이 없다고 판단할 수 있다.
현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 있다고 판단되면, 전자 장치(210)는 451 동작에서, 453 동작으로 분기할 수 있다.
현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 있다고 판단되면, 전자 장치(210)는, 453 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 미리 설정된 복수의 레시피 정보 중 적어도 하나 이상의 레시피 정보를 선택할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 453 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면과, 오브젝트, 밝기와 색상 등이 유사 또는 동일하게 대응하는 레시피 정보를, 복수의 레시피 정보 중 적어도 하나 이상의 레시피 정보로 선택할 수 있다.
다양한 실시예에서, 전자 장치(210)가, 453 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 복수의 레시피 정보 중 하나 이상의 레시피 정보를 선택하는 동작은 다음과 같을 수 있다.
적어도 하나의 프로세서(213, 221)는 현재 카메라 모듈(211)을 통해 획득되는 프레임(frame)을 기반으로 이미지의 장면(scene) 분석을 수행하고, 분석된 장면에 기초하여 복수의 레시피 정보 중 하나 이상을 레시피 정보로 선택할 수 있다.
적어도 하나의 프로세서(213, 221)가 획득한 프레임을 기반으로 이미지의 장면을 분석하는 동작은, 적어도 하나의 프로세서(213, 221)가 이미지의 심도(depth)등을 분석하여, 분석된 심도를 이용하여 적어도 하나의 이미지 영역을 세그먼테이션(segmentation)하여 영역별 세그먼테이션 정보를 산출할 수 있다. 적어도 하나의 프로세서(213, 221)는 산출된 세그먼테이션 정보를 이용하여 장면 전체의 특징과 영역별 밝기 정보(예를 들어, ISO 정보, 조도 정보)를 산출할 수 있다.
적어도 하나의 프로세서(213, 221)는 산출된 밝기 정보와 장면 특징을 이용하여 세그먼테이션된 이미지의 영역별 파라미터 값을 결정할 수 있다.
적어도 하나의 프로세서(213, 221)는 산출된 밝기 정보, 장면 특징, 영역별 파라미터 값에 대응하는 레시피 정보를 메모리(219)에 저장된 복수의 레시피 정보로부터 선택할 수 있다.
적어도 하나의 프로세서(213, 221) 또는 ISP(215)는 산출된 밝기 정보, 장면 특징, 영역별 파라미터 값에 대응하여 선택된 레시피 정보를 이용하여 이미지를 처리할 수 있다.
현재 카메라 모듈(221)을 통해 획득되는 화면 또는 장면의 전환이 없다고 판단되면, 전자 장치(210)는 451 동작에서, 455 동작으로 분기할 수 있다.
현재 카메라 모듈(211) 통해 획득되는 화면 또는 장면의 전환이 없다고 판단되면, 전자 장치(210)는, 455 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 이전 프레임의 레시피 정보를 선택할 수 있다. 이전 프레임의 레시피 정보는 클라우드 플랫폼(250)으로부터 수신한 레시피 정보 중에서 현재 카메라 모듈(211)을 통해 화면 또는 장면을 획득하는 시점과 가깝게 수신된 레시피 정보일 수 있다.
453 동작에서 선택된 레시피 정보는 전자 장치(210)에서 산출, 생성된 레시피 정보이고, 409 동작에서 수신된 레시피 정보 및 455 동작에서 선택된 레시피 정보는 클라우드 플랫폼(250)에서 산출, 생성된 레시피 정보일 수 있다. 409 동작에서 수신된 레시피 정보는 실시간 또는 프레임 생성 주기에 따라서 플랫폼(250)으로부터 전자 장치(210)가 수신한 레시피 정보일 수 있고, 455 동작에서 선택된 레시피 정보는 이전 시간 또는 이전 프레임에서 플랫폼(250)으로부터 전자 장치(210)가 수신한 레시피 정보일 수 있다.
클라우드 플랫폼(250)에서 산출, 생성된 레시피 정보와 전자 장치(210)에서 산출, 생성된 레시피 정보를 비교하면 표 1과 같을 수 있다.
클라우드 플랫폼(250)에서 산출, 생성되는 레시피 정보 전자 장치(210)에서 산출, 생성되는 레시피 정보
세그먼테이션 지도(segmentation map)세그먼테이션 신뢰 지도(segmentation confidence map)심도 지도(depth map)심도 신뢰 지도(depth confidence map)장면 인식 정보(scene recognition)장면 파싱 정보(scene parsing)이미지 영역(region) 별 파라미터인식 정보(예, 사물, 인물, 텍스쳐) 세그먼테이션 지도(segmentation map)세그먼테이션 신뢰 지도(segmentation confidence map)심도 지도(depth map)심도 신뢰 지도(depth confidence map)이미지 영역(region) 별 파라미터인식 정보(인물)
클라우드 플랫폼(250)에서 산출, 생성된 레시피 정보와 전자 장치(210)에서 산출, 생성된 레시피 정보는 정확도 측면에서 차이가 있을 수 있다.도 5는 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
전자 장치(210)는, 501 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다.
전자 장치(210)는 카메라 기능이 실행되면, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다. 카메라 모듈(211)을 통해, 획득한 이미지에는 적어도 하나 이상의 오브젝트가 포함될 수 있다.
전자 장치(210)는, 503 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 획득한 이미지를 이용하여 소형 원시 이미지(small raw image, 예, 도 3의 스몰 로우 이미지(321))를 생성할 수 있다.
전자 장치(210)는 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
다양한 실시예에서, 전자 장치(210)는 소형 원시 이미지 생성부(217)를 이용하여 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 원시 이미지 압축부(218) 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
전자 장치(210)는, 505 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 전송을 시도하고, 전송 성공 여부를 판단할 수 있다.
전자 장치(210)는 소형 원시 이미지를 클라우드 플랫폼(250)으로 전송하는 것이 성공하면 505 동작에서 507 동작으로 분기할 수 있다.
전자 장치(210)는 소형 원시 이미지를 클라우드 플랫폼(250)으로 전송하는 것이 성공하지 못하면, 505 동작에서 513 동작으로 분기할 수 있다.
전자 장치(210)는, 507 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)으로부터 레시피 정보를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 수신을 시도하고, 일정 시간 동안 레시피 정보를 수신 시도하여, 수신 성공 여부를 판단할 수 있다.
전자 장치(210)는 레시피 정보를 클라우드 플랫폼(250)으로부터 수신하는 것이 성공하면 507 동작에서 509 동작으로 분기할 수 있다.
전자 장치(210)는 레시피 정보를 클라우드 플랫폼(250)으로부터 수신하는 것이 성공하지 못하면, 507 동작에서 513 동작으로 분기할 수 있다.
레시피 정보는 도 2의 레시피 정보, 또는 도 3에 언급된 보정 영역 정보(332)와 동일할 수 있다. 클라우드 플랫폼(250)은 소형 원시 이미지(예, 도 3의 스몰 로우 이미지(321))로부터 적어도 하나의 이미지 영역을 세그먼테이션할 수 있다. 클라우드 플랫폼(250)은 세그먼테이션 결과로 구분된 적어도 하나의 이미지 영역 각각을 인식할 수 있다. 클라우드 플랫폼(250)은 생성된 복수의 이미지 영역과 연관된 정보, 예를 들어 이미지 영역의 좌표 정보(벡터 정보), 세그먼트(segment) 정보, 레이어(layer) 정보, 인식 결과, 장면 카테고리 정보 중 적어도 하나를 포함하는 레시피 정보를 생성하고, 생성된 레시피 정보를 전자 장치(210)로 전송할 수 있다.
전자 장치(210)는, 509 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 수신된 레시피 정보 또는 미리 준비된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)으로부터 레시피 정보 수신에 성공하면, 전자 장치(210)는, 509 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 수신된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
전자 장치(210)의 ISP(215)는 수신된 레시피 정보(recipe)를 이용하여, 획득한 이미지(예, 원시 이미지)에 대한 다양한 영상 처리를 수행한다. 전자 장치(210)는 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하고, ISP(215)를 통해, 레시피 정보에 기반한 원시 이미지 처리를 수행할 수 있다.
이미지 처리는 화이트 밸런스(White Balance), 색 조정(Color Adjustment), 노이즈 제거(Noise Reduction), 샤픈 (Sharpen), 디테일 인핸스먼트(Detail Enhancement) 등의 이미지 처리 동작을 포함할 수 있다. 이러한 이미지 처리 동작들은 레시피 정보에 기반하여, 영상의 영역별로 수행될 수 있다.
전자 장치(210)는, 511 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 처리된 이미지를 적어도 하나의 메모리(219, 222, 254)에 저장할 수 있다. 전자 장치(210)는, 511 동작에서, 처리된 이미지는 JPEG 등의 인코딩 동작을 거쳐서, 전자 장치(210)의 적어도 하나 이상의 메모리(219, 222)에 저장될 수 있다. 또는, 전자 장치(210)는, 511 동작에서, 처리된 이미지를 클라우드 플랫폼(250)에 전송하면 클라우드 플랫폼(250)의 적어도 하나의 메모리(예, 이미지 저장소(254))에 저장될 수 있다.
전자 장치(210)가 클라우드 플랫폼(250)으로 소형 원시 이미지를 전송하지 못하거나 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하지 못하면, 전자 장치(210)는, 513 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 이미지에 대한 상황 정보에 따라서 미리 준비된 레시피 정보를 선택할 수 있다.
전자 장치(210)는, 509 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 수신된 레시피 정보 또는 미리 준비된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
다양한 실시예에서, 전자 장치(210)가 클라우드 플랫폼(250)으로 소형 원시 이미지를 전송하지 못하거나 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하지 못하면, 전자 장치(210)는, 509 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 미리 준비된 레시피 정보에 기반하여 획득한 이미지를 처리할 수 있다.
다양한 실시예에서, 전자 장치(210)의 ISP(215)는 미리 준비된 레시피 정보를 이용하여, 획득한 이미지(예, 원시 이미지)에 대한 다양한 이미지 처리를 수행할 수 있다.
다양한 실시예에서, 미리 준비된 레시피 정보는 여러 상황을 고려해서 전자 장치(210)에서 미리 설정된(pre-setting) 복수의 레시피 정보 중 하나일 수 있다. 전자 장치(210)는 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면과, 오브젝트, 밝기와 색상 등이 유사 또는 동일하게 대응하는 레시피 정보를 미리 설정된(pre-setting) 복수의 레시피 정보 중 적어도 하나 이상을 미리 준비된 레시피 정보로 선택할 수 있다.
다양한 실시예에서, 미리 준비된 레시피 정보는 클라우드 플랫폼(250)으로부터 수신한 레시피 정보 중에서 현재 카메라 모듈(211)을 통해 화면 또는 장면을 획득하는 시점과 가깝게 수신된 레시피 정보일 수 있다.
다양한 실시예에서, 전자 장치(210)가 클라우드 플랫폼(250)으로 소형 원시 이미지를 전송하지 못하거나 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하지 못한 경우, 전자 장치(210)가, 513 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 이미지에 대한 상황 정보에 따라 미리 준비된 레시피 정보를 선택하는 동작은 다음과 같다. 전자 장치(210)의 513 동작은 531 동작, 533 동작, 535 동작을 포함할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하지 않다고 판단되거나 또는 통신 상태가 불량하다고 판단되면, 전자 장치(210)는 531 동작에서, 이미지에 대한 상황 정보를 판단할 수 있다. 이미지에 대한 상황 정보는 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환일 수 있다.
다양한 실시예에서, 전자 장치(210)가 클라우드 플랫폼(250)으로 소형 원시 이미지를 전송하지 못하거나 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하지 못하면, 전자 장치(210)는 531 동작에서, 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 있는지 여부를 판단할 수 있다. 전자 장치(210)가 화면 또는 장면의 전환이 있는지 여부는 판단하는 동작은 현재 획득되는 프레임과 이전 프레임을 비교하여, 미리 설정된 조건 이상으로 화면의 색상 또는 밝기가 변경되는 경우 화면 또는 장면의 전환이 있다고 판단하고, 미리 설정된 조건 이하로 화면의 색상 또는 밝기가 변경되는 경우 화면 또는 장면의 전환이 없다고 판단할 수 있다.
현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 있다고 판단되면, 전자 장치(210)는 531 동작에서, 533 동작으로 분기할 수 있다.
현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 있다고 판단되면, 전자 장치(210)는, 533 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 미리 설정된 복수의 레시피 정보 중 적어도 하나 이상의 레시피 정보를 선택할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 533 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면과, 오브젝트, 밝기와 색상 등이 유사 또는 동일하게 대응하는 레시피 정보를, 복수의 레시피 정보 중 적어도 하나 이상의 레시피 정보로 선택할 수 있다.
다양한 실시예에서, 전자 장치(210)가, 533 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 복수의 레시피 정보 중 하나 이상의 레시피 정보를 선택하는 동작은 다음과 같을 수 있다.
적어도 하나의 프로세서(213, 221)는 현재 카메라 모듈(211)을 통해 획득되는 프레임(frame)을 기반으로 이미지의 장면(scene) 분석을 수행하고, 분석된 장면에 기초하여 복수의 레시피 정보 중 하나 이상을 레시피 정보로 선택할 수 있다.
적어도 하나의 프로세서(213, 221)가 획득한 프레임을 기반으로 이미지의 장면을 분석하는 동작은, 적어도 하나의 프로세서(213, 221)가 이미지의 심도(depth)등을 분석하여, 분석된 심도를 이용하여 적어도 하나의 이미지 영역을 세그먼테이션(segmentation)하여 영역별 세그먼테이션 정보를 산출할 수 있다. 적어도 하나의 프로세서(213, 221)는 산출된 세그먼테이션 정보를 이용하여 장면 전체의 특징과 영역별 밝기 정보(예를 들어, ISO 정보, 조도 정보)를 산출할 수 있다.
적어도 하나의 프로세서(213, 221)는 산출된 밝기 정보와 장면 특징을 이용하여 세그먼테이션된 이미지의 영역별 파라미터 값을 결정할 수 있다.
적어도 하나의 프로세서(213, 221)는 산출된 밝기 정보, 장면 특징, 영역별 파라미터 값에 대응하는 레시피 정보를 메모리(219)에 저장된 복수의 레시피 정보로부터 선택할 수 있다.
적어도 하나의 프로세서(213, 221) 또는 ISP(215)는 산출된 밝기 정보, 장면 특징, 영역별 파라미터 값에 대응하여 선택된 레시피 정보를 이용하여 이미지를 처리할 수 있다.
현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 없다고 판단되면, 전자 장치(210)는 531 동작에서, 535 동작으로 분기할 수 있다.
현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 없다고 판단되면, 전자 장치(210)는, 535 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 이전 프레임의 레시피 정보를 선택할 수 있다. 이전 프레임의 레시피 정보는 클라우드 플랫폼(250)으로부터 수신한 레시피 정보 중에서 현재 카메라 모듈(211)을 통해 화면 또는 장면을 획득하는 시점과 가깝게 수신된 레시피 정보일 수 있다.
535 동작에서 선택된 레시피 정보는 전자 장치(210)에서 산출, 생성된 레시피 정보이고, 507 동작에서 수신된 레시피 정보 및 535 동작에서 선택된 레시피 정보는 클라우드 플랫폼(250)에서 산출, 생성된 레시피 정보일 수 있다. 507 동작에서 수신된 레시피 정보는 실시간 또는 프레임 생성 주기에 따라서 플랫폼(250)으로부터 전자 장치(210)가 수신한 레시피 정보일 수 있고, 535 동작에서 선택된 레시피 정보는 이전 시간 또는 이전 프레임에서 플랫폼(250)으로부터 전자 장치(210)가 수신한 레시피 정보일 수 있다.
도 6은 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
전자 장치(210)는, 601 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다.
전자 장치(210)는 카메라 기능이 실행되면, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다. 카메라 모듈(211)을 통해, 획득한 이미지에는 적어도 하나 이상의 오브젝트가 포함될 수 있다.
전자 장치(210)는, 603 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 획득한 이미지를 이용하여 소형 원시 이미지(small raw image, 예, 도 3의 스몰 로우 이미지(321))를 생성할 수 있다.
전자 장치(210)는 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
다양한 실시예에서, 전자 장치(210)는 소형 원시 이미지 생성부(217)를 이용하여 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 원시 이미지 압축부(218) 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
전자 장치(210)는, 605 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 통신 연결 상태를 예측하고, 통신 연결이 양호할지 여부를 예측할 수 있다.
전자 장치(210)는, 605 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)과 통신 연결 상태가 양호한지 여부를 예측하는 동작은 소원 원시 이미지를 전송이 가능한 환경인지 여부를 판단 하는 동작일 수 있고, 가능한 환경 인지은 통신 처리율이 지정된 수준(예: upload 50 Mbps 이상인 연결 상황)인지를 판단하는 동작일 수 있다.
예를 들면, 통신망의 연결 상태가 3G 환경에 연결된 상태 또는 4G or 5G 환경에서 속도가 제한된 연결 상태 등 이라면 소형 원시 이미지를 클라우드 플랫폼(250)에 전송하기가 상당히 제약이 되며, 통신은 연결되어 있지만 원시 이미지 전송 불가 환경으로 판단할 수 있다.
통신 연결이 양호할 것으로 예측되면, 605 동작에서 607 동작으로 분기할 수 있다. 통신 연결이 불량할 것으로 예측되면, 605 동작에서 615 동작으로 분기할 수 있다.
다양한 실시예에서, 전자 장치(210)가 605 동작에서, 클라우드 플랫폼(250)과 통신 연결 상태가 양호할지 여부를 예측하는 동작은 다음과 같다.
예를 들어, 무선 연결을 관리하는 연결 매니저(connection manager)로부터 현재 연결 중이거나 연결 예정인 통신 채널의 연결 상태에 관한 정보를 적어도 하나의 프로세서(213, 221)에 전달하면, 적어도 하나의 프로세서(213, 221)는 통신 채널의 연결 상태에 관한 정보를 이용하여 클라우드 플랫폼(250)과 통신 상태가 양호할지 여부를 예측할 수 있다.
통신 채널의 연결 상태에 관한 정보는 통신 송수신 처리율, 통신 신호 강도, 기지국 내의 다른 통신 장치의 통신량에 관한 정보 중 적어도 하나 이상을 포함할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 송수신 처리율 이상으로 통신 송수신 처리율이 높다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호할 것으로 예측할 수 있고, 통신 송수신 처리율이 미리 설정된 송수신 처리율 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않을 것으로 예측할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 신호 강도 이상으로 통신 신호 강도가 좋다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호할 것으로 예측할 수 있고, 통신 신호 강도가 미리 설정된 신호 강도 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않을 것으로 예측할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 다른 통신 장치의 통신량이 미리 설정된 통신량 이하면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호할 것으로 예측할 수 있고, 다른 통신 장치의 통신량이 미리 설정된 통신량 이상이면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않을 것으로 예측할 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호할 것으로 예측되면, 전자 장치(210)는, 607 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 제 1 주기로 전송할 수 있다.
전자 장치(210)는, 609 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)으로부터 레시피 정보를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 제 2 주기로 수신할 수 있다. 제 1 주기와 제 2 주기는 동일할 수 있다.
전자 장치(210)는, 611 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 2 주기로 수신된 레시피 정보 또는 제 4 주기로 수신된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호할 것으로 예측되면, 전자 장치(210)는, 611 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 2 수신된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
전자 장치(210)의 ISP(215)는 제 2 주기 또는 제 4 주기로 수신된 레시피 정보(recipe)를 이용하여, 획득한 이미지(예, 원시 이미지)에 대한 다양한 영상 처리를 수행한다. 전자 장치(210)는 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하고, ISP(215)를 통해, 레시피 정보에 기반한 원시 이미지 처리를 수행할 수 있다.
이미지 처리는 화이트 밸런스(White Balance), 색 조정(Color Adjustment), 노이즈 제거(Noise Reduction), 샤픈 (Sharpen), 디테일 인핸스먼트(Detail Enhancement) 등의 이미지 처리 동작을 포함할 수 있다. 이러한 이미지 처리 동작들은 레시피 정보에 기반하여, 영상의 영역별로 수행될 수 있다.
전자 장치(210)는, 613 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 처리된 이미지를 적어도 하나의 메모리(219, 222, 254)에 저장할 수 있다. 전자 장치(210)는, 613 동작에서, 처리된 이미지는 JPEG 등의 인코딩 동작을 거쳐서, 전자 장치(210)의 적어도 하나 이상의 메모리(219, 222)에 저장될 수 있다. 또는, 전자 장치(210)는, 613 동작에서, 처리된 이미지를 클라우드 플랫폼(250)에 전송하면 클라우드 플랫폼(250)의 적어도 하나의 메모리(예, 이미지 저장소(254))에 저장될 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호하지 않을 것으로 예측되면, 605 동작에서 615 동작으로 분기할 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호하지 않을 것으로 예측되면, 전자 장치(210)는, 615 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 제 3 주기로 전송할 수 있다. 제 1 주기와 제 3 주기는 서로 다를 수 있고, 제 1 주기보다 제 3 주기는 더 짧을 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하지 않을 것으로 예측되면, 전자 장치(210)는, 615 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)과의 통신 상태가 양호할 것으로 예측될 때보다 빠른 주기로 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 전송할 수 있다.
전자 장치(210)는, 617 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)으로부터 레시피 정보를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 제 4 주기로 수신할 수 있다. 제 3 주기와 제 4 주기는 동일할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하지 않을 것으로 예측되면, 전자 장치(210)는, 617 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)과의 통신 상태가 양호할 것으로 예측될 때보다 빠른 주기로 클라우드 플랫폼(250)으로부터 레시피 정보를 수신할 수 있다.
전자 장치(210)는, 611 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 2 주기로 수신된 레시피 정보 또는 제 4 주기로 수신된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
도 7은 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
전자 장치(210)는, 701 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다.
전자 장치(210)는 카메라 기능이 실행되면, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다. 카메라 모듈(211)을 통해, 획득한 이미지에는 적어도 하나 이상의 오브젝트가 포함될 수 있다.
전자 장치(210)는, 703 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 획득한 이미지를 이용하여 소형 원시 이미지(small raw image, 예, 도 3의 스몰 로우 이미지(321))를 생성할 수 있다.
전자 장치(210)는 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
다양한 실시예에서, 전자 장치(210)는 소형 원시 이미지 생성부(217)를 이용하여 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 원시 이미지 압축부(218) 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
전자 장치(210)는, 705 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 통신 연결 상태를 예측하거나 또는 통신 연결 상태를 확인할 수 있다.
전자 장치(210)는, 705 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)과 통신 연결 상태가 양호한지 여부를 예측하는 동작은 소원 원시 이미지를 전송이 가능한 환경인지 여부를 판단 하는 동작일 수 있고, 가능한 환경 인지은 통신 처리율이 지정된 수준(예: upload 50 Mbps 이상인 연결 상황)인지를 판단하는 동작일 수 있다.
예를 들면, 통신망의 연결 상태가 3G 환경에 연결된 상태 또는 4G or 5G 환경에서 속도가 제한된 연결 상태 등 이라면 소형 원시 이미지를 클라우드 플랫폼(250)에 전송하기가 상당히 제약이 되며, 통신은 연결되어 있지만 원시 이미지 전송 불가 환경으로 판단할 수 있다.
다양한 실시예에서, 전자 장치(210)가 705 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)과 통신 연결 상태가 양호할지 여부를 예측하는 동작은 다음과 같다.
예를 들어, 무선 연결을 관리하는 연결 매니저(connection manager)로부터 현재 연결 중이거나 연결 예정인 통신 채널의 연결 상태에 관한 정보를 적어도 하나의 프로세서(213, 221)에 전달하면, 적어도 하나의 프로세서(213, 221)는 통신 채널의 연결 상태에 관한 정보를 이용하여 클라우드 플랫폼(250)과 통신 상태가 양호할지 여부를 예측할 수 있다.
통신 채널의 연결 상태에 관한 정보는 통신 송수신 처리율, 통신 신호 강도, 기지국 내의 다른 통신 장치의 통신량에 관한 정보 중 적어도 하나 이상을 포함할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 송수신 처리율 이상으로 통신 송수신 처리율이 높다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호할 것으로 예측할 수 있고, 통신 송수신 처리율이 미리 설정된 송수신 처리율 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않을 것으로 예측할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 신호 강도 이상으로 통신 신호 강도가 좋다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호할 것으로 예측할 수 있고, 통신 신호 강도가 미리 설정된 신호 강도 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않을 것으로 예측할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 다른 통신 장치의 통신량이 미리 설정된 통신량 이하면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호할 것으로 예측할 수 있고, 다른 통신 장치의 통신량이 미리 설정된 통신량 이상이면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않을 것으로 예측할 수 있다.
다양한 실시예에서, 전자 장치(210)가 705 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)과 통신 연결 상태가 양호한지 여부를 확인하는 동작은 다음과 같다.
예를 들어, 무선 연결을 관리하는 연결 매니저(connection manager)로부터 현재 연결 중이거나 연결 예정인 통신 채널의 연결 상태에 관한 정보를 적어도 하나의 프로세서(213, 221)에 전달하면, 적어도 하나의 프로세서(213, 221)는 통신 채널의 연결 상태에 관한 정보를 이용하여 클라우드 플랫폼(250)과 통신 상태가 양호한지 여부를 확인할 수 있다.
통신 채널의 연결 상태에 관한 정보는 통신 송수신 처리율, 통신 신호 강도, 기지국 내의 다른 통신 장치의 통신량에 관한 정보 중 적어도 하나 이상을 포함할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 송수신 처리율 이상으로 통신 송수신 처리율이 높다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하다고 확인할 수 있고, 통신 송수신 처리율이 미리 설정된 송수신 처리율 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않다고 확인할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 신호 강도 이상으로 통신 신호 강도가 좋다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하다고 확인할 수 있고, 통신 신호 강도가 미리 설정된 신호 강도 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않다고 확인할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 다른 통신 장치의 통신량이 미리 설정된 통신량 이하면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하다고 확인할 수 있고, 다른 통신 장치의 통신량이 미리 설정된 통신량 이상이면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않다고 확인할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 707 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 통신 연결 상태를 예측하거나 또는 통신 연결 상태를 확인한 결과에 따라서 통신 채널 변경 여부를 결정할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 707 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 통신 연결 상태가 불량하다고 예측되거나 또는 통신 연결 상태를 확인한 결과 통신 연결 상태가 불량하다고 판단되면 통신 채널 변경 할 수 있다. 통신 채널이 변경되면, 707 동작에서 709 동작으로 분기할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 707 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 통신 연결 상태가 양호하다고 예측되거나 또는 통신 연결 상태를 확인한 결과 통신 연결 상태가 양호하다고 판단되면 통신 채널 변경하지 않을 수 있다. 통신 채널이 변경되지 않으면, 707 동작에서 717 동작으로 분기할 수 있다.
통신 채널이 변경되면, 전자 장치(210)는, 709 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 변경된 통신 채널을 이용하여 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 전송할 수 있다. 변경된 통신 채널은 제 1 통신 채널일 수 있고, 와이파이 또는 WLAN 통신 채널일 수 있다.
통신 채널이 변경되면, 전자 장치(210)는, 711 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 변경된 통신 채널을 이용하여 클라우드 플랫폼(250)으로부터 레시피 정보를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 수신할 수 있다.
통신 채널이 변경되지 않으면, 전자 장치(210)는, 717 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 원래 통신 채널을 이용하여 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 전송할 수 있다. 원래 통신 채널은 제 2 통신 채널일 수 있고, LTE 채널 또는 WWAN 통신 채널일 수 있다.
통신 채널이 변경되지 않으면, 전자 장치(210)는, 719 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 원래 통신 채널을 이용하여 클라우드 플랫폼(250)으로부터 레시피 정보를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 수신할 수 있다.
전자 장치(210)는, 713 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 변경된 통신 채널(예, 제 1 통신 채널(와이파이 통신 채널 또는 WLAN 통신 채널))을 통해 수신된 레시피 정보 또는 원래 통신 채널(예, 제 2 통신 채널(LTE 통신 채널 또는 WWAN 통신 채널))을 통해 수신된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
전자 장치(210)의 ISP(215)는 수신된 레시피 정보(recipe)를 이용하여, 획득한 이미지(예, 원시 이미지)에 대한 다양한 영상 처리를 수행한다. 전자 장치(210)는 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하고, ISP(215)를 통해, 레시피 정보에 기반한 원시 이미지 처리를 수행할 수 있다.
이미지 처리는 화이트 밸런스(White Balance), 색 조정(Color Adjustment), 노이즈 제거(Noise Reduction), 샤픈 (Sharpen), 디테일 인핸스먼트(Detail Enhancement) 등의 이미지 처리 동작을 포함할 수 있다. 이러한 이미지 처리 동작들은 레시피 정보에 기반하여, 영상의 영역별로 수행될 수 있다.
전자 장치(210)는, 715 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 처리된 이미지를 적어도 하나의 메모리(219, 222, 254)에 저장할 수 있다. 전자 장치(210)는, 715 동작에서, 처리된 이미지는 JPEG 등의 인코딩 동작을 거쳐서, 전자 장치(210)의 적어도 하나 이상의 메모리(219, 222)에 저장될 수 있다. 또는, 전자 장치(210)는, 715 동작에서, 처리된 이미지를 클라우드 플랫폼(250)에 전송하면 클라우드 플랫폼(250)의 적어도 하나의 메모리(예, 이미지 저장소(254))에 저장될 수 있다.
도 8은 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
전자 장치(210)는, 801 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다.
전자 장치(210)는 카메라 기능이 실행되면, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다. 카메라 모듈(211)을 통해, 획득한 이미지에는 적어도 하나 이상의 오브젝트가 포함될 수 있다.
전자 장치(210)는, 803 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 획득한 이미지를 이용하여 소형 원시 이미지(small raw image, 예, 도 3의 스몰 로우 이미지(321))를 생성할 수 있다.
전자 장치(210)는 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
다양한 실시예에서, 전자 장치(210)는 소형 원시 이미지 생성부(217)를 이용하여 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 원시 이미지 압축부(218) 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
전자 장치(210)는, 805 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 통신 연결 상태를 예측하고, 통신 연결이 양호할지 여부를 예측할 수 있다.
전자 장치(210)는, 805 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)과 통신 연결 상태가 양호한지 여부를 예측하는 동작은 소원 원시 이미지를 전송이 가능한 환경인지 여부를 판단 하는 동작일 수 있고, 가능한 환경 인지은 통신 처리율이 지정된 수준(예: upload 50 Mbps 이상인 연결 상황)인지를 판단하는 동작일 수 있다.
예를 들면, 통신망의 연결 상태가 3G 환경에 연결된 상태 또는 4G or 5G 환경에서 속도가 제한된 연결 상태 등 이라면 소형 원시 이미지를 클라우드 플랫폼(250)에 전송하기가 상당히 제약이 되며, 통신은 연결되어 있지만 원시 이미지 전송 불가 환경으로 판단할 수 있다.
통신 연결이 양호할 것으로 예측되면, 805 동작에서 807 동작으로 분기할 수 있다. 통신 연결이 불량할 것으로 예측되면, 805 동작에서 815 동작으로 분기할 수 있다.
다양한 실시예에서, 전자 장치(210)가 805 동작에서, 클라우드 플랫폼(250)과 통신 연결 상태가 양호할지 여부를 예측하는 동작은 다음과 같다.
예를 들어, 무선 연결을 관리하는 연결 매니저(connection manager)로부터 현재 연결 중이거나 연결 예정인 통신 채널의 연결 상태에 관한 정보를 적어도 하나의 프로세서(213, 221)에 전달하면, 적어도 하나의 프로세서(213, 221)는 통신 채널의 연결 상태에 관한 정보를 이용하여 클라우드 플랫폼(250)과 통신 상태가 양호할지 여부를 예측할 수 있다.
통신 채널의 연결 상태에 관한 정보는 통신 송수신 처리율, 통신 신호 강도, 기지국 내의 다른 통신 장치의 통신량에 관한 정보 중 적어도 하나 이상을 포함할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 송수신 처리율 이상으로 통신 송수신 처리율이 높다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호할 것으로 예측할 수 있고, 통신 송수신 처리율이 미리 설정된 송수신 처리율 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않을 것으로 예측할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 신호 강도 이상으로 통신 신호 강도가 좋다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호할 것으로 예측할 수 있고, 통신 신호 강도가 미리 설정된 신호 강도 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않을 것으로 예측할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 다른 통신 장치의 통신량이 미리 설정된 통신량 이하면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호할 것으로 예측할 수 있고, 다른 통신 장치의 통신량이 미리 설정된 통신량 이상이면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않을 것으로 예측할 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호할 것으로 예측되면, 전자 장치(210)는, 807 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 주기적으로 전송할 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호할 것으로 예측되면, 전자 장치(210)는, 809 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)으로부터 레시피 정보를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 주기적으로 수신할 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호하지 않을 것으로 예측되면, 805 동작에서 815 동작으로 분기할 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호하지 않을 것으로 예측되면, 전자 장치(210)는, 815 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 미리 정해진 시간까지 전송할 수 있다. 미리 정해진 시간은 통신 상태가 나빠질 것으로 예측되는 시점일 수 있다.
클라우드 플랫폼(250)과의 통신 상태가 양호하지 않을 것으로 예측되면, 전자 장치(210)는, 817 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)으로부터 레시피 정보를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 미리 정해진 시간까지 수신할 수 있다. 미리 정해진 시간은 통신 상태가 나빠질 것으로 예측되는 시점일 수 있다.
전자 장치(210)는, 811 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 주기적으로 수신된 레시피 정보 또는 미리 정해진 시간까지 수신된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호할 것으로 예측되면, 전자 장치(210)는, 811 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 주기적으로 수신된 레시피 정보를 이용하여 획득한 이미지를 처리할 수 있다.
전자 장치(210)의 ISP(215)는 주기적 또는 미리 정해진 시간까지 수신된 레시피 정보(recipe)를 이용하여, 획득한 이미지(예, 원시 이미지)에 대한 다양한 영상 처리를 수행한다. 전자 장치(210)는 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하고, ISP(215)를 통해, 레시피 정보에 기반한 원시 이미지 처리를 수행할 수 있다.
이미지 처리는 화이트 밸런스(White Balance), 색 조정(Color Adjustment), 노이즈 제거(Noise Reduction), 샤픈 (Sharpen), 디테일 인핸스먼트(Detail Enhancement) 등의 이미지 처리 동작을 포함할 수 있다. 이러한 이미지 처리 동작들은 레시피 정보에 기반하여, 영상의 영역별로 수행될 수 있다.
전자 장치(210)는, 813 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 처리된 이미지를 적어도 하나의 메모리(219, 222, 254)에 저장할 수 있다. 전자 장치(210)는, 813 동작에서, 처리된 이미지는 JPEG 등의 인코딩 동작을 거쳐서, 전자 장치(210)의 적어도 하나 이상의 메모리(219, 222)에 저장될 수 있다. 또는, 전자 장치(210)는, 813 동작에서, 처리된 이미지를 클라우드 플랫폼(250)에 전송하면 클라우드 플랫폼(250)의 적어도 하나의 메모리(예, 이미지 저장소(254))에 저장될 수 있다.
도 9는 본 발명의 다양한 실시예에 따른 카메라 앱 아이콘(camera APP icon) 표시 동작을 나타내는 순서도이다.
전자 장치(210)는, 901 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 1 이미지를 포함하는 카메라 앱 아이콘을 홈 스크린(home screen) 상에 표시할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 901 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 1 이미지를 포함하는 카메라 앱 아이콘을 홈 스크린(home screen) 상에 표시하도록 디스플레이(220)를 제어할 수 있다. 예를 들어, 제 1 이미지는 카메라와 관련된 이미지를 포함할 수 있다.
전자 장치(210)는, 903 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화 되었는지 여부를 판단할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 903 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화하는 동작은, 예를 들어, 사용자 입력에 따라 클라우드 플랫폼(250) 기반 촬영을 활성화하는 동작일 수 있다.
다양한 실시예에서, 전자 장치(210)는, 903 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화하는 동작은, 예를 들어, 클라우드 플랫폼(250)과의 통신 상태에 따라서 자동으로 활성화하는 동작일 수 있다.
전자 장치(210)는, 903 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되지 않았다고 판단되면, 901 동작으로 분기할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 903 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 비활성화되었다고 판단되면, 901 동작으로 분기할 수 있다.
전자 장치(210)는, 903 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었다고 판단되면, 905 동작으로 분기할 수 있다.
클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었다고 판단되면, 전자 장치(210)는, 905 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 2 이미지를 포함하는 카메라 앱 아이콘을 홈스크린 상에 표시할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었다고 판단되면, 전자 장치(210)는, 905 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 2 이미지를 포함하는 카메라 앱 아이콘을 홈스크린 상에 표시하도록 디스플레이(220)를 제어할 수 있다. 제 2 이미지는 제 1 이미지를 포함하고, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었음을 나타내는 이미지를 더 포함할 수 있다. 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었음을 나타내는 이미지를 더 포함하기 위해, 제 2 이미지에는 구름과 관련된 이미지, 통신 안테나와 관련된 이미지를 포함할 수 있다.
도 10은 본 발명의 다양한 실시예에 따른 카메라 라이브 뷰(live view)표시 동작을 나타내는 순서도이다.
전자 장치(210)는, 1001 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 카메라 기능을 실행할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 1001 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 사용자 입력에 따라 카메라 기능을 실행할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 1001 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 홈스크린 상에 표시된 카메라 앱 아이콘에 대한 사용자 입력을 수신하면 카메라 기능을 실행할 수 있다.
전자 장치(210)는, 1003 동작에서, 카메라 기능이 실행되면, 적어도 하나의 프로세서(213, 221) 제어 하에, 라이브 뷰와 제 1 이미지 세트를 포함하는 카메라 복수의 아이콘을 디스플레이(220) 상에 표시할 수 있다.
다양한 실시예에서, 1003 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 전자 장치(210)가 라이브 뷰와 제 1 이미지 세트를 포함하는 카메라 복수의 아이콘을 디스플레이(220) 상에 표시하는 동작은 라이브 뷰 상에 제 1 이미지 세트를 포함하는 카메라 복수의 아이콘을 오버레이 하여 표시하거나 반투명 또는 투명하게 표시하는 동작일 수 있다.
제 1 이미지 세트는 촬영 버튼, 이전 촬영 결과에 관한 썸네일 이미지 또는 이전 촬영 결과에 관한 썸네일 이미지 퀵 뷰(quick view)이미지 중 적어도 하나 이상을 포함할 수 있다. 라이브 뷰는 현재 카메라 모듈(211)을 통해 촬영 중인 배경 화면일 수 있다.
전자 장치(210)는, 1005 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화 되었는지 여부를 판단할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 1005 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화하는 동작은, 예를 들어, 사용자 입력에 따라 클라우드 플랫폼(250) 기반 촬영을 활성화하는 동작일 수 있다.
다양한 실시예에서, 전자 장치(210)는, 1005 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화하는 동작은, 예를 들어, 클라우드 플랫폼(250)과의 통신 상태에 따라서 자동으로 활성화하는 동작일 수 있다.
전자 장치(210)는, 1005 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되지 않았다고 판단되면, 1003 동작으로 분기할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 1005 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 비활성화되었다고 판단되면, 1003 동작으로 분기할 수 있다.
전자 장치(210)는, 1005 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었다고 판단되면, 1007 동작으로 분기할 수 있다.
클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었다고 판단되면, 전자 장치(210)는, 1007 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 라이브 뷰와 제 2 이미지 세트를 포함하는 카메라 복수의 아이콘을 디스플레이(220) 상에 표시하는 동작은 라이브 뷰 상에 제 2 이미지 세트를 포함하는 카메라 복수의 아이콘을 오버레이 하여 표시하거나 반투명 또는 투명하게 표시하는 동작일 수 있다. 1007 동작에서 표시되는 라이브 뷰는 클라우드 플랫폼(250)으로부터 전달받은 레시피 정보가 반영될 수 있다.
제 2 이미지 세트는 촬영 버튼, 이전 촬영 결과에 관한 썸네일 이미지 또는 이전 촬영 결과에 관한 썸네일 이미지 퀵 뷰(quick view)이미지, 또는 통신 상태에 관한 이미지 중 적어도 하나 이상을 포함할 수 있다. 라이브 뷰는 현재 카메라 모듈(211)을 통해 촬영 중인 배경 화면일 수 있다. 제 2 이미지 세트에 포함된 촬영 버튼, 이전 촬영 결과에 관한 썸네일 이미지 또는 이전 촬영 결과에 관한 퀵 뷰(quick view)이미지, 또는 통신 상태에 관한 이미지는 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었음을 나타내는 이미지를 더 포함할 수 있다. 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었음을 나타내는 이미지를 더 포함하기 위해, 제 2 이미지 세트에는 구름과 관련된 이미지, 통신 안테나와 관련된 이미지를 포함할 수 있다.
도 11은 본 발명의 다양한 실시예에 따른 레시피 정보 선택 동작을 나타내는 블록도이다.
제 1 레시피 정보는 클라우드 플랫폼(250)으로부터 수신한 레시피 정보이고, 제 2 레시피 정보는 전자 장치(210)로부터 선택된 레시피 정보일 수 있다.
레시피 정보 선택부(1110)는 적어도 하나의 프로세서(213, 221)일 수 있다.
레시피 정보 선택부(1110)는 장면 전환을 조건으로 하여 제 1 레시피 정보 또는 제 2 레시피 정보를 선택하여 ISP(215)로 선택된 레시피 정보를 전송할 수 있다. ISP(215)는 선택된 레시피 정보에 따라 이미지를 처리할 수 있다.
도 12는 본 발명의 다양한 실시예에 따른 도 10의 클라우드 플랫폼(250)을 기반으로 하는 촬영이 비활성화되었다고 판단되는 경우의 카메라 라이브 뷰(live view)표시 동작을 나타내는 도면이다.
전자 장치(210)는 카메라 기능이 실행되면, 적어도 하나의 프로세서(213, 221) 제어 하에, 라이브 뷰(1210)와 제 1 이미지 세트를 포함하는 카메라 복수의 아이콘(1220, 1230)을 디스플레이(220) 상에 표시할 수 있다.
다양한 실시예에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 전자 장치(210)가 라이브 뷰(1210)와 제 1 이미지 세트를 포함하는 카메라 복수의 아이콘(1220, 1230)을 디스플레이(220) 상에 표시하는 동작은 라이브 뷰(1210) 상에 제 1 이미지 세트를 포함하는 카메라 복수의 아이콘(1220, 1230)을 오버레이 하여 표시하거나 반투명 또는 투명하게 표시하는 동작일 수 있다.
제 1 이미지 세트는 촬영 버튼(1220), 이전 촬영 결과에 관한 썸네일 이미지(1230) 또는 이전 촬영 결과에 관한 퀵 뷰(quick view)이미지(1230) 중 적어도 하나 이상을 포함할 수 있다. 라이브 뷰(1210)는 현재 카메라 모듈(211)을 통해 촬영 중인 배경 화면일 수 있다.
도 13은 본 발명의 다양한 실시예에 따른 도 10의 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었다고 판단되는 경우의 카메라 라이브 뷰(live view)표시 동작을 나타내는 도면이다.
전자 장치(210)는 카메라 기능이 실행되면, 적어도 하나의 프로세서(213, 221) 제어 하에, 라이브 뷰(1310)와 제 2 이미지 세트를 포함하는 카메라 복수의 아이콘(1320, 1330, 1340)을 디스플레이(220) 상에 표시할 수 있다.
다양한 실시예에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 전자 장치(210)가 라이브 뷰(1310)와 제 2 이미지 세트를 포함하는 카메라 복수의 아이콘(1320, 1330, 1340)을 디스플레이(220) 상에 표시하는 동작은 라이브 뷰(1310) 상에 제 2 이미지 세트를 포함하는 카메라 복수의 아이콘(1320, 1330, 1340)을 오버레이 하여 표시하거나 반투명 또는 투명하게 표시하는 동작일 수 있다.
제 2 이미지 세트는 촬영 버튼(1320), 이전 촬영 결과에 관한 썸네일 이미지(1230) 또는 이전 촬영 결과에 관한 썸네일 이미지 퀵 뷰(quick view)이미지 (1230), 또는 통신 상태에 관한 이미지(1340) 중 적어도 하나 이상을 포함할 수 있다. 라이브 뷰(1310)는 클라우드 플랫폼(250)으로부터 전달받은 레시피 정보가 반영될 수 있다. 라이브 뷰(1310)는 현재 카메라 모듈(211)을 통해 촬영 중인 배경 화면일 수 있다. 제 2 이미지 세트에 포함된 촬영 버튼(1320), 이전 촬영 결과에 관한 썸네일 이미지(1330) 또는 이전 촬영 결과에 관한 퀵 뷰(quick view)이미지(1330), 또는 통신 상태에 관한 이미지(1340)는 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었음을 나타내는 이미지를 더 포함할 수 있다. 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었음을 나타내는 이미지를 더 포함하기 위해, 제 2 이미지 세트에는 구름과 관련된 이미지(예, 1331), 통신 안테나와 관련된 이미지(1340)를 포함할 수 있다.
도 14는 본 발명의 다양한 실시예에 따른 도 9의 클라우드 플랫폼(250)을 기반으로 하는 촬영이 비활성화되었다고 판단되는 경우의 카메라 앱 아이콘 표시 동작을 나타내는 도면이다.
전자 장치(210)는 적어도 하나의 프로세서(213, 221) 제어 하에, 디스플레이(220) 상에 홈 스크린을 표시하고, 홈 스크린 상에 적어도 하나 이상의 앱 아이콘(1410, 1420, 1430)을 표시할 수 있다.
전자 장치(210)는 적어도 하나의 프로세서(213, 221) 제어 하에, 제 1 이미지(1431)를 포함하는 카메라 앱 아이콘(1430)을 홈 스크린(home screen) 상에 표시할 수 있다.
다양한 실시예에서, 전자 장치(210)는 적어도 하나의 프로세서(213, 221) 제어 하에, 제 1 이미지(1431)를 포함하는 카메라 앱 아이콘(1410)을 홈 스크린(home screen) 상에 표시하도록 디스플레이(220)를 제어할 수 있다. 예를 들어, 제 1 이미지(1431)는 카메라와 관련된 이미지를 포함할 수 있다.
도 15는 본 발명의 다양한 실시예에 따른 도 9의 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었다고 판단되는 경우의 카메라 앱 아이콘 표시 동작을 나타내는 도면이다.
전자 장치(210)는 적어도 하나의 프로세서(213, 221) 제어 하에, 디스플레이(220) 상에 홈 스크린을 표시하고, 홈 스크린 상에 적어도 하나 이상의 앱 아이콘(1510, 1520, 1530)을 표시할 수 있다. 도 15의 홈 스크린 상에 적어도 하나 이상의 앱 아이콘(1510, 1520, 1530)은 도 14의 홈 스크린 상에 적어도 하나 이상의 앱 아이콘(1410, 1420, 1430)과 같은 기능에 관한 아이콘일 수 있다.
전자 장치(210)는 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었다고 판단되면, 제 2 이미지(1531)를 포함하는 카메라 앱 아이콘(1530)을 홈스크린 상에 표시할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었다고 판단되면, 전자 장치(210)는 적어도 하나의 프로세서(213, 221) 제어 하에, 제 2 이미지(1531)를 포함하는 카메라 앱 아이콘(1530)을 홈스크린 상에 표시하도록 디스플레이(220)를 제어할 수 있다. 제 2 이미지(1531)는 도 14의 제 1 이미지(1431)를 포함하고, 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었음을 나타내는 이미지를 더 포함할 수 있다. 클라우드 플랫폼(250)을 기반으로 하는 촬영이 활성화되었음을 나타내는 이미지를 더 포함하기 위해, 제 2 이미지에는 구름과 관련된 이미지, 통신 안테나와 관련된 이미지를 포함할 수 있다.
도 16은 본 발명의 다양한 실시예에 따른 네트워크 상태에 따른 이미지 처리 방법을 나타내는 순서도이다.
전자 장치(210)는, 1601 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 외부 객체에 대한 이미지를 획득할 수 있다.
전자 장치(210)는 카메라 기능이 실행되면, 사용자 입력에 따라 카메라 모듈(211)을 이용하여 이미지를 획득할 수 있다. 카메라 모듈(211)을 통해, 획득한 이미지에는 적어도 하나 이상의 오브젝트가 포함될 수 있다.
전자 장치(210)는, 1603 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 획득한 이미지를 이용하여 소형 원시 이미지(small raw image, 예, 도 3의 스몰 로우 이미지(321))를 생성할 수 있다.
전자 장치(210)는 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
다양한 실시예에서, 전자 장치(210)는 소형 원시 이미지 생성부(217)를 이용하여 획득한 이미지(예를 들어, 원시 이미지(raw image))를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다. 또, 전자 장치(210)는 원시 이미지 압축부(218) 다양한 영상 압축 알고리즘을 이용하여 획득한 이미지 또는 소형 원시 이미지를 압축할 수 있다.
전자 장치(210)는, 1605 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 통신 모듈을 통하여 클라우드 플랫폼(250)에 소형 원시 이미지를 전송할 수 있는지 여부를 판단할 수 있다.
전자 장치(210)는, 1605 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)에 소원 원시 이미지를 전송이 가능한 환경인지 여부를 판단 하는 동작일 수 있고, 가능한 환경 인지은 통신 처리율이 지정된 수준(예: upload 50 Mbps 이상인 연결 상황)인지를 판단하는 동작일 수 있다.
예를 들면, 통신망의 연결 상태가 3G 환경에 연결된 상태 또는 4G or 5G 환경에서 속도가 제한된 연결 상태 등 이라면 소형 원시 이미지를 클라우드 플랫폼(250)에 전송하기가 상당히 제약이 되며, 통신은 연결되어 있지만 원시 이미지 전송 불가 환경으로 판단할 수 있다.
다양한 실시예에서, 전자 장치(210)가 1605 동작에서, 소형 원시 이미지를 전송할 수 있는지를 판단하는 동작은 다음과 같다.
예를 들어, 무선 연결을 관리하는 연결 매니저(connection manager)로부터 현재 연결 중이거나 연결 예정인 통신 채널의 연결 상태에 관한 정보를 적어도 하나의 프로세서(213, 221)에 전달하면, 적어도 하나의 프로세서(213, 221)는 통신 채널의 연결 상태에 관한 정보를 이용하여 클라우드 플랫폼(250)과 통신 상태가 양호한지 여부를 판단할 수 있다.
통신 채널의 연결 상태에 관한 정보는 통신 송수신 처리율, 통신 신호 강도, 기지국 내의 다른 통신 장치의 통신량에 관한 정보 중 적어도 하나 이상을 포함할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 송수신 처리율 이상으로 통신 송수신 처리율이 높다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하다고 판단할 수 있고, 통신 송수신 처리율이 미리 설정된 송수신 처리율 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않다고 판단할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 미리 설정된 신호 강도 이상으로 통신 신호 강도가 좋다면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하다고 판단할 수 있고, 통신 신호 강도가 미리 설정된 신호 강도 이하면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않다고 판단할 수 있다.
다양한 실시예에서, 통신 채널의 연결 상태에 관한 정보에 기반하여, 다른 통신 장치의 통신량이 미리 설정된 통신량 이하면, 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하다고 판단할 수 있고, 다른 통신 장치의 통신량이 미리 설정된 통신량 이상이면 적어도 하나의 프로세서(213, 221)는 클라우드 플랫폼(250)과 통신 상태가 양호하지 않다고 판단할 수 있다.
도1을 참조하여, 연결 매니저에 관하여 구체적으로 설명하면, 프로그램(140)은 전자 장치(101)에 관련된 자원을 제어하는 운영 체제 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램(146))을 포함할 수 있다. 운영 체제는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다.
도 1을 참조하면, 프로그램(140)은 운영 체제(142), 커널, 미들웨어(144), API(application programming interface), 및/또는 어플리케이션 프로그램(146)을 포함할 수 있다. 미들웨어(144)는, 예를 들면, 어플리케이션(146)이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션(146)이 전자 장치 내부의 제한된 시스템 자원을 사용할 수 있도록 API를 통해 다양한 기능들을 어플리케이션(370)으로 제공할 수 있다. 미들웨어(144) 는 런타임 라이브러리, 어플리케이션 매니저, 윈도우 매니저, 멀티미디어 매니저, 리소스 매니저, 파워 매니저, 데이터베이스 매니저, 패키지 매니저, 연결 매니저, 노티피케이션 매니저, 로케이션 매니저, 그래픽 매니저, 또는 시큐리티 매니저 중 적어도 하나를 포함할 수 있다. 연결 매니저는, 예를 들면, 통신 연결을 관리할 수 있다.
소형 원시 이미지를 전송 가능하다고 판단되면, 전자 장치(210)는, 1605 동작에서 1607 동작으로 분기할 수 있다.
클라우드 플랫폼(250)에 소형 원시 이미지를 전송 가능하다고 판단되면, 전자 장치(210)는, 1607 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 소형 원시 이미지를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 클라우드 플랫폼(250)으로 전송할 수 있다.
전자 장치(210)는, 1609 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 클라우드 플랫폼(250)으로부터 제 1 보정 정보를 통신 모듈(예, 도 1의 통신 모듈(190))을 통해 수신할 수 있다.
제 1 보정 정보는 도 2의 레시피 정보, 또는 도 3에 언급된 보정 영역 정보(332)와 동일할 수 있다. 클라우드 플랫폼(250)은 소형 원시 이미지(예, 도 3의 스몰 로우 이미지(321))로부터 적어도 하나의 이미지 영역을 세그먼테이션할 수 있다. 클라우드 플랫폼(250)은 세그먼테이션 결과로 구분된 적어도 하나의 이미지 영역 각각을 인식할 수 있다. 클라우드 플랫폼(250)은 생성된 복수의 이미지 영역과 연관된 정보, 예를 들어 이미지 영역의 좌표 정보(벡터 정보), 세그먼트(segment) 정보, 레이어(layer) 정보, 인식 결과, 장면 카테고리 정보 중 적어도 하나를 포함하는 레시피 정보를 생성하고, 생성된 레시피 정보를 전자 장치(210)로 전송할 수 있다.
전자 장치(210)는, 1611 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 1 보정 정보 또는 제 2 보정 정보를 이용하여 획득한 이미지를 처리할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하다고 판단되면, 전자 장치(210)는, 1611 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 1 정보를 이용하여 획득한 이미지를 처리할 수 있다.
전자 장치(210)의 ISP(215)는 제 1 보정 정보를 이용하여, 획득한 이미지(예, 원시 이미지)에 대한 다양한 영상 처리를 수행한다. 전자 장치(210)는 클라우드 플랫폼(250)으로부터 레시피 정보를 수신하고, ISP(215)를 통해, 레시피 정보에 기반한 원시 이미지 처리를 수행할 수 있다.
이미지 처리는 화이트 밸런스(White Balance), 색 조정(Color Adjustment), 노이즈 제거(Noise Reduction), 샤픈 (Sharpen), 디테일 인핸스먼트(Detail Enhancement) 등의 이미지 처리 동작을 포함할 수 있다. 이러한 이미지 처리 동작들은 레시피 정보에 기반하여, 영상의 영역별로 수행될 수 있다.
전자 장치(210)는, 1613 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 처리된 이미지를 적어도 하나의 메모리(219, 222, 254)에 저장할 수 있다. 전자 장치(210)는, 1613 동작에서, 처리된 이미지는 JPEG 등의 인코딩 동작을 거쳐서, 전자 장치(210)의 적어도 하나 이상의 메모리(219, 222)에 저장될 수 있다. 또는, 전자 장치(210)는, 1613 동작에서, 처리된 이미지를 클라우드 플랫폼(250)에 전송하면 클라우드 플랫폼(250)의 적어도 하나의 메모리(예, 이미지 저장소(254))에 저장될 수 있다.
소형 원시 이미지를 전송할 수 없다고 판단되면, 1605 동작에서 1615 동작으로 분기할 수 있다.
소형 원시 이미지를 전송할 수 없다고 판단되면, 전자 장치(210)는, 1615 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 이미지에 대한 상황 정보에 따라 제 2 보정 정보를 확인할 수 있다.
전자 장치(210)는, 1611 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 1 보정 정보 또는 제 2 보정 정보를 이용하여 획득한 원시 이미지를 처리할 수 있다.
다양한 실시예에서, 클라우드 플랫폼(250)과의 통신 상태가 양호하지 않다고 판단되거나 또는 통신 상태가 불량하다고 판단되면, 전자 장치(210)는, 1611 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 제 2 보정 정보에 기반하여 획득한 이미지를 처리할 수 있다. 제 2 보정 정보는 상황 정보에 따라 생성된 정보일 수 있고, 미리 준비된 레시피 정보일 수 있다.
다양한 실시예에서, 전자 장치(210)의 ISP(215)는 제 2 보정 정보를 이용하여, 획득한 이미지(예, 원시 이미지)에 대한 다양한 이미지 처리를 수행할 수 있다.
다양한 실시예에서, 제 2 보정 정보는 여러 상황을 고려해서 전자 장치(210)에서 미리 설정된(pre-setting) 복수의 레시피 정보 중 하나일 수 있다. 전자 장치(210)는 현재 카메라 모듈(211)를 통해 획득되는 화면 또는 장면과, 오브젝트, 밝기와 색상 등이 유사 또는 동일하게 대응하는 레시피 정보를 미리 설정된(pre-setting) 복수의 레시피 정보 중 적어도 하나 이상을 제 2 보정 정보로 선택할 수 있다.
다양한 실시예에서, 제 2 보정 정보는 클라우드 플랫폼(250)으로부터 수신한 제 1 보정 정보 중에서 현재 카메라 모듈(211)을 통해 화면 또는 장면을 획득하는 시점과 가깝게 수신된 제 1 보정 정보일 수 있다.
다양한 실시예에서, 소형 원시 이미지를 전송할 수 없다고 판단되면, 전자 장치(210)는 1615 동작에서, 이미지에 대한 상황 정보를 판단할 수 있다. 이미지에 대한 상황 정보는 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환일 수 있다.
다양한 실시예에서, 소형 원시 이미지를 전송할 수 없다고 판단되면 , 전자 장치(210)는 1615 동작에서, 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 있는지 여부를 판단할 수 있다. 전자 장치(210)가 화면 또는 장면의 전환이 있는지 여부는 판단하는 동작은 현재 획득되는 프레임과 이전 프레임을 비교하여, 미리 설정된 조건 이상으로 화면의 색상 또는 밝기가 변경되는 경우 화면 또는 장면의 전환이 있다고 판단하고, 미리 설정된 조건 이하로 화면의 색상 또는 밝기가 변경되는 경우 화면 또는 장면의 전환이 없다고 판단할 수 있다.
현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면의 전환이 있다고 판단되면, 전자 장치(210)는, 적어도 하나의 프로세서(213, 221) 제어 하에, 미리 설정된 복수의 제 2 보정 정보 중 적어도 하나 이상의 제 2 보정 정보를 선택할 수 있다.
다양한 실시예에서, 전자 장치(210)는, 1615 동작에서, 적어도 하나의 프로세서(213, 221) 제어 하에, 현재 카메라 모듈(211)을 통해 획득되는 화면 또는 장면과, 오브젝트, 밝기와 색상 등이 유사 또는 동일하게 대응하는 레시피 정보를, 복수의 레시피 정보 중 적어도 하나 이상의 제 2 정보로 선택할 수 있다.
다양한 실시예에서, 전자 장치(210)가, 적어도 하나의 프로세서(213, 221) 제어 하에, 복수의 레시피 정보 중 하나 이상의 제 2 보정 정보를 선택하는 동작은 다음과 같을 수 있다.
적어도 하나의 프로세서(213, 221)는 현재 카메라 모듈(211)을 통해 획득되는 프레임(frame)을 기반으로 이미지의 장면(scene) 분석을 수행하고, 분석된 장면에 기초하여 복수의 레시피 정보 중 하나 이상을 제 2 보정 정보로 선택할 수 있다.
적어도 하나의 프로세서(213, 221)가 획득한 프레임을 기반으로 이미지의 장면을 분석하는 동작은, 적어도 하나의 프로세서(213, 221)가 이미지의 심도(depth)등을 분석하여, 분석된 심도를 이용하여 적어도 하나의 이미지 영역을 세그먼테이션(segmentation)하여 영역별 세그먼테이션 정보를 산출할 수 있다. 적어도 하나의 프로세서(213, 221)는 산출된 세그먼테이션 정보를 이용하여 장면 전체의 특징과 영역별 밝기 정보(예를 들어, ISO 정보, 조도 정보)를 산출할 수 있다.
적어도 하나의 프로세서(213, 221)는 산출된 밝기 정보와 장면 특징을 이용하여 세그먼테이션된 이미지의 영역별 파라미터 값을 결정할 수 있다.
적어도 하나의 프로세서(213, 221)는 산출된 밝기 정보, 장면 특징, 영역별 파라미터 값에 대응하는 레시피 정보를 메모리(219)에 저장된 복수의 레시피 정보로부터 선택할 수 있다.
적어도 하나의 프로세서(213, 221) 또는 ISP(215)는 산출된 밝기 정보, 장면 특징, 영역별 파라미터 값에 대응하여 선택된 레시피 정보를 이용하여 이미지를 처리할 수 있다.
현재 카메라 모듈(211) 통해 획득되는 화면 또는 장면의 전환이 없다고 판단되면, 전자 장치(210)는 적어도 하나의 프로세서(213, 221) 제어 하에, 이전 프레임의 레시피 정보를 선택할 수 있다. 이전 프레임의 레시피 정보는 클라우드 플랫폼(250)으로부터 수신한 제 1 보정 정보 중에서 현재 카메라 모듈(211)을 통해 화면 또는 장면을 획득하는 시점과 가깝게 수신된 제 1 보정 정보일 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "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)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (15)

  1. 전자 장치에 있어서,
    카메라;
    하나 이상의 통신 모듈;
    하나 이상의 메모리; 및
    하나 이상의 프로세서를 포함하며,
    상기 프로세서는
    상기 카메라를 이용하여 외부 객체에 대한 원시 이미지를 획득하고,
    상기 원시 이미지에 대응하는 소형 원시 이미지를 생성하고,
    상기 전자 장치에서 상기 하나 이상의 통신 모듈 중 적어도 일부를 이용하여 상기 외부 장치로의 상기 소형 원시 이미지 전송이 가능한 상태 인지를 판단하고,
    상기 소형 원시 이미지의 상기 전송이 가능한 상태라고 판단되면, 상기 외부 전자 장치가 상기 소형 원시 이미지를 이용하여 상기 외부 장치의 보정 처리 방식에 기반하여 제 1 보정 정보를 생성 하도록, 상기 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하고,
    상기 소형 원시 이미지의 상기 전송이 불가능한 상태라고 판단되면, 상기 이미지에 대한 상황 정보를 판단하고, 상기 상황 정보에 기반하여 생성된 제 2 보정 정보를 확인하고, 및
    상기 제 1 보정 정보 및 상기 제 2 보정 정보 중 대응하는 하나의 보정 정보를 이용하여, 상기 원시 이미지가 보정 처리된 보정 이미지를 생성하도록 설정된 전자 장치.
  2. 제 1항에 있어서,
    상기 프로세서는
    상기 소형 원시 이미지를 상기 외부 장치에 전송 가능하거나, 상기 외부 장치로부터 전송에 응답한 상기 제 1 보정 정보를 수신가능 여부를 이용하여, 상기 외부 장치와의 통신 연결 상태를 판단하는 전자 장치.
  3. 제 1항에 있어서,
    상기 프로세서는
    상기 이미지의 장면 전환 여부에 따라서 상기 이미지에 대한 상황 정보를 판단하고,
    상기 이미지의 장면 전환이 있으면,
    상기 제 2 보정 정보를 이용하여 상기 이미지를 처리하고,
    상기 이미지의 장면 전환이 없으면,
    상기 전자 장치에 이전 프레임에서 상기 외부 장치로부터 수신한 제 2 보정 정보를 이용하여 상기 이미지를 처리하도록 설정된 전자 장치.
  4. 제 1항에 있어서,
    상기 제 2 보정 정보는 미리 설정된 보정 정보인 것을 특징으로 하는 전자 장치.
  5. 제 1항에 있어서,
    상기 프로세서는,
    상기 상황 정보에 기반하여 결정된 이미지 처리 방식에 따라 상기 원시 이미지 또는 상기 소형 원시 이미지를 이용하여 상기 제 2 보정 정보를 생성하도록 설정된 전자 장치.
  6. 제 1항에 있어서,
    상기 프로세서는
    상기 외부 장치와의 통신 연결 상태를 예측하고,
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이상, 미리 설정된 통화량 이하 또는 미리 설정된 신호 강도 이상이면, 제 1 주기로 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하여 상기 이미지를 처리하며,
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이하, 미리 설정된 통화량 이상 또는 미리 설정된 신호 강도 이하면, 제 2 주기로 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하여 상기 이미지를 처리하도록 설정된 것을 특징으로 하며,
    상기 제 1 주기는 제 2 주기는 더 짧은 것을 특징으로 하는 전자 장치.
  7. 제 1항에 있어서,
    상기 프로세서는
    상기 외부 장치와의 통신 연결 상태를 예측하고,
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이상, 미리 설정된 통화량 이하 또는 미리 설정된 신호 강도 이상이면, 통신 채널을 변경하지 않고, 원래의 통신 채널을 이용하여 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하여 상기 이미지를 처리하며,
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이하, 미리 설정된 통화량 이상 또는 미리 설정된 신호 강도 이하면, 통신 채널을 변경하여, 변경된 통신 채널을 이용하여 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하여 상기 이미지를 처리하도록 설정된 전자 장치.
  8. 전자 장치의 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법에 있어서,
    카메라를 이용하여 외부 객체에 대한 원시 이미지를 획득하는 동작;
    상기 원시 이미지에 대응하는 소형 원시 이미지를 생성하는 동작;
    상기 전자 장치에서 상기 하나 이상의 통신 모듈 중 적어도 일부를 이용하여 상기 외부 장치로의 상기 소형 원시 이미지 전송이 가능한 상태 인지를 판단하는 동작;
    상기 소형 원시 이미지의 상기 전송이 가능한 상태라고 판단되면, 상기 외부 전자 장치가 상기 소형 원시 이미지를 이용하여 상기 외부 장치의 보정 처리 방식에 기반하여 제 1 보정 정보를 생성 하도록, 상기 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하는 동작;
    상기 소형 원시 이미지의 상기 전송이 불가능한 상태라고 판단되면, 상기 이미지에 대한 상황 정보를 판단하고, 상기 상황 정보에 기반하여 생성된 제 2 보정 정보를 확인하는 동작; 및
    상기 제 1 보정 정보 및 상기 제 2 보정 정보 중 대응하는 하나의 보정 정보를 이용하여, 상기 원시 이미지가 보정 처리된 보정 이미지를 생성하도록 하는 동작을 포함하는 방법.
  9. 제 8항에 있어서,
    상기 외부 장치와의 통신 연결 상태를 판단하는 동작은
    상기 소형 원시 이미지를 상기 외부 장치에 전송 가능하거나, 상기 외부 장치로부터 전송에 응답한 상기 제 1 보정 정보를 수신가능 여부를 이용하여, 상기 외부 장치와의 통신 연결 상태를 판단하는 동작을 더 포함하는 방법.
  10. 제 8항에 있어서,
    상기 이미지의 장면 전환 여부에 따라서 상기 이미지에 대한 상황 정보를 판단하는 동작;
    상기 이미지의 장면 전환이 있으면, 상기 제 2 보정 정보를 이용하여 상기 이미지를 처리하는 동작; 및
    상기 이미지의 장면 전환이 없으면, 이전 프레임에서 상기 외부 장치로부터 수신한 제 2 보정 정보를 이용하여 상기 이미지를 처리하는 동작;을 더 포함하는 방법.
  11. 제 8항에 있어서,
    상기 제 2 보정 정보는 미리 설정된 보정 정보인 것을 특징으로 하는 방법.
  12. 제 8항에 있어서,
    상기 상황 정보에 기반하여 결정된 이미지 처리 방식에 따라 상기 원시 이미지 또는 상기 소형 원시 이미지를 이용하여 상기 제 2 보정 정보를 생성하는 동작을 더 포함하는 방법.
  13. 제 8항에 있어서,
    상기 외부 장치와의 통신 연결 상태를 예측하는 동작;
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이상, 미리 설정된 통화량 이하 또는 미리 설정된 신호 강도 이상이면, 제 1 주기로 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1보정 정보를 수신하여 상기 이미지를 처리하는 동작; 및
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이하, 미리 설정된 통화량 이상 또는 미리 설정된 신호 강도 이하면, 제 2 주기로 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1 보정 정보를 수신하여 상기 이미지를 처리하는 동작을 더 포함하며,
    상기 제 1 주기는 제 2 주기는 더 짧은 것을 특징으로 하는 방법.
  14. 제 8항에 있어서,
    상기 외부 장치와의 통신 연결 상태를 예측하는 동작;
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이상, 미리 설정된 통화량 이하 또는 미리 설정된 신호 강도 이상이면, 통신 채널을 변경하지 않고, 원래의 통신 채널을 이용하여 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1보정 정보를 수신하여 상기 이미지를 처리하는 동작; 및
    상기 통신 연결 상태가 미리 설정된 송수신 처리율 이하, 미리 설정된 통화량 이상 또는 미리 설정된 신호 강도 이하면, 통신 채널을 변경하여, 변경된 통신 채널을 이용하여 소형 원시 이미지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 제 1보정 정보를 수신하여 상기 이미지를 처리하는 동작을 더 포함하는 방법.
  15. 제 8항에 있어서,
    제 1 이미지를 포함하는 카메라 앱 아이콘을 디스플레이 상의 홈 스크린에 표시하도록 제어하는 동작;
    상기 외부 장치를 기반으로 한 촬영 동작의 활성화 여부를 판단하는 동작; 및
    상기 외부 장치를 기반으로 한 촬영 동작이 활성화되면, 제 2 이미지를 포함하는 상기 카메라 앱 아이콘을 상기 디스플레이 상의 상기 홈 스크린에 표시하도록 제어하는 동작을 더 포함하는 방법.
PCT/KR2019/008986 2018-07-20 2019-07-19 전자 장치 및 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법 WO2020017936A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/257,989 US11393078B2 (en) 2018-07-20 2019-07-19 Electronic device and method for correcting image on basis of image transmission state

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0084989 2018-07-20
KR1020180084989A KR102609734B1 (ko) 2018-07-20 2018-07-20 전자 장치 및 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법

Publications (1)

Publication Number Publication Date
WO2020017936A1 true WO2020017936A1 (ko) 2020-01-23

Family

ID=69165169

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/008986 WO2020017936A1 (ko) 2018-07-20 2019-07-19 전자 장치 및 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법

Country Status (3)

Country Link
US (1) US11393078B2 (ko)
KR (1) KR102609734B1 (ko)
WO (1) WO2020017936A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200111446A (ko) 2019-03-19 2020-09-29 삼성전자주식회사 합성 이미지를 생성하는 전자 장치 및 방법
KR102608127B1 (ko) * 2019-04-08 2023-12-01 삼성전자주식회사 이미지 프로세싱을 수행하는 전자 장치 및 방법
EP4209989A4 (en) * 2020-10-27 2024-04-03 Samsung Electronics Co Ltd DEVICE AND METHOD FOR GENERATING AN IMAGE WITH A SUBJECT RECORDED THEREIN

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140126941A1 (en) * 2012-11-08 2014-05-08 Fuji Xerox Co., Ltd. Image forming apparatus, fixing device, and drying device
KR20150083491A (ko) * 2014-01-09 2015-07-20 삼성전자주식회사 단말과 서버간의 정보 동기화 방법 및 시스템
KR20150128482A (ko) * 2014-05-09 2015-11-18 삼성전자주식회사 전자 장치들 간의 연동 서비스 운용 방법 및 장치
KR20160092136A (ko) * 2015-01-26 2016-08-04 한국전자통신연구원 가상 데스크탑 제공 방법 및 가상 데스크탑 제공 서버
KR101795537B1 (ko) * 2016-02-24 2017-12-04 경북대학교 산학협력단 네트워크 환경 적응형 클라우드 스트리밍 서비스 제공시스템 및 그 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4823184A (en) * 1984-04-09 1989-04-18 Corporate Communications Consultants, Inc. Color correction system and method with scene-change detection
JP6083968B2 (ja) * 2012-07-03 2017-02-22 キヤノン株式会社 撮像装置及び撮像装置の制御方法
TWI571762B (zh) 2012-11-08 2017-02-21 國立台灣科技大學 即時影像雲端系統及其管理方法
JP6406949B2 (ja) 2014-09-12 2018-10-17 キヤノン株式会社 画像処理装置及び画像処理方法
KR102407133B1 (ko) * 2015-08-21 2022-06-10 삼성전자주식회사 전자 장치 및 이의 콘텐트 변형 방법
KR102495753B1 (ko) 2017-10-10 2023-02-03 삼성전자주식회사 카메라를 이용하여 획득한 원시 이미지를 외부 전자 장치를 이용하여 처리하는 방법 및 전자 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140126941A1 (en) * 2012-11-08 2014-05-08 Fuji Xerox Co., Ltd. Image forming apparatus, fixing device, and drying device
KR20150083491A (ko) * 2014-01-09 2015-07-20 삼성전자주식회사 단말과 서버간의 정보 동기화 방법 및 시스템
KR20150128482A (ko) * 2014-05-09 2015-11-18 삼성전자주식회사 전자 장치들 간의 연동 서비스 운용 방법 및 장치
KR20160092136A (ko) * 2015-01-26 2016-08-04 한국전자통신연구원 가상 데스크탑 제공 방법 및 가상 데스크탑 제공 서버
KR101795537B1 (ko) * 2016-02-24 2017-12-04 경북대학교 산학협력단 네트워크 환경 적응형 클라우드 스트리밍 서비스 제공시스템 및 그 방법

Also Published As

Publication number Publication date
KR20200009922A (ko) 2020-01-30
US11393078B2 (en) 2022-07-19
KR102609734B1 (ko) 2023-12-05
US20210272249A1 (en) 2021-09-02

Similar Documents

Publication Publication Date Title
WO2017090837A1 (en) Digital photographing apparatus and method of operating the same
WO2017111302A1 (en) Apparatus and method for generating time lapse image
WO2016013902A1 (en) Image photographing apparatus and image photographing method
WO2018044073A1 (en) Image streaming method and electronic device for supporting the same
WO2017018612A1 (en) Method and electronic device for stabilizing video
WO2019050164A1 (en) APPARATUS AND METHOD FOR PROCESSING IMAGE RECEIVED VIA A PLURALITY OF CAMERAS
WO2019050366A1 (en) APPARATUS AND METHOD FOR PROCESSING IMAGE RECEIVED USING A PLURALITY OF CAMERAS
WO2019017641A1 (ko) 전자 장치 및 전자 장치의 이미지 압축 방법
WO2020017936A1 (ko) 전자 장치 및 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법
WO2019017698A1 (ko) 전자 장치 및 전자 장치에서 하이 다이나믹 레인지 이미지 데이터를 압축하는 방법
WO2021162320A1 (en) Electronic device and method for operating high speed screen of electronic device
WO2019050200A1 (ko) 이미지를 처리하기 위한 장치 및 방법
WO2017090833A1 (en) Photographing device and method of controlling the same
WO2017018614A1 (en) Method of imaging moving object and imaging device
WO2019050261A1 (ko) 카메라 동작에 기반한 오디오 신호 처리 장치 및 방법
WO2022154387A1 (ko) 전자 장치 및 그의 동작 방법
WO2022010122A1 (ko) 영상을 제공하는 방법 및 이를 지원하는 전자 장치
WO2022102972A1 (ko) 이미지 센서를 포함하는 전자 장치 및 그 동작 방법
WO2016013892A1 (en) Device and method for processing image
WO2021158058A1 (en) Method for providing filter and electronic device supporting the same
WO2019208915A1 (ko) 외부 장치의 자세 조정을 통해 복수의 카메라들을 이용하여 이미지를 획득하는 전자 장치 및 방법
WO2018034376A1 (ko) 이동단말기 및 그 제어 방법
WO2019107769A1 (ko) 이미지 센서의 리드 아웃 속도에 따라 이미지 데이터를 선택적으로 압축하는 전자 장치 및 그의 운용 방법
EP3494706A1 (en) Image streaming method and electronic device for supporting the same
WO2022005126A1 (en) Electronic device and controlling method of electronic device

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: 19836981

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19836981

Country of ref document: EP

Kind code of ref document: A1