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

技术编号:3584806 阅读:170 留言:0更新日期:2012-04-11 18:40
一种图像对存储器的地址映射方法,用以将解码后的图像数据映射到存储器的相应地址,每一幅图像数据逻辑上可划分成多个相同的矩形宏块,所述存储器具有至少两个存储阵列,每个存储阵列中包含多个存储行,所述方法包括以下步骤:(1)将一幅图像划分成多个矩形的映射单元,每个映射单元具有预定的行长与列长;(2)以一个映射单元为单位,将各映射单元按照先水平方向从左到右、再垂直方向从上到下的顺序依次连续映射到存储器,一个映射单元中的所有象素依次连续映射到所述存储器的同一存储阵列的同一存储行;(3)当存储器的同一存储行映射满后,切换存储阵列映射下一个映射单元,对至少两个存储阵列交替映射,直到一幅图像映射完成。

【技术实现步骤摘要】

本专利技术涉及图像存储,尤其涉及视频图像数据对同步动态随机访问存储器(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) 当存储器的同一存储行映射满后,切换存储阵列映射下一个映射 单元,对至少两个存储阵列交替映射,直到一幅图像映射完成。根据本文档来自技高网
...

【技术保护点】
一种图像对存储器的地址映射方法,用以将解码后的图像数据映射到存储器的相应地址,每一幅图像数据逻辑上可划分成多个相同的矩形宏块,所述存储器具有至少两个存储阵列,每个存储阵列中包含多个存储行,所述方法包括以下步骤:(1)将一幅图像划分成多个矩形的映射单元,每个映射单元具有预定的行长与列长,其中,每个映射单元的大小与存储器的存储行行长相关联,使同一映射单元内的所有象素映射到存储器的同一存储行;每个映射单元的行长与存储器的数据宽度相关联,使线性扫描时存储阵列能够最大效率地交替工作;每个映射单元的列长与存储器的数据宽度和所述宏块的宽度相关联,使对一幅图像块状扫描时存储阵列能够最大效率地交替工作;(2)以一个映射单元为单位,将各映射单元按照先水平方向从左到右、再垂直方向从上到下的顺序依次连续映射到存储器,一个映射单元中的所有象素依次连续映射到所述存储器的同一存储阵列的同一存储行;(3)当存储器的同一存储行映射满后,切换存储阵列映射下一个映射单元,对至少两个存储阵列交替映射,直到一幅图像映射完成。

【技术特征摘要】
1. 一种图像对存储器的地址映射方法,用以将解码后的图像数据映射到存储器的相应地址,每一幅图像数据逻辑上可划分成多个相同的矩形宏块,所述存储器具有至少两个存储阵列,每个存储阵列中包含多个存储行,所述方法包括以下步骤(1)将一幅图像划分成多个矩形的映射单元,每个映射单元具有预定的行长与列长,其中,每个映射单元的大小与存储器的存储行行长相关联,使同一映射单元内的所有象素映射到存储器的同一存储行;每个映射单元的行长与存储器的数据宽度相关联,使线性扫描时存储阵列能够最大效率地交替工作;每个映射单元的列长与存储器的数据宽度和所述宏块的宽度相关联,使对一幅图像块状扫描时存储阵列能够最大效率地交替工作;(2)以一个映射单元为单位,将各映射单元按照先水平方向从左到右、再垂直方向从上到下的顺序依次连续映射到存储器,一个映射单元中的所有象素依次连续映射到所述存储器的同一存储阵列的同一存储行;(3)当存储器的同一存储行映射满后,切换存储阵列映射下一个映射单元,对至少两个存储阵列交替映射,直到一幅图像映射完成。2. 如权利要求l所述的方法,其特征在于,所述步骤(1)中,每个映 射单元的行长还与存储器中存储阵列的数量和系统的水平分辨率相关联, 使逻辑上一幅图像中水平相邻或垂直相邻的映射单元总是映射到存储器中 不同存储阵列,对起始地址不确定的宏块存取时存储阵列能够最大效率地交替工作。3. 如权利要求1或2所述的方法,其特征在于...

【专利技术属性】
技术研发人员:周振亚张亚林
申请(专利权)人:上海奇码数字信息有限公司
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1