[0001] This invention relates generally to techniques for analyzing image data, and relates
more particularly to a system and method for performing a depth estimation procedure
by utilizing an adaptive kernel.
[0002] Implementing efficient methods for analyzing image data is a significant consideration
for designers and manufacturers of contemporary electronic devices. However, efficiently
analyzing image data with electronic devices may create substantial challenges for
system designers. For example, enhanced demands for increased device functionality
and performance may require more system processing power and require additional hardware
resources. An increase in processing or hardware requirements may also result in a
corresponding detrimental economic impact due to increased production costs and operational
inefficiencies.
[0003] Furthermore, enhanced device capability to perform various advanced operations may
provide additional benefits to a system user, but may also place increased demands
on the control and management of various device components. For example, an enhanced
electronic device that effectively analyzes digital image data may benefit from an
effective implementation because of the large amount and complexity of the digital
data involved.
[0004] Due to growing demands on system resources and substantially increasing data magnitudes,
it is apparent that developing new techniques for analyzing image data is a matter
of concern for related electronic technologies. Therefore, for all the foregoing reasons,
developing effective systems for analyzing image data remains a significant consideration
for designers, manufacturers, and users of contemporary electronic devices.
[0005] Various respective aspects and features of the invention are defined in the appended
claims. Combinations of features from the dependent claims may be combined with features
of the independent claims as appropriate and not merely as explicitly set out in the
claims.
[0006] In accordance with embodiments of the present invention, a system and method for
performing a depth estimation procedure by utilizing an adaptive kernel is disclosed.
Depth estimation procedures may be utilized to create depth maps for corresponding
photographic targets or scenes. Non-uniformity in the depth map may be caused by an
asymmetrical aperture shape in the camera. One prominent depth-map generation technique
is the depth-from-defocus technique in which a convolution kernel is used to match
the defocused blur of two images to derive an indirect estimate of the depth. Therefore,
the convolution kernel plays a significant role in obtaining accurate depth values.
[0007] In one embodiment of the present invention, camera aperture data is obtained in any
effective manner. Camera aperture data may include any appropriate information, including,
but not limited to, aperture shape, aperture dimensions, and aperture symmetry characteristics.
The camera aperture data may be analyzed utilizing any effective techniques. For example,
the aperture information analysis may be performed manually by one or more designers,
or may be performed automatically by one or more computer devices.
[0008] Accordingly, the aperture is determined to be either symmetrical or asymmetrical.
If the aperture is symmetrical, then symmetrical kernel coefficients may be stored
in a local memory of the camera. However, if the aperture is asymmetrical, then an
appropriate asymmetrical convolution kernel may be designed in any effective manner.
For example, the asymmetrical convolution kernel may be created manually by one or
more designers, or may be generated automatically by one or more computer devices.
In certain embodiments, the asymmetrical convolution kernel may be designed utilizing
a frequency-domain kernel design methodology. In other embodiments, the asymmetrical
convolution kernel may be designed utilizing a spatial-domain kernel design methodology.
The resulting asymmetrical kernel coefficients may be stored in the local memory of
the camera.
[0009] In operation, the camera may then select an appropriate convolution kernel from memory,
depending upon the particular current characteristics of the camera aperture. Finally,
the camera may utilize the selected convolution kernel to perform convolution procedures
to robustly support the depth estimation procedures. The present invention therefore
provides an improved system and method for performing a depth estimation procedure
by utilizing an adaptive convolution kernel.
[0010] Embodiments of the invention will now be described with reference to the accompanying
drawings, throughout which like parts are referred to by like references, and in which:
FIG. 1 is a block diagram for one embodiment of a camera device, in accordance with
the present invention;
FIG. 2 is a block diagram for one embodiment of the capture subsystem of FIG. 1, in
accordance with the present invention;
FIG. 3 is a block diagram for one embodiment of the control module of FIG. 1, in accordance
with the present invention;
FIG. 4 is a block diagram for one embodiment of the memory of FIG. 3, in accordance
with the present invention;
FIG. 5A is a diagram of one exemplary embodiment for capturing a defocused blur image,
in accordance with the present invention;
FIG. 5B is a diagram illustrating a kernel convolution procedure, in accordance with
one embodiment of the present invention;
FIG. 5C is a graph of an exemplary matching curve, in accordance with one embodiment
of the present invention;
FIGS. 6A-6B are a flowchart of method steps for performing a depth estimation procedure
with an adaptive kernel, in accordance with one embodiment of the present invention;
FIGS. 7A-7B are drawings illustrating a frequency-domain kernel design procedure,
in accordance with one embodiment of the present invention; and
FIGS. 8A-8C are drawings illustrating spatial-domain kernel design procedure, in accordance
with one embodiment of the present invention.
[0011] Embodiments of the present invention relate to an improvement in image data analysis
techniques. The following description is presented to enable one of ordinary skill
in the art to make and use the invention and is provided in the context of a patent
application and its requirements. Various modifications to the disclosed embodiments
will be readily apparent to those skilled in the art, and the generic principles herein
may be applied to other embodiments. Thus, the present invention is not intended to
be limited to the embodiments shown, but is to be accorded the widest scope consistent
with the principles and features described herein.
[0012] Embodiments of the present invention comprise a system and method for supporting
a depth estimation procedure by utilizing an adaptive kernel, and includes a capture
subsystem for capturing images of a photographic target. The capture subsystem includes
an aperture that is adjustable for admitting reflected light from the photographic
target to a sensor device. An adaptive kernel is designed in a kernel design procedure
based upon symmetry characteristics of the aperture. The adaptive kernel may be designed
in either a frequency-domain kernel design procedure or in a spatial-domain kernel
design procedure. A depth estimator utilizes the adaptive kernel for performing the
depth estimation procedure.
[0013] Referring now to FIG. 1, a block diagram for one embodiment of a camera device 110
is shown, in accordance with the present invention.
[0014] In the FIG. 1 embodiment, camera device 110 may include, but is not limited to, a
capture subsystem 114, a system bus 116, and a control module 118. In the FIG. 1 embodiment,
capture subsystem 114 may be optically coupled to a photographic target 112, and may
also be electrically coupled via system bus 116 to control module 118.
[0015] In alternate embodiments, camera device 110 may readily include various other components
in addition to, or instead of, those components discussed in conjunction with the
FIG. 1 embodiment. In addition, in certain embodiments, the present invention may
alternately be embodied in any appropriate type of electronic device other than the
camera device 110 of FIG. 1. For example, camera device 110 may alternately be implemented
as an imaging device, a computer device, or a consumer electronics device.
[0016] In the FIG. 1 embodiment, once capture subsystem 114 of camera 110 is automatically
focused on target 112, a camera user may request camera device 110 to capture image
data corresponding to target 112. Control module 118 then may preferably instruct
capture subsystem 114 via system bus 116 to capture image data representing target
112. The captured image data may then be transferred over system bus 116 to control
module 118, which may responsively perform various processes and functions with the
image data. System bus 116 may also bi-directionally pass various status and control
signals between capture subsystem 114 and control module 118.
[0017] Referring now to FIG. 2, a block diagram for one embodiment of the FIG. 1 capture
subsystem 114 is shown, in accordance with the present invention. In the FIG. 2 embodiment,
capture subsystem 114 preferably comprises, but is not limited to, an aperture 218,
a lens 220, an image sensor 224, red, green, and blue (R/G/B) amplifiers 228, an analog-to-digital
(A/D) converter 230, and an interface 232. In alternate embodiments, capture subsystem
114 may readily include various other components in addition to, or instead of, those
components discussed in conjunction with the FIG. 2 embodiment.
[0018] In the FIG. 2 embodiment, capture subsystem 114 may capture image data corresponding
to target 112 via reflected light impacting image sensor 224 along optical path 236.
In certain embodiments, aperture 218 includes a shutter mechanism that is controllable
to regulate the amount of reflected light that reaches image sensor 224. Image sensor
224, which may preferably include a charged-coupled device (CCD), may responsively
generate a set of image data representing the target 112.
[0019] The image data may then be routed through amplifiers 228, A/D converter 230, and
interface 232. From interface 232, the image data passes over system bus 116 to control
module 118 for appropriate processing and storage. Other types of image capture sensors,
such as CMOS or linear arrays are also contemplated for capturing image data in conjunction
with the present invention. The utilization and functionality of camera 110 is further
discussed below in conjunction with FIGS. 3-8C.
[0020] Referring now to FIG. 3, a block diagram for one embodiment of the FIG. 1 control
module 118 is shown, in accordance with the present invention. In the FIG. 3 embodiment,
control module 118 preferably includes, but is not limited to, a viewfinder 308, a
central processing unit (CPU) 344, a memory 346, and one or more input/output interface(s)
(I/O) 348. Viewfinder 308, CPU 344, memory 346, and I/O 348 preferably are each coupled
to, and communicate, via common system bus 116 that also communicates with capture
subsystem 114. In alternate embodiments, control module 118 may readily include various
other components in addition to, or instead of, those components discussed in conjunction
with the FIG. 3 embodiment.
[0021] In the FIG. 3 embodiment, CPU 344 may be implemented to include any appropriate microprocessor
device. Alternately, CPU 344 may be implemented using any other appropriate technology.
For example, CPU 344 may be implemented to include certain application-specific integrated
circuits (ASICs) or other appropriate electronic devices. Memory 346 may be implemented
as one or more appropriate storage devices, including, but not limited to, read-only
memory, random-access memory, and various types of non-volatile memory, such as floppy
disc devices, hard disc devices, or flash memory. I/O 348 may provide one or more
effective interfaces for facilitating bi-directional communications between camera
device 110 and any external entity, including a system user or another electronic
device. I/O 348 may be implemented using any appropriate input and/or output devices.
The operation and utilization of control module 118 are further discussed below in
conjunction with FIGS. 4 through 8C.
[0022] Referring now to FIG. 4, a block diagram for one embodiment of the FIG. 3 memory
346 is shown, in accordance with the present invention. In the FIG. 4 embodiment,
memory 346 may include, but is not limited to, a camera application 412, an operating
system 414, a depth estimator 416, image data 418, estimation data 420, an auto-focus
module 422, and miscellaneous information 424. In alternate embodiments, memory 346
may include various other components in addition to, or instead of, those components
discussed in conjunction with the FIG. 4 embodiment.
[0023] In the FIG. 4 embodiment, camera application 412 may include program instructions
that are preferably executed by CPU 344 (FIG. 3) to perform various functions and
operations for camera device 110. The particular nature and functionality of camera
application 412 preferably varies depending upon factors such as the type and particular
use of the corresponding camera device 110.
[0024] In the FIG. 4 embodiment, operating system 414 preferably controls and coordinates
low-level functionality of camera device 110. In accordance with the present invention,
depth estimator 416 may control and coordinate a depth estimation procedure to facilitate
automatic focus features in camera 110. In the FIG. 4 embodiment, image data 418 may
include one or more images of a photographic target 112 captured by camera device
110. Estimation data 420 may include any types of information or data for performing
a depth estimation procedure. For example, estimation data 420 may include one or
more symmetrical or asymmetrical convolution kernels, as discussed below. In the FIG.
4 embodiment, auto-focus module 422 may utilize the results of the depth estimation
procedure to perform an auto-focus procedure for camera device 110. Miscellaneous
information 424 includes any other appropriate information for the operation of camera
110. Additional details regarding the operation of depth estimator 416 are further
discussed below in conjunction with FIGS. 5A-8C.
[0025] Referring now to FIG. 5A, a diagram of one exemplary embodiment for capturing a defocused
blur image 518 is shown, in accordance with the present invention. The FIG. 5A embodiment
is provided for purposes of illustration, and in alternate embodiments, the present
invention may utilize various other configurations and elements to capture defocused
blur images 518.
[0026] In the FIG. 5A embodiment, a sensor 224 of a camera 110 (see FIG. 2) may capture
a defocused blur image 518 of a photographic target or scene 112 for performing a
depth estimation procedure. The defocused blur image 518 may be created by adjusting
lens 220 to a position other than the correct in-focus lens position that depends
upon the relative positions of target 112, lens 220, and sensor 224.
[0027] In one embodiment, two different defocused blur images 518 may be compared to derive
a depth estimation. A blur difference may be calculated for two blur images 518 that
are one depth-of-field away from each other. A slope of a known matching curve and
the blur difference can be utilized to determine the depth of a given target 112.
The generation and utilization of defocused blur images for depth estimation are further
discussed below in conjunction with FIGS. 6-8C.
[0028] Referring now to FIG. 5B, a diagram illustrating a kernel convolution procedure is
shown, in accordance with one embodiment of the present invention. The FIG. 5B embodiment
is provided for purposes of illustration, and in alternate embodiments, the present
invention may utilize various other configurations and techniques to perform kernel
convolution procedures.
[0029] In the FIG. 5B embodiment, an original image 520 may be convolved with a Gaussian
convolution kernel 522 that is implemented in any effective manner to produce a convolved
image 526. In certain embodiments, kernel 522 may be implemented as a filter matrix
with individual kernel coefficients that are each applied to different corresponding
respective pixel values of original image 520. The resulting values may then be combined
to create a convolved central pixel value for the convolved image 526. The convolution
procedure may then be repeated for each pixel in original image 520 to completely
populate convolved image 526. The generation and utilization of convolution kernels
for depth estimation are further discussed below in conjunction with FIGS. 5C-8C.
[0030] Referring now to FIG. 5C, a graph of an exemplary matching curve 714 is shown, in
accordance with one embodiment of the present invention. The FIG. 5C embodiment is
presented for purposes of illustration, and in alternate embodiments, the present
invention may be implemented to utilize matching curves with configurations and parameters
in addition to, or instead of, certain of those configurations and parameters discussed
in conjunction with the FIG. 5C embodiment.
[0031] In certain embodiments, a blur image1 and a more-defocused blur image2 may be captured,
the sharper image1 may be convolved with a Gaussian convolution kernel (for example,
a 3 x 3 Gaussian matrix with small variance) to produce a convolved image1. The convolved
image1 is compared to blur image2. This process is repeated until the two blur image
match. The number of iterations may then be graphed against depth-of-field (or image
numbers in increments of one DOF) to produce a blur matching curve that can be used
to estimate the distance from any out-of-focus position to the in-focus position.
Additional details regarding convolution kernels and the foregoing depth estimation
technique are further discussed in
U.S. Patent No. 8,045,046 to Li et al., which is hereby incorporated by reference.
[0032] Referring now to FIGS. 6A-6B, a flowchart of method steps for performing a depth
estimation procedure with an adaptive kernel is shown, in accordance with one embodiment
of the present invention. The FIG. 6 embodiment is presented for purposes of illustration,
and in alternate embodiments, the present invention may readily utilize various steps
and sequences other than those steps and sequences discussed in conjunction with the
FIG. 6 embodiment.
[0033] Depth estimation procedures may be utilized to create depth maps for corresponding
photographic targets or scenes. Non-uniformity in the depth map may frequently be
caused by an asymmetrical aperture shape of the camera. In most of the cases, the
asymmetric aperture shape causes the point spread function (PSF) of the camera to
be asymmetric also. As a result, the depth map obtained using these cameras shows
image orientation dependency. The present invention may advantageously be utilized
to design depth map algorithms that can appropriately handle asymmetric characteristics
of various camera apertures.
[0034] In practice, depth maps may be generated from single or multiple images using various
different techniques. For example, depth information may be recovered from a 2D-image
using depth from defocus, stereo imaging, depth from shading etc. One prominent passive
depth-map generation technique is the depth from defocus technique (DFD). In DFD,
a convolution kernel is used to match the blur of two image regions to derive an indirect
estimate of the depth. Therefore, the convolution kernel plays a significant role
in obtaining the depth values.
[0035] Conventionally, a symmetric and uniform convolution kernel is applied for the entire
image irrespective of camera settings. This typically causes problems, since the PSF
of the camera is dependent on camera parameters like, for example, the aperture settings.
An asymmetric aperture shape makes the PSF asymmetric, and the symmetric convolution
kernel then will fail to capture proper depth. The present invention effectively supports
the design and utilization of adaptive kernels based on factors such as camera aperture
information, so the resulting depth map is uniform, consistent, and reliable.
[0036] In the FIG. 6A embodiment, in step 614, camera aperture data is obtained in any effective
manner. Camera aperture data may include any appropriate information, including, but
not limited to, aperture shape, aperture dimensions, and aperture symmetry characteristics.
In step 618, the camera aperture data may be analyzed utilizing any effective techniques.
For example, the aperture information analysis may be performed manually by one or
more designers or may be performed automatically by one or more computer devices.
[0037] In step 622, the aperture is determined to be either symmetrical or asymmetrical.
If the aperture is symmetrical, then symmetrical kernel coefficients are stored in
memory 346 (FIG. 3) of camera 110, and the FIG. 6A process advances to step 642 of
FIG. 6B through connecting letter "B." However, if the aperture is asymmetrical, then
the FIG. 6A process advances to step 630 of FIG. 6B through connecting letter "A."
[0038] In step 630, an appropriate asymmetrical convolution kernel may be designed in any
effective manner. For example, the asymmetrical convolution kernel may be created
manually by one or more designers, or may be generated automatically by one or more
computer devices. In certain embodiments, the asymmetrical convolution kernel may
be designed utilizing a frequency-domain kernel design methodology. In addition, in
other embodiments, the asymmetrical convolution kernel may be designed utilizing a
spatial-domain kernel design methodology. In step 634, the resulting asymmetrical
kernel coefficients may be stored in memory 346 (FIG. 3) of camera 110.
[0039] In step 638, camera 110 may then select an appropriate convolution kernel from memory
346, depending upon the particular current characteristics of the camera aperture.
Finally, in step 642, camera 110 may utilize the selected convolution kernel to perform
appropriate convolution procedures to support depth estimation procedures. The FIG.
6 process may terminate. The present invention therefore provides an improved system
and method for performing a depth estimation procedure by utilizing an adaptive convolution
kernel.
[0040] Referring now to FIGS. 7A-7B, drawings illustrating a frequency-domain kernel design
procedure are shown, in accordance with one embodiment of the present invention. The
FIG. 7 embodiment is presented for purposes of illustration, and in alternate embodiments,
the present invention may perform kernel design procedures with elements and configurations
other than those discussed in conjunction with the FIG. 7 embodiment.
[0041] In the FIG. 7A embodiment, a graph of an asymmetrical aperture 712 is shown in the
spatial domain. In the FIG. 7A embodiment, a first aperture dimension is represented
on a vertical axis Y, and a second aperture dimension is represented on a horizontal
axis X. In the FIG. 7A embodiment, aperture 712 includes a horizontal dimension "
a" 718, and a vertical dimension "
b" 714. As represented in the FIG. 7A drawing, horizontal dimension "
a" 718 and vertical dimension "
b" 714 are not equal, rendering aperture 712 asymmetrical.
[0042] In the FIG. 7B embodiment, a representation 722 in the frequency domain of the asymmetrical
aperture 712 of FIG. 7A is shown. In certain embodiments, the FIG. 7B representation
722 may be generated by applying an appropriate Fast Fourier Transform (FFT) to the
spatial-domain aperture 712 of FIG. 7A. In the FIG. 7A embodiment, vertical frequency
is represented on a vertical axis Fv, and horizontal frequency is represented on a
horizontal axis
Fu. In the FIG. 7B embodiment, representation 722 includes a horizontal bandwidth
"Bu" 730, and a vertical bandwidth "
Bv" 726.
[0043] In the FIG. 7B embodiment, horizontal bandwidth "
Bu" 730 corresponds to horizontal dimension "
a" 718 of FIG. 7A, and vertical bandwidth "
Bv" 726 corresponds to vertical dimension
"b" 714 of FIG. 7A. In the FIG. 7B embodiment, horizontal bandwidth "
Bu" 730 is limited by a horizontal cutoff frequency 738, and vertical bandwidth "
Bv" 726 is limited by a vertical cutoff frequency 734. Frequency variables "
Bu" and "
Bv" represent bandwidth characteristics (how much frequency can be supported with the
aperture). The cutoff frequencies may be utilized to design filter kernels for the
two bandwidths. Any standard or enhanced filter design techniques may be utilized.
This information must then be combined to generate an asymmetrical convolution kernel.
[0044] In practice, an FFT is initially applied to the point spread function (PST) of aperture
712 (FIG. 7A). Horizontal and vertical filters may then be designed based upon the
horizontal cutoff frequency and vertical cutoff frequency. The horizontal filter and
the vertical filter are then combined to generate a combined filter. An inverse FFT
is performed on the combined filter to produce an asymmetrical convolution kernel.
In certain embodiments, the convolution kernel may need to be approximated with a
reduced-size kernel if the original kernel exceeds a certain kernel size.
[0045] Referring now to FIGS. 8A-8C, drawing illustrating a spatial-domain kernel design
procedure are shown, in accordance with one embodiment of the present invention. The
FIG. 8 embodiment is presented for purposes of illustration, and in alternate embodiments,
the present invention may perform kernel design procedures utilizing elements and
techniques other than those discussed in conjunction with the FIG. 8 embodiment.
[0046] In the FIG. 8A embodiment, a horizontal test page image 816 is shown. In addition,
a graph of an asymmetrical aperture 812 in the spatial domain is shown corresponding
to the image 816. Similarly, in the FIG. 8B embodiment, a vertical test page image
824 is shown. In addition, a graph of an asymmetrical aperture 820 in the spatial
domain is shown corresponding to the image 824. The vertical test page image 824 is
the horizontal test page image 816 rotated ninety degrees.
[0047] When using horizontal test page 816, the defocus blur is in the vertical (Y) direction
and the iteration number is proportional to the PSF variance in the vertical direction.
When using vertical test page 824, the defocus blur is in the horizontal (X) direction
and the iteration number is proportional to the PSF variance in the horizontal direction.
In accordance with the present invention, a spatial analysis of the FIG. 8A and 8B
embodiments may be performed to generate an asymmetrical convolution kernel, as further
discussed below in conjunction with FIG. 8C.
[0048] The FIG. 8C embodiment is presented for purposes of illustration, and in alternate
embodiments, the present invention may perform kernel design procedures utilizing
elements and techniques other than those discussed in conjunction with the FIG. 8
embodiment. For example, the various specific calculation or implementation values
provided in the FIG. 8C example, may be replaced by any other effective or appropriate
calculation or implementation values.
[0049] The FIG. 8C example includes a horizontal filter kernel 828, a vertical filter kernel
832, a horizontal-vertical filter combination process 836, and a final asymmetrical
convolution kernel 840. In accordance with one embodiment of the present invention,
a spatial domain analysis may be performed upon the foregoing FIG. 8A and 8B embodiments
to generate a representative equation (see
Equation 1 below) for defining asymmetrical convolution kernels 840 according to the following
variables.

here,
n1 = iteration number using horizontal test page and [161] kernel
n2 = iteration number using vertical test page and [161] kernel

= Variance of [161] kernel

= Gaussain approximation of blur along horizontal (X) direction

= Gaussain approximation of blur along vertical (Y) direction

[0050] Therefore, in the FIG. 8 example, Equation 1 indicates that there should be an approximate
2-to-1 relationship between the vertical variance value and the horizontal variance
value. In the FIG. 8C example, horizontal filter kernel 828 and vertical filter kernel
832 are thus combined in horizontal-vertical filter combination process 836 to produce
final asymmetrical convolution kernel 840, in accordance with one embodiment of the
present invention.
[0051] Further particular and preferred aspects of the invention are set out in the accompanying
independent and dependent clauses. Features of the dependent clauses may be combined
with those of the independent clauses and independent claims as appropriate and in
combinations other than those explicitly set out in the clauses and claims.
CLAUSES
[0052]
- 1. A system for supporting a depth estimation procedure, comprising:
a capture subsystem for capturing images of a photographic target, said capture subsystem
including an aperture that is adjustable for admitting reflected light from said photographic
target to a sensor device;
an adaptive kernel that is designed in a kernel design procedure based upon symmetry
characteristics of said aperture; and
a depth estimator that utilizes said adaptive kernel for performing said depth estimation
procedure.
- 2. The system of clause 1 wherein said depth estimator and said capture subsystem
are implemented in a digital camera device.
- 3. The system of clause 2 wherein depth values from said depth estimation procedure
are utilized in an auto-focus procedure for said digital camera.
- 4. The system of clause 1 wherein said images include defocused blur images of said
photographic target.
- 5. The system of clause 4 wherein said depth estimator utilizes said adaptive kernel
to perform one or more convolution procedures during said depth estimation procedure.
- 6. The system of clause 1 wherein said adaptive kernel is designed in a frequency-domain
kernel design procedure.
- 7. The system of clause 1 wherein said adaptive kernel is designed in a spatial-domain
kernel design procedure.
- 8. The system of clause 1 wherein said symmetry characteristics of said aperture include
an aperture shape.
- 9. The system of clause 1 wherein said symmetry characteristics of said aperture include
aperture dimensions.
- 10. The system of clause 1 wherein said symmetry characteristics of said aperture
are analyzed by comparing a horizontal characteristic of said aperture with a vertical
characteristic of said aperture.
- 11. The system of clause 1 wherein said kernel design procedure includes obtaining
camera aperture data including an aperture shape and aperture dimensions, said kernel
design procedure further including analyzing said camera aperture data to determine
said symmetry characteristics.
- 12. The system of clause 11 wherein symmetrical kernel coefficients are stored in
a local memory device if said symmetry characteristics indicate that said aperture
is symmetrical.
- 13. The system of clause 12 wherein asymmetrical kernel coefficients are designed
in said kernel design procedure, said asymmetrical kernel coefficients being stored
in said local memory device if said symmetry characteristics indicate that said aperture
is asymmetrical.
- 14. The system of clause 13 wherein said asymmetrical kernel coefficients are designed
in a frequency-domain kernel design procedure.
- 15. The system of clause 14 wherein said frequency-domain kernel design procedure
includes applying a Fast Fourier Transform to a point spread function of said aperture,
designing a horizontal filter and a vertical filter based upon a horizontal cutoff
frequency and a vertical cutoff frequency of said Fast Fourier Transform, said horizontal
filter and said vertical filter being then combined to generate a combined filter,
an inverse Fast Fourier Transform being performed on said combined filter to produce
said adaptive kernel.
- 16. The system of clause 13 wherein said asymmetrical kernel coefficients are designed
in a spatial-domain kernel design procedure.
- 17. The system of clause 16 wherein said spatial-domain kernel design procedure includes
performing a spatial domain analysis upon a horizontal point spread function and a
vertical point spread function of said aperture to define a mathematical relationship
between a vertical variance value and a horizontal variance value of said aperture,
said spatial-domain kernel design procedure further including generating a horizontal
filter kernel and a vertical filter kernel based upon said mathematical relationship,
said horizontal filter kernel and said vertical filter kernel being combined in filter
combination process to produce said adaptive kernel.
- 18. The system of clause 13 wherein said depth estimator selects an optimal kernel
from said local memory device depending upon said symmetry characteristics of said
aperture.
- 19. The system of clause 18 wherein said depth estimator utilizes said optimal kernel
for performing said depth estimation procedure.
- 20. A method for performing a depth estimation procedure by performing the steps of:
utilizing a capture subsystem for capturing images of a photographic target, said
capture
subsystem including an aperture that is adjustable for admitting reflected light from
said photographic target to a sensor device;
designing an adaptive kernel in a kernel design procedure based upon symmetry characteristics
of said aperture; and
providing a depth estimator that utilizes said adaptive kernel for performing said
depth estimation procedure.
- 21. Computer software which, when executed by a computer, causes the computer to implement
the method of clause 20.
The invention has been explained above with reference to certain embodiments. Other
embodiments will be apparent to those skilled in the art in light of this disclosure.
For example, the present invention may readily be implemented using configurations
and techniques other than those described in the embodiments above. Additionally,
the present invention may effectively be used in conjunction with systems other than
those described above. Therefore, these and other variations upon the discussed embodiments
are intended to be covered by the present invention, which is limited only by the
appended claims.
[0053] In so far as the embodiments of the invention described above are implemented, at
least in part, using software-controlled data processing apparatus, it will be appreciated
that a computer program providing such software control and a transmission, storage
or other medium by which such a computer program is provided are envisaged as aspects
of the present invention.
1. A system for supporting a depth estimation procedure, comprising:
a capture subsystem for capturing images of a photographic target, said capture subsystem
including an aperture that is adjustable for admitting reflected light from said photographic
target to a sensor device;
an adaptive kernel that is designed in a kernel design procedure based upon symmetry
characteristics of said aperture; and
a depth estimator that utilizes said adaptive kernel for performing said depth estimation
procedure.
2. The system of claim 1 wherein:
said depth estimator and said capture subsystem are implemented in a digital camera
device; and
depth values from said depth estimation procedure are utilized in an auto-focus procedure
for said digital camera.
3. The system of claim 1 wherein said images include defocused blur images of said photographic
target.
4. The system of claim 3 wherein said depth estimator utilizes said adaptive kernel to
perform one or more convolution procedures during said depth estimation procedure.
5. The system of claim 1 wherein said adaptive kernel is designed in a frequency-domain
kernel design procedure or a spatial-domain kernel design procedure.
6. The system of claim 1 wherein said symmetry characteristics of said aperture include
an aperture shape or aperture dimensions.
7. The system of claim 1 wherein said symmetry characteristics of said aperture are analyzed
by comparing a horizontal characteristic of said aperture with a vertical characteristic
of said aperture.
8. The system of claim 1 wherein said kernel design procedure includes obtaining camera
aperture data including an aperture shape and aperture dimensions, said kernel design
procedure further including analyzing said camera aperture data to determine said
symmetry characteristics.
9. The system of claim 8 wherein symmetrical kernel coefficients are stored in a local
memory device if said symmetry characteristics indicate that said aperture is symmetrical.
10. The system of claim 9 wherein asymmetrical kernel coefficients are designed in said
kernel design procedure, said asymmetrical kernel coefficients being stored in said
local memory device if said symmetry characteristics indicate that said aperture is
asymmetrical.
11. The system of claim 10 wherein said asymmetrical kernel coefficients are designed
in a frequency-domain kernel design procedure or a spatial-domain kernel design procedure.
12. The system of claim 11 wherein said frequency-domain kernel design procedure includes
applying a Fast Fourier Transform to a point spread function of said aperture, designing
a horizontal filter and a vertical filter based upon a horizontal cutoff frequency
and a vertical cutoff frequency of said Fast Fourier Transform, said horizontal filter
and said vertical filter being then combined to generate a combined filter, an inverse
Fast Fourier Transform being performed on said combined filter to produce said adaptive
kernel.
13. The system of claim 11 wherein said spatial-domain kernel design procedure includes
performing a spatial domain analysis upon a horizontal point spread function and a
vertical point spread function of said aperture to define a mathematical relationship
between a vertical variance value and a horizontal variance value of said aperture,
said spatial-domain kernel design procedure further including generating a horizontal
filter kernel and a vertical filter kernel based upon said mathematical relationship,
said horizontal filter kernel and said vertical filter kernel being combined in filter
combination process to produce said adaptive kernel.
14. The system of claim 10 wherein said depth estimator selects an optimal kernel from
said local memory device depending upon said symmetry characteristics of said aperture
and utilizes said optimal kernel for performing said depth estimation procedure.
15. A method for performing a depth estimation procedure by performing the steps of:
utilizing a capture subsystem for capturing images of a photographic target, said
capture subsystem including an aperture that is adjustable for admitting reflected
light from said photographic target to a sensor device;
designing an adaptive kernel in a kernel design procedure based upon symmetry characteristics
of said aperture; and
providing a depth estimator that utilizes said adaptive kernel for performing said
depth estimation procedure.