帧同步方法及其装置转让专利

申请号 : CN201811550496.4

文献号 : CN111343401B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 龚平秦书嘉丹尼尔·贝尔洪巴勃罗·卡尔巴耶拉卡门·多布拉多胡利安·卡布雷拉卡洛斯·卡莫纳弗朗西斯科·莫兰纳西索·加西亚

申请人 : 华为技术有限公司

摘要 :

本申请实施例提供一种帧同步方法及其装置,其中方法可包括:第二摄像设备获取第一摄像设备的连续N帧中每帧的时间戳,N为大于1的正整数;截取第二摄像设备的连续N帧,并收集第二摄像设备的连续N帧中每帧的时间戳;根据第一摄像设备的连续N帧中每帧的时间戳和第二摄像设备的连续N帧中每帧的时间戳,从第一摄像设备的连续N帧中,确定第二摄像设备的连续N帧中每帧的对齐帧;根据第二摄像设备的连续N帧中每帧的时间戳以及第二摄像设备的连续N帧中每帧的对齐帧的时间戳,确定平均时延;当平均时延满足同步条件,则第二摄像设备与第一摄像设备帧同步。本申请实施例,通过软件方式实现多个摄像设备的帧同步,成本低,应用范围广泛。

权利要求 :

1.一种帧同步方法,其特征在于,包括:第二摄像设备获取第一摄像设备的连续N帧中每帧的时间戳,N为大于1的正整数;

所述第二摄像设备截取所述第二摄像设备的连续N帧,并收集所述第二摄像设备的连续N帧中每帧的时间戳;

所述第二摄像设备根据所述第一摄像设备的连续N帧中每帧的时间戳和所述第二摄像设备的连续N帧中每帧的时间戳,从所述第一摄像设备的连续N帧中,确定所述第二摄像设备的连续N帧中每帧的对齐帧;

所述第二摄像设备根据所述第二摄像设备的连续N帧中每帧的时间戳以及所述第二摄像设备的连续N帧中每帧的对齐帧的时间戳,确定平均时延;

当所述平均时延满足同步条件,则所述第二摄像设备确定与所述第一摄像设备帧同步;

当所述平均时延不满足同步条件,则所述第二摄像设备重新启动,并再次执行所述的获取第一摄像设备的连续N帧中每帧的时间戳至所述根据所述第二摄像设备的连续N帧中每帧的时间戳以及所述第二摄像设备的连续N帧中每帧的对齐帧的时间戳,确定平均时延的操作,直至所述平均时延满足同步条件,第二摄像设备与所述第一摄像设备实现帧同步。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述第二摄像设备获取参考时间戳,所述参考时间戳为基准摄像设备选择的起始帧的时间戳;所述基准摄像设备为主节点管理的摄像设备中的主摄像设备;

所述第二摄像设备根据所述参考时间戳确定所述第二摄像设备的起始帧。

3.根据权利要求2所述的方法,其特征在于,所述第二摄像设备根据所述参考时间戳确定所述第二摄像设备的起始帧,包括:所述第二摄像设备从所述第二摄像设备的帧时间戳序列中,选择与所述参考时间戳之间的差值在预设范围内的时间戳对应的帧,并将其确定为所述第二摄像设备的起始帧;

其中,所述预设范围为[‑Fp/2,Fp/2],Fp为单帧时间间隔。

4.根据权利要求2所述的方法,其特征在于,所述第一摄像设备为所述基准摄像设备,所述第二摄像设备为从节点管理的摄像设备中的主摄像设备;

所述第二摄像设备获取第一摄像设备的连续N帧中每帧的时间戳,包括:所述第二摄像设备通过内存共享,从所述从节点获取第一摄像设备的连续N帧中每帧的时间戳。

5.根据权利要求2所述的方法,其特征在于,所述第一摄像设备为所述基准摄像设备,所述第二摄像设备为所述主节点管理的摄像设备中的从摄像设备;

所述第二摄像设备获取第一摄像设备的连续N帧中每帧的时间戳,包括:所述第二摄像设备通过内存共享,从第一摄像设备获取所述第一摄像设备的连续N帧中每帧的时间戳。

6.根据权利要求2所述的方法,其特征在于,所述第一摄像设备为从节点管理的摄像设备的主摄像设备,所述第二摄像设备为所述从节点管理的摄像设备中的从摄像设备;

所述第二摄像设备获取第一摄像设备的连续N帧中每帧的时间戳,包括:所述第二摄像设备通过内存共享,从第一摄像设备获取所述第一摄像设备的连续N帧中每帧的时间戳。

7.一种帧同步方法,其特征在于,包括:第一摄像设备截取所述第一摄像设备的连续N帧,并收集所述第一摄像设备的连续N帧中每帧的时间戳,N为大于1的正整数;

所述第一摄像设备将所述第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备;

其中,所述第一摄像设备的连续N帧中每帧的时间戳用于:从所述第一摄像设备的连续N帧中确定所述第二摄像设备的连续N帧中每帧的对齐帧,以及结合所述第二摄像设备的连续N帧中每帧的时间戳确定平均时延,以便于:在所述平均时延满足同步条件时所述第二摄像设备与所述第一摄像设备实现帧同步;

以及

在所述平均时延不满足同步条件时所述第一摄像设备重新启动,并再次执行所述的截取所述第一摄像设备的连续N帧至所述将所述第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备的操作,直至所述平均时延满足同步条件,第二摄像设备与所述第一摄像设备实现帧同步;

其中,所述第一摄像设备为基准摄像设备,所述基准摄像设备为主节点管理的摄像设备中的主摄像设备,所述第二摄像设备为所述主节点管理的摄像设备中的从摄像设备。

8.根据权利要求7所述的方法,其特征在于,所述第一摄像设备将所述第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备,包括:所述第一摄像设备通过内存共享,将所述第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备。

9.根据权利要求7所述的方法,其特征在于,所述第一摄像设备为基准摄像设备,所述基准摄像设备为主节点管理的摄像设备中的主摄像设备,所述第二摄像设备为从节点管理的摄像设备中的主摄像设备;

所述第一摄像设备将所述第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备,包括:

所述第一摄像设备通过内存共享,将所述第一摄像设备的连续N帧中每帧的时间戳同步至所述主节点,以使所述主节点将所述第一摄像设备的连续N帧中每帧的时间戳同步至所述从节点,以使所述从节点通过内存共享,将所述第一摄像设备的连续N帧中每帧的时间戳同步至所述第二摄像设备。

10.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:在所述第二摄像设备与所述第一摄像设备帧同步之后,所述第一摄像设备确定所述第一摄像设备的起始帧以及所述起始帧的时间戳,并将所述起始帧的时间戳作为参考时间戳,

所述第一摄像设备将所述参考时间戳同步至所述第二摄像设备,所述参考时间戳用于所述第二摄像设备确定所述第二摄像设备的起始帧。

11.根据权利要求7所述的方法,其特征在于,所述第一摄像设备为从节点管理的摄像设备的主摄像设备,所述第二摄像设备为所述从节点管理的摄像设备中的从摄像设备;

所述第一摄像设备将所述第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备,包括:

所述第一摄像设备通过内存共享,将所述第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备。

12.根据权利要求10所述的方法,其特征在于,所述方法还包括:所述第一摄像设备获取参考时间戳,所述参考时间戳为基准摄像设备选择的起始帧的时间戳,所述基准摄像设备为主节点管理的摄像设备中的主摄像设备;

所述第一摄像设备根据所述参考时间戳确定所述第一摄像设备的起始帧。

13.一种帧同步装置,其特征在于,所述帧同步装置包括处理器、收发器和存储器,所述存储器中存储计算机程序,计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,实现如权利要求1‑12任一项所述的帧同步方法。

14.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1‑12任一项所述的帧同步方法。

说明书 :

帧同步方法及其装置

技术领域

[0001] 本申请实施例涉及多媒体技术领域,具体涉及一种帧同步方法及其装置。

背景技术

[0002] 随着信息化的发展,视频技术在各行各业得到广泛应用,极大的丰富和方便了人们的生活,推动了社会的快速发展。在视频领域的研究和应用工作中,多摄像机协同工作也
日益普及。在自由视点电视(free‑viewpoint television,FTV)、自由视点视频(free‑
viewpoint video,FVV)、全景视频、深度测量、三维立体测量等应用中,常常会涉及多摄像
机对不同场景或不同视角的同时拍摄。在图像合成或计算的过程中,不同摄像机拍摄的帧
必须进行同步。当多个摄像机拍摄的帧存在时间差异时,会导致图像拼接重影、深度估计偏
差、三维重构失败等后果。因此,多摄像机的帧同步在机器视觉领域具有重要意义。
[0003] 当前各种工业视频录制设备中,通常使用硬件触发机制去精确地同步各个视频录像设备,即通过硬件设备触发各个视频录像设备的帧同步。例如,利用激光分光器产生的每
路激光经过光纤连接到一个光电转换器,光电转换器将激光信号转换为电脉冲信号,这些
电脉冲信号作为同步信号去触发各个摄像机进行图像采集,准确性较高。
[0004] 虽然通过硬件设备实现帧同步的准确性较高,但是硬件设备成本较高,应用范围有一定的局限性。

发明内容

[0005] 本申请实施例所要解决的技术问题在于,提供一种帧同步方法及其装置,通过软件方式实现多个摄像设备的帧同步,成本低,应用范围广泛。
[0006] 本申请实施例第一方面提供一种帧同步方法,包括:
[0007] 第二摄像设备获取第一摄像设备的连续N帧中每帧的时间戳,N为大于1的正整数;
[0008] 第二摄像设备截取第二摄像设备的连续N帧,并收集第二摄像设备的连续N帧中每帧的时间戳;
[0009] 第二摄像设备根据第一摄像设备的连续N帧中每帧的时间戳和第二摄像设备的连续N帧中每帧的时间戳,从第一摄像设备的连续N帧中,确定第二摄像设备的连续N帧中每帧
的对齐帧;
[0010] 第二摄像设备根据第二摄像设备的连续N帧中每帧的时间戳以及第二摄像设备的连续N帧中每帧的对齐帧的时间戳,确定平均时延;
[0011] 当平均时延满足同步条件,则第二摄像设备确定与第一摄像设备帧同步。
[0012] 本申请实施例第一方面,第二摄像设备通过第二摄像设备的连续N帧中每帧的对齐帧来确定平均时延,进而根据平均时延来判断第二摄像设备与第一摄像设备是否帧同
步,若平均时延满足同步条件,则第二摄像设备与第一摄像设备帧同步;若平均时延不满足
同步条件,则第二摄像设备需要重新启动以使第二摄像设备与第一摄像设备帧同步,从而
通过软件方式可以实现多个摄像设备的帧同步,成本低,应用范围广泛。
[0013] 在一种可能的实现方式中,当平均时延不满足同步条件,则第二摄像设备重新启动,并再次获取第一摄像设备的连续N帧中每帧的时间戳;再次截取第二摄像设备的连续N
帧,并收集再次截取的第二摄像设备的连续N帧中每帧的时间戳;根据再次获取的第一摄像
设备的连续N帧中每帧的时间戳和再次截取的第二摄像设备的连续N帧中每帧的时间戳,从
再次获取的第一摄像设备的连续N帧中,确定再次截取的第二摄像设备的连续N帧中每帧的
对齐帧;根据再次截取的第二摄像设备的连续N帧中每帧的时间戳以及再次截取的第二摄
像设备的连续N帧中每帧的对齐帧的时间戳,确定再次平均时延;若再次平均时延满足同步
条件,则第二摄像设备确定与第一摄像设备帧同步。
[0014] 当平均时延不满足同步条件时,第二摄像设备重新启动,以促使第二摄像设备与第一摄像设备帧同步,若第二摄像设备重启之后,依然不满足同步条件,则再次重启。换言
之,第二摄像设备可多次重启,直到平均时延满足同步条件,从而第二摄像设备与第一摄像
设备帧同步。
[0015] 进一步的,若平均时延小于阈值,则第二摄像设备可确定平均时延满足同步条件;若平均时延大于或等于阈值,则第二摄像设备可确定平均时延不满足同步条件。其中,阈值
为经验值,与摄像设备类型、帧率计算以及调试有关,具体数值在本申请实施例中不作限
定。
[0016] 在一种可能的实现方式中,待帧同步系统中的所有摄像设备帧同步之后,该帧同步系统中的各个摄像设备可确定各自的起始帧,起始帧即为开始采集图像的帧,也即正式
采集的图像或视频的第一帧。
[0017] 第二摄像设备确定第二摄像设备的起始帧,包括:第二摄像设备获取参考时间戳,参考时间戳为基准摄像设备选择的起始帧的时间戳;基准摄像设备为主节点管理的摄像设
备中的主摄像设备;第二摄像设备根据参考时间戳确定第二摄像设备的起始帧。
[0018] 各个摄像设备根据参考时间戳确定各自的起始帧,可有效缩短正式图像采集过程中的时间偏差,以便更好地处理各个摄像设备采集的图像。
[0019] 在一种可能的实现方式中,第二摄像设备可从第二摄像设备的帧时间戳序列中,选择与参考时间戳之间的差值在预设范围内的时间戳对应的帧,并将其确定为第二摄像设
备的起始帧;其中,预设范围为[‑Fp/2,Fp/2],Fp为单帧时间间隔。换言之,第二摄像设备的
起始帧的时间戳与参考时间戳之间的差值在预设范围内,以有效缩短正式图像采集过程
中,第二摄像设备与基准摄像设备之间的时间偏差。
[0020] 在一种可能的实现方式中,第一摄像设备为基准摄像设备,第二摄像设备为从节点管理的摄像设备中的主摄像设备,该种情况下,第二摄像设备通过内存共享,从从节点获
取第一摄像设备的连续N帧中每帧的时间戳。具体的,第一摄像设备通过内存共享,将第一
摄像设备的连续N帧中每帧的时间戳同步至主节点,主节点通过分布式进程消息将第一摄
像设备的连续N帧中每帧的时间戳同步至第二摄像设备所属的从节点,该从节点通过内存
共享,将第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备。
[0021] 在一种可能的实现方式中,第一摄像设备为基准摄像设备,第二摄像设备为主节点管理的摄像设备中的从摄像设备,该种情况下,第二摄像设备直接通过内存共享,从第一
摄像设备获取第一摄像设备的连续N帧中每帧的时间戳。
[0022] 在一种可能的实现方式中,第一摄像设备为从节点管理的摄像设备的主摄像设备,第二摄像设备为从节点管理的摄像设备中的从摄像设备,该种情况下,第二摄像设备直
接通过内存共享,从第一摄像设备获取第一摄像设备的连续N帧中每帧的时间戳。该种情况
下,基准摄像设备依然为主节点管理的摄像设备的主摄像设备。
[0023] 在一种可能的实现方式中,在第一摄像设备为从节点管理的摄像设备的主摄像设备,第二摄像设备为从节点管理的摄像设备中的从摄像设备的情况下,若第一摄像设备获
取到基准摄像设备的连续N帧中每帧的时间戳,则第一摄像设备可通过内存共享,将基准摄
像设备的连续N帧中每帧的时间戳同步至第二摄像设备,第二摄像设备根据基准摄像设备
的连续N帧中每帧的时间戳和第二摄像设备的连续N帧中每帧的时间戳,从基准摄像设备的
连续N帧中,确定第二摄像设备的连续N帧中每帧的对齐帧。
[0024] 在一种可能的实现方式中,第二摄像设备从第二摄像设备的帧时间戳序列中,截取第二摄像设备的连续N帧。
[0025] 在一种可能的实现方式中,第二摄像设备根据第一摄像设备的连续N帧中每帧的时间戳和第二摄像设备的连续N帧中每帧的时间戳,从第一摄像设备的连续N帧中,确定第
二摄像设备的连续N帧中每帧的对齐帧,包括:第二摄像设备计算第二摄像设备的连续N帧
中第i帧的时间戳与第一摄像设备的连续N帧中每帧的时间戳之间的绝对差值;1≤i≤N;从
第一摄像设备的连续N帧中,获取最小绝对差值对应的帧,并将其确定为第二摄像设备的连
续N帧中第i帧的对齐帧。
[0026] 在一种可能的实现方式中,第二摄像设备根据第二摄像设备的连续N帧中每帧的时间戳以及第二摄像设备的连续N帧中每帧的对齐帧的时间戳,确定平均时延,包括:
[0027] 第二摄像设备获取第二摄像设备的连续N帧中第i帧的时间戳与第i帧的对齐帧的时间戳之间的绝对差值;1≤i≤N;根据计算公式计算得到平均时延,计算公式为:
[0028]
[0029] 其中,Davg为平均时延,ti为第二摄像设备的连续N帧中第i帧的时间戳,t′i为第i帧的对齐帧的时间戳。
[0030] 本申请实施例第二方面提供一种第二摄像设备,该第二摄像设备具有实现第一方面提供方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所
述硬件或软件包括一个或多个与上述功能相对应的模块。
[0031] 在一种可能实现的方式中,该第二摄像设备包括:收发模块和处理模块;收发模块,用于获取第一摄像设备的连续N帧中每帧的时间戳,N为大于1的正整数;处理模块,用于
截取第二摄像设备的连续N帧,并收集第二摄像设备的连续N帧中每帧的时间戳;根据第一
摄像设备的连续N帧中每帧的时间戳和第二摄像设备的连续N帧中每帧的时间戳,从第一摄
像设备的连续N帧中,确定第二摄像设备的连续N帧中每帧的对齐帧;根据第二摄像设备的
连续N帧中每帧的时间戳以及第二摄像设备的连续N帧中每帧的对齐帧的时间戳,确定平均
时延;当平均时延满足同步条件,则确定第二摄像设备与第一摄像设备帧同步。
[0032] 在一种可能实现的方式中,该第二摄像设备包括:处理器、收发器和存储器,其中,收发器用于接收和发送信息,存储器中存储计算机程序,计算机程序包括程序指令,处理器
通过总线与存储器和收发器连接,处理器执行存储器中存储的程序指令,以使该第二摄像
设备执行以下操作:控制收发模块获取第一摄像设备的连续N帧中每帧的时间戳,N为大于1
的正整数;截取第二摄像设备的连续N帧,并收集第二摄像设备的连续N帧中每帧的时间戳;
根据第一摄像设备的连续N帧中每帧的时间戳和第二摄像设备的连续N帧中每帧的时间戳,
从第一摄像设备的连续N帧中,确定第二摄像设备的连续N帧中每帧的对齐帧;根据第二摄
像设备的连续N帧中每帧的时间戳以及第二摄像设备的连续N帧中每帧的对齐帧的时间戳,
确定平均时延;当平均时延满足同步条件,则确定第二摄像设备与第一摄像设备帧同步。
[0033] 基于同一发明构思,由于该第二摄像设备解决问题的原理以及有益效果可以参见第一方面所述的方法以及所带来的有益效果,因此该装置的实施可以参见方法的实施,重
复之处不再赘述。
[0034] 本申请实施例第三方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时使得处理器
执行上述第一方面所述的方法。
[0035] 本申请实施例第四方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
[0036] 本申请实施例第五方面提供一种帧同步方法,包括:
[0037] 第一摄像设备截取第一摄像设备的连续N帧,并收集第一摄像设备的连续N帧中每帧的时间戳,N为大于1的正整数;
[0038] 第一摄像设备将第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备。
[0039] 本申请实施例第五方面,第一摄像设备将其连续N帧中每帧的时间戳同步至第二摄像设备,以便第二摄像设备根据第一摄像设备的连续N帧中每帧的时间戳确定第二摄像
设备与第一摄像设备是否帧同步。
[0040] 在一种可能实现的方式中,第一摄像设备从第一摄像设备的帧时间戳序列中,截取第一摄像设备的连续N帧。
[0041] 在一种可能实现的方式中,第一摄像设备为基准摄像设备,基准摄像设备为主节点管理的摄像设备中的主摄像设备,第二摄像设备为主节点管理的摄像设备中的从摄像设
备,该种情况下,第一摄像设备直接通过内存共享,将第一摄像设备的连续N帧中每帧的时
间戳同步至第二摄像设备。
[0042] 在一种可能实现的方式中,第一摄像设备为基准摄像设备,基准摄像设备为主节点管理的摄像设备中的主摄像设备,第二摄像设备为从节点管理的摄像设备中的主摄像设
备,该种情况下,第一摄像设备通过内存共享,将第一摄像设备的连续N帧中每帧的时间戳
同步至主节点,以使主节点将第一摄像设备的连续N帧中每帧的时间戳同步至从节点,以使
从节点通过内存共享,将第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备。
[0043] 在一种可能实现的方式中,在第一摄像设备为基准摄像设备的情况下,在第二摄像设备与第一摄像设备帧同步之后,第一摄像设备确定第一摄像设备的起始帧以及起始帧
的时间戳,并将起始帧的时间戳作为参考时间戳,将参考时间戳同步至第二摄像设备,参考
时间戳用于第二摄像设备确定第二摄像设备的起始帧。第一摄像设备将参考时间戳同步至
第二摄像设备的过程,与将第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备
的过程相同。
[0044] 在一种可能实现的方式中,第一摄像设备为从节点管理的摄像设备的主摄像设备,第二摄像设备为从节点管理的摄像设备中的从摄像设备,该种情况下,第一摄像设备通
过内存共享,将第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备。该种情况
下,基准摄像设备依然为主节点管理的摄像设备中的主摄像设备。
[0045] 在一种可能实现的方式中,在第一摄像设备为从节点管理的摄像设备的主摄像设备的情况下,第一摄像设备获取参考时间戳,参考时间戳为基准摄像设备选择的起始帧的
时间戳,根据参考时间戳确定第一摄像设备的起始帧,可有效缩短正式图像采集过程中,第
一摄像设备与基准摄像设备之间的时间偏差。
[0046] 本申请实施例第六方面提供一种第一摄像设备,该第一摄像设备具有实现第五方面提供方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所
述硬件或软件包括一个或多个与上述功能相对应的模块。
[0047] 在一种可能实现的方式中,该第一摄像设备包括:收发模块和处理模块;处理模块,用于截取第一摄像设备的连续N帧,并收集第一摄像设备的连续N帧中每帧的时间戳,N
为大于1的正整数;收发模块,用于将第一摄像设备的连续N帧中每帧的时间戳同步至第二
摄像设备。
[0048] 在一种可能实现的方式中,该第一摄像设备包括:处理器、收发器和存储器,其中,收发器用于接收和发送信息,存储器中存储计算机程序,计算机程序包括程序指令,处理器
通过总线与存储器和收发器连接,处理器执行存储器中存储的程序指令,以使该第一摄像
设备执行以下操作:截取第一摄像设备的连续N帧,并收集第一摄像设备的连续N帧中每帧
的时间戳,N为大于1的正整数;控制收发器将第一摄像设备的连续N帧中每帧的时间戳同步
至第二摄像设备。
[0049] 基于同一发明构思,由于该第一摄像设备解决问题的原理以及有益效果可以参见第五方面所述的方法以及所带来的有益效果,因此该装置的实施可以参见方法的实施,重
复之处不再赘述。
[0050] 本申请实施例第七方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时使得处理器
执行上述第五方面所述的方法。
[0051] 本申请实施例第八方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第五方面所述的方法。
[0052] 本申请实施例第九方面提供一种帧同步系统,包括:
[0053] 第一摄像设备截取第一摄像设备的连续N帧,并收集第一摄像设备的连续N帧中每帧的时间戳;将第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备,N为大于1的
正整数;
[0054] 第二摄像设备截取第二摄像设备的连续N帧,并收集第二摄像设备的连续N帧中每帧的时间戳;根据第一摄像设备的连续N帧中每帧的时间戳和第二摄像设备的连续N帧中每
帧的时间戳,从第一摄像设备的连续N帧中,确定第二摄像设备的连续N帧中每帧的对齐帧;
根据第二摄像设备的连续N帧中每帧的时间戳以及第二摄像设备的连续N帧中每帧的对齐
帧的时间戳,确定平均时延;当平均时延满足同步条件,则第二摄像设备确定与第一摄像设
备帧同步。
[0055] 本申请实施例第十方面提供一种帧同步系统,包括第一摄像设备和第二摄像设备,第二摄像设备用于执行第一方面提供的方法,第一摄像设备用于执行第五方面提供的
方法。
[0056] 结合第九方面和第十方面,在一种可能的实现方式中,第一摄像设备为基准摄像设备,基准摄像设备为主节点管理的摄像设备中的主摄像设备,第二摄像设备为主节点管
理的摄像设备中的从摄像设备。
[0057] 结合第九方面和第十方面,在一种可能的实现方式中,第一摄像设备为基准摄像设备,基准摄像设备为主节点管理的摄像设备中的主摄像设备,第二摄像设备为从节点管
理的摄像设备中的主摄像设备。
[0058] 结合第九方面和第十方面,在一种可能的实现方式中,第一摄像设备为从节点管理的摄像设备的主摄像设备,第二摄像设备为从节点管理的摄像设备中的从摄像设备,基
准摄像设备依然为主节点管理的摄像设备中的主摄像设备。

