CN105975168A - 一种osd菜单淡入/淡出方法及装置 - Google Patents
一种osd菜单淡入/淡出方法及装置 Download PDFInfo
- Publication number
- CN105975168A CN105975168A CN201610369398.5A CN201610369398A CN105975168A CN 105975168 A CN105975168 A CN 105975168A CN 201610369398 A CN201610369398 A CN 201610369398A CN 105975168 A CN105975168 A CN 105975168A
- Authority
- CN
- China
- Prior art keywords
- value
- data
- displayed
- osd
- component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例提供了一种OSD菜单淡入/淡出方法及装置,涉及OSD菜单的显示技术领域,用以解决现有技术在实现OSD菜单淡入/淡出效果时,需要多次向存储单元写入数据所导致的硬件负荷较重的问题,同时节省带宽资源。该方法包括:将OSD菜单的第一待显示数据写入存储单元;将透明度分量的取值设置为初始值;循环根据所述透明度分量的取值以及所述第一待显示数据生成第二待显示数据,并逐步改变所述透明度分量的取值,直至所述透明度分量的取值达到终止值为止。
Description
技术领域
本发明涉及OSD(on-screen display,屏幕菜单式调节方式)菜单的显示技术领域,尤其涉及一种OSD菜单淡入/淡出方法及装置。
背景技术
OSD菜单(也可称为屏幕视控系统菜单)是包含显示器一个或多个调节项目信息的菜单。例如可以通过按主菜单键(Menu键),从显示器的屏幕上弹出,进而用户可通过该菜单对显示器各项工作指标包括色彩、模式、几何形状等进行调节,从而达到较佳的显示状态。
为了使画面更加绚丽,现有显示器在显示OSD菜单的过程中增加了淡入淡出的动画效果;其中,淡入效果一般使得OSD菜单从不显示逐渐变清晰,淡出效果一般使得OSD菜单从清晰逐渐变化、最终不显示。
现有技术中,OSD菜单的淡入淡出效果一般是通过改变OSD数据的alpha分量的数值来完成的。具体而言,alpha分量表示透明度,一般为0到255的数值。如果alpha分量为0则表示OSD菜单的画面为全透,此时画面不会显示。如果alpha分量为255则表示完全不透,此时OSD菜单的画面会挡住OSD菜单下层的内容,比如视频。若要实现淡入效果,则需要将alpha分量从0逐渐变化到255,反之,若要实现淡出效果,则需要将alpha分量从255逐渐变化到0。
可见,若要实现OSD菜单的淡入淡出效果,则需要有多帧OSD数据,且这多帧OSD数据中的alpha分量是渐变的。对于这多帧OSD数据中每一帧数据都需要重复以下过程来完成该帧数据的显示:具体的参考图1,CPU(Central Processing Unit,中央处理器)或GPU(GraphicsProcessing Unit,图形处理器)解析OSD菜单的图片资源,得到一帧OSD数据(例如包括RGB分量),再根据淡入淡出效果配置所需的alpha分量,从而得到包含alpha分量的OSD数据;之后,可以将包含alpha分量的OSD数据存入存储单元(例如上屏Buffer,即上屏缓冲器)中。
在上述过程中,淡入或淡出效果需要多少帧OSD数据,CPU或GPU就需要向存储单元写入多少次数据,从而加重了硬件负荷,并且因为每次写入都要占用系统总线,从而频繁占用系统带宽,导致带宽资源紧张。
发明内容
本发明的实施例提供一种OSD菜单淡入/淡出方法及装置,用以解决现有技术在实现OSD菜单淡入/淡出效果时,需要多次向存储单元写入数据所导致的硬件(例如CPU或GPU等)负荷较重的问题,同时节省带宽资源。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供了一种OSD菜单的淡入/淡出方法,包括:
将OSD菜单的第一待显示数据写入存储单元;
将透明度分量的取值设置为初始值;循环根据所述透明度分量的取值以及所述第一待显示数据生成用于显示的第二待显示数据,并逐步改变所述透明度分量的取值,直至所述透明度分量的取值达到终止值为止。
第二方面,本发明实施例提供了一种OSD菜单的淡入/淡出装置,包括:
处理单元和存储单元,所述处理单元用于将OSD菜单的第一待显示数据写入所述存储单元,将透明度分量的取值设置为初始值,并逐步改变所述透明透明度分量的取值,直至所述透明度分量的取值达到终止值为止;所述存储单元用于存储所述第一待显示数据;
OSD显示单元,用于从所述存储单元中获取所述第一待显示数据,并循环根据所述透明度分量的取值以及所述第一待显示数据生成用于显示的第二待显示数据。
本发明实施例提供的OSD菜单的淡入/淡出方法及装置,将待显示数据向存储单元写入一次,此时存入的待显示数据称为第一待显示数据;之后,针对存储单元写入的待显示数据,对其透明度分量进行逐步调整,得到多帧第二待显示数据,以完成淡入/淡出效果。由于本实施例中,在实现一次淡入/淡出的过程中,仅向存储单元写入一次待显示数据即可,无需像现有技术一样多次写入,因而解决了现有技术中需要重复多次写入所导致的硬件(例如CPU或GPU)负荷较重的问题;同时,由于写入一次数据需要占用一次总线即可,因而本实施例中无需频繁多次占用系统总线,从而节省了系统带宽。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中淡入/淡出过程所基于的显示器内部结构示意图;
图2为本发明实施例提供的淡入/淡出过程所基于的显示器内部结构示意图;
图3为本发明实施例提供的一种OSD菜单淡入方法的流程图;
图4为本发明实施例提供的一种OSD菜单淡出方法的流程图;
图5为本发明实施例提供的一种OSD菜单淡入/淡出装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本发明实施例中字符“/”,一般表示前后关联对象是一种“或”的关系。
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
以通过改变OSD数据的alpha分量的数值实现OSD菜单的淡入/淡出效果为例,详细描述本发明实施例的工作原理。假设,要实现渐变的效果,alpha分量每次渐变的值是5,那么大概需要51(255/5)帧OSD数据。
参考图1,现有技术中的需要循环51次以下过程:CPU解析OSD菜单的图片资源,并为解析得到的OSD数据配置相应的alpha分量,得到包含alpha分量的OSD数据,将该包含alpha分量的OSD数据缓存于存储单元中,以便用于后续显示。可见,在此过程中存储单元会先后缓存51帧alpha分量不同的OSD数据。
参考图2,在本发明实施例中可以是:处理单元(例如CPU)解析OSD菜单的图片资源得到OSD数据,并将该OSD数据缓存于存储单元中(需要说明的是,这里仅写入一次即可,无需循环写入),随后循环51次以下过程:OSD显示单元获取存储单元中的OSD数据,并为该OSD数据配置相应的alpha分量,得到包含alpha分量的OSD数据,以便用于后续显示。由于本发明实施例中在将OSD数据写入到存储单元之后,才会为同一对象(存储单元中写入的OSD数据)配置51个不同的alpha分量,因此无需像现有技术那样循环得到51个配置对象并写入存储单元(即向存储单元写入51次),因而能够降低硬件(例如CPU)的处理负荷。
下面对本发明实施例提供的方案进行详细描述。
实施例一、
本发明实施例提供了一种OSD菜单的淡入方法,其执行主体可以是显示器,也可以是显示器中的某些(某个)硬件和/或软件,例如可以是图2中的处理单元(例如CPU或GPU等,本实施例中以CPU为例),或者处理单元、存储单元、以及OSD显示单元配合完成。在此需要说明的是,图2中绘出了数据的传输走向,例如DMA单元也可以通过总线与CPU相连,而由于两者之间传输的是指令,而非本实施例中的OSD数据,因而,未绘出两者的连接关系。结合图2和图3,该方法可以包括:
S101(可选)、打开使能开关。
本实施例中的OSD显示单元相比于现有技术而言,增加了配置透明度分量(本实施例中以alpha分量为例,该alpha分量可以是一全局变量)的功能,该功能的实现可以参考下面的步骤S103,以便得到合适的透明度分量的取值,且该透明度分量的取值可用于生成第二待显示数据。
优选的,本实施例中的OSD显示单元相比于现有技术中的OSD显示单元而言,还增加了使能开关,用于控制上述功能的开启和关闭。若打开该使能开关,则透明度分量的取值可用于生成第二待显示数据,即开启了OSD显示单元配置透明度分量的功能。若关闭该使能开关,则关闭了OSD显示单元配置透明度分量的功能,此时可以采用现有技术的方案来实现OSD菜单淡入的效果,从而可以兼容现有技术的方法;当然,在这种情况下OSD菜单也可不以淡入方式呈现。
该使能开关可以是设置于OSD显示单元中的一寄存器(为了与其他寄存器相区分,该寄存器称为第一寄存器)。示例的,当显示器的处理单元(下面以CPU为例)将第一寄存器置1时,则表明开启使能开关,当CPU将第一寄存器置0时,则表明关闭该使能开关。更具体的,可以是CPU可运行的UI(User Interface,用户界面)程序具有控制使能开关的功能,例如,UI程序中有一程序代码行可以打开OSD显示单元中的使能开关。该UI程序是指用于生成OSD菜单的用户界面的程序。
由于淡入效果一般可以出现在画面切换或按出OSD菜单的场景中,例如:CPU运行UI程序,以检测遥控器或显示器上的主菜单键(Menu键)是否被按下,若被按下,则意味着需要在显示器的屏幕上弹出OSD菜单,弹出的方式可以是淡入方式,此时执行步骤S101。又例如:CPU运行UI程序,以检测遥控器或显示器上的音量调节键是否被按下,若被按下,则意味着需要在显示器的屏幕上弹出用于音量调节的OSD菜单。
S102、将OSD菜单的第一待显示数据写入存储单元。
具体而言,可以在此步骤之前,CPU解析OSD菜单的图片资源(可以是jpg等图片格式),从而得到第一待显示数据(即上面提到的显示一帧画面所需要的OSD数据),此时该第一待显示数据可以是RGB(包括red分量、green分量、blue分量)格式。当然,第一待显示数据也可以是配置有alpha分量之后的数据,此时,第一待显示数据可以是ARGB(包括alpha分量、red分量、green分量、blue分量)格式,也可以是RGBA格式。其中,第一待显示数据中的alpha分量可以是任意值。优选的,第一待显示数据中的alpha分量为可以使OSD菜单完全遮住下层画面的取值,例如:alpha分量的取值范围为0~255,其中255表示完全遮住,0表示全透明,那么第一待显示数据中的alpha分量优选取255,以使得若后续重新配置alpha分量失败时,也能在显示屏上显示出OSD菜单。
示例的,CPU可以运行UI程序获取到上述的第一待显示数据。
随后,CPU可以通过系统总线将第一待显示数据缓存在存储单元中,该存储单元示例的可以是DDR(Double Data Rate,双倍速率同步动态随机存储器)中的一存储空间,该存储空间可以称为上屏buffer(缓存器)。示例的,CPU可以运行UI程序将获取到的第一待显示数据缓存到存储单元中。在本实施例中一次淡入过程中,仅要向存储单元写入一次第一待显示数据即可。
之后,存储单元中缓存的第一待显示数据可以传送至OSD显示单元,以使得OSD显示单元获取到第一待显示数据。可选的,CPU将存储单元中的第一待显示数据传送至OSD显示单元。为了减少CPU的工作负荷,本实施例中优选的,由DMA(Direct Memory Access,直接内存存取)单元将存储单元中的第一待显示数据传送至所述OSD显示单元。DMA单元可快速搬移数据,在收到CPU发出的搬移命令后,开始传送数据,但传送的过程无需CPU参与。
其中,在一次OSD菜单淡入过程中,存储单元中缓存的第一待显示数据可以仅向OSD显示单元传送一次;当然,也可以按照后续生成第二待显示数据的频率向OSD显示单元传送,例如:若后续步骤S103中要循环51次,则也可以循环向OSD显示单元循环传输51次。
上述的S101和S102的顺序可以互换。优选为,先进行S101、再进行S102。
S103、将透明度分量的取值设置为初始值;循环根据透明度分量的取值以及第一待显示数据生成用于显示的第二待显示数据,并逐步改变透明度分量的取值,直至透明度分量的取值达到终止值为止。
可选的,OSD显示单元中可以设置有一寄存器(为了与其他寄存器相区分,该寄存器称为第二寄存器),第二寄存器用于存储透明度分量(例如:alpha分量)的取值。CPU可以周期性地改变OSD显示单元的第二寄存器中alpha分量的取值,也即使得OSD显示单元实现配置alpha分量的功能,进而使得OSD显示单元周期性地生成第二待显示数据。第二待显示数据为实现淡入效果过程中的一帧OSD数据,其可以是ARGB格式、或RGBA格式等。后续可以按照现有技术根据第二待显示数据进行显示;示例的,可以将第二待显示数据转换为各子像素(R、G、B子像素)的电信号(例如电压信号),以驱动显示屏中各子像素来实现显示。
以改变alpha分量的取值实现淡入效果为例,此步骤具体可以包括:
(1)CPU或CPU运行的软件程序(例如UI程序)将第二寄存器置为0(这里优选为0,当然也可以5等较小的值,以实现刚开始全透、或透明度较高例如高于一阈值的效果),此时由于OSD显示单元获取了第一待显示数据,则可以根据第一待显示数据和该第二寄存器中的alpha分量的取值(0)生成第二待显示数据。若第一待显示数据为RGB格式,则第二待显示数据相对于第一待显示数据而言,增加了alpha分量(0);若第一待显示数据为ARGB格式、或RGBA格式,则用第二寄存器中alpha分量的取值(0)改变原第一待显示数据中的alpha分量,得到第二待显示数据。OSD显示单元还可以进一步的将第二待显示数据转换为显示屏所需要的数据,例如电压等,以使得显示屏可以显示出alpha分量为0的OSD菜单,当然此时用户看不到菜单。
(2)CPU或CPU运行的软件程序(例如UI程序)增大第二寄存器中的取值,例如是5,重复进行步骤(1)的过程,以使得显示屏可以显示alpha分量为5的OSD菜单。
(3)CPU或CPU运行的软件程序(例如UI程序)继续增大第二寄存器中的取值,当然增大的渐变步长可以是定值,也可以是变量,在此不做限定。重复进行步骤(1)的过程。
直至当显示屏可以显示出alpha分量为255的OSD菜单为止。需要说明的是,这里优选的终止值是让OSD菜单完全遮住下面的画面,例如255。当然终止值还可以为使得画面透明度较低(例如低于一阈值)的取值。
优选的,为了使得用户可以观看到比较均匀的渐变效果,本实施例中可以以预设的渐变步长(即渐变步长为定值),逐步改变透明度分量的取值。其中预设的渐变步长可以是5、10等,具体可以根据实际需要而定。
更进一步的,在本实施例中的上述循环中,在逐步改变透明度分量的取值之后,等待预设的渐变时长。也即,在一次设置第二寄存器的取值之后,可以等待一段时间,再进行下次第二寄存器的设置,使得第二寄存器中的取值以一个固定的频率变化,以方便控制。
示例的,CPU运行的UI程序可以调用一淡入接口程序,以使得第二寄存器中的取值周期性改变。该淡入接口程序可以参考如下程序。
S104(可选)、在透明度分量的取值达到终止值之后,关闭使能开关。
可选的,可以是CPU将第一寄存器置0,以关闭该使能开关。示例的,CPU运行的UI程序中包含关闭使能开关的命令行。又示例的,上述淡入接口程序中可以包含关闭使能开关的命令行,当CPU运行的UI程序调用上述淡入接口程序时,便可关闭使能开关;例如,可以在上述淡入接口程序中,在“Write_reg(reg,255);”与“return;”之间增加一命令行:Write_reg(reg0,0);//关闭全局alpha,其中,reg0为第一寄存器的地址。
本发明实施例提供的OSD菜单的淡入方法,可实现淡入效果的多帧第二待显示数据是在同一OSD数据(写入到存储单元中的第一待显示数据)的基础上,逐渐改变透明度分量而得到的。由于淡入过程基于同一OSD数据,也就意味着,在整个淡入过程中无需多次写入第一待显示数据,因而解决了现有技术中需要重复多次写入数据所导致的硬件(例如CPU)负荷较重、以及频繁占用系统带宽的问题。
实施例二、
本发明实施例提供了一种OSD菜单的淡出方法,其执行主体可以是显示器,也可以是显示器中的某些(某个)硬件和/或软件,例如可以是图2中的处理单元(例如CPU或GPU等,本实施例中以CPU为例),或者处理单元、存储单元、以及OSD显示单元配合完成。结合图2和图3,该方法可以包括:
S201、将OSD菜单的第一待显示数据写入存储单元。
具体而言,可以在此步骤之前,CPU解析OSD菜单的图片资源(可以是jpg等图片格式),从而得到第一待显示数据(即上面提到的显示一帧画面所需要的OSD数据),在开始淡出过程后执行此步骤S201。当然,也可以是在开始淡出过程之前执行此步骤S201,意味着此步骤S201是将开始淡出过程之前的最后一帧OSD数据写入到存储单元,举例而言,将第X帧OSD数据写入到存储单元后,开始淡出过程(即进行步骤S202),后续步骤基于该第X帧OSD数据处理以实现淡出效果。优选为后者。
其中,该第一待显示数据可以是RGB(包括red分量、green分量、blue分量)格式。当然,第一待显示数据也可以是配置有alpha分量之后的数据,此时,第一待显示数据可以是ARGB(包括alpha分量、red分量、green分量、blue分量)格式,也可以是RGBA格式。其中,第一待显示数据中的alpha分量可以是任意值。优选的,第一待显示数据中的alpha分量为可以使OSD菜单完全透明,例如:alpha分量的取值范围为0~255,其中255表示完全遮住,0表示全透明,那么第一待显示数据中的alpha分量优选取0,以使得若后续重新配置alpha分量失败时,OSD菜单也能从显示屏上消隐。
示例的,CPU可以运行UI程序获取到上述的第一待显示数据。
随后,CPU可以通过系统总线将第一待显示数据缓存在存储单元中,该存储单元示例的可以是DDR中的一存储空间,该存储空间可以称为上屏buffer(缓存器)。示例的,CPU可以运行UI程序将获取到的第一待显示数据缓存到存储单元中。在本实施例中一次淡出过程中,仅要向存储单元写入一次第一待显示数据即可。
之后,可以在步骤S202之前,也可以在步骤S202之后,将存储单元中缓存的第一待显示数据传送至OSD显示单元,以使得OSD显示单元获取到第一待显示数据。可选的,CPU将存储单元中的第一待显示数据传送至OSD显示单元。为了减少CPU的工作负荷,本实施例中优选的,由DMA(Direct Memory Access,直接内存存取)单元将存储单元中的第一待显示数据传送至所述OSD显示单元。DMA单元可快速搬移数据,在收到CPU发出的搬移命令后,开始传送数据,但传送的过程无需CPU参与。
其中,在一次OSD菜单淡出过程中,存储单元中缓存的第一待显示数据可以仅向OSD显示单元传送一次;当然,也可以按照后续生成第二待显示数据的频率向OSD显示单元传送,例如:若后续步骤S103中要循环51次,则也可以循环向OSD显示单元循环传输51次。
S202(可选)、打开使能开关。
本实施例中的OSD显示单元相比于现有技术而言,增加了配置透明度分量(本实施例中以alpha分量为例,该alpha分量可以是一全局变量)的功能,该功能的实现可以参考下面的步骤S203,以便得到合适的透明度分量的取值,且该透明度分量的取值可用于生成第二待显示数据。
优选的,本实施例中的OSD显示单元相比于现有技术中的OSD显示单元而言,还增加了使能开关,用于控制上述功能的开启和关闭。若打开该使能开关,则透明度分量的取值可用于生成第二待显示数据,即开启了OSD显示单元配置透明度分量的功能,也即开启的淡出流程。若关闭该使能开关,则关闭了OSD显示单元配置透明度分量的功能,也即关闭了淡出流程。此时可以采用现有技术的方案来实现OSD菜单淡出的效果,从而可以兼容现有技术的方法;当然,在这种情况下OSD菜单也可不以淡出方式呈现。
该使能开关可以是设置于OSD显示单元中的一寄存器(为了与其他寄存器相区分,该寄存器称为第一寄存器,第一寄存器与实施例一中的第一寄存器可以是同一个,也可以为两个不同的寄存器)。示例的,当显示器的处理单元(下面以CPU为例)将第一寄存器置1时,则表明开启使能开关,当CPU将第一寄存器置0时,则表明关闭该使能开关。更具体的,可以是CPU可运行的UI(User Interface,用户界面)程序具有控制使能开关的功能,例如,UI程序中有一程序代码行可以打开OSD显示单元中的使能开关。该UI程序是指用于生成OSD菜单的用户界面的程序。
由于淡出效果一般可以出现在画面切换或OSD菜单需要消隐的场景中,例如:若OSD菜单需要消隐,则CPU运行UI程序,以检测是否符合菜单消隐条件,若符合,则意味着可以开始采用淡出方式处理OSD菜单,此时开始执行步骤S201。
上述的S201和S202的顺序可以互换。优选为,先进行S201、再进行S202。
S203、将透明度分量的取值设置为初始值;循环根据所述透明度分量的取值以及所述第一待显示数据生成用于显示的第二待显示数据,并逐步改变所述透明度分量的取值,直至所述透明度分量的取值达到终止值为止。
可选的,OSD显示单元中可以设置有一寄存器(为了与其他寄存器相区分,该寄存器称为第二寄存器,该第二寄存器与实施例一种的第二寄存器可以为同一寄存器,也可以为不同的两个寄存器),第二寄存器用于存储透明度分量(例如:alpha分量)的取值。CPU可以周期性地改变OSD显示单元的第二寄存器中alpha分量的取值,也就是说使得OSD显示单元实现配置alpha分量的功能,以便OSD显示单元周期性地生成第二待显示数据。第二待显示数据为实现淡出效果过程中的一帧OSD数据,其可以是ARGB格式、或RGBA格式等。后续可以按照现有技术根据第二待显示数据进行显示;示例的,可以将第二待显示数据转换为各子像素(R、G、B子像素)的电信号(例如电压信号),以驱动显示屏中各子像素来实现显示。
以改变alpha分量的取值实现淡出效果为例,此步骤具体可以包括:
(1)CPU或CPU运行的软件程序(例如UI程序)将第二寄存器置为255(这里优选为255,当然也可以250等较大的值,以实现刚开始完全遮住、或透明度较低例如低于一阈值的效果),此时由于OSD显示单元获取了第一待显示数据,则可以根据第一待显示数据和该第二寄存器中的alpha分量的取值(255)生成第二待显示数据。若第一待显示数据为RGB格式,则第二待显示数据相对于第一待显示数据而言,增加了alpha分量(255);若第一待显示数据为ARGB格式、或RGBA格式,则用第二寄存器中alpha分量的取值(0)改变原第一待显示数据中的alpha分量,得到第二待显示数据。OSD显示单元还可以进一步的将第二待显示数据转换为显示屏所需要的数据,例如电压等,以使得显示屏可以显示出alpha分量为255的OSD菜单,此时用户看不到OSD菜单下面的画面。
(2)CPU或CPU运行的软件程序(例如UI程序)减小第二寄存器中的取值,例如将250置于第二寄存器中,重复进行步骤(1)的过程,以使得显示屏可以显示alpha分量为250的OSD菜单。
(3)CPU或CPU运行的软件程序(例如UI程序)继续减小第二寄存器中的取值,当然减小的渐变步长可以是定值,也可以是变量,在此不做限定。重复进行步骤(1)的过程。
直至当显示屏可以显示出alpha分量为0的OSD菜单为止。需要说明的是,这里优选的终止值是让OSD菜单消隐,即全透使得用户看不到,例如为0。当然终止值还可以为大于0小于255之间的一个取值,以使得OSD菜单呈半透明状态呈现。
优选的,为了使得用户可以观看到比较均匀的渐变效果,本实施例中可以以预设的渐变步长(即渐变步长为定值),逐步改变透明度分量的取值。其中预设的渐变步长可以是5、10等,具体可以根据实际需要而定。
更进一步的,在本实施例中的上述循环中,在逐步改变透明度分量的取值之后,等待预设的渐变时长。也即,在一次设置第二寄存器的取值之后,可以等待一段时间,再进行下次第二寄存器的设置,使得第二寄存器中的取值以一个固定的频率变化,以方便控制。渐变时长的取值可以根据需要而设定。
示例的,CPU运行的UI程序可以调用一淡出接口程序,以使得第二寄存器中的取值周期性改变。该淡出接口程序可以参考如下程序。
S204(可选)、在透明度分量的取值达到终止值之后,将用于存储第一待显示数据的存储单元清空。
示例的,可以是CPU运行的UI程序将存储单元中的第一待显示数据清空,这样使得OSD菜单不会在屏幕上显示。
S205(可选)、关闭所述使能开关。
可选的,可以是CPU将第一寄存器置0,以关闭该使能开关。示例的,CPU运行的UI程序中包含关闭使能开关的命令行。例如CPU运行的UI程序在调用上述淡出接口程序的命令行之后,还包括关闭使能开关的命令行;关闭使能开关的命令行可以为:Write_reg(reg0,0);//关闭全局alpha,其中,reg0为第一寄存器的地址。
需要说明的是,此步骤S205需在步骤S203之后即可,步骤S204和步骤S205顺序可互换。
本发明实施例提供的OSD菜单的淡出方法,可实现淡出效果的多帧第二待显示数据是在同一OSD数据(写入到存储单元中的第一待显示数据)的基础上,逐渐改变透明度分量而得到的。由于淡出过程中透明度分量的配置是在写入之后才循环执行的,因此,无需多次写入第一待显示数据,从而解决了现有技术中需要重复多次写入数据所导致的硬件(例如CPU)负荷较重、以及频繁占用系统带宽的问题。
实施例三、
本发明实施例提供了一种OSD菜单的淡入/淡出装置,该装置中各个单元的实现可以参考上述实施例,在此不加赘述。参考图5,该装置包括:
处理单元51和存储单元52,所述处理单元51用于将OSD菜单的第一待显示数据写入所述存储单元,将透明度分量的取值设置为初始值,并逐步改变所述透明透明度分量的取值,直至所述透明度分量的取值达到终止值为止;所述存储单元52用于存储所述第一待显示数据;
OSD显示单元53,用于从所述存储单元52中获取所述第一待显示数据,并循环根据所述透明度分量的取值以及所述第一待显示数据生成用于显示的第二待显示数据。
一种可选方案为,处理单元51还用于在所述将透明度分量设置为初始值之前,打开使能开关,以便所述透明度分量的取值可用于生成第二待显示数据;在所述透明度分量的取值达到终止值之后,关闭所述使能开关。
一种可选方案为,所述OSD显示单元53包括寄存器,所述寄存器用于写入所述透明度分量的取值;所述处理单元51用于执行淡入/淡出接口程序,所述淡入/淡出接口程序用于将透明度分量的取值设置为初始值,循环将所述透明度分量的取值写入所述寄存器中,并逐步改变所述透明度分量的取值,直至所述透明度分量的取值达到终止值为止。
一种可选方案为,处理单元51用于以预设的渐变步长,逐步改变透明度分量的取值。
一种可选方案为,处理单元51用于在所述循环中,在所述逐步改变所述透明度分量的取值之后,等待预设的渐变时长。
一种可选方案为,所述处理单元51还用于在执行所述淡出接口程序结束后,从所述存储单元52中清除所述第一待显示数据。
一种可选方案为,所述OSD显示单元53还包括使能开关,所述使能开关的状态用于指示所述寄存器中的透明度分量的取值是否可用于生成第二待显示数据。
一种可选方案为,所述装置还包括:直接内存存取DMA单元54,所述DMA单元用于将所述存储单元52中的第一待显示数据传送至所述
OSD显示单元53。
需要说明的是,这里的各个单元可以是独立于显示屏设置,也可以与显示屏集成在一起。处理单元51可以是CPU和/或GPU等,存储单元52可以是DDR中的上屏buffer等,OSD显示单元53可以包括寄存器、信号转换电路等。
本发明实施例提供的OSD菜单的淡入/淡出装置,在向存储单元写入一次待显示数据之后,循环配置待显示数据中的透明度分量,从而无需像现有技术一样多次写入,因而解决了现有技术中需要重复多次写入所导致的硬件(例如CPU或GPU)负荷较重的问题;同时,由于写入一次数据需要占用一次总线即可,因而本实施例中无需频繁多次占用系统总线,从而节省了系统带宽。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种OSD菜单的淡入/淡出方法,其特征在于,包括:
将OSD菜单的第一待显示数据写入存储单元;
将透明度分量的取值设置为初始值;循环根据所述透明度分量的取值以及所述第一待显示数据生成用于显示的第二待显示数据,并逐步改变所述透明度分量的取值,直至所述透明度分量的取值达到终止值为止。
2.根据权利要求1所述的方法,其特征在于,在所述将透明度分量设置为初始值之前,所述方法还包括:打开使能开关,以便所述透明度分量的取值可用于生成第二待显示数据;
在所述透明度分量的取值达到终止值之后,所述方法还包括:关闭所述使能开关。
3.根据权利要求1或2所述的方法,其特征在于,当所述OSD菜单需淡出时,所述方法还包括:在所述透明度分量的取值达到终止值之后,所述方法还包括:将用于存储所述第一待显示数据的存储单元清空。
4.根据权利要求1所述的方法,其特征在于,所述逐步改变所述透明度分量的取值包括:
以预设的渐变步长,逐步改变透明度分量的取值。
5.根据权利要求1所述的方法,其特征在于,在所述循环中,所述方法还包括:在所述逐步改变所述透明度分量的取值之后,等待预设的渐变时长。
6.一种OSD菜单的淡入/淡出装置,其特征在于,包括:
处理单元和存储单元,所述处理单元用于将OSD菜单的第一待显示数据写入所述存储单元,将透明度分量的取值设置为初始值,并逐步改变所述透明透明度分量的取值,直至所述透明度分量的取值达到终止值为止;所述存储单元用于存储所述第一待显示数据;
OSD显示单元,用于从所述存储单元中获取所述第一待显示数据,并循环根据所述透明度分量的取值以及所述第一待显示数据生成用于显示的第二待显示数据。
7.根据权利要求6所述的装置,其特征在于,所述OSD显示单元包括寄存器,所述寄存器用于写入所述透明度分量的取值;
所述处理单元用于执行淡入/淡出接口程序,所述淡入/淡出接口程序用于将透明度分量的取值设置为初始值,循环将所述透明度分量的取值写入所述寄存器中,并逐步改变所述透明度分量的取值,直至所述透明度分量的取值达到终止值为止。
8.根据权利要求7所述的装置,其特征在于,所述处理单元还用于在执行所述淡出接口程序结束后,从所述存储单元中清除所述第一待显示数据。
9.根据权利要求7所述的装置,其特征在于,所述OSD显示单元还包括使能开关,所述使能开关的状态用于指示所述寄存器中的透明度分量的取值是否可用于生成第二待显示数据。
10.根据权利要求6-9任一项所述的装置,其特征在于,所述装置还包括:直接内存存取DMA单元,所述DMA单元用于将所述存储单元中的第一待显示数据传送至所述OSD显示单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610369398.5A CN105975168A (zh) | 2016-05-27 | 2016-05-27 | 一种osd菜单淡入/淡出方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610369398.5A CN105975168A (zh) | 2016-05-27 | 2016-05-27 | 一种osd菜单淡入/淡出方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105975168A true CN105975168A (zh) | 2016-09-28 |
Family
ID=57010060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610369398.5A Pending CN105975168A (zh) | 2016-05-27 | 2016-05-27 | 一种osd菜单淡入/淡出方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105975168A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107197182A (zh) * | 2017-06-06 | 2017-09-22 | 青岛海信电器股份有限公司 | 一种在电视上显示屏幕菜单的方法、装置及电视 |
CN108268194A (zh) * | 2017-08-29 | 2018-07-10 | 广州市动景计算机科技有限公司 | 应用app频道菜单的显示方法、装置和移动终端 |
CN109618214A (zh) * | 2018-12-19 | 2019-04-12 | 北京字节跳动网络技术有限公司 | 信息显示方法、装置和电子设备 |
TWI671679B (zh) * | 2018-04-02 | 2019-09-11 | 香港商冠捷投資有限公司 | 半透明osd顯示時間的方法及顯示器 |
CN112732143A (zh) * | 2018-03-08 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 一种界面处理方法及其设备、存储介质、终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101093636A (zh) * | 2003-01-31 | 2007-12-26 | 株式会社瑞萨科技 | 显示驱动控制设备和包含显示设备的电子设备 |
CN101119454A (zh) * | 2006-08-02 | 2008-02-06 | 深圳Tcl新技术有限公司 | 一种电视功能界面透明显示的方法及其装置 |
CN101707677A (zh) * | 2009-12-11 | 2010-05-12 | 华亚微电子(上海)有限公司 | Osd控制器 |
-
2016
- 2016-05-27 CN CN201610369398.5A patent/CN105975168A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101093636A (zh) * | 2003-01-31 | 2007-12-26 | 株式会社瑞萨科技 | 显示驱动控制设备和包含显示设备的电子设备 |
CN101119454A (zh) * | 2006-08-02 | 2008-02-06 | 深圳Tcl新技术有限公司 | 一种电视功能界面透明显示的方法及其装置 |
CN101707677A (zh) * | 2009-12-11 | 2010-05-12 | 华亚微电子(上海)有限公司 | Osd控制器 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107197182A (zh) * | 2017-06-06 | 2017-09-22 | 青岛海信电器股份有限公司 | 一种在电视上显示屏幕菜单的方法、装置及电视 |
CN107197182B (zh) * | 2017-06-06 | 2020-05-05 | 青岛海信电器股份有限公司 | 一种在电视上显示屏幕菜单的方法、装置及电视 |
CN108268194A (zh) * | 2017-08-29 | 2018-07-10 | 广州市动景计算机科技有限公司 | 应用app频道菜单的显示方法、装置和移动终端 |
CN112732143A (zh) * | 2018-03-08 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 一种界面处理方法及其设备、存储介质、终端 |
CN112732143B (zh) * | 2018-03-08 | 2022-02-11 | 腾讯科技(深圳)有限公司 | 一种界面处理方法及其设备、存储介质、终端 |
TWI671679B (zh) * | 2018-04-02 | 2019-09-11 | 香港商冠捷投資有限公司 | 半透明osd顯示時間的方法及顯示器 |
CN109618214A (zh) * | 2018-12-19 | 2019-04-12 | 北京字节跳动网络技术有限公司 | 信息显示方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3754490B1 (en) | User interface rendering method and apparatus, and terminal | |
CN105975168A (zh) | 一种osd菜单淡入/淡出方法及装置 | |
CN109783178B (zh) | 一种界面组件的颜色调整方法、装置、设备和介质 | |
CN109783182A (zh) | 一种页面主题色调的调整方法、装置、设备及介质 | |
CN106780635B (zh) | 一种智能终端的图片适配方法及系统 | |
US9613397B2 (en) | Display method and electronic apparatus | |
CN106357998B (zh) | 一种osd图形显示处理装置 | |
CN107799093A (zh) | 调节终端屏幕亮度的方法、终端及计算机可读存储介质 | |
WO2023231568A1 (zh) | 视频编辑方法、装置、计算机设备、存储介质及产品 | |
CN109101233A (zh) | 适配多种屏幕分辨率的方法、存储设备及安卓设备 | |
CN103338235A (zh) | 在手机上实现动态壁纸交互式、个性化创作的方法 | |
CN101764971A (zh) | 一种在屏显示装置及其在屏显示方法 | |
CN104965640A (zh) | 一种移动终端的屏幕显示方法和装置 | |
CN106131643A (zh) | 一种弹幕处理方法、处理装置及其电子设备 | |
CN107908452A (zh) | 多页面启动方法及装置 | |
CN105430393A (zh) | 一种图片处理方法、图片处理装置以及图片处理平台 | |
CN104793937B (zh) | 一种启动控制方法及装置 | |
CN109587561A (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN101237543B (zh) | 字幕窗口属性设定方法及相关电视系统 | |
CN101132494B (zh) | 一种将电视机切换到学习模式下的方法、系统及设备 | |
CN116527978A (zh) | 一种多屏互动的控制方法及装置 | |
CN110457264A (zh) | 会议文件处理方法、装置、设备及计算机可读存储介质 | |
CN108184054A (zh) | 一种用于智能终端拍摄图像的预处理方法及预处理装置 | |
CN109189198A (zh) | 图像显示方法、装置、终端及存储介质 | |
US11303595B2 (en) | Method and device for displaying text and video in two threads |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160928 |
|
RJ01 | Rejection of invention patent application after publication |