WO1990010915A1 - Method and apparatus for filtering digital data - Google Patents

Method and apparatus for filtering digital data Download PDF

Info

Publication number
WO1990010915A1
WO1990010915A1 PCT/US1990/001159 US9001159W WO9010915A1 WO 1990010915 A1 WO1990010915 A1 WO 1990010915A1 US 9001159 W US9001159 W US 9001159W WO 9010915 A1 WO9010915 A1 WO 9010915A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixels
group
array
samples
pixel
Prior art date
Application number
PCT/US1990/001159
Other languages
French (fr)
Inventor
Roger William Call
Benjamin Vincent Cox, Jr.
Original Assignee
Unisys Corporation
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 Unisys Corporation filed Critical Unisys Corporation
Priority to DE69027640T priority Critical patent/DE69027640T2/en
Priority to EP90904979A priority patent/EP0419616B1/en
Publication of WO1990010915A1 publication Critical patent/WO1990010915A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators

Definitions

  • This invention relates to methods and apparatus for filtering digital data signals; and mere particularly, it relates to methods and apparatus for filtering images of the type which are made up of an array of such signals.
  • Chabries-Christiansen filter Another limitation of the Chabries-Christiansen filter is that its multiple shift and add operations require a certain amount of circuitry to be carried out, and that adds to the filter cost. Further, performing multiple shift and add operations inherently takes a certain amount of time, which limits the maximum speed of the filter.
  • FIG. 1 illustrates the steps by which an image is filtered in accordance with the present invention
  • FIG. 2 illustrates one specific example of the
  • FIG. 1 filtering process in which edges in an image are enhanced
  • FIG. 3 shows an actual image which was filtered by the FIG. 2 edge enhancement process
  • FIG. 4 illustrates one general class of filtering that can be achieved with the FIG. 1 process
  • FIG. 5 illustrates a second general class of filtering that can be achieved with the the FIG. 1
  • FIG. 6 illustrates a third general class of filtering that can be achieved with the FIG. 1 process
  • FIG. 7 illustrates an electronic circuit which sequentially forms the groups of pixels that are operated on in the FIG. 1 process.
  • FIG. 8 illustrates another circuit which sequentially forms the groups of pixels that are operated on in the FIG. 1 process.
  • FIG.1 it illustrates the steps by which an image is filtered in accordance with the present invention.
  • the original unfiltered image is indicated by reference numeral 10. This image is
  • Each pixel in the image 10 is represented in FIG. 1 by one square of the array.
  • This array can have any number of pixels per row and any number of pixels per column.
  • respective groups of nine pixels are read from the image 10 for each particular pixel that is in that image.
  • Each group of nine pixels includes the particular pixel itself plus the eight other pixels which surround it.
  • one particular pixel is labeled P1; and its corresponding group of pixels is labeled G1. All of the pixels of group G1 are indicated in FIG.1 with dots.
  • another particular pixel in the image 10 is labeled P2; and its corresponding group of pixels is labeled G2. All of the pixels of group G2 are indicated with hatch lines.
  • pixel group G1 consists of all of the pixels that need to be operated on in order to produce the filtered output of a single pixel at the position of pixel P1.
  • pixel group G2 consists of all of the pixels that need to produce the filtered output of a single pixel at the position of pixel P2. What those operations are, and when they occur, is explained in further detail in conjunction with FIGs. 2-6.
  • each of the pixel groups Gl, G2. etc. is quantized and encoded. This step is performed in FIG.1 by a quantization encoder 20. During this step, each of the pixel groups Gl, G2, etc., is compared to several "standard" pixel groups 21 in order to identify the one standard group of pixels which most closely matches the actual group of pixels. In FIG.1, the identification of the standard group of pixels which most closely matches the actual pixel group G1 is indicated as I1; and the
  • each of the pixel group identifiers from the quantization-encoder 20 is used to retrieve a single pixel from a memory 30.
  • reference numerals 31a, 31b, ... represent respective pixels in the memory 30.
  • Pixel 31a in memory 30 is the result which is obtained by performing predetermined operations on one of the standard groups of pixels;
  • pixel 31b in memory 30 is the result which is obtained by performing the same operations on another standard group of pixels; etc.
  • pixels that are retrieved from memory 30 by the pixel group identifiers I1, 12, ... are simply concatenated together in the same order as the pixels in the original image 10.
  • these concatenated pixels form an array of pixels 40 which is the filtered image.
  • Pixel 40-1 was retrieved from memory 30 by the identifier I1;
  • pixel 40-2 was retrieved from memory 30 by the identifier I2; etc.
  • FIG.2 shows how the FIG.1 filtering process can be used to enhance edges in the image 10.
  • symbol Pre represents one particular pixel P at a row r and a column c in image 10
  • symbols P o through P s represent the pixels in the corresponding pixel group G ra .
  • Pixels P o -P s respectively are at the row-column pairs of (r-1,c-1), (r-1,c), (r-1,c+1), (r,c-1), (r,c), (r,c+1), (r+1,c-1), (r+1,c), and (r+1,c+1).
  • FIG.1 filtering process can be performed very quickly since it completely eliminates any of the operations of equations 51-53 on pixel groups from the image 10 itself. Instead, the standard pixel groups are pre-processed and the resulting filtered pixels are stored in memory 30. Thereafter, the filtered pixels that are read from memory 30 by the identifiers I 1 , I 2 , etc. are simply concatenated together.
  • FIG.3 An example of how the filtering process of FIGs. 1 and 2 affects an image is illustrated in FIG.3.
  • reference numeral 54 indicates an image of a plane, which corresponds to the image 10 of FIG. 1.
  • the result is an edge enhanced image as indicated by reference numeral 55.
  • FIG.2 This particular filtering process of FIG.2 is only one example of a more generalized filtering process which is shown in FIG. 4.
  • reference numeral 60 indicates a 3x3 matrix of constants
  • reference numeral 61 indicates another 3x3 matrix of constants
  • reference numerals 62-64 indicate a set of equations which state how the matrices 60 and 61 should operate on each standard pixel group in order to obtain the pre-filtered pixels in memory 30.
  • This filtering becomes identical to the FIG.2 filtering when the entries in the matrices 60 and 61 and the parameters of the equations 62-64 are set as indicated by the FIG.4 example #1.
  • the FIG.1 process differentiates the image 10.
  • Such differential filtering has the effect of highlighting any parts of the image which change quickly from light to dark, or vice versa.
  • the FIG.1 process filters the image 10 such that speckles or bright spots are removed from it.
  • speckles can be introduced into the image by noise when the image is transmitted, for example.
  • FIG.5 Another version of the FIG.1 filtering process is shown in FIG.5.
  • the pixels of each standard pixel group are pre-transformed as indicated by one matrix 70 and one equation 71.
  • This transformation has the effect of passing the image 10 through a convolution filter.
  • a lowpass convolution filter which will smooth or soften the image, and is achieved by setting the entries in the matrix 70 and the parameters of equation 71 as indicated by the FIG. 5 example #1.
  • highpass convolution filtering is achieved by setting the entries in the matrix 70 and the parameters of equation 71 as indicated in the FIG.5 example #2.
  • FIG.6 Still another version to the FIG.1 filtering process is shown in FIG.6.
  • the standard pixel groups are pre-transformed via two matrices 80 and 81 and four equations 82-85. This results in the image 10 being passed through a homomorphic filter.
  • One particular way in which the entries in the matrices 80 and 81 and the parameters of the equations 82-85 can be set is indicated by the FIG.6 example #1; and the effect of that filtering on the image 10 is that it accentuates features of the image which lie in shadows.
  • FIG. 7 shows an electronic circuit which operates to carry out the FIG.1 process.
  • This circuit has an input terminal 90 which receives a signal i(t) that represents the image in an analog form, just like the signal which is sent to the screen of a TV set.
  • Signal i(t) varies with time such that its magnitude is proportional to one row of the image as it appears on the TV screen from left to right; then its magnitude is proportional to the next row of the image as it appears on the TV screen from left to right; etc.
  • This analog signal is converted to a sequence of digital pixels by a
  • sample-and-hold circuit 91 and the resulting pixels are sequentially sent to a shifter circuit 92.
  • Circuit 92 contains four serial-parallel shift registers 92a, 92b, 92c, and 92d.
  • Register 52a has a serial input on its right which receives pixels from the sample-and-hold circuit 91. Those pixels are serially shifted to the left; and when register 92a holds a
  • register 92b parallel to register 92b.
  • the contents of register 92b are transferred in parallel to register 92c, and the contents of register 92c are transferred in parallel to register 92d.
  • Registers 92a-92d also shift serially from right to left in synchronization with register 92a. Further, registers 92b and 92c shift in a circular fashion such that the pixels in their leftmost stage are returned to the rightmost stage with each shift. As a result, the nine pixels of each pixel group G rc in the image 10 are sequentially transferred to the three leftmost stages of registers 92b, 92c, and 92d. From those stages, the pixel groups G rc are sequentially sent to the quantization-encoder 20 via a set of conductors 92e. Output signals I 1 , l 2 , etc. from the quantization-encoder 20 are then used to address the memory 30 as previously described.
  • FIG.8 Another alternative embodiment to the shifter circuit 92, which uses less hardware, is shown in FIG.8.
  • This embodiment consists of just a single serial shift register 100 which has only (N/2+3) stage, where N is the number of stages in shift register 92. Also, each stage of register 100 is simpler than a stage of register 100 since register 100 only shifts in a serial fashion.
  • Output lines 100a from register 100 come from its first three stages, its last three stages, and its middle three stages. By so arranging the output lines, all of the pixels of the pixel groups G rc sequentially appear on them, just as the pixel groups did in tne FIG.7
  • each of the pixel groups G rc is an mxn matrix where m and n are respective integers between two and twenty.
  • the other matrices H and G of FlGs. 4, 5, and 6 must change in the same fashion.
  • each square in the array of FIG.1 from which the groups G rc are formed can be a data point which gives a seismic echo at that location; or it can be a data point which gives an X-ray transmission at that location. In such a case, all of the steps of FIG.1 and FIGs.4-6 remain the same.
  • the FIG. 1 process can be employed on arrays of data which are other than two-dimensional.
  • a third dimension can be added to the array of FIG.1 from which the groups G rc are formed, with the third dimension being the color of each pixel.
  • the array of FIG.1 from which the groups G rc are formed can have just one dimension. This would occur, for example, if the data points in the array were periodic samples of a single time varying voltage signal, such as a radio signal or a speech signal.
  • FIG. 1 process can be carried out with many previously disclosed physical implementations of the individual components which that process uses.
  • the quantization-encoder 20 is disclosed in U.S. Patent 4,727,354 which is assigned to the present assignee.
  • the memory 30 can be any conventional read-write semiconductor memory. Accordingly, it is to be understood that the invention is not limited to the above detailed examples but is defined by the appended claims.

