CN100499823C - 实现mxf视频文件与pcm音频文件同步播放的方法 - Google Patents
实现mxf视频文件与pcm音频文件同步播放的方法 Download PDFInfo
- Publication number
- CN100499823C CN100499823C CN 200610011326 CN200610011326A CN100499823C CN 100499823 C CN100499823 C CN 100499823C CN 200610011326 CN200610011326 CN 200610011326 CN 200610011326 A CN200610011326 A CN 200610011326A CN 100499823 C CN100499823 C CN 100499823C
- Authority
- CN
- China
- Prior art keywords
- video
- audio
- file
- data
- decoder
- 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
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000010586 diagram Methods 0.000 claims 1
- 230000009191 jumping Effects 0.000 claims 1
- 238000004806 packaging method and process Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种实现MXF视频文件与PCM音频文件同步播放的方法,包括:1)计算视频与音频文件的大小,得到两者大小的比例;2)按照比例向解码器提供视频和音频数据,检查文件是否播放完毕,完毕进入8),否则继续执行;3)检测视频数据是否有图组头信息,如果有,进入4),否则,执行2);4)解析图组头,计算视频相对播放时间;5)计算音频数据的相对播放时间;6)根据视频相对播放时间和音频相对播放时间的差值,判断是否同步,若不同步,执行7),否则,跳到2);7)调整解码器的数据输入,使音视频数据播放保持同步,然后跳到2);8)释放资源,停止播放。本发明方便可靠的实现视频文件与音频文件的同步播放。
Description
技术领域
本发明涉及数字电影播放系统,特别涉及采用MXF视频文件格式及PCM音频文件格式的数字电影播放系统。
背景技术
随着计算机技术的不断发展,各行各业迎来了数字化的进程。随着各种音视频编码技术的不断成熟,数字电影的产生成为必然。数字电影摆脱了对胶片介质的依赖,使电影的放映与普及更加灵活方便。信息安全科学的飞速发展,也为数字电影版权保护等提供了保证。目前,我国正准备建立庞大的数字电影放映院线。
MXF(Material Exchange Format,素材交换格式)是专业MPEG论坛(Pro-MPEGForum)制定和推广的一个开放的文件格式,目标是解决节目制作系统中不同环节的设备间视/音频节目素材和相关数据及其元数据的交换。MXF是音/视频元数据的打包结构,文件本体可以是多种视/音频格式,包括元数据。MXF对于任何素材和节目单元(数字音/视频、附加数据或元数据)的传输,不必考虑其格式和内容,将这些节目单元作为一个实体,简单地放入文件包内,通过网络传输,并且可以通过文件名检索源文件。MXF符合SMPTE 336M KLV数据编码协议,为目前电影行业所广泛使用。
PCM(Pulse Code Modulation)音频文件是原始的音频采样数据流构成的文件。它包含的音频数据未经任何压缩,为此不存在任何专利、版权问题,也是PC的一种标准音频格式。
鉴于MXF文件的广泛性及PCM文件的无版权特点,国家广电总局针对数字电影的规范指导性文件规定:数字电影的视频文件采用MXF文件格式,其内部打包的视频数据采用MPEG-2(ISO13818)编码的基本流(ES),音频则使用PCM文件,内部数据为无压缩的PCM数据流。
MXF文件中的ES视频流与PCM文件中的PCM音频流均不含可直接用于同步的时戳信息,这就给音视频文件分别播放时的同步问题造成困难。
发明内容
为了克服MXF文件中的ES视频流与PCM文件中的PCM音频流不包含时戳信息,无法同步音视频播放的问题,本发明提供了一种能够实现MXF视频文件与PCM音频文件同步播放的方法。
为了实现上述目的,本发明提供一种实现MXF视频文件与PCM音频文件同步播放的方法,包括:
1)、计算MXF视频文件与PCM音频文件的大小,得到视频文件大小和音频文件大小的比例Tv:a;
2)、按照Tv:a:1的比例向音视频解码器提供视频数据和音频数据,在每次向视频解码器输送数据时,检查文件是否播放完毕,如果文件播放完毕,则释放资源,停止播放,如果文件未播放完毕,则继续执行;
3)、检测当前送入解码器的视频数据是否含有图组头信息,如果有,则进入步骤4)检测音视频播放是否同步,如果没有图组头信息,重新执行步骤2);
4)、解析送入解码器的视频数据的图组头,由当前的图组头的信息,得到已经送入解码器的视频帧的总数量,根据视频帧的总数量计算视频相对播放时间Tvideo;
5)、利用当前已经送入音频解码器的音频数据的比特数,计算得到当前已经送入解码器的音频数据的相对播放时间Taudio;
6)、求步骤4)得到的视频相对播放时间Tvideo和步骤5)得到的音频相对播放时间Taudio的差值,判断音视频是否同步,若两者差值的绝对值ΔT=|Tvideo-Taudio|超过了阀值,则认为音视频不同步,由步骤7)实现音视频的同步调节,若音视频同步,跳转到步骤2);
7)、调整解码器的数据输入,加快落后一方的数据输入速度,直至音视频数据的播放保持同步,然后跳转到步骤2)。
上述技术方案中,在所述的步骤4)中,所述的视频相对播放时间Tvideo用已读取的帧的数量除以视频播放时的解码速率得到,所述的视频播放时的解码速率由视频文件的视频序列头中解析得到,所述的已读取的帧的数量通过解析图组头中的time_code的值得到。
上述技术方案中,在所述的步骤5)中,所述的音频数据的相对播放时间Taudio根据PCM音频文件的采样率Fpcm、量化阶数B、当前调度给音频解码器的PCM数据量Caudio以及音频文件的声道数量Nchanncl得到:
Taudio=8×Caudio÷(Nchannel×B×Fpcm)。
上述技术方案中,在所述的步骤6)中,所述的阀值为0.08秒。
上述技术方案中,在所述的步骤7)中,在调节音视频数据的输入速度时,为了减少调节的频率,可以进行适当的超调,如果视频播放速度超过了音频播放速度,则增加音频数据的输入速度,直至音频输入速度超前视频输入速度一定值,如果音频播放速度超过了视频播放速度,则增加视频数据的输入速度,直至视频输入速度超前音频输入速度一定值,所述值取0.06秒。
本发明针对数字电影所采用的MXF视频文件与PCM音频文件难以同步播放的问题,通过特定的MXF打包方案及时间抽取、调整算法的设计,方便可靠的实现了MXF视频文件与PCM音频文件的同步播放。
附图说明
图1为本发明的实现MXF视频文件与PCM音频文件同步播放的方法的流程图。
具体实施方式
下面结合附图和具体实施方式,对本发明的实现MXF视频文件与PCM音频文件同步播放的方法作进一步的说明。
在对本发明的方法进行说明之前,首先对MXF中的打包方式进行说明。在本发明中,MXF素材格式采用KLV(Key Length Value)方式打包,打包后的数据包的格式如表1所示,其中的K表示包的标识(ID),L表示包的长度,V表示包的负载,即包中的内容。为了视频时间信息提取的需要,把V定义成MPEG-2编码的基本流(Es)数据的一个图组的数据,该图组的数据可能经过加密,但解密后V的头部即为一个图组头。
表1
K | L | V |
本发明的实现MXF视频文件与PCM音频文件同步播放的方法具体包括以下步骤。
步骤10、计算视频文件和音频文件的大小,分别用Cvideo和Caudi。表示,得到视频文件大小和音频文件大小的比例:Tv:a=Cvideo÷Caudio。
步骤20、按照Tv:a:1的比例向音视频解码器提供视频数据和音频数据,在每次向视频解码器输送数据时,检查文件是否播放完毕,如果文件播放完毕,则进入步骤80,否则继续执行。
步骤30、检测当前送入解码器的视频数据是否含有图组头信息,如果有,则进入步骤40检测音视频播放是否同步,否则,循环执行步骤20。
步骤40、解析送入音视频解码器的视频数据的图组头,由当前的图组头的信息,得到已经送入解码器的视频帧的总数量,根据视频帧的总数量计算视频相对播放时间Tvideo。
由于MXF格式的视频数据中没有时间戳,也没有其他的用于解码时用的时间信息,因此在本发明中,从视频文件的视频序列头中解析出视频播放时的解码帧率,设为Fframe,只要可以实时得到当前读取文件的帧的数量Cframe,两者相除即可以得到已经调度给视频解码器的数据的相对播放时间Tvideo=Cframe÷Fframe。本步骤中,关键在于如何得到当前读取文件的帧的数量,根据MPEG-2系统流的语法结构可以有两种方法:
方法1、分析即将送入视频解码器的视频数据,利用帧标识码来匹配扫描视频数据,一旦发现一个帧标识码,则当前调度给视频解码器的帧的计数变量加一。但这样做的时间复杂度非常大,大概是0(n),会严重影响视频播放的质量,使得视频播放不连续。也可以根据单帧大小做一个统计,进行优化,但是其复杂度仍然为0(n/m)。其中,n为当前送入解码器的数据的字节数,m是相对n比较小的数,经粗略计算不会大于5,因此时间复杂度仍然过大,影响视频播放质量,故不足取。
本实施例采用第二种获取当前读取文件帧数量的方法,该方法与MXF打包方案结合,利用MXF的KLV中L值,得到每一个KLV的头部,也就得到了每一个V域的头部,而按照MXF打包方案,每个V域的头部也恰好是图组的头部。图组头的语法结构如表格2所示,图组头中有数域time_code,time_code的语法结构如表格3所示。在MPEG-2标准定义了其中各值域的具体含义。
表2 图组头
Group_of_picture_header | 位数 |
Group_start_code | 32(0X000001B8) |
Time_code | 25 |
表3 time_code值表
Time_code | 值域 | 位数 |
Drop_frame_flag | 0/1 | 1 |
Time_code_hours | 0~23 | 5 |
Time_code_minutes | 0~59 | 6 |
Market_bit | 1 | 1 |
Time_code_seconds | 0~59 | 6 |
Time_code_pictures | 0~59 | 6 |
通过解析time_code的值可以知道到当前图组头以前的视频数据所含有的帧的数量。
Cframe=((time_code_hours×60+time_code_minutes)×60
+time_code_seconds)×Fframe+time_code_pictures
-Cframe_start
上式中Cframe_start为第一个图组头解析得到的Cframe的值。一般影片的编码规则都是Cframe_start=0。
经验证,该算法时间复杂度低,不考虑MXF解析的复杂度,它基本上复杂度为零。使用中也不影响影片的正常播放。
步骤50、利用当前已经送入音频解码器的音频数据的比特数,计算得到当前已经送入音频解码器的音频数据的相对播放时间Taudio。
PCM文件的数据组织结构比较简单,只需要知道PCM文件的采样率Fpcm,量化阶数B、当前调度给音频解码器的PCM数据量Caudio以及音频文件的声道数量Nchannel,即可算得音频数据的相对播放时间Taudio:
Taudio=8×Caudio÷(Nchannel×B×Fpcm)。
步骤60、计算步骤40得到的视频相对播放时间Tvide。和步骤50得到的音频相对播放时间Taudio的差值,按照音视频同步的标准判断音视频是否同步,若两者差值的绝对值ΔT=|Tvideo-Taudio|超过了0.08秒,则由步骤70实现音视频的同步调节,否则,跳转到步骤20。
在本步骤中,音视频播放的同步要求用感知服务质量(P-QoS)来表达,感知服务质量决定于媒体及其应用。为了描述同步要求,实现相关的控制机制,需要定义一些P-QoS参数。这些参数包括单个媒体流相邻媒体单元所经历的时延抖动(delay jitter)以及音频和视频的相关媒体单元的时间差即偏移(skew)。人体对抖动和偏移的感知测量结果表明,如果抖动和偏移限制在一个合适的范围内,那么媒体是同步的。研究表明,对于音频或TV品质的视频,若媒体内时延抖动小于0.01秒,则音频或视频播放处于同步状态,否则是处于失步状态。对于音频和与其相关的视频同时播放时,当媒体间偏移在-0.08s到+0.08之间时,多数观众都不会感到偏移的存在,这个区域是同步区域。当偏移在-0.14s到+0.16秒之外时,几乎所有观众都对播映不满意,这一区域为不同步区域。在同步区域和不同步区域之间还存在两个临界区域,当偏移在临界区域时,观众离播放点越近,播映的视频信号和音频信号的分辨率越高,则越容易感觉到偏移。因此在本步骤中将音视频是否同步的标准设定为0.08s,当调度给音视频解码器的媒体数据的理论播放时间差Tv_a=|Tvideo-Taudio|大于0.08s时,说明播放没有同步,需要进行对音视频数据的调度进行调节。
步骤70、调整音视频解码器的数据输入,加快落后一方的媒体的数据输入,直至音视频数据的播放保持同步,然后跳转到步骤20。
根据MPEG-2编码标准,基本流(ES)的各帧大小不同。因此按照音视频文件的大小比例来调度音视频解码器时,必然会发生音视频不同步的现象,而且一旦发生,都有一定的趋势,比如一段足够小的时间内,音频比视频越来越快或者越来越慢。一旦检测到音视频不同步,为了减少需要马上进行调节的概率,可以进行适当的超调。如果视频(音频)播放速度超过了音频(视频)播放速度,以致出现明显的音视频不同步,则调节音视频数据调度,增加音频(视频)数据的输入,直至音频(视频)超前视频(音频)一定值,该值可以取0.06秒。
步骤80、释放资源,退出程序。
Claims (5)
1、一种实现MXF视频文件与PCM音频文件同步播放的方法,包括:
1)、计算MXF视频文件与PCM音频文件的大小,得到视频文件大小和音频文件大小的比例Tv:a;
2)、按照Tv:a:1的比例向音视频解码器提供视频数据和音频数据,在每次向视频解码器输送数据时,检查文件是否播放完毕,如果文件播放完毕,则释放资源,停止播放,如果文件未播放完毕,则继续执行;
3)、检测当前送入解码器的视频数据是否含有图组头信息,如果有,则进入步骤4)检测音视频播放是否同步,如果没有图组头信息,重新执行步骤2);
4)、解析送入解码器的视频数据的图组头,由当前的图组头的信息,得到已经送入解码器的视频帧的总数量,根据视频帧的总数量计算视频相对播放时间Tvideo;
5)、利用当前已经送入音频解码器的音频数据的比特数,计算得到当前已经送入解码器的音频数据的相对播放时间Taudio;
6)、求步骤4)得到的视频相对播放时间Tvideo和步骤5)得到的音频相对播放时间Taudio的差值,判断音视频是否同步,若两者差值的绝对值ΔT=|Tvideo-Taudio|超过了阀值,则认为音视频不同步,由步骤7)实现音视频的同步调节,若音视频同步,跳转到步骤2);
7)、调整解码器的数据输入,加快落后一方的数据输入速度,直至音视频数据的播放保持同步,然后跳转到步骤2)。
2、根据权利要求1所述的实现MXF视频文件与PCM音频文件同步播放的方法,其特征在于,在所述的步骤4)中,所述的视频相对播放时间Tvideo用已读取的帧的数量除以视频播放时的解码速率得到,所述的视频播放时的解码速率由视频文件的视频序列头中解析得到,所述的已读取的帧的数量通过解析图组头中的time_code的值得到。
3、根据权利要求1所述的实现MXF视频文件与PCM音频文件同步播放的方法,其特征在于,在所述的步骤5)中,所述的音频数据的相对播放时间Taudio根据PCM音频文件的采样率Fpcm、量化阶数B、当前调度给音频解码器的PCM数据量Caudio以及音频文件的声道数量Nchannel得到:
Taudio=8×Caudio÷(Nchannel×B×Fpcm)。
4、根据权利要求1所述的实现MXF视频文件与PCM音频文件同步播放的方法,其特征在于,在所述的步骤6)中,所述的阀值为0.08秒。
5、根据权利要求1所述的实现MXF视频文件与PCM音频文件同步播放的方法,其特征在于,在所述的步骤7)中,如果视频播放速度超过了音频播放速度,则增加音频数据的输入速度,直至音频输入速度超前视频输入速度一定值,如果音频播放速度超过了视频播放速度,则增加视频数据的输入速度,直至视频输入速度超前音频输入速度一定值,所述值取0.06秒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610011326 CN100499823C (zh) | 2006-02-15 | 2006-02-15 | 实现mxf视频文件与pcm音频文件同步播放的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610011326 CN100499823C (zh) | 2006-02-15 | 2006-02-15 | 实现mxf视频文件与pcm音频文件同步播放的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101022561A CN101022561A (zh) | 2007-08-22 |
CN100499823C true CN100499823C (zh) | 2009-06-10 |
Family
ID=38710189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610011326 Expired - Fee Related CN100499823C (zh) | 2006-02-15 | 2006-02-15 | 实现mxf视频文件与pcm音频文件同步播放的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100499823C (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102110459B (zh) * | 2009-12-24 | 2013-01-16 | Tcl集团股份有限公司 | 一种播放终端及其多媒体文件的播放方法和装置 |
CN102215429B (zh) * | 2010-04-01 | 2013-04-17 | 安凯(广州)微电子技术有限公司 | 一种用于移动电视的录制方法 |
CN102857747B (zh) * | 2011-06-27 | 2015-02-25 | 北大方正集团有限公司 | 局部重编码方法和装置 |
CN104902317A (zh) * | 2015-05-27 | 2015-09-09 | 青岛海信电器股份有限公司 | 音视频同步方法及装置 |
CN106686438B (zh) * | 2016-12-29 | 2019-12-13 | 北京奇艺世纪科技有限公司 | 一种跨设备的音频图像同步播放的方法、装置及系统 |
CN107580264A (zh) * | 2017-08-29 | 2018-01-12 | 青岛海信电器股份有限公司 | 多媒体资源播放处理方法及装置 |
CN107371053B (zh) * | 2017-08-31 | 2020-10-23 | 北京鹏润鸿途科技股份有限公司 | 音频视频流对比分析方法及装置 |
CN109600564B (zh) * | 2018-08-01 | 2020-06-02 | 北京微播视界科技有限公司 | 用于确定时间戳的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1436001A (zh) * | 2002-01-28 | 2003-08-13 | 北京华诺信息技术有限公司 | 解码系统中实现视频与音频同步的方法 |
CN1545248A (zh) * | 2003-11-12 | 2004-11-10 | 中兴通讯股份有限公司 | 承载控制分离网络中录音通知的编号和解析方法 |
US20050002402A1 (en) * | 2003-05-19 | 2005-01-06 | Sony Corporation And Sony Electronics Inc. | Real-time transport protocol |
CN1598767A (zh) * | 2004-09-15 | 2005-03-23 | 萧学文 | 在brew平台上同步播放音频视频的方法及系统 |
-
2006
- 2006-02-15 CN CN 200610011326 patent/CN100499823C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1436001A (zh) * | 2002-01-28 | 2003-08-13 | 北京华诺信息技术有限公司 | 解码系统中实现视频与音频同步的方法 |
US20050002402A1 (en) * | 2003-05-19 | 2005-01-06 | Sony Corporation And Sony Electronics Inc. | Real-time transport protocol |
CN1545248A (zh) * | 2003-11-12 | 2004-11-10 | 中兴通讯股份有限公司 | 承载控制分离网络中录音通知的编号和解析方法 |
CN1598767A (zh) * | 2004-09-15 | 2005-03-23 | 萧学文 | 在brew平台上同步播放音频视频的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101022561A (zh) | 2007-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6982021B2 (ja) | 受信方法、及び、受信装置 | |
KR101777347B1 (ko) | 부분화에 기초한 적응적인 스트리밍 방법 및 장치 | |
KR101759959B1 (ko) | 미디어 컴포넌트 송수신 방법 및 그를 이용한 송수신 장치 | |
KR101927145B1 (ko) | 다른 네트워크들을 통해 수신된 콘텐츠의 렌더링을 동기화하기 위한 디코더 및 이러한 디코더에서의 방법 | |
US9967598B2 (en) | Adaptive streaming method and apparatus | |
KR101786050B1 (ko) | 데이터 전송 방법 및 장치 | |
KR100526189B1 (ko) | 트랜스코딩 전후에 타이밍 파라미터를 일정하게유지시키는 트랜스코딩 시스템 및 방법 | |
CN100499823C (zh) | 实现mxf视频文件与pcm音频文件同步播放的方法 | |
US8503541B2 (en) | Method and apparatus for determining timing information from a bit stream | |
EP2628297B1 (en) | Method for synchronizing multimedia flows and corresponding device | |
US20080002776A1 (en) | Media Content and Enhancement Data Delivery | |
US8966103B2 (en) | Methods and system for processing time-based content | |
US20120272281A1 (en) | Method and apparatus for transmitting media data, and method and apparatus for receving media data | |
US8509605B2 (en) | Synchronized reproduction system and synchronized reproduction method | |
EP1323055B1 (en) | Dynamic quality adjustment based on changing streaming constraints | |
JP7569195B2 (ja) | 送信装置および受信装置 | |
JP2021197584A (ja) | 多重信号変換装置及びそのプログラム、並びに、受信機 | |
CN111988641B (zh) | 传输流复用音视频时间同步方法 | |
KR100513795B1 (ko) | 시스템 타임 클럭을 이용한 동기화 이벤트 서비스를제공하는 디지털 데이터 방송 송/수신 장치 및 그 방법 | |
CA2725179A1 (en) | Reproducing apparatus and method, and recording medium | |
Murugan | Multiplexing H. 264/AVC Video with MPEG-AAC Audio |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090610 Termination date: 20190215 |