首页> 中国专利> 一种在小内存嵌入式系统中使用彩色屏幕的方法

一种在小内存嵌入式系统中使用彩色屏幕的方法

摘要

本发明公开了一种在小内存嵌入式系统中使用彩色屏幕的方法,涉及显示技术领域,尤其适用于一些屏幕显存大于系统内存的这种场合。所述方法:建立目标资料与只读存储器ROM中RGB颜色编码表间的映射关系A及RGB颜色编码表中颜色编码与表内颜色索引号间的映射关系B,设置随机存取存储器中与目标资料所需显示位置相对应的内存区域的颜色索引号;刷新显示时,依次遍历随机存储器中颜色索引号,依据随机存取存储器中的颜色索引号查询RGB颜色编码值表,根据映射关系B获取与颜色索引号对应的唯一颜色编码真值;将颜色编码真值通过显示屏驱动接口发送到显示屏驱动显示。通过在内存中存储颜色索引替代直接存储RGB颜色编码值,有效降低内存资源消耗,使小内存嵌入式系统使用较大显存的彩色屏幕成为可能。

著录项

  • 公开/公告号CN107103891A

    专利类型发明专利

  • 公开/公告日2017-08-29

    原文格式PDF

  • 申请/专利权人 艾体威尔电子技术(北京)有限公司;

    申请/专利号CN201710045092.9

  • 发明设计人 黄光黔;

    申请日2017-01-20

  • 分类号

  • 代理机构北京市盛峰律师事务所;

  • 代理人于国富

  • 地址 100097 北京市海淀区杏石口路甲18号2号楼3层

  • 入库时间 2023-06-19 03:10:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-06-18

    授权

    授权

  • 2017-09-22

    实质审查的生效 IPC(主分类):G09G5/02 申请日:20170120

    实质审查的生效

  • 2017-08-29

    公开

    公开

说明书

技术领域

本发明涉及显示技术领域,尤其涉及一种在小内存嵌入式系统中使用彩色屏幕的方法。

背景技术

像素由红、绿、蓝三基色组成,通过调节各基色分量大小即可显示出各种颜色。在数字系统中,通过位(bit)数对各基色分量进行量化描述,一个像素各基色位数总和被称为颜色深度。基色量化级数越高,表示的颜色越丰富,色阶越小,显示的东西越逼真,即颜色深度越深。

通常带LCD控制器的彩色显示屏默认支持的都是16bit颜色深度。R(红色)分量占用5bit,G(绿色)分量占用6bit,B(蓝色)分量占用5bit。

现有传统方法中,若内存充裕,则可以在内存空间中开辟一个与LCD显存等大的内存区域(二维数组),每个屏幕上的点对应内存中两个字节,依次排列。更改显示内容时只修改二维数组内数据,更改完成后在再点对点的搬运内存数据到LCD显存中驱动显示。假设驱动分辨率为320×240的屏幕,则需要使用320×240×2=153.6Kbyte内存空间,这对于小内存的嵌入式系统来说,内存需求几乎是不可满足的。

现有传统方法中,若内存小,则使用屏幕LCD控制器中的显存,但是这样会导致显示效果不佳,因为每次修改显示内容时通过修改写指针来指定位置,故需要在写控制命令和写数据之间进行来回切换,使刷屏时间变长,刷新帧率降低,显示效果差。且几乎不可能实现显示内容的移动、放大、缩小等各种变换,因为需要读出显存内容后修改,再之后才能显示,存在耗时长且占用内存空间大的问题。

现有技术中,通常使用彩色屏幕作为人机交互显示系统均需大内存作为支持,在小内存嵌入式系统中由于内存资源匮乏,一般使用数码管、字型符或单色点阵型液晶显示器作为人机交互显示系统,受限于颜色固定单一、分辨率较低等缺点,显示内容有限、样式单一,人机交互界面不友好。

发明内容

本发明的目的在于提供一种在小内存嵌入式系统中使用彩色屏幕的方法,从而解决现有技术中存在的前述问题。

为了实现上述目的,本发明所述在小内存嵌入式系统中使用彩色屏幕的方法,所述方法包括:

S1,根据即将显示的目标资料,建立目标资料与只读存储器ROM中RGB颜色编码表之间的映射关系A及RGB颜色编码表中颜色编码与表内颜色索引号之间的映射关系B,设置随机存取存储器RAM中与所述目标资料所需显示位置相对应的内存区域的颜色索引号;

S2,刷新显示时,依次遍历随机存储器RAM中颜色索引号,依据随机存取存储器RAM中的颜色索引号查询与目标资料存在映射关系A的RGB颜色编码值表,根据颜色索引号与RGB颜色编码映射关系B获取与颜色索引号对应的唯一颜色编码真值;

S3,将所述颜色编码真值通过显示屏驱动接口发送到显示屏驱动显示。

优选地,在步骤S1之前还包括以下步骤:根据界面显示所需,在只读存储器ROM中预设一组或多组RGB颜色编码表,任意两组RGB颜色编码表中存储的颜色编码不完全相同,任意一个RGB颜色编码表W内的颜色编码在RGB颜色编码表W内具有唯一颜色索引号。

优选地,步骤S1,具体为:

S11,遍历目标资料像素,根据目标资料在显示屏上所需显示的颜色建立所述目标资料与只读存储器ROM中一组RGB颜色编码表的映射关系A;

S12,建立RGB颜色编码表中的颜色编码与颜色索引号之间的映射关系B;

S13,获取目标资料所需显示颜色的颜色索引号,设置随机存取存储器RAM中与所述目标资料所需显示位置相对应的内存值为该显示位置需显示颜色的颜色索引号。

优选地,所述RGB颜色编码值表包括颜色索引号和RGB颜色编码值,所述颜色索引号与所述颜色编码一对一设置。

优选地,RGB颜色编码值表中每个颜色的索引描述占用log2Nbit内存,N为RGB颜色编码值表中RGB颜色编码数量。

优选地,根据用户更改目标资料显示颜色更换的需求,通过修改目标资料与只读存储器ROM中RGB颜色编码表之间的映射关系A,实现显示的目标资料颜色更换;具体为:步骤S1中,建立目标资料与只读存储器ROM中RGB颜色编码表m之间的映射关系A,当获取用户更改目标资料显示颜色更换的请求时,接触映射关系A,建立目标资料与只读存储器ROM中除RGB颜色编码表m外其它任意一个RGB颜色编码表之间的映射关系D。

优选地,在内存中存储显示屏上当前显示颜色的RGB值所对应的颜色索引号。

优选地,所述RGB颜色编码值表中存储的颜色的数量至少为2种。

优选地,通过修改RGB颜色编码表中颜色编码与表内颜色索引号之间的映射关系B,实现显示的目标资料颜色反转:

建立RGB颜色编码表中颜色编码b与表内颜色索引号b之间的映射关系B,在显示屏显示目标资料时,颜色索引号b对应的颜色编码为b;

根据用户的需求,将映射关系B修改为映射关系C,所述映射关系C为RGB颜色编码表中颜色编码a与表内颜色索引号b之间的映射关系,在显示屏显示目标资料时,随机存取存储器RAM中的颜色索引号b对应获取的颜色编码为a实现显示。

本发明的有益效果是:

通过在内存中存储颜色索引替代直接存储RGB颜色编码值,有效降低内存资源消耗,使小内存嵌入式系统使用较大显存的彩色屏幕成为可能;

在修改显示内容时,先修改内存中的显存,修改完成后才一次性拷贝到LCD控制器显存中,因为不存在写LCD控制命令与写LCD数据之间来回切换的问题,缩短了刷屏时间,因此不容易察觉到LCD显示内容的变化过程,刷屏快,显示效果好;

通过变换内存中存储的显存数据(即二维数组)矩阵,即可在显示屏幕上很方便的实现放大、缩小、滚动等变化效果;

