快取存储器管理装置及应用该快取存储器管理装置的动态影像系统及方法
【技术领域】
[0001]本发明与快取存储器(cache)的管理技术相关,并且尤其与以降低快取错失(cache-miss)为目标的管理技术相关。
【背景技术】
[0002]在计算机系统中,快取存储器被用以暂存处理器近期内刚使用过或将可能使用的少量数据。相较于容量较大的主存储器,快取存储器存取数据的速度较快,但硬件价格较高。一般而言,主存储器是利用动态随机存取记忆器(dynamic random accessmemory, DRAM)实现,而快取存储器是利用静态随机存取记忆器(static random accessmemory, SRAM)实现。在需要某一笔特定数据时,处理器会先至快取存储器中寻找,并且在无法寻得该笔数据的情况下,才转至主存储器中寻找。
[0003]快取存储器包含多个快取列(cache line),用以储存自主存储器撷取来的数据内容。每一个快取列有各自的卷标(tag)、索引(index)和偏移量(offset)。各快取列所储存的数据原本在主存储器中的地址会被分散至卷标、索引和偏移量这三个字段中储存。图1以使用快取存储器储存视讯数据的情况为例,呈现上述三种字段的内容的实际范例。于此范例中,每一快取列内可储存一影像区块;各影像区块的地址包含该影像区块在所属画面中于水平、垂直两方向的起始位置坐标,各以二进制的十二个位表示为:x [11:0]、y [11:0]。此外,偏移量字段共包含五个位(x[4:0]),表示每一个快取列能储存某画面中位于同一水平线的32 (=25)个连续像素的影像数据。举例而言,若单一个像素的影像数据大小为八位,且偏移量字段包含五个位,则每一个快取列的容量为256 (=8*32)位。
[0004]由图1可看出,水平起始位置的坐标X [11:0]被拆分为x[ll:7]、x[6:5]、x[4:0]三个部分,分别存入卷标、索引和偏移量等三个字段中。x[ll:7]代表坐标χ[11:0]中的五个最高有效位,x[4:0]代表坐标χ[11:0]中的五个最低有效位,x[6:5]则是代表坐标X [ 11:0]中的其余两个中间位。另一方面,垂直起始位置的坐标y [ 11:0]被拆分为y [ 11:6]、y[5:0]两个部分,分别存入卷标、索引这两个字段中。如图1所示,本范例中的卷标字段还储存了用以标示一影像区块所属画面的时间顺序的时间坐标,以二进制的六个位表示为t[5:0]。将卷标、索引和偏移量三个字段的内容组合起来,处理器便能得出该影像区块的完整地址信息。
[0005]快取存储器的大小通常相当有限,无法同时容纳一画面中的所有影像区块。以直接映像(direct map)快取存储器为例,只要是索引字段内容相同的影像区块,自主存储器被撷取至快取存储器时,就会被存入同一个快取列。就图1绘示的范例而言,索引字段共包含八个位,因此其内容有256(=28)种可能性(00000000?11111111),也表示此快取存储器共包含256个快取列。举例而言,即使两个影像区块A、B的地址的其它部分(x、y、t)不同,只要其地址的y[5:0]、x[6:5]等八个位为00101100,这两个影像区块A、B都会被设定为存入索引为00101100的快取列。实务上,若影像区块A先前已被储存在该快取列中,处理器将影像区块B写入时会覆盖掉影像区块A的数据。
[0006]同一快取列被用以储存影像区块A时和被用以储存影像区块B时,其标签字段的内容不同。在快取存储器中寻找一笔目标数据时,处理器首先根据索引找出相对应的快取列,并判断其正确性字段的内容是否表示该快取列的内容数据无误。随后,处理器必须判断其标签字段的内容是否亦与目标数据的地址相符。唯有在卷标和索引皆符合的情况下,才能称为快取命中(cache hit),否则即为快取错失(cache miss)。若发生快取错失的情况,处理器必须改由主存储器撷取目标数据,并将该目标数据存入相对应的快取列中供后续使用。
[0007]在动态影像译码系统中,快取存储器时常被用来暂存移动补偿(mot1ncompensat1n)程序所需要的参考画面。移动补偿是一种被广泛应用在动态影像压缩领域的技术。待编码的画面被分割为多个大小相同(例如16像素*16像素)的影像区块。针对各个影像区块,编码器会从参考画面中找出一个最相似的参考区域,并判断一影像区块及其相对应的参考区域间的移动向量。除了移动向量外,编码器还会判断一影像区块及其相对应的参考区域间的影像内容差异,称为冗余量(residual)。经过编码后的影像区块以其移动向量和冗余量表示。相对应地,译码端的移动补偿程序必须根据移动向量、冗余量以及参考画面重建出各个影像区块的完整内容。
[0008]为了进一步提升压缩效果,近年来有许多移动补偿标准开始采用多张参考画面(multiple reference picture)移动补偿程序,也就是令编码器得以自多张参考画面(例如目前影像区块所属画面的前后各五张画面)中寻找最佳移动向量和冗余量。因此,将同一画面中的不同影像区块译码时,处理器可能需要分别将多张参考画面的内容自主存储器撷取至快取存储器。图2呈现一种多张参考画面的画面相对关系范例。第N、(N-1)、(N-2)张画面在动态影像中的时序相邻。假设第N张画面内的影像区块Al以第(N-1)张画面内的参考区块Rl为基础被编码,而第N张画面内的影像区块A2以第(N-2)张画面内的参考区块R2为基础被编码。首先,在将影像区块Al译码的过程中,处理器会将参考区块Rl撷取至快取存储器中。接着,在将影像区块A2译码的过程中,处理器会将参考区块R2撷取至快取存储器中。
[0009]由图2可看出,虽然时间坐标不同,但参考区块Rl在第(N-1)张画面中的起始位置坐标与参考区块R2在第(N-2)张画面中的起始位置坐标完全相同。根据现行的快取存储器映像组态(例如图1呈现者),参考区块Rl、R2被设定为存入同样的快取列。在一个或多个快取列中储存着参考区块Rl的情况下,无法自快取存储器搜寻到参考区块R2的处理器会判定出现快取错失的情况,因此会自主存储器将参考区块R2撷取至快取存储器,覆写原本储存在该一个或多个快取列中的参考区块Rl。若随后第N张画面内的另一个影像区块(例如A3)同样是以第(N-1)张画面内的参考区块Rl为基础被编码,快取错失的情况会再次发生,使得解码端处理器必须重新自主存储器将参考区块Rl撷取至快取存储器,覆写参考区块R2。
[0010]如本发明所属技术领域中具有通常知识者所知,快取错失率愈高,系统的整体效能愈差。经仿真实验证明,若采用现行的快取存储器映像组态,在译码端进行多张参考画面移动补偿程序时,常常会出现快取错失率偏高的问题。
【发明内容】
[0011]为解决上述问题,本发明提出一种新的快取存储器管理概念,以及应用该快取存储器管理概念的信号处理系统、信号处理方法。藉由找出快取错失的根本原因(rootcause),并据此动态、适性地调整快取存储器的索引内容分配方式,根据本发明的管理装置、信号处理系统和信号处理方法能降低快取错失率。本发明的概念不仅可应用在采用多张参考画面移动补偿程序的译码端,亦可被广泛使用于多种需要以快取存储器暂存数据的信号处理系统、信号处理方法中。
[0012]根据本发明的一具体实施例为一种应用于动态影像的信号处理系统,其中包含一信号处理模块、一快取存储器、一分析模块及一控制模块。该信号处理模块用以针对一动态影像数据进行一信号处理程序。该快取存储器用以暂存该信号处理程序处理该动态影像数据时所需要的一参考数据。该分析模块用以产生有关该信号处理程序以及该快取存储器的一快取错失分析信息。该控制模块用以根据该快取错失分析信息决定该快取存储器的一索引内容分配方式。
[0013]根据本发明的另一具体实施例为一种信号处理方法。首先,一动态影像数据被施以一信号处理程序。该信号处理程序利用一快取存储器暂存处理该动态影像数据时所需要的一参考数据。接着,该信号处理方法执行一分析步骤,产