Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
Title: Mold inhibitor integrated within a matrix and method of making same
Patent Number: 6,965,005 Issued on 11/15/2005 to Markham,   et al.

Title: Frequency comb analysis
Patent Number: 7,187,864 Issued on 03/06/2007 to Haensch,   et al.

Title: Data mining framework using a signature associated with an algorithm
Patent Number: 7,024,417 Issued on 04/04/2006 to Russakovsky,   et al.

Title: Connector and radiation tomographic imaging apparatus
Patent Number: 7,029,302 Issued on 04/18/2006 to Sawaya

Title: Apparatus and method for preventing lock-up of LCD in mobile terminal
Patent Number: 7,042,428 Issued on 05/09/2006 to Park

Title: Method and apparatus for data transfer between at least two modules interconnected by a serial data bus
Patent Number: 7,159,138 Issued on 01/02/2007 to Aberl,   et al.

Title: Method for preparing unsaturated compound by pyrolysis reaction
Patent Number: 7,071,272 Issued on 07/04/2006 to Okazoe,   et al.

Title: Divided connector and method of assembling it
Patent Number: 7,172,468 Issued on 02/06/2007 to Nishide

Title: Method and apparatus for measuring switching noise in integrated circuits
Patent Number: 7,159,160 Issued on 01/02/2007 to Yoh,   et al.

Title: Method of producing and improving an optical transmission line, and associated compensation modules
Patent Number: 7,187,824 Issued on 03/06/2007 to Fleury,   et al.

Title: Method and apparatus for event distribution and event handling in an enterprise
Patent Number: 7,174,557 Issued on 02/06/2007 to Sanghvi,   et al.

Title: Temperature estimating apparatus for internal combustion engine
Patent Number: 6,758,038 Issued on 07/06/2004 to Ueno,   et al.

Title: Method for manufacturing thin-film structure
Patent Number: 7,041,593 Issued on 05/09/2006 to Okumura,   et al.

Title: Light-emitting device
Patent Number: 6,841,933 Issued on 01/11/2005 to Yamanaka,   et al.

Title: Brazed sintered compact
Patent Number: 6,902,825 Issued on 06/07/2005 to Yano,   et al.

Title: Data communication apparatus with distributed traffic protection switching system
Patent Number: 7,158,477 Issued on 01/02/2007 to Fatica,   et al.

Title: Hybrid photonic/electronic switching in a multi-channel network
Patent Number: 7,187,865 Issued on 03/06/2007 to Sparks,   et al.

Title: Color image forming apparatus
Patent Number: 7,010,245 Issued on 03/07/2006 to Shindoh,   et al.

Title: Extraction method of defect density and size distributions
Patent Number: 7,024,642 Issued on 04/04/2006 to Hess,   et al.

Title: Method of overwriting data in a multi-session disk
Patent Number: 7,016,293 Issued on 03/21/2006 to Lee

Title: Method of making tire with exo-belt skin
Patent Number: 7,118,643 Issued on 10/10/2006 to Mellet,   et al.

Title: Method of creating a mask-programmed logic device from a pre-existing circuit design
Patent Number: 6,938,236 Issued on 08/30/2005 to Park,   et al.

Title: Change-point detection apparatus, method and program therefor
Patent Number: 7,016,797 Issued on 03/21/2006 to Takeuchi,   et al.

Title: Phase-change memory devices with a self-heater structure
Patent Number: 6,894,305 Issued on 05/17/2005 to Yi,   et al.

Title: Fuel feed apparatus having opening in sub-tank
Patent Number: 7,159,574 Issued on 01/09/2007 to Hayashi,   et al.

Title: Double-sided image forming apparatus and method
Patent Number: 7,016,636 Issued on 03/21/2006 to Hayashi,   et al.

Title: Transcutaneous electrical nerve stimulation device and method using microcurrent
Patent Number: 7,187,977 Issued on 03/06/2007 to Paul, Jr.

Title: Printed circuit board trace routing method
Patent Number: 7,022,919 Issued on 04/04/2006 to Brist,   et al.

Title: Readout method and apparatus for optical information medium
Patent Number: 7,016,290 Issued on 03/21/2006 to Nakano,   et al.

Title: Method for cross-linking of regulation-and/or control functions for a motor vehicle
Patent Number: 7,188,013 Issued on 03/06/2007 to Krimmel,   et al.

Title: Outlet box for concrete walls
Patent Number: 6,894,222 Issued on 05/17/2005 to Lalancette,   et al.

Title: Method and related apparatus for deriving a tracking error signal
Patent Number: 7,187,629 Issued on 03/06/2007 to Cheng

Title: Method and apparatus for controlling a high voltage generator in a wafer burn-in test
Patent Number: 7,016,248 Issued on 03/21/2006 to Park,   et al.

Title: Projection type cathode ray tube device
Patent Number: 7,015,634 Issued on 03/21/2006 to Watanabe,   et al.

Title: Conductive inks for metalization in integrated polymer microsystems
Patent Number: 7,005,179 Issued on 02/28/2006 to Davidson,   et al.

Title: Method and apparatus for using adaptive switches for providing connections to point-to-point interconnection fabrics
Patent Number: 7,187,674 Issued on 03/06/2007 to Bresniker

Title: Spectrally tunable detector
Patent Number: 7,015,457 Issued on 03/21/2006 to Cole,   et al.

Title: Phase detector for all-digital phase locked and delay locked loops
Patent Number: 6,987,701 Issued on 01/17/2006 to Lin,   et al.

Title: Method and apparatus for correcting tilt of light beam to optical recording medium
Patent Number: 7,187,636 Issued on 03/06/2007 to Kato,   et al.

Title: Method and system for providing a shared write driver
Patent Number: 6,975,554 Issued on 12/13/2005 to Lapidus,   et al.

Title: Capacitor damage arrestor
Patent Number: 6,754,057 Issued on 06/22/2004 to Pereira,   et al.

Title: Electrostatic track following using patterned media
Patent Number: 6,943,980 Issued on 09/13/2005 to Bonin,   et al.

Title: Wearable electronic device with mode operation indicator
Patent Number: 6,975,562 Issued on 12/13/2005 to Lizzi

Title: Detecting element for a welding device
Patent Number: 7,015,419 Issued on 03/21/2006 to Hackl,   et al.

Title: Biological optical measuring instrument
Patent Number: 7,187,962 Issued on 03/06/2007 to Shingo

Title: Method and apparatus for intelligent modem warm start
Patent Number: 7,187,713 Issued on 03/06/2007 to Jones,   et al.

Title: Method and apparatus for determining properties of a transmission channel
Patent Number: 6,865,256 Issued on 03/08/2005 to Descamps,   et al.

Title: Internalized component for fuel tanks
Patent Number: 7,059,305 Issued on 06/13/2006 to Knaggs,   et al.

Title: Substrate and organic electroluminescence device using the substrate
Patent Number: 7,015,501 Issued on 03/21/2006 to Redecker,   et al.

Title: Command station for mobile radio networks
Patent Number: 7,187,950 Issued on 03/06/2007 to Hintermeier,   et al.

Title: Solid-state imaging device and driving method of the same
Patent Number: 7,015,521 Issued on 03/21/2006 to Koyama

Title: Method for emulating a terminal and test apparatus for testing a telecommunication network
Patent Number: 6,826,259 Issued on 11/30/2004 to Hoffman

Title: Brake noise detection device
Patent Number: 6,898,976 Issued on 05/31/2005 to Kamiya,   et al.

Title: Method of providing information related to activity of a user and a data processing system program product
Patent Number: 6,996,612 Issued on 02/07/2006 to McCullough

Title: Plasma deposition device for forming thin film
Patent Number: 6,779,482 Issued on 08/24/2004 to Sakai,   et al.

Title: Active USB device
Patent Number: 6,996,636 Issued on 02/07/2006 to Hung,   et al.

Title: Method and apparatus to suppress electrical noise in a rotor assembly for an electrical machine
Patent Number: 7,015,608 Issued on 03/21/2006 to Hartman,   et al.

Title: Resin molded body joining method
Patent Number: 7,129,439 Issued on 10/31/2006 to Itakura,   et al.

Title: Coherence frequency determining system and associated radio apparatus
Patent Number: 7,006,797 Issued on 02/28/2006 to Sullivan,   et al.

Title: Image forming apparatus and its control method
Patent Number: 7,187,878 Issued on 03/06/2007 to Izawa,   et al.

Title: Film capacitor and film for a film capacitor
Patent Number: 6,754,065 Issued on 06/22/2004 to Carlen,   et al.

Title: Interactive graphical environment for drug model generation
Patent Number: 7,043,415 Issued on 05/09/2006 to Dunlavey,   et al.

Title: System for selective notification of severe weather events
Patent Number: 7,049,971 Issued on 05/23/2006 to Guillory

Title: Method for removing pollutants from the air and apparatus therefor
Patent Number: 6,779,976 Issued on 08/24/2004 to Carfagna,   et al.

Title: Index cards on network hosts for searching, rating, and ranking
Patent Number: 7,133,870 Issued on 11/07/2006 to Tripp,   et al.

Title: Sulfated fucoglucuronomannan
Patent Number: 7,041,656 Issued on 05/09/2006 to Sakai,   et al.

Title: Method for maintaining wavelength-locking of Fabry-Perot laser regardless of change of external temperature and WDM light source using the method
Patent Number: 7,187,700 Issued on 03/06/2007 to Shin,   et al.

Title: Axial piston pump
Patent Number: 6,779,991 Issued on 08/24/2004 to Leonhard

Title: Double block valve with proving system
Patent Number: 6,968,851 Issued on 11/29/2005 to Ramirez,   et al.

Title: Centering apparatus for injection mold machine
Patent Number: 6,779,999 Issued on 08/24/2004 to Ciccone

Title: Covering composition for optical fiber and covered optical fiber
Patent Number: 6,993,231 Issued on 01/31/2006 to Naruse,   et al.

Title: Liquid developer
Patent Number: 7,105,262 Issued on 09/12/2006 to Takano,   et al.

Title: Structure for connecting instrument panel-side connector and vehicle body-side connector
Patent Number: 6,780,020 Issued on 08/24/2004 to Kondo,   et al.

Title: Fan control system using a microcontroller
Patent Number: 6,779,981 Issued on 08/24/2004 to Huang,   et al.

Title: Polyaspartate resins with improved flexibility
Patent Number: 6,774,206 Issued on 08/10/2004 to Danielmeier,   et al.

Single-pass image resampling system and method with anisotropic filtering Number:7,064,770 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

 
Web LinkGrinder.com

Top Breaking News
     Georgia's Parliament Urges Breaking Diplomatic Ties With Russia by Peter Heinlein
     Darfur Rebels Claim to Shoot Down Spy Plane by VOA News
     Obama Prepares to Formally Accept Democratic Party Presidential Nomination by VOA News

Title: Single-pass image resampling system and method with anisotropic filtering

Abstract: A method and system for circularly symmetric anisotropic filtering over an extended elliptical or rectangular footprint in single-pass digital image warping are disclosed. The filtering is performed by first finding and adjusting an ellipse that approximates a non-uniform image scaling function in a mapped position of an output pixel in the input image space. A linear transformation from this ellipse to a unit circle in the output image space is determined to calculate input pixel radii inside the footprint and corresponding filter coefficient as a function of the radius. The shape of the footprint is determined as a trade-off between image quality and processing speed. In one implementation, profiles of smoothing and warping components are combined to produce sharper or detail enhanced output image. The method and system of the invention produce natural output image without jagging artifacts, while maintaining or enhancing the sharpness of the input image.

Patent Number: 7,064,770 Issued on 06/20/2006 to Lachine,   et al.


Inventors: Lachine; Vladimir (Toronto, CA); Smith; Gregory Lionel (Toronto, CA); Lee; Louie (Richmond Hill, CA)
Assignee: Silicon Optix Inc. (San Jose, CA)
Appl. No.: 939044
Filed: September 9, 2004


Current U.S. Class: 345/611 ; 345/619; 345/646; 345/647; 345/660; 345/665; 382/298; 382/299; 382/300
Current International Class: G09G 5/00 (20060101); G06K 9/32 (20060101)
Field of Search: 345/611-619,428,646-647,660,665 382/260,263,266,298-300


References Cited [Referenced By]

U.S. Patent Documents
5175808 December 1992 Sayre
5594676 January 1997 Greggain et al.
6005582 December 1999 Gabriel et al.
6016152 January 2000 Dickie
6061477 May 2000 Lohmeyer et al.
6292193 September 2001 Perry et al.
2004/0012603 January 2004 Pfister et al.
2004/0113921 June 2004 Hains et al.
Foreign Patent Documents
0920671 Oct., 1997 EP
WO 97/39420 Oct., 1997 WO

Other References

Chen, B.; Dachille, F.; Kaufman, A. "Footprint Area Sampled Texturing". Vis. and Comp. Graphics, IEEE Trans. on. vol. 10, Iss. 2, Mar.-Apr. 2004, pp. 230-240. cited by examiner .
Zwicker, M.; Pfister, M.; van Baar, J.; Gross, M. "EWA Splatting." Visualization and Computer Graphics, IEEE Transactions on vol. 8, Issue 3, Jul.-Sep. 2002 pp.:223-238 .quadrature..quadrature.. cited by examiner .
Zwicker, M. et al., "EWA Splatting," IEEE Transactions on Visualization and Computer Graphics, vol. 8, No. 3, Jul. to Sep., 2002, pp. 223-239. cited by other .
Chen, B. et al., "Footprint Area Sampled Texturing," IEEE Transaction on Visualization and Computer Graphics, vol. 10, No. 2, Mar. to Apr. 2004, pp. 230-240. cited by other .
The following three notices (1)-(3) are PCT notices in the corresponding PCT Application No. PCT/US04/29393. cited by other .
(1) Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration. cited by other .
(2) International Search Report. cited by other .
(3) Written Opinion of the International Searching Authority. cited by oth- er.

Primary Examiner: Razavi; Michael
Assistant Examiner: Woods; Eric
Attorney, Agent or Firm: Sughrue Mion, PLLC

Claims



The invention claimed is:

1. A digital signal processing method for optimized hardware and software implementation of single-pass digital image resampling with an anisotropic filter to transform a two-dimensional video input image having an input pixel coordinate space and input digital pixel data, into an output image having an output pixel coordinate space and output digital pixel data, said method comprising: (a) obtaining two-dimensional video input digital image data for an output pixel; (b) mapping the output pixel coordinates onto the input image coordinate space to determine a mapped coordinate position; (c) determining the Jacobian matrix of the output pixel coordinates with respect to the input coordinates at the mapped coordinate position determined in (b); (d) determining major and minor radii and the orientation of the major radius to uniquely determine an ellipse around the mapped coordinate position determined in (b), formed by two row vectors of the determined Jacobian matrix in (c); (e) extending and adjusting the radii of said ellipse based on a required image quality and a required processing speed; (f) determining a footprint based on the result of (e) in the input image coordinate space around said mapped coordinate position determined in (b), to include input pixels participating in the filtering; (g) transforming the ellipse of (d) into a circle having a radius of one unit to facilitate distance calculation of the included input pixels from the center of the circle; (h) determining coefficients of the anisotropic filter for all input pixels in the footprint from a circularly symmetric profile as a function of the distance in (g); (i) determining the value of the output pixel by accumulating values of the input pixels inside the footprint with coefficients determined in (h); and saving the value of the output pixel.

2. The method of claim 1, wherein the radii and the orientation of said ellipse are characterized via a 2.times.2 matrix, and wherein at least one element of said matrix is forced to be zero.

3. The method of claim 2, wherein pre-calculated values of non-zero elements of said 2.times.2 matrix in a subset of output pixels are surface pre-fitted, and wherein the matrix elements for an output pixel are evaluated from the fitting parameters during resampling.

4. The method of claim 1, wherein the major radius of said ellipse is aligned alongside an edge orientation perpendicular to the direction of the greatest intensity variation in the mapped input pixel position, and the lengths of the radii depend on the strength of the edge characterized by the confidence level of the edge orientation estimate.

5. The method of claim 1 wherein an elliptical footprint is used, and wherein the method uses a two-dimensional resampling filter with elliptical frequency response controlled by a matrix derived from said Jacobian matrix.

6. The method of claim 1 wherein a fixed size rectangular footprint is used, and wherein the method uses a two-dimensional resampling filter with elliptical frequency response controlled by a matrix derived from said Jacobian matrix.

7. The method of claim 1, further combining profiles of sharpening and resampling components of the filter, to produce a detail enhanced output image.

8. A digital signal processing system for optimized hardware and software implementation of single-pass digital image resampling with an anisotropic filter to transform a two-dimensional video input image having an input pixel coordinate space and input digital pixel data, into an output image having an output pixel coordinate space and output digital pixel data, said system comprising the following stages: (a) an input interface for obtaining two-dimensional video input digital image data for an output pixel; (b) a coordinates generator for mapping the output pixel coordinates onto the input image coordinate space to determine a mapped coordinate position; (c) a local scale estimator, coupled to said input interface and said coordinate generator, for determining the Jacobian matrix of the output pixel coordinates with respect to the input coordinates at the mapped coordinate position; (d) said local scale estimator, being further adapted for determining the major and minor radii and the orientation of the major radius to uniquely determine an ellipse around the mapped coordinate position, formed by two row vectors of the determined Jacobian matrix in (c); (e) said local scale estimator, being further adapted to extend and adjust the radii of said ellipse based on a required image quality and a required processing speed; (f) a footprint generator, coupled to said local scale estimator and said coordinates generator, for determining a footprint in the input image coordinate space around the mapped coordinate position, to include input pixels participating in the filtering; (g) a filter coefficients generator, coupled to said footprint generator and said local scale estimator, to transform the ellipse of (d) into a circle having a radius of one unit to facilitate distance calculation of the included input pixels from the center of the circle; (h) said filter coefficient generator, being further adapted to determine coefficients of the anisotropic filter for input pixels in the footprint from a circularly symmetric profile as a function of the distance in (g); (i) a filter, coupled to said filter coefficient generator and said footprint generator, to determine the value of the output pixel by accumulating values of the input pixels inside the footprint with coefficients determined in (h); and (j) an output interface, coupled to said filter, to save the value of the output pixel.

