基于操作系统的显示方法、显示系统与流程

文档序号:30224459发布日期:2022-06-01 00:08阅读:94来源:国知局
基于操作系统的显示方法、显示系统与流程

1.本发明涉及系统架构领域,特别是涉及一种操作系统的显示方法、显示系统。


背景技术:

2.随着电子设备在人类日常生活中的广泛应用,电子设备的显示越来越重要,在很多场景下对于显示都出现了很高的需求,例如快速显示、多层同时显示、多屏显示等。
3.当前解决方案中,要么注重快速显示,但功能简陋,无法实现多样的显示需求;要么显示多样化,但会牺牲大量启动时间,无法实现快速显示。


技术实现要素:

4.本技术提供一种基于操作系统的显示方法、显示系统以解决现有技术中显示功能不足的问题。
5.为解决上述技术问题,本技术提出一种基于操作系统的显示方法,操作系统包括应用程序层、硬件抽象层和硬件驱动层,硬件抽象层配置有快速显示管理模块和合成显示模块,显示方法包括:应用程序层的应用程序发送数据显示指令和显示数据给硬件抽象层的快速显示管理模块,快速显示管理模块用于为多种应用程序提供接口;快速显示管理模块响应数据显示指令将数据显示指令和显示数据发送至硬件抽象层的合成显示模块;合成显示模块响应数据显示指令调用硬件驱动层的驱动硬件进行硬件显示。
6.为解决上述技术问题,本技术提出一种显示系统,包括应用程序层;硬件抽象层,硬件抽象层配置有快速显示管理模块和合成显示模块;快速显示管理模块用于为多种需要快速显示的应用程序提供接口;硬件驱动层;其中,应用程序层的应用程序发送数据显示指令和显示数据给快速显示管理模块;快速显示管理模块用于响应数据显示指令将数据显示指令和显示数据发送至合成显示模块;合成显示模块用于响应数据显示指令调用硬件驱动层的驱动硬件进行硬件显示。
7.本技术操作系统包括应用程序层、硬件抽象层和硬件驱动层,本技术中在硬件抽象层配置了快速显示管理模块和合成显示模块,快速显示管理模块能够为多种应用程序提供接口;应用程序层的应用程序发出显示指令和显示数据直接给到快速显示管理模块,由快速显示管理模块转发给合成显示模块,合成显示模块再调用硬件驱动层进行显示。本技术中,专门设置快速显示接口,使得应用程序层能够直接与较低层的硬件抽象层进行数据传输,可提高显示速度;并且所设置的快速显示接口可为多种应用程序提供接口,因而可实现多种显示。
附图说明
8.图1是本技术基于操作系统的显示方法第一实施例的流程示意图;
9.图2是本技术显示系统的架构图;
10.图3是图1所示显示方法第一实施例的具体流程示意图;
11.图4是本技术基于操作系统的显示方法第二实施例的流程示意图;
12.图5是图2所示显示系统中合成显示模块的架构图;
13.图6是本技术电子设备一实施例的结构示意图;
14.图7是本技术计算机存储介质一实施例的结构示意图。
具体实施方式
15.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释本技术,而非对本技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术相关的部分而非全部结构。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
16.本技术用于实现操作系统中的显示,操作系统架构包括由上到下的应用程序层(app)、应用框架层(framework)、硬件抽象层(hal)和硬件驱动层(device driver),操作系统实现显示的过程主要在于系统架构中各个层之间进行数据和指令的传输过程。对于操作系统的各个层来说,底层偏向硬件,启动速度更快,高层偏向软件,功能更加多样化。
17.基于此操作系统,本技术实现显示的方法,请参阅图1,图1是本技术基于操作系统的显示方法第一实施例的流程示意图。对于实现该显示方法的操作系统,即为本技术中所提出的显示系统。本实施例显示系统中,在硬件抽象层(hal)配置有快速显示管理模块(fast display service)和合成显示模块(composer)。
18.合成显示模块(composer)提供对外接口,但其主要服务于应用框架层(framework),对于应用程序来说,调用起来非常复杂,因此本实施例中设计快速显示管理模块(fast display service),其作为对外接口模块,用于对多个应用程序提供接口,应用程序可直接与快速显示管理模块(fast display service)交互,即越过应用框架层(framework),提高了数据传输速度,继而提高显示效率。
19.本实施例显示方法具体包括以下步骤。
20.s11:应用程序层的应用程序发送数据显示指令和显示数据给硬件抽象层的快速显示管理模块。
21.本实施例应用程序为需要显示的程序,可应用于各种需要显示的场景。以智能驾驶的应用为例,应用程序可以是智能驾驶应用程序,倒车影像程序、疲劳驾驶预警系统(dms)、全景式监控影像系统(avm)等。
22.实现显示的过程包括控制流程和数据流程,分别涉及数据显示指令和显示数据的流转。在本步骤中,应用程序将数据显示指令发送至快速显示管理模块(fast display service),即调用快速显示管理模块(fast display service),使其开始执行显示功能。应用程序还将显示数据传送至快速显示管理模块(fast display service)。
23.本步骤中,数据显示指令和显示数据的发送可以是有先后顺序的,可以在不同的进程中实现。
24.s12:快速显示管理模块响应数据显示指令,将数据显示指令和显示数据发送至硬件抽象层的合成显示模块。
25.快速显示管理模块(fast display service)响应数据显示指令,即被调用开始执
行显示功能后,则将数据显示指令再发送给合成显示模块(composer),即调用合成显示模块(composer),将显示任务下发给合成显示模块(composer)。
26.并且由快速显示管理模块(fast display service)将显示数据发送给合成显示模块(composer)。
27.s13:合成显示模块响应数据显示指令,调用硬件驱动层的驱动硬件进行硬件显示。
28.合成显示模块(composer)可以直接调用硬件驱动层(device driver)中的驱动硬件,以将显示数据进行硬件显示。具体可调用处理器实现显示,处理器例如为dpu、gpu等。
29.本实施例通过在硬件抽象层(hal)配置有快速显示管理模块(fast display service),为多种应用程序提供接口,使得显示数据能够快速的传输至合成显示模块(composer),以实现显示。本实施例提高了显示速度。
30.本实施例快速显示管理模块(fast display service)具体包括对外接口(hidl interface)和实现模块(hidl implementation),实现模块(hidl implementation)包括display surface子模块、bufferqueue子模块和hwchal子模块。本实施例操作系统的具体架构请参阅图2,图2是本技术显示系统的架构图。
31.其中,对外接口(hidl interface)封装了多个对外接口,供多个应用程序调用,用于创建快速显示buffer,传递显示数据和设置显示参数。
32.实现模块(hidl implementation)则用于接收应用程序传递的显示数据和显示参数,并调用合成显示模块(composer)实现显示。
33.display surface子模块用于使应用程序获取到空的显示buffer,接收应用程序传递过来的显示buffer;用于接收和处理应用程序设置或获取显示参数;还用于针对应用程序的show和hide做对应处理。
34.bufferqueue子模块用于负责显示buffer的分配和管理。其中,graphicbuffer通过动态加载vendor的gralloc模块,实现显示buffer的分配和释放。由于应用程序和合成显示模块(composer)在不同的进程使用显示buffer,为了减小显示buffer中数据拷贝,且提高数据传输效率,bufferqueue子模块使用slot索引来绑定不同显示buffer,在不同进程间只传输slot索引,而无需传递buffer本身。
35.hwchal子模块则是用于实现将前端数据统一处理后,调用后端合成显示模块(composer)的标准hidl接口,将显示数据传递给合成显示模块(composer)处理。
36.基于此,可知上述显示方法实施例的具体过程可参阅图3,图3是图1所示显示方法第一实施例的具体流程示意图,具体如下。
37.s21:应用程序发送数据显示指令给快速显示管理模块。
38.应用程序首先发送数据显示指令给快速显示管理模块(fast display service)。若有多个应用程序需要显示,则相应的发送多个数据显示指令。
39.s22:快速显示管理模块响应数据显示指令创建显示buffer。
40.快速显示管理模块(fast display service)中的对外接口(hidl interface)创建显示buffer。对应于多个数据显示指令,可创建多个显示buffer。为了提高数据传输效率,对于显示buffer建立索引目录,例如可以是slot目录,在后续的显示buffer数据传输中,只需要传索引目录即可。
41.s23:应用程序获取显示buffer,并将显示数据填充于显示buffer,以将填充显示数据的显示buffer发送至快速显示管理模块。
42.如前所述,应用程序将显示数据填充到显示buffer后,可将索引目录传送至快速显示管理模块(fast display service),以使得快速显示管理模块(fast display service)能够获取填充了显示数据的显示buffer。
43.s24:快速显示管理模块将数据显示指令和显示数据发送至合成显示模块。
44.同样,快速显示管理模块(fast display service)可直接将数据显示指令和显示数据发送至合成显示模块(composer),也将索引目录发送至合成显示模块(composer),使其获取到显示数据。
45.s25:合成显示模块响应数据显示指令,调用硬件驱动层的驱动硬件进行硬件显示。
46.本实施例还给出了快速显示管理模块(fast display service)的一个架构实施例,以及基于该架构的具体的控制流程和数据流转过程。快速显示管理模块(fast display service)应用于具体的数据内容的显示,例如视频流的显示。
47.本技术还可进一步的实现应用程序的ui效果和数据的集成显示,在ui界面可以实现切换视图、配置显示角度等操作,提高显示效果。具体请参阅图4,图4是本技术基于操作系统的显示方法第二实施例的流程示意图。
48.本实施例操作系统的应用框架层(framework)配置有surfaceflinger模块,该模块用于ui的送显。本实施例显示方法用于实现ui数据的送显以及以上所述第一实施例中显示数据的送显,具体包括以下步骤。
49.s31:应用程序发送数据显示指令和显示数据给快速显示管理模块,应用程序发送ui显示指令和ui数据给surfaceflinger模块。
50.本步骤中应用程序不仅具有如视频数据的显示需求还有ui数据显示需求,对于显示数据,如第一实施例中,通过调用快速显示管理模块(fast display service)来实现显示;对于ui数据,通过调用surfaceflinger模块来实现显示。显示数据和ui数据也分别传送到这两个模块中。
51.s32:快速显示管理模块将数据显示指令和显示数据发送至硬件抽象层的合成显示模块。
52.本步骤与第一实施例中的相关步骤类似,具体不再赘述。
53.s33:surfaceflinger模块将ui显示指令和ui数据发送给合成显示模块。
54.surfaceflinger模块调用合成显示模块(composer)以进行ui数据的显示。其中,由于合成显示模块(composer)需要将显示数据和ui数据进行合成,因而在surfaceflinger模块向合成显示模块(composer)传输数据时,需要在ui数据增加应用程序标识,可以是与应用程序约定的标识,也可以是应用程序本身的标识。以便于合成显示模块(composer)识别,从而在显示数据上更好的叠加ui数据。
55.s34:合成显示模块将显示数据和ui数据合成后调用驱动硬件进行硬件显示。
56.由于本实施例可实现多个应用程序的显示,因而为了准确的合成,合成显示模块(composer)将具有相同应用程序标识的显示数据和ui数据进行合成。
57.合成显示模块(composer)需要分别接收两个通道传送的数据,因而本实施例中对
合成显示模块(composer)的架构进行了优化。具体请参阅图5,图5是图2所示显示系统中合成显示模块的架构图。
58.合成显示模块(composer)具体包括composerclient子模块和hwcomposer子模块。
59.composerclient子模块用于创建client,且在创建新的client时,不需要destroy前一个client,允许创建多个client。
60.hwcomposer子模块在返回callback给client时,也不是仅仅返回给surfaceflinger模块,本实施例中单独分发callback给每个client,使得每个client都能收到对应的回调。
61.hwcomposer子模块包括各个厂商vendor根据硬件实力实现的hwcomposer库,其可以处理来自surfaceflinger模块和快速显示管理模块(fast display service)的两个client显示需求。其实现了在surfaceflinger模块启动前和启动后,对快速显示管理模块(fast display service)的显示进行处理,且在接收到两个client送过来的显示需求后,根据硬件能力合理分配资源,进行合成和送显。
62.在本步骤s34的显示过程中,composerclient子模块分别创建了两个client,两个client分别对应快速显示管理模块(fast display service)和surfaceflinger模块,两个client分别将显示数据和ui数据发送至hwcomposer子模块。
63.hwcomposer子模块则分别返回callback至两个client,并对显示数据和ui数据进行合成,并调用所述驱动硬件进行显示。
64.本实施例中,在硬件抽象层(hal)增加了快速显示管理模块(fast display service),其提供了简单易用的对外接口。应用程序层(app)只需要与该快速显示管理模块(fast display service)通信即可。
65.并且,本技术中还对合成显示模块(composer)进行修改,使其能够支持多个client进行显示,快速显示管理模块(fast display service)和应用框架层(framework)的surfaceflinger模块作为两个client分别向合成显示模块(composer)传送显示数据和ui数据。由合成显示模块(composer)将显示数据和ui数据合成显示。
66.实现了显示数据的快速显示,以及与ui数据的无缝叠加,提高显示速度和多样化。
67.上述方法应用于电子设备中,其逻辑过程通过计算机程序来表示。对于计算机程序来说,以软件形式实现并作为独立的产品销售或使用时,可存储在一个电子设备可读取存储介质中。
68.因而,本技术还提供一种电子设备,具体请参阅图6,图6是本技术电子设备一实施例的结构示意图。本实施例电子设备200包括处理器21和存储器22。处理器21耦接存储器22,存储器22中存储有计算机程序,处理器21能够加载该计算机程序并执行,以实现上述显示方法。
69.本实施例电子设备基于操作系统,其可应用于智能驾驶。可以是车机,实现自动泊车、dms、avm等智能驾驶中的显示。
70.本发明还提供一种计算机存储介质,设备上存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。请参阅图7,图7是本发明计算机存储介质一实施例的结构示意图,计算机存储介质300中有程序数据能够被执行以实现上述实施例的方法,该计算机存储介质可以为如u盘、光盘、服务器等。
71.以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1