CN110660016A - 配合动态随机存取存储器的内存管理装置及内存管理方法 - Google Patents
配合动态随机存取存储器的内存管理装置及内存管理方法 Download PDFInfo
- Publication number
- CN110660016A CN110660016A CN201810694071.4A CN201810694071A CN110660016A CN 110660016 A CN110660016 A CN 110660016A CN 201810694071 A CN201810694071 A CN 201810694071A CN 110660016 A CN110660016 A CN 110660016A
- Authority
- CN
- China
- Prior art keywords
- tile
- probability
- ith
- size
- memory
- 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
Links
- 238000007726 management method Methods 0.000 title claims description 72
- 238000012545 processing Methods 0.000 claims abstract description 97
- 238000004364 calculation method Methods 0.000 claims abstract description 44
- 239000000654 additive Substances 0.000 claims description 10
- 230000000996 additive effect Effects 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000000034 method Methods 0.000 claims description 6
- 230000002123 temporal effect Effects 0.000 claims 2
- 241000820057 Ithone Species 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 2
- 229930091051 Arenine Natural products 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Dram (AREA)
Abstract
本发明提供配合一动态随机存取存储器与一图像处理装置的一内存管理装置,其中包含候选尺寸选择电路、机率计算电路及目标尺寸决定电路。候选尺寸选择电路选出S种瓦块尺寸。机率计算电路根据单一存储区容量、M种区块尺寸及S种瓦块尺寸,产生(M*S)个机率组合,其中的第i_j个机率组合是相关于若采用该S种瓦块尺寸中的第j种瓦块尺寸,读取具有该M种区块尺寸中的第i种区块尺寸的一图像处理区块时发生一跨存储区读取事件的机率。目标尺寸决定电路根据该(M*S)个机率组合,自S种瓦块尺寸中选出一个目标瓦块尺寸。
Description
技术领域
本发明与内存管理技术相关,并且尤其与提升动态随机存取存储器 (dynamicrandom access memory,DRAM)的存取效率的技术相关。
背景技术
近年来,视频信号的传递媒介愈来愈多元。除了电视与机顶盒,移动电话、桌面计算机、平板计算机等装置也都具有接收视频信号的功能。许多视频信号接收端使用一动态随机存取存储器做为缓冲器来暂存经过解码器还原后的视频数据,供后续的图像处理程序使用。如何增进该存储器的存取效率,对视频信号接收端的电路设计者来说是重要的议题。
视频信号包含一连串的视频帧(video frame)。最传统的做法是将每一个视频帧视为由多条扫描线(scan line)组成,并且依照在画面中由上到下的顺序,将各条扫描线的影像数据依序存入动态随机存取存储器。为了提升读取影像数据的效率,现行技术改为将视频帧虚拟地分割为多个瓦块 (tile)作为存入存储器的单位。以包含1024画素*768画素的视频帧为例,假设每一个瓦块的尺寸为128画素*128画素,则如图1A所示,该视频帧会被分割为四十八个瓦块。若每一个瓦块的尺寸为128画素*256画素,如图1B所示,该视频帧会被分割为二十四个瓦块。
一动态随机存取存储器通常被规划为包含多个固定容量的存储区 (memorybank),每一个存储区能储存的瓦块数量反比于瓦块的尺寸。若一个存储区能储存四个瓦块,并且被设定为用来储存4*1个瓦块,亦即在水平方向上相邻的连续四个瓦块,则图1A中的四十八个瓦块会依照图1C 呈现的编号顺序被依序存入动态随机存取存储器。瓦块T1~T4被储存在同一存储区中,瓦块T5~T8被储存在另一存储区中,依此类推。如果一个存储区能储存四个瓦块,并且被设定为用来储存2*2个瓦块,则图1A中的四十八个瓦块会依照图1D呈现的编号顺序被依序存入动态随机存取存储器。
在进行图像处理程序时,每一个视频帧会被分割为多个影像区块,做为图像处理的基本单位。举例而言,编码器在编码时是以区块为单位,利用邻近的影像像素以及影像区块的关联性进行编码,因此,编码器自动态随机读取存储器读取出影像数据时,是以图像处理区块(而非瓦块)为单位。做为范例,图1C中视频帧中的瓦块T1~T4被重绘于图1E,图中的虚线方块B1、B2呈现两图像处理区块位于同一视频帧中的两种可能位置。若一个存储区能容纳的瓦块数量为二,并且被设定为用来储存2*1个瓦块,则瓦块T1、T2会被放在同一个存储区,而瓦块T3、T4被放在另一个存储区。在图1E的范例中,自动态随机存取存储器读取图像处理区块B1时,不需要跨越不同的存储区;自动态随机存取存储器读取图像处理区块B2时则需要跨越两个存储区。
从存储器控制器告知存储器读取某一个特定地址的数据起算,到该存储器实际输出数据为止,主要的时间延迟量称为栏地址选通延迟(column address strobe latency,之后简称CAS延迟)。在此段时间延迟中,存储器的数据总线处于闲置状态。由此可见,评估动态随机存取存储器的存取效率时,CAS延迟是一个重要的参数。CAS延迟的发生次数愈少(或时间愈短),动态随机存取存储器的存取效率愈高。以目前第三代双倍数据率同步动态随机存取存储器(double data rate type three synchronous dynamic random accessmemory,DDR3)的运作机制来说,储存在同一个存储区 (memory bank)中的数据可被连续读取(不会发生CAS延迟)。以第四代双倍数据率同步动态随机存取存储器(double data ratefourth generation synchronous dynamic random access memory,DDR4)而言,除了同一个存储区(bank)中的数据可被连续读取,若数据分布在不同的存储区却属于同一个存储区群组(bank group)内,也属连续读取,但读取时必须增加额外的等待时间,也会造成数据总线的闲置。大致来说,读取储存在不同存储区中的数据会较长的时间延迟,不论是CAS延迟或是额外的等待时间。因此,跨存储区读取动作的时间延迟会远高于单一存储区读取动作的时间延迟。存储器控制器控制动态随机存取存储器时,如何充分利用数据总线以达到最高的利用效率,是一个很重要的课题。以图1E的范例来说,即使图像处理区块B1、B2的数据量相同,读取图像处理区块B2会远比读取图像处理区块B1耗时。由此可知,自动态随机存取存储器读取图像处理区块时,能避免跨存储区读取事件是较理想的。
另一方面,每一个存储区各自包含多个存储行(row)。每一个存储行具有独立的地址,且其容量通常是动态随机存取存储器所搭配的总线的单次传输数据量。在决定瓦块的尺寸之后,便能计算出一个存储区能容纳多少个具有该尺寸的瓦块(以符号N表示该数量),也能计算出具有该尺寸的每一个瓦块需要使用多少个存储行(以符号K表示该数量)。以数值N 等于二、K等于四的情况为例,图1F呈现现行技术会套用在图1E中的瓦块T1~T4的寻址规则;每一个虚线矩形框各自代表一个存储行。用以储存瓦块T1的四个存储行由上到下被设定为具有地址0~3,用以储存瓦块T2 的四个存储行被设定为具有地址4~7,用以储存瓦块T3的四个存储行被设定为具有地址8~11,用以储存瓦块T4的四个存储行被设定为具有地址 12~15。
按照第四代双倍数据率同步动态随机存取存储器(double data ratesynchronous dynamic random access memory,DDR4)的运作规则,地址为奇数的存储行是由同一组电路负责存取,而地址为偶数的存储行是由另一组电路负责存取。如果这两组电路交替运作,存取效率会比较高。相对地,若是同一组电路必须连续读取地址同为奇数或是同为偶数的两个存储行,读取效率比较低,又称为发生群组冲突(group conflict)。实务上,在视频帧中位置相邻的影像数据很有可能被连续读取。以图1F来说,所储存的影像数据在垂直方向上相邻的两个存储行(例如地址为0、1的两个存储行) 若被连续读取,不会发生群组冲突,但所储存的影像数据在水平方向上相邻的两个存储行(例如地址为0、4的两个存储行)若被连续读取,便会发生群组冲突。现行寻址方式的缺点在于过于容易发生群组冲突,导致存储器读取效率的低落。
发明内容
本发明提出一种新的内存管理装置及内存管理方法,目标是藉由适当规划瓦块的尺寸来减少自动态随机存取存储器读取影像数据时发生跨存储区(memory bank)件的发生机率,进而提升动态随机存取存储器的存取效率。此外,根据本发明的内存管理装置及内存管理方法可搭配新的寻址规则,藉此减少发生群组冲突的机率。
根据本发明的一实施例为一种配合一动态随机存取存储器的内存管理装置,应用于一图像处理装置。该动态随机存取存储器包含多个存储区,并是以瓦块为单位储存与一视频帧相关的影像数据。该图像处理装置自该动态随机读取存储器读取该影像数据时是以图像处理区块为单位。该内存管理装置包含一候选尺寸选择电路、一机率计算电路,以及一目标尺寸决定电路。该候选尺寸选择电路是用以选出S种瓦块尺寸,其中S为大于一的一整数。该机率计算电路是用以根据一单一存储区容量、该M种区块尺寸以及该S种瓦块尺寸,产生(M*S)个机率组合,其中的第i_j个机率组合是相关于若采用该S种瓦块尺寸中的第j种瓦块尺寸,自该动态随机存取存储器读取具有该M种区块尺寸中的第i种区块尺寸的一图像处理区块时发生一跨存储区读取事件的机率,其中M为一正整数,i为范围在1到M 间的一整数指标,j为为范围在1到S间的一整数指标。该目标尺寸决定电路是用以根据该(M*S)个机率组合,自该S种瓦块尺寸中选出一个,做为将该视频帧的该影像数据存入该动态随机存取存储器时采用的一目标瓦块尺寸。
根据本发明的另一实施例为一种配合一动态随机存取存储器的内存管理装置,应用于一图像处理装置。该动态随机存取存储器包含多个存储区,并是以瓦块为单位储存与一视频帧相关的影像数据。该图像处理装置自该动态随机读取存储器读取该影像数据时是以图像处理区块为单位。根据至少一参考视频帧中的多个图像处理区块对应的多种区块尺寸,M种区块尺寸被预先提供,其中M为一正整数。S种瓦块尺寸被预先提供做为候选的用,其中S为大于一的一整数。该内存管理装置包含一存储器、一统计电路、一最终期望值计算电路,以及一比较电路。该存储器中设置有一查找表。该查找表储存有(M*S)个中间期望值,其中的第i_j中间期望值Ei_j是相关于若采用第j种瓦块尺寸,自该动态随机存取存储器读取具有第i种区块尺寸的一图像处理区块时发生一跨存储区读取事件的机率,其中i为范围在1到M间的一整数指标,j为为范围在1到S间的一整数指标。该统计电路是用以取得具有该第i种区块尺寸的图像处理区块在该参考视频帧中的一第i出现机率Pi。该最终期望值计算电路是用以自该查找表中取得该第i_j 中间期望值Ei_j、自该统计电路取得该第i出现机率Pi,并据此计算对应于第j种瓦块尺寸的一第j最终期望值。该比较电路是用以比较该S个最终期望值,并选出对应于最低的最终期望值的一瓦块尺寸,做为用以将该视频帧存入该动态随机存取存储器时采用的一目标瓦块尺寸。
根据本发明的另一实施例为一种配合一动态随机存取存储器的内存管理方法,应用于一图像处理装置。该动态随机存取存储器包含多个存储区,并是以瓦块为单位储存与一视频帧相关的影像数据。该图像处理装置自该动态随机读取存储器读取该影像数据时是以图像处理区块为单位。首先,S 种瓦块尺寸被选出,其中S为大于一的一整数。其次,根据一单一存储区容量、M种区块尺寸以及该S种瓦块尺寸,(M*S)个机率组合被产生,其中的第i_j个机率组合是相关于若采用该S种瓦块尺寸中的第j种瓦块尺寸,自该动态随机存取存储器读取具有该M种区块尺寸中的第i种区块尺寸的一图像处理区块时发生一跨存储区读取事件的机率,其中M为一正整数。随后,根据该(M*S)个机率组合,一个瓦块尺寸自该S种瓦块尺寸中被选出,做为将该视频帧存入该动态随机存取存储器时采用的一目标瓦块尺寸。
关于本发明的优点与精神可以藉由以下发明详述及所附图式得到进一步的了解。
附图说明
图1A与图1B呈现一视频帧被虚拟分割为多个瓦块的示意图。图1C 与图1D呈现两种不同的瓦块编号方式。图1E是用以说明何谓跨存储区读取事件。图1F呈现依照现行规则被寻址的多个存储行。
图2为根据本发明的一实施例中的内存管理装置的功能方块图。
图3呈现根据本发明的一候选尺寸选择电路的详细实施例。
图4A~图4D是用以说明四种不同的跨存储区读取事件。
图5呈现根据本发明的一机率计算电路的详细实施例。
图6呈现一个归纳实际数值范例的表格。
图7呈现根据本发明的一最终期望值计算电路的详细实施例。
图8呈现另一个归纳实际数值范例的表格。
图9为根据本发明的另一实施例中的内存管理装置的功能方块图。
图10为根据本发明的又一实施例中的内存管理装置的功能方块图。
图11A与图11B呈现两种采用新的寻址规则所产生的存储行地址。
图12为根据本发明的一实施例中的内存管理方法的流程图。
符号说明
T1~T48:瓦块 200:内存管理装置
210:候选尺寸选择电路 210A:瓦块宽度选择电路
210B:高度上限决定电路 210C:瓦块高度选择电路
220:机率计算电路 220A:水平机率计算电路
220B:垂直机率计算电路 220C:综合机率计算电路
230:目标尺寸决定电路 230A:中间期望值计算电路
230B:出现机率统计电路 230C:最终期望值计算电路
230D:比较电路 900:内存管理装置
910:存储器 910A:查找表
920:统计电路 930:最终期望值计算电路
940:比较电路 950:寻址电路
S1201~S1203:流程步骤 Bi~B4:图像处理区块
须说明的是,本发明的图式包含呈现多种彼此关联的功能性模块的功能方块图。该等图式并非细部电路图,且其中的连接线仅用以表示信号流。功能性元件及/或程序间的多种互动关系不一定要透过直接的电性连结始能达成。此外,个别元件的功能不一定要如图式中绘示的方式分配,且分布式的区块不一定要以分布式的电子元件实现。
具体实施方式
根据本发明的一实施例为一种配合一动态随机存取存储器的内存管理装置,其功能方块图是绘示于图2。内存管理装置200的主要任务是决定一视频帧存入动态随机存取存储器时适合采用的瓦块(tile)尺寸。如先前所述,图像处理装置自动态随机读取存储器读取影像数据时,是以图像处理区块 (block)为单位。因此,根据一视频帧本身所包含的图像处理区块的尺寸来决定将该视频帧存入动态随机存取存储器时应采用的瓦块尺寸是最理想的。不过,在开始将一视频帧存入动态随机存取存储器时,该视频帧本身所包含的图像处理区块的尺寸有时候是未知数。由于时序上相邻的视频帧时常具有相似的影像内容,内存管理装置200可选择时序上的前一个视频帧做为一参考视频帧,并根据该参考视频帧内的图像处理区块所包含的区块尺寸来决定当下这个视频帧的瓦块尺寸。或者,内存管理装置200亦可将多个先前视频帧的数据综合为一参考视频帧。
一视频帧中的图像处理区块的尺寸可能完全相同,也可能包含多种尺寸不同的图像处理区块。以下说明假设该参考视频帧所包含的多个图像处理区块共具有M种区块尺寸(M为一正整数)。举例而言,假设参考视频帧中的图像处理区块有32画素*32画素与128画素*1画素这两种尺寸,数值M便等于二。
如图2所示,内存管理装置200包含一候选尺寸选择电路210、一机率计算电路220,以及一目标尺寸决定电路230。内存管理装置200所配合的动态随机存取存储器(未绘示)被假设为包含多个大小相同的存储区。以下分述内存管理装置200中各电路的功能及运作方式。
首先,候选尺寸选择电路210负责选出S种瓦块尺寸(S为大于一的整数)做为后续接受评估的候选值。每一种瓦块尺寸包含一瓦块宽度与一瓦块高度。图3呈现候选尺寸选择电路210的一种详细实施例。于此实施例中,候选尺寸选择电路210包含一瓦块宽度选择电路210A、一高度上限决定电路210B,以及一瓦块高度选择电路210C。假设该动态随机存取存储器是透过一总线收发影像数据。瓦块宽度选择电路210A根据该总线的单次传输数据量与视频帧中的单一画素数据量选择一瓦块宽度。举例而言,瓦块宽度选择电路210A可采用将该单次传输数据量除以该单一画素数据量所产生的一比值做为瓦块宽度,换句话说就是将瓦块宽度设定为总线单次可传输的最大画素数量。以单次传输数据量为256位,而单一画素数据量为2位的情况为例,据此计算出的瓦块宽度便是128个画素。或者,瓦块宽度选择电路210A亦可令该比值为瓦块宽度的整数倍,例如令瓦块宽度为64个画素。这种选择方式的好处在于总线每次读取的影像数据会是一个瓦块中的整数条水平线的影像数据。
高度上限决定电路210B负责根据动态随机存取存储器中的单一存储区容量、该单一画素数据量,以及该瓦块宽度决定一高度上限。随后,瓦块高度选择电路210C会选出不高于该高度上限的S种瓦块高度,依照上述参数而决定的每一种瓦块高度各自对应于二的幂次方个画素。举例而言,假设瓦块宽度为128个画素、单一画素数据量为2位,若单一存储区容量为8192字节,该高度上限可被设定为256(=8192*8/2/128)个画素,也就是对应于在一个存储区中存放一个瓦块的情况。据此,瓦块高度选择电路210C可选出以下九种瓦块高度:1个画素、2个画素、4个画素、8个画素、16个画素、32个画素、64个画素、128个画素、256个画素。于实际应用中,令一个存储区中存放二的幂次方个瓦块有助于存储器地址的设定与管理。
瓦块高度选择电路210C决定出的S种瓦块高度搭配瓦块宽度选择电路 210A决定出的一种瓦块宽度便可组合成S种瓦块尺寸。须说明的是,候选尺寸选择电路210也可以选择多种瓦块宽度来搭配一种或多种瓦块高度来组合成S种瓦块尺寸。此外,本发明的范畴并未将瓦块尺寸的数量S限定为特定数值。请再参考图2,S种瓦块尺寸会提供给机率计算电路220进行进一步计算。机率计算电路220根据动态随机存取存储器的单一存储区容量、上述的S种瓦块尺寸以及M种区块尺寸分别计算出M*S种组合的机率以供目标尺寸决定电路230计算出目标瓦块尺寸。以下详述其原理和计算方式。
如先前所述,单一存储区容量为一已知的定值。不同的瓦块尺寸会令单一个存储区中能够储存的瓦块数量有所不同。一个存储区可容纳的瓦块数量N为:
若以单一存储区容量为8192字节、单一画素数据量为2位,而瓦块尺寸为128画素*128画素的情况来计算,数值N等于2。数值N可以被进一步拆解为两个正整数n1、n2的乘积;该N个瓦块在水平方向上的边长为n1个瓦块,在垂直方向上的边长为n2个瓦块。
做为范例,图1C中的瓦块T1~T4、T9~T12被重绘于图4A~图4D。假设一个存储区可容纳两个瓦块(N=2),并且被设定为用来储存2*1个瓦块(n1=2,n2=1),瓦块T1、T2会被放在同一个存储区,瓦块T3、T4 被放在同一个存储区,瓦块T9、T10被放在同一个存储区,瓦块T11、T12 被放在同一个存储区。图中的虚线方块是用以表示一图像处理区块于视频帧中的几种位置范例。图4A中的图像处理区块B1的数据全部都位于同一个存储区(未跨越不同的存储区)。图4B中的图像处理区块B2的数据在水平方向上跨越两个存储区。图4C中的图像处理区块B3的数据则是在垂直方向上跨越两个存储区。图4D中的图像处理区块B4的数据不但在水平方向上跨越两个存储区,在垂直方向上也跨越两个存储区;换句话说,图像处理区块B4的数据会被分散储存在四个不同的存储区中。
随着瓦块尺寸不同、区块尺寸不同,一图像处理区块的数据可能跨越的存储区数量会有所不同。更广义地说,一个图像处理区块的数据可能在水平方向上分布于P或(P+1)个存储区,其中的数值P为:
符号ceiling表示无条件进位为整数的运算。
相似地,一个图像处理区块的数据可能在垂直方向上分布于Q或(Q+1) 个存储区,其中的数值Q为:
综合水平方向与垂直方向的可能性,一个图像处理区块的数据总共可能有四种类型的分布情况:(1)在水平方向上分布于P个存储区,且在垂直方向上分布于Q个存储区;(2)在水平方向上分布于(P+1)个存储区,且在垂直方向上分布于Q个存储区;(3)在水平方向上分布于P个存储区,且在垂直方向上分布于(Q+1)个存储区;(4)在水平方向上分布于(P+1)个存储区,且在垂直方向上分布于(Q+1)个存储区。须说明的是,数值P等于一代表一个图像处理区块的数据在水平方向上未跨越不同的存储区。相似地,数值 Q等于一代表一个图像处理区块的数据在垂直方向上未跨越不同的存储区。若数值P与数值Q同时都等于一,表示该图像处理区块的数据全部都位于同一个存储区中。
随着瓦块尺寸不同、区块尺寸不同,一图像处理区块的数据落入以上四种分布情况的机率也都会有所不同。图2的机率计算电路220负责根据上述参考视频帧中的M种区块尺寸以及候选尺寸选择电路210提供的S种瓦块尺寸,产生(M*S)个机率组合,每一个机率组合皆对应上述四种类型的分布情况。以数值M等于二、数值S等于九的情况为例,机率计算电路220 便会计算出十八个机率组合。更具体地说,该(M*S)个机率组合中的第i_j 个机率组合为采用该S种瓦块尺寸中的第j种瓦块尺寸,自动态随机存取存储器读取具有该M种区块尺寸中的第i种区块尺寸的一图像处理区块时发生各种跨存储区读取事件的机率(i为范围在1到M间的一整数指标,j 为为范围在1到S间的一整数指标)。图5呈现机率计算电路220的一种详细实施例。于此实施例中,机率计算电路220包含一水平机率计算电路 220A、一垂直机率计算电路220B,以及一综合机率计算电路220C,分述如下。
假设第j种瓦块尺寸包含一第j瓦块宽度与一第j瓦块高度,而第i种区块尺寸包含一第i区块宽度与一第i区块高度(皆以画素为单位)。首先,水平机率计算电路220A根据式二计算出数值P。接着,根据第i区块宽度与第j瓦块宽度,水平机率计算电路220A可根据下列表达式计算出第i_j 个机率组合中的一第一水平机率值HCMBPi_j:
代表若采用第j种瓦块尺寸,读取具有第i种区块尺寸的图像处理区块的数据时,在水平方向上需读取(P+1)个存储区的机率。
随后,水平机率计算电路220A可计算出第i_j个机率组合中的一第二水平机率值HCLBPi_j:
HCLBPi_j=1-HCMBPi_j,(式五)
亦即若采用第j种瓦块尺寸,读取具有第i种区块尺寸的图像处理区块的数据时,在水平方向上需读取P个存储区的机率。
相似地,垂直机率计算电路220B可根据式三计算出数值Q。接着,根据第i区块高度与第j瓦块高度,垂直机率计算电路220B计算出第i_j个机率组合中的一第一垂直机率值VCMBPi_j:
代表若采用第j种瓦块尺寸,读取具有第i种区块尺寸的图像处理区块的数据时,在垂直方向上需读取(Q+1)个存储区的机率。
随后,垂直机率计算电路220B可计算出第i_j个机率组合中的一第二垂直机率值VCLBPi_j:
VCLBPi_j=1-VCMBPi_j。(式七)
亦即若采用第j种瓦块尺寸,读取具有第i种区块尺寸的图像处理区块的数据时,在垂直方向上需读取Q个存储区的机率。
综合机率计算电路220C是用以将第一水平机率值HCMBPi_j与第一垂直机率值VCMBPi_j相乘,以产生第i_j个机率组合中的第一机率值Ki_j_1,对应于在水平方向上需读取(P+1)个存储区且在垂直方向上需读取(Q+1)个存储区的事件。相似地,将第一水平机率值HCMBPi_j乘以第二垂直机率值 VCLBPi_j所产生的一第二机率值Ki_j_2是对应于在水平方向上需读取(P+1) 个存储区且在垂直方向上需读取Q个存储区的事件;将第二水平机率值HCLBPi_j与第一垂直机率值VCMBPi_j相乘所产生的一第三机率值Ki_j_3是对应于在水平方向上需读取P个存储区且在垂直方向上需读取(Q+1)个存储区的事件;将第二水平机率值HCLBPi_j与第二垂直机率值VCLBPi_j相乘所产生的一第四机率值Ki_j_4是对应于在水平方向上需读取P个存储区且在垂直方向上需读取Q个存储区的事件。综上所述,第i_j个机率组合组合会包含四个机率值,各自对应于一种类型的跨存储区读取事件。
图6呈现一个综合前述各种运算所产生的实际数值范例。此实例假设单一存储区容量为8192字节、单一画素数据量为2位、总线的单次传输数据量为32字节,且区块尺寸为36画素*36画素。首先,候选尺寸选择电路 210可选出以128个画素的瓦块宽度搭配1个画素、2个画素、4个画素、8 个画素、16个画素、32个画素、64个画素、128个画素、256个画素等九种瓦块高度。随后,针对这九种瓦块尺寸,机率计算电路220会计算出九个机率组合,其计算结果被整理在图6的表格中。
在机率计算电路220针对M种区块尺寸及S种瓦块尺寸产生出(M*S) 个机率组合之后,目标尺寸决定电路230会根据这(M*S)个机率组合自该S 种瓦块尺寸中选出一个,做为将该视频帧存入动态随机存取存储器时采用的瓦块尺寸(以下称目标瓦块尺寸)。图7呈现目标尺寸决定电路230的一种详细实施例。于此实施例中,目标尺寸决定电路230包含一中间期望值计算电路230A、一出现机率统计电路230B、一最终期望值计算电路230C,以及一比较电路230D,分述如下。
中间期望值计算电路230A是用以针对该第i_j个机率组合中的四个机率值,各自与所占用的存储区数量相关的一加成数值相乘,并计算相对应的加成后总和,做为一第i_j中间期望值Ei_j。实务上,该等加成数值被设计为正比于或等于各种跨存储区读取事件所读取的存储区数量。原因在于,需要读取的存储区数量愈多,CAS延迟愈大,是较不希望发生的读取事件。于一实施例中,中间期望值计算电路230A令第一加成数值为[(P+1)*(Q+1)]、第二加成数值为[(P+1)*Q]、第三加成数值为[P*(Q+1)],第四加成数值为 (P*Q)。以数值P等于1、数值Q等于2的情况为例,第一加成数值~第四加成数值会分别是6、4、3、2。图7的表格最右侧一栏呈现了以这组加成数值为例所计算出的九个中间期望值。
出现机率统计电路230B是用以取得具有第i种区块尺寸的图像处理区块在参考视频帧中的一第i出现机率Pi。举例而言,假设在参考视频帧中有六十个尺寸为32画素*32画素(第一种区块尺寸)的图像处理区块,以及四十个尺寸为128画素*1画素(第二种区块尺寸)的图像处理区块,则第一出现机率P1为60%、第二出现机率P2为40%。
最终期望值计算电路230C是用以根据下列表达式计算对应于第j种瓦块尺寸的一第j最终期望值FEj:
承接图7中的范例,图8的表格进一步呈现了进行式八的运算所产生的实际数值范例。此范例是假设第一种区块尺寸为32画素*32画素,第二种区块尺寸为128画素*1画素,且第一出现机率P1与第二出现机率P2皆为 50%。
比较电路230D是用以比较该S个最终期望值,并选出对应于最低的最终期望值的一瓦块尺寸,做为目标瓦块尺寸。以图8呈现的范例来说,对应于九种瓦块尺寸的最终期望值依序为:19.01、10.1、5.52、3.48、2.43、 1.88、1.45、1.47,以及1.72,其中最低的最终期望值1.45是对应于瓦块尺寸128画素*64画素。因此,比较电路230D会选择128画素*64画素做为目标瓦块尺寸。藉此,内存管理装置200能有效减少自动态随机存取存储器读取图像处理区块时发生跨越多个存储区的事件次数,进而提高动态随机存取存储器的存取效率。
根据本发明的另一实施例亦为一种配合动态随机存取存储器的内存管理装置,其功能方块图是绘示于图9。内存管理装置900包含一存储器910、一统计电路920、一最终期望值计算电路930,以及一比较电路940,以下分述各电路的功能。
存储器910中设置有一查找表910A。查找表910A储存有(M*S)个中间期望值,其中的第i_j中间期望值Ei_j是相关于若采用第j种瓦块尺寸,自该动态随机存取存储器读取具有第i种区块尺寸的一图像处理区块时发生一跨存储区读取事件的机率。以图3呈现的候选尺寸选择电路210为例,其输入信号(总线的单次传输数据量、单一画素数据量、单一存储区容量) 皆是可预先得知的数值。在这个情况下,做为后续接受评估的S种瓦块尺寸是可以预先选出的。另一方面,参考视频帧可能包含的区块尺寸的上限通常亦为已知数。以区块宽度上限为128画素、区块高度上限为256画素为例,参考视频帧中可能出现的区块宽度至多为八种(128、64、32、16、 8、4、2、1),而区块高度至多为九种(256、128、64、32、16、8、4、2、 1)。也就是说,参考视频帧可能包含的区块尺寸的种类至多为七十二种。前述机率计算电路220可针对这七十二种区块尺寸(M=72)及S种瓦块尺寸预先产生(72*S)个机率组合。随后,中间期望值计算电路230A可根据这 (72*S)个机率组合预先产生(72*S)个中间期望值,做为查找表910A的内容。
在实际配合动态随机存取存储器运作时,只有统计电路920与最终期望值计算电路930需要进行计算工作。统计电路920负责取得具有第i种区块尺寸的图像处理区块在参考视频帧中的一第i出现机率Pi。最终期望值计算电路930负责自查找表910A中取得第i_j中间期望值Ei_j、自统计电路 920取得该第i出现机率Pi,并根据下列表达式计算对应于第j种瓦块尺寸的第j最终期望值FEj:
接着,比较电路940会比较该S个最终期望值,并选出对应于最低的最终期望值的一瓦块尺寸,做为目标瓦块尺寸。
内存管理装置900的好处在于,原先属于候选尺寸选择电路210、机率计算电路220以及中间期望值计算电路230A的计算工作都已预先完成,而且只需要进行一次计算。实际配合动态随机存取存储器运作时,在统计电路920取得与参考视频帧相关的统计数据之后,内存管理装置900就能快速地找出目标瓦块尺寸。
为了解决先前技术中的群组冲突问题,于一实施例中,内存管理装置 900进一步包含一寻址电路950,如图10所示。寻址电路950负责为存储区中的存储行寻址。首先,寻址电路950可根据目标瓦块尺寸计算出数值 N与K。符号n代表范围在1到(N/2)间的一整数指标。针对一存储区中的第(2n-1)个瓦块(亦即第1、3、5、...个瓦块),自该瓦块的一读取起始点开始,寻址电路950将其中的K个存储行依序寻址为对应于(n-1)*2K~ [(n-1)*2K+(K-1)]。另一方面,针对该存储区中的第2n个瓦块(亦即第2、 4、6、...个瓦块),自该瓦块的一读取起始点开始,寻址电路950将其中的K个存储行依序寻址为对应于[(2n-1)*K+(K-1)]~(2n-1)*K。以数值N与 K皆等于四的情况为例,图11A呈现了采用此寻址规则所产生的存储行地址。由图11A可看出,不论在垂直方向或水平方向,所储存的影像数据相邻的两个存储行若被连续读取都不会发生群组冲突。
于另一实施例中,符号k代表范围在1到(K/2)间的一整数指标,寻址电路950采用的寻址规则为:针对一存储区中的第(2n-1)个瓦块(亦即第1、 3、5、...个瓦块),自该瓦块的一读取起始点开始,将其中的K个存储行依序寻址为对应于(n-1)*2K~[(n-1)*2K+(K-1)];针对该存储区中的第2n个瓦块(亦即第2、4、6、...个瓦块),自该瓦块的一读取起始点开始,将其中的第(2k-1)个存储行寻址为对应于[(2n-1)*K+2k-1],并将其中的第2k个存储行寻址为对应于[(2n-1)*K+2k-2]。以数值N与K皆等于四的情况为例,图11B呈现了采用此寻址规则所产生的存储行地址。由图11B可看出,不论在垂直方向或水平方向,所储存的影像数据相邻的两个存储行若被连续读取也都不会发生群组冲突。藉由减少发生群组冲突的机率,寻址电路950 能进一步提高存储器的读取效率。
须说明的是,寻址电路950亦可被设置于内存管理装置200中,根据目标尺寸决定电路230找出的目标瓦块尺寸进行存储行寻址。
本发明的范畴并不限于以某种特定组态或架构来实现内存管理装置 200、900所配合的图像处理系统。本领域的技术人员可理解,有多种电路组态和元件可在不背离本发明精神的情况下实现本发明的概念。实务上,前述电路可利用多种控制和处理平台实现,包含固定式的和可程序化的逻辑电路,例如可程序化逻辑门阵列、针对特定应用的集成电路、微控制器、微处理器、数字信号处理器。此外,该等电路亦可被设计为透过执行存储器中所储存的处理器指令来完成其任务。
根据本发明的另一实施例为一种配合一动态随机存取存储器的内存管理方法,其流程图是绘示于图12。该动态随机存取存储器包含多个存储区并是用以储存与一视频帧相关的影像数据。一参考视频帧包含多个图像处理区块,且该多个图像处理区块具有M种区块尺寸,M为一正整数。首先,步骤S1201为选出S种瓦块尺寸,其中S为大于一的一整数。其次,步骤 S1202为根据一单一存储区容量、该M种区块尺寸以及该S种瓦块尺寸,产生(M*S)个机率组合,其中的第i_j个机率组合是相关于若采用该S种瓦块尺寸中的第j种瓦块尺寸,自该动态随机存取存储器读取具有该M种区块尺寸中的第i种区块尺寸的一图像处理区块时发生一跨存储区读取事件的机率。随后,步骤S1203为根据该(M*S)个机率组合,自该S种瓦块尺寸中选出一个,做为将该视频帧存入该动态随机存取存储器时采用的一目标瓦块尺寸。
本领域的技术人员可理解,先前在介绍内存管理装置200、900时描述的各种操作变化亦可应用至图12中的内存管理方法,其细节不再赘述。
藉由以上具体实施例的详述,是希望能更加清楚描述本发明的特征与精神,而并非以上述所揭露的具体实施例来对本发明的范畴加以限制。相反地,其目的是希望能涵盖各种改变及具相等性的安排于本发明所欲申请的权利要求书的范畴内。
Claims (24)
1.一种配合一动态随机存取存储器的内存管理装置,应用于一图像处理装置,该动态随机存取存储器包含多个存储区,并以瓦块为单位储存与一视频帧相关的影像数据,该图像处理装置自该动态随机读取存储器读取该影像数据时是以图像处理区块为单位,该内存管理装置包含:
一候选尺寸选择电路,用以选出S种瓦块尺寸,其中S为大于一的一整数;
一机率计算电路,用以根据一单一存储区容量、M种区块尺寸以及该S种瓦块尺寸,产生(M*S)个机率组合,其中的第i_j个机率组合是相关于若采用该S种瓦块尺寸中的第j种瓦块尺寸,自该动态随机存取存储器读取具有该M种区块尺寸中的第i种区块尺寸的一图像处理区块时发生一跨存储区读取事件的机率,其中M为一正整数,i为范围在1到M间的一整数指标,j为为范围在1到S间的一整数指标;以及
一目标尺寸决定电路,用以根据该(M*S)个机率组合,自该S种瓦块尺寸中选出一个,做为将该视频帧的该影像数据存入该动态随机存取存储器时采用的一目标瓦块尺寸。
2.如权利要求1所述的内存管理装置,其特征在于,该M种区块尺寸是决定自至少一参考视频帧中的多个图像处理区块对应的多种区块尺寸,该至少一参考视频帧与该视频帧具有一时间相关性或一空间相关性。
3.如权利要求1所述的内存管理装置,其特征在于,该动态随机存取存储器是透过一总线收发该影像数据,该候选尺寸选择电路包含:
一瓦块宽度选择电路,用以根据该总线的一单次传输数据量与该视频帧中的一单一画素数据量,选择一瓦块宽度;
一高度上限决定电路,用以根据该单一存储区容量与该瓦块宽度,决定一高度上限;以及
一瓦块高度选择电路,用以选出不高于该高度上限的S种瓦块高度,其中的每一种瓦块高度是各自对应于二的幂次方个画素。
4.如权利要求3所述的内存管理装置,其特征在于,该瓦块宽度选择电路是采用将该单次传输数据量除以该单一画素数据量所产生的一比值做为该瓦块宽度。
5.如权利要求1所述的内存管理装置,其特征在于,该第j种瓦块尺寸包含一第j瓦块宽度与一第j瓦块高度,该第i种区块尺寸包含一第i区块宽度与一第i区块高度;该机率计算电路包含:
一水平机率计算电路,用以根据该第i区块宽度与该第j瓦块宽度,计算出该第i_j个机率组合中的一第一水平机率值与一第二水平机率值,其中该第一水平机率值是相关于若采用该第j种瓦块尺寸,自该动态随机存取存储器读取具有该第i种区块尺寸的一图像处理区块时,在水平方向上需读取(P+1)个存储区的机率,该第二水平机率值则是对应于在水平方向上需读取P个存储区的机率,P为与该第i区块宽度以及该第j瓦块宽度相关的一正整数;
一垂直机率计算电路,用以根据该第i区块高度与该第j瓦块高度,计算出该第i_j个机率组合中的一第一垂直机率值与一第二垂直机率值,其中该第一垂直机率值是相关于若采用该第j种瓦块尺寸,自该动态随机存取存储器读取具有该第i种区块尺寸的一图像处理区块时,在垂直方向上需读取(Q+1)个存储区的机率,该第二垂直机率值则是对应于在水平方向上需读取Q个存储区的机率,Q为与该第i区块高度以及该第j瓦块高度相关的一正整数;以及
一综合机率计算电路,用以将该第一水平机率值与该第一垂直机率值相乘,以产生该第i_j个机率组合中的一第一机率值,将该第一水平机率值与该第二垂直机率值相乘,以产生该第i_j个机率组合中的一第二机率值,将该第二水平机率值与该第一垂直机率值相乘,以产生该第i_j个机率组合中的一第三机率值,将该第二水平机率值与该第二垂直机率值相乘,以产生该第i_j个机率组合中的一第四机率值。
6.如权利要求5所述的内存管理装置,其特征在于,该M种区块尺寸是决定自至少一参考视频帧中的多个图像处理区块对应的多种区块尺寸,该目标尺寸决定电路包含:
一中间期望值计算电路,用以针对该第i_j个机率组合中的四个机率值各自赋予一个加成数值,并计算相对应的一加成后总和,做为一第i_j中间期望值Ei_j,其中该四个加成数值相关于需读取的存储区的数量;
一出现机率统计电路,用以取得具有该第i种区块尺寸的图像处理区块在该参考视频帧中的一第i出现机率Pi;
一最终期望值计算电路,用以根据下列表达式计算对应于第j种瓦块尺寸的一第j最终期望值FEj:
一比较电路,用以比较该S个最终期望值,并选出对应于最低的最终期望值的一瓦块尺寸,做为用以将该视频帧存入该动态随机存取存储器时采用的一目标瓦块尺寸。
7.如权利要求6所述的内存管理装置,其特征在于,该中间期望值计算电路赋予该第一机率值的加成数值为[(P+1)*(Q+1)],赋予该第二机率值的加成数值为[(P+1)*Q],赋予该第三机率值的加成数值为[P*(Q+1)],赋予该第四机率值的加成数值为(P*Q)。
8.如权利要求1所述的内存管理装置,其特征在于,每一个存储区包含多个存储行,且能容纳N个具有该目标瓦块尺寸的瓦块,具有该目标瓦块尺寸的每一个瓦块需要K个存储行的储存空间,N与K各自为一正整数;该内存管理装置进一步包含:
一寻址电路,用以为一存储区中的该多个存储行寻址;n为范围在1到(N/2)间的一整数指标,针对该存储区中的第(2n-1)个瓦块,自该瓦块的一读取起始点开始,该寻址电路将其中的K个存储行依序寻址为对应于(n-1)*2K~[(n-1)*2K+(K-1)];针对该存储区中的第2n个瓦块,自该瓦块的一读取起始点开始,该寻址电路将其中的K个存储行依序寻址为对应于[(2n-1)*K+(K-1)]~(2n-1)*K。
9.如权利要求1所述的内存管理装置,其特征在于,每一个存储区包含多个存储行,且能容纳N个具有该目标瓦块尺寸的瓦块,具有该目标瓦块尺寸的每一个瓦块需要K个存储行的储存空间,N与K各自为一正整数;该内存管理装置进一步包含:
一寻址电路,用以为一存储区中的该多个存储行寻址;n为范围在1到(N/2)间的一整数指标,针对该存储区中的第(2n-1)个瓦块,自该瓦块的一读取起始点开始,该寻址电路将其中的K个存储行依序寻址为对应于(n-1)*2K~[(n-1)*2K+(K-1)];针对该存储区中的第2n个瓦块,自该瓦块的一读取起始点开始,该寻址电路将其中的第(2k-1)个存储行寻址为对应于[(2n-1)*K+2k-1],并将其中的第2k个存储行寻址为对应于[(2n-1)*K+2k-2],k为范围在1到(K/2)间的一整数指标。
10.一种配合一动态随机存取存储器的内存管理装置,应用于一图像处理装置,该动态随机存取存储器包含多个存储区,并是以瓦块为单位储存与一视频帧相关的影像数据,该图像处理装置自该动态随机读取存储器读取该影像数据时是以图像处理区块为单位,根据至少一参考视频帧中的多个图像处理区块对应的多种区块尺寸,M种区块尺寸被预先提供,M为一正整数,S种瓦块尺寸被预先提供做为候选之用,S为大于一的一整数,该内存管理装置包含:
一存储器,其中设置有一查找表,该查找表储存有(M*S)个中间期望值,其中的第i_j中间期望值Ei_j是相关于若采用第j种瓦块尺寸,自该动态随机存取存储器读取具有第i种区块尺寸的一图像处理区块时发生一跨存储区读取事件的机率,i为范围在1到M间的一整数指标,j为为范围在1到S间的一整数指标;
一统计电路,用以取得具有该第i种区块尺寸的图像处理区块在该参考视频帧中的一第i出现机率Pi;
一最终期望值计算电路,用以自该查找表中取得该第i_j中间期望值Ei_j、自该统计电路取得该第i出现机率Pi,并根据下列表达式计算对应于第j种瓦块尺寸的一第j最终期望值FEj:
一比较电路,用以比较该S个最终期望值,并选出对应于最低的最终期望值的一瓦块尺寸,做为用以将该视频帧存入该动态随机存取存储器时采用的一目标瓦块尺寸。
11.如权利要求10所述的内存管理装置,其特征在于,每一个存储区包含多个存储行,且能容纳N个具有该目标瓦块尺寸的瓦块,具有该目标瓦块尺寸的每一个瓦块需要K个存储行的储存空间,N与K各自为一正整数;该内存管理装置进一步包含:
一寻址电路,用以为一存储区中的该多个存储行寻址;n为范围在1到(N/2)间的一整数指标,针对该存储区中的第(2n-1)个瓦块,自该瓦块的一读取起始点开始,该寻址电路将其中的K个存储行依序寻址为对应于(n-1)*2K~[(n-1)*2K+(K-1)];针对该存储区中的第2n个瓦块,自该瓦块的一读取起始点开始,该寻址电路将其中的K个存储行依序寻址为对应于[(2n-1)*K+(K-1)]~(2n-1)*K。
12.如权利要求10所述的内存管理装置,其特征在于,每一个存储区包含多个存储行,且能容纳N个具有该目标瓦块尺寸的瓦块,具有该目标瓦块尺寸的每一个瓦块需要K个存储行的储存空间,N与K各自为一正整数;该内存管理装置进一步包含:
一寻址电路,用以为一存储区中的该多个存储行寻址;n为范围在1到(N/2)间的一整数指标,针对该存储区中的第(2n-1)个瓦块,自该瓦块的一读取起始点开始,该寻址电路将其中的K个存储行依序寻址为对应于(n-1)*2K~[(n-1)*2K+(K-1)];针对该存储区中的第2n个瓦块,自该瓦块的一读取起始点开始,该寻址电路将其中的第(2k-1)个存储行寻址为对应于[(2n-1)*K+2k-1],并将其中的第2k个存储行寻址为对应于[(2n-1)*K+2k-2],k为范围在1到(K/2)间的一整数指标。
13.一种配合一动态随机存取存储器的内存管理方法,应用于一图像处理装置,该动态随机存取存储器包含多个存储区,并以瓦块为单位储存与一视频帧相关的影像数据,该图像处理装置自该动态随机读取存储器读取该影像数据时是以图像处理区块为单位,该内存管理方法包含:
选出S种瓦块尺寸,其中S为大于一的一整数;
根据一单一存储区容量、M种区块尺寸以及该S种瓦块尺寸,产生(M*S)个机率组合,其中的第i_j个机率组合是相关于若采用该S种瓦块尺寸中的第j种瓦块尺寸,自该动态随机存取存储器读取具有该M种区块尺寸中的第i种区块尺寸的一图像处理区块时发生一跨存储区读取事件的机率,其中M为一正整数,i为范围在1到M间的一整数指标,j为为范围在1到S间的一整数指标;以及
根据该(M*S)个机率组合,自该S种瓦块尺寸中选出一个,做为将该视频帧的该影像数据存存入该动态随机存取存储器时采用的一目标瓦块尺寸。
14.如权利要求13所述的内存管理方法,其特征在于,该M种区块尺寸是决定自至少一参考视频帧中的多个图像处理区块对应的多种区块尺寸,该至少一参考视频帧与该视频帧具有一时间相关性或一空间相关性。
15.如权利要求13所述的内存管理方法,其特征在于,该动态随机存取存储器是透过一总线收发该影像数据,且步骤(a)包含:
根据该总线的一单次传输数据量与该视频帧中的一单一画素数据量,选择一瓦块宽度;
根据该单一存储区容量与该瓦块宽度,决定一高度上限;以及
选出不高于该高度上限的S种瓦块高度,其中的每一种瓦块高度是各自对应于二的幂次方个画素。
16.如权利要求15所述的内存管理方法,其特征在于,该单次传输数据量除以该单一画素数据量所产生的一比值被设定为该瓦块宽度。
17.如权利要求13所述的内存管理方法,其特征在于,该第j种瓦块尺寸包含一第j瓦块宽度与一第j瓦块高度,该第i种区块尺寸包含一第i区块宽度与一第i区块高度;步骤(b)包含:
根据该第i区块宽度与该第j瓦块宽度,计算出该第i_j个机率组合中的一第一水平机率值与一第二水平机率值,其中该第一水平机率值是相关于若采用该第j种瓦块尺寸,自该动态随机存取存储器读取具有该第i种区块尺寸的一图像处理区块时,在水平方向上需读取(P+1)个存储区的机率,该第二水平机率值则是对应于在水平方向上需读取P个存储区的机率,P为与该第i区块宽度以及该第j瓦块宽度相关的一正整数;
根据该第i区块高度与该第j瓦块高度,计算出该第i_j个机率组合中的一第一垂直机率值与一第二垂直机率值,其中该第一垂直机率值是相关于若采用该第j种瓦块尺寸,自该动态随机存取存储器读取具有该第i种区块尺寸的一图像处理区块时,在垂直方向上需读取(Q+1)个存储区的机率,该第二垂直机率值则是对应于在水平方向上需读取Q个存储区的机率,Q为与该第i区块高度以及该第j瓦块高度相关的一正整数;
将该第一水平机率值与该第一垂直机率值相乘,以产生该第i_j个机率组合中的一第一机率值;
将该第一水平机率值与该第二垂直机率值相乘,以产生该第i_j个机率组合中的一第二机率值;
将该第二水平机率值与该第一垂直机率值相乘,以产生该第i_j个机率组合中的一第三机率值;以及
将该第二水平机率值与该第二垂直机率值相乘,以产生该第i_j个机率组合中的一第四机率值。
18.如权利要求17所述的内存管理方法,其特征在于,该M种区块尺寸是决定自至少一参考视频帧中的多个图像处理区块对应的多种区块尺寸,步骤(c)包含:
针对该第i_j个机率组合中的四个机率值各自赋予一个加成数值,并计算相对应的一加成后总和,做为一第i_j中间期望值Ei_j,其中该四个加成数值相关于需读取的存储区的数量;
取得具有该第i种区块尺寸的图像处理区块在该参考视频帧中的一第i出现机率Pi;
根据下列表达式计算对应于第j种瓦块尺寸的一第j最终期望值FEj:
以及
比较该S个最终期望值,并选出对应于最低的最终期望值的一瓦块尺寸,做为用以将该视频帧存入该动态随机存取存储器时采用的一目标瓦块尺寸。
19.如权利要求18所述的内存管理方法,其特征在于,在步骤(c)中赋予该第一机率值的加成数值为[(P+1)*(Q+1)],赋予该第二机率值的加成数值为[(P+1)*Q],赋予该第三机率值的加成数值为[P*(Q+1)],赋予该第四机率值的加成数值为(P*Q)。
20.如权利要求13所述的内存管理方法,其特征在于,每一个存储区包含多个存储行,且能容纳N个具有该目标瓦块尺寸的瓦块,具有该目标瓦块尺寸的每一个瓦块需要K个存储行的储存空间,N与K各自为一正整数;该内存管理方法进一步包含:
针对一存储区中的第(2n-1)个瓦块,自该瓦块的一读取起始点开始,将其中的K个存储行依序寻址为对应于(n-1)*2K~[(n-1)*2K+(K-1)],其中n为范围在1到(N/2)间的一整数指标;以及
针对该存储区中的第2n个瓦块,自该瓦块的一读取起始点开始,将其中的K个存储行依序寻址为对应于[(2n-1)*K+(K-1)]~(2n-1)*K。
21.如权利要求13所述的内存管理方法,其特征在于,每一个存储区包含多个存储行,且能容纳N个具有该目标瓦块尺寸的瓦块,具有该目标瓦块尺寸的每一个瓦块需要K个存储行的储存空间,N与K各自为一正整数;该内存管理方法进一步包含:
针对该存储区中的第(2n-1)个瓦块,自该瓦块的一读取起始点开始,将其中的K个存储行依序寻址为对应于(n-1)*2K~[(n-1)*2K+(K-1)],其中n为范围在1到(N/2)间的一整数指标;以及
针对该存储区中的第2n个瓦块,自该瓦块的一读取起始点开始,将其中的第(2k-1)个存储行寻址为对应于[(2n-1)*K+2k-1],并将其中的第2k个存储行寻址为对应于[(2n-1)*K+2k-2],其中k为范围在1到(K/2)间的一整数指标。
22.一种配合一动态随机存取存储器的内存管理方法,应用于一图像处理装置,该动态随机存取存储器包含多个存储区,并以瓦块为单位储存与一视频帧相关的影像数据,该图像处理装置自该动态随机读取存储器读取该影像数据时是以图像处理区块为单位,根据至少一参考视频帧中的多个图像处理区块对应的多种区块尺寸,M种区块尺寸被预先提供,M为一正整数,S种瓦块尺寸被预先提供做为候选之用,S为大于一的一整数,该内存管理方法包含:
预先设置一查找表,该查找表储存有(M*S)个中间期望值,其中的第i_j中间期望值Ei_j是相关于若采用第j种瓦块尺寸,自该动态随机存取存储器读取具有第i种区块尺寸的一图像处理区块时发生一跨存储区读取事件的机率,i为范围在1到M间的一整数指标,j为为范围在1到S间的一整数指标;
取得具有该第i种区块尺寸的图像处理区块在该参考视频帧中的一第i出现机率Pi;
自该查找表中取得该第i_j中间期望值Ei_j、自该统计电路取得该第i出现机率Pi,并根据下列表达式计算对应于第j种瓦块尺寸的一第j最终期望值FEj:
以及
比较该S个最终期望值,并选出对应于最低的最终期望值的一瓦块尺寸,做为用以将该视频帧存入该动态随机存取存储器时采用的一目标瓦块尺寸。
23.如权利要求22所述的内存管理方法,其特征在于,每一个存储区包含多个存储行,且能容纳N个具有该目标瓦块尺寸的瓦块,具有该目标瓦块尺寸的每一个瓦块需要K个存储行的储存空间,N与K各自为一正整数;该内存管理方法进一步包含:
针对一存储区中的第(2n-1)个瓦块,自该瓦块的一读取起始点开始,将其中的K个存储行依序寻址为对应于(n-1)*2K~[(n-1)*2K+(K-1)],其中n为范围在1到(N/2)间的一整数指标;以及
针对该存储区中的第2n个瓦块,自该瓦块的一读取起始点开始,将其中的K个存储行依序寻址为对应于[(2n-1)*K+(K-1)]~(2n-1)*K。
24.如权利要求22所述的内存管理方法,其特征在于,每一个存储区包含多个存储行,且能容纳N个具有该目标瓦块尺寸的瓦块,具有该目标瓦块尺寸的每一个瓦块需要K个存储行的储存空间,N与K各自为一正整数;该内存管理方法进一步包含:
针对该存储区中的第(2n-1)个瓦块,自该瓦块的一读取起始点开始,将其中的K个存储行依序寻址为对应于(n-1)*2K~[(n-1)*2K+(K-1)],其中n为范围在1到(N/2)间的一整数指标;以及
针对该存储区中的第2n个瓦块,自该瓦块的一读取起始点开始,将其中的第(2k-1)个存储行寻址为对应于[(2n-1)*K+2k-1],并将其中的第2k个存储行寻址为对应于[(2n-1)*K+2k-2],其中k为范围在1到(K/2)间的一整数指标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810694071.4A CN110660016A (zh) | 2018-06-29 | 2018-06-29 | 配合动态随机存取存储器的内存管理装置及内存管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810694071.4A CN110660016A (zh) | 2018-06-29 | 2018-06-29 | 配合动态随机存取存储器的内存管理装置及内存管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110660016A true CN110660016A (zh) | 2020-01-07 |
Family
ID=69026577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810694071.4A Pending CN110660016A (zh) | 2018-06-29 | 2018-06-29 | 配合动态随机存取存储器的内存管理装置及内存管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110660016A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003099769A (ja) * | 2001-09-25 | 2003-04-04 | Ricoh Co Ltd | メモリアクセス制御装置、画像処理装置及び画像処理方法 |
US7932912B1 (en) * | 2006-10-04 | 2011-04-26 | Nvidia Corporation | Frame buffer tag addressing for partitioned graphics memory supporting non-power of two number of memory elements |
CN102651808A (zh) * | 2011-02-25 | 2012-08-29 | 华晶科技股份有限公司 | 影像处理装置及其处理方法 |
CN103365796A (zh) * | 2012-04-05 | 2013-10-23 | 西门子公司 | 通过优化缓存重用在多处理器共享存储器系统上体积绘制 |
CN103974073A (zh) * | 2013-01-24 | 2014-08-06 | 晨星半导体股份有限公司 | 影像数据处理方法以及影像处理装置 |
CN106201355A (zh) * | 2016-07-12 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置以及存储系统 |
CN107391744A (zh) * | 2017-08-10 | 2017-11-24 | 东软集团股份有限公司 | 数据存储、读取方法、装置及其设备 |
-
2018
- 2018-06-29 CN CN201810694071.4A patent/CN110660016A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003099769A (ja) * | 2001-09-25 | 2003-04-04 | Ricoh Co Ltd | メモリアクセス制御装置、画像処理装置及び画像処理方法 |
US7932912B1 (en) * | 2006-10-04 | 2011-04-26 | Nvidia Corporation | Frame buffer tag addressing for partitioned graphics memory supporting non-power of two number of memory elements |
CN102651808A (zh) * | 2011-02-25 | 2012-08-29 | 华晶科技股份有限公司 | 影像处理装置及其处理方法 |
CN103365796A (zh) * | 2012-04-05 | 2013-10-23 | 西门子公司 | 通过优化缓存重用在多处理器共享存储器系统上体积绘制 |
CN103974073A (zh) * | 2013-01-24 | 2014-08-06 | 晨星半导体股份有限公司 | 影像数据处理方法以及影像处理装置 |
CN106201355A (zh) * | 2016-07-12 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置以及存储系统 |
CN107391744A (zh) * | 2017-08-10 | 2017-11-24 | 东软集团股份有限公司 | 数据存储、读取方法、装置及其设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9390007B2 (en) | Method and apparatus for performing adaptive memory bank addressing | |
US6381668B1 (en) | Address mapping for system memory | |
CN102460503A (zh) | 显示源图像的变形版本的设备和方法 | |
CN113032007B (zh) | 一种数据处理方法及装置 | |
CN112991142B (zh) | 图像数据的矩阵运算方法、装置、设备及存储介质 | |
JP2022508028A (ja) | 3次元画像処理におけるデータの読み書き方法とシステム、記憶媒体及び端末 | |
KR100283413B1 (ko) | 텍스처 매핑시스템 | |
US7401177B2 (en) | Data storage device, data storage control apparatus, data storage control method, and data storage control program | |
US6560686B1 (en) | Memory device with variable bank partition architecture | |
US9582474B2 (en) | Method and apparatus for performing a FFT computation | |
CN110660016A (zh) | 配合动态随机存取存储器的内存管理装置及内存管理方法 | |
US20080301400A1 (en) | Method and Arrangement for Efficiently Accessing Matrix Elements in a Memory | |
US20180108113A1 (en) | Apparatus and Method for Parallel Polyphase Image Interpolation | |
CN107797757B (zh) | 影像处理系统中的快取存储器管理方法及装置 | |
EP4180996A1 (en) | Matrix operation method and accelerator | |
TW202002640A (zh) | 配合動態隨機存取記憶體之記憶體管理裝置及記憶體管理方法 | |
CN110087088B (zh) | 一种基于运动估计的数据存储方法、终端设备及存储介质 | |
US20100122039A1 (en) | Memory Systems and Accessing Methods | |
WO2016007069A1 (en) | Device and method for performing a fourier transform on a three dimensional data set | |
JP4156538B2 (ja) | 行列演算装置 | |
JP4534488B2 (ja) | データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム | |
US7249226B2 (en) | Semiconductor system and memory sharing method | |
CN117785759B (zh) | 数据存储方法、数据读取方法、电子设备和存储介质 | |
CN110728367B (zh) | 用于神经网络的数据存储方法及装置 | |
US8923405B1 (en) | Memory access ordering for a transformation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200107 |
|
WD01 | Invention patent application deemed withdrawn after publication |