CN100353750C - 基于mpeg-2码流的非线性编辑系统编辑方法 - Google Patents
基于mpeg-2码流的非线性编辑系统编辑方法 Download PDFInfo
- Publication number
- CN100353750C CN100353750C CNB00124793XA CN00124793A CN100353750C CN 100353750 C CN100353750 C CN 100353750C CN B00124793X A CNB00124793X A CN B00124793XA CN 00124793 A CN00124793 A CN 00124793A CN 100353750 C CN100353750 C CN 100353750C
- Authority
- CN
- China
- Prior art keywords
- frame
- gop
- last
- edit
- code stream
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000008569 process Effects 0.000 claims abstract description 14
- 239000000463 material Substances 0.000 description 31
- 238000010008 shearing Methods 0.000 description 31
- 239000012530 fluid Substances 0.000 description 15
- 102000009913 Peroxisomal Targeting Signal 2 Receptor Human genes 0.000 description 13
- 108010077056 Peroxisomal Targeting Signal 2 Receptor Proteins 0.000 description 13
- 101150060836 KSL4 gene Proteins 0.000 description 12
- 230000004048 modification Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 10
- 101100243456 Arabidopsis thaliana PES2 gene Proteins 0.000 description 7
- 101001073193 Homo sapiens Pescadillo homolog Proteins 0.000 description 7
- 102100035816 Pescadillo homolog Human genes 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 230000014759 maintenance of location Effects 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 230000001256 tonic effect Effects 0.000 description 3
- 101100465559 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PRE7 gene Proteins 0.000 description 2
- 101150076896 pts1 gene Proteins 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- GUGNSJAORJLKGP-UHFFFAOYSA-K sodium 8-methoxypyrene-1,3,6-trisulfonate Chemical compound [Na+].[Na+].[Na+].C1=C2C(OC)=CC(S([O-])(=O)=O)=C(C=C3)C2=C2C3=C(S([O-])(=O)=O)C=C(S([O-])(=O)=O)C2=C1 GUGNSJAORJLKGP-UHFFFAOYSA-K 0.000 description 2
- 101100332287 Dictyostelium discoideum dst2 gene Proteins 0.000 description 1
- 101100264226 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) XRN1 gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
Images
Landscapes
- Television Signal Processing For Recording (AREA)
Abstract
本发明提供了一种基于MPEG-2码流的非线性编辑系统编辑方法,其中基于帧的编辑方法包括定位编辑点,确定编辑点所对应帧的位置;将该帧的剪切点处前端数据的最后一帧图像标记为FLast,剪切点处后端数据的第一帧标记为FFirst;由解码部分或者索引文件确定编辑点在视音频基本数据流中的位置,并确定帧的类型;根据编辑方法,进行针对帧的编辑处理;更改相关GOP的头信息形成一个新的合法GOP。本发明利用建立索引文件的方法,可进行各数据流层的编辑,大大提高了剪辑效率,又保证可图象质量。
Description
本发明涉及一种基于MPEG-2码流非线性编辑系统的编辑方法,尤其是一种精确到各数据流层的编辑方法。
MPEG-2的码流层次从组成关系分为像素、帧、GOP、PES、TS、PS。在非线性编辑系统中,根据不同的编辑精确度和编辑速度的要求的不同,需要针对于不同码流层次的对象进行编辑。MPEG-2的视频数据流的结构如图1所示,视、音频的基本数据流按照等时间间隔打包成打包数据流(PES)数据流包,每个包均要加上相应的PES包头信息,同时加上显示时间标签(PTS)和解码时间标签(DTS)。基本数据流是指将视音频直接压缩编码后形成的码流,视频码流将按照标准中的高层比特流语法结构形成一个GOP,码流的前面要加上头信息,同样对于音频码流也要加上头信息。GOP的结构可如图2所示。GOP中包括帧为I帧、B帧、P帧。
目前数据流层的编辑方法可以精确到帧,也可以精确到GOP。其中精确到帧的编辑方法一般为全解码方式,也就是将原码码流全解码后,在解码码流上进行编辑。这种方法对解码后的数据重新编码不可避免地影响图像的质量,而且实时性、实用性较差,还需要大量的存储设备。同时这种方式必然带来承重的解码负担,编辑下率较低。而现有的技术中GOP的编辑也只是针对多个整个GOP的序列进行编辑,通常是将一个个完整的GOP在码流中搬移、插入,并没有深入到GOP本身剖析的编辑方式。再有,无论是针对视频还是音频的编辑,目前还没有基于PES流层的编辑方法。
另外,在对MPEG-2流进行非线性编辑的过程中,最基本的一种操作就是对素材的切和连,即将两段素材根据某个时间切开,去掉此前或此后的内容,然后把这两段素材合并起来,形成一段新的素材。然而,MPEG流是运动图像及其伴音有机结合的一个整体,仅仅将某个图像片段进行剪切或连接是没有太大意义的,只有将相应的伴音一起处理才有实际的意义。为了保持编辑后的视音频的同步性,音频编辑方法的选择是非常重要的。但是现有技术中,还没有基于PES流层的视音频的同步性编辑方法。
本发明的目的在于提供一种基于MPEG-2码流非线性编辑系统针对帧的编辑方法,通过建立帧索引文件的方法,针对帧进行不需要编解码近似精确到帧的编辑方法,以及对与某类型的帧只需要部分解码的精确到帧编辑方法。
本发明的另一目的在于提供一种基于MPEG-2码流非线性编辑系统精确到GOP的编辑方法,利用建立GOP索引文件,直接针对GOP进行编辑,提高图象质量和编辑效率。
本发明的又一目的在于提供一种基于MPEG-2码流非线性编辑系统视频和音频同步PES流层的编辑方法,根据视频和音频索引文件,能够进行基于PES流层完成高效的视频编辑和音频视频同步的编辑方法。
本发明的目的是这样实现的:
一种基于MPEG-2码流非线性编辑系统针对帧的编辑方法,它包括以下步骤:
1、定位编辑点,确定编辑点所对应帧的位置;
2、将该帧的剪切点处前端数据的最后一帧图像标记为FLast,剪切点处后端数据的第一帧标记为FFirst;
3、由解码部分或者索引文件确定编辑点在视音频基本数据流中的位置,并确定帧的类型;
4、根据编辑方法,进行针对帧的编辑处理;
5、更改相关GOP的头信息形成一个新的合法GOP。
所述的编辑方法包括精确到帧的编辑方法以及帧的编辑方法。
所述的针对帧的编辑处理包括切除标记前端码流、保留标记后端的码流或切除后端的码流、保留前端的码流或切除中间、保留两端的码流或切除两端的码流、保留中间的码流方法。
所述的索引文件内容包括:帧的帧号、帧的序列头起始位置、帧所在初GOP的GOP头起始位置、帧的图象头起始位置、帧的编码格式(I、B、P)、标志位。
所述的标志位内容包括帧的剪除、被重新编码或保持不变的标志。
所述的切除标记前端码流、保留标记后端的码流并且精确到帧的编辑方法包括:
1、如果FFirst为I帧,没有帧需要重编,直接去掉FFirst前所有的帧,然后修改FFirst所在GOP中的相关信息,形成新的合法GOP;
2、如果FFirst为P帧,将FFirst解码后重新编码为I帧,然后去掉FFirst前所有的帧,修改FFirst重编码后所在GOP中的相关信息,形成新的合法GOP;
3、如果FFirst为B帧,那么需要将FFirst所在GOP解码至FFirst帧,然后将FFirst帧编码成I帧,修改FFirst重编码后所在GOP中的相关信息,形成新的合法GO。
所述的切除后端的码流、保留前端的码流并且精确到帧的编辑方法包括:
1、如果FLast为I帧,没有帧需要重编,直接去掉FLast后所有的帧,然后修改FLast所在GOP中的相关信息,形成新的合法GOP;
2、如果FLast为P帧,没有帧需要重编,直接去掉FLast后所有的帧,然后修改FLast所在GOP中的相关信息,形成新的合法GOP;
3、如果FLast为B帧,那么需要将FLast所在GOP解码至FLast帧,然后将FLast帧编码成P帧,修改FLast重编码后所在GOP中的相关信息,形成新的合法GOP。
所述的切除标记前端码流、保留标记后端的码流并且近似精确到帧的编辑方法包括:
1、如果FFirst为I帧,不需要编解码操作,直接去掉FFirst前所有的帧,然后修改FFirst所在GOP中的相关信息,形成新的合法GOP;
2、如果FFirst为P帧,将FFirst帧解码后重新编码为I帧,然后去掉FFirst前所有的帧,修改FFirst重编码后所在GOP中的相关信息,形成新的合法GOP;
3、如果FFirst为B帧,需要定位FFirst前后(本GOP内)最近的I帧或者P帧(一般情况下,隔1至2帧即为I帧或者P帧),如果最近帧为I帧,去掉I帧前面所有的帧,修改FFirst所在GOP的头信息,形成新的合法GOP。如果最近帧为P帧,则需将此P帧解码后重编成I帧,去掉重编成I帧前数据,修改新的GOP头信息,形成新的合法GOP。
所述的切除后端的码流、保留前端的码流并且近似精确到帧的编辑方法包括:
1、如果FLast为I帧,不需要编、解码操作,直接去掉FLast后所有的帧,然后修改FLast所在GOP中的相关信息,形成新的合法GOP;
2、如果FLast为P帧,不需要编、解码操作,直接去掉FLast后所有的帧,然后修改FLast所在GOP中的相关信息,形成新的合法GOP;
3、如果FLast为B帧,需要定位FLast前后(本GOP内)最近的I帧或者P帧(一般情况下,隔1至2帧即为I帧或者P帧),如果最近帧为I帧,直接去掉此I帧后面所有数据,修改GOP的头信息,形成新的合法GOP。如果最近帧为P帧,只需去掉此P帧后面所的数据,修改新的GOP头信息,形成新的合法GOP。
一种基于MPEG-2码流非线性编辑系统精确到GOP的编辑方法,它包括如下步骤:
1、建立GOP索引文件;
2、依据索引文件,确定GOP在码流中的位置,
3、判断出编辑点帧所在GOP中的位置;
4、根据编辑点前后帧的多少确定舍弃或保留该GOP的前段或后段;
5、修改相临GOP头结构中相应字段。
若切除编辑点前段的码流后段的码流并保留后段码流,则修改该GOP后面的第一个GOP的头结构中相应字段;若切除编辑点后段码流并保留前段码流,修改该GOP前面的第一个GOP的头结构中相应字段。
所述的GOP索引文件包括:GOP在码流中的序号、GOP在码流中的视频序列的序列头起始位置、GOP在码流中GOP头起始位置、标志位。
所述的标志位内容包括剪除或保持不变。
一种基于MPEG-2码流非线性编辑系统视频PES流层的编辑方法,它的步骤包括:
1、建立索引文件;
2、根据索引文件确定素材1、2的前段PES包和素材1、2的后段PES包的位置;
3、对于前端PES包,计算PES包长;修改被破坏PES头信息的PES包长度;
4、对于后端PES包,计算PES包长;计算PTS和DTS的值;修改被破坏的PES头信息的PES包长度;修改保留素材中所有PTS和DTS的值。
所述的索引文件包括:PES在码流中的序号、PES在码流中的视频序列的序列头起始位置、PES在码流中PES头起始位置、标志位。
所述的标志位内容包括剪除或保持不变。
所述的DTS的值的修改使用如下公式:
DTS2(0)=DTS1(end)+C1×N1
DTS2(1)=DTS2(0)+C2×N2
DTS2(n)=DTS2(n-1)+[DTS2(1)-DTS2(0)]
其中:C1为素材1每帧解码所用时间(常数);N1为素材1最后一个PES包所含帧数;C2为素材2每帧解码所用时间(常数);N2为素材2第一个PES包所含帧数。
所述的PTS的值的修改使用如下公式:
PTS2(0)=PTS1(end)+C1XN1)
PTS2(1)=PTS2(0)+C2×N2
PTS2(n)= PTS2(n-1)+[PTS2(1)-PTS2(0)]
一种基于MPEG-2码流非线性编辑系统音视频同步PES流层的编辑方法,给出两段PES流PES1和PES2,它步骤包括:建立索引文件;根据索引文件确定PES的位置,并做标志;自视频PES得出相应的要求剪切的视频PTS值:即前后两段PES流剪切点的视频PTS值(PTS_V1和PTS_V2),保留流PES1中前段PES1流剪切点的视频PTS值PTS_V1之前和后段PES2流剪切点的视频PTS值(PTS_V2)之后的片断,寻找每个PES流中与给出的视频帧编辑处PTS最接近的音频帧,合并这两段音频PES流,链接形成一个新的音频PES,使得它仍能保持与视频编辑后的PES流的同步。
所述的索引文件包括视频索引文件和音频索引文件。
所述的视频索引文件包括:PES在码流中的序号、PES在码流中的视频序列的序列头起始位置、PES在码流中PES头起始位置、标志位。
所述的音频索引文件包括:PES在码流中对应的编码层、PES码流的采样频率、PES在码流中的音频序列头起始位置、PES在码流中PES头起始位置、标志位。
所述的寻找最接近的音频帧的步骤包括,先根据符合公式:PTS_P1≤PTS_V1<PTS_P2的条件,得到PTS所在的组的第一个音频帧所在,依据:
计算该帧的PTS增量,最终使PTS_A+ΔPTSA≥PTS_V1,确定音频PES2的PTS_A3和PTS_A4;其中:PTS_V1,PTS_V2:分别为前后两段PES流剪切点的视频PTS值;
PTS_P1,PTS_P3:分别为前后两段PES流中与剪切点最接近组(Packet)PTS值;
PTS_P2,PTS_P4:分别为前后两段PES流中与剪切点最接近组的下一组PTS值;
PTS_A1,PTS_A3:分别为前后两段PES流中与剪切点最接近帧的PTS值;PTS_A2,PTS_A4:分别为前后两段PES流中与剪切点最接近帧的下一帧PTS值。
所述的链接方式包括:全部保留编辑处两音频流两帧。
所述的链接方式包括:保留音频流1的一帧,全弃音频流2的一帧。
所述的链接方式包括:舍弃音频流1的一帧,保留音频流2的一帧。
所述的链接方式包括:全部舍弃编辑处两音频流两帧。
所述的修改相关参数包括:保留最后一个PES_组或保留第一个PES组或后续PES_组的处理。
所述的保留最后一个PES_组包括:通过音频帧的语法字(0xFFF)定位到序列1的音频裁减点,去掉序列中音频裁减点以后的音频数据;如果该裁减点位于本packet的第一帧前,将该packet与流中上一个组合并;修改组头中的长度域,使之等于本Packet中剩下的数据长度;计算ESCR1和音频ES速率R1ES:ESCR1=ESCR_base*300+ESCR_ext,
其中R1ES=ES_rate*50。
所述的保留第一个PES组包括:通过音频帧的语法字(0xFFF)定位到序列2的音频裁减点,去掉序列2中音频裁减点之前的音频数据;若该剪裁点位于该packet中最后一帧则将它合并到下一个组中,否则将剩下的数据打成一个新的组,修改packet_length,PTS,ESCR字段,如果这些字段中有些不存在,则添加该字段,并设置相应的标志;ESCR的修改为:
ESCRMew=ESCR1+L1×f÷R1ES
f=27MHz
其中:L1:ESCR字段到本ESCR字段的字节数。
所述的后续PES_组的处理包括:记录下PTS和ESCR的变化量(相对于原来的数据):
ΔPTS=PTSNew-PTSOld
ΔESCR=ESCRNew-ESCROld
对于以后的帧将都用ΔPTS和ΔESCR来校正相应的值,直至结束。
所述的步骤包括阔可在后段素材的修正PTS上加上一个混叠时间估值。
根据上述技术方案分析可知,本发明的方法就精确到帧的编辑方法而言,它降低了编、解码的强度,而且编辑精度高。其中精确到帧的编辑方法没有引入误差,也就是说没有全弃或者多保留帧;近似精确到帧由于有帧的舍弃或者保留,所以引入了误差,但误差最多为两帧的内容,可编辑的效率却得以大大的提高。对于GOP来说,精确到GOP方法简单、快捷,能够对GOP本身进行编辑。本发明另一主要的优点在于精确到PES的编辑方法,它不仅能够直接在PES流层上操作,还可针对要求尽量不改变码流结构的ES流层编辑,并且实现了基于PES流层的视频和音频的同步编辑。
下面结合附图和具体实施方案对本发明做进一步的详细说明。
图1为MPEG-2码流结构示意图;
图2为GOP帧序列结构示意图;
图3为本发明针对帧编辑方法的结构示意图;
图4为本发明的视频PES流层编辑方法参数设置图;
图5为本发明音频PES流编辑方法参数设置图;
图6为本发明的音频编辑后四中链接方式状态的示意图。
参见图3,本发明为针对帧进行编辑处理示意图。将剪切点处前端数据的最后一帧图像标记为FLast,剪切点处后端数据的第一帧标记为FFirst。剪切方式可分为切除前端保留后端和切除后端保留前端两种,对于切除中间保留两端和切除两端保留中间方法很容易从前两种方法推导出来。
本发明精确到帧的编辑方法步骤为:(1)定位编辑点,确定编辑点所对应帧的位置;(2)由解码部分或者索引文件确定编辑点在视音频基本数据流中的位置,并确定帧的类型;(3)由解码部分快速定位置本GOP的I帧并根据需要解码出图像数据;(4)由编码部分进行编码处理,将编辑点后面的第一帧变换成I帧或者P帧,形成一个完整的GOP。(5)更改相关GOP的头信息形成一个新的合法GOP。
利用该方法,当需要切除剪切点前端数据,即要求保留FFirst帧及后端数据时:
a、如果FFirst为I帧,没有帧需要重编,直接去掉FFirst前所有的帧,然后修改FFirst所在GOP中的相关信息,形成新的合法GOP。
b、如果FFirst为P帧,将FFirst解码后重新编码为I帧,然后去掉FFirst前所有的帧,修改FFirst重编码后所在GOP中的相关信息,形成新的合法GOP。
C、如果FFirst为B帧,那么需要将FFirst所在GOP解码至FFirst帧,然后将FFirst帧编码成I帧,修改FFirst重编码后所在GOP中的相关信息,形成新的合法GOP。
需要切除剪切点后端数据方法,即要求保留FLast帧及前面数据时:
a、如果FLast为I帧,没有帧需要重编,直接去掉FLast后所有的帧,然后修改FLast所在GOP中的相关信息,形成新的合法GOP。
b、如果FLast为P帧,没有帧需要重编,直接去掉FLast后所有的帧,然后修改FLast所在GOP中的相关信息,形成新的合法GOP。
c、如果FLast为B帧,那么需要将FLast所在GOP解码至FLast帧,然后将FLast帧编码成P帧,修改FLast重编码后所在GOP中的相关信息,形成新的合法GOP。
关于切除中间保留两端和切除两端保留中间方法很容易从前两种方法推导出来。
本发明近似精确到帧的编辑方法:(1)定位编辑点,确定编辑点所对应帧的位置;(2)由索引文件确定编辑点在视音频基本数据流中的位置,并确定帧的类型;(3)根据编辑方法,进行近似精确到帧的编辑处理(5)更改相关GOP的头信息形成一个新的合法GOP。近似精确到帧的编辑方法同样需要定位到帧,但不进行编解码操做,同时保证编辑误差尽可能地小(最大误差为两帧),而且大大提高了编辑效率,
利用本方法,当需要切除剪切点前端数据方法,即要求保留FFirst帧及后端数据时:
a、如果FFirst为I帧,不需要编解码操作,直接去掉FFirst前所有的帧,然后修改FFirst所在GOP中的相关信息,形成新的合法GOP。
B、如果FFirst为P帧,将FFirst帧解码后重新编码为I帧,然后去掉FFirst前所有的帧,修改FFirst重编码后所在GOP中的相关信息,形成新的合法GOP。
C、如果FFirst为B帧,需要定位FFirst前后(本GOP内)最近的I帧或者P帧(一般情况下,隔1至2帧即为I帧或者P帧),如果最近帧为I帧,去掉I帧前面所有的帧,修改FFirst所在GOP的头信息,形成新的合法GOP。如果最近帧为P帧,则需将此P帧解码后重编成I帧,去掉重编成I帧前数据,修改新的GOP头信息,形成新的合法GOP。
当切除剪切点后端数据方法,即要求保留FLast帧及前面数据时:
a、如果FLast为I帧,不需要编、解码操作,直接去掉FLast后所有的帧,然后修改FLast所在GOP中的相关信息,形成新的合法GOP。
B、如果FLast为P帧,不需要编、解码操作,直接去掉FLast后所有的帧,然后修改FLast所在GOP中的相关信息,形成新的合法GOP。
C、如果FLast为B帧,需要定位FLast前后(本GOP内)最近的I帧或者P帧(一般情况下,隔1至2帧即为I帧或者P帧),如果最近帧为I帧,直接去掉此I帧后面所有数据,修改GOP的头信息,形成新的合法GOP。如果最近帧为P帧,只需去掉此P帧后面所的数据,修改新的GOP头信息,形成新的合法GOP。
关于切除中间保留两端和切除两端保留中间方法很容易从前两种方法推导出来。
本发明一种基于MPEG-2码流非线性编辑系统精确到GOP的编辑方法:
a、建立GOP索引文件;索引文件包括:GOP在码流中的序号、GOP在码流中的视频序列的序列头起始位置、GOP在码流中GOP头起始位置、标志位。标志位内容包括剪除或保持不变。
b、依据索引文件,确定GOP在码流中的位置,
c、判断出编辑点帧所在GOP中的位置;
d、根据编辑点前后帧的多少确定舍弃或保留该GOP的前段或后段;
e、修改相临GOP头结构中相应字段。
若切除编辑点前段的码流后段的码流并保留后段码流,则修改该GOP后面的第一个GOP的头结构中相应字段;若切除编辑点后段码流并保留前段码流,修改该GOP前面的第一个GOP的头结构中相应字段。GOP索引文件包括:GOP在码流中的序号、GOP在码流中的视频序列的序列头起始位置、GOP在码流中GOP头起始位置、标志位。标志位内容包括剪除或保持不变。
本发明精确到GOP的视频编辑方法不需要任何编、解码操做。只要判断出编辑点帧所在GOP中的位置,然后根据编辑点前后帧的多少确定舍弃或保留该GOP。
对于非线性编辑方法来讲,具体操作的是基本数据流,将改变基本数据流部分语法结构的参数。从编辑点来说,对于前段素材,如果改变的基本数据流的部分语法参数将改变PS、TS流层的语法参数,只对PES包长度的值要改变。对于链接点后面素材,从上面的语法结构可以看出,需要改变的有PTS和DTS值和PES包长度的值。对于PES包长度可以通过基本数据的操做获得。PTS和DTS的值可根据前段素材的最后一个值确定。
本发明的一种基于MPEG-2码流非线性编辑系统视频PES流层的编辑方法,它的步骤包括:
a、建立索引文件;
b、根据索引文件确定素材1、2的前段PES包和素材1、2的后段PES包的位置;
c、对于前端PES包,计算PES包长;修改被破坏PES头信息的PES包长度;
d、对于后端PES包,计算PES包长;计算PTS和DTS的值;修改被破坏的PES头信息的PES包长度;修改保留素材中所有PTS和DTS的值。
索引文件包括:PES在码流中的序号、PES在码流中的视频序列的序列头起始位置、PES在码流中PES头起始位置、标志位。标志位内容包括剪除或保持不变。
对于固定的帧速度(此项可由序列头中获得),如PAL制式每帧显示时标PTS相差40ms。
修改后段素材DTS的方法:
DTS2(0)=DTS1(end)+C1×N1
DTS2(1)=DTS2(0)+C2×N2
DTS2(n)=DTS2(n-1)+[DTS2(1)-DTS2(0)]
其中:C1为素材1每帧解码所用时间(常数);N1为素材1最后一个PES包所含帧数。C2为素材2每帧解码所用时间(常数);N2为素材2第一个PES包所含帧数。
修改后段素材PTS的方法:
对于素材2经编辑处后的PES包其第一帧定为I帧,故:
PTS2(0)=DST2(0),如PTS与DTS不一定绝对相等,有可能存在差值,故可根据素材1的PTS与DTS的差值对素材2的PTS进行修正。另可修正为:PTS2(0)=PTS1(end)+C1XN1)
PTS2(1)=PTS2(0)+C2×N2
PTS2(n)=PTS2(n-1)+[PTS2(1)-PTS2(0)]
对于一段MPEG视音频流,人们往往根据所看到的内容来确定一个剪切时间,而较少根据声音来进行剪切,所以此时要以视频编辑为标准,对音频数据进行相应的剪切。因为视频帧和音频帧的周期是不一致的,而且也没有成倍的关系(如常见的PAL制视频为40毫秒/帧,44.1kHz,Layer2的音频为26毫秒/帧),于是这种视音频的对应是对不齐的,在剪切时也只能找到两者的最近帧,然后综合考虑两段素材合并后的误差,使处理后的素材失真度最小。在PES组头中包含MPEG流中视音频同步的基本时标信息PTS字段,利用它可以保持视频和音频流的精确同步播放。与此同时,PES又是系统PS流和TS流之间转换的桥梁,用它可以随意而轻松的输出PS或TS流。因为音频的ES流层已经失去了流中的时标信息,也就失去了最初的同步信息。当然,如果采用按视音频相应的播放时间来同步的话,由于在视音频开始播放时就不是对齐的,这段时差在ES流层就被埋没了,并会累计到剪切后的流中,加大了误差。要是最后以PS或TS流的形式输出的,又要重新打成PES,再打成PS流或TS流,增加了重复工作。至于PS流和TS流是将视频和音频数据复用在一起的,在这种流上进行编辑的复杂性是相当高的。这主要是由于在PS流和TS流上视音频数据的交错太多的原因,如某幅视频图像与其同时播放的音频数据间常常间隔相当的距离,这就造成了视频,音频剪切点处的数据处理,重新打包等操作的高复杂性,所以本发明是在音频PES流上进行音频流的编辑。它首先需要建立索引文件,包括视频索引文件和音频索引文件。其中视频索引文件包括:PES在码流中的序号、PES在码流中的视频序列的序列头起始位置、PES在码流中PES头起始位置、标志位;音频索引文件包括:PES在码流中对应的编码层、PES码流的采样频率、PES在码流中的音频序列头起始位置、PES在码流中PES头起始位置、标志位。根据索引文件确定PES的位置,并做标志;自视频PES得出相应的要求剪切的视频PTS值:即前后两段PES流剪切点的视频PTS值(PTS_V1和PTS_V2),保留流PES1中前段PES1流剪切点的视频PTS值PTS_V1之前和后段PES2流剪切点的视频PTS值(PTS_V2)之后的片断,寻找每个PES流中与给出的视频帧编辑处PTS最接近的音频帧,合并这两段音频PES流,链接形成一个新的音频PES,使得它仍能保持与视频编辑后的PES流的同步。
基于PES流层的音频同步编辑方法可由图4、5所示,设:
PTS_V1,PTS_V2:分别为前后两段PES流剪切点的视频PTS值;
PTS_P1,PTS_P3:分别为前后两段PES流中与剪切点最接近组PTS值;
PTS_P2,PTS_P4:分别为前后两段PES流中与剪切点最接近组的下一组PTS值;
PTS_A1,PTS_A3:分别为前后两段PES流中与剪切点最接近帧的PTS值;
PTS_A2,PTS_A4:分别为前后两段PES流中与剪切点最接近帧的下一帧PTS值;
即给出两段音频PES流:PES1和PES2和相应的要求剪切的视频PTS值(来自于视频PES):PTS_V1和PTS_V2,保留流PES1中PTS_V1之前和流PES2中PTS_V2之后的片断,合并这两段音频PES流形成一个新的音频PES,使得它仍能保持与视频编辑后的PES流的同步。
对于给定的剪切点和要编辑的两段素材,可以根据剪切点的PTS值在音频PES流中定位到相应的音频帧。这时,编辑的重点就集中在对这两段流中的这两个音频帧的处理上。综合考虑处理方式找出最合适的一种处理方式来进行处理。因为处理涉及到对流中数据的取舍,所以还要修改组头中的长度域,时标域等,构成一个新的合法PES流。
找出每个PES流中与给出的视频编辑处PTS最接近的音频帧时,下面以PES流1为例说明此过程:
根据剪切点的PTS值找出最接近的Packet所在。对于每个音频Packet,分析出其Packet_header中的PTS值:PTS_P1;再分析它相邻的下一个Packet中的PTS值:PTS_P2;与PTS_V1做比较,直到找到某个PTS_P1和PTS_P2使下式成立为止:
PTS_P1≤PTS_V1<PTS_P2
在(1)中PTS_P1所在的Packet中找出最接近的音频帧。先分析此Packet结构,找到该Packet中第一个音频帧所在,计算此帧的PTS增量:
其中:(以下数据均可由音频帧头信息中读出)
f=90kHz;
sample_count:1152(Layer2,Layer3),384(Layer1);
sample_frequency:音频采样率;
用PTS_A来表示当前分析的音频帧的PTS值,N表示它在该packet中的序号,显然在刚开始的时候有:
PTS_A=PTS_P1;N=0;
如果PTS_A+ΔPTSA<PTS_V1,继续取下一个音频帧进行分析,计算ΔPTSA并修改PTS_A和N的值。一直分析到下式成立为止:
PTS_A+ΔPTSA≥PTS_V1
此时就找到了满足条件的音频帧,并有:
PTS_A1=PTS_A;PTS_A2=PTS_A+ΔPTSA
同理确定音频PES2的PTS_A3和PTS_A4。
选择链接最佳的处理方式
因为PTS间隔与播放时间长短成正比,所以可以用占用的PTS长度来衡量各区播放时间的长短,有:
PlayTimeA≈PTS1-PTS_A1;PlayTimeB≈PTS_A2-PTS1
PlayTimeC≈PTS2-PTS_A3;PlayTimeD≈PTS_A4-PTS2
从编辑方法中取舍角度考虑,这两段音频码流共有四种链接方式,如图6中所示。针对各种链接方式的误差分别为:
(1)链接方式一:全部保留编辑处两音频流两帧,误差为:E=B+C;
(2)链接方式二:保留音频流1的一帧,全弃音频流2的一帧,误差为E=|B-D|(绝对值);
(3)链接方式三:舍弃音频流1的一帧,保留音频流2的一帧,误差为E=|C-A|(绝对值);
(4)链接方式四:全部舍弃编辑处两音频流两帧,误差为E=A+D;
本发明所述方法是在各种键接方式中选择误差最小方式来链接两段码流。
修改相关参数:
由于在音频PES流的packet_header中包含PTS,ESCR等时标信息,而这两个时间序列的时间基准可能不一致,必须根据前段序列的时间来校正后段序列的时间,使合并后的序列的时标保持连续性。此外,两个音频序列的层,比特率或采样频率等参数可能不一致,所以要把结合处的两个不完整PES_组各编成一个完整的PES_组。
最后一个要保留的PES_组的处理:通过音频帧的语法字(0xFFF)定位到序列1的音频裁减点,去掉序列1中音频裁减点以后的音频数据。如果该裁减点位于本组的第一帧前,为了避免音频组t中没有音频帧的情况,要将该组与流中上一个组合并。修改包头中的长度域,使之等于本组中剩下的数据长度。计算ESCR1和音频ES速率R1ES以备(2)中使用:
ESCR1=ESCR_base*300+ESCR_ext
R1ES=ES_rate*50
第一个要保留的PES_组的处理:通过音频帧的语法字(0xFFF)定位到序列2的音频裁减点,去掉序列2中音频裁减点之前的音频数据。如果该剪裁点位于该组中最后一帧则将它合并到下一个组中,否则将剩下的数据打成一个新的组,修改包长度,PTS,ESCR字段,如果这些字段中有些不存在,则添加该字段,并设置相应的标志。其中PTSNew依取舍方式的不同可能等于图二中的PTS_A1或PTS_A2。ESCR的修改方法如下:
ESCRNew=ESCR1+L1×f÷R1ES
f=27MHz
其中:ESCR1,R1ES参见标准;L1:ESCR字段到本ESCR字段的字节数。
后续PES_组的处理:按(2)中所示的方法继续计算PTSNew和ESCRNew,只不过公式中的数据全部用序列2中第一个保留的Packet中的值代替。记录下PTS和ESCR的变化量(相对于原来的数据)
ΔPTS=PTSNew-PTSOld
ΔESCR=ESCRNew-ESCROld
对于以后的帧将都用ΔPTS和ΔESCR来校正相应的值,直至结束。
如果要进一步减小误差,并尽量降低累积误差。可在后段素材的修正PTS上加上一个混叠时间估值,如果估计值较为准确,则可将误差值降置为零。
Claims (3)
1、一种基于MPEG-2码流非线性编辑系统针对帧的编辑方法,其特征在于:它包括以下步骤:
A)建立索引文件,所述索引文件内容包括:帧的帧号、帧的序列头起始位置、帧所在初GOP的GOP头起始位置、帧的图象头起始位置、帧的编码格式、标志位;
B)定位编辑点,根据上述索引文件确定编辑点处所对应的图像帧;
C)将编辑点处前端数据的最后一帧图像标记为FLast,编辑点处后端数据的第一帧标记为FFirst;
D)若欲切除编辑点前端码流、保留编辑点后端的码流,则执行下列步骤:
D1)判断FFirst是否为I帧,若是,则直接去掉FFirst前所有的帧,然后修改FFirst所在GOP中的相关信息,形成新的合法GOP,流程结束;否则,继续下列步骤;
D2)判断FFirst是否为P帧,若是,将FFirst解码后重新编码为I帧,然后去掉FFirst前所有的帧,修改FFirst重编码后所在GOP中的相关信息,形成新的合法GOP,流程结束;否则,继续下列步骤;
D3)将FFirst所在GOP解码至FFirst帧,然后将FFirst帧编码成I帧,修改FFirst重编码后所在GOP中的相关信息形成新的合法GOP,流程结束;
E)若欲切除编辑点后端的码流、保留编辑点前端的码流,则执行下列步骤:
E1)判断FLast是否为I帧,若是,则直接去掉FLast后所有的帧,修改FLast所在GOP中的相关信息,形成新的合法GOP,结束流程;否则,继续下列步骤;
E2)判断FLast是否为P帧,若是,则直接去掉FLast后所有的帧,修改FLast所在GOP中的相关信息,形成新的合法GOP,结束流程;否则,继续下列步骤;
E3)将FLast所在GOP解码至FLast帧,然后将FLast帧编码成P帧,修改FLast重编码后所在GOP中的相关信息,形成新的合法GOP,结束流程。
2、根据权利要求1所述的一种基于MPEG-2码流非线性编辑系统针对帧的编辑方法,其特征在于:所述的标志位内容包括帧的剪除、被重新编码或保持不变的标志。
3、一种基于MEPG-2码流非线性编辑系统近似精确到帧的编辑方法包括:
A)建立索引文件,所述索引文件内容包括:帧的帧号、帧的序列头起始位置、帧所在初GOP的GOP头起始位置、帧的图象头起始位置、帧的编码格式、标志位;
B)定位编辑点,根据上述索引文件确定编辑点处所对应的图像帧;
C)将编辑点处前端数据的最后一帧图像标记为FLast,编辑点处后端数据的第一帧标记为FFirst;
D)若欲切除编辑点前端码流、保留编辑点后端的码流,则执行下列步骤:
D1)判断FFirst是否为I帧,若是,直接去掉FFirst前所有的帧;然后修改FFirst所在GOP中的相关信息,形成新的合法GOP,结束流程;否则,继续下列步骤;
D2)判断FFirst是否为P帧,若是,将FFirst帧解码后重新编码为I帧,然后去掉FFirst前所有的帧,修改FFirst重编码后所在GOP中的相关信息,形成新的合法GOP,结束流程;否则,继续下列步骤;
D3)定位FFirst前后最近的I帧或者P帧,如果最近帧为I帧,去掉I帧前面所有的帧,修改FFirst所在GOP的头信息,形成新的合法GOP;如果最近帧为P帧,则需将此P帧解码后重编成I帧,去掉重编成I帧前数据,修改新的GOP头信息,形成新的合法GOP;
E)若欲切除编辑点后端的码流、保留编辑点前端的码流,则执行下列步骤:
E1)判断FLast是否为I帧,若是,直接去掉FLast后所有的帧,然后修改FLast所在GOP中的相关信息,形成新的合法GOP,结束流程;否则,继续下列步骤;
E2)判断FLast是否为P帧,若是,直接去掉FLast后所有的帧,然后修改FLast所在GOP中的相关信息,形成新的合法GOP,结束流程;否则,继续下列步骤;
E3)定位FLast前后最近的I帧或者P帧,如果最近帧为I帧,直接去掉此I帧后面所有数据,修改GOP的头信息,形成新的合法GOP;如果最近帧为P帧,则去掉此P帧后面所的数据,修改新的GOP头信息,形成新的合法GOP。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB00124793XA CN100353750C (zh) | 2000-09-15 | 2000-09-15 | 基于mpeg-2码流的非线性编辑系统编辑方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB00124793XA CN100353750C (zh) | 2000-09-15 | 2000-09-15 | 基于mpeg-2码流的非线性编辑系统编辑方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1344106A CN1344106A (zh) | 2002-04-10 |
CN100353750C true CN100353750C (zh) | 2007-12-05 |
Family
ID=4590663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB00124793XA Expired - Fee Related CN100353750C (zh) | 2000-09-15 | 2000-09-15 | 基于mpeg-2码流的非线性编辑系统编辑方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100353750C (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4002878B2 (ja) * | 2003-01-17 | 2007-11-07 | 松下電器産業株式会社 | 画像符号化方法 |
JP4085392B2 (ja) * | 2004-09-02 | 2008-05-14 | ソニー株式会社 | 記録再生装置及びその方法並びにプログラム |
CN100377589C (zh) * | 2005-04-07 | 2008-03-26 | 北京北大方正电子有限公司 | 一种视频文件快速生成的方法 |
CN100454981C (zh) * | 2007-11-19 | 2009-01-21 | 新奥特(北京)视频技术有限公司 | 一种工程快照文件的生成方法 |
CN101448096B (zh) * | 2007-11-28 | 2012-05-23 | 新奥特(北京)视频技术有限公司 | 一种多路视频信号合成处理多轨特技的方法 |
CN101472118B (zh) * | 2007-12-24 | 2011-12-28 | 新奥特(北京)视频技术有限公司 | 一种对收录系统收录过程中的文件进行切分的方法 |
CN101820540B (zh) * | 2009-12-25 | 2011-09-14 | 北京惠信博思技术有限公司 | 一种mpeg-2编码复用的方法 |
PT2413535E (pt) | 2010-07-30 | 2013-01-25 | Deutsche Telekom Ag | Método para estimar o tipo da estrutura do grupo de imagens de uma pluralidade de fotogramas de vídeo numa sequência de vídeo |
CN102857747B (zh) * | 2011-06-27 | 2015-02-25 | 北大方正集团有限公司 | 局部重编码方法和装置 |
CN103024394A (zh) * | 2012-12-31 | 2013-04-03 | 传聚互动(北京)科技有限公司 | 视频文件剪辑方法和装置 |
CN103167342B (zh) * | 2013-03-29 | 2016-07-13 | 天脉聚源(北京)传媒科技有限公司 | 一种音视频同步处理装置及方法 |
CN105592356B (zh) * | 2014-10-22 | 2018-07-17 | 北京拓尔思信息技术股份有限公司 | 一种音视频在线虚拟剪辑方法和系统 |
CN105578265B (zh) * | 2015-12-10 | 2019-03-05 | 杭州当虹科技有限公司 | 一种基于h264、h265视频分析的时间戳补偿或修正的方法 |
CN108550369B (zh) * | 2018-04-14 | 2020-08-11 | 全景声科技南京有限公司 | 一种可变长度的全景声信号编解码方法 |
CN110740344B (zh) * | 2019-09-17 | 2022-10-04 | 浙江大华技术股份有限公司 | 视频提取方法、装置及存储装置 |
CN112351308A (zh) * | 2020-10-30 | 2021-02-09 | 杭州当虹科技股份有限公司 | 一种基于局部转码技术实现快速转码方法 |
CN115577684B (zh) * | 2022-12-07 | 2023-03-31 | 成都华栖云科技有限公司 | 一种非线性编辑系统连接的方法、系统及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0615244A2 (en) * | 1993-03-11 | 1994-09-14 | Matsushita Electric Industrial Co., Ltd. | System for non-linear video editing |
CN1222814A (zh) * | 1997-11-04 | 1999-07-14 | 松下电器产业株式会社 | 数字图像编辑方法和系统 |
WO1999056471A2 (en) * | 1998-04-29 | 1999-11-04 | Hewlett-Packard Company | System for editing compressed image sequences |
-
2000
- 2000-09-15 CN CNB00124793XA patent/CN100353750C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0615244A2 (en) * | 1993-03-11 | 1994-09-14 | Matsushita Electric Industrial Co., Ltd. | System for non-linear video editing |
CN1222814A (zh) * | 1997-11-04 | 1999-07-14 | 松下电器产业株式会社 | 数字图像编辑方法和系统 |
WO1999056471A2 (en) * | 1998-04-29 | 1999-11-04 | Hewlett-Packard Company | System for editing compressed image sequences |
Also Published As
Publication number | Publication date |
---|---|
CN1344106A (zh) | 2002-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100353750C (zh) | 基于mpeg-2码流的非线性编辑系统编辑方法 | |
CN101145369B (zh) | 数据记录设备和方法、数据再现设备和方法 | |
US7738779B2 (en) | Method of processing multiplexed program data using entry points and time units | |
JP4481444B2 (ja) | 画像符号化装置 | |
EP0989756A3 (en) | Splicing information streams | |
ATE346359T1 (de) | Rastergenaue editierung kodierter audiovisueller sequenzen | |
CN1829333B (zh) | 产生要记录的信息信号的方法 | |
BR0305434A (pt) | Métodos e arranjos para codificar e para decodificar um sinal de áudio multicanal, aparelhos para fornecer um sinal de áudio codificado e um sinal de áudio decodificado, sinal de áudio multicanal codificado, e, meio de armazenagem | |
WO2001065888A3 (en) | A system for accommodating primary and secondary audio signal | |
CN100579236C (zh) | 音频编解码方法和装置 | |
EP1173028A3 (en) | Scalable encoding of media streams | |
JPH11282496A (ja) | 復号装置 | |
DK1016319T3 (da) | Fremgangsmåde og indretning til kodning af et tidsdiskret stereosignal | |
JPH10271446A (ja) | オーディオビジュアル・セグメントを貼り合わせる方法および装置、オーディオビジュアル・セグメントを接合する方法、オーディオビジュアル・ファイルからセグメントをコピーする方法、オーディオビジュアル・ファイルからセグメントを切り取るための装置、ならびにコンピュータが読み取り可能な媒体 | |
KR20030011095A (ko) | Mp3용 트릭 플레이 | |
US7941030B2 (en) | Audio/video recording apparatus, recording method, playback apparatus, playback method, playback program, and recording program | |
CN100377589C (zh) | 一种视频文件快速生成的方法 | |
US4757518A (en) | Coding digital data | |
DE69616450T2 (de) | Gerät und Verfahren zur Kodierung und/oder Dekodierung von Daten | |
US7149159B2 (en) | Method and apparatus for editing data streams | |
US6785464B1 (en) | Multiplexing method for continuous reproduction of encoded pictures during skipping | |
CN108271051B (zh) | 一种图文节目单自动生成及调整方法 | |
KR20030052819A (ko) | 디지털 오디오 부호화 타입 검출에 의한 복호화 장치 및그 방법 | |
CN101350212B (zh) | 处理装置及处理方法 | |
JPH08329605A (ja) | デイジタルオーデイオ信号処理方法、デイジタルオーデイオ信号処理装置及び記録再生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071205 Termination date: 20091015 |