基于众核平台的音视频数据处理方法及装置制造方法

文档序号:7822599阅读:137来源:国知局
基于众核平台的音视频数据处理方法及装置制造方法
【专利摘要】本发明公开了一种基于众核平台的音视频数据处理方法及装置,该基于众核平台的音视频数据处理方法包括:通过第一核心处理器解码所述音视频数据的首片段得到音视频流的头信息;根据头信息的类型将头信息存储到对应的存储空间中;将所述音视频数据分为MP4格式、非MP4格式;根据与所述MP4或非MP4格式的音视频数据对应的头信息,对所述MP4或非MP4格式的音视频数据进行解码。本发明将MP4封装格式的音视频文件的解码跟其他封装格式的音视频文件的解码很好的结合在一起,并将MP4格式的头信息保存在其对应的存储空间中从而做到可控,通过上述方法可以很好的满足互联网视频监管时分片解码的需要。
【专利说明】 基于众核平台的音视频数据处理方法及装置

【技术领域】
[0001]本发明涉及数据处理领域,具体来说,涉及一种基于众核平台的音视频数据处理方法及装置。

【背景技术】
[0002]随着互联网的飞速发展,基于网络的音视频传输流量也越来越大,网络音视频流已深入到了人们的日常生活,给我们的生活带来了很多方便和变化,而不断出现庞大的、不同内容的图像信息库,也似乎给我们带来了不少的困扰,网上大量不良图像对广大青年人的有很多毒害。为了净化网络,维护社会和谐安定,迫切需要对网络上的音视频内容进行监管。
[0003]互联网视频监管需要同时对音频视频流进行内容分析处理,需要加速卡能够处理大量数据片段,这些片段属于某一个视频流,但只有第一个视频流片段带有解码所需要的元数据信息,即通常所说的音视频流的头信息。在解码音视频流的非第一个片段时,需要恢复该音视频流的头信息,以便后续解码。随着互联网的飞速发展,由于MP4文件格式其自身的优越性,作为一个容器的MP4可以封装多种编码格式的音视频数据,MP4在网络音视频流中所占的比重也越来越大。
[0004]现有的互联网上音视频流存在多种格式的音视频文件,以视频文件为例,常见的封装格式有FLV、ASF、AV1、MPG、RM、MP4等。早期网络音视频流中以前五种格式为主,在音视频流的分片处理中,音视频流的头信息大小比较固定,在解码非第一个音视频流片段时,对头信息的保存和恢复比较容易,如通过共享内存或消息传递机制。随着互联网的飞速发展,MP4在网络音视频流中所占的比重也越来越大,由于MP4封装格式其自身的特点,MP4的头信息大小不再是固定的,而是随着一路MP4会话的大小的增大而增大,即MP4视频文件越大,在MP4音视频流分片处理时,需要保存和恢复的头信息也就越大。理论上MP4视频文件的大小如果没有上限,头信息的大小也就没有上限,这样原有的针对音视频流头信息处理的固定大小空间的策略就不再适用了。
[0005]针对相关技术中的问题,目前尚未提出有效的解决方案。


【发明内容】

[0006]针对相关技术中的问题,本发明提出一种基于众核平台的音视频数据处理方法及
目.ο
[0007]本发明的技术方案是这样实现的:
[0008]根据本发明的一个方面,提供了一种基于众核平台的音视频数据处理方法。
[0009]该方法包括:
[0010]通过第一核心处理器解码所述音视频数据的首片段得到音视频流的头信息;
[0011]根据头信息的类型将头信息存储到对应的存储空间中;
[0012]将所述音视频数据分为MP4格式、非MP4格式;
[0013]根据与所述MP4或非MP4格式的音视频数据对应的头信息,对所述MP4或非MP4格式的音视频数据进行解码。
[0014]其中,根据头信息的类型将头信息存储到对应的存储空间中,包括:
[0015]当头信息的类型为非MP4格式的头信息时,将所述非MP4格式的头信息存储在一固定大小的结构体中保存;
[0016]当头信息的类型为MP4格式的头信息时,将所述MP4格式的头信息通过预定算法存储在本地的进程空间中。
[0017]此外,通过轮询的方式获取所述音视频数据的数据片段。
[0018]其中,该方法进一步包括:
[0019]所述结构体通过共享内存获得,且所述结构体可以由所述众核平台的核心处理器共孚;
[0020]根据所述结构体中保存的所述非MP4格式的头信息对所述非MP4格式的音视频数据进行解码。
[0021]其中,通过所述众核平台中除去所述第一核心处理器以外的核心处理器对所述MP4格式的音视频数据进行解码。
[0022]根据本发明的另一方面还提供了一种基于众核平台的音视频数据处理装置,包括:
[0023]第一解码模块,用于通过第一核心处理器解码所述音视频数据的首片段得到音视频流的头信息;
[0024]存储模块,用于根据头信息的类型将头信息存储到对应的存储空间中;
[0025]分类模块,用于将所述音视频数据分为MP4格式、非MP4格式;
[0026]第二解码模块,用于根据与所述MP4或非MP4格式的音视频数据对应的头信息,对所述MP4或非MP4格式的音视频数据进行解码。
[0027]其中,所述存储模块进一步用于:
[0028]当头信息的类型为非MP4格式的头信息时,将所述非MP4格式的头信息存储在一固定大小的结构体中保存;
[0029]当头信息的类型为MP4格式的头信息时,将所述MP4格式的头信息通过预定算法存储在本地的进程空间中。
[0030]其中,该装置还包括:
[0031]获取模块,用于通过轮询的方式获取所述音视频数据的数据片段。
[0032]其中,所述结构体通过共享内存获得,且所述结构体可以由所述众核平台的核心处理器共享;
[0033]所述第二解码模块进一步用于,根据所述结构体中保存的所述非MP4格式的头信息对所述非MP4格式的音视频数据进行解码。
[0034]其中,所述第二解码模块进一步用于,通过所述众核平台中除去所述第一核心处理器以外的核心处理器对所述MP4格式的音视频数据进行解码。
[0035]本发明将MP4封装格式的音视频文件的解码跟其他封装格式的音视频文件的解码很好的结合在一起,并将MP4格式的头信息保存在其对应的存储空间中从而做到可控,通过上述方法可以很好的满足互联网视频监管时分片解码的需要。

【专利附图】

【附图说明】
[0036]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0037]图1是根据本发明实施例的基于众核平台的音视频数据处理方法的流程图;
[0038]图2是根据本发明实施例的基于众核平台的音视频数据处理方法的示意性流程图;
[0039]图3是根据本发明实施例的基于众核平台的音视频数据处理装置的框图。

【具体实施方式】
[0040]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0041]根据本发明的实施例,提供了一种基于众核平台的音视频数据处理方法,在实现本方案的过程中,发明人发现本发明所使用的众核处理平台Tilera众核CPU可以在单芯片上提供64个处理器核心,每个核心可以独立运行,可通过共享内存和消息传递机制来进行通信,为大规模多路音视频流的并行计算提供计算平台。
[0042]如图1所示,根据本发明实施例的基于众核平台的音视频数据处理方法包括:
[0043]步骤S101,通过第一核心处理器解码音视频数据的首片段得到音视频流的头信息;
[0044]步骤S103,根据头信息的类型将头信息存储到对应的存储空间中;
[0045]步骤S105,将音视频数据分为MP4格式、非MP4格式;
[0046]步骤S107,根据与MP4或非MP4格式的音视频数据对应的头信息,对MP4或非MP4格式的音视频数据进行解码。
[0047]其中,根据头信息的类型将头信息存储到对应的存储空间中,包括:
[0048]当头信息的类型为非MP4格式的头信息时,将非MP4格式的头信息存储在一固定大小的结构体中保存;
[0049]当头信息的类型为MP4格式的头信息时,将MP4格式的头信息通过预定算法存储在本地的进程空间中。
[0050]此外,本发明是通过轮询的方式获取音视频数据的数据片段的。
[0051]并且,结构体是通过共享内存获得的,结构体可以由众核平台的核心处理器共
[0052]根据结构体中保存的非MP4格式的头信息对非MP4格式的音视频数据进行解码。
[0053]其中,通过众核平台中除去第一核心处理器以外的核心处理器对MP4格式的音视频数据进行解码。
[0054]为了更好的理解本发明的技术方案,如图2示出了本发明的基于众核平台的音视频数据的处理方法的示意图,在一个具体的实施例中本发明的实现过程如下所示:
[0055](I)众核平台中所有核心都跟一个固定进程绑定,初期由初始核心完成必要的初始化跟进程绑定;
[0056](2)用一个核心接收带解码的音视频分片数据,将其分成两类:音视频流的第一个片段和非第一个片段,并将其插入到两个不同的待解码的任务队列;
[0057](3)用一个核心专门解码音视频流第一个片段,解析出音视频流的头信息后,非MP4的头信息采用一个固定大小的结构体保存,这些结构体资源来自共享内存,以后供其他核心的进程使用;而若判断出解析的为MP4的头信息则直接返回。并依据是否为MP4音视频流将待解码任务分成两类MP4stream和NonMP4stream ;
[0058](4)(2)中的非第一个片段和(3)中的MP4stream以及NonMP4stream都被送至剩余核心去解码,我们把这些核心称为解码核心;
[0059](5)依据音视频流的特性,第一个片段成功返回后,后续的片段才会被送至解码端,所以基于(3)有关音视频流头信息的解析,非第一个片段也将进行MP4和非MP4的分类。为保证MP4跟非MP4的解码的时序,我们在解码核心中采用轮循的方式获取两类任务;
[0060](6)非MP4音视频流从保存在共享内存中的结构体中获取头信息,进行头信息的恢复,进而解码非第一个片段的后续片段。非MP4音视频流的解码跟具体解码核心无关;
[0061](7)MP4音视频流的解码是建立在单一 MP4会话跟单一解码核心一一对应这样关系的基础上的。解析MP4头信息,通过某一特定算法将其保存在本地的进程空间内,待后续非第一个片段解码时再将该会话的头信息恢复和调整;
[0062](8)当某一会话的所有片段都被解码或该会话被老化后,再将其保存共享内存的非MP4的头信息或自身进程空间中的头信息释放;
[0063](9)最后有专门的输出核心将解码结果输出。
[0064]其中,MP4头信息的处理算法如下:
[0065]由于MP4的头信息会随MP4文件大小的变化而变化,基于这种特殊性会对MP4的解码,尤其是MP4的头信息作单独处理。共享内存空间极其有限,选择本地进程空间作MP4头信息的保存空间。因MP4头信息大小没上限,为避免系统内存耗尽,针对MP4头信息的保存空间作可控的分配和回收处理。每个解码核心都有独立的用来保存MP4头信息的资源池,这些资源池有一个个大小可配且一样的内存片段组成。MP4的头信息有若干重要的我们称为索引的数据块组成,在解析某个索引后,根据其大小我们从当前进程的头信息的资源池中申请若干内存片段,并记录每个内存片段的地址,将该索引保存。在解码后续MP4音视频片段时,将该索引恢复并调整。待该MP4会话所有片段都被解码或该会话被老化后,再将这些记录的内存片段归还到当前进程保存头信息的资源池。
[0066]根据本发明的实施例,还提供了一种基于众核平台的音视频数据处理装置。
[0067]如图3所示,根据本发明实施例的基于众核平台的音视频数据处理装置,包括:
[0068]第一解码模块31,用于通过第一核心处理器解码音视频数据的首片段得到音视频流的头信息;
[0069]存储模块32,用于根据头信息的类型将头信息存储到对应的存储空间中;
[0070]分类模块33,用于将音视频数据分为MP4格式、非MP4格式;
[0071]第二解码模块34,用于根据与MP4或非MP4格式的音视频数据对应的头信息,对MP4或非MP4格式的音视频数据进行解码。
[0072]其中,存储模块32进一步用于:
[0073]当头信息的类型为非MP4格式的头信息时,将非MP4格式的头信息存储在一固定大小的结构体中保存;
[0074]当头信息的类型为MP4格式的头信息时,将MP4格式的头信息通过预定算法存储在本地的进程空间中。
[0075]其中,该装置还包括:
[0076]获取模块(未示出),用于通过轮询的方式获取音视频数据的数据片段。
[0077]其中,结构体通过共享内存获得,且结构体可以由众核平台的核心处理器共享;
[0078]第二解码模块34进一步用于,根据结构体中保存的非MP4格式的头信息对非MP4格式的音视频数据进行解码。
[0079]其中,第二解码模块34进一步用于,通过众核平台中除去第一核心处理器以外的核心处理器对MP4格式的音视频数据进行解码。
[0080]本发明的众核平台可以根据需要将众多核心处理器进行分类处理,即众核平台中的多个核心处理器可以独立工作也可以相互配合工作,工作人员可以根据实际需要对多个处理器进行分配。
[0081]本发明将MP4封装格式的音视频文件的解码跟其他封装格式的音视频文件的解码很好的结合在一起,并将MP4格式的头信息保存在其对应的存储空间中从而做到可控,通过上述方法可以很好的满足互联网视频监管时分片解码的需要。
[0082]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于众核平台的音视频数据处理方法,其特征在于,包括: 通过第一核心处理器解码所述音视频数据的首片段得到音视频流的头信息; 根据头信息的类型将头信息存储到对应的存储空间中; 将所述音视频数据分为MP4格式、非MP4格式; 根据与所述MP4或非MP4格式的音视频数据对应的头信息,对所述MP4或非MP4格式的音视频数据进行解码。
2.根据权利要求1所述的方法,其特征在于,根据头信息的类型将头信息存储到对应的存储空间中,包括: 当头信息的类型为非MP4格式的头信息时,将所述非MP4格式的头信息存储在一固定大小的结构体中保存; 当头信息的类型为MP4格式的头信息时,将所述MP4格式的头信息通过预定算法存储在本地的进程空间中。
3.根据权利要求1所述的方法,其特征在于,通过轮询的方式获取所述音视频数据的数据片段。
4.根据权利要求2所述的方法,其特征在于,进一步包括: 所述结构体通过共享内存获得,且所述结构体可以由所述众核平台的核心处理器共 根据所述结构体中保存的所述非MP4格式的头信息对所述非MP4格式的音视频数据进行解码。
5.根据权利要求1所述的方法,其特征在于,通过所述众核平台中除去所述第一核心处理器以外的核心处理器对所述MP4格式的音视频数据进行解码。
6.一种基于众核平台的音视频数据处理装置,其特征在于,包括: 第一解码模块,用于通过第一核心处理器解码所述音视频数据的首片段得到音视频流的头信息; 存储模块,用于根据头信息的类型将头信息存储到对应的存储空间中; 分类模块,用于将所述音视频数据分为MP4格式、非MP4格式; 第二解码模块,用于根据与所述MP4或非MP4格式的音视频数据对应的头信息,对所述MP4或非MP4格式的音视频数据进行解码。
7.根据权利要求6所述的装置,其特征在于,所述存储模块进一步用于: 当头信息的类型为非MP4格式的头信息时,将所述非MP4格式的头信息存储在一固定大小的结构体中保存; 当头信息的类型为MP4格式的头信息时,将所述MP4格式的头信息通过预定算法存储在本地的进程空间中。
8.根据权利要求6所述的装置,其特征在于,包括: 获取模块,用于通过轮询的方式获取所述音视频数据的数据片段。
9.根据权利要求7所述的装置,其特征在于,包括: 所述结构体通过共享内存获得,且所述结构体可以由所述众核平台的核心处理器共 所述第二解码模块进一步用于,根据所述结构体中保存的所述非MP4格式的头信息对所述非MP4格式的音视频数据进行解码。
10.根据权利要求6所述的装置,其特征在于,所述第二解码模块进一步用于,通过所述众核平台中除去所述第一核心处理器以外的核心处理器对所述MP4格式的音视频数据进行解码。
【文档编号】H04N21/4405GK104506936SQ201410758709
【公开日】2015年4月8日 申请日期:2014年12月10日 优先权日:2014年12月10日
【发明者】何丁丁 申请人:曙光信息产业(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1