图像在存储器中的地址映射方法

文档序号:7971579阅读:350来源:国知局
专利名称:图像在存储器中的地址映射方法
技术领域
本发明涉及图像存储,尤其涉及视频图像数据对同步动态随机访问存储器(SDRAM)的地址映射方法。
技术背景随着人们生活水平的提高,各类多媒体消费性电子产品也在人们生活中 曰益普遍。音视频编码是多媒体消费性电子产品中一种非常重要的技术。 目前国际上普遍采用的MPEG系列标准与H26X系列标准等均为有关音视 频编码的技术标准。在这些标准中数据常常以块状形式在存储器中进行存 储,对采用线性地址的存储器的存取提出了一些难题,此外,由于音视频 编码的数据量大,对存储器的访问带宽要求也相应提高。在对存储器进行存取操作时,如果访问的存储单元与上次存取操作在同 一存储组(Bank)中的不同行地址,我们称之为"行不命中"或两个访问 命令地址不相关,这种情况下,存储器需要进行预充电(precharge),并 激活新的行地址。即,先关闭目前已经打开的行地址,并关闭当时激活的 存储组,然后再重新激活同一存储组,并打开新的行地址,从而转换到新 的行地址。对存储器中同一存储组的访问,地址不相关的两个相邻的对存 储器的访问命令会产生较大的开销,延迟时间较长;而地址相关的两个相 邻的存储器访问,访问同一个存储组的相同行地址,所需的开销比较小,延迟时间也小。目前视频编码技术中常常将一幅图像划分成多个相同大小的宏块,以宏 块为单元进行编码和解码,以便于运动预测和运动补偿以及以突发(burst) 方式对存储器进行存取操作等。 一幅图像上的象素具有二维地址,而存储 器的物理地址主要是线性的,因此, 一幅图像上的象素往往需要按照一定 的规则映射到存储器的物理地址上。现有技术中直接以宏块为单元对存储
器的地址映射,常常导致存储器频繁地预充电,因而对整个系统的带宽要 求带来相当大的压力。通常,存储器的操作对带宽的影响主要可以从三个方面进行综合考虑。 可参考图1。首先是解码后解码器11对存储器12的数据输出。从逻辑上看,解码输 出主要是以宏块为单位将图像数据写到存储器的相应地址。对于解码输出 的解码宏块,它的起始地址是确定的,每次输出的解码宏块大小可能为16*16,或8*8、 4*4等。为具有良好的兼容性,解码输出可能有场输出和 帧输出两种不同的输出格式。 一般地,场输出对一幅图像进行逐行扫描, 帧输出对一幅图像进行隔行扫描。在图象数据写入到存储器的地址时,需 要满足无论在哪种输出格式下,都尽量使输出一幅图象中所有的解码宏块 时存储器可能产生的预充电的频率达到最小。其次是显示播放的数据输入。在图1上表现为从存储器12输入到显示 设备13的图像数据。从逻辑上看,显示播放的数据输入主要采用对整张一 幅图像先水平方向从左到右、再垂直方向从上到下的行扫描方式,需要频 繁地在一幅图象的同一行的多个宏块间切换读取数据。尤其在图像的水平 分辨率较高的情况下, 一幅图像上同一行的象素数较多,分散在较多的宏 块中,会引起存储器更为频繁的预充电。第三是运动补偿引起的数据输入,从图1上来看,则是从存储器I2到 解码器ll的数据。由于MPEG2、 MPEG4、 H.264等视频压縮算法中,一 幅图像被划分成多个宏块,并在视频压縮编码时同时采用运动预测及运动 补偿的方式来消除冗余成分。视频图象解码过程中,不完全帧的运动补偿 需要根据基值和运动矢量,计算得到在相对应的参考帧中的参考宏块,并 由参考宏块进行运动补偿而得到完整的帧。因此运动补偿时需要频繁地访 问存储器。尤其是双向预测中B帧解码的时候,需要从存储于存储器的前 向参考帧和后向参考帧各输入一个参考宏块,运算完毕后再输出一个宏块 给存储器。整个宏块运算过程需要2次读存储器,1次写存储器的动作。例 如,对于通常的运动向量为整数的点,对于亮度分量Y分量, 一般需要读
入2个16*16的宏块,写回l个16*16的宏块。参考帧输入的参考宏块的起始地址由运动向量决定,因而是不确定的。由于运动补偿计算在重构时可能需要采用插值计算,参考图像的参考宏块通常可能出现最大为17*17 的宏块,地址不确定的机率也更大。运动补偿中参考帧输入的参考宏块起 始地址不确定,可能导致存储器的频繁的预充电,增加了访问存储器时的 访问开销。按照目前业界的图像映射方法,设计人员常常努力把大小为16*16的宏 块或者大小为整数个16*16的宏块作为一个映射单元存放在存储器的同一 存储行,以此来提高相邻象素的行命中率,从而减少存储器的预充电。同 时,在现有技术中,通常设计人员会尽量使一个映射单元的行长和列长接 近,以减小切换行时预充电的概率。但对于高清度电视来说,由于清晰度要求提高,其分辨率也必然相应地 增大。目前高清电视接收系统分辨率的大小从标清采用的720 X 576象素或 720X 480象素提高到1920 X 1080象素。为应对数据量大幅增加带来的存 储和带宽上的压力,高清电视接收系统在许多性能指标上也提出了一些更 高的需求。例如,在高清电视接收系统中,存储器的容量往往增加到16M 或32M字节;存储器的数据宽度也从标准清晰度电视的16或32位增加到 64位。这些性能上的提升为实现真正的高清晰度提供了一定的保证,但同 时也为对存储器的操作带来了更多的问题。现有技术中的以大小为整数个 16*16的宏块作为一个映射单元以及尽量使一个映射单元的行长和列长接 近等技术方案,无法达到兼顾以上所述对解码器对存储器的数据输出、显 示播放的数据输入以及运动补偿引起的数据输入三个方面的带宽要求。本 发明试图提出一种解决方案,能同时满足在解码器对存储器的数据输出中、 在显示播放的数据输入中以及在运动补偿引起的数据输入中都能降低发生 行不命中的概率,并提高存储器的存取速度。由本申请的申请人先于本申请提交的第200610024203.X号中国发明专利申请也涉及一种图像在存储器中的地址映射方法,该申请作为参考被引 用于此
发明内容
为克服现有技术中存在的缺陷,本发明提出了一种视频接收系统中视频 图像数据对存储器的地址映射方法,能够降低对存储器读写操作时发生行 不命中的概率,降低对系统的带宽要求,同时提高存储器的存取速度,并 使存储器的多个存储阵列最大效率的交替工作。根据本发明的一个方面,提供一种图像对存储器的地址映射方法,用以将 解码后的图像数据映射到存储器的相应地址,每一幅图像数据逻辑上可划分成 多个相同的矩形宏块,所述存储器具有至少两个存储阵列,每个存储阵列中包 含多个存储行,所述方法包括以下步骤(1) 将一幅图像划分成多个矩形的映射单元,每个映射单元具有预定 的行长与列长,其中,每个映射单元的大小与存储器的存储行行长相关联,使同一映射单元内的所有象素映射到存储器的同一存储行;每个映射单元的行长与存储器的数据宽度相关联,使线性扫描时存储阵列能够最大效率地交替工作;每个映射单元的列长与存储器的数据宽度和所述宏块的宽度 相关联,使对一幅图像块状扫描时存储阵列能够最大效率地交替工作;(2) 以一个映射单元为单位,将各映射单元按照先水平方向从左到右、 再垂直方向从上到下的顺序依次连续映射到存储器, 一个映射单元中的所 有象素依次连续映射到所述存储器的同--存储阵列的同一存储行;(3) 当存储器的同一存储行映射满后,切换存储阵列映射下一个映射 单元,对至少两个存储阵列交替映射,直到一幅图像映射完成。根据本发明的上述方法,其中,上述步骤(O中,每个映射单元的行 长还与存储器中存储阵列的数量和系统的水平分辨率相关联,使逻辑上一 幅图像中水平相邻或垂直相邻的映射单元总是映射到存储器中不同存储阵 歹ij,对起始地址不确定的宏块存取时存储阵列能够最大效率地交替工作。根据本发明的上述方法,其中,所述步骤(1)中,使所述映射单元的 大小与存储器中存储行的长度相适应,存储器的存储行行长是每个映射单元的大小的整数倍。 根据本发明的上述方法,其中,所述步骤(1)中,使每个映射单元的 行长大于存储器的数据宽度与存储阵列一次激活所需的时间的乘积。根据本发明的上述方法,其中,所述步骤(1)中,使每个映射单元的 列长的一半与宏块宽度的乘积大于存储器的数据宽度与存储阵列一次激活 所需的时间的乘积。根据本发明的上述方法,其中,所述步骤(1)中,使系统的水平分辨 率是映射单元行长的整数倍,并且所述水平分辨率除以每个映射单元的行 长的结果不能被存储阵列的数量所整除。根据本发明的上述方法,其中, 一个映射单元的行长与列长均为2的整 数次方个象素。根据本发明的上述方法,其中,当所述图像数据为YUV格式的图像数据 时,所述步骤(2)进一步包括单独将Y分量信号进行映射,而将UV分量信 号排列在一起以拼接形式进行映射的步骤。根据本发明的上述方法,其中,系统水平分辨率为1920象素,设置所述 存储器的容量为32M字节,存储器的数据宽度为64位,存储器的存储行 行长为1024字节,每个映射单元的行长为128,列长为8。根据本发明的上述方法,其中,在所述步骤(1)中,使每个映射单元的 行长设置得尽量长。本发明中每个映射单元的行长与存储器的数据宽度相关联,使得显示输 入时存储阵列能够最大效率地交替工作。列长与映射单元的行长和存储器 的存储行行长相关联,使得解码输出时存储阵列能够最大效率地交替工作。 同一映射单元内的所有象素映射到存储器的同一存储行,降低了存储器预充电的频率。每个映射单元的行长还与存储器中存储阵列的数量和系统的 水平分辨率相关联,使逻辑上一幅图像中水平相邻或垂直相邻的映射单元总是映射到存储器中不同存储阵列,使运动补偿解码中读取参考宏块时, 存储阵列能够最大效率地交替工作。在满足前述要求的情况下,每个映射 单元的行长尽量长,减少了运动补偿解码在时引起存储器预充电的概率。 本发明克服了现有技术中以大小为整数个16*16的宏块作为一个映射单元
以及尽量使一个映射单元的行长和列长接近等技术偏见,从对解码器对存 储器的数据输出、显示播放的数据输入以及运动补偿引起的数据输入三个 方面综合考虑了存储器的操作对带宽的影响,降低了存储器预充电的频率, 因而降低了对系统带宽的要求。同时本发明使存储阵列能够最大效率地交 替工作,提升了存储器的整体效率,提高了存储器的存取速度,并因而进 一步降低了对系统带宽的要求。


以下附图为对本发明示例性实施例的辅助说明,结合以下附图对本发明 实施例的阐述,是为进一步揭示本发明的特征所在,但并不限制本发明, 图中相同符号代表实施例中相应元件或步骤,其中图1为视频数据接收系统的结构示意图。图2为本发明的图像数据对存储器的地址映射方法流程图。图3A和图3B分别表示在解码场输出情况下,Y宏块和UV宏块对存储 器地址映射的象素排列顺序。图4表示显示输入时对一幅图像的线性扫描示意图。 图5A和5B分别表示解码帧输出和场输出时对一幅图像的块状扫描示意图。图6为图像对存储器地址映射时, 一幅图像上的映射单元在存储器的不 同存储阵列的分布情况示意图,并表示了运动补偿解码时参考宏块在划分 了映射单元的一幅图像中可能出现的一种位置。图7显示了运动补偿解码时在一幅图像中对参考宏块进行地址映射的扫描示意图。图8为图像对存储器地址映射时存储阵列交替映射的顺序示意图。
具体实施方式
在MPEG标准中,通常把每一幅图像划分为多个矩形宏块,以宏块形式 进行图像数据的传送和存储。每个宏块包含一定的行数,每行包含一定数
量的象素点。本发明并把一幅图像划分成多个矩形的映射单元,每个映射 单元具有预定的行长与列长。参考图2,本发明提出一种图像数据对存储器的地址映射方法,其中每 一幅图像数据可以从逻辑上划分成多个相同的矩形宏块,该存储器其具有至少两个存储阵列(bank),每个存储阵列(bank)中包含多个存储行(row)。 数据在存储器中的存放方式为一维地址。该地址映射方法包括以下步骤步骤S21,将每一幅图像划分成多个相同的矩形的映射单元,每个映射 单元具有预定的行长与列长。其中,每个映射单元的大小与存储器的存储行行长相关联,使同一映射 单元内的所有象素映射到存储器的同一存储行。例如,映射单元的大小与 存储器中存储行的长度相适应。或者,存储器的存储行行长是每个映射单 元的大小的整数倍,使同一映射单元内的所有象素映射到存储器的同一存 储行;每个映射单元的行长与存储器的数据宽度相关联,使水平线性扫描时存 储阵列能够最大效率地交替工作。例如,每个映射单元的行长大于存储器 的数据宽度与存储阵列一次激活所需的时间的乘积;每个映射单元的列长与存储器的数据宽度和宏块的宽度相关联,使对一 幅图像块状扫描时存储阵列能够最大效率地交替工作。例如,每个映射单 元的列长的一半与宏块宽度的乘积大于存储器的数据宽度与存储阵列一次 激活所需的时间的乘积;同时,每个映射单元的行长还与存储器中存储阵列的数量和系统的水平 分辨率相关联,使逻辑上一幅图像中水平相邻或垂直相邻的映射单元总是 映射到存储器中不同存储阵列,使对起始地址不确定的宏块存取时存储阵 列能够最大效率地交替工作。例如水平分辨率是映射单元行长的整数倍, 并且水平分辨率除以每个映射单元的行长的结果不能被存储阵列的数量所 整除。步骤S22,以一个映射单元为单位,将各映射单元按照先水平方向从左 到右、再垂直方向从上到下的顺序依次连续映射到存储器, 一个映射单元
中的所有象素依次连续映射到存储器的同一存储阵列(bank)的同一存储 行(row)。步骤S23,存储器的同一存储行映射满后,切换存储阵列映射下一个映 射单元,对至少两个存储阵列交替映射,直到一幅图像映射完成。这里的存储器可以是含DRAM核的存储模块,例如同步动态随机存储 器(SDRAM)、双倍速率存储器(DDR)等。每个映射单元中的各象素按照先水平方向从左到右、再垂直方向从上到 下的顺序依次连续映射到存储器的地址。本发明采用两个以上的存储阵列(bank)交替工作,对其中一个存储阵 列进行存取操作的同时,可对其它存储阵列进行激活,从而提高存储器的 工作效率,并加快工作速度。 一般而言,存储器进行一次激活的时间大约 为6个时钟周期。如果存储阵列在交替工作中,每个存储阵列的一次存取 操作工作时间大于一次激活的时间,则存储阵列进行激活的操作完全可以在其它存储阵列的存取操作的过程中完成。当存储阵列进行激活的操作完 全可以在对其它存储阵列的存取操作的过程中完成时,从一个方面来说, 存储器中的存储阵列能够最大效率地交替工作。数字视频压縮经常采用分量视频的形式,在YUV格式中,Y为亮度分 量,U、 V分别为色度分量。在本发明的一些实施例中,以YUV格式对 图像数据进行编解码。YUV格式的图像数据中,对于一幅图像的每种分量 可以各以--个方框图来表示, 一幅图像的每种分量均可以划分成多个相同 的矩形宏块。本实施例中以采样结构为4: 2: 0格式的解码方式来进行说 明。在4: 2: 0格式下,无论为行方向或列方向,亮度分量的采样频率为 色度分量采样频率的2倍。因此, 一个Y宏块的大小通常为16*16象素, 宽度和高度均为16,共256象素;而一个U宏块或一个V宏块的大小通常 为8*8象素,共64象素。在本实施例中,采样结构为4: 2: 0格式,可将 Y宏块单独映射,而U、 V宏块排列在一起,以拼接(Packet)形式进行映 射。 一幅图象中,Y宏块为16*16象素,U、 ¥宏块分别为8*8象素,拼接 后的UV宏块大小为8*16象素。每象素为l字节。对于YUV格式的图像
数据,可以在存储器中把Y分量和UV分量的数据分开存储。在需要对--幅图象的数据进行存取时,可以分别从存储器中各自的地址区域中存取相 应的Y宏块与UV宏块。图3A和图3B分别表示在解码场输出情况下,Y 宏块和UV宏块对存储器地址映射的象素排列顺序。其中字母下标的逗号 左边的数字表示该象素在一幅图像的每个宏块内部所处的行数,右边的数 字表示列数。在此以一种高清电视接收系统为例来进一步解释本发明。可以理解,本 发明并不限于高清电视接收系统,而同样适用于其它视频接收设备或视频 中转设备。一般地,高清电视接收系统的分辨率的大小为1920 X 1080象素, 存储器的容量为32M字节,存储器的数据宽度为64位,存储器的存储行 (row)行长为1024字节。在本实施例中,首先提供存储器,其包含两个存储阵列,分别为第一存 储阵列和第二存储阵列。然后在逻辑上把每幅图像划分为多个相同的矩形映射单元,每个映射单元具有预定的行长与列长。每个映射单元的行长与 列长在综合考虑以下所述的因素后确定。在较好的实施方式中, 一个映射单元的行长与列长均为2的整数次方个 象素。这样有利于地址线的充分利用,从一个方面减少芯片面积。1.每个映射单元的大小与存储器的存储行行长相关联,使同一映射单 元内的所有象素映射到存储器的同一存储行。例如,映射单元的大小与存 储器中存储行的长度相适应,存储器的存储行行长是每个映射单元的大小 的整数倍,使同一映射单元内的所有象素映射到存储器的同一存储行。在视频数据的逻辑上的一幅图像对存储器的物理地址进行映射时,同一 映射单元中的所有象素依次连续映射到存储器的同一存储阵列的同一存储行,并且使水平相邻或左右相邻的映射单元映射到不同的存储阵列。当存 储器的存储行行长是映射单元大小的整数倍时,能够使同一映射单元中的 所有象素映射到同一存储行。在对同一映射单元进行扫描时,不会发生存 储器的预充电。换句话说,映射单元的行长和存储器的存储行行长相关联。 在本实施例中,每个映射单元的大小与存储器的一个存储行容量(即存储
行行长)相等。高清电视接收系统中通常使用的存储器的存储行行长为1024 字节,则映射单元的大小为1024字节。映射单元的大小为映射单元的行长 与映射单元的列长的乘积,例如可以假设映射单元的行长为128象素,列 长则为8象素。2.每个映射单元的行长与存储器的数据宽度相关联,使水平线性扫描 时存储阵列能够最大效率地交替工作。例如,每个映射单元的行长大于存 储器的数据宽度与存储阵列一次激活所需的时间的乘积。在显示图像时,需要将存储器中存放的图像数据进行显示输入而恢复图 像。显示输入时采用线性扫描方式。如图4所示,逻辑上对于一幅图像来 说,总体上的数据输入是采用先水平方向从左到右、再垂直方向从上而下 的线性扫描方式。每次对一幅图像上的一行扫描时就将跨越多个宏块,例 如水平分辨率为1920象素,Y分量的宏块大小为16*16象素,那么每扫描 一行将跨越120个宏块。按照高清电视接收系统的性能指标,存储器的数 据宽度为64位,即解码器对存储器的存取速度为每个时钟周期完成8字节。 一次激活的时间大约为6个时钟周期,为使存储阵列最大效率地交替工作, 需使每次对任一存储阵列的操作时间大于6个时钟周期,即大于48字节。 例如可以设定每个映射单元的大小为128*8象素,行长为128象素,大于 48字节,能满足存储阵列最大效率地交替工作。在水平方向上,每个映射单元的行长YR为宏块宽度的整数倍,能保证 逻辑上一幅图像中水平位于同一宏块的所有象素能够映射到存储器的同一 存储行,降低对每个宏块读写时的预充电频率。3.每个映射单元的列长与存储器的数据宽度和宏块的宽度相关联,使 对一幅图像块状扫描时存储阵列能够最大效率地交替工作。例如,每个映 射单元的列长的一半与宏块宽度的乘积大于存储器的数据宽度与存储阵列 一次激活所需的时间的乘积。解码输出时为块状扫描方式,即逻辑上对一幅图像扫描时以宏块为单 位,先扫描完一个完整的宏块,再进行下一个宏块的扫描。解码帧输出和 场输出,在一幅图像的整体上,都以宏块为单元按先水平方向从左到右、 再垂直方向从上到下的顺序。图5A为解码帧输出方式,如图中箭头所示, 在每个宏块内部,为逐行先水平方向从左到右、再垂直方向从上到下的顺 序。图5B为解码场输出方式,如图中箭头所示,在每个宏块内部,为先对 奇行按先水平方向从左到右、再垂直方向从上到下的顺序扫描,图中以实 线表示,再对偶行按先水平方向从左到右、再垂直方向从上到下的顺序扫描,图中以虚线表示。存储器的数据宽度是64位(8字节),存储阵列激 活的时间大约为6个时钟周期,即48字节。对于16*16象素大小的Y宏块, 宏块宽度为16象素。因为一个映射单元总是位于同一存储器的同一存储行, 在逐行扫描方式下,宏块宽度与映射单元列长的乘积为在存储器同一存储 行进行存取的数据量;在隔行扫描方式下,宏块宽度与映射单元列长--半 的乘积为在存储器同一存储行进行存取的数据量。为使对逐行扫描或隔行 扫描都满足同一存储行进行存取操作的时间大于一次激活的时间,至少映 射单元的列长的一半应大于48/16,即列长应大于6字节。例如,映射单元 的大小为128*8,逐行扫描时,例如输出第一行第一个宏块,对一个映射单 元的操作的数据为16*8象素,即对第一存储阵列操作数据量为128字节, 隔行扫描时,对第一存储阵列操作需要完成16*4象素,即64字节。也就 是说,无论哪种扫描方式,在对第一存储阵列操作期间,都能够完成对第 二存储阵列的激活(48字节),可以使存储阵列最大效率地交替工作。4.每个映射单元的行长还与存储器中存储阵列的数量和系统的水平分 辨率相关联,使逻辑上一幅图像中水平相邻或垂直相邻的映射单元总是映射到存储器中不同存储阵列,使对起始地址不确定的宏块存取时存储阵列 能够最大效率地交替工作。例如水平分辨率是映射单元行长的整数倍,并 且水平分辨率除以每个映射单元的行长的结果不能被存储阵列的数量所整 除。这样可以使逻辑上一幅图像中水平相邻或垂直相邻的映射单元总是映 射到存储器中不同存储阵列,减少对起始地址不确定的宏块存取时存储器 预充电的频率。例如高清系统中,水平分辨率常常是1920象素,可以设定每个映射单 元的大小为128*8象素,即行长为128象素,列长为8象素。线性扫描水
平方向上一行跨越15个映射单元,不能被2整除,即不能被存储阵列的数 量所整除。如果一幅图像上第一行的第一个映射单元映射在第一存储阵列, 则第一行的第二个映射单元映射在第二存储阵列,以此类推,水平相邻的 映射单元总是映射在不同的存储阵列。第一行的最后一个映射单元也映射 在第一存储阵列,而一幅图像上第二行的第一个映射单元,即与第一行的 第一个映射单元垂直相邻的映射单元,映射在第二存储阵列。以此类推, 从一幅图像上来看,水平相邻或垂直相邻的映射单元都位于不同的存储阵列中。如图6所示,以左斜线表示位于第一存储阵列的象素,以右斜线表示位于第二存储阵列的象素。 解码时的运动补偿中,对参考宏块的读取采用的是起始地址不确定的块状扫描方式。如图7所示,背景部分是划分成多个相同宏块的一幅图像, 而划斜线的方块表示起始地址不确定的参考宏块。 一幅图像中水平相邻或 垂直相邻的映射单元总是映射到存储器中不同存储阵列,所以,参考宏块 无论是跨越两个水平相邻或是两个垂直相邻的映射单元,都不需预充电。 而当参考宏块同时跨越4个包含水平相邻和垂直相邻的映射单元,如图6 中的以RM表示的参考宏块,也仅需要l次预充电。此外,每个映射单元的行长尽量长,例如从满足上述对映射单元行长和 列长的设定条件的多组数据中选取行长最长的一组数据。从整个一幅图像 的角度来看,运动补偿输入时出现补偿宏块位于不同映射单元交界处的机 率降低,相应地,也可以减少运动补偿解码在读取参考宏块时引起存储器 预充电的概率,使存储阵列能够最大效率地交替工作。图8示意性地表示了图像对存储器地址映射时存储阵列交替映射的顺 序。图像对存储器进行地址映射时, 一个映射单元中的所有象素依次连续 映射到存储器的同一存储阵列(bank)的同一存储行(row),对于一幅图 像而言,以一个映射单元为单位,按照先水平方向从左到右、再垂直方向 从上到下的顺序依次连续映射到存储器,同一存储行映射满后,切换存储 阵列映射下一个映射单元。以这样的方式进行映射,直到一幅图像映射完 成。
根据本发明的一个实施例,例如,高清电视接收系统的分辨率的大小为1920X 1080象素,存储器的容量为32M字节,存储器的数据宽度为64位,存储器 的存储行(row)行长为1024字节。将每一幅图像划分成多个相同的矩形的映 射单元,每个映射单元具有预定的行长与列长。其中,每个映射单元的大小例 如为1024象素,行长例如为128,列长例如为8。 一幅图像对存储器进行映射 时,以一个映射单元为单位,将各映射单元按照先水平方向从左到右、再垂直 方向从上到下的顺序依次连续映射到存储器, 一个映射单元中的所有象素依次 连续映射到存储器的同一存储阵列(bank)的同一存储行(row)。存储器的同 一存储行映射满后,切换存储阵列映射下一个映射单元,至少两个存储阵列交 替映射,直到一幅图像映射完成。
权利要求
1. 一种图像对存储器的地址映射方法,用以将解码后的图像数据映射到存储器的相应地址,每一幅图像数据逻辑上可划分成多个相同的矩形宏块,所述存储器具有至少两个存储阵列,每个存储阵列中包含多个存储行,所述方法包括以下步骤(1)将一幅图像划分成多个矩形的映射单元,每个映射单元具有预定的行长与列长,其中,每个映射单元的大小与存储器的存储行行长相关联,使同一映射单元内的所有象素映射到存储器的同一存储行;每个映射单元的行长与存储器的数据宽度相关联,使线性扫描时存储阵列能够最大效率地交替工作;每个映射单元的列长与存储器的数据宽度和所述宏块的宽度相关联,使对一幅图像块状扫描时存储阵列能够最大效率地交替工作;(2)以一个映射单元为单位,将各映射单元按照先水平方向从左到右、再垂直方向从上到下的顺序依次连续映射到存储器,一个映射单元中的所有象素依次连续映射到所述存储器的同一存储阵列的同一存储行;(3)当存储器的同一存储行映射满后,切换存储阵列映射下一个映射单元,对至少两个存储阵列交替映射,直到一幅图像映射完成。
2. 如权利要求l所述的方法,其特征在于,所述步骤(1)中,每个映 射单元的行长还与存储器中存储阵列的数量和系统的水平分辨率相关联, 使逻辑上一幅图像中水平相邻或垂直相邻的映射单元总是映射到存储器中 不同存储阵列,对起始地址不确定的宏块存取时存储阵列能够最大效率地交替工作。
3. 如权利要求1或2所述的方法,其特征在于,所述步骤(1)中,使 所述映射单元的大小与存储器中存储行的长度相适应,存储器的存储行行 长是每个映射单元的大小的整数倍。
4. 如权利要求1或2所述的方法,其特征在于,所述步骤(1)中,使 每个映射单元的行长大于存储器的数据宽度与存储阵列一次激活所需的时 间的乘积。
5. 如权利要求1或2所述的方法,其特征在于,所述步骤(1)中,使每个映射单元的列长的一半与宏块宽度的乘积大于存储器的数据宽度与存 储阵列 一 次激活所需的时间的乘积。
6. 如权利要求2所述的方法,其特征在于,所述步骤(1)中,使系统 的水平分辨率是映射单元行长的整数倍,并且所述水平分辨率除以每个映 射单元的行长的结果不能被存储阵列的数量所整除。
7. 如权利要求1或2所述的方法,其特征在于, 一个映射单元的行长 与列长均为2的整数次方个象素。
8. 如权利要求1或2所述的方法,其特征在于,当所述图像数据为YUV 格式的图像数据时,所述步骤(2)进一步包括单独将Y分量信号进行映射, 而将UV分量信号排列在一起以拼接形式进行映射的步骤。
9. 如权利要求1或2所述的方法,其特征在于,系统水平分辨率为1920 象素,设置所述存储器的容量为32M字节,存储器的数据宽度为64位,存 储器的存储行行长为1024字节,每个映射单元的行长为128,列长为8。
10. 如权利要求1或2所述的方法,其特征在于,在所述步骤(l)中, 使每个映射单元的行长设置得尽量长。
全文摘要
一种图像对存储器的地址映射方法,用以将解码后的图像数据映射到存储器的相应地址,每一幅图像数据逻辑上可划分成多个相同的矩形宏块,所述存储器具有至少两个存储阵列,每个存储阵列中包含多个存储行,所述方法包括以下步骤(1)将一幅图像划分成多个矩形的映射单元,每个映射单元具有预定的行长与列长;(2)以一个映射单元为单位,将各映射单元按照先水平方向从左到右、再垂直方向从上到下的顺序依次连续映射到存储器,一个映射单元中的所有象素依次连续映射到所述存储器的同一存储阵列的同一存储行;(3)当存储器的同一存储行映射满后,切换存储阵列映射下一个映射单元,对至少两个存储阵列交替映射,直到一幅图像映射完成。
文档编号H04N7/26GK101212674SQ20061014873
公开日2008年7月2日 申请日期2006年12月30日 优先权日2006年12月30日
发明者周振亚, 张亚林 申请人:上海奇码数字信息有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1