WO2003001439A1 - Methodology for data structure characterization, indexing, storage and retrieval - Google Patents

Methodology for data structure characterization, indexing, storage and retrieval Download PDF

Info

Publication number
WO2003001439A1
WO2003001439A1 PCT/US2001/019759 US0119759W WO03001439A1 WO 2003001439 A1 WO2003001439 A1 WO 2003001439A1 US 0119759 W US0119759 W US 0119759W WO 03001439 A1 WO03001439 A1 WO 03001439A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
pixels
index
data image
eigenvalues
Prior art date
Application number
PCT/US2001/019759
Other languages
French (fr)
Inventor
Qiuming Zhu
Original Assignee
The Board Of Regents Of The University Of Nebraska
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by The Board Of Regents Of The University Of Nebraska filed Critical The Board Of Regents Of The University Of Nebraska
Priority to PCT/US2001/019759 priority Critical patent/WO2003001439A1/en
Publication of WO2003001439A1 publication Critical patent/WO2003001439A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5838Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/435Computation of moments

Definitions

  • the present invention relates generally to methods of data structure characterization, indexing, storage and retrieval; and more particularly comprises a method for enabling easy characterization, storage and retrieval of multi-dimensional data structures involving use of a translation, rotation and scaling invariant index which results from concatenating a series of Eigenvalue calculation mediated index elements determined at a plurality of hierarchical data depth levels.
  • a variation thereof pre-selects pixels in data structures which have associated therewith significant intensity and/or color gradient(s) with respect to surrounding pixels, in, for instance, "X" and/or " ⁇ " and/or "Z" direction(s ) , then utilizes said pre-selected pixels in the data structure characterizing spatial first and second central moment calculations.
  • Data structure characterizing vector (s) are constructed from spatial data structure first central moment values, and non-degenerate parameter (s) determined from second central moment calculations, as well as from, when applicable, frequency-of-occurance integer counts of said pre-selected pixels.
  • Data structures such as two dimensional pixel arrays, are being generated at an ever increasing rate. For instance, algorithm generated and scanned computer screen images, X-ray, CT, MRI and NASA satellite, space telescope and solar explorer systems generate thousands of images every day. To make optimum use of said images, however, convenient methods of data characterisation, storage and retrieval are required. For example, a medical doctor might obtain an X-ray image of a patient's chest but has to rely on "diagnostic art" to arrive at a diagnosis. Were it possible to determine an index which characterizes said X-ray image and also enable easy storage and retrieval thereof, it would be possible to compare said index to a catalog of indices of various X-ray images which are known to be associated with various healthy or pathologic conditions. Thus diagnosis could be moved toward the very desirable goal of being objectively definite in a mathematical sense.
  • Data Images are instead typically stored in the form of compressed digital files of hundreds of thousands of binary numbers, and said storage technique does not facilitate easy image characterization, storage and retrieval. And, while it is possible to describe a data image with a text Index, to examine the data image data still requires that the data associated with said Index be retrieved. It is also possible to assign an arbitrary serial number to a data image to facilitate data storage and retrieval, but under this approach the serial number provides no insight to the image and again, to examine data image, requires accessing the image data per se.
  • a preferred approach to the characterization of data images is to base the index on features in the data image.
  • To arrive at such an index is typically computationally complex, requiring hundreds of thousands of calculations. That is, determination of said index must typically be extracted from a data image "off-line".
  • Characteristic indices so determined are called "image indices”, and ideally render a concise description, not only of an image color and intensity content on a row and column basis, but also of the nature and shape of objects therein.
  • Geometric shapes in a data image for example, can require a combination of text annotation and numeric values and often the result is not at all concise.
  • a preferred approach to the characterization of data structures is to base the index on features in the data structure.
  • To arrive at such an index is typically computationally complex, requiring hundreds of thousands of calculations. That is, determination of said index must typically be extracted from a data structure "off-line".
  • Characteristic indices so determined are called "structure indices”, and ideally render a concise description, not only of a structure color and intensity content on a row and column basis, but also of the nature and shape of objects therein.
  • Geometric shapes in a data structures for example, can require a combination of text annotation and numeric values and often the result is not at all concise.
  • Universality image/data structure indices must be extractable from essentially any kind of image to be characte ized, stored and retrieved by use thereof;
  • Inva iance descriptive features in an image/data structure must tolerate change of scale, rotation and translation trans ormations, image object position shifting, calibration of color and pixel intensity and return essentially unchanged image indices;
  • Equal Angular Sampling one approach which provides a rotationally invariant result is termed "Equal Angular Sampling”.
  • Said method provides a concatenation of numbers which are distances from a centroid in a data image to an intersection point with an object boundary.
  • Said technique encounters problems, however, where objects with irregular shapes, with concave boundaries and/or wherein holes are encountered.
  • Patent to Windig, No. 5,841,891 is disclosed, however, as it identifes the calculation of Eigenvalues, but in a method for enhancing images.
  • a Patent to Shimura et al., No. 5,644,756 is also identified as it describes generating calculated feature data for identifying images, with application in image identification.
  • a Patent, No. 5,608,862 to Enokida is disclosed as it describes development of a tag which indicates the length of data in hierarchically coded image data.
  • Patent No. 5,572,726 to Hasuo is disclosed as it describes an index image for use in retrieval of data.
  • Patent No. 5,748,777 to Katayama which describes apparatus and methodology for extracting outline data
  • Patent No. 4,896,364 to ohscheller which describes a method of detecting boundary structures in a video signal
  • Patent No. 5,805,728 to Munesada et al. which describes an edge line measuring method
  • Patent No. 5,930,391 to Kinjo which describes a method of extracting an outer edge in an image
  • Patent No. 5,902,987 to Coffman et al. which describes a method and apparatus for locating the edges of patterns in a stored image
  • Patent No. 5,889, 882 to Senn et al. which describes a method of determining a skin line in a digital medical image
  • Patent No. 5,828,771 to Bloomberg which describes an image processing technique which automatically analyzes an image to determine if it is an original or a copy.
  • Patent No. 5,790,269 to Masaki et al. which describes a method and apparatus for extracting edge or contour information
  • Patent No. 4,849,914 to Medioni et al. which describes a method and apparatus for registering color separation using edge based registration techniques.
  • the present invention provides a method of extracting data indicies from a data structure which results from application of a pixel spatial data structure location based first central moment determined mean, and non-degenerate parameter (s) determined from second central moment values, in "X", "Y” and where a three-dimensional data structure is investigated, "Z" orthogonally related directions. Additional benefit is identified as deriving from a frequency-of- occurance determination based, significant pixel identifying, pre-selection procedure, which results in said data index then being further comprised of typically orthogonally specific frequency integer counts of pre-selected pixels.
  • the Present Invention has as its focus the producing of an Index (I) which is Non-Degenerately, (ie. Uniquely in that each Index describes "One Image” at some Hierarchical Level), descriptive of a Multiple, (eg. Two), Dimensional Data Image (MDDI), which Index (I) is Image Rotation, Translation, Scaling, and Intensity, Color etc. invariant.
  • Index (I) is Image Rotation, Translation, Scaling, and Intensity, Color etc. invariant.
  • Intensity and Color of, for instance, a Digital Data Image are typically combined to form a single value at each Pixel (x, y) location which is a function f(x,y), by for instance, a formula that has as input variables "amounts" of Red, Green and Blue content as well as Intensity for each Pixel).
  • the present invention procedure involves finding, at each of a number of Hierarchical depth levels, Eigenvalues, which Eigenvalues can each be thought of as the Major ( ⁇ ) and Minor ( ⁇ 2 ) Axes of a "Characteristic Virtual Ellipse" which represents said Hierarchical depth--' level .
  • Eigenvalues which Eigenvalues can each be thought of as the Major ( ⁇ ) and Minor ( ⁇ 2 ) Axes of a "Characteristic Virtual Ellipse" which represents said Hierarchical depth--' level .
  • the Image as a whole is considered and subjected to Mathematical Techniques, which lead to determination of + /L 2 ⁇ which n+zUi are the major and minor axes of the Characteristic Virtual Ellipse.
  • the Non-degenerate Index Component (which is a functional focus of the present invention as applied in the context of the Eigenvalues), for said First Level is then calculated from an equation which returns a Non-Degenerate result, such as:
  • the Characteristic Virtual Ellipse Minor Axis Eigenvalue is typically considered as a dividing line between two "Sides” of the Data Image as a whole, and the data on each side thereof is considered separately, at what is the Second Hierarchical Data Depth Level, of the Procedure.
  • additional Eigenvalues which are major and minor axes of characteristic virtual ellipses, are calculated and for each of said two (2) "Sides", and Non-degenerate Index Components for said Second Level are then calculated from Non-Degenerate returning Equations, such as:
  • Non-Degenerate Index is formed by concatenation of the Three Index Components so far found, (ie. (II) from the First Level Data (LI) Image as a whole plus two (12 and 13) from the Second level (L2)):
  • the above procedure can be carried forward to as many Hierarchical Depth Levels as desired to provide a Non-Degenerate Index of a desired length and level of accuracy, even down to where a single Pixel distinguishes the Image defined by a produced Index (I) .
  • a very general present invention method of providing an identifying data set index (I) for an "N" dimensional data set consisting of a multiplicity of pixels comprises the steps of:
  • identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels, said method comprises the steps of:
  • said essentially entire two dimensional data image into at least first and second data image parts about an axis selected from the group consisting of: (said minor axis and said major axis), and for each of said at least first and second data image parts independently determining Eigenvalues therefore, said Eigenvalues being a major axis and a minor axis for a first of said separate characteristic virtual ellipses, and major axis and a minor axis for a second of said separate characteristic virtual ellipses, and optionally independently determining a major axis and a minor axis for at least some of any additional data image parts, and then calculating at least second (12) and/or third (13) non-degenerate data image index elements determined from two of said at least two data image parts, using formulas which return a non-degenerate result;
  • a more focused present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels comprises the steps of:
  • Another present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels comprises the steps of:
  • step b. dividing said each of said first and second image parts from step b., each about an axis selected from the group consisting of: (said minor axis and said major axis thereof), to produce third, forth, fifth and sixth image parts and for at least one of said third, forth, fifth and sixth image parts independently determining Eigenvalues thereof, said determined Eigenvalues being selected from the group consisting of:
  • Said method of providing an identifying data image index (I) for a two dimensional data image consisting 3 R of a multiplicity of pixels can, in steps c. and d. thereof, provide that all of said first (II), second (12), third (13), forth (14), fifth (15), sixth (16) and seventh (17) non-degenerate data index elements, are calculated and concatenated, in any functional permuted order, to provide said identifying data image index ( I ) .
  • Said present invention method can, as a preliminary step, subject the data to a pre-selection criteria to identify pixels which meet specified criteria.
  • a pre-selection criteria involves identifying and retaining pixels which define image feature edges, while eliminating pixels from a data set which are not associated therewith.
  • Such a modified method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels can be recited as comprising the steps of:
  • said Eigenvalues being a major axis ( ⁇ n ) ' and a minor axis ( 22 ) for the first of said separate characteristic virtual ellipses, and major axis ( ⁇ , 3 ) and a minor axis ( ⁇ 23 ) for the second of said separate characteristic virtual ellipses, and then calculating second (I2)-'and third (13) non-degenerate data image index elements using the formulas:
  • an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels comprises the steps of: a. determining Eigenvalues for essentially the entire data image, said Eigenvalues being a major axis ( ⁇ ) and a minor axis ( ⁇ 2 , ) of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using a formula which operates on said Eigenvalues:
  • step d involves calculating four additional non-degenerate data image index element using formula (s) which operate on Eigenvalues corresponding to said first, second, third and forth data image parts determined in step, c; and
  • Said variation on the present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels can further comprise dividing said each of said first, second, third and forth data image parts from step b., each about at least one axis selected from the group consisting of: (said minor axis and said major axis) thereof, to identify at least two, and possibly four, new data image parts in each of said first, second, third and forth data image parts; and for at least some of the new data image parts determining Eigenvalues therefore, said Eigenvalues being a major axis and a minor axis for a characteristic virtual ellipse for said newly formed data image part(s); and concatenating at least some of the calculated non-degenerate data index elements, in any functional permuted order, to provide said identifying data image index (I).
  • index (I) as determined by any of the foregoing methods, it is possible to construct a data image or set by expanding each index element into a set of pixels, by an essential reversal of the recited procedural steps.
  • a the present invention comprises a method of identifying similarities in a first data set to those in a second data set. Said method comprises the steps of, for each said data set: a. determining Eigenvalues for essentially the entire data image, said Eigenvalues being a major axis and a minor axis of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using a formula which operates on said major and minor axes Eigenvalues; and
  • said method of identifying similarities in one a first data set to those in a second data set can comprise the steps of, for each said data set:
  • said essentially entire two dimensional data image into at least first and second data image parts about an axis selected from the group consisting of: (said minor axis and said major axis), and for each of said at least first and second data image parts independently determining Eigenvalues therefore, said Eigenvalues being a major axis and a minor axis for a first of said separate characteristic virtual ellipses, and major axis and a minor axis for a second of said separate characteristic virtual ellipses, and optionally independently determining a major axis and a minor axis for at least some of any additional data image parts, and then calculating at least second (12) and/or third (13) non-degenerate data image index elements determined from two of said at least two data image parts, using formulas which return a non-degenerate result; and
  • the method of identifying similarities in one a first data set to those in a second data set can proceed to comparison of the third (13) and additional non-degenerate data image index elements obtained from each of the data sets.
  • a preferred version of the present invention methodology while again begining with the providing of a data structure, and proceeding to determine at least one data structure characterizing vector (s) which facilitates indexing, storage and retrieval of the data structure, additionally includes data point pre-selection.
  • Data structure characterizing vector (s) is/are then constructed from typically orthogonally specific "frequency-of-occurance" integer counts of pixels which are selected upon meeting an associated intensity or color or combined intensity and color gradient criteria, and for each orthogonal direction, calculated pixel spatial data structure location based first central moment, and non-degnerate parameter (s) determined from second central moment values .
  • pixels pre-selection is desirable is that processing each pixel in a data structure when calculating associated spatial first and second central moments takes time, and because where region(s) of essentially similar pixel intensity or color or combined intensity and color content exists in a data structure there is limited value in performing spatial central moment calculations at every present pixel, (unless, perhaps, the data structure, beneficially visualized as two-dimensional picture graphic, has very few high gradient "edges" of depicted objects therein), the present invention teaches that pixel values in a data structure should be subjected to a "frequency of occurance" pre-selection procedure prior to calculating any data structure pixel "spatial location" based first central moment and non-degenerate parameter (s) determined from second central central moment values.
  • the presently disclosed version of the invention teaches a pre-selection of all pixels in a data structure, (eg. two-dimensional picture graphics), to determine which thereof are in regions in which change:
  • Vx l/3 ⁇ lf(x-l,y + i)-f( x + l, y + i )l
  • V 1 3 ⁇ lf ⁇ x + i,y-l)-f( x + i,y + i)l
  • (C) (aRed + bGreen + cBlue), where aRed, bGreen and cBlue are measures of amounts of Red, Green and Blue present at a pixel location.
  • a combined intensity and color parameter can be arrived at by, for instance, adding (C) to an Intensity representing (I) value). Then performance of spatial distribution central moment calculations is undertaken to provide first and second central moment values, utilizing only the pre-selection procedure identified pixels.
  • the pre-selection procedure then involves checking for reasonably large gradient change in each of the "X” and the "Y”, (and “Z” directions in a 3-D data structure), at each pixel in a data structure, and then includes only pixels whereat a reasonably large gradient is determined to exist in an "X" and/or "Y” and/or "Z” direction, in spatial Pixel location distribution based first and second central moment calculations.
  • the pixel pre-selection procedure determines what pixels have associated therewith sufficiently large gradients of intensity and/or color, while the calculation of first and second central moment based values, (and non-degenerate parameters based on the later), is based on spatial locations of the pixels pre-selected on said basis of intensity and/or colo gradients.
  • the present invention method further provides for defining ranges of gradients in each of the "X” and/or "Y” and/or “Z” directions at pixels, and determining the number of pre-selected pixels which are in each range.
  • a data structure eg. two dimensional picture-graphics or multi-dimensional data structure
  • characterizing, identifying, vector is then constructed for each gradient range, which characterizing vector comprises, for instance, the Integer Number Count of pre-selected pixels in the "X”, and/or the Integer Number Count of pre-selected pixels in "Y”, and/or the Integer Number Count of pre-selected pixels in "Z", directions which have gradients in the selected range, and which vector further comprises spatial first central moments for each of the "X", "Y” and “Z” directions, as well as a non-degenerate parameter constructed from spatial second cental central moment dependent Eigenvalues:
  • the described procedure can repeated for multiple such gradient ranges of intensity or color, or both, (say gradient ranges wherein the gradient is between arbitrary units of say (1 and 10), or between arbitrary units of (11 and 100), or between arbitrary units of (100 and 500)), and the various Integer count number of pixels which fall thereinto in "X" and/or "Y” and/or “Z” directions, and spatial location first central moment, and a non-degenerate parameter constructed from spatial location second central moment values calculated utilizing only the pixels with a gradient value in a range combined to provide a unique data structure (eg. picture-graphics), indexing vector.
  • a unique data structure eg. picture-graphics
  • One such vector can be determined for each range of intensity or color, or both, gradients, and the resulting vectors concatonated to provide a more definite data structure identifying index. It is noted that typical practice provides that once 50% of the pre-selected pixels have been utilized in the various ranges, no additional groupings are formed or required to provide additional vector(s) which are concatonated into the data structure identifying index.
  • V2 ("#X2", "#Y2”, MEAN2 "X”, MEAN2 "Y”, PARM2 )
  • V3 ("#X3", “#Y3”, MEAN3 "X”, MEAN3 "Y”, PARM3 ) ;
  • vectors can be concatonated as a selection from the group consisting of:
  • V3 V2 VI t. to form an a data structure characterizing identifier .
  • the present invention teaches that where at least three (3) different intensity, or color, or combination intensity and color based gradient ranges are defined, and where a data structure characterizing indexing vector is calculated for each, then information in each said of three of said at least three data structure characterizing indexing vectors can be applied to provide three distinct "points", which three distinct "points" can be considered as being the verticies of a triangle.
  • Said triangle defining "points” can be re-calculated at sequential frames in a video, for instance, and sequential changes in said triangle defining "points" identified with Rotation, Translation and Scaling of objects in the data structure being analyzed.
  • a method of tracking changes in a multi-dimensional data structure can be recited as comprising the steps of:
  • a. providing a first frame of a sequence of frames in a multi-dimensional data structure, each of said frames being comprised of pixels and with each of said pixels there being associated intensity and/or color (s) ;
  • intensity gradiant based on intensity and color
  • step d. utilizing information from the separate calculations performed in three of said at least three ranges of gradients in step c. to form three points which are assigned as verticies of a triangle for said first frame of a sequence of frames in a multi-dimensional data structure comprising pixels;
  • each of said frames being comprised of pixels and with each of said pixels there being associated intensity and/or color (s ) ;
  • step b. defining gradient range selection criteria substantially the same as in step b. and utilizing an intensity and/or color gradient determining pre-selection technique which is substantially the same as in step b. to determine pixels in said multi-dimensional data structure which demonstrate an intensity and/or color gradient within at least three of said at least three selected range of gradient (s), said at least three selected range of gradient (s) being substantially the same as in step b.; and
  • step f. pre-selection technique determined pixels to determine first and second central moment values and non-degenerate paramete (s) based upon said second central moment values, said first and second central moment values being based on spatial location distributions of said pixels identified by said pre-selection technique; separate calculations being performed utilizing pixels in each of said at least three ranges of gradients;
  • step g. utilizing information from the separate calculations performed in said three ranges of gradients in step g. to form three points which are assigned as verticies of a triangle for said second frame of a sequence of frames in a multi-dimensional data structure comprising pixels;
  • steps d. and h. comparing the results of practice of steps d. and h. to determine translation, rotation and scaling of objects identified in said first and second sequential frames of said multi-dimensional data structure.
  • the present invention in a very basic sense, is a method of characterizing data structures, (eg. two dimensional picture graphics), comprising:'
  • “#X” is the Integer number of pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "x" direction; .
  • “#Y” is the Integer number of pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "Y” direction;
  • Mean “X” is the spatial location based first central moment of the "#X” pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "X" direction;
  • Mean "Y” is the spatial location based first central moment of the "#Y" pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "Y" direction;
  • PARM is a value calculated from spatial location based second central moment dependent Eigenvalues, utilizing pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "X" and "Y" directions, such as provided by the formula:
  • an intensity gradiant a color gradient; and a gradiant based on intensity and color;
  • said first and second central moments being based on spatial location distributions of said pixels identified by said pre-selection technique.
  • Said present invention method can be further identified as operating on a data structure which is a two . dimensional picture graphic, and in which second central moments and non-degenerate parameter (s) based upon said second central moments are determined, and in which at least one five (5) member data structure characterizing index vector is produced, the members of said at least one five (5) member data structure characterizing index vector being comprised of, in any order:
  • said data structure characterizing indexing vector can be represented as
  • a present invention method of characterizing data structures can also be recited as comprising: a. providing a multi-dimensional data structure comprising pixels with each of which are associated intensity and/or colors;
  • an intensity gradiant a color gradient; and a gradiant based on intensity and color;
  • intensity and color of, for instance, a Digital Data Image are typically combined to form a single value at each Pixel (x, y) location which is a function f(x,y), by for instance, a formula that has as input variables "amounts" of Red, Green and Blue content as well as intensity for each Pixel).
  • the invention as earlier disclosed is a procedure which involves finding, at each of a number of Hierarchical depth levels, Eigenvalues, which Eigenvalues can each be thought of as the Major ( ⁇ ) and Minor ( ⁇ X ) Axes of a "Characteristic Virtual Ellipse" which represents said Hierarchical depth level.
  • the term “Virtual” indicates that the Ellipse is not usually actually drawn, but rather can be helpfully visualized as descriptive of the geometry of the Data).
  • the Image as a whole is considered and subjected to Mathematical Techniques, which lead to determination of ( : i ) , which ( A . 2i ) are the major and minor axes of the Characteristic Virtual Ellipse.
  • the Non-degenerate Index Component, (which is a functional focus of the present invention as applied in the context of the Eigenvalues), for said first Level is then calculated from an equation which returns a Non-Degenerate result, such as:
  • the version presented earlier next typically provides that the Characteristic Virtual Ellipse Minor Axis Eigenvalue is considered as a dividing line between two "Sides” of the Data Image as a whole, and the data on each side thereof is considered separately, at what is the second Hierarchical Data Depth Level, of the Procedure.
  • additional Eigenvalues which are major and minor axes of characteristic virtual ellipses, are calculated and for each of said two (2) "Sides", and Non-degenerate Index Components for said second Level are then calculated from Non-Degenerate returning Equations, such as:
  • Non-Degenerate Index is formed by concatenation of the Three Index Components so far found, (ie. (II) from the first Level Data (LI) Image as a whole plus two (12 and 13) from the second level (L2)):
  • I II 12 13, (or any combination or permutation thereof ) .
  • the above procedure can be carried forward to as many Hierarchical Depth Levels as desired to provide a Non-Degenerate Index of a desired length and level of accuracy, even down to where a single Pixel distinguishes the Image defined by a produced Index (I).
  • the present invention is, in a very basic sense, a method of characterizing data structures, (eg. picture graphics), comprising, in any functional permuted order :
  • an intensity gradiant a color gradient; and a gradiant based on intensity and color;
  • a preferred data structure characterizing indexing vector comprises":
  • said multiple data structure characterizing indexing vectors can be concatonated to provide a more definite data structure characterizing index.
  • a very general method of providing an identifying data structure index (I) for an "N" dimensional data structure consisting of a multiplicity of pixels comprises a pre-selection of pixels in said "N" dimensional data set based upon the meeting of an intensity and/or color gradient determining pre-selection criteria to determine pixels in said data structure which demonstrate an intensity and/or color gradient within a selected range of gradients;
  • said method further comprising the steps of:
  • a present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels comprises a pre-selection of pixels in said two dimensional data set based upon the meeting of an intensity and/or color gradient determining pre-selection criteria to determine pixels in said data structure which demonstrate an intensity and/or color gradient within a selected range of gradients;
  • said method further comprising the steps of:
  • a more focused present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels comprises a pre-selection of pixels in said two dimensional data set based upon the meeting of an intensity and/or color gradient determining pre-selection criteria to determine pixels in said data structure which demonstrate an intensity and/or color gradient within a selected range of gradients;
  • said method further comprising the steps of:
  • Eigenvalues for essentially the entire data image said Eigenvalues being a major axis ( ⁇ u ) and. a minor axis ( ⁇ 21 ) of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using the formula:
  • Another present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels comprises a pre-selection of pixels in said two dimensional data set based upon the meeting of an intensity and/or color gradient determining pre-selection criteria to determine pixels in said data structure which demonstrate an intensity and/or color gradient within a selected range of gradients;
  • said method further comprising the steps of:
  • each o£ said first and second image parts from step b. each about an axis selected from the group consisting of: (said minor axis and said major axis thereof), to produce third, forth, fifth and sixth image parts and for at least one of said third, forth, fifth and sixth image parts, utilizing said pre-selected pixels, independently determining Eigenvalues thereof, said determined Eigenvalues being selected from the group consisting of:
  • Said method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels can f in steps c. and d. thereof, provide that all of said first (II), second (12), third (13), forth (14), fifth (15), sixth (16) and seventh (17) non-degenerate data index elements, are calculated and concatenated, in any functional permuted order, to provide said identifying data image index ( I ) .
  • the present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels comprises a pre-selection of pixels in said two dimensional data set based upon the meeting of an intensity and/or color gradient determining pre-selection criteria to determine pixels in said data structure which demonstrate an intensity and/or color gradient within a selected range of gradients;
  • said method further comprising the steps of:
  • step d involves calculating four additional non-degenerate data image index element using formula (s) which operate on Eigenvalues corresponding to said first, second, third and forth data image parts determined in step, c; and
  • Said variation on the present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels can further comprise dividing said each of said first, second, third and forth data image parts from step b., each about at least one axis selected from the group consisting of: (said minor axis and said major axis) thereof, to identify at least two, and possibly four, new data image parts in each of said first, second, third and forth data image parts; and for at least some of the new data image parts, utilizing pre-deter ined pixels, determining Eigenvalues therefore, said Eigenvalues being a major axis and a minor axis for a characteristic virtual ellipse for said newly formed data image part(s); and concatenating at least some of the calculated non-degenerate data index elements, in any functional permuted order, to provide said identifying data image index (I).
  • index (I) as determined by any of the foregoing methods, it is possible to construct a data image or structure by expanding each index element into a structure of pixels, by an essential reversal of the recited procedural steps.
  • a the present invention comprises a method of identifying similarities in a first data structure to those in a second data structure. Said method comprises a pre-selection of pixels in both data sets based upon the meeting of an intensity and/or color gradient determining pre-selection to determine pixels in said data structure which demonstrate an intensity and/or color gradient within a selected range of gradients;
  • said method further comprising the steps of:
  • said method of identifying similarities in a first data structure to those in a second data structure can comprise the steps of, for each said data structure:
  • the method of identifying similarities in one a first data structure to those in a second data structure can proceed to comparison of the third (13) and additional non-degenerate data image index elements obtained from each of the data structures.
  • the Eigenvalues will be the major and minor axes.
  • a data set can be divided around either the major and minor axis, or some axis formed intermediate thereto.
  • Fig. 1 shows a data image of an airplane and indicates three levels (LI), (L2) and (L3) of data image division.
  • Fig. 2a shows an ellipse with a major axis and a minor axis attributable to level (LI) data in Fig. 1.
  • Figs. 2bl and 2b2 each show ellipse major axis and a minor axis attributable to level (L2) data in Fig. 1.
  • Figs. 2cl, 2c2, 2c3 and 2c4 each show ellipse major axis and a minor axis attributable to level (L3) data in Fig. 1.
  • Figs. 3a, 3b and 3c show that the present invention teaches that where at least three different intensity or color of combination intensity and color based gradient ranges are defined, and where a data structure characterizing indexing vector is calculated for each, then information in each said of three of said at least three data structure characterizing indexing vectors can be applied to provide three distinct "points", which three distinct "points" can be considered as being the verticies of a triangle GA, GB & GC, which triangle can be tracked through sequential frames to detect translation, rotation and scaling.
  • Fig. 4 shows the basic flow of a basic present invention method.
  • Fig. 5 shows the basic flow of a prefered present invention method.
  • a prefered embodiment of the present invention methodology operates on a data structure to provides one or more characterizing vectors. Where a two (2) dimensional data structure is involved, the preferred vector has five (5) elements and appears as:
  • “#X” is the Integer number of pixels selected by applying a pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "X" direction;
  • “#Y” is the Integer number of pixels selected by applying a pre-selection f equency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "Y" direction;
  • Mean "X” is the spatial location based first central moment of the "#X” pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "X" direction;
  • Mean "Y” is the spatial location based first central moment of the "#Y” pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "Y" direction;
  • PARM is a value calculated from spatial location based second central moment dependent Eigenvalues, utilizing pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "X" and "Y" directions, such as provided by the formula:
  • the "IrX”, "#Y” values are arrived by incrementing a counter each time the applying of a gradient test to each pixel in a data structure identifies a pixel as meeting an intensity and/or color gradient test criteria:
  • V ⁇ f(x,y) .
  • Vy perennial _ - ⁇ f ⁇ x,y) t ⁇ x ⁇ y
  • pixel gradient testing methodology would typically return as pixels to . be utilized in said central moment calculations that are identifying of the edges of the depicted airplane object. This, it must be appreciated is a dominant focus of the present invention.
  • Figs. 3a, 3b and 3c show that the present invention teaches that where at least three different intensity or color or combination intensity and color based gradient ranges are defined, and where a data structure characterizing indexing vector is calculated for each, then information in each said of three of said at least three data structure characterizing indexing vectors can be applied to provide three distinct vertex "points", which three distinct vertex "points" can be considered as being the verticies of a triangle GA, GB & GC.
  • Fig. 3a can be considered as a first such calculated triangle obtained utilizing data from a first frame in, for instance, a sequence of video frames.
  • Said triangle defining vertex "points", and associated Midpoint M can be re-calculated at sequential frames said video, for instance, and sequential changes in said triangle defining "points" identified with Rotation, Translation and Scaling of objects in the data structure being analyzed.
  • Fig. 3b shows rotation and translation has occured, as compared to the Fig. 3a, while Fig. 3c demonstrates scaling of the images shown in Figs 3a and 3b.
  • the present invention methodology allows tracking changes in, for instance, sequential two-dimensional video sequences.
  • Mathematical Matrix Symbology provides description of sequential changes in objects data structure as: ROTATI ON TRANSLATION SCALING
  • determining Eigenvalues for essentially the entire data structure said Eigenvalues being a major axis and (N-1) minor axes of a characteristic virtual data structure mathematical object, then calculating a first non-degenerate data structure index element using a formula which operates on said major axis and at least one of said (N-1) minor axes”; or "determining Eigenvalues for essentially the entire data image, said Eigenvalues being a major axis ( ⁇ n ) and a minor axis ( ⁇ ) of a characteristic virtual ellipse"; or
  • Fig. 1 shows a data image of an airplane and indicates three levels (LI), (L2) and (L3) of data image division, (the reason for which will become clear later herein).
  • Fig. 2a shows an ellipse with a major axis ( ⁇ u ) and a minor axis ( ⁇ 2l ) .
  • the Fig. 1 images at level (L2) are arrived at by division of the Fig. 1 image at level (LI) about the minor axis of the ellipse shown in Fig. 2a.
  • the images in the third level (L3) in Fig. 1 are arrived at by dividing the data in level (12) therein around the minor axes in the Figs. 2bl and 2b2 ellipses.
  • practice of the method of the present invention usually does not involve actually plotting the ellipses shown in Figs. 2a - 2c4, and that is why the terminology "virtual ellipse" is often utilized in this Disclosure.
  • Level (LI) and it is to be understood that the same technique applies at levels (L2) and (L3), with the difference being that only portions of the data image are involved at said (L2) and (L3) levels.
  • the data image is considered to be a two dimensional array of pixels, each of said pixels being located by "x" and “y” position indicators, and having associated therewith a magnitude which is arrived at by application of a formula which operates on intensity, and optionally, color content, (eg. Red, Blue and Green percentages).
  • a formula which operates on intensity, and optionally, color content eg. Red, Blue and Green percentages.
  • a uniqueness theorem states that if f(x,y) is piecewise continuous and has nonzero values in a finite part of the x-y plane, then central moments of all orders exist and the central moment sequence m is uniquely determined by f(x,y).
  • the second central moments of an image function f(x,y) are central moments of inertia and are analogous to variances and covariance of a bivariant probability distribution.
  • the 2 x 2 matrix formed by them being:
  • the Eigenvalue matrix is invariant under typically orthogonal linear transformations.
  • the Eigenvector corresponding to the largest Eigenvalue points to the direction with the largest changes of the object image, ie. the longest cross expansion of the 2D shape.
  • the Eigenvalues are the major ( ⁇ x ) and minor ( X 2 ) axis of the so defined ellipse.
  • the descriptors ( x ) and ( ⁇ 2 ) modulate the shape. of the ellipse, and Eigenvalues of the second central moments of the image function f(x,y) uniquely determines an elliptic approximation of the object shape.
  • the described shape descriptors ( , ) and ( ⁇ 2 ) can be acquired at various data depth levels such as demonstrated by (LI) (L2) and (L3) in Fig. 1.
  • Mn m ⁇ xm n ;
  • n n ⁇ n /m 0Q ;
  • New in the present invention methodology is use of the described shape descriptors, generally represented by ( , ) and ( X 2 ) , found f om application of the just recited technique to various portions of the image data at various levels (LI), (L2) (L3) etc., to form a plurality of Non-degenerate Index Elements, (II), (12) (3) etc. which plurality of Non-degenerate Index Elements are then concatenated in any functional permuted order to form a data image identifying Index (I) which is descriptive of the data image. It is to be appreciated that said identifying Index (I) not only characterizes a data image, but also can be easily stored and retrieved by conventional computer programming techniques.
  • Fig. 4 shows the a flow for a basic present invention method. Said method involves calculating Eigenvalues for an N dimensional data set, then dividing said N dimensional data set into first and second data sets and calculating Eigenvalues for each. Arrows exiting the first and second blocks indicate that additional steps, such as utilizing said Eigenvalues to determine and Index comprised of Index Elements can be performed after practice of the methodology therein. Fig. 4 also shows that an additional step of comparing a calculated Index to previously determined Data Set Image Indicies.
  • Fig. 5 shows the basic flow of a non-limiting preferred present invention method. Included is Data Set Pixel preselection.
  • the present invention then is methodology for enabling easy characterization, storage and retrieval of multi-dimensional data structures involving use of a translation, rotation and scaling invariant index which results from concatenating a series of Eigenvalue calculation mediated index elements determined at a plurality of hierarchical data depth levels.
  • the present invention provides a convenient method for comparing the content of two or more data structures, via comparison of corresponding Non-degenerate Index Elements arrived at by practice of the described method. This is especially applicable in comparison of, for instance, medical data images corresponding to a subject and to archieved medical reference images which are, in a practical sense, unidenti iable, hence, unretrievable, in the absence of the methodology present invention.

Abstract

Disclosed is a method for enabling easy characterization, storage and retrieval of multi-dimensional data structures involving use of a translation, rotation and scaling invariant index (A) which results from concatenating a series of Eigenvalue calculation mediated index elements determined at a plurality of hierarchical data depth levels by characterizing spatial first and second central moment calculations (B), optionally including pre-selection of pixels in data structures which demonstrate significant intensity and/or color gradients with respect to surrounding pixels (C). Preferred characterizing vector(s) consist of typically orthogonally specific frequency integer counts of pre-selected pixels, as well as spatial data structure first central moment value(s), and non-degenerate parameter(s) determined from Eigenvalues derived from second central moments.

Description

METHODOLOGY FOR DATA STRUCTURE CHARACTERIZATION, INDEXING, STORAGE AND RETRIEVAL
TECHNICAL FIELD
The present invention relates generally to methods of data structure characterization, indexing, storage and retrieval; and more particularly comprises a method for enabling easy characterization, storage and retrieval of multi-dimensional data structures involving use of a translation, rotation and scaling invariant index which results from concatenating a series of Eigenvalue calculation mediated index elements determined at a plurality of hierarchical data depth levels. A variation thereof pre-selects pixels in data structures which have associated therewith significant intensity and/or color gradient(s) with respect to surrounding pixels, in, for instance, "X" and/or "ϊ" and/or "Z" direction(s ) , then utilizes said pre-selected pixels in the data structure characterizing spatial first and second central moment calculations. Data structure characterizing vector (s) are constructed from spatial data structure first central moment values, and non-degenerate parameter (s) determined from second central moment calculations, as well as from, when applicable, frequency-of-occurance integer counts of said pre-selected pixels.
BACKGROUND
Data structures, such as two dimensional pixel arrays, are being generated at an ever increasing rate. For instance, algorithm generated and scanned computer screen images, X-ray, CT, MRI and NASA satellite, space telescope and solar explorer systems generate thousands of images every day. To make optimum use of said images, however, convenient methods of data characterisation, storage and retrieval are required. For example, a medical doctor might obtain an X-ray image of a patient's chest but has to rely on "diagnostic art" to arrive at a diagnosis. Were it possible to determine an index which characterizes said X-ray image and also enable easy storage and retrieval thereof, it would be possible to compare said index to a catalog of indices of various X-ray images which are known to be associated with various healthy or pathologic conditions. Thus diagnosis could be moved toward the very desirable goal of being objectively definite in a mathematical sense.
Continuing, it must be understood that conventional data bases are stored as text with organization being in terms of fields and values.
Examples are business product, customer lists, sales data etc. To retrieve such data a user must issue a query in text format, similar to what is done in natural languages. It is essentially impossible to use such an approach to store and retrieve the contents of most data images, for example, because there is no convenient manageable way to describe such data images in terms of said fields and values. Data Images are instead typically stored in the form of compressed digital files of hundreds of thousands of binary numbers, and said storage technique does not facilitate easy image characterization, storage and retrieval. And, while it is possible to describe a data image with a text Index, to examine the data image data still requires that the data associated with said Index be retrieved. It is also possible to assign an arbitrary serial number to a data image to facilitate data storage and retrieval, but under this approach the serial number provides no insight to the image and again, to examine data image, requires accessing the image data per se.
A preferred approach to the characterization of data images, which provides an index for use in storage and retrieval thereof, is to base the index on features in the data image. To arrive at such an index, however, is typically computationally complex, requiring hundreds of thousands of calculations. That is, determination of said index must typically be extracted from a data image "off-line". Characteristic indices so determined are called "image indices", and ideally render a concise description, not only of an image color and intensity content on a row and column basis, but also of the nature and shape of objects therein. A problem arises, however, in that many image features can not be easily described. Geometric shapes in a data image, for example, can require a combination of text annotation and numeric values and often the result is not at all concise.
Continuing, it must be understood that conventional data are stored as text, with organization being in terms of alphebetic and numerical value fields. Examples are business product, customer lists, sales data etc. To retrieve such data a user must issue a query in text format, similar to what is done in natural languages. It is, however, essentially impossible to use such an approach to store and retrieve the contents of most data structures, (two dimensional picture graphic data images for example), because there is no convenient manageable way to describe such data structures in terms of said alphabetic and numerical value fields. Data Structures are instead typically stored in the form of compressed digital files of hundreds of thousands of binary numbers, and said storage technique does not facilitate easy data structure indexing, characterization, storage and retrieval. And, while it is possible to describe a data structure with a text Index, to examine the data structure data still requires that the data associated with said index be retrieved. It is also possible to assign an arbitrary serial number to a data structure to facilitate data storage and retrieval, but under this approach the serial number provides no insight to the data, and again, to examine data structure, requires accessing the data per se.
A preferred approach to the characterization of data structures, which provides an index for use in storage and retrieval thereof, is to base the index on features in the data structure. To arrive at such an index, however, is typically computationally complex, requiring hundreds of thousands of calculations. That is, determination of said index must typically be extracted from a data structure "off-line". Characteristic indices so determined are called "structure indices", and ideally render a concise description, not only of a structure color and intensity content on a row and column basis, but also of the nature and shape of objects therein. A problem arises, however, in that many data structure features can not be .easily described. Geometric shapes in a data structures, for example, can require a combination of text annotation and numeric values and often the result is not at all concise.
Relevant considerations in developing an approach to extracting "image indices" from a data image or data structure include:
1. Uniqueness different images/data structures should have different associated indices, (ie. an image index should be non-degenerate);
2. Universality image/data structure indices must be extractable from essentially any kind of image to be characte ized, stored and retrieved by use thereof;
3. Computation- image/data structure indices must be easily computed from any data structure to be characterized, stored and retrieved by use thereof, and computation complexity should be kept to a minimum possible;
4. Conciseness image/data strucutre indices must concise and easy to store;
5. Inva iance descriptive features in an image/data structure must tolerate change of scale, rotation and translation trans ormations, image object position shifting, calibration of color and pixel intensity and return essentially unchanged image indices;
6. Noise resistant random noise entry to image/data structure should not significantly change the image index extracted therefrom.
Previous attempts at extracting an index for an image/data structure have focused on use of:
pixel intensity and color distributions, (see an article titled "Query By Image And Video Content: The QBIC System"), IEEE Trans. on Computers, (Sept. 1995));
pixel texture patterns (see a book titled "Digital Image Processing", Gonzales, Addison-Wesley Pub. (1992)); and
edge and boundary-line shapes, (see a book titled "Digital Image Processing And Computer Vision", Schalkoff, John Wiley & Sons, (1989)),
etc. as the basis of approach. These techniques are mainly based on the calculation of the statistics of a data image in a pixel arrangement. Said techniques often lack universality in that they work when applied to a certain type of data image, but not when applied to other types of data images. Moreover, many previous approaches are not image transformation invariant and do not tolerate entry of noise.
Continuing, one approach which provides a rotationally invariant result is termed "Equal Angular Sampling". Said method provides a concatenation of numbers which are distances from a centroid in a data image to an intersection point with an object boundary. Said technique encounters problems, however, where objects with irregular shapes, with concave boundaries and/or wherein holes are encountered.
The use of Moment Invariants to describe the geometrical shape features of data images was 5 proposed more than thirty (30) years ago by Hu in an article titled "Visual Pattern Recognition By Moment Invariants", IRE Trans, on Information Theory, IT-8, (Feb. 1963). The method is based in modeling an image as a physical object with masses distributed in 0 two dimensional space. It typically treats the pixel intensities as the probability distribution value of the object masses. The central moments in various orders are calculated on distributions. A set of central moment invariants is derived from making 5 algebraic combinations of the central moments. The most important property of he technique is that the resulting descriptive quantities are transformation invariant, (ie. the central moment invariants remain unchanged when the image undergoes scaling, rotation, 0 translation, intensity, or color platter changes). See an article titled "Recognitive Aspects Of central moment Invariants",' by Abu-Mostafa et al., IEEE Trans. on Pattent Analysis and Mach Intell., Vol. PAMI-6, No. 6, (Nov. 1984).
25
Additional references of interest are:
"Image Analysis Via the General Theory Of Moments", Teague, J. Opt. Soc. America, Vol. 70, No. 8, (Aug. 30 1980), which discloses that a 2D shape obtained from central moment invariants defined on the second central moments can be viewed as an elliptic approximation of the shape; and
"A Transformation-Invariant Recursive Subdivision Method For Shape Analysis", Zhu and Poh, IEEE Proc. of the 9th Int. Conf. on Pattern Recog., Rome, Italy, (Nov. 14-17, 1988).
It is to be appreciated that Statistical and central moment-based descriptions of data can distinguish data images at only very rough levels. That is, an image index associated with a data image is not unique and could be arrived at by analysis of an alternative data image. In addition, the computations involved in practicing said Statistics and central moment-based approaches can be complicated and time consuming and can require both character and numeric symbols in a resultant image index. And the use of the central moment invariant approach can involve the computation of an image index in high orders.
With the present invention in mind a Search of Patents was performed with the result being that very little was found. A Patent to Windig, No. 5,841,891 is disclosed, however, as it identifes the calculation of Eigenvalues, but in a method for enhancing images. A Patent to Shimura et al., No. 5,644,756 is also identified as it describes generating calculated feature data for identifying images, with application in image identification. A Patent, No. 5,608,862 to Enokida is disclosed as it describes development of a tag which indicates the length of data in hierarchically coded image data. Patent No. 5,572,726 to Hasuo is disclosed as it describes an index image for use in retrieval of data. A Patent to Tsujumura et al.. No. 5,586,197 is disclosed as it describes using color as a basis of searching for a data image in an image database. Finally, a Patent No. 4,742,558 to Ishibashi et al. is disclosed use of a hierarchical structure for use in image retrieval and display.
An updated Patent Search conducted with a present invention pixel pre-selection methodology in mind, has provided the following additional Patents:
Patent No. 5,748,777 to Katayama which describes apparatus and methodology for extracting outline data;
Patent No. 4,896,364 to ohscheller which describes a method of detecting boundary structures in a video signal;
Patent No. 5,805,728 to Munesada et al., which describes an edge line measuring method;
Patent No. 5,930,391 to Kinjo which describes a method of extracting an outer edge in an image;
Patent No. 5,902,987 to Coffman et al. which describes a method and apparatus for locating the edges of patterns in a stored image;
Patent No. 5,889, 882 to Senn et al. which describes a method of determining a skin line in a digital medical image;
Patent No. 5,828,771 to Bloomberg which describes an image processing technique which automatically analyzes an image to determine if it is an original or a copy.
Patent No. 5,790,269 to Masaki et al. which describes a method and apparatus for extracting edge or contour information; and
Patent No. 4,849,914 to Medioni et al. which describes a method and apparatus for registering color separation using edge based registration techniques.
In addition, the following publications are also known and disclosed:
"Query By Image And Video Content", Flickner, IEEE Computer, pp. 23-30, (Sept. 1995);
"Compact Representations Of Videos Through Dominant And Multiple Motion Estimations", Sawhney & Ayer, IEEE Transactions On Pattern Analysis And Machine Intelligence", pp. 814-830, Vol. 18, No. 8, (Aug. 1996);
"Recovering 3D Motion Of Multiple Objects Using Adaptive Hough Transform", ITian & Shah, EEE Transactions On Pattern Analysis And Machine Intelligence, Vol. 19, No. 10, pp. 1178-1183, (Oct. 1997);
"A Survey Of Technologies For Parsing And Indexing Digital Video", Ahanger & Little, Visual Communication and Visual Representation, Vol. 7, No. 1, PP- 28-43, (1996);
"Review Of Image And Video Indexing Techniques", Idris & Panchanathan, Visual Communication and Image Representation, Vol. 8, No. 2, pp. 146-166, (1977); and "Analysis Of Video Image Sequences Using Point And Line Correspondences", Wang, Karandikar & Aggarwal, Pattern Recognition, PR(24), pp. 1065-1084, (1991).
Even in view of the prior art there remains need for a convenient method of characterizing two-dimensional data images, and multi-dimensional data structures, so that they can be easily indexed, stored and retrieved, which method reduces computational requirements as much as possible. Said method should provide an index which demonstrates Uniqueness, Universality, Computational Ease, Conciseness, Invariance to data image change of scale, rotation and translation of data image object, position shifting, linear calibration of color and pixel intensity, and Resistance to random noise. Additionally, said methodology should provide for tracking image changes in sequential images, such as in videos. In answer to the identified need, the present invention provides a method of extracting data indicies from a data structure which results from application of a pixel spatial data structure location based first central moment determined mean, and non-degenerate parameter (s) determined from second central moment values, in "X", "Y" and where a three-dimensional data structure is investigated, "Z" orthogonally related directions. Additional benefit is identified as deriving from a frequency-of- occurance determination based, significant pixel identifying, pre-selection procedure, which results in said data index then being further comprised of typically orthogonally specific frequency integer counts of pre-selected pixels. DISCLOSURE OF THE INVENTION
The Present Invention has as its focus the producing of an Index (I) which is Non-Degenerately, (ie. Uniquely in that each Index describes "One Image" at some Hierarchical Level), descriptive of a Multiple, (eg. Two), Dimensional Data Image (MDDI), which Index (I) is Image Rotation, Translation, Scaling, and Intensity, Color etc. invariant. (It is noted that Intensity and Color of, for instance, a Digital Data Image are typically combined to form a single value at each Pixel (x, y) location which is a function f(x,y), by for instance, a formula that has as input variables "amounts" of Red, Green and Blue content as well as Intensity for each Pixel).
The present invention procedure involves finding, at each of a number of Hierarchical depth levels, Eigenvalues, which Eigenvalues can each be thought of as the Major ( λ ) and Minor ( λ2 ) Axes of a "Characteristic Virtual Ellipse" which represents said Hierarchical depth--' level . (The term "Virtual" indicates that the Ellipse is not usually actually drawn, but rather can be helpfully visualized as descriptive of the geometry of the Data).
At the First Hierarchical Level, the Image as a whole is considered and subjected to Mathematical Techniques, which lead to determination of
Figure imgf000013_0001
+/L which n+zUi are the major and minor axes of the Characteristic Virtual Ellipse. The Non-degenerate Index Component, (which is a functional focus of the present invention as applied in the context of the Eigenvalues), for said First Level is then calculated from an equation which returns a Non-Degenerate result, such as:
Figure imgf000014_0001
Next, the Characteristic Virtual Ellipse Minor Axis Eigenvalue is typically considered as a dividing line between two "Sides" of the Data Image as a whole, and the data on each side thereof is considered separately, at what is the Second Hierarchical Data Depth Level, of the Procedure. For each of said two (2) "Sides" additional Eigenvalues, which are major and minor axes of characteristic virtual ellipses, are calculated and for each of said two (2) "Sides", and Non-degenerate Index Components for said Second Level are then calculated from Non-Degenerate returning Equations, such as:
Figure imgf000014_0002
An updated Non-Degenerate Index is formed by concatenation of the Three Index Components so far found, (ie. (II) from the First Level Data (LI) Image as a whole plus two (12 and 13) from the Second level (L2)):
I - II 12 13, (or any combination or permutation thereof) .
Next, Data in each "Side" identified at the Second Level (L2) is divided, typically around the Minor Characteristic Virtual Ellipse Axis thereby providing a Third Level with Four (4) Separate Sets of Data. Each of said Separate Sets of Data is then subjected to similar Mathematical Treatment to the end that Four additional Non-Degenerate Index Components (14, 15, 16 and 17), are derived, and concatenated onto or with the Three Non-Degenerate Index Components (II, 12 and 13) already present to provide a string of Seven Non-Degenerate Index Components comprising (II, 12, 13, 14, 15, 16 and 17) in some functional permuted order.
The above procedure can be carried forward to as many Hierarchical Depth Levels as desired to provide a Non-Degenerate Index of a desired length and level of accuracy, even down to where a single Pixel distinguishes the Image defined by a produced Index (I) .
(Note known techniques identify Pixel Color and
Brightness content and perhaps some shape content, but do not do so in a manner which is Image Rotation, Translation, Scaling, and Intensity, Color etc. invariant). At this point, educated reflection should result in realization that Linear Rotation or Translation or Scaling of a Data Image will not change Non-degenerate Index (I) element values produced by practice of the Present Invention, as the underlying Eigenvalues will not change. Similarly, if the same linear change is made to Intensity at all Pixels in an Image, no change will occur in calculated Non-degenerate Index element values.
It is also to be understood that while the above specifies the minor axis λ2 of the characteristic virtual ellipse as a data dividing locus at each hierarchical data depth level after the first, it is possible to use the major axis λγ . In addition, it is possible to use both the major and minor axes as data dividing loci and, for instance, at the second data depth level add four additional Index Elements. The third data depth level would then add sixteen additional Index Elements and so on.
In light of the foregoing, a number of variations of the present invention method are recited directly.
A very general present invention method of providing an identifying data set index (I) for an "N" dimensional data set consisting of a multiplicity of pixels, comprises the steps of:
a. determining Eigenvalues for essentially the entire data set, said Eigenvalues being a major axis and (N-1) minor axes of a characteristic virtual data set mathematical object, then calculating a first non-degenerate data set index element using a formula which operates on said major axis and at least one of said (N-1) minor axes;
b. dividing said essentially entire "N" dimensional data set into at least first and second data set parts about at least one axis selected from the group consisting of: (said major axis and said (N-1) minor axes), and for at least one of said at least first and second data set parts independently determining "N" Eigenvalues therefore, said "N" Eigenvalues being a major axis and (N-1) minor axes of a mathematical object for said at least one of said at least first and second data set parts, and then calculating at least one additional non-degenerate data set index element using formula(s) which operate on said major axis and at least one of said (N-1) minor axes in said at least one of said at least first and second data set parts, and return a non-degenerate result; and
c. concatenating at least two resulting non-degenerate data set index elements in any functional permuted order to provide said identifying data set index (I).
Continuing, another recitation of a present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels, said method comprises the steps of:
a. determining Eigenvalues for essentially the entire data image, said Eigenvalues being a major axis and a minor axis of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using a formula which operates on said major and minor axes Eigenvalues;
b. dividing said essentially entire two dimensional data image into at least first and second data image parts about an axis selected from the group consisting of: (said minor axis and said major axis), and for each of said at least first and second data image parts independently determining Eigenvalues therefore, said Eigenvalues being a major axis and a minor axis for a first of said separate characteristic virtual ellipses, and major axis and a minor axis for a second of said separate characteristic virtual ellipses, and optionally independently determining a major axis and a minor axis for at least some of any additional data image parts, and then calculating at least second (12) and/or third (13) non-degenerate data image index elements determined from two of said at least two data image parts, using formulas which return a non-degenerate result;
c. concatenating at least two of said first (II), second (12) and/or third (3) non-degenerate data image index elements in any functional permuted order to provide said identifying data image index (I).
Continuing, a more focused present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels, comprises the steps of:
a. determining Eigenvalues for essentially the entire data image, said Eigenvalues being a major axis ( 21 ) and a minor axis ( λu ) of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using the formula:
Figure imgf000018_0001
b. dividing said essentially entire two dimensional data image into first and second data image parts about an axis selected from the group consisting of: (said minor axis and said major axis), and for each of said first and second data image parts independently determining Eigenvalues therefore, said Eigenvalues being a major axis ( λn ) and a minor axis ( λv. ) for the first of said separate characteristic virtual ellipses, and major axis ( λ|3 ) and a minor axis ( λ23 ) for the second of said separate characteristic virtual ellipses, and then calculating second (12) and third (13) non-degenerate data image index elements using the formulas:,
Figure imgf000019_0001
c. concatenating said first, second and third non-degenerate data image index elements to provide said identifying data image index (I) by a selection from the group consisting of:
I = II 12 13; I = II 13 12;
I = 12 II 13;
I = 12 13 II;
I = 13 II 12; and
I = 13 12 II.
Another present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels, comprises the steps of:
a. determining Eigenvalues for essentially the entire data image, said Eigenvalues being a major axis ( λ ) and a minor axis ( 2, ) of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using the formula:
Figure imgf000019_0002
b. dividing said essentially entire two dimensional data image into first and second data image parts about an axis selected from the group consisting of: (said minor axis and said major axis), and for each of said first and second data image parts independently determining Eigenvalues therefore, said Eigenvalues being a major axis ( %n ) and a minor axis ( λn ) for the first of said separate' haracteristic virtual ellipses, and major axis ( λι3 ) and a minor axis ( 23 ) for the second of said separate characteristic virtual ellipses, and then calculating second (12) and third (13) non-degenerate data image index elements using the formulas:
Figure imgf000020_0001
c. dividing said each of said first and second image parts from step b., each about an axis selected from the group consisting of: (said minor axis and said major axis thereof), to produce third, forth, fifth and sixth image parts and for at least one of said third, forth, fifth and sixth image parts independently determining Eigenvalues thereof, said determined Eigenvalues being selected from the group consisting of:
a major axis ( λM ) and a minor axis (λ24 ) for the third of said separate characteristic virtual ellipses, and major axis ( Λ,5 ) and a minor axis ( ^25 ) for the forth of said separate characteristic virtual ellipses, a major axis ( λl6 ) and a minor axis ( λ2fl ) for the fifth of said separate characteristic virtual ellipses, 5 and major axis ( λλl ) and a minor axis ( λ21 ) for the sixth of said separate characteristic virtual ellipses, and then calculating forth (14), fifth (15), sixth (16) and seventh (17) non-degenerate data image index 10 elements using as appropriate the formulas:
Figure imgf000021_0001
Figure imgf000021_0002
^ d. concatenating said first (II), and at least one produced non-degenerate data index element (s) selected from the group consisting of said: (second (12), third (13), forth (14), fifth (15), sixth (16) and seventh (17) non-degenerate data index elements), ^ in any functional permuted order, to provide said identifying data image index (I).
Said method of providing an identifying data image index (I) for a two dimensional data image consisting 3R of a multiplicity of pixels can, in steps c. and d. thereof, provide that all of said first (II), second (12), third (13), forth (14), fifth (15), sixth (16) and seventh (17) non-degenerate data index elements, are calculated and concatenated, in any functional permuted order, to provide said identifying data image index ( I ) .
Said present invention method, as is true for all variations thereof presented herein, can, as a preliminary step, subject the data to a pre-selection criteria to identify pixels which meet specified criteria. As is better described in the Section of this Specification titled "Data Pixel Pre-Selection", a prefered pixel pre-selection criteria involves identifying and retaining pixels which define image feature edges, while eliminating pixels from a data set which are not associated therewith.
Such a modified method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels can be recited as comprising the steps of:
a. applying a pixel pre-selection criteria to eliminate pixels not associated with image feature edges;
b. determining Eigenvalues for essentially the entire remaining data image, said Eigenvalues being a major axis ( ι ) and a minor axis ( λ λ ) of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using the formula:
Figure imgf000022_0001
c. dividing said essentially entire two dimensional data image into first and second data image parts about an axis selected from the group consisting of:
said minor axis; said major axis; and an axis intermediate thereto;
and for at least one of said first and second data image parts independently determining Eigenvalues therefore, said Eigenvalues being a major axis ( λn ) ' and a minor axis ( 22 ) for the first of said separate characteristic virtual ellipses, and major axis ( λ,3 ) and a minor axis ( Λ23 ) for the second of said separate characteristic virtual ellipses, and then calculating second (I2)-'and third (13) non-degenerate data image index elements using the formulas:
L
Figure imgf000023_0001
d. concatenating at least two of said determined first, second and third non-degenerate data image index elements in any functional permuted order to provide said identifying data image index (I).
Continuing, another variation on the present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels, comprises the steps of: a. determining Eigenvalues for essentially the entire data image, said Eigenvalues being a major axis ( λ ) and a minor axis ( λ2, ) of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using a formula which operates on said Eigenvalues:
b. dividing said essentially entire two dimensional data image into first, second, third and forth data image parts, using said minor axis and said major axis as dividing means, said first, second, third and forth data image parts being oriented in a first, second, third and forth quadrant pattern defined by said major and minor axes, in said two dimensional data image;
c. for at least one of said first, second, third and forth data image parts independently determining Eigenvalues of a characteristic virtual ellipse therefore, said Eigenvalues being selected from the group consisting of:
a major axis ( λn ) and a minor axis ( Λ22 ) for the first of said separate characteristic virtual ellipses, and a major axis ( At3 ) and a minor axis ( λ23 ) for the second of said separate characteristic virtual ellipses, a major axis ( A,4 ) and a minor axis' ( λ24 ) for the third of said separate characteristic virtual ellipses,- and a major axis ( |5,) and a minor axis ( 25 ) for the forth of said separate characteristic virtual ellipses;
d. calculating at least one additional non-degenerate data image index element using formula (s) which operates on Eigenvalues corresponding to said at least one of said first, second, third and forth data image parts determined in step, c; and
e. concatenating at least two resulting non-degenerate data index elements, in any functional permuted order, to provide said identifying data image index ( I ) .
In said variation on the present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels wherein Eigenvalues for each of said first, second, third and forth data image parts are independently determined, said Eigenvalues being:
a major axis ( λu ) and a minor axis ( λ2] ) for the first of said separate characteristic virtual ellipses, and a major axis ( λλ2 ) and a minor axis ( λ27 ) for the second of said separate characteristic virtual ellipses, a major axis ( Λ13 ) and a minor axis ( λ23 ) tor the third of said separate characteristic virtual ellipses, and a major axis ( Λ ) and a minor axis ( λ2 ) for the forth of said separate characteristic virtual ellipses;
step d. involves calculating four additional non-degenerate data image index element using formula (s) which operate on Eigenvalues corresponding to said first, second, third and forth data image parts determined in step, c; and
e . concatenating said resulting f ive non-degenerate data index elements, in any functional permuted order, to provide said identifying data image index (I).
Said variation on the present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels can further comprise dividing said each of said first, second, third and forth data image parts from step b., each about at least one axis selected from the group consisting of: (said minor axis and said major axis) thereof, to identify at least two, and possibly four, new data image parts in each of said first, second, third and forth data image parts; and for at least some of the new data image parts determining Eigenvalues therefore, said Eigenvalues being a major axis and a minor axis for a characteristic virtual ellipse for said newly formed data image part(s); and concatenating at least some of the calculated non-degenerate data index elements, in any functional permuted order, to provide said identifying data image index (I).
It is also to be appreciated that given a present invention index (I) as determined by any of the foregoing methods, it is possible to construct a data image or set by expanding each index element into a set of pixels, by an essential reversal of the recited procedural steps.
It is also noted that a the present invention comprises a method of identifying similarities in a first data set to those in a second data set. Said method comprises the steps of, for each said data set: a. determining Eigenvalues for essentially the entire data image, said Eigenvalues being a major axis and a minor axis of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using a formula which operates on said major and minor axes Eigenvalues; and
b. comparing said first (II) non-degenerate data image index element for said first data set to that for said second data set.
Further, said method of identifying similarities in one a first data set to those in a second data set can comprise the steps of, for each said data set:
b. dividing said essentially entire two dimensional data image into at least first and second data image parts about an axis selected from the group consisting of: (said minor axis and said major axis), and for each of said at least first and second data image parts independently determining Eigenvalues therefore, said Eigenvalues being a major axis and a minor axis for a first of said separate characteristic virtual ellipses, and major axis and a minor axis for a second of said separate characteristic virtual ellipses, and optionally independently determining a major axis and a minor axis for at least some of any additional data image parts, and then calculating at least second (12) and/or third (13) non-degenerate data image index elements determined from two of said at least two data image parts, using formulas which return a non-degenerate result; and
c. comparing at least said second (12) non-degenerate data image index element for said first data set to that for said second data set.
Of course, the method of identifying similarities in one a first data set to those in a second data set can proceed to comparison of the third (13) and additional non-degenerate data image index elements obtained from each of the data sets.
DATA PIXEL PRE-SELECTION
Continuing, with the foregoing basic methodology in mind, it is disclosed that a preferred version of the present invention methodology, while again begining with the providing of a data structure, and proceeding to determine at least one data structure characterizing vector (s) which facilitates indexing, storage and retrieval of the data structure, additionally includes data point pre-selection. Data structure characterizing vector (s) is/are then constructed from typically orthogonally specific "frequency-of-occurance" integer counts of pixels which are selected upon meeting an associated intensity or color or combined intensity and color gradient criteria, and for each orthogonal direction, calculated pixel spatial data structure location based first central moment, and non-degnerate parameter (s) determined from second central moment values .
The reason pixels pre-selection is desirable is that processing each pixel in a data structure when calculating associated spatial first and second central moments takes time, and because where region(s) of essentially similar pixel intensity or color or combined intensity and color content exists in a data structure there is limited value in performing spatial central moment calculations at every present pixel, (unless, perhaps, the data structure, beneficially visualized as two-dimensional picture graphic, has very few high gradient "edges" of depicted objects therein), the present invention teaches that pixel values in a data structure should be subjected to a "frequency of occurance" pre-selection procedure prior to calculating any data structure pixel "spatial location" based first central moment and non-degenerate parameter (s) determined from second central central moment values.
The presently disclosed version of the invention teaches a pre-selection of all pixels in a data structure, (eg. two-dimensional picture graphics), to determine which thereof are in regions in which change:
O ' ^ όy ' or
Vx =l/3∑ lf(x-l,y + i)-f(x + l,y + i)l
V = 1 3∑ lf{x + i,y-l)-f(x + i,y + i)l
/=-|
(For a 3 x 3 Gradient Operator)
is occuring therein, as regards intensity or color or a combination of intensity and color, (Note that a parameter representing color can be calculated using a non-limiting formula such as:
(C) = (aRed + bGreen + cBlue), where aRed, bGreen and cBlue are measures of amounts of Red, Green and Blue present at a pixel location. A combined intensity and color parameter can be arrived at by, for instance, adding (C) to an Intensity representing (I) value). Then performance of spatial distribution central moment calculations is undertaken to provide first and second central moment values, utilizing only the pre-selection procedure identified pixels.
The pre-selection procedure then involves checking for reasonably large gradient change in each of the "X" and the "Y", (and "Z" directions in a 3-D data structure), at each pixel in a data structure, and then includes only pixels whereat a reasonably large gradient is determined to exist in an "X" and/or "Y" and/or "Z" direction, in spatial Pixel location distribution based first and second central moment calculations.
For emphasis, (as it is a focal point of the present invention methodology), it is again stated that the pixel pre-selection procedure determines what pixels have associated therewith sufficiently large gradients of intensity and/or color, while the calculation of first and second central moment based values, (and non-degenerate parameters based on the later), is based on spatial locations of the pixels pre-selected on said basis of intensity and/or colo gradients.
The present invention method further provides for defining ranges of gradients in each of the "X" and/or "Y" and/or "Z" directions at pixels, and determining the number of pre-selected pixels which are in each range. A data structure, (eg. two dimensional picture-graphics or multi-dimensional data structure), characterizing, identifying, vector is then constructed for each gradient range, which characterizing vector comprises, for instance, the Integer Number Count of pre-selected pixels in the "X", and/or the Integer Number Count of pre-selected pixels in "Y", and/or the Integer Number Count of pre-selected pixels in "Z", directions which have gradients in the selected range, and which vector further comprises spatial first central moments for each of the "X", "Y" and "Z" directions, as well as a non-degenerate parameter constructed from spatial second cental central moment dependent Eigenvalues:
1 "^""2
calculated utilizing only the pixels with an intensity or color or combination intensity and color gradient value in an identified range. An example vector, the meaning of which will become more clear later herein is:
"#X1",
"#Y1", "#Z1", MEAN1 "X", MEAN1 "Y", MEAN1 "Z",
PARM1.
Again, the described procedure can repeated for multiple such gradient ranges of intensity or color, or both, (say gradient ranges wherein the gradient is between arbitrary units of say (1 and 10), or between arbitrary units of (11 and 100), or between arbitrary units of (100 and 500)), and the various Integer count number of pixels which fall thereinto in "X" and/or "Y" and/or "Z" directions, and spatial location first central moment, and a non-degenerate parameter constructed from spatial location second central moment values calculated utilizing only the pixels with a gradient value in a range combined to provide a unique data structure (eg. picture-graphics), indexing vector. One such vector can be determined for each range of intensity or color, or both, gradients, and the resulting vectors concatonated to provide a more definite data structure identifying index. It is noted that typical practice provides that once 50% of the pre-selected pixels have been utilized in the various ranges, no additional groupings are formed or required to provide additional vector(s) which are concatonated into the data structure identifying index.
Where more than one grouping of pre-selected pixels is made based upon application of multiple grouping defining gradient selection "frequency-of-occurance" bases then, for a two-dimensional data array, a corresponding more than one, at least one five (5) member, vector:
("#X", "#Y", MEAN "X", MEAN "Y", PARM)
as described later herein, will result. Say, for example, three ranges of gradients are defined and applied during the pixel pre-selection procedure, then three, at least five element vectors will result. Where multiple, at least five element, vectors result, the present invention teaches that said multiple vectors are concatonated in some order to provide a data structure characterizing indexing parameter. As an example, if three gradient ranges are defined with arbitrary units of:
(1 to 10); (11 and 100);
(100 and 500) ),
then three (3) five (5) element vectors, (eg. VI, V2 and V3) :
VI = ("#X1", "#Y1", MEAN1 "X", MEAN1 "Y", PARM1 )
and
V2 = ("#X2", "#Y2", MEAN2 "X", MEAN2 "Y", PARM2 )
and
V3 = ("#X3", "#Y3", MEAN3 "X", MEAN3 "Y", PARM3 ) ;
can formed, (one per gradient range), and said vectors can be concatonated as a selection from the group consisting of:
VI V2 V3;
VI V3 V2;
V2 VI V3;
V2 V3 VI;
V3 VI V2; and
V3 V2 VI t. to form an a data structure characterizing identifier .
Additionally, the present invention teaches that where at least three (3) different intensity, or color, or combination intensity and color based gradient ranges are defined, and where a data structure characterizing indexing vector is calculated for each, then information in each said of three of said at least three data structure characterizing indexing vectors can be applied to provide three distinct "points", which three distinct "points" can be considered as being the verticies of a triangle. Said triangle defining "points" can be re-calculated at sequential frames in a video, for instance, and sequential changes in said triangle defining "points" identified with Rotation, Translation and Scaling of objects in the data structure being analyzed. A method of tracking changes in a multi-dimensional data structure can be recited as comprising the steps of:
a. providing a first frame of a sequence of frames in a multi-dimensional data structure, each of said frames being comprised of pixels and with each of said pixels there being associated intensity and/or color (s) ;
b. defining at least three selected ranges of gradient(s) and defining pixel pre-selection technique gradient range selection criteria, then based on a selection from the group consisting of:
intensity gradiant; color gradient; and gradiant based on intensity and color;
determining pixels in said multi-dimensional data structure which demonstrate an intensity and/or color gradient within at least one of said at least three selected ranges of gradient(s); and
c. performing calculations on said pre-selection technique determined pixels to determine first and second central moment values and non-degenerate parameter (s) based upon said second central moment values, said first and second central moment values being based on spatial location distributions of said pixels identified by said pre-selection technique; separate calculations being performed utilizing pixels in each of said at least three ranges of gradients;
d. utilizing information from the separate calculations performed in three of said at least three ranges of gradients in step c. to form three points which are assigned as verticies of a triangle for said first frame of a sequence of frames in a multi-dimensional data structure comprising pixels;
e. providing a second frame of a sequence of frames in a multi-dimensional data structure, each of said frames being comprised of pixels and with each of said pixels there being associated intensity and/or color (s ) ;
f. defining gradient range selection criteria substantially the same as in step b. and utilizing an intensity and/or color gradient determining pre-selection technique which is substantially the same as in step b. to determine pixels in said multi-dimensional data structure which demonstrate an intensity and/or color gradient within at least three of said at least three selected range of gradient (s), said at least three selected range of gradient (s) being substantially the same as in step b.; and
g. performing calculations on said step f. pre-selection technique determined pixels to determine first and second central moment values and non-degenerate paramete (s) based upon said second central moment values, said first and second central moment values being based on spatial location distributions of said pixels identified by said pre-selection technique; separate calculations being performed utilizing pixels in each of said at least three ranges of gradients;
h. utilizing information from the separate calculations performed in said three ranges of gradients in step g. to form three points which are assigned as verticies of a triangle for said second frame of a sequence of frames in a multi-dimensional data structure comprising pixels; and
i. comparing the results of practice of steps d. and h. to determine translation, rotation and scaling of objects identified in said first and second sequential frames of said multi-dimensional data structure.
Continuing, the present invention, in a very basic sense, is a method of characterizing data structures, (eg. two dimensional picture graphics), comprising:'
1. utilizing an intensity and/or color gradient determining "frequency-of-occurance" pre- selection technique to determine pixels in said data structure which should be utilized, (ie. are associated with "edges" of forms in the data structure); and
2. performing calculations to determine first and second central moment values and non-degenerate parameter (s) based upon said second central moment values, said first central central moment values and second central moment values being based on spatial location distributions of said pixels identified by said "frequency of occurance" pre-selection technique.
To the Inventor's knowledge a two step procedure, combining "frequency-of-occurance" pixel pre-selection followed by calculations to determine "spatial" first and second central moment values of said pre-selected pixels, has not been previously reported .
Application of present invention methodology to a two dimensional picture graphic, for instance, typically results in at least one five (5) member data structure characterizing index vector being produced, in which the members of the vector are:
a. number of pre-selected pixels in "X" direction, said selection criteria being based on a gradient "frequency-of-occurance" basis;
b. number of pre-selected pixels in "Y" direction, said selection criteria being based on a gradient "frequency-of-occurance" basis;
c. a spatially based "X" direction calculated first central moment for the pre-selected pixels in the "X" direction, said selection criteria being based on a gradient "frequency-of- occurance" basis;
d. a spatially based "Y" direction calculated first central moment for the pre-selected pixels in the "Y" direction, said selection criteria being based on a gradient "frequency-of- occurance" basis;
e. a non-degenerate parameter calculated from spatially based second central moment.
As alluded to earlier herein, such a data structure characterizing indexing vector can be represented as"
("#X", "#Y", MEAN "X", MEAN "Y", PARM);
where :
"#X" is the Integer number of pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "x" direction; .
"#Y" is the Integer number of pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "Y" direction; Mean "X" is the spatial location based first central moment of the "#X" pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "X" direction;
Mean "Y" is the spatial location based first central moment of the "#Y" pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "Y" direction; and
PARM is a value calculated from spatial location based second central moment dependent Eigenvalues, utilizing pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "X" and "Y" directions, such as provided by the formula:
Figure imgf000039_0001
Λj + Λ2
where ( λx ) and ( λ .) are said Eigenvalues.
Continuing, a present invention method of characterizing data structures can then be recited as comprising the steps of:
a. providing an at least two dimensional data structure comprising pixels with each which are associated intensity and/or colors; b. defining a gradient range selection criteria;
c. utilizing a pixel pre-selection technique based on a selection from the group consisting of:
an intensity gradiant; a color gradient; and a gradiant based on intensity and color;
to determine pixels in said data structure which demonstrate an intensity and/or color gradient which meet said gradient range selection criteria; and
d. performing calculations on said pre-selection technique determined pixels to determine selection(s) from the group consisting of:
first central moment(s); second central momen (s); and non-degenerate parameter (s) based upon said second central moment (s)
said first and second central moments being based on spatial location distributions of said pixels identified by said pre-selection technique.
Said present invention method can be further identified as operating on a data structure which is a two . dimensional picture graphic, and in which second central moments and non-degenerate parameter (s) based upon said second central moments are determined, and in which at least one five (5) member data structure characterizing index vector is produced, the members of said at least one five (5) member data structure characterizing index vector being comprised of, in any order:
a. number of pre-selected pixels in "X" direction, said selection criteria being based on a gradient "frequency-of-occurance" basis;
b. number of pre-selected pixels in "Y" direction, said selection criteria being based on a gradient "frequency-of-occurance" basis;
c. spatially based "X" direction calculated first central moment for the pre-selected pixels in the "X" direction, said selection criteria being based on a gradient "frequency-of-occurance" basis;
d. spatially based "Y" direction calculated first central moment for the pre-selected pixels in the "Y" direction, said selection criteria being based on a gradient "frequency-of- occurance" basis;
e. a non-degenerate parameter calculated from spatially based second central moment dependent Eigenvalues.
Further, said data structure characterizing indexing vector can be represented as
("#X", "#Y", MEAN "X", MEAN "Y", PARM);
where the vector entries were described earlier herein.
A present invention method of characterizing data structures can also be recited as comprising: a. providing a multi-dimensional data structure comprising pixels with each of which are associated intensity and/or colors;
b. defining gradient range selection criteria;
c. utilizing a pixel pre-selection technique based on a selection from the group consisting of:
an intensity gradiant; a color gradient; and a gradiant based on intensity and color;
to determine pixels in said multi-dimensional data structure which demonstrate intensity and/or color gradient(s) which meet said gradient range selection criteria; and
d. performing calculations on said pre-selection technique determined pixels to determine first and second central moment and non-degenerate parameter (s) based upon said second central moment values, said first and second central moment values being based on spatial location distributions of said pixels identified by said pre-selection technique, separate calculations being performed utilizing pixels in each of said at least one range(s) of gradients.
Continuing, calculation of second central moment related Eigenvalues was described earlier herein, where the invention which has as its focus the producing of an Index (I) which is Non-Degenerately, (ie. Uniquely in that each Index describes "One Image" at some Hierarchical Level), descriptive of a Multiple, (eg. Two), Dimensional Data Image (MDDI), which Index (I) is Image Rotation, Translation, Scaling, and intensity, color etc. invariant. (It is noted that intensity and color of, for instance, a Digital Data Image are typically combined to form a single value at each Pixel (x, y) location which is a function f(x,y), by for instance, a formula that has as input variables "amounts" of Red, Green and Blue content as well as intensity for each Pixel).
The invention as earlier disclosed is a procedure which involves finding, at each of a number of Hierarchical depth levels, Eigenvalues, which Eigenvalues can each be thought of as the Major ( λ ) and Minor ( λ X ) Axes of a "Characteristic Virtual Ellipse" which represents said Hierarchical depth level. (The term "Virtual" indicates that the Ellipse is not usually actually drawn, but rather can be helpfully visualized as descriptive of the geometry of the Data).
At the first Hierarchical Level, the Image as a whole is considered and subjected to Mathematical Techniques, which lead to determination of (: i ) , which ( A.2i ) are the major and minor axes of the Characteristic Virtual Ellipse. The Non-degenerate Index Component, (which is a functional focus of the present invention as applied in the context of the Eigenvalues), for said first Level is then calculated from an equation which returns a Non-Degenerate result, such as:
Figure imgf000043_0001
While the presently disclosed version of the invention methodology dous not typically so provide, the version presented earlier next typically provides that the Characteristic Virtual Ellipse Minor Axis Eigenvalue is considered as a dividing line between two "Sides" of the Data Image as a whole, and the data on each side thereof is considered separately, at what is the second Hierarchical Data Depth Level, of the Procedure. For each of said two (2) "Sides" additional Eigenvalues, which are major and minor axes of characteristic virtual ellipses, are calculated and for each of said two (2) "Sides", and Non-degenerate Index Components for said second Level are then calculated from Non-Degenerate returning Equations, such as:
Figure imgf000044_0001
An updated Non-Degenerate Index is formed by concatenation of the Three Index Components so far found, (ie. (II) from the first Level Data (LI) Image as a whole plus two (12 and 13) from the second level (L2)):
I = II 12 13, (or any combination or permutation thereof ) .
Next, Data in each "Side" identified at the second Level (L2) is divided, typically around the Minor Characteristic Virtual Ellipse Axis thereby providing a Third Level with Four (4) Separate Sets of Data. Each of said Separate Sets of Data is then subjected to similar Mathematical Treatment to the end that Four additional Non-Degenerate Index Components (14, 15, 16 and 17), are derived, and concatenated onto or with the Three Non-Degenerate Index Components (II, 12 and 13) already present to provide a string of Seven Non-Degenerate Index Components comprising (II, 12, 13, 14, 15, 16 and 17) in some functional permuted order.
The above procedure can be carried forward to as many Hierarchical Depth Levels as desired to provide a Non-Degenerate Index of a desired length and level of accuracy, even down to where a single Pixel distinguishes the Image defined by a produced Index (I).
(Note known techniques identify Pixel color and
Brightness content and perhaps some shape content, but do not do so in a manner which is Image Rotation,
Translation, Scaling, and intensity, color etc. invariant). At this point, educated reflection should result in realization that Linear Rotation or Translation or Scaling of a Data Image will not change Non-degenerate Index (I) element values produced by practice of the Present Invention, as the underlying Eigenvalues will not change. Similarly, if the same linear change is made to intensity at all Pixels in an Image, no change will occur in calculated Non-degenerate Index element values.
It is also to be understood that while the above specifies the minor axis
Figure imgf000045_0001
of the characte istic virtual ellipse as a data dividing locus at each hierarchical data depth level after the first, it is possible to use the major axis i . In addition, it is possible to use both the major and minor axes as data dividing loci and, for instance, at the second data depth level add four additional Index Elements. The third data depth level would then add sixteen additional Index Elements and so on.
As should now be appreciated, the present invention is, in a very basic sense, a method of characterizing data structures, (eg. picture graphics), comprising, in any functional permuted order :
a. providing a data structure, (eg. a picture graphic) ;
b. defining gradient range selection criteria and utilizing a pixel pre-selection technique based on a selection from the group consisting of :
an intensity gradiant; a color gradient; and a gradiant based on intensity and color;
to determine pixels in said multi-dimensional data structure which demonstrate intensity and/or color gradient(s) which meet said gradient range selection criteria and which are to be utilized; and
defining ranges of gradients;
d. for each gradient range, performing i calculations to determine first central moment values in at least two typically orthogonal directions, and second central moment values and non-degenerate paramete (s) based upon said second central moment values, said first and second central moment values being based on spatial location distributions of said pixels identified by said "frequency of occurance" pre-selection technique; an e. forming a data structure characterizing index vector for at least one of said defined gradient ranges.
A preferred data structure characterizing indexing vector comprises":
("#X", "#Y", MEAN "X", MEAN "Y", PARM);
the explanations of the entries in said data structure characterizing indexing vector having been described earlier herein. And, where more than one data structure characterizing indexing vector is calculated, (each data structure characterizing indexing vector corresponding to a range of intensity or color or combination intensity and color gradient), said multiple data structure characterizing indexing vectors can be concatonated to provide a more definite data structure characterizing index.
In light of the foregoing, a number of variations of the present invention method are recited directly. It is to be appreciated that each of the following recitations includes the pixel pre-selection methodology just described. That is, rather than act on all pixels in a data structure, pixels in a data structure are pre-selected prior to practicing the methodology, to provide a beginning reduced pixel containing data structure.
A very general method of providing an identifying data structure index (I) for an "N" dimensional data structure consisting of a multiplicity of pixels comprises a pre-selection of pixels in said "N" dimensional data set based upon the meeting of an intensity and/or color gradient determining pre-selection criteria to determine pixels in said data structure which demonstrate an intensity and/or color gradient within a selected range of gradients;
said method further comprising the steps of:
a. utilizing said pre-selected pixels, determining Eigenvalues for essentially the entire data structure, said Eigenvalues being a major axis and (N-1) minor axes of a characteristic virtual data structure mathematical object, then calculating a first non-degenerate data structure index element using a formula which operates on said major axis and at least one of said (N-1) minor axes;
b. dividing said essentially entire "N" dimensional data structure into at least first and second data structure parts about at least one axis selected from the group consisting of: (said major axis and said (N-1) minor axes), and for at least one of said at least first and second data structure parts, utilizing said pre-selected pixels, independently determining "N" Eigenvalues therefore, said "N" Eigenvalues being a major axis and (N-1) minor axes of a mathematical object for said at least one of said at least irst and second data structure parts, and then calculating at least one additional non-degenerate data structure index element using formula(s) which operate on said major axis and at least one of said (N-1) minor axes in said at least one of said at least first and second data structure parts, and return a non-degenerate result; and
c. concatenating at least two resulting non-degenerate data structure index elements in any functional permuted order to provide said identifying data structure index (I).
Continuing, another recitation of a present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels, said method comprises a pre-selection of pixels in said two dimensional data set based upon the meeting of an intensity and/or color gradient determining pre-selection criteria to determine pixels in said data structure which demonstrate an intensity and/or color gradient within a selected range of gradients;
said method further comprising the steps of:
a. utilizing said pre-selected pixels, determining Eigenvalues for essentially the entire data image, said Eigenvalues being a major axis and a minor axis of a characte istic virtual ellipse, then calculating a first (11) non-degenerate data image index element using a formula which operates on said major and minor axes Eigenvalues;
b. dividing said essentially entire two dimensional data image into at least first and second data image parts about an axis selected from the group consisting of: (said minor axis and said major axis), and for each of said at least first and second data image parts, utilizing said pre-selected pixels, independently determining Eigenvalues therefore, said Eigenvalues being a major axis and a minor axis for a first of said separate characteristic virtual ellipses, and major axis and a minor axis for a second of said separate characteristic virtual ellipses, and optionally independently determining a major axis and a minor axis for at least some of any additional data image parts, and then calculating at least second (12) and/or third (13) non-degenerate data image index elements determined from two of said at least two data image parts, using formulas which return a non-degenerate result;
c. concatenating at least two of said first (II), second (12) and/or third (3) non-degenerate data image index elements in any functional permuted order to provide said identifying data image index (I).
Continuing, a more focused present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels, comprises a pre-selection of pixels in said two dimensional data set based upon the meeting of an intensity and/or color gradient determining pre-selection criteria to determine pixels in said data structure which demonstrate an intensity and/or color gradient within a selected range of gradients;
said method further comprising the steps of:
a. utilizing said pre-selected pixels, determining
Eigenvalues for essentially the entire data image, said Eigenvalues being a major axis ( λu ) and. a minor axis ( Λ21 ) of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using the formula:
Figure imgf000051_0001
b. dividing said essentially entire two dimensional data image into first and second data image parts about an axis selected from the group consisting of: (said minor axis and said major axis), and for each of said first and second data image parts, utilizing said pre-selected pixels, independently determining Eigenvalues therefore, said Eigenvalues being a major axis ( % ) and a minor axis ( λ22 ) for the first of said separate characteristic virtual ellipses, and major axis ( λn ) and a minor axis ( λ23 ) for the second of said separate characteristic virtual ellipses, and then calculating second (12) and third (13) non-degenerate data image index elements using the formulas:
Figure imgf000051_0002
c. concatenating said first, second and third non-degenerate data image index elements to provide said identifying data image index (I) by a selection from the group consisting of:
I = II 12 13;
I = II 13 12; I = 12 II 13;
I = 12 13 II;
I = 13 II 12; and
I = 13 12 II. Another present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels, comprises a pre-selection of pixels in said two dimensional data set based upon the meeting of an intensity and/or color gradient determining pre-selection criteria to determine pixels in said data structure which demonstrate an intensity and/or color gradient within a selected range of gradients;
said method further comprising the steps of:
a. utilizing said pre-selected pixels, determining Eigenvalues for essentially the entire data image, said Eigenvalues being a major axis ( λ ) and a minor axis ( λ2, ) of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using the formula:
Aιι+A2ι b. dividing said essentially entire two dimensional data image into first and second data image parts about an axis selected from the group consisting of: (said minor axis and said major axis), and for each of said first and second data image parts, utilizing said pre-selected pixels, independently determining Eigenvalues therefore, said Eigenvalues being a major axis ( λ,2 ) and a minor axis ( 22 ) fo the first of said separate . characteristic virtual ellipses, and major axis ( A13 ) and a minor axis ( λ23 ) for the second of said separate characteristic virtual ellipses, and then calculating second (12) and third (13) non-degenerate data image index elements using the formulas:
Figure imgf000053_0001
c. dividing said each o£ said first and second image parts from step b., each about an axis selected from the group consisting of: (said minor axis and said major axis thereof), to produce third, forth, fifth and sixth image parts and for at least one of said third, forth, fifth and sixth image parts, utilizing said pre-selected pixels, independently determining Eigenvalues thereof, said determined Eigenvalues being selected from the group consisting of:
a major axis ( M ) and a minor axis ( λ2iι ) for the third of said separate characte istic virtual ellipses, and major axis ( λ,5 ) and a minor axis
( λ25 ) for the forth of said separate characteristic virtual ellipses, a major axis ( Λ,6 ) and a minor axis ( λ2(, ) for the fifth of said separate characteristic virtual ellipses, and major axis ( χ η ) and a minor axis
( λ21 \ ) for the sixth of said separate characteristic virtual ellipses, and then calculating forth (14), fifth (15), sixth (16) and seventh (17) non-degenerate data image index elements using as appropriate the formulas:
Figure imgf000054_0001
Figure imgf000054_0002
d. concatenating said first (II), and at least one produced non-degenerate data index element (s) selected from the group consisting of said: (second (12), third (13), forth (14), fifth (15), sixth (16) and seventh (17) non-degenerate data index elements), in any functional permuted order, to provide said identifying data image index (I).
Said method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels canf in steps c. and d. thereof, provide that all of said first (II), second (12), third (13), forth (14), fifth (15), sixth (16) and seventh (17) non-degenerate data index elements, are calculated and concatenated, in any functional permuted order, to provide said identifying data image index ( I ) .
Another variation on. the present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels, comprises a pre-selection of pixels in said two dimensional data set based upon the meeting of an intensity and/or color gradient determining pre-selection criteria to determine pixels in said data structure which demonstrate an intensity and/or color gradient within a selected range of gradients;
said method further comprising the steps of:
a. utilizing said pre-selected pixels, determining Eigenvalues for essentially the entire data image, said Eigenvalues being a major axis ( ^n ) and a minor axis ( λ2ι ) of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using a formula which operates on said Eigenvalues :
b. dividing said essentially entire two dimensional data image into first, second, third and forth data image parts using said minor axis and said major axis as dividing means, said first, second, third and forth data image parts being oriented in a first, second, third and forth quadrant pattern defined by said major and minor axes r in said two dimensional data image;
c. for at least one of said first, second, third and forth data image parts, utilizing said pre-selected pixels, independently determining Eigenvalues of a characteristic virtual ellipse therefore, said Eigenvalues being selected from the group consisting of:
a ma or axis ( ,2 ) and a minor axis ( λπ ) for the first of said separate characteristic virtual ellipses, and a major axis ( Λl3 ) and a minor axis ( -23 ) for the second of said separate characteristic virtual ellipses, a major axis ( λ ) and a minor axis ( λ4 ) for the third of said separate characteristic virtual ellipses, and a major axis ( λis ) and a minor axis ( λ25 ) for the forth of said separate characteristic virtual ellipses;
d. calculating at least one additional non-degenerate data image index element using formula (s) which operates on Eigenvalues corresponding to said at least one of said first,
■second, third and forth data image parts determined in step, c; and
e. concatenating at least two resulting non-degenerate data index elements, in any functional permuted order, to provide said identifying data image index (I).
In said variation on the present invention method of providing an identifying data image index (I) for a two dimensional data image _ consisting of a multiplicity of pixels wherein Eigenvalues for each of said first, second, third and forth data image parts are independently determined, said Eigenvalues being:
a major axis ( A2 ) and a minor axis ( λ^ ) tor the first of said separate characteristic virtual ellipses, and a major axis ( ^13 ) and a minor axis ( I23 ) for the second of said separate characteristic virtual ellipses, a major axis ( 4 ) and a minor axis ( λ2t, ) tor the third of said separate characteristic virtual ellipses, and a major axis ( λl5 ) and a minor axis ( λ^ ) for the forth of said separate characteristic virtual ellipses;
step d. involves calculating four additional non-degenerate data image index element using formula (s) which operate on Eigenvalues corresponding to said first, second, third and forth data image parts determined in step, c; and
e. concatenating said resulting five non-degenerate data index elements, in any functional permuted order, to provide said identifying data image index (I).
Said variation on the present invention method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels can further comprise dividing said each of said first, second, third and forth data image parts from step b., each about at least one axis selected from the group consisting of: (said minor axis and said major axis) thereof, to identify at least two, and possibly four, new data image parts in each of said first, second, third and forth data image parts; and for at least some of the new data image parts, utilizing pre-deter ined pixels, determining Eigenvalues therefore, said Eigenvalues being a major axis and a minor axis for a characteristic virtual ellipse for said newly formed data image part(s); and concatenating at least some of the calculated non-degenerate data index elements, in any functional permuted order, to provide said identifying data image index (I).
It is also to be appreciated that given a present invention index (I) as determined by any of the foregoing methods, it is possible to construct a data image or structure by expanding each index element into a structure of pixels, by an essential reversal of the recited procedural steps.
It is also noted that a the present invention comprises a method of identifying similarities in a first data structure to those in a second data structure. Said method comprises a pre-selection of pixels in both data sets based upon the meeting of an intensity and/or color gradient determining pre-selection to determine pixels in said data structure which demonstrate an intensity and/or color gradient within a selected range of gradients;
said method further comprising the steps of:
a. utilizing pre-determined pixels, determining Eigenvalues for essentially the entire data image, said Eigenvalues being a major axis and a minor axis of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using a formula which operates on said major and minor axes Eigenvalues; and
b. comparing said first (II) non-degenerate data image index element for said first data structure to that for said second data structure.
Further, said method of identifying similarities in a first data structure to those in a second data structure can comprise the steps of, for each said data structure:
b. dividing said essentially entire two dimensional data image into at least first and second data image parts about an axis selected from the group consisting of: (said minor axis and said major axis), and for each of said at least first and second data image parts, utilizing said pre-selected pixels, independently determining Eigenvalues therefore, said Eigenvalues being a major axis and a minor axis for a first of said separate characteristic virtual ellipses, and major axis and a minor axis for a second of said separate characteristic virtual ellipses, and optionally independently determining a major axis and a minor axis for at least some of any additional data image parts, and then calculating at least second (12) and/or third (13) non-degenerate data image index elements determined from two of said at least two data image parts, using formulas which return a non-degenerate result; and
c. comparing at least said second (12) non-degenerate data image index element for .said first data structure to that for said second data structure .
Of course, the method of identifying similarities in one a first data structure to those in a second data structure can proceed to comparison of the third (13) and additional non-degenerate data image index elements obtained from each of the data structures.
While the foregoing has consistantly identified use of major and/or minor axis as data set division criteria, it is to be understood that while preferred, this is not required. That is, for instance, after determination of a major and minor axis for an entire data set, one can divide the data set around some axis which is intermediate to the major and minor axes. I such a case present methodology of providing an identifying data set index (I) for an "N" dimensional data set consisting of a multiplicity of pixels, comprises the steps of:
a. determining Eigenvalues for essentially the entire data set, said Eigenvalues being a major axis and (N-1) minor axes of a characteristic virtual data set mathematical object, then calculating a first non-degenerate data set index element using a formula which operates on said major axis and at least one of said (N-1) minor axes;
b. dividing said essentially entire "N" dimensional data set into at least first and second data set parts about at least one axis selected from the group consisting of: (said major axis; and said (N-1) minor axes; and an axis intermediate thereto), and for at least one of said at least first and second data set parts independently determining "N" Eigenvalues therefore, said "N" Eigenvalues being a major axis and (N-1) minor axes of a mathematical object for said at least one of said at least first and second data set parts, and then calculating at least one additional non-degenerate data set index element using formula (s) which operate on said major axis and at least one of said (N-1) minor axes in said at least one of said at least first and second data set parts, and return a non-degenerate result; and
c. concatenating at least two resulting non-degenerate data set index elements in any functional permuted order to provide said identifying data set index (I ) .
Where the data set is two dimensional and the mathematical object is an ellipse, the Eigenvalues will be the major and minor axes. In that case, a data set can be divided around either the major and minor axis, or some axis formed intermediate thereto.
It is further to be understood that while the preferred present invention mathematical object utilized to model data is an ellipse which presents with major and minor axes Eigenvalues, any functional permuted mathematical object from which can be extracted Eigenvalues can be utilized in practice of the method of the present invention, in any of its variations.
The foregoing recitation of variations on the method of the present invention which are within the scope thereof are, of course, demonstrative, and not limiting. Other variations of present invention methodology are possible and can be arrived at by combining elements of various recited step sequences in other combinations and/or orders etc.
The present invention will be better understood by reference to the Detailed Description of this Disclosure in- conjunction with the accompanying Drawings.
SUMMARY
It is therefore the primary purpose of the present invention to provide a method which enables easy characterization, storage and retrieval of multi-dimensional data structures, comprising use of a translation, rotation and scaling invariant index which results from concatenating a series of Eigenvalue calculation mediated index elements, determined at a plurality of hierarchical data depth levels .
It is another primary purpose of the present invention to provide a method which enables easy comparison of at least fixst and second multi-dimensional data structures, comprising use of translation, rotation and scaling invariant indicies which result from, for each of said at least first and second multi-dimensional data structures, concatenating a series of Eigenvalue calculation mediated index elements, determined at a plurality of hierarchical data depth levels.
It is another primary object and/or purpose of the present invention to teach a method which pre-selects pixels in data structures to determine those pixels which demonstrate significant data structure intensity and/or color gradients in "X" and/or "Y" and/or "Z" directions ) , (tyically the result of depicted-object-edge-effects in the data structure), and utilizes said pre-selected pixels in data structure characterizing spatial first and second central moment calculations, to the end that data structure characterizing vector (s), are constructed from typically orthogonally specific frequency integer counts of said pre-selected pixels, as well as spatial data structure first monent mean(s), and non-degenerate parameter(s) determined from second central moment dependent Eigenvalues calculated utilizing pre-selected pixels with data structure intensity and/or color gradients in "X" and/or "Y" and/or "Z" direction(s) within one or more designated range(s).
It is yet another object and/or purpose of the present invention to provide a method which enables reconstruction of data sets from calculated Indicies which characterize multi-dimensioήal data structures, comprising use of a translation, rotation and scaling invariant index which results from concatenating a series of Eigenvalue calculation mediated index elements, determined at a plurality of hierarchical data depth levels.
Other objects and/or purposes of the present invention will become obvious by referral to the Specification text and Claims.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 shows a data image of an airplane and indicates three levels (LI), (L2) and (L3) of data image division.
Fig. 2a shows an ellipse with a major axis and a minor axis attributable to level (LI) data in Fig. 1.
Figs. 2bl and 2b2 each show ellipse major axis and a minor axis attributable to level (L2) data in Fig. 1.
Figs. 2cl, 2c2, 2c3 and 2c4 each show ellipse major axis and a minor axis attributable to level (L3) data in Fig. 1.
Figs. 3a, 3b and 3c show that the present invention teaches that where at least three different intensity or color of combination intensity and color based gradient ranges are defined, and where a data structure characterizing indexing vector is calculated for each, then information in each said of three of said at least three data structure characterizing indexing vectors can be applied to provide three distinct "points", which three distinct "points" can be considered as being the verticies of a triangle GA, GB & GC, which triangle can be tracked through sequential frames to detect translation, rotation and scaling.
Fig. 4 shows the basic flow of a basic present invention method.
Fig. 5 shows the basic flow of a prefered present invention method. DETAILED DESCRIPTION
In the Disclosure Of The Invention Section of this Specification it was established that the present invention method, as applied to data images and data sets, includes such as:
"determining Eigenvalues for essentially the entire data set, said Eigenvalues being a major axis and (N-1) minor axes of a characteristic virtual data set mathematical object, then calculating a first non-degenerate data set index element using a formula which operates on said major axis and at least one of said (N-1) minor axes"; or
"determining Eigenvalues for essentially the entire data image, said Eigenvalues being a major axis ( λ ) and a minor axis ( X2 < ) of a characteristic virtual ellipse"; or
"dividing said essentially entire two dimensional data image into first and second data image parts about an axis selected from the group consisting of: (said minor axis and said major axis), and for each of said first and second data image parts independently determining Eigenvalues" therefore, said Eigenvalues being a major axis ( λ\ ) and a minor axis ( Λ2 ) for the first of said separate characteristic virtual ellipses, and major axis ( λj ) and a minor axis ( λ2 ) for the second of said separate characteristic virtual ellipses";
but to this point, the Disclosure has provided no insight as to how said determination of Eigenvalues is accomplished. In the following a demonstrative two dimensional data image is assumed and a preferred method of determining Eigenvalues, comprising a major and a minor axis of a "data image characterizing virtual ellipse", is presented to provide further insight .
As discussed in the Disclosure of the Invention Section of this Specification, a prefered embodiment of the present invention methodology operates on a data structure to provides one or more characterizing vectors. Where a two (2) dimensional data structure is involved, the preferred vector has five (5) elements and appears as:
("&X", "irY", MEAN "X", MEAN "Y", PARM);
where
"#X" is the Integer number of pixels selected by applying a pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "X" direction;
"#Y" is the Integer number of pixels selected by applying a pre-selection f equency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "Y" direction;
Mean "X" is the spatial location based first central moment of the "#X" pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "X" direction; Mean "Y" is the spatial location based first central moment of the "#Y" pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "Y" direction; and
PARM is a value calculated from spatial location based second central moment dependent Eigenvalues, utilizing pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "X" and "Y" directions, such as provided by the formula:
Figure imgf000067_0001
where ( ) and ( .v2..) are said Eigenvalues.
The "IrX", "#Y" values are arrived by incrementing a counter each time the applying of a gradient test to each pixel in a data structure identifies a pixel as meeting an intensity and/or color gradient test criteria:
V = δf(x,y) . ^ Vy _ = -δf{x,y) t δx δy
Vx = f(x, y)- f(x+ l, y), Vy = f(x, y~f(χ,y+ l))
as acceptable for use in additional computations leading to the evaluation of MEAN "X", MEAN "Y", and a PARM .
If only one range of gradient is designated, preferred practice provides that a single five (5) element data structure characterizing vector:
("frX", "JrY", MEAN "X", MEAN "Y", PARM),
be produced. If, however, various ranges of gradient are designated, (eg. arbitrary units of say (1 and 10), or between arbitrary units of (11 and 100), or between arbitrary units of (100 and 500)), a five (5) element vector:
("#X", "#Y", MEAN "X", MEAN "Y", PARM),
will typically be determined for said designated gradient range, and the resulting vectors can, as described earlier herein, then be concatonated to provide a data structure identifing index.
The methodology for determining the frequency σf occurance of, (ie. values for "#X", "#Y" in a five element vector), from a data structure is straigt forward and the typically applied gradient formulas were presented earlier herein. The calculation of values for the MEAN "X", MEAN "Y", PARM is a bit more complex, and was basically disclosed earlier herein. The difference in said earlier description, and the practiced in the presently disclosed methodology being that only pixels identified by application of the gradient testing formulas are utilized in central moment calculations which determine MEAN "X", MEAN "Y", PARM. Referring to Figs. 1, 2bl & 2b2, a d 2cl - 2c4, it should be appreciated that the present invention pixel gradient testing methodology would typically return as pixels to . be utilized in said central moment calculations that are identifying of the edges of the depicted airplane object. This, it must be appreciated is a dominant focus of the present invention.
Additionally, Figs. 3a, 3b and 3c show that the present invention teaches that where at least three different intensity or color or combination intensity and color based gradient ranges are defined, and where a data structure characterizing indexing vector is calculated for each, then information in each said of three of said at least three data structure characterizing indexing vectors can be applied to provide three distinct vertex "points", which three distinct vertex "points" can be considered as being the verticies of a triangle GA, GB & GC. Fig. 3a can be considered as a first such calculated triangle obtained utilizing data from a first frame in, for instance, a sequence of video frames. Said triangle defining vertex "points", and associated Midpoint M, can be re-calculated at sequential frames said video, for instance, and sequential changes in said triangle defining "points" identified with Rotation, Translation and Scaling of objects in the data structure being analyzed. Fig. 3b shows rotation and translation has occured, as compared to the Fig. 3a, while Fig. 3c demonstrates scaling of the images shown in Figs 3a and 3b. Hence, the present invention methodology allows tracking changes in, for instance, sequential two-dimensional video sequences. Mathematical Matrix Symbology provides description of sequential changes in objects data structure as: ROTATI ON TRANSLATION SCALING
Figure imgf000070_0001
It is also possible to identify such as:
a. Equal-gradient-Direction-Angle Subspace where :
y/χ = CONST.
b. Equal-gradient-Magnitude Subspace where
((Vx)2+(V)2) = CONST.
c. Dominant-Magnitude Subspace wherein a gradient has a maximum value.
Continuing, to provide insight as to calculation of MEAN "X", MEAN "Y" and a PARM, it is first noted that in the Disclosure Of The Invention Section herein it was established that the invention method, as applied to data images and data structures, includes such as:
"determining Eigenvalues for essentially the entire data structure, said Eigenvalues being a major axis and (N-1) minor axes of a characteristic virtual data structure mathematical object, then calculating a first non-degenerate data structure index element using a formula which operates on said major axis and at least one of said (N-1) minor axes"; or "determining Eigenvalues for essentially the entire data image, said Eigenvalues being a major axis ( λn ) and a minor axis ( λ ) of a characteristic virtual ellipse"; or
"dividing said essentially entire two dimensional data image into first and second data image parts about an axis selected from the group consisting of: (said minor axis and said major axis), and for each of said first and second data image parts independently determining Eigenvalues therefore, said Eigenvalues being a major axis ( λ\ ) and a minor axis ( λ ) for the first of said separate characteristic virtual ellipses, and major axis ( Λβ ) and a minor axis ( λ-a ) for the second of said separate characteristic virtual ellipses";
but to this point, this Disclosure has provided no insight as to how said determination of Mean and Eigenvalues are accomplished. In the following a demonstrative two dimensional data image is assumed and a preferred method of determining Eigenvalues, comprising a major and a minor axis of a "data image characterizing virtual ellipse", is presented to provide further insight.
To begin, the basic present invention methodology is best understood by referral to Fig. 1 which shows a data image of an airplane and indicates three levels (LI), (L2) and (L3) of data image division, (the reason for which will become clear later herein). Fig. 2a shows an ellipse with a major axis ( λu ) and a minor axis ( λ2l ) . At this point it is disclosed that the mathematical technique presented directly, operating an the image in level (LI) of Fig. 1, provides values for said Fig. 2a ellipse major axis ( λ ) and a minor axis ( λ2i )• Likewise application of the disclosed that the mathematical technique presented directly, independently operating on the each of the images in level (L2) of Fig. 1, provides values for said Fig. 2bl ellipse major axis ( λ ) and a minor axis ( λ^ ) for said Fig. 2b2 ellipse major axis ( λ13 ) and a minor axis ( λ^ ) . Likewise application of the disclosed that the mathematical technique presented directly, independently operating on the images in level (L3) of Fig. 1, provides values for said Fig. 2cl ellipse major axis ( 4 ) and a minor axis (λ14), for said Fig. 2c2 ellipse major axis ( λl5 ) and a minor axis ( ^ ) , for said Fig. 2c3 ellipse major axis ( ) and a minor axis ( λ26 ), for said Fig. 2c4 ellipse major axis ( Λγ, ) and a minor axis ^-ι^ •
At this point it is noted that within the present invention methodology, the Fig. 1 images at level (L2), are arrived at by division of the Fig. 1 image at level (LI) about the minor axis of the ellipse shown in Fig. 2a. As well, the images in the third level (L3) in Fig. 1, are arrived at by dividing the data in level (12) therein around the minor axes in the Figs. 2bl and 2b2 ellipses. It is also noted at this point that practice of the method of the present invention usually does not involve actually plotting the ellipses shown in Figs. 2a - 2c4, and that is why the terminology "virtual ellipse" is often utilized in this Disclosure.
The mathematical technique involved in determining Eigenvalue major ( i ) and minor ( Λ21 ) axes values will be demonstrated for the Fig. 1,
Level (LI), and it is to be understood that the same technique applies at levels (L2) and (L3), with the difference being that only portions of the data image are involved at said (L2) and (L3) levels.
first, the data image is considered to be a two dimensional array of pixels, each of said pixels being located by "x" and "y" position indicators, and having associated therewith a magnitude which is arrived at by application of a formula which operates on intensity, and optionally, color content, (eg. Red, Blue and Green percentages). Now, given a two dimensional continuous function f(x,y), the central moment of order (p+q) is defined, (in Chapter 7 of "Computer Image Processing and Recognition", by Hall, Academic Press), as:
m M = 1 χpy9f(χ>y) dχ<fy p,q = 1,2,...
Continuing, a uniqueness theorem states that if f(x,y) is piecewise continuous and has nonzero values in a finite part of the x-y plane, then central moments of all orders exist and the central moment sequence m is uniquely determined by f(x,y). pq
Conversely, m uniquely recovers f(x,y). It is q noted that this condition is generally satisfied by a digital image. Now, the central moment of order (p+q) is expressed as: μpq = J J (x-x) {γr-'yf f(Xiy) dx . p, q 0,1,2, where :
Figure imgf000073_0001
are the centroids. For a digital image the above equations become:
^ =∑∑ (χY(y)9Aχ>y) dxdy;
* y
{χ-χf(γ-yff{χ,y) dxdy;
Figure imgf000073_0002
Further, it is known that the u is invariant under pq translation. That is: „ (χ,y) = μpg(χ-χ o , - 0) However, u is scaling and rotation dependent, pq
The second central moments of an image function f(x,y) are central moments of inertia and are analogous to variances and covariance of a bivariant probability distribution. The 2 x 2 matrix formed by them being:
Figure imgf000074_0001
is real symetric. The Eigenvalues are solutions to the characteristic equation:
Figure imgf000074_0002
The Eigenvector φ, corresponding to Eigenvalue λ\ is given by:
Since is real symetric, the Eigenvectors corresponding to two different Eigenvalues are typically orthogonal. The Eigenvalues of the above central moments are invariant under rotation of the image function f(x,y), but are still scaling dependent. One way to make them scaling invariant is by normalization, such as:
^ ' Λ12 + A". or taking the ratio; λlj 2
Another way is to use the normalized second central moments denoted as HW;
_ ^PI (P + Q ) npq , where r = — — — +1: for p + q = 2,3,... rMω 2 Said Eigenvalues and Eigenvectors have important properties :
1. The Eigenvalue matrix is invariant under typically orthogonal linear transformations; and
2. The Eigenvector corresponding to the largest Eigenvalue points to the direction with the largest changes of the object image, ie. the longest cross expansion of the 2D shape.
Therefore an Eigenvector of the second central moments passing through the centroid of f(x,y) gives a unique partition or the object image. The resulting subdivisions are independent of the position, scaling and orientation changes of the objects in the image. It is noted that by use of a 3 x 3 normalized second central moment matrix the described scheme application can be expanded to a 3D data structure.
It is to be appreciated that Eigenvalues derived from normalized second central moments: , = 1 / 2\ \n20 + n02 )+ τ](n20 +n02)2 +4nn
Figure imgf000075_0001
are invariant under geometric transformations of the image function f(x,y). Further, the description of a 2D shape by central moment invariants defined on the second central moments can be viewed as an elliptic approximation of the shape, as described in "Image Analysis Via the General Theory Of central moments", Teague, J. Opt. Soc. America, Vol. 70, No. 8, (Aug. 1980). That is, for an image defined by
Figure imgf000076_0001
the Eigenvalues :
Figure imgf000076_0002
are the major ( λx ) and minor ( X2 ) axis of the so defined ellipse. The descriptors ( x ) and ( λ2 ) modulate the shape. of the ellipse, and Eigenvalues of the second central moments of the image function f(x,y) uniquely determines an elliptic approximation of the object shape.
The described shape descriptors ( , ) and ( λ2 ) can be acquired at various data depth levels such as demonstrated by (LI) (L2) and (L3) in Fig. 1.
The foregoing mathematical derivation is presented in "A Transformation-Invariant Recursive Subdivision Method For Shape Analysis", Zhu and Poh, IEEE Proc. of the 9th Int. Conf. on Pattern Recog., Rome, Italy, (Nov. 14-17, 1988).
Further, it is noted that in calculation of the Eigenvalues ( χ ) and ( Λ2 ) it is possible to find:
x = m ιo / m oo
y = m ot /m 00 then for p, q = 0, 1, 2...determining
u∞ - ∑ ∑ {xY(y-yff(χ,y) ; for ,g = θ,ι, to the end that npq = μpqj μ^ is calculatable, where y = (p + q)/2 + 1, for p + q = 2, 3...
followed by calculation of:
Mn = m ~xmn ;
Figure imgf000077_0001
Mo2 := m02 -ym01
and then determine:
nn = μn /m0Q ;
Figure imgf000077_0002
where mQ0 = μo0; to provide entries for calculating ( λ ) and ( χ2 ) by equations presented earlier herein.
New in the present invention methodology is use of the described shape descriptors, generally represented by ( , ) and ( X2 ) , found f om application of the just recited technique to various portions of the image data at various levels (LI), (L2) (L3) etc., to form a plurality of Non-degenerate Index Elements, (II), (12) (3) etc. which plurality of Non-degenerate Index Elements are then concatenated in any functional permuted order to form a data image identifying Index (I) which is descriptive of the data image. It is to be appreciated that said identifying Index (I) not only characterizes a data image, but also can be easily stored and retrieved by conventional computer programming techniques.
As presented earlier in this Disclosure in specific forms> a preferred, but not exclusive, general formulation for producing Non-degenerate Index Elements is:
Figure imgf000078_0001
Again, the prefered present invention methodology for calculating values for MEAN "X", MEAN "Y" and a PARM, provides that:
a. only pixels identified by application of gradient testing by formulas such as:
Figure imgf000078_0002
vy = f(χ,y) -f(χ,y+ή)
are utilized in the central moment calculations, and that
b. typically, only one heirarchial data structure level will be involved. That is, while, not a limitation, it is typical practice to calculate values for MEAN "X", MEAN "Y", and a PARM only once, without continuation to application of the central moment calculations to additional heiarchial levels in a data strturcture, (as demonstrated by Figs. 2bl and 2b2, and 2cl - 2c4.
Fig. 4 shows the a flow for a basic present invention method. Said method involves calculating Eigenvalues for an N dimensional data set, then dividing said N dimensional data set into first and second data sets and calculating Eigenvalues for each. Arrows exiting the first and second blocks indicate that additional steps, such as utilizing said Eigenvalues to determine and Index comprised of Index Elements can be performed after practice of the methodology therein. Fig. 4 also shows that an additional step of comparing a calculated Index to previously determined Data Set Image Indicies.
Fig. 5 shows the basic flow of a non-limiting preferred present invention method. Included is Data Set Pixel preselection.
The present invention then is methodology for enabling easy characterization, storage and retrieval of multi-dimensional data structures involving use of a translation, rotation and scaling invariant index which results from concatenating a series of Eigenvalue calculation mediated index elements determined at a plurality of hierarchical data depth levels.
It is noted that the present invention methodology can be practiced on any computing system capable with sufficient read-in, memory, calculating and read-out capability.
It should also be appreciated that the present invention provides a convenient method for comparing the content of two or more data structures, via comparison of corresponding Non-degenerate Index Elements arrived at by practice of the described method. This is especially applicable in comparison of, for instance, medical data images corresponding to a subject and to archieved medical reference images which are, in a practical sense, unidenti iable, hence, unretrievable, in the absence of the methodology present invention.
Having hereby disclosed the subject matter of the present invention, it should be obvious that many modifications, substitutions, and variations of the present invention are possible in view of the teachings. It is therefore to be understood that the invention may be practiced other than as specifically described, and should be limited in its breadth and scope only by the Claims.

Claims

I CLAIM: .
1. A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels, said method comprising the steps of:
a. determining Eigenvalues for essentially the entire data image, said Eigenvalues being a major axis ( ,., ) and a minor axis ( A2, ) of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using the formula:
Figure imgf000081_0001
b. dividing said essentially entire two dimensional data image into first and second data image parts about an axis selected from the group consisting of:
said minor axis; and said major axis;
and for each of said first and second data image parts independently determining Eigenvalues therefore, said Eigenvalues being a major axis { λ 2 ) and a minor axis ( 22 ) for the first of said separate characteristic virtual ellipses, and major axis ( ,3 ) and a minor axis ( λ23 ) for the second of said separate characteristic virtual ellipses, and then calculating second (12) and third (13) non-degenerate data image index elements using the formulas:
Figure imgf000082_0001
c. concatenating said first, second and third non-degenerate data image index elements to provide said identifying data image index (I) by a selection from the group consisting of:
I = II 12 13; I = II 13 12; I = 12 II 13; I = 12 13 II; I = 13 II 12; and I = 13 12 II.
2. A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels, said method comprising the steps of:
a. applying a pixel pre-selection criteria to eliminate pixels not associated with image feature edges;
b. determining Eigenvalues for essentially the entire remaining data image, said Eigenvalues being a major axis ( λn ) and a minor axis ( ^i ) of characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using the formula:
Figure imgf000082_0002
c. dividing said essentially entire two dimensional data image into first and second data image parts about an axis selected from the group consisting of:
said minor axis; said major axis; and an axis intermediate thereto;
and for at least one of said first and second data image parts independently determining Eigenvalues therefore, said Eigenvalues being a major axis ( λn ) and a minor axis ( λ12 ) tor the first of said separate characteristic virtual ellipses, and major axis ( λ,3 ) and a minor axis ( λ23) for the second of said separate characteristic virtual ellipses, and then calculating second (12) and third (13) non-degenerate data image index elements using the formulas:
Λ
Figure imgf000083_0001
d. concatenating at least two of said determined first, second and third non-degenerate data image index elements in any functional permuted order to provide said identifying data image index (I).
3. A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels, said method comprising the steps of:
a. determining Eigenvalues for essentially the entire data image, said Eigenvalues being a major axis and a minor axis of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using a formula which operates on said major and minor axes Eigenvalues;
b. dividing said essentially entire two dimensional data image into at least first and second data image parts about an axis selected from the group consisting of:
said minor axis; said major axis; and an axis intermediate thereto;
and for each of said at least first and second data image parts independently determining Eigenvalues therefore, said Eigenvalues being a major axis and a minor axis for a first of said separate characteristic virtual ellipses, and major axis and a minor axis for a second of said separate characteristic virtual ellipses, and optionally independently determining a major axis and a minor axis for at least some of any additional data image parts, and then calculating at least second (12) and/or third (13) non-degenerate data image index elements determined from two of said at least two data image parts, using formulas which return a non-degenerate result;
c. concatenating at least two of said first (II), second (12) and/or third (3) non-degenerate data image index elements in any functional permuted order to provide said identifying data image index (I).
4. A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels as in Claim 3, wherein a pre-selection criteria is applied to eliminate pixels not associated with image feature edges.
5. A method of providing an identifying data set index (I) for an "N" dimensional data set consisting of a multiplicity of pixels, said method comprising the step of:
a. determining Eigenvalues for essentially the entire data set, said Eigenvalues being a major axis and (N-1) minor axes of a characteristic virtual data set mathematical object, then calculating a first non-degenerate data set inde element using a formula which operates on said major axis and at least one of said (N-1) minor axes.
6. A method of providing an identifying data set index (I) for an "N" dimensional data set consisting of a multiplicity of pixels as in Claim 5, said method further comprising the step of:
b. dividing said essentially entire "N" dimensional data set into at least first and second data set parts about at least one axis selected from the group consisting of :
said minor axis; said major axis; and an axis intermediate thereto;
and for at least one of said at least first and second data set parts independently determining "N" Eigenvalues therefore, said "N" Eigenvalues being a major axis and (N-1) minor axes of a mathematical object for said at least one of said at least first and second data set parts, and then calculating at least one additional non-degenerate data set index element using formula(s) which operate on said major axis and at least one of said (N-1) minor axes in said at least one of said at least first and second data set parts, and return a non-degenerate result.
7. A method of providing an identifying data set index (I) for an "N" dimensional data set consisting of a multiplicity of pixels as in Claim 6, said method further comprising the step of:
c. concatenating at least two resulting non-degenerate data set index elements in any functional permuted order to provide said identifying data set index (I).
8. A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels, comprising the steps of:
a. determining Eigenvalues for essentially the entire data image, said Eigenvalues being a major axis ( ,, ) and a minor axis ( λ2, ) of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using the formula:
Figure imgf000086_0001
b. dividing said essentially entire two dimensional data image into first and second data image parts about an axis selected from the group consisting of: said minor axis; said major axis; and an axis intermediate thereto;
arid for each of said first and second data image parts independently determining Eigenvalues therefore, said Eigenvalues being a major axis ( 12 ) and a minor axis ( λ1 ) tor- the first of said separate characteristic virtual ellipses, and major axis ( λ,3 ) and a minor axis ( A23 ) for the second of said separate characteristic virtual ellipses, and then calculating second (12) and third (13) non-degenerate data image index elements using the formulas:
Figure imgf000087_0001
c. dividing said each of said first and second image parts from step b., each about an axis selected from the group consisting of:
said minor axis; said major axis; and an axis intermediate thereto;
to produce third, forth, fifth and sixth image parts and for at least one of said third, forth, fifth and sixth image parts independently determining Eigenvalues thereof, said determined Eigenvalues being selected from the group consisting of: a major axis ( AM ) and a minor axis ( λ24 ) for the third of said separate characteristic virtual ellipses, and major axis ( A,5 ) and a minor axis ( ^-25 ) for the forth of said separate characteristic virtual ellipses, a major axis (
Figure imgf000088_0001
) and a minor axis ( X26 ) for the fifth of said separate characteristic virtual ellipses, and major axis ( AI7 ) and a minor axis ( λ27 ) for the sixth of said separate characteristic virtual ellipses, and then calculating forth (14), fifth (15), sixth (16) and seventh (17) non-degenerate data image index elements using as appropriate the formulas:
Figure imgf000088_0002
Figure imgf000088_0003
d. concatenating said first (II), and at least one produced non-degenerate data index element (s) selected from the group consisting of said:
second (12), third (13), forth (14), fifth (15), sixth (16) and seventh (17) non-degenerate data index elements;
in any functional permuted order, to provide said identifying data image index (I).
9. A method of providing an identifying data image index (I) for a two dimensional data image consisting 5 of a multiplicity of pixels as in Claim 8, in which a pre-selection criteria is applied to eliminate pixels in the data set which are not associated with image feature edges.
^0 1 . A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels, comprising the steps of:
a. determining Eigenvalues for essentially the 5 entire data image, said Eigenvalues being a major axis ( λn ) and a minor axis ( 2, ) of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using a formula which operates on said Eigenvalues: 0 b. dividing said essentially entire two dimensional data image into first, second, third and forth data image parts using said minor axis and said major axis as dividing means, said first, second, third and 25 forth data image parts being oriented in a first, second, third and forth quadrant pattern defined by said major and minor axes, in said two dimensional data image;
30 c. for at least one of said first, second, third and forth data image parts independently determining Eigenvalues of a characteristic virtual ellipse therefore, said Eigenvalues being selected from the group consisting of:
35 a major axis ( ,2 ) and a minor axis ( λ22 ) for the first of said separate characteristic virtual ellipses, and a major axis ( λ13 ) and a minor axis ( ^3 ) for the second of said separate characteristic virtual ellipses, a major axis ( ^i ) and a minor axis ( A24 ) for the third of said separate characteristic virtual ellipses, and a major axis ( Λ|5 ) and a minor axis ( 25 ) for the forth of said separate characteristic virtual ellipses;
d. calculating at least one additional non-degenerate data image index element using formula (s) which operates on Eigenvalues corresponding to said at least one of said first, second, third and forth data image parts determined in step, c; and
e. concatenating at least two resulting non-degenerate data index elements, in any functional permuted order, to provide said identifying data image index ( I ) .
11. A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels as in Claim 10, in which a pre-selection criteria is applied to eliminate pixels in the data set which are not associated with image feature edges.
12. A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels as in Claim 10, wherein Eigenvalues for each of said first, second, third and forth data image parts are independently determined, said Eigenvalues being: a major axis ( ^12 ) and a minor axis ( ^ ) for the first of said separate characteristic virtual
■ ellipses, and a major axis ( 13 ) and a minor axis
( Λi3 ) for the second of said separate characteristic virtual ellipses, a major axis
( ^i4 ) and a minor axis ( Λ24 ) for the third of said separate characteristic virtual ellipses, and a major axis ( Λ,5 ) and a minor axis ( ^25 ) for the forth of said separate characteristic virtual ellipses;
and wherein step d. involves calculating four additional non-degenerate data image index element using formula(s) which operate on Eigenvalues corresponding to said first, second, third and forth data image parts determined in step, c; and
e. concatenating said resulting five non-degenerate data index elements, in any functional permuted order, to provide said identifying data image index (I).
13. A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels as in Claim 11, in which a pre-selection criteria is applied to eliminate pixels in the data set which are not associated with image feature edges.
14. A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels as in Claim 11, which further comprises dividing said each of said first, second, third and forth data image parts from step t,., each about at least one axis selected from the group consisting of: said minor axis; said major axis; and an axis intermediate thereto;
to identify at least two, and possibly four, new data image parts in each of said first, second, third and forth data image parts; and for at least some of the new data image parts determining Eigenvalues therefore, said Eigenvalues being a major axis and a minor axis for a characteristic virtual ellipse for said newly formed data image part(s); and concatenating at least some of the calculated non-degenerate data index elements, in any functional permuted order, to provide said identifying data image index (I).
15. A method of providing an identifying index (I) for a two dimensional image consisting of a multiplicity of pixels as in Claim 1, in which the step of determining Eigenvalues for essentially the entire image, said Eigenvalues being a major axis ( An ) and a minor axis ( A2, ) of a characteristic virtual ellipse involves:
for a multiplicity of pixel intensities f(x,y), determining moments of order (p + q) for p, q = 0, 1, 2... tøhere
*« l,2,...
Figure imgf000092_0001
to the end that x = lO/mOO and y = mOl/mOO are calculated,
then for p, q = 0, 1, 2...determining
Figure imgf000092_0002
( ~xyiy-yyf(x,y) dxdy; p,qΛ = 0,1,2,... to the end that n g ~ pg/ oo is calculatable, where y = (p + q)/2 + 1, for p + q = 2, 3...
followed by calculation of:
. / ι =J»u-xw0,;
Figure imgf000093_0001
MQ2 = «02-lw01 and then:
nnn/m0 2 0;
n2Q = M20 /m^ ; and
Figure imgf000093_0002
where m^ = ∞,
followed by calculation of:
+«02)+V(W20 +"<B f +4«n ]
2 +Wα2 )+ («2002)2+4«π)
Figure imgf000093_0003
16. A method of developing an image comprising the steps of:
a. providing an identifying data image index (I) as determined in Claim 1;
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels. ,
17. A method of developing an image comprising the steps of:
a. providing an identifying data image index (I) as determined in Claim 2;
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels.
18. A method of developing an image comprising the steps of:
a. providing an identifying data image index (I) as determined in Claim 4;
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels
19. A method of developing a data set comprising the steps of:
a. method of providing an identifying data set index (I) as determined in Claim 5;
b. converting each data index element into a set of pixils; and
c. combining the resulting pixels.
20. A method of developing a data set comprising the steps of: a. method of providing an identifying data set index (I) as determined in Claim 6;
b. converting each data index element into a set of pixils; and
c. combining the resulting pixels.
21. A method of developing an image comprising the steps of:
a. providing an identifying data image index (I) as determined in Claim 7;
b. converting each data index element into a set of pixils; and
c. combining the resulting pixels. .
22. A method of developing an image comprising the steps of :
a. providing an identifying data image index (I) as determined in Claim 8;
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels.
23. A method of developing an image comprising the steps of:
a. providing an identifying data image index (I) as determined in Claim 9;
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels.
24. A method of developing an image comprising the steps of:
a. providing an identifying data image index (I) as determined in Claim 10;
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels.
25. A method of developing an image comprising the steps of:
a. providing an identifying data image index (I) as determined in Claim 11;
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels.
26. A method of developing an image comprising the steps of:
a. providing an identifying data image index (I) as determined in Claim 12;
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels.
27. A method of developing an image comprising the steps of:
a. providing an identifying two dimensional data image index (I) as determined in Claim 13;
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels.
28. A method of identifying similarities in a first and a second data set comprising the steps of, for each said data set:
a. determining Eigenvalues for essentially the entire data set, said Eigenvalues being at least a major axis and a minor axis of a mathematical object representation of said entire data set, then calculating a first (II) non-degenerate data set index element using a formula which operates on said Eigenvalues; and
b. comparing said first (II) non-degenerate data set index element for said first data set to that for said second data set.
29. A method of identifying similarities in a first and a second data set as in Claim 28, comprising the steps of, for each said data set:
b. dividing said essentially entire data set into at least first and second data set parts about an axis selected from the group consisting of:
said minor axis; said major axis; and an axis intermediate thereto;
and for each of said at least first and second data set parts independently determining Eigenvalues therefore, said Eigenvalues being at least a major axis and a minor axis for a mathematical object representation of said first of said separate data set parts, and at least a major axis and a minor axis for a second mathematical object representation of said second data set part, and optionally independently determining a major axis and a minor axis for at least some of any additional data set parts, and then calculating at least second (12) and/or third (13) non-degenerate data image index elements determined from two of said at least two data set parts, using formulas which return a non-degenerate result; and
c. comparing at least said second (12) non-degenerate data image index element for said first data set to that for said second data set.
30. A method of characterizing data structures comprising:
a. providing a data structure comprising pixels with each of said pixels there being associated intensity and/or color (s);
b. defining a gradient range selection- criteria;
c. utilizing a pixel pre-selection technique based on a selection from the group consisting of:
an intensity gradiant; a color gradient; and a gradiant based on intensity and color }
to determine pixels in said data structure which demonstrate an intensity and/or color gradient which meet said gradient range selection criteria; and
d. performing calculations on said pre-selection technique determined pixels to determine data structure characte izing selection(s) from the group consisting of:
first central moment (s); second central moments; and non-degenerate parameter (s) based upon said second central moments;
said calculated first central moment (s) and second central moment (s) being based on spatial location distributions of said pixels identified by said pre-selection technique; and
e. combining results obtained in steps c. and d. to form a data structure characterizing index.
31. A method of characterizing data structures as in Claim 30, in which the data structure is two dimensional, and in which first central moment (s), second central moments and and non-degenerate parameter (s) based upon said second central moments are determined, and in which at least one five (5) member data structure characterizing index vector is produced, the members of said at least one five (5) member data structure characterizing index vector being comprised of, in any order: a. number of pre-selected pixels in "X" direction, said selection criteria being based on a gradient "frequency-of-occurance" basis;
b. number of pre-selected pixels in "Y" direction, . said selection criteria being based on a gradient " frequency-of-occurance " bas is ;
c. spatially based "X" direction calculated first central moment for the pre-selected pixels in the "X" direction, said selection criteria being based on a gradient "f equency-of-occurance" basis;
d. spatially based "Y" direction calculated first central moment for the pre-selected pixels in the "Y" direction, said selection criteria being based on a gradient "frequency-of-occurance" basis;
e. a non-degenerate parameter calculated from spatially based second central moment dependent Eigenvalues .
32. A method of characterizing data structures as in Claim 31, wherein the data structure characterizing indexing vector is represented as
("#X", "#Y", MEAN "X", MEAN "Y", PARM);
where :
"#X" is the Integer number of pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "X" direction;
"#Y" is the Integer number of pixels selected by applying the pre-selection f equency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "Y" direction;
Mean "X" is the spatial location based first central moment of the "#X" pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "X" direction;
Mean . "Y" is the spatial location based first central moment of the "#Y" pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "Y" direction; and
PARM is a value calculated from spatial location based second central moment dependent Eigenvalues, utilizing pixels selected by applying the pre-selection frequency-of-occurance criteria to intensity or color or combination intensity and color gradients in the "X" and "Y" directions, such as provided by the formula:
s = +X2 where ( } and ( a ) are said Eigenvalues.
33. A method of characterizing data structures comprising:
a. providing a multi-dimensional data structure comprising pixels, with each of said pixels there being associated intensity and/or colors;
b. defining at least one gradient range selection criteria;
c. utilizing a pixel pre-selection technique based on a selection from the group consisting of:
an intensity gradiant; a color gradient; and a gradiant based on intensity and color;
to determine pixels in said multi-dimensional data structure which demonstrate intensity and/or color gradient(s) which meet said gradient range selection criteria; and
d. performing calculations on said pre-selection technique determined pixels to determine first central moment and second central moment values and non-degenerate parameter (s) based upon said second central moment values, said first and second central moment values being based on spatial location distributions of said pixels identified by said pre-selection technique, separate calculations being performed utilizing pixels in each of said at least one range (s) of gradients; and
e. combining results obtained in steps c. and d. to form a data structure characterizing index.
34. A method of tracking changes in a multi-dimensional data structure comprising the steps of :
a. providing a first frame of a sequence of frames in a multi-dimensional data structure, each of said frames being comprised of pixels and with each of said pixels there being associated intensity and/or color(s);
b. defining at least three selected ranges of gradient(s) and defining pixel ; pre-selection technique gradient range selection criteria, then based on a selection from the group consisting of:
intensity gradiant; color gradient; and gradiant based on intensity and color;
determining pixels in said multi-dimensional data structure which demonstrate an intensity and/or color gradient within at least one of said at least three selected ranges of gradient (s); and
c. performing, calculations on said pre-selection technique determined pixels to determine first and second central moment values and non-degenerate parameter (s) based upon said second central moment values, said first and second central moment values being based on spatial location distributions of said pixels identified by said pre-selection technique; separate calculations being performed utilizing pixels in each of said at least three ranges of gradients;
utilizing information from the separate calculations performed in three of said at least three ranges of gradients in step c. to form three points which are assigned as verticies of a triangle for said first frame of a sequence of frames in a multi-dimensional data structure comprising pixels;
e. providing a second frame of a sequence of frames in a multi-dimensional data structure, each of said frames being comprised of pixels and with each of said pixels there being associated intensity and/or color (s ) ;
f. defining gradient range selection criteria substantially the same as in step b. and utilizing an intensity and/or color gradient determining pre-selection technique which is substantially the same as in step b. to determine pixels in said multi-dimensional data structure which demonstrate an intensity and/or color gradient within at least three of said at least three selected range of gradient(s), said at least three selected range of gradient(s) being substantially the same as in step b.; and
g. performing calculations on said step f. pre-selection technique determined pixels to determine first and second central moment values and non-degenerate parameter (s) based upon said second central moment values, said first and second central moment values being based on spatial location distributions of said pixels identified by said pre-selection technique; separate calculations being performed utilizing pixels in each of said at least three ranges of gradients;
h. utilizing information from the separate calculations performed in said three ranges of gradients in step g. to form three points which are assigned as verticies of a triangle for said second frame of a sequence of frames in a multi-dimensional data structure comprising pixels; and
i. comparing the results of practice of steps d. and h. to determine translation, rotation and scaling of objects identified in said first and second sequential frames of said multi-dimensional data structure.
35. A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels, said method comprising the defining of a gradient range selection criteria based on a selection from the group consisting of:
an intensity gradiant; a color gradient; and a gradiant based on intensity and color;
and pre-selecting pixels within a selected range of gradients in said two dimensional data set based upon the meeting of said intensity and/or color gradient determining pre-selection criteria;
said method further comprising the steps of:
a. determining Eigenvalues for pre-selected pixels in essentially the entire data image, said Eigenvalues being a major axis (
Figure imgf000105_0001
) and a minor axis ( A21 ) of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using the formula:
Figure imgf000105_0002
b. dividing said essentially entire two dimensional data image into first and second data image parts about an axis selected from the group consisting of:
said minor axis; said major axis; and an axis intermediate thereto;
and for pre-selected pixels in each of said first and second data image parts independently determining Eigenvalues therefore, said Eigenvalues being a major axis ( λ ) and a minor axis ( X22 ) for the first of said separate characteristic virtual ellipses, and major axis ( λ,3 ) and a minor axis ( λ23 ) for the second of said separate characteristic virtual ellipses, and then calculating second (12) and third (13) non-degenerate data image index elements using the formulas:
Figure imgf000106_0001
c. concatenating said first, second and third non-degenerate data image index elements to provide said identifying data image index (I) by a selection from the group consisting of:
I = II 12 13; . I = II 13 12; I = 12 II 13; I = 12 13 II; I = 13 II 12; and I = 13 12 II.
36. A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels, said method comprising the defining of a gradient range selection criteria based on a selection from the group consisting of:
an intensity gradiant; a color gradient; and a gradiant based on intensity and color;
and pre-selecting pixels within a selected range of gradients in said two dimensional data set based upon the meeting of said intensity and/or color gradient determining pre-selection criteria;
said method comprising the steps of:
a. determining Eigenvalues for pre-selected pixels in essentially the entire data image, said Eigenvalues being a major axis and a minor axis of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using a formula which operates on said major and minor axes Eigenvalues.
37. A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels as in Claim 36, said method further comprising the steps of:
b. dividing said essentially entire two dimensional data image into at least first and second data image parts about an axis selected from the group consisting of: said minor axis; said major axis; and an axis intermediate thereto;
and for pre-selected pixels in each of said at least first and second data image parts independently determining Eigenvalues therefore, said Eigenvalues being a major axis and a minor axis for a first of said separate characteristic virtual ellipses, and major axis and a minor axis for a second of said separate characteristic virtual ellipses, and optionally independently determining a major axis and a minor axis for at least some of any additional data image parts, and then calculating at least second (12) and/or third (13) non-degenerate data image index elements determined from two of said at least two data image parts, using formulas which return a non-degenerate result .
38. A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels as in Claim 37, said method further comprising the step of:
c. concatenating at least two of said first (II), second (12) and/or third (3) non-degenerate data image index elements in any functional permuted order to provide said identifying data image index (I).
39. A method of providing an identifying data structure index (I) for an "N" dimensional data structure consisting of a multiplicity of pixels, said method comprising the defining of a gradient range selection criteria based on a selection from the group consisting of:
an intensity gradiant; a color gradient; and a gradiant based on intensity and color;
and pre-selecting pixels within a selected range of gradients in said "N" dimensional data set based upon the meeting of said intensity and/or color gradient determining pre-selection criteria;
said method comprising the step of
a. determining Eigenvalues for pre-selected pixels in essentially the entire data structure, said Eigenvalues being a major axis and (N-1) minor axes of a characteristic virtual data structure mathematical object, then calculating a first non-degenerate data structure index element using a formula which operates on said major axis and at least one of said (N-1) minor axes.
40. A method of providing an identifying data structure index (I) for an "N" dimensional data structure consisting of a multiplicity of pixels as in Claim 39., said method further comprising the step of:
b. dividing said essentially entire "N" dimensional data structure into at least first and second data structure parts about at least one axis selected from the group consisting of:
said major axis; said (N-1) minor axes; and axis intermeidate thereto;
and for pre-selected pixels in at least one of said at least first and second data structure parts independently determining "N" Eigenvalues therefore, said "N" Eigenvalues being a major axis and (N-1) minor axes of a mathematical object for said at least one of said at least first and second data structure parts, and then calculating at least one additional non-degenerate data structure index element using formula (s) which operate on said major axis and at least one of said (N-1) minor axes in said at least one of said at least first and second data structure parts, and return a non-degenerate result.
41. A method of providing an identifying data structure index (I) for an "N" dimensional data structure consisting of a multiplicity of pixels as in Claim 40r said method further comprising the step of :
c. concatenating at least two resulting non-degenerate data structure index elements in any functional permuted order to provide said identifying data structure index (I).
42. A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels, said method comprising the defining of a gradient range selection criteria based on a selection from the group consisting of:
an intensity gradiant; a color gradient; and a gradiant based on intensity and color;
and pre-selecting pixels within a selected range of gradients in said two dimensional data set based upon the meeting of said intensity and/or color gradient determining pre-selection criteria;
said method further comprising the steps of:
a. determining Eigenvalues for pre-selected pixels in essentially the entire data image, said Eigenvalues being a major axis ( i ) and a minor axis ( X \ ) of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using the formula:
Figure imgf000111_0001
b. dividing said essentially entire two dimensional data image into first and second data image parts about an axis selected from the group consisting of:
said minor axis; said major axis; and an axis intermediate thereto;
and for pre-selected pixels in each of said first and second data image parts independently determining Eigenvalues therefore, said Eigenvalues being a major axis ( λ-a ) and a minor axis ( λn ) for the first of said separate characteristic virtual ellipses, and major axis ( 13) and a minor axis ( X^ ) for the second of said separate characteristic virtual ellipses, and then calculating second (12) and third (13) non-degenerate data image index elements using the formulas :
Figure imgf000111_0002
c. dividing said each of said first and second image parts from step b., each about an axis selected from the group consisting of:
said minor axis; said major axis thereof; and an axis intermeidate thereto;
to produce third, forth, fifth and sixth image parts and for at least one of said third, forth, fifth and sixth image parts, based upon pre-selected pixels therein, independently determining Eigenvalues thereof, said determined Eigenvalues being selected from the group consisting of:
a major axis ( λw ) and a minor axis ( A24 ) for the third of said separate characteristic virtual ellipses, and major axis ( A15 ) and a minor axis
( A25 ) for the forth of said separate characteristic virtual ellipses, a major axis
( ) and a minor axis ( λjβ ) for the fifth of said separate characteristic virtual ellipses, and major axis ( Λ,7 ) and a minor axis ( A27 ) for the sixth of said separate characteristic virtual ellipses, and then calculating forth (14), fifth
(15), sixth (16) and seventh (17) non-degenerate data image index elements using as appropriate the formulas:
Figure imgf000113_0001
Figure imgf000113_0002
d. concatenating said first (II), and at least one produced non-degenerate data index element(s) selected from the group consisting of said:
second (12); third (13); forth (14); fifth (15); sixth (16); and seventh (17);
non-degenerate data index elements), in any functional permuted order, to provide said identifying data image index (I).
43. A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels as in Claim 42, in which, in steps c. and d. thereof, all of said first (II), second (12), third (13), forth (14), fifth (15), sixth (16) and seventh (17) non-degenerate data index elements, are calculated and concatenated, in any functional permuted order, to provide said identifying data image index (I).
44. A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels, said method comprising the defining of a gradient range selection criteria based on a selection from the group consisting of: an intensity gradiant; a color gradient; and a gradiant based on intensity and color;
and pre-selecting pixels within a selected range of gradients in said two dimensional data set based upon the meeting of said intensity and/or color gradient determining pre-selection criteria;
said method further comprising the steps of:
a. determining Eigenvalues for pre-selected pixels in essentially the entire data image, said Eigenvalues being a major axis ( Λu ) and a minor axis ( A2I ) of a characteristic virtual ellipse, then calculating a first (II) non-degenerate data image index element using a formula which operates on said Eigenvalues:
b- dividing said essentially entire two dimensional data image into first, second, third and forth data image parts using said minor axis and said major axis as dividing means, said first, second, third and forth data image parts being oriented in a first, second, third and forth quadrant pattern defined by said major and minor axes, in said two dimensional data image;
c. for at least one of said first, second, third and forth data image parts, based upon pre-selected pixels therein, independently determining Eigenvalues of a characteristic virtual ellipse therefore, said Eigenvalues being selected from the group consisting of:
a major axis ( A12, ) and a minor axis ( % , ) for the first of said separate characteristic virtual ellipses; and a major axis ( A13 ) and a minor axis ( o ) for the second of said separate characteristic virtual ellipses; a major axis ( /^ ) and a minor axis ( A24 ) for the third of said separate characteristic virtual ellipses and a major axis ( λλ5 ) and a minor axis {t λ7S ) tor the forth of said separate characteristic virtual ellipses;
d. calculating at least one additional non-degenerate data image index element using formula (s) which operates on Eigenvalues corresponding to said at least one of said first, second, third and forth data image parts determined in step, c; and
e. concatenating at least two resulting non-degenerate data index elements, in any functional permuted order, to provide said identifying data image index ( I ) .
45. A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels as in Claim 44, wherein Eigenvalues for each of said first, second, third and forth data image parts are independently determined, said Eigenvalues being:
a major axis ( A12 ) and a minor axis ( Xn ) tor the first of said separate characteristic virtual ellipses; and a major axis ( 3 ) and a minor axis ( AΏ ) for the second of said separate characteristic virtual ellipses; a major axis ( Λ14 ) and a minor axis ( 24 ) for the third of said separate characteristic virtual ellipses; and a major axis ( -ts ) and a minor axis ( X^ ) for the forth of said separate characteristic virtual ellipses;
and wherein step d. involves calculating four additional non-degenerate data image index element using formula(s) which operate on Eigenvalues corresponding to said first, second, third and forth data image parts determined in step, c; and
e. concatenating said resulting five non-degenerate data index elements, in any functional permuted order, to provide said identifying data image index (I).
46. A method of providing an identifying data image index (I) for a two dimensional data image consisting of a multiplicity of pixels as in Claim 45, which further comprises dividing said each of said first, second, third and forth data image parts from step b., each about at least one axis selected from the group consisting of:
said minor axis; said major axis thereof; and an axis intermediate thereto;
to identify at least two, and possibly four, new data image parts in each of said first, second, third and forth data image parts; and for at least some of the new data image parts, based upon pre-selected pixels threin, determining Eigenvalues therefore, said Eigenvalues being a major axis and a minor axis for a characteristic virtual ellipse for said newly formed data image part(s); and concatenating at least some of the calculated non-degenerate data index elements, in any functional permuted order, to provide said identifying data image index (I).
47. A method of providing an identifying index (I) for a two dimensional image consisting of a multiplicity of pixels as in Claim 35, in which the step of determining Eigenvalues for pre-selected pixels in essentially the entire image, said Eigenvalues being a major axis ( λii ) and a minor axis ( A21 ) of a characteristic virtual ellipse involves:
for a multiplicity of pre selected pixels f(x,y), determining central moments of order (p + q) for p, q = 0, 1, 2... where
m p_q_ = ~ Σ∑ (x)" (yϊ f{x, y) dxdy;
to the end that x = lO/mOO and y = mOl/mOO are calculated,
then for p, q = 0, 1, 2...determining
dxdy;
Figure imgf000117_0001
to the end that n pq =
Figure imgf000117_0002
χS calculatable, where y = (p + q)/2 + 1, for p + q = 2, 3...
followed by calculation of:
Mu = mn - m01 ; M20 = m10 -xmw ; and
Figure imgf000117_0003
and then :
Figure imgf000118_0001
where m _
"'00 i"00 »
followed by calculation of :
A, =l/2^(«20 +na2)+τj(n20 +n02)2 +4nu
λ2 =l/2^(«20 +«02 )+ (W 2002 )2 + «π
48. A method of developing an image comprising the steps of:
a. providing an identifying data image index (I) as determined in Claim 35;
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels.
49. A method of developing an image comprising the steps of:
a. providing an identifying data image index (I) as determined in Claim 36;
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels.
50. A method of developing an image comprising the steps of: a. providing an identifying data image index (I) as determined in Claim 37;
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels.
51. A method of developing an image comprising the steps of:
a. providing an identifying data image index (I) as determined in Claim 38;
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels.
52. A method of developing a data structure comprising the steps of:
a. method of providing an identifying data structure index (I) as determined in Claim 39;
b. converting each data index element into a structure of pixils; and
c. combining the resulting pixels.
53. A method of developing a data structure comprising the steps of:
a. method of providing an identifying data structure index (I) as determined in Claim 40; b. converting each data index element into a structure of pixils; and
c. combining the resulting pixels.
54. A method of developing a data structure comprising the steps of:
a. method of providing an identifying data structure index (I) as determined in Claim 40
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels.
55. A method of developing an image comprising the steps of:
a. providing an identifying data image index (I) as determined in Claim 41;
b. converting each data index element into a structure of pixils; and
c. combining the resulting pixels.
56. A method of developing an image comprising the steps of:
a. providing an identifying data image index (I) as determined in Claim 42;
b. converting each data index element into an array of pixils; and
c. combining, the resulting pixels.
57. A method of developing an image comprising the steps of:
a. providing an identifying data image index (I) as determined in Claim 43;
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels.
58. A method of developing an image comprising the steps of:
a. providing an identifying data image index (I) as determined in Claim 44;
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels.
59. A method of developing an image comprising the steps of:
a. providing an identifying data image index (I) as determined in Claim 45;
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels.
60. A method of developing an image comprising the steps of: a. providing an identifying data image index (I) as determined in Claim 46;
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels.
61. A method of developing an image comprising the steps of:
a. providing an identifying two dimensional data image index (I) as determined in Claim 47;
b. converting each data index element into an array of pixils; and
c. combining the resulting pixels.
62. A method of identifying similarities in a first and a second data structure, said method comprising the defining of a gradient range selection criteria based on a selection from the group consisting of:
an intensity gradiant; a color gradient; and a gradiant based on intensity and color;
and pre-selecting pixels within a selected range of gradients in each of said first and second data structures based upon the meeting of said intensity and/or color gradient determining pre-selection criteria;
said method further comprising the steps of, for each said data structure: a. utilizing said pre-selected pixels, determining Eigenvalues for essentially the entire data structure, said Eigenvalues being at least a major axis and a minor axis of a mathematical object representation of said preselected pixels in said essentially entire data structure, then calculating a first (II) rton-degenerate data structure index element using a formula which operates on said Eigenvalues; and
b. comparing said first (II) non-degenerate data structure index element for said first data structure to that for said second data structure.
63. A method of identifying similarities in a first and a second data structure as in Claim 62, comprising the steps of, for each said data structure :
b. dividing said essentially entire data structure into at least first and second data structure parts about an axis selected from the group consisting of:
said minor axis; said major axis; and an axis intermediate thereto;
and based upon pre-selected pixels in each of said at least first and second data structure parts independently determining Eigenvalues therefore, said Eigenvalues being at least a major axis and a minor axis for a mathematical object representation of said first of said separate data structure parts, and at least a major axis and a minor axis for a second mathematical object representation of said second data structure part, and optionally independently determining a major axis and a minor axis for at least some of any additional data structure parts, and then calculating at least second (12) and/or third (13) non-degenerate data image index elements determined from two of said at least two data structure parts, using formulas which return a non-degenerate result; and
c. comparing at least said second (12) non-degenerate data image index element for said first data structure to that for said second data structure.
PCT/US2001/019759 2001-06-21 2001-06-21 Methodology for data structure characterization, indexing, storage and retrieval WO2003001439A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2001/019759 WO2003001439A1 (en) 2001-06-21 2001-06-21 Methodology for data structure characterization, indexing, storage and retrieval

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2001/019759 WO2003001439A1 (en) 2001-06-21 2001-06-21 Methodology for data structure characterization, indexing, storage and retrieval

Publications (1)

Publication Number Publication Date
WO2003001439A1 true WO2003001439A1 (en) 2003-01-03

Family

ID=21742662

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/019759 WO2003001439A1 (en) 2001-06-21 2001-06-21 Methodology for data structure characterization, indexing, storage and retrieval

Country Status (1)

Country Link
WO (1) WO2003001439A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4742558A (en) * 1984-02-14 1988-05-03 Nippon Telegraph & Telephone Public Corporation Image information retrieval/display apparatus
US5841891A (en) * 1997-04-02 1998-11-24 Eastman Kodak Company Image analysis using the direct exponential curve resolution algorithm
US6061468A (en) * 1997-07-28 2000-05-09 Compaq Computer Corporation Method for reconstructing a three-dimensional object from a closed-loop sequence of images taken by an uncalibrated camera
US6191795B1 (en) * 1998-09-30 2001-02-20 Silicon Graphics, Inc. Ellipsoidal projection mapping

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4742558A (en) * 1984-02-14 1988-05-03 Nippon Telegraph & Telephone Public Corporation Image information retrieval/display apparatus
US5841891A (en) * 1997-04-02 1998-11-24 Eastman Kodak Company Image analysis using the direct exponential curve resolution algorithm
US6061468A (en) * 1997-07-28 2000-05-09 Compaq Computer Corporation Method for reconstructing a three-dimensional object from a closed-loop sequence of images taken by an uncalibrated camera
US6191795B1 (en) * 1998-09-30 2001-02-20 Silicon Graphics, Inc. Ellipsoidal projection mapping

Similar Documents

Publication Publication Date Title
US6611609B1 (en) Method of tracking changes in a multi-dimensional data structure
US6625311B1 (en) Methodology for data structure characterization, indexing, storage and retrieval
US7769248B2 (en) Method and apparatus for representing and searching for an object using shape
Ruichek Local concave-and-convex micro-structure patterns for texture classification
Shu et al. A novel contour descriptor for 2D shape matching and its application to image retrieval
EP0866409B1 (en) Image retrieval apparatus and method
US8699828B2 (en) Image matching using inlier coverage
Davis et al. An empirical evaluation of generalized cooccurrence matrices
US7558425B1 (en) Finding structures in multi-dimensional spaces using image-guided clustering
Etemadpour et al. Perception-based evaluation of projection methods for multidimensional data visualization
CN105518668A (en) Content based image retrieval
Schaefer et al. Improving projection-based data analysis by feature space transformations
Paulhac et al. A solid texture database for segmentation and classification experiments
Hosny et al. Novel quaternion discrete shifted Gegenbauer moments of fractional-orders for color image analysis
Han et al. Precise localization of eye centers with multiple cues
Schreck et al. A new metaphor for projection-based visual analysis and data exploration
US6332037B1 (en) Invariant, Eigenvalue based, non-degenerate data structure characterization, storage and retrieval indexing method
Lachaud et al. Two plane-probing algorithms for the computation of the normal vector to a digital plane
Lindblad et al. Exact linear time euclidean distance transforms of grid line sampled shapes
JP2000082075A (en) Device and method for retrieving image by straight line and program recording medium thereof
WO2003001439A1 (en) Methodology for data structure characterization, indexing, storage and retrieval
Li et al. Perceptual hashing for color images
Walker et al. Correspondence Using Distinct Points Based on Image Invariants.
Halawani et al. Image retrieval by local evaluation of nonlinear kernel functions around salient points
Di Fabio et al. Recognition of occluded shapes using size functions

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP