WO2017167125A1 - 一种图形合成方法、信息交互方法及系统 - Google Patents
一种图形合成方法、信息交互方法及系统 Download PDFInfo
- Publication number
- WO2017167125A1 WO2017167125A1 PCT/CN2017/078035 CN2017078035W WO2017167125A1 WO 2017167125 A1 WO2017167125 A1 WO 2017167125A1 CN 2017078035 W CN2017078035 W CN 2017078035W WO 2017167125 A1 WO2017167125 A1 WO 2017167125A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- subsystem
- control
- information
- graphics
- graphic
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Definitions
- the present application relates to the field of communications technologies, and in particular, to a graphics synthesis method, an information interaction method, and a system.
- the cloud operating system also known as cloud OS, is an operating system supported by cloud computing and cloud storage technologies.
- the cloud operating system will be widely used in the future because it can integrate massive computing power and provide powerful resource allocation capabilities.
- Cloud operating systems can be used for both traditional desktop systems (such as PCs) and mobile devices.
- Applications or services based on cloud operating systems, as well as applications or services based on traditional operating systems, will operate within the framework of the cloud operating system, which requires the cloud operating system framework to integrate applications or services based on different operating systems.
- the embodiment of the present application provides a graphics synthesis method and system for implementing compatibility between different operating systems at a graphics processing level.
- the first control in the first subsystem receives the graphic data sent by the graphic object corresponding to the first control in the second subsystem graphics synthesizer;
- the first control transmits the graphics data to a first subsystem graphics synthesizer.
- the method further includes the first subsystem graphics synthesizer receiving graphics data transmitted by the graphics object in the first subsystem.
- the method further includes: the first subsystem graphics synthesizer synthesizes the graphics data sent by the first control and the graphics data sent by the graphics object in the first subsystem.
- the first control is a plurality, and the first control sends the graphic data to the first Subsystem graphics synthesizer, including:
- the plurality of first controls send the respective received graphic data to the graphic objects in the first subsystem
- the graphic object in the first subsystem sends the graphic data sent by the plurality of first controls to the first subsystem graphic synthesizer as the graphic data corresponding to the graphic object.
- the method further includes: the first control receives graphic object setting information sent by the application component in the first subsystem; the first control sends the received graphic object setting information to the first subsystem graphic synthesis Device.
- the graphic object is an application window, and the graphic object setting information includes window attribute information.
- the method further includes: creating the first control.
- the creating the first control includes: the application component in the first subsystem is configured to create a graphic object corresponding to the graphic object in the second subsystem for providing graphic data according to the request for using the graphic data in the second subsystem.
- the first control is configured to create a graphic object corresponding to the graphic object in the second subsystem for providing graphic data according to the request for using the graphic data in the second subsystem.
- the method further includes: destroying the first control.
- Destroying the first control comprising: the application component in the first subsystem receiving the information that the graphic object corresponding to the first control in the second subsystem is destroyed, and destroying the first control; or The application component in the first subsystem receives an indication to end the use of the graphics data in the second subsystem, and then destroys the first control corresponding to the graphics object in the second subsystem for providing the graphics data.
- the method further includes:
- the first application component in the first subsystem sends control information to the first system service component in the first subsystem, the control information is used to indicate that the graphic data in the second subsystem is acquired;
- the first system service component sends the control information to a second system service component of the second subsystem
- the second system service component sends the control information to a second one of the second subsystems.
- the first subsystem is a Host subsystem
- the second subsystem is a Guest subsystem.
- the graphics synthesis system includes: a first subsystem graphics synthesizer, a second subsystem graphics synthesizer, and a first control in the first subsystem;
- a first control in the first subsystem configured to receive graphic data sent by the graphic object corresponding to the first control in the second subsystem graphics synthesizer, and send the graphic data to the first subsystem graphic synthesis Device.
- the first subsystem graphics synthesizer is further configured to: receive graphics data sent by the graphic object in the first subsystem.
- the first subsystem graphic synthesizer is further configured to: synthesize the graphic data sent by the first control and the graphic data sent by the graphic object in the first subsystem.
- the first control is a plurality of, the plurality of first controls send the respective received graphic data to the graphic object in the first subsystem;
- the first subsystem graphics synthesizer is specifically configured to: receive graphic data sent by the graphic object in the first subsystem; wherein the graphic object corresponds to the graphic data sent by the plurality of first controls The graphics data is sent to the first subsystem graphics synthesizer.
- first control is further configured to:
- the received graphic object setting information is sent to the first subsystem graphic synthesizer.
- the graphic object is an application window, and the graphic object setting information includes window attribute information.
- the first subsystem further includes an application component; and the application component in the first subsystem is configured to create the first control.
- the application component in the first subsystem is specifically configured to: create a first control corresponding to the graphic object for providing graphic data in the second subsystem according to the request for using the graphic data in the second subsystem .
- the first subsystem further includes an application component; and the application component in the first subsystem is configured to destroy the first control.
- the application component in the first subsystem is specifically configured to:
- the first control corresponding to the graphical object in the second subsystem for providing the graphics data is destroyed.
- the first subsystem further includes a first application component
- the second subsystem further includes a second application component
- a first application component in the first subsystem configured to send control information to the first system service component in the first subsystem, where the control information is used to indicate that the graphic data in the second subsystem is acquired;
- the first system service component is specifically configured to: send the control information to a second system service component in the second subsystem;
- the second system service component is specifically configured to send the control information to a second application component in the second subsystem.
- the first subsystem is a Host subsystem
- the second subsystem is a Guest subsystem.
- the first control in the first subsystem receives the graphic data sent by the graphic object corresponding to the first control in the second subsystem graphics synthesizer, and the first control will receive the graphic data.
- Sending to the first subsystem graphics synthesizer it can be seen that, in the first subsystem, there is a corresponding first control corresponding to the graphic object in the second subsystem graphics synthesizer, and the first control provides between the two subsystems
- the transfer function of graphic data enables compatibility between different operating systems at the graphics processing level.
- the embodiment of the present application provides an information interaction method and system for implementing compatibility between different operating systems at a control level.
- the first system service component in the first subsystem receives the first information sent by the first application component in the first subsystem
- the first system service component sends the first information to a second system service component of the second subsystem
- the second system service component transmits the first information to a second one of the second subsystems.
- the method further comprises:
- the second system service component receives the second information sent by the second application component, where the second information is obtained by the first application component according to the first information;
- the second system service component sends the second information to the first system service component
- the first system service component sends the second information to the first application component.
- the first application component sends the first information to the first system service component in one or more of the following cases:
- the application components in the second subsystem need to be notified for processing.
- the method further comprises: creating the first system service component.
- the first system service component is created when the first application component is created.
- the method further comprises: destroying the first system service component.
- the first system service component is destroyed when the first application component is destroyed.
- the information comprises: control information and/or data.
- the first subsystem is a Host subsystem
- the second subsystem is a Guest subsystem
- the first subsystem is a Guest subsystem
- the second subsystem is a Host subsystem
- a first system service component in the first subsystem configured to receive first information sent by the first application component in the first subsystem
- the first system service component configured to send the first information to a second system service component in the second subsystem
- the second system service component is configured to send the first information to a second application component in the second subsystem.
- the second system service component is further configured to: receive second information sent by the second application component, and send the second information to the first system service component; wherein the second information Obtained for the first application component according to the first information;
- the first system service component is further configured to: send the second information to the first application component.
- the first application component is specifically configured to: in one or more of the following cases, The first system service component sends the first information:
- the application components in the second subsystem need to be notified for processing.
- the information comprises: control information and/or data.
- the first subsystem is a Host subsystem
- the second subsystem is a Guest subsystem
- the first subsystem is a Guest subsystem
- the second subsystem is a Host subsystem
- the first system service component in the first subsystem receives the information sent by the first application component in the first subsystem; the first system service component sends the information to the second subsystem.
- the second system service component, the second system service component sends the information to the second application component in the second subsystem, thereby implementing information interaction between the application components in the different subsystems.
- FIG. 1 is a schematic diagram of an operating system framework applicable to an embodiment of the present application
- FIG. 2 is a schematic diagram of an information interaction architecture of a cross-system according to an embodiment of the present application
- FIG. 3 is a schematic diagram of a dual-system compatible architecture of a graphics synthesis layer according to an embodiment of the present application
- FIG. 4 is a schematic diagram of a user interface of a video playback application provided by an embodiment of the present application.
- FIG. 5 is a schematic structural diagram of a graphics synthesis system according to an embodiment of the present disclosure.
- FIG. 6 is a schematic structural diagram of an information interaction system according to an embodiment of the present application.
- the embodiment of the present application provides integration and unification at the graphics processing level in the framework of the first operating system. To provide users with a seamless dual system user experience.
- the embodiment of the present application can be applied to an application that needs to run across operating systems, and is also applicable to a scenario in which graphics data or control information needs to be transmitted between applications based on different operating systems.
- the first operating system and the second operating system are different operating systems.
- the first operating system may be a cloud operating system
- the second operating system may be a traditional operating system. More Specifically, the first operating system may be YunOS, and the second operating system may be Android.
- FIG. 1 is a schematic diagram of an operating system framework applicable to an embodiment of the present application. Taking YunOS as the first operating system and Android as the second operating system as an example, FIG. 1 shows a dual system compatible architecture within the YunOS framework.
- the system framework includes two subsystems: Host and Guest.
- YunOS is the Host subsystem
- Android is the Guest subsystem
- the two subsystems are isolated by the container technology.
- the Hardware Abstraction Layer (HAL) within the framework provides interfaces and driver services for graphical display and other aspects.
- Glibc in the Host subsystem is the lowest API (Application Programming Interface) in Linux.
- Bioric in the Guest subsystem is the Linux kernel library for Android.
- Libhybris is a compatibility layer that enables Glibc-based operating systems to reuse existing Android driver services; in graphics processing, libhybris also implements the EGL platform.
- EGL platform This is a backend-independent graphical platform that follows the EGL interface and multiple backend implementations.
- the Gralloc module is located in the hardware abstraction layer and encapsulates all access operations to the framebuffer.
- the InputManageerService (input management module) in the Guest subsystem is mainly used to monitor and manage input events.
- Wayland Compositor (or Weston) is the graphics synthesizer of the Host subsystem, where Weston is the reference implementation of the Wayland Compositor.
- the Wayland protocol can be used for communication between the graphics synthesizer of the Guest subsystem and the graphics synthesizer of the Host subsystem.
- the Wayland protocol defines how to communicate with the kernel and how to communicate with the client; Wayland reuses the graphics, input and output technologies of all Linux kernels.
- the Wayland protocol can be communicated between the graphic synthesizer of Andriod and the graphic synthesizer of YunOS, so that the graphics system in Android is overhead and bridged to the graphic system of YunOS, and the unified synthesis rendering of the dual system is realized. This provides better dual system compatibility and a seamless user experience for dual systems.
- the embodiments of the present application provide dual system compatibility on the following two levels:
- the Host subsystem is YunOS
- the Guest subsystem is Android.
- the embodiment of the present application establishes a connection path for data and/or control information of the cross-operating system environment from the first subsystem to the second subsystem, that is, provides an IPC (Inter -process communication, mechanism to implement information exchange between application components (or processes) of different subsystems.
- IPC Inter -process communication, mechanism to implement information exchange between application components (or processes) of different subsystems.
- an information interaction architecture provided by an embodiment of the present application is provided.
- a Bridge Proxy is established in the Host subsystem, and a Bridge Service is established in the Guest subsystem.
- Bridge Proxy and Bridge Service are system service components.
- the Android system uses the Binder mechanism as the IPC (Inter-Process Communication) mechanism, and the YunOS uses the socket or dbus as the IPC communication mechanism, in order to make information between application components (that is, application processes) of different operating systems.
- the Bridage Proxy is used as a system service to convert the IPC mechanism between the two systems.
- An application component is one of the components of an application. It is called an Activity in the Android system and a Page in the YunOS. It is the main body of the application.
- a process is an application or application component that is running.
- the Bridge Service is usually a resident service and the Bridge Proxy can be created or enabled when needed.
- Bridge Proxy when an application component (process) is created in the Host subsystem, Bridge Proxy is created or enabled to enable information interaction between different subsystems through the Bridge Proxy.
- an application component (process) is destroyed in the Host subprocess, the Bridge Proxy is destroyed or closed.
- the application component (process) described in the embodiment of the present application indicates that the application component and the process are in an alternative relationship, and the process herein can be understood as an application component in an operational state.
- application components (processes) in the Host subsystem can send information, such as data and/or control information, to the Bridge Proxy, which sends the data and/or control information sent by the Bridge Proxy to Bridge.
- the Service, Bridge Service sends the data and/or control information to the application components (processes) in the Guest subsystem.
- the Bridge Proxy and the Bridge Service can communicate based on the Binder mechanism.
- the Bridge Service can interact with application components (processes) in the Guest subsystem through intent or socket methods.
- the data and/or control information as a result of the processing may be sent to the Bridge Service, and the Bridge Service compares the data and / or control information is sent to the Bridge Proxy, the Bridge Proxy sends the data and / or control information to the application components (processes) in the Host subsystem.
- application components (processes) in the Guest subsystem may send information, such as data and/or control information, to the Bridge Service, which sends the data and/or control information to the Bridge Proxy, Bridge.
- the Proxy sends the data and/or control information to the application components (processes) in the Host subsystem.
- the application component (process) in the Host subsystem processes the received data and/or control information
- the data and/or control information as a result of the processing may be sent to the Bridge Proxy
- the Bridge Proxy may / or control information is sent to the Bridge Service
- the Bridge Service sends the data and / or control information to the application components (processes) in the Guest subsystem.
- the information exchanged between processes in different subsystems may be data or control information
- the control information may include an event, or request information, or window attribute information.
- the above information interaction method can be applied to some functions of an application that need to be implemented based on the Host subsystem, and some functions need to be based on the scenario implemented by the Guest subsystem.
- a video playback app when a user submits a request to play a movie through the video playback app user interface, the event is acquired by the video playback app in the process of the Host subsystem due to the video content.
- SDK Software Development Kit
- the logic related to video content is developed in the Android environment, that is, the object requested by the event is in the Guse subsystem.
- the process of the video playback app in the Host subsystem sends the event to the Bridge Proxy, which sends the event to the Bridge Service, which is sent by the Bridge Service to the video playback app in the Guest subsystem.
- the process of the video playback app in the Guest subsystem sends the requested video data to the graphics synthesizer of the Host subsystem for processing.
- the IPC architecture provided by the embodiment of the present application implements information exchange across operating systems, so that different operating systems are merged at the control level, thereby making the application-level fusion interactive experience seamless.
- FIG. 3 is a schematic diagram of a dual-system compatible architecture of a graphics synthesis layer according to an embodiment of the present application.
- a layer is created in the graphics synthesizer SurfaceFlinger of the Guest subsystem, and only two layers are exemplarily shown in the figure, namely layer1 and layer2.
- p_surface1 and p_surface2 are created, where p_surface1 corresponds to layer1 in the Guest subsystem and corresponds to surface1 in the graphics synthesizer of the Host subsystem (not shown in the figure) for connecting layer1 And the graphics synthesizer Weston of the Host subsystem, more specifically for connecting surface1 in layer1 and Weston; P_surface2 corresponds to layer2 and corresponds to surface2 in the graphics synthesizer of the Host subsystem (not shown in the figure), the graphics synthesizer Weston for connecting layer2 and the Host subsystem, more specifically for connecting layer2 and Surface2 in Weston.
- P_surface can be a control, which is used to connect the layer synthesizer of the layer and Host subsystem in the guest subsystem graphics synthesizer, as a proxy of the layer in the guest subsystem, and pass the graphics data of the guest subsystem to the host sub
- the graphics synthesizer of the system Specifically, layer1 can send graphics data to p_surface1, p_surface1 can send graphics data sent by layer1 to the graphics synthesizer Weston of Host subsystem; layer2 can send graphics data to p_surface1, and p_surface2 can send graphics data sent by layer2 The graphics synthesizer Weston sent to the Host subsystem.
- the application component can also create a local surface in the Host subsystem, and send the graphic data in the Host subsystem to the graphic synthesizer Weston of the Host subsystem through the local surface.
- local surface is the surface in the Host subsystem.
- the graphics synthesizer of the Host subsystem can synthesize the graphics data of the Host subsystem, and synthesize the graphics data of the Guest subsystem, and realize the graphics synthesis across operating systems.
- the application component can also create layer3.
- Layer3 can send the graphics data in the Guest subsystem to the graphics synthesizer Weston in the Host subsystem, and the graphics data is synthesized by Weston.
- the embodiment of the present application uses layer content as the basic unit of the integration of the two subsystems, that is, the graphic data sent through the p_surface may be
- the layer content more specifically, may be the graphics data stored in the GraphicBuffer queue corresponding to the layer.
- a layer is a graphical object created by an application process. Generally, a layer represents a layer, and multiple layers can be superimposed in a Z-order order to form a user interface.
- a layer can correspond to a GraphicBuffer queue, and a GraphicBuffer queue contains multiple GraphicBuffers.
- the GraphicBuffer is created by the application component in the process of the Guest subsystem, where the graphic data is stored, such as the graphic data stored by the process of the application component in the Guest subsystem.
- Figure 3 the architecture of Figure 3 is described by YunOS and Android, and the graphics data is The layer is submitted to the Surfaceflinger for synthesis.
- the graphics object in the Guest subsystem and the control of the Host subsystem graphics synthesizer can be connected to other types of graphic objects.
- the data is sent to the Host Subsystem Graphics Synthesizer for synthesis.
- the p_surface may further receive graphic object setting information sent by the application component in the Host subsystem, and send the graphic object setting information to the graphic synthesizer Weston of the Host subsystem.
- Weston can set or update graphic objects based on the graphic object setting information.
- the graphic object may be an application window
- the graphic object setting information may be window attribute information
- Weston may update the corresponding window according to the window attribute information, such as changing a window transparency.
- the p_surface may provide an interface for calling the application component in the Host subsystem.
- the application component calls the graphic object to process the related interface
- the corresponding operation of the interface is performed to implement the graphic object setting, such as window property update.
- the application component in the Host subsystem receives the video window attribute update event (which can be triggered by the user by adjusting the video window size or transparency, the application component sends the updated window attribute information to the video)
- the surface of the window corresponds to p_surface1, and the window attribute information is sent to Weston by p_surface1, and Weston redraws the window according to the window attribute information.
- the lifecycle of p_surface can be managed by application components in the Host subsystem.
- the application component in the Host subsystem may create p_surface1 according to the request for displaying the graphics data obtained by the Guest subsystem; when the graphic object corresponding to p_surface1 in the Guest subsystem is destroyed, p_surface1 is destroyed.
- the p_surface1 corresponding to the graphics object in the Guest subsystem for providing the graphics data is destroyed.
- p_surface can be created based on the classes provided by the system, such that the functional properties of the parent class (ie, the classes provided by the system) can be inherited. Further, considering different application scenarios, there may be different requirements. Therefore, when a p_surface is created based on a system-provided class, some parameters or attributes are reset in combination with the current application scenario.
- the video playback application can be based on the system when creating p_surface
- the class is created and set to the sub-surface of the h5surface, controlling the width, position, and so on.
- graphics data sent by multiple p_surfaces may be sent to a local surface (ie, a surface in the Host subsystem) to obtain synthesized graphics data, which is sent to Weston by the local surface, and finally submitted.
- a local surface ie, a surface in the Host subsystem
- the above graphic synthesis method can be applied to some applications, and some functions need to be implemented based on the Host subsystem, and some functions need to be implemented based on the Guest subsystem.
- the video playback app when the video playback app acquires a video play event in the process in the Host subsystem (this event can be triggered by the user submitting a video play request through the user interface), create p_surface1, P_surface1 corresponds to the surface of the video window in Weston; further, the process of the video playback app in the Host subsystem sends the event to the video playback app in the guest subsystem (see the information interaction between operating system processes)
- the process of the video playback app in the guest subsystem acquires video data from the network side according to the event, and the video decoded content is transmitted to the VideoView control through the MediaCodec (media decoder), and then submitted to the surfaceflinger, and passed through the p_surface1.
- the graphic data is sent to the weston for synthesis to
- the process in the guest subsystem of the video playback app sends the event to the process in the video subsystem, and the process in the video subsystem app destroys p_surface1 according to the event.
- the p_surface in the Host subsystem receives the graphics data sent by the layer corresponding to the p_surface in the guest subsystem graphics synthesizer by the above-mentioned embodiment of the present application, and the p_surface will receive the received data.
- the graphics data is sent to the host subsystem graphics synthesizer.
- the p_surface provides the transmission function of the graphics data between the two subsystems. This achieves compatibility between different operating systems at the graphics processing level.
- Tom's mobile phone uses the YunOS system, and its system architecture is shown in Figure 1.
- the video playback app is installed on the mobile phone.
- the video data downloading and decoding related functions in the application are based on Android, and the playback control related functions are implemented based on YunOS.
- the main interface of the video playback app is shown in FIG. 4, which mainly includes the video window 100.
- the play control bar 200 and the window control bar 300 are displayed.
- the play control bar 200 is provided with a play control button, and specifically includes a pause button 201, a stop button 202, a play button 203, and a process drag bar 204.
- a window maximizer key 301 and a window restore key 302 are disposed on the window control strip 300.
- the main interface of the video playback app also includes an exit key 400.
- Tom selects a movie and submits a request to view the movie, after which the movie is played in the video window 100.
- the video playback app process in the Host subsystem creates a p_surface; the video playback app process in the Guest subsystem creates a buffer queue, obtains video data of the movie from the network side, and performs the obtained video data. Decoding, the decoded video data is stored in the buffer queue.
- the layer in the graphics synthesizer SurfaceFlinger sends the video data in the buffer queue to the p_surface; in the Host subsystem, the p_surface sends the video data to the graphics synthesizer weston, which combines the video data, and Displayed in the video window 100 by the display driver.
- the video playback app process sends the relevant information of the maximized video window 100 (such as the indication information of the maximized window and/or the window attribute information, etc.) to the p_surface, which p_surface will The information is sent to weston, which repaints the video window 100 based on this information to maximize display.
- relevant information of the maximized video window 100 such as the indication information of the maximized window and/or the window attribute information, etc.
- the video playback app process in the Host subsystem sends an event generated by clicking the pause button 201 to the Bridge Proxy, and the Bridge Proxy sends the event to the Bridge corresponding to the video playback app process in the Guest subsystem.
- Service, Bridge Service sends the event to the video playback app process in the Guest subsystem.
- the video playback app process responds to the event and no longer sends video data to the p_surface through the layer.
- the video playback app process in the Host subsystem sends an event generated by clicking the play button 203 to the Bridge Proxy, and the Bridge Proxy sends the event to the Bridge corresponding to the video playback app process in the Guest subsystem.
- Service, Bridge Service sends the event to the video playback app process in the Guest subsystem.
- the video playback app process responds to the event and continues to send video data to the p_surface through the layer.
- the video window 100 is closed.
- the video playback app process in the Guest subsystem sends the event to the Bridge Proxy through the Bridge Service, and the Bridge Proxy sends the event to the video playback app process in the Host subsystem; the video playback app process in the Host subsystem.
- the video window 100 is closed and the p_surface is destroyed.
- the video playback app process in the Host subsystem acquires the event of clicking the exit key 400, destroys the Bridge Proxy, and closes the video playback app.
- the Android application when the embodiment of the present application is applied to a scenario in which the Android and the YunOS are integrated, the Android application can be made transparent, and the Android application can compile the corresponding APK or binary code through the SDK or the NDK without performing an Android application. Too many improvements.
- the embodiments of the present application can implement diversification of cross-system integration.
- Host SDKs for example, h5, qt, domoless, native, etc.
- the input access method can be customized.
- the embodiment of the present application provides a fusion of application-level content, which can display the content processed by the application process of YunOS and Android in one window, and organically integrate two different operating systems into one, and a unified interactive experience does not need to be performed. Switch windows to manage all content in a unified manner.
- the embodiment of the present application provides a graphics synthesis system, which can implement the graphics synthesis process described in the foregoing embodiment.
- FIG. 5 is a schematic structural diagram of a graphics synthesis system according to an embodiment of the present application.
- the system may include: a first subsystem graphics synthesizer 51, a second subsystem graphics synthesizer 52, and a first one of the first subsystems. Control 53;
- a first control 53 in the first subsystem configured to receive graphic data sent by the graphic object corresponding to the first control in the second subsystem graphic synthesizer 52, and send the graphic data to the first subsystem Graphic synthesizer 51.
- first subsystem graphics synthesizer 51 is further configured to: receive graphics data sent by the graphic object in the first subsystem.
- first subsystem graphics synthesizer 51 is further configured to: synthesize the graphics data sent by the first control 53 and the graphics data sent by the graphics object in the first subsystem.
- the first control is a plurality of, the plurality of first controls send the respective received graphics data to the graphic objects in the first subsystem; correspondingly, the first subsystem graphics synthesizer 51 is specifically configured to: And receiving the graphic data sent by the graphic object in the first subsystem; wherein the graphic object sends the graphic data sent by the plurality of first controls as the graphic data corresponding to the graphic object to the first subsystem graphic synthesizer.
- the first control 53 is further configured to: receive graphic object setting information sent by the application component in the first subsystem; and send the received graphic object setting information to the first subsystem graphic synthesizer 51.
- the graphic object is an application window, and the graphic object setting information includes window attribute information.
- the first subsystem further includes an application component; and the application component in the first subsystem is configured to create the first control.
- the application component in the first subsystem is specifically configured to: create a first control corresponding to the graphic object for providing graphic data in the second subsystem according to the request for using the graphic data in the second subsystem 53.
- the first subsystem further includes an application component; and the application component in the first subsystem is configured to destroy the first control 53.
- the application component in the first subsystem is specifically configured to: after receiving information that the graphic object corresponding to the first control 53 in the second subsystem is destroyed, destroying the first control 53; or Upon receiving an indication to end the use of the graphical data in the second subsystem, the first control 53 corresponding to the graphical object in the second subsystem for providing the graphical data is destroyed.
- the first subsystem further includes a first application component
- the second subsystem further includes a second application component; correspondingly, the first application component of the first subsystem is configured to be in the first subsystem
- the first system service component 54 sends control information, the control information is used to indicate that the graphic data in the second subsystem is acquired; the first system service component 54 is specifically configured to send the control information to the second subsystem.
- the second system service component 55 is configured to send the control information to the second application component in the second subsystem.
- the first subsystem is a Host subsystem
- the second subsystem is a Guest subsystem.
- the embodiment of the present application provides an information interaction system, and the system The information interaction method described in the foregoing embodiment can be implemented.
- FIG. 6 it is a schematic diagram of an information interaction system architecture provided by an embodiment of the present application.
- the system may include: a first system service component 61 in the first subsystem, and a second system service component 62 in the second subsystem, where:
- a first system service component 61 in the first subsystem configured to receive first information sent by the first application component in the first subsystem, and send the first information to a second system in the second subsystem Service component 62;
- the second system service component 62 is configured to send the first information to a second application component in the second subsystem.
- the second system service component 62 is further configured to: receive the second information sent by the second application component, and send the second information to the first system service component 61; wherein, the The second information is obtained by the first application component according to the first information.
- the first system service component 61 is further configured to: send the second information to the first application component.
- the first application component is specifically configured to: send the first information to the first system service component 61 in one or more of the following cases:
- the application components in the second subsystem need to be notified for processing.
- the information comprises: control information and/or data.
- the first subsystem is a Host subsystem
- the second subsystem is a Guest subsystem
- the first subsystem is a Guest subsystem
- the second subsystem is a Host subsystem
- These computer program instructions can also be stored at a computer or other programmable data location.
- the device is readable in a computer readable memory that operates in a particular manner such that instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device implemented in a flow or a flow and/or block diagram of the flowchart The function specified in the box or in multiple boxes.
- These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
- the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请公开了一种图形合成方法、信息交互方法及系统。本申请中,第一子系统中的第一控件接收第二子系统图形合成器中与所述第一控件对应的图形对象发送的图形数据,第一控件将接收到的图形数据发送给第一子系统图形合成器,可以看出,第一子系统中,对应于第二子系统图形合成器中的图形对象存在对应的第一控件,该第一控件提供了两个子系统间图形数据的传输功能,从而在图形处理层面实现了不同操作系统间的兼容。
Description
本申请涉及通信技术领域,尤其涉及一种图形合成方法、信息交互方法及系统。
云操作系统又称云OS,是以云计算、云存储技术作为支撑的操作系统。云操作系统因其能够整合海量的计算能力并能够提供强大的资源调配能力,未来将得到更广泛的应用。
云操作系统既可以用于传统的桌面系统设备(比如PC)又适用于移动设备。基于云操作系统的应用或服务,以及基于传统操作系统的应用或服务,将会在云操作系统框架内运行,这就要求云操作系统框架能够将基于不同操作系统的应用或服务进行融合。
目前,针对在一种操作系统框架内,基于不同操作系统的应用或服务如何在图形合成层面融合或者在控制层面融合,目前尚未有相应的解决方案。
申请内容
本申请实施例提供了一种图形合成方法及系统,用以在图形处理层面实现不同操作系统间的兼容。
本申请实施例提供的图形合成方法,包括:
第一子系统中的第一控件接收第二子系统图形合成器中与所述第一控件对应的图形对象发送的图形数据;
所述第一控件将所述图形数据发送给第一子系统图形合成器。
进一步地,该方法还包括:第一子系统图形合成器接收第一子系统中的图形对象发送的图形数据。
进一步地,该方法还包括:第一子系统图形合成器对所述第一控件发送的图形数据以及第一子系统中的图形对象发送的图形数据进行合成。
优选地,第一控件为多个,所述第一控件将所述图形数据发送给第一
子系统图形合成器,包括:
所述多个第一控件将各自接收到的图形数据发送给第一子系统中的图形对象;
所述第一子系统中的图形对象将所述多个第一控件发送的图形数据作为本图形对象对应的图形数据发送给第一子系统图形合成器。
优选地,该方法还包括:所述第一控件接收第一子系统中的应用组件发送的图形对象设置信息;所述第一控件将接收到的图形对象设置信息发送给第一子系统图形合成器。
其中,所述图形对象为应用程序窗口,所述图形对象设置信息包括窗口属性信息。
进一步地,第一子系统中的第一控件接收第二子系统图形合成器发送的图形数据之前,还包括:创建所述第一控件。
其中,创建所述第一控件,包括:第一子系统中的应用组件根据使用第二子系统中的图形数据的请求,创建与第二子系统中用于提供图形数据的图形对象所对应的第一控件。
进一步地,第一控件将第二子系统图形合成器发送的图形数据发送给第一子系统图形合成器之后,还包括:销毁所述第一控件。
其中,销毁所述第一控件,包括:第一子系统中的应用组件接收到第二子系统中与所述第一控件对应的图形对象被销毁的信息,则销毁所述第一控件;或者,第一子系统中的应用组件接收到结束使用第二子系统中的图形数据的指示,则销毁与第二子系统中用于提供所述图形数据的图形对象所对应的第一控件。
进一步地,第一子系统中的第一控件接收第二子系统图形合成器中与所述第一控件对应的图形对象发送的图形数据之前,还包括:
第一子系统中的第一应用组件向第一子系统中的第一系统服务组件发送控制信息,所述控制信息用于指示获取第二子系统中的图形数据;
所述第一系统服务组件将所述控制信息发送给第二子系统中的第二系统服务组件;
所述第二系统服务组件将所述控制信息发送给第二子系统中的第二应用组件。
优选地,所述第一子系统为Host子系统,所述第二子系统为Guest子系统。
本申请实施例提供的图形合成系统,包括:第一子系统图形合成器、第二子系统图形合成器,以及第一子系统中的第一控件;
第一子系统中的第一控件,用于接收第二子系统图形合成器中与所述第一控件对应的图形对象发送的图形数据,并将所述图形数据发送给第一子系统图形合成器。
进一步地,第一子系统图形合成器还用于:接收第一子系统中的图形对象发送的图形数据。
进一步地,第一子系统图形合成器还用于:对所述第一控件发送的图形数据以及第一子系统中的图形对象发送的图形数据进行合成。
优选地,第一控件为多个,所述多个第一控件将各自接收到的图形数据发送给第一子系统中的图形对象;
第一子系统图形合成器具体用于:接收所述第一子系统中的图形对象发送的图形数据;其中,所述图形对象将所述多个第一控件发送的图形数据作为本图形对象对应的图形数据发送给第一子系统图形合成器。
进一步地,所述第一控件还用于:
接收第一子系统中的应用组件发送的图形对象设置信息;
将接收到的图形对象设置信息发送给第一子系统图形合成器。
其中,所述图形对象为应用程序窗口,所述图形对象设置信息包括窗口属性信息。
优选地,第一子系统中还包括应用组件;所述第一子系统中的应用组件,用于创建所述第一控件。
其中,所述第一子系统中的应用组件具体用于:根据使用第二子系统中的图形数据的请求,创建与第二子系统中用于提供图形数据的图形对象所对应的第一控件。
优选地,第一子系统中还包括应用组件;所述第一子系统中的应用组件,用于销毁所述第一控件。
其中,所述第一子系统中的应用组件具体用于:
接收到第二子系统中与所述第一控件对应的图形对象被销毁的信息,
则销毁所述第一控件;或者,
接收到结束使用第二子系统中的图形数据的指示,则销毁与第二子系统中用于提供所述图形数据的图形对象所对应的第一控件。
优选地,第一子系统中还包括第一应用组件,第二子系统中还包括第二应用组件;
第一子系统中的第一应用组件,用于向第一子系统中的第一系统服务组件发送控制信息,所述控制信息用于指示获取第二子系统中的图形数据;
第一系统服务组件具体用于,将所述控制信息发送给第二子系统中的第二系统服务组件;
所述第二系统服务组件具体用于,将所述控制信息发送给第二子系统中的第二应用组件。
优选地,所述第一子系统为Host子系统,所述第二子系统为Guest子系统。
本申请的上述实施例中,第一子系统中的第一控件接收第二子系统图形合成器中与所述第一控件对应的图形对象发送的图形数据,第一控件将接收到的图形数据发送给第一子系统图形合成器,可以看出,第一子系统中,对应于第二子系统图形合成器中的图形对象存在对应的第一控件,该第一控件提供了两个子系统间图形数据的传输功能,从而在图形处理层面实现了不同操作系统间的兼容。
本申请实施例提供了一种信息交互方法及系统,用以在控制层面实现不同操作系统间的兼容。
本申请实施例提供的信息交互方法,包括:
第一子系统中的第一系统服务组件接收第一子系统中的第一应用组件发送的第一信息;
所述第一系统服务组件将所述第一信息发送给第二子系统中的第二系统服务组件;
所述第二系统服务组件将所述第一信息发送给第二子系统中的第二应用组件。
优选地,该方法还包括:
所述第二系统服务组件接收所述第二应用组件发送的第二信息,所述第二信息为所述第一应用组件根据所述第一信息得到的;
所述第二系统服务组件将所述第二信息发送给所述第一系统服务组件;
所述第一系统服务组件将所述第二信息发送给所述第一应用组件。
优选地,所述第一应用组件在以下之一或多种情况下,向所述第一系统服务组件发送第一信息:
需要使用第二子系统中的图形数据;
需要通知第二子系统中的应用组件进行处理。
优选地,该方法还包括:创建所述第一系统服务组件。
其中,所述第一应用组件被创建时,创建所述第一系统服务组件。
优选地,该方法还包括:销毁所述第一系统服务组件。
其中,所述第一应用组件被销毁时,销毁所述第一系统服务组件。
优选地,所述信息包括:控制信息和/或数据。
优选地,所述第一子系统为Host子系统,所述第二子系统为Guest子系统;或者,所述第一子系统为Guest子系统,所述第二子系统为Host子系统。
本申请实施例提供的信息交互系统,包括:
第一子系统中的第一系统服务组件,用于接收第一子系统中的第一应用组件发送的第一信息;
所述第一系统服务组件,用于将所述第一信息发送给第二子系统中的第二系统服务组件;
所述第二系统服务组件,用于将所述第一信息发送给第二子系统中的第二应用组件。
优选地,所述第二系统服务组件还用于:接收所述第二应用组件发送的第二信息,将所述第二信息发送给所述第一系统服务组件;其中,所述第二信息为所述第一应用组件根据所述第一信息得到的;
所述第一系统服务组件还用于:将所述第二信息发送给所述第一应用组件。
优选地,所述第一应用组件具体用于:在以下之一或多种情况下,向
所述第一系统服务组件发送第一信息:
需要使用第二子系统中的图形数据;
需要通知第二子系统中的应用组件进行处理。
优选地,所述信息包括:控制信息和/或数据。
优选地,所述第一子系统为Host子系统,所述第二子系统为Guest子系统;或者,所述第一子系统为Guest子系统,所述第二子系统为Host子系统。
本申请的上述实施例中,第一子系统中的第一系统服务组件接收第一子系统中的第一应用组件发送的信息;第一系统服务组件将该信息发送给第二子系统中的第二系统服务组件,第二系统服务组件将该信息发送给第二子系统中的第二应用组件,从而实现了不同子系统中的应用组件之间的信息交互。
图1为本申请实施例所适用的操作系统框架示意图;
图2为本申请实施例提供的跨系统的信息交互架构示意图;
图3为本申请实施例提供的图形合成层面的双系统兼容架构示意图;
图4为本申请实施例提供的视频回放应用程序的用户界面示意图;
图5为本申请实施例提供的图形合成系统的结构示意图;
图6为本申请实施例提供的信息交互系统的结构示意图。
为了在第一操作系统框架内更好地兼容第二操作系统,为用户提供更加自然平滑的体验过渡,本申请实施例提供了在第一操作系统框架内,在图形处理层面上的融合和统一,为用户提供无缝的双系统用户体验。本申请实施例可适用于针对需要跨操作系统运行的应用程序,也可适用于基于不同操作系统的应用程序之间需要传递图形数据或控制信息的场景,对此本申请实施例不作限制。
其中,第一操作系统和第二操作系统为不同的操作系统。具体地,第一操作系统可以是云操作系统,第二操作系统可以是传统的操作系统。更
具体地,第一操作系统可以是YunOS,第二操作系统可以是Android。
下面结合附图对本申请实施例进行详细描述。
参见图1,为本申请实施例适用的操作系统框架示意图。以YunOS作为第一操作系统,Android为第二操作系统为例,图1示出了在YunOS框架内的双系统兼容架构。
如图1所示,系统框架中包括Host与Guest两个子系统,其中,YunOS即为Host子系统,Android即为Guest子系统,两个子系统通过container(容器)技术隔离。该框架内的硬件抽象层(Hardware Abstraction Layer,HAL)提供了图形显示等方面的接口和驱动服务。
Host子系统中的Glibc,即C运行库,是linux中最底层的API(Application Programming Interface,应用程序编程接口)。Guest子系统中的Bioric,是Android的linux内核库。
Libhybris为兼容层,能够使基于Glibc的操作系统重用现有的Android的驱动(driver)服务;在图形(Graphics)处理方面,libhybris还实现了EGL platform。EGL platform这是一套后台(backend)无关的遵循EGL接口的图形平台,以及多个后台(backend)实现。
Gralloc模块位于硬件抽象层中,封装了对帧缓冲区的所有访问操作。
Guest子系统中的InputManageerService(输入管理模块)主要用于对输入事件进行监控和管理。
SurfaceFlinger是Guest子系统的图形合成器;Wayland Compositor(或Weston)是Host子系统的图形合成器,其中,Weston是Wayland Compositor的参考实现。
本申请实施例中,Guest子系统的图形合成器与Host子系统的图形合成器之间可采用Wayland协议进行通信。Wayland协议定义了如何与内核通信,如何与客户端(client)通信;Wayland复用了所有Linux内核的图形、输入输出技术。
本申请实施例中Andriod的图形合成器与YunOS的图形合成器之间可采用Wayland协议进行通信,使得Android中的图形系统架空,并桥接到YunOS的图形系统,实现了双系统的统一合成渲染,从而提供了较好地双系统兼容性,又实现了双系统的无缝用户体验。
需要说明的是,上述系统架构仅以YunOS和Andriod为例进行说明,对于其他类型的操作系统,也可基于上述原理实现双系统在图形合成层面的兼容以及有效融合。
基于上述框架,本申请实施例提供了在以下两个层面上的双系统兼容:
(一)信息交互层面的双系统兼容方案
(二)图形合成层面的双系统兼容方案
在实际应用场景中,上述两种双系统兼容方案可能独立使用,也可能结合使用。
下面以第一子系统为Host子系统、第二子系统为Guest子系统为例,分别对这两种双系统兼容方案进行描述。其中,Host子系统为YunOS,Guest子系统为Android。
(一)信息交互层面的双系统兼容方案
为了实现交互和控制上的统一,本申请实施例建立了从第一子系统到第二子系统的跨操作系统环境的数据和/或控制信息的连接通路,即,提供了一种IPC(Inter-process communication,进程间通信)机制,以实现不同子系统的应用组件(或进程)之间的信息交互。
参见图2,为本申请实施例提供的信息交互架构。
如图2所示,在Host子系统中建立有Bridge Proxy,在Guest子系统中建立有Bridge Service。其中,Bridge Proxy和Bridge Service均为系统服务组件。
通常,Android系统采用Binder机制作为IPC(Inter-Process Communication,进程间通信)机制,YunOS采用socket或dbus作为IPC通信机制,为了使信息在不同操作系统的应用组件(也即应用程序进程)间进行交互,本申请实施例采用Bridage Proxy作为系统服务对于这两个系统之间的IPC机制进行转换。
应用组件是应用程序(Application)的组件之一,在Android系统中称为Activity,在YunOS中称为Page,是实现应用程序的主体。进程是运行态的应用程序或应用组件。
Bridge Service通常为常驻服务,Bridge Proxy可在需要时创建或启用。例如,在一些实施例中,当在Host子系统中有应用组件(进程)被创建时,
Bridge Proxy被创建或启用,从而通过该Bridge Proxy实现在不同子系统中的信息交互。进一步地,当在Host子进程中有应用组件(进程)被销毁时,该Bridge Proxy被销毁或关闭。其中,本申请实施例中所描述的“应用组件(进程)”表示应用组件和进程为可替代关系,这里的进程可理解为运行态的应用组件。
在一些实施例中,Host子系统中的应用组件(进程)可将信息,比如数据和/或控制信息,发送给Bridge Proxy,Bridge Proxy将Bridge Proxy发送来的数据和/或控制信息发送给Bridge Service,Bridge Service将该数据和/或控制信息发送给Guest子系统中的应用组件(进程)。
其中,Bridge Proxy与Bridge Service之间可基于Binder机制进行通信。Bridge Service可通过intent或socket方式与Guest子系统中的应用组件(进程)进行交互。
进一步地,Guest子系统中的应用组件(进程)根据接收到的数据和/或控制信息进行处理后,可将作为处理结果的数据和/或控制信息发送给Bridge Service,Bridge Service将该数据和/或控制信息发送给Bridge Proxy,Bridge Proxy将该数据和/或控制信息发送给Host子系统中的应用组件(进程)。
在另一些实施例中,Guest子系统中的应用组件(进程)可将信息,比如数据和/或控制信息,发送给Bridge Service,Bridge Service将该数据和/或控制信息发送给Bridge Proxy,Bridge Proxy将该数据和/或控制信息发送给Host子系统中的应用组件(进程)。
进一步地,Host子系统中的应用组件(进程)根据接收到的数据和/或控制信息进行处理后,可将作为处理结果的数据和/或控制信息发送给Bridge Proxy,Bridge Proxy将该数据和/或控制信息发送给Bridge Service,Bridge Service将该数据和/或控制信息发送给Guest子系统中的应用组件(进程)。
上述IPC架构中,不同子系统中的进程之间所交互的信息可以是数据也可以是控制信息,所述控制信息可包括事件,或者请求信息,或者窗口属性信息等。
在具体实施时,基于上述IPC架构,当Host子系统中的应用组件(进
程)需要使用Guest子系统中的图形对象的数据,或者需要通知Guest子系统中的应用组件(进程)进行某种或某些操作时,可通过Bridge Proxy将控制信息发送给Bridge Service,由Bridge Service发送给Guest子系统中的应用组件(进程),由该应用组件(进程)根据该控制信息进行相应处理,并将处理结果通过Bridge Service发送给Bridge Proxy,由Bridge Proxy发送给Host子系统中的应用组件(进程)。
上述信息交互方法可适用于一个应用程序的部分功能需要基于Host子系统实现,部分功能需要基于Guest子系统实现的场景。例如,以视频回放应用程序(video playback app)为例,当用户通过video playback app用户界面提交播放影片的请求后,该事件被video playback app在Host子系统中的进程获取到,由于受到视频内容提供商加密及版权限制,只提供了Android平台的SDK(Software Development Kit,软件开发工具包),因此视频内容相关的逻辑在Android环境中开发,即,该事件所请求的对象是Guse子系统中的图形数据,因此,video playback app在Host子系统中的进程将该事件发送给Bridge Proxy,Bridge Proxy将该事件发送给Bridge Service,由Bridge Service发送给video playback app在Guest子系统中的进程,从而使video playback app在Guest子系统中的进程将所请求的视频数据发送给Host子系统的图形合成器进行处理。
可以看出,通过本申请实施例提供的IPC架构实现了跨操作系统的信息交互,使得不同操作系统之间在控制层面得到融合,从而使得应用级融合的交互体验变得无缝。
(二)图形合成层面的双系统兼容方案
参见图3,为本申请实施例提供的图形合成层面的双系统兼容架构示意图。
如图3所示,Guest子系统的图形合成器SurfaceFlinger中创建有layer,图中仅示例性地示出了两个layer,分别为layer1和layer2。
在Host子系统中,创建有p_surface1和p_surface2,其中,p_surface1与Guest子系统中的layer1对应,并与Host子系统的图形合成器中的surface1对应(未在图中示出),用于连接layer1和Host子系统的图形合成器Weston,更具体地是用于连接layer1和Weston中的surface1;
p_surface2与layer2对应,并与Host子系统的图形合成器中的surface2对应(未在图中示出),用于连接layer2和Host子系统的图形合成器Weston,更具体地是用于连接layer2和Weston中的surface2。
p_surface可以是控件,用于连接Guest子系统图形合成器中的layer与Host子系统的图形合成器,作为Guest子系统中的layer的代理(proxy),将Guest子系统的图形数据传递给Host子系统的图形合成器。具体地,layer1可将图形数据发送给p_surface1,p_surface1可将layer1发送来的图形数据发送给Host子系统的图形合成器Weston;layer2可将图形数据发送给p_surface1,p_surface2可将layer2发送来的图形数据发送给Host子系统的图形合成器Weston。
进一步地,在Host子系统中,应用组件(进程)还可以在Host子系统中创建local surface,通过local surface将Host子系统中的图形数据发送给Host子系统的图形合成器Weston。其中,local surface是Host子系统中的surface。这样,Host子系统的图形合成器既可以对Host子系统的图形数据进行合成处理,又可以对Guest子系统的图形数据进行合成处理,实现了跨操作系统的图形合成。
进一步地,在Guest子系统中,应用组件(进程)还可以创建layer3。layer3可将Guest子系统中的图形数据发送给Host子系统中的图形合成器Weston,由Weston对图形数据进行合成处理。
基于Android框架特点,大部分的图形数据是以layer的形式提交给Surfaceflinger进行合成的,因此,本申请实施例以layer content作为两个子系统融合的基本单位,即,通过p_surface发送的图形数据可以是layer content,更具体地,可以是layer所对应的GraphicBuffer队列中存储的图形数据。layer是应用程序进程创建的图形对象,一般地,一个layer代表一个图层,多个layer可按照Z-order顺序叠加以形成用户界面。一个layer可对应一个GraphicBuffer队列,GraphicBuffer队列中包含多个GraphicBuffer。本实施例中,GraphicBuffer是应用组件在Guest子系统中的进程创建的,其中存储有图形数据,比如存储有应用组件在Guest子系统中的进程所渲染的图形数据。
当然,图3的架构是以YunOS和Android为例描述的,且图形数据以
layer为单位提交给Surfaceflinger进行合成,在其他情况下,连接Guest子系统中的图形对象和Host子系统图形合成器的控件,也可以以其他类型的图形对象为单位,将该图形对象对应的图形数据发送给Host子系统图形合成器进行合成。
进一步地,p_surface还可以接收Host子系统中的应用组件发送的图形对象设置信息,并将该图形对象设置信息发送给Host子系统的图形合成器Weston。Weston可根据该图形对象设置信息进行图形对象设置或更新。具体地,该图形对象可以是应用程序窗口,该图形对象设置信息可以是窗口属性信息,Weston可根据该窗口属性信息对相应窗口进行更新,比如改变窗口透明度等。
具体地,p_surface可提供接口给Host子系统中的应用组件进行调用,当应用组件调用其中的图形对象处理相关的接口时,执行该接口对应的操作以实现图形对象设置,比如窗口属性更新。
作为一个例子,Host子系统中的应用组件接收到视频窗口属性更新事件后(该事件可由用户通过调整视频窗口大小或透明度等操作触发),该应用组件将更新的窗口属性信息发送给与该视频窗口的surface对应的p_surface1,由p_surface1将窗口属性信息发送给Weston,Weston根据该窗口属性信息重绘窗口。
p_surface的生命周期可由Host子系统中的应用组件进行管理。
具体地,以p_surface1为例,Host子系统中的应用组件可根据显示Guest子系统获得的图形数据的请求,创建p_surface1;当Guest子系统中与p_surface1对应的图形对象被销毁时,则销毁p_surface1。
在另外的实施例中,当Host子系统中的应用组件接收到结束使用Guest子系统中的图形数据的指示时,则销毁与Guest子系统中用于提供该图形数据的图形对象所对应的p_surface1。
优选地,p_surface可基于系统提供的类来创建,这样可以继承父类(即系统提供的类)的功能特性。进一步地,考虑到不同的应用场景下可能有不同的需求,因此可在基于系统提供的类创建p_surface时,结合当前的应用场景对一些参数或属性进行重新设置。
例如,video playback应用程序可在创建p_surface时,基于系统提供
的类进行创建,并设置为h5surface的sub-surface(特殊surface),控制相应宽高、位置等。
再例如,在另外一些实施例中,可将多个p_surface发送的图形数据发送给local surface(即Host子系统中的surface),以得到合成的图形数据,由local surface发送给Weston,从而最终提交一块surface到weston。
上述图形合成方法可适用于一个应用程序的部分功能需要基于Host子系统实现,部分功能需要基于Guest子系统实现的场景。以视频回放应用程序(video playback app)为例来说,当video playback app在Host子系统中的进程获取到视频播放事件后(该事件可由用户通过用户界面提交视频播放请求触发),创建p_surface1,p_surface1与Weston中的视频窗口的surface对应;进一步地,video playback app在Host子系统中的进程将该事件发送给video playback app在Guest子系统中的进程(跨操作系统进程间的信息交互可参见前述实施例),video playback app在Guest子系统中的进程根据该事件从网络侧获取视频数据,视频解码后的内容通过MediaCodec(媒体解码器)传递到VideoView控件,然后提交到surfaceflinger,并通过p_surface1将图形数据发送给weston进行合成,从而在视频窗口中显示。
当视频播放完成后,video playback app在Guest子系统中的进程将该事件发送给video playback app在Host子系统中的进程,video playback app在Host子系统中的进程根据该事件销毁p_surface1。
当用户再次请求播放视频时,可按照上述流程执行,以再次创建p_surface,并通过p_surface将图形数据从Guest子系统传输给Host子系统中的图形合成器。
通过本申请上述实施例对于图形合成层面的双系统兼容方案可以看出,Host子系统中的p_surface接收Guest子系统图形合成器中与该p_surface对应的layer发送的图形数据,该p_surface将接收到的图形数据发送给Host子系统图形合成器,可以看出,Host子系统中,对应于Guest子系统图形合成器中的layer存在对应的p_surface,该p_surface提供了两个子系统间图形数据的传输功能,从而在图形处理层面实现了不同操作系统间的兼容。
为了更清楚地理解本申请的上述实施例,下面以视频回放应用程序(video playback app)为例,结合具体应用场景描述本申请实施例的实现过程。
Tom的手机采用YunOS系统,其系统架构如图1所示。该手机上安装有video playback app,该应用程序中视频数据下载和解码相关功能基于Android实现,播放控制相关功能基于YunOS实现。
Tom使用video playback app观看电影影片的操作以及手机响应Tom的操作行为的过程如下所述。
Tom的操作行为1:
Tom点击手机屏幕上操作系统主界面中显示的video playback app图标,video playback app被启动,video playback app的主界面显示在手机屏幕上,该主界面如图4所示,其中主要包括视频窗口100、播放控制条200、窗口控制条300。播放控制条200上设置有播放控制键,具体可包括暂停键201、停止键202、播放键203以及进程拖动条204。窗口控制条300上设置有窗口最大化键301、窗口还原键302。video playback app的主界面中还包括退出键400。
基于Tom的上述操作行为1,点击video playback app图标的事件触发Host子系统开启video playback app,在Host子系统和Guest子系统中分别创建video playback app进程。在Host子系统中,创建该应用程序对应的local surface,通过weston绘制该应用程序的主界面并显示。此外,在Host子系统中,针对video playback app还创建Bridge Proxy,该Bridge Proxy能够与Guest子系统中的video playback app进程所对应的Bridge Service进行连接,以进行控制信息和/或数据的交互。
Tom的操作行为2:
Tom选取一影片后提交收看该电影的请求,此后,该影片在视频窗口100中播放。
基于Tom的上述操作行为2,Host子系统中的video playback app进程创建p_surface;Guest子系统中的video playback app进程创建buffer队列,从网络侧获取该影片的视频数据,对获取到的视频数据进行解码,将解码后的视频数据存入buffer队列。
Guest子系统中,图形合成器SurfaceFlinger中的layer将buffer队列中的视频数据发送给p_surface;在Host子系统中,p_surface将该视频数据发送给图形合成器weston,weston将该视频数据进行合成,并通过显示驱动显示于视频窗口100。
Tom的操作行为3:
Tom点击窗口控制条300上的窗口最大化键301,视频窗口100被最大化显示。
基于Tom的上述操作行为3,在Host子系统中,video playback app进程将最大化视频窗口100的相关信息(比如最大化窗口的指示信息和/或窗口属性信息等)发送给p_surface,p_surface将该信息发送给weston,weston根据该信息重新绘制视频窗口100,以实现最大化显示。
Tom的操作行为4:
Tom点击播放控制条200中的暂停键201,视频窗口100中正在播放的影片被暂停播放。
基于Tom的上述操作行为4,Host子系统中的video playback app进程将点击暂停键201所产生的事件发送给Bridge Proxy,Bridge Proxy将该事件发送给Guest子系统中的video playback app进程对应的Bridge Service,Bridge Service将该事件发送给Guest子系统中的video playback app进程,video playback app进程响应该事件,不再通过layer发送视频数据给p_surface。
Tom的操作行为5:
Tom点击播放控制条200中的播放键203,视频窗口100中的视频数据恢复播放。
基于Tom的上述操作行为5,Host子系统中的video playback app进程将点击播放键203所产生的事件发送给Bridge Proxy,Bridge Proxy将该事件发送给Guest子系统中的video playback app进程对应的Bridge Service,Bridge Service将该事件发送给Guest子系统中的video playback app进程,video playback app进程响应该事件,继续通过layer发送视频数据给p_surface。
当影片播放完毕后,视频窗口100关闭。
基于该事件,Guest子系统中的video playback app进程将该事件通过Bridge Service发送给Bridge Proxy,Bridge Proxy将该事件发送给Host子系统中的video playback app进程;Host子系统中的video playback app进程响应该事件,将视频窗口100关闭,销毁p_surface。
Tom的操作行为6:
Tom点击退出video playback app的退出键400。
基于Tom的上述操作行为6,Host子系统中的video playback app进程获取到点击退出键400的事件后,销毁Bridge Proxy,关闭video playback app。
综上所述,在将本申请实施例应用于Android和YunOS融合的场景中时,可以使Android应用透明化,Android应用可通过SDK或NDK编译出相应的APK或二进制代码,无需对Android应用做过多改进。
另外,本申请实施例可实现跨系统融合的多样化,针对不同类型的Host SDK,比如,h5、qt、domoless、native等,可以自定义输入接入方法。
还有,本申请实施例提供了应用级内容的融合,可在一个窗口内展现YunOS和Android的应用程序进程处理的内容,将两种不同操作系统有机地融合为一体,统一的交互体验,无需切换窗口来统一管理所有的内容。
基于相同的技术构思,本申请实施例提供了一种图形合成系统,可以实现前述实施例描述的图形合成流程。
参见图5,为本申请实施例提供的图形合成系统的结构示意图,该系统可包括:第一子系统图形合成器51、第二子系统图形合成器52,以及第一子系统中的第一控件53;
第一子系统中的第一控件53,用于接收第二子系统图形合成器52中与所述第一控件对应的图形对象发送的图形数据,并将所述图形数据发送给第一子系统图形合成器51。
进一步地,第一子系统图形合成器51还用于:接收第一子系统中的图形对象发送的图形数据。
进一步地,第一子系统图形合成器51还用于:对第一控件53发送的图形数据以及第一子系统中的图形对象发送的图形数据进行合成。
优选地,第一控件为多个,所述多个第一控件将各自接收到的图形数据发送给第一子系统中的图形对象;相应地,第一子系统图形合成器51具体用于:接收第一子系统中的图形对象发送的图形数据;其中,所述图形对象将所述多个第一控件发送的图形数据作为本图形对象对应的图形数据发送给第一子系统图形合成器。
进一步地,第一控件53还用于:接收第一子系统中的应用组件发送的图形对象设置信息;将接收到的图形对象设置信息发送给第一子系统图形合成器51。
其中,所述图形对象为应用程序窗口,所述图形对象设置信息包括窗口属性信息。
优选地,第一子系统中还包括应用组件;所述第一子系统中的应用组件,用于创建所述第一控件。
其中,所述第一子系统中的应用组件具体用于:根据使用第二子系统中的图形数据的请求,创建与第二子系统中用于提供图形数据的图形对象所对应的第一控件53。
优选地,第一子系统中还包括应用组件;所述第一子系统中的应用组件,用于销毁所述第一控件53。
其中,所述第一子系统中的应用组件具体用于:接收到第二子系统中与所述第一控件53对应的图形对象被销毁的信息,则销毁所述第一控件53;或者,接收到结束使用第二子系统中的图形数据的指示,则销毁与第二子系统中用于提供所述图形数据的图形对象所对应的第一控件53。
优选地,第一子系统中还包括第一应用组件,第二子系统中还包括第二应用组件;相应地,第一子系统中的第一应用组件,用于向第一子系统中的第一系统服务组件54发送控制信息,所述控制信息用于指示获取第二子系统中的图形数据;第一系统服务组件54具体用于,将所述控制信息发送给第二子系统中的第二系统服务组件55;第二系统服务组件55具体用于,将所述控制信息发送给第二子系统中的第二应用组件。
优选地,所述第一子系统为Host子系统,所述第二子系统为Guest子系统。
基于相同的技术构思,本申请实施例提供了一种信息交互系统,该系
统可实现前述实施例描述的信息交互方法。
参见图6,为本申请实施例提供的信息交互系统架构示意图,该系统可包括:第一子系统中的第一系统服务组件61、第二子系统中的第二系统服务组件62,其中:
第一子系统中的第一系统服务组件61,用于接收第一子系统中的第一应用组件发送的第一信息,并将所述第一信息发送给第二子系统中的第二系统服务组件62;
第二系统服务组件62,用于将所述第一信息发送给第二子系统中的第二应用组件。
优选地,所述第二系统服务组件62还用于:接收所述第二应用组件发送的第二信息,将所述第二信息发送给所述第一系统服务组件61;其中,所述第二信息为所述第一应用组件根据所述第一信息得到的。相应地,第一系统服务组件61还用于:将所述第二信息发送给所述第一应用组件。
优选地,第一应用组件具体用于:在以下之一或多种情况下,向所述第一系统服务组件61发送第一信息:
需要使用第二子系统中的图形数据;
需要通知第二子系统中的应用组件进行处理。
优选地,所述信息包括:控制信息和/或数据。
优选地,所述第一子系统为Host子系统,所述第二子系统为Guest子系统;或者,所述第一子系统为Guest子系统,所述第二子系统为Host子系统。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处
理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (38)
- 一种图形合成方法,其特征在于,包括:第一子系统中的第一控件接收第二子系统图形合成器中与所述第一控件对应的图形对象发送的图形数据;所述第一控件将所述图形数据发送给第一子系统图形合成器。
- 如权利要求1所述的方法,其特征在于,还包括:第一子系统图形合成器接收第一子系统中的图形对象发送的图形数据。
- 如权利要求2所述的方法,其特征在于,还包括:第一子系统图形合成器对所述第一控件发送的图形数据以及第一子系统中的图形对象发送的图形数据进行合成。
- 如权利要求1所述的方法,其特征在于,第一控件为多个,所述第一控件将所述图形数据发送给第一子系统图形合成器,包括:所述多个第一控件将各自接收到的图形数据发送给第一子系统中的图形对象;所述第一子系统中的图形对象将所述多个第一控件发送的图形数据作为本图形对象对应的图形数据发送给第一子系统图形合成器。
- 如权利要求1所述的方法,其特征在于,还包括:所述第一控件接收第一子系统中的应用组件发送的图形对象设置信息;所述第一控件将接收到的图形对象设置信息发送给第一子系统图形合成器。
- 如权利要求5所述的方法,其特征在于,所述图形对象为应用程序窗口,所述图形对象设置信息包括窗口属性信息。
- 如权利要求1所述的方法,其特征在于,第一子系统中的第一控件接收第二子系统图形合成器发送的图形数据之前,还包括:创建所述第一控件。
- 如权利要求7所述的方法,其特征在于,创建所述第一控件,包括:第一子系统中的应用组件根据使用第二子系统中的图形数据的请求,创建与第二子系统中用于提供图形数据的图形对象所对应的第一控件。
- 如权利要求1所述的方法,其特征在于,第一控件将第二子系统图形合成器发送的图形数据发送给第一子系统图形合成器之后,还包括:销毁所述第一控件。
- 如权利要求9所述的方法,其特征在于,销毁所述第一控件,包括:第一子系统中的应用组件接收到第二子系统中与所述第一控件对应的图形对象被销毁的信息,则销毁所述第一控件;或者,第一子系统中的应用组件接收到结束使用第二子系统中的图形数据的指示,则销毁与第二子系统中用于提供所述图形数据的图形对象所对应的第一控件。
- 如权利要求1所述的方法,其特征在于,第一子系统中的第一控件接收第二子系统图形合成器中与所述第一控件对应的图形对象发送的图形数据之前,还包括:第一子系统中的第一应用组件向第一子系统中的第一系统服务组件发送控制信息,所述控制信息用于指示获取第二子系统中的图形数据;所述第一系统服务组件将所述控制信息发送给第二子系统中的第二系统服务组件;所述第二系统服务组件将所述控制信息发送给第二子系统中的第二应用组件。
- 如权利要求1至11中任一项所述的方法,其特征在于,所述第一子系统为Host子系统,所述第二子系统为Guest子系统。
- 一种信息交互方法,其特征在于,包括:第一子系统中的第一系统服务组件接收第一子系统中的第一应用组件发送的第一信息;所述第一系统服务组件将所述第一信息发送给第二子系统中的第二系统服务组件;所述第二系统服务组件将所述第一信息发送给第二子系统中的第二应用组件。
- 如权利要求13所述的方法,其特征在于,还包括:所述第二系统服务组件接收所述第二应用组件发送的第二信息,所述第二信息为所述第一应用组件根据所述第一信息得到的;所述第二系统服务组件将所述第二信息发送给所述第一系统服务组件;所述第一系统服务组件将所述第二信息发送给所述第一应用组件。
- 如权利要求13所述的方法,其特征在于,所述第一应用组件在以下之一或多种情况下,向所述第一系统服务组件发送第一信息:需要使用第二子系统中的图形数据;需要通知第二子系统中的应用组件进行处理。
- 如权利要求13所述的方法,其特征在于,还包括:创建所述第一系统服务组件。
- 如权利要求16所述的方法,其特征在于,所述第一应用组件被创建时,创建所述第一系统服务组件。
- 如权利要求13所述的方法,其特征在于,还包括:销毁所述第一系统服务组件。
- 如权利要求18所述的方法,其特征在于,所述第一应用组件被销毁时,销毁所述第一系统服务组件。
- 如权利要求13至19中任一项所述的方法,其特征在于,所述信息包括:控制信息和/或数据。
- 如权利要求13至19中任一项所述的方法,其特征在于,所述第一子系统为Host子系统,所述第二子系统为Guest子系统;或者所述第一子系统为Guest子系统,所述第二子系统为Host子系统。
- 一种图形合成系统,其特征在于,包括:第一子系统图形合成器、第二子系统图形合成器,以及第一子系统中的第一控件;第一子系统中的第一控件,用于接收第二子系统图形合成器中与所述第一控件对应的图形对象发送的图形数据,并将所述图形数据发送给第一子系统图形合成器。
- 如权利要求22所述的系统,其特征在于,第一子系统图形合成器还用于:接收第一子系统中的图形对象发送的图形数据。
- 如权利要求23所述的系统,其特征在于,第一子系统图形合成器还用于:对所述第一控件发送的图形数据以及第一子系统中的图形对象发送的图形数据进行合成。
- 如权利要求22所述的系统,其特征在于,第一控件为多个,所述 多个第一控件将各自接收到的图形数据发送给第一子系统中的图形对象;第一子系统图形合成器具体用于:接收所述第一子系统中的图形对象发送的图形数据;其中,所述图形对象将所述多个第一控件发送的图形数据作为本图形对象对应的图形数据发送给第一子系统图形合成器。
- 如权利要求22所述的系统,其特征在于,所述第一控件还用于:接收第一子系统中的应用组件发送的图形对象设置信息;将接收到的图形对象设置信息发送给第一子系统图形合成器。
- 如权利要求26所述的系统,其特征在于,所述图形对象为应用程序窗口,所述图形对象设置信息包括窗口属性信息。
- 如权利要求22所述的系统,其特征在于,第一子系统中还包括应用组件;所述第一子系统中的应用组件,用于创建所述第一控件。
- 如权利要求28所述的系统,其特征在于,所述第一子系统中的应用组件具体用于:根据使用第二子系统中的图形数据的请求,创建与第二子系统中用于提供图形数据的图形对象所对应的第一控件。
- 如权利要求22所述的系统,其特征在于,第一子系统中还包括应用组件;所述第一子系统中的应用组件,用于销毁所述第一控件。
- 如权利要求30所述的系统,其特征在于,所述第一子系统中的应用组件具体用于:接收到第二子系统中与所述第一控件对应的图形对象被销毁的信息,则销毁所述第一控件;或者,接收到结束使用第二子系统中的图形数据的指示,则销毁与第二子系统中用于提供所述图形数据的图形对象所对应的第一控件。
- 如权利要求22所述的系统,其特征在于,第一子系统中还包括第一应用组件,第二子系统中还包括第二应用组件;第一子系统中的第一应用组件,用于向第一子系统中的第一系统服务组件发送控制信息,所述控制信息用于指示获取第二子系统中的图形数据;第一系统服务组件具体用于,将所述控制信息发送给第二子系统中的第二系统服务组件;所述第二系统服务组件具体用于,将所述控制信息发送给第二子系统中的第二应用组件。
- 如权利要求22至32中任一项所述的系统,其特征在于,所述第一子系统为Host子系统,所述第二子系统为Guest子系统。
- 一种信息交互系统,其特征在于,包括:第一子系统中的第一系统服务组件,用于接收第一子系统中的第一应用组件发送的第一信息;所述第一系统服务组件,用于将所述第一信息发送给第二子系统中的第二系统服务组件;所述第二系统服务组件,用于将所述第一信息发送给第二子系统中的第二应用组件。
- 如权利要求34所述的系统,其特征在于,所述第二系统服务组件还用于:接收所述第二应用组件发送的第二信息,将所述第二信息发送给所述第一系统服务组件;其中,所述第二信息为所述第一应用组件根据所述第一信息得到的;所述第一系统服务组件还用于:将所述第二信息发送给所述第一应用组件。
- 如权利要求34所述的系统,其特征在于,所述第一应用组件具体用于:在以下之一或多种情况下,向所述第一系统服务组件发送第一信息:需要使用第二子系统中的图形数据;需要通知第二子系统中的应用组件进行处理。
- 如权利要求34至36中任一项所述的系统,其特征在于,所述信息包括:控制信息和/或数据。
- 如权利要求34至36中任一项所述的系统,其特征在于,所述第一子系统为Host子系统,所述第二子系统为Guest子系统;或者所述第一子系统为Guest子系统,所述第二子系统为Host子系统。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610202571.2A CN107291561B (zh) | 2016-03-31 | 2016-03-31 | 一种图形合成方法、信息交互方法及系统 |
| CN201610202571.2 | 2016-03-31 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017167125A1 true WO2017167125A1 (zh) | 2017-10-05 |
Family
ID=59962568
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2017/078035 Ceased WO2017167125A1 (zh) | 2016-03-31 | 2017-03-24 | 一种图形合成方法、信息交互方法及系统 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN107291561B (zh) |
| WO (1) | WO2017167125A1 (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110851205A (zh) * | 2019-11-12 | 2020-02-28 | 成都九鼎瑞信科技股份有限公司 | 一种基于水务云平台的app管理方法 |
| KR20230081250A (ko) * | 2021-11-30 | 2023-06-07 | 주식회사 드림에이스 | 컨테이너 화면 미러링을 위한 전자 장치 및 방법 |
| CN117149341A (zh) * | 2023-10-31 | 2023-12-01 | 成都阿加犀智能科技有限公司 | 一种显示Linux GUI程序的方法、装置、设备及介质 |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116136784A (zh) * | 2021-11-16 | 2023-05-19 | 华为技术有限公司 | 数据处理方法、装置、存储介质及程序产品 |
| CN118672462B (zh) * | 2024-07-31 | 2024-11-19 | 比亚迪股份有限公司 | 显示处理方法、存储介质、显示终端及车辆 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1797345A (zh) * | 2004-12-30 | 2006-07-05 | 微软公司 | 用于虚拟化图形子系统的系统和方法 |
| CN101655798A (zh) * | 2008-08-18 | 2010-02-24 | 联想(北京)有限公司 | 一种计算机和虚拟机环境中应用程序部署和运行的方法 |
| US20110154328A1 (en) * | 2009-12-21 | 2011-06-23 | Samsung Electronics Co., Ltd. | Virtualization Apparatus and Method |
| CN102945169A (zh) * | 2012-12-05 | 2013-02-27 | 江苏鸿信系统集成有限公司 | 一种基于Android的Native APP融合Web APP开发系统 |
| CN103370689A (zh) * | 2010-10-01 | 2013-10-23 | Flex Electronics ID Co.,Ltd. | 跨环境应用兼容 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101296204B (zh) * | 2007-04-25 | 2010-11-03 | 财团法人工业技术研究院 | 共享数字家庭电子服务资源的系统及方法 |
| CN102053871B (zh) * | 2009-10-28 | 2013-03-13 | 中国移动通信集团公司 | 一种应用程序图像的显示方法和装置 |
| US9354900B2 (en) * | 2011-04-28 | 2016-05-31 | Google Technology Holdings LLC | Method and apparatus for presenting a window in a system having two operating system environments |
| CN102981894B (zh) * | 2011-09-05 | 2016-07-06 | 联想(北京)有限公司 | 显示方法和电子设备 |
| CN104360900B (zh) * | 2014-11-03 | 2020-05-12 | 上海迈微软件科技有限公司 | 用于运行多操作系统的方法以及相应的系统和移动设备 |
-
2016
- 2016-03-31 CN CN201610202571.2A patent/CN107291561B/zh active Active
-
2017
- 2017-03-24 WO PCT/CN2017/078035 patent/WO2017167125A1/zh not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1797345A (zh) * | 2004-12-30 | 2006-07-05 | 微软公司 | 用于虚拟化图形子系统的系统和方法 |
| CN101655798A (zh) * | 2008-08-18 | 2010-02-24 | 联想(北京)有限公司 | 一种计算机和虚拟机环境中应用程序部署和运行的方法 |
| US20110154328A1 (en) * | 2009-12-21 | 2011-06-23 | Samsung Electronics Co., Ltd. | Virtualization Apparatus and Method |
| CN103370689A (zh) * | 2010-10-01 | 2013-10-23 | Flex Electronics ID Co.,Ltd. | 跨环境应用兼容 |
| CN102945169A (zh) * | 2012-12-05 | 2013-02-27 | 江苏鸿信系统集成有限公司 | 一种基于Android的Native APP融合Web APP开发系统 |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110851205A (zh) * | 2019-11-12 | 2020-02-28 | 成都九鼎瑞信科技股份有限公司 | 一种基于水务云平台的app管理方法 |
| KR20230081250A (ko) * | 2021-11-30 | 2023-06-07 | 주식회사 드림에이스 | 컨테이너 화면 미러링을 위한 전자 장치 및 방법 |
| KR102678121B1 (ko) | 2021-11-30 | 2024-06-26 | 주식회사 드림에이스 | 컨테이너 화면 미러링을 위한 전자 장치 및 방법 |
| CN117149341A (zh) * | 2023-10-31 | 2023-12-01 | 成都阿加犀智能科技有限公司 | 一种显示Linux GUI程序的方法、装置、设备及介质 |
| CN117149341B (zh) * | 2023-10-31 | 2024-01-05 | 成都阿加犀智能科技有限公司 | 一种显示Linux GUI程序的方法、装置、设备及介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN107291561B (zh) | 2020-11-24 |
| CN107291561A (zh) | 2017-10-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7562619B2 (ja) | マイクロサービスの構成および管理を可能にするapiリポジトリ | |
| US11347530B2 (en) | Method, apparatus and system for transparent unification of virtual machines | |
| US12079638B2 (en) | Management framework for mixed reality devices | |
| US10976981B2 (en) | Remote desktop exporting | |
| US9965151B2 (en) | Systems and methods for graphical user interface interaction with cloud-based applications | |
| CN104536802B (zh) | 一种实现应用调用的方法及虚拟机 | |
| CN103339600B (zh) | 立即远程呈现 | |
| US9886189B2 (en) | Systems and methods for object-based interaction with cloud-based applications | |
| CN103329094B (zh) | 交叉环境重定向 | |
| US20130132856A1 (en) | Systems and Methods for Gesture Interaction with Cloud-Based Applications | |
| US20130138810A1 (en) | Systems and Methods for Workspace Interaction with Cloud-Based Applications | |
| WO2017167125A1 (zh) | 一种图形合成方法、信息交互方法及系统 | |
| US20150088982A1 (en) | Load balanced inter-device messaging | |
| US20140026057A1 (en) | Providing access to a remote application via a web client | |
| KR20100018387A (ko) | 다수개의 운영 시스템을 지원하는 장치 및 방법 | |
| WO2017167127A1 (zh) | 一种图形合成方法、窗口设置方法及系统 | |
| WO2017167126A1 (zh) | 一种窗口显示方法、信息交互方法及系统 | |
| US7463268B2 (en) | Providing 3D graphics across partitions of computing device | |
| JP7007369B2 (ja) | 電子装置及びその制御方法 | |
| US20150193284A1 (en) | Host/hosted hybrid apps in multi-operating system mobile and other computing devices | |
| CN114860401B (zh) | 异构云桌面调度系统、方法、服务系统、装置及介质 | |
| CN106233226B (zh) | 在移动装置上执行的寄载应用内的服务代替的进程内俘获 | |
| CN118885234A (zh) | 一种播放应用启动动画的方法、电子设备及相关介质 | |
| CN115098248B (zh) | 资源管理方法和资源管理系统、电子设备 | |
| CN113885861B (zh) | 跨系统的组件复用的方法及装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17773155 Country of ref document: EP Kind code of ref document: A1 |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 17773155 Country of ref document: EP Kind code of ref document: A1 |