存储器存取方法

文档序号:7706249阅读:90来源:国知局
专利名称:存储器存取方法
技术领域
本发明是揭露一种存储器存取方法,尤指一种具低成本与设计弹性并应用于图像 编码与解码的存储器存取方法。
背景技术
一般图像皆以像素为组成单位,且图像的压缩与还原大部分是以八乘八(8-by-8) 总共六十四个像素为单位的像素方块为单位来进行,此因八乘八大小的像素方块已经被证 实可以用来进行零损耗(Lossless)的图像压缩与还原,并被视为一般图像处理中编码压 缩与解码还原的基础。对八乘八大小的像素方块进行图像的压缩与编码时,大部分都是以像素方块所包 括的六十四个像素进行存取顺序的组合与排列。一般的做法是将所述像素方块以一个包括 八乘八共六十四个像素的像素矩阵来表现,并以所述像素矩阵中的行或列为单位来存取像 素,因此针对处理图像压缩与编码所研发出来的演算法大多也是以上述像素矩阵中各行/ 列在存取顺序上的组合与排列为基础,以符合像素方块所包括的各行/列像素在进行像素 读取与写入时的需要。请参阅图1与图2,其为已知技术中使用离散余弦转换(Discrete Cosine Transform, DCT)进行图像编码时在存储器中进行数据写入与读取的概略示意图。 在图1与图2中,是对同一存储器进行像素的写入与读取,其中图1是图示像素的写入顺 序,而图2是图示像素的读取顺序。再者,存储器中的像素皆以如图1与图2所示的圆圈作 简略图示。请注意,此处所述的存储器是假设为仅包括八列,并包括多个相同大小的存储器 区段100,每一存储器区段100又可分割为多个八乘八大小的像素方块,因此每一存储器区 段100具有八列以及大于列数目的行,且在图1中所示的像素写入顺序实质上是代表单一 存储器区段100内的像素写入顺序。在图1中,像素的写入顺序是为在单一存储器区段100 中逐列进行,换言之,除非将存储器区段100中单一列的像素全部写入完毕,否则不会采取 换列写入的动作。而在图2中,像素的读取顺序为了配合离散余弦转换的需要,会在单一存 储器区段100中以八乘八像素方块为单位来进行。如图2所示,单一存储器区段100包括 多个八乘八像素方块111、112、…、113,而像素读取是在每一像素方块中以逐列的方式进 行,且每一列仅包括八个被读取的元素。已知技术中有关以八乘八像素方块为基础的写入 与读取大部分皆遵照图1与图2所示的方式。然而,由于图1与图2所示的像素读取与写 入皆在同一存储器区段100上进行,因此当存储器区段100正在进行像素写入时,对于存储 器区段100的像素读取必须在像素写入完成后才能够进行,反之亦然;换言之,以图1与图 2所示的像素读取效率与写入效率会受到相互等待的时间长度而大幅度降低。请参阅图3,其为已知技术中一种名为乒乓(Ping-pong)存取的存储器存取方式 的简略示意图。在图3中是使用二块容量较大且大小相同的存储器,且所述两块存储器各 自包括多个第一存储器区段110与多个第二存储器区段120,其中所述两块存储器可使用 静态随机存取存储器(Static Random Access Memory, SRAM)来实施。存储器区段110及 120与图1及图2所示的存储器区段100相同,亦假设仅包括八列像素,并假设存储器区段110与120是相互对应,使得存储器区段110与120 二者会交替进行像素的写入与读取;请注意,在包括存储器区段Iio与120的二存储器间轮替交错进行的像素写入与读取也是乒 乓这个名词的由来。为了清楚图示像素的读取与写入顺序,在图3中并未图示出图1与图2 所示的像素,而仅以带箭号的直线显示在存储器区段110与120中的像素读取方向与像素 写入方向。在图3中,是假设目前轮到存储器区段110进行像素的写入,而存储器区段120 亦正在进行像素的读取;在存储器区段110中所进行的像素写入顺序与图1所示的存储器 区段100相同,并以一写入指标WR指示出目前存储器区段110上被写入的像素位置;同理, 在存储器区段120中所进行的像素读取顺序与图2所示的存储器区段100相同,以多个像 素方块121、122、123、…、124、125为单位来进行读取,并以一读取指标RD指示出目前存储 器区段120上被读取的像素位置。通过对于存储器区段110与120交替进行的像素读取与 写入,亦即上述的乒乓存取,可以节省如图1与图2中所述的相互等待时间,使得像素的读 取与写入可以同步进行而提高像素处理的产出量(Throughput)。然而,兵乓存取需要同时 使用两块容量较大的存储器,因此也相对的付出了较昂贵的硬件成本。
请参阅图4至图7,其为已知技术中使用对照表(Mapping Table)来进行八乘八 像素数据方块的存取的简略示意图。与之前图1至图3皆以容量较大的实体存储器来直接 对像素作处理的状况不同,图4至图7是图示使用对照表参照实体存储器的方式来调整实 体存储器上像素的存取顺序。如图4至图7所示,对照表200是以模拟单一八乘八像素方 块的方式来存放欲存取的像素方块中共64个像素在存储器上的实体位址*0、…、*62、 *63,并以矩阵来表示欲存取的所述像素方块。在图4中,写入像素的位址参照顺序与图2或 图3在像素方块中逐列读取像素的顺序相同。而在图5中,读取像素的位址参照顺序是以 逐行的方式进行。请注意,在图5中,当包括实体位址*0、*8/16/24/32/40/48/56的直 行被参照与读取完毕后,除了会继续进行包括实体位址U9、*17、*25、*33、、1、、9、*57的 直行的参照与读取以外,由于此时实体位址*0、*8、*16、*24、*32、、0、、8、*56所参照的存储 器位址已被读取(或是在被读取的同时在存储器上清空被读取的像素),因此也可以同时 进行实体位址*0/8、*16、*24、*32/40/48/56的再次参照与像素写入。根据图5所进行的 逐行写入顺序,可得到如图6所示的对照表250。观察图6可知,在对照表250中,像素是 以实体位址*0、*8、*16、*24、*32、*40、*48、*56、*1、*9、*17、*25、*33、*41、*49、*57、…、*7、*15、 *23/31/39/47/55/63的逐列方式被写入;换言之,对照表250所代表的矩阵是为对照表 200所代表的矩阵的转置矩阵(Transposition Matrix)。在图7中图示对照表250的写入 顺序与读取顺序与图5相同,且当完成图7中的逐行参照、读取、与写入后,对照表250又会 变回如图4所示的对照表200,亦即将图4所示的对照表200所代表的矩阵进行二次转置 以后即可恢复其原有像素分布。图4至图7所示以对照表实现像素存取的方式虽然是以八 乘八像素方块运作的图像编码与解码的主流之一,但是当像素方块不再以纯粹的八乘八共 64个像素为单位时,或是当表现像素方块的矩阵不再为方阵(Square Matrix)时,其弹性 便显得捉襟见肘。举例来说,当像素方块的大小为八列乘十行共八十个像素时,以图4至图 7所使用的对照表来进行像素的存取便不可行,因为每次进行矩阵转置时,逐列或逐行要存 取的像素数量并不相同。

发明内容
本发明是揭露一种存储器存取方法。存储器具有一主要存储单元与一辅助存储单 元,所述方法包括初始设定所述辅助存储单元与所述主要存储单元相对应的位置对照关 系;根据一写入指标所指向所述辅助存储单元中的第一位置,写入像素数据至对应的所述主 要存储单元;判别所采集的辅助存储单元指标为所述写入指标及/或一读取指标;当为读取 指标时,进行读取操作根据所述读取指标的标的所包括的存取顺序与所储存的现行指标, 依序读取所述辅助存储单元,并在所述主要存储器上读取所对应的多个列存储器区段;当为 写入指标,进行写入操作时;根据所述写入指标的标的所包括的存取顺序与所储存的现行指 标,依序写入所述辅助存储单元,并在所述主要存储器上写入所对应的多个列存储器区段。其中,读取操作更包括确认所采集的所述读取指标的标的在所述主要存储器上 所对应的所有列存储器区段是否已被读取完毕或已有像素数据写入;当所述标的所对应的 所有列存储器区段未被读取完毕或已有像素数据写入,继续执行所述读取动作;及当所述 标的所对应的所有列存储器区段已被读取完毕或未有像素数据写入,等待所对应的所有列 存储器区段中数据被写入完毕;及将所述标的上的所有单元各自对应的一旗标修改为指出 所述单元在所述主要存储器上所参照的列存储器区段已被读取过或已被写入过,并更新所 述读取指标或所述写入指标的标的上所有单元及其所包括的追踪指标。其中,写入操作更包括确认所采集的所述写入指标的标的在所述主要存储器上 所对应的所有列存储器区段是否为空白或是已被读取完毕;当所述标的在所述主要存储器 上所对应的所有列存储器区段为空白或是已被读取完毕时,继续执行所述写入动作;及当 所述标的在所述主要存储器上所对应的所有列存储器区段不为空白或是未被读取完毕时, 等待所对应的所有列存储器区段中数据被读取完毕。其中,旗标是可用以判别在所述主要存储器上所参照的列存储器区段所储存的像 素数据是否已被读取/写入完毕或已有像素数据写入、读取。其中,所述初始设定所述辅助存储单元与所述主要存储单元相对应的位置对照关 系是以连结串列(Linked list)来实施,且所述辅助存储单元具有一对照表是用来参照所 述主要存储器上的不同列存储器区段。而读取操作与写入操作可以是同时进行、轮流进行 或单独进行等单一或组合情形。本发明提供一种存储器存取方法,揭露了一种具低成本与设计弹性的存储器存取 方法。


