CN112543165A - 一种解码方法、装置、设备和介质 - Google Patents
一种解码方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN112543165A CN112543165A CN201910891730.8A CN201910891730A CN112543165A CN 112543165 A CN112543165 A CN 112543165A CN 201910891730 A CN201910891730 A CN 201910891730A CN 112543165 A CN112543165 A CN 112543165A
- Authority
- CN
- China
- Prior art keywords
- decoding
- decoded
- code stream
- slave
- equipment
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例公开了一种解码方法、装置、设备和介质。该方法由分布式解码系统中的主控设备执行,所述分布式解码系统还包括从解码设备,该方法包括:依据待解码码流信息以及待解码码流的视频采集设备标识,确定是否需要分发待解码码流;若需要分发,则根据待解码码流需要的目标解码能力和从解码设备的可用解码能力,确定待解码码流的目标解码设备;向所述目标解码设备发送所述待解码码流,用于指示所述目标解码设备建立所述待解码码流的解码任务,并执行所述解码任务。本申请的技术方案,建立了一种动态的的待解码码流的分发方法,提高了解码设备解码能力的利用率。
Description
技术领域
本发明实施例涉及视频解码技术领域,尤其涉及一种解码方法、装置、设备和介质。
背景技术
在视频监控终端,需要通过解码设备,将一系列相机采集的视频信号进行解码输出到大屏上显示。
现有技术中,在进行视频解码时,主控负责分配告知管理平台每一路视频流发往指定的解码模块解码,解码设备上的收流模块直接接收来自相机的视频流,通过解码模块对接收到的视频流进行解码,送到指定的送显模块进行送显。
然而,现有技术中的各收流模块相互独立直接从相机处收流,没法形成良好的反馈机制,无法更换解码模块,每路视频流始终在一个模块进行解码,无法合理分配每一路解码资源,且每路码流单独解码,可能存在相同的视频流解码多次,会造成解码设备解码能力的浪费。
发明内容
本发明实施例提供了一种解码方法、装置、设备和介质,建立了一种动态管理解码任务的方法,提高了解码设备解码能力的利用率。
第一方面,本发明实施例提供了一种解码方法,由分布式解码系统中的主控设备执行,所述分布式解码系统还包括从解码设备,该方法包括:
依据待解码码流信息以及待解码码流的视频采集设备标识,确定是否需要分发待解码码流;
若需要分发,则根据待解码码流需要的目标解码能力和从解码设备的可用解码能力,确定待解码码流的目标解码设备;
向所述目标解码设备发送所述待解码码流,用于指示所述目标解码设备建立所述待解码码流的解码任务,并执行所述解码任务。
第二方面,本发明实施例提供了一种解码装置,该装置包括:
分发判断模块,用于依据待解码码流信息以及待解码码流的视频采集设备标识,确定是否需要分发待解码码流;
目标解码设备确定模块,用于若需要分发,则根据待解码码流需要的目标解码能力和从解码设备的可用解码能力,确定待解码码流的目标解码设备;
待解码码流发送模块,用于向所述目标解码设备发送所述待解码码流,用于指示所述目标解码设备建立所述待解码码流的解码任务,并执行所述解码任务。
第三方面,本发明实施例还提供了一种设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例中任意所述的解码方法。
第四方面,本发明实施例还提供了一种介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例中任意所述的解码方法。
本发明实施例提供的一种解码方法、装置、设备和介质,通过依据待解码码流信息以及待解码码流的视频采集设备标识,确定是否需要分发待解码码流,若需要分发,则根据待解码码流需要的目标解码能力和解码设备的可用解码能力,确定待解码码流的目标解码设备,并向目标解码设备发送待解码码流,指示目标解码设备建立待解码码流的解码任务,并执行该解码任务。本发明实施例的技术方案,通过根据待解码码流需要的目标解码能力和从解码设备的可用解码能力,来确定待解码码流的目标解码设备,建立了一种动态管理解码任务的方法,提高了解码设备解码能力的利用率。
附图说明
图1为本发明实施例提供的一种解码方法的流程图;
图2为本发明实施例提供的一种分布式解码设备的示意图;
图3为本发明实施例提供的一种待解码码流分发的流程图;
图4为本发明实施例提供的另一解码方法的流程图;
图5为本发明实施例提供的一种解码装置的结构框图;
图6为本发明实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
图1为本发明实施例提供的一种解码方法的流程图,本实施例可适用对待解码码流进行解码的情况。典型的,该方法可应用于视频监控终端中一系列相机所采集的视频信号的解码,由分布式解码系统中的主控设备执行,所述分布式解码系统还包括从解码设备,图2为分布式解码系统的示意图。该方法可以由本发明实施例提供的解码装置来执行,该装置可采用硬件和/或软件的方式实现。参见图1,该方法具体可以包括:
步骤110、依据待解码码流信息以及待解码码流的视频采集设备标识,确定是否需要分发待解码码流。
其中,分布式解码系统包括一个主控设备和多个从解码设备,每个从解码设备的解码能力相同,所有从解码设备的业务都由主控设备分发配置,主控设和从解码设备之间可以通过网络通信、高速串行计算机扩展总线标准(peripheral component interconnectexpress,PCIE)等方式进行通信。
示例性的,进一步参照图2,假设分布式解码系统包含n+1个CPU单元,选择其中一个作为主CPU,其中,主CPU可以包含解码模块,也可以不包含解码模块。若主CPU不包含解码模块,该主CPU只负责管理其他n个从CPU的解码资源分配;若主CPU包含解码模块,则该主CPU既作为主CPU去管理解码资源的分配,又作为从CPU去参与解码。本发明实施例均以主CPU不具备解码模块为例,该主CPU用于管理其他n个从CPU之间的资源分配,其中,第n个从CPU作为备用CPU。主CPU的收流模块同时接收各个相机发往该解码器的视频码流,每个从CPU包含一个收流模块和一个解码模块,其中,从CPU可由其他支持解码及收流的芯片代替。
本实施例中,待解码码流为视频采集设备采集的视频信号,一个视频采集设备至少发送一路的待解码码流至解码设备,视频采集设备标识可以为视频采集设备的编码信息和视频编码信息等。
在利用分布式解码系统对视频采集设备采集的视频信号进行解码时,视频采集设备与分布式解码系统均接入管理平台,由管理平台与主控设备之间进行协商建流,在协商过程中会上报所建码流的信息,包括视频采集设备的设备编码以及视频编码格式等,同时主控设备会记录该路视频流需要到解码器的哪个输出口显示,主控设备根据视频采集设备的设备编码以及预解得到的待解码码流的分辨率信息,判断该相机是否已经在分布式解码系统上建立解码任务,从而确定是否需要分发待解码码流。
在步骤110之前,该解码方法还包括:判断待解码码流所需的目标解码能力是否大于单个从解码设备的解码能力,若大于,则拒绝该待解码码流的解码请求。
步骤120、若需要分发,则根据待解码码流需要的目标解码能力和从解码设备的可用解码能力,确定待解码码流的目标解码设备。
本实施例中,主控设备接收到视频采集设备发送过来的码流后,进行预解和转码,得到视频码流的分辨率、帧率以及编码格式,通过对该视频采集设备的设备编码以及视频分辨率、视频编码格式判断该视频采集设备的码流是否在分布式解码系统中建立解码任务,若未建立则将转码后的视频流转发到目标解码设备上,若已建立解码任务,则直接将转码后的基本码流(elementary stream,ES)流丢弃。可以通过码流的分辨率以及帧率计算该路待解码码流需要的目标解码能力。
进一步的,从解码设备的可用解码能力为从解码设备上的当前剩余可用解码能力。
具体参照图3,以分布式解码系统中的各解码设备为CPU为例,当待解码码流在主CPU进行预解、转码完成之后,首先判断第1~n-1个从CPU的解码模块是否有解码任务,若没有,则按照从CPU的顺序选择其中一个从CPU作为目标解码设备,并将待解码码流分配到目标解码设备,在目标解码设备的解码模块建立新的解码任务;若第1~n-1个从CPU的解码模块上均已建立解码任务,则当新的待解码码流发送到主控设备后,判断第1~n-1个从CPU中是否存在可用解码能力大于或等于待解码码流所需的解码能力的从CPU,若存在,则将可用解码能力最大的从CPU作为待解码码流的目标解码设备。需要说明的是,还可以选取其他的可用解码能力大于或等于待解码码流所需的解码能力的从CPU作为目标解码设备。进一步的,若第1~n-1个从CPU的可用解码能力均小于待解码码流所需的解码能力,则进一步判断第1~n-1个从CPU的总可用解码能力是否大于或等于待解码码流所需的解码能力,若是,则将可用解码能力最大的从CPU上的解码任务转移至其他至少一个从CPU上,将可用解码能力最大的从CPU作为目标解码设备,若其他从CPU的剩余解码能力不能够满足最大解码设备上解码任务的转移需求,则将第n个备用解码设备作为待解码码流的目标解码设备;若第1~n-1个从CPU的总可用解码能力小于待解码码流所需的解码能力,则将第n个备用解码设备作为待解码码流的目标解码设备。
步骤130、向所述目标解码设备发送所述待解码码流,用于指示所述目标解码设备建立所述待解码码流的解码任务,并执行所述解码任务。
本实施例中,在目标解码设备确定之后,主控设备将转码后的待解码码流发送至目标解码设备,目标解码设备的收流模块接收该待解码码流并建立相应的解码任务,通过目标解码设备上的解码模块执行建立的解码任务。
本实施例的技术方案,通过依据待解码码流信息以及待解码码流的视频采集设备标识,确定是否需要分发待解码码流,若需要分发,则根据待解码码流需要的目标解码能力和解码设备的可用解码能力,确定待解码码流的目标解码设备,并向所述目标解码设备发送待解码码流,指示目标解码设备建立待解码码流的解码任务,并执行该解码任务。本发明实施例的技术方案,通过根据待解码码流需要的目标解码能力和从解码设备的可用解码能力,来确定待解码码流的目标解码设备,建立了一种动态的的待解码码流的分发方法,提高了解码设备解码能力的利用率。
图4为本发明实施例提供的另一解码方法的流程图,本实施例在上述实施例的基础上,对步骤120进行进一步细化。参见图4,该方法具体可以包括:
步骤210、依据待解码码流信息以及待解码码流的视频采集设备标识,确定是否需要分发待解码码流。
具体的,依据待解码码流信息,以及发送待解码码流的视频采集设备标识,确定是否需要分发待解码码流,包括:
依据待解码码流信息,以及发送待解码码流的视频采集设备标识,判断待解码码流是否已经建立解码任务;
若待解码码流已经建立解码任务,则不需要分发待解码码流。
主控设备将已经建立解码任务的待解码码流丢弃,将已有解码任务的码流解完码后送往指定的送显模块进行送显,从而避免同一路相机同一类型的码流重复解码,避免了解码资源的浪费,提高了解码资源的利用率。
步骤220、若需要分发,则将可用解码能力大于且等于待解码码流需要的解码能力的从解码设备作为候选解码设备。
本实施例中,解码能力大于且等于待解码码流需要的解码能力的解码设备可以包括未建立解码任务的从解码设备,以及已经建立解码设备的从解码设备。
步骤230、从候选解码设备中选择目标解码设备。
本实施例中,若候选解码设备为未建立解码任务的从解码设备,则依据从解码设备的顺序选择目标解码设备;若候选解码设备已经建立解码设备的从解码设备,可以从候选解码设备中选取可用解码能力最大的解码设备作为目标解码设备;也可以根据待解码码流需要解码能力的大小,选取其他的候选解码设备作为目标解码设备,示例性的,若当前待解码码流所需的解码能力比较小,可以选取可用解码能力与当前待解码码流所需的解码能力接近的候选解码设备作为目标解码设备,这样能够为后面需要解码能力较大的待解码码流预留候选解码设备,从而实现各从解码设备的负载均衡,提高各从解码设备解码能力利用率。
具体的,以图2中的分布式解码系统为例,该分布式解码系统包括一个主CPU,n个从CPU。其中,n个从CPU中选择其中n-1个从CPU的解码模块作为高解码优先级进行解码任务分配,预留一个从CPU的解码模块,作为备用,记该CPU为第n个从CPU。每个解码模块的解码能力相等,记做T。
示例性的,从候选解码设备中选择目标解码设备的选取方法如下:
首先,针对前n-1路待解码码流,依照负载均衡原则,前n-1路待解码码流按照从CPU顺序依次分配目标解码设备。
主CPU将收到的待解码码流进行预解得到该路待解码码流的帧率f及分辨率r。第1路待解码码流发到主CPU后,经主CPU收流转码后预解得到该路码流的帧率为f1 1,分辨率为r1 1,随后主CPU将转码后的待解码码流发往第1个从CPU,第一个从CPU的收流模块负责接收该路码流,此时第1个从CPU对应的解码模块解码该路码流所需要的解码能力为f1 1*r1 1,则该CPU解码模块的可用解码能力为主CPU预解得到第2路待解码码流的帧率和分辨率分别为和将转码后的码流发往第2个从CPU,则第2个从CPU对应的解码模块的可用解码能力为依此类推,第n-1路码流主CPU转码后发往第n-1个CPU,第n-1个从CPU对应的解码模块可用解码能力为
进一步的,当各从CPU上均已经建立解码任务时,对于第n路待解码码流,将可用解码能力大于或等于待解码码流需要的解码能力的从解码设备作为候选解码设备,从候选解码设备中选择目标解码设备。
作为另一种可选的实施方式,第n路待解码码流还可以其他的候选解码设备作为目标解码设备,从而为后面需要解码能力较大的待解码码流预留解码能力最大的候选解码设备,以充分利用解码设备的解码能力。
步骤240、若所有从解码设备的可用解码能力均小于待解码码流需要的解码能力,则确定所有从解码设备的总可用解码能力是否大于待解码码流需要的解码能力。
进一步的,若所有从解码设备的可用解码能力均小于待解码码流需要的解码能力,此时单个从解码设备无法满足待解码码流的需求,因此,需要进一步确定所有从解码设备的总可用解码能力是否大于待解码码流的解码能力。
步骤250、根据确定结果,确定待解码码流的目标解码设备。
具体的,根据确定结果,确定待解码码流的目标解码设备,包括:
若所有从解码设备的总可用解码能力大于所述目标解码能力,则将最大从解码设备上解码任务转移到至少一个其他从解码设备上,且将最大从解码设备作为所述目标解码设备;其中,所述最大从解码设备为可用解码能力最大的从解码设备;
若所有从解码设备的总可用解码能力小于待解码码流需要的解码能力,则将分布式解码系统中的备用解码设备作为待解码码流的目标解码设备。
进一步的,将最大从解码设备上解码任务转移到至少一个其他从解码设备上,包括:
若最大从解码设备上解码任务需要的解码能力小于或等于次大从解码设备上的可用解码能力,则将所述最大从解码设备上解码任务转移到次大候选从解码设备上;其中,次大从解码设备为解码能力次大的从解码设备;
若最大从解码设备上解码任务需要的解码能力大于候选从解码设备上的可用解码能力,则将次大从解码设备上解码任务转移到其他能够满足次大解码设备上解码任务所需解码能力的从解码设备上,且将最大从解码设备上解码任务转移到次大从解码设备上;其中,其他从解码设备为除了最大从解码设备以及次大从解码设备之外的从解码设备。
示例性的,对于第n路待解码码流,若则计算可用解码能力最大的第p个从CPU上的解码任务能否转移到其他解码模块,若可以转移,将可用解码能力最大的第p个从CPU的解码模块上的解码任务转移到其他从CPU上进行解码。若其他的从CPU的可用解码能力不能满足可用解码能力最大的第p个从CPU上解码任务所需的解码能力,则将第n路待解码码流分配至备用解码设备上。示例性的,可用解码能力最大的第p个从CPU的解码模块上被转移的解码任务分配原则为,在除去当前解码模块所属的从CPU后,在已分配解码任务的n-2个从CPU中选择其中可用解码能力最大的第q个从CPU去分配。主CPU在分配第n路任务前,停止对第p个从CPU发送第p路解码任务的码流,释放该路码流在第p个CPU上做占用的解码能力,后续直接将该路码流转码后发送到第q个从CPU去解码,则第q个CPU的可用解码能力变为其中转移完成之后,再将第n路待解码码流转完码之后发送给第p个CPU的收流模块,则第p个从CPU的可用解码能力为
上述方法通过预留一个从CPU作为备用CPU,当前面n-1个CPU通过动态调整无法满足某些相机的解码时启用该CPU,可以有效避免大分辨率情况下相机申请解码模块失败的概率,从而在有限解码能力内提高了相机解码模块成功的概率。
进一步的,针对第n路以及第n路之后的待解码码流,当最大从解码设备转移一路解码任务不能满足待解码码流需要的解码能力时,则将最大从解码设备上解码任务转移到至少一个其他从解码设备上。具体的,依据待解码码流所需的解码能力以及最大从解码设备的解码任务,选择最接近待解码码流所需的解码能力的解码任务,按照解码能力从大到小以及负载均衡的原则,依次将最大从解码设备的解码任务转移至其他的从CPU上,然后再将待解码码流分发到最大从解码设备上。
示例性的,对于第n+m路待解码码流,若要满足第n+m路待解码码流所需的解码能力,需要将可用解码能力最大的从CPU上的第Decs,Dect,…,Decw路任务转移到其他从CPU上,但将当前可用解码能力最大的从CPU的解码模块上的解码任务Decs,Dect,…,Decw分配到其他从CPU时,存在其他从CPU的可用解码能力没法满足Decs,Dect,…,Decw任意一路解码任务的解码需求,或者只能满足部分解码任务的解码能力需求两种情况,此时需要做2次转换。
具体的,针对第一种情况,若其他从CPU的可用解码能力没法满足Decs,Dect,…,Decw任意一路解码任务的解码需求,则可以按如下方式转换:
首先将可用解码能力次大的从CPU上的解码任务转移到其他n-3个CPU上。在上述解码任务转移之前,将各从CPU可用解码能力按照从大到小依次排序,记为C1,C2,…,Cn-1,其中,C1所属从CPU为可用解码能力最大的从CPU,C2所属从CPU为可用解码能力次大的从CPU,将C1和C2所属从CPU上的各解码任务,按所占用的解码能力大小依次排序。将C2所属从CPU上各解码任务所需要的解码能力与其他从CPU的可用解码能力进行对比,将小于等于其他从CPU可用解码能力的解码任务按照从大到小的解码能力,转移至其他的从CPU上。
判断解码任务转移后C2所属从CPU上的可用解码能力能否满足C1所属从CPU上的解码任务所需的解码能力,若满足则将C1所属从CPU上的解码任务转移至C2所属从CPU上,将待解码码流发送至C1所属从CPU上进行解码。具体的,将C1上的解码任务Decs,Dect,…,Decw转移到C2所属从CPU上。最后将第n+m路待解码码流转码后,发往C1所属从CPU的收流模块,由C1所属从CPU的解码模块进行解码;若以上均满足,则依次进行转移。若其中一步不满足第n+m路待解码码流的解码能力需求,则将该路待解码码流分配到第n个从CPU上进行解码。
针对第二种情况,若其他从CPU的可用解码能力能够满足Decs,Dect,…,Decw部分解码任务所需的解码能力,则按如下方式转换:
首先将满足转移需求的解码任务直接转移到可用解码能力与该解码任务最接近的从CPU上进行解码。
接着,根据计算可得到可用解码能力最大的两个CPU,即C1和C2所属的从CPU。将C1所属从CPU上需要转移的解码任务Decs,Dect,…,Decw与其他n-3个从CPU(除去可用解码能力最大和次大,以及第n个备用CPU之外的从CPU)的可用解码能力进行对比,得到能够满足转移要求的解码任务。计算将满足转移要求的解码任务依次分配到可用解码能力与该解码任务所需的解码能力最接近从CPU上之后,剩余未转移的解码任务所需的解码能力再计算C2所属的从CPU上需要转移的哪些解码任务才能满足的转移。假设C2所属的从CPU上需要转移个解码任务到其他的n-3个从CPU上,计算其他n-3个从CPU中能否满足任务需要转移的任务要求。若以上均满足,则依次进行转移。若其中一步不满足第n+m路待解码码流的解码能力需求,则将该路待解码码流分配到第n个从CPU上进行解码。若备用解码设备的解码能力也无法满足待解码码流需要的解码设备,则主控设备向管理平台反馈解码能力不足建流失败的消息。
步骤260、向所述目标解码设备发送所述待解码码流,用于指示所述目标解码设备建立所述待解码码流的解码任务,并执行所述解码任务。
本实施例的技术方案,通过依据待解码码流所需的解码能力,以及各从解码设备上的可用解码能力,通过动态实时的调整视频采集设备发送过来的待解码码流的解码模块,以充分的利用各待解码设备的解码能力,提高了各个解码模块的解码能力利用率。
图5为本发明实施例提供的一种解码装置的结构框图。如图5所示,该装置可以包括:
分发判断模块310,用于依据待解码码流信息以及待解码码流的视频采集设备标识,确定是否需要分发待解码码流;
目标解码设备确定模块320,用于若需要分发,则根据待解码码流需要的目标解码能力和从解码设备的可用解码能力,确定待解码码流的目标解码设备;
待解码码流发送模块330,用于向所述目标解码设备发送所述待解码码流,用于指示所述目标解码设备建立所述待解码码流的解码任务,并执行所述解码任务。
本实施例的技术方案,通过依据待解码码流信息以及待解码码流的视频采集设备标识,确定是否需要分发待解码码流,若需要分发,则根据待解码码流需要的目标解码能力和解码设备的可用解码能力,确定待解码码流的目标解码设备,并向所述目标解码设备发送待解码码流,指示目标解码设备建立待解码码流的解码任务,并执行该解码任务。本发明实施例的技术方案,通过根据待解码码流需要的目标解码能力和从解码设备的可用解码能力,来确定待解码码流的目标解码设备,建立了一种动态的待解码码流的分发方法,提高了解码设备解码能力的利用率。
在上述实施例的基础上,目标解码设备确定模块320具体用于:将可用解码能力大于且等于待解码码流需要的解码能力的从解码设备作为候选解码设备;
从候选解码设备中选择目标解码设备。
在上述实施例的基础上,目标解码设备确定模块320还具体用于:
若所有从解码设备的可用解码能力均小于待解码码流需要的解码能力,则确定所有从解码设备的总可用解码能力是否大于待解码码流需要的解码能力;
根据确定结果,确定待解码码流的目标解码设备。
在上述实施例的基础上,目标解码设备确定模块320还具体用于:若所有从解码设备的总可用解码能力大于所述目标解码能力,则将最大从解码设备上解码任务转移到至少一个其他从解码设备上,且将最大从解码设备作为所述目标解码设备;其中,所述最大从解码设备为可用解码能力最大的从解码设备;
若所有从解码设备的总可用解码能力小于待解码码流需要的解码能力,则将分布式解码系统中的备用解码设备作为待解码码流的目标解码设备。
在上述实施例的基础上,目标解码设备确定模块320还具体用于:若最大从解码设备上解码任务需要的解码能力小于或等于次大从解码设备上的可用解码能力,则将所述最大从解码设备上解码任务转移到次大候选从解码设备上;其中,次大从解码设备为可用解码能力次大的从解码设备;
若最大从解码设备上解码任务需要的解码能力大于候选从解码设备上的可用解码能力,则将次大从解码设备上解码任务转移到其他从解码设备上,且将最大从解码设备上解码任务转移到次大从解码设备上;其中,其他从解码设备为除了最大从解码设备以及次大从解码设备之外的从解码设备。
在上述实施例的基础上,分发判断模块310具体用于:依据待解码码流信息,以及发送待解码码流的视频采集设备标识,判断待解码码流在是否已经建立解码任务;
若待解码码流已经建立解码任务,则不需要分发待解码码流。
本发明实施例提供的一种解码装置可执行本发明任意实施例所提供的解码方法,具备执行方法相应的功能模块和有益效果。
图6为本发明实施例提供的一种设备的结构示意图,图6示出了适于用来实现本发明实施例实施方式的示例性服务器的框图。图6显示的设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,设备12以通用计算设备的形式表现。设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明实施例各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明实施例所描述的实施例中的功能和/或方法。
设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该设备12交互的设备通信,和/或与使得该设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图6所示,网络适配器20通过总线18与设备12的其它模块通信。应当明白,尽管图中未示出,可以结合设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的解码方法。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序(或称为计算机可执行指令),该程序被处理器执行时用于执行一种解码方法,由分布式解码系统中的主控设备执行,所述分布式解码系统还包括从解码设备,该方法包括:
依据待解码码流信息以及待解码码流的视频采集设备标识,确定是否需要分发待解码码流;
若需要分发,则根据待解码码流需要的目标解码能力和从解码设备的可用解码能力,确定待解码码流的目标解码设备;
向所述目标解码设备发送所述待解码码流,用于指示所述目标解码设备建立所述待解码码流的解码任务,并执行所述解码任务。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种解码方法,其特征在于,由分布式解码系统中的主控设备执行,所述分布式解码系统还包括从解码设备,所述方法包括:
依据待解码码流信息以及待解码码流的视频采集设备标识,确定是否需要分发待解码码流;
若需要分发,则根据待解码码流需要的目标解码能力和从解码设备的可用解码能力,确定待解码码流的目标解码设备;
向所述目标解码设备发送所述待解码码流,用于指示所述目标解码设备建立所述待解码码流的解码任务,并执行所述解码任务。
2.根据权利要求1所述的方法,其特征在于,根据待解码码流需要的目标解码能力和从解码设备的可用解码能力,确定待解码码流的目标解码设备,包括:
将可用解码能力大于或等于待解码码流需要的解码能力的从解码设备作为候选解码设备;
从候选解码设备中选择目标解码设备。
3.根据权利要求1所述的方法,其特征在于,根据待解码码流需要的解码能力和从解码设备的可用解码能力,确定待解码码流的目标解码设备,包括:
若所有从解码设备的可用解码能力均小于待解码码流需要的解码能力,则确定所有从解码设备的总可用解码能力是否大于待解码码流需要的解码能力;
根据确定结果,确定待解码码流的目标解码设备。
4.根据权利要求3所述的方法,其特征在于,根据确定结果,确定待解码码流的目标解码设备,包括:
若所有从解码设备的总可用解码能力大于所述目标解码能力,则将最大从解码设备上解码任务转移到至少一个其他从解码设备上,且将最大从解码设备作为所述目标解码设备;其中,所述最大从解码设备为可用解码能力最大的从解码设备;
若所有从解码设备的总可用解码能力小于待解码码流需要的解码能力,则将分布式解码系统中的备用解码设备作为待解码码流的目标解码设备。
5.根据权利要求4所述的方法,其特征在于,将最大从解码设备上解码任务转移到至少一个其他从解码设备上,包括:
若最大从解码设备上解码任务需要的解码能力小于或等于次大从解码设备上的可用解码能力,则将所述最大从解码设备上解码任务转移到次大候选从解码设备上;
若最大从解码设备上解码任务需要的解码能力大于候选从解码设备上的可用解码能力,则将次大从解码设备上解码任务转移到其他从解码设备上,且将最大从解码设备上解码任务转移到次大从解码设备上;其中,其他从解码设备为除了最大从解码设备以及次大从解码设备之外的从解码设备。
6.根据权利要求1所述的方法,其特征在于,依据待解码码流信息,以及发送待解码码流的视频采集设备标识,确定是否需要分发待解码码流,包括:
依据待解码码流信息,以及发送待解码码流的视频采集设备标识,判断待解码码流是否已经建立解码任务;
若待解码码流已经建立解码任务,则不需要分发待解码码流。
7.一种解码装置,其特征在于,配置于分布式解码系统中的主控设备中,所述装置包括:
分发判断模块,用于依据待解码码流信息以及待解码码流的视频采集设备标识,确定是否需要分发待解码码流;
目标解码设备确定模块,用于若需要分发,则根据待解码码流需要的目标解码能力和从解码设备的可用解码能力,确定待解码码流的目标解码设备;
待解码码流发送模块,用于向所述目标解码设备发送所述待解码码流,用于指示所述目标解码设备建立所述待解码码流的解码任务,并执行所述解码任务。
8.根据权利要求7所述的装置,其特征在于,所述目标解码设备确定模块具体用于:
将可用解码能力大于且等于待解码码流需要的解码能力的从解码设备作为候选解码设备;
从候选解码设备中选择目标解码设备。
9.一种设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一项所述的解码方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的解码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910891730.8A CN112543165B (zh) | 2019-09-20 | 2019-09-20 | 一种解码方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910891730.8A CN112543165B (zh) | 2019-09-20 | 2019-09-20 | 一种解码方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112543165A true CN112543165A (zh) | 2021-03-23 |
CN112543165B CN112543165B (zh) | 2022-11-15 |
Family
ID=75012276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910891730.8A Active CN112543165B (zh) | 2019-09-20 | 2019-09-20 | 一种解码方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112543165B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080162713A1 (en) * | 2006-12-27 | 2008-07-03 | Microsoft Corporation | Media stream slicing and processing load allocation for multi-user media systems |
CN102045540A (zh) * | 2009-10-20 | 2011-05-04 | 华为软件技术有限公司 | 视频监控方法、系统及设备 |
CN104702969A (zh) * | 2013-12-09 | 2015-06-10 | 杭州海康威视数字技术股份有限公司 | 进行视音频数据被动转码的方法、系统及转码服务器 |
CN105872595A (zh) * | 2016-03-31 | 2016-08-17 | 乐视控股(北京)有限公司 | 转码任务分配方法及装置 |
CN106375721A (zh) * | 2016-09-14 | 2017-02-01 | 重庆邮电大学 | 一种基于云平台的智能视频监控系统 |
CN106789853A (zh) * | 2015-11-24 | 2017-05-31 | 中国移动通信集团公司 | 一种转码器的动态调度方法及装置 |
CN107070686A (zh) * | 2016-12-23 | 2017-08-18 | 武汉烽火众智数字技术有限责任公司 | 一种视频监控平台码流并行转码的系统和方法 |
CN108881918A (zh) * | 2017-11-29 | 2018-11-23 | 北京视联动力国际信息技术有限公司 | 一种多路视频的处理方法和一种多媒体终端 |
CN110087019A (zh) * | 2019-04-29 | 2019-08-02 | 苏州科达科技股份有限公司 | 一种会议音频解码方法、装置、设备及可读存储介质 |
CN110248192A (zh) * | 2019-06-12 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 编码器切换、解码器切换、屏幕分享方法和屏幕分享系统 |
-
2019
- 2019-09-20 CN CN201910891730.8A patent/CN112543165B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080162713A1 (en) * | 2006-12-27 | 2008-07-03 | Microsoft Corporation | Media stream slicing and processing load allocation for multi-user media systems |
CN102045540A (zh) * | 2009-10-20 | 2011-05-04 | 华为软件技术有限公司 | 视频监控方法、系统及设备 |
CN104702969A (zh) * | 2013-12-09 | 2015-06-10 | 杭州海康威视数字技术股份有限公司 | 进行视音频数据被动转码的方法、系统及转码服务器 |
CN106789853A (zh) * | 2015-11-24 | 2017-05-31 | 中国移动通信集团公司 | 一种转码器的动态调度方法及装置 |
CN105872595A (zh) * | 2016-03-31 | 2016-08-17 | 乐视控股(北京)有限公司 | 转码任务分配方法及装置 |
CN106375721A (zh) * | 2016-09-14 | 2017-02-01 | 重庆邮电大学 | 一种基于云平台的智能视频监控系统 |
CN107070686A (zh) * | 2016-12-23 | 2017-08-18 | 武汉烽火众智数字技术有限责任公司 | 一种视频监控平台码流并行转码的系统和方法 |
CN108881918A (zh) * | 2017-11-29 | 2018-11-23 | 北京视联动力国际信息技术有限公司 | 一种多路视频的处理方法和一种多媒体终端 |
CN110087019A (zh) * | 2019-04-29 | 2019-08-02 | 苏州科达科技股份有限公司 | 一种会议音频解码方法、装置、设备及可读存储介质 |
CN110248192A (zh) * | 2019-06-12 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 编码器切换、解码器切换、屏幕分享方法和屏幕分享系统 |
Non-Patent Citations (1)
Title |
---|
毛讯等: "基于软硬件相结合的多媒体视频终端", 《中国图象图形学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112543165B (zh) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5808607A (en) | Multi-node media server that provides video to a plurality of terminals from a single buffer when video requests are close in time | |
US8671134B2 (en) | Method and system for data distribution in high performance computing cluster | |
CN101006727B (zh) | 分布式多媒体服务器系统和多媒体信息发布方法 | |
US11074205B2 (en) | Managing efficient selection of a particular processor thread for handling an interrupt | |
CN1070751A (zh) | 多媒体信号处理器计算机系统 | |
EP1346549B1 (en) | Intercommunication preprocessor | |
CN112925737B (zh) | Pci异构系统数据融合方法、系统、设备及存储介质 | |
CN112714164A (zh) | 一种物联网系统及其任务调度方法 | |
CN107193766B (zh) | 一种PCIe设备与主机之间的多路有序数据传输方法 | |
CN109151033B (zh) | 基于分布式系统的通信方法、装置、电子设备及存储介质 | |
CN114090253A (zh) | 网络算力资源的分配方法、装置、电子设备和可读介质 | |
EP2222050B1 (en) | Media resource management method and device, equipment and system thereof | |
CN113079041B (zh) | 一种业务流传输方法、装置、设备和存储介质 | |
CN112543165B (zh) | 一种解码方法、装置、设备和介质 | |
CN111833478A (zh) | 数据处理方法、装置、终端及存储介质 | |
CN111008074B (zh) | 一种文件处理方法、装置、设备和介质 | |
CN103069401B (zh) | 维持多数据总线平台中事务连贯性的方法、装置以及系统 | |
CN115767448B (zh) | 一种消息发送方法、装置、设备和存储介质 | |
CN111475311A (zh) | 协作系统、协作控制方法及协作控制装置 | |
CN110688504A (zh) | 图像数据管理方法、装置、系统、设备及介质 | |
CN113259261B (zh) | 网络流量控制方法和电子设备 | |
US10659732B2 (en) | Apparatus for providing multi-party conference and method for assigning encoder thereof | |
CN113452953B (zh) | 一种视频流传输控制方法、装置、设备和介质 | |
US20230108001A1 (en) | Priority-based scheduling with limited resources | |
CN115665106A (zh) | 码流调度方法、码流合成方法及码流调度系统 |
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 |