CN110572622B - 视频解码方法及装置 - Google Patents
视频解码方法及装置 Download PDFInfo
- Publication number
- CN110572622B CN110572622B CN201910943946.4A CN201910943946A CN110572622B CN 110572622 B CN110572622 B CN 110572622B CN 201910943946 A CN201910943946 A CN 201910943946A CN 110572622 B CN110572622 B CN 110572622B
- Authority
- CN
- China
- Prior art keywords
- code stream
- decoding
- display card
- video code
- path number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000012545 processing Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 12
- 238000012544 monitoring process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供了一种视频解码方法及装置,涉及多媒体技术领域,该方法包括:接收到视频码流时,获取所述视频码流对应的码流参数,所述码流参数包括分辨率信息以及编码格式信息;依据所述码流参数,确定所述视频码流对应的解码方式;若所述解码方式为硬解码方式,则在预先设置的显卡集合中,选取目标显卡,并应用所述目标显卡对所述视频码流进行解码;若所述解码方式为软解码方式,则应用CPU对所述视频码流进行解码。可以通过视频码流的码流参数选择CPU或显卡对视频码流进行解码,能够充分的利用拼接墙系统中的硬件资源,降低CPU的负荷,有效的提升了视频解码效率。
Description
技术领域
本发明涉及多媒体技术领域,特别涉及一种视频解码方法及装置。
背景技术
随着可视化信息技术的发展,大屏幕拼接墙系统越来越受到人们的欢迎,大屏幕拼接墙广泛的应用于各个领域,特别时视频监控领域,对于有监控需求的用户,通常会使用大屏幕拼接墙系统搭配摄像头设备来对指定的地点进行统一视频监控及管理。在这种场景下,一般采用PC架构的拼接墙系统,通过PC架构的处理器与各个摄像头对接,获取到视频码流,进行解码后推送至拼接墙上显示视频图像。
经本发明人研究发现,现有的拼接墙系统中,通常使用CPU对从摄像头获取的视频码流进行解码,由于解码过程中,同一时刻CPU解码的视频数目越高,则CPU的占用率越高,因此,在一些同时要求开多路监控视频的应用场景下,往往会造成监控视频出现不流畅、跳帧等情况,从而影响用户的日常监控工作。
发明内容
本发明所要解决的技术问题是提供一种视频解码方法,可以通过视频码流的码流参数选择CPU或显卡对视频码流进行解码,能够充分的利用拼接墙系统中的硬件资源,降低CPU的负荷,有效的提升了视频解码效率。
本发明还提供了一种视频解码装置,用以保证上述方法在实际中的实现及应用。
一种视频解码方法,包括:
接收到视频码流时,获取所述视频码流对应的码流参数,所述码流参数包括分辨率信息以及编码格式信息;
依据所述码流参数,确定所述视频码流对应的解码方式;
若所述解码方式为硬解码方式,则在预先设置的显卡集合中,选取目标显卡,并应用所述目标显卡对所述视频码流进行解码;
若所述解码方式为软解码方式,则应用预先设置的CPU对所述视频码流进行解码。
上述的方法,可选的,所述获取所述视频码流对应的码流参数,包括:
获取预先存储的与所述视频码流对应的编码格式信息;
基于所述编码格式信息,在所述视频码流中的预设字段获取分辨率信息;
将所述分辨率信息以及所述编码格式信息,组成所述视频码流对应的码流参数。
上述的方法,可选的,所述依据所述码流参数,确定所述视频码流对应的解码方式,包括:
若所述码流参数的分辨率信息大于预先设置的分辨率阈值,或所述码流参数的编码格式为预先设置的第一编码格式时,确定所述视频码流对应的解码方式为硬解码方式;
若所述码流参数的分辨率信息小于等于预先设置的分辨率阈值,且所述码流参数的编码格式为预先设置的第二编码格式时,依据所述码流参数中的分辨率信息,确定所述视频码流的目标解码路数;基于所述目标解码路数,判断所述码流参数是否符合预先设置的软解码条件,若满足,则确定所述视频码流对应的解码方式为软解码方式,若不满足,则确定所述视频码流对应的解码方式为硬解码方式。
上述的方法,可选的,所述基于所述目标解码路数,判断所述码流参数是否符合预先设置的软解码条件,包括:
确定预先设置的显卡集合中的各个显卡当前的解码路数;
将当前解码路数最小的显卡,确定为目标显卡;
将所述目标显卡当前的解码路数以及所述目标解码路数进行求和,得到匹配参数;
将所述匹配参数与预先设置的解码路数阈值进行比较;
若所述匹配参数小于等于所述解码路数阈值,则确定所述视频码流对应的解码方式为硬解码方式;
若所述匹配参数大于所述解码路数阈值,则确定所述视频码流对应的解码方式为软解码方式。
上述的方法,可选的,若所述码流参数的分辨率信息大于预先设置的分辨率阈值,或所述码流参数的编码格式为预先设置的第一编码格式,则在预先设置的显卡集合中,选取目标显卡,并应用所述目标显卡对所述视频码流进行解码,包括:
确定所述视频码流的目标解码路数,并确定预先设置的显卡集合中的各个显卡当前剩余的解码路数;
将当前剩余的解码路数最大的显卡,确定为候选显卡;
若所述目标解码路数大于所述候选显卡的剩余解码路数,则确定所述显卡集合中候选视频码流;所述候选视频码流为分辨率信息小于所述分辨率阈值的码流;
将至少一个候选视频码流的解码方式转换为软解码方式,以在所述显卡集合中获取剩余解码路数等于目标解码路数的目标显卡,应用所述目标显卡对所述视频码流进行解码。
上述的方法,可选的,还包括:
将接所述视频码流解码得到的图像数据进行绘制,并将绘制后的图像数据在拼接墙上显示。
一种视频解码装置,包括:
接收单元,用于接收到视频码流时,获取所述视频码流对应的码流参数,所述码流参数包括分辨率信息以及编码格式信息;
确定单元,用于依据所述码流参数,确定所述视频码流对应的解码方式;
第一解码单元,用于当所述解码方式为硬解码方式时,在预先设置的显卡集合中,选取目标显卡,并应用所述目标显卡对所述视频码流进行解码;
第二解码单元,用于所述解码方式为软解码方式时,应用预先设置的CPU对所述视频码流进行解码。
上述的装置,可选的,所述接收单元,包括:
第一获取子单元,用于获取预先存储的与所述视频码流对应的编码格式信息;
第二获取子单元,用于基于所述编码格式信息,在所述视频码流中的预设字段获取分辨率信息;
组成子单元,用于将所述分辨率信息以及所述编码格式信息,组成所述视频码流对应的码流参数。
上述的装置,可选的,所述确定单元,包括:
第一确定子单元,用于当所述码流参数的分辨率信息大于预先设置的分辨率阈值,或所述码流参数的编码格式为预先设置的第一编码格式时,确定所述视频码流对应的解码方式为硬解码方式;
第二确定子单元,用于当所述码流参数的分辨率信息小于等于预先设置的分辨率阈值,且所述码流参数的编码格式为预先设置的第二编码格式时,依据所述码流参数中的分辨率信息,确定所述视频码流的目标解码路数;基于所述目标解码路数,判断所述码流参数是否符合预先设置的软解码条件,若满足,则确定所述视频码流对应的解码方式为软解码方式,若不满足,则确定所述视频码流对应的解码方式为硬解码方式。
上述的装置,可选的,所述第二确定子单元,包括:
第三确定子单元,用于确定预先设置的显卡集合中的各个显卡当前的解码路数;
第四确定子单元,用于将当前解码路数最小的显卡,确定为目标显卡;
获取单元,用于将所述目标显卡当前的解码路数以及所述目标解码路数进行求和,得到匹配参数;
比较单元,用于将所述匹配参数与预先设置的解码路数阈值进行比较;
第五确定子单元,用于当所述匹配参数小于等于所述解码路数阈值时,确定所述视频码流对应的解码方式为硬解码方式;
第六确定子单元,用于当所述匹配参数大于所述解码路数阈值时,确定所述视频码流对应的解码方式为软解码方式。
与现有技术相比,本发明包括以下优点:
本发明提供的视频解码方法,包括:接收到视频码流时,获取所述视频码流对应的码流参数,所述码流参数包括分辨率信息以及编码格式信息;依据所述码流参数,确定所述视频码流对应的解码方式;若所述解码方式为硬解码方式,则在预先设置的显卡集合中,选取目标显卡,并应用所述目标显卡对所述视频码流进行解码;若所述解码方式为软解码方式,则应用预先设置的CPU对所述视频码流进行解码。可以通过视频码流的码流参数选择CPU或显卡对视频码流进行解码,能够充分的利用拼接墙系统中的硬件资源,降低CPU的负荷,有效的提升了视频解码效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种视频解码方法的方法流程图;
图2为本发明提供的一种视频解码方法的又一方法流程图;
图3为本发明提供的一种视频解码方法的又一方法流程图;
图4为本发明提供的一种视频解码装置的结构示意图;
图5为本发明提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明实施例提供了一种视频解码方法,该方法可以应用在多种系统平台,其执行主体可以为拼接墙系统的处理器,该拼接墙系统具有PC架构,即包含一个或多个处理器和至少一个显卡,所述方法的方法流程图如图1所示,具体包括:
S101:接收到视频码流时,获取所述视频码流对应的码流参数,所述码流参数包括分辨率信息以及编码格式信息。
本发明实施例提供的方法,接收到用户通过拼接墙控制软件发送的显示指令时,基于该指令确定目标摄像头,并与该目标摄像头建立通信连接,以获取该目标摄像头对应的视频码流。
本发明实施例涉及的分辨率信息为视频图像的分辨率信息,可以在该视频码流的预设字段中进行获取的;编码格信息可以为H.264编码格式或者H.265编码格式等,该编码格式信息可以是预先存储的。
S102:依据所述码流参数,确定所述视频码流对应的解码方式。
本发明实施例提供的方法中,该解码方式可以为硬解码或软解码,可以依据该码流参数中包含的分辨率信息和编码格式信息,确定该视频码流对应的解码方式。
S103:若所述解码方式为硬解码方式,则在预先设置的显卡集合中,选取目标显卡,并应用所述目标显卡对所述视频码流进行解码。
本发明实施例提供的方法中,在预先设置的显卡集合中,依据各个显卡当前的解码路数的大小,对各个显卡进行排序,将解码路数最小的显卡确定为目标显卡,应用该目标显卡对该视频码流进行解码的,显卡可以为NVIDA显卡。
S104:若所述解码方式为软解码方式,则应用预先设置的CPU对所述视频码流进行解码;其中,CPU可以为拼接墙的中央处理器。
本发明实施例提供了一种视频解码方法,包括:接收到视频码流时,获取所述视频码流对应的码流参数,所述码流参数包括分辨率信息以及编码格式信息;依据所述码流参数,确定所述视频码流对应的解码方式;若所述解码方式为硬解码方式,则在预先设置的显卡集合中,选取目标显卡,并应用所述目标显卡对所述视频码流进行解码;若所述解码方式为软解码方式,则应用预先设置的CPU对所述视频码流进行解码。可以通过视频码流的码流参数选择CPU或显卡对视频码流进行解码,能够充分的利用拼接墙系统中的硬件资源,降低CPU的负荷,有效的提升了视频解码效率。
本发明实施例提供的视频解码方法中,基于上述的实施过程,具体的,所述获取所述视频码流对应的码流参数,如图2所示,具体包括:
S201:获取预先存储的与所述视频码流对应的编码格式信息。
本发明实施例提供的方法中,可以通过遍历预先设置的配置文件,获取到该编码格式信息,在接收视频码流之前,通过拼接墙控制软件向解码插件发送该编码格式信息,该编码格式信息为H.264编码格式或者H.265编码格式等。
S202:基于所述编码格式信息,在所述视频码流中的预设字段获取分辨率信息。
本发明实施例提供的方法中,不同的编码格式,其对应的视频码流结构也不一致,通过该编码格式信息,确定所述视频码流中预先设置的分辨率信息存储字段,在该字段中获取该视频码流的分辨率信息。
S203:将所述分辨率信息以及所述编码格式信息,组成所述视频码流对应的码流参数。
本发明实施例提供的方法,获取包含有分辨率信息以及编码格式信息的码流参数,进而基于该码流参数选取解码方式,能够实现对硬件资源的有效利用,提高了视频码流的解码效率。
本发明实施例提供的视频解码方法中,基于上述的实施过程,具体的,所述依据所述码流参数,确定所述视频码流对应的解码方式,具体包括:
若所述码流参数的分辨率信息大于预先设置的分辨率阈值,或所述码流参数的编码格式为预先设置的第一编码格式时,确定所述视频码流对应的解码方式为硬解码方式。
若所述码流参数的分辨率信息小于等于预先设置的分辨率阈值,且所述码流参数的编码格式为预设的第二编码格式时,依据所述码流参数中的分辨率信息,确定所述视频码流的目标解码路数;基于所述目标解码路数,判断所述码流参数是否符合预先设置的软解码条件,若满足,则确定所述视频码流对应的解码方式为软解码方式,若不满足,则确定所述视频码流对应的解码方式为硬解码方式。
本发明实施例提供的方法中,当所述码流参数的分辨率信息大于1080P,或者所述编码格式为H.265时,确定所述视频码流的解码方式为硬解码方式。
本发明实施例提供的方法中,通过对该分辨率信息进行计算,得到视频码流的目标解码路数,当视频图像分辨率w×h≤1920×1080时,确定视频码流的目标解码路数C=1;当视频图像分辨率w×h>1920×1080时,通过下式计算:
其中,w为水平方向的像素量,h为垂直方向的像素量,T为比例系数,当T为整数时,C=T,当T不为整数时,C取大于T的最小整数。
本发明实施例提供的视频解码方法中,基于上述的实施过程,具体的,所述基于所述目标解码路数,判断所述码流参数是否符合预先设置的软解码条件,如图3所示,具体包括:
S301:确定预先设置的显卡集合中的各个显卡当前的解码路数。
本发明实施例提供的方法中,通过遍历当前的解码路数记录表,可以确定每一显卡当前的解码路数。
S302:将当前解码路数最小的显卡,确定为目标显卡。
本发明实施例提供的方法中,将各个显卡的解码路数进行排序,以确定当前解码路数最小的显卡。
S303:将所述目标显卡当前的解码路数以及所述目标解码路数进行求和,得到匹配参数。
本发明实施例提供的方法中,将目标显卡当前的解码路数和目标解码路数进行相加,即可得到当前视频码流数据对应的匹配参数。
S304:将所述匹配参数与预先设置的解码路数阈值进行比较。
本发明实施例提供的方法中,该解码路数阈值为目标显卡可达到的最大解码路数,每个显卡可达到的最大解码路数可以相同或不同。
S305:若所述匹配参数小于等于所述解码路数阈值,则确定所述视频码流对应的解码方式为硬解码方式。
本发明实施例提供的方法中,若匹配参数小于等于所述解码路数阈值,则说明目标显卡的剩余解码路数能够满足对该视频码流进行解码。
S306:若所述匹配参数大于所述解码路数阈值,则确定所述视频码流对应的解码方式为软解码方式。
本发明实施例提供的方法中,若匹配参数大于所述解码路数阈值,则说明目标显卡的剩余解码路数不能满足对该视频码流进行解码。
本发明实施例提供的视频解码方法中,基于上述的实施过程,具体的,若所述码流参数的分辨率信息大于预先设置的分辨率阈值,或所述码流参数的编码格式为预先设置的第一编码格式,则在预先设置的显卡集合中,选取目标显卡,并应用所述目标显卡对所述视频码流进行解码,包括:
确定所述视频码流的目标解码路数,并确定预先设置的显卡集合中的各个显卡当前剩余的解码路数;
将当前剩余的解码路数最大的显卡,确定为候选显卡;
若所述目标解码路数大于所述候选显卡的剩余解码路数,则确定所述显卡集合中候选视频码流;所述候选视频码流为分辨率信息小于所述分辨率阈值的码流;
将至少一个候选视频码流的解码方式转换为软解码方式,以在所述显卡集合中获取剩余解码路数等于目标解码路数的目标显卡,应用所述目标显卡对所述视频码流进行解码。
本发明实施例提供的方法中,若目标解码路数小于等于所述候选显卡的剩余解码路数,则将该候选显卡确定为目标显卡,并应用该目标显卡对视频码流进行解码。
本发明实施例提供的方法中,可以在目标显卡集合中,确定每一个显卡中各个候选视频码流占用的解码路数与剩余的解码路数的总和是否大于等于目标解码路数,若存在在总和大于目标解码路数的显卡,则在总和大于目标解码路数的各个显卡中选取目标显卡,具体的,可以在总和大于目标解码路数的显卡中,将剩余解码路数最大的显卡确定为目标显卡;若不存在总和大于目标解码路数的显卡,则发送硬解码通道不足的消息。
本发明实施例提供的视频解码方法中,基于上述的实施过程,具体的,还包括:
将接所述视频码流解码得到的图像数据进行绘制,并将绘制后的图像数据在拼接墙上显示。
本发明实施例在实际应用过程中,对于使用了n张显卡的处理器设置其显卡的编号为1,2,…,i,…,n,MaxNum表示每张显卡支持硬解码的最大路数,Ci表示编号为i的显卡当前正在进行硬解码的路数,constNum表示当前增加的硬解码路数,其中当视频图像分辨率w×h≤1920×1080(简称1080P)时,则constNum等于1,否则constNum取大于或等于的最小整数。
步骤A、拼接墙控制软件向拼接墙处理器服务端软件发送开指定摄像头信号窗口指令,服务端软件根据该指令的信号类型调用对应的解码插件,并将摄像头信息(如支持RTSP协议访问的URL地址、通信方式是TCP或UPD或Multicast等参数)发送给解码插件。
步骤B、该解码插件创建一个新的线程,并将通过步骤1获取的参数信息连接摄像头,获取并解析码流,从码流中读取到视频图像的分辨率和编码格式,并将其连同线程ID回调给处理器服务端软件。
在执行步骤B中,该解码插件在每次被调用时,都会创建一个新的线程。
步骤C、处理器服务端软件对码流参数进行判断,以确定该码流对应的解码方式。
步骤c1、当分辨率超过1080P或编码格式为H.265时,则强制使用硬解码,枚举当前最小的Ci;
步骤c11、若Ci+constNum≤MaxNum,直接将用于硬解码的显卡编号i返回给解码插件,且增加;
步骤c12、若Ci+constNum>MaxNum,则向当前constNum个解码不超过1080P分辨率的视频码流的线程ID发送将当前解码方式改成软解码的消息,然后将用于硬解码的显卡编号i返回给解码插件,且保持原值不变;若当前找不到个解码不超过1080P分辨率的视频码流的线程,则向控制软件上报硬解码通道不足的消息。
步骤c2、当分辨率不超过1080P且编码格式为H.264时,则枚举当前最小的,当时,直接将用于硬解码的显卡编号i返回给解码插件,且增加,否则直接向解码插件下发使用软解码的消息。
步骤D、若解码插件给处理器服务端软件的回调函数返回了用于硬解码的显卡编号,则将该编号传入NVIDIA显卡的硬解码SDK的接口中,创建硬解码器。为了防止解码过程中出现丢帧现象,对于一路视频码流的解码主线程仅用于与处理器服务端软件进行消息交互,同时额外创建两个辅线程,一个用于创建循环链表接收摄像头视频码流数据,另一个则用于从循环链表中取出码流数据给硬解码器解码,并将解码后的图像数据回调给处理器服务端软件绘制后在拼接墙上显示。
上述各个具体的实现方式,及各个实现方式的衍生过程,均在本发明保护范围内。
与图1所述的方法相对应,本发明实施例还提供了一种视频解码装置,用于对图1中方法的具体实现,本发明实施例提供的视频解码装置可以应用计算机终端或各种移动设备中,其结构示意图如图4所示,具体包括:
接收单元401,用于接收到视频码流时,获取所述视频码流对应的码流参数,所述码流参数包括分辨率信息以及编码格式信息;
确定单元402,用于依据所述码流参数,确定所述视频码流对应的解码方式;
第一解码单元403,用于当所述解码方式为硬解码方式时,在预先设置的显卡集合中,选取目标显卡,并应用所述目标显卡对所述视频码流进行解码;
第二解码单元404,用于所述解码方式为软解码方式时,应用预先设置的CPU对所述视频码流进行解码。
本发明实施例提供了一种视频解码装置,接收到视频码流时,获取所述视频码流对应的码流参数,所述码流参数包括分辨率信息以及编码格式信息;依据所述码流参数,确定所述视频码流对应的解码方式;若所述解码方式为硬解码方式,则在预先设置的显卡集合中,选取目标显卡,并应用所述目标显卡对所述视频码流进行解码;若所述解码方式为软解码方式,则应用预先设置的CPU对所述视频码流进行解码。可以通过视频码流的码流参数选择CPU或显卡对视频码流进行解码,能够充分的利用拼接墙系统中的硬件资源,降低CPU的负荷,有效的提升了视频解码效率。
本发明实施例提供的视频解码装置,基于上述的方案,所述接收单元401,包括:
第一获取子单元,用于获取预先存储的与所述视频码流对应的编码格式信息;
第二获取子单元,用于基于所述编码格式信息,在所述视频码流中的预设字段获取分辨率信息;
组成子单元,用于将所述分辨率信息以及所述编码格式信息,组成所述视频码流对应的码流参数。
本发明实施例提供的视频解码装置,基于上述的方案,所述确定单元,包括:
第一确定子单元,用于当所述码流参数的分辨率信息大于预先设置的分辨率阈值,或所述码流参数的编码格式为预先设置的第一编码格式时,确定所述视频码流对应的解码方式为硬解码方式;
第二确定子单元,用于当所述码流参数的分辨率信息小于等于预先设置的分辨率阈值,且所述码流参数的编码格式为预先设置的第二编码格式时,依据所述码流参数中的分辨率信息,确定所述视频码流的目标解码路数;基于所述目标解码路数,判断所述码流参数是否符合预先设置的软解码条件,若满足,则确定所述视频码流对应的解码方式为软解码方式,若不满足,则确定所述视频码流对应的解码方式为硬解码方式。
本发明实施例提供的视频解码装置,基于上述的方案,所述第二确定子单元,包括:
第三确定子单元,用于确定预先设置的显卡集合中的各个显卡当前的解码路数;
第四确定子单元,用于将当前解码路数最小的显卡,确定为目标显卡;
获取单元,用于将所述目标显卡当前的解码路数以及所述目标解码路数进行求和,得到匹配参数;
比较单元,用于将所述匹配参数与预先设置的解码路数阈值进行比较;
第五确定子单元,用于当所述匹配参数小于等于所述解码路数阈值时,确定所述视频码流对应的解码方式为硬解码方式;
第六确定子单元,用于当所述匹配参数大于所述解码路数阈值时,确定所述视频码流对应的解码方式为软解码方式。
本发明实施例提供的视频解码装置,基于上述的方案,若所述码流参数的分辨率信息大于预先设置的分辨率阈值,或所述码流参数的编码格式为预先设置的第一编码格式,则所述第一解码单元,包括:
第七确定子单元,用于确定所述视频码流的目标解码路数,并确定预先设置的显卡集合中的各个显卡当前剩余的解码路数;
第九确定子单元,用于将当前剩余的解码路数最大的显卡,确定为候选显卡;
执行子单元,用于当所述目标解码路数大于所述候选显卡的剩余解码路数时,则确定所述显卡集合中候选视频码流;所述候选视频码流为分辨率信息小于所述分辨率阈值的码流;
解码子单元,用于将至少一个候选视频码流的解码方式转换为软解码方式,以在所述显卡集合中获取剩余解码路数等于目标解码路数的目标显卡,应用所述目标显卡对所述视频码流进行解码。
本发明实施例提供的视频解码装置,基于上述的方案,还包括:
显示单元,用于将接所述视频码流解码得到的图像数据进行绘制,并将绘制后的图像数据在拼接墙上显示。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述视频解码方法。
本发明实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器501,以及一个或者一个以上的指令502,其中一个或者一个以上指令502存储于存储器501中,且经配置以由一个或者一个以上处理器503执行所述一个或者一个以上指令502进行以下操作:
接收到视频码流时,获取所述视频码流对应的码流参数,所述码流参数包括分辨率信息以及编码格式信息;
依据所述码流参数,确定所述视频码流对应的解码方式;
若所述解码方式为硬解码方式,则在预先设置的显卡集合中,选取目标显卡,并应用所述目标显卡对所述视频码流进行解码;
若所述解码方式为软解码方式,则应用预先设置的CPU对所述视频码流进行解码。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种视频解码方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种视频解码方法,其特征在于,包括:
接收到视频码流时,获取所述视频码流对应的码流参数,所述码流参数包括分辨率信息以及编码格式信息;
依据所述码流参数,确定所述视频码流对应的解码方式;
若所述解码方式为硬解码方式,则在预先设置的显卡集合中,选取目标显卡,并应用所述目标显卡对所述视频码流进行解码,其中,在所述显卡集合中,依据各个显卡当前的解码路数的大小,对各个显卡进行排序,当所述解码方式为硬解码方式时,将当前解码路数最小的显卡确定为目标显卡;
若所述解码方式为软解码方式,则应用预先设置的CPU对所述视频码流进行解码;
其中,所述依据所述码流参数,确定所述视频码流对应的解码方式,包括:
若所述码流参数的分辨率信息大于预先设置的分辨率阈值,或所述码流参数的编码格式为预先设置的第一编码格式时,确定所述视频码流对应的解码方式为硬解码方式;
若所述码流参数的分辨率信息小于等于预先设置的分辨率阈值,且所述码流参数的编码格式为预先设置的第二编码格式时,依据所述码流参数中的分辨率信息,确定所述视频码流的目标解码路数;基于所述目标解码路数,判断所述码流参数是否符合预先设置的软解码条件,若满足,则确定所述视频码流对应的解码方式为软解码方式,若不满足,则确定所述视频码流对应的解码方式为硬解码方式。
2.根据权利要求1所述的方法,其特征在于,所述获取所述视频码流对应的码流参数,包括:
获取预先存储的与所述视频码流对应的编码格式信息;
基于所述编码格式信息,在所述视频码流中的预设字段获取分辨率信息;
将所述分辨率信息以及所述编码格式信息,组成所述视频码流对应的码流参数。
3.根据权利要求1所述的方法,其特征在于,所述基于所述目标解码路数,判断所述码流参数是否符合预先设置的软解码条件,包括:
确定预先设置的显卡集合中的各个显卡当前的解码路数;
将当前解码路数最小的显卡,确定为目标显卡;
将所述目标显卡当前的解码路数以及所述目标解码路数进行求和,得到匹配参数;
将所述匹配参数与预先设置的解码路数阈值进行比较;
若所述匹配参数小于等于所述解码路数阈值,则确定所述视频码流对应的解码方式为硬解码方式;
若所述匹配参数大于所述解码路数阈值,则确定所述视频码流对应的解码方式为软解码方式。
4.根据权利要求1所述的方法,其特征在于,若所述码流参数的分辨率信息大于预先设置的分辨率阈值,或所述码流参数的编码格式为预先设置的第一编码格式,则在预先设置的显卡集合中,选取目标显卡,并应用所述目标显卡对所述视频码流进行解码,包括:
确定所述视频码流的目标解码路数,并确定预先设置的显卡集合中的各个显卡当前剩余的解码路数;
将当前剩余的解码路数最大的显卡,确定为候选显卡;
若所述目标解码路数大于所述候选显卡的剩余解码路数,则确定所述显卡集合中候选视频码流;所述候选视频码流为分辨率信息小于所述分辨率阈值的码流;
将至少一个候选视频码流的解码方式转换为软解码方式,以在所述显卡集合中获取剩余解码路数等于目标解码路数的目标显卡,应用所述目标显卡对所述视频码流进行解码。
5.根据权利要求1所述的方法,其特征在于,还包括:
将接所述视频码流解码得到的图像数据进行绘制,并将绘制后的图像数据在拼接墙上显示。
6.一种视频解码装置,其特征在于,包括:
接收单元,用于接收到视频码流时,获取所述视频码流对应的码流参数,所述码流参数包括分辨率信息以及编码格式信息;
确定单元,用于依据所述码流参数,确定所述视频码流对应的解码方式;
第一解码单元,用于当所述解码方式为硬解码方式时,在预先设置的显卡集合中,选取目标显卡,并应用所述目标显卡对所述视频码流进行解码,其中,在所述显卡集合中,依据各个显卡当前的解码路数的大小,对各个显卡进行排序,当所述解码方式为硬解码方式时,将当前解码路数最小的显卡确定为目标显卡;
第二解码单元,用于所述解码方式为软解码方式时,应用预先设置的CPU对所述视频码流进行解码;
其中,所述确定单元,包括:
第一确定子单元,用于当所述码流参数的分辨率信息大于预先设置的分辨率阈值,或所述码流参数的编码格式为预先设置的第一编码格式时,确定所述视频码流对应的解码方式为硬解码方式;
第二确定子单元,用于当所述码流参数的分辨率信息小于等于预先设置的分辨率阈值,且所述码流参数的编码格式为预先设置的第二编码格式时,依据所述码流参数中的分辨率信息,确定所述视频码流的目标解码路数;基于所述目标解码路数,判断所述码流参数是否符合预先设置的软解码条件,若满足,则确定所述视频码流对应的解码方式为软解码方式,若不满足,则确定所述视频码流对应的解码方式为硬解码方式。
7.根据权利要求6所述的装置,其特征在于,所述接收单元,包括:
第一获取子单元,用于获取预先存储的与所述视频码流对应的编码格式信息;
第二获取子单元,用于基于所述编码格式信息,在所述视频码流中的预设字段获取分辨率信息;
组成子单元,用于将所述分辨率信息以及所述编码格式信息,组成所述视频码流对应的码流参数。
8.根据权利要求6所述的装置,其特征在于,所述第二确定子单元,包括:
第三确定子单元,用于确定预先设置的显卡集合中的各个显卡当前的解码路数;
第四确定子单元,用于将当前解码路数最小的显卡,确定为目标显卡;
获取单元,用于将所述目标显卡当前的解码路数以及所述目标解码路数进行求和,得到匹配参数;
比较单元,用于将所述匹配参数与预先设置的解码路数阈值进行比较;
第五确定子单元,用于当所述匹配参数小于等于所述解码路数阈值时,确定所述视频码流对应的解码方式为硬解码方式;
第六确定子单元,用于当所述匹配参数大于所述解码路数阈值时,确定所述视频码流对应的解码方式为软解码方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910943946.4A CN110572622B (zh) | 2019-09-30 | 2019-09-30 | 视频解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910943946.4A CN110572622B (zh) | 2019-09-30 | 2019-09-30 | 视频解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110572622A CN110572622A (zh) | 2019-12-13 |
CN110572622B true CN110572622B (zh) | 2021-07-16 |
Family
ID=68783829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910943946.4A Active CN110572622B (zh) | 2019-09-30 | 2019-09-30 | 视频解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110572622B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111147860B (zh) * | 2019-12-23 | 2022-08-30 | 视联动力信息技术股份有限公司 | 一种视频数据的解码方法及装置 |
CN111143014B (zh) * | 2019-12-30 | 2021-12-07 | 威创集团股份有限公司 | 一种拼墙系统场景缩略图的生成方法及系统 |
CN113316022B (zh) * | 2020-02-27 | 2022-07-08 | 杭州海康威视系统技术有限公司 | 视频播放方法、装置、设备、系统和存储介质 |
CN113055744B (zh) * | 2020-08-31 | 2023-07-07 | 惠州华阳通用电子有限公司 | 一种视频解码方法及装置 |
CN112162715A (zh) * | 2020-09-22 | 2021-01-01 | 苏州科达科技股份有限公司 | 图像处理方法、装置及存储介质 |
CN114520927B (zh) * | 2020-11-18 | 2024-04-05 | 西安诺瓦星云科技股份有限公司 | 视频处理方法、装置和设备以及显示系统 |
CN113301346A (zh) * | 2021-05-11 | 2021-08-24 | 随锐科技集团股份有限公司 | 基于安卓终端软硬解码混合播放多路视频的方法及装置 |
CN113411589A (zh) * | 2021-06-21 | 2021-09-17 | 苏州科达科技股份有限公司 | 解码方法、装置、电子设备及存储介质 |
CN114339408A (zh) * | 2021-11-26 | 2022-04-12 | 惠州华阳通用电子有限公司 | 一种视频解码方法 |
CN114466227B (zh) * | 2021-12-22 | 2023-08-04 | 天翼云科技有限公司 | 一种视频分析方法、装置、电子设备及存储介质 |
CN114598538A (zh) * | 2022-03-16 | 2022-06-07 | 数字山西设计股份有限公司 | 一种用于数字视频光端机的数据传输系统 |
CN115334352A (zh) * | 2022-08-11 | 2022-11-11 | 北京蔚领时代科技有限公司 | 一种自动匹配视频解码方法、装置、解码器及存储介质 |
CN115344433B (zh) * | 2022-10-19 | 2023-03-24 | 珠海妙存科技有限公司 | 数据恢复方法、数据恢复装置、固态硬盘、存储介质 |
CN116095401B (zh) * | 2023-01-28 | 2024-09-20 | 北京达佳互联信息技术有限公司 | 硬解码策略生成方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102364947A (zh) * | 2011-10-10 | 2012-02-29 | 广东威创视讯科技股份有限公司 | 基于PCIe 桥的多路IP 视频编码卡 |
CN109640179A (zh) * | 2018-11-27 | 2019-04-16 | Oppo广东移动通信有限公司 | 视频解码控制方法、装置以及电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8345756B2 (en) * | 2006-08-31 | 2013-01-01 | Ati Technologies, Inc. | Method and system for parallel intra-prediction decoding of video data |
US9131241B2 (en) * | 2008-11-25 | 2015-09-08 | Microsoft Technology Licensing, Llc | Adjusting hardware acceleration for video playback based on error detection |
CN104683860B (zh) * | 2015-02-02 | 2018-11-30 | 北京神州天脉网络计算机有限公司 | 一种音视频多路并发解码加速卡及其解码加速方法 |
CN105120293B (zh) * | 2015-08-26 | 2018-07-06 | 中国航空工业集团公司洛阳电光设备研究所 | 基于cpu和gpu的图像协同解码方法及装置 |
CN105721921B (zh) * | 2016-01-29 | 2019-07-12 | 四川长虹电器股份有限公司 | 一种多窗口视频解码器的自适应选择方法 |
-
2019
- 2019-09-30 CN CN201910943946.4A patent/CN110572622B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102364947A (zh) * | 2011-10-10 | 2012-02-29 | 广东威创视讯科技股份有限公司 | 基于PCIe 桥的多路IP 视频编码卡 |
CN109640179A (zh) * | 2018-11-27 | 2019-04-16 | Oppo广东移动通信有限公司 | 视频解码控制方法、装置以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110572622A (zh) | 2019-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110572622B (zh) | 视频解码方法及装置 | |
CN110446072B (zh) | 视频流切换方法、电子设备和存储介质 | |
CN110418177B (zh) | 视频编码方法、装置、设备和存储介质 | |
US9609338B2 (en) | Layered video encoding and decoding | |
EP3203748B1 (en) | Cloud streaming service system, cloud streaming service method using optimal gpu, and apparatus for same | |
CN112804256B (zh) | 多媒体文件中轨道数据的处理方法、装置、介质及设备 | |
CN109299326B (zh) | 视频推荐方法及装置、系统、电子设备以及存储介质 | |
CN111031389B (zh) | 视频处理方法、电子装置和存储介质 | |
CN111263243B (zh) | 视频编码方法、装置、计算机可读介质及电子设备 | |
US20150117515A1 (en) | Layered Encoding Using Spatial and Temporal Analysis | |
US20140254688A1 (en) | Perceptual Quality Of Content In Video Collaboration | |
CN111343503B (zh) | 视频的转码方法、装置、电子设备及存储介质 | |
CN112468883A (zh) | 视频流播放方法及视频流播放设备 | |
CN112752058B (zh) | 调整视频流的属性的方法和装置 | |
CN110891195B (zh) | 花屏图像的生成方法、装置、设备和存储介质 | |
CN109005414B (zh) | 视频传输方法、装置、设备以及系统 | |
CN114640876B (zh) | 多媒体业务视频显示方法、装置、计算机设备及存储介质 | |
CN104994407A (zh) | 一种集中自适应视频转码的方法 | |
CN112584197B (zh) | 互动剧故事线的绘制方法、装置、计算机介质及电子设备 | |
CN112118213B (zh) | 一种线上的视频数据输出方法、系统及云平台 | |
CN113766266A (zh) | 音视频处理方法、装置、设备以及存储介质 | |
US8805102B2 (en) | Application based adaptive encoding | |
CN113014940A (zh) | 一种直播优化方法和装置 | |
US20240338165A1 (en) | Client-Side Composite Video Stream Processing | |
Parsola et al. | Mobile Phone Based Lecture Video Capturing & Streaming Technique for Efficient Bandwidth Utilization |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240402 Address after: Room 1201-9, No. 2403 Kaichuang Avenue, Huangpu District, Guangzhou City, Guangdong Province, 510760 Patentee after: Guangzhou Development Zone Qingyou Intellectual Property Consulting Co.,Ltd. Country or region after: China Address before: 233 Kezhu Road, Guangzhou hi tech Industrial Development Zone, Guangdong 510670 Patentee before: VTRON GROUP Co.,Ltd. Country or region before: China |
|
TR01 | Transfer of patent right |