CN104506650B - 一种用户设备协同控制方法、用户设备以及通信系统 - Google Patents

一种用户设备协同控制方法、用户设备以及通信系统 Download PDF

Info

Publication number
CN104506650B
CN104506650B CN201510003833.8A CN201510003833A CN104506650B CN 104506650 B CN104506650 B CN 104506650B CN 201510003833 A CN201510003833 A CN 201510003833A CN 104506650 B CN104506650 B CN 104506650B
Authority
CN
China
Prior art keywords
user equipment
host
user
operand
data
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
CN201510003833.8A
Other languages
English (en)
Other versions
CN104506650A (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 CN201510003833.8A priority Critical patent/CN104506650B/zh
Publication of CN104506650A publication Critical patent/CN104506650A/zh
Priority to EP20198680.9A priority patent/EP3826270B1/en
Priority to EP15875167.7A priority patent/EP3242462B1/en
Priority to PCT/CN2015/098699 priority patent/WO2016107489A1/zh
Priority to US15/639,963 priority patent/US20170300287A1/en
Application granted granted Critical
Publication of CN104506650B publication Critical patent/CN104506650B/zh
Priority to US17/226,958 priority patent/US20210224022A1/en
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
    • 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
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种用户设备协同控制方法,包括:接收第一用户设备在第一时间间隔内采集的第一操作数据;在启动的定时器的计时周期内,接收第二用户设备在第二时间间隔内采集的第二操作数据;当所述计时周期结束后,对第一操作数据和第二操作数据进行组合,以得到组合操作数据;根据组合操作数据,更新目标应用当前显示的图形界面;将更新后的图形界面同步到第一用户设备和第二用户设备。本发明实施例通过将多个用户设备的多路用户操作数据组合为多点操作数据,然后注入到应用进行处理,解决了多人互动控制场景下的反向控制干扰问题,可以让多人在多设备上进行完美的协同操作。

Description

一种用户设备协同控制方法、用户设备以及通信系统
技术领域
本发明涉及通信技术领域,尤其涉及一种用户设备协同控制方法、一种用户设备以及一种通信系统。
背景技术
随着移动互联网技术的飞速发展,用户设备的种类越来越多,例如智能电视、智能手机、平板电脑等,随之出现了各种用户设备之间的互联方案,这些互联方案能够实现用户设备之间的多屏互动(multi-screen interaction)。多屏互动是指在不同用户设备上,如电视、手机、个人电脑等多种类型设备的屏幕上进行多媒体(音频、视频、图片等)内容的传输、解析、展示及控制等操作,从而可以在不同用户设备上实时共享显示内容,给用户提供良好的体验。
镜像(Mirror)功能是多屏互动中的基础体验之一,指的是将一个用户设备的屏幕上显示的内容实时传递到另外一个用户设备的屏幕上并显示。镜像功能主要适用于非媒体类,例如商务演示、多人游戏等场景。
在现有技术中,如图1所示,多个用户设备(如智能手机、平板电脑、智能电视等)可通过网络设备(比如无线路由器、家庭网关等)组建一个家庭局域网,各个用户设备通过特定协议建立互联通道之后,一台用户设备,如图1中的主机(Host)可以将自身屏幕显示的内容实时Mirror到其他用户设备上,如图中的用户设备A、用户设备B和用户设备C,从而实现群组分享。同时,当主机的屏幕分享给用户设备之后,用户在用户设备上的操作,如点击、滑动等操作,可以以控制数据的形式经过互联通道传递到主机,这样用户设备的用户也可以反向控制主机。这样可以让使用Mirror功能的多方进行互动和交流。
现有技术的方案,由于可以将一个host的内容分享给多个用户设备,当用户设备进行反向控制的时候,可能会有多路控制数据注入host,从而引起各个用户设备的控制数据相互干扰,导致host无法正常响应。例如,如图2所示,用户在用户设备A的屏幕左边向下滑动,另一用户在用户设备B的屏幕右边向下滑动,因为事件的采样时延加上各个用户设备的控制数据的互相干扰,最终反馈到Host上,会形成一系列的左右滑动,造成多个用户设备反向控制时互相干扰,影响用户体验。
发明内容
本发明实施例提供一种用户设备协同控制方法、用户设备以及通信系统,用于一定程度上解决多屏互动场景下多个用户的控制操作的干扰问题,使得多用户能够在多个用户设备上进行实时协同操作。
第一方面,本发明实施例提供了一种用户设备协同控制方法,应用于主机,所述主机通过网络与第一用户设备和第二用户设备互连,所述主机上运行有目标应用,并显示所述目标应用生成的图形界面,所述第一用户设备、第二用户设备和所述主机上显示的图形界面的内容一致,所述方法包括:
接收所述第一用户设备在第一时间间隔内采集的第一操作数据;其中,所述第一操作数据是根据用户在所述第一用户设备上的操作生成的;
在启动的定时器的计时周期内,接收第二用户设备在第二时间间隔内采集的第二操作数据;所述第二操作数据是根据用户在所述第二用户设备上的操作生成的;
当所述计时周期结束后,对所述第一操作数据和所述第二操作数据进行组合,以得到组合操作数据;
对所述组合操作数据进行处理,其中,所述处理步骤包括:根据所述组合操作数据,更新所述目标应用当前显示的图形界面;
将更新后的图形界面同步到所述第一用户设备和第二用户设备。
在第一方面的第一种可能的实现方式中,所述第一操作数据包括用于表示第一单点触控事件的第一单点触控数据,所述第二操作数据包括用于表示第二单点触控事件的第二单点触控数据;
所述主机对所述第一操作数据和所述第二操作数据进行组合,以得到组合操作数据,包括:
所述主机将所述第一单点触控数据和所述第二单点触控数据组合为用于表示多点触控操作的多点触控数据,所述组合操作数据为所述多点触控数据。
在第一方面的第二种可能的实现方式中,所述第一用户操作数据包括用于表示第一多点触控事件的第一多点触控数据,所述第二用户操作数据包括用于表示第二单点触控事件的第二单点触控数据;
所述主机对所述第一用户操作数据和所述第二用户操作数据进行组合,以得到组合操作数据,包括:
所述主机将用于表示多个单点触控事件的多个单点触控数据与所述第二单点触控数据组合,以得到用于表示第三多点触控事件的第三多点触控数据,所述组合操作数据为所述第三多点触控数据,所述多个单点触控事件是所述第一多点触控事件所包含的单点触控事件。
在第一方面的第三种可能的实现方式中,其中,所述本地用户操作数据是根据用户在所述主机上的操作生成的;
相应地,所述对所述第一操作数据和所述第二操作数据进行组合,包括:
将所述本地用户操作数据、所述第一操作数据和所述第二操作数据进行组合,以得到所述组合操作数据。
结合第一方面,或者第一方面第一至第三种任意一种可能的实现方式,在第四种可能的实现方式中,所述根据所述组合操作数据,更新所述目标应用当前显示的图形界面包括:
根据所述组合操作数据构建虚拟多点触控事件,通过所述主机的窗口管理器将所述虚拟多点触控事件分发给所述目标应用的窗口,以使得所述目标应用响应所述虚拟多点触控事件,其中,所述响应所述虚拟多点触控事件包括:更新所述目前应用当前显示的图形界面。
结合第一方面,或者第一方面第一至第四种任意一种可能的实现方式,在第五种可能的实现方式中,所述定时器是在接收到所述第一用户设备发送的第一操作数据的同时或之后启动的。
第二方面,本发明实施例提供了一种用户设备协同控制方法,应用于主机,所述主机通过网络与第一用户设备和第二用户设备互连,所述主机上运行有目标应用,并显示所述目标应用生成的图形界面,所述第一用户设备、第二用户设备与所述主机上显示的图形界面的内容一致,所述方法包括:
所述主机接收所述第一用户设备在第一时间间隔内采集的第一操作数据;其中,所述第一操作数据是根据用户在所述第一用户设备上的操作生成的;
所述主机对所述第一操作数据进行处理,其中,所述处理步骤包括:进入反向控制处理状态,根据所述第一操作数据,更新所述目标应用当前显示的图形界面;接收第二用户设备在第二时间间隔内采集的第二操作数据;所述第二操作数据是根据用户在所述第二用户设备上的操作生成的;
当所述主机当前处于反向控制处理状态,则丢弃所述第二操作数据。
在第二方面的第一种可能的实现方式中,还包括:当所述目标应用完成对所述第一操作数据的处理后,所述主机进入空闲状态。
在第二方面的第二种可能的实现方式中,还包括:当所述主机接收到表征所述第一用户设备的用户停止操作的操作数据之后,所述主机进入空闲状态。
结合第二方面,或者第二方面第一至第二种任意一种可能的实现方式,在第三种可能的实现方式中,其中,所述处理包括:根据所述第二操作数据,更新所述目标应用当前显示的图形界面;当所述目标应用完成对所述第二操作数据的处理,或者所述主机接收到表征所述第二用户设备的用户停止操作的操作数据之后,所述主机进入空闲状态。
第三方面,本发明实施例提供了一种用户设备协同控制方法,应用于主机,所述主机通过网络与第一用户设备和第二用户设备互连,所述主机上运行有第一应用和第二应用,所述主机的显示屏的第一区域显示所述第一应用的图形界面,所述主机的显示屏的第二区域显示所述第二应用的图形界面,所述第一区域和所述第二区域彼此独立;所述第一用户设备显示的图形界面与所述第一区域显示的图形界面内容一致,所述第二用户设备显示的图形界面与所述第二区域显示的图形界面内容一致,所述方法包括:
所述主机接收所述第一用户设备发送的第一操作数据;其中,所述第一操作数据是根据用户在所述第一用户设备显示的图形界面上的操作生成的;
所述主机对所述第一操作数据进行处理,其中,所述处理步骤包括:根据所述第一操作数据,在所述第一区域更新所述第一应用当前显示的图形界面;
所述主机将所述第一应用更新后的图形界面同步到所述第一用户设备;
所述主机接收第二用户设备发送的第二操作数据;其中,所述第二操作数据是根据用户在所述第二用户设备上的操作生成的;
所述主机对所述第二操作数据进行处理,其中,所述处理步骤包括:根据所述第二操作数据,在所述第二区域更新所述第二应用当前显示的图形界面。
所述主机将所述第二应用更新后的图形界面同步到所述第二用户设备。
在第三方面的第一种可能的实现方式中,其中,所述第一采样定时器是用户在所述第一用户设备上操作之后或同时启动的,所述第二采样定时器是用户在所述第二用户设备上操作之后或同时启动的。
第四方面,本发明实施例提供了一种主机,包括:处理器、存储器、网络接口和显示屏,所述主机通过所述网络接口与第一用户设备和第二用户设备连接;所述处理器读取并执行所述存储器中存储的目标应用,并通过所述显示屏显示所述目标应用生成的图形界面,所述第一用户设备、第二用户设备和所述主机上显示的图形界面的内容一致,
所述网络接口用于,接收所述第一用户设备在第一时间间隔内采集的第一操作数据,以及在启动的定时器的计时周期内,接收第二用户设备在第二时间间隔内采集的第二操作数据;其中,所述第一操作数据是根据用户在所述第一用户设备上的操作生成的,所述第二操作数据是根据用户在所述第二用户设备上的操作生成的;
所述处理器用于,当所述计时周期结束后,对所述第一操作数据和所述第二操作数据进行组合,以得到组合操作数据;根据所述组合操作数据,更新所述目标应用的图形界面并在所述显示屏上显示;以及将所述目标应用更新后的图形界面包含的内容通过所述网络接口发送至所述第一用户设备和所述第二用户设备。
在第四方面的第一种可能的实现方式中,所述第一操作数据包括用于表示第一单点触控事件的第一单点触控数据,所述第二操作数据包括用于表示第二单点触控事件的第二单点触控数据;
所述对所述第一操作数据和所述第二操作数据进行组合具体包括:将所述第一单点触控数据和所述第二单点触控数据组合为用于表示多点触控操作的多点触控数据,所述组合操作数据为所述多点触控数据。
在第四方面的第二种可能的实现方式中,其中,所述本地用户操作数据是根据用户在所述主机上的操作生成的;所述对所述第一操作数据和所述第二操作数据进行组合具体包括:将所述本地用户操作数据、所述第一操作数据和所述第二操作数据进行组合,以得到所述组合操作数据。
结合第四方面,或者第四方面第一至第二种任意一种可能的实现方式,在第三种可能的实现方式中,所述存储器中存储有定时器程序,所述处理器读取并执行所述定时器程序,以启动所述定时器。
第五方面,本发明实施例提供了一种主机,包括:处理器、存储器、网络接口和显示屏,所述主机通过所述网络接口与第一用户设备和第二用户设备连接;所述处理器读取并执行所述存储器中存储的目标应用,并通过所述显示屏显示所述目标应用生成的图形界面,所述第一用户设备、第二用户设备和所述主机上显示的图形界面的内容一致,
所述网络接口用于,接收所述第一用户设备在第一时间间隔内采集的第一操作数据,其中,所述第一操作数据是根据用户在所述第一用户设备上的操作生成的;
所述处理器用于,设置用于表示所述主机当前处于反向控制处理状态的状态标记,并对所述第一操作数据进行处理,其中,所述处理包括:根据所述第一操作数据,更新所述目标应用当前显示的图形界面;
所述网络接口还用于,接收第二用户设备在第二时间间隔内采集的第二操作数据;所述第二操作数据是根据用户在所述第二用户设备上的操作生成的;
所述处理器还用于,当确定所述主机当前处于反向控制处理状态时,则丢弃所述第二操作数据。
在第五方面的第一种可能的实现方式中,所述处理器还用于,当完成对所述第一操作数据的处理后,设置用于表示所述主机当前处于空闲状态的的状态标记。
结合第五方面,或者第五方面第一种可能的实现方式,在第二种可能的实现方式中,其中,所述处理包括:根据所述第二操作数据,更新所述目标应用当前显示的图形界面;当完成对所述第二操作数据的处理,或者所述网络接口接收到表征所述第二用户设备的用户停止操作的操作数据之后,设置用于表示所述主机当前处于空闲状态的的状态标记。
第六方面,本发明实施例提供了一种主机,包括:处理器、存储器、网络接口和显示屏,所述主机通过所述网络接口与第一用户设备和第二用户设备连接;所述处理器用于读取并执行所述存储器中存储的第一应用和第二应用,并在所述显示屏的第一区域显示所述第一应用的图形界面,在所述显示屏的第二区域显示所述第二应用的图形界面,所述第一用户设备显示的图形界面与所述第一区域显示的图形界面的内容一致,所述第二用户设备显示的图形界面与所述第二区域显示的图形界面的内容一致;
所述网络接口用于,接收所述第一用户设备发送的第一操作数据,以及接收第二用户设备发送的第二操作数据;其中,所述第一操作数据是根据用户在所述第一用户设备显示的图形界面上的操作生成的,所述第二操作数据是根据用户在所述第二用户设备上的操作生成的;
所述处理器用于,根据所述第一操作数据,更新所述第一应用当前显示的图形界面,并在所述第一区域显示所述第一应用更新后的图形界面;根据所述第二操作数据,更新所述第二应用当前显示的图形界面,并在所述第二区域显示所述第二应用更新后的图形界面;将所述第一应用更新后的图形界面包含的内容通过所述网络接口发送至所述第一用户设备,将所述第二应用更新后的图形界面包含的内容通过所述网络接口发送至所述第二用户设备。
第七方面,本发明实施例提供了一种通信系统,包括:主机、第一用户设备和第二用户设备,其中,所述主机通过与第一用户设备和第二用户设备通信连接,所述主机上运行有目标应用,并显示所述目标应用生成的图形界面,所述第一用户设备、第二用户设备和所述主机上显示的图形界面的内容一致;其中,
所述主机用于,接收所述第一用户设备在第一时间间隔内采集的第一操作数据;在启动的定时器的计时周期内,接收第二用户设备在第二时间间隔内采集的第二操作数据;当所述计时周期结束后,对所述第一操作数据和所述第二操作数据进行组合,以得到组合操作数据;根据所述组合操作数据,更新所述目标应用当前显示的图形界面;将更新后的图形界面的内容发送给所述第一用户设备和第二用户设备;其中,所述第一操作数据是根据用户在所述第一用户设备上的操作生成的;所述第二操作数据是根据用户在所述第二用户设备上的操作生成的;
所述第一用户设备和第二用户设备用于,接收所述更新后的图形界面的内容并显示。
结合上述任一方面,或者任一方面的任意一种可能的实现方式,所述第一采样定时器是在所述第一用户设备的用户开始操作之后或同时启动的,所述第二采样定时器是在所述第二用户设备的用户开始操作之后或同时启动的。
结合上述任一方面,或者任一方面的任意一种可能的实现方式,所述第一时间间隔、所述第二时间间隔与所述定时器的计时周期相等。
结合上述任一方面,或者任一方面的任意一种可能的实现方式,所述第一时间间隔、所述第二时间间隔与所述定时器的计时周期均为30ms。
结合上述第一方面,第四方面,第七方面,以及第一方面、第四方面和第七方面的任意一种可能的实现方式,第一用户设备和第二用户设备上报的操作数据,具有不同的索引,且在一次多点触控操作流程中,每个用户设备对应的操作数据的索引不能改变,主机按照上报的时序记录各个用户设备上报的操作数据。
结合上述第一方面,第四方面,第七方面,以及第一方面、第四方面和第七方面的任意一种可能的实现方式,触控事件对应的触控数据用于表示该触控事件的类型、坐标等操作信息。
结合上述第一方面,第四方面,第七方面,以及第一方面、第四方面和第七方面的任意一种可能的实现方式,主机根据组合后的操作数据模拟出代表用户操作的虚拟事件,并然后将其注入到主机核心库层的I/O Service,使操作系统认可该事件,并让当前运行的应用识别和响应该虚拟事件。
结合上述第二方面,第五方面,以及第二方面和第五方面的任意一种可能的实现方式,当接收到第一用户设备上报的用户操作数据,并进入到反向控制处理状态后,如果继续收到了第一用户设备上报的用户操作数据,则继续响应处理。
结合上述第二方面,第五方面,以及第二方面和第五方面的任意一种可能的实现方式,主机通过设置寄存器标识的方式来实现状态的标记、判断及切换。
本发明实施例提供的用户设备协同控制方法、终端设备以及通信系统中,主机将每个用户设备的作为一路控制数据输入,多个用户设备的多路用户操作数据组合为多点操作数据,然后注入到应用进行处理,解决了多人互动控制场景下的反向控制干扰问题,可以让多人在多设备上进行完美的协同操作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例的多屏互动系统示意图。
图2示出了现有技术的用户设备反向控制方法示意图;
图3示出了本发明实施例的应用场景示意图。
图4示出了本发明实施例的多人协同场景示意图。
图5示出了本发明实施例的多人协同场景下的协同控制方法流程图。
图6示出了本发明实施例提供的主机的逻辑架构图。
图7示出了实现本发明实施例提供的镜像功能的逻辑示意图。
图8示出了实现本发明实施例提供的操作数据的结构示意图
图9示出了本发明实施例提供的多人协同场景下的协同控制方法流程图。
图10示出了本发明实施例提供的单点互斥场景下的协同控制方法流程图。
图11示出了本发明实施例提供的反向控制隔离场景示意图。
图12示出了本发明实施例提供的反向控制隔离场景下的协同控制方法流程图。
图13示出了本发明实施例提供的另一场景下的协同控制方法流程图。
图14示出了本发明实施例提供的主机的结构图。
图15示出了本发明实施例提供的另一主机的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
在本发明实施例中描述的数据结构和代码通常被存储在计算机可读存储介质上,其可以是任何可以存储代码和/或数据以便计算机系统使用的设备或媒体。计算机可读存储介质包括但不限于易失性存储器、非易失性存储器、诸如磁盘驱动器、磁带、CD(光盘)、DVD(数字视频光盘)之类的磁和光存储器设备、或其它的能够存储代码和/或数据的媒体。
在本发明实施例中描述的方法和过程可以用代码和/或数据来实施,代码和数据可以被存储在如上所述的计算机可读存储介质中。当计算机系统读取并运行在计算机可读存储媒体上存储的代码和/或数据时,计算机系统可以执行本发明实施例中描述的方法和过程。此外,本发明实施例描述的方法和过程可以包括在硬件模块或装置中。这些模块或装置可以包括但不限于专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)、在特定时间运行特定软件模块或一段代码的专用或共享的处理器、和/或其它可编程逻辑器件。当硬件模块或装置被激活时,它们执行包括在它们内部的方法和过程。
还应当理解,尽管在本文中可能采用术语第一、第二等来描述各种元件,但这些术语仅用来将元件彼此区分开。例如,在不脱离本发明的范围的情况下,第一用户设备也可以被称为第二用户设备,类似地,第二用户设备可以被称为第一用户设备。
在本发明的说明中使用的术语是仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明的说明书和所附权利要求中所使用的单数形式的"一个"和"该"也可以包括复数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语"和/或"是指包含一个或多个相关联的特征的任何或所有可能组合。
图3示出了本发明实施例的一种典型应用场景下的系统结构示意图。该系统包括家庭网关,以及通过家庭网关互连的多个用户设备(user device,UE),例如个人电脑(PC)、移动电话(mobile phone)、平板电脑、以及与电视机相连的机顶盒。这些用户设备通过家庭网关组建成了一个家庭网络,家庭网络中的用户设备,可以基于特定协议,比如DLNA(Digital Living Network Alliance,数字生活网络联盟)制定的标准协议,实现内容分享和协同控制。例如,家庭网络中的一台用户设备(以图3中的移动电话为例)可以将其显示的内容实时分享给其它用户设备(以图3中的电视机、平板电脑为例)上,使得多个用户设备可以实时显示相同的内容,其中,发起内容分享的用户设备通常也被称为主机;同时,基于用户在主机上的操作,主机可以实时更新自身显示的内容并同步至其它用户设备,另外,其它用户设备的用户的操作,如点击、滑动等操作,可以以操作数据的形式经过互联通道传递到主机,这样其它用户设备也可以反向控制主机。以上描述的就是基于图3所示的系统下的多屏互动的基本过程,本发明实施例提供了一种用户设备协同控制方法,旨在解决多屏互动场景下多个用户的控制操作的干扰问题,提高多屏互动的用户体验。需要说明的是,本发明实施例中描述的主机和用户设备可以为移动电话、平板电脑、便携式媒体播放器、或其它包括数字媒体功能的小型电子设备。
下面结合不同的场景来详细描述本发明实施例的用户设备协同控制方法。需要说明的是,本发明的实施例中,大都以用户设备A和B为例来阐述本发明技术方案,但不应将其理解为对用户设备数量的限定,另外,为了便于描述和区分,在有些地方,也称用户设备A为第一用户设备,用户设备B为第二用户设备。
首先描述多人协同场景,如多人游戏场景下的用户设备协同控制方法,如图4所示,在这种场景下,主机发起多屏共享之后,一个或多个用户设备(以图中的用户设备A、B为例)可以实时与主机显示相同的内容,每个用户设备的触控操作作为一路输入源,多个用户设备的多路输入组合为多点触控操作,然后注入到主机(Host)进行处理。具体地,如图5所示,在多人协同场景下,本发明实施例提供的用户设备协同控制方法主要包括如下步骤:
步骤501:主机开启镜像(Mirror)功能,以将自身屏幕显示的内容实时分享给用户设备A和用户设备B。比如,主机上运行有应用程序,并显示了该应用程序生成的图形界面,主机开启Mirror功能之后,主机当前显示的图形界面也会在用户设备A和用户设备B上同步显示,即主机、用户设备A和用户设备B显示的图形界面的内容一致,可以理解的是,由于显示屏尺寸、分辨率的差异,主机和用户设备A、B显示的图形界面可能存在细微差异,但三者显示的实质内容是一致的。
步骤502:在用户设备A和B上分别启动一个采样定时器,采样定时器的计时周期假设为TimerC,则在TimerC内,用户设备A和B收集用户的操作数据,定时器时间到(即定时器当前的计时周期结束),用户设备A和B分别将用户的操作数据上报给主机,其中,定时器的计时周期TimerC根据实际情况进行设定和调整,30ms是推荐值。可选地,用户设备A和B的采样定时器可以同时启动,也可以不同时启动,例如,在主机开启Mirror功能之后,用户设备可以在用户首次操作时再启动采样定时器。
步骤503:主机收到任何一个用户设备的上报的操作数据之后,开启一次多点触控操作流程,启动一个监控定时器,监控定时器的计时周期假设为TimerH,监控定时器的采样周期根据实际情况进行调整,30ms是推荐值。需要说明的是,主机启动监控定时器的主要作用是确保能接收到特定时延范围内的所有用户操作数据,即保证多个用户在不同用户设备上“同时”或“基本同时”触发的操作数据能被及时接收处理。例如,用户在用户设备A上操作的同时或者相隔较小的时间间隔(比如30ms)内,另一用户在用户设备B上也进行了操作,那么通过设置定时器,可以使得这两路操作数据能被及时接收并进行合并处理,避免主机在对操作数据响应处理的过程中,被接收到的其它操作数据干扰。可以理解的是,还可以采用与监控定时器功能相同或等同的其它类似实现方式来实现相同功能,本发明实施例不做特别限定。
步骤504:主机在TimerH内记录各个用户设备上报的操作数据,其中,不同用户设备上报的操作数据,具有不同的索引(index),主机在记录用户设备上报的操作数据时,可以按照上报的时序记录。
步骤505:TimerH定时器时间到,主机将采集到的各用户设备的操作数据组合为一个组合操作数据,注入应用程序,以使得应用程序捕获并处理该组合操作数据,其中,该处理步骤包括:根据该组合操作数据,更新应用程序的图形界面并显示。
步骤506:监控定时器进入下一个计时周期,重复:503~505步骤。
步骤507:当所有用户设备上的用户停止操控,没有操作数据上报给主机,则一次多点触控操作流程完毕,停止监控定时器。在一次多点触控操作流程中,每个用户设备对应的操作数据的索引(index)不能改变。
可选地,在一个实施例中,用户设备上报的操作数据可以为单点触控数据,比如单点按下、抬起、滑动等单点触控事件产生的操作数据,也可以为多点触控数据,比如多点按下、抬起、移动等多点触控事件产生的操作数据;其中,本发明实施例中的“单点”,是指在同一时刻,用户手指或触笔在触摸屏上的触点为单个,例如,用户用一根手指在触摸屏上点击、滑动等动作所触发生成的数据即为单点触控数据;类似地,“多点”是指在同一时刻,用户手指或触笔在触摸屏上的触点为多个,例如,用户用二根手指同时在触摸屏上点击、滑动等动作所触发生成的数据即为多点触控数据;通常,从用户设备操作系统的角度,用户的一次触控操作被视为一次触控事件,例如,一次单点触控操作视为一次单点触控事件,一次多点触控操作视为一次多点触控事件,同时,每一触控事件都会触发操作系统生成对应的触控数据,以表示或记录该触控事件,更具体地说,触控数据用于表示其对应的触控事件的类型、坐标等操作信息,例如单点触控事件对应的单点触控数据用于表示该单点触控事件的类型、坐标等操作信息。需要说明的是,本发明实施例在有些段落可能未对触控事件和触控数据做明显区分,需要根据上下文来判断触控事件具体是指事件本身,还是指触控事件所对应的触控数据。
在一个实施例中,如果主机在监控定时器的计时周期内,接收到的操作数据包括多个单点触控数据(这多个单点触控数据可能来自与不同的用户设备,也有可能来自同一用户设备,本实施例不做特别限定),则可以将接收到的这多个单点触控数据组合为用于表示多点触控事件的多点触控数据,并注入应用程序进行响应处理。如果主机接收到的操作数据同时包含单点触控数据和多点触控数据,其中,该多点触控数据用于表示多点触控事件,而一个多点触控事件,通常是由多个单点触控事件组成的,相应地,该多点触控数据也是由这多个单点触控事件对应的多个单点触控数据组成的,在这种情形下,可以将这多个单点触控事件对应的多个单点触控数据与已接收的其它单点触控数据组合,以得到新的多点触控数据,这个新的多点触控数据代表一个多点触控事件,最后将新的多点触控数据注入操作系统并进行响应处理。
以上描述了主机与多用户设备协同控制的基本流程,具体的技术细节,根据主机逻辑架构的不同,略有区别。下面以android架构为例,详细描述相关的技术细节。本发明实施例所描述的主机,可以为可以为移动电话、平板电脑、便携式媒体播放器、或其它包括数字媒体功能的小型电子设备。
图6为本发明实施例提供的主机的逻辑架构图,参照图6,该主机的硬件层包括中央处理器(Center Processing Unit,CPU)、图形处理器(Graphic Processing Unit,GPU)等,当然还可以包括存储器、输入/输出设备、内存、内存控制器、网络接口等,输入设备可包括键盘、鼠标、触摸屏等,输出设备可包括显示设备如液晶显示器(Liquid CrystalDisplay,LCD)、阴极射线管(Cathode Ray Tube,CRT、)全息成像(Holographic)、投影(Projector)等。在硬件层之上可运行有操作系统(如Android、Firefox OS等)以及一些应用程序。操作系统包括驱动层、核心库层和框架层。驱动层可包括CPU驱动、GPU驱动、显示控制器驱动等,核心库是操作系统的核心部分,包括输入/输出服务、核心服务、图形设备接口以及实现CPU、GPU图形处理的图形引擎(Graphics Engine)等。图形引擎可包括2D引擎、3D引擎、合成器(Composition)、帧缓冲区(Frame Buffer)等。框架层可包括窗口管理器(Window Manager)、通知管理器(Notification Manager)、传感器管理器(SensorManager)和视图管理器(View Manager)等。除此之外,该主机还包括应用层。应用层可包括桌面(launcher)、媒体播放器(Media Player)、浏览器(Browser)等。
除此之外,应用层可包括主界面(home)、媒体播放器(Media Player)、浏览器(Browser)等多种应用程序。
基于以上描述的主机的逻辑架构,本发明实施例步骤501中所描述的Mirror功能主要用于对用户设备屏幕的图像进行抓取,并调用设备的硬件进行编码,然后通过网络传输将编码数据发送到远端用户设备进行解码和显示。在一个可选的实施例中,如图7所示,步骤501中的Mirror功能可以由一个应用程序来实现,该应用程序主要包括:抓取模块、编码模块和传输模块;具体地:
抓取模块通过打开系统设备/dev/graphic/fb0来读取帧缓冲区(frame buffer)中的数据,以实现对显示单元显示的图像的抓取,必要时抓取模块也可以调用图形引擎(比如copybit引擎)对图像进行旋转和缩放,然后编码模块调用核心库层中的视频编码接口(比如h.264编码接口)或视频编码库对图像进行编码,最后传输模块将编码后的图像发送至远端用户设备。需要说明的是,抓取和编码模块需要芯片平台提供能力支持,与硬件层强相关。
本发明实施例所描述的上述方法中,主机在监控定时器的一个计时周期内接收到用户设备A和用户设备B上报的操作数据后,原本两组来源完全不同的操作数据(包括手指点击、滑动、功能按键等产生的操作数据)在主机端组合为同一用户的操作数据,即不同的用户的操作视为同一用户并发的多个操作。进一步地,根据组合后的操作数据模拟出代表用户操作的虚拟事件,并然后将其注入到主机核心库层的I/O Service,使操作系统认可该事件,并让当前运行的应用识别和响应该事件。
以图6所示的Android系统架构为例,详细说明步骤505介绍的操作数据组合及注入过程:
主机接收用户设备A发送的用于指示用户的手指从坐标(100,100)到(100,105)的滑动事件,在预定的时间间隔内(该事件间隔可由监控定时器设定),用户设备B的用户的手指也处于按压状态,并且从坐标(200,200)移动到(200,195)。那么主机将收到两个单点触控数据,主机可以将两个单点触控数据组合为表示用户两指同时滑动的多点触控数据,具体地,可以通过PointerCoords数组将两个单点触控数据组合为多点触控数据,例如,不同用户设备上报的操作数据,具有不同的索引(index),进而可以根据操作数据的索引,以及接收操作数据的时序关系将多个单点触控数据以数组的形式存储;进一步地,基于组合后的多点触控数据构建新的多点触控事件MotionEvent,该多点触控事件MotionEvent非主机自身触发,而是根据组合后的多点触控数据手动创建的虚拟事件。主机可以通过Framework层的窗口管理器(Windows Manager)提供的系统方法injectPointerEvent将多点触控事件MotionEvent下达到核心库层的I/O Service。I/O Service原本用于接收驱动层上报的当前硬件层设备触发的物理事件,此时会把创建的该虚拟事件当做物理事件一样,重新上报给Framework层窗口管理器,以供正在运行的应用程序捕获并响应该事件,其中应用程序响应该事件具体包括:根据该事件,更新该应用程序当前显示的图形界面。
图8示出了本发明实施例提供的操作数据的结构,根据图8,操作数据主要包括:MultiAction、POINTER和INFO(index)三个字段,其中,各个字段的定义如下:
MultiAction:用于标识多点触控数据,例如,多个用户设备的操作数据组合出的多点触控数据;可以理解的是,如果是单点触控数据,则可以用SingleAction来标识;
POINTER:指示当前有多少个操作数据来源,即该多点触控数据是由多少个用户设备的操作数据组合而成的;
INFO(index):每个用户设备的操作信息,包含具体的事件类型,以及坐标等信息,其中,事件类型包括但不限于:单点按下(DOWN)、抬起(UP)、移动(MOVE)、多点按下(POINTER_DOWN)、多点抬起(POINTER_UP)、多点移动(POINTER_MOVE)。
基于上述操作数据的数据结构描述,下面举例说明操作数据的组合过程:
假设用户设备A上报的操作数据为:SingleAction POINTER=1INFO(0)action=down coordinate=(0,0);
用户设备B上报的操作数据为:SingleAction POINTER=1INFO(1)action=downcoordinate=(100,100);
则组合后的操作数据为:MultiAction POINTER=2INFO(0)pointer_downcoordinate={(0,0),(100,100)};或MultiAction POINTER=2INFO(1)pointer_downcoordinate={(0,0),(100,100)};可以看出,通过操作数据的组合,将不同的用户的操作视为同一用户并发的多个操作,从而避免了多个用户设备反向控制时互相干扰,提升了用户体验。
基于以上实施例的描述,在一个可选的实施例中,可以将主机的用户操作数据也作为一路输入,与用户设备上报的用户操作数据进行组合。结合图9,具体的协同控制方法描述如下:
步骤1:Host开启Mirror功能,分享屏幕给用户设备。
步骤2、Host用户操作,此时没有任何用户设备用户操作,则Host将用户操作数据直接注入应用程序处理。
步骤3:在用户设备上启动一个采样定时器,采样定时器的计时周期TimerC根据实际情况进行调整,30ms是推荐值。
步骤4:在TimerC内,用户设备定期收集用户操作数据。
步骤5:定时器计时周期TimerC结束(即定时器定时时间到),将用户操作数据上报给Host。
步骤6:在Host端,收到任何一个用户设备的用户操作数据之后,开启一次多点触控操作流程,启动一个监控定时器,监控定时器的计时周期TimerH根据实际情况进行调整,30ms是推荐值。
步骤7:在TimerH内记录各用户设备上报的用户操作信息。
步骤8:如果Host用户有操作,则拦截Host的用户操作数据,将该操作数据也作为一路输入与用户设备上报的用户操作信息进行组合。
步骤9:监控定时器的一个计时周期结束,将采集到的各用户设备的用户操作数据与Host端的用户操作数据集组合为多点触控数据,注入到Host中进行处理。
步骤10:重复4~9步骤。
步骤11:当所有的用户设备以及Host的用户停止操作,Host端没有操作数据注入,则一次多点触控操作流程完毕,停止监控定时器。其中,主机的用户操作数据,以及不同用户设备上报的用户操作数据,用不同的索引(index)来区分,主机在记录用户设备上报的操作数据时,可以按照时序记录。在一次多点触控操作流程中,每路输入对应的用户操作数据的Index不能改变。
以上描述的处理流程与图5所描述的基本一致,只是拦截了Host的用户操作数据,并将其作为多点触控事件的一路参与了事件组合,关于事件组合的实现细节,参照以上各个实施例的描述,此处不再赘述。
以上描述了的多人协同场景下的用户设备协同控制方法,以及相关的装置实施例,下面描述单点互斥场景下的用户设备协同控制方法。单点互斥场景包括:图片分享,幻灯片宣讲等场景,在这种场景下,对于多个用户设备同时发生的操控,主机只保留一路反向控制注入,避免各路操控干扰,如图10所示,具体流程如下:
步骤1:Host开启Mirror功能,分享屏幕给用户设备A和用户设备B。
步骤2:在用户设备A和用户设备B上分别启动一个采样定时器。
步骤3:在采样定时器的一个计时周期内,用户设备A和用户设备B收集用户操作数据。
步骤4:采样定时器时间到(即采样定时器当前的计时周期结束),用户设备A和B分别将用户操作数据上报给Host,其中,关于采样定时器的说明可以参见前面实施例的描述。
步骤5:在Host端,收到任何一个用户设备(比如用户设备A)上报的用户操作数据之后,注入系统处理,并进入到反向控制处理状态。
步骤6:此时,如果用户设备B有用户操作,且上报了用户操作数据给Host,Host将丢弃用户设备B的用户操作数据。
步骤7:用户设备A的用户停止操作,比如,手指头离开了屏幕,则用户表示用户设备A的用户停止操作的操作数据被发送到Host。
步骤8:Host结束反向控制处理状态,进入空闲(Idle)状态。
步骤9:此时,如果用户设备B有用户操作,且上报了用户操作数据给Host,Host将用户设备B的用户操作数据注入系统处理,并进入到反向控制处理状态。
可选地,在一个实施例中,当Host接收到用户设备A上报的用户操作数据,注入系统处理,并进入到反向控制处理状态后,如果继续收到了用户设备A上报的用户操作数据,则可以继续响应处理,如果收到了其它的用户设备上报的用户操作数据,则直接丢弃。
可选地,在一个实施例中,Host由反向控制处理状态向空闲状态的切换,是由用户停止操作的事件触发的,就像上述步骤5-7描述的那样,当Host接收到用户设备A的用户操作数据,进入反向控制处理状态之后,如果接收到表征用户设备A的用户停止操作的操作数据之后,会从反向控制处理状态切换到空闲状态;相应地,当Host进入空闲状态之后,如果接收到任何一个用户设备的用户操作数据,又会重新进入反向控制处理状态,如此反复。
可选地,在另一个实施例中,Host由反向控制处理状态向空闲状态的切换,可以根据Host处理用户操作数据的状态来触发,当Host接收到用户设备A的用户操作数据,进入反向控制处理状态之后,如果应用程序完成了对该用户操作数据的响应和处理,则Host会从反向控制处理状态切换到空闲状态,以准备处理下一次接收到的用户操作数据。
可选地,主机可以通过设置寄存器标识的方式来实现状态的标记、判断及切换,例如,当接收到第一用户设备在第一时间间隔内采集的第一操作数据的同时或之后,主机可以立即对第一操作数据进行处理,并在在开始对第一操作数据处理的同时或相差误差允许的时间范围内,在寄存器或其它类似存储区域中设置标志位(比如设置为1),以表示主机当前正在对第一用户设备上报的操作数据进行处理。当完成对第一操作数据的处理之后,在寄存器或其它类似存储区域中设置标志位(比如设置为0),以表示主机当前处于空闲状态。这样,通过标志位的设置,主机可以在不同的状态之间切换,同时,也可以通过标志位来判断主机当前处于什么状态。另外,关于主机状态设置及切换的具体细节,可以参照相关的装置实施例,不再赘述。
在某些特殊的场景下,如分应用推送的场景,即Host上同时运行应用A和应用B,用户设备A显示Host上的应用A,用户设备B显示Host上的应用B,此时,Host需要提供用户设备反向控制隔离的功能,用户设备A的反向控制注入到Host的应用A,用户设备B的反向控制注入到Host的应用B,彼此互不干扰。图11示出了这种反向控制隔离场景,Host上可运行多个应用,如赛车游戏和图库,图库分享给用户设备A,赛车游戏分享给用户设备B。Host上两个应用可以分屏显示,也可以在后台运行。下面结合图12详细描述反向控制隔离场景下的协同控制方法流程:
步骤1:Host将应用A通过Mirror功能分享给用户设备A。
步骤2:Host端将应用B通过Mirror功能分享给用户设备B。
步骤3:在用户设备A和B上分别启动一个采样定时器。
步骤4:在采样定时器的一个计时周期内,用户设备A和用户设备B收集用户操作数据。
步骤5:采样定时器时间到(即采样定时器当前的计时周期结束),用户设备A和B分别将用户操作数据上报给Host,其中,关于采样定时器的说明可以参见前面实施例的描述。
步骤6:在Host端,收到用户设备A上报的用户操作数据之后,将该用户操作数据注入给应用A处理,应用B不受影响。
步骤7:在Host端,收到用户设备B上报的用户操作数据之后,将该用户操作数据注入给应用B处理,应用A不受影响。
在一个实施例中,用户操作数据注入应用的方法,可以参照前述实施例的描述,此外用户操作数据注入单独的应用的方法,可根据各个系统的特点来选择,可以选择单播,也可以使用在用户操作数据上添加标签的方法,例如不同用户设备上报的操作数据,用不同的索引(index)来区分,或者用户设备针对不能应用的操作数据,也可以用不同的标签来区分,本发明实施例对此不做特别限制。
在有些场景下,Host上没有虚拟按键,用户设备无法对控制按键(back,Home等)实行有效的操作。因为用户设备上的实体按键需要控制用户设备本身,而不能反向控制Host。下面结合图13详细描述这种场景下的协同控制方法流程:
步骤1:Host端检查具备的虚拟按键信息。
步骤2:Host端Mirror分享给用户设备A,同时告知用户设备A具备的虚拟按键的信息。
步骤3:Host根据场景,开放了物理按键(如HOME,BACK,MENU,音量+/-等)的反向控制功能。
步骤4:在用户设备A上,根据Host具备的虚拟按键信息功能,在Mirror界面上创建Host端没有的悬浮的虚拟按键,供用户操作,可悬浮:HOME,BACK,MENU,音量等,根据实际情况来增删。
步骤5:当用户设备A的用户点击了悬浮菜单上对应的虚拟按键之后,将用户在按键上的操作数据传递给Host。
步骤6:Host收到用户设备A的操作数据之后,则进行上报注入处理。
基于以上描述的多种场景下的用户设备协同控制方法,下面详细介绍实现上述方法的装置实施例。
在一个实施例中,参考图14,本发明实施例的一种主机600,包括,射频(RadioFrequency,RF)电路610、存储器620、输入单元630、显示单元640、传感器650、音频电路660、无线保真(wireless fidelity,WiFi)模块670、处理器680、以及电源690等部件。本领域技术人员可以理解,图6中示出的主机结构并不构成对主机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图14对主机600的各个构成部件进行具体的介绍:
RF电路610可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器680处理;另外,将上行的数据发送给基站。通常,RF电路610包括但不限于天线、至少一个放大器、收发信机、耦合器等。此外,RF电路610还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器620可用于操作系统以及应用程序,处理器680通过运行存储在存储器620的应用程序以及操作系统,调用硬件资源从而执行各种功能以及数据处理。具体地,处理器680可以执行存储在存储器620的应用程序以及操作系统,以执行图5、图9、图10、图12以及图13所描述的方法步骤,以实现相应的功能。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元630可用于接收输入的数字或字符信息,以及产生与移动设备的用户设置以及功能控制有关的键信号输入。具体地,输入单元630可包括触控面板631以及其他输入设备632。触控面板631,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板631上或在触控面板631附近的操作)。在本发明的一个实施例中,触控面板731检测用户的触控操作产生的电信号以及用户的触摸方位,将检测到的触控信息以触控事件的形式上报给处理器680,并接收处理器680发来的命令并加以执行,以响应用户的触控操作。除了触控面板631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆中的一种或多种。
显示单元640可用于显示系统桌面或者应用程序的图形界面。显示单元640可包括显示面板641,可选的,显示单元640的类型可以为液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等。进一步的,触控面板631可覆盖显示面板641,当触控面板631检测到在其上或附近的触摸操作后,传送触控事件给处理器680以确定触控事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出,例如更新应用程序当前显示的图形界面。虽然在图6中,触控面板631与显示面板641是作为两个独立的部件来实现移动设备的输入和输入功能,但是在某些实施例中,可以将触控面板631与显示面板641集成而实现移动设备的输入和输出功能。
主机600还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。至于主机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路660、扬声器661,传声器662可提供用户与主机之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路610以发送给其它用户设备,或者将音频数据输出至存储器620以便进一步处理。
WiFi属于短距离无线传输技术,在本发明实施例中,主机600通过WiFi模块670可以实现与其它用户设备的互联,例如,主机600可以抓取显示单元640显示的内容(比如应用程序的图形界面),并将抓取的图像进行压缩编码之后,通过WiFi模块670实时传送到其它的用户设备,其它的用户设备接收到压缩图像之后,进行解码并显示,从而达到多设备实时分享内容的效果。虽然图6示出了WiFi模块670,但是可以理解的是,其并不属于移动设备的必须构成,完全可以根据需要省略或者用其它的通信模块来替代。
处理器680是主机的控制中心,利用各种接口和总线连接整个主机的各个部件,通过运行存储在存储器620内的操作系统和应用程序,执行主机的各种功能。尽管未示出,主机600还可以包括摄像头、蓝牙模块等,在此不再赘述。
基于上述对主机600的各个构成部件的介绍,下面着重描述多人协同场景下主机600和多个用户终端进行协同控制的过程:处理器680通过读取并执行存储在存储器620内的应用程序,实时抓取显示单元640显示的图像,并将抓取到的图像压缩之后,通过WiFi模块670实时传送到其它的用户设备(此处以第一用户设备和第二用户设备为例进行说明),第一用户设备和第二用户设备在接收到压缩图像之后,对图像进行解码并显示,这样,在不考虑传输和处理时延的情形下,主机和第一用户设备、第二用户设备显示的内容一致,从而达到了多设备实时分享显示内容的效果。进一步地,第一用户设备和第二用户设备的用户可以对显示的内容进行操作,第一用户设备和第二用户设备周期性地采集各自的用户操作所产生的操作数据,并上报给主机;在主机端,当WiFi模块670接收到任何一个用户设备发送的操作数据之后,处理器680会将该操作数据记录到存储器620,同时处理器680启动监控定时器程序,在监控定时器的计时周期内,将各个用户设备上报的操作数据记录到存储器620中,其中,不同用户设备上报的操作数据,具有不同的索引(index),处理器680在记录用户设备上报的操作数据时,可以按照上报的时序记录;进一步地,监控定时器的时间到,处理器680将存储器620中记录的操作数据组合为一个组合操作数据,注入到操作系统中进行处理,这样主机当前运行的应用程序可以捕获该组合操作数据,并进行响应。关于单点互斥场景以及反向控制隔离场景下主机600和多个用户终端进行协同控制的过程,与以上描述的类似,此处不再赘述。
参照图15,本发明实施例还提供一种主机700,用于执行本发明方法实施例中描述的过程。主机700包括:处理器702、存储器705、网络接口703和显示屏712,可选地,主机700还包括输入单元711,输入单元711可包括触控面板或物理键盘或其他输入设备。主机700通过网络接口703连接到网络709,进而与连接到网络709的用户设备,如第一用户设备和第二用户设备(以图15中的用户设备710A和710N为例进行说明)互联,本发明实施例中也称710A为第一用户设备,710N为第二用户设备;网络接口703可以使用的通信协议包括但不限于:以太网协议,TCP/IP(Transmission Control Protocol/Internet Protocol),IEEE802.11a/b/g/n/x等等。网络709包括但不限于:局域网(LAN),广域网(WAN),无线网络,互联网等。
处理器702可以通过存储接口704与存储器705(例如,RAM,ROM等)通信,存储接口704包括但不限于:存储器驱动器,可移动磁盘驱动器等,存储接口704可以使用诸如串行高级技术附件(SATA),电子集成驱动器(Integrated Drive Electronics,IDE),通用串行总线(USB),小型计算机系统接口(SCSI)等连接协议与存储器705连接。
存储器705可以存储程序和组件,包括但不限于:操作系统707,应用程序708等。
在一个实施例中,存储器705中存储的应用程序包括:目标应用。处理器702读取并执行存储器705中存储的目标应用,并通过显示屏712显示目标应用生成的图形界面,同时,处理器702通过运行镜像程序,以抓取显示屏712显示的图形界面,并实时传送给第一用户设备710A和第二用户设备710N,这样,第一用户设备、第二用户设备和主机700的显示屏712所显示的图形界面的内容一致,从而达到了多屏共享的效果。
进一步地,第一用户设备在第一时间间隔内采集的第一操作数据可以通过网络接口703发送给主机700,在主机700接收到第一用户设备发送的第一操作数据之后,处理器702运行定时器程序,以启动定时器,并且,在定时器的一个计时周期内,如果网络接口703接收到第二用户设备在第二时间间隔内采集的第二操作数据,则在该计时周期结束后,处理器702对第一操作数据和第二操作数据进行组合,以得到组合操作数据;根据组合操作数据,更新目标应用的图形界面并在显示屏712上显示;以及将目标应用更新后的图形界面包含的内容通过网络接口703发送至第一用户设备710A和第二用户设备710N。
进一步地,在一个实施例中,如果在该计时周期内,主机700的用户通过输入单元711对目标应用显示的图形界面也进行了操作,则处理器702可以将主机700的用户的操作所产生的本地用户操作数据与第一操作数据和第二操作数据一起组合,以得到组合操作数据,并对该组合操作数据处理。可选地,本地用户操作数据、第一操作数据和第二操作数据可以为单点触控事件或多点触控事件中的任一种,另外,关于操作数据组合及处理的具体细节,可以参照前述其它实施例,不再赘述。
可选地,在另一个实施例中,当通过网络接口703接收到第一用户设备在第一时间间隔内采集的第一操作数据的同时或之后,处理器702可以立即对第一操作数据进行处理,在开始对第一操作数据处理的同时或相差误差允许的时间范围内,处理器702可以设置用于表示主机700当前正在对第一用户设备上报的操作数据进行处理的反向控制处理状态A。当完成对第一操作数据的处理之后,处理器702设置用于主机当前处于空闲状态的的状态标记。这样,主机700可以在不同的状态之间切换。
进一步地,若在对第一操作数据进行处理的过程中,即主机700处于反向控制处理状态A时,网络接口703接收到第二用户设备在第二时间间隔内采集的第二操作数据,则丢弃第二操作数据。若在主机700处于空闲状态A时,网络接口703接收到第二用户设备在第二时间间隔内采集的第二操作数据,则类似于上述对第一操作数据的处理方式,处理器702可以立即对第二操作数据进行处理,并设置用于表示主机700当前正在对第二用户设备上报的操作数据进行处理的反向控制处理状态B,当完成对第二操作数据的处理之后,处理器702设置用于主机当前处于空闲状态的的状态标记。进一步地,若在对第一操作数据进行处理的过程中,即主机700处于反向控制处理状态A时,网络接口703又接收到第一用户设备上报的其它操作数据,则处理器702可以继续处理第一用户设备上报的其它操作数据,并保持处于反向控制处理状态A,可选地,处理器702也可以丢弃该操作数据不予处理。
需要说明的是,以上描述的是基于主机对操作数据的处理状态来触发主机在不同状态之间的切换,可选地,也可以根据操作数据的类型来触发主机在不同状态之间切换,比如,当主机700处于反向控制处理状态A时,若接收到表征第一用户设备的用户停止操作的操作数据之后,主机700切换到空闲状态。关于主机状态设置及切换的具体细节,可以参照前述其它实施例,不再赘述。
在另一个实施例中,存储器705中存储的应用程序包括:第一应用和第二应用,处理器702读取并执行存储器705中存储的第一应用和第二应用,并通过显示屏712显示第一应用和第二应用生成的图形界面,具体地,可以在显示屏712的第一区域显示第一应用的图形界面,在显示屏712的第二区域显示第二应用的图形界面,同时,处理器702通过运行镜像程序,以抓取显示屏712第一区域显示的图形界面,并实时传送给第一用户设备710A,以及抓取显示屏712第二区域显示的图形界面,并实时传送给第二用户设备710N,这样,第一用户设备和显示屏712第一区域所显示的图形界面的内容一致,第一用户设备和显示屏712第二区域所显示的图形界面的内容一致,从而达到了多个应用通过多个用户设备共享的效果。
进一步地,主机700可以通过网络接口703分别接收第一用户设备采集的第一操作数据,以及接收第二用户设备采集的第二操作数据;处理器702用于对第一操作数据和第二操作数据进行响应和处理,具体地,处理器702根据第一操作数据,更新所述第一应用当前显示的图形界面,并在第一区域显示第一应用更新后的图形界面;处理器702根据第二操作数据,更新第二应用当前显示的图形界面,并在第二区域显示第二应用更新后的图形界面;进一步地,处理器702可以将第一应用更新后的图形界面包含的内容通过网络接口703发送至第一用户设备,将第二应用更新后的图形界面包含的内容通过网络接口703发送至第二用户设备。
可选地,第一用户设备和第二用户设备可以定期将自身用户的操作数据上报给主机700。可选地,若主机700在较小的时间间隔(比如30ms)内接收到同一用户设备发送的操作数据,则可以对这些操作数据组合之后再处理。
本发明实施例还提供一种通信系统,包括上述主机700以及第一用户设备710A和第二用户设备710N,关于主机700和第一用户设备、第二用户设备的具体功能及工作流程,可以参见上述方法及装置实施例,此处不再赘述。
本发明实施例提供的用户设备协同控制方法、终端设备以及通信系统,主机将每个用户设备的作为一路控制数据输入,根据不同的应用场景,将多个用户设备的多路用户操作数据进行组合、互斥或者隔离注入不同应用,使得不同的场景下,主机与多个用户设备进行多屏互动时,多个用户设备的的反向控制数据不会造成干扰,可以让多人在多设备上进行完美的协同操作。
以上对本发明实施例所提供的用户设备协同控制方法、主机及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (24)

1.一种用户设备协同控制方法,应用于主机,所述主机通过网络与第一用户设备和第二用户设备互连,所述主机上运行有目标应用,并显示所述目标应用生成的图形界面,所述第一用户设备、第二用户设备和所述主机上显示的图形界面的内容一致,其特征在于,所述方法包括:
接收所述第一用户设备在第一时间间隔内采集的第一操作数据;其中,所述第一操作数据是根据用户在所述第一用户设备上的操作生成的;
在启动的定时器的计时周期内,接收第二用户设备在第二时间间隔内采集的第二操作数据;所述第二操作数据是根据用户在所述第二用户设备上的操作生成的;
当所述计时周期结束后,对所述第一操作数据和所述第二操作数据进行组合,以得到组合操作数据;
对所述组合操作数据进行处理,其中,所述处理步骤包括:根据所述组合操作数据,更新所述目标应用当前显示的图形界面;
将更新后的图形界面同步到所述第一用户设备和第二用户设备。
2.根据权利要求1所述的方法,其特征在于,所述第一操作数据包括用于表示第一单点触控事件的第一单点触控数据,所述第二操作数据包括用于表示第二单点触控事件的第二单点触控数据;
所述主机对所述第一操作数据和所述第二操作数据进行组合,以得到组合操作数据,包括:
所述主机将所述第一单点触控数据和所述第二单点触控数据组合为用于表示多点触控操作的多点触控数据,所述组合操作数据为所述多点触控数据。
3.根据权利要求1所述的方法,其特征在于,所述第一用户操作数据包括用于表示第一多点触控事件的第一多点触控数据,所述第二用户操作数据包括用于表示第二单点触控事件的第二单点触控数据;
所述主机对所述第一用户操作数据和所述第二用户操作数据进行组合,以得到组合操作数据,包括:
所述主机将用于表示多个单点触控事件的多个单点触控数据与所述第二单点触控数据组合,以得到用于表示第三多点触控事件的第三多点触控数据,所述组合操作数据为所述第三多点触控数据,其中,所述多个单点触控事件是所述第一多点触控事件所包含的单点触控事件。
4.根据权利要求1所述的方法,其特征在于,还包括:在所述计时周期内,所述主机记录本地用户操作数据,其中,所述本地用户操作数据是根据用户在所述主机上的操作生成的;
相应地,所述对所述第一操作数据和所述第二操作数据进行组合,包括:
将所述本地用户操作数据、所述第一操作数据和所述第二操作数据进行组合,以得到所述组合操作数据。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述根据所述组合操作数据,更新所述目标应用当前显示的图形界面包括:
根据所述组合操作数据构建虚拟多点触控事件,通过所述主机的窗口管理器将所述虚拟多点触控事件分发给所述目标应用的窗口,以使得所述目标应用响应所述虚拟多点触控事件,其中,所述响应所述虚拟多点触控事件包括:更新所述目标应用当前显示的图形界面。
6.根据权利要求1所述的方法,其特征在于,所述第一时间间隔为所述第一用户设备上运行的第一采样定时器的计时周期,所述第二时间间隔为所述第二用户设备上运行的第二采样定时器的计时周期,其中,所述第一采样定时器是在所述第一用户设备的用户开始操作之后或同时启动的,所述第二采样定时器是在所述第二用户设备的用户开始操作之后或同时启动的。
7.根据权利要求1所述的方法,其特征在于,所述第一时间间隔、所述第二时间间隔与所述定时器的计时周期相等。
8.一种用户设备协同控制方法,应用于主机,所述主机通过网络与第一用户设备和第二用户设备互连,所述主机上运行有目标应用,并显示所述目标应用生成的图形界面,所述第一用户设备、第二用户设备与所述主机上显示的图形界面的内容一致,其特征在于,所述方法包括:
所述主机接收所述第一用户设备在第一时间间隔内采集的第一操作数据;其中,所述第一操作数据是根据用户在所述第一用户设备上的操作生成的;
所述主机对所述第一操作数据进行处理,其中,所述处理步骤包括:进入反向控制处理状态,根据所述第一操作数据,更新所述目标应用当前显示的图形界面;接收第二用户设备在第二时间间隔内采集的第二操作数据;所述第二操作数据是根据用户在所述第二用户设备上的操作生成的;
当所述主机当前处于反向控制处理状态,则丢弃所述第二操作数据。
9.根据权利要求8所述的方法,其特征在于,还包括:当所述目标应用完成对所述第一操作数据的处理后,所述主机进入空闲状态。
10.根据权利要求9所述的方法,其特征在于,还包括:当所述主机接收到表征所述第一用户设备的用户停止操作的操作数据之后,所述主机进入空闲状态。
11.根据权利要求8-10任一项所述的方法,其特征在于,还包括:当所述主机当前处于空闲状态时,则对所述第二操作数据进行处理,并进入反向控制处理状态,其中,所述处理包括:根据所述第二操作数据,更新所述目标应用当前显示的图形界面;当所述目标应用完成对所述第二操作数据的处理,或者所述主机接收到表征所述第二用户设备的用户停止操作的操作数据之后,所述主机进入空闲状态。
12.根据权利要求8所述的方法,其特征在于,所述第一时间间隔为所述第一用户设备上运行的第一采样定时器的计时周期,所述第二时间间隔为所述第二用户设备上运行的第二采样定时器的计时周期,其中,所述第一采样定时器是在所述第一用户设备的用户开始操作之后或同时启动的,所述第二采样定时器是在所述第二用户设备的用户开始操作之后或同时启动的。
13.一种用户设备协同控制方法,应用于主机,所述主机通过网络与第一用户设备和第二用户设备互连,所述主机上运行有第一应用和第二应用,其特征在于,所述主机的显示屏的第一区域显示所述第一应用的图形界面,所述主机的显示屏的第二区域显示所述第二应用的图形界面,所述第一区域和所述第二区域彼此独立;所述第一用户设备显示的图形界面与所述第一区域显示的图形界面内容一致,所述第二用户设备显示的图形界面与所述第二区域显示的图形界面内容一致,所述方法包括:
所述主机接收所述第一用户设备发送的第一操作数据;其中,所述第一操作数据是根据用户在所述第一用户设备显示的图形界面上的操作生成的;
所述主机对所述第一操作数据进行处理,其中,所述处理步骤包括:根据所述第一操作数据,在所述第一区域更新所述第一应用当前显示的图形界面;
所述主机将所述第一应用更新后的图形界面同步到所述第一用户设备;
所述主机接收第二用户设备发送的第二操作数据;其中,所述第二操作数据是根据用户在所述第二用户设备上的操作生成的;
所述主机对所述第二操作数据进行处理,其中,所述处理步骤包括:根据所述第二操作数据,在所述第二区域更新所述第二应用当前显示的图形界面;
所述主机将所述第二应用更新后的图形界面同步到所述第二用户设备;
所述第一操作数据是所述第一用户设备在第一时间间隔内采集的,所述第二操作数据是所述第二用户设备在第二时间间隔内采集的;所述第一时间间隔为所述第一用户设备上运行的第一采样定时器的计时周期,所述第二时间间隔为所述第二用户设备上运行的第二采样定时器的计时周期,其中,所述第一采样定时器是用户在所述第一用户设备上操作之后或同时启动的,所述第二采样定时器是用户在所述第二用户设备上操作之后或同时启动的。
14.根据权利要求13所述的方法,其特征在于,所述第一时间间隔与所述第二时间间隔相等。
15.一种主机,包括:处理器、存储器、网络接口和显示屏,所述主机通过所述网络接口与第一用户设备和第二用户设备连接;所述处理器读取并执行所述存储器中存储的目标应用,并通过所述显示屏显示所述目标应用生成的图形界面,所述第一用户设备、第二用户设备和所述主机上显示的图形界面的内容一致,其特征在于,
所述网络接口用于,接收所述第一用户设备在第一时间间隔内采集的第一操作数据,以及在启动的定时器的计时周期内,接收第二用户设备在第二时间间隔内采集的第二操作数据;其中,所述第一操作数据是根据用户在所述第一用户设备上的操作生成的,所述第二操作数据是根据用户在所述第二用户设备上的操作生成的;
所述处理器用于,当所述计时周期结束后,对所述第一操作数据和所述第二操作数据进行组合,以得到组合操作数据;根据所述组合操作数据,更新所述目标应用的图形界面并在所述显示屏上显示;以及将所述目标应用更新后的图形界面包含的内容通过所述网络接口发送至所述第一用户设备和所述第二用户设备。
16.根据权利要求15所述的主机,其特征在于,所述第一操作数据包括用于表示第一单点触控事件的第一单点触控数据,所述第二操作数据包括用于表示第二单点触控事件的第二单点触控数据;
所述对所述第一操作数据和所述第二操作数据进行组合具体包括:将所述第一单点触控数据和所述第二单点触控数据组合为用于表示多点触控操作的多点触控数据,所述组合操作数据为所述多点触控数据。
17.根据权利要求15所述的主机,其特征在于,所述处理器还用于,在所述定时器的计时周期内,记录本地用户操作数据,其中,所述本地用户操作数据是根据用户在所述主机上的操作生成的;所述对所述第一操作数据和所述第二操作数据进行组合具体包括:将所述本地用户操作数据、所述第一操作数据和所述第二操作数据进行组合,以得到所述组合操作数据。
18.根据权利要求15-17任一项所述的主机,其特征在于,所述存储器中存储有定时器程序,所述处理器读取并执行所述定时器程序,以启动所述定时器。
19.根据权利要求15所述的主机,其特征在于,所述第一时间间隔、所述第二时间间隔与所述定时器的计时周期相等。
20.一种主机,包括:处理器、存储器、网络接口和显示屏,所述主机通过所述网络接口与第一用户设备和第二用户设备连接;所述处理器读取并执行所述存储器中存储的目标应用,并通过所述显示屏显示所述目标应用生成的图形界面,所述第一用户设备、第二用户设备和所述主机上显示的图形界面的内容一致,其特征在于,
所述网络接口用于,接收所述第一用户设备在第一时间间隔内采集的第一操作数据,其中,所述第一操作数据是根据用户在所述第一用户设备上的操作生成的;
所述处理器用于,设置用于表示所述主机当前处于反向控制处理状态的状态标记,并对所述第一操作数据进行处理,其中,所述处理包括:根据所述第一操作数据,更新所述目标应用当前显示的图形界面;
所述网络接口还用于,接收第二用户设备在第二时间间隔内采集的第二操作数据;所述第二操作数据是根据用户在所述第二用户设备上的操作生成的;
所述处理器还用于,当确定所述主机当前处于反向控制处理状态时,则丢弃所述第二操作数据。
21.根据权利要求20所述的主机,其特征在于,所述处理器还用于,当完成对所述第一操作数据的处理后,设置用于表示所述主机当前处于空闲状态的的状态标记。
22.根据权利要求20或21所述的主机,其特征在于,所述处理器还用于,当确定所述主机当前处于空闲状态时,设置用于表示所述主机当前处于反向控制处理状态的状态标记,并对所述第二操作数据进行处理,其中,所述处理包括:根据所述第二操作数据,更新所述目标应用当前显示的图形界面;当完成对所述第二操作数据的处理,或者所述网络接口接收到表征所述第二用户设备的用户停止操作的操作数据之后,设置用于表示所述主机当前处于空闲状态的的状态标记。
23.一种主机,包括:处理器、存储器、网络接口和显示屏,所述主机通过所述网络接口与第一用户设备和第二用户设备连接;其特征在于,所述处理器用于读取并执行所述存储器中存储的第一应用和第二应用,并在所述显示屏的第一区域显示所述第一应用的图形界面,在所述显示屏的第二区域显示所述第二应用的图形界面,所述第一用户设备显示的图形界面与所述第一区域显示的图形界面的内容一致,所述第二用户设备显示的图形界面与所述第二区域显示的图形界面的内容一致;
所述网络接口用于,接收所述第一用户设备发送的第一操作数据,以及接收第二用户设备发送的第二操作数据;其中,所述第一操作数据是根据用户在所述第一用户设备显示的图形界面上的操作生成的,所述第二操作数据是根据用户在所述第二用户设备上的操作生成的;
所述处理器用于,根据所述第一操作数据,更新所述第一应用当前显示的图形界面,并在所述第一区域显示所述第一应用更新后的图形界面;根据所述第二操作数据,更新所述第二应用当前显示的图形界面,并在所述第二区域显示所述第二应用更新后的图形界面;将所述第一应用更新后的图形界面包含的内容通过所述网络接口发送至所述第一用户设备,将所述第二应用更新后的图形界面包含的内容通过所述网络接口发送至所述第二用户设备;
所述第一操作数据是所述第一用户设备在第一时间间隔内采集的,所述第二操作数据是所述第二用户设备在第二时间间隔内采集的;所述第一时间间隔为所述第一用户设备上运行的第一采样定时器的计时周期,所述第二时间间隔为所述第二用户设备上运行的第二采样定时器的计时周期,其中,所述第一采样定时器是用户在所述第一用户设备上操作之后或同时启动的,所述第二采样定时器是用户在所述第二用户设备上操作之后或同时启动的。
24.一种通信系统,其特征在于,包括:主机、第一用户设备和第二用户设备,其中,所述主机通过与第一用户设备和第二用户设备通信连接,所述主机上运行有目标应用,并显示所述目标应用生成的图形界面,所述第一用户设备、第二用户设备和所述主机上显示的图形界面的内容一致;其中,
所述主机用于,接收所述第一用户设备在第一时间间隔内采集的第一操作数据;在启动的定时器的计时周期内,接收第二用户设备在第二时间间隔内采集的第二操作数据;当所述计时周期结束后,对所述第一操作数据和所述第二操作数据进行组合,以得到组合操作数据;根据所述组合操作数据,更新所述目标应用当前显示的图形界面;将更新后的图形界面的内容发送给所述第一用户设备和第二用户设备;其中,所述第一操作数据是根据用户在所述第一用户设备上的操作生成的;所述第二操作数据是根据用户在所述第二用户设备上的操作生成的;
所述第一用户设备和第二用户设备用于,接收所述更新后的图形界面的内容并显示。
CN201510003833.8A 2015-01-04 2015-01-04 一种用户设备协同控制方法、用户设备以及通信系统 Active CN104506650B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201510003833.8A CN104506650B (zh) 2015-01-04 2015-01-04 一种用户设备协同控制方法、用户设备以及通信系统
EP20198680.9A EP3826270B1 (en) 2015-01-04 2015-12-24 Cooperative control method for user equipment, user equipment, and communications system
EP15875167.7A EP3242462B1 (en) 2015-01-04 2015-12-24 Cooperative control method for user equipment, user equipment, and communication system
PCT/CN2015/098699 WO2016107489A1 (zh) 2015-01-04 2015-12-24 一种用户设备协同控制方法、用户设备以及通信系统
US15/639,963 US20170300287A1 (en) 2015-01-04 2017-06-30 Cooperative control method for user equipment, user equipment, and communications system
US17/226,958 US20210224022A1 (en) 2015-01-04 2021-04-09 Cooperative control method for user equipment, user equipment, and communications system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510003833.8A CN104506650B (zh) 2015-01-04 2015-01-04 一种用户设备协同控制方法、用户设备以及通信系统

Publications (2)

Publication Number Publication Date
CN104506650A CN104506650A (zh) 2015-04-08
CN104506650B true CN104506650B (zh) 2018-07-03

Family

ID=52948365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510003833.8A Active CN104506650B (zh) 2015-01-04 2015-01-04 一种用户设备协同控制方法、用户设备以及通信系统

Country Status (4)

Country Link
US (2) US20170300287A1 (zh)
EP (2) EP3826270B1 (zh)
CN (1) CN104506650B (zh)
WO (1) WO2016107489A1 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9672349B2 (en) * 2014-07-11 2017-06-06 Microsoft Technology Licensing, Llc Multiple-key feature toggles for compliance
CN104506650B (zh) * 2015-01-04 2018-07-03 华为技术有限公司 一种用户设备协同控制方法、用户设备以及通信系统
CN113093917A (zh) 2015-09-28 2021-07-09 微软技术许可有限责任公司 统一的虚拟现实平台
CN108028798B (zh) 2015-09-28 2022-09-09 微软技术许可有限责任公司 用于统一的消息传递平台的方法、装置和计算机设备
CN106610763B (zh) * 2015-10-26 2020-11-20 阿里巴巴集团控股有限公司 跨屏同步用户操作的方法及装置
CN105404431B (zh) * 2015-12-30 2018-10-26 福州靠谱网络有限公司 一种安卓模拟多点触控的方法和装置
CN105955620B (zh) * 2016-05-16 2018-11-27 北京康邦科技有限公司 平板电脑的反向控制装置及控制方法
CN106453914A (zh) * 2016-10-31 2017-02-22 努比亚技术有限公司 一种信息处理方法及终端
CN106528017A (zh) * 2016-10-31 2017-03-22 努比亚技术有限公司 一种信息处理方法及终端
CN106572518A (zh) * 2016-10-31 2017-04-19 努比亚技术有限公司 一种信息处理方法及移动终端
CN107592556B (zh) * 2017-08-08 2020-02-04 福建星网视易信息系统有限公司 基于移动终端的控制信息合成方法及受控终端和移动终端
US10057748B1 (en) * 2017-10-03 2018-08-21 Bank Of America Corporation Technology application restructuring and deployment for home receiver integration
JP2019070998A (ja) * 2017-10-11 2019-05-09 アズビル株式会社 フィールド機器
CN108279778A (zh) * 2018-02-12 2018-07-13 上海京颐科技股份有限公司 用户交互方法、装置以及系统
CN108881227B (zh) * 2018-06-19 2021-02-26 广州视源电子科技股份有限公司 远程白板系统的操作控制方法和装置、远程白板系统
CN110704492A (zh) * 2018-06-25 2020-01-17 中兴通讯股份有限公司 一种数据采集方法、装置和计算机可读存储介质
CN108829065B (zh) * 2018-07-16 2020-11-27 东北大学 基于事件触发的分布式发电系统时滞输出协同控制方法
CN110213644A (zh) * 2019-03-25 2019-09-06 广州视源电子科技股份有限公司 多屏互动方法、终端设备和存储介质
CN110099119B (zh) * 2019-05-07 2023-03-21 阿波罗智联(北京)科技有限公司 数据共享方法和装置
CN111061404A (zh) * 2019-11-26 2020-04-24 维沃移动通信有限公司 一种控制方法及第一电子设备
CN111028052A (zh) * 2019-11-28 2020-04-17 维沃移动通信有限公司 一种界面操作方法及电子设备
CN110906968B (zh) * 2019-12-05 2022-08-16 华南理工大学广州学院 一种数据采集系统的采集方法
CN111131909A (zh) * 2019-12-24 2020-05-08 视联动力信息技术股份有限公司 一种分享终端桌面的方法、装置、设备及介质
CN113473194B (zh) * 2020-05-09 2022-04-08 海信集团有限公司 一种智能设备及响应方法
CN113946302B (zh) * 2020-07-07 2022-10-25 华为技术有限公司 一种打开文件的方法及设备
CN114089894B (zh) * 2020-07-30 2023-10-13 腾讯科技(深圳)有限公司 一种图片编辑方法及设备
CN112399216B (zh) * 2020-10-27 2023-05-09 维沃移动通信(杭州)有限公司 资源分享方法、装置和电子设备
CN112866769B (zh) * 2021-02-09 2023-01-24 苏州无双医疗设备有限公司 一种植入式医疗装置的程控系统投屏触控方法
CN115150213A (zh) * 2021-03-31 2022-10-04 华为技术有限公司 一种功能迁移方法和装置
CN115473972B (zh) * 2022-10-31 2023-03-24 北京弘宇飞拓科技有限公司 飞行演训系统及多画面同步方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1770168A (zh) * 2004-11-05 2006-05-10 株式会社巨摩 多重对战型网络游戏的程序结构
CN101855629A (zh) * 2007-11-09 2010-10-06 微软公司 协作创作
CN103095828A (zh) * 2013-01-14 2013-05-08 上海电力学院 基于云渲染的Web3D同步会议系统及实现同步的方法
CN103279279A (zh) * 2013-05-20 2013-09-04 南京恒知讯科技有限公司 一种基于多人协同操作的电子画板系统、数据处理方法及设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6957398B1 (en) * 1999-12-22 2005-10-18 Farshad Nayeri Collaborative screensaver
WO2002017115A2 (en) * 2000-08-21 2002-02-28 Thoughtslinger Corporation Simultaneous multi-user document editing system
US10437459B2 (en) * 2007-01-07 2019-10-08 Apple Inc. Multitouch data fusion
US20090204885A1 (en) * 2008-02-13 2009-08-13 Ellsworth Thomas N Automated management and publication of electronic content from mobile nodes
US8108541B2 (en) * 2009-11-19 2012-01-31 Alcatel Lucent Method and apparatus for providing collaborative interactive video streaming
US8880467B1 (en) * 2010-03-29 2014-11-04 Google Inc. Smart sync—refreshing application state based on user migration patterns
CN102520859A (zh) * 2011-12-09 2012-06-27 华中师范大学 一种面向教学的多点触控方法及系统
EP2680171A3 (en) * 2012-06-29 2014-01-22 Orange Intelligent index scheduling
US9817903B2 (en) * 2014-11-25 2017-11-14 Ebay Inc. Methods and systems for social network based content recommendations
CN104506650B (zh) * 2015-01-04 2018-07-03 华为技术有限公司 一种用户设备协同控制方法、用户设备以及通信系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1770168A (zh) * 2004-11-05 2006-05-10 株式会社巨摩 多重对战型网络游戏的程序结构
CN101855629A (zh) * 2007-11-09 2010-10-06 微软公司 协作创作
CN103095828A (zh) * 2013-01-14 2013-05-08 上海电力学院 基于云渲染的Web3D同步会议系统及实现同步的方法
CN103279279A (zh) * 2013-05-20 2013-09-04 南京恒知讯科技有限公司 一种基于多人协同操作的电子画板系统、数据处理方法及设备

