[go: up one dir, main page]

CN114900699A - Video codec card virtualization method, device, storage medium and terminal - Google Patents

Video codec card virtualization method, device, storage medium and terminal Download PDF

Info

Publication number
CN114900699A
CN114900699A CN202210413533.7A CN202210413533A CN114900699A CN 114900699 A CN114900699 A CN 114900699A CN 202210413533 A CN202210413533 A CN 202210413533A CN 114900699 A CN114900699 A CN 114900699A
Authority
CN
China
Prior art keywords
decoding
video coding
card
video codec
video
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
CN202210413533.7A
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.)
Xinyuan Microelectronics Hainan Co ltd
Xinyuan Microelectronics Nanjing Co ltd
Xinyuan Technology Shanghai Co ltd
VeriSilicon Microelectronics Shanghai Co Ltd
VeriSilicon Microelectronics Chengdu Co Ltd
Original Assignee
Xinyuan Microelectronics Hainan Co ltd
Xinyuan Microelectronics Nanjing Co ltd
Xinyuan Technology Shanghai Co ltd
VeriSilicon Microelectronics Shanghai Co Ltd
VeriSilicon Microelectronics Chengdu 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 Xinyuan Microelectronics Hainan Co ltd, Xinyuan Microelectronics Nanjing Co ltd, Xinyuan Technology Shanghai Co ltd, VeriSilicon Microelectronics Shanghai Co Ltd, VeriSilicon Microelectronics Chengdu Co Ltd filed Critical Xinyuan Microelectronics Hainan Co ltd
Priority to CN202210413533.7A priority Critical patent/CN114900699A/en
Publication of CN114900699A publication Critical patent/CN114900699A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The invention provides a virtualization method, a virtualization device, a storage medium and a virtualization terminal for a video coding and decoding card, wherein the method comprises the following steps: receiving a video coding and decoding instruction, wherein the video coding and decoding instruction comprises priority information; creating a virtual video coding and decoding card, wherein the virtual video coding and decoding card generates a video coding and decoding request based on the video coding and decoding instruction package; and sending the video coding and decoding request to a physical video coding and decoding card so that the physical video coding and decoding card can execute video coding and decoding operation based on the priority information. The response granularity of the video coding and decoding request is smaller than the switching granularity of the virtual equipment; the whole register is not required to be refreshed, so that the bandwidth of a bus interface is saved; the scheduling mechanism of the virtual video coding and decoding card is not needed to be realized, and the design of a host side driving program is simplified.

Description

视频编解码卡虚拟化方法、装置、存储介质及终端Video codec card virtualization method, device, storage medium and terminal

技术领域technical field

本发明涉及视频编解码领域,特别是涉及视频编解码卡虚拟化方法、装置、存储介质及终端。The present invention relates to the field of video coding and decoding, in particular to a video coding and decoding card virtualization method, device, storage medium and terminal.

背景技术Background technique

随着互联网的飞速发展,各种外设的虚拟化在服务器领域有越来越大的需求。外设的虚拟化对提高硬件资源的利用率、满足日益增长的市场需求具有重要意义。其中,视频编解码领域是虚拟化技术的重要应用领域。With the rapid development of the Internet, the virtualization of various peripherals has an increasing demand in the server field. The virtualization of peripherals is of great significance to improve the utilization of hardware resources and meet the growing market demand. Among them, the field of video codec is an important application field of virtualization technology.

现有的视频编解码卡虚拟化技术主要通过分时复用来共享硬件设备,为每一个虚拟机创建对应的虚拟视频编解码卡,每个虚拟视频编解码卡包括模拟物理视频编解码卡的寄存器。当虚拟机向物理视频编解码卡发送命令和数据时,其首先将命令和数据的地址写到虚拟视频编解码卡的虚拟寄存器上,然后虚拟视频编解码卡调度器选中一个虚拟视频编解码卡,并把虚拟视频编解码卡的虚拟寄存器全部刷新到真实的硬件设备上,即物理视频编解码卡,物理视频编解码卡执行相应的视频编解码操作。The existing video codec card virtualization technology mainly shares hardware devices through time-division multiplexing, and creates a corresponding virtual video codec card for each virtual machine. register. When the virtual machine sends commands and data to the physical video codec card, it first writes the address of the command and data to the virtual register of the virtual video codec card, and then the virtual video codec card scheduler selects a virtual video codec card. , and refresh all the virtual registers of the virtual video codec card to the real hardware device, that is, the physical video codec card, and the physical video codec card performs corresponding video codec operations.

现有的视频编解码卡虚拟化技术具有以下缺陷:其一,调度算法需要在主机(host)侧存储多份虚拟设备,当寄存器很多时(VPU(Video Processing Unit,视频处理单元单元)的寄存器多达上千个)需占用较多内存,而且寄存器的刷新效率低下;其二,虚拟设备的调度机制的设计及实现成本较高。The existing video codec card virtualization technology has the following defects: First, the scheduling algorithm needs to store multiple copies of virtual devices on the host side, and when there are many registers (VPU (Video Processing Unit, video processing unit) registers) As many as thousands), it takes up a lot of memory, and the refresh efficiency of the register is low; secondly, the design and implementation cost of the scheduling mechanism of the virtual device is relatively high.

发明内容SUMMARY OF THE INVENTION

鉴于以上所述现有技术的缺点,本发明的目的在于提供视频编解码卡虚拟化方法、装置、存储介质及终端,用于解决现有技术中视频编解码卡虚拟化占用内存较多、寄存器刷新效率低下且成本较高的问题。In view of the shortcomings of the above-mentioned prior art, the object of the present invention is to provide a video codec card virtualization method, device, storage medium and terminal, which are used to solve the problem that the video codec card virtualization takes up a lot of memory and registers in the prior art. Refresh is inefficient and costly.

为实现上述目的及其它相关目的,本发明的第一方面提供一种视频编解码卡虚拟化方法,其包括:接收视频编解码指令,所述视频编解码指令包括优先级信息;创建虚拟视频编解码卡,所述虚拟视频编解码卡基于所述视频编解码指令打包生成视频编解码请求;将所述视频编解码请求发送至物理视频编解码卡,以供物理视频编解码卡基于所述优先级信息执行视频编解码操作。In order to achieve the above object and other related objects, a first aspect of the present invention provides a method for virtualizing a video codec card, which includes: receiving a video codec instruction, where the video codec instruction includes priority information; creating a virtual video codec; A decoding card, where the virtual video encoding and decoding card packages and generates a video encoding and decoding request based on the video encoding and decoding instructions; and sends the video encoding and decoding request to the physical video encoding and decoding card, so that the physical video encoding and decoding card can request the physical video encoding and decoding card based on the priority level information to perform video codec operations.

于本发明的第一方面的一些实施例中,所述物理视频编解码卡包括视频编解码单元、微处理单元、内存单元和总线接口单元,所述视频编解码卡虚拟化方法包括:物理视频编解码卡通过所述总线接口单元接收所述视频编解码请求,并将其存储至所述内存单元;所述微处理单元上的固件解析所述视频编解码请求;所述视频编解码单元基于解析后的视频编解码请求执行视频编解码操作。In some embodiments of the first aspect of the present invention, the physical video codec card includes a video codec unit, a microprocessing unit, a memory unit and a bus interface unit, and the video codec card virtualization method includes: a physical video The codec card receives the video codec request through the bus interface unit, and stores it in the memory unit; the firmware on the microprocessing unit parses the video codec request; the video codec unit is based on The parsed video codec request performs video codec operations.

于本发明的第一方面的一些实施例中,所述视频编解码请求的生成方式包括:主机基于设备虚拟化基础架构创建与所述虚拟机对应的虚拟视频编解码卡,该虚拟视频编解码卡不保留所述物理视频编解码卡的所有寄存器;所述设备虚拟化基础架构基于所接收的视频编解码指令驱动所述虚拟视频编解码卡生成所述视频编解码请求。In some embodiments of the first aspect of the present invention, the generation method of the video codec request includes: the host creates a virtual video codec card corresponding to the virtual machine based on the device virtualization infrastructure, and the virtual video codec The card does not retain all registers of the physical video codec card; the device virtualization infrastructure drives the virtual video codec card to generate the video codec request based on the received video codec instruction.

于本发明的第一方面的一些实施例中,所述视频编解码卡虚拟化方法包括:利用VFIO-MDEV(Virtual Function I/O Mediated devices)设备虚拟化基础架构通过主机的驱动层创建与虚拟机对应的虚拟视频编解码卡;所述虚拟视频编解码卡接收虚拟机发送的所述视频编解码指令后,由VFIO-MDEV设备虚拟化基础架构驱动生成所述视频编解码请求。In some embodiments of the first aspect of the present invention, the method for virtualizing a video codec includes: using a VFIO-MDEV (Virtual Function I/O Mediated devices) device virtualization infrastructure to create and virtualize a device through a driver layer of a host. The virtual video codec card corresponding to the machine; after receiving the video codec instruction sent by the virtual machine, the virtual video codec card is driven by the VFIO-MDEV device virtualization infrastructure to generate the video codec request.

于本发明的第一方面的一些实施例中,所述视频编解码卡虚拟化方法包括:基于所述优先级信息设计服务质量策略以提供不同的用户服务。In some embodiments of the first aspect of the present invention, the method for virtualizing a video codec includes: designing a quality of service policy based on the priority information to provide different user services.

为实现上述目的及其它相关目的,本发明的第二方面提供一种视频编解码卡虚拟化装置,其包括:指令接收模块,用于接收视频编解码指令,所述视频编解码指令包括优先级信息;编解码请求生成模块,用于创建虚拟视频编解码卡,所述虚拟视频编解码卡基于所述视频编解码指令打包生成视频编解码请求;编解码模块,用于将所述视频编解码请求发送至物理视频编解码卡,以供物理视频编解码卡基于所述优先级信息执行视频编解码操作。In order to achieve the above object and other related objects, a second aspect of the present invention provides a video codec card virtualization device, which includes: an instruction receiving module for receiving a video codec instruction, wherein the video codec instruction includes a priority information; a codec request generation module, used to create a virtual video codec card, the virtual video codec card based on the video codec instruction packaging generates a video codec request; codec module, used for the video codec A request is sent to the physical video codec card for the physical video codec card to perform video codec operations based on the priority information.

为实现上述目的及其它相关目的,本发明的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述视频编解码卡虚拟化方法。In order to achieve the above object and other related objects, a third aspect of the present invention provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the video codec card virtualization method is realized. .

为实现上述目的及其它相关目的,本发明的第四方面提供一种电子终端,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行所述视频编解码卡虚拟化方法。In order to achieve the above object and other related objects, a fourth aspect of the present invention provides an electronic terminal, comprising: a processor and a memory; the memory is used for storing a computer program, and the processor is used for executing the computer program stored in the memory , so that the terminal executes the video codec card virtualization method.

如上所述,本发明提出一种视频编解码卡虚拟化方法、装置、存储介质及终端,具有以下有益效果:克服了传统分时复用共享硬件设备的视频编解码虚拟化方法的缺陷,提出一种能够更高效地利用硬件资源的新思路,其通过将视频编解码指令打包生成包含优先级信息的请求,即将分时共享方式优化为优先级请求队列方式,实现视频编解码卡的虚拟化。本发明中视频编解码请求(v-request)的响应粒度小于虚拟设备的切换粒度;无需刷新全部寄存器,节省总线接口带宽;无需实现虚拟视频编解码卡的调度机制,简化了主机(host)侧驱动程序的设计;进一步地,设计服务质量策略(QoS,Quality of Service)来提供不同的用户服务,提高用户体验;通过物理视频编解码卡的固件(Firmware)对视频编解码请求进行解析,能更好地保护企业信息(如VPU IP信息)的安全性;充分利用了物理视频编解码卡上的微处理器资源。As described above, the present invention proposes a method, device, storage medium and terminal for virtualizing a video codec card, which have the following beneficial effects: overcoming the defects of the traditional video codec virtualization method of time-division multiplexing and sharing hardware devices, and proposes A new idea that can utilize hardware resources more efficiently. It generates a request containing priority information by packaging video codec instructions, that is, optimizing the time-sharing method to a priority request queue method, and realizes the virtualization of the video codec card. . In the present invention, the response granularity of the video codec request (v-request) is smaller than the switching granularity of the virtual device; there is no need to refresh all registers, which saves the bus interface bandwidth; there is no need to implement the scheduling mechanism of the virtual video codec card, which simplifies the host side. Driver design; further, design a quality of service policy (QoS, Quality of Service) to provide different user services and improve user experience; analyze the video codec request through the firmware of the physical video codec card, can Better protect the security of enterprise information (such as VPU IP information); make full use of the microprocessor resources on the physical video codec card.

附图说明Description of drawings

图1显示为本发明一实施例中一种视频编解码卡虚拟化方法的流程示意图。FIG. 1 is a schematic flowchart of a method for virtualizing a video codec card according to an embodiment of the present invention.

图2显示为本发明一实施例中一种视频编解码卡的结构框图。FIG. 2 is a structural block diagram of a video codec card according to an embodiment of the present invention.

图3显示为本发明一实施例中一种基于分时复用的视频编解码卡虚拟化方法的工作原理示意图。FIG. 3 is a schematic diagram illustrating a working principle of a method for virtualizing a video codec card based on time division multiplexing according to an embodiment of the present invention.

图4显示为本发明一实施例中一种基于优先级请求队列的视频编解码卡虚拟化方法的工作原理示意图。FIG. 4 is a schematic diagram illustrating a working principle of a method for virtualizing a video codec card based on a priority request queue according to an embodiment of the present invention.

图5显示为本发明一实施例中一种视频编解码卡虚拟化装置的结构示意图。FIG. 5 is a schematic structural diagram of a device for virtualizing a video codec card according to an embodiment of the present invention.

图6显示为本发明一实施例中一种电子终端的结构示意图。FIG. 6 is a schematic structural diagram of an electronic terminal according to an embodiment of the present invention.

具体实施方式Detailed ways

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其它优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。The embodiments of the present invention are described below through specific specific examples, and those skilled in the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of the present invention. It should be noted that the following embodiments and features in the embodiments may be combined with each other under the condition of no conflict.

需要说明的是,在下述描述中,参考附图,附图描述了本发明的若干实施例。应当理解,还可使用其它实施例,并且可以在不背离本发明的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本发明的实施例的范围仅由公布的专利的权利要求书所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本发明。空间相关的术语,例如“上”、“下”、“左”、“右”、“下面”、“下方”、“下部”、“上方”、“上部”等,可在文中使用以便于说明图中所示的一个元件或特征与另一元件或特征的关系。It should be noted that, in the following description, reference is made to the accompanying drawings, which describe several embodiments of the present invention. It is to be understood that other embodiments may be utilized and mechanical, structural, electrical, as well as operational changes may be made without departing from the spirit and scope of the present invention. The following detailed description should not be considered limiting, and the scope of embodiments of the present invention is limited only by the claims of the issued patent. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the present invention. Spatially related terms, such as "upper," "lower," "left," "right," "below," "below," "lower," "above," "upper," etc., may be used in the text for ease of description The relationship of one element or feature shown in the figures to another element or feature.

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”、“固持”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。In the present invention, unless otherwise expressly specified and limited, terms such as "installation", "connection", "connection", "fixing", "retaining" and the like should be understood in a broad sense, for example, it may be a fixed connection or a It is a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be directly connected, or indirectly connected through an intermediate medium, or it can be the internal communication between two components. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to specific situations.

再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其它特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。Also, as used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context dictates otherwise. It should be further understood that the terms "comprising", "including" indicate the presence of a stated feature, operation, element, component, item, kind, and/or group, but do not exclude one or more other features, operations, elements, components, The existence, appearance or addition of items, categories, and/or groups. The terms "or" and "and/or" as used herein are to be construed to be inclusive or to mean any one or any combination. Thus, "A, B or C" or "A, B and/or C" means "any of the following: A; B; C; A and B; A and C; B and C; A, B and C" . Exceptions to this definition arise only when combinations of elements, functions, or operations are inherently mutually exclusive in some way.

本发明的目的在于提供一种视频编解码卡虚拟化方法、装置、存储介质及终端,用于解决现有技术中视频编解码卡虚拟化占用内存较多、寄存器刷新效率低下且成本较高的问题。The purpose of the present invention is to provide a video codec card virtualization method, device, storage medium and terminal, which are used to solve the problems in the prior art that the video codec card virtualization occupies a lot of memory, the register refresh efficiency is low, and the cost is high. question.

为了使本发明的目的、技术方案及优点更加清楚明白,通过下述实施例并结合附图,对本发明实施例中的技术方案进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。下文实施例主要以Linux系统及其设备虚拟化基础架构VFIO-MDEV为例对本发明进行说明,但本方法并不仅仅限于Linux系统或设备虚拟化基础架构VFIO-MDEV。In order to make the objectives, technical solutions and advantages of the present invention clearer, the technical solutions in the embodiments of the present invention are further described in detail through the following embodiments and in conjunction with the accompanying drawings. It should be understood that the specific embodiments described herein are only used to explain the present invention, but not to limit the present invention. The following embodiments mainly take the Linux system and the device virtualization infrastructure VFIO-MDEV as an example to describe the present invention, but the method is not limited to the Linux system or the device virtualization infrastructure VFIO-MDEV.

实施例一Example 1

如图1所示,本发明实施例提出一种视频编解码卡虚拟化方法的流程示意图,该方法具体包括步骤如下:As shown in FIG. 1 , an embodiment of the present invention provides a schematic flowchart of a method for virtualizing a video codec card. The method specifically includes the following steps:

步骤S11.接收视频编解码指令,所述视频编解码指令包括优先级信息。该视频编解码指令可以由虚拟机客户端发送,并可将待编解码的数据或数据地址信息同时发送至服务端。该优先级信息为基于预设的优先级规则赋予客户端的信息。Step S11. Receive a video codec instruction, where the video codec instruction includes priority information. The video encoding and decoding instructions can be sent by the virtual machine client, and the data to be encoded and decoded or the data address information can be sent to the server at the same time. The priority information is information assigned to the client based on a preset priority rule.

步骤S12.创建虚拟视频编解码卡,所述虚拟视频编解码卡基于所述视频编解码指令打包生成视频编解码请求。其中,虚拟视频编解码卡与物理视频编解码卡(真实的硬件设备)之间存在映射关系,虚拟机通过操作虚拟视频编解码卡来使用对应的硬件设备。并且打包生成的视频编解码请求包含优先级信息。Step S12. Create a virtual video codec card, and the virtual video codec card packages and generates a video codec request based on the video codec instruction. There is a mapping relationship between the virtual video codec card and the physical video codec card (real hardware device), and the virtual machine uses the corresponding hardware device by operating the virtual video codec card. And the video codec request generated by packaging includes priority information.

在本实施例较佳实施方式中,所述视频编解码请求的生成方式包括:主机基于设备虚拟化基础架构创建与所述虚拟机对应的虚拟视频编解码卡,该虚拟视频编解码卡不保留所述物理视频编解码卡的所有寄存器;所述设备虚拟化基础架构基于所接收的视频编解码指令驱动所述虚拟视频编解码卡生成所述视频编解码请求。In a preferred implementation of this embodiment, the method of generating the video codec request includes: the host creates a virtual video codec card corresponding to the virtual machine based on the device virtualization infrastructure, and the virtual video codec card does not reserve All registers of the physical video codec card; the device virtualization infrastructure drives the virtual video codec card to generate the video codec request based on the received video codec instruction.

以Linux系统为例,其包括VFIO-MDEV设备虚拟化基础架构;所述视频编解码卡虚拟化方法包括:VFIO-MDEV设备虚拟化基础架构通过主机的驱动层创建与虚拟机对应的虚拟视频编解码卡;所述虚拟视频编解码卡接收虚拟机发送的所述视频编解码指令后,由VFIO-MDEV设备虚拟化基础架构驱动生成所述视频编解码请求。Taking the Linux system as an example, it includes a VFIO-MDEV device virtualization infrastructure; the video codec card virtualization method includes: the VFIO-MDEV device virtualization infrastructure creates a virtual video codec corresponding to the virtual machine through the driver layer of the host. A decoding card; after receiving the video encoding and decoding instruction sent by the virtual machine, the virtual video encoding and decoding card is driven by the VFIO-MDEV device virtualization infrastructure to generate the video encoding and decoding request.

步骤S13.将所述视频编解码请求发送至物理视频编解码卡,以供物理视频编解码卡基于所述优先级信息执行视频编解码操作。物理视频编解码卡基于请求中的优先级信息生成请求队列,即优先级请求队列。Step S13. Send the video codec request to a physical video codec card, so that the physical video codec card can perform a video codec operation based on the priority information. The physical video codec generates a request queue based on the priority information in the request, that is, the priority request queue.

在本实施例较佳实施方式中,所述物理视频编解码卡包括视频编解码单元、微处理单元、内存单元和总线接口单元,所述视频编解码卡虚拟化方法包括:物理视频编解码卡通过所述总线接口单元接收所述视频编解码请求,并将其存储至所述内存单元;所述微处理单元上的固件解析所述视频编解码请求;所述视频编解码单元基于解析后的视频编解码请求执行视频编解码操作。In a preferred implementation of this embodiment, the physical video codec card includes a video codec unit, a microprocessing unit, a memory unit and a bus interface unit, and the video codec card virtualization method includes: a physical video codec card The video codec request is received through the bus interface unit and stored in the memory unit; the firmware on the micro-processing unit parses the video codec request; the video codec unit is based on the parsed A video codec request performs a video codec operation.

如图2所示,作为可选实施方式,本发明实施例提出一种视频编解码卡的结构框图,该视频编解码卡包括视频编解码单元21(优选为VPU)、内存单元22(优选为DDR(双倍速率同步动态随机存储器))、微处理单元23和总线接口单元24(优选PCIE总线(peripheralcomponent interconnect express高速串行计算机扩展总线))。As shown in FIG. 2 , as an optional implementation manner, an embodiment of the present invention provides a structural block diagram of a video codec card, where the video codec card includes a video codec unit 21 (preferably a VPU), a memory unit 22 (preferably a VPU) DDR (Double Rate Synchronous Dynamic Random Access Memory)), a microprocessing unit 23 and a bus interface unit 24 (preferably a PCIE bus (peripheral component interconnect express high-speed serial computer expansion bus)).

视频编解码卡通过服务器主机的PCIE插槽与主机通信连接,服务器主机运行视频编解码卡的驱动程序以驱动视频编解码卡工作。其工作原理表述如下:服务器主机将待编解码的命令和数据通过总线接口单元24发送到视频编解码单元21的寄存器和内存单元22,视频编解码单元21执行编解码操作获得处理后数据,主机从视频编解码卡处取回处理后数据。视频编解码卡上的微处理单元23主要用于是检测卡的工作状态。The video codec card is communicated and connected to the host through the PCIE slot of the server host, and the server host runs a driver of the video codec card to drive the video codec card to work. Its working principle is described as follows: the server host sends the commands and data to be encoded and decoded to the register and memory unit 22 of the video encoding and decoding unit 21 through the bus interface unit 24, and the video encoding and decoding unit 21 performs the encoding and decoding operations to obtain processed data. Retrieve the processed data from the video codec. The micro-processing unit 23 on the video codec card is mainly used to detect the working state of the card.

在本实施例较佳实施方式中,所述视频编解码卡虚拟化方法包括:基于所述优先级信息设计服务质量策略(QoS,Quality of Service)以提供不同的用户服务,即为不同的用户提供对应服务。QoS是网络与用户之间以及网络上互相通信的用户之间关于信息传输与共享的质的约定,当网络过载或拥塞时,QoS能确保重要业务量不受延迟或丢弃,同时保证网络的高效运行。In a preferred implementation of this embodiment, the method for virtualizing a video codec includes: designing a quality of service (QoS, Quality of Service) policy based on the priority information to provide different user services, that is, for different users Provide corresponding services. QoS is an agreement on the quality of information transmission and sharing between the network and users and between users who communicate with each other on the network. When the network is overloaded or congested, QoS can ensure that important traffic is not delayed or discarded, while ensuring the high efficiency of the network. run.

本实施例分别给出一种基于分时复用的视频编解码卡虚拟化方法的工作原理示意图(图3)和一种基于优先级请求队列的视频编解码卡虚拟化方法的工作原理示意图(图4)。This embodiment respectively provides a schematic diagram of the working principle of a method for virtualizing a video codec card based on time-division multiplexing ( FIG. 3 ) and a schematic diagram of the working principle of a method for virtualizing a video codec card based on a priority request queue ( FIG. 3 ) ( Figure 4).

如图3所示,基于分时复用的视频编解码卡虚拟化方法中,虚拟机(VM)与物理主机(Host)中的虚拟视频编解码卡(Virtual Video Card)一一对应,且虚拟视频编解码卡包括虚拟寄存器(V-registers,模拟物理视频编解码卡的寄存器)。其工作流程如下:VFIO-MDEV通过在主机的驱动层创建虚拟视频编解码卡,虚拟机将视频编解码指令和待处理数据的地址写到虚拟视频编解码卡的虚拟寄存器上;虚拟编解码卡调度器选中一个虚拟编解码卡,并将选中的虚拟编解码卡的虚拟寄存器全部刷新到物理视频编解码卡(HW Video Card)的寄存器(registers)上,使物理视频编解码卡执行相应的视频编解码操作。As shown in FIG. 3, in the video codec card virtualization method based on time division multiplexing, the virtual machine (VM) corresponds to the virtual video codec card (Virtual Video Card) in the physical host (Host) one-to-one, and the virtual The video codec card includes virtual registers (V-registers, which simulate the registers of the physical video codec card). The workflow is as follows: VFIO-MDEV creates a virtual video codec card in the driver layer of the host, and the virtual machine writes the video codec instruction and the address of the data to be processed to the virtual register of the virtual video codec card; the virtual codec card The scheduler selects a virtual codec card, and refreshes all the virtual registers of the selected virtual codec card to the registers (registers) of the physical video codec card (HW Video Card), so that the physical video codec card executes the corresponding video Codec operation.

如图4所示,基于优先级请求队列的视频编解码卡虚拟化方法中,虚拟机(VM)与物理主机(Host)中的虚拟视频编解码卡(Virtual Video Card)一一对应,且虚拟视频编解码卡不包括虚拟寄存器。当虚拟机操作虚拟视频编解码卡时,主机上的VFIO-MDEV驱动生成视频编解码请求(v-request)并发送给物理视频编解码卡;物理视频编解码卡生成视频编解码请求队列(Request-queues),其上的固件Firmware按照优先级响应v-request并操作视频编解码单元(VPU)执行相应的视频编解码操作。As shown in FIG. 4 , in the video codec card virtualization method based on the priority request queue, the virtual machine (VM) corresponds to the virtual video codec card (Virtual Video Card) in the physical host (Host) one-to-one, and the virtual Video codec cards do not include virtual registers. When the virtual machine operates the virtual video codec card, the VFIO-MDEV driver on the host generates a video codec request (v-request) and sends it to the physical video codec card; the physical video codec card generates a video codec request queue (Request -queues), the firmware on it responds to the v-request according to the priority and operates the video codec unit (VPU) to perform the corresponding video codec operation.

在一些实施方式中,所述视频编解码卡虚拟化方法可应用于控制器,所述电控单元例如为ARM(Advanced RISC Machines)控制器、FPGA(Field Programmable Gate Array)控制器、SoC(System on Chip)控制器、DSP(Digital Signal Processing)控制器、或者MCU(Microcontroller Unit)控制器等等。在一些实施方式中,所述视频编解码卡虚拟化方法也可应用于包括存储器、存储控制器、一个或多个处理单元(CPU)、外设接口、RF电路、音频电路、扬声器、麦克风、输入/输出(I/O)子系统、显示屏、其它输出或控制设备,以及外部端口等组件的计算机;所述计算机包括但不限于如台式电脑、笔记本电脑、平板电脑、智能手机、智能电视、个人数字助理(Personal Digital Assistant,简称PDA)等个人电脑。在另一些实施方式中,所述视频编解码卡虚拟化方法还可应用于服务器,所述服务器可以根据功能、负载等多种因素布置在一个或多个实体服务器上,也可以由分布的或集中的服务器集群构成。In some embodiments, the video codec card virtualization method can be applied to a controller, and the electronic control unit is, for example, an ARM (Advanced RISC Machines) controller, an FPGA (Field Programmable Gate Array) controller, a SoC (System on Chip) controller, DSP (Digital Signal Processing) controller, or MCU (Microcontroller Unit) controller, etc. In some embodiments, the video codec virtualization method is also applicable to include memory, memory controller, one or more processing units (CPU), peripheral interface, RF circuit, audio circuit, speaker, microphone, Computers with components such as input/output (I/O) subsystems, displays, other output or control devices, and external ports; such computers include, but are not limited to, such as desktop computers, laptops, tablets, smartphones, smart TVs , Personal Digital Assistant (Personal Digital Assistant, PDA) and other personal computers. In other embodiments, the video codec card virtualization method can also be applied to a server, and the server can be arranged on one or more physical servers according to various factors such as function and load, or can be distributed or Centralized server cluster composition.

实施例二Embodiment 2

如图5所示,本发明实施例提出一种视频编解码卡虚拟化装置的结构示意图,其包括:指令接收模块51,用于接收视频编解码指令,所述视频编解码指令包括优先级信息;编解码请求生成模块52,用于创建虚拟视频编解码卡,所述虚拟视频编解码卡基于所述视频编解码指令打包生成视频编解码请求;编解码模块53,用于将所述视频编解码请求发送至物理视频编解码卡,以供物理视频编解码卡基于所述优先级信息执行视频编解码操作。As shown in FIG. 5, an embodiment of the present invention provides a schematic structural diagram of a video codec card virtualization device, which includes: an instruction receiving module 51, configured to receive a video codec instruction, where the video codec instruction includes priority information The codec request generation module 52 is used to create a virtual video codec card, and the virtual video codec card is packaged and generated based on the video codec instruction to generate a video codec request; the codec module 53 is used to encode and decode the video. The decoding request is sent to the physical video codec card for the physical video codec card to perform video codec operations based on the priority information.

需要说明的是,本实施例提供的模块与上文中提供的方法、实施方式类似,故不再赘述。另外需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,编解码模块53可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上编解码模块53的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。It should be noted that the modules provided in this embodiment are similar to the methods and implementation manners provided above, and thus are not described again. In addition, it should be noted that it should be understood that the division of each module of the above apparatus is only a division of logical functions, and may be fully or partially integrated into a physical entity in actual implementation, or may be physically separated. And these modules can all be implemented in the form of software calling through processing elements; they can also all be implemented in hardware; some modules can also be implemented in the form of calling software through processing elements, and some modules can be implemented in hardware. For example, the codec module 53 can be a separately established processing element, or can be integrated into a certain chip of the above-mentioned device to realize, in addition, it can also be stored in the memory of the above-mentioned device in the form of a program code, and it can be generated by one of the above-mentioned devices. The processing element calls and executes the functions of the above codec module 53 . The implementation of other modules is similar. In addition, all or part of these modules can be integrated together, and can also be implemented independently. The processing element described here may be an integrated circuit with signal processing capability. In the implementation process, each step of the above-mentioned method or each of the above-mentioned modules can be completed by an integrated logic circuit of hardware in the processor element or an instruction in the form of software.

例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个数字信号处理器(digital signal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。For example, the above modules may be one or more integrated circuits configured to implement the above method, such as: one or more specific integrated circuits (Application Specific Integrated Circuit, ASIC for short), or one or more digital signal processors (digital signal processor, DSP for short), or one or more Field Programmable Gate Array (Field Programmable Gate Array, FPGA for short), etc. For another example, when one of the above modules is implemented in the form of processing element scheduling program code, the processing element may be a general-purpose processor, such as a central processing unit (Central Processing Unit, CPU for short) or other processors that can call program codes. For another example, these modules can be integrated together and implemented in the form of a system-on-a-chip (SOC for short).

实施例三Embodiment 3

如图6所示,本发明实施例提供一种电子终端的结构示意图。本实施例提供的电子终端,包括:处理器61、存储器62、通信器63;存储器62通过系统总线与处理器61和通信器63连接并完成相互间的通信,存储器62用于存储计算机程序,通信器63用于和其它设备进行通信,处理器61用于运行计算机程序,使电子终端执行如上视频编解码卡虚拟化方法的各个步骤。As shown in FIG. 6 , an embodiment of the present invention provides a schematic structural diagram of an electronic terminal. The electronic terminal provided in this embodiment includes: a processor 61, a memory 62, and a communicator 63; the memory 62 is connected to the processor 61 and the communicator 63 through a system bus and communicates with each other, and the memory 62 is used to store computer programs, The communicator 63 is used to communicate with other devices, and the processor 61 is used to run a computer program, so that the electronic terminal executes each step of the above video codec card virtualization method.

上述提到的系统总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其它设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。The system bus mentioned above may be a Peripheral Component Interconnect (PCI for short) bus or an Extended Industry Standard Architecture (Extended Industry Standard Architecture, EISA for short) bus or the like. The system bus can be divided into address bus, data bus, control bus and so on. For ease of presentation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus. The communication interface is used to realize the communication between the database access device and other devices (eg client, read-write library and read-only library). The memory may include random access memory (Random Access Memory, RAM for short), and may also include non-volatile memory (non-volatile memory), such as at least one disk memory.

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。The above-mentioned processor may be a general-purpose processor, including a central processing unit (Central Processing Unit, referred to as CPU), a network processor (Network Processor, referred to as NP), etc.; may also be a digital signal processor (Digital Signal Processing, referred to as DSP) , Application Specific Integrated Circuit (ASIC for short), Field-Programmable Gate Array (FPGA for short) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.

实施例四Embodiment 4

本发明实施例提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前文所述视频编解码卡虚拟化方法。An embodiment of the present invention provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, implements the foregoing method for virtualizing a video codec card.

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。Those of ordinary skill in the art can understand that all or part of the steps of implementing the above method embodiments may be completed by hardware related to computer programs. The aforementioned computer program may be stored in a computer-readable storage medium. When the program is executed, the steps including the above method embodiments are executed; and the foregoing storage medium includes: ROM, RAM, magnetic disk or optical disk and other media that can store program codes.

综上所述,本发明提供一种视频编解码卡虚拟化方法、装置、存储介质及终端,通过将视频编解码指令打包生成包含优先级信息的请求,即将分时共享方式优化为优先级请求队列方式,实现视频编解码卡的虚拟化。本发明中视频编解码请求的响应粒度小于虚拟设备的切换粒度;无需模拟全部的寄存器,也无需刷新全部寄存器,节省总线接口带宽和主机存储空间;无需实现虚拟视频编解码卡的调度机制,简化了主机侧驱动程序的设计,节约人力;进一步地,设计服务质量策略来为不同用户提供不同的服务,提高用户体验;通过物理视频编解码卡的固件对视频编解码请求进行解析,能更好地保护企业信息的安全性;充分利用了物理视频编解码卡上的微处理器资源。因此,本发明有效克服了现有技术中视频编解码卡虚拟化占用内存较多、寄存器刷新效率低下且成本较高的问题,具有高度产业利用价值。In summary, the present invention provides a method, device, storage medium and terminal for virtualizing a video codec card, by packaging video codec instructions to generate a request including priority information, that is, optimizing the time-sharing method into a priority request Queue mode, realize the virtualization of video codec card. The response granularity of the video codec request in the present invention is smaller than the switching granularity of the virtual device; it is not necessary to simulate all the registers, and it is not necessary to refresh all the registers, which saves the bus interface bandwidth and host storage space; there is no need to implement the scheduling mechanism of the virtual video codec card, which simplifies The design of the host-side driver saves manpower; further, the service quality policy is designed to provide different services for different users and improve the user experience; the firmware of the physical video codec card parses the video codec request, which can better The security of enterprise information is fully protected; the microprocessor resources on the physical video codec card are fully utilized. Therefore, the present invention effectively overcomes the problems in the prior art that the virtualization of the video codec card occupies a lot of memory, the register refresh efficiency is low, and the cost is high, and it has high industrial utilization value.

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。The above-mentioned embodiments merely illustrate the principles and effects of the present invention, but are not intended to limit the present invention. Anyone skilled in the art can modify or change the above embodiments without departing from the spirit and scope of the present invention. Therefore, all equivalent modifications or changes made by those with ordinary knowledge in the technical field without departing from the spirit and technical idea disclosed in the present invention should still be covered by the claims of the present invention.

Claims (8)

1. A virtualization method for a video codec card is characterized by comprising the following steps:
receiving a video coding and decoding instruction, wherein the video coding and decoding instruction comprises priority information;
creating a virtual video coding and decoding card, wherein the virtual video coding and decoding card generates a video coding and decoding request based on the video coding and decoding instruction package;
and sending the video coding and decoding request to a physical video coding and decoding card so that the physical video coding and decoding card can execute video coding and decoding operation based on the priority information.
2. The method of claim 1, wherein the physical video codec card comprises a video codec unit, a microprocessor unit, a memory unit, and a bus interface unit, and the method comprises:
the physical video coding and decoding card receives the video coding and decoding request through the bus interface unit and stores the video coding and decoding request to the memory unit;
the firmware on the micro-processing unit analyzes the video coding and decoding request;
and the video coding and decoding unit executes video coding and decoding operation based on the analyzed video coding and decoding request.
3. The method of claim 1, wherein the video codec card virtualization method is characterized in that the video codec request generation mode comprises:
the method comprises the steps that a host computer creates a virtual video coding and decoding card corresponding to a virtual machine based on an equipment virtualization infrastructure, wherein the virtual video coding and decoding card does not reserve all registers of a physical video coding and decoding card;
the device virtualization infrastructure drives the virtual video codec card to generate the video codec request based on the received video codec instruction.
4. The video codec card virtualization method according to claim 1, comprising:
creating a virtual video coding and decoding card corresponding to the virtual machine through a driving layer of the host by using a VFIO-MDEV equipment virtualization infrastructure;
and after the virtual video coding and decoding card receives the video coding and decoding command sent by the virtual machine, the video coding and decoding request is generated by the driving of the VFIO-MDEV equipment virtualization infrastructure.
5. The video codec card virtualization method according to claim 1, comprising:
and designing a service quality strategy based on the priority information to provide different user services.
6. A video codec card virtualization apparatus, comprising:
the video coding and decoding device comprises an instruction receiving module, a video coding and decoding module and a video coding and decoding module, wherein the instruction receiving module is used for receiving a video coding and decoding instruction which comprises priority information;
the encoding and decoding request generating module is used for creating a virtual video encoding and decoding card, and the virtual video encoding and decoding card generates a video encoding and decoding request based on the video encoding and decoding instruction package;
and the coding and decoding module is used for sending the video coding and decoding request to a physical video coding and decoding card so that the physical video coding and decoding card can execute video coding and decoding operation based on the priority information.
7. A computer-readable storage medium, on which a computer program is stored, the computer program, when being executed by a processor, implementing the video codec card virtualization method according to any one of claims 1 to 5.
8. An electronic terminal, comprising: a processor and a memory;
the memory is used for storing a computer program, and the processor is used for executing the computer program stored by the memory to enable the terminal to execute the video codec card virtualization method according to any one of claims 1 to 5.
CN202210413533.7A 2022-04-13 2022-04-13 Video codec card virtualization method, device, storage medium and terminal Pending CN114900699A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210413533.7A CN114900699A (en) 2022-04-13 2022-04-13 Video codec card virtualization method, device, storage medium and terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210413533.7A CN114900699A (en) 2022-04-13 2022-04-13 Video codec card virtualization method, device, storage medium and terminal

Publications (1)

Publication Number Publication Date
CN114900699A true CN114900699A (en) 2022-08-12

Family

ID=82717454

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210413533.7A Pending CN114900699A (en) 2022-04-13 2022-04-13 Video codec card virtualization method, device, storage medium and terminal

Country Status (1)

Country Link
CN (1) CN114900699A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115499665A (en) * 2022-09-14 2022-12-20 北京睿芯高通量科技有限公司 High-concurrency coding and decoding system for multi-channel videos
CN116320469A (en) * 2023-05-16 2023-06-23 摩尔线程智能科技(北京)有限责任公司 Virtualized video encoding and decoding system and method, electronic equipment and storage medium
CN116582438A (en) * 2023-05-16 2023-08-11 摩尔线程智能科技(北京)有限责任公司 A virtualized video codec system and method, electronic equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810021A (en) * 2014-02-19 2014-05-21 福建升腾资讯有限公司 Virtual desktop displaying method based on host machine under VDI and system thereof
US20140173591A1 (en) * 2012-12-13 2014-06-19 Cisco Technology, Inc. Differentiated service levels in virtualized computing
CN107911700A (en) * 2017-10-31 2018-04-13 深信服科技股份有限公司 A kind of hardware coding/decoding method, decoding device and storage medium based on virtualization
CN112306712A (en) * 2020-10-30 2021-02-02 联想(北京)有限公司 Image data transmission method and device based on virtual monitor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140173591A1 (en) * 2012-12-13 2014-06-19 Cisco Technology, Inc. Differentiated service levels in virtualized computing
CN103810021A (en) * 2014-02-19 2014-05-21 福建升腾资讯有限公司 Virtual desktop displaying method based on host machine under VDI and system thereof
CN107911700A (en) * 2017-10-31 2018-04-13 深信服科技股份有限公司 A kind of hardware coding/decoding method, decoding device and storage medium based on virtualization
CN112306712A (en) * 2020-10-30 2021-02-02 联想(北京)有限公司 Image data transmission method and device based on virtual monitor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115499665A (en) * 2022-09-14 2022-12-20 北京睿芯高通量科技有限公司 High-concurrency coding and decoding system for multi-channel videos
CN116320469A (en) * 2023-05-16 2023-06-23 摩尔线程智能科技(北京)有限责任公司 Virtualized video encoding and decoding system and method, electronic equipment and storage medium
CN116582438A (en) * 2023-05-16 2023-08-11 摩尔线程智能科技(北京)有限责任公司 A virtualized video codec system and method, electronic equipment and storage medium
CN116582438B (en) * 2023-05-16 2023-10-27 摩尔线程智能科技(北京)有限责任公司 A virtualized video encoding and decoding system and method, electronic device and storage medium
CN116320469B (en) * 2023-05-16 2024-03-01 摩尔线程智能科技(北京)有限责任公司 Virtualized video encoding and decoding system and method, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
CN114900699A (en) Video codec card virtualization method, device, storage medium and terminal
EP3798835B1 (en) Method, device, and system for implementing hardware acceleration processing
US8478926B1 (en) Co-processing acceleration method, apparatus, and system
WO2017114283A1 (en) Method and apparatus for processing read/write request in physical host
US9875124B2 (en) Data assignment and data scheduling for physical machine in a virtual machine environment
CN105094983A (en) Computer, control device and data processing method
CN102819449A (en) Method and system for graphic card redirection
CN116582438B (en) A virtualized video encoding and decoding system and method, electronic device and storage medium
CN103645957A (en) Resource management and control method for virtual machines, and resource management and control device for virtual machines
WO2021164163A1 (en) Request processing method and apparatus, device and storage medium
CN114691286A (en) Server system, virtual machine creation method and device
CN114397999B (en) Communication method, device and equipment based on non-volatile memory interface-remote processing message transmission
CN116320469B (en) Virtualized video encoding and decoding system and method, electronic equipment and storage medium
CN112965788B (en) Task execution method, system and equipment in hybrid virtualization mode
US11249760B2 (en) Parameter management between programs
CN115202827A (en) Method for processing virtualized interrupt, interrupt controller, electronic device and chip
CN115904761B (en) System on chip, vehicle and video processing unit virtualization method
WO2024082985A1 (en) Unloading card provided with accelerator
CN110275771A (en) A business processing method, an Internet of Things billing infrastructure system, and a storage medium
TW202334814A (en) Distributed accelerator
CN117176964B (en) Virtualized video encoding and decoding system and method, electronic equipment and storage medium
CN113439260B (en) I/O completion polling for low-latency storage devices
CN114281475B (en) Application deployment method and device and computer readable storage medium
Zhang et al. NVMe-over-RPMsg: A Virtual Storage Device Model Applied to Heterogeneous Multi-Core SoCs
CN114662162A (en) Multi-algorithm core high-performance SR-IOV encryption and decryption system and method for realizing dynamic allocation of VF

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