WO1997049063A1 - Image processing system - Google Patents

Image processing system Download PDF

Info

Publication number
WO1997049063A1
WO1997049063A1 PCT/AU1997/000318 AU9700318W WO9749063A1 WO 1997049063 A1 WO1997049063 A1 WO 1997049063A1 AU 9700318 W AU9700318 W AU 9700318W WO 9749063 A1 WO9749063 A1 WO 9749063A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
address
processing system
shm
pixel
Prior art date
Application number
PCT/AU1997/000318
Other languages
French (fr)
Inventor
Thomas Benjamin Hintz
Philip Eugene Sheridan
Original Assignee
University Of Technology, Sydney
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 University Of Technology, Sydney filed Critical University Of Technology, Sydney
Priority to AU27580/97A priority Critical patent/AU2758097A/en
Publication of WO1997049063A1 publication Critical patent/WO1997049063A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations

Definitions

  • the present invention relates to image processing systems and in particular the invention provides a new data structure for the representation and processing of images and/or image data.
  • the present invention provides an image processing system for manipulating an image represented as a plurality of image samples or pixels arranged in a geometric pattern characterised in that the geometric pattern is a triangular matrix in which the pixels are arranged with a local pixel spacing (r) such that each pixel is spaced from six surrounding pixels by the pixel spacing (r) and image manipulations to produce a modified image from a source image are achieved by performing a 1:1 mapping of pixels from the source image representation to the modified image representation.
  • the pixel spacing (r) is constant over the image area, however, in other more complex embodiments (r) can vary as a function of the location of the respective pixel in the image area.
  • Embodiments of the invention make use of a pixel addressing scheme in which an origin pixel located centrally in the geometric pattern is allocated on address of zero (0) and the remainder of the pixels are allocated a single base seven address number determined by a spiral counting algorithm in which the six pixels surrounding the origin are allocated an address in the range of 1-6 to form a first order 7 pixel cluster.
  • the first order cluster is surrounded by 6 other first order clusters having centre pixel addresses xO where x is in the range of 1-6 and each of the remaining pixels in each cluster has an address xy where y is in the range of 1-6 and x is constant within the cluster.
  • An address space of 7" pixels therefor has n orders of clusters, where each cluster of order i (n > i >) contains 7 clusters of order (i-1).
  • the line from the origin to the centre pixel of the first of the ith order clusters has a length d; and is displaced by an angle of >, radians with respect to an origin reference line.
  • SHM Spiral Honeycomb Mosaic
  • Embodiments of the invention provide at least two basic manipulations defined as a translation and a rotation where a translation causes a distortionless displacement of the image representation relative to a reference point in the geometric pattern of pixels without altering the orientation or scale of the image, and a rotation cavises a distortionless change in the orientation of the image representation with respect to the origin reference line, with an accompanying change in scale and/or resolution of the image.
  • a translation causes a distortionless displacement of the image representation relative to a reference point in the geometric pattern of pixels without altering the orientation or scale of the image
  • a rotation cavises a distortionless change in the orientation of the image representation with respect to the origin reference line, with an accompanying change in scale and/or resolution of the image.
  • “near copies” of the image are also produced at locations displaced from the main image.
  • the term “near copies” is used in this specification to mean approximate copies of the main image which have a similar overall appearance but may differ at the pixel level. Near copies are formed from the displaced pixels removed
  • Image manipulations or operations are performed by counting in keys, where a key is a number representing a pixel address having a desired displacement angle relative to the origin reference line.
  • the key will have associated with it a key distance R representing the distance from the origin to the pixel having the key address.
  • the addressing order of the SHM defines an operation of counting in the key of 1 and is equivalent to counting base 7 when starting at the origin.
  • counting in higher keys is achieved by using the spiral counting pattern as for the key of 1 but starting at the key distance and stepping by the key distance. Therefore, when counting in the key of 1 the key distance R equals the pixel spacing r, whereas, when counting in the key of 15. the key distance R is r
  • the operation of translation is performed by counting in the key of one using the following addition table defining the addition of units in a base seven counting system.
  • rotation is achieved by multiplying each pixel address in the image by the key value representing the desired angle of rotation.
  • Multiplication is performed using base 7 arithmetic with unit multiplication being achieved using the following table.
  • An addition and carry rule is provided for multiplier and/or multiplicands of more than a single digit.
  • Embodiments of the invention may make use of a variety of technologies in order to perform image manipulation, however, it is anticipated that the most common implementation will make use of electronic signal processing systems and in particular, digital signal processing systems, employing a high degree of parallelism. Transputer systems are considered the most appropriate devices to realise embodiments of the invention. Brief Description of the Drawings
  • Figure 1 illustrates a fundamental unit of vision in the system of the present invention and shows a collection of seven hexagons where the centremost is labelled with address 0 and each neighbour is labelled consecutively.
  • Figure 2 illustrates a higher order cluster in which of the original addresses from Figure 1 are multiplied by 10.
  • Figure 3 illustrates the cluster from Figure 2 dilated so that six additional hexagons can be placed about each of the addressed hexagons.
  • Figure 4 illustrates each new group of seven hexagons from Figure 2 labelled consecutively.
  • Figures 6 and 7 illustrate an octave of hexagons established by the key of 1.
  • Figure 8 illustrates the octave of hexagons established by the key of 10.
  • Figure 9 illustrates the octave of hexagons established by the return key of 15.
  • Figure 10 illustrates three examples of Spiral Addition and two examples of Spiral Multiplication.
  • Figure 11 illustrates on the left an image of a Pal TM can of dog food represented by 384x288 pixels, and on the right the relative position of the 7° hexagon SHM to the rectangular figure.
  • Figure 12 illustrates transformation of the image of Figure 11 by
  • a 1 ⁇ U(t) The effect is one of translating the image a small distance along the line segment joining addresses 0 and 1000.
  • Figure 13 illustrates transformation of the image of Figure 11 by ⁇ )0 , .
  • the effect is one of translating the image along a line segment joining the addresses 0 and 100000.
  • the amount of translation makes visible a wrap around effect.
  • Figure 14 illustrates transformation of the image of Figure 11 by M 2 .
  • the effect is one of rotation by 60 degrees.
  • Figure 15 illustrates transformation of the image of Figure 11 by M 3 .
  • the effect is one of rotation by 120 degrees.
  • Figure 16 illustrates transformation of the image of Figure 11 by M 4 , the effect is one of rotation by 180 degrees .
  • Figure 17 illustrates transformation of the image of Figure 11 by M 5 .
  • the effect is one of rotation by 240 degrees.
  • Figure 18 illustrates transformation of the image of Figure 11 by M 0 .
  • the effect is one of rotation by 300 degrees.
  • Figure 19 illustrates (a) original image, (b) application of M 10 ⁇ U ⁇ to the original image, (c) application of M, 0 ⁇ 0()0 to the original image, (d) application of M l()m) to the original image, (e) application of M l ⁇ o to the original image, (f) application of M lu to the original image.
  • the observable effects in these transformations are 1. rotation. 2. scaling, 3. production of multiple near copies of the original image.
  • Figure 20 illustrates the inverse transformation of M 15 applied to the image of Figure 11.
  • the observable effects are 1. rotation. 2. seven contractions of the original image which are partial representations of the original image.
  • Figure 21 illustrates the inverse transformation of M 12 applied to the images of Figure 11. The observable effects are similar to those of M ⁇ " 1 differing in the amount of rotation, degree of contraction and the number of multiple copies.
  • Figure 22 illustrates a compound transformation on the image of Figure 11. comprising the inverse transformation of M 15 followed by A UM)()U() The partial copies observable in Figure 20 have been wrapped around by the translation.
  • Figure 23 illustrates unwinding of the Spiral Honeycomb Mosaic and indicates; i) the one-to-one correspondence between SHM and the integers ii) the spiral pattern contained within it.
  • Figure 24 illustrates parallel processors arranged in a pipe, ring and grid configuration.
  • Spiral Honeycomb Lie Algebra SHLA
  • Spiral Honeycomb is derived from ⁇ description of the structure from which it was inspired - a primate's retina.
  • the arrangement of cones on the primate's retina forms a pattern of spiralling clusters of hexagons.
  • SHLA is a rich collection if image transformations on a space which is composed of hexagons. The hexagons hold the picture elements of an image. These transformations are visually meaningful because they achieve rearrangements of an image in a manner compatible with the way an object is perceived to move in the visual world.
  • a crucial characteristic of this collection of transformations is that for any given sequence of transformations applied to an image there is a unique transformation that achieves the same final result of the sequence when applied to the original image.
  • SHLA can be considered as a "clustering structure as opposed to a hierarchical structure such as a Quadtree, which has a definite starting and ending point in its representations.
  • clustering structure is used in this specification to indicate the geometrical qualities of SHLA which contrast it with the geometrical qualities of other structures.
  • One criteria of the machine vision is multiple scale representation which relates to the problem of extracting information about a scene for which no ⁇ priori information is known. The recognition of many objects is related to its size. For example, the representation of a person makes sense only over a range of sizes. If that representation is too small, it might be classed as a doll.
  • SHLA has a number of important features that result from its algebraic structure: i) all possible scales are achievable with equal computational complexity, ii) all scales, contractions or magnifications, can be obtained from any single scale without intermediate transformations, iii) any number of scalings can be performed without degrading the input image, and iv) a change of scale never results in the loss of information contained in the representation. It is important to emphasise the point that, although the SHLA was inspired from the organising principles inherent in the retina of primates, no claim is made that SHLA is a model of the primate vision system. Rather, SHLA is explored from the point of view of a computational tool for use on a computer. The name given to the image data structure described is Spiral
  • SHM Honeycomb Mosaic
  • the first step is to describe the elements of SHM. A collection of definitions and terminology will be developed for use in subsequent steps.
  • the third step will reveal the symmetries of a process called Spiral Counting.
  • the fourth step will formalise Spiral Counting to obtain the algebraic operations on SHM. Finally, a summary of the results will be provided as the fifth step.
  • the elements of SHM may be considered as the collection of pixel's (picture elements) of an image. These elements correspond to the position of the photo receiving cells of the image capturing device. In the case of the human eye, these elements would represent the relative position of the rods and cones on the retina.
  • each pixel is in the shape of a hexagon with its own unique "address" (and light intensity). This location corresponds to a point in the visual world, and the light intensity corresponds to the amount of light emanating from that point in the visual world. Ultimate knowledge of the visual world is derived from the relative positions of the light intensities captured at the hexagons.
  • each hexagon is not its six sides but that it has six neighbouring hexagons. This establishes the property that for all hexagons in a grid of hexagons, the centre of each hexagon is a constant distance from every one of its six neighbours. An algorithm is used to determine the address of each hexagon. The property of equal distance between adjacent hexagons is the source of a deeper reason for the importance of this data structure.
  • the hexagonal shape of the elements has relevance only at the photo receiving stage of the process. In order to reinforce the idea of a particular grouping of seven elements, the addresses of these elements (centres of hexagons) will be referred to as hexagons.
  • the first task at hand is to label each of the individual hexagons with a unique address. This will be achieved by describing a process that begins with a collection of seven hexagons. Each of the hexagons is labelled consecutively in base seven with address 0. 1. 2. 3. 4, 5, 6 as displayed in Figure 1.
  • Step 1 Multiply the address of each hexagon by 10. See Figure 2. Step 2. Dilate the structure so that six additional hexagons can be placed about each addressed hexagon. See Figure 3. Step 3. For each new cluster label each of the six enclosing hexagons consecutively from the centre address. See Figure 4.
  • a cluster is an arrangement of six hexagons around a centre hexagon with each hexagon a constant distance from the centre hexagon. See Figure 1.
  • a first order cluster is a cluster of the basic hexagons, while higher order clusters are clusters of seven clusters of the next lower order.
  • An octave is a sequence of eight hexagons each of which has associated with it one of the notes, doh, ray, me, fah, soh, lalx, te, doh.
  • the first seven notes correspond to the addresses of a cluster.
  • the eighth note corresponds to the address of the centre hexagon of a cluster determined by the following rule: move from te lo ray and then in the same direction twice again. See Figure 6. Associated with an octave is the concept of the key.
  • the key of an octave is the address of ray in the octave. It has two numbers associated with it. The first number is the metre which is the length of the line segment joining the centre of the hexagon at the first doh to the centre of the hexagon at ray. The second number is the orientation of the line segment relative to some fixed position. The key completely determines the octave.
  • a next higher octave, of a given octave, is that octave obtained by taking as ils ray. the second doh of the given octave.
  • Spiral Counting is an algorithm that designates a sequence of hexagons in SHM. It may be thought of in qualitative terms as a process of movement through the SHM. tracing a pattern prescribed by a particular octave. This is a spiralling movement that has a commencing hexagon, counts a pre-determined number of hexagons and terminates at a distinct hexagon. This is accomplished by recursively applying the pattern of a given octave. The recursive process works as follows:
  • the key of the next higher octave is 150.
  • the addresses associated with the next higher octave are 0. 150. 260. 310. 420, 530. 640. 1500.
  • the sequence of addresses to be visited are ray: 150. 165. 106. 141, 22, 13, 634, me: 260. 216. 201, 252, 33, 24. 145, fair. 310. 321, 302. 363, 44, 35. 256. soi2: 420. 432. 403. 414, 55, 46. 361, lah: 530. 543. 504. 525, 66, 51, 412, te: 640, 654, 605, 11. 62, 523 iv)
  • the second repetition of steps iii) and iv) commences with the key of the next higher octave which is 1500. Operations on SHM
  • Spiral Counting will now be used to define two operations on SHM that will give it the desired structure of a Euclidean ring. Define Spiral Addition of address a and b as:
  • the modular operations are a pruning and grafting process. That is, the collection of elements that would be moved outside of the designated range (the prune) by an operation, must be mapped back into the range in such a way as to preserve its relative position to the other elements in the collection (the graft). In other words. the modular arithmetic must possess a Euclidean-like property.
  • Step 1 Perform Spiral Addition of a and b as defined in Equation 1
  • Step 2 Perform remainder division of the result from Step 1 using the modulus. Symbolically, the algorithm is expressed as:
  • the remainder on division of 63 by 10 is 3. These two methods are equivalent.
  • the first method embodies the geometrical significance of Spiral Counting but the second method is the one most easily implemented for computational purposes.
  • Addition modulo 100 amounts lo dropping all but the two least significant digits.
  • the SHM together with the operations of Spiral Addition and Spiral Multiplication possesses some important algebraic properties. These are:
  • the operations are distributive:
  • SHM is defined with the operations of Spiral Addition and Spiral Multiplication, as defined in Equations 1 and 2
  • SHM is an abelian cyclic 7-group under the operation of Spiral
  • SHM is a Euclidean ring.
  • SHM is a Euclidean ring.
  • the algebraically rich structure of a ring is well known.
  • the immediate significance of the Euclidean ring in this context is that geometrical properties associated with images represented on the SHM can be dealt with in purely algebraic terms. More specifically, it will facilitate the creation of a collection of image processing transformations that include translation, rotation, dilation and contraction. These transformations will be developed below.
  • Spiral Honeycomb Lie Algebra fSHLA The algebraic properties of SHM (a Euclidean ring), will now be employed to describe the SHLA data structure referred to earlier. This data structure.
  • Spiral Honeycomb Lie Algebra (SHLA) has.
  • SHM mlog b
  • a rotation and/or scaling is obtained by applying M x to SHM for some x.
  • the address x can also be represented as a power of the generator b.
  • x t/ for some integer /.
  • bracket multiplication A further operation, called bracket multiplication or Lie multiplication, which has the effect of intertwining the previously described operations is defined as: For % 1 ⁇ . e Tand I e SHM let
  • Bracket multiplication is that transformation which is equivalent to the successive applications of % followed by 1p followed by the inverse of 7, followed by the inverse of %.
  • Bracket multiplication is a rather special operation which possesses the following properties: Multiplication is left and right associative with respect to addition:
  • the identify transformation is:
  • the third property is known as the Jacobi identity:
  • SHLA is a Lie Algebra and is a subspace of the dual of SHM.
  • SHLA SHLA
  • the elements of SHLA are ordered pairs of elements from / ⁇ and Tit, respectively.
  • the identity element is (A 0 , M ⁇ ) and the inverse of element (A X ,M V ), denoted by ⁇ A x ,M v ) ⁇ l is (A.. thoroughM,..,).
  • Figures 12 and 13 shows the effect of applying A wou and A wo ⁇ o respectively.
  • the dilation effect is observable in only the lower right (f) image of Figure 19.
  • the figure represents the 5th contraction ⁇ M 10 ) 'J , it also contains a magnification of the figure in (upper left) by the same factor. Observe that the dog on the can in the upper left is magnified and has a ghost-like appearance in lower right. The magnification effect is also present in each of the other five figures. However, due to the magnitude of the magnification, it is not apparent.
  • the effect of changing the key also includes a new orientation.
  • the rotation in Figure 19 a-f corresponds to the angle subtended by the straight line segments joining centres of the cells at address 1,0 and 10. This is approximately 25 degrees.
  • each of the remaining figures in Figure 19 represents a rotation of the previous image by this same amount.
  • the fourth effect of producing multiple copies is somewhat more curious and possibly a bit more difficult to appreciate.
  • an effect that is difficult to observe is that the copies are only near copies. This is due to the fact that each copy results from a unique sampling of the input image. Each sample is mutually exclusive and the collection of all such samples represents a partitioning of the input image.
  • SHLA is computational partly results from the fact that each element of Ttt has associated with it a particular scaling and rotation.
  • An arbitrary rotation on the SHM is achieved by a trade off in scale, not by incurring rounding error.
  • an arbitrary scaling is achieved by a trade off in orientation.
  • the computational consequence of not incurring any rounding error when performing a transformation is that the image will not suffer any degradation no matter how many transformations are performed on it. This has important consequences for the creation of the non-primitive transformations which can be arbitrary long sequences of primitive transformations. The deeper reason for the occurrence of this desirable property is due to the fact that SHM has the structure of a Euclidean ring and that all non-zero addresses possess unique inverses.
  • SHM for two reasons. Firstly, as a mathematical tool it can be employed to study the structure of SHM. Secondly, according to the equations of Forbinious. all elements of the Algebra are representable as linear combinations of the bases (primitive) transformations. However, the Lie multiplication coupled with the Euclidean property of Spiral Counting provides an additional powerful tool for the analysis of images.
  • One of the ecologically meaningful 7 transformations on an image relates to the image appearing the same before and after the transformation. A simple example of this situation is the rotation of a circle about its centre. Such a rotation. of any amount, would be unnoticeable to an observer. This transformation, which holds the circle invariant, can be used to characterise the circle. At present, there are no techniques for fining an invariant transformation for an arbitrary image. Hoffman's Linear Transformation Group approach has made a considerable thrust in this direction. Implementation
  • SHLA Spiral Honeycomb Lie Algebra
  • SHLA is a collection of linear transformations of a space on which an image is represented.
  • the nature of these transformations possesses both global and local expressions. Their global nature has the effect of re-arranging the picture elements of the image while preserving some critical properties of the image, such as shape, orientation and size.
  • the local action is an operation which is performed on an address which determines a unique address to which information is sent.
  • the derivation of the new addresses is dependent on the process of Spiral Counting. Consequently, the implementation will amount to the coding of this process.
  • the resulting transformations may then be considered as a collection of independent operations that may proceed concurrently.
  • the inventive computational demands of machine vision appears to be well suited to parallel architectures in general.
  • the transputer was selected as an approp ⁇ ate parallel architecture on which to implement the SHLA for three primary reasons. These are:-
  • MIMD Multiplate Data
  • OCCAM is the language of the transputer. It is a high level language designed so that parallel algorithms can be implemented on a network of processing components. OCCAM is highly structured and is similar to Pascal in many ways. The two distinguishing features from Pascal-like languages are concurrency and communication.
  • PAR facilitates the replication of processes that may progress concurrently.
  • ALT provides the mechanism for outputs from a variety of parallel processes to be input to a single process.
  • Communication takes place through channels which are software constructs that may be mapped to hardware links. The channels connect processes at both logical and physical levels.
  • the language is tightly coupled to its intended hardware, the transputer, This device is a microcomputer that has been placed on a single chip.
  • the individual transputers may be connected in the form of a network by physical communication links.
  • the networks may be configured in a variety of ways: the most popular of which are the pipeline, ring and grid. Data Structure
  • the elements of the data structure are the hexagons each of which is identified by its address in the SFIM. Each element will be associated with a concurrent process.
  • the primary benefit lo be gained bv assigning each hexagon to a unique concurrent process is that the transputer can handle either the logical or the physical parallelism without the apparent need to consider efficiency issues .
  • each process can operate in parallel with all other processes, while at the physical level the processes may be grouped into as many physical processors as is desired.
  • the arrangement of the elements is a function of the adjacency properties of the hexagons of SHM,
  • hexagons with similar addresses tend to be in close proximity even when the spiral is unwound into a one-dimensional representation.
  • Spiral multiplication was defined in terms of Spiral Counting which was described as a visual task of tracing a pattern. The difficulty associated with the implementation resulted from the need to express the algorithm in non-visual terms. As Spiral Counting in a given key is just a generalisation of Spiral Counting in the key of one, the algorithm for M x will employ and build on the algorithm developed for A x . Its development will also proceed in a similar manner. The first requirement if the implementation of scalar multiplication. This is achieved by the coding of the scalar multiplication table of Table 1. The next step is to establish the scalar multiplication of numbers (addresses) composed of more than one digit.
  • any address from SHM can be represented as an n-tuple of digits from the set (0.1.2.3.4.5.6). where n is the number of octaves of SHM. More formally, let an address a e SHM be represented as.
  • Multiplication of address ⁇ by the scalar alpha is obtained by applying scalar multiplication to the components of ⁇ . That is.
  • ⁇ (a) (oca,,, ⁇ a,, ⁇ , ..., ⁇ a t ).
  • the last step is to achieve the multiplication of an address by a non- scalar. Given two addresses a, b e SHM, let
  • the final task to complete the multiplication algorithm is the implementation of the modular form of operation.
  • the product is first checked to see if it is within the specified range (the modulus). If it is in the range, no further work needs to be done. Otherwise, the key is checked to see if it is a multiple of 10. If the key is a multiple of 10 Equation (4) is employed: otherwise, Equation (5) is used.
  • Equation 5 will map it to 50. Consider multiplication of 10 by 20.
  • Equation 4 will map it to 2.
  • a translation can be thought of as a shift that re-centres the image to a particular distinct point while holding the relative position of all pixels fixed.
  • This operation in terms of the SHM. is exactly the transformation A x .
  • a x transforms an image centred at the address zero to one centred at the address x.
  • the transformations ofr ⁇ namely r ⁇ x as defined and discussed in the previous chapter, are determined by Spiral Multiplication.
  • SEQ receive operation to be performed compute now address from operation send groy value to new address receive new grey-value for tins address Configuration

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

An image processing system is provided for manipulating an image represented as a plurality of image samples or pixels arranged in a geometric pattern. The geometric pattern is a honeycomb like triangular matrix in which the pixels are arranged with a local pixel spacing (r) such that each pixel is spaced from six surrounding pixels by the pixel spacing (r) and image manipulations to produce a modified image from a source image are achieved by performing a 1:1 mapping of pixels from the source image representation to the modified image representation. Because of the nature of the geometric pattern used, translations and rotations of images can be performed without distortion.

Description

Image processing system Introduction
The present invention relates to image processing systems and in particular the invention provides a new data structure for the representation and processing of images and/or image data. Background of the Invention
Early machine vision systems made use of image data structures which rely on rectangular co-ordinate systems. Such systems are easily interfaced to raster scan cameras and display systems, but make some image manipulations very complex. More advanced systems using hexagonal structures have been proposed by T. Lindberg (Scale-Space Theory in Computer Vision. Kluwer Academic Publishers. 1994.). P. Burt ("Tree and pyramidal structures for coding hexagonally sampled binary images" Computer Graphics and Image Processing 14. 3 (November 1980), 249-270). L. Gibson and D. Lucas (Vectorization of raster images using hierarchical methods" Computer
Graphics and Image Processing 20, 1 (September 1982), 82-89). and H Samet ("A Design and Analysis of Spacial Data Structures" Addison Wesley 1990). Hexagonal structures have also been exploited by W. Lawton and H Resnikoff in the design of an optical telescope to improve focussing ("Fractal tiling for multiple mirror optical devices". United States of America. 1990) and N Ahuja discusses the role of the hexagon in the context of hierarchical structures ("On approaches to polygonal decomposition for hierarchical image representation". Computer Vision. Graphics, and Image Processing (1983). Vol. 24. Academic Press, pp. 200-214). Summary of the Invention
The present invention provides an image processing system for manipulating an image represented as a plurality of image samples or pixels arranged in a geometric pattern characterised in that the geometric pattern is a triangular matrix in which the pixels are arranged with a local pixel spacing (r) such that each pixel is spaced from six surrounding pixels by the pixel spacing (r) and image manipulations to produce a modified image from a source image are achieved by performing a 1:1 mapping of pixels from the source image representation to the modified image representation.
In a first, simplified, embodiment of the invention, the pixel spacing (r) is constant over the image area, however, in other more complex embodiments (r) can vary as a function of the location of the respective pixel in the image area.
Embodiments of the invention make use of a pixel addressing scheme in which an origin pixel located centrally in the geometric pattern is allocated on address of zero (0) and the remainder of the pixels are allocated a single base seven address number determined by a spiral counting algorithm in which the six pixels surrounding the origin are allocated an address in the range of 1-6 to form a first order 7 pixel cluster. The first order cluster is surrounded by 6 other first order clusters having centre pixel addresses xO where x is in the range of 1-6 and each of the remaining pixels in each cluster has an address xy where y is in the range of 1-6 and x is constant within the cluster. An address space of 7" pixels therefor has n orders of clusters, where each cluster of order i (n > i >) contains 7 clusters of order (i-1). In the preferred embodiment the line from the origin to the centre pixel of the first of the ith order clusters has a length d; and is displaced by an angle of >, radians with respect to an origin reference line. The angle > and distance d are given by key of address 10 \ = (d[, φj) key of address 1 = ( 1. 3 π/2) = d0, φ„) d, = d(i-u V (5-2 cos (21173)) φi = ψ(M) - arcsin (2sin(2π/3) (d,M|/d,) This pattern and method of addressing is referred to hereinafter as the Spiral Honeycomb Mosaic (SHM). Embodiments of the invention provide at least two basic manipulations defined as a translation and a rotation where a translation causes a distortionless displacement of the image representation relative to a reference point in the geometric pattern of pixels without altering the orientation or scale of the image, and a rotation cavises a distortionless change in the orientation of the image representation with respect to the origin reference line, with an accompanying change in scale and/or resolution of the image. When the rotation results in a compression of scale, "near copies" of the image are also produced at locations displaced from the main image. The term "near copies" is used in this specification to mean approximate copies of the main image which have a similar overall appearance but may differ at the pixel level. Near copies are formed from the displaced pixels removed when the main image is contracted during an image manipulation.
Image manipulations or operations are performed by counting in keys, where a key is a number representing a pixel address having a desired displacement angle relative to the origin reference line. The key will have associated with it a key distance R representing the distance from the origin to the pixel having the key address. The addressing order of the SHM defines an operation of counting in the key of 1 and is equivalent to counting base 7 when starting at the origin. When starting at any other point than the origin counting in the key of one is achieved by following the same pattern as when starting at the origin. Counting in higher keys is achieved by using the spiral counting pattern as for the key of 1 but starting at the key distance and stepping by the key distance. Therefore, when counting in the key of 1 the key distance R equals the pixel spacing r, whereas, when counting in the key of 15. the key distance R is r
In the preferred embodiment the operation of translation is performed by counting in the key of one using the following addition table defining the addition of units in a base seven counting system.
Figure imgf000005_0001
In the preferred embodiment rotation is achieved by multiplying each pixel address in the image by the key value representing the desired angle of rotation. Multiplication is performed using base 7 arithmetic with unit multiplication being achieved using the following table. An addition and carry rule is provided for multiplier and/or multiplicands of more than a single digit.
Figure imgf000006_0001
Embodiments of the invention may make use of a variety of technologies in order to perform image manipulation, however, it is anticipated that the most common implementation will make use of electronic signal processing systems and in particular, digital signal processing systems, employing a high degree of parallelism. Transputer systems are considered the most appropriate devices to realise embodiments of the invention. Brief Description of the Drawings
An embodiment of the invention will now be described, by way of example, with reference to the accompanying drawings, in which:-
Figure 1 illustrates a fundamental unit of vision in the system of the present invention and shows a collection of seven hexagons where the centremost is labelled with address 0 and each neighbour is labelled consecutively.
Figure 2 illustrates a higher order cluster in which of the original addresses from Figure 1 are multiplied by 10.
Figure 3 illustrates the cluster from Figure 2 dilated so that six additional hexagons can be placed about each of the addressed hexagons.
Figure 4 illustrates each new group of seven hexagons from Figure 2 labelled consecutively.
Figure 5 illustrates a collection of 7 = 343 hexagons with labelled address from 0 to 666 in base seven. Figures 6 and 7 illustrate an octave of hexagons established by the key of 1.
Figure 8 illustrates the octave of hexagons established by the key of 10. Figure 9 illustrates the octave of hexagons established by the return key of 15.
Figure 10 illustrates three examples of Spiral Addition and two examples of Spiral Multiplication. Figure 11 illustrates on the left an image of a Pal ™ can of dog food represented by 384x288 pixels, and on the right the relative position of the 7° hexagon SHM to the rectangular figure.
Figure 12 illustrates transformation of the image of Figure 11 by
A1ϋU(t The effect is one of translating the image a small distance along the line segment joining addresses 0 and 1000.
Figure 13 illustrates transformation of the image of Figure 11 by ^)0, .
The effect is one of translating the image along a line segment joining the addresses 0 and 100000. The amount of translation makes visible a wrap around effect. Figure 14 illustrates transformation of the image of Figure 11 by M2.
The effect is one of rotation by 60 degrees.
Figure 15 illustrates transformation of the image of Figure 11 by M3. The effect is one of rotation by 120 degrees.
Figure 16 illustrates transformation of the image of Figure 11 by M4, the effect is one of rotation by 180 degrees .
Figure 17 illustrates transformation of the image of Figure 11 by M5. The effect is one of rotation by 240 degrees.
Figure 18 illustrates transformation of the image of Figure 11 by M0. The effect is one of rotation by 300 degrees. Figure 19 illustrates (a) original image, (b) application of M10ϋUϋϋ to the original image, (c) application of M,0ϋ0()0 to the original image, (d) application of Ml()m) to the original image, (e) application of Mlυo to the original image, (f) application of Mlu to the original image. The observable effects in these transformations are 1. rotation. 2. scaling, 3. production of multiple near copies of the original image.
Figure 20 illustrates the inverse transformation of M15 applied to the image of Figure 11. The observable effects are 1. rotation. 2. seven contractions of the original image which are partial representations of the original image. Figure 21 illustrates the inverse transformation of M12 applied to the images of Figure 11. The observable effects are similar to those of M^" 1 differing in the amount of rotation, degree of contraction and the number of multiple copies.
Figure 22 illustrates a compound transformation on the image of Figure 11. comprising the inverse transformation of M15 followed by AUM)()U() The partial copies observable in Figure 20 have been wrapped around by the translation.
Figure 23 illustrates unwinding of the Spiral Honeycomb Mosaic and indicates; i) the one-to-one correspondence between SHM and the integers ii) the spiral pattern contained within it. Figure 24 illustrates parallel processors arranged in a pipe, ring and grid configuration. Detailed Description of an Embodiment of the Invention
The following description presents a new data structure for machine vision in both qualitative and mathematical terms. The name given to this data structure is Spiral Honeycomb Lie Algebra (SHLA). The first part of the name. Spiral Honeycomb, is derived from α description of the structure from which it was inspired - a primate's retina. The arrangement of cones on the primate's retina forms a pattern of spiralling clusters of hexagons.
The importance of this arrangement of spiralling clusters, is that it possesses powerful computational advantages to machine vision. This computational power associated with this arrangement of hexagons emerges from the algebraic structure which will be described hereinafter. This structure is a Lie Algebra and provides the second part of the name. SHLA. In essence. SHLA is a rich collection if image transformations on a space which is composed of hexagons. The hexagons hold the picture elements of an image. These transformations are visually meaningful because they achieve rearrangements of an image in a manner compatible with the way an object is perceived to move in the visual world. A crucial characteristic of this collection of transformations is that for any given sequence of transformations applied to an image there is a unique transformation that achieves the same final result of the sequence when applied to the original image. Thus, any visually meaningful rearrangement of the hexagons can be obtained directly from any given arrangement. It is for this reason that SHLA can be considered as a "clustering structure as opposed to a hierarchical structure such as a Quadtree, which has a definite starting and ending point in its representations. The term "clustering structure" is used in this specification to indicate the geometrical qualities of SHLA which contrast it with the geometrical qualities of other structures. One criteria of the machine vision is multiple scale representation which relates to the problem of extracting information about a scene for which no α priori information is known. The recognition of many objects is related to its size. For example, the representation of a person makes sense only over a range of sizes. If that representation is too small, it might be classed as a doll. On the other hand, if it were too large, it may be perceived as a monster. Consequently, a vision system must be able to reconcile the scale of an image. This problem amounts to the selection of an appropriate scale to start the recognition process. One strategy is to start the process at all possible scales concurrently and let the data be the driving force of the recognition process. SHLA provides the means by which such a strategy can be implemented. With regards to the representation of the image at different scales. SHLA has a number of important features that result from its algebraic structure: i) all possible scales are achievable with equal computational complexity, ii) all scales, contractions or magnifications, can be obtained from any single scale without intermediate transformations, iii) any number of scalings can be performed without degrading the input image, and iv) a change of scale never results in the loss of information contained in the representation. It is important to emphasise the point that, although the SHLA was inspired from the organising principles inherent in the retina of primates, no claim is made that SHLA is a model of the primate vision system. Rather, SHLA is explored from the point of view of a computational tool for use on a computer. The name given to the image data structure described is Spiral
Honeycomb Mosaic (SHM) which has the structure of the important mathematical object known as a Euclidean ring. It is this rich algebraic structure that provides the tool to create the transformations that will be presented later in the specification. The development of SHM will unfold in the following five steps.
The first step is to describe the elements of SHM. A collection of definitions and terminology will be developed for use in subsequent steps. The third step will reveal the symmetries of a process called Spiral Counting. The fourth step will formalise Spiral Counting to obtain the algebraic operations on SHM. Finally, a summary of the results will be provided as the fifth step. Elements of SHM
Intuitively, the elements of SHM may be considered as the collection of pixel's (picture elements) of an image. These elements correspond to the position of the photo receiving cells of the image capturing device. In the case of the human eye, these elements would represent the relative position of the rods and cones on the retina.
Assume that each pixel is in the shape of a hexagon with its own unique "address" (and light intensity). This location corresponds to a point in the visual world, and the light intensity corresponds to the amount of light emanating from that point in the visual world. Ultimate knowledge of the visual world is derived from the relative positions of the light intensities captured at the hexagons.
The most important aspect of each hexagon is not its six sides but that it has six neighbouring hexagons. This establishes the property that for all hexagons in a grid of hexagons, the centre of each hexagon is a constant distance from every one of its six neighbours. An algorithm is used to determine the address of each hexagon. The property of equal distance between adjacent hexagons is the source of a deeper reason for the importance of this data structure. The hexagonal shape of the elements has relevance only at the photo receiving stage of the process. In order to reinforce the idea of a particular grouping of seven elements, the addresses of these elements (centres of hexagons) will be referred to as hexagons.
The first task at hand is to label each of the individual hexagons with a unique address. This will be achieved by describing a process that begins with a collection of seven hexagons. Each of the hexagons is labelled consecutively in base seven with address 0. 1. 2. 3. 4, 5, 6 as displayed in Figure 1.
Repeatedly apply the following three steps as illustrated in Figures 2. 3 and 4.
Step 1. Multiply the address of each hexagon by 10. See Figure 2. Step 2. Dilate the structure so that six additional hexagons can be placed about each addressed hexagon. See Figure 3. Step 3. For each new cluster label each of the six enclosing hexagons consecutively from the centre address. See Figure 4.
The repetition of the steps permits the collection of hexagons to grow in powers of seven with uniquely assigned addresses. It is this pattern of growth that generates the spiral. Further, the addresses are consecutive in base seven. Figure 5 displays the results of applying the inductive step for the third time. Definitions and Terminology
In order to facilitate both the development of the SHM data structure, the following definitions and terminologies will be employed, Some of the terms presented here originate in what might seem to be unrelated contexts. However, it is intended that the intuition associated with the common usage of such terms will enhance the understanding of the concepts being presented. Definition 1 A cluster is an arrangement of six hexagons around a centre hexagon with each hexagon a constant distance from the centre hexagon. See Figure 1. A first order cluster is a cluster of the basic hexagons, while higher order clusters are clusters of seven clusters of the next lower order. Definition 2 An octave is a sequence of eight hexagons each of which has associated with it one of the notes, doh, ray, me, fah, soh, lalx, te, doh. The first seven notes correspond to the addresses of a cluster. The eighth note (second doh) corresponds to the address of the centre hexagon of a cluster determined by the following rule: move from te lo ray and then in the same direction twice again. See Figure 6. Associated with an octave is the concept of the key.
Definition 3 The key of an octave is the address of ray in the octave. It has two numbers associated with it. The first number is the metre which is the length of the line segment joining the centre of the hexagon at the first doh to the centre of the hexagon at ray. The second number is the orientation of the line segment relative to some fixed position. The key completely determines the octave.
Definition 4 A next higher octave, of a given octave, is that octave obtained by taking as ils ray. the second doh of the given octave.
With these definitions in hand, the fundamental concept underpining the visually meaningful transformations that constitute SHLA can be described. Spiral Counting
Spiral Counting is an algorithm that designates a sequence of hexagons in SHM. It may be thought of in qualitative terms as a process of movement through the SHM. tracing a pattern prescribed by a particular octave. This is a spiralling movement that has a commencing hexagon, counts a pre-determined number of hexagons and terminates at a distinct hexagon. This is accomplished by recursively applying the pattern of a given octave. The recursive process works as follows:
Given the three inputs -key, commencing address and the number of hexagons to be counted - i) Establish the pattern of a primary octave from the key. Let the commencing address coincide with the first doh of the octave. Call this the present octave, ii) Specify the sequence of address of the SHM which corresponds to the notes of the present octave. Call this the established pattern. iii) Specify the next higher octave and at each one of the notes ray to te employ the established pattern to continue the count, iv) Let the pattern, which was determined by the counting to this point. be the established pattern and let the present octave be the next higher octave. v) Repeatedly apply steps iii) and iv) until the number of hexagons to be counted has been reached.
To illustrate how the algorithm is applied, consider the following three examples of spiral counting. First Example Spiral counting in the key of 1 commencing at address 0: i) The present octave is established by the key of 1 as displayed in
Figure 7. ii) The first seven counts associated with the pattern of the present octave produces visits at the following sequences of addresses: 0. 1. 2. 3. 4, 5. 6. iii) The next higher octave is established by the key of 10. See Figure 8.
The addresses associated with this octave are
0. 10. 20. 30. 40. 50, 60. 100. Employing the established pattern at each of the notes ray through te results in visits at the following sequence of addresses:
10. 11. 12, 13. 14. 15. 16,
20. 21. 22, 23. 24, 25, 26,
30. 31. 32, 33, 34, 35. 36. 40, 41. 42. 43. 44. 45. 46,
50. 51. 52, 53, 54. 55. 56.
60. 61. 62. 63, 64. 65. 66
A close inspection of Figure 5 will reveal the pattern of this sequence of addresses. iv) The address associated with the last note of the octave, 100, once again established the key for the next higher octave. Second Example Consider the process of Spiral Counting in the key of 1 from a non-zero commencing address. Spiral Counting in the key of 1 from address 6 proceeds as follows (the octaves are the same as those displayed in Figure 7 and Figure 8), i) The first octave is the same as the previous example. ii) The addresses associated with this octave are 6. 64. 1, 0. 52, 65. 16. iii) The addresses associated with the second octave are 6. 16. 26, 36. 46,
56. 66. 106. The counting associated with this octave yields visits at the following sequences of addresses: ray: 16. 644. 11. 10. 15. 63. 62. me: 26. 14. 21. 20. 25. 3. 2, fall: 36. 4. 31. 35. 43. 42. soh: 46. 54. 41, 40, 45, 423. 422, lair. 56. 524. 51. 50. 55, 413. 412, te: 66. 524. 61. 60. 65. 533. 532 iv) 106 established the key of the next higher octave.
Third Example Consider Spiral Counting in the key of 15 from address 0. i) The key of 15 establishes the pattern of the primary octave as displayed in Figure 9. ii) The sequence of addresses associated with the primary octave are 0.
15. 26. 31, 42. 53. 64. 150. iii) The key of the next higher octave is 150. The addresses associated with the next higher octave are 0. 150. 260. 310. 420, 530. 640. 1500. The sequence of addresses to be visited are ray: 150. 165. 106. 141, 22, 13, 634, me: 260. 216. 201, 252, 33, 24. 145, fair. 310. 321, 302. 363, 44, 35. 256. soi2: 420. 432. 403. 414, 55, 46. 361, lah: 530. 543. 504. 525, 66, 51, 412, te: 640, 654, 605, 11. 62, 523 iv) The second repetition of steps iii) and iv) commences with the key of the next higher octave which is 1500. Operations on SHM
SHM. as it sands at this point, is merely a collection of elements endowed with a certain symmetry. Spiral Counting will now be used to define two operations on SHM that will give it the desired structure of a Euclidean ring. Define Spiral Addition of address a and b as:
a + b = that address found by spiral counting b addresses in the key of 1 from a. (1)
a x b = that address found by spiral counting b addresses in the key of
Figure imgf000014_0001
A few examples will serve to illustrate the processes of Spiral Addition and Spiral Multiplication before considering the arithmetic modular form of these operations. The following examples would be most easily understood by tracing the'particular octave pattern through the sequences of address on Figure 10. Examples of Spiral Addition: i) 2 + 3 = that address found by counting 3 addresses in the key of 1 from 2. The first address from 2 is 15. the second is 14 and the third is 26.
Thus 2 + 3 = 26. ii) 5 + 12 = 10. which is the 12th (in base 7) address in the sequence 6.
0. 4. 42. 41. 53. 15, 16. 10. Examples of Spiral Multiplication: i) 2 x 3 = that address found by Spiral Counting in the key of 2 from 0 for 3 counts. The sequence of three addresses is 2. 3, 4. Thus 2 x 3 =4. ii) 15 x 2 = 26. which is the address found by Spiral Counting in the key of 15 from 0 for 2 counts. The sequence of addresses is 15. 26. Although the cardinality of SHM is infinite, in practice the use to which the SHM will be put is that of a finite space with modular forms of the arithmetic defined. The modular arithmetic, in turn, results from a modular form of Spiral Counting. Intuitively, the modular operations are a pruning and grafting process. That is, the collection of elements that would be moved outside of the designated range (the prune) by an operation, must be mapped back into the range in such a way as to preserve its relative position to the other elements in the collection (the graft). In other words. the modular arithmetic must possess a Euclidean-like property. The following examples illustrate the process. Example 1: Addition module 10. From Figure 3 it can be verified that 1 + 1 = 63. which is greater than 10.
In order to determine the position of 63 in the range 0 to 6, the process commences at 0 and counts through the first seven hexagons and returns to 0 any time the pattern departs from these seven hexagons. The sequence of counts would be:
0. 1. 2. 3. 4. 5. 6. (for each of 6 repetitions) 0. l. 2. 3. (for counts 60. 61, 62, 63 respectively) Thus (1 + 1) modlO = 3.
This tedious process is short circuited by performing remainder division in base 7. In general, modular addition of two addresses a and b eSHM is defined as follows:
Step 1: Perform Spiral Addition of a and b as defined in Equation 1 Step 2: Perform remainder division of the result from Step 1 using the modulus. Symbolically, the algorithm is expressed as:
(a+b)mod(modulus) = result (3)
The remainder on division of 63 by 10 is 3. These two methods are equivalent. The first method embodies the geometrical significance of Spiral Counting but the second method is the one most easily implemented for computational purposes.
Example 2: Addition modulo 100. 1 + 62 = 645.
Addition modulo 100 amounts lo dropping all but the two least significant digits.
Thus (1 + 62) modlQO = 45.
The general case of modular multiplication is motivated by the following observation: All of the addresses in SHM which are multiples of the modulus are. in effect, zero elements. That is, each acts as an additive unit element. In order to create multiplicative inverses for all of the non¬ zero addresses, these addresses must not be mapped to zero under modular multiplication. Otherwise SHM would contain zero-divisors and the possibility for achieving a multiplicative inverses for all non-zero addresses would be lost. The following two step algorithm that will define modular multiplication on SHM insures that the operation of multiplication is compatible with the criteria of a multiplicative inverse. Modular Multiplication
Step 1 Let p be the product of two elements a and b e SHM. p = a x b as defined in Equation 2. Step 2 If p ≥ (modulus), then if the element a is a multiple of 100 map p to
(p +(p÷(modulus)))mod(modulus); (4)
Otherwise map p to pmod(modulus). (5)
Example 3: Multiplication modulo 100. Observe that 10 x 15 = 160 As the value of a. 10, is a multiple of 10, the hexagon whose address is in the range 0 to 66 and corresponds to 150 is determined as follows:
(150 + (150÷100))modl00 = 51. Example 4: Multiplication modulo 100. 15 x 10 = 150 As 15 is not a multiple of 10. the product is mapped to
150modl00 = 50.
These last two examples illustrates an important property of the multiplication operation. The non-modular form is commutative while the modular form is not commutative. The other algebraic properties of the operations are presented in the next section. 15
Algebraic Properties of SHM
The SHM together with the operations of Spiral Addition and Spiral Multiplication possesses some important algebraic properties. These are: The operations are associative: 5 a + (b+c) = (a + b) + c a x(b xc) — (a xb) xc The operations are distributive:
Figure imgf000017_0001
0 0 is the additive identity: 0+α=α+0=α 1 is the multiplicative identity:
Figure imgf000017_0002
Each address has a unique additive inverse: 5 α+(-αJ = (-α;+α=0Vα eSHM.
-a denotes the additive inverse of a. Each non-zero address has a unique multiplicative inverse:
Figure imgf000017_0003
a' [ denotes the multiplicative inverse of α. 0 Commutative property: a+b=b+a
(a+b)mod(modulus)=(b+a)mod(modulus) axb=bxa
(axb)mod(modulus)≠(bxa)mod(moduhιs) 5 Non-existence of zero-divisors There are no elements α≠O and b≠O eSHM. such that αxb=0. Euclidean property For every a eSHM there is defined a nonnegative integer d(a) such that:
( 1) For all b e SHM,d(a)≤d(axb) 0 (2) For any a. b eSHM there exist t, re SHM such that a=txb+r where either r=0 or d(r)<ά(b).
Every address of SHM can be obtained by repeatedly adding the address 1. Algebraic Significance of SHM
The algebraic properties of Spiral Counting developed above are 5 summarised in the following theorem. Theorem 1 Suppose that the SHM is defined with the operations of Spiral Addition and Spiral Multiplication, as defined in Equations 1 and 2 Then, i) SHM is an abelian cyclic 7-group under the operation of Spiral
Addition . ii) SHM is a Euclidean ring.
Let the number of hexagons in SHM be
K= 7" for n>ϋ and let the arithmetical operations be modulo Kas defined in Equations 3, 4 and 5. Then, iii) The subset of SHM given by {0,1,2,3,4,5,6) is a finite field. iv) The collection of addresses of SHM which are not a multiple of 10 form an abelian group under the operation of Spiral Multiplication and has order 6x7"' \ v) The collection of non-zero addresses that are a multiple of 10 together with the set (1,2,3,4,5,6) form an abelian group of order (5 + 7M l).
The principal algebraic significance of this theorem emerges from the fact that SHM is a Euclidean ring. The algebraically rich structure of a ring is well known. The immediate significance of the Euclidean ring in this context is that geometrical properties associated with images represented on the SHM can be dealt with in purely algebraic terms. More specifically, it will facilitate the creation of a collection of image processing transformations that include translation, rotation, dilation and contraction. These transformations will be developed below. Spiral Honeycomb Lie Algebra fSHLA) The algebraic properties of SHM (a Euclidean ring), will now be employed to describe the SHLA data structure referred to earlier. This data structure. Spiral Honeycomb Lie Algebra (SHLA) has. as its name implies, the properties of a Lie Algebra. This mathematical structure will be described in detail. This eloquent algebraic structure is not a theoretical end for its own sake. Rather, this theoiy has two important features. Firstly, it provides the unification for the development of a collection of image processing transformations. Secondly, it provides a technique for producing other computational image processing tools. Its importance to this thesis emerges from the use to which the tools are put: namely, to the creation of invariant linear transformations required for an active machine vision system. The transformations observable in Figures 12 to 22 are examples of the transformations referred to and that which will now be described in formal mathematical terms. In particular, it will be demonstrated how to achieve the primitive operations of translation, rotation and scaling. The theory will also be used to produce non-primitive operations from the primitives.
Transformations on SHM
Consider the following two sets of transformation on SHM. Define for each x e SHM the mappings: Ax: SHM→SHM; by aAx = [a+x)mod KVa e SHM (6) MX:SHM→SHM; by aMx= (a x x)mod KVa e SHM (7)
Let /I = {A. I Vx e SHM} and %= {Mx I Vx e SHM}
The sets /i and TK, at this point are without algebraic structure. The definition of operations on these sets will provide them with the desired structure. Let Tx be a transformation from either of these sets: Then, define addition a{Tx+Ty) = a(T)x+r (8) multiplication a{TxTy) = afT)^ (9) scalar multiplication a{bTx) = a(Tbx) (10)
Note that the operations of addition and multiplication on the left side of the equal sign refers to the operations on the transformations (the ones being defined) and those on the right refers to operations on the elements of SHM. as defined in the previous section. It also follows directly from the definition that Tx is a bijective linear transformation. Theorem 2 With regards the transformations on SHM: i) Each of the sets stand W forms an algebra under the operations of addition, multiplication and scalw multiplication (equations 8 through 10). ii) The external direct sum of /t Φ 7% forms an algebra under the paiiwise operations of addition, multiplication and scalar multiplication. Let this algebra be denoted by T. Logarithms
The ability to represent an image independent of a coordinate system reduces the computational complexity of the recognition process. All of the transformations of SHLA as represented thus far. are linked to the coordinate system of SHM. However, by employing the algebraic structure of SHM. much of these coordinate system links, up to a linear shift, can be removed. The two operations defined on SHM, ( + , x), individually form cyclic groups of addresses. This means that there exists special addresses for which all other addresses can be represented as a power of the special address with a unique exponent of the special address. This mapping of the SHM into the positive integers then defines an invariant representations of the image held in SHM.
Consider the following two sets of transformation on SHM. Define for each a = x x 10' eSHM the mappings: mlogι)(x,K) : SHM → N As that element n such that x = bt x b2 x ... x bn mod Kfor some b s SHM. slogb (x,K) : SHM → NAs that element n such that x = b, + b2 + ... + bn mod Kfor some b e SHM. Examples mlogιr,(13,100) = 2, as 13 = 15 x 15 mod 100. mlog15(41,100) = 3, as 41 = 15 x 15 x 15 mod 100. slogι(63,100) = 2, as 63 = 1 + 1 mod 100. slog ,(62,100) = 3, as 62 = 1 + 1 + 1 mod 100. slogj(45,100) = 4, as 45 = 1 + 1 + 1 + 1 mod 100. The image of mlogb (SHM) is invariant with respect to both scale and orientation. The theoretical justification for this claim is as follows: Let b denote the multiplicative group generator. Such an address exists, as SHM contains a cyclic group (Theorem 1). Then b' is a unique address in SHM for i = 0... (order ofb). From Equation 7. a rotation and/or scaling is obtained by applying Mx to SHM for some x. The address x can also be represented as a power of the generator b. Thus, x = t/ for some integer /. Now, from Equation 7: afrlx = (a x x) = b'x k/ mod K Then mlogι,(a x x) = i +j
In other words, multiplication of SHM by x is achieved by the addition of the constant term, /. to the exponent associated with address α. The empirical evidence for the invariance emerges from the following three step experiment:
1. Use the mlogj, ( ) function to map an image represented on SHM to log space. 2. Shift the log space by some constant amount which is associated with a particular multiplication. 3. Use the inverse of the mlogb () function to take the shifted image back from log space to SHM. It can then be seen that the observable difference between the two images is precisely the effect of rotating the input image by the desired factor. The image of slogb(SHM) is invariant with regards to translation. The rationale for this claim follows similar lines to that of m/og^SHM) Lie Multiplication
A further operation, called bracket multiplication or Lie multiplication, which has the effect of intertwining the previously described operations is defined as: For % 1{. e Tand I e SHM let
Figure imgf000021_0001
In words, the bracket multiplication is that transformation which is equivalent to the successive applications of % followed by 1p followed by the inverse of 7, followed by the inverse of %. Bracket multiplication is a rather special operation which possesses the following properties: Multiplication is left and right associative with respect to addition:
YX+%- t\ = \X' . $' ) + \%$' \ and [Z4+3\ = [Zφ] + [Zf\ (12)
The identify transformation is:
[£. £] = / (13)
The third property is known as the Jacobi identity:
Figure imgf000021_0002
Let SHLA denote the algebra described in Theorem 2 above plus bracket multiplication. Then, the following theorem summarises the main algebraic result of this chapter. Theorem 3 SHLA is a Lie Algebra and is a subspace of the dual of SHM.
The elements of SHLA are ordered pairs of elements from /} and Tit, respectively. The identity element is (A0, MΛ) and the inverse of element (AX,MV), denoted by {Ax,Mv)~ l is (A..„M,..,). Interpretation of SHLA
It is claimed that the elements of SHLA derive their relevant to machine vision for three reasons:
• The transformations are visually meaningful • SHLA is computational
• The transformations possess invariant properties Meaningful Transformations
When an object moves in the visual world relative to an observer, the visual field of the observer undergoes a transformation. The fact that the objects in the transformed image preserve critical properties of the objects is an essential component of the recognition process. The relationship of the elements of SHLA to the collection of meaningful transformations can be readily appreciated by considering a few examples of the effects of these transformations on an image. The image of the can of Pal dog food in Figure 11 is represented with six octaves. 7' pixels.
Figures 12 and 13 shows the effect of applying Awou and Awoυυo respectively.
Observe that the first of these two transformations is a translation of the input image by a small amount. However, the second is a translation of a larger amount in the direction of 5 o'clock from the centre. In this translation, part of the can has been shifted out of view. However, it is not lost as it has been wrapped around and is visible in the 11 o'clock direction from the centre. The original image in Fig 11 is recoverable by applying the inverse transformations, A4υoυ and A4oυoυ to Fig 12 and Fig 13 respectively. Figures 14 to 18 display the effect of applying M2, M3, M4, M5, and M0 respectively. These images represent rotations of 60, 120. 180. 240 and 300 degrees about the address zero.
The results displayed in Figure 19 are the effects of applying Mw, Mlυυ, Mwυϋ, Mumo, Mlooυoo, and Mmmt)0 .
In figures 11-19 four effects on the input image are observable: 1. contraction, 2. dilation, 3. rotation and 4. apparent production of multiple copies. Recall that the key of an octave has associated with it a metre and an orientation. The application of Mx to the input image has the effect of changing the metre and orientation of the primary octave to those associated with the key of x. This change in metre induces a simultaneous contraction and dilation. Observe that each of the seven cans image in Figure 19 (upper right) are approximately one third the size of the can in the input image (upper left). Each of the images represented in Figure 19b to 19f is a contraction of approximately one third of the preceding image. The exact contraction factor is the ratio of the distances between the addresses 0 to 1 and 0 to 10.
The dilation effect is observable in only the lower right (f) image of Figure 19. Although the figure represents the 5th contraction {M10)'J, it also contains a magnification of the figure in (upper left) by the same factor. Observe that the dog on the can in the upper left is magnified and has a ghost-like appearance in lower right. The magnification effect is also present in each of the other five figures. However, due to the magnitude of the magnification, it is not apparent.
The effect of changing the key also includes a new orientation. Observe that the rotation in Figure 19 a-f corresponds to the angle subtended by the straight line segments joining centres of the cells at address 1,0 and 10. This is approximately 25 degrees. Again, each of the remaining figures in Figure 19 represents a rotation of the previous image by this same amount. The fourth effect of producing multiple copies is somewhat more curious and possibly a bit more difficult to appreciate. First, an effect that is difficult to observe is that the copies are only near copies. This is due to the fact that each copy results from a unique sampling of the input image. Each sample is mutually exclusive and the collection of all such samples represents a partitioning of the input image. Secondly, observe the number of near copies in each successive figure. This number is related to the degree of scaling of the image (the metre). In this case, the number grows by a factor of seven in each successive image. To further illustrate this effect of multiple copies, consider the images represented in Figures 20 and 21. These two images result from the application if (-V/ιr))' 1 and (Mvl)Λ respectively. Observe that the copies in the periphery of each are incomplete and that the number of copies in the latter are not a power of seven.
The immediate consequences of this fourth effect (multiple near copies). are three fold. The first is an implication for concurrency. That is. there is the possibility of pursuing different recognition strategies in parallel. The second consequence is the potential for handling multidimensional images such as depth and time. The final consequence to be considered is possibly the most important. As the scaling in effect represents the viewing of the image at a lower resolution, each copy has less information. However. as none of the individual light intensities have been altered in any way, the scaled image still holds all of the information contained in the original. This means that the computational complexity has been both reduced and nicely partitioned without giving away any information. The reduction of computational complexity results from the fact that the object is represented with fewer pixels. The production of the multiple copies results in the effect of partitioning the computations in a manner compatible with certain parallel computer architectures. SHLA is Computational
The claim that SHLA is computational partly results from the fact that each element of Ttt has associated with it a particular scaling and rotation. An arbitrary rotation on the SHM is achieved by a trade off in scale, not by incurring rounding error. Likewise, an arbitrary scaling is achieved by a trade off in orientation. The computational consequence of not incurring any rounding error when performing a transformation is that the image will not suffer any degradation no matter how many transformations are performed on it. This has important consequences for the creation of the non-primitive transformations which can be arbitrary long sequences of primitive transformations. The deeper reason for the occurrence of this desirable property is due to the fact that SHM has the structure of a Euclidean ring and that all non-zero addresses possess unique inverses. When the SHM is restricted to a finite set of hexagons and the arithmetic operates are defined modularly a Euclidean-like property is induced. Technically, the modular multiplication does not have the Euclidean property globally. Rather, the modular effect of the operation imposes an inverse Euclidean property. That is. the points are transformed closer together. The net effect of multiplication on the image represented in the SHM is that a simultaneous dual Euclidean effect is induced. The result of this Euclidean effect is that the image is both dilated and contracted. An example of this effect can be observed in Figure 19 where the image of the dog on the original figure is dilated and overlaid on the contracted image. It is also worth noting that the Euclidean property of SHM has a computational implication. Although the concept of Spiral Counting can be applied to a rectangular grid (where the cluster is composed of a centre square with 8 neighbours and whose integer base is 9), the structure cannot be made to have the Euclidean property. For example, a rotation of 45 degrees would distort the original image. This loss of the Euclidean property results from the fact that each of the neighbours of the centre square are of different distances from the centre. This observation also represents the first significant difference between the hexagonal and rectangular grids. The fact that the transformations are linear also adds to the computational claim. Intuitively, one would expect a linear transformation to be easily paralleliseable. It turns out that this is so and will be demonstrated later. Invariant Properties In its own right, the Lie (bracket) multiplication has relevance to the
SHM for two reasons. Firstly, as a mathematical tool it can be employed to study the structure of SHM. Secondly, according to the equations of Forbinious. all elements of the Algebra are representable as linear combinations of the bases (primitive) transformations. However, the Lie multiplication coupled with the Euclidean property of Spiral Counting provides an additional powerful tool for the analysis of images. One of the ecologically meaningful7 transformations on an image relates to the image appearing the same before and after the transformation. A simple example of this situation is the rotation of a circle about its centre. Such a rotation. of any amount, would be unnoticeable to an observer. This transformation, which holds the circle invariant, can be used to characterise the circle. At present, there are no techniques for fining an invariant transformation for an arbitrary image. Hoffman's Linear Transformation Group approach has made a considerable thrust in this direction. Implementation
We will now demonstrate how the Spiral Honeycomb Lie Algebra (SHLA) can be implemented on a parallel processing architecture.
The mathematical structure of SHLA and its implementation evolved together. A synergistic relationship arose between the theory and the practice where at times the theory drove the implementation and at other times the reverse was the case. The basis of this relationship nurtured the belief that a real-time machine vision system must possess the property of concurrency. Consequently, the development of the theory was pursued only in the event that it supported this paradigm.
Recall that SHLA is a collection of linear transformations of a space on which an image is represented. The nature of these transformations possesses both global and local expressions. Their global nature has the effect of re-arranging the picture elements of the image while preserving some critical properties of the image, such as shape, orientation and size. However, these global effects are achieved by purely local actions. The local action is an operation which is performed on an address which determines a unique address to which information is sent. The derivation of the new addresses is dependent on the process of Spiral Counting. Consequently, the implementation will amount to the coding of this process. The resulting transformations may then be considered as a collection of independent operations that may proceed concurrently.
The inventive computational demands of machine vision appears to be well suited to parallel architectures in general. The transputer was selected as an appropπate parallel architecture on which to implement the SHLA for three primary reasons. These are:-
(i) As the linear transformations of the SHLA will be performed at many levels of the vision process, the Multiple Instruction
Multiplate Data (MIMD) capability of the transputer was considered to be desirable. (ii) The transputer has the potential for the parallel input of an image
(iii) The Lego™ like flexibility enables the addition/subtraction of transputers to meet specific timing requirements according to the particular application. Transputers
A brief description of the salient features of the software and hardware follows.
OCCAM is the language of the transputer. It is a high level language designed so that parallel algorithms can be implemented on a network of processing components. OCCAM is highly structured and is similar to Pascal in many ways. The two distinguishing features from Pascal-like languages are concurrency and communication.
Concurrency is expressed in a number of ways. The most important of these are the PAR and ALT construct. PAR facilitates the replication of processes that may progress concurrently. ALT provides the mechanism for outputs from a variety of parallel processes to be input to a single process. Communication takes place through channels which are software constructs that may be mapped to hardware links. The channels connect processes at both logical and physical levels. The language is tightly coupled to its intended hardware, the transputer, This device is a microcomputer that has been placed on a single chip. The individual transputers may be connected in the form of a network by physical communication links. The networks may be configured in a variety of ways: the most popular of which are the pipeline, ring and grid. Data Structure
We now commence the analysis of the three components of the software implementation of SHLA: data structure, algorithms and configuration. Earlier it was suggested that a belief in the MIMD paradigm was a driving force in the development of SHLA. At the outset, the target of the implementation was to maximise its parallelism. A natural strategy for achieving this target manifested when the one-to-one correspondence between the SHM and the integers was considered. The parallelism should occur at the most local level, the hexagon. The correspondence is illustrated by unwinding the SHM into a one dimensional representation. Each hexagon has associated with it an integer address. See Figure 23. Elements of the Data Structure
The elements of the data structure are the hexagons each of which is identified by its address in the SFIM. Each element will be associated with a concurrent process. The primary benefit lo be gained bv assigning each hexagon to a unique concurrent process is that the transputer can handle either the logical or the physical parallelism without the apparent need to consider efficiency issues . At a logical level each process (hexagon) can operate in parallel with all other processes, while at the physical level the processes may be grouped into as many physical processors as is desired.
The number of physical processors will be constrained by such factors as the availability of transputers or the speed requirements of the particular application. Consequently, each of the elements of the data structure is associated with a logical process.
The arrangement of the elements is a function of the adjacency properties of the hexagons of SHM, The method of addressing the hexagons of the SHM amounted to tracing a spiral pattern from the centre of the SHM and designating the addresses sequentially. In general, hexagons with similar addresses tend to be in close proximity even when the spiral is unwound into a one-dimensional representation. It is worth making two points with regard to the parallelism taking place at the hexagon level. Although it is not imagined that there will be a physical processor for every logical process at present, the convenience gained by considering the logical and physical levels as equivalent did simplify the development process. The second point stems from the prediction that by the end of this decade, it would be possible to have 10 processors in a single network. If and when this prediction eventuates, parallelism at the hexagon level is feasible.
Table 1 : Spiral Addition and Multiplication Tables
Addition Mulliplic alion
0 1 2 3 4 5 0 0 1 2 3 4 5 (i
1 1 (33 15 2 0 0 04 0 0 0 0 I) ϋ ϋ I)
2 2 15 14 20 3 0 1 1 0 1 2 3 4 5 0
3 3 2 2(i 25 31 4 0 2 0 2 3 4 5 0 1
4 4 ϋ 3 3 1 30 42 5 3 0 3 4 5 0 1 2
5 5 (5 0 4 42 41 53 4 ϋ 4 5 β 1 2 3
0 ϋ 04 1 0 5 53 52 5 ϋ 5 0 1 2 3 4
(i 0 (1 1 v 3 4 5
Operations
The lie multiplication of the SHLA assures that an arbitrary number of the transformations of SHLA are representable as linear combinations of the primitive transformations from /4 and "M. which in turn result from the operations of Spiral Addition and Spiral Multiplication. Each of these arithmetic operations is considered in turn. Spiral Addition
Spiral Addition has been defined earlier in terms of Spiral Counting. This process is largely a pattern tracing exercise. That is. Spiral Counting commences at a particular address and then traces an octave pattern from that address for a given number of counts. The task at hand then is to derive an algorithm to emulate this tracing process. This is achieved in two steps. First, the addition of single digit numbers is obtained by the coding of values listed in Table 1. The table provides the atomic operations of addition. For example, the table 1 + 1 = 63 and 3 + 4 = 31. Secondly, the simple carry rule is implemented to handle the addition of numbers composed of more than one digit. To illustrate the algorithm, consider the example of adding the addresses 6 and 21. The tracing method from Chapter 2 indicates that their sum is 14. Now employing Table 1 and the carry rule, the steps are: (i) 6+ 1 = 42; put down the 4 cany the 6 (ii) 2 + 6 = 1; put down the 1 carry nothing
(iii) sum = 14 Spiral Multiplication
Spiral multiplication was defined in terms of Spiral Counting which was described as a visual task of tracing a pattern. The difficulty associated with the implementation resulted from the need to express the algorithm in non-visual terms. As Spiral Counting in a given key is just a generalisation of Spiral Counting in the key of one, the algorithm for Mx will employ and build on the algorithm developed for Ax. Its development will also proceed in a similar manner. The first requirement if the implementation of scalar multiplication. This is achieved by the coding of the scalar multiplication table of Table 1. The next step is to establish the scalar multiplication of numbers (addresses) composed of more than one digit. Recall that any address from SHM can be represented as an n-tuple of digits from the set (0.1.2.3.4.5.6). where n is the number of octaves of SHM. More formally, let an address a e SHM be represented as.
α = a„, a„.„ .... α, Va, 6 (0,1,2.3.4.5.6)
Multiplication of address α by the scalar alpha is obtained by applying scalar multiplication to the components of α. That is.
α (a) = (oca,,, αa,,^, ..., αat). For example,
3x426 = (3x4, 3x2, 3x6) = (6.4,2) = 642
The last step is to achieve the multiplication of an address by a non- scalar. Given two addresses a, b e SHM, let
b = (b„, bu.u ..., bj, then axb = axb„xlθ"'1
+ axb,,, x 10 ,«-2 ιι-l
+ axbjXlO"
∑axb,x\0"] ι = l
For example, consider the multiplication of 15 by 23. As previously defined, this would amount to Spiral Counting from zero for 23 counts in the key of 15. The answer is 201. which can be verified from an inspection of Figure 5. Performing the same multiplication employing the algorithm just described yields:
23x15 = 2x 15 x 101 + 3x 15 x 10° 26 x 10 + 31 x 1
260 + 31 201
This example illustrates that although the operations of addition and multiplication as defined in SHM are quite different from their more commonly known counter parts, the relationship between addition and multiplication is equivalent to repetitive addition.
The final task to complete the multiplication algorithm is the implementation of the modular form of operation. The product is first checked to see if it is within the specified range (the modulus). If it is in the range, no further work needs to be done. Otherwise, the key is checked to see if it is a multiple of 10. If the key is a multiple of 10 Equation (4) is employed: otherwise, Equation (5) is used.
For example, suppose the modulus is 100. Then there are 49 addresses ranging from 0 to 66 in base seven. Consider the multiplication of 10 by 15.
15 X 10 = 150. As the key, which is 15, is not a multiple of 10. Equation 5 will map it to 50. Consider multiplication of 10 by 20.
10 x 20 = 200 As the key, which is 10, is a multiple of 10, Equation 4 will map it to 2.
Algorithms The primitive image processing transformations of translation. rotation and scaling will now be discussed. As these transformations from the building blocks for many of the other transformations of SHLA. it is imperative that they can execute in real-time.
A translation can be thought of as a shift that re-centres the image to a particular distinct point while holding the relative position of all pixels fixed. This operation, in terms of the SHM. is exactly the transformation Ax. In other words. Ax transforms an image centred at the address zero to one centred at the address x. Likewise, the transformations ofrø, namely røx as defined and discussed in the previous chapter, are determined by Spiral Multiplication.
The achievement of the global effects of the transformations of SHLA amounts to the collective local effects of the operations of Spiral Addition and Spiral Multiplication. The algorithms for the transformations can be described as follows: (i) Send a message to each process (address) indicating the operation to be performed: for example, add 123.
(ii) At each process, perform the arithmetical operation, thus determining the new address of the grey-value held at that address.
(iii) Concurrently at each address, send its grey-value lo the new address and receive a grey-value from another address. 30
The algorithm is described in Occam pseudo code. The reader is alerted to the significance or identification in the expression of the code. All lines of code at the same indentation are in the block of code governed by the construct SEQ. PAR or ALT, at the beginning of the block. PAR send operation to be performed at each address PAR i = 0 for number of address PAR
SEQ receive operation to be performed compute now address from operation send groy value to new address receive new grey-value for tins address Configuration
Three different configurations have been employed to test the performance of the various transformations on a T800 series transputer. (1) pipeline, (2) ring, and (3) grid; see Figure 24.
All three configurations required the use of a software multiplexing tool because there can be as many logical channels connecting processes on the same processor as is desired. However, there is only one physical link connecting two processors and there can be only one pair of channels mapped to this link. As a transformation algorithm requires the passing of data from any given address to any other address, there would need to be n! channels (N being the number of addresses in SHM) if every process had a channel to every other process. If all the processes existed on the same processor, this would, in theory, be feasible. However, spreading the processes over more than one processor necessitates the grouping of channels which would logically cross processors into a single virtual channel. This is achieved in Occam with the use of the ALT construct which allows the inputs from parallel processes to be output to a single process.
In addition to the multiplexer, two other algorithms were required. One was to achieve two-way communication between adjacent nodes on the network of transputers. The other algorithm was required for the ring and grid configurations lo find the shortest path between non-adjacent nodes. The Occam code developed to achieve the desired multiplexing. communications and shortest path finder was adapted from programs presented in "Parallel Programs for the trai}sputeιJI Cok, R.S. Prentice-Hall, 1991.
It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the invention as shown in the specific embodiments without departing from the spirit or scope of the invention as broadly described. The present embodiments are. therefore, to be considered in all respects as illustrative and not restrictive.

Claims

CLAIMS:
1. An image processing system for manipulating an image represented as a plurality of image samples or pixels arranged in a geometric pattern characterised in that the geometric pattern is a triangular matrix in which the pixels are arranged with a local pixel spacing (r) such that each pixel is spaced from six surrounding pixels by the pixel spacing (r) and image manipulations to produce a modified image from a source image are achieved by performing a 1:1 mapping of pixels from the source image representation to the modified image representation.
2. The image processing system as claimed in claim 1 wherein the pixel spacing (r) is constant over the image area.
3. The image processing system of claim 1 wherein the pixel spacing (r) varies as a function of the location of the respective pixel in the image area.
4. The image processing system of any one of claims 1 to 3 wherein a pixel addressing scheme is employed in which an origin pixel located centrally in the geometric pattern is allocated an address of zero (0) and the remainder of the pixels are allocated a single base seven address number determined by a spiral counting algorithm in which the six pixels surrounding the origin are allocated an address in the range of 1-6 to form a first order 7 pixel cluster.
5. The image processing system as claimed in claim 4 wherein the first order cluster is surrounded by 6 other first order clusters having centre pixel addresses xO where x is in the range of 1-6 and each of the remaining pixels in each cluster has an address xy where y is in the range of 1-6 and x is constant within the cluster.
6. The image processing system as claimed in claim 5 wherein an address space of 7" pixels is provided having n orders of clusters, where each cluster of order i (n >. i > 0) contains 7 clusters of order (i-1).
7. The processing system as claimed in claim 5 or 6 wherein a line from the origin to the centre pixel of the first of the ith order clusters has a length d| and is displaced by an angle of φj radians with respect to an origin reference line where the angle φ and distance d are given by:- key of address 10 '7 = (ds, φ;) key of address 1 = ( 1. 3π/2) = dα, ψj d, = d(M) V (5-2 cos (2π/3))
Φi = Φ(i-i) - arcsin (2sin(2π/3) (d(1.,)/d,)
8. The processing system as claimed in any one of the preceding claims wherein a first manipulation (translation) is provided in which a distortionless displacement of the image representation occurs relative to a reference point in the geometric pattern of pixels without altering the orientation or scale of the image.
9. The image processing system of claim 8 wherein the first manipulation (translation) is performed by counting in the key of one using the following addition table defining the addition of units in a base seven counting system:-
Figure imgf000035_0001
10. The processing system as claimed in any one of the preceding claims wherein a second manipulation (rotation) is provided in which a distortionless change in the orientation of the image representation occurs with respect to the origin reference line, with an accompanying change in scale and/or resolution of the image.
11. The image processing system of claim 10 wherein the second manipulation (rotation) is achieved by multiplying each pixel address in the image by the key value representing the desired angle of rotation.
12. The image processing system of claim 11 wherein multiplication is performed using base 7 arithmetic with unit multiplication being achieved using the following table.
Figure imgf000036_0001
and an addition and carry rule is used for multiplier and/or multiplicands of more than a single digit.
13. The image processing system of any one of claims 8 or 9 wherein a function "slog" is provided whereby slogb(x,K) = n where bi + b2 + .... + b„ mod K = x for some b, = b2 = .... b„ = b &SHM
14. The image processing system of any one of claims 10. 11. 12 or 13 wherein a function "mlog" is provided whereby mlogb(x,K) = n where bt x b2 x .... x b„ mod K = x for some bt = b2 = .... b„ = b εShm
PCT/AU1997/000318 1996-06-18 1997-05-22 Image processing system WO1997049063A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU27580/97A AU2758097A (en) 1996-06-18 1997-05-22 Image processing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AUPO0535 1996-06-18
AUPO0535A AUPO053596A0 (en) 1996-06-18 1996-06-18 Image processing system

Publications (1)

Publication Number Publication Date
WO1997049063A1 true WO1997049063A1 (en) 1997-12-24

Family

ID=3794853

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU1997/000318 WO1997049063A1 (en) 1996-06-18 1997-05-22 Image processing system

Country Status (2)

Country Link
AU (1) AUPO053596A0 (en)
WO (1) WO1997049063A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU720015B2 (en) * 1997-12-18 2000-05-18 Fuji Photo Film Co., Ltd. Image processing apparatus and method, image synthesizing system and method, image synthesizer and client computer which constitute image synthesizing system, and image separating method

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CGIP, Vol. 14, No. 3, November 1980, BURT, "Tree and Pyramid Structures for Coding Hexagonally Sampled Binary Images", pages 271-280. *
CGIP, Vol. 20, No. 1, September 1982, GIBSON & LUCAS, "Vectorization of Raster Images Using Hierarchical Methods", pages 82-89. *
CVGIP, Vol. 53, No. 4, July 1991, WUETHRICH and STUCK, "An Algorithmic Comparison Between Square- and Hexagonal- Based Grids", pages 324-339. *
IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, 1994, TREMBLEY et al., "Medium Level Scene Representation Using a VLSI Smart Hexagonal Sensor with Multiresolution Edge Extraction Capability and Scale Space Integration Processing", pages 632-637. *
PROCEEDINGS OF SPIE - THE INTERNATIONAL SOCIETY FOR OPTICAL ENGINEERING, 1990, Vol. 1350, EBERLY et al., "Hexagonal Tesselations in Image Albegra", pages 25-30. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU720015B2 (en) * 1997-12-18 2000-05-18 Fuji Photo Film Co., Ltd. Image processing apparatus and method, image synthesizing system and method, image synthesizer and client computer which constitute image synthesizing system, and image separating method

Also Published As

Publication number Publication date
AUPO053596A0 (en) 1996-07-11

Similar Documents

Publication Publication Date Title
Sheridan et al. Pseudo-invariant image transformations on a hexagonal lattice
Mortenson Mathematics for computer graphics applications
Kirk Graphics Gems III (IBM Version): Ibm Version
Pavlidis Algorithms for graphics and image processing
Xu Decomposition of convex polygonal morphological structuring elements into neighborhood subsets
Huang et al. Binary image algebra and optical cellular logic processor design
US4283765A (en) Graphics matrix multiplier
Alexandrov Image representation and processing: a recursive approach
Wang et al. Image processing on the OTIS-mesh optoelectronic computer
US6288723B1 (en) Method and apparatus for converting data format to a graphics card
WO1997049063A1 (en) Image processing system
CN106934757A (en) Monitor video foreground extraction accelerated method based on CUDA
Lin et al. On balloon drawings of rooted trees
JPH05233795A (en) Image expansion/reduction device
Bourbakis et al. A parallel implementation of the SCAN language
Bricken Spatial representation of elementary algebra
Reiter Attractors with the symmetry of the n-cube
Gargantini et al. LINEAR QUAD-AND OCT-TREES: THEIR USE IN GENERATING SH1PLE ALGORITHMS FOR IMAGE PROCESSING
Gagniuc Coding Examples from Simple to Complex: Applications in MATLAB
Munthe-Kaas Superparallel FFTs
Stocco et al. On spatial orders and location codes
Chung et al. A neighbor-finding algorithm for bincode-based images on reconfigurable meshes
Sheridan A method to perform a fast fourier transform with primitive image transformations
Wu et al. Image rotation without scaling on spiral architecture
Antzoulatos Signal and Image Processing Institute

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH HU IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG US UZ VN YU AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF

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
NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 98501947

Format of ref document f/p: F

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase