一种显示动画效果的方法

文档序号:6559923阅读:177来源:国知局
专利名称:一种显示动画效果的方法
技术领域
本发明属于多媒体技术领域,特别涉及一种显示动画效果的方法。
背景技术
现在图像显示设备大多拥有软件可控的屏幕显示功能,主要用于显示提示信息,提供人机交互界面。这种界面主要包括菜单、游戏、提示框等部分组成。屏幕显示功能单元大多从DRAM中读取由软件写入的图像数据,通过一个事先配置好的色表映射成屏幕输出所需要的数据格式。
随着大量产品推出市场,用户对交互界面的美观性和趣味性也提出了越来越高的要求。交互界面的美观可以通过专业人员的设计得到提高,而趣味性主要依靠动画效果的引入。传统的动画效果实现方法有在很小范围内对图片进行按序列填充,或者利用区域分割修改显示坐标实现区域大面积的滚动,平移效果,利用独立的光标模块生成光标区域移动的效等。但是这些实现方法要么需要强大的CPU,要么需要大容量的存储器支持,这无疑将大大增加产品成本。在当今消费电子产品成本压力日渐增大的形式下,有必要寻找一种更低存储空间需求,更低总线传输带宽压力,更低CPU处理速度要求的动画效果实现方法。

发明内容
本发明的目的就是针对现有技术的不足,提供一种低成本硬件实现动画效果的方法,减少CPU运行压力,减轻总线压力,节省存储空间。
为了实现上述目的,本发明的显示动画效果的方法包含以下步骤A.按照特定的格式初始化色表,定义每种颜色的渐变参数;B.CPU启动动画显示模式;C.启动一个渐变频率计数器,该计数器每溢出一次则触发一次步骤E的操作;
D.启动一个渐变周期计数器,该计数器的计数值与计数上限存储于色表单元中,该计数器每溢出一次则对步骤F中使用的渐变步长参数取反一次;E.根据显示输出时序要求,每一个象素时钟读入一个要显示的象素索引值,根据该值查找色表得到该象素的各个颜色分量的初始值并置入色表单元临时存储寄存器,如果色表单元为渐变单元则转移至步骤E,如果色表单元为非渐变单元则转移至步骤G;F.根据渐变使用的颜色分量,选择在该颜色分量对应的色表单元临时存储寄存器上累加一次渐变步长,渐变步长可正可负由步骤D决定;G.把累加之后的颜色分量值写入色表对应位置作为下一此使用的基数;H.输出修改之后的颜色分量值;I.回到步骤D。
上述步骤A中的色表包含两种存储单元结构,一种用于渐变模式,一种用于普通模式。其中普通模式为单纯的颜色映射,而渐变模式除了可以完成颜色映射之外,还附加记录有渐变信息。渐变模式下色表的每个单元包括如下参数项,并且可以独立配置1.渐变使用的颜色分量2.各个颜色分量的初始值3.渐变步长4.渐变周期5.周期计数6.渐变基色本发明中色表引入支持渐变色的单元之后,可以在CPU很少参与的情况下,即提供大面积渐变效果,还可以利用人眼的错觉组合生成水波纹移动,两帧动画等效果。单纯渐变和两帧动画可用于光标渐变,指示信息的突出。本发明可以应用于LOGO、进度条、游戏界面等处增强视觉效果。


图1为本发明一实施例的系统结构示意图;图2为图1中色表单元的结构示意图;图3为图2中状态机的示意图;图4为本发明实现的Y分量渐变示意图。
具体实施例方式
本发明的系统主要包括一块256X32的单口SRAM用于存储色表信息,一个用于修改色表单元的状态机,一个用于控制渐变频率的计数器。
如表1和表2所示,色表单元个数为256个。每个单元可以支持完全独立的渐变效果。渐变可以在Y,Cb,Cr三个颜色分量中任意组合进行。渐变步长可调,渐变周期可调,渐变相位可调,渐变基色可调。一个色表存储单元可以确定一组渐变的状态。这里要说明的是渐变效果色表单元结构中,为了不增大色表单元的占用空间,对Y,Cb,Cr,透明度占用的空间进行了缩减。由于人眼对亮度的敏感度较高,因此Y保留较多位数,而Cb,Cr,透明度保留较少,总共可显示8192种颜色和4阶的混合。
表1色表中渐变模式单元