图1与图2为已知技术中使用离散余弦转换进行图像编码时在存储器中进行数据 写入与读取的概略示意图。图3为已知技术中一种乒乓存取存储器的存取方式的简略示意图。图4至图7为已知技术中使用对照表来进行八乘八像素数据方块的存取的简略示 意图。图8为本发明实施像素存取顺序的一连结串列的示意图。
图9为实施本发明的一存储器结构概略示意图。图10为图9中所示的辅助存储器上所储存的连结串列查询表的概念示意图,其中所述连结串列查询表是根据图8所示的连结串列所产生。图11为实施本发明的另一存储器结构概略示意图。图12至图21为根据连结串列查询表对像素数据进行包括读取与写入的存取时的 存取顺序概念示意图,其中储存连结串列查询表的辅助存储器上是假设被设置有一个写入 指标及八个读取指标,且所述多个读取指标与写入指标的标的皆以一列或一行共八个连结 串列单元为单位。图22所示是为本发明一实施例存储器读取/写入方法的流程图。附图标号100、110、120存储器区段111、112、113、121、122、123、124、125像素方块200、250对照表300连结串列3000、3001、3002、3063连结串列单元510主要存储器520辅助存储器702、704、706、708、710、712、714、716步骤ptr现行指标Next、nxt_ptr追踪指标wr_ptrO、wr_ptrl写入指标rd_ptr0、rd_ptrl、rd_ptr2、rd_ptr3、rd_ptr4、 读取指标rd_ptr5、rd_ptr6、rd_ptr具体实施例方式为了降低使用乒乓存取所产生的较高硬件成本,或是使用对照表进行存取而使 像素存取设计失去弹性的缺点,本发明是揭露一种使用辅助存储器或在主要存储器(line buffer)上配置辅助存储单元来指引主要存储器上像素存取顺序的存储器存取方法,以提 供在主要存储器上进行像素存取的设计弹性并降低硬件成本。在本发明所揭露的方法中, 只需要利用原先一块主要存储器以储存欲存取的像素并另行提供一块容量较小的辅助存 储器,或在主要存储器上配置一辅助存储单元来当作标示像素存取顺序即可,因此节省了 多使用一块大容量存储器所产生的硬件成本。本发明的方法是在辅助存储器或辅助存储单元上使用连结串列(Linked List)或是利用程序运算等软件实施方式来维护及更新主要存储器上各列存储器区段(Row Memory Section)所储存的像素的存取顺序。此处所述的列存储器区段,实质上在主要存储器中是 可储存N个像素,换言之,其中每一个列存储区段所储存N个像素是以1*N的方式排列。本 发明所提供像素数据转换的方法为列至像素方块(Line To Block)存取。请注意,以下所 揭露的本发明存储器存取方法中,是以在辅助存储器或辅助存储单元上以连结串列来实现 主要存储器上像素存取顺序为一较佳实施例来说明,然而其他以软件方式在辅助存储器、 辅助存储单元或单纯以程序运算作为实施本发明的方法中所揭露的像素存取顺序而产生 的其他实施例亦应视为本发明的范畴。
请参阅图8,为本发明实施像素存取顺序的一连结串列的示意图。其中,本发明中所使用的辅助存储器或辅助存储单元是可以连结串列单元来储存并管理像素的存取顺序。 如图所示,实施于辅助存储器或辅助存储单元上的连结串列300中每一个连结串列单元是 包括至少两个区域,其中一个是为一主要区域,用来储存现行指标Ptr以指向主要存储器 上某一列存储器区段的实体位址来存取对应的像素。而连结串列单元所包括的另外一个区 域是为一追踪指标区域,用来储存指向下一个欲存取的连结串列单元的指标,亦即一追踪 指标(Next Pointer),以指出连结串列300所代表的存取顺序,并据以维护或更新所述存 取顺序。以图8所示的连结串列300来说,连结串列单元3000是储存指向主要存储器的现 行指标^与指向连结串列单元3001的追踪指标,连结串列单元3001是储存指向主要存储 器的现行指标与指向连结串列单元3002的追踪指标,且连结串列300的最后一个连结 串列单元3063是储存指向主要存储器的现行指标63。请注意,为了区别用来指向连结串列 单元与用来参照主要存储器的不同性质指标,在之后的叙述中,参照主要存储器上不同列 存储器区段的实体位址的现行指标都会加上*符号来辨识。由于连结串列的特性在于其包括的连结串列单元可经由更新追踪指标所指向的 连结串列单元来完成主要存储器上不同列存储器区段的存取顺序的排列与组合,因此相较 于已知技术中受限于对照表只能处理特定形式像素方块的做法可以在存取设计上得到更 大的弹性。然而,在本发明所揭露的方法中,亦并未限制于使用连结串列来处理列存储器区 段之间的存取顺序;换言之,在辅助存储器或辅助存储单元上以程序计数器等软件方式来 处理列存储器区段之间存取顺序亦可达到上述在存取设计弹性上的效果,因此所衍生的其 他实施例仍应视为本发明的范畴。请参阅图9,其为利用一辅助存储器实施本发明的方法的概略示意图。如图所示, 一系统中具有一主要存储器510与一辅助存储器520 ;主要存储器510是用来在实体位址 上储存像素,并包括有多个列存储器区段(请注意,与图1所示的存储器区段不同),其中 每一个列存储区段是可储存1*N个像素,以及多个直行数;辅助存储器520是用以对照主要 存储器510的列存储器区段位址,用来参照主要存储器510上各列存储器区段所储存的像 素。请注意,主要存储器510是在此为了说明而被假设包括有十个横列,以及八个直行数, 亦即列存储器区段(row memory section) 5101、5102、...、5110 形成一直行数、…、5181、 5182、…、5190形成一直行数等;而一直行数的存储器区段5101、5102、…、5108可视为涵 盖多个八乘八像素方块,同理,列存储器5111、5112、…、5118亦可被视为涵盖多个八乘八 像素方块。假设若N = 200,则列存储器区段5101、5102、...、5108可视为涵盖25个八乘八像素方块,而系统在读取直行数的存储器区段5101、5102、…、5108时,会先读取列存储器区 段5101的第一至第八像素、再读取列存储器区段5102的第一至第八像素、如此依序读取至 列存储器区段5108的第一至第八像素,则将第一个八乘八像素方块完整读取;紧接着再读 取列存储器区段5101的第九至第十六像素、列存储器区段5102的第九至第十六像素、…、 依此原理依序读取至列存储器区段5108的第N-7至第N像素,则可依序从第1至第25个 八乘八像素方块完整读取;依此原理,依序对每一直行的像素数据进行读取。请参阅图10,其为本发明一实施例辅助存储器(单元)上所储存的多个连结串列单元的概念示意图,以简略图示各连结串列单元之间所表示的存取顺序关系。在图10中, 每一连结串列单元都包括一个主要区域field及一个追踪指标区域nxt_ptr。主要区域 field是储存上述指向主要存储器510上特定列存储器区段的实体位址的现行指标,并同 时存取所述连结串列单元所参照的多个像素;追踪指标区域nxt_ptr是储存上述的追踪指 标,以指向下一个将要被存取的连结串列单元。观察图10可知,并同时参阅图9,对于包括 有现行指标*48与追踪指标49的连结串列单元而言,便可根据现行指标、8来存取主要存 储器510上对应现行指标、8的列存储器区段的实体位址所储存的多个像素,并可通过追 踪指标49找出包括有现行指标*49与追踪指标50的连结串列单元。就观察而言,图10除 了图示出八十个连结串列单元以外,并另外指出所述八十个连结串列单元所对应的列存储 器区段的存取顺序,亦即在辅助存储器520上由现行指标*0、*1、*2、…、*77、*78、*79,对应 至主要存储器510的实体位址依*5101、*5111、*5121、…、*5170、*5180、*5190的顺序。实际在辅助存储器520上应用图10所示的连结串列单元来实现主要存储器510 上的像素存取顺序时,需要掌握目前位置在辅助存储器520上的读取指标与写入指标,其 中所述读取指标是用来指示所对应的目前在主要存储器510上将被读取的实体位置,而所 述写入指标是用来指示所对应的目前在主要存储器510上将被写入的实体位置,且所述读 取指标与所述写入指标皆可使用图8所示的现行指标ptr来实施。举例来说,通过所述读 取指标与其所指向的下一个连结串列单元所包括的追踪指标,可以迅速的掌握主要存储器 510上各列存储器区段的读取顺序,并同时在主要存储器510各列存储器区段上进行对应 的像素读取;同理,通过所述写入指标与其所指向的下一个连结串列单元所包括的追踪指 标,可以迅速的掌握主要存储器510上各列存储器区段的写入顺序,并同时在主要存储器 510上各列存储器区段进行对应的像素写入。请注意,参阅辅助存储器520在对主要存储 器510上所对应的列存储器区段进行读取与写入的同时,也需要更新辅助存储器520上每 一连结串列单元的追踪指标所指向的连结串列单元,以不断的更新存取顺序。请注意,除了图9与图10中所示以辅助存储器520来辅助实现各列存储器区段的 存取顺序控制以外,在本发明的另一实施例中,亦可直接在主要存储器中规划一主要存储 单元及一辅助存储单元来实施主要存储器中各列存储器区段的存取顺序控制。请参阅图11,其为根据本发明的一实施例,在主要存储器中直接规划一主要存储 单元及一辅助存储单元,以实现主要存储器中各列存储器区段的存取顺序控制的简略示意 图。如图11所示,主要存储器510中是规划有一主要存储单元515及一辅助存储单元550。 主要存储单元515是用来储存像素,并包括有多个列存储器区段5101、5102、…、5110、 5801、5802、···、5810等。辅助存储单元550是用来参照主要存储单元515中所包括的各列 存储器区段实体位置。
请注意,本实施例其读取与写入动作原理皆如同上述图9与图10的描述,故在此 不再赘述。即图9与图11上所示本发明的二种不同实施例中,对主要存储器的存取方式皆 相同,且各列存储器区段进行存取时的关系将会在图12至图21中进行简单的说明。请参阅图12至图21,是为本发明实施例辅助存储器在各时间点上所储存连结串 列单元的写入/读取顺序;即为辅助存储器对主要存储器上各列存储器区段进行包括读取 与写入的存取时的存取顺序概念示意图。其中辅助存储器520或辅助存储单元550上是 被假设设置有包括一个写入指标wr_ptr及八个读取指标rd_ptr0 rd_ptr7,且读取指标rd_ptr与写入指标wr_ptr的标的皆以辅助存储器520上一排共八个连结串列单元为单位(可为一横列(row)或一直行(column)上的八个连结串列单元)。在此说明,如前所述,读取像素时会对八个列存储器区段重复依序分别读取八个 像素,以成为像素方块数据依序转出,直至八个连结串列单元中的像素数据皆被读取完毕, 因此八个读取指标rd_ptr的设定乃是方便其读取时不需重复搜寻下一个要读取的连结串 列单元所对照的列存储器区段;当然本实施仅举出较佳的实施方式,若是单独使用一个读 取指标亦可达到本发明的功效,而无影响。举例来说,在图12中,当系统开始动作时,会依辅助存储器中的连结串列单元的 顺序,同时对应的将像素数据写入至各列存储器区段;从第一列存储器区段依序填入像素 数据,当第八列存储器区段被填满像素数据后,此时,系统会持续写入数据至第九列存储器 区段,且系统会依据读取指标rd_ptr所指向的连结串列单元开始进行读取。如图中所示,写入指标wr_ptr会依照连结串列单元的先后顺序指向包括现行指 标*64、*65、…、—横列的连结串列单元,写入指标Wr_ptr的标的除了在辅助存储器520 上将这八个连结串列单元对应的现行指标写入以外,亦将这八个连结串列单元在主要存储 器510所参照的列存储器区段中储存的像素依序写入完毕。依此原理,系统会依照写入指 标Wr_ptr的指引依序写入数据于所指向连结串列单元对应的列存储区段。而当读取指标rd_ptr0 rd_ptr7指向包括现行指标*00、*08、*16、*24、*32、*40、 、8、*56等八个连结串列单元时,读取指标rd_ptr的标的除了在辅助存储器520上读取这 八个连结串列单元的现行指标以外,亦同时将这八个连结串列单元对应在主要存储器510 所参照的列存储器区段中储存的像素依序读取完毕。当这八个连结串列单元所对应的八个 列存储器区段被读取完毕后,读取指标rd_ptr0 rd_ptr7将指向包括现行指标*01、*09、 *17、*25、*33、*4U*49, *57等八个连结串列单元,依此读取原理陆续读取其余的连结串列单 元所指向对应的列存储区段。请参阅图13,图中所示是为图12的后一时间区段中辅助存储器在所储存连结串 列单元的读取顺序。在此图中可视为系统已将图12中的连结串列单元*00、*08、···、%()、 *61读取完毕后,紧接下来所进行的读取与写入的动作。此时,写入指标wr_ptr指向包括现 行指标*06、*14、等连结串列单元,将依序对辅助存储器520上这八个连结串列单元 对应的现行指标写入以外,亦将这八个连结串列单元在主要存储器510所参照的列存储器 区段中储存的像素依序写入完毕。而当读取指标rd_ptr0 rd_ptr7则指向包括现行指标*64、*72、*00、*01、*02、*03、 *04,*05等八个连结串列单元,并依序读取这八个连结串列单元对应在主要存储器510所参 照的列存储器区段中储存的像素。值得注意的是,在本图中第三列连结串列单元中所表示的写入顺序,可参考图12 来解说,当系统依照图12中所示将第一至第十列连结串列单元及所对应的存储器区段皆 写入完毕后,此时会按照之前连结串列单元被读取的次序,再将像素数据填入已被读取过 的存储器位置;即写入指标会依序指向包括现行指标*00、*08、*16、*24、*32、、0、、8、*56等八 个连结串列单元(即图13中所示第三列连结串列单元),待此八个连结串列单元及所对应 的存储器区段皆写入完毕后,写入指标再指向包括现行指标*01/09、-/57/02/10,…、 *58、…、等连结串列单元。因此会形成之后的写入指标指向顺序会依照已知读取指标的顺序,及写入数据依序填补被读取后存储器位置的空缺。当上述连结串列单元所对应的主要存储器中的多个像素被读取后,此时,写入指 标Wr_ptr会依照连结串列单元被读取的先后顺序指向与写入的连结串列单元,写入指标 wr_ptr的标的除了在辅助存储器520上将连结串列单元对应的现行指标写入以外,亦将连 结串列单元在主要存储器510所参照的列存储器区段中储存的像素依序写入完毕。在本发明所揭露的方法中,可容许读取指标与写入指标同时对辅助存储器520进 行存取的动作,只要不会造成在主要存储器510上各列存储器区段之间的数据危险(Data Hazard)即可(亦即不违反读取前先行写入同一实体位址的原则)。请注意,在本发明的一 较佳实施例中,辅助存储器520所包括的每一连结串列单元须被指定一旗标(Flag),且当 单一连结串列单元在主要存储器510上所对应的列存储器区段刚被完成读取或写入的动 作时,其旗标需标明所对应的所述列存储器区段已被读取或已被写入;举例来说,若所述旗 标是以一位来表示时,已读取的状态可选择性的使用位0来表示,而已写入的状态可选择 性的使用位1来表示,但本发明的实施例在表示连结串列单元在主要存储器510上所对应 的列存储器区段已被读取或已被写入的做法并不限于此处所述。除此以外,写入像素的动作只能对主要存储器510上已被读取过的列存储器区段 进行,读取的动作亦只能对主要存储器510上已被写入过的列存储器区段进行,两者皆为 必须被遵守的原则;因此对辅助存储器520某一横列的连结串列单元进行对应的列存储器 区段读取程序之前,须先行检查所述横列所有连结串列单元的旗标是否指出所述列所有连 结串列单元在主要存储器510上对应的多个列存储器区段已被写入过;同理,对辅助存储 器520上某一横列的所有连结串列单元在主要存储器510上进行对应的列存储器区段写入 程序之前,亦须先行检查其旗标是否指出所述直行的所有连结串列单元在主要存储器510 上对应的多个列存储器区段已被读取过。图14至图21所示的存取顺序如图形所表示,这些虚拟存取顺序的替换皆利用了 上述所表示的排序概念,故此处不再多加赘述。在图12至图21所示各连结串列单元的存取 顺序中,重复着与上述相同的虚拟存取顺序与行列转置。在不断对连结串列单元之间的存 取程序通过先入先出的方式进行排列组合的同时,每一连结串列单元的追踪指标nXt_ptr 也会不断的更新,以顺利的完成上述行列转置等操作,且不会受到已知技术只能处理八乘 八像素方块或是方阵的限制。请注意,在图21中再次使用重复的程序进行像素存取时,所 产生的连结串列单元的存取顺序将会与图12所示的存取顺序完全相同,此因辅助存储器 520所暂存数据的大小是为八个直行乘以十个横列所形成的80个连结串列单元的缘故;若 辅助存储器520所暂存的大小为八个直行乘以二十个横列所形成的160个连结串列单元, 则上述代表连结串列单元的(虚拟)存取顺序的矩阵经过二十次的存取顺序运作会完成重 复一次相同排序。上述这些运作可通过连结串列单元的追踪指标更新来完成。
在本发明中提供一主要存储单元(体)与一辅助存储单元(体),以顺畅的完成列 至像素方块(Line To Block)存取互相转换。其中,主要存储器是用以储存所写入的像素 数据,供系统后续读取存储器中像素以转换为像素方块;辅助存储单元用来参照所述主要 存储器上像素存放的位置于不同列存储器区段,在辅助存储单元中可以形成一连结查询串 列表或是利用程序运算,以标记并指引系统对主要存储单元读取、写入主要存储器上不同 位置的要求,使之达到连续写入读出的功效。
根据以上由图8至图21的叙述,本发明所揭露的方法可归纳如图22所示的流程 图。如图22所示,本发明所揭露的方法是包括以下步骤步骤702 系统初始设定辅助存储单元与主要存储单元相对应的位置对照关系; 辅助存储单元是用来参照所述主要存储单元上的不同列存储器区段。步骤704 当开始进行列至像素方块存取时,根据写入指标所指向辅助存储单元 中的串列连结单元(第一位置),写入像素数据至对应的主要存储单元;像素依辅助存储单 元所采集的写入指标所提供的顺序写入主要存储单元的位址。辨别所采集为写入指标或是 读取指标,当进行读取操作时,执行步骤712 ;当持续进行写入操作时,执行步骤706 ;其中, 写入与读取的步骤可以同时进行、轮流执行或是单独执行。步骤706 确认所采集的所述写入指标的标的在所述主要存储器上所对应的所有 列存储器区段是否为空白或是已被读取完毕;当所述标的在所述主要存储器上所对应的所 有列存储器区段为空白或是已被读取完毕时,执行步骤708 ;当所述标的在所述主要存储 器上所对应的所有列存储器区段不为空白且未被读取完毕时,等待所对应的所有列存储器 区段中数据被读取完毕。步骤708 根据所述标的所包括的存取顺序与所储存的现行指标,依序写入所述 辅助存储单元,并在所述主要存储器上写入所对应的多个列存储器区段。步骤710 将所述标的上的所有单元各自对应的一旗标修改为指出所述单元在所 述主要存储器上所参照的列存储器区段已被写入过,并更新所述写入指标的标的上所有连 结串列单元所包括的追踪指标。步骤712 确认所采集的所述读取指标的标的在所述主要存储器上所对应的所有 列存储器区段是否已被写入完毕或未有像素数据写入;当所述标的所对应的所有列存储器 区段已写入完毕,执行步骤714;当所述标的所对应的所有列存储器区段未写入完毕或未 有像素数据写入,等待所对应的所有列存储器区段中数据被写入完毕或写入数据。步骤714 根据所述标的所包括的存取顺序与所储存的现行指标,依序读取所述 辅助存储单元,并在所述主要存储器上读取所对应的多个列存储器区段;及步骤716 将所述标的上的所有单元各自对应的一旗标修改为指出所述单元在所 述主要存储器上所参照的列存储器区段已被读取过,并更新所述读取指标的标的排上所有 连结串列单元所包括的追踪指标。请注意,上述步骤是将读取和写入分别描述各自进行时的程序,但根据本发明所 揭露的方法所产生的实施例并不限于图22中所示的步骤,可以将图22中所示的步骤经过 合理组合与排列所产生的其他实施例皆应视为本发明的范畴,例如写入和读取步骤轮流 进行时,即先行写入后再依照写入顺序读取,而写入再依照被读取的顺序再写入数据;或是 写入和读取为同时进行;或是写入和读取为单独进行等情况。本发明是揭露一种具低成本与设计弹性的存储器存取方法。所述方法通过辅助存 储器来参照主要存储器上的不同列存储器区段,使像素数据于主要存储器上存取不同的列 存储器区段时,可利用读取指标与写入指标来对所述单数或多个单元(包括直行与横列) 为标的的操作来存取列存储器区段。如此一来,可以在主要存储器上先行对已经被读取完 的标的对应的多个列存储器区段进行写入,或是对已经被写入完的标的对应的多个列存储 器区段进行读取,以节省等待读取或写入的时间,并且可以不受一般处理图像时以八乘八像素方块为单位来进行的限制。除此以外,由于本发明的方法使用一块主要存储器在多个 列存储器区段的实体位址上储存像素,并在主要存储器中另分别一辅助存储单元或仅外加 一块容量较小的辅助存储器来储存所述多个列存储器区段相对应位置关系,因此相对于已 知技术中需要使用至少两块容量较大的主要存储器的做法,亦可以节省接近一半的硬件成 本。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变化与修 饰,皆应属本发明的涵盖范围。
权利要求
一种存储器存取方法,其特征在于,所述存储器可视为具有一主要存储单元与一辅助存储单元,所述方法包括初始设定所述辅助存储单元与所述主要存储单元相对应的位置对照关系;根据一写入指标所指向所述辅助存储单元中的第一位置,写入像素数据至对应的所述主要存储单元;判别所采集的辅助存储单元指标为所述写入指标及/或一读取指标;当为读取指标时,进行读取操作根据所述读取指标的标的所包括的存取顺序与所储存的现行指标,依序读取所述辅助存储单元,并在所述主要存储器上读取所对应的多个列存储器区段;及当为写入指标,进行写入操作时根据所述写入指标的标的所包括的存取顺序与所储存的现行指标,依序写入所述辅助存储单元,并在所述主要存储器上写入所对应的多个列存储器区段。
2.如权利要求1所述的方法,其特征在于,所述读取操作另包括确认所采集的所述读取指标的标的在所述主要存储器上所对应的所有列存储器区段 是否已写入完毕或未有像素数据写入;当所述标的所对应的所有列存储器区段已写入完毕,继续执行所述读取动作;及 当所述标的所对应的所有列存储器区段未写入完毕或未有像素数据写入,等待所对应 的所有列存储器区段中数据被写入完毕。
3.如权利要求1所述的方法,其特征在于,所述读取操作另包括将所述标的上的所有单元各自对应的一旗标修改为指出所述单元在所述主要存储器 上所参照的列存储器区段已被读取过或已被写入过,并更新所述读取指标或所述写入指标 的标的上所有单元及其所包括的追踪指标。
4.如权利要求3所述的方法,其特征在于,所述旗标是可用以判别在所述主要存储器 上所参照的列存储器区段所储存的像素数据是否已被读取/写入完毕或已有像素数据写 入、读取。
5.如权利要求1所述的方法,其特征在于,所述写入操作另包括确认所采集的所述写入指标的标的在所述主要存储器上所对应的所有列存储器区段 是否为空白或是已被读取完毕;当所述标的在所述主要存储器上所对应的所有列存储器区段为空白或是已被读取完 毕时,继续执行所述写入动作;及当所述标的在所述主要存储器上所对应的所有列存储器区段不为空白且未被读取完 毕时,等待所对应的所有列存储器区段中数据被读取完毕。
6.如权利要求1所述的方法,其特征在于,所述初始设定所述辅助存储单元与所述主 要存储单元相对应的位置对照关系是以连结串列来实施,且所述辅助存储单元具有一对照 表是用来参照所述主要存储器上的不同列存储器区段。
7.如权利要求1所述的方法,其特征在于,所述读取操作与所述写入操作可以是同时 进行、轮流进行或单独进行等单一或组合情形。
全文摘要
本发明提供一种存储器存取方法。在图像的编码与解码中,使用包括直行与横列的标的作为实施存取存储器所使用的单位,可以不受一般处理图像时以八乘八像素方块为单位来进行图像处理的限制,也因此在存储器的存取设计上提供较高的弹性。上述的技术仅需使用一块主要存储器在实体位址上储存像素,并另分别一辅助存储单元或外加一块容量较小的辅助存储器来参照主要存储器上不同列存储器区段,因此可节省大量的硬件成本。
文档编号H04N7/26GK101841702SQ20091012855
公开日2010年9月22日 申请日期2009年3月18日 优先权日2009年3月18日
发明者王世华, 黄在田 申请人:安国国际科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1