CN101212674B - 图像在存储器中的地址映射方法 - Google Patents
图像在存储器中的地址映射方法 Download PDFInfo
- Publication number
- CN101212674B CN101212674B CN 200610148737 CN200610148737A CN101212674B CN 101212674 B CN101212674 B CN 101212674B CN 200610148737 CN200610148737 CN 200610148737 CN 200610148737 A CN200610148737 A CN 200610148737A CN 101212674 B CN101212674 B CN 101212674B
- Authority
- CN
- China
- Prior art keywords
- memory
- map unit
- row
- storage
- long
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种图像对存储器的地址映射方法,用以将解码后的图像数据映射到存储器的相应地址,每一幅图像数据逻辑上可划分成多个相同的矩形宏块,所述存储器具有至少两个存储阵列,每个存储阵列中包含多个存储行,所述方法包括以下步骤:(1)将一幅图像划分成多个矩形的映射单元,每个映射单元具有预定的行长与列长;(2)以一个映射单元为单位,将各映射单元按照先水平方向从左到右、再垂直方向从上到下的顺序依次连续映射到存储器,一个映射单元中的所有象素依次连续映射到所述存储器的同一存储阵列的同一存储行;(3)当存储器的同一存储行映射满后,切换存储阵列映射下一个映射单元,对至少两个存储阵列交替映射,直到一幅图像映射完成。
Description
技术领域
本发明涉及图像存储,尤其涉及视频图像数据对同步动态随机访问存储器(SDRAM)的地址映射方法。
背景技术
随着人们生活水平的提高,各类多媒体消费性电子产品也在人们生活中日益普遍。音视频编码是多媒体消费性电子产品中一种非常重要的技术。目前国际上普遍采用的MPEG系列标准与H26X系列标准等均为有关音视频编码的技术标准。在这些标准中数据常常以块状形式在存储器中进行存储,对采用线性地址的存储器的存取提出了一些难题,此外,由于音视频编码的数据量大,对存储器的访问带宽要求也相应提高。
在对存储器进行存取操作时,如果访问的存储单元与上次存取操作在同一存储组(Bank)中的不同行地址,我们称之为“行不命中”或两个访问命令地址不相关,这种情况下,存储器需要进行预充电(precharge),并激活新的行地址。即,先关闭目前已经打开的行地址,并关闭当时激活的存储组,然后再重新激活同一存储组,并打开新的行地址,从而转换到新的行地址。对存储器中同一存储组的访问,地址不相关的两个相邻的对存储器的访问命令会产生较大的开销,延迟时间较长;而地址相关的两个相邻的存储器访问,访问同一个存储组的相同行地址,所需的开销比较小,延迟时间也小。
目前视频编码技术中常常将一幅图像划分成多个相同大小的宏块,以宏块为单元进行编码和解码,以便于运动预测和运动补偿以及以突发(burst)方式对存储器进行存取操作等。一幅图像上的象素具有二维地址,而存储器的物理地址主要是线性的,因此,一幅图像上的象素往往需要按照一定的规则映射到存储器的物理地址上。现有技术中直接以宏块为单元对存储器的地址映射,常常导致存储器频繁地预充电,因而对整个系统的带宽要求带来相当大的压力。
通常,存储器的操作对带宽的影响主要可以从三个方面进行综合考虑。可参考图1。
首先是解码后解码器11对存储器12的数据输出。从逻辑上看,解码输出主要是以宏块为单位将图像数据写到存储器的相应地址。对于解码输出的解码宏块,它的起始地址是确定的,每次输出的解码宏块大小可能为16*16,或8*8、4*4等。为具有良好的兼容性,解码输出可能有场输出和帧输出两种不同的输出格式。一般地,场输出对一幅图像进行逐行扫描,帧输出对一幅图像进行隔行扫描。在图象数据写入到存储器的地址时,需要满足无论在哪种输出格式下,都尽量使输出一幅图象中所有的解码宏块时存储器可能产生的预充电的频率达到最小。
其次是显示播放的数据输入。在图1上表现为从存储器12输入到显示设备13的图像数据。从逻辑上看,显示播放的数据输入主要采用对整张一幅图像先水平方向从左到右、再垂直方向从上到下的行扫描方式,需要频繁地在一幅图象的同一行的多个宏块间切换读取数据。尤其在图像的水平分辨率较高的情况下,一幅图像上同一行的象素数较多,分散在较多的宏块中,会引起存储器更为频繁的预充电。
第三是运动补偿引起的数据输入,从图1上来看,则是从存储器12到解码器11的数据。由于MPEG2、MPEG4、H.264等视频压缩算法中,一幅图像被划分成多个宏块,并在视频压缩编码时同时采用运动预测及运动补偿的方式来消除冗余成分。视频图象解码过程中,不完全帧的运动补偿需要根据基值和运动矢量,计算得到在相对应的参考帧中的参考宏块,并由参考宏块进行运动补偿而得到完整的帧。因此运动补偿时需要频繁地访问存储器。尤其是双向预测中B帧解码的时候,需要从存储于存储器的前向参考帧和后向参考帧各输入一个参考宏块,运算完毕后再输出一个宏块给存储器。整个宏块运算过程需要2次读存储器,1次写存储器的动作。例如,对于通常的运动向量为整数的点,对于亮度分量Y分量,一般需要读入2个16*16的宏块,写回1个16*16的宏块。参考帧输入的参考宏块的起始地址由运动向量决定,因而是不确定的。由于运动补偿计算在重构时可能需要采用插值计算,参考图像的参考宏块通常可能出现最大为17*17的宏块,地址不确定的机率也更大。运动补偿中参考帧输入的参考宏块起始地址不确定,可能导致存储器的频繁的预充电,增加了访问存储器时的访问开销。
按照目前业界的图像映射方法,设计人员常常努力把大小为16*16的宏块或者大小为整数个16*16的宏块作为一个映射单元存放在存储器的同一存储行,以此来提高相邻象素的行命中率,从而减少存储器的预充电。同时,在现有技术中,通常设计人员会尽量使一个映射单元的行长和列长接近,以减小切换行时预充电的概率。
但对于高清度电视来说,由于清晰度要求提高,其分辨率也必然相应地增大。目前高清电视接收系统分辨率的大小从标清采用的720×576象素或720×480象素提高到1920×1080象素。为应对数据量大幅增加带来的存储和带宽上的压力,高清电视接收系统在许多性能指标上也提出了一些更高的需求。例如,在高清电视接收系统中,存储器的容量往往增加到16M或32M字节;存储器的数据宽度也从标准清晰度电视的16或32位增加到64位。这些性能上的提升为实现真正的高清晰度提供了一定的保证,但同时也为对存储器的操作带来了更多的问题。现有技术中的以大小为整数个16*16的宏块作为一个映射单元以及尽量使一个映射单元的行长和列长接近等技术方案,无法达到兼顾以上所述对解码器对存储器的数据输出、显示播放的数据输入以及运动补偿引起的数据输入三个方面的带宽要求。本发明试图提出一种解决方案,能同时满足在解码器对存储器的数据输出中、在显示播放的数据输入中以及在运动补偿引起的数据输入中都能降低发生行不命中的概率,并提高存储器的存取速度。
由本申请的申请人先于本申请提交的第200610024203.X号中国发明专利申请也涉及一种图像在存储器中的地址映射方法,该申请作为参考被引用于此。
发明内容
为克服现有技术中存在的缺陷,本发明提出了一种视频接收系统中视频图像数据对存储器的地址映射方法,能够降低对存储器读写操作时发生行不命中的概率,降低对系统的带宽要求,同时提高存储器的存取速度,并使存储器的多个存储阵列最大效率的交替工作。
根据本发明的一个方面,提供一种图像对存储器的地址映射方法,用以将解码后的图像数据映射到存储器的相应地址,每一幅图像数据逻辑上可划分成多个相同的矩形宏块,所述存储器具有至少两个存储阵列,每个存储阵列中包含多个存储行,所述方法包括以下步骤:
(1)将一幅图像划分成多个矩形的映射单元,每个映射单元具有预定的行长与列长,其中,每个映射单元的大小与存储器的存储行行长相关联,使同一映射单元内的所有象素映射到存储器的同一存储行;每个映射单元的行长与存储器的数据宽度相关联,使线性扫描时存储阵列能够最大效率地交替工作;每个映射单元的列长与存储器的数据宽度和所述宏块的宽度相关联,使对一幅图像块状扫描时存储阵列能够最大效率地交替工作;
(2)以一个映射单元为单位,将各映射单元按照先水平方向从左到右、再垂直方向从上到下的顺序依次连续映射到存储器,一个映射单元中的所有象素依次连续映射到所述存储器的同一存储阵列的同一存储行;
(3)当存储器的同一存储行映射满后,切换存储阵列映射下一个映射单元,对至少两个存储阵列交替映射,直到一幅图像映射完成。
根据本发明的上述方法,其中,上述步骤(1)中,每个映射单元的行长还与存储器中存储阵列的数量和系统的水平分辨率相关联,使逻辑上一幅图像中水平相邻或垂直相邻的映射单元总是映射到存储器中不同存储阵列,对起始地址不确定的宏块存取时存储阵列能够最大效率地交替工作。
根据本发明的上述方法,其中,所述步骤(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、V宏块分别为8*8象素,拼接后的UV宏块大小为8*16象素。每象素为1字节。对于YUV格式的图像数据,可以在存储器中把Y分量和UV分量的数据分开存储。在需要对一幅图象的数据进行存取时,可以分别从存储器中各自的地址区域中存取相应的Y宏块与UV宏块。图3A和图3B分别表示在解码场输出情况下,Y宏块和UV宏块对存储器地址映射的象素排列顺序。其中字母下标的逗号左边的数字表示该象素在一幅图像的每个宏块内部所处的行数,右边的数字表示列数。
在此以一种高清电视接收系统为例来进一步解释本发明。可以理解,本发明并不限于高清电视接收系统,而同样适用于其它视频接收设备或视频中转设备。一般地,高清电视接收系统的分辨率的大小为1920×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表示的参考宏块,也仅需要1次预充电。
此外,每个映射单元的行长尽量长,例如从满足上述对映射单元行长和列长的设定条件的多组数据中选取行长最长的一组数据。从整个一幅图像的角度来看,运动补偿输入时出现补偿宏块位于不同映射单元交界处的机率降低,相应地,也可以减少运动补偿解码在读取参考宏块时引起存储器预充电的概率,使存储阵列能够最大效率地交替工作。
图8示意性地表示了图像对存储器地址映射时存储阵列交替映射的顺序。图像对存储器进行地址映射时,一个映射单元中的所有象素依次连续映射到存储器的同一存储阵列(bank)的同一存储行(row),对于一幅图像而言,以一个映射单元为单位,按照先水平方向从左到右、再垂直方向从上到下的顺序依次连续映射到存储器,同一存储行映射满后,切换存储阵列映射下一个映射单元。以这样的方式进行映射,直到一幅图像映射完成。
根据本发明的一个实施例,例如,高清电视接收系统的分辨率的大小为1920×1080象素,存储器的容量为32M字节,存储器的数据宽度为64位,存储器的存储行(row)行长为1024字节。将每一幅图像划分成多个相同的矩形的映射单元,每个映射单元具有预定的行长与列长。其中,每个映射单元的大小例如为1024象素,行长例如为128,列长例如为8。一幅图像对存储器进行映射时,以一个映射单元为单位,将各映射单元按照先水平方向从左到右、再垂直方向从上到下的顺序依次连续映射到存储器,一个映射单元中的所有象素依次连续映射到存储器的同一存储阵列(bank)的同一存储行(row)。存储器的同一存储行映射满后,切换存储阵列映射下一个映射单元,至少两个存储阵列交替映射,直到一幅图像映射完成。
Claims (6)
1.一种图像对存储器的地址映射方法,用以将解码后的图像数据映射到存储器的相应地址,每一幅图像数据逻辑上可划分成多个相同的矩形宏块,所述存储器具有至少两个存储阵列,每个存储阵列中包含多个存储行,所述方法包括以下步骤:
(1)将一幅图像划分成多个相同的矩形的映射单元,每个映射单元具有预定的行长与列长,其中,存储器的存储行行长是每个映射单元的大小的整数倍,使同一映射单元内的所有像素映射到存储器的同一存储行;每个映射单元的行长大于存储器的数据宽度与存储阵列一次激活所需的时间的乘积,使线性扫描时存储阵列能够最大效率地交替工作;每个映射单元的列长的一半与宏块宽度的乘积大于存储器的数据宽度与存储阵列一次激活所需的时间的乘积,使对一幅图像块状扫描时存储阵列能够最大效率地交替工作;
(2)以一个映射单元为单位,将各映射单元按照先水平方向从左到右、再垂直方向从上到下的顺序依次连续映射到存储器,一个映射单元中的所有像素依次连续映射到所述存储器的同一存储阵列的同一存储行;
(3)当存储器的同一存储行映射满后,切换存储阵列映射下一个映射单元,对至少两个存储阵列交替映射,直到一幅图像映射完成。
2.如权利要求1所述的方法,其特征在于,所述步骤(1)中,每个映射单元的大小与存储器的存储行行长相等,系统的水平分辨率是映射单元行长的整数倍,并且所述水平分辨率除以每个映射单元的行长的结果不能被存储阵列的数量所整除,使逻辑上一幅图像中水平相邻或垂直相邻的映射单元总是映射到存储器中不同存储阵列,对起始地址不确定的宏块存取时存储阵列能够最大效率地交替工作。
3.如权利要求1或2所述的方法,其特征在于,一个映射单元的行长与列长均为2的整数次方个像素。
4.如权利要求1或2所述的方法,其特征在于,当所述图像数据为YUV格式的图像数据时,所述步骤(2)进一步包括单独将Y分量信号进行映射,而将UV分量信号排列在一起以拼接形式进行映射的步骤。
5.如权利要求1所述的方法,其特征在于,系统水平分辨率为1920像素,设置所述存储器的容量为32M字节,存储器的数据宽度为64位,存储器的存储行行长为1024字节,每个映射单元的行长为128,列长为8。
6.如权利要求1所述的方法,其特征在于,在所述步骤(1)中,使每个映射单元的行长设置得尽量长。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610148737 CN101212674B (zh) | 2006-12-30 | 2006-12-30 | 图像在存储器中的地址映射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610148737 CN101212674B (zh) | 2006-12-30 | 2006-12-30 | 图像在存储器中的地址映射方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101212674A CN101212674A (zh) | 2008-07-02 |
CN101212674B true CN101212674B (zh) | 2011-05-04 |
Family
ID=39612277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610148737 Expired - Fee Related CN101212674B (zh) | 2006-12-30 | 2006-12-30 | 图像在存储器中的地址映射方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101212674B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI532378B (zh) | 2010-09-09 | 2016-05-01 | 晨星半導體股份有限公司 | 影像編碼資料暫存裝置及其影像編碼資料暫存方法 |
CN102457725A (zh) * | 2010-10-18 | 2012-05-16 | 曜鹏科技股份有限公司 | 影像编码资料暂存装置及其影像编码资料暂存方法 |
CN102231808B (zh) * | 2011-07-05 | 2013-04-10 | 北京汉邦高科数字技术股份有限公司 | 将高清视频数据转换为8路标清视频数据的装置和方法 |
CN102521141B (zh) * | 2011-12-01 | 2014-08-27 | 福州瑞芯微电子有限公司 | 一种紧凑存储图像数据的读取装置及方法 |
CN102970539B (zh) * | 2012-11-22 | 2015-09-09 | 华为技术有限公司 | 数据载入方法及装置 |
CN103024290B (zh) * | 2013-01-10 | 2017-02-08 | 深圳市长江力伟股份有限公司 | 一种视频拼接去奇偶错乱方法、系统及电子装置 |
US9514510B2 (en) | 2013-03-29 | 2016-12-06 | Mediatek Inc. | Method and apparatus for arranging pixels of picture in storage units each having storage size not divisible by pixel size |
CN105047116A (zh) * | 2015-08-21 | 2015-11-11 | 昆山龙腾光电有限公司 | 一种图片信息的处理方法及装置 |
CN105761208B (zh) * | 2016-02-03 | 2019-03-01 | 浙江科澜信息技术有限公司 | 一种图像融合拼接方法 |
CN106201363B (zh) * | 2016-07-26 | 2023-01-31 | 四川大学 | 视频流像素级数据随机实时访问的存储器及存储方法 |
CN108737833B (zh) * | 2018-05-25 | 2021-07-16 | 珠海市杰理科技股份有限公司 | 数据缓冲方法、系统、计算机设备和存储介质 |
CN112995549B (zh) * | 2021-05-18 | 2021-08-03 | 湖北芯擎科技有限公司 | 数据处理方法、装置、设备和计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1189060A (zh) * | 1996-12-25 | 1998-07-29 | 日本电气株式会社 | 将象素指定给存储序列以便压缩编码的方法 |
US6028612A (en) * | 1997-11-18 | 2000-02-22 | Stmicroelectronics, Inc. | Picture memory mapping to minimize memory bandwidth in compression and decompression of data sequences |
US6215822B1 (en) * | 1997-12-30 | 2001-04-10 | Sony Corporation | Motion compensated digital video decoding and buffer memory addressing therefor |
CN1457607A (zh) * | 2001-01-12 | 2003-11-19 | 皇家菲利浦电子有限公司 | 存储器地址转换单元和方法以及包含这种单元的图像处理装置 |
CN1674151A (zh) * | 2005-03-28 | 2005-09-28 | 北京中星微电子有限公司 | 一种针对图像处理的同步动态随机存储器存取方法 |
-
2006
- 2006-12-30 CN CN 200610148737 patent/CN101212674B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1189060A (zh) * | 1996-12-25 | 1998-07-29 | 日本电气株式会社 | 将象素指定给存储序列以便压缩编码的方法 |
US6028612A (en) * | 1997-11-18 | 2000-02-22 | Stmicroelectronics, Inc. | Picture memory mapping to minimize memory bandwidth in compression and decompression of data sequences |
US6215822B1 (en) * | 1997-12-30 | 2001-04-10 | Sony Corporation | Motion compensated digital video decoding and buffer memory addressing therefor |
CN1457607A (zh) * | 2001-01-12 | 2003-11-19 | 皇家菲利浦电子有限公司 | 存储器地址转换单元和方法以及包含这种单元的图像处理装置 |
CN1674151A (zh) * | 2005-03-28 | 2005-09-28 | 北京中星微电子有限公司 | 一种针对图像处理的同步动态随机存储器存取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101212674A (zh) | 2008-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101212674B (zh) | 图像在存储器中的地址映射方法 | |
CN101031052B (zh) | 图像在存储器中的地址映射方法 | |
KR101127962B1 (ko) | 영상 처리 장치 및 영상 처리를 위한 프레임 메모리 관리 방법 | |
US5581310A (en) | Architecture for a high definition video frame memory and an accompanying data organization for use therewith and efficient access therefrom | |
US6088047A (en) | Motion compensated digital video decoding with buffered picture storage memory map | |
US7773676B2 (en) | Video decoding system with external memory rearranging on a field or frames basis | |
CN101252694B (zh) | 基于块的视频解码的帧存储压缩和地址映射系统 | |
CN101527849B (zh) | 集成视频解码器的存储系统 | |
US6215822B1 (en) | Motion compensated digital video decoding and buffer memory addressing therefor | |
US8890881B2 (en) | Mapping method and video system for mapping pixel data included in the same pixel group to the same bank of memory | |
JPH11331751A (ja) | データシーケンスの圧縮及び脱圧縮におけるメモリ帯域幅を最小とさせるためのピクチャメモリマッピングにおけるタイル化 | |
CN105578190A (zh) | 应用于视频硬解码的无损压缩方法及系统 | |
WO2007024413A2 (en) | Transpose buffering for video processing | |
CN101662608B (zh) | 一种储存数据的方法 | |
KR100612414B1 (ko) | 영상 데이터 처리 시스템 및 영상 데이터 독출/기입 방법 | |
US6205181B1 (en) | Interleaved strip data storage system for video processing | |
CN100444636C (zh) | 提高视频解码器中sdram总线效率的方法 | |
JPH08294115A (ja) | Mpeg復号化器及びその復号化方法 | |
CN101883276A (zh) | 软硬件联合解码的多格式高清视频解码器结构 | |
KR19980081641A (ko) | 동화상 복호 방법 및 동화상 복호 장치 | |
CN101651809B (zh) | 双目立体显示视频处理的存储器存储及读写控制方法 | |
CN101867808B (zh) | 存取图像数据的方法及其相关装置 | |
TW398153B (en) | Motion compensated digital video decoding with buffered picture storage memory map | |
CN104113759A (zh) | 视频系统、视频帧缓存再压缩/解压缩方法与装置 | |
JPH08186826A (ja) | 画像復号処理方法およびそれに用いる記憶装置並びに画像復号装置 |
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: 20110504 Termination date: 20131230 |