[发明专利]一种基于MPEG-2传输流的特技流生成方法有效
申请号: | 201010555710.2 | 申请日: | 2010-11-22 |
公开(公告)号: | CN101977326A | 公开(公告)日: | 2011-02-16 |
发明(设计)人: | 陈宇洲 | 申请(专利权)人: | 天柏宽带网络科技(北京)有限公司 |
主分类号: | H04N7/26 | 分类号: | H04N7/26;H04N7/32;H04N7/173 |
代理公司: | 北京方韬法业专利代理事务所 11303 | 代理人: | 岳亚 |
地址: | 100086 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 mpeg 传输 特技 生成 方法 | ||
1.一种基于MPEG-2传输流的特技流生成方法,其特征在于,包括以下步骤:
A、按序分析MPEG-2视频节目的传输流包,找到PID为0的PAT包,得到PMT表PID,保存PAT包数据,并根据PMT表PID找到PMT包,找到视频节目PID和节目时钟PID,保存PMT包数据;
B、提取I帧,构造出与I帧运动向量和预测误差都为零的P帧,形成新码流;
C、根据视频节目PID,进行新码流的传输流封装,获得P帧的大小;
D、根据视频节目PID,寻找新码流的视频PES头和视频序列头,分析视频序列信息得到帧率,保存视频PES信息;
E、在新码流的传输流包中,按照顺序找到一个图像组,根据这个图像组的图像个数,获得目前位置的图像总个数;
F、如果所述目前位置的图像总个数大于播放倍速和已经生成的特技流总图像数之积,则转至步骤G,否则抛弃当前图像组,并返回步骤E;
G、抽取当前图像组的I帧,放入特技流中,并计算当前图像组的I帧的大小;
H、将当前图像组的P帧放入特技流中,放入特技流中P帧的数量取决于以下公式:
((I帧的大小+P帧的数量*P帧的大小)*帧率)/(1+P帧的数量)<限定码率;
I、更新已经生成的特技流的总图像数;
J、在特技流的I帧前添加视频PES头信息、视频序列头信息和图像组信息,在特技流的P帧前添加视频PES头信息;
K、填写特技流每帧前视频PES头信息里的PTS值和DTS值;
L、对特技流中所有存在有效数据的传输流包修改连续计数器位,包括PAT包连续计数器、PMT连续计数器和视频包连续计数器;
M、在特技流中添加空包以达到码率固定,添加的空包加上后面要插入的带PCR的空包总大小取决于以下公式:
((空包总大小+I帧的大小+P帧的数量*P帧的大小)*帧率)/(1+P帧的数量)和限定码率之间的差值最小;
N、对于特技流I帧所在包,如果PCR的PID和视频节目PID一致,改写带PCR的空包的PCR值,如果PCR的PID和视频节目PID不一致,每当I帧所在包数据量达到码率与40ms的乘积时,插入一个附带PCR值的空包;对于特技流P帧所在包或者空包数据,每当数据量达到码率与40ms的乘积时,插入一个附带PCR值的空包;
P、重复步骤E到步骤N,每次获得一个图像组长度的传输流,直到新码流的传输流包中所有图像组全部处理完成,将得到的传输流片段连接在一起,形成视频节目的特技流。
2.根据权利要求1所述的一种基于MPEG-2传输流的特技流生成方法,其特征在于,步骤E中,在新码流的传输流包中,找到一个图像组的起始码,再找到下一个图像组的起始码,从而判断这个图像组的图像个数。
3.根据权利要求1所述的一种基于MPEG-2传输流的特技流生成方法,其特征在于,步骤G中,从当前图像组起始位置到第一个不为I帧的图像起始码为止是一个完整的I帧,当前图像组中第一个且保存从I帧所在包到下一帧图像起始码之间的视频包的数据大小就是I帧的大小。
4.根据权利要求1所述的一种基于MPEG-2传输流的特技流生成方法,其特征在于,步骤K中,根据帧率和已经生成的特技流的总图像数,计算出每帧图像具体时刻,按照计算出来的时刻,填写特技流每帧前视频PES头信息里的PTS值和DTS值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天柏宽带网络科技(北京)有限公司,未经天柏宽带网络科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010555710.2/1.html,转载请声明来源钻瓜专利网。