一种视频图像高速缓存处理方法及装置制造方法
【专利摘要】本发明公开了一种视频图像高速缓存处理方法和装置。该方法包括:预处理步骤,对视频图像划分为若干二维像素块,并将视频图像中各个像素点的亮度信息和色度信息分离;地址转换步骤,将二维像素块内各个像素点的色度信息在主存储单元中的第一地址均转换为第二地址;色度读取步骤,读取色度缓存单元中第二地址对应的色度信息,将二维像素块作为一个像素点进行非精确处理。本发明充分利用了人眼对于视频图像的亮度和色度敏感程度不同的特点,对视频图像中的色度信息采用非精确处理方法,并把这种方法运用在处理器的高速缓存中,降低高速缓存的缺失率。
【专利说明】一种视频图像高速缓存处理方法及装置
【技术领域】
[0001]本发明涉及视频图像处理【技术领域】,具体地说,涉及一种视频图像高速缓存的处理方法及装置。
【背景技术】
[0002]现有技术中,视频图像被广泛应用于通信、交通、医学、教育等领域,例如视频会议、视频监控和远程教学等。随着视频图像应用领域的不断拓宽,视频处理的数据量也在急剧增加,导致在计算机处理系统中普遍出现“存储墙”问题,即存储器的存取速度远低于处理器的处理速度,这在视频图像处理中更加严重。
[0003]在计算机工程领域,根据局部性原理而提出的高速缓存(cache)结构是解决“存储墙”问题的主要手段之一,并已被广泛地应用在处理器架构中。高速缓存性能对整个处理器的处理性能有着重要影响,一般采用存储器的平均访问时间来衡量。其计算方法如下:
[0004]存储器的平均访问时间=命中时间+缺失率*缺失代价
[0005]通过上述公式可以看出,高速缓存的性能主要取决于缺失率、命中时间和缺失代价这三个参数。其中,命中时间是指高速缓存命中的时间,缺失代价是指由于访问目标不在缓存中而从存储器中加载数据块所需要的时间。这两个参数在一定的组织结构下是基本上保持一定的量级,而缺失率是一个比较不确定的参数。降低高速缓存的缺失率是优化缓存性能的手段之一。
[0006]现有技术中对高速缓存的缺失率进行优化的方法及其弊端如下。
[0007]可以通过增加块容量降低缺失率,但是会增加缺失代价。可以增大高速缓存的大小来降低缺失率,但会导致命中时间较长,并且价格开销和功耗都较大。还可以增加相联度来降低缺失率,但是较大的相联度也会增加命中时间。也可以使用多级高速缓存来降低缺失率,但是会导致增大集成电路的面积,并且使得多级的缓存一致性维护增加。
[0008]可以看出,上述优化方法均属于通用方法,并非针对视频图像的特性,用于视频图像处理方面得到的优化效果并不明显。
[0009]基于上述情况,亟需一种能够降低视频图像的高速缓存缺失率的处理方法和装置。
【发明内容】
[0010]为解决上述问题,本发明提供了一种视频图像高速缓存处理方法,包括以下步骤:
[0011]预处理步骤,对视频图像划分为若干二维像素块,并将视频图像中各个像素点的亮度信息和色度信息分离;
[0012]地址转换步骤,将二维像素块内各个像素点的色度信息在主存储单元中的第一地址转换为第二地址;
[0013]色度读取步骤,读取色度缓存单元中第二地址对应的色度信息,将二维像素块作为一个像素点进行非精确处理。
[0014]根据本发明的一个实施例,地址转换步骤包括:
[0015]获取二维像素块内各个像素点的色度信息在主存储单元中的第一地址;
[0016]将第一地址中的一个设定为第二地址;
[0017]将二维像素块内各个像素点的色度信息在主存储单元中的不同于第二地址的第一地址均转换为第二地址。
[0018]根据本发明的一个实施例,色度读取步骤包括:
[0019]根据第二地址访问色度缓存单元并判断是否命中;若命中,则读取色度缓存单元中第二地址对应的色度信息;否则,将第二地址对应的色度信息从主存储单元加载至色度缓存单元。
[0020]根据本发明的一个实施例,所述将第一地址中的一个设定为第二地址为:
[0021]将二维像素块内第一行第一列的像素点的色度信息在主存储单元中的第一地址设定为第二地址。
[0022]根据本发明的一个实施例,所述将二维像素块内各个像素点的色度信息在主存储单元中的不同于第二地址的第一地址均转换为第二地址包括:
[0023]将二维像素块内第一行第一列的之外的像素点的色度信息在主存储单元中的第一地址减去相邻行像素点的地址差值,以及/或者减去相邻列像素点的地址差值,得到第二地址。
[0024]根据本发明的一个实施例,还包括亮度读取步骤:
[0025]将视频图像中各个像素点亮度信息加载至亮度缓存单元,读取亮度缓存单元中的亮度信息。
[0026]根据本发明的另一方面,还提供一种视频图像高速缓存处理装置,包括:
[0027]预处理单元,用于对视频图像划分为若干二维像素块,并将视频图像中各个像素点的亮度信息和色度信息分离;
[0028]地址转换单元,将二维像素块内各个像素点的色度信息在主存储单元中的第一地址均转换为第二地址;
[0029]色度读取单元,用于读取色度缓存单元中第二地址对应的色度信息,将二维像素块作为一个像素点进行非精确处理。
[0030]根据本发明的一个实施例,所述色度读取单元还用于根据第二地址访问色度缓存单元并判断是否命中;若命中,则读取色度缓存单元中第二地址对应的色度信息;否则,将第二地址对应的色度信息从主存储单元加载至色度缓存单元。
[0031]根据本发明的一个实施例,所述地址转换单元进一步用于:
[0032]获取二维像素块内各个像素点的色度信息在主存储单元中的第一地址;
[0033]将二维像素块内第一行第一列的像素点的色度信息在主存储单元中的第一地址设定为第二地址;
[0034]将二维像素块内第一行第一列的之外的像素点的色度信息在主存储单元中的第一地址减去相邻行像素点的地址差值,以及/或者减去相邻列像素点的地址差值,得到所述第二地址。
[0035]根据本发明的一个实施例,还包括亮度读取单元,用于将视频图像中各个像素点亮度信息加载至亮度缓存单元,读取亮度缓存单元中的亮度信息。
[0036]本发明的有益效果在于,充分利用了人眼对于视频图像的亮度和色度敏感程度不同的特点,对视频图像中的色度信息采用非精确处理方法,并把这种方法运用在处理器的高速缓存中,降低高速缓存的缺失率,提高处理器整体性能。
[0037]本发明针对视频图像的高速缓存,提出一种简单、高效的降低高速缓存缺失率的方法和装置。可以使色度信息的缓存缺失率降低,且对视频图像主要和客观质量基本无影响。本方法简单高效,能高效集成到视频图像处理系统中,特别是可应用到针对视频图像处理的混合cache架构中。
[0038]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
【专利附图】
【附图说明】
[0039]为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要的附图做简单的介绍:
[0040]图1是根据本发明实施例的视频图像高速缓存处理方法的步骤流程图;
[0041]图2是根据本发明实施例的对视频图像划分为二维像素块的示例图;
[0042]图3是根据本发明实施例的视频图像高速缓存处理装置的结构示意图;
[0043]图4是根据本发明实施例的混合片上缓存的结构示意图;
[0044]图5a是根据本发明实施例的原视频图像;
[0045]图5b是根据本发明实施例的方法进行非精确处理之后的视频图像;
[0046]图6a是根据本发明实施例的H.264编解码原图像;
[0047]图6b是根据本发明实施例的方法进行非精确处理之后的H.264编解码原图像;
[0048]图7是H.264编解码原图像与非精确处理H.264编解码后图像的PSNR对比图。
【具体实施方式】
[0049]为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明作进一步地详细说明。
[0050]视频图像处理系统因视频图像的特点而可以采用非精确处理方法。具体的,可以把视频图像数据分为两个部分:对图像质量影响较大的显著比特(bit)和对图像质量影响较小的非显著比特。对非显著比特的适当的近似处理对图像视频的质量影响甚小,而图像的色度就属于非显著比特部分。而且图像视频的相邻像素点的信息有一定的相似性,95%的相邻像素色度信息差值小于5。
[0051]基于这样的事实,本发明通过视频图像cache中对色度的非精确处理来降低视频图像高速缓存(cache)的缺失率。
[0052]实施例一
[0053]图1为本实施例的视频图像高速缓存处理方法的步骤流程图。以下结合图1做详细说明。
[0054]步骤SlOl为预处理步骤,对视频图像划分为若干二维像素块,并将视频图像中各个像素点的亮度信息和色度信息分离。
[0055]由于人眼对视频图像中的亮度敏感,而对色度部分不敏感,可以将视频图像中各个像素点的亮度信息和色度信息分离。其中的色度信息经过后续的处理步骤进行非精确处理。
[0056]图2为本实施例中对视频图像划分为二维像素块的示例图。将包括多个像素点的视频图像201依次划分为多个像素块202,其中像素块202包括4个像素点,分布在2行2列中,称为2*2方式。如上文明所述,这里的视频图像201仅包括分离之后的色度信息,同样,像素块202中仅包括色度信息。在本示例中,像素块202中四个像素点的色度值分别为All = 111, A12 = 108, A21 = 108, A22 = 109。
[0057]步骤S102为地址转换步骤,将二维像素块内各个像素点的色度信息在主存储单元中的第一地址均转换为第二地址。
[0058]具体的,首先获取二维像素块内各个像素点的色度信息在主存储单元中的第一地址,也就是获取像素块202中A11、A12、A21和A22四个像素点在主存储单元的地址。
[0059]然后,将第一地址中的一个设定为第二地址。在本实施例中是将二维像素块内第一行第一列的像素点的色度信息在主存储单元中的第一地址设定为第二地址,即将像素点All的在主存储单元的地址设定为第二地址。
[0060]最后,将二维像素块内各个像素点的色度信息在主存储单元中的不同于第二地址的第一地址均转换为第二地址。即将像素点A12、A21和A22在主存储单元中的地址均转换为像素点All在主存储单元的地址。如图2所示,当访问cache时,像素块202中所有的像素点均为同一个地址,相应的像素点All、A12、A21和A22的色度值均为111。这样使得二维像素块202作为一个像素点进行处理,A12、A21和A22的色度值近似认为是111。
[0061]本领域技术人员容易理解,本实施例中2*2方式的二维像素块也可以为3*3、2*3、3*2等类似的实施方式。可以根据具体的视频图像的用途和性质来设置像素块的大小。
[0062]以下提供地址转换的具体方法。
[0063]第一种转化算法如公式(I)所示,其中ImageWidth和ImageHeight代表图像的尺寸,BlockWidth 和 BlockHeight 代表二维像素块的尺寸,Address 和 Translated_Address分别代表像素点的原地址和转换后的地址,XAddress, YAddress和Translated_XAddress,Translated_YAddress分别代表像素点的原地址坐标和转换后的地址坐标,mode为取余函数,floor为取整函数。
[0064]YAddress = mode(Address, Imageffidth)
[0065]XAddress = floor (Address/ImageWidth)
[0066]Translated_YAddress = floor (YAddress/Boxffidth) XBoxffidth
[0067]Translated_XAddress = floor (XAddress/BoxHeight) XBoxHeight
[0068]Translated_Address = Translated_XAddress XImageffidth)+Translated_YAddress (I)
[0069]
[0070]但是,按照上述公式(I)方式实现地址转换需要进行除法运算,在硬件设计中除法实现代价过高。为了减小地址转换的硬件代价,第二种地址转换方法。
[0071]如表I所示,对于本实施例中采用的2*2的像素块,则有左上All、右上A12、左下A21和右下A22四个位置,其中Address为未转换的原地址,BytesofPixels是相邻列像素点的地址差值,OffsetBetweenRows是相邻行像素点的地址差值。该算法可以只需要32位减法器实现就能实现,硬件代价小。
[0072]表1
[0073]
【权利要求】
1.一种视频图像高速缓存处理方法,其特征在于,包括以下步骤: 预处理步骤,对视频图像划分为若干二维像素块,并将视频图像中各个像素点的亮度信息和色度信息分离; 地址转换步骤,将二维像素块内各个像素点的色度信息在主存储单元中的第一地址转换为第二地址; 色度读取步骤,读取色度缓存单元中第二地址对应的色度信息,将二维像素块作为一个像素点进行非精确处理。
2.根据权利要求1所述的方法,其特征在于,地址转换步骤包括: 获取二维像素块内各个像素点的色度信息在主存储单元中的第一地址; 将第一地址中的一个设定为第二地址; 将二维像素块内各个像素点的色度信息在主存储单元中的不同于第二地址的第一地址均转换为第二地址。
3.根据权利要求1或2所述的方法,其特征在于,色度读取步骤包括: 根据第二地址访问色度缓存单元并判断是否命中;若命中,则读取色度缓存单元中第二地址对应的色度信息;否则,将第二地址对应的色度信息从主存储单元加载至色度缓存单元。
4.根据权利要求2所述的方法,其特征在于,所述将第一地址中的一个设定为第二地址为: 将二维像素块内第一行第一列的像素点的色度信息在主存储单元中的第一地址设定为第二地址。
5.根据权利要求4所述的方法,其特征在于,所述将二维像素块内各个像素点的色度信息在主存储单元中的不同于第二地址的第一地址均转换为第二地址包括: 将二维像素块内第一行第一列之外的像素点的色度信息在主存储单元中的第一地址减去相邻行像素点的地址差值,以及/或者减去相邻列像素点的地址差值,得到第二地址。
6.根据权利要求1-5中任一项所述的方法,其特征在于,还包括亮度读取步骤: 将视频图像中各个像素点亮度信息加载至亮度缓存单元,读取亮度缓存单元中的亮度信息。
7.一种视频图像高速缓存处理装置,其特征在于,包括: 预处理单元,用于对视频图像划分为若干二维像素块,并将视频图像中各个像素点的亮度信息和色度信息分离; 地址转换单元,将二维像素块内各个像素点的色度信息在主存储单元中的第一地址均转换为第二地址; 色度读取单元,用于读取色度缓存单元中第二地址对应的色度信息,将二维像素块作为一个像素点进行非精确处理。
8.根据权利要求7所述的装置,其特征在于,所述色度读取单元还用于根据第二地址访问色度缓存单元并判断是否命中;若命中,则读取色度缓存单元中第二地址对应的色度信息;否则,将第二地址对应的色度信息从主存储单元加载至色度缓存单元。
9.根据权利要求8所述的装置,其特征在于,所述地址转换单元进一步用于: 获取二维像素块内各个像素点的色度信息在主存储单元中的第一地址; 将二维像素块内第一行第一列的像素点的色度信息在主存储单元中的第一地址设定为第二地址; 将二维像素块内第一行第一列的之外的像素点的色度信息在主存储单元中的第一地址减去相邻行像素点的地址差值,以及/或者减去相邻列像素点的地址差值,得到所述第二地址。
10.根据权利要求9所述的装置,其特征在于,还包括亮度读取单元,用于将视频图像中各个像素点亮度信息加载至亮度缓存单元,读取亮度缓存单元中的亮度信息。
【文档编号】H04N19/146GK104168485SQ201410334839
【公开日】2014年11月26日 申请日期:2014年7月15日 优先权日:2014年7月15日
【发明者】周妮, 乔飞, 江树浩, 杨华中 申请人:清华大学