多模mpeg系统层解复用方法技术方案

技术编号:4334031 阅读:339 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种多模mpeg系统层解复用方法,包括:根据mpeg1系统层和mpeg2系统层PS流的相似性,以及他们和mpeg2系统层TS流具有相同的系统首部、PES包以及ES数据单元,将三种解复用通过共用相似的模块,有机的融合在一起;解复用后,能够得到基本的音视频ES数据单元;能够有效提取节目的SCR/PCR时钟信息;具有帧扫描模块,只记录音视频帧序号和非零且与前一时间戳不等的PTS/DTS,减少存储空间。且该多模解复用方法充分利用了这几种mpeg系统层的相似性进行模块复用,节省指令存储空间。

【技术实现步骤摘要】

本专利技术涉及数字电视广播、DVD以及多媒体通信
,特别是一种多模mpeg 系统层解复用方法,能够完成多种系统层的解复用,提取时钟信息,并节省指令存储空间。
技术介绍
运动图像压縮编码国际标准mpegl和mpeg2在数字电视广播、DVD以及多媒体通 信领域中有着广泛的应用,如图1所示,其系统部分主要目的是将一个或多个节目的音视 频数据打包成基本的音视频ES包,然后加上时钟标签组成PES包,最后再将PES包和系统 时钟以及其他系统信息组成系统码流,以适应于存储和传输。在mpegl标准中,系统码流为 节目流(PS),而在mpeg2标准中,系统码流分为节目流(PS)和传输流(TS)节目流主要应用 发生错误几率较小的环境,并且适合于用软件处理系统信息的应用,例如DVD,而传输流则 被设计用于易出错的环境,如可能丢失数据或者有噪声的存储或传输媒体,例如数字电视 广播等。 在接收端,如图2所示,首先要从系统码流中分离出相应节目的音视频单元,并 提取相应的系统时钟信息(SCR/PCR)以及音视频的解码是中标签和显示时钟标签(DTS/ PTS),后续音视频解码器才能完成系统时钟重建、音视频同步解码及显示等功能。目前的大 多数解复用器都是针对单一的系统码流来设计的,而仅仅将多种系统码流的解复用放在一 起,又会占用大量不必要的资源。
技术实现思路
( — )要解决的技术问题 为了解决解复用器的应用对象单一的问题,本专利技术提供一种多模mpeg系统层解 复用方法,以有效的自适应的完成mpegl系统层、mpeg2系统层PS流以及mpeg2系统层TS 流的解复用,并通过共用相同模块,减少指令空间;本专利技术在解复用时,还能通过帧扫描模 块,只存储非零且与前一值不同的PTS/DTS,节省存储空间。 ( 二 )技术方案 为了达到上述目的,本专利技术采用的技术方案如下 —种,该方法包括 a、判断数据流的格式,如果数据流是mpegl/2系统层PS流,则执行步骤b ;如果数 据流是mpeg2系统层TS流,则执行步骤d ; b、判断该mpegl/2系统层PS流是mpegl标准的PS包还是mpeg2标准的PS包,并 对PS流的包头进行解析,然后判断PS流是否有系统首部,如果有系统首部则对该系统首部 进行解析,如果没有系统首部,则将得到的PES数据送入PES解析单元; c、检测到PES包数据之后,对PES包头进行解析,将得到的音视频ES数据送入存 储和帧扫描模块; d、在帧扫描模块中,如果有视频帧或音频帧,则帧数加1,若此时的音视频PTS/DTS不为零且与前一 PTS/DTS不等,则记录当前的帧数和对应的PTS/DTS,并将音视频ES数 据送入MEMORY,结束; e、对mpeg2系统层TS流的起始码进行同步,对达到同步后的TS包进行解析,分析 TS包的PSI信息中的PAT和PMT表,提取相应节目的音视频TS包负载; f 、对提取的音视频TS包负载进行PES头扫描,如果有PES头,则调用PES_mpeg2 进行解析,如果没有PES头,则将数据直接送入存储和帧扫描模块。 上述方案中,步骤a中所述判断数据流的格式是通过分析数据流的起始码实现 的。 上述方案中,步骤b中所述判断该mpegl/2系统层PS流是mpegl标准的PS包还 是mpeg2标准的PS包是通过分析数据流在起始码后的4bit数据实现的,具体包括如果 起始码之后的2bit数据为Ob01,则为mpeg2标准的PS包,如果起始码之后的4bit数据为 Ob0010,则为mpegl标准的PS包。 上述方案中,步骤e中所述分析TS包的PSI信息中的PAT和PMT表,提取相应节目 的音视频TS包负载的步骤,具体包括搜索TS流中的PAT表,解析后得到PMT表的PID值; 然后根据该值找到相应的PMT表,解析后得到各节目的音视频PID以及PCR的PID值;选择 某一节目,确定需要的音视频以及PCR的PID值;看是否需要的PCR的PID,如果是,则在其 传送流调整字段中提取PCR值保存;之后,再根据音视频PID值,提取相应的TS包负载。 上述方案中,步骤f所述扫描PES包头的步骤,具体包括对音视频TS包负载进行 扫描,如果有PES包头,则对PES包头进行解析,如果该TS包剩余数据不够PES包头长度, 则将PES包起始码后的数据缓存起来,加载在下一相同PID的TS包负载前,再进行PES包 头解析。 上述方案中,步骤b中所述对PS流的包头进行解析能够得到SCR,步骤e中所述对 TS包进行解析能够得到PCR,该SCR和该PCR具有有相同的结构,能够通过同一 SCR/PCR存 储模块保存数据。 上述方案中,步骤d中所述帧扫描模块,当扫描到视频帧头时,视频帧序号加l,检 测视频PES包头解析时记录的PTS/DTS,若此数据不为零,且与前一 PTS/DTS不同,则存储 此时的视频帧序号和对应的PTS/DTS ;当扫描到音频帧头时,音频帧序号加l,检测音频PES 包头解析时记录的PTS,若此数据不为零,且与前一 PTS不同,则存储此时的音频帧序号和 对应的PTS ;后续的音视频解码能够根据帧序号和PTS/DTS插值出其余的PTS/DTS。 上述方案中,步骤d中所述存入MEMORY的音视频ES数据以及提取的PTS/DTS,用于供后续的音视频解码和同步。 (三)有益效果 从上述技术方案可以看出,本专利技术具有以下有益效果 1、通过对码流的分析,能够自适应的完成mpegl系统层,mpeg2系统层PS流以及 TS流的解复用,得到音视频ES数据以及时钟信息; 2、通过复用系统首部解析模块,PES包头解析模块,PCR/SCR存储模块,数据存储 和帧扫描模块,在完成解复用功能的同时,能有效节约指令存储空间; 3、通过帧扫描模块,只存储帧数以及非零且不重复的PTS/DTS,有效的节约了存储 空间。附图说明 图1是,eg2协议的系统层PS流和TS流产生框图; 图2是系统层解复用以及解码的一般模式; 图3是本专利技术提供的多模mpeg系统层解复用的方法流程图; 图4是依照本专利技术实施例的多模mpeg系统层解复用的方法流程图; 图5是mpeg2系统层TS流PSI表解析原理图及对音视频包选择的示意图; 图6是本专利技术中提取的音视频帧数与对应时间戳的结构示意图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照 附图,对本专利技术进一步详细说明。 如图1所示,为mpeg2标准中的简化的总体框图,mpeg2系统层PS流和TS流都是 由音视频数据经过音视频编码器得到音视频ES包,再通过分组器,得到音视频PES包,然后 再通过不同的复用模式得到的,而mpegl的系统层与mpeg2系统层PS流具有相似的流程。 如图2所示,为mpeg系统层解复用和解码的一般模式,先通过不同模式的解复用, 将系统流分解得到音视频PES包,然后再分解得到音视频ES包,将其送入音视频解码器后 得到最后的音视频数据。 如图3所示,图3是本专利技术提供的多模mpeg系统层解复用的方法流程图,该方法 具体包括以下步骤 a、判断数据流的格式,如果数据流是mpegl/2系统层PS流,则执行步骤b ;如果数 据流是mpeg2系统层TS流,则执行步骤d本文档来自技高网...