Also Published As

Publication number Publication date
CN104506650A (zh) 2015-04-08
WO2016107489A1 (zh) 2016-07-07
EP3242462A4 (en) 2018-01-24
US20170300287A1 (en) 2017-10-19
EP3242462A1 (en) 2017-11-08
EP3826270A1 (en) 2021-05-26
EP3826270B1 (en) 2023-10-25
EP3242462B1 (en) 2020-11-25
US20210224022A1 (en) 2021-07-22

Similar Documents

Publication Publication Date Title
CN104506650B (zh) 一种用户设备协同控制方法、用户设备以及通信系统
CN103677520B (zh) 基于Android平台的应用程序评论方法及装置
CN105187930B (zh) 基于视频直播的互动方法及装置
WO2017054465A1 (zh) 一种信息处理方法、终端及计算机存储介质
CN104881115B (zh) 一种利用设备操控终端实现个性化交互的方法及系统
CN104750498B (zh) 一种控制鼠标模块的方法及电子设备
CN106716934A (zh) 聊天交互方法、装置及其电子设备
CN107071551A (zh) 应用于智能电视系统中的多屏互动屏幕响应方法
CN109379549A (zh) 一种无线传屏方法、设备及系统
CN107463325A (zh) 一种支持多屏输入的显示方法和装置
CN103281580A (zh) 分离用户界面的电视机遥控方法及其系统
CN113810732B (zh) 直播内容显示方法、装置、终端、存储介质及程序产品
US20130241944A1 (en) Electronic Device and Display Control Method Thereof
CN107071541A (zh) 用于外围上下文管理的方法和设备
CN109420338A (zh) 模拟镜头移动的虚拟场景显示方法及装置、电子设备
CN107526591A (zh) 切换直播间类型的方法和装置
CN106462373A (zh) 视频通信数据的动态显示
CN109976640A (zh) 一种内容复制方法及终端
CN107105339A (zh) 一种播放直播视频的方法、装置和系统
CN110244927A (zh) 一种智能显示系统及装置
CN106843798A (zh) 智能交互平板内多通道切换方法及装置
CN106657657B (zh) 移动终端及移动终端视频浏览的方法、系统
CN107360317A (zh) 应用程序资源泄露的检测方法及移动终端、存储介质
CN105323624B (zh) 一种录制视频的方法、装置和系统
CN104020957B (zh) 数字脸谱立体投影交互系统

Legal Events

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