CN101820540B - 一种mpeg-2编码复用的方法 - Google Patents

一种mpeg-2编码复用的方法 Download PDF

Info

Publication number
CN101820540B
CN101820540B CN 200910243946 CN200910243946A CN101820540B CN 101820540 B CN101820540 B CN 101820540B CN 200910243946 CN200910243946 CN 200910243946 CN 200910243946 A CN200910243946 A CN 200910243946A CN 101820540 B CN101820540 B CN 101820540B
Authority
CN
China
Prior art keywords
frame
packet
flow data
size
pcr
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.)
Expired - Fee Related
Application number
CN 200910243946
Other languages
English (en)
Other versions
CN101820540A (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.)
Tianbai broadband network technology (Shanghai) Co., Ltd.
Original Assignee
Beijing Husen Technology 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 Beijing Husen Technology Co Ltd filed Critical Beijing Husen Technology Co Ltd
Priority to CN 200910243946 priority Critical patent/CN101820540B/zh
Publication of CN101820540A publication Critical patent/CN101820540A/zh
Application granted granted Critical
Publication of CN101820540B publication Critical patent/CN101820540B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

本发明公开了一种MPEG-2编码复用的方法,从输入的ES流中检测出帧头,插入PAT包和PMT包,插入PES包头和ES流数据的TS数据包,再插入PCR包,将剩余的ES流数据打包成TS数据包,直到当前帧的ES流数据处理完毕,形成传输流数据帧,在每个图组的传输流数据帧中插入空包,使得图组的大小固定为一个预设值,循环检测帧头继续进行处理,直到ES文件处理完毕,输出打包后的TS流文件,完成复用。采用了本发明的技术方案,能够快速高效地生成恒定码率的TS流,复用的效率大幅提高,码率波动较小,解决了马赛克和图像抖动的问题,图像主观质量较高。

Description

一种MPEG-2编码复用的方法
技术领域
本发明涉及数字电视技术领域,尤其涉及一种MPEG-2编码复用的方法。
背景技术
伴随科学技术的发展,“数字化”席卷全球。由于数字电视具有不可比拟的优越性,广播电视从模拟向数字全面转变已经成为不可抗拒的发展潮流。由于人们对节目、业务和各种增值服务的需求始终在增长,因此如何利用技术更好地提高图像质量,并保证节目在网络上可靠传输成为具有价值和吸引力的研究课题。
在数字电视系统中,MPEG-2编码复用器是系统传输的核心环节,所有的节目、数据以及各种增值服务都是通过复用打包成传输流(Transport Stream,TS)传输出去的。目前,只有国外少数公司掌握复用器的核心算法技术,能够保证高质量图像传输,但进口设备价格极其昂贵,而且算法都较为复杂,无法保证软硬件的简单实现。由于目前正处广播电视全面向数字化过渡期间,市场潜力巨大,因此对复用器以及码率控制算法的研究开发非常重要。
目前的技术方案是以传输流的节目时钟参考(Program Clock Reference,PCR)数据包为基准来进行计算。首先设定一个恒定的TS流码率,再根据码率值,以及相邻两个PCR数据包的差值,估算出这两个PCR数据包之间应该包含的TS数据包个数,然后将估算出的TS数据包个数跟实际的TS数据包个数相减,得到的差值即为要添加的空包数目。
这个技术方案虽然总体上能很好地控制码率,但是由于没有考虑到帧级的控制策略,导致显示时间标签(Play Time Stamp,PTS)和解码时间标签(Decode Time Stamp,DTS)的值有时会小于PCR数据包的值,使得图像产生马赛克和抖动等现象。
发明内容
本发明的目的在于提出一种MPEG-2编码复用的方法,能够快速高效地生成恒定码率的传输流,并且提高图像的主观质量。
为达此目的,本发明采用以下技术方案:
一种MPEG-2编码复用的方法,包括以下步骤:
A、从输入的基本流文件的基本流数据中检测出帧头;
B、插入节目关联表数据包和节目映射表数据包;
C、插入含有打包的基本流数据包头和基本流数据的传输流数据包,其中所述打包的基本流数据包头包括显示时间标签和解码时间标签;
D、插入节目时钟参考数据包;
E、判断当前帧的基本流数据是否处理完毕,如果否,则继续将剩余的基本流数据打包成传输流数据包,直到当前帧的基本流数据处理完毕,形成传输流数据帧,转至步骤F,如果是,则形成传输流数据帧,转至步骤F;
F、在每个图组的传输流数据帧中插入空包,使得图组的大小固定为一个预设值;
G、判断基本流文件是否处理完毕,如果是,则输出打包后的传输流文件,完成复用,如果否,则返回到步骤A,继续检测帧头。
步骤C中,显示时间标签和解码时间标签的生成进一步包括以下步骤:
计算一帧图像的帧历时,计算公式为frame_time=90000/frame_rate,其中frame_time是帧历时,90000赫兹是27兆赫兹系统时钟的1/300,frame_rate是帧率;
从快进快退模块传来的参数得到初始参考值,包括显示时间标签初始参考 值PTS(1)和解码时间标签初始参考值DTS(1);
此后传输流数据帧中第i帧图像的显示时间标签PTS(i)和解码时间标签DTS(i)通过以下计算公式获得:
DTS(i)=DTS(1)+frame_time*(i-1),
PTS(i)=PTS(1)+frame_time*(N+temp_ref+1),其中N是第i帧所在图组的图组头之前帧的总数,temp_ref是第i帧图像头中10bit字段的十进制值,表示在这个图组中第i帧所在的位置。
显示时间标签和解码时间标签每隔700毫秒至少出现1次。
节目时钟参考数据包包括33位的节目时钟参考基准pcr_base和9位的节目时钟参考扩展pcr_ext。
节目时钟参考数据包在传输流数据帧中每隔40毫秒至少出现1次。
节目时钟参考基准pcr_base以27兆赫兹的1/300为基准,即90千赫兹,节目时钟参考扩展pcr_ext以27兆赫兹系统时钟为基准,节目时钟参考的值根据当前所在传输流数据包的包号和传输码率采用以下计算公式来确定:
pcr_base=(90000*8*((188*ts_packet_num+12)/ts_rate)),
pcr_ext=(27000000*(((188*ts_packet_num+12)*8)/ts_rate))%300
pcr=300*pcr_base+pcr_ext,
其中ts_packet_num是当前所在传输流数据包的包号,ts_rate是传输流传输码率。
传输流数据包包括4个字节的包头和184个字节的基本流数据。
步骤F进一步包括以下步骤:
预先设定图组大小GOP_size;
根据基本流原始的图组大小GOP_size_org和预先设定图组大小GOP_size的差值,算出当前图组平均每个传输流数据帧应该插入的空包数量average_num,average_num=(GOP_size-GOP_size_org)/188,其中188 是一个传输流数据包中的字节个数,并对average_num取整,得到每个传输流数据帧插入的空包数量;
在每个传输流数据帧插入所述空包数量的空包;
在图组的最后一个传输流数据帧,根据预先设定图组大小GOP_size和图组当前已经打包了的传输流数据包的个数total_num之间的差值,得出最后一个传输流数据帧末尾应该插入的空包数量stuff_num,stuff_num=GOP_size/188-total_num,从而使得图组的大小固定。
采用了本发明的技术方案,通过对TS流复用过程中的码率、PCR、PTS和DTS值的调整,能够快速高效地生成恒定码率的TS流,复用的效率大幅提高,码率波动较小,解决了马赛克和图像抖动的问题,图像主观质量较高。
附图说明
图1是本发明具体实施方式中MPEG-2编码复用的流程图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
图1是本发明具体实施方式中MPEG-2编码复用的流程图。如图1所示,该MPEG-2编码复用的流程包括以下步骤:
步骤101、输入基本流文件,并对输入的基本流数据进行检测,判断是否帧头,如果是帧头,则转至步骤102,否则循环检测基本流数据,直到检测到第一个帧头。
步骤102、在每帧的开始插入一个节目关联表(Program AssociationTable,PAT)数据包。每个传输流必须有一完整有效的PAT,PAT给出了节目号(program number)和带有此节目数据的传输流分组PID(PMT_PID)之间的 对应关系。
步骤103、在PAT数据包后插入一个节目映射表(Program Map Table,PMT)数据包。节目映射表(PMT)提供一个节目号(program number)和组成此节目的基本流之间的映射。
步骤104、在PMT数据包后插入一个含有打包的基本流(PacketElementary Stream,PES)数据包头和部分基本流数据的传输流数据包。
PES包头里的两个关键数据是33位的PTS和33位的DTS,在每个PES包头中都加入这两个数据。其中,每个传输流的PTS和DTS每隔700毫秒至少要出现一次。
PTS和DTS的计算,是保证码率恒定的关键,可采取如下方法:
计算一帧图像的帧历时,计算公式为frame_time=90000/frame_rate,其中frame_time是帧历时,90000赫兹是27兆赫兹系统时钟的1/300,frame_rate是帧率;
从快进快退模块传来的参数得到初始参考值,包括显示时间标签初始参考值PTS(1)和解码时间标签初始参考值DTS(1);
此后传输流数据帧中第i帧图像的显示时间标签PTS(i)和解码时间标签DTS(i)通过以下计算公式获得:
DTS(i)=DTS(1)+frame_time*(i-1),
PTS(i)=PTS(1)+frame_time*(N+temp_ref+1),其中N是第i帧所在图组的图组头之前帧的总数,temp_ref是第i帧图像头中10bit字段的十进制值,表示在这个图组中第i帧所在的位置。
步骤105、插入节目时钟参考数据包。
TS流中的PCR数据包至少每隔40毫秒出现一次,解码器通过TS流中节目的PCR可以使解码器恢复系统时钟,PTS和DTS又参考PCR,这样就能够达到音频数据和视频端到端恒定延时,从而保证了音视频的同步以及码率的恒定。DTS是视频数据从主缓冲区中输出的时刻,每一帧数据的输入时刻都要早于这帧数据 的DTS。
节目时钟参考数据包包括33位的节目时钟参考基准pcr_base和9位的节目时钟参考扩展pcr_ext。节目时钟参考基准pcr_base以27兆赫兹的1/300为基准,即90千赫兹,节目时钟参考扩展pcr_ext以27兆赫兹系统时钟为基准,节目时钟参考的值根据当前所在传输流数据包的包号和传输码率采用以下计算公式来确定:
pcr_base=(90000*8*((188*ts_packet_num+12)/ts_rate)),
pcr_ext=(27000000*(((188*ts_packet_num+12)*8)/ts_rate))%300
pcr=300*pcr_base+pcr_ext,
其中ts_packet_num是当前所在传输流数据包的包号,ts_rate是传输流传输码率。
步骤106、判断当前帧的基本流数据是否处理完毕,如果否,则继续将剩余的基本流数据打包成传输流数据包,该传输流数据包由4个字节的包头和184字节的基本流数据组成,直到当前帧的基本流数据处理完毕,形成传输流数据帧,转至步骤107,如果是,则形成传输流数据帧,转至步骤107。
步骤107、因为传输流的帧率是恒定的,再设定一个固定的图组(Group OfPictures,GOP)大小GOP_size,每个传输流数据帧都插入一定数目的空包,这样就达到码率的恒定。
首先预先设定图组大小GOP_size。
根据基本流原始的图组大小GOP_size_org和预先设定图组大小GOP_size的差值,算出当前图组平均每个传输流数据帧应该插入的空包数量average_num。
其中average_num=(GOP_size-GOP_size_org)/188,188是一个传输流数据包中的字节个数,再对average_ num取整,得到每个传输流数据帧插入的空包数量。
在每个传输流数据帧插入需要的空包数量的空包。
在图组的最后一个传输流数据帧,根据预先设定图组大小GOP_size和图组当前已经打包了的传输流数据包的个数total_num之间的差值,得出最后一个传输流数据帧末尾应该插入的空包数量stuff_num。
其中stuff_num=GOP_size/188-total_num,从而使得图组的大小固定。
步骤108、判断输入的整个基本流文件是否处理完毕,如果已经处理完毕,则直接输出打包后的传输流文件,完成复用过程,如果否,则返回到步骤101,继续检测帧头,如此循环往复,直到将整个基本流文件处理完毕,这样就完成了基本流到传输流的复用过程。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (7)

1.一种MPEG-2编码复用的方法,其特征在于,包括以下步骤:
A、从输入的基本流文件的基本流数据中检测出帧头;
B、插入节目关联表数据包和节目映射表数据包;
C、插入含有打包的基本流数据包头和基本流数据的传输流数据包,其中所述打包的基本流数据包头包括显示时间标签和解码时间标签,显示时间标签和解码时间标签的生成进一步包括以下步骤:
计算一帧图像的帧历时,计算公式为frame_time=90000/frame_rate,其中frame_time是帧历时,90000赫兹是27兆赫兹系统时钟的1/300,frame_rate是帧率;
从快进快退模块传来的参数得到初始参考值,包括显示时间标签初始参考值PTS(1)和解码时间标签初始参考值DTS(1);
此后传输流数据帧中第i帧图像的显示时间标签PTS(i)和解码时间标签DTS(i)通过以下计算公式获得:
DTS(i)=DTS(1)+frame_time*(i-1),
PTS(i)=PTS(1)+frame_time*(N+temp_ref+1),其中N是第i帧所在图组的图组头之前帧的总数,temp_ref是第i帧图像头中10bit字段的十进制值,表示在这个图组中第i帧所在的位置;
D、插入节目时钟参考数据包;
E、判断当前帧的基本流数据是否处理完毕,如果否,则继续将剩余的基本流数据打包成传输流数据包,直到当前帧的基本流数据处理完毕,形成传输流数据帧,转至步骤F,如果是,则形成传输流数据帧,转至步骤F;
F、在每个图组的传输流数据帧中插入空包,使得图组的大小固定为一个预设值;
G、判断基本流文件是否处理完毕,如果是,则输出打包后的传输流文件,完成复用,如果否,则返回到步骤A,继续检测帧头。
2.根据权利要求1所述的一种MPEG-2编码复用的方法,其特征在于,显示时间标签和解码时间标签每隔700毫秒至少出现1次。
3.根据权利要求1所述的一种MPEG-2编码复用的方法,其特征在于,节目时钟参考数据包包括33位的节目时钟参考基准pcr_base和9位的节目时钟参考扩展pcr_ext。
4.根据权利要求3所述的一种MPEG-2编码复用的方法,其特征在于,节目时钟参考数据包在传输流数据帧中每隔40毫秒至少出现1次。
5.根据权利要求3所述的一种MPEG-2编码复用的方法,其特征在于,节目时钟参考基准pcr_base以27兆赫兹的1/300为基准,即90千赫兹,节目时钟参考扩展pcr_ext以27兆赫兹系统时钟为基准,节目时钟参考的值根据当前所在传输流数据包的包号和传输码率采用以下计算公式来确定:
pcr_base=(90000*8*((188*ts_packet_num+12)/ts_rate)),
pcr_ext=(27000000*(((188*ts_packet_num+12)*8)/ts_rate))%300
pcr=300*pcr_base+pcr_ext,
其中ts_packet_num是当前所在传输流数据包的包号,ts_rate是传输流传输码率。
6.根据权利要求3所述的一种MPEG-2编码复用的方法,其特征在于,传输流数据包包括4个字节的包头和184个字节的基本流数据。
7.根据权利要求1所述的一种MPEG-2编码复用的方法,其特征在于,步骤F进一步包括以下步骤:
预先设定图组大小GOP_size;
根据基本流原始的图组大小GOP_size_org和预先设定图组大小GOP_size的差值,算出当前图组平均每个传输流数据帧应该插入的空包数量average_num,average_num=(GOP_size-GOP_size_org)/188,其中188是一个传输流数据包中的字节个数,并对average_num取整,得到每个传输流数据帧插入的空包数量;
在每个传输流数据帧插入所述空包数量的空包;
在图组的最后一个传输流数据帧,根据预先设定图组大小GOP_size和图组当前已经打包了的传输流数据包的个数total_num之间的差值,得出最后一个传输流数据帧末尾应该插入的空包数量stuff_num,stuff_num=GOP_size/188-total_num,从而使得图组的大小固定。
CN 200910243946 2009-12-25 2009-12-25 一种mpeg-2编码复用的方法 Expired - Fee Related CN101820540B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910243946 CN101820540B (zh) 2009-12-25 2009-12-25 一种mpeg-2编码复用的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910243946 CN101820540B (zh) 2009-12-25 2009-12-25 一种mpeg-2编码复用的方法

