CN101031052A - 图像在存储器中的地址映射方法 - Google Patents

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

Info

Publication number
CN101031052A
CN101031052A CN200610024203.XA CN200610024203A CN101031052A CN 101031052 A CN101031052 A CN 101031052A CN 200610024203 A CN200610024203 A CN 200610024203A CN 101031052 A CN101031052 A CN 101031052A
Authority
CN
China
Prior art keywords
memory
map unit
pixel
mapping
view data
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.)
Granted
Application number
CN200610024203.XA
Other languages
English (en)
Other versions
CN101031052B (zh
Inventor
周振亚
张亚林
孙民梁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
QIMA DIGITAL INFORMATION CO Ltd SHANGHAI
Original Assignee
QIMA DIGITAL INFORMATION CO Ltd SHANGHAI
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by QIMA DIGITAL INFORMATION CO Ltd SHANGHAI filed Critical QIMA DIGITAL INFORMATION CO Ltd SHANGHAI
Priority to CN200610024203.XA priority Critical patent/CN101031052B/zh
Priority to PCT/CN2006/003588 priority patent/WO2007098658A1/zh
Priority to EP06828449A priority patent/EP1998569A1/en
Priority to US12/280,886 priority patent/US20090058866A1/en
Publication of CN101031052A publication Critical patent/CN101031052A/zh
Application granted granted Critical
Publication of CN101031052B publication Critical patent/CN101031052B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种图像对存储器的地址映射方法,用以将解码后的图像数据映射到存储器的相应地址,所述方法包括以下步骤:将一帧图像划分为多个矩形宏块;提供存放图像数据的存储器,所述存储器具有至少两个存储阵列,每个存储阵列中包含多个存储行;以一帧图像中的整数个相邻的宏块作为一个映射单元;以一个映射单元为单位,按照先水平方向从左到右、再垂直方向从上到下的顺序将图像数据依次连续映射到存储器;将至少一个映射单元的图像数据映射到同一存储阵列中的同一存储行,直至该存储行映射满;切换存储阵列以映射紧随其后的映射单元的图像数据,直至完成一帧图像数据的映射。

Description

图像在存储器中的地址映射方法
技术领域
本发明涉及图像存储技术,包括视频图像数据在同步动态随机访问存储器(SDRAM)的存储技术,尤其涉及一种图像在存储器中的地址映射方法。
背景技术
数字视频的传输技术广泛应用于多媒体领域,如数字电视(HDTV)、机顶盒、DVD等。为减少带宽要求,常常采用编码与译码等方式来进行视频压缩。数字视频压缩算法通常通过消除存在于视频信号里的冗余成分,来减少图像或图像组的内容信息。例如MPEG2、MPEG4、H.264等视频压缩算法中,把一帧图像划分成多个16*16或8*8的宏块从空间上来消除冗余成分;同时,采用运动预测及运动补偿的方式从时域上来消除冗余成分。
在视频压缩编码时,根据运动图像相邻帧之间有一定的相似性原则,通过运动预测,参考前一帧图像与这一帧图像的相似情况,去掉与前一帧相似的冗余数据,而只记录这一帧与上一帧不同的数据,从而大大提高了视频数据的压缩效率,这种压缩方法也称为帧相关压缩。MPEG2压缩过程中,以图像组(GOP)为一个单元,包括I帧和B、P帧。I帧称为参考帧,所谓参考帧是其它帧都参考的起始帧,所以I帧是一个能够完全记载这一帧全部图像数据的帧,也称为全帧。P帧是前向预测帧,是根据与前一帧图像的比较,去掉与前帧相似的数据而构成的帧。B帧是双向预测帧,是根据与前后一帧图像的比较而得到的帧。P、B帧是不完全帧,需要依靠I帧而成立。运动预测由两个过程组成:先把图像划分为若干16点*16点的宏块(4个8点*8点的块),然后搜索判定它在下一帧中的位置,得到运动矢量。
在视频解码运算中,通过运动补偿来得到完整的图像。图像数据通常存储在同步动态随机存储器(Synchronous Dynamic Random Access Memory)中。不完全帧的运动补偿部分根据基值和运动矢量,计算得到在相对应的帧中的参考宏块,并由参考宏块进行运动补偿而得到完整的帧,因此运动补偿部分需要频繁地访问存储器。尤其是双向预测中B帧解码的时候,需要从存储于存储器的前向参考帧和后向参考帧各输入一个参考宏块,运算完毕后再输出一个宏块给存储器。整个宏块运算过程需要2次读存储器,1次写存储器的动作。例如,对于通常的运动向量为整数的点,对于亮度分量Y分量,一般需要读入2个16*16的宏块,写回1个16*16的宏块。特别是,对于写回的宏块,它的起始地址是确定的。而对于参考帧输入的参考宏块,它的起始地址由运动向量决定,因而是不确定的。由于运动补偿计算在重构时可能需要采用插值计算,而宏块的采样位置匹配可以精确到半个象素点或者更小,参考图像的参考宏块通常可能出现最大为17*17的宏块,地址不确定的机率也更大。
另一方面,在存储器的工作过程中,存储器可以保持一部分曾经访问过的Bank(存储阵列)的行地址,如果需要访问的数据在同一行中,那就不需要等待放大传感器进行变换,而直接达到行命中。在行命中的情况下,只需要等待列地址的确立,就能找到所需的存储单元,从而得到需要的数据。但有的情况下,对存储器存取请求的行地址与上一次存取操作的行地址不同,也就是说,相邻两次访问的地址不相关,此时,可能出现两种情形。如果访问的存储单元与上次存取操作不在同一Bank中,则可以直接打开新的Bank;如果访问的存储单元与上次存取操作在同一Bank中,仅仅是行地址不同的话,我们称之为“行不命中”,需要进行预转换(precharge)。先关闭目前已经打开的行地址,并关闭当时激活的Bank,然后再重新激活同一Bank,并打开新的行地址,从而转换到新的需要的行地址。地址不相关的两个相邻的对存储器的访问命令,因为预转换的延迟,开销一般要在4-6个时钟周期左右。而地址相关的两个相邻的存储器访问,在同一个Bank,行地址相同,并且读写属性相同,则只需要一个时钟周期。二者延迟时间相差很大。
而运动补偿中参考帧输入的参考宏块起始地址不确定,可能导致对存储器的频繁存取,这就可能引起存储器的频繁的预转换。MPEG算法中参考宏块的带宽一般在2/3以上,尤其是当存储器的位宽增加时,参考宏块的带宽还可能进一步增加。如何尽可能地降低读取参考宏块而减少访问存储器时的访问开销,也成为MPEG解码技术中亟待解决的一个问题。
同时解码带宽也与解码器的输出相关。按照MPEG标准,解码器的输出格式有帧输出和场输出两种。帧输出一般为16*16大小的宏块,而场输出由于采用隔行扫描方式,一般为两个16*16大小的宏块,即以16*32大小为单位。如何同时满足帧输出和场输出两种输出格式的需求,而使存储器预转换的次数降到最少量,也是解码器设计中的一个需要重视的问题。
发明内容
为克服现有技术中存在的缺陷,本发明提出了一种MPEG解码中视频图像数据对存储器的地址映射方法,能够满足MPEG标准帧输出和场输出的要求,并可以降低读取参考宏块对存储器访问时行不命中的概率,使参考宏块的存储器访问开销达到最小,从而减小了系统的带宽需求。
根据本发明的一个方面,提供一种图像对存储器的地址映射方法,用以将解码后的图像数据映射到存储器的相应地址,所述方法包括以下步骤:
(a)一帧图像划分为多个矩形宏块;
(b)提供存放图像数据的存储器,所述存储器具有至少两个存储阵列,每个存储阵列中包含多个存储行;
(c)以一帧图像中的整数个相邻的宏块作为一个映射单元;
(d)以一个映射单元为单位,按照先水平方向从左到右、再垂直方向从上到下的顺序将图像数据依次连续映射到存储器;
(e)将至少一个映射单元的图像数据映射到同一存储阵列中的同一存储行,直至该存储行映射满;
(f)切换存储阵列以映射紧随其后的映射单元的图像数据,直至完成一帧图像数据的映射。
根据本发明的另一方面,所述步骤(e)进一步包括将一个映射单元的每个宏块中的各个象素依次连续存放在存储器的相同存储阵列的相同存储行的步骤。
根据本发明的另一方面,所述步骤(c)进一步包括以一帧图像中的整数个垂直相邻的宏块作为一个映射单元的步骤。
根据本发明的另一方面,所述步骤(c)进一步包括以一帧图像中的2个垂直相邻的宏块作为一个映射单元的步骤。
根据本发明的另一方面,所述步骤(c)进一步包括以一帧图像中的2N个垂直相邻的宏块作为一个映射单元的步骤,其中,N为正整数。
根据本发明的另一方面,当所述图像数据为YUV格式的图像数据时,所述步骤(d)进一步包括先将Y分量信号进行映射,再将UV分量信号排列在一起以拼接形式进行映射的步骤。
根据本发明的另一方面,当所述图像数据为场输出的图像数据,而每个映射单元的宏块中均包含间隔排列的奇场象素和偶场象素时,所述步骤(d)进一步包括将奇场象素按从左到右、从上到下的顺序依次连续映射到存储器,将偶场象素按从左到右、从上到下的顺序依次连续映射到存储器,并将奇场象素与偶场象素隔行交错排列的步骤。
根据本发明的另一方面,所述步骤(d)进一步包括先对一帧图像中的全部奇场象素进行映射,再对一帧图像中的全部偶场象素进行映射的步骤。
根据本发明的另一方面,进一步包括在映射过程中,当访问所述存储器中存放的参考宏块时,采用先水平方向从左到右、再垂直方向从上到下的顺序对所述存储器寻址的步骤。
根据本发明的另一方面,进一步包括将映射单元的大小设置成与存储器中存储行的长度相适应,使所述存储器中一个存储行的长度是一个映射单元的大小的整数倍的步骤。
本发明以两个垂直相邻的宏块为一个映射单元进行图像地址映射,并相应地设置了读取参考宏块的方式,降低了访问存储器中参考宏块时发生行不命中的概率,并能同时满足帧输出和场输出两种输出格式的需求,减少了对存储器存取过程中的预转换,增加了存储器访问的整体效率。
附图说明
以下附图为对本发明示例性实施例的辅助说明,结合以下附图对本发明实施例的阐述,是为进一步揭示本发明的特征所在,但并不限制本发明,图中相同符号代表实施例中相应元件或步骤,其中:
图1为一帧图像中Y、U、V三种分量象素划分成多个矩形宏块的帧图。
图2为本发明的图像数据对存储器的地址映射方法流程图。
图3A为本发明一个实施例中Y宏块对存储器地址映射的象素排列顺序图。
图3B为本发明一个实施例中U宏块和V宏块对存储器地址映射的象素排列顺序图。
图4A和4B分别表示在Y分量帧图中的两个Y分量映射单元,以及在UV混合帧图中的两个UV分量映射单元。
图5A为本发明一个实施例中Y分量映射单元对存储器的地址映射图。
图5B为本发明一个实施例中UV分量映射单元对存储器的地址映射图。
图6A和6B分别从不同角度示意本发明中宏块在存储器中地址映射顺序规则。
图7A-7D显示了参考宏块寻址时可能出现的四种存储器地址映射状况。
图8为本发明另一实施例中图像数据对存储器的地址映射示意图。
具体实施方式
电视系统中,把构成一幅图像的各像素传送一遍称为进行了一个帧处理。MPEG解码有帧场模式的区别。帧模式下一幅图像作为完整的一个场,按照从左到右、从上到下的顺序扫描;场模式下一幅图像分成隔行交错排列的奇、偶两个场,可以按先奇场再偶场的顺序进行扫描。若场扫描频率为确定,每帧图像的扫描行数也可以确定。实际上也可以理解为,每帧图像包含多行,每行又含有多个象素点。在MPEG解码标准中,可以将图像以宏块形式进行传送和存储。把每帧图像划分为多个矩形宏块,每个宏块包含一定的行数,每行包含一定数量的象素点。也可以理解为,每个宏块包含一定的行数和一定的列数。我们可以把一帧图像中的象素划分成多个矩形宏块,并将一帧图像称之为帧图。
数字视频压缩经常用分量视频的形式来表示,在YUV格式中,Y为亮度分量,而U、V分别为色度分量。通过色度——亮度采样的结合,在不损害图像质量的同时,可以减少所需带宽。在本发明的一些实施例中,可以YUV格式对图像数据进行编解码。
如图1所示,YUV格式的图像数据中,对于一帧图像的每种分量可以各以一个方框图来表示。图1中,参照号a、b、c分别表示Y分量、U分量和V分量的方框图。一帧图像的每种分量均可以划分成多个矩形宏块。本实施例中以采样结构为4:2:0格式的解码方式来进行说明。在4:2:0格式下,无论为行方向或列方向,亮度分量的采样频率为色度分量采样频率的2倍。因此,一个Y宏块的大小通常为16*16象素,共256象素;而一个U宏块或一个V宏块的大小通常为8*8象素,共64象素。对于采样结构为4:2:2格式或者其他格式的解码,亮度分量的采样频率与色度分量采样频率的关系有所变化,则Y宏块或U、V宏块的大小也可以相应调整,但并不影响本发明的实施。在本发明的一个实施例中,对于YUV格式的图像数据,可以在存储器中把Y分量和UV分量的数据分开存储。例如,可将Y分量信号先行映射;而UV分量信号排列在一起,以拼接(Packet)形式进行映射,如图3B所示(以下将作详述)。
参考图2,本发明提出的图像数据对存储器的地址映射方法,是将解码后的图像数据映射到存储器的相应地址,步骤S21,将一帧图像划分为多个矩形宏块;步骤S22,提供存放图像数据的存储器,所述存储器具有至少两个存储阵列,每个存储阵列中包含多个存储行;步骤S23,以一帧图像中的整数个相邻的宏块作为一个映射单元;步骤S24,以一个映射单元为单位,按照先水平方向从左到右、再垂直方向从上到下的顺序将图像数据依次连续映射到存储器;步骤S25,将至少一个映射单元的图像数据映射到同一存储阵列中的同一存储行,直至该存储行映射满;步骤S26,切换存储阵列以映射紧随其后的映射单元的图像数据,直至完成一帧图像数据的映射。
映射单元的大小与存储器中存储行的长度相适应,使得存储器中一个存储行的长度是一个映射单元的大小的整数倍。
这里的存储器可以是含DRAM核的存储模块,例如同步动态随机存储器(SDRAM)、双倍速率存储器(DDR)等。
在本发明的一个实施例中,以帧图中的整数个垂直相邻的宏块作为一个映射单元。在本发明的另一个实施例中,一个映射单元包括2个垂直相邻的宏块。
在本发明的另一实施例中,一个映射单元包括2的N次方(2N)个相邻的宏块,N为正整数。
每个映射单元中的各象素按照先水平方向从左到右、再垂直方向从上到下的顺序依次连续映射到存储器中。
访问存储器中存放的参考宏块时,采用先水平方向从左到右、再垂直方向从上到下的顺序对存储器进行访问。
按照MPEG标准,解码输出格式包括场输出格式和帧输出格式两类。解码器接收来自前端发射设备发出的传输流(Transport Stream),而解码得到视频数据。传输流中包含解码输出格式的相关信息,在解码器完成解码后,即可得到视频图象数据的解码输出格式。
对于场输出的图像数据,一帧图像包括奇场和偶场,每个映射单元中的宏块均包含隔行交错排列的奇场象素和偶场象素。对于每个映射单元,奇场中的各象素按从左到右、从上到下的顺序依次映射到存储器中,偶场中的各象素同样按从左到右、从上到下的顺序依次映射到存储器中。对于场输出的图像数据,由于解码顺序为先输出全部奇场象素,再输出全部偶场象素。因此,在存放时,先存放一帧图像中的全部奇场象素,再存放一帧图像中的全部偶场象素。奇场象素与偶场象素隔行交错排列映射到存储器中。
对于帧输出的图像数据,每个映射单元中的所有象素按从左到右、从上到下的顺序依次连续地映射并存放到存储器中。
图3A为在采样结构为4:2:0格式下Y宏块对存储器地址映射的象素排列顺序图,图3B为UV宏块对存储器地址映射的象素排列顺序图。对于采样结构为4:2:0格式的解码,一帧图像中的Y分量里的任意一个Y宏块,其大小为16*16象素,包括16行,每行包含16个象素。对于帧图中的U分量或V分量里的任意一个U宏块或V宏块,其大小分别为8*8象素,包括8行,每行包含有8个象素。在图3B所示实施例中,UV宏块的排列没有采用单独的U图和V图,而是将UV宏块排列在一起,以拼接(Packet)形式进行映射,U宏块与V宏块的象素数据相间排列。这种拼接形式,使得对存储器中U分量和V分量的象素数据的访问可以在一个指令周期中同时进行,节省了对存储器的访问次数,也从一个方面节省了对存储器访问的带宽要求。拼接后,一个UV宏块大小是16*8象素,包括16行,每行为8个象素。图中U0,0(奇)和U0,0(偶)等分别表示在帧输出格式下的奇行象素与偶行象素,在场输出格式下的奇场象素和偶场象素。
参见图4A、4B和图5A、5B,在本发明的一个实施例中,一个分量映射单元包括帧图中的2个垂直相邻的宏块。图4A和4B分别示例性地表示一个帧图的Y分量和一个帧图的UV分量。图5A和5B分别示例性地表示了一个Y分量映射单元和一个UV分量映射单元。
在把Y分量对存储器进行地址映射时,以Y分量帧图中的2个垂直相邻的宏块为一个Y分量映射单元,每个映射单元中的象素按先水平方向从左到右、再垂直方向从上到下的顺序依次连续映射到存储器中。在其他实施例中,Y分量映射单元的大小可以根据需求而改变,每个Y分量映射单元中包括整数个Y宏块,并且这些Y宏块垂直相邻或水平相邻,例如图8的帧图中每个映射单元包括4个相邻的宏块。图中标号801、802、803、804分别表示四个映射单元,每个映射单元包括4个水平或垂直相邻的宏块。
在图4A和图5A的实施例中,一个映射单元包括2个16*16象素大小的Y宏块,共512象素,每个象素为1字节(byte)。图4A中以不同方向斜线区别相邻的Y分量映射单元,每个Y分量映射单元均包括垂直相邻的两个Y宏块。
存储器中每个存储行(row)的长度为一个Y分量映射单元大小的整数倍。在图5A所示的实施例中,一个存储行中所存放的数据量的大小为512byte,等于一个Y分量映射单元的大小。对于帧输出格式的图像数据,可以直接把帧图中的全部象素按照先水平方向从左到右、再垂直方向从上到下的顺序依次连续存放到存储器中。对场输出格式的图像数据,先存放帧图中的全部奇场象素,再存放帧图中的全部偶场象素。在场输出格式时,奇场象素与偶场象素隔行交错排列映射到存储器中。因此无论是帧输出格式还是场输出格式,对于完整的一帧图像而言,都是按照先水平方向从左到右、再垂直方向从上到下的顺序依次连续映射到存储器的地址。在进行地址映射时,每个映射单元的象素数据都映射到同一bank的同一row中,每次一个row映射满后,就切换bank进行下一个映射单元的地址映射。具体而言,首先映射帧图中第一个Y分量映射单元第一个Y宏块中的象素,然后映射第一个Y分量映射单元下面第二个Y宏块中的象素。第一个Y宏块中的各奇场/奇行象素数据按照先水平方向从左到右、再垂直方向从上到下的顺序依次映射到存储器地址。第一个Y宏块中的各偶场/偶行象素数据按照从左到右、从上到下的顺序依次映射到存储器地址。奇场/奇行象素与偶场/偶行象素隔行交错排列。第一个Y宏块中的象素Y0,0(奇)映射到存储器中一个存储行Row 0的第一个地址(0,0),象素Y0,1(奇)映射到同一个存储行Row 0的第二个地址(0,1),......以此类推。而第一个Y宏块中的偶场/偶行象素Y0,0(偶)映射到存储器的同一个存储行Row 0的第17个地址(0,16),......以此类推。这个Y分量映射单元的第二个Y宏块的象素从Row 0的第257个地址(0,256)开始映射,以从左到右、从上到下的顺序依次连续映射到存储器的同一存储行中,同样按照奇场/奇行象素与偶场/偶行象素隔行交错排列的规则,直到第二个Y宏块的最后一个偶场象素Y15,15(偶)映射在第一个存储行Row 0的第512个地址(0,511)。由于存储器的存储行(row)长度为512byte,而一个Y分量映射单元也是512byte,因此映射完一个Y分量映射单元,则存储器的一个存储行也映射满,这时,切换bank映射紧随其后的Y分量映射单元。
图4A所示的整个帧图的Y分量,以Y分量映射单元为单位,并且按照先水平方向从左到右、再垂直方向从上到下的顺序进行映射。当一个Y分量映射单元映射完成后,整个帧图中的其它各元素继续按照前面的方式进行映射,即每两个垂直相邻的宏块为一个Y分量映射单元以先水平方向从左到右、再垂直方向从上到下的顺序进行映射。
UV分量的映射方式和Y分量类似,可以参考图4B和图5B。UV分量也是以帧图中2个垂直相邻的宏块为一个映射单元依次连续映射。UV分量映射时,将一个8*8象素的U宏块和一个8*8象素的V宏块以拼接形式排列在一起,形成一个16*8象素的UV宏块,再把每2个垂直相邻的UV宏块作为一个UV分量映射单元。一个UV分量映射单元的大小是16*16象素,即256象素。每个UV分量映射单元的奇场/奇行象素和偶场/偶行象素分别按照先水平方向从左到右、再垂直方向从上到下的顺序依次连续映射到存储器中,并且奇场/奇行象素与偶场/偶行象素隔行交错排列。对于图5B中的UV分量映射单元,首先映射上面第一个UV宏块。假设第一个UV宏块中的奇场/奇行象素U0,0(奇)映射到存储器中的一个存储行Row 0的第1个地址(0,0),象素V0,0(奇)映射到存储器中的同一存储行Row 0的第2个地址(0,1),......象素U7,7(偶)映射到存储器中的同一个存储行Row0的第127个地址(0,126),而象素V7,7(偶)映射到存储器中的同一个存储行Row 0的第128个地址(0,127)。然后映射该映射单元的下面第二个UV宏块。第二个UV宏块的奇场/奇行象素U0,0(奇)映射到存储器中的一个存储行Row 0的第129个地址(0,128),象素V0,0(奇)映射到存储器中的同一存储行Row 0的第130个地址(0,129),......以此类推,第二个UV宏块中的偶场/偶行象素U7,7(偶)映射到存储器中的一个存储行Row 0的第255个地址(0,254),象素V7,7(偶)映射到存储器中的同一存储行Row 0的第256个地址(0,255)。在图5B所示的实施例中,存储器一个存储行(row)的长度为512byte,一个存储行中可以存放2个完整的UV分量映射单元。
对于整个帧图的UV分量信号来说,以UV分量映射单元为单位,并且按照先水平方向从左到右、再垂直方向从上到下的顺序进行映射。对于256象素的UV分量映射单元,一个512byte的存储行可以存放两个水平相邻的UV分量映射单元。其中每个UV分量映射单元如图4B所示,按照先水平方向从左到右,再垂直方向从上到下的顺序进行地址映射。当一个UV分量映射单元中两个垂直相邻的UV宏块映射完成后,图像中的其它各元素继续按照前面的方式进行映射,即每两个垂直相邻的宏块为一个UV分量映射单元,作为一个物理上连续的存储周期进行映射。
按照如上所述的Y分量和UV分量的映射方式,存储器一个存储行大小为512byte,可以使一个Y分量映射单元中2个垂直相邻的大小分别为16*16象素的Y宏块,同时落在同一个Bank内的同一存储行(row)地址内。一个UV宏块大小是16*8象素,一个UV分量映射单元的大小为2个16*8象素,一个存储行可以存放2个UV分量映射单元。这样保证了一个Y分量映射单元内或一个UV分量映射单元内的两个垂直相邻的宏块能够同时落在同一个Bank内的同一存储行。在读取同一个分量映射单元中的两个垂直相邻的宏块数据时,只需对存储器中同一个Bank的同一存储行(row)进行访问,不需要进行预转换,因此节省了开销。
Y宏块和UV宏块在存储器的映射顺序分别依据如图6A所示的规则,并按图6A中箭头方向所示的顺序。图6B以箭头形式进一步描述了本发明帧图中的宏块在存储器中的映射顺序。一个帧图中的Y分量或UV分量按先水平方向从左向右、再垂直方向从上向下的顺序依次映射到存储器中,并且先连续映射在同一Bank内的同一存储行,例如Bank 0的第一个存储行Row 0。当该存储行已经映射满以后,再切换bank进行映射,例如从Bank0的第一个存储行Row 0切换到Bank 1的第一存储行Row 0,而并非继续在同一Bank的其他存储行进行映射。当Bank 1的第一存储行Row 0已经映射满后,再返回到Bank 0,并切换到Bank 0的其他行,如Bank 0的第二存储行Row 1。帧图对存储器地址映射时,以一个分量映射单元为单位,按先水平方向从左向右、再垂直方向从上向下的顺序依次映射。一个映射单元内的两个垂直相邻的宏块总是在同一bank的同一存储行内。对于Y分量来说,由于一个Y分量映射单元包括两个垂直相邻的宏块,存储器的一个存储行映射1个Y分量映射单元,不同的映射单元映射完成时要求先切换bank,再映射紧接其后的下一个映射单元,因此,帧图上两个水平相邻的Y分量映射单元中的宏块就总是处在不同的bank中。对于UV分量来说,一个UV分量映射单元包括2个垂直相邻的宏块,存储器的一个存储行(row)映射2个UV分量映射单元,因此,帧图上两个水平相邻的UV分量映射单元中的宏块的关系存在两种情况:一种情况下是在同一个存储行中,另一种情况是处在不同的bank中。这样,无论是Y分量还是UV分量,读取任意两个水平相邻的映射单元中的宏块数据时,或者只需对存储器中不同Bank进行访问,或者在同一Bank的同一存储行内,都不需要进行预转换。因此大大降低了预转换出现的概率,也节约了时间并提高了对存储器的存取效率。
对于运动补偿的写输出,由于是以宏块为单位的,并且起始地址按照宏块方式对齐,所以必定是落在存储器的同一个Bank同一存储行内。对于运动补偿的读输入,参考宏块的起始地址是任意的。在访问存储器的参考宏块时,以先水平,后垂直的方式来查寻参考宏块。
在这种图像地址映射方式下,可以来考查运动补偿的访问情况。图7A-7D显示了参考帧的参考宏块寻址时可能出现的四种地址映射状况。图7A-7D中的背景方块为在图像的一个帧图内处于上下或左右相邻的4个映射单元。
在图7A中,需要读取的参考宏块A1完全落在帧图的同一个宏块内,所以A1内部必定是落在存储器的同一Bank的同一行地址的。参考宏块没有发生行不命中的情况。因此,从参考宏块读取起始地址后不再需要打开同一Bank的其它存储行,也就不需要预转换。
在图7B中,参考宏块完全落在帧图的水平相邻的不同宏块上。这个参考宏块可以分成两个部分,即A2部分和B2部分。由于帧图的同一个宏块存放在存储器同一Bank的同一存储行中,具有相同的行地址,A2部分内部具有相同的行地址,B2部分内部也具有相同的行地址。按照前面的描述,对于Y分量来说,水平相邻的两个映射单元总是落在不同的bank,因此A2部分和B2部分总是落在不同的bank。对于UV分量,水平相邻的二者之间的关系可能出现两种情况,一是位于同一bank的同一存储行中,二是分别落在不同的Bank,因此,A2部分和B2部分可能位于同一bank的同一存储行(row)中,或者可能分别落在不同的Bank。无论A2部分与B2部分落在同一bank的同一存储行中,还是处在不同的Bank中,A2部分到B2部分的切换都不需要预转换。因此,在图7B的情况下,从参考宏块读取起始地址后也不需要预转换。
在图7C中,参考宏块完全落在帧图的垂直相邻的两个不同宏块。参考宏块可以分成两部分,即A3部分和B3部分。A3部分内部具有相同的行地址,B3部分内部也具有相同的行地址。根据前面的叙述可以知道,垂直相邻的两个宏块如果是在同一映射单元中,则总是落在同一bank的同一存储行内。而如果不在同一映射单元,则A3部分和B3部分的地址映射关系是随机的。如果A3和B3是同一Bank,则发生一次行不命中的情况,即需要一次预转换。如果A3和B3是不同Bank,则也没有发生行不命中的情况,就不需要预转换。这也表明,本发明的地址映射方式能够减少图7C情况下的预转换的概率。
在图7D中,参考宏块分为4个部分A4、B4、C4、D4,落在4个不同的宏块。A4、B4、C4、D4这4个部分内部分别在各自的分量映射单元内,各部分的内部保证有相同的行地址。A4和B4在水平相邻的分量映射单元内,因此可能在同一Bank的同一存储行或者位于不同的Bank,不需要预转换。C4和D4也在水平相邻的分量映射单元内,因此也不需要预转换。由于C4和D4部分与A4和B4部分有不同的行地址,在从B4到C4切换时,最多可能发生1次行不命中的情况。因此图7D的情形最多发生1次行不命中的情况。
此外,在把存储器中的数据传送给显示设备时,由于显示输入的存取操作在存储器的两个bank之间切换,当访问其中一个bank时,可以预先对另一个bank进行预转换,因此采用本发明的地址映射方法也能够提高显示输入的带宽效率。
本实施例只是为了进一步更清楚地描述本发明,而非对本发明的限制。应该可以理解,本发明并不限于实施例所做的阐述,任何基于本发明的修改和本发明的等同物都应涵盖在本发明的权利要求的精神和范围之内。

Claims (10)

1.一种图像对存储器的地址映射方法,用以将解码后的图像数据映射到存储器的相应地址,所述方法包括以下步骤:
(a)将一帧图像划分为多个矩形宏块;
(b)提供存放图像数据的存储器,所述存储器具有至少两个存储阵列,每个存储阵列中包含多个存储行;
(c)以一帧图像中的整数个相邻的宏块作为一个映射单元;
(d)以一个映射单元为单位,按照先水平方向从左到右、再垂直方向从上到下的顺序将图像数据依次连续映射到存储器;
(e)将至少一个映射单元的图像数据映射到同一存储阵列中的同一存储行,直至该存储行映射满;
(f)切换存储阵列以映射紧随其后的映射单元的图像数据,直至完成一帧图像数据的映射。
2.如权利要求1所述的方法,其特征在于,所述步骤(e)进一步包括将一个映射单元的每个宏块中的各个象素依次连续存放在存储器的相同存储阵列的相同存储行的步骤。
3.如权利要求1或2所述的方法,其特征在于,所述步骤(c)进一步包括以一帧图像中的整数个垂直相邻的宏块作为一个映射单元的步骤。
4.如权利要求3所述的方法,其特征在于,所述步骤(c)进一步包括以一帧图像中的2个垂直相邻的宏块作为一个映射单元的步骤。
5.如权利要求3所述的方法,其特征在于,所述步骤(c)进一步包括以一帧图像中的2N个垂直相邻的宏块作为一个映射单元的步骤,其中,N为正整数。
6.如权利要求1或2所述的方法,其特征在于,当所述图像数据为YUV格式的图像数据时,所述步骤(d)进一步包括先将Y分量信号进行映射,再将UV分量信号排列在一起以拼接形式进行映射的步骤。
7.如权利要求2所述的方法,其特征在于,当所述图像数据为场输出的图像数据,而每个映射单元的宏块中均包含间隔排列的奇场象素和偶场象素时,所述步骤(d)进一步包括将奇场象素按从左到右、从上到下的顺序依次连续映射到存储器,将偶场象素按从左到右、从上到下的顺序依次连续映射到存储器,并将奇场象素与偶场象素隔行交错排列的步骤。
8.如权利要求7所述的方法,其特征在于,所述步骤(d)进一步包括先对一帧图像中的全部奇场象素进行映射,再对一帧图像中的全部偶场象素进行映射的步骤。
9.如权利要求1或2所述的方法,其特征在于进一步包括在映射过程中,当访问所述存储器中存放的参考宏块时,采用先水平方向从左到右、再垂直方向从上到下的顺序对所述存储器寻址的步骤。
10.如权利要求1或2所述的方法,其特征在于进一步包括将映射单元的大小设置成与存储器中存储行的长度相适应,使所述存储器中一个存储行的长度是一个映射单元的大小的整数倍的步骤。
CN200610024203.XA 2006-02-28 2006-02-28 图像在存储器中的地址映射方法 Expired - Fee Related CN101031052B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN200610024203.XA CN101031052B (zh) 2006-02-28 2006-02-28 图像在存储器中的地址映射方法
PCT/CN2006/003588 WO2007098658A1 (en) 2006-02-28 2006-12-25 Method for mapping image addresses in memory
EP06828449A EP1998569A1 (en) 2006-02-28 2006-12-25 Method for mapping image addresses in memory
US12/280,886 US20090058866A1 (en) 2006-02-28 2006-12-25 Method for mapping picture addresses in memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200610024203.XA CN101031052B (zh) 2006-02-28 2006-02-28 图像在存储器中的地址映射方法

Publications (2)

Publication Number Publication Date
CN101031052A true CN101031052A (zh) 2007-09-05
CN101031052B CN101031052B (zh) 2010-11-03

Family

ID=38458647

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610024203.XA Expired - Fee Related CN101031052B (zh) 2006-02-28 2006-02-28 图像在存储器中的地址映射方法

Country Status (4)

Country Link
US (1) US20090058866A1 (zh)
EP (1) EP1998569A1 (zh)
CN (1) CN101031052B (zh)
WO (1) WO2007098658A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483743B (zh) * 2009-01-19 2011-03-30 凌阳科技股份有限公司 一种数据存取装置和方法
CN102479379A (zh) * 2010-11-19 2012-05-30 义晶科技股份有限公司 图像校正方法与相关图像校正系统
CN103067711A (zh) * 2012-12-31 2013-04-24 北京联微泰芯集成电路软件开发服务有限责任公司 一种基于h264协议的整像素运动估计方法
CN103986937A (zh) * 2014-05-28 2014-08-13 东南大学 一种用于高分辨率视频的h.264帧间编码存储管理方法
US9153014B2 (en) 2010-11-09 2015-10-06 Avisonic Technology Corporation Image correction method and related image correction system thereof
CN105243351A (zh) * 2015-10-09 2016-01-13 宁波萨瑞通讯有限公司 一种基于移动终端的扫码方法
CN107241302A (zh) * 2016-03-29 2017-10-10 展讯通信(上海)有限公司 图像数据传输方法、装置及终端
CN113610705A (zh) * 2021-06-23 2021-11-05 珠海全志科技股份有限公司 用于超分重建的图像去交织方法及装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8737469B1 (en) * 2007-04-03 2014-05-27 Mediatek Inc. Video encoding system and method
CN102868871B (zh) * 2012-10-24 2015-03-25 广东威创视讯科技股份有限公司 一种视频图像格式的转换方法和装置
CN103412902A (zh) * 2013-07-30 2013-11-27 上海盛本通讯科技有限公司 灰阶数据转化为yuv422格式数据的方法及其装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088047A (en) * 1997-12-30 2000-07-11 Sony Corporation Motion compensated digital video decoding with buffered picture storage memory map
US6028612A (en) * 1997-11-18 2000-02-22 Stmicroelectronics, Inc. Picture memory mapping to minimize memory bandwidth in compression and decompression of data sequences
US6734867B1 (en) * 2000-06-28 2004-05-11 Micron Technology, Inc. Cache invalidation method and apparatus for a graphics processing system
US7526024B2 (en) * 2003-08-15 2009-04-28 Broadcom Corporation Storing macroblocks for concatenated frames
KR100668302B1 (ko) * 2004-07-28 2007-01-12 삼성전자주식회사 비디오 디코더/엔코더에서의 메모리 맵핑 장치 및 그 방법
CN1286323C (zh) * 2004-08-05 2006-11-22 联合信源数字音视频技术(北京)有限公司 帧场视频解码中运动矢量存取的控制装置及其方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483743B (zh) * 2009-01-19 2011-03-30 凌阳科技股份有限公司 一种数据存取装置和方法
US9153014B2 (en) 2010-11-09 2015-10-06 Avisonic Technology Corporation Image correction method and related image correction system thereof
CN102479379A (zh) * 2010-11-19 2012-05-30 义晶科技股份有限公司 图像校正方法与相关图像校正系统
CN103067711A (zh) * 2012-12-31 2013-04-24 北京联微泰芯集成电路软件开发服务有限责任公司 一种基于h264协议的整像素运动估计方法
CN103986937A (zh) * 2014-05-28 2014-08-13 东南大学 一种用于高分辨率视频的h.264帧间编码存储管理方法
CN105243351A (zh) * 2015-10-09 2016-01-13 宁波萨瑞通讯有限公司 一种基于移动终端的扫码方法
CN107241302A (zh) * 2016-03-29 2017-10-10 展讯通信(上海)有限公司 图像数据传输方法、装置及终端
CN113610705A (zh) * 2021-06-23 2021-11-05 珠海全志科技股份有限公司 用于超分重建的图像去交织方法及装置

Also Published As

Publication number Publication date
US20090058866A1 (en) 2009-03-05
EP1998569A1 (en) 2008-12-03
WO2007098658A1 (en) 2007-09-07
CN101031052B (zh) 2010-11-03

Similar Documents

Publication Publication Date Title
CN101031052B (zh) 图像在存储器中的地址映射方法
US8687706B2 (en) Memory word array organization and prediction combination for memory access
CN101212674B (zh) 图像在存储器中的地址映射方法
US20070047655A1 (en) Transpose buffering for video processing
CN1121673A (zh) 视频解压缩处理器中存储器的定址方法及装置
CN100579225C (zh) 图像数据的存取和解码方法及解码装置
CN1151680C (zh) 同步动态随机存取存储器带宽优化
US20080158601A1 (en) Image memory tiling
CN101043595A (zh) 储存与存取影像的相关方法以及储存n位数据的方法
CN1645928A (zh) 用于压缩视频信号解码的图像存储方法
US6205181B1 (en) Interleaved strip data storage system for video processing
CN1543210A (zh) 图像数据处理系统及图像数据读取和写入方法
CN100444636C (zh) 提高视频解码器中sdram总线效率的方法
US20060133494A1 (en) Image decoder with context-based parameter buffer
JPH08186826A (ja) 画像復号処理方法およびそれに用いる記憶装置並びに画像復号装置
US7420567B2 (en) Memory access method for video decoding
CN1154048C (zh) 寻址处理方法
JPH07298264A (ja) 画像データの処理方法およびそれに用いる記憶装置ならびに画像データの処理装置
CN1947423A (zh) 用于分层视频的盘分配/调度
US8335256B2 (en) Motion compensation in video coding
US20080137745A1 (en) Method and device for processing video data
CN1636239A (zh) 存储数据元素的方法
US8265169B2 (en) Video block memory read request translation and tagging
WO2009077466A1 (en) Device and method for managing memory
CN1809163A (zh) 视频解码装置及其方法

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: 20101103

Termination date: 20130228