【技术保护点】
一种多模mpeg系统层解复用方法,其特征在于,该方法包括:a、判断数据流的格式,如果数据流是mpeg1/2系统层PS流,则执行步骤b;如果数据流是mpeg2系统层TS流,则执行步骤d;b、判断该mpeg1/2系统层PS流是mpeg1标准的PS包还是mpeg2标准的PS包,并对PS流的包头进行解析,然后判断PS流是否有系统首部,如果有系统首部则对该系统首部进行解析,如果没有系统首部,则将得到的PES数据送入PES解析单元;c、检测到PES包数据之后,对PES包头进行解析,将得到的音视频ES数据送入存储和帧扫描模块;d、在帧扫描模块中,如果有视频帧或音频帧,则帧数加1,若此时的音视频PTS/DTS不为零且与前一PTS/DTS不等,则记录当前的帧数和对应的PTS/DTS,并将音视频ES数据送入MEMORY,结束;e、对mpeg2系统层TS流的起始码进行同步,对达到同步后的TS包进行解析,分析TS包的PSI信息中的PAT和PMT表,提取相应节目的音视频TS包负载;f、对提取的音视频TS包负载进行PES头扫描,如果有PES头,则调用PES_mpeg2进行解析,如果没有PES头,则将数据直接送入存储和帧扫描模块。...

【技术特征摘要】
一种多模mpeg系统层解复用方法,其特征在于,该方法包括a、判断数据流的格式,如果数据流是mpeg1/2系统层PS流,则执行步骤b;如果数据流是mpeg2系统层TS流,则执行步骤d;b、判断该mpeg1/2系统层PS流是mpeg1标准的PS包还是mpeg2标准的PS包,并对PS流的包头进行解析,然后判断PS流是否有系统首部,如果有系统首部则对该系统首部进行解析,如果没有系统首部,则将得到的PES数据送入PES解析单元;c、检测到PES包数据之后,对PES包头进行解析,将得到的音视频ES数据送入存储和帧扫描模块;d、在帧扫描模块中,如果有视频帧或音频帧,则帧数加1,若此时的音视频PTS/DTS不为零且与前一PTS/DTS不等,则记录当前的帧数和对应的PTS/DTS,并将音视频ES数据送入MEMORY,结束;e、对mpeg2系统层TS流的起始码进行同步,对达到同步后的TS包进行解析,分析TS包的PSI信息中的PAT和PMT表,提取相应节目的音视频TS包负载;f、对提取的音视频TS包负载进行PES头扫描,如果有PES头,则调用PES_mpeg2进行解析,如果没有PES头,则将数据直接送入存储和帧扫描模块。2. 根据权利要求1所述的多模mpeg系统层解复用方法,其特征在于,步骤a中所述判 断数据流的格式是通过分析数据流的起始码实现的。3. 根据权利要求1所述的多模mpeg系统层解复用方法,其特征在于,步骤b中所述判 断该mpegl/2系统层PS流是mpegl标准的PS包还是mpeg2标准的PS包是通过分析数据 流在起始码后的4bit数据实现的。4. 根据权利要求1所述的多模mpeg系统层解复用方法,其特征在于,步骤e中所述分 析TS包的PSI信息中的PAT和PMT表,提取相应节目的音视频TS包负载的步骤,具体包 括搜索TS流中的...

【专利技术属性】
技术研发人员:魏旭梁利平
申请(专利权)人:中国科学院微电子研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1