一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种检测音频流和视频流是否同步的方法及装置与流程

2022-05-21 05:29:07 来源:中国专利 TAG:


1.本发明涉及音视频解码技术领域,具体为一种检测音频流和视频流是否同步的方法及装置。


背景技术:

2.随着数字视频软硬件技术的进步以及成本的大幅下降,越来越多的行业和领域开始了数字视频的相关应用。银行、证券、保险等金融机构在销售理财产品、贵重金属、保险产品时,根据监管部门的要求必须进行录音录像(简称双录)。不仅如此,双录音视频还必须要符合监管部门的一系列规范与要求。双录视频作为一种播放展示的数字媒体,其首先需要保证其内部的音视频流均可以正常显示和播放。可以正常播放的一般包括音视频内容清晰、音视频播放流畅无卡顿、音视频同步。其中音视频同步是一个常见录制质量不合格的表现,其视频中的声音相对视频画面会出现超前或者滞后的情况。针对音视频是否同步的人工检查在视频数量较大的时候,对人的精力和耐力无疑都是严峻的考验。另一方面,人工审查则不可避免的存在效率低下、精确度较差、判断尺度不一致、成本高昂等一系列弊端。面对这一问题,通过计算机自动对双录音视频进行智能稽核开始变得势在必行。但是,通过对语音和视频画面进行语义理解再进行两者同步性分析的方法存在极大的技术难度。这是因为计算机往往难以准确理解音频和视频的语义,从而影响其对音视频是否同步的判断。


技术实现要素:

3.为了克服现有技术中存在的问题,本发明提供一种检测音频流和视频流是否同步的方法,所述方法包括:
4.s1:获取音频流的指定音频帧的时间信息pa,以及视频流的指定视频帧的时间信息pv;
5.s2:根据预设的算法,以及所述步骤s1中获取的pa和pv,计算音频流播放时长ta和视频流播放时长tv;
6.s3:根据所述步骤s2中计算出的ta和tv,比较两者差的绝对值与预设阈值t的大小,若两者差的绝对值大于预设阈值,即|tv-ta|》t,则判定音频流和视频流不同步。
7.进一步的,所述方法还包括:
8.s0:加载需检测的视频文件,转步骤s1;其中所述视频文件包括音频流和视频流。
9.进一步的,所述步骤s3还包括:根据所述步骤s2中计算出的ta和tv,比较两者差的绝对值与预设阈值t的大小,若两者差的绝对值不大于预设阈值,即|tv-ta|≤t,则判定音频流和视频流同步。
10.进一步的,所述步骤s1中的时间信息pa、pv为显示时间戳pts;所述指定音频帧为最后一个音频帧;所述指定视频帧为最后一个视频帧。
11.进一步的,所述步骤s2中的预设的算法为:tv=pv
×
bv;ta=pa
×
ba;所述步骤s3中预设阈值t为3秒。
12.本发明还提供一种检测音频流和视频流是否同步的装置,所述装置包括:信息获取模块,用于获取音频流的最后一个音频帧的时间信息pa,以及视频流的最后一个视频帧的时间信息pv;时长计算模块,用于根据预设的算法,以及所述信息获取模块获取的pa和pv,计算音频流播放时长ta和视频流播放时长tv;阈值比较模块,用于根据所述时长计算模块中计算出的ta和tv,比较两者差的绝对值与预设阈值t的大小,若两者差的绝对值大于预设阈值,即|tv-ta|》t,则判定音频流和视频流不同步。
13.进一步的,所述装置还包括:文件加载模块,用于加载需检测的视频文件,并将加载好的视频文件转入信息获取模块进行处理;其中所述视频文件包括音频流和视频流。
14.进一步的,所述阈值比较模块还用于根据所述时长计算模块中计算出的ta和tv,比较两者差的绝对值与预设阈值t的大小,若两者差的绝对值不大于预设阈值,即|tv-ta|≤t,则判定音频流和视频流同步。
15.进一步的,所述信息获取模块中的时间信息pa、pv为显示时间戳pts;所述指定音频帧为最后一个音频帧;所述指定视频帧为最后一个视频帧。
16.进一步的,所述时长计算模块中的预设的算法为:tv=pv
×
bv;ta=pa
×
ba;所述阈值比较模块中的预设阈值t为3秒
17.本发明能够通过被测视频文件中音频流和视频流的时间信息,计算出音频流和视频流各自的总时长,再将两者差的绝对值与预先设置好的阈值t进行对比,从而判断该视频文件的音视频是否同步。本发明运行速度快,检测准确率高,大大节省人力成本。
附图说明
18.图1为本发明提供的一种检测音频流和视频流是否同步的装置的逻辑结构及其典型硬件环境的示意图;
19.图2为本发明提供的一种检测音频流和视频流是否同步的方法流程图;
20.图3为本发明提供的另一种检测音频流和视频流是否同步的装置的逻辑结构及其典型硬件环境的示意图;
21.图4为本发明提供的另一种检测音频流和视频流是否同步的方法流程图。
具体实施方式
22.本发明提供一种检测音频流和视频流是否同步的方法及装置,用于高效快速检测视频文件中音频流和视频流是否同步。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
23.其次,本发明结合示意图进行详细描述,在详述本发明实施方式时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
24.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
25.实施例一
26.本发明提供一种检测音频流和视频流是否同步的方法及装置,用于高效快速检测视频文件中音频流和视频流是否同步。请参考图1,在一种优选实施方式中,本发明提供一种检测音频流和视频流是否同步的装置,该装置的基本运行硬件环境包括cpu、内存、非易失性存储器以及各种硬件,从逻辑层面上来看,该装置包括:信息获取模块,时长计算模块和阈值比较模块。请参考图2,本发明提供的方法包括以下步骤:
27.步骤101,信息获取模块获取音频流的指定音频帧的时间信息pa,以及视频流的指定视频帧的时间信息pv;
28.步骤102,时长计算模块根据预设的算法,以及所述信息获取模块获取的pa和pv,计算音频流播放时长ta和视频流播放时长tv;
29.步骤103,阈值比较模块根据所述时长计算模块中计算出的ta和tv,比较两者差的绝对值与预设阈值t的大小,若两者差的绝对值大于预设阈值,即|tv-ta|》t,则判定音频流和视频流不同步。
30.本发明能够通过被测视频文件中音频流和视频流的时间信息,计算出音频流和视频流各自的总时长,再将两者差的绝对值与预先设置好的阈值t进行对比,从而判断该视频文件的音视频是否同步。本发明运行速度快,检测准确率高,大大节省人力成本。
31.实施例二
32.本发明提供一种检测音频流和视频流是否同步的方法及装置,用于高效快速检测视频文件中音频流和视频流是否同步。请参考图3,在一种优选实施方式中,本发明提供一种检测音频流和视频流是否同步的装置,该装置的基本运行硬件环境包括cpu、内存、非易失性存储器以及各种硬件,从逻辑层面上来看,该装置包括:文件加载模块,信息获取模块,时长计算模块和阈值比较模块。请参考图4,本发明提供的方法包括以下步骤:
33.步骤201,文件加载模块加载需检测的视频文件,并将加载好的视频文件转入信息获取模块进行处理;其中所述视频文件包括音频流和视频流。
34.通常一份视频文件包含有音频数据和视频数据,他们在运行播放时就形成了音频数据流和视频数据流,也就是音频流和视频流。如果我们要对多份视频文件进行检测,那么首先需要将这些视频文件逐一进行加载,以便后续处理。
35.步骤202,信息获取音频流的指定音频帧的时间信息pa,以及视频流的指定视频帧的时间信息pv;
36.这里所说的时间信息通常是显示时间戳(presentation time stamp),也就是pts,它用来告诉播放器该在什么时候显示这一帧的数据。下面再来简单了解一下几个视频文件相关的专业名词。如前文所说,一份视频文件包含有音频流和视频流,通常在播放文件时,需要通过解码器对该视频文件中的音频流和视频流分别进行解码,由于解码器如何解码是现有技术,此处不做赘述。解码器在解码到音频流和视频流的最后一帧时,会保留该帧的pts。帧是数据传输的最小单位,音频流的最小数据传输单位是音频帧,视频流的最小数据传输单位是视频帧。步骤202中,指定音频帧是指最后一音频帧;指定视频帧是指最后一个视频帧。所以pa为音频流的最后一个音频帧的pts,pv为视频流的最后一个视频帧的pts。
37.另外,这里所说的时间信息也可能是解码时间戳(decode time stamp),也就是dts,这个时间戳的意义在于告诉播放器该在什么时候解码这一帧的数据。一般情况下,dts和pts是一致的,但受到视频录制设备和编码标准的影响,dts在解码视频文件时往往需要
重新换算。所以本发明提供的方法中,优选pts为时间信息。其实,只要是能够计算出音视频流播放时长的参数信息,都可以作为步骤202中的时间信息,而并不局限于pts。同理,指定视频帧也不局限于最后一个视频帧;指定音频帧也不局限于最后一个音频帧,它们仅仅是优选方案。
38.步骤203,时长计算模块根据预设的算法,以及所述信息获取模块获取的pa和pv,计算音频流播放时长ta和视频流播放时长tv;
39.由上述步骤202可知,pa为音频流的最后一个音频帧的pts,pv为视频流的最后一个视频帧的pts。步骤203中的预设的算法为ta=pa
×
ba,tv=pv
×
bv。其中,ta是音频流播放时长,tv是视频流播放时长,ba是音频流的时间基,bv是视频流的时间基。时间基是每一帧的显示时长,例如,一个视频流一秒中显示50个视频帧,也就是说,每隔1/50秒显示下一个视频,那么这个视频流的时间基就是1/50。
40.接着再举个例子,详细说明一下步骤203中的算法。假设一个视频文件,视频流解码后,最后一个视频帧的pts即pv=4037632,时间基bv=1/12288;音频流解码后,最后一个音频帧的pts即pa=7097674,时间基ba=1/22050;
41.通过算法tv=pv
×
bv计算可得到:
42.tv=4037632
×
(1/12288)=328.58(秒)
43.通过算法ta=pa
×
ba计算可得到:
44.ta=7097674
×
(1/22050)=321.89(秒)
45.这表明该视频文件的视频流时长为328.58秒,音频流时长为321.89秒。
46.当然,所述算法是预先设置好的,而这里列出的公式tv=pv
×
bv和ta=pa
×
ba,是基于前述步骤中的时间信息是pts而做出的预设算法。也就是说,如果步骤201中的时间信息不是pts,这预设的算法就会发生变化。此处的预设算法仅仅是最优选而已,并不局限于此。
47.步骤204,阈值比较模块根据所述时长计算模块中计算出的ta和tv,比较两者差的绝对值与预设阈值t的大小,若两者差的绝对值大于预设阈值,即|tv-ta|》t,则判定音频流和视频流不同步;反之,则判定音频流和视频流同步。
48.这里所说的阈值t可以根据具体应用场景设定。一般说来,阈值越小灵敏度越高,反之灵敏度越低。通常将阈值t设置为3秒,也就是说,如果音视频流的播放时长相差超过3秒则判定不同步;如果音视频流的播放时长相差等于或少于3秒则判定同步。
49.举个例子,假设音频流的播放时长ta=321.89(秒),视频流的播放时长tv=328.58(秒),阈值t=3(秒)。因为|tv-ta|=6.69秒,该数值表明视频流和音频流的播放时长相差6.69秒,大于阈值t的3秒,判定该视频文件中的音频流和视频流不同步。再举个例子,假设音频流的播放时间ta=321.89(秒),视频流的播放时长tv=323.58(秒),阈值t=3(秒)。因为|tv-ta|=1.69秒,该数值表明视频流和音频流的播放时长相差1.69秒,小于阈值t的3秒,判定该视频文件中的音频流和视频流同步。再例如,假设音频流的播放时间ta=321.89(秒),视频流的播放时长tv=324.89(秒),阈值t=3(秒)。因为|tv-ta|=3秒,该数值表明视频流和音频流的播放时长相差3秒,等于阈值t的3秒,同样判定该视频文件中的音频流和视频流同步。
50.本文中所描述的具体实施仅仅是对本发明具体说明,本发明主要通过最后一帧的
pts来计算其所在编码流的实际时长,所属技术领域的技术人员可以对所描述的具体实施例进行各种微调修改或补充或采用类似的方法替代,例如将阈值参数t进行调整或者使用倒数第二帧pts计算其时长,而与阈值t所进行比较的依然近似为音频流和视频流的时长,但并不会偏离本发明的精神或者超越所付权利要求书所定义的范围。
51.以上仅为本发明的优选实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献