CN101340580A - 视频硬件解码器的片外动态存储器的地址映射方法 - Google Patents

视频硬件解码器的片外动态存储器的地址映射方法 Download PDF

Info

Publication number
CN101340580A
CN101340580A CN 200810041731 CN200810041731A CN101340580A CN 101340580 A CN101340580 A CN 101340580A CN 200810041731 CN200810041731 CN 200810041731 CN 200810041731 A CN200810041731 A CN 200810041731A CN 101340580 A CN101340580 A CN 101340580A
Authority
CN
China
Prior art keywords
address
dynamic memory
row
bank
addr
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.)
Pending
Application number
CN 200810041731
Other languages
English (en)
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.)
SHANGHAI LONGJING MICROELECTRONICS CO Ltd
Original Assignee
SHANGHAI LONGJING MICROELECTRONICS CO Ltd
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 SHANGHAI LONGJING MICROELECTRONICS CO Ltd filed Critical SHANGHAI LONGJING MICROELECTRONICS CO Ltd
Priority to CN 200810041731 priority Critical patent/CN101340580A/zh
Publication of CN101340580A publication Critical patent/CN101340580A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供一种视频硬件解码器的片外动态存储器的地址映射方法,属于音视频解码技术领域。所述映射方法包括如下步骤:(1)图像的一行宏块的一行像素映射到动态存储器的其中一个存储阵列的一行中;将同一行宏块连续的下一行像素映射到下一个存储阵列的同一行中;(2)按照步骤(1)中的方法对N个存储阵列交替映射,直到行宏块的所有像素映射完成,再映射图像的连续的下一行宏块。这种映射方法可以提高动态存储器的存取效率。

Description

视频硬件解码器的片外动态存储器的地址映射方法
技术领域
本发明属于音视频编解码技术领域,具体涉及一种视频硬件解码器的片外动态存储器的地址映射方法。
背景技术
目前,国际上普遍采用MPEG系列标准和H26X系列标准作为音视频编解码技术标准。2006年,我国制定了自主知识产权的先进音视频编解码标准(AVS)。针对各种标准的视频硬件解码器中,在图像解码过程,一般需要保存四帧已解码的图像,以实现后续码流的帧间预测、运动补偿、输出显示等,所以需要较大的存储器空间。因此,一般使用片外的动态存储器(DRAM)。
如图1所示,动态存储器一般分为四个存储阵列(Bank),通过行地址(Row)和列地址(Col)对每个Bank进行存取。对存储器进行存储操作时,如果访问的存储单元(Cell)与上次存取操作在同一Bank的不同行地址,我们称之为“行不命中”或者两个访问命令不相关,在同一时刻,存储器的一个Bank中只能有一行处于打开状态可以读写。如果想读写同一个Bank的另外一行,必须通过预充电(precharge)来关闭已经打开的行地址,然后再激活新的行地址。激活命令到读写命令之间的时间间隔成为前导时间(Leading Time),经过前导时间后才能再次实现读写操作。如果访问的存储单元与上次存取操作的单元是在不同Bank中,同样也必须通过预充电(precharge)来关闭已经打开的行地址,然后再激活另一个Bank中的行地址。
然而,目前视频编码技术中,一般将一帧图像分成多个相同大小的宏块,以宏块为单位进行编码解码,以便于运动预测和运动补偿以及突发(burst)方式对存储器进行存取操作等。一帧图像上的像素具有二维地址,而存储器的物理地址主要是线性的,因此,一帧图像上的象素往往需要按照一定的规则映射到存储器的物理地址上。以高清解码器和SDRAM(Synchronous DynamicRandom Access Memory)为例,解码过程中,一帧高清图像是1920×1080象素大小,各个模块的帧内预测、帧间预测、反变换、反量化、运动补偿、滤波等都是以宏块(16×16象素)为单位的,一行2048象素构成了128个宏块个数。在当前的地址映射方法中,解码器的图像存入SDRAM过程中,设计人员努力把大小为16*16象素的宏块作为一个映射单元存取放在存储器的一个Bank中的同一行,以此减少存储器的预充电;同时,对于一个图像宏块的同一行,总是尽量映射在一个Bank的同一行中,以此减少存储器的预充电。然而,如图2所示是现有技术的地址映射方法示意图,对Bank的一行映射满以后,连续的行宏块映射到同一Bank的不同行,直到一个Bank映射满以后,再映射其他Bank,因此动态存储器的地址(Addr)按照{Bank,Row,Col}。因此,对于高清图像,图像的不同行宏块一般需要映射存入一个Bank的不同行中,因此,需要多次预充电、激活和存入过程来实现。同样在图像显示从SDRAM读取过程中,图像的读取,也需要多次预充电、激活和存入过程。
现有技术的地址映射方法中,一个Bank的多次预充电、激活和存取周期是连续进行的,这些周期消耗的时间是以微秒为单位的。也就是说,***频率运行的越高,相应的消耗的周期消耗也越多,而且对同一个Bank来说,这些时间的限制是无法避免的。因此这种映射方法必然导致存储效率的低下。本发明试图,在不减少预充电的次数的基础上,提出一种动态存储器的映射方法,以此提高动态存储器的读写效率。
发明内容
本发明要解决的技术问题是提高视频硬件解码器的片外动态存储器的读写效率,提供一种视频硬件解码器的片外动态存储器的地址映射方法。
本发明所提供的视频硬件解码器的片外动态存储器的地址映射方法,用于将图像数据映射到动态存储器的相应地址,所述动态存储器包括N个存储阵列,所述映射方法包括如下步骤:
(1)图像的一行宏块的一行像素映射到动态存储器的其中一个存储阵列的一行中;将同一行宏块连续的下一行像素映射到下一个存储阵列的同一行中。
(2)按照步骤(1)中的方法对N个存储阵列交替映射,直到行宏块的所有像素映射完成,再映射图像的连续的下一行宏块。
根据本发明的方法,其中,宏块的行长和列长均为2x个像素,其中x为大于零的整数;所述动态存储器可以是同步随机动态存储器(SDRAM)或双倍速率动态随机存储器(DDR),动态存储器的存储阵列的个数N≥2,N=2t,t为大于或等于1的整数。
根据本发明的方法,其中,所述步骤(1)中,所述连续在帧的方式下是指按照垂直方向从上到下的扫描顺序,所述连续在场的方式下是指按照垂直方向从上到下的隔行扫描的顺序;所述步骤(2)中,所述连续是指按照垂直方向从上到下的扫描顺序。
根据本发明的方法,其中,动态存储器的地址按照{Row,Bank,Col}构成。,其中Bank、Col和Row地址位数由片外动态存储器的存储容量大小决定。动态存储器的地址在场的方式下按照以下算法公式映射:
Addr[s:0]={Y[(s-u+1):(t+1)],Bank[(t-1):0],Addr_Field,X[u:0]};
其中,X表示图像的列信息,Y表示图像的行信息;{Addr_Field,X[u:0]}表示动态存储器的Col地址,{Bank[(t-1):0}表示动态存储器的Bank地址,{Y[(s-u+1):(t+1)]}表示表示动态存储器的Row地址;场地址Addr_Field按照以下算法公式映射:
Addr_Field=Y[0];
t=2时,存储阵列地址按照以下算法公式映射:
Addr_Bank[1:0]=Addr_Field?{~Y[2],Y[1]}:X[2:1]。
本发明的技术效果是:利用一个存储阵列进行存取操作时可对另一存储阵列进行激活的特性,在不减少预充电的次数的基础上,将连续的行宏块映射到不同的存储阵列的同一行中,对存储阵列的一行进行存取操作时,可以对另一存储阵列的行进行激活操作,可以实现流水线存取操作,进而可以提高动态存储器的存取效率。
附图说明
图1是动态存储器的基本结构示意图;
图2是现有技术的地址映射方法示意图;
图3是本实施例中解码器和动态存储器之间映射的结构示意图;
图4是本实施例地址映射方法示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,本实施例以高清视频解码器的SDRAM为例,具体详细说明其地址映射方法。
一帧高清图像是1920×1080象素大小。为了设计的便利,取2048×1080象素对应的大小来存储。以16×16象素定义一个宏块,以宏块为映射单元。每个象素相当于8比特(bit)数据,宏块的一行就是128(27)比特。数据总线宽度选择为128位,所以跟SDRAM交换这些图像数据时,以宏块的一行(128比特)为单位,既降低了各模块和SDRAM之间数据传送的复杂度,提高了数据传送的速度,又有效的减少了SDRAM的地址空间,地址线原封不动。
一行2048(2048=211)象素构成了128个宏块个数(实际上对应于1920象素,只用到了120个宏块个数,后8个宏块置空)。所以图像的一行宏块为128个宏块的一行,也就是128×16×8bit。按照4:2:0的图像格式,一帧图像亮度(luma)的行数为1088行,色度(chroma)的行数为亮度的一半,544行。而每个象素的大小为8比特。因此,一帧完整的高清图像需要的存储空间可以由式(1)计算得出。
2048×1088×8×1.5=3.1875M Bytes    (1)
按照解码要求,最大需要存储4帧图像作为参考,所需的存储空间由式(2)计算得出。
3.1875×4=12.75M Bytes    (2)
再加上用于存储压缩图像码流(CPB)、压缩音频码流(CAB)、运动向量(MV)等较小的数据,可以把所需存储空间控制在16M字节内。
但是为了实现128位存储,如图3所示,需要并联四颗8M字节的SDRAM(例如MICRON公司的MT48LC2M32B2),实现128位数据总线的、32M字节的存储空间。从式(3)可得,所以片内地址总线只需要21位地址。
221×128÷8=32M Bytes    (3)
如图3所示,解码器的片内动地址总线AD0到AD20,为21位,数据总线D0到D127,为128位;片外地址总线A0到A10,为11位,BA0和BA1代表存储阵列地址,一个SDRAM中有四个存储阵列,一共四个SDRAM,一个SDRAM的数据线为D0到D31,四个并联形成128位数据总线。
高清解码时,对容量为8M的SDRAM来说,Col地址位数是8,,Row地址位数是11。因此,片内地址的低7位(AD0-AD6)描述了图像的列地址信息,而高14位地址(AD7-AD20)描述了图像的行地址信息。所以可以设定:
X[6:0]=AD  [6:0]             (4)
Y  [13:0]=AD  [20:7]         (5)
其中,X表示一帧图像的列信息,Y表示一帧图像的行信息。
SDRAM的一行(Row)中有256个单元(cell),即256×128bit,等于两行宏块的大小(2×2048×8bit),因此,SDRAM的一行可以存下图像的两行宏块。在场(Field)方式下,一帧图像又可以分为奇偶场,也就是顶场和底场。如式6所示,用于区分奇偶场的场地址(Addr_Field)选择行信息Y的最低位Y[0],也即片内地址线AD7。片内地址线AD7描述了场信息,0表示时顶场,1表示时顶场。
Addr_Field=Y[0]=AD[7]        (6)
这样32M字节SDRAM的一行就可以存储顶场和底场各一行宏块。。
片外的SDRAM的地址总线中的Bank地址有两位,即Bank[1:0],Y地址的第二位和第三位定义为Bank地址,地址映射过程中Bank地址的选择通过式(7)所示算法实现。
Bank[1:0]=Addr_Field?{~Y[2],Y[1]}:Y[2:1]      (7)
式(7)中,当Addr_Field为0时,Bank[1:0]选择等于行信息Y[2:1];当Addr_Field为1时,Bank[1:0]选择等于{~Y[2],Y[1]},其中~Y[2]表示行信息Y[2]的非。
按照式(7)算法,穷举出Bank的8种分布,如表1所示。
表1高清模式下Bank的映射
  Y[2]   Y[1]   Y[0]   -->   Bank[1:0]   注释
  1   0   0   0   00   Bank0的前半行
  2   0   0   1   10   Bank2的后半行
  3   0   1   0   01   Bank1的前半行
  4   0   1   1   11   Bank3的后半行
  5   1   0   0   10   Bank2的前半行
  6   1   0   1   00   Bank0的后半行
  7   1   1   0   11   Bank3的前半行
  8   1   1   1   01   bank1的后半行
在映射过程中,行宏块定义为一帧图像的一行宏块,对于1920×1080象素的图像,行宏块包括128个宏块,也即128×16×16像素;行宏块的一行即为128×16×16像素的一行像素,为128×16像素。首先,对第一个行宏块,取出行宏块的其中前八行,按照式(7)的算法和表1,在场的方式下,如图4所示,先连续映射行宏块中的偶数行:行宏块的第0行映射到Bank0的前半行,行宏块的第2行映射到Bank1的前半行,行宏块的第4行映射到Bank2的前半行,行宏块的第6行映射到Bank3的前半行;再连续映射行宏块中的奇数行:行宏块的第1行映射到Bank0的后半行,行宏块的第3行映射到Bank1的后半行,行宏块的第5行映射到Bank2的后半行,行宏块的第7行映射到Bank3的后半行。行宏块的前八行正好存储在SDRAM的4个Bank的一个Row中,对应的行地址Row相同,对应的列地址Col也相同,只是最低位行地址Addr_Field不一样,这也就区分了Bank的前半行和后半行。通过这种Bank映射机制,在场的方式下,行宏块的连续的四行被存储到四个Bank的同一地址上。
进一步,对第一行宏块的后八行以同样方法映射到Bank的另一个Row中,再根据一帧图像垂直方向从上到下的扫描顺序,对第二行宏块进行映射,直到所有行宏块映射完毕。
根据式(7)在映射后,得到SDRAM的地址按照{Row,Bank,Col}构成,如式(8)所示:
Addr[20:0]={Y[13:3],Bank[1:0],Addr_Field,X[6:0]}    (8)
式(8)中,{Addr_Field,X[6:0]}表示Col地址,即一行中的列地址。每行有256列,与{Addr_Field,X[6:0]}完全比配;{Bank[1:0]}表示Bank地址;{Y[13:3]}表示Row地址,即2的11次幂(2048)的地址空间,与SDRAM的行数完全一致。
在读写这些数据时,控制Bank以流水线的方式激活,读写和关闭,例如在bank0的前导时间内,激活Bank2,在Bank2的前导时间内激活Bank1,依此类推。这样,四个bank的激活命令就像流水线的发出,并且占用的是上一Bank的前导时间,然后读写命令又是流水线一样的发出,使得对SDRAM存取数据的效率有了很大的提高。
在不偏离本发明的精神和范围的情况下还可以构成许多有很大差别的实施例。应当理解,除了如所附的权利要求所限定的,本发明不限于在说明书中所述的具体实施例。

Claims (7)

1.一种视频硬件解码器的片外动态存储器的地址映射方法,用以将图像数据映射到动态存储器的相应地址,所述动态存储器包括N个存储阵列,其特征在于,包括如下步骤:
(1)图像的一行宏块的一行像素映射到动态存储器的其中一个存储阵列的一行中;将同一行宏块连续的下一行像素映射到下一个存储阵列的同一行中。
(2)按照步骤(1)中的方法对N个存储阵列交替映射,直到行宏块的所有像素映射完成,再映射图像的连续的下一行宏块。
2.根据权利要求1所述的地址映射方法,其特征在于,所述步骤(1)中,所述宏块的行长和列长均为2x个像素,其中x为大于零的整数。
3.根据权利要求1所述的地址映射方法,其特征在于,所述动态存储器是同步随机动态存储器或双倍速率动态随机存储器。
4.根据权利要求1所述的地址映射方法,其特征在于,所述步骤(1)中,所述连续在帧的方式下是指按照垂直方向从上到下的扫描顺序,所述连续在场的方式下是指按照垂直方向从上到下的隔行扫描的顺序;所述步骤(2)中,所述连续是指按照垂直方向从上到下的扫描顺序。
5.根据权利要求1所述的地址映射方法,其特征在于,所述N=2t,t为大于或等于1的整数。
6.根据权利要求1或5所述的地址映射方法,其特征在于,动态存储器的地址按照{Row,Bank,Col}构成。,其中Bank、Col和Row地址位数由片外动态存储器的存储容量大小决定。
7.根据权利要求1或6所述的地址映射方法,其特征在于,动态存储器的地址在场的方式下按照以下算法公式映射:
Addr[s:0]={Y[(s-u+1):(t+1)],Bank[(t-1):0],Addr_Field,X[u:0]};
其中,X表示图像的列信息,Y表示图像的行信息;{Addr_Field,X[u:0]}表示动态存储器的Col地址,{Bank[(t-1):0}表示动态存储器的Bank地址,{Y[(s-u+1):(t+1)]}表示表示动态存储器的Row地址;场地址Addr_Field按照以下算法公式映射:
Addr_Field=Y[0];
t=2时,存储阵列地址按照以下算法公式映射:
Addr_Bank[1:0]=Addr_Field?{~Y[2],Y[1]}:X[2:1]。
CN 200810041731 2008-08-15 2008-08-15 视频硬件解码器的片外动态存储器的地址映射方法 Pending CN101340580A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810041731 CN101340580A (zh) 2008-08-15 2008-08-15 视频硬件解码器的片外动态存储器的地址映射方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810041731 CN101340580A (zh) 2008-08-15 2008-08-15 视频硬件解码器的片外动态存储器的地址映射方法

Publications (1)

Publication Number Publication Date
CN101340580A true CN101340580A (zh) 2009-01-07

Family

ID=40214511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810041731 Pending CN101340580A (zh) 2008-08-15 2008-08-15 视频硬件解码器的片外动态存储器的地址映射方法

Country Status (1)

Country Link
CN (1) CN101340580A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411982A (zh) * 2010-09-25 2012-04-11 杭州华三通信技术有限公司 内存控制器及命令控制方法
CN103027707A (zh) * 2011-09-30 2013-04-10 深圳市蓝韵实业有限公司 基于dram实现超声数字扫描变换的方法及***
CN103188485A (zh) * 2011-12-30 2013-07-03 安凯(广州)微电子技术有限公司 一种码流缓存***及视频解码器
CN104011655A (zh) * 2011-12-30 2014-08-27 英特尔公司 管芯上/管芯外存储器管理
CN104469228A (zh) * 2014-04-04 2015-03-25 西安交通大学 一种兼容2d与多视点裸眼3d的视频数据存储读写方法
CN105047116A (zh) * 2015-08-21 2015-11-11 昆山龙腾光电有限公司 一种图片信息的处理方法及装置
WO2019019013A1 (zh) * 2017-07-25 2019-01-31 深圳市大疆创新科技有限公司 处理图像的方法、芯片、处理器、***和可移动设备
CN111583095A (zh) * 2020-05-22 2020-08-25 浪潮电子信息产业股份有限公司 图像数据存储方法、图像数据处理方法、***及相关装置
CN112565652A (zh) * 2020-11-25 2021-03-26 紫光展锐(重庆)科技有限公司 一种图像数据存储方法、存储设备及计算机可读存储介质
CN116152043A (zh) * 2023-03-24 2023-05-23 摩尔线程智能科技(北京)有限责任公司 一种基于图像处理的内存管理方法及装置、电子设备

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411982B (zh) * 2010-09-25 2014-12-10 杭州华三通信技术有限公司 内存控制器及命令控制方法
CN102411982A (zh) * 2010-09-25 2012-04-11 杭州华三通信技术有限公司 内存控制器及命令控制方法
CN103027707A (zh) * 2011-09-30 2013-04-10 深圳市蓝韵实业有限公司 基于dram实现超声数字扫描变换的方法及***
CN104011655B (zh) * 2011-12-30 2017-12-12 英特尔公司 管芯上/管芯外存储器管理
CN104011655A (zh) * 2011-12-30 2014-08-27 英特尔公司 管芯上/管芯外存储器管理
CN103188485B (zh) * 2011-12-30 2016-06-29 安凯(广州)微电子技术有限公司 一种码流缓存***及视频解码器
CN103188485A (zh) * 2011-12-30 2013-07-03 安凯(广州)微电子技术有限公司 一种码流缓存***及视频解码器
US10146679B2 (en) 2011-12-30 2018-12-04 Intel Corporation On die/off die memory management
CN104469228A (zh) * 2014-04-04 2015-03-25 西安交通大学 一种兼容2d与多视点裸眼3d的视频数据存储读写方法
CN105047116A (zh) * 2015-08-21 2015-11-11 昆山龙腾光电有限公司 一种图片信息的处理方法及装置
WO2019019013A1 (zh) * 2017-07-25 2019-01-31 深圳市大疆创新科技有限公司 处理图像的方法、芯片、处理器、***和可移动设备
CN111583095A (zh) * 2020-05-22 2020-08-25 浪潮电子信息产业股份有限公司 图像数据存储方法、图像数据处理方法、***及相关装置
CN112565652A (zh) * 2020-11-25 2021-03-26 紫光展锐(重庆)科技有限公司 一种图像数据存储方法、存储设备及计算机可读存储介质
CN112565652B (zh) * 2020-11-25 2023-03-24 紫光展锐(重庆)科技有限公司 一种图像数据存储方法、存储设备及计算机可读存储介质
CN116152043A (zh) * 2023-03-24 2023-05-23 摩尔线程智能科技(北京)有限责任公司 一种基于图像处理的内存管理方法及装置、电子设备
CN116152043B (zh) * 2023-03-24 2024-03-08 摩尔线程智能科技(北京)有限责任公司 一种基于图像处理的内存管理方法及装置、电子设备

Similar Documents

Publication Publication Date Title
CN101340580A (zh) 视频硬件解码器的片外动态存储器的地址映射方法
CN101212674B (zh) 图像在存储器中的地址映射方法
US8989279B2 (en) Reference data buffer for intra-prediction of digital video
US8918589B2 (en) Memory controller, memory system, semiconductor integrated circuit, and memory control method
CN101031052B (zh) 图像在存储器中的地址映射方法
US20070047655A1 (en) Transpose buffering for video processing
US8890881B2 (en) Mapping method and video system for mapping pixel data included in the same pixel group to the same bank of memory
CN101662608B (zh) 一种储存数据的方法
CN101252694A (zh) 基于块的视频解码的帧存储压缩和地址映射***
CN1937771A (zh) 为运动补偿动态配置视频解码器高速缓存
US20070076511A1 (en) Method and apparatus for mapping memory
CN100356780C (zh) 用于压缩视频信号解码的图像存储方法
KR100612414B1 (ko) 영상 데이터 처리 시스템 및 영상 데이터 독출/기입 방법
CN100444636C (zh) 提高视频解码器中sdram总线效率的方法
CN102023944A (zh) 一种存储器多模访问控制方法及其片上sram存储器控制***
Li et al. Reducing dram image data access energy consumption in video processing
US20040061704A1 (en) Memory access method for video decoding
US7420567B2 (en) Memory access method for video decoding
US8180195B2 (en) Memory structures and methods for video codec
JPH06189292A (ja) 動画像復号装置
CN101847394B (zh) 用以解码及显示视讯文件的存储器映射方法及装置
JP5261694B2 (ja) 画像処理用メモリ
KR100846791B1 (ko) 비디오 데이터 저장 방법 및 장치
JP2000330864A (ja) 同期式dramの制御方法
CN101656862A (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
AD01 Patent right deemed abandoned

Effective date of abandoning: 20090107

C20 Patent right or utility model deemed to be abandoned or is abandoned