首页> 中国专利> 存储器地址映射方法及存储器地址映射电路

存储器地址映射方法及存储器地址映射电路

摘要

本发明提供一种存储器地址映射方法及存储器地址映射电路。存储器地址映射电路包含:接收单元以及地址产生单元,接收单元接收第一图像;地址产生单元耦接于接收单元,根据图像分区设置为第一图像中每个水平线分区产生第一存储器地址设置,图像分区设置定义图像被划分为多个水平线组,每个水平线组包含至少一个水平线且每个水平线组在水平线方向被划分为多个水平线分区;其中,第一图像的每个水平线组中的多个水平线分区的第一存储器地址设置控制对应的水平线组不存储于存储器装置的同一存储体中。本发明提供的存储器地址映射方法及存储器地址映射电路,通过控制存储器装置中图像的存储,可以有效避免或减少存储体冲突,从而提高存储器装置的效率。

著录项

  • 公开/公告号CN102055973A

    专利类型发明专利

  • 公开/公告日2011-05-11

    原文格式PDF

  • 申请/专利权人 联发科技股份有限公司;

    申请/专利号CN201010224916.7

  • 发明设计人 林晏生;

    申请日2010-07-13

  • 分类号H04N7/26;H04N5/92;

  • 代理机构北京万慧达知识产权代理有限公司;

  • 代理人葛强

  • 地址 中国台湾新竹科学工业园区新竹市笃行一路一号

  • 入库时间 2023-12-18 02:13:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-02-20

    授权

    授权

  • 2011-06-29

    实质审查的生效 IPC(主分类):H04N7/26 申请日:20100713

    实质审查的生效

  • 2011-05-11

    公开

    公开

说明书

技术领域

本发明是关于一种将数据存储于存储器装置的存储器地址映射方法及存储器地址映射电路,特别是关于一种使用存储体交织技术(bank interleavingtechnique)来控制存储器装置中图像的存储的存储器地址映射方法及存储器地址映射电路。

背景技术

动态随机存储器(Dynamic random access memory,以下简称为DRAM)是一种将每个数据比特存储于作为存储单元(memory cell)的电容器中的随机存储器。图1显示了DRAM装置100的传统的架构图。DRAM装置100包含多个行解码器(row decoder)1021至102_N、多个列解码器(column decoder)104_1至104_N、多个存储体106_1至106_N以及多个读出放大器(sense amplifier)108_1至108_N。每个存储体106_1至106_N通过一个专用行解码器、一个专用列解码器以及一个专用读出放大器来访问,且每个存储体106_1至106_N包含多个行(也就是,页面)110。存储单元的DRAM地址可以包含一个行地址ADD_R、一个列地址ADD_C以及一个存储体地址ADD_BA。存储体地址ADD_BA决定选择哪一个存储体,且行地址ADD_R决定选择已选存储体的哪一行(页面)。位于已选行(页面)上的位在载入对应于已选存储体的读出放大器中之后,列地址ADD_C决定已载入的位中的哪一个包含期望被访问的存储单元的信息。举例而言,在存储体106_1中包含行地址R1以及列地址C1的存储单元为目标访问存储单元的情况下,存储体地址ADD_BA选择存储体106_1,对应于存储体106_1的行解码器102_1将行地址ADD_R解码,来选择具有行地址R1的目标行;对应于存储体106_1的读出放大器108_1读取目标行;且随后列解码器104_1将列地址ADD_C解码,来选择由列地址C1寻址(addressed)的目标位。

如图1所示,每个存储体包含其专用的读出放大器,因此每个存储体可以独立工作。然而,存储体冲突(bank conflict)(或页面丢失)常常导致DRAM访问中最为严重的效能退化(performance degradation)。存储体冲突意味着访问同一个存储体中不同行的连续DRAM访问。换句话说,因为每个存储体的行解码器只能访问对应存储体中的一个行,同一个存储体不同行上的连续DRAM访问不可避免地将导致存储体冲突。举例而言,对于因为当前DRAM读取请求而载入读出放大器的位,需要首先发出预充电命令(pre-charge command)来通知读出放大器将已存储的位写回到对应行。然后,在预充电完成之后,启动由下一个DRAM读取请求来访问的另一个行。需要注意,在两个连续命令之中需要插入几个空闲周期(idle cycle),空闲周期的数目取决于连续命令的类型。一般而言,预充电命令与启动命令之间存在预充电-启动等待时间(pre-charge-to-active latency)TRP。在启动所述另一个行之后,应该发出读取命令。类似的,启动命令与读取命令之间存在启动-读取等待时间(active-to-readlatency)TRCD。最后,在读取-数据等待时间(read-to-data latency)TCAS之后,请求的数据将显示在数据总线(data bus)上。简而言之,当发生存储体冲突(或页面丢失)时,必须等待由当前DRAM访问所载入读出放大器中的页面的内容完成预充电(也就是,将读出放大器中的内容写回到由当前DRAM访问来读写的对应页面中)之后,才可以启动由下一个DRAM访问来读写的页面。由此可见,由于预充电-启动等待时间TRP、启动-读取等待时间TRCD以及读取-数据等待时间TCAS,在几个空闲周期之后便可以成功的访问数据。如果频繁的发生存储体冲突,则DRAM效能将显著地退化。

