一种显示控制器的像素帧缓存处理系统及方法

文档序号:2587042阅读:274来源:国知局
专利名称:一种显示控制器的像素帧缓存处理系统及方法
技术领域
本发明涉及计算机显示系统的系统芯片(System on a Chip,SoC)技术领域,特别是涉及一种计算机显示系统中的显示控制器的像素帧缓存处理系统及方法。
背景技术
计算机显示系统是台式机、笔记本电脑、智能手机等几乎所有计算机系统的重要组成部分。
现有技术中,如IXD显示器需要以60Hz或者更高的频率进行刷新,因此显示控制器(Liquid Crystal Display Controller, LCDC)也需要以相同的频率扫描帧缓冲区读取像素。扫描帧缓冲区所产生的存储器访问操作不仅是系统总线带宽开销的重要组成部分, 同时也成为计算机系统功耗的重要来源。在一些嵌入式系统中该部分功耗可占整个系统功耗的20%以上。
在多数应用场合,尤其是人机交互过程中,显示屏幕更新的速度通常低于显示控制器(LCDC)扫描帧缓冲区的速度,这意味着在一定时间段内,显示控制器(LCDC)重复访问帧缓冲区内相同的数据。因此利用帧缓冲区压缩(Frame BufferCompression,FBC)可以减少显示控制器(LCDC)对存储器的访问次数,从而降低显示系统功耗。目前该技术已经在一些计算机系统,尤其是那些使用LCD显示器的嵌入式设备中得到应用。
在现有技术"A compressed frame buffer to reduce display powerconsumption in mobile systems"; [C]//Proceedings of the 2004 Asia andSouth Pacific Design Automation Conference. Piscataway :IEEE Press, 2004 :818-823, H Shim, N Chang, M Pedram.中,其提出一种帧缓冲区游程编码(RunLength Encoding, RLE) 格式一RLE16编码,其如

图1所示,采用基于RGB565色彩编码格式的32位编码,前16位原样保存了 RGB565的色彩值,后16位保存这个色彩值的游程,从而最多可将连续65536个相同像素压缩为32比特。但是,RLE16压缩编码的像素的游程长度占据了额外的存储空间, 并且,采用RLE16编码进行帧缓冲区压缩,不排除压缩后帧缓冲区体积反而增大的情况发生。该现有技术文献中还同时提供另一种改进的帧缓冲区游程编码格式——ARLE16编码, 如图2a、图2b所示,其仍然采用基于RGB565色彩编码的格式,但仅在帧缓冲区中连续出现多个相同像素的情况下才进行编码,从而保证了压缩后帧缓冲区的体积不超过压缩前。同时其将RGB565格式的绿色分量长度由6位减至5位,并增添了指示当前编码是否带有游程的指示位。这样,ARLE16牺牲了绿色分量的精度,使本来的无损压缩变成了有损压缩。另外ARLE16压缩数据中包含32位(图2a)和16位(图2b)两种长度的编码格式,这种编码长度不一致的缺陷会导致解码器不论一拍取多少数据,都有可能只取到某一编码的颜色值却取不到它的游程,该技术中,为保证解码实时性,就必须设计更加复杂的解码逻辑,从而产生更大的硬件开销。发明内容
本发明的目的在于提供一种显示控制器的帧缓存处理系统及方法,其有效地降低计算机显示系统功耗。为实现本发明目的而提供的一种显示控制器的帧缓存处理系统,包括显示控制器,还包括LFBC控制装置,压缩装置,帧压缩缓存区,解压装置,其中所述LFBC控制装置,用于对准备输出到显示控制器的新的像素,根据预设的阈值,控制以正常模式或者压缩模式处理所述新的像素;当以正常模式处理时,获取所述新的像素并直接发送到显示控制器;当以压缩模式处理所述新的像素时,则将所述获取的新的像素输入到压缩装置进行编码压缩输入到帧压缩缓存区得到压缩编码像素数据,并控制解压装置将所述帧压缩缓存区中的压缩编码像素数据解码并输出到显示控制器;所述压缩装置,用于对准备输出到显示控制器的需要压缩的新的像素进行编码并得到压缩游程计数值和压缩编码色彩值,并经过处理输出到帧压缩缓存区得到编码压缩像素数据;所述帧压缩缓存区,用于存储被压缩装置压缩后的编码压缩像素数据;所述解压装置,用于从帧压缩缓存区读取编码压缩像素数据,根据编码压缩像素数据得到解码游程计数值和解码色彩值进行解码,得到显示控制器的像素,输出给显示控制器进行显示。较优地,所述的像素帧缓存处理系统,还包括DMA模块;所述LFBC控制装置从所述 DMA模块获取所述新的像素;所述进处理,为按预设的LFBC游程编码格式进行处理;所述进行解码为按预设的 LFBC游程编码格式进行解码;所述预设LFBC游程编码格式为利用阿尔法分量的位置来保存当前像素的游程长度的游程编码格式;所述预设LFBC游程编码格式数据结构中原阿尔法分量保存位置保存8 位游程长度,剩余M位保存压缩编码色彩值,其中,红、绿、蓝色彩值分量分别为8位;所述帧压缩缓存区为计算机显示控制器的内存的一段数据缓存区。较优地,所述LFBC控制装置,包括一个饱和计数器,计分模块,其中所述计分模块,用于对当前时间段内DMA模块的帧缓存区的内容更新的频率进行计分,得到计分值;所述饱和计数器,用于存储所述计分值。较优地,所述压缩装置,包括编码模块;所述编码模块,用于将准备输入到显示控制器的新的像素的色彩值,与当前像素的色彩值进行比较,根据比较结果进行编码并得到压缩游程计数值和压缩编码色彩值,并按预设的LFBC游程编码格式,对所述压缩游程计数值和压缩编码色彩值进行压缩处理后输出到帧压缩缓存区中得到编码压缩像素数据。 较优地,所述编码模块,包括第一拍比较子模块,第二拍压缩子模块,压缩游程计数寄存器,压缩编码色彩值寄存器,压缩缓冲区,其中 所述第一拍比较子模块,用于在编码的第一拍中,将新的像素的像素色彩值与压缩编码色彩值作比较;若相同,压缩游程计数寄存器中的压缩游程计数值将自加1 ;若不同,则将压缩游程计数寄存器中的压缩游程计数值和压缩编码色彩值寄存器中的压缩编码色彩值写入压缩缓冲区中,并将新的像素的色彩值锁存在压缩编码色彩值寄存器中作为新的压缩编码色彩值,压缩游程计数寄存器清零;
所述第二拍压缩子模块,用于在编码的第二拍中,若压缩游程计数寄存器中压缩游程计数值不为零,则不做任何操作并返回;若压缩游程计数寄存器中压缩游程计数值为零,则一段编码结束,从压缩缓冲区中读取压缩游程计数值和压缩编码色彩值,按预设的 LFBC游程编码格式,压缩写入帧压缩缓存区得到压缩编码像素数据;
所述压缩游程计数寄存器,用于保存压缩游程计数值;
所述压缩编码色彩值寄存器,用于保存压缩编码色彩值;
所述压缩缓冲区,用于按预设的LFBC游程编码格式,缓存压缩游程计数值和压缩编码色彩值。
较优地,在所述编码模块中,还包括判断子模块,用于在控制压缩游程计数值将自加1后,判断压缩游程计数值是否等于256 ;如果是,则将压缩游程计数寄存器中的压缩游程计数值和压缩编码色彩值寄存器中的压缩编码色彩值写入压缩缓冲区中,压缩游程计数寄存器清零。
较优地,所述解压装置包括读取模块和解码模块,解码游程计数寄存器,解码色彩值寄存器。
其中,所述读取模块,用于从帧压缩缓冲区读取新的编码压缩像素数据,将编码压缩象素数据分成两部分,分别写入解码游程计数寄存器作为解码游程计数值和写入解码色彩值寄存器作为当前像素的解码色彩值;
所述解码模块,用于根据第二游程计数值和当前像素的色彩编码值,按预设的 LFBC游程编码格式解码得到显示控制器的像素,输出给显示控制器;并在解压过程中,判断解码游程计数值是否为0 ;如果是,则控制读取模块在下一拍中从帧压缩缓存区读取一个新的编码压缩像素数据;否则继续进行解码;
所述解码游程计数寄存器,用于保存解码游程计数值;
所述解码色彩值寄存器,用于保存当前像素的解码色彩值。
较优地,所述解压装置,还包括采样模块,用于在解码的每一拍,均对解码色彩值寄存器中的当前像素的解码色彩值进行采样。
为实现本发明目的还提供一种显示控制器的像素帧缓存处理方法,包括如下步骤
步骤S100,对准备输出到显示控制器的新的像素,根据预设的阈值,控制以正常模式或者压缩模式处理所述新的像素;当以正常模式处理时,获取所述新的像素并直接发送到显示控制器;当以压缩模式处理所述新的像素时,则转入步骤S200 ;
步骤S200,对准备输出到显示控制器的需要压缩的新的像素进行编码并得到压缩游程计数值和压缩编码色彩值,并经过处理输出到帧压缩缓存区得到编码压缩像素数据;
步骤S300,存储被压缩装置压缩后的编码压缩像素数据;
步骤S400,从帧压缩缓存区读取编码压缩像素数据,根据编码压缩像素数据得到解码游程计数值和解码色彩值并进行解码,得到显示控制器的像素,输出到显示控制器进行显不。
较佳地,所述步骤S200,包括如下步骤
步骤S210,在编码的第一拍中,将新的像素的色彩值与压缩编码色彩值作比较;
步骤S220,若相同,压缩游程计数寄数器中的压缩游程计数值将自加1 ;若不同, 则将压缩游程计数寄存器中的压缩游程计数值和压缩编码色彩值寄存器中的压缩编码色彩值写入压缩缓冲区中,并将新的像素的色彩值锁存在压缩编码色彩值寄存器中作为压缩编码色彩值,压缩游程计数寄存器清零;步骤S230,在编码的第二拍中,若压缩游程计数寄存器中压缩游程计数值不为零, 则不做任何操作并返回;若压缩游程计数寄存器中压缩游程计数值为零,则一段编码结束, 从压缩缓冲区中读取压缩游程计数值和压缩编码色彩值,利用预设的LFBC游程编码格式, 压缩写入帧压缩缓存区得到压缩编码像素数据。较优地,所述步骤S220还包括如下步骤步骤S220’,在控制压缩游程计数值将自加1后,判断压缩游程计数值是否等于 256 ;如果是,则将压缩游程计数寄存器中的压缩游程计数值和压缩编码色彩值寄存器中的压缩编码色彩值写入压缩缓冲区中,压缩游程计数寄存器清零。较优地,所述步骤S400,包括如下步骤步骤S410,从帧压缩缓冲区读取新的编码压缩像素数据,将编码压缩象素数据分成两部分,分别写入解码游程计数寄存器作为解码游程计数值和写入解码色彩值寄存器作为当前像素的解码色彩值;步骤S420,根据解码游程计数值和当前像素的解码色彩值,按预设的LFBC游程编码格式数据,解码得到显示控制器的像素,输出给显示控制器;并在解码过程中,判断解码游程计数值是否为0 ;如果是,则控制读取模块在下一拍中从帧压缩缓存区读取一个新的编码压缩像素数据;否则继续进行解码。本发明的有益效果本发明的显示控制器的帧缓冲区压缩处理系统及方法,通过帧压缩缓存区内数据量的大小,减少计算机显示控制器扫描帧缓冲区过程中所产生的存储器访问操作数量,从而达到降低计算机显示系统功耗的目的。说明书附1为现有技术中的一种RLE16游程编码数据结构示意图;图加为现有技术中的一种ARLE16游程编码数据结构(当游程大于1时)示意图;图2b为现有技术中的一种ARLE16游程编码数据结构(当游程等于1时)示意图;图3为本发明实施例显示控制器的像素帧缓存处理系统结构示意图;图4为ARGB8888色彩编码数据结构示意图;图5为本发明LFBC游程编码格式数据结构示意图;图6为图5中压缩装置工作过程示意图;图7为图5中解压装置工作过程示意图;图8为用本发明实施例的显示控制器的帧缓存处理系统及方法改进龙芯IGSoC显示控制器设计前后显示系统功耗的对比示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的显示控制器的帧缓存处理系统及方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图3所示,本发明的显示控制器的像素帧缓存处理系统,包括显示控制器3, LFBC (Loongson Frame Buffer Compression)控制装置1,压缩装置2,帧压缩缓存区5,解压装置4,其中
所述LFBC控制装置1,用于对准备输出到显示控制器3的新的像素,根据预设的阈值T,控制以正常模式或者压缩模式处理所述新的像素;当以正常模式处理时,获取所述新的像素并直接发送到显示控制器3 ;当以压缩模式处理所述新的像素时,则将所述获取的新的像素输入到压缩装置2进行编码压缩输入到帧压缩缓存区5得到压缩编码像素数据; 并控制解压装置4将所述帧压缩缓存区5中的压缩编码像素数据解码并输出到显示控制器 3。
所述压缩装置2,用于对准备输出到显示控制器3的需要压缩的新的像素进行编码并得到压缩游程计数值和压缩编码色彩值,并经过处理输出到帧压缩缓存区5得到编码压缩像素数据。
所述帧压缩缓存区5,用于存储被压缩装置2压缩后的编码压缩像素数据。
较佳地,作为一种可实施方式,所述帧压缩缓存区5可以是计算机显示系统内存 (未示出)的一段数据缓存区。
所述解压装置4,用于从帧压缩缓存区5读取编码压缩像素数据,根据编码压缩像素数据得到解码游程计数值和解码色彩值进行解码,得到显示控制器3的像素,输出给显示控制器3进行显示。
较佳地,作为一种可实施方式,本发明实施例的所述的像素帧缓存处理系统,还包括DMA (Direct Memory Access,直接内存存取)模块6 ;所述LFBC控制装置从所述DMA模块获取所述新的像素;
较佳地,作为一种可实施方式,本发明实施例中,所述处理为按预设的LFBC游程编码格式进行处理;所述进行解码为按预设的LFBC游程编码格式进行解码。
现代计算机显示系统往往要求像素在帧缓冲区内以ARGB8888数据格式进行存储,如图4所示。ARGB8888数据格式中的阿尔法(Alpha)分量在图形处理过程中有重要的用途(alpha混合、alpha测试等)。但在显示控制器3读取像素并发送到显示接口的过程中,该分量被直接抛弃。因此,作为一种可实施方式,本发明实施例中,所述预设LFBC游程编码格式为利用阿尔法(Alpha)分量的位置来保存当前像素的游程长度的游程编码格式。 作为一种可实施方式,本发明实施例中,所述预设LFBC游程编码格式,其数据结构如图5所示,其中8位(原Alpha分量保存位置)保存游程长度,剩余M位保存压缩编码色彩值(在压缩装置中)或者解码色彩值(在解码装置中),其中,红、绿、蓝色彩值分量分别为8位。 本发明实施例中,预设的LFBC游程编码的8位游程可表示O 255无符号整数,因此可将最多256个连续相同像素压缩到原来1个像素的长度(32比特)。
较佳地,作为一种可实施方式,下面详细描述本发明实施例的LFBC控制装置1。
LFBC控制装置1控制显示控制器(IXDC)在正常模式和压缩模式之间的切换。
所述LFBC控制装置1对准备输出到显示控制器3的新的像素,根据预设的阈值T, 控制以正常模式或者压缩模式处理所述新的像素;当以正常模式处理时,从DMA模块获取所述新的像素并直接发送到显示控制器3 ;当以压缩模式处理所述新的像素时,则将所述新的像素输入到压缩装置2进行编码压缩得到压缩编码像素数据输入帧压缩缓存区5 ;并控制解压装置4将所述帧压缩缓存区5中的压缩编码像素数据解压并输出到显示控制器3。较佳地,作为一种可实施方式,本发明实施例的LFBC控制装置1,包括一个饱和计数器11,计分模块12。所述计分模块12,用于对当前时间段内DMA模块6的帧缓存区的内容更新的频率进行计分,得到计分值。所述饱和计数器11,用于存储所述计分值。每当显示控制器3 (LCDC)完成一次帧缓冲区扫描,计分模块的计分值(分数)就修改一次若上次扫描过程中帧缓冲区的内容被更新,则计分值增加η ;若上次扫描过程中帧缓冲区的内容没有更新,则计分值自减1。依照此计分方法,若帧缓冲区内容更新的时间间隔大于完成η次扫描的时间,则饱和计数器的值会逐渐上升,反之就逐渐下降。记T为阈值,则当饱和计数器分数高于阈值T时,表明当前应用不适合进行帧缓冲区压缩;反之则适合进行帧缓冲区压缩。当以正常模式处理时,将所述新的像素直接输入到显示控制器3 ;当以压缩模式处理所述新的像素时,则将所述新的像素输入到压缩装置2进行编码压缩得到压缩编码像素数据输入到帧压缩缓存区5 ;并控制解压装置4将所述帧压缩缓存区5中的压缩编码像素数据解压并输出到显示控制器3。更佳地,为了兼顾控制模块的反应速度,作为一种可实施方式,本发明实施例中, 所述饱和计数器11的位数为4位,即满分15 ;所述阈值T为8 ;所述η为2。较佳地,作为一种可实施方式,如图6所示,本发明实施例的压缩装置2,包括编码模块。所述编码模块,用于对准备输入到显示控制器3的新的像素的色彩值 anputPixel),将所述新的像素的色彩值(Input Pixel)与当前像素的色彩值进行比较,根据比较结果进行编码并得到压缩游程计数值(Pixel Count)和压缩编码色彩值,并按预设的LFBC游程编码格式,对所述压缩游程计数值和压缩编码色彩值进行处理后输出到帧压缩缓存区5中。较佳地,作为一种可实施方式,所述编码模块,包括第一拍比较子模块21,第二拍控制子模块22,压缩游程计数寄存器23,压缩编码色彩值寄存器M,压缩缓冲区25,其中所述第一拍比较子模块21,用于在编码的第一拍中,将新的像素的像素色彩值 (Input Pixel)与压缩编码色彩值(Current Pixel)作比较;若相同,控制压缩游程计数寄存器23中的压缩游程计数值将自加1 ;若不同,则将压缩游程计数寄存器23中的压缩游程计数值和压缩编码色彩值寄存器M中的压缩编码色彩值写入压缩缓冲区25中,并将新的像素的色彩值锁存在压缩编码色彩值寄存器M中作为新的压缩编码色彩值,压缩游程计数(Pixel Count)寄存器23清零。所述第二拍压缩子模块22,用于在编码的第二拍中,若压缩游程计数寄存器23中压缩游程计数值不为零,则不做任何操作并返回;若压缩游程计数寄存器23中压缩游程计数值为零,则一段编码结束,从压缩缓冲区25中读取压缩游程计数值和压缩编码色彩值,按预设的LFBC游程编码格式,写入帧压缩缓存区(Compress Buffer) 5得到压缩编码像素数据,完成编码压缩过程。
所述压缩游程计数寄存器23,用于保存压缩游程计数值。作为一种现有的技术,该压缩游程寄存器23在显示系统启动初始化时,初始化其初始值为0。
所述压缩编码色彩值寄存器对,用于保存压缩编码色彩值。
所述压缩缓冲区25,用于按预设的LFBC游程编码格式,缓存压缩游程计数值 (Pixel Count)和压缩编码色彩值。
作为一种可实施方式,本发明实施例中,所述压缩装置2的工作过程如下
对新的像素色彩值(Input Pixel),对所述新的像素色彩值(Input Pixel)比较, 进行编码并得到压缩游程计数值和压缩编码色彩值,并压缩后写入到帧压缩缓存区中。
较佳地,作为一种可实施方式,如图6所示,编码压缩过程需要两个时钟周期,即编码像素流水线包括两拍编码像素流水线的第一拍和第二拍。
本发明实施例中,作为一种可实施方式,较佳地,为了不增加额外的访存请求,编码像素流水线第一拍和第二拍可以同时读取像素,即第一拍与第二拍同时处理像素编码。
其中,作为一种可实施方式,在编码像素流水线第一拍,新的像素的色彩值(Input Pixel)与压缩编码色彩值(Current Pixel)作比较;若相同,压缩游程计数值(Pixel Count)将自加1 ;若不同,则将压缩游程计数寄存器23中的压缩游程计数值和压缩编码色彩值寄存器M中的压缩编码色彩值写入压缩缓冲区25中,并将新的像素的色彩值锁存在压缩编码色彩值寄存器M中作为新的压缩编码色彩值,压缩游程计数寄存器23清零。
在编码像素流水线第二拍,若压缩游程计数寄存器23中的压缩游程计数值不为零,则不做任何操作并返回,等待读取下一个新的像素并进行新的第一拍和第二拍操作;若压缩游程计数(Pixel Count)寄存器23中的压缩游程计数值为零,则一段编码结束,从压缩缓冲区25中读取压缩游程计数值和压缩编码色彩值,利用预设的LFBC游程编码格式,进行压缩写入得到压缩编码数据。
然后,经过压缩写入的压缩编码数据最终由AXI (Advanced eXtensiblelnterface)总线接口模块7以闯入(Burst)的方式写入帧压缩缓存区 (CompressFrame Buffer)5。
像素更佳地,所述编码模块,还包括判断子模块沈,用于在控制压缩游程计数值将自加1后,判断压缩游程计数值是否等于256 ;如果是,则将压缩游程计数寄存器23中的压缩游程计数值和压缩编码色彩值寄存器M中的压缩编码色彩值写入压缩缓冲区25中,压缩游程计数(Pixel Count)寄存器23清零。
较佳地,作为一种可实施方式,如图7所示,本发明实施例的解压装置4包括读取模块41和解码模块42,解码游程计数寄存器43,解码编码色彩值寄存器44。
其中,所述读取模块41,用于从帧压缩缓冲区读取新的编码压缩像素数据,将编码压缩象素数据分成两部分,分别写入解码游程计数寄存器作为解码游程计数值和写入解码色彩值寄存器作为当前像素的解码色彩值;。
所述解码模块42,用于根据解码游程计数值和当前像素的解码色彩值,按预设的 LFBC游程编码格式,解码得到显示控制器的像素输出给显示控制器3 ;并在解压过程中,判断解码游程计数值是否为0,如果是,则控制读取模块在下一拍中从帧压缩缓存区读取一个新的编码压缩像素数据;否则继续进行解码。作为一种可实施方式,在解压过程中,若解码游程计数(Pixel Count)寄存器中解码游程计数值为0,则在下一拍从帧压缩缓存区读取一个新的32位编码压缩像素数据。所述解码游程计数寄存器43,用于保存解码游程计数值。所述解码色彩值寄存器44,用于保存解码色彩值。更佳地,所述解压装置,还包括采样模块,用于在解压像素流水线每一拍,均对解码色彩值(Current Pixel)寄存器中的当前像素的解码色彩值进行采样。下面详细说明本发明实施例中解压装置的工作过程如图7所示,读取模块从帧压缩缓冲区读取新的编码压缩像素数据,将编码压缩象素数据分成两部分,分别写入解码游程计数寄存器作为解码游程计数值和写入解码色彩值寄存器作为当前像素的解码色彩值;解码模块根据解码游程计数值和当前像素的解码色彩值,按预设的LFBC游程编码格式,解码得到显示控制器的像素输出给显示控制器3 ;在解压过程中,若解码游程计数(Pixel Count)寄存器中解码游程计数值为0,则在下一拍从帧压缩缓存区读取一个新的32位编码压缩像素数据,输出到解码模块。其中,32位编码压缩像素数据的高8位作为解码游程计数值保存在解码游程计数 (Pixel Count)寄存器中,低M位作为M位色彩值保存在解码色彩寄存器中;在解压过程中,若解码游程计数(Pixel Count)寄存器不为0,则解码游程计数 (Pixel Count)寄存器中解码游程计数值在下一拍自减1得到新的解码游程计数值,解码色彩编码寄存器的压缩编码色彩值保持不变,解码得到显示控制器的像素,输出给显示控制器3。相应地,本发明还提供一种显示控制器的像素帧缓存处理方法,包括如下步骤步骤S100,对准备输出到显示控制器的新的像素,根据预设的阈值T,控制以正常模式或者压缩模式处理所述新的像素;当以正常模式处理时,获取所述新的像素并直接发送到显示控制器;当以压缩模式处理所述新的像素时,则转入步骤S200 ;步骤S200,对准备输出到显示控制器的需要压缩的新的像素的色彩值进行编码并得到压缩游程计数值和压缩编码色彩值,并经过处理输出到帧压缩缓存区得到编码压缩像素数据;步骤S300,存储被压缩装置压缩后的编码压缩像素数据;步骤S400,从帧压缩缓存区读取编码压缩像素数据,根据编码压缩像素数据得到解码游程计数值和解码色彩值并进行解码,得到显示控制器的像素,输出给显示控制器进行显不。较佳地,所述步骤S200,作为一种可实施方式,包括如下步骤步骤S210,在编码过的第一拍中,将新的像素的色彩值(Input Pixel)与压缩编码色彩值(Current Pixel)作比较;步骤S220,若相同,压缩游程计数(Pixel Count)寄数器中的压缩游程计数值将自加1 ;若不同,则将压缩游程计数寄存器23中的压缩游程计数值和压缩编码色彩值寄存器M中的压缩编码色彩值写入压缩缓冲区25中,并将新的像素的色彩值锁存在压缩编码色彩值(Current Pixel)寄存器中作为新的压缩编码色彩值,压缩游程计数(Pixel Count)寄存器清零;
步骤S230,在编码的第二拍中,若压缩游程计数(Pixel Count)寄存器中的压缩游程计数值不为零,则不做任何操作并返回;若压缩游程计数(PixelCoimt)寄存器中的压缩游程计数值为零,则一段编码结束,从压缩缓冲区25中读取压缩游程计数值和压缩编码色彩值,利用预设的LFBC游程编码格式,写入帧压缩缓存区得到压缩编码像素数据。
更佳地,所述步骤S220还包括如下步骤
步骤S220’,在控制压缩游程计数值将自加1后,判断压缩游程计数值是否等于 256 ;如果是,则将压缩游程计数寄存器23中的压缩游程计数值和压缩编码色彩值寄存器 M中的压缩编码色彩值写入压缩缓冲区25中,压缩游程计数(Pixel Count)寄存器23清零。
较佳地,所述步骤S400,作为一种可实施方式,包括如下步骤
步骤S410,从帧压缩缓冲区读取新的编码压缩像素数据,将编码压缩象素数据分成两部分,分别写入解码游程计数寄存器作为解码游程计数值和写入解码色彩值寄存器作为当前像素的解码色彩值;步骤S420,根据解码游程计数值和当前像素的解码色彩值,按预设的LFBC游程编码格式,解码得到显示控制器的像素输出给显示控制器;并在解码过程中,判断解码游程计数值是否为0 ;如果是,则控制读取模块在下一拍中从帧压缩缓存区读取一个新的编码压缩像素数据;否则继续进行解码。
本发明实施例的显示控制器的帧缓存处理方法的方法步骤与本发明实施例的显示控制器的帧缓存处理系统工作过程相同,因此,在本发明实施例中,不再一一详细描述。
下面进一步通过实验数据说明本发明的显示控制器的帧缓存处理系统及方法。
在龙芯IG SoC(System on a Chip)上使用本发明显示控制器的帧缓存处理系统及方法前后,显示控制器在同一时间段内扫描帧缓冲区产生的访存操作数量对比如表1所示。
表1显示控制器模块改进前后的访存功耗
权利要求
1.一种显示控制器的像素帧缓存处理系统,包括显示控制器,其特征在于,还包括 LFBC控制装置,压缩装置,帧压缩缓存区,解压装置,其中所述LFBC控制装置,用于对准备输出到显示控制器的新的像素,根据预设的阈值,控制以正常模式或者压缩模式处理所述新的像素;当以正常模式处理时,获取所述新的像素并直接发送到显示控制器;当以压缩模式处理所述新的像素时,则将所述获取的新的像素输入到压缩装置进行编码压缩输入到帧压缩缓存区得到压缩编码像素数据;并控制解压装置将所述帧压缩缓存区中的压缩编码像素数据解压并输出到显示控制器;所述压缩装置,用于对准备输出到显示控制器的需要压缩的新的像素进行编码并得到压缩游程计数值和压缩编码色彩值,并经过处理输出到帧压缩缓存区得到编码压缩像素数据;所述帧压缩缓存区,用于存储被压缩装置压缩后的编码压缩像素数据;所述解压装置,用于从帧压缩缓存区读取编码压缩像素数据,根据编码压缩像素数据得到解码游程计数值和解码色彩值并进行解码,得到显示控制器的像素,输出给显示控制器进行显示。
2.根据权利要求1所述的像素帧缓存处理系统,其特征在于,还包括DMA模块;所述 LFBC控制装置从所述DMA模块获取所述新的像素;所述处理,为按预设的LFBC游程编码格式进行处理;所述进行解码为按预设的LFBC游程编码格式进行解码;所述预设LFBC游程编码格式为利用阿尔法分量的位置来保存当前像素的游程长度的游程编码格式;所述预设LFBC游程编码格式数据结构中原阿尔法分量保存位置保存8位游程长度,剩余M位保存压缩编码色彩值,其中,红、绿、蓝色彩值分量分别为8位;所述帧压缩缓存区为计算机显示系统内存的一段数据缓存区。
3.根据权利要求2所述的像素帧缓存处理系统,其特征在于,所述LFBC控制装置,包括一个饱和计数器,计分模块,其中所述计分模块,用于对当前时间段内DMA模块的帧缓存区的内容更新的频率进行计分,得到计分值;所述饱和计数器,用于存储所述计分值。
4.根据权利要求3所述的像素帧缓存处理系统,其特征在于,每当显示控制器完成一次帧缓冲区扫描,所述计分模块的计分值就修改一次若上次扫描过程中帧缓冲区的内容被更新,则计分值增加η ;若上次扫描过程中帧缓冲区的内容没有更新,则计分值自减1。
5.根据权利要求4所述的像素帧缓存处理系统,其特征在于,所述饱和计数器的位数为4位;所述阈值T为8 ;所述η为2。
6.根据权利要求1所述的像素帧缓存处理系统,其特征在于,所述压缩装置,包括编码模块;所述编码模块,用于将准备输入到显示控制器的新的像素的色彩值,与当前像素的色彩值进行比较,根据比较结果进行编码并得到压缩游程计数值和压缩编码色彩值,并利用预设的LFBC游程编码格式,对所述压缩游程计数值和压缩编码色彩值进行处理后输出到帧压缩缓存区中得到编码压缩像素数据。
7.根据权利要求6所述的像素帧缓存处理系统,其特征在于,所述编码模块,包括第一拍比较子模块,第二拍压缩子模块,压缩游程计数寄存器,压缩编码色彩值寄存器,压缩缓冲区,其中所述第一拍比较子模块,用于在编码的第一拍中,将新的像素的像素色彩值与压缩编码色彩值作比较;若相同,控制压缩游程计数寄存器中的压缩游程计数值将自加1 ;若不同,则将压缩游程计数寄存器中的压缩游程计数值和压缩编码色彩值寄存器中的压缩编码色彩值写入压缩缓冲区中,并将新的像素的色彩值锁存在压缩编码色彩值寄存器中作为新的压缩编码色彩值,压缩游程计数寄存器清零;所述第二拍压缩子模块,用于在的第二拍中,若压缩游程计数寄存器中压缩游程计数值不为零,则不做任何操作并返回;若压缩游程计数寄存器中压缩游程计数值为零,则一段编码结束,从压缩缓冲区中读取压缩游程计数值和压缩编码色彩值,按预设的LFBC游程编码格式,写入帧压缩缓存区得到压缩编码像素数据;所述压缩游程计数寄存器,用于保存压缩游程计数值; 所述压缩编码色彩值寄存器,用于保存压缩编码色彩值;所述压缩缓冲区,用于按预设的LFBC游程编码格式,缓存压缩游程计数值和压缩编码色彩值。
8.根据权利要求7所述的像素帧缓存处理系统,其特征在于,所述编码模块还包括判断子模块,用于在控制压缩游程计数值将自加1后,判断压缩游程计数值是否等于256 ;如果是,则将压缩游程计数寄存器中的压缩游程计数值和压缩编码色彩值寄存器中的压缩编码色彩值写入压缩缓冲区中,压缩游程计数寄存器清零。
9.根据权利要求1所述的像素帧缓存处理系统,其特征在于,所述解压装置包括读取模块,解码模块,解码游程计数寄存器,解码色彩值寄存器;其中,所述读取模块,用于从帧压缩缓冲区读取新的编码压缩像素数据,将编码压缩象素数据分成两部分,分别写入解码游程计数寄存器作为解码游程计数值和写入解码色彩值寄存器作为当前像素的解码色彩值;所述解码模块,用于根据解码游程计数值和当前像素的解码色彩值,按预设的LFBC游程编码格式,解码得到显示控制器的像素,输出给显示控制器;并在解压过程中,判断解码游程计数值是否为0,如果是,则控制读取模块在下一拍中从帧压缩缓存区读取一个新的编码压缩像素数据;否则继续进行解码;所述解码游程计数寄存器,用于保存解码游程计数值; 所述解码色彩值寄存器,用于保存当前像素的解码色彩值。
10.根据权利要求9所述的像素帧缓存处理系统,其特征在于,所述解压装置还包括采样模块,用于在解压的每一拍,均对解码色彩值寄存器中的当前像素的解码色彩值进行采样。
11.一种显示控制器的像素帧缓存处理方法,其特征在于,包括如下步骤步骤S100,对准备输出到显示控制器的新的像素,根据预设的阈值,控制以正常模式或者压缩模式处理所述新的像素;当以正常模式处理时,获取所述新的像素并直接发送到显示控制器;当以压缩模式处理所述新的像素时,则转入步骤S200 ;步骤S200,对准备输出到显示控制器的需要压缩的新的像素进行编码并得到压缩游程计数值和压缩编码色彩值,并经过处理输出到帧压缩缓存区得到编码压缩像素数据;步骤S300,存储被压缩装置压缩后的编码压缩像素数据;步骤S400,从帧压缩缓存区读取编码压缩像素数据,根据编码压缩像素数据得到解码游程计数值和解码色彩值并进行解码,得到显示控制器的像素,输出到显示控制器进行显示。
12.根据权利要求11所述的显示控制器的像素帧缓存处理方法,其特征在于,所述步骤S200,包括如下步骤步骤S210,在编码过程的第一拍中,将新的像素的色彩值与压缩编码色彩值作比较;步骤S220,若相同,压缩游程计数寄数器中的压缩游程计数值将自加1 ;若不同,则将压缩游程计数寄存器中的压缩游程计数值和压缩编码色彩值寄存器中的压缩编码色彩值写入压缩缓冲区中,并将新的像素的色彩值锁存在压缩编码色彩值寄存器中作为新的压缩编码色彩值,压缩游程计数寄存器清零;步骤S230,在编码的第二拍中,若压缩游程计数寄存器中压缩游程计数值不为零,则不做任何操作并返回;若压缩游程计数寄存器中压缩游程计数值为零,则一段编码结束,从压缩缓冲区中读取压缩游程计数值和压缩编码色彩值,利用预设的LFBC游程编码格式,压缩写入压缩缓冲区得到压缩编码像素数据。
13.根据权利要求11所述的显示控制器的像素帧缓存处理方法,其特征在于,所述步骤S220还包括如下步骤步骤S220’,在控制压缩游程计数值将自加1后,判断压缩游程计数值是否等于256 ;如果是,则将压缩游程计数寄存器中的压缩游程计数值和压缩编码色彩值寄存器中的压缩编码色彩值写入压缩缓冲区中,压缩游程计数寄存器清零。
14.根据权利要求11至13任一项所述的显示控制器的像素帧缓存处理方法,其特征在于,所述步骤S400,包括如下步骤步骤S410,从帧压缩缓冲区读取新的编码压缩像素数据,将编码压缩象素数据分成两部分,分别写入解码游程计数寄存器作为解码游程计数值和写入解码色彩值寄存器作为当前像素的解码色彩值;步骤S420,根据解码游程计数值和当前像素的解码色彩值,按预设的LFBC游程编码格式,解码得到显示控制器的像素输出给显示控制器;并在解码过程中,判断解码游程计数值是否为0 ;如果是,则控制读取模块在下一拍中从帧压缩缓存区读取一个新的编码压缩像素数据;否则继续进行解码。
全文摘要
本发明提供一种显示控制器的像素帧缓存处理系统及方法。该系统包括LFBC控制装置,压缩装置,帧压缩缓存区,解压装置,其中压缩装置,用于对准备输出到显示控制器的需要压缩的新的像素进行编码并得到压缩游程计数值和压缩编码色彩值,并经过处理输出到帧压缩缓存区得到编码压缩像素数据;解压装置,用于从帧压缩缓存区读取编码压缩像素数据,根据编码压缩像素数据得到解码游程计数值和解码色彩值并进行解码,得到显示控制器的像素,输出给显示控制器进行显示。其有效地降低计算机显示系统功耗。
文档编号G09G3/36GK102522069SQ20111043095
公开日2012年6月27日 申请日期2011年12月20日 优先权日2011年12月20日
发明者李轶夫, 王超, 蒋毅飞 申请人:龙芯中科技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1