WO2021145612A1 - Electronic device for performing image correction, and method for correcting image - Google Patents
Electronic device for performing image correction, and method for correcting image Download PDFInfo
- Publication number
- WO2021145612A1 WO2021145612A1 PCT/KR2021/000270 KR2021000270W WO2021145612A1 WO 2021145612 A1 WO2021145612 A1 WO 2021145612A1 KR 2021000270 W KR2021000270 W KR 2021000270W WO 2021145612 A1 WO2021145612 A1 WO 2021145612A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- correction
- processor
- electronic device
- camera
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/683—Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6812—Motion detection based on additional sensors, e.g. acceleration sensors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/689—Motion occurring during a rolling shutter mode
Definitions
- Various embodiments relate to an electronic device for performing image correction and a method for correcting an image, and more particularly, to an electronic device for correcting distortion according to lens characteristics of an image and distortion due to camera shake and lens characteristics of an image
- the present invention relates to a method of correcting distortion caused by camera shake and distortion caused by camera shake.
- the electronic device may correct distortion according to lens characteristics of the image.
- the distortion according to the lens characteristics of the image may be a distortion in which a straight object appears convexly or concavely.
- the process of correcting distortion according to the lens characteristics of an image is called lens distortion correction (LDC).
- the electronic device may correct distortion caused by camera shake. If the camera shakes when acquiring an image through the camera, the shake may appear in at least some areas of the image. In order to correct distortion due to camera shake, the electronic device may determine a crop region in the image and crop the image. The process of correcting distortion caused by camera shake is called video digital image stabilization (VDIS) correction.
- VDIS video digital image stabilization
- the electronic device may correct rolling shutter distortion.
- Rolling shutter distortion is distortion that occurs because an image is not acquired as one full screen at a time, but by rapidly scanning the scene horizontally or vertically.
- the electronic device may correct rolling shutter distortion by performing rolling shutter correction on the image.
- the electronic device is configured to perform video digital image stabilization (VDIS) correction on an image having distortion according to lens characteristics.
- VDIS video digital image stabilization
- the crop area in the VDIS correction process changes due to distortion according to the lens characteristics, and as a result, distortion occurs in the corrected image.
- Another type of electronic device performs lens distortion correction and VDIS correction independently.
- a buffer for correcting lens distortion and a buffer for correcting VDIS are separately required.
- warping for correcting lens distortion and warping for correcting VDIS are independently performed, there is a problem in that the time and power consumption required for image correction are large because the warping must be processed twice.
- the electronic device may correct an image by performing one warping corresponding to lens distortion correction, VDIS correction, and rolling shutter correction.
- the electronic device may correct the image by performing one warping corresponding to the lens distortion correction and the VDIS correction.
- an electronic device includes a camera and at least one processor, wherein the at least one processor acquires a first image including a plurality of pixels from the camera, and At least some of the pixels may be configured to perform a first warping corresponding to a lens distortion correction, a rolling shutter correction, and a video digital image stabilization (VDIS) correction to confirm a second image.
- VDIS video digital image stabilization
- a method performed by at least one processor of an electronic device includes: acquiring a first image including a plurality of pixels from a camera of the electronic device; At least in part, the method may include performing a first warping corresponding to a lens distortion correction, a rolling shutter correction, and a video digital image stabilization (VDIS) correction to confirm a second image.
- VDIS video digital image stabilization
- an electronic device includes a camera configured to perform rolling shutter correction on an acquired image, and at least one processor, wherein the at least one processor includes a plurality of pixels from the camera , acquiring a first image on which rolling shutter correction has been performed, and second warping corresponding to lens distortion correction and video digital image stabilization (VDIS) correction on at least some of a plurality of pixels of the first image may be set to confirm the second image by performing .
- VDIS video digital image stabilization
- an electronic device for performing image correction and a method for correcting an image may correct the image by performing one warping corresponding to the lens distortion correction, the VDIS correction, and the rolling shutter correction, or by performing one warping corresponding to the lens distortion correction and the VDIS correction. Accordingly, since the electronic device does not separately include a buffer for correcting lens distortion and a buffer for correcting VDIS, memory resource requirements can be reduced. In addition, since the electronic device performs lens distortion correction, VDIS correction, and rolling shutter correction with one warping, or performs lens distortion correction and VDIS correction, image correction is performed compared to a case where warping is performed several times once for each correction. It is possible to reduce the time and power consumption required for
- FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments of the present disclosure
- FIG. 2A is a block diagram of a camera module according to various embodiments.
- 2B is a block diagram of an electronic device according to various embodiments.
- FIG. 3 is a flowchart illustrating an operation of an electronic device according to various embodiments of the present disclosure
- FIG. 4 is a flowchart illustrating an operation of an electronic device according to various embodiments of the present disclosure
- 5A, 5B, and 5C are diagrams for explaining lens distortion correction according to various embodiments.
- 6A and 6B are diagrams for explaining rearrangement of a rolling shutter correction value according to various embodiments of the present disclosure
- VDIS correction is a diagram illustrating VDIS correction according to various embodiments.
- FIGS 8A and 8B are diagrams for explaining crop region setting in VDIS correction according to various embodiments.
- FIG. 9 is a diagram for describing motion compensation according to various embodiments.
- FIGS 10A and 10B are diagrams for explaining lens distortion correction, VDIS correction, and rolling shutter correction according to various embodiments.
- FIG. 11 is a flowchart illustrating an operation of an electronic device according to various embodiments of the present disclosure.
- FIG. 12 is a flowchart illustrating an operation of an electronic device according to various embodiments of the present disclosure
- FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 according to various embodiments.
- an electronic device 101 communicates with an electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or a second network 199 . It may communicate with the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
- a first network 198 eg, a short-range wireless communication network
- a second network 199 e.g., a second network 199
- the electronic device 101 may communicate with the electronic device 104 through the server 108 .
- the electronic device 101 includes a processor 120 , a memory 130 , an input device 150 , a sound output device 155 , a display device 160 , an audio module 170 , and a sensor module ( 176 , interface 177 , haptic module 179 , camera module 180 , power management module 188 , battery 189 , communication module 190 , subscriber identification module 196 , or antenna module 197 . ) may be included. In some embodiments, at least one of these components (eg, the display device 160 or the camera module 180 ) may be omitted or one or more other components may be added to the electronic device 101 . In some embodiments, some of these components may be implemented as one integrated circuit. For example, the sensor module 176 (eg, a fingerprint sensor, an iris sensor, or an illuminance sensor) may be implemented while being embedded in the display device 160 (eg, a display).
- the sensor module 176 eg, a fingerprint sensor, an iris sensor, or an illuminance sensor
- the processor 120 for example, executes software (eg, a program 140) to execute at least one other component (eg, a hardware or software component) of the electronic device 101 connected to the processor 120. It can control and perform various data processing or operations. According to one embodiment, as at least part of data processing or operation, the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 . may be loaded into the volatile memory 132 , process commands or data stored in the volatile memory 132 , and store the resulting data in the non-volatile memory 134 .
- software eg, a program 140
- the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 .
- the volatile memory 132 may be loaded into the volatile memory 132 , process commands or data stored in the volatile memory 132 , and store the resulting data in the non-volatile memory 134 .
- the processor 120 includes a main processor 121 (eg, a central processing unit or an application processor), and a secondary processor 123 (eg, a graphics processing unit, an image signal processor) that can be operated independently or in conjunction with the main processor 121 . , a sensor hub processor, or a communication processor). Additionally or alternatively, the auxiliary processor 123 may be configured to use less power than the main processor 121 or to be specialized for a designated function. The auxiliary processor 123 may be implemented separately from or as a part of the main processor 121 .
- a main processor 121 eg, a central processing unit or an application processor
- a secondary processor 123 eg, a graphics processing unit, an image signal processor
- the auxiliary processor 123 may be configured to use less power than the main processor 121 or to be specialized for a designated function.
- the auxiliary processor 123 may be implemented separately from or as a part of the main processor 121 .
- the auxiliary processor 123 may be, for example, on behalf of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or when the main processor 121 is active (eg, executing an application). ), together with the main processor 121, at least one of the components of the electronic device 101 (eg, the display device 160, the sensor module 176, or the communication module 190) It is possible to control at least some of the related functions or states.
- the coprocessor 123 eg, an image signal processor or a communication processor
- may be implemented as part of another functionally related component eg, the camera module 180 or the communication module 190. have.
- the memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176 ) of the electronic device 101 .
- the data may include, for example, input data or output data for software (eg, the program 140 ) and instructions related thereto.
- the memory 130 may include a volatile memory 132 or a non-volatile memory 134 .
- the program 140 may be stored as software in the memory 130 , and may include, for example, an operating system 142 , middleware 144 , or an application 146 .
- the input device 150 may receive a command or data to be used by a component (eg, the processor 120 ) of the electronic device 101 from the outside (eg, a user) of the electronic device 101 .
- the input device 150 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (eg, a stylus pen).
- the sound output device 155 may output a sound signal to the outside of the electronic device 101 .
- the sound output device 155 may include, for example, a speaker or a receiver.
- the speaker can be used for general purposes such as multimedia playback or recording playback, and the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from or as part of the speaker.
- the display device 160 may visually provide information to the outside (eg, a user) of the electronic device 101 .
- the display device 160 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the corresponding device.
- the display device 160 may include a touch circuitry configured to sense a touch or a sensor circuit (eg, a pressure sensor) configured to measure the intensity of a force generated by the touch. there is.
- the audio module 170 may convert a sound into an electric signal or, conversely, convert an electric signal into a sound. According to an embodiment, the audio module 170 acquires a sound through the input device 150 , or an external electronic device (eg, a sound output device 155 ) connected directly or wirelessly with the electronic device 101 . The sound may be output through the electronic device 102 (eg, a speaker or a headphone).
- an external electronic device eg, a sound output device 155
- the sound may be output through the electronic device 102 (eg, a speaker or a headphone).
- the sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101 or an external environmental state (eg, user state), and generates an electrical signal or data value corresponding to the sensed state. can do.
- the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
- the interface 177 may support one or more specified protocols that may be used by the electronic device 101 to directly or wirelessly connect with an external electronic device (eg, the electronic device 102 ).
- the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
- the connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102 ).
- the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
- the haptic module 179 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic sense.
- the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
- the camera module 180 may capture still images and moving images. According to an embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
- the power management module 188 may manage power supplied to the electronic device 101 .
- the power management module 188 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
- PMIC power management integrated circuit
- the battery 189 may supply power to at least one component of the electronic device 101 .
- battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
- the communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (eg, the electronic device 102, the electronic device 104, or the server 108). It can support establishment and communication through the established communication channel.
- the communication module 190 may include one or more communication processors that operate independently of the processor 120 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
- the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg, : It may include a local area network (LAN) communication module, or a power line communication module).
- a wireless communication module 192 eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
- GNSS global navigation satellite system
- wired communication module 194 eg, : It may include a local area network (LAN) communication module, or a power line communication module.
- a corresponding communication module is a first network 198 (eg, a short-range communication network such as Bluetooth, WiFi direct, or IrDA (infrared data association)) or a second network 199 (eg, a cellular network, the Internet, or It may communicate with an external electronic device via a computer network (eg, a telecommunication network such as a LAN or WAN).
- a computer network eg, a telecommunication network such as a LAN or WAN.
- These various types of communication modules may be integrated into one component (eg, a single chip) or may be implemented as a plurality of components (eg, multiple chips) separate from each other.
- the wireless communication module 192 uses the subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199 .
- the electronic device 101 may be identified and authenticated.
- the antenna module 197 may transmit or receive a signal or power to the outside (eg, an external electronic device).
- the antenna module may include one antenna including a conductor formed on a substrate (eg, a PCB) or a radiator formed of a conductive pattern.
- the antenna module 197 may include a plurality of antennas. In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is connected from the plurality of antennas by, for example, the communication module 190 . can be selected. A signal or power may be transmitted or received between the communication module 190 and an external electronic device through the selected at least one antenna.
- other components eg, RFIC
- other than the radiator may be additionally formed as a part of the antenna module 197 .
- peripheral devices eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
- GPIO general purpose input and output
- SPI serial peripheral interface
- MIPI mobile industry processor interface
- the command or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199 .
- Each of the electronic devices 102 and 104 may be the same or a different type of the electronic device 101 .
- all or part of the operations executed in the electronic device 101 may be executed in one or more of the external electronic devices 102 , 104 , or 108 .
- the electronic device 101 may perform the function or service itself instead of executing the function or service itself.
- one or more external electronic devices may be requested to perform at least a part of the function or the service.
- the one or more external electronic devices that have received the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit the execution result to the electronic device 101 .
- the electronic device 101 may process the result as it is or additionally and provide it as at least a part of a response to the request.
- cloud computing, distributed computing, or client-server computing technology may be used.
- the camera module 180 includes a lens assembly 210a, a flash 220a, and an image. It may include a sensor 230a, an image stabilizer 240a, a memory 250a (eg, a buffer memory), or an image signal processor 260a.
- the lens assembly 210a may collect light emitted from a subject, which is an image capturing object.
- the lens assembly 210a may include one or more lenses.
- the camera module 180 may include a plurality of lens assemblies 210a. 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 210a may have the same lens properties (eg, angle of view, focal length, auto focus, f number, or optical zoom), or at least one lens assembly may be a different lens assembly. It may have one or more lens properties different from the lens properties of .
- the lens assembly 210a may include, for example, a wide-angle lens or a telephoto lens.
- the flash 220a may emit light used to enhance light emitted or reflected from the subject.
- the flash 220a may include one or more light emitting diodes (eg, a red-green-blue (RGB) LED, a white LED, an infrared LED, or an ultraviolet LED), or a xenon lamp.
- the image sensor 230a converts light emitted or reflected from the subject and transmitted through the lens assembly 210a into an electrical signal, thereby acquiring an image corresponding to the subject.
- the image sensor 230a is, for example, one image sensor selected from among image sensors having different properties, such as an RGB sensor, a black and white (BW) sensor, an IR sensor, or a UV sensor, the same It may include a plurality of image sensors having a property, or a plurality of image sensors having different properties.
- Each image sensor included in the image sensor 230a may be implemented using, for example, a charged coupled device (CCD) sensor or a complementary metal oxide semiconductor (CMOS) sensor.
- CCD charged coupled device
- CMOS complementary metal oxide semiconductor
- the image stabilizer 240a moves at least one lens or the image sensor 230a included in the lens assembly 210a in a specific direction or Operation characteristics of the image sensor 230a may be controlled (eg, read-out timing may be adjusted, etc.). This makes it possible to compensate for at least some of the negative effects of the movement on the image being taken.
- the image stabilizer 240a is, according to an embodiment, the image stabilizer 240a is a gyro sensor (not shown) or an acceleration sensor (not shown) disposed inside or outside the camera module 180 . Such a movement of the camera module 180 or the electronic device 101 may be detected using .
- the image stabilizer 240a may be implemented as, for example, an optical image stabilizer.
- the memory 250a may temporarily store at least a portion of the image acquired through the image sensor 230a for a next image processing operation. For example, when image acquisition is delayed according to the shutter or a plurality of images are acquired at high speed, the acquired original image (eg, Bayer-patterned image or high-resolution image) is stored in the memory 250a and , a copy image corresponding thereto (eg, a low-resolution image) may be previewed through the display device 160 .
- the acquired original image eg, Bayer-patterned image or high-resolution image
- a copy image corresponding thereto eg, a low-resolution image
- the memory 250a may be configured as at least a part of the memory 130 or as a separate memory operated independently of the memory 130 .
- the image signal processor 260a may perform one or more image processing on an image acquired through the image sensor 230a or an image stored in the memory 250a.
- the one or more image processes may include, for example, depth map generation, three-dimensional modeling, panorama generation, feature point extraction, image synthesis, or image compensation (eg, noise reduction, resolution adjustment, brightness adjustment, blurring ( blurring), sharpening (sharpening), or softening (softening)
- the image signal processor 260a may include at least one of the components included in the camera module 180 (eg, an image sensor). 230a)), such as exposure time control, readout timing control, etc.
- the image processed by the image signal processor 260a is stored back in the memory 250a for further processing.
- the image signal processor 260a may be configured as at least a part of the processor 120 or may be configured as a separate processor operated independently of the processor 120.
- the image signal processor 260a may be configured as the processor 120 and a separate processor, the at least one image processed by the image signal processor 260a may be displayed through the display device 160 as it is or after additional image processing is performed by the processor 120 .
- the electronic device 101 may include a plurality of camera modules 180 each having different properties or functions.
- at least one of the plurality of camera modules 180 may be a wide-angle camera, and at least the other may be a telephoto camera.
- at least one of the plurality of camera modules 180 may be a front camera, and at least the other may be a rear camera.
- the electronic device 200b may include a processor 210b, a camera 220b, and a memory 230b.
- the electronic device 200b may be the electronic device 101 illustrated in FIG. 1 .
- the processor 210b may be the processor 120 illustrated in FIG. 1 .
- the processor 210b may be an application processor.
- the camera 220b may be the camera module 180 illustrated in FIG. 1 .
- the memory 230b may be at least one of the memory 130 illustrated in FIG. 1 or a memory included in the processor 120 (eg, an application processor) of FIG. 1 .
- the camera 220b acquires an image on which lens distortion correction, rolling shutter correction, and video digital image stabilization (VDIS) correction are not performed, and transmits it to the processor 210b as an input image.
- the processor 210b may check the output image by performing lens distortion correction, rolling shutter correction, and VDIS correction on at least some of the plurality of pixels of the input image obtained from the camera 220b.
- the processor 210b may perform a first warping for performing lens distortion correction, rolling shutter correction, and VDIS correction on at least some of the plurality of pixels of the input image, and performs the first warping
- data may be stored in the memory 230b or referenced to the memory 230b.
- the camera 220b may acquire an image on which rolling shutter correction has been performed and transmit it to the processor 210b as an input image.
- the processor 210b may check the output image by performing lens distortion correction and VDIS correction on at least some of the plurality of pixels of the input image obtained from the camera 220b.
- the processor 210b may perform second warping for performing lens distortion correction and VDIS correction on at least some of a plurality of pixels of the input image, and when performing the second warping, the memory 230b ) or store data in the memory 230b.
- the processor eg, the processor 210b of the electronic device (eg, the electronic device 200b) may acquire the first image from the camera (eg, the camera 220b) in operation 310 .
- the first image may be an image on which lens distortion correction, rolling shutter correction, and VDIS correction are not performed.
- the processor 210b may confirm the second image by performing the first warping corresponding to the lens distortion correction, the rolling shutter correction, and the VDIS correction on at least some of the plurality of pixels of the first image.
- the first warping may be performed based on a lens distortion correction, a rolling shutter correction value for a rolling shutter correction, a crop region for VDIS correction, and a smoothed motion trajectory of the camera.
- the rolling shutter correction value may be determined based on the lens distortion correction.
- a crop region for VDIS correction may be identified based on lens distortion correction.
- lens distortion correction, rolling shutter correction, and VDIS correction may be performed at a time with a single first warping.
- the processor 210b displays the identified second image on the electronic device (eg, the electronic device 101) on the display (eg, the display device 160). can be displayed on the display
- FIG. 4 is a block diagram 400 illustrating an operation of an electronic device according to various embodiments of the present disclosure.
- the block diagram 400 of FIG. 4 shows information exchange between the memory 401 , the buffer 402 , and the processor 403 , and a process of an operation performed by the processor 403 .
- 5A-5C, 6A-6B, 7, 8A-8B, and 9 are referenced to describe the process of the operation performed by the processor 403.
- FIG. 5A, 5B, and 5C are diagrams for explaining lens distortion correction according to various embodiments.
- 6A and 6B are diagrams for explaining rearrangement of a rolling shutter correction value according to various embodiments of the present disclosure; 7 is a diagram illustrating VDIS correction according to various embodiments.
- 8A and 8B are diagrams for explaining crop region setting in VDIS correction according to various embodiments.
- 9 is a diagram for describing motion compensation according to various embodiments.
- the memory 401 may be a memory and/or a memory 130 included in the processor 120 (eg, an application processor) of FIG. 1 .
- the buffer 402 may be included in the processor 120 (eg, an application processor) of FIG. 1 or the memory 130 .
- the processor 403 may be the processor 210b of FIG. 2B .
- the memory 401 may transmit the N-th frame to the processor 403 as an input image.
- the input image may be a distorted image 421 on which lens distortion correction, rolling shutter correction, and VDIS correction are not performed.
- the processor 403 may enqueue an N-th frame that is an input image in an N-th buffer of the buffer 402 .
- the processor 403 may dequeue the previous buffer from the N-th buffer of the buffer 402 by a predetermined number of delays, for example, d.
- the data dequeued from the N-d-th buffer may be used in the processor 403 in a calculation process of correcting the distortion of the input image.
- the processor 403 may check 422 motion information of the camera (eg, the camera 220b).
- the motion information may be information indicating the motion of the camera 220b when the camera 220b captures an input image.
- the motion information may be identified based on at least one of a sensing value obtained from a gyro sensor included in the electronic device (eg, the electronic device 101 ) or an input image.
- the motion information may include a primary rolling shutter correction value and a motion trajectory of the camera.
- the primary rolling shutter correction value may be a rolling shutter correction value calculated based on the movement of the camera with respect to the N-th frame.
- the processor 403 may check the movement trajectory of the camera by accumulating the amount of movement of the camera from the first frame to the N-th frame.
- the processor 403 may perform lens distortion correction 423 .
- Lens distortion correction may be a process for correcting distortion according to lens characteristics.
- FIG. 5A shows an exemplary image 500a before lens distortion correction is performed
- FIG. 5B shows an exemplary image 500b after lens distortion correction is performed on the exemplary image 500a of FIG. 5A .
- Fig. 5c shows the relationship between the distortion and the image height of the paraxial chief ray, used for lens distortion correction.
- Elevation of the paraxial chief ray , true ray The relationship between , and distortion DIY is as follows.
- Equation 1 By rearranging Equation 1, the following relationship is established.
- the curve 510c is the image height of the paraxial chief ray. shows the relationship between and distortion.
- Curve 520c represents curve 510c as the height of the paraxial chief ray It is an approximate curve in polynomial form for .
- the image height of the paraxial chief ray, represented by curve 520c The relationship between and distortion is
- Equation 3 may be stored in the memory 130 of the electronic device (eg, the electronic device 101 ), and in this case, the processor 403 (eg, the processor 120 ) may perform lens distortion correction with reference to Equation 3 stored in the memory 130 .
- a lookup table representing a mapping relationship between exemplary values corresponding to Equation 3 may be stored in the memory 130 of the electronic device 101 , and in this case, the processor 403 stores the memory 130 in the memory 130 .
- Lens distortion correction may be performed by referring to the stored lookup table.
- the processor 403 may check the lens distortion correction coordinates by performing the lens distortion correction 423 .
- the processor 403 that has performed the lens distortion correction 423 may remap the primary rolling shutter correction value included in the motion information based on the lens distortion correction to check the remapped rolling shutter correction value.
- the lens distortion correction map may be referred to.
- the rolling shutter remapping 424 process may be performed by applying a lens distortion correction map to the primary rolling shutter correction value.
- 6A shows an exemplary image 600a in which a primary rolling shutter correction value is displayed.
- 6B is an exemplary image 600b in which the remapped rolling shutter correction value is displayed after the primary rolling shutter correction value of the exemplary image 600a of FIG. 6A is remapped through the rolling shutter remapping 424 process. shows Coordinates on the input image and coordinates on the output image obtained through the remapped rolling shutter correction The relationship between them can be expressed as
- the processor 403 that has performed the lens distortion correction 423 may smooth the motion trajectory of the camera included in the motion information based on the lens distortion correction and check a crop region for the VDIS ( 425 ).
- 7 is a graph 700 for explaining a process of smoothing a motion trajectory of a camera and checking a crop area for VDIS.
- a curve 710 indicates a motion trajectory of a camera included in the motion information
- a curve 720 indicates a smoothed motion trajectory of the camera obtained by smoothing the motion trajectory of the camera.
- Curves 730 and 740 represent the boundaries of the crop region for VDIS. According to various embodiments, the crop area for the VDIS may be set so that the curve 720 does not deviate between the curve 730 and the curve 740 .
- the lens distortion correction coordinates confirmed as a result of the lens distortion correction 423 may be referred to. Since the input image is deformed in the lens distortion correction process 423, the boundary of the crop region for VDIS is changed. Accordingly, the processor 403 may identify the crop region such that only valid regions are included in the crop region.
- Fig. 8A shows an exemplary input image 800a and an exemplary crop region 810a before lens distortion correction 423 is performed
- Fig. 8B shows an exemplary input image 800a of Fig. 8A with lens distortion correction ( 423) is performed and shows an image 800b obtained as a result and exemplary crop regions 810b, 820b, and 830b.
- exemplary crop regions 810b , 820b , 830b are shown within the effective region of image 800b .
- VDIS correction formula can be expressed as follows.
- the processor 403 may first perform a crop region check 425 and then perform a rolling shutter remapping 424 .
- the processor 403 may perform a check as a result of the crop region check 425 .
- the motion compensation 426 may be performed based on the smoothed motion trajectory of the camera and the remapped rolling shutter compensation value identified as a result of the rolling shutter remapping 424 .
- FIG. 9 is a diagram for explaining exemplary motion correction 426 and lens distortion correction 423 processes.
- An exemplary process illustrated in FIG. 9 checks coordinates on the input image 920 corresponding to respective coordinates of the output image 910 corresponding to the crop region, and corrects lens distortion, which corresponds to the coordinates on the input image 920 . This is a process of confirming coordinates on the considered image 930 .
- the coordinate 911 of the output image 910 corresponds to the coordinate 921 on the input image 920
- the coordinate 921 on the input image 920 is an image 930 in which lens distortion correction is considered again.
- Corresponding to the coordinates 931 of the image are shown.
- FIG. 9 corresponds to the coordinate 931 of the image.
- the coordinates 912 of the output image 910 correspond to the coordinates 922 on the input image 920
- the coordinates 921 on the input image 920 are again the image in which the lens distortion correction is considered ( Corresponding to the coordinates 932 on the 930 are shown.
- the processor 403 may perform the lens distortion correction 423 with reference to the crop coordinates confirmed through the crop region confirmation 425 and the crop coordinates on which the motion correction 426 is performed.
- 10A and 10B are diagrams for explaining lens distortion correction, VDIS correction, and rolling shutter correction according to various embodiments.
- 10A illustrates an example of applying the first rolling shutter correction value 1020a to the image 1010a in which the crop region 1011a in consideration of lens distortion correction is displayed.
- the rolling shutter correction it can be seen that the crop region 1031a in the result image 1030a of FIG. 10A is different from the crop region 1011a in the image 1010a.
- FIG. 10B illustrates an example of applying the remapped rolling shutter correction value 1020b to the image 1010b in which the crop region 1011b in consideration of lens distortion correction is displayed. It can be seen that the crop region 1031b in the result image 1030b of FIG. 10B is different from the crop region 1011b in the image 1010b. Compared with the result image 1030a of FIG. 10A , it can be seen that the crop region 1011b is different from the crop region 1011a in the case of FIG. 10B because the remapped rolling shutter correction value 1020b is used.
- the processor 403 determines the coordinates on the output image obtained through the motion compensation 426 . and coordinates on the input image Warping 427 for generating an output image may be performed by inputting a pixel value of a coordinate on the input image corresponding to a pixel of each coordinate on the output image based on the correspondence between them.
- the processor 403 may check the output image generated as a result of performing the warping 427 as the corrected image 428 .
- the memory 401 may transmit the N+1th frame to the processor 403 as an input image.
- FIG. 11 is a flowchart 1100 illustrating an operation of an electronic device (eg, the electronic device 200b) according to various embodiments of the present disclosure.
- the processor eg, the processor 210b of the electronic device (eg, the electronic device 200b) performs the rolling shutter correction from the camera (eg, the camera 220b) in operation 1110 on the first image. can be obtained.
- the first image may be an image on which lens distortion correction is performed and rolling shutter correction and VDIS correction are not performed.
- the processor 210b may confirm the second image by performing second warping corresponding to lens distortion correction and VDIS correction on at least some of the plurality of pixels of the first image.
- the first warping may be performed based on a lens distortion correction, a crop region for VDIS correction, and a smoothed motion trajectory of the camera.
- a crop region for VDIS correction may be identified based on lens distortion correction.
- lens distortion correction and VDIS correction may be performed at a time with a single second warping.
- the processor 210b displays the identified second image on the electronic device (eg, the electronic device 101) (eg, the display device 160). can be displayed on the electronic device (eg, the electronic device 101).
- FIG. 12 is a flowchart 1200 illustrating an operation of an electronic device (eg, the electronic device 200b) according to various embodiments of the present disclosure. Specifically, FIG. 12 shows operations performed to perform operation 1120 of FIG. 11 .
- the processor (eg, the processor 210b) of the electronic device may check motion information of the camera (eg, the camera 220b) in operation 1210 .
- the details of the process of confirming 422 of the motion information described with reference to 422 of FIG. 4 may be equally applied to operation 1210, and thus will not be repeated herein.
- the processor 210b may identify a smoothed motion trajectory and a crop region of the camera 220b based on the motion information.
- the details of the process of confirming the smoothed motion trajectory and the crop region described with reference to 423 and 425 of FIG. 4 may be equally applied to operation 1220, and thus will not be repeated herein.
- the processor 210b may check the second image by performing second warping based on the lens distortion correction, the smoothed motion trajectory of the camera, and the crop region. Specifically, the processor 210b performs motion correction based on the lens distortion correction, the smoothed motion trajectory of the camera, and the crop region, and coordinates on the output image identified through the motion correction. and coordinates on the input image
- the second warping may be performed based on the correspondence between the two, and an output image generated as a result of performing the second warping may be identified as the second image.
- the second warping may be a process of generating an output image by inputting pixel values of coordinates on the input image corresponding to pixels of each coordinate on the output image based on the correspondence obtained based on Equation (8).
- the electronic device 101 includes a camera 180 and at least one processor 120 , wherein the at least one processor 120: receives a plurality of pixels from the camera 180 . acquire a first image comprising; A second image is identified by performing a first warping on at least a portion of the plurality of pixels of the first image corresponding to lens distortion correction, rolling shutter correction, and video digital image stabilization (VDIS) correction.
- VDIS video digital image stabilization
- the first warping is performed based on the lens distortion correction, the rolling shutter correction value for the rolling shutter correction, the crop region for the VDIS correction, and the smoothed motion trajectory of the camera 180 .
- the at least one processor 120 may be set to check the rolling shutter correction value based on the lens distortion correction.
- the at least one processor 120 may be configured to check the crop region based on the lens distortion correction.
- the at least one processor 120 may be further configured to check the motion information of the camera 180 .
- the electronic device 101 further includes a gyro sensor, and the at least one processor 120 moves the movement based on at least one of a sensing value obtained from the gyro sensor or the first image. It may be further configured to confirm information.
- the at least one processor 120 is configured to: identify a primary rolling shutter correction value for each of the plurality of pixels of the first image based on the motion information; Based on the primary rolling shutter correction value and the lens distortion correction, the primary rolling shutter correction value may be set to confirm a remapped rolling shutter correction value.
- the at least one processor 120 is configured to: identify a movement trajectory of the camera 180 based on the movement information; check the smoothed motion trajectory by smoothing the motion trajectory of the camera 180; Based on the lens distortion correction, the smoothed motion trajectory may be set to identify the crop region that does not deviate from the crop region for the VDIS correction.
- the electronic device 101 may further include a display, and the at least one processor 120 may be further configured to display the second image on the display.
- the electronic device 101 includes a camera 180 configured to perform rolling shutter correction on an acquired image, and at least one processor 120 , and the at least one processor 120 . obtains, from the camera 180 , a first image including a plurality of pixels on which rolling shutter correction has been performed;
- the second image may be identified by performing second warping corresponding to lens distortion correction and video digital image stabilization (VDIS) correction on at least some of the plurality of pixels of the first image.
- VDIS video digital image stabilization
- the second warping may be performed based on a crop region for correcting the lens distortion and correcting the VDIS.
- the at least one processor 120 may be configured to identify a crop region for the VDIS correction based on the lens distortion correction.
- the at least one processor 120 may be further configured to check the motion information of the camera 180 .
- the electronic device 101 further includes a gyro sensor, and the at least one processor 120 moves the movement based on at least one of a sensing value obtained from the gyro sensor or the first image. It may be further configured to confirm information.
- the at least one processor 120 is configured to: identify a movement trajectory of the camera 180 based on the movement information; check the smoothed trajectory by smoothing the movement trajectory of the camera 180; Based on the lens distortion correction, the smoothed trajectory may be set to identify the crop region that does not deviate from the crop region for the VDIS correction.
- the electronic device 101 may further include a display, and the at least one processor 120 may be further configured to display the second image on the display.
- the method performed by the at least one processor 120 of the electronic device 101 includes: acquiring a first image including a plurality of pixels from the camera 180 of the electronic device 101 . movement; and confirming a second image by performing a first warping corresponding to lens distortion correction, rolling shutter correction, and video digital image stabilization (VDIS) correction on at least a portion of a plurality of pixels of the first image It may include an action to
- the method may further include checking a rolling shutter correction value for correcting the rolling shutter and a crop region for correcting the VDIS based on the lens distortion correction.
- the method may include: checking motion information of the camera 180 ; checking a primary rolling shutter correction value for each of the plurality of pixels of the first image based on the motion information; and checking a rolling shutter correction value to which the primary rolling shutter correction value is remapped based on the primary rolling shutter correction value and the lens distortion correction.
- the method may include: checking motion information of the camera 180 ; checking a motion trajectory of the camera 180 based on the motion information; checking the smoothed trajectory by smoothing the movement trajectory of the camera 180; and checking the crop region so that the smoothed trajectory does not deviate from the crop region for VDIS correction based on the lens distortion correction.
- the method performed by the at least one processor 120 of the electronic device 101 includes: a camera configured to perform rolling shutter correction on an acquired image included in the electronic device 101 ( 180), the operation of obtaining a first image including a plurality of pixels, the rolling shutter correction is performed; and confirming a second image by performing second warping corresponding to lens distortion correction and video digital image stabilization (VDIS) correction on at least some of the plurality of pixels of the first image.
- a camera configured to perform rolling shutter correction on an acquired image included in the electronic device 101 ( 180), the operation of obtaining a first image including a plurality of pixels, the rolling shutter correction is performed; and confirming a second image by performing second warping corresponding to lens distortion correction and video digital image stabilization (VDIS) correction on at least some of the plurality of pixels of the first image.
- VDIS video digital image stabilization
- the second warping may be performed based on a crop region for correcting the lens distortion and correcting the VDIS.
- the crop region for the VDIS correction may be identified based on the lens distortion correction.
- the method may further include checking motion information of the camera 180 .
- the checking of the motion information of the camera 180 includes checking the motion information based on at least one of a sensing value obtained from the gyro sensor of the electronic device 101 or the first image. It can include actions.
- the method may include: identifying a movement trajectory of the camera 180 based on the movement information; checking the smoothed trajectory by smoothing the movement trajectory of the camera 180; and checking the crop region so that the smoothed trajectory does not deviate from the crop region for VDIS correction based on the lens distortion correction.
- the method may further include displaying the second image on the display of the electronic device 101 .
- the components are not limited.
- an (eg, first) component is referred to as being “connected (functionally or communicatively)” or “connected” to another (eg, second) component, that component is It may be directly connected to the component or may be connected through another component (eg, a third component).
- module includes a unit composed of hardware, software, or firmware, and may be used interchangeably with terms such as, for example, logic, logic block, component, or circuit.
- a module may be an integrally formed part or a minimum unit or a part of one or more functions.
- the module may be configured as an application-specific integrated circuit (ASIC).
- ASIC application-specific integrated circuit
- Various embodiments of the present document include instructions stored in a machine-readable storage media (eg, internal memory 136 or external memory 138) that can be read by a machine (eg, a computer). It may be implemented as software (eg, the program 140).
- the device is a device capable of calling a stored command from a storage medium and operating according to the called command, and may include an electronic device (eg, the electronic device 101 ) according to the disclosed embodiments.
- the instruction is executed by a processor (eg, the processor 120), the processor may directly or use other components under the control of the processor to perform a function corresponding to the instruction. Instructions may include code generated or executed by a compiler or interpreter.
- the device-readable storage medium may be provided in the form of a non-transitory storage medium.
- 'non-transitory' means that the storage medium does not include a signal and is tangible, and does not distinguish that data is semi-permanently or temporarily stored in the storage medium.
- the method according to various embodiments disclosed in this document may be included and provided in a computer program product.
- Computer program products may be traded between sellers and buyers as commodities.
- the computer program product may be distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)) or online through an application store (eg Play Store TM ).
- an application store eg Play Store TM
- at least a part of the computer program product may be temporarily stored or temporarily created in a storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
- Each of the components may be composed of a singular or a plurality of entities, and some sub-components of the aforementioned sub-components may be omitted, or other sub-components may be It may be further included in various embodiments.
- some components eg, a module or a program
- operations performed by a module, program, or other component are executed sequentially, parallel, iteratively, or heuristically, or at least some operations are executed in a different order, are omitted, or other operations are added.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
Abstract
An electronic device according to various embodiments comprises: a camera; and at least one processor, wherein the at least one processor can be set to obtain a first image including a plurality of pixels from the camera, and confirm a second image by performing first warping corresponding to lens distortion correction, rolling shutter correction, and video digital image stabilization (VDIS) correction on at least a portion of the plurality of pixels of the first image. Various other embodiments are also possible.
Description
다양한 실시예는 이미지 보정을 수행하는 전자 장치 및 이미지를 보정하는 방법에 관한 것으로, 더욱 상세하게는 이미지의 렌즈 특성에 따른 왜곡 및 카메라의 흔들림에 따른 왜곡을 보정하는 전자 장치 및 이미지의 렌즈 특성에 따른 왜곡 및 카메라의 흔들림에 따른 왜곡을 보정하는 방법에 관한 것이다.Various embodiments relate to an electronic device for performing image correction and a method for correcting an image, and more particularly, to an electronic device for correcting distortion according to lens characteristics of an image and distortion due to camera shake and lens characteristics of an image The present invention relates to a method of correcting distortion caused by camera shake and distortion caused by camera shake.
이미지에 발생하는 왜곡을 보정하기 위한 전자 장치가 널리 보급되어 있다. 전자 장치는 이미지의 렌즈 특성에 따른 왜곡을 보정할 수 있다. 이미지의 렌즈 특성에 따른 왜곡은 실제로 직선인 오브젝트가 볼록하게 튀어나와 보이거나, 오목하게 들어가 보이는 왜곡일 수 있다. 이미지의 렌즈 특성에 따른 왜곡을 보정하는 과정을 렌즈 왜곡 보정(lens distortion correction, LDC)이라고 한다.BACKGROUND Electronic devices for correcting distortion occurring in an image are widespread. The electronic device may correct distortion according to lens characteristics of the image. The distortion according to the lens characteristics of the image may be a distortion in which a straight object appears convexly or concavely. The process of correcting distortion according to the lens characteristics of an image is called lens distortion correction (LDC).
전자 장치는 카메라의 흔들림에 따른 왜곡을 보정할 수 있다. 카메라를 통하여 이미지를 획득할 때 카메라가 흔들리는 경우, 이미지 중 적어도 일부 영역에서 흔들림이 나타날 수 있다. 카메라의 흔들림에 따른 왜곡을 보정하기 위하여, 전자 장치는 이미지 내에서 크롭 영역을 결정하고 이미지를 크롭할 수 있다. 카메라의 흔들림에 따른 왜곡을 보정하는 과정을 비디오 디지털 이미지 안정화 (video digital image stabilization, VDIS) 보정이라고 한다.The electronic device may correct distortion caused by camera shake. If the camera shakes when acquiring an image through the camera, the shake may appear in at least some areas of the image. In order to correct distortion due to camera shake, the electronic device may determine a crop region in the image and crop the image. The process of correcting distortion caused by camera shake is called video digital image stabilization (VDIS) correction.
전자 장치는 롤링 셔터 왜곡을 보정할 수 있다. 롤링 셔터 왜곡이란, 이미지가 한 번에 하나의 전체 화면으로서 획득되지 않고, 수평 또는 수직으로 빠르게 씬을 주사함으로써 획득되기 때문에 발생하는 왜곡이다. 전자 장치는 이미지에 롤링 셔터 보정을 수행함으로써 롤링 셔터 왜곡을 보정할 수 있다.The electronic device may correct rolling shutter distortion. Rolling shutter distortion is distortion that occurs because an image is not acquired as one full screen at a time, but by rapidly scanning the scene horizontally or vertically. The electronic device may correct rolling shutter distortion by performing rolling shutter correction on the image.
전자 장치는 렌즈 특성에 따른 왜곡이 발생한 이미지에 비디오 디지털 이미지 안정화(video digital image stabilization, VDIS) 보정을 수행하도록 구성된다. 이 경우, VDIS 보정 과정에서의 크롭 영역이 렌즈 특성에 따른 왜곡 때문에 변화하고, 그 결과, 보정된 이미지에도 왜곡이 발생한다.The electronic device is configured to perform video digital image stabilization (VDIS) correction on an image having distortion according to lens characteristics. In this case, the crop area in the VDIS correction process changes due to distortion according to the lens characteristics, and as a result, distortion occurs in the corrected image.
다른 유형의 전자 장치는 렌즈 왜곡 보정과 VDIS 보정을 독립적으로 수행한다. 이 경우, 렌즈 왜곡 보정을 위한 와핑과 VDIS 보정을 위한 와핑이 독립적으로 수행되므로, 렌즈 왜곡 보정을 위한 버퍼와 VDIS 보정을 위한 버퍼가 별도로 요구된다. 또한, 렌즈 왜곡 보정을 위한 와핑과 VDIS 보정을 위한 와핑이 독립적으로 수행되는 경우 와핑을 두 번 처리해야 하므로 이미지 보정에 요구되는 시간 및 전력 소모량이 많다는 문제가 있다.Another type of electronic device performs lens distortion correction and VDIS correction independently. In this case, since warping for correcting lens distortion and warping for correcting VDIS are independently performed, a buffer for correcting lens distortion and a buffer for correcting VDIS are separately required. In addition, when warping for correcting lens distortion and warping for correcting VDIS are independently performed, there is a problem in that the time and power consumption required for image correction are large because the warping must be processed twice.
다양한 실시예에 따른 이미지 보정을 수행하는 전자 장치 및 이미지를 보정하는 방법에 따르면, 전자 장치는 렌즈 왜곡 보정, VDIS 보정, 및 롤링 셔터 보정에 대응하는 한 번의 와핑을 수행함으로써 이미지를 보정할 수 있다. 다양한 실시예에 따라서, 전자 장치는 렌즈 왜곡 보정 및 VDIS 보정에 대응하는 한 번의 와핑을 수행함으로써 이미지를 보정할 수 있다.According to an electronic device performing image correction and a method of correcting an image according to various embodiments, the electronic device may correct an image by performing one warping corresponding to lens distortion correction, VDIS correction, and rolling shutter correction. . According to various embodiments, the electronic device may correct the image by performing one warping corresponding to the lens distortion correction and the VDIS correction.
다양한 실시예에 따라서, 전자 장치는 카메라, 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 카메라로부터 복수 개의 픽셀을 포함하는 제1 이미지를 획득하고, 상기 제1 이미지의 복수 개의 픽셀 중 적어도 일부에, 렌즈 왜곡 보정, 롤링 셔터 보정, 및 비디오 디지털 이미지 안정화 (video digital image stabilization, VDIS) 보정에 대응하는 제1 와핑을 수행하여 제2 이미지를 확인 하도록 설정될 수 있다.According to various embodiments, an electronic device includes a camera and at least one processor, wherein the at least one processor acquires a first image including a plurality of pixels from the camera, and At least some of the pixels may be configured to perform a first warping corresponding to a lens distortion correction, a rolling shutter correction, and a video digital image stabilization (VDIS) correction to confirm a second image.
다양한 실시예에 따라서, 전자 장치의 적어도 하나의 프로세서에 의하여 수행되는 방법은, 상기 전자 장치의 카메라로부터 복수 개의 픽셀을 포함하는 제1 이미지를 획득하는 동작, 및 상기 제1 이미지의 복수 개의 픽셀 중 적어도 일부에, 렌즈 왜곡 보정, 롤링 셔터 보정, 및 비디오 디지털 이미지 안정화 (video digital image stabilization, VDIS) 보정에 대응하는 제1 와핑을 수행하여 제2 이미지를 확인하는 동작을 포함할 수 있다.According to various embodiments, a method performed by at least one processor of an electronic device includes: acquiring a first image including a plurality of pixels from a camera of the electronic device; At least in part, the method may include performing a first warping corresponding to a lens distortion correction, a rolling shutter correction, and a video digital image stabilization (VDIS) correction to confirm a second image.
다양한 실시예에 따라서, 전자 장치는, 획득한 이미지에 대하여 롤링 셔터 보정을 수행하도록 설정된 카메라, 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 카메라로부터, 복수 개의 픽셀들을 포함하는, 롤링 셔터 보정이 수행된 제1 이미지를 획득하고, 상기 제1 이미지의 복수 개의 픽셀 중 적어도 일부에, 렌즈 왜곡 보정 및 비디오 디지털 이미지 안정화 (video digital image stabilization, VDIS) 보정에 대응하는 제2 와핑을 수행하여 제2 이미지를 확인하도록 설정될 수 있다.According to various embodiments, an electronic device includes a camera configured to perform rolling shutter correction on an acquired image, and at least one processor, wherein the at least one processor includes a plurality of pixels from the camera , acquiring a first image on which rolling shutter correction has been performed, and second warping corresponding to lens distortion correction and video digital image stabilization (VDIS) correction on at least some of a plurality of pixels of the first image may be set to confirm the second image by performing .
다양한 실시예에 따라서, 이미지 보정을 수행하는 전자 장치 및 이미지를 보정하는 방법이 제공된다. 이에 따라, 전자 장치는 렌즈 왜곡 보정, VDIS 보정, 및 롤링 셔터 보정에 대응하는 한 번의 와핑을 수행하거나, 렌즈 왜곡 보정 및 VDIS 보정에 대응하는 한 번의 와핑을 수행함으로써 이미지를 보정할 수 있다. 따라서, 전자 장치는 렌즈 왜곡 보정을 위한 버퍼와 VDIS 보정을 위한 버퍼를 별도로 구비하지 않으므로, 메모리 자원 요구량을 줄일 수 있다. 또한, 전자 장치는 한 번의 와핑으로 렌즈 왜곡 보정, VDIS 보정, 및 롤링 셔터 보정을 수행하거나 렌즈 왜곡 보정 및 VDIS 보정을 수행하므로, 각 보정을 위하여 한 번씩 여러 번 와핑을 수행하는 경우에 비하여 이미지 보정에 요구되는 시간 및 전력 소모량을 저감시킬 수 있다.According to various embodiments, an electronic device for performing image correction and a method for correcting an image are provided. Accordingly, the electronic device may correct the image by performing one warping corresponding to the lens distortion correction, the VDIS correction, and the rolling shutter correction, or by performing one warping corresponding to the lens distortion correction and the VDIS correction. Accordingly, since the electronic device does not separately include a buffer for correcting lens distortion and a buffer for correcting VDIS, memory resource requirements can be reduced. In addition, since the electronic device performs lens distortion correction, VDIS correction, and rolling shutter correction with one warping, or performs lens distortion correction and VDIS correction, image correction is performed compared to a case where warping is performed several times once for each correction. It is possible to reduce the time and power consumption required for
도 1은 다양한 실시예에 따른 네트워크 환경 내의 전자 장치의 블록도를 도시한다.1 is a block diagram of an electronic device in a network environment according to various embodiments of the present disclosure;
도 2a는 다양한 실시예들에 따른 카메라 모듈의 블록도를 도시한다.2A is a block diagram of a camera module according to various embodiments.
도 2b는 다양한 실시예에 따른 전자 장치의 블록도를 도시한다.2B is a block diagram of an electronic device according to various embodiments.
도 3은 다양한 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도를 도시한다.3 is a flowchart illustrating an operation of an electronic device according to various embodiments of the present disclosure;
도 4는 다양한 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도를 도시한다.4 is a flowchart illustrating an operation of an electronic device according to various embodiments of the present disclosure;
도 5a, 도 5b, 및 도 5c는 다양한 실시예에 따른 렌즈 왜곡 보정을 설명하기 위한 도면을 도시한다. 5A, 5B, and 5C are diagrams for explaining lens distortion correction according to various embodiments.
도 6a 및 도 6b는 다양한 실시예에 따른 롤링 셔터 보정값의 재배치를 설명하기 위한 도면을 도시한다. 6A and 6B are diagrams for explaining rearrangement of a rolling shutter correction value according to various embodiments of the present disclosure;
도 7은 다양한 실시예에 따른 VDIS 보정을 설명하기 위한 도면을 도시한다.7 is a diagram illustrating VDIS correction according to various embodiments.
도 8a 및 도 8b는 다양한 실시예에 따른 VDIS 보정에서의 크롭 영역 설정을 설명하기 위한 도면을 도시한다. 8A and 8B are diagrams for explaining crop region setting in VDIS correction according to various embodiments.
도 9는 다양한 실시예에 따른 움직임 보정을 설명하기 위한 도면을 도시한다. 9 is a diagram for describing motion compensation according to various embodiments.
도 10a 및 도 10b는 다양한 실시예에 따른 렌즈 왜곡 보정, VDIS 보정, 및 롤링 셔터 보정을 설명하기 위한 도면을 도시한다. 10A and 10B are diagrams for explaining lens distortion correction, VDIS correction, and rolling shutter correction according to various embodiments.
도 11은 다양한 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도를 도시한다.11 is a flowchart illustrating an operation of an electronic device according to various embodiments of the present disclosure;
도 12는 다양한 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도를 도시한다.12 is a flowchart illustrating an operation of an electronic device according to various embodiments of the present disclosure;
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드된 채 구현될 수 있다1 is a block diagram of an electronic device 101 in a network environment 100 according to various embodiments. Referring to FIG. 1 , in a network environment 100 , an electronic device 101 communicates with an electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or a second network 199 . It may communicate with the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 . According to an embodiment, the electronic device 101 includes a processor 120 , a memory 130 , an input device 150 , a sound output device 155 , a display device 160 , an audio module 170 , and a sensor module ( 176 , interface 177 , haptic module 179 , camera module 180 , power management module 188 , battery 189 , communication module 190 , subscriber identification module 196 , or antenna module 197 . ) may be included. In some embodiments, at least one of these components (eg, the display device 160 or the camera module 180 ) may be omitted or one or more other components may be added to the electronic device 101 . In some embodiments, some of these components may be implemented as one integrated circuit. For example, the sensor module 176 (eg, a fingerprint sensor, an iris sensor, or an illuminance sensor) may be implemented while being embedded in the display device 160 (eg, a display).
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)은 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.The processor 120, for example, executes software (eg, a program 140) to execute at least one other component (eg, a hardware or software component) of the electronic device 101 connected to the processor 120. It can control and perform various data processing or operations. According to one embodiment, as at least part of data processing or operation, the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 . may be loaded into the volatile memory 132 , process commands or data stored in the volatile memory 132 , and store the resulting data in the non-volatile memory 134 . According to an embodiment, the processor 120 includes a main processor 121 (eg, a central processing unit or an application processor), and a secondary processor 123 (eg, a graphics processing unit, an image signal processor) that can be operated independently or in conjunction with the main processor 121 . , a sensor hub processor, or a communication processor). Additionally or alternatively, the auxiliary processor 123 may be configured to use less power than the main processor 121 or to be specialized for a designated function. The auxiliary processor 123 may be implemented separately from or as a part of the main processor 121 .
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. The auxiliary processor 123 may be, for example, on behalf of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or when the main processor 121 is active (eg, executing an application). ), together with the main processor 121, at least one of the components of the electronic device 101 (eg, the display device 160, the sensor module 176, or the communication module 190) It is possible to control at least some of the related functions or states. According to an embodiment, the coprocessor 123 (eg, an image signal processor or a communication processor) may be implemented as part of another functionally related component (eg, the camera module 180 or the communication module 190). have.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다. The memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176 ) of the electronic device 101 . The data may include, for example, input data or output data for software (eg, the program 140 ) and instructions related thereto. The memory 130 may include a volatile memory 132 or a non-volatile memory 134 .
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다. The program 140 may be stored as software in the memory 130 , and may include, for example, an operating system 142 , middleware 144 , or an application 146 .
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)은, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예:스타일러스 펜)을 포함할 수 있다. The input device 150 may receive a command or data to be used by a component (eg, the processor 120 ) of the electronic device 101 from the outside (eg, a user) of the electronic device 101 . The input device 150 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (eg, a stylus pen).
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.The sound output device 155 may output a sound signal to the outside of the electronic device 101 . The sound output device 155 may include, for example, a speaker or a receiver. The speaker can be used for general purposes such as multimedia playback or recording playback, and the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from or as part of the speaker.
표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다. The display device 160 may visually provide information to the outside (eg, a user) of the electronic device 101 . The display device 160 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the corresponding device. According to an embodiment, the display device 160 may include a touch circuitry configured to sense a touch or a sensor circuit (eg, a pressure sensor) configured to measure the intensity of a force generated by the touch. there is.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)) (예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.The audio module 170 may convert a sound into an electric signal or, conversely, convert an electric signal into a sound. According to an embodiment, the audio module 170 acquires a sound through the input device 150 , or an external electronic device (eg, a sound output device 155 ) connected directly or wirelessly with the electronic device 101 . The sound may be output through the electronic device 102 (eg, a speaker or a headphone).
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다. The sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101 or an external environmental state (eg, user state), and generates an electrical signal or data value corresponding to the sensed state. can do. According to an embodiment, the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
인터페이스(177)는 전자 장치(101)이 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.The interface 177 may support one or more specified protocols that may be used by the electronic device 101 to directly or wirelessly connect with an external electronic device (eg, the electronic device 102 ). According to an embodiment, the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)은, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.The connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102 ). According to an embodiment, the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.The haptic module 179 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic sense. According to an embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.The camera module 180 may capture still images and moving images. According to an embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.The power management module 188 may manage power supplied 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).
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.The battery 189 may supply power to at least one component of the electronic device 101 . According to one embodiment, battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다. The communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (eg, the electronic device 102, the electronic device 104, or the server 108). It can support establishment and communication through the established communication channel. The communication module 190 may include one or more communication processors that operate independently of the processor 120 (eg, an application processor) and support direct (eg, wired) communication or wireless communication. According to one embodiment, the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg, : It may include a local area network (LAN) communication module, or a power line communication module). Among these communication modules, a corresponding communication module is a first network 198 (eg, a short-range communication network such as Bluetooth, WiFi direct, or IrDA (infrared data association)) or a second network 199 (eg, a cellular network, the Internet, or It may communicate with an external electronic device via a computer network (eg, a telecommunication network such as a LAN or WAN). These various types of communication modules may be integrated into one component (eg, a single chip) or may be implemented as a plurality of components (eg, multiple chips) separate from each other. The wireless communication module 192 uses the subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199 . The electronic device 101 may be identified and authenticated.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC)이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.The antenna module 197 may transmit or receive a signal or power to the outside (eg, an external electronic device). According to an embodiment, the antenna module may include one antenna including a conductor formed on a substrate (eg, a PCB) or a radiator formed of a conductive pattern. 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 method used in a communication network such as the first network 198 or the second network 199 is connected from the plurality of antennas by, for example, the communication module 190 . can be selected. A signal or power may be transmitted or received between the communication module 190 and an external electronic device through the selected at least one antenna. According to some embodiments, other components (eg, RFIC) other than the radiator may be additionally formed as a part of the antenna module 197 .
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.At least some of the components are connected to each other through a communication method between peripheral devices (eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)) and a signal ( e.g. commands or data) can be exchanged with each other.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. According to an embodiment, the command or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199 . Each of the electronic devices 102 and 104 may be the same or a different type of the electronic device 101 . According to an embodiment, all or part of the operations executed in the electronic device 101 may be executed in one or more of the external electronic devices 102 , 104 , or 108 . For example, when the electronic device 101 needs to perform a function or service automatically or in response to a request from a user or other device, the electronic device 101 may perform the function or service itself instead of executing the function or service itself. Alternatively or additionally, one or more external electronic devices may be requested to perform at least a part of the function or the service. The one or more external electronic devices that have received the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit the execution result to the electronic device 101 . The electronic device 101 may process the result as it is or additionally and provide it as at least a part of a response to the request. For this purpose, for example, cloud computing, distributed computing, or client-server computing technology may be used.
도 2a는, 다양한 실시예들에 따른, 카메라 모듈(180)을 예시하는 블럭도(200a)이다.도 2a를 참조하면, 카메라 모듈(180)은 렌즈 어셈블리(210a), 플래쉬(220a), 이미지 센서(230a), 이미지 스태빌라이저(240a), 메모리(250a)(예: 버퍼 메모리), 또는 이미지 시그널 프로세서(260a)를 포함할 수 있다. 렌즈 어셈블리(210a)는 이미지 촬영의 대상인 피사체로부터 방출되는 빛을 수집할 수 있다. 렌즈 어셈블리(210a)는 하나 또는 그 이상의 렌즈들을 포함할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 복수의 렌즈 어셈블리(210a)들을 포함할 수 있다. 이런 경우, 카메라 모듈(180)은, 예를 들면, 듀얼 카메라, 360도 카메라, 또는 구형 카메라(spherical camera)를 형성할 수 있다. 복수의 렌즈 어셈블리(210a)들 중 일부는 동일한 렌즈 속성(예: 화각, 초점 거리, 자동 초점, f 넘버(f number), 또는 광학 줌)을 갖거나, 또는 적어도 하나의 렌즈 어셈블리는 다른 렌즈 어셈블리의 렌즈 속성들과 다른 하나 이상의 렌즈 속성들을 가질 수 있다. 렌즈 어셈블리(210a)는, 예를 들면, 광각 렌즈 또는 망원 렌즈를 포함할 수 있다. 2A is a block diagram 200a illustrating a camera module 180, according to various embodiments. Referring to FIG. 2A , the camera module 180 includes a lens assembly 210a, a flash 220a, and an image. It may include a sensor 230a, an image stabilizer 240a, a memory 250a (eg, a buffer memory), or an image signal processor 260a. The lens assembly 210a may collect light emitted from a subject, which is an image capturing object. The lens assembly 210a may include one or more lenses. According to an embodiment, the camera module 180 may include a plurality of lens assemblies 210a. 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 210a may have the same lens properties (eg, angle of view, focal length, auto focus, f number, or optical zoom), or at least one lens assembly may be a different lens assembly. It may have one or more lens properties different from the lens properties of . The lens assembly 210a may include, for example, a wide-angle lens or a telephoto lens.
플래쉬(220a)는 피사체로부터 방출 또는 반사되는 빛을 강화하기 위하여 사용되는 빛을 방출할 수 있다. 일실시예에 따르면, 플래쉬(220a)는 하나 이상의 발광 다이오드들(예: RGB(red-green-blue) LED, white LED, infrared LED, 또는 ultraviolet LED), 또는 xenon lamp를 포함할 수 있다. 이미지 센서(230a)는 피사체로부터 방출 또는 반사되어 렌즈 어셈블리(210a) 를 통해 전달된 빛을 전기적인 신호로 변환함으로써, 상기 피사체에 대응하는 이미지를 획득할 수 있다. 일실시예에 따르면, 이미지 센서(230a)는, 예를 들면, RGB 센서, BW(black and white) 센서, IR 센서, 또는 UV 센서와 같이 속성이 다른 이미지 센서들 중 선택된 하나의 이미지 센서, 동일한 속성을 갖는 복수의 이미지 센서들, 또는 다른 속성을 갖는 복수의 이미지 센서들을 포함할 수 있다. 이미지 센서(230a)에 포함된 각각의 이미지 센서는, 예를 들면, CCD(charged coupled device) 센서 또는 CMOS(complementary metal oxide semiconductor) 센서를 이용하여 구현될 수 있다.The flash 220a may emit light used to enhance light emitted or reflected from the subject. According to an embodiment, the flash 220a may include one or more light emitting diodes (eg, a red-green-blue (RGB) LED, a white LED, an infrared LED, or an ultraviolet LED), or a xenon lamp. The image sensor 230a converts light emitted or reflected from the subject and transmitted through the lens assembly 210a into an electrical signal, thereby acquiring an image corresponding to the subject. According to an embodiment, the image sensor 230a is, for example, one image sensor selected from among image sensors having different properties, such as an RGB sensor, a black and white (BW) sensor, an IR sensor, or a UV sensor, the same It may include a plurality of image sensors having a property, or a plurality of image sensors having different properties. Each image sensor included in the image sensor 230a may be implemented using, for example, a charged coupled device (CCD) sensor or a complementary metal oxide semiconductor (CMOS) sensor.
이미지 스태빌라이저(240a)는 카메라 모듈(180) 또는 이를 포함하는 전자 장치(101)의 움직임에 반응하여, 렌즈 어셈블리(210a)에 포함된 적어도 하나의 렌즈 또는 이미지 센서(230a)를 특정한 방향으로 움직이거나 이미지 센서(230a)의 동작 특성을 제어(예: 리드 아웃(read-out) 타이밍을 조정 등)할 수 있다. 이는 촬영되는 이미지에 대한 상기 움직임에 의한 부정적인 영향의 적어도 일부를 보상하게 해 준다. 일실시예에 따르면, 이미지 스태빌라이저(240a)는, 일실시예에 따르면, 이미지 스태빌라이저(240a)은 카메라 모듈(180)의 내부 또는 외부에 배치된 자이로 센서(미도시) 또는 가속도 센서(미도시)를 이용하여 카메라 모듈(180) 또는 전자 장치(101)의 그런 움직임을 감지할 수 있다. 일실시예에 따르면, 이미지 스태빌라이저(240a)는, 예를 들면, 광학식 이미지 스태빌라이저로 구현될 수 있다. 메모리(250a)는 이미지 센서(230a)을 통하여 획득된 이미지의 적어도 일부를 다음 이미지 처리 작업을 위하여 적어도 일시 저장할 수 있다. 예를 들어, 셔터에 따른 이미지 획득이 지연되거나, 또는 복수의 이미지들이 고속으로 획득되는 경우, 획득된 원본 이미지(예: Bayer-patterned 이미지 또는 높은 해상도의 이미지)는 메모리(250a)에 저장이 되고, 그에 대응하는 사본 이미지(예: 낮은 해상도의 이미지)는 표시 장치(160)을 통하여 프리뷰될 수 있다. 이후, 지정된 조건이 만족되면(예: 사용자 입력 또는 시스템 명령) 메모리(250a)에 저장되었던 원본 이미지의 적어도 일부가, 예를 들면, 이미지 시그널 프로세서(260a)에 의해 획득되어 처리될 수 있다. 일실시예에 따르면, 메모리(250a)는 메모리(130)의 적어도 일부로, 또는 이와는 독립적으로 운영되는 별도의 메모리로 구성될 수 있다.In response to the movement of the camera module 180 or the electronic device 101 including the same, the image stabilizer 240a moves at least one lens or the image sensor 230a included in the lens assembly 210a in a specific direction or Operation characteristics of the image sensor 230a may be controlled (eg, read-out timing may be adjusted, etc.). This makes it possible to compensate for at least some of the negative effects of the movement on the image being taken. According to an embodiment, the image stabilizer 240a is, according to an embodiment, the image stabilizer 240a is a gyro sensor (not shown) or an acceleration sensor (not shown) disposed inside or outside the camera module 180 . Such a movement of the camera module 180 or the electronic device 101 may be detected using . According to an embodiment, the image stabilizer 240a may be implemented as, for example, an optical image stabilizer. The memory 250a may temporarily store at least a portion of the image acquired through the image sensor 230a for a next image processing operation. For example, when image acquisition is delayed according to the shutter or a plurality of images are acquired at high speed, the acquired original image (eg, Bayer-patterned image or high-resolution image) is stored in the memory 250a and , a copy image corresponding thereto (eg, a low-resolution image) may be previewed through the display device 160 . Thereafter, when a specified condition is satisfied (eg, a user input or a system command), at least a portion of the original image stored in the memory 250a may be obtained and processed by, for example, the image signal processor 260a. According to an embodiment, the memory 250a may be configured as at least a part of the memory 130 or as a separate memory operated independently of the memory 130 .
이미지 시그널 프로세서(260a)는 이미지 센서(230a)을 통하여 획득된 이미지 또는 메모리(250a)에 저장된 이미지에 대하여 하나 이상의 이미지 처리들을 수행할 수 있다. 상기 하나 이상의 이미지 처리들은, 예를 들면, 깊이 지도(depth map) 생성, 3차원 모델링, 파노라마 생성, 특징점 추출, 이미지 합성, 또는 이미지 보상(예: 노이즈 감소, 해상도 조정, 밝기 조정, 블러링(blurring), 샤프닝(sharpening), 또는 소프트닝(softening)을 포함할 수 있다. 추가적으로 또는 대체적으로, 이미지 시그널 프로세서(260a)는 카메라 모듈(180)에 포함된 구성 요소들 중 적어도 하나(예: 이미지 센서(230a))에 대한 제어(예: 노출 시간 제어, 또는 리드 아웃 타이밍 제어 등)를 수행할 수 있다. 이미지 시그널 프로세서(260a)에 의해 처리된 이미지는 추가 처리를 위하여 메모리(250a)에 다시 저장 되거나 카메라 모듈(180)의 외부 구성 요소(예: 메모리(130), 표시 장치(160), 전자 장치(102), 전자 장치(104), 또는 서버(108))로 제공될 수 있다. 일실시예에 따르면, 이미지 시그널 프로세서(260a)는 프로세서(120)의 적어도 일부로 구성되거나, 프로세서(120)와 독립적으로 운영되는 별도의 프로세서로 구성될 수 있다. 이미지 시그널 프로세서(260a)이 프로세서(120)과 별도의 프로세서로 구성된 경우, 이미지 시그널 프로세서(260a)에 의해 처리된 적어도 하나의 이미지는 프로세서(120)에 의하여 그대로 또는 추가의 이미지 처리를 거친 후 표시 장치(160)를 통해 표시될 수 있다. The image signal processor 260a may perform one or more image processing on an image acquired through the image sensor 230a or an image stored in the memory 250a. The one or more image processes may include, for example, depth map generation, three-dimensional modeling, panorama generation, feature point extraction, image synthesis, or image compensation (eg, noise reduction, resolution adjustment, brightness adjustment, blurring ( blurring), sharpening (sharpening), or softening (softening) Additionally or alternatively, the image signal processor 260a may include at least one of the components included in the camera module 180 (eg, an image sensor). 230a)), such as exposure time control, readout timing control, etc. The image processed by the image signal processor 260a is stored back in the memory 250a for further processing. or may be provided as an external component of the camera module 180 (eg, the memory 130, the display device 160, the electronic device 102, the electronic device 104, or the server 108). According to an example, the image signal processor 260a may be configured as at least a part of the processor 120 or may be configured as a separate processor operated independently of the processor 120. The image signal processor 260a may be configured as the processor 120 and a separate processor, the at least one image processed by the image signal processor 260a may be displayed through the display device 160 as it is or after additional image processing is performed by the processor 120 .
일실시예에 따르면, 전자 장치(101)는 각각 다른 속성 또는 기능을 가진 복수의 카메라 모듈(180)들을 포함할 수 있다. 이런 경우, 예를 들면, 상기 복수의 카메라 모듈(180)들 중 적어도 하나는 광각 카메라이고, 적어도 다른 하나는 망원 카메라일 수 있다. 유사하게, 상기 복수의 카메라 모듈(180)들 중 적어도 하나는 전면 카메라이고, 적어도 다른 하나는 후면 카메라일 수 있다.According to an embodiment, the electronic device 101 may include a plurality of camera modules 180 each having different properties or functions. In this case, for example, at least one of the plurality of camera modules 180 may be a wide-angle camera, and at least the other may be a telephoto camera. Similarly, at least one of the plurality of camera modules 180 may be a front camera, and at least the other may be a rear camera.
도 2b는 다양한 실시예에 따른 전자 장치의 블록도를 도시한다. 다양한 실시예에 따라서, 전자 장치(200b)는 프로세서(210b), 카메라(220b), 및 메모리(230b)를 포함할 수 있다. 다양한 실시예에 따라서, 전자 장치(200b)는 도 1에 도시된 전자 장치(101)일 수 있다. 다양한 실시예에 따라서, 프로세서(210b)는 도 1에 도시된 프로세서(120)일 수 있다. 다양한 실시예에 따라서, 프로세서(210b)는 어플리케이션 프로세서일 수 있다. 다양한 실시예에 따라서, 카메라(220b)는 도 1에 도시된 카메라 모듈(180)일 수 있다. 다양한 실시예에 따라서, 메모리(230b)는 도 1에 도시된 메모리(130) 또는 도 1의 프로세서(120)(예: 어플리케이션 프로세서)에 포함된 메모리 중 적어도 하나일 수 있다.2B is a block diagram of an electronic device according to various embodiments. According to various embodiments, the electronic device 200b may include a processor 210b, a camera 220b, and a memory 230b. According to various embodiments, the electronic device 200b may be the electronic device 101 illustrated in FIG. 1 . According to various embodiments, the processor 210b may be the processor 120 illustrated in FIG. 1 . According to various embodiments, the processor 210b may be an application processor. According to various embodiments, the camera 220b may be the camera module 180 illustrated in FIG. 1 . According to various embodiments, the memory 230b may be at least one of the memory 130 illustrated in FIG. 1 or a memory included in the processor 120 (eg, an application processor) of FIG. 1 .
다양한 실시예에 따라서, 카메라(220b)는 렌즈 왜곡 보정, 롤링 셔터 보정, 및 비디오 디지털 이미지 안정화(video digital image stabilization, VDIS) 보정이 수행되지 않은 이미지를 획득하여 프로세서(210b)에 입력 이미지로서 전달할 수 있다. 프로세서(210b)는 카메라(220b)로부터 획득된 입력 이미지의 복수 개의 픽셀 중 적어도 일부에 렌즈 왜곡 보정, 롤링 셔터 보정, 및 VDIS 보정을 수행하여 출력 이미지를 확인할 수 있다. 다양한 실시예에 따라서, 프로세서(210b)는 입력 이미지의 복수 개의 픽셀 중 적어도 일부에 렌즈 왜곡 보정, 롤링 셔터 보정, 및 VDIS 보정을 수행하기 위한 제1 와핑을 수행할 수 있고, 제1 와핑을 수행할 때 메모리(230b)를 참조하거나 메모리(230b)에 데이터를 저장할 수 있다.According to various embodiments, the camera 220b acquires an image on which lens distortion correction, rolling shutter correction, and video digital image stabilization (VDIS) correction are not performed, and transmits it to the processor 210b as an input image. can The processor 210b may check the output image by performing lens distortion correction, rolling shutter correction, and VDIS correction on at least some of the plurality of pixels of the input image obtained from the camera 220b. According to various embodiments, the processor 210b may perform a first warping for performing lens distortion correction, rolling shutter correction, and VDIS correction on at least some of the plurality of pixels of the input image, and performs the first warping In this case, data may be stored in the memory 230b or referenced to the memory 230b.
다양한 실시예에 따라서, 카메라(220b)는 롤링 셔터 보정이 수행된 이미지를 획득하여 프로세서(210b)에 입력 이미지로서 전달할 수 있다. 프로세서(210b)는 카메라(220b)로부터 획득된 입력 이미지의 복수 개의 픽셀 중 적어도 일부에 렌즈 왜곡 보정 및 VDIS 보정을 수행하여 출력 이미지를 확인할 수 있다. 다양한 실시예에 따라서, 프로세서(210b)는 입력 이미지의 복수 개의 픽셀 중 적어도 일부에 렌즈 왜곡 보정 및 VDIS 보정을 수행하기 위한 제2 와핑을 수행할 수 있고, 제2 와핑을 수행할 때 메모리(230b)를 참조하거나 메모리(230b)에 데이터를 저장할 수 있다.According to various embodiments, the camera 220b may acquire an image on which rolling shutter correction has been performed and transmit it to the processor 210b as an input image. The processor 210b may check the output image by performing lens distortion correction and VDIS correction on at least some of the plurality of pixels of the input image obtained from the camera 220b. According to various embodiments, the processor 210b may perform second warping for performing lens distortion correction and VDIS correction on at least some of a plurality of pixels of the input image, and when performing the second warping, the memory 230b ) or store data in the memory 230b.
도 3은 다양한 실시예에 따른 전자 장치(예를 들어, 전자 장치(200b))의 동작을 설명하기 위한 흐름도(300)를 도시한다. 전자 장치(예를 들어, 전자 장치(200b))의 프로세서(예를 들어, 프로세서(210b))는 310 동작에서 카메라(예를 들어, 카메라(220b))로부터 제1 이미지를 획득할 수 있다. 다양한 실시예에 따라서, 제1 이미지는 렌즈 왜곡 보정, 롤링 셔터 보정, 및 VDIS 보정이 수행되지 않은 이미지일 수 있다.3 is a flowchart 300 for explaining an operation of an electronic device (eg, the electronic device 200b) according to various embodiments of the present disclosure. The processor (eg, the processor 210b) of the electronic device (eg, the electronic device 200b) may acquire the first image from the camera (eg, the camera 220b) in operation 310 . According to various embodiments, the first image may be an image on which lens distortion correction, rolling shutter correction, and VDIS correction are not performed.
320 동작에서, 프로세서(210b)는 제1 이미지의 복수의 픽셀 중 적어도 일부에 렌즈 왜곡 보정, 롤링 셔터 보정, 및 VDIS 보정에 대응하는 제1 와핑을 수행하여 제2 이미지를 확인할 수 있다. 다양한 실시예에 따라서, 제1 와핑은 렌즈 왜곡 보정, 롤링 셔터 보정을 위한 롤링 셔터 보정값, VDIS 보정을 위한 크롭 영역, 및 카메라의 평활화된 움직임 궤적에 기초하여 수행될 수 있다. 다양한 실시예에 따라서, 롤링 셔터 보정값은 렌즈 왜곡 보정에 기초하여 확인될 수 있다. 다양한 실시예에 따라서, VDIS 보정을 위한 크롭 영역은 렌즈 왜곡 보정에 기초하여 확인될 수 있다. 320 동작에서, 단일의 제1 와핑으로 렌즈 왜곡 보정, 롤링 셔터 보정, 및 VDIS 보정이 한 번에 수행될 수 있다. In operation 320 , the processor 210b may confirm the second image by performing the first warping corresponding to the lens distortion correction, the rolling shutter correction, and the VDIS correction on at least some of the plurality of pixels of the first image. According to various embodiments, the first warping may be performed based on a lens distortion correction, a rolling shutter correction value for a rolling shutter correction, a crop region for VDIS correction, and a smoothed motion trajectory of the camera. According to various embodiments, the rolling shutter correction value may be determined based on the lens distortion correction. According to various embodiments, a crop region for VDIS correction may be identified based on lens distortion correction. In operation 320 , lens distortion correction, rolling shutter correction, and VDIS correction may be performed at a time with a single first warping.
다양한 실시예에 따라서, 320 동작이 수행된 후, 프로세서(210b)는 확인된 제2 이미지를 전자 장치(예를 들어, 전자 장치(101))의 디스플레이(예를 들어, 표시 장치(160)) 상에 표시할 수 있다.According to various embodiments, after operation 320 is performed, the processor 210b displays the identified second image on the electronic device (eg, the electronic device 101) on the display (eg, the display device 160). can be displayed on the
도 4는 다양한 실시예에 따른 전자 장치의 동작을 설명하기 위한 블록도(400)를 도시한다. 구체적으로, 도 4의 블록도(400)는 메모리(401), 버퍼(402), 및 프로세서(403) 사이의 정보 교환과, 프로세서(403)에서 수행되는 연산의 과정을 도시한다. 프로세서(403)에서 수행되는 연산의 과정을 설명하기 위하여, 도 5a-5c, 도 6a-6b, 도 7, 도 8a-8b, 및 도 9가 참조된다. 도 5a, 도 5b, 및 도 5c는 다양한 실시예에 따른 렌즈 왜곡 보정을 설명하기 위한 도면을 도시한다. 도 6a 및 도 6b는 다양한 실시예에 따른 롤링 셔터 보정값의 재배치를 설명하기 위한 도면을 도시한다. 도 7은 다양한 실시예에 따른 VDIS 보정을 설명하기 위한 도면을 도시한다. 도 8a 및 도 8b는 다양한 실시예에 따른 VDIS 보정에서의 크롭 영역 설정을 설명하기 위한 도면을 도시한다. 도 9는 다양한 실시예에 따른 움직임 보정을 설명하기 위한 도면을 도시한다. 4 is a block diagram 400 illustrating an operation of an electronic device according to various embodiments of the present disclosure. Specifically, the block diagram 400 of FIG. 4 shows information exchange between the memory 401 , the buffer 402 , and the processor 403 , and a process of an operation performed by the processor 403 . 5A-5C, 6A-6B, 7, 8A-8B, and 9 are referenced to describe the process of the operation performed by the processor 403. FIG. 5A, 5B, and 5C are diagrams for explaining lens distortion correction according to various embodiments. 6A and 6B are diagrams for explaining rearrangement of a rolling shutter correction value according to various embodiments of the present disclosure; 7 is a diagram illustrating VDIS correction according to various embodiments. 8A and 8B are diagrams for explaining crop region setting in VDIS correction according to various embodiments. 9 is a diagram for describing motion compensation according to various embodiments.
다양한 실시예에 따라서, 메모리(401)는 도 1의 프로세서(120)(예: 어플리케이션 프로세서)에 포함된 메모리 및/또는 메모리(130)일 수 있다. 다양한 실시예에 따라서, 버퍼(402)는 도 1의 프로세서(120)(예: 어플리케이션 프로세서)에 포함되거나, 또는 메모리(130)에 포함될 수 있다. 다양한 실시예에 따라서, 프로세서(403)는 도 2b의 프로세서(210b)일 수 있다.According to various embodiments, the memory 401 may be a memory and/or a memory 130 included in the processor 120 (eg, an application processor) of FIG. 1 . According to various embodiments, the buffer 402 may be included in the processor 120 (eg, an application processor) of FIG. 1 or the memory 130 . According to various embodiments, the processor 403 may be the processor 210b of FIG. 2B .
411 동작에서, 메모리(401)는 프로세서(403)에 N번째 프레임을 입력 이미지로서 전달할 수 있다. 다양한 실시예에 따라서, 입력 이미지는 렌즈 왜곡 보정, 롤링 셔터 보정, 및 VDIS 보정이 수행되지 않은 왜곡된 이미지(421)일 수 있다.In operation 411 , the memory 401 may transmit the N-th frame to the processor 403 as an input image. According to various embodiments, the input image may be a distorted image 421 on which lens distortion correction, rolling shutter correction, and VDIS correction are not performed.
412 동작에서, 프로세서(403)는 버퍼(402)의 N번째 버퍼에 입력 이미지인 N번째 프레임을 인큐(enqueue)할 수 있다. 413 동작에서, 프로세서(403)는 버퍼(402)의 N번째 버퍼로부터 일정 딜레이 개수, 예를 들어, d개 만큼 이전의 버퍼를 디큐(dequeue)할 수 있다. N-d번째 버퍼에서 디큐된 데이터는 프로세서(403)에서 입력 이미지의 왜곡을 보정하는 연산 과정에 사용될 수 있다.In operation 412 , the processor 403 may enqueue an N-th frame that is an input image in an N-th buffer of the buffer 402 . In operation 413 , the processor 403 may dequeue the previous buffer from the N-th buffer of the buffer 402 by a predetermined number of delays, for example, d. The data dequeued from the N-d-th buffer may be used in the processor 403 in a calculation process of correcting the distortion of the input image.
프로세서(403)는 카메라(예를 들어, 카메라(220b))의 움직임 정보를 확인(422)할 수 있다. 다양한 실시예에 따라서, 움직임 정보는 카메라(220b)가 입력 이미지를 캡쳐할 때의 카메라(220b)의 움직임을 나타내는 정보일 수 있다. 다양한 실시예에 따라서, 움직임 정보는 전자 장치(예를 들어, 전자 장치(101))에 포함된 자이로 센서로부터 획득되는 센싱값 또는 입력 이미지 중 적어도 하나에 기초하여 확인될 수 있다. 다양한 실시예에 따라서, 움직임 정보는 1차(primary) 롤링 셔터 보정값 및 카메라의 움직임 궤적을 포함할 수 있다. 다양한 실시예에 따라서, 1차 롤링 셔터 보정값은 N번째 프레임에 대하여 카메라의 움직임에 기초하여 계산된 롤링 셔터 보정값일 수 있다. 다양한 실시예에 따라서, 프로세서(403)는 첫 번째 프레임부터 N번째 프레임까지의 카메라의 움직임 양을 누적시켜 카메라의 움직임 궤적을 확인할 수 있다. The processor 403 may check 422 motion information of the camera (eg, the camera 220b). According to various embodiments, the motion information may be information indicating the motion of the camera 220b when the camera 220b captures an input image. According to various embodiments, the motion information may be identified based on at least one of a sensing value obtained from a gyro sensor included in the electronic device (eg, the electronic device 101 ) or an input image. According to various embodiments, the motion information may include a primary rolling shutter correction value and a motion trajectory of the camera. According to various embodiments, the primary rolling shutter correction value may be a rolling shutter correction value calculated based on the movement of the camera with respect to the N-th frame. According to various embodiments, the processor 403 may check the movement trajectory of the camera by accumulating the amount of movement of the camera from the first frame to the N-th frame.
프로세서(403)는 렌즈 왜곡 보정(423)을 수행할 수 있다. 렌즈 왜곡 보정은 렌즈 특성에 따른 왜곡을 보정하기 위한 과정일 수 있다. 도 5a는 렌즈 왜곡 보정이 이루어지기 전의 예시적인 이미지(500a)를 도시하며, 도 5b는 도 5a의 예시적인 이미지(500a)에 렌즈 왜곡 보정이 이루어진 후의 예시적인 이미지(500b)를 도시한다. 도 5c는 렌즈 왜곡 보정에 사용되는, 왜곡과 근축 주광선의 상고 사이의 관계를 나타낸다.The processor 403 may perform lens distortion correction 423 . Lens distortion correction may be a process for correcting distortion according to lens characteristics. FIG. 5A shows an exemplary image 500a before lens distortion correction is performed, and FIG. 5B shows an exemplary image 500b after lens distortion correction is performed on the exemplary image 500a of FIG. 5A . Fig. 5c shows the relationship between the distortion and the image height of the paraxial chief ray, used for lens distortion correction.
근축 주광선의 상고 , 실주광선 , 및 왜곡 DIY 사이의 관계는 다음과 같다.Elevation of the paraxial chief ray , true ray The relationship between , and distortion DIY is as follows.
수학식 1을 정리하면 다음과 같은 관계가 성립한다.By rearranging Equation 1, the following relationship is established.
도 5c에 도시된 그래프(500c)에서, 곡선 510c는 근축 주광선의 상고와 왜곡 사이의 관계를 나타낸다. 곡선 520c는 곡선 510c를 근축 주광선의 상고 에 대한 다항식 형태로 근사한 곡선이다. 곡선 520c가 나타내는, 근축 주광선의 상고와 왜곡 사이의 관계는 다음과 같다.In the graph 500c shown in Fig. 5c, the curve 510c is the image height of the paraxial chief ray. shows the relationship between and distortion. Curve 520c represents curve 510c as the height of the paraxial chief ray It is an approximate curve in polynomial form for . The image height of the paraxial chief ray, represented by curve 520c The relationship between and distortion is
다양한 실시예에 따라서, 전자 장치(예를 들어, 전자 장치(101))의 메모리(130)에는 수학식 3이 저장될 수 있고, 이 경우 프로세서(403)(예를 들어, 프로세서(120))는 메모리(130)에 저장된 수학식 3을 참조하여 렌즈 왜곡 보정을 수행할 수 있다. 다른 실시예에서, 전자 장치(101)의 메모리(130)에는 수학식 3에 대응하는 예시적인 값들의 매핑 관계를 나타내는 룩업 테이블이 저장될 수 있고, 이 경우 프로세서(403) 는 메모리(130)에 저장된 룩업 테이블을 참조하여 렌즈 왜곡 보정을 수행할 수 있다.According to various embodiments, Equation 3 may be stored in the memory 130 of the electronic device (eg, the electronic device 101 ), and in this case, the processor 403 (eg, the processor 120 ) may perform lens distortion correction with reference to Equation 3 stored in the memory 130 . In another embodiment, a lookup table representing a mapping relationship between exemplary values corresponding to Equation 3 may be stored in the memory 130 of the electronic device 101 , and in this case, the processor 403 stores the memory 130 in the memory 130 . Lens distortion correction may be performed by referring to the stored lookup table.
입력 이미지 상의 좌표 과 렌즈 왜곡 보정을 통하여 획득된 출력 이미지 상의 좌표 사이의 관계는 다음과 같이 나타낼 수 있다.Coordinates on the input image and coordinates on the output image obtained through lens distortion correction The relationship between them can be expressed as
즉, 프로세서(403)는 렌즈 왜곡 보정(423)을 수행함으로써 렌즈 왜곡 보정 좌표를 확인할 수 있다.That is, the processor 403 may check the lens distortion correction coordinates by performing the lens distortion correction 423 .
렌즈 왜곡 보정(423)을 수행한 프로세서(403)는 렌즈 왜곡 보정에 기초하여 움직임 정보에 포함되는 1차 롤링 셔터 보정값을 재매핑하여, 재매핑된 롤링 셔터 보정값을 확인할 수 있다. 롤링 셔터 재매핑(424) 과정에서는 렌즈 왜곡 보정 맵이 참조될 수 있다. 다양한 실시예에 따라서, 롤링 셔터 재매핑(424) 과정은 1차 롤링 셔터 보정값에 렌즈 왜곡 보정 맵을 적용함으로써 수행될 수 있다.The processor 403 that has performed the lens distortion correction 423 may remap the primary rolling shutter correction value included in the motion information based on the lens distortion correction to check the remapped rolling shutter correction value. In the rolling shutter remapping 424 process, the lens distortion correction map may be referred to. According to various embodiments, the rolling shutter remapping 424 process may be performed by applying a lens distortion correction map to the primary rolling shutter correction value.
도 6a는 1차 롤링 셔터 보정값이 표시된 예시적인 이미지(600a)를 도시한다. 도 6b는 도 6a의 예시적인 이미지(600a)의 1차 롤링 셔터 보정값이 롤링 셔터 재매핑(424) 과정을 거쳐 재매핑된 후의, 재매핑된 롤링 셔터 보정값이 표시된 예시적인 이미지(600b)를 도시한다. 입력 이미지 상의 좌표 과 재매핑된 롤링 셔터 보정을 통하여 획득된 출력 이미지 상의 좌표 사이의 관계는 다음과 같이 나타낼 수 있다.6A shows an exemplary image 600a in which a primary rolling shutter correction value is displayed. 6B is an exemplary image 600b in which the remapped rolling shutter correction value is displayed after the primary rolling shutter correction value of the exemplary image 600a of FIG. 6A is remapped through the rolling shutter remapping 424 process. shows Coordinates on the input image and coordinates on the output image obtained through the remapped rolling shutter correction The relationship between them can be expressed as
렌즈 왜곡 보정(423)을 수행한 프로세서(403)는 렌즈 왜곡 보정에 기초하여 움직임 정보에 포함되는 카메라의 움직임 궤적을 평활화하고, VDIS를 위한 크롭 영역을 확인(425)할 수 있다. 도 7은 카메라의 움직임 궤적을 평활화하고, VDIS를 위한 크롭 영역을 확인하는 과정을 설명하기 위한 그래프(700)이다. 곡선 710은 움직임 정보에 포함되는 카메라의 움직임 궤적을 나타내며, 곡선 720은 카메라의 움직임 궤적을 평활화하여 획득한 카메라의 평활화된 움직임 궤적을 나타낸다. 곡선 730 및 곡선 740은 VDIS를 위한 크롭 영역의 경계를 나타낸다. 다양한 실시예에 따라서, VDIS를 위한 크롭 영역은 곡선 720이 곡선 730 및 곡선 740 사이를 벗어나지 않도록 설정될 수 있다. The processor 403 that has performed the lens distortion correction 423 may smooth the motion trajectory of the camera included in the motion information based on the lens distortion correction and check a crop region for the VDIS ( 425 ). 7 is a graph 700 for explaining a process of smoothing a motion trajectory of a camera and checking a crop area for VDIS. A curve 710 indicates a motion trajectory of a camera included in the motion information, and a curve 720 indicates a smoothed motion trajectory of the camera obtained by smoothing the motion trajectory of the camera. Curves 730 and 740 represent the boundaries of the crop region for VDIS. According to various embodiments, the crop area for the VDIS may be set so that the curve 720 does not deviate between the curve 730 and the curve 740 .
크롭 영역 확인(425) 과정에서는 렌즈 왜곡 보정(423)의 결과로 확인된 렌즈 왜곡 보정 좌표가 참조될 수 있다. 렌즈 왜곡 보정(423) 과정에서 입력 이미지가 변형되었으므로, VDIS를 위한 크롭 영역의 경계가 달라진다. 따라서, 프로세서(403)는 크롭 영역 내에 유효한 영역만 포함되도록 하는 크롭 영역을 확인할 수 있다. 도 8a는 렌즈 왜곡 보정(423)이 수행되기 전의 예시적인 입력 이미지(800a) 및 예시적인 크롭 영역(810a)를 도시하고, 도 8b는 도 8a의 예시적인 입력 이미지(800a)에 렌즈 왜곡 보정(423)이 수행된 결과로 획득된 이미지(800b) 및 예시적인 크롭 영역들(810b, 820b, 830b)를 도시한다. 도 8b에서, 예시적인 크롭 영역들(810b, 820b, 830b)은 이미지(800b)의 유효 영역 내에 있음이 도시되어 있다.In the process of checking the crop region 425 , the lens distortion correction coordinates confirmed as a result of the lens distortion correction 423 may be referred to. Since the input image is deformed in the lens distortion correction process 423, the boundary of the crop region for VDIS is changed. Accordingly, the processor 403 may identify the crop region such that only valid regions are included in the crop region. Fig. 8A shows an exemplary input image 800a and an exemplary crop region 810a before lens distortion correction 423 is performed, and Fig. 8B shows an exemplary input image 800a of Fig. 8A with lens distortion correction ( 423) is performed and shows an image 800b obtained as a result and exemplary crop regions 810b, 820b, and 830b. In FIG. 8B , exemplary crop regions 810b , 820b , 830b are shown within the effective region of image 800b .
VDIS 보정 수식은 다음과 같이 나타낼 수 있다.The VDIS correction formula can be expressed as follows.
다양한 실시예에 따라서, 프로세서(403)는 크롭 영역 확인(425)을 먼저 수행한 후 롤링 셔터 재매핑(424)을 수행할 수 있다.프로세서(403)는 크롭 영역 확인(425)의 결과로서 확인된 카메라의 평활화된 움직임 궤적 및 롤링 셔터 재매핑(424)의 결과로서 확인된 재매핑된 롤링 셔터 보정값에 기초하여 움직임 보정(426)을 수행할 수 있다. According to various embodiments, the processor 403 may first perform a crop region check 425 and then perform a rolling shutter remapping 424 . The processor 403 may perform a check as a result of the crop region check 425 . The motion compensation 426 may be performed based on the smoothed motion trajectory of the camera and the remapped rolling shutter compensation value identified as a result of the rolling shutter remapping 424 .
도 9는 예시적인 움직임 보정(426) 및 렌즈 왜곡 보정(423) 과정을 설명하기 위한 도면이다. 도 9에 도시된 예시적인 과정은 크롭 영역에 해당하는 출력 이미지(910)의 각 좌표에 대응하는 입력 이미지(920) 상의 좌표를 확인하고, 입력 이미지(920) 상의 좌표에 대응하는, 렌즈 왜곡 보정이 고려된 이미지(930) 상의 좌표를 확인하는 과정이다. 도 9에서 출력 이미지(910)의 좌표(911)가 입력 이미지(920) 상의 좌표(921)에 대응되고, 입력 이미지(920) 상의 좌표(921)가 다시 렌즈 왜곡 보정이 고려된 이미지(930) 상의 좌표(931)에 대응되는 것이 도시되어 있다. 또한, 도 9에서 출력 이미지(910)의 좌표(912)가 입력 이미지(920) 상의 좌표(922)에 대응되고, 입력 이미지(920) 상의 좌표(921)가 다시 렌즈 왜곡 보정이 고려된 이미지(930) 상의 좌표(932)에 대응되는 것이 도시되어 있다.9 is a diagram for explaining exemplary motion correction 426 and lens distortion correction 423 processes. An exemplary process illustrated in FIG. 9 checks coordinates on the input image 920 corresponding to respective coordinates of the output image 910 corresponding to the crop region, and corrects lens distortion, which corresponds to the coordinates on the input image 920 . This is a process of confirming coordinates on the considered image 930 . In FIG. 9 , the coordinate 911 of the output image 910 corresponds to the coordinate 921 on the input image 920 , and the coordinate 921 on the input image 920 is an image 930 in which lens distortion correction is considered again. Corresponding to the coordinates 931 of the image are shown. In addition, in FIG. 9 , the coordinates 912 of the output image 910 correspond to the coordinates 922 on the input image 920 , and the coordinates 921 on the input image 920 are again the image in which the lens distortion correction is considered ( Corresponding to the coordinates 932 on the 930 are shown.
도 9의 예시에서, 출력 이미지 상의 좌표 와 입력 이미지 상의 좌표 사이의 관계는 다음과 같이 나타낼 수 있다.In the example of Figure 9, the coordinates on the output image and coordinates on the input image The relationship between them can be expressed as
다양한 실시예에 따라서, 프로세서(403)는 크롭 영역 확인(425)을 통하여 확인된 크롭 좌표 및 움직임 보정(426)이 수행된 크롭 좌표를 참조하여 렌즈 왜곡 보정(423)을 수행할 수 있다. 도 10a 및 도 10b는 다양한 실시예에 따른 렌즈 왜곡 보정, VDIS 보정, 및 롤링 셔터 보정을 설명하기 위한 도면을 도시한다. 도 10a는 렌즈 왜곡 보정을 고려한 크롭 영역(1011a)이 표시된 이미지(1010a)에 1차 롤링 셔터 보정값(1020a)을 적용하는 예시를 도시한다. 롤링 셔터 보정의 결과로, 도 10a의 결과 이미지(1030a)에서 크롭 영역(1031a)이 이미지(1010a)에서의 크롭 영역(1011a)과 상이한 것을 알 수 있다. 도 10b는 렌즈 왜곡 보정을 고려한 크롭 영역(1011b)이 표시된 이미지(1010b)에 재매핑된 롤링 셔터 보정값(1020b)을 적용하는 예시를 도시한다. 도 10b의 결과 이미지(1030b)에서 크롭 영역(1031b)이 이미지(1010b)에서의 크롭 영역(1011b)과 상이한 것을 알 수 있다. 도 10a의 결과 이미지(1030a)와 비교하여, 도 10b의 경우는 재매핑된 롤링 셔터 보정값(1020b)을 사용하였기 때문에 크롭 영역(1011b)이 크롭 영역(1011a)과 상이한 것을 알 수 있다.According to various embodiments, the processor 403 may perform the lens distortion correction 423 with reference to the crop coordinates confirmed through the crop region confirmation 425 and the crop coordinates on which the motion correction 426 is performed. 10A and 10B are diagrams for explaining lens distortion correction, VDIS correction, and rolling shutter correction according to various embodiments. 10A illustrates an example of applying the first rolling shutter correction value 1020a to the image 1010a in which the crop region 1011a in consideration of lens distortion correction is displayed. As a result of the rolling shutter correction, it can be seen that the crop region 1031a in the result image 1030a of FIG. 10A is different from the crop region 1011a in the image 1010a. 10B illustrates an example of applying the remapped rolling shutter correction value 1020b to the image 1010b in which the crop region 1011b in consideration of lens distortion correction is displayed. It can be seen that the crop region 1031b in the result image 1030b of FIG. 10B is different from the crop region 1011b in the image 1010b. Compared with the result image 1030a of FIG. 10A , it can be seen that the crop region 1011b is different from the crop region 1011a in the case of FIG. 10B because the remapped rolling shutter correction value 1020b is used.
프로세서(403)는 움직임 보정(426)을 통하여 획득한 출력 이미지 상의 좌표 와 입력 이미지 상의 좌표 사이의 대응관계에 기초하여, 출력 이미지 상의 각 좌표의 픽셀에 대응되는 입력 이미지 상의 좌표의 픽셀값을 입력함으로써 출력 이미지를 생성하는 와핑(427)을 수행할 수 있다. 프로세서(403)는 와핑(427)을 수행한 결과 생성된 출력 이미지를 보정된 이미지(428)로서 확인할 수 있다.The processor 403 determines the coordinates on the output image obtained through the motion compensation 426 . and coordinates on the input image Warping 427 for generating an output image may be performed by inputting a pixel value of a coordinate on the input image corresponding to a pixel of each coordinate on the output image based on the correspondence between them. The processor 403 may check the output image generated as a result of performing the warping 427 as the corrected image 428 .
414 동작에서, 메모리(401)는 프로세서(403)에 N+1번째 프레임을 입력 이미지로서 전달할 수 있다.In operation 414 , the memory 401 may transmit the N+1th frame to the processor 403 as an input image.
도 11은 다양한 실시예에 따른 전자 장치(예를 들어, 전자 장치(200b))의 동작을 설명하기 위한 흐름도(1100)를 도시한다. 전자 장치(예를 들어, 전자 장치(200b))의 프로세서(예를 들어, 프로세서(210b))는 1110 동작에서 카메라(예를 들어, 카메라(220b))로부터 롤링 셔터 보정이 수행된 제1 이미지를 획득할 수 있다. 다양한 실시예에 따라서, 제1 이미지는 렌즈 왜곡 보정이 수행되고, 롤링 셔터 보정 및 VDIS 보정이 수행되지 않은 이미지일 수 있다.11 is a flowchart 1100 illustrating an operation of an electronic device (eg, the electronic device 200b) according to various embodiments of the present disclosure. The processor (eg, the processor 210b) of the electronic device (eg, the electronic device 200b) performs the rolling shutter correction from the camera (eg, the camera 220b) in operation 1110 on the first image. can be obtained. According to various embodiments, the first image may be an image on which lens distortion correction is performed and rolling shutter correction and VDIS correction are not performed.
1120 동작에서, 프로세서(210b)는 제1 이미지의 복수의 픽셀 중 적어도 일부에 렌즈 왜곡 보정 및 VDIS 보정에 대응하는 제2 와핑을 수행하여 제2 이미지를 확인할 수 있다. 다양한 실시예에 따라서, 제1 와핑은 렌즈 왜곡 보정, VDIS 보정을 위한 크롭 영역, 및 카메라의 평활화된 움직임 궤적에 기초하여 수행될 수 있다. 다양한 실시예에 따라서, VDIS 보정을 위한 크롭 영역은 렌즈 왜곡 보정에 기초하여 확인될 수 있다. 1120 동작에서, 단일의 제2 와핑으로 렌즈 왜곡 보정 및 VDIS 보정이 한 번에 수행될 수 있다. In operation 1120 , the processor 210b may confirm the second image by performing second warping corresponding to lens distortion correction and VDIS correction on at least some of the plurality of pixels of the first image. According to various embodiments, the first warping may be performed based on a lens distortion correction, a crop region for VDIS correction, and a smoothed motion trajectory of the camera. According to various embodiments, a crop region for VDIS correction may be identified based on lens distortion correction. In operation 1120 , lens distortion correction and VDIS correction may be performed at a time with a single second warping.
다양한 실시예에 따라서, 1120 동작이 수행된 후, 프로세서(210b)는 확인된 제2 이미지를 전자 장치(예를 들어, 전자 장치(101))의 디스플레이(예를 들어, 표시 장치(160)) 상에 표시할 수 있다.According to various embodiments, after operation 1120 is performed, the processor 210b displays the identified second image on the electronic device (eg, the electronic device 101) (eg, the display device 160). can be displayed on the
도 12는 다양한 실시예에 따른 전자 장치(예를 들어, 전자 장치(200b))의 동작을 설명하기 위한 흐름도(1200)를 도시한다. 구체적으로, 도 12는 도 11의 1120 동작을 수행하기 위하여 수행되는 동작들을 도시한다.12 is a flowchart 1200 illustrating an operation of an electronic device (eg, the electronic device 200b) according to various embodiments of the present disclosure. Specifically, FIG. 12 shows operations performed to perform operation 1120 of FIG. 11 .
전자 장치(예를 들어, 전자 장치(200b))의 프로세서(예를 들어, 프로세서(210b))는 1210 동작에서 카메라(예를 들어, 카메라(220b))의 움직임 정보를 확인할 수 있다. 도 4의 422를 참조하여 설명한 움직임 정보를 확인(422)하는 과정에 대한 상세 사항이 1210 동작에 동일하게 적용될 수 있으므로, 여기에서 중복하여 설명하지 않는다.The processor (eg, the processor 210b) of the electronic device (eg, the electronic device 200b) may check motion information of the camera (eg, the camera 220b) in operation 1210 . The details of the process of confirming 422 of the motion information described with reference to 422 of FIG. 4 may be equally applied to operation 1210, and thus will not be repeated herein.
프로세서(210b)는 1220 동작에서, 움직임 정보에 기초하여 카메라(220b)의 평활화된 움직임 궤적 및 크롭 영역을 확인할 수 있다. 도 4의 423 및 425를 참조하여 설명한, 평활화된 움직임 궤적 및 크롭 영역을 확인하는 과정에 대한 상세 사항이 1220 동작에 동일하게 적용될 수 있으므로, 여기에서 중복하여 설명하지 않는다.In operation 1220 , the processor 210b may identify a smoothed motion trajectory and a crop region of the camera 220b based on the motion information. The details of the process of confirming the smoothed motion trajectory and the crop region described with reference to 423 and 425 of FIG. 4 may be equally applied to operation 1220, and thus will not be repeated herein.
프로세서(210b)는 1230 동작에서, 렌즈 왜곡 보정, 카메라의 평활화된 움직임 궤적, 및 크롭 영역에 기초하여 제2 와핑을 수행하여 제2 이미지를 확인할 수 있다. 구체적으로, 프로세서(210b)는 렌즈 왜곡 보정, 카메라의 평활화된 움직임 궤적, 및 크롭 영역에 기초하여 움직임 보정을 수행하고, 움직임 보정을 통하여 확인된 출력 이미지 상의 좌표 와 입력 이미지 상의 좌표 사이의 대응관계에 기초하여 제2 와핑을 수행하고, 제2 와핑의 수행 결과 생성된 출력 이미지를 제2 이미지로서 확인할 수 있다.In operation 1230 , the processor 210b may check the second image by performing second warping based on the lens distortion correction, the smoothed motion trajectory of the camera, and the crop region. Specifically, the processor 210b performs motion correction based on the lens distortion correction, the smoothed motion trajectory of the camera, and the crop region, and coordinates on the output image identified through the motion correction. and coordinates on the input image The second warping may be performed based on the correspondence between the two, and an output image generated as a result of performing the second warping may be identified as the second image.
도 4의 426을 참조하여 설명한, 움직임 보정 과정에 대한 상세 사항이 1230 동작에 동일하게 적용될 수 있으므로, 여기에서 중복하여 설명하지 않는다. 다만, 도 4의 426을 참조하여 설명한 움직임 보정과 달리, 1230 동작에 포함되는 움직임 보정에서, 출력 이미지 상의 좌표 와 입력 이미지 상의 좌표 사이의 대응관계에 대해서는 수학식 7이 적용되지 않는다. 1230 동작에 포함되는 움직임 보정에서, 출력 이미지 상의 좌표 와 입력 이미지 상의 좌표 사이의 대응관계는 다음과 같다.The details of the motion compensation process described with reference to 426 of FIG. 4 may be equally applied to operation 1230, and thus will not be repeated herein. However, unlike the motion compensation described with reference to 426 of FIG. 4 , in motion compensation included in operation 1230, coordinates on the output image and coordinates on the input image Equation 7 does not apply to the correspondence between them. In motion compensation included in operation 1230, coordinates on the output image and coordinates on the input image The correspondence between them is as follows.
제2 와핑은 수학식 8에 기초하여 획득한 대응관계에 기초하여, 출력 이미지 상의 각 좌표의 픽셀에 대응되는 입력 이미지 상의 좌표의 픽셀값을 입력함으로써 출력 이미지를 생성하는 과정일 수 있다.The second warping may be a process of generating an output image by inputting pixel values of coordinates on the input image corresponding to pixels of each coordinate on the output image based on the correspondence obtained based on Equation (8).
다양한 실시예에 따라서, 전자 장치(101)는, 카메라(180), 및 적어도 하나의 프로세서(120)를 포함하고, 상기 적어도 하나의 프로세서(120)는: 상기 카메라(180)로부터 복수 개의 픽셀을 포함하는 제1 이미지를 획득하고; 상기 제1 이미지의 상기 복수 개의 픽셀 중 적어도 일부에, 렌즈 왜곡 보정, 롤링 셔터 보정, 및 비디오 디지털 이미지 안정화 (video digital image stabilization, VDIS) 보정에 대응하는 제1 와핑을 수행하여 제2 이미지를 확인하도록 설정될 수 있다.According to various embodiments, the electronic device 101 includes a camera 180 and at least one processor 120 , wherein the at least one processor 120: receives a plurality of pixels from the camera 180 . acquire a first image comprising; A second image is identified by performing a first warping on at least a portion of the plurality of pixels of the first image corresponding to lens distortion correction, rolling shutter correction, and video digital image stabilization (VDIS) correction. can be set to
다양한 실시예에 따라서, 상기 제1 와핑은 상기 렌즈 왜곡 보정, 상기 롤링 셔터 보정을 위한 롤링 셔터 보정값, 상기 VDIS 보정을 위한 크롭 영역, 및 상기 카메라(180)의 평활화된 움직임 궤적에 기초하여 수행될 수 있다.According to various embodiments, the first warping is performed based on the lens distortion correction, the rolling shutter correction value for the rolling shutter correction, the crop region for the VDIS correction, and the smoothed motion trajectory of the camera 180 . can be
다양한 실시예에 따라서, 상기 적어도 하나의 프로세서(120)는 상기 렌즈 왜곡 보정에 기초하여 상기 롤링 셔터 보정값을 확인하도록 설정될 수 있다.According to various embodiments, the at least one processor 120 may be set to check the rolling shutter correction value based on the lens distortion correction.
다양한 실시예에 따라서, 상기 적어도 하나의 프로세서(120)는 상기 렌즈 왜곡 보정에 기초하여 상기 크롭 영역을 확인하도록 설정될 수 있다.According to various embodiments, the at least one processor 120 may be configured to check the crop region based on the lens distortion correction.
다양한 실시예에 따라서, 상기 적어도 하나의 프로세서(120)는 상기 카메라(180)의 움직임 정보를 확인하도록 더 설정될 수 있다.According to various embodiments, the at least one processor 120 may be further configured to check the motion information of the camera 180 .
다양한 실시예에 따라서, 상기 전자 장치(101)는 자이로 센서를 더 포함하고, 상기 적어도 하나의 프로세서(120)는 상기 자이로 센서로부터 획득되는 센싱값 또는 상기 제1 이미지 중 적어도 하나에 기초하여 상기 움직임 정보를 확인하도록 더 설정될 수 있다.According to various embodiments, the electronic device 101 further includes a gyro sensor, and the at least one processor 120 moves the movement based on at least one of a sensing value obtained from the gyro sensor or the first image. It may be further configured to confirm information.
다양한 실시예에 따라서, 상기 적어도 하나의 프로세서(120)는: 상기 움직임 정보에 기초하여 상기 제1 이미지의 상기 복수 개의 픽셀 각각에 대한 1차(primary) 롤링 셔터 보정값을 확인하고; 상기 1차 롤링 셔터 보정값 및 상기 렌즈 왜곡 보정에 기초하여, 상기 1차 롤링 셔터 보정값이 재매핑된(remapped) 롤링 셔터 보정값을 확인하도록 설정될 수 있다.According to various embodiments, the at least one processor 120 is configured to: identify a primary rolling shutter correction value for each of the plurality of pixels of the first image based on the motion information; Based on the primary rolling shutter correction value and the lens distortion correction, the primary rolling shutter correction value may be set to confirm a remapped rolling shutter correction value.
다양한 실시예에 따라서, 적어도 하나의 프로세서(120)는: 상기 움직임 정보에 기초하여 상기 카메라(180)의 움직임 궤적을 확인하고; 상기 카메라(180)의 상기 움직임 궤적을 평활화하여 평활화된 움직임 궤적을 확인하고; 상기 렌즈 왜곡 보정에 기초하여, 상기 평활화된 움직임 궤적이 상기 VDIS 보정을 위한 크롭 영역을 벗어나지 않게 하는 상기 크롭 영역을 확인하도록 설정될 수 있다.According to various embodiments, the at least one processor 120 is configured to: identify a movement trajectory of the camera 180 based on the movement information; check the smoothed motion trajectory by smoothing the motion trajectory of the camera 180; Based on the lens distortion correction, the smoothed motion trajectory may be set to identify the crop region that does not deviate from the crop region for the VDIS correction.
다양한 실시예에 따라서, 상기 전자 장치(101)는 디스플레이를 더 포함하고, 상기 적어도 하나의 프로세서(120)는 상기 제2 이미지를 상기 디스플레이 상에 표시하도록 더 설정될 수 있다.According to various embodiments, the electronic device 101 may further include a display, and the at least one processor 120 may be further configured to display the second image on the display.
다양한 실시예에 따라서, 전자 장치(101)는, 획득한 이미지에 대하여 롤링 셔터 보정을 수행하도록 설정된 카메라(180), 및 적어도 하나의 프로세서(120)를 포함하고, 상기 적어도 하나의 프로세서(120)는: 상기 카메라(180)로부터, 복수 개의 픽셀들을 포함하는, 롤링 셔터 보정이 수행된 제1 이미지를 획득하고; 상기 제1 이미지의 복수 개의 픽셀 중 적어도 일부에, 렌즈 왜곡 보정 및 비디오 디지털 이미지 안정화 (video digital image stabilization, VDIS) 보정에 대응하는 제2 와핑을 수행하여 제2 이미지를 확인하도록 설정될 수 있다.According to various embodiments, the electronic device 101 includes a camera 180 configured to perform rolling shutter correction on an acquired image, and at least one processor 120 , and the at least one processor 120 . obtains, from the camera 180 , a first image including a plurality of pixels on which rolling shutter correction has been performed; The second image may be identified by performing second warping corresponding to lens distortion correction and video digital image stabilization (VDIS) correction on at least some of the plurality of pixels of the first image.
다양한 실시예에 따라서, 상기 제2 와핑은 상기 렌즈 왜곡 보정 및 상기 VDIS 보정을 위한 크롭 영역에 기초하여 수행될 수 있다.According to various embodiments, the second warping may be performed based on a crop region for correcting the lens distortion and correcting the VDIS.
다양한 실시예에 따라서, 상기 적어도 하나의 프로세서(120)는 상기 렌즈 왜곡 보정에 기초하여 상기 VDIS 보정을 위한 크롭 영역을 확인하도록 설정될 수 있다.According to various embodiments, the at least one processor 120 may be configured to identify a crop region for the VDIS correction based on the lens distortion correction.
다양한 실시예에 따라서, 상기 적어도 하나의 프로세서(120)는 상기 카메라(180)의 움직임 정보를 확인하도록 더 설정될 수 있다.According to various embodiments, the at least one processor 120 may be further configured to check the motion information of the camera 180 .
다양한 실시예에 따라서, 상기 전자 장치(101)는 자이로 센서를 더 포함하고, 상기 적어도 하나의 프로세서(120)는 상기 자이로 센서로부터 획득되는 센싱값 또는 상기 제1 이미지 중 적어도 하나에 기초하여 상기 움직임 정보를 확인하도록 더 설정될 수 있다.According to various embodiments, the electronic device 101 further includes a gyro sensor, and the at least one processor 120 moves the movement based on at least one of a sensing value obtained from the gyro sensor or the first image. It may be further configured to confirm information.
다양한 실시예에 따라서, 적어도 하나의 프로세서(120)는: 상기 움직임 정보에 기초하여 상기 카메라(180)의 움직임 궤적을 확인하고; 상기 카메라(180)의 상기 움직임 궤적을 평활화하여 평활화된 궤적을 확인하고; 상기 렌즈 왜곡 보정에 기초하여, 상기 평활화된 궤적이 상기 VDIS 보정을 위한 크롭 영역을 벗어나지 않게 하는 상기 크롭 영역을 확인하도록 설정될 수 있다.According to various embodiments, the at least one processor 120 is configured to: identify a movement trajectory of the camera 180 based on the movement information; check the smoothed trajectory by smoothing the movement trajectory of the camera 180; Based on the lens distortion correction, the smoothed trajectory may be set to identify the crop region that does not deviate from the crop region for the VDIS correction.
다양한 실시예에 따라서, 상기 전자 장치(101)는 디스플레이를 더 포함하고, 상기 적어도 하나의 프로세서(120)는 상기 제2 이미지를 상기 디스플레이 상에 표시하도록 더 설정될 수 있다.According to various embodiments, the electronic device 101 may further include a display, and the at least one processor 120 may be further configured to display the second image on the display.
다양한 실시예에 따라서, 전자 장치(101)의 적어도 하나의 프로세서(120)에 의하여 수행되는 방법은: 상기 전자 장치(101)의 카메라(180)로부터 복수 개의 픽셀을 포함하는 제1 이미지를 획득하는 동작; 및 상기 제1 이미지의 복수 개의 픽셀 중 적어도 일부에, 렌즈 왜곡 보정, 롤링 셔터 보정, 및 비디오 디지털 이미지 안정화 (video digital image stabilization, VDIS) 보정에 대응하는 제1 와핑을 수행하여 제2 이미지를 확인하는 동작을 포함할 수 있다.According to various embodiments, the method performed by the at least one processor 120 of the electronic device 101 includes: acquiring a first image including a plurality of pixels from the camera 180 of the electronic device 101 . movement; and confirming a second image by performing a first warping corresponding to lens distortion correction, rolling shutter correction, and video digital image stabilization (VDIS) correction on at least a portion of a plurality of pixels of the first image It may include an action to
다양한 실시예에 따라서, 상기 방법은 상기 렌즈 왜곡 보정에 기초하여 상기 롤링 셔터 보정을 위한 롤링 셔터 보정값 및 상기 VDIS 보정을 위한 크롭 영역을 확인하는 동작을 더 포함할 수 있다.According to various embodiments of the present disclosure, the method may further include checking a rolling shutter correction value for correcting the rolling shutter and a crop region for correcting the VDIS based on the lens distortion correction.
다양한 실시예에 따라서, 상기 방법은: 상기 카메라(180)의 움직임 정보를 확인하는 동작; 상기 움직임 정보에 기초하여 상기 제1 이미지의 상기 복수 개의 픽셀 각각에 대한 1차(primary) 롤링 셔터 보정값을 확인하는 동작; 및 상기 1차 롤링 셔터 보정값 및 상기 렌즈 왜곡 보정에 기초하여 상기 1차 롤링 셔터 보정값이 재매핑된(remapped) 롤링 셔터 보정값을 확인하는 동작을 더 포함할 수 있다.According to various embodiments, the method may include: checking motion information of the camera 180 ; checking a primary rolling shutter correction value for each of the plurality of pixels of the first image based on the motion information; and checking a rolling shutter correction value to which the primary rolling shutter correction value is remapped based on the primary rolling shutter correction value and the lens distortion correction.
다양한 실시예에 따라서, 상기 방법은 상기 카메라(180)의 움직임 정보를 확인하는 동작; 상기 움직임 정보에 기초하여 상기 카메라(180)의 움직임 궤적을 확인하는 동작; 상기 카메라(180)의 상기 움직임 궤적을 평활화하여 평활화된 궤적을 확인하는 동작; 및 상기 렌즈 왜곡 보정에 기초하여, 상기 평활화된 궤적이 상기 VDIS 보정을 위한 크롭 영역을 벗어나지 않게 하는 상기 크롭 영역을 확인하는 동작을 더 포함할 수 있다.According to various embodiments, the method may include: checking motion information of the camera 180 ; checking a motion trajectory of the camera 180 based on the motion information; checking the smoothed trajectory by smoothing the movement trajectory of the camera 180; and checking the crop region so that the smoothed trajectory does not deviate from the crop region for VDIS correction based on the lens distortion correction.
다양한 실시예에 따라서, 전자 장치(101)의 적어도 하나의 프로세서(120)에 의하여 수행되는 방법은: 상기 전자 장치(101)에 포함되는, 획득한 이미지에 대하여 롤링 셔터 보정을 수행하도록 설정된 카메라(180)로부터 복수 개의 픽셀을 포함하는, 롤링 셔터 보정이 수행된 제1 이미지를 획득하는 동작; 및 상기 제1 이미지의 복수 개의 픽셀 중 적어도 일부에, 렌즈 왜곡 보정 및 비디오 디지털 이미지 안정화 (video digital image stabilization, VDIS) 보정에 대응하는 제2 와핑을 수행하여 제2 이미지를 확인하는 동작을 포함할 수 있다.According to various embodiments, the method performed by the at least one processor 120 of the electronic device 101 includes: a camera configured to perform rolling shutter correction on an acquired image included in the electronic device 101 ( 180), the operation of obtaining a first image including a plurality of pixels, the rolling shutter correction is performed; and confirming a second image by performing second warping corresponding to lens distortion correction and video digital image stabilization (VDIS) correction on at least some of the plurality of pixels of the first image. can
다양한 실시예에 따라서, 상기 제2 와핑은 상기 렌즈 왜곡 보정 및 상기 VDIS 보정을 위한 크롭 영역에 기초하여 수행될 수 있다.According to various embodiments, the second warping may be performed based on a crop region for correcting the lens distortion and correcting the VDIS.
다양한 실시예에 따라서, 상기 VDIS 보정을 위한 크롭 영역은 상기 렌즈 왜곡 보정에 기초하여 확인될 수 있다.According to various embodiments, the crop region for the VDIS correction may be identified based on the lens distortion correction.
다양한 실시예에 따라서, 상기 방법은 상기 카메라(180)의 움직임 정보를 확인하는 동작을 더 포함할 수 있다.According to various embodiments, the method may further include checking motion information of the camera 180 .
다양한 실시예에 따라서, 상기 카메라(180)의 움직임 정보를 확인하는 동작은 상기 전자 장치(101)의 자이로 센서로부터 획득되는 센싱값 또는 상기 제1 이미지 중 적어도 하나에 기초하여 상기 움직임 정보를 확인하는 동작을 포함할 수 있다.According to various embodiments, the checking of the motion information of the camera 180 includes checking the motion information based on at least one of a sensing value obtained from the gyro sensor of the electronic device 101 or the first image. It can include actions.
다양한 실시예에 따라서, 상기 방법은 상기 움직임 정보에 기초하여 상기 카메라(180)의 움직임 궤적을 확인하는 동작; 상기 카메라(180)의 상기 움직임 궤적을 평활화하여 평활화된 궤적을 확인하는 동작; 및 상기 렌즈 왜곡 보정에 기초하여, 상기 평활화된 궤적이 상기 VDIS 보정을 위한 크롭 영역을 벗어나지 않게 하는 상기 크롭 영역을 확인하는 동작을 더 포함할 수 있다.According to various embodiments, the method may include: identifying a movement trajectory of the camera 180 based on the movement information; checking the smoothed trajectory by smoothing the movement trajectory of the camera 180; and checking the crop region so that the smoothed trajectory does not deviate from the crop region for VDIS correction based on the lens distortion correction.
다양한 실시예에 따라서, 상기 방법은 상기 제2 이미지를 상기 전자 장치(101)의 디스플레이 상에 표시하는 동작을 더 포함할 수 있다.According to various embodiments, the method may further include displaying the second image on the display of the electronic device 101 .
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.The various embodiments of this document and the terms used therein are not intended to limit the technology described in this document to a specific embodiment, but it should be understood to cover various modifications, equivalents, and/or substitutions of the embodiments. In connection with the description of the drawings, like reference numerals may be used for like components. The singular expression may include the plural expression unless the context clearly dictates otherwise. In this document, expressions such as “A or B”, “at least one of A and/or B”, “A, B or C” or “at least one of A, B and/or C” refer to all of the items listed together. Possible combinations may be included. Expressions such as "first", "second", "first" or "second" can modify the corresponding elements regardless of order or importance, and are used only to distinguish one element from another element. The components are not limited. When an (eg, first) component is referred to as being “connected (functionally or communicatively)” or “connected” to another (eg, second) component, that component is It may be directly connected to the component or may be connected through another component (eg, a third component).
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다. As used herein, the term “module” includes a unit composed of hardware, software, or firmware, and may be used interchangeably with terms such as, for example, logic, logic block, component, or circuit. A module may be an integrally formed part or a minimum unit or a part of one or more functions. For example, the module may be configured as an application-specific integrated circuit (ASIC).
본 문서의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램(140))로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(101))를 포함할 수 있다. 상기 명령이 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.Various embodiments of the present document include instructions stored in a machine-readable storage media (eg, internal memory 136 or external memory 138) that can be read by a machine (eg, a computer). It may be implemented as software (eg, the program 140). The device is a device capable of calling a stored command from a storage medium and operating according to the called command, and may include an electronic device (eg, the electronic device 101 ) according to the disclosed embodiments. When the instruction is executed by a processor (eg, the processor 120), the processor may directly or use other components under the control of the processor to perform a function corresponding to the instruction. Instructions may include code generated or executed by a compiler or interpreter. The device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' means that the storage medium does not include a signal and is tangible, and does not distinguish that data is semi-permanently or temporarily stored in the storage medium.
일시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to an example, the method according to various embodiments disclosed in this document may be included and provided in a computer program product. Computer program products may be traded between sellers and buyers as commodities. The computer program product may be distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)) or online through an application store (eg Play Store TM ). In the case of online distribution, at least a part of the computer program product may be temporarily stored or temporarily created in a storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.Each of the components (eg, a module or a program) according to various embodiments may be composed of a singular or a plurality of entities, and some sub-components of the aforementioned sub-components may be omitted, or other sub-components may be It may be further included in various embodiments. Alternatively or additionally, some components (eg, a module or a program) may be integrated into a single entity to perform the same or similar functions performed by each corresponding component prior to integration. According to various embodiments, operations performed by a module, program, or other component are executed sequentially, parallel, iteratively, or heuristically, or at least some operations are executed in a different order, are omitted, or other operations are added. can be
Claims (15)
- 전자 장치에 있어서,In an electronic device,카메라, 및camera, and적어도 하나의 프로세서를 포함하고,at least one processor;상기 적어도 하나의 프로세서는:The at least one processor comprises:상기 카메라로부터 복수 개의 픽셀을 포함하는 제1 이미지를 획득하고;acquiring a first image comprising a plurality of pixels from the camera;상기 제1 이미지의 상기 복수 개의 픽셀 중 적어도 일부에, 렌즈 왜곡 보정, 롤링 셔터 보정, 및 비디오 디지털 이미지 안정화 (video digital image stabilization, VDIS) 보정에 대응하는 제1 와핑을 수행하여 제2 이미지를 확인A second image is identified by performing a first warping on at least a portion of the plurality of pixels of the first image corresponding to lens distortion correction, rolling shutter correction, and video digital image stabilization (VDIS) correction.하도록 설정되는, 전자 장치.An electronic device configured to do so.
- 제1항에 있어서,According to claim 1,상기 제1 와핑은 상기 렌즈 왜곡 보정, 상기 롤링 셔터 보정을 위한 롤링 셔터 보정값, 상기 VDIS 보정을 위한 크롭 영역, 및 상기 카메라의 평활화된 움직임 궤적에 기초하여 수행되는, 전자 장치.The first warping is performed based on the lens distortion correction, a rolling shutter correction value for correcting the rolling shutter, a crop region for correcting the VDIS, and a smoothed motion trajectory of the camera.
- 제2항에 있어서, 상기 적어도 하나의 프로세서는3. The method of claim 2, wherein the at least one processor is상기 렌즈 왜곡 보정에 기초하여 상기 롤링 셔터 보정값을 확인하도록 설정되는, 전자 장치.and to check the rolling shutter correction value based on the lens distortion correction.
- 제2항에 있어서, 상기 적어도 하나의 프로세서는3. The method of claim 2, wherein the at least one processor is상기 렌즈 왜곡 보정에 기초하여 상기 크롭 영역을 확인하도록 설정되는, 전자 장치.and to identify the crop region based on the lens distortion correction.
- 제1항에 있어서, According to claim 1,상기 적어도 하나의 프로세서는 상기 카메라의 움직임 정보를 확인하도록 더 설정되는, 전자 장치.The at least one processor is further configured to check motion information of the camera.
- 제5항에 있어서, 6. The method of claim 5,상기 전자 장치는 자이로 센서를 더 포함하고,The electronic device further includes a gyro sensor,상기 적어도 하나의 프로세서는 상기 자이로 센서로부터 획득되는 센싱값 또는 상기 제1 이미지 중 적어도 하나에 기초하여 상기 움직임 정보를 확인하도록 더 설정되는, 전자 장치.The at least one processor is further configured to identify the motion information based on at least one of a sensing value obtained from the gyro sensor and the first image.
- 제5항에 있어서,6. The method of claim 5,상기 적어도 하나의 프로세서는: The at least one processor comprises:상기 움직임 정보에 기초하여 상기 제1 이미지의 상기 복수 개의 픽셀 각각에 대한 1차(primary) 롤링 셔터 보정값을 확인하고;check a primary rolling shutter correction value for each of the plurality of pixels of the first image based on the motion information;상기 1차 롤링 셔터 보정값 및 상기 렌즈 왜곡 보정에 기초하여, 상기 1차 롤링 셔터 보정값이 재매핑된(remapped) 롤링 셔터 보정값을 확인하도록 설정되는, 전자 장치.The electronic device is configured to identify a rolling shutter correction value to which the primary rolling shutter correction value is remapped, based on the primary rolling shutter correction value and the lens distortion correction.
- 제5항에 있어서,6. The method of claim 5,적어도 하나의 프로세서는:At least one processor is:상기 움직임 정보에 기초하여 상기 카메라의 움직임 궤적을 확인하고;check a motion trajectory of the camera based on the motion information;상기 카메라의 상기 움직임 궤적을 평활화하여 평활화된 움직임 궤적을 확인하고;check the smoothed motion trajectory by smoothing the motion trajectory of the camera;상기 렌즈 왜곡 보정에 기초하여, 상기 평활화된 움직임 궤적이 상기 VDIS 보정을 위한 크롭 영역을 벗어나지 않게 하는 상기 크롭 영역을 확인하도록 설정되는, 전자 장치.and to identify the crop region that does not deviate from the crop region for the VDIS correction by the smoothed motion trajectory based on the lens distortion correction.
- 제1항에 있어서,According to claim 1,상기 전자 장치는 디스플레이를 더 포함하고,The electronic device further includes a display,상기 적어도 하나의 프로세서는 상기 제2 이미지를 상기 디스플레이 상에 표시하도록 더 설정되는, 전자 장치.and the at least one processor is further configured to display the second image on the display.
- 전자 장치의 적어도 하나의 프로세서에 의하여 수행되는 방법에 있어서:A method performed by at least one processor of an electronic device, comprising:상기 전자 장치의 카메라로부터 복수 개의 픽셀을 포함하는 제1 이미지를 획득하는 동작; 및acquiring a first image including a plurality of pixels from a camera of the electronic device; and상기 제1 이미지의 복수 개의 픽셀 중 적어도 일부에, 렌즈 왜곡 보정, 롤링 셔터 보정, 및 비디오 디지털 이미지 안정화 (video digital image stabilization, VDIS) 보정에 대응하는 제1 와핑을 수행하여 제2 이미지를 확인하는 동작Confirming a second image by performing a first warping corresponding to at least some of the plurality of pixels of the first image, lens distortion correction, rolling shutter correction, and video digital image stabilization (VDIS) correction movement을 포함하는 방법.How to include.
- 제10항에 있어서, 상기 방법은11. The method of claim 10, wherein the method상기 렌즈 왜곡 보정에 기초하여 상기 롤링 셔터 보정을 위한 롤링 셔터 보정값 및 상기 VDIS 보정을 위한 크롭 영역을 확인하는 동작을 더 포함하는 방법.The method further comprising the operation of identifying a rolling shutter correction value for correcting the rolling shutter and a crop area for correcting the VDIS based on the lens distortion correction.
- 전자 장치에 있어서,In an electronic device,획득한 이미지에 대하여 롤링 셔터 보정을 수행하도록 설정된 카메라, 및a camera set to perform rolling shutter correction on the acquired image, and적어도 하나의 프로세서를 포함하고,at least one processor;상기 적어도 하나의 프로세서는:The at least one processor comprises:상기 카메라로부터, 복수 개의 픽셀들을 포함하는, 롤링 셔터 보정이 수행된 제1 이미지를 획득하고;acquiring, from the camera, a first image on which rolling shutter correction has been performed, including a plurality of pixels;상기 제1 이미지의 복수 개의 픽셀 중 적어도 일부에, 렌즈 왜곡 보정 및 비디오 디지털 이미지 안정화 (video digital image stabilization, VDIS) 보정에 대응하는 제2 와핑을 수행하여 제2 이미지를 확인A second image is identified by performing second warping corresponding to lens distortion correction and video digital image stabilization (VDIS) correction on at least some of the plurality of pixels of the first image하도록 설정되는, 전자 장치.An electronic device configured to do so.
- 제12항에 있어서,13. The method of claim 12,상기 제2 와핑은 상기 렌즈 왜곡 보정 및 상기 VDIS 보정을 위한 크롭 영역에 기초하여 수행되는, 전자 장치.The second warping is performed based on a crop region for the lens distortion correction and the VDIS correction.
- 제13항에 있어서, 상기 적어도 하나의 프로세서는14. The method of claim 13, wherein the at least one processor comprises:상기 렌즈 왜곡 보정에 기초하여 상기 VDIS 보정을 위한 크롭 영역을 확인하도록 설정되는, 전자 장치.The electronic device is configured to identify a crop region for the VDIS correction based on the lens distortion correction.
- 제12항에 있어서, 13. The method of claim 12,상기 적어도 하나의 프로세서는 상기 카메라의 움직임 정보를 확인하도록 더 설정되는, 전자 장치.The at least one processor is further configured to check motion information of the camera.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200005442A KR20210092012A (en) | 2020-01-15 | 2020-01-15 | Electronic device performing image correction and method for correcting image |
KR10-2020-0005442 | 2020-01-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021145612A1 true WO2021145612A1 (en) | 2021-07-22 |
Family
ID=76864342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/000270 WO2021145612A1 (en) | 2020-01-15 | 2021-01-08 | Electronic device for performing image correction, and method for correcting image |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20210092012A (en) |
WO (1) | WO2021145612A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023123371A1 (en) * | 2021-12-31 | 2023-07-06 | Qualcomm Incorporated | Image correction based on activity detection |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040053877A (en) * | 2002-12-16 | 2004-06-25 | 한국전자통신연구원 | Method of Lens Distortion Correction and Orthoimage Reconstruction In Digital Camera and A Digital Camera Using Thereof |
KR20150024733A (en) * | 2013-08-27 | 2015-03-09 | 삼성테크윈 주식회사 | Device and Method for dewobbling |
KR20170013102A (en) * | 2015-07-27 | 2017-02-06 | 삼성전자주식회사 | Method and electronic apparatus for stabilizing video |
US20170347044A1 (en) * | 2016-05-25 | 2017-11-30 | Gopro, Inc. | Warp processing for image capture |
KR20180032529A (en) * | 2015-07-22 | 2018-03-30 | 소니 주식회사 | Camera module, solid-state imaging device, electronic device and imaging method |
-
2020
- 2020-01-15 KR KR1020200005442A patent/KR20210092012A/en not_active Application Discontinuation
-
2021
- 2021-01-08 WO PCT/KR2021/000270 patent/WO2021145612A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040053877A (en) * | 2002-12-16 | 2004-06-25 | 한국전자통신연구원 | Method of Lens Distortion Correction and Orthoimage Reconstruction In Digital Camera and A Digital Camera Using Thereof |
KR20150024733A (en) * | 2013-08-27 | 2015-03-09 | 삼성테크윈 주식회사 | Device and Method for dewobbling |
KR20180032529A (en) * | 2015-07-22 | 2018-03-30 | 소니 주식회사 | Camera module, solid-state imaging device, electronic device and imaging method |
KR20170013102A (en) * | 2015-07-27 | 2017-02-06 | 삼성전자주식회사 | Method and electronic apparatus for stabilizing video |
US20170347044A1 (en) * | 2016-05-25 | 2017-11-30 | Gopro, Inc. | Warp processing for image capture |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023123371A1 (en) * | 2021-12-31 | 2023-07-06 | Qualcomm Incorporated | Image correction based on activity detection |
Also Published As
Publication number | Publication date |
---|---|
KR20210092012A (en) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020171583A1 (en) | Electronic device for stabilizing image and method for operating same | |
WO2020032473A2 (en) | Electronic device for blurring image obtained by combining plural images based on depth information and method for driving the electronic device | |
WO2019035601A1 (en) | Apparatus for editing image using depth map and method thereof | |
WO2019156308A1 (en) | Apparatus and method for estimating optical image stabilization motion | |
WO2021141445A1 (en) | Method of improving image quality in zoom scenario with single camera, and electronic device including the same | |
WO2019164185A1 (en) | Electronic device and method for correcting image corrected in first image processing scheme in external electronic device in second image processing scheme | |
WO2020130654A1 (en) | Camera module having multi-cell structure and portable communication device including the same | |
WO2020209492A1 (en) | Folded camera and electronic device including the same | |
WO2020080845A1 (en) | Electronic device and method for obtaining images | |
WO2021133025A1 (en) | Electronic device comprising image sensor and method of operation thereof | |
WO2020116844A1 (en) | Electronic device and method for acquiring depth information by using at least one of cameras or depth sensor | |
WO2021137555A1 (en) | Electronic device comprising image sensor and method of operation thereof | |
WO2019142997A1 (en) | Apparatus and method for compensating for image change caused by optical image stabilization motion | |
WO2019035551A1 (en) | Apparatus for composing objects using depth map and method for the same | |
WO2021162307A1 (en) | Electronic device and hdr image generation method therefor | |
WO2021215795A1 (en) | Color filter for electronic device, and electronic device having same | |
WO2021125875A1 (en) | Electronic device for providing image processing service through network | |
WO2019168374A1 (en) | Method for generating plural information using camera to sense plural wave bandwidth and apparatus thereof | |
WO2021145612A1 (en) | Electronic device for performing image correction, and method for correcting image | |
WO2021162353A1 (en) | Electronic device comprising camera and method of operating same | |
WO2021080307A1 (en) | Method for controlling camera and electronic device therefor | |
WO2020190008A1 (en) | Electronic device for auto focusing function and operating method thereof | |
WO2020171492A1 (en) | Method for processing photographed image and electronic device therefor | |
EP4022884A1 (en) | Electronic device and method for correcting image in camera switching | |
WO2021246736A1 (en) | Image processing apparatus and image processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21741860 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21741860 Country of ref document: EP Kind code of ref document: A1 |