Publications (2)

Publication Number Publication Date
CN101820540A CN101820540A (zh) 2010-09-01
CN101820540B true CN101820540B (zh) 2011-09-14

Family

ID=42655449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910243946 Expired - Fee Related CN101820540B (zh) 2009-12-25 2009-12-25 一种mpeg-2编码复用的方法

Country Status (1)

Country Link
CN (1) CN101820540B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102780930B (zh) * 2012-05-31 2018-05-04 新奥特(北京)视频技术有限公司 一种传输流视音频同步的处理方法
CN102724559A (zh) * 2012-06-13 2012-10-10 天脉聚源(北京)传媒科技有限公司 一种音视频编码同步方法和系统
JP6505413B2 (ja) * 2013-11-08 2019-04-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 送信方法、受信方法、送信装置、及び受信装置
CN103607597B (zh) * 2013-12-06 2018-01-16 北京牡丹视源电子有限责任公司 一种含有多路pcr的测试传输流的处理方法及装置
JP5708866B1 (ja) * 2014-04-10 2015-04-30 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
CN106231359B (zh) * 2016-07-21 2019-04-02 四川九州电子科技股份有限公司 基于多数据源动态复用算法的Mpeg TS码流发送方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1344106A (zh) * 2000-09-15 2002-04-10 北京算通数字技术研究中心有限公司 基于mpeg-2码流的非线性编辑系统编辑方法
CN1131637C (zh) * 2000-10-13 2003-12-17 北京算通数字技术研究中心有限公司 数据流索引文件生成及用该文件访问帧和切变镜头的方法
CN101080019A (zh) * 2006-03-10 2007-11-28 三星电子株式会社 转换数据流格式的方法和装置及记录数据流的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1344106A (zh) * 2000-09-15 2002-04-10 北京算通数字技术研究中心有限公司 基于mpeg-2码流的非线性编辑系统编辑方法
CN1131637C (zh) * 2000-10-13 2003-12-17 北京算通数字技术研究中心有限公司 数据流索引文件生成及用该文件访问帧和切变镜头的方法
CN101080019A (zh) * 2006-03-10 2007-11-28 三星电子株式会社 转换数据流格式的方法和装置及记录数据流的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2000-175151A 2000.06.23

Also Published As

Publication number Publication date
CN101820540A (zh) 2010-09-01

Similar Documents

Publication Publication Date Title
CN101820540B (zh) 一种mpeg-2编码复用的方法
KR100733856B1 (ko) 데이터 스트림을 변환하는 방법 및 장치
CN1274154C (zh) 用于转换数据流的方法和设备
JP4503739B2 (ja) 情報ストリームの高フレーム精度シームレス・スプライシング
US20060007958A1 (en) Multiplexing method and apparatus to generate transport stream
CN101729908B (zh) 一种传输流视音频同步复用方法
CN101212671A (zh) 一种低延迟的实时复用传输流的方法
CN103458271A (zh) 音视频文件拼接方法和装置
CN109660805B (zh) 解码播放中音视频同步优化方法、存储介质、设备及系统
US7630366B2 (en) Multiplexing apparatus, multiplexing method, program, and recording medium
CN106470291A (zh) 从音频/视频解码器中的时间同步中的中断中恢复
CN101933332B (zh) 视频数据解码器和用于解码视频数据并与字幕显示同步的方法
KR20130121058A (ko) 3dtv를 위한 영상 재생 장치 및 상기 장치가 수행하는 방법
US20080037956A1 (en) Systems and Methods of Generating Encapsulated MPEG Program Streams
JP2001094943A (ja) Mpeg復号器の同期方法及び同期装置
JP2010212996A (ja) 情報処理装置および多重化処理方法
CN102685507A (zh) 一种mpeg-2传输流解码音视频同步方法和系统
CN102104795A (zh) 基于mpeg-2的多路ps流转复用为一路ts流的方法
CN103596043A (zh) 一种数字电视中ts流转化为ps流的方法
CN102934435B (zh) 视频显示装置
Kim et al. Design and implementation of an MPEG-2 transport stream multiplexer for HDTV satellite broadcasting
CN101615412B (zh) 传输流转换方法及其装置
CN202587238U (zh) Ts流字幕插入系统
CN101945265B (zh) 一种基于带宽占用率的多节目恒码率ts流复用方法
JP4967402B2 (ja) 多重化ストリーム変換装置および方法

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: DIGITAL VIDEO NETWORKS TECHNOLOGY (SHANGHAI) CO.,

Free format text: FORMER OWNER: BEIJING HUSEN TECHNOLOGY CO., LTD.

Effective date: 20130918

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

Free format text: CORRECT: ADDRESS; FROM: 100086 HAIDIAN, BEIJING TO: 200000 JINGAN, SHANGHAI CITY

TR01 Transfer of patent right

Effective date of registration: 20130918

Address after: 200000 room 2, building 528, Kangding Road, Shanghai,

Patentee after: Tianbai broadband network technology (Shanghai) Co., Ltd.

Address before: 100086, 19 floor, block A, digital building, No. 2 South Avenue, Beijing, Haidian District, Zhongguancun

Patentee before: Beijing Husen Technology Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110914

Termination date: 20151225

EXPY Termination of patent right or utility model