远程控制在无传感器设备上运行基于传感器的应用程序和游戏的系统和实施方法.pdf

上传人:00062****4422 文档编号:7684234 上传时间:2019-10-25 格式:PDF 页数:11 大小:443.15KB
返回 下载 相关 举报
摘要
申请专利号:

CN201680007046.3

申请日:

20160209

公开号:

CN107206282A

公开日:

20170926

当前法律状态:

有效性:

审查中

法律详情:

IPC分类号:

A63F13/53,A63F13/45,A63F13/28,H04N21/40

主分类号:

A63F13/53,A63F13/45,A63F13/28,H04N21/40

申请人:

澳大利亚哈比科技有限公司

发明人:

王文志,刘睿

地址:

澳大利亚

优先权:

2015900485

专利代理机构:

上海智力专利商标事务所(普通合伙)

代理人:

周涛

PDF下载: PDF下载
内容摘要

本发明公开了一种实施远程软件控制的方法,可实现基于智能设备传感器开发的应用和游戏在不具有相应传感器的设备上使用。该方法涉及安装在控制设备上的客户端应用程序、安装在受控设备上的服务器应用程序以及七个基本处理过程,包括捕获事件、映射位置、发送事件、注入事件、捕获效果、发送效果和执行效果。基于该方法实施的系统包括客户端‑服务器结构、两个应用程序和两个应用程序中的关键组件;其中一些关键组件执行七个处理过程的功能。

权利要求书

1.一种用于远程控制应用程序或游戏的方法,包括:安装在控制设备上的客户端应用程序;安装在受控设备上的服务器应用程序;捕获事件处理过程,其中客户端应用程序捕获来自应用程序GUI,与屏幕位置相关和无关的事件;映射位置处理过程,其中客户端应用程序或服务器应用程序将屏幕位置相关事件的屏幕位置从控制设备屏幕上的位置映射到受控设备屏幕上的位置;发送事件处理过程,其中客户端应用程序将最初捕获的事件或映射的事件发送到服务器应用程序;注入事件处理过程,其中服务器应用将接收或映射的事件注入本地操作系统中;捕获效果处理过程,其中服务器应用程序捕获来自本地操作系统或应用程序和游戏的效果;发送效果处理过程,其中服务器应用程序将捕获的效果发送到客户端应用程序;执行效果处理过程,其中客户端应用程序执行接收到的效果,并将结果反映到GUI上。 2.根据权利要求1所述的捕获事件处理过程,其中事件包括本地操作系统支持的所有事件。 3.根据权利要求1所述的注入事件处理过程,其中服务器应用程序通过操作系统的内核接口或由操作系统提供的API(应用程序编程接口)注入事件,同时创建相应的虚拟输入设备,所述虚拟输入设备可能被应用程序和游戏识别,也可能不被应用程序和游戏识别。 4.根据权利要求1所述的捕获效果处理过程,其中所述效果包括显示效果、声音效果、振动效果以及作为控制结果的任何其他效果。 5.基于根据权利要求1所述的方法实施的系统,包括:客户端-服务器结构,其中客户端应用程序安装在控制设备上,服务器应用程序安装在受控设备上;以及根据权利要求1所述的处理过程。

说明书

技术领域

本发明涉及遥控器,尤其是涉及智能设备,例如智能手机、平板电脑和智能手表上的软件遥控器。

背景技术

如今,智能手机和平板电脑在世界各国极受欢迎。谷歌安卓(Android)和苹果操作系统(iOS)这两个主要平台上的应用商店均有数百万种应用程序和游戏:此类应用程序和游戏的开发均基于设备的触摸屏。另外,一些特殊的应用和游戏也利用了设备的某些传感器,例如动作传感器、接近传感器和陀螺仪等。

随着数字流内容的日益普及,智能电视、电视机顶盒、电视棒开始进入人们的客厅,主要可使用户通过互联网观看电视节目和电影。高级设备也可用来听音乐、玩游戏、浏览网站和网上购物等。此类产品有很多平台,例如Android TV、Apple TV、Fire TV、Chromecast、WebOS等。此类设备通常由电视遥控器控制。

近年来,与PlayStation、Xbox和Wii等专业游戏机相比,Android游戏机出现为游戏玩家提供了便宜的游戏解决方案。此类Android游戏机通常配有支持Android的特殊游戏控制器,以及专门为设备和控制器开发的游戏。

迷你电脑是进入人们客厅的另一种受欢迎的设备。此类设备的尺寸极小,使用电视屏幕作为显示器,鼠标和键盘作为主控制器;功能基本相当于各类电视盒、智能电视或游戏机,其平台主要包括Windows、Android和Mac。

无论客厅中使用什么设备,遥控器均不可缺少。常用控制器包括电视遥控器、具有触摸板的智能遥控器、鼠标和键盘、迷你键盘、智能手机上的移动应用程序。另外,设备中可用的资源也不可缺少。资源是确定设备是否受欢迎的关键因素,包括应用程序、游戏和内容。应用程序和游戏以应用程序的形式分布在移动平台上,内容包括电视节目、电影、书籍、音乐等,独立于平台并通过特定应用程序传播。因此,应用程序和游戏或说App实际上代表了所有的资源。

正如本文开始所述,两个流行的移动平台Android和iOS上有数百万应用程序:目前,苹果尚未将其iOS资源整合到电视机顶盒中,而谷歌已向前迈进,其Android TV平台和Nexus Player产品均具有可利用Android平台所有资源的诱人特性。同时,市场上还可获得各种Android设备,例如电视机顶盒、电视棒、迷你电脑,旨在利用所有Android资源。但事实是,所有应用程序和游戏的开发最初均完全基于触摸屏和某些传感器,而此类目标设备无触摸屏和传感器,因此绝大多数人根本无法使用,尤其是游戏。人们可使用鼠标而非触摸屏,但与触摸操作相比,控制应用或游戏时极不方便;Android游戏控制器应可控制游戏,但由于同样的原因,目前无法对绝大多数的游戏进行控制。

2014年底,谷歌正式发布了其Lollipop 5,可支持所有尺寸的屏幕,包括电视屏幕。同时,谷歌开始鼓励开发人员开发可支持大屏幕和多重控件的应用程序和游戏。但按目前Android 5的采用率,等待开发人员开发新的应用程序和游戏、或更改当前的应用程序或游戏来支持这些功能可能需要很长时间。此外,针对大屏幕开发的应用程序和游戏无法使用智能手机或平板电脑中的传感器。因此,现状仍未改变。

设想若移动平台上的所有应用程序资源均可在大屏幕上极好地使用,而无需更改任何内容,或仅改变图像分辨率,则开发人员可轻松地将资源移动到新的平台;用户可轻松享受应用商店帐户中的免费资源。苹果的AirPlay技术是实现这一目标的解决方案之一,但实际上仅将移动设备的显示移到大屏幕;谷歌的Chromecast技术是另一种解决方案,但仅能投放多媒体内容,还需执行特定的API投射应用程序。

总而言之,移动平台上具有大量的应用程序资源,但绝大多数均不能在大屏幕上使用,因为其开发最初是基于触摸屏和某些传感器。

实际上,触摸屏是智能设备上的传感器之一,但与本文中其他传感器不同,因为它是每个移动应用程序的基本控制组件。

发明内容

本发明公开了一种实施远程软件控制的方法,可实现基于智能设备传感器开发的应用和游戏在不具有相应传感器的设备上使用。例如,具有触摸控制和动作控制的平板电脑游戏可在电视机顶盒或迷你电脑上安装和运行,但不能由游戏控制器或其他类型的控制器操控,因为游戏的开发是针对具有触摸屏和动作传感器的平板电脑;本发明使玩家可使用平板电脑作为控制器来控制游戏,而控制游戏的方式与在平板电脑上玩游戏完全相同。本文的传感器包括动作传感器、接近传感器、光传感器、湿度传感器、位置传感器和可用于智能设备的任何其他传感器。本文的智能设备包括但不限于智能手机、平板电脑和智能手表。

通过以下方式可很容易地理解本发明的方法:

1.将智能手机或平板电脑分成两部分,包括带有传感器的屏幕和处理器;

2.将带有传感器的屏幕作为独立的控制器;

3.将处理器作为与大屏幕连接的电视机顶盒;

4.将原始控制事件通过通信介质发送到处理器;

5.使显示效果显示在两个屏幕上。

本发明的方法涉及分别安装在控制设备和受控设备上的两个软件应用程序。安装在控制设备上的应用程序是客户端应用程序,安装在受控设备上的应用程序是服务器应用程序。该方法包括七个处理过程,即捕获事件、映射位置、发送事件、注入事件、捕获效果、发送效果和执行效果。

基于本发明方法实施的系统是客户端-服务器结构,客户应用程序安装在控制设备上,服务器应用程序安装在受控设备上。客户端应用程序中的关键系统组件包括图形用户界面(GUI)、设备查找器、事件捕获器、事件映射器、事件发送器、效果接收器和效果执行器;服务器应用程序中的关键系统组件包括查找应答器、事件接收器、事件注入器、效果捕获器和效果发送器;客户端应用程序和服务器应用程序之间的通信应用用户数据报协议(UDP)、传输控制协议(TCP)和蓝牙技术。

附图说明

图1是本发明处理过程的示意图;

图2是本发明处理过程在控制设备和受控设备环境下的示意图;

图3是基于本发明实施的实际系统的关键组件。

图4是映射位置处理过程的演示图;

图5是发送事件处理过程的事件格式的示例示意图;

图6是发送效果处理过程的效果格式的示例示意图;

图7是在服务器应用程序中注入事件的一种方式示意图;

图8是在服务器应用程序中捕获效果的一种方式示意图。

具体实施方式

本发明的方法涉及一种安装在控制设备上的客户端软件应用程序和安装在受控设备上的服务器软件应用程序。多个控制设备可同时控制受控设备:控制设备是开发应用程序和游戏的设备;受控设备是运行应用程序和游戏的设备。本发明的方法包括如图1所示的七个处理过程,包括捕获事件、映射事件、发送事件、注入事件、捕获效果、发送效果和执行效果。图2显示了同时具有两个设备时的处理过程。

