Neural network system including data moving controller
US-2020133854-A1 · Apr 30, 2020 · US
US12530733B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12530733-B2 |
| Application number | US-202117926966-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 26, 2021 |
| Priority date | May 22, 2020 |
| Publication date | Jan 20, 2026 |
| Grant date | Jan 20, 2026 |
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.
Provided are an image data storage method, an image data processing method and system, and a related apparatus. The image data processing method includes the following steps: sequentially storing image data in a dynamic random memory according to a preset storage format, so that adjacent pieces of image data in the dynamic random memory have continuous storage addresses; reading a preset number of pieces of multi-channel parallel image data from the dynamic random memory, and storing the multi-channel parallel image data in a first-in first-out memory of an FPGA; and executing a convolution operation on target image data in the first-in first-out memory to obtain image feature data. By means of the method, the image data processing rate can be increased.
Opening claim text (preview).
The invention claimed is: 1 . An image data storage method, comprising: receiving an image storage instruction; determining image data and a dynamic random memory according to the image storage instruction; and sequentially storing the image data in the dynamic random memory according to a preset storage format, to make that adjacent pieces of image data in the dynamic random memory have continuous storage addresses; wherein sequentially storing the image data in the dynamic random memory according to the preset storage format comprises: determining a storage start position of the dynamic random memory, and from the storage start position, sequentially storing the image data to the dynamic random memory along a channel direction, wherein the storage start position comprises a channel height coordinate and a channel width coordinate; determining whether the channel width coordinate of the storage start position is greater than a width maximum value; under the condition that the channel width coordinate of the storage start position is greater than the width maximum value, detecting that all the channel directions corresponding to the storage start position are fully occupied for storage, and in response to detecting that all the channel directions corresponding to the storage start position are fully occupied for storage, adding 1 to the channel height coordinate of the storage start position, setting the channel width coordinate of the storage start position to be 0 to obtain a new storage start position, and from the new storage start position, sequentially storing remaining pieces of image data to the dynamic random memory along the channel direction; and under the condition that the channel width coordinate of the storage start position is not greater than the width maximum value, detecting that all the channel directions corresponding to the storage start position are fully occupied for storage, and in response to detecting that all the channel directions corresponding to the storage start position are fully occupied for storage, adding 1 to the channel width coordinate of the storage start position to obtain a new storage start position, and from the new storage start position, sequentially storing remaining pieces of image data to the dynamic random memory along the channel direction; after sequentially storing the image data in the dynamic random memory according to the preset storage format, further comprising: under the condition that the data read instruction is received, determining target data according to a data read instruction, wherein the target data is multi-channel parallel image data; and transferring the target data to a first-input first-output memory of a field programmable gate array. 2 . An image data processing method, comprising: sequentially storing image data in a dynamic random memory according to a preset storage format, to make that adjacent pieces of image data in the dynamic random memory have continuous storage addresses; reading a preset number of multi-channel parallel image data from the dynamic random memory, and storing the multi-channel parallel image data to a first-input first-output memory of a field programmable gate array; and subjecting the target image data in the first-input first-output memory to a convolution operation to obtain image feature data; wherein sequentially storing image data in the dynamic random memory according to the preset storage format comprises: determining a storage start position of the dynamic random memory, and from the storage start position, sequentially storing the image data to the dynamic random memory along a channel direction, wherein the storage start position comprises a channel height coordinate and a channel width coordinate; determining whether the channel width coordinate of the storage start position is greater than a width maximum value; under the condition that the channel width coordinate of the storage start position is greater than the width maximum value, detecting that all the channel directions corresponding to the storage start position are fully occupied for storage, and in response to detecting that all the channel directions corresponding to the storage start position are fully occupied for storage, adding 1 to the channel height coordinate of the storage start position, setting the channel width coordinate of the storage start position to be 0 to obtain a new storage start position, and from the new storage start position, sequentially storing remaining pieces of image data to the dynamic random memory along the channel direction; and under the condition that the channel width coordinate of the storage start position is not greater than the width maximum value, detecting that all the channel directions corresponding to the storage start position are fully occupied for storage, and in response to detecting that all the channel directions corresponding to the storage start position are fully occupied for storage, adding 1 to the channel width coordinate of the storage start position to obtain a new storage start position, and from the new storage start position, sequentially storing remaining pieces of image data to the dynamic random memory along the channel direction; wherein reading a preset number of multi-channel parallel image data from the dynamic random memory comprises: determining a memory read address in a present round, and reading the preset number of multi-channel parallel image data according to the memory read address in the present round; and reading a preset number of multi-channel parallel image data from the dynamic random memory further comprises: calculating a memory read address in a next round according to the memory read address in the present round; and after the first-input first-output memory of the field programmable gate array is ready, according to the memory read address in the next round, reading a preset number of multi-channel parallel new image data, and storing the multi-channel parallel new image data to the first-input first-output memory of the field programmable gate array. 3 . The image data processing method according to claim 2 , wherein reading the preset number of multi-channel parallel image data according to the memory read address in the present round comprises: taking the memory read address in the present round as a first start address, and calculating a second start address and a third start address according to the first start address and a data read length; reading a preset number of multi-channel parallel first image data according to the first start address; reading a preset number of multi-channel parallel second image data according to the second start address; and reading a preset number of multi-channel parallel third image data according to the third start address. 4 . The image data processing method according to claim 3 , wherein the multi-channel parallel image data is 3*11 multi-channel image data; and subjecting the target image data in the first-input first-output memory to a convolution operation to obtain image feature data comprises: converting the 3*11 multi-channel image data in the first-input first-output memory into 9*9 multi-channel image data; and subjecting the 9*9 multi-channel image data to the convolution operation using a 3*3 convolution kernel to obtain the image feature data. 5 . The image data processing method according to claim 4 , when converting the 3*11 multi-channel image data in the first-input first-output memory into the 9*9 multi-channel image data, further comprising: controlling a state machine to perform an operation of reading parity data at a same time to remove invalid intervals generated when the 3*11 multi-channel image data is converted into the 9*9 multi-channel image data.
using neural networks · CPC title
using electronic means · CPC title
Convolutional networks [CNN, ConvNet] · CPC title
Combinations of networks · CPC title
using static stores, e.g. storage tubes or semiconductor memories (H04N5/91 takes precedence) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.