WO2022019513A1 - Method for compensating autofocus and electronic device compensating autofocus - Google Patents
Method for compensating autofocus and electronic device compensating autofocus Download PDFInfo
- Publication number
- WO2022019513A1 WO2022019513A1 PCT/KR2021/008293 KR2021008293W WO2022019513A1 WO 2022019513 A1 WO2022019513 A1 WO 2022019513A1 KR 2021008293 W KR2021008293 W KR 2021008293W WO 2022019513 A1 WO2022019513 A1 WO 2022019513A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- wiener filter
- partition block
- current partition
- image
- filter
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000005192 partition Methods 0.000 claims abstract description 184
- 238000001914 filtration Methods 0.000 claims abstract description 45
- 238000012805 post-processing Methods 0.000 claims abstract description 19
- 230000006870 function Effects 0.000 description 92
- 238000010586 diagram Methods 0.000 description 17
- 238000013528 artificial neural network Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 14
- 238000003384 imaging method Methods 0.000 description 11
- 238000013473 artificial intelligence Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000006866 deterioration Effects 0.000 description 5
- 239000003381 stabilizer Substances 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000007480 spreading Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 229910052724 xenon Inorganic materials 0.000 description 1
- FHNFHKCVQCLJFQ-UHFFFAOYSA-N xenon atom Chemical compound [Xe] FHNFHKCVQCLJFQ-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/571—Depth or shape recovery from multiple images from focus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/60—Noise processing, e.g. detecting, correcting, reducing or removing noise
- H04N25/61—Noise processing, e.g. detecting, correcting, reducing or removing noise the noise originating only from the lens unit, e.g. flare, shading, vignetting or "cos4"
- H04N25/611—Correction of chromatic aberration
Definitions
- the present disclosure relates to a method for compensating for autofocus, an electronic device for compensating for autofocus, and a computer-readable storage medium storing program codes for performing the method for compensating for autofocus.
- a digital photographing apparatus includes an image pickup device that converts an optical signal into an electrical signal.
- a live-view screen displaying an image currently generated by the imaging device may be provided to the user by using a signal detected by the imaging device.
- a digital photographing apparatus such as a camera or a camcorder
- an auto-focus (Auto-Focus, AF) function for automatically focusing on a subject is widely installed in a photographing apparatus for photographing a subject. By mounting the AF function in the photographing apparatus, even a beginner can easily acquire a high-quality photographed image in which the subject is in focus.
- a photographing apparatus uses an actuator to implement an optical AF function.
- an actuator In order to use such an actuator, a photographing device of a certain size or larger is required, and thus it may be difficult to reduce the volume of a camera for a mobile phone. Therefore, a method capable of replacing the optical AF function while reducing the volume of a camera for mobile phone or the like is required.
- the lens When an actuator is not used, the lens is fixed, and the degree of blur of the acquired image may vary according to the distance from the camera to the object.
- a technique for predicting a degree of blur according to an image and reconstructing an image using a point spread function (PSF) estimated from the predicted degree of blur is required.
- PSF point spread function
- An embodiment of the present disclosure may provide a method and an electronic device for reconstructing an image by removing blur from an image according to blur levels of regions constituting the image.
- An embodiment of the present disclosure provides a post-processing operation for correcting an overshoot occurring in a deconvolution filtering operation, thereby maintaining the resolution of an image while maintaining a defect such as a ring effect (ring effect).
- a method and an electronic device capable of reducing artifacts can be provided.
- An embodiment of the present disclosure may provide a method and an electronic device capable of reducing a computational load of a processor and accelerating computational execution time by performing deconvolutional filtering in a spatial domain. .
- a method for compensating for autofocus is to obtain a point spread function (PSF) corresponding to a current partition block among a plurality of partition blocks generated from an input image. Step, filtering the current partition block using the point spread function to remove blur included in the current partition block, removing overshoot included in the filtered current partition block to post-processing the samples included in the filtered current partition block based on a threshold value, and generating an output image including the post-processed current partition block.
- PSF point spread function
- An electronic device for compensating for autofocus includes a camera unit for acquiring an input image, a display unit for outputting an output image, and a program including at least one instruction It may include a storage unit for storing, and at least one processor executing at least one instruction stored in the storage unit.
- the at least one processor obtains a point spread function (PSF) corresponding to a current partition block from among a plurality of partition blocks generated from the input image, and calculates a blur included in the current partition block.
- PSF point spread function
- the computer-readable recording medium may store a program for executing at least one of the embodiments of the disclosed method in a computer.
- FIG. 1 is a schematic diagram of a method of compensating for auto-focus (AF) by an electronic device according to an embodiment of the present disclosure
- FIG. 2 is a block diagram of an electronic device according to an embodiment of the present disclosure.
- FIG. 3 is a block diagram of a camera unit according to an embodiment of the present disclosure.
- FIG. 4 is a flowchart of a method for compensating for autofocus according to an embodiment of the present disclosure.
- FIG 5 is a diagram for explaining an operation of filtering a current partition block using a point spread function (PSF) corresponding to the current partition block according to an embodiment of the present disclosure.
- PSF point spread function
- FIG. 6 is a diagram for explaining a point spread function (PSF) corresponding to a current partition block according to an embodiment of the present disclosure.
- PSF point spread function
- FIG. 7 is a diagram for explaining an operation of determining a threshold value in a post-processing operation according to an embodiment of the present disclosure.
- FIG. 8 is a diagram for explaining another operation of determining a threshold value in a post-processing operation according to an embodiment of the present disclosure.
- FIG. 9 is a diagram illustrating a result of compensating for autofocus of an input image by applying the method of compensating for autofocus according to an embodiment of the present disclosure.
- FIG. 10 is a diagram illustrating another result of compensating for autofocus of an input image by applying a method of compensating for autofocus according to an embodiment of the present disclosure.
- a method for an electronic device to compensate for autofocus includes: obtaining a point spread function (PSF) corresponding to a current partition block among a plurality of partition blocks generated from an input image; to remove blur included in the current partition block; Filtering the current partition block using a spreading function, post-processing samples included in the filtered current partition block based on a threshold value to remove overshoot included in the filtered current partition block , and generating an output image including the post-processed current partition block.
- PSF point spread function
- the point spread function corresponding to the current partition block may be a preset point spread function or a point spread function calculated through an artificial neural network.
- the filtering of the current partition block using the obtained point spreading function includes: obtaining a Wiener filter from the obtained point spreading function; and using the obtained Wiener filter, the current It may include filtering the partition block.
- the Wiener filter may be a Wiener filter in a spatial domain.
- the Wiener filter on the spatial domain performs a Fourier inverse transform on the Wiener filter on the Fourier domain, and a value less than or equal to a preset intensity is removed from the coefficients of the inverse Fourier-transformed Wiener filter.
- obtaining the Wiener filter may include obtaining a Wiener filter on a Fourier domain and a Wiener filter on a spatial domain.
- the step of filtering the current partition block using the obtained Wiener filter includes selecting the obtained Wiener filter on the Fourier domain or the Wiener filter on the spatial domain, and filtering the current partition block using the selected Wiener filter.
- the Wiener filter may be a one-dimensional directional filter or a two-dimensional directional filter.
- obtaining the Wiener filter from the obtained point spread function may include obtaining filter coefficients of the Wiener filter using a lookup table. have.
- the threshold may be determined based on a bit-depth of the sample.
- the threshold value may be determined based on at least one of standard deviations of samples of a predetermined region including the current sample.
- an electronic device for compensating for autofocus includes a camera unit for acquiring an input image, a display unit for outputting an output image, a storage unit for storing a program including at least one instruction, and at least one for executing at least one command stored in the storage unit.
- may include a processor of The at least one processor obtains a point spread function corresponding to the current partition block among a plurality of partition blocks generated from the input image, and divides the current partition block by using the point spread function to remove blur included in the current partition block. Filter, post-process samples included in the filtered current partition block based on a threshold value to remove overshoot included in the filtered current partition block, and generate an output image including the post-processed current partition block.
- the point spread function corresponding to the current partition block may be a preset point spread function or a point spread function calculated through an artificial neural network.
- the processor may execute at least one instruction to obtain a Wiener filter from the obtained point spread function, and filter the current partition block using the obtained Wiener filter.
- the Wiener filter may be a Wiener filter in the spatial domain.
- the Wiener filter on the spatial domain may be obtained by inverse Fourier transforming the Wiener filter on the Fourier domain, and removing values equal to or less than a preset intensity from the coefficients of the inverse Fourier transform Wiener filter.
- the processor executes at least one instruction to obtain a Wiener filter on the Fourier domain and a Wiener filter on the spatial domain, select the obtained Wiener filter on the Fourier domain or the Wiener filter on the spatial domain, and select the selected Wiener filter can be used to filter the current partition block.
- the Wiener filter may be a one-dimensional directional filter or a two-dimensional directional filter.
- the processor may execute at least one instruction to obtain filter coefficients of the Wiener filter from the obtained point spread function using a lookup table.
- the threshold value may be determined based on at least one of a bit depth of a sample and a standard deviation of samples of a predetermined region including the current sample.
- a computer-readable recording medium in which a program for implementing a method of compensating for autofocus by an electronic device is recorded may be provided.
- ⁇ unit and “ ⁇ module” described in this specification indicate a unit for processing at least one function or operation, which may be implemented as hardware or software, or a combination of hardware and software.
- the expression “configured to (or configured to)” depends on the context, for example, “suitable for”, “having the capacity to” It can be used interchangeably with “,” “designed to”, “adapted to”, “made to”, or “capable of”.
- the term “configured (or configured to)” may not necessarily refer to only “specifically designed to” hardware. Instead, in some circumstances, the expression “a system configured to” may indicate that the system is “capable of” with other devices or components.
- a processor configured (or configured to perform) A, B, and C refers to a dedicated processor (eg, an embedded processor) for performing the operations, or by executing one or more software programs stored in memory; It may indicate a generic-purpose processor (eg, a CPU or an application processor) capable of performing corresponding operations.
- the processor may consist of one or a plurality of processors.
- one or more processors may be a general-purpose processor such as a CPU, an AP, a digital signal processor (DSP), or the like, a graphics-only processor such as a GPU, a VPU (Vision Processing Unit), or an artificial intelligence-only processor such as an NPU.
- DSP digital signal processor
- One or a plurality of processors control to process input data according to a predefined operation rule or artificial intelligence model stored in the memory.
- the AI-only processor may be designed with a hardware structure specialized for processing a specific AI model.
- a predefined action rule or artificial intelligence model is characterized in that it is created through learning.
- being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created can indicate the burden.
- Such learning may be performed in the device itself on which artificial intelligence according to the present disclosure is performed, or may be performed through a separate server and/or system.
- Examples of the learning algorithm include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
- the artificial intelligence model may include a plurality of neural network layers.
- Each of the plurality of neural network layers has a plurality of weight values, and a neural network operation is performed through an operation between the operation result of a previous layer and the plurality of weights.
- the plurality of weights of the plurality of neural network layers may be optimized by the learning result of the artificial intelligence model. For example, a plurality of weights may be updated so that a loss value or a cost value obtained from the artificial intelligence model during the learning process is reduced or minimized.
- the artificial neural network may include a deep neural network (DNN), for example, a Convolutional Neural Network (CNN), a Deep Neural Network (DNN), a Recurrent Neural Network (RNN), a Restricted Boltzmann Machine (RBM), There may be a Deep Belief Network (DBN), a Bidirectional Recurrent Deep Neural Network (BRDNN), or a Deep Q-Networks, but is not limited thereto.
- DNN Deep Neural Network
- DNN Deep Belief Network
- BBDNN Bidirectional Recurrent Deep Neural Network
- Deep Q-Networks Deep Q-Networks
- FIG. 1 is a schematic diagram of a method of compensating for auto-focus (AF) by an electronic device according to an embodiment of the present disclosure
- the electronic device may be a device that acquires the input image or the input image 10 and outputs the output image or the output image 15 .
- the electronic device is, for example, a smart phone, a tablet personal computer (PC), a mobile phone, a video phone, an e-book reader, a desktop personal computer (PC), a laptop.
- PC laptop personal computer
- netbook computer netbook computer
- workstation server
- PDA personal digital assistant
- PMP portable multimedia player
- MP3 player mobile medical device
- camera wearable device
- home appliances and other mobile or stationary computing devices.
- the electronic device is not limited to the above-described example, and the electronic device may include all kinds of devices that acquire, process, and output an image or image.
- 'auto-focus compensation' may refer to improving focus of a given image.
- a deterioration phenomenon blur may occur in which the outer edge of the image is not in focus during short-distance shooting.
- the deterioration phenomenon may occur radially from the center of the image.
- Compensation of autofocus may represent an operation of reconstructing or restoring a deteriorated image using prior information on such deterioration phenomenon.
- the electronic device may acquire an input image 10 through a built-in camera unit.
- a plurality of partition blocks may be generated 110 from the obtained input image 10 .
- Each of the plurality of partition blocks may correspond to at least a portion of the input image 10 .
- a particular partition block may be contiguous with a neighboring partition block.
- at least a part of a specific partition block and neighboring partition blocks may overlap.
- the electronic device may acquire ( 120 ) a point spread function (PSF) corresponding to a current partition block among a plurality of partition blocks generated from the input image 10 .
- the point spread function (PSF) may represent a function to a deterioration phenomenon or an optical transfer function of an imaging system.
- the point spread function (PSF) represents the impulse response of the imaging system to a point source.
- a point spread function (PSF) can be viewed as an extended form of an image representing a single point object.
- the degree of spread or blur of the point object may be a measure of the quality of the imaging system.
- the point spread function (PSF) may be the same over the entire area of the image.
- An image of an object captured by a specific imaging system can be viewed as a result of convolution of an actual image of the object and a point spread function (PSF) of the imaging system.
- the electronic device may filter 130 the current partition block using the obtained point spread function (PSF).
- PSF point spread function
- a deconvolution filter may be used for the filtering 130 operation. Since the photographed image of the object can be expressed as a convolution value of the actual image of the object and the point spread function (PSF), theoretically, the acquired (photographed) input image 10 is deconvolved with the point spread function (PSF). In case of deconvolution, an actual image of the object may be obtained. It is assumed that the captured input image 10 includes blur. Accordingly, when the plurality of partition blocks of the input image 10 are filtered 130 using the point spread function (PSF), blur included in the plurality of partition blocks may be removed.
- PSF point spread function
- the electronic device may post-process 140 samples included in the current partition block filtered 130 based on a threshold.
- an overshoot in which the brightness of an edge of an included object or an edge of an included text is excessively enhanced may occur in the filtered image.
- a sample at a position where such overshoot occurs has a large difference in value between the input image 10 and the value after the filtering 130 .
- a threshold value for the difference ⁇ between the value in the input image 10 of a specific sample and the value after the filtering 130 is set, and the electronic device receives the filtered image 130 based on the set threshold value.
- overshoot included in the filtered partition block may be removed, and artifacts such as a ring effect may be reduced while maintaining image resolution.
- the electronic device may generate an output image 15 including the post-processed partition blocks by fusing the plurality of partition blocks including the post-processed 140 samples.
- the output image 15 may correspond to the input image 10 for which autofocus is compensated.
- FIG. 2 is a block diagram of an electronic device 1000 according to an embodiment of the present disclosure.
- the electronic device 1000 may include a camera unit 1100 , a processor 1300 , a storage unit 1500 , and a display unit 1700 . Not all of the components shown in FIG. 2 are essential components of the electronic device 1000 .
- the electronic device 1000 may be implemented by more components than those illustrated in FIG. 2 , or the electronic device 1000 may be implemented by fewer components than those illustrated in FIG. 2 .
- the camera unit 1100 may include a digital photographing device. In an embodiment, the camera unit 1100 may acquire an input image or an input image. In an embodiment, the camera unit 1100 may include an actuator, and the storage unit 1500 of the electronic device 1000 may include instructions for implementing an optical autofocus function using the actuator. may be
- the display unit 1700 may output an output image or an output image to the outside.
- the display unit 1700 may display and output a visual image to the outside.
- the display unit 1700 may include a panel.
- the display unit 1700 includes, for example, a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, It may include at least one of a three-dimensional display (3D display) and an electrophoretic display (electrophoretic display).
- the display unit 1700 is not limited to the above-described examples, and may include all types of displays that output and display an image or an image.
- the storage 1500 may store a program to be executed by the processor 1300 to be described later in order to control the operation of the electronic device 1000 .
- the storage 1500 may store a program including at least one instruction for controlling the operation of the electronic device 1000 .
- the storage unit 1500 may store instructions and program codes readable by the processor 1300 .
- the processor 1300 may be implemented to execute instructions or codes of a program stored in the storage 1500 .
- the storage 1500 may store data input to or output from the electronic device 1000 .
- the storage unit 1500 is, for example, a flash memory, a hard disk, a multimedia card micro type, or a card type storage unit (eg, SD or XD storage). ), RAM (Random Access Memory), SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory) , a magnetic storage unit, a magnetic disk, and an optical disk may include at least one type of storage medium.
- the storage unit 1500 is not limited to the above-described example, and may include any type of storage medium in which data may be stored.
- Programs stored in the storage 1500 may be classified into a plurality of modules according to functions.
- the storage 1500 may include a point spread function (PSF) obtaining module 1510 , a filtering module 1520 , and a post-processing module 1530 .
- the storage 1500 may further include an artificial neural network (ANN) or a database (DB).
- ANN artificial neural network
- DB database
- the processor 1300 may control the overall operation of the electronic device 1000 .
- the processor 1300 may generally control the camera unit 1100 , the display unit 1700 , the storage unit 1500 , and the like by executing programs stored in the storage unit 1500 .
- the processor 1300 may include a hardware component that performs arithmetic, logic, input/output operations and signal processing.
- the processor 1300 is, for example, a central processing unit (Central Processing Unit), a microprocessor (microprocessor), a graphic processor (Graphic Processing Unit), ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), Programmable Logic Devices (PLDs), and Field Programmable Gate Arrays (FPGAs) may include, but are not limited thereto.
- the processor 1300 may acquire an input image or an input image through the camera unit 1100 by executing at least one command stored in the storage unit 1500 .
- the processor 1300 may generate a plurality of partition blocks from the input image by executing at least one instruction stored in the storage 1500 .
- Each of the plurality of partition blocks may correspond to at least a part of the input image.
- a specific partition block may be in contact with a neighboring partition block, and at least a part of the specific partition block and the neighboring partition block may overlap.
- Each of the plurality of partition blocks may include a plurality of samples. All samples (pixel values) included in the input image may be included in at least one partition block.
- the processor 1300 executes at least one instruction of the point spread function (PSF) acquisition module 1510 among the programs stored in the storage unit 1500, so that the current partition block among a plurality of partition blocks generated from the input image is A corresponding point spread function (PSF) may be obtained.
- a point spread function (PSF) corresponding to the current partition block may represent an imaging impulse response applied to point objects included in the current partition block. That is, the point spread function PSF corresponding to the current partition block may indicate the degree of blur of the current partition block. For example, in the case of short-distance imaging, the degree of blur or deterioration may increase from the center of the image toward the outside.
- the distance from the image center to each partition block is different for each partition block, and the point spread function (PSF) corresponding to the current partition block is determined according to the distance from the image center to the current partition block. (PSF) may vary. In an embodiment, a point spread function (PSF) corresponding to the current partition block may be applied to all samples in the current partition block.
- the point spread function corresponding to the current partition block among the plurality of partition blocks generated from the input image is a preset point spread function (PSF) or a point spread function calculated through an artificial neural network. (PSF).
- PSF preset point spread function
- PSF calculated through an artificial neural network.
- the processor 1300 executes at least one instruction of the filtering module 1520 among the programs stored in the storage 1500 to remove blur included in the current partition block, corresponding to the current partition block.
- the current partition block may be filtered using the acquired point spread function (PSF).
- a deconvolution filter may be applied to the filtering operation. Since the photographed image of the object can be expressed as a convolution result of the actual image of the object and the point spread function (PSF), a plurality of partition blocks of the obtained input image are deconvolved with the corresponding point spread functions (PSF). In the case of deconvolution, an actual image of an object can be obtained. Accordingly, blur included in the partition block may be removed through the operation of filtering the partition block using the obtained point spread function (PSF).
- the filtering of the partition block using the obtained point spread function (PSF) includes obtaining a Wiener filter from the obtained point spread function (PSF) and using the obtained Wiener filter to filter the partition block.
- the deconvolution filter may be in the form of a Wiener filter.
- the Wiener filter W(f) in the frequency domain may be defined as in Equation 1 below.
- f is a coordinate component in the frequency domain
- H(f) is a point spread function (PSF) in the frequency domain
- H * (f) is a conjugate function of H(f).
- N(f) is a ratio of noise to signal, and may be defined as a value obtained by dividing a power spectrum of noise by a power spectrum of an actual image.
- the frequency components of the filtered samples in the partition block are can be created
- Filtered samples in the corresponding partition block may be obtained by transforming the frequency component of the filtered samples in the corresponding partition block into the spatial domain.
- samples from which blur is removed may be obtained. If this process is repeated for all samples in the partition block, all blurs included in the partition block may be removed.
- the Wiener filter may be a Wiener filter on a spatial domain.
- the Wiener filter on the spatial domain is to be generated by performing a Fourier inverse transform (IFT) on the Wiener filter on the Fourier domain (frequency domain), and removing a value less than or equal to a preset intensity from the coefficients of the Fourier inverse transformed Wiener filter.
- IFT Fourier inverse transform
- the Wiener filter c(x) in the spatial domain may be defined as in Equation 2 below.
- x is a coordinate component in the spatial domain
- ⁇ is a preset intensity, for example, ⁇ may be set such that about 99% of the total intensity is included in c(x).
- the samples in the partition block are filtered, that is, samples from which blur is removed. can be obtained If this process is repeated for all samples in the partition block, all blurs included in the partition block may be removed.
- the processor 1300 executes at least one instruction stored in the storage unit 1500 to obtain at least one of a Wiener filter on a Fourier domain and a Wiener filter on a spatial domain, and , may select the obtained Wiener filter on the Fourier domain or the Wiener filter on the spatial domain, and filter the partition block using the selected Wiener filter.
- the electronic device 1000 filters the plurality of partition blocks using a winner filter on the Fourier domain or a winner on the spatial domain to remove blur included in the plurality of partition blocks generated from the input image.
- a plurality of partition blocks may be filtered using a filter, or some partition blocks among the plurality of partition blocks may be filtered using a Wiener filter on the Fourier domain and other partition blocks may be filtered using a Wiener filter on the spatial domain.
- the Wiener filter on the spatial domain may have a smaller computational load on the processor 1300 and a faster computation speed than the Wiener filter on the frequency domain (Fourier domain). Accordingly, in an embodiment, in order to reduce a computing resource allocated to an operation in a filtering operation, only a Wiener filter on the spatial domain is used or a Fourier domain ( A Wiener filter on the frequency domain) or a Wiener filter on the spatial domain can be selectively used. For example, when the computational load applied to the processor 1300 is excessive, the filtering operation may be performed using a Wiener filter in the spatial domain in order to reduce the computational load corresponding to the filtering operation.
- the Wiener filter may be a one-dimensional directional filter or a two-dimensional directional filter.
- the dimension of the Wiener filter may be determined according to the dimension of the point spread function (PSF) H(f) used when generating the filter.
- PSF point spread function
- the Wiener filter W(f) or c(x) is a one-dimensional directional filter
- f may be expressed as u or v in Equation 1
- x may be expressed as x or y in Equation 2 .
- the Wiener filter W(f) or c(x) is a two-dimensional directional filter, it may be expressed as u, v instead of f in Equation 1, and may be expressed as x, y instead of x in Equation 2 .
- the operation of the processor 1300 filtering the partition block using the obtained point spread function may include filtering the partition block further using a lookup table.
- the operation of obtaining the Wiener filter from the obtained point spread function may include the operation of obtaining filter coefficients of the Wiener filter using a lookup table.
- a lookup table or lookup table is a data structure composed of an array or associative array, and can be used to replace an arithmetic operation with a simpler array indexing operation.
- filter coefficients of the Wiener filter may be stored in the lookup table. That is, a previously stored winner filter can be called by using the lookup table.
- the Wiener filter can be obtained from the point spread function without calculating Equation 1 or Equation 2 described above.
- a partition block may be filtered using a Wiener filter obtained using a lookup table.
- the calculation of Equation 1 or 2 may not be directly performed to obtain the Wiener filter on the Fourier domain or the Wiener filter on the spatial domain, and the processing speed of the processor 1300 may be further accelerated. have. Accordingly, it is possible to reduce the computational load of the overall autofocus control method and increase the computational speed. Meanwhile, the operations of obtaining a Wiener filter using the lookup table and filtering the plurality of partition blocks using the obtained Wiener filter may be applied when the directional filter is both one-dimensional and two-dimensional. In order to increase the operation speed and reduce the capacity of the lookup table itself, it may be more effective to perform the directional filter in one dimension.
- the processor 1300 executes at least one instruction of the post-processing module 1530 among the programs stored in the storage 1500 to remove an overshoot included in the filtered partition block. Samples included in the partition block may be post-processed based on a threshold value.
- an overshoot phenomenon in which the brightness of an edge of an object included in the filtered image or an edge of a text is excessively enhanced may occur.
- a sample at a location where such overshoot occurs has a large difference between a value in the input image and a value in the filtered image. Therefore, when a threshold value for the difference ⁇ between the value in the input image of a specific sample and the value in the filtered image is determined, and the filtered image is post-processed based on the determined threshold value, Overshoot can be eliminated. In this case, it is possible to reduce artifacts such as a ring effect while maintaining the resolution of the image.
- the processor 1300 may determine a threshold value for post-processing samples included in the partition block by executing at least one instruction stored in the storage unit 1500 .
- the threshold TH may be determined based on a bit-depth of a sample. For example, when the bit depth of the sample is N bits, the threshold TH may be determined to be 2 (NM).
- M may be any integer less than or equal to N.
- the threshold value TH may be 8.
- the threshold value TH may be determined based on a standard deviation ⁇ of samples included in a specific region from a predetermined region including a specific sample. This case will be described in detail with reference to FIGS. 7 and 8 to be described later.
- the processor 1300 executes at least one instruction stored in the storage unit 1500 , and fuses partition blocks including post-processed samples, thereby generating an autofocus-compensated output image.
- the electronic device 1000 may output an output image for which autofocus is compensated by controlling the display unit 1700 .
- FIG 3 is a block diagram of a camera unit 1100 according to an embodiment of the present disclosure.
- the camera unit 1100 includes a lens assembly 1110 , a flash 1120 , an image sensor 1130 , an image stabilizer 1140 , a memory 1150 (eg, a buffer memory), or an image signal processor. (1160) may be included.
- the lens assembly 1110 may collect light emitted from a subject, which is an image capturing object.
- the lens assembly 1110 may include one or more lenses.
- the camera unit 1100 may include a plurality of lens assemblies 1110 . In this case, the camera unit 1100 may form, for example, a dual camera, a 360 degree camera, or a spherical camera.
- Some of the plurality of lens assemblies 1110 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 1110 may include, for example, a wide-angle lens or a telephoto lens.
- the flash 1120 may emit light used to enhance light emitted or reflected from the subject.
- the flash 1120 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 1130 may acquire an image corresponding to the subject by converting light emitted or reflected from the subject and transmitted through the lens assembly 1110 into an electrical signal.
- the image sensor 1130 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 properties, or a plurality of image sensors having different properties.
- Each image sensor included in the image sensor 1130 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 1140 moves at least one lens or the image sensor 1130 included in the lens assembly 1110 in a specific direction or Operation characteristics of the image sensor 1130 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 1140 uses a gyro sensor (not shown) or an acceleration sensor (not shown) disposed inside or outside the camera unit 1100 to the camera unit 1100 or the electronic device 1000 . ) can be detected.
- the image stabilizer 1140 may be implemented as, for example, an optical image stabilizer.
- the memory 1150 may temporarily store at least a portion of the image acquired through the image sensor 1130 for the 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, a Bayer-patterned image or a high-resolution image) is stored in the memory 1150 ), and a corresponding copy image (eg, a low-resolution image) may be previewed through the display unit 1700 . 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 1150 may be acquired and processed by, for example, the image signal processor 1160 . According to an embodiment, the memory 1150 may be configured as at least a part of the storage unit 1500 or as a separate memory operated independently of the memory unit 1500 .
- the image signal processor 1160 may perform one or more image processing on an image acquired through the image sensor 1130 or an image stored in the memory 1150 .
- the one or more image processes may include, for example, depth map generation, 3D 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 1160 may include at least one of the components included in the camera unit 1100 (eg, an image sensor). 1130), for example, exposure time control, readout timing control, etc.
- the image processed by the image signal processor 1160 is stored back in the memory 1150 for further processing.
- the image signal processor 1160 may be configured as at least a part of the processor 1300 or as a separate processor operated independently of the processor 1300.
- the image signal processor 1160 may be displayed through the display unit 1700 as it is or after additional image processing is performed by the processor 1300 .
- the electronic device 1000 may include a plurality of camera units 1100 each having different properties or functions.
- at least one of the plurality of camera units 1100 may be a wide-angle camera, and at least the other may be a telephoto camera.
- at least one of the plurality of camera units 1100 may be a front camera, and at least the other may be a rear camera.
- FIG. 4 is a flowchart of a method for compensating for autofocus according to an embodiment of the present disclosure.
- a method of compensating for autofocus may generate a plurality of partition blocks from an input image.
- Each of the plurality of partition blocks may correspond to at least a part of the input image.
- a specific partition block may be in contact with a neighboring partition block, and at least a part of the specific partition block and the neighboring partition block may overlap.
- a plurality of partition blocks may include a plurality of samples. All samples included in the input image may be included in at least one partition block, respectively.
- a point spread function (PSF) corresponding to the current partition block among a plurality of partition blocks generated from the input image may be obtained.
- a point spread function (PSF) corresponding to a specific partition block may represent an imaging impulse response applied to point objects included in the corresponding partition block.
- the operation of obtaining the point spread function (PSF) corresponding to the partition block is to obtain a preset point spread function (PSF) for each partition block, or to obtain a point spread function (PSF) calculated through an artificial neural network. It may include an operation to acquire.
- the partition block in order to remove blur included in the partition block, may be filtered using the obtained point spread function.
- the current partition block may be filtered using a point spread function obtained to correspond to the current partition block.
- a deconvolution filter may be applied to the filtering operation, and the deconvolution filter may be in the form of a Wiener filter in the frequency domain or in the form of a Wiener filter in the spatial domain.
- a winner filter on the spatial domain is used, or a winner on the Fourier domain (frequency domain) based on the computational load of the electronic device.
- a filter or a Wiener filter on the spatial domain may be selectively used.
- the Wiener filter may be a one-dimensional directional filter or a two-dimensional directional filter determined according to the dimension of the point spread function H(f) used when generating the filter.
- the filtering of the partition block using the obtained point spread function (PSF) includes obtaining a Wiener filter from the point spread function using a lookup table, and using the obtained Wiener filter to filter the partition block. It may further include the operation of filtering.
- samples included in the filtered current partition block may be post-processed based on a threshold value.
- a threshold value may be determined based on the bit-depth of the sample or may be determined based on the standard deviation ( ⁇ ) of samples of a predetermined region including the current sample.
- step S440 an output image including the post-processed partition block may be generated.
- an autofocus compensated output image may be obtained.
- FIG. 5 is a diagram for explaining an operation of filtering the current partition block 511 using a point spread function (PSF) 521 corresponding to the current partition block 511 according to an embodiment of the present disclosure.
- PSF point spread function
- a plurality of partition blocks 510 may be generated from an input image.
- the plurality of partition blocks 510 may have a rectangular grid shape.
- a current partition block 511 among the plurality of partition blocks 510 may include at least a portion of the input image, and all samples of the input image may be included in at least one partition block 511 .
- a plurality of point spread functions (PSFs) 520 may correspond to a plurality of partition blocks 510 .
- the point spread functions (PSFs) 520 and the partition blocks 510 may have a one-to-one correspondence.
- a plurality of partition blocks 510 may correspond to one point spread function (PSF) 520 .
- 25 point spread functions 520 may also be generated to correspond to the plurality of partition blocks 510 .
- a specific point spread function 521 may be applied to all samples in the corresponding partition block 511 .
- the first point spread function 521 may be applied to all samples located in the first partition block 511 .
- the plurality of partition blocks 510 may be filtered using the point spread functions 520 corresponding to the plurality of partition blocks 510 , and the filtered image 530 may be obtained from the plurality of partition blocks. can be obtained.
- FIG. 6 is a diagram for explaining a point spread function (PSF) corresponding to a partition block according to an embodiment of the present disclosure.
- PSF point spread function
- a radial blur may be formed around a focal point F during short-distance imaging, and the greater the distance from the focal point F, the greater the degree of blur.
- the first point 60a at the upper left from the focus it can be seen that blur is formed as if an image object is shadowed to the upper left, and at the second point 60b at the upper right from the focus. You can see the blur is formed as the image object is shadowed to the upper right corner.
- the third point 60c at the lower right from the focus blur is formed as if the image object is shadowed to the upper left, and at the fourth point 60d at the lower left from the focus, the image object moves to the lower left. You can see the blur forming like a shadow.
- the blur is higher than in the case of the third point 60c. You can see the big thing happened.
- the point spread function (PSF) used in the filtering operation to remove the blur included in the photographed image and the focus (F) It may be set differently depending on the distance and direction from the .
- FIG. 7 is a diagram for explaining an operation of determining a threshold value in a post-processing operation according to an embodiment of the present disclosure.
- the threshold value may be determined based on the standard deviation ( ⁇ ) of samples included in a predetermined region 73 including a current sample 75 to be subjected to a post-processing operation.
- the region 73 may have M ⁇ N pixels, and the standard deviation of the values of the M*N samples included in the region 73 may be ⁇ .
- the standard deviation ⁇ may be determined as the threshold value TH.
- a value ' ⁇ * ⁇ + ⁇ ' obtained by applying a scale factor ( ⁇ ) and an offset factor ( ⁇ ) to the standard deviation ( ⁇ ) for samples included in the region 73 is a threshold value (TH) can also be set to
- the threshold value TH may be determined based on the difference ⁇ between the values D(x,y) of . For example, a weighted sum 'w* ⁇ +(1-w)* ⁇ ' in which a weight is applied to the standard deviation ( ⁇ ) and the difference ( ⁇ ) may be determined as the threshold value (TH).
- the weight w may have an arbitrary value between 0 and 1.
- FIG. 8 is a diagram for explaining another operation of determining a threshold value in a post-processing operation according to an embodiment of the present disclosure.
- the threshold value is based on the standard deviation ( ⁇ ) of some samples among samples included in a predetermined region 83 including a current sample 85 to be subjected to a post-processing operation. can be determined by For example, after calculating the standard deviation ⁇ using only the four corner samples 83a , 83b , 83c , and 83d of the predetermined region 83 including the current sample 85 , the calculated standard deviation ⁇ ) may be determined as the threshold value TH.
- the threshold value for the post-processing operation may be determined based on a bit-depth of a sample and a standard deviation of samples included in a predetermined region including the current sample.
- the operation of determining the threshold value may be expressed as a pseudo code as shown in Table 2 below.
- O(x,y) is the original value of the specific sample
- D(x,y) is the value after the deconvolution filtering operation of the specific sample
- bit_depth is the bit depth of the sample
- M is the bit depth of the sample It is an arbitrary integer less than or equal to
- A, B, C, and D are values of the four corner samples 83a , 83b , 83c , and 83d of the predetermined area 83 including the specific sample 85 .
- w may be a weight having an arbitrary value between 0 and 1.
- the difference ⁇ between the original value O(x, y) of a specific sample (x, y) and the deconvolution-filtered sample value D(x, y) may be calculated.
- the second threshold value TH2 may be determined based on the bit depth (bit_depth) of the sample. For example, when the bit depth of the sample is N bits, bit_depth may be N, and M may be any integer less than or equal to N. In this case, the second threshold value TH2 may be determined to be 2 (NM).
- the first threshold value TH1 may be determined based on standard deviations of samples A, B, C, and D included in a predetermined region including the current sample x and y. For example, the average value Avg of the samples A, B, C, and D may be calculated, and the standard deviation ⁇ of the samples A, B, C, and D may be calculated therefrom. Referring to Table 2, when the standard deviation ⁇ is smaller than the absolute value of the difference value ⁇ obtained above, the first threshold value TH1 is the weighted sum 'w* ⁇ +(1) -w)* ⁇ '. In other cases, that is, when the standard deviation ⁇ is greater than or equal to the absolute value of the difference value ⁇ , the first threshold value TH1 may be determined as the standard deviation ⁇ .
- the final threshold value TH for the post-processing operation is a second threshold value TH2 determined based on a bit_depth of a sample and a first threshold value determined based on a standard deviation ⁇ of at least one sample. It may be determined from the threshold value TH1. Referring to Table 2, in an embodiment, when the first threshold value TH1 is greater than the second threshold value TH2, the final threshold value TH may be determined as the second threshold value TH2. In this case, the final threshold value TH may be determined as the first threshold value TH1.
- the determined final threshold TH may be used for post-processing of the sample. For example, the difference ⁇ between the original value O(x, y) of the sample (x, y) and the deconvolution-filtered sample value D(x, y) may be adjusted within the determined final threshold value TH.
- the determination of the threshold value is not limited to the above-described methods, and may be determined using a variance value, an average value, a maximum value, and the like of samples.
- 9 and 10 are diagrams illustrating a result of compensating for autofocus of an input image by applying a method of compensating for autofocus according to an embodiment of the present disclosure.
- FIG. 9 shows an enlarged view of the right end of the photographed image.
- the right-direction blur included in the first portion 90a and the second portion 90b of the input image 90 results in the first portion 95a and the second portion ( 95b), it can be seen that each was removed.
- FIG. 10 shows an enlarged view of the upper left corner of the photographed image.
- the upper left blur included in the first portion 100a , the second portion 100b , the third portion 100c , and the fourth portion 100d of the input image 100 is output It can be seen that the first portion 105a , the second portion 105b , the third portion 105c , and the fourth portion 105d of the image 105 have been removed, respectively.
- the actual image may be restored by removing the blur of the photographed image according to the blur levels of regions constituting the photographed image.
- artifacts such as a ring effect can be reduced while maintaining the image resolution. have.
- the operation of filtering a partition block or post-processing samples included in the filtered partition block based on a threshold value may be performed only for the Y channel, or may be performed for both YUV channels or RGB channels.
- Computer-readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Additionally, computer-readable media may include computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media may typically include computer readable instructions, data structures, or other data in a modulated data signal such as program modules.
- the computer-readable storage medium may be provided in the form of a non-transitory storage medium.
- 'non-transitory storage medium' is a tangible device and only indicates that it does not contain a signal (eg, electromagnetic wave). It does not distinguish between storage cases.
- the 'non-transitory storage medium' may include a buffer in which data is temporarily stored.
- 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 is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play StoreTM) or on two user devices (eg, It can be distributed (eg downloaded or uploaded) directly or online between smartphones (eg: smartphones).
- a portion of the computer program product eg, a downloadable app
- a machine-readable storage medium such as a memory of a manufacturer's server, a server of an application store, or a relay server. It may be temporarily stored or temporarily created.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
Abstract
A method for compensating autofocus and an electronic device that compensates autofocus are provided. The method can comprise the steps of: obtaining a point spread function (PSF) corresponding to the current partition block from among a plurality of partition blocks generated from an input image; filtering the current partition block by means of the point spread function so as to remove blur from the current partition block; post-processing samples included in the filtered current partition block on the basis of a threshold value so as to remove overshoot from the filtered current partition block; and generating an output image comprising the post-processed current partition block.
Description
본 개시는 오토포커스를 보상하는 방법, 오토포커스를 보상하는 전자 장치, 및 상기 오토포커스를 보상하는 방법을 수행하기 위한 프로그램 코드들을 저장하는 컴퓨터 판독가능 저장매체에 관한 것이다.The present disclosure relates to a method for compensating for autofocus, an electronic device for compensating for autofocus, and a computer-readable storage medium storing program codes for performing the method for compensating for autofocus.
디지털 촬영 장치는 광학 신호를 전기 신호로 변환하는 촬상 소자를 구비한다. 촬상 소자에서 감지된 신호를 이용하여, 현재 촬상 소자에 생성된 상을 표시하는 라이브뷰(live-view) 화면이 사용자에게 제공될 수 있다. 카메라, 캠코더 등의 디지털 촬영 장치에 있어서 선명한 정지 영상 또는 동영상을 촬영하기 위해서는 피사체에 정확하게 초점을 맞추는 것이 필요하다. 따라서, 피사체를 촬영하는 촬영 장치에는 피사체에 자동적으로 핀트를 맞추는 오토포커스(Auto-Focus, AF) 기능이 넓게 탑재되고 있다. 촬영 장치에 AF 기능을 탑재함으로써, 초심자라도 간편하게, 피사체에 초점이 맞은 고화질의 촬영 화상을 취득할 수 있다.A digital photographing apparatus includes an image pickup device that converts an optical signal into an electrical signal. A live-view screen displaying an image currently generated by the imaging device may be provided to the user by using a signal detected by the imaging device. In a digital photographing apparatus such as a camera or a camcorder, it is necessary to accurately focus on a subject in order to capture a clear still image or a moving image. Accordingly, an auto-focus (Auto-Focus, AF) function for automatically focusing on a subject is widely installed in a photographing apparatus for photographing a subject. By mounting the AF function in the photographing apparatus, even a beginner can easily acquire a high-quality photographed image in which the subject is in focus.
일반적으로 촬영 장치가 광학 AF 기능을 구현하기 위해서 액츄에이터(actuator)를 사용하고 있다. 이러한 액츄에이터 사용을 위해서는 일정 크기 이상의 촬영 장치가 필요하고 따라서 휴대폰용 카메라의 부피 감소에 어려움을 줄 수 있다. 그러므로, 휴대폰용 카메라 등에서 부피를 감소시키면서, 광학 AF 기능을 대체할 수 있는 방안이 요구된다. 액츄에이터를 사용하지 않는 경우, 렌즈는 고정되어 있고, 카메라로부터 물체까지의 거리에 따라서 획득한 영상의 블러(blur) 정도가 다를 수 있다.In general, a photographing apparatus uses an actuator to implement an optical AF function. In order to use such an actuator, a photographing device of a certain size or larger is required, and thus it may be difficult to reduce the volume of a camera for a mobile phone. Therefore, a method capable of replacing the optical AF function while reducing the volume of a camera for mobile phone or the like is required. When an actuator is not used, the lens is fixed, and the degree of blur of the acquired image may vary according to the distance from the camera to the object.
따라서, 이미지에 따라 블러 정도를 예측하고, 예측된 블러 정도로부터 추정된 점확산함수(point spread function, PSF)를 이용하여 이미지를 복원하는 기술이 요구된다. 이 때, 잘못 추정된 점확산함수를 사용하여 영상의 블러를 제거할 경우, 블러의 제거에 한계가 있을 뿐만 아니라, 컬러 디펙트(color defect)나 링 현상(ring effect) 등의 결함(artifact)이 발생될 수도 있다. 따라서, 다양한 영상에 따라 적절한 점확산함수를 추정하고, 오토포커스를 보상하는 것이 요구된다.Therefore, a technique for predicting a degree of blur according to an image and reconstructing an image using a point spread function (PSF) estimated from the predicted degree of blur is required. In this case, when the blur of the image is removed using the wrongly estimated point spread function, there is a limit to the removal of the blur, and artifacts such as color defects or ring effects This may occur. Therefore, it is required to estimate an appropriate point spread function according to various images and compensate for autofocus.
본 개시의 일 실시예는, 이미지를 구성하는 영역들의 블러 레벨에 따라 이미지의 블러를 제거하여 이미지를 복원하는 방법 및 전자 장치를 제공할 수 있다.An embodiment of the present disclosure may provide a method and an electronic device for reconstructing an image by removing blur from an image according to blur levels of regions constituting the image.
본 개시의 일 실시예는, 디컨볼루션(deconvolution) 필터링 동작에서 발생한 오버슈트(overshoot)를 보정하기 위한 후처리 동작을 수행함으로써, 이미지의 해상도를 유지하면서도 링 현상(ring effect) 등의 결함(artifact)을 경감시킬 수 있는 방법 및 전자 장치를 제공할 수 있다.An embodiment of the present disclosure provides a post-processing operation for correcting an overshoot occurring in a deconvolution filtering operation, thereby maintaining the resolution of an image while maintaining a defect such as a ring effect (ring effect). A method and an electronic device capable of reducing artifacts can be provided.
본 개시의 일 실시예는, 공간 도메인(spatial domain)에서 디컨볼루션 필터링함으로써, 프로세서의 연산 로드(load)를 줄일 수 있고, 연산 수행 시간을 가속화할 수 있는 방법 및 전자 장치를 제공할 수 있다.An embodiment of the present disclosure may provide a method and an electronic device capable of reducing a computational load of a processor and accelerating computational execution time by performing deconvolutional filtering in a spatial domain. .
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 개시된, 오토포커스를 보상하는 방법은, 입력 이미지로부터 생성된 복수의 파티션 블록 중 현재 파티션 블록에 대응되는 점확산함수(point spread function, PSF)를 획득하는 단계, 상기 현재 파티션 블록에 포함된 블러(blur)를 제거하기 위해 상기 점확산함수를 이용하여 상기 현재 파티션 블록을 필터링하는 단계, 상기 필터링된 현재 파티션 블록에 포함된 오버슈트(overshoot)를 제거하기 위해 상기 필터링된 현재 파티션 블록 내에 포함된 샘플들을 임계값에 기초하여 후처리하는 단계, 및 상기 후처리된 현재 파티션 블록을 포함하는 출력 이미지를 생성하는 단계를 포함할 수 있다.A method for compensating for autofocus, disclosed as a technical means for achieving the above technical problem, is to obtain a point spread function (PSF) corresponding to a current partition block among a plurality of partition blocks generated from an input image. Step, filtering the current partition block using the point spread function to remove blur included in the current partition block, removing overshoot included in the filtered current partition block to post-processing the samples included in the filtered current partition block based on a threshold value, and generating an output image including the post-processed current partition block.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 개시된, 오토포커스를 보상하는 전자 장치는, 입력 이미지를 획득하는 카메라부, 출력 이미지를 출력하는 디스플레이부, 적어도 하나의 명령어(instruction)를 포함하는 프로그램을 저장하는 저장부, 및 상기 저장부에 저장된 적어도 하나의 명령어를 실행하는 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는, 상기 입력 이미지로부터 생성된 복수의 파티션 블록 중 현재 파티션 블록에 대응되는 점확산함수(point spread function, PSF)를 획득하고, 상기 현재 파티션 블록에 포함된 블러(blur)를 제거하기 위해 상기 점확산함수를 이용하여 상기 현재 파티션 블록을 필터링하고, 상기 필터링된 현재 파티션 블록에 포함된 오버슈트(overshoot)를 제거하기 위해, 상기 필터링된 현재 파티션 블록 내에 포함된 샘플들을 임계값에 기초하여 후처리하고, 상기 후처리된 현재 파티션 블록을 포함하는 출력 이미지를 생성할 수 있다.An electronic device for compensating for autofocus, disclosed as a technical means for achieving the above-described technical problem, includes a camera unit for acquiring an input image, a display unit for outputting an output image, and a program including at least one instruction It may include a storage unit for storing, and at least one processor executing at least one instruction stored in the storage unit. The at least one processor obtains a point spread function (PSF) corresponding to a current partition block from among a plurality of partition blocks generated from the input image, and calculates a blur included in the current partition block. Filters the current partition block using the point spread function to remove, and sets samples included in the filtered current partition block to a threshold value to remove overshoot included in the filtered current partition block It is possible to post-process based on , and generate an output image including the post-processed current partition block.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 컴퓨터로 읽을 수 있는 기록매체는, 개시된 방법의 실시예들 중에서 적어도 하나를 컴퓨터에서 실행시키기 위한 프로그램이 저장된 것일 수 있다.As a technical means for achieving the above-described technical problem, the computer-readable recording medium may store a program for executing at least one of the embodiments of the disclosed method in a computer.
도 1은 본 개시의 일 실시예에 따른 전자 장치가 오토포커스(auto-focus, AF)를 보상하는 방법의 개요도이다.1 is a schematic diagram of a method of compensating for auto-focus (AF) by an electronic device according to an embodiment of the present disclosure;
도 2는 본 개시의 일 실시예에 따른 전자 장치의 블록도이다.2 is a block diagram of an electronic device according to an embodiment of the present disclosure.
도 3은 본 개시의 일 실시예에 따른 카메라부의 블록도이다.3 is a block diagram of a camera unit according to an embodiment of the present disclosure.
도 4는 본 개시의 일 실시예에 따른 오토포커스를 보상하는 방법의 흐름도이다.4 is a flowchart of a method for compensating for autofocus according to an embodiment of the present disclosure.
도 5는 본 개시의 일 실시예에 따른 현재 파티션 블록에 대응되는 점확산함수(PSF)를 이용하여, 현재 파티션 블록을 필터링하는 동작을 설명하기 위한 도면이다.5 is a diagram for explaining an operation of filtering a current partition block using a point spread function (PSF) corresponding to the current partition block according to an embodiment of the present disclosure.
도 6은 본 개시의 일 실시예에 따른 현재 파티션 블록에 대응되는 점확산함수(PSF)를 설명하기 위한 도면이다.6 is a diagram for explaining a point spread function (PSF) corresponding to a current partition block according to an embodiment of the present disclosure.
도 7은 본 개시의 일 실시예에 따른 후처리 동작에서 임계값을 결정하는 동작을 설명하기 위한 도면이다.7 is a diagram for explaining an operation of determining a threshold value in a post-processing operation according to an embodiment of the present disclosure.
도 8은 본 개시의 일 실시예에 따른 후처리 동작에서 임계값을 결정하는 다른 동작을 설명하기 위한 도면이다.8 is a diagram for explaining another operation of determining a threshold value in a post-processing operation according to an embodiment of the present disclosure.
도 9는 본 개시의 일 실시예에 따른 오토포커스를 보상하는 방법을 적용하여 입력 이미지의 오토포커스를 보상한 결과를 도시한 도면이다.9 is a diagram illustrating a result of compensating for autofocus of an input image by applying the method of compensating for autofocus according to an embodiment of the present disclosure.
도 10은 본 개시의 일 실시예에 따른 오토포커스를 보상하는 방법을 적용하여 입력 이미지의 오토포커스를 보상한 다른 결과를 도시한 도면이다.10 is a diagram illustrating another result of compensating for autofocus of an input image by applying a method of compensating for autofocus according to an embodiment of the present disclosure.
본 개시의 일 실시예에서, 전자 장치가 오토포커스를 보상하는 방법이 제공될 수 있다. 방법은, 입력 이미지로부터 생성된 복수의 파티션 블록 중 현재 파티션 블록에 대응되는 점확산함수(point spread function, PSF)를 획득하는 단계, 현재 파티션 블록에 포함된 블러(blur)를 제거하기 위해, 점확산함수를 이용하여 현재 파티션 블록을 필터링하는 단계, 필터링된 현재 파티션 블록에 포함된 오버슈트(overshoot)를 제거하기 위해, 필터링된 현재 파티션 블록 내에 포함된 샘플들을 임계값에 기초하여 후처리하는 단계, 및 후처리된 현재 파티션 블록을 포함하는 출력 이미지를 생성하는 단계를 포함할 수 있다.In an embodiment of the present disclosure, a method for an electronic device to compensate for autofocus may be provided. The method includes: obtaining a point spread function (PSF) corresponding to a current partition block among a plurality of partition blocks generated from an input image; to remove blur included in the current partition block; Filtering the current partition block using a spreading function, post-processing samples included in the filtered current partition block based on a threshold value to remove overshoot included in the filtered current partition block , and generating an output image including the post-processed current partition block.
일 실시예에서, 현재 파티션 블록에 대응되는 점확산함수는, 기 설정된 점확산함수 또는 인공 신경망(artificial neural network)을 통해 계산된 점확산함수일 수 있다.In an embodiment, the point spread function corresponding to the current partition block may be a preset point spread function or a point spread function calculated through an artificial neural network.
일 실시예에서, 획득된 점확산함수를 이용하여, 현재 파티션 블록을 필터링하는 단계는, 획득된 점확산함수로부터 위너 필터(Wiener filter)를 획득하는 단계, 및 획득된 위너 필터를 이용하여, 현재 파티션 블록을 필터링하는 단계를 포함할 수 있다.In an embodiment, the filtering of the current partition block using the obtained point spreading function includes: obtaining a Wiener filter from the obtained point spreading function; and using the obtained Wiener filter, the current It may include filtering the partition block.
일 실시예에서, 위너 필터는 공간 도메인(spatial domain) 상의 위너 필터일 수 있다.In one embodiment, the Wiener filter may be a Wiener filter in a spatial domain.
일 실시예에서, 공간 도메인 상의 위너 필터는, 푸리에 도메인(Fourier domain) 상의 위너 필터를 푸리에 역변환(Fourier inverse transform)하고, 푸리에 역변환된 위너 필터의 계수에서 기 설정된 강도(intensity) 이하의 값은 제거함으로써 획득될 수 있다.In an embodiment, the Wiener filter on the spatial domain performs a Fourier inverse transform on the Wiener filter on the Fourier domain, and a value less than or equal to a preset intensity is removed from the coefficients of the inverse Fourier-transformed Wiener filter. can be obtained by
일 실시예에서, 위너 필터를 획득하는 단계는, 푸리에 도메인(Fourier domain) 상의 위너 필터 및 공간 도메인(spatial domain) 상의 위너 필터를 획득하는 단계를 포함할 수 있다. 획득된 위너 필터를 이용하여 현재 파티션 블록을 필터링하는 단계는, 획득된 푸리에 도메인 상의 위너 필터 또는 공간 도메인 상의 위너 필터를 선택하는 단계, 및 선택된 위너 필터를 이용하여, 현재 파티션 블록을 필터링하는 단계를 포함할 수 있다.In an embodiment, obtaining the Wiener filter may include obtaining a Wiener filter on a Fourier domain and a Wiener filter on a spatial domain. The step of filtering the current partition block using the obtained Wiener filter includes selecting the obtained Wiener filter on the Fourier domain or the Wiener filter on the spatial domain, and filtering the current partition block using the selected Wiener filter. may include
일 실시예에서, 위너 필터는 1차원 방향성 필터 또는 2차원 방향성 필터일 수 있다.In an embodiment, the Wiener filter may be a one-dimensional directional filter or a two-dimensional directional filter.
일 실시예에서, 위너 필터가 1차원 방향성 필터인 경우, 획득된 점확산함수로부터 위너 필터를 획득하는 단계는, 룩업 테이블(lookup table)을 이용해 위너 필터의 필터 계수를 획득하는 단계를 포함할 수 있다.In an embodiment, when the Wiener filter is a one-dimensional directional filter, obtaining the Wiener filter from the obtained point spread function may include obtaining filter coefficients of the Wiener filter using a lookup table. have.
일 실시예에서, 임계값은 샘플의 비트 깊이(bit-depth)에 기초하여 결정될 수 있다.In one embodiment, the threshold may be determined based on a bit-depth of the sample.
일 실시예에서, 임계값은 현재 샘플이 포함된 일정 영역의 샘플들의 표준편차 중 적어도 하나에 기초하여 결정될 수 있다.In an embodiment, the threshold value may be determined based on at least one of standard deviations of samples of a predetermined region including the current sample.
본 개시의 일 실시예에서, 오토포커스를 보상하는 전자 장치가 제공될 수 있다. 전자 장치는, 입력 이미지를 획득하는 카메라부, 출력 이미지를 출력하는 디스플레이부, 적어도 하나의 명령어(instruction)를 포함하는 프로그램을 저장하는 저장부, 저장부에 저장된 적어도 하나의 명령어를 실행하는 적어도 하나의 프로세서를 포함할 수 있다. 적어도 하나의 프로세서는, 입력 이미지로부터 생성된 복수의 파티션 블록 중 현재 파티션 블록에 대응되는 점확산함수를 획득하고, 현재 파티션 블록에 포함된 블러를 제거하기 위해 점확산함수를 이용하여 현재 파티션 블록을 필터링하고, 필터링된 현재 파티션 블록에 포함된 오버슈트를 제거하기 위해 필터링된 현재 파티션 블록 내에 포함된 샘플들을 임계값에 기초하여 후처리하고, 후처리된 현재 파티션 블록을 포함하는 출력 이미지를 생성할 수 있다.In an embodiment of the present disclosure, an electronic device for compensating for autofocus may be provided. The electronic device includes a camera unit for acquiring an input image, a display unit for outputting an output image, a storage unit for storing a program including at least one instruction, and at least one for executing at least one command stored in the storage unit. may include a processor of The at least one processor obtains a point spread function corresponding to the current partition block among a plurality of partition blocks generated from the input image, and divides the current partition block by using the point spread function to remove blur included in the current partition block. Filter, post-process samples included in the filtered current partition block based on a threshold value to remove overshoot included in the filtered current partition block, and generate an output image including the post-processed current partition block. can
일 실시예에서, 현재 파티션 블록에 대응되는 점확산함수는, 기 설정된 점확산함수 또는 인공 신경망을 통해 계산된 점확산함수일 수 있다.In an embodiment, the point spread function corresponding to the current partition block may be a preset point spread function or a point spread function calculated through an artificial neural network.
일 실시예에서, 프로세서는 적어도 하나의 명령어들을 실행하여, 획득된 점확산함수로부터 위너 필터를 획득하고, 획득된 위너 필터를 이용하여 현재 파티션 블록을 필터링할 수 있다.In an embodiment, the processor may execute at least one instruction to obtain a Wiener filter from the obtained point spread function, and filter the current partition block using the obtained Wiener filter.
일 실시예에서, 위너 필터는 공간 도메인 상의 위너 필터일 수 있다.In one embodiment, the Wiener filter may be a Wiener filter in the spatial domain.
일 실시예에서, 공간 도메인 상의 위너 필터는, 푸리에 도메인 상의 위너 필터를 푸리에 역변환하고, 푸리에 역변환된 위너 필터의 계수에서 기 설정된 강도 이하의 값은 제거함으로써 획득될 수 있다.In an embodiment, the Wiener filter on the spatial domain may be obtained by inverse Fourier transforming the Wiener filter on the Fourier domain, and removing values equal to or less than a preset intensity from the coefficients of the inverse Fourier transform Wiener filter.
일 실시예에서, 프로세서는 적어도 하나의 명령어들을 실행하여, 푸리에 도메인 상의 위너 필터 및 공간 도메인 상의 위너 필터를 획득하고, 획득된 푸리에 도메인 상의 위너 필터 또는 공간 도메인 상의 위너 필터를 선택하고, 선택된 위너 필터를 이용하여 현재 파티션 블록을 필터링할 수 있다.In one embodiment, the processor executes at least one instruction to obtain a Wiener filter on the Fourier domain and a Wiener filter on the spatial domain, select the obtained Wiener filter on the Fourier domain or the Wiener filter on the spatial domain, and select the selected Wiener filter can be used to filter the current partition block.
일 실시예에서, 위너 필터는 1차원 방향성 필터 또는 2차원 방향성 필터일 수 있다.In an embodiment, the Wiener filter may be a one-dimensional directional filter or a two-dimensional directional filter.
일 실시예에서, 위너 필터가 1차원 방향성 필터인 경우, 프로세서는 적어도 하나의 명령어들을 실행하여, 룩업 테이블을 이용해, 획득된 점확산함수로부터 위너 필터의 필터 계수를 획득할 수 있다.In an embodiment, when the Wiener filter is a one-dimensional directional filter, the processor may execute at least one instruction to obtain filter coefficients of the Wiener filter from the obtained point spread function using a lookup table.
일 실시예에서, 임계값은 샘플의 비트 깊이 및 현재 샘플이 포함된 일정 영역의 샘플들의 표준편차 중 적어도 하나에 기초하여 결정될 수 있다.In an embodiment, the threshold value may be determined based on at least one of a bit depth of a sample and a standard deviation of samples of a predetermined region including the current sample.
본 개시의 일 실시예에서, 전자 장치가 오토포커스를 보상하는 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록매체가 제공될 수 있다.In an embodiment of the present disclosure, a computer-readable recording medium in which a program for implementing a method of compensating for autofocus by an electronic device is recorded may be provided.
아래에서는 첨부한 도면을 참조하여 본 개시의 다양한 실시예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. However, the present disclosure may be implemented in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present disclosure in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
본 개시의 실시예들에서 사용되는 용어는 본 개시의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 실시예의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the embodiments of the present disclosure have been selected as currently widely used general terms as possible while considering the functions of the present disclosure, but this may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, etc. . In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding embodiment. Therefore, the terms used in this specification should be defined based on the meaning of the term and the contents of the present disclosure, rather than the simple name of the term.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 명세서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다.The singular expression may include the plural expression unless the context clearly dictates otherwise. Terms used herein, including technical or scientific terms, may have the same meanings as commonly understood by one of ordinary skill in the art described herein.
본 개시 전체에서 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있음을 나타낸다. 또한, 본 명세서에 기재된 "~부", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 나타내며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.In the present disclosure, when a part "includes" a certain component, it indicates that other components may be further included, rather than excluding other components, unless otherwise stated. In addition, terms such as "~ unit" and "~ module" described in this specification indicate a unit for processing at least one function or operation, which may be implemented as hardware or software, or a combination of hardware and software.
본 개시 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.Throughout the present disclosure, when a part is "connected" with another part, this includes not only the case of being "directly connected" but also the case of being "electrically connected" with another element interposed therebetween. do.
본 명세서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 나타내지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 시스템"이라는 표현은, 그 시스템이 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 나타낼 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 나타낼 수 있다.As used herein, the expression “configured to (or configured to)” depends on the context, for example, “suitable for”, “having the capacity to” It can be used interchangeably with "," "designed to", "adapted to", "made to", or "capable of". The term “configured (or configured to)” may not necessarily refer to only “specifically designed to” hardware. Instead, in some circumstances, the expression “a system configured to” may indicate that the system is “capable of” with other devices or components. For example, the phrase "a processor configured (or configured to perform) A, B, and C" refers to a dedicated processor (eg, an embedded processor) for performing the operations, or by executing one or more software programs stored in memory; It may indicate a generic-purpose processor (eg, a CPU or an application processor) capable of performing corresponding operations.
본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.Functions related to artificial intelligence according to the present disclosure are operated through a processor and a memory. The processor may consist of one or a plurality of processors. In this case, one or more processors may be a general-purpose processor such as a CPU, an AP, a digital signal processor (DSP), or the like, a graphics-only processor such as a GPU, a VPU (Vision Processing Unit), or an artificial intelligence-only processor such as an NPU. One or a plurality of processors control to process input data according to a predefined operation rule or artificial intelligence model stored in the memory. Alternatively, when one or more processors are AI-only processors, the AI-only processor may be designed with a hardware structure specialized for processing a specific AI model.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 나타낼 수 있다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.A predefined action rule or artificial intelligence model is characterized in that it is created through learning. Here, being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created can indicate the burden. Such learning may be performed in the device itself on which artificial intelligence according to the present disclosure is performed, or may be performed through a separate server and/or system. Examples of the learning algorithm include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
인공지능 모델은, 복수의 신경망 레이어들을 포함할 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.The artificial intelligence model may include a plurality of neural network layers. Each of the plurality of neural network layers has a plurality of weight values, and a neural network operation is performed through an operation between the operation result of a previous layer and the plurality of weights. The plurality of weights of the plurality of neural network layers may be optimized by the learning result of the artificial intelligence model. For example, a plurality of weights may be updated so that a loss value or a cost value obtained from the artificial intelligence model during the learning process is reduced or minimized. The artificial neural network may include a deep neural network (DNN), for example, a Convolutional Neural Network (CNN), a Deep Neural Network (DNN), a Recurrent Neural Network (RNN), a Restricted Boltzmann Machine (RBM), There may be a Deep Belief Network (DBN), a Bidirectional Recurrent Deep Neural Network (BRDNN), or a Deep Q-Networks, but is not limited thereto.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.Hereinafter, the present disclosure will be described in detail with reference to the accompanying drawings.
도 1은 본 개시의 일 실시예에 따른 전자 장치가 오토포커스(auto-focus, AF)를 보상하는 방법의 개요도이다.1 is a schematic diagram of a method of compensating for auto-focus (AF) by an electronic device according to an embodiment of the present disclosure;
전자 장치는 입력 영상 또는 입력 이미지(10)를 획득하고, 출력 영상 또는 출력 이미지(15)를 출력하는 장치일 수 있다. 전자 장치는 예를 들어, 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 웨어러블 장치(wearable device), 가전기기 및 기타 이동식 또는 고정식 컴퓨팅 장치 중 적어도 하나를 포함할 수 있다. 그러나, 전자 장치가 전술한 예시로 한정되는 것은 아니며, 전자 장치는 영상 또는 이미지를 획득하고 처리하여 출력하는 모든 종류의 기기를 포함할 수 있다.The electronic device may be a device that acquires the input image or the input image 10 and outputs the output image or the output image 15 . The electronic device is, for example, a smart phone, a tablet personal computer (PC), a mobile phone, a video phone, an e-book reader, a desktop personal computer (PC), a laptop. PC (laptop personal computer), netbook computer (netbook computer), workstation, server, PDA (personal digital assistant), PMP (portable multimedia player), MP3 player, mobile medical device, camera, wearable device (wearable device), home appliances, and other mobile or stationary computing devices. However, the electronic device is not limited to the above-described example, and the electronic device may include all kinds of devices that acquire, process, and output an image or image.
본 개시에서 '오토포커스의 보상(auto-focus compensation)'은 주어진 이미지의 포커스를 개선하는 것을 나타낼 수 있다. 일 실시예에서, 카메라의 센서 크기 증대에 따라 근거리 촬영 시 이미지의 외곽에 초점이 잡히지 않는 열화 현상(번짐, 블러(blur))이 일어날 수 있다. 예를 들어, 열화 현상은 이미지의 중심부로부터 방사형으로 발생될 수 있다. 오토포커스의 보상은, 이러한 열화 현상에 대한 사전 정보를 이용하여 열화된 이미지를 재구성 또는 복구하는 동작을 나타낼 수 있다.In the present disclosure, 'auto-focus compensation' may refer to improving focus of a given image. In an embodiment, as the size of the sensor of the camera increases, a deterioration phenomenon (blurring, blur) may occur in which the outer edge of the image is not in focus during short-distance shooting. For example, the deterioration phenomenon may occur radially from the center of the image. Compensation of autofocus may represent an operation of reconstructing or restoring a deteriorated image using prior information on such deterioration phenomenon.
도 1을 참조하면, 전자 장치는 내장된 카메라부를 통해 입력 이미지(10)를 획득할 수 있다. 일 실시예에서, 획득된 입력 이미지(10)로부터 복수의 파티션 블록(partition block)이 생성(110)될 수 있다. 복수의 파티션 블록은 각각 입력 이미지(10)의 적어도 일부에 해당할 수 있다. 일 실시예에서, 특정 파티션 블록은 이웃하는 파티션 블록과 접할 수 있다. 다른 실시예에서, 특정 파티션 블록과 이웃하는 파티션 블록은 적어도 일부가 오버랩(overlap)될 수도 있다.Referring to FIG. 1 , the electronic device may acquire an input image 10 through a built-in camera unit. In an embodiment, a plurality of partition blocks may be generated 110 from the obtained input image 10 . Each of the plurality of partition blocks may correspond to at least a portion of the input image 10 . In one embodiment, a particular partition block may be contiguous with a neighboring partition block. In another embodiment, at least a part of a specific partition block and neighboring partition blocks may overlap.
본 개시의 일 실시예에 따른 전자 장치는 입력 이미지(10)로부터 생성된 복수의 파티션 블록 중 현재 파티션 블록에 대응되는 점확산함수(point spread function, PSF)를 획득(120)할 수 있다. 점확산함수(PSF)는 열화 현상에 대한 함수 또는 이미징 시스템의 광학 전달 함수를 나타낼 수 있다. 점확산함수(PSF)는 점 소스(point source)에 대한 이미징 시스템의 임펄스 응답을 나타낸다. 점확산함수(PSF)는 단일 점 개체(point object)를 나타내는 이미지의 확장된 형태로 볼 수 있다. 점 개체의 퍼짐(spread) 또는 블러(blur) 정도는 이미징 시스템의 품질에 대한 척도가 될 수 있다. 공간 불변 시스템(space-invariant system)에서 점확산함수(PSF)는 이미지의 전체 영역에서 동일할 수도 있다. 특정 이미징 시스템으로 촬영된 물체의 이미지는 물체의 실제 이미지와 해당 이미징 시스템의 점확산함수(PSF)의 컨볼루션(convolution)의 결과로 볼 수 있다.The electronic device according to an embodiment of the present disclosure may acquire ( 120 ) a point spread function (PSF) corresponding to a current partition block among a plurality of partition blocks generated from the input image 10 . The point spread function (PSF) may represent a function to a deterioration phenomenon or an optical transfer function of an imaging system. The point spread function (PSF) represents the impulse response of the imaging system to a point source. A point spread function (PSF) can be viewed as an extended form of an image representing a single point object. The degree of spread or blur of the point object may be a measure of the quality of the imaging system. In a space-invariant system, the point spread function (PSF) may be the same over the entire area of the image. An image of an object captured by a specific imaging system can be viewed as a result of convolution of an actual image of the object and a point spread function (PSF) of the imaging system.
일 실시예에서, 전자 장치는 획득된 점확산함수(PSF)를 이용하여, 현재 파티션 블록을 필터링(130)할 수 있다. 예를 들어, 필터링(130) 동작에는 디컨볼루션 필터(deconvolution filter)가 이용될 수 있다. 물체의 촬영된 이미지는 물체의 실제 이미지와 점확산함수(PSF)의 컨볼루션 값으로 나타낼 수 있으므로, 이론적으로, 획득된(촬영된) 입력 이미지(10)를 점확산함수(PSF)로 디컨볼루션(deconvolution)할 경우, 물체의 실제 이미지가 획득될 수 있다. 촬영된 입력 이미지(10)는 블러(blur)를 포함하는 것으로 가정한다. 따라서, 점확산함수(PSF)를 이용하여 입력 이미지(10)의 복수의 파티션 블록들을 필터링(130)할 경우, 복수의 파티션 블록들에 포함된 블러를 제거할 수 있다.In an embodiment, the electronic device may filter 130 the current partition block using the obtained point spread function (PSF). For example, a deconvolution filter may be used for the filtering 130 operation. Since the photographed image of the object can be expressed as a convolution value of the actual image of the object and the point spread function (PSF), theoretically, the acquired (photographed) input image 10 is deconvolved with the point spread function (PSF). In case of deconvolution, an actual image of the object may be obtained. It is assumed that the captured input image 10 includes blur. Accordingly, when the plurality of partition blocks of the input image 10 are filtered 130 using the point spread function (PSF), blur included in the plurality of partition blocks may be removed.
본 개시의 일 실시예에 따른 전자 장치는 필터링(130)된 현재 파티션 블록 내에 포함된 샘플(sample)들을 임계값(threshold)에 기초하여 후처리(140)할 수 있다.The electronic device according to an embodiment of the present disclosure may post-process 140 samples included in the current partition block filtered 130 based on a threshold.
일 실시예에서, 디컨볼루션 필터링 동작을 수행할 경우, 필터링된 이미지에서는, 포함된 객체의 가장자리 또는 포함된 글씨의 가장자리 부분의 밝기가 과도하게 강화되는 오버슈트(overshoot)가 발생할 수 있다. 이러한 오버슈트가 발생한 위치에서의 샘플은, 입력 이미지(10)에서와 필터링(130) 이후에서의 값의 차이가 크다. 따라서, 특정 샘플의 입력 이미지(10)에서의 값과 필터링(130) 이후에서의 값의 차이 δ에 대한 임계값이 설정되고, 전자 장치가 설정된 임계값에 기초하여 필터링(130)된 이미지를 후처리(140)할 경우, 필터링된 파티션 블록에 포함된 오버슈트(overshoot)를 제거할 수 있고, 이미지의 해상도를 유지하면서도 링 현상(ring effect) 등의 결함(artifact)을 경감시킬 수 있다.In an embodiment, when the deconvolution filtering operation is performed, an overshoot in which the brightness of an edge of an included object or an edge of an included text is excessively enhanced may occur in the filtered image. A sample at a position where such overshoot occurs has a large difference in value between the input image 10 and the value after the filtering 130 . Accordingly, a threshold value for the difference δ between the value in the input image 10 of a specific sample and the value after the filtering 130 is set, and the electronic device receives the filtered image 130 based on the set threshold value. In the case of the processing 140 , overshoot included in the filtered partition block may be removed, and artifacts such as a ring effect may be reduced while maintaining image resolution.
이후, 전자 장치는 후처리(140)된 샘플들을 포함하는 복수의 파티션 블록들을 융합함으로써, 후처리(140)된 파티션 블록들을 포함하는 출력 이미지(15)를 생성할 수 있다. 출력 이미지(15)는 오토포커스가 보상된 입력 이미지(10)에 대응될 수 있다.Thereafter, the electronic device may generate an output image 15 including the post-processed partition blocks by fusing the plurality of partition blocks including the post-processed 140 samples. The output image 15 may correspond to the input image 10 for which autofocus is compensated.
도 2는 본 개시의 일 실시예에 따른 전자 장치(1000)의 블록도이다.2 is a block diagram of an electronic device 1000 according to an embodiment of the present disclosure.
도 2를 참조하면, 전자 장치(1000)는 카메라부(1100), 프로세서(1300), 저장부(1500), 및 디스플레이부(1700)를 포함할 수 있다. 도 2에 도시된 구성 요소 모두가 전자 장치(1000)의 필수 구성 요소인 것은 아니다. 도 2에 도시된 구성 요소보다 많은 구성 요소들에 의해 전자 장치(1000)가 구현될 수도 있고, 도 2에 도시된 구성 요소보다 적은 구성 요소에 의해 전자 장치(1000)가 구현될 수도 있다.Referring to FIG. 2 , the electronic device 1000 may include a camera unit 1100 , a processor 1300 , a storage unit 1500 , and a display unit 1700 . Not all of the components shown in FIG. 2 are essential components of the electronic device 1000 . The electronic device 1000 may be implemented by more components than those illustrated in FIG. 2 , or the electronic device 1000 may be implemented by fewer components than those illustrated in FIG. 2 .
카메라부(1100)는 디지털 촬영 장치를 포함할 수 있다. 일 실시예에서, 카메라부(1100)는 입력 영상 또는 입력 이미지를 획득할 수 있다. 일 실시예에서, 카메라부(1100)는 액츄에이터(actuator)를 포함할 수 있고, 전자 장치(1000)의 저장부(1500)는, 액츄에이터를 사용하는 광학 오토포커스 기능을 구현하기 위한 명령어들을 포함할 수도 있다.The camera unit 1100 may include a digital photographing device. In an embodiment, the camera unit 1100 may acquire an input image or an input image. In an embodiment, the camera unit 1100 may include an actuator, and the storage unit 1500 of the electronic device 1000 may include instructions for implementing an optical autofocus function using the actuator. may be
디스플레이부(1700)는 출력 영상 또는 출력 이미지를 외부로 출력할 수 있다. 디스플레이부(1700)는 시각적 이미지를 외부로 표시하여 출력할 수 있다. 일 실시예에서, 디스플레이부(1700)는 패널(panel)을 포함할 수 있다. 디스플레이부(1700)는 예를 들어, 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 다만 디스플레이부(1700)는 전술한 예시로 한정되는 것은 아니며, 영상 또는 이미지를 출력하여 표시하는 모든 종류의 디스플레이를 포함할 수 있다.The display unit 1700 may output an output image or an output image to the outside. The display unit 1700 may display and output a visual image to the outside. In an embodiment, the display unit 1700 may include a panel. The display unit 1700 includes, for example, a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, It may include at least one of a three-dimensional display (3D display) and an electrophoretic display (electrophoretic display). However, the display unit 1700 is not limited to the above-described examples, and may include all types of displays that output and display an image or an image.
저장부(1500)는 전자 장치(1000)의 동작을 제어하기 위해 후술할 프로세서(1300)에 의해 실행될 프로그램을 저장할 수 있다. 저장부(1500)는 전자 장치(1000)의 동작을 제어하기 위한 적어도 하나의 명령어들(instructions)을 포함하는 프로그램을 저장할 수 있다. 저장부(1500)에는 프로세서(1300)가 판독할 수 있는 명령어들 및 프로그램 코드(program code)가 저장될 수 있다. 일 실시예에서, 프로세서(1300)는 저장부(1500)에 저장된 프로그램의 명령어들 또는 코드들을 실행하도록 구현될 수 있다. 저장부(1500)는 전자 장치(1000)로 입력되거나 전자 장치(1000)로부터 출력되는 데이터를 저장할 수 있다.The storage 1500 may store a program to be executed by the processor 1300 to be described later in order to control the operation of the electronic device 1000 . The storage 1500 may store a program including at least one instruction for controlling the operation of the electronic device 1000 . The storage unit 1500 may store instructions and program codes readable by the processor 1300 . In an embodiment, the processor 1300 may be implemented to execute instructions or codes of a program stored in the storage 1500 . The storage 1500 may store data input to or output from the electronic device 1000 .
저장부(1500)는 예를 들어, 플래시 저장부(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 저장부(예를 들어, SD 또는 XD 저장부 등), 램(RAM, Random Access Memory), SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 저장부, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장 매체를 포함할 수 있다. 다만 저장부(1500)는 전술한 예시로 한정되는 것은 아니며, 데이터가 저장될 수 있는 모든 종류의 저장 매체를 포함할 수 있다.The storage unit 1500 is, for example, a flash memory, a hard disk, a multimedia card micro type, or a card type storage unit (eg, SD or XD storage). ), RAM (Random Access Memory), SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory) , a magnetic storage unit, a magnetic disk, and an optical disk may include at least one type of storage medium. However, the storage unit 1500 is not limited to the above-described example, and may include any type of storage medium in which data may be stored.
저장부(1500)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 분류할 수 있다. 예를 들어, 저장부(1500)는, 점확산함수(PSF) 획득 모듈(1510), 필터링 모듈(1520), 및 후처리 모듈(1530)을 포함할 수 있다. 일 실시예에서, 저장부(1500)는 인공 신경망(artificial neural network, ANN) 또는 데이터베이스(database, DB)를 더 포함할 수 있다.Programs stored in the storage 1500 may be classified into a plurality of modules according to functions. For example, the storage 1500 may include a point spread function (PSF) obtaining module 1510 , a filtering module 1520 , and a post-processing module 1530 . In an embodiment, the storage 1500 may further include an artificial neural network (ANN) or a database (DB).
프로세서(1300)는, 전자 장치(1000)의 전반적인 동작을 제어할 수 있다. 예를 들어, 프로세서(1300)는 저장부(1500)에 저장된 프로그램들을 실행함으로써, 카메라부(1100), 디스플레이부(1700), 및 저장부(1500) 등을 전반적으로 제어할 수 있다.The processor 1300 may control the overall operation of the electronic device 1000 . For example, the processor 1300 may generally control the camera unit 1100 , the display unit 1700 , the storage unit 1500 , and the like by executing programs stored in the storage unit 1500 .
프로세서(1300)는 산술, 로직 및 입출력 연산과 시그널 프로세싱을 수행하는 하드웨어 구성 요소를 포함할 수 있다. 프로세서(1300)는 예를 들어, 중앙 처리 장치(Central Processing Unit), 마이크로 프로세서(microprocessor), 그래픽 프로세서(Graphic Processing Unit), ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), 및 FPGAs(Field Programmable Gate Arrays) 중 적어도 하나를 포함할 수 있으나, 이에 제한되는 것은 아니다.The processor 1300 may include a hardware component that performs arithmetic, logic, input/output operations and signal processing. The processor 1300 is, for example, a central processing unit (Central Processing Unit), a microprocessor (microprocessor), a graphic processor (Graphic Processing Unit), ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), Programmable Logic Devices (PLDs), and Field Programmable Gate Arrays (FPGAs) may include, but are not limited thereto.
프로세서(1300)는, 저장부(1500)에 저장된 적어도 하나의 명령어들을 실행함으로써, 카메라부(1100)를 통해 입력 영상 또는 입력 이미지를 획득할 수 있다.The processor 1300 may acquire an input image or an input image through the camera unit 1100 by executing at least one command stored in the storage unit 1500 .
프로세서(1300)는, 저장부(1500)에 저장된 적어도 하나의 명령어들을 실행함으로써, 입력 이미지로부터 복수의 파티션 블록을 생성할 수 있다. 복수의 파티션 블록은 각각 입력 이미지의 적어도 일부에 해당할 수 있다. 일 실시예에서, 특정 파티션 블록은 이웃하는 파티션 블록과 접할 수도 있고, 특정 파티션 블록과 이웃하는 파티션 블록은 적어도 일부가 오버랩 될 수도 있다. 복수의 파티션 블록에는 각각 복수의 샘플(sample)들이 포함될 수 있다. 입력 이미지에 포함된 모든 샘플들(픽셀값, pixel value)은 적어도 하나의 파티션 블록에 포함될 수 있다.The processor 1300 may generate a plurality of partition blocks from the input image by executing at least one instruction stored in the storage 1500 . Each of the plurality of partition blocks may correspond to at least a part of the input image. In an embodiment, a specific partition block may be in contact with a neighboring partition block, and at least a part of the specific partition block and the neighboring partition block may overlap. Each of the plurality of partition blocks may include a plurality of samples. All samples (pixel values) included in the input image may be included in at least one partition block.
프로세서(1300)는, 저장부(1500)에 저장된 프로그램들 중 점확산함수(PSF) 획득 모듈(1510)의 적어도 하나의 명령어들을 실행함으로써, 입력 이미지로부터 생성된 복수의 파티션 블록 중 현재 파티션 블록에 대응되는 점확산함수(point spread function, PSF)를 획득할 수 있다. 현재 파티션 블록에 대응되는 점확산함수(PSF)는, 현재 파티션 블록에 포함된 점 개체(point object)들에 적용되는 이미징 임펄스 응답을 나타낼 수 있다. 즉, 현재 파티션 블록에 대응되는 점확산함수(PSF)는 현재 파티션 블록의 블러(blur) 정도를 나타낼 수 있다. 예를 들어, 근거리 촬영의 경우, 이미지의 중심에서 외곽으로 갈수록 블러(blur) 정도 또는 열화 정도가 증가할 수 있다. 파티션 블록별로 이미지 중심으로부터 각 파티션 블록까지의 거리가 다르며, 현재 파티션 블록에 대응하는 점확산함수(PSF)는 이미지 중심으로부터 현재 파티션 블록까지의 거리에 따라 결정되므로, 파티션 블록별로 대응하는 점확산함수(PSF)가 달라질 수 있다. 일 실시예에서, 현재 파티션 블록에 대응하는 점확산함수(PSF)는 현재 파티션 블록 내의 모든 샘플에 적용될 수 있다.The processor 1300 executes at least one instruction of the point spread function (PSF) acquisition module 1510 among the programs stored in the storage unit 1500, so that the current partition block among a plurality of partition blocks generated from the input image is A corresponding point spread function (PSF) may be obtained. A point spread function (PSF) corresponding to the current partition block may represent an imaging impulse response applied to point objects included in the current partition block. That is, the point spread function PSF corresponding to the current partition block may indicate the degree of blur of the current partition block. For example, in the case of short-distance imaging, the degree of blur or deterioration may increase from the center of the image toward the outside. The distance from the image center to each partition block is different for each partition block, and the point spread function (PSF) corresponding to the current partition block is determined according to the distance from the image center to the current partition block. (PSF) may vary. In an embodiment, a point spread function (PSF) corresponding to the current partition block may be applied to all samples in the current partition block.
일 실시예에서, 입력 이미지로부터 생성된 복수의 파티션 블록 중 현재 파티션 블록에 대응되는 점확산함수는, 기 설정된 점확산함수(PSF)거나, 인공 신경망(artificial neural network)을 통해 계산된 점확산함수(PSF)일 수 있다.In an embodiment, the point spread function corresponding to the current partition block among the plurality of partition blocks generated from the input image is a preset point spread function (PSF) or a point spread function calculated through an artificial neural network. (PSF).
프로세서(1300)는, 저장부(1500)에 저장된 프로그램들 중 필터링 모듈(1520)의 적어도 하나의 명령어들을 실행함으로써, 현재 파티션 블록에 포함된 블러(blur)를 제거하기 위해, 현재 파티션 블록에 대응하도록 획득된 점확산함수(PSF)를 이용하여 현재 파티션 블록을 필터링할 수 있다. 일 실시예에서, 필터링 동작에는 디컨볼루션 필터(deconvolution filter)가 적용될 수 있다. 물체의 촬영된 이미지는 물체의 실제 이미지와 점확산함수(PSF)의 컨볼루션된 결과로 나타낼 수 있으므로, 획득된 입력 이미지의 복수의 파티션 블록을 대응되는 점확산함수(PSF)들로 디컨볼루션(deconvolution)할 경우, 물체의 실제 이미지를 획득할 수 있다. 따라서, 획득된 점확산함수(PSF)를 이용하여 파티션 블록을 필터링하는 동작을 통해, 파티션 블록에 포함된 블러(blur)를 제거할 수 있다.The processor 1300 executes at least one instruction of the filtering module 1520 among the programs stored in the storage 1500 to remove blur included in the current partition block, corresponding to the current partition block. The current partition block may be filtered using the acquired point spread function (PSF). In an embodiment, a deconvolution filter may be applied to the filtering operation. Since the photographed image of the object can be expressed as a convolution result of the actual image of the object and the point spread function (PSF), a plurality of partition blocks of the obtained input image are deconvolved with the corresponding point spread functions (PSF). In the case of deconvolution, an actual image of an object can be obtained. Accordingly, blur included in the partition block may be removed through the operation of filtering the partition block using the obtained point spread function (PSF).
일 실시예에서, 획득된 점확산함수(PSF)를 이용하여, 파티션 블록을 필터링하는 동작은, 획득된 점확산함수(PSF)로부터 위너 필터(Wiener filter)를 획득하고, 획득된 위너 필터를 이용하여 파티션 블록을 필터링하는 동작을 포함할 수 있다. 디컨볼루션 필터는 위너 필터의 형태일 수 있다. 예를 들어, 주파수 도메인 상의 위너 필터(W(f))는 다음의 수학식 1과 같이 정의될 수 있다.In an embodiment, the filtering of the partition block using the obtained point spread function (PSF) includes obtaining a Wiener filter from the obtained point spread function (PSF) and using the obtained Wiener filter to filter the partition block. The deconvolution filter may be in the form of a Wiener filter. For example, the Wiener filter W(f) in the frequency domain may be defined as in Equation 1 below.
여기서, f는 주파수 도메인에서의 좌표 성분이고, H(f)는 주파수 도메인 상의 점확산함수(PSF)며, H*(f)는 H(f)의 켤레(conjugate) 함수이다. N(f)는 노이즈 대 신호의 비율로서, 노이즈의 파워 스펙트럼을 실제 이미지의 파워 스펙트럼으로 나눈 값으로 정의될 수 있다.Here, f is a coordinate component in the frequency domain, H(f) is a point spread function (PSF) in the frequency domain, and H * (f) is a conjugate function of H(f). N(f) is a ratio of noise to signal, and may be defined as a value obtained by dividing a power spectrum of noise by a power spectrum of an actual image.
W(f)를 해당 점확산함수 H(f)에 대응되는 파티션 블록에 적용하여, W(f)와 해당 파티션 블록 내의 샘플들의 주파수 성분들을 곱하면, 해당 파티션 블록 내의 필터링된 샘플들의 주파수 성분이 생성될 수 있다. 해당 파티션 블록 내의 필터링된 샘플들의 주파수 성분을 공간 도메인으로 변환(transformation)하면 해당 파티션 블록 내의 필터링된 샘플들이 획득될 수 있다. 해당 파티션 블록 내의 샘플들이 필터링되면, 블러(blur)가 제거된 샘플들을 획득할 수 있다. 이러한 과정을 파티션 블록 내의 모든 샘플들에 대하여 반복하면, 해당 파티션 블록에 포함된 블러(blur)가 모두 제거될 수 있다.By applying W(f) to the partition block corresponding to the point spread function H(f) and multiplying W(f) by the frequency components of the samples in the partition block, the frequency components of the filtered samples in the partition block are can be created Filtered samples in the corresponding partition block may be obtained by transforming the frequency component of the filtered samples in the corresponding partition block into the spatial domain. When samples in the corresponding partition block are filtered, samples from which blur is removed may be obtained. If this process is repeated for all samples in the partition block, all blurs included in the partition block may be removed.
일 실시예에서, 위너 필터(Wiener filter)는 공간 도메인(spatial domain) 상의 위너 필터일 수도 있다. 공간 도메인 상의 위너 필터는, 푸리에 도메인(주파수 도메인) 상의 위너 필터를 푸리에 역변환(Fourier inverse transform, IFT)하고, 푸리에 역변환된 위너 필터의 계수에서 기 설정된 강도(intensity) 이하의 값은 제거함으로써 생성될 수 있다. 예를 들어, 공간 도메인 상의 Wiener 필터(c(x))는 다음의 수학식 2와 같이 정의될 수 있다.In an embodiment, the Wiener filter may be a Wiener filter on a spatial domain. The Wiener filter on the spatial domain is to be generated by performing a Fourier inverse transform (IFT) on the Wiener filter on the Fourier domain (frequency domain), and removing a value less than or equal to a preset intensity from the coefficients of the Fourier inverse transformed Wiener filter. can For example, the Wiener filter c(x) in the spatial domain may be defined as in Equation 2 below.
여기서, x는 공간 도메인에서의 좌표 성분이고, w(x)는 주파수 도메인 상의 위너 필터 W(f)를 푸리에 역변환(w(x)=F
-1(W(f)))한 공간 도메인 상의 함수이다. ε는 기 설정된 강도(intensity)로서, 예를 들어, 전체 강도 대비 약 99%가 c(x)에 포함되도록 ε가 설정될 수 있다.Here, x is a coordinate component in the spatial domain, and w(x) is a function in the spatial domain obtained by inverse Fourier transform (w(x)= F -1 ( W (f))) of the Wiener filter W(f) in the frequency domain. to be. ε is a preset intensity, for example, ε may be set such that about 99% of the total intensity is included in c(x).
c(x)를 해당 점확산함수 H(f)에 대응되는 파티션 블록의 블록 영상과 공간 도메인 상에서 컨볼루션 계산하면, 해당 파티션 블록 내의 샘플들이 필터링된 결과, 즉 블러(blur)가 제거된 샘플들을 획득할 수 있다. 이러한 과정을 파티션 블록 내의 모든 샘플들에 대하여 반복하면, 해당 파티션 블록에 포함된 블러(blur)가 모두 제거될 수 있다.If c(x) is convolved with the block image of the partition block corresponding to the point spread function H(f) in the spatial domain, the samples in the partition block are filtered, that is, samples from which blur is removed. can be obtained If this process is repeated for all samples in the partition block, all blurs included in the partition block may be removed.
일 실시예에서, 프로세서(1300)는 저장부(1500)에 저장된 적어도 하나의 명령어를 실행함으로써, 푸리에 도메인(Fourier domain) 상의 위너 필터 및 공간 도메인(spatial domain) 상의 위너 필터 중 적어도 하나를 획득하고, 획득된 푸리에 도메인 상의 위너 필터 또는 공간 도메인 상의 위너 필터를 선택하고, 선택된 위너 필터를 이용하여 파티션 블록을 필터링할 수 있다. 일 실시예에서, 전자 장치(1000)는 입력 이미지로부터 생성된 복수의 파티션 블록들에 포함된 블러를 제거하기 위해, 푸리에 도메인 상의 위너 필터를 이용하여 복수의 파티션 블록들을 필터링하거나, 공간 도메인 상의 위너 필터를 이용하여 복수의 파티션 블록들을 필터링하거나, 또는 복수의 파티션 블록들 중 일부 파티션 블록들은 푸리에 도메인 상의 위너 필터를 이용하여 필터링하고 다른 일부 파티션 블록들은 공간 도메인 상의 위너 필터를 이용하여 필터링할 수 있다.In one embodiment, the processor 1300 executes at least one instruction stored in the storage unit 1500 to obtain at least one of a Wiener filter on a Fourier domain and a Wiener filter on a spatial domain, and , may select the obtained Wiener filter on the Fourier domain or the Wiener filter on the spatial domain, and filter the partition block using the selected Wiener filter. In an embodiment, the electronic device 1000 filters the plurality of partition blocks using a winner filter on the Fourier domain or a winner on the spatial domain to remove blur included in the plurality of partition blocks generated from the input image. A plurality of partition blocks may be filtered using a filter, or some partition blocks among the plurality of partition blocks may be filtered using a Wiener filter on the Fourier domain and other partition blocks may be filtered using a Wiener filter on the spatial domain. .
일 실시예에서, 공간 도메인 상의 위너 필터는 주파수 도메인(푸리에 도메인) 상의 위너 필터에 비해 프로세서(1300)에 발생시키는 연산 로드(load)가 적고, 연산 속도가 빠를 수 있다. 따라서, 일 실시예에서, 필터링 동작에서 연산에 할당되는 컴퓨팅 리소스(computing resource)를 줄이기 위해, 공간 도메인 상의 위너 필터만을 이용하거나, 전자 장치(1000)의 연산 로드(load)에 기초하여 푸리에 도메인(주파수 도메인) 상의 위너 필터 또는 공간 도메인 상의 위너 필터를 선택적으로 이용할 수 있다. 예를 들어, 프로세서(1300)에 걸리는 연산 로드(load)가 과다한 경우, 필터링 동작에 대응되는 연산 로드를 줄이기 위해 공간 도메인 상의 위너 필터를 이용하여 필터링 동작을 수행할 수 있다.In an embodiment, the Wiener filter on the spatial domain may have a smaller computational load on the processor 1300 and a faster computation speed than the Wiener filter on the frequency domain (Fourier domain). Accordingly, in an embodiment, in order to reduce a computing resource allocated to an operation in a filtering operation, only a Wiener filter on the spatial domain is used or a Fourier domain ( A Wiener filter on the frequency domain) or a Wiener filter on the spatial domain can be selectively used. For example, when the computational load applied to the processor 1300 is excessive, the filtering operation may be performed using a Wiener filter in the spatial domain in order to reduce the computational load corresponding to the filtering operation.
일 실시예에서, 위너 필터(Wiener filter)는 1차원 방향성 필터이거나 2차원 방향성 필터일 수 있다. 위너 필터의 차원은 필터 생성시 이용되는 점확산함수(PSF) H(f)의 차원에 따라 결정될 수 있다. 위너 필터(W(f) 또는 c(x))가 1차원 방향성 필터인 경우, 전술한 수학식 1에서 f는 u 또는 v로 표시되고, 수학식 2에서 x는 x 또는 y로 표시될 수 있다. 위너 필터(W(f) 또는 c(x))가 2차원 방향성 필터인 경우, 전술한 수학식 1에서 f 대신 u,v로 표시되고, 수학식 2에서 x 대신 x,y로 표시될 수 있다.In an embodiment, the Wiener filter may be a one-dimensional directional filter or a two-dimensional directional filter. The dimension of the Wiener filter may be determined according to the dimension of the point spread function (PSF) H(f) used when generating the filter. When the Wiener filter W(f) or c(x) is a one-dimensional directional filter, f may be expressed as u or v in Equation 1, and x may be expressed as x or y in Equation 2 . When the Wiener filter W(f) or c(x) is a two-dimensional directional filter, it may be expressed as u, v instead of f in Equation 1, and may be expressed as x, y instead of x in Equation 2 .
일 실시예에서, 프로세서(1300)가 획득된 점확산함수(PSF)를 이용하여 파티션 블록을 필터링하는 동작은, 룩업 테이블(lookup table)을 더 이용해 파티션 블록을 필터링하는 동작을 포함할 수 있다. 예를 들어, 위너 필터가 1차원 방향성 필터인 경우, 획득된 점확산함수로부터 위너 필터를 획득하는 동작은, 룩업 테이블을 이용해 위너 필터의 필터 계수를 획득하는 동작을 포함할 수 있다.In an embodiment, the operation of the processor 1300 filtering the partition block using the obtained point spread function (PSF) may include filtering the partition block further using a lookup table. For example, when the Wiener filter is a one-dimensional directional filter, the operation of obtaining the Wiener filter from the obtained point spread function may include the operation of obtaining filter coefficients of the Wiener filter using a lookup table.
룩업 테이블(lookup table) 또는 순람표는 배열이나 연관 배열로 이루어진 데이터 구조로써, 연산 동작을 보다 단순한 배열 색인화 동작으로 대체하는데 이용될 수 있다. 일 실시예에서, 룩업 테이블에는 위너 필터의 필터 계수(filter coefficient)가 저장되어 있을 수 있다. 즉, 룩업 테이블을 이용하여 미리 저장된 위너 필터를 불러올 수 있다. 룩업 테이블에 기 저장된 위너 필터의 필터 계수를 이용하는 경우, 전술한 수학식 1 또는 수학식 2를 계산하지 않고도, 점확산함수로부터 위너 필터를 획득할 수 있다. 일 실시예에서, 룩업 테이블을 이용해 획득한 위너 필터를 이용해 파티션 블록을 필터링할 수 있다. 룩업 테이블을 이용할 경우, 푸리에 도메인 상의 위너 필터 또는 공간 도메인 상의 위너 필터를 획득하기 위하여 직접적인 수학식 1 또는 수학식 2의 연산을 수행하지 않을 수 있고, 프로세서(1300)의 처리 속도가 더욱 가속화될 수 있다. 따라서, 전체적인 오토포커스 조절 방법의 연산 로드를 줄이고, 연산 속도를 증가시킬 수 있다. 한편, 룩업 테이블을 이용해 위너 필터를 획득하고, 획득된 위너 필터를 이용해 복수의 파티션 블록을 필터링하는 동작은, 방향성 필터가 1차원일 때 및 2차원일 때 모두 적용될 수 있으나, 프로세서(1300)의 연산 속도를 증가시키고 룩업 테이블 자체의 용량을 감소시키기 위해서는, 방향성 필터가 1차원일 때 수행하는 것이 보다 효과적일 수 있다.A lookup table or lookup table is a data structure composed of an array or associative array, and can be used to replace an arithmetic operation with a simpler array indexing operation. In an embodiment, filter coefficients of the Wiener filter may be stored in the lookup table. That is, a previously stored winner filter can be called by using the lookup table. When the filter coefficients of the Wiener filter previously stored in the lookup table are used, the Wiener filter can be obtained from the point spread function without calculating Equation 1 or Equation 2 described above. In an embodiment, a partition block may be filtered using a Wiener filter obtained using a lookup table. When the lookup table is used, the calculation of Equation 1 or 2 may not be directly performed to obtain the Wiener filter on the Fourier domain or the Wiener filter on the spatial domain, and the processing speed of the processor 1300 may be further accelerated. have. Accordingly, it is possible to reduce the computational load of the overall autofocus control method and increase the computational speed. Meanwhile, the operations of obtaining a Wiener filter using the lookup table and filtering the plurality of partition blocks using the obtained Wiener filter may be applied when the directional filter is both one-dimensional and two-dimensional. In order to increase the operation speed and reduce the capacity of the lookup table itself, it may be more effective to perform the directional filter in one dimension.
프로세서(1300)는, 저장부(1500)에 저장된 프로그램들 중 후처리 모듈(1530)의 적어도 하나의 명령어들을 실행함으로써, 필터링된 파티션 블록에 포함된 오버슈트(overshoot)를 제거하기 위해, 필터링된 파티션 블록 내에 포함된 샘플들을 임계값에 기초하여 후처리할 수 있다.The processor 1300 executes at least one instruction of the post-processing module 1530 among the programs stored in the storage 1500 to remove an overshoot included in the filtered partition block. Samples included in the partition block may be post-processed based on a threshold value.
일 실시예에서, 디컨볼루션 필터링 동작을 수행할 경우, 필터링된 이미지 내에 포함된 객체의 가장자리 또는 글씨의 가장자리 부분의 밝기가 과도하게 강화되는 오버슈트(overshoot) 현상이 발생할 수 있다. 이러한 오버슈트가 발생한 위치에서의 샘플은, 입력 이미지에서의 값과 필터링된 이미지에서의 값의 차이가 크다. 따라서, 특정 샘플의 입력 이미지에서의 값과 필터링된 이미지에서의 값의 차이 δ에 대한 임계값을 결정하고, 결정된 임계값에 기초하여 필터링된 이미지를 후처리할 경우, 필터링된 이미지에 포함된 오버슈트(overshoot)를 제거할 수 있다. 이 경우, 이미지의 해상도를 유지하면서도 링 현상(ring effect) 등의 결함(artifact)을 경감시킬 수 있다.In an embodiment, when the deconvolution filtering operation is performed, an overshoot phenomenon in which the brightness of an edge of an object included in the filtered image or an edge of a text is excessively enhanced may occur. A sample at a location where such overshoot occurs has a large difference between a value in the input image and a value in the filtered image. Therefore, when a threshold value for the difference δ between the value in the input image of a specific sample and the value in the filtered image is determined, and the filtered image is post-processed based on the determined threshold value, Overshoot can be eliminated. In this case, it is possible to reduce artifacts such as a ring effect while maintaining the resolution of the image.
예를 들어, 특정 샘플의 오리지널 값 O(x,y)와 디컨볼루션 필터링된 샘플값 D(x,y)의 차이 δ가 결정된 임계값(TH)보다 클 경우, 결정된 임계값(TH) 내로 δ를 조정할 수 있다. 여기서, (x,y)는 이미지 상에서의 샘플의 좌표(coordinates)를 나타낸다. 이러한 동작은 아래의 표 1과 같은 Pseudo 코드로 표현될 수 있다.For example, when the difference δ between the original value O(x,y) of a specific sample and the deconvolution-filtered sample value D(x,y) is greater than the determined threshold value TH, it is within the determined threshold value TH. δ can be adjusted. Here, (x,y) represents the coordinates of the sample on the image. Such an operation may be expressed as a pseudo code as shown in Table 1 below.
일 실시예에서, 프로세서(1300)는, 저장부(1500)에 저장된 적어도 하나의 명령어를 실행함으로써, 파티션 블록 내에 포함된 샘플들을 후처리하기 위한 임계값을 결정할 수 있다.In an embodiment, the processor 1300 may determine a threshold value for post-processing samples included in the partition block by executing at least one instruction stored in the storage unit 1500 .
일 실시예에서, 임계값(TH)은 샘플의 비트 깊이(bit-depth)에 기초하여 결정될 수 있다. 예를 들어, 샘플의 비트 깊이가 N 비트인 경우, 임계값(TH)은 2(N-M)으로 결정될 수 있다. 여기서, M은 N보다 작거나 같은 임의의 정수일 수 있다. 예를 들어, 이미지의 비트 깊이가 8 비트이고, M이 5로 결정된 경우, 임계값(TH)은 8이 될 수 있다.In an embodiment, the threshold TH may be determined based on a bit-depth of a sample. For example, when the bit depth of the sample is N bits, the threshold TH may be determined to be 2 (NM). Here, M may be any integer less than or equal to N. For example, when the bit depth of the image is 8 bits and M is determined to be 5, the threshold value TH may be 8.
일 실시예에서, 임계값(TH)은 특정 샘플이 포함된 일정 영역으로부터, 해당 영역에 포함된 샘플들의 표준편차(σ)에 기초하여 결정될 수도 있다. 이러한 경우에 대해서는 후술할 도 7 및 도 8에서 구체적으로 설명하도록 한다.In an embodiment, the threshold value TH may be determined based on a standard deviation σ of samples included in a specific region from a predetermined region including a specific sample. This case will be described in detail with reference to FIGS. 7 and 8 to be described later.
이후, 프로세서(1300)는 저장부(1500)에 저장된 적어도 하나의 명령어를 실행함으로써, 후처리된 샘플들을 포함하는 파티션 블록들을 융합함으로써, 오토포커스가 보상된 출력 이미지를 획득할 수 있다. 일 실시예에서, 전자 장치(1000)는 디스플레이부(1700)를 제어함으로써, 오토포커스가 보상된 출력 이미지를 출력할 수 있다.Thereafter, the processor 1300 executes at least one instruction stored in the storage unit 1500 , and fuses partition blocks including post-processed samples, thereby generating an autofocus-compensated output image. can be obtained In an embodiment, the electronic device 1000 may output an output image for which autofocus is compensated by controlling the display unit 1700 .
도 3은 본 개시의 일 실시예에 따른 카메라부(1100)의 블록도이다.3 is a block diagram of a camera unit 1100 according to an embodiment of the present disclosure.
도 3를 참조하면, 카메라부(1100)는 렌즈 어셈블리(1110), 플래쉬(1120), 이미지 센서(1130), 이미지 스태빌라이저(1140), 메모리(1150)(예: 버퍼 메모리), 또는 이미지 시그널 프로세서(1160)를 포함할 수 있다. 렌즈 어셈블리(1110)는 이미지 촬영의 대상인 피사체로부터 방출되는 빛을 수집할 수 있다. 렌즈 어셈블리(1110)는 하나 또는 그 이상의 렌즈들을 포함할 수 있다. 일 실시예에 따르면, 카메라부(1100)는 복수의 렌즈 어셈블리(1110)들을 포함할 수 있다. 이런 경우, 카메라부(1100)는, 예를 들면, 듀얼 카메라, 360도 카메라, 또는 구형 카메라(spherical camera)를 형성할 수 있다. 복수의 렌즈 어셈블리(1110)들 중 일부는 동일한 렌즈 속성(예: 화각, 초점 거리, 자동 초점, f 넘버(f number), 또는 광학 줌)을 갖거나, 또는 적어도 하나의 렌즈 어셈블리는 다른 렌즈 어셈블리의 렌즈 속성들과 다른 하나 이상의 렌즈 속성들을 가질 수 있다. 렌즈 어셈블리(1110)는, 예를 들면, 광각 렌즈 또는 망원 렌즈를 포함할 수 있다.Referring to FIG. 3 , the camera unit 1100 includes a lens assembly 1110 , a flash 1120 , an image sensor 1130 , an image stabilizer 1140 , a memory 1150 (eg, a buffer memory), or an image signal processor. (1160) may be included. The lens assembly 1110 may collect light emitted from a subject, which is an image capturing object. The lens assembly 1110 may include one or more lenses. According to an embodiment, the camera unit 1100 may include a plurality of lens assemblies 1110 . In this case, the camera unit 1100 may form, for example, a dual camera, a 360 degree camera, or a spherical camera. Some of the plurality of lens assemblies 1110 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 1110 may include, for example, a wide-angle lens or a telephoto lens.
플래쉬(1120)는 피사체로부터 방출 또는 반사되는 빛을 강화하기 위하여 사용되는 빛을 방출할 수 있다. 일 실시예에 따르면, 플래쉬(1120)는 하나 이상의 발광 다이오드들(예: RGB(red-green-blue) LED, white LED, infrared LED, 또는 ultraviolet LED), 또는 제논 램프(xenon lamp)를 포함할 수 있다. 이미지 센서(1130)는 피사체로부터 방출 또는 반사되어 렌즈 어셈블리(1110)를 통해 전달된 빛을 전기적인 신호로 변환함으로써, 상기 피사체에 대응하는 이미지를 획득할 수 있다. 일 실시예에 따르면, 이미지 센서(1130)는, 예를 들면, RGB 센서, BW(black and white) 센서, IR 센서, 또는 UV 센서와 같이 속성이 다른 이미지 센서들 중 선택된 하나의 이미지 센서, 동일한 속성을 갖는 복수의 이미지 센서들, 또는 다른 속성을 갖는 복수의 이미지 센서들을 포함할 수 있다. 이미지 센서(1130)에 포함된 각각의 이미지 센서는, 예를 들면, CCD(charged coupled device) 센서 또는 CMOS(complementary metal oxide semiconductor) 센서를 이용하여 구현될 수 있다.The flash 1120 may emit light used to enhance light emitted or reflected from the subject. According to an embodiment, the flash 1120 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. can The image sensor 1130 may acquire an image corresponding to the subject by converting light emitted or reflected from the subject and transmitted through the lens assembly 1110 into an electrical signal. According to an embodiment, the image sensor 1130 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 properties, or a plurality of image sensors having different properties. Each image sensor included in the image sensor 1130 may be implemented using, for example, a charged coupled device (CCD) sensor or a complementary metal oxide semiconductor (CMOS) sensor.
이미지 스태빌라이저(1140)는 카메라부(1100) 또는 이를 포함하는 전자 장치(1000)의 움직임에 반응하여, 렌즈 어셈블리(1110)에 포함된 적어도 하나의 렌즈 또는 이미지 센서(1130)를 특정한 방향으로 움직이거나 이미지 센서(1130)의 동작 특성을 제어(예: 리드 아웃(read-out) 타이밍을 조정 등)할 수 있다. 이는 촬영되는 이미지에 대한 상기 움직임에 의한 부정적인 영향의 적어도 일부를 보상하게 해 준다. 일 실시예에 따르면, 이미지 스태빌라이저(1140)는 카메라부(1100)의 내부 또는 외부에 배치된 자이로 센서(미도시) 또는 가속도 센서(미도시)를 이용하여 카메라부(1100) 또는 전자 장치(1000)의 움직임을 감지할 수 있다. 이미지 스태빌라이저(1140)는, 예를 들면, 광학식 이미지 스태빌라이저로 구현될 수 있다. 메모리(1150)는 이미지 센서(1130)를 통하여 획득된 이미지의 적어도 일부를 다음 이미지 처리 작업을 위하여 적어도 일시 저장할 수 있다. 예를 들어, 셔터에 따른 이미지 획득이 지연되거나, 또는 복수의 이미지들이 고속으로 획득되는 경우, 획득된 원본 이미지(예: 베이어 패턴의(Bayer-patterned) 이미지 또는 높은 해상도의 이미지)는 메모리(1150)에 저장이 되고, 그에 대응하는 사본 이미지(예: 낮은 해상도의 이미지)는 디스플레이부(1700)를 통하여 프리뷰 될 수 있다. 이후, 지정된 조건이 만족되면(예: 사용자 입력 또는 시스템 명령) 메모리(1150)에 저장되었던 원본 이미지의 적어도 일부가, 예를 들면, 이미지 시그널 프로세서(1160)에 의해 획득되어 처리될 수 있다. 일 실시예에 따르면, 메모리(1150)는 저장부(1500)의 적어도 일부로, 또는 이와는 독립적으로 운영되는 별도의 메모리로 구성될 수 있다.In response to the movement of the camera unit 1100 or the electronic device 1000 including the same, the image stabilizer 1140 moves at least one lens or the image sensor 1130 included in the lens assembly 1110 in a specific direction or Operation characteristics of the image sensor 1130 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 1140 uses a gyro sensor (not shown) or an acceleration sensor (not shown) disposed inside or outside the camera unit 1100 to the camera unit 1100 or the electronic device 1000 . ) can be detected. The image stabilizer 1140 may be implemented as, for example, an optical image stabilizer. The memory 1150 may temporarily store at least a portion of the image acquired through the image sensor 1130 for the 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, a Bayer-patterned image or a high-resolution image) is stored in the memory 1150 ), and a corresponding copy image (eg, a low-resolution image) may be previewed through the display unit 1700 . 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 1150 may be acquired and processed by, for example, the image signal processor 1160 . According to an embodiment, the memory 1150 may be configured as at least a part of the storage unit 1500 or as a separate memory operated independently of the memory unit 1500 .
이미지 시그널 프로세서(1160)는 이미지 센서(1130)를 통하여 획득된 이미지 또는 메모리(1150)에 저장된 이미지에 대하여 하나 이상의 이미지 처리들을 수행할 수 있다. 상기 하나 이상의 이미지 처리들은, 예를 들면, 깊이 지도(depth map) 생성, 3차원 모델링, 파노라마 생성, 특징점 추출, 이미지 합성, 또는 이미지 보상(예: 노이즈 감소, 해상도 조정, 밝기 조정, 블러링(blurring), 샤프닝(sharpening), 또는 소프트닝(softening)을 포함할 수 있다. 추가적으로 또는 대체적으로, 이미지 시그널 프로세서(1160)는 카메라부(1100)에 포함된 구성 요소들 중 적어도 하나(예: 이미지 센서(1130))에 대한 제어(예: 노출 시간 제어, 또는 리드 아웃 타이밍 제어 등)를 수행할 수 있다. 이미지 시그널 프로세서(1160)에 의해 처리된 이미지는 추가 처리를 위하여 메모리(1150)에 다시 저장 되거나 카메라부(1100)의 외부 구성 요소(예를 들어, 프로세서(1300), 저장부(1500), 또는 디스플레이부(1700))로 제공될 수 있다. 일 실시예에 따르면, 이미지 시그널 프로세서(1160)는 프로세서(1300)의 적어도 일부로 구성되거나, 프로세서(1300)와 독립적으로 운영되는 별도의 프로세서로 구성될 수 있다. 이미지 시그널 프로세서(1160)가 프로세서(1300)와 별도의 프로세서로 구성된 경우, 이미지 시그널 프로세서(1160)에 의해 처리된 적어도 하나의 이미지는 프로세서(1300)에 의하여 그대로 또는 추가의 이미지 처리를 거친 후 디스플레이부(1700)를 통해 표시될 수 있다. The image signal processor 1160 may perform one or more image processing on an image acquired through the image sensor 1130 or an image stored in the memory 1150 . The one or more image processes may include, for example, depth map generation, 3D 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 1160 may include at least one of the components included in the camera unit 1100 (eg, an image sensor). 1130), for example, exposure time control, readout timing control, etc. The image processed by the image signal processor 1160 is stored back in the memory 1150 for further processing. or may be provided as an external component (eg, the processor 1300, the storage 1500, or the display unit 1700) of the camera unit 1100. According to an embodiment, the image signal processor 1160 ) may be configured as at least a part of the processor 1300 or as a separate processor operated independently of the processor 1300. When the image signal processor 1160 is configured with the processor 1300 and a separate processor, the image At least one image processed by the signal processor 1160 may be displayed through the display unit 1700 as it is or after additional image processing is performed by the processor 1300 .
일 실시예에서, 전자 장치(1000)는 각각 다른 속성 또는 기능을 가진 복수의 카메라부(1100)들을 포함할 수 있다. 이런 경우, 예를 들면, 상기 복수의 카메라부(1100)들 중 적어도 하나는 광각 카메라이고, 적어도 다른 하나는 망원 카메라일 수 있다. 유사하게, 상기 복수의 카메라부(1100)들 중 적어도 하나는 전면 카메라이고, 적어도 다른 하나는 후면 카메라일 수 있다.In an embodiment, the electronic device 1000 may include a plurality of camera units 1100 each having different properties or functions. In this case, for example, at least one of the plurality of camera units 1100 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 units 1100 may be a front camera, and at least the other may be a rear camera.
도 4는 본 개시의 일 실시예에 따른 오토포커스를 보상하는 방법의 흐름도이다.4 is a flowchart of a method for compensating for autofocus according to an embodiment of the present disclosure.
본 개시의 일 실시예에 따른 오토포커스를 보상하는 방법은, 입력 이미지로부터 복수의 파티션 블록을 생성할 수 있다. 복수의 파티션 블록은 각각 입력 이미지의 적어도 일부에 해당할 수 있다. 일 실시예에서, 특정 파티션 블록은 이웃하는 파티션 블록과 접할 수도 있고, 특정 파티션 블록과 이웃하는 파티션 블록은 적어도 일부가 오버랩될 수 있다. 복수의 파티션 블록에는 복수의 샘플(sample)들이 포함될 수 있다. 입력 이미지에 포함된 모든 샘플은 각각 적어도 하나의 파티션 블록에 포함될 수 있다.A method of compensating for autofocus according to an embodiment of the present disclosure may generate a plurality of partition blocks from an input image. Each of the plurality of partition blocks may correspond to at least a part of the input image. In an embodiment, a specific partition block may be in contact with a neighboring partition block, and at least a part of the specific partition block and the neighboring partition block may overlap. A plurality of partition blocks may include a plurality of samples. All samples included in the input image may be included in at least one partition block, respectively.
단계 S410에서, 입력 이미지로부터 생성된 복수의 파티션 블록 중 현재 파티션 블록에 대응되는 점확산함수(point spread function, PSF)를 획득할 수 있다. 특정 파티션 블록에 대응되는 점확산함수(PSF)는, 해당 파티션 블록에 포함된 점 개체(point object)들에 적용되는 이미징 임펄스 응답을 나타낼 수 있다. 파티션 블록에 대응되는 점확산함수(PSF)를 획득하는 동작은, 파티션 블록 별로 기 설정된 점확산함수(PSF)를 획득하거나, 인공 신경망(artificial neural network)을 통해 계산된 점확산함수(PSF)를 획득하는 동작을 포함할 수 있다.In operation S410, a point spread function (PSF) corresponding to the current partition block among a plurality of partition blocks generated from the input image may be obtained. A point spread function (PSF) corresponding to a specific partition block may represent an imaging impulse response applied to point objects included in the corresponding partition block. The operation of obtaining the point spread function (PSF) corresponding to the partition block is to obtain a preset point spread function (PSF) for each partition block, or to obtain a point spread function (PSF) calculated through an artificial neural network. It may include an operation to acquire.
단계 S420에서, 파티션 블록에 포함된 블러(blur)를 제거하기 위해, 획득된 점확산함수를 이용하여 파티션 블록을 필터링할 수 있다. 예를 들어, 현재 파티션 블록에 포함된 블러를 제거하기 위해, 현재 파티션 블록에 대응하도록 획득된 점확산함수를 이용하여 현재 파티션 블록을 필터링할 수 있다. 일 실시예에서, 필터링 동작에는 디컨볼루션 필터(deconvolution filter)가 적용될 수 있고, 디컨볼루션 필터는 주파수 도메인 상의 위너 필터의 형태이거나 또는 공간 도메인 상의 위너 필터의 형태일 수 있다. 일 실시예에서, 필터링 동작에서 연산에 할당되는 컴퓨팅 리소스(computing resource)를 줄이기 위해, 공간 도메인 상의 위너 필터만을 이용하거나, 전자 장치의 연산 로드(load)에 기초하여 푸리에 도메인(주파수 도메인) 상의 위너 필터 또는 공간 도메인 상의 위너 필터를 선택적으로 이용할 수도 있다. 일 실시예에서, 위너 필터(Wiener filter)는 필터 생성시 이용되는 점확산함수 H(f)의 차원에 따라 결정된, 1차원 방향성 필터이거나 2차원 방향성 필터일 수 있다. 일 실시예에서, 획득된 점확산함수(PSF)를 이용하여 파티션 블록을 필터링하는 동작은, 룩업 테이블(lookup table)을 이용해 점확산함수로부터 위너 필터를 획득하고, 획득된 위너 필터를 이용해 파티션 블록을 필터링하는 동작을 더 포함할 수도 있다.In step S420 , in order to remove blur included in the partition block, the partition block may be filtered using the obtained point spread function. For example, in order to remove blur included in the current partition block, the current partition block may be filtered using a point spread function obtained to correspond to the current partition block. In an embodiment, a deconvolution filter may be applied to the filtering operation, and the deconvolution filter may be in the form of a Wiener filter in the frequency domain or in the form of a Wiener filter in the spatial domain. In an embodiment, in order to reduce a computing resource allocated to an operation in a filtering operation, only a winner filter on the spatial domain is used, or a winner on the Fourier domain (frequency domain) based on the computational load of the electronic device. A filter or a Wiener filter on the spatial domain may be selectively used. In an embodiment, the Wiener filter may be a one-dimensional directional filter or a two-dimensional directional filter determined according to the dimension of the point spread function H(f) used when generating the filter. In an embodiment, the filtering of the partition block using the obtained point spread function (PSF) includes obtaining a Wiener filter from the point spread function using a lookup table, and using the obtained Wiener filter to filter the partition block. It may further include the operation of filtering.
단계 S430에서, 필터링된 파티션 블록에 포함된 오버슈트(overshoot)를 제거하기 위해, 필터링된 현재 파티션 블록 내에 포함된 샘플들을 임계값에 기초하여 후처리할 수 있다. 일 실시예에서, 디컨볼루션 필터를 이용하여 촬영된 이미지에 필터링 동작을 수행할 경우, 필터링된 이미지 내에 포함된 객체의 가장자리 또는 글씨의 가장자리 부분의 밝기가 과도하게 강화되는 오버슈트(overshoot) 현상이 발생할 수 있다. 일 실시예에서, 오버슈트를 제거하면서도, 이미지의 해상도를 유지하기 위해, 샘플들을 결정된 임계값에 기초하여 후처리할 수 있다. 예를 들어, 임계값은, 샘플의 비트 깊이(bit-depth)에 기초하여 결정되거나, 현재 샘플이 포함된 일정 영역의 샘플들의 표준편차(σ)에 기초하여 결정될 수 있다.In operation S430, in order to remove overshoot included in the filtered partition block, samples included in the filtered current partition block may be post-processed based on a threshold value. In an embodiment, when a filtering operation is performed on a photographed image using a deconvolution filter, an overshoot phenomenon in which the brightness of an edge of an object included in the filtered image or an edge of a text is excessively enhanced This can happen. In one embodiment, the samples may be post-processed based on the determined threshold to remove the overshoot while maintaining the resolution of the image. For example, the threshold value may be determined based on the bit-depth of the sample or may be determined based on the standard deviation (σ) of samples of a predetermined region including the current sample.
단계 S440에서, 후처리된 파티션 블록을 포함하는 출력 이미지를 생성할 수 있다. 일 실시예에서, 후처리된 샘플들을 포함하는 파티션 블록들을 융합함으로써, 오토포커스가 보상된 출력 이미지를 획득할 수 있다.In step S440, an output image including the post-processed partition block may be generated. In one embodiment, by fusing partition blocks containing post-processed samples, an autofocus compensated output image may be obtained.
도 5는 본 개시의 일 실시예에 따른 현재 파티션 블록(511)에 대응되는 점확산함수(PSF)(521)를 이용하여, 현재 파티션 블록(511)을 필터링하는 동작을 설명하기 위한 도면이다.FIG. 5 is a diagram for explaining an operation of filtering the current partition block 511 using a point spread function (PSF) 521 corresponding to the current partition block 511 according to an embodiment of the present disclosure.
도 5를 참조하면, 입력 이미지로부터 복수의 파티션 블록(510)을 생성할 수 있다. 복수의 파티션 블록(510)은 사각 그리드(grid)의 형태를 가질 수 있다. 복수의 파티션 블록(510)들 중 현재 파티션 블록(511)은 입력 이미지의 적어도 일부를 포함할 수 있고, 입력 이미지의 모든 샘플은 적어도 하나의 파티션 블록(511)에 포함될 수 있다.Referring to FIG. 5 , a plurality of partition blocks 510 may be generated from an input image. The plurality of partition blocks 510 may have a rectangular grid shape. A current partition block 511 among the plurality of partition blocks 510 may include at least a portion of the input image, and all samples of the input image may be included in at least one partition block 511 .
복수의 점확산함수(PSF)(520)들은 복수의 파티션 블록(510)에 대응될 수 있다. 일 실시예에서, 점확산함수(PSF)(520)들과 파티션 블록(510)들은 1대1 대응될 수 있다. 일 실시예에서, 하나의 점확산함수(PSF)(520)에 복수의 파티션 블록(510)들이 대응될 수도 있다.A plurality of point spread functions (PSFs) 520 may correspond to a plurality of partition blocks 510 . In an embodiment, the point spread functions (PSFs) 520 and the partition blocks 510 may have a one-to-one correspondence. In an embodiment, a plurality of partition blocks 510 may correspond to one point spread function (PSF) 520 .
도 5를 참조하면, 예를 들어 입력 이미지가 25개의 파티션 블록(510)들로 분할된 경우, 점확산함수(520) 또한 복수의 파티션 블록(510)들에 대응되도록 25개가 생성될 수 있다. 특정 점확산함수(521)는 대응되는 파티션 블록(511) 내의 모든 샘플에 적용될 수 있다. 예를 들어, 제1 파티션 블록(511)에 제1 점확산함수(521)가 대응되는 경우, 제1 파티션 블록(511) 내에 위치한 모든 샘플에는 제1 점확산함수(521)가 적용될 수 있다.Referring to FIG. 5 , for example, when an input image is divided into 25 partition blocks 510 , 25 point spread functions 520 may also be generated to correspond to the plurality of partition blocks 510 . A specific point spread function 521 may be applied to all samples in the corresponding partition block 511 . For example, when the first point spread function 521 corresponds to the first partition block 511 , the first point spread function 521 may be applied to all samples located in the first partition block 511 .
따라서, 복수의 파티션 블록(510)에 대응되는 점확산함수(520)들을 이용하여, 복수의 파티션 블록(510)을 필터링할 수 있고, 필터링된 복수의 파티션 블록들로부터, 필터링된 이미지(530)를 획득할 수 있다.Accordingly, the plurality of partition blocks 510 may be filtered using the point spread functions 520 corresponding to the plurality of partition blocks 510 , and the filtered image 530 may be obtained from the plurality of partition blocks. can be obtained.
도 6은 본 개시의 일 실시예에 따른 파티션 블록에 대응되는 점확산함수(PSF)를 설명하기 위한 도면이다.6 is a diagram for explaining a point spread function (PSF) corresponding to a partition block according to an embodiment of the present disclosure.
도 6을 참조하면, 근거리 촬영 시, 초점(F)의 주위로 방사형의 블러(blur)가 형성될 수 있고, 초점(F)으로부터의 거리가 멀수록, 블러의 정도가 심해질 수 있다. 예를 들어, 초점으로부터 좌측 상단의 제1 지점(60a)에서는 이미지 개체(image object)가 좌측 상단으로 그림자가 지듯이 블러가 형성되는 것을 볼 수 있고, 초점으로부터 우측 상단의 제2 지점(60b)에서는 이미지 개체가 우측 상단으로 그림자가 지듯이 블러가 형성되는 것을 볼 수 있다. 또한, 초점으로부터 우측 하단의 제3 지점(60c)에서는 이미지 개체가 좌측 상단으로 그림자가 지듯이 블러가 형성되는 것을 볼 수 있고, 초점으로부터 좌측 하단의 제4 지점(60d)에서는 이미지 개체가 좌측 하단으로 그림자가 지듯이 블러가 형성되는 것을 볼 수 있다.Referring to FIG. 6 , a radial blur may be formed around a focal point F during short-distance imaging, and the greater the distance from the focal point F, the greater the degree of blur. For example, at the first point 60a at the upper left from the focus, it can be seen that blur is formed as if an image object is shadowed to the upper left, and at the second point 60b at the upper right from the focus. You can see the blur is formed as the image object is shadowed to the upper right corner. In addition, at the third point 60c at the lower right from the focus, blur is formed as if the image object is shadowed to the upper left, and at the fourth point 60d at the lower left from the focus, the image object moves to the lower left. You can see the blur forming like a shadow.
제3 지점(60c) 및 제4 지점(60d)을 참조하면, 초점(F)으로부터의 직선 거리가 보다 먼 제4 지점(60d)의 경우가, 제3 지점(60c)의 경우에 비해 블러가 크게 일어난 것을 볼 수 있다.Referring to the third point 60c and the fourth point 60d, in the case of the fourth point 60d having a longer linear distance from the focal point F, the blur is higher than in the case of the third point 60c. You can see the big thing happened.
이와 같이, 초점(F)으로부터의 거리 및 방향에 따라 블러의 정도가 다르게 형성되므로, 촬영된 이미지에 포함된 블러를 제거하기 위해 필터링 동작에서 이용되는 점확산함수(PSF) 또한, 초점(F)으로부터의 거리 및 방향에 따라 다르게 설정될 수 있다.As such, since the degree of blur is formed differently depending on the distance and direction from the focus (F), the point spread function (PSF) used in the filtering operation to remove the blur included in the photographed image and the focus (F) It may be set differently depending on the distance and direction from the .
도 7은 본 개시의 일 실시예에 따른 후처리 동작에서 임계값을 결정하는 동작을 설명하기 위한 도면이다.7 is a diagram for explaining an operation of determining a threshold value in a post-processing operation according to an embodiment of the present disclosure.
도 7을 참조하면, 일 실시예에서 임계값은, 후처리 동작을 수행하고자 하는 현재 샘플(75)이 포함된 일정 영역(73)에 포함된 샘플들의 표준편차(σ)에 기초하여 결정될 수 있다. 예를 들어, 영역(73)이 MxN 개의 픽셀들을 가지고, 영역(73)에 포함된 M*N 개의 샘플들의 값에 대한 표준편차가 σ일 수 있다. 이 경우, 표준편차 σ를 임계값(TH)으로 결정할 수 있다.Referring to FIG. 7 , in an embodiment, the threshold value may be determined based on the standard deviation (σ) of samples included in a predetermined region 73 including a current sample 75 to be subjected to a post-processing operation. . For example, the region 73 may have M×N pixels, and the standard deviation of the values of the M*N samples included in the region 73 may be σ. In this case, the standard deviation σ may be determined as the threshold value TH.
일 실시예에서, 영역(73) 내에 포함된 샘플들에 대한 표준편차(σ)에, 스케일 인자(α)와 오프셋 인자(β)를 적용한 값 'α*σ + β'를 임계값(TH)로 설정할 수도 있다.In one embodiment, a value 'α*σ + β' obtained by applying a scale factor (α) and an offset factor (β) to the standard deviation (σ) for samples included in the region 73 is a threshold value (TH) can also be set to
일 실시예에서, 특정 샘플(75)이 포함된 일정 영역(73) 내에 포함된 샘플들에 대한 표준편차(σ), 및 특정 샘플(75)의 오리지널 값 O(x,y)와 필터링 동작 이후의 값 D(x,y)의 차이(δ)에 기초하여 임계값(TH)을 결정할 수도 있다. 예를 들어, 표준편차(σ) 및 차이(δ)에 대해 가중치를 적용한 가중합 'w*σ+(1-w)*δ'을 임계값(TH)으로 결정할 수도 있다. 여기서 가중치(w)는 0과 1사이의 임의의 값을 가질 수 있다.In one embodiment, after the filtering operation with the standard deviation (σ) for samples included in the predetermined region 73 including the specific sample 75 and the original value O(x,y) of the specific sample 75 , The threshold value TH may be determined based on the difference δ between the values D(x,y) of . For example, a weighted sum 'w*σ+(1-w)*δ' in which a weight is applied to the standard deviation (σ) and the difference (δ) may be determined as the threshold value (TH). Here, the weight w may have an arbitrary value between 0 and 1.
도 8은 본 개시의 일 실시예에 따른 후처리 동작에서 임계값을 결정하는 다른 동작을 설명하기 위한 도면이다.8 is a diagram for explaining another operation of determining a threshold value in a post-processing operation according to an embodiment of the present disclosure.
도 8을 참조하면, 일 실시예에서 임계값은, 후처리 동작을 수행하고자 하는 현재 샘플(85)이 포함된 일정 영역(83)에 포함된 샘플들 중 일부 샘플의 표준편차(σ)에 기초하여 결정될 수 있다. 예를 들어, 현재 샘플(85)이 포함된 일정 영역(83)의 네 개의 코너 샘플들(83a, 83b, 83c, 83d)만을 이용해 표준편차(σ)를 계산한 후, 계산된 표준편차(σ)를 임계값(TH)으로 결정할 수도 있다.Referring to FIG. 8 , in an embodiment, the threshold value is based on the standard deviation (σ) of some samples among samples included in a predetermined region 83 including a current sample 85 to be subjected to a post-processing operation. can be determined by For example, after calculating the standard deviation σ using only the four corner samples 83a , 83b , 83c , and 83d of the predetermined region 83 including the current sample 85 , the calculated standard deviation σ ) may be determined as the threshold value TH.
일 실시예에서, 후처리 동작을 위한 임계값은, 샘플의 비트 깊이(bit-depth), 및 현재 샘플이 포함된 일정 영역에 포함된 샘플들의 표준편차에 기초하여 결정될 수도 있다. 예를 들어, 일 실시예에서, 임계값 결정 동작은 아래의 표 2와 같은 Pseudo 코드로 표현될 수도 있다.In an embodiment, the threshold value for the post-processing operation may be determined based on a bit-depth of a sample and a standard deviation of samples included in a predetermined region including the current sample. For example, in one embodiment, the operation of determining the threshold value may be expressed as a pseudo code as shown in Table 2 below.
여기서, O(x,y)는 특정 샘플의 오리지널 값이고, D(x,y)는 특정 샘플의 디컨볼루션 필터링 동작 이후의 값이고, bit_depth는 샘플의 비트 깊이이고, M은 샘플의 비트 깊이보다 작거나 같은 임의의 정수이고, A, B, C, 및 D는 특정 샘플(85)이 포함된 일정 영역(83)의 네 개의 코너 샘플들(83a, 83b, 83c, 83d)의 값이다. w는 0과 1사이의 임의의 값을 가지는 가중치일 수 있다.Here, O(x,y) is the original value of the specific sample, D(x,y) is the value after the deconvolution filtering operation of the specific sample, bit_depth is the bit depth of the sample, and M is the bit depth of the sample It is an arbitrary integer less than or equal to, and A, B, C, and D are values of the four corner samples 83a , 83b , 83c , and 83d of the predetermined area 83 including the specific sample 85 . w may be a weight having an arbitrary value between 0 and 1.
표 2를 참조하면, 특정 샘플(x, y)의 오리지널 값 O(x, y)와 디컨볼루션 필터링된 샘플값 D(x, y)의 차이 δ를 계산할 수 있다.Referring to Table 2, the difference δ between the original value O(x, y) of a specific sample (x, y) and the deconvolution-filtered sample value D(x, y) may be calculated.
제2 임계값(TH2)은, 샘플의 비트 깊이(bit_depth)에 기초하여 결정될 수 있다. 예를 들어, 샘플의 비트 깊이가 N 비트인 경우, bit_depth 는 N이 될 수 있고, M은 N보다 작거나 같은 임의의 정수일 수 있다. 이 때, 제2 임계값(TH2)은 2(N-M)으로 결정될 수 있다.The second threshold value TH2 may be determined based on the bit depth (bit_depth) of the sample. For example, when the bit depth of the sample is N bits, bit_depth may be N, and M may be any integer less than or equal to N. In this case, the second threshold value TH2 may be determined to be 2 (NM).
제1 임계값(TH1)은, 현재 샘플(x, y)이 포함된 일정 영역에 포함된 샘플들(A, B, C, D)의 표준편차에 기초하여 결정될 수 있다. 예를 들어, 샘플들(A, B, C, D)의 평균값(Avg)을 계산하고, 그로부터 샘플들(A, B, C, D)의 표준편차(σ)를 계산할 수 있다. 표 2를 참조하면, 표준편차 σ가 앞서 구한 차이값 δ의 절대치보다 작을 경우, 제1 임계값(TH1)은 표준편차 σ 및 차이값 δ에 대해 가중치를 적용한 가중합 'w*σ+(1-w)*δ'으로 결정될 수 있다. 그 밖의 경우, 즉, 표준편차 σ가 차이값 δ의 절대치보다 크거나 같을 경우, 제1 임계값(TH1)은 표준편차 σ로 결정될 수 있다.The first threshold value TH1 may be determined based on standard deviations of samples A, B, C, and D included in a predetermined region including the current sample x and y. For example, the average value Avg of the samples A, B, C, and D may be calculated, and the standard deviation σ of the samples A, B, C, and D may be calculated therefrom. Referring to Table 2, when the standard deviation σ is smaller than the absolute value of the difference value δ obtained above, the first threshold value TH1 is the weighted sum 'w*σ+(1) -w)*δ'. In other cases, that is, when the standard deviation σ is greater than or equal to the absolute value of the difference value δ, the first threshold value TH1 may be determined as the standard deviation σ.
이후, 후처리 동작을 위한 최종 임계값(TH)은, 샘플의 비트 깊이(bit_depth)에 기초하여 결정된 제2 임계값(TH2) 및 적어도 하나의 샘플들의 표준편차(σ)에 기초하여 결정된 제1 임계값(TH1)으로부터 결정될 수 있다. 표 2를 참조하면, 일 실시예에서, 제1 임계값(TH1)이 제2 임계값(TH2)보다 큰 경우 최종 임계값(TH)은 제2 임계값(TH2)으로 결정될 수 있고, 그 밖의 경우 최종 임계값(TH)은 제1 임계값(TH1)으로 결정될 수 있다.Thereafter, the final threshold value TH for the post-processing operation is a second threshold value TH2 determined based on a bit_depth of a sample and a first threshold value determined based on a standard deviation σ of at least one sample. It may be determined from the threshold value TH1. Referring to Table 2, in an embodiment, when the first threshold value TH1 is greater than the second threshold value TH2, the final threshold value TH may be determined as the second threshold value TH2. In this case, the final threshold value TH may be determined as the first threshold value TH1.
결정된 최종 임계값(TH)은 샘플의 후처리 동작에 이용될 수 있다. 예를 들어, 샘플(x, y)의 오리지널 값 O(x, y)와 디컨볼루션 필터링된 샘플값 D(x, y)의 차이 δ를 결정된 최종 임계값(TH) 내로 조정할 수 있다.The determined final threshold TH may be used for post-processing of the sample. For example, the difference δ between the original value O(x, y) of the sample (x, y) and the deconvolution-filtered sample value D(x, y) may be adjusted within the determined final threshold value TH.
한편, 임계값의 결정은 전술한 방법들로 한정되는 것은 아니며, 샘플들의 분산값, 평균값, 최대값 등을 이용해 결정될 수도 있다.Meanwhile, the determination of the threshold value is not limited to the above-described methods, and may be determined using a variance value, an average value, a maximum value, and the like of samples.
도 9 및 도 10은 본 개시의 일 실시예에 따른 오토포커스를 보상하는 방법을 적용하여 입력 이미지의 오토포커스를 보상한 결과를 도시한 도면이다.9 and 10 are diagrams illustrating a result of compensating for autofocus of an input image by applying a method of compensating for autofocus according to an embodiment of the present disclosure.
도 9는 촬영된 이미지의 우측단을 확대한 모습을 나타낸다. 도 9를 참조하면, 입력 이미지(90)의 제1 부분(90a) 및 제2 부분(90b)에 포함된 우측 방향 블러가, 출력 이미지(95)의 제1 부분(95a) 및 제2 부분(95b)에서 각각 제거된 것을 볼 수 있다.9 shows an enlarged view of the right end of the photographed image. Referring to FIG. 9 , the right-direction blur included in the first portion 90a and the second portion 90b of the input image 90 results in the first portion 95a and the second portion ( 95b), it can be seen that each was removed.
도 10은 촬영된 이미지의 좌측 상단을 확대한 모습을 나타낸다. 도 10을 참조하면, 입력 이미지(100)의 제1 부분(100a), 제2 부분(100b), 제3 부분(100c), 및 제4 부분(100d)에 포함된 좌측 상측 방향 블러가, 출력 이미지(105)의 제1 부분(105a), 제2 부분(105b), 제3 부분(105c), 및 제4 부분(105d)들에서 각각 제거된 것을 볼 수 있다.10 shows an enlarged view of the upper left corner of the photographed image. Referring to FIG. 10 , the upper left blur included in the first portion 100a , the second portion 100b , the third portion 100c , and the fourth portion 100d of the input image 100 is output It can be seen that the first portion 105a , the second portion 105b , the third portion 105c , and the fourth portion 105d of the image 105 have been removed, respectively.
이와 같이, 본 개시의 일 실시예에 따르면, 촬영된 이미지를 구성하는 영역들의 블러 레벨에 따라 촬영된 이미지의 블러를 제거하여 실제 이미지를 복원할 수 있다. 또한, 디컨볼루션(deconvolution) 필터링 동작에서 발생한 오버슈트(overshoot)를 보정하기 위한 후처리 동작을 수행함으로써, 이미지의 해상도를 유지하면서도 링 현상(ring effect) 등의 결함(artifact)을 경감시킬 수 있다.As such, according to an embodiment of the present disclosure, the actual image may be restored by removing the blur of the photographed image according to the blur levels of regions constituting the photographed image. In addition, by performing a post-processing operation to correct an overshoot occurring in a deconvolution filtering operation, artifacts such as a ring effect can be reduced while maintaining the image resolution. have.
본 개시의 일 실시예에 따른 오토포커스를 보상하는 방법 또는 오토포커스를 보상하는 전자 장치에 있어서, 파티션 블록을 필터링하는 동작 또는 필터링된 파티션 블록 내에 포함된 샘플들을 임계값에 기초하여 후처리하는 동작은, Y채널에 대하여만 수행될 수도 있고, YUV 채널들 또는 RGB 채널들에 대해 모두 수행될 수도 있다.In the method for compensating for autofocus or the electronic device for compensating for autofocus according to an embodiment of the present disclosure, the operation of filtering a partition block or post-processing samples included in the filtered partition block based on a threshold value , may be performed only for the Y channel, or may be performed for both YUV channels or RGB channels.
본 개시의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 또는 프로그램 모듈과 같은 변조된 데이터 신호의 기타 데이터를 포함할 수 있다.An embodiment of the present disclosure may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Additionally, computer-readable media may include computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media may typically include computer readable instructions, data structures, or other data in a modulated data signal such as program modules.
또한, 컴퓨터에 의해 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 나타낼 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.In addition, the computer-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory storage medium' is a tangible device and only indicates that it does not contain a signal (eg, electromagnetic wave). It does not distinguish between storage cases. For example, the 'non-transitory storage medium' may include a buffer in which data is temporarily stored.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to an embodiment, 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 is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play Store™) or on two user devices (eg, It can be distributed (eg downloaded or uploaded) directly or online between smartphones (eg: smartphones). In the case of online distribution, at least a portion of the computer program product (eg, a downloadable app) is stored at least on a machine-readable storage medium, such as a memory of a manufacturer's server, a server of an application store, or a relay server. It may be temporarily stored or temporarily created.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The description of the present disclosure described above is for illustration, and those of ordinary skill in the art to which the present disclosure pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present disclosure. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a dispersed form, and likewise components described as distributed may also be implemented in a combined form.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present disclosure is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present disclosure. do.
Claims (15)
- 전자 장치가 오토포커스를 보상하는 방법에 있어서,A method for an electronic device to compensate for autofocus, the method comprising:입력 이미지로부터 생성된 복수의 파티션 블록 중 현재 파티션 블록에 대응되는 점확산함수(point spread function, PSF)를 획득하는 단계;obtaining a point spread function (PSF) corresponding to a current partition block among a plurality of partition blocks generated from an input image;상기 현재 파티션 블록에 포함된 블러(blur)를 제거하기 위해, 상기 점확산함수를 이용하여 상기 현재 파티션 블록을 필터링하는 단계;filtering the current partition block using the point spread function to remove blur included in the current partition block;상기 필터링된 현재 파티션 블록에 포함된 오버슈트(overshoot)를 제거하기 위해, 상기 필터링된 현재 파티션 블록 내에 포함된 샘플들을 임계값에 기초하여 후처리하는 단계; 및post-processing samples included in the filtered current partition block based on a threshold value to remove overshoot included in the filtered current partition block; and상기 후처리된 현재 파티션 블록을 포함하는 출력 이미지를 생성하는 단계를 포함하는, 방법.generating an output image comprising the post-processed current partition block.
- 제1항에 있어서,According to claim 1,상기 획득된 점확산함수를 이용하여, 상기 현재 파티션 블록을 필터링하는 단계는,Filtering the current partition block using the obtained point spread function comprises:상기 획득된 점확산함수로부터 위너 필터(Wiener filter)를 획득하는 단계; 및obtaining a Wiener filter from the obtained point spread function; and상기 획득된 위너 필터를 이용하여, 상기 현재 파티션 블록을 필터링하는 단계를 포함하는, 방법.Filtering the current partition block by using the obtained Wiener filter.
- 제2항에 있어서,3. The method of claim 2,상기 위너 필터는 공간 도메인(spatial domain) 상의 위너 필터인, 방법.wherein the Wiener filter is a Wiener filter in a spatial domain.
- 제3항에 있어서, 상기 공간 도메인 상의 위너 필터는,The method of claim 3, wherein the Wiener filter on the spatial domain comprises:푸리에 도메인(Fourier domain) 상의 위너 필터를 푸리에 역변환(Fourier inverse transform)하고, 상기 푸리에 역변환된 위너 필터의 계수에서 기 설정된 강도(intensity) 이하의 값은 제거함으로써 획득되는, 방법.A method, obtained by performing a Fourier inverse transform on a Wiener filter on a Fourier domain, and removing a value less than or equal to a preset intensity from the coefficients of the inverse Fourier transform Wiener filter.
- 제2항에 있어서,3. The method of claim 2,상기 위너 필터를 획득하는 단계는, 푸리에 도메인(Fourier domain) 상의 위너 필터 및 공간 도메인(spatial domain) 상의 위너 필터를 획득하는 단계를 포함하고,The obtaining the Wiener filter includes obtaining a Wiener filter on a Fourier domain and a Wiener filter on a spatial domain,상기 획득된 위너 필터를 이용하여, 상기 현재 파티션 블록을 필터링하는 단계는,Filtering the current partition block using the obtained Wiener filter includes:상기 획득된 푸리에 도메인 상의 위너 필터 또는 공간 도메인 상의 위너 필터를 선택하는 단계; 및selecting the obtained Wiener filter on the Fourier domain or the Wiener filter on the spatial domain; and상기 선택된 위너 필터를 이용하여, 상기 현재 파티션 블록을 필터링하는 단계를 포함하는, 방법.and filtering the current partition block using the selected Wiener filter.
- 제2항에 있어서, 상기 위너 필터(Wiener filter)가 1차원 방향성 필터인 경우,The method of claim 2, wherein when the Wiener filter is a one-dimensional directional filter,상기 획득된 점확산함수로부터 위너 필터를 획득하는 단계는, 룩업 테이블(lookup table)을 이용해 상기 위너 필터의 필터 계수를 획득하는 단계를 포함하는, 방법.The obtaining of the Wiener filter from the obtained point spread function includes obtaining filter coefficients of the Wiener filter using a lookup table.
- 제1항에 있어서,According to claim 1,상기 임계값은, 샘플의 비트 깊이(bit-depth), 및 현재 샘플이 포함된 일정 영역의 샘플들의 표준편차 중 적어도 하나에 기초하여 결정되는, 방법.The threshold value is determined based on at least one of a bit-depth of a sample and a standard deviation of samples of a predetermined region including the current sample.
- 오토포커스를 보상하는 전자 장치에 있어서,An electronic device for compensating for autofocus, comprising:입력 이미지를 획득하는 카메라부;a camera unit for acquiring an input image;출력 이미지를 출력하는 디스플레이부;a display unit for outputting an output image;적어도 하나의 명령어(instruction)를 포함하는 프로그램을 저장하는 저장부; 및a storage unit for storing a program including at least one instruction; and상기 저장부에 저장된 적어도 하나의 명령어를 실행하는 적어도 하나의 프로세서를 포함하고,At least one processor for executing at least one instruction stored in the storage unit,상기 적어도 하나의 프로세서는,the at least one processor,상기 입력 이미지로부터 생성된 복수의 파티션 블록 중 현재 파티션 블록에 대응되는 점확산함수(point spread function, PSF)를 획득하고,obtaining a point spread function (PSF) corresponding to a current partition block among a plurality of partition blocks generated from the input image;상기 현재 파티션 블록에 포함된 블러(blur)를 제거하기 위해, 상기 점확산함수를 이용하여 상기 현재 파티션 블록을 필터링하고,Filtering the current partition block using the point spread function to remove blur included in the current partition block,상기 필터링된 현재 파티션 블록에 포함된 오버슈트(overshoot)를 제거하기 위해, 상기 필터링된 현재 파티션 블록 내에 포함된 샘플들을 임계값에 기초하여 후처리하고,In order to remove overshoot included in the filtered current partition block, samples included in the filtered current partition block are post-processed based on a threshold;상기 후처리된 현재 파티션 블록을 포함하는 출력 이미지를 생성하는, 전자 장치.and generating an output image including the post-processed current partition block.
- 제8항에 있어서,9. The method of claim 8,상기 프로세서는 상기 적어도 하나의 명령어들을 실행하여,The processor executes the at least one instruction,상기 획득된 점확산함수로부터 위너 필터(Wiener filter)를 획득하고,obtaining a Wiener filter from the obtained point spread function,상기 획득된 위너 필터를 이용하여, 상기 현재 파티션 블록을 필터링하는, 전자 장치.and filtering the current partition block by using the obtained Wiener filter.
- 제9항에 있어서,10. The method of claim 9,상기 위너 필터는 공간 도메인(spatial domain) 상의 위너 필터인, 전자 장치.The electronic device of claim 1, wherein the Wiener filter is a Wiener filter in a spatial domain.
- 제10항에 있어서, 상기 공간 도메인 상의 위너 필터는,The method of claim 10, wherein the Wiener filter on the spatial domain comprises:푸리에 도메인(Fourier domain) 상의 위너 필터를 푸리에 역변환(Fourier inverse transform)하고, 상기 푸리에 역변환된 위너 필터의 계수에서 기 설정된 강도(intensity) 이하의 값은 제거함으로써 획득되는, 전자 장치.An electronic device obtained by performing a Fourier inverse transform on a Wiener filter in a Fourier domain, and removing values less than or equal to a preset intensity from coefficients of the inverse Fourier transform Wiener filter.
- 제9항에 있어서,10. The method of claim 9,상기 프로세서는 상기 적어도 하나의 명령어들을 실행하여,The processor executes the at least one instruction,푸리에 도메인(Fourier domain) 상의 위너 필터 및 공간 도메인(spatial domain) 상의 위너 필터를 획득하고,Obtaining a Wiener filter on a Fourier domain and a Wiener filter on a spatial domain,상기 획득된 푸리에 도메인 상의 위너 필터 또는 공간 도메인 상의 위너 필터를 선택하고,selecting the obtained Wiener filter on the Fourier domain or the Wiener filter on the spatial domain,상기 선택된 위너 필터를 이용하여, 상기 현재 파티션 블록을 필터링하는, 전자 장치.and filtering the current partition block by using the selected winner filter.
- 제9항에 있어서, 상기 위너 필터(Wiener filter)가 1차원 방향성 필터인 경우,The method of claim 9, wherein when the Wiener filter is a one-dimensional directional filter,상기 프로세서는 상기 적어도 하나의 명령어들을 실행하여,The processor executes the at least one instruction,룩업 테이블(lookup table)을 이용해, 상기 획득된 점확산함수로부터 상기 위너 필터의 필터 계수를 획득하는, 전자 장치.An electronic device for obtaining filter coefficients of the Wiener filter from the obtained point spread function using a lookup table.
- 제8항에 있어서, 상기 임계값은,The method of claim 8, wherein the threshold is샘플의 비트 깊이(bit-depth), 및 현재 샘플이 포함된 일정 영역의 샘플들의 표준편차 중 적어도 하나에 기초하여 결정되는, 전자 장치.The electronic device is determined based on at least one of a bit-depth of a sample and a standard deviation of samples of a predetermined region including the current sample.
- 제1항 내지 제7항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium in which a program for executing the method of any one of claims 1 to 7 on a computer is recorded.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0092547 | 2020-07-24 | ||
KR20200092547 | 2020-07-24 | ||
KR1020200173681A KR20220013290A (en) | 2020-07-24 | 2020-12-11 | Auto-focus compensation method and auto-focus compensation device |
KR10-2020-0173681 | 2020-12-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022019513A1 true WO2022019513A1 (en) | 2022-01-27 |
Family
ID=79729270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/008293 WO2022019513A1 (en) | 2020-07-24 | 2021-06-30 | Method for compensating autofocus and electronic device compensating autofocus |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2022019513A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110103205A (en) * | 2010-03-12 | 2011-09-20 | 삼성전자주식회사 | Image restoration device, image restoration method and image restoration system |
KR101341096B1 (en) * | 2007-09-12 | 2013-12-13 | 삼성전기주식회사 | apparatus and method for restoring image |
KR20160086897A (en) * | 2013-11-14 | 2016-07-20 | 케이엘에이-텐코 코포레이션 | Motion and focus blur removal from pattern images |
JP6562650B2 (en) * | 2015-02-17 | 2019-08-21 | キヤノン株式会社 | Image processing apparatus, imaging apparatus, image processing method, and image processing program |
KR20200050959A (en) * | 2017-09-05 | 2020-05-12 | 소니 주식회사 | Image processing device, image processing method, and program |
-
2021
- 2021-06-30 WO PCT/KR2021/008293 patent/WO2022019513A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101341096B1 (en) * | 2007-09-12 | 2013-12-13 | 삼성전기주식회사 | apparatus and method for restoring image |
KR20110103205A (en) * | 2010-03-12 | 2011-09-20 | 삼성전자주식회사 | Image restoration device, image restoration method and image restoration system |
KR20160086897A (en) * | 2013-11-14 | 2016-07-20 | 케이엘에이-텐코 코포레이션 | Motion and focus blur removal from pattern images |
JP6562650B2 (en) * | 2015-02-17 | 2019-08-21 | キヤノン株式会社 | Image processing apparatus, imaging apparatus, image processing method, and image processing program |
KR20200050959A (en) * | 2017-09-05 | 2020-05-12 | 소니 주식회사 | Image processing device, image processing method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020171373A1 (en) | Techniques for convolutional neural network-based multi-exposure fusion of multiple image frames and for deblurring multiple image frames | |
KR102574141B1 (en) | Image display method and device | |
US9036032B2 (en) | Image pickup device changing the size of a blur kernel according to the exposure time | |
EP2535864B1 (en) | Image processing device and method | |
KR20210089166A (en) | Bright Spot Removal Using Neural Networks | |
US11538175B2 (en) | Method and apparatus for detecting subject, electronic device, and computer readable storage medium | |
CN110796041B (en) | Principal identification method and apparatus, electronic device, and computer-readable storage medium | |
US20220222830A1 (en) | Subject detecting method and device, electronic device, and non-transitory computer-readable storage medium | |
KR20130018330A (en) | Imaging apparatus, image processing method, and recording medium for recording program thereon | |
CN114331902B (en) | Noise reduction method and device, electronic equipment and medium | |
CN114782280A (en) | Image processing method and device | |
CN112819699A (en) | Video processing method and device and electronic equipment | |
Xue | Blind image deblurring: a review | |
WO2022019513A1 (en) | Method for compensating autofocus and electronic device compensating autofocus | |
KR20190064882A (en) | Deep Learning based Automotive Video Processing Method | |
WO2023068655A1 (en) | System and method for learning tone curves for local image enhancement | |
JP6487008B1 (en) | High resolution imaging device | |
CN111340736B (en) | Image processing method, device, storage medium and electronic equipment | |
JP6331339B2 (en) | Imaging apparatus, imaging system including the imaging apparatus, and false color removal method | |
KR20220013290A (en) | Auto-focus compensation method and auto-focus compensation device | |
WO2022197001A1 (en) | Method and electronic device for removing artifact in high resolution image | |
CN104933693A (en) | A recovery method used for a plurality of images with saturated pixel scenes | |
CN111886625A (en) | Image fusion method, image acquisition equipment and movable platform | |
WO2024111931A1 (en) | Airy-disk correction for deblurring image | |
JP2017069871A (en) | Image processing apparatus, control method therefor, program, and recording medium |
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: 21846947 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: 21846947 Country of ref document: EP Kind code of ref document: A1 |