表2色表中普通模式单元

根据图1,图2所示,CPU 102可以通过总线访问色表单元107读写其内部存储色表信息的SRAM 203,控制计数器单元202中渐变基时寄存器。位图信息由CPU 102从flash存储器101中读出并存放入SDRAM103。数据读取控制器108从SDRAM 103中读取位图数据,并把位图数据传递给色表单元107,色表单元根据位图数据所给出的索引值,找到该象素对应的颜色信息,并将它传递给混合模块105,混合模块105把色表单元及视频解码器104传入的颜色信息进行混合运算后提交显示信号编码器106,转换成显示信号输出。
本发明主要对其中的色表单元107进行了修改.CPU 201可以在任意时刻对SRAM进行访问,读写SRAM中的数据,并拉高CPU 102读写SRAM使能信号。在每次场消隐时,由显示信号编码器106发出场消隐脉冲信号,计数器202进行一次累加,当计数值达到渐变基时寄存器的设置值时,拉高状态使能信号。当CPU读写SRAM使能信号为低电平并且状态使能信号为高电平时,状态机201读取每个色表单元的数据,若为渐变色表单元状态机会加以修改,然后写回色表中,读取下一个色表单元。若为非渐变色则继续读取下一个色表单元。当读取全部色表单元后,拉高计数清零信号,使得计数器清零,状态使能信号被拉低,状态机进入等待状态。由于图片中的颜色信息均以与色表单元一一对应的索引形式存储,从而实现图片指定颜色的渐变。而且最多可以支持256个色表单元同时实现渐变。下面对色表单元中每个模块进行详细说明。
SRAM 203用的是单口SRAM,由于状态机201与CPU 102会同时访问。因此SRAM 203将包括一个简单的选择电路,当CPU 102读写SRAM使能时状态机201的读写信号将被屏蔽。
计数器单元202内部包括两个寄存器,一个是计数寄存器,一个是计数上限寄存器。在初始状态,两个寄存器值都为0,当计数上限寄存器为0时计数器单元不工作。由CPU 102设置计数上限寄存器的值,同时清零计数寄存器。每次场消隐时计数寄存器进行累加。直到计数寄存器值等于计数上限寄存器值,此时停止计数并拉高状态使能信号。当状态机201拉高计数清零信号时,计数寄存器清零并拉低状态使能信号。
状态机201用图3色表读写状态机示意图加以说明,整个状态机201有共有6个状态。通过一个状态机内部3位的状态寄存器保存当前状态值,现对其每一个状态加以详细表述状态一主要任务拉低计数器复位信号,并当CPU读写SRAM使能信号为低电平并且状态使能信号为高电平时,从色表读入色表单元数据到一个32位的色表单元临时存储寄存器中。
状态转移当CPU读写SRAM使能信号为高电平或状态使能信号为低电平时不发生状态转移。当CPU读写SRAM使能信号为低电平且状态使能信号为高电平时,根据色表单元临时存储寄存器中的数据进行状态转移判断,若色表单元临时存储寄存器第31位状态转移使能位为1,状态转移至状态六。若色表单元临时存储寄存器第31位状态转移使能位为0,状态转移至状态三。
状态二主要任务根据色表单元临时存储寄存器[26:24]渐变选择位,相应修改色表单元临时存储寄存器[4:0]Y分量位,色表单元临时存储寄存器[7:5]CB分量位以及色表单元临时存储寄存器[7:5]CR分量位。将各个分量的当前值与色表单元临时存储寄存器[26:24]渐变步长位值的和,分别存入相应分量位中。
状态转移直接跳转到状态三。
状态三主要任务关闭写色表使能。并修改当前访问地址,若访问地址不等于255则访问地址加一。若访问地址等于255则访问地址清零。
状态转移条件若修改前访问地址不等于255则状态转移至状态四。若修改前访问地址等于255则状态转移至状态五。
状态四主要任务延时一个时钟周期。以符合SRAM访问时序。
状态转移状态转移到状态一。
状态五主要任务拉高计数清零信号。
状态转移当计数清零信号拉高时后状态转移到状态一。
状态六主要任务对比色表单元临时存储寄存器[23:19]渐变周期位与色表单元临时存储寄存器[18:14]周期计数位。若周期计数位的值与渐变周期数据段的值相等时,对色表单元临时存储寄存器[30:27]渐变步长位的值进行按位取反操作,并对周期计数位的值进行清零。若周期计数位的值与渐变周期数据段的值不等时,对周期计数位的值进行累加。
状态转移直接转移至状态二。
参考状态机201和计数器202的处理过程,我们可以对图4中所示的某个渐变单元的Y分量变化过程进行分析。首先Y的初始值为M,每经过F的时间变化一次。首先是递增,步长位I,经过T次递增后到达最大周期数,开始递减,同样递减T次后又开始递增。如此往复直到单元属性被改变。
通过对传统色表单元的更改,现在我们已经可以实现同时支持最多256种独立的渐变效果。下面例举了基于渐变效果的3种动画效果的实现方式1.固定颜色渐变效果这是最基本的渐变效果的应用,可以通过设置相应索引号的色表单元,实现对位图中固定的一种颜色转换成渐变色。
2.两帧动画效果通过设置两帧位图不同部分为相位相反的渐变值,并且周期为1。利用不停显示,消隐两幅位图的非重叠部分实现简单的动画效果。
3.水波纹效果通过设置在位图中相邻的一系列象素或线段,使得其渐变相位相差一定的角度。从而可实现水波纹滚动的效果。
尽管本发明是参照其优选实施例来具体描述的,但本领域的技术人员应该理解,在不脱离有所附权利要求限定的本发明的精神和范围的情况下,可以对其进行形式和细节的各种修改。
权利要求
1.一种显示动画效果的方法,其特征在于该方法包括以下步骤A.按照特定的格式初始化色表,定义每种颜色的渐变参数;B.CPU启动动画显示模式;C.启动一个渐变频率计数器,该计数器每溢出一次则触发一次步骤E的操作;D.启动一个渐变周期计数器,该计数器的计数值与计数上限存储于色表单元中,该计数器每溢出一次则对步骤F中使用的渐变步长参数取反一次;E.根据显示输出时序要求,每一个象素时钟读入一个要显示的象素索引值,根据该值查找色表得到该象素的各个颜色分量的初始值并置入色表单元临时存储寄存器,如果色表单元为渐变单元则转移至步骤E,如果色表单元为非渐变单元则转移至步骤G;F.根据渐变使用的颜色分量,选择在该颜色分量对应的色表单元临时存储寄存器上累加一次渐变步长,渐变步长可正可负由步骤D决定;G.把累加之后的颜色分量值写入色表对应位置作为下一此使用的基数;H.输出修改之后的颜色分量值;I.回到步骤D。
2.如权利要求1所述的一种显示动画效果的方法,其特征在于步骤A中的色表包含两种存储单元结构,一种用于渐变模式,一种用于普通模式;其中普通模式为单纯的颜色映射,而渐变模式除了可以完成颜色映射之外,还附加记录有渐变信息。
全文摘要
本发明涉及一种显示动画效果的方法。本发明中色表引入支持渐变色的单元之后除了可以完成颜色映射之外,还附加记录有渐变信息。在显示过程中根据渐变参数周期性的修改色表中的颜色值,从而可以在CPU很少参与的情况下,即提供大面积渐变效果,还可以利用人眼的错觉组合生成水波纹移动,两帧动画等效果。单纯渐变和两帧动画可用于光标渐变,指示信息的突出。本发明可以应用于LOGO、进度条、游戏界面等处增强视觉效果。
文档编号G06T13/00GK1877639SQ200610098909
公开日2006年12月13日 申请日期2006年7月14日 优先权日2006年7月14日
发明者钟宇清, 庞智博 申请人:杭州国芯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1