CN108848386A - 跨多cpu和多gpu芯片的混合解码方法 - Google Patents
跨多cpu和多gpu芯片的混合解码方法 Download PDFInfo
- Publication number
- CN108848386A CN108848386A CN201810671254.4A CN201810671254A CN108848386A CN 108848386 A CN108848386 A CN 108848386A CN 201810671254 A CN201810671254 A CN 201810671254A CN 108848386 A CN108848386 A CN 108848386A
- Authority
- CN
- China
- Prior art keywords
- gpu
- video
- cpu
- decoded
- decoding
- 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
Links
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/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
- 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
- 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)
- Image Processing (AREA)
Abstract
本发明公开了一种跨多CPU和多GPU芯片的混合解码方法,包括:C)将视频源转换为ONVIF标准协议的网络摄像机视频;E)判断是否选择INTEL芯片解码,如是,执行F);否则,执行I);F)判断是否用INTEL集成GPU解码,如是,执行H);否则,执行G);G)采用纯CPU解码;H)采用INTEL集成GPU解码;I)进行GPU解码芯片选择;J)判断是否采用AMD GPU芯片解码,如不是,采用NVIDIA GPU解码;M)视频解码后选择输出源进行显示。本发明支持不同厂家GPU与INTEL CPU\GPU一起混合解码、兼容不同厂家多个GPU和INTEL CPU同时进行混合解码。
Description
技术领域
本发明涉及视频解码领域,特别涉及一种跨多CPU和多GPU芯片的混合解码方法。
背景技术
公开号为CN 105072353A,专利名称为“一种基于多GPU的图像解码拼控方法”的发明专利申请中,其可调用多个GPU解码,但存在如下缺陷:1、不支持AMD显卡解码,其仅支持多张NVIDIA芯片的GPU做解码显示。不支持用AMD芯片的GPU处理视频解码。2、不支持跨不同GPU芯片处理视频解码:不支持同时接NVIDIA芯片GPU和AMD芯片GPU并发解码。3、不支持同时使用INTEL的CPU、INTEL的GPU、NVIDIA芯片GPU、AMD芯片GPU四种处理器同时并发处理视频解码。4、仅仅支持多个NVIDIA的GT系列或低端系列的GPU解码。5、纯GPU解码方式,视频解码能力差,每个GPU输出最大解码分辨为最高是1920x1080。6、产品市场化时硬件选择被限制,只能选NVIDIA的GPU。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种支持不同厂家GPU与INTEL CPU\GPU一起混合解码、兼容不同厂家多个GPU和INTEL CPU同时进行混合解码的跨多CPU和多GPU芯片的混合解码方法。
本发明解决其技术问题所采用的技术方案是:构造一种跨多CPU和多GPU芯片的混合解码方法,包括如下步骤:
A)输入视频源;
B)判断所述视频源是否是ONVIF标准协议的网络摄像机视频、H2.64视频流或RTSP视频流,如是,执行步骤D);否则,执行步骤C);
C)将所述视频源转换为ONVIF标准协议的网络摄像机视频,返回步骤B);
D)进行解码芯片的选择;
E)判断是否选择INTEL芯片解码,如是,执行步骤F);否则,执行步骤I);
F)判断是否用INTEL集成GPU解码,如是,执行步骤H);否则,执行步骤G);
G)采用纯CPU解码,执行步骤M);
H)采用INTEL集成GPU解码,执行步骤M);
I)进行GPU解码芯片的选择;
J)判断是否采用AMD GPU芯片解码,如是,执行步骤L);否则,执行步骤K);
K)采用NVIDIA GPU解码,执行步骤M);
L)采用AMD GPU解码,执行步骤M);
M)视频解码后选择输出源进行显示。
在本发明所述的跨多CPU和多GPU芯片的混合解码方法中,视频源包括ONVIF标准协议的网络摄像机视频、标准H2.64格式的视频、H2.64输入的网络摄像机视频及非ONVIF协议的网络摄像机视频。
在本发明所述的跨多CPU和多GPU芯片的混合解码方法中,在所述步骤M)中,选择采用INTEL CPU集成的GPU显示、采用NVIDIA的GPU显示或采用AMD的GPU显示。
在本发明所述的跨多CPU和多GPU芯片的混合解码方法中,在所述步骤G)中,第一路视频采用CPU解码,第二路视频采用AMD GPU解码,第三路视频采用NVIDIA解码。
在本发明所述的跨多CPU和多GPU芯片的混合解码方法中,在所述步骤H)中,第一路视频采用INTEL集成GPU解码,第二路视频采用AMD GPU解码,第三路视频采用NVIDIA解码。
在本发明所述的跨多CPU和多GPU芯片的混合解码方法中,在所述步骤K)中,第一路视频采用NVIDIAGPU解码,第二路视频采用AMD GPU解码,第三路视频采用CPU解码。
在本发明所述的跨多CPU和多GPU芯片的混合解码方法中,在所述步骤L)中,第一路视频采用AMD GPU解码,第二路视频采用NVIDIA GPU解码,第三路视频采用CPU解码。
在本发明所述的跨多CPU和多GPU芯片的混合解码方法中,当采用所述INTEL CPU集成的GPU显示时,解码后的全部视频源或部分视频源采用INTEL CPU集成的GPU进行显示。
在本发明所述的跨多CPU和多GPU芯片的混合解码方法中,当采用所述NVIDIA的GPU显示时,解码后的全部视频源或部分视频源采用所述NVIDIA的GPU进行显示。
在本发明所述的跨多CPU和多GPU芯片的混合解码方法中,当采用所述AMD的GPU显示时,解码后的全部视频源或部分视频源采用所述AMD的GPU进行显示。
实施本发明的跨多CPU和多GPU芯片的混合解码方法,具有以下有益效果:由于将视频源转换为ONVIF标准协议的网络摄像机视频,可以从INTEL集成GPU解码、纯CPU解码、AMD GPU解码、NVIDIA GPU解码中进行解码的选择,在显示时,可以选择相应的输出源进行显示,因此支持不同厂家GPU与INTEL CPU\GPU一起混合解码、兼容不同厂家多个GPU和INTEL CPU同时进行混合解码。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明跨多CPU和多GPU芯片的混合解码方法一个实施例中的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明跨多CPU和多GPU芯片的混合解码方法实施例中,该跨多CPU和多GPU芯片的混合解码方法的流程图如图1所示。图1中,该跨多CPU和多GPU芯片的混合解码方法包括如下步骤:
步骤S01输入视频源:本步骤中,某路视频源输入,该视频源包括ONVIF标准协议的网络摄像机视频、标准H2.64格式的视频、H2.64输入的网络摄像机视频及其它非ONVIF协议的网络摄像机视频。
步骤S02判断视频源是否是ONVIF标准协议的网络摄像机视频、H2.64视频流或RTSP视频流:本步骤中,判断视频源是否是ONVIF标准协议的网络摄像机视频、H2.64视频流或RTSP视频流,如是,执行步骤S04;否则,执行步骤S03。
步骤S03将视频源转换为ONVIF标准协议的网络摄像机视频:如果上述步骤S02的判断结果为否,即视频源的视频格式不支持,则执行本步骤。本步骤中,将视频源(即非标准ONVIF协议网络摄像机视频)转换为ONVIF标准协议的网络摄像机视频。执行完本步骤,返回步骤S02。
步骤S04进行解码芯片的选择:如果上述步骤S02的判断结果为是,即视频源的视频格式支持,则执行本步骤。本步骤中,进行解码芯片的选择。执行完本步骤,执行步骤S05。
步骤S05判断是否选择INTEL芯片解码:本步骤中,判断是否选择INTEL芯片解码,如果判断的结果为是,则执行步骤S06;否则,执行步骤S09。
步骤S06判断是否用INTEL集成GPU解码:如果上述步骤S05的判断结果为是,则执行本步骤。本步骤中,判断是否用INTEL集成GPU解码,如是,执行步骤S08;否则,执行步骤S07。
步骤S07采用纯CPU解码:如果上述步骤S06的判断结果为否,则执行本步骤。本步骤中,采用纯CPU解码,也即采用INTEL CPU解码,具体而言,第一路视频采用CPU解码,第二路视频采用AMD GPU解码,第三路视频采用NVIDIA解码,各芯片可同时解码不同的视频源。执行完本步骤,执行步骤S13。
步骤S08采用INTEL集成GPU解码:本步骤中,采用INTEL集成GPU解码。具体而言,第一路视频采用INTEL集成GPU解码,第二路视频采用AMD GPU解码,第三路视频采用NVIDIA解码,各芯片可同时解码不同的视频源。执行完本步骤,执行步骤S13。
步骤S09进行GPU解码芯片的选择:如果上述步骤S05的判断结果为否,则执行本步骤。本步骤中,进行GPU解码芯片的选择。执行完本步骤,执行步骤S10。
步骤S10判断是否采用AMD GPU芯片解码:本步骤中,判断是否采用AMD GPU芯片解码,如果判断的结果为是,则执行步骤S12;否则,执行步骤S11。
步骤S11采用NVIDIA GPU解码:如果上述步骤S10的判断结果为否,则执行本步骤。本步骤中,采用NVIDIA GPU解码。具体而言,第一路视频采用NVIDIA GPU解码,第二路视频采用AMD GPU解码,第三路视频采用CPU解码,各芯片可同时解码不同的视频源。执行完本步骤,执行步骤S13。
步骤S12采用AMD GPU解码:如果上述步骤S10的判断结果为是,则执行本步骤。本步骤中,采用AMD GPU解码。具体而言,第一路视频采用AMD GPU解码,第二路视频采用NVIDIA GPU解码,第三路视频采用CPU解码,各芯片可同时解码不同的视频源。执行完本步骤,执行步骤S13。
步骤S13视频解码后选择输出源进行显示:本步骤中,视频解码后选择输出源进行显示,具体而言,可以选择采用INTEL CPU集成的GPU显示,或者选择采用NVIDIA的GPU显示,或者选择采用AMD的GPU显示。当采用INTEL CPU集成的GPU显示时,解码后的全部视频源可通用此INTEL CPU集成的GPU显示,或者一部分视频源用此INTEL CPU集成的GPU显示,另外一部分用其它GPU显示。当采用NVIDIA的GPU显示时,解码后的全部视频可通用此NVIDIA的GPU显示,或一部分视频源用此NVIDIA的GPU显示,另外一部分用其它GPU显示。当采用AMD的GPU显示时,解码后的全部视频可通用此AMD的GPU显示,或一部分视频源用此AMD的GPU显示,另外一部分用其它GPU显示。
本发明具有如下优点:不同种类GPU可以同时解码,混合解码,充分调用GPU、CPU的协同工作,最大程度的发挥硬件极限性能。调用GPU强大的图像处理能力,单张GPU+CPU可解码50路1080P,12路4K视频;多张GPU+CPU混合解码性能翻倍,解码能力可以多达100路1080P。一张GPU+一个CPU的解码能力比现有技术方案解码1080P路数多两倍以上。支持NVIDIA GPU和AMD GPU同时解码。支持INTEL的内置GPU和NVIDIA GPU、AMD GPU同时解码。支持INTEL的CPU和NVIDIA GPU、AMD GPU同时解码。每个GPU同时输出的视频分辨率都可以达到4K,而传统技术中其它方案都采用海思HI3536芯片解码为主,解码48路1080P网络摄像机视频,需要12个HI3536芯片,其成本高,开发难度高,解码后不能任意指定当前解码芯片输出视频。本发明可任意指定一个或多个当前解码GPU做图像输出。可任意搭配不同的解码芯片进行混合解码本发明可以兼容不同厂家多个GPU和INTEL CPU同时进行混合解码。而传统技术受限于GPU解码库,都不能调用AMD显卡解码;或者不支持CPU和GPU混合解码,要实现跨多CPU和多GPU混合解码,需要自已制作解码库。本发明实现跨多CPU和多GPU同时并发混合解码方案,且建立了跨多CPU和多GPU视频解码库。
总之,本发明应用于安防监控系统,当系统存在几百上千路视频时,由于画面太多、显示器有限,需要把前端视频解码后用大屏显示器显示,通过本发明可以让监控值守人员实时观看监控画面是否有异常。本发明也可应用于广告机、多屏解码输出、大屏拼接解码、各种4K视频解码播放及需要高清解码显示的产品。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种跨多CPU和多GPU芯片的混合解码方法,其特征在于,包括如下步骤:
A)输入视频源;
B)判断所述视频源是否是ONVIF标准协议的网络摄像机视频、H2.64视频流或RTSP视频流,如是,执行步骤D);否则,执行步骤C);
C)将所述视频源转换为ONVIF标准协议的网络摄像机视频,返回步骤B);
D)进行解码芯片的选择;
E)判断是否选择INTEL芯片解码,如是,执行步骤F);否则,执行步骤I);
F)判断是否用INTEL集成GPU解码,如是,执行步骤H);否则,执行步骤G);
G)采用纯CPU解码,执行步骤M);
H)采用INTEL集成GPU解码,执行步骤M);
I)进行GPU解码芯片的选择;
J)判断是否采用AMD GPU芯片解码,如是,执行步骤L);否则,执行步骤K);
K)采用NVIDIA GPU解码,执行步骤M);
L)采用AMD GPU解码,执行步骤M);
M)视频解码后选择输出源进行显示。
2.根据权利要求1所述的跨多CPU和多GPU芯片的混合解码方法,其特征在于,视频源包括ONVIF标准协议的网络摄像机视频、标准H2.64格式的视频、H2.64输入的网络摄像机视频及非ONVIF协议的网络摄像机视频。
3.根据权利要求1或2所述的跨多CPU和多GPU芯片的混合解码方法,其特征在于,在所述步骤M)中,选择采用INTEL CPU集成的GPU显示、采用NVIDIA的GPU显示或采用AMD的GPU显示。
4.根据权利要求1或2所述的跨多CPU和多GPU芯片的混合解码方法,其特征在于,在所述步骤G)中,第一路视频采用CPU解码,第二路视频采用AMD GPU解码,第三路视频采用NVIDIA解码。
5.根据权利要求1或2所述的跨多CPU和多GPU芯片的混合解码方法,其特征在于,在所述步骤H)中,第一路视频采用INTEL集成GPU解码,第二路视频采用AMD GPU解码,第三路视频采用NVIDIA解码。
6.根据权利要求1或2所述的跨多CPU和多GPU芯片的混合解码方法,其特征在于,在所述步骤K)中,第一路视频采用NVIDIA GPU解码,第二路视频采用AMD GPU解码,第三路视频采用CPU解码。
7.根据权利要求1或2所述的跨多CPU和多GPU芯片的混合解码方法,其特征在于,在所述步骤L)中,第一路视频采用AMD GPU解码,第二路视频采用NVIDIA GPU解码,第三路视频采用CPU解码。
8.根据权利要求3所述的跨多CPU和多GPU芯片的混合解码方法,其特征在于,当采用所述INTEL CPU集成的GPU显示时,解码后的全部视频源或部分视频源采用INTEL CPU集成的GPU进行显示。
9.根据权利要求3所述的跨多CPU和多GPU芯片的混合解码方法,其特征在于,当采用所述NVIDIA的GPU显示时,解码后的全部视频源或部分视频源采用所述NVIDIA的GPU进行显示。
10.根据权利要求3所述的跨多CPU和多GPU芯片的混合解码方法,其特征在于,当采用所述AMD的GPU显示时,解码后的全部视频源或部分视频源采用所述AMD的GPU进行显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810671254.4A CN108848386A (zh) | 2018-06-26 | 2018-06-26 | 跨多cpu和多gpu芯片的混合解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810671254.4A CN108848386A (zh) | 2018-06-26 | 2018-06-26 | 跨多cpu和多gpu芯片的混合解码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108848386A true CN108848386A (zh) | 2018-11-20 |
Family
ID=64202291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810671254.4A Pending CN108848386A (zh) | 2018-06-26 | 2018-06-26 | 跨多cpu和多gpu芯片的混合解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108848386A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314740A (zh) * | 2020-03-19 | 2020-06-19 | 杭州慧川智能科技有限公司 | 一种基于芯片间并行的高性能转码方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080240236A1 (en) * | 2007-03-30 | 2008-10-02 | Kabushiki Kaisha Toshiba | Information processing apparatus |
US20110230232A1 (en) * | 2006-05-12 | 2011-09-22 | Tran Bao Q | Systems and methods for video editing |
CN105430408A (zh) * | 2015-12-04 | 2016-03-23 | 武汉斗鱼网络科技有限公司 | 一种基于Intel、AMD和Nvidia三平台的H264硬件解码系统 |
CN105721921A (zh) * | 2016-01-29 | 2016-06-29 | 四川长虹电器股份有限公司 | 一种多窗口视频解码器的自适应选择方法 |
CN105872755A (zh) * | 2015-12-07 | 2016-08-17 | 乐视云计算有限公司 | 视频播放方法及装置 |
CN106210726A (zh) * | 2016-08-08 | 2016-12-07 | 成都佳发安泰科技股份有限公司 | 根据cpu与gpu的使用率对视频数据进行自适应解码的方法 |
-
2018
- 2018-06-26 CN CN201810671254.4A patent/CN108848386A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110230232A1 (en) * | 2006-05-12 | 2011-09-22 | Tran Bao Q | Systems and methods for video editing |
US20080240236A1 (en) * | 2007-03-30 | 2008-10-02 | Kabushiki Kaisha Toshiba | Information processing apparatus |
CN105430408A (zh) * | 2015-12-04 | 2016-03-23 | 武汉斗鱼网络科技有限公司 | 一种基于Intel、AMD和Nvidia三平台的H264硬件解码系统 |
CN105872755A (zh) * | 2015-12-07 | 2016-08-17 | 乐视云计算有限公司 | 视频播放方法及装置 |
CN105721921A (zh) * | 2016-01-29 | 2016-06-29 | 四川长虹电器股份有限公司 | 一种多窗口视频解码器的自适应选择方法 |
CN106210726A (zh) * | 2016-08-08 | 2016-12-07 | 成都佳发安泰科技股份有限公司 | 根据cpu与gpu的使用率对视频数据进行自适应解码的方法 |
Non-Patent Citations (2)
Title |
---|
徐伟,张鹏等编著: "《电脑硬件选购、组装与维修从入门到精通》", 28 February 2013, 中国铁道出版社 * |
电脑报编辑部: "《装机圣手》", 31 May 2010 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314740A (zh) * | 2020-03-19 | 2020-06-19 | 杭州慧川智能科技有限公司 | 一种基于芯片间并行的高性能转码方法 |
CN111314740B (zh) * | 2020-03-19 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 一种基于芯片间并行的高性能转码方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021114708A1 (zh) | 多人视频直播业务实现方法、装置、计算机设备 | |
CN100433826C (zh) | 记录视频会议数据的方法和系统 | |
US8638355B2 (en) | Method for creating a videoconferencing displayed image | |
US8803991B2 (en) | Snapshot capture in video stream | |
ES2654771T3 (es) | Procedimiento y aparato para procesar un flujo de vídeo | |
CN110784730B (zh) | 直播视频数据的传输方法、装置、设备和存储介质 | |
CN104822070B (zh) | 多路视频流播放方法及装置 | |
CN106713942B (zh) | 视频处理方法和装置 | |
CN106227492A (zh) | 拼接墙与移动智能终端互联方法和装置 | |
CN106231367A (zh) | 美颜处理方法及装置 | |
CN102377985A (zh) | 移动视频监控系统的媒体模块 | |
CN112689168A (zh) | 一种动效处理方法、动效展示方法及动效处理装置 | |
CN109618178A (zh) | 一种直播方法、装置及系统 | |
CN109218759A (zh) | 推送媒体流的方法、装置、服务器及存储介质 | |
CN108848386A (zh) | 跨多cpu和多gpu芯片的混合解码方法 | |
CN110012336A (zh) | 直播界面的图片配置方法、终端及装置 | |
CN108353196A (zh) | 发送设备、发送方法、接收设备、以及接收方法 | |
CN106331530A (zh) | 一种电视墙的同步快速切换显示方法、解码设备 | |
CN114363703B (zh) | 视频处理方法、装置及系统 | |
CN108040270A (zh) | 一种传输视频的方法及装置 | |
CN106791903A (zh) | 直播处理系统、设备、装置及方法 | |
WO2021207979A1 (zh) | 处理视频的装置和系统 | |
JP2010045774A (ja) | マルチキャスト向けコンテンツの効率的な配信に関するパケットのタグ付け | |
CN113316013B (zh) | 一种视频投屏方法及系统 | |
CN104811806A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181120 |
|
RJ01 | Rejection of invention patent application after publication |