CN116339659A - Screen projection display method, device, equipment and computer storage medium - Google Patents

Screen projection display method, device, equipment and computer storage medium Download PDF

Info

Publication number
CN116339659A
CN116339659A CN202111598556.1A CN202111598556A CN116339659A CN 116339659 A CN116339659 A CN 116339659A CN 202111598556 A CN202111598556 A CN 202111598556A CN 116339659 A CN116339659 A CN 116339659A
Authority
CN
China
Prior art keywords
screen
data
display
request
projected
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111598556.1A
Other languages
Chinese (zh)
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.)
Chengdu Jimi Technology Co Ltd
Original Assignee
Chengdu Jimi Technology Co Ltd
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 Chengdu Jimi Technology Co Ltd filed Critical Chengdu Jimi Technology Co Ltd
Priority to CN202111598556.1A priority Critical patent/CN116339659A/en
Publication of CN116339659A publication Critical patent/CN116339659A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

The embodiment of the application discloses a screen projection display method, a device, equipment and a computer storage medium, wherein the method comprises the following steps: after receiving a screen throwing request, acquiring screen throwing data; storing the data to be screen-cast into a preset memory area, and sending a screen-cast request to a direct rendering manager; and calling a direct rendering manager to display the data to be screen-projected in the preset memory area according to the screen-projected request. Therefore, the direct rendering manager is used for directly displaying the data to be displayed in the preset memory area, so that the display synchronization time can be saved, and the functional requirement of a user on real-time display in the screen display process is met.

Description

Screen projection display method, device, equipment and computer storage medium
Technical Field
The application relates to the technical field of screen projection, in particular to a screen projection display method, a screen projection display device, screen projection display equipment and a computer storage medium.
Background
With the continuous development of projector technology, the projection screen technology is widely applied to the fields of business, education, home video and audio, and the like, thereby bringing convenience to life and work for people. By connecting the projector, the pictures on a small screen such as a computer can be enlarged to be displayed on a larger screen, and visual experience is realized.
In the related art, the indexes influencing the screen-throwing experience are mainly resolution and delay time. The large-screen game has a strict requirement on the screen throwing delay, and a poor experience is brought to a screen throwing scene by the larger delay, so that the optimization of the delay is a problem to be solved in the current urgent need of the screen throwing technology.
Disclosure of Invention
The application provides a screen display method, a device, equipment and a computer storage medium, which can save display synchronization time, thereby meeting the functional requirement of a user on real-time display in the screen display process.
In order to achieve the above purpose, the technical scheme of the application is realized as follows:
in a first aspect, an embodiment of the present application provides a screen display method, which is applied to a screen display device, where the method includes:
after receiving a screen throwing request, acquiring screen throwing data;
storing the data to be screen-projected to a preset memory area, and sending the screen-projected request to a direct rendering manager;
and calling the direct rendering manager to display the data to be screen-projected in the preset memory area according to the screen-projected request.
In some embodiments, before sending the screen drop request to a direct render manager, the method further comprises:
initializing screen throwing information according to the screen throwing request;
and calling a registration flow after the screen information is initialized to finish registering the direct rendering manager.
In some embodiments, the screen projection information includes layer configuration information and dataram information; initializing screen projection information according to the screen projection request, wherein the screen projection information comprises the following steps:
initializing the layer configuration information according to the screen throwing request;
initializing the data memory information after the initialization of the layer configuration information is completed;
when the initialization of the data memory information is completed, determining that the initialization of the screen throwing information is completed;
wherein the layer configuration information includes at least one of: the type of the hardware layer unit, the identification number of the display controller, the screen type, resolution and data coordinate information of the display device;
the dataram information includes at least one of: the frame buffer identification number, data size, and data format.
In some embodiments, the screen casting device includes a display apparatus, and after registering the direct rendering manager is completed, the method further includes:
initializing the display device;
and enabling connection of the display device with a target hardware layer unit in the direct rendering manager.
In some embodiments, the calling the direct rendering manager to display the to-be-screen data in the preset memory area according to the screen-throwing request includes:
transmitting the screen data to be projected in the preset memory area to a target hardware layer unit in the direct rendering manager in a memory data copying mode;
and the direct rendering manager sends the data to be screen-projected in the target hardware layer unit to the display device for display according to the screen-projected request.
In some embodiments, the screen projection device further includes a display controller, and the sending the to-be-projected screen data in the target hardware layer unit to the display device for display includes:
transmitting the data to be screened in the target hardware layer unit to the display controller;
and controlling the display device to display the data to be projected by the display controller.
In some embodiments, after receiving the screen-throwing request, the acquiring the data to be thrown includes:
receiving video stream data;
decoding the video stream data to obtain the data to be projected;
correspondingly, the storing the to-be-screen data in the preset memory area includes: and storing the data to be screened into the preset memory area by a memory data copying mode.
In a second aspect, an embodiment of the present application provides a screen display device, where the screen display device includes a receiving unit, a processing unit, and a display unit; wherein,,
the receiving unit is configured to acquire to-be-screen-projected data after receiving a screen projection request;
the rendering unit is configured to store the to-be-screen data into a preset memory area and send the screen-projection request to a direct rendering manager;
the display unit is configured to call the direct rendering manager to display the data to be screen-projected in the preset memory area according to the screen-projected request.
In a third aspect, an embodiment of the present application provides a screen projection device, including a memory and a processor; wherein,,
the memory is used for storing a computer program capable of running on the processor;
the processor is configured to perform the method according to any of the first aspects when the computer program is run.
In a fourth aspect, embodiments of the present application provide a computer storage medium storing a screen-casting program that, when executed by at least one processor, implements a method according to any one of the first aspects.
The embodiment of the application provides a screen projection display method, device and equipment and a computer storage medium. After receiving a screen throwing request, acquiring screen throwing data; storing the data to be screen-cast into a preset memory area, and sending a screen-cast request to a direct rendering manager; and calling the direct rendering manager to display the data to be displayed in the preset memory area according to the screen display request, so that the data to be displayed in the preset memory area is directly displayed through the direct rendering manager, and compared with synchronous rendering in the related art, the display synchronization time is saved, and the functional requirement of a user on real-time display in the screen display process is met.
Drawings
Fig. 1 is a schematic diagram of a functional framework of a screen projection device according to the related art
Fig. 2 is a flow chart of a screen projection display method according to an embodiment of the present application;
fig. 3 is a detailed flowchart of a screen projection display method according to an embodiment of the present application;
fig. 4 is a schematic functional architecture diagram of a screen projection device according to an embodiment of the present application;
fig. 5 is a schematic diagram of a composition structure of a projection display device according to an embodiment of the present application;
fig. 6 is a schematic diagram of a specific hardware structure of a screen projection device according to an embodiment of the present application;
fig. 7 is a schematic diagram of a composition structure of a screen projection device according to an embodiment of the present application.
Detailed Description
For a more complete understanding of the features and technical content of the embodiments of the present application, reference should be made to the following detailed description of the embodiments of the present application, taken in conjunction with the accompanying drawings, which are for purposes of illustration only and not intended to limit the embodiments of the present application.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of the present application only and is not intended to be limiting of the present application.
In the following description, reference is made to "some embodiments" which describe a subset of all possible embodiments, but it is to be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments and can be combined with one another without conflict. It should also be noted that the term "first/second/third" in reference to the embodiments of the present application is used merely to distinguish similar objects and does not represent a specific ordering for the objects, it being understood that the "first/second/third" may be interchanged with a specific order or sequence, if allowed, to enable the embodiments of the present application described herein to be implemented in an order other than that illustrated or described herein.
It can be understood that since the appearance of projectors, the projection technology is widely applied to the fields of business, education, home video and audio, and the like, thereby bringing convenience to life and work for people. By connecting the projector, the pictures on a small screen such as a computer can be enlarged to be displayed on a larger screen, and visual experience is realized. At present, indexes influencing screen-throwing experience are mainly resolution and delay time, but large-screen games are particularly harsh to the screen-throwing delay, and the experience is poor for a screen-throwing scene due to the larger delay, so that optimizing delay is the most important technical link in the screen-throwing technology, and low delay can bring quality to products.
Referring to fig. 1, a functional framework diagram of a screen projection device provided by the related art is shown. As shown in fig. 1, an Android (Android) system is loaded with application programs (APPs) including a user space (Userspace) and a Kernel (Kernel); wherein, the user space is provided with an image related service end (SurfaceFlinger), and is internally provided with a hardware synthesizer (Hardware Composer, HWC) and data channels (layer_1, layer_2, layer_3, layer_4) to be displayed, and the kernel is provided with hardware Layer units (plane_1, plane_2, plane_3, plane_4), a display controller (Visual Output Processor, VOP) and a display device (DispLayer); in this way, the layers_1, 2, 3, and 4 can be correspondingly sent to the planes_1, 2, 3, and 4 for storage by the image related server (surface file manager), and then the content in the planes can be sent to the display device for display by the display controller.
Specifically, on the display of the Android system, the surfeflinger is responsible for processing display requests of all applications, and the HWC is used as an allocator of the system display policy to determine the synthesis mode of the Layer to be displayed in the current system, and the general synthesis modes are as follows: graphics processor (Graphics Processing Unit, GPU, or GLES) and display output controller (Visual Output Processor, VOP, or Overlay). A normal frame of image needs to be displayed on a display device such as a liquid crystal display (Liquid Crystal Display, LCD) through the process shown in fig. 1; the HWC distributes the data channel (Layer) of the SurfaceFlinger display to the hardware Layer unit (Plane) existing in the display controller, and finally the display controller displays the content on the Plane.
Because the 4.1 version of the Android system starts to introduce a vertical synchronization (Vertical synchronization, VSync) mechanism for synchronous rendering, an application Interface (Application User Interface, appUI) and a surfeflinger can work according to a waiting vertical synchronization (VSync) rhythm generated by hardware, the Android system sends out a VSync signal every 16ms, triggers rendering of a User Interface (UI) to reduce the synchronization delay of VSync display, and at least needs to operate display data of data channels such as layer_1, layer_2, layer_3 and the like when each frame of the video of the current Android system is displayed, namely, three vysnc synchronization times are needed to display, so that the delay is larger.
Based on this, the embodiment of the application provides a screen projection display method, and the basic idea of the method is as follows: after receiving a screen throwing request, acquiring screen throwing data; storing the data to be screen-cast into a preset memory area, and sending a screen-cast request to a direct rendering manager; and calling the direct rendering manager to display the data to be displayed in the preset memory area according to the screen display request, so that the data to be displayed in the preset memory area is directly displayed through the direct rendering manager, and compared with synchronous rendering in the related art, the display synchronization time is saved, and the functional requirement of a user on real-time display in the screen display process is met.
Embodiments of the present application will be described in detail below with reference to the accompanying drawings.
Example 1
In an embodiment of the present application, referring to fig. 2, a schematic flow chart of a screen projection display method provided in an embodiment of the present application is shown. As shown in fig. 2, the method may include:
s201: and after receiving the screen throwing request, acquiring the data to be thrown.
It should be noted that, the method for displaying a screen provided in the embodiment of the present application may be applied to a device that needs to perform screen display, or an electronic device integrated with the device. Here, the electronic device may be, for example, a television, a projector, a notebook computer, a palm computer, a personal digital assistant (Personal Digital Assistant, PDA), a server, or the like, to which the embodiments of the present application are not particularly limited.
It should also be noted that the embodiments of the present application may be applied to any operating system that needs a fast screen display, where the operating system may include various operating systems, such as an android system, an iphone operating (iphone operation system, IOS) system, a UNIX system, and the like, and is not limited in any way. In addition, the operating system kernel herein may be any of a variety of suitable operating system kernels, such as single kernel, dual kernel, microkernel, hybrid kernel, but embodiments of the present application are not so limited.
It should be further noted that, the screen-throwing request may include related parameter information about to be thrown, specifically, the screen-throwing request may include layer configuration information and data memory information corresponding to data to be thrown, where the data to be thrown may be video stream data, image data, etc., and the embodiment of the present application is not limited in any way
S202: and storing the data to be screen-projected to a preset memory area, and sending the screen-projected request to a direct rendering manager.
It should be noted that, each item of parameter information of the preset memory area (i.e. the data channel, or referred to as the data layer) is initialized and set according to the relevant parameter information in the screen-throwing request. The method comprises the steps of independently storing to-be-screen-projected data according to an additional opened independent storage space for the screen projection request, then sending the screen projection request to a direct rendering manager, and bypassing a Surface Flinger of an android system, so that the screen projection request is directly received by a display device, and further, the to-be-projected data is directly displayed on the display device, the time of screen projection display is greatly saved, the synchronous display of the screen projection process is realized, and the use experience of a user is remarkably improved.
In some embodiments, before sending the screen-cast request to a direct render manager, the method may further comprise:
initializing screen throwing information according to the screen throwing request;
and calling a registration flow after the screen information is initialized to finish registering the direct rendering manager.
It should be noted that, in the embodiment of the present application, the screen-throwing information may be initialized according to the screen-throwing request; the screen projection information may include layer configuration information and data memory information, that is, in this embodiment, the layer configuration information and the data memory information need to be initialized, and then registration of a direct rendering manager (Direct Rendering Manager, DRM) is performed.
In the process of registering the direct rendering manager, an appropriate interface is selected from a direct rendering manager library according to the Frame Buffer (FB) identification information in the screen throwing information to complete the registration of the direct rendering manager, and the direct rendering manager after the registration is successful can directly render the screen throwing data in the specific data channel (layer_4) and then transmit the screen throwing data to the target hardware Layer unit, so that the connection between the data channel and the target hardware Layer is realized, and the screen throwing data in the data memory can be directly displayed by the display hardware.
Specifically, in some embodiments, the screen projection information may include layer configuration information and data memory information. Accordingly, the initializing the screen-throwing information according to the screen-throwing request may include:
initializing the layer configuration information according to the screen throwing request;
initializing the data memory information after the initialization of the layer configuration information is completed;
when the initialization of the data memory information is completed, determining that the initialization of the screen throwing information is completed;
wherein the layer configuration information includes at least one of: the type of the hardware layer unit, the identification number of the display controller, the screen type, resolution and data coordinate information of the display device;
the dataram information includes at least one of: the frame buffer identification number, data size, and data format.
In the process of initializing Layer configuration information, layer configuration information of Layer is initialized first, and Layer configuration information of Plane is initialized again. In the process of initializing the data memory information, the data memory information of the Layer is initialized first, and then the data memory information of the Plane is initialized.
It should also be noted that, in the embodiment of the present application, the screen-drop request may mainly include: the type (type) attribute of Plane, the identification number (Identity, ID) of the corresponding display controller, and the screen type, resolution, target and source data coordinate information of the display device, etc. Setting the information in the screen throwing request as layer configuration information to initialize the layer configuration information, and initializing the data memory information in the same mode after the layer configuration information is initialized. Specifically, in the process of initializing Layer configuration information, layer configuration information of Layer is initialized first, and Layer configuration information of Plane is initialized again. In the process of initializing the data memory information, the data memory information of the Layer is initialized first, and then the data memory information of the Plane is initialized. In addition, the initialization data memory information may mainly include: FB ID, data size, data format, etc.
Further, in some embodiments, the screen-casting device includes a display apparatus, and after registering the direct rendering manager is completed, the method further includes:
initializing the display device;
and enabling connection of the display device with a target hardware layer unit in the direct rendering manager.
It should be noted that, initializing the display device so that the display device can be matched with the relevant parameters of the data to be projected, specifically, the parameters of the display device to be initialized may include: the display device is connected with the target hardware layer through the display controller, so that the display device performs parameter initialization (i.e. parameter configuration) through specific parameters of the display device obtained from the target hardware layer, and the display controller can control the content of the target hardware layer unit to be displayed on the display device.
That is, for initializing the display device, the parameters of the display device may be initialized (parameter configuration) according to the to-be-screen data in the screen-projection request, where the parameters are specifically the parameters of the display device in the screen-projection request, and the parameters of the display device in the screen-projection request reach the display device through the transmission of the target hardware layer, and then the parameters of the display device are initialized, so that the parameter initialization of the display device is achieved.
S203: and the call direct rendering manager displays the data to be screen-projected in the preset memory area according to the screen-projected request.
It should be noted that, in this embodiment of the present application, the direct rendering manager may obtain the to-be-screen-projected data from the data channel, render the to-be-projected data, write the rendered to-be-projected data into the preset memory area, and there is an independent target hardware layer unit set for the projection process in the display layer, where in a specific application, the display controller may preferentially display the target hardware layer (such as plane_4).
In some embodiments, the displaying, by the direct rendering manager, the to-be-screen data in the preset memory area according to the screen-throwing request may include:
transmitting the screen data to be projected in the preset memory area to a target hardware layer unit in the direct rendering manager in a memory data copying mode;
and the direct rendering manager sends the data to be screen-projected in the target hardware layer unit to the display device for display according to the screen-projected request.
It should be noted that, the data to be screened in the preset memory area is copied and stored in the target hardware layer unit (i.e. the display layer) in a memory copy manner, so that the data is formed into an independent display layer, and then, the data to be screened is sent to the display device for display under the condition that the display device is enabled to be connected with the target hardware layer unit in the direct rendering manager.
In some embodiments, the screen projection device further includes a display controller, and the sending the to-be-projected screen data in the target hardware layer unit to the display device for display may include:
transmitting the data to be screened in the target hardware layer unit to the display controller;
and controlling the display device to display the data to be projected by the display controller.
It should be noted that, in the display controller, a mode of hiding all other display layers and preferentially displaying the single display layer storing the to-be-screen-projected data may be adopted, so that the video stream corresponding to the to-be-projected data may be displayed fastest, and the synchronization degree in the screen projection process is optimized.
In some embodiments, after receiving the screen-throwing request, the acquiring the data to be thrown may include:
receiving video stream data;
decoding the video stream data to obtain the data to be projected;
correspondingly, the storing the to-be-screen data in the preset memory area may include: and storing the data to be screened into the preset memory area by a memory data copying mode.
It should be noted that, in the embodiment of the present application, video stream data is decoded to obtain luminance and chrominance (Luma and Chroma, YUV) data corresponding to a color coding manner, and the YUV data is stored in a preset memory area as data to be projected, where the storage process adopts a data copying manner, and after being rendered by a direct rendering controller, the data to be projected is also stored in a target hardware layer unit through the data copying manner.
In the embodiment of the application, the direct operation layer_4 channel is adopted to display data, so that the surface eFlinger is bypassed; only 1 vsync time is needed to display normally, and the time can be reduced by 32-66 ms, so that the display synchronization time can be saved, and the real-time display requirement of a screen-throwing receiving end is met.
The embodiment provides a screen display method, which comprises the steps of obtaining screen data to be screened after a screen projection request is received; storing the data to be screen-cast into a preset memory area, and sending a screen-cast request to a direct rendering manager; and calling the direct rendering manager to display the data to be displayed in the preset memory area according to the screen display request, so that the data to be displayed in the preset memory area is directly displayed through the direct rendering manager, and compared with synchronous rendering in the related art, the display synchronization time is saved, and the functional requirement of a user on real-time display in the screen display process is met.
Example two
Based on the same inventive concept as the foregoing embodiments, referring to fig. 3, a detailed flow diagram of a screen projection display method provided in an embodiment of the present application is shown, as shown in fig. 3, where the method may include:
s301: initializing layer configuration information;
it should be noted that, in the embodiment of the present application, layer configuration information of a data channel (Layer) and a display Layer (Plane) need to be initialized sequentially.
S302: initializing data memory information;
it should be noted that, in the embodiment of the present application, the data layer and the data memory information of the display layer need to be initialized sequentially.
S303: registering a direct rendering manager (Direct Rendering Manager, DRM);
it should also be noted that if the registration is successful, S305 may be executed; if registration fails, S304 may be performed.
S304: the screen throwing is exited;
s305: initializing a display device and enabling connection of the display device;
s306: the screen throwing device receives the video stream;
s307: decoding the video stream to obtain to-be-screen data;
s308: other data layers are hidden, and only layer_4 layers are displayed;
s309: and copying the data in the layer_4 Layer.
In a specific implementation manner, the embodiment of the application can be executed by a screen-throwing device, and the screen-throwing device is loaded with a screen-throwing APP. For example, the execution flow of the technical scheme may include:
step one: after detecting a screen projection request through a screen projection display thread, the screen projection APP initializes Layer configuration information of a data channel (Layer) and a display Layer (Plane) through direct rendering manager Library (DRM) interface operation.
Specifically, the layer configuration information is initialized by the on-screen display thread, and mainly includes a Type (Type) attribute of Plane, an ID number of a corresponding VOP display controller, and screen Type, resolution, target and source data coordinate information of the display device.
Step two: after the layer configuration information is initially completed, initializing a data layer and displaying the data memory information of the layer.
Specifically, the initialization data memory mainly includes a frame buffer identification (fb id), a data size, a data format, and the like.
Step three: registering a direct rendering manager.
Specifically, the call function drm_open acquires fb id, dump is established through drmtrol, and fb is mapped through a drmmoddfb 2 interface, so that the direct rendering manager is registered.
Initializing the display device and enabling connection display of the picture layer (Plane), and after the display device is completed, directly displaying the data in the memory.
And fifthly, the screen throwing receives the video stream, and after decoding the video stream, other layers are hidden, and the layer_4 Layer is displayed.
That is, the screen casting APP receives the YUV data decoded by the video stream from the thread through the screen casting, writes the received YUV data directly into layer_4 in a memory data Copy (Copy) manner, closes the other three Layer channels, then transmits the YUV data to the initialized data memory in the second step in the memory Copy manner, and controls the display device to display through the display controller, for example, the projection can control the optical machine to display.
Referring to fig. 4, a functional architecture schematic of a screen projection device according to an embodiment of the present application is shown. As shown in fig. 4, the technical solution of the embodiment of the present application bypasses surface eflinger, directly uses one of the layers_4, directly controls configuration information of the layer_4, and the projection APP receives video data sent by the sending end, obtains YUV data through a decoded color coding manner, directly writes the YUV data into the layer_4, and then sends the layer_4 and other planes (for example, plane_1, plane_2, plane_3, etc.) of the system together to the display controller, and then displays the video data through the display device.
In short, the embodiment of the application adopts a direct operation data Layer (Layer) channel to display data, bypasses surfeflinger, can normally display the data only by 1 vsync time, can reduce the time of 32ms-66ms, can save the display synchronization time, and solves the real-time display requirement of a screen throwing receiving end.
The embodiment provides a screen-throwing display method, and details are described on the specific implementation of the foregoing embodiment, so that it can be seen that, by the technical scheme of the foregoing embodiment, video stream data bypasses an Android display surface eflinger mechanism and directly transfers data to a Drm for display, so that 2 vertical synchronization mechanism (vsync) delays can be saved, synchronization delay caused by the Android synchronization mechanism is reduced, and user experience is optimized.
Example III
Based on the same inventive concept as the previous embodiments, referring to fig. 5, a schematic diagram of a composition structure of a projection display device 50 according to an embodiment of the present application is shown. As shown in fig. 5, the projection display device 50 may include: a receiving unit 501, a processing unit 502, and a display unit 503; wherein,,
a receiving unit 501, configured to obtain data to be screen-projected after receiving a screen-projected request;
the processing unit 502 is configured to store the to-be-screen-projected data into a preset memory area and send the screen-projected request to a direct rendering manager;
a display unit 503, configured to display the to-be-screen data in the preset memory area according to the screen-throwing request by the direct rendering manager;
in some embodiments, the processing unit 502 is further configured to initialize the screen-casting information according to the screen-casting request; and calling a registration flow after the screen information is initialized to finish registering the direct rendering manager.
In some embodiments, the screen projection information includes layer configuration information and dataram information; correspondingly, the processing unit 502 is specifically configured to initialize the layer configuration information according to the screen-throwing request; initializing the data memory information after the initialization of the layer configuration information is completed; when the initialization of the data memory information is completed, determining that the initialization of the screen throwing information is completed; wherein the layer configuration information includes at least one of: the type of the hardware layer unit, the identification number of the display controller, the screen type, resolution and data coordinate information of the display device; and the dataram information includes at least one of: the frame buffer identification number, data size, and data format.
In some embodiments, the screen projection device comprises a display apparatus, and accordingly, the processing unit 502 is further configured to initialize the display apparatus; and connecting the display device with a target hardware layer unit enabling connection in the direct rendering manager.
In some embodiments, the processing unit 502 is specifically configured to send, by using a memory data replication manner, the to-be-screen data in the preset memory area to a target hardware layer unit in the direct rendering manager; and the direct rendering manager sends the data to be screen-projected in the target hardware layer unit to the display device for display according to the screen-projected request.
In some embodiments, the screen projection device further includes a display controller, and accordingly, the display unit 503 is specifically configured to send the to-be-projected screen data in the target hardware layer unit to the display controller; and controlling the display device to display the data to be projected by the display controller.
In some embodiments, the receiving unit 501 is specifically configured to receive video stream data; decoding the video stream data to obtain the data to be projected;
correspondingly, the processing unit 502 is further configured to store the to-be-screen data to the preset memory area by using a memory data replication mode.
It will be appreciated that in this embodiment, the "unit" may be a part of a circuit, a part of a processor, a part of a program or software, etc., and may of course be a module, or may be non-modular. Furthermore, the components in the present embodiment may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional modules.
The integrated units, if implemented in the form of software functional modules, may be stored in a computer-readable storage medium, if not sold or used as separate products, and based on such understanding, the technical solution of the present embodiment may be embodied essentially or partly in the form of a software product, which is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) or processor to perform all or part of the steps of the method described in the present embodiment. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
Accordingly, the present embodiment provides a computer storage medium storing a projection display program which, when executed by at least one processor, implements the steps of the method of any of the preceding embodiments.
Based on the above-mentioned composition of the screen display device 50 and the computer storage medium, referring to fig. 6, a specific hardware structure diagram of the screen display device 60 provided in the embodiment of the present application is shown. As shown in fig. 6, may include: a communication interface 601, a memory 602, and a processor 603; the various components are coupled together by a bus system 604. It is understood that the bus system 604 is used to enable connected communications between these components. The bus system 604 includes a power bus, a control bus, and a status signal bus in addition to the data bus. But for clarity of illustration, the various buses are labeled as bus system 604 in fig. 6. The communication interface 601 is configured to receive and send signals in a process of receiving and sending information with other external network elements;
a memory 602 for storing a computer program capable of running on the processor 603;
a processor 603 for executing, when running the computer program:
after receiving a screen throwing request, acquiring screen throwing data;
storing the data to be screen-projected to a preset memory area, and sending the screen-projected request to a direct rendering manager;
and calling the direct rendering manager to display the data to be screen-projected in the preset memory area according to the screen-projected request.
It is to be appreciated that the memory 602 in embodiments of the present application may be either volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. The nonvolatile Memory may be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable EPROM (EEPROM), or a flash Memory. The volatile memory may be random access memory (Random Access Memory, RAM) which acts as an external cache. By way of example, and not limitation, many forms of RAM are available, such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (Double Data Rate SDRAM), enhanced SDRAM (ESDRAM), synchronous Link DRAM (SLDRAM), and Direct memory bus RAM (DRRAM). The memory 602 of the systems and methods described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
And the processor 603 may be an integrated circuit chip with signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuitry of hardware in the processor 603 or instructions in the form of software. The processor 603 may be a general purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components. The disclosed methods, steps, and logic blocks in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of a method disclosed in connection with the embodiments of the present application may be embodied directly in hardware, in a decoded processor, or in a combination of hardware and software modules in a decoded processor. The software modules may be located in a random access memory, flash memory, read only memory, programmable read only memory, or electrically erasable programmable memory, registers, etc. as well known in the art. The storage medium is located in the memory 602, and the processor 603 reads information in the memory 602, and in combination with its hardware, performs the steps of the method described above.
It is to be understood that the embodiments described herein may be implemented in hardware, software, firmware, middleware, microcode, or a combination thereof. For a hardware implementation, the processing units may be implemented within one or more application specific integrated circuits (Application Specific Integrated Circuits, ASIC), digital signal processors (Digital Signal Processing, DSP), digital signal processing devices (DSP devices, DSPD), programmable logic devices (Programmable Logic Device, PLD), field programmable gate arrays (Field-Programmable Gate Array, FPGA), general purpose processors, controllers, microcontrollers, microprocessors, other electronic units configured to perform the functions described herein, or a combination thereof.
For a software implementation, the techniques described herein may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in a memory and executed by a processor. The memory may be implemented within the processor or external to the processor.
Optionally, as another embodiment, the processor 603 is further configured to perform the steps of the method of any of the previous embodiments when the computer program is run.
In some embodiments, referring to fig. 7, a schematic diagram of a composition structure of a screen projection device 60 according to an embodiment of the present application is shown. As shown in fig. 7, the screen projection device 60 includes at least the screen projection display apparatus 50 according to any one of the foregoing embodiments.
In the embodiment of the present application, for the screen-throwing device 60, after receiving the screen-throwing request, the data to be thrown is obtained; storing the data to be screen-cast into a preset memory area, and sending a screen-cast request to a direct rendering manager; and calling the direct rendering manager to display the data to be displayed in the preset memory area according to the screen display request, so that the data to be displayed in the preset memory area is directly displayed through the direct rendering manager, and compared with synchronous rendering in the related art, the display synchronization time is saved, and the functional requirement of a user on real-time display in the screen display process is met.
It should be noted that, in this application, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The foregoing embodiment numbers of the present application are merely for describing, and do not represent advantages or disadvantages of the embodiments.
The methods disclosed in the several method embodiments provided in the present application may be arbitrarily combined without collision to obtain a new method embodiment.
The features disclosed in the several product embodiments provided in the present application may be combined arbitrarily without conflict to obtain new product embodiments.
The features disclosed in the several method or apparatus embodiments provided in the present application may be arbitrarily combined without conflict to obtain new method embodiments or apparatus embodiments.
The foregoing is merely specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily think about changes or substitutions within the technical scope of the present application, and the changes and substitutions are intended to be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (10)

1. A screen display method, characterized in that it is applied to a screen display device, the method comprising:
after receiving a screen throwing request, acquiring screen throwing data;
storing the data to be screen-projected to a preset memory area, and sending the screen-projected request to a direct rendering manager;
and calling the direct rendering manager to display the data to be screen-projected in the preset memory area according to the screen-projected request.
2. The method of claim 1, wherein prior to sending the screen drop request to a direct render manager, the method further comprises:
initializing screen throwing information according to the screen throwing request;
and calling a registration flow after the screen information is initialized to finish registering the direct rendering manager.
3. The method of claim 2, wherein the screen projection information includes layer configuration information and dataram information; initializing screen projection information according to the screen projection request, wherein the screen projection information comprises the following steps:
initializing the layer configuration information according to the screen throwing request;
initializing the data memory information after the initialization of the layer configuration information is completed;
when the initialization of the data memory information is completed, determining that the initialization of the screen throwing information is completed;
wherein the layer configuration information includes at least one of: the type of the hardware layer unit, the identification number of the display controller, the screen type, resolution and data coordinate information of the display device;
the dataram information includes at least one of: the frame buffer identification number, data size, and data format.
4. The method of claim 2, wherein the screen-casting device comprises a display apparatus, the method further comprising, after completing registering the direct rendering manager:
initializing the display device;
and enabling connection of the display device with a target hardware layer unit in the direct rendering manager.
5. The method of claim 4, wherein invoking the direct rendering manager to display the to-be-screen data in the preset memory area according to the screen-drop request comprises:
transmitting the screen data to be projected in the preset memory area to a target hardware layer unit in the direct rendering manager in a memory data copying mode;
and the direct rendering manager sends the data to be screen-projected in the target hardware layer unit to the display device for display according to the screen-projected request.
6. The method of claim 5, wherein the screen-casting device further comprises a display controller, and wherein the sending the to-be-cast data in the target hardware layer unit to the display device for display comprises:
transmitting the data to be screened in the target hardware layer unit to the display controller;
and controlling the display device to display the data to be projected by the display controller.
7. The method according to any one of claims 1 to 6, wherein, after receiving the screen-throwing request, the acquiring the data to be thrown includes:
receiving video stream data;
decoding the video stream data to obtain the data to be projected;
correspondingly, the storing the to-be-screen data in the preset memory area includes: and storing the data to be screened into the preset memory area by a memory data copying mode.
8. The screen projection display device is characterized by comprising a receiving unit, a processing unit and a display unit; wherein,,
the receiving unit is configured to acquire to-be-screen-projected data after receiving a screen projection request;
the processing unit is configured to store the to-be-screen-projected data into a preset memory area and send the screen projection request to a direct rendering manager;
the display unit is configured to call the direct rendering manager to display the data to be screen-projected in the preset memory area according to the screen-projected request.
9. A screen projection device, wherein the screen projection device comprises a memory and a processor; wherein,,
the memory is used for storing a computer program capable of running on the processor;
the processor being adapted to perform the method of any of claims 1 to 7 when the computer program is run.
10. A computer storage medium storing a screen-casting program which, when executed by at least one processor, implements the method of any one of claims 1 to 7.
CN202111598556.1A 2021-12-24 2021-12-24 Screen projection display method, device, equipment and computer storage medium Pending CN116339659A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111598556.1A CN116339659A (en) 2021-12-24 2021-12-24 Screen projection display method, device, equipment and computer storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111598556.1A CN116339659A (en) 2021-12-24 2021-12-24 Screen projection display method, device, equipment and computer storage medium

Publications (1)

Publication Number Publication Date
CN116339659A true CN116339659A (en) 2023-06-27

Family

ID=86879478

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111598556.1A Pending CN116339659A (en) 2021-12-24 2021-12-24 Screen projection display method, device, equipment and computer storage medium

Country Status (1)

Country Link
CN (1) CN116339659A (en)

Similar Documents

Publication Publication Date Title
US9864560B2 (en) Mirroring graphics content to an external display
US8362971B1 (en) Independent views generated for multiple display devices by a software application
US8860716B2 (en) 3D image processing method and portable 3D display apparatus implementing the same
CN109168021B (en) Plug flow method and device
CN108984137B (en) Double-screen display method and system and computer readable storage medium
CN109426472A (en) Multimedia play system and multimedia player
JP2005345523A (en) Display system changing over apparatus, display system changing method, display system changing over program and computer readable storage medium with the program stored
US11936928B2 (en) Method, system and device for sharing contents
CN112492364A (en) Screen projection method, screen projection device and source equipment
CN110933495A (en) Video playing method and device based on embedded system
CN113014970B (en) Display apparatus and display control method
CN112433689A (en) Data transmission method and device for same-screen device, same-screen device and medium
JP2004088194A (en) Information processor, projector system, and program
WO2019242217A1 (en) Method and device for playing back media content
WO2023125316A1 (en) Video processing method and apparatus, electronic device, and medium
CN116339659A (en) Screen projection display method, device, equipment and computer storage medium
CN115964010A (en) Display method, display device, electronic equipment and readable storage medium
WO2018228489A1 (en) Dual-display method and unit for electronic device, and electronic device
US20130254704A1 (en) Multiple Simultaneous Displays on the Same Screen
WO2024001766A1 (en) Screen recording and sharing method and electronic device
US20240177371A1 (en) Display method and apparatus for virtual desktop
CN118467189A (en) Event processing method, device, electronic equipment and storage medium
CN117615197A (en) Multi-window display method and display device
CN117311653A (en) Screen sharing method and device and electronic equipment
CN116126272A (en) Screen projection method and device, electronic equipment and nonvolatile storage medium

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