视频流同步的制作方法

文档序号:11532920阅读:304来源:国知局
视频流同步的制造方法与工艺

本实施例大体上涉及视频流同步,具体地,涉及源自记录场景的多个用户设备的视频流的同步。



背景技术:

高速移动互联网的进步以及诸如手机、智能手机和平板电脑等用户设备的能力导致了消费移动直播视频流式传输服务的新途径。用户也很需要拍摄社交事件,例如足球比赛或音乐节,以呈现用户自己的故事版本。新兴的应用允许用户以类似于制作专业的直播tv的方式协同使用多个移动相机制作视频。如图1所示,场景包括三个用户角色,即,制作人、导演和消费者。制作人是具有用户设备1、2、3的用户,其将例如在体育场中的视频馈送协作记录和流式传输到应用服务器或服务器系统10。视频馈送的混合查看使导演能够进行视频指导和丰富的内容主张。因此,消费者能够基于导演的选择而不仅仅是传统tv广播提供的少数选项从不同角度观看事件的直播。

在社交多媒体环境中,导演希望监控来自制作人的同步视频流。仅将每个视频流同时发送到其物理输出硬件不一定能确保同步。在专业的直播视频制作中,多个相机馈送之间的同步通过专用硬件完成。然而,当通过无线连接流式传输来自用户设备1、2、3的视频时,这种方法是不实际的。因为延迟是无线网络的固有特征,并且当数据业务上升时,通常会发生网络拥塞。这意味着每个用户设备1、2、3都经历不同的网络延迟,对于给定的用户设备1、2、3,这可能进一步随时间而变化。因此,网络延迟的差异和变化导致每个视频流在服务器系统10处的到达时间不同。到达时间的差异对所感知的视频帧产生了很大的影响,从而导致向导演呈现的直播馈送的异步。这意味着导演将无法同步地对多个视频流进行编辑。如图2所示,图2示出了来自用户设备1、2、3的视频流21、22、23,加标记的视频帧31、32、33由用户设备1、2、3的相机同时拍摄。由于网络延迟,加标记的视频帧31、32、33到达服务器系统10的时间是不同的。因此,社交视频流式传输的最重要的要求之一是足够的同步,使得每个视频流彼此对准。多制作人视频拍摄出现异步的问题,这必须被解决。

在本领域中已经提出了用于实现视频流之间的同步的各种技术。

在解决方案中,使用时钟同步。使用由用户设备1、2、3上的相机的内部时钟生成的时间戳来计算同步偏移。该解决方案是最有效的处理方法之一。然而,一些用户设备1、2、3不具有内部高精度时钟。因此,时钟漂移和偏离可能导致用户设备1、2、3不同步。此外,该解决方案要求所有用户设备1、2、3都与集中式网络时间协议(ntp)服务器同步。每个用户设备1、2、3与服务器系统10之间的传输延迟也将彼此变化,特别是当无线网络高度拥塞时。

在另一个解决方案中,从音频流中提取音频指纹,并将音频指纹进行比较,以在多个相机正记录相同事件时找到所有音频流之间的匹配。通过比较类似的声音匹配的出现,可以计算同步偏移。然而,该解决方案要求所有用户设备1、2、3都足够接近事件,这是因为声音的速度比光速慢得多。当观看大型体育场中的体育比赛时,与另一个用户设备1、2、3记录的声音相比,更靠近声音源的用户设备1、2、3记录的声音可能会提前高达一秒。此外,人群产生的噪音也将降低找到合适的音频指纹的准确性。这意味着音频指纹通常将不太可靠地实现涉及多个用户设备1、2、3的视频流同步。

在进一步的解决方案中,假设外部硬件同步相机或所谓的相机间同步。这样的解决方案需要将用户设备1、2、3的相机物理地连接到外部同步硬件。它经常用于专业的直播视频制作。然而,在社交视频流式传输场景中,在社交事件中同步所有用户的用户设备1、2、3是不实际的,并且几乎是不可能的。

在另一个解决方案中,通过在移动通信网络中的基站中实现新特征,将时间戳添加到视频流。然而,问题在于并不是所有用户设备1、2、3都通过相同的网络提供商连接到因特网,并且其中一些可以通过事件组织者提供的无线局域网(wlan)来连接。为了克服这个问题,该解决方案必须访问每个基站和wlan接入提供商,这在异构网络中引入了复杂的管理问题并增加了相应的成本。

另一个解决方案涉及分析输入的视频流,以及监视视频帧的序列,以发现针对多种不同类型的视觉事件中的至少一种的发生。应当在所有视频流中检测所选的视觉事件的发生,并将其作为标记来同步所有视频流。然而,该解决方案要求所有用户设备1、2、3都记录至少一个公共视觉事件,以在来自每个用户设备1、2、3的所有视频流中找到该标记。如果用户设备1、2、3主要关注事件的不同部分,则该解决方案无法识别该标记。

us2011/0043691公开了一种用于对源自具有公共视场的至少两个相机的至少两个视频流进行同步的方法。该解决方案需要研究场景对象的轨迹。它不适用于多个用户在同一时间但在事件的不同部分拍摄的情况。

因此,需要一种有效的解决方案来实现源自不同用户设备1、2、3的视频流的同步。



技术实现要素:

总体目标是实现源自不同用户设备的视频流之间的视频同步。

该目标和其它目标由本文公开的实施例来满足。

实施例的一个方面涉及一种视频同步方法,包括针对多个用户设备中的每个用户设备,通过无线短距离通信信道向用户设备发送系统时钟参考。系统时钟参考指示根据系统时钟的当前时间。该方法还包括:无线地接收时钟偏移和与用户设备或用户设备的用户相关联的标识符。所述时钟偏移表示时钟参考与根据用户设备的内部时钟的相应当前时间之差。该方法还包括:将时钟偏移和标识符存储在存储器中,并通过无线媒体信道从用户设备接收视频帧的视频流和标识符。该方法还包括:使用与视频帧一起接收的标识符从存储器获取时钟偏移,并且基于针对视频流中的视频帧标记的相应时间戳和所获取的时钟偏移,计算针对所述视频帧的根据系统时钟的相应捕获时间。该方法还包括:基于所计算的相应捕获时间来对来自多个用户设备的视频流进行时间对准。

实施例的另一方面涉及一种实现视频同步的方法。该方法包括:用户设备通过无线短距离通信信道接收系统时钟参考。所述系统时钟参考指示根据在视频同步服务器系统处可用的系统时钟的当前时间。该方法还包括:用户设备计算系统时钟参考与根据用户设备的内部时钟的相应当前时间之间的时钟偏移。该方法还包括:向视频同步服务器系统无线地发送时钟偏移和与用户设备或用户设备的用户相关联的标识符。该方法还包括:用户设备使用相应的时间戳来标记视频帧,其中相应的时间戳表示根据内部时钟的用户设备的相机或可连接到用户设备的相机对视频帧的相应捕获时间。该方法还包括:用户设备通过无线媒体信道向视频同步服务器系统发送视频帧的视频流和标识符。

实施例的另一方面涉及一种实现视频同步的方法,包括:用户设备通过无线短距离通信信道接收系统时钟参考。系统时钟参考指示根据可用于视频同步服务器系统的系统时钟的当前时间。该方法还包括:用户设备计算系统时钟参考与根据用户设备的内部时钟的相应当前时间之间的时钟偏移。该方法还包括:用户设备使用相应的时间戳来标记视频帧,其中相应的时间戳表示通过所述时钟偏移修改的、用户设备的相机或可连接到用户设备的相机对视频帧的根据所述内部时钟的相应捕获时间。该方法还包括:用户设备通过无线媒体信道向视频同步服务器系统发送视频帧的视频流。

