This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2003-031569, filed on Feb. 7, 2003, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
This invention relates to an image processing device and an image processing method to convert or detect images by performing a predetermined processing of a two-dimensional image.
2. Description of the Related Art
Conventionally, in order to convert or detect images by processing a two-dimensional image, processing is performed for each pixel one by one, in which data of plural pixels surrounding a certain pixel are processed.
Specifically, as shown in
However, the above-described image processing method, in which computational processing is performed for each of all necessary pixels, results in extremely large volume of computations and extremely high computational burden and power consumption. More specifically, in each time the calculation processing is performed, a necessary pixel data has to be transferred from a storage to a processor, and all data on the plural neighboring pixels in the kernel have to be downloaded. In addition, when the kernel scans throughout the two-dimensional image, the same pixel is repeatedly accessed, which is a serious problem.
In order to solve the above-described problems, the present invention is achieved, aiming at providing an image processing device and an image processing method to allow image processing without loss using relatively simple combination of equipment, in an extremely short time, and with low power consumption.
The image processing device according to the present invention performs image processing, in which a two-dimensional image is composed of a group of pixel data which are a matrix of plural pixel data, and includes a plurality of storages and a calculator. The storage is structured in such a manner that the group of pixel data are divided into small blocks formed of the plural pixel data described above, and the plural small blocks further form a large block, in each of which each small block is defined and arranged by certain rules, each of such small blocks located according to the rules stores the pixel data independently, and by specifying an address assigned to each of such small blocks, the plural pixel data within the small block can be simultaneously read out. The calculator multiplies the pixel data, which is included in each of the small blocks composing the one large block and read out from the plural storages, by the coefficient matrix which is rearranged into a predetermined order.
The image processing method according to the present invention is a method to perform image processing in which a two-dimensional image is formed of a group of pixel data which are a matrix of plural pixel data. In the method, the group of pixel data are divided into small blocks formed of the plural pixel data described above, and the plural small blocks further form a large block, in each of which each small block is defined and arranged by rules, each of such small block located according to the rules stores the pixel data independently in each storage, and by specifying an address assigned to each of such small blocks, the plural pixel data within the small block can be simultaneously read out from the storage. Here, the pixel data, which are included in each of the small blocks composing the one large block and read out from the plural storages, are multiplied by the coefficient matrix rearranged into a predetermined order, and summed up.
The preferred embodiments of the present invention will now be described with reference to the drawings.
As shown in
Subsequently, as shown in
It should be noted that equivalent bits of each of pixel data forming a small block in each memory cell are preferably arranged close together to be added up at the time of adding operation described later. In this way, the number of wires in the adding section 13 can be reduced. In addition, by further dividing each memory cell into groups therein, the read-out speed can be further enhanced. Furthermore, upon the read-out of each pixel data, bit length of pixel data can be modified by masking certain bids thereof.
On the other hand, as shown in
The kernel register 21 includes a coefficient matrix which corresponds to a part of a group of pixel data of a two-dimensional image, forming a kernel C1. The coefficient matrix is formed of predetermined coefficients, which are three coefficients of −1, 0, and 1 in the case hereof, one example of which is shown in
It is noted that multiplication of −1 (subtraction) uses twos complement, and calculation using twos complement is achieved by adding a bit-flipping of a pixel data having coefficient of −1, and adding the number of −1s to an appropriate bit position of the result of the addition.
When image processing is performed for a large block formed of 2.times.2 small blocks, each thereof further formed of 4.times.4 pixels, where data of pixels in the large block are multiplied by coefficients, for example, pixel data rows of the small blocks Aij, Bij, Cij, and D1j are read out respectively from the SRAMs A, B, C, and D, and multiplied by coefficients forming kernel C1, as shown in
The above-described computation process is performed for each pixel by the kernel register 21 which rearranges the coefficients into a predetermined order, that is to say, shifts the kernel C1 by corresponding them to the pixel data within the large block. In other words, the addresses of the SRAMs A to D are not modified during the series of the computation proceedings, and each pixel data row read out from the SRAMs A to D (pixel data rows of 64 pixels altogether forming the large block) remains constant, whilst the coefficient matrix is converted. Accordingly, for example, the computation by shifting the kernel C1 as shown in
As described above, upon the computational processing performed to each of all the necessary pixels, the image processing unit according to the present embodiment causes just one-time access to each pixel data in each large block, and computed results for all the necessary pixels can be obtained without modifying addresses of memory cells and simply by shifting the coefficient matrix. In this way, a high-speed processing of extremely high efficiency can be attained.
In the following, an optimal relationship between the size of a kernel and small/large blocks will be described.
As shown in
n1≦m1(l1−1)+1
and
n2≦m2(l2−1)+1.
In the example of
The results of multiplication thus obtained for each pixel data are added up for each memory cell in the adding section 13 provided in the neighborhood of each memory cell. Hence, each adding section 13 obtaining each computed result enables transfer of just compressed partway results. Since data volume of a coefficient is less than that of a pixel in general, the entire traffic of data can be reduced such that pixel data are not transferred from memory cell, but coefficients are transferred to memory cell and only the result computed and compressed in the neighborhood of the memory cell is transferred back from the memory cell.
For example, as shown in
The result of the above computation is as follows:
Subsequently, the computed results in each adding section 13 are added up in the entire adding section 14 to obtain a sum, which is outputted as a result of the computation proceeding of a certain pixel data.
It should be noted that whilst the coefficient matrix of the kernel C1 is configured as shown in
The image processing device and image processing method of the present invention can thus process images without loss using relatively simple combination of equipment, in an extremely short time, and with low power consumption.
The present embodiments are to be considered in all respects as illustrative and no restrictive, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. The invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof.
Number | Date | Country | Kind |
---|---|---|---|
2003-031569 | Feb 2003 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
4947446 | Jutand et al. | Aug 1990 | A |
5029226 | Klein et al. | Jul 1991 | A |
5140532 | Beckwith et al. | Aug 1992 | A |
5168375 | Reisch et al. | Dec 1992 | A |
5305398 | Klein et al. | Apr 1994 | A |
5321522 | Eschbach | Jun 1994 | A |
5495538 | Fan | Feb 1996 | A |
5673214 | Kim et al. | Sep 1997 | A |
5748792 | Wober | May 1998 | A |
5903672 | Yu | May 1999 | A |
6052488 | Takahashi et al. | Apr 2000 | A |
6311258 | Gibson et al. | Oct 2001 | B1 |
20050276505 | Raveendran | Dec 2005 | A1 |
Number | Date | Country | |
---|---|---|---|
20040172436 A1 | Sep 2004 | US |