CN106873932B - Android system server side and remote desktop image redirection method and system - Google Patents
Android system server side and remote desktop image redirection method and system Download PDFInfo
- Publication number
- CN106873932B CN106873932B CN201710087474.8A CN201710087474A CN106873932B CN 106873932 B CN106873932 B CN 106873932B CN 201710087474 A CN201710087474 A CN 201710087474A CN 106873932 B CN106873932 B CN 106873932B
- Authority
- CN
- China
- Prior art keywords
- module
- image
- image data
- remote desktop
- resolution
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000008569 process Effects 0.000 claims abstract description 32
- 238000004891 communication Methods 0.000 claims description 32
- 238000009877 rendering Methods 0.000 claims description 19
- 230000007717 exclusion Effects 0.000 claims description 12
- 230000006835 compression Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 4
- 239000011230 binding agent Substances 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 abstract description 13
- 230000005540 biological transmission Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/10—Selection of transformation methods according to the characteristics of the input images
-
- 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
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/544—Buffers; Shared memory; Pipes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
The invention discloses a remote desktop image redirection system with controllable resolution based on an Android system, which comprises: the Android system server side and the remote desktop client side, wherein the Android system server side comprises: the method comprises the steps of applying an Audio Finger process of a system framework layer, an image hardware abstraction layer module of a hardware abstraction layer and a remote desktop server of the system framework layer; the remote desktop client includes: the invention further provides a method for carrying out remote desktop image redirection based on Android system resolution controllability by using the system, so that two functions of system resolution dynamic control and system display image data redirection are realized, and the image transmission requirement under a remote desktop environment is met.
Description
Technical Field
The invention relates to the technical field of communication, in particular to an Android system server and a remote desktop image redirection method and system.
Background
The traditional remote desktop technology is mainly based on PC operating systems such as Windows, Linux and MacOS, however, with the large-scale application of intelligent mobile equipment and the popularization of enterprise mobile office, remote desktops based on mobile operating systems such as Android systems have more and more market demands. Compared with the traditional remote desktop, the remote desktop based on the Android system delivers the whole Android desktop to a user and has the redirection function of hardware equipment such as images, audios and cameras.
In the Android system, desktop images are a very important and complex basic function, so in the Android remote desktop environment, the success or failure of remote desktop products is determined by the perfection degree of the image redirection function. Wherein the image redirection section may be subdivided into: the system displays dynamic control of resolution and desktop image data redirection. The system display resolution dynamic control refers to adjusting the Android system display resolution of the remote desktop server, and compared with the system resolution dynamic control function of the traditional PC operating systems such as Windows and Linux, the Android as the mobile operating system does not have the function of dynamically adjusting the system resolution, but the remote desktop scheme needs to realize the resolution-controllable server Android system; the desktop image data redirection means that image data rendered by the Android system is compressed by remote desktop server software and then sent to a remote desktop client, and the remote server desktop is displayed on the client after decompression.
The currently available image redirection scheme of the Android system comprises the following steps: an Open graphics library (OpenGL), which is a cross-language, cross-platform Application Programming Interface (API) for rendering 2D, 3D vector graphics, intercepts an instruction to locally redraw a system desktop to obtain image data. This interface consists of nearly 350 different function calls to draw complex three-dimensional scenes from simple graphics bits. RGBA components of image data displayed by the reading system are accessed through an OpenGL interface, and then the image data can be acquired by calling a universal Bitmap object with self Android. The method for intercepting the OpenGL instruction local redrawing system desktop has high time delay and poor cross-platform capability, and is mainly characterized in that: on one hand, image data consistent with a system display desktop needs to be re-rendered, which increases image redirection time delay; on the other hand, the virtual machine has weak support for OpenGL compared to the physical machine, and the support of the technology on the virtual machine platform is limited. In addition, the method does not have the function of adjusting the resolution, and only can acquire the data of the system display image.
The currently available image redirection scheme of the Android system further includes: image data within a frame buffer (framebuffer) drive is read. The frame buffer is an interface provided by Linux for a display device, abstracts a display memory, and allows an upper application program to directly perform read-write operation on a display buffer area in a graphic mode. This operation is abstract and uniform. The user does not need to be concerned with the specific details of the position of the physical video memory, the page-changing mechanism and the like. This is done by the framebuffer device driver. Android uses a Linux kernel, and inherits the framebuffer display equipment. The method comprises the steps that system image data can be obtained through opening/dev/fb equipment files, and parameters of a current display screen, such as screen resolution and the number of bits of each pixel point, are obtained through ioctrl operation; and then mapping the screen buffer area to a user space, and directly reading and writing the screen buffer area after mapping. However, the method is large in time delay and incomplete in data, mainly because the efficiency of reading the frame buffer content driven by the Android is low, when the refreshing is fast, for example, a game picture, the problem that only a half picture of a system desktop or desktop image data are not matched up and down may be captured due to the refreshing problem, and in addition, the method does not have a resolution adjusting function and only can acquire system display image data.
In the technical schemes, the remote desktop server basically indirectly acquires image data rendered by the system, cannot directly participate in the image rendering and display sending processes of the system, and is not applicable to a remote desktop image redirection scene based on an Android system, mainly because a resolution control function is not realized for the Android system; by indirectly acquiring system image data, a large display delay is caused, which may result in an extremely poor user experience.
Disclosure of Invention
In order to solve the problems of dynamic control of system display resolution of a server and redirection of image data rendered by the server system to be transmitted to a client in a remote desktop environment based on an Android system, the invention provides an Android system server and a remote desktop image redirection method and system, which realize two functions of dynamic control of system resolution and redirection of system display image data and meet the image transmission requirement in the remote desktop environment.
The invention provides an Android system server, an application layer, a system framework layer, a hardware abstraction layer and a kernel, wherein:
the system framework layer comprises a Surface Finger process and a remote desktop server, wherein the Surface Finger process is used for acquiring a system resolution specification and rendering image data and pushing the rendered image data to an image hardware abstraction layer module of the hardware abstraction layer; and the remote desktop server is responsible for communicating with the graphic service module, managing the connection with the remote desktop client and transmitting the received image data to the remote desktop client.
The hardware abstraction layer comprises an image hardware abstraction layer module, and the image hardware abstraction layer module is used for setting custom resolution, pushing received image data and carrying out interprocess communication with a remote desktop server of a system framework layer in an anonymous memory sharing mode.
The Surface Finger process comprises the following steps:
the service initialization module is used for acquiring the set system resolution;
and the system display desktop rendering module is used for rendering the image data according to the request and pushing the image data to the image hardware abstraction layer module of the hardware abstraction layer.
The image hardware abstraction layer module comprises:
the system resolution setting module is used for setting a custom resolution at the initialization stage of the system SurfaceFlinger process, and the resolution specification is the same as or different from the/dev/fb 0 equipment specification;
the display sending module is used for receiving image data pushed by the SurfaceFlinger service, pushing the image data into the anonymous shared memory, converting the image data needing to be displayed into a specification matched with/dev/fb 0 according to the specification of/dev/fb 0 and pushing the image data to/dev/fb 0;
the graphic service module consists of a service management module and an anonymous shared memory, wherein: and the service management module is responsible for managing the communication between the graphic service module and the remote desktop server and creating an anonymous shared memory for storing the image data after the communication connection is completed.
The remote desktop server includes:
the image acquisition module is used for reading the image data in the anonymous shared memory;
the connection management module is used for managing the client connected through the network and is responsible for managing the communication between the remote desktop server and the graphic service module;
and the first communication module is responsible for network communication between the remote desktop server and the remote desktop client.
The invention provides a remote desktop image redirection system with controllable resolution ratio based on an Android system, which comprises: the Android system server and the remote desktop client provided by the first aspect of the invention are provided, wherein the remote desktop client comprises:
the second communication module is used for network communication between the remote desktop client and the remote desktop server;
and the image display module is used for decompressing and displaying the image data sent by the remote server side differential compression.
The third aspect of the invention provides a remote desktop image redirection method based on controllable resolution of an Android system, which specifically comprises the following steps:
dynamic control of system resolution: when a SurfaceFlinger process in an Android system frame layer is started, acquiring a system resolution specification, pushing rendered image data to an image hardware abstraction layer, and pushing the received image data to dev/fb0 equipment or a remote desktop server side by the image hardware abstraction layer; when the system runs, a user resets the gradloc.mode.force attribute value by using a system resolution setting module in the image hardware abstraction layer, and then restarts the SurfaceFlinger process to reconfigure a new system resolution;
image data redirection: when the Surface flag process in the Android system framework layer pushes the rendered image data to the image hardware abstraction layer module, triggering and establishing an image service module in the image hardware abstraction layer module, triggering and establishing an anonymous shared memory in the image service module when the remote desktop server is connected with the image hardware abstraction layer module, when the image data is pushed to the image hardware abstraction layer module, the image data is stored in the anonymous sharing memory, the remote desktop server reads the image data in the anonymous sharing memory and sends the image data to the remote desktop client for displaying, when the remote desktop server exits, the image hardware abstraction layer module receives the request for destroying the anonymous shared memory and destroys the anonymous shared memory, and when the image data is pushed to the image hardware abstraction layer module, stopping storing the image data in the anonymous shared memory, and finishing the redirection of the image data.
The system resolution dynamic control specifically comprises the following steps:
(a-1) starting a SurfaceFlinger process in an Android system framework layer, loading a graphics hardware abstraction layer module, and acquiring a system resolution specification in the graphics hardware abstraction layer by a service initialization module in the SurfaceFlinger;
(a-2) rendering the system display desktop in the surface Flinger process according to the acquired system resolution specification to obtain image data, and pushing the image data to a display sending module in a graphic hardware abstract layer;
(a-3) the display module judges whether the specification of the/dev/fb 0 device is the same as the specification of the image data, if so, the image data is copied to the/dev/fb 0 device, and if not, the image data is converted by a size scaling algorithm and then copied to the/dev/fb 0 device;
(a-4) while the Android system is running, the user resets the values of the gradloc.mode.force attribute by using a system resolution setting module in the image hardware abstraction layer, and then restarts the surfaceflag process to reconfigure the new system resolution.
In the step (a-1), the system resolution specification is a gralloc.mode.force attribute value in the Android attribute service, and when the attribute value is wrong or the attribute does not exist, the system resolution specification is a specification of/dev/fb 0 equipment.
The image data redirection specifically comprises the following steps:
(b-1) after the Android system SurfaceFlinger process loads a graphics hardware abstraction layer module, an image service based on a Binder communication mechanism is automatically triggered and created, and at the moment, the image service only acquires the system resolution specification and receives a connection request of a client;
(b-2) when the remote desktop server is started, the remote desktop server is connected with the created image service through the connection management module and the service management module, and triggers the service management module to create an anonymous shared memory in the image service module, wherein an image buffer area matched with the resolution specification of the system and a mutual exclusion lock are placed in the memory;
(b-3) when a system display desktop rendering module in the SurfaceFlinger process pushes rendered image data, a display sending module in a graphics hardware abstraction layer module detects that an image service has created an anonymous shared memory, and copies the received image data to an image buffer area in the anonymous shared memory through a mutual exclusion lock;
(b-4) when the remote desktop server needs to update the desktop data, the image acquisition module firstly acquires a mutual exclusion lock in the anonymous shared memory and then copies the image data in the image buffer area through the mutual exclusion lock;
(b-5) the remote desktop server side sends the image data acquired by the image acquisition module to the remote desktop client side through the first communication module in a differential compression mode;
(b-6) the remote desktop client sends the image data received through the second communication module to the image display module, and the image display module decompresses and displays the image data;
(b-7) when the remote desktop server exits, the remote desktop server applies for destroying the created anonymous shared memory to the image service module, and the service management module destroys the created anonymous shared memory;
and (b-8) when the system displays that the desktop rendering module pushes the rendered image data, monitoring that the anonymous shared memory is destroyed, and not pushing the image data to the image service to complete the redirection of the image data.
According to the technical scheme, based on the remote desktop environment of the Android system, two functions of dynamic control of system resolution and redirection of system display image data are achieved, and the image transmission requirement under the remote desktop environment is met. Compared with other image redirection technologies of the Android system, the method and the system have the advantages that the system resolution dynamic control function under the Android mobile operating system platform is realized, and the image transmission achieves the effect of low delay. Meanwhile, the technology of the scheme realizes the minimized modification of the Android source code under the condition of ensuring the transportability, and can be adapted to Android systems customized by different versions and different manufacturers.
Drawings
Fig. 1 is a schematic structural diagram of an embodiment of an Android system server provided by the invention;
FIG. 2 is a schematic structural diagram of remote desktop image redirection based on controllable resolution of an Android system provided by the invention;
FIG. 3 is a schematic flowchart of an embodiment of a method for dynamically controlling resolution of a remote desktop image redirection method based on controllable resolution of an Android system, provided by the invention;
fig. 4 is a flowchart illustrating an embodiment of an image data redirection method in a remote desktop image redirection method based on controllable resolution of an Android system.
Detailed Description
In order to more specifically describe the present invention, the following detailed description is provided for the technical solution of the present invention with reference to the accompanying drawings and the specific embodiments.
Fig. 1 is a schematic structural diagram of an embodiment of an Android system server provided by the invention. The Android system server described in this embodiment includes: the system framework layer comprises an Audio Finger process of the system framework layer, an image hardware abstraction layer module of the hardware abstraction layer, a remote desktop server of the system framework layer and/dev/fb 0 in a kernel.
Wherein, the Audio Finger process comprises: the service initialization module is used for acquiring the set system resolution; and the system display desktop rendering module is used for rendering the image data according to the request and pushing the image data to the image hardware abstraction layer module of the hardware abstraction layer.
The image hardware abstraction layer module comprises: a system resolution setting module, which is responsible for setting the custom resolution (the resolution specification may be different from the/dev/fb 0 device specification) in the initialization stage of the system surface flag process; the display sending module receives rendered desktop image data pushed by the SurfaceFlinger service, pushes the rendered desktop image data into the anonymous shared memory (if the anonymous shared memory is created), converts the graphic data needing to be displayed into a specification which can be matched with/dev/fb 0 according to the specification of/dev/fb 0 and pushes the graphic data; the graphic service module consists of a service management module and an anonymous shared memory, wherein: and the service management module is responsible for managing the communication between the graphic service module and the remote desktop server and creating an anonymous shared memory for storing the image data after the communication connection is completed.
The remote desktop server includes: the image acquisition module is used for reading the image data in the anonymous shared memory; the connection management module is used for managing the client connected through the network and is responsible for managing the communication between the client and the graphic service module; and the first communication module is responsible for network communication between the remote desktop server and the remote desktop client.
Fig. 2 is a schematic structural diagram of an embodiment of a resolution-controllable remote desktop image redirection system based on an Android system provided by the invention. The remote desktop image redirection system with controllable resolution based on the Android system described in this embodiment includes an Android system server and a remote desktop client shown in fig. 1, where the Android system server is connected to the remote desktop client through a network, and the remote desktop client includes: the second communication module is used for network communication between the remote desktop client and the remote desktop server; and the image display module is used for decompressing and displaying the image data sent by the remote server side differential compression.
The invention provides a remote desktop image redirection method based on controllable resolution of an Android system, which comprises the following steps: a system resolution dynamic control method and an image data redirection method.
Fig. 3 is a schematic flow chart of an embodiment of a method for dynamically controlling resolution of a base system according to the present invention. The method for dynamically controlling the resolution of the system described in this embodiment specifically includes the following steps:
s101, starting a SurfaceFlinger process in an Android system framework layer, loading a graphics hardware abstraction layer module, and acquiring a system resolution specification in the graphics hardware abstraction layer by a service initialization module in the SurfaceFlinger;
the system resolution specification is a gralloc.mode.force attribute value in the Android attribute service, and when the attribute value is wrong or the attribute does not exist, the system resolution specification is the specification of/dev/fb 0 equipment.
And S102, rendering by a system display desktop rendering module in the SurfaceFlinger process according to the acquired system resolution specification to obtain image data, and pushing the image data to a display sending module in a graphic hardware abstract layer.
S103, the display module judges whether the specification of the/dev/fb 0 device is the same as that of the image data, if so, the image data is copied to the/dev/fb 0 device, and if not, the image data is converted by a size scaling algorithm and then copied to the/dev/fb 0 device.
And S104, when the Android system runs, the user resets the gradloc.mode.force attribute value by using a system resolution setting module in the image hardware abstraction layer, and then restarts the SurfaceFlinger process to reconfigure the new system resolution.
Fig. 4 is a flowchart illustrating an embodiment of an image data redirection method provided by the present invention. The image data redirection method described in this embodiment specifically includes the following steps:
s201, after the Android system surfaceFlinger process loads a graphics hardware abstraction layer module, an image service based on a Binder communication mechanism is automatically triggered and created, and at the moment, the image service only acquires the system resolution specification and receives a connection request of a client;
s202, when the remote desktop server is started, the remote desktop server is connected with the created image service through the connection management module and the service management module, and triggers the service management module to create an anonymous shared memory in the image service module, wherein an image buffer area matched with the resolution specification of the system and a mutual exclusion lock are placed in the memory;
s203, when a system display desktop rendering module in the SurfaceFlinger process pushes rendered image data, a display sending module in a graphics hardware abstraction layer module detects that an image service has created an anonymous shared memory, and copies the received image data to an image buffer area in the anonymous shared memory through a mutual exclusion lock;
s204, when the remote desktop server needs to update the desktop data, the image acquisition module firstly acquires a mutual exclusion lock in the anonymous shared memory and copies the image data in the image buffer area through the mutual exclusion lock;
s205, the remote desktop server sends the image data acquired by the image acquisition module to the remote desktop client in a differential compression mode through the first communication module;
s206, the remote desktop client sends the image data received by the second communication module to the image display module, and the image display module decompresses and displays the image data;
s207, when the remote desktop server exits, the remote desktop server applies for destroying the created anonymous shared memory to the image service module, and the service management module destroys the created anonymous shared memory;
and S208, when the system displays that the desktop rendering module pushes the rendered image data, the system monitors that the anonymous shared memory is destroyed, does not push the image data to the image service, and finishes the redirection of the image data.
The above-mentioned embodiments are intended to illustrate the technical solutions and advantages of the present invention, and it should be understood that the above-mentioned embodiments are only the most preferred embodiments of the present invention, and are not intended to limit the present invention, and any modifications, additions, equivalents, etc. made within the scope of the principles of the present invention should be included in the scope of the present invention.
Claims (2)
1. The remote desktop image redirection system with controllable resolution based on the Android system is characterized by comprising an Android system server and a remote desktop client, wherein the Android system server comprises an application layer, a system framework layer, a hardware abstraction layer and a kernel;
the system framework layer comprises a Surface flag process and a remote desktop server, wherein: the surfaceflag process includes: the service initialization module is used for acquiring the set system resolution; the system display desktop rendering module is used for rendering image data according to the request and pushing the image data to an image hardware abstraction layer module of the hardware abstraction layer; the remote desktop server includes: the image acquisition module is used for reading the image data in the anonymous shared memory; the connection management module is used for managing the remote desktop client connected through the network and is responsible for communication between the remote desktop server and the graphic service module; the first communication module is responsible for network communication between the remote desktop server and the remote desktop client;
the hardware abstraction layer comprises an image hardware abstraction layer module, and the image hardware abstraction layer module comprises: the system resolution setting module is used for setting a custom resolution in the initialization stage of the Surface flag process of the system, and the resolution specification is the same as or different from the/dev/fb 0 specification; the display module is used for receiving the image data pushed by the Surface flag process, pushing the image data to the anonymous shared memory, converting the image data to be displayed into a specification matched with the/dev/fb 0 according to the specification of the/dev/fb 0 and pushing the image data to be displayed to the/dev/fb 0; the graphic service module consists of a service management module and an anonymous shared memory, wherein: the service management module is responsible for managing communication between the graphic service module and the remote desktop server and creating an anonymous shared memory to store image data after communication connection is completed;
the remote desktop client comprises:
the second communication module is used for network communication between the remote desktop client and the remote desktop server;
and the image display module is used for decompressing and displaying the image data sent by the remote server side differential compression.
2. A remote desktop image redirection method based on the Android system resolution control and applying the system of claim 1, comprises the following steps:
the system resolution dynamic control specifically comprises the following steps:
(a-1) starting a Surface flag process in an Android system frame layer, loading a graphics hardware abstraction layer module, and acquiring a system resolution specification in the graphics hardware abstraction layer by a service initialization module in the Surface flag process, wherein the system resolution specification is a gram oc.
(a-2) rendering the system display desktop in the Surface Flinger process according to the acquired system resolution specification to obtain image data, and pushing the image data to a display sending module in a graphic hardware abstract layer;
(a-3) the display module judges whether the specification of the/dev/fb 0 is the same as the specification of the image data, if so, copies the image data to/dev/fb 0, and if not, copies the image data to/dev/fb 0 after being converted by a size scaling algorithm;
(a-4) when the Android system runs, a user resets a grafloc.mode.force attribute value by using a system resolution setting module in an image hardware abstraction layer, and then restarts a Surface flag process to reconfigure a new system resolution;
the image data redirection method specifically comprises the following steps:
(b-1) after the Android system Surface flag process loads a graphics hardware abstraction layer module, an image service based on a Binder communication mechanism is automatically triggered and created, and at the moment, the image service only acquires the system resolution specification and receives a connection request of a client;
(b-2) when the remote desktop server is started, the remote desktop server is connected with the created image service through the connection management module and the service management module, and triggers the service management module to create an anonymous shared memory in the image service module, wherein an image buffer area matched with the resolution specification of the system and a mutual exclusion lock are placed in the memory;
(b-3) when a system display desktop rendering module in the Surface Flinger process pushes rendered image data, a display sending module in a graphics hardware abstraction layer module detects that an image service has created an anonymous shared memory, and copies the received image data to an image buffer area in the anonymous shared memory through a mutual exclusion lock;
(b-4) when the remote desktop server needs to update the desktop data, the image acquisition module firstly acquires a mutual exclusion lock in the anonymous shared memory and then copies the image data in the image buffer area through the mutual exclusion lock;
(b-5) the remote desktop server side sends the image data acquired by the image acquisition module to the remote desktop client side through the first communication module in a differential compression mode;
(b-6) the remote desktop client sends the image data received through the second communication module to the image display module, and the image display module decompresses and displays the image data;
(b-7) when the remote desktop server exits, the remote desktop server applies for destroying the created anonymous shared memory to the image service module, and the service management module destroys the created anonymous shared memory;
and (b-8) when the system displays that the desktop rendering module pushes the rendered image data, monitoring that the anonymous shared memory is destroyed, and not pushing the image data to the image service to complete the redirection of the image data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710087474.8A CN106873932B (en) | 2017-02-17 | 2017-02-17 | Android system server side and remote desktop image redirection method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710087474.8A CN106873932B (en) | 2017-02-17 | 2017-02-17 | Android system server side and remote desktop image redirection method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106873932A CN106873932A (en) | 2017-06-20 |
CN106873932B true CN106873932B (en) | 2020-03-03 |
Family
ID=59166451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710087474.8A Active CN106873932B (en) | 2017-02-17 | 2017-02-17 | Android system server side and remote desktop image redirection method and system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106873932B (en) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357572A (en) * | 2017-06-23 | 2017-11-17 | 努比亚技术有限公司 | A kind of method, terminal and computer-readable recording medium for carrying out icon and showing |
CN109672884B (en) * | 2017-10-13 | 2022-05-10 | 斑马智行网络(香港)有限公司 | Image hardware coding processing method and device |
CN109828757B (en) * | 2019-01-16 | 2022-04-15 | 珠海天燕科技有限公司 | Desktop display method and device for application program |
CN110413280B (en) * | 2019-07-25 | 2022-02-22 | 四川长虹电器股份有限公司 | Android system graph display method |
CN111415636B (en) * | 2020-03-31 | 2022-03-11 | 惠州华阳通用电子有限公司 | Picture sharing system and implementation method thereof |
CN112463897B (en) * | 2020-10-14 | 2023-06-02 | 麒麟软件有限公司 | Method and system for redirecting positioning data |
CN112287363A (en) * | 2020-10-21 | 2021-01-29 | 麒麟软件有限公司 | Sensor redirection method and system based on Android system remote desktop |
CN114637559B (en) * | 2020-12-15 | 2023-11-24 | 博泰车联网科技(上海)股份有限公司 | Method, system, equipment and storage medium for displaying startup interface |
CN113220474B (en) * | 2021-04-21 | 2022-08-30 | 麒麟软件有限公司 | Android application sharing Linux system screen data method based on Android-EMUGL |
CN113778600A (en) * | 2021-09-08 | 2021-12-10 | 北京百度网讯科技有限公司 | Resolution setting method, resolution setting device, resolution setting apparatus, storage medium, and program product |
CN114172879A (en) * | 2021-11-17 | 2022-03-11 | 麒麟软件有限公司 | Android system remote desktop-based audio play redirection system and method |
CN114281289A (en) * | 2021-12-24 | 2022-04-05 | 南京机敏软件科技有限公司 | Method and system for ensuring adaptation of cloud mobile phone display picture and real mobile phone screen size |
CN114995778A (en) * | 2022-03-28 | 2022-09-02 | 广东统信软件有限公司 | Remote display control system, remote control interface display method and computing equipment |
CN115174917A (en) * | 2022-06-30 | 2022-10-11 | 中国科学技术大学 | H264-based video display method and device |
CN116204149B (en) * | 2023-05-06 | 2023-07-28 | 南京极域信息科技有限公司 | Method for improving display performance of Android operating system |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007258874A (en) * | 2006-03-22 | 2007-10-04 | Toshiba Corp | Information processing apparatus and information processing method |
CN101739289B (en) * | 2008-11-13 | 2013-06-19 | 北京闪联云视信息技术有限公司 | Method and device for setting display mode in Linux virtual machine |
WO2012044546A2 (en) * | 2010-10-01 | 2012-04-05 | Imerj, Llc | Auto-waking of a suspended os in a dockable system |
CN102693111B (en) * | 2011-07-06 | 2015-08-19 | 合肥华恒电子科技有限责任公司 | A kind of Android mobile terminal supports the method for different resolution |
US9277237B2 (en) * | 2012-07-30 | 2016-03-01 | Vmware, Inc. | User interface remoting through video encoding techniques |
US20140068000A1 (en) * | 2012-09-03 | 2014-03-06 | M/s MobileMotion Technologies Private Limited | System and method for rendering web content |
US9137488B2 (en) * | 2012-10-26 | 2015-09-15 | Google Inc. | Video chat encoding pipeline |
CN103106058B (en) * | 2013-01-25 | 2017-08-25 | Tcl集团股份有限公司 | A kind of double-screen display method and intelligent display terminal based on android system |
CN103974007B (en) * | 2013-01-28 | 2017-10-03 | 杭州海康威视数字技术股份有限公司 | The stacking method and device of screen menu type regulative mode information |
CN104123110A (en) * | 2013-04-26 | 2014-10-29 | 上海赤炫信息科技有限公司 | Android double-screen extraordinary image display method |
CN103593184B (en) * | 2013-10-31 | 2016-08-17 | 福州瑞芯微电子股份有限公司 | Image display system and method for displaying image |
CN103646638B (en) * | 2013-12-25 | 2017-10-10 | 厦门雅迅网络股份有限公司 | A kind of double-screen display method based on Android platform |
CN104765636B (en) * | 2014-01-02 | 2018-05-04 | 华为技术有限公司 | A kind of synthetic method and device of remote desktop image |
CN104090753A (en) * | 2014-06-13 | 2014-10-08 | 北京奇艺世纪科技有限公司 | Video rendering system of mobile terminal |
CN104660711A (en) * | 2015-03-13 | 2015-05-27 | 华存数据信息技术有限公司 | Remote visualized application method based on virtualization of graphic processor |
CN106126141B (en) * | 2016-06-17 | 2019-06-21 | 山东大学 | It is a kind of based on Android terminal according to the system and method for distinct interface adjust automatically resolution ratio |
-
2017
- 2017-02-17 CN CN201710087474.8A patent/CN106873932B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN106873932A (en) | 2017-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106873932B (en) | Android system server side and remote desktop image redirection method and system | |
US20220058766A1 (en) | Graphics rendering method and apparatus | |
US7281213B2 (en) | System and method for network transmission of graphical data through a distributed application | |
RU2493582C2 (en) | Architecture for remote operation with graphics | |
CN111433743B (en) | APP remote control method and related equipment | |
US10268336B2 (en) | User interface displaying and processing method and user interface displaying and processing device | |
CN107292807B (en) | Graph synthesis method, window setting method and system | |
US20060028479A1 (en) | Architecture for rendering graphics on output devices over diverse connections | |
US20220365796A1 (en) | Streaming per-pixel transparency information using transparency-agnostic video codecs | |
US20140344469A1 (en) | Method of in-application encoding for decreased latency application streaming | |
CN109343922B (en) | GPU (graphics processing Unit) virtual picture display method and device | |
US20160044139A1 (en) | Methods and systems for communications between apps and virtual machines | |
WO2016007180A1 (en) | Providing remote access to applications through interface hooks | |
EP2360574A2 (en) | Display data management techniques | |
CN106775517B (en) | System and method for synchronous display of display devices with different resolutions | |
CN111311716A (en) | Animation playing method and device, terminal equipment and storage medium | |
CN114741081B (en) | Cross-operation environment display output sharing method based on heterogeneous cache access | |
US20140059114A1 (en) | Application service providing system and method and server apparatus and client apparatus for application service | |
CN113655975B (en) | Image display method, image display device, electronic apparatus, and medium | |
CN115546410A (en) | Window display method and device, electronic equipment and storage medium | |
CN102446341A (en) | Server and image processing method thereof | |
CN114968152B (en) | Method for reducing VIRTIO-GPU extra performance loss | |
CN111258693B (en) | Remote display method and device | |
CN114089896A (en) | Rendering image intercepting method and device | |
CN109710352B (en) | Display method and device of boot animation |
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 |