在特定的图像处理应用(例如,时域噪声减少(temporal noise reduction)、运动自适应去交织(motion adaptive de-interlacing)、运动抖动消除(motion juddercancellation)以及超分辨率缩放(super-resolution scaling))中,位于时域相邻图像中的信息可以互相关联。然而,作为关联的图像越多,则需要越大的DRAM带宽。可惜对DRAM带宽的高需求通常意味着硬件的高成本。为了降低硬件成本而不减少关联图像的数目,一种可能的解决方法是提高DRAM的效率。如上所述,存储体冲突(或页面丢失)是DRAM效率退化的关键因素。因此,本领域中的设计师需要解决的是,如何在DRAM访问期间有效的减少存储体冲突的发生。

发明内容

有鉴于此,特提供以下技术方案:

本发明的实施方式提供了一种存储器地址映射方法,用于控制存储器装置中多个图像的存储,存储器装置包含多个存储体,每个存储体包含多个页面,所述存储器地址映射方法包含:接收第一图像;以及根据图像分区设置,为第一图像中每个水平线分区产生第一存储器地址设置,其中图像分区设置定义图像被划分为多个水平线组,每个水平线组包含至少一个水平线,且每个水平线组在水平线方向被划分为多个水平线分区;其中,第一图像的每个水平线组中多个水平线分区的第一存储器地址设置控制对应的水平线组不存储于存储器装置的同一个存储体中,对应的水平线组包含多个水平线分区。

本发明的实施方式另提供了一种存储器地址映射电路,用于控制存储器装置中多个图像的存储,存储器装置包含多个存储体,每个存储体包含多个页面,所述存储器地址映射电路包含:接收单元,用于接收第一图像;以及地址产生单元,耦接于接收单元,用于根据图像分区设置,为第一图像中每个水平线分区产生第一存储器地址设置,其中图像分区设置定义图像被划分为多个水平线组,每个水平线组包含至少一个水平线,且每个水平线组在水平线方向被划分为多个水平线分区;其中,第一图像的每个水平线组中的多个水平线分区的第一存储器地址设置控制对应的水平线组不存储于存储器装置的同一个存储体中,对应的水平线组包含多个水平线分区。

本发明的实施方式另提供了一种存储器地址映射方法,用于控制存储器装置中多个图像的存储,存储器装置包含多个存储体,每个存储体包含多个页面,所述存储器地址映射方法包含:接收第一图像;根据图像分区设置,为第一图像中每个水平线分区产生第一存储器地址设置,其中图像分区设置定义图像被划分为多个水平线组,每个水平线组包含至少一个水平线,且每个水平线组在水平线方向被划分为多个水平线分区;接收第二图像;以及根据图像分区设置,为第二图像中每个水平线分区产生第二存储器地址设置;其中,第一图像中第一水平线分区的第一存储器地址设置,以及第二图像中第二水平线分区的第二存储器地址设置,控制位于不同图像同一处的第一水平线分区以及第二水平线分区存储于同一页面。

本发明的实施方式另提供了一种存储器地址映射电路,用于控制存储器装置中多个图像的存储,存储器装置包含多个存储体,每个存储体包含多个页面,所述存储器地址映射电路包含:接收单元,用于接收第一图像以及第二图像;以及地址产生单元,耦接于接收单元,用于根据图像分区设置,为第一图像中每个水平线分区产生第一存储器地址设置,以及根据图像分区设置,为第二图像中每个水平线分区产生第二存储器地址设置,其中图像分区设置定义图像被划分为多个水平线组,每个水平线组包含至少一个水平线,且每个水平线组在水平线方向被划分为多个水平线分区;其中,第一图像中第一水平线分区的第一存储器地址设置,以及第二图像中第二水平线分区的第二存储器地址设置,控制位于不同图像同一处的第一水平线分区以及第二水平线分区存储于同一页面。

本发明的实施方式另提供了一种存储器地址映射方法,用于控制存储器装置中多个图像的存储,存储器装置包含多个存储体,每个存储体包含多个页面,所述存储器地址映射方法包含:接收图像;以及根据图像分区设置,为图像中每个水平线分区产生存储器地址设置,其中图像分区设置定义图像被划分为多个水平线组,每个水平线组包含至少一个水平线,且每个水平线组在水平线方向被划分为多个水平线分区;其中,第一水平线分区以及第二水平线分区的存储器地址设置,控制第一水平线分区以及第二水平线分区分别存储于第一页面以及第二页面,其中第一水平线分区以及第二水平线分区位于图像中的不同水平线组,且在图像中互为相邻,第一页面以及第二页面位于所述存储器装置的不同存储体中。

本发明的实施方式另提供了一种存储器地址映射电路,用于控制存储器装置中多个图像的存储,存储器装置包含多个存储体,每个存储体包含多个页面,所述存储器地址映射电路包含:接收单元,用于接收图像;以及地址产生单元,耦接于接收单元,用于根据图像分区设置,为图像中每个水平线分区产生存储器地址设置,其中图像分区设置定义图像被划分为多个水平线组,每个水平线组包含至少一个水平线,且每个水平线组在水平线方向被划分为多个水平线分区;其中,第一水平线分区以及第二水平线分区的存储器地址设置,控制第一水平线分区以及第二水平线分区分别存储于第一页面以及第二页面,其中第一水平线分区以及第二水平线分区位于图像中的不同水平线组,且在图像中互为相邻,第一页面以及第二页面位于存储器装置的不同存储体中。

本发明的实施方式另提供了一种存储器地址映射方法,用于控制存储器装置中多个图像的存储,存储器装置包含多个存储体,每个存储体包含多个页面,所述存储器地址映射方法包含:接收第一图像;根据图像分区设置,为第一图像中每个水平线分区产生第一存储器地址设置,其中图像分区设置定义图像被划分为多个水平线组,每个水平线组包含至少一个水平线,且每个水平线组在水平线方向划分为多个水平线分区;接收第二图像;以及根据图像分区设置,为第二图像中每个水平线分区产生第二存储器地址设置;其中,第一水平线分区的第一存储器地址设置,以及第二水平线分区的第二存储器地址设置,控制位于第一图像以及第二图像同一处的第一水平线分区以及第二水平线分区分别存储于第一页面以及第二页面,且第一页面以及第二页面位于存储器装置中的不同存储体中。

本发明的实施方式另提供了一种存储器地址映射电路,用于控制存储器装置中多个图像的存储,存储器装置包含多个存储体,每个存储体包含多个页面,所述存储器地址映射电路包含:接收单元,用于接收第一图像以及第二图像;以及地址产生单元,耦接于接收单元,用于根据图像分区设置,为第一图像中的每个水平线分区产生第一存储器地址设置,以及为第二图像中的每个水平线分区产生第二存储器地址设置,其中图像分区设置定义图像被划分为多个水平线组,每个水平线组包含至少一个水平线,且每个水平线组在水平线方向被划分为多个水平线分区;其中,第一水平线分区的第一存储器地址设置,以及第二水平线分区的第二存储器地址设置,控制位于第一图像以及第二图像同一处的第一水平线分区以及第二水平线分区分别存储于第一页面以及第二页面,且第一页面以及第二页面位于存储器装置中的不同存储体中。

以上所述的存储器地址映射方法及存储器地址映射电路,通过控制存储器装置中图像的存储,可以有效的避免或者减少存储体冲突的发生,从而提高存储器装置的效率。

附图说明

图1显示了DRAM装置的传统的架构图。

图2是根据本发明实施方式的存储器地址映射电路的示意图。

图3是根据本发明实施方式中图像的图像分区设置的示意图。

图4是根据本发明实施方式的存储于存储器装置中的水平线组的示意图。

图5是根据本发明实施方式的存储于存储器装置中的多个水平线组的示意图。

图6是根据本发明实施方式的存储于存储器装置中的多个水平线组的示意图。

图7是根据本发明另一实施方式的存储于存储器装置中的多个水平线组的示意图。

图8是根据本发明实施方式的分配存储体来满足存储体交织需求的示意图。

图9是根据本发明实施方式的在存储器装置中分别存储亮度数据以及色度数据的水平线组的示意图。

图10是根据本发明另一实施方式的在存储器装置中分别存储亮度数据以及色度数据的水平线组的示意图。

具体实施方式

在本说明书以及权利要求书当中使用了某些词汇来指代特定的元件。本领域的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同样的元件。本说明书及权利要求并不以名称的差异作为区分元件的方式,而是以元件在功能上的差异作为区分的准则。在通篇说明书及权利要求当中所提及的“包含”是一个开放式的用语,因此应解释成“包含但不限定于”。另外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可以直接电连接于第二装置,或通过其它装置或连接手段间接地电连接至第二装置。

对于使用时域相邻图像作为关联的图像处理应用,时域相邻图像中的像素可以从存储器装置(例如,DRAM装置)中读取。在传统的设计中,一个图像(例如,一个图场(field))的像素是以光栅扫描顺序(raster scan order)存储于存储器装置中。因此,访问时域相邻图像中的像素(例如,位于不同图像同一处的像素)可能经常遇到存储体冲突的问题。本发明的原理是使用存储体交织技术来存储每个图像,其中每个水平线并不是存储于存储体的同一个页面中。具体来说,所述存储体交织技术利用了存储体中独立读出放大器的平行性(parallelism)。因此,图像的像素并不是以传统的光栅扫描顺序存储于存储器装置中。于是,可以减少存储器装置的连续访问期间中所发生的存储体冲突的次数,而且可以相应的改进存储器装置的访问效率。详细的说明将在后续段落中予以描述。

图2是根据本发明实施方式的存储器地址映射电路202的示意图。存储器地址映射电路202控制存储器装置中多个图像的存储。当接收写入请求REQ_W以及写入数据(例如,图像数据)DATA_W时,存储器地址映射电路202产生包含写入数据DATA_W的存储器地址设置的存储器装置请求REQ_W’,并将写入数据DATA_W以及存储器装置请求REQ_W’输出到存储器控制器208。应注意,写入数据DATA_W的存储器地址设置是根据预定存储体交织规则,由存储器地址映射电路202设定。存储器控制器208控制存储器装置210,以根据存储器装置请求REQ_W’存储写入数据DATA_W。在这个实施方式中,存储器装置210可以由图1所示的DRAM装置100来实现。因此,存储器装置210可以包含多个存储体,每个存储体包含多个页面。

此外,当图像处理电路(例如,去交织电路)212产生读取请求REQ_R,以从存储器装置210中请求读取数据DATA_R时,存储器地址映射电路202根据所述预定存储体交织规则,产生包含读取数据DATA_R的存储器地址设置的存储器装置请求REQ_R’,并将存储器装置请求REQ_R’输出到存储器控制器208,其中,所述预定存储体交织规则有关于控制存储器装置210中图像数据的存储。存储器控制器208控制存储器装置(例如,DRAM装置)210以根据产生自存储器地址映射电路202的存储器装置请求REQ_R’,输出请求的读取数据DATA_R。然后,通过存储器地址映射电路202将读取数据DATA_R传送到图像处理电路212。

在这个实施方式中,存储器地址映射电路202以及图像处理电路212可以整合到单个芯片214,其中存储器地址映射电路202作为用于控制存储器地址与自存储器装置210读/写的数据之间映射的接口。应注意,芯片214可以包含其他处理电路,例如,解调单元、视频解码器等。存储器地址映射电路202的操作详细说明在后续段落中予以描述。

存储器地址映射电路202用于处理包含多个图像(例如,图场)的视频流(video stream)。在这个实施方式中,存储器地址映射电路202包含但不限于,接收单元204以及地址产生单元206。接收单元204用于接收以上所述的读取请求REQ_R、写入请求REQ_W、读取数据DATA_R以及写入数据DATA_W。对于存储器装置210中的第一图像的存储,接收单元204接收由视频流所送的第一图像,且耦接于接收单元204的地址产生单元206用于根据图像分区设置,为第一图像中的每个水平线分区产生第一存储器地址设置。请注意,第一存储器地址设置包含请求存储器控制器208所需求的任意存储器地址,例如,存储体地址、行地址及/或列地址,来适当的将水平线分区的像素存储到存储器装置210,而不会干扰本发明的存储体交织需求。

应注意,相同的图像分区设置将应用于多个图像,其中每个图像具有相同的图像分辨率。举例而言,每个图像是分辨率为720×240、1280×510或1280×540的奇数图场或者偶数图场。

图3是根据本发明实施方式中图像的图像分区设置的示意图。如图3所示,这个实施方式中的图像分区设置定义图像300被划分为多个水平线组302_1、...、302_K,每个水平线组包含至少一个水平线,且每个水平线组在水平线方向被划分为多个水平线分区。举例而言,将水平线组302_1划分为水平线分区304_11、...、304_1L,将水平线组302_2划分为水平线分区304_21、...、304_2L,以此类推。关于其他图像400-700,由于图像400-700中的每一个具有与图像300相同的分辨率,因此可以应用相同的图像分区设置。以图像300以及图像400为例,图像400中定义了水平线组402_1,且水平线组402_1位于图像400中的位置与水平线组302_1位于图像300中的位置相同。换言之,根据同一个图像分区设置,水平线组302_1以及水平线组402_1分别位于图像300以及图像400的同一处(co-locate);此外,将水平线组402_1划分为水平线分区404_11,...,404_1L,其中水平线分区304_11以及水平线分区404_11位于不同图像的同一处,水平线分区304_12以及水平线分区404_12位于不同图像的同一处,以此类推。应注意,每个图像的水平线组的数目及/或每个水平线组的水平线分区的数目是可调节的。

如上所述,在特定的图像处理应用中,位于时域相邻图像中的信息可以互相关联。具体的,特定的图像处理应用可以读取从水平线中所获得的信息,其中所述水平线选自每个时域相邻图像。根据图3所示的图像分区设置的实施方式,由于同一个水平线被分区且被分布(partitioned and distributed)在同一个水平线组的多个水平线分区内,因此地址产生单元206为第一图像中每个水平线组的多个水平线分区产生第一存储器地址设置,来控制包含所述水平线分区的对应水平线组不会存储于存储器装置210的同一个存储体中。更具体的,地址产生单元206为第一图像中同一个水平线组的相邻水平线分区分别产生第一存储器地址设置,其中相邻水平线分区的第一存储器地址设置控制所述相邻水平线分区分别存储于存储器装置210的不同存储体中。

图4是根据本发明实施方式的存储于存储器装置210中的水平线组的示意图。如图4所示,以图3中的水平线组302_1为例,水平线分区304_11,...,304_1L分别存储于存储体BA_11的页面PA_11、...、存储体BA_1L的页面PA_1L中。应注意,由于存储器交织技术,用于存储相邻水平线分区的存储体是不同的存储体。举例而言,存储体BA_11以及存储体BA_12不同。此外,每个存储体BA_11,...,BA_1L选自存储器装置210中的有效存储体。举例而言,如果存储器装置210具有四个存储体BANK_0、BANK_1、BANK_2以及BANK_3,每个存储器BA_11,...,BA_1L是存储体BANK_0、BANK_1、BANK_2以及BANK_3中的一个。这样,访问一个水平线的信息时,可以有效地减少发生存储体冲突的次数。此外,在图4所示的实施方式中,基于设计需求,页面PA_11,...,PA 1L可以对应于相同的页面数(page number)或不同的页面数。也就是,只要同一个水平线组中的相邻水平线分区分别存储于不同的存储体中,则不限制用于存储相邻水平线分区的不同存储体所使用的页面的选择方法。

如上所述,对于一个图像中的每个水平线组,由地址产生单元206所设定的存储器地址设置使得相邻水平线分区分别存储于存储器装置210的不同存储体中。举例而言,一个优选的实施方式是将位于不同图像同一处的多个水平线分区存储于同一个页面,但这并不是本发明的限制。将位于不同图像同一处的多个水平线分区的信息作为关联的情况下,所有需求信息可以从存储体中的同一个页面中读取,而无需读取其他存储体中的页面。由于可以避免从其他存储体中的页面成功地读取数据所需要的非期望等待时间,因此可以进一步改进存储器装置210的访问效率。如图3所示,水平线分区304_11以及水平线分区404_11位于图像300以及图像400的同一处,水平线分区304_12以及水平线分区404_12位于图像300以及图像400的同一处,以此类推。

