开机动画的处理方法、装置、车辆、设备和存储介质与流程

文档序号:29035472发布日期:2022-02-25 18:21阅读:185来源:国知局
开机动画的处理方法、装置、车辆、设备和存储介质与流程

1.本发明涉及动画处理技术领域,特别涉及一种开机动画的处理方法、处理装置、车辆、电子设备和计算机可读存储介质。


背景技术:

2.目前,在数字仪表、车机或者手机上都会有开机动画,一般开机动画的做法是,播放视频,或者播放图片序列帧。播放视频或者播放图片,都有一个步骤:加载图片或者视频这样的大块数据,到内存中,然后将内存中视频或者图片的数据传输到显存,然后再渲染到屏幕。然而在开机启动时间段内,cpu以及磁盘i/o都非常吃紧,使得播图片,播视频的方式会导致系统启动变慢,开机时间相对地变长,影响用户体验。


技术实现要素:

3.本发明提供一种开机动画的处理方法、处理装置、车辆、电子设备和计算机可读存储介质,旨在缩短开机时间,提升用户体验。
4.本发明实施方式的开机动画的处理方法,所述开机动画的处理方法包括:
5.在获取到开机指令时,第一处理器输出动画进程的持续时间和屏幕的尺寸至第二处理器;
6.所述第二处理器利用片段着色器,根据开机动画、所述动画进程的持续时间和所述屏幕的尺寸生成所述开机动画的每帧数据;
7.输出所述开机动画的每帧数据至所述屏幕。
8.上述开机动画的处理方法,在开机时,无需要加载图片或者视频等大块数据,开机动画的每帧数据由第二处理器利用片段着色器生成,充分利用第二处理器的计算能力,进而缩短开机时间。
9.在某些实施方式中,所述第一处理器包括中央处理器,所述第二处理器包括图形处理器。
10.在某些实施方式中,第一处理器输出动画进程的持续时间和屏幕的尺寸至第二处理器,包括:
11.获取所述屏幕的尺寸;
12.初始化运行环境;
13.加载、编译和链接着色器脚本;
14.启动定时器;
15.传送所述动画进程的持续时间和所述屏幕的尺寸至所述第二处理器。
16.在某些实施方式中,初始化运行环境,包括:
17.初始化开放图形库环境,所述开放图形库环境包括上下文和本地显示窗口。
18.在某些实施方式中,所述第二处理器利用片段着色器,根据开机动画、所述动画进程的持续时间和所述屏幕的尺寸生成所述开机动画的每帧数据,包括:
19.归一化当前处理的屏幕的像素点的坐标;
20.获取所述屏幕的像素点与参考点的相对位置;
21.根据所述开机动画和所述相对位置,生成所述屏幕的像素点随时间变化的着色数据;
22.根据所述屏幕的像素点随时间变化的着色数据生成所述开机动画的每帧数据。
23.在某些实施方式中,所述参考点为所述屏幕的中心像素点。
24.在某些实施方式中,所述相对位置包括所述屏幕的像素点与所述参考点之间的距离。
25.根据本发明实施方式的开机动画的处理装置,包括:
26.第一处理器,在获取到开机指令时,用于输出动画进程的持续时间和屏幕的尺寸至第二处理器;和
27.所述第二处理器,用于利用片段着色器,根据开机动画、所述动画进程的持续时间和所述屏幕的尺寸生成所述开机动画的每帧数据,及输出所述开机动画的每帧数据至所述屏幕。
28.根据本发明实施方式的车辆,包括前述任一项的开机动画的处理装置。
29.根据本发明实施方式的电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现任一项前述的开机动画的处理方法。
30.根据本发明实施方式的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一项前述的开机动画的处理方法。
31.本发明实施方式的开机动画的处理方法、处理装置、车辆、电子设备和计算机可读存储介质中,开机动画的每帧数据由第二处理器利用片段着色器生成,充分利用第二处理器的计算能力,不需要加载图片,或者视频等大块数据,不占用磁盘i/o,从而缩短开机时间。
32.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
33.本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
34.图1-3是本发明实施方式的开机动画的处理方法的流程示意图;
35.图4是本发明实施方式的开机动画的处理装置的示意图;
36.图5是本发明实施方式的电子设备的示意图;
37.图6是本发明实施方式的车辆的示意图。
具体实施方式
38.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
39.下面参考附图描述本发明实施例的一种开机动画的处理方法、处理装置10、车辆200、电子设备100和计算机可读存储介质。
40.图1为本发明实施例提供的开机动画的处理方法流程示意图。
41.本发明实施例以该开机动画的处理方法被配置于开机动画的处理装置10中来举例说明,该用于开机动画的处理装置10可以应用于任一电子设备100中,以使该电子设备100可以执行开机动画的处理方法。
42.其中,电子设备100可以为个人电脑(personal computer,简称pc)、云端设备、移动设备等,移动设备例如可以为手机、平板电脑、个人数字助理、穿戴式设备、车载设备等具有各种操作系统的硬件设备。
43.请参阅图1,本发明实施方式的开机动画处理方法,包括:
44.步骤s12:在获取到开机指令时,第一处理器12输出动画进程的持续时间和屏幕的尺寸至第二处理器14;
45.步骤s14:所述第二处理器14利用片段着色器,根据开机动画、所述动画进程的持续时间和所述屏幕的尺寸生成所述开机动画的每帧数据;
46.步骤s16:输出所述开机动画的每帧数据至所述屏幕。
47.本发明实施方式的开机动画处理方法,在开机时,无需要加载图片或者视频等大块数据,开机动画的每帧数据由第二处理器14利用片段着色器生成,充分利用第二处理器14的计算能力,进而缩短开机时间。
48.在相关技术中,智能系统开机时,cpu(中央处理器)基本处于满荷状态,占用率一般在90%以上,这时,加载大量图片和视频势必会拖慢开机时间。本发明的技术方案是一种基于fragment shader(片段着色器)的动画方案。本发明的技术方案在cpu端输出animation进程运行的持续时间u_time,和屏幕的长宽h,w(以像素为单位),到gpu的fragment shader。而在gpu中运行的fragment shader通过u_time,h,w和造型函数,插值函数等数学函数给屏幕上每个像素点赋予颜色值。从而在gpu内用数学函数画出每一帧动画。整个过程中fragment shader就好比一支彩色笔,在一个长为h,宽为w的纸(屏幕)上为每个点都涂上颜色。这样就画出了一幅画。然后通过sin或者cos等数学函数结合u_time就可以让这幅画,随着时间动起来。
49.本发明实施方式的开机动画处理方法,能够充分利用第二处理器14的计算能力,在屏幕的每个像素点上随时间变化赋予不同的颜色值,从而形成完整的开机动画,第一处理器12不必加载大量图片或者视频,大量节省内存,利于缩短开机时间。
50.具体地,在步骤s12中,在某些实施方式中,屏幕的尺寸包括屏幕的长度h,宽度w,其中,屏幕的长度h和宽度w以像素为单位。第一处理器12可以理解为中央处理器cpu。
51.在步骤s14中,在某些实施方式中,第二处理器14可以理解为显示处理器epu。其中,第二处理器14调用片段着色器程序,根据第一处理器12输出的开机动画持续时间和屏幕的长度h,宽度w信息,运用着片段色器内部算法生成所述开机动画的每帧数据。
52.在步骤s16中,输出开机动画的每帧数据至屏幕,也即是说,跟随动画进程的时间,对应屏幕上的每一个像素点进行着色。
53.请参阅图2,在某些实施方式中,步骤s14包括:
54.步骤s142:获取所述屏幕的尺寸。
55.步骤s144:初始化运行环境;
56.步骤s146:加载、编译和链接着色器脚本;
57.步骤s148:启动定时器;
58.步骤s149:传送动画进程的持续时间和屏幕的尺寸至第二处理器14。
59.如此,实现传递动画进程运行持续的时间u_time,屏幕高h,屏幕宽w给运行在gpu的shader程序。
60.具体地,在步骤s144可以包括:
61.初始化开放图形库环境opengl,开放图形库环境包括上下文egl context和本地显示窗口。以转换图形调用功能到底层图形硬件(gpu),由gpu执行图形命令,用来实现复杂的图形操作和运算,从而能够高性能、高帧率利用gpu提供的2d和3d绘制能力。
62.在步骤s148中,cpu启动定时器,以实现精准计量时间并传递动画进程时间。
63.在步骤s149中,第二处理器14所接受到的信息可以包括屏幕h,w的二维向量u_resolution、当前运行的时间浮点数u_time和当前处理的点的坐标二维向量gl_fragcoord。
64.请参阅图3,在某些实施方式中,步骤s16包括:
65.步骤s162:归一化当前处理的屏幕的像素点的坐标;
66.步骤s164:获取屏幕的像素点与参考点的相对位置;
67.步骤s166:根据开机动画和相对位置,生成屏幕的像素点随时间变化的着色数据;
68.步骤s168:根据屏幕的像素点随时间变化的着色数据生成开机动画的每帧数据。
69.其中,在步骤s164中,参考点可以为屏幕的中心像素点,例如,整个显示屏幕为方形,且其横向包含100个像素点,纵向包含100个像素点,如此,整个显示屏幕的像素点为10000,其屏幕中心的像素点坐标可以定义为(50,50)。当然,本发明并不限制屏幕中心为参考点。
70.在步骤s166中,着色点和参考点的相对位置可以包括屏幕需要着色的像素点与参考点之间的距离,该距离可以是实际间隔的像素点数。
71.以开机动画为画圆形图案为例,图片着色器ragment shader的具体的算法步骤可以是:
72.步骤s161:归一化当前处理的屏幕的点的坐标:
73.st=gl_fragcoord/u_resolution
74.步骤s163:画一个圆形,用数学的表达可以这样描述:
75.到某个点(例如中心点:(0.5,0.5))的距离等于d,这样d=distance(st,vec2(0.5,0.5))
76.步骤s165:给屏幕每个点赋予颜色:
77.如果距离d大于某个值(r=0.3),输出颜色color=黑色,否则输出颜色color=黄色。
78.于是可以得到一个背景色为黑色的黄色圆形图像。
79.步骤s167:让图像随着时间动起来,可以利用sin函数和u_time变量,例如,让黄色圆形变大变小,可以让r乘以一个sin(u_time)。这样黄色圆形的半径r就随着时间在0到1之间变化。
80.请参阅图3,根据本发明实施方式的开机动画处理装置10,包括屏幕、第一处理器12和第二处理器14,第一处理器12在获取到开机指令时,用于输出动画进程的持续时间和屏幕的尺寸至第二处理器14;第二处理器14用于利用片段着色器,根据开机动画、动画进程的持续时间和屏幕的尺寸生成开机动画的每帧数据,及输出开机动画的每帧数据至屏幕。其中的第一处理器12可以是中央处理器,第二处理器14为显示处理器。
81.本发明实施方式的开机动画处理装置10,开机动画的每帧数据由第二处理器14利用片段着色器生成,充分利用第二处理器14的计算能力,不需要加载图片,或者视频等大块数据,不占用磁盘i/o,从而缩短开机时间。
82.请参阅图6,本发明实施方式的车辆200包括上述实施方式的开机动画处理装置10,该车辆200显示屏幕开机时间短,开机时无需加载图片,或者视频等大块数据,能够充分利用第二处理器14的计算能力,而不占用第一处理器12的内存或者磁盘i/o。
83.请参阅图4,根据本发明实施方式的电子设备100,包括存储器101、处理器102及存储在存储器101上并可在处理器102上运行的计算机程序,处理器102执行程序时,实现任一项前述的开机动画的处理方法。其中,处理器102包括第一处理器12和第二处理器14,第一处理器12可以是中央处理器cpu,第二处理器14可以是显示处理器epu。
84.例如实现:步骤s12:在获取到开机指令时,第一处理器12输出动画进程的持续时间和屏幕的尺寸至第二处理器14;步骤s14:所述第二处理器14利用片段着色器,根据开机动画、所述动画进程的持续时间和所述屏幕的尺寸生成所述开机动画的每帧数据;步骤s16:输出所述开机动画的每帧数据至所述屏幕。
85.又如,实现:步骤s12:在获取到开机指令时,第一处理器12输出动画进程的持续时间和屏幕的尺寸至第二处理器14;步骤s142:获取所述屏幕的尺寸。步骤s144:初始化运行环境;步骤s146:加载、编译和链接着色器脚本;步骤s148:启动定时器;步骤s149:传送动画进程的持续时间和屏幕的尺寸至第二处理器14。步骤s162:归一化当前处理的屏幕的像素点的坐标;步骤s164:获取屏幕的像素点与参考点的相对位置;步骤s166:根据开机动画和相对位置,生成屏幕的像素点随时间变化的着色数据;步骤s168:根据屏幕的像素点随时间变化的着色数据生成开机动画的每帧数据。
86.再如,实现,步骤s12:在获取到开机指令时,第一处理器12输出动画进程的持续时间和屏幕的尺寸至第二处理器14;步骤s142:获取所述屏幕的尺寸。步骤s144:初始化运行环境;步骤s146:加载、编译和链接着色器脚本;步骤s148:启动定时器;步骤s149:传送动画进程的持续时间和屏幕的尺寸至第二处理器14。步骤s161:归一化当前处理的屏幕的点的坐标:st=gl_fragcoord/u_resolution步骤s163:画一个圆形,用数学的表达可以这样描述:到某个点(例如中心点:(0.5,0.5))的距离等于d,这样d=distance(st,vec2(0.5,0.5))。步骤s165:给屏幕每个点赋予颜色:如果距离d大于某个值(r=0.3),输出颜色color=黑色,否则输出颜色color=黄色。于是可以得到一个背景色为黑色的黄色圆形图像。步骤s167:让图像随着时间动起来,可以利用sin函数和u_time变量,例如,让黄色圆形变大变小,可以让r乘以一个sin(u_time)。这样黄色圆形的半径r就随着时间在0到1之间变化。
87.请参阅图5,本发明实施方式的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一项开机动画的处理方法。该计算机可读存储介质即为上文中的存储器101。
88.例如,程序被执行时,实现以下方法和步骤:步骤s12:在获取到开机指令时,第一处理器12输出动画进程的持续时间和屏幕的尺寸至第二处理器14;步骤s142:获取所述屏幕的尺寸。步骤s144:初始化运行环境;步骤s146:加载、编译和链接着色器脚本;步骤s148:启动定时器;步骤s149:传送动画进程的持续时间和屏幕的尺寸至第二处理器14。步骤s162:归一化当前处理的屏幕的像素点的坐标;步骤s164:获取屏幕的像素点与参考点的相对位置;步骤s166:根据开机动画和相对位置,生成屏幕的像素点随时间变化的着色数据;步骤s168:根据屏幕的像素点随时间变化的着色数据生成开机动画的每帧数据。计算机可读存储介质可设置在开机动画处理装置10,也可设置在车辆终端或电子设备100中,可以理解,在本发明中,计算机程序包括计算机程序代码。计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。存储器101可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
89.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
90.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
91.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
92.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1