AU735741B2 - Method and apparatus for decimation filtering - Google Patents
Method and apparatus for decimation filtering Download PDFInfo
- Publication number
- AU735741B2 AU735741B2 AU61741/99A AU6174199A AU735741B2 AU 735741 B2 AU735741 B2 AU 735741B2 AU 61741/99 A AU61741/99 A AU 61741/99A AU 6174199 A AU6174199 A AU 6174199A AU 735741 B2 AU735741 B2 AU 735741B2
- Authority
- AU
- Australia
- Prior art keywords
- pixel values
- sum
- predetermined number
- calculating
- image data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Description
S&F Ref: 482000
AUSTRALIA
PATENTS ACT 1990 COMPLETE SPECIFICATION FOR A STANDARD PATENT
ORIGINAL
Name and Address of Applicant: Actual Inventor(s): Address for Service: Canon Kabushiki Kaisha 30-2, Shimomaruko 3-chome Ohta-ku Tokyo Japan Dominic Yip Spruson Ferguson St Martins Tower 31 Market Street Sydney NSW 2000 Method and Apparatus for Decimation Filtering Invention Title: ASSOCIATED PROVISIONAL APPLICATION DETAILS [33] Country [31] Applic. No(s) AU PP7800 [32] Application Date 18 Dec 1998 The following statement is a full description of this invention, including the best method of performing it known to me/us:- 5815c -1- METHOD AND APPARATUS FOR DECIMATION
FILTERING
Field of Invention The present invention relates to a method and apparatus for decimation filtering and, in particular, to the compression of multi-dimensional digital data. The invention also relates to a computer program product including a computer readable medium having recorded thereon a computer program for decimation filtering.
Background of Invention A known method of image data compression utilises a vertical filter circuit that 10 averages image data of horizontal lines to be received in a picture-in-picture (PIP) display device of a television set thereby compressing the image data of respective horizontal lines. The vertical filter circuit includes a control unit that controls the operations of all other units within the filter circuit, which typically include an attenuating unit which attenuates the received pixel values with a selected attenuation value, an adding unit that 15 connects to the attenuating unit and adds the attenuated pixel value with the corresponding accumulator value in line memory, a line memory that holds all the partial ••oo• S•sums in a horizontal line, a switching unit having an input terminal connected to an output oooo• terminal of the line memory, a first output terminal connection to the output of the whole circuit, and a second output terminal connected to the second input terminal.
o• S" 20 For some applications, it is also desirable to compress the image data in both horizontal and vertical directions. However, in such applications attenuation at the first stage of the filter circuit creates error due to rounding or truncation. This error would be accumulated line after line, giving a wrong average in the end.
Another method of image data compression utilises thinning dropping pixels) to achieve compression. This has the disadvantage of discarding fine details in the original image.
It is an object of the present invention to substantially overcome or at least ameliorate one or more disadvantages of the prior art.
RC06 CFP1537AU482000 [O:\CISRA\RC\RC06]482000.doc:SaF Aspects of Invention According to one aspect of the present invention there is provided a method of compressing digital image data, the method comprising the steps of: storing a portion of a predetermined number of pixel values of an input image; (ii) calculating a sum of said portion of pixel values; (iii) repeating steps and (ii) a first predetermined number of times; (iv) adding the last calculated sum to the previously calculated sum in order to calculate a partial sum value; 10 storing said partial sum in a predetermined position; oooo (vi) repeating steps to a second predetermined number of times; V in order to calculate an overall sum of said predetermined number of pixel values; and (vii) multiplying said overall sum by an attenuating coefficient in order to calculate an average value of said predetermined number of pixel values, wherein said 15 average value is a compressed representation of said predetermined number of pixel values.
0 According to another aspect of the present invention there is provided an apparatus for compressing digital image data, the apparatus including: means for storing a portion of a predetermined number of pixel values of an input image; means for calculating a sum of said portion of pixel values; means for calculating a partial sum value; means for storing said partial sum value in a predetermined position; means for calculating an overall sum of said predetermined number of pixel values; and means for multiplying said overall sum by an attenuating coefficient in order to calculate an average value of said plurality of pixel values, wherein said average value is a compressed representation of said predetermined number of pixel values.
RC06 CFP1537AU482000 [O:\CISRA\RC\RC06]482000.doc:SaF According to still another aspect of the present invention there is provided a computer program product including a computer readable medium having recorded thereon a computer program for compressing digital image data, the computer program product including: means for storing a portion of a predetermined number of pixel values of an input image; means for calculating a sum of said portion of pixel values; means for calculating a partial sum value; means for storing said partial sum in a predetermined position; means for calculating an overall sum of said predetermined number of pixel values; and means for multiplying said overall sum by an attenuating coefficient in order to calculate an average value of said plurality of pixel values, wherein said average value is a compressed representation of said predetermined number of pixel values.
0 0.
*oo *o o g* *i g 482000.DOC Brief Description of the Drawings Embodiments of the invention are described with reference to the drawings, in which: Fig. 1 is a schematic block diagram showing a decimation filter in accordance with a preferred embodiment of the invention; Fig. 2A and 2B represent a flow diagram of a method of compressing digital data in accordance with a preferred embodiment of the invention; and Fig. 3 is a block diagram of a general purpose computer with which the embodiments can be implemented.
Detailed Description Where reference is made in any one or more of the drawings to steps and/or features, which have the same reference numerals, those steps and/or features are for the purposes of the description the same, unless otherwise indicated.
The preferred embodiment is a filtering apparatus for compressing a set of two- S 15 dimensional digital data in both the horizontal and vertical directions. Before describing the preferred embodiment, we shall describe the method of Boxcar filtering, which is related to the present invention.
A boxcar filter of width k and height 1 can be represented by a matrix with k ooooo Scolumns and rows, and all coefficients equal to For example, a Boxcar filter of d 20 dimension 3x3 can be represented by the matrix below:
S::
482000.DOC 1 1 9 1 In the preferred embodiment the Boxcar filter is applied to a block of kxl pixels to reduce them to only 1 pixel. This is different from the conventional method of applying the filter by sliding it across the image. Therefore, if a Boxcar filter of dimension kxl is applied to an image of dimension mxn, then the output image will be shrunk to a dimension of m/l x n/l. When m is not a multiple of k, the image is reflected on the right edge of the image. When n is not a multiple of 1, the image is reflected on the bottom edge.
:i Fig. 1 is a schematic block diagram showing a decimation filter 100 in eo.o accordance with the preferred embodiment. The decimation filter 100 of Fig. 1 provides n a*.
od an advantageous means for compressing digital data. The decimation filter 100 of Fig. 1 provides an advantageous means for compressing digital data. The decimation filter 100 includes a first-in-first-out register FIFO 101 and a shift register 103 which together receive, via an output line 117, incoming pixels row by row, for example, from a frame 15 store (not shown). The FIFO 101 and SR 103 are controlled by a logic and control unit 105. The logic and control unit 105 controls the whole operation of the decimation filter 100 via signals on lines 123 and 125.
S"The filter 100 also includes a summing unit 107, which adds a number of pixel values from the shift register 103. The number of pixel values to be added in the summing unit 107 is controlled by the logic and control unit 105. The output of the summing unit 107 goes to one input of a multiplexer 109, via line 119, and to one of inputs of a multiplying unit 113. The multiplexer 109 is also controlled by the logic and control unit 105 and can either select 0 or the output of the summing unit 107. The output of the multiplexer 109 goes into an accumulator line store 111, via line 121.
A second input of the multiplying unit 113 is from a register 115 containing an attenuating coefficient received during the setup of the filter 100. The latching of the product to an output 129 thereof within the multiplying unit 113 is controlled by the logic RC06 CFP1537AU 482000 4O:\CISRA\RC\RC06]482000.doc:SaF -6and control unit 105, via line 125. The line store 111 feeds back into the summing unit 107, via line 127.
Fig. 2 is a flow diagram of a method of compression in accordance with a preferred embodiment of the invention. The method of the preferred embodiment is a pipeline process and of the preferred embodiment is a pipeline process and commences at step 102, where during setup of the decimation filter 100, all entries in the accumulator line store 111 are reset to 0, and an attenuating value is written in the register 115 connected to the multiplying unit 113.
In the next steps 104 and 106, a plurality of pixels are read from the FIFO 101 10 and put into the shift register 103. The processing continues at step 108, where after k 0oo4 pixels have been read from the FIFO 101 into the shift register 103, and k is the horizontal compression factor, the logic and control unit 105 writes the sum into the accumulator line store 111.
After the first line is processed, the second line of pixels are then processed in a 15 similar way. The only difference, however, is that at step 110 when the nth sum of k pixels is calculated, it is then added with the nth value in the accumulator line store 111.
The sum is then written back to the nth place in the accumulator line store 111 as the new accumulator value. In this way, all the partial sums are accumulated.
At the th line of pixels (where I is the vertical compression factor), the logic and control unit 105 signals the multiplying unit to multiply the accumulator value with the attenuating coefficient of step 112. At the same time, the logic and control unit 105 signals the multiplexer 109 to select 0 so that 0 is written into the accumulator line store 111. The logic and control unit 105 also signals the multiplying unit 113 to latch the product, at step 114 which is the final output of the decimation filter 100. In another preferred embodiment the attenuating coefficient is l/k*l.
Once an image has been compressed using the decimation filter 100 of the preferred embodiment it can then be displayed on a video display (see Fig. 3) or similar device. Generally, the compressed image will be stored in a memory device (see Fig. 3) and/or further manipulated with an image processor or the like prior to display. Further, RC06 CFP1537AU 482000 [O:\CISRA\RC\RC061482000.doc:SaF the compressed image can be distributed over a computer network such as a local area network (LAN), a wide area network (WAN), an Intranet, and/or the Internet.
In yet another preferred embodiment, the maximum length of the line store 111 is the maximum possible image width.
The preferred embodiment is preferably implemented as part of a conventional general-purpose computer system, such as the system 300 shown in Fig. 3. The computer system 300 has a computer module 302, a video display 316, and input devices 318, 320.
In addition, the computer system 300 can have any of a number of other output devices including line printers, laser printers, plotters, and other reproduction devices connected :i 10 to the computer module 302. The computer system 300 can be connected to one or more other computers via a communication interface 308c using an appropriate communication channel 1230 such as a modem communications path, a computer network, or the like.
The computer network may include a local area network (LAN), a wide area network S:(WAN), an Intranet, and/or the Intemrnet.
15 The computer module 302 has a central processing unit(s) (simply referred to as a processor hereinafter) 304, a memory 306 which may include random access memory (RAM) and read-only memory (ROM), input/output (10) interfaces 308, a video interface 310, and one or more storage devices generally represented by a block 312 in Fig. 3. The storage device(s) 312 can include one or more of the following: a floppy disc, a hard disc drive, a magneto-optical disc drive, CD-ROM, magnetic tape or any other of a number of non-volatile storage devices well known to those skilled in the art. Each of the components 304 to 312 and the decimation filter 100 are typically connected to one or more of the other devices via a bus 314 that in turn includes data, address, and control buses.
The video interface 310 is connected to the video display 316 and provides video signals from the computer 302 for display on the video display 316. User input to operate the computer 302 can be provided by one or more input devices 308. For example, an operator can use the keyboard 318 and/or a pointing device such as the mouse 320 to RC06 CFP1537AU482000 [O:\CISRA\RC\RC061482000.doc:SaF provide input to the computer 302. As discussed above, the decimation filter 100 may be implemented as part of a video interface 310.
The system 300 is simply provided for illustrative purposes and other configurations can be employed without departing from the scope and spirit of the invention. Exemplary computers on which the preferred embodiment can be implemented include the IBM-PC or compatibles, one of the Macintosh (TM) family of PCs, Sun Sparcstation arrangements evolved therefrom or the like. The foregoing are merely exemplary of the types of computers with which the embodiments of the invention may be practiced.
10 The decimation filter 100 of Fig 1 can be implemented as part of a plug-in board o:oo as shown in Fig. 3. Alternatively, the decimation filter can be implemented as part of the video interface 310 or graphics processor (not shown).
The process described with reference to Fig 2 can also be implemented as software executing on the computer system 300. In particular, the steps of the method are 15 effected by instructions in the software that are carried out by the computer. The software can be divided into two separate parts; one part for carrying out the method of the .ooooi preferred embodiment, and another part to manage the user interface between the latter and the user. The software can be stored in a computer readable medium, including the o storage devices 312 or a computer network, for example. The software is loaded into the computer from the computer readable medium, and then executed by the computer. A computer readable medium having such software or computer program recorded on it is a computer program product. The use of the computer program product in the computer preferably effects an advantageous apparatus for compressing a set of two dimensional digital data in accordance with the embodiments of the invention.
Typically, the processes of the embodiments, described herein, are resident as software or a program recorded on a hard disk drive (generally depicted as block 312 in Fig. 3) as the computer readable medium, and read and controlled using the processor 304. Intermediate storage of the program and pixel data and any data fetched from the network can be accomplished using the semiconductor memory 306, possibly in concert RC06 CFP1537AU 482000 [O:\CISRA\RC\RC061482000.doc:SaF with the hard disk drive 312. Intermediate storage of the program and pixel data and any data fetched from the network may be accomplished using the semiconductor memory 306, possibly in concert with the hard disk drive 312.
In some instances, the program can be supplied to the user encoded on a CD-ROM or a floppy disk (both generally depicted by block 312), or alternatively could be read by the user from the network via a modem device connected to the computer, for example. Still further, the software can also be loaded into the computer system 300 from other computer readable medium including magnetic tape, a ROM or integrated circuit, a magneto-optical disk, a radio or infra-red transmission channel between the computer and 10 another device, a computer readable card such as a PCMCIA card, and the Intemrnet and Intranets including email transmissions and information recorded on websites and the like. The foregoing are merely exemplary of relevant computer readable mediums. Other computer readable mediums can be practiced without departing from the scope and spirit of the invention.
15 The foregoing only describes a small number of embodiments of the present invention, however, modifications and/or changes can be made thereto by a person skilled 0o.ooi in the art without departing from the scope and spirit of the invention.
In the context of this specification, the word "comprising" means "including :principally but not necessarily solely" or "having" or "including" and not "consisting only of'. Variations of the word comprising, such as "comprise" and "comprises" have corresponding meanings.
RC06 CFP1537AU482000 [O:\CISRA\RC\RC061482000.doc:SaF
Claims (4)
1. A method of compressing digital image data, the method comprising the steps of: storing a portion of a predetermined number of pixel values of an input image; (ii) calculating a sum of said portion of pixel values; (iii) repeating steps and (ii) a first predetermined number of times; (iv) adding the last calculated sum to the previously calculated sum in order to calculate a partial sum value; storing said partial sum in a predetermined position; (vi) repeating steps to a second predetermined number of times; in order to calculate an overall sum of said predetermined number of pixel values; and (vii) multiplying said overall sum by an attenuating coefficient in order to calculate an average value of said predetermined number of pixel values, wherein said average value is a compressed representation of said predetermined number of pixel S.. values. *o.
2. A method as set forth in claim 1, wherein said steps to (vii) equate to applying oogo.i a filter function to said plurality of pixel values.
3. A method as set forth in claim 2, wherein said filter function is a Boxcar filter.
4. A method as set forth in claim 3, wherein said first predetermined number and said second predetermined number are the dimensions of said boxcar filter. A method as set forth in any one of the preceding claims, wherein said attenuating coefficient is proportional to the inverse of the product of the first and second predetermined numbers.
482000.DOC -11- 6. An apparatus for compressing digital image data, the apparatus comprising: means for storing a portion of a predetermined number of pixel values of an input image; means for calculating a sum of said portion of pixel values; means for calculating a partial sum value; means for storing said partial sum value in a predetermined position; means for calculating an overall sum of said predetermined number of pixel values; and means for multiplying said overall sum by an attenuating coefficient in order to calculate an average value of said plurality of pixel values, wherein said average value is a compressed representation of said predetermined number of pixel values. 7. An apparatus as set forth in claim 6, wherein said means for calculating a sum of said portion of pixel values, said means for calculating a partial sum value and said means S 15 for calculating an overall sum of said predetermined number of pixel values are configured as a single unit. 8. A computer readable memory medium having recorded thereon a computer program for compressing digital image data, said computer program comprising: code for storing a portion of a predetermined number of pixel values of an input image; code for calculating a sum of said portion of pixel values; code for calculating a partial sum value; code for storing said partial sum in a predetermined position; code for calculating an overall sum of said predetermined number of pixel values; and code for multiplying said overall sum by an attenuating coefficient in order to \/-/-,calculate an average value of said plurality of pixel values, wherein said average value is a c4- Iompressed representation of said predetermined number of pixel values. 482000.DOC -12- 9. A method of compressing digital image data, substantially as hereinbefore described with reference to the accompanying drawings. 10. An apparatus for compressing digital image data, substantially as hereinbefore de0scribed with reference to the accompanying drawings. 11. A computer readable medium having recorded theron a computer program for compressing digital image data, said program being substantially as hereinbefore described with reference to the accompanying drawings. DATED this seventh Day of May, 2001 Canon Kabushiki Kaisha Patent Attorneys for the Applicant SPRUSON FERGUSON a. 482000.DOC
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU61741/99A AU735741B2 (en) | 1998-12-18 | 1999-11-29 | Method and apparatus for decimation filtering |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AUPP7800 | 1998-12-18 | ||
AUPP7800A AUPP780098A0 (en) | 1998-12-18 | 1998-12-18 | Method and apparatus for decimation filtering |
AU61741/99A AU735741B2 (en) | 1998-12-18 | 1999-11-29 | Method and apparatus for decimation filtering |
Publications (2)
Publication Number | Publication Date |
---|---|
AU6174199A AU6174199A (en) | 2000-06-22 |
AU735741B2 true AU735741B2 (en) | 2001-07-12 |
Family
ID=25633245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
AU61741/99A Ceased AU735741B2 (en) | 1998-12-18 | 1999-11-29 | Method and apparatus for decimation filtering |
Country Status (1)
Country | Link |
---|---|
AU (1) | AU735741B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0855838A2 (en) * | 1997-01-22 | 1998-07-29 | Canon Information Systems Research Australia Pty Ltd. | A method for digital image compression using Discrete Wavelet Transform DWT |
WO1998037700A1 (en) * | 1997-02-19 | 1998-08-27 | Btg International Limited | Progressive block-based coding for image compression |
WO1998053613A1 (en) * | 1997-05-20 | 1998-11-26 | Motorola Inc. | Apparatus, method and computer readable medium for scalable coding of video information |
-
1999
- 1999-11-29 AU AU61741/99A patent/AU735741B2/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0855838A2 (en) * | 1997-01-22 | 1998-07-29 | Canon Information Systems Research Australia Pty Ltd. | A method for digital image compression using Discrete Wavelet Transform DWT |
WO1998037700A1 (en) * | 1997-02-19 | 1998-08-27 | Btg International Limited | Progressive block-based coding for image compression |
WO1998053613A1 (en) * | 1997-05-20 | 1998-11-26 | Motorola Inc. | Apparatus, method and computer readable medium for scalable coding of video information |
Also Published As
Publication number | Publication date |
---|---|
AU6174199A (en) | 2000-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6397230B1 (en) | Real-time multimedia transmission | |
US8774535B2 (en) | Method and apparatus for compression of multi-sampled anti-aliasing color data | |
CA1292555C (en) | Method for transmitting a high-resolution image over a narrow-band communication channel | |
US6421695B1 (en) | Apparatus for implementing inverse discrete cosine transform in digital image processing system | |
US20060034527A1 (en) | Method for encoding co-ordinates of a video image moving along the display of a computing device | |
JPH07168809A (en) | Method and circuit for conversion of wavelet | |
US6091426A (en) | Integrating data scaling and buffering functions to minimize memory requirement | |
EP0469761A2 (en) | Digital shift register using random access memory | |
CN100473111C (en) | Method and system for enhancing the sharpness of a video signal. | |
US6067124A (en) | Image processing apparatus and processing method | |
US5699459A (en) | Image compression device and a method of image compression | |
US6553153B1 (en) | Method and apparatus for reducing video data | |
US6047091A (en) | Low latency architecture for spatial filtration | |
AU735741B2 (en) | Method and apparatus for decimation filtering | |
CN101116344A (en) | Method and device for modifying the size of an image | |
US6288794B1 (en) | Variable sample rate converter adaptable to rational ratios | |
Lafruit et al. | The local wavelet transform: a memory-efficient, high-speed architecture optimized to a region-oriented zero-tree coder | |
AU2007219336B8 (en) | Method and apparatus for abitrary ratio image reduction | |
JP3133161B2 (en) | Digital two-dimensional filter and two-dimensional finite impulse response (FIR) filter | |
WO2003056837A1 (en) | Method for resizing images in block dct domain | |
EP1563679B1 (en) | Method for resizing images using the inverse discrete cosine transform | |
US8064709B2 (en) | Method and apparatus for buffering output pixel data of a joint photographic experts group image | |
US7835584B1 (en) | Method and apparatus for processing video data | |
AU736359B2 (en) | Image interpolation with a continuous 2-dimensional kernel | |
US8452827B2 (en) | Data processing circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FGA | Letters patent sealed or granted (standard patent) |