CN102761746A - 基于众核平台的音视频解码方法 - Google Patents
基于众核平台的音视频解码方法 Download PDFInfo
- Publication number
- CN102761746A CN102761746A CN2012102424837A CN201210242483A CN102761746A CN 102761746 A CN102761746 A CN 102761746A CN 2012102424837 A CN2012102424837 A CN 2012102424837A CN 201210242483 A CN201210242483 A CN 201210242483A CN 102761746 A CN102761746 A CN 102761746A
- Authority
- CN
- China
- Prior art keywords
- audio
- video
- stream
- decoded
- data
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供了一种基于众核平台的音视频解码方法,包括以下步骤:确定接收到的待解码数据流是视频数据流还是音频数据流;如果接收到视频数据流,则根据视频数据流的压缩格式类型来确定视频数据流的描述节点,并对视频数据流进行解码;以及如果接收到音频流数据,则对音频流数据进行解码。本发明针对网络音视频混合流采用并行解码任务调度算法,可以动态调整音频占用的核心数量,使得各个视频流各片段输入得到的响应延迟和整个流的响应延迟间达到均衡。
Description
技术领域
本发明涉及数据解码领域,更具体地,本发明涉及基于众核平台的音视频解码方法。
背景技术
随着互联网的飞速发展,基于网络的音视频传输流量也越来越大,网络音视频流已深入到了人们的日常生活,给我们的生活带来了很多方便和变化。然而,不断出现庞大的、不同内容的图像信息库,也似乎给我们带来了不少的困扰,网上大量不良图像对广大青年人的有很多毒害。为了净化网络,维护社会和谐安定,迫切需要对网络上的音视频内容进行监管。
音视频内容监管需要高性能的解码系统,能够满足互联网海量音视频数据的并行解码需求。此外,互联网视频监管需要同时对音频视频流进行内容分析处理,需要加速卡能够同时处理大量的视频和音频流并发解码。所处理的音频流任务片段相对固定,需要的解码资源相对稳定。
Tilera众核CPU可以在单芯片上提供64个处理器核心,每个核心都可以独立运行,可通过共享内存和消息传递机制来进行通信,为大规模多路音视频流的并行计算提供计算平台。
在CN101466041中提出了一种多核处理器的多视点视频编码的任务调度方法,其根据图像组的编号和参数,参照设定的优先级设置方法,将优先级最高的视频帧分配到多核处理器的空闲核上进行编码。
然而,现有技术不适用视频内容监管系统和加速卡的应用模式,因为大量的视频解码任务片段是属于同一个流,流路数多,不同流任务片段数目差异大,因此需要兼顾负载均衡和流的响应延迟。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出一种基于众核平台的音视频并行解码系统架构,能够满足海量数据流内容监管的需求。
本发明提供了一种基于众核平台的音视频解码方法,包括以下步骤:确定接收到的待解码数据流是视频数据流还是音频数据流;如果接收到视频数据流,则根据视频数据流的压缩格式类型来确定视频数据流的描述节点,并对视频数据流进行解码;以及如果接收到音频流数据,则对音频流数据进行解码。
优选地,在确定待解码数据流的类型之前,该方法还包括:将众核平台的多个核心分为至少包括一个或多个输入/输出组、一个或多个预处理组和一个或多个解码组的多组,其中,一个或多个输入/输出组用于接收待解码数据流,所述一个或多个预处理组用于对待解码数据流进行预处理,以及一个或多个解码组用于对待解码数据流进行解码。
优选地,在确定描述节点之前,该方法还包括:确定是否已知视频数据流的压缩格式类型。
其中,如果压缩格式类型未知,则将视频数据流发送给一个或多个预处理组,用于对视频流数据进行预处理;全局任务调度模块根据经过预处理的视频流数据的压缩格式类型选择一个或多个解码组中负载最轻的组并创建所述视频流数据的描述节点。
优选地,根据解码组中待解码数据格式权重、已解码片段负载修正值、片段数量、负载的音频任务片段来计算负载的轻重。
此外,如果压缩格式类型已知,则全局任务调度模块根据任务描述信息中的解码组的组号,在对应解码组的流描述节点池中哈希计算查找流描述节点位置并更新描述节点。
优选地,描述节点包括流号、当前未解码的片段数和正在处理的片段数。
优选地,对音频流数据进行解码包括:根据当前全局视频负载情况或系统设置的音频最多占用核心阈值,在一个或多个解码组中选择负载最轻的核心中加入音频流数据,从而在该核心中对音频流数据进行解码。
优选地,多组还包括选择根据板上应用系统启动配置设定的专用音频资源组,并在专用音频资源组中对音频流数据进行解码。
优选地,对视频流数据进行解码包括在一个解码组中进行解码,包括以下步骤:在一个核心空闲时,组内调度模块到本组任务资源池中获取视频流数据的描述节点,解码节点任务片段链表中的第一个数据片段或者根据配置文件来配置连续解码几个片段;如果任务流池为空,则继续解码后续片段,否则将视频流数据归还到任务流池中;如果任务片段链表为空,则释放描述节点;以及
在解码完每个视频片段之后确定是否具有音频片段,如果有的话,则对音频片段进行解码。
本发明针对网络音视频混合流采用并行解码任务调度算法,可以动态调整音频占用的核心数量,使得各个视频流各片段输入得到的响应延迟和整个流的响应延迟间达到均衡。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的基于众核平台的音视频解码方法的流程图;以及
图2是本发明音视频解码处理的一个实施例的详细示图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
下面,参照图1和图2详细描述本发明。
图1是根据本发明实施例的基于众核平台的音视频解码方法的流程图;以及图2是本发明音视频解码处理的一个实施例的详细示图。
参照图1,本发明实施例的基于众核平台的音视频解码方法包括以下步骤:S102,确定接收到的待解码数据流是视频数据流还是音频数据流;S104,如果接收到视频数据流,则根据视频数据流的压缩格式类型来确定视频数据流的描述节点,并对视频数据流进行解码;以及S106,如果接收到音频流数据,则对音频流数据进行解码。
此外,在确定待解码数据流的类型之前,该方法还包括:将众核平台的多个核心分为至少包括一个或多个输入/输出组、一个或多个预处理组和一个或多个解码组的多组,其中,一个或多个输入/输出组用于接收待解码数据流,一个或多个预处理组用于对待解码数据流进行预处理,以及一个或多个解码组用于对待解码数据流进行解码。
参照图2,示出了各个组构成的众核平台,其采用针对网络音视频流进行并行解码的处理架构,众核资源分组架构是把众核的多个核心分组,形成以组为单位的资源池,其中本发明的任务调度算法涉及全局流任务分配和组内任务调度两个部分。
以下具体描述该架构。从图2中可以看出,将多个核心(通过C表示处理器的核心)进行分组,从而形成以组为单位的资源池。在该实施例中,将核心分为了输入/输出(IO)组、预处理组和解码组。
其中,IO组负责数据的发送和接收;预处理组负责新数据流的数据预处理和流任务分发调度;以及解码组负责该组分配的数据流的解码。
注意,图2中所示各个组中的处理器核心的数量仅仅是示意性的,本领域的技术人员能够理解,根据不同的应用可以调整每组中的核心的数量。此外,图2中将多个核心分为IO组、预处理组和解码组,但本领域的技术人员也可以根据具体的处理要求增加完成其他功能的组,诸如后面描述的专用音频资源组。
在图2中,用S表示多个任务流,每个任务流具有唯一的标识号,分别标为S0、...、Sn,用F表示视频片段,每个任务流都具有多个视频片段,视频片段号从0开始依次递增,如F0、F1、...、Fn;以及用A表示音频片段,音频片段号从0开始依次递增,如A0、A1、...、An。
在确定描述节点之前,该方法还包括:确定是否已知视频数据流的压缩格式类型。
如果IO组接收到未知类型的新视频流数据(待解码数据压缩格式未知),则将视频数据流发送给预处理组,用于对视频流数据进行预处理。全局任务调度模块接收到经过预处理的新视频流数据之后,根据待解码数据压缩格式类型,选择负载最轻的资源组(资源组是对所有计算核心的描述,在分配给解码用后就成为解码组)进行分配(负载轻重计算根据当前资源组待解码数据格式权重、已解码片断负载修正值、片断数量、负载的音频任务片段等),创建对该流的描述节点,包括流号、当前未解码片断数,正在处理的片断号等。
如果接收到已知类型的数据,表明对该流已进行过处理,则全局任务调度模块根据任务描述信息中的组号,在对应解码组的流描述节点池中哈希计算查找流描述节点位置并更新所述描述节点。
此外,如果接收到音频流数据,则直接交给全局任务调度模块,其根据当前全局视频负载情况或者系统设置的音频最多占用核心阈值,选择负载最轻的核心加入音频任务;优先选择根据板上应用系统启动配置设定的专用音频资源组。
本发明涉及的视频流数据解码处理包括组内任务调度算法,具体包括:
首先,在核心空闲时,组内任务调度模块到本组任务资源池中获取一个视频任务流描述节点,解码节点任务链表第一个数据片断或根据配置文件配置连续解码几个片断。
接下来,如果任务池为空,则继续解码后续片断,否则归还该数据流到本组任务流池。具体来说,任务池中放的是任务流,每个流包括很多个片段,在处理完某个流的一个片段或者几个片段(这根据配置文件配置的参数来决定),当前任务已经完成,如果任务流池里为空,说明归还当前任务流,并不能获取新的任务流,那么就不归还,继续处理当前任务流的后续片段;如果当前任务流已经没有任务片段了,则做归还释放处理。
接着,如果该流任务片断链表为空,则释放流描述节点。
最后,每个视频任务片段处理完则查看本组是否有音频任务,如果有的话则处理一个音频任务。
注意,如何创建描述节点、对数据流进行解码等处理都是本领域的公知技术,并不属于本发明的范畴,故本文省略相关描述以简化说明。
综上所述,借助于本发明的上述技术方案,利用众核的众多核心,考虑互联网音视频流的特性,通过分组策略进行数据并行和功能并行,并根据处理数据音视频流量负载,动态调节音视频的计算资源分配,可以满足对音频和视频流内容解码检测的性能需求。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于众核平台的音视频解码方法,其特征在于,所述方法包括以下步骤:
确定接收到的待解码数据流是视频数据流还是音频数据流;
如果接收到所述视频数据流,则根据所述视频数据流的压缩格式类型来确定所述视频数据流的描述节点,并对所述视频数据流进行解码;以及
如果接收到所述音频流数据,则对所述音频流数据进行解码。
2.根据权利要求1所述的方法,其特征在于,在确定所述待解码数据流的类型之前,所述方法还包括:
将所述众核平台的多个核心分为至少包括一个或多个输入/输出组、一个或多个预处理组和一个或多个解码组的多组,其中,所述一个或多个输入/输出组用于接收所述待解码数据流,所述一个或多个预处理组用于对所述待解码数据流进行预处理,以及所述一个或多个解码组用于对所述待解码数据流进行解码。
3.根据权利要求2所述的方法,其特征在于,在确定所述描述节点之前,所述方法还包括:
确定是否已知所述视频数据流的所述压缩格式类型。
4.根据权利要求3所述的方法,其特征在于,如果所述压缩格式类型未知,则
将所述视频数据流发送给所述一个或多个预处理组,用于对所述视频流数据进行预处理;
全局任务调度模块根据经过预处理的视频流数据的压缩格式类型选择所述一个或多个解码组中负载最轻的组并创建所述视频流数据的描述节点。
5.根据权利要求4所述的方法,其特征在于,根据解码组中待解码数据格式权重、已解码片段负载修正值、片段数量、负载的音频任务片段来计算负载的轻重。
6.根据权利要求3所述的方法,其特征在于,如果所述压缩格式类型已知,则
全局任务调度模块根据任务描述信息中的解码组的组号,在对应解码组的流描述节点池中哈希计算查找流描述节点位置并更新所述描述节点。
7.根据权利要求4或6所述的方法,其特征在于,所述描述节点包括流号、当前未解码的片段数和正在处理的片段数。
8.根据权利要求2所述的方法,其特征在于,对所述音频流数据进行解码包括:根据当前全局视频负载情况或系统设置的音频最多占用核心阈值,在所述一个或多个解码组中选择负载最轻的核心中加入所述音频流数据,从而在该核心中对所述音频流数据进行解码。
9.根据权利要求2所述的方法,其特征在于,所述多组还包括选择根据板上应用系统启动配置设定的专用音频资源组,并在所述专用音频资源组中对所述音频流数据进行解码。
10.根据权利要求2所述的方法,其特征在于,对所述视频流数据进行解码包括在一个解码组中进行解码,包括以下步骤:
在一个核心空闲时,组内调度模块到本组任务资源池中获取所述视频流数据的描述节点,解码节点任务片段链表中的第一个数据片段或者根据配置文件来配置连续解码几个片段;
如果任务流池为空,则继续解码后续片段,否则将所述视频流数据归还到所述任务流池中;
如果所述任务片段链表为空,则释放所述描述节点;以及
在解码完每个视频片段之后确定是否具有音频片段,如果有的话,则对所述音频片段进行解码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102424837A CN102761746A (zh) | 2012-07-12 | 2012-07-12 | 基于众核平台的音视频解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102424837A CN102761746A (zh) | 2012-07-12 | 2012-07-12 | 基于众核平台的音视频解码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102761746A true CN102761746A (zh) | 2012-10-31 |
Family
ID=47056049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012102424837A Pending CN102761746A (zh) | 2012-07-12 | 2012-07-12 | 基于众核平台的音视频解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102761746A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112492379A (zh) * | 2019-09-12 | 2021-03-12 | 曙光信息产业(北京)有限公司 | 音视频多路并发解码方法、装置和计算机设备 |
CN114205613A (zh) * | 2021-12-02 | 2022-03-18 | 北京智美互联科技有限公司 | 互联网音视频数据同步压缩的方法和系统 |
CN114863741A (zh) * | 2022-05-20 | 2022-08-05 | 安徽文香科技有限公司 | 一种用于线上教学的设备通信方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459848A (zh) * | 2008-12-26 | 2009-06-17 | 西安交通大学 | 一种分布式多格式数字视频转码结构设计方法 |
CN101516032A (zh) * | 2009-03-13 | 2009-08-26 | 深圳市泛海三江电子有限公司 | 一种视频数据的抽取处理方法 |
-
2012
- 2012-07-12 CN CN2012102424837A patent/CN102761746A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459848A (zh) * | 2008-12-26 | 2009-06-17 | 西安交通大学 | 一种分布式多格式数字视频转码结构设计方法 |
CN101516032A (zh) * | 2009-03-13 | 2009-08-26 | 深圳市泛海三江电子有限公司 | 一种视频数据的抽取处理方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112492379A (zh) * | 2019-09-12 | 2021-03-12 | 曙光信息产业(北京)有限公司 | 音视频多路并发解码方法、装置和计算机设备 |
CN112492379B (zh) * | 2019-09-12 | 2023-02-28 | 曙光信息产业(北京)有限公司 | 音视频多路并发解码方法、装置和计算机设备 |
CN114205613A (zh) * | 2021-12-02 | 2022-03-18 | 北京智美互联科技有限公司 | 互联网音视频数据同步压缩的方法和系统 |
CN114863741A (zh) * | 2022-05-20 | 2022-08-05 | 安徽文香科技有限公司 | 一种用于线上教学的设备通信方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110856018B (zh) | 一种基于云计算的监控系统中的快速转码方法及系统 | |
CN110769278B (zh) | 一种分布式视频转码方法及系统 | |
CN106445675B (zh) | 一种b2b平台分布式应用调度与资源分配方法 | |
CN105242956A (zh) | 虚拟功能服务链部署系统及其部署方法 | |
CN103974081B (zh) | 一种基于多核处理器Tilera的HEVC编码方法 | |
CN103268263B (zh) | 一种动态调整多图形处理器负载的方法及系统 | |
WO2017166643A1 (zh) | 一种任务资源的量化方法和装置 | |
CN109947551A (zh) | 一种多轮次任务分配方法、边缘计算系统及其存储介质 | |
CN102594891A (zh) | 用于处理远程过程调用请求的方法及系统 | |
CN106598727B (zh) | 一种通信系统的计算资源分配方法及系统 | |
CN101533362A (zh) | 进程间cpu资源平衡调度方法 | |
CN104618253B (zh) | 一种动态变更的传输报文处理方法和装置 | |
CN102945185B (zh) | 任务调度方法及装置 | |
CN102761746A (zh) | 基于众核平台的音视频解码方法 | |
CN114968566A (zh) | 一种面向共享式gpu集群下的容器调度方法及装置 | |
CN115086298A (zh) | 文件传输方法及装置 | |
CN110677876A (zh) | 一种流量种类预测的前传网络资源分配方法 | |
CN104965762B (zh) | 一种面向混合任务的调度系统 | |
CN105471770B (zh) | 一种基于多核处理器的报文处理方法及装置 | |
CN113342526B (zh) | 云计算移动网络资源动态管控方法、系统、终端及介质 | |
CN103297511A (zh) | 高度动态环境下的客户端/服务器的调度方法和系统 | |
CN106201721A (zh) | 一种基于虚拟化技术的内存动态调整方法及系统 | |
CN107204930A (zh) | 令牌添加方法及装置 | |
JP2013196695A (ja) | 仮想マシン割り当てシステム及びその方法 | |
CN110996114B (zh) | 一种直播调度方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20121031 |