附图说明

[0059] 为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
[0060] 图1为应用本申请实施例的网络架构示意图;
[0061] 图2为本申请实施例一提供的帧同步方法的流程示意图;
[0062] 图3为本申请实施例提供的从主摄像设备确定对齐帧的示意图;
[0063] 图4为本申请实施例提供的从主摄像设备确定是否帧同步的示意图;
[0064] 图5为本申请实施例提供的确定起始帧的示意图;
[0065] 图6为本申请实施例二提供的帧同步方法的流程示意图;
[0066] 图7为本申请实施例提供的帧同步装置的逻辑结构示意图;
[0067] 图8为本申请实施例提供的帧同步装置的实体结构简化示意图。

具体实施方式

[0068] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,
A/B可以表示A或B;本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存
在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,
其中A,B可以是单数或者复数。并且,在本申请的描述中,除非另有说明,“多个”是指两个或
多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)
或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a‑b,a‑c,b‑
c,或a‑b‑c,其中a,b,c可以是单个,也可以是多个。另外,为了便于清楚描述本申请实施例
的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的
相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和
执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
[0069] 此外,本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术
人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于
类似的技术问题,同样适用。
[0070] 下面将对本申请实施例涉及的技术名称或术语进行介绍。
[0071] 帧同步系统,也可称为节点系统,节点系统包括主节点和从节点,节点负责管理一个或多个摄像设备。节点所管理的摄像设备可分为主摄像设备和从摄像设备。帧同步系统
可用于实现多个摄像设备的帧同步,以便多个摄像设备可以协同录制视频,协同监控等。
[0072] 主节点,有且只有一个,该节点所管理的摄像设备中必须包括主摄像设备。
[0073] 从节点,其数量为一个或多个,视具体情况而定。从节点所管理的摄像设备通过主节点所管理的主摄像设备进行帧同步。
[0074] 主主摄像设备,主节点所管理的摄像设备中的主摄像设备,为帧同步系统中的基准摄像设备。节点之间的帧同步以及节点内的帧同步都参考主主摄像设备的时间戳。主主
摄像设备在开启之后,只初始化一次。将主节点所管理的摄像设备中除主主摄像设备之外
的其他摄像设备称为从主摄像设备,也可以称为主节点的从摄像设备。
[0075] 基准摄像设备,为主节点所管理的摄像设备中的主摄像设备,即主主摄像设备。帧同步系统中除基准摄像设备之外的其他摄像设备需要参考基准摄像设备进行帧同步,以及
参考基准摄像设备的参考时间戳确定各自的起始帧。需要说明的是,其他用于描述基准摄
像设备的名称理应落入本申请实施例的保护范围,例如参考摄像设备等。
[0076] 从主摄像设备,从节点所管理的摄像设备中的一个摄像设备被指定为从主摄像设备,也可以称为从节点的主摄像设备。在从节点与主节点之间的帧同步过程中,从主摄像设
备参考主主摄像设备的时间戳进行帧同步;在某个从节点内的帧同步过程中,该从节点的
从从摄像设备参考从主摄像设备的时间戳进行帧同步。将从节点所管理的摄像设备中除从
主摄像设备之外的其他摄像设备称为从从摄像设备,也可以称为从节点的从摄像设备。
[0077] 从摄像设备,接入主节点或从节点,参与节点内的帧同步。若某个从摄像设备属于主节点,则该从摄像设备与主主摄像设备进行帧同步;若某个从摄像设备属于从节点,则该
从摄像设备与从主摄像设备进行帧同步。
[0078] 参考时间戳,为主主摄像设备选择的主主摄像设备的起始帧的时间戳,用于所有摄像设备进行同步时间校准,即各个摄像设备根据参考时间戳确定各自的起始帧,可以有
效缩短各个摄像设备的起始帧的时间戳之间的偏差,使得偏差可以控制在毫秒级以下,以
便多个摄像设备所采集的图像可以更好地衔接。
[0079] 起始帧,为开始采集图像或视频的帧,也即正式采集的图像或视频的第一帧。
[0080] 请参见图1,为应用本申请实施例的网络架构示意图,该网络架构示意图包括主节点101、从节点102、主主摄像设备103、主从摄像设备104、从主摄像设备105和从从摄像设备
106。需要说明的是,图1所示的设备的形态和数量并不构成对本申请实施例的限定,不过在
本申请实施例中,主节点有且只有一个,从节点可以有一个或多个;主主摄像设备、从主摄
像设备有且只有一个,主从摄像设备以及从从摄像设备可以有一个或多个,主从摄像设备
与从从摄像设备的数量可以相等也可以不相等,视具体情况而定。
[0081] 其中,摄像设备可以是图1所示的监控器,也可以是其他类型的监控器,还可以是各种类型的摄像机、视频录制设备或图像采集设备等。主节点101和从节点102可以是计算
节点,每个计算节点管理一个或多个摄像设备。管理人员可设置哪个计算节点是主节点,哪
些计算节点是从节点,也可由帧同步系统自主设定主节点和从节点。
[0082] 图1中,主节点101负责管理主主摄像设备103和主从摄像设备104。主节点101可从其管理的摄像设备中选择一个摄像设备作为主节点101的主摄像设备,即主主摄像设备,其
余摄像设备便作为主节点101的从摄像设备,即主从摄像设备。管理人员也可从主节点101
所管理的摄像设备中选择一个摄像设备作为主主摄像设备。主主摄像设备103为整个帧同
步系统的基准摄像设备,即主节点101中的主从摄像设备104需要参考主主摄像设备103的
时间戳进行帧同步,从节点102所管理的摄像设备也需要参考主主摄像设备103的时间戳进
行帧同步。主从摄像设备104与主主摄像设备103进行帧同步,可以完成主节点101内的帧同
步。
[0083] 从节点102负责管理从主摄像设备105和从从摄像设备106。以一个从节点102为例,该从节点102可从其管理的摄像设备中选择一个摄像设备作为该从节点102的主摄像设
备,即从主摄像设备,其余摄像设备作为该从节点102的从摄像设备,即从从摄像设备。管理
人员也可从该从节点102所管理的摄像设备中选择一个摄像设备作为从主摄像设备。从主
摄像设备105与主主摄像设备103进行帧同步,可以完成主节点101与该从节点102之间的帧
同步。从从摄像设备106与从主摄像设备105进行帧同步,可以完成该从节点102内的帧同
步。
[0084] 需要说明的是,图1的主节点、从节点、主主摄像设备、主从摄像设备、从主摄像设备和从从摄像设备等仅是一个名字,名字对设备本身不构成限定。其它用于描述这些名字
的名称理应落入本申请实施例的保护范围。
[0085] 鉴于通过硬件设备实现帧同步的成本较高,应用范围有一定局限性的弊端,本申请实施例提供一种通过软件方式实现帧同步的方法及其装置,成本低且应用范围广泛。
[0086] 目前也提出了一种通过软件方式实现帧同步的方法,该方法利用目标特征点来同步各个摄像机,该方法包括:获取在目标特征点的运动过程中,第一摄像机和第二摄像机拍
摄得到的位置信息,包括第一摄像机得到的第一特征点位置序列和第二摄像机得到的第二
特征点位置序列;第一特征点位置序列包括目标特征点的第一位置信息;第二特征点位置
序列包括目标特征点的第二位置信息;根据第一特征点位置序列以及单应矩阵,得到目标
特征点的第二特征点估计位置序列;根据第二特征点估计位置序列和第二特征点位置序列
得到序列差异值;在序列差异值符合预设的同步条件时,确定第一摄像机和第二摄像机的
帧同步位置。该方法利用特征点完成帧同步,不过该方法在拍摄过程中完成帧同步,在开始
拍摄到获得特征点之间无法实现帧同步。而本申请实施例,在正式拍摄前可以完成各个摄
像机的帧同步,即在多摄像机协同录制的准备阶段可以完成帧同步,帧同步过程不影响正
式的视频录制过程,从而可以保证视频正式录制过程的完整性。
[0087] 本申请实施例可以应用于多个摄像机协同工作的场景,例如多个摄像机协同录制视频的场景,还可以应用于视频监控场景,例如在人流密集的广场部署多个监控摄像机,根
据某个监控摄像机下某一帧的罪犯信息可以快速提取出其他摄像机下该时间点的罪犯信
息,从而可以得到完整的罪犯信息。
[0088] 下面将对本申请实施例提供的帧同步方法进行详细的介绍。
[0089] 以本申请实施例应用于图1所示的网络架构示意图为例,如图2所示,为本申请实施例一提供的帧同步方法的流程示意图。该方法可以包括但不限于如下步骤:
[0090] 步骤S201,确定节点角色。
[0091] 管理人员或帧同步系统为帧同步系统中的各个节点以及各个节点所管理的摄像设备划分角色,指定哪个节点是主节点,哪些节点是从节点,主节点所管理的摄像设备中哪
个是主主摄像设备,哪些是主从摄像设备,从节点所管理的摄像设备中哪个是从主摄像设
备,哪些是从从摄像设备。管理人员可在各个摄像设备初始化之前划分角色,各个角色也可
由帧同步系统默认设置。
[0092] 在管理人员或帧同步系统划分角色之后,各个节点以及各个摄像设备可以清楚地获知各自的角色,从而可以确定各自的角色,以便执行各自角色的功能。
[0093] 步骤S202,节点系统时间同步。
[0094] 节点系统包括主节点和从节点,主节点有且只有一个,从节点有一个或多个。在各个摄像设备进行帧同步之前,各个节点进行系统时间同步。各个节点可使用精确时间协议
(precision time protocol,PTP)来实现各个节点的系统时间同步,PTP可实现纳秒量级的
同步。节点之间的系统时间可通过分布式进程间消息传递接口共享,例如,主节点通过分布
式进程间消息向从节点传递主节点的系统时间,以便从节点根据主节点的系统时间进行系
统时间同步。
[0095] 应用在本申请实施例中,节点之间的时间戳信息可通过分布式进程间消息传递接口共享,节点内的时间戳信息可直接通过内存共享。其中,时间戳信息可以包括一个或多个
时间戳,可以是系统时间的时间戳信息,也可以是主主摄像设备的时间戳信息。
[0096] 具体的,主主摄像设备与从主摄像设备之间的时间戳信息同步可包括:主主摄像设备将其时间戳信息通过内存共享同步至主节点,主节点通过分布式进程间消息将主主摄
像设备的时间戳信息同步至从节点,从节点通过内存共享将主主摄像设备的时间戳信息同
步至从主摄像设备。
[0097] 主主摄像设备与主从摄像设备之间的时间戳信息同步可包括:主主摄像设备通过内存共享将其时间戳信息同步至主从摄像设备。从主摄像设备与从从摄像设备之间的时间
戳信息同步可包括:从主摄像设备通过内存共享将从主摄像设备的时间戳信息同步至从从
摄像设备,或从主摄像设备通过内存共享将主主摄像设备的时间戳信息同步至从从摄像设
备。
[0098] 步骤S203,节点间初始化。
[0099] 节点间初始化可包括主主摄像设备和从主摄像设备的初始化。初始化可通过摄像设备的开启与关闭来实现。在本申请实施例中,主主摄像设备只初始化一次,即主主摄像设
备只开启一次;从主摄像设备可初始化多次,当从主摄像设备与主主摄像设备帧同步失败
时,从主摄像设备进行初始化,即此时从主摄像设备重新启动,重新与主主摄像设备进行帧
同步。
[0100] 步骤S204,从主摄像设备与主主摄像设备进行帧同步。
[0101] 主主摄像设备在启动之后,立即截取主主摄像设备的连续N帧,并收集主主摄像设备的连续N帧中每帧的时间戳。具体的,主主摄像设备可从主主摄像设备的帧时间戳序列中
截取主主摄像设备的连续N帧。其中,N为大于1的正整数。用 来表示主主摄像设备的连续
N帧中第i帧的时间戳。
[0102] 主主摄像设备在收集主主摄像设备的连续N帧中每帧的时间戳之后,通过内存共享,将主主摄像设备的连续N帧中每帧的时间戳同步至主节点,主节点通过分布式进程间消
息将主主摄像设备的连续N帧中每帧的时间戳同步至从节点,从节点通过内存共享,将主主
摄像设备的连续N帧中每帧的时间戳同步至从主摄像设备,以便从主摄像设备能够获取主
主摄像设备的连续N帧中每帧的时间戳,进而判断是否与主主摄像设备帧同步成功。
[0103] 从主摄像设备在启动之后,立即截取从主摄像设备的连续N帧,并收集从主摄像设备的连续N帧中每帧的时间戳。具体的,从主摄像设备可从从主摄像设备的帧时间戳序列中
截取从主摄像设备的连续N帧。其中,N为大于1的正整数。用 来表示第j个从节点中的从
主摄像设备的连续N帧中第i帧的时间戳,或表示第j个从主摄像设备的连续N帧中第i帧的
时间戳。
[0104] 主主摄像设备与从主摄像设备何时截取连续N帧,以及截取连续N帧的先后顺序,在本申请实施例中不作限定。主主摄像设备与从主摄像设备所截取的帧数相同,N的具体数
值在本申请实施例中不作限定,可由管理人员设定或由帧同步系统设定。
[0105] 从主摄像设备在获取主主摄像设备的连续N帧中每帧的时间戳,以及从主摄像设备的连续N帧中每帧的时间戳之后,从主主摄像设备的连续N帧中,确定出从主摄像设备的
连续N帧中每帧的对齐帧。具体的,从主摄像设备根据主主摄像设备的连续N帧中每帧的时
间戳,以及从主摄像设备的连续N帧中每帧的时间戳,从主主摄像设备的连续N帧中,确定出
从主摄像设备的连续N帧中每帧的对齐帧。
[0106] 表示第j个从主摄像设备的连续N帧中第1帧的时间戳,从主摄像设备将依次与 进行比较,得到绝对差值Dn,1≤n≤N,在主主摄像设备的连续N
帧中,将Dn最小对应的主主摄像设备的帧,确定为从主摄像设备的连续N帧中第1帧的对齐
帧。按照此过程确定从主摄像设备的连续N帧中第2帧的对齐帧,重复此过程,直到确定出第
j个从主摄像设备的连续N帧中第N帧的对齐帧。对于每个从主摄像设备,均可按照此过程确
定出各自的连续N帧中每帧的对齐帧。
[0107] 可参见图3,为本申请实施例提供的从主摄像设备确定对齐帧的示意图。图3以确定从主摄像设备的连续N帧中的第1帧的对齐帧为例,从主摄像设备的连续N帧中的第1帧的
时间戳为t,主主摄像设备的连续N帧中第3帧的时间戳为t,两者之间的绝对差值为0,为最
小的绝对差值,那么从主摄像设备的连续N帧中第1帧的对齐帧,为主主摄像设备的连续N帧
中的第3帧。从主摄像设备在确定出其连续N帧中第1帧的对齐帧之后,确定其连续N帧中第2
帧的对齐帧,直到确定出其连续N帧中第N帧的对齐帧。
[0108] 步骤S205,判断主主摄像设备与从主摄像设备是否同步成功。
[0109] 从主摄像设备在确定出其连续N帧中每帧的对齐帧之后,根据从主摄像设备的连续N帧中每帧的时间戳以及从主摄像设备的连续N帧中每帧的对齐帧的时间戳,计算得到平
均时延。
[0110] 具体的,从主摄像设备获取从主摄像设备的连续N帧中第i帧的时间戳与该第i帧的对齐帧的时间戳之间的绝对差值,1≤i≤N,直到获取从主摄像设备的连续N帧中每帧的
时间戳与各自的对齐帧的时间戳之间的绝对差值;然后根据计算公式计算得到平均时延,
该计算公式如下:
[0111]
[0112] Davg表示平均时延,ti表示从主摄像设备的连续N帧中第i帧的时间戳,ti'表示第i帧的对齐帧的时间戳。
[0113] 若平均时延小于阈值,则确定平均时延满足同步条件,从主摄像设备与主主摄像设备帧同步,即同步成功;若平均时延大于阈值,则确定平均时延不满足同步条件,从主摄
像设备与主主摄像设备不同步,即同步失败。
[0114] 其中,阈值可用Dmax表示,Dmax为从主摄像设备与主主摄像设备之间同步的最大延迟误差值,其数值为经验值,与摄像设备类型、帧率计算以及调试有关,具体数值在本申请
实施例不作限定。
[0115] 在从主摄像设备与主主摄像设备同步不成功的情况下,从主摄像设备重新初始化,即重新启动,重新获取主主摄像设备的连续N帧中每帧的时间戳,重新截取从主摄像设
备的连续N帧,并收集重新截取的连续N帧中每帧的时间戳,重新确定对齐帧以及平均时延,
然后判断重新确定的平均时延是否小于阈值,若小于,则帧同步成功;否则再次初始化,直
到平均时延小于阈值。
[0116] 可参见图4,为本申请实施例提供的从主摄像设备确定是否帧同步的示意图。图4中,假设Dmax=3,左侧中Davg>Dmax,不满足同步条件,从主摄像设备与主主摄像设备同步失
败,此时从主摄像设备重新初始化,由于主主摄像设备的帧序列一直在向前走,当重新截取
主主摄像设备的连续N帧时,重新截取的连续N帧中第1帧的时间戳应该在t=5之后,假设主
主摄像设备重新截取的连续N帧的第1帧的时间戳为t=11,从主摄像设备重新截取的连续N
帧的第1帧的时间戳为t=13,重新确定的平均时延Davg与主主摄像设备同步成功。
[0117] 需要说明的是,图4中的时间戳以及阈值用于举例,并不构成对本申请实施例的限定。
[0118] 步骤S206,若从主摄像设备与主主摄像设备同步成功,则节点内初始化。
[0119] 若从主摄像设备与主主摄像设备同步成功,即Davg主主摄像设备同步成功的情况下,开启主节点所管理的从摄像设备,开启从节点所管理的
从摄像设备。
[0120] 步骤S207,从摄像设备与主摄像设备进行帧同步。
[0121] 从摄像设备与主摄像设备进行帧同步包括:主从摄像设备参考主主摄像设备进行帧同步,以及从从摄像设备参考从主摄像设备或主主摄像设备进行帧同步。从摄像设备与
主摄像设备进行帧同步的过程与主从摄像设备与主主摄像设备进行帧同步的过程相同,在
此不再赘述。
[0122] 从从摄像设备参考主主摄像设备进行帧同步,相比从从摄像设备参考从主摄像设备进行帧同步,效果更好。
[0123] 步骤S208,判断从摄像设备与主摄像设备是否同步成功。
[0124] 从摄像设备判断与主摄像设备是否同步成功,即是否Davg
[0125] 步骤S209,若从摄像设备与主摄像设备同步成功,则所有摄像设备进行同步时间校准。
[0126] 若所有从摄像设备与主摄像设备同步成功,则所有摄像设备进行同步时间校准。由于摄像设备在初始化时可能存在图像自动校正或丢帧的情况,在所有摄像设备同步完成
后,需要丢掉若干帧再开始正式图像采集,从而保证编码器接收到的各路视频流的第1帧能
对应于同一时刻,或最接近于同一时刻,因此需要对所有摄像设备进行同步时间校准。
[0127] 具体的,主主摄像设备确定参考时间戳,参考时间戳为主主摄像设备的起始帧的时间戳,起始帧即为正式图像采集的第1帧。主主摄像设备可在节点间同步时,预测参考时
间戳,也可在从主摄像设备与主主摄像设备同步之后,预测参考时间戳。
[0128] 之后,主主摄像设备将参考时间戳同步至从主摄像设备,从主摄像设备在获取到参考时间戳时,可将参考时间戳同步至从从摄像设备。主主摄像设备可将参考时间戳与主
主摄像设备的连续N帧中每帧的时间戳一起同步至从主摄像设备,也可分别同步,本申请实
施例中不作限定。
[0129] 从主摄像设备根据参考时间戳确定从主摄像设备的起始帧。从主摄像设备从从主摄像设备的帧时间戳序列中,选择与参考时间戳之间的差值在预设范围内的时间戳对应的
帧,并将其确定为从主摄像设备的起始帧。其中,预设范围为[‑Fp/2,Fp/2],Fp为单帧时间
间隔。
[0130] 可参见图5,为本申请实施例提供的确定起始帧的示意图。图5中,在时间点T处,从主摄像设备1以及从主摄像设备2与主主摄像设备对齐,主主摄像设备所确定的参考时间戳
为黑色箭头所指的时间点,参考时间戳对应的帧即为主主摄像设备的起始帧。对于从主摄
像设备1而言,将黑色箭头所指的帧作为从主摄像设备1的起始帧,此时该帧的时间戳与参
考时间戳之间的差值在预设范围内,为最接近主主摄像设备的起始帧的帧。对于从主摄像
设备2而言,将黑色箭头所指的帧作为从主摄像设备2的起始帧,此时该帧的时间戳与参考
时间戳之间的差值在预设范围内,为最接近主主摄像设备的起始帧的帧,而灰色箭头所指
的帧的时间戳与参考时间戳之间的差值不在预设范围内,不将灰色箭头所指的帧作为从主
摄像设备2的起始帧。
[0131] 主节点所管理的从摄像设备以及从节点所管理的从摄像设备,同样根据参考时间戳确定各自的起始帧。
[0132] 需要说明的是,图2所示实施例中,先执行从主摄像设备与主主摄像设备帧同步的过程,再执行主从摄像设备与主主摄像设备帧同步的过程,实际应用中,也可以同时执行这
两个过程。
[0133] 图2所示的实施例,通过软件方式实现多个摄像设备的帧同步,可以应用于各种类型的摄像设备,成本低,应用范围广泛;通过确定对齐帧可以有效缩短时间偏差,使得帧同
步系统中各个摄像设备之间的时间偏差控制在毫秒级以下;各个摄像设备之间的帧同步过
程在正式图像采集之前执行,使得同步过程不影响正式图像采集过程,以确保视频录制的
完整性;通过确定参考时间戳,以便各个摄像设备确定各自的起始帧,从而有效缩短正式图
像采集过程中的时间偏差,以便更好地处理各个摄像设备采集的图像。
[0134] 请参见图6,为本申请实施例二提供的帧同步方法的流程示意图,该方法可以包括但不限于如下步骤:
[0135] 步骤S601,第一摄像设备截取第一摄像设备的连续N帧,并收集第一摄像设备的连续N帧中每帧的时间戳。
[0136] 在执行步骤S601之前,第一摄像设备需要确定其角色,是主主摄像设备还是从主摄像设备。若是主主摄像设备,则第一摄像设备是帧同步系统的基准摄像设备;若是从主摄
像设备,则第一摄像设备参考主主摄像设备进行帧同步,该从主摄像设备所属从节点所管
理的从从摄像设备可参考第一摄像设备进行帧同步。
[0137] 第一摄像设备在启动之后,可从第一摄像设备的帧时间戳序列中,截取第一摄像设备的连续N帧,并收集第一摄像设备的连续N帧中每帧的时间戳。第一摄像设备如何从其
帧时间戳序列中截取连续N帧,在本申请实施例中不作限定。
[0138] 步骤S602,第一摄像设备将第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备。相应的,第二摄像设备获取第一摄像设备的连续N帧中每帧的时间戳。
[0139] 在一种可能的实现方式中,第一摄像设备为主主摄像设备,第二摄像设备为从主摄像设备。第一摄像设备通过内存共享,将第一摄像设备的连续N帧中每帧的时间戳同步至
主节点,主节点通过分布式进程消息,将第一摄像设备的连续N帧中每帧的时间戳同步至第
二摄像设备所属的从节点,该从节点通过内存共享,将将第一摄像设备的连续N帧中每帧的
时间戳同步至第二摄像设备。
[0140] 在一种可能的实现方式中,第一摄像设备为主主摄像设备,第二摄像设备为主从摄像设备。第一摄像设备直接通过内存共享,将第一摄像设备的连续N帧中每帧的时间戳同
步至第二摄像设备。
[0141] 在一种可能的实现方式中,第一摄像设备为从主摄像设备,第二摄像设备为从从摄像设备。第一摄像设备直接通过内存共享,将第一摄像设备的连续N帧中每帧的时间戳同
步至第二摄像设备。或,第一摄像设备在获取到主主摄像设备的连续N帧中每帧的时间戳的
情况下,通过内存共享,将主主摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备。
[0142] 步骤S603,第二摄像设备截取第二摄像设备的连续N帧,并收集第二摄像设备的连续N帧中每帧的时间戳。
[0143] 第二摄像设备在启动之后,可从第二摄像设备的帧时间戳序列中,截取第二摄像设备的连续N帧,并收集第二摄像设备的连续N帧中每帧的时间戳。第二摄像设备如何从其
帧时间戳序列中截取连续N帧,在本申请实施例中不作限定。
[0144] 步骤S604,第二摄像设备根据第一摄像设备的连续N帧中每帧的时间戳和第二摄像设备的连续N帧中每帧的时间戳,从第一摄像设备的连续N帧中,确定第二摄像设备的连
续N帧中每帧的对齐帧。
[0145] 具体的,第二摄像设备计算第二摄像设备的连续N帧中第i帧的时间戳与第一摄像设备的连续N帧中每帧的时间戳之间的绝对差值;1≤i≤N;从第一摄像设备的连续N帧中,
获取最小绝对差值对应的帧,并将其确定为第二摄像设备的连续N帧中第i帧的对齐帧。按
照该方式,确定出第二摄像设备的连续N帧中第1帧的对齐帧,直到确定出第二摄像设备的
连续N帧中每帧的对齐帧。具体可参见图2所示实施例中步骤S204中对确定对齐帧的详细描
述。
[0146] 步骤S605,第二摄像设备根据第二摄像设备的连续N帧中每帧的时间戳以及第二摄像设备的连续N帧中每帧的对齐帧的时间戳,确定平均时延。
[0147] 步骤S605的具体实现过程,可参见图2所示实施例中对确定平均时延的详细描述,在此不再赘述。
[0148] 步骤S606,若平均时延满足同步条件,则第二摄像设备确定与第一摄像设备帧同步。
[0149] 其中,同步条件可包括阈值,若平均时延小于阈值,则可以确定平均时延满足同步条件,此时,第二摄像设备可确定与第一摄像设备帧同步,即第二摄像设备与第一摄像设备
同步成功。
[0150] 若平均时延不满足同步条件,则第二摄像设备重新启动,并再次执行步骤S602‑步骤S605,即再次获取第一摄像设备的连续N帧中每帧的时间戳,再次截取第二摄像设备的连
续N帧,并收集再次截取的第二摄像设备的连续N帧中每帧的时间戳,再次确定对齐帧,再次
确定平均时延,再次判断平均时延是否满足同步条件。若这次确定的平均时延也不满足同
步条件,则第二摄像设备再重新启动,再执行步骤S602‑步骤S605,直到平均时延满足同步
条件时,确定第二摄像设备与第一摄像设备帧同步。
[0151] 在一种可能的实现的方式,第一摄像设备为主主摄像设备时,第一摄像设备在与第二摄像设备进行帧同步的过程中,可确定参考时间戳,该参考时间戳为主主摄像设备选
择的起始帧的时间戳,即主主摄像设备正式采集图像的第1帧的时间戳。第一摄像设备将参
考时间戳同步至第二摄像设备,第二摄像设备根据参考时间戳确定第二摄像设备的起始
帧,第二摄像设备的起始帧的时间戳与参考时间戳之间的差值在预设范围内,该预设范围
为[‑Fp/2,Fp/2],Fp为单帧时间间隔。若第二摄像设备为从主摄像设备,则第二摄像设备可
将参考时间戳同步至从从摄像设备。这样,帧同步系统中各个摄像设备可根据参考时间戳
确定各自的起始帧,从而有效缩短正式图像采集过程中的时间偏差,以便更好地处理各个
摄像设备采集的图像。
[0152] 在一种可能的实现方式中,第一摄像设备为从主摄像设备时,第一摄像设备获取参考时间戳。主主摄像设备可将参考时间戳同步至主节点,主节点将参考时间戳同步至第
一摄像设备所属的从节点,该从节点将参考时间戳同步至从主摄像设备,从而从主摄像设
备可获取参考时间戳。第一摄像设备在获取到参考时间戳的情况下,根据参考时间戳确定
第一摄像设备的起始帧,第一摄像设备的起始帧的时间戳与参考时间戳之间的差值在预设
范围内,该预设范围为[‑Fp/2,Fp/2],Fp为单帧时间间隔。
[0153] 在图6所示的实施例中,第二摄像设备通过第一摄像设备的连续N帧中每帧的时间戳,以及第二摄像设备的连续N帧中每帧的时间戳,确定第二摄像设备的连续N帧中每帧的
对齐帧,进而确定平均时延,并在平均时延满足同步条件时,确定第二摄像设备与第一摄像
设备帧同步,从而可以实现多个摄像设备的帧同步,不涉及硬件设备,通过软件方式实现,
成本低,应用范围广泛。
[0154] 上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
[0155] 请参见图7,是本申请实施例提供的帧同步装置的逻辑结构示意图,该帧同步装置70包括收发模块701和处理模块702。该帧同步装置70可以是第一摄像设备,也可以是第二
摄像设备。
[0156] 对于该帧同步装置70是第二摄像设备的情况:
[0157] 收发模块701,用于获取第一摄像设备的连续N帧中每帧的时间戳,N为大于1的正整数;
[0158] 处理模块702,用于截取第二摄像设备的连续N帧,并收集第二摄像设备的连续N帧中每帧的时间戳;根据第一摄像设备的连续N帧中每帧的时间戳和第二摄像设备的连续N帧
中每帧的时间戳,从第一摄像设备的连续N帧中,确定第二摄像设备的连续N帧中每帧的对
齐帧;根据第二摄像设备的连续N帧中每帧的时间戳以及第二摄像设备的连续N帧中每帧的
对齐帧的时间戳,确定平均时延;当平均时延满足同步条件,则确定第二摄像设备与第一摄
像设备帧同步。
[0159] 在一种可能的实现方式中,处理模块702还用于当平均时延不满足同步条件,则重新启动第二摄像设备,并再次获取第一摄像设备的连续N帧中每帧的时间戳;再次截取第二
摄像设备的连续N帧,并收集再次截取的第二摄像设备的连续N帧中每帧的时间戳;根据再
次获取的第一摄像设备的连续N帧中每帧的时间戳和再次截取的第二摄像设备的连续N帧
中每帧的时间戳,从再次获取的第一摄像设备的连续N帧中,确定再次截取的第二摄像设备
的连续N帧中每帧的对齐帧;根据再次截取的第二摄像设备的连续N帧中每帧的时间戳以及
再次截取的第二摄像设备的连续N帧中每帧的对齐帧的时间戳,确定再次平均时延;若再次
平均时延满足同步条件,则确定第二摄像设备与第一摄像设备帧同步。
[0160] 在一种可能的实现方式中,收发模块701还用于获取参考时间戳,参考时间戳为基准摄像设备选择的起始帧的时间戳;基准摄像设备为主节点管理的摄像设备中的主摄像设
备;
[0161] 处理模块702,还用于根据参考时间戳确定第二摄像设备的起始帧。
[0162] 在一种可能的实现方式中,处理模块702用于根据参考时间戳确定第二摄像设备的起始帧时,具体用于从第二摄像设备的帧时间戳序列中,选择与参考时间戳之间的差值
在预设范围内的时间戳对应的帧,并将其确定为第二摄像设备的起始帧;
[0163] 其中,预设范围为[‑Fp/2,Fp/2],Fp为单帧时间间隔。
[0164] 在一种可能的实现方式中,第一摄像设备为基准摄像设备,第二摄像设备为从节点管理的摄像设备中的主摄像设备;
[0165] 收发模块701用于获取第一摄像设备的连续N帧中每帧的时间戳时,具体用于通过内存共享,从从节点获取第一摄像设备的连续N帧中每帧的时间戳。
[0166] 在一种可能的实现方式中,第一摄像设备为基准摄像设备,第二摄像设备为主节点管理的摄像设备中的从摄像设备;
[0167] 收发模块701获取第一摄像设备的连续N帧中每帧的时间戳时,具体用于通过内存共享,从第一摄像设备获取第一摄像设备的连续N帧中每帧的时间戳。
[0168] 在一种可能的实现方式中,第一摄像设备为从节点管理的摄像设备的主摄像设备,第二摄像设备为从节点管理的摄像设备中的从摄像设备;
[0169] 收发模块701用于获取第一摄像设备的连续N帧中每帧的时间戳时,具体用于通过内存共享,从第一摄像设备获取第一摄像设备的连续N帧中每帧的时间戳。
[0170] 对于该帧同步装置70为第一摄像设备的情况:
[0171] 处理模块702,用于截取第一摄像设备的连续N帧,并收集第一摄像设备的连续N帧中每帧的时间戳,N为大于1的正整数;
[0172] 收发模块701,用于将第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备。
[0173] 在一种可能的实现方式中,第一摄像设备为基准摄像设备,基准摄像设备为主节点管理的摄像设备中的主摄像设备,第二摄像设备为主节点管理的摄像设备中的从摄像设
备;
[0174] 收发模块701用于将第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备时,具体用于通过内存共享,将第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像
设备。
[0175] 在一种可能的实现方式中,第一摄像设备为基准摄像设备,基准摄像设备为主节点管理的摄像设备中的主摄像设备,第二摄像设备为从节点管理的摄像设备中的主摄像设
备;
[0176] 收发模块701用于将第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备时,具体用于通过内存共享,将第一摄像设备的连续N帧中每帧的时间戳同步至主节点,
以使主节点将第一摄像设备的连续N帧中每帧的时间戳同步至从节点,以使从节点通过内
存共享,将第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备。
[0177] 在一种可能的实现方式中,在第二摄像设备与第一摄像设备帧同步之后,处理模块702还用于确定第一摄像设备的起始帧以及起始帧的时间戳,并将起始帧的时间戳作为
参考时间戳;
[0178] 收发模块701还用于将参考时间戳同步至第二摄像设备,参考时间戳用于第二摄像设备确定第二摄像设备的起始帧。
[0179] 在一种可能的实现方式中,第一摄像设备为从节点管理的摄像设备的主摄像设备,第二摄像设备为从节点管理的摄像设备中的从摄像设备;
[0180] 收发模块701用于将第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像设备时,具体用于通过内存共享,将第一摄像设备的连续N帧中每帧的时间戳同步至第二摄像
设备。
[0181] 在一种可能的实现方式中,收发模块701,还用于获取参考时间戳,参考时间戳为基准摄像设备选择的起始帧的时间戳,基准摄像设备为主节点管理的摄像设备中的主摄像
设备;
[0182] 处理模块702,还用于根据参考时间戳确定第一摄像设备的起始帧。
[0183] 对于该帧同步装置70是第二摄像设备的情况,收发模块701用于执行图6所示实施例中的步骤S602,处理模块702用于执行图6所示实施例中的步骤S603‑步骤S605。对于该帧
同步装置70是第一摄像设备的情况,收发模块701用于执行图6所示实施例中的步骤S602,
处理模块702用于执行图6所示实施例中的步骤S601。
[0184] 请参见图8,是本申请实施例提供的帧同步装置的实体结构简化示意图,该帧同步装置可以是第一摄像设备,也可以是第二摄像设备。该帧同步装置80包括收发器801、处理
器802和存储器803。收发器801、处理器802和存储器803可以通过总线804相互连接,也可以
通过其它方式相连接。图7所示的处理模块702所实现的相关功能可以通过一个或多个处理
器802来实现。图7所示的收发模块701所实现的相关功能可以通过收发器801来实现。
[0185] 存储器803包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read‑only memory,ROM)、可擦除可编程只读存储器(erasable programmable 
read only memory,EPROM)、或便携式只读存储器(compact disc read‑only memory,CD‑
ROM),该存储器803用于相关指令及数据。
[0186] 收发器801用于发送数据和/或信令,以及接收数据和/或信令。
[0187] 应用在本申请实施例中,对于帧同步装置80为第一摄像设备的情况,收发器801用于与第二摄像设备进行通信,例如执行图6所示实施例中的步骤S602。
[0188] 应用在本申请实施例中,对于帧同步装置80为第二摄像设备的情况,收发器801用于与第一摄像设备进行通信,例如执行图6所示实施例中的步骤S602。
[0189] 处理器802可以包括是一个或多个处理器,例如包括一个或多个中央处理器(central processing unit,CPU),在处理器802是一个CPU的情况下,该CPU可以是单核
CPU,也可以是多核CPU。
[0190] 应用在本申请实施例中,对于帧同步装置80为第一摄像设备的情况,处理器802用于执行图6所示实施例中的步骤S601。
[0191] 应用在本申请实施例中,对于帧同步装置80为第二摄像设备的情况,处理器802用于执行图6所示实施例中的步骤S603‑步骤S606。
[0192] 存储器803用于存储帧同步装置80的程序代码和数据。
[0193] 关于处理器802和收发器801所执行的步骤,具体可参见图6所示实施例的描述,在此不再赘述。
[0194] 可以理解的是,图8仅仅示出了帧同步装置的简化设计。在实际应用中,帧同步装置还可以分别包含必要的其他元件,包含但不限于任意数量的收发器、处理器、控制器、存
储器、通信单元等,而所有可以实现本申请的设备都在本申请的保护范围之内。
[0195] 本申请实施例还提供了一种帧同步系统,包括第一摄像设备和第二摄像设备,还包括主节点和从节点。
[0196] 在一种可能的实现方式中,第一摄像设备为基准摄像设备,基准摄像设备为主节点管理的摄像设备中的主摄像设备,第二摄像设备为主节点管理的摄像设备中的从摄像设
备。
[0197] 在一种可能的实现方式中,第一摄像设备为基准摄像设备,基准摄像设备为主节点管理的摄像设备中的主摄像设备,第二摄像设备为从节点管理的摄像设备中的主摄像设
备。
[0198] 在一种可能的实现方式中,第一摄像设备为从节点管理的摄像设备的主摄像设备,第二摄像设备为从节点管理的摄像设备中的从摄像设备,基准摄像设备依然为主节点
管理的摄像设备中的主摄像设备。
[0199] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该
程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存
储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。因此,本申请又一实施例提供
了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运
行时,使得计算机执行上述各方面所述的方法。
[0200] 本申请又一实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
[0201] 本领域普通技术人员可以意识到,结合本申请中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究
竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人
员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超
出本申请的范围。
[0202] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0203] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的
划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件
可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或
讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦
合或通信连接,可以是电性,机械或其它的形式。
[0204] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0205] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0206] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序
产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或
部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计
算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质
中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计
算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber 
line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数
据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是
包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是
磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘
(solid state disk,SSD))等。