实施例的另一方面涉及一种视频同步服务器系统。视频同步服务器系统被配置为针对多个用户设备中的每个用户设备,通过无线短距离通信信道向用户设备发送系统时钟参考。系统时钟参考指示根据视频同步服务器系统的系统时钟的当前时间。视频同步服务器系统还被配置为针对多个用户设备中的每个用户设备,无线地接收时钟偏移和与用户设备或用户设备的用户相关联的标识符。时钟偏移表示系统时钟参考与根据用户设备的内部时钟的相应当前时间之差。视频同步服务器系统还被配置为针对多个用户设备中的每个用户设备,将时钟偏移和标识符相关地存储在存储器中。视频同步服务器系统被配置为针对多个用户设备中的每个用户设备,通过无线媒体信道从用户设备接收视频帧的视频流和标识符。视频同步服务器系统还被配置为针对多个用户设备中的每个用户设备,使用与视频帧一起接收的标识符从存储器中获取时钟偏移。视频同步服务器系统还被配置为针对多个用户设备中的每个用户设备,基于针对视频流中的视频帧进行标记的相应时间戳和所获取的时钟偏移,计算针对所述视频帧的根据所述系统时钟的相应捕获时间。视频同步服务器系统另外被配置为基于所计算的相应捕获时间,对来自多个用户设备的视频流进行时间对准。

实施例的相关方面定义了视频同步服务器系统,包括:时钟管理器,用于针对多个用户设备中的每个用户设备,提供系统时钟参考以通过无线短距离通信信道发送到用户设备。系统时钟参考指示根据视频同步服务器系统的系统时钟的当前时间。视频同步服务器系统还包括存储器管理器,用于针对多个用户设备中的每个用户设备,将从用户设备接收的时钟偏移和与用户设备或用户设备的用户相关联的标识符相关联地存储在存储器中。时钟偏移表示系统时钟参考与根据用户设备的内部时钟的相应当前时间之差。存储器管理器还用于针对多个用户设备中的每个用户设备,基于通过无线媒体信道与视频帧的视频流一起从用户设备接收的标识符,从存储器中获取时钟偏移。视频同步服务器系统还包括计算器,用于针对多个用户设备中的每个用户设备,基于针对视频流中的视频帧进行标记的相应时间戳和所获取的时钟偏移,计算针对视频帧的根据系统时钟的相应捕获时间。视频同步服务器系统还包括:时间对准器,用于基于所计算的相应捕获时间来对来自多个用户设备的视频流进行时间对准。

实施例的另一方面涉及一种用户设备,被配置为通过无线短距离通信信道接收系统时钟参考。系统时钟参考指示根据可用于视频同步服务器系统的系统时钟的当前时间。用户设备还被配置为计算系统时钟参考与根据用户设备的内部时钟的相应当前时间之间的时钟偏移。用户设备还被配置为向视频同步服务器系统无线地发送时钟偏移和与用户设备或用户设备的用户相关联的标识符。用户设备还被配置为使用相应的时间戳来标记视频帧,其中相应的时间戳表示用户设备的相机或可连接到用户设备的相机对视频帧的根据内部时钟的相应捕获时间。用户设备还被配置为通过无线媒体信道向视频同步服务器系统发送视频帧的视频流和标识符。

实施例的相关方面定义了一种用户设备,包括计算器,用于计算通过无线短距离通信信道接收的系统时钟参考与根据用户设备的内部时钟的相应当前时间之间的时钟偏移。系统时钟参考指示根据可用于视频同步服务器系统的系统时钟的当前时间。用户设备还包括输出单元,用于输出时钟偏移和与用户设备或用户设备的用户相关联的标识符以向视频同步服务器系统无线发送。用户设备还包括标记单元,用于使用相应的时间戳来标记视频帧,其中相应的时间戳表示用户设备的相机或可连接到用户设备的相机对视频帧的根据内部时钟的相应捕获时间。输出单元还用于输出视频帧的视频流和标识符以通过无线媒体信道向视频同步服务器系统发送。

实施例的另一方面定义了一种用户设备,被配置为通过无线短距离通信信道接收系统时钟参考。系统时钟参考指示根据可用于视频同步服务器系统的系统时钟的当前时间。用户设备还被配置为计算系统时钟参考与根据用户设备的内部时钟的相应当前时间之间的时钟偏移。用户设备还被配置为使用相应的时间戳来标记视频帧,其中相应的时间戳表示通过时钟偏移修改的、用户设备的相机或可连接到用户设备的相机对视频帧的根据内部时钟的相应捕获时间。用户设备还被配置为通过无线媒体信道向视频同步服务器系统发送视频帧的视频流。

实施例的相关方面定义了一种用户设备,包括计算器,用于计算通过无线短距离通信信道接收的系统时钟参考与根据用户设备的内部时钟的相应当前时间之间的时钟偏移。系统时钟参考指示根据可用于视频同步服务器系统的系统时钟的当前时间。用户设备还包括标记单元,用于使用相应的时间戳来标记视频帧,其中相应的时间戳表示通过所述时钟偏移修改的、用户设备的相机或可连接到用户设备的相机对视频帧的根据所述内部时钟的相应捕获时间。用户设备还包括输出单元,用于输出视频的视频流以通过无线媒体信道向视频同步服务器系统发送。

实施例的一个方面涉及一种计算机程序,包括指令,该指令当由处理器执行时,使该处理器执行以下操作:针对多个用户设备中的每个用户设备,通过无线短距离通信信道向用户设备发送系统时钟参考。系统时钟参考指示根据系统时钟的当前时间。还使处理器执行以下操作:针对多个用户设备中的每个用户设备,无线地接收时钟偏移和与用户设备或用户设备的用户相关联的标识符。时钟偏移表示系统时钟参考与根据用户设备的内部时钟的相应当前时间之差。还使处理器执行以下操作:针对多个用户设备中的每个用户设备,将时钟偏移和标识符相关联地存储在存储器中。还使处理器执行以下操作:针对多个用户设备中的每个用户设备,通过无线媒体信道从用户设备接收视频帧的视频流和标识符。还使处理器执行以下操作:针对多个用户设备中的每个用户设备,使用与视频帧一起接收的标识符从存储器中获取时钟偏移。还使处理器执行以下操作:针对多个用户设备中的每个用户设备,基于针对视频流中的视频帧标记的相应时间戳和所获取的时钟偏移,计算针对所述视频帧的根据系统时钟的相应捕获时间。还使处理器执行以下操作:基于所计算的相应捕获时间对来自多个用户没备的视频流进行时间对准。

实施例的另一方面涉及一种计算机程序,包括指令,该指令当由处理器执行时,使处理器执行以下操作:通过无线短距离通信信道接收系统时钟参考。系统时钟参考指示根据可用于视频同步服务器系统的系统时钟的当前时间。还使处理器执行以下操作:计算系统时钟参考与根据内部时钟的相应当前时间之间的时钟偏移。还使处理器执行以下操作:向视频同步服务器系统无线地发送时钟偏移和与用户设备或用户设备的用户相关联的标识符。还使处理器执行以下操作:使用相应的时间戳来标记视频帧,其中相应的时间戳表示用户设备的相机或可连接到用户设备的相机对视频帧的根据内部时钟的相应捕获时间。还使处理器执行以下操作:通过无线媒体信道向视频同步服务器系统发送视频帧的视频流和标识符。

实施例的另一方面涉及一种计算机程序,包括指令,该指令当由处理器执行时,使处理器执行以下操作:通过无线短距离通信信道接收系统时钟参考。系统时钟参考指示根据可用于视频同步服务器系统的系统时钟的当前时间。还使处理器执行以下操作:计算系统时钟参考与根据内部时钟的相应当前时间之间的时钟偏移。还使处理器执行以下操作:使用相应的时间戳来标记视频帧,其中相应的时间戳表示通过时钟偏移修改的、用户设备的相机或可连接到用户设备的相机对视频帧的根据内部时钟的相应捕获时间。还使处理器执行以下操作:通过无线媒体信道向视频同步服务器系统发送视频帧的视频流。

实施例的相关方面定义了一种载体,包括如上所定义的计算机程序。载体是以下之一:电子信号、光信号、电磁信号、磁信号、电信号、无线电信号、微波信号或计算机可读存储介质。

本实施例解决了例如在社交媒体环境中源自记录场景的不同用户设备的视频帧不同步的问题。这些实施例实现了可靠且实现友好(即低复杂度)的同步来自多个用户设备的视频流的解决方案。

附图说明

通过参考以下结合附图的描述,可以最好地理解实施例及其进一步的目的和优点,在附图中:

图1示出了体育赛事的社交视频流式传输;

图2示意性地示出了从多个用户设备发送的视频流的同步缺失;

图3是示出了根据实施例的视频同步方法的流程图;

图4是示出了图3中的接收时钟偏移和标识符的实施例的流程图;

图5是示出了图3所示方法的附加的可选步骤的流程图;

图6是示出了根据实施例的用于实现视频同步的方法的流程图;

图7是示出了根据另一实施例的用于实现视频同步的方法的流程图;

图8示意性地示出了根据实施例的包括用户设备和视频同步服务器系统的系统以及用于实现视频流的同步的操作流程;

图9示意性地示出了根据实施例的视频同步服务器系统的框图;

图10示意性地示出了根据另一实施例的视频同步服务器系统的框图;

图11示意性地示出了根据另一实施例的视频同步服务器系统的框图;

图12示意性地示出了根据实施例的用户设备的框图;

图13示意性地示出了根据另一实施例的用户设备的框图;

图14示意性地示出了根据另一实施例的用户设备的框图;

图15示意性地示出了根据另一实施例的用户设备的框图;

图16示意性地示出了根据另一实施例的用户设备的框图;以及

图17示意性地示出了根据实施例的计算机程序实现。

具体实施方式

在整个附图中,相同的附图标记用于相似或相应的元件。

本实施例大体上涉及视频流同步,具体地,涉及源自记录场景的多个用户设备的视频流的同步。

由此,这些实施例例如结合诸如游戏或音乐会的社交事件实现了用于多个用户设备的视频流式传输的视频帧同步。作为视频流同步的结果,可以通过从与用户相对于记录的场景的位置相对应的不同角度提供事件的视频来进行视频指导和丰富的内容断言。

在下文中,视频帧用于表示视频流的画面或图像。因此,视频帧可以备选地在本领域中被表示为(视频)画面或(视频)图像。如视频编码领域中已知的,根据视频编码标准对视频帧进行编码以获得经编码的视频帧,例如帧内编码帧、或i帧或画面、或者帧间编码帧、或p或b帧或画面。

图3是示出了根据实施例的视频同步方法的流程图。针对多个用户设备中的每个用户设备,执行如图所示的步骤s1至s6,其由阴影线示意性地指示。该方法从步骤s1开始,步骤s1包括通过无线短距离通信信道向用户设备发送系统时钟参考。系统时钟参考指示根据系统时钟的当前时间。随后的步骤s2包括无线地接收时钟偏移和与用户设备或用户设备的用户相关联的标识符。时钟偏移表示时钟参考与根据用户设备的内部时钟的相应当前时间之差。该方法还包括在步骤s3中将时钟偏移和标识符存储在存储器中。步骤s4包括通过无线媒体信道从用户设备接收视频帧的视频流和标识符。在步骤s5中使用与视频帧一起接收的标识符从存储器中获取时钟偏移。随后的步骤s6包括基于针对视频流中的视频帧标记的相应时间戳和在步骤s5中获取的时钟偏移,计算针对所述视频帧的根据系统时钟的相应捕获时间。该方法还包括在步骤s7中,基于在步骤s6中计算的相应捕获时间,对来自多个用户设备的视频流进行时间对准。

由此,视频同步方法涉及通过无线短距离通信信道向每个用户设备无线地传送相应的系统时钟参考。用户设备返回相应的时钟偏移和标识符。然后,可以使用时钟偏移来补偿由系统时钟定义的时间与由用户设备的相应内部时钟定义的时间之间的任何偏移和差异。因此,一旦视频流的视频帧从用户设备接收到并且使用根据用户设备的内部时钟生成的时间戳进行了标记,就可以从存储器中获取时钟偏移,并使用该时钟偏移来计算根据系统时钟的相应捕获时间。因此,可以由此向来自不同用户设备的每个视频流指派根据系统时钟的捕获时间,即在系统时间参考中定义的捕获时间。所指派的捕获时间用于对来自多个用户设备的视频流和视频帧进行时间对准。

用于向用户设备发送系统时钟参考的无线短距离通信信道应该是具有低传输延迟或基本上没有传输延迟的通信信道。这可以通过使用无线短距离通信信道来实现,即,不需要接入网将系统时钟参考发送到用户设备。在步骤s1中使用的当前优选的技术是视觉光通信(vlc)。在这种情况下,图3的步骤s1包括发送作为用户设备的相机或可连接到用户设备的相机可检测到的vlc信号的系统时钟参考。

vlc是使用400与800thz之间的可见光的数据通信介质。vlc可以实现高达几百mbit/s的高比特率。通常,可以使用荧光灯或优选发光二极管(led)发送vlc信号。优选地,来自led或灯的vlc信号然后可以由用户设备的相机或可连接到用户设备的相机来检测。因此,通过这种通信技术,vlc信号发射机可以是led或灯的形式,并且vlc信号接收机是相机。在ieee无线个人区域网络工作组802.15内对vlc通信进行标准化。

虽然vlc是用于传输系统时钟参考的优选通信技术,但是可以备选地使用具有低延迟的其他无线短距离通信技术。这种其他通信技术的非限制性示例包括近场通信(nfc)——短距离无线通信的形式,其中所使用的天线比载波信号、感应通信等的波长小得多。

可以结合用户注册或访问社交事件执行步骤s1中的优选地以vlc信号的形式发送系统时钟参考。例如,用户设备可以访问可以在其屏幕上显示的事件标签(eventticket)。在这种情况下,用户在进入社交事件时针对读取器或扫描仪展示屏幕,以读取所显示的事件标签。在这种情况下,可以从读取器或扫描仪或者结合读取器或扫描仪布置的vlc发射机(灯或led)发送vlc信号,以由用户设备的相机或可连接到用户设备的相机捕获。

因此,在一个实施例中,步骤s1包括结合读取在用户设备的屏幕上显示的事件标签来发送作为vlc信号的系统时钟参考。

这意味着可以使用单个过程来验证用户对诸如游戏或音乐会之类的社交事件的访问,并向用户设备发送系统时钟参考。因此,当用户设备的屏幕向读取器或扫描仪呈现事件标签时,用户设备的相机或可连接到用户设备的相机检测携带或定义系统时钟参考的vlc信号。

步骤s2中的对时钟偏移和标识符的无线接收也可以基于作为步骤s1的实施例的vlc通信。在这种情况下,步骤s2包括接收作为vlc信号的时钟偏移和标识符。

图4是示出了使用vlc通信无线地接收时钟偏移的步骤s2的实施例的流程图。该方法从图3中的步骤s1继续。下一步骤s10包括在用户设备的屏幕上读取定义标识符的事件标签。步骤s11包括检测表示时钟偏移并由用户设备的屏幕生成的vlc信号。

因此,用户设备的屏幕显示定义用户设备或其用户的标识符的事件标签。读取事件标签,从而访问该标识符。此外,用户设备的屏幕被激活以发送vlc信号,该vlc信号由读取器或扫描仪检测,并且该vlc信号定义时钟偏移。

在备选方法中,激活用户设备的诸如闪光灯的灯以发送定义时钟偏移的vlc信号。

因此,在特定实施例中,用户向读取器或扫描器显示他/她的用户设备的屏幕上的事件标签。同时,灯或led发送定义系统时钟参考的vlc信号。用户设备的相机或可连接到用户设备的相机检测该vlc信号。用户设备计算系统时钟参考与由其内部时钟定义的当前时间之差以获得时钟偏移。该时钟偏移以vlc信号的形式返回给读取器或扫描仪,例如通过使用用户设备的屏幕、或更准确地屏幕的闪光(lightning)、或用户设备的灯或闪光灯作为vlc发射机。由此,读取器或扫描仪可以访问时钟偏移和标识符。

然后,在图3的后续步骤s3中,将接收到的时钟偏移和标识符相关联地存储在存储器中。步骤s3中的相关地存储时钟偏移和标识符包括:将时钟偏移与标识符一起存储在存储器中,以使得能够使用标识符从存储器中获取时钟偏移。

例如,从用户设备接收的时钟偏移和标识符可以存储在查找表中,该查找表针对每个标识符列出了从用户设备接收的与该标识符相关联的时钟偏移。在这种情况下,可以使用标识符作为表输入,从查找表中获取时钟偏移。

通常,在步骤s3中,可以以使得能够使用标识符获取时钟偏移的任何合适的方式相关联地存储时钟偏移和标识符。

然后,用户开始使用用户设备的相机或可连接到用户设备的相机拍摄社交事件,从而产生(经编码的)视频帧的相应视频流。在步骤s4中,通过无线媒体信道从用户设备发送视频流的视频帧,然后与该标识符一起接收视频流的视频帧。例如,经编码的视频帧可以作为携带经编码的视频数据的数据分组流发送。在这种情况下,可以使用用户设备或用户的标识符来对数据分组加标记。在备选方法中,结合建立无线媒体信道和流式传输会话,提供标识符。那么,通常不需要将标识符与每个数据分组一起发送。

在任一情况下,在步骤s5中使用步骤s4中的与视频流一起接收的标识符来从存储器访问先前(在步骤s3中)存储的时钟偏移。视频流的每个视频帧或视频帧的至少一部分优选地具有时间戳,该时间戳表示由用户设备的相机或可连接到用户设备的相机对特定视频帧、画面或图像的捕获时间。该捕获时间根据用户设备的内部时钟来定义。由此,在步骤s5中获取的时钟偏移可以用于计算根据系统时钟(即,根据系统时间参考)的相应捕获时间,而不是根据用户设备的内部时钟(即根据用户设备的时间参考)的相应捕获时间。因此,使用获取的时钟偏移,将根据内部时钟的时间戳映射到根据系统时钟定义的相应捕获时间。

在特定实施例中,在步骤s6中执行的计算可以是ts=ti+δtc的形式,其中ti是视频帧的根据用户设备的内部时钟的捕获时间,即对应于视频帧的时间戳,δtc表示时钟偏移,并且ts表示视频帧的计算得到的根据系统时钟的捕获时间。

可以针对视频流的每个视频帧进行在步骤s6中执行的计算。在这种情况下,每个接收到的视频帧将具有根据系统时钟的相应捕获时间。然而,为了对来自多个用户设备的视频流进行时间对准的目的,并不是绝对需要针对视频流的每个视频帧执行步骤s6中的捕获时间的计算。通常,如果视频流的帧速率是已知的,则向针对每个视频流的至少一个视频帧指派根据系统时钟的捕获时间是足够的。在这种情况下,可以使用来自步骤s6的至少一个计算的捕获时间和帧速率来计算针对视频流的其他视频帧的相应捕获时间。

在一个实施例中,图3的步骤s7包括基于所计算的相应捕获时间对来自多个用户设备的视频流进行时间对准,使得视频流中具有相同捕获时间的视频帧被时间对准。

因此,实施例以用户设备的形式使用vlc在导演的网络和制片人之间同步时钟参考,并且使用标识符映射用户设备的时钟偏移。标识符可以例如是事件的标签或任何备选的用户标识(例如,社交网络帐户)。该标识符可以同时用于将用户注册到协作网络中。vlc源由社交事件组织者提供,并且系统时钟参考可以嵌入到vlc信号中。当用户进入扫描了标签的门时,用户设备的相机可以捕获vlc信号。通过使用自己的内部时钟,用户设备可以计算系统时钟与内部时钟之间的时钟偏移或差值。优选地,可以通过不受用户产生的其他繁重业务影响的本地专用有线网络将由vlc源提供的系统时钟参考与集中式系统时钟同步。与用户设备的vlc通信优选地独立于在站点处使用的任何其他无线网络以及公共接入网条件。该通信被本地化在vlc点处,并且数据交换是短距离的,所以可以以最小的延迟交换共享系统时钟参考。

提供时钟参考使得能够使用最有效的流同步解决方案(即“时钟同步”)(参见kaheel等的mobicast:asystemforcollaborativeeventcastingusingmobilephones,2009,inproceedingmum′09proceedingsofthe8thinternationalconferenceonmobileandubiquitousmultimedia,articleno.7)使用由用户设备的内部时钟生成的时间戳与结合读取事件的标签注册的时钟偏移的组合对从用户设备发送的视频流进行同步。

因此,如图8的左侧所示,图8示出了包括用户设备1和视频同步服务器系统10的系统,视频流同步从用户设备注册开始。当读取(例如,扫描)用户的标签时,用户设备1也暴露于嵌入系统时钟参考并通过无线短距离的基于光的通信信道40经由vlc信号交换系统时钟参考的vlc源。定义系统时钟参考的vlc信号由用户设备1的相机5捕获,并用于时钟偏移的计算。可以通过不受用户产生的其他繁重业务影响的本地专用有线网络将由vlc源发送的系统时钟参考与视频同步服务器系统10的系统时钟同步。所计算的时钟偏移可以使用用户设备1的屏幕7和vlc读取器交换回视频同步服务器系统10,然后与用于注册的用户标识符一起存储。在该阶段,用户准备提供使用用户设备1的相机5捕获的事件的视频流。

在下一阶段,如图8的中间部分所示,用户设备1产生视频帧的视频流,该视频帧的视频流通过无线媒体信道45向包括标识符的接收视频同步服务器系统10发送。

视频同步服务器系统10接收视频流并对视频流进行解码,如图8的右侧所示。视频同步服务器系统10现在可以容易地使用最有效的流同步解决方案“时钟同步”,并且使用由用户设备1的内部时钟产生的时间戳与在初始步骤中注册的时钟偏移的组合。一旦来自多个用户设备1的视频流与对准的视频帧同步,视频同步服务器系统10就可以生成定向的视频流并向消费者提供定向的视频流。

本实施例解决了在社交媒体环境中用户设备的内部时钟不同步的问题。这种同步的缺乏使得在后端侧难以对来自不同用户设备的视频流进行同步。

与现有解决方案相比,使用vlc以使得能够从在事件注册阶段已经存在的用户设备获取时钟偏移简化了视频流同步。更好的是,现在可以使用依赖于时间戳交换和时钟偏移的最有效的同步解决方案“时钟同步”,而不需要额外的昂贵的视频分析。所提出的同步是可靠且低成本的解决方案,其可以为视频同步服务器系统提供足够的同步,以通过不同的传输技术来查看来自多个源的完全同步的视频流。在一个实施例中,该解决方案使用能够容易地与用户针对事件的注册组合的具有vlc功能的源led灯和接收机。这样的实施例可以使用用户设备的现有相机和屏幕来实现vlc信号的接收和发送。

事件标签上提供的标识符(例如标签号)的使用不仅简化了视频同步过程,因为不需要传送专用标识符。标识符也可以用作元数据,例如在事件期间以用户设备的位置信息的形式,如用户设备相对于游戏场或舞台的位置。

例如,标签号不仅用作用户或其用户设备的标识符,而且还提供用户将在该事件期间坐下或所在的位置的信息。因此,标签号也可以用作视频制作设备(即用户设备)的源相对于记录的场景(例如,游戏场或舞台)的位置信息。然后,当选择要混合在一起以形成可以提供给消费者的协作视频流的视频流时,可以使用这样的位置信息。

图5是示出了当使用位置信息时图3中的方法的附加步骤的流程图。该方法从图3中的步骤s7继续。下一步骤s20包括基于由事件标签定义的标识符来提供多个用户设备的相应位置信息。下一步骤s21包括基于位置信息对来自用户设备的时间对准的视频流进行混合。

因此,在这种情况下,诸如用户设备相对于记录的场景(游戏场或舞台)的相对位置的位置信息可以基于事件标签定义的特定标识符(例如标签号)获得。这使得能够根据从哪些位置记录场景来选择对哪些时间对准的视频流进行混合或组合。

例如,步骤s21中的混合可以包括选择在体育场中的定义部分或位置处记录(例如,来自相同的部分或来自不同的部分)的时间对准的视频流、混合所选择的时间对准的视频流。

在备选方法中,可以例如当使用除标签号之外的另一类型的标识符时提供专用位置信息。然后,位置信息可以是与视频流和标识符一起由用户设备提供的gps坐标或位置坐标。

图3的步骤s2和s4中提供并且在步骤s5中使用的标识符不一定必须是由事件标签定义的标识符。还可以备选地使用与用户设备或用户设备的用户相关联的其他类型的标识符,例如设备序号、社交媒体标识符或用户名等。

图6是示出了根据实施例的实现视频同步的方法的流程图。该方法从步骤s30开始,步骤s30包括用户设备通过无线短距离通信信道接收系统时钟参考。系统时钟参考指示根据在视频同步服务器系统处可用的系统时钟的当前时间。然后,在步骤s31中,用户设备计算系统时钟参考与根据用户设备的内部时钟的相应当前时间之间的时钟偏移。在步骤s32中,用户设备将时钟偏移与同用户设备或用户设备的用户相关联的标识符一起向视频同步服务器系统无线地发送。在下一步骤s33中,用户设备使用相应的时间戳标记视频帧,其中相应的时间戳表示用户设备的相机或可连接到用户设备的相机对视频帧的根据所述内部时钟的相应捕获时间。后续步骤s34包括用户设备通过无线媒体信道向视频同步服务器系统发送视频帧的视频流和标识符。

由此,如图6所示的方法对应于在用户设备中执行的操作,以在视频同步服务器系统处使得能够对由用户设备产生的视频流与记录类似场景(例如社交事件)的其他用户设备作为当前用户产生的相应视频流进行同步。

图6的步骤s30包括用户设备接收作为可由用户设备的相机或可连接到用户设备的相机检测的vlc信号的系统时钟参考。此外,结合在用户设备的屏幕上显示事件标签,用户设备接收作为vlc信号的系统时钟参考。

虽然vlc通信是无线短距离通信技术的优选实施例,但是不需要任何接入网的其他低延迟短距离通信技术可以备选地如先前在本文所公开的那样使用。

步骤s31中的计算时钟偏移包括计算由接收的系统时钟参考指示的时间与当在步骤s30中用户设备接收到系统时钟参考时用户设备的内部时钟的时间之差。因此,步骤s30中的接收到系统时钟参考触发用户设备读取其内部时钟以获得表示系统时钟参考的接收时间的当前时间。然后,基于根据系统时钟的时间与根据内部时钟的时间之差来确定时钟偏移,该时钟偏移优选地等于根据系统时钟的时间与根据内部时钟的时间之差。

通过无线短距离通信信道的系统时钟参考的发射机(例如,标签读取器或扫描仪)通过有线连接访问通常设置在视频同步服务器系统处的中央位置的系统时钟,其中该有线连接使得能够向标签读取器或扫描仪没有任何实质的延迟地发送系统时钟参考。因此,步骤s30中的用户设备接收到系统时钟参考的时间点实质上表示根据系统时钟的当前时间,这是因为在系统时钟与标签读取器或扫描仪之间的有线连接上以及在标签读取器或扫描仪与用户设备之间的无线短距离通信信道上的任何传输延迟非常小并且是可忽略的。

然后,用户设备向视频同步服务器系统发送时钟偏移和标识符。在特定实施例中,步骤s32包括用户设备无线地发送作为vlc信号的时钟偏移和标识符。例如,用户设备的屏幕可以显示定义标识符(例如以标签号的形式)的事件标签。此外,屏幕可以被点亮以发送表示在步骤s31中计算出的时钟偏移的vlc信号。

步骤s32中的发送时钟偏移和标识符不是延迟至关重要的。因此,用户设备可以使用除了无线短距离通信信道(例如vlc信道)以外的另一类型的通信信道来发送该数据。例如,步骤s32中的发送可以通过无线局域网(wlan)或者移动或蜂窝通信网络进行。

在步骤s33的实施例中,在从相机输出视频帧时或者优选地在从将来自相机的视频帧编码为经编码的视频帧的编码器输出视频帧时,用户设备对视频帧进行标记或加戳。因此,使用相应的时间戳标记视频帧,其中相应的时间戳指示当相机记录场景以产生视频帧时根据用户设备的内部时钟的捕获时间。

在一个实施例中,在步骤s33,使用相应的时间戳标记视频流的每个视频帧。在另一个实施例中,如果将帧速率的信息与视频流一起提供给视频同步服务器系统,则并不需要对视频流的所有视频帧进行标记。在这种情况下,视频同步服务器系统可以使用帧速率和标记的视频帧,以根据用户设备的内部时钟估计对视频流中的其他视频帧的捕获时间。

优选地,通过wlan或者移动或蜂窝通信网络进行步骤s34中的通过无线媒体信道发送视频流和标识符。标识符可以被包括在通过无线媒体信道发送并携带视频流的经编码的视频帧的每个数据分组中。备选地,例如结合建立到视频同步服务器系统的无线媒体信道,可以针对视频流发送标识符一次或多次。

在上述实施例中,用户设备计算时钟偏移,该时钟偏移被传送给视频同步服务器系统。然后,可以使用时钟偏移将根据用户设备的内部时钟的对用户设备发送的视频帧的捕获时间重新计算为根据视频同步服务器系统的系统时钟的捕获时间。在备选实施例中,用户设备使用时钟偏移来执行这样的重新计算。在图7中示出了这种实施例。

因此,图7是示出了根据另一实施例的实现视频同步的方法的流程图。该方法从步骤s40开始,步骤s40包括用户设备通过无线短距离通信信道接收系统时钟参考。系统时钟参考指示根据可用于视频同步服务器系统的系统时钟的当前时间。下一步骤s41包括用户设备计算系统时钟参考与根据用户设备的内部时钟的相应当前时间之间的时钟偏移。然后,在步骤s42中,用户设备使用相应的时间戳标记视频帧,其中相应的时间戳表示通过时钟偏移修改的、所述用户设备的相机或可连接到用户设备的相机对视频帧的根据所述内部时钟的相应捕获时间。在下面的步骤s43中,用户设备通过无线媒体信道向视频同步服务器系统发送视频帧的视频流。

图7的步骤s40和s41实质上对应于图6的步骤s30和s31。因此,在一个实施例中,结合在用户设备的屏幕上显示事件标签,接收作为可由用户设备的相机或可连接到用户设备的相机检测到的vlc信号的系统时钟参考。

然而,图7的步骤s42与在图6的步骤s33中执行的标记不同之处在于,使用相应的时间戳标记视频帧,其中相应的时间戳表示通过步骤s41中计算的时钟偏移修改的根据内部时钟的相应捕获时间。由此,由于使用时钟偏移进行修改,因此时间戳将表示根据系统时钟而不是内部时钟的相应捕获时间。

在特定实施例中,使用时钟偏移进行修改可以是将在步骤s41中计算的时钟偏移与根据内部时钟的捕获时间相加的形式,以获得根据系统时钟的相应捕获时间。因此,ts=ti+δtc,其中ti是视频帧的根据用户设备的内部时钟的捕获时间,δtc表示时钟偏移,并且ts表示视频帧的计算得到的根据系统时钟的捕获时间。

可以针对视频流的所有视频帧执行步骤s42中的视频帧的标记。备选地,仅针对视频帧的子集执行使用时间戳的标记。在后一种情况下,优选地,在步骤s43中,将帧速率的信息与视频帧一起发送,以在视频同步服务器系统处还针对未在步骤s42中使用时间戳标记的视频帧计算根据系统时钟的捕获时间。

在图7所示的实施例中,不需要传输时钟偏移或标识符来实现视频流的同步。相比之下,用户设备自身通过使用在步骤s40中接收到的系统时钟参考,产生具有根据系统时钟加时间戳的视频帧的视频流,以在步骤s41中计算时钟偏移并且在步骤s42中使用该时钟偏移将视频帧的捕获时间从内部时钟映射或转换为系统时钟。

实施例的另一方面涉及一种视频同步服务器系统。视频同步服务器系统被配置为针对多个用户设备中的每个用户设备,通过无线短距离通信信道向用户设备发送系统时钟参考。系统时钟参考指示根据视频同步服务器系统的系统时钟的当前时间。视频同步服务器系统还被配置为针对多个用户设备中的每个用户设备,无线地接收时钟偏移和与用户设备或用户设备的用户相关联的标识符。时钟偏移表示系统时钟参考与根据用户设备的内部时钟的相应当前时间之差。视频同步服务器系统还被配置为针对多个用户设备中的每个用户设备,将时钟偏移和标识符相关联地存储在存储器中。视频同步服务器系统被配置为针对多个用户设备中的每个用户设备,通过无线媒体信道从用户设备接收视频帧的视频流和标识符。视频同步服务器系统还被配置为针对多个用户设备中的每个用户设备,使用与视频帧一起接收的标识符从存储器中获取时钟偏移。视频同步服务器系统还被配置为针对多个用户设备中的每个用户设备,基于针对视频流中的视频帧标记的相应时间戳和所获取的时钟偏移,计算针对所述视频帧的根据系统时钟的相应捕获时间。视频同步服务器系统另外被配置为基于所计算的相应捕获时间对来自多个用户设备的视频流进行时间对准。

在一个实施例中,视频同步服务器系统被配置为针对多个用户设备中的每个用户设备,发送作为可由用户设备的相机或可连接到用户设备的相机检测的vlc信号的系统时钟参考。在特定实施例中,视频同步服务器系统被配置为针对多个用户设备中的每个用户设备,结合读取显示在用户设备的屏幕上的事件标签,发送作为vlc信号的系统时钟参考。

在一个实施例中,视频同步服务器系统被配置为针对多个用户设备中的每个用户设备,接收作为vlc信号的时钟偏移和标识符。

在一个实施例中,视频同步服务器系统被配置为针对多个用户设备中的每个用户设备,在用户设备的屏幕上读取定义标识符的事件标签。视频同步服务器系统还被配置为针对多个用户设备中的每个用户设备,检测表示时钟偏移并由用户设备的屏幕生成的vlc信号。

在一个实施例中,视频同步服务器系统被配置为针对多个用户设备中的每个用户设备,将时钟偏移与标识符一起存储在存储器中,以使得能够使用标识符从存储器获取时钟偏移。

在一个实施例中,视频同步服务器系统被配置为基于所计算的相应捕获时间来对来自多个用户设备的视频流进行时间对准,使得视频流中具有相同捕获时间的视频帧被时间对准。

在一个实施例中,视频同步服务器系统被配置为基于由事件标签定义的标识符来提供多个用户设备中的用户设备的相应位置信息。视频同步服务器系统还被配置为基于位置信息对来自用户设备的时间对准的视频流进行混合。

视频同步服务器系统可以是能够与用户设备通信的后端服务器。视频同步服务器系统可以备选地被实现为通过有线或无线连接互连的多个(即至少两个)后端服务器的组或群集。多个后端服务器可以在本地布置在视频同步服务提供商处或分布在多个位置之间。视频同步服务器系统的基于云的实现也是可能的并且在实施例的范围内。在一个实施例中,视频同步服务器系统优选地具有从其系统时钟到用于发送系统时钟参考的相应vlc源(用于无线短距离通信信道的发射机)的有线连接。

应当理解,本文描述的方法和设备可以以各种方式组合和重新布置。

例如,实施例可以以硬件或软件来实现,以由合适的处理电路或其组合执行。

本文描述的步骤、功能、程序、模块和/或块可以使用诸如分立电路或集成电路技术(包括通用电子电路和专用电路两者)的任何常规技术在硬件中实现。

特定示例包括一个或多个适当配置的数字信号处理器和其他已知的电子电路,例如,互连以执行专用功能的分立逻辑门、或专用集成电路(asic)。

图9示出了视频同步服务器系统100的特定硬件实现。在一个实施例中,视频同步服务器系统100包括发射机110和第一接收机120,发射机110被配置为发送系统时钟参考,并且第一接收机120被配置为无线地接收时钟偏移和标识符。视频同步服务器系统100还包括存储器管理器130,存储器管理器130被配置为将时钟偏移和标识符相关联地存储在存储器15中并且从存储器15中获取时钟偏移。视频同步服务器系统100的第二接收机140被配置为接收视频帧的视频流和标识符。视频同步服务器系统100还包括计算器150和时间对准器160,计算器150被配置为计算相应捕获时间,并且时间对准器160被配置为对视频流进行时间对准。

在图9所示的实施例中,视频同步服务器系统100包括两个接收机120、140,其中第一接收机120被配置为接收时钟偏移和标识符,并且第二接收机140被配置为接收视频流。第一接收机120优选地被配置为接收和检测vlc信号,而第二接收机140优选地被配置为接收通过无线媒体信道(例如,wlan或者移动或蜂窝通信网络)发送的数据分组的形式的视频流。因此,第一接收机120可以是被配置为检测光信号的光电二极管、相机、扫描仪或读取器的形式。发射机110优选地被配置为发送作为vlc信号的系统时钟参考。因此,发射机110可以是灯或led的形式。

发射机110优选地使用有线连接与系统时钟17连接以获取根据系统时钟17的系统时钟参考。第一接收机120连接到存储器管理器130,以将接收到的时钟偏移和标识符转发到存储器管理器130,以存储在连接的存储器15中。存储器管理器130还连接到第二接收机140以从第二接收机140获得结合视频流发送的标识符。存储器管理器130从存储器15获取时钟偏移并将其输出到连接的计算器150。计算器150还连接到第二接收机140,以接收针对视频帧标记的时间戳。计算器150向连接的时间对准器160输出计算出的根据系统时钟的捕获时间,由此时间对准器160可以使用所计算的捕获时间来对来自多个用户设备的视频流进行时间对准。

备选地,本文所描述的至少一些步骤、功能、程序、模块和/或块可以在诸如计算机程序的软件中实现以用于由诸如一个或多个处理器或处理单元的合适的处理电路执行。

处理电路的示例包括但不限于一个或多个微处理器、一个或多个数字信号处理器(dsp)、一个或多个中央处理单元(cpu)、视频加速硬件和/或任何合适的可编程逻辑电路(例如,一个或多个现场可编程门阵列(fpga)或一个或多个可编程逻辑控制器(plc))。

还应当理解,可以重新使用实现所提出的技术的任何常规设备或单元的通用处理能力。也可以例如通过对现有软件进行重新编程或添加新的软件组件重新使用现有的软件。

在特定示例中,视频同步服务器系统200(参见图10)包括处理器210和存储器15,存储器15包括可由处理器210执行的指令。处理器210可操作以使发射机220发送系统时钟参考并且使第一接收机230无线地接收时钟偏移和标识符。处理器210还可操作以将时钟偏移和标识符相关联地存储在存储器15中并从存储器15获取时钟偏移。处理器210还可操作以使第二接收机240接收视频帧的视频流和标识符。处理器210还可操作以计算相应捕获时间并且对视频流进行时间对准。

在特定实施例中,处理器210可操作以在执行存储在存储器15中的指令时执行上述操作。由此,处理器210互连到存储器15以实现正常软件执行。

除了可以如前面结合图9所讨论的实现的第一接收机230和第二接收机240以及发射机220之外,视频同步服务器系统200还包括系统时钟17。

在一个实施例中,图17是示出了包括处理器910、相关联的存储器920和通信电路930的视频同步服务器系统900的示例的示意性框图。

在该特定示例中,本文描述的至少一些步骤、功能、过程、模块和/或块中的一些在计算机程序940中实现,计算机程序940被加载到存储器920中以由包括一个或多个处理器910的处理电路执行。处理器910和存储器920彼此互连以实现正常的软件执行。通信电路930还被互连到处理器910和/或存储器920,以使得能够输入和/或输出系统时钟参考、标识符、时钟偏移和视频帧。

术语“处理器”在一般意义上应被解释为能够执行程序代码或计算机程序指令以执行特定处理、确定或计算任务的任何系统或设备。

因此,包括一个或多个处理器的处理电路被配置为在执行计算机程序时执行诸如本文所描述的那些处理任务的定义明确的处理任务。

处理电路不必专用于仅执行上述步骤、功能、过程和/或块,而是还可以执行其他任务。

在一个实施例中,计算机程序940包括指令,所述指令在由处理器910执行时,使处理器910针对多个用户设备中的每个用户设备,通过无线短距离通信信道向用户设备发送系统时钟参考。系统时钟参考指示根据系统时钟的当前时间。还使处理器910针对多个用户设备中的每个用户设备无线地接收时钟偏移和与用户设备或用户设备的用户相关联的标识符。时钟偏移表示系统时钟参考与根据用户设备的内部时钟的相应当前时间之差。还使处理器910针对多个用户设备中的每个用户设备将时钟偏移和标识符相关联地存储在存储器920中。还使处理器910针对多个用户设备中的每个用户设备通过无线媒体信道从用户设备接收视频帧的视频流和标识符。还使处理器910针对多个用户设备中的每个用户设备使用与视频帧一起接收的标识符从存储器920中获取时钟偏移。还使处理器910针对多个用户设备中的每个用户设备,基于针对视频流中的视频帧标记的相应时间戳和获取到的时钟偏移,计算针对所述视频帧的根据系统时钟的相应捕获时间。还使处理器910基于所计算的相应捕获时间来对来自多个用户设备的视频流进行时间对准。

所提出的技术还提供了包括计算机程序940的载体950。载体950是以下之一:电子信号、光信号、电磁信号、磁信号、电信号、无线电信号、微波信号或计算机可读存储介质950。

举例说明,软件或计算机程序940可以被实现为计算机程序产品,其通常被承载或存储在计算机可读介质950上,优选地非易失性计算机可读存储介质950上。计算机可读介质950可以包括一个或多个可移除或不可移除的存储设备,包括但不限于只读存储器(rom)、随机存取存储器(ram)、压缩盘(cd)、数字通用光盘(dvd)、蓝光光盘、通用串行总线(usb)存储器、硬盘驱动器(hdd)存储设备、闪存、磁带或任何其它传统的存储器件。因此,计算机程序940可以被加载到由图17中的视频同步服务器系统900表示的计算机或等效处理设备的操作存储器920中,以由其处理器910执行。

因此,当由一个或多个处理器执行时,本文呈现的流程图可以被认为是计算机流程图。相应的视频同步服务器系统可以被定义为一组功能模块,其中由处理器执行的每个步骤对应于功能模块。在这种情况下,功能模块被实现为在处理器上运行的计算机程序。因此,视频同步服务器系统可以备选地被定义为一组功能模块,其中功能模块被实现为在至少一个处理器上运行的计算机程序。

因此,驻留在存储器中的计算机程序可以被组织为适当的功能模块,其被配置为当由处理器执行时执行本文所描述的步骤和/或任务的至少一部分。这种功能模块的示例在图11中示出,图11示出了具有功能模块的视频同步服务器系统300的示意性框图。视频同步服务器系统300包括时钟管理器310,时钟管理器310用于针对多个用户设备中的每个用户设备,提供系统时钟参考以通过无线短距离通信信道发送到用户设备。系统时钟参考指示根据视频同步服务器系统300的系统时钟17的当前时间。视频同步服务器系统300还包括存储器管理器320,存储器管理器320用于针对多个用户设备中的每个用户设备,将从用户设备接收的时钟偏移和与用户设备或用户设备的用户相关联的标识符相关联地存储在存储器15中。时钟偏移表示系统时钟参考与根据用户设备的内部时钟的相应当前时间之差。存储器管理器320还用于针对多个用户设备中的每个用户设备,基于通过无线媒体信道与视频帧的视频流一起从用户设备接收的标识符从存储器15获取时钟偏移。视频同步服务器系统300还包括计算器330,计算器330用于针对多个用户设备中的每个用户设备,基于针对视频流中的视频标记的相应的时间戳和获取的时钟偏移,计算针对所述视频帧的根据系统时钟17的相应捕获时间。视频同步服务器系统300还包括时间对准器340,时间对准器340用于基于所计算的相应捕获时间对来自多个用户设备的视频流进行时间对准。

在一个实施例中,视频同步服务器系统300还包括如本文先前结合图9和图10所述的第一接收机和第二接收机以及发射机。

实施例的另一方面涉及一种用户设备,被配置为通过无线短距离通信信道接收系统时钟参考。系统时钟参考指示根据可用于视频同步服务器系统的系统时钟的当前时间。用户设备还被配置为计算系统时钟参考与根据用户设备的内部时钟的相应当前时间之间的时钟偏移。用户设备还被配置为向视频同步服务器系统无线地发送时钟偏移和与用户设备或用户设备的用户相关联的标识符。用户设备还被配置为使用相应的时间戳标记视频帧,其中时间戳表示用户设备的相机或可连接到用户设备的相机对视频帧的根据内部时钟的相应捕获时间。用户设备还被配置为通过无线媒体信道向视频同步服务器系统发送视频帧的视频流和标识符。

在一个实施例中,用户设备被配置为无线地发送作为vlc信号的时钟偏移和标识符。

在一个实施例中,用户设备被配置为接收作为可由相机检测的vlc信号的系统时钟参考。

在一个实施例中,用户设备被配置为结合在用户设备的屏幕上显示事件标签,接收作为vlc信号的系统时钟参考。

在另一个实施例中,用户设备被配置为通过无线短距离通信信道接收系统时钟参考。系统时钟参考指示根据可用于视频同步服务器系统的系统时钟的当前时间。用户设备还被配置为计算系统时钟参考与根据用户设备的内部时钟的相应当前时间之间的时钟偏移。用户设备还被配置为使用相应的时间戳标记视频帧,其中相应的时间戳表示通过时钟偏移修改的、用户设备的相机或可连接到用户设备的相机对视频帧的根据内部时钟的相应捕获时间。用户设备还被配置为通过无线媒体信道向视频同步服务器系统发送视频帧的视频流。

在一个实施例中,用户设备被配置为接收作为可由相机检测的vlc信号的系统时钟参考。

在一个实施例中,用户设备被配置为结合在用户设备的屏幕上显示事件标签,接收作为vlc信号的系统时钟参考。

图12是根据实施例的用户设备400的硬件实现的示意性框图。用户设备400包括接收机410和计算器420,接收机410被配置为接收系统时钟参考,并且计算器420被配置为计算时钟偏移。用户设备400还包括第一发射机430和标记单元440,第一发射机430被配置为无线地发送时钟偏移和标识符,并且标记单元440被配置为标记视频帧。用户设备400还包括第二发射机450,第二发射机450被配置为发送视频帧的视频流和标识符。

接收机410优选地被实现为被配置为检测vlc信号的用户设备400的相机。第一发射机430被实现为vlc发射机,例如可以点亮以生成vlc信号的用户设备400的屏幕的形式。备选地,用户设备400的灯(例如闪光灯)可以构成第一发射机430。第二发射机450被配置为以通过wlan或者移动或蜂窝通信网络的无线媒体信道发送的数据分组流的形式发送视频流。

接收机410连接到计算器420,以向计算机420转发系统时钟参考。计算器420还连接到用户设备400的内部时钟3和第一发射机430,以向其输出所计算的时间偏移。标记单元440相应地连接到内部时钟3和第二发射机450,以接收相应捕获时间的信息并向第二发射机450输出加时间戳或标记的视频帧。

图13是根据另一实施例的用户设备500的硬件实现的示意性框图。用户设备500包括接收机510和计算器520,接收机510被配置为接收系统时钟参考,并且计算器520被配置为计算时钟偏移。用户设备500还包括标记单元530,标记单元530被配置为标记视频帧。用户设备500还包括发射机540,发射机540被配置为发送视频帧的视频流。

接收机510优选地被实现为被配置为检测vlc信号的用户设备500的相机。发射机540被配置为以通过wlan或者移动或蜂窝通信网络的无线媒体信道发送的数据分组流的形式发送视频流。

接收机510连接到计算器520,以向计算器520转发系统时钟参考。计算器520还连接到用户设备500的内部时钟3和标记单元530。由此,标记单元530从内部时钟3接收相应捕获时间的信息,并从计算器520接收所计算的时钟偏移。标记单元530向连接的发射机540输出加时间戳或标记的视频帧。

在特定示例中,用户设备600(参见图14)包括处理器610和存储器620,存储器620包括可由处理器610执行的指令。处理器610可操作以计算由接收机630通过无线短距离通信信道接收的系统时钟参考与相应当前时间之间的时钟偏移。处理器610还可操作以使第一发射机640无线地发送时钟偏移和标识符。处理器610还可操作以标记视频帧并提供视频帧的视频流以与标识符一起由第二发射机650发送。

在另一个实施例中,用户设备700包括如图15所示的处理器710、存储器720、接收机730和发射机740。在这种情况下,存储器720包括可由处理器710执行的指令。由此,处理器710可操作以计算由接收机730通过无线短距离通信信道接收的系统时钟参考与相应当前时间之间的时钟偏移。处理器710还可操作以标记视频帧并提供视频帧的视频流以由发射机740发送。

在一个实施例中,图17是示出了包括处理器910、相关联的存储器920和通信电路930的用户设备900的示例的示意性框图。

在该特定示例中,本文描述的至少一些步骤、功能、过程、模块和/或块中的一些在计算机程序940中实现,计算机程序940被加载到存储器920中,以由包括一个或多个处理器910的处理电路执行。处理器910和存储器920彼此互连以实现正常的软件执行。通信电路930还互连到处理器910和/或存储器920,以使得能够输入和/或输出系统时钟参考、视频帧和可选的时钟偏移和标识符。

在一个实施例中,计算机程序940包括指令,所述指令在由处理器910执行时,使处理器910通过无线短距离通信信道接收系统时钟参考。系统时钟参考指示根据可用于视频同步服务器系统的系统时钟的当前时间。还使处理器910计算系统时钟参考与根据内部时钟的相应当前时间之间的时钟偏移。还使处理器910向视频同步服务器系统无线地发送时钟偏移和与用户设备900或用户设备900的用户相关联的标识符。还使处理器910使用相应的时间戳标记视频帧,其中相应的时间戳表示用户设备900的相机或可连接到用户设备900的相机对视频帧的根据内部时钟的相应捕获时间。还使处理器910通过无线媒体信道向视频同步服务器发送视频帧的视频流和标识符。

在另一实施例中,计算机程序940包括指令,所述指令在由处理器910执行时,使处理器910通过无线短距离通信信道接收系统时钟参考。系统时钟参考指示根据可用于视频同步服务器系统的系统时钟的当前时间。还使处理器910计算系统时钟参考与根据内部时钟的相应当前时间之间的时钟偏移。还使处理器910使用相应的时间戳标记视频帧,其中相应的时间戳表示通过时钟偏移修改的、用户设备900的相机或可连接到用户设备900的相机对视频帧的根据内部时钟的相应捕获时间。还使处理器910通过无线媒体信道向视频同步服务器系统发送视频帧的视频流。

计算机程序940可以包括在先前描述的载体950中。

因此,驻留在存储器中的计算机程序可以被组织为适当的功能模块,其被配置为当由处理器执行时执行本文所描述的步骤和/或任务的至少一部分。这种功能模块的示例在图16中示出,图16示出了具有功能模块的用户设备800的示意性框图。在一个实施例中,用户设备800包括计算器810,计算器810用于计算通过无线短距离通信信道接收的系统时钟参考与根据用户设备800的内部时钟3的相应当前时间之间的时钟偏移。系统时钟参考指示根据可用于视频同步服务器系统的系统时钟的当前时间。用户设备800还包括输出单元820,输出单元820用于向视频同步服务器系统输出时钟偏移和与用户设备800或用户设备800的用户相关联的标识符。用户设备800还包括标记单元830,标记单元830用于使用相应的时间戳标记视频帧,其中相应的时间戳表示由用户设备800的相机或可连接到用户设备800的相机对视频帧的根据内部时钟的相应捕获时间。在本实施例中,输出单元820还用于输出视频帧的视频流和标识符以通过无线媒体信道发送到视频同步服务器系统。

在另一个实施例中,图16的用户设备800包括计算器810,计算器810用于计算通过无线短距离通信信道接收的系统时钟参考与根据用户设备800的内部时钟3的相应当前时间之间的时钟偏移。系统时钟参考指示根据可用于视频同步服务器系统的系统时钟的当前时间。用户设备800还包括标记单元830,标记单元830用于使用相应的时间戳标记视频帧,其中相应的时间戳表示通过时钟偏移修改的、由用户设备800的相机或可连接到用户设备800的相机对视频帧的根据内部时钟相应捕获时间。用户设备800还包括输出单元820,输出单元820用于输出视频的视频流以通过无线媒体信道发送到视频同步服务器系统。

在一个实施例中,用户设备800还包括接收机和一个或多个发射机。

用户设备优选地是移动或便携式用户设备(例如,移动电话、智能电话、平板电脑、膝上型计算机、具有无线通信电路的摄影机等)的形式。

以上描述的实施例将被理解为本发明的几个说明性示例。本领域技术人员将理解,在不脱离本发明的范围的情况下,可以对实施例进行各种修改、组合和改变。具体地,在技术上可能的情况下,不同实施例中的不同部分解决方案可以组合在其他配置中。然而,本发明的范围由所附权利要求限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1