CN112074805A - 一种用于生成显示内容的方法、装置和计算机程序 - Google Patents
一种用于生成显示内容的方法、装置和计算机程序 Download PDFInfo
- Publication number
- CN112074805A CN112074805A CN201880093125.XA CN201880093125A CN112074805A CN 112074805 A CN112074805 A CN 112074805A CN 201880093125 A CN201880093125 A CN 201880093125A CN 112074805 A CN112074805 A CN 112074805A
- Authority
- CN
- China
- Prior art keywords
- application window
- frame
- intermediate frame
- memory
- interfaces
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/37—Details of the operation on graphic patterns
- G09G5/377—Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/395—Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/10—Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/12—Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种用于生成显示内容的方法、装置和计算机程序。所公开的解决方案使得能够在以下情况下生成显示内容:多个应用窗口界面同时可见并且应用窗口界面的数量超过显示子系统(display subsystem,简称DSS)中的可用硬件层数量。在所述所公开的解决方案中,所述显示子系统依次用于合成最终显示帧。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及图形用户界面和基于显示子系统合成生成显示内容的解决方案。
背景技术
现代操作系统的图形用户界面具有窗口支持。应用通常将其内容呈现在专用的矩形二维区域中,该区域通常称为“窗口”或“窗口界面”。为组合所有正在运行的应用所呈现的视图,操作系统需要将窗口界面合成到最终的组合视图中,然后将其发送到设备显示器。最终合成可以基于窗口的位置、大小、透明度和其它特征。此外,窗口界面的最终合成可以通过不同的方式完成,具体取决于可用的硬件资源和硬件资源的能力。然而,合成的性能和功耗会随着硬件资源的不同而有所不同。
能够有效地利用硬件资源用于窗口界面合成过程将具有益处。
发明内容
提供本发明内容是为了以简化的形式引入概念的选择,这些概念将在以下具体实施方式中进行进一步的描述。本发明内容的目的不在于识别权利要求书保护的主题的关键特征或必要特征,也不在于限制权利要求书保护的主题的范围。
本发明的目的在于提供一种用于合成最终显示帧的解决方案。提供了一种用于在以下情况下生成显示内容的解决方案:多个应用窗口界面同时可见并且应用窗口界面的数量超过显示子系统(display subsystem,简称DSS)中的可用硬件层数量。在所公开的解决方案中,所述显示子系统依次用于合成所述最终显示帧。
该目标是通过独立权利要求的特征来实现的。根据从属权利要求、说明书以及附图,其它实施例和示例是显而易见的。
根据第一方面,提供了一种用于生成显示内容的方法。所述方法包括:选择存储在存储器中的多个应用窗口界面的数据,其中,所述应用窗口界面的初始数量超过显示子系统的可用硬件层数量;将所选多个窗口界面的数据馈送到所述可用硬件层;由所述显示子系统的合成器根据所馈送的硬件层内容合成中间帧;选择存储在所述存储器中的至少一个先前未选择的应用窗口界面的数据;将所述中间帧和所选择的至少一个先前未选择的应用窗口界面的数据馈送到所述可用硬件层;由所述合成器根据所馈送的硬件层内容合成后续帧。这使得即使要合成的应用窗口界面数量超过所述显示子系统中的可用硬件层数量时,也可通过仅依次使用所述显示子系统执行合成过程来生成显示内容。因此,通过仅使用所述显示子系统,还减少了其它硬件资源的负载。此外,还提供了一种解决方案,其中图形处理器(graphical processing unit,简称GPU)可供应用在前一帧合成仍在进行时用于呈现下一帧的内容,从而实现异步合成和GPU卸载。这也可以提高整体系统性能。
在所述第一方面的第一种实现方式中,所选择的应用窗口界面的初始数量对应于所述可用硬件层的数量。这使得能够最佳地利用硬件能力来合成应用窗口界面。
在所述第一方面的另一种实现方式中,所述方法还包括将所述中间帧存储在所述存储器中。这使得能够将具有下一个应用窗口界面的所述中间帧从所述存储器馈送到所述可用硬件层,以进行合成。此外,中间帧还可以用于其它目的。
在所述第一方面的另一种实现方式中,所述方法还包括通过替换先前存储的中间帧将所述后续帧存储在所述存储器中。这使得能够将具有下一个应用窗口界面的所述后续帧从所述存储器馈送到所述可用硬件层,以进行合成。此外,最新的合成帧还可以用于其它目的。
在所述第一方面的另一种实现方式中,将所述中间帧和所选择的至少一个先前未选择的应用窗口界面的数据馈送到所述可用硬件层包括:当所述剩余未选择的应用窗口界面数量等于或超过所述硬件层的数量时,为每个所述可用硬件层馈送先前未选择的应用窗口界面或中间帧中的一个。这使得在将所得到的中间帧与合成过程中尚未使用的下一个应用窗口界面聚合时,通过使用每个可用硬件层,能够在合成过程中最佳地利用所述显示子系统的硬件能力。
在所述第一方面的另一种实现方式中,当所述剩余未选择的应用窗口界面数量等于或超过所述硬件层的数量时,所述后续帧用作所述中间帧,且所述方法还包括至少一次以下序列:选择存储在所述存储器中的至少一个先前未选择的应用窗口界面的数据;将所述中间帧和所选择的至少一个先前未选择的应用窗口界面的数据馈送到所述可用硬件层;由所述合成器根据所馈送的硬件层内容合成后续帧。这使得能够通过将先前未选择的应用窗口界面与先前合成得到的帧依次合成来生成显示内容。
在所述第一方面的另一种实现方式中,选择所述至少一个先前未选择的应用窗口界面的数据包括:当所述剩余未选择的应用窗口界面数量小于所述可用硬件层的数量时,选择所有所述剩余未选择的应用窗口界面。这使得能够使用最佳的合成循环来合成应用窗口界面。
在所述第一方面的另一种实现方式中,所述后续帧包括最终帧,且所述方法还包括使所述最终帧传输到至少一个显示连接器、至少一个外部连接器和虚拟显示器中的至少一个。这使得能够将所有正在运行的应用所产生的组合视图发送到主显示器和其它外围设备等。
根据第二方面,提供了一种用于生成显示内容的装置。所述装置包括:存储器,用于存储多个应用窗口界面的数据;显示子系统,包括硬件层和合成器。所述装置用于:选择存储在所述存储器中的多个应用窗口界面的数据,其中,所述应用窗口界面的初始数量超过显示子系统的可用硬件层数量;将所选多个窗口界面的数据馈送到所述可用硬件层;由所述合成器根据所馈送的硬件层内容合成中间帧;选择存储在所述存储器中的至少一个先前未选择的应用窗口界面的数据;将所述中间帧和所选择的至少一个先前未选择的应用窗口界面的数据馈送到所述可用硬件层;由所述合成器根据所馈送的硬件层内容合成后续帧。这使得即使要合成的应用窗口界面数量超过所述显示子系统中的可用硬件层数量时,也可通过仅依次使用所述显示子系统执行合成过程来生成显示内容。因此,通过仅使用所述显示子系统,还减少了其它硬件资源的负载。此外,还提供了一种解决方案,其中图形处理器(graphical processing unit,简称GPU)可供应用在前一帧合成仍在进行时用于呈现下一帧的内容,从而实现异步合成和GPU卸载。这也可以提高整体系统性能。
在所述第二方面的第一种实现方式中,所选择的应用窗口界面的初始数量对应于所述可用硬件层的数量。这使得能够最佳地利用硬件功能进行合成。
在所述第二方面的另一种实现方式中,所述装置用于将所述中间帧存储在所述存储器中。这使得能够将具有下一个应用窗口界面的中间帧从所述存储器馈送到所述可用硬件层,以进行合成。此外,中间帧还可以用于其它目的。
在所述第二方面的另一种实现方式中,所述装置用于通过替换先前存储的中间帧将所述后续帧存储在所述存储器中。这使得能够将具有下一个应用窗口界面的所述中间帧从所述存储器馈送到所述可用硬件层,以进行合成。此外,最新的合成帧还可以用于其它目的。
在所述第二方面的另一种实现方式中,将所述中间帧和所选择的至少一个先前未选择的应用窗口界面的数据馈送到所述可用硬件层时,所述装置用于:当所述剩余未选择的应用窗口界面数量等于或超过所述硬件层的数量时,为每个所述可用硬件层馈送先前未选择的应用窗口界面或中间帧中的一个。这使得在将所得到的中间帧与合成过程中尚未使用的下一个应用窗口界面聚合时,通过使用每个可用硬件层,能够在合成过程中最佳地利用所述显示子系统的硬件能力。
在所述第二方面的另一种实现方式中,当所述剩余未选择的应用窗口界面数量等于或超过所述硬件层的数量时,所述后续帧用作所述中间帧,且所述装置还用于至少执行一次以下序列:选择存储在所述存储器中的至少一个先前未选择的应用窗口界面的数据;将所述中间帧和所选择的至少一个先前未选择的应用窗口界面的数据馈送到所述可用硬件层;由所述合成器根据所馈送的硬件层内容合成后续帧。这使得能够通过将先前未选择的应用窗口界面与先前合成得到的帧依次合成来生成显示内容。
在所述第二方面的另一种实现方式中,选择所述至少一个先前未选择的应用窗口界面的数据时,所述装置用于:当所述剩余未选择的应用窗口界面数量小于所述可用硬件层的数量时,选择所有所述剩余未选择的应用窗口界面。这使得能够使用最佳的合成循环来合成应用窗口界面。
在所述第二方面的另一种实现方式中,所述后续帧包括最终帧,且所述装置用于使所述最终帧传输到至少一个显示连接器、至少一个外部连接器和虚拟显示器中的至少一个。这使得能够将所有正在运行的应用所产生的组合视图发送到主显示器和其它外围设备等。
根据第三方面,提供了一种计算机程序,其包括程序代码,所述程序代码在由处理器执行时,使所述处理器执行根据第一方面所述的方法。这使得即使要合成的应用窗口界面数量超过所述显示子系统中的可用硬件层数量时,也可通过仅依次使用所述显示子系统执行合成过程来生成显示内容。因此,通过仅使用所述显示子系统,还减少了其它硬件资源的负载。此外,还提供了一种解决方案,其中图形处理器(graphical processing unit,简称GPU)可供应用在前一帧合成仍在进行时用于呈现下一帧的内容,从而实现异步合成和GPU卸载。这也可以提高整体系统性能。
根据第四方面,提供了一种计算设备,其包括根据第二方面所述的装置。这使得即使要合成的应用窗口界面数量超过所述显示子系统中的可用硬件层数量时,也可通过仅依次使用所述显示子系统执行合成过程来生成显示内容。因此,通过仅使用所述显示子系统,还减少了其它硬件资源的负载。此外,还提供了一种解决方案,其中图形处理器(graphicalprocessing unit,简称GPU)可供应用在前一帧合成仍在进行时用于呈现下一帧的内容,从而实现异步合成和GPU卸载。这也可以提高整体系统性能。
附图说明
在下文中,将结合附图对示例进行更详细的描述,在附图中:
图1示出了要合成的应用窗口界面数量超过显示子系统中可用硬件层数量的场景的示意性图示;
图2示出了当应用窗口界面的初始数量超过显示子系统的可用硬件层数量时仅使用显示子系统生成显示内容的方法的流程图;
图3示出了示例性显示子系统配置及其操作的示意性图示;
图4示出了用于生成显示内容的装置的示意性图示。
在下文中,相同的附图标记指相同的或至少功能等同的特征。
具体实施方式
以下结合附图进行描述,所述附图是描述的一部分,并通过图解说明的方式示出可以实施本发明的具体方面和示例。可以理解的是,在不脱离本发明范围的情况下,可以利用其它方面,并可以做出结构上或逻辑上的改变。因此,以下详细的描述并不当作限定,本发明的范围由所附权利要求书界定。例如,可以理解的是,与所描述的方法有关的内容对于与用于执行方法对应的设备或系统也同样适用,反之亦然。例如描述了一个具体的方法步骤,对应的设备可以包括用于执行所描述的方法步骤的单元或其它方式,即使此类单元未在图中详细阐述或说明。另一方面,例如,如果基于功能单元描述特定的装置,则对应的方法可以包括执行所述功能的步骤,即使此类步骤未在附图中明确描述或图示。此外,可以理解的是,除非另有说明,否则此处所述的各种示例性方面的特征可以互相结合。通常,当新启动的应用从窗口管理器请求窗口界面时,可以开始生成显示内容。然后,应用将在窗口界面上生成图形内容。可以使用操作系统的渲染引擎生成图形内容。或者,可以在图形处理器(graphical processing unit,简称GPU)驱动器上生成内容。合成器或合成窗口管理器组合所有可见应用的窗口界面,并使用GPU、显示子系统(display subsystem,简称DSS)或两者等来生成最终帧,具体取决于所述应用窗口的数量。例如,在多个应用窗口界面同时可见并且应用窗口界面的数量超过显示子系统中的可用硬件层数量的情况下,可以将所述应用窗口界面发送至GPU进行最终合成。
本发明的目的在于提供仅利用显示子系统硬件来合成最终显示帧的解决方案。在该解决方案中,所述显示子系统的硬件层依次用于合成来自应用窗口界面的最终显示帧和存储在存储器中的中间帧。这使得即使要合成的应用窗口界面数量超过所述显示子系统中的硬件层数量时,也可进行基于显示子系统的合成。此外,还提供了一种解决方案,其中图形处理器(graphical processing unit,简称GPU)可供应用在前一帧合成仍在进行时用于呈现下一帧的内容,从而实现异步合成和GPU卸载。这也可以提高整体系统性能。
图1示出了要合成的窗口界面数量超过显示子系统102中可用硬件层数量的场景的示意性图示。
在图1中,要合成的显示器100的最终帧包括六个窗口界面:WS1、WS2、WS3、WS4、WS5、WS6。然而,在该示例中,显示子系统102仅包括五个硬件层(或覆盖层):L1、L2、L3、L4、L5。通常,由于具有相关的成本,显示子系统实施具有有限数量的硬件层。如果所述可见应用窗口界面的数量超过所述硬件层的数量,则所述操作系统通常执行基于GPU的窗口界面合成,然后将所述最终帧发送至DSS,从而仅利用一个硬件层或覆盖层。这意味着GPU的负载可能会增加,并且该操作可能会使GPU资源远离需要GPU来渲染其场景的应用。
图2示出了当应用窗口界面的初始数量超过显示子系统的可用硬件层数量时仅使用显示子系统生成显示内容的方法的流程图。在图2中,要合成的应用窗口界面数量为N,所述显示子系统中的可用硬件层数量为K。
当K<N时,将选择存储在存储器中的多个应用窗口界面的数据并馈送到200中的所述硬件层。所选择的应用窗口界面数量可以对应于所述可用硬件层的数量,使得K个应用窗口界面首先被选中。
在202中,由所述显示子系统的合成器根据硬件层的内容合成中间帧。可以合成所选择的K个应用窗口界面以形成中间帧。所述中间帧也可以存储在所述存储器中以供后续使用。
在204中,确定所述应用窗口界面的剩余数量是否大于K–1。如果剩余应用窗口界面的数量小于K–1,则在210中选择所有剩余的先前未选择的窗口界面并将其与202中提供的所述中间帧一起馈送到所述可用硬件层。如果剩余应用窗口界面的数量大于K–1,则进入206。
在206中,选择K–1个先前未选择的应用窗口界面并将其与所述中间帧一起馈送到所述可用硬件层。可以为每个所述硬件层馈送当前所选择的应用窗口界面或中间帧中的一个。换言之,所述硬件层之一包括所述中间帧,并且每个剩余硬件层为空或者包括与应用窗口界面相关联的数据。
在208中,由所述合成器根据所述硬件层的内容合成后续帧。所述后续帧可以存储在所述存储器中,并且所述后续帧可以将先前存储的中间帧替换为新的中间帧。
在212中,确定所述存储器中是否存在任何先前未选择的应用窗口界面。如果所述存储器中存在先前未选择的应用窗口界面,则合成过程返回到204。否则,最新的后续帧可以视为最终帧,并且会生成所有正在运行的应用的应用窗口界面组合视图。
在上文公开的解决方案中,图形处理器(graphical processing unit,简称GPU)可供应用在前一帧合成仍在进行时用于呈现下一帧的内容,从而实现异步合成和GPU卸载。这也可以提高整体系统性能。
图3示出了示例性显示子系统300配置的示意性图示。图3还示出了已结合图2讨论的合成过程。图3示出了显示子系统300的示例性结构以及应用窗口界面和硬件层的示例性数量。例如,所述显示子系统300可以设置在计算设备中,例如智能手机、平板电脑或计算机。
在图3中,所述显示子系统300包括四个硬件层304。可以在装置中运行若干应用。图3示出了要合成八个应用窗口界面302的示例。每个应用窗口界面可能涉及由所述装置执行的单个应用。应用窗口界面302可以存储在存储器310中。由于应用窗口界面302的数量超过可用硬件层304的数量,因此可以通过若干合成序列来实现显示内容的生成。合成过程可以包括从应用窗口界面的一部分中合成中间帧,然后依次将先前未选择的应用窗口界面与所得到的中间帧聚合。
例如,可以通过选择并将尽可能多的应用窗口界面302并馈送到所述显示子系统300中来开始该过程,因为存在可用的硬件层304。在图3所示的示例中,可以将四个应用窗口界面302a馈送到四个硬件层304。这进一步由与所述应用窗口界面302a朝向所述硬件层304的箭头相关的数字“1”来标识。所馈送的应用窗口界面302a可以是所述存储器中的顶部窗口界面。或者,该过程可以以相反的顺序实现,从底部应用窗口界面302c、302b开始并从该处向上移动。可以将所述硬件层的内容馈送到合成器306,以合成中间帧。然后,可以将所得到的中间帧308存储在所述存储器310中。尽管图3中的示例示出了所述中间帧308作为应用窗口界面存储在同一存储器310中,但是在其它示例中,所述中间帧308可以存储在单独的存储器中。所述合成器306可以实现为硬件单元或硬件块,作为所述显示子系统的一部分,并且它可以在涉及或没有涉及中央处理器(central processing unit,简称CPU)或图形处理单元(graphical processing unit,简称GPU)的情况下执行其操作。例如,所述合成器306可以执行所谓的“Bit Blit”操作,其中几个位图组合成一个图。
虽然由于存在可用硬件层304,存在至少相同数量的先前未选择的应用窗口界面302b、302c,选择剩余的先前未选择的应用窗口界面302b、302c中的至少一个。在图3的示例中,可以选择接下来的三个应用窗口界面302b。然后,可以将新选择的应用窗口界面302b和所述中间帧308馈送到所述可用硬件层304。由于剩余未选择的应用窗口界面302b、302c的数量至少等于硬件层的数量,为每个所述可用硬件层304馈送先前未选择的应用窗口界面302b或中间帧中的一个。因此,在第一个合成循环“1”之后,再次馈送到显示子系统的要合成的元素数量对应于硬件层304的数量。然而,此时,将包括存储在所述存储器310中的所述中间帧308并与第二组应用窗口界面302b聚合,而不是为每个所述硬件层304馈送应用窗口界面302a。该步骤在图3中以“2”示出。所述硬件层304的内容再次由所述合成器306合成。所得到的后续帧可以再次存储在所述存储器310中,并且先前存储的中间帧可以替换为新帧(即后续帧)。
对所述应用窗口界面302a和302b进行处理之后,并且当剩余的先前未选择的应用窗口界面302c的数量小于所述硬件层304的数量,则可以选择剩余的先前未选择的应用窗口界面302c。存储在所述存储器310中的所述中间帧308和剩余的先前未选择的窗口界面302c被馈送到所述硬件层304。该步骤在图3中以“3”示出。同样,可以在所述合成器306中将所述硬件层304的内容合成到所述后续帧中。由于不再存在要合成的剩余先前未选择的应用窗口界面302,可以将所得到的后续帧视为最终帧。在一示例中,还可以向虚拟显示器提供最终帧(作为输出替代物),例如供屏幕记录到文件中或通过网络或接口(例如,通用串行总线(Universal Serial Bus,简称USB))将所述最终帧发送到电视或其它设备。图3示出了最终帧也可以由主显示器编码器312进行编码以在主显示器等设备中查看的示例。附加地或可替代地,所述最终帧可以编码为外围设备所使用的格式,且外部连接器编码器314使得能够查看所述最终帧,例如使用具有高分辨率多媒体接口(High-Resolution MultimediaInterface,简称HMDI)的监视器。
在一示例中,所述显示子系统300可以实现为片上系统(system-on-a-chip,简称SoC)316。
图4示出了包括各种可选硬件和软件组件的示例性装置400的示意图,总体上在412中示出。计算机系统中的任何组件412都可以与任何其它组件通信,但为便于说明,并未示出所有连接。所述装置400可以是各种计算设备中的任何一种,例如智能手机、平板电脑、台式计算机和笔记本电脑。
所示出的装置400可包括一个或多个控制器或处理器402(例如,信号处理器、微处理器、ASIC或其它控制和处理逻辑电路),用于执行信号编码、数据处理、输入/输出处理、功率控制和/或其它功能等任务。操作系统408可以控制所述组件412的分配和使用,并支持一个或多个应用程序410。所示出的装置400还可以包括结合图3更详细讨论的所述显示子系统300。
所示出的装置400可以包括存储器。所述存储器可以包括不可移动存储器404和/或可移动存储器406。所述不可移动存储器404可以包括RAM、ROM、闪存、硬盘或其它众所周知的内存存储技术。所述可移动存储器406可以包括闪存或其它众所周知的内存存储技术。所述存储器可用于存储运行所述操作系统408和所述应用410所用的数据和/或代码。所述装置400还可以包括至少一个物理连接器,其可以是USB端口、IEEE 1394(火线)端口和/或RS-232端口等。所示出的组件412不是必需的或包括所有组件,因为可以删除任何组件并且可以添加其它组件。
所述装置400可用于部分或完全实现图2-3中所示的各种特征、示例和实施例。此处所描述的功能可以至少部分地由一个或多个计算机程序产品组件(例如软件组件)执行。根据一示例,所述处理器402可以由程序代码配置,执行该程序代码时将执行所描述的操作和功能的示例和实施例。可替代地或附加地,此处所描述的功能可以至少部分地由一个或多个硬件逻辑组件执行。例如但不限于,可以使用的示例性硬件逻辑组件包括现场可编程门阵列(Field-programmable Gate Array,简称FPGA),程序专用集成电路(Program-specific Integrated Circuit,简称ASIC)、程序专用标准产品(Program-specificStandard Product,简称ASSP),片上系统(System-on-a-chip system,简称SOC)、复杂可编程逻辑器件(Complex Programmable Logic Device,简称CPLD)、图形处理器(GraphicsProcessing Unit,简称GPU)。
此外,所述装置400的一个或多个公开元件或组件412可以构成以下方法:选择存储在存储器中的多个应用窗口界面的数据,其中,所述应用窗口界面的初始数量超过显示子系统的可用硬件层数量;将所选多个窗口界面的数据馈送到所述可用硬件层;由所述合成器根据所馈送的硬件层内容合成中间帧;选择存储在所述存储器中的至少一个先前未选择的应用窗口界面的数据;将所述中间帧和所选择的至少一个先前未选择的应用窗口界面的数据馈送到所述可用硬件层;由所述合成器根据所馈送的硬件层内容合成后续帧。
所述装置400的功能可以通过存储在计算机可读介质上的程序指令实现。执行程序指令时,其将使计算机、处理器等执行编码和/或解码方法的步骤。计算机可读介质可以是任何介质,包括存储程序的非瞬时性存储介质,例如蓝光光盘、DVD、CD、USB(闪存)驱动器、硬盘、经由网络可用的服务器存储、ROM、PROM、EPROM、EEPROM或闪存,其上存储有电子可读控制信号,其与或可以与可编程计算机系统协作,从而执行至少一个本发明方法的实施例。本发明的一个实施例包括或者是计算机程序,其包括程序代码,用于在计算机上执行时,执行此处所述的任何方法。本发明的另一示例包括或者是计算机可读介质,其包括程序代码,该程序代码在由处理器执行时使计算机系统执行此处所述的任何方法。
虽然已经以特定于结构特征和/或动作的语言描述了主题,但是应理解,权利要求书定义的主题不必局限于上面描述的具体特征或动作。相反,上述具体特征和动作被公开作为实施权利要求的示例,并且其它功能等同的特征和动作旨在包含在权利要求的范围内。
应当理解的是,上述优势和优点可能涉及一个示例,也可能涉及多个示例。这些示例不限于解决任何或所有所述问题或具有任何或所有所述优势和优点的示例。此外,还应当理解的是,对“一个”项目的引用可以指这些项目中的一个或多个。
本文所述的方法步骤可以以任何适当的次序执行,或者在适当的情况下同时进行。此外,在不脱离本文所描述的主题的精神和范围的情况下,可以从任何方法中删除单独的步骤。上述任何示例的方面可以与所描述的任何其它示例的方面组合,以形成其它示例而不会丧失所寻求的效果。
术语“包含”在本文中用于表示包括所识别的方法、块或元件,但是此类块或元件不包括排他性列表,并且方法或装置可以包含附加块或元件。
尽管已结合本发明的具体特征和实施例对本发明及其优点进行了详细描述,但显然可以在在不脱离所附权利要求书所界定的精神和范围的情况下,对本发明进行各种变更、替代、组合和更改。因此,说明书和附图仅仅被视为由所附权利要求书界定的说明,并且预期涵盖落于本发明的范围内的任何和所有修改、变体、组合或等效物。
Claims (18)
1.一种用于生成显示内容的方法,其特征在于,所述方法包括:
选择存储在存储器中的多个应用窗口界面的数据,其中,所述应用窗口界面的初始数量超过显示子系统的可用硬件层数量;
将所选多个窗口界面的数据馈送到所述可用硬件层;
由所述显示子系统的合成器根据所馈送的硬件层内容合成中间帧;
选择存储在所述存储器中的至少一个先前未选择的应用窗口界面的数据;
将所述中间帧和所选择的至少一个先前未选择的应用窗口界面的数据馈送到所述可用硬件层;以及
由所述合成器根据所馈送的硬件层内容合成后续帧。
2.根据权利要求1所述的方法,其特征在于,所选择的应用窗口界面的初始数量对应于所述可用硬件层的数量。
3.根据前述权利要求中任一项所述的方法,其特征在于,所述方法还包括:
将所述中间帧存储在所述存储器中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
通过替换先前存储的中间帧将所述后续帧存储在所述存储器中。
5.根据前述权利要求中任一项所述的方法,其特征在于,将所述中间帧和所选择的至少一个先前未选择的应用窗口界面的数据馈送到所述可用硬件层包括:当所述剩余未选择的应用窗口界面数量等于或超过所述硬件层的数量时,为每个所述可用硬件层馈送先前未选择的应用窗口界面或中间帧中的一个。
6.根据前述权利要求中任一项所述的方法,其特征在于,当所述剩余未选择的应用窗口界面数量等于或超过所述硬件层的数量时,所述后续帧用作所述中间帧,且所述方法还包括至少一次以下序列:
选择存储在所述存储器中的至少一个先前未选择的应用窗口界面的数据;
将所述中间帧和所选择的至少一个先前未选择的应用窗口界面的数据馈送到所述可用硬件层;以及
由所述合成器根据所馈送的硬件层内容合成后续帧。
7.根据权利要求1至5中任一项所述的方法,其特征在于,选择所述至少一个先前未选择的应用窗口界面的数据包括:当所述剩余未选择的应用窗口界面数量小于所述可用硬件层的数量时,选择所有所述剩余未选择的应用窗口界面。
8.根据权利要求7所述的方法,其特征在于,所述后续帧包括最终帧,且所述方法还包括:使所述最终帧传输到至少一个显示连接器、至少一个外部连接器和虚拟显示器中的至少一个。
9.一种装置,其特征在于,包括:
存储器,用于存储多个应用窗口界面的数据;
显示子系统,包括硬件层和合成器;
所述装置用于:
选择存储在所述存储器中的多个应用窗口界面的数据,其中,所述应用窗口界面的初始数量超过显示子系统的可用硬件层数量;
将所选多个窗口界面的数据馈送到所述可用硬件层;
由所述合成器根据所馈送的硬件层内容合成中间帧。
选择存储在所述存储器中的至少一个先前未选择的应用窗口界面的数据;
将所述中间帧和所选择的至少一个先前未选择的应用窗口界面的数据馈送到所述可用硬件层;以及
由所述合成器根据所馈送的硬件层内容合成后续帧。
10.根据权利要求9所述的装置,其特征在于,所选择的应用窗口界面的初始数量对应于所述可用硬件层的数量。
11.根据权利要求9至10中任一项所述的装置,其特征在于,所述装置用于:
将所述中间帧存储在所述存储器中。
12.根据权利要求11所述的装置,其特征在于,所述装置用于:
通过替换先前存储的中间帧将所述后续帧存储在所述存储器中。
13.根据权利要求9至12中任一项所述的装置,其特征在于,将所述中间帧和所选择的至少一个先前未选择的应用窗口界面的数据馈送到所述可用硬件层时,所述装置用于:当所述剩余未选择的应用窗口界面数量等于或超过所述硬件层的数量时,为每个所述可用硬件层馈送先前未选择的应用窗口界面或中间帧中的一个。
14.根据权利要求9至13中任一项所述的装置,其特征在于,当所述剩余未选择的应用窗口界面数量等于或超过所述硬件层的数量时,所述后续帧用作所述中间帧,且所述装置还用于至少执行一次以下序列:
选择存储在所述存储器中的至少一个先前未选择的应用窗口界面的数据;
将所述中间帧和所选择的至少一个先前未选择的应用窗口界面的数据馈送到所述可用硬件层;以及
由所述合成器根据所馈送的硬件层内容合成后续帧。
15.根据权利要求9至13中任一项所述的装置,其特征在于,选择所述至少一个先前未选择的应用窗口界面的数据时,所述装置用于:当所述剩余未选择的应用窗口界面数量小于所述可用硬件层的数量时,选择所有所述剩余未选择的应用窗口界面。
16.根据权利要求15所述的装置,其特征在于,所述后续帧包括最终帧,且所述装置用于:使所述最终帧传输到至少一个显示连接器、至少一个外部连接器和虚拟显示器中的至少一个。
17.一种计算机程序,其特征在于,包括程序代码,所述程序代码在由处理器执行时,使所述处理器执行权利要求1至8中任一项所述的方法。
18.一种计算设备,其特征在于,包括权利要求9至16中任一项所述的装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2018/061701 WO2019214803A1 (en) | 2018-05-07 | 2018-05-07 | A method, an apparatus and a computer program for display contents generation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112074805A true CN112074805A (zh) | 2020-12-11 |
CN112074805B CN112074805B (zh) | 2023-03-28 |
Family
ID=62165548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880093125.XA Active CN112074805B (zh) | 2018-05-07 | 2018-05-07 | 一种用于生成显示内容的方法、装置和计算机程序 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11302292B2 (zh) |
EP (1) | EP3743802B1 (zh) |
CN (1) | CN112074805B (zh) |
WO (1) | WO2019214803A1 (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009157077A (ja) * | 2007-12-26 | 2009-07-16 | Nec Corp | 画像表示装置、表示制御方法及びプログラム |
US20100079489A1 (en) * | 2008-10-01 | 2010-04-01 | Ati Technologies Ulc | System and method for efficient digital video composition |
CA2752344A1 (en) * | 2011-09-15 | 2013-03-15 | Research In Motion Limited | System and methods for managing composition of surfaces |
US20130069981A1 (en) * | 2011-09-15 | 2013-03-21 | Research In Motion Limited | System and Methods for Managing Composition of Surfaces |
US20130222362A1 (en) * | 2004-08-30 | 2013-08-29 | Qnx Software Systems Limited | Method and system for providing transparent access to hardware graphic layers |
US20150084986A1 (en) * | 2013-09-23 | 2015-03-26 | Kil-Whan Lee | Compositor, system-on-chip having the same, and method of driving system-on-chip |
CN104704530A (zh) * | 2012-11-09 | 2015-06-10 | 英特尔公司 | 对于显示子系统的混合显示帧缓冲器 |
CN105359503A (zh) * | 2013-07-16 | 2016-02-24 | 哈曼国际工业有限公司 | 图像层组合 |
US20160163208A1 (en) * | 2014-12-04 | 2016-06-09 | General Electric Company | System and method for collision avoidance |
WO2016126256A1 (en) * | 2015-02-05 | 2016-08-11 | Citrix Systems, Inc. | Detecting content types and window regions in composited display frames |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2532940B (en) * | 2014-12-01 | 2021-12-15 | Advanced Risc Mach Ltd | Method of and apparatus for providing an output surface in a data processing system |
-
2018
- 2018-05-07 CN CN201880093125.XA patent/CN112074805B/zh active Active
- 2018-05-07 EP EP18724508.9A patent/EP3743802B1/en active Active
- 2018-05-07 WO PCT/EP2018/061701 patent/WO2019214803A1/en unknown
-
2020
- 2020-07-20 US US16/932,958 patent/US11302292B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130222362A1 (en) * | 2004-08-30 | 2013-08-29 | Qnx Software Systems Limited | Method and system for providing transparent access to hardware graphic layers |
JP2009157077A (ja) * | 2007-12-26 | 2009-07-16 | Nec Corp | 画像表示装置、表示制御方法及びプログラム |
US20100079489A1 (en) * | 2008-10-01 | 2010-04-01 | Ati Technologies Ulc | System and method for efficient digital video composition |
CA2752344A1 (en) * | 2011-09-15 | 2013-03-15 | Research In Motion Limited | System and methods for managing composition of surfaces |
US20130069981A1 (en) * | 2011-09-15 | 2013-03-21 | Research In Motion Limited | System and Methods for Managing Composition of Surfaces |
CN104704530A (zh) * | 2012-11-09 | 2015-06-10 | 英特尔公司 | 对于显示子系统的混合显示帧缓冲器 |
CN105359503A (zh) * | 2013-07-16 | 2016-02-24 | 哈曼国际工业有限公司 | 图像层组合 |
US20150084986A1 (en) * | 2013-09-23 | 2015-03-26 | Kil-Whan Lee | Compositor, system-on-chip having the same, and method of driving system-on-chip |
US20160163208A1 (en) * | 2014-12-04 | 2016-06-09 | General Electric Company | System and method for collision avoidance |
WO2016126256A1 (en) * | 2015-02-05 | 2016-08-11 | Citrix Systems, Inc. | Detecting content types and window regions in composited display frames |
Non-Patent Citations (2)
Title |
---|
R. YANG ET AL.: "Flexible Pixel Compositor for Plug-and-Play Multi-Projector Displays", 《2007 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION》 * |
梅花落: "Android图形显示系统——下层显示4:图层合成下", 《HTTPS://DEVELOPER.ALIYUN.COM/ARTICLE/57389》 * |
Also Published As
Publication number | Publication date |
---|---|
WO2019214803A1 (en) | 2019-11-14 |
CN112074805B (zh) | 2023-03-28 |
EP3743802A1 (en) | 2020-12-02 |
EP3743802B1 (en) | 2024-01-24 |
US11302292B2 (en) | 2022-04-12 |
US20200349906A1 (en) | 2020-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8063901B2 (en) | Method and apparatus for efficient client-server visualization of multi-dimensional data | |
CN108206937B (zh) | 一种提升智能分析性能的方法和装置 | |
CN103440612B (zh) | 一种gpu虚拟化中图像处理方法和装置 | |
US10878611B2 (en) | Techniques for pre-processing index buffers for a graphics processing pipeline | |
US20190028752A1 (en) | Integrated video codec and inference engine | |
US20150100884A1 (en) | Hardware overlay assignment | |
US10600229B2 (en) | Techniques for representing and processing geometry within a graphics processing pipeline | |
TW200807328A (en) | Asymmetric multi-GPU processing | |
EP3270371B1 (en) | Method and apparatus for managing graphics layers within a graphics display component | |
KR101956197B1 (ko) | 그래픽 처리 유닛을 이용한 데이터 처리 방법 및 장치 | |
CN106055294A (zh) | 一种图层合成优化方法和装置 | |
DE102020105902A1 (de) | Hardware-indexzuordnungsmechanismus | |
US20110134132A1 (en) | Method and system for transparently directing graphics processing to a graphical processing unit (gpu) of a multi-gpu system | |
US10546045B2 (en) | Efficient extended-precision processing | |
CN112074805B (zh) | 一种用于生成显示内容的方法、装置和计算机程序 | |
US20160366424A1 (en) | Multiple Bit Rate Video Decoding | |
CN117273069A (zh) | 一种基于神经网络模型的推理方法、装置、设备及介质 | |
US9911217B2 (en) | Animation arrangement | |
US20180315216A1 (en) | Digital Content Rendering that Supports Alpha Is Shape (AIS) as part of Knockout Groups | |
US20150131923A1 (en) | Dynamic digital image compositing using image templates | |
US20130182000A1 (en) | System and method for rendering an image | |
US20190108814A1 (en) | Method for improving system performance, device for improving system performance, and display apparatus | |
US9883194B2 (en) | Multiple bit rate video decoding | |
US20150199833A1 (en) | Hardware support for display features | |
KR102077146B1 (ko) | 그래픽 처리 방법 및 장치 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |