CN106817508B - 一种同步对象确定方法、装置和*** - Google Patents

一种同步对象确定方法、装置和*** Download PDF

Info

Publication number
CN106817508B
CN106817508B CN201510863976.6A CN201510863976A CN106817508B CN 106817508 B CN106817508 B CN 106817508B CN 201510863976 A CN201510863976 A CN 201510863976A CN 106817508 B CN106817508 B CN 106817508B
Authority
CN
China
Prior art keywords
terminal
indicate
information
distance
synchronization object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510863976.6A
Other languages
English (en)
Other versions
CN106817508A (zh
Inventor
周超
张梦晗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510863976.6A priority Critical patent/CN106817508B/zh
Priority to EP16194958.1A priority patent/EP3173134B1/en
Priority to US15/363,341 priority patent/US10338879B2/en
Publication of CN106817508A publication Critical patent/CN106817508A/zh
Application granted granted Critical
Publication of CN106817508B publication Critical patent/CN106817508B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/024Multi-user, collaborative environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种同步对象确定方法、装置和***,该方法为:同步设备获取第一终端和第二终端的状态信息;根据所述第一终端和第二终端的位置信息,确定所述第一终端与所述第二终端在显示画面中的第一距离;以及根据所述第一终端和第二终端的位置信息、速度信息和加速度信息,预测经过设定时长后所述第一终端与所述第二终端在显示画面中的第二距离;若所述第一距离大于所述第二距离,则所述同步设备将所述第二终端归入所述第一终端的同步对象。上述方法根据终端的移动特性为每个终端选择合适的同步对象,一方面可以达到同步的目的,另一方面可以避免同步对象过多导致的画面不连贯或卡顿、不必要的带宽消耗和设备使用时间降低的问题。

Description

一种同步对象确定方法、装置和***
技术领域
本发明涉及图像处理技术领域,尤其涉及一种同步对象确定方法、装置和***。
背景技术
虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真技术。它利用计算机生成一种模拟环境,使用户沉浸到该环境中。在虚拟现实中,一种常见的应用场景是多人协作或多人游戏,其面临的一大挑战就是多终端之间的同步问题。例如,在多人游戏中,所有参与的终端位于一个虚拟环境中,在其中移动和协作。如果终端之间不同步,即终端之间在时间上存在差异,那么在进行协作或游戏对战时,会导致多个终端各自观看到的画面出现不同步和延迟等问题,影响用户体验。
现有的一种终端间时间同步的方法,可以解决在多终端同步的场景下,每个终端向谁同步的问题。在该方法中,每个终端按照设定周期执行下述流程:
步骤一:判断是否接收到其它终端的同步时标,若是,执行步骤三,否则,执行步骤二。
步骤二:向其它终端发送本终端的同步时标,该同步时标中包括本终端的优先级编号和本终端的本地时间信息,并结束当前周期的执行流程。
步骤三:判断接收到的同步时标中包括的来源终端的优先级编号是否高于本终端的优先级编号,若是,执行步骤四,否则,执行步骤二。
步骤四:根据接收的同步时标中包括的时间信息调整本地时间。
步骤五:向其它终端发送本终端的同步时标,该同步时标中包括上述来源终端的优先级编号和本终端的本地时间信息,并结束当前周期的执行流程。
上述同步方法在进行同步时,只考虑了终端的优先级来选择同步对象,但在实际应用中,由于网络传输时延、本地缓存和用户接入时刻有差异等因素的影响,各个终端在时间上可能存在差异,这种同步方法有可能导致个别终端执行同步时的时间调整幅度过大,出现个别终端看到的画面不连贯或卡顿的问题。
发明内容
本发明实施例提供一种同步对象确定方法、装置和***,用以解决在多终端同步的场景下,个别终端因时间调整幅度过大导致看到的画面不连贯或卡顿的问题。
第一方面,提供了一种同步对象确定方法,所述方法为:
同步设备获取第一终端和第二终端的状态信息;所述状态信息包括位置信息、速度信息和加速度信息;所述位置信息用于描述终端在显示画面中的坐标位置;所述速度信息用于描述终端的速度和速度方向;所述加速度信息用于描述终端的加速度和加速度方向;
所述同步设备根据所述第一终端和第二终端的位置信息,确定所述第一终端与所述第二终端在显示画面中的第一距离;以及根据所述第一终端和第二终端的位置信息、速度信息和加速度信息,预测经过设定时长后所述第一终端与所述第二终端在显示画面中的第二距离;
若所述第一距离大于所述第二距离,则所述同步设备将所述第二终端归入所述第一终端的同步对象。
本申请在对终端进行同步时,考虑了终端的移动特性,通过对终端未来的状态进行预判,根据终端之间的距离在设定时长后是变大还是减小,从而为每个终端动态地选择合适的同步对象,可以提高同步效率,减小后续出现同步时间调整幅度较大的概率。
结合第一方面,在第一方面的第一种可能的实现方式中,所述第一距离满足下述公式要求:
其中,sij表示所述第一距离,(xi,yi,zi)表示所述同步设备获取到的状态信息中包含的第一终端的位置信息,(xj,yj,zj)表示所述同步设备获取到的状态信息中包含的第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1;
所述第二距离满足下述公式要求:
其中,s′ij表示所述第二距离,(x′i,y′i,z′i)表示所述同步设备预测的经过所述设定时长后所述第一终端的位置信息,(x′j,y′j,z′j)表示所述同步设备预测的经过所述设定时长后所述第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1;
其中,所述同步设备预测的经过所述设定时长后终端的位置信息满足下述公式要求:
其中,x,y,z分别表示所述同步设备获取到的状态信息中包含的终端三个维度的位置信息;x′,y′,z′表示所述同步设备预测的经过所述设定时长后终端三个维度的位置信息;T表示所述设定时长;表示所述状态信息中包含的终端三个维度的速度信息;表示所述状态信息中包含的终端三个维度的加速度信息。
第二方面,提供了一种同步对象确定方法,所述方法为:
同步设备获取第一终端和第二终端的状态信息;所述状态信息包括位置信息和距离阈值;所述位置信息用于描述终端在显示画面中的坐标位置;
所述同步设备根据所述第一终端和第二终端的位置信息,确定所述第一终端与所述第二终端在显示画面中的距离;
若所述距离小于所述第一终端的所述距离阈值,则所述同步设备将所述第二终端归入所述第一终端的同步对象。
本申请在对终端进行同步时,考虑到在多终端参与的协作中,如果终端相距较远,彼此之间不可见并且彼此的操作不会对对方的视景产生任何影响,那么这些终端之间即使不同步,也不会对体验产生影响。相反,如果终端相距较近并且对同一场景可见,那么终端之间的不同步,将导致协作上存在延迟的问题,影响用户体验。因此从***中的若干终端中筛选出与所述第一终端相距较近的终端作为所述第一终端的同步对象,从而减少了第一终端的同步对象的数量,可以避免所述第一终端执行同步时出现时间调整幅度过大的问题。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第一终端与所述第二终端在显示画面中的距离满足下述公式要求:
其中,sij表示所述第一终端与所述第二终端在显示画面中的距离,(xi,yi,zi)表示所述第一终端的位置信息,(xj,yj,zj)表示所述第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1。
第三方面,提供了一种同步对象确定装置,所述同步对象确定装置具有实现上述方法中同步设备的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能的实现方式中,所述同步对象确定装置包括:
获取单元,用于获取第一终端和第二终端的状态信息;所述状态信息包括位置信息、速度信息和加速度信息;所述位置信息用于描述终端在显示画面中的坐标位置;所述速度信息用于描述终端的速度和速度方向;所述加速度信息用于描述终端的加速度和加速度方向;
计算单元,用于根据所述第一终端和第二终端的位置信息,确定所述第一终端与所述第二终端在显示画面中的第一距离;以及根据所述第一终端和第二终端的位置信息、速度信息和加速度信息,预测经过设定时长后所述第一终端与所述第二终端在显示画面中的第二距离;
处理单元,若所述第一距离大于所述第二距离,则用于将所述第二终端归入所述第一终端的同步对象。
另一种可能的实现方式中,所述同步对象确定装置包括:
收发器,用于获取第一终端和第二终端的状态信息;所述状态信息包括位置信息、速度信息和加速度信息;所述位置信息用于描述终端在显示画面中的坐标位置;所述速度信息用于描述终端的速度和速度方向;所述加速度信息用于描述终端的加速度和加速度方向;
处理器,用于根据所述第一终端和第二终端的位置信息,确定所述第一终端与所述第二终端在显示画面中的第一距离;以及根据所述第一终端和第二终端的位置信息、速度信息和加速度信息,预测经过设定时长后所述第一终端与所述第二终端在显示画面中的第二距离;若所述第一距离大于所述第二距离,则用于将所述第二终端归入所述第一终端的同步对象。
第四方面,提供了一种同步对象确定装置,所述同步对象确定装置具有实现上述方法中同步设备的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能的实现方式中,所述同步对象确定装置包括:
获取单元,用于获取第一终端和第二终端的状态信息;所述状态信息包括位置信息和距离阈值;所述位置信息用于描述终端在显示画面中的坐标位置;
计算单元,用于根据所述第一终端和第二终端的位置信息,确定所述第一终端与所述第二终端在显示画面中的距离;
处理单元,若所述距离小于所述第一终端的所述距离阈值,则用于将所述第二终端归入所述第一终端的同步对象。
另一种可能的实现方式中,所述同步对象确定装置包括:
收发器,用于获取第一终端和第二终端的状态信息;所述状态信息包括位置信息和距离阈值;所述位置信息用于描述终端在显示画面中的坐标位置;
处理器,用于根据所述第一终端和第二终端的位置信息,确定所述第一终端与所述第二终端在显示画面中的距离;若所述距离小于所述第一终端的所述距离阈值,则用于将所述第二终端归入所述第一终端的同步对象。
第五方面,提供了一种同步对象确定***,包括第一终端,至少一个第二终端和同步设备,其中
所述第一终端,用于向所述同步设备发送所述第一终端的状态信息;
所述第二终端,用于向所述同步设备发送所述第二终端的状态信息;
所述同步设备,用于获取所述第一终端和所述第二终端的状态信息;所述状态信息包括位置信息、速度信息和加速度信息;所述位置信息用于描述终端在显示画面中的坐标位置;所述速度信息用于描述终端的速度和速度方向;所述加速度信息用于描述终端的加速度和加速度方向;确定所述第一终端与所述第二终端在显示画面中的第一距离;以及根据所述第一终端和第二终端的位置信息、速度信息和加速度信息,预测经过设定时长后所述第一终端与所述第二终端在显示画面中的第二距离;若所述第一距离大于所述第二距离,则将所述第二终端归入所述第一终端的第一类同步对象。
结合第五方面,在第五方面的第一种可能的实现方式中,所述状态信息还包括距离阈值;
若所述第一距离大于所述第二距离,则所述同步设备将所述第二终端归入所述第一终端的第一类同步对象,具体包括:
若所述第一距离大于所述第一终端的所述距离阈值,且所述第一距离大于所述第二距离,则所述同步设备将所述第二终端归入所述第一终端的第一类同步对象。
结合第五方面或第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述第一距离满足下述公式要求:
其中,sij表示所述第一距离,(xi,yi,zi)表示所述同步设备获取到的状态信息中包含的第一终端的位置信息,(xj,yj,zj)表示所述同步设备获取到的状态信息中包含的第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1;
所述第二距离满足下述公式要求:
其中,s′ij表示所述第二距离,(x′i,y′i,z′i)表示所述同步设备预测的经过所述设定时长后所述第一终端的位置信息,(x′j,y′j,z′j)表示所述同步设备预测的经过所述设定时长后所述第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1;
其中,所述同步设备预测的经过所述设定时长后终端的位置信息满足下述公式要求:
其中,x,y,z分别表示所述同步设备获取到的状态信息中包含的终端三个维度的位置信息;x′,y′,z′表示所述同步设备预测的经过所述设定时长后终端三个维度的位置信息;T表示所述设定时长;表示所述状态信息中包含的终端三个维度的速度信息;表示所述状态信息中包含的终端三个维度的加速度信息。
结合第五方面的第一种可能的实现方式,在第五方面的第三种可能的实现方式中,所述状态信息还包括时间信息;所述时间信息用于描述终端在显示画面中的时间;
所述同步设备还用于:
确定所述第一终端与所述第一终端的第一类同步对象中的每一个终端的渐进时间差异;所述渐进时间差异为绝对时间差异的所述绝对时间差异为时间信息的差值;所述nim当所述第一类同步对象中的任一个终端与所述第一终端在显示画面中的距离不大于所述第一终端的距离阈值时最多经过的所述设定时长的数目;
根据预设的同步策略,以及所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,确定所述第一终端的等待时长;将所述等待时长通知给所述第一终端,以指示所述第一终端将所述第一终端在显示画面上的时间暂停所述等待时长,使得所述第一终端上的显示画面与所述第一类同步对象中时间最滞后的终端的显示画面保持一致;或,
根据预设的同步策略,以及所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,确定所述第一终端的跳转时长;将所述跳转时长通知给所述第一终端,以指示所述第一终端将所述第一终端在显示画面上的时间向前跳转所述跳转时长,使得所述第一终端上的显示画面与所述第一类同步对象中时间最超前的终端的显示画面保持一致;
其中,所述第一终端的等待时长Δti_wait满足下述公式要求:
所述第一终端的跳转时长Δti_jump满足下述公式要求:
其中,
Δt′im表示所述第一终端与所述第一类同步对象中的任一个终端的渐进时间差异,Δtim表示所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异;
Δtim=ti-tm
Δtim表示所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异,ti表示所述第一终端的时间信息,tm表示所述第一类同步对象中的任一个终端的时间信息;
nim满足下述公式要求:
其中,sim表示所述第一终端与所述第一类同步对象中的任一个终端在显示画面中的所述第一距离;s′im表示所述第一终端与所述第一类同步对象中的任一个终端在显示画面中的所述第二距离;di表示所述第一终端的距离阈值。
本申请通过引入渐进时间差异,可以将同步过程拉长,即将一次同步变成多次同步,从而使得每次同步的时间幅度都较小,避免后续出现同步时间调整幅度较大,而导致画面不连贯或卡顿等问题。
结合第五方面的第一种可能的实现方式,在第五方面的第四种可能的实现方式中,所述状态信息还包括时间信息;所述时间信息用于描述终端在显示画面中的时间;
所述同步设备还用于:
若所述第一距离小于所述第一终端的所述距离阈值,则将所述第二终端归入所述第一终端的第二类同步对象;
确定所述第一终端与所述第一终端的第一类同步对象中的每一个终端的渐进时间差异;所述渐进时间差异为绝对时间差异的所述绝对时间差异为时间信息的差值;所述nim为当所述第一类同步对象中的任一个终端与所述第一终端在显示画面中的距离不大于所述第一终端的距离阈值时最多经过的所述设定时长的数目;
确定所述第一终端与所述第一终端的第二类同步对象中的每一个终端的绝对时间差异;
根据预设的同步策略,所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,以及所述第一终端与所述第二类同步对象中的每一个终端的绝对时间差异,确定所述第一终端的等待时长;将所述等待时长通知给所述第一终端,以指示所述第一终端将所述第一终端在显示画面上的时间暂停所述等待时长,使得所述第一终端上的显示画面与所述第一类同步对象和所述第二类同步对象中时间最滞后的终端的显示画面保持一致;或,
根据预设的同步策略,所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,以及所述第一终端与所述第二类同步对象中的每一个终端的绝对时间差异,确定所述第一终端的跳转时长;将所述跳转时长通知给所述第一终端,以指示所述第一终端将所述第一终端在显示画面上的时间向前跳转所述跳转时长,使得所述第一终端上的显示画面与所述第一类同步对象和所述第二类同步对象中时间最超前的终端的显示画面保持一致;
其中,所述第一终端的等待时长Δti_wait满足下述公式要求:
所述第一终端的跳转时长Δti_jump满足下述公式要求:
其中,Δtil=ti-tl
Δtil表示所述第一终端与所述第二类同步对象中的任一个终端的绝对时间差异,ti表示所述第一终端的时间信息,tl表示所述第二类同步对象中的任一个终端的时间信息;
Δt′im表示所述第一终端与所述第一类同步对象中的任一个终端的渐进时间差异,Δtim表示所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异;
Δtim=ti-tm
Δtim表示所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异,ti表示所述第一终端的时间信息,tm表示所述第一类同步对象中的任一个终端的时间信息;
nim满足下述公式要求:
其中,sim表示所述第一终端与所述第一类同步对象中的任一个终端在显示画面中的所述第一距离;s′im表示所述第一终端与所述第一类同步对象中的任一个终端在显示画面中的所述第二距离;di表示所述第一终端的距离阈值。
第六方面,提供了一种同步对象确定***,包括第一终端和至少一个第二终端,其中
所述第二终端,用于向所述第一终端发送所述第二终端的状态信息;
所述第一终端,用于获取所述第一终端和所述第二终端的状态信息;所述状态信息包括位置信息、速度信息和加速度信息;所述位置信息用于描述终端在显示画面中的坐标位置;所述速度信息用于描述终端的速度和速度方向;所述加速度信息用于描述终端的加速度和加速度方向;确定所述第一终端与所述第二终端在显示画面中的第一距离;以及根据所述第一终端和第二终端的位置信息、速度信息和加速度信息,预测经过设定时长后所述第一终端与所述第二终端在显示画面中的第二距离;若所述第一距离大于所述第二距离,则将所述第二终端归入所述第一终端的第一类同步对象。
结合第六方面,在第六方面的第一种可能的实现方式中,所述状态信息还包括距离阈值;
若所述第一距离大于所述第二距离,则所述第一终端将所述第二终端归入所述第一终端的第一类同步对象,具体包括:
若所述第一距离大于所述第一终端的所述距离阈值,且所述第一距离大于所述第二距离,则所述第一终端将所述第二终端归入所述第一终端的第一类同步对象。
结合第六方面或第六方面的第一种可能的实现方式,在第六方面的第二种可能的实现方式中,所述第一距离满足下述公式要求:
其中,sij表示所述第一距离,(xi,yi,zi)表示所述第一终端获取到的状态信息中包含的第一终端的位置信息,(xj,yj,zj)表示所述第一终端获取到的状态信息中包含的第二终端的位置信息;
所述第二距离满足下述公式要求:
其中,s′ij表示所述第二距离,(x′i,y′i,z′i)表示所述第一终端预测的经过所述设定时长后所述第一终端的位置信息,(x′j,y′j,z′j)表示所述第一终端预测的经过所述设定时长后所述第二终端的位置信息;
其中,所述第一终端预测的经过所述设定时长后终端的位置信息满足下述公式要求:
其中,x,y,z分别表示所述第一终端获取到的状态信息中包含的终端三个维度的位置信息;x′,y′,z′表示所述第一终端预测的经过所述设定时长后终端三个维度的位置信息;T表示所述设定时长;表示所述状态信息中包含的终端三个维度的速度信息;表示所述状态信息中包含的终端三个维度的加速度信息。
结合第六方面的第一种可能的实现方式,在第六方面的第三种可能的实现方式中,所述状态信息还包括时间信息;所述时间信息用于描述终端在显示画面中的时间;
所述第一终端还用于:
确定所述第一终端与所述第一终端的第一类同步对象中的每一个终端的渐进时间差异;所述渐进时间差异为绝对时间差异的所述绝对时间差异为时间信息的差值;所述nim当所述第一类同步对象中的任一个终端与所述第一终端在显示画面中的距离不大于所述第一终端的距离阈值时最多经过的所述设定时长的数目;
根据预设的同步策略,以及所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,确定所述第一终端的等待时长;将所述等待时长通知给所述第一终端,以指示所述第一终端将所述第一终端在显示画面上的时间暂停所述等待时长,使得所述第一终端上的显示画面与所述第一类同步对象中时间最滞后的终端的显示画面保持一致;或,
根据预设的同步策略,以及所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,确定所述第一终端的跳转时长;将所述跳转时长通知给所述第一终端,以指示所述第一终端将所述第一终端在显示画面上的时间向前跳转所述跳转时长,使得所述第一终端上的显示画面与所述第一类同步对象中时间最超前的终端的显示画面保持一致;
其中,所述第一终端的等待时长Δti_wait满足下述公式要求:
所述第一终端的跳转时长Δti_jump满足下述公式要求:
其中,
Δt′im表示所述第一终端与所述第一类同步对象中的任一个终端的渐进时间差异,Δtim表示所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异;
Δtim=ti-tm
Δtim表示所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异,ti表示所述第一终端的时间信息,tm表示所述第一类同步对象中的任一个终端的时间信息;
nim满足下述公式要求:
其中,sim表示所述第一终端与所述第一类同步对象中的任一个终端在显示画面中的所述第一距离;s′im表示所述第一终端与所述第一类同步对象中的任一个终端在显示画面中的所述第二距离;di表示所述第一终端的距离阈值。
结合第六方面的第一种可能的实现方式,在第六方面的第四种可能的实现方式中,所述状态信息还包括时间信息;所述时间信息用于描述终端在显示画面中的时间;
所述第一终端还用于:
若所述第一距离小于所述第一终端的所述距离阈值,则将所述第二终端归入所述第一终端的第二类同步对象;
确定所述第一终端与所述第一终端的第一类同步对象中的每一个终端的渐进时间差异;所述渐进时间差异为绝对时间差异的所述绝对时间差异为时间信息的差值;所述nim当所述第一类同步对象中的任一个终端与所述第一终端在显示画面中的距离不大于所述第一终端的距离阈值时最多经过的所述设定时长的数目;
确定所述第一终端与所述第一终端的第二类同步对象中的每一个终端的绝对时间差异;
根据预设的同步策略,所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,以及所述第一终端与所述第二类同步对象中的每一个终端的绝对时间差异,确定所述第一终端的等待时长;将所述等待时长通知给所述第一终端,以指示所述第一终端将所述第一终端在显示画面上的时间暂停所述等待时长,使得所述第一终端上的显示画面与所述第一类同步对象和所述第二类同步对象中时间最滞后的终端的显示画面保持一致;或,
根据预设的同步策略,所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,以及所述第一终端与所述第二类同步对象中的每一个终端的绝对时间差异,确定所述第一终端的跳转时长;将所述跳转时长通知给所述第一终端,以指示所述第一终端将所述第一终端在显示画面上的时间向前跳转所述跳转时长,使得所述第一终端上的显示画面与所述第一类同步对象和所述第二类同步对象中时间最超前的终端的显示画面保持一致;
其中,所述第一终端的等待时长Δti_wait满足下述公式要求:
所述第一终端的跳转时长Δti_jump满足下述公式要求:
其中,Δtil=ti-tl
Δtil表示所述第一终端与所述第二类同步对象中的任一个终端的绝对时间差异,ti表示所述第一终端的时间信息,tl表示所述第二类同步对象中的任一个终端的时间信息;
Δt′im表示所述第一终端与所述第一类同步对象中的任一个终端的渐进时间差异,Δtim表示所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异;
Δtim=ti-tm
Δtim表示所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异,ti表示所述第一终端的时间信息,tm表示所述第一类同步对象中的任一个终端的时间信息;
nim满足下述公式要求:
其中,sim表示所述第一终端与所述第一类同步对象中的任一个终端在显示画面中的所述第一距离;s′im表示所述第一终端与所述第一类同步对象中的任一个终端在显示画面中的所述第二距离;di表示所述第一终端的距离阈值。
第七方面,提供了一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当被包括多个应用程序的便携式电子设备执行时使所述便携式电子设备执行第一方面、第一方面的第一种可能的实现方式、第二方面和第二方面的第一种可能的实现方式中的任意一种实现方式的方法。
利用本申请提供的方案,通过为每个终端选择合适的同步对象,一方面可以达到同步的目的,另一方面可以避免同步对象过多导致的画面不连贯或卡顿、不必要的带宽消耗和设备使用时间降低的问题。
附图说明
图1为本申请提供的第一种集中式的多终端同步***的架构示意图;
图2为本申请提供的第二种分布式的多终端同步***的架构示意图;
图3为本申请提供的第一种同步对象确定方法的流程图;
图4为本申请提供的第二种同步对象确定方法的流程图;
图5为本申请提供的一种同步对象确定装置的结构示意图;
图6为本申请提供的另一种同步对象确定装置的结构示意图。
具体实施方式
在虚拟现实技术中,终端上的显示画面主要包括两部分,一部分是基础画面,也可称为场景画面,是与参与的终端无关的虚拟环境画面;另一部分是操作画面,是由于用户的操作对基础画面产生改变的画面,例如对战游戏中用户的开枪操作导致虚拟物体发生***的画面。虚拟现实技术最终呈现给终端的是基础画面与操作画面的叠加。由于网络传输延迟、本地缓存、用户接入时刻有差异等因素的影响,最终呈现给不同终端的画面,在时间上可能存在差异,即不同步。如果终端之间有交互,这种不同步将严重影响用户体验,因此需要对相关的终端进行同步。
但在进行多终端同步时,已有技术一般没有考虑同步对象的选取与划分,例如在多人游戏中,如果需要同步,已有技术一般会将所有参与的终端作为一个整体,并使得这个整体处于同步状态。而在实际应用中,这种同步方法存在一些问题,这是因为当参与的终端的数量较大时,一方面,各个参与的终端在时间上的差异性会比较大,如果直接同步,会导致个别终端的时间调整幅度过大,从而导致个别终端上显示的画面不连贯或卡顿的问题,影响用户体验;另一方面,如果部分参与的终端之间没有交互或者互相不会影响对方,那么这部分终端也没有必要执行同步,过多的同步操作反而会造成不必要的带宽消耗和设备使用时间的降低。
本申请正在于提供了一种同步对象确定方法、装置和***,通过为每个终端选择合适的同步对象,一方面可以达到同步的目的,另一方面可以避免同步对象过多导致时间调整幅度过大,造成显示画面不连贯或卡顿以及不必要的带宽消耗和设备使用时间降低的问题。
下面结合说明书附图和各实施例对本发明技术方案进行说明。
本申请提供的同步对象确定方法,可以适用于但不限于以下两种形式的多终端同步***。
第一种:集中式***。
如图1所示,该集中式的多终端同步***中包括内容服务器、同步服务器和若干终端,其中,内容服务器和同步服务器为在云侧的服务主机。在集中式***中主要存在两种数据交换,一种是终端与内容服务器之间的数据交换,称为客户端-内容服务器数据(Client-Content-Server Data,简称CCSD);一种是终端与同步服务器之间的信息交换,称为客户端-同步服务器数据(Client-Synchronization-Server Data,简称CSSD)。其中,CCSD主要指各个终端实时地向内容服务器反馈的终端自身的操作及状态信息,内容服务器依据终端的操作生成操作画面并与相应的基础画面进行叠加生成合成画面,然后再结合终端的状态信息及终端的请求,将合成画面或合成画面的数据传递给终端进行渲染。CSSD数据则主要是各终端之间周期性地向同步服务器发送的自身的状态信息,依据这些状态信息,同步服务器动态地为每个终端决定各终端对应的同步对象,并根据确定的同步对象确定时间调整幅度,以及将时间调整幅度反馈给对应的终端,使得各个终端根据各自接收的时间调整幅度执行同步操作。
第二种,分布式***。
如图2所示,该分布式的多终端同步***中包括内容服务器和若干终端,其中,内容服务器为在云侧的服务主机。在分布式***中主要存在两种数据交换,一种是终端与内容服务器之间的数据交换,称为客户端-服务器数据(Client-Server Data,简称CSD);一种是终端之间的数据交换,称为客户端-客户端数据(Client-Client Data,简称CCD)。其中,CSD主要指各个终端实时地向内容服务器反馈的终端自身的操作及状态信息,内容服务器依据终端的操作生成操作画面并与相应的基础画面进行叠加生成合成画面,然后再结合终端的状态信息及终端的请求,将合成画面或合成画面的数据传递给终端进行渲染。CCD则主要是各终端之间周期性的交换的彼此的状态信息,依据这些状态信息,各个终端独立地决定同步对象,并根据确定的同步对象确定时间调整幅度,执行同步操作。
需要注意的是,集中式***与分布式***的不同之处在于,在集中式***中,各终端的状态信息是发送给同步服务器,而不是终端之间互相交换;同时,同步对象的选取、以及时间调整幅度的计算等操作,也均在同步服务器上完成,而不在终端上完成。
实际应用中,内容服务器和同步服务器可以通过计算机实现,终端可以通过头戴式可视设备(英文:Head Mount Display,简称:HMD),或者带加速度传感器的移动手机、平板终端等实现。
需要说明的是,本发明技术方案提及的所有公式可以有更多符合逻辑的变型。
下面基于图1所示的集中式***,详细说明本申请提供的第一种同步对象确定***。
第一种同步对象确定***包括第一终端,至少一个第二终端和同步设备。需要说明的是,这里所说的第一终端指的是集中式***中若干终端中的任一个终端,第二终端指的是除所述第一终端外的其它终端,同步设备即上述所说的同步服务器。其中,
所述第一终端,用于向所述同步设备发送所述第一终端的状态信息。
所述第二终端,用于向所述同步设备发送所述第二终端的状态信息。
所述同步设备,用于获取所述第一终端和所述第二终端的状态信息;所述状态信息包括位置信息、速度信息和加速度信息;所述位置信息用于描述终端在显示画面中的坐标位置;所述速度信息用于描述终端的速度和速度方向;所述加速度信息用于描述终端的加速度和加速度方向。然后,确定所述第一终端与所述第二终端在显示画面中的第一距离;以及根据所述第一终端和第二终端的位置信息、速度信息和加速度信息,预测经过设定时长后所述第一终端与所述第二终端在显示画面中的第二距离。最后,若所述第一距离大于所述第二距离,则将所述第二终端归入所述第一终端的第一类同步对象。
其中,终端的初始位置信息需要终端从内容服务器上获得,之后当终端通过移动操作使得位置信息改变时,终端上可以根据移动的操作更新位置信息,或者,终端也可以从内容服务器上获取新的位置信息。
所述速度信息包括终端的速度大小和速度方向,可以通过对加速度信息做积分得到。所述加速度信息包括终端的加速度大小和加速度方向,可以通过终端自带的加速度传感器得到。
所述设定时长,可以理解为所述同步设备自身预设的同步调整周期。
可选的,所述同步设备可以采用欧氏距离来衡量所述第一距离和所述第二距离时。具体而言,若用i来表征所述第一终端,用j来表征所述第二终端,则所述第一距离满足下述公式要求:
公式(1)
公式(2)
其中,sij表示所述第一距离,(xi,yi,zi)表示所述同步设备获取到的状态信息中包含的第一终端的位置信息,(xj,yj,zj)表示所述同步设备获取到的状态信息中包含的第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1。
相应的,所述第二距离满足下述公式要求:
公式(3)
公式(4)
其中,s′ik表示所述第二距离,(x′i,y′i,z′i)表示所述同步设备预测的经过所述设定时长后所述第一终端的位置信息,(x′j,y′j,z′j)表示所述同步设备预测的经过所述设定时长后所述第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1。
其中,所述同步设备预测的经过所述设定时长后终端的位置信息满足下述公式要求:
公式(5)
其中,x,y,z分别表示所述同步设备获取到的状态信息中包含的终端三个维度的位置信息;x′,y′,z′表示所述同步设备预测的经过所述设定时长后终端三个维度的位置信息;T表示所述设定时长;表示所述状态信息中包含的终端三个维度的速度信息;表示所述状态信息中包含的终端三个维度的加速度信息。
上述(x′i,y′i,z′i)可以通过将(xi,yi,zi)代入公式(5)可以得到,同理,上述(x′j,y′j,z′j)可以通过将(xj,yj,zj)代入公式(5)得到。
本申请中,由于同步设备预知整个基础画面的结构信息,包括整个虚拟场景中各个模型之间的遮挡关系,各个模型的材质和体积等信息。因此,在已知任意两个终端的位置信息的情况下,同步设备可以根据这任意两个终端之间的连线是否与结构信息里包括的已有模型产生子集,来判断这任意两个终端之间是否存在障碍物,例如,终端A和终端B之间是否被一栋楼或一面墙所阻隔。其中,α可以为设定的一个值,也可以是同步设备根据上述判断结果从设定的多个值中选择的一个值。
如果同步设备确定所述第一终端与所述第二终端之间不存在障碍物,则所述第一距离满足公式(1),所述第二距离满足公式(3)。反之,如果同步设备确定所述第一终端与所述第二终端之间存在障碍物,则所述第一距离满足公式(2),所述第二距离满足公式(4)。
可选的,所述状态信息还可以包括距离阈值。其中,所述距离阈值用于描述终端对不同步的容忍程度,即当在显示画面中某个终端与某个其它终端之间的距离超过该终端预设的距离阈值时,即可忽略该其她终端不同步的影响。距离阈值由终端进行设置,不同的终端可以采用相同或不同的距离阈值。终端可以根据实际应用场景来设置距离阈值,例如,在游戏场景下可以设置一个较小的距离阈值,在医疗或工业设计场景下可以设置一个较大的距离阈值。
相应的,所述同步设备在确定是否将所述第二终端作为所述第一终端的同步对象时,除了考虑所述第一距离与第二距离的大小外,还可以结合所述第一终端预设的距离阈值。例如,若所述第一距离大于所述第一终端的所述距离阈值,且所述第一距离大于所述第二距离,则所述同步设备将所述第二终端归入所述第一终端的第一类同步对象。又例如,若所述第一距离小于所述第一终端的所述距离阈值,则所述同步设备可以直接将所述第二终端归入所述第一终端的第二类同步对象。
可选的,所述状态信息还可以包括时间信息,其中,所述时间信息用于描述终端在显示画面中的时间。需要注意的是,这里的时间信息为一个虚拟概念,并不等同于终端本地的时钟。终端的初始时间信息需要终端从内容服务器上获得,之后随着时间推移,终端上可以更新时间信息,或者,终端也可以从内容服务器上获取新的时间信息。
相应的,所述同步设备在将所述第二终端归入所述第一终端的第一类或第二类同步对象之后,在进一步根据所述第一终端的同步对象的状态信息确定所述第一终端的时间调整幅度时,可以有但不限于以下两种方式。
第一种方式,根据绝对时间差异来确定时间调整幅度。
下面以所述第一终端的同步对象仅包括所述第一类同步对象为例,介绍如何根据绝对时间差异对所述第一终端执行同步。
第一步,确定所述第一终端与所述第一终端的第一类同步对象中的每一个终端的绝对时间差异。所述绝对时间差异为时间信息的差值。
其中,若用i来表征所述第一终端,用m来表征所述第一类同步对象中的任一个终端,则所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异满足下述公式要求:
Δtim=ti-tm 公式(6)
其中,Δtim表示所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异,ti表示所述第一终端的时间信息,tm表示所述第一类同步对象中的任一个终端的时间信息。
若Δtim>0,可理解为所述第一终端的时间超前于该比较的终端;若Δtim<0,可理解为所述第一终端的时间滞后于该比较的终端。
第二步,根据预设的同步策略,以及所述第一终端与所述第一类同步对象中的每一个终端的绝对时间差异,确定所述第一终端的等待时长或跳转时长。
本申请中,同步策略包括等待式同步和跳转式同步。***中的终端可以预先约定一种同步策略。
所谓等待式同步,是指所述第一终端通过暂停操作,等待一定时长,从而与其同步对象中最滞后的终端同步;如果所述第一终端滞后于其同步对象中的所有终端,则所述第一终端不用等待。因此,所述第一终端的等待时长满足下述公式要求:
公式(7)
其中,Δti_wait表示所述第一终端的等待时长,m和Δtim的定义参见公式(6)。max()表示对括号中的值取最大值,为离散符号中的全称量词,表示“任意的”意思。
例如,假设终端A与终端B、终端C之间的绝对时间差异分别为1秒(单位s)和-2s,则终端B为其中的最滞后终端,终端A和终端C需要与终端B保持同步,依据公式(7)可知终端A需要等待1s,终端C需要等待3s。
所谓跳转式同步,是指所述第一终端通过跳转操作,向前跳转一定时长,从而与其同步对象中最超前的终端同步;如果所述第一终端超前于其同步对象中的所有终端,则所述第一终端不用跳转。因此,所述第一终端的跳转时长满足下述公式要求:
公式(8)
其中,Δti_jump表示所述第一终端的跳转时长,m和Δtim的定义参见公式(6)。min()表示对括号中的值取最小值。
例如,假设终端A与终端B、终端C之间的绝对时间差异分别为1s和-2s,若采用跳转式同步,则终端C为其中的最超前终端,终端A和终端B需要与终端C保持同步,依据公式(8)可知终端A需要跳转2s,终端B需要跳转3s。
第三步,若采用等待式同步,则将所述等待时长通知给所述第一终端将所述等待时长通知给所述第一终端,以指示所述第一终端将所述第一终端在显示画面上的时间暂停所述等待时长,使得所述第一终端上的显示画面与所述第一类同步对象中时间最滞后的终端的显示画面保持一致。
若采用跳转式式同步,则将所述跳转时长通知给所述第一终端,以指示所述第一终端将所述第一终端在显示画面上的时间向前跳转所述跳转时长,使得所述第一终端上的显示画面与所述第一类同步对象中时间最超前的终端的显示画面保持一致。
第一种方式在确定同步的时间调整幅度时主要依据的是各个终端的时间信息。
第二种方式,根据渐进时间差异来确定时间调整幅度。
下面以所述第一终端的同步对象仅包括所述第一类同步对象为例,介绍如何根据渐进时间差异对所述第一终端执行同步。
第一步,确定所述第一终端与所述第一终端的第一类同步对象中的每一个终端的渐进时间差异。
对于第一类同步对象,所述渐进时间差异可以理解为绝对时间差异的所述绝对时间差异为时间信息的差值;所述nim为当所述第一类同步对象中的任一个终端与所述第一终端在显示画面中的距离不大于所述第一终端的距离阈值时最多经过的所述设定时长的数目。所述设定时长的定义可以参考公式(5)。
所谓渐进时间差异,即是将所述第一终端与所述第二类终端中的任一个终端之间的绝对时间差异分配到多次同步上,使得每次同步时的时间差异尽可能的小。
其中,若用i来表征所述第一终端,用m来表征所述第一类同步对象中的任一个终端,则所述第一终端与所述第一类同步对象中的任一个终端的渐进时间差异满足下述公式要求:
公式(8)
其中,Δt′im表示所述第一终端与所述第一类同步对象中的任一个终端的渐进时间差异,Δtim表示所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异,Δtim的计算可以参考公式(6)。
其中,nim称为同步次数,满足下述公式要求:
公式(9)
其中,sim表示所述第一终端与所述第一类同步对象中的任一个终端在显示画面中的所述第一距离,sim的计算可以参考公式(1)或公式(2);s′im表示所述第一终端与所述第一类同步对象中的任一个终端在显示画面中的所述第二距离,s′im的计算可以参考公式(3)或公式(4);di表示所述第一终端的距离阈值。表征对的上取整。
第二步,根据预设的同步策略,以及所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,确定所述第一终端的等待时长或跳转时长。
具体的,若采用等待式同步,则所述第一终端的等待时长满足下述公式要求:
公式(10)
其中,Δti_wait表示所述第一终端的等待时长,m和Δt′im的定义参见公式(8)。
若采用跳转式同步,则所述第一终端的跳转时长满足下述公式要求:
公式(11)
其中,Δti_jump表示所述第一终端的跳转时长,m和Δt′im的定义参见公式(8)。
第三步,若采用等待式同步,则将所述等待时长通知给所述第一终端,以指示所述第一终端将所述第一终端在显示画面上的时间暂停所述等待时长,使得所述第一终端上的显示画面与所述第一类同步对象中时间最滞后的终端的显示画面保持一致。
若采用跳转式同步,则将所述跳转时长通知给所述第一终端,以指示所述第一终端将所述第一终端在显示画面上的时间向前跳转所述跳转时长,使得所述第一终端上的显示画面与所述第一类同步对象中时间最超前的终端的显示画面保持一致。
第二种方式在确定同步的时间调整幅度时除了依据各个终端的时间信息外,还考虑了各个终端的速度、加速度等动态特性,从而当终端相距较远,终端彼此之间的影响很小甚至互相不影响时,可以将同步过程拉长,即将一次同步变成多次同步,从而使得每次同步的时间调整幅度都尽可能的小,避免后续出现同步时间调整幅度较大,而导致画面不连贯或卡顿等问题。
此外,如果所述第一终端的同步对象中除了包括所述第一类同步对象外,还包括所述第二类同步对象,则在确定所述第一终端的时间调整幅度时,除了考虑所述第一终端与所述第一类同步对象中的每一个终端的绝对时间差异或渐进时间差异,还要考虑所述第一终端与所述第二类同步对象中的每一个终端的绝对时间差异或渐进时间差异。
若用i来表征所述第一终端,用l来表征所述第二类同步对象中的任一个终端,所述第一终端与所述第一终端的第二类同步对象中的每一个终端的绝对时间差异满足下述公式要求:
Δtil=ti-tl 公式(12)
其中,Δtil表示所述第一终端与所述第二类同步对象中的任一个终端的绝对时间差异,ti表示所述第一终端的时间信息,tl表示所述第二类同步对象中的任一个终端的时间信息。
所述第一终端与所述第一终端的第二类同步对象中的每一个终端的渐进时间差异满足下述公式要求:
公式(13)
其中,sil表示所述第一终端与所述第二类同步对象中的任一个终端在显示画面中的所述第一距离,sil的计算可以参考公式(1)或公式(2);s′il表示所述第一终端与所述第一类同步对象中的任一个终端在显示画面中的所述第二距离,s′il的计算可以参考公式(3)或公式(4);di′表示所述第一终端设置的的另一距离阈值,所述di′不大于所述第一终端与所述第二类同步对象中的任一个终端在显示画面中的所述第一距离。
下面以根据所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,以及根据所述第一终端与所述第二类同步对象中的每一个终端的绝对时间差异为例,说明如何依据所述第一终端的所述第一类同步对象和所述第二类同步对象,对所述第一终端执行同步。
第一步,确定所述第一终端与所述第一终端的第一类同步对象中的每一个终端的渐进时间差异。
第二步,确定所述第一终端与所述第一终端的第二类同步对象中的每一个终端的绝对时间差异。
第三步,根据预设的同步策略,所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,以及所述第一终端与所述第二类同步对象中的每一个终端的绝对时间差异,确定所述第一终端的等待时长或跳转时长。
具体的,若采用等待式同步,则所述第一终端的等待时长满足下述公式要求:
公式(14)
其中,Δti_jump表示所述第一终端的跳转时长,m和Δt′im的定义参见公式(8),l和Δtil的定义参见公式(12)。
若采用跳转式同步,则所述第一终端的跳转时长满足下述公式要求:
公式(15)
其中,Δti_jump表示所述第一终端的跳转时长,m和Δt′im的定义参见公式(8),l和Δtil的定义参见公式(12)。
第四步,若采用等待式同步,则将所述等待时长通知给所述第一终端,以指示所述第一终端将所述第一终端在显示画面上的时间暂停所述等待时长,使得所述第一终端上的显示画面与所述第一类同步对象和所述第二类同步对象中时间最滞后的终端的显示画面保持一致。
若采用跳转式同步,则将所述跳转时长通知给所述第一终端,以指示所述第一终端将所述第一终端在显示画面上的时间向前跳转所述跳转时长,使得所述第一终端上的显示画面与所述第一类同步对象和所述第二类同步对象中时间最超前的终端的显示画面保持一致。
下面基于图2所示的分布式***,简要说明本申请提供的第二种同步对象确定***。
第二种同步对象确定***包括第一终端和至少一个第二终端。需要说明的是,这里所说的第一终端指的是分布式***中若干终端中的任一个终端,第二终端指的是除所述第一终端外的其它终端,其中
所述第二终端,用于向所述第一终端发送所述第二终端的状态信息。
所述第一终端,用于获取所述第一终端和所述第二终端的状态信息;所述状态信息包括位置信息、速度信息和加速度信息;所述位置信息用于描述终端在显示画面中的坐标位置;所述速度信息用于描述终端的速度和速度方向;所述加速度信息用于描述终端的加速度和加速度方向。然后,确定所述第一终端与所述第二终端在显示画面中的第一距离;以及根据所述第一终端和第二终端的位置信息、速度信息和加速度信息,预测经过设定时长后所述第一终端与所述第二终端在显示画面中的第二距离。最后,若所述第一距离大于所述第二距离,则将所述第二终端归入所述第一终端的第一类同步对象。
可选的,所述第一终端可以采用欧氏距离来衡量所述第一距离和所述第二距离时。其中,所述第一距离满足下述公式要求:
公式(16)
其中,sij表示所述第一距离,(xi,yi,zi)表示所述第一终端获取到的状态信息中包含的第一终端的位置信息,(xj,yj,zj)表示所述第一终端获取到的状态信息中包含的第二终端的位置信息。
相应的,所述第二距离满足下述公式要求:
公式(17)
其中,s′ik表示所述第二距离,(x′i,y′i,z′i)表示所述第一终端预测的经过所述设定时长后所述第一终端的位置信息,(x′j,y′j,z′j)表示所述第一终端预测的经过所述设定时长后所述第二终端的位置信息。
其中,所述第一终端预测的经过所述设定时长后终端的位置信息满足下述公式要求:
公式(18)
其中,x,y,z分别表示所述第一终端获取到的状态信息中包含的终端三个维度的位置信息;x′,y′,z′表示所述第一终端预测的经过所述设定时长后终端三个维度的位置信息;T表示所述设定时长;表示所述状态信息中包含的终端三个维度的速度信息;表示所述状态信息中包含的终端三个维度的加速度信息。
上述(x′i,y′i,z′i)可以通过将(xi,yi,zi)代入公式(18)可以得到,同理,上述(x′j,y′j,z′j)可以通过将(xj,yj,zj)代入公式(18)得到。
需要注意的是,由于所述第一终端不知道整个基础画面的结构信息,因此无需用上述第一种同步对象确定***中同步设备使用的α来修正第一终端与第二终端在显示画面上的距离。
可选的,所述状态信息还可以包括距离阈值和时间信息。
相对应的,所述第一终端在确定是否将所述第二终端作为所述第一终端的同步对象时,除了考虑所述第一距离与第二距离的大小外,还可以结合所述第一终端预设的距离阈值。例如,若所述第一距离大于所述第一终端的所述距离阈值,且所述第一距离大于所述第二距离,则所述第一终端将所述第二终端归入所述第一终端的第二类同步对象。又例如,若所述第一距离小于所述第一终端的所述距离阈值,则所述第一终端可以直接将所述第二终端归入所述第一终端的第二类同步对象。
所述第一终端在将所述第二终端归入所述第一终端的第一类或第二类同步对象之后,在进一步根据所述第一终端的同步对象的状态信息确定所述第一终端的时间调整幅度时,可以有但不限于以下两种方式:根据绝对时间差异来确定时间调整幅度,或根据渐进时间差异来确定时间调整幅度。具体实现方式可以参见上述第一种同步对象确定***中对这两种方式的描述,为了简便,此处不再赘述。
需要注意的是,第一种同步对象确定***与第二种同步对象确定***的不同之处在于,在第一种同步对象确定***中,各终端的状态信息是发送给同步设备,同步对象的选取、以及时间调整幅度的计算等操作,也均在同步服务器上完成。而在第二种同步对象确定***中,各终端的状态信息在终端之间互相交换,各终端独立决定自身的同步对象和时间调整幅度。
本申请中关于第二种同步对象确定***的未尽之细节可参考上述第一种同步对象确定***的描述,在此不再赘述。
如图3所示为本申请提供的第一种同步对象确定方法的流程示意图,所述方法包括:
步骤301:同步设备获取第一终端和第二终端的状态信息;所述状态信息包括位置信息、速度信息和加速度信息;所述位置信息用于描述终端在显示画面中的坐标位置;所述速度信息用于描述终端的速度和速度方向;所述加速度信息用于描述终端的加速度和加速度方向。
其中,终端的初始位置信息需要从内容服务器上获得,之后当终端移动使得位置信息改变时,终端上可以根据移动的操纵更新位置信息,或者,终端也可以从内容服务器上获取新的位置信息。
所述速度信息包括终端的速度大小和速度方向,可以通过对加速度信息做积分得到。所述加速度信息包括终端的加速度大小和加速度方向,可以通过终端自带的加速度传感器得到。
步骤302:所述同步设备根据所述第一终端和第二终端的位置信息,确定所述第一终端与所述第二终端在显示画面中的第一距离;以及根据所述第一终端和第二终端的位置信息、速度信息和加速度信息,预测经过设定时长后所述第一终端与所述第二终端在显示画面中的第二距离。
可选的,若用i来表征所述第一终端,用j来表征所述第二终端,则所述第一距离满足下述公式要求:
其中,sij表示所述第一距离,(xi,yi,zi)表示所述同步设备获取到的状态信息中包含的第一终端的位置信息,(xj,yj,zj)表示所述同步设备获取到的状态信息中包含的第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1。
可选的,所述第二距离满足下述公式要求:
其中,s′ij表示所述第二距离,(x′i,y′i,z′i)表示所述同步设备预测的经过所述设定时长后所述第一终端的位置信息,(x′j,y′j,z′j)表示所述同步设备预测的经过所述设定时长后所述第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1。
其中,所述同步设备预测的经过所述设定时长后终端的位置信息满足下述公式要求:
其中,x,y,z分别表示所述同步设备获取到的状态信息中包含的终端三个维度的位置信息;x′,y′,z′表示所述同步设备预测的经过所述设定时长后终端三个维度的位置信息;T表示所述设定时长;表示所述状态信息中包含的终端三个维度的速度信息;表示所述状态信息中包含的终端三个维度的加速度信息。
步骤303:若所述第一距离大于所述第二距离,则所述同步设备将所述第二终端归入所述第一终端的同步对象。
具体的,所述同步设备得到所述第一距离与所述第二距离后,可以计算所述第一距离与第二距离的差值,即:
Δsij=s′ij-sij
当Δsij<0时,说明所述第一终端与所述第二终端在靠近,故可以将所述第二终端加入到终端集合中;当Δsij>0时,说明所述第一终端与所述第二终端在远离,故将所述第二终端加入到终端集合中,即:
而当所述第二终端与所述第一终端的距离变化量为零时,可以将所述第二终端归入集合也可以归入集合最终,得到的集合即为所述第一终端的同步对象。
集合中的终端意味着与所述第一终端之间的距离在未来有可能变大,因此,所述一终端执行同步时,可以忽略集合中终端的影响。对于集合中的终端,由于其与所述第一终端之间的距离正在减小,在未来对所述第一终端可能会有影响,因此,所述第一终端执行同步时,需要考虑集合中的终端的影响,次将中的终端归为所述第一终端的同步对象。
如图4所示为本申请提供的第二种同步对象确定方法的流程示意图,所述方法包括:
步骤401:同步设备获取所述第一终端和第二终端的状态信息;所述状态信息包括位置信息和距离阈值;所述位置信息用于描述终端在显示画面中的坐标位置。
其中,所述距离阈值用于描述终端对不同步的容忍程度,即当在显示画面中某个终端与某个其它终端之间的距离超过该终端预设的距离阈值时,即可忽略该其她终端不同步的影响。距离阈值由终端进行设置,不同的终端可以采用相同或不同的距离阈值。终端可以根据实际应用场景来设置距离阈值,例如,在游戏场景下可以设置一个较小的距离阈值,在医疗或工业设计场景下可以设置一个较大的距离阈值。
步骤402:所述同步设备根据所述第一终端和第二终端的位置信息,确定所述第一终端与所述第二终端在显示画面中的距离。
可选的,若用i来表征所述第一终端,用j来表征所述第二终端,则所述第一终端与所述第二终端在显示画面中的距离满足下述公式要求:
其中,sij表示所述第一终端与所述第二终端在显示画面中的距离,(xi,yi,zi)表示所述第一终端的位置信息,(xj,yj,zj)表示所述第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1。
步骤403:若所述距离小于所述第一终端的所述距离阈值,则所述同步设备将所述第二终端归入所述第一终端的同步对象。
本申请中,所述同步设备依据所述第一终端与所述第二终端在显示画面上的距离和所述第一终端预设的距离阈值,可以将***中除所述第一终端外的其它终端划分为与所述第一终端距离较近的终端集合和与所述第一终端距离较远的终端集合具体而言,若所述第二终端与所述第一终端之间的距离小于所述第一终端的距离阈值di,则将所述第二终端加入集合中,若所述第二终端与所述第一终端之间的距离大于di,则将所述第二终端加入集合中,即:
而当所述第二终端与所述第一终端之间的距离等于di时,可以将所述第二终端归入集合也可以归入集合最终,得到的集合即为所述第一终端的同步对象。
需要说明的是,本申请提供的上述两种同步对象确定方法,可以分别单独使用,也可以合并使用。
参阅图5所示,本申请提供了一种同步对象确定装置50,可以用于实现本申请图3所示的同步对象确定方法,该装置50包括:
获取单元501,用于获取第一终端和第二终端的状态信息;所述状态信息包括位置信息、速度信息和加速度信息;所述位置信息用于描述终端在显示画面中的坐标位置;所述速度信息用于描述终端的速度和速度方向;所述加速度信息用于描述终端的加速度和加速度方向。
计算单元502,用于根据所述第一终端和第二终端的位置信息,确定所述第一终端与所述第二终端在显示画面中的第一距离;以及根据所述第一终端和第二终端的位置信息、速度信息和加速度信息,预测经过设定时长后所述第一终端与所述第二终端在显示画面中的第二距离。
处理单元503,若所述第一距离大于所述第二距离,则用于将所述第二终端归入所述第一终端的同步对象。
可选的,所述计算单元502得到的所述第一距离满足下述公式要求:
其中,sij表示所述第一距离,(xi,yi,zi)表示所述获取单元501获取到的状态信息中包含的第一终端的位置信息,(xj,yj,zj)表示所述获取单元501获取到的状态信息中包含的第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1。
可选的,所述计算单元502得到的所述第二距离满足下述公式要求:
其中,s′ij表示所述第二距离,(x′i,y′i,z′i)表示所述计算单元502预测的经过所述设定时长后所述第一终端的位置信息,(x′j,y′j,z′j)表示所述计算单元502预测的经过所述设定时长后所述第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1。
其中,所述计算单元502预测的经过所述设定时长后终端的位置信息满足下述公式要求:
其中,x,y,z分别表示所述获取单元501获取到的状态信息中包含的终端三个维度的位置信息;x′,y′,z′表示所述计算单元502预测的经过所述设定时长后终端三个维度的位置信息;T表示所述设定时长;表示所述状态信息中包含的终端三个维度的速度信息;表示所述状态信息中包含的终端三个维度的加速度信息。
可选的,所述装置50可以位于所述第一终端上,也可以为位于云侧的同步设备上。
参阅图6所示,本申请还提供了一种同步对象确定装置60,可以用于实现本申请图4所示的同步对象确定方法,该装置包括:
获取单元601,用于获取第一终端和第二终端的状态信息;所述状态信息包括位置信息和距离阈值;所述位置信息用于描述终端在显示画面中的坐标位置。
计算单元602,用于根据所述第一终端和第二终端的位置信息,确定所述第一终端与所述第二终端在显示画面中的距离。
处理单元603,若所述距离小于所述第一终端的所述距离阈值,则用于将所述第二终端归入所述第一终端的同步对象。
可选的,所述计算单元602得到所述第一终端与所述第二终端在显示画面中的距离满足下述公式要求:
其中,sij表示所述第一终端与所述第二终端在显示画面中的距离,(xi,yi,zi)表示所述第一终端的位置信息,(xj,yj,zj)表示所述第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1。
可选的,所述装置60可以位于所述第一终端上,也可以为位于云侧的同步设备上。
需要说明的是,本申请中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
其中,集成的单元也可以采用硬件的形式实现时,所述获取单元501和所述获取单元601对应的实体的硬件为收发器。所述计算单元502、所述计算单元602、所述处理单元502和所述处理单元602对应的实体硬件设备为处理器。
此外,本申请还提供了一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当被包括多个应用程序的便携式电子设备执行时使所述便携式电子设备执行根据上述任意一种情况下的同步对象确定方法。
需要说明的是,本发明技术方案不仅适用于虚拟现实中的多终端同步问题,并且同样适用于其他大规模的同步场景,例如直播场景等,在这些场景下,对于终端位置的定义,可以扩展到其他表示,例如经纬度等;对终端之间距离的估算,可以扩展到其他计算方法,例如二维平面上或球面上的距离计算方法。
综上所述,本申请提供的技术方案,考虑了终端的移动特性,在进行同步时,依据终端的时间信息、位置信息、速度信息、加速度信息和距离阈值等状态信息,对终端未来的状态进行预判,根据终端之间的距离在设定时长后是变大还是减小,从而为每个终端动态地选择合适的同步对象,一方面可以达到同步的目的,另一方面可以避免同步对象过多导致的画面不连贯或卡顿、不必要的带宽消耗和设备使用时间降低的问题,以及提高了同步效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (14)

1.一种同步对象确定方法,其特征在于,包括:
同步设备获取第一终端和第二终端的状态信息;所述状态信息包括位置信息、速度信息和加速度信息;所述位置信息用于描述终端在虚拟现实的显示画面中的坐标位置;所述速度信息用于描述终端的速度和速度方向;所述加速度信息用于描述终端的加速度和加速度方向;
所述同步设备根据所述第一终端和第二终端的位置信息,确定所述第一终端与所述第二终端在虚拟现实的显示画面中的第一距离;以及根据所述第一终端和第二终端的位置信息、速度信息和加速度信息,预测经过设定时长后所述第一终端与所述第二终端在虚拟现实的显示画面中的第二距离;
若所述第一距离大于所述第二距离,则所述同步设备将所述第二终端归入所述第一终端的同步对象。
2.如权利要求1所述的方法,其特征在于,所述第一距离满足下述公式要求:
其中,sij表示所述第一距离,(xi,yi,zi)表示所述同步设备获取到的状态信息中包含的第一终端的位置信息,(xj,yj,zj)表示所述同步设备获取到的状态信息中包含的第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1;
所述第二距离满足下述公式要求:
其中,s′ij表示所述第二距离,(x′i,y′i,z′i)表示所述同步设备预测的经过所述设定时长后所述第一终端的位置信息,(x′j,y′j,z′j)表示所述同步设备预测的经过所述设定时长后所述第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1;
其中,所述同步设备预测的经过所述设定时长后终端的位置信息满足下述公式要求:
其中,x,y,z分别表示所述同步设备获取到的状态信息中包含的终端三个维度的位置信息;x′,y′,z′表示所述同步设备预测的经过所述设定时长后终端三个维度的位置信息;T表示所述设定时长;表示所述状态信息中包含的终端三个维度的速度信息;表示所述状态信息中包含的终端三个维度的加速度信息。
3.一种同步对象确定装置,其特征在于,包括:
获取单元,用于获取第一终端和第二终端的状态信息;所述状态信息包括位置信息、速度信息和加速度信息;所述位置信息用于描述终端在虚拟现实的显示画面中的坐标位置;所述速度信息用于描述终端的速度和速度方向;所述加速度信息用于描述终端的加速度和加速度方向;
计算单元,用于根据所述第一终端和第二终端的位置信息,确定所述第一终端与所述第二终端在虚拟现实的显示画面中的第一距离;以及根据所述第一终端和第二终端的位置信息、速度信息和加速度信息,预测经过设定时长后所述第一终端与所述第二终端在虚拟现实的显示画面中的第二距离;
处理单元,若所述第一距离大于所述第二距离,则用于将所述第二终端归入所述第一终端的同步对象。
4.如权利要求3所述的装置,其特征在于,所述计算单元得到的所述第一距离满足下述公式要求:
其中,sij表示所述第一距离,(xi,yi,zi)表示所述获取单元获取到的状态信息中包含的第一终端的位置信息,(xj,yj,zj)表示所述获取单元获取到的状态信息中包含的第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1;
所述计算单元得到的所述第二距离满足下述公式要求:
其中,s′ij表示所述第二距离,(x′i,y′i,z′i)表示所述计算单元预测的经过所述设定时长后所述第一终端的位置信息,(x′j,y′j,z′j)表示所述计算单元预测的经过所述设定时长后所述第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1;
其中,所述计算单元预测的经过所述设定时长后终端的位置信息满足下述公式要求:
其中,x,y,z分别表示所述获取单元获取到的状态信息中包含的终端三个维度的位置信息;x′,y′,z′表示所述计算单元预测的经过所述设定时长后终端三个维度的位置信息;T表示所述设定时长;表示所述状态信息中包含的终端三个维度的速度信息;表示所述状态信息中包含的终端三个维度的加速度信息。
5.一种同步对象确定***,其特征在于,包括第一终端,至少一个第二终端和同步设备,其中
所述第一终端,用于向所述同步设备发送所述第一终端的状态信息;
所述第二终端,用于向所述同步设备发送所述第二终端的状态信息;
所述同步设备,用于获取所述第一终端和所述第二终端的状态信息;所述状态信息包括位置信息、速度信息和加速度信息;所述位置信息用于描述终端在虚拟现实的显示画面中的坐标位置;所述速度信息用于描述终端的速度和速度方向;所述加速度信息用于描述终端的加速度和加速度方向;确定所述第一终端与所述第二终端在虚拟现实的显示画面中的第一距离;以及根据所述第一终端和第二终端的位置信息、速度信息和加速度信息,预测经过设定时长后所述第一终端与所述第二终端在虚拟现实的显示画面中的第二距离;若所述第一距离大于所述第二距离,则将所述第二终端归入所述第一终端的第一类同步对象。
6.如权利要求5所述的***,其特征在于,所述状态信息还包括距离阈值;
若所述第一距离大于所述第二距离,则所述同步设备将所述第二终端归入所述第一终端的第一类同步对象,具体包括:
若所述第一距离大于所述第一终端的所述距离阈值,且所述第一距离大于所述第二距离,则所述同步设备将所述第二终端归入所述第一终端的第一类同步对象。
7.如权利要求5或6所述的***,其特征在于,所述第一距离满足下述公式要求:
其中,sij表示所述第一距离,(xi,yi,zi)表示所述同步设备获取到的状态信息中包含的第一终端的位置信息,(xj,yj,zj)表示所述同步设备获取到的状态信息中包含的第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1;
所述第二距离满足下述公式要求:
其中,s′ij表示所述第二距离,(x′i,y′i,z′i)表示所述同步设备预测的经过所述设定时长后所述第一终端的位置信息,(x′j,y′j,z′j)表示所述同步设备预测的经过所述设定时长后所述第二终端的位置信息;α为终端之间存在障碍物时的修正参数,α>1;
其中,所述同步设备预测的经过所述设定时长后终端的位置信息满足下述公式要求:
其中,x,y,z分别表示所述同步设备获取到的状态信息中包含的终端三个维度的位置信息;x′,y′,z′表示所述同步设备预测的经过所述设定时长后终端三个维度的位置信息;T表示所述设定时长;表示所述状态信息中包含的终端三个维度的速度信息;表示所述状态信息中包含的终端三个维度的加速度信息。
8.如权利要求6所述的***,其特征在于,所述状态信息还包括时间信息;所述时间信息用于描述终端在虚拟现实的显示画面中的时间;
所述同步设备还用于:
确定所述第一终端与所述第一终端的第一类同步对象中的每一个终端的渐进时间差异;所述渐进时间差异为绝对时间差异的所述绝对时间差异为时间信息的差值;所述nim当所述第一类同步对象中的任一个终端与所述第一终端在虚拟现实的显示画面中的距离不大于所述第一终端的距离阈值时最多经过的所述设定时长的数目;
根据预设的同步策略,以及所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,确定所述第一终端的等待时长;将所述等待时长通知给所述第一终端,以指示所述第一终端将所述第一终端在虚拟现实的显示画面上的时间暂停所述等待时长,使得所述第一终端上的虚拟现实的显示画面与所述第一类同步对象中时间最滞后的终端的虚拟现实的显示画面保持一致;或,
根据预设的同步策略,以及所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,确定所述第一终端的跳转时长;将所述跳转时长通知给所述第一终端,以指示所述第一终端将所述第一终端在虚拟现实的显示画面上的时间向前跳转所述跳转时长,使得所述第一终端上的虚拟现实的显示画面与所述第一类同步对象中时间最超前的终端的虚拟现实的显示画面保持一致;
其中,所述第一终端的等待时长Δti_wait满足下述公式要求:
所述第一终端的跳转时长Δti_jump满足下述公式要求:
其中,
Δt′im表示所述第一终端与所述第一类同步对象中的任一个终端的渐进时间差异,Δtim表示所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异;
Δtim=ti-tm
Δtim表示所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异,ti表示所述第一终端的时间信息,tm表示所述第一类同步对象中的任一个终端的时间信息;
nim满足下述公式要求:
其中,sim表示所述第一终端与所述第一类同步对象中的任一个终端在虚拟现实的显示画面中的所述第一距离;s′im表示所述第一终端与所述第一类同步对象中的任一个终端在虚拟现实的显示画面中的所述第二距离;di表示所述第一终端的距离阈值。
9.如权利要求6所述的***,其特征在于,所述状态信息还包括时间信息;所述时间信息用于描述终端在虚拟现实的显示画面中的时间;
所述同步设备还用于:
若所述第一距离小于所述第一终端的所述距离阈值,则将所述第二终端归入所述第一终端的第二类同步对象;
确定所述第一终端与所述第一终端的第一类同步对象中的每一个终端的渐进时间差异;所述渐进时间差异为绝对时间差异的所述绝对时间差异为时间信息的差值;所述nim为当所述第一类同步对象中的任一个终端与所述第一终端在虚拟现实的显示画面中的距离不大于所述第一终端的距离阈值时最多经过的所述设定时长的数目;
确定所述第一终端与所述第一终端的第二类同步对象中的每一个终端的绝对时间差异;
根据预设的同步策略,所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,以及所述第一终端与所述第二类同步对象中的每一个终端的绝对时间差异,确定所述第一终端的等待时长;将所述等待时长通知给所述第一终端,以指示所述第一终端将所述第一终端在虚拟现实的显示画面上的时间暂停所述等待时长,使得所述第一终端上的虚拟现实的显示画面与所述第一类同步对象和所述第二类同步对象中时间最滞后的终端的虚拟现实的显示画面保持一致;或,
根据预设的同步策略,所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,以及所述第一终端与所述第二类同步对象中的每一个终端的绝对时间差异,确定所述第一终端的跳转时长;将所述跳转时长通知给所述第一终端,以指示所述第一终端将所述第一终端在虚拟现实的显示画面上的时间向前跳转所述跳转时长,使得所述第一终端上的虚拟现实的显示画面与所述第一类同步对象和所述第二类同步对象中时间最超前的终端的虚拟现实的显示画面保持一致;
其中,所述第一终端的等待时长Δti_wait满足下述公式要求:
所述第一终端的跳转时长Δti_jump满足下述公式要求:
其中,Δtil=ti-tl
Δtil表示所述第一终端与所述第二类同步对象中的任一个终端的绝对时间差异,ti表示所述第一终端的时间信息,tl表示所述第二类同步对象中的任一个终端的时间信息;
Δt′im表示所述第一终端与所述第一类同步对象中的任一个终端的渐进时间差异,Δtim表示所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异;
Δtim=ti-tm
Δtim表示所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异,ti表示所述第一终端的时间信息,tm表示所述第一类同步对象中的任一个终端的时间信息;
nim满足下述公式要求:
其中,sim表示所述第一终端与所述第一类同步对象中的任一个终端在虚拟现实的显示画面中的所述第一距离;s′im表示所述第一终端与所述第一类同步对象中的任一个终端在虚拟现实的显示画面中的所述第二距离;di表示所述第一终端的距离阈值。
10.一种同步对象确定***,其特征在于,包括第一终端和至少一个第二终端,其中
所述第二终端,用于向所述第一终端发送所述第二终端的状态信息;
所述第一终端,用于获取所述第一终端和所述第二终端的状态信息;所述状态信息包括位置信息、速度信息和加速度信息;所述位置信息用于描述终端在虚拟现实的显示画面中的坐标位置;所述速度信息用于描述终端的速度和速度方向;所述加速度信息用于描述终端的加速度和加速度方向;确定所述第一终端与所述第二终端在虚拟现实的显示画面中的第一距离;以及根据所述第一终端和第二终端的位置信息、速度信息和加速度信息,预测经过设定时长后所述第一终端与所述第二终端在虚拟现实的显示画面中的第二距离;若所述第一距离大于所述第二距离,则将所述第二终端归入所述第一终端的第一类同步对象。
11.如权利要求10所述的***,其特征在于,所述状态信息还包括距离阈值;
若所述第一距离大于所述第二距离,则所述第一终端将所述第二终端归入所述第一终端的第一类同步对象,具体包括:
若所述第一距离大于所述第一终端的所述距离阈值,且所述第一距离大于所述第二距离,则所述第一终端将所述第二终端归入所述第一终端的第一类同步对象。
12.如权利要求10或11所述的***,其特征在于,所述第一距离满足下述公式要求:
其中,sij表示所述第一距离,(xi,yi,zi)表示所述第一终端获取到的状态信息中包含的第一终端的位置信息,(xj,yj,zj)表示所述第一终端获取到的状态信息中包含的第二终端的位置信息;
所述第二距离满足下述公式要求:
其中,s′ij表示所述第二距离,(x′i,y′i,z′i)表示所述第一终端预测的经过所述设定时长后所述第一终端的位置信息,(x′j,y′j,z′j)表示所述第一终端预测的经过所述设定时长后所述第二终端的位置信息;
其中,所述第一终端预测的经过所述设定时长后终端的位置信息满足下述公式要求:
其中,x,y,z分别表示所述第一终端获取到的状态信息中包含的终端三个维度的位置信息;x′,y′,z′表示所述第一终端预测的经过所述设定时长后终端三个维度的位置信息;T表示所述设定时长;表示所述状态信息中包含的终端三个维度的速度信息;表示所述状态信息中包含的终端三个维度的加速度信息。
13.如权利要求11所述的***,其特征在于,所述状态信息还包括时间信息;所述时间信息用于描述终端在虚拟现实的显示画面中的时间;
所述第一终端还用于:
确定所述第一终端与所述第一终端的第一类同步对象中的每一个终端的渐进时间差异;所述渐进时间差异为绝对时间差异的所述绝对时间差异为时间信息的差值;所述nim当所述第一类同步对象中的任一个终端与所述第一终端在虚拟现实的显示画面中的距离不大于所述第一终端的距离阈值时最多经过的所述设定时长的数目;
根据预设的同步策略,以及所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,确定所述第一终端的等待时长;将所述等待时长通知给所述第一终端,以指示所述第一终端将所述第一终端在虚拟现实的显示画面上的时间暂停所述等待时长,使得所述第一终端上的虚拟现实的显示画面与所述第一类同步对象中时间最滞后的终端的虚拟现实的显示画面保持一致;或,
根据预设的同步策略,以及所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,确定所述第一终端的跳转时长;将所述跳转时长通知给所述第一终端,以指示所述第一终端将所述第一终端在虚拟现实的显示画面上的时间向前跳转所述跳转时长,使得所述第一终端上的虚拟现实的显示画面与所述第一类同步对象中时间最超前的终端的虚拟现实的显示画面保持一致;
其中,所述第一终端的等待时长Δti_wait满足下述公式要求:
所述第一终端的跳转时长Δti_jump满足下述公式要求:
其中,
Δt′im表示所述第一终端与所述第一类同步对象中的任一个终端的渐进时间差异,Δtim表示所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异;
Δtim=ti-tm
Δtim表示所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异,ti表示所述第一终端的时间信息,tm表示所述第一类同步对象中的任一个终端的时间信息;
nim满足下述公式要求:
其中,sim表示所述第一终端与所述第一类同步对象中的任一个终端在虚拟现实的显示画面中的所述第一距离;s′im表示所述第一终端与所述第一类同步对象中的任一个终端在虚拟现实的显示画面中的所述第二距离;di表示所述第一终端的距离阈值。
14.如权利要求11所述的***,其特征在于,所述状态信息还包括时间信息;所述时间信息用于描述终端在虚拟现实的显示画面中的时间;
所述第一终端还用于:
若所述第一距离小于所述第一终端的所述距离阈值,则将所述第二终端归入所述第一终端的第二类同步对象;
确定所述第一终端与所述第一终端的第一类同步对象中的每一个终端的渐进时间差异;所述渐进时间差异为绝对时间差异的所述绝对时间差异为时间信息的差值;所述nim当所述第一类同步对象中的任一个终端与所述第一终端在虚拟现实的显示画面中的距离不大于所述第一终端的距离阈值时最多经过的所述设定时长的数目;
确定所述第一终端与所述第一终端的第二类同步对象中的每一个终端的绝对时间差异;
根据预设的同步策略,所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,以及所述第一终端与所述第二类同步对象中的每一个终端的绝对时间差异,确定所述第一终端的等待时长;将所述等待时长通知给所述第一终端,以指示所述第一终端将所述第一终端在虚拟现实的显示画面上的时间暂停所述等待时长,使得所述第一终端上的虚拟现实的显示画面与所述第一类同步对象和所述第二类同步对象中时间最滞后的终端的虚拟现实的显示画面保持一致;或,
根据预设的同步策略,所述第一终端与所述第一类同步对象中的每一个终端的渐进时间差异,以及所述第一终端与所述第二类同步对象中的每一个终端的绝对时间差异,确定所述第一终端的跳转时长;将所述跳转时长通知给所述第一终端,以指示所述第一终端将所述第一终端在虚拟现实的显示画面上的时间向前跳转所述跳转时长,使得所述第一终端上的虚拟现实的显示画面与所述第一类同步对象和所述第二类同步对象中时间最超前的终端的虚拟现实的显示画面保持一致;
其中,所述第一终端的等待时长Δti_wait满足下述公式要求:
所述第一终端的跳转时长Δti_jump满足下述公式要求:
其中,Δtil=ti-tl
Δtil表示所述第一终端与所述第二类同步对象中的任一个终端的绝对时间差异,ti表示所述第一终端的时间信息,tl表示所述第二类同步对象中的任一个终端的时间信息;
Δt′im表示所述第一终端与所述第一类同步对象中的任一个终端的渐进时间差异,Δtim表示所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异;
Δtim=ti-tm
Δtim表示所述第一终端与所述第一类同步对象中的任一个终端的绝对时间差异,ti表示所述第一终端的时间信息,tm表示所述第一类同步对象中的任一个终端的时间信息;
nim满足下述公式要求:
其中,sim表示所述第一终端与所述第一类同步对象中的任一个终端在虚拟现实的显示画面中的所述第一距离;s′im表示所述第一终端与所述第一类同步对象中的任一个终端在虚拟现实的显示画面中的所述第二距离;di表示所述第一终端的距离阈值。
CN201510863976.6A 2015-11-30 2015-11-30 一种同步对象确定方法、装置和*** Active CN106817508B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510863976.6A CN106817508B (zh) 2015-11-30 2015-11-30 一种同步对象确定方法、装置和***
EP16194958.1A EP3173134B1 (en) 2015-11-30 2016-10-21 Synchronization object determining method, apparatus, and system
US15/363,341 US10338879B2 (en) 2015-11-30 2016-11-29 Synchronization object determining method, apparatus, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510863976.6A CN106817508B (zh) 2015-11-30 2015-11-30 一种同步对象确定方法、装置和***

Publications (2)

Publication Number Publication Date
CN106817508A CN106817508A (zh) 2017-06-09
CN106817508B true CN106817508B (zh) 2019-11-22

Family

ID=57226772

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510863976.6A Active CN106817508B (zh) 2015-11-30 2015-11-30 一种同步对象确定方法、装置和***

Country Status (3)

Country Link
US (1) US10338879B2 (zh)
EP (1) EP3173134B1 (zh)
CN (1) CN106817508B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109471603A (zh) * 2017-09-07 2019-03-15 华为终端(东莞)有限公司 一种界面显示方法及装置
US11405669B2 (en) * 2017-11-10 2022-08-02 Ses-Imagotag Gmbh System for synchronized video playback on a number of playback devices
CN109364478B (zh) 2018-09-07 2022-08-23 深圳市腾讯信息技术有限公司 信息同步方法、装置及存储介质
CN111265863B (zh) * 2020-01-17 2022-05-24 腾讯科技(深圳)有限公司 一种目标对象的位置纠正方法、装置、设备及介质
CN113365126B (zh) * 2021-05-24 2023-02-21 武汉乐谷在线科技有限公司 一种游戏数据同步方法及***、设备、存储介质
CN117641020B (zh) * 2024-01-26 2024-04-30 腾讯科技(深圳)有限公司 一种信息处理方法和相关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991468A (ja) * 1995-09-22 1997-04-04 Nippon Telegr & Teleph Corp <Ntt> 3次元画像表示装置および方法
KR20130019546A (ko) * 2011-08-17 2013-02-27 국방과학연구소 증강현실을 이용한 실물과 가상모델 사이의 거리측정 시스템 및 방법
EP2587808A1 (en) * 2010-06-28 2013-05-01 PNF Co. Ltd System and method for displaying 3d images
CN104954349A (zh) * 2014-03-31 2015-09-30 北京畅游天下网络技术有限公司 一种2d游戏中客户端的同步方法、装置和***

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4493053A (en) 1982-12-10 1985-01-08 At&T Bell Laboratories Multi-device apparatus synchronized to the slowest device
US5426539A (en) 1992-12-01 1995-06-20 National Semiconductor Corporation Multiple gap read/write head for data storage devices
US5606164A (en) 1996-01-16 1997-02-25 Boehringer Mannheim Corporation Method and apparatus for biological fluid analyte concentration measurement using generalized distance outlier detection
US6028593A (en) * 1995-12-01 2000-02-22 Immersion Corporation Method and apparatus for providing simulated physical interactions within computer generated environments
US6026172A (en) 1996-09-06 2000-02-15 Lewis, Jr.; Clarence A. System and method for zoom lens calibration and method using same
US6040871A (en) * 1996-12-27 2000-03-21 Lucent Technologies Inc. Method and apparatus for synchronizing video signals
US7574493B2 (en) * 2000-11-22 2009-08-11 Cricket Communications, Inc. Method and system for improving the efficiency of state information transfer over a wireless communications network
US6845287B2 (en) 2002-11-20 2005-01-18 Asml Holding N.V. Method, system, and computer program product for improved trajectory planning and execution
US7294822B2 (en) 2004-03-19 2007-11-13 Mitch Randall Method and apparatus to communicate with and individually locate multiple remote devices on a two-dimensional surface
CN100508890C (zh) 2005-03-01 2009-07-08 马越 X射线机
WO2007108641A1 (en) 2006-03-20 2007-09-27 Ktfreetel Co., Ltd. Method and system for measuring traffic information in cdma network
US7733223B2 (en) * 2007-08-17 2010-06-08 The Invention Science Fund I, Llc Effectively documenting irregularities in a responsive user's environment
US7996686B2 (en) * 2008-07-07 2011-08-09 International Business Machines Corporation Branch trace methodology
US20100053151A1 (en) * 2008-09-02 2010-03-04 Samsung Electronics Co., Ltd In-line mediation for manipulating three-dimensional content on a display device
US8347210B2 (en) 2008-09-26 2013-01-01 Apple Inc. Synchronizing video with audio beats
WO2010062997A2 (en) 2008-11-26 2010-06-03 Pronk Technologies, Inc. Pump tester
DE102009048553A1 (de) 2009-09-29 2011-03-31 Carl Zeiss Smt Gmbh Katadioptrisches Projektionsobjektiv mit Umlenkspiegeln und Projektionsbelichtungsverfahren
US8904197B2 (en) * 2011-03-07 2014-12-02 Ricoh Co., Ltd. Power management based on combined user interface and sensor inputs
US9674661B2 (en) * 2011-10-21 2017-06-06 Microsoft Technology Licensing, Llc Device-to-device relative localization
CN102348276B (zh) 2011-11-23 2014-07-23 电信科学技术研究院 一种自组织网络中进行同步的方法和设备
KR101925361B1 (ko) * 2012-06-04 2018-12-05 삼성전자주식회사 사용자 단말 장치, 메시지 교환 시스템, 메시지 표시 방법 및 메시지 교환 방법
US9350803B2 (en) * 2012-09-13 2016-05-24 Tencent Technology (Shenzhen) Company Limited Information management method and device
JP2016511400A (ja) * 2013-02-14 2016-04-14 ディーキン ユニバーシティDeakin University 位置検出装置及び方法
US9928652B2 (en) * 2013-03-01 2018-03-27 Apple Inc. Registration between actual mobile device position and environmental model
US10262462B2 (en) * 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
CN104427607B (zh) 2013-08-26 2018-01-19 北京信威通信技术股份有限公司 一种自组织网络中节点间时间同步的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991468A (ja) * 1995-09-22 1997-04-04 Nippon Telegr & Teleph Corp <Ntt> 3次元画像表示装置および方法
EP2587808A1 (en) * 2010-06-28 2013-05-01 PNF Co. Ltd System and method for displaying 3d images
KR20130019546A (ko) * 2011-08-17 2013-02-27 국방과학연구소 증강현실을 이용한 실물과 가상모델 사이의 거리측정 시스템 및 방법
CN104954349A (zh) * 2014-03-31 2015-09-30 北京畅游天下网络技术有限公司 一种2d游戏中客户端的同步方法、装置和***

Also Published As

Publication number Publication date
US20170153864A1 (en) 2017-06-01
CN106817508A (zh) 2017-06-09
EP3173134B1 (en) 2023-07-26
EP3173134A1 (en) 2017-05-31
US10338879B2 (en) 2019-07-02

Similar Documents

Publication Publication Date Title
CN106817508B (zh) 一种同步对象确定方法、装置和***
US11544031B2 (en) Methods and systems of automatic calibration for dynamic display configurations
Cheng et al. Are we ready for metaverse? A measurement study of social virtual reality platforms
CN101966393B (zh) 显示器观看***和基于活动跟踪优化显示器画面的方法
CN102939139B (zh) 共享虚拟空间中便携式设备的校准
Papagiannakis et al. A survey of mobile and wireless technologies for augmented reality systems
JP6124985B1 (ja) 映像コンテンツ配信システム及びコンテンツ管理サーバ
US11532124B2 (en) Cross reality system with WIFI/GPS based map merge
KR101171409B1 (ko) 정보 처리 장치, 데이터 처리 방법, 및 기록매체
US20160225188A1 (en) Virtual-reality presentation volume within which human participants freely move while experiencing a virtual environment
CN107124416B (zh) 多化身位置同步***、方法、装置及电子设备和存储介质
CN108921050B (zh) 一种基于移动端的虚拟现实图像处理***
CN111167116A (zh) 一种平滑显示的方法、终端和计算机存储介质
US20200351384A1 (en) System and method for managing virtual reality session technical field
US20220297001A1 (en) Server, processing system, processing method, and program
CN111373450A (zh) 利用多设备协作确定和投影全息对象路径和对象移动
CN117425870A (zh) 虚拟现实中的动态混合现实内容
CN114731469A (zh) 人工现实***中的音频样本相位对齐
US12002170B2 (en) Cross reality system with buffering for localization accuracy
KR102428438B1 (ko) 실시간 좌표 공유 기반의 다자 간 원격 협업 방법 및 시스템
RU2695053C1 (ru) Способ и устройство для управления трехмерными объектами в виртуальном пространстве
KR102149608B1 (ko) 가상 현실 및 증강 현실을 이용한 혼합 렌더링 콘텐츠 제공 방법 및 이를 이용한 시스템
KR20200054554A (ko) 안정적인 다중 접속을 위한 가상현실게임 운용 시스템 및 방법
Su et al. Masking the effects of delays in human-to-human remote interaction
KR20210012442A (ko) 가상 현실 및 증강 현실을 이용한 혼합 렌더링 콘텐츠 제공을 위한 카메라 트래킹 방법 및 이를 이용한 시스템

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant