CN104363502B - Osd画面保护方法及装置 - Google Patents
Osd画面保护方法及装置 Download PDFInfo
- Publication number
- CN104363502B CN104363502B CN201410588459.8A CN201410588459A CN104363502B CN 104363502 B CN104363502 B CN 104363502B CN 201410588459 A CN201410588459 A CN 201410588459A CN 104363502 B CN104363502 B CN 104363502B
- Authority
- CN
- China
- Prior art keywords
- memc
- plies
- detection
- osd
- layer
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/485—End-user interface for client configuration
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种OSD画面保护方法,包括:检测显示屏当前显示的图层层数;判断所述图层层数是否小于预设值;若是,则控制MEMC处理模块MEMC功能开启,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号进行相应处理后传输给显示屏显示;若否,则控制MEMC处理模块MEMC功能关闭,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号直接传输给显示屏显示。本发明还公开了一种OSD画面保护装置。本发明提高了画面显示效果。
Description
技术领域
本发明涉及电视技术领域,尤其涉及OSD画面保护方法及装置。
背景技术
众所周知,现有电视系统上,通常采用MEMC功能实现对OSD画面的保护,在MEMC功能开启情况下,且第三方应用运行时,当存在OSD画面开启状态,将容易导致OSD画面产生变形、破碎和花掉等现象,导致画面显示效果较差。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提高画面显示效果。
为实现上述目的,本发明提供的一种OSD画面保护方法包括以下步骤:
检测显示屏当前显示的图层层数;
判断所述图层层数是否小于预设值;
若是,则控制MEMC处理模块MEMC功能开启,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号进行相应处理后传输给显示屏显示;
若否,则控制MEMC处理模块MEMC功能关闭,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号直接传输给显示屏显示。
优选地,所述检测显示屏当前显示的图层层数包括:
检测渲染显示图层数量;
将所述渲染显示图层数量赋值于用于数据传输的预置变量;
获取所述预置变量确定图层层数。
优选地,所述将渲染显示图层数量赋值于用于数据传输的预置变量之后还包括:
实时检测所述渲染显示图层是否存在新增或移除事件;
当存在新增或移除事件时,获取新增或移除的渲染显示图层的变化量;
根据所述变化量和检测渲染显示图层数量调整所述预置变量。
优选地,所述检测显示屏当前显示的图层层数包括:
检测GOP层输出的显示图层数量;
根据所述显示图层数量计算图层层数。
优选地,所述检测显示屏当前显示的图层层数之前还包括:
侦测是否接收到MEMC功能开启指令;
当接收到MEMC功能开启指令时,执行所述检测显示屏当前显示的图层层数的步骤。
此外,为实现上述目的,本发明还提供一种OSD画面保护装置包括:
检测模块,用于检测显示屏当前显示的图层层数;
判断模块,用于判断所述图层层数是否小于预设值;
控制模块用于,当所述图层层数小于预设值时,控制MEMC处理模块MEMC功能开启,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号进行相应处理后传输给显示屏显示;当所述图层层数大于或等于预设值时,控制MEMC处理模块MEMC功能关闭,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号直接传输给显示屏显示。
优选地,所述检测模块包括:
第一检测单元,用于检测渲染显示图层数量;
赋值单元,用于将所述渲染显示图层数量赋值于用于数据传输的预置变量;
确定单元,用于获取所述预置变量确定图层层数。
优选地,所述检测模块还包括:
第二检测单元,用于实时检测所述渲染显示图层是否存在新增或移除事件;
获取单元,用于当存在新增或移除事件时,获取新增或移除的渲染显示图层的变化量;
调整单元,用于根据所述变化量和检测渲染显示图层数量调整所述预置变量。
优选地,所述检测模块包括:
第三检测单元,用于检测GOP层输出的显示图层数量;
计算单元,用于根据所述显示图层数量计算图层层数。
优选地,所述OSD画面保护装置还包括:
侦测模块,用于侦测是否接收到MEMC功能开启指令;
所述检测模块,具体用于当接收到MEMC功能开启指令时,执行所述检测显示屏当前显示的图层层数的操作。
本发明实施例通过检测显示屏当前显示的图层层数,在图层层数小于预设值时,控制MEMC处理模块MEMC功能开启,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号进行相应处理后传输给显示屏显示,实现OSD保护;在图层层数大于或等于预设值时,控制MEMC处理模块MEMC功能关闭,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号直接传输给显示屏显示;从而在第三方应用运行时,防止OSD图像产生变形、破碎和花掉等情况的出现。因此本发明可以实现MEMC功能的开启和关闭,防止由于第三方应用的运行对OSD图像的影响,提高了画面显示的效果。
附图说明
图1为本发明OSD画面保护方法一实施例的流程示意图;
图2为图1中检测图层层数一实施例的细化流程示意图;
图3为图1中检测图层层数另一实施例的细化流程示意图;
图4为图1中检测图层层数又一实施例的细化流程示意图;
图5为本发明OSD画面保护方法另一实施例的流程示意图;
图6为本发明OSD画面保护控装置一实施例的功能模块示意图;
图7为图6中检测模块一实施例的细化功能模块示意图;
图8为图6中检测模块另一实施例的细化功能模块示意图;
图9为图6中检测模块又一实施例的细化功能模块示意图;
图10为本发明OSD画面保护控装置另一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种OSD画面保护方法,参照图1,在一实施例中,该OSD画面保护方法包括:
步骤S10,检测显示屏当前显示的图层层数;
步骤S20,判断所述图层层数是否小于预设值;若是,则执行步骤S30,若否,则执行步骤S40;
步骤S30,控制MEMC处理模块MEMC功能开启,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号进行相应处理后传输给显示屏显示;
步骤S40,控制MEMC处理模块MEMC功能关闭,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号直接传输给显示屏显示。
本实施实例提供的OSD(屏幕菜单式调节方式)画面保护方法主要应用于电视机中,用于对显示画面进行处理。具体地,该电视系统为安卓系统。上述MEMC(MotionEstimate and Motion Compensation)处理模块为运动估计和运动补偿处理芯片,是液晶电视中运用的画质补偿技术,该技术的应用可以解决运动画面抖动、运动拖尾等问题。上述预设值的大小根据实际需要进行设置,本实施例中,上述预设值为3。具体地,在安卓系统中,当未存在第三方应用运行时,液晶显示屏上显示的图层层数为两层,第一层(即最底层)为视频信号层,第二层为电视机区域透明层(即Android系统所运行的所带的层),用以圈定视频信号的显示区域,即第二层透明对应的区域才能显示第一层视频信号的内容,明显的,对这两层采用MEMC功能时,显示不会受影响。
应当说明的是,在电视系统中包括GOP层绘制并处理系统中的OSD信号(包括第三方应用),VOP层用于处理系统中的视频信号、混合层用于混合VOP和GOP的信号,将其混合后转为符合V-BY-ONE传输;而存储器用于存储系统运行进程、GOP和VOP等内容。当MEMC处理模块功能关闭时,经过处理后的视频信号和OSD信号采用V-BY-ONE标准传输信号混合后传输给MEMC处理模块,MEMC处理模块对将信号传输给显示屏显示。当MEMC处理模块功能开启时,经过处理后的视频信号和OSD信号采用V-BY-ONE标准传输信号混合后传输给MEMC处理模块,MEMC处理模块对该信号进行相应处理后传输给显示屏显示。具体地,该MEMC处理模块处理为采用MEMC技术对信号倍频后再进行合并处理。
在电视系统的MEMC功能处于打开状态的时候,系统即对图层层数进行检测判断。判断所述图层层数是否小于3,当图层层数小于3时,即为两层时,则确定没有运行第三方应用,此时可输出控制信号控制MEMC处理模块的MEMC功能关闭。当图层层数大于或等于3时,则判定存在第三应用,可输出控制信号控制MEMC处理模块的MEMC功能开启。
本发明实施例通过检测显示屏当前显示的图层层数,在图层层数小于预设值时,控制MEMC处理模块MEMC功能开启,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号进行相应处理后传输给显示屏显示,实现OSD保护;在图层层数大于或等于预设值时,控制MEMC处理模块MEMC功能关闭,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号直接传输给显示屏显示;从而在第三方应用运行时,防止OSD图像产生变形、破碎和花掉等情况的出现。因此本发明可以实现MEMC功能的开启和关闭,防止由于第三方应用的运行对OSD图像的影响,提高了画面显示的效果。
具体地,在系统使用第三方应用的情况下,由于UI不是系统自身画出来的,所以无法通过顶层应用直接判断图层层数。检测是在android GUI系统SurfaceFlinger的HWComposer里面中完成,在系统中,通过调用其中描述层特性的结构体中的描述层数变量的值,得到当前显示的层数。以下实施例中,将对图层层数的检测作出详细说明。
进一步地,参照图2,提供了本发明OSD画面保护方法第二实施例,本实施例中,上述步骤S10具体包括:
步骤S101,检测渲染显示图层数量;
步骤S102,将所述渲染显示图层数量赋值于用于数据传输的预置变量;
步骤S103,获取所述预置变量确定图层层数。
在Android系统中,根据其系统的特性机制,显示图层层数识别的核心服务是SurfaceFlinger,SurfaceFlinger为系统整个UI的管理者,负责渲染系统的UI(即各个应用程序的UI),并且负责管理系统的帧缓冲区设备。具体地,在Android图形系统中一个重要的概念和线索是surface。View及其子类(如TextView,Button等UI)要画在surface上。每个surface创建一个Canvas对象(但属性时常改变),用来管理view在surface上的绘图操作。每个Canvas对象对应一个bitmap(位图),存储画在surface上的内容。每个surface通常对应两个buffer、一个front buffer、一个back buffer。每个surface又对应一个layer,SurfaceFlinger负责将各个layer的front buffer合成(composite)绘制到屏幕上。即各layer的front buffer中的内容即为需要显示在屏幕上的内容,back buffer为不需要显示的内容。Android应用程序与SurfaceFlinger服务都有一个连接,这个连接都是通过一个类型为Client的Binder对象(进程之间传递的数据)来描述的。这些Client对象是Android应用程序连接到SurfaceFlinger服务的时候由SurfaceFlinger服务创建的,而当Android应用程序成功连接到SurfaceFlinger服务之后,就可以获得一个对应的Client对象的Binder代理接口了。有了这些Binder代理接口之后,Android应用程序就可以通知SurfaceFlinger服务来绘制自己的UI。
具体地,本实施例中,首先是创建一个到SurfaceFlinger服务的连接,接着再通过这个连接来创建一个Surface,最后请求SurfaceFlinger服务渲染该Surface。当Layer的绘制渲染完成后,将会通过预置变量的形式返回图层的数量值。
进一步地,参照图3,提供了本发明OSD画面保护方法第三实施例,基于上述第二实施例,本实施例中所述步骤S102之后还包括:
步骤S104,实时检测所述渲染显示图层是否存在新增或移除事件;
步骤S105,当存在新增或移除事件时,获取新增或移除的渲染显示图层的变化量;
步骤S106,根据所述变化量和检测渲染显示图层数量调整所述预置变量。
本实施例中,SurfaceFlinger对整个Layer的实时变更做相应的检测,包括新增Layer层的检测和移除Layer层的检测,并进一步的实时返回图层总层数值numHwLayers(即上述预置变量)。当获取到该numHwLayers产生变化时,将返回执行步骤S20。
具体地,新增layer检测为:在SurfaceFlinger类中设置两个成员变量mDrawingState与mCurrentState,这两种类型均为为State,mDrawingState是用来描述SufaceFlinger服务的上一次渲染状态的,mCurrentState指向了一个State对象,用来描述SufaceFlinger服务的当前状态。通过这两个成员变量的比较,我们就可以知道系统显示屏的哪一个属性发生了变化。SurfaceFlinger中设置一个描述Layer状态的的State类,State类的成员变量layersSortedByZ是一个类型LayerVector的向量,里面保存的是SurfaceFlinger服务在某一个状态下所拥有的应用程序窗口,因此,当SurfaceFlinger类的成员变量mCurrentState所描述的一个State对象的成员变量layersSortedByZ所指向的一个向量的大小值大于SurfaceFlinger类的成员变量mDrawingState所描述的一个State对象的成员变量layersSortedByZ所指向的一个向量的大小值时,就说明系统新增了应用程序窗口。在这种情况下,我们就需要将SurfaceFlinger类的成员变量mVisibleRegionsDirty的值设置为true,以表示我们需要重新计算各个应用程序窗口的可见区域。
移除layer检测为:SurfaceFlinger类的成员变量mLayersRemoved用来描述是否有应用程序窗口被移除了。如果有有应用程序窗口被移除的话,那么这个成员变量的值就会等于true。在这种情况下,我们就需要是哪些应用程序窗口被移除了。计算的方法如下,如果一个应用程序窗口存在于SurfaceFlinger类的成员变量mDrawingState所描述的一个State对象的成员变量layersSortedByZ所指向的一个向量中,但是不存在于SurfaceFlinger类的成员变量mCurrentState所描述的一个State对象的成员变量layersSortedByZ所指向的一个向量中,那么就说明这个应用程序窗口被移除了,因此,就需要将它保存输出参数ditchedLayers所描述的一个向量中,以便可以返回给上一步来处理。SurfaceFlinger类的成员变量mDirtyRegionRemovedLayer用来描述那些被移除了的应用程序窗口所占用的区域,因此,每当我们移除一个应用程序窗口的时候,都需要将它所占用的区域增加到SurfaceFlinger类的成员变量mDirtyRegionRemovedLayer所描述的一个区域去。
当处理完成那些被移除的应用程序窗口之后,我们就需要将SurfaceFlinger类的成员变量mLayersRemoved的值设置为false,并且将SurfaceFlinger类的成员变量mVisibleRegionsDirty的值设置为true,以表示我们需要重新计算现存的各个应用程序窗口的可见区域。
进一步地,参照图4,提供了本发明OSD画面保护方法第四实施例,本实施例中,上述步骤S10包括:
步骤S107,检测GOP层输出的显示图层数量;
步骤S108,根据所述显示图层数量计算图层层数。
本实施例中,如果当前电视通道为AV,那么VOP层中的内容为AV中视频的内容,如果为HDMI,即VOP层中的内容为HDMI中视频的内容。而GOP层在SurfaceFlinger管理下,将需要显示的层才传输给混合层进行混合。因此可以通过判断GOP层是否有层输出,如果有图层输出时,则上述图层的总数将大于或等于上述预设值,此时则可控制MEMC处理模块关闭MEMC功能。当无图层输出时,则上述图层的总数将小于上述预设值,此时则可控制MEMC处理模块开启MEMC功能。
进一步地,参照图5,提供了本发明OSD画面保护方法第五实施例,本实施例中,上述步骤S10之前还包括:
步骤S50,侦测是否接收到MEMC功能开启指令;
当接收到MEMC功能开启指令时,执行所述检测显示屏当前显示的图层层数的步骤。
本实施例中,可通过遥控器、键盘、智能手机等输入MEMC功能开启指令,在接收到该MEMC功能开启指令时,才对显示屏当前显示的图层层数进检测,从而可选择性控制,增加使用的灵活性。
本发明还提供一种OSD画面保护装置,参照图6,在一实施例中,本发明提供的OSD画面保护装置包括:
检测模块100,用于检测显示屏当前显示的图层层数;
判断模块200,用于判断所述图层层数是否小于预设值;
控制模块300用于,当所述图层层数小于预设值时,控制MEMC处理模块MEMC功能开启,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号进行相应处理后传输给显示屏显示;当所述图层层数大于或等于预设值时,控制MEMC处理模块MEMC功能关闭,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号直接传输给显示屏显示。
本实施实例提供的OSD(屏幕菜单式调节方式)画面保护装置主要应用于电视机中,用于对显示画面进行处理。具体地,该电视系统为安卓系统。上述MEMC(MotionEstimate and Motion Compensation)处理模块为运动估计和运动补偿处理芯片,是液晶电视中运用的画质补偿技术,该技术的应用可以解决运动画面抖动、运动拖尾等问题。上述预设值的大小根据实际需要进行设置,本实施例中,上述预设值为3。具体地,在安卓系统中,当未存在第三方应用运行时,液晶显示屏上显示的图层层数为两层,第一层(即最底层)为视频信号层,第二层为电视机区域透明层(即Android系统所运行的所带的层),用以圈定视频信号的显示区域,即第二层透明对应的区域才能显示第一层视频信号的内容,明显的,对这两层采用MEMC功能时,显示不会受影响。
应当说明的是,在电视系统中包括GOP层绘制并处理系统中的OSD信号(包括第三方应用),VOP层用于处理系统中的视频信号、混合层用于混合VOP和GOP的信号,将其混合后转为符合V-BY-ONE传输;而存储器用于存储系统运行进程、GOP和VOP等内容。当MEMC处理模块功能关闭时,经过处理后的视频信号和OSD信号采用V-BY-ONE标准传输信号混合后传输给MEMC处理模块,MEMC处理模块对将信号传输给显示屏显示。当MEMC处理模块功能开启时,经过处理后的视频信号和OSD信号采用V-BY-ONE标准传输信号混合后传输给MEMC处理模块,MEMC处理模块对该信号进行相应处理后传输给显示屏显示。具体地,该MEMC处理模块处理为采用MEMC技术对信号倍频后再进行合并处理。
在电视系统的MEMC功能处于打开状态的时候,系统即对图层层数进行检测判断。判断所述图层层数是否小于3,当图层层数小于3时,即为两层时,则确定没有运行第三方应用,此时可输出控制信号控制MEMC处理模块的MEMC功能关闭。当图层层数大于或等于3时,则判定存在第三应用,可输出控制信号控制MEMC处理模块的MEMC功能开启。
本发明实施例通过检测显示屏当前显示的图层层数,在图层层数小于预设值时,控制MEMC处理模块MEMC功能开启,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号进行相应处理后传输给显示屏显示,实现OSD保护;在图层层数大于或等于预设值时,控制MEMC处理模块MEMC功能关闭,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号直接传输给显示屏显示;从而在第三方应用运行时,防止OSD图像产生变形、破碎和花掉等情况的出现。因此本发明可以实现MEMC功能的开启和关闭,防止由于第三方应用的运行对OSD图像的影响,提高了画面显示的效果。
具体地,在系统使用第三方应用的情况下,由于UI不是系统自身画出来的,所以无法通过顶层应用直接判断图层层数。检测是在android GUI系统SurfaceFlinger的HWComposer里面中完成,在系统中,通过调用其中描述层特性的结构体中的描述层数变量的值,得到当前显示的层数。以下实施例中,将对图层层数的检测作出详细说明。
进一步地,参照图7,提供了本发明OSD画面保护装置第二实施例,本实施例中,上述检测模块100包括:
第一检测单元101,用于检测渲染显示图层数量;
赋值单元102,用于将所述渲染显示图层数量赋值于用于数据传输的预置变量;
确定单元103,用于获取所述预置变量确定图层层数。
在Android系统中,根据其系统的特性机制,显示图层层数识别的核心服务是SurfaceFlinger,SurfaceFlinger为系统整个UI的管理者,负责渲染系统的UI(即各个应用程序的UI),并且负责管理系统的帧缓冲区设备。具体地,在Android图形系统中一个重要的概念和线索是surface。View及其子类(如TextView,Button等UI)要画在surface上。每个surface创建一个Canvas对象(但属性时常改变),用来管理view在surface上的绘图操作。每个Canvas对象对应一个bitmap(位图),存储画在surface上的内容。每个surface通常对应两个buffer、一个front buffer、一个back buffer。每个surface又对应一个layer,SurfaceFlinger负责将各个layer的front buffer合成(composite)绘制到屏幕上。即各layer的front buffer中的内容即为需要显示在屏幕上的内容,back buffer为不需要显示的内容。Android应用程序与SurfaceFlinger服务都有一个连接,这个连接都是通过一个类型为Client的Binder对象(进程之间传递的数据)来描述的。这些Client对象是Android应用程序连接到SurfaceFlinger服务的时候由SurfaceFlinger服务创建的,而当Android应用程序成功连接到SurfaceFlinger服务之后,就可以获得一个对应的Client对象的Binder代理接口了。有了这些Binder代理接口之后,Android应用程序就可以通知SurfaceFlinger服务来绘制自己的UI。
具体地,本实施例中,首先是创建一个到SurfaceFlinger服务的连接,接着再通过这个连接来创建一个Surface,最后请求SurfaceFlinger服务渲染该Surface。当Layer的绘制渲染完成后,将会通过预置变量的形式返回图层的数量值。
进一步地,参照图8,提供了本发明OSD画面保护装置第三实施例,基于上述第二实施例,本实施例中,上述检测模块100还包括:
第二检测单元104,用于实时检测所述渲染显示图层是否存在新增或移除事件;
获取单元105,用于当存在新增或移除事件时,获取新增或移除的渲染显示图层的变化量;
调整单元106,用于根据所述变化量和检测渲染显示图层数量调整所述预置变量。
本实施例中,SurfaceFlinger对整个Layer的实时变更做相应的检测,包括新增Layer层的检测和移除Layer层的检测,并进一步的实时返回图层总层数值numHwLayers(即上述预置变量)。当获取到该numHwLayers产生变化时,将由判断模块200判断所述图层层数是否小于预设值。
具体地,新增layer检测为:在SurfaceFlinger类中设置两个成员变量mDrawingState与mCurrentState,这两种类型均为为State,mDrawingState是用来描述SufaceFlinger服务的上一次渲染状态的,mCurrentState指向了一个State对象,用来描述SufaceFlinger服务的当前状态。通过这两个成员变量的比较,我们就可以知道系统显示屏的哪一个属性发生了变化。SurfaceFlinger中设置一个描述Layer状态的的State类,State类的成员变量layersSortedByZ是一个类型LayerVector的向量,里面保存的是SurfaceFlinger服务在某一个状态下所拥有的应用程序窗口,因此,当SurfaceFlinger类的成员变量mCurrentState所描述的一个State对象的成员变量layersSortedByZ所指向的一个向量的大小值大于SurfaceFlinger类的成员变量mDrawingState所描述的一个State对象的成员变量layersSortedByZ所指向的一个向量的大小值时,就说明系统新增了应用程序窗口。在这种情况下,我们就需要将SurfaceFlinger类的成员变量mVisibleRegionsDirty的值设置为true,以表示我们需要重新计算各个应用程序窗口的可见区域。
移除layer检测为:SurfaceFlinger类的成员变量mLayersRemoved用来描述是否有应用程序窗口被移除了。如果有有应用程序窗口被移除的话,那么这个成员变量的值就会等于true。在这种情况下,我们就需要是哪些应用程序窗口被移除了。计算的方法如下,如果一个应用程序窗口存在于SurfaceFlinger类的成员变量mDrawingState所描述的一个State对象的成员变量layersSortedByZ所指向的一个向量中,但是不存在于SurfaceFlinger类的成员变量mCurrentState所描述的一个State对象的成员变量layersSortedByZ所指向的一个向量中,那么就说明这个应用程序窗口被移除了,因此,就需要将它保存输出参数ditchedLayers所描述的一个向量中,以便可以返回给上一步来处理。SurfaceFlinger类的成员变量mDirtyRegionRemovedLayer用来描述那些被移除了的应用程序窗口所占用的区域,因此,每当我们移除一个应用程序窗口的时候,都需要将它所占用的区域增加到SurfaceFlinger类的成员变量mDirtyRegionRemovedLayer所描述的一个区域去。
当处理完成那些被移除的应用程序窗口之后,我们就需要将SurfaceFlinger类的成员变量mLayersRemoved的值设置为false,并且将SurfaceFlinger类的成员变量mVisibleRegionsDirty的值设置为true,以表示我们需要重新计算现存的各个应用程序窗口的可见区域。
进一步地,参照图9,提供了本发明OSD画面保护方法第四实施例,本实施例中,上述检测模块100包括:
第三检测单元107,用于检测GOP层输出的显示图层数量;
计算单元108,用于根据所述显示图层数量计算图层层数。
本实施例中,如果当前电视通道为AV,那么VOP层中的内容为AV中视频的内容,如果为HDMI,即VOP层中的内容为HDMI中视频的内容。而GOP层在SurfaceFlinger管理下,将需要显示的层才传输给混合层进行混合。因此可以通过判断GOP层是否有层输出,如果有图层输出时,则上述图层的总数将大于或等于上述预设值,此时则可控制MEMC处理模块关闭MEMC功能。当无图层输出时,则上述图层的总数将小于上述预设值,此时则可控制MEMC处理模块开启MEMC功能。
进一步地,参照图10,提供了本发明OSD画面保护装置第五实施例,本实施例中,上述OSD画面保护装置还包括:
侦测模块400,用于侦测是否接收到MEMC功能开启指令;
所述检测模块100,具体用于当接收到MEMC功能开启指令时,执行所述检测显示屏当前显示的图层层数的操作。
本实施例中,可通过遥控器、键盘、智能手机等输入MEMC功能开启指令,在接收到该MEMC功能开启指令时,才对显示屏当前显示的图层层数进检测,从而可选择性控制,增加使用的灵活性。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种OSD画面保护方法,其特征在于,所述OSD画面保护方法包括以下步骤:
检测显示屏当前显示的图层层数;
判断所述图层层数是否小于预设值;
若是,则控制MEMC处理模块开启MEMC功能,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号进行相应处理后传输给显示屏显示;
若否,则控制MEMC处理模块关闭所述MEMC功能,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号直接传输给显示屏显示。
2.如权利要求1所述的OSD画面保护方法,其特征在于,所述检测显示屏当前显示的图层层数包括:
检测渲染显示图层数量;
将所述渲染显示图层数量赋值于用于数据传输的预置变量;
获取所述预置变量确定图层层数。
3.如权利要求2所述的OSD画面保护方法,其特征在于,所述将渲染显示图层数量赋值于用于数据传输的预置变量之后还包括:
实时检测所述渲染显示图层是否存在新增或移除事件;
当存在新增或移除事件时,获取新增或移除的渲染显示图层的变化量;
根据所述变化量和检测渲染显示图层数量调整所述预置变量。
4.如权利要求1所述的OSD画面保护方法,其特征在于,所述检测显示屏当前显示的图层层数包括:
检测GOP层输出的显示图层数量;
根据所述显示图层数量计算图层层数。
5.如权利要求1所述的OSD画面保护方法,其特征在于,所述检测显示屏当前显示的图层层数之前还包括:
侦测是否接收到MEMC功能开启指令;
当接收到MEMC功能开启指令时,执行所述检测显示屏当前显示的图层层数的步骤。
6.一种OSD画面保护装置,其特征在于,所述OSD画面保护装置包括:
检测模块,用于检测显示屏当前显示的图层层数;
判断模块,用于判断所述图层层数是否小于预设值;
控制模块用于,当所述图层层数小于预设值时,控制MEMC处理模块开启MEMC功能,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号进行相应处理后传输给显示屏显示;当所述图层层数大于或等于预设值时,控制MEMC处理模块关闭所述MEMC功能,以将MEMC处理模块接收到的OSD信号与视频信号混合后的信号直接传输给显示屏显示。
7.如权利要求6所述的OSD画面保护装置,其特征在于,所述检测模块包括:
第一检测单元,用于检测渲染显示图层数量;
赋值单元,用于将所述渲染显示图层数量赋值于用于数据传输的预置变量;
确定单元,用于获取所述预置变量确定图层层数。
8.如权利要求7所述的OSD画面保护装置,其特征在于,所述检测模块还包括:
第二检测单元,用于实时检测所述渲染显示图层是否存在新增或移除事件;
获取单元,用于当存在新增或移除事件时,获取新增或移除的渲染显示图层的变化量;
调整单元,用于根据所述变化量和检测渲染显示图层数量调整所述预置变量。
9.如权利要求6所述的OSD画面保护装置,其特征在于,所述检测模块包括:
第三检测单元,用于检测GOP层输出的显示图层数量;
计算单元,用于根据所述显示图层数量计算图层层数。
10.如权利要求6所述的OSD画面保护装置,其特征在于,所述OSD画面保护装置还包括:
侦测模块,用于侦测是否接收到MEMC功能开启指令;
所述检测模块,具体用于当接收到MEMC功能开启指令时,执行所述检测显示屏当前显示的图层层数的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410588459.8A CN104363502B (zh) | 2014-10-28 | 2014-10-28 | Osd画面保护方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410588459.8A CN104363502B (zh) | 2014-10-28 | 2014-10-28 | Osd画面保护方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104363502A CN104363502A (zh) | 2015-02-18 |
CN104363502B true CN104363502B (zh) | 2017-11-07 |
Family
ID=52530720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410588459.8A Active CN104363502B (zh) | 2014-10-28 | 2014-10-28 | Osd画面保护方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104363502B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681926B (zh) * | 2016-01-18 | 2019-03-22 | 四川长虹电器股份有限公司 | 一种带运动补偿功能液晶电视的画质提升系统及方法 |
CN105847980A (zh) * | 2016-03-29 | 2016-08-10 | 青岛海信电器股份有限公司 | 一种控制信号转发方法、装置和电视机 |
CN106210852B (zh) * | 2016-07-07 | 2019-06-28 | 青岛海信电器股份有限公司 | 一种终端静态图层信息检测方法及终端 |
CN107888979B (zh) * | 2017-11-23 | 2021-01-08 | 海信视像科技股份有限公司 | 基于Linux电视的图像显示方法及装置 |
CN108010109A (zh) * | 2017-12-22 | 2018-05-08 | 广州酷狗计算机科技有限公司 | 一种导出canvas动画文件的方法和装置 |
CN110874128B (zh) * | 2018-08-31 | 2021-03-30 | 上海瑾盛通信科技有限公司 | 可视化数据处理方法和电子设备 |
CN113287322B (zh) * | 2019-06-10 | 2024-10-29 | 海信视像科技股份有限公司 | 图像处理方法及显示设备 |
CN112073788B (zh) * | 2019-06-10 | 2023-04-14 | 海信视像科技股份有限公司 | 视频数据处理方法、装置及显示设备 |
CN115633219B (zh) * | 2021-09-29 | 2024-05-17 | 荣耀终端有限公司 | 一种界面识别方法、设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201854360U (zh) * | 2009-06-30 | 2011-06-01 | 青岛海信电器股份有限公司 | 一种数字电视接收装置 |
CN102291578A (zh) * | 2010-06-21 | 2011-12-21 | 瑞昱半导体股份有限公司 | 图框速率转换装置及方法 |
CN102346916A (zh) * | 2011-09-26 | 2012-02-08 | 深圳市万兴软件有限公司 | 一种图层渲染方法及装置 |
CN103108242A (zh) * | 2012-12-19 | 2013-05-15 | 四川长虹电器股份有限公司 | 一种解决智能电视视频类应用和电视视频冲突的方法 |
-
2014
- 2014-10-28 CN CN201410588459.8A patent/CN104363502B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201854360U (zh) * | 2009-06-30 | 2011-06-01 | 青岛海信电器股份有限公司 | 一种数字电视接收装置 |
CN102291578A (zh) * | 2010-06-21 | 2011-12-21 | 瑞昱半导体股份有限公司 | 图框速率转换装置及方法 |
CN102346916A (zh) * | 2011-09-26 | 2012-02-08 | 深圳市万兴软件有限公司 | 一种图层渲染方法及装置 |
CN103108242A (zh) * | 2012-12-19 | 2013-05-15 | 四川长虹电器股份有限公司 | 一种解决智能电视视频类应用和电视视频冲突的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104363502A (zh) | 2015-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104363502B (zh) | Osd画面保护方法及装置 | |
US11450044B2 (en) | Creating and displaying multi-layered augemented reality | |
US10554803B2 (en) | Method and apparatus for generating unlocking interface, and electronic device | |
AU2017439979A1 (en) | Method and device for dynamically displaying icon according to background image | |
CN105005426A (zh) | 触屏终端截屏、数据分享的方法及系统 | |
CN113126862B (zh) | 截屏方法、装置、电子设备以及可读存储介质 | |
CN107948498B (zh) | 一种消除相机摩尔条纹方法及移动终端 | |
MX2015005393A (es) | Metodo para proporcionar informacion-de-interes para los usuarios cuando se realiza una llamada de video, y aparato electronico del mismo. | |
US11128909B2 (en) | Image processing method and device therefor | |
CN104866755A (zh) | 应用程序解锁界面背景图片的设置方法、装置及电子设备 | |
CN112417421A (zh) | 扫描方法、装置、电子设备和可读存储介质 | |
CN109005446A (zh) | 一种截屏处理方法及装置、电子设备、存储介质 | |
CN108198146A (zh) | 一种降噪方法、设备和计算机可读存储介质 | |
CN103685963B (zh) | 图像显示处理方法及装置 | |
CN105100870A (zh) | 一种截屏方法及终端设备 | |
CN106843798A (zh) | 智能交互平板内多通道切换方法及装置 | |
CN104238983A (zh) | 一种控制方法及电子设备 | |
CN107749983A (zh) | 一种基于图像识别的oled电视屏幕保护方法 | |
CN111968605A (zh) | 曝光度调整方法及装置 | |
CN112969088A (zh) | 投屏控制方法、装置、电子设备和可读存储介质 | |
CN111429551A (zh) | 图像编辑方法、装置、电子设备和存储介质 | |
CN111107264A (zh) | 图像处理方法、装置、存储介质以及终端 | |
CN113012085A (zh) | 图像处理方法和装置 | |
CN114863432A (zh) | 一种终端设备、对比度调整方法、装置及介质 | |
CN102316335A (zh) | 一种显示效果控制装置、方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |