一种测试音视频编解码系统音视频失步的方法

文档序号:7595188阅读:182来源:国知局
专利名称:一种测试音视频编解码系统音视频失步的方法
技术领域
本发明涉及多媒体信息处理领域,特别是测试音视频编解码系统音视频失步的方法。
背景技术
研究表明,当音视频的失步时间超过80毫秒时,就会对观众的主观感觉造成影响。因此,音视频失步的测试对于评价一个多媒体编解码系统的性能是十分必要的。
现有的测试音视频编解码系统音视频失步的方法主要有两种。一种是基于内部标识的客观测试法,另一种是主观测试法。基于内部标识的客观测试法就是利用编码国际标准中制定的音视频同步模型(如系统参考时钟SCR、显示时间标签PTS、程序参考时钟PCR等)来计算音视频失步时间。例如在MPEG-2中,就是先在解码端建立系统参考时钟SCR,其初始值由第一个有效的显示时间标签PTS得到。当一个视频访问单元VAU(音频访问单元AAU)显示时,将SCR与相应的PTS比较,若差值在一定范围以外,则认为音视频解码失步。客观测试法在《上海交通大学学报》第32卷第9期的“MPEG-2解码中的音视频同步及其实时实现”、《红外与激光工程》第29卷第5期“MPEG-2传输流中的时间信息与音视频同步”等文章中均有介绍。主观测试法则是在保证多媒体系统的音视频输入流同步的前提下,随机选择音视频输出流中若干个时间点位进行回放,利用目视和耳听综合估计系统的音视频失步时间。
基于内部标识的客观测试法虽然能比较精确地计算出系统的音视频失步时间,但是它需要利用编码国际标准中制定的音视频同步模型,而这些需要视频每帧图像的帧号。现有的视频帧号标识法主要是语义标识法,语义标识法就是利用各种编码国际标准所规定的视频流中的语义来直接标识帧号(如H.263中的TR)或间接标识帧号(如MPEG-4中的time_code,modulo_time_base,vop_time_increment),这些语义作为视频流的头部信息同视频数据一起被编码,解码之后这些语义就会被丢掉而无法获得,因此从输出视频流中是无法得到帧号的,必须先对系统内部的编码视频流解码获取这些语义信息之后才能得到帧号,即必须通过对系统内部码流进行解析才能得到,因此要求测试方具有对被测的音视频编解码系统内部码流进行操作的权限,也就是说被测的音视频编解码系统必须是一个白盒系统。而这个条件在很多情况下都难以满足,例如在对多媒体系统产品进行测试时,被测系统实际上是一个黑盒系统,其内部程序是保密的。此时基于内部标识的客观测试法就不能适用。主观测试法虽然不要求测试方具有对系统内部程序进行操作的权限,对白盒系统和黑盒系统都适用,但是其测试数据不精确,随机性大。

发明内容
本发明所要解决的技术问题是提供一种测试音视频编解码系统音视频失步的方法,它能精确的测试音视频失步时间,且不要求测试方具有对被测的音视频编解码系统内部程序进行操作的权限,对白盒系统和黑盒系统均可适用。
本发明解决上述技术问题所采用的技术方案是一种测试音视频编解码系统音视频失步的方法,它包括以下步骤(1)对一段已知视频帧率的视频序列文件中的每一帧图像进行帧号标识;(2)在步骤(1)得到的视频序列文件的音频流中产生音频信号,并记录产生音频信号的时间点上的图像帧号;(3)将步骤(2)得到的音视频文件输入到待测的音视频编解码系统,并播放;(4)记录音频信号播放时间点上的图像帧号;(5)通过公式ΔTn=Δn/F测得音视频失步时间;式中ΔTn为音视频失步时间,Δn为两图像帧号之间的差值,F为视频序列文件的视频帧率。
上述方案中,在音频流中产生的多个音频信号,得到多个音视频失步时间,通过公式ΔT=∑ΔTn/N测得音视频的平均失步时间;式中ΔT为音视频的平均失步时间,N为在音频流中产生音频信号的个数。
上述方案中,记录音频信号播放时间点上的图像帧号的方法为利用音频监测设备检测音频信号,并通过音频监测设备控制一拍摄设备记录音频信号播放时间点上的图像帧号。
上述方案中,记录音频信号播放时间点上的图像帧号的方法为利用摄像设备对播放的图像和声音进行记录。
上述方案中,在音频流上产生的音频信号为单频信号。
本发明方法与基于内部标识的客观测试法相比,由于被测的音视频编解码系统在视频编解码过程中,不会改变每一帧图像中的帧号标识和音频流中产生音频信号,因此,不需要对被测的音视频编解码系统内部码流进行解析,不需利用编码国际标准中制定的音视频同步模型来计算音视频失步时间,不要求测试方具有对被测的音视频编解码系统内部程序进行操作的权限,对白盒系统和黑盒系统均可适用。
本发明方法与主观测试法相比,本发明能精确的测试音视频时间,不受主观因素影响。


图1为本发明实施方案的各设备之间的连接关系框2为经帧号标识后的图像示意3为图像帧号标识软件流程4为图像帧号检测软件流程5为输入音视频流原理6为输出音视频流原理图
具体实施例方式
本发明实施方案各测试设备和待测的音视频编解码系统之间的连接关系如图1,测试方法包括以下步骤(1)对一段已知视频帧率为25帧/秒的视频序列文件中的每一帧图像进行帧号标识,具体方法为利用计算机将视频序列中每一帧图像(CIF格式)的第一行像素块组成的区域作为标识区域;在该标识区域中,像素块内所有像素的亮度与色度值均被置为黑色(亮度值为255,色度值为0)或白色(亮度值为0,色度值为0),各像素块按照视频序列中每一帧图像顺序分别组合成一个二进制数。
如图2所示的图像,它的分辨率为352×288。将图像上部的第一行22个像素块(此处每个像素块为16×16像素矩阵)组成的区域作为二值标识区域,每一个像素块的16×16个像素的亮度与色度值均被置为黑色(亮度值为255,色度值为0)或白色(亮度值为0,色度值为0),黑表示1,白表示0。这样第一行22个像素块按照左边为高位右边为低位的顺序就可以组合成一个22比特的二进制数,如图2所示为0000000000110110010100,换算成十进制是3476。若帧号从第0帧起递增,则此帧图像帧号就是第3476帧。
图像帧号标识软件的工作流程(如图3)。首先输入待标识的视频序列,然后将帧号F的初始值置为0,即表明帧号计数从0开始。接着将帧号F转为二进制数,为进行二值标识作准备。接下来开始读取视频序列中第1帧图像的数据,并将像素块号的初始值置为1。因为每一帧图像的二值标识区域以及像素块是事先定义好的,所以接着就可以读取当前帧二值标识区域中第1个像素块的数据。然后取已经转化为二进制的帧号的第1位,如果这一位是0,就将当前像素块中所以像素的亮度与色度值置为白色(亮度值为0,色度值为0),否则就置为黑色(亮度值为255,色度值为0)。需要指出的是二进制的帧号的第1位是指最高位还是最低位,与第1个像素块标识的是最高位还是最低位是一致的。第1个像素块进行完标识后,就判断当前像素块是不是最后一个像素块。如果不是就读取下一个像素块数据,并将像素块号累加1,然后读取帧号的第2位,进行新的判断和标识。依此类推,直到当前像素块是最后一个像素块,也即当前帧的二值帧号已标识完。然后就判断当前帧是不是最后一帧。如果不是,就读取下一帧图像的数据,帧号加1,重复第1帧图像的标识操作。依此类推,直到当前帧是最后一帧,也即视频序列的帧号已标识完,就退出程序,输出的即是每一帧均已标识的视频序列。
图像帧号检测软件的工作流程如图4。首先输入待标识的视频序列,接下来开始读取视频序列中第1帧图像的数据。因为每一帧图像的二值标识区域以及像素块是事先定义好的,所以接着就可以读取当前帧二值标识区域中第1个像素块的数据。如果当前像素块中的像素值为白色(亮度值为0,色度值为0),就将二进制帧号F的第1位记为0;否则就将二进制帧号F的第1位记为1。然后判断当前像素块是不是最后一个像素块。如果不是就读取下一个像素块数据,并将像素块号累加1,然后根据该像素块像素值是否为白色(亮度值为0,色度值为0),将二进制帧号F的第2位相应记为0或1。依此类推,直到当前像素块是最后一个像素块,也即当前帧的二值帧号标识已检测完。这时也就得到了二进制帧号F的所有位的值,然后将其转为十进制数,就是当前帧的帧号。当前帧的帧号检测完之后,就判断当前帧是不是最后一帧。如果不是,就读取下一帧的数据,重复第1帧图像的检测操作。依此类推,直到当前帧是最后一帧,也即视频序列的帧号已检测完,就退出程序,输出的即是每一帧视频帧号。
(2)如图5,在步骤(1)得到的视频序列文件的音频流中产生2个音频信号,音频信号为单频信号,并记录每个产生音频信号的时间点上的图像帧号(第2帧和第n帧)。
这样就在单频信号和视频帧之间建立了一种一一对应的关系,这种关系就是本发明方法测试音视频失步的依据。如果编解码系统没有造成音视频失步,那么这种对应关系在输出音视频流中就不会改变;否则这种对应关系就会改变,也就是说输出音频的单频信号在输出视频所对应的那一帧不再是输入音频的单频信号在输入视频所对应的那一帧,两者的帧号会不同。
(3)将步骤(2)得到的音视频文件输入到待测的音视频编解码系统,并播放;(4)记录音频信号播放时间点上的图像帧号;记录音频信号播放时间点上的图像帧号的方法为利用音频监测设备检测音频信号,并通过音频监测设备控制一拍摄设备记录音频信号播放时间点上的图像帧号。
当音频监测设备监测到一个单频信号时发送指令给拍摄设备,拍摄下对应的视频帧,拍摄时应保证二值视频帧号标识在画面内。然后将拍摄的视频帧存入计算机,检测其帧号,与输入视频流中该单频音频信号所对应的帧号相比,计算该时间点上的音视频失步时间;依此类推,监测其他单频音频信号,最后求得所有N个时间点上的音视频失步时间的平均值。
输出音频的单频信号在输出视频中所对应的视频帧号,然后与输入视频中所对应的帧号相减得到帧差。若帧差为0,则表示对应关系没有改变,音视频失步时间为0;若帧差为Δn,则对应关系发生了改变,出现了失步,而失步的时间就是帧差Δn所占用的时间。假设输入视频的帧率为F帧/秒,那么每一帧所占有的时间就是1/F秒,因此失步时间ΔTn=Δn/F秒。例如在图5的输入音视频流中第1个单频音频信号对应的是第2帧,第2个单频音频信号对应的是第n帧;而在输出音视频流中(如图6)检测到第1个单频音频信号对应的是第2帧,但第2个单频音频信号对应的却是第n-1帧。这就说明在第1个时间点上,帧差为0,没有音视频失步;在第2个时间点上,帧差为1。
(5)通过公式ΔTn=Δn/F测得音视频失步时间;式中ΔTn为音视频失步时间,Δn为两图像帧号之间的差值,F为视频序列文件的视频帧率。
由于帧率为25帧/秒,计算得到音视频的失步时间=1帧/(25帧/秒)=0.04秒。
通过公式ΔT=∑ΔTn/N测得音视频的平均失步时间;式中ΔT为音视频的平均失步时间,N为在音频流中产生音频信号的个数。
计算得到音视频的平均失步时间=音视频的失步时间/2=0.02秒。
为了尽量避免误差,音频流中产生音频信号的个数应大一些,分布也应均匀。
本发明方法还可以利用摄像设备对播放的图像和声音进行记录。
权利要求
1.一种测试音视频编解码系统音视频失步的方法,其特征在于它包括以下步骤(1)对一段已知视频帧率的视频序列文件中的每一帧图像进行帧号标识;(2)在步骤(1)得到的视频序列文件的音频流中产生音频信号,并记录产生音频信号的时间点上的图像帧号;(3)将步骤(2)得到的音视频文件输入到待测的音视频编解码系统,并播放;(4)记录音频信号播放时间点上的图像帧号;(5)通过公式ΔTn=Δn/F测得音视频失步时间;式中ΔTn为音视频失步时间,Δn为两图像帧号之间的差值,F为视频序列文件的视频帧率。
2.如权利要求1所述的方法,其特征在于在音频流中产生的多个音频信号,得到多个音视频失步时间,通过公式ΔT=∑ΔTn/N测得音视频的平均失步时间;式中ΔT为音视频的平均失步时间,N为在音频流中产生音频信号的个数。
3.如权利要求1所述的方法,其特征在于记录音频信号播放时间点上的图像帧号的方法为利用音频监测设备检测音频信号,并通过音频监测设备控制一拍摄设备记录音频信号播放时间点上的图像帧号。
4.如权利要求1所述的方法,其特征在于记录音频信号播放时间点上的图像帧号的方法为利用摄像设备对播放的图像和声音进行记录。
5.如权利要求1所述的方法,其特征在于在音频流上产生的音频信号为单频信号。
全文摘要
本发明涉及一种测试音视频编解码系统音视频失步的方法,它包括以下步骤(1)对一段已知视频帧率的视频序列文件中的每一帧图像进行帧号标识;(2)在视频序列文件的音频流中产生音频信号,并记录产生音频信号的时间点上的图像帧号;(3)将音视频文件输入到待测的音视频编解码系统,并播放;(4)记录音频信号播放时间点上的图像帧号;(5)通过公式ΔTn=Δn/F测得音视频失步时间;式中ΔTn为音视频失步时间,Δn为两图像帧号之间的差值,F为视频序列文件的视频帧率。本发明方法能精确的测试音视频失步时间,且不要求测试方具有对被测的音视频编解码系统内部程序进行操作的权限,对白盒系统和黑盒系统均可适用。
文档编号H04N17/00GK1645944SQ200410061320
公开日2005年7月27日 申请日期2004年12月13日 优先权日2004年12月13日
发明者胡瑞敏, 韩镇, 刘琼 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1