9. The system of claim 8, wherein said local scale estimator is adapted to characterize the radii and the orientation of said ellipse via a 2.times.2 matrix, and wherein at least one element of said 2.times.2 matrix is forced to be zero.

10. The system of claim 9, wherein pre-calculated values of non-zero elements of said 2.times.2 matrix in a subset of output pixels are surface pre-fitted and said local scale estimator is adapted to evaluate the matrix elements for an output pixel from the fitting parameters during resampling.

11. The system of claim 8, wherein said local scale estimator is adapted to align the major radius of said ellipse alongside an edge orientation perpendicular to the direction of the greatest intensity variation in the mapped input pixel position, and set the lengths of the radii based on the strength of the edge characterized by the confidence level of the edge orientation estimate.

12. The system of claim 8, wherein said footprint generator is adapted to use an elliptical footprint and said filter coefficients generator is adapted to use a two-dimensional resampling filter with elliptical frequency response controlled by a matrix derived from said Jacobian matrix.

13. The system of claim 8, wherein said footprint generator is adapted to use a fixed size rectangular footprint and said filter coefficients generator is adapted to use a two-dimensional resampling filter with elliptical frequency response controlled by a matrix derived from said Jacobian matrix.

14. The system of claim 8, wherein said filter coefficients generator is adapted to combine profiles of sharpening and resampling components of the resampling filter to produce a detail enhanced output image.
Description



FIELD OF THE INVENTION

This invention relates to filtering methods in digital image transformation, and in particular, anisotropic filtering in signal resampling in single-pass digital image warping systems.

BACKGROUND OF THE INVENTION

A digital image is basically a two-dimensional array of digital data with each entry representing a pixel of the digitized image. Pixel data contain intensity components like red, green, and blue (RGB). Display systems electronically assign intensity values to these different components based on input digital data. The displayed images, however, may have various optical and geometric distortions, such as lens distortions such as pincushion and barrel distortions, projection keystone distortions, and so on. One way to compensate for these distortions is digital image warping, or "non-uniform scaling". Image warping may be defined as a process of dynamically resampling a regularly spaced input image to produce an output image with different spacing than the input image. Image warping is widely used in linear scaling operations like zoom and shrink, which are particular and simpler cases.

There are two basic stages in an image warping system: spatial transformation, and resampling.

A spatial transformation is defined as a mapping function between pixel coordinates in the input and output images. Inverse mapping, which specifies coordinates in the input image as a function of the coordinates in the output image, is usually used to cover the entire output image coordinate space and to avoid leaving "holes".

Resampling, on the other hand, is the process of using several input pixels surrounding an input pixel to interpolate the output image pixels. The neighborhood containing these input pixels, which participate in the interpolation, is called filter footprint. It is well known in the art that the larger the filter footprint, the better the output image quality. In addition, anisotropic footprints are known to yield better output image quality. There is a trade off between the size and anisotropy of the footprint and the efficiency of the hardware implementation. Resampling is accomplished by dynamically band limiting the spatial frequency of the warped image to the Nyquist limit in all directions around the processed output pixel.

In order to reduce hardware resources required for filtering, image warping can be conducted in two separate horizontal and vertical passes. In this case the transformation must be separable (i.e., capable of being decomposed), into a sequence of two orthogonal, one-dimensional transformations. Examples of two-pass warping are used in U.S. Pat. Nos. 5,175,808, 5,594,676, and 6,061,477. The two-pass approach has many drawbacks however. Firstly, not all geometrical transformations are separable (bottleneck and fold over problems). Secondly, the separation itself may introduce geometrical distortions. Thirdly, two-pass filtering is prone to producing jagging artifacts, especially when the geometrical transformation has rotational component. Therefore, it is desirable to design a single-pass method for 2D image transformation (warping) that is free from disadvantages of the two-pass algorithm.

In multi-rate signal processing, in order to avoid unwanted artifacts, the resampling process of a digital image includes the following steps: reconstructing the continuous signal from its discrete samples, warping the continuous signal, low pass filtering the continuous signal to eliminate aliased frequencies above the normalized Nyquist frequency in the target image, and sampling the continuous warped signal at the output pixel grid sampling locations.

It is known in the art that these steps of the ideal resampling procedure may be concatenated into a single unified elliptical Gaussian filter called Elliptical Weighted Averaging [Paul S. Heckbert, "Fundamentals of Texture Mapping and Image Warping", master Thesis, UCB, 1989]. Since then many efforts have been made to reduce needed hardware in terms of memory and clocks by using approximations of the ellipse radii.

U.S. Pat. No. 6,016,152, to Dickie, discloses apparatus and method for non-uniform image scaling approximated by corresponding affine transformation, which is used to define an ellipse in the source image. A linear transformation from a unit circle in the source image to the ellipse in the source image is calculated. A pixel value in the destination image is determined by identifying pixels included in the source image in order to reduce artifacts in non-uniform scaling applications.

U.S. Pat. No. 6,005,582, to Gabriel et. al., discloses method and system for texture mapping images with anisotropic filtering that includes passing an interpolating filter along a line of anisotropy in a texture map and computing a weighted sum of the outputs of the interpolating filter to compute pixel intensity values. The weighting of these output values can be computed using a one-dimensional digital filter. The line of anisotropy is derived from the inverse transform, which describes the mapping of a point on the surface of a geometric primitive to a point in the texture map.

U.S. Pat. No. 6,292,193, to Perry et. al., discloses techniques for anisotropic texture mapping using multiple space-invariant filtering operations per pixel. A circular pixel filter is projected onto a texture map to define an elliptical footprint in that texture map. Sample points are determined on a line in the footprint that closely approximates the major axis of the ellipse. These sample points are mapped to levels of detail and locations within mip-map. Using a space invariant filter, a texture value is computed for each sample point using data from one or more texture maps within mi-map. These texture values for the sample points are post-filtered using a Gaussian filter function and summed to produce a final texture value.

