Adaptive Tiles for Geometric Correction
US-2021042890-A1 · Feb 11, 2021 · US
US11270416B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11270416-B2 |
| Application number | US-201916728470-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 27, 2019 |
| Priority date | Dec 27, 2019 |
| Publication date | Mar 8, 2022 |
| Grant date | Mar 8, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A geometric correction system and method for performing geometric correction of a distorted image in an input frame to provide a corrected image in an output frame including a local memory, geometric correction circuitry, a tile reader, and a descriptor memory storing multiple tile descriptors. The tile reader retrieves distorted tile data from the input frame into the local memory for one corrected tile group at a time according to a corresponding tile descriptor. Each tile descriptor identifies distorted tile data to retrieve and distorted tile data to skip from the local memory for the corresponding corrected tile group. The tile descriptor includes a descriptor for each row of local memory area identifying data to be read and data to be skipped for each row. Only the data needed for one or more target tiles is read to reduce memory transfer bandwidth overhead.
Opening claim text (preview).
The invention claimed is: 1. A processing system that includes a geometric correction system that performs geometric correction of a distorted image in an input frame comprising a matrix of distorted tiles to provide a corrected image in an output frame comprising a matrix of corrected tiles, the geometric correction system comprising: a local memory; geometric correction circuitry that performs geometric correction on distorted tile data stored in the local memory; a tile reader that retrieves distorted tile data from the input frame into the local memory for one corrected tile group at a time according to a corresponding one of a plurality of tile descriptors, wherein each corrected tile group comprises at least one corrected tile; and a descriptor memory that stores the plurality of tile descriptors in which each tile descriptor identifies distorted tile data to retrieve from the local memory for a corresponding corrected tile group and identifies distorted tile data not to retrieve for the corresponding corrected tile group. 2. The processing system of claim 1 , wherein the local memory has a size sufficient to store a largest distorted tile in the input frame. 3. The processing system of claim 1 , wherein the input frame and the output frame are read from or stored into an external memory in bursts. 4. The processing system of claim 1 , wherein each corrected tile has a size of 64×64 pixels. 5. The processing system of claim 1 , wherein the distorted tile data comprises a matrix of bursts, and wherein each tile descriptor identifies which bursts to read and which bursts to skip from the input frame for a corresponding corrected tile group. 6. The processing system of claim 5 , wherein each burst comprises 64 bytes of data. 7. The processing system of claim 5 , wherein each tile descriptor comprises a category value and a column identifier for each row of the matrix of bursts which identifies which bursts to read and which bursts to skip. 8. The processing system of claim 5 , wherein each tile descriptor comprises a category value and a column identifier for each of a plurality of rows of the matrix of bursts, wherein the category value comprises a first value for skipping an entire row of bursts, a second value for skipping up to a column identified by the column identifier and reading remaining bursts in a row, a third value for reading bursts up to a column identified by the column identifier and skipping remaining bursts in a row, and a fourth value for reading an entire row of bursts. 9. The processing system of claim 5 , wherein each descriptor entry comprises a category value, a column identifier and a number value for each of a plurality of rows of the matrix of bursts, wherein the category value comprises a first value for skipping an entire row of bursts, a second value for skipping up to a column identified by the column identifier and reading remaining bursts in a row, a third value for reading bursts up to a column identified by the column identifier and skipping remaining bursts in a row, a fourth value for reading an entire row of bursts, and a fifth value for skipping up to a column identified by the column identifier, then for reading a number of bursts identified by the number value, and then for skipping remaining bursts in the row. 10. A method of retrieving a distorted image from an input frame comprising a matrix of distorted tiles into a local memory for performing geometric correction, the method comprising: aligning a local memory area within the input frame to include distorted tile data for generating a corresponding one of a matrix of corrected tile groups wherein each corrected tile group comprises at least one corrected tile; and reading the distorted tile data from the local memory area of the input frame using a corresponding one of a plurality of tile descriptors, wherein each tile descriptor identifies distorted tile data to retrieve from the local memory area and identifies distorted tile data not to retrieve from the local memory area for the corresponding corrected tile group. 11. The method of claim 10 , further comprising repeating the aligning and reading for each corrected tile group of the matrix of corrected tile groups. 12. The method of claim 10 , further comprising selecting a size of the local memory and corresponding local memory area to store a largest distorted tile of the input frame. 13. The method of claim 10 , wherein said aligning comprises aligning the local memory area to include distorted tile data for a maximum number of corrected tiles. 14. The method of claim 10 , wherein said aligning comprises aligning the local memory area to include left-most shifted distorted tile data for a target correct tile. 15. The method of claim 10 , wherein said aligning comprises aligning the local memory area to include right-most shifted distorted tile data for a target correct tile. 16. The method of claim 10 , wherein said reading the distorted tile data comprises reading the distorted tile data in bursts from the local memory area comprising a matrix of bursts, and wherein each tile descriptor identifies which bursts to read and which bursts to skip from the local memory area of the input frame. 17. The method of claim 16 , wherein each tile descriptor comprises a category value and a column identifier for each row of the matrix of bursts, and wherein said reading the distorted tile data comprises using a corresponding category value and a corresponding column identifier for determining which bursts to read and which bursts to skip for each corresponding row of the matrix of bursts. 18. The method of claim 16 , wherein each tile descriptor comprises a category value, a column identifier, and a number value for each row of the matrix of bursts, and wherein said reading the distorted tile data comprises using a corresponding category value, a corresponding column identifier, and a corresponding number value for determining which bursts to read and which bursts to skip for each corresponding row of the matrix of bursts. 19. The method of claim 16 , wherein each tile descriptor comprises a category value and a column identifier for each of a plurality of rows of the matrix of bursts, wherein said reading the distorted tile data comprises skipping an entire row of bursts when the category value comprises a first value, wherein said reading the distorted tile data comprises skipping up to a column identified by the column identifier and reading remaining bursts in a row when the category value comprises a second value, wherein said reading the distorted tile data comprises reading bursts up to a column identified by the column identifier and skipping remaining bursts in a row when the category value comprises a third value, and wherein said reading the distorted tile data comprises reading an entire row of bursts when the category value comprises a fourth value. 20. The method of claim 16 , wherein each tile descriptor comprises a category value, a column identifier, and a number value for each of a plurality of rows of the matrix of bursts, wherein said reading the distorted tile data comprises skipping an entire row of bursts when the category value comprises a first value, wherein said reading the distorted tile data comprises skipping up to a column identified by the column identifier and reading remaining bursts in a row when the category value comprises a second value, wherein said reading the distorted tile data comprises reading bursts up to a column identified by the column iden
Related publications grouped by family.
Answers are generated from the same data shown on this page.