CN117176963B - Virtualized video encoding and decoding system and method, electronic equipment and storage medium - Google Patents
Virtualized video encoding and decoding system and method, electronic equipment and storage medium Download PDFInfo
- Publication number
- CN117176963B CN117176963B CN202311447507.7A CN202311447507A CN117176963B CN 117176963 B CN117176963 B CN 117176963B CN 202311447507 A CN202311447507 A CN 202311447507A CN 117176963 B CN117176963 B CN 117176963B
- Authority
- CN
- China
- Prior art keywords
- decoding
- video coding
- video
- virtual machine
- kernel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000003993 interaction Effects 0.000 claims abstract description 29
- 230000008569 process Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000004364 calculation method Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 238000007726 management method Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 10
- 238000002955 isolation Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 5
- 230000010365 information processing Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The present disclosure relates to the field of computer technologies, and in particular, to a virtualized video coding and decoding system and method, an electronic device, and a storage medium, including: the virtual machine manager configures video coding and decoding tasks corresponding to the N virtual machines to the N corresponding configuration register groups; each video coding and decoding kernel executes video coding and decoding tasks corresponding to P virtual machines, wherein P is a positive integer which is more than or equal to 1 and less than or equal to N, the virtual machines corresponding to different video coding and decoding kernels are different, and the values of P corresponding to different video coding and decoding kernels are the same or different; the video coding and decoding kernel comprises P interaction interfaces, and the video coding and decoding kernel supports receiving video coding and decoding tasks of the corresponding P virtual machines based on the P interaction interfaces; the total calculated amount of video encoding and decoding which can be supported by one video encoding and decoding kernel is larger than or equal to the total calculated amount of video encoding and decoding of the virtual machine corresponding to the video encoding and decoding kernel. The embodiment of the disclosure effectively improves the virtualized video coding and decoding efficiency.
Description
Technical Field
The disclosure relates to the field of computer technology, and in particular, to a virtualized video coding and decoding system and method, an electronic device and a storage medium.
Background
Virtualization (Virtualization) is a resource management technology, which is an abstraction and division of computer hardware and software system resources, so that multiple virtual machines commonly multiplex a set of but not limited to a limited set of system resources. With the explosive growth of network server demands for video codec in recent years, video codec computing power in a graphics processor (Graphics Processing Unit, GPU) chip is increasingly important. To enhance the security, reliability and scalability of system codec tasks, virtualized video techniques have evolved. The virtualized video technology is embodied in the way that a plurality of video coding and decoding tasks which are not mutually influenced are processed simultaneously on the same set of physical resources. Therefore, there is a need for a virtualized video codec system with efficient video codec processing capabilities.
Disclosure of Invention
The disclosure provides a virtualized video coding and decoding system and method, an electronic device and a technical scheme of a storage medium.
According to an aspect of the present disclosure, there is provided a virtualized video codec system including: the system comprises a virtual machine manager, N virtual machines, N configuration register sets corresponding to the N virtual machines one by one, M video coding and decoding kernels, wherein M and N are positive integers greater than or equal to 2; the virtual machine manager is configured to configure video encoding and decoding tasks corresponding to the N virtual machines to the corresponding N configuration register sets; each video coding and decoding kernel is used for executing video coding and decoding tasks corresponding to P virtual machines, wherein P is a positive integer which is more than or equal to 1 and less than or equal to N, the virtual machines corresponding to different video coding and decoding kernels are different, and the values of P corresponding to different video coding and decoding kernels are the same or different; aiming at any video coding and decoding kernel, the video coding and decoding kernel comprises P interaction interfaces, and the video coding and decoding kernel supports receiving video coding and decoding tasks of P corresponding virtual machines based on the P interaction interfaces; for any video coding and decoding kernel, the total calculated amount of video coding and decoding which can be supported by the video coding and decoding kernel is larger than or equal to the total calculated amount of video coding and decoding of the virtual machine corresponding to the video coding and decoding kernel.
In one possible implementation manner, the value of P corresponding to each video codec kernel is a positive integer obtained by rounding up N/M.
In one possible implementation manner, for any one virtual machine, the virtual machine corresponds to a plurality of video encoding and decoding tasks, and different video encoding and decoding tasks have different task numbers; and the video coding and decoding calculated amount of the virtual machine is equal to the sum of the video coding and decoding calculated amounts of the video coding and decoding tasks.
In one possible implementation, the system further includes: n virtual machine interfaces corresponding to the N virtual machines one by one; the virtual machine manager is configured to configure configuration information of a jth video encoding and decoding task corresponding to an ith virtual machine to a configuration register set corresponding to the ith virtual machine based on a virtual machine interface corresponding to the ith virtual machine, where i is a positive integer greater than or equal to 1 and less than or equal to N, and j is a positive integer greater than or equal to 1.
In one possible implementation manner, the jth video codec task corresponds to an xth video standard, x is a positive integer greater than or equal to 1, and the configuration information of the jth video codec task includes: the coding and decoding parameters corresponding to the jth video coding and decoding task and the size of a storage space required for executing the jth video coding and decoding task; the configuration register set corresponding to the ith virtual machine comprises: the parameter configuration and memory management module of H video standards, wherein H is a positive integer greater than or equal to 2, and the H video standards comprise the x-th video standard; and the parameter configuration and memory management module of the x-th video standard is used for determining the coding and decoding parameters corresponding to the j-th video coding and decoding task and the size of a storage space required for executing the j-th video coding and decoding task.
In one possible implementation, the system further includes: a storage management module and a storage unit; the storage management module is configured to allocate a corresponding target storage space for the jth video encoding and decoding task in the storage unit based on a size of a storage space required for executing the jth video encoding and decoding task, where the video encoding and decoding kernel performs data access based on the target storage space corresponding to the jth video encoding and decoding task in a process of executing the jth video encoding and decoding task.
In one possible implementation manner, the configuration register set corresponding to the ith virtual machine further includes: an interrupt module; the interrupt module is configured to send an interrupt signal to the virtual machine manager based on a virtual machine interface corresponding to the ith virtual machine after the jth video encoding and decoding task is executed, where the interrupt signal is used to indicate that the jth video encoding and decoding task is executed.
According to an aspect of the present disclosure, there is provided a virtualized video coding method including: the virtual machine manager configures video encoding and decoding tasks corresponding to N virtual machines to N corresponding configuration register sets, wherein N is a positive integer greater than or equal to 2; each video coding and decoding kernel executes video coding and decoding tasks corresponding to P virtual machines, wherein P is a positive integer which is more than or equal to 1 and less than or equal to N, the virtual machines corresponding to different video coding and decoding kernels are different, and the values of P corresponding to different video coding and decoding kernels are the same or different; aiming at any video coding and decoding kernel, the video coding and decoding kernel comprises P interaction interfaces, and the video coding and decoding kernel supports receiving video coding and decoding tasks of P corresponding virtual machines based on the P interaction interfaces; for any video coding and decoding kernel, the total calculated amount of video coding and decoding which can be supported by the video coding and decoding kernel is larger than or equal to the total calculated amount of video coding and decoding of the virtual machine corresponding to the video coding and decoding kernel.
According to an aspect of the present disclosure, there is provided an electronic apparatus including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to invoke the instructions stored in the memory to perform the above method.
According to an aspect of the present disclosure, there is provided a computer readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement the above-described method.
In an embodiment of the present disclosure, a virtualized video codec system includes: the system comprises a virtual machine manager, N virtual machines, N configuration register sets corresponding to the N virtual machines one by one and M video coding and decoding kernels; the virtual machine manager configures video coding and decoding tasks corresponding to the N virtual machines to the N corresponding configuration register sets, and the configuration isolation of the plurality of virtual machines is effectively realized based on the configuration register sets of hardware; aiming at any video coding and decoding kernel, the video coding and decoding kernel comprises P interactive interfaces, the number of the interactive interfaces is the same as the number of virtual machines corresponding to the video coding and decoding kernel, so that the video coding and decoding kernel supports to receive video coding and decoding tasks of the corresponding P virtual machines based on the P interactive interfaces, P is a positive integer which is more than or equal to 1 and less than or equal to N, the virtual machines corresponding to different video coding and decoding kernels are different, the values of P corresponding to different video coding and decoding kernels are the same or different, at the moment, each video coding and decoding kernel can execute the video coding and decoding tasks corresponding to the fixed number of virtual machines, and the total calculated amount of video coding and decoding of the virtual machines corresponding to the video coding and decoding kernel is more than or equal to the total calculated amount of video coding and decoding of the virtual machines corresponding to the video coding and decoding kernel, thereby realizing that the video coding and decoding calculation processes are executed in parallel between the multiple virtual machines and the multiple video coding and decoding kernels in a fixed configuration mode, and effectively improving the virtualization video coding and decoding efficiency.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. Other features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments, which proceeds with reference to the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the disclosure and together with the description, serve to explain the technical aspects of the disclosure.
Fig. 1 shows a schematic diagram of a virtualized video codec system in the related art.
Fig. 2 shows a schematic diagram of virtualized video codec in the related art.
Fig. 3 shows a schematic diagram of a virtualized video codec system according to an embodiment of the disclosure.
Fig. 4 shows a flowchart of a virtualized video codec method according to an embodiment of the disclosure.
Fig. 5 shows a block diagram of an electronic device, according to an embodiment of the disclosure.
Detailed Description
Various exemplary embodiments, features and aspects of the disclosure will be described in detail below with reference to the drawings. In the drawings, like reference numbers indicate identical or functionally similar elements. Although various aspects of the embodiments are illustrated in the accompanying drawings, the drawings are not necessarily drawn to scale unless specifically indicated.
The word "exemplary" is used herein to mean "serving as an example, embodiment, or illustration. Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
The term "and/or" is herein merely an association relationship describing an associated object, meaning that there may be three relationships, e.g., a and/or B, may represent: a exists alone, A and B exist together, and B exists alone. In addition, the term "at least one" herein means any one of a plurality or any combination of at least two of a plurality, for example, including at least one of A, B, C, and may mean including any one or more elements selected from the group consisting of A, B and C.
Furthermore, numerous specific details are set forth in the following detailed description in order to provide a better understanding of the present disclosure. It will be understood by those skilled in the art that the present disclosure may be practiced without some of these specific details. In some instances, methods, means, elements, and circuits well known to those skilled in the art have not been described in detail in order not to obscure the present disclosure.
In the related art, a virtualized video codec system is implemented by software running in a HOST (HOST): the virtual machine manager serves as an intermediate layer between the management hardware device and the virtual machine. The method provides an interface between hardware and virtual machines, is responsible for the security of the virtualized video encoding and decoding process, and manages isolation between the virtual machines so that the virtual machines are invisible to each other. The virtual machine manager provides a virtual codec controller device for each virtual machine and supports access to multiple virtual machines according to system requirements.
When a virtualized video coding and decoding system comprises a plurality of virtual machines and video coding and decoding kernels of a plurality of hardware, a virtual machine manager manages interaction of control signals and coding and decoding data between the plurality of virtual machines and the plurality of video coding and decoding kernels. In the related art, each hardware video encoding and decoding kernel has only one interaction interface, and a plurality of virtual machines are in interactive communication with the unique interaction interface of each hardware video encoding and decoding kernel through a virtual machine manager. Because a video coding and decoding kernel has only one interaction interface, the video coding and decoding kernel can only interact with a plurality of virtual machines through an interrupt signal and a group of control signals, so that the plurality of virtual machines need to wait each other in the control process, and the interaction interface of the video coding and decoding kernel often becomes a bottleneck of the calculation performance of the video coding and decoding kernel.
Different virtual machines are distinguished by using different identification information, and a virtual machine manager can switch a process of a non-communication virtual machine by modifying the identification information, however, in principle, the mode cannot achieve address isolation, control isolation and interrupt isolation among a plurality of virtual machines, and the safety is not guaranteed.
In the related art, since the video encoding/decoding kernel has only one interactive interface, the video encoding/decoding kernel cannot receive multiple video encoding/decoding tasks of multiple virtual machines in parallel, and the configuration process and the encoding/decoding calculation process of the multiple video encoding/decoding tasks need to wait each other, so that the video encoding/decoding parallelism is poor.
In the related art, interaction between a virtual machine and a video encoding and decoding kernel in a virtualized video encoding and decoding system is mainly realized by a software configuration mode. Fig. 1 shows a schematic diagram of a virtualized video codec system in the related art. As shown in fig. 1, the software layer includes a virtual machine 1, a virtual machine 2, a virtual machine 3, up to a virtual machine N, and a virtual machine manager, and the hardware layer includes a video codec core 1, a video codec core 2, a video codec core 3, up to a video codec core M. In the software layer, the virtual machine manager realizes the interaction of N virtual machines and M video coding and decoding kernels in the virtualized video coding and decoding system based on a software mode. Fig. 2 shows a schematic diagram of virtualized video codec in the related art. As shown in fig. 2, the video codec task 1 corresponding to the virtual machine 1 is configured in the software layer (as shown in fig. 2, the video codec task 1 of the virtual machine 1 is configured/sent to the video codec core 1 of the hardware layer, so as to control the video codec core 1 to execute the video codec task 1 corresponding to the virtual machine 1 (as shown in fig. 2, the video codec core 1/the virtual machine 1/the video codec task 1/the codec computation), and an interrupt signal is returned to the software layer after the video codec core 1 performs the codec computation; after receiving the interrupt signal, the software layer configures the video codec task 1 corresponding to the virtual machine 2 (as shown in fig. 2, configures/virtual machine 2/video codec task 1), and further sends a control signal to the video codec core 2 of the hardware layer to control the video codec core 2 to execute the video codec task 1 corresponding to the virtual machine 2 (as shown in fig. 2, video codec core 2/virtual machine 2/video codec task 1/codec calculation), and after the video codec core 2 performs the codec calculation, returns the interrupt signal to the software layer; after receiving the interrupt signal, the software layer configures the video codec task 2 corresponding to the virtual machine 2 (as shown in fig. 2, configures/virtual machine 2/video codec task 2), and further sends a control signal to the video codec kernel 2 of the hardware layer to control the video codec kernel 2 to execute the video codec task 2 corresponding to the virtual machine 2 (as shown in fig. 2, video codec kernel 2/virtual machine 2/video codec task 2/codec calculation), and after the video codec kernel 2 completes the codec calculation, returns the interrupt signal to the software layer; until the software layer configures the video codec task S corresponding to the virtual machine N (as shown in fig. 2, configures/virtualizes the video codec task S), and further sends a control signal to the video codec core M of the hardware layer to control the video codec core M to execute the video codec task S corresponding to the virtual machine N (as shown in fig. 2, the video codec core M/virtualizes the video codec task S/codec computation), and after the video codec core M completes the codec computation, an interrupt signal is returned to the software layer.
Based on the software simulation of the virtual machine manager, control signals and interrupt signals between the virtual machine and the video coding and decoding kernel are essentially realized by a set of control paths. That is, when the multiple virtual machines are to execute the video encoding and decoding tasks, the video encoding and decoding resource allocation, parameter configuration and memory management are all required to be realized by software through a set of control, so that the scheduling process is complex, the video encoding and decoding resources of the hardware cannot exert the maximum performance, and the occupation of the resources of the central processing unit (Central Processing Unit, CPU) is also more. In addition, in order to simplify control, a fixed binding mode is used between a plurality of virtual machines and a plurality of video coding and decoding cores, and one virtual machine can only access a unique video coding and decoding core. When the virtual machine corresponds to a plurality of video coding and decoding tasks, the virtual machine executes the plurality of video coding and decoding tasks based on the bound video coding and decoding kernels. At this time, when a new video encoding and decoding task needs to be executed, if the computing load capacity of the currently bound video encoding and decoding kernel has reached the upper limit, the new video encoding and decoding task cannot be executed continuously, then the currently bound video encoding and decoding kernel needs to wait for the video encoding and decoding task before the execution of the currently bound video encoding and decoding kernel is completed, and after the computing capacity of the video encoding and decoding is released, the new video encoding and decoding task can be executed continuously.
In order to solve the above-mentioned problems of implementing interaction between multiple virtual machines and multiple video codec cores in a virtualized video codec system based only on a software configuration manner, an embodiment of the present disclosure provides a virtualized video codec system with efficient video codec efficiency. The virtualized video codec system provided by the present disclosure is described in detail below.
Fig. 3 shows a schematic diagram of a virtualized video codec system according to an embodiment of the disclosure. The virtualized video codec system is mounted in an electronic device such as a terminal device or a server, and the terminal device may be a User Equipment (UE), a mobile device, a User terminal, a cellular phone, a cordless phone, a personal digital assistant (Personal Digital Assistant, PDA), a handheld device, a computing device, a vehicle-mounted device, a wearable device, or the like.
As shown in fig. 3, the virtualized video codec system is characterized by comprising: a virtual machine manager, N virtual machines (virtual machine 1, virtual machine 2, virtual machine 3, up to virtual machine N), N configuration register sets (configuration register set 1, configuration register set 2, configuration register set 3) corresponding to the N virtual machines one to one, M video codec cores (video codec core 1, video codec core 2, video codec core 3, up to video codec core M), M and N being positive integers of 2 or more; the virtual machine manager is used for configuring video coding and decoding tasks corresponding to the N virtual machines to the N corresponding configuration register groups; each video coding and decoding kernel is used for executing video coding and decoding tasks corresponding to P virtual machines, wherein P is a positive integer which is more than or equal to 1 and less than or equal to N, the virtual machines corresponding to different video coding and decoding kernels are different, and the values of P corresponding to different video coding and decoding kernels are the same or different; aiming at any video coding and decoding kernel, the video coding and decoding kernel comprises P interaction interfaces, and the video coding and decoding kernel supports receiving video coding and decoding tasks of P corresponding virtual machines based on the P interaction interfaces; for any video coding and decoding kernel, the total calculated amount of video coding and decoding which can be supported by the video coding and decoding kernel is larger than or equal to the total calculated amount of video coding and decoding of the virtual machine corresponding to the video coding and decoding kernel.
The number of virtual machines corresponding to each video coding and decoding core, that is, the value of P corresponding to each video coding and decoding core, can be flexibly set according to the actual use situation of the virtualized video coding and decoding system, which is not particularly limited in the disclosure.
By utilizing the virtualized video coding and decoding system disclosed by the embodiment of the invention, the configuration isolation of a plurality of virtual machines is effectively realized based on the configuration register set of hardware, each video coding and decoding kernel can execute video coding and decoding tasks corresponding to a fixed number of virtual machines, and as long as the total calculated amount of video coding and decoding which can be supported by the video coding and decoding kernel is larger than or equal to the total calculated amount of video coding and decoding of the virtual machines corresponding to the video coding and decoding kernel, the video coding and decoding calculation process is executed in parallel between the plurality of virtual machines and the plurality of video coding and decoding kernels in a fixed configuration mode, so that the virtualized video coding and decoding efficiency is effectively improved.
In one possible implementation manner, the value of P corresponding to each video codec kernel is a positive integer obtained by rounding up N/M.
To balance the utilization of each video codec core, N virtual machines may be equally distributed to M video codec cores.
In one example, a virtualized video codec system includes: and the video coding and decoding calculation amount of each virtual machine is 4, and the maximum video coding and decoding calculation amount which can be supported by each video coding and decoding core is 8, so that each video coding and decoding core can be provided with 2 interaction interfaces, each video coding and decoding core can interact with 2 virtual machines, video coding and decoding tasks corresponding to the 2 virtual machines are received, for example, the video coding and decoding core 1 is provided with 2 interaction interfaces to interact with the virtual machines 1 and 2, and the video coding and decoding core 2 is provided with 2 interaction interfaces to interact with the virtual machines 3 and 4. Because the maximum video coding and decoding calculated amount which can be supported by each video coding and decoding kernel is larger than or equal to the total calculated amount of video coding and decoding of the corresponding 2 virtual machines, at the moment, the 2 video coding and decoding kernels can be guaranteed to realize parallel real-time coding and decoding calculation of a plurality of video coding and decoding tasks corresponding to the 4 virtual machines in parallel.
The codec computation load capacity of a single video codec core, i.e., the video codec computation load that can be supported, is the sum of the products of the resolution and frame rate of multiple video codec tasks. In one example, the video codec calculation amount that a single video codec kernel can support can be determined by the following equation (1)
n is the number of video encoding and decoding tasks executed by the video encoding and decoding kernel, video frame widths k and widthk represent video frame widths in the video encoding and decoding task k, video frame heights k and height k represent video frame heights in the video encoding and decoding task k, frame rates k and frame_rate represent frame rates of the video encoding and decoding task k, and k is a positive integer greater than or equal to 1 and less than or equal to n.
For example, for a video codec kernel, the maximum video codec computation amount that it can support is 8k@60fps, then the video codec kernel may perform a video codec task of 8k@60fps, or equivalently perform a video codec task of 4k@60fps, or equivalently perform a video codec task of 16 fhd@60fps, or equivalently perform a video codec task of 32 fhd@30fps, and so on. Wherein 8K, 4K, FHD are used to indicate the resolution of the video frames, 60fps, 30fps are used to indicate the video frame rate.
In one possible implementation manner, for any one virtual machine, the virtual machine corresponds to a plurality of video encoding and decoding tasks, and different video encoding and decoding tasks have different task numbers; the video coding and decoding calculated amount of the virtual machine is equal to the sum of the video coding and decoding calculated amounts of a plurality of video coding and decoding tasks.
Taking fig. 3 as an example, the virtualized video coding and decoding system includes N virtual machines, each virtual machine corresponds to P video coding and decoding tasks, and the video coding and decoding calculation amount of each video coding and decoding task is Q P The video encoding/decoding calculation amount of one virtual machine is. Assume that the maximum video coding and decoding calculated amount of each virtual machine is Q Pmax Then。
The calculated amount of video encoding and decoding which can be supported by each video encoding and decoding kernel is Q, and at the moment, each video encoding and decoding kernel can interact with different N/M virtual machines. In order to realize that N virtual machines execute video coding and decoding calculation in parallel by using M video coding and decoding kernels, real-time performance of video coding and decoding is ensured, the total calculated amount of video coding and decoding which can be supported by each video coding and decoding kernel needs to be ensured, and the calculated amount Q of video coding and decoding of N/M virtual machines corresponding to the video coding and decoding kernels is larger than or equal to that of the video coding and decoding kernels Pmax I.e.. So long as it can ensureThe configuration modes of the video encoding and decoding tasks corresponding to the virtual machine can be flexibly combined according to actual conditions, and the configuration modes are not particularly limited in the disclosure.
In one example, 4 virtual machines are included in a virtualized video codec system: virtual machine 1 to virtual machine 4, 2 video codec cores: the video coding calculation amount which can be supported by each video coding core is 8192×4320×30, wherein 8192×4320 is video frame resolution, and 30 is video frame rate. At this time, each video codec kernel interacts with 2 virtual machines: the video coding and decoding kernel 1 corresponds to the virtual machine 1 and the virtual machine 2, and the video coding and decoding kernel 2 corresponds to the virtual machine 3 and the virtual machine 4. The configuration between the video codec tasks corresponding to the 4 virtual machines and the 2 video codec cores may be as shown in table 1 below.
As shown in table 1, the resolution and frame rate of video frames of different video encoding and decoding tasks in the same virtual machine may be the same or different, which is not specifically limited in the present disclosure.
The virtualized video coding and decoding system shown in fig. 3 further comprises a multi-path gate, and each video coding and decoding kernel can be provided with N/M interaction interfaces so as to support video coding and decoding tasks corresponding to N/M virtual machines based on the multi-path gate and the N/M interaction interfaces. The corresponding relation between each video coding and decoding kernel and each N/M virtual machines is fixedly set, so that the video coding and decoding task corresponding to each virtual machine is distributed to the corresponding video coding and decoding kernel.
In one possible implementation, the virtualized video codec system further comprises: n virtual machine interfaces corresponding to the N virtual machines one by one; the virtual machine manager is configured to configure configuration information of a jth video encoding and decoding task corresponding to an ith virtual machine to a configuration register set corresponding to the ith virtual machine based on a virtual machine interface corresponding to the ith virtual machine, wherein i is a positive integer greater than or equal to 1 and less than or equal to N, and j is a positive integer greater than or equal to 1.
As shown in fig. 3, the virtual machine manager configures configuration information of a video codec task corresponding to the virtual machine 1 to a configuration register group 1 corresponding to the virtual machine 1 based on the virtual machine interface 1; the virtual machine manager configures configuration information of a video coding and decoding task corresponding to the virtual machine 2 to a configuration register group 2 corresponding to the virtual machine 2 based on the virtual machine interface 2; and configuring the configuration information of the video coding and decoding task corresponding to the virtual machine N to a configuration register group N corresponding to the virtual machine N based on the virtual machine interface N. The hardware-based virtual machine interface and the configuration register set realize the configuration isolation of video coding and decoding tasks among different virtual machines, thereby realizing the parallel configuration of video coding and decoding tasks corresponding to a plurality of virtual machines and improving the video coding and decoding efficiency.
In one possible implementation manner, the jth video codec task corresponds to an xth video standard, x is a positive integer greater than or equal to 1, and the configuration information of the jth video codec task includes: coding and decoding parameters corresponding to the jth video coding and decoding task and the size of a storage space required for executing the jth video coding and decoding task; the configuration register group corresponding to the ith virtual machine comprises: the system comprises a parameter configuration and memory management module of H video standards, wherein H is a positive integer greater than or equal to 2, and the H video standards comprise an x-th video standard; the parameter configuration and memory management module of the x-th video standard is used for determining the coding and decoding parameters corresponding to the j-th video coding and decoding task and the size of the storage space required for executing the j-th video coding and decoding task.
The configuration register set corresponding to one virtual machine in the virtualized video coding and decoding system can comprise parameter configuration and memory management modules of H video standards, so that the virtual machine can execute video coding and decoding tasks of any video standard in the H video standards based on the configuration register set of hardware, the expansibility of video virtualization is improved, and the capacity of video virtualization can be exerted in more scenes. The H video standards may be general video standards in the field of video encoding and decoding, and the specific values of H and specific forms of the H video standards are not limited in the disclosure.
After the configuration process of the jth video coding and decoding task corresponding to the ith virtual machine is started, if the jth video coding and decoding task corresponds to the xth video standard, at the moment, based on the ith virtual machine interface corresponding to the ith virtual machine, calling a parameter configuration and management module of the xth video standard in a configuration register group corresponding to the ith virtual machine, and determining configuration information corresponding to the jth video coding and decoding task: the coding and decoding parameters corresponding to the jth video coding and decoding task and the storage space size required for executing the jth video coding and decoding task.
And storing configuration information corresponding to the jth video coding and decoding task in a configuration register set corresponding to the ith virtual machine, so that after the coding and decoding calculation process of the jth video coding and decoding task is started, the video coding and decoding kernel corresponding to the ith virtual machine reads the configuration information corresponding to the jth video coding and decoding task from the configuration register set corresponding to the ith virtual machine, and executing coding and decoding calculation of the jth video coding and decoding task according to the xth video standard based on the configuration information.
In one possible implementation, the virtualized video codec system further comprises: a storage management module and a storage unit; and the storage management module is used for distributing a corresponding target storage space for the jth video coding and decoding task in the storage unit based on the size of the storage space required by executing the jth video coding and decoding task, wherein the video coding and decoding kernel performs data access and storage based on the target storage space corresponding to the jth video coding and decoding task in the process of executing the jth video coding and decoding task.
After the coding and decoding calculation process of the jth video coding and decoding task corresponding to the ith virtual machine is started, the video coding and decoding kernel corresponding to the ith virtual machine reads the configuration information of the jth video coding and decoding task from the configuration register group corresponding to the ith virtual machine: the storage management module is used for distributing a corresponding target storage space for the jth video coding and decoding task in a storage unit.
In one possible implementation, the target storage space of the video codec tasks corresponding to different virtual machines is different.
Based on the storage management module, dedicated storage spaces of different video coding and decoding tasks under one virtual machine are allocated by using hardware logic, so that storage space isolation among the video coding and decoding tasks corresponding to different virtual machines is effectively realized. In the process of executing the coding and decoding calculation of the jth video coding and decoding task, the data access is only carried out based on the target storage space corresponding to the jth video coding and decoding task in the storage unit, so that the safety of the data access is effectively ensured.
In one possible implementation manner, the configuration register set corresponding to the ith virtual machine further includes: an interrupt module; and the interrupt module is used for sending an interrupt signal to the virtual machine manager based on the virtual machine interface corresponding to the ith virtual machine after the jth video encoding and decoding task is executed, wherein the interrupt signal is used for indicating the execution completion of the jth video encoding and decoding task.
After the video coding and decoding kernel corresponding to the ith virtual machine finishes executing the jth video coding and decoding task, sending an interrupt request to an interrupt module in a configuration register group corresponding to the ith virtual machine, so that the interrupt module generates an interrupt signal based on the interrupt request, and then sends the interrupt signal to a virtual machine manager based on a virtual machine interface corresponding to the ith virtual machine, so as to inform the virtual machine manager that the execution of the jth video coding and decoding task corresponding to the ith virtual machine is finished.
Interrupt modules in the configuration register group based on hardware realize interrupt isolation among different virtual machines, and in addition, different video coding and decoding tasks corresponding to one virtual machine multiplex the same interrupt modules in the corresponding configuration register group, thereby effectively reducing the waiting time of the interrupt process of the system.
In an embodiment of the present disclosure, a virtualized video codec system includes: the system comprises a virtual machine manager, N virtual machines, N configuration register sets corresponding to the N virtual machines one by one and M video coding and decoding kernels; the virtual machine manager configures video coding and decoding tasks corresponding to the N virtual machines to N corresponding configuration register sets, and the configuration isolation of the plurality of virtual machines is effectively realized based on the configuration register sets of hardware; aiming at any video coding and decoding kernel, the video coding and decoding kernel comprises N/M interaction interfaces, so that the video coding and decoding kernel supports to receive video coding and decoding tasks corresponding to N/M virtual machines based on the N/M interaction interfaces, at this time, each video coding and decoding kernel can execute video coding and decoding tasks corresponding to different N/M virtual machines, and only the total calculated amount of video coding and decoding which can be supported by the video coding and decoding kernel is larger than or equal to that of the N/M virtual machines corresponding to the video coding and decoding kernel, thereby realizing that video coding and decoding calculation processes are parallelly executed between a plurality of virtual machines and a plurality of video coding and decoding kernels in a fixed configuration mode, and effectively improving the virtualized video coding and decoding efficiency.
Fig. 4 shows a flowchart of a virtualized video codec method according to an embodiment of the disclosure. The method can be applied to the virtualized video codec system, as shown in fig. 4, and includes:
in step S41, the virtual machine manager configures video encoding and decoding tasks corresponding to N virtual machines to corresponding N configuration register sets, where N is a positive integer greater than or equal to 2;
in step S42, each video codec core executes video codec tasks corresponding to P virtual machines, where P is a positive integer greater than or equal to 1 and less than or equal to N, virtual machines corresponding to different video codec cores are different, values of P corresponding to different video codec cores are the same or different, the video codec core includes P interaction interfaces for any one video codec core, the video codec core supports receiving video codec tasks of the corresponding P virtual machines based on the P interaction interfaces, and a total calculated amount of video codec that the video codec core can support is greater than or equal to a total calculated amount of video codec of the virtual machine corresponding to the video codec core.
It will be appreciated that the above-mentioned method embodiments of the present disclosure may be combined with each other to form a combined embodiment without departing from the principle logic, and are limited to the description of the present disclosure. It will be appreciated by those skilled in the art that in the above-described methods of the embodiments, the particular order of execution of the steps should be determined by their function and possible inherent logic.
In addition, the disclosure further provides an electronic device, a computer readable storage medium, and a program, where the foregoing may be used to implement any one of the virtualized video encoding and decoding methods provided in the disclosure, and corresponding technical schemes and descriptions and corresponding descriptions referring to method parts are not repeated.
The method has specific technical association with the internal structure of the computer system, and can solve the technical problems of improving the hardware operation efficiency or the execution effect (including reducing the data storage amount, reducing the data transmission amount, improving the hardware processing speed and the like), thereby obtaining the technical effect of improving the internal performance of the computer system which accords with the natural law.
In some embodiments, functions or modules included in an apparatus provided by the embodiments of the present disclosure may be used to perform a method described in the foregoing method embodiments, and specific implementations thereof may refer to descriptions of the foregoing method embodiments, which are not repeated herein for brevity.
The disclosed embodiments also provide a computer readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement the above-described method. The computer readable storage medium may be a volatile or nonvolatile computer readable storage medium.
The embodiment of the disclosure also provides an electronic device, which comprises: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to invoke the instructions stored in the memory to perform the above method.
Embodiments of the present disclosure also provide a computer program product comprising computer readable code, or a non-transitory computer readable storage medium carrying computer readable code, which when run in a processor of an electronic device, performs the above method.
The electronic device may be provided as a terminal, server or other form of device.
Fig. 5 shows a block diagram of an electronic device, according to an embodiment of the disclosure. Referring to fig. 5, an electronic device 1900 may be provided as a server or terminal device. Referring to FIG. 5, electronic device 1900 includes a processing component 1922 that further includes one or more processors and memory resources represented by memory 1932 for storing instructions, such as application programs, that can be executed by processing component 1922. The application programs stored in memory 1932 may include one or more modules each corresponding to a set of instructions. Further, processing component 1922 is configured to execute instructions to perform the methods described above.
The electronic device 1900 may also include a power component 1926 configured to perform power management of the electronic device 1900, a wired or wireless network interface 1950 configured to connect the electronic device 1900 to a network, and an input/output interface 1958. Electronic device 1900 may operate an operating system based on memory 1932, such as the Microsoft Server operating system (Windows Server) TM ) Apple Inc. developed graphical user interface based operating System (Mac OS X TM ) Multi-user multi-process computer operating system (Unix) TM ) Unix-like operating system (Linux) of free and open source code TM ) Unix-like operating system (FreeBSD) with open source code TM ) Or the like.
In an exemplary embodiment, a non-transitory computer readable storage medium is also provided, such as memory 1932, including computer program instructions executable by processing component 1922 of electronic device 1900 to perform the methods described above.
The present disclosure may be a system, method, and/or computer program product. The computer program product may include a computer readable storage medium having computer readable program instructions embodied thereon for causing a processor to implement aspects of the present disclosure.
The computer readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include the following: portable computer disks, hard disks, random Access Memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static Random Access Memory (SRAM), portable compact disk read-only memory (CD-ROM), digital Versatile Disks (DVD), memory sticks, floppy disks, mechanical coding devices, punch cards or in-groove structures such as punch cards or grooves having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media, as used herein, are not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., optical pulses through fiber optic cables), or electrical signals transmitted through wires.
The computer readable program instructions described herein may be downloaded from a computer readable storage medium to a respective computing/processing device or to an external computer or external storage device over a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, gateway computers and/or edge servers. The network interface card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium in the respective computing/processing device.
Computer program instructions for performing the operations of the present disclosure can be assembly instructions, instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, c++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, aspects of the present disclosure are implemented by personalizing electronic circuitry, such as programmable logic circuitry, field Programmable Gate Arrays (FPGAs), or Programmable Logic Arrays (PLAs), with state information of computer readable program instructions, which can execute the computer readable program instructions.
Various aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable medium having the instructions stored therein includes an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The computer program product may be realized in particular by means of hardware, software or a combination thereof. In an alternative embodiment, the computer program product is embodied as a computer storage medium, and in another alternative embodiment, the computer program product is embodied as a software product, such as a software development kit (Software Development Kit, SDK), or the like.
The foregoing description of various embodiments is intended to highlight differences between the various embodiments, which may be the same or similar to each other by reference, and is not repeated herein for the sake of brevity.
It will be appreciated by those skilled in the art that in the above-described method of the specific embodiments, the written order of steps is not meant to imply a strict order of execution but rather should be construed according to the function and possibly inherent logic of the steps.
If the technical scheme of the application relates to personal information, the product applying the technical scheme of the application clearly informs the personal information processing rule before processing the personal information, and obtains independent consent of the individual. If the technical scheme of the application relates to sensitive personal information, the product applying the technical scheme of the application obtains individual consent before processing the sensitive personal information, and simultaneously meets the requirement of 'explicit consent'. For example, a clear and remarkable mark is set at a personal information acquisition device such as a camera to inform that the personal information acquisition range is entered, personal information is acquired, and if the personal voluntarily enters the acquisition range, the personal information is considered as consent to be acquired; or on the device for processing the personal information, under the condition that obvious identification/information is utilized to inform the personal information processing rule, personal authorization is obtained by popup information or a person is requested to upload personal information and the like; the personal information processing rule may include information such as a personal information processor, a personal information processing purpose, a processing mode, and a type of personal information to be processed.
The foregoing description of the embodiments of the present disclosure has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the various embodiments described. The terminology used herein was chosen in order to best explain the principles of the embodiments, the practical application, or the improvement of technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
Claims (10)
1. A virtualized video codec system comprising: the system comprises a virtual machine manager, N virtual machines, N configuration register sets corresponding to the N virtual machines one by one, M video coding and decoding kernels, wherein M and N are positive integers greater than or equal to 2;
the virtual machine manager is configured to configure video encoding and decoding tasks corresponding to the N virtual machines to the corresponding N configuration register sets;
the M video coding and decoding kernels are used for executing video coding and decoding tasks corresponding to the N virtual machines in parallel;
each video coding and decoding kernel is used for executing video coding and decoding tasks corresponding to P virtual machines in parallel, wherein P is a positive integer which is more than or equal to 1 and less than or equal to N, the virtual machines corresponding to different video coding and decoding kernels are different, and the values of P corresponding to different video coding and decoding kernels are the same or different;
Aiming at any video coding and decoding kernel, the video coding and decoding kernel comprises P interaction interfaces, and the video coding and decoding kernel supports to receive video coding and decoding tasks of P corresponding virtual machines in parallel based on the P interaction interfaces;
for any video coding and decoding kernel, the total calculated amount of video coding and decoding which can be supported by the video coding and decoding kernel is larger than or equal to the total calculated amount of video coding and decoding of the virtual machine corresponding to the video coding and decoding kernel.
2. The system of claim 1, wherein the P value corresponding to each video codec core is a positive integer obtained by rounding N/M upwards.
3. The system according to claim 1 or 2, wherein for any one virtual machine, the virtual machine corresponds to a plurality of video codec tasks, different video codec tasks having different task numbers;
and the video coding and decoding calculated amount of the virtual machine is equal to the sum of the video coding and decoding calculated amounts of the video coding and decoding tasks.
4. A system according to claim 3, wherein the system further comprises: n virtual machine interfaces corresponding to the N virtual machines one by one;
the virtual machine manager is configured to configure configuration information of a jth video encoding and decoding task corresponding to an ith virtual machine to a configuration register set corresponding to the ith virtual machine based on a virtual machine interface corresponding to the ith virtual machine, where i is a positive integer greater than or equal to 1 and less than or equal to N, and j is a positive integer greater than or equal to 1.
5. The system of claim 4, wherein the jth video codec task corresponds to an xth video standard, x is a positive integer greater than or equal to 1, and the configuration information of the jth video codec task comprises: the coding and decoding parameters corresponding to the jth video coding and decoding task and the size of a storage space required for executing the jth video coding and decoding task;
the configuration register set corresponding to the ith virtual machine comprises: the parameter configuration and memory management module of H video standards, wherein H is a positive integer greater than or equal to 2, and the H video standards comprise the x-th video standard;
and the parameter configuration and memory management module of the x-th video standard is used for determining the coding and decoding parameters corresponding to the j-th video coding and decoding task and the size of a storage space required for executing the j-th video coding and decoding task.
6. The system of claim 5, wherein the system further comprises: a storage management module and a storage unit;
the storage management module is configured to allocate a corresponding target storage space for the jth video encoding and decoding task in the storage unit based on a size of a storage space required for executing the jth video encoding and decoding task, where the video encoding and decoding kernel performs data access based on the target storage space corresponding to the jth video encoding and decoding task in a process of executing the jth video encoding and decoding task.
7. The system of claim 4, wherein the configuration register set corresponding to the ith virtual machine further comprises: an interrupt module;
the interrupt module is configured to send an interrupt signal to the virtual machine manager based on a virtual machine interface corresponding to the ith virtual machine after the jth video encoding and decoding task is executed, where the interrupt signal is used to indicate that the jth video encoding and decoding task is executed.
8. A virtualized video codec method, comprising:
the virtual machine manager configures video encoding and decoding tasks corresponding to N virtual machines to N corresponding configuration register sets, wherein N is a positive integer greater than or equal to 2;
m video coding and decoding cores execute video coding and decoding tasks corresponding to the N virtual machines in parallel, wherein each video coding and decoding core executes video coding and decoding tasks corresponding to P virtual machines in parallel, P is a positive integer greater than or equal to 1 and less than or equal to N, virtual machines corresponding to different video coding and decoding cores are different, the values of P corresponding to different video coding and decoding cores are the same or different, and M is a positive integer greater than or equal to 2;
aiming at any video coding and decoding kernel, the video coding and decoding kernel comprises P interaction interfaces, and the video coding and decoding kernel supports to receive video coding and decoding tasks of P corresponding virtual machines in parallel based on the P interaction interfaces;
For any video coding and decoding kernel, the total calculated amount of video coding and decoding which can be supported by the video coding and decoding kernel is larger than or equal to the total calculated amount of video coding and decoding of the virtual machine corresponding to the video coding and decoding kernel.
9. An electronic device, comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to invoke the memory-stored instructions to perform the method of claim 8.
10. A computer readable storage medium having stored thereon computer program instructions, which when executed by a processor, implement the method of claim 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311447507.7A CN117176963B (en) | 2023-11-02 | 2023-11-02 | Virtualized video encoding and decoding system and method, electronic equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311447507.7A CN117176963B (en) | 2023-11-02 | 2023-11-02 | Virtualized video encoding and decoding system and method, electronic equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117176963A CN117176963A (en) | 2023-12-05 |
CN117176963B true CN117176963B (en) | 2024-01-23 |
Family
ID=88930203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311447507.7A Active CN117176963B (en) | 2023-11-02 | 2023-11-02 | Virtualized video encoding and decoding system and method, electronic equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117176963B (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096598A (en) * | 2010-12-30 | 2011-06-15 | 广州市聚晖电子科技有限公司 | Virtual machine system and implementing method thereof |
CN113326091A (en) * | 2020-02-28 | 2021-08-31 | 安徽寒武纪信息科技有限公司 | Virtualization method, virtualization device, board card and computer-readable storage medium |
CN113806006A (en) * | 2020-06-12 | 2021-12-17 | 华为技术有限公司 | Method and device for processing exception or interrupt under heterogeneous instruction set architecture |
CN115988218A (en) * | 2023-03-14 | 2023-04-18 | 摩尔线程智能科技(北京)有限责任公司 | Virtualized video coding and decoding system, electronic equipment and storage medium |
CN115988217A (en) * | 2023-03-14 | 2023-04-18 | 摩尔线程智能科技(北京)有限责任公司 | Virtualized video coding and decoding system, electronic equipment and storage medium |
CN116582438A (en) * | 2023-05-16 | 2023-08-11 | 摩尔线程智能科技(北京)有限责任公司 | Virtualized video encoding and decoding system and method, electronic equipment and storage medium |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200409732A1 (en) * | 2019-06-26 | 2020-12-31 | Ati Technologies Ulc | Sharing multimedia physical functions in a virtualized environment on a processing unit |
-
2023
- 2023-11-02 CN CN202311447507.7A patent/CN117176963B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096598A (en) * | 2010-12-30 | 2011-06-15 | 广州市聚晖电子科技有限公司 | Virtual machine system and implementing method thereof |
CN113326091A (en) * | 2020-02-28 | 2021-08-31 | 安徽寒武纪信息科技有限公司 | Virtualization method, virtualization device, board card and computer-readable storage medium |
CN113806006A (en) * | 2020-06-12 | 2021-12-17 | 华为技术有限公司 | Method and device for processing exception or interrupt under heterogeneous instruction set architecture |
CN115988218A (en) * | 2023-03-14 | 2023-04-18 | 摩尔线程智能科技(北京)有限责任公司 | Virtualized video coding and decoding system, electronic equipment and storage medium |
CN115988217A (en) * | 2023-03-14 | 2023-04-18 | 摩尔线程智能科技(北京)有限责任公司 | Virtualized video coding and decoding system, electronic equipment and storage medium |
CN116582438A (en) * | 2023-05-16 | 2023-08-11 | 摩尔线程智能科技(北京)有限责任公司 | Virtualized video encoding and decoding system and method, electronic equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN117176963A (en) | 2023-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10129106B2 (en) | Management of virtual machine resources in computing environments | |
US10680892B2 (en) | Managing servers with quality of service assurances | |
RU2745343C1 (en) | Cloud desktop system and method of coding with compression of image sequences, and corresponding data storage | |
US9417913B2 (en) | Tunable computerized job scheduling | |
CN115988217B (en) | Virtualized video encoding and decoding system, electronic equipment and storage medium | |
US20160266918A1 (en) | Data assignment and data scheduling for physical machine in a virtual machine environment | |
CN115988218B (en) | Virtualized video encoding and decoding system, electronic equipment and storage medium | |
CN116320469B (en) | Virtualized video encoding and decoding system and method, electronic equipment and storage medium | |
CN114418828B (en) | Video memory management method, device, equipment, storage medium and program product | |
CN116582438B (en) | Virtualized video encoding and decoding system and method, electronic equipment and storage medium | |
JP2019036303A (en) | Virtual machine monitor interrupt support for computer processing device (cpu) | |
WO2019072208A1 (en) | Application running control method and device | |
WO2017000645A1 (en) | Method and apparatus for allocating host resource | |
CN114691300A (en) | Hot migration method of virtual machine instance | |
CN111209080A (en) | Transparent transmission method for graphic processor | |
CN113037795A (en) | Thin terminal system and processing method thereof | |
CN113886019A (en) | Virtual machine creation method, device, system, medium and equipment | |
US10990519B2 (en) | Multi-tenant cloud elastic garbage collector | |
CN117176963B (en) | Virtualized video encoding and decoding system and method, electronic equipment and storage medium | |
US9304874B2 (en) | Virtual machine-guest driven state restoring by hypervisor | |
CN117176964B (en) | Virtualized video encoding and decoding system and method, electronic equipment and storage medium | |
US11249760B2 (en) | Parameter management between programs | |
CN117539594A (en) | Load balancing method for concurrent rendering of pixel flow sequences | |
CN116188240A (en) | GPU virtualization method and device for container and electronic equipment | |
US10719342B2 (en) | Provisioning based on workload displacement |
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 |