European Patent No. EP0920671B1, to Lohmeyer et. al., discloses method for computationally efficient single pass digital image warping that consists of the following stages: increasing the sampling rate of an input image above Nyquist rate, warping the upsampled image using a low quality interpolator such as a bilinear interpolator, and downsampling the warped image to the same resolution as the input image. Downsampling and warping stages can be combined into one step by modifying the geometric transformation function when warping the upsampled image.

However, these and other prior art systems provide a modest trade-off between aliasing and sharpness because their impulse responses produce pure frequency responses. Therefore, there is a need for an improved interpolation method and apparatus to support more flexible filtering in digital image warping system.

SUMMARY OF THE INVENTION

The present invention in one aspect provides a digital signal processing method for optimized hardware and software implementation of real-time single-pass digital image resampling with an anisotropic filter to transform a two-dimensional input image having an input pixel coordinate space and input digital pixel data, into an output image having an output pixel coordinate space and output digital pixel data, said method comprising: (a) obtaining two-dimensional input digital image data for an output pixel; (b) mapping the output pixel coordinates onto the input image coordinate space to determine a mapped coordinate position; (c) determining the Jacobian matrix of the output pixel coordinates with respect to the input coordinates at the mapped coordinate position determined in (b); (d) determining major and minor radii and the orientation of the major radius to uniquely determine an ellipse around the mapped coordinate position determined in (b), formed by two row vectors of the determined Jacobian matrix in (c); (e) extending and adjusting the radii of said ellipse based on a required image quality and a required processing speed; (f) determining a footprint based on the result of (e) in the input image coordinate space around said mapped coordinate position determined in (b), to include input pixels participating in the filtering; (g) transforming the ellipse of (d) into a circle having a radius of one unit to facilitate distance calculation of the included input pixels from the center of the circle; (h) determining coefficients of the anisotropic filter for all input pixels in the footprint from a circularly symmetric profile as a function of the distance in (g); (i) determining the value of the output pixel by accumulating values of the input pixels inside the footprint with coefficients determined in (h); and (j) saving the value of the output pixel.

The invention in another aspect provides a digital signal processing system for optimized hardware and software implementation of real-time single-pass digital image resampling with an anisotropic filter to transform a two-dimensional input image having an input pixel coordinate space and input digital pixel data, into an output image having an output pixel coordinate space and output digital pixel data, said system comprising the following stages: (a) an input interface for obtaining two-dimensional input digital image data for an output pixel; (b) a coordinates generator for mapping the output pixel coordinates onto the input image coordinate space to determine a mapped coordinate position; (c) a local scale estimator, coupled to said input interface and said coordinate generator, for determining the Jacobian matrix of the output pixel coordinates with respect to the input coordinates at the mapped coordinate position; (d) said local scale estimator, being further adapted for determining the major and minor radii and the orientation of the major radius to uniquely determine an ellipse around the mapped coordinate position, formed by two row vectors of the determined Jacobian matrix in (c); (e) said local scale estimator, being further adapted to extend and adjust the radii of said ellipse based on a required image quality and a required processing speed; (f) a footprint generator, coupled to said local scale estimator and said coordinates generator, for determining a footprint in the input image coordinate space around the mapped coordinate position, to include input pixels participating in the filtering; (g) a filter coefficients generator, coupled to said footprint generator and said local scale estimator, to transform the ellipse of (d) into a circle having a radius of one unit to facilitate distance calculation of the included input pixels from the center of the circle; (h) said filter coefficient generator, being further adapted to determine coefficients of the anisotropic filter for input pixels in the footprint from a circularly symmetric profile as a function of the distance in (g); (i) a filter, coupled to said filter coefficient generator and said footprint generator, to determine the value of the output pixel by accumulating values of the input pixels inside the footprint with coefficients determined in (h); and (j) an output interface, coupled to said filter, to save the value of the output pixel.

One example implementation of the present invention provides a method for generating a circularly symmetric profile of an anisotropic filter to produce sharpness and detail enhancement in an image.

In one example of the present invention, the filter's footprint has an elliptical shape extended by some factor, which establishes trade-off between image quality and processing speed.

In another example of the present invention, the filter's footprint has a fixed rectangular shape in order to minimize the complexity and bandwidth of a caching subsystem in the image warping system.

In yet another example of the present invention, the shape of the obtained ellipse is adjusted in accordance with local edge orientation.

Further details of different aspects and advantages of the embodiments of the invention will be revealed in the following description along with the accompanying drawings.

BRIEF DESCRIPTION OF DRAWINGS

The accompanying drawings:

FIG. 1 is a block diagram illustrating a preferred embodiment of the image warping system built in accordance with the present invention;

FIG. 2 is a graphical representation of an example of mapping an output pixel from output image space into an ellipse in the input image space;

FIG. 3 is a graphical representation of anelliptical filter with deployed circularly symmetric profile over elliptical or rectangular footprint;

FIG. 4A is a graphical representation of the two-dimensional impulse response of the anisotropic filter with circularly symmetric profile;

FIG. 4B is a graphical representation of the two-dimensional frequency response of the anisotropic filter with circularly symmetric profile;

FIG. 5A is a graphical representation of the flow logic executed by the image warping system of FIG. 1; and

FIG. 5B is a graphical representation of the flow logic of an example of a system build in accordance with the present invention and using surface fitting to generate three invented parameters of a linear transformation from an ellipse to unit circle.

DETAILED DESCRIPTION OF THE INVENTION

Reference is first made to FIG. 1 which shows an image warping system 100 made in accordance with a preferred embodiment of the invention. Image warping system 100 is a single-pass digital image warping system with circularly symmetric anisotropic filtering. Image warping system 100 includes a coordinates generator 112, a local scale estimator 114, a footprint generator 122, a filter coefficients generator 124, and a filter 126. The coordinates generator 112 transforms pixel coordinates from an output image space onto an input image space. Local scale estimator 114, calculates parameters of a linear transformation to a unit circle from an ellipse that approximates non-uniform image scaling function in the mapped output pixel. Footprint generator 122 determines input pixels to be participated in the filtering. Filter coefficients generator 124 calculates weights of the input pixels in the footprint using circularly symmetric profile. Finally, filter 126 calculates the output pixel.

