CN100366068C - 一种节省存储空间的存储处理方法 - Google Patents
一种节省存储空间的存储处理方法 Download PDFInfo
- Publication number
- CN100366068C CN100366068C CNB2004100034343A CN200410003434A CN100366068C CN 100366068 C CN100366068 C CN 100366068C CN B2004100034343 A CNB2004100034343 A CN B2004100034343A CN 200410003434 A CN200410003434 A CN 200410003434A CN 100366068 C CN100366068 C CN 100366068C
- Authority
- CN
- China
- Prior art keywords
- data
- image
- memory
- original image
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 10
- 230000015654 memory Effects 0.000 claims abstract description 52
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000013500 data storage Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000005039 memory span Effects 0.000 description 1
Images
Landscapes
- Image Input (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及图像处理领域,并具体的公开了一种节省存储空间的存储处理方法。本发明的存储处理方法包括步骤:(1).先将原图像的前8行图像数据写入双口存储器;(2).在已存入前8行图像数据的双口存储器中,找到原图像中第一个8*8模块所处的存储位置,读出相应数据,并在每读出一个数据的同时,将原图像中后续未处理行的图像数据顺序写入这些已经被读出图像数据的存储位置中;(3).在已存入前8行图像数据的双口存储器中,找到原图像中下一个8*8模块所处的存储位置,读出相应数据;并在每读出一个数据的同时,将原图像中后续未处理行的图像数据顺序写入这些已读出数据的存储位置;(4).判断图像是否处理完毕,若为否,则回到步骤(3),否则,结束。
Description
技术领域
本发明涉及图像处理领域,具体地说,是涉及一种节省存储空间的存储处理方法。本发明的方法包括步骤:
背景技术
在图像处理电路中,如JPEG(联合图象专家组)压缩电路,数据在压缩时不是顺序输入FDCT(正向离散余弦变换器),而是以8*8块的方式输入FDCT。于是有一个电路,这里我们称为转换电路,来完成数据的这种格式转换。通常数据是以一帧为单位,一行一行连续输入转换电路的。在第一个8行数据输入后,便要求转换电路开始将存入的数据按块读出,即要求转换电路在按行输入数据的同时按块输出数据。如图1所示,转换电路的功能一般是用两个单口存储器以乒乓结构的方式来完成。当一个存储器写入数据时,另一个存储器被用于按块读出已存入的8行数据。
以图像宽度为160点为例,为便于说明,每8个横向数据用一个mcu(小单元)代表,图2示出了8行数据存储位置的示意图,每一坐标代表1个mcu的存储位置。mcu内8个点的实际存储位置用mcu的存储位置乘以8,然后依序加0,1,2,…7得到。图3、4、5示出按块读取已存入的8行数据。交替循环,直到全部数据处理完。
由此可见,这种采用乒乓结构的方法,即两块单口存储器轮流读写,占用芯片体积太大。
发明内容
本发明的目的是为了提供一种节省存储空间的存储处理方法。本发明使现有技术的读写电路结构简单化,仅采用一个双口存储器,存储容量是乒乓结构存储容量一半的电路结构。
为达到上述目的,提供方案如下:
一种节省一半存储空间的存储算法,包括步骤:
(1)、先将原图像的前8行图像数据写入双口存储器;
(2)、在已存入前8行图像数据的双口存储器中,找到原图
像中第一个8*8模块所处的存储位置,读出相应数据,并在每读出一个数据的同时,将原图像中后续未处理行的图像数据顺序写入这些已经被读出图像数据的存储位置中;
(3)、在已存入前8行图像数据的双口存储器中,找到原图像中下一个8*8模块所处的存储位置,读出相应数据;并在每读出一个数据的同时,将原图像中后续未处理行的图像数据顺序写入这些已读出数据的存储位置;
(4)、判断图像是否处理完毕,若为否,则回到步骤3,否则,结束。
本发明所述的存储算法,在步骤(1)中,进行写操作时,不进行读取操作。
本发明所述的存储算法,在步骤(1)中,写入数据时可以是顺序写入的。
与现有技术相比,本发明的优点在于:
利用本发明的存储算法,可以简化读写电路,即只利用一个双口存储器取代原来的两个单口存储器,使芯片的体积减小。
本实发明的目的、特点及优点将结合实施例,参照附图作进一步的说明。
附图说明
图1是乒乓结构的转换电路。
图2是采用乒乓结构的转换电路时,8行图像数据顺序写入一个存储器的情况。
图3是采用乒乓结构的转换电路时,8行图像数据的第一个8*8块被读出的情况。
图4是采用乒乓结构的转换电路时,8行图像数据的第二个8*8块被读出的情况。
图5是采用乒乓结构的转换电路时,8行图像数据的最后一个8*8块被读出的情况。
图6是本发明算法采用的转换电路图。
图7是图像宽度为160点时,前8行图像数据顺序输入的情况。
图8是本发明算法N=0时图像数据存储读取位置。
图9是本发明算法N=1时图像数据存储读取位置。
图10是本发明算法N=2时图像数据存储读取位置。
具体实施方式
参照附图6,是本发明所述算法应用的转换电路电路图,这里仅用一个双口存储器代替了原来的两个单口存储器。
参照附图7,数据第一次写入存储器的位置存在等差数列的规律:行方向是差值为1的等差数列,定为Hstep;行方向上的数据个数是20,定为Hwidth;而列方向是差值为Hstep*Hwidth=20的等差数列,定为Vstep。两列数据首尾亦是差值为Vstep的等差数列,只不过当数列的值超出域值(Threshold=Hwidth*8-1)时,和域值相减取差值。因此,数据在存储器的位置存在横向、纵向的等差数列的规律。利用这个规律,当第n次数据写入存储器时,我们按横向等差数列Hstep(n)计算分配存储地址,然后数据在列方向便有以Vstep(n)=Hstep(n)*Hwidth为规律的等差数列分布,我们读取数据的同时可以完成n+1次的数据写入,n+1次写入的数据将按照Hstep(n+1)=Vstep(n)的步长做横向等差数列排列,如此循环,即可实现仅仅利用一个存储器完成8行数据的同时读写。
现以图像宽度为160点为例做8×8的块读取,先定义几个参数,每8个横向数据用一个mcu(小单元)代表;L为一行中mcu的个数;N为读或写8行的次数;Wrt_Step(N)表示第N次8行数据写入时地址计算步长;Rd_Step(N)表示第N次8行数据读出时地址计算步长。因为是按8×8的模块读取,Hwidth=20,L=20。如图7所示,N=0:Wrt_Step(N)=1,Rd_Step(0)=20。数据首先以Wrt_Step=1顺序存入,数据存储的位置与数据在原始图像中的位置一致。如图所示,第2行输入数据的第1个mcu存储位置是20,Rd_Step(0)=20.因此读出的第一个8×8的块是存储地址为(0,20,40,60,80,100,120,140)的mcu。第二个8×8的块是存储地址为(1,21,41,61,81,101,121,141)的mcu……。
如图8所示,N=1:Wrt_Step(1)=Rd_Step(0)=20。第1个mcu的数据存在地址0-7的单元中,第2个mcu的数据存在20*8~20*8+7的单元中……。如图所示,第2行输入数据的第1个mcu存储位置是82,Rd_Step(1)=82.因此读出的第一个8×8的块是存储地址为(0,82,5,87,10,92,15,97)的mcu。第二个8×8的块是存储地址为(20,102,25,107,30,112,35,117)的mcu……。
如图9所示,N=2:Wrt_Step(N)=82,Rd_Step(N)=50。
如图所示,利用此算法,在从同一存储器读出旧数据的后可以马上写入新的数据,充分利用双口存储器的两套输入输出端口完成两个乒乓结构的存储器的功能,节省存储器容量。
其实数据的等差数列排列规律对数据的行数(m)无限定,m>=2即可。不同的数据行数(m)对应不同的域值(Threshold=Hwidth*m-1)。因此,此算法并不局限于8×8的图像的存取,只要是图像数据的横存竖取,都可利用此规律。只是对于axa的块图像操作,要保证图像存储行数就是a行,横向a个数据作为1个地址计算单元(mcu)计算,以免横向一个mcu中的a个点被打散。
本发明所述的一种节省存储空间的存储处理方法,并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明之领域,对于熟悉本领域的人员而言可容易地实现另外的优点和进行修改,因此在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明并不限于特定的细节、代表性的设备和这里示出与描述的图示示例。
Claims (3)
1.一种节省存储空间的存储处理方法,包括步骤:
(1)、先将原图像的前8行图像数据写入双口存储器;
(2)、在已存入前8行图像数据的双口存储器中,找到原图像中第一个8*8模块所处的存储位置,并读出相应数据,并在每读出一个数据的同时,将原图像中后续未处理行的图像数据顺序写入这些已经被读出图像数据的存储位置中;
(3)、在已存入前8行图像数据的双口存储器中,找到原图像中下一个8*8模块所处的存储位置,读出相应数据;并在每读出一个数据的同时,将原图像中后续未处理行的图像数据顺序写入这些已读出数据的存储位置;
(4)、判断图像是否处理完毕,若为否,则回到步骤(3),否则,结束;
其中,对于8*8的块图像操作,要保证图像存储行数就是8行,横向8个数据作为一个地址计算单元。
2.根据权利要求1所述的存储处理方法,其特征在于:在步骤(1)中进行写操作时,不进行读取操作。
3.根据权利要求1所述的存储处理方法,其特征在于:在步骤(1)中,写入数据时是顺序写入的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100034343A CN100366068C (zh) | 2004-03-09 | 2004-03-09 | 一种节省存储空间的存储处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100034343A CN100366068C (zh) | 2004-03-09 | 2004-03-09 | 一种节省存储空间的存储处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1668092A CN1668092A (zh) | 2005-09-14 |
CN100366068C true CN100366068C (zh) | 2008-01-30 |
Family
ID=35038941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100034343A Expired - Fee Related CN100366068C (zh) | 2004-03-09 | 2004-03-09 | 一种节省存储空间的存储处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100366068C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992234B (zh) * | 2017-12-29 | 2020-11-17 | 浙江宇视科技有限公司 | 图像数据读取方法、装置、电子设备及可读存储介质 |
CN108257582B (zh) * | 2018-01-30 | 2020-10-09 | 广东中星微电子有限公司 | 一种图像的显示缓冲方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5412740A (en) * | 1991-01-29 | 1995-05-02 | At&T Corp. | Signal processing system having reduced memory space |
CN1122026A (zh) * | 1994-08-19 | 1996-05-08 | 财团法人工业技术研究院 | 离散余弦转换/反离散余弦转换电路的转置存储器 |
JPH09282869A (ja) * | 1996-04-15 | 1997-10-31 | Oki Electric Ind Co Ltd | ランダムアクセスメモリ |
CN1188581A (zh) * | 1995-05-05 | 1998-07-22 | 西门子公司 | 存储器管理方法 |
US6212300B1 (en) * | 1997-06-06 | 2001-04-03 | Canon Kabushiki Kaisha | Image processing apparatus, method and computer-executable program product for converting the format of data for specific image data |
CN1321361A (zh) * | 1999-07-02 | 2001-11-07 | 皇家菲利浦电子有限公司 | 信息的压缩存储 |
-
2004
- 2004-03-09 CN CNB2004100034343A patent/CN100366068C/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5412740A (en) * | 1991-01-29 | 1995-05-02 | At&T Corp. | Signal processing system having reduced memory space |
CN1122026A (zh) * | 1994-08-19 | 1996-05-08 | 财团法人工业技术研究院 | 离散余弦转换/反离散余弦转换电路的转置存储器 |
CN1188581A (zh) * | 1995-05-05 | 1998-07-22 | 西门子公司 | 存储器管理方法 |
JPH09282869A (ja) * | 1996-04-15 | 1997-10-31 | Oki Electric Ind Co Ltd | ランダムアクセスメモリ |
US6212300B1 (en) * | 1997-06-06 | 2001-04-03 | Canon Kabushiki Kaisha | Image processing apparatus, method and computer-executable program product for converting the format of data for specific image data |
CN1321361A (zh) * | 1999-07-02 | 2001-11-07 | 皇家菲利浦电子有限公司 | 信息的压缩存储 |
Also Published As
Publication number | Publication date |
---|---|
CN1668092A (zh) | 2005-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108805266B (zh) | 一种可重构cnn高并发卷积加速器 | |
CN107657581B (zh) | 一种卷积神经网络cnn硬件加速器及加速方法 | |
CN109948774B (zh) | 基于网络层捆绑运算的神经网络加速器及其实现方法 | |
CA3069185C (en) | Operation accelerator | |
CN107301455B (zh) | 用于卷积神经网络的混合立方体存储系统及加速计算方法 | |
CN110222818B (zh) | 一种用于卷积神经网络数据存储的多bank行列交织读写方法 | |
CN111931918B (zh) | 神经网络加速器 | |
CN108053855B (zh) | 一种基于sdram芯片的矩阵转置方法 | |
CN111242277A (zh) | 一种基于fpga设计的支持稀疏剪枝的卷积神经网络加速器 | |
US11579921B2 (en) | Method and system for performing parallel computations to generate multiple output feature maps | |
US20070076511A1 (en) | Method and apparatus for mapping memory | |
CN112905530B (zh) | 片上架构、池化计算加速器阵列、单元以及控制方法 | |
US11494645B2 (en) | Convolutional neural network processor and data processing method thereof | |
CN116010299B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN110705702A (zh) | 一种动态可扩展的卷积神经网络加速器 | |
US20220113944A1 (en) | Arithmetic processing device | |
CN100366068C (zh) | 一种节省存储空间的存储处理方法 | |
CN108920097B (zh) | 一种基于交织存储的三维数据处理方法 | |
CN105373497A (zh) | 基于dsp芯片的矩阵转置装置 | |
WO2023030061A1 (zh) | 卷积运算电路及方法、神经网络加速器和电子设备 | |
CN101996142B (zh) | 一种访问存储器的方法及装置 | |
CN111191780B (zh) | 均值池化累加电路、装置以及方法 | |
CN102622318B (zh) | 一种存储器控制电路及其控制的向量数据寻址方法 | |
CN113312285A (zh) | 一种卷积神经网络加速器及其工作方法 | |
CN103702130A (zh) | 一种图像畸变修正算法中合并读取数据的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080130 Termination date: 20130309 |