Abstract

An image (10), of the type that is comprised of an array of pixels (P1, P2), is filtered by the steps of: (a) reading a respective group (G1, G2) of pixels from the array for each individual pixel (P1, P2, ...) that is in the array, with each pixel group overlapping other pixel groups and consisting of pixels that are contiguous with the individual pixel; (b) quantizing (via module 20) each of the respective groups of pixels; (c) retrieving from a memory (30), a single pixel (40-1, 40-2) for each quantized group (I1, I2, ...) of pixels, with the single pixel being the result of a pre-performed transformation on the quantized group of pixels; and (d) concatenating (via 40) the retrieved pixels to form the filter image.

Description

METHOD AND APPARATUS FOR FILTERING DIGITAL DATA
BACKGROUND OF THE INVENTION
This invention relates to methods and apparatus for filtering digital data signals; and mere particularly, it relates to methods and apparatus for filtering images of the type which are made up of an array of such signals.
In the prior art, visual images have been converted into an array of digital data signals called pixels. Also in the prior art, these arrays of pixels have been filtered in various ways in order to enhance the image. However, an image usually includes huge numbers of pixels, and conventional image filtering processes require scores of multiplications and additions to be performed for each pixel. Consequently, conventional image
filtering processes require a great deal of processing time and are very complicated. An attempt to filter images in a simpler and quicker fashion is disclosed in a U.S. Patent Application 157,199 by Chabries and Christiansen which is entitled "Method of Forming Visual Images in Radar by Utilizing Preconvolved Quantized Vectors". In that application, a method of filtering images by convolution is described in which conventional fast Fourier transform operations and convolution operations are eliminated. Instead, those operations, which are very time consuming, are replaced by a repetitive sequence of shifting and adding; and that enables the Chabries-Christiansen filtering to be
performed relatively quickly.
However, a major limitation of the Chabries-Christiansen method is that it is limited to the
convolutional type of filtering. This is evident from the fact that the convolution operation is linear, and so the principle of superposition applies. Superposition is what is occurring in the repetitive shift and add sequence. Thus, the Chabries-Christiansen method simply will not work for filtering which is nonlinear. Such nonlinear filtering occurs in many ways such as, for example, whenever one of the operations that is to be performed on the pixels involves a squaring or a square root.
Also, another limitation of the Chabries-Christiansen filter is that its multiple shift and add operations require a certain amount of circuitry to be carried out, and that adds to the filter cost. Further, performing multiple shift and add operations inherently takes a certain amount of time, which limits the maximum speed of the filter.
INTENTIONALLY LEFT BLANK
BRIEF DESCRIPTION OF THE DRAWINGS
Various features and advantages of the invention are described herein in conjunction with the accompanying drawings wherein:
FIG. 1 illustrates the steps by which an image is filtered in accordance with the present invention;
FIG. 2 illustrates one specific example of the
FIG. 1 filtering process in which edges in an image are enhanced;
FIG. 3 shows an actual image which was filtered by the FIG. 2 edge enhancement process; FIG. 4 illustrates one general class of filtering that can be achieved with the FIG. 1 process;
FIG. 5 illustrates a second general class of filtering that can be achieved with the the FIG. 1
process;
FIG. 6 illustrates a third general class of filtering that can be achieved with the FIG. 1 process;
FIG. 7 illustrates an electronic circuit which sequentially forms the groups of pixels that are operated on in the FIG. 1 process; and
FIG. 8 illustrates another circuit which sequentially forms the groups of pixels that are operated on in the FIG. 1 process. DETAILED DESCRIPTION OF THE INVENTION
Turning now to FIG.1, it illustrates the steps by which an image is filtered in accordance with the present invention. In FIG.1, the original unfiltered image is indicated by reference numeral 10. This image is
comprised of a plurality of pixels which are arranged as an array of rows and columns. Each pixel in the image 10 is represented in FIG. 1 by one square of the array. This array can have any number of pixels per row and any number of pixels per column.
As one step of the FIG.1 filtering process, respective groups of nine pixels are read from the image 10 for each particular pixel that is in that image. Each group of nine pixels includes the particular pixel itself plus the eight other pixels which surround it. For example, in FIG.1, one particular pixel is labeled P1; and its corresponding group of pixels is labeled G1. All of the pixels of group G1 are indicated in FIG.1 with dots. Similarly, another particular pixel in the image 10 is labeled P2; and its corresponding group of pixels is labeled G2. All of the pixels of group G2 are indicated with hatch lines.
From the above, it is evident that the respective pixel groups overlap each other. That is, each pixel is included in several different groups. In general, pixel group G1 consists of all of the pixels that need to be operated on in order to produce the filtered output of a single pixel at the position of pixel P1. Similarly, pixel group G2 consists of all of the pixels that need to produce the filtered output of a single pixel at the position of pixel P2. What those operations are, and when they occur, is explained in further detail in conjunction with FIGs. 2-6.
As another step in the FIG.1 filtering process, each of the pixel groups Gl, G2. etc. is quantized and encoded. This step is performed in FIG.1 by a quantization encoder 20. During this step, each of the pixel groups Gl, G2, etc., is compared to several "standard" pixel groups 21 in order to identify the one standard group of pixels which most closely matches the actual group of pixels. In FIG.1, the identification of the standard group of pixels which most closely matches the actual pixel group G1 is indicated as I1; and the
identification of the standard group of pixels which most closely matches the actual pixel group G2 is indicated as 12.
As a further step in the FIG.1 filtering process, each of the pixel group identifiers from the quantization-encoder 20 is used to retrieve a single pixel from a memory 30. In FIG. 1, reference numerals 31a, 31b, ... represent respective pixels in the memory 30. Pixel 31a in memory 30 is the result which is obtained by performing predetermined operations on one of the standard groups of pixels; pixel 31b in memory 30 is the result which is obtained by performing the same operations on another standard group of pixels; etc.
To complete the FIG. 1 filtering process, all of the pixels that are retrieved from memory 30 by the pixel group identifiers I1, 12, ..., are simply concatenated together in the same order as the pixels in the original image 10. In FIG.1, these concatenated pixels form an array of pixels 40 which is the filtered image. Pixel 40-1 was retrieved from memory 30 by the identifier I1; pixel 40-2 was retrieved from memory 30 by the identifier I2; etc.
By utilizing the above-described process, the original image 10 can be filtered in many different ways. And, for each different type of image filtering, all that changes are the pixel values that ace stored in the memory 30. For example, FIG.2 shows how the FIG.1 filtering process can be used to enhance edges in the image 10. In FIG. 2, symbol Pre represents one particular pixel P at a row r and a column c in image 10, and symbols Po through Ps represent the pixels in the corresponding pixel group Gra. Pixels Po-Ps respectively are at the row-column pairs of (r-1,c-1), (r-1,c), (r-1,c+1), (r,c-1), (r,c), (r,c+1), (r+1,c-1), (r+1,c), and (r+1,c+1).
All of the pixels in group Gra need to be operated on in order to edge enhance the single pixel Frc, and equations 51, 52 and 53 in FIG.2 state how these operations should occur. But, since the pixel group Grc in the image 10 is quantized by the FIG.1 process before the operations of equations 51-53 occur, these operations can be performed "off line" on the standard pixel groups, rather than on the pixel group from the original image 10.
Thus, the FIG.1 filtering process can be performed very quickly since it completely eliminates any of the operations of equations 51-53 on pixel groups from the image 10 itself. Instead, the standard pixel groups are pre-processed and the resulting filtered pixels are stored in memory 30. Thereafter, the filtered pixels that are read from memory 30 by the identifiers I1, I2, etc. are simply concatenated together.
An example of how the filtering process of FIGs. 1 and 2 affects an image is illustrated in FIG.3. There, reference numeral 54 indicates an image of a plane, which corresponds to the image 10 of FIG. 1. After the image 54 has been filtered by the steps of FIGs.1 and 2, the result is an edge enhanced image as indicated by reference numeral 55.
This particular filtering process of FIG.2 is only one example of a more generalized filtering process which is shown in FIG. 4. There, reference numeral 60 indicates a 3x3 matrix of constants; reference numeral 61 indicates another 3x3 matrix of constants; and reference numerals 62-64 indicate a set of equations which state how the matrices 60 and 61 should operate on each standard pixel group in order to obtain the pre-filtered pixels in memory 30. This filtering becomes identical to the FIG.2 filtering when the entries in the matrices 60 and 61 and the parameters of the equations 62-64 are set as indicated by the FIG.4 example #1. On the other hand, when the entries in the matrices 60 and 61 and the parameters of equations 62-64 are set as indicated by the FIG.4 example #2, then the FIG.1 process differentiates the image 10. Such differential filtering has the effect of highlighting any parts of the image which change quickly from light to dark, or vice versa.
Further, when the entries in the matrices 60 and 61 and the parameters of equations 62-64 are set as shown in the FIG.4 example #3, then the FIG.1 process filters the image 10 such that speckles or bright spots are removed from it. Such speckles can be introduced into the image by noise when the image is transmitted, for example.
Another version of the FIG.1 filtering process is shown in FIG.5. There, the pixels of each standard pixel group are pre-transformed as indicated by one matrix 70 and one equation 71. This transformation has the effect of passing the image 10 through a convolution filter. One example of a lowpass convolution filter, which will smooth or soften the image, and is achieved by setting the entries in the matrix 70 and the parameters of equation 71 as indicated by the FIG. 5 example #1. Conversely, highpass convolution filtering is achieved by setting the entries in the matrix 70 and the parameters of equation 71 as indicated in the FIG.5 example #2.
Still another version to the FIG.1 filtering process is shown in FIG.6. There, the standard pixel groups are pre-transformed via two matrices 80 and 81 and four equations 82-85. This results in the image 10 being passed through a homomorphic filter. One particular way in which the entries in the matrices 80 and 81 and the parameters of the equations 82-85 can be set is indicated by the FIG.6 example #1; and the effect of that filtering on the image 10 is that it accentuates features of the image which lie in shadows.
Next, turning to FIG. 7, it shows an electronic circuit which operates to carry out the FIG.1 process. This circuit has an input terminal 90 which receives a signal i(t) that represents the image in an analog form, just like the signal which is sent to the screen of a TV set. Signal i(t) varies with time such that its magnitude is proportional to one row of the image as it appears on the TV screen from left to right; then its magnitude is proportional to the next row of the image as it appears on the TV screen from left to right; etc. This analog signal is converted to a sequence of digital pixels by a
sample-and-hold circuit 91, and the resulting pixels are sequentially sent to a shifter circuit 92.
Circuit 92 contains four serial-parallel shift registers 92a, 92b, 92c, and 92d. Register 52a has a serial input on its right which receives pixels from the sample-and-hold circuit 91. Those pixels are serially shifted to the left; and when register 92a holds a
complete row of pixels, that row is transferred in
parallel to register 92b. At the same time, the contents of register 92b are transferred in parallel to register 92c, and the contents of register 92c are transferred in parallel to register 92d.
Registers 92a-92d also shift serially from right to left in synchronization with register 92a. Further, registers 92b and 92c shift in a circular fashion such that the pixels in their leftmost stage are returned to the rightmost stage with each shift. As a result, the nine pixels of each pixel group Grc in the image 10 are sequentially transferred to the three leftmost stages of registers 92b, 92c, and 92d. From those stages, the pixel groups Grc are sequentially sent to the quantization-encoder 20 via a set of conductors 92e. Output signals I1, l2, etc. from the quantization-encoder 20 are then used to address the memory 30 as previously described.
Another alternative embodiment to the shifter circuit 92, which uses less hardware, is shown in FIG.8. This embodiment consists of just a single serial shift register 100 which has only (N/2+3) stage, where N is the number of stages in shift register 92. Also, each stage of register 100 is simpler than a stage of register 100 since register 100 only shifts in a serial fashion.
Output lines 100a from register 100 come from its first three stages, its last three stages, and its middle three stages. By so arranging the output lines, all of the pixels of the pixel groups Grc sequentially appear on them, just as the pixel groups did in tne FIG.7
embodiment.
Several preferred image filtering processes, as well as circuitry for carrying out those processes, have now been described in detail. In addition, however, many changes and modifications can be made to these details without departing from the nature and spirit of the invention.
For example, the size of the pixel groups Grc can be changed. And, in general, the fidelity of the FIG.1 filtering will increase as the size of the pixel groups increases. Preferably, each of the pixel groups Grc is an mxn matrix where m and n are respective integers between two and twenty. Also, as the size of the pixel groups Grc is changed, the other matrices H and G of FlGs. 4, 5, and 6 must change in the same fashion.
As another modification, the FIG.1 process can be used to filter arrays of data other than pixels. For example, each square in the array of FIG.1 from which the groups Grc are formed can be a data point which gives a seismic echo at that location; or it can be a data point which gives an X-ray transmission at that location. In such a case, all of the steps of FIG.1 and FIGs.4-6 remain the same.
As still another modification, the FIG. 1 process can be employed on arrays of data which are other than two-dimensional. For example, a third dimension can be added to the array of FIG.1 from which the groups Grc are formed, with the third dimension being the color of each pixel. Alternatively, the array of FIG.1 from which the groups Grc are formed can have just one dimension. This would occur, for example, if the data points in the array were periodic samples of a single time varying voltage signal, such as a radio signal or a speech signal.
As still a further modification, the FIG. 1 process can be carried out with many previously disclosed physical implementations of the individual components which that process uses. For example, one suitable implementation of the quantization-encoder 20 is disclosed in U.S. Patent 4,727,354 which is assigned to the present assignee. Similarly, the memory 30 can be any conventional read-write semiconductor memory. Accordingly, it is to be understood that the invention is not limited to the above detailed examples but is defined by the appended claims.

Claims

WHAT IS CLAIMED IS:
1. A method of filtering an image of the type that is comprised of an array of pixels; said method including the steps of:
reading a respective group of pixels from said array for each individual pixel in the array, with each pixel group overlapping other pixel groups and consisting of pixels that are contiguous with the individual pixel;
quantizing each of said respective groups of pixels;
retrieving from a memory, a single pixel for each quantized group of pixels, with said single pixel being the result of a pre-performed transformation on the quantized group of pixels; and
concatenating the retrieved pixels to form the filtered image.
2. A method according to claim 1 wherein said array has two dimensions.
3. A method according to claim 2 wherein said pre-performed transformation is of the form z=f(x,y),
where p1 is a pixel in a
Figure imgf000015_0001
Figure imgf000015_0002
quantized group of n pixels, and k1 , k2 , h1 , and g1 are constants .
4. A method according to claim 2 wherein said
pre-performed transformation is of the form Z=k Σh1p1
where p1 is a pixel in a quantized group of n pixels and k and hi are constants.
5. A method according to claim 2 wherein said
pre-performed transformation is of the form z=f4(W),
W=f3(X,Y), X=k1 Σ h1f1(p1), Y=k2 Σ g1f2(p1) where p1 is a pixel in a quantized group of n pixels, and k1, k2, h1,
and g1 are constants.
6. A method of filtering an array (10) of sampled data signals, including steps of:
reading a respective overlapping group (G1, G2,...) of data samples from said array for each
individual sample (P1, P2,...) in the array, with each group of samples being contiguous with the individual sample;
quantizing (via 20) each of said respective
groups (G1, G2...) of samples;
retrieving from a memory (30), a single preprocessed sample (40-1, 40-2,...) for each quantized group of samples (I1, I2,...) with said single preprocessed sample being the result of a preperformed transformation on the quantized group of samples; and
concatenating (via 40) the retrieved preprocessed samples to form the filtered array.
7. A method according to claim 6 wherein said array is one-dimensional.
8. A method according to claim 7 wherein said
Figure imgf000017_0002
pre-performed transformation is of the form
Figure imgf000017_0001
where d1 is a data sample in a quantized group of n samples, and k and h1 are constants.
9. A method according to claim 6 wherein said array is two-dimensional.
10. A method according to claim 9 wherein said data samples are image pixels.
11. A method according to claim 6 wherein said array is three-dimensional.
12. A method according to claim 11 wherein said data samples are image pixels with color.
13. Apparatus for filtering an array of sampled data signals, including:
a means for forming a respective group of data samples from said array for each individual sample in the array, with each group of samples being contiguous with the individual sample;
a quantizing means, coupled to said means for forming, for quantizing each of said respective groups of samples and for generating identifiers thereof; and,
a storage means, coupled to said quantizing means, for storing a single pre-processed sample for each quantized group of samples and for retrieving same in response to said identifiers, with said single
pre-processed sample being the result of a pre-performed transformation on the quantized group of samples.
14. Apparatus according to claim 13 wherein said means for forming is a multistage serial shift register which shifts in only one direction and which has output terminals on only certain spaced apart stages thereof such that said certain stages hold all of the samples of a different respective group with each shift.
15. Apparatus according to a claim 13 wherein said means for forming includes several serial-parallel registers which are arranged in rows such that each register can transfer its content in parallel to the register in the next row, and such that the registers of the middle rows can shift their contents in a circular fashion; said rows of registers also having output terminals on certain contiguous stages thereof which hold a different respective group of samples with each shift.
PCT/US1990/001159 1989-03-16 1990-03-01 Method and apparatus for filtering digital data WO1990010915A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE69027640T DE69027640T2 (en) 1989-03-16 1990-03-01 METHOD AND DEVICE FOR FILTERING NUMERICAL DATA
EP90904979A EP0419616B1 (en) 1989-03-16 1990-03-01 Method and apparatus for filtering digital data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/324,490 US5101445A (en) 1989-03-16 1989-03-16 Method and apparatus for filtering digital data by concatenating preprocessed overlapping groups of the data
US324,490 1989-03-16

Publications (1)

Publication Number Publication Date
WO1990010915A1 true WO1990010915A1 (en) 1990-09-20

Family

ID=23263818

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1990/001159 WO1990010915A1 (en) 1989-03-16 1990-03-01 Method and apparatus for filtering digital data

Country Status (6)

Country Link
US (1) US5101445A (en)
EP (1) EP0419616B1 (en)
JP (1) JP2872806B2 (en)
AU (1) AU5273190A (en)
DE (1) DE69027640T2 (en)
WO (1) WO1990010915A1 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3804938C2 (en) * 1987-02-18 1994-07-28 Canon Kk Image processing device
EP0449577A3 (en) * 1990-03-26 1993-04-21 Hammond Incorporated Automatic data placement method and apparatus
GB2253318B (en) * 1991-02-27 1994-07-20 Stc Plc Image processing
US5206916A (en) * 1991-11-22 1993-04-27 Hughes Aircraft Company Modular cellular automation for line association and identification
US5438636A (en) * 1992-05-14 1995-08-01 United Parcel Service Of America, Inc. Apparatus for simultaneously convolving multiple digital binary images using a single convolver with a binary mask to determine pixel densities
US5671296A (en) * 1994-02-15 1997-09-23 Unisys Corporation Method of electronically processing a quantized image
TW381328B (en) * 1994-03-07 2000-02-01 Ibm Dual substrate package assembly for being electrically coupled to a conducting member
US5710839A (en) * 1994-04-20 1998-01-20 Eastman Kodak Company Method and apparatus for obscuring features of an image
US5933540A (en) * 1995-05-11 1999-08-03 General Electric Company Filter system and method for efficiently suppressing noise and improving edge definition in a digitized image
US6330610B1 (en) * 1997-12-04 2001-12-11 Eric E. Docter Multi-stage data filtering system employing multiple filtering criteria
AU2899599A (en) 1998-03-05 1999-09-20 Universal Health-Watch, Inc. Optical imaging system for diagnostics
US8643661B1 (en) * 2006-06-21 2014-02-04 Marvell International Ltd. Non raster row pixel processing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0195372A2 (en) * 1985-03-18 1986-09-24 Tektronix, Inc. Method and apparatus for forming 3x3 pixel arrays and for performing programmable pattern contingent modifications of those arrays
US4727354A (en) * 1987-01-07 1988-02-23 Unisys Corporation System for selecting best fit vector code in vector quantization encoding

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5847064B2 (en) * 1978-07-08 1983-10-20 工業技術院長 Character reading method
US4703513A (en) * 1985-12-31 1987-10-27 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Neighborhood comparison operator
US4720871A (en) * 1986-06-13 1988-01-19 Hughes Aircraft Company Digital image convolution processor method and apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0195372A2 (en) * 1985-03-18 1986-09-24 Tektronix, Inc. Method and apparatus for forming 3x3 pixel arrays and for performing programmable pattern contingent modifications of those arrays
US4727354A (en) * 1987-01-07 1988-02-23 Unisys Corporation System for selecting best fit vector code in vector quantization encoding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Computer Vision, Graphics, and Image Processing, Vol. 27, No. 1, July 1984, Academic Press, Inc., (New York, US), F.A. GERRITSEN et al.: "Implementation of Cellular-Logic Operators using 3 * 3 Convolution and Table Lookup Hardware", pages 115-123 *

Also Published As

Publication number Publication date
JPH03504652A (en) 1991-10-09
EP0419616A1 (en) 1991-04-03
EP0419616B1 (en) 1996-07-03
US5101445A (en) 1992-03-31
AU5273190A (en) 1990-10-09
DE69027640T2 (en) 1997-02-20
DE69027640D1 (en) 1996-08-08
JP2872806B2 (en) 1999-03-24

Similar Documents

Publication Publication Date Title
US5101445A (en) Method and apparatus for filtering digital data by concatenating preprocessed overlapping groups of the data
US4561072A (en) Memory system handling a plurality of bits as a unit to be processed
EP0013069A1 (en) A data processor and method of processing video information
EP0149119A2 (en) Method for rotating a binary image
EP0377288A3 (en) Feature extraction processor and method
EP0227406B1 (en) Image signal processor
EP0248235A2 (en) Image processing apparatus having function of enlargement and/or shrinkage of image
EP0182243A2 (en) Image signal filtering
US4768159A (en) Squared-radix discrete Fourier transform
EP0279160A2 (en) High speed serial pixel neighborhood processor and method
EP0177640A2 (en) Image reduction method
US4736440A (en) Process for the processing of digitized signals representing an original image
EP0450260A1 (en) Digital signal filter circuit
KR920003460B1 (en) Parallel pipeline image processor with 2x2 window architecture
US5412740A (en) Signal processing system having reduced memory space
US4799154A (en) Array processor apparatus
EP0069541A2 (en) Data processing arrangement
EP0189943A2 (en) Parallel image processor
US4809343A (en) Maximum/minimum value conversion circuit for image processing
JPH07152730A (en) Discrete cosine transformation device
US5671296A (en) Method of electronically processing a quantized image
KR950003143B1 (en) Digital filter
SU1059585A1 (en) Device for correcting image
RU2790010C1 (en) Device for selecting the smaller of binary numbers
US4872134A (en) Signal processing integrated circuit for row and column addition of matrices of digital values

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA JP KR

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB IT LU NL SE

WWE Wipo information: entry into national phase

Ref document number: 1990904979

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1990904979

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1990904979

Country of ref document: EP