第一处理过程是捕获事件,是由控制设备上的客户端应用程序包含的处理过程。如图2所示,事件从应用程序GUI捕获,包括本地操作系统支持的所有事件。存在两种类型的事件:需映射处理过程的事件和无需映射处理过程的事件。前一种事件与屏幕位置相关,例如,触摸事件具有表示屏幕上触摸位置的坐标参数;此时,控制设备屏幕上的位置须映射到受控设备屏幕上的相应位置,否则无法正常工作。后一种事件是无需位置参数的其他事件,例如键盘事件和传感器事件。图1中,101表示前一种事件,103表示后一种事件。

第二处理过程是映射位置,此处理过程将位置相关事件(例如触摸事件)的屏幕位置从控制设备屏幕上的位置映射到受控设备屏幕上的位置。该处理过程十分重要,因为受控设备通常具有较大的屏幕。为了实现正确的映射,可使用比例映射方法,如下所述。

如图4所示,需将控制设备屏幕上的触摸点(x1,y1)映射到受控设备屏幕上的触摸点(x2,y2)。坐标中心(0,0)位于两个设备屏幕的左下角;w1和h1是控制设备屏幕的宽度和高度,w2和h2是受控设备屏幕的宽度和高度;w1、h1、w2、h2、x1和y1是已知值,x2和y2是期望值。计算x2和y2,可使用以下算法:

x2=(x1/w1)*w2

y2=(y1/h1)*h2

映射位置处理过程可设于客户端应用程序中或在服务器应用程序中,但默认情况下设于客户端应用程序中。映射方法中的w2和h2可以是虚拟值。例如,假设受控设备的实际屏幕分辨率为1920*1080,w2*h2可设为1920*1080、2000*2000或任何其他图像。本地操作系统将处理所设值和实际值之间的映射。但应注意,所设值会影响触摸事件的精度:理论上,除非虚拟值大于实际值,否则所设值越大,精度越高。

第三处理过程是发送事件。捕获的原始事件或映射事件以特定格式直接发送到受控设备。须以有效的方式定义格式。使用目前最常见的通信技术(例如Wi-Fi和蓝牙),事件需以字节发送;事件通常由整数和浮点值表示。例如,触摸事件可由整数动作值和两个整数坐标值X和Y表示;动作传感器事件可由三个浮点坐标值X、Y和Z表示。

图5是发送事件格式的示意图。格式包括四个部分:第一部分是表示事件类型的第一字节;第二部分是后面的四个字节,表示第一整数参数(Arg1)或第一浮点值(Val1);第三部分是第二部分,表示第二整数参数(Arg2)或第二浮点值(Val2)后面的四个字节;第四部分是最后四个字节,表示第三整数参数(Arg3)或第三浮点值(Val3)。该类型是存在一个字节中的整数,表示不同的事件类型,包括触摸事件、鼠标事件、键盘事件和传感器事件等。后面三个部分用于存有不同类型事件的参数,可以是整数值或浮点值,具体取决于事件的类型。例如,触摸事件具有整数动作值(表示向下或向上事件)、整数坐标X值和整数坐标Y值;此时,第一部分中的动作值称为Arg1,第二部分中的X值称为Arg2,第三部分中的Y值称为Arg3;对于动作传感器事件,三个部分用于存有表示三维动作的三个浮点值,分别称为Val1、Val2和Val3。

第四处理过程是注入事件。服务器应用程序接收到的事件须通过创建虚拟输入设备注入本地操作系统。所创建的输入设备须通过应用程序和游戏识别,与本地实际输入设备无任何区别。这意味着对于受控设备上的应用程序和游戏,事件来自本地触摸屏和传感器。

不同类型的事件可能需创建不同类型的输入设备,不同的操作系统可具有不同机制以处理输入设备。需参考操作系统的文档,查找确切方式进而为所有事件创建虚拟输入设备。对于基于Linux内核的操作系统(如安卓),如图7所示,可使用虚拟输入和输入接口来模拟输入设备;此时,Java JNI可用于调用C代码来创建设备并将事件直接注入系统。

应注意到,为了注入事件,多个控制设备与受控设备连接时,如何识别事件源,对于某些应用程序尤其是游戏来说很重要。可通过为每种类型的事件和每个控制设备创建虚拟输入设备来完成。例如,控制设备与受控设备连接时,可创建虚拟触摸设备来处理触摸事件,可创建虚拟动作传感器设备来处理动作事件,可创建虚拟键事件设备来处理所有关键事件;另一控制设备与受控设备连接时,再次创建另一组虚拟设备。这样,应用程序和游戏可通过由系统设备管理器管理的设备ID来识别每个创建的虚拟设备,因而可支持多个单独的控制器。一些实施中,可能无需区分事件源;此时,可为所有控制设备创建共享的虚拟输入设备。实际实施中应确定是创建单独的还是共享或混合的虚拟设备。

第五处理过程是捕获效果。该效果由受控设备上的服务器应用程序捕获,包括但不限于显示效果、声音效果和振动效果。显示效果是受控设备屏幕上的显示;屏幕截图或显示视频流实时发送回控制设备并显示在屏幕上;以这种方式,用户可知道应在何处进行触摸操作。声音效果和振动效果主要用于向控制器提供即时操作反馈的游戏;例如,进行开车驾驶游戏时,当赛车与其他赛车接触时,可向客户端控制器发送碰撞声效果或振动效果,使用户可听到或感觉到;这些效果可从支持此类功能的游戏中捕获。这对于可向个人播放器发送特定声音和振动效果的多玩家游戏尤其有用。根据游戏或特殊应用的需求,可以相同的方式添加更多的效果。

注入事件处理过程和捕获效果处理过程之间的虚线连接(如图1所示)表示后者不一定是前者的后续处理过程;换言之,可能依赖也可能不依赖该处理过程;例如,捕获显示效果与注入事件无关,而捕获声音和振动效应可由某些事件触发。

图8是如何在安卓设备中捕获效果的示意图。捕获显示效果与捕获其他效果不同。对于显示效果,Linux内核有一种称为帧缓冲器或fb的设备,其中包含RGB格式的屏幕显示数据。从设备的内存映射中,屏幕截图可直接通过JNI获取,或可使用设备作为源以创建视频流。声音效果和振动效果从应用程序或游戏中捕获,但需应用程序和游戏来执行相应的API。

第六处理过程是发送效果。效果将以特定格式发送回客户端应用程序。发送事件是相同的,根据当前最常见的技术,可以字节发送效果。图6是包括九个字节的头部和不确定字节数的数据示例格式示意图。该头部中,第一字节用于存有包括显示、声音和振动在内的整数类型;其余八字节分为两组;根据效果类型,该两组字节用于不同的目的;对于显示效果,第一组存有显示效果的子类型,分别包括表示图像和视频的0和1,而第二组存有数据的长度;对于其他两种类型,第一组存有效果子类型和时间长度(以声音效果为例,第一组指示将要执行哪个声音效果),而第二组指示多长时间将执行声音效果。该数据用于显示效果或任何其他需数据的效果,其存有压缩图像数据或视频流URI。

第七处理过程是执行效果。客户端应用程序接收到效果时,将根据类型分别执行效果。对于显示效果,若发送图像,接收到的图像数据将设为显示组件;若应用该视频,则视频流将在显示组件上实时播放。对于声音效果,可根据接收到的规格播放预设声音。对于振动效果,可根据接收到的规格调用局部振动API来执行效果。其他类型的效果可在实际实施中确定。执行效果通常反映在应用程序GUI中。

基于本发明方法实施的系统是客户端-服务器结构,客户端应用程序安装在一个或多个控制设备上,服务器应用程序安装在受控设备上。如图3所示,该系统包括客户端应用程序中的七个关键组件和服务器应用程序中的五个关键组件。

客户端应用程序中,关键组件包括:

GUI,用于设置应用程序并捕获事件;

设备查找器,用于在本地网络中查找受控设备;

事件捕获器,用于捕获来自GUI的事件;

事件映射器,用于将控制设备屏幕上的位置映射到受控设备屏幕上位置相关事件的位置;

事件发送器,用于将事件发送到服务器应用程序;

效果接收器,用于接收来自服务器应用程序的效果;

效果执行器,用于执行到达GUI的接收效果。

服务器应用程序中,关键组件包括:

查找响应器,用于响应查找来自客户端应用程序的广播;

事件接收器,用于接收来自客户端应用程序的事件;

事件注入器,用于通过模拟实际输入设备将事件注入操作系统;

效果捕获器,用于捕获来自操作系统或内核以及应用程序的效果;

效果发送器,用于将捕获的效果发送到客户端应用程序。

该系统使用本地网络中的UDP广播或蓝牙来查找受控设备。查找到设备后,用户可选择通过Wi-Fi或蓝牙连接设备;用户不能同时选择两个。建立连接后,进入本发明所述的处理过程。

