CN116248916A - 图像显示方法、装置、设备及存储介质 - Google Patents
图像显示方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116248916A CN116248916A CN202111484891.9A CN202111484891A CN116248916A CN 116248916 A CN116248916 A CN 116248916A CN 202111484891 A CN202111484891 A CN 202111484891A CN 116248916 A CN116248916 A CN 116248916A
- Authority
- CN
- China
- Prior art keywords
- image
- images
- client processes
- client
- kernel space
- 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
- 238000000034 method Methods 0.000 title claims abstract description 507
- 230000008569 process Effects 0.000 claims abstract description 433
- 238000007499 fusion processing Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
Images
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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请提供一种图像显示方法、装置、设备及存储介质,应用于嵌入式设备,嵌入式设备上运行有服务端进程和多个客户端进程。该图像显示方法包括:在多个客户端进程中分别生成对应的3D图像;将客户端进程与3D图像的对应关系存储至内核空间;在服务端进程中,基于内核空间中存储的对应关系,通过图像驱动接口获取多个客户端进程分别对应的3D图像并显示。本申请的方法,在嵌入式设备上实现了3D图像的多进程显示,满足用户对同时绘制并显示多个3D图像的需求。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种图像显示方法、装置、设备及存储介质。
背景技术
在嵌入式领域中,随着单系统多进程的显控性能的不断增强以及人们对图像审美的提高,人们对通过多进程显示3D图像的需求也越来越高。
目前,在嵌入式设备中,可通过多进程显示控制终端上的图像界面开发框架运行多个进程,实现图像的显示。然而,图像界面开发框架支持2D图像的多进程显示(即通过多个进程实现多个2D图像的显示)以及支持在服务端进程显示单个3D图像,而不支持3D图像的多进程显示,无法满足通过多进程显示3D图像的用户需求。
因此,在嵌入式设备中,如何实现3D图像的多进程显示是目前亟需解决的问题。
发明内容
本申请提供一种图像显示方法、装置、设备及存储介质,用以在嵌入式设备中,实现3D图像的多进程显示。
第一方面,本申请提供一种图像显示方法,应用于嵌入式设备,所述嵌入式设备上运行有服务端进程和多个客户端进程,所述图像显示方法包括:
在所述多个客户端进程中分别生成对应的3D图像;
将所述客户端进程与所述3D图像的对应关系存储至内核空间;
在所述服务端进程中,基于所述内核空间中存储的所述对应关系,通过图像驱动接口获取所述多个客户端进程分别对应的3D图像并显示。
在一种可能的实现方式中,所述在所述多个客户端进程中分别生成对应的3D图像,包括:
在所述多个客户端进程中,分别通过接口调用方式调用相应工具进行图像绘制,得到所述多个客户端进程分别对应的3D图像。
在一种可能的实现方式中,所述将所述客户端进程与所述3D图像的对应关系存储至内核空间,包括:
在所述多个客户端进程中,对所述3D图像进行存储,得到所述3D图像的图像资源,所述图像资源包括所述3D图像的存储地址;
将所述多个客户端进程的进程标识与所述3D图像的图像资源的对应关系,存储至所述内核空间。
在一种可能的实现方式中,所述将所述多个客户端进程的进程标识与所述3D图像的图像资源的对应关系,存储至所述内核空间,包括:
在所述多个客户端进程中,通过调用内核态驱动,将所述多个客户端进程的进程标识和所述3D图像的图像资源传递至所述内核空间;
在所述内核空间中,根据接收到的所述多个客户端进程的进程标识和所述3D图像的图像资源,构建所述多个客户端进程的进程标识与所述3D图像的图像资源的对应关系并存储。
在一种可能的实现方式中,所述在所述服务端进程中,基于所述内核空间中存储的所述对应关系,通过图像驱动接口获取所述多个客户端进程分别对应的3D图像并显示,包括:
在所述服务端进程中,通过所述图像驱动接口访问内核空间中存储的根据所述对应关系,确定所述多个客户端进程分别对应的3D图像;
在所述服务端进程中,对所述多个客户端进程分别对应的3D图像进行融合处理,得到包含多个3D图像的目标图像;
在所述服务端进程中,控制所述嵌入式设备的显示器显示所述目标图像。
在一种可能的实现方式中,所述对应关系为所述多个客户端进程的进程标识与所述3D图像的图像资源的对应关系,所述图像资源包括所述3D图像的存储地址;
所述在所述服务端进程中,通过所述图像驱动接口访问内核空间中存储的根据所述对应关系,确定所述多个客户端进程分别对应的3D图像,包括:
在所述服务端进程中,获取所述多个客户端进程的进程标识;
根据所述多个客户端进程的进程标识,通过所述图像驱动接口访问所述内核空间所存储的所述对应关系,确定所述多个客户端进程分别对应的3D图像的图像资源;
通过所述图像驱动接口根据所述多个客户端进程分别对应的3D图像的图像资源,得到所述多个客户端进程分别对应的3D图像。
在一种可能的实现方式中,所述对应关系为所述多个客户端进程的进程标识与所述3D图像的图像资源的对应关系,所述图像资源包括所述3D图像的图像信息的存储地址,所述3D图像的图像信息包括所述3D图像的图像尺寸和所述3D图像的显示位置;
所述在所述服务端进程中,对所述多个客户端进程分别对应的3D图像进行融合处理,得到包含所述3D图像的目标图像,包括:
在所述服务端进程中,根据所述3D图像的图像尺寸和所述3D图像的显示位置,对所述多个客户端进程分别对应的3D图像进行融合处理,得到所述目标图像。
在一种可能的实现方式中,所述在所述服务端进程中,获取所述多个客户端进程的进程标识,包括:
在所述多个客户端进程中,在生成对应的3D图像之后,通过套接字通信方式将所述客户端进程的进程标识传递至所述服务端进程。
第二方面,本申请提供一种图像显示装置,所述嵌入式设备上运行有服务端进程和多个客户端进程,所述图像显示装置包括:
生成模块,用于在所述多个客户端进程中分别生成对应的3D图像;
存储模块,用于将所述客户端进程与所述3D图像的对应关系存储至内核空间;
显示模块,用于在所述服务端进程中,基于所述内核空间中存储的所述对应关系,通过图像驱动接口获取所述多个客户端进程分别对应的3D图像并显示。
在一种可能的实现方式中,所述生成模块,具体用于:
在所述多个客户端进程中,分别通过接口调用方式调用相应工具进行图像绘制,得到所述多个客户端进程分别对应的3D图像。
在一种可能的实现方式中,所述存储模块,具体用于:
在所述多个客户端进程中,对所述3D图像进行存储,得到所述3D图像的图像资源,所述图像资源包括所述3D图像的存储地址;
将所述多个客户端进程的进程标识与所述3D图像的图像资源的对应关系,存储至所述内核空间。
在一种可能的实现方式中,所述存储模块,具体用于:
在所述多个客户端进程中,通过调用内核态驱动,将所述多个客户端进程的进程标识和所述3D图像的图像资源传递至所述内核空间;
在所述内核空间中,根据接收到的所述多个客户端进程的进程标识和所述3D图像的图像资源,构建所述多个客户端进程的进程标识与所述3D图像的图像资源的对应关系并存储。
在一种可能的实现方式中,所述显示模块,具体用于:
在所述服务端进程中,通过所述图像驱动接口访问内核空间中存储的所述对应关系,确定所述多个客户端进程分别对应的3D图像;
在所述服务端进程中,对所述多个客户端进程分别对应的3D图像进行融合处理,得到包含多个3D图像的目标图像;
在所述服务端进程中,控制所述嵌入式设备的显示器显示所述目标图像。
在一种可能的实现方式中,所述对应关系为所述多个客户端进程的进程标识与所述3D图像的图像资源的对应关系,所述图像资源包括所述3D图像的存储地址;
所述显示模块,具体用于:
在所述服务端进程中,获取所述多个客户端进程的进程标识;
根据所述多个客户端进程的进程标识,通过所述图像驱动接口访问所述内核空间所存储的所述对应关系,确定所述多个客户端进程分别对应的3D图像的图像资源;
通过所述图像驱动接口根据所述多个客户端进程分别对应的3D图像的图像资源,得到所述多个客户端进程分别对应的3D图像。
在一种可能的实现方式中,所述对应关系为所述多个客户端进程的进程标识与所述3D图像的图像资源的对应关系,所述图像资源包括所述3D图像的图像信息的存储地址,所述3D图像的图像信息包括所述3D图像的图像尺寸和所述3D图像的显示位置;
所述显示模块,具体用于:
在所述服务端进程中,根据所述3D图像的图像尺寸和所述3D图像的显示位置,对所述多个客户端进程分别对应的3D图像进行融合处理,得到所述目标图像。
在一种可能的实现方式中,所述显示模块,具体用于:
在所述多个客户端进程中,在生成对应的3D图像之后,通过套接字通信方式将所述客户端进程的进程标识传递至所述服务端进程。
第三方面,本申请提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上述第一方面所述的图像显示方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述第一方面所述的图像显示方法。
第五方面,本申请提供一种计算机程序产品,所述计算机程序被处理器执行时实现如上述第一方面所述的图像显示方法。
本申请提供的图像显示方法、装置、设备及存储介质,在嵌入式设备中,通过多个客户端进程分别生成对应的3D图像,将客户端进程与3D图像的对应关系存储至内核空间,服务端进程基于内核空间存储的对应关系,获取得到多个客户端进程对应的3D图像并显示。从而,一方面实现了3D图像的多进程显示,满足同时绘制多个3D图像并显示的用户需求;另一方面以内核空间作为多个客户端进程与服务端进程之间的3D图像数据的传输桥梁,通过图像驱动接口实现服务端进程对多个客户端进程生成的3D图像的管理,并提高了3D图像数据的多进程显示的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例使用的应用场景示意图;
图2为本申请一实施例提供的图像显示方法的流程示意图;
图3为本申请另一实施例提供的图像显示方法的流程示意图;
图4为本申请另一实施例提供的图像显示方法的流程示意图;
图5为本申请一实施例提供的一种图像显示装置的结构示意图;
图6为本申请一实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
首先,对本申请所涉及的名词进行解释:
嵌入式设备:由可适应于用户需求进行灵活裁剪的软硬件组成且可独立运作的器件。嵌入式设备可包含中央处理器(central processing unit,简称CPU)、图形处理器(graphics processing unit,简称GPU)、显示器等硬件。
内核空间:在计算机系统中,虚拟存储空间包括内核空间和用户空间,内核空间中存放内核的代码和数据,用户空间中存放用户程序的代码和数据。用户程序执行自身代码时处于用户运行态(即用户态);用户程序通过系统调用而陷入内核态代码的执行时处于内核运行状态(即内核态)。其中,系统调用是指用户程序通过调用内核预留的接口从用户态切换到内核态。
客户端进程和服务端进程:根据执行任务的不同,开发人员可将进程定义为客户端进程、服务端进程。其中,在图像绘制和显示中,客户端进程负责执行图像的绘制任务,服务端进程负责管理客户端进程所绘制的图像并控制显示屏对这些图像进行显示。
接着,对本申请涉及的应用场景进行描述。
本申请提供的图像显示方法,可以适用于图1所示的应用场景。如图1所示,应用场景为用户在嵌入式设备上进行图像绘制的场景,尤其是用户在嵌入式设备上进行多个3D图像绘制的场景。
在该场景中,涉及的设备包括嵌入式设备101,用户可在嵌入式设备101上的应用程序上编写与图像绘制和显示相关的任务,并通过在嵌入式设备101上运行客户端程序和服务端程序,执行与图像绘制和显示相关的任务。
其中,图1以嵌入式设备101为终端为例。
在相关技术中,在嵌入式设备上,可以基于Qt实现图像的绘制和显示。然而,Qt仅支持2D图像的多进程显示和支持在服务端进程中实现单个3D图像的显示,而不支持3D图像的多进程显示。由于3D图像的数据量大于2D图像的数据量,若采用2D图像的多进程显示方式来实现3D图像的多进程显示,则会导致3D图像的多进程显示的效率较低。
本申请提供的图像显示方法,旨在解决嵌入式设备上无法实现3D图像的多进程显示的问题,并提高3D图像的多进程显示效率。
本申请提供的图像显示方法,应用于嵌入式设备,嵌入式设备上运行有服务端进程和多个客户端进程。在该方法中,由多个客户端进程分别生成对应的3D图像,在内核空间中存储客户端进程与3D图像的对应关系,由服务端进程根据内核空间存储的该对应关系,实现多个客户端进程分别对应的3D图像的显示。从而,一方面通过客户端进程、内核空间和服务端进程的配合,实现嵌入式设备上3D图像的多进程显示,即通过多个进程实现多个3D图像的显示,满足用户对同时绘制多个3D图像并显示的需求;另一方面,以内核空间作为客户端进程与服务端进程的数据共享存储空间,有效地提高了3D图像的多进程显示的效率。
现有技术中,多进程2D图像显示,其利用共享内存的方式实现进程间的数据共享,需要将客户端进程生成的数据从其存储的区域拷贝到共享内存中,以使得服务端进程从共享内存中读取相关待显示的2D图像信息。在3D图像信息数据量较大的情况下,拷贝时间会延长很多,影响用户的使用体验,本申请实施例要求保护的方法,客户端进程生成的数据直接存储于内核空间,服务端进程通过图像驱动接口与客户端进程共享内核空间,不需要将客户端进程生成的数据从其存储的区域拷贝到共享内存中,与现有技术相比,显示3D图形的效率有显著提高。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
示例性的,本申请中各方法实施例的执行主体为嵌入式设备,在嵌入式设备上运行有服务端进程和多个客户端进程。
参考图2,图2为本申请一实施例提供的图像显示方法的流程示意图。
如图2所示,图像显示方法包括:
S201、在多个客户端进程中分别生成对应的3D图像。
其中,客户端进程的数量取决于用户的需求。例如,用户若想要同时生成并显示2个3D图像,则可以在嵌入式设备上启动(或者打开,或者运行)2个客户端进程。不同的客户端进程可用于生成不同的3D图像,比如一个客户端进程用于生成球形,另一个客户端进程用于生成立方体。
在本实施例中,用户可在嵌入式设备上启动多个用于3D图像生成的客户端进程,以在嵌入式设备上运行多个客户端进程。其中,在客户端进程对应的程序代码中包含有3D图像的绘制代码,例如,包含绘制球形的代码,包含绘制3D人物形象的代码。因此,每个客户端进程在运行过程中均分别绘制对应的3D图像,最终得到每个客户端进程分别对应的3D图像。
S202、将客户端进程与3D图像的对应关系存储至内核空间。
在本实施例中,在多个客户端进程中,针对每个客户端进程,在生成3D图像之后,客户端进程可通过系统调用方式进入内核态,将该客户端进程与3D图像的对应关系存储至内核空间中。例如,在内核空间中存储有客户端进程a1与在客户端进程a1中生成的3D图像的对应关系、客户端进程a2与在客户端进程a2中生成的3D图像的对应关系、……依此类推。
S203、在服务端进程中,基于内核空间中存储的对应关系,通过图像驱动接口访问内核空间中存储的获取多个客户端进程分别对应的3D图像并显示。
在本实施例中,针对每个客户端进程,在客户端进程完成3D图像生成后,可由服务端进程在内核空间中确定该客户端进程与3D图像的对应关系,根据该对应关系,获得该客户端进程对应的3D图像。如此,获得多个客户端进程对应的3D图像。之后,在服务端进程中,先通过图像驱动接口访问内核空间中存储的3D图形,服务端进程处理完成后再通过调用显示驱动的方式,将多个客户端进程对应的3D图像传递至嵌入式设备的显示器,并控制嵌入式设备上的显示器对多个客户端进程对应的3D图像进行显示。
本申请实施例中,在嵌入式设备上,通过多个客户端进程分别绘制3D图像,在内核空间存储客户端进程与3D图像的对应关系,以便服务端进程根据该对应关系,获取多个客户端进程分别对应的3D图像并显示。从而,实现嵌入式设备上3D图像的多进程显示,并且通过内核空间作为客户端进程与服务端进程的共享存储空间,提高服务端进程获取多个客户端进程分别对应的3D图像的效率,进而提高3D图像的多进程显示效率。
在一些实施例中,S201的一种可能的实现方式包括:在多个客户端进程中,分别通过接口调用方式调用相应工具进行图像绘制,得到多个客户端进程分别对应的3D图像。从而,通过接口调用相应工具的方式,有效地提高客户端进程生成3D图像的质量和效率。
可选的,在客户端进程中,可通过调用EGL、适用于嵌入式系统的OpenGL(OpenGLfor Embeded System,简称OpenGL ES)以及用户态驱动接口进行3D图像的绘制。其中,OpenGL ES是OpenGL中用于3D图像渲染的应用程序编程接口(Application ProgrammingInterface,API)的子集,EGL是图像渲染API(例如OpenGL ES)和原生(native)窗口系统之间的接口。
在本实施例中,在客户端进程中,可通过调用EGL的方式,初始化一个窗体,之后,通过调用OpenGL ES和用户态驱动接口,在窗体中绘制3D图像。此时,窗体和3D图像都是在后台绘制,是用户不可见的。
参考图3,图3为本申请另一实施例提供的图像显示方法的流程示意图。
如图3所示,图像显示方法包括:
S301、在多个客户端进程中分别生成对应的3D图像。
其中,S301的实现原理和技术效果可参照前述实施例,不再赘述。
S302、在多个客户端进程中,对3D图像进行存储,得到3D图像的图像资源,图像资源包括3D图像的存储地址。
在本实施例中,针对各客户端进程,在客户端进程中生成对应的3D图像之后,可将在该客户端进程中生成的3D图像(即该客户端进程对应的3D图像)存储在嵌入式设备的内存中,得到3D图像的存储地址,进而得到3D图像的图像资源。如此,得到各个客户端进程对应的3D图像的图像资源。
S303、将多个客户端进程的进程标识与3D图像的图像资源的对应关系,存储至内核空间。
在本实施例中,考虑到将3D图像直接存储在内核空间,将占用较大空间,为在提高3D图像的多进程显示效率的同时节省内核空间,可将多个客户端进程的进程标识与3D图像的图像资源的对应关系,存储至内存空间。换句话说,多个客户端进程与3D图像的对应关系包括多个客户端进程的进程标识与3D图像的图像资源的对应关系。
在本实施例中,针对各客户端进程,在客户端进程中,在生成对应的3D图像并存储,得到3D图像的图像资源之后,可执行以下操作:将该客户端进程的进程标识和该客户端进程对应的3D图像的图像资源,传递至内核空间。继而,在内核空间,建立该客户端进程的进程标识与该客户端进程对应的3D图像的图像资源的对应关系并存储。
S304、在服务端进程中,基于内核空间中存储的对应关系,通过图像驱动接口获取多个客户端进程分别对应的3D图像并显示。
在本实施例中,可在服务端进程中,获取多个客户端进程的进程标识;根据多个客户端进程的进程标识,通过图像驱动接口访问内核空间所存储的对应关系,确定多个客户端进程分别对应的3D图像的图像资源;通过图像驱动接口根据多个客户端进程分别对应的3D图像的图像资源,得到多个客户端进程分别对应的3D图像。
具体的,针对每个客户端进程,在客户端进程完成3D图像生成后,可在服务端进程中执行以下操作:获取客户端进程的进程标识;通过图像驱动接口访问内核空间中存储的多个客户端进程的进程标识与3D图像的图像资源的对应关系,以客户端进程的进程标识为索引,查找该客户端进程对应的3D图像的图像资源;由于3D图像的图像资源中包括3D图像的存储地址,所以,服务端进程可根据该客户端进程对应的3D图像的图像资源,通过图像驱动接口读取得到该客户端进程对应的3D图像。如此,在服务端进程中,获得多个客户端进程对应的3D图像。
之后,在服务端进程中,通过调用显示驱动的方式,将多个客户端进程对应的3D图像传递至嵌入式设备的显示器,并控制嵌入式设备上的显示器对多个客户端进程对应的3D图像进行显示。
本申请实施例中,在嵌入式设备上,通过多个客户端进程分别绘制3D图像,在内核空间存储客户端进程的进程标识与3D图像的图像资源的对应关系,以便服务端进程根据该对应关系,获取多个客户端进程分别对应的3D图像并显示。从而,实现嵌入式设备上3D图像的多进程显示,并且通过内核空间作为多个客户端进程的进程标识与3D图像的图像资源的对应关系的存储空间,提高服务端进程获取多个客户端进程分别对应的3D图像的效率并节省了内核空间,提高3D图像的多进程显示效率。
在一些实施例中,S303的一种可能的实现方式包括:在多个客户端进程中,通过调用内核态驱动,将多个客户端进程的进程标识和3D图像的图像资源传递至内核空间;在内核空间中,根据接收到的多个客户端进程的进程标识和3D图像的图像资源,构建多个客户端进程的进程标识与3D图像的图像资源的对应关系并存储。从而,通过调用内核态驱动的方式,实现多个客户端进程的进程标识与3D图像的图像资源的对应关系在内核空间的存储。
其中,在客户端进程中调用内核态驱动,可以理解为客户端进程通过系统调用方式从用户态切换至内核态,实现将用户态下的数据(包括客户端进程的进程标识和3D图像的图像资源)传递至内核空间。进而,可通过处于内核态的客户端进程,实现将客户端进程的进程标识与3D图像的图像资源的对应关系存储至内核空间。
在一些实施例中,图像资源还包括3D图像所占的存储空间大小(即3D图像所占的内存大小)。从而,基于图像资源中3D图像的存储地址和3D所占的存储空间大小,能够准确读取得到3D图像。
在一些实施例中,在多个客户端进程中,除了生成与客户端进程对应的3D图像之外,还可以生成3D图像的图像信息。其中,3D图像的图像信息包括如下至少一种:3D图像的图像尺寸、3D图像的显示位置。
可选的,在客户端进程中生成对应的3D图像和对应的3D图像的图像信息的情况下,3D图像的图像资源还可包括3D图像的图像信息的存储地址。
可选的,在客户端进程中生成对应的3D图像和对应的3D图像的图像信息、以及3D图像的图像资源还可包括3D图像的图像信息的存储地址的情况下,S304的一种可能的实现方式包括:在服务端进程中,基于内核空间中存储的对应关系,获取多个客户端进程分别对应的3D图像和多个客户端进程分别对应的3D图像的图像信息;在服务端进程中,根据多个客户端进程分别对应的3D图像的图像信息,控制嵌入式设备的显示器显示目标图像。
具体的,在服务端进程中,可获得客户端进程的进程标识后,以客户端进程的进程标识作为索引,基于内核空间中存储的对应关系,查找得到该客户端进程对应的3D图像的图像资源。由于3D图像的图像资源中包括3D图像的存储地址和3D图像的图像信息的存储地址,所以,在服务端进程中可基于3D图像的图像资源,从内存中读取得到3D图像和3D图像的图像信息。继而,可在服务端进程中,通过调用显示驱动的方式,控制嵌入式设备上的显示器按照3D图像的图像信息中3D图像的图像尺寸和3D图像的显示位置,对多个客户端进程对应的3D图像进行显示。从而,提高了在嵌入式设备上进行3D图像的多进程显示的准确性。
在一些实施例中,在多个客户端进程中,在生成对应的3D图像之后,可通过套接字通信(socket通信)方式将客户端进程的进程标识传递至服务端进程,以便服务端进程接收到客户端进程的进程标识后,在内核空间以客户端进程的进程标识为索引,获取3D图像和/或3D图像的图像资源。
在一些实施例中,客户端进程的进程标识为客户端进程的进程ID,不同客户端进程的进程ID不同。
参考图4,图4为本申请另一实施例提供的图像显示方法的流程示意图。
如图4所示,图像显示方法包括:
S401、在多个客户端进程中分别生成对应的3D图像。
S402、将客户端进程与3D图像的对应关系存储至内核空间。
S403、在服务端进程中,根据对应关系,通过图像驱动接口确定多个客户端进程分别对应的3D图像。
其中,S401~S403的实现原理和技术效果可参照前述实施例,例如图2或图3所示实施例,在此不再赘述。
S404、在服务端进程中,对多个客户端进程分别对应的3D图像进行融合处理,得到包含多个3D图像的目标图像。
在本实施例中,考虑到要在嵌入式设备的显示屏幕上同时显示多个3D图像,所以,可在服务端进程中,将多个客户端进程分别生成的3D图像融合至同一帧图像(或者说是同一页面、同一界面)上,之后,通过在嵌入式设备的显示屏上显示该图像,实现对多个3D图像的同时显示。
在一种可能的实现方式中,在服务端进程中,在获得多个客户端进程分别对应的3D图像之后,可在内核空间中随机确定多个客户端进程分别对应的3D图像的显示位置,按照多个客户端进程分别对应的3D图像的显示位置,将多个客户端进程分别对应的3D图像组合为目标图像。
在另一种可能的实现方式中,在内核空间存储有多个客户端进程与3D图像的图像资源的对应关系、3D图像的图像资源包括3D图像的图像信息的存储地址、以及3D图像的图像信息包括3D图像的尺寸和3D图像的图像位置的情况下,可在服务端进程中,根据3D图像的图像尺寸和3D图像的显示位置,对多个客户端进程分别对应的3D图像进行融合处理,得到目标图像。从而,可通过预先设定好的3D图像的图像大小和显示位置的方式,提高将多个客户端进程对应的3D图像融合为一帧图像的准确性。
其中,根据3D图像的图像尺寸和3D图像的显示位置,对多个客户端进程分别对应的3D图像进行融合处理得到目标图像,是指在目标图像上,根据3D图像的图像尺寸和3D图像的显示位置,确定多个客户端进程分别对应的3D图像所在的图像区域,进而按照多个客户端进程分别对应的3D图像所在的图像区域,将多个客户端进程分别对应的3D图像组合在目标图像上。
S405、在服务端进程中,控制嵌入式设备的显示器显示目标图像。
在本实施例中,在服务端进程中,通过调用显示驱动的方式,将目标图像传递至嵌入式设备的显示器,并控制嵌入式设备上的显示器显示目标图像。
本申请实施例中,在嵌入式设备上,通过多个客户端进程分别绘制3D图像,在内核空间存储客户端进程与3D图像的对应关系,服务端进程根据该对应关系,获取多个客户端进程分别对应的3D图像,将多个客户端进程分别对应的3D图像融合为目标图像,并控制显示器显示目标图像。从而,实现嵌入式设备上3D图像的多进程显示,并且通过内核空间,提高了3D图像的多进程显示效率。
在一些实施例中,上述任一实施例,可基于Qt的窗口系统框架(Qt WindowsSystem,QWS)实现上述客户端进程、服务端进程,还可以实现上述客户端进程与服务端之间的Socket通信。
下述为本申请装置实施例,可以用于执行本申请对应的方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请对应的方法实施例。
图5为本申请实施例提供的一种图像显示装置的结构示意图,该装置应用于嵌入式设备,嵌入式设备上运行有服务端进程和多个客户端进程。如图5所示,本实施例提供的图像显示装置500,包括:
生成模块501,用于在多个客户端进程中分别生成对应的3D图像;
存储模块502,用于将客户端进程与3D图像的对应关系存储至内核空间;
显示模块503,用于在服务端进程中,基于内核空间中存储的对应关系,通过图像驱动接口获取多个客户端进程分别对应的3D图像并显示。
在一种可能的实现方式中,生成模块501具体用于:在多个客户端进程中,分别通过接口调用方式调用相应工具进行图像绘制,得到多个客户端进程分别对应的3D图像。
在一种可能的实现方式中,存储模块502具体用于:在多个客户端进程中,对3D图像进行存储,得到3D图像的图像资源,图像资源包括3D图像的存储地址;将多个客户端进程的进程标识与3D图像的图像资源的对应关系,存储至内核空间。
在一种可能的实现方式中,存储模块502具体用于:在多个客户端进程中,通过调用内核态驱动,将多个客户端进程的进程标识和3D图像的图像资源传递至内核空间;在内核空间中,根据接收到的多个客户端进程的进程标识和3D图像的图像资源,构建多个客户端进程的进程标识与3D图像的图像资源的对应关系并存储。
在一种可能的实现方式中,显示模块503具体用于:在服务端进程中,通过图像驱动接口访问内核空间中存储的对应关系,确定多个客户端进程分别对应的3D图像;在服务端进程中,对多个客户端进程分别对应的3D图像进行融合处理,得到包含多个3D图像的目标图像;在服务端进程中,控制嵌入式设备的显示器显示目标图像。
在一种可能的实现方式中,对应关系为多个客户端进程的进程标识与3D图像的图像资源的对应关系,图像资源包括3D图像的存储地址;显示模块503具体用于:在服务端进程中,获取多个客户端进程的进程标识;根据多个客户端进程的进程标识,通过图像驱动接口访问内核空间所存储的对应关系,确定多个客户端进程分别对应的3D图像的图像资源;通过图像驱动接口根据多个客户端进程分别对应的3D图像的图像资源,得到多个客户端进程分别对应的3D图像。
在一种可能的实现方式中,对应关系为多个客户端进程的进程标识与3D图像的图像资源的对应关系,图像资源包括3D图像的图像信息的存储地址,3D图像的图像信息包括3D图像的图像尺寸和3D图像的显示位置;显示模块503具体用于:在服务端进程中,根据3D图像的图像尺寸和3D图像的显示位置,对多个客户端进程分别对应的3D图像进行融合处理,得到目标图像。
在一种可能的实现方式中,显示模块503具体用于:在多个客户端进程中,在生成对应的3D图像之后,通过套接字通信方式将客户端进程的进程标识传递至服务端进程。
值得说明的,上述各实施例提供的图像显示装置,可用于执行上述任一实施例提供的图像显示方法中的各步骤,具体实现方式和技术效果类似,这里不再赘述。
本申请所提供的上述各装置实施例仅仅是示意性的,其中的模块划分仅仅是一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个模块可以结合或者可以集成到另一个系统。各个模块相互之间的耦合可以是通过一些接口实现,这些接口通常是电性通信接口,但是也不排除可能是机械接口或其它的形式接口。因此,作为分离部件说明的模块可以是或者也可以不是物理上分开的,既可以位于一个地方,也可以分布到同一个或不同设备的不同位置上。
图6为本申请实施例提供的一种电子设备的结构示意图。如图6所示,该电子设备600可以包括:至少一个处理器601和存储器602。图6示出的是以一个处理器为例的电子设备。
存储器602,用于存放处理器601的程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
存储器602可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器601配置为用于执行存储器602存储的计算机程序,以实现以上各方法实施例中图像显示方法中的各步骤。
其中,处理器601可能是一个中央处理器(central processing unit,简称为CPU),或者是特定集成电路(application specific integrated circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选地,存储器602既可以是独立的,也可以跟处理器601集成在一起。当存储器602是独立于处理器601之外的器件时,电子设备600,还可以包括:总线603,用于连接处理器601以及存储器602。总线可以是工业标准体系结构(industry standard architecture,简称为ISA)总线、外部设备互连(peripheralcomponent,PCI)总线或扩展工业标准体系结构(extended industry standardarchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器602和处理器601集成在一块芯片上实现,则存储器602和处理器601可以通过内部接口完成通信。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(randomaccessmemory,RAM)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有计算机程序,当电子设备的至少一个处理器执行该计算机程序时,电子设备执行上述的各种实施方式提供的图像显示方法的各个步骤。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该计算机程序,至少一个处理器执行该计算机程序使得电子设备实施上述的各种实施方式提供的图像显示方法的各个步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (12)
1.一种图像显示方法,其特征在于,应用于嵌入式设备,所述嵌入式设备上运行有服务端进程和多个客户端进程,所述图像显示方法包括:
在所述多个客户端进程中分别生成对应的3D图像;
将所述客户端进程与所述3D图像的对应关系存储至内核空间;
在所述服务端进程中,基于所述内核空间中存储的所述对应关系,通过图像驱动接口获取所述多个客户端进程分别对应的3D图像并显示。
2.根据权利要求1所述的图像显示方法,其特征在于,所述在所述多个客户端进程中分别生成对应的3D图像,包括:
在所述多个客户端进程中,分别通过接口调用方式调用相应工具进行图像绘制,得到所述多个客户端进程分别对应的3D图像。
3.根据权利要求1所述的图像显示方法,其特征在于,所述将所述客户端进程与所述3D图像的对应关系存储至内核空间,包括:
在所述多个客户端进程中,对所述3D图像进行存储,得到所述3D图像的图像资源,所述图像资源包括所述3D图像的存储地址;
将所述多个客户端进程的进程标识与所述3D图像的图像资源的对应关系,存储至所述内核空间。
4.根据权利要求3所述的图像显示方法,其特征在于,所述将所述多个客户端进程的进程标识与所述3D图像的图像资源的对应关系,存储至所述内核空间,包括:
在所述多个客户端进程中,通过调用内核态驱动,将所述多个客户端进程的进程标识和所述3D图像的图像资源传递至所述内核空间;
在所述内核空间中,根据接收到的所述多个客户端进程的进程标识和所述3D图像的图像资源,构建所述多个客户端进程的进程标识与所述3D图像的图像资源的对应关系并存储。
5.根据权利要求1至4中任一项所述的图像显示方法,其特征在于,所述在所述服务端进程中,基于所述内核空间中存储的所述对应关系,通过图像驱动接口获取所述多个客户端进程分别对应的3D图像并显示,包括:
在所述服务端进程中,通过所述图像驱动接口访问内核空间中存储的所述对应关系,确定所述多个客户端进程分别对应的3D图像;
在所述服务端进程中,对所述多个客户端进程分别对应的3D图像进行融合处理,得到包含多个3D图像的目标图像;
在所述服务端进程中,控制所述嵌入式设备的显示器显示所述目标图像。
6.根据权利要求5所述的图像显示方法,其特征在于,所述对应关系为所述多个客户端进程的进程标识与所述3D图像的图像资源的对应关系,所述图像资源包括所述3D图像的存储地址;
所述在所述服务端进程中,通过所述图像驱动接口访问内核空间中存储的所述对应关系,确定所述多个客户端进程分别对应的3D图像,包括:
在所述服务端进程中,获取所述多个客户端进程的进程标识;
根据所述多个客户端进程的进程标识,通过所述图像驱动接口访问所述内核空间所存储的所述对应关系,确定所述多个客户端进程分别对应的3D图像的图像资源;
通过所述图像驱动接口根据所述多个客户端进程分别对应的3D图像的图像资源,得到所述多个客户端进程分别对应的3D图像。
7.根据权利要求5或6所述的图像显示方法,其特征在于,所述对应关系为所述多个客户端进程的进程标识与所述3D图像的图像资源的对应关系,所述图像资源包括所述3D图像的图像信息的存储地址,所述3D图像的图像信息包括所述3D图像的图像尺寸和所述3D图像的显示位置;
所述在所述服务端进程中,对所述多个客户端进程分别对应的3D图像进行融合处理,得到包含所述3D图像的目标图像,包括:
在所述服务端进程中,根据所述3D图像的图像尺寸和所述3D图像的显示位置,对所述多个客户端进程分别对应的3D图像进行融合处理,得到所述目标图像。
8.根据权利要求6所述的图像显示方法,其特征在于,所述在所述服务端进程中,获取所述多个客户端进程的进程标识,包括:
在所述多个客户端进程中,在生成对应的3D图像之后,通过套接字通信方式将所述客户端进程的进程标识传递至所述服务端进程。
9.一种图像显示装置,应用于嵌入式设备,所述嵌入式设备上运行有服务端进程和多个客户端进程,所述图像显示装置包括:
生成模块,用于在所述多个客户端进程中分别生成对应的3D图像;
存储模块,用于将所述客户端进程与所述3D图像的对应关系存储至内核空间;
显示模块,用于在所述服务端进程中,基于所述内核空间中存储的所述对应关系,通过图像驱动接口获取所述多个客户端进程分别对应的3D图像并显示。
10.一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至8任一项所述的图像显示方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至8任一项所述的图像显示方法。
12.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至8任一项所述的图像显示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111484891.9A CN116248916A (zh) | 2021-12-07 | 2021-12-07 | 图像显示方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111484891.9A CN116248916A (zh) | 2021-12-07 | 2021-12-07 | 图像显示方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116248916A true CN116248916A (zh) | 2023-06-09 |
Family
ID=86624639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111484891.9A Pending CN116248916A (zh) | 2021-12-07 | 2021-12-07 | 图像显示方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116248916A (zh) |
-
2021
- 2021-12-07 CN CN202111484891.9A patent/CN116248916A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107077377B (zh) | 一种设备虚拟化方法、装置、系统及电子设备、计算机程序产品 | |
CN107003892B (zh) | Gpu虚拟化方法、装置、系统及电子设备、计算机程序产品 | |
JP5620506B2 (ja) | アプリケーション画像の表示方法及び装置 | |
CN108765539B (zh) | 基于OpenGLES的图像渲染方法、装置、设备及存储介质 | |
CN105528207A (zh) | 一种虚拟现实系统及其中显示安卓应用图像的方法和装置 | |
CN106598514B (zh) | 一种终端设备中切换虚拟现实模式的方法及系统 | |
US20190122421A1 (en) | Batch rendering method, device, and apparatus | |
CN112057852B (zh) | 一种基于多显卡的游戏画面渲染方法和系统 | |
CN113064727B (zh) | 应用于Android系统的图像显示调度方法、终端及存储介质 | |
CN112015476B (zh) | 显卡驱动方法、装置、电子设备以及存储介质 | |
CN104765636B (zh) | 一种远程桌面图像的合成方法和装置 | |
CN113730922A (zh) | 图形渲染方法、装置、电子设备及存储介质 | |
CN111881104A (zh) | 一种nfs服务器及其数据写入方法、装置和存储介质 | |
CN113064728B (zh) | 高负载应用图像显示方法、终端及可读存储介质 | |
CN108595284B (zh) | 一种纹理共享方法、计算机设备和存储介质 | |
CN112614210B (zh) | 工程图纸显示方法、系统及相关装置 | |
CN111589111B (zh) | 图像处理方法、装置、设备和存储介质 | |
CN116248916A (zh) | 图像显示方法、装置、设备及存储介质 | |
CN105988871B (zh) | 一种远端内存分配方法、装置和系统 | |
CN115858535A (zh) | 一种数据处理方法、装置、存储介质及终端 | |
CN111796812A (zh) | 图像渲染的方法、装置、电子设备及计算机可读存储介质 | |
CN111785229B (zh) | 一种显示方法、装置及系统 | |
CN114924837A (zh) | 数据处理方法、电子设备和可读存储介质 | |
CN111951365A (zh) | 图像渲染处理方法、设备及存储介质 | |
CN111882629A (zh) | 图像渲染方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |