用于使用个人通信设备的虚拟会议系统的方法和系统与流程

文档序号:14421981阅读:315来源:国知局
用于使用个人通信设备的虚拟会议系统的方法和系统与流程

相关专利申请的交叉引用

本申请涉及于2015年8月6日递交的名称为methodsandsystemsforvirtualconferencesystemusingpersonalcommunicationdevices的代理人案号152692u2的申请,通过引用的方式将上述申请的全部内容并入本文。本申请还涉及于2015年8月6日递交的名称为methodsandsystemsforvirtualconferencesystemusingpersonalcommunicationdevices的代理人案号152692u3的申请,通过引用的方式将上述申请的全部内容并入本文。本申请涉及于2015年5月4日递交的名称为audiosignaladjustmentformobilephonebasedpublicaddressingsystem的临时申请号62/156,841,通过引用的方式将上述申请的全部内容并入本文。

本文描述的实施例总体上涉及虚拟会议系统(vcs)。具体地,本公开内容涉及使用个人通信设备(pcd)作为vcs的输入和输出设备。



背景技术:

给定地点处的传统会议系统可以包括至少一个显示屏、麦克风和扬声器。显示屏向该地点处的与会者显示视觉输出。麦克风捕获音频数据。扬声器向该地点处的与会者输出音频数据。传统会议系统面临各种问题。例如,取决于每个与会者在该地点处的位置,一些与会者可能由于距离或视野障碍而无法看见显示屏,访问麦克风或者听到扬声器。此外,传统会议系统的不可用性(例如,当传统会议系统无法正常工作时或者当在该地点处不存在传统会议系统时)可以使得无法在该地点处发生会议。因此,在各种情形中,传统会议系统可能产生负面的用户体验。



技术实现要素:

各个实施例涉及用于使用利用个人通信设备(pcd)实现的主设备来提供虚拟会议的方法,包括:由所述主设备的处理器确定连接到所述主设备的多个卫星设备中的每个卫星设备的延时;由所述主设备的所述处理器至少部分地基于所述多个卫星设备之中的最高延时与最低延时之间的差值,来确定上行链路缓冲持续时间;由所述主设备的所述处理器确定用于上行链路数据分组的处理时间,所述处理时间是至少部分地基于所述上行链路缓冲持续时间来确定的;以及由所述主设备的所述处理器在用于所接收的上行链路数据分组的所述处理时间处执行信号处理。

在一些实施例中,所述方法还包括:从所述多个卫星设备中的每个卫星设备接收所述上行链路数据分组和与所述上行链路数据分组相关联的上行链路时间戳。所述确定处理时间还包括:还至少部分地基于与所述上行链路数据分组相关联的所述上行链路时间戳,来确定用于所述上行链路数据分组的处理时间。

在一些实施例中,所述延时是通过计算先前生成的上行链路数据分组或测试分组的生成时间戳和接收时间戳来确定的。

根据各个实施例,所述生成时间戳是所述先前生成的上行链路数据分组或测试分组的所述上行链路时间戳。

在各个实施例中,所述上行链路缓冲持续时间是所述最高延时与所述最低延时之间的所述差值加上预定裕量。

在一些实施例中,所述裕量是帧。

在各个实施例中,所述方法还包括:由所述主设备的所述处理器在相同的上行链路时间戳处生成上行链路数据分组,其中,经确定的所述处理时间与所述主设备生成的所述上行链路数据分组相对应。

在一些实施例中,所述信号处理是在用于从所述卫星设备接收的所接收的上行链路数据分组和所述主设备生成的所述上行链路数据分组的所述处理时间处执行的。

在各个实施例中,所述信号处理包括以下各项中的一项或两项:从所述卫星设备接收的至少所述上行链路数据分组的信道选择或者信道混合。

在各个实施例中,所述处理时间是所述上行链路时间戳加上所述上行链路缓冲持续时间。

在一些实施例中,所述延时包括网络相关的延时和本地框架延时。所述上行链路时间戳是针对所述本地框架延时来调整的。

根据一些实施例,所述本地框架延时可以是通过以下操作来确定的:在生成时间戳处输出音频比特流;在接收时间戳处捕获包括输出的所述比特流的声音信号;以及基于所述接收时间戳与所述生成时间戳之间的差值来确定所述本地框架延时。

在一些实施例中,当所捕获的声音信号的模式的至少一部分与所述接收时间戳处的所输出的比特流的模式相匹配时,在所述接收时间戳处捕获所述比特流。

在一些实施例中,所述方法还包括:确定与所述主设备相关联的环境噪声水平;以及当所述环境噪声水平低于预定门限时,继续进行所述延时确定、上行链路缓冲确定、上行链路数据接收、处理时间确定和信号处理。

在一些实施例中,所述方法还包括:当所述环境噪声水平高于所述预定门限时,提示所述用户移动到安静的位置。

根据一些实施例,所述上行链路数据分组是音频分组或视频分组中的至少一个。

在一些实施例中,描述了具有计算机可读指令的非暂时性计算机可读介质。当执行所述计算机可读指令时,使得利用pcd实现的主设备的处理器执行用于提供虚拟会议的过程,所述过程包括:确定连接到所述主设备的多个卫星设备中的每个卫星设备的延时;至少部分地基于所述多个卫星设备之中的最高延时与最低延时之间的差值,来确定上行链路缓冲持续时间;确定用于上行链路数据分组的处理时间,所述处理时间是至少部分地基于所述上行链路缓冲持续时间来确定的;以及在用于所接收的上行链路数据分组的所述处理时间处执行信号处理。

根据一些实施例,所述过程还包括:从所述多个卫星设备中的每个卫星设备接收所述上行链路数据分组和与所述上行链路数据分组相关联的上行链路时间戳。确定处理时间还包括:还至少部分地基于与所述上行链路数据分组相关联的所述上行链路时间戳,来确定用于所述上行链路数据分组的处理时间。

在一些实施例中,所述延时是通过计算先前生成的上行链路数据分组或测试分组的生成时间戳和接收时间戳来确定的。

在一些实施例中,所述生成时间戳是所述先前生成的上行链路数据分组或测试分组的所述上行链路时间戳。

在一些实施例中,所述上行链路缓冲持续时间是所述最高延时与所述最低延时之间的所述差值加上预定裕量。

在各个实施例中,所述过程还包括:在相同的上行链路时间戳处生成上行链路数据分组,其中,所述处理时间还是针对所述主设备生成的所述上行链路数据分组来确定的。

在一些实施例中,所述信号处理是在用于从所述卫星设备接收的所接收的上行链路数据分组和所述主设备生成的所述上行链路数据分组的所述处理时间处执行的。

在一些实施例中,所述信号处理包括以下各项中的一项或两项:从所述卫星设备接收的至少所述上行链路数据分组的信道选择或者信道混合。

各个实施例涉及用于使用利用pcd实现的卫星设备来提供虚拟会议的方法,包括:在不改变所述卫星设备的系统时钟的情况下,获得关于由主设备维护的主时钟的时间偏移;确定与上行链路数据分组相关联的第一时间戳,其中,所述第一时间戳与所述卫星设备的所述系统时钟相对应;使用所述时间偏移来将所述第一时间戳转换成第二时间戳,其中,所述第二时间戳与所述主时钟相对应;以及向所述主设备发送具有所述第二时间戳的所述上行链路数据分组。

在一些实施例中,所述第二时间戳是针对本地框架延时来调整的。

在各个实施例中,所述方法还包括:从所述主设备接收下行链路回放延迟。

在各个实施例中,所述方法还包括:接收下行链路数据分组和与所述下行链路数据分组相关联的下行链路时间戳,以及输出所述下行链路数据分组。

在一些实施例中,所述输出所述下行链路数据分组包括:基于所述下行链路时间戳和所述下行链路回放延迟来输出所述下行链路数据分组。

在一些实施例中,描述了具有计算机可读指令的非暂时性计算机可读介质。当所述计算机可读指令由利用pcd实现的卫星设备的处理器执行时,使得所述处理器执行用于提供虚拟会议的过程,所述过程包括:在不改变所述卫星设备的系统时钟的情况下,获得关于由主设备维护的主时钟的时间偏移;确定与上行链路数据分组相关联的第一时间戳,其中,所述第一时间戳与所述卫星设备的所述系统时钟相对应;使用所述时间偏移来将所述第一时间戳转换成第二时间戳,其中,所述第二时间戳与所述主时钟相对应;以及向所述主设备发送具有所述第二时间戳的所述上行链路数据分组。

附图说明

被并入本文并构成本说明书的一部分的附图示出了本公开内容的示例性实施例,并且连同上面所给出的总体描述和下面所给出的具体描述,用以解释各个实施例的特征。

图1是根据各个实施例,示出了虚拟会议系统(vcs)的示例的图。

图2是根据各个实施例,示出了用于在vcs内实现的个人通信设备(pcd)的示例的框图。

图3是根据各个实施例,示出了用于进行虚拟会议的过程的示例的过程流程图。

图4是根据各个实施例,示出了用于进行虚拟会议的过程的示例的过程流程图。

图5是根据各个实施例,示出了下行链路回放同步过程的示例的图。

图6是根据各个实施例,示出了上行链路同步过程的示例的图。

图7是根据各个实施例,示出了用于选择上行链路缓冲持续时间的过程的示例的过程流程图。

图8是根据各个实施例,示出了用于确定实际的上行链路时间戳的过程的示例的过程流程图。

图9是根据各个实施例,示出了用于进行虚拟会议的过程的示例的过程流程图。

图10是根据各个实施例,示出了用于进行虚拟会议的过程的示例的过程流程图。

具体实施方式

将参考附图详细描述各个实施例。只要有可能,贯穿附图将使用相同的附图标记来指代相同或相似的部件。可以使用不同的附图标记来指代不同、相同或相似的部件。对特定示例和实现方式的引用是出于说明性的目的,并非旨在限制本公开内容或本权利要求书的范围。

总体上参照附图,虚拟会议系统(vcs)可以包括卫星设备、远程设备和主设备。卫星设备、远程设备和主设备中的每一个可以利用个人通信设备(pcd)来实现,诸如但不限于移动设备、智能电话等。卫星设备可以用于与一地点(例如,会议室或开会场景)处的其它用户接收和/或发送音频数据。例如,为了实现这种目的,可以将卫星设备用作显示器、扬声器和麦克风。可以类似地使用远程设备,但是由该地点外部的用户使用。主设备可以从卫星设备和/或远程设备接收音频/视频数据。类似地,主设备可以利用其自己的麦克风和相机来捕获音频/视频数据。主设备还可以将(经处理的、经混合的、经滤波的等)音频/视频数据中继给卫星设备和/或远程设备,以用于输出给卫星设备和远程设备的用户。主设备可以中央地执行音频/视频数据处理功能,诸如混合、混响控制、信道选择、滤波、回声消除、缓冲器选择等。

因此,vcs可以比任何传统会议系统更有优势。具体地,考虑到pcd如此普遍,因此会议可以发生在任何地点,只要与会者/用户身上有其pcd。另外,与会者/用户可以密切地察觉到输出数据(例如,来自pcd的显示器的视觉数据和来自pcd的扬声器的音频数据)。因此,如本文描述的vcs可以解决因用户不能够访问音频视觉输出或输入而导致的传统会议系统的负面的用户体验。

为了在卫星设备和主设备处回放信号而没有混响,可能需要对针对下行链路在卫星设备和主设备处的回放进行同步,以考虑设备之间的本地时钟的偏移。另外,针对上行链路,可能存在针对在主设备处从卫星设备接收的帧的对齐的同步,以用于混合/选择。另外,可能存在去抖动缓冲器,以考虑网络相关的和本地框架延时。同步的目的是为了避免一地点处的不同的卫星设备和主设备听到相同的内容在不同的时间进行播放。类似地,也可能需要针对主设备来对源自卫星设备的上行链路信号进行同步,以执行所描述的信号处理功能。因此,vcs可以使用下文描述的一个或多个过程来对上行链路和下行链路处的信号进行同步,以考虑延时。

在一些实施例中,在卫星设备和主设备之间发起实时协议(rtp)会话之前,所发现的卫星设备中的每个卫星设备可以使用定时协议(诸如网络时间协议(ntp)或精确时间协议(ptp)或简单网络时间协议(sntp))来执行初始同步,以在不改变卫星设备的系统时钟的情况下,获得关于主设备的时钟的时间偏移。在另外的实施例中,可以使用用户数据报协议(udp)和互联网协议(ip)。rtp、udp和ip可以用于媒体数据。在其它实施例中,可以使用其它适当的协议,诸如但不限于超文本传输协议(http)。在已知关于主设备的偏移之后,每个卫星设备可以在其自己的本地时间戳体制中计算所接收的媒体帧的回放时间(例如,根据主设备处的帧的生成的时间和关于媒体帧的生成与回放之间的回放增量的知识)。后者可以是固定的、或动态的,在这种情况中,需要在媒体帧内传送所述回放增量。可能需要调整回放触发以考虑回放的本地框架延时。

可以基于时间偏移来对上行链路信号进行同步,以使得主设备可以利用所同步的上行链路信号来执行信道混合和信道选择。可以针对每个卫星设备来确定关于主时钟的时间偏移。主设备可以使用经延时调整的rtp时间戳来进行接收分组的对齐。随后,卫星设备和主设备可以对本地栈和框架延时进行估计。

数据分组(诸如但不限于媒体帧/分组)也可以是每个卫星设备按顺序生成的。可以向每个数据分组分配上行链路rtp序列号。可以将数据分组和相应的序列号发送给主设备。主设备可以基于序列号来将从不同的卫星设备接收的数据分组的流对齐,以考虑网络相关的和本地框架延时。rtp序列号顺序地递增。一旦初始分组对齐了,余下的分组就将是对齐的,这是因为分组是利用固定的时间间隔(例如,20ms)生成的。通过记录序列号的间隙来完成分组丢失检测。随后,主设备可以使用经时间对齐的音频数据分组来执行信号处理功能。

可以通过回放固定且可区分的音频数据的比特流来确定本地(回送(loopback))延时。卫星设备可以启用麦克风来捕获比特流。可以将麦克风捕获的信号与输出的固定和/或已知模式的信号进行比较。当来自所输出的信号的固定和/或已知模式重新出现在所捕获的信号中时,所记录的时间差是本地回送延时。

当卫星设备向主设备发送媒体分组时,rtp时间戳是如卫星设备所察觉的主设备的时间戳(即,利用所计算的偏移来调整的卫星设备时间戳)。主设备可以通过确定接收到的时间戳与测试数据分组的生成时间戳之间的差值(由于两者都在主设备的时间尺度中)来确定与卫星设备中的每个卫星设备相关联的总延时。主设备需要维护用于混合/选择的缓冲。所有卫星设备-主设备媒体路径之间的总延时的变化(即,(来自所有卫星设备和主设备的)最大总延时与增加有裕量的最小总延时之间的差值)需要考虑缓冲持续时间。

虽然本文描述的各个实施例可以涉及音频数据,但是本领域的技术人员可以认识到的是,本文描述的系统和方法可以被类似地实现用于视频数据或两者。

图1是根据各个实施例,示出了vcs100的示例的图。参照图1,vcs100可以包括至少一个卫星设备(例如,卫星设备120a-120c,共同地称为卫星设备120)、至少一个远程设备(例如,远程设备130a-130b,共同地称为远程设备130)和主设备110。主设备110和卫星设备120以及相关联的用户可以物理地位于地点190中(至少针对对等发现过程)。例如,主设备110和卫星设备120可以通过物理地位于地点190内的无线接入点来连接到网络150(针对对等发现过程)。主设备110可以耦合到桥路140或者以其它方式包括桥路140。在一些实施例中,桥路140物理地位于地点190中。在其它实施例中,桥路140不是物理地位于地点190中,但是可以与主设备110进行通信。

在一些实施例中,主设备110和卫星设备120可以被共同地称为“近端”设备。远程设备130可以被称为“远端”设备。在这样的实施例中,可以关于主设备110将近端设备集中化。主设备110可以通过桥路140连接到虚拟会议,其它方(远端设备)也可以连接到桥路140。另外,远端设备也可以实现近端设备的主-卫星配置。例如,两个或更多个主设备110可以连接到桥路140。主设备110中的每个主设备可以连接到单独的一组卫星设备120(即,在单独的地点190中)。在其它实施例中,主设备110还可以充当桥路140并且经由网络155直接连接到远程设备130。

卫星设备120和主设备110可以通过网络150连接到彼此。网络150可以是任何有线或无线网络,包括但不限于wifi网络、蓝牙网络、长期演进(lte)网络(或其它适当类型的移动数据网络)、或其组合等。远程设备130和桥路140可以通过网络155连接到彼此。网络155可以是任何有线或无线网络,包括但不限于wifi网络、蓝牙网络、lte网络(或其它适当类型的移动数据网络)、或其组合等。在一些实施例中,网络150和网络155可以是不同的网络。在其它实施例中,网络150和网络155可以是相同的网络。在一些实施例中,主设备110和桥路140可以通过网络150连接到彼此。在其它实施例中,主设备110和桥路140可以通过网络155或另一个适当的网络连接到彼此。

地点190可以是能够发生会议的任何适当的位置。例如,地点190可以指代会议室、教室、会议厅、讲堂、以及可以在其中进行会议的任何适当的空间。另外,地点190可以是其中混响、啸叫、交错声等可以负面地影响主设备110和卫星设备120的空间。地点190可以被至少卫星设备110、主设备120和其各自的用户(如存在)占用。在另一方面,远程设备130(和其各自的用户)可以位于地点190的边界以外的任何地方。特别地,远程设备130的用户可能无法察觉来自卫星设备120的输出。

图2是根据各个实施例,示出了用于在vcs100内实现的pcd200的示例的框图。参照图1-2,可以利用pcd200来实现主设备110、卫星设备120和远程设备120中的一个或多个设备。在特定的实施例中,可以利用pcd200来实现主设备110、卫星设备120和远程设备120中的所有设备。pcd200可以是被配置为捕获和输出音频数据的电子移动设备。在另外的实施例中,pcd200可以被配置为捕获和输出视觉数据(例如,相片、视频等)。pcd200的示例可以包括但不限于智能电话(移动电话)、寻呼机、平板计算机、pda、任何移动计算系统等。pcd200可以是任何移动或非移动处理器设备,诸如但不限于桌上型计算机、大型计算机、膝上型计算机等。pcd200可以包括麦克风210、处理器220、存储器单元230、网络设备240和用户接口设备250。

在一些实施例中,麦克风210可以被配置为在pcd200的用户讲话时捕获来自该用户的声音。在一些实施例中,麦克风210可以与pcd200集成在一起或者以其它方式被装在pcd200的外壳里面。在其它实施例中,至少一个麦克风210可以是没有与pcd200集成在一起的辅助麦克风,但是可以以任何适当的方式可操作地耦合到pcd200。麦克风210可以捕获邮政编码调制(pcm)音频采样。可以通过在从卫星设备120到主设备110的上行链路处通过网络150来发送这些pcm音频采样。

处理器220可以可操作地耦合到存储器单元230,以执行本文描述的pcd200的功能。例如,处理器220和存储器单元230可以被配置为执行如本公开内容中描述的pcd200的功能。处理器220可以包括任何适当的数据处理设备,诸如通用处理器(例如,微处理器)。在替代方式中,处理器220可以是任何常规的处理器、控制器、微控制器或状态机。处理器220还可以实现为计算设备的组合,例如,数字信道处理器(dsp)和微处理器的组合、多个微处理器、至少一个微处理器与dsp内核的结合、或者任何其它此种配置。

存储器单元230可以可操作地耦合到处理器220,并且可以包括用于存储用于控制和被处理器20用来执行本文描述的操作和功能的软件和数据的任何适当的设备,包括但不限于随机存取存储器(ram)、只读存储器(rom)、软盘、硬盘、软件狗或其它连接再压缩传感器板(rsb)的存储器设备等。

网络设备240可以包括用于接入网络150和/或网络155的接口软件和硬件,使得可以经由接入网络150和/或网络155来发送和接收数据。网络设备240可以包括至少一个无线接收机、发射机、收发机等。网络设备240还可以包括用于提供与网络130的无线或无线通信链路的软件。

用户接口250可以包括显示设备和用户输入设备。显示设备可以包括提供人类察觉的视觉信号、听觉信号、触觉信号或其任何组合的任何适当的设备,包括但不限于触摸屏、lcd、led、crt、等离子体或其它适当的显示屏、音频扬声器或其它音频发生设备、其组合等。在特定的实施例中,用户接口250的显示设备可以包括用于输出声音的扬声器(例如,扬声器电话260)和用于输出视觉数据的显示屏。

用户输入设备可以包括可以从用户接收输入的任何适当的设备,包括但不限于一个或多个手动操作器(诸如但不限于开关、按钮、触摸屏、旋钮、滑块等)、相机、图像传感器等。在特定的实施例中,用户接口250的用户输入设备可以包括用于捕获视觉数据的相机。

pcd200可以具有用于电话和其它典型的无线电话操作的现有的硬件和软件,以及用于提供如本文描述的功能的另外的硬件和软件。这种现有的硬件和软件包括例如一个或多个输入设备(诸如但不限于键盘、按钮、触摸屏、相机、麦克风、环境参数或状况传感器)、显示设备(诸如但不限于电子显示屏、灯或其它发光设备、扬声器或其它音频输出设备)、电话和其它网络通信电子设备和软件、处理电子设备、电子存储设备和用于接收各种信号(例如,针对全球定位系统(gps)通信、wifi通信、码分多址(cdma)通信、时分多址(tdma)、时分多址(fdma)、lte通信、调频(fm)通信、bt通信、近场通信(nfc)等)的一个或多个天线或接收电子设备。在这些实施例中,该现有的电子硬件和软件中的一些也可以用在用于如本文描述的功能的系统和过程中。

因此,这些实施例可以利用最小的额外硬件成本来实现。然而,其它实施例涉及利用被特定地配置用于执行本文描述的操作的专用设备硬件来实现的系统和过程。用于功能的硬件和/或软件可以在制造期间并入到pcd200中,例如,作为pcd200的原始制造商的配置的一部分。在另外的实施例中,这些硬件和/或软件可以在原始制造之后添加到pcd200中,诸如但不限于通过在一个或多个pcd200上安装一个或多个软件应用。通常,可以从卫星设备120向主设备110发送上行链路数据,主设备110随后将这些数据发送给远程设备130。可以从主设备110向卫星设备120发送(源自远程设备130的)下行链路数据。

关于卫星设备120的用户,音频信号可以在两个路径中到达卫星设备120的用户的耳朵:(1)从讲话者的嘴直接到用户的耳朵的第一路径,以及(2)从讲话者的嘴到卫星设备120a,随后通过网络150到另一个卫星设备120b(其可以通过扬声器来向用户输出音频数据)的第二路径。这可能导致负面地影响用户体验的混响或类回声现象。另外,两个不同的音频路径还可能导致啸叫。可以将接收卫星设备120与源信号(例如,讲话者或其它声音源、源卫星设备(诸如卫星设备120a)等)物理地隔离。

主设备110可以被配置为从卫星设备120接收音频和/或视觉数据。主设备110可以选择卫星设备120中的一个卫星设备120用于输出。主设备110还可以对来自卫星设备120中的两个或更多个卫星设备120的输出进行混合以用于输出。主设备110可以将所选择的和/或所混合的信道输出给卫星设备120。在一些实施例中,从选择的卫星设备获得的信号可能不是在同一个选择的卫星设备处回放的。换句话说,当主设备110选择卫星设备时,该卫星设备不回放其捕获的信号。主设备110可以向始发卫星设备发送用于指示将不输出输出数据的指示。这可以抑制在所选择的卫星设备处的类回声输出和啸叫。在其它实施例中,当将所选择的卫星设备与信号源(例如,讲话者)声学地隔离时,从所选择的卫星设备获得的信号可以在同一个选择的卫星设备处回放。

vcs100可以被配置用于(1)获得卫星设备120和远程设备130中的每一个关于主设备的时间偏移,(2)获得卫星设备120和远程设备130中的每一个的上行链路和下行链路延迟,(3)对上行链路处的信号进行同步,以及(4)对下行链路处的信号进行同步。

给定pcd200与传统会议系统中的简易麦克风、扬声器和显示器相比的复杂度和处理能力,虚拟会议的各个方面可以受益于pcd200和主卫星配置的使用。例如,由于在地点190处可能存在多个卫星设备120,因此具有(例如,基于信噪比(snr)等测量的)最优音频质量的卫星设备可以被选择作为在下行链路处向其它卫星设备120和远程设备130输出的信道。在一些实施例中,主设备110可以执行主设备110和卫星设备120的双功能。在其它实施例中,主设备110可以纯粹地执行信号处理功能,而不捕获/输出数据。

因此,主设备110可以是近端设备的数字信号处理中心。换句话说,主设备110可以为卫星设备120提供与桥路140(继而,与远程设备130)的接口。对于近端设备,桥路140可能仅需要与主设备110对接,而仍然受益于使用卫星设备120(pcd200)作为麦克风和/或显示器的优势。

图3是根据各个实施例,示出了用于进行虚拟会议的过程300的示例的过程流程图。参照图1-3,过程300可以被实现用于vcs100,其中,至少主设备110和卫星设备120可以是利用pcd200实现的。过程300可以被实现用于主设备110。

在框b310处,可以从多个pcd(其中的每个pcd可以是pcd200)中选择主设备110。多个pcd(即,近端设备)中的每个pcd可以借助于连接到相同的网络(网络150)和/或借助于适当的对等发现过程来与彼此进行通信。对等发现过程可以发现并且聚集其各自的用户(通过用户接口250的输入设备)指示期望加入会议会话的所有pcd。

在一个实施例中,当主设备110的用户经由用户接口250的输入设备指示期望要作为当前会议会话的主设备110时,可以选择该主设备110。在另一个实施例中,可以基于处理能力、存储器、(电池)电量状态、消除回声的能力、本地延时、和/或关于多个pcd中的每个pcd的网络延时,来从多个pcd中选择主设备110。特别地,当主设备110具有足够的电量来持续预定时间段时(例如,经历整个会话)时,可以选择该主设备110。例如,具有最高处理能力和/或最低本地/网络延时的pcd可以被选择作为主设备110。在一些实施例中,可以不(经由用户输入设备250)向主设备110的用户通知该设备被用作主设备110。在其它实施例中,可以(经由用户输入设备250)向主设备110的用户通知该设备被用作主设备110。

未被选择的pcd可以被默认地指定为卫星设备120。在特定的实施例中,当未被选择的pcd在地点190的边界内时或者由于通过对等发现过程将它们聚集在一起的事实,未被选择的pcd可以被设计为卫星设备。即使卫星设备120物理地位于地点190的地理边界之外,假设卫星设备120已经在对等发现过程之后与主设备110绑定在一起,则该卫星设备120仍然可以被设计为卫星设备120。在其它实施例中,一旦(通过无线信号三角测量、全球定位系统(gps)指示等)检测到卫星设备120中的一个卫星设备120在地点190的地理边界之外,该设备就可以与主设备110解除关联并且不再作为卫星设备120中的一个卫星设备120。

在框b320处,根据各个实施例,主设备110可以被配置为维护主时钟。主设备110的处理器220可以被配置有用于时钟同步的适当类型的网络协议。特别地,所选择的主设备110可以被配置为支持ntp和/或简单ntp(sntp)、ptp或任何其它定时协议的本地ntp服务器。

在框b330处,主设备110可以允许卫星设备120中的每个卫星设备120获得关于主设备110维护的主时钟的时间偏移。例如,在发送用于会议会话的任何上行链路音频/视频数据分组之前,卫星设备120和主设备110可以参与ntp或sntp活动以进行同步。在这种初始同步之后,主设备110可以定期地(例如,每1秒、每5秒、每10秒、每1分钟等)允许卫星设备120与主时钟同步。因此,卫星设备120中的每个卫星设备120可以具有关于主时钟的时间偏移。卫星设备120中的每个卫星设备120的时间偏移可以是不同的。在一些实施例中,主设备110可以将卫星设备120的时间偏移存储在存储器单元230中。在其它实施例中,主设备110可能不需要存储时间偏移。

在框b340处,主设备110可以确定上行链路缓冲持续时间(用于来自不同卫星设备120的上行链路帧的混合选择)和下行链路回放延迟(用于卫星设备120),如所描述的。主设备110可以在上行链路处对(从卫星设备120发送给主设备110的和主设备110自己捕获的)上行链路数据分组/帧进行同步,以用于主设备110进行的信道选择和混合。可以以主设备110描述的方式,使用上行链路缓冲持续时间来将这些上行链路数据分组对齐。可以使用下行链路回放延迟来在卫星设备120中的每个卫星设备120处将(从主设备110发送给卫星设备120的)下行链路数据分组/帧对齐,以用于经同步的回放。

在框b350处,主设备110可以从卫星设备120中的每个卫星设备120接收上行链路数据分组。在框b350处,可以发起活动的会议会话(例如,rtp会话或其它适当类型的会话)。数据分组可以是音频数据或视频数据。在一些实施例中,接收的每个数据分组可以与上行链路时间戳相关联。

在一个实施例中,卫星设备120中的每个卫星设备120可以根据主时钟来确定相应的数据分组的上行链路时间戳。例如,卫星设备120中的每个卫星设备120可以计算其自己的内部时钟,该内部时钟关于主时钟偏置了所获得的时间偏移。因此,当主设备110从卫星设备120接收数据分组和相关联的上行链路时间戳时,上行链路时间戳可能已经是基于主时钟的,使得主设备110不需要进行进一步的转换。在这样的实施例中,主设备110可以不需要存储时间偏移。

替代地,卫星设备120中的每个卫星设备120可以根据其自己的时钟(而不是主时钟)来确定相应的上行链路数据分组的上行链路时间戳。当主设备110从卫星设备120接收上行链路数据分组和相关联的上行链路时间戳时,主设备110可以使用存储器单元230中存储的时间偏移来将上行链路时间戳转换成符合主时钟。主设备110也可以向卫星设备120一样,生成上行链路数据分组。

在框b360处,主设备110可以基于上行链路缓冲持续时间和与所接收的上行链路数据分组中的每一个相关联的上行链路时间戳,来将所接收的上行链路数据分组对齐。在一个特定的实施例中,与相同的上行链路时间戳相对应的(从主设备110和卫星设备120)接收到的所有上行链路数据分组(全对应于主时钟)可以被考虑用于在如下时间处的信道选择/混合:

(1)tf=tts+tub;

其中tf是信道选择/混合(处理)时间,tts是上行链路时间戳,以及tub是上行链路缓冲持续时间。

在框b370处,主设备110可以执行针对所对齐的数据分组的信道混合和/或信道选择。在框b380处,主设备110可以向远程设备130发送具有时间戳(对应于主时钟)的所混合和/或所选择的数据分组(如在框b380处确定的)(并且在另外的实施例中,卫星设备120处于声学隔离的场景中,如所描述的)。

图4是根据各个实施例,示出了用于进行虚拟会议的过程400的示例的过程流程图。参照图1-4,过程400可以被实现用于vcs100,其中,至少主设备110和卫星设备120可以是利用pcd200实现的。过程400可以被卫星设备120中的一个卫星设备120(例如,卫星设备120a)使用。

在框b410处,可以采用所描述的方式来从多个pcd(其中的每个pcd可以是pcd200)中选择卫星设备120a。在框b420处,卫星设备120a可以在不改变卫星设备120a的系统时钟的情况下,获得关于主时钟的时间偏移。例如,在发送用于会议会话的任何音频/视频数据分组之前,卫星设备120a可以参与ntp或sntp(或其它适当的活动,如所描述的)活动以进行同步。

此后,卫星设备120a可以定期地(例如,每1秒、每5秒、每10秒、每1分钟等)参与ntp或sntp(或其它适当的协议,如所描述的)同步过程。可以将时间偏移存储在卫星设备120a的存储器单元230中。然而,考虑到在卫星设备120a上执行的其它过程和应用(例如,移动电话应用),可以不改变卫星设备120a的系统时间。在一些情况下,可能不允许卫星设备120a上的应用改变系统时间。

在框b430处,卫星设备120a可以确定下行链路回放延迟。在一些实施例中,卫星设备120可以在接收下行链路数据分组之前或者与下行链路数据分组一起,从主设备110接收下行链路回放延迟。主设备110可以从卫星设备120中的每个卫星设备120接收下行链路接收时间戳(使用针对主时钟对应的时间偏移),所述下行链路接收时间戳与接收先前的下行链路数据分组或测试数据分组的时间相对应。主设备110可以确定下行链路回放延迟将是卫星设备120之中的下行链路接收时间戳与下行链路时间戳之间的差值的最大值。在另外的实施例中,主设备110可以向最大差值中增加下行链路裕量。下行链路裕量可以是例如半个帧(10ms)、一个帧(20ms)、两个帧(40ms)等。

在框b440处,卫星设备120a可以从主设备110接收具有下行链路时间戳的下行链路数据分组。下行链路时间戳可以切断主时钟。卫星设备120a可以基于存储器单元230中存储的时间偏移,来计算其自己的时间中的下行链路时间戳。

在框b450处,卫星设备120a可以基于下行链路时间戳和下行链路回放延迟,来(经由用户接口设备250)回放所接收的下行链路数据分组。例如,在卫星设备120a将所接收的下行链路时间戳转换成其自己的时间之后,卫星设备120a可以在如下时间处回放所接收的下行链路数据分组:

(2)tpbs1=tg+off1+δt;

其中tpbs1是卫星设备120a的回放时间,tg是下行链路时间戳,off1是卫星设备120a的偏移,以及δt是下行链路回放延迟。例如,tg+off1指代卫星设备120a的系统时间。类似地,主设备110可以在如下时间处(经由用户接口设备250)回放相同的数据分组:

(3)tpbm=tg+δt;

其中tpbm是主设备110的回放时间,其中tpbm等于tpbs1。

在框b460处,卫星设备120a可以将上行链路数据分组与上行链路时间戳一起发送给主设备110。在一个实施例中,卫星设备120a可以根据主时钟来确定相应的数据分组的上行链路时间戳。例如,卫星设备120a中的每个卫星设备120a可以利用所获得的关于主时钟的时间偏移来计算其自己的内部时钟偏置。因此,当主设备110从卫星设备120a接收数据分组和相关联的上行链路时间戳时,上行链路时间戳可能已经是基于主时钟的,使得主设备110不需要进行进一步的转换。

替代地,卫星设备120a可以根据其自己的时钟(替代主时钟)来确定相应的上行链路数据分组的上行链路时间戳。当主设备110从卫星设备120a接收数据分组和相关联的上行链路时间戳时,主设备110可以使用存储器单元230中存储的时间偏移来将上行链路时间戳转换成符合主时钟。

考虑到上行链路(框b460)和下行链路(框b440-b450)可以是彼此独立的,因此可以同时地执行卫星设备120a的上行链路过程和下行链路过程。

对于在已经发起会话之后加入活动的会议会话的卫星设备来说,可以在对等发现之后执行框b420。此后,新加入的卫星设备可以转到框b430-b460。

图5是根据各个实施例,示出了下行链路回放同步过程500的示例的图。参照图1-5,主设备时间510可以对应于主设备110的系统时间。卫星设备a时间520可以对应于卫星设备120a的系统时间。卫星设备b时间530可以对应于卫星设备120b的系统时间。特别地,主设备时间510可以等于被偏置了卫星设备120a的偏移(off1)的卫星设备a时间520。主设备时间510还可以等于被偏置了卫星设备120b的偏移(off2)的卫星设备b时间530。off1和off2中的每一个可以是正数或负数。

在分组生成540中,主设备110可以在时间tg处生成下行链路数据分组(即,作为框b370的结果)。tg可以被用作框b380处的下行链路时间戳。在时间tm1处,主设备110可以(在框b380处)将下行链路数据分组与下行链路时间戳tg一起发送给卫星设备120a,卫星设备120a可以(在框b440处)在ts1(卫星设备a时间520)处接收下行链路数据分组和下行链路时间戳tg。在时间tm2处,主设备110可以(在框b440处)将下行链路数据分组与下行链路时间戳tg一起发送给卫星设备120b,卫星设备120b可以(在框b440处)在ts2(卫星设备b时间530)处接收下行链路数据分组和下行链路时间戳tg。

卫星设备120a和120b中的每一个可以将tg转换成其各自的系统时间。例如,对于卫星设备a时间520,tg(主时钟)可以对应于tg+off1。对于卫星设备b时间530,tg(主时钟)可以对应于tg+off2。在转换之后,卫星设备120a和120b中的每一个可以将下行链路回放延迟(δt)应用于回放。例如,卫星设备120a可以在tpbs1(其等于tg+off1+δt)处回放下行链路数据分组。卫星设备120b可以在tpbs2(其等于tg+off2+δt)处回放下行链路数据分组。

δt可以是预定的并且可以在发起活动的会议会话时被发送给卫星设备120中的每个卫星设备。替代地,δt可以是与下行链路数据分组一起发送的。在任一情况下,主设备110可以从卫星设备120a和120b中的每个卫星设备120接收下行链路接收时间戳ts1和ts2(使用针对主时钟对应的时间偏移),所述下行链路接收时间戳ts1和ts2与接收先前的下行链路数据分组或测试数据分组的时间相对应。主设备110可以确定下行链路回放延迟(δt)将是卫星设备120之中的下行链路接收时间戳(ts1和ts2)与下行链路时间戳(tm)之间的差值的最大值。在另外的实施例中,主设备110可以向最大差值中增加下行链路裕量。下行链路裕量可以是例如半个帧(10ms)、一个帧(20ms)、两个帧(40ms)等。

图6是根据各个实施例,示出了上行链路同步过程600的示例的图。参照图1-6,主设备时间610可以对应于主设备110的系统时间。卫星设备a时间620可以对应于卫星设备120a的系统时间。卫星设备b时间630可以对应于卫星设备120b的系统时间。特别地,主设备时间610可以等于被偏置了卫星设备120a的偏移(off1)的卫星设备a时间620。主设备时间610还可以等于被偏置了卫星设备120b的偏移(off2)的卫星设备b时间630。如所描述的,off1和off2中的每一个可以是正数或负数。

在分组a生成640a中,主设备110可以(在框b350处)在关于主设备时间610的时间tts处生成第一上行链路数据分组。在分组b生成640b中,卫星设备120a可以在关于卫星设备a时间620的时间tts+off1处生成第二上行链路数据分组。在分组c生成640c中,卫星设备120b可以在关于卫星设备b时间630的时间tts+off2处生成第三上行链路数据分组。第一上行链路数据分组、第二上行链路数据分组和第三上行链路数据分组全部可以是在关于主设备时间610的tts处生成。卫星设备120a和120b中的每一个可以使用off1和off2来确定关于主设备时间610的上行链路时间戳(tts)。分组a生成640a、分组b生成640b和分组a生成640c可以是使用其各自的设备的用户接口设备250的麦克风210(用于音频数据)和相机(用于视觉数据)生成的。

在时间ts3处,卫星设备120a可以(在框b460处)将第二上行链路数据分组与上行链路时间戳tts一起发送给主设备110,主设备110可以(在框b350处)在tn1(主设备时间610)处接收第二上行链路数据分组和上行链路时间戳tts。在时间ts4处,卫星设备120b可以(在框b460处)将第三上行链路数据分组与上行链路时间戳tts一起发送给主设备110,主设备110可以(在框b350处)在tn2(主设备时间610)处接收第三上行链路数据分组和上行链路时间戳tts。

在接收到第二上行链路数据分组和第三上行链路数据分组之后,主设备110可以(在框b360处)在tf处将第一上行链路数据分组、第二上行链路数据分组和第三上行链路数据分组对齐。如所描述的,tf是通过将上行链路时间戳tts和上行链路缓冲持续时间tub相加来确定的。

图7是根据各个实施例,示出了用于选择上行链路缓冲持续时间(tub)的过程700的示例的过程流程图。参照图1-7,过程700可以由vcs100的主设备110执行,以在框b340处确定上行链路缓冲持续时间。

在框b710处,主设备110可以确定卫星设备120中的每个卫星设备120的总延时。特别地,总延时(tl)可以是网络相关的延时(w)和本地框架延时(l)的组合(即,tl=w+l)。网络相关的延时可以与关于卫星设备120中的每个卫星设备的、与网络150相关联的延时有关。卫星设备120中的每个卫星设备的网络相关的频率可以是不同的,这取决于卫星设备120中的每个卫星设备连接到网络150所采用的方式。本地框架延时可以与特定于卫星设备120中的每个卫星设备的信号处理延时有关。因此,卫星设备120中的每个卫星设备的本地框架延时基于制造商、型号、制造等可以是不同的。对于主设备110,网络相关的延时是0。

主设备110可以通过确定源自每个卫星设备120的先前生成的上行链路数据分组(或测试分组)的生成时间戳与如主设备110接收的先前生成的上行链路数据分组(或测试分组)的接收的时间戳之间的时间差,来确定卫星设备120中的每个卫星设备的总延时。生成时间戳可以是先前生成的上行链路数据分组或测试分组的上行链路时间戳(tts)。例如,如在图6中具体示出的,卫星设备120a的总延时可以是通过计算tn1和tts之间的差值来确定的。在另一个示例中,卫星设备120b的总延时可以是通过计算tn2和tts之间的差值来确定的。考虑到生成时间戳已经在主设备时间610中,因此主设备110不需要进一步的转换。否则,主设备110可以将生成时间戳转换成相应的主设备时间610。

在框b720处,主设备110可以基于卫星设备120之中的最高总延时与最低总延时之间的差值来确定上行链路缓冲持续时间。在特定的实施例中,上行链路缓冲持续时间可以是基于如下公式来确定的:

(4)tub=[max(tl)–min(tl)]+margin;

其中max(tl)表示卫星设备120之中的最高总延时,min(tl)表示卫星设备120之中的最低总延时,以及margin(裕量)是增加的预定时间间隔。裕量的示例可以包括但不限于10ms(半个帧)、20ms(一个帧)、40ms(两个帧)等。裕量可以是基于网络150的信道状况来确定的。

因此,替代基于最高总延时,上行链路缓冲持续时间可以是基于最高总延时与最低总延时之间的差值来确定的。

在框b730处,主设备110可以例如在框b350处从卫星设备120中的每个卫星设备接收上行链路数据分组和与上行链路数据分组相关联的上行链路时间戳(tts)。接收的上行链路数据分组可以包括在分组b生成640b处和分组c生成640c处生成的上行链路数据分组。另外,主设备110还可以在相同的上行链路时间戳处(在分组a生成640a处)生成上行链路数据分组。

在框b740处,主设备110可以使用上行链路时间戳和上行链路缓冲持续时间来确定用于所接收的上行链路数据分组的处理时间。在一些实施例中,相同的处理时间还可以对应于主设备110在相同的上行链路时间戳处生成的上行链路数据分组。处理时间(tf)可以是主设备110将执行信号处理功能(诸如但不限于用于从卫星设备120接收的和主设备110生成的上行链路数据分组的信道选择和信道混合)的时间。

特别地,处理时间是上行链路时间戳所指示的时间加上上行链路缓冲持续时间。

在框b750处,主设备110可以在用于至少所接收的上行链路数据分组(以及主设备110生成的上行链路数据分组)的处理时间处执行信号处理。

在一些实施例中,上行链路缓冲持续时间可以是使用(在框b730处接收的)当前的上行链路数据分组和上行链路时间戳确定的,而不是使用先前接收的上行链路数据分组或测试分组来确定的。即,可以交换框b720和框b730。在框b730处接收到当前的上行链路数据分组和上行链路时间戳之后,主设备110可以在框b720处确定用于当前的上行链路数据分组和上行链路时间戳的上行链路缓冲持续时间,而不是用于先前接收的上行链路数据分组或测试分组以及与其相关联的上行链路时间戳的上行链路缓冲持续时间。在各个实施例中,本地延时和框架延时可以是在执行同步之后确定的。

图8是根据各个实施例,示出了用于确定实际的上行链路时间戳(tts)的过程800的示例的过程流程图。参照图1-8,过程800可以由vcs100的主设备110和/或卫星设备120(被称为pcd200)来执行。

每个pcd200可以具有本地框架延时(l)。例如,如图6所示,主设备110可以具有主本地框架延时(lm)。卫星设备120a可以具有第一卫星框架延时(ls1)。卫星设备120b可以具有第二卫星框架延时(ls2)。即使在640a、640b和640c生成的分组在生成的时刻可以与上行链路时间戳(tts)相关联,但是给定与pcd20相关联的本地框架延时l,每个pcd200可以测量延迟的上行链路时间戳。例如,主本地框架延时可以使得主设备110在延迟的上行链路时间戳(ttpm)处测量生成时间。第一卫星框架延时可以使得卫星设备120a在延迟的上行链路时间戳(ttps1)处测量生成时间。第二卫星框架延时可以使得卫星设备120b在延迟的上行链路时间戳(ttps2)处测量生成时间。

主设备110和卫星设备120中的每一个(即,每个pcd200)可以被配置为确定其自己的本地框架延时。在框b810处,pcd200可以在生成时间戳处,利用pcd200的用户接口设备250的输出设备(例如,扬声器)来输出可区分的音频比特流。在框b820处,pcd200的麦克风210可以在接收时间戳处捕获包括比特流的声音信号。pcd200可以在信号被捕获到时,来将所捕获的信号模式与所输出的比特流的固定/已知的信号模式进行比较以查看匹配。当发现匹配时,设置接收时间戳。可接受的匹配可以是100%、90%、80%、75%等。

在框b830处,pcd200可以通过计算比特流的生成时间戳与接收时间戳之间的差值,来确定本地框架延时。可以将本地框架延时近似为该差值。在框b840处,pcd200可以使用所确定的本地框架延时来获得实际的上行链路时间戳(tts)。例如,卫星设备120可以在框b460处进行发送之前,将所延迟的上行链路时间戳(ttps1和ttps2)转换成实际的上行链路时间戳(tts)。同样,主设备110可以在框b750处的信号处理之前,将所延迟的上行链路时间戳(ttpm)转换成实际的上行链路时间戳(tts)。

在一些实施例中,主设备110和卫星设备120可以访问环境噪声是否低于预定门限,以便执行本文描述的过程。主设备110和卫星设备120可以被配置为利用麦克风210来捕获声音信号达预定时间段(例如,5秒、10秒等)。当所捕获的声音信号的能量和/或幅度达到预定门限时,用于实现本文描述的过程的软件模块可能因缺少可接受的环境而不被执行。在另外的实施例中,主设备110和卫星设备120的用户接口250的输出设备(例如,扬声器、显示屏)可以提示用户移动到具有音频和/或视觉输出的更安静的位置。

序列号也可以用于上行链路和下行链路同步过程。图9是根据各个实施例,示出了用于进行虚拟会议的过程900的示例的过程流程图。参照图1-9,过程900可以被实现用于vcs100,其中,至少主设备110和卫星设备120可以是利用pcd200实现的。过程900可以被实现用于主设备110。框b910-b940中的每个框可以与框b310-b340中的每个框相对应。

在框b950处,主设备110可以从卫星设备120接收数据分组,接收到的每个数据分组可以与上行链路序列号相关联。主设备110自己可以生成具有上行链路序列号的数据分组。可以与处理具有相同的上行链路时间戳的数据分组相类似地来处理具有相同的上行链路序列号的数据分组。即,在框b960处,可以基于上行链路缓冲持续时间来将具有相同的上行链路序列号的数据分组对齐。在框b970处,主设备110可以执行针对上行链路序列号被对齐的上行链路数据分组的信道混合和/或选择。在框b980处,主设备110可以将所混合/选择的数据分组与序列号一起发送给远程设备130(或者另外地,在声学隔离场景中发送给卫星设备120)。

在框b930之后且在框b950之前,在框990处,主设备110可以(根据主时钟)确定第一次将数据分组排序(具有序列号=0)的发起时间。随后可以将发起时间发送给卫星设备120。卫星设备120中的每个卫星设备120可以通过使用在框b930处确定的时间偏移来将所接收的发起时间转换成其自己的相应时钟,来确定排序的发起时间。考虑到可以将序列号按顺序分配给每个数据分组,因此可以同时生成来自卫星设备120和主设备110中的不同设备的数据分组。

图10是根据各个实施例,示出了用于进行虚拟会议的过程1000的示例的过程流程图。参照图1-10,过程1000可以被实现用于vcs100,其中,至少主设备110和卫星设备120可以是利用pcd200实现的。过程1000可以被卫星设备120中的一个卫星设备120(例如,卫星设备120a)使用。

在框b1010处,卫星设备120a可以在不改变卫星设备120a的系统时钟的情况下,获得关于主设备110维护的主时钟的时间偏移。在框b1020处,卫星设备120a可以确定与上行链路数据分组相关联的第一时间戳。第一时间戳可以与卫星设备120a的系统时钟相对应。接下来,在框1030处,卫星设备120a可以使用时间偏移来将第一时间戳转换成第二时间戳。第二时间戳可以与主时钟相对应。换句话说,第二时间戳是上行链路时间戳,其可以是针对本地框架延时来调整的,如本文所描述的。接下来,在框b1040处,卫星设备120a可以将上行链路数据分组与第二(上行链路)时间戳一起发送给主设备110。

此外,在针对卫星设备120a发起了活动的会议会话之后,卫星设备120a可以从主设备110接收下行链路回放延时(例如,在框b460处)。卫星设备120a可以从主设备110接收下行链路数据分组和与下行链路分组相关联的下行链路时间戳(例如,在框b440处)。随后,卫星设备120a可以基于下行链路时间戳和下行链路回放延迟来输出下行链路数据分组(例如,在框b450处)。

虽然时间偏移机制、上行链路缓冲持续时间选择、下行链路回放延迟选择和上行链路数据分组(和相关联的时间戳)传输是关于卫星设备进行描述的,但是本领域的技术人员可以认识到的是,如果主设备110能够经由网络155与远程设备130进行通信(不通过桥路140来直接地或者通过桥路140来间接地进行通信),则也可以将类似的机制扩展到远程设备130。

如本文所引用的,上行链路数据分组、下行链路数据分组、数据分组、帧等可以指代用于vcs100的任何类型的音频分组/帧或视频分组/帧。

提供前述方法描述和过程流图仅仅作为说明性示例,并非旨在要求或暗示必须用所给出的顺序来执行各个方面的步骤。如本领域技术人员将意识到的,可以用任何次序来执行前述实施例中的步骤的次序。诸如“此后”、“然后”、“接下来”之类的词语并非旨在对步骤的次序进行限制;这些词语仅用于引导读者贯穿对方法的描述。此外,以单数形式对权利要求要素的任何引用,例如使用冠词“一”、“一个”或“所述”不应解释为将要素限制为单数。

结合本文公开的实施例所描述的各种说明性的逻辑框、模块、电路和算法步骤可以实现为电子硬件、计算机软件或者二者的组合。为了清楚地示出硬件和软件的这种可互换性,上面已经对各种说明性的组件、框、模块、电路和步骤围绕其功能进行了一般性描述。至于这种功能是实现为硬件还是软件,这取决于特定的应用和施加在整体系统上的设计约束。技术人员可以针对每个特定应用以不同的方式来实现所描述的功能,但是这种实现决策不应当解释为致使偏离本发明的范围。

利用被设计为执行本文所描述的功能的通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其它可编程逻辑器件、分立门或晶体管逻辑器件、分立硬件组件或者其任意组合,可以实现或执行用于实现结合本文公开的实施例所描述的各种说明性的逻辑单元、逻辑框、模块和电路的硬件。通用处理器可以是微处理器,但在替代方案中,该处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、与dsp内核结合的一个或多个微处理器,或者任何其它此种配置。替代地,可以由特定于给定功能的电路来执行一些步骤或方法。

在一个或多个示例性实施例中,可以在硬件、软件、固件、或者其任意组合中实现所描述的功能。如果用软件实现,则可以将所述功能作为一个或多个指令或代码存储在非暂时性计算机可读存储介质或者非暂时性处理器可读存储介质上。本文所公开的方法或算法的操作可以体现在处理器可执行软件模块中,该处理器可执行软件模块可以驻留在非暂时性计算机可读或处理器可读存储介质上。非暂时性计算机可读或处理器可读存储介质可以是可以由计算机或处理器存取的任何存储介质。通过举例而非限制性的方式,这种非暂时性计算机可读或处理器可读存储介质可以包括ram、rom、eeprom、闪存、cd-rom或其它光盘存储、磁盘存储或其它磁存储设备、或者可以用于以指令或数据结构的形式存储期望的程序代码并可以由计算机存取的任何其它介质。如本文所使用的,磁盘和光盘包括压缩盘(cd)、激光光盘、光盘、数字多功能光盘(dvd)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上述的组合也包括在非暂时性计算机可读和处理器可读介质的范围之内。此外,方法或算法的操作可以作为代码和/或指令中的一个或任何组合、或代码和/或指令集驻留在非暂时性处理器可读存储介质和/或计算机可读存储介质上,所述非暂时性处理器可读存储介质和/或计算机可读存储介质可以并入计算机程序产品。

对于本领域技术人员来说,对本文描述的实施例的各种修改将是显而易见的,并且在不脱离本公开内容的精神或范围的情况下,可以将本文定义的总体原理应用于一些实施例。因此,本公开内容并不旨在受限于本文示出的实施例,而是要符合与所附权利要求书和本文所描述的原理和新颖特征的相一致的最宽的范围。

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