远程控制在无传感器设备上运行基于传感器的应用程序和游戏的系统和实施方法.pdf_第1页
第1页 / 共11页
远程控制在无传感器设备上运行基于传感器的应用程序和游戏的系统和实施方法.pdf_第2页
第2页 / 共11页
远程控制在无传感器设备上运行基于传感器的应用程序和游戏的系统和实施方法.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《远程控制在无传感器设备上运行基于传感器的应用程序和游戏的系统和实施方法.pdf》由会员分享,可在线阅读,更多相关《远程控制在无传感器设备上运行基于传感器的应用程序和游戏的系统和实施方法.pdf(11页珍藏版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201680007046.3 (22)申请日 2016.02.09 (30)优先权数据 2015900485 2015.02.13 AU (85)PCT国际申请进入国家阶段日 2017.07.31 (86)PCT国际申请的申请数据 PCT/AU2016/050076 2016.02.09 (87)PCT国际申请的公布数据 WO2016/127210 EN 2016.08.18 (71)申请人 澳大利亚哈比科技有限公司 地址 澳大利亚 (72)发明人 王文志 刘睿 (74)专利代理。

2、机构 上海智力专利商标事务所 (普通合伙) 31105 代理人 周涛 (51)Int.Cl. A63F 13/53(2006.01) A63F 13/45(2006.01) A63F 13/28(2006.01) H04N 21/40(2006.01) (54)发明名称 远程控制在无传感器设备上运行基于传感 器的应用程序和游戏的系统和实施方法 (57)摘要 本发明公开了一种实施远程软件控制的方 法, 可实现基于智能设备传感器开发的应用和游 戏在不具有相应传感器的设备上使用。 该方法涉 及安装在控制设备上的客户端应用程序、 安装在 受控设备上的服务器应用程序以及七个基本处 理过程, 包括捕获事件。

3、、 映射位置、 发送事件、 注 入事件、 捕获效果、 发送效果和执行效果。 基于该 方法实施的系统包括客户端-服务器结构、 两个 应用程序和两个应用程序中的关键组件; 其中一 些关键组件执行七个处理过程的功能。 权利要求书1页 说明书5页 附图4页 CN 107206282 A 2017.09.26 CN 107206282 A 1.一种用于远程控制应用程序或游戏的方法, 包括: 安装在控制设备上的客户端应用程序; 安装在受控设备上的服务器应用程序; 捕获事件处理过程, 其中客户端应用程序捕获来自应用程序GUI, 与屏幕位置相关和无 关的事件; 映射位置处理过程, 其中客户端应用程序或服务器应。

4、用程序将屏幕位置相关事件的屏 幕位置从控制设备屏幕上的位置映射到受控设备屏幕上的位置; 发送事件处理过程, 其中客户端应用程序将最初捕获的事件或映射的事件发送到服务 器应用程序; 注入事件处理过程, 其中服务器应用将接收或映射的事件注入本地操作系统中; 捕获效果处理过程, 其中服务器应用程序捕获来自本地操作系统或应用程序和游戏的 效果; 发送效果处理过程, 其中服务器应用程序将捕获的效果发送到客户端应用程序; 执行效果处理过程, 其中客户端应用程序执行接收到的效果, 并将结果反映到GUI上。 2.根据权利要求1所述的捕获事件处理过程, 其中事件包括本地操作系统支持的所有 事件。 3.根据权利要。

5、求1所述的注入事件处理过程, 其中服务器应用程序通过操作系统的内 核接口或由操作系统提供的API (应用程序编程接口) 注入事件, 同时创建相应的虚拟输入 设备, 所述虚拟输入设备可能被应用程序和游戏识别, 也可能不被应用程序和游戏识别。 4.根据权利要求1所述的捕获效果处理过程, 其中所述效果包括显示效果、 声音效果、 振动效果以及作为控制结果的任何其他效果。 5.基于根据权利要求1所述的方法实施的系统, 包括: 客户端-服务器结构, 其中客户端应用程序安装在控制设备上, 服务器应用程序安装在 受控设备上; 以及根据权利要求1所述的处理过程。 权 利 要 求 书 1/1 页 2 CN 107。

6、206282 A 2 远程控制在无传感器设备上运行基于传感器的应用程序和游 戏的系统和实施方法 技术领域 0001 本发明涉及遥控器, 尤其是涉及智能设备, 例如智能手机、 平板电脑和智能手表上 的软件遥控器。 背景技术 0002 如今, 智能手机和平板电脑在世界各国极受欢迎。 谷歌安卓 (Android) 和苹果操作 系统 (iOS) 这两个主要平台上的应用商店均有数百万种应用程序和游戏: 此类应用程序和 游戏的开发均基于设备的触摸屏。 另外, 一些特殊的应用和游戏也利用了设备的某些传感 器, 例如动作传感器、 接近传感器和陀螺仪等。 随着数字流内容的日益普及, 智能电视、 电视机顶盒、 电。

7、视棒开始进入人们的客厅, 主 要可使用户通过互联网观看电视节目和电影。 高级设备也可用来听音乐、 玩游戏、 浏览网站 和网上购物等。 此类产品有很多平台, 例如Android TV、 Apple TV、 Fire TV、 Chromecast、 WebOS等。 此类设备通常由电视遥控器控制。 近年来, 与PlayStation、 Xbox和Wii等专业游戏机相比, Android游戏机出现为游戏玩 家提供了便宜的游戏解决方案。 此类Android游戏机通常配有支持Android的特殊游戏控制 器, 以及专门为设备和控制器开发的游戏。 迷你电脑是进入人们客厅的另一种受欢迎的设备。 此类设备的尺寸。

8、极小, 使用电视屏 幕作为显示器, 鼠标和键盘作为主控制器; 功能基本相当于各类电视盒、 智能电视或游戏 机, 其平台主要包括Windows、 Android和Mac。 无论客厅中使用什么设备, 遥控器均不可缺少。 常用控制器包括电视遥控器、 具有触摸 板的智能遥控器、 鼠标和键盘、 迷你键盘、 智能手机上的移动应用程序。 另外, 设备中可用的 资源也不可缺少。 资源是确定设备是否受欢迎的关键因素, 包括应用程序、 游戏和内容。 应 用程序和游戏以应用程序的形式分布在移动平台上, 内容包括电视节目、 电影、 书籍、 音乐 等, 独立于平台并通过特定应用程序传播。 因此, 应用程序和游戏或说Ap。

9、p实际上代表了所 有的资源。 正如本文开始所述, 两个流行的移动平台Android和iOS上有数百万应用程序: 目前, 苹 果尚未将其iOS资源整合到电视机顶盒中, 而谷歌已向前迈进, 其Android TV平台和Nexus Player产品均具有可利用Android平台所有资源的诱人特性。 同时, 市场上还可获得各种 Android设备, 例如电视机顶盒、 电视棒、 迷你电脑, 旨在利用所有Android资源。 但事实是, 所有应用程序和游戏的开发最初均完全基于触摸屏和某些传感器, 而此类目标设备无触摸 屏和传感器, 因此绝大多数人根本无法使用, 尤其是游戏。 人们可使用鼠标而非触摸屏, 但。

10、 与触摸操作相比, 控制应用或游戏时极不方便; Android游戏控制器应可控制游戏, 但由于 同样的原因, 目前无法对绝大多数的游戏进行控制。 2014年底, 谷歌正式发布了其Lollipop 5, 可支持所有尺寸的屏幕, 包括电视屏幕。 同 时, 谷歌开始鼓励开发人员开发可支持大屏幕和多重控件的应用程序和游戏。 但按目前 说 明 书 1/5 页 3 CN 107206282 A 3 Android 5的采用率, 等待开发人员开发新的应用程序和游戏、 或更改当前的应用程序或游 戏来支持这些功能可能需要很长时间。 此外, 针对大屏幕开发的应用程序和游戏无法使用 智能手机或平板电脑中的传感器。 。

11、因此, 现状仍未改变。 设想若移动平台上的所有应用程序资源均可在大屏幕上极好地使用, 而无需更改任何 内容, 或仅改变图像分辨率, 则开发人员可轻松地将资源移动到新的平台; 用户可轻松享受 应用商店帐户中的免费资源。 苹果的AirPlay技术是实现这一目标的解决方案之一, 但实际 上仅将移动设备的显示移到大屏幕; 谷歌的Chromecast技术是另一种解决方案, 但仅能投 放多媒体内容, 还需执行特定的API投射应用程序。 总而言之, 移动平台上具有大量的应用程序资源, 但绝大多数均不能在大屏幕上使用, 因为其开发最初是基于触摸屏和某些传感器。 实际上, 触摸屏是智能设备上的传感器之一, 但与。

12、本文中其他传感器不同, 因为它是每 个移动应用程序的基本控制组件。 发明内容 0003 本发明公开了一种实施远程软件控制的方法, 可实现基于智能设备传感器开发的 应用和游戏在不具有相应传感器的设备上使用。 例如, 具有触摸控制和动作控制的平板电 脑游戏可在电视机顶盒或迷你电脑上安装和运行, 但不能由游戏控制器或其他类型的控制 器操控, 因为游戏的开发是针对具有触摸屏和动作传感器的平板电脑; 本发明使玩家可使 用平板电脑作为控制器来控制游戏, 而控制游戏的方式与在平板电脑上玩游戏完全相同。 本文的传感器包括动作传感器、 接近传感器、 光传感器、 湿度传感器、 位置传感器和可用于 智能设备的任何其。

13、他传感器。 本文的智能设备包括但不限于智能手机、 平板电脑和智能手 表。 通过以下方式可很容易地理解本发明的方法: 1.将智能手机或平板电脑分成两部分, 包括带有传感器的屏幕和处理器; 2.将带有传感器的屏幕作为独立的控制器; 3.将处理器作为与大屏幕连接的电视机顶盒; 4.将原始控制事件通过通信介质发送到处理器; 5.使显示效果显示在两个屏幕上。 本发明的方法涉及分别安装在控制设备和受控设备上的两个软件应用程序。 安装在控 制设备上的应用程序是客户端应用程序, 安装在受控设备上的应用程序是服务器应用程 序。 该方法包括七个处理过程, 即捕获事件、 映射位置、 发送事件、 注入事件、 捕获效果。

14、、 发送 效果和执行效果。 基于本发明方法实施的系统是客户端-服务器结构, 客户应用程序安装在控制设备上, 服务器应用程序安装在受控设备上。 客户端应用程序中的关键系统组件包括图形用户界面 (GUI) 、 设备查找器、 事件捕获器、 事件映射器、 事件发送器、 效果接收器和效果执行器; 服务 器应用程序中的关键系统组件包括查找应答器、 事件接收器、 事件注入器、 效果捕获器和效 果发送器; 客户端应用程序和服务器应用程序之间的通信应用用户数据报协议 (UDP) 、 传输 控制协议 (TCP) 和蓝牙技术。 说 明 书 2/5 页 4 CN 107206282 A 4 附图说明 0004 图1是。

15、本发明处理过程的示意图; 图2是本发明处理过程在控制设备和受控设备环境下的示意图; 图3是基于本发明实施的实际系统的关键组件。 图4是映射位置处理过程的演示图; 图5是发送事件处理过程的事件格式的示例示意图; 图6是发送效果处理过程的效果格式的示例示意图; 图7是在服务器应用程序中注入事件的一种方式示意图; 图8是在服务器应用程序中捕获效果的一种方式示意图。 具体实施方式 0005 本发明的方法涉及一种安装在控制设备上的客户端软件应用程序和安装在受控 设备上的服务器软件应用程序。 多个控制设备可同时控制受控设备: 控制设备是开发应用 程序和游戏的设备; 受控设备是运行应用程序和游戏的设备。 本。

16、发明的方法包括如图1所示 的七个处理过程, 包括捕获事件、 映射事件、 发送事件、 注入事件、 捕获效果、 发送效果和执 行效果。 图2显示了同时具有两个设备时的处理过程。 第一处理过程是捕获事件, 是由控制设备上的客户端应用程序包含的处理过程。 如图2 所示, 事件从应用程序GUI捕获, 包括本地操作系统支持的所有事件。 存在两种类型的事件: 需映射处理过程的事件和无需映射处理过程的事件。 前一种事件与屏幕位置相关, 例如, 触 摸事件具有表示屏幕上触摸位置的坐标参数; 此时, 控制设备屏幕上的位置须映射到受控 设备屏幕上的相应位置, 否则无法正常工作。 后一种事件是无需位置参数的其他事件,。

17、 例如 键盘事件和传感器事件。 图1中, 101表示前一种事件, 103表示后一种事件。 第二处理过程是映射位置, 此处理过程将位置相关事件 (例如触摸事件) 的屏幕位置从 控制设备屏幕上的位置映射到受控设备屏幕上的位置。 该处理过程十分重要, 因为受控设 备通常具有较大的屏幕。 为了实现正确的映射, 可使用比例映射方法, 如下所述。 如图4所示, 需将控制设备屏幕上的触摸点 (x1, y1) 映射到受控设备屏幕上的触摸点 (x2, y2) 。 坐标中心 (0, 0) 位于两个设备屏幕的左下角; w1和h1是控制设备屏幕的宽度和高 度, w2和h2是受控设备屏幕的宽度和高度; w1、 h1、 。

18、w2、 h2、 x1和y1是已知值, x2和y2是期望 值。 计算x2和y2, 可使用以下算法: x2= (x1/w1) *w2 y2= (y1/h1) *h2 映射位置处理过程可设于客户端应用程序中或在服务器应用程序中, 但默认情况下设 于客户端应用程序中。 映射方法中的w2和h2可以是虚拟值。 例如, 假设受控设备的实际屏幕 分辨率为1920*1080, w2*h2可设为1920*1080、 2000*2000或任何其他图像。 本地操作系统将 处理所设值和实际值之间的映射。 但应注意, 所设值会影响触摸事件的精度: 理论上, 除非 虚拟值大于实际值, 否则所设值越大, 精度越高。 第三处理。

19、过程是发送事件。 捕获的原始事件或映射事件以特定格式直接发送到受控设 备。 须以有效的方式定义格式。 使用目前最常见的通信技术 (例如Wi-Fi和蓝牙) , 事件需以 说 明 书 3/5 页 5 CN 107206282 A 5 字节发送; 事件通常由整数和浮点值表示。 例如, 触摸事件可由整数动作值和两个整数坐标 值X和Y表示; 动作传感器事件可由三个浮点坐标值X、 Y和Z表示。 图5是发送事件格式的示意图。 格式包括四个部分: 第一部分是表示事件类型的第一字 节; 第二部分是后面的四个字节, 表示第一整数参数 (Arg1) 或第一浮点值 (Val1) ; 第三部分 是第二部分, 表示第二整。

20、数参数 (Arg2) 或第二浮点值 (Val2) 后面的四个字节; 第四部分是 最后四个字节, 表示第三整数参数 (Arg3) 或第三浮点值 (Val3) 。 该类型是存在一个字节中 的整数, 表示不同的事件类型, 包括触摸事件、 鼠标事件、 键盘事件和传感器事件等。 后面三 个部分用于存有不同类型事件的参数, 可以是整数值或浮点值, 具体取决于事件的类型。 例 如, 触摸事件具有整数动作值 (表示向下或向上事件) 、 整数坐标X值和整数坐标Y值; 此时, 第一部分中的动作值称为Arg1, 第二部分中的X值称为Arg2, 第三部分中的Y值称为Arg3; 对 于动作传感器事件, 三个部分用于存有。

21、表示三维动作的三个浮点值, 分别称为Val1、 Val2和 Val3。 第四处理过程是注入事件。 服务器应用程序接收到的事件须通过创建虚拟输入设备注 入本地操作系统。 所创建的输入设备须通过应用程序和游戏识别, 与本地实际输入设备无 任何区别。 这意味着对于受控设备上的应用程序和游戏, 事件来自本地触摸屏和传感器。 不同类型的事件可能需创建不同类型的输入设备, 不同的操作系统可具有不同机制以 处理输入设备。 需参考操作系统的文档, 查找确切方式进而为所有事件创建虚拟输入设备。 对于基于Linux内核的操作系统 (如安卓) , 如图7所示, 可使用虚拟输入和输入接口来模拟 输入设备; 此时, J。

22、ava JNI可用于调用C代码来创建设备并将事件直接注入系统。 应注意到, 为了注入事件, 多个控制设备与受控设备连接时, 如何识别事件源, 对于某 些应用程序尤其是游戏来说很重要。 可通过为每种类型的事件和每个控制设备创建虚拟输 入设备来完成。 例如, 控制设备与受控设备连接时, 可创建虚拟触摸设备来处理触摸事件, 可创建虚拟动作传感器设备来处理动作事件, 可创建虚拟键事件设备来处理所有关键事 件; 另一控制设备与受控设备连接时, 再次创建另一组虚拟设备。 这样, 应用程序和游戏可 通过由系统设备管理器管理的设备ID来识别每个创建的虚拟设备, 因而可支持多个单独的 控制器。 一些实施中, 可。

23、能无需区分事件源; 此时, 可为所有控制设备创建共享的虚拟输入 设备。 实际实施中应确定是创建单独的还是共享或混合的虚拟设备。 第五处理过程是捕获效果。 该效果由受控设备上的服务器应用程序捕获, 包括但不限 于显示效果、 声音效果和振动效果。 显示效果是受控设备屏幕上的显示; 屏幕截图或显示视 频流实时发送回控制设备并显示在屏幕上; 以这种方式, 用户可知道应在何处进行触摸操 作。 声音效果和振动效果主要用于向控制器提供即时操作反馈的游戏; 例如, 进行开车驾驶 游戏时, 当赛车与其他赛车接触时, 可向客户端控制器发送碰撞声效果或振动效果, 使用户 可听到或感觉到; 这些效果可从支持此类功能的。

24、游戏中捕获。 这对于可向个人播放器发送 特定声音和振动效果的多玩家游戏尤其有用。 根据游戏或特殊应用的需求, 可以相同的方 式添加更多的效果。 注入事件处理过程和捕获效果处理过程之间的虚线连接 (如图1所示) 表示后者不一定 是前者的后续处理过程; 换言之, 可能依赖也可能不依赖该处理过程; 例如, 捕获显示效果 与注入事件无关, 而捕获声音和振动效应可由某些事件触发。 图8是如何在安卓设备中捕获效果的示意图。 捕获显示效果与捕获其他效果不同。 对于 说 明 书 4/5 页 6 CN 107206282 A 6 显示效果, Linux内核有一种称为帧缓冲器或fb的设备, 其中包含RGB格式的屏。

25、幕显示数据。 从设备的内存映射中, 屏幕截图可直接通过JNI获取, 或可使用设备作为源以创建视频流。 声音效果和振动效果从应用程序或游戏中捕获, 但需应用程序和游戏来执行相应的API。 第六处理过程是发送效果。 效果将以特定格式发送回客户端应用程序。 发送事件是相 同的, 根据当前最常见的技术, 可以字节发送效果。 图6是包括九个字节的头部和不确定字 节数的数据示例格式示意图。 该头部中, 第一字节用于存有包括显示、 声音和振动在内的整 数类型; 其余八字节分为两组; 根据效果类型, 该两组字节用于不同的目的; 对于显示效果, 第一组存有显示效果的子类型, 分别包括表示图像和视频的0和1, 而。

26、第二组存有数据的长 度; 对于其他两种类型, 第一组存有效果子类型和时间长度 (以声音效果为例, 第一组指示 将要执行哪个声音效果) , 而第二组指示多长时间将执行声音效果。 该数据用于显示效果或 任何其他需数据的效果, 其存有压缩图像数据或视频流URI。 第七处理过程是执行效果。 客户端应用程序接收到效果时, 将根据类型分别执行效果。 对于显示效果, 若发送图像, 接收到的图像数据将设为显示组件; 若应用该视频, 则视频流 将在显示组件上实时播放。 对于声音效果, 可根据接收到的规格播放预设声音。 对于振动效 果, 可根据接收到的规格调用局部振动API来执行效果。 其他类型的效果可在实际实施。

27、中确 定。 执行效果通常反映在应用程序GUI中。 基于本发明方法实施的系统是客户端-服务器结构, 客户端应用程序安装在一个或多 个控制设备上, 服务器应用程序安装在受控设备上。 如图3所示, 该系统包括客户端应用程 序中的七个关键组件和服务器应用程序中的五个关键组件。 客户端应用程序中, 关键组件包括: GUI, 用于设置应用程序并捕获事件; 设备查找器, 用于在本地网络中查找受控设备; 事件捕获器, 用于捕获来自GUI的事件; 事件映射器, 用于将控制设备屏幕上的位置映射到受控设备屏幕上位置相关事件的位 置; 事件发送器, 用于将事件发送到服务器应用程序; 效果接收器, 用于接收来自服务器应。

28、用程序的效果; 效果执行器, 用于执行到达GUI的接收效果。 服务器应用程序中, 关键组件包括: 查找响应器, 用于响应查找来自客户端应用程序的广播; 事件接收器, 用于接收来自客户端应用程序的事件; 事件注入器, 用于通过模拟实际输入设备将事件注入操作系统; 效果捕获器, 用于捕获来自操作系统或内核以及应用程序的效果; 效果发送器, 用于将捕获的效果发送到客户端应用程序。 该系统使用本地网络中的UDP广播或蓝牙来查找受控设备。 查找到设备后, 用户可选择 通过Wi-Fi或蓝牙连接设备; 用户不能同时选择两个。 建立连接后, 进入本发明所述的处理 过程。 说 明 书 5/5 页 7 CN 107206282 A 7 图1 图2 说 明 书 附 图 1/4 页 8 CN 107206282 A 8 图3 图4 图5 说 明 书 附 图 2/4 页 9 CN 107206282 A 9 图6 图7 说 明 书 附 图 3/4 页 10 CN 107206282 A 10 图8 说 明 书 附 图 4/4 页 11 CN 107206282 A 11 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1