CN102750067B - 一种基于手持设备的大屏幕交互方法 - Google Patents
一种基于手持设备的大屏幕交互方法 Download PDFInfo
- Publication number
- CN102750067B CN102750067B CN201110098388.XA CN201110098388A CN102750067B CN 102750067 B CN102750067 B CN 102750067B CN 201110098388 A CN201110098388 A CN 201110098388A CN 102750067 B CN102750067 B CN 102750067B
- Authority
- CN
- China
- Prior art keywords
- client
- screen
- grid
- server end
- giant
- 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
Links
Abstract
本发明公开了一种基于手持设备的大屏幕交互方法,属于人机交互领域。本方法为:1)建立服务器与客户端之间连接,客户端将大屏幕网格数目配置发送至服务器;2)服务器对大屏幕进行划分后,将当前光标所在网格编码发送给客户端,客户端以此初始化交互界面;3)移动客户端,并将实时采集的图像发送到服务器;4)服务器估算客户端的位移,并将客户端的位移映射为光标在大屏幕的移动;5)移动客户端使大屏幕光标定位到某网格区域后,客户端将交互界面切换到大屏幕当前网格区域;操纵客户端的交互界面,并将输入的控制信息发送给服务器;6)服务器根据控制信息在大屏幕当前网格范围内执行交互操作。本发明具有交互性强、成本低、易于操作等特点。
Description
技术领域
本发明属于人机交互领域,具体地涉及一种基于手持设备的大屏幕交互方法。
背景技术
大屏幕显示设备在现代办公、会议等公共场合出现的越来越多,应用也越来越广泛,如大屏幕显示器,会议投影等都是典型的大屏幕。然而目前面向大屏幕显示计算机系统间的交互方式却不够丰富,最为常见的交互设备主要是鼠标、键盘等传统设备,而大屏幕则与用户之间通常具有一定的空间距离,用户不能离开交互输入设备;此外也有部分大屏幕显示设备支持直接的触屏操作(如Microsoft的surface),但由于显示面积大,用户不能轻易的在原地直接操纵整个大屏幕,需要依赖传统输入设备或者改变自身的位置。从交互场景来讲,基于传统鼠标键盘的大屏幕交互和基于触屏设备的大屏幕交互是具有明显区别的:前者(如会议,演讲等)通常会出现这样一种情况,用户需要在较大的活动空间内与设备进行交互,而后者适用于用户在固定的位置上(比如电脑屏幕前)与设备进行交互。如果在大屏幕交互场景下使用常用的桌面交互方式,用户的活动范围就会受到固有交互方式的限制(比如键盘鼠标不适合四处移动位置等)。本发明就是用来解决这一问题。
随着技术的进步,以手机(移动电话)为代表的移动设备日益成为人们生活中必不可少的电子设备之一,而这些手持移动设备在保持传统手机良好的便携性外,其计算能力、图形处理能力也得到了大幅增强。一些智能手机也集成了加速度计、陀螺器、电子罗盘等传感设备,并且支持单点或多点触摸,除去作为通讯设备这一核心功能,手机本身的功能也呈现多样化。其中,引人注目的两类应用是在增强现实和普适计算领域,把智能手机作为输入/输出设备。另一方面,智能手机(Smart Phone)可通过无线方式与网络连接,使用户可以随时随地按需访问各种信息和服务,是一种典型的信息访问终端,并且被认为是当前普适计算的首选平台。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种基于手持设备的大屏幕交互方法,使得用户在与大屏幕交互的过程中,如会议报告演示场景中,能够在一定程度上摆脱传统交互方式对用户活动范围的束缚,极大地改善这些环境下的用户体验。
为实现上述目的,我们提出的基于手持设备的多分辨率大屏幕交互方法具有如下特性:
1.借鉴了多分辨率思想;
2.支持低分辨率定位和高分辨率定位;
3.支持基于手机运动跟踪的自然交互;
4.支持基于触屏手势识别的精确交互;
5.支持基于手持设备上的输入和输出;
6.支持交互映射方式的扩展。
本发明的技术方案为:
一种基于手持设备的大屏幕交互方法,其步骤为:
1)建立大屏幕服务器与客户端之间的连接后,客户端将大屏幕的网格数目配置发送至服务器端;
2)服务器端根据网格数目配置对大屏幕进行划分,并得到每个网格十字交点的屏幕坐标;
3)服务器端将当前光标所在网格编码发送给客户端,客户端以此初始化交互界面;所述网格编码为网格单元在大屏幕显示区域中的位置,与网格单元一一对应;
4)移动客户端,并将移动过程中客户端实时采集的图像发送到服务器端;
5)服务器端从收到的图像中提取出图像序列,估算客户端的位移,并将客户端的位移映射为光标在大屏幕以网格为单位的移动;
6)移动客户端使大屏幕的光标定位到大屏幕的某网格区域后,客户端将交互界面切换到大屏幕当前网格区域;操纵客户端的交互界面,并将输入的控制信息发送给服务器端;
7)服务器端根据收到的控制信息,在大屏幕当前网格范围内执行交互操作。
进一步的,所述客户端将交互界面切换到大屏幕当前网格区域的方法为:
1)客户端将所选区域的位置坐标发送给服务器端,向服务器端请求该区域的详细内容;
2)服务器端收到请求数据后,从中提取出所请求网格和网格位置,然后抓取指定网格区域的屏幕图像,压缩编码后打包发送给客户端;
3)客户端解析所收到数据包中的图像数据,并以之更新客户端的操作界面。
进一步的,所述服务器端根据收到的控制信息,在大屏幕当前网格范围内执行交互操作的方法为:
1)服务器端从收到的控制信息中解析出所请求网格、网格位置和控制信息;
2)服务器端将控制信息转化为相应的交互原语,确定交互原语后,服务器执行交互操作。
进一步的,服务器端估算客户端的位移的方法为:
1)服务器端对t时刻的图像进行去噪、下采样处理,处理后的图像为It;所述核心子图为位于图像中心位置的子图;
2)提取It的核心子图Mt,在It-1中设定范围内遍历搜索与Mt最近邻子图NMt-1,(NMt-1-Mt)即为摄像头在图像平面上的位移。
进一步的,采用低分辨率的交互映射方式,将客户端的位移映射为光标在大屏幕以网格为单位的移动。
进一步的,采用低分辨率的交互映射方式,将客户端的位移映射为光标在大屏幕以网格为单位的移动的方法为:
1)服务器端将客户端的水平位移量|Mx|和垂直位移量|My|按照设定的比例分别转化为水平和垂直方向的网格数目(GNx,GNy);
2)若客户端在x方向(或y方向)上的位移量小于设定阈值,则大屏幕上的光标在x(或y)方向上不做移动;否则,在x(或y)方向上移动网格,偏移量为GNx(或GNy),将光标移动到新的目标网格,方向由Mx(或My)的符号指定。
进一步的,采用高分辨率的交互映射方式,在大屏幕当前网格范围内执行交互操作。
进一步的,客户端采用jpeg编码方式对采集的图像进行编码。
进一步的,所述客户端为智能手机。
本发明的主要内容包括步骤:
步骤S1:建立服务器与客户端之间的连接和初始化客户端;
步骤S2:执行交互操作(移动手机),客户端将此过程中客户端上的摄像头实时采集的图像发送到服务器端;
步骤S3:服务器端分析收到的消息,根据提取出的图像序列估算摄像头位移;
图像是消息正文部分,此外还有消息长度,消息类型,下面是部分消息类型
//客户端消息EC_****
const BYTE EC_REGISTER=1; //注册
const BYTE EC_SEND_JPG_HEADER=3; //向服务器发送jpeg图像头
const BYTE EC_SEND_JPG_DATA=4; //向服务器发送jpeg图像数据
const BYTE EC_REQ_SCREENSHOT=7; //请求服务器发送某指定区域截屏
const BYTE EC_COMMAND_=11; //请求执行命令
const BYTE EC_CLOSE_CONNECTION=13; //关闭连接
步骤S4:低分辨率下的交互映射。服务器端将步骤S3的分析结果映射为光标等在大屏幕显示设备上以网格为单位的移动;
步骤S5:执行交互操作(屏幕操作)。移动客户端使大屏幕的光标定位到大屏幕的某网格区域后,客户端手机屏幕切换到大屏幕当前网格区域,用户直接操纵手机屏幕上相应区域,客户端对捕捉触屏事件进行手势识别,并将识别的结果发送给服务器端;
步骤S6:高分辨下的交互映射。服务器端将收到的手势信息作为交互输入,并根据此输入在大屏幕当前网格范围内执行交互操作(移动光标或编辑目标等),这一步操作是在像素级别进行的精确操作,因而相对于以网格为单位的非精确操作而言,是一种高分辨率层次的操作;
步骤S7:完成任务后,切换回默认状态;
步骤S8:重复S2至S7,直至交互任务完成
初始化方法中,为了更好地使用视觉交互,本发明设计了工作区域网格化机制。所谓网格化是指由在交互开始之前,由用户指定两个正整数M,N,将工作区域(本发明中即为大屏幕显示区)划分为N行M列的一系列网格。每个网格单元在工作区域中具有一个唯一的位置,即网格单元在整个工作区域中所处的行号Gx和列号Gy,称(Gx,Gy)为网格编码。网格编码指出了网格单元在这个M×N区域中的位置,与网格单元一一对应,其中0≤Gx≤M-1,0≤Gy≤N-1。
初始化方法包括如下过程:
1)在连接建立后,客户端将大屏幕的网格数目配置封装为数据包后发送至服务器端(网格数目可以为默认值,也可由用户在客户端配置,用户修改了默认配置后,客户端会通知服务器端),服务器端据此将大屏幕划分为M×N的网格,并得到每个网格顶点的屏幕坐标,具体方法如下:
为了方便起见,采用一个M×N的矩阵MatG记录每一个网格顶点在工作区域中的像素位置(x,y)。对于MatG中的元素MatG(n,m)(n为行号,m为列号),进行如下的初始化:
workSpaceWidthInPixel→SW
workSpaceHeightInPixel→SH
For each element MatG(n,m)in MatG
SH×m/M→MatG(n,m).x
SW×n/N→MatG(n,m).y
一旦网格配置发生改变,网格顶点的位置需要经过上述计算来更新。
2)服务器端将当前光标所在网格编码发送给客户端,客户端以此初始化所在设备的交互界面,即在手机界面的显示区域绘制导航窗口,以显示区域代表大屏幕显示区域,而导航窗口在界面显示区的位置则与网格在大屏幕显示区的位置相对应。
所述步骤S2中采用的图像编码方式为jpeg编码,压缩质量由具体配置决定。
所述步骤S3中采用的摄像头运动跟踪方法为:
1)对t时刻的图像进行去噪、下采样等预处理,处理后的图像为It,对应的有,t-1时刻的历史数据It-1;
2)提取It的核心子图Mt,在It-1中设定范围(即图像位移(Mx,My)满足-X≤Mx≤X且-Y≤My≤Y)内遍历搜索其最近邻子图NMt-1,NMt-1与Mt的顶点位置差(NMt-1-Mt)即为t时刻的图像位移(Mx,My),Mx是x坐标的变化量,My是y坐标的变化量;所述核心子图为位于图像中心位置的子图。
所述步骤S4中低分辨率下的交互映射方法为:
1)服务器端将步骤S3的结果(Mx,My)按照设定的比例转化为水平和垂直方向的网格数目(GNx,GNy);
2)若摄像头在x方向(或y方向)上的位移量小于给定阈值,即|Mx|<网格宽(或|My|<网格高),则光标在x(或y)方向上不做移动;否则,在x(或y)方向上移动网格,偏移量为GNx(或GNy),将光标移动到新的目标网格。
所述步骤5)的具体流程为:
1)用户自行确定目标网格区域后,触碰手机屏幕导航示意图的对应区域,则客户端将用户指定的区域(即网格的位置坐标)作为消息的正文发送给服务器端,向服务器端请求该区域的详细内容,并立即暂停摄像头的工作;
2)服务器端在收到数据包后,从中提取出交互请求ID(请求某指定网格)和交互输入数据(网格位置),然后,服务器端抓取指定网格区域的屏幕图像,压缩编码后,打包发送给客户端;同时,由于客户端的交互状态已经发生改变,服务器端更新用于记录用户交互状态的内部数据。
3)客户端解析所收到数据包中的图像数据段,并以之更新客户端的操作界面;
4)客户端开始捕捉用户在客户端操作界面(如手机屏幕)的操作,对生成的触屏事件进行手势识别,并将识别出的结果(交互手势和相关参数)作为消息的正文,“触屏手势”作为消息的类型,打包后发送给服务器端。
所述步骤6)的具体流程如下:
首先服务器端从收到的数据包中解析出交互请求ID以及交互输入数据段。由于每个数据包的最外层结构都是统一的(数据长度+消息类型+消息正文包),服务器端首先提取出消息类型(“触屏手势”,控制信息),然后根据类型,消息提取逻辑会将消息正文识别成手势子消息。
然后,服务器端对手势子消息进一步划分,提取出服务器端下一步转化所需的详细信息,包括交互请求(具体的手势类型)和数据(交互输入数据),并转化为交互原语。确定交互原语后,服务器执行交互操作,交互操作是通过第三方或服务器端触发一系列事件来完成的。其中,基础的交互原语包括单击,双击,长按,滑动(Slide)等,对应的交互操作(单击/选择,双击,右键,移动),可通过调用系统API来实现。这一步骤中的转化依据如下表所示:
表1约定的转化机制(交互输入→交互原语→交互操作)
实现本方法的具体模块结构包括客户端和服务器端两部分。其中客户端包含交互界面,应用逻辑,用户数据三部分(图2)。这三个部分之间的关系是:交互界面监听用户在手机屏幕上的操作,将捕获的触屏事件传递给应用逻辑层,并向逻辑层提供状态提示和刷新的接口;应用逻辑层关注参加交互任务的各传感器(触屏,摄像头等),监听来自这些传感设备的数据更新,处理数据,提交交互请求,执行客户端交互任务,包括与服务器交换消息,刷新UI和更新用户数据等。
客户端的主要功能由应用逻辑层实现。该层主要包括了设备管理,数据处理和事件处理等部分。其中设备管理模块提供对摄像头,触屏和其他传感器等硬件设备的控制接口。其中数据处理模块负责图像的编解码和将要发送的数据封装成服务器可以理解的数据包,或是将收到的数据包解析成客户端可理解的消息。事件处理逻辑模块根据用户的操作和系统当前的状态切换客户端当前的状态,将图像数据压缩,对交互界面层捕获的触屏事件进行手势识别,将请求结果通过数据处理模块封装后,再经由TCP连接传递给服务器层。
如图5所示,服务器端的组成部分与客户端类似,包含了界面,应用逻辑和用户数据三部分。与客户端不同之处在于,服务器端的各部分功能相对单一。界面层主要功能是执行与UI更新有关的交互事件,包括光标位置变换,鼠标事件,编辑界面更新操作等;服务器端的用户数据包括内部数据和消息队列两部分,应用逻辑在后台维护着这个消息队列,其中消息管理器负责消息的封装和提取,而用户事件处理器则不停的分析解析后的消息,执行相应的操作,如更新UI或是将用户感兴趣的结果发送到客户端。
本方法为具有大屏幕显示设备的计算机系统提供了一种简单有效的基于手持设备的大屏幕交互方法。在交互的过程中引入了多分辨率思想,只需要一台支持触屏和无线连接(本发明的具体实施中采用了Wifi连接方式,也可采用其他无线连接方式)的智能手机,通过两个不同分辨率级别的交互映射,便能够实现用户与大屏幕显示设备的交互。本发明使得基于手持设备的大屏幕交互支持的操作自由度大大提升,利用手机触摸屏,在模糊交互的基础上增加了精确交互,使得交互体验得以改善。本方法充分利用了智能手机的便携性,在改善交互体验的同时,没有增加用户的学习负担和经济压力。由于本交互方法的易于实现和成本上的相对低廉,所以本交互方法具体极好的潜力。在个人信息展示,会议交流等环境下,本方法的应用,将极大改善参与者的用户体验,在提高了大屏幕交互体验的同时,也促进了与个人信息管理设备(手持设备)间的信息交流,方便了用户任务的完成。
与现有技术相比,本发明具有如下的优点和技术效果:
1.基于手持设备实现了大屏幕交互
本交互方法基于常见手持设备和传统的计算机设备实现了大屏幕交互的支持,是对传统键盘鼠标交互的一大扩展。
2.手持设备上的两步交互操作
由于基于摄像头手机运动跟踪具有不确定性,因此会给以跟踪结果作为控制输入的交互过程造成不可避免的低精确度体验;而以触屏手势识别作为控制输入的第二步交互过程,既缩小了目标所在区域的范围,又因是稳定操作而提高了交互精确度。
3.支持用户与大屏幕设备进行自然的人机交互
用户只需移动手机即可与大屏幕进行交互,这在一定程度上是一种自然的人机交互方式。
4.简单易行,无需昂贵硬件设备支持。
本交互方法除了用户的智能手机外,其实现不需要特别的交互设备,省去了昂贵的硬件设备费用。而且操作简单,容易在常用的计算机环境下实现。
附图说明
图1为交互系统流程图;
图2为客户端系统框架图;
图3为客户端流程图;
图4为屏幕的网格划分为客户端流程图;
图5为服务器端系统框架图;
图6为服务器端流程图;
图7为本发明即多分辨率交互技术流程图。
具体实施方式
为了使本技术领域的技术人员更好的理解,下面结合附图和实施方式对本交互方法作进一步的详细说明,所描述的实施例仅旨在便于对本发明的理解,本发明并不局限于此。
为了实现本发明的方法,实施时采用的计算机CPU主频为2.8GHz,内存为4G,硬盘为500G的计算机或其他类型的计算机,采用的智能手机其ARM CPU主频为1GHz,内存为512M,操作系统为Android。系统布局示意图如图2、4所示。在计算机上和手机上分别采用C++和Java编制相关程序,本发明方法的流程图请参见图1、图3、图6、图7所示:
在客户端,首先构造交互界面层,如图2所示,该层接收用户操作触摸屏时产生的所有事件,接收来自摄像头的视频缓冲数据,通过下一层(应用逻辑层)注册的接口将事件作为输入数据传递下去;另一方面,接收来自应用逻辑层的结果,并对交互界面做出相应的状态更新。
然后构造应用逻辑层的设备管理层模块。如图2所示,该层对手持设备的各项传感器提供操作接口,我们具体实施中使用摄像头来捕捉用户的交互动作,产生的实时图像数据以及用户在触摸屏上执行指点操作产生的触屏事件,作为逻辑处理模块的输入。以下详细说明设备管理层中的主要功能:
1)提供对摄像头的管理。
本发明主要关注的是手机后置摄像头,它所采集的视频序列是低分辨率交互的关键输入。该子模块封装了原先手机OS提供的系统调用,将所用到的接口简洁地呈现给应用逻辑层的核心处理类。为了满足不同用户的需求,摄像头图像的部分属性是可配置的,如分辨率大小,压缩质量,摄像头编号等等,支持多种不同的图像大小。
2)提供对手机触摸屏的控制。可针对手机性能进行详细配是否监听触屏事件,是否支持多触操作等,由此模块提供统一控制接口。
3)无线连接管理。该模块封装了无线设备的调用接口,并在此基础上进一步封装了与服务器之间的联系。以Wifi方式为例,无线连接管理子模块向逻辑层提供了Wifi设备控制(打开/关闭),TCP连接管理(连接/断开)接口,以及连接相关的配置。
在交互界面层和设备管理子层构造完毕的基础上,应用逻辑层可以得到系统的所有输入。下一步,就是在此基础上,将上一步所获得的信息封装成数据包,以驱动应用程序的运行;此外,另外一项工作是根据上层设备输入信息,综合成用户的交互操作提供到服务器端,由服务器端对交互输入做出响应,并根据反馈结果,要求交互界面响应更新。这就是逻辑处理层的主要职责。下面将详细介绍逻辑处理层的其它功能模块:
(1)数据处理模块
该模块包括图像编解码和通讯数据打包/解析两个子功能。受设备自身性能和网络带宽限制,消息处理层所接收到的从设备管理层传递过来的底层设备输入信息(图像信息)并不能直接被服务器端所用,需要以系统可理解的方式进行编码和压缩,然后被组合成数据包。数据处理模块中,图像编解码子模块负责将缓冲中的图像数据转化为指定的编码字节流(如jpeg压缩流),反之亦然;而通讯数据管理子模块只关注经过端口的数据的打包-发送和接收-解包过程,不关心数据本身的格式和内容,仅与逻辑应用层的核心处理类进行数据交互。
(2)事件处理模块
事件处理模块由三个子模块组成,其中手势识别/处理子模块和图像转发负责转发封装好的交互输入,而状态切换子模块对反馈消息进行响应。
现在对事件处理子模块进行进一步说明。
为了进一步执行更精确的定位或交互操作,用户将视点转移到手机屏幕,此时摄像头消息处理暂停,服务器端将用户关注区域移动到指定的网格。通过触碰交互界面上的焦点区域,交互界面将此事件提交给应用逻辑层,后者将客户端状态切换到低分辨率交互状态,同时向服务器端提交请求该网格内容,然后等待来自服务器端的反馈,直到操作延时(失败)或是接收到来自服务器端的图像信息;随后应用逻辑解析服务器端的发送来的图像信息,并以解析得到的结果来更新交互界面,交互过程切换到高分辨率交互状态。
在切换到高分辨率交互状态后,触屏消息合成模块开始接收来自交互界面的触屏事件,进行触屏手势识别,将得到的基本交互动作,包括单触、双触、长按、缩/放或滑动,连同每次操作所对应的手势位移数据,进行封装;应用逻辑将该数据包转化为字节流后,发送到服务器端。
另一方面,在服务器端,用户并不直接与服务器端的界面进行交互,因此,交互界面层可在最后构造。首先构造数据处理层,数据处理层包括内部数据管理和消息管理两部分。内部数据管理维护着当前用户的上下文数据,包括原始数据(位移数据,手势数据,用户指令)和状态数据(分辨率级别,ROI位置,光标位置),由应用逻辑层在处理用户事件的过程中进行更新和维护。消息管理则维护着一个发送消息队列,该队列是当前用户所请求的并且尚未处理的消息的集合;消息管理器首先将应用逻辑提交的字节数据转换为ClientPackage,再将其添加到待处理消息队列中,并通知等待在消息队列上的其它对象(如应用逻辑处理器),队列中的消息对象按照先进先出的顺序依次被移出队列,随后被解析为应用逻辑层可理解的自定义消息。在数据处理部分准备好后,构造服务器端的关键模块应用逻辑层。下面详细介绍应用逻辑层各功能模块:
(1)连接管理模块
该模块负责TCP连接的管理,包括连接初始化(监听端口)、建立连接、终止连接以及数据流的发送和接收。由于客户端是基于android系统采用java开发,数据在内存中以大端序存储,服务器端基于windows采用C++开发,数据以小端序存储,而网络数据流是以大端序传输,故服务器端连接管理模块还具有字节顺序转换功能,以支持数据流在大小端传输模式之间的转换。
(2)交互输入分析模块
在连接建立以后,连接管理模块接收到的每一个完整数据包都通过消息管理器转化为一条交互输入消息,进入接收消息队列。当接收消息队列非空时,交互输入分析模块提取队首的消息,根据消息ID查询当前消息的含义,并执行相应的操作。如,对于图像消息,系统首先解压数据流得到jpeg图像,然后对图像进行运动跟踪,再将跟踪结果作为进一步的交互输入传递给交互映射模块;而对于触屏手势,则系统根据相应的交互原语,如Slide手势代表目标(如光标)的简单移动,单击原语代表选择目标,缩放原语(实际是多触原语)代表缩放或旋转目标等。交互原语以及相关参数作为内部数据进入交互事件队列中等待处理。
(3)交互映射模块
交互映射模块在交互事件队列非空时,取出队首元素,根据其中的交互原语执行或触发相应的事件序列,实现交互原语到交互操作的映射,如移动光标操作转化为对SetCursorPos的调用,而选择目标则是通过触发单击事件实现,缩放操作视选择的目标不同而区别对待,或直接缩放图像本身(图像浏览任务),或通过第三方接口(其它软件)来操纵目标,在本系统中,通过消息机制实现与第三方程序的通信。
在交互原语转化为交互操作后,系统状态有所改变,因此需要不断维护和更新系统的状态数据,包括当前的分辨率别、ROI数据、光标位置等。
上述所有模块完成后,生成一个基于CS的交互框架系统,一个交互映射列表文件,如果需要增加新的交互映射,只需要对交互映射表进行扩展,并在服务器端和客户端增加相应的处理逻辑,即可实现交互方式的进一步扩展。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (8)
1.一种基于手持设备的大屏幕交互方法,其步骤为:
1)建立大屏幕服务器与客户端之间的连接后,客户端将大屏幕的网格数目配置发送至服务器端;
2)服务器端根据网格数目配置对大屏幕进行划分,并得到每个网格十字交点的屏幕坐标;
3)服务器端将当前光标所在网格编码发送给客户端,客户端以此初始化交互界面;所述网格编码为网格单元在大屏幕显示区域中的位置,与网格单元一一对应;
4)移动客户端,并将移动过程中客户端实时采集的图像发送到服务器端;
5)服务器端从收到的图像中提取出图像序列,估算客户端的位移,并将客户端的位移映射为光标在大屏幕上以网格为单位的移动;其中,估算客户端的位移的方法为:首先服务器端对t时刻的图像进行去噪、下采样处理,处理后的图像为It;然后提取It的核心子图Mt,在It-1中设定范围内遍历搜索与Mt最近邻子图NMt-1,(NMt-1-Mt)即为摄像头在图像平面上的位移;所述核心子图为位于图像中心位置的子图;
6)移动客户端使大屏幕的光标定位到大屏幕的某网格区域后,客户端将交互界面切换到大屏幕当前网格区域;操纵客户端的交互界面,并将输入的控制信息发送给服务器端;
7)服务器端根据收到的控制信息,在大屏幕当前网格范围内执行交互操作。
2.如权利要求1所述的方法,其特征在于所述客户端将交互界面切换到大屏幕当前网格区域的方法为:
1)客户端将所选区域的位置坐标发送给服务器端,向服务器端请求该区域的详细内容;
2)服务器端收到请求数据后,从中提取出所请求网格和网格位置,然后抓取指定网格区域的屏幕图像,压缩编码后打包发送给客户端;
3)客户端解析所收到数据包中的图像数据,并以之更新客户端的操作界面。
3.如权利要求1或2所述的方法,其特征在于所述服务器端根据收到的控制信息,在大屏幕当前网格范围内执行交互操作的方法为:
1)服务器端从收到的控制信息中解析出所请求网格、网格位置和控制信息;
2)服务器端将控制信息转化为相应的交互原语,确定交互原语后,服务器执行交互操作。
4.如权利要求1所述的方法,其特征在于采用低分辨率的交互映射方式,将客户端的位移映射为光标在大屏幕以网格为单位的移动。
5.如权利要求4所述的方法,其特征在于采用低分辨率的交互映射方式,将客户端的位移映射为光标在大屏幕以网格为单位的移动的方法为:
1)服务器端将客户端的水平位移量|Mx|和垂直位移量|My|按照设定的比例分别转化为水平和垂直方向的网格数目(GNx,GNy);
2)若客户端在x方向或y方向上的位移量小于设定阈值,则大屏幕上的光标在x或y方向上不做移动;否则,在x或y方向上移动网格,偏移量为GNx或GNy,将光标移动到新的目标网格,方向由Mx或My的符号指定。
6.如权利要求1所述的方法,其特征在于采用高分辨率的交互映射方式,在大屏幕当前网格范围内执行交互操作。
7.如权利要求1所述的方法,其特征在于客户端采用jpeg编码方式对采集的图像进行编码。
8.如权利要求1所述的方法,其特征在于所述客户端为智能手机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110098388.XA CN102750067B (zh) | 2011-04-19 | 2011-04-19 | 一种基于手持设备的大屏幕交互方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110098388.XA CN102750067B (zh) | 2011-04-19 | 2011-04-19 | 一种基于手持设备的大屏幕交互方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102750067A CN102750067A (zh) | 2012-10-24 |
CN102750067B true CN102750067B (zh) | 2015-04-22 |
Family
ID=47030306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110098388.XA Active CN102750067B (zh) | 2011-04-19 | 2011-04-19 | 一种基于手持设备的大屏幕交互方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102750067B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838360B (zh) * | 2012-11-26 | 2018-07-06 | 联想(北京)有限公司 | 一种操作指令的识别方法和设备 |
CN103208271B (zh) * | 2013-02-22 | 2015-12-23 | 京东方科技集团股份有限公司 | 一种显示装置和显示系统及控制方法 |
CN104423719A (zh) * | 2013-08-27 | 2015-03-18 | 鸿富锦精密工业(深圳)有限公司 | 电子装置及显示内容更新方法 |
US10466878B2 (en) * | 2014-09-04 | 2019-11-05 | Huawei Technologies Co., Ltd. | Screen capturing method and apparatus |
CN104270595B (zh) * | 2014-09-29 | 2018-11-30 | 江苏金中微智慧科技有限公司 | 一种视频通话客户端视频语音切换系统及其切换方法 |
JP6521055B2 (ja) * | 2015-03-20 | 2019-05-29 | 株式会社リコー | 表示装置、表示制御方法、表示制御プログラムおよび表示システム |
US10133474B2 (en) | 2016-06-16 | 2018-11-20 | International Business Machines Corporation | Display interaction based upon a distance of input |
CN106095118B (zh) * | 2016-08-18 | 2019-06-04 | 青岛海信医疗设备股份有限公司 | 一种用于医疗显示的光标移动方法、装置和医疗设备 |
CN106325673A (zh) * | 2016-08-18 | 2017-01-11 | 青岛海信医疗设备股份有限公司 | 一种用于医疗显示的光标移动方法、装置和医疗设备 |
CN106326648A (zh) * | 2016-08-18 | 2017-01-11 | 青岛海信医疗设备股份有限公司 | 一种用于医疗显示的光标移动方法、装置和医疗设备 |
CN106250711B (zh) * | 2016-08-18 | 2019-12-06 | 青岛海信医疗设备股份有限公司 | 一种用于医疗显示的光标移动方法、装置和医疗设备 |
CN106547469B (zh) * | 2016-11-25 | 2019-08-06 | 北京恒泰实达科技股份有限公司 | 无线触控一体实现方法以及无线触控一体机 |
CN107123099B (zh) * | 2017-04-27 | 2020-02-14 | 广东华中科技大学工业技术研究院 | 人机界面数据采集方法 |
CN107508886A (zh) * | 2017-08-24 | 2017-12-22 | 西安万像电子科技有限公司 | 应用显示方法及装置 |
CN107665107A (zh) * | 2017-09-14 | 2018-02-06 | 晶赞广告(上海)有限公司 | 图表的多屏交互方法及装置、存储介质、移动设备 |
CN108874342B (zh) * | 2018-06-13 | 2021-08-03 | 深圳市东向同人科技有限公司 | 投影视图切换方法及终端设备 |
CN113010130B (zh) * | 2021-03-11 | 2023-03-24 | 中国科学院软件研究所 | 一种基于图像流的远距离大屏交互控制方法 |
CN116095152B (zh) * | 2023-03-08 | 2023-07-07 | 杭州半云科技有限公司 | 一种基于多终端的多屏通信协同方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6594616B2 (en) * | 2001-06-18 | 2003-07-15 | Microsoft Corporation | System and method for providing a mobile input device |
CN101500036A (zh) * | 2009-01-06 | 2009-08-05 | 深圳华为通信技术有限公司 | 一种控制投影仪的显示内容的方法、移动终端及投影仪 |
CN101729659A (zh) * | 2008-10-20 | 2010-06-09 | Lg电子株式会社 | 移动终端和用于控制与外部设备相关的功能的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7864159B2 (en) * | 2005-01-12 | 2011-01-04 | Thinkoptics, Inc. | Handheld vision based absolute pointing system |
US20070177806A1 (en) * | 2006-02-01 | 2007-08-02 | Nokia Corporation | System, device, method and computer program product for using a mobile camera for controlling a computer |
US7852315B2 (en) * | 2006-04-07 | 2010-12-14 | Microsoft Corporation | Camera and acceleration based interface for presentations |
-
2011
- 2011-04-19 CN CN201110098388.XA patent/CN102750067B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6594616B2 (en) * | 2001-06-18 | 2003-07-15 | Microsoft Corporation | System and method for providing a mobile input device |
CN101729659A (zh) * | 2008-10-20 | 2010-06-09 | Lg电子株式会社 | 移动终端和用于控制与外部设备相关的功能的方法 |
CN101500036A (zh) * | 2009-01-06 | 2009-08-05 | 深圳华为通信技术有限公司 | 一种控制投影仪的显示内容的方法、移动终端及投影仪 |
Also Published As
Publication number | Publication date |
---|---|
CN102750067A (zh) | 2012-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102750067B (zh) | 一种基于手持设备的大屏幕交互方法 | |
US7584249B2 (en) | Synchronization among plural browsers using a state manager | |
KR101367718B1 (ko) | 이동 기기의 상호운영성을 제공하는 방법 및 장치 | |
CN102713848B (zh) | 用于使用轻量级客户端通过网络来与虚拟化计算服务对接的方法 | |
US20090006977A1 (en) | Method and System of Computer Remote Control that Optimized for Low Bandwidth Network and Low Level Personal Communication Terminal Device | |
US9323429B2 (en) | Interactive virtual display system | |
CN111601120A (zh) | 一种无线传屏显示系统与显示方法 | |
CN1613045B (zh) | 基于无线人机交互设备的个人电脑系统及其数据传输方法 | |
CN103888840A (zh) | 一种视频移动终端实时拖动与缩放的方法及装置 | |
CN114816585B (zh) | 一种跨运行环境的远程输入重定向方法 | |
CN103605535A (zh) | 智能显示设备操作方法、系统及智能显示设备、移动设备 | |
CN113368492A (zh) | 渲染的方法、装置 | |
CN108347452A (zh) | 远程获取屏幕截图的方法及装置 | |
CN111061381A (zh) | 屏幕全局输入控制系统及方法 | |
CN113507646A (zh) | 一种显示设备及浏览器多标签页媒资播放方法 | |
CN104111742A (zh) | 远程控制系统、多电脑切换器及鼠标游标显示方法 | |
JP5281324B2 (ja) | 画面出力コンバータ、ディスプレイ装置および画面表示方法 | |
CN113157092B (zh) | 可视化方法、终端设备和存储介质 | |
US9141443B2 (en) | Method and system for integrating visual controls with legacy applications | |
CN116980554A (zh) | 一种显示设备及视频会议界面显示方法 | |
CN111782606A (zh) | 显示设备、服务器和文件管理方法 | |
KR102552753B1 (ko) | 딜레이 절감을 위한 vmi 화면 표시 방법 및 장치 | |
CN114138150B (zh) | Windows平台下第三方APP原生集成的方法 | |
CN116382667A (zh) | 一种交互式云渲染三维可视化开发平台实现方法及系统 | |
Patel et al. | Mobile virtual network computing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |