CN115988218A - 一种虚拟化视频编解码***、电子设备和存储介质 - Google Patents

一种虚拟化视频编解码***、电子设备和存储介质 Download PDF

Info

Publication number
CN115988218A
CN115988218A CN202310242206.4A CN202310242206A CN115988218A CN 115988218 A CN115988218 A CN 115988218A CN 202310242206 A CN202310242206 A CN 202310242206A CN 115988218 A CN115988218 A CN 115988218A
Authority
CN
China
Prior art keywords
virtual machine
video coding
decoding
ith
register
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.)
Granted
Application number
CN202310242206.4A
Other languages
English (en)
Other versions
CN115988218B (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.)
Moore Threads Technology Co Ltd
Original Assignee
Moore Threads Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Moore Threads Technology Co Ltd filed Critical Moore Threads Technology Co Ltd
Priority to CN202310242206.4A priority Critical patent/CN115988218B/zh
Publication of CN115988218A publication Critical patent/CN115988218A/zh
Application granted granted Critical
Publication of CN115988218B publication Critical patent/CN115988218B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开涉及计算机领域,公开了一种虚拟化视频编解码***、电子设备和存储介质,所述***包括:虚拟机监视器、n个虚拟机、n个虚拟机寄存器组、一个视频编解码内核,n个虚拟机与n个虚拟机寄存器组一一对应,n是大于等于2的正整数;虚拟机监视器用于将第i个虚拟机对应的当前视频编解码任务的配置信息,配置到第i个虚拟机寄存器组,其中,i是大于等于1且小于等于n的正整数;视频编解码内核用于从第i个虚拟机寄存器组中读取配置信息,以及基于配置信息执行第i个虚拟机对应的当前视频编解码任务。本公开实施例提高了视频编解码内核的处理性能,各个虚拟机之间视频编解码任务互不影响,有效提高了数据安全性。

Description

一种虚拟化视频编解码***、电子设备和存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种虚拟化视频编解码***、电子设备和存储介质。
背景技术
虚拟化(Virtualization)是一种资源管理技术,是将计算机的各种实体资源,例如,服务器、网络、内存及存储等予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以利用比原本的组态更好的方式来应用这些资源。虚拟化则是一种逻辑角度出发的资源配置技术,是物理实际的逻辑抽象。将一般的计算模型抽象成为一定的物理资源和运行于之上的计算元件,它们之间通过定义的物理资源接口进行交互。完全虚拟化的任务应该做到无法感知其以外的其他任务和数据。
虚拟化视频技术则体现为在同一套物理资源上同时处理多个互不影响的视频任务。作为视频用户,比较典型的虚拟化视频技术应用场景为在同一个操作***下的多个用户分别拥有自己的虚拟机,这些用户分别在自己所属的虚拟机下打开不同的视频窗口执行视频窗口的播放任务,此时这些虚拟机的用户之间的视频任务是独立的、互不感知、互不影响的。随着围绕数字化、网络化开展的多媒体处理业务的不断增加,视频编解码的虚拟化应用越来越多,对其性能也要求越来越高。这不仅表现在对数据存储的要求,还包括对数据的访问安全性、处理性能、管理能力以及扩展能力等多方面的要求。因此,亟需一种虚拟化视频编解码***。
发明内容
本公开提出了一种虚拟化视频编解码***、电子设备和存储介质的技术方案。
根据本公开的一方面,提供了一种虚拟化视频编解码***,包括:虚拟机监视器、n个虚拟机、n个虚拟机寄存器组、一个视频编解码内核,所述n个虚拟机与所述n个虚拟机寄存器组一一对应,n是大于等于2的正整数;所述虚拟机监视器,用于将第i个虚拟机对应的当前视频编解码任务的配置信息,配置到第i个虚拟机寄存器组,其中,i是大于等于1且小于等于n的正整数;所述视频编解码内核,用于从所述第i个虚拟机寄存器组中读取所述配置信息,以及基于所述配置信息执行所述第i个虚拟机对应的当前视频编解码任务。
在一种可能的实现方式中,所述***还包括:存储管理模块、存储单元;所述配置信息中包括执行所述第i个虚拟机对应的当前视频编解码任务所需的存储空间大小;所述视频编解码内核,用于将执行所述第i个虚拟机对应的当前视频编解码任务所需的存储空间大小发送至所述存储管理模块;所述存储管理模块,用于基于执行所述第i个虚拟机对应的当前视频编解码任务所需的存储空间大小,在所述存储单元中为所述第i个虚拟机分配对应的目标存储空间。
在一种可能的实现方式中,所述视频编解码内核在执行所述第i个虚拟机对应的当前视频编解码任务的过程中,基于所述第i个虚拟机对应的目标存储空间进行数据访存。
在一种可能的实现方式中,所述第i个虚拟机寄存器组中包括中断寄存器;所述视频编解码内核,用于在执行完所述第i个虚拟机对应的当前视频编解码任务后,向所述第i个虚拟机寄存器组发送中断请求;所述第i个虚拟机寄存器组,用于基于所述中断请求,在所述第i个虚拟机寄存器组中的中断寄存器中,生成所述第i个虚拟机对应的中断信号;所述第i个虚拟机寄存器组,用于将所述第i个虚拟机对应的中断信号,发送至所述虚拟机监视器。
在一种可能的实现方式中,所述虚拟机监视器,用于在接收到所述第i个虚拟机对应的中断信号后,将所述第i个虚拟机对应的下一个视频编解码任务的配置信息,配置到所述第i个虚拟机寄存器组。
在一种可能的实现方式中,所述虚拟机监视器分别与每个所述虚拟机寄存器组存在对应的配置接口;所述虚拟机监视器,用于基于与每个所述虚拟机寄存器组对应的配置接口,分别将每个所述虚拟机对应的当前视频编解码任务的配置信息,配置到对应的每个所述虚拟机寄存器组。
在一种可能的实现方式中,所述虚拟机监视器,用于为所述n个虚拟机分配n个虚拟机标识ID,以及对每个虚拟机ID进行单独维护。
在一种可能的实现方式中,所述***还包括:配置模块,用于将所述n个虚拟机与所述n个虚拟机寄存器组进行一一对应,以及分别在每个虚拟机寄存器组中配置中断寄存器。
根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以运行上述***。
根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时运行上述***。
在本公开实施例中,虚拟化视频编解码***包括:虚拟机监视器、n个虚拟机、n个虚拟机寄存器组、一个视频编解码内核,n个虚拟机与n个虚拟机寄存器组一一对应,n是大于等于2的正整数;虚拟机监视器将第i个虚拟机对应的当前视频编解码任务的配置信息,配置到第i个虚拟机寄存器组,其中,i是大于等于1且小于等于n的正整数;视频编解码内核从第i个虚拟机寄存器组中读取配置信息,以及基于配置信息执行第i个虚拟机对应的当前视频编解码任务。利用硬件的虚拟机寄存器组,能够实现不同虚拟机之间的配置隔离,以及实现配置过程与视频编解码处理之间的解耦,从而提高了视频编解码内核的处理性能,各个虚拟机之间视频编解码任务互不影响,有效提高了数据安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出相关技术中的虚拟化视频编解码***的示意图。
图2示出相关技术中的虚拟化视频编解码的示意图。
图3示出根据本公开实施例的一种虚拟化视频编解码***的示意图。
图4示出根据本公开实施例的虚拟化视频编解码的示意图。
图5示出根据本公开实施例的一种电子设备的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
相关技术中,主要通过软件配置的方式来实现虚拟化视频技术。软件配置的方式是指通过运行在主机(HOST)内的Hypervisor,又称为虚拟机监视器(Virtual MachineMonitor,VMM),指导硬件的运行。图1示出相关技术中的虚拟化视频编解码***的示意图。如图1所示,软件配置实现虚拟化视频技术的流程如下。
第一步:虚拟机监视器查询当前***中所有虚拟机的运行情况,包括但不限于当前处理进程的虚拟机标识(Identity Document,ID)、视频编解码任务是否完成、所占用的存储空间等状态信息。如果通过来自视频编解码内核(Video Subsystem)的中断完成信号,确认上一个视频编解码任务已经完成,则再为下一个视频编解码任务分配一个虚拟机ID。如图1所示,当前***中包括m个虚拟机:虚拟机VM_1至虚拟机VM_m,其中,m是大于等于2的正整数,虚拟机VM_1对应视频编解码任务VM1,虚拟机VM_m对应视频编解码任务VMm。
第二步:为避免存储空间重叠,虚拟机监视器根据查询得到的所有其他虚拟机ID所占用的存储空间,在存储单元(Memory Subsystem)中为当前处理进程分配当前虚拟机的专属存储空间,并将当前处理进程的虚拟机ID和对应的存储空间加入虚拟机监视器的管理列表,以备后续查询使用。如图1所示,虚拟机VM_1对应存储空间VM1区域(VM1 region),虚拟机VM_m对应存储空间VMm区域(VMm region)。如图1所示,存储单元中还包括:安全区域(Secure region)和虚拟机监视器区域(hypervisor region)。
第三步:虚拟机监视器对视频编解码内核下发包括初始化、休眠、唤醒等一系列配置命令,该过程中将当前处理进程的虚拟机ID及其所需存储空间大小等信息以配置寄存器的形式通知视频编解码内核。
第四步:虚拟机监视器对视频编解码内核下发控制命令,包括但不限于获取视频编解码任务对应的视频原始数据或者编码后的码流、对数据或码流进行预解析、编解码等多种命令,用于控制和查询视频编解码内核对应的当前虚拟机的状态。
第五步:视频编解码内核根据虚拟机监视器的配置和命令进行相应的视频编解码任务操作,该过程中数据的访存均限于虚拟机监视器对当前虚拟机配置好的专属存储空间范围内。
第六步:视频编解码内核完成相应的视频编解码任务后,以提交中断信号的形式通知虚拟机监视器当前虚拟机对应的视频编解码任务完成。
第七步:虚拟机监视器在收到视频编解码内核提交的中断信号后,可再启动下一个虚拟化视频编解码任务。
软件配置的方式实现虚拟化视频编解码所需时间较长,对虚拟机监视器的复杂性要求高,且配置过程没有和视频编解码内核的视频编解码处理进行解耦,影响视频编解码内核的性能发挥。第一:为保证虚拟机进程存储空间的专属性,避免不同虚拟机进程间存储空间重叠,虚拟机监视器需做大量维护、查询和调度工作,随着支持的虚拟机进程越多,相应的工作量也会越来越大。第二:因视频编解码内核与主机之间仅一个中断信号,虚拟机监视器针对该中断信号需甄别所指向的虚拟机进程并进行维护,记录虚拟机进程完成的原因,并在适当时机进行查询,造成虚拟机监视器负担过重和对***中其他中断信号的响应变慢。第三:虚拟机监视器对视频编解码内核的配置过程只能与视频编解码内核的视频编解码处理串行进行。图2示出相关技术中的虚拟化视频编解码的示意图。如图2所示,虚拟机监视器对虚拟机VM1进行配置(虚拟机监视器VM1,Hypervisor VM1),视频编解码内核执行虚拟机VM1的当前视频编解码任务(视频编解码内核VM1,video VM1),执行完成之后,虚拟机监视器对虚拟机VM2进行配置(虚拟机监视器VM2,Hypervisor VM2),视频编解码内核执行虚拟机VM2的当前视频编解码任务(视频编解码内核VM2,video VM2),以此类推,直至虚拟机监视器VMm-1、视频编解码内核VMm-1、虚拟机监视器VMm、视频编解码内核VMm,不作赘述。这种先后依赖的串行工作模式影响了视频编解码内核的性能发挥。第四:软件配置的方式实现虚拟化视频编解码对于虚拟化不够彻底,存储空间、中断信号以及配置过程均需感知其它虚拟机的存在,从数据访存安全性上来讲存在风险。
为了解决软件配置的方式实现虚拟化视频编解码所存在的问题,本公开实施例提供了一种硬件方式实现的虚拟化视频编解码***。下面对本公开提供的虚拟化视频编解码***进行详细描述。
图3示出根据本公开实施例的一种虚拟化视频编解码***的示意图。如图3所示,虚拟化视频编解码***包括:虚拟机监视器、n个虚拟机、n个虚拟机寄存器组、一个视频编解码内核,n个虚拟机与n个虚拟机寄存器组一一对应,n是大于等于2的正整数;虚拟机监视器,用于将第i个虚拟机对应的当前视频编解码任务的配置信息,配置到第i个虚拟机寄存器组,其中,i是大于等于1且小于等于n的正整数;视频编解码内核,用于从第i个虚拟机寄存器组中读取配置信息,以及基于配置信息执行第i个虚拟机对应的当前视频编解码任务。
虚拟机的个数n可以根据***实际需要进行调节,本公开对此不作具体限定。
根据本公开实施例,利用硬件的虚拟机寄存器组,能够实现不同虚拟机之间的配置隔离,以及实现配置过程与视频编解码处理之间的解耦,从而提高了视频编解码内核的处理性能,各个虚拟机之间视频编解码任务互不影响,有效提高了数据安全性。
在一种可能的实现方式中,虚拟机监视器,用于为n个虚拟机分配n个虚拟机ID,以及对每个虚拟机ID进行单独维护。
针对***虚拟化支持的n个虚拟机的个数n,虚拟机监视器分配n个虚拟机ID,如图3所示,n个虚拟机ID:VM_1至VM_n。每个虚拟机ID用于唯一指示一个虚拟机。
虚拟机监视器对每个虚拟机ID进行单独维护,以实现对每个虚拟机进行单独维护。
在一种可能的实现方式中,虚拟化视频编解码***还包括:配置模块,用于将n个虚拟机与n个虚拟机寄存器组进行一一对应,以及分别在每个虚拟机寄存器组中配置中断寄存器。
根据***虚拟化支持的n个虚拟机的个数n,设置相应个数的n个虚拟机寄存器组(Virtual Machine Interface,VM_If),以及利用配置模块将n个虚拟机与n个虚拟机寄存器组进行一一对应,从而为后续利用n个虚拟机寄存器组实现n个虚拟机的配置隔离做好准备工作。
每个虚拟机寄存器组中配置中断寄存器,从而为后续利用n个虚拟机寄存器组实现n个虚拟机的中断隔离做好准备工作。
在一种可能的实现方式中,虚拟机监视器分别与每个虚拟机寄存器组存在对应的配置接口;虚拟机监视器,用于基于与每个虚拟机寄存器组对应的配置接口,分别将每个虚拟机对应的当前视频编解码任务的配置信息,配置到对应的每个虚拟机寄存器组。
虚拟机监视器与每个虚拟机寄存器组分别存在对应的配置接口,因此,虚拟机监视器能够基于与每个虚拟机寄存器组对应的配置接口,分别将每个虚拟机对应的当前视频编解码任务的配置信息,配置到对应的每个虚拟机寄存器组。
虚拟机监视器分配用于指示当前处理进程的虚拟机ID,在该过程中无需查询虚拟机ID指示的虚拟机以外的其他信息;进而,虚拟机监视器根据虚拟机ID,通过相应的配置接口,将虚拟机ID对应的当前视频编解码任务的配置信息,配置到相应的虚拟机寄存器组。
如图3所示,虚拟化视频编解码***中包括n个虚拟机:VM_1至VM_n。虚拟机监视器基于与虚拟机寄存器组VM1_if对应的配置接口,将虚拟机VM_1对应的当前视频编解码任务的配置信息,配置到虚拟机寄存器组VM1_if;虚拟机监视器基于与虚拟机寄存器组VM2_if对应的配置接口,将虚拟机VM_2对应的当前视频编解码任务的配置信息,配置到虚拟机寄存器组VM2_if;以此类推,如图3所示的VM1_if至VMn_if,此处不作赘述。
配置信息包括初始化、休眠、唤醒等一系列配置命令以及所需存储空间大小的信息等,本公开对配置信息的具体内容不作限定。
硬件虚拟机寄存器组的使用,使得各个虚拟机之间互不影响,实现配置隔离。相比于软件配置的方式,虚拟机监视器可以从繁复的查询调度工作中解放出来,减少软件配置消耗时间。各个虚拟机只需维护自身的配置信息,不同虚拟机之间相互无感知,从而以达到更彻底的虚拟化。
视频编解码内核与n个虚拟机寄存器组交互,可以从任意一个虚拟机寄存器组中读取配置信息,以及基于配置信息,执行相应虚拟机的当前视频编解码任务。
虚拟机监视器可以提前将尚未开始的虚拟机进程的虚拟机寄存器组配置好,以备视频编解码内核处理完上一视频编解码任务后,可以开启下一个视频编解码任务。
图4示出根据本公开实施例的虚拟化视频编解码的示意图。如图4所示,利用硬件的虚拟机寄存器组,虚拟机监视器可以对n个虚拟机(VM_1至VM_n)同步配置(虚拟机监视器VM1至虚拟机监视器VMn,Hypervisor VM1至Hypervisor VMn),配置过程与视频编解码内核的视频编解码处理过程(视频编解码内核VM1至视频编解码内核VMn,video VM1至videoVMn)解耦,而无需按照先后依赖的串行工作模式,从而解决了视频编解码过程中配置与计算能力不平衡的问题,有效提高了视频编解码硬核的处理性能。
在一种可能的实现方式中,虚拟化视频编解码***还包括:存储管理模块(MemoryManagement Unit,MMU)、存储单元;配置信息中包括执行第i个虚拟机对应的当前视频编解码任务所需的存储空间大小;视频编解码内核,用于将执行第i个虚拟机对应的当前视频编解码任务所需的存储空间大小发送至存储管理模块;存储管理模块,用于基于执行第i个虚拟机对应的当前视频编解码任务所需的存储空间大小,在存储单元中为第i个虚拟机分配对应的目标存储空间。
第i个虚拟机对应的当前视频编解码任务的配置信息中,包括执行第i个虚拟机对应的当前视频编解码任务所需的存储空间大小。视频编解码内核从第i个虚拟机寄存器组中读取到第i个虚拟机对应的当前视频编解码任务的配置信息后,将配置信息中包括的执行第i个虚拟机对应的当前视频编解码任务所需的存储空间大小发送至存储管理模块,以使得存储管理模块在存储单元中为第i个虚拟机分配对应的目标存储空间。
相比于软件配置方式中虚拟机监视器耗费时间和算力进行维护、遍历、查询其他虚拟机所占用的存储空间,来防止不同虚拟机之间出现存储空间叠加,本申请实施例基于存储管理模块,使用硬件逻辑对不同虚拟机的专属存储空间的分配,有效实现了不同虚拟机之间的存储空间隔离,有效保证了数据访存的安全性,此外,解放了虚拟机监视器的查询调度工作,降低了虚拟机监视器的复杂度要求。
如图3所示,存储单元中包括:第1个虚拟机VM_1对应的目标存储空间VM1区域(VM1region),第2个虚拟机VM_2对应的目标存储空间VM2区域(VM2 region),以此类推,直至第n个虚拟机VM_n对应的目标存储空间VMn区域(VMn region),不作赘述。如图3所示,存储单元中还包括:安全区域(Secure region)和虚拟机监视器区域(hypervisor region)。
在一种可能的实现方式中,视频编解码内核在执行第i个虚拟机对应的当前视频编解码任务的过程中,基于第i个虚拟机对应的目标存储空间进行数据访存。
视频编解码内核基于从第i个虚拟机寄存器组中读取的配置信息中的相应配置指令,执行相应的视频编解码操作,在此过程中,仅基于第i个虚拟机对应的目标存储空间进行数据访存,从而避免不同虚拟机所占用的存储空间之间出现空间重叠。
在一种可能的实现方式中,第i个虚拟机寄存器组中包括中断寄存器;视频编解码内核,用于在执行完第i个虚拟机对应的当前视频编解码任务后,向第i个虚拟机寄存器组发送中断请求;第i个虚拟机寄存器组,用于基于中断请求,在第i个虚拟机寄存器组中的中断寄存器中,生成第i个虚拟机对应的中断信号;第i个虚拟机寄存器组,用于将第i个虚拟机对应的中断信号,发送至虚拟机监视器。
视频编解码内核在执行完第i个虚拟机对应的当前视频编解码任务后,向第i个虚拟机寄存器组发送中断请求,以使得第i个虚拟机寄存器组基于中断请求,在第i个虚拟机寄存器组中的中断寄存器中生成第i个虚拟机对应的中断信号,进而第i个虚拟机寄存器组将第i个虚拟机对应的中断信号,发送至虚拟机监视器,以通知虚拟机监视器第i个虚拟机对应的当前视频编解码任务完成。
相比于软件配置中虚拟机监视器与多个虚拟机之间仅存在一个中断信号的方式,本公开实施例中基于硬件的中断寄存器,虚拟机监视器与每个虚拟机对应的虚拟机寄存器组之间均存在一个中断信号,实现了不同虚拟机之间的中断隔离,从而解放了虚拟机监视器对中断信号与不同虚拟机关系的维护和甄别查询工作,节约了算力和软件处理时间。
在一种可能的实现方式中,虚拟机监视器,用于在接收到第i个虚拟机对应的中断信号后,将第i个虚拟机对应的下一个视频编解码任务的配置信息,配置到第i个虚拟机寄存器组。
虚拟机监视器在接收到第i个虚拟机对应的中断信号后,可以确定第i个虚拟机对应的当前视频编解码任务完成,此时,虚拟机监视器可以将第i个虚拟机对应的下一个视频编解码任务的配置信息配置到第i个虚拟机寄存器组,即启动下一轮配置操作。
在本公开实施例中,虚拟化视频编解码***包括:虚拟机监视器、n个虚拟机、n个虚拟机寄存器组、一个视频编解码内核,n个虚拟机与n个虚拟机寄存器组一一对应,n是大于等于2的正整数;虚拟机监视器将第i个虚拟机对应的当前视频编解码任务的配置信息,配置到第i个虚拟机寄存器组,其中,i是大于等于1且小于等于n的正整数;视频编解码内核从第i个虚拟机寄存器组中读取配置信息,以及基于配置信息执行第i个虚拟机对应的当前视频编解码任务。利用硬件的虚拟机寄存器组,能够实现不同虚拟机之间的配置隔离,以及实现配置过程与视频编解码处理之间的解耦,从而提高了视频编解码内核的处理性能,各个虚拟机之间视频编解码任务互不影响,有效提高了数据安全性。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本公开还提供了电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种虚拟化视频编解码***,相应技术方案和描述和参见***部分的相应记载,不再赘述。
该方法与计算机***的内部结构存在特定技术关联,且能够解决如何提升硬件运算效率或执行效果的技术问题(包括减少数据存储量、减少数据传输量、提高硬件处理速度等),从而获得符合自然规律的计算机***内部性能改进的技术效果。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时运行上述***。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以运行上述***。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器运行上述***。
电子设备可以被提供为终端、服务器或其它形态的设备。
图5示出根据本公开实施例的一种电子设备的框图。参照图5,电子设备1900可以被提供为一服务器或终端设备。参照图5,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出接口1958。电子设备1900可以操作基于存储在存储器1932的操作***,例如微软服务器操作***(Windows ServerTM),苹果公司推出的基于图形用户界面操作***(Mac OS XTM),多用户多进程的计算机操作***(UnixTM), 自由和开放原代码的类Unix操作***(LinuxTM),开放原代码的类Unix操作***(FreeBSDTM)或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
若本申请技术方案涉及个人信息,应用本申请技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本申请技术方案涉及敏感个人信息,应用本申请技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理的个人信息种类等信息。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (10)

1.一种虚拟化视频编解码***,其特征在于,包括:虚拟机监视器、n个虚拟机、n个虚拟机寄存器组、一个视频编解码内核,所述n个虚拟机与所述n个虚拟机寄存器组一一对应,n是大于等于2的正整数;
所述虚拟机监视器,用于将第i个虚拟机对应的当前视频编解码任务的配置信息,配置到第i个虚拟机寄存器组,其中,i是大于等于1且小于等于n的正整数;
所述视频编解码内核,用于从所述第i个虚拟机寄存器组中读取所述配置信息,以及基于所述配置信息执行所述第i个虚拟机对应的当前视频编解码任务。
2.根据权利要求1所述的***,其特征在于,所述***还包括:存储管理模块、存储单元;所述配置信息中包括执行所述第i个虚拟机对应的当前视频编解码任务所需的存储空间大小;
所述视频编解码内核,用于将执行所述第i个虚拟机对应的当前视频编解码任务所需的存储空间大小发送至所述存储管理模块;
所述存储管理模块,用于基于执行所述第i个虚拟机对应的当前视频编解码任务所需的存储空间大小,在所述存储单元中为所述第i个虚拟机分配对应的目标存储空间。
3.根据权利要求2所述的***,其特征在于,所述视频编解码内核在执行所述第i个虚拟机对应的当前视频编解码任务的过程中,基于所述第i个虚拟机对应的目标存储空间进行数据访存。
4.根据权利要求1至3中任意一项所述的***,其特征在于,所述第i个虚拟机寄存器组中包括中断寄存器;
所述视频编解码内核,用于在执行完所述第i个虚拟机对应的当前视频编解码任务后,向所述第i个虚拟机寄存器组发送中断请求;
所述第i个虚拟机寄存器组,用于基于所述中断请求,在所述第i个虚拟机寄存器组中的中断寄存器中,生成所述第i个虚拟机对应的中断信号;
所述第i个虚拟机寄存器组,用于将所述第i个虚拟机对应的中断信号,发送至所述虚拟机监视器。
5.根据权利要求4所述的***,其特征在于,所述虚拟机监视器,用于在接收到所述第i个虚拟机对应的中断信号后,将所述第i个虚拟机对应的下一个视频编解码任务的配置信息,配置到所述第i个虚拟机寄存器组。
6.根据权利要求1所述的***,其特征在于,所述虚拟机监视器分别与每个所述虚拟机寄存器组存在对应的配置接口;
所述虚拟机监视器,用于基于与每个所述虚拟机寄存器组对应的配置接口,分别将每个所述虚拟机对应的当前视频编解码任务的配置信息,配置到对应的每个所述虚拟机寄存器组。
7.根据权利要求1所述的***,其特征在于,所述虚拟机监视器,用于为所述n个虚拟机分配n个虚拟机ID,以及对每个虚拟机ID进行单独维护。
8.根据权利要求1所述的***,其特征在于,所述***还包括:
配置模块,用于将所述n个虚拟机与所述n个虚拟机寄存器组进行一一对应,以及分别在每个虚拟机寄存器组中配置中断寄存器。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以运行权利要求1至8中任意一项所述的***。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时运行权利要求1至8中任意一项所述的***。
CN202310242206.4A 2023-03-14 2023-03-14 一种虚拟化视频编解码***、电子设备和存储介质 Active CN115988218B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310242206.4A CN115988218B (zh) 2023-03-14 2023-03-14 一种虚拟化视频编解码***、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310242206.4A CN115988218B (zh) 2023-03-14 2023-03-14 一种虚拟化视频编解码***、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN115988218A true CN115988218A (zh) 2023-04-18
CN115988218B CN115988218B (zh) 2023-06-09

Family

ID=85972467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310242206.4A Active CN115988218B (zh) 2023-03-14 2023-03-14 一种虚拟化视频编解码***、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN115988218B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116320469A (zh) * 2023-05-16 2023-06-23 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码***及方法、电子设备和存储介质
CN116582438A (zh) * 2023-05-16 2023-08-11 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码***及方法、电子设备和存储介质
CN117176964A (zh) * 2023-11-02 2023-12-05 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码***及方法、电子设备和存储介质
CN117176963A (zh) * 2023-11-02 2023-12-05 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码***及方法、电子设备和存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026389A1 (en) * 2004-07-31 2006-02-02 Dinechin Christophe D Method for providing scratch registers for use by a virtual-machine monitor
CN101681269A (zh) * 2007-05-16 2010-03-24 威睿公司 多虚拟化技术的自适应动态选择与应用
CN103034524A (zh) * 2011-10-10 2013-04-10 辉达公司 半虚拟化的虚拟gpu
CN104137056A (zh) * 2011-10-28 2014-11-05 英特尔公司 在没有vmm介入的情况下对调用vmm配置的服务的指令集支持
CN105830026A (zh) * 2013-11-27 2016-08-03 英特尔公司 用于调度来自虚拟机的图形处理单元工作负荷的装置和方法
CN106445628A (zh) * 2015-08-11 2017-02-22 华为技术有限公司 一种虚拟化方法、装置和***
CN106775919A (zh) * 2015-11-24 2017-05-31 龙芯中科技术有限公司 状态信息控制方法及装置
CN112667354A (zh) * 2020-12-30 2021-04-16 上海壁仞智能科技有限公司 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法
CN113296876A (zh) * 2020-06-30 2021-08-24 阿里巴巴集团控股有限公司 虚拟机的设备直通方法、设备及存储介质
CN113326226A (zh) * 2020-02-28 2021-08-31 安徽寒武纪信息科技有限公司 一种虚拟化的方法、装置、板卡及计算机可读存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026389A1 (en) * 2004-07-31 2006-02-02 Dinechin Christophe D Method for providing scratch registers for use by a virtual-machine monitor
CN101681269A (zh) * 2007-05-16 2010-03-24 威睿公司 多虚拟化技术的自适应动态选择与应用
CN103034524A (zh) * 2011-10-10 2013-04-10 辉达公司 半虚拟化的虚拟gpu
CN104137056A (zh) * 2011-10-28 2014-11-05 英特尔公司 在没有vmm介入的情况下对调用vmm配置的服务的指令集支持
CN105830026A (zh) * 2013-11-27 2016-08-03 英特尔公司 用于调度来自虚拟机的图形处理单元工作负荷的装置和方法
CN106445628A (zh) * 2015-08-11 2017-02-22 华为技术有限公司 一种虚拟化方法、装置和***
CN106775919A (zh) * 2015-11-24 2017-05-31 龙芯中科技术有限公司 状态信息控制方法及装置
CN113326226A (zh) * 2020-02-28 2021-08-31 安徽寒武纪信息科技有限公司 一种虚拟化的方法、装置、板卡及计算机可读存储介质
CN113296876A (zh) * 2020-06-30 2021-08-24 阿里巴巴集团控股有限公司 虚拟机的设备直通方法、设备及存储介质
CN112667354A (zh) * 2020-12-30 2021-04-16 上海壁仞智能科技有限公司 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116320469A (zh) * 2023-05-16 2023-06-23 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码***及方法、电子设备和存储介质
CN116582438A (zh) * 2023-05-16 2023-08-11 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码***及方法、电子设备和存储介质
CN116582438B (zh) * 2023-05-16 2023-10-27 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码***及方法、电子设备和存储介质
CN116320469B (zh) * 2023-05-16 2024-03-01 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码***及方法、电子设备和存储介质
CN117176964A (zh) * 2023-11-02 2023-12-05 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码***及方法、电子设备和存储介质
CN117176963A (zh) * 2023-11-02 2023-12-05 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码***及方法、电子设备和存储介质
CN117176963B (zh) * 2023-11-02 2024-01-23 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码***及方法、电子设备和存储介质
CN117176964B (zh) * 2023-11-02 2024-01-30 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码***及方法、电子设备和存储介质

Also Published As

Publication number Publication date
CN115988218B (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
RU2664413C2 (ru) Конфигурация архитектурного режима в вычислительной системе
CN115988218A (zh) 一种虚拟化视频编解码***、电子设备和存储介质
RU2665238C2 (ru) Общая последовательность загрузки для управляющей сервисной программы, способной к инициализации во множественных архитектурах
US7971203B2 (en) Method, apparatus and system for dynamically reassigning a physical device from one virtual machine to another
US9135079B2 (en) Dynamically assigning a portion of physical computing resource to logical partitions based on characteristics of executing logical partitions
US9697024B2 (en) Interrupt management method, and computer implementing the interrupt management method
RU2562372C2 (ru) Активация/деактивация адаптеров вычислительной среды
US10656961B2 (en) Method and apparatus for operating a plurality of operating systems in an industry internet operating system
US20190243757A1 (en) Systems and methods for input/output computing resource control
CN115988217A (zh) 一种虚拟化视频编解码***、电子设备和存储介质
CN111183411B (zh) 用于虚拟机的动态地址转换
CN116320469B (zh) 一种虚拟化视频编解码***及方法、电子设备和存储介质
CN116582438B (zh) 一种虚拟化视频编解码***及方法、电子设备和存储介质
US20190391835A1 (en) Systems and methods for migration of computing resources based on input/output device proximity
CN111209080A (zh) 一种图形处理器透传的方法
CN114691300A (zh) 一种虚拟机实例的热迁移方法
CN115309511A (zh) 基于Xen的数据交互方法、装置、存储介质以及电子设备
CN111367472A (zh) 虚拟化方法和装置
JP7413371B2 (ja) 部分的に完了された命令の移行
US11080079B2 (en) Autonomously reproducing and destructing virtual machines
CN113703913B (zh) 设备测试方法及装置
US20220358049A1 (en) Memory access handling for peripheral component interconnect devices
WO2023012595A1 (en) Accessing topological mapping of cores
CN107636624B (zh) 没有使用的特殊指令的垃圾收集
US10606681B2 (en) Incremental dump with fast reboot

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