CN100391261C - 一种传输流复用的方法 - Google Patents

一种传输流复用的方法 Download PDF

Info

Publication number
CN100391261C
CN100391261C CNB2005101111479A CN200510111147A CN100391261C CN 100391261 C CN100391261 C CN 100391261C CN B2005101111479 A CNB2005101111479 A CN B2005101111479A CN 200510111147 A CN200510111147 A CN 200510111147A CN 100391261 C CN100391261 C CN 100391261C
Authority
CN
China
Prior art keywords
frame
bag
tspacket
video
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.)
Active
Application number
CNB2005101111479A
Other languages
English (en)
Other versions
CN1794812A (zh
Inventor
李萍
李国平
陈勇
赵海武
侯钢
王国中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai GMT Digital Technology Co., Ltd.
Original Assignee
Central Academy of SVA Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Central Academy of SVA Group Co Ltd filed Critical Central Academy of SVA Group Co Ltd
Priority to CNB2005101111479A priority Critical patent/CN100391261C/zh
Publication of CN1794812A publication Critical patent/CN1794812A/zh
Application granted granted Critical
Publication of CN100391261C publication Critical patent/CN100391261C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

一种传输流复用的方法,先根据输入的视音频数据,对复用器进行初始化,再生成三类数据:节目特定信息PSI、节目时钟信息PCR和音视频数据的PES包,将得到的三种数据根据标准中规定的传输流的TS包的语法格式打包成TS包,即节目特定信息包,节目时钟信息包和填充包,最后将四种TS包复用成传输速率恒定的传输流。本发明提供的一种传输流复用的方法,提供一种简单且效率高的复用速率完全恒定的传输流的方法,这种传输流不但能够在本地流畅的播放,也能够很顺利的发送到卫星通道上。

Description

一种传输流复用的方法
技术领域
本发明涉及一种传输流复用的方法。
背景技术
现在已经成熟应用的数字音视频编解码标准,如MPEG-2,以及近年出现的一批具有代表性的国际标准,如MPEG-4、H.264/MPEG-4AVC、我国自主制定的标准AVS等,这些标准中都有一部分称为系统部分,这部分主要讨论了如何将单路或多路基本音频和视频流以及其他数据组合成适合于存储和传输的单路和多路复合流。传输流就是系统部分定义的一种数据流,它将具有一个或者多个不同时钟基准的一个或多个节目组成一个单一流,其速率可以是恒定的也可以是可变的。传输流是针对在那些可能会出现显著错误(往往表现为位差错或丢失分组)的环境中进行节目传输而定义的,例如卫星传输。
目前,已经有一些软件能够完成传输流的复用的功能,即它们可以将单路或多路基本音频和视频流合成为一个符合MPEG-2等标准系统层规定的传输流的语法要求的码流。这样的传输流可以在media player等播放器中流畅的播放,同时,视音频也能很好的同步,但是,这些软件复用出的传输流的传输速率不是很精确的恒定,这样这种复用软件就不能应用在对传输流的传输率要求完全的精确的恒定的场合,例如,用卫星信道传输节目时,这种传输流就会因为传输率不是完全的恒定而不能发送到卫星信道上。例如,VLC中就有复用传输流的功能,但是,它复用的传输流的速率不是完全精确的恒定,这种传输流在往卫星信道上发送时就会碰到上述的问题。
发明内容
本发明提供的一种传输流复用的方法,提供一种简单且效率高的复用速率完全恒定的传输流的方法,这种传输流不但能够在本地流畅的播放,也能够很顺利的发送到卫星通道上。
为了达到上述目的,本发明提供一种传输流复用的方法,其包含以下步骤:
步骤1、根据输入的视音频数据,对复用器进行初始化;
步骤1.1、解析输入的视频基本流中的视频序列头(Sequence header),得到该视频序列的帧速率video.Frame_rate;
步骤1.2、根据复用后要得到的恒定的传输流速率Trans_rate和视频流的帧速率video.Frame_rate计算出Packet_2PCR,Packet_2PCR代表同一节目的两个PCR(Program Clock Reference,节目时钟信息)包之间应该有多少个TS(Transport Stream,传输流)包:
Packet_2PCR=Trans_rate/(188*8*video.Frame_rate)
步骤2、根据步骤1的结果,生成三类数据:
步骤2.1、根据输入的视频基本流和音频基本流的个数,生成传输流中的PSI(Program Specific Information,节目特定信息),PSI包括用来分离传输流和成功地再生节目所必需的标准化数据;
在MPEG-2和AVS标准系统部分中,节目特殊信息(PSI)被分成5类表,即:节目关联表(PAT),节目映射表(PMT),网络信息表(NIT),条件访问表(CAT)和传输流描述表。在本发明中,复用出的传输流只包含必须的信息表,例如,对于一个含有3路节目的传输流,则包含1个PAT表和3个PMT表。
步骤2.2、根据复用器初始化得到的每路视频基本流的帧速率video.Frame_rate,生成传输流的节目时钟信息PCR;
同一节目的两两PCR之间的间隔为该节目的视频帧速率video.Frame_rate的倒数,也就是说,每一帧视频和音频数据,都有一个含有PCR信息的TS包;
所述的PCR由33bit基值(PCR_Base)和9bit扩展值(PCR_Extension)组成,PCR值以系统参考时钟周期为单位记录了源端的时间信息,对于整个解码器的同步起着关键的作用;
步骤2.2.1、计算PCR_Base;
所述的PCR_Base是对编码器的27MHz系统时钟的300分频后的时钟计数值抽样,它在解码器切换节目时,提供对解码器PCR计数器的初始值,以使该PCR值与PES(Packet Elementary Stream,打包的基本码流)包中的PTS(Presentation Time Stamp,显示时间标签)、DTS(Decoding Time Stamp,解码时间标签)最大可能地达到相同的时间起点;
步骤2.2.2、计算PCR_Extension;
所述的PCR_Extension是计数器对编码器27MHz系统时钟的计数值,它通过解码器端的锁相环电路修正解码器的系统时钟,使其达到和编码器一致的27MHz;
步骤2.3、将输入的音视频基本数据流以帧为单位打包成音视频数据的PES包;
一个音视频数据的PES分组包包含PES分组包的数据部分和PES分组包首部;
步骤2.3.1、打包音视频数据的PES分组包的数据部分;
所述的PES分组包的数据部分包含视频数据和音频数据,所述的视频数据是I帧(帧内图像)、P帧(前向预测图像)或者B帧(双向预测图像)的每一帧数据,所述的音频数据是每一帧与视频数据相对应的音频数据,这部分数据的大小一般是固定的,它与视频数据的帧速率和音频数据的采样频率、比特率以及音频数据的编码格式有关;
步骤2.3.2、计算音视频数据的PES分组包首部包含的时间标签PTS/DTS;
所述的音视频数据的PES分组包首部包含用于解码器同步重放的解码时间标签DTS和显示时间标签PTS;
对于视频序列,若序列中没有B帧,则解码顺序和显示顺序相同,即DTS等于PTS,若序列中包含B帧,则解码顺序和显示顺序不同,即DTS不等于PTS;
PTS/DTS具体计算法如下:
步骤2.3.2.1、对于音频PES:
DTSi=DTSi-1+picture_duration(i>=1)
PTSi=DTSi
其中DTS0=0,picture_duration等于video.Frame_rate的倒数,表示一帧数据的显示时间:
步骤2.3.2.2、对于视频PES:
DTSi=DTSi-1+picture_duration(i>=1)
其中DTS0=0,picture_duration等于video.Frame_rate的倒数,表示一帧数据的显示时间;
若该帧数据为B帧,则PTSi=DTSi
若该帧数据为I帧或者P帧,则PTSi=DTSi+picture_duration*(n+1),这里的n表示相邻的I帧与P帧,或者I帧与I帧、P帧与P帧之间B帧的个数;
步骤3、将步骤2得到的三种数据根据标准中规定的传输流的TS包的语法格式打包成TS包,即PSI包,PCR包和音视频数据包(该音视频数据包是将音视频数据的PES包根据TS包的语法格式再次打包生成),以及填充包(为了使传输流速率恒定的一种TS包);
步骤4、将步骤3得到的四种TS包复用成传输速率恒定的传输流;
步骤4.1、将当前帧的PSI包和PCR包写入输出文件或缓冲区中,计算在一定时间内,上一帧的数据没有传输完而遗留下来的数据包的个数Leaved_Tspacket_No,如果Leaved_Tspacket_No=0,则执行步骤4.2;如果Leaved_Tspacket_No≠0,则执行步骤4.3;
步骤4.2、计算当前帧的所有有用的TS包,包括PSI包,PCR包和音视频数据包的个数的总和Frame_Tspacket_No,将Frame_Tspacket_No同步骤1.2中得到的Packet_2PCR相比较,如果Frame_Tspacket_No>Packet_2PCR,则执行步骤4.2.1;否则,执行步骤4.2.2;
步骤4.2.1、计算A=Packet_2PCR-Npackets;
Npackets是遗留数据包Leaved_Tspacket_No与当前帧的PSI包和PCR包的个数总合;
将当前帧的A个音视频数据包均匀地写入输出文件或缓冲区中;
设置:Leaved_Tspacket_No=Frame_Tspacket_No-Packet_2PCR;
返回执行步骤4.1,开始进行下一帧数据的复用;
步骤4.2.2、计算B=Packet_2PCR-Frame_Tspacket_No;
将当前帧的音视频数据包和B个填充包均匀的写入输出文件或缓冲区中;
步骤4.3、将Leaved_Tspacket_No同步骤1.2中得到的Packet_2PCR相比较,如果Leaved_Tspacket_No>Packet_2PCR,则执行步骤4.3.1;否则,执行步骤4.3.2;
步骤4.3.1、计算C=Packet_2PCR-Mpackets;
Mpackets是当前帧的PSI包、PCR包的个数的总和;
将前一帧遗留的C个数据包写入输出文件或缓冲区中;
设置:
Leaved_Tspacket_No=Leaved_Tspacket_No-Packet-2PCR+rame_Tspacket_No;
返回执行步骤4.1,开始进行下一帧数据的复用;
步骤4.3.2、将前一帧遗留的所有数据包写入输出文件或缓冲区中;
计算:All_Tspacket_No=Leaved_Tspacket_No+Frame_Tspacket_No;
将All_Tspacket_No同步骤1.2中得到的Packet_2PCR相比较,如果All_Tspacket_No>Packet_2PCR,则执行步骤4.3.2.1;否则,执行步骤4.3.2.2;
步骤4.3.2.1、将当前帧的A个音视频数据包均匀的写入输出文件或缓冲区中;
设置:Leaved_Tspacket_No=All_Tspacket_No-Packet_2PCR;
返回执行步骤4.1,开始进行下一帧数据的复用;
步骤4.3.2.2、计算D=Packet_2PCR-All_Tspacket_No;
将当前帧的音视频数据包和D个填充包写入输出文件或缓冲区中;
设置:Leaved_Tspacket_No=0;
返回执行步骤4.1,开始进行下一帧数据的复用;
本发明提供的一种传输流复用的方法,是一种简单且效率高的复用速率传输流的方法,该方法有优点:
1、可使复用得到的传输流的速率完全恒定;
2、计算节目时间参考PCR的方法简单;
3、视音频同步的算法简单,即计算PTS/DTS的方法简单;
4、以帧为单位对基本数据流打包的方法使得解码器可以很方便的在PES首部的PES_packet_length(PES包长)这个信息中获得将要处理的一帧视频或者音频数据的大小,可以根据这个值很好的控制VBV(视频缓冲检测器)缓冲区,使其既不上溢也不下溢。
应用本发明的方法,可以实时或者非实时的复用出符合MPEG-2或者AVS标准的传输流,因此本发明可以应用在传输流复用器或者一些有复用功能的转码器中。
附图说明
图1是本发明提供的一种传输流复用的方法的步骤1~步骤3的算法框图;
图2是本发明提供的一种传输流复用的方法的步骤4的流程图;
图3是本发明提供的一种传输流复用的方法实施例示意图。
具体实施方式
以下根据图1~图3,具体说明本发明的一种最佳实施方式:
如图1~图3所示,本发明提供一种传输流复用的方法,其包含以下步骤:
步骤1、根据输入的一路AVS格式的视频基本流和一路mp3(MovingPicture Experts Group Audio Layer III,音频压缩)格式的音频流,对复用器进行初始化;
步骤1.1、解析输入的视频基本流中的视频序列头(Sequence header),得到该视频序列的帧速率video.Frame_rate=25帧/秒;
步骤1.2、根据复用后要得到的传输流的速率Trans_rate=37.6Mbps,和视频流的帧速率video.Frame_rate=25帧/秒,计算出Packet_2PCR:
Packet_2PCR=37600000/(188×25×8)=1000个;
Packet_2PCR代表同一节目的两个PCR(Program Clock Reference节目时钟信息)包之间应该有多少个TS(Transport Stream,传输流)包:
步骤2、根据步骤1的结果,生成三类数据:
步骤2.1、根据输入的视频基本流和音频基本流的个数,生成传输流中包含用来分离传输流和成功地再生节目所必需的标准化数据的节目特定信息PSI,对于该实例中,是复用一个含有1路节目的传输流,则节目特定信息PSI包含1个节目关联表(PAT)表和1个节目映射表(PMT);
步骤2.2、根据复用器初始化得到的每路视频基本流的帧速率video.Frame_rate,生成传输流的节目时钟信息PCR;
同一节目的两两PCR之间的间隔为该节目的视频帧速率video.Frame_rate的倒数,也就是说,每一帧视频和音频数据,包含一个含有PCR信息的TS包;例如:对于帧速率是25帧/秒的PAL(一种彩色电视标准)制,两两PCR之间的差值为40ms,即:
PCRi=0(i=0),
PCRi=PCRi-1+40ms(i>=1);
所述的PCR由33bit基值(PCR_Base)和9bit扩展值(PCR_Extension)组成,PCR值以系统参考时钟周期为单位记录了源端的时间信息,对于整个解码器的同步起着关键的作用;
步骤2.2.1、计算PCR_Base;
所述的PCR_Base是对编码器的27MHz系统时钟的300分频后的时钟计数值抽样,它在解码器切换节目时,提供对解码器PCR计数器的初始值,以使该PCR值与PES包中的PTS(Presentation Time Stamp,显示时间标签)、DTS(Decoding Time Stamp,解码时间标签)最大可能地达到相同的时间起点;
步骤2.2.2、计算PCR_Extension;
所述的PCR_Extension是计数器对编码器27MHz系统时钟的计数值,它通过解码器端的锁相环电路修正解码器的系统时钟,使其达到和编码器一致的27MHz;
步骤2.3、将输入的音视频数据流以帧为单位打包成音视频数据的PES包;
一个音视频数据的PES分组包包含音视频数据的PES分组包的数据部分和音视频数据的PES分组包首部;
步骤2.3.1、打包音视频数据的PES分组包的数据部分;
所述的音视频数据的PES分组包的数据部分包含视频数据和音频数据,所述的视频数据是AVS格式的视频基本流的每一帧数据,所述的音频数据是每一帧mp3格式的音频流,这部分数据的大小一般是固定的,它与视频数据的帧速率和音频数据的采样频率、比特率以及音频数据的编码格式有关;
步骤2.3.2、计算音视频数据的PES分组包首部包含的时间标签PTS/DTS;
所述的音视频数据的PES分组包首部包含用于解码器同步重放的解码时间标签DTS和显示时间标签PTS;
对于视频序列,若序列中没有B帧,则解码顺序和显示顺序相同,即DTS等于PTS,若序列中包含B帧,则解码顺序和显示顺序不同,即DTS不等于PTS;
PTS/DTS具体计算法如下:
步骤2.3.2.1、对于音频PES:
DTSi=DTSi-1+picture_duration(i>=1)
PTSi=DTSi
其中DTS0=0,picture_duration等于video.Frame_rate的倒数,表示一帧数据的显示时间;
步骤2.3.2.2、对于视频PES:
DTSi=DTSi-1+picture_duration(i>=1)
其中DTS0=0,picture_duration等于video.Frame_rate的倒数,表示一帧数据的显示时间;
若该帧数据为B帧,则PTSi=DTSi
若该帧数据为I帧或者P帧,则PTSi=DTSi+picture_duration*(n+1),这里的n表示相邻的I帧与P帧,或者I帧与I帧、P帧与P帧之间B帧的个数;
步骤3、将步骤2得到的三种数据根据标准中规定的传输流的TS包的语法格式打包成TS包,即PSI包,PCR包和音视频数据包(该音视频数据包是将音视频数据的PES包根据TS包的语法格式再次打包生成),以及填充包(为了使传输流速率恒定的一种TS包);
步骤4、将步骤3得到的四种TS包复用成传输速率恒定等于Trans_rate=37.6Mbps的传输流;
步骤4.1、将当前帧的PSI包和PCR包写入输出文件或缓冲区中,计算在一定时间内,上一帧的数据没有传输完而遗留下来的数据包的个数Leaved_Tspacket_No,如果Leaved_Tspacket_No=0,则执行步骤4.2;如果Leaved_Tspacket_No≠0,则执行步骤4.3;
步骤4.2、计算当前帧的所有有用的TS包,包括PSI包,PCR包和音视频数据包的个数的总和Frame_Tspacket_No,将Frame_Tspacket_No同步骤1.2中得到的Packet_2PCR相比较,如果Frame_Tspacket_No>Packet_2PCR,则执行步骤4.2.1;否则,执行步骤4.2.2;
步骤4.2.1、计算A=Packet_2PCR-Npackets;
Npackets是遗留数据包Leaved_Tspacket_No与当前帧的PSI包和PCR包的个数总合;
将当前帧的A个音视频数据包均匀地写入输出文件或缓冲区中;
设置:Leaved_Tspacket_No=Frame_Tspacket_No-Packet_2PCR;
返回执行步骤4.1,开始进行下一帧数据的复用;
步骤4.2.2、计算B=Packet_2PCR-Frame_Tspacket_No;
将当前帧的音视频数据包和B个填充包均匀的写入输出文件或缓冲区中;
步骤4.3、将Leaved_Tspacket_No同步骤1.2中得到的Packet_2PCR相比较,如果Leaved_Tspacket_No>Packet_2PCR,则执行步骤4.3.1;否则,执行步骤4.3.2;
步骤4.3.1、计算C=Packet_2PCR-Mpackets;
Mpackets是当前帧的PSI包、PCR包的个数的总和;
将前一帧遗留的C个数据包写入输出文件或缓冲区中;
设置:
Leaved_Tspacket_No=Leaved_Tspacket_No-Packet-2PCR+rame_Tspacket_No;
返回执行步骤4.1,开始进行下一帧数据的复用;
步骤4.3.2、将前一帧遗留的所有数据包写入输出文件或缓冲区中;
计算:All_Tspacket_No=Leaved_Tspacket_No+Frame_Tspacket_No;
将All_Tspacket_No同步骤1.2中得到的Packet_2PCR相比较,如果All_Tspacket_No>Packet_2PCR,则执行步骤4.3.2.1;否则,执行步骤4.3.2.2;
步骤4.3.2.1、将当前帧的A个音视频数据包均匀的写入输出文件或缓冲区中;
设置:Leaved_Tspacket_No=All_Tspacket_No-Packet_2PCR;
返回执行步骤4.1,开始进行下一帧数据的复用;
步骤4.3.2.2、计算D=Packet_2PCR-All_Tspacket_No;
将当前帧的音视频数据包和D个填充包写入输出文件或缓冲区中;
设置:Leaved_Tspacket_No=0;
返回执行步骤4.1,开始进行下一帧数据的复用;
本发明提供的一种传输流复用的方法,是一种简单且效率高的复用速率传输流的方法,该方法有优点:
1、可使复用得到的传输流的速率完全恒定;
2、计算节目时间参考PCR的方法简单;
3、视音频同步的算法简单,即计算PTS/DTS的方法简单;
4、以帧为单位对基本数据流打包的方法使得解码器可以很方便的在PES首部的PES_packet_length(PES包长)这个信息中获得将要处理的一帧视频或者音频数据的大小,可以根据这个值很好的控制VBV(视频缓冲检测器)缓冲区,使其既不上溢也不下溢。
应用本发明的方法,可以实时或者非实时的复用出符合MPEG-2或者AVS标准的传输流,因此本发明可以应用在传输流复用器或者一些有复用功能的转码器中。

Claims (9)

1.一种传输流复用的方法,其特征在于,包含以下步骤:
步骤1、根据输入的音视频数据,对复用器进行初始化;
所述的步骤1包含以下步骤:
步骤1.1、解析输入的视频基本流中的视频序列头,得到该视频序列的帧速率;
步骤1.2、根据复用后要得到的恒定的传输流速率Trans_rate和视频流的帧速率video.Frame_rate,计算出Packet_2PCR:
Packet_2PCR=Trans_rate/(188*8*video.Frame_rate)
Packet_2PCR代表同一节目的两个节目时钟信息PCR包之间的传输流TS包的个数。
步骤2、根据步骤1的结果,生成三类数据:节目特定信息PSI、节目时钟信息PCR和音视频数据的打包的基本码流PES包;
步骤3、将步骤2得到的三种数据根据标准中规定的传输流的传输流包的语法格式打包成传输流包,即节目特定信息包,节目时钟信息包和音视频数据包,以及填充包;
步骤4、将步骤3得到的四种传输流包复用成传输速率恒定的传输流。
2.如权利要求1所述的传输流复用的方法,其特征在于,所述的步骤2包含以下步骤:
步骤2.1、根据输入的视频基本流和音频基本流的个数,生成传输流中的节目特定信息PSI,该节目特定信息PSI包括了用来分离传输流和成功地再生节目所必需的标准化数据;
步骤2.2、根据复用器初始化得到的每路视频基本流的帧速率,生成传输流的节目时钟信息PCR;
同一节目的两两节目时钟信息PCR之间的间隔为该节目的视频帧速率的倒数,即,每一帧视频和音频数据,都有一个含有节目时钟信息PCR的传输流TS包;
所述的节目时钟信息PCR由33bit基值PCR_Base和9bit扩展值PCR_Extension组成,节目时钟信息PCR值以系统参考时钟周期为单位记录了源端的时间信息,对于整个解码器的同步起着关键的作用;
步骤2.3、将输入的音视频基本数据流以帧为单位打包成音视频数据的打包的基本码流PES包;
一个PES分组包包含PES分组包的数据部分和PES分组包首部。
3.如权利要求2所述的传输流复用的方法,其特征在于,所述的步骤2.2包含以下步骤:
步骤2.2.1、计算节目时钟信息基值PCR_Base;
所述的节目时钟信息基值PCR_Base是对编码器的27MHz系统时钟的300分频后的时钟计数值抽样,它在解码器切换节目时,提供对解码器节目时钟信息计数器的初始值,以使该节目时钟信息PCR值与PES包中的显示时间标签PTS、解码时间标签DTS达到相同的时间起点;
步骤2.2.2、计算节目时钟信息扩展值PCR_Extension;
所述的节目时钟信息扩展值PCR_Extension是计数器对编码器27MHz系统时钟的计数值,它通过解码器端的锁相环电路修正解码器的系统时钟,使其达到和编码器一致的27MHz。
4.如权利要求2所述的传输流复用的方法,其特征在于,所述的步骤2.3包含以下步骤:
步骤2.3.1、将音视频数据的PES分组包的数据部分打包;
所述的PES分组包的数据部分包含视频数据和音频数据,所述的视频数据是帧内图像、前向预测图像或者双向预测图像的每一帧数据,所述的音频数据是每一帧与视频数据相对应的音频数据,这部分数据的大小一般是固定的,它与视频数据的帧速率和音频数据的采样频率、比特率以及音频数据的编码格式有关;
步骤2.3.2、计算音视频数据的PES分组包首部包含的时间标签PTS/DTS;
所述的音视频数据的PES分组包首部包含用于解码器同步重放的解码时间标签DTS和显示时间标签PTS;
对于视频序列,若序列中没有B帧,即双向预测图像,则解码顺序和显示顺序相同,即解码时间标签DTS等于显示时间标签PTS,若序列中包含B帧,则解码顺序和显示顺序不同,即解码时间标签DTS不等于显示时间标签PTS;
5.如权利要求4所述的传输流复用的方法,其特征在于,所述的步骤2.3.2中PTS/DTS具体计算法包含以下步骤:
步骤2.3.2.1、对于音频PES:
DTSi=DTSi-1+picture_duration  (i>=1)
PTSi=DTSi
其中DTS0=0,picture_duration等于video.Frame_rate的倒数,表示一帧数据的显示时间;
步骤2.3.2.2、对于视频PES:
DTSi=DTSi-1+picture_duration  (i>=1)
其中DTS0=0,picture_duration等于video.Frame_rate的倒数,表示一帧数据的显示时间;
若该帧数据为B帧,则PTSi=DTSi
若该帧数据为I帧,即帧内图像,或者P帧,即前向预测图像,则PTSi=DTSi+picture_duration*(n+1),这里的n表示相邻的I帧与P帧,或者I帧与I帧、P帧与P帧之间B帧的个数。
6.如权利要求1所述的传输流复用的方法,其特征在于,所述的步骤4包含以下步骤:
步骤4.1、将当前帧的节目特定信息PSI包和节目时钟信息PCR包写入输出文件或缓冲区中,计算在一定时间内,上一帧的数据没有传输完而遗留下来的数据包的个数Leaved_Tspacket_No,如果Leaved_Tspacket_No=0,则执行步骤4.2;如果Leaved_Tspacket_No≠0,则执行步骤4.3;
步骤4.2、计算当前帧的所有有用的传输流TS包,包括节目特定信息PSI包,节目时钟信息PCR包和音视频数据包的个数的总和Frame_Tspacket_No,将Frame_Tspacket_No同步骤1.2中得到的Packet_2PCR相比较,如果Frame_Tspacket_No>Packet_2PCR,则执行步骤4.2.1;否则,执行步骤4.2.2;
步骤4.3、将Leaved_Tspacket_No同步骤1.2中得到的Packet_2PCR相比较,如果Leaved_Tspacket_No>Packet_2PCR,则执行步骤4.3.1;否则,执行步骤4.3.2。
7.如权利要求6所述的传输流复用的方法,其特征在于,所述的步骤4.2包含以下步骤:
步骤4.2.1、计算A=Packet_2PCR-Npackets;
Npackets是遗留数据包Leaved_Tspacket_No与当前帧的节目特定信息PSI包和节目时钟信息PCR包的个数总合;
将当前帧的A个音视频数据包均匀地写入输出文件或缓冲区中;
设置:Leaved_Tspacket_No=Frame_Tspacket_No-Packet_2PCR;
返回执行步骤4.1,开始进行下一帧数据的复用;
步骤4.2.2、计算B=Packet_2PCR-Frame_Tspacket_No;
将当前帧的音视频数据包和B个填充包均匀的写入输出文件或缓冲区中。
8.如权利要求6所述的传输流复用的方法,其特征在于,所述的步骤4.3包含以下步骤:
步骤4.3.1、计算C=Packet_2PCR-Mpackets;
Mpackets是当前帧的节目特定信息PSI包、节目时钟信息PCR包的个数的总和;
将前一帧遗留的C个数据包写入输出文件或缓冲区中;
设置:
Leaved_Tspacket_No
=Leaved_Tspacket_No-Packet-2PCR+Frame_Tspacket_No;
返回执行步骤4.1,开始进行下一帧数据的复用;
步骤4.3.2、将前一帧遗留的所有数据包写入输出文件或缓冲区中;
计算:All_Tspacket_No=Leaved_Tspacket_No+Frame_Tspacket_No;
将All_Tspacket_No同步骤1.2中得到的Packet_2PCR相比较,如果All_Tspacket_No>Packet_2PCR,则执行步骤4.3.2.1;否则,执行步骤4.3.2.2。
9.如权利要求8所述的传输流复用的方法,其特征在于,所述的步骤4.3.2包含以下步骤:
步骤4.3.2.1、将当前帧的A个音视频数据包均匀的写入输出文件或缓冲区中;
设置:Leaved_Tspacket_No=All_Tspacket_No-Packet_2PCR;
返回执行步骤4.1,开始进行下一帧数据的复用;
步骤4.3.2.2、计算D=Packet_2PCR-All_TspacketNo;
将当前帧的音视频数据包和D个填充包写入输出文件或缓冲区中;
设置:Leaved_Tspacket_No=0;
返回执行步骤4.1,开始进行下一帧数据的复用。
CNB2005101111479A 2005-12-05 2005-12-05 一种传输流复用的方法 Active CN100391261C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101111479A CN100391261C (zh) 2005-12-05 2005-12-05 一种传输流复用的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101111479A CN100391261C (zh) 2005-12-05 2005-12-05 一种传输流复用的方法

Publications (2)

Publication Number Publication Date
CN1794812A CN1794812A (zh) 2006-06-28
CN100391261C true CN100391261C (zh) 2008-05-28

Family

ID=36806038

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101111479A Active CN100391261C (zh) 2005-12-05 2005-12-05 一种传输流复用的方法

Country Status (1)

Country Link
CN (1) CN100391261C (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101287127B (zh) * 2008-02-26 2010-06-02 四川金网通电子科技有限公司 地面数字电视系统
CN101945265B (zh) * 2010-08-19 2013-05-08 北京市博汇科技有限公司 一种基于带宽占用率的多节目恒码率ts流复用方法
CN101951387A (zh) * 2010-09-30 2011-01-19 海信集团有限公司 流媒体传输方法及装置
CN102104795A (zh) * 2011-03-30 2011-06-22 重庆大学 基于mpeg-2的多路ps流转复用为一路ts流的方法
CN103596043B (zh) * 2013-11-14 2017-05-10 上海电力学院 一种数字电视中ts流转化为ps流的方法
CN106875952B (zh) * 2016-12-23 2021-02-26 伟乐视讯科技股份有限公司 基于fpga嵌入式系统的多路音频软编码机制
WO2020151274A1 (zh) * 2019-01-23 2020-07-30 华为技术有限公司 图像显示顺序的确定方法、装置和视频编解码设备
CN111479111B (zh) 2019-01-23 2024-04-09 华为技术有限公司 图像显示顺序的确定方法、装置和视频编解码设备
CN110753259B (zh) * 2019-11-15 2022-01-25 北京字节跳动网络技术有限公司 视频数据的处理方法、装置、电子设备及计算机可读介质
CN111988641B (zh) * 2020-07-28 2022-07-15 上海工程技术大学 传输流复用音视频时间同步方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1237852A (zh) * 1998-03-20 1999-12-08 日本先锋公司 数据记录方法和数据记录系统
JP2001309306A (ja) * 2000-04-26 2001-11-02 Sony Corp 再生装置および方法、並びに記録媒体
CN1599982A (zh) * 2001-11-29 2005-03-23 汤姆森许可公司 输送流到节目流的变换

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1237852A (zh) * 1998-03-20 1999-12-08 日本先锋公司 数据记录方法和数据记录系统
JP2001309306A (ja) * 2000-04-26 2001-11-02 Sony Corp 再生装置および方法、並びに記録媒体
CN1599982A (zh) * 2001-11-29 2005-03-23 汤姆森许可公司 输送流到节目流的变换

Also Published As

Publication number Publication date
CN1794812A (zh) 2006-06-28

Similar Documents

Publication Publication Date Title
CN100391261C (zh) 一种传输流复用的方法
CN1720749B (zh) 自动测试音频/视频同步的方法
JP4668515B2 (ja) マルチメディアコンテンツに同期化されたメタデータ伝送装置及び方法
KR100482287B1 (ko) 디지털 데이터 방송을 위한 동기화 스트림 데이터 삽입장치 및 그 방법
WO2013185517A1 (zh) 一种音视频编码同步方法和系统
KR20010095264A (ko) 데이터 다중화 장치, 데이터 다중화 방법, 및 기록 매체
CN101212671A (zh) 一种低延迟的实时复用传输流的方法
KR980010748A (ko) 피다중화 데이터 생성장치, 인코딩된 데이터 재생 장치, 클럭 변환 장치, 인코딩된 데이터 기록 매체, 인코딩된 데이터 전송 매체, 피다중화 데이터 생성 방법, 인코딩된 데이터 재생 방법 및 클럭 변환 방법
CN102075794A (zh) 用于测量压缩数字流内的延迟的方法和装置
CN101729908A (zh) 一种传输流视音频同步复用方法
US20080037956A1 (en) Systems and Methods of Generating Encapsulated MPEG Program Streams
CN100499821C (zh) 一种统计复用传输流的方法
CN100479529C (zh) 一种广播网络复用协议的转换方法
CN100481238C (zh) 再现方法
US6754273B1 (en) Method for compressing an audio-visual signal
CN102104795A (zh) 基于mpeg-2的多路ps流转复用为一路ts流的方法
CN103596043B (zh) 一种数字电视中ts流转化为ps流的方法
CN101977326B (zh) 一种基于mpeg-2传输流的特技流生成方法
JP3556381B2 (ja) 情報多重化装置
US20030103765A1 (en) MPEG recording apparatus, recording medium and transmission method
CN100413341C (zh) 音视频信号同步方法
JP2885217B2 (ja) Mpegデータ処理回路
JP4967402B2 (ja) 多重化ストリーム変換装置および方法
US20080123732A1 (en) Method and system for configuring decoding based on detecting transport stream input rate
CN101179737B (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
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SHANGHAI GUOMAO DIGITAL TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: SHANGHAI TELCOM ( GROUP ) CO., LTD. CENTER INSTITUTE

Effective date: 20100322

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 200233 2/F, NO.757, YISHAN ROAD, SHANGHAI CITY TO: 201203 ROOM 408, NO.50, BOXIA ROAD, PUDONG NEW DISTRICT, SHANGHAI CITY

TR01 Transfer of patent right

Effective date of registration: 20100322

Address after: 201203, room 50, 408 Xia Xia Road, Shanghai, Pudong New Area

Patentee after: Shanghai GMT Digital Technology Co., Ltd.

Address before: 200233, No. 2, building 757, Yishan Road, Shanghai

Patentee before: Central Institute of Shanghai Video and Audio (Group) Co., Ltd.