一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于高斯模糊的渲染方法、存储介质及电子设备与流程

2022-06-08 19:14:52 来源:中国专利 TAG:


1.本发明属于图片渲染的技术领域,涉及一种渲染方法,特别是涉及一种基于高斯模糊的渲染方法、存储介质及电子设备。


背景技术:

2.电子设备功能越来越丰富,给用户带来的应用体验也逐渐提升。其中,电子设备的拍摄功能越来越强大,用户对图片的处理需求也越来越高,很多时候需要按照自己的需求对图片进行模糊渲染处理。
3.然而,目前现有的高斯模糊渲染方式只能在应用层内进行处理,效率很慢并且有局限性,而且都是备份图片进行替换磨玻璃,占用内存比较大,尤其是不能快速渲染。
4.因此,如何提供一种基于高斯模糊的渲染方法、存储介质及电子设备,以解决现有技术无法通过安卓底层渲染机制实现快速渲染模糊等缺陷,成为本领域技术人员亟待解决的技术问题。


技术实现要素:

5.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于高斯模糊的渲染方法、存储介质及电子设备,其优势在于,可以根据用户需求实时地对任意层级的图片进行渲染。
6.本发明的另一目的在于提供一种基于高斯模糊的渲染方法、存储介质及电子设备,其优势在于,可以在任何界面实现高斯模糊效果,并且根据用户需求定制高斯模糊效果。
7.本发明的另一目的在于提供一种基于高斯模糊的渲染方法、存储介质及电子设备,其优势在于,通过参与安卓底层渲染机制实现快速渲染模糊,在底层一个垂直同步信号内实现模糊效果,实时流畅。
8.本发明的另一目的在于提供一种基于高斯模糊的渲染方法、存储介质及电子设备,其优势在于,在安卓系统服务层级进行opengl es的渲染处理,根据不同层级之间的z轴序进行表面模糊,以实现有序渲染。
9.本发明的另一目的在于提供一种基于高斯模糊的渲染方法、存储介质及电子设备,其优势在于,给上层应用程序提供稳定的平台支持,应用程序只需要调用相应的接口就可实现渲染模糊。
10.本发明的另一目的在于提供一种基于高斯模糊的渲染方法、存储介质及电子设备,其优势在于,与现有的高斯模糊只是渲染单一的位图相比,本发明可以渲染任意层级的图片。
11.本发明的另一目的在于提供一种基于高斯模糊的渲染方法、存储介质及电子设备,其优势在于,可以满足用户的需求,进行实时渲染,还可以指定相应的层级进行渲染,复用性强。
12.为实现上述目的及其他相关目的,本发明一方面提供一种基于高斯模糊的渲染方法,所述基于高斯模糊的渲染方法包括以下步骤:基于用户的渲染需求,产生背景模糊标志;根据所述背景模糊标志创建表面模糊层,并分配渲染纹理;于所述渲染纹理中绘制所述表面模糊层对应的模糊内容,以完成所述模糊内容的构建;通过调用图形绘制接口绘制所构建的模糊内容和所述表面模糊层,以实现渲染。
13.为实现上述目的及其他相关目的,本发明另一方面提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的基于高斯模糊的渲染方法。
14.为实现上述目的及其他相关目的,本发明另一方面提供一种电子设备,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述电子设备执行所述的基于高斯模糊的渲染方法。
15.如上所述,本发明所述的基于高斯模糊的渲染方法、存储介质及电子设备,具有以下有益效果:
16.本发明可以根据用户需求实时地对任意层级的图片进行渲染。可以在任何界面实现高斯模糊效果,并且根据用户需求定制高斯模糊效果。通过参与安卓底层渲染机制实现快速渲染模糊,在底层一个垂直同步信号内实现模糊效果,实时流畅。在安卓系统服务层级进行opengl es的渲染处理,根据不同层级之间的z轴序进行表面模糊,以实现有序渲染。给上层应用程序提供稳定的平台支持,应用程序只需要调用相应的接口就可实现渲染模糊。与现有的高斯模糊只是渲染单一的位图相比,本发明可以渲染任意层级的图片。可以满足用户的需求,进行实时渲染,还可以指定相应的层级进行渲染,复用性强。
附图说明
17.图1显示为本发明的基于高斯模糊的渲染方法于一实施例中的原理流程图。
18.图2显示为本发明的基于高斯模糊的渲染方法于一实施例中的背景模糊标志生成流程图。
19.图3显示为本发明的基于高斯模糊的渲染方法于一实施例中的安卓渲染机制原理图。
20.图4显示为本发明的基于高斯模糊的渲染方法于一实施例中的模糊渲染流程图。
21.图5显示为本发明的基于高斯模糊的渲染方法于一实施例中的模糊内容构建流程图。
22.图6显示为本发明的基于高斯模糊的渲染方法于一实施例中的绘制流程图。
23.图7显示为本发明的电子设备于一实施例中的结构连接示意图。
24.元件标号说明
[0025]7ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
电子设备
[0026]
71
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
处理器
[0027]
72
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
存储器
[0028]
s11~s14
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
步骤
[0029]
s111~s113
ꢀꢀꢀꢀꢀꢀꢀ
步骤
[0030]
s121~s123
ꢀꢀꢀꢀꢀꢀꢀ
步骤
[0031]
s131~s132
ꢀꢀꢀꢀꢀꢀꢀ
步骤
[0032]
s141~s142
ꢀꢀꢀꢀꢀꢀꢀ
步骤
具体实施方式
[0033]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0034]
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0035]
本发明所述的基于高斯模糊的渲染方法、存储介质及电子设备可以根据用户需求实时地对任意层级的图片进行渲染。
[0036]
以下将结合图1至图7详细阐述本实施例的一种基于高斯模糊的渲染方法、存储介质及电子设备的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本实施例的基于高斯模糊的渲染方法、存储介质及电子设备。
[0037]
请参阅图1,显示为本发明的基于高斯模糊的渲染方法于一实施例中的原理流程图。如图1所示,所述基于高斯模糊的渲染方法具体包括以下几个步骤:
[0038]
s11,基于用户的渲染需求,产生背景模糊标志。
[0039]
于一实施例中,所述渲染需求用于定制高斯模糊效果,所述渲染需求包括模糊半径。
[0040]
于实际应用中,用户针对拍摄的图片需要将指定物品进行模糊渲染,在用户进行屏幕操作的过程中,产生背景模糊标志。需要说明的是,本发明所述的基于高斯模糊的渲染方法可以是对图片、视频或其他需要渲染的图文、影像数据进行渲染。
[0041]
进一步地,可以根据用户的渲染需求确定模糊半径。具体地,将该图片通过软件打开后,可以在菜单栏中选择“滤镜-模糊-高斯模糊”,用户可以在弹出的对话框中手动输入模糊半径的数值或者通过移动对话框中的滑块实时预览图片的模糊效果。由此,获取模糊半径的指令信息。
[0042]
请参阅图2,显示为本发明的基于高斯模糊的渲染方法于一实施例中的背景模糊标志生成流程图。如图2所示,s11包括以下步骤:
[0043]
s111,提供一高斯接口。
[0044]
请参阅图3,显示为本发明的基于高斯模糊的渲染方法于一实施例中的安卓渲染机制原理图。如图3所示,执行所述基于高斯模糊的渲染方法的电子设备安装有安卓系统,安卓系统包括应用程序侧(即app侧)、安卓架构侧(即framework侧)和安卓系统服务侧(即surfaceflinger侧)。在app(application的缩写,应用程序)侧调用wms(window manager service,安卓窗口管理系统)提供的高斯接口。
[0045]
s112,于所述高斯接口内获取用户操作时产生的窗口属性信息。
[0046]
如图3所示,增加window flag,即进行窗口属性新增,将产生的背景模糊标志放于flag_blur_behind中,同时add window与surfaceflinger进行交互,add window传入window attr。其中,该窗口为高斯模糊的窗体。
[0047]
s113,于所述窗口属性信息中检测所述背景模糊标志。
[0048]
具体地,于一实施例中,若flag_blur_behind中的值为1,判定存在背景模糊标志;若flag_blur_behind中的值为0,判定不存在背景模糊标志。
[0049]
于另一实施例中,flag_blur_behind表示背景模糊标志,当程序检测到flag_blur_behind时,则表示产生了背景模糊标志。
[0050]
于一实施例中,在s11之后,在s12之前,所述基于高斯模糊的渲染方法还包括以下步骤:关闭硬件加速,以提供高斯模糊快速渲染的环境。
[0051]
结合图3可知,高斯接口的提供、窗口属性新增及关闭硬件加速在安卓app侧进行,以完成背景模糊标志生成之前的准备工作。
[0052]
s12,根据所述背景模糊标志创建表面模糊层,并分配渲染纹理。
[0053]
请参阅图4,显示为本发明的基于高斯模糊的渲染方法于一实施例中的模糊渲染流程图。如图4所示,s12包括以下步骤:
[0054]
s121,于安卓架构侧对所述背景模糊标志进行处理,并利用所述背景模糊标志通知安卓系统服务侧创建所述表面模糊层。
[0055]
如图3所示,安卓架构侧framework侧,即图3中的wms,对背景模糊标志flag_blur_behind进行处理,根据flag_blur_behind通知安卓系统服务侧即surfaceflinger侧创建表面模糊层blurlayer。
[0056]
s122,响应于所述安卓系统服务侧接收到所述背景模糊标志,于所述安卓系统服务侧调用安卓层绘制接口创建所述表面模糊层。
[0057]
如图3所示,surfaceflinger侧接收到wms侧的通知后,调用安卓层绘制接口blur layer ondraw()进行表面模糊层blur surface的创建。
[0058]
其中,surfaceflinger是安卓的一个系统服务,每个应用程序可能对应着一个或者多个图形界面,将每个界面称为一个surface,surfaceflinger用于计算surface的区域大小。
[0059]
s123,创建所述表面模糊层之后,分配所述渲染纹理。
[0060]
如图3所示,surfaceflinger侧创建的表面模糊层layer收到背景模糊标记后,分配一个texture。背景模糊的层后面的内容用opengl es实现高斯模糊。具体地,相当于先创建一个表面模糊区域,将表面模糊区域与需要背景模糊的层(即表面模糊层)进行合成,并在合成时分配一个渲染纹理,以通过opengl es绘制表面模糊层后面的内容,实现高斯模糊。
[0061]
于另一实施例中,s12步骤中创建所述表面模糊层和分配所述渲染纹理的步骤可以同步执行。即响应于所述安卓系统服务侧接收到所述背景模糊标志,于所述安卓系统服务侧调用安卓层绘制接口创建所述表面模糊层,并分配所述渲染纹理。
[0062]
s13,于所述渲染纹理中绘制所述表面模糊层对应的模糊内容,以完成所述模糊内容的构建。
[0063]
请参阅图5,显示为本发明的基于高斯模糊的渲染方法于一实施例中的模糊内容
构建流程图。如图5所示,s13包括以下步骤:
[0064]
s131,检测垂直同步信号。
[0065]
具体地,在安卓的一个vsync信号同步过程就可以实现该窗体的模糊效果。
[0066]
其中,垂直同步信号vsync用于使显卡的运算frame rate和显示器刷新率refresh rate一致,以输出稳定的画面质量。vsync告知gpu(graphic processing unit,图形处理单元)在载入新帧之前,要等待屏幕绘制完成前一帧。
[0067]
frame rate是指gpu一秒绘制操作的帧数,单位是30fps。refresh rate是指屏幕一秒内刷新屏幕的次数,由硬件决定,例如60hz。
[0068]
s132,当所述垂直同步信号到达时,通过安卓表面合成方法将所述表面模糊层对应的模糊内容绘制于所述渲染纹理中。
[0069]
如图3所示,在surfaceflinger利用docomposesurfaces进行层的合成时,将背景模糊的层后面的内容用opengl es以模糊的方式绘制到之前分配的渲染纹理texture中,由此构建好模糊内容。
[0070]
s14,通过调用图形绘制接口绘制所构建的模糊内容和所述表面模糊层,以实现渲染。
[0071]
如图3所示,跳过hwc的数据合成,直接利用图形绘制接口opengl es进行数据合成。合成的内容包括具有模糊内容的渲染纹理texture以及同一层中其他绘制内容。具体地,利用通用的opengl es库进行gpu(graphic processing unit,图形处理单元)渲染。opengl es通过gpu进行数据合成,hwc通过cpu进行数据合成,gpu和cpu都是通过vsync(垂直同步信号)协同处理的,本发明中高斯模糊是通过opengl es来处理的。
[0072]
其中,opengl(open graphics library,开放式图形库)是个定义了跨编程语言、跨平台的编程接口的规格,它用于二维或三维图像。opengl为专业的图形程序接口,是一个功能强大,调用方便的底层图形库。opengl es是从opengl裁剪定制而来的,是opengl三维图形api(application programming interface,应用程序编程接口)的子集,针对手机、pda(personal digital assistant,个人数字助理)和游戏主机等嵌入式设备而设计。
[0073]
具体地,用户界面对象通过cpu(central processing unit,中央处理器)处理为多维图形以及纹理,然后通过opengl es接口调用gpu(graphic processing unit,图形处理单元),由gpu(graphic processing unit,图形处理单元)对图形进行光栅化,最后通过硬件时钟的垂直同步信号进行绘制,即快速渲染,进而投射到屏幕上进行高斯模糊显示。
[0074]
进一步地,安卓系统假设每隔16ms发出vsync信号(1000ms/60=16.66ms),触发对用户界面进行渲染,如果每次渲染都成功,这样能够达到流畅的渲染画面所需要的60fps,为了能够实现60fps,因此计算渲染的大多数操作都必须在16ms内完成。
[0075]
请参阅图6,显示为本发明的基于高斯模糊的渲染方法于一实施例中的绘制流程图。如图6所示,s14包括以下步骤:
[0076]
s141,调用所述图形绘制接口绘制所述渲染纹理;其中,所述渲染纹理中包含所构建的模糊内容。具体地,所述图形绘制接口为opengl es。
[0077]
s142,在所述渲染纹理绘制完成后,调用所述图形绘制接口绘制所述表面模糊层。
[0078]
于一实施例中,于安卓系统服务侧,根据z轴序绘制所构建的模糊内容和所述表面模糊层,以实现渲染;所述z轴序(z-order)用于表示不同层级在绘制时的上下叠加关系。
[0079]
具体地,在屏幕平面的垂直方向设一z轴,所有的surface根据在z轴上的坐标来确定前后,由此可以描述各个surface之间的上下覆盖关系。
[0080]
于一实施例中,在opengl es中进行渲染纹理绘制及表面模糊层绘制,以实现数据合成,并在数据合成完毕之后通知app(application的缩写,应用程序)一侧。
[0081]
本发明所述的基于高斯模糊的渲染方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
[0082]
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述基于高斯模糊的渲染方法。
[0083]
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的计算机可读存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的计算机存储介质。
[0084]
请参阅图7,显示为本发明的电子设备于一实施例中的结构连接示意图。
[0085]
如图7所示,本实施例提供一种电子设备7,具体包括:处理器71及存储器72;所述存储器72用于存储计算机程序,所述处理器71用于执行所述存储器72存储的计算机程序,以使所述电子设备7执行所述基于高斯模糊的渲染方法的各个步骤。
[0086]
上述的处理器71可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(alication specific integrated circuit,简称asic)、现场可编程门阵列(field programmable gatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0087]
上述的存储器72可能包含随机存取存储器(random access memory,简称ram),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
[0088]
于实际应用中,所述电子设备可以是包括存储器、存储控制器、一个或多个处理单元(cpu)、外设接口、rf电路、音频电路、扬声器、麦克风、输入/输出(i/o)子系统、显示屏、其他输出或控制设备,以及外部端口等组件的可以安装安卓系统的任何计算机。所述计算机包括但不限于如平板电脑、智能手机、智能电视、个人数字助理(personal digital assistant,简称pda)等个人电脑,所述电子设备还可以是车机端或是智能眼镜、智能手表或其他可穿戴设备,本实施例不作限定。
[0089]
综上所述,本发明所述基于高斯模糊的渲染方法、存储介质及电子设备可以根据用户需求实时地对任意层级的图片进行渲染。可以在任何界面实现高斯模糊效果,并且根据用户需求定制高斯模糊效果。通过参与安卓底层渲染机制实现快速渲染模糊,在底层一个垂直同步信号内实现模糊效果,实时流畅。在安卓系统服务层级进行opengl es的渲染处理,根据不同层级之间的z轴序进行表面模糊,以实现有序渲染。给上层应用程序提供稳定的平台支持,应用程序只需要调用相应的接口就可实现渲染模糊。与现有的高斯模糊只是渲染单一的位图相比,本发明可以渲染任意层级的图片。可以满足用户的需求,进行实时渲染,还可以指定相应的层级进行渲染,复用性强。本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0090]
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献