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 PDF

Info

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
Application number
CN201710087474.8A
Other languages
Chinese (zh)
Other versions
CN106873932A (en
Inventor
王总辉
陈文智
姜鹏飞
苏奎
张良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201710087474.8A priority Critical patent/CN106873932B/en
Publication of CN106873932A publication Critical patent/CN106873932A/en
Application granted granted Critical
Publication of CN106873932B publication Critical patent/CN106873932B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/10Selection of transformation methods according to the characteristics of the input images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-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

Android system server side and remote desktop image redirection method and system
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.
CN201710087474.8A 2017-02-17 2017-02-17 Android system server side and remote desktop image redirection method and system Active CN106873932B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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