Method and electronic device for processing raw images using external electronic device

By sending the original image to a cloud server for image correction processing, and further correcting the image using differential image information, solving the problems of high hardware requirements and poor flexibility in the prior art, and achieving more efficient and flexible image processing.

CN109658338BActive Publication Date: 2025-05-02SAMSUNG ELECTRONICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201811178408.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2017-10-10
Filing Date
2018-10-10
Publication Date
2025-05-02
Estimated Expiration
2038-10-10

AI Technical Summary

Technical Problem

In existing image processing electronic devices, the built-in nature and hardware requirements of ISPs lead to high chip prices and heat dissipation problems, and at the same time, the changes in image processing algorithms require frequent hardware replacement.

Method used

By sending the original image to a cloud server, the cloud server performs image correction processing that is difficult to perform at the terminal or takes a long time, generates differential image information, and further corrects the image based on this differential information to achieve consistency with the image corrected by the cloud server.

Benefits of technology

Reduces hardware demand for ISPs on terminal devices, reduces chip price and heat dissipation issues, and improves image processing flexibility and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN109658338B_ABST
    Figure CN109658338B_ABST
Patent Text Reader

Abstract

An exemplary electronic device includes a camera, a communication module, and at least one processor. The at least one processor is configured to: acquire an original image of an external target by using the camera; generate a first corrected image from the original image by a first image processing scheme; control the original image to be sent to an external electronic device via the communication module so that the external electronic device can generate difference image information corresponding to the difference between a second corrected image and a third corrected image, wherein the second corrected image is generated by processing the original image with the first image processing scheme and the third corrected image is generated by processing the original image with the second image processing scheme; and further correct the first corrected image by using the difference image information so that the further corrected first corrected image corresponds to the third corrected image.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Various embodiments of the present disclosure relate to a method and an electronic device for processing a raw image acquired via a camera by using an external electronic device. Background Art

[0002] An electronic device that processes an image may acquire a raw image via an image sensor and process the acquired raw image by using a built-in image signal processor (ISP). The ISP may process the received raw image through an image quality enhancement algorithm, thereby providing an image with improved image quality. The ISP may perform various processes, such as but not limited to white balance, color adjustment (e.g., color matrix, color correction, and color enhancement), color filter array interpolation, noise reduction (NR) / sharpening, and image enhancement (e.g., high dynamic range (HDR) and face detection). The image output from the ISP may have, for example, a YUV format. The image output from the ISP may be compressed, for example, by the Joint Photographic Experts Group (JPEG), and the compressed image may be stored in the electronic device.

[0003] On the other hand, the image processing cloud system provides services for generating image backups and new media content. Computer vision-based technologies such as image matching (which may be difficult to perform in a terminal) can be applied to images uploaded to the cloud server. For example, the cloud server can perform image recognition by using machine learning-based software.

[0004] The ISP may be provided in an application processor (AP) in an electronic device. Since the ISP is arranged in the AP, chip price and heat dissipation have become issues of ongoing concern. In addition, changes in sensor specifications and the resulting modifications to processing algorithms may lead to the problem that electronic devices that process images should be equipped with new hardware ISPs.

[0005] The above information is presented as background information only to assist with understanding the present disclosure. No determination has been made, and no assertion is made, as to whether any of the above may be applicable as prior art to the present disclosure. Summary of the invention

[0006] An exemplary electronic device for processing an image according to various embodiments may: send an original image to a cloud server; receive from the cloud server a difference between an image that has undergone correction that is difficult or time-consuming to perform in an image signal processor (ISP) of the electronic device and an image corrected by the electronic device; and generate an image corrected by the cloud server based on the image corrected by the electronic device and the received difference.

[0007] According to one aspect of the present disclosure, an electronic device may include a camera, a communication module (including, for example, a communication circuit) and at least one processor. The at least one processor may be configured to: acquire an original image of an external target by using a camera; generate a first corrected image from the original image by a first image processing scheme; send the original image to an external electronic device via the communication module so that the external electronic device can generate difference image information corresponding to the difference between a second corrected image and a third corrected image, wherein the second corrected image is generated by processing the original image with the first image processing scheme and the third corrected image is generated by processing the original image with the second image processing scheme; and further correct the first corrected image by using the difference image information so that the further corrected first corrected image corresponds to the third corrected image.

[0008] According to another aspect of the present disclosure, an electronic device may include a communication module (including, for example, a communication circuit) and at least one processor. The at least one processor may be configured to: receive an original image acquired by an external electronic device via the communication module; generate difference image information corresponding to the difference between a first corrected image and a second corrected image, wherein the first corrected image is generated by processing the original image with a first image processing scheme set corresponding to the external electronic device and the second corrected image is generated by processing the original image with a second image processing scheme set corresponding to the electronic device, and send the difference image information to the external electronic device via the communication module.

[0009] According to another aspect of the present disclosure, an electronic device may include a camera, a communication module, and at least one processor. The at least one processor may be configured to: acquire an original image of an external target by using a camera; generate a first conversion image by converting a format of the original image into a predetermined format; send the original image to an external electronic device via the communication module; receive difference image information corresponding to a difference between a second conversion image and a first correction image from the external electronic device via the communication module, wherein the second conversion image is generated by converting a format of the original image into a predetermined format and the first correction image is generated by applying an image processing scheme stored in the external electronic device to the original image; and generate a second correction image corresponding to the first correction image by using the received difference image information and the first conversion image.

[0010] Other aspects, advantages, and salient features of the present disclosure will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the accompanying drawings, discloses exemplary embodiments of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The above and other aspects, features and advantageous effects of certain exemplary embodiments of the present disclosure will become more apparent through the following description in conjunction with the accompanying drawings, in which:

[0012] Figure 1 is a block diagram illustrating an electronic device in a network environment according to various embodiments;

[0013] Figure 2A is a block diagram showing a camera module according to various embodiments;

[0014] Figure 2B is a block diagram showing an electronic device and a server according to various embodiments;

[0015] Figure 2C and Figure 2D is a diagram showing correction region information generated by a server according to various embodiments;

[0016] Figure 3 is a flowchart illustrating a method for operating an electronic device and a server according to various embodiments;

[0017] Figure 4A is a view showing an image corrected by an electronic device or a server according to various embodiments;

[0018] Figure 4B is a diagram showing an image corrected by a server according to various embodiments;

[0019] Figure 4C are views showing difference images according to various embodiments;

[0020] Figure 5 is a flowchart illustrating a method for operating an electronic device and a server according to various embodiments;

[0021] Figure 6 is a block diagram showing an electronic device and a server according to various embodiments;

[0022] Fig. 7A is a flow chart illustrating run length encoding according to various embodiments;

[0023] Figure 7B is a flow chart illustrating a compression process according to various embodiments;

[0024] Fig. 8A and Figure 8B is a flowchart illustrating a method for operating an electronic device and a server according to various embodiments;

[0025] Fig. 9 is a flowchart illustrating a method for operating an electronic device and a server according to various embodiments;

[0026] Fig.10 is a diagram showing an image processing program in an electronic device and a server according to various embodiments;

[0027] Fig.11 is a flowchart illustrating a method for operating an electronic device and a server according to various embodiments;

[0028] Fig.12 is a flowchart illustrating a method for operating an electronic device and a server according to various embodiments;

[0029] Fig.13 is a block diagram illustrating a server and an electronic device without an image signal processor (ISP) according to various embodiments;

[0030] Fig.14 is a flowchart illustrating a method for operating an electronic device and a server according to various embodiments;

[0031] Fig.15 is a block diagram showing an electronic device and a server according to various embodiments;

[0032] Fig.16 is a flowchart illustrating a method for operating an electronic device and a server according to various embodiments;

[0033] Fig.17 is a block diagram illustrating an electronic device and a server according to various embodiments; and

[0034] Fig.18 are views illustrating methods for operating an electronic device and a server according to various embodiments.

[0035] Throughout the drawings, like reference numerals will be understood to refer to like parts, components and structures. DETAILED DESCRIPTION

[0036] Figure 1 is a block diagram showing an electronic device 101 in a network environment 100 according to various embodiments. Figure 1, the electronic device 101 in the network environment 100 may communicate with the electronic device 102 via the first network 198 (e.g., a short-range wireless communication network), or communicate with the electronic device 104 or the server 108 via the second network 199 (e.g., a long-range wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 via the server 108. According to an embodiment, the electronic device 101 may include a processor 120, a memory 130, an input device 150, a sound output device 155, a display device 160, an audio module 170, a sensor module 176, an interface 177, a haptic module 179, a camera module 180, a power management module 188, a battery 189, a communication module 190, a user identification module (SIM) 196, or an antenna module 197. In some embodiments, at least one of the components (e.g., the display device 160 or the camera module 180) may be omitted from the electronic device 101, or one or more other components may be added to the electronic device 101. In some embodiments, some of the components may be implemented as a single integrated circuit.For example, the sensor module 176 (eg, a fingerprint sensor, an iris sensor, or an illumination sensor) may be implemented to be embedded in the display device 160 (eg, a display).

[0037] The processor 120 may run, for example, software (e.g., program 140) to control at least one other component (e.g., hardware component or software component) of the electronic device 101 connected to the processor 120, and may perform various data processing or calculations. According to one embodiment, as at least part of the data processing or calculation, the processor 120 may load a command or data received from another component (e.g., sensor module 176 or communication module 190) into the volatile memory 132, process the command or data stored in the volatile memory 132, and store the resultant data in the non-volatile memory 134. According to an embodiment, the processor 120 may include a main processor 121 (e.g., a central processing unit (CPU) or an application processor (AP)) and an auxiliary processor 123 (e.g., a graphics processing unit (GPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP)) that is independent of or combined with the main processor 121 in operation. Additionally or alternatively, the auxiliary processor 123 may be adapted to consume less power than the main processor 121, or adapted to be specifically used for a specified function. The auxiliary processor 123 may be implemented separately from the main processor 121 , or as part of the main processor 121 .

[0038] When the main processor 121 is in an inactive (e.g., sleep) state, the auxiliary processor 123 may control at least some of the functions or states related to at least one component (e.g., display device 160, sensor module 176, or communication module 190) among the components of the electronic device 101 (not the main processor 121), or when the main processor 121 is in an active state (e.g., running an application), the auxiliary processor 123 may control at least some of the functions or states related to at least one component (e.g., display device 160, sensor module 176, or communication module 190) among the components of the electronic device 101 together with the main processor 121. According to an embodiment, the auxiliary processor 123 (e.g., an image signal processor or a communication processor) may be implemented as part of another component (e.g., camera module 180 or communication module 190) that is functionally related to the auxiliary processor 123.

[0039] The memory 130 may store various data used by at least one component of the electronic device 101 (e.g., the processor 120 or the sensor module 176). The various data may include, for example, software (e.g., the program 140) and input data or output data for commands related thereto. The memory 130 may include a volatile memory 132 or a nonvolatile memory 134.

[0040] The program 140 may be stored as software in the memory 130 , and may include, for example, an operating system (OS) 142 , middleware 144 , or applications 146 .

[0041] The input device 150 may receive commands or data from outside the electronic device 101 (e.g., a user) to be used by other components of the electronic device 101 (e.g., the processor 120). The input device 150 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (e.g., a stylus).

[0042] The sound output device 155 can output a sound signal to the outside of the electronic device 101. The sound output device 155 may include, for example, a speaker or a receiver. The speaker can be used for general purposes such as playing multimedia or playing records, and the receiver can be used for incoming calls. Depending on the embodiment, the receiver can be implemented as a separate part from the speaker, or as a part of the speaker.

[0043] The display device 160 may visually provide information to the outside of the electronic device 101 (e.g., a user). The display device 160 may include, for example, a display, a holographic device, or a projector, and a control circuit for controlling a corresponding one of the display, the holographic device, and the projector. According to an embodiment, the display device 160 may include a touch circuit adapted to detect a touch or a sensor circuit (e.g., a pressure sensor) adapted to measure the strength of a force caused by a touch.

[0044] The audio module 170 may convert sound into an electrical signal, or vice versa. According to an embodiment, the audio module 170 may obtain sound via the input device 150, or output sound via the sound output device 155 or an earphone of an external electronic device (e.g., electronic device 102) directly (e.g., wired) or wirelessly connected to the electronic device 101.

[0045] The sensor module 176 may detect an operating state (e.g., power or temperature) of the electronic device 101 or an environmental state (e.g., a user's state) outside the electronic device 101, and then generate an electrical signal or data value corresponding to the detected state. Depending on the embodiment, the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illumination sensor.

[0046] The interface 177 may support one or more specific protocols to be used to connect the electronic device 101 directly (e.g., wired) or wirelessly to an external electronic device (e.g., the electronic device 102). Depending on the embodiment, the interface 177 may include, for example, a high-definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.

[0047] The connection end 178 may include a connector, wherein the electronic device 101 can be physically connected to an external electronic device (e.g., the electronic device 102) via the connector. According to an embodiment, the connection end 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).

[0048] The haptic module 179 may convert the electrical signal into mechanical stimulation (eg, vibration or motion) or electrical stimulation that can be recognized by the user via his sense of touch or kinesthetic sense. According to an embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulator.

[0049] The camera module 180 may capture still images or moving images. According to an embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.

[0050] The power management module 188 may manage power supply to the electronic device 101. According to an embodiment, the power management module 188 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).

[0051] The battery 189 may power at least one component of the electronic device 101. According to an embodiment, the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

[0052] The communication module 190 may support establishing a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108), and perform communication via the established communication channel. The communication module 190 may include one or more communication processors capable of operating independently from the processor 120 (e.g., an application processor (AP)) and supporting direct (e.g., wired) communication or wireless communication. According to an embodiment, the communication module 190 may include a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., a local area network (LAN) communication module or a power line communication (PLC) module). A corresponding one of these communication modules can communicate with an external electronic device via a first network 198 (e.g., a short-range communication network such as Bluetooth, Wireless Fidelity (Wi-Fi) Direct, or Infrared Data Association (IrDA)) or a second network 199 (e.g., a long-range communication network such as a cellular network, the Internet, or a computer network (e.g., a LAN or a wide area network (WAN))). These various types of communication modules can be implemented as a single component (e.g., a single chip), or these various types of communication modules can be implemented as multiple components separated from each other (e.g., multiple chips). The wireless communication module 192 can identify and authenticate the electronic device 101 in a communication network (such as the first network 198 or the second network 199) using user information (e.g., an International Mobile Subscriber Identity (IMSI)) stored in the user identification module 196.

[0053] The antenna module 197 may transmit or receive a signal or power to or from the outside of the electronic device 101 (e.g., an external electronic device). According to an embodiment, the antenna module 197 may include an antenna including a radiating element formed of a conductive material or a conductive pattern formed in or on a substrate (e.g., a PCB). According to an embodiment, the antenna module 197 may include a plurality of antennas. In this case, at least one antenna suitable for a communication scheme used in a communication network (such as the first network 198 or the second network 199) may be selected from the plurality of antennas by, for example, the communication module 190 (e.g., the wireless communication module 192). A signal or power may then be transmitted or received between the communication module 190 and the external electronic device via the selected at least one antenna. According to an embodiment, another component (e.g., a radio frequency integrated circuit (RFIC)) other than the radiating element may be additionally formed as part of the antenna module 197.

[0054] At least some of the above components may be connected to each other via an inter-peripheral communication scheme (e.g., a bus, general purpose input output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)) and communicatively transmit signals (e.g., commands or data) therebetween.

[0055] According to an embodiment, a command or data may be sent or received between the electronic device 101 and the external electronic device 104 via the server 108 connected to the second network 199. Each of the electronic device 102 and the electronic device 104 may be a device of the same type as the electronic device 101, or a device of a different type from the electronic device 101. According to an embodiment, all or some operations to be executed on the electronic device 101 may be executed on one or more of the external electronic device 102, the external electronic device 104, or the server 108. For example, if the electronic device 101 should automatically execute a function or service or should execute a function or service in response to a request from a user or another device, the electronic device 101 may request the one or more external electronic devices to execute at least part of the function or service instead of executing the function or service, or the electronic device 101 may request the one or more external electronic devices to execute at least part of the function or service in addition to executing the function or service. The one or more external electronic devices that receive the request may execute the requested at least part of the function or service, or execute another function or another service related to the request, and transmit the result of the execution to the electronic device 101. The electronic device 101 may provide the result as at least a partial reply to the request with or without further processing the result. To this end, cloud computing technology, distributed computing technology or client-server computing technology may be used, for example.

[0056] Figure 2A 2 is a block diagram showing a camera module 180 according to various embodiments. Figure 2A, the camera module 180 may include a lens assembly 210, a flash 220, an image sensor 230, an image stabilizer 240, a memory 250 (e.g., a buffer memory), and / or an image signal processor 260. The lens assembly 210 may collect light emitted or reflected from a target whose image is to be captured. The lens assembly 210 may include one or more lenses. According to an exemplary embodiment, the camera module 180 may include a plurality of lens assemblies 210. In this case, the camera module 180 may form, for example, a dual camera, a 360-degree camera, or a spherical camera. Some of the plurality of lens assemblies 210 may have the same lens properties (e.g., viewing angle, focal length, autofocus, f-number, or optical zoom), or at least one lens assembly may have one or more lens properties different from those of another lens assembly. The lens assembly 210 may include, for example, a wide-angle lens or a telephoto lens. The flash 220 may emit light, wherein the emitted light is used to enhance the light reflected from the target. According to an exemplary embodiment, the flash lamp 220 may include one or more light emitting diodes (LEDs) (eg, red, green, blue (RGB) LEDs, white LEDs, infrared (IR) LEDs, and / or ultraviolet (UV) LEDs) or a xenon lamp.

[0057] The image sensor 230 may acquire an image corresponding to the object by converting light emitted from or reflected from the object and transmitted through the lens assembly 210 into an electrical signal. According to an exemplary embodiment, the image sensor 230 may include one image sensor selected from a plurality of image sensors having different properties (e.g., an RGB sensor, a black and white (BW) sensor, an IR sensor, or a UV sensor), a plurality of image sensors having the same properties, or a plurality of image sensors having different properties. Each image sensor included in the image sensor 230 may be implemented using, for example, a charge coupled device (CCD) sensor or a complementary metal oxide semiconductor (CMOS) sensor.

[0058] The image stabilizer 240 may move the image sensor 230 or at least one lens included in the lens assembly 210 in a specific direction, or control an operational property of the image sensor 230 (e.g., adjust the readout timing) in response to the movement of the camera module 180 or the electronic device 101 including the camera module 180. In this way, at least a portion of the negative effects (e.g., image blur) generated due to the movement of the image being captured is allowed to be compensated. According to an exemplary embodiment, the image stabilizer 240 may sense such movement of the camera module 180 or the electronic device 101 using a gyro sensor (not shown) and / or an acceleration sensor (not shown) arranged inside or outside the camera module 180. According to an exemplary embodiment, the image stabilizer 240 may be implemented as, for example, an optical image stabilizer.

[0059] The memory 250 may at least temporarily store at least a portion of an image acquired via the image sensor 230 for subsequent image processing tasks. For example, if multiple images are captured quickly or image capture is delayed due to shutter lag, the acquired original image (e.g., Bayer pattern image, high-resolution image) may be stored in the memory 250, and its corresponding copy image (e.g., low-resolution image) may be previewed via the display device 160. Then, if a specified condition is met (e.g., by a user's input or a system command), at least a portion of the original image stored in the memory 250 may be acquired and processed, for example, by the image signal processor 260. According to an exemplary embodiment, the memory 250 may be configured as at least a portion of the memory 130, or the memory 250 may be configured as a separate memory that operates independently of the memory 130.

[0060] The image signal processor 260 may perform one or more types of image processing on an image acquired via the image sensor 230 or an image stored in the memory 250. The one or more types of image processing may include, for example and without limitation, depth map generation, three-dimensional (3D) modeling, panorama generation, feature point extraction, image synthesis, and / or image compensation (e.g., noise reduction, resolution adjustment, brightness adjustment, blurring, sharpening, and / or softening). Additionally or alternatively, the image signal processor 260 may perform control (e.g., exposure time control or readout timing control) on at least one of the components included in the camera module 180 (e.g., the image sensor 230). The image processed by the image signal processor 260 may be stored back in the memory 250 for further processing, or the image may be provided to an external component (e.g., the memory 130, the display device 160, the electronic device 102, the electronic device 104, or the server 108) outside the camera module 180. According to an exemplary embodiment, the image signal processor 260 may be configured as at least a part of the processor 120, or the image signal processor 260 may be configured as a separate processor that operates independently of the processor 120. If the image signal processor 260 is configured as a separate processor from the processor 120, at least one image processed by the image signal processor 260 may be displayed as it is by the processor 120 via the display device 160, or the at least one image may be displayed after being further processed.

[0061] According to an exemplary embodiment, the electronic device 101 may include a plurality of camera modules 180 having different properties or functions. In this case, at least one camera module 180 of the plurality of camera modules 180 may form, for example, a wide-angle camera, and at least another camera module 180 of the plurality of camera modules 180 may form a telephoto camera. Similarly, at least one camera module 180 of the plurality of camera modules 180 may form, for example, a front camera, and at least another camera module 180 of the plurality of camera modules 180 may form a rear camera.

[0062] Figure 2B is a block diagram illustrating an electronic device and a server according to various embodiments.

[0063] Reference Figure 2B According to various embodiments, the electronic device 101 may include a processor 120, a memory 130, a display device 160, a camera module 180, and a communication module 190. The server 108 may include a processor 270, a memory 280, and a communication module (including, for example, a communication circuit) 284. According to an exemplary embodiment, the camera module 180 may include an image sensor 230, a processor 264, and a memory 250. The processor 264 may include a raw image processor 261, an image signal processor (ISP) 260, and an encoder 265, and the raw image processor 261 may include a lightweight image generator 262 and a raw image compressor 263. The processor 270 may include a preprocessor 271, an engine 272, an encoder 273, and an ISP 274. The memory 280 may include a database (DB) memory 281, an image memory 282, and a raw image memory 283.

[0064] According to various embodiments, the image sensor 230 may acquire a raw image of a target in a variety of formats. For example, the image sensor 230 may acquire a raw image in a variety of formats according to a color filter array (CFA) pattern. If the image sensor 230 includes a dual pixel structure (or a 2 photodiode (2PD) structure), the image sensor 230 may acquire a raw image including information related to different phase differences (or time differences) in one pixel. In addition, the image sensor 230 may include a plurality of image sensors having the same or different performances, such as but not limited to a dual sensor (e.g., RGB sensor + RGB sensor, RGB sensor + black and white (mono) sensor or wide angle sensor + remote sensor), and / or the image sensor 230 may include an array sensor including a plurality of sensors. In this case, the image sensor 230 may acquire one or more raw images for a scene. The acquired raw image may be stored in the memory 130 or the memory 250 as is or after additional processing.

[0065] According to various embodiments, the image sensor 230 may acquire raw images in a variety of formats. For example, if the raw image is in a Bayer format, the pixel may be represented in the raw image as one of red, green, and blue and have a bit depth of 8 to 16 bits. For example, a CFA mode may be applied to the raw image. The raw image may be in a layer structure having information about multiple colors (e.g., two or more of red, green, and blue) of each pixel. In addition to color information (RGB information), the image sensor 230 may acquire, for example, a raw image having phase difference information. Metadata for information related to image capture (e.g., capture time, location, and illumination) may be stored in association with the raw image.

[0066] According to various embodiments, the processor 264 may perform various processes related to the raw image received from the image sensor 230. The processor 264 may be implemented independently or incorporated into another processor (e.g., the processor 120). At least one of the lightweight image generator 262, the raw image compressor 263, the ISP 260, and the encoder 265 in the processor 264 may be incorporated into another processor (e.g., the processor 120). The processor 264 may be located inside or outside the camera module 180 (e.g., in the electronic device 101 or the server 108), or may be located both inside and outside the camera module 180. The processing performed in the processor 264 may be performed by the processor 264 alone or by a plurality of processors in a distributed manner.

[0067] According to various embodiments, the raw image processor 261 may perform various processes on the raw image acquired from the image sensor 230. For example, the raw image processor 261 may perform lens distortion compensation and / or remove at least part of the noise on the raw image. The lightweight image generator 262 may generate a lightweight image smaller in size than the raw image by using the raw image. Since the size of the raw image may be relatively large, the lightweight image generator 262 may generate a lightweight image smaller than the raw image before storing, processing or sending the raw image. For example, the lightweight image generator 262 may generate a lightweight image by performing various processes such as down-scaling, down-sampling or compression on the raw image. Down-scaling may represent, for example, a process of reducing the size or resolution of the raw image. Down-sampling may represent a process of generating a lightweight image by selecting only one or a portion of a plurality of samples generated by sampling. The raw image compressor 263 may compress the raw image or lightweight image by various image compression algorithms (not limited to any particular compression scheme).

[0068] ISP 260 can be referred to as before Figure 2AThe image processing is performed on the image acquired via the image sensor 230 or the image stored in the memory 250 as described above. The encoder 265 may generate a coded image by encoding the original image. The coded image may have a variety of formats, such as Joint Photographic Coding Experts Group (JPEG), Moving Picture Experts Group (MPEG), and / or a 360-degree image format.

[0069] According to various embodiments, at least one of the original image, the lightweight image, the compressed image, and the encoded image may be temporarily stored or non-temporarily stored in the memory 250. The processor 120 may send at least one of the original image and the compressed image to the server 108 via, for example, the communication module 190. The server 108 may receive at least one of the original image and the compressed image via the communication module 284. The communication module 284 may communicate with, for example, the communication module 190. The server 108 may be responsible for network management for the electronic device 101, service management related to available services and authorization, storage management, etc. The original image may be temporarily or non-temporarily stored in the original image memory 283 of the server 108.

[0070] According to various embodiments, the preprocessor 271 may perform required processing before sending the received raw image to the engine 272 or the ISP 274. For example, if the preprocessor 271 receives a compressed raw image via the communication module 284, the preprocessor 271 may decompress the compressed raw image to obtain the raw image. In addition, the preprocessor 271 may receive the raw image via the communication module 284. The preprocessor 271 may perform at least one of an image quality enhancement algorithm, demosaicing, and image format conversion on the received raw image or the raw image obtained by decompression.

[0071] According to various embodiments, the engine 272 may perform a variety of operations (e.g., target recognition, velocity vector determination, facial recognition, segmentation, scene parsing, and / or texture recognition) by analyzing the original image (or image file). The engine 272 may use a variety of algorithms to perform the various operations. According to various embodiments, since the server 108 may have relatively high computing power, a relatively large storage size, and relatively large resources, the server 108 may use algorithms with high computing requirements and newly developed algorithms. As a result of the various operations, the engine 272 may generate, store, and / or send available correction area information (e.g., target recognition results, velocity vectors, facial recognition results, segmentation results, scene categories, and / or texture information) to the ISP 274. The engine 272 may generate the correction area information in the form of multiple layers. Reference will be made to Figure 2C and Figure 2D The correction region information generated by engine 272 is described in more detail.

[0072] According to various embodiments, the ISP 274 may perform various image processing on the original image by using various information (e.g., correction area information) related to the original image analyzed by the engine 272. In another exemplary embodiment, the electronic device 101 may receive the correction area information and perform image processing by using the received correction area information. In this case, the electronic device 101 may perform image processing provided by the ISP 260 and image processing based on the correction area information in combination. The electronic device 101 may temporarily or non-temporarily store the image on which the image processing has been performed in the memory 130, or display the image on the display device 160. On the other hand, if the ISP 274 performs image processing as described above, the ISP 274 may perform image processing based on the correction area information. The ISP 274 may receive additional information (e.g., feature vector) corresponding to the correction area information from the DB memory 281, and use the received additional information in the image processing. The DB memory 281 may store various feature information corresponding to the image category, etc. The processed image may be sent to the electronic device 101 again, or stored in the image memory 282 of the server 108. ISP 274 may perform various processing such as white balance, color adjustment (e.g., color matrix, color correction, and / or color enhancement), color filter array interpolation, NR / sharpening, and / or image enhancement (e.g., HDR and face detection) based at least on the correction region information. ISP 274 may also perform image processing that requires a large amount of computation, such as initial color mapping, detail reproduction, text reconstruction, image restoration, etc.

[0073] According to various embodiments, the processor 270 may perform a first image processing scheme on the original image processed by the preprocessor 271, and perform a second image processing scheme different from the first image processing scheme on the original image. That is, the processor 270 may perform a plurality of different image processing on one original image, and thus generate a first corrected image as a result of the first image processing and a second corrected image as a result of the second image processing. The processor 270 may compare the first corrected image with the second corrected image, and generate a difference image based on the comparison result. The first image processing may be the same as the image processing performed in the ISP 260 of the electronic device 101. The second image processing may be, for example but not limited to, image processing that may be performed based on the correction area information from the engine 272 and / or may be image processing that requires a greater amount of calculation or greater resources than the first image processing. For example, the image that has been subjected to the second image processing may be an image that has been subjected to a higher degree of correction than the image that has been subjected to the first image processing. The pixel value of each pixel in the difference image may be calculated by subtracting the pixel value of each corresponding pixel in the first corrected image from the pixel value of each pixel in the second corrected image. The processor 270 may transmit the difference image or the compressed difference image obtained by compressing the difference image to the electronic device 101 via the communication module 284. The processor 120 may generate an image substantially the same as the second corrected image by using the received difference image and the image processed by the ISP 260, which will be described in more detail later.

[0074] Figure 2C and Figure 2D 2 is a diagram showing correction region information generated by a server according to various embodiments.

[0075] The server 108 may obtain, for example, Figure 2C 285. The server 108 may additionally receive metadata 286 for the original image 285. The metadata 286 may include information related to the following items: focal length, auto focus area, left-right orientation during shooting, color space, exposure time, aperture-related information (F number), photo shooting mode (exposure program) (e.g., automatic, aperture priority, shutter priority, manual and / or other), International Organization for Standardization (ISO) speed rating, raw data time (data time original) and / or other. In addition, although not shown, the metadata 286 may include information sensed by sensors other than the image sensor, such as the image capture position or illumination when the image is captured.

[0076] The server 108 (e.g., the engine 272) may perform object segmentation and recognition on the original image 285. The object may represent a region obtained by segmenting the original image 285 and may be referred to as an image region. For example, the server 108 may obtain Figure 2D . The server 108 may separate the targets 289, 290, 291, and 292 from the original image 285 based on various features of the original image 285 (such as edges, spots, etc.). The server 108 may apply a recognition algorithm to each of the targets 289, 290, 291, and 292, and thereby obtain a recognition result. For example, the external electronic device (e.g., a processor of the external electronic device) may obtain the result of recognizing the targets 289, 290, 291, and 292 by using a recognition algorithm obtained by subjecting a large number of DBs to machine learning or deep learning. The server 108 may obtain the following recognition results: the first target 291 indicates the sky, the second target 289 indicates a balloon, the third target 292 indicates a person, and the fourth target 290 indicates grass. The server 108 may obtain a segmentation map 288 including position information (or pixel coordinate information) related to the targets 289, 290, 291, and 292 and the recognition results of the targets 289, 290, 291, and 292.

[0077] The server 108 (e.g., the engine 272) may perform texture segmentation and recognition on the original image 285. The server 108 may obtain Figure 2D The texture segmentation map 293 shown in . The server 108 may, for example, perform texture recognition on the targets 289, 290, 291, and 292 for which target recognition has been performed, or further divide at least one of the targets 289, 290, 291, and 292 into segments and obtain texture recognition results for each segment. Texture may represent a component representing a predefined pattern or texture. A target may include multiple textures. The texture recognition algorithm may also be obtained by subjecting a large number of DBs to machine learning or deep learning. The server 108 may obtain a texture segmentation map 293, which includes position information (or pixel coordinate information) related to multiple texture targets 294, 295, 296, 297, 298, and 299 and texture recognition results.

[0078] The server 108 (e.g., the engine 272) may determine the reliability of the recognition result of the original image 285. The server 108 may determine at least one of the reliability of the target recognition result and the reliability of the texture recognition result. The server 108 may determine the classification information 287 related to the original image 285. The classification information 287 may represent the overall content of the original image 285. The server 108 may obtain the classification information 287 by applying the image classification algorithm to the original image 285. The server 108 may obtain the classification information 287 by using at least one of the target recognition result or the texture recognition result. In addition, the server 108 may directly obtain the classification information 287 from the original image 285. The classification information 287 may include overall scene classification result information representing, for example, ordinary green grass. The classification information 287 may include target information (e.g., sky, balloon, and grass), date information (e.g., 2016.8.xx.PM 2:00), location information (e.g., Seoul, South Korea), season information (e.g., summer), weather information (e.g., sunny day), exposure-related information (exposure time xx and ISO xxx), etc. The server 108 may obtain the classification information 287 by using the results of the application identification algorithm and the metadata.

[0079] The server 108 may generate correction area information including at least one of information related to target recognition, texture recognition, reliability of recognition results, and classification information. Figure 2DAs shown in , the server 108 may generate correction region information in multiple layers. The multi-layer correction region information may include a segmentation map 288, a texture segmentation map 293, a target recognition reliability map 251, and a texture recognition reliability map 252. The coordinates of a pixel may be the same in multiple maps 288, 293, 251, and 252, and correspond to a pixel of the original image. Therefore, multiple pieces of information (e.g., target attributes, texture attributes, accuracy of target attributes, and / or accuracy of texture attributes) may correspond to one pixel of the original image. The server 108 (e.g., ISP 274) may perform image processing by using the multi-layer correction region information. For example, ISP 274 may apply an effect corresponding to a balloon to a pixel of the original image, which corresponds to the pixel coordinates of a target that is a balloon in segmentation map 288. ISP 274 may apply an effect corresponding to enamel to a pixel of the original image corresponding to the pixel coordinates of a texture target that is being processed by enamel in texture segmentation map 293. Taking into account the target recognition reliability or texture recognition reliability, ISP 274 may adjust the degree of the applied effect. ISP 274 may apply an effect corresponding to an outdoor environment to the entire original image based on the image classification result (e.g., ordinary green grass). Server 108 may send the difference between the image to which the correction effect is applied and the image corrected by electronic device 101 to electronic device 101. Electronic device 101 may generate an image that has been corrected by server 108 by using the image corrected in electronic device 101 and the received difference, which will be described in more detail later. In addition, server 108 may send correction area information to electronic device 101, and electronic device 101 may perform image processing based on the received correction area information. Figure 2D The correction area information configured in multiple layers shown in FIG. 1 is only an example. Therefore, the correction area information can be configured as one-dimensional text information and is not limited to any specific data format. Figure 2D One or more layers may be omitted from the multiple layers shown in the figure, and one or more layers may be added thereto.

[0080] According to various embodiments, the server 108 can be referred to as Figure 2C and Figure 2D The described process processes at least one of the second corrected image and the third corrected image. To process the second corrected image, the server 108 may use the previously referenced Figure 2C and Figure 2D To process the third corrected image, the server 108 may use the previously referenced Figure 2C and Figure 2DAt least a portion of the process described in the present invention may be used, and other processes may be used in addition. In various embodiments, the process for the third corrected image may consume a greater amount of computation than the process for the second corrected image. Therefore, the third corrected image may be an image that has been subjected to a more refined correction.

[0081] According to various embodiments, at least one processor (e.g., at least one of processor 120 and processor 264) may be configured to: control acquisition of an original image of an external target by using a camera (e.g., camera module 180 or image sensor 230); generate a first corrected image from the original image by a first image processing scheme; control sending the original image to an external electronic device (e.g., server 108) via a communication module (e.g., communication module 190), so that the external electronic device (e.g., server 108) may generate difference image information corresponding to the difference between a second corrected image and a third corrected image, wherein the second corrected image is generated by processing the original image with the first image processing scheme and the third corrected image is generated by processing the original image with the second image processing scheme; and further correct the first corrected image based on the difference image information, so that the corrected first corrected image may correspond to the third corrected image.

[0082] According to various embodiments, at least one processor (e.g., at least one of processor 120 and processor 264) may be configured to: as at least part of an operation of generating a first corrected image, generate a first corrected image through a first image processing scheme, wherein the first image processing scheme is used to produce a first effect corresponding to at least one area of ​​the original image.

[0083] According to various embodiments, at least one processor (e.g., at least one of the processor 120 and the processor 264) may be configured to: receive difference image information generated based on a difference between a second corrected image generated by a first image processing scheme and a third corrected image generated by a second image processing scheme, wherein the first image processing scheme is used for a first effect and the second image processing scheme is used for a second effect for at least one region of the original image. The second image processing scheme may require a greater amount of computation than the first image processing scheme.

[0084] According to various embodiments, at least one processor (eg, at least one of processor 120 and processor 264) may be configured to control receiving compressed difference image information generated by losslessly compressing difference image information from an external electronic device (eg, server 108).

[0085] According to various embodiments, at least one processor (eg, at least one of the processor 120 and the processor 264 ) may be configured to obtain a difference image by decompressing the received compressed difference image information obtained based on lossless compression.

[0086] According to various embodiments, as at least part of an operation to further correct the first corrected image, at least one processor (e.g., at least one of processor 120 and processor 264) may be configured to generate an image corresponding to a third corrected image by adding the difference image to the first corrected image.

[0087] According to various embodiments, as part of an operation of sending an original image to an external electronic device via a communication module, at least one processor (e.g., at least one of processor 120 and processor 264) may be configured to: generate a compressed original image by compressing the original image, and control the sending of the compressed original image to an external electronic device (e.g., server 108) via the communication module 190.

[0088] According to various embodiments, at least one processor (e.g., at least one of processor 120 and processor 264) may be configured to: control receiving difference image information generated based on a second corrected image and a third corrected image, wherein the second corrected image is generated using a first image processing scheme after the compressed original image is decompressed and the third corrected image is generated using a second image processing scheme after the compressed original image is decompressed.

[0089] According to various embodiments, as at least part of an operation of sending an original image to an external electronic device via a communication module, at least one processor (e.g., at least one of processor 120 and processor 264) may be configured to: control sending at least one identification information to an external electronic device (e.g., server 108), wherein the at least one identification information identifies the electronic device 101, at least a portion of information related to at least one processor (e.g., processor 120 or processor 264), and at least one of the first image processing schemes stored in the electronic device 101.

[0090] According to various embodiments, at least one processor (e.g., at least one of processor 120 and processor 264) may be configured to: control the reception of difference image information generated based on the difference between a third corrected image and a second corrected image generated by a first image processing scheme, wherein the first image processing scheme is selected based at least on at least one piece of identification information.

[0091] According to various embodiments, at least one piece of identification information may be included in metadata of the original image, or may be configured independently of the metadata of the original image.

[0092] According to various embodiments, at least one processor (e.g., at least one of processor 120 and processor 264) may be configured to generate a first encoded image by encoding a first corrected image with a first encoding scheme that does not require another frame image among high efficiency video coding (HEVC) encoding schemes.

[0093] According to various embodiments, at least one processor (e.g., at least one of processor 120 and processor 264) may be configured to: control receiving a second encoded image from an external electronic device (e.g., server 108) via the communication module 190, wherein the second encoded image is obtained by encoding a third corrected image with a second encoding scheme that requires another frame image in the HEVC encoding scheme with reference to the second corrected image.

[0094] According to various embodiments, as at least part of an operation to further correct the first corrected image, at least one processor (e.g., at least one of processor 120 and processor 264) may be configured to: decode the first encoded image and the second encoded image to generate an image corresponding to a third corrected image.

[0095] According to various embodiments, at least one processor (e.g., at least one of the processor 120 and the processor 264) may be configured to: control acquiring an original image of an external target by using a camera (e.g., the camera module 180 and / or the image sensor 230); generate a first converted image by converting the format of the original image into a predetermined format; control sending the original image to an external electronic device via a communication module; control receiving difference image information between a second converted image and a first corrected image from the external electronic device via the communication module 190, wherein the second converted image is generated by converting the format of the original image into a predetermined format and the first corrected image is generated by applying an image processing scheme stored in the external electronic device to the original image; and generate a second corrected image corresponding to the first corrected image by using the received difference image information and the first converted image.

[0096] According to various embodiments, at least one processor (e.g., at least one of processor 120 and processor 264) may be configured to: acquire an original image of an external target by using a camera (e.g., camera module 180 and / or image sensor 230); if communication module 190 is turned off, generate a first corrected image of the original image and store the first corrected image in memory 130; and if communication module 190 is turned on, control sending of the original image to an external electronic device (e.g., server 108) via communication module 190, control receiving first data from the external electronic device (e.g., server 108), generate a second corrected image by using the first data and the first corrected image, and store the second corrected image in memory 130.

[0097] According to various embodiments, at least one processor (e.g., processor 270) may be configured to: control receiving an original image acquired by an external electronic device (e.g., electronic device 101) via a communication module (e.g., communication module 284); generate difference image information corresponding to the difference between a first corrected image and a second corrected image, wherein the first corrected image is generated with a first image processing scheme set corresponding to the external electronic device (e.g., electronic device 101) and the second corrected image is generated with a second image processing scheme set corresponding to the electronic device (e.g., server 108); and control sending the difference image information to the external electronic device (e.g., electronic device 101) via the communication module (e.g., communication module 284).

[0098] According to various embodiments, as at least part of the operation of generating the difference image information, at least one processor (eg, processor 270) may be configured to generate compressed difference image information by losslessly compressing the difference image information.

[0099] According to various embodiments, as at least part of an operation of receiving an original image, at least one processor (e.g., processor 270) may be configured to: control receiving at least one identification information, wherein the at least one identification information identifies an external electronic device (e.g., electronic device 101), at least a portion of information related to at least one processor of the external electronic device (e.g., electronic device 101), and a first image processing scheme stored in the external electronic device (e.g., electronic device 101); and as at least part of an operation of generating difference image information, at least one processor (e.g., processor 270) may be configured to generate difference image information based on a difference between a first corrected image and a second corrected image, wherein the first corrected image is generated using a first image processing scheme selected based at least on the at least one identification information.

[0100] According to various embodiments, at least one piece of identification information may be included in metadata of the original image, or may be configured independently of the metadata of the original image.

[0101] According to various embodiments, as at least part of an operation of generating difference image information, at least one processor (e.g., processor 270) may be configured to generate an encoded image by encoding the second corrected image with reference to the first corrected image using a second encoding scheme that requires another frame image among the HEVC encoding schemes; and as at least part of an operation of sending the difference image information to an external electronic device, at least one processor (e.g., processor 270) may be configured to control sending the encoded image to an external electronic device (e.g., electronic device 101) via a communication module (e.g., communication module 284).

[0102] Figure 3 is a flowchart illustrating a method for operating an electronic device and a server according to various embodiments. Figure 4A , Figure 4B and Figure 4C Describe in more detail Figure 3 The embodiment shown in FIG. Figure 4A An image corrected by an electronic device or a server according to various embodiments is shown. Figure 4B An image corrected by a server is shown according to various embodiments. Figure 4C Difference images are shown according to various embodiments.

[0103] Reference Figure 3 According to various embodiments, the electronic device 101 (e.g., the processor 120) may acquire a first image corresponding to an external target, i.e., an original image of the external target, by using the camera module 180 in operation 301. In operation 303, the electronic device 101 may send the first image to the server 108. For example, the electronic device 101 may send the first image to the server 108 in the form of an original image, or compress the first image and send the compressed first image. In an exemplary embodiment, the electronic device 101 may be configured to send the first image in response to the acquisition once the electronic device 101 acquires the first image via the camera module 180. In another exemplary embodiment, the electronic device 101 may be configured to send the first image in response to receiving an additional input from a user. For example, the electronic device 101 may display the first image or an image obtained by correcting the first image on the display device 160, and additionally display a user interface on which an additional correction performed via the server 108 may be selected. For example, the electronic device 101 may display an additional correction request target that overlaps at least a portion of the image displayed on the display device 160. Upon detecting the selection of the additional correction request target, the electronic device 101 may send the first image to the server 108. For example, but not limited to, the electronic device 101 may display information on the display device 160 regarding the size of the first image, the expected upload time, the expected correction time, and / or a message notifying that charges may be incurred. In another exemplary embodiment, whether to send the first image may be determined based at least on the communication connection status of the electronic device 101. For example, if the electronic device 101 is determined to be connected to a cellular network, the electronic device 101 may postpone sending the first image, and then if the electronic device 101 is determined to be connected to a network that complies with a standard such as Wi-Fi, the electronic device 101 may send the first image in response to connecting to the network. If the electronic device 101 supports multiple communication schemes, the electronic device 101 may determine whether to send the first image based on the activated communication scheme. Although in Figure 3The sending of the first image (operation 303) is shown as before generating the first corrected image (operation 305), but this is only an example and not a limitation. When the aforementioned various conditions are met, the electronic device 101 may send the first image. For example, the first image may be sent to the server 108 after generating the first corrected image.

[0104] According to various embodiments, the electronic device 101 (e.g., the ISP 260 of the electronic device 101) may generate a first corrected image based on at least the first image. For example, the electronic device 101 may generate the first corrected image by applying a first image processing scheme to the first image. The first image processing scheme may be set by the ISP 260 of the electronic device 101. The first image processing scheme set by the ISP 260 may include, but is not limited to, a variety of processes such as white balance, color adjustment, color filter array interpolation, NR / sharpening, and / or image enhancement. The first image processing scheme set by the ISP 260 may be fixed or may be updated. The first image processing scheme may include a variety of image processing, and a processing order may be set between the multiple image processing. For example, the electronic device 101 may apply white balance, color adjustment, and sharpening to the original image in a predetermined order. In another exemplary embodiment, the processing order may not be set between the multiple image processing.

[0105] According to various embodiments, the server 108 (e.g., the ISP 274 of the server 108) may generate a second corrected image based on at least the first image, and generate a third corrected image based on at least the first image in operation 307. The server 108 may generate the first corrected image by applying a first image processing scheme to the first image, and generate the third corrected image by applying a second image processing scheme different from the first image processing scheme to the first image. That is, since the server 108 generates the second corrected image by applying the same image processing scheme as the first image processing scheme to the first image, the second corrected image may be substantially the same as the first corrected image.

[0106] According to various embodiments, the server 108 may determine a first image processing scheme for the electronic device 101. The server 108 may determine identification information (e.g., model information) related to the electronic device 101, and determine a first image processing scheme corresponding to the identification information. For example, the server 108 may store model information related to various electronic devices 101 and associated information related to the image processing scheme corresponding to the model information. The server 108 may store, for example, the associated information listed in Table 1.

[0107] Table 1

[0108] Model Information Image processing solutions abc model of company A White balance, noise reduction, sharpening and / or image enhancement A company's bcd model Noise reduction, sharpening and / or image enhancement B company bef model White balance, noise reduction, sharpening and / or image enhancement

[0109] The server 108 may identify the first image processing scheme of the electronic device 101 with reference to the association information of Table 1. In another exemplary embodiment, the server 108 may store association information between the model information and the identification information related to the image processing algorithm (or image processing program). In this case, the server 108 may check the identification information related to the image processing algorithm (or image processing program) corresponding to the model information about the electronic device 101, and apply the identified image processing scheme to the first image. If the first image processing scheme also defines a processing order between multiple image processings, the server 108 may apply the identified image processing to the first image in the defined processing order. For example, the server 108 may generate a first image by subjecting the first image to NR, sharpening, and / or image enhancement of the first image processing scheme. Figure 4A As described above, the electronic device 101 may also generate a second corrected image 401 by applying the first image processing scheme to the first image. Figure 4A The corrected image 401 is shown in .

[0110] According to various embodiments, the electronic device 101 may update the image processing program of the ISP 260. In this case, the server 108 may manage association information between the image processing scheme (or image processing program) and unique identification information related to the electronic device 101 (rather than model information related to the electronic device 101). For example, if the server 108 has sent a file for updating the image processing program to the electronic device 101, the server 108 may store information related to the sent file in association with the file. Then, upon receiving a first image from the electronic device 101, the server 108 may generate a second corrected image by applying a first image processing scheme to the first image, the first image processing scheme being determined based on at least the identification information related to the electronic device 101 and the stored association information. If the server 108 receives an image from another electronic device (e.g., the electronic device 104), the server 108 may apply a third image processing scheme different from the first image processing scheme to the received first image.

[0111] According to various embodiments, the server 108 (e.g., the ISP 274 of the server 108) may generate a third corrected image by applying a second image processing scheme to the received first image. The second image processing scheme may be an image processing scheme set in the server 108, and may be an image processing that may perform more accurate corrections that require a relatively large amount of calculation or relatively large resources. The second image processing scheme may be, for example, an image processing scheme that cannot be executed in the electronic device 101, and the server 108 may update the second image processing scheme to the latest image processing algorithm. In addition, the second image processing scheme may use a plurality of correction area information acquired from the first image. For example, the server 108 may generate a third corrected image by using the correction area information. Figure 4B The third corrected image 402 shown in , wherein the correction area information indicates that: the first image has scene classification information indicating an outdoor environment, the recognition result of the first area in the first image is a face, and the recognition result of the second area in the first image is the sky. Figure 4B As shown in , the server 108 may apply the image processing effect corresponding to the face to the first area 421 of the third corrected image 402, and apply the image processing effect corresponding to the sky to the second area 422. It can be seen that Figure 4B The first region 421 in is processed as Figure 4A The first area 411 in is brighter, and Figure 4B The second region 422 in is processed as Figure 4A The second region 412 in the image is brighter. In addition to the image processing scheme based on the correction region information, the server 108 may also generate the third corrected image by an image processing scheme that does not use the correction region information. In addition, the server 108 may generate the third corrected image only by an image processing scheme that does not use the correction region information. Although the second image processing scheme may include at least a portion of the image processing included in the first image processing scheme, in other exemplary embodiments, the second image processing scheme may be implemented using image processing different from the image processing of the first image processing scheme.

[0112] According to various embodiments, the server 108 may generate difference image information between the second corrected image and the third corrected image in operation 309. For example, the server 108 may calculate the difference between the pixel value of a pixel in the second corrected image and the pixel value of a corresponding pixel in the third corrected image, and generate the difference image based at least on the calculation result. For example, if the pixel value of a pixel at coordinate (i, j) in the second corrected image is c (i,j) And the pixel value of the pixel at the coordinate (i, j) in the third corrected image is d (i,j) , the server 108 may determine the pixel value of the pixel at the coordinate (i, j) in the difference image as d (i,j) -c(i,j) If the size of the second corrected image or the third corrected image is AxB, i may be a natural number equal to or greater than 1 and equal to or less than A, and j may be a natural number equal to or greater than 1 and equal to or less than B. The server 108 may generate a difference image by calculating the difference between at least part of the pixels of the second corrected image and the third corrected image. For example, Figure 4C An exemplary difference image 403 is shown. Since both the second corrected image 401 and the third corrected image 402 are images corrected for the original image, the second corrected image 401 and the third corrected image 402 may have similar pixel values. Figure 4C As shown in , most pixels of the difference image 403 may have values ​​close to 0, which may be caused by the small difference between the second corrected image 401 and the third corrected image 402. On the other hand, in another exemplary embodiment, the server 108 may generate the difference image information directly from the original image instead of directly generating and storing the second corrected image and the third corrected image. For example, the server 108 may store a processing algorithm that directly generates the difference image information corresponding to the difference between the second corrected image processed by the first image processing scheme and the third corrected image processed by the second image processing scheme. In this case, the server 108 can directly obtain the difference image information by applying the processing algorithm to the original image.

[0113] According to various embodiments, the server 108 may send the difference image information to the electronic device 101 in operation 311. The server 108 may send the difference image directly to the electronic device 101, or may send the result of compressing the difference image to the electronic device 101. That is, the difference image information may be configured as a difference image or a file in which the difference image is compressed. In operation 313, the electronic device 101 may generate a fourth corrected image based on at least the first corrected image and the difference image information. For example, the electronic device 101 may add the difference image identified from the received difference image information to the first corrected image, thereby generating a fourth corrected image. The pixel value of the pixel (i, j) in the difference image may be d (i,j) -c (i,j) , and since the pixel value of the pixel (i, j) in the first corrected image is c (i,j) , thus the pixel value of the pixel (i, j) in the fourth corrected image generated by adding the first corrected image and the difference image may be d (i,j) . The fourth corrected image may be substantially the same as the second corrected image. Therefore, even if the electronic device 101 does not support the second image processing scheme, the electronic device 101 may generate a fourth corrected image that is substantially the same as the second corrected image to which the second image processing scheme has been applied. In various embodiments, the process of generating the fourth corrected image in the electronic device 101 may be represented as a process of further correcting the first corrected image.

[0114] On the other hand, if the communication module 190 is disconnected, the electronic device 101 may not receive the difference image information, and thus may generate the first corrected image. If the communication module 190 is turned on, the electronic device 101 may receive the difference image information, and thus generate the fourth corrected image by adding the difference image to the first corrected image. Therefore, the electronic device 101 may generate different images depending on whether the communication module 190 is turned on or off. The first corrected image may be different from the original image acquired by the electronic device 101, and the second corrected image may also be different from the original image. In addition, the difference between the first corrected image generated when the communication module 190 is disconnected and the fourth corrected image generated when the communication module 190 is turned on may correspond to the information (i.e., the difference image information) included in the communication signal received by the electronic device 101 from the server 108. For example, the information obtained by decompressing the information included in the communication signal may be the same as the difference between the corrected image generated when the communication module 190 is turned on and the corrected image generated when the communication module 190 is disconnected.

[0115] Figure 5 is a flowchart illustrating a method for operating an electronic device and a server according to various embodiments. Figure 6 Further description Figure 5 implementation method. Figure 6 is a block diagram illustrating an electronic device and a server according to various embodiments.

[0116] According to various embodiments, the electronic device 101 may acquire a first image corresponding to an external object by using the camera module 180 in operation 501. In operation 503, the electronic device 101 may send the first image to the server 108. For example, Figure 6 As shown in , a first image (i.e., an original image) may be output from a camera module 180 of an electronic device 101, and the electronic device 101 may output the first image to a first ISP 601 of the electronic device 101, and transmit the first image to a server 108. In operation 505, the electronic device 101 (e.g., the first ISP 601) may generate a first corrected image based on at least the first image. The first ISP 601 may generate the first corrected image by applying a first image processing scheme to the first image.

[0117] According to various embodiments, the server 108 may generate a second corrected image based on at least the first image in operation 507 (eg, Figure 6 B in FIG. 1 ), and generating a third corrected image based at least on the first image (e.g., Figure 6For example, the server 108 may configure the first ISP 612 of the same model as the first ISP 601 of the electronic device 101 in the form of a simulator, and thereby generate a second corrected image substantially the same as the first corrected image generated by the first ISP 601 of the electronic device 101 (e.g., Figure 6 B).

[0118] In operation 509, the server 108 may generate a difference image between the second corrected image and the third corrected image. Figure 6 As shown in FIG. 1 , the server 108 may be configured to receive a correction image from a third corrected image (eg, Figure 6 A) in the figure subtracts the second corrected image (e.g., Figure 6 B in ), thereby generating a difference image (e.g., Figure 6 AB in FIG. 5 ). In operation 511, the server 108 may compress the difference image. The server 108 (eg, the compression module 614) may compress the difference image by using, but not limited to, a variety of compression schemes. Figure 4C As shown in , most pixels of the difference image have values ​​close to 0, and the differences between the pixels are also relatively small. The reason is that the first ISP 612 may apply the first correction effect to all pixels of the original image, and the second ISP 611 may apply the second correction effect to all pixels of the original image. In this case, all pixels of the difference image may have values ​​corresponding to the difference between the second correction effect and the first correction effect, and thus may have relatively uniform values. In various embodiments, the server 108 may perform compression by using a lossless compression scheme, such as using a compression scheme (e.g., a run encoding scheme) that has a high compression rate for images with relatively uniform pixel values. In operation 513, the server 108 may send the compressed difference image. Since the compressed difference image has a reduced size due to compression, the compressed difference image can be sent to the electronic device 101 in a relatively short time.

[0119] According to various embodiments, the electronic device 101 (eg, Figure 6 The decompression module 602 in the electronic device 101 may decompress the received compressed difference image in operation 515. In operation 517, the electronic device 101 may generate a fourth corrected image based on at least the first corrected image and the difference image. As previously described, the fourth corrected image may be substantially the same as the third corrected image. For example, the electronic device 101 may generate the fourth corrected image by adding the first corrected image and the difference image as indicated by reference numeral 603. In operation 519, the electronic device 101 (e.g., Figure 6The compression module 604 in the DRAM 620 may generate a compressed image based on at least the fourth corrected image. For example, the compression module 604 may perform compression in a scheme defined in JPEG, and those skilled in the art will readily appreciate that the present disclosure is not limited to any particular compression scheme. The electronic device 101 may store the compressed image in a memory (e.g., the memory 621 of the DRAM 620). The present disclosure is not limited to the above-mentioned compression schemes and decompression schemes. For example, various lossless compression schemes may be used.

[0120] Fig. 7A is a flow chart illustrating run length encoding according to various embodiments.

[0121] According to various embodiments, the server 108 may acquire a difference image in operation 701. In operation 703, the server 108 may perform run encoding on the difference image. For example, if adjacent pixels have the same value (or the difference between the pixel values ​​of adjacent pixels is less than a threshold), the server 108 may generate encoded data of the difference image by using information indicating the number of consecutive pixels having the same value as the corresponding pixel value. As described above, the difference image is likely to have a relatively uniform value across all pixels of the difference image. Therefore, if the difference image is encoded by run encoding, the encoded data of the difference image may be smaller in size than the original data. In operation 705, the server 108 may send the encoded data to the electronic device 101. The electronic device 101 may decode the received encoded data in operation 707, for example, by applying a run decoding algorithm to the received data. In operation 709, the electronic device 101 may acquire a difference image as a result of the decoding. The electronic device 101 may generate an image substantially the same as the image corrected by the server 108 based at least on the acquired difference image and the corrected image autonomously generated by the electronic device 101.

[0122] Figure 7B is a flow chart illustrating a method for compressing an image according to various embodiments.

[0123] According to various embodiments, the server 108 may perform bit reduction in the spatial domain of an image (e.g., a difference image) in operation 711. In operation 713, the server 108 may remove isolated pixels of the image. In operation 715, the server 108 may determine whether there are coefficients in a block of the image. If it is determined that there are no coefficients in the block, the server 108 may perform zero-block coding on the block in operation 717. If it is determined that there are coefficients in the block, the server 108 may estimate the directivity by using a modified Gaussian filter in operation 719. The server 108 may determine whether the complexity exceeds a threshold complexity in operation 721. If the complexity is determined to exceed the threshold complexity, the server 108 may perform, for example, intra-frame prediction based on the estimated directivity in operation 723. In operation 725, the server 108 may perform a frequency transform. If the complexity is determined to be equal to or less than the threshold complexity, the server 108 may perform a frequency transform in operation 725 without performing intra-frame prediction. In operation 727, the server 108 may determine whether the sum of the frequency coefficients exceeds the threshold coefficient. If the sum of the frequency coefficients is determined to exceed the threshold coefficient, the server 108 may perform large quantization according to the directivity in operation 731, and if the sum of the frequency coefficients is determined to be equal to or less than the threshold coefficient, the server 108 may perform small quantization according to the directivity in operation 729. In operation 733, the server 108 may perform reordering according to the directivity. In operation 735, the server 108 may perform new entropy encoding. In operation 737, the server 108 may generate a compressed bin file. According to an exemplary embodiment, in addition to Fig. 7A and Figure 7B In addition to the method shown in , various other compression schemes (e.g., lossless compression schemes) may be used, and the present disclosure is not limited to any particular compression scheme.

[0124] Fig. 8A is a flowchart illustrating a method for operating an electronic device and a server according to various embodiments.

[0125] Reference Fig. 8A According to various embodiments, the electronic device 101 may acquire a first image corresponding to an external target by using the camera module 180 in operation 801. In operation 802, the electronic device 101 may compress the first image (i.e., the original image). The electronic device 101 may use a variety of compression schemes to compress the first image, thereby reducing the size of the original image. In operation 803, the electronic device 101 may send the compressed first image to the server 108.

[0126] According to various embodiments, the server 108 may decompress the compressed first image in operation 804. The server 108 may identify a compression scheme from the compressed image, and decompress the compressed first image based on the identified compression scheme. The server 108 may include multiple types of compression / decompression modules, and thus decompress images compressed with multiple compression schemes received from various electronic devices 101. For example, the server 108 may receive a compressed image from another electronic device (e.g., the electronic device 104). Then, the server 108 may decompress the compressed image by using a decompression module other than the decompression module corresponding to the electronic device 101. In operation 805, the electronic device 101 may generate a first corrected image based on at least the first image. The electronic device 101 may generate a first corrected image by applying a first image processing scheme to the first image. In operation 807, the server 108 may generate a second corrected image based on at least the first image, and generate a third corrected image based on at least the first image. The server 108 may generate a second corrected image by applying a first image processing scheme to the first image, and generate a third corrected image by applying a second image processing scheme to the first image. In operation 809, the server 108 may generate a difference image between the second corrected image and the third corrected image. In operation 811, the server 108 may send the difference image information to the electronic device 101. In operation 813, the electronic device 101 may generate a fourth corrected image based on at least the first corrected image and the difference image information. As described above, the fourth corrected image may be substantially the same as the third corrected image.

[0127] Figure 8B is a flowchart illustrating a method for operating an electronic device and a server according to various embodiments.

[0128] Previously referenced Fig. 8A Operations 801 to 809 have been described and thus will not be repeated here.

[0129] In operation 821, the server 108 may compress the difference image generated at operation 809. For example, the server 108 may compress the difference image information by using a run encoding scheme as described above. According to various embodiments, the server 108 may include a plurality of compression modules, and the server 108 may select a compression scheme for compression. The server 108 may select a compression scheme by using identification information related to the electronic device 101. In addition, the server 108 may select a compression scheme based on at least a compression scheme used by the electronic device 101 identified from the compressed first image received from the electronic device 101 in operation 803. The compression scheme executed by the electronic device 101 in operation 802 may be the same as or different from the compression scheme executed by the server 108 in operation 821. In operation 823, the server 108 may send the compressed difference image to the electronic device 101. In operation 825, the electronic device 101 may decompress the compressed difference image. The electronic device 101 may identify a compression scheme based on at least the data received in operation 823, and perform decompression based on at least the identified compression scheme. In addition, the electronic device 101 may perform decompression based on at least the compression scheme performed in operation 802. In operation 827, the electronic device 101 may generate a fourth corrected image based on at least the first corrected image and the difference image.

[0130] Fig. 9 is a flowchart illustrating a method for operating an electronic device and a server according to various embodiments. Fig.10 right Fig. 9 The implementation methods are described in more detail. Fig.10 is a view illustrating an image processing program in an electronic device and a server according to various embodiments.

[0131] According to various embodiments, the electronic device 101 may acquire a first image corresponding to an external object (i.e., an original image of the external object) by using a camera module in operation 901. In operation 903, the electronic device 101 may transmit the first image and identification information related to at least one of the electronic device 101 and the ISP 260 of the electronic device 101. The identification information related to the ISP 260 may include, for example, information identifying the ISP 260 or information indicating at least one image processing program used by the ISP 260. The electronic device 101 may transmit the first image and the identification information separately in different communication signals or transmit the first image and the identification information in one communication signal.

[0132] According to various embodiments, the server 108 may select a processing program corresponding to the received identification information from a plurality of image processing programs in operation 905. For example, Fig.10As shown in , the electronic device 101 (e.g., the ISP 260) may execute a first image processing scheme 1010, and the first image processing scheme 1010 may include image processing programs of CFA interpolation 1011, white balance (WB) / color adjustment 1012, noise reduction (NR) / sharpening 1013, and image enhancement 1014. The server 108 may store, for example, a plurality of image processing programs 1020. The plurality of image processing programs 1020 may include initial color mapping 1021, detail reproduction 1022, text reconstruction 1023, image restoration 1024, CFA interpolation 1025, WB / color adjustment 1026, NR / sharpening 1027, and image enhancement 1028. The electronic device 101 may send identification information 1050 identifying the first image processing scheme 1010 to the server 108. The server 108 may select a portion 1030 of the plurality of image processing programs 1020 based on the received identification information 1050. The server 108 may select a portion 1030 of the plurality of image processing programs 1020 to perform the same image processing as in the first image processing scheme performed by the electronic device 101 .

[0133] In operation 906, the electronic device 101 may generate a first corrected image based on at least the first image. The electronic device 101 may generate a first corrected image by, for example, Fig.10 The image processing programs 1011, 1012, 1013, and 1014 included in the first image processing scheme 1010 shown in FIG. 1 are applied to the first image to generate a first corrected image. In operation 909, the server 108 may generate a second corrected image based on at least the first image through the selected processing program, and generate a third corrected image based on at least the first image through multiple image processing programs. For example, Fig.10 As shown in , the server 108 may generate a second corrected image by applying an image processing program 1030 corresponding to the electronic device 101 selected from a plurality of image processing programs 1020. The server 108 may generate a second corrected image by applying, for example, Fig.101020 to generate a third corrected image. The server 108 may generate a third corrected image by applying all of the stored multiple image processing programs 1020 to the first image or applying a portion of the stored multiple image processing programs 1020 to the first image. The server 108 may, for example, determine the correction area information from the first image, and generate the third corrected image by applying at least a portion of the multiple image processing programs 1020 to the first image based on the correction area information. For example, the server 108 may focus on applying sharpening and detail enhancement to the area corresponding to the hair of the person, and focus on applying noise reduction to the area corresponding to the face of the person. For example, the server 108 may generate a feature vector corresponding to the classification information, map the initial color of the target, and regenerate the details of the target. For example, the server 108 may perform text reconstruction through text recognition, and perform image repair to fill the erased portion of the identified target. In operation 911, the server 108 may generate difference image information between the second corrected image and the third corrected image. In operation 913, the server 108 may send the difference image information to the electronic device 101. In operation 915 , the electronic device 101 may generate a fourth corrected image substantially the same as the third corrected image based on at least the first corrected image and the difference image information.

[0134] Fig.11 is a flowchart illustrating a method for operating an electronic device and a server according to various embodiments.

[0135] According to various embodiments, the electronic device 101 may acquire a first image corresponding to an external object (i.e., an original image of the external object) by using the camera module 180 in operation 1101. In operation 1103, the electronic device 101 may transmit identification information related to at least one of the electronic device and the ISP in metadata of the first image. According to various embodiments, the electronic device 101 may include information for simulating an ISP in the server 108 in the metadata of the first image (i.e., the original image).

[0136] In operation 1105, the server 108 may check the identification information related to the electronic device 101 or the ISP 260 in the metadata of the first image, and select an image processing program corresponding to the identification information from among a plurality of image processing programs. In operation 1106, the electronic device 101 may generate a first corrected image based at least on the first image. In operation 1107, the server 108 may generate a second corrected image based at least on the first image by using the selected processing program. The second corrected image may be substantially the same as the first corrected image. In operation 1109, the server 108 may generate a third corrected image based at least on the first image by at least a portion of the plurality of image processing programs. In operation 1111, the server 108 may generate difference image information between the second corrected image and the third corrected image. In operation 1113, the server 108 may send the difference image information to the electronic device 101. In operation 1115, the electronic device 101 may generate a fourth corrected image substantially the same as the third corrected image based at least on the first corrected image and the difference image information.

[0137] Fig.12 is a flowchart illustrating a method for operating an electronic device and a server according to various embodiments. Fig.13 right Fig.12 The implementation methods are described in more detail. Fig.13 is a block diagram illustrating a server and an electronic device without an ISP according to various embodiments.

[0138] According to various embodiments, the electronic device 101 may acquire a first image corresponding to an external object (ie, an original image of the external object) by using the camera module 180 in operation 1201. Fig.13 As shown in , the processor 120 of the electronic device 101 may include a decompression module 602, a compression module 604 and / or a conversion module 1301. According to various embodiments, the electronic device 101 may not include an ISP that runs an image processing program. In operation 1203, the electronic device 101 may send the first image to the server 108.

[0139] According to various embodiments, the electronic device 101 may convert the format of the first image in operation 1205. For example, the electronic device 101 may convert the format of the original image into the format of the corrected image (YUV format). The electronic device 101 may only convert the format of the original image into the format of the corrected file without performing image processing for correction. This may be intended to unify the formats of the images in a later summing process. For example, Fig.13As shown in FIG. 1 , the conversion module 1301 may generate an image R′ obtained by converting the format of the first image (ie, the original image). In operation 1207, the server 108 may generate a conversion image by converting the format of the received first image, and generate a first corrected image based on at least the first image. For example, Fig.13 As shown in FIG. 1 , the server 108 may include a conversion module 1302 that is the same as the conversion module 1301 of the electronic device 101, and the conversion module 1302 may generate a conversion image R' by converting the format of the received first image. The ISP 611 of the server 108 may generate a first corrected image A. In operation 1209, the electronic device 101 may generate a difference image between the conversion image and the first corrected image. For example, Fig.13 As shown in FIG. 1 , the server 108 may subtract the conversion image R′ from the first corrected image A as indicated by reference numeral 613, thereby generating a difference image A-R′. In operation 1211, the server 108 may send the difference image information to the electronic device 101. For example, Fig.13 As shown in , the server 108 may compress the difference image A-R' by using the compression module 614 and send the compressed difference image (i.e., the difference image information) to the electronic device 101. In operation 1213, the electronic device 101 may generate a second corrected image based on at least the conversion image and the difference image information. For example, the electronic device 101 may decompress the received compressed difference image by using the decompression module 602 to obtain the difference image A-R'. The electronic device 101 may sum the conversion image R' and the difference image A-R' as indicated by reference numeral 603 to generate a second corrected image. The second corrected image may be substantially the same as the first corrected image. For example, if the pixel value of the pixel (i, j) in the conversion image R' is R' (i,j) And the pixel value of pixel (i, j) in the first corrected image A is d (i,j) , then the pixel value of pixel (i, j) in the difference image can be d (i,j) -R' (i.j) Then, the pixel value of the pixel (i, j) in the second corrected image generated by the summation module 603 may be d (i,j) (=R' (i.j) +(d (i,j) -R' (i.j))). Therefore, the second corrected image may be substantially the same as the first corrected image. The electronic device 101 may compress the second corrected image in JPEG format, for example, by the compression module 604, and store the compressed second corrected image in a memory (e.g., the memory 621 of the DRAM 620). As described above, even if the electronic device 101 according to each embodiment includes only the conversion module 1301 capable of converting only the format but does not include an ISP, the electronic device 101 may obtain the same corrected image as the corrected image processed in the server 108.

[0140] Fig.14 is a flowchart illustrating a method for operating an electronic device and a server according to various embodiments. Fig.15 right Fig.14 The implementation methods are described in more detail. Fig.15 is a block diagram illustrating an electronic device and a server according to various embodiments.

[0141] According to various embodiments, the electronic device 101 may acquire a first image corresponding to an external target (i.e., an original image of the external target) by using the camera module 180 in operation 1401. In operation 1403, the electronic device 101 may generate a first corrected image based on at least the first image. In operation 1405, the electronic device 101 may send the first corrected image. In operation 1407, the electronic device 101 may send the first image. The order of sending the first corrected image and the first image is not limited. For example, sending the first image to the server 108 may be before sending the first corrected image to the server 108. For example, as Fig.15 As shown in , the first ISP 601 of the electronic device 101 may generate a first corrected image B by applying the first image processing scheme to the first image. The electronic device 101 may send the first corrected image B to the server 108 via the communication module 190. The electronic device 101 may, for example, send the first image acquired from the camera module 180 to the server 108 via the communication module 190. The first corrected image B may be temporarily or non-temporarily stored in the video RAM (VRAM) 1501 and displayed as a preview image on the display.

[0142] According to various embodiments, the server 108 may generate a second corrected image based on at least the first image in operation 1409. In operation 1411, the server 108 may generate a difference image between the second corrected image and the first corrected image. Fig.15As shown in , the second ISP 611 of the server 108 may generate a second corrected image A by applying a second image processing scheme different from the first image processing scheme to the received first image (i.e., the original image). The server 108 may generate a difference image AB by subtracting the received first corrected image B from the generated second corrected image A as indicated by reference numeral 613. The server 108 may generate a compressed difference image (i.e., difference image information) by compressing the difference image AB using a compression module 614. In operation 1413, the server 108 may send the difference image information to the electronic device 101.

[0143] In operation 1415, the electronic device 101 may generate a third corrected image based on at least the first corrected image and the difference image information. Fig.15 As shown in , the decompression module 602 of the electronic device 101 may generate a difference image AB by decompressing the difference image information (i.e., the compressed difference image received from the server 108). The electronic device 101 may generate a third corrected image C by adding the first corrected image B to the difference image AB as indicated by reference numeral 603. The third corrected image C may be substantially the same as the second corrected image A. The electronic device 101 may compress the third corrected image C in a JPEG format, for example, by using a compression module 604. The electronic device 101 may store the image file in a memory 621 (e.g., DRAM 602) of the memory 130.

[0144] Fig.16 is a flowchart illustrating a method for operating an electronic device and a server according to various embodiments. Fig.17 right Fig.16 The implementation methods are described in more detail. Fig.17 is a block diagram illustrating an electronic device and a server according to various embodiments.

[0145] According to various embodiments, the electronic device 101 may acquire a first image corresponding to an external object (i.e., an original image of the external object) by using the camera module 180 in operation 1601. In operation 1603, the electronic device 101 transmits the first image to the server 108. In operation 1605, the electronic device 101 may generate a first corrected image based on at least the first image. For example, Fig.17 As shown in FIG. 1 , the first ISP 601 of the electronic device 101 may generate a first corrected image C by applying a first image processing scheme to the first image. In operation 1607, the server 108 may generate a second corrected image based on at least the first image, and generate a third corrected image based on at least the first image. Fig.17As shown in , the first ISP 612 of the server 108 may generate a second corrected image B by applying the first image processing scheme to the first image. The second ISP 611 of the server 108 may generate a third corrected image A by applying a second image processing scheme different from the first image processing scheme to the first image. Fig.17 In the embodiment, the first corrected image C and the second corrected image B may be substantially the same.

[0146] According to various embodiments, the electronic device 101 may encode the first corrected image by high efficiency video coding (HEVC) encoding in operation 1609, and store the encoded first corrected image. Fig.17 As shown in , the HEVC encoder 1721 of the electronic device 101 may generate a first coded image C' by applying a predetermined first coding scheme among the HEVC coding schemes to the first image. In the first coding scheme, the first image is coded without requiring another frame of image (e.g., coding for generating an I frame of image). The electronic device 101 may store the first corrected image C' in the memory 130 (e.g., the coded image memory 1701 of the DRAM 620). In operation 1611, the server 108 may perform HEVC coding on the second corrected image and the third corrected image. For example, as Fig.17 As shown in , the HEVC encoder 1711 of the server 108 may apply HEVC encoding to the second corrected image B and the third corrected image A. The server 108 may generate a second encoded image B' by applying a first encoding scheme among the HEVC encoding schemes to the second corrected image B. The server 108 may generate a third encoded image A' by applying a predetermined second encoding scheme among the HEVC encoding schemes to the third corrected image A. For example, the second encoding scheme may be an encoding that requires another frame of image (e.g., an encoding for generating a P frame image). The server 108 may encode the third corrected image A with reference to the second corrected image B. The size of the third encoded image A' generated by the second encoding scheme that requires another frame of image may be relatively small. The third encoded image A' may be generated based at least on the difference between the second corrected image B and the third corrected image A, and thus may be an example of difference image information. The encoded image may be stored in a variety of formats such as HEVC, and those skilled in the art will appreciate that the present disclosure may apply any encoding scheme as long as the encoding scheme encodes the video.

[0147] According to various embodiments, the server 108 may send the encoded data in operation 1613. In operation 1615, the electronic device 101 may generate a fourth corrected image by using the stored first encoded corrected image and the received encoded data. For example, the server 108 may send the third encoded image A' to the electronic device 101. The HEVC decoder 1722 of the electronic device 101 may receive the first encoded image C' from the encoded image memory 1701 and the third encoded image A' from the server 108. The HEVC decoder 1722 may independently decode the first encoded image C' and decode the third encoded image A' with reference to the decoded first corrected image C to generate a fourth corrected image D. The fourth corrected image D may be substantially the same as the third corrected image A. The electronic device 101 may store the fourth corrected image D in the image memory 621 (e.g., DRAM 620) of the memory 130.

[0148] Fig.18 are views illustrating methods for operating an electronic device and a server according to various embodiments.

[0149] The electronic device 101 may include an image sensor 230, an ISP 260, and a memory 130. The server 108 may include an identification module 1831, an ISP 274, and a memory 280. The identification module 1831 (e.g., at least a portion of the engine 272) may be a logic module and may be configured using a processor of the server 108. For example, the processor of the server 108 may perform both identification and image processing. Although not shown, the electronic device 101 may include a communication module 190 capable of sending and receiving data to and from the server 108. The server 108 may include a communication module 284 capable of sending and receiving data to and from the electronic device 101.

[0150] The image sensor 230 may acquire an image of an external object and generate an original image 1822 corresponding to the acquired image. The image sensor 230 may send the original image 1822 to the ISP 260. According to various embodiments of the present disclosure, the image sensor 230 may generate a lightweight image 1821 and send the lightweight image 1821 to the server 108 via a communication module. In another exemplary embodiment, instead of the image sensor 230, the processor of the electronic device 101 may generate a lightweight image 1821 and send the lightweight image 1821 to the server 108 via a communication module. The image sensor 230 may compress the lightweight image 1821 and store the compressed lightweight image 1821 in a memory of the image sensor 230 to process a portion of the original image 1822. The recognition module 1831 of the server 108 may acquire the lightweight image 1821 via the communication module and segment the lightweight image 1821 into at least one image region. The recognition module 1831 may recognize each of the at least one image region generated by segmentation. Correction region information 1832 including at least one of information related to a plurality of image regions generated by the recognition module 1831 (eg, information related to coordinates) and a recognition result of the image region may be generated. Figure 2D The correction region information 1832 shown in the figure may be sent to the electronic device 101. The ISP 260 may generate a correction image 1824 by correcting the original image 1822 using the correction region information 1832. The correction image 1824 may have, for example, a YUV format. The correction image 1824 may be stored in the memory 130. In addition, the correction image 1824 may be compressed, for example, in a JPEG format, and the compressed image may be stored in the memory 130.

[0151] According to various embodiments, the original image 1822 provided by the image sensor 230 may be sent to the server 108 separately from the lightweight image 1821. Since the original image 1822 is larger in size than the lightweight image 1821, the lightweight image 1821 may be sent to the server 108 first, and then the original image 1822 may be sent to the server 108. For example, the original image 1822 may be sent to the server 108 while the ISP 260 is correcting the original image 1822. The original image 1822 may be uploaded to the server 108 when it is generated by the image sensor 230, or uploaded to the server 108 after being pre-processed by lens distortion compensation or noise removal. The above-mentioned pre-processing may be performed in the server 108. The server 108 may perform pre-processing for demosaicing, converting image formats, and / or increasing image recognition rate. The ISP 274 of the server 108 may correct the received original image 1822. The server 108 may correct the original image 1822 by using the previously generated correction region information 1832 or by using the extended correction region information. The original image 1822 may have a higher resolution than the lightweight image 1821, and thus the server 108 may acquire specific extended correction region information from the high-resolution image. The ISP 274 may generate the extended correction region information by using both the previously generated correction region information and the original image 1822. The ISP 274 may acquire the high-resolution image 1834 by correcting the original image 1822 using the extended correction region information. The high-resolution image 1834 may be stored in the memory 280 of the server 108 and downloaded to the electronic device 101. In addition, the server 108 may generate a corrected image by applying the same image processing scheme as that used in the ISP 260 of the electronic device 101 to the original image 1822. The server 108 may send information about a difference image between the high-resolution image 1834 and the generated corrected image to the electronic device 101. The electronic device 101 may generate a high-resolution image 1834 by using the received difference image information and the corrected image 1824 .

[0152] The electronic device according to each embodiment may be one of various types of electronic devices. The electronic device may include, for example, a portable communication device (e.g., a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a household appliance. According to an embodiment of the present disclosure, the electronic device is not limited to those electronic devices described above.

[0153] It should be understood that the various embodiments of the present disclosure and the terms used therein are not intended to limit the technical features set forth herein to specific embodiments, but include various changes, equivalent forms or alternative forms for corresponding embodiments. For the description of the accompanying drawings, similar reference numerals may be used to refer to similar or related elements. It will be understood that the nouns in the singular form corresponding to the term may include one or more things, unless the relevant context clearly indicates otherwise. As used herein, each of the phrases such as "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C" and "at least one of A, B or C" may include any one or all possible combinations of the items listed together with the corresponding one of the multiple phrases. As used herein, terms such as "1st" and "2nd" or "first" and "second" may be used to simply distinguish the corresponding component from another component, and do not limit the component in other aspects (e.g., importance or order). It will be understood that if an element (e.g., a first element) is referred to as being “combined with another element (e.g., the second element)”, “combined to another element (e.g., the second element)”, “connected with another element (e.g., the second element)” or “connected to another element (e.g., the second element)” when the term “operably” or “communicatively” is used or when the term “operably” or “communicatively” is not used, it means that the element may be directly (e.g., wired) connected to the other element, wirelessly connected to the other element, or connected to the other element via a third element.

[0154] As used herein, the term "module" may include units implemented in hardware, software, or firmware, and may be used interchangeably with other terms (e.g., "logic," "logic block," "portion," or "circuit"). A module may be a single integrated component adapted to perform one or more functions or the smallest unit or portion of the single integrated component. For example, depending on the implementation, a module may be implemented in the form of an application specific integrated circuit (ASIC).

[0155] The various embodiments described herein may be implemented as software (e.g., program 140) including one or more instructions stored in a storage medium (e.g., internal memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). For example, under the control of a processor, a processor (e.g., processor 120) of the machine (e.g., electronic device 101) may call at least one of the one or more instructions stored in the storage medium and execute the at least one instruction with or without the use of one or more other components. This enables the machine to operate to perform at least one function according to the at least one instruction called. The one or more instructions may include code generated by a compiler or code that can be run by an interpreter. A machine-readable storage medium may be provided in the form of a non-transitory storage medium. Among them, the term "non-transitory" only means that the storage medium is a tangible device and does not include signals (e.g., electromagnetic waves), but the term does not distinguish between data being semi-permanently stored in the storage medium and data being temporarily stored in the storage medium.

[0156] According to the implementation, the method according to each implementation of the present disclosure may be included and provided in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be released in the form of a machine-readable storage medium (e.g., a compact disk read-only memory (CD-ROM)), or may be downloaded through an application store (e.g., Play Store TM ) The computer program product may be published (e.g., downloaded or uploaded) online, or the computer program product may be distributed (e.g., downloaded or uploaded) directly between two user devices (e.g., smart phones). If published online, at least part of the computer program product may be temporarily generated, or at least part of the computer program product may be at least temporarily stored in a machine-readable storage medium (such as a memory of a manufacturer's server, an application store's server, or a forwarding server).

[0157] According to various embodiments, each component (e.g., module or program) in the above-mentioned components may include a single entity or multiple entities. According to various embodiments, one or more components in the above-mentioned components may be omitted, or one or more other components may be added. Alternatively or additionally, multiple components (e.g., module or program) may be integrated into a single component. In this case, according to various embodiments, the integrated component may still perform the one or more functions of each component in the multiple components in the same or similar manner as a corresponding component in the multiple components before integration. According to various embodiments, the operations performed by a module, program or another component may be performed sequentially, in parallel, repeatedly or in a heuristic manner, or one or more operations in the operations may be run or omitted in different orders, or one or more other operations may be added.

[0158] According to various embodiments, a storage medium storing instructions may be provided. These instructions are configured to: when executed by at least one circuit, cause the at least one circuit to perform at least one operation. The at least one operation may include: acquiring an original image of an external target; generating a first corrected image from the original image by a first image processing scheme; sending the original image to an external electronic device so that the external electronic device generates difference image information corresponding to the difference between a second corrected image and a third corrected image, wherein the second corrected image is generated by processing the original image with the first image processing scheme and the third corrected image is generated by processing the original image with the second image processing scheme; and further correcting the first corrected image by using the difference image information so that the further corrected first corrected image corresponds to the third corrected image.

[0159] According to various embodiments, generating the first corrected image may include: generating the first corrected image using a first image processing scheme corresponding to the first effect for at least one region of the original image.

[0160] According to various embodiments, at least one operation may further include: receiving difference image information generated based on a difference between a second corrected image generated by a first image processing scheme and a third corrected image generated by a second image processing scheme, wherein the first image processing scheme is used for a first effect and the second image processing scheme is used for at least one area of ​​the original image and corresponds to the second effect. The second image processing scheme may require a greater amount of computation than the first image processing scheme.

[0161] According to various embodiments, at least one operation may further include receiving, from an external electronic device, compressed difference image information generated by losslessly compressing the difference image information.

[0162] According to various embodiments, at least one operation may further include: acquiring a difference image by decompressing the received difference image information compressed based on lossless compression.

[0163] According to various embodiments, further correcting the first corrected image may include generating an image corresponding to a third corrected image by adding the difference image to the first corrected image.

[0164] According to various embodiments, transmitting the original image to the external electronic device via the communication module may include generating a compressed original image by compressing the original image, and transmitting the compressed original image to the external electronic device via the communication module.

[0165] According to various embodiments, at least one operation may further include: receiving difference image information generated based on the difference between a second corrected image and a third corrected image, wherein the second corrected image is generated with a first image processing scheme after decompressing the compressed original image, and the third corrected image is generated with a second image processing scheme after decompressing the compressed original image.

[0166] According to various embodiments, sending an original image to an external electronic device may include: sending at least one piece of identification information to the external electronic device, wherein the at least one piece of identification information identifies the electronic device, at least a portion of information related to at least one processor, and at least one of the first image processing schemes stored in the electronic device.

[0167] According to various embodiments, at least one operation may further include receiving difference image information generated based on a difference between the third corrected image and a second corrected image generated with a first image processing scheme, wherein the first image processing scheme is selected based at least on at least one piece of identification information.

[0168] According to various embodiments, at least one piece of identification information may be included in metadata of the original image, or may be configured independently of the metadata of the original image.

[0169] According to various embodiments, at least one operation may further include generating a first encoded image by encoding the first corrected image in a first encoding scheme that does not require another frame image among HEVC encoding schemes.

[0170] According to various embodiments, at least one operation may further include: receiving a second encoded image from an external electronic device, the second encoded image being obtained by encoding the third corrected image with reference to the second corrected image using a second encoding scheme requiring another frame image among HEVC encoding schemes.

[0171] According to various embodiments, further correcting the first corrected image may include generating an image corresponding to a third corrected image by decoding the first encoded image and the second encoded image.

[0172] According to various embodiments, a storage medium storing instructions may be provided. The instructions are configured to cause the at least one circuit to perform at least one operation when executed by at least one circuit. The at least one operation may include: receiving an original image acquired by an external electronic device; generating difference image information corresponding to a difference between a first corrected image and a second corrected image, wherein the first corrected image is generated by processing the original image with a first image processing scheme set corresponding to the external electronic device, and the second corrected image is generated by processing the original image with a second image processing scheme set corresponding to the electronic device; and sending the difference image information to the external electronic device.

[0173] According to various embodiments, generating the difference image information may include generating compressed difference image information by losslessly compressing the difference image information.

[0174] According to various embodiments, receiving an original image may include: receiving at least one piece of identification information identifying at least one of the external electronic devices, at least a portion of information related to at least one processor of the external electronic device, or a first image processing scheme stored in the external electronic device, and generating difference image information may include: generating difference image information based on the difference between the first corrected image and the second corrected image, wherein the first corrected image is generated using the first image processing scheme selected based at least on the at least one piece of identification information.

[0175] According to various embodiments, at least one piece of identification information may be included in metadata of the original image, or may be configured independently of the metadata of the original image.

[0176] According to various embodiments, generating difference image information may include: generating an encoded image by encoding the second corrected image with reference to the first corrected image using a second encoding scheme that requires another frame image among HEVC encoding schemes, and sending the difference image information may include: sending the encoded image to an external electronic device.

[0177] According to various embodiments, a storage medium storing instructions may be provided. The instructions are configured to cause the at least one circuit to perform at least one operation when executed by at least one circuit. The at least one operation may include: acquiring an original image of an external target by using a camera; generating a first converted image by converting the format of the original image into a predetermined format; sending the original image to an external electronic device via a communication module; receiving difference image information between a second converted image and a first corrected image from the external electronic device via the communication module, wherein the second converted image is generated by converting the format of the original image into a predetermined format and the first corrected image is generated by applying an image processing scheme stored in the external electronic device to the original image; and generating a second corrected image corresponding to the first corrected image by using the received difference image information and the first converted image.

[0178] According to various embodiments, each of the above-mentioned components (e.g., a module or a program) may include a single entity or multiple entities. According to an exemplary embodiment, one or more of the above-mentioned components may be omitted, or one or more other components may be added. Alternatively or additionally, multiple components (e.g., a module or a program) may be integrated into a single component. In this case, according to various embodiments, the integrated component may still perform the one or more functions of each of the multiple components in the same or similar manner as one or more functions performed by a corresponding one of the multiple components before integration. According to various embodiments, the operations performed by a module, a program or another component may be performed sequentially, in parallel, repeatedly or in a heuristic manner, or one or more of the operations may be run or omitted in a different order, or one or more other operations may be added.

[0179] As is apparent from the foregoing description, an electronic device and a method for operating the electronic device according to various exemplary embodiments may be provided, wherein an original image is sent to a cloud server, a difference between the original image and a corrected image (which may be difficult to obtain or take a lot of time to obtain in an ISP of the electronic device) is received from the cloud server, and an image corrected by the cloud server is generated by using the original image and the difference. Therefore, even if the electronic device does not support the latest correction algorithm or includes a low-specification ISP, image correction that may be performed by the latest algorithm or a high-specification electronic device may be performed.

[0180] While the present disclosure has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present disclosure as defined by the appended claims and their equivalents.

Claims

1. Electronic devices, including: camera; Communication module; as well as at least one processor, Wherein, the at least one processor is configured to: By acquiring a raw image using the camera, generating a first corrected image from the original image by a first image processing scheme, controlling the communication module to send the original image and at least one piece of identification information identifying at least one of the electronic device or the at least one processor to an external electronic device, controlling the communication module to receive difference image information from the external electronic device, wherein the difference image information corresponds to a difference between a second corrected image and a third corrected image, the second corrected image being generated by the external electronic device by processing the original image according to the first image processing scheme selected based on the at least one piece of identification information, the third corrected image being generated by the external electronic device by processing the original image according to a second image processing scheme in which different effects are applied to different targets included in the original image by using correction area information, the correction area information generated by the external electronic device including a target recognition result, and The first corrected image is further corrected by using the difference image information so that the further corrected first corrected image corresponds to the third corrected image.

2. The electronic device according to claim 1, wherein: The first image processing scheme provides a first effect to at least one region of the original image.

3. The electronic device according to claim 2, wherein: The first image processing scheme is used for the first effect, and the second image processing scheme is used for a second effect for at least one area of ​​the original image, and The second image processing scheme requires a larger amount of computation than the first image processing scheme.

4. The electronic device according to claim 1, wherein: The received difference image information includes compressed difference image information generated by losslessly compressing the difference image information.

5. The electronic device according to claim 4, wherein: The at least one processor is configured to obtain the difference image information by decompressing the compressed difference image information obtained based on the lossless compression.

6. The electronic device according to claim 1, wherein: The at least one processor is configured to generate a compressed original image by compressing the original image, and control the compressed original image to be transmitted to the external electronic device via the communication module.

7. The electronic device according to claim 6, wherein: The second corrected image is generated by the first image processing scheme after the compressed original image is decompressed, and the third corrected image is generated by the second image processing scheme after the compressed original image is decompressed.

8. The electronic device according to claim 1, wherein: The at least one piece of identification information is included in metadata of the original image, or is configured independently of data of the original image.

9. The electronic device according to claim 1, wherein: The at least one processor is configured to generate a first encoded image by encoding the first corrected image in a first encoding scheme that does not require another frame image among high efficiency video coding (HEVC) encoding schemes.

10. The electronic device according to claim 9, wherein: The at least one processor is configured to control receiving a second encoded image from the external electronic device, wherein the second encoded image is obtained by encoding the third corrected image with a second encoding scheme requiring another frame image among the HEVC encoding schemes with reference to the second corrected image.

11. The electronic device according to claim 10, wherein: The at least one processor is configured to generate an image corresponding to the third corrected image by decoding the first encoded image and the second encoded image.

12. A method for controlling an electronic device, the method comprising: By acquiring a raw image using a camera of the electronic device, generating a first corrected image from the original image by a first image processing scheme, controlling a communication module of the electronic device to send the original image and at least one piece of identification information identifying at least one of the electronic device or at least one processor of the electronic device to an external electronic device, controlling the communication module to receive difference image information from the external electronic device, wherein the difference image information corresponds to a difference between a second corrected image and a third corrected image, the second corrected image being generated by the external electronic device by processing the original image according to the first image processing scheme selected based on the at least one identification information, the third corrected image being generated by the external electronic device by processing the original image according to a second image processing scheme in which different effects are applied to different targets included in the original image by using correction area information, the correction area information generated by the external electronic device including a target recognition result, and The first corrected image is further corrected by using the difference image information so that the further corrected first corrected image corresponds to the third corrected image.

Citation Information

Patent Citations

  • Unit, system, and method for processing image

    JP2007215001A

  • Wireless technology as a data conduit in three-dimensional ultrasonogray

    US20110034209A1