图5是根据本发明实施方式的存储于存储器装置210中的多个水平线组的示意图。如图5所示,由地址产生单元206所设定的存储器地址设置使得水平线分区304_11以及404_11存储于存储体BA_11的同一个页面PA_11。类似的,通过地址产生单元206控制的适当的存储器映射,水平线分区304_12以及404_12存储于存储体BA_12的同一个页面PA_12,水平线分区304_13以及404_13存储于存储体BA_13的同一个页面PA_13,以此类推。

考虑到当一个输入图像正存储到存储器装置210中时,从已存储于存储器装置210中的时域相邻图像(例如,三个图像)所获得的信息互为关联的情况。换言之,将四个图像缓冲器的存储空间分配于存储器装置210之中,其中每个图像缓冲器的大小等于一个图像的数据大小,且当图像缓冲器全满(full)时,对图像缓冲器中存储新图像的缓冲器执行数据重写操作(data overwriteoperation)。此外,假设存储器装置210中的每个页面大小等于四个水平线分区的大小之和。

图6是根据本发明实施方式的存储于存储器装置210中的多个水平线组的示意图。鉴于以上所述的位于不同图像同一处的多个水平线分区的存储控制,根据由地址产生单元206所设定的存储器地址设置,控制位于不同图像300、400、500以及600同一处的水平线分区304_11、404_11、504_11以及604_11存储于存储体BA_11的页面PA_11,控制位于不同图像300、400、500以及600同一处的水平线分区304_21、404_21、504_21以及604_21存储于存储体BA_21的页面PA_21,以此类推。应注意,包含水平线分区304_11,...,304_1L的水平线分组302_1,以及包含水平线分区304_21,...,304_2L的水平线分组302_2,在同一个图像300中互为相邻;包含水平线分区404_11,...,404_1L的水平线分组,以及包含水平线分区404_21,...,404_2L的水平线分组,在同一个图像400中互为相邻;包含水平线分区504_11,...,504_1L的水平线分组,以及包含水平线分区504_21,...,504_2L的水平线分组,在同一个图像500中互为相邻;以及包含水平线分区604_11,...,604_1L的水平线分组,以及包含水平线分区604_21,...,604_2L的水平线分组,在同一个图像600中互为相邻。根据应用于图5所示水平线分区的存储体交织技术,用于存储同一个水平线组中相邻水平线分区的存储体是不同的存储体。对于图6所示的实施方式,也对同一个水平线组的相邻水平线分区应用了同一个存储体交织技术。

假设图像300、400以及500已存储于存储器装置210,且图像600当前正被存储到存储器装置210。因此,当启动特定的图像处理应用(例如,去交织)时,从已存储的图像300、400以及500中获得的信息可以互为关联。举例而言,可以从存储器装置210中读取位于图像300、400以及500同一处的三个像素的像素数据,以作为关联。根据图6所示的实施方式,因为位于不同图像同一处的水平线分区存储于同一个存储体中,所以读取位于图像300、400以及500同一处的三个像素的像素数据不会遇到任何存储体冲突。然而,可以从存储器装置210中读取并不是全部位于图像300、400以及500同一处的四个像素的像素数据以作为关联,此种情况是可能的。举例而言,关联像素可以分别位于水平线分区304_11、404_21以及504_21上。因此,读取并不是全部位于图像300、400以及500同一处的三个像素的像素数据时,如果需求的像素数据存储于同一个存储体的不同页面,则可能遇到存储体冲突。为了避免这种情况,应用于图6所示水平线分区的存储体交织技术,也可以控制水平线分区来通过存储器地址设置的适当控制而存储于不同的存储体中,其中,所述水平线分区包含在同一个图像的不同水平线组中,互为相邻且不可以存储于存储体的同一个页面。因此,存储体BA_11以及存储体BA_21是存储器装置210的不同存储体,存储体BA_12以及存储体BA_22是存储器装置210的不同存储体,以此类推。

考虑到当一个输入图像正被存储到存储器装置210时,从已存储于存储器装置210的时域相邻图像(例如,四个图像)所获得的信息互为关联的另一种情况。换言之,将五个图像缓冲器的存储空间分配在存储器装置210之中。此外,假设存储器装置210中的每个页面的大小等于四个水平线分区大小之和。请参考图7,是根据本发明另一实施方式的存储于存储器装置210中的多个水平线组的示意图。如图7所示,当位于图像300、400、500以及600同一处的水平线分区304_11、404_11、504_11以及604_11存储于存储体BA_11的页面PA_11时,由于存储体BA_11的页面PA_11没有存储额外水平线分区的可用存储空间,因此控制位于图像700同一处的水平线分区704_11存储于存储体BA_21的页面PA_21。基于同一种原因,控制图像700中的其他水平线分区704_12,...,704_1L分别存储于存储体BA_22的页面PA_22,...,存储体BA_2L的页面PA_2L。由于控制水平线分区704_11存储于存储体BA_21的页面PA_21,仅位于图像300、400以及500同一处的水平线分区304_21、404_21以及504_21可以存储于存储体BA_21的同一个页面PA_21。类似的,仅位于图像300、400以及500同一处的水平线分区304_22、404_22以及504_22可以存储于存储体BA_22的同一个页面PA_22,仅位于图像300、400以及500同一处的水平线分区304_23、404_23以及504_23可以存储于存储体BA_23的同一个页面PA_23,以此类推。如图7所示,位于不同图像同一处的水平线分区没有存储于存储体的同一个页面。假设当启动特定的图像处理应用(例如,去交织)时,从四个已存储的图像中获得的信息互为关联。举例而言,可以从存储器装置210中读取位于四个图像同一处的四个像素的像素数据,来作为关联。根据图7所示的实施方式,因为位于不同图像同一处的水平线分区并不保证存储于同一个存储体,所以如果需求的像素数据存储于同一个存储体的不同页面,则读取位于四个图像同一处的四个像素的像素数据可能会遇到存储体冲突。为了避免发生这种存储体冲突,应用在图7所示水平线分区的存储体交织技术,也可以控制水平线分区来通过存储器地址设置的适当控制而存储于不同存储体中,其中,所述水平线分区位于不同图像的同一处且不可以存储于存储体的同一个页面。因此,存储体BA_11以及存储体BA_21是存储器装置210的不同存储体,存储体BA_12以及存储体BA_22是存储器装置210的不同存储体,以此类推。

关于图6以及图7所示的实施方式,水平线分区的存储器地址设置是由地址产生单元206所控制,以使存储体BA_11至BA_1L以及存储体BA_21至BA_2L满足期望的存储体交织需求,其中,期望的存储体交织需求用于避免/减少可能发生的存储体冲突。

图8是根据本发明实施方式的分配存储体来满足存储体交织需求的示意图。假设存储器装置210只具有四个存储体BANK_0、BANK_1、BANK_2以及BANK_3。沿图8所示的箭头方向,将存储体BANK_0、BANK_1、BANK_2以及BANK_3以循环顺序分配,从而决定交织存储体BA_11至BA_1L、存储体BA_21至BA_2L以及存储体BA_31至BA_3L。这样,对于图6所示的实施方式,可以保证同一个水平线组的相邻水平线分区存储于存储器装置210的不同存储体中,且可以保证水平线分区存储于存储器装置210的不同存储体中,其中所述水平线分区包含于同一个图像的不同水平线组,互为相邻且不可以存储于存储体的同一个页面。换言之,即可满足用于避免/减少可能发生的存储体冲突的期望存储体交织需求。除此之外,对于图7所示的实施方式,可以保证同一个水平线组的相邻水平线分区存储于存储器装置210的不同存储体中,且可以保证位于不同图像同一处的水平线分区存储于存储器装置210的不同存储体中,其中位于不同图像同一处的水平线分区不可以存储于存储体的同一个页面。因此,可以满足用于避免/减少可能发生的存储体冲突的期望存储体交织需求。

然而,应注意,图8所示的存储体交织配置只是一种可行的实施方式。只要可以满足用于避免/减少可能发生的存储体冲突的期望存储体交织需求,则可以使用任意存储体交织配置。

此外,以上所述的实施方式只用于说明本发明,并不能作为本发明的限制。举例而言,在一个替代设计中,不要求图6所示的同一个水平线组的相邻水平线分区存储于存储器装置210的不同存储体中,通过使包含于同一个图像中不同水平线组的互为相邻的水平线分区存储于存储器装置210的不同存储体中,可以达到减少存储体冲突发生的目的。举例而言,如图6所示,在这个替代设计中,同一个水平线组302_1的相邻水平线分区304_11以及304_12可以存储于同一个存储体(也就是,存储体BA_11等同于存储体BA_12)中;然而,在这个替代设计中,可以控制水平线分区304_11以及304_12存储于不同存储体(也就是,存储体BA_11不等同于存储体BA_12)中,其中,水平线分区304_11以及304_12包含于同一个图像300的不同水平线组302_1以及302_2,互为相邻且不可以存储于存储体的同一个页面。水平线分区304_11以及304_12不可以存储于存储体的同一个页面,这并不能作为本发明的限制。类似的,考虑另一个替代设计,其中不要求图7所示的同一个水平线组的相邻水平线分区存储于存储器装置210的不同存储体中,通过使位于不同图像同一处的水平线分区存储于存储器装置210的不同存储体中,可以达到相同的减少存储体冲突发生的目的,其中,位于不同图像同一处的水平线分区不可以存储于存储体的同一个页面。举例而言,如图7所示,在这个替代设计中,同一个水平线组的相邻水平线分区604_11以及604_12可以存储于同一个存储体(也就是,存储体BA_11等同于存储体BA_12)中;然而,在这个替代设计中,可以控制位于不同图像600以及700同一处的水平线分区604_11以及704_11,存储于不同存储体BA_11以及BA_21(也就是,存储体BA_11不等同于存储体BA_12),其中,水平线分区604_11以及704_11不可以存储于存储体的同一个页面,这并不能作为本发明的限制。这种替代设计都应该涵盖在本发明的范围内。

视频系统传递的图像数据的格式是:一个表示亮度(luminance)的分量以及两个表示颜色(色度(chrominance))的分量。因为人眼对亮度比对颜色更加敏感,通过存储比颜色细节更多的亮度细节可以使带宽最优化。在正常的视线距离(viewing distance)上,用较低的速率抽样颜色细节不会导致可以察觉的损耗。色度部分抽样(chroma subsampling)是实现亮度信息比颜色信息具有更多分辨率的惯用技术。举例而言,色度部分抽样方法可以是4:2:0或者是4:2:2。存储器地址映射电路202可以分开处理亮度信息以及色度信息,从而适应不同类型的色度格式。

请结合图9与图4。图9是根据本发明实施方式的在存储器装置210中分别存储亮度数据以及色度数据的水平线组的示意图。图3所示的水平线组302_1所包含的每个水平线分区304_11,...,304_1L包含亮度数据以及色度数据。举例而言,如图9所示,水平线分区304_11包含亮度数据304_11’以及色度数据304_11”,水平线分区304_12包含亮度数据304_12’以及色度数据304_12”,以此类推。在图4所示的实施方式中,每个水平线分区的亮度数据以及色度数据存储于存储体的同一个页面。然而,在图9所示的替代设计中,每个水平线分区的亮度数据以及色度数据并不是存储于存储体的同一个页面。虽然每个水平线分区的亮度数据以及色度数据分别存储于不同页面中,地址产生单元206可以使用应用于图4、图5、图6或图7中水平线分区存储的同一个存储体交织技术,来控制每个水平线分区的亮度数据存储以及色度数据存储。以同一个水平线组302_1中的水平线分区304_11,...,304_1L的亮度数据存储以及色度数据存储为例,相邻水平线分区的亮度数据存储于不同的存储体中,且相邻水平线分区的色度数据存储于不同的存储体中。因此,可以达到避免/减少存储体冲突的目的。

对于电视应用,可能要求每个像素10位的精确度。然而,在一些情形中,可以使用每个像素8位的精确度以便节省存储器带宽。有鉴于此,存储器地址映射电路202可以适当配置从而能够支持可调节的像素精确度。对于每个水平线分区,接收单元204从亮度数据中取得多个亮度数据部分,包含至少一个最高有效位(most significant bit,以下简称为MSB)亮度数据部分以及一个最低有效位(least significant bit,以下简称为LSB)亮度数据部分,且接收单元204从色度数据中取得多个色度数据部分,包含至少一个MSB色度数据部分以及一个LSB色度数据部分。其中,MSB亮度数据部分是所述水平线分区中多个像素的亮度信息的多个MSB集合;LSB亮度数据部分是所述水平线分区中所述多个像素的亮度信息的多个LSB集合;MSB色度数据部分是所述水平线分区中所述多个像素的色度信息的多个MSB集合;以及LSB色度数据部分是所述水平线分区中所述多个像素的色度信息的多个LSB集合;此外,由地址产生单元206所产生的用于所述水平线分区的存储器地址设置,控制MSB亮度数据部分以及LSB亮度数据部分不存储于同一个页面,且控制MSB色度数据部分以及LSB色度数据部分不存储于同一个页面。

假设每个水平线分区的亮度数据只划分为一个MSB亮度数据部分以及一个LSB亮度数据部分,且每个水平线分区的色度数据只划分为一个MSB色度数据部分以及一个LSB色度数据部分。举例而言,一个像素的10位亮度/色度数据划分为一个2位亮度/色度MSB部分(也就是,2个MSB)以及一个8位亮度/色度LSB部分(也就是,8个LSB)。

请参照图10,图10是根据本发明另一实施方式的在存储器装置210中分别存储亮度数据以及色度数据的水平线组的示意图。图3所示的水平线组302_1所包含的水平线分区304_11,...,3041L包含亮度数据(例如,图9所示的304_11’,...,304_1L’)以及色度数据(例如,图9所示的304_11”,...,304_1L”)。在图10所示的实施方式中,将亮度数据304_11’分隔为MSB亮度数据部分304_11’MSB以及LSB亮度数据部分304_11’LSB,其中,MSB亮度数据部分304_11’MSB以及LSB亮度数据部分304_11’LSB由用于水平线分区304_11的存储器地址设置来控制,以分别存储于存储体BA_11的页面PA_11以及存储体BA_11”的页面PA_11”中,将亮度数据304_12’分隔为MSB亮度数据部分304_12’MSB以及LSB亮度数据部分304_12’LSB,其中,MSB亮度数据部分304_12’MSB以及LSB亮度数据部分304_12’LSB由用于水平线分区304_12的存储器地址设置来控制,以分别存储于存储体BA_12的页面PA_12以及存储体BA_12”的页面PA_12”中,以此类推。类似的,将色度数据304_11”分隔为MSB色度数据部分304_11”MSB以及LSB色度数据部分304_11”LSB,其中,MSB色度数据部分304_11”MSB以及LSB色度数据部分304_11”LSB由用于水平线分区304_11的存储器地址设置来控制,以分别存储于存储体BA_11’的页面PA_11’以及存储体BA_11”’的页面PA_11”’中;将色度数据304_12”分隔为MSB色度数据部分304_12”MSB以及LSB色度数据部分304_12”LSB,其中,MSB色度数据部分304_12”MSB以及LSB色度数据部分304_12”LSB由用于水平线分区304_12的存储器地址设置来控制,以分别存储于存储体BA_12’的页面PA_12’以及存储体BA_12”’的页面PA_12”’中,以此类推。

虽然亮度数据的亮度数据部分分别存储于不同的页面,且色度数据的色度数据部分分别存储于不同的页面,地址产生单元206可以使用应用于图4、图5、图6或图7中水平线分区存储的同一个存储体交织技术,来控制每个水平线分区的亮度数据部分的存储以及色度数据部分的存储。以同一个水平线组302_1中的水平线分区304_11,...,304_1L的亮度数据部分的存储以及色度数据部分的存储为例,相邻水平线分区的MSB亮度数据部分存储于不同的存储体中;相邻水平线分区的LSB亮度数据部分存储于不同的存储体中;相邻水平线分区的MSB色度数据部分存储于不同的存储体;以及相邻水平线分区的LSB色度数据部分存储于不同的存储体。因此,可以达到避免/减少存储体冲突的目的。

在使用每个像素10位的精确度的情况下,从存储器装置210中读取需求关联像素的亮度数据的2位MSB亮度数据部分以及8位LSB亮度数据部分,以及从存储器装置210中读取关联像素的色度数据的2位MSB色度数据部分以及8位LSB色度数据部分。如图10所示,同一个水平线分区的MSB亮度数据部分、LSB亮度数据部分、MSB色度数据部分以及LSB色度数据部分存储于不同的页面。如果同一个水平线分区的MSB亮度数据部分、LSB亮度数据部分、MSB色度数据部分以及LSB色度数据部分中的至少两个存储于同一个存储体中,将发生存储体冲突。因此,在一个范例的实施方式中,由地址产生单元206所产生的用于每一个水平线分区的存储器地址设置,控制同一个水平线分区的MSB亮度数据部分、LSB亮度数据部分、MSB色度数据部分以及LSB色度数据部分,分别存储于不同的存储体中。也就是,存储体BA_11、BA_11’、BA_11”以及BA_11”’是存储器装置210的不同存储体,存储体BA_12、BA_12’、BA_12”以及BA_12”’是存储器装置210的不同存储体,以此类推。

此外,当将每个像素10位的精确度改为每个像素8位的精确度时,从存储器装置210只可以读取需求关联像素的亮度数据的8位LSB亮度数据部分,以及关联像素的色度数据的8位LSB色度数据部分。由于同一个水平线分区的MSB亮度数据部分、LSB亮度数据部分、MSB色度数据部分以及LSB色度数据部分是分开存储的,则可以立即释放MSB亮度数据部分以及MSB色度数据部分的存储器空间。

请注意,在以上所述的实施方式中,在地址产生单元206的控制下且存储于同一个页面的水平线分区/亮度数据部分/色度数据部分不要求具有特定的存储顺序。举例而言,根据图6所示的自上而下的顺序,水平线分区304_11、404_11、504_11以及604_11可以存储于页面PA-11中的连续存储器地址。在一个替代设计中,根据不同于自上而下的顺序,水平线分区304_11、404_11、504_11以及604_11可以存储于页面PA-11中的连续存储器地址。简而言之,只要满足存储器交织要求,则可以根据实际的设计考虑,来调节同一个页面的存储空间中的水平线分区/亮度数据部分/色度数据部分的布置。

如上所述,当图像处理电路(例如,去交织电路)212产生读取请求REQ_R,以便从存储器装置210中请求读取数据DATA R时,存储器地址映射电路202根据用于控制存储器装置210中图像数据存储的预定存储体交织规则,来产生包含读取数据DATA_R的存储器地址设置的存储器装置请求REQ_R’,并将存储器装置请求REQ_R’输出到存储器控制器208。因此,根据图4、图5、图6、图7、图9以及图10所示的存储体交织规则中的一个实施方式,当多个图像存储于存储器装置210时,地址产生单元206依据用于控制图像数据存储的同一个存储体交织规则,来产生用于从存储器装置210中读取请求的数据的存储器地址设置。本领域中的技术人员,在阅读以上关于存储器装置210中图像数据的存储布置的段落后,应该可以理解所述读取操作,因此为了简洁起见,此处省略对其进一步的描述。

如图1所示,每个存储体具有其专用的读出放大器,从而允许每个存储体独立地工作。借助于存储体交织技术,连续存储器访问将对不同的存储体寻址。因此,可以提前预充电以及启动由下一个存储器访问来读写的页面,来将等待时间周期重叠(hide)在当前存储器访问的周期中。举例而言,图2所示的存储器控制器208可以包含用于缓冲读取/写入请求的命令队列(command queue),所述命令队列允许存储器控制器208先行控制(look ahead)。除了以上所述的存储体交织技术之外,可以使用预充电/启动的高优先(pre-charge/active high priority,以下简称为PAPRI)功能,来进一步改进存储器装置210的访问效率。应注意,所述命令队列必须足够深从而使存储器控制器208及早地发出预充电命令以及启动命令,来补偿等待时间周期。

存储器地址映射电路202可以只用于特定的图像处理应用(例如,去交织应用)。因此,存储器地址映射电路202以及图像处理电路212整合到同一个芯片214中。然而,在一个替代设计中,存储器地址映射电路202可以在多个应用之中实现。举例而言,存储器地址映射电路202可以整合到存储器控制器208中,因此二者处于同一个芯片214中。这种替代设计也遵从了本发明的精神。

虽然本发明已以具体实施方式揭露如上,然其并非用以限定本发明,任何本领域中的技术人员,在不脱离本发明的范围内,可以做一些改动,因此本发明的保护范围应以权利要求所界定的范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号