摘要 |
A 3-by-3 convolver utilizes 9 binary arithmetic units (10) connected in cascade for multiplying 12-bit binary pixel values pi which are positive or two's complement binary numbers by 5-bit magnitude (plus sign) weights wi which may be positive or negative. The weights are stored in registers (13, 14 and 15) including the sign bits (shown separately for convenience). For a negative weight, the one's complement of the pixel value to be multiplied is formed at each unit by a bank of exclusive OR gates under control of the sign of the corresponding weight wi, and a correction is made by adding the sum of the absolute values of all the negative weights for each 3x3 kernel. Since this correction value remains constant as long as the weights are constant, it can be precomputed and stored in a register (16) as a value to be added to the product PW of the first arithmetic unit.
|