根据显示颜色种类需求与内存资源情况,自由修改ROM存储器中存储的RGB颜色编码数量和RGB颜色编码值及其映射关系,灵活性高。

附图说明

图1是所述在小内存嵌入式系统中使用彩色屏幕的方法中目标资料、ROM、RAM及显示屏幕的对应关系。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。

实施例

本实施例所述在小内存嵌入式系统中使用彩色屏幕的方法,所述方法包括:

S1,根据即将显示的目标资料,建立目标资料与只读存储器ROM中RGB颜色编码表之间的映射关系A及RGB颜色编码表中颜色编码与表内颜色索引号之间的映射关系B,设置随机存取存储器RAM中与所述目标资料所需显示位置相对应的内存区域的颜色索引号;

S2,刷新显示时,依次遍历随机存储器RAM中颜色索引号,依据随机存取存储器RAM中的颜色索引号查询与目标资料存在映射关系A的RGB颜色编码值表,根据颜色索引号与RGB颜色编码映射关系B获取与颜色索引号对应的唯一颜色编码真值;

S3,将所述颜色编码真值通过显示屏驱动接口发送到显示屏驱动显示。

更详细的解释说明,

(一)在步骤S1之前还包括以下步骤:根据界面显示所需,在只读存储器ROM中预设一组或多组RGB颜色编码表,任意两组RGB颜色编码表中存储的颜色编码不完全相同,任意一个RGB颜色编码表W内的颜色编码在RGB颜色编码表W内具有唯一颜色索引号。各RGB颜色编码表中颜色编码与索引号之间的映射关系不完全相同。

设计者可根据需要在撰写代码的过程中在只读存储器ROM中设置所需的多个RGB颜色编码值,在使用过程中,根据要求,在一次运行中调用所需的一个RGB颜色编码值,实现了颜色的自由定义、灵活性高。

所述RGB颜色编码值表中存储的颜色的数量至少为2种。颜色数量根据需要预先设置,不局限与传统的双色屏的两色。

(二)步骤S1,S11,遍历目标资料像素,根据目标资料在显示屏上所需显示的颜色建立所述目标资料与只读存储器ROM中一组RGB颜色编码表的映射关系A;

S12,建立RGB颜色编码表中的颜色编码与颜色索引号之间的映射关系B;

S13,获取目标资料所需显示颜色的颜色索引号,设置随机存取存储器RAM中与所述目标资料所需显示位置相对应的内存值为该显示位置需显示颜色的颜色索引号。

所述RGB颜色编码值表包括颜色索引号和RGB颜色编码值,所述颜色索引号与所述颜色编码一对一设置。RGB颜色编码值表中每个颜色的索引描述占用log2Nbit内存,N为RGB颜色编码值表中RGB颜色编码数量。

在随机存取存储器RAM中存储像素RGB颜色编码真值的索引号,有效减小内存占用。

当更换目标资料时,先修改随机存取存储器RAM中存储的索引号,然后在进行后续操作,刷新显示速度快。

(三)目标资料显示颜色的灵活展示

3.1颜色更换

根据用户更改目标资料显示颜色更换的需求,通过修改目标资料与只读存储器ROM中RGB颜色编码表之间的映射关系A,实现显示的目标资料颜色更换;具体为:步骤S1中,建立目标资料与只读存储器ROM中RGB颜色编码表m之间的映射关系A,当获取用户更改目标资料显示颜色更换的请求时,接触映射关系A,建立目标资料与只读存储器ROM中除RGB颜色编码表m外其它任意一个RGB颜色编码表之间的映射关系D。

如本领域技术人员公知,上述设置——目标资料与RGB颜色编码表对应关系的灵活修改,实现了目标资料显示颜色的更换。

如图1所示,当前目标资料与颜色表1存在映射关系A,当用户需要将目标资料的显色进行更换,增加另两种颜色时,则先解除目标资料与颜色表1存在映射关系A,然后,建立目标资料与颜色表2存在映射关系D,则在显示目标资料是,将会显示四种颜色。

3.2颜色反转

通过修改RGB颜色编码表中颜色编码与表内颜色索引号之间的映射关系B,实现显示的目标资料颜色反转:

建立RGB颜色编码表中颜色编码b与表内颜色索引号b之间的映射关系B,在显示屏显示目标资料时,颜色索引号b对应的颜色编码为b;

根据用户的需求,将映射关系B修改为映射关系C,所述映射关系C为RGB颜色编码表中颜色编码a与表内颜色索引号b之间的映射关系,在显示屏显示目标资料时,随机存取存储器RAM中的颜色索引号b对应获取的颜色编码为a实现显示。

如图1所示,当前目标资料与颜色表1存在映射关系A,颜色表1中0与白色编码存在映射关系,1与黑色编码存在映射关系,当用户需要目标资料在显示时,显示色彩反转时,则修改颜色表1中颜色与颜色索引号的映射关系,即修改为颜色表1中1与白色编码存在映射关系,0与黑色编码存在映射关系。

(四)在内存中存储显示屏上当前显示颜色的RGB值所对应的颜色索引号。

当需要进行对当前显示内容做移动、拉伸、缩放等变换时,只需要变换内存中索引号位置,之后刷新显示即可。不需要先读出显示屏幕内容,之后在修改,再进行显示。减少读取屏幕内容这一步,实现变换方便快速。

在小内存嵌入式系统中,由于显示需要的颜色种类不需要那么多,因此可以将需要使用的这几种颜色进行编号,颜色索引号与需要显示的颜色一一对应,在内存RAM中只存储颜色索引号值,在只读存储器ROM中存储需要使用的RGB颜色编码真值表。在实际驱动显示时通过随时存取存储器RAM中的索引号在ROM中颜色真值表中查找相应的RGB颜色编码真值,再通过驱动端口将颜色编码真值发送给显示屏驱动显示。因为索引号的编码长度远小于RGB颜色分量编码长度,因此通过这种方式可以有效降低内存使用量,且颜色与颜色的分辨率(颜色与颜色的色差分辨度)仍然保持为原来的水平。

假设满足界面显示需求需要四种颜色,分别是纯白、纯红、纯绿、纯蓝。现设定颜色索引与RGB颜色编码真值对应关系如表1所示,描述4种颜色的索引需要占用2bit内存。也即使用本专利方法每像素只需要占用2bit内存空间,驱动整个320x240分辨率的屏幕只需要19.2KByte内存。若只需要双色,则只需要9.6KByte内存空间。这相比于传统的153.6Kbyte的内存使用量分别降低了87.5%、93.75%。

依此类推,若显示系统需要N中颜色进行界面表达,则每像素只需要Log2N>

表1为颜色编码真值表

表2为颜色编码表

表2表示使用本申请中所述方法在小内存嵌入式系统中彩色屏幕展示颜色所占用的内存。

表3为现有技术中内存占用的格式

因为小内存嵌入式系统一般用于对于颜色种类要求不高的领域,人机交互界面也不需要像Windows系统界面一样绚丽多彩,故,显示界面开发只需要少量几种颜色即可,因此可以使用颜色深度来换取显示界面对内存的占用率。即本申请通过改变颜色深度或颜色种类实现降低内存消耗。

通过采用本发明公开的上述技术方案,得到了如下有益的效果:

通过在内存中存储颜色索引替代直接存储RGB颜色编码值,有效降低内存资源消耗,使小内存嵌入式系统使用彩色屏幕成为可能;

在修改显示内容时,先修改内存中的显存,修改完成后才一次性拷贝内存中显示数据到LCD控制器显存中,因为不存在写LCD控制命令与写LCD数据之间来回切换的问题,缩短了刷屏时间。因此不容易察觉到LCD显示内容的变化过程,显示效果好;

通过变换内存中存储的显存数据(即二维数组)矩阵,即可在显示屏幕上很方便的实现放大、缩小、滚动等变化效果;

根据显示颜色种类需求与内存资源情况,自由修改ROM存储器中存储的RGB颜色编码数量和RGB颜色编码值及映射关系,灵活性高。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号