Image warping system 100 includes two major units: a geometry engine 110 and a filter engine 120. The function of geometry engine 110 relates to geometric transformations.

Geometry engine 110 includes coordinates generator 112 and local scale estimator 114. Coordinates generator 112 maps the coordinates of an output pixel onto the input image coordinate space. This transformation could range from a straightforward scaling to a complicated warping. Mapping output coordinates onto input coordinates, or the so-called inverse transformation, has many advantages known to people skilled in the art, including covering the entire output pixel space and not leaving "holes" in the output image.

Another element of geometry engine 110 is local scale estimator 114, which is crucial to the operation of filter engine 120 in calculating filter coefficients, as will be explained in more detail.

Local scale estimator 114 calculates elements of a 2.times.2 matrix that determines a linear transformation from an ellipse to a circle of radius one. This transformation approximates a non-uniform image scaling function in the position of the mapped output pixel and it is calculated based on the Jacobian matrix, which is a matrix containing first-order partial derivatives of a vector function in its rows. As illustrated in FIG. 2, the Jacobian matrix is a local affine approximation of the local mapping function at the position of the mapped output pixel 210:

.function..differential..differential..times..differential..differential..- times..differential..differential..times..differential..differential..time- s. ##EQU00001##

The rows of the Jacobian matrix form two vectors 220 and 230 that determine the ellipse 240 with major radius 250, minor radius 260, and angle 270 between major radius and horizontal direction.

The ellipse 240 is characterized with a 2.times.2 transformation matrix based on the Jacobian matrix. Since three parameters are enough to describe an arbitrarily oriented ellipse (for example, two orthogonal radii and the orientation angle of the major radius define the ellipse), this matrix may be calculated in such a way that only three of its elements are non-zero and the fourth element is always zero.

In one example of the invention, local scale estimator 114 computes elements of the matrix M to implement the following linear transformation:

''.times. ##EQU00002## where (u,v) are source pixel coordinates relative to the center of the ellipse, and (u',v') are "ellipse space" coordinates. In the ellipse space, coordinates of the pixels inside the ellipse satisfy the equation: r.sup.2(u',v')=(u').sup.2+(v').sup.2.ltoreq.1.

Accordingly, matrix M maps the ellipse onto a circle of radius one. To generate this matrix, first the ellipse's major radius .lamda..sub.1, minor radius .lamda..sub.2 and angle .alpha..sub.1 of the major radius with the horizontal direction are found from the Jacobian matrix. Then, any required radii limitations are applied. Finally, three non-zero elements of M are calculated from these three parameters.

Local scale estimator 114 uses the rows of the Jacobian matrix J to solve the following equation: Q=J.sup.-1(J.sup.-1).sup.T.

Solving the above equation for J, under the constraint that the basis is orthogonal, i.e.:

.lamda..lamda..times..times..times..alpha..times..times..alpha..times..tim- es..alpha..times..times..alpha. ##EQU00003## eigenvectors of the Jacobian can be computed. In one example of the invention, this is done by first calculating the following intermediate variables from the elements of the Jacobian matrix: A=v.sub.x.sup.2+v.sub.y.sup.2, B=-2(u.sub.xv.sub.x+u.sub.yv.sub.y), C=u.sub.x.sup.2+u.sub.y.sup.2, F=(u.sub.xv.sub.y-u.sub.yv.sub.x).sup.2, P=A-C, Q=A+C, T=sign(P) {square root over (P.sup.2+B.sup.2)}.

Then the lengths of the orthogonal radii of the ellipse, which are the required eigenvalues, are represented by the values:

.lamda..function..times..times..lamda..function..times..times. ##EQU00004##

Finally, the angle of the major radius with respect to the horizontal direction is calculated as follows:

.times..times..alpha..function..times..function..times..lamda..times..time- s..times..times..times..times..times..times..times..alpha..times..times..t- imes..times..times..times..times..alpha. ##EQU00005## or:

In a particular example of the invention, the obtained ellipse may be extended by some factor to provide better flexibility in terms of image quality and processing speed. For example, if the input and output images are small enough, one can increase the footprint by some factor (i.e. perform filtering over a greater area). This will improve image quality because of better frequency response of the two-dimensional filter. On the other hand, the footprint may be reduced down to a minimal size in the case of large input and output images or big local shrink scales.

In addition, in order to restrict the number of processed pixels in a case of local shrink as a result of the warp map, two limits are imposed on .lamda..sub.1 and .lamda..sub.2. The first limit .lamda..sub.max bounds maximum length of the ellipse radii and the second .beta..sub.max limits the anisotropy ratio, i.e. a ratio of the major to minor radii. Moreover, if either of .lamda..sub.1,.lamda..sub.2 is less than a predetermined minimum, it is replaced by the third limit .lamda..sub.min, which obviously should not be smaller than one. This last limit ensures that the filter footprint is never too small to perform interpolation. This limiting process may be expressed by the following equations: .lamda..sub.1.rarw.cut(.lamda..sub.min,.lamda..sub.1,.lamda..sub.max), .lamda..sub.2.rarw.cut(.lamda..sub.min,.lamda..sub.2,.lamda..sub.max), .lamda..sub.1.rarw.min(.lamda..sub.1,.lamda..sub.2.beta..sub.max).

In one example of the invention, if, after imposing the limits, both radii are equal to one, which means that there is a local expansion in all directions, the ellipse's radii are adjusted according to the orientation of the local edge. The minor radius is kept as one and the major radius is extended proportionally to the strength of the edge.

The calculation of the matrix M is contrived so that M.sub.10 is zero. This is done by concatenating onto the matrix M a suitable rotation in (u',v') space, which does not affect the radius. The mapping to the "ellipse space" (u',v') by means of M can be expressed as:

.times..times..theta..times..times..theta..times..times..theta..times..tim- es..theta..times..times..times..alpha..lamda..times..times..times..alpha..- lamda..times..times..times..alpha..lamda..times..times..times..alpha..lamd- a..times. ##EQU00006## where R.sub.u is the extension factor. The right-hand matrix rotates the coordinate space by the angle of the ellipse's major axis, then scales it non-uniformly in the axes directions so that the ellipse itself maps onto the unit circle. The left-hand matrix provides an additional rotation by .theta.. Since the left-hand rotation has no effect on filter's coefficient calculations, we can choose it arbitrarily to force M.sub.10 to zero, i.e.:

