CN115145511A - 一种拼接显示的方法、电子设备和系统 - Google Patents
一种拼接显示的方法、电子设备和系统 Download PDFInfo
- Publication number
- CN115145511A CN115145511A CN202110341483.1A CN202110341483A CN115145511A CN 115145511 A CN115145511 A CN 115145511A CN 202110341483 A CN202110341483 A CN 202110341483A CN 115145511 A CN115145511 A CN 115145511A
- Authority
- CN
- China
- Prior art keywords
- image information
- electronic device
- interface
- partial image
- size
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
- G06F3/1446—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display display composed of modules, e.g. video walls
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20132—Image cropping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供了一种拼接显示的方法、电子设备和系统,方法包括:第一电子设备显示第一界面,第一界面上第一界面元素相对于参考点位于第一位置;第一电子设备根据第一方式对第一界面对应的图像信息进行扩大,得到第一图像信息;第一电子设备将第一界面元素在第一图像信息上进行排列并分割,得到第一部分图像信息以及第二部分图像信息,在由第一部分图像信息和第二部分图像信息组成的图像信息上第一界面元素相对于参考点位于第二位置,第一位置在按照第一方式扩大后的图像信息上的位置与第二位置不同;第一电子设备显示第一部分图像信息且向第二电子设备发送第二部分图像信息。本申请可以自动识别提取界面上的界面元素并重新布局,从而提升用户体验。
Description
技术领域
本申请涉及终端领域,并且更具体地,涉及一种拼接显示的方法、电子设备和系统。
背景技术
当前用户拥有的电子设备的数量越来越多,有调查显示1个用户平均拥有7个电子设备。用户使用单一电子设备(例如,手机)观看视频、文档时会受限于屏幕尺寸,导致用户的观看效果。因此,如何将多个电子设备互联形成一个整体,使得用户在更大的屏幕上观看成了一个亟待解决的问题。
发明内容
本申请提供一种拼接显示的方法、电子设备和系统,可以将多个电子设备的屏幕进行拼接显示,同时,当多设备通过全屏模式进行拼接显示时,可以自动识别提取界面上的界面元素并重新布局,方便用户选择和操作,有助于提升用户的体验。
第一方面,提供了一种系统,该系统包括第一电子设备和第二电子设备,该第一电子设备通过近距离无线连接与该第二电子设备通信,该第一电子设备用于显示第一界面,该第一界面上包括一个或者多个界面元素,该一个或者多个界面元素包括第一界面元素,在该第一界面上该第一界面元素相对于第一参考点位于第一位置;该第一电子设备还用于响应于接收到第一指示,根据第一方式对该第一界面对应的图像信息进行扩大,得到第一图像信息;该第一电子设备还用于将该第一界面元素在该第一图像信息上进行排列并对该第一图像信息进行分割,得到第一部分图像信息以及第二部分图像信息,在由该第一部分图像信息和该第二部分图像信息组成的图像信息上该第一界面元素相对于该第一参考点位于第二位置,该第一位置在按照该第一方式扩大后的图像信息上的位置与该第二位置不同;该第一电子设备还用于根据该第一电子设备和该第二电子设备的方位信息,显示该第一部分图像信息且向该第二电子设备发送该第二部分图像信息;该第二电子设备还用于响应于接收到该第二部分图像信息,显示该第二部分图像信息。
本申请实施例中,通过第一电子设备接收到第一指示,触发第一电子设备和第二电子设备进行拼接显示,从而实现了多个电子设备的屏幕的拼接,有助于提升用户的观感;同时,当第一电子设备和第二电子设备通过全屏模式进行拼接显示时,第一电子设备可以自动识别提取界面上的界面元素并重新布局,方便用户选择和操作,从而提升用户的体验。
结合第一方面,在第一方面的某些实现方式中,该第一电子设备的显示屏在第一方向的尺寸为第一尺寸且该第一电子设备在第二方向上的尺寸为第二尺寸,该第二电子设备的显示屏在该第一方向的尺寸为第三尺寸,该第一方向和该第二方向垂直,该第一电子设备具体用于:当该第一电子设备和该第二电子设备沿该第一方向进行拼接显示时,该第一电子设备将该第一界面对应的图像信息在第一方向的尺寸扩大为第四尺寸且保持该第一界面对应的图像信息在该第二方向上的尺寸不变,该第四尺寸为该第一尺寸和该第三尺寸的和。
结合第一方面,在第一方面的某些实现方式中,该第一电子设备具体用于:若该第一界面元素位于该第一界面沿该第一方向的对称轴上,将该第一界面元素显示在该第一部分图像信息或者该第二部分图像信息上。
若第一界面元素位于第一界面沿第一方向的对称轴上,那么若第一电子设备采用分割方式对图像信息进行分割,第一界面元素可以会在第一部分图像信息上显示一半且在第二部分图像信息上显示另一半,这样会影响用户的观感。本申请实施例中,第一电子设备可以对第一界面元素进行重新排列,从而避免了界面元素被分割,方便用户进行选择和操作。
结合第一方面,在第一方面的某些实现方式中,该第一界面元素为文本类界面元素,该第一电子设备具体用于:若该文本类界面元素沿该第一方向扩大一倍后的尺寸大于该第一尺寸,将该文本类界面元素显示在该第一部分图像信息上;或者,若该文本类界面元素沿该第一方向扩大一倍后的尺寸大于该第一尺寸且该文本类界面元素沿第一方向的尺寸小于该第三尺寸,将该文本类界面元素显示在该第二部分图像信息上。
本申请实施例中,对于标题一类的文本类界面元素,若其沿第一方向扩大一倍后的尺寸大于第一尺寸,那么第一电子设备可以将该文本类界面元素显示在第一部分图像信息或者第二部分图像信息上,这样可以避免多设备显示文本类界面元素时文本类界面元素一半出现在第一电子设备而另一半出现在第二电子设备上,有助于提升多设备拼接显示时用户的观感。
结合第一方面,在第一方面的某些实现方式中,该一个或者多个界面元素包括图形类界面元素和文本类界面元素,其中,该第一部分图像信息包括该图形类界面元素,该第二部分图像信息包括该文本类界面元素;或者,该第一部分图像信息包括该文本类界面元素,该第二部分图像信息包括该图形类界面元素。
本申请实施例中,若一个或者多个界面元素中包括图形类界面元素和文本类界面元素,那么第一电子设备可以将图形类界面元素显示在一个设备上,而文本类界面元素显示在另一个设备上,有助于提升多设备拼接显示时用户的观感。
结合第一方面,在第一方面的某些实现方式中,该第一界面为视频播放界面,该第一界面元素为视频播放进度条;该第一电子设备具体用于:将该视频播放进度条显示在该第一部分图像信息或者该第二部分图像信息上。
本申请实施例中,若第一电子设备确定第一界面上包括视频播放进度条,那么第一电子设备和第二电子设备通过全屏模式进行拼接显示时,可以将该视频播放进度条显示在第一部分图像信息上或者第二部分图像信息上,而不会将该视频播放进度条显示在第一部分图像信息和第二部分图像信息上,方便用户选择和操作,有助于提升用户的体验。
结合第一方面,在第一方面的某些实现方式中,该对该第一界面元素排列并对该第一图像信息分割后还得到第三部分图像信息,该第三部分图像信息位于该第一部分图像信息和该第二部分图像信息之间,该第三部分图像信息由该第一电子设备根据该第一电子设备和该第二电子设备之间的距离确定;其中,在由该第一部分图像信息、该第二部分图像信息和该第三部分图像信息组成的图像信息上该第一界面元素相对于该第一参考点位于该第二位置。
本申请实施例中,第一电子设备可以选择分割方式或者遮罩方式对扩大后的图像信息进行分割。在一些可能的实现方式中,当第一电子设备和第二电子设备之间的距离小于或者等于预设距离(例如3厘米)时,第一电子设备可以通过遮罩方式和第二电子设备进行拼接显示;当第一电子设备和第二电子设备之间的距离大于预设距离时,第一电子设备可以通过分割方式和第二电子设备进行拼接显示。
结合第一方面,在第一方面的某些实现方式中,该第三部分图像信息中不包括该第一界面元素。
本申请实施例中,若第一电子设备通过遮罩方式对图像信息进行分割时,第一电子设备可以不将一个或者多个界面元素的任意一个界面元素显示在第三部分图像信息上,这样可以使得一个或者多个界面元素显示在第一部分图像信息上或者第二部分图像信息上,方便用户选择和操作,有助于提升用户的体验。
第二方面,提供了一种拼接显示的方法,该方法应用于第一电子设备,该第一电子设备通过近距离无线连接与第二电子设备通信,该方法包括:第一电子设备显示第一界面,该第一界面上包括一个或者多个界面元素,该一个或者多个界面元素包括第一界面元素,在该第一界面上该第一界面元素相对于第一参考点位于第一位置;响应于接收到第一指示,第一电子设备根据第一方式对该第一界面对应的图像信息进行扩大,得到第一图像信息;第一电子设备将该第一界面元素在该第一图像信息上进行排列并对该第一图像信息进行分割,得到第一部分图像信息以及第二部分图像信息,在由该第一部分图像信息和该第二部分图像信息组成的图像信息上该第一界面元素相对于该第一参考点位于第二位置,该第一位置在按照该第一方式扩大后的图像信息上的位置与该第二位置不同;第一电子设备根据该第一电子设备和该第二电子设备的方位信息,显示该第一部分图像信息且向该第二电子设备发送该第二部分图像信息。
结合第二方面,在第二方面的某些实现方式中,该第一电子设备的显示屏在第一方向的尺寸为第一尺寸且该第一电子设备在第二方向上的尺寸为第二尺寸,该第二电子设备的显示屏在该第一方向的尺寸为第三尺寸,该第一方向和该第二方向垂直,该根据第一方式对该第一界面对应的图像信息进行扩大,包括:当该第一电子设备和该第二电子设备沿该第一方向进行拼接显示时,该第一电子设备将该第一界面对应的图像信息在第一方向的尺寸扩大为第四尺寸且保持该第一界面对应的图像信息在该第二方向上的尺寸不变,该第四尺寸为该第一尺寸和该第三尺寸的和。
结合第二方面,在第二方面的某些实现方式中,该将该第一界面元素在该第一图像信息上进行排列并对该第一图像信息进行分割,得到第一部分图像信息以及第二部分图像信息,包括:若该第一界面元素位于该第一界面沿该第一方向的对称轴上,将该第一界面元素显示在该第一部分图像信息或者该第二部分图像信息上。
结合第二方面,在第二方面的某些实现方式中,该第一界面元素为文本类界面元素,该将该第一界面元素在该第一图像信息上进行排列并对该第一图像信息进行分割,得到第一部分图像信息以及第二部分图像信息,包括:若该文本类界面元素沿该第一方向扩大一倍后的尺寸大于该第一尺寸,将该文本类界面元素显示在该第一部分图像信息上;或者,若该文本类界面元素沿该第一方向扩大一倍后的尺寸大于该第一尺寸且该文本类界面元素沿第一方向的尺寸小于该第三尺寸,将该文本类界面元素显示在该第二部分图像信息上。
结合第二方面,在第二方面的某些实现方式中,该一个或者多个界面元素包括图形类界面元素和文本类界面元素,其中,该第一部分图像信息包括该图形类界面元素,该第二部分图像信息包括该文本类界面元素;或者,该第一部分图像信息包括该文本类界面元素,该第二部分图像信息包括该图形类界面元素。
结合第二方面,在第二方面的某些实现方式中,该第一界面为视频播放界面,该第一界面元素为视频播放进度条,该将该第一界面元素在该第一图像信息上进行排列并对该第一图像信息进行分割,得到第一部分图像信息以及第二部分图像信息,包括:将该视频播放进度条显示在该第一部分图像信息或者该第二部分图像信息上。
结合第二方面,在第二方面的某些实现方式中,该对该第一界面元素排列并对该第一图像信息分割后还得到第三部分图像信息,该第三部分图像信息位于该第一部分图像信息和该第二部分图像信息之间,该第三部分图像信息由该第一电子设备根据该第一电子设备和该第二电子设备之间的距离确定;其中,在由该第一部分图像信息、该第二部分图像信息和该第三部分图像信息组成的图像信息上该第一界面元素相对于该第一参考点位于该第二位置。
结合第二方面,在第二方面的某些实现方式中,该第三部分图像信息中不包括该第一界面元素。
第三方面,提供了一种装置,该装置包括:显示单元,用于显示第一界面,该第一界面上包括一个或者多个界面元素,该一个或者多个界面元素包括第一界面元素,在该第一界面上该第一界面元素相对于第一参考点位于第一位置;接收单元,用于接收到第一指示;图像处理单元,用于根据第一方式对该第一界面对应的图像信息进行扩大,得到第一图像信息;图像处理单元,还用于将该第一界面元素在该第一图像信息上进行排列并对该第一图像信息进行分割,得到第一部分图像信息以及第二部分图像信息,在由该第一部分图像信息和该第二部分图像信息组成的图像信息上该第一界面元素相对于该第一参考点位于第二位置,该第一位置在按照该第一方式扩大后的图像信息上的位置与该第二位置不同;显示单元,还用于根据该第一电子设备和该第二电子设备的方位信息,显示该第一部分图像信息;发送单元,还用于根据该第一电子设备和该第二电子设备的方位信息,向该第二电子设备发送该第二部分图像信息。
第四方面,提供了一种电子设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序。其中,一个或多个计算机程序被存储在存储器中,一个或多个计算机程序包括指令。当指令被电子设备执行时,使得电子设备执行上述第二方面中任一项可能的实现中的方法。
第五方面,提供了一种包含指令的计算机程序产品,当所述计算机程序产品在第一电子设备上运行时,使得所述电子设备执行上述第二方面所述的方法。
第六方面,提供了一种计算机可读存储介质,包括指令,当所述指令在第一电子设备上运行时,使得所述电子设备执行上述第二方面所述的方法。
第七方面,提供了一种芯片用于执行指令,当所述芯片运行时,所述芯片执行上述第二方面所述的方法。
附图说明
图1是本申请实施例提供的一种电子设备的硬件结构示意图。
图2是本申请实施例提供的软件结构框图。
图3是本申请实施例提供的一组图形用户界面。
图4是本申请实施例提供的另一组图形用户界面。
图5是本申请实施例提供的另一组图形用户界面。
图6是本申请实施例提供的另一组图形用户界面。
图7是本申请实施例提供的另一组图形用户界面。
图8是本申请实施例提供的另一组图形用户界面。
图9是本申请实施例提供的另一组图形用户界面。
图10是本申请实施例提供的source端设备和sink端设备的示意性结构图。
图11是本申请实施例提供的source端设备和sink端设备通过全屏模式显示的方法的示意性流程图。
图12是本申请实施例提供的source端设备通过分割方式进行裁剪并将裁剪后的画布显示在虚拟屏上的过程。
图13是本申请实施例提供的source端设备通过遮罩方式进行裁剪并将裁剪后的画布显示在虚拟屏上的过程。
图14是本申请实施例提供的source端设备通过分割方式进行裁剪并将裁剪后的画布显示在虚拟屏上的另一过程。
图15是本申请实施例提供的source端设备通过遮罩方式进行裁剪并将裁剪后的画布显示在虚拟屏上的另一过程。
图16是本申请实施例提供的系统架构图的示意图。
图17是Overlay配置文件的示意图。
图18是Overlay配置文件的另一示意图。
图19是本申请实施例提供的多设备拼接显示方法的示意性流程图。
图20是本申请实施例提供的手机A提取并对重新排列界面元素的过程的示意图。
图21是本申请实施例提供的拼接显示方法的示意性流程图。
图22是本申请实施例提供的第一界面元素位置变化的示意图。
图23是本申请实施例提供的装置的示意性结构图。
图24是本申请实施例提供的电子设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“复数个”或者“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请实施例提供的方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
示例性的,图1示出了电子设备100的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户身份识别(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户身份识别(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用嵌入式SIM(embedded-SIM,eSIM)卡,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
应理解,本申请实施例中的电话卡包括但不限于SIM卡、eSIM卡、全球用户识别卡(universal subscriber identity module,USIM)、通用集成电话卡(universalintegrated circuit card,UICC)等等。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图2是本申请实施例的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
应理解,本申请实施例中的技术方案可以用于Android、IOS、鸿蒙等系统中。
图3是本申请实施例提供的一组图形用户界面(graphical user interface,GUI)。
参见图3中的(a)所示的GUI。手机A显示视频应用的播放界面,该播放界面上显示视频播放画面301,此时手机B显示手机B的桌面。
当手机B靠近手机A后,手机A和手机B可以通过近场无线连接方式组网。组网方式包括但不限于接入点(access point,AP)组网和点对点(peer-to-peer,P2P)组网。其中,AP组网就是在同一AP(例如,家用Wi-Fi路由器)下的设备,可以通过AP设备互相通信,从而形成多对多组网。示例性的,手机A和手机B可以位于同一家用路由器下,当手机B靠近手机A后,手机A可以使用接收信号的强度指示(received signal strength indication,RSSI)技术,根据接收的信号的强度计算设备A和设备B之间的距离。当该距离小于或者等于预设距离时,手机A和手机B可以进行AP组网。
Wi-Fi直连(Wi-Fi direct):也可以称之为Wi-Fi点对点(Wi-Fi peer to peer,Wi-Fi P2P),是一种点对点连接方式。它可以使得多个Wi-Fi设备在没有接入点(accesspoint,AP)的情况下也能构成一个点对点网络(peer to peer network,P2P network)互相通信。其中一台站点(station,STA)可以充当传统意义上AP的作用,称之为组拥有者(groupowner,GO);另一台STA可以称之为组客户端(group client,GC),GC可以像连接AP一样连接到GO。其中,可以由一个STA可以来扮演GO的角色(即充当AP),而其他STA来扮演GC的角色。本申请实施例中,当一台设备靠近另一台设备时,可以默认位于左侧的设备为GO,位于右侧的设备为GC。例如,手机A可以作为GO,手机B可以作为GC。或者,当一台设备上检测到用户向右滑动的操作时,该设备可以作为GC且该设备可以选择位于其左侧的另一台设备为GO;或者,当一台设备上检测到用户向左滑动的操作时,该设备可以作为GC且该设备可以选择位于其右侧的另一台设备为GO。
若要构建一个P2P网络,首先需要一台电子设备经过P2P协议能扫描到另外一台电子设备,该过程称之为发现阶段;发现之后才能触发P2P连接的建立。当手机B靠近手机A后,手机A可以使用RSSI技术,根据RSSI计算设备A和设备B之间的距离。当该距离小于或者等于预设距离时,手机A和手机B可以进行P2P组网。
Wi-Fi P2P技术是上层业务的基础。当前建立在P2P之上的P2P应用主要有Miracast应用、WLAN直连应用等。在Miracast应用场景中,一台支持P2P的电子设备可以通过扫描发现并连接上一台支持P2P的大屏设备,然后将该电子设备的视频、图片等资源直接送显到大屏设备。借助P2P技术,将极大丰富Wi-Fi技术的体验。
当手机B检测到用户在桌面上向右滑动的操作后,手机B向手机A发送指示信息,该指示信息用于指示手机B希望进入全屏模式。
参见图3中的(b)所示的GUI。手机A在接收到手机B发送的指示信息后,手机A可以对当前播放界面中的显示的画布尺寸扩大1倍。手机A可以对扩大1倍后的画布进行裁剪,从而获得大小相同的两个区域(区域302和区域303)。手机A可以通过显示屏显示区域302所示的画布并将区域303的画布投屏到手机B上,从而使得手机B通过显示屏显示区域303的画布。
一个实施例中,手机B的显示界面上还包括退出控件。当手机B检测到用户点击退出控件时,手机B可以向手机A发送指示信息,该指示信息用于指示手机A退出全屏模式。
一个实施例中,该退出控件可以是手机B绘制的。当手机A和手机B进入全屏模式后,就可以绘制退出控件并通过手机B的显示屏显示。
参见图3中的(c)所示的GUI,当手机C靠近手机A后,手机A、手机B和手机C可以进行AP组网或者P2P组网。当手机C上检测到用户向右滑动的操作时,手机C可以向手机A发送指示信息,该指示信息用于指示手机C希望进入全屏模式。
一个实施例中,当手机C靠近手机B时,手机B可以通过RSSI测距的方式确定手机C和手机B之间的距离小于或者等于预设距离,手机A、手机B和手机C可以进行AP组网,或者,手机A、手机B和手机C可以进行P2P组网。
一个实施例中,当手机C靠近手机B时,手机A和手机B可以分别通过RSSI测距的方式确定手机A和手机C之间的距离、手机B和手机C之间的距离。当手机A和手机C之间的距离小于或者等于第一预设距离,且手机B和手机C之间的距离小于或者等于第二预设距离时,手机A、手机B和手机C可以进行AP组网,或者,手机A、手机B和手机C可以进行P2P组网。
参见图3中的(d)所示的GUI,当手机A在接收到手机C发送的指示信息后,手机A可以对当前播放界面中的显示的画布尺寸扩大2倍。手机A可以对扩大2倍后的画布进行裁剪,从而获得大小相同的3个区域(区域304、区域305和区域306)。手机A可以通过显示屏显示区域304所示的画布,手机A可以将区域305所示的画布投屏到手机B上且将区域306所示的画布投屏到手机C,从而使得手机B通过显示屏显示区域305所示的画布,手机C通过显示屏显示区域306所示的画布。
一个实施例中,手机C的显示界面上还包括退出控件。当手机C检测到用户点击退出控件时,手机C可以向手机A发送指示信息,该指示信息用于指示手机A退出全屏模式。
一个实施例中,该退出控件可以是手机C绘制的。当手机A、手机B和手机C进入全屏模式后,手机C可以绘制退出控件并通过手机C的显示屏显示。此时,手机B和手机C上都可以包括退出控件。
本申请实施例中,通过近场无线连接方式,多设备可以拼接成更大的屏幕,无需增加额外的硬件设备,源(source)端设备可以动态修改显示画布的尺寸并通过裁剪后分布到各个目的(sink)端设备进行显示,有助于提升用户的体验。
以上结合图3示出了手机A将画布扩大后,按照多设备的数量将画布尺寸均匀等分后完整得呈现在各个设备上,这种方式也可以认为是分割方式。考虑到手机A和手机B或者手机B和手机C之间存在间距,手机A在将画布扩大后,将设备间的接缝视为一个遮罩元素,而画布被其遮挡了一部分,手机A也可以通过遮罩方式对扩大后的画布进行处理。下面结合图4所示的GUI介绍通过遮罩方式处理的过程。
参见图4中的(a)所示的GUI,手机A显示视频应用的播放界面,该播放界面上显示视频播放画面,此时手机B显示手机B的桌面。
当手机B靠近手机A后,手机A和手机B可以通过近场无线连接方式组网。当手机B检测到用户在桌面上向右滑动的操作后,手机B向手机A发送指示信息,该指示信息用于指示手机B希望进入全屏模式。
参见图4中的(b)所示的GUI。手机A在接收到手机B发送的指示信息后,手机A可以对当前播放界面中的显示的画布尺寸扩大1倍。手机A可以根据手机A和手机B之间的距离,对扩大1倍后的画布进行裁剪从而获得区域401、区域402和区域403所示的画布。手机A可以通过显示屏显示区域401所示的画布,并将区域403所示的画布投屏到手机B上,从而使得手机B通过显示屏显示区域403所示的画布。
其中区域402的像素值根据手机A和手机B之间的距离确定。一种可能的实现方式是,若手机A的屏幕物理尺寸为X(6cm),屏幕分辨率为M(1080)*N(2340)。假设区域402宽度的物理尺寸为Y(例如,0.5cm),那么需要裁剪的像素值Z=(Y/X)*M=90,即需要裁减掉90像素。本申请实施例中,区域402宽度的物理尺寸可以是手机A根据RSSI测量手机A和手机B之间的距离的方式计算得到;或者,区域402宽度的物理尺寸也可以是手机A和手机B完全贴合时,手机A和手机B的物理边框尺寸之和。
一个实施例中,若手机A和手机B之间距离大于预设距离(例如,3cm)时,手机A可以采用分割方式对扩大后的画布进行裁剪;若手机A和手机B之间的距离小于或者等于该预设距离,手机A可以采用遮罩方式对扩大后的画布进行裁剪。
参见图4中的(c)所示的GUI。当手机C靠近手机B后,手机A、手机B和手机C可以进行AP组网或者P2P组网。当手机C上检测到用户向右滑动的操作时,手机C可以向手机A发送指示信息,该指示信息用于指示手机C希望进入全屏模式。
一个实施例中,手机C还可以向手机A指示手机B与手机C之间的距离。
参见图4中的(d)所示的GUI,当手机A在接收到手机C发送的指示信息后,手机A可以对当前播放界面中的显示的画布尺寸扩大2倍。手机A可以根据手机A和手机B之间的距离以及手机B和手机C之间的距离,对扩大2倍后的画布进行裁剪。如图4中的(d),手机A可以将扩大2后的画布裁剪为区域404、区域405、区域406、区域407和区域408。其中,区域405和区域407的像素值可以通过手机A和手机B之间的距离以及手机B和手机C之间的距离确定,具体的确定过程可以参考上述实施例中的描述,为了简洁,在此不再赘述。手机A可以通过显示屏显示区域404所示的画布,并将区域406所示的画布投屏到手机B上以及将区域408所示的画布投屏到手机C上,从而使得手机B通过显示屏显示区域406所示的画布,手机C通过显示屏显示区域408所示的画布。
以上通过图3和图4分别介绍了通过分割方式和遮罩方式对画布进行裁剪的过程。下面结合图5介绍多设备间退出全屏模式的过程。图5示出了本申请实施例提供的另一组GUI。
参见图5中的(a)所示的GUI,手机A、手机B和手机C当前处于全屏模式,当手机C检测到用户点击退出控件时,显示如图5中的(b)所示的GUI。
参见图5中的(b)所示的GUI,响应于手机C检测到用户点击退出控件,手机C可以向手机A发送指示信息,该指示信息用于指示手机C退出全屏模式。手机A在接收到该指示信息后,可以从原来的对画布尺寸扩大2倍调整为对画布尺寸扩大1倍。手机A可以对扩大1倍后的画布进行裁剪,从而获得大小相同的两个区域(例如,图3中的(b)所示的区域布302和区域303)。手机A可以通过显示屏显示区域302所示的画布并将区域303所示的画布投屏到手机B上,从而使得手机B通过显示屏显示区域303的画布。手机C退出全屏模式,且显示手机C的桌面。当手机B检测到用户点击退出控件的操作时,可以显示如图5中的(c)所示的GUI。
参见图5中的(c)所示的GUI,响应于手机B检测到用户点击退出控件,手机B可以向手机A发送指示信息,该指示信息用于指示手机B退出全屏模式。手机A在接收到该指示信息后,可以从原来的对画布尺寸扩大1倍调整为对画布尺寸不进行扩大。从而手机A可以显示视频的播放界面,手机B退出全屏模式,且显示手机B的桌面。
还应理解,图5中的(a)所示的GUI中,手机A是通过分割方式对扩大2倍后的画布进行处理的,那么当手机A接收到手机C退出全屏模式的指示后,可以继续通过分割方式对扩大1倍后的画布进行处理。一个实施例中,若手机A是通过遮罩方式对扩大2倍后的画布进行处理的,那么当手机A接收到手机C退出全屏模式的指示后,可以继续通过遮罩方式对扩大1倍后的画布进行处理。
图6示出了本申请实施例的另一组GUI。
如图6中的(a)所示的GUI,手机A显示视频播放界面601,手机B显示手机B的桌面。该视频播放界面601包括正在播放的图像信息、控件602-控件610。其中,控件602、控件603和控件608属于图形类控件,控件604、控件605、控件606、控件607、控件609以及控件610属于文本类控件。当手机B检测到用户在屏幕的左侧向右侧滑动的操作时,手机B可以向手机A发送指示信息,该指示信息用于指示手机B希望进入全屏模式。
如图6中的(b)所示的GUI,手机A在接收到手机B发送的指示信息后,手机A可以对正在播放的图像信息的画布尺寸扩大1倍。手机A可以对扩大1倍后的画布进行裁剪,从而获得大小相同的两个区域(区域611和区域612)。同时,手机A可以对控件602-控件610进行重新排列。如图6中的(b)所示,手机A可以将控件604和控件605显示在区域611的左上方,将控件608显示在区域611的正下方,从而在手机A上显示对控件重新排列后的区域611对应的画布。手机A可以将控件602和控件603显示在区域612的右上方且将控件606-607以及控件609-610显示在区域612的正下方。手机A可以将对控件重新排列后的区域612对应的画布发送给手机B,从而使得手机B显示对控件重新排列后的区域612。
图6中的(b)和图3中的(b)相比,如果按照图3中的(b)所示的分割方式,控件608将被分割,一部分显示在手机A上,另一部分显示在手机B上,从而对用户的视觉效果造成影响。本申请实施例中,手机A和手机B在确定进行全屏显示时,手机A可以提取手机A的用户界面(user interface,UI)元素,并按照UI元素的接近性、相似性等进行归类。这样可以避免一些UI元素因为画布扩大而在手机A或者手机B上显示不完整,有助于提升用户的视觉效果,从而有助于提升用户的体验。
图7示出了本申请实施例的另一组GUI。
如图7中的(a)所示,手机A显示视频播放界面701,手机B显示手机B的桌面。该视频播放界面701上包括正在播放的图像信息、控件702-控件707。其中,控件702-控件703属于图形类控件、控件704属于播放进度显示控件、控件705-控件707属于文本类控件。当手机B检测到用户在屏幕的左侧向右侧滑动的操作时,手机B可以向手机A发送指示信息,该指示信息用于指示手机B希望进入全屏模式。
如图7中的(b)所示的GUI,手机A在接收到手机B发送的指示信息后,手机A可以对正在播放的图像信息的画布尺寸扩大1倍。手机A可以对扩大1倍后的画布进行裁剪,从而获得大小相同的两个区域(区域708和区域709)。同时,手机A可以对控件702-控件707进行重新排列。如图7中的(b)所示,手机A可以将控件702-控件704显示在区域708上,从而在手机A上显示对控件重新排列后的区域708对应的画布。手机A可以将控件705-控件707显示在区域709上。手机A可以将对控件重新排列后的区域709对应的画布发送给手机B,从而使得手机B显示对控件重新排列后的区域709。
一个实施例中,控件702-控件704在区域708中的位置可以与手机A和手机B未进入全屏模式之前,控件702-控件704在该视频播放界面701上的位置相同。
图7中的(b)所示的GUI与图3中的(b)所示的GUI相比,如果按照图3中的(b)所示的分割方式,控件702(用于显示播放进度的进度条)将被分割,一部分显示在手机A上,另一部分显示在手机B上,这样不仅会对用户的视觉效果造成影响,而且当用户需要将视频快进时,也会影响用户的操作。本申请实施例中,手机A和手机B在确定进行全屏显示时,手机A可以提取手机A的UI元素,并按照UI元素的接近性、相似性等进行归类。这样可以避免一些UI元素因为画布扩大而在手机A或者手机B上显示不完整,有助于提升用户的视觉效果,从而有助于提升用户的体验。
图8示出了本申请实施例的另一组GUI。
如图8中的(a)所示,手机A显示图片显示界面801,手机B显示手机B的桌面。该图片显示界面801上包括图片对应的图像信息、控件802以及图片的标题信息803(例如,“极限运动_山地自动车运动”)。当手机B检测到用户在屏幕的左侧向右侧滑动的操作时,手机B可以向手机A发送指示信息,该指示信息用于指示手机B希望进入全屏模式。
如图8中的(b)所示,手机A可以对该图片对应的图像信息的画布尺寸扩大1倍。手机A可以对扩大1倍后的画布进行裁剪,从而获得区域804、区域805和区域806,其中,区域805的尺寸可以由手机A根据手机A和手机B之间的距离确定,具体的确定方式可以参考上述实施例中的描述,此处不再赘述。同时,手机A可以对控件802和标题信息803进行重新排列。如图8中的(b),手机A可以将控件802以及标题信息803显示在区域804的左上方。
一个实施例中,控件802以及标题信息803在区域804中的位置可以与手机A和手机B未进入全屏模式之前,控件802以及标题信息803在该视频播放界面801上的位置相同。
图8中的(b)所示的GUI与图4中的(b)所示的GUI相比,如果按照图4中的(b)所示的分割方式,标题信息803将被扩大且按照遮罩方式分割后的一部分内容会显示在区域805(区域805将不会显示在手机A或者手机B上)中,这样会影响用户阅读标题内容。本申请实施例中,手机A和手机B在确定进行全屏显示时,手机A可以自动手机A的UI元素,并按照UI元素的接近性、相似性等进行归类。这样可以避免一些UI元素因为画布扩大而在手机A或者手机B上显示不完整,有助于提升用户的视觉效果,从而有助于提升用户的体验。
图9示出了本申请实施例的另一组GUI。
如图9中的(a)所示,当手机C靠近图6所示的手机A和手机B后,手机A、手机B和手机C可以进行AP组网或者P2P组网。当手机C上检测到用户向右滑动的操作时,手机C可以向手机A发送指示信息,该指示信息用于指示手机C希望进入全屏模式。
参见图9中的(b)所示的GUI,当手机A在接收到手机C发送的指示信息后,手机A可以对正在播放的图像信息的画布尺寸扩大2倍。手机A可以对扩大2倍后的画布进行裁剪,从而获得大小相同的3个区域(区域613、区域614和区域615)。同时,手机A可以对控件602-控件610进行重新排列。如图9中的(b)所示,手机A可以将控件604和控件605显示在区域613的左上方,将控件606和控件607显示在区域613的正下方,从而在手机A上显示对控件重新排列后的区域613对应的画布。手机A可以将控件608显示在区域614的正下方。手机A可以将对控件重新排列后的区域614对应的画布发送给手机B,从而使得手机B显示对控件重新排列后的区域614。手机A可以将控件602和控件603显示在区域615的右上方,将控件609和控件610显示在区域615的正下方,手机A可以将区域615对应的画布发送给手机C,从而使得手机C显示对控件重新排列后的区域615。
本申请实施例,对于不同数量的设备进行全屏显示时,源端(source端)设备可以在和客户端(sink端)设备通过全屏模式显示,自动识别界面中的UI元素,并对UI元素进行不同的排列,重新排列后的界面更符合用户在多屏操作时的需求,方便用户在全屏模式下的操作,有助于提升用户的体验。
以上结合图3至图9所示的GUI介绍了本申请实施例提供的几组GUI,下面将结合附图介绍本申请实施例中source端设备和sink端设备的交互过程。
图10示出了本申请实施例提供的source端设备和sink端设备的示意性结构图。其中,source端设备可以为图3中所示的手机A,sink端设备可以为图3中所示的手机B。
source端设备中包括应用程序(App)层、应用程序框架(Framework)层、本地(Native)层以及服务(Server)层。其中,App层可以包括多个应用程序;Framework层包括层级(layer)管理和输入(input)子系统,layer管理用于管理应用程序界面所对应的层级信息,input子系统用于处理用户输入事件或者反向输入事件。Native层包括layer合成模块以及layer裁剪模块,layer合成模块用于根据层级信息合成图像,layer裁剪模块用于根据层级信息对画布进行裁剪。Server层包括音视频流抓取模块、虚拟屏管理模块以及网络模块,音视频流抓取模用于抓取音频流或者视频流,虚拟屏管理模块用于管理虚拟屏(display)的创建和释放,网络模块用于传输音频流或者视频流到sink端设备以及接收sink端设备发送的反向输入事件。
应理解,图10中source端设备的本地层和服务层中的模块所实现的功能可以是依赖于图2中系统库和内核层的模块或者驱动硬件。示例性的,本地层中的层级合成模块和层级裁剪模块可以是依赖于图2系统库中的媒体库、三维图形处理库和图像处理库等,服务层的音视频流抓取模块和虚拟屏管理模块可以是依赖于图2内核层中的显示驱动、音频驱动以及系统库中的三维图形处理库和图像处理库等。
sink端设备包括应用程序(App)层、应用程序框架(Framework)层、本地(Native)层以及服务(Server)层。其中,Framework层包括声音系统、输入系统以及显示系统。声音系统用于音频解码后播放声音,显示系统用于视频解码后显示界面,输入系统用于接收用户的触控操作。Native层包括视频渲染模块、音视频解码模块以及反向输入事件抓取模块,音视频解码模块用于对从source端接收到的音频流或者视频流进行解码,视频渲染模块用于对解码后的视频流进行渲染并送显,反向输入事件抓取模块用于抓取用户反向输入事件。Server层包括网络模块,网络模块用于接收source端设备发送的音频流或者视频流以及向source端设备发送的反向输入事件。
应理解,图10中sink端设备的本地层中的模块所实现的功能可以是依赖与图2中系统库和内核层的模块或者驱动硬件。示例性的,视频渲染模块可以是依赖于图2系统库中的三维图形处理库、图像处理库以及内核层中的显示驱动。音视频解码模块可以是依赖于图2系统库中的三维图形处理库、图像处理库等。反向输入事件抓取模块可以是依赖于图2中硬件层的触摸屏(touch panel,TP)驱动等。
图11示出了source端设备和sink端设备通过全屏模式显示的方法1100的示意性流程图。该方法1100包括:
S1101,source端设备与sink端设备1建立无线连接。
示例性的,如图3中的(a)所示,当手机A检测到手机A和手机B之间的距离小于或者等于预设距离时,手机A和手机B可以通过近场无线连接方式组网,从而手机A和手机B建立无线连接。例如,手机A和手机B可以进行AP组网,或者,手机A和手机B可以进行P2P组网。
S1102,当sink端设备1检测到用户的第一操作后,sink端设备1向source端设备指示进入全屏模式。
示例性的,如图3中的(a)所示,手机A为source端设备,手机B为sink端设备1。当手机B检测到用户向右滑动的操作时,手机B可以向手机A发送指示信息,该指示信息用于指示手机B希望进入全屏模式。
本申请实施例中,当sink端设备1检测到用户向右滑动的操作或者sink端设备1检测到控件向右拖动与某个模式的图标部分重合或者完全重合时,sink端设备可以确定其左侧的设备为source端设备;当sink端设备1检测到用户向左滑动的操作或者sink端设备1检测到控件向左拖动与某个模式的图标部分重合或者完全重合时,sink端设备可以确定其右侧的设备为source端设备。
应理解,本申请实施例中,source端设备可以通过蓝牙、超宽带(ultra-wideband,UWB)、超声波等定位技术确定source端设备和sink端设备1之间的距离以及source端设备和sink端设备1之间的方位信息,具体的实现过程可以参考现有技术,为了简洁,在此不再赘述。
示例性的,source端设备具备蓝牙/Wi-Fi天线阵列(或者,source端设备具备到达角度(angle of arrival,AOA)计算能力),sink端设备1具备蓝牙/Wi-Fi天线阵列(或者,sink端设备1具备AOA计算能力)。source端设备可以对sink端设备1的方位进行计算,source端设备的蓝牙/Wi-Fi天线阵列可以接收sink端设备1的无线信号,根据公式(1)和(2)计算出sink端设备1的方位:
其中,d为source端设备的蓝牙/Wi-Fi天线阵列和sink端设备1的蓝牙/Wi-Fi天线之间的距离,为source端设备的蓝牙/Wi-Fi天线阵列和sink端设备1的蓝牙/Wi-Fi天线之间的相位差,λ为sink端设备1发送的蓝牙信号的波长,θ为到达角。应理解,本申请实施例中,source端设备对sink端设备1的方位进行计算,还可以理解为source端设备可以对source端设备的蓝牙/Wi-Fi天线阵列与sink端设备1的蓝牙/Wi-Fi天线连线的方位进行计算。
应理解,sink端设备1同样可以使用上述公式(1)和(2)计算出source端设备的方位。
一个实施例中,sink端设备1在检测到用户的第一操作时,sink端设备1可以向source端设备发送用户数据报协议(user datagram protocol,UDP)数据包,该UDP数据包中可以携带该指示信息,该指示信息用于指示sink端设备1希望进入全屏模式。UPD数据包中包括IP数据报的数据部分。IP数据报的数据部分可以包括可扩展的比特位。sink端设备1和source端设备可以约定某个可扩展比特位的内容。当某个可扩展的比特位为1时,source端设备就可以获知sink端设备1希望进入全屏模式。
一个实施例中,sink端设备1在检测到用户的第一操作时,sink端设备1可以向source端设备发送传输控制协议(transmission control protocol,TCP)报文,该TCP报文中可以携带该指示信息,该指示信息用于指示sink端设备1希望进入全屏模式。TCP报文中包括TCP首部和TCP数据部分,其中TCP首部包括保留字段。sink端设备1和source端设备可以约定某个保留字段的内容。当某个保留字段的比特位为1时,source端设备就可以获知sink端设备1希望进入全屏模式。
S1103,响应于接收到sink端设备1的指示,source端设备将当前界面上画布扩大一倍。
示例性的,source端设备原来显示的画布大小为1080x2340。当source端设备接收到sink端设备1的指示信息后,source端设备可以确定sink端设备1希望和source端设备组成双屏幕拼接,则source端设备扩大主设备显示画布大小为(1080x2)x 2340,即2160x2340。
应理解,本申请实施例中,source端设备接收到sink端设备1的指示信息后,如果source端设备和sink端设备1是横向分布(或者,左右分布)的,那么source端设备可以扩大主设备显示画布大小为2160x2340。若source端设备确定source端设备和sink端设备1为纵向分布(或者,上下分布)的,那么source端设备也可以扩大主设备显示画布大小为1080x(2340x2),即1080x4680。下面以source端设备和sink端设备1(以及sink端设备2)为横向分布为例进行说明。
S1104,source端设备将扩大一倍后的画布进行裁剪,裁剪后的一部分显示在source端设备上,另一部分放入source端设备创建的虚拟屏(display1)中。
本申请实施例中,source端设备对扩大后画布进行裁剪的方式可以包括但不限于分割方式和遮罩方式。
图12示出了source端设备通过分割方式进行裁剪并将裁剪后的画布显示在虚拟屏上的过程。每个display显示画面对应的layer信息由Android组件SurfaceFlinger管理。由于display中没有启动应用,所以display是没有layer信息的。SurfaceFlinger每次合成画面时,会依次合成每个display。例如,SurfaceFlinger合成虚拟屏0(display0)时,将layer裁剪,其中裁剪区域1为[0,0,1080,2340]。source端设备可以将裁剪区域1所示的画布放入display0中,这样source端设备可以显示display0;SurfaceFlinger合成display1时,从display0拷贝所有layer信息,再进行裁剪,其中裁剪区域2为[1080,0,2160,2340],并将裁剪后的区域2向左平移1080后放入display1。source端设备可以将display1投屏到sink端设备1上。
图13示出了source端设备通过遮罩方式进行裁剪并将裁剪后的画布显示在虚拟屏上的过程。Source端设备首先通过source端设备与sink端设备1之间的距离来确定需要裁剪的区域(例如,图4中的(b)所示的区域402)。应理解,source端设备确定需要裁剪的区域的像素值的过程可以参考上述实施例中的描述,为了简洁,在此不再赘述。假设source端确定的需要裁剪的像素值为x。
例如,SurfaceFlinger合成display0时,将layer裁剪,其中裁剪区域3为[0,0,1080,2340]。source端设备可以将裁剪区域3所示的画布放入display0中,这样source端设备可以显示display0;SurfaceFlinger合成display1时,从display0拷贝所有layer信息,再进行裁剪,其中裁剪区域4为[1080+x,0,2160,2340],并将裁剪后的区域向左平移1080+x后放入display1中。Source端设备可以将display1投屏到sink端设备1上。
一个实施例中,source端设备创建虚拟屏幕的方法可以为DisplayManager.createVirtualDisplay(String,int,int,int,Surface,int)。
S1105,source端设备将display1投屏到sink端设备1。
一个实施例中,若sink端设备1的屏幕分辨率为1080x2340,那么当sink端设备1接收到source端设备发送的裁剪区域4对应的画布信息后,可以将该画布居中显示且在屏幕两边各留尺寸为x/2的黑边。
一个实施例中,当sink端设备1接收到source端设备发送的裁剪区域4对应的画布信息后,也可以将该画布显示在屏幕左侧且在屏幕右侧留尺寸为x的黑边。
一个实施例中,当sink端设备1接收到source端设备发送的裁剪区域4对应的画布信息后,也可以将该画布显示在屏幕右侧且在屏幕左侧留尺寸为x的黑边。
一个实施例中,sink端设备1可以在指示source端设备希望加入全屏模式时,还可以向source端设备发送其屏幕分辨率的信息。source端设备在获知sink端设备1的屏幕分辨率以及source端设备与sink端设备1之间的距离后,可以先将画布尺寸扩大到2160x2340。source端设备可以根据需要裁剪的像素值(例如,x),对扩大后的画布进行横向拉伸并拉伸到(2160+x)x2340。这样,裁剪区域3可以为[0,0,1080,2340],而裁剪区域4的尺寸为[1080+x,0,2160+x,2340]。source端设备可以将裁剪后的区域4向左平移1080+x后放入display1中。source端设备可以将display1投屏到sink端设备1上。sink端设备1在显示时就无需在屏幕上留黑边。
应理解,source端设备将display1投屏到sink端设备1的过程可以参考现有的投屏技术,为了简洁,在此不再赘述。
S1106,source端设备与sink端设备2建立无线连接。
示例性的,如图3中的(a)所示,当手机C靠近手机B时,手机B可以通过RSSI测距的方式确定手机C和手机B之间的距离小于或者等于预设距离时,手机A、手机B和手机C可以通过近场无线连接方式组网,从而手机A、手机B和手机B建立无线连接。例如,手机A、手机B和手机C可以进行AP组网,或者,手机A、手机B和手机C可以进行P2P组网。
S1107,当sink端设备2检测到用户的第二操作后,sink端设备2向source端设备指示进入全屏模式。
示例性的,如图3中的(d)所示,手机A为source端设备,手机B为sink端设备1,手机C为sink端设备2。当手机C检测到用户向右滑动的操作时,手机C可以向手机A发送指示信息,该指示信息用于指示手机C希望进入全屏模式。
应理解,sink端设备2向source端设备发送指示信息(指示信息用于指示sink端设备2希望进入全屏模式)的过程可以参考上述S1102的描述,此处不再赘述。
本申请实施例中,当sink端设备2检测到用户向右滑动的操作或者sink端设备2检测到控件向右拖动与某个模式的图标部分重合或者完全重合时,sink端设备可以确定其左侧的设备为source端设备。若sink端设备2检测到其左侧包括多个设备,那么sink端设备2可以将其最左侧的设备作为source端设备。
当sink端设备2检测到用户向左滑动的操作或者sink端设备2检测到用户将控件向左拖动与某个模式的图标部分重合或者完全重合时,sink端设备2可以确定其右侧的设备为source端设备。若sink端设备2检测到其右侧包括多个设备,那么sink端设备2可以将其最右侧的设备作为source端设备。
一个实施例中,sink端设备2还可以向source端设备发送sink端设备1和sink端设备2之间的距离信息。
示例性的,sink端设备2可以向source端设备发送UDP数据包,该UDP数据包中可以携带sink端设备1和sink端设备2之间的距离信息。UPD数据包中包括IP数据报的数据部分。IP数据报的数据部分可以包括可扩展的比特位。sink端设备2和source端设备可以约定某个可扩展比特位的内容。例如,当某个可扩展的比特位为000时,source端设备就可以获知sink端设备1和sink端设备2之间的距离为1厘米;当某个可扩展的比特位为001时,source端设备就可以获知sink端设备1和sink端设备2之间的距离为2厘米;当某个可扩展的比特位为011时,source端设备就可以获知sink端设备1和sink端设备2之间的距离为3厘米。
S1108,响应于接收到sink端设备2的指示,source端设备将当前界面上画布扩大两倍。
示例性的,source端设备原来显示的画布大小为1080x2340。当source端设备接收到sink端设备2的指示信息后,source端设备可以确定sink端设备1、sink端设备2希望和source端设备组成三个屏幕拼接,则source端设备扩大主设备显示画布大小为(1080x3)x2340,即3240x2340。
S1109,source端设备将扩大两倍后的画布进行裁剪,裁剪后的第一部分显示在source端设备上,第二部分放入source端设备创建的虚拟屏(display1)中,第三部分放入source端设备创建的另一虚拟屏(display2)中。
对于分割方式,如图14所示,SurfaceFlinger合成display0时,将layer裁剪,其中裁剪区域1为[0,0,1080,2340],source端设备可以将裁剪区域1所示的画布放入display0,这样source端设备可以显示display0中的画布。SurfaceFlinger合成display1时,从display0拷贝所有layer信息,再进行裁剪,其中裁剪区域2为[1080,0,2160,2340]。source端设备可以将裁剪区域2向左平移1080后放入display1。source端设备可以将display1中的画布投屏到sink端设备1上。
SurfaceFlinger合成display2时,从display0拷贝所有layer信息,再进行裁剪,其中裁剪区域3为[2160,0,3240,2340]。source端设备可以将裁剪区域3向左平移2160后放入display2。source端设备可以将display2中的画布投屏到sink端设备2上。
对于遮罩方式,如图15所示,source端设备首先通过source端设备与sink端设备1之间的距离以及sink端设备1和sink端设备2之间的距离来确定需要裁剪的2个区域(例如,图4中的(d)所示的区域405和区域407)。应理解,source端设备确定需要裁剪的区域的像素值的过程可以参考上述实施例中的描述,为了简洁,在此不再赘述。假设source端确定的需要裁剪的像素值为x和y。
SurfaceFlinger合成display0时,将layer裁剪,其中裁剪区域4为[0,0,1080,2340],source端设备可以将裁剪区域4所示的画布放入display0,这样source端设备可以显示display0中的画布。
SurfaceFlinger合成display1时,从display0拷贝所有layer信息,再进行裁剪,其中裁剪区域5为[1080+x,0,2160+x,2340]。source端设备可以将裁剪区域5向左平移1080+x后放入display1。source端设备可以将display1中的画布投屏到sink端设备1上。
SurfaceFlinger合成display2时,从display0拷贝所有layer信息,再进行裁剪,其中裁剪区域6为[2160+x+y,0,3240,2340]。source端设备可以将裁剪区域6向左平移2160+x+y后放入display2。source端设备可以将display2中的画布投屏到sink端设备2上。
应理解,图15仅仅是遮罩方式中对扩大后的画布进行裁剪的一种方式,本申请实施例中并不限于此。示例性的,裁剪区域5还可以为[1080+x,0,2160,2340]。source端设备可以将裁剪区域5向左平移1080+x后放入display1。source端设备可以将display1中的画布投屏到sink端设备1上。
裁剪区域6还可以为[2160+y,0,3240,2340]。source端设备可以将裁剪区域6向左平移2160+y后放入display2。source端设备可以将display2中的画布投屏到sink端设备2上。
S1110,source端设备将display1投屏到sink端设备1,将display2投屏到sink端设备2。
应理解,source端设备将display1投屏到sink端设备1,以及将display2投屏到sink端设备2的过程,可以参考上述S1105的过程,此处不再赘述。
应理解,source端设备将display1投屏到sink端设备1,将display2投屏到sink端设备2的过程可以参考现有的投屏技术,为了简洁,在此不再赘述。
S1111,sink端设备2检测到用户将sink端设备2退出全屏模式的操作。
示例性的,如图5中的(a)所示,该操作可以为手机C检测到用户点击退出控件的操作。
S1112,响应于检测到该操作,sink端设备2向source端设备发送指示信息,该指示信息用于指示sink端设备2退出全屏模式。
一个实施例中,如图5中的(a)所示,该退出控件可以是source端设备绘制并添加在扩大后的画布上的,sink端设备2在检测到该操作时,可以获取用户的触控事件以及对应的坐标点。sink端设备2可以将该触控事件以及转化后的坐标点发送给source端设备。
例如,若source端设备、sink端设备1和sink端设备2是通过分割方式进行全屏显示,那么当sink端设备2检测到用户在屏幕(100,100)位置进行了点击操作,则sink端设备确定事件为触控事件,坐标点转化为(100+2160,100),即(2260,100)。从而sink端设备2可以将触控事件以及转化后的坐标点发送给source端设备。source端设备在接收到该触控事件以及转化后的坐标点后,可以确定用户在sink端设备2上点击了退出控件,从而进行S1113。
一个实施例中,若source端设备、sink端设备1和sink端设备2是通过遮罩方式进行全屏显示,source端设备确定的裁剪区域6为[2160+x+y,0,3240,2340]。那么sink端设备2检测到用户在屏幕(100,100)位置进行了点击操作,则sink端设备确定事件为触控事件,坐标点转化为(100+2160+x+y,100),即(2260+x+y,100)。
示例性的,sink端设备2在检测到该操作时,可以向source端设备发送UDP数据包,该UDP数据包中可以携带该转化后的坐标点的信息,该指示信息用于指示sink端设备2退出全屏模式。UPD数据包中包括IP数据报的数据部分。IP数据报的数据部分可以包括可扩展的比特位。sink端设备2和source端设备可以约定某个可扩展比特位的内容。例如,当某个可扩展比特位为1时,表示该触控事件为点击事件。又例如,sink端设备2可以使用GBK、ISO8859-1或者Unicode(例如,UTF-8、UTF-16)等编码方式对转化后的坐标点信息进行编码。source端设备可以通过可扩展比特位上的信息获知sink端设备2检测到的该触控事件以及转化后的坐标点的信息。从而source端设备可以确定sink端设备2检测到用户将sink端设备2退出全屏模式的操作。
一个实施例中,如图5中的(a)所示,该退出控件也可以是sink端设备2绘制的,当sink端设备2检测到用户点击退出控件时,sink端设备2可以向source端设备发送指示信息,该指示信息用于指示sink端设备2退出全屏模式。
示例性的,sink端设备2在检测到该操作时,可以向source端设备发送UDP数据包,该UDP数据包中可以携带该指示信息,该指示信息用于指示sink端设备2退出全屏模式。UPD数据包中包括IP数据报的数据部分。IP数据报的数据部分可以包括可扩展的比特位。sink端设备2和source端设备可以约定某个可扩展比特位的内容。当某个可扩展的比特位为1时,source端设备就可以获知sink端设备2退出全屏模式。
S1113,响应于接收到该指示信息,source端设备调整画布尺寸,和sink端设备1重新进行拼接。
应理解,source端设备在接收到该指示信息后,可以进行上述S1003-S1005的操作,为了简洁,在此不再赘述。
S1114,sink端设备1检测到用户将sink端设备1退出全屏模式的操作。
示例性的,如图5中的(b)所示,该操作可以为手机B检测到用户点击退出控件的操作。
S1115,响应于检测到该操作,sink端设备1向source端设备发送指示信息,该指示信息用于指示sink端设备1退出全屏模式。
一个实施例中,如图5中的(a)所示,该退出控件可以是source端设备绘制并添加在扩大后的画布上的,sink端设备1在检测到该操作时,可以获取用户的触控事件以及对应的坐标点。sink端设备1可以将该触控事件以及转化后的坐标点发送给source端。Source端设备可以根据该触控事件以及转化后的坐标点确定sink端设备1检测到用户点击了退出控件。
例如,若source端设备、sink端设备1和sink端设备2是通过分割方式进行全屏显示,那么当sink端设备1检测到用户在屏幕(100,100)位置进行了点击操作,则sink端设备确定触控事件为用户的点击事件,坐标点转化为(100+1080,100),即(1180,100)。从而sink端设备1可以将触控事件以及转化后的坐标点发送给source端设备。source端设备在接收到该触控事件以及转化后的坐标点后,可以确定用户在sink端设备1上点击了退出控件,从而进行S1116。
一个实施例中,若source端设备、sink端设备1和sink端设备2是通过遮罩方式进行全屏显示,source端设备确定的裁剪区域5为[1080+x,0,2160+x,2340]。那么sink端设备2检测到用户在屏幕(100,100)位置进行了点击操作,则sink端设备确定事件为触控事件,坐标点转化为(100+1080+x,100),即(1180+x,100)。
应理解,sink端设备1向source端设备发送指示信息的过程可以参考上述S1012的描述,此处不再赘述。
S1116,响应于接收到该指示信息,source端设备不对画布进行扩大,恢复source端设备单设备显示。
本申请实施例中,多设备之间可以通过无线组网,通过预设手势触发多设备的屏幕进行拼接,从而在多设备上实现全屏模式,有助于提升用户的体验。
以上结合图10-图15介绍了图3-图5所示的GUI的实现过程。图6-图9所示的GUI的部分实现过程也可以参考上述图10-图15。下面结合附图介绍本申请实施例中source端设备自动识别UI元素并进行重新排列的过程。
图16示出了本申请实施例提供的另一系统架构图,如图16所示,该系统架构图中包括source端设备和sink端设备,其中以source端设备为Android系统为例,source端设备可以支持多个屏幕,例如,主屏、副屏和虚拟屏。其中,主屏可以是上述图12-图15中的display0;虚拟屏可以为上述图12-图15所示的display1或者dispaly2。虚拟屏可以提供给开发者自动以属性,包括屏幕像素、像素密度等。所以通过Android标准接口,可以创建虚拟屏,且自定义其分辨率和像素密度。
一个实施例中,source端设备和sink端设备进行组网后,sink端设备可以将sink端设备的参数信息通过蓝牙(或者Wi-Fi、或者其他通信方式)同步给source端设备,该参数信息可以包括sink端设备的尺寸、分辨率、像素密度、设备类型等。source端设备可以根据参数信息创建虚拟屏,该虚拟屏可以与sink端设备的大小、分辨率以及像素密度一致。
当source端设备检测到用户启动某个App时,source端设备可以在主屏上显示该App的显示界面。Source端设备在主屏上显示该App的显示界面时,可以通过Overlay APK获取预置的Overlay配置文件,其中Overlay配置文件可以如图17所示。
如图17所示,Overlay配置文件可以按照多级目录进行管理,例如,第一级为应用程序的包名(packageName),应用程序的包名可以为应用程序的唯一标识;第二级为应用程序的版本号(versionCode);第三级为屏幕属性,包括分辨率以及像素密度;第四级为Overlay配置文件,其中,Overlay配置文件中定义了定位控件与修改控件的规则。示例性的,图18示出了一种Overlay配置文件的结构。
如图18所示,Overlay配置文件可以包括多条规则(Rule),每条规则都包含定位控件与修改控件。定位控件(Fix)可以根据控件的属性来定位控件,该控件属性包括但不限于控件的标识(ID)、控件类型(例如,图形类控件或者文本类控件)、控件索引(index)或者文本信息等。
修改控件(Exe)可以用于对定位到的控件,通过修改其属性来改变其显示的样式、可修改属性包括但不限于大小、位置、背景色、字体大小以及边距等。
本申请实施例中,source端设备和sink端设备在通过全屏模式显示时可以通过Fix和Exe来定位并修改控件。
本申请实施例中,source端设备还可以从云端获取应用程序的Overlay配置文件(Overlay配置文件可从云端推送更新),source端设备无需修改原App的代码,就可以对界面元素重新排列的效果。
图19示出了本申请实施例中提供的多设备拼接显示方法1900的示意性流程图,如图19所示,该方法1900包括:
S1901,source端设备与sink端设备1建立无线连接。
应理解,S1901可以参考上述S1101的过程,此处不再赘述。
一个实施例中,当source端设备与sink端设备1建立无线连接后,sink端设备1可以向source端设备发送其参数信息,该参数信息包括sink端设备1的尺寸、分辨率、像素密度。
S1902,当sink端设备1检测到用户的第一操作后,sink端设备1向source端设备指示进入全屏模式。
应理解,S1902可以参考上述S1102的过程,此处不再赘述。
S1903,响应于接收到该指示,source端设备将当前界面上画布扩大一倍。
应理解,S1903可以参考上述S1103的描述,此处不再赘述。
S1904,source端设备提取扩大一倍后的画布上显示的一个或者多个界面元素。
一个实施例中,source端设备在接收到sink端设备1的指示之前可以显示某个应用程序的显示界面。当source端设备接收到sink端设备1的指示后,source端设备可以先将该应用程序的显示界面扩大一倍画布。在扩大一倍画布后,source端设备通过Overlay APK获取预置的Overlay配置文件,并将其中的规则加载到App中,从而实现对当前App的显示界面上的控件的提取。source端设备可以提取该应用程序的显示界面上的一个或者多个界面元素,该一个或者多个界面元素包括但不限于顶部标题信息、底部页签以及文字类、图形类控件。
示例性的,如图20所示,手机A可以在对如图6中的(a)所示的显示界面扩大一倍画布,手机A可以通过Overlay配置文件中的定位控件(Fix)在扩大一倍后的画布上提取控件602-控件610。此时的控件602-控件610相比于扩大一倍画布之前,其尺寸可进行了扩大。source端设备通过Overlay配置文件中的修改控件(Exe)将控件602-控件610修改为和扩大一倍画布之前一样的大小。
S1905,source端设备对该一个或者多个界面元素进行排列,并将排列后的界面元素分别放入扩大一倍后的画布中。
一个实施例中,source端设备可以根据通过全屏模式显示的设备的数量以及提取的界面元素的数量对提取的一个或者多个界面元素进行重新排列。
示例性的,结合图12所示的分割方式,当通过全屏模式显示的设备的数量为双数(例如,2个)且提取的界面元素的数量为5个时,source端设备可以将5个界面元素中的3个放入裁剪区域1对应的画布中,且将剩余的2个界面元素放入裁剪区域2对应的画布中;或者,source端设备可以将5个界面元素中的2个放入裁剪区域1对应的画布中,且将剩余的3个界面元素放入裁剪区域2对应的画布中。
应理解,source端设备在对画布裁剪之前可以确定采用分割方式或者遮罩方式对扩大一倍的画布进行裁剪。如图12所示,若source端确定采用分割方式对扩大一倍的画布进行裁剪,则source端设备可以将5个界面元素中的3个放入裁剪区域1对应的画布中(也就是需要放入虚拟屏0的画布)且将剩余2个界面元素放入裁剪区域2对应的画布中(也就是需要放入虚拟屏1的画布)。
如图13所示,若source端设备采用遮罩方式对扩大一倍的画布进行裁剪,那么source端设备可以将5个界面元素中的3个放入裁剪区域3对应的画布上(也就是需要放入虚拟屏0的画布)且将剩余2个界面元素放入裁剪区域4对应的画布上(也就是需要放入虚拟屏1的画布);source端设备可以在需要裁剪的区域中不放入任何一个界面元素。
图20示出了手机A提取并对重新排列界面元素的过程的示意图。如图20所示,扩大一倍后的画布的上半区域包括控件602-控件605这4个控件且下半区域包括了控件606-控件610这5个控件。在将扩大的控件602-控件610修改回之前一样的大小后,手机A可以对上半区域的这4个控件以及下半区域的这5个控件进行重新排列。示例性的,对于上半区域,手机A可以将控件604和控件605放入裁剪区域1对应的画布中,并将控件602和控件603放入裁剪区域2对应的画布中。示例性的,对于下半区域,手机A可以将控件608放入裁剪区域1对应的画布中并将控件606-607以及控件609-610放入裁剪区域2对应的画布中。
示例性的,当通过全屏模式显示的设备的数量为双数(例如,2个)且提取的界面元素的数量为4个时,source端设备可以将4个界面元素中的2个放入裁剪区域1对应的画布中,且将剩余的2个界面元素放入裁剪区域2对应的画布中。
示例性的,当通过全屏模式显示的设备的数量为双数(例如,2个)且提取的界面元素的数量为3个时,source端设备可以将3个界面元素中的2个放入裁剪区域1对应的画布中,且将剩余的1个界面元素放入裁剪区域2对应的画布中;或者,source端设备可以将3个界面元素中的1个放入裁剪区域1对应的画布中,且将剩余的2个界面元素放入裁剪区域2对应的画布中。
一个实施例中,source端设备还可以根据一个或者多个界面元素在扩大一倍画布前的界面上的位置信息来确定其显示在裁剪区域1或者裁剪区域2中的位置。
示例性的,如图7中的(a)所示,控件705、控件706和控件707的坐标信息分别为(700,2000)、(800,2000)和(900,2000)。以手机A和手机B的像素值均为1080*2340为例,当手机A扩大一倍画布后,手机A可以在扩大一倍后的画布上,将控件705、控件706和控件707显示在坐标信息为(1400,2000)、(1600,2000)以及(1800,2000)的位置上。从而手机B在显示虚拟屏1的画布时,其显示的控件705-控件707的位置与图7中的(a)所示的控件705-控件707在手机A上显示的位置相对应。
一个实施例中,source端设备还可以将根据界面元素的类型对一个或者多个控件进行排列。
示例性的,以界面元素为控件为例,控件可以分为图形类控件和文本类控件,source端设备可以将一个或者多个界面元素中的图形类控件放入裁剪区域1对应的画布中且将文本类控件放入裁剪区域2对应的画布中;或者source端设备可以将一个或者多个界面元素中的图形类控件放入裁剪区域2对应的画布中且将文本类控件放入裁剪区域1对应的画布中。
示例性的,如图20所示,手机A可以将上半区域中图形类控件602-控件603放入裁剪区域2对应的画布中且将文本类控件604-605放入裁剪区域1对应的画布中。示例性的,手机A可以将下半区域中图形类控件608放入裁剪区域1对应的画布中且将文本类控件606-607以及控件609-610放入裁剪区域2对应的画布中。
示例性的,以界面元素为标题为例,若该标题扩大一倍后的尺寸超过source端设备的横向尺寸或者sink端设备的横向尺寸,那么source端设备可以将提取出来的标题修改为和扩大一倍前的大小后放入裁剪区域1对应的画布中或者放入裁剪区域2对应的画布中。该标题在裁剪区域1中位置可以与该标题在source端设备上原始的显示位置相对应。
S1906,source端设备对扩大一倍后的画布进行裁剪,将裁剪后的一部分放入虚拟屏0中;source端设备对扩大一倍后的画布进行镜像,并对镜像的画布进行裁剪,将裁剪后的一部分放入虚拟屏1中。
应理解,S1905可以参考上述S1104的过程,此处不再赘述。
还应理解,本申请实施例中,source端设备对扩大一倍后的画布进行镜像可以理解为source端设备的SurfaceFlinger合成display1时从display0拷贝所有layer信息。
S1907,source端设备可以显示虚拟屏0中的画布。
S1908,source端设备将虚拟屏1中的画布发送给sink端设备1,从而使得sink端设备显示虚拟屏1中的画布。
应理解,S1906-S1908可以参考上述S1103-S1105的过程,此处不再赘述。
S1909,source端设备与sink端设备2建立无线连接。
应理解,S1909可以参考上述S1106的过程,此处不再赘述。
S1910,当sink端设备2检测到用户的第二操作后,sink端设备2向source端设备指示进入全屏模式。
应理解,S1909可以参考上述S1107的过程,此处不再赘述。
S1911,source端设备将当前界面上画布扩大2倍。
应理解,S1911可以参考上述S1108的过程,此处不再赘述。
S1912,source端设备提取扩大2倍后的画布上显示的一个或者多个界面元素。
应理解,S1912可以参考上述S1904的过程,此处不再赘述。
S1913,source端设备对该一个或者多个界面元素进行重新排列,并将排列后的界面元素分别放入扩大2倍后的画布中。
示例性的,结合图14所示的分割方式,source端设备对该一个或者多个界面元素进行重新排列,并将排列后的界面元素分别放入裁剪区域1对应的画布、裁剪区域2对应的画布以及裁剪区域3对应的画布中。
示例性的,当通过全屏模式显示的设备的数量为单数(例如,3个)且提取的界面元素的数量为5个时,source端设备可以将其中的2个放入裁剪区域1对应的画布中,且将其中的另2个界面元素放入裁剪区域2对应的画布中,且将剩余的1个界面元素放入裁剪区域3对应的画布中。
示例性的,当通过全屏模式显示的设备的数量为单数(例如,3个)且提取的界面元素的数量为4个时,source端设备可以将其中的2个放入裁剪区域1对应的画布中,且将其中的另2个界面元素放入裁剪区域2对应的画布中,且将剩余的1个界面元素放入裁剪区域3对应的画布中。
示例性的,当通过全屏模式显示的设备的数量为单数(例如,3个)且提取的界面元素的数量为3个时,source端设备可以将其中的1个放入裁剪区域1对应的画布中,且将其中的另1个界面元素放入裁剪区域2对应的画布中,且将剩余的1个界面元素放入裁剪区域3对应的画布中。
应理解,source端设备对界面元素重新排列的过程还可以参考上述S1905的过程,此处不再赘述。
一个实施例中,source端设备也可以采用遮罩方式对画布进行分割。结合图15所示的示意图,source端设备可以对该一个或者多个界面元素进行重新排列,并将排列后的界面元素分别放入裁剪区域4对应的画布、裁剪区域5对应的画布以及裁剪区域6对应的画布中;source端设备可以在需要裁掉的区域1和需要裁掉的区域2中不放入任何一个界面元素。
S1914,source端设备对扩大两倍后的画布进行裁剪,第一部分放入虚拟屏0中;source端设备对扩大两倍后的画布进行镜像,并对镜像的画布进行裁剪,将裁剪后的第二部分放入虚拟屏1中;source端设备对扩大两倍后的画布进行镜像,并对镜像的画布进行裁剪,将裁剪后的第三部分放入虚拟屏2中。
一个实施例中,source端设备可以采用分割方式对画布进行分割。结合图14所示的示意图,若通过全屏模式进行拼接显示的设备的数量为3个,那么source端设备可以创建虚拟屏0、虚拟屏1和虚拟屏2。source端设备可以对扩大2倍后的画布进行分割,并将分割后的得到的裁剪区域1中的画布放入虚拟屏0中。source端设备对扩大2倍后的画布进行镜像,并对镜像的画布进行裁剪,将裁剪后得到的裁剪区域2中的画布向左平移1080后放入虚拟屏1中。source端设备对扩大2倍后的画布进行镜像,并对镜像的画布进行裁剪,将裁剪后得到的裁剪区域3中的画布向左平移2160后放入虚拟屏2中。
一个实施例中,source端设备也可以采用遮罩方式对画布进行分割。结合图15所示的示意图,source端设备可以对扩大2倍后的画布进行分割,并将分割后的得到的裁剪区域4中的画布放入虚拟屏0中。source端设备对扩大2倍后的画布进行镜像,并对镜像的画布进行裁剪,将裁剪后得到的裁剪区域5中的画布向左平移1080+x后放入虚拟屏1中。source端设备对扩大2倍后的画布进行镜像,并对镜像的画布进行裁剪,将裁剪后得到的裁剪区域6中的画布向左平移2160+x+y后放入虚拟屏2中。
应理解,source端设备将分割后的画布分别显示在虚拟屏0、虚拟屏1和虚拟屏2上的过程可以参考上述实施例中的描述,此处不再赘述。在source端设备完成对界面元素的重新排列后,source端设备可以显示虚拟屏0中的画布,并将虚拟屏1中的画布发送给sink端设备1,从而使得sink端设备1显示虚拟屏1中的画布。source端设备还将虚拟屏2中的画布发送给sink端设备2,从而使得sink端设备2显示虚拟屏2中的画布。
S1915,source端设备可以显示虚拟屏0中的画布。
S1916,source端设备将虚拟屏1中的画布发送给sink端设备1,从而使得sink端设备显示虚拟屏1中的画布。
S1917,source端设备将虚拟屏2中的画布发送给sink端设备2,从而使得sink端设备显示虚拟屏2中的画布。
应理解,S1914-S1917可以参考上述S1108-S1110的过程,此处不再赘述。
图21示出了本申请实施例中提供的多设备拼接显示方法2100的示意性流程图。该方法2100可以由第一电子设备和第二电子设备执行,该第一电子设备可以为上述source端设备,该第二电子设备可以为上述sink端设备,第一电子设备通过近距离无线连接与第二电子设备通信。如图21所示,该方法2100包括:
S2101,第一电子设备显示第一界面,该第一界面上包括一个或者多个界面元素,该一个或者多个界面元素包括第一界面元素,在该第一界面上该第一界面元素相对于第一参考点位于第一位置。
示例性的,如图6中的(a)所示,手机A显示视频播放界面,该视频播放界面可以包括控件602-610,第一界面元素可以为控件602-610中的任意一个控件。
示例性的,如图7中的(a)所示,手机A显示视频播放界面,该视频播放界面可以包括控件702-707,第一界面元素可以为控件702-707中的任意一个控件。
示例性的,如图8中的(a)所示,手机A显示图片显示界面801,该显示界面上包括控件802和控件803,该第一界面元素可以为控件803。
本申请实施例中,第一参考点可以位于第一界面上,也可以不位于第一界面上。图22示出本申请实施例提供的第一界面元素位置变化的示意图。如图22中的(a)所示,以第一界面元素为控件608,且第一参考点位于第一界面上为例,可以选取和第一界面元素位于同一水平方向上且位于第一界面边界上的点A为第一参考点。那么第一界面元素相对于第一参考点,其位于第一参考点的左侧且距离第一参考点的距离为a。
S2102,第一电子设备响应于接收到第一指示,根据第一方式对第一界面对应的图像信息进行扩大,得到扩大后的第一图像信息。
一个实施例中,该第一方式可以为横向或者纵向拉伸的方式。若第一电子设备和第二电子设备为横向排列,则第一电子设备可以采用横向拉伸的方式对第一界面对应的图像信息进行扩大;若第一电子设备和第二电子设备为纵向排列,则第一电子设备可以采用纵向拉伸的方式对第一界面对应的图像信息进行扩大。
一个实施例中,第一电子设备接收到第一指示可以是第一电子设备检测到用户的操作。例如,若第一电子设备接收到用户在屏幕上的滑动操作时,触发第一电子设备对第一界面对应的图像信息进行扩大。如图6中的(a)所示,若手机A检测到用户在屏幕上从左侧向右侧滑动的操作时,可以触发第一电子设备对视频播放界面对应的图像信息进行扩大。
一个实施例中,第一电子设备接收到第一指示可以是第一电子设备可以是在接收到第二电子设备发送的指示信息,该指示信息用于指示第一电子设备和第二电子设备进行拼接显示。例如,如图6中的(a)所示,若手机B检测到用户在屏幕上从左侧至右侧滑动的操作时,手机B可以向手机A发送第一指示信息。
示例性的,如图20所示,若第一界面元素为控件606,那么在对视频播放界面扩大一倍画布后,控件606位于扩大一倍画布上的第一位置。
S2103,第一电子设备将第一界面元素在第一图像信息上进行排列并对第一图像信息进行分割,得到第一部分图像信息和第二部分图像信息,在由该第一部分图像信息和该第二部分图像信息组成的图像信息上该第一界面元素相对于该第一参考点位于第二位置,该第一位置在按照该第一方式扩大后的图像信息上的位置与该第二位置不同。
一个实施例中,第一电子设备可以是先对第一界面元素在第一图像信息上进行排列,后对第一界面元素重新排列后的图像信息进行分割;或者,第一电子设备也可以是先对第一图像信息进行分割,后对第一界面元素进行排列。
如图22中的(c)所示,在由该第一部分图像信息和该第二部分图像信息组成的图像信息上,第一界面元素相对于第一参考点位于第二位置,第一界面元素位于第一参考点的左侧且距离第一参考点的距离为a。
而如果按照第一方式对第一界面对应的图像信息进行扩大,如图22中的(b)所示,第一位置在按照第一方式扩大后的图像信息上的位置为第三位置,第一界面元素位于第一参考点的左侧且距离第一参考点的距离为2a。通过图22中的(b)和(c)可以看出,第三位置和第二位置不同。
应理解,以上通过第一界面元素相对于第一参考点的相对位置来阐述了第一电子设备对第一界面元素排列的过程,下面结合图20通过第一界面元素的绝对位置的变化来阐述第一电子设备对第一界面元素排列的过程。
如图20所示,第一电子设备可以在扩大一倍后的画布上对界面元素进行重新排列,在进行分割后第一部分图像信息就是左半区域显示的图像信息,第二部分图像信息就是右半部分显示的图像信息。可以看出,控件606在对界面元素重新排列后的画布上的绝对位置是位于右半区域的,而控件606在扩大一倍画布上的绝对位置是位于左半区域和右半区域的。
又例如,对于控件602,在扩大一倍画布上控件602的绝对位置是位于左半区域,而在对界面元素重新排列后的画布上,控件602的绝对位置是在右半区域。
一个实施例中,若第一界面元素为视频播放进度条,那么第一电子设备可以将该视频播放进度条显示在第一部分图像信息上,或者,显示在第二部分图像信息上。
例如,如图7中的(a)所示,若手机A对视频播放界面扩大一倍画布,那么播放控件702会出现在扩大一倍画布的左半区域和右半区域上;如图7中的(b)所示当手机A对控件702进行重新排列后,控件702会出现在区域708而不会出现在区域709上。
应理解,若第一界面元素的尺寸小于预设尺寸,那么进行绝对位置比较时,可以是对第一图像信息上以及由第一部分图像信息和第二部分图像信息组成的图像上相同尺寸的第一界面元素进行比较。例如,如图20所示的控件608,在手机A对视频播放界面扩大一倍后的画布后,控件608的尺寸在沿水平方向上也被扩大了且控件608的绝对位置出现在了左半区域和右半区域上。手机A在对被扩大的控件608进行重新排列后,被扩大的控件608的绝对位置位于左半区域。此时可以认为被扩大的控件608在界面元素重新排列的画布上的绝对位置与扩大一倍后的画布上的绝对位置是不同的。一个实施例中,手机A还可以在对控件608进行重新排列后,将控件608修改回之前一样的大小。
若第一界面元素的尺寸大于预设尺寸,那么进行绝对位置比较时,可以是对第一图像信息上扩大后的第一界面元素以及由第一部分图像信息和第二部分图像信息组成的图像上未被扩大的第一界面元素进行比较。例如,如图7中的(b)所示的视频播放进度条702,在手机A对视频播放界面扩大一倍后的画布后,视频播放进度条702的尺寸在沿水平方向上也被扩大了且视频播放进度条702的绝对位置在左半区域和右半区域上。手机A首先将扩大的视频播放进度条修改回和之前一样的大小并对视频播放进度条702进行重新排列后,视频播放进度条702的绝对位置位于左半区域。虽然在扩大一倍画布上和重新排列后的画布上,视频播放进度条702的尺寸不同,但是可以明显看出视频播放进度条702的位置是发生了改变的(由横跨左半区域和右半区域改变为只出现在左半区域上)。
S2104,第一电子设备根据第一电子设备和第二电子设备的方位信息,显示第一部分图像信息且向第二电子设备发送第二部分图像信息。
S2105,第二电子设备响应于接收到该第二部分图像信息,显示该第二部分图像信息。
应理解,S2104-S2105的过程可以参考上述实施例中的描述,此处不再赘述。
一个实施例中,该第一电子设备在对该第一界面对应的图像信息进行扩大之前,接收该第二电子设备发送的第一信息,该第一信息用于指示该第二电子设备的显示屏的尺寸;该第一电子设备根据进行拼接显示的电子设备的数量、该第一电子设备的显示屏的尺寸以及该第二电子设备的显示屏的尺寸,对该第一界面对应的图像信息进行扩大。
示例性的,若只有第一电子设备和第二电子设备进行拼接显示,那么第一电子设备可以确定对第一界面对应的图像信息扩大1倍尺寸。若第一电子设备在第一方向的尺寸为A,在第二方向上的尺寸为B且第二电子设备在第一方向的尺寸为A,在第二方向上的尺寸为B。当第一电子设备第二电子设备沿第一方向分布(或者排列)时,第一电子设备可以将第一界面对应的图像信息在第一方向的尺寸扩大为2A,且保持第一界面对应的图像信息在第二方向的尺寸不变。
应理解,该第一电子设备在第一方向上的尺寸可以为该第一电子设备的显示屏在第一方向上的尺寸,也可以为该第一界面在该第一方向上的尺寸;该第一电子设备在第二方向上的尺寸可以为该第一电子设备的显示屏在第二方向上的尺寸,该第一界面在该第二方向上的尺寸。
还应理解,该第一方向和第二方向可以为垂直的关系。若第一方向为水平方向,那么第二方向可以为垂直方向;若第一方向为垂直方向,那么第二方向可以为水平方向。
一个实施例中,若第一电子设备在第一方向的尺寸为A,在第二方向上的尺寸为B且第二电子设备在第一方向的尺寸为C,在第二方向上的尺寸为D,其中A大于C且B大于D。那么可以将第一界面对应的图像信息在第一方向的尺寸扩大为2A,且保持第一界面对应的图像信息在第二方向的尺寸不变。第一电子设备可以对扩大后的画布进行分割(例如,通过分割方式分割为2块大小相同的区域),第一电子设备可以对需要发送给第二电子设备的区域进行等比缩小。例如,若A/B小于C/D,那么第一电子设备可以将需要发送给第二电子设备的区域缩小为第一方向的尺寸为A*D/B,且第二方向上的尺寸为D。从而第一电子设备可以将缩小后的区域发送给第二电子设备,以使得第二电子设备显示缩小后的区域中的画布。又例如,若A/B大于C/D,那么第一电子设备可以将需要发送给第二电子设备的区域缩小为第一方向的尺寸为C,且第二方向上的尺寸为B*C/A。从而第一电子设备可以将缩小后的区域发送给第二电子设备,以使得第二电子设备显示缩小后的区域中的画布。
一个实施例中,该第一电子设备的显示屏在第一方向的尺寸为第一尺寸且该第一电子设备在第二方向上的尺寸为第二尺寸,该第二电子设备的显示屏在第一方向的尺寸为第三尺寸,该第一方向和该第二方向垂直,当该第一电子设备和该第二电子设备沿该第一方向进行拼接显示时,该第一电子设备将该第一界面对应的图像信息在第一方向的尺寸扩大为第四尺寸且保持该第一界面对应的图像信息在该第二方向上的尺寸不变,该第四尺寸为该第一尺寸和该第三尺寸的和。
一个实施例中,该第一电子设备在进行界面元素排列和图像分割后还得到第三部分图像信息,该第三部分图像信息位于该第一部分图像信息和该第二部分图像信息之间,该第三部分图像信息由该第一电子设备根据该第一电子设备和该第二电子设备之间的距离确定。
示例性的,该第三部分图像信息可以为如图13中需要裁剪的区域。
一个实施例中,该第三部分图像信息中不包括一个或者多个界面元素中的任意一个界面元素。
一个实施例中,若第一界面元素位于第一界面沿第一方向的对称轴上,将第一界面元素显示在第一部分图像信息或者第二部分图像信息上。
例如,如图20所示,控件608位于第一界面沿水平方向的对称轴上,在手机A对视频播放界面扩大一倍画布后,控件608还是位于沿水平方向扩大一倍画布后的对称轴上。手机A可以对控件608进行重新排列。手机A在对控件608进行重新排列后,控件608可以位于左半区域上(或者,控件608也可以位于右半区域上)。从图20可以看出,没有任何一个界面元素位于对界面元素进行重新排列后的画布的对称轴上。
一个实施例中,若第一界面元素为文本类界面元素(例如,标题),那么在该文本类界面元素沿第一方向扩大一倍后的尺寸大于该第一尺寸,第一电子设备可以将该文本类界面元素显示在第一图像信息上;或者,若文本类界面元素沿第一方向扩大一倍后的尺寸大于第一尺寸且沿第一方向的尺寸小于第三尺寸,则将该文本类界面元素显示在第二图像信息上。
例如,如图8中的(a)所示,若手机A对图片显示界面801扩大一倍画布,那么标题803会出现在扩大一倍画布的左半区域和右半区域上(或者,会出现在如图8中的(b)所示的区域804、区域805和区域806上);如图8中的(b)所示,当手机A对标题803进行重新排列后,标题803会出现在区域804而不会出现在区域805和区域806上。
图23示出了本申请实施例提供的装置2300的示意性框图。该装置2300可以设置于上述图21中的第一电子设备中,该装置2300中包括:显示单元2310,用于显示第一界面,该第一界面上包括一个或者多个界面元素,该一个或者多个界面元素包括第一界面元素,在该第一界面上该第一界面元素相对于第一参考点位于第一位置;接收单元2320,用于接收到第一指示;图像处理单元2330,用于根据第一方式对该第一界面对应的图像信息进行扩大,得到第一图像信息;图像处理单元2330,还用于将该第一界面元素在该第一图像信息上进行排列并对该第一图像信息进行分割,得到第一部分图像信息以及第二部分图像信息,在由该第一部分图像信息和该第二部分图像信息组成的图像信息上该第一界面元素相对于该第一参考点位于第二位置,该第一位置在按照该第一方式扩大后的图像信息上的位置与该第二位置不同;显示单元2310,还用于根据该第一电子设备和该第二电子设备的方位信息,显示该第一部分图像信息;发送单元2340,还用于根据该第一电子设备和该第二电子设备的方位信息,向该第二电子设备发送该第二部分图像信息。
图24示出了本申请实施例提供的电子设备2400的示意性结构图。如图24所示,该电子设备包括:一个或多个处理器2410,一个或多个存储器2420,该一个或多个存储器存储2420存储有一个或多个计算机程序,该一个或多个计算机程序包括指令。当该指令被所述一个或多个处理器2410运行时,使得第一电子设备或者第二电子设备执行上述实施例中的技术方案。
本申请实施例提供了一种系统,包括第一电子设备和第二电子设备,该系统用于执行上述实施例中的技术方案。其实现原理和技术效果与上述方法相关实施例类似,此处不再赘述。
本申请实施例提供一种计算机程序产品,当所述计算机程序产品在第一电子设备(或者,source端设备)运行时,使得第一电子设备执行上述实施例中的技术方案。其实现原理和技术效果与上述方法相关实施例类似,此处不再赘述。
本申请实施例提供一种可读存储介质,所述可读存储介质包含指令,当所述指令在第一电子设备(或者,source端设备)运行时,使得所述第一电子设备执行上述实施例的技术方案。其实现原理和技术效果类似,此处不再赘述。
本申请实施例提供一种芯片,所述芯片用于执行指令,当所述芯片运行时,执行上述实施例中的技术方案。其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (18)
1.一种系统,其特征在于,所述系统包括第一电子设备和第二电子设备,所述第一电子设备通过近距离无线连接与所述第二电子设备通信,
所述第一电子设备,用于显示第一界面,所述第一界面上包括一个或者多个界面元素,所述一个或者多个界面元素包括第一界面元素,在所述第一界面上所述第一界面元素相对于第一参考点位于第一位置;
所述第一电子设备,还用于响应于接收到第一指示,根据第一方式对所述第一界面对应的图像信息进行扩大,得到第一图像信息;
所述第一电子设备,还用于将所述第一界面元素在所述第一图像信息上进行排列并对所述第一图像信息进行分割,得到第一部分图像信息以及第二部分图像信息,在由所述第一部分图像信息和所述第二部分图像信息组成的图像信息上所述第一界面元素相对于所述第一参考点位于第二位置,所述第一位置在按照所述第一方式扩大后的图像信息上的位置与所述第二位置不同;
所述第一电子设备,还用于根据所述第一电子设备和所述第二电子设备的方位信息,显示所述第一部分图像信息且向所述第二电子设备发送所述第二部分图像信息;
所述第二电子设备,还用于响应于接收到所述第二部分图像信息,显示所述第二部分图像信息。
2.根据权利要求1所述的系统,其特征在于,所述第一电子设备的显示屏在第一方向的尺寸为第一尺寸且所述第一电子设备在第二方向上的尺寸为第二尺寸,所述第二电子设备的显示屏在所述第一方向的尺寸为第三尺寸,所述第一方向和所述第二方向垂直,所述第一电子设备具体用于:
当所述第一电子设备和所述第二电子设备沿所述第一方向进行拼接显示时,所述第一电子设备将所述第一界面对应的图像信息在第一方向的尺寸扩大为第四尺寸且保持所述第一界面对应的图像信息在所述第二方向上的尺寸不变,所述第四尺寸为所述第一尺寸和所述第三尺寸的和。
3.根据权利要求2所述的系统,其特征在于,所述第一电子设备具体用于:若所述第一界面元素位于所述第一界面沿所述第一方向的对称轴上,将所述第一界面元素显示在所述第一部分图像信息或者所述第二部分图像信息上。
4.根据权利要求2所述的系统,其特征在于,所述第一界面元素为文本类界面元素,
所述第一电子设备具体用于:若所述文本类界面元素沿所述第一方向扩大一倍后的尺寸大于所述第一尺寸,将所述文本类界面元素显示在所述第一部分图像信息上;或者,
若所述文本类界面元素沿所述第一方向扩大一倍后的尺寸大于所述第一尺寸且所述文本类界面元素沿第一方向的尺寸小于所述第三尺寸,将所述文本类界面元素显示在所述第二部分图像信息上。
5.根据权利要求1或2所述的系统,其特征在于,所述一个或者多个界面元素包括图形类界面元素和文本类界面元素,其中,
所述第一部分图像信息包括所述图形类界面元素,所述第二部分图像信息包括所述文本类界面元素;或者,
所述第一部分图像信息包括所述文本类界面元素,所述第二部分图像信息包括所述图形类界面元素。
6.根据权利要求1或2所述的系统,其特征在于,所述第一界面为视频播放界面,所述第一界面元素为视频播放进度条;
所述第一电子设备具体用于:将所述视频播放进度条显示在所述第一部分图像信息或者所述第二部分图像信息上。
7.根据权利要求1至6中任一项所述的系统,其特征在于,所述对所述第一界面元素排列并对所述第一图像信息分割后还得到第三部分图像信息,所述第三部分图像信息位于所述第一部分图像信息和所述第二部分图像信息之间,所述第三部分图像信息由所述第一电子设备根据所述第一电子设备和所述第二电子设备之间的距离确定;
其中,在由所述第一部分图像信息、所述第二部分图像信息和所述第三部分图像信息组成的图像信息上所述第一界面元素相对于所述第一参考点位于所述第二位置。
8.根据权利要求7所述的系统,其特征在于,所述第三部分图像信息中不包括所述第一界面元素。
9.一种拼接显示的方法,其特征在于,所述方法应用于第一电子设备,所述第一电子设备通过近距离无线连接与第二电子设备通信,所述方法包括:
显示第一界面,所述第一界面上包括一个或者多个界面元素,所述一个或者多个界面元素包括第一界面元素,在所述第一界面上所述第一界面元素相对于第一参考点位于第一位置;
响应于接收到第一指示,根据第一方式对所述第一界面对应的图像信息进行扩大,得到第一图像信息;
将所述第一界面元素在所述第一图像信息上进行排列并对所述第一图像信息进行分割,得到第一部分图像信息以及第二部分图像信息,在由所述第一部分图像信息和所述第二部分图像信息组成的图像信息上所述第一界面元素相对于所述第一参考点位于第二位置,所述第一位置在按照所述第一方式扩大后的图像信息上的位置与所述第二位置不同;
根据所述第一电子设备和所述第二电子设备的方位信息,显示所述第一部分图像信息且向所述第二电子设备发送所述第二部分图像信息。
10.根据权利要求9所述的方法,其特征在于,所述第一电子设备的显示屏在第一方向的尺寸为第一尺寸且所述第一电子设备在第二方向上的尺寸为第二尺寸,所述第二电子设备的显示屏在所述第一方向的尺寸为第三尺寸,所述第一方向和所述第二方向垂直,所述根据第一方式对所述第一界面对应的图像信息进行扩大,包括:
当所述第一电子设备和所述第二电子设备沿所述第一方向进行拼接显示时,所述第一电子设备将所述第一界面对应的图像信息在第一方向的尺寸扩大为第四尺寸且保持所述第一界面对应的图像信息在所述第二方向上的尺寸不变,所述第四尺寸为所述第一尺寸和所述第三尺寸的和。
11.根据权利要求10所述的方法,其特征在于,所述将所述第一界面元素在所述第一图像信息上进行排列并对所述第一图像信息进行分割,得到第一部分图像信息以及第二部分图像信息,包括:
若所述第一界面元素位于所述第一界面沿所述第一方向的对称轴上,将所述第一界面元素显示在所述第一部分图像信息或者所述第二部分图像信息上。
12.根据权利要求10所述的方法,其特征在于,所述第一界面元素为文本类界面元素,所述将所述第一界面元素在所述第一图像信息上进行排列并对所述第一图像信息进行分割,得到第一部分图像信息以及第二部分图像信息,包括:
若所述文本类界面元素沿所述第一方向扩大一倍后的尺寸大于所述第一尺寸,将所述文本类界面元素显示在所述第一部分图像信息上;或者,
若所述文本类界面元素沿所述第一方向扩大一倍后的尺寸大于所述第一尺寸且所述文本类界面元素沿第一方向的尺寸小于所述第三尺寸,将所述文本类界面元素显示在所述第二部分图像信息上。
13.根据权利要求9或10所述的方法,其特征在于,所述一个或者多个界面元素包括图形类界面元素和文本类界面元素,其中,
所述第一部分图像信息包括所述图形类界面元素,所述第二部分图像信息包括所述文本类界面元素;或者,
所述第一部分图像信息包括所述文本类界面元素,所述第二部分图像信息包括所述图形类界面元素。
14.根据权利要求9或10所述的方法,其特征在于,所述第一界面为视频播放界面,所述第一界面元素为视频播放进度条,所述将所述第一界面元素在所述第一图像信息上进行排列并对所述第一图像信息进行分割,得到第一部分图像信息以及第二部分图像信息,包括:
将所述视频播放进度条显示在所述第一部分图像信息或者所述第二部分图像信息上。
15.根据权利要求9至14中任一项所述的方法,其特征在于,所述对所述第一界面元素排列并对所述第一图像信息分割后还得到第三部分图像信息,所述第三部分图像信息位于所述第一部分图像信息和所述第二部分图像信息之间,所述第三部分图像信息由所述第一电子设备根据所述第一电子设备和所述第二电子设备之间的距离确定;
其中,在由所述第一部分图像信息、所述第二部分图像信息和所述第三部分图像信息组成的图像信息上所述第一界面元素相对于所述第一参考点位于所述第二位置。
16.根据权利要求15所述的方法,其特征在于,所述第三部分图像信息中不包括所述第一界面元素。
17.一种电子设备,其特征在于,包括:
一个或多个处理器;
一个或多个存储器;
所述一个或多个存储器存储有一个或者多个计算机程序,所述一个或者多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行如权利要求9至16中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求9至16中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110341483.1A CN115145511A (zh) | 2021-03-30 | 2021-03-30 | 一种拼接显示的方法、电子设备和系统 |
PCT/CN2022/083736 WO2022206766A1 (zh) | 2021-03-30 | 2022-03-29 | 一种拼接显示的方法、电子设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110341483.1A CN115145511A (zh) | 2021-03-30 | 2021-03-30 | 一种拼接显示的方法、电子设备和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115145511A true CN115145511A (zh) | 2022-10-04 |
Family
ID=83403814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110341483.1A Pending CN115145511A (zh) | 2021-03-30 | 2021-03-30 | 一种拼接显示的方法、电子设备和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115145511A (zh) |
WO (1) | WO2022206766A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468326B (zh) * | 2016-01-08 | 2020-03-31 | 京东方科技集团股份有限公司 | 一种显示装置及其信息通道的调整方法和装置 |
CN106897043B (zh) * | 2017-02-28 | 2021-01-15 | 广州偕作信息科技有限公司 | 应用于拼接屏的数据超高分显示系统及显示方法 |
US11093197B2 (en) * | 2017-07-31 | 2021-08-17 | Stmicroelectronics, Inc. | System and method to increase display area utilizing a plurality of discrete displays |
CN107633792B (zh) * | 2017-08-31 | 2023-07-21 | 北京集创北方科技股份有限公司 | 一种显示设备和显示控制方法 |
-
2021
- 2021-03-30 CN CN202110341483.1A patent/CN115145511A/zh active Pending
-
2022
- 2022-03-29 WO PCT/CN2022/083736 patent/WO2022206766A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022206766A1 (zh) | 2022-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114397979B (zh) | 一种应用显示方法及电子设备 | |
CN110401766B (zh) | 一种拍摄方法及终端 | |
CN112217923B (zh) | 一种柔性屏幕的显示方法及终端 | |
CN110231905B (zh) | 一种截屏方法及电子设备 | |
CN111669459B (zh) | 键盘显示方法、电子设备和计算机可读存储介质 | |
CN112527221A (zh) | 一种数据传输的方法及相关设备 | |
CN114461111B (zh) | 启动功能的方法及电子设备 | |
CN113961157A (zh) | 显示交互系统、显示方法及设备 | |
CN112068907A (zh) | 一种界面显示方法和电子设备 | |
CN115705315A (zh) | 管理文件的方法、电子设备和计算机可读存储介质 | |
CN114840280A (zh) | 一种显示方法及电子设备 | |
CN113448658A (zh) | 截屏处理的方法、图形用户接口及终端 | |
WO2022206764A1 (zh) | 一种显示方法、电子设备和系统 | |
US20240143262A1 (en) | Splicing Display Method, Electronic Device, and System | |
WO2022206766A1 (zh) | 一种拼接显示的方法、电子设备和系统 | |
CN115291779A (zh) | 一种窗口控制方法及其设备 | |
CN114003319A (zh) | 一种灭屏显示的方法和电子设备 | |
WO2022179364A1 (zh) | 一种拼接显示的方法、电子设备和系统 | |
WO2022179327A1 (zh) | 一种内容存储的方法、电子设备和系统 | |
WO2022206769A1 (zh) | 一种拼接内容的方法、电子设备和系统 | |
WO2022179371A1 (zh) | 一种拼接显示的方法、电子设备和系统 | |
WO2022206763A1 (zh) | 一种显示方法、电子设备和系统 | |
CN115145665A (zh) | 一种显示方法、电子设备和系统 | |
CN115037872A (zh) | 视频处理方法和相关装置 | |
CN117666819A (zh) | 鼠标操作方法、电子设备、鼠标和计算机可读存储介质 |
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 |