IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
UP-0007142
(2004-12-08)
|
등록번호 |
US-7634159
(2009-12-24)
|
발명자
/ 주소 |
- Dwyer, Malcolm R.
- Crenshaw, James E.
- Li, Zhiyuan
|
출원인 / 주소 |
|
인용정보 |
피인용 횟수 :
0 인용 특허 :
5 |
초록
▼
An array transform system for parallel computation of a plurality of elements of an array transform includes a memory for storing an array of data elements. Each column of data elements from the memory is copied to a shifter that shifts the column of data elements in accordance with a shift value to
An array transform system for parallel computation of a plurality of elements of an array transform includes a memory for storing an array of data elements. Each column of data elements from the memory is copied to a shifter that shifts the column of data elements in accordance with a shift value to produce a shifted column of data elements. The shifted columns of data elements are accumulated in a plurality of accumulators, with each accumulator producing an element of the array transform. A controller controls the shift value dependent upon the position of the column of data elements in the array of data elements.
대표청구항
▼
What is claimed is: 1. An array transform system for parallel computation of a plurality of elements of an array transform, the array transform system comprising: a memory for storing an array of data elements, the array comprising a plurality of columns of data elements; a single shifter operable
What is claimed is: 1. An array transform system for parallel computation of a plurality of elements of an array transform, the array transform system comprising: a memory for storing an array of data elements, the array comprising a plurality of columns of data elements; a single shifter operable to receive, in turn, each column of data elements from the memory and produce a series of shifted columns of data elements in accordance with a shift value for each column of data elements; a plurality of accumulators, each accumulator operable to add a series of data elements at one position of the series of shifted columns of data elements to an accumulated value for the one position of the series of shifted columns of data elements to produce an element of the array transform; and a controller operable to control the shift values dependent upon the position of the column of data elements in the array of data elements. 2. An array transform system in accordance with claim 1, wherein the data elements of the array comprise binary elements and wherein an accumulator of the plurality of accumulators comprises a counter. 3. An array transform system in accordance with claim 1, wherein the controller is further operable to search the plurality of elements of the array transform to find the one or more largest elements. 4. An array transform system in accordance with claim 1, wherein the controller is further operable to set the shift value dependent upon the position of the column of data elements within the array of data elements and dependent upon a transform parameter. 5. An array transform system in accordance with claim 1, wherein the shifter comprises an N-bit barrel shifter comprising: a first reversal layer comprising N multiplexers, the first reversal layer being operable to produce a second column of data elements by passing a first column of data elements when the shift value indicates a shift in a first direction and reversing the order of the column of data elements when the shift value indicates a shift in a second direction; and M shifting layers, where M is an integer no less than log2(N), an mthshifting layer being operable to pass or shift a column of data elements by an amount dependent upon the shift value, wherein the first shifting layer of the M shifting layers is operable to receive the second column of data elements. 6. An array transform system in accordance with claim 5, wherein the mth shifting layer comprises N-2m multiplexers and 2m logical AND units and is operable to shift a column of data elements by 2m places. 7. An array transform system in accordance with claim 5, wherein the mth shifting layer comprises N multiplexers and is operable to rotate a column of data elements by 2m places. 8. An array transform system in accordance with claim 5, further comprising: a second reversal layer comprising N multiplexers, the second reversal layer being operable to receive a shifted column of data elements from the M shifting layers and to pass the shifted column of data elements if the shift value is in the first direction and to reverse the order of the shifted column of data elements if the shift value is in the second direction. 9. A method for using a single column shifter and a plurality of accumulators to calculate a plurality of elements of an array transform of an array of data elements stored in a memory, the method comprising: selecting a transform parameter; for each column of data elements of the array of data elements in turn: copying the column of data elements into the single column shifter; shifting the column of data elements in accordance with a shift value to obtain a shifted column of data elements and adding each data element of the shifted column of data elements to a corresponding accumulated value stored in an accumulator of the plurality of accumulators to produce a plurality of accumulated values; and outputting the plurality of accumulated values as the plurality of elements of the array transform. 10. A method in accordance with claim 9, further comprising, for each column of data elements of the array of data elements in turn: setting the shift value dependent upon the position of the column of data elements within the array of data elements and the transform parameter. 11. A method in accordance with claim 10, wherein the shift value for column with index x is the nearest integer to a product of x with the transform parameter. 12. A method in accordance with claim 9, further comprising searching the plurality of elements of the array transform to identify one or more largest accumulated values. 13. A method in accordance with claim 9, wherein the transform parameter is the slope of a straight line primitive. 14. A method in accordance with claim 9, wherein the transform parameter is the angle between a reference axis and a line perpendicular to a straight line primitive. 15. A method in accordance with claim 9, wherein the array transform is a transform selected from the group consisting of a Hough transform, a discrete Radon transform and a slant stack transform. 16. A method in accordance with claim 9, wherein the shift value for each column is selected to shift data elements closest to a primitive in the array of data elements to a row in an array formed by the shifted columns of data elements. 17. A method for using a single barrel shifter and a plurality of accumulators to calculate an array transform of an array of data elements, the method comprising: storing the array of data elements in a memory; for each first transform parameter of a first plurality of transform parameters; for each column of data elements of the array of data elements in turn: copying the column of data elements into the single barrel shifter; shifting the column of data elements in accordance with a first shift value to obtain a shifted column of data elements; and adding each data element of the shifted column of data elements to a corresponding accumulated value stored in an accumulator of the plurality of accumulators to produce a plurality of accumulated values; and outputting the plurality of accumulated values as a first plurality of elements of the array transform; storing a transpose of the array of data elements in the memory; for each second transform parameter of a second plurality of transform parameters; for each column of data elements of the transpose of the array of data elements in turn: copying the column of data elements into the single barrel shifter; shifting the column of data elements in accordance with a second shift value to obtain a shifted column of data elements; and adding each data element of the shifted column of data elements to a corresponding accumulated value stored in an accumulator of the plurality of accumulators to produce a plurality of accumulated values; and outputting the plurality of accumulated values as a second plurality of elements of the array transform. 18. A method in accordance with claim 17, further comprising: setting the first shift value dependent upon the position of the column of data elements within the array of data elements and the first transform parameter; and setting the second shift value dependent upon the position of the column of data elements within the transpose of the array of data elements and the second transform parameter. 19. A method in accordance with claim 17, further comprising searching the first and second pluralities of elements of the array transform to identify one or more largest elements. 20. A method for using a single shifter and a plurality of accumulators to calculate a plurality of elements of an array transform of an array of data elements stored in a memory, the method comprising: selecting a transform parameter corresponding to a transform primitive; storing the array of data elements in a memory; for each column of data elements of the array of data elements in turn: copying the column of data elements into the shifter; shifting the column of data elements in accordance with a first shift value, determined by a first section of the transform primitive, to obtain a first shifted column of data elements; and adding each data element of the first shifted column of data elements to a corresponding accumulated value stored in an accumulator of the plurality of accumulators to produce a first plurality of elements of the array transform; storing a rotation of the array of data elements in a memory: for each column of data elements of the rotation of the array of data elements in turn: copying the column of data elements into the shifter: shifting the column of data elements in accordance with a second shift value, determined by a second section of the transform primitive, to obtain a second shifted column of data elements; and adding each data element of the second shifted column of data elements to a corresponding accumulated value stored in an accumulator of the plurality of accumulators to produce a second plurality of elements of the array transform; and adding at least one term of the first plurality of elements of the array transform and at least one term of the second plurality of elements of the array transform that correspond to sections of the same transform primitive. 21. A method in accordance with claim 17, wherein the first plurality of transform parameters relate to primitives having substantially horizontal arcs and the second plurality of transform parameters relate to primitives having substantially vertical arcs. 22. A method in accordance with claim 20, wherein the first plurality of transform parameters relate to primitives having substantially horizontal arcs and the second plurality of transform parameters relate to primitives having substantially vertical arcs.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.