.times..times..theta..lamda..times..times..times..alpha..lamda..times..tim- es..times..alpha..times..times..times..times..times..times..theta..lamda..- times..times..times..alpha..times..times..theta..lamda..times..times..time- s..alpha. ##EQU00007## .lamda..times..times..alpha..lamda..times..times..alpha. ##EQU00007.2## Substituting these values and replacing .beta.=.lamda..sub.1/.lamda..sub.2 we finally obtain

.times..lamda..times..lamda..times..beta..times..beta..beta..times..beta..- times..times..times..times..alpha..function..beta..times..beta..beta..time- s..beta..times..times..times..times..alpha..beta..times..beta..times..time- s..times..times..alpha. ##EQU00008##

As shown in FIG. 3, a radius 310 of the input pixel 320, inside the elliptical footprint 330 or rectangular footprint 340, is considered as an index into a look-up table with profile (impulse response) 350 of a circularly symmetric filter. The profile of the circularly symmetric filter is stretched or shrunken in accordance with a distance from a center of the ellipse to its edge in a direction of input processed pixel. In this figure, .lamda..sub.1 is a major radius 360, .lamda..sub.2 is a minor radius 370 and R.sub.u is the ellipse extension factor. If .lamda..sub.1=.lamda..sub.2=1, then the filter performs upsampling in all directions. If .lamda..sub.1>1,.lamda..sub.2>1, then the filter performs downsampling in all directions. But, if .lamda..sub.1>1,.lamda..sub.2=1, then there is a mixture of upsampling and downsampling with a smooth transition between expansion and shrinking.

In a case of fixed extension factor R.sub.u and fixed number of coefficients N in the impulse response, the circularly symmetric profile has variable length and variable fractional bandwidth that depend on the ellipse orientation and shape. Two-dimensional impulse and frequency responses of the filter for the particular case of R.sub.u=2 and N=256 are shown in FIG. 4A and FIG. 4B respectively.

In case of anisotropic elliptical filtering, filter engine 120 needs at least five parameters to generate warped image: two coordinates u,v to map output pixel coordinates to the input image coordinate space and three parameters M.sub.00,M.sub.01,M.sub.11 to represent a linear transformation from an ellipse to a unit circle.

Since for some spatial transformations the first two maps may be very complicated or even may not have analytical form, in one particular example of the invention, these maps are approximated by surfaces fitted with polynomials:

.function..times..times..times..times..times..times..function..times..time- s..times..times..times..times. ##EQU00009## where a.sub.ij,b.sub.ij are polynomial coefficients, and I,J are degrees of the polynomials. This representation is abstracted from a physical model of the spatial transformation and, as a benefit, has a compact representation of the mapping functions.

In one example of the invention, the elements of the matrix M, which represent a linear transformation from an ellipse to a unit circle, are calculated directly from the coordinate polynomials in real time. They are calculated from the Jacobian matrix, the four elements of which are partial derivatives of the two coordinate polynomials.

In another example of the invention, the elements of the matrix M are represented by polynomial fitted surfaces, in order to save in computation time, as follows:

.function..times..times..times..times..times..times..function..times..time- s..times..times..times..times..times..function..times..times..times..times- ..times..times. ##EQU00010## where c.sub.ij,d.sub.ij,e.sub.ij are polynomial coefficients, and I,J are orders of the polynomials.

Footprint generator 122 defines an area around the mapped position of the output pixel in the input image coordinate space to include input pixels for generating the output pixel data. In one example of the invention, the footprint has an elliptical shape based on computed elements of the matrix M. This example provides better image quality but demands more hardware resources. In another example of the invention, the footprint has a rectangular shape in order to minimize the complexity of a pixel inclusion while compromising on output image quality.

Filter coefficients generator 124 evaluates weights of the input pixels included in the footprint. In one example of the invention, the weight of an input pixel is a function of its distance from the center of the ellipse mapped onto a circle of radius one. In one particular implementation of this example, these weights are calculated dynamically for higher flexibility at the expense of hardware resources. In another implementation, in order to save on hardware resources, the weights are taken from a look-up table with pre-calculated circularly symmetric profile.

To understand the method of generating the profiles, it is necessary to mention that there are four standard approaches to design a two-dimensional finite impulse response (FIR) filter: the window method, the frequency sampling method, the frequency transformation method, and the optimal filter design. The window method, which is a straightforward extension of a one-dimensional filter design, has been chosen, in one example of the invention, for the design of circularly symmetric filter profile.

If the frequency response H(.omega..sub.u,.omega..sub.v) is known, one can determine the impulse response of the filter h(u',v') by inverse Fourier transformation. The required finite impulse response (FIR) filter is obtained by truncating the impulse response h(u',v') and multiplying it by a window function w(u',v'), so that h.sub.d(u',v')=h(u',v')w(u',v').

A desirable frequency response for image warping is a circularly symmetrical ideal lowpass filter

.function..omega..omega..omega..omega..ltoreq..omega..pi..ltoreq..omega..o- mega..ltoreq..pi. ##EQU00011##

An impulse response of such a filter with cutoff frequency of .omega..sub.c is given by

.function.''.omega..times..pi..times..times..function.''.times..function..- omega..times..function.'' ##EQU00012## where

.function.''.times.''.times. ##EQU00013## is the normalized radius, n satisfies 0.ltoreq.n<N, J.sub.1 is the Bessel function of the first kind and first order. The two-dimensional window w(u',v') is based upon a one-dimensional Kaiser window prototype. With the rotated formulation the actual region of support for the design will be a circular subregion of R.sub.u.

.function.''.function..beta..times..function.''.times..beta..function.''.l- toreq. ##EQU00014## where I.sub.0( ) is the modified Bessel function of the first kind, order zero, .beta. is a parameter.

Visual appearance of the output warped image may be significantly improved by emphasizing its high frequency contents to enhance the edges and details therein. Filter coefficients generator 124, in one example of the invention, uses the classic linear unsharp masking algorithm for this purpose. In this technique a fraction of the high-pass filtered image is added to the image itself. In one modification of the linear unsharp masking algorithm, when low-passed filtered (smoothed) signal over pixel's neighborhood is subtracted from the pixel's value, the enhanced image O(x,y) is obtained from the input image I(x,y) as follows: O(x,y)=I(x,y)+.alpha.(I(x,y)-I.sub.s(x,y))=(1+.alpha.)I(x,y)-.alpha.I.sub- .s(x,y), where I(x,y) and O(x,y) are input and output pixel values, I.sub.s(x,y) is a smoothed pixel value over some neighborhood, and .alpha. is a factor of enhancement. Here, a .alpha.<0 implies smoothing, .alpha.=0 implies bypass, and .alpha.>0 implies sharpening.

In a case of digital image warping, this formula is transforming to the following O(x,y)=(1+.alpha.)I.sub.w(x,y)-.alpha.I.sub.s(x,y), where I.sub.w(x,y) is a warped pixel value and I.sub.s(x,y) is a smoothed pixel value in the output space. The footprint for calculating the warped and smoothed pixel values is the same. In order to save on hardware resources the two operations are combined in one circularly symmetric profile, which assumes both filtering terms. These terms take the form:

.function..times..alpha..times..function..times..times..times..function..f- unction..times..times..alpha..times..function..times..times..times..functi- on..function..times..times..times..function..times..times..alpha..times..a- lpha..times..function..times..function..times..times..times..function..fun- ction..times. ##EQU00015## where k.sub.n.sup.w are warping filter's coefficients, k.sub.n.sup.s are smoothing filter's coefficients, and index n counts input pixels (u.sub.n,v.sub.n) belonging to the footprint. The number of input pixels N(x,y) in the footprint is a function of output pixel coordinates. So, we have a new set of coefficients

.alpha..times..alpha..times..function..times..function..times..times. ##EQU00016## that assume both smoothing and warping components in the filter for detail enhancement of the output image, where

.function..times..function..times. ##EQU00017##

As seen from the last equation, this approach for detail enhancement can be applied if a ratio of coefficient sums over the same footprint is a constant for all output pixels of the warp, i.e.

.function..function..function..function..times..function..times. ##EQU00018## For an elliptical footprint, the constant T may be estimated by the following equation:

.apprxeq..times..times..times..times. ##EQU00019## where i counts filter's taps, s.sub.i is an area of an elliptical ring occupied by i-th coefficient, N.sup.w is the number of taps in warping part of the filter and N.sup.s is the number of taps in smoothing part of the filter.

If .lamda..sub.1,.lamda..sub.2 are major and minor radii of the elliptical footprint, then

.times..pi..times..lamda..function..times..times..lamda..function..times..- pi..times..lamda..times..times..lamda..times..times..pi..lamda..times..lam- da..times..times..times..pi..lamda..times..lamda..times..times..times. ##EQU00020## and

.function. ##EQU00021## where N is the maximum number of the filter taps.

After substituting we finally get:

.times..times..pi..times..lamda..times..lamda..times..times..times..times.- .times..times..pi..times..lamda..times..lamda..times..times..times..times.- .times..times..times..times..times..times..times..times. ##EQU00022## If N.sup.w>N.sup.s, then k.sub.i.sup.s=0 for N.sup.s.ltoreq.i<N.sup.w, and if N.sup.s>N.sup.w then k.sub.i.sup.w=0 for N.sup.w.ltoreq.i<N.sup.s.

As we can see from the last equation, for an elliptical footprint the ratio T depends only on corresponding coefficients of warping and smoothing filters. This means that filter design of the present invention, in this particular implementation, is appropriate for image detail enhancement.

If the circularly symmetric profile is a function of the squared radius instead of the radius itself, then the formula for the calculation of the constant T is reduced to the following:

.times..times..times..times. ##EQU00023##

Once the weights of the input pixels are calculated, filter 126 generates the output pixel by accumulating the input pixel intensities in the footprint. Image warping system 100 then moves on to process the next output pixel until the whole output image is generated.

FIG. 5A represents the logic flow of an example of image warping system 100 built according to the present invention. At step 501 the system receives digital data corresponding to an input image. At step 510, the coordinates of an output pixel are mapped onto input image space. Then, at step 522, the Jacobian matrix that approximates a non-uniform image scaling function in the mapped output pixel position is estimated. At step 524, major and minor radii and angle of the major radius of an ellipse formed by row vectors of the Jacobian matrix are calculated. At step 526, the radii of the ellipse are adjusted in accordance with required output image quality and processing speed. At step 528, the three parameters of the ellipse are used in calculating three non-zero elements of matrix M, which represents a linear transformation from the ellipse to a circle with radius one. At step 530, a footprint containing input image pixels is determined around the mapped coordinates of step 510. The size and shape of this footprint depend on the chosen topology of the filtering and it is a trade-off between desired quality of the output image and computational power. At step 542 for each input pixel in the footprint, a distance between center of the ellipse and the input pixel position is calculated. Filtering coefficients for the inputs pixel from the footprint are calculated from a circularly symmetric profile at step 544 as a function of the calculated distances at the previous step. Finally, at step 550, input pixels from the footprint are accumulated with weights determined at step 544, and the generated output pixel is saved in output image at step 560.

FIG. 5B shows a specific implementation of the flow diagram of FIG. 5A where the three non-zero elements of matrix M are calculated from polynomial fitted surfaces. In this example of the invention, three non-zero elements of the matrix M are calculated for a set of grid points and polynomial fitted with generating fitting coefficients. During digital image warping in each processed output pixel, the matrix elements of M are estimated from the fitting coefficients.

As will be apparent to those skilled in the art, various modifications and adaptations of the structure described above are possible without departing from the present invention, the scope of which is defined in the appended claims

*


Free Web Sudoku Puzzles.
Solve with your browser.
  5 3     7      
7               2
          6 5   8
4 7       8   9  
      1   3      
  1   9       4 5
2   6 4          
5               6
      6     8 2  
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!