CN116114253A - 电子装置和由电子装置执行的用于在外部装置显示器上提供应用屏幕的方法 - Google Patents

电子装置和由电子装置执行的用于在外部装置显示器上提供应用屏幕的方法 Download PDF

Info

Publication number
CN116114253A
CN116114253A CN202180057655.0A CN202180057655A CN116114253A CN 116114253 A CN116114253 A CN 116114253A CN 202180057655 A CN202180057655 A CN 202180057655A CN 116114253 A CN116114253 A CN 116114253A
Authority
CN
China
Prior art keywords
task
electronic device
virtual display
display
application
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
Application number
CN202180057655.0A
Other languages
English (en)
Inventor
李京烈
权昭恩
金永贤
金柱荣
金学珠
朴祥镐
徐云龙
李贵颢
左虎东
崔娥凛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN116114253A publication Critical patent/CN116114253A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43637Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4437Implementing a Virtual Machine [VM]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/16Use of wireless transmission of display information
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/22Detection of presence or absence of input display information or of connection or disconnection of a corresponding information source

Landscapes

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

Abstract

根据各种实施例的一种电子装置包括:显示器;通信接口;存储器;以及操作地连接到显示器、通信接口和存储器的处理器,其中处理器配置为:通过通信接口确定与外部装置的连接;从外部装置接收运行第一任务的请求;响应于运行第一任务的请求,基于存储在存储器中的应用运行第一任务;生成包括第一任务的运行屏幕的第一虚拟屏幕;将第一虚拟屏幕发送到外部装置;在运行第一任务的同时,从外部装置接收运行第二任务的请求;响应于运行第二任务的请求,基于存储在存储器中的应用运行第二任务;生成包括第二任务的运行屏幕的第二虚拟屏幕;以及将第二虚拟屏幕发送到外部装置。

Description

电子装置和由电子装置执行的用于在外部装置显示器上提供应用屏幕的方法
技术领域
本文件涉及电子装置,并且例如涉及电子装置能够通过运行应用在外部装置的显示器上提供应用屏幕的方法。
背景技术
随着无线通信技术和处理器技术的发展,以智能电话为代表的便携式电子装置(在下文中称为电子装置)除了呼叫功能之外还配备有各种功能。例如,电子装置可以通过运行各种应用经由电子装置的显示器提供应用屏幕。
为了便于用户携带,电子装置可以具有相对小尺寸的显示器。因此,电子装置可以具有将电子装置中运行的应用屏幕发送到具有较大显示器的外部装置的镜像功能,从而在外部装置的显示器上提供应用屏幕。除了简单地将应用的运行屏幕发送到外部装置的显示器之外,在个人计算机(PC)环境中提供用于电子装置的应用的用户界面,并且也正在开发用于在PC环境中通过用户输入来控制操作(诸如电子装置的应用运行)的服务。
发明内容
技术问题
传统的屏幕共享服务可以允许在外部装置的显示器上原样显示正在电子装置上显示的屏幕,或者可以在由外部装置提供的一个窗口上提供电子装置的应用屏幕。
本文件的各种实施例将在外部装置的显示器上同时提供在电子装置中运行的多个任务或应用屏幕。
问题的解决方案
根据各种实施例的一种电子装置可以包括显示器、通信接口、存储器以及操作地连接到显示器、通信接口和存储器的处理器,其中处理器配置为:经由通信接口确定与外部装置的连接;从外部装置接收运行第一任务的请求;响应于运行第一任务的请求基于存储在存储器中的应用运行第一任务,生成包括第一任务的运行屏幕的第一虚拟显示器,并将第一虚拟显示器发送到外部装置;在第一任务的运行期间,从外部装置接收运行第二任务的请求;以及响应于运行第二任务的请求基于存储在存储器中的应用运行第二任务,生成包括第二任务的运行屏幕的第二虚拟显示器,并将第二虚拟显示器发送到外部装置。
根据各种实施例的一种由电子装置在外部装置的显示器上提供屏幕的方法可以包括:确定与外部装置的连接的操作;从外部装置接收运行第一任务的请求的操作;响应于运行第一任务的请求基于存储在存储器中的应用运行第一任务、生成包括第一任务的运行屏幕的第一虚拟显示器、并将第一虚拟显示器发送到外部装置的操作;在第一任务的运行期间从外部装置接收运行第二任务的请求的操作;以及响应于运行第二任务的请求基于存储在存储器中的应用运行第二任务、生成包括第二任务的运行屏幕的第二虚拟显示器、并将第二虚拟显示器发送到外部装置的操作。
根据各种实施例的一种电子装置可以包括显示器、通信接口以及操作地连接到显示器和通信接口的处理器,其中处理器配置为:经由通信接口确定与外部装置的连接;响应于运行可在外部装置中运行的第一任务的第一用户输入,向外部装置发送运行第一任务的请求;从外部装置接收包括第一任务的运行屏幕的第一虚拟显示器;响应于运行可在外部装置中运行的第二任务的第二用户输入,向外部装置发送运行第二任务的请求;从外部装置接收包括第二任务的运行屏幕的第二虚拟显示器;以及在显示器上的不同窗口上显示第一虚拟显示器和第二虚拟显示器。
发明的有益效果
根据本文件的各种实施例,在电子装置中运行的多个任务或应用屏幕可以同时提供在外部装置的显示器上。
为了在外部装置上提供多个任务或应用屏幕,本文件的各种实施例可以提供用于生成和控制屏幕、管理运行的应用、处理用户输入和/或管理电子装置的资源的方法。
此外,可以提供经由该文件直接或间接识别的各种技术效果。
附图说明
图1是根据各种实施例的网络环境中的电子装置的框图;
图2示出了根据各种实施例的第一电子装置和第二电子装置的示例;
图3a和图3b示出了根据各种实施例的用于在屏幕共享期间生成虚拟显示器的第一电子装置和第二电子装置的元件;
图4是根据各种实施例的第一电子装置的框图;
图5是根据各种实施例的第二电子装置的框图;
图6是根据各种实施例的用于提供屏幕共享服务的第一电子装置的框图;
图7是根据各种实施例的用于提供屏幕共享服务的第二电子装置的框图;
图8示出了根据各种实施例的在第一电子装置和第二电子装置中配置的容器的示例;
图9是根据各种实施例的由第一电子装置和第二电子装置提供屏幕共享服务的方法的流程图;
图10是根据各种实施例的用于由第一电子装置和第二电子装置处理事件和用户输入的方法的流程图;
图11是根据各种实施例的当应用被终止时由第一电子装置和第二电子装置执行的方法的流程图;
图12a和图12b示出了根据各种实施例的第二电子装置的显示器上提供的屏幕;
图13是根据各种实施例的当在屏幕共享服务期间运行新任务时由第一电子装置处理运行屏幕的方法的流程图;
图14a和图14b示出了根据各种实施例的当执行新任务时由第一电子装置和第二电子装置提供的屏幕;
图15是根据各种实施例的用于由第一电子装置在新的虚拟显示器上处理任务的方法的流程图;以及
图16是根据各种实施例的当运行启动后立即终止的任务时由第一电子装置处理该任务的方法的流程图。
具体实施方式
图1是示出根据各种实施例的网络环境100中的电子装置101的框图。参照图1,网络环境100中的电子装置101可经由第一网络198(例如,短距离无线通信网络)与电子装置102进行通信,或者经由第二网络199(例如,长距离无线通信网络)与电子装置104或服务器108中的至少一个进行通信。根据实施例,电子装置101可经由服务器108与电子装置104进行通信。根据实施例,电子装置101可包括处理器120、存储器130、输入模块150、声音输出模块155、显示模块160、音频模块170、传感器模块176、接口177、连接端178、触觉模块179、相机模块180、电力管理模块188、电池189、通信模块190、用户识别模块(SIM)196或天线模块197。在一些实施例中,可从电子装置101中省略上述部件中的至少一个(例如,连接端178),或者可将一个或更多个其它部件添加到电子装置101中。在一些实施例中,可将上述部件中的一些部件(例如,传感器模块176、相机模块180或天线模块197)实现为单个集成部件(例如,显示模块160)。
处理器120可运行例如软件(例如,程序140)来控制电子装置101的与处理器120连接的至少一个其它部件(例如,硬件部件或软件部件),并可执行各种数据处理或计算。根据一个实施例,作为所述数据处理或计算的至少部分,处理器120可将从另一部件(例如,传感器模块176或通信模块190)接收到的命令或数据存储到易失性存储器132中,对存储在易失性存储器132中的命令或数据进行处理,并将结果数据存储在非易失性存储器134中。根据实施例,处理器120可包括主处理器121(例如,中央处理器(CPU)或应用处理器(AP))或者与主处理器121在操作上独立的或者相结合的辅助处理器123(例如,图形处理单元(GPU)、神经处理单元(NPU)、图像信号处理器(ISP)、传感器中枢处理器或通信处理器(CP))。例如,当电子装置101包括主处理器121和辅助处理器123时,辅助处理器123可被适配为比主处理器121耗电更少,或者被适配为专用于特定的功能。可将辅助处理器123实现为与主处理器121分离,或者实现为主处理器121的部分。
在主处理器121处于未激活(例如,睡眠)状态时,辅助处理器123(而非主处理器121)可控制与电子装置101的部件之中的至少一个部件(例如,显示模块160、传感器模块176或通信模块190)相关的功能或状态中的至少一些,或者在主处理器121处于激活状态(例如,运行应用)时,辅助处理器123可与主处理器121一起来控制与电子装置101的部件之中的至少一个部件(例如,显示模块160、传感器模块176或通信模块190)相关的功能或状态中的至少一些。根据实施例,可将辅助处理器123(例如,图像信号处理器或通信处理器)实现为在功能上与辅助处理器123相关的另一部件(例如,相机模块180或通信模块190)的部分。根据实施例,辅助处理器123(例如,神经处理单元)可包括专用于人工智能模型处理的硬件结构。可通过机器学习来生成人工智能模型。例如,可通过人工智能被执行之处的电子装置101或经由单独的服务器(例如,服务器108)来执行这样的学习。学习算法可包括但不限于例如监督学习、无监督学习、半监督学习或强化学习。人工智能模型可包括多个人工神经网络层。人工神经网络可以是深度神经网络(DNN)、卷积神经网络(CNN)、循环神经网络(RNN)、受限玻尔兹曼机(RBM)、深度置信网络(DBN)、双向循环深度神经网络(BRDNN)或深度Q网络或其两个或更多个的组合,但不限于此。另外地或可选地,人工智能模型可包括除了硬件结构以外的软件结构。
存储器130可存储由电子装置101的至少一个部件(例如,处理器120或传感器模块176)使用的各种数据。所述各种数据可包括例如软件(例如,程序140)以及针对与其相关的命令的输入数据或输出数据。存储器130可包括易失性存储器132或非易失性存储器134。
可将程序140作为软件存储在存储器130中,并且程序140可包括例如操作系统(OS)142、中间件144或应用146。
输入模块150可从电子装置101的外部(例如,用户)接收将由电子装置101的其它部件(例如,处理器120)使用的命令或数据。输入模块150可包括例如麦克风、鼠标、键盘、键(例如,按钮)或数字笔(例如,手写笔)。
声音输出模块155可将声音信号输出到电子装置101的外部。声音输出模块155可包括例如扬声器或接收器。扬声器可用于诸如播放多媒体或播放唱片的通用目的。接收器可用于接收呼入呼叫。根据实施例,可将接收器实现为与扬声器分离,或实现为扬声器的部分。
显示模块160可向电子装置101的外部(例如,用户)视觉地提供信息。显示装置160可包括例如显示器、全息装置或投影仪以及用于控制显示器、全息装置和投影仪中的相应一个的控制电路。根据实施例,显示模块160可包括被适配为检测触摸的触摸传感器或被适配为测量由触摸引起的力的强度的压力传感器。
音频模块170可将声音转换为电信号,反之亦可。根据实施例,音频模块170可经由输入模块150获得声音,或者经由声音输出模块155或与电子装置101直接(例如,有线地)连接或无线连接的外部电子装置(例如,电子装置102)的耳机输出声音。
传感器模块176可检测电子装置101的操作状态(例如,功率或温度)或电子装置101外部的环境状态(例如,用户的状态),然后产生与检测到的状态相应的电信号或数据值。根据实施例,传感器模块176可包括例如手势传感器、陀螺仪传感器、大气压力传感器、磁性传感器、加速度传感器、握持传感器、接近传感器、颜色传感器、红外(IR)传感器、生物特征传感器、温度传感器、湿度传感器或照度传感器。
接口177可支持将用来使电子装置101与外部电子装置(例如,电子装置102)直接(例如,有线地)或无线连接的一个或更多个特定协议。根据实施例,接口177可包括例如高清晰度多媒体接口(HDMI)、通用串行总线(USB)接口、安全数字(SD)卡接口或音频接口。
连接端178可包括连接器,其中,电子装置101可经由所述连接器与外部电子装置(例如,电子装置102)物理连接。根据实施例,连接端178可包括例如HDMI连接器、USB连接器、SD卡连接器或音频连接器(例如,耳机连接器)。
触觉模块179可将电信号转换为可被用户经由他的触觉或动觉识别的机械刺激(例如,振动或运动)或电刺激。根据实施例,触觉模块179可包括例如电机、压电元件或电刺激器。
相机模块180可捕获静止图像或运动图像。根据实施例,相机模块180可包括一个或更多个透镜、图像传感器、图像信号处理器或闪光灯。
电力管理模块188可管理对电子装置101的供电。根据实施例,可将电力管理模块188实现为例如电力管理集成电路(PMIC)的至少部分。
电池189可对电子装置101的至少一个部件供电。根据实施例,电池189可包括例如不可再充电的原电池、可再充电的蓄电池、或燃料电池。
通信模块190可支持在电子装置101与外部电子装置(例如,电子装置102、电子装置104或服务器108)之间建立直接(例如,有线)通信信道或无线通信信道,并经由建立的通信信道执行通信。通信模块190可包括能够与处理器120(例如,应用处理器(AP))独立操作的一个或更多个通信处理器,并支持直接(例如,有线)通信或无线通信。根据实施例,通信模块190可包括无线通信模块192(例如,蜂窝通信模块、短距离无线通信模块或全球导航卫星系统(GNSS)通信模块)或有线通信模块194(例如,局域网(LAN)通信模块或电力线通信(PLC)模块)。这些通信模块中的相应一个可经由第一网络198(例如,短距离通信网络,诸如蓝牙、无线保真(Wi-Fi)直连或红外数据协会(IrDA))或第二网络199(例如,长距离通信网络,诸如传统蜂窝网络、5G网络、下一代通信网络、互联网或计算机网络(例如,LAN或广域网(WAN)))与外部电子装置进行通信。可将这些各种类型的通信模块实现为单个部件(例如,单个芯片),或可将这些各种类型的通信模块实现为彼此分离的多个部件(例如,多个芯片)。无线通信模块192可使用存储在用户识别模块196中的用户信息(例如,国际移动用户识别码(IMSI))识别并验证通信网络(诸如第一网络198或第二网络199)中的电子装置101。
无线通信模块192可支持在4G网络之后的5G网络以及下一代通信技术(例如新无线电(NR)接入技术)。NR接入技术可支持增强型移动宽带(eMBB)、大规模机器类型通信(mMTC)或超可靠低延时通信(URLLC)。无线通信模块192可支持高频带(例如,毫米波带)以实现例如高数据传输速率。无线通信模块192可支持用于确保高频带上的性能的各种技术,诸如例如波束成形、大规模多输入多输出(大规模MIMO)、全维MIMO(FD-MIMO)、阵列天线、模拟波束成形或大规模天线。无线通信模块192可支持在电子装置101、外部电子装置(例如,电子装置104)或网络系统(例如,第二网络199)中指定的各种要求。根据实施例,无线通信模块192可支持用于实现eMBB的峰值数据速率(例如,20Gbps或更大)、用于实现mMTC的丢失覆盖(例如,164dB或更小)或者用于实现URLLC的U平面延迟(例如,对于下行链路(DL)和上行链路(UL)中的每一个为0.5ms或更小,或者1ms或更小的往返)。
天线模块197可将信号或电力发送到电子装置101的外部(例如,外部电子装置)或者从电子装置101的外部(例如,外部电子装置)接收信号或电力。根据实施例,天线模块197可包括天线,所述天线包括辐射元件,所述辐射元件由形成在基底(例如,印刷电路板(PCB))中或形成在基底上的导电材料或导电图案构成。根据实施例,天线模块197可包括多个天线(例如,阵列天线)。在这种情况下,可由例如通信模块190(例如,无线通信模块192)从所述多个天线中选择适合于在通信网络(诸如第一网络198或第二网络199)中使用的通信方案的至少一个天线。随后可经由所选择的至少一个天线在通信模块190和外部电子装置之间发送或接收信号或电力。根据实施例,除了辐射元件之外的另外的组件(例如,射频集成电路(RFIC))可附加地形成为天线模块197的一部分。
根据各种实施例,天线模块197可形成毫米波天线模块。根据实施例,毫米波天线模块可包括印刷电路板、射频集成电路(RFIC)和多个天线(例如,阵列天线),其中,RFIC设置在印刷电路板的第一表面(例如,底表面)上,或与第一表面相邻并且能够支持指定的高频带(例如,毫米波带),所述多个天线设置在印刷电路板的第二表面(例如,顶部表面或侧表面)上,或与第二表面相邻并且能够发送或接收指定高频带的信号。
上述部件中的至少一些可经由外设间通信方案(例如,总线、通用输入输出(GPIO)、串行外设接口(SPI)或移动工业处理器接口(MIPI))相互连接并在它们之间通信地传送信号(例如,命令或数据)。
根据实施例,可经由与第二网络199连接的服务器108在电子装置101和外部电子装置104之间发送或接收命令或数据。电子装置102或电子装置104中的每一个可以是与电子装置101相同类型的装置,或者是与电子装置101不同类型的装置。根据实施例,将在电子装置101运行的全部操作或一些操作可在外部电子装置102、外部电子装置104或服务器108中的一个或更多个运行。例如,如果电子装置101应该自动执行功能或服务或者应该响应于来自用户或另一装置的请求执行功能或服务,则电子装置101可请求所述一个或更多个外部电子装置执行所述功能或服务中的至少部分,而不是运行所述功能或服务,或者电子装置101除了运行所述功能或服务以外,还可请求所述一个或更多个外部电子装置执行所述功能或服务中的至少部分。接收到所述请求的所述一个或更多个外部电子装置可执行所述功能或服务中的所请求的所述至少部分,或者执行与所述请求相关的另外功能或另外服务,并将执行的结果传送到电子装置101。电子装置101可在对所述结果进行进一步处理的情况下或者在不对所述结果进行进一步处理的情况下将所述结果提供作为对所述请求的至少部分答复。为此,可使用例如云计算技术、分布式计算技术、移动边缘计算(MEC)技术或客户机服务器计算技术。电子装置101可使用例如分布式计算或移动边缘计算来提供超低延迟服务。在另一实施例中,外部电子装置104可包括物联网(IoT)装置。服务器108可以是使用机器学习和/或神经网络的智能服务器。根据实施例,外部电子装置104或服务器108可被包括在第二网络199中。电子装置101可应用于基于5G通信技术或IoT相关技术的智能服务(例如,智能家居、智能城市、智能汽车或医疗保健)。
根据各种实施例的电子装置可以是各种类型的电子装置之一。电子装置可包括例如便携式通信装置(例如,智能电话)、计算机装置、便携式多媒体装置、便携式医疗装置、相机、可穿戴装置或家用电器。根据本公开的实施例,电子装置不限于以上所述的那些电子装置。
应该理解的是,本公开的各种实施例以及其中使用的术语并不意图将在此阐述的技术特征限制于具体实施例,而是包括针对相应实施例的各种改变、等同形式或替换形式。对于附图的描述,相似的参考标号可用来指代相似或相关的元件。将理解的是,与术语相应的单数形式的名词可包括一个或更多个事物,除非相关上下文另有明确指示。如这里所使用的,诸如“A或B”、“A和B中的至少一个”、“A或B中的至少一个”、“A、B或C”、“A、B和C中的至少一个”以及“A、B或C中的至少一个”的短语中的每一个短语可包括在与所述多个短语中的相应一个短语中一起列举出的项的任意一项或所有可能组合。如这里所使用的,诸如“第1”和“第2”或者“第一”和“第二”的术语可用于将相应部件与另一部件进行简单区分,并且不在其它方面(例如,重要性或顺序)限制所述部件。将理解的是,在使用了术语“可操作地”或“通信地”的情况下或者在不使用术语“可操作地”或“通信地”的情况下,如果一元件(例如,第一元件)被称为“与另一元件(例如,第二元件)结合”、“结合到另一元件(例如,第二元件)”、“与另一元件(例如,第二元件)连接”或“连接到另一元件(例如,第二元件)”,则意味着所述一元件可与所述另一元件直接(例如,有线地)连接、与所述另一元件无线连接、或经由第三元件与所述另一元件连接。
如与本公开的各种实施例关联使用的,术语“模块”可包括以硬件、软件或固件实现的单元,并可与其他术语(例如,“逻辑”、“逻辑块”、“部分”或“电路”)可互换地使用。模块可以是被适配为执行一个或更多个功能的单个集成部件或者是该单个集成部件的最小单元或部分。例如,根据实施例,可以以专用集成电路(ASIC)的形式来实现模块。
可将在此阐述的各种实施例实现为包括存储在存储介质(例如,内部存储器136或外部存储器138)中的可由机器(例如,电子装置101)读取的一个或更多个指令的软件(例如,程序140)。例如,在处理器的控制下,所述机器(例如,电子装置101)的处理器(例如,处理器120)可在使用或无需使用一个或更多个其它部件的情况下调用存储在存储介质中的所述一个或更多个指令中的至少一个指令并运行所述至少一个指令。这使得所述机器能够操作用于根据所调用的至少一个指令执行至少一个功能。所述一个或更多个指令可包括由编译器产生的代码或能够由解释器运行的代码。可以以非暂时性存储介质的形式来提供机器可读存储介质。其中,术语“非暂时性”仅意味着所述存储介质是有形装置,并且不包括信号(例如,电磁波),但是该术语并不在数据被半永久性地存储在存储介质中与数据被临时存储在存储介质中之间进行区分。
根据实施例,可在计算机程序产品中包括和提供根据本公开的各种实施例的方法。计算机程序产品可作为产品在销售者和购买者之间进行交易。可以以机器可读存储介质(例如,紧凑盘只读存储器(CD-ROM))的形式来发布计算机程序产品,或者可经由应用商店(例如,Play StoreTM)在线发布(例如,下载或上传)计算机程序产品,或者可直接在两个用户装置(例如,智能电话)之间分发(例如,下载或上传)计算机程序产品。如果是在线发布的,则计算机程序产品中的至少部分可以是临时产生的,或者可将计算机程序产品中的至少部分至少临时存储在机器可读存储介质(诸如制造商的服务器、应用商店的服务器或转发服务器的存储器)中。
根据各种实施例,上述部件中的每个部件(例如,模块或程序)可包括单个实体或多个实体,并且多个实体中的一些实体可分离地设置在不同的部件中。根据各种实施例,可省略上述部件中的一个或更多个部件,或者可添加一个或更多个其它部件。可选择地或者另外地,可将多个部件(例如,模块或程序)集成为单个部件。在这种情况下,根据各种实施例,该集成部件可仍旧按照与所述多个部件中的相应一个部件在集成之前执行一个或更多个功能相同或相似的方式,执行所述多个部件中的每一个部件的所述一个或更多个功能。根据各种实施例,由模块、程序或另一部件所执行的操作可顺序地、并行地、重复地或以启发式方式来执行,或者所述操作中的一个或更多个操作可按照不同的顺序来运行或被省略,或者可添加一个或更多个其它操作。
在下文中,在该文件中,运行应用并发送应用屏幕的装置被定义为第一电子装置或源装置,接收应用屏幕并在其自身的显示器或连接的另一显示装置上输出该应用屏幕的装置被定义为第二电子装置或接收装置(sink device)。根据实际的实现形式,同一装置可以作为文件中的第一电子装置或第二电子装置来操作。
图2示出了根据各种实施例的第一电子装置和第二电子装置的示例。
在本文件的各种实施例中,第一电子装置200(例如,图1的电子装置101)可以被实现为便携式电子装置,诸如智能电话或平板PC,第二电子装置250可以被实现为计算装置,诸如台式PC或膝上型PC。
根据各种实施例,第一电子装置200可以将应用存储在存储器中并运行该应用。例如,第一电子装置200可以运行各种应用,诸如互联网浏览器、图库、消息和游戏,并且可以在第一电子装置200的显示器上提供应用的运行屏幕。
根据各种实施例,第二电子装置250可以经由独立于第一电子装置200的处理器、存储器和操作系统来运行应用。第二电子装置250可以像在台式PC中那样经由单独的显示器(例如,监视器)输出应用屏幕,或者可以像在膝上型PC中那样与显示器一体地提供。
根据各种实施例,第一电子装置200和第二电子装置250可以经由有线或无线通信彼此连接。例如,第一电子装置200和第二电子装置250可以经由有线接口(诸如高清晰度多媒体接口(HDMI)或通用串行总线(USB))彼此连接,并且可以经由短距离无线通信网络(诸如Wi-Fi直连或蓝牙)彼此连接。
根据各种实施例,如果第一电子装置200和第二电子装置250经由有线或无线通信连接,则可以提供屏幕共享服务。文件中描述的屏幕共享服务可以是在第一电子装置200中运行第一电子装置200的应用的方案的服务或功能,其中第二电子装置250通过使用虚拟化技术在第二电子装置250的显示器上显示第一电子装置200的应用,并向第一电子装置200提供对该应用的用户输入。例如,屏幕共享服务可以是允许便携式电子装置的应用(诸如桌面体验(DeX)和MS连接至Windows)在PC环境中使用的服务或功能。
根据各种实施例,如果第一电子装置200和第二电子装置250经由有线或无线接口连接,则第一电子装置200可以向第二电子装置250发送由第一电子装置200的处理器和存储器生成的应用运行屏幕。第二电子装置250可以显示从第一电子装置200接收的应用运行屏幕255,并且可以向第一电子装置200发送对该应用的用户输入。例如,当第一电子装置200和第二电子装置250连接时,第二电子装置250可以运行用于屏幕共享服务的应用,并且可以从第一电子装置200接收应用列表信息,从而在第二电子装置250的显示器(或连接到第二电子装置250的显示器)上显示与第一电子装置200的应用对应的图标。第二电子装置250可以向第一电子装置200发送对图标的用户输入,第一电子装置200可以根据用户输入运行对应的应用,从而向第二电子装置250发送应用运行屏幕。在应用屏幕255被显示在第二电子装置250的显示器上的同时,第二电子装置250可以在向第一电子装置200提供应用屏幕的窗口上实时发送用户输入,第一电子装置200可以基于接收到的用户输入来控制应用。
根据各种实施例,如果在第一电子装置200中运行多个应用或任务,则可以经由第二电子装置250的显示器上的单独窗口来提供每个应用或任务的运行屏幕。
图3a示出了根据各种实施例的用于在屏幕共享期间生成虚拟显示器的第一电子装置的元件。
根据各种实施例,第一电子装置300可以配置虚拟显示器360(虚拟显示器)以向第二电子装置350发送由应用生成的屏幕。参照图3a,第一电子装置300可以包括表面投掷器(surface flinger)375、视频编码器364、输入表面362和显示管理器370作为用于配置虚拟显示器360的软件部件。
根据各种实施例,显示管理器370可以用于将由用于屏幕共享服务的应用生成的数据配置到虚拟显示器360中。虚拟显示器360是虚拟显示器装置,并且可以具有一个表面,屏幕信息可以被绘制在该表面上。视频编码器364可以压缩由应用生成的数据,以便提高传输效率。
根据各种实施例,当开启屏幕共享服务时,显示管理器370可以生成虚拟显示器360。显示管理器370可以生成视频编码器364,并且可以将视频编码器364的输入表面362指定为虚拟显示器360的表面。这里,虚拟显示器360的表面是视频编码器364的输入表面362,使得如果该表面上的内容被更新,则该数据可以被压缩成视频形式并通过输出缓冲器输出。第一电子装置300可以向第二电子装置350发送如上所述视频编码的数据。
图3b示出了根据各种实施例的用于在屏幕共享期间接收和输出虚拟显示器的第二电子装置的元件。
参照图3a,第二电子装置350可以包括表面视图380、视频解码器384和输出表面382作为用于输出从第一电子装置300接收到的虚拟显示器360的软件部件。
根据各种实施例,当从第一电子装置300发送屏幕共享数据时,第二电子装置350可以生成用于内容再现的表面视图380。从第一电子装置300发送的数据是压缩数据,使得第二电子装置350可以生成视频解码器384以将数据改变回原始数据,并且可以从视频解码器384获取输出表面382。
当从第一电子装置300发送的数据被输入到视频解码器384的输入缓冲器时,屏幕数据可以经由配置的管道被绘制在表面视图380上,因此,从第一电子装置300发送的应用屏幕可以在第二电子装置350上输出。
根据各种实施例,为了独立地提供多个应用和任务的运行屏幕,第一电子装置300可以将用于配置由每个应用或任务生成的虚拟显示器360的视频编码器364、输入表面362和虚拟显示器360配置为一个容器。响应于此,第二电子装置350可以将视频解码器384、输出表面382和表面视图380配置为一个容器。将参照图8更详细地描述在第一电子装置300和第二电子装置350中为每个应用或任务配置独立容器的特征。
图4是根据各种实施例的第一电子装置的框图。
参照图4,第一电子装置400(例如,图2的第一电子装置200)可以包括第一显示器410、第一通信接口420、第一存储器430和第一处理器450,并且可以实现本文件的各种实施例,即使所示元件中的至少一些被省略和/或替代。第一电子装置400还可以包括图1的电子装置101的至少一些元件和/或功能。
图4所示的一些元件(例如,第一处理器450、存储器430和第一通信接口420)和/或第一电子装置400的未示出的其它元件可以设置在第一电子装置400的壳体(未示出)内部,并且一些元件(例如,第一显示器410和第一通信接口420)的至少一部分可以暴露于壳体外部。
根据各种实施例,第一显示器410显示图像,并且可以被实现为液晶显示器(LCD)、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、微机电系统(MEMS)显示器或电子纸显示器310中的一种,但不限于此。根据各种实施例,第一显示器410可以是至少部分可以折叠的可折叠显示器(例如,可内折叠显示器或可外折叠显示器),或者可以是至少一部分可以卷曲的可卷曲显示器。可选地,第一电子装置400可以包括彼此独立的两个或更多个显示器。第一显示器410可以包括图1的显示模块160的至少一些元件和/或功能。
根据各种实施例,第一通信接口420可以支持与外部装置(例如,图2的第二电子装置250)的有线或无线通信连接,并且第一电子装置400可以仅包括有线通信接口或无线通信接口之一。
例如,第一通信接口420是有线通信接口的示例(例如,图1的接口177),并且可以包括高清晰度多媒体接口(HDMI)和通用串行总线(USB)接口。第一通信接口420可以包括支持与外部装置的短距离通信模块的无线通信模块(例如,图1的无线通信模块192)。无线通信模块可以支持各种短距离无线通信方案(例如,Wi-Fi、蓝牙和蓝牙低能耗(BLE)),并且可以包括独立的硬件和/或软件元件来支持每个无线通信方案。
根据各种实施例,第一存储器430用于临时或永久地存储非受限的数字数据,并且可以包括图1的存储器130的至少一个元件和/或功能。第一存储器430可以包括:非易失性存储器,诸如一次性可编程ROM(OTPROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、掩模ROM、闪存ROM、闪速存储器(例如,NAND闪存或NOR闪存)、硬盘驱动器或固态驱动器(SSD);以及易失性存储器,诸如动态RAM(DRAM)、静态RAM(SRAM)或同步动态RAM(SDRAM)。
第一存储器430可以存储可由第一处理器450运行的各种指令。指令可以包括各种控制命令,包括算术和逻辑运算、数据移动和/或第一处理器450可识别的输入/输出。
根据各种实施例,第一处理器450是能够执行与第一电子装置400的每个元件的控制和/或通信相关的操作或数据处理的元件(例如,应用处理器),因此可以包括图1的处理器120的至少一些元件和/或功能。第一处理器450可以操作地连接、功能地连接和/或电连接到第一电子装置400的每个元件,包括第一显示器410、第一通信接口420和第一存储器430。
根据各种实施例,尽管对第一处理器450能够在第一电子装置400上实现的算术和数据处理功能没有限制,但是该文件提供了与多个应用或任务的运行屏幕的生成和控制、运行的应用的管理、用户输入的处理以及屏幕共享服务中第一电子装置400的资源管理相关的各种实施例的描述。稍后将描述的第一处理器450的操作可以通过运行存储在第一存储器430中的指令来执行。
根据各种实施例,如果经由第一通信接口420连接到第二电子装置,则第一处理器450可以向第二电子装置发送安装在第一电子装置400中的应用的列表。
根据各种实施例,第一处理器450可以经由第一通信接口420从第二电子装置接收用于运行第一任务的请求。例如,第二电子装置可以基于接收到的应用列表在第二电子装置的显示器上显示与每个应用对应的图标,并且可以根据针对图标的用户输入向第一电子装置400发送用于运行对应应用或任务的请求。
根据各种实施例,响应于运行请求,第一处理器450可以基于存储在存储器中的应用来运行第一任务。
根据各种实施例,第一处理器450可以生成包括第一任务的运行屏幕的第一虚拟显示器。第一处理器450可以将压缩第一任务中生成的第一图像信息的第一编码器、记录第一图像信息的第一输入表面和第一虚拟显示器配置为第一容器(例如,应用运行容器)。这里,容器是指管理每个虚拟显示器的程序上的对象(或类或实例),并且可以由不同的名称来定义。例如,第一容器和第二容器可以由不同的名称定义,使得第一容器可以由第一虚拟显示器管理组定义,第二容器可以由第二虚拟显示器管理组定义,等等。
根据各种实施例,第一处理器450可以响应于用于运行第一任务的请求而生成视频编码器,并且可以将视频编码器的输入表面指定为第一虚拟显示器的表面。第一处理器450可以将运行要运行的任务或应用的部件(例如,虚拟显示器、输入表面和视频编码器)作为容器管理,并且可以为每个应用或任务生成单独的容器。每个容器可以具有ID,并且可以经由ID映射到第二电子装置的容器。每个容器还可以包括ID、显示器ID、应用包名称、显示相关信息、任务ID、任务终止原因信息和时间戳信息中的至少一些。由第一处理器450配置的容器将参照图6更详细地描述。
根据各种实施例,第一电子装置400和第二电子装置可以以任务或应用为单位配置独立的容器。
根据各种实施例,第一电子装置400和第二电子装置可以分别配置对应的容器。例如,如果应用运行容器1根据第一电子装置400中任务(或应用)的运行而生成,并且相关信息被发送到第二电子装置,则第二电子装置可以生成对应的远程应用容器1。此后,如果应用运行容器2根据第二电子装置中新任务(或应用)的运行而生成,则第二电子装置可以生成对应的远程应用容器2。根据各种实施例,彼此对应的容器可以形成一个镜像会话,其可以独立于形成在其它容器之间的镜像会话。例如,形成在应用运行容器1和远程应用容器1之间的镜像会话以及形成在应用运行容器2和远程应用容器2之间的镜像会话可以彼此独立。第一电子装置和第二电子装置可以根据容器或虚拟显示器的ID对每个镜像会话进行分类。
根据各种实施例,形成在对应容器之间的镜像会话可以经由相互独立的通信信道连接。例如,如果第一电子装置400和第二电子装置经由USB接口连接,则由相应容器形成的镜像会话可以经由相互独立的USB信道(逻辑信道)进行通信,并且如果第一电子装置400和第二电子装置经由Wi-Fi(或WFD)连接,则相应镜像会话可以通过形成相互独立的Wi-Fi信道进行通信。
根据各种实施例,生成的第一虚拟显示器可以被发送到外部装置。例如,包括第一虚拟显示器的第一容器可以被发送到外部装置。第二电子装置可以生成与第一容器对应的容器以接收虚拟显示器,并且第一电子装置400的容器和第二电子装置的对应容器可以配置镜像会话。
根据各种实施例,在第一任务被运行的同时,第一处理器450可以从外部装置接收用于运行第二任务的请求。这里,第二任务可以是与第一任务的应用相同的应用,或者是由不同的应用运行的任务。
根据各种实施例,响应于运行第二任务的请求,第一处理器450可以运行第二任务并生成包括第二任务的运行屏幕的第二虚拟显示器。例如,第一处理器450可以将构成第二虚拟显示器的部件配置为第二容器。第二容器可以具有与第一容器的配置相同的配置。
根据各种实施例,如果从第二电子装置接收到虚拟显示器的输入事件,则第一处理器450可以通过使用包括在接收到的输入事件中的识别信息来处理映射的第一任务或第二任务中的输入事件。例如,如果用户输入(例如,鼠标点击或触摸输入)发生在第二电子装置中的第一虚拟显示器上,则第二电子装置可以向第一电子装置400发送输入事件信息和第一虚拟显示器的ID(或容器的ID)。第一处理器450可以识别映射到接收到的ID的虚拟显示器,并且可以向配置对应虚拟显示器的应用传输输入事件。
根据各种实施例,在接收到在第一虚拟显示器上运行第三任务的意图时,第一处理器450可以配置为识别与第三任务对应的虚拟显示器。如果没有生成与第三任务对应的虚拟显示器,则第一处理器450可以生成包括第三任务的运行屏幕的第三虚拟显示器,并向外部装置发送第三虚拟显示器。如果生成了与第三任务对应的虚拟显示器,则第一处理器450可以使第三任务在前台操作。
根据各种实施例,第一处理器450可以配置为当第三任务的运行屏幕显示在第一显示器410上时,停止在第一显示器410上显示第三任务的运行屏幕、生成包括第三任务的运行屏幕的第三虚拟显示器、并向外部装置发送第三虚拟显示器或者向外部装置发送正在第一显示器410上显示的第三任务的运行屏幕。
在这种情况下,第一处理器450可以显示用于确定是否将当前运行的任务的运行位置移动到第二电子装置的显示器的对话。如果用户在对话上允许移动任务的运行位置,则第一处理器450可以终止在第一显示器410上运行的应用,并且可以在新生成的第三虚拟显示器上运行第三任务。
根据各种实施例,当从外部装置接收到运行新任务的请求时,第一处理器450可以识别当前生成的虚拟显示器的数量,并且如果虚拟显示器的数量超过最大数量,则可以终止至少一个生成的虚拟显示器。第一处理器450可以终止最早生成的虚拟显示器(或容器)或最早去激活的虚拟显示器(或容器)。
根据实施例,可以根据包括在第一电子装置400中的处理器和/或存储器预先分配可同时运行的虚拟显示器的最大数量。例如,虚拟显示器的最大数量可以被确定为电子装置的每个芯片集合(例如,第一处理器450和/或第一存储器430)的预定义数量。例如,虚拟显示器的最大数量可以被确定为针对第一处理器450的每种类型(例如,处理器名称、标识(ID)和/或时钟)和/或第一存储器430的大小定义的数量。
根据实施例,第一处理器450可以基于第一处理器450和/或第一存储器430的可用资源来确定虚拟显示器的最大数量。可以根据分配给第一处理器450和/或第一存储器430的编码器资源的大小(或面积)以及发送当前虚拟显示器所需的资源的大小来确定可用资源。例如,第一处理器450可以将通过将可在第一存储器430上实现的编码器表面的面积除以为虚拟显示器提供的最大分辨率而获得的值确定为虚拟显示器的最大数量。
根据实施例,第一处理器450可以感测第一电子装置400的温度,并且可以根据感测到的温度确定虚拟显示器的最大数量。例如,第一电子装置400可以经由诸如热敏电阻的元件来测量第一电子装置400内部的一个或更多个区域的温度,并且可以根据测量的温度区间来确定虚拟显示器的最大数量。
根据实施例,第一处理器450可以基于经由第一通信接口420发送到第二外部装置的数据的传输速率来确定虚拟显示器的最大数量。例如,第一处理器450可以根据平均数据传输速率的区间来确定虚拟显示器的最大数量。
根据各种实施例,当特定任务终止时,第一处理器450可以向第二电子装置发送任务终止原因信息(例如,因为已经运行了较长时间而终止,或者由于新任务的运行而终止)。当接收到任务终止原因信息时,第二电子装置可以响应于任务终止原因信息而关闭对应的容器,并且可以移除在显示器上显示对应容器的虚拟显示器的窗口。
图5是根据各种实施例的第二电子装置的框图。
参照图5,第二电子装置500(例如,图2的第二电子装置500)可以包括第二显示器510、第二通信接口540、第二存储器530和第二处理器550,并且即使省略和/或替换了至少一些示出的元件,也可以实现本文件的各种实施例。根据实施例,一些示出的元件可以提供在与第二电子装置500分离并经由有线或无线通信接口连接的另一装置上。例如,第二电子装置500可以被实现为不包括显示器的台式PC,并且在这种情况下,第二显示器510可以被实现在单独的显示装置上。
根据各种实施例,第二显示器510可以显示图像。例如,第二显示器510可以显示在由第一电子装置(例如,图4的第一电子装置400)经由屏幕共享服务运行的任务中生成的虚拟显示器。第二显示器510可以被实现为独立于第二电子装置500的外部显示装置。
根据各种实施例,第二通信接口540可以支持与第一电子装置的第一通信接口的有线或无线连接。如果第二通信接口540被实现为有线接口,则可以在第二电子装置500或外部显示装置上提供电缆所连接到的接口端子。
根据各种实施例,第二存储器530可以包括非易失性存储器和易失性存储器。
根据各种实施例,第二处理器550是能够执行与第二电子装置500的相应元件的控制和/或通信相关的操作或数据处理的元件,并且可以操作地连接、功能地连接和/或电连接到第二电子装置500的相应元件,包括第二显示器510、第二通信接口540和第二存储器530。第二处理器550可以经由独立于第一电子装置的操作系统(例如,Windows)来运行多个应用。
根据各种实施例,第二处理器550可以识别经由第二通信接口540与第一电子装置的连接。第二处理器550可以从连接的第一电子装置接收安装在第一电子装置中的应用的列表,并且可以基于该列表在第二显示器510上显示与每个应用对应的图标。
根据各种实施例,响应于针对第二显示器510上显示的图标的用户输入,第二处理器550可以向外部装置发送运行与图标对应的第一任务的请求。这里,用户输入可以包括鼠标点击和触摸/悬停输入。第一电子装置可以响应于运行请求来执行第一任务,并且可以生成第一虚拟显示器从而向第二电子装置500发送第一虚拟显示器。
根据各种实施例,第二处理器550可以从第一电子装置接收第一虚拟显示器,并且可以在第二显示器510上显示第一虚拟显示器。第一电子装置可以为每个任务配置虚拟显示器、编码器和输入表面作为每个容器,并且第二处理器550可以生成与第一电子装置生成的容器(例如,应用运行容器)对应的容器(例如,远程应用容器)。每个容器可以具有ID,并且可以经由该ID映射到第一电子装置的容器。在第一电子装置和第二电子装置之间彼此对应的容器可以形成一个镜像会话,其可以独立于形成在其它容器之间的镜像会话。形成在对应容器之间的镜像会话可以经由相互独立的通信信道(例如,USB信道和Wi-Fi信道)连接到其它镜像会话。由第二处理器550配置的容器将参照图7更详细地描述。
根据各种实施例,当传输虚拟显示器或容器相关信息时,第二处理器550可以确定是否包括指示传输多个任务的虚拟显示器的标志,如果包括该标志,则可以将接收到的相应虚拟显示器配置到不同的镜像会话中,并且可以在彼此独立的窗口上显示所述相应虚拟显示器。根据各种实施例,在显示第一虚拟显示器的同时,第二处理器550可以响应于用于运行第二任务的第二用户输入,向第一电子装置发送运行第二任务的请求。第二处理器550可以从第一电子装置接收包括第二任务的运行屏幕的第二虚拟显示器。
根据各种实施例,第二处理器550可以在不同的窗口上显示接收到的第一虚拟显示器和第二虚拟显示器。例如,一个应用、任务或活动的内容可以被镜像到在屏幕共享服务期间共享的每个屏幕(或窗口)上。第二处理器550可以配置由不同窗口中的相应容器绘制的表面视图,使得相应任务的运行屏幕显示在不同的窗口上。
根据各种实施例,第二处理器550可以在显示第一虚拟显示器和第二虚拟显示器的状态下接收用户输入。第二处理器550可以向第一电子装置发送输入事件信息和其上已经接收到用户输入的虚拟显示器的ID,并且第一电子装置可以处理针对映射到ID的虚拟显示器接收的输入事件。
图6是根据各种实施例的用于提供屏幕共享服务的第一电子装置的框图。
图6所示的每个元件是可以在第一电子装置600(例如,图4的第一电子装置400)中存储和运行的用于屏幕共享服务的软件部件。每个部件名称定义用于在程序中执行相关操作的类别名称,并且不限制根据每个部件名称执行的操作。
参照图6,第一电子装置600可以包括传输管理器620、输入管理器625、应用运行容器管理器610和系统服务部件630。系统服务部件630是在系统级运行的服务部件的集合,并且可以包括远程应用模式服务631、显示管理器633、活动任务管理器635、任务观察器637和旋转管理器。示出的元件的至少一些(例如,传输管理器620、输入管理器625、显示管理器633和活动任务管理器635)可以是在Android框架上实现的部件,但是可以添加一些功能来实现各种实施例。
根据各种实施例,第一电子装置600可以将运行要运行的任务或应用的部件(例如,虚拟显示器、输入表面和视频编码器)作为容器进行管理,并且可以为每个应用或任务生成单独的容器。
根据各种实施例,应用运行容器612和614可以用于生成和控制第一电子装置600中的相应虚拟显示器。应用运行容器612和614可以具有作为标识符的ID,并且可以经由ID映射到第二电子装置的指定远程应用容器(例如,图7的远程应用容器772和774)。
根据各种实施例,一个应用、任务或活动的内容可以被镜像到在屏幕共享服务期间共享的每个屏幕(或窗口)上,因此,应用运行容器612和614可以具有应用的包名称或任务ID。下面的表1示出了由应用运行容器612和614拥有和/或管理的数据的示例。
[表1]
Figure BDA0004113480920000211
Figure BDA0004113480920000221
根据各种实施例,应用运行容器管理器610可以控制与第一电子装置600中的屏幕共享服务相关的整体逻辑。例如,应用运行容器管理器610可以从经由通信接口(例如,图4的第一通信接口420)连接的第二电子装置(例如,图5的第二电子装置500)接收应用(或任务)运行请求,从而生成、拥有和管理应用运行容器。当从第二电子装置接收到与应用相关的请求时,应用运行容器管理器610可以通过使用应用运行容器的ID将接收到的请求分发到指定的应用运行容器。当在第一电子装置600的系统上发生事件时,应用运行容器管理器610可以通过使用虚拟显示器ID或任务ID来指定应用运行容器,从而向应用运行容器发送事件,或者可以用于执行到第二电子装置的远程应用容器管理器(例如,图7中的远程应用容器管理器770)的传输。根据各种实施例,传输管理器620可以向第二电子装置发送由应用运行容器编码的屏幕数据、用户输入信息、各种请求和/或事件信息。
根据各种实施例,输入管理器625可以是将从第二电子装置传输的输入事件注入到系统中的部件。在输入管理器625中,当第二电子装置的输入收听器感测到用户输入时,这可以被报告给远程应用容器,并且输入事件可以经由第二电子装置的传输管理器620传输到第一电子装置600的对应应用运行容器。应用运行容器可以将经由输入管理器625到来的输入事件注入到系统中。
根据各种实施例,系统服务部件630可以包括在系统级运行的服务部件。
根据各种实施例,远程应用模式服务631可以执行需要系统权限的功能和直接调用每个系统服务的功能的功能。例如,远程应用模式服务631可以从应用运行容器管理器610接收请求,并向显示管理器633或活动任务管理器635直接发送该请求,或者可以用于从系统服务部件630(例如,活动任务管理器635、任务观察器637、旋转观察器639或开始活动拦截器)接收对各种事件的回调,并将回调传输到应用运行容器管理器610。
根据各种实施例,显示管理器633可以用于根据应用的运行来生成虚拟显示器。
根据各种实施例,活动任务管理器635可以用于管理活动和任务。活动任务管理器635可以执行开始活动拦截相关的操作,以在一个镜像会话中运行一个应用或任务。
根据各种实施例,任务观察器637可以接收任务运行或终止事件,并且可以使用该事件来处理应用运行或终止、感测任务运行模式、并向用户提供通知。
根据各种实施例,旋转观察器639可以感测虚拟显示器的旋转事件,并且可以使用该事件从第二电子装置提供以相同方式旋转的镜像内容。
图7是根据各种实施例的用于提供屏幕共享服务的第二电子装置的框图。
图7所示的每个元件是可以在第二电子装置750(例如,图5的第二电子装置500)中存储和运行的用于屏幕共享服务的软件部件。每个部件名称定义用于在程序中执行相关操作的类别名称,并且不限制根据每个部件名称执行的操作。
根据各种实施例,传输管理器760对应于第一电子装置的传输管理器760(例如,图6的传输管理器620),并且可以执行向第一电子装置发送或从第一电子装置接收虚拟显示器数据、用户输入信息、各种请求和/或事件信息的功能。
根据各种实施例,输入收听器765可以监测在虚拟显示器上输入的用户输入。当感测到用户输入时,输入收听器765可以向其中已经发生用户输入的虚拟显示器的远程应用容器772和774报告用户输入,并且输入事件可以经由传输管理器760传输到第一电子装置。
根据各种实施例,远程应用容器772和774用于显示在第二电子装置750中指定的应用或任务,并且每个远程应用容器772或774可以对应于一个镜像的虚拟显示器。远程应用容器772和774具有ID,并且可以被映射到具有指定ID的第一电子装置的应用运行容器(例如,图5的应用运行容器612和614)。如果远程应用容器772或774的功能被调用,则第一电子装置的与被调用的远程应用容器对应的应用运行容器的功能可以经由远程应用容器管理器770、传输管理器760和应用运行容器管理器770被调用。
根据各种实施例,远程应用容器管理器770可以生成和控制与第二电子装置750中的相应虚拟显示器对应的远程应用容器772和774。远程应用容器772和774可以接收来自输入收听器765和/或第一电子装置的事件,并且可以将其传输到相应的远程应用容器772和774。
图8示出了根据各种实施例的在第一电子装置和第二电子装置中配置的容器的示例。
根据各种实施例,第一电子装置(例如,图4的第一电子装置400)可以以容器为单位配置编码器(例如,第一编码器814和第二编码器824)(视频编码器),该编码器压缩由运行的任务生成的图像信息、记录图像信息的输入表面(例如,第一输入表面812和第二输入表面822)、以及虚拟显示器(例如,第一虚拟显示器816和第二虚拟显示器826)(虚拟的)。例如,关于屏幕共享服务,第一电子装置可以生成和管理与正在运行的应用或任务的数量对应的应用运行容器810和820。
根据各种实施例,应用运行容器810和820可以用于生成和控制第一电子装置中的相应虚拟显示器,相应的应用运行容器810和820可以具有ID,并且可以经由ID映射到第二电子装置的指定远程应用容器860和870。
根据各种实施例,第一电子装置的应用运行容器810和820以及第二电子装置的远程应用容器860和870可以包括彼此对应的部件。例如,如果在开启屏幕共享服务的状态下运行一个应用或任务,则第一电子装置可以生成第一应用运行容器810,并且第二电子装置可以生成第一远程应用容器860。然后,如果运行新的应用或任务,则第一电子装置可以生成新的第二应用运行容器820,并且第二电子装置可以生成第二远程应用容器870。对应的应用运行容器和远程应用容器可以配置镜像会话。
根据各种实施例,彼此对应的容器可以配置独立的镜像会话。例如,第一应用运行容器810和第一远程应用容器860可以配置第一镜像会话,第二应用运行容器820和第二远程应用容器870可以配置第二镜像会话。形成在彼此对应的容器之间的镜像会话可以通过相互独立的通信信道连接。例如,如果第一电子装置和第二电子装置经由USB接口连接,则第一镜像会话和第二镜像会话可以经由相互独立的USB信道(逻辑信道)配置,如果第一电子装置和第二电子装置经由Wi-Fi(或WFD)连接,则第一镜像会话和第二镜像会话可以经由相互独立的Wi-Fi信道配置。
根据各种实施例,通过使用ID将从相应应用运行容器810和820接收到的数据提供给对应的相应远程应用容器860和870,并且远程应用容器可以解码传入的数据并在表面视图中绘制该数据。远程应用容器管理器850可以配置由相应的远程应用容器860和870在不同的窗口中绘制的表面视图864和874,并且可以在显示器(例如,图5的第二显示器510)上显示表面视图864和874。
根据各种实施例,应用运行容器810和820以及远程应用容器860和870可以经由彼此的ID向彼此发送或从彼此接收用户输入和事件信息。例如,当在第二电子装置的特征任务运行屏幕上接收到用户输入时,应用运行容器管理器800可以通过基于与用户输入一起接收到的ID确定在其中感测到用户输入的应用运行容器来分发接收到的用户输入。
图9是根据各种实施例的由第一电子装置和第二电子装置提供屏幕共享服务的方法的流程图。
图9示出了这样的操作,其中第一电子装置900(例如,图4的第一电子装置400)和第二电子装置950(例如,图5的第二电子装置500)经由有线或无线接口彼此连接,并且在运行屏幕共享服务应用之后,由第一电子装置900生成的虚拟显示器显示在第二电子装置950上。
根据各种实施例,第一电子装置900和第二电子装置950可以经由短距离无线通信(诸如蓝牙、Wi-Fi和Wi-Fi直连)连接,或经由有线接口(诸如USB和HDMI)连接,可选地可以经由云服务以各种方式(诸如TCP/IP和UDP)连接。第一电子装置900和第二电子装置950可以生成多个传输信道,并且可以分别通过不同的信道传输应用的控制数据、视频数据和音频数据。例如,第一电子装置900和第二电子装置950打开三个TCP/IP套接字作为服务器-客户端,并且在套接字连接之后,套接字通信信道可以分别用作控制信道、视频数据信道和音频数据信道。
根据各种实施例,第一电子装置900可以向第二电子装置950发送安装的应用的应用名称、图标和/或包名称的信息,第二电子装置950可以解析接收到的信息,并在第二电子装置950的屏幕上显示解析后的信息。
根据各种实施例,在操作960中,第二电子装置950可以接收用于运行第一电子装置900的应用的用户输入。
根据各种实施例,在操作962中,第二电子装置950可以生成和/或初始化远程应用容器管理器(例如,图7的远程应用容器管理器770)。
根据各种实施例,在操作964中,远程应用容器管理器可以根据应用运行事件生成新的远程应用容器,并且可以为生成的远程应用容器配置根据用户输入选择的应用的信息。远程应用容器管理器可以为远程应用容器配置用于在应用被使用时接收用户输入(例如,鼠标点击和触摸/悬停输入)的虚拟触摸输入面板,并且可以将该虚拟触摸输入面板连接到输入收听器(例如,图7的输入收听器)。
根据各种实施例,在操作966中,远程应用容器管理器可以运行在操作964中生成的远程应用容器。
根据各种实施例,在操作968中,第二电子装置950可以经由传输管理器(例如,图7的传输管理器760)将应用执行请求传输到第一电子装置900的应用运行容器管理器(例如,图6的应用运行容器管理器610)。根据实施例,应用(或任务)运行请求可以包括要运行的应用的包名称信息。
根据各种实施例,在操作970中,第二电子装置950可以准备应用镜像。例如,第二电子装置950可以分配和初始化用于镜像从第一电子装置900接收到的虚拟显示器的资源。第二电子装置950可以生成用于显示虚拟显示器的窗口,并且可以生成表面视图。第二电子装置950可以从解码器管理器被分配有用于解码经编码的虚拟显示器数据的解码器,并且可以将解码器的输出表面连接到表面视图。
根据各种实施例,在操作972中,第二电子装置950可以运行被分配的解码器。由第二电子装置950执行的前述操作970和/或操作972可以至少部分地与稍后将描述的由第一电子装置900执行的操作974至操作984同时执行,或者可以较晚执行。
根据各种实施例,当从第二电子装置950接收到应用(或任务)运行请求时,在操作974中,第一电子装置900可以生成和/或初始化应用运行容器管理器(例如,图6的应用运行容器管理器610)。如果已经生成和/或初始化了应用运行容器管理器,则可以省略操作974。第一电子装置900可以经由传输管理器从第二电子装置950接收包括要运行的应用的容器ID和包名称信息的运行请求。
根据各种实施例,在应用运行容器管理器的生成和/或初始化期间,应用运行容器管理器可以注册回调,诸如运行应用或任务时需要的on start activity intercepted、ontask played/on task removed、on rotation changed。首先,为了解释“on startactivity intercepted”,可能存在这样的情况,其中应拦截on start activity,以便在一个镜像会话中运行一个应用或任务,或者减少不必要的应用终止。为此,应用运行容器管理器可以向远程应用模式服务(例如,图6的远程应用模式服务)请求事件订阅注册。在远程应用模式服务中,事件订阅可以在活动任务管理器(例如,图6的活动任务管理器)中注册,并且当事件发生时,事件可以被传输到应用运行容器管理器。当任务被运行或终止时,该事件被传输到应用运行容器管理器,并且事件可以在每个装置中被处理。“on task played/ontask removed”回调是当应用或任务被运行或终止时,在第一电子装置900和第二电子装置950中进行事件处理所需的信息。为此,在远程应用模式服务中,可以生成任务观察器(例如,图6的任务观察器637),并且可以注册事件订阅。“on rotation changed”是当用于镜像的虚拟显示器被旋转时,第一电子装置900和第二电子装置950中的屏幕旋转和输入坐标校正所需的信息。为此,可以在远程应用模式服务(图6的远程应用模式服务631)中生成旋转观察器(例如,图6的旋转观察器639),并且可以注册事件订阅。如果虚拟显示器的旋转信息被改变,则旋转事件可以被传输到应用运行容器管理器,并且旋转事件可以在第一电子装置900和第二电子装置950中被处理。
根据各种实施例,在操作976中,应用运行容器管理器可以生成和初始化虚拟显示器和用于执行镜像的编码器。在这种情况下,可以添加标志,以区分要生成的虚拟显示器和用于其它目的的虚拟显示器。这里,标志可以指示多个任务的虚拟显示器被发送到第二电子装置950。应用运行容器管理器可以生成新的编码器,并且可以从生成的编码器获取输入表面。在此之后,在远程应用模式服务中请求生成虚拟显示器,并且可以将编码器的输入表面配置为虚拟显示器的表面。
根据各种实施例,在操作978中,应用运行容器管理器可以生成新的应用运行容器,并且可以存储信息,诸如要运行的应用的包名称、虚拟显示器、编码器和表面。
根据各种实施例,在操作980中,应用运行容器管理器可以向编码器管理器发送请求,从而运行在操作976中生成的编码器。
根据各种实施例,在操作982中,应用运行容器管理器可以运行在操作978中生成的应用运行容器。应用运行容器可以从包括在从第二电子装置950接收到的运行请求中的应用包名称提取应用启动意图,并且可以将要运行的屏幕的ID存储在意图的活动选项中。如果意图被运行,则应用的基本活动可以在虚拟显示器上运行。
根据各种实施例,在操作984中,如果在虚拟显示器上运行应用并且在表面上绘制应用的内容,则应用的屏幕信息可以经由视频编码器被转换成视频格式,从而以字节缓冲格式输出。
根据各种实施例,在操作986中,应用运行容器可以将应用运行容器的ID添加到要输出的缓冲数据的元数据,并且可以将其传输到传输管理器,传输管理器可以向第二电子装置950发送虚拟显示器数据。
根据各种实施例,在操作988中,在接收到经编码的视频数据时,第二电子装置950的传输管理器可以将接收到的数据传输到远程应用容器管理器。远程应用容器管理器可以从视频数据的元数据提取ID,并且可以通过使用ID来确定对应的远程应用容器。当远程应用容器管理器将数据传输到识别出的远程应用容器时,远程应用容器可以将数据输入到解码器。当虚拟显示器上的信息经由解码器被解码时,屏幕信息可以被绘制在连接到解码器的表面视图上,并且可以被显示在第二电子装置950的显示器上的指定窗口中。
图10是根据各种实施例的用于通过第一电子装置和第二电子装置处理事件和用户输入的方法的流程图。
图10所示的方法可以由上述第一电子装置1000(例如,图4的第一电子装置400)和第二电子装置1050(例如,图5的第二电子装置500)执行,并且示出的操作可以在参照图9描述的第一电子装置生成的虚拟显示器数据显示在第二电子装置上之后被执行。
操作1060和1062以及操作1070和1072彼此独立且其顺序可以改变,并且可以仅执行一些操作。
根据各种实施例,在操作1060中,第二电子装置1050可以感测用户输入事件,并将其发送到第一电子装置1000。例如,当在第二电子装置1050上显示的虚拟显示器上接收到用户的鼠标点击、键盘输入和/或触摸/悬停输入时,可以通过形成的控制信道经由输入收听器(例如,图5的输入收听器765)来感测输入数据。
第二电子装置1050可以将与虚拟显示器对应的远程应用容器的ID添加到输入数据,可以将输入数据调制成可传输的形式,然后经由传输管理器将其发送到第一电子装置1000。
根据各种实施例,在操作1062中,当经由传输管理器传输用户输入数据时,第一电子装置1000可以经由发送的数据的ID来确定应用运行容器。应用运行容器管理器(例如,图6的应用运行容器管理器610)可以将输入数据恢复成可处理的输入,然后可以经由输入管理器(例如,图6的输入管理器625)将用户输入输入到匹配的应用运行容器。根据实施例,可以为输入事件配置第二电子装置1050的虚拟显示器的ID,并且可以使用虚拟显示器的ID来识别第一电子装置1000的要应用用户输入的虚拟显示器。
根据各种实施例,在操作1070中,第一电子装置1000可以识别发生在第一电子装置1000的系统或应用上的事件。例如,事件可以是第一电子装置1000的取向变化(例如,从肖像模式到风景模式的变化)。当事件发生时,第一电子装置1000可以经由在应用运行容器管理器的生成和/或初始化期间注册的回调,将事件传输到应用运行容器管理器。应用运行容器管理器可以直接处理事件,或者可以将事件发送到第二电子装置1050。根据实施例,应用运行容器管理器可以经由传输的虚拟显示器ID和任务ID来确定需要处理事件的应用运行容器,从而传输事件,并且事件可以在对应的应用运行容器中被处理。
根据各种实施例,在操作1072中,第二电子装置1050可以处理从第一电子装置1000接收到的事件。当第一电子装置1000向第二电子装置1050发送发生的事件时,可以经由第二电子装置1050的传输管理器接收事件数据。当接收到事件时,远程应用容器管理器可以直接处理事件,或者可以基于ID来确定处理事件的远程应用容器,并且可以将事件传输到对应的容器。已经接收到事件的远程应用容器可以处理接收到的事件。例如,当第一电子装置1000的取向从肖像模式改变为风景模式并因此发生旋转事件时,远程应用容器管理器可以基于ID来确定执行旋转的远程应用容器,并且可以传输取向信息。远程应用容器可以根据取向信息旋转屏幕,并且还可以旋转接收用户输入的虚拟触摸输入面板。
图11是根据各种实施例的当应用终止时由第一电子装置和第二电子装置执行的方法的流程图。
图11所示的方法可以由上述第一电子装置1100(例如,图4的第一电子装置400)和第二电子装置1150(例如,图5的第二电子装置500)执行,并且示出的操作可以在参照图9描述的第一电子装置生成的虚拟显示器数据显示在第二电子装置上之后被执行。
根据各种实施例,在操作1160中,如果用户终止其中显示虚拟显示器的窗口之一,则第二电子装置1150的远程应用容器管理器(例如,图7的远程应用容器管理器770)可以终止与虚拟显示器对应的远程应用容器。
根据各种实施例,在操作1162中,远程应用容器管理器可以经由传输管理器(例如,图7的传输管理器760)将用于终止对应应用或任务的请求发送到第一电子装置1100的应用运行容器管理器(例如,图6的应用运行容器管理器610)。这里,终止请求可以包括对应容器或虚拟显示器的ID。
根据各种实施例,在操作1164中,第一电子装置1100的应用运行容器管理器可以经由包括在终止请求中的ID来确定对应的应用运行容器,并且可以记录终止原因。应用运行容器管理器可以终止在所确定的应用运行容器中配置的应用或任务。
根据各种实施例,在操作1166中,当任务被终止时,从活动任务管理器(例如,图6的活动任务管理器635)生成指示任务已经被终止的回调,并且应用运行容器管理器可以接收回调从而移除终止的应用运行容器。
根据各种实施例,在操作1168中,当任务被终止并且容器被移除时,应用运行容器管理器可以向远程应用容器发送终止事件和终止原因。
根据各种实施例,在操作1170中,远程应用容器可以终止映射到终止的应用或任务的远程应用容器。
根据各种实施例,在操作1172中,当应用或任务被终止时,第二电子装置1150可以释放所有相关资源。第二电子装置1150可以关闭终止的虚拟显示器的窗口,并且可以停止和释放解码虚拟显示器数据的解码器。
图12a和图12b示出了根据各种实施例的第二电子装置的显示器上提供的屏幕。
参照图12a,第二电子装置(例如,图5的第二电子装置500)可以在连接到第一电子装置(例如,图4的第一电子装置400)的同时,在显示器(例如,图5的第二显示器510)上显示从第一电子装置发送的虚拟显示器1210。
第二电子装置1200可以从第一电子装置接收应用列表信息,可以在显示器上显示与第一电子装置的应用对应的图标1202和1204,并且可以基于对图标的用户输入向第一电子装置发送运行应用的请求。
参照图12b,如果从第一电子装置同时接收到多个虚拟显示器,则第二电子装置1200可以将虚拟显示器1230、1232和1234中的每个配置和显示为不同的窗口。相应的所示窗口可以是根据不同任务的运行而生成的虚拟显示器。
如果在相应窗口中感测到用户输入,则第二电子装置1200可以向第一电子装置发送显示在对应窗口上的虚拟显示器(或容器)1230、1232和1234的ID,并输入事件信息。
图13是根据各种实施例的当在屏幕共享服务期间运行新任务时由第一电子装置处理运行屏幕的方法的流程图。
图13所示的方法可以由上述第一电子装置(例如,图4的第一电子装置400)执行,并且示出的操作可以在参照图9描述的第一电子装置生成的虚拟显示器数据显示在第二电子装置上之后被执行。
根据各种实施例,第一电子装置可以在一个镜像会话中仅驱动一个应用或任务,使得第二电子装置在独立的窗口上显示经由每个镜像会话传输的虚拟显示器。例如,除了根据用户输入运行第一电子装置的应用之外,应用还可以运行另一应用。例如,如果用户在使用信使应用的同时按下聊天窗口的URL,则互联网浏览器应用可以被运行。当如上所述运行新的应用或任务时,各种实施例可以经由单独的容器提供新的应用或任务的虚拟显示器。
根据各种实施例,在操作1310中,可以根据在应用运行容器中运行的应用中发生的事件来生成运行新应用的意图。例如,如果信使应用正在第一装置显示器上运行且用户在信使应用中选择互联网URL,则ACTION_VIEW意图可以与URL一起生成。
根据各种实施例,在操作1315中,活动任务管理器(例如,图6的活动任务管理器635)可以确定与意图对应的活动。活动任务管理器可以根据用户配置或应用安装情况运行来自意图的适当活动。例如,运行互联网浏览器应用的浏览器活动的意图可以根据ACTION_VIEW意图而运行。
根据各种实施例,在操作1320中,活动任务管理器可以识别其中已经生成意图的虚拟显示器,并且可以确定标志是否附于虚拟显示器的容器。这里,标志可以指示多个任务的虚拟显示器被发送到第二电子装置。例如,活动任务管理器可以确定是否已经为其中已生成意图的第一虚拟显示器配置了标志。
根据各种实施例,在操作1325中,活动任务管理器可以根据标志确定其中已经生成意图的虚拟显示器是否配置用于多屏幕镜像。
根据各种实施例,如果未配置多屏幕镜像,则在操作1330中,可以在同一虚拟显示器上运行对应的应用。例如,互联网浏览器可以在第一虚拟显示器的前台操作。
根据各种实施例,如果未配置多屏幕镜像,则可以在操作1335中确定是否存在已经在其中已生成了意图的虚拟显示器上运行的应用或任务。例如,如果信使应用已经在第一虚拟显示器上运行,则on start activity intercepted回调可以与APP_TO_APP_LAUNCHED标志一起生成。
根据各种实施例,如果存在已经在虚拟显示器上运行的应用或任务,则在操作1340中,活动任务管理器可以调用on start activity intercepted回调。
根据各种实施例,在操作1345中,应用运行容器管理器可以接收回调,并且可以生成新的应用运行容器。新的应用运行容器可以包括第二虚拟显示器。
根据各种实施例,在操作1350中,应用运行容器管理器可以为新的应用运行容器配置拦截的意图。
根据各种实施例,在操作1355中,应用运行容器管理器可以运行生成的应用运行容器。应用运行容器管理器可以在将与应用运行容器对应的第二虚拟显示器配置为意图的优选显示之后运行意图。在这种情况下,当应用正在从先前运行的应用运行容器推迟的应用运行容器中运行的同时,互联网浏览器应用可以独立于在第一虚拟显示器上运行的信使应用在第二虚拟显示器上运行。因此,信使应用可以经由第一虚拟显示器被镜像到第二电子装置,并且互联网浏览器应用可以经由第二虚拟显示器被镜像到第二电子装置。
图14a和图14b示出了根据各种实施例的当运行新任务时由第一电子装置和第二电子装置提供的屏幕。
根据实施例,当任务正在第一电子装置的显示器(例如,图4的第一显示器410)上运行的同时,可以根据第二电子装置的用户输入或事件感测任务的运行意图。
参照图14a,在日历应用1410被显示在第一电子装置1400的显示器上并且信使应用的虚拟显示器1460被提供给第二电子装置1450的状态下,可以由第一电子装置1400根据针对应用图标的用户输入或信使应用的请求来接收运行日历应用的请求。
在这种情况下,如图14b所示,第一电子装置1400可以显示用于确定是否将应用的运行位置从第一电子装置的显示器移动到第二电子装置1450的显示器的对话1420,对话1420可以被显示在第一电子装置1400的显示器上。
如果用户在对话中允许移动应用,则第一电子装置可以终止在主显示器上运行的应用,并且可以在新的虚拟显示器上运行日历应用。
图15是根据各种实施例的用于由第一电子装置在新的虚拟显示器上处理任务的方法的流程图。
根据各种实施例,在操作1510中,第一电子装置可以根据从第二电子装置接收到的任务运行请求生成新的应用运行容器。
根据各种实施例,在操作1515中,第一电子装置可以在生成的容器中运行应用或拦截的意图。
根据各种实施例,当被请求运行的应用或任务已经在另一显示器中运行时的处理可以经由on start activity intercepted回调来实现。例如,如果同一应用的任务已经被运行,则活动任务管理器可以感测该运行,从而向应用运行容器管理器提供具有指定标志的运行通知。应用运行容器管理器可以确定匹配的应用运行容器,从而将其传输到第二电子装置。第二电子装置可以接收其事件,并将匹配的远程应用容器带到前台。
表2示出了由活动任务管理器检查的条件、生成的标志以及当接收到标志时应用运行容器的操作。
[表2]
Figure BDA0004113480920000331
Figure BDA0004113480920000341
根据各种实施例,在操作1520中,第一电子装置可以识别on start activityintercepted条件。例如,应用运行容器管理器可以在初始化期间注册on start activityintercepted回调,这可以指示在指定条件下应拦截on start activity。根据各种实施例,如果满足on start activity intercepted条件,则在操作1525中,应用运行容器管理器可以调用on start activity intercepted回调。
根据各种实施例,在操作1530中,第一电子装置可以识别运行的应用相对于拦截的意图的位置。
根据各种实施例,当应用在虚拟显示器上运行时,在操作1535中,第一电子装置可以使第二电子装置将运行的应用带到前台,并且在操作1540中,可以终止生成的应用运行容器。例如,第一电子装置的应用运行容器管理器可以确定与运行的应用匹配的应用运行容器,从而将其传输到第二电子装置。第二电子装置可以接收其事件,并将匹配的远程应用容器带到前台。
根据各种实施例,如果应用正在第一电子装置的主显示器上运行,则在操作1545中,第一电子装置可以在主显示器上显示用于确定是否将应用的运行位置移动到第二电子装置的显示器的对话。
根据各种实施例,如果用户在操作1550中的对话上允许移动应用,则在操作1550中可以终止在第一电子装置的主显示器上运行的应用,并且在操作1560中可以在新的虚拟显示器上运行拦截的意图。
根据实施例,当用户运行应用或任务时,或者当从应用生成意图使得新的应用或任务被运行时,可以存在对应的应用已经在另一显示器(例如,第一电子装置的主显示器或虚拟显示器)上运行的情况。在这种情况下,取决于应用正在其上运行的显示器,可以如下执行实施方案。首先,当应用在第一电子装置的主显示器上运行时,如果应用被移动到虚拟显示器,则用户数据可能丢失,使得在用户确定是否将应用移动到虚拟显示器之后,应用可以被移动。可选地,当应用正在另一虚拟显示器中运行时,根据意图生成的容器可以被终止,并且先前运行的容器可以被识别从而被带到前台。
根据各种实施例,如果作为操作1520中的确定的结果,不满足on start activityintercepted条件,则在操作1560中,第一电子装置可以运行对应意图的应用。
根据各种实施例,在操作1570中,第一电子装置可以调用on task played回调。
根据各种实施例,在操作1575中,第一电子装置可以识别运行容器的数量。
根据各种实施例,如果运行的容器的数量大于参考数量,则在操作1580中,第一电子装置可以从运行的容器中提取要终止的容器,并且在操作1585中可以终止选择的容器。
根据各种实施例,第一电子装置可以确定要提供给第二电子装置的虚拟显示器(或容器)的最大数量。最大数量可以根据处理器和存储器预先分配,或者可以由第一电子装置基于处理器和/或存储器的可用资源、第一电子装置的温度和经由通信接口发送到外部装置的数据的传输速率中的至少一项来确定。
例如,如果电子装置的资源有限,则有必要计算和限制可用于同时镜像的虚拟显示器的数量。根据实施例,第一电子装置可以如下获得可同时镜像的虚拟显示器的最大数量。
N=总编码器表面的面积/最大镜像分辨率的大小
例如,如果总编码器表面的面积是23,760,000,并且最大镜像分辨率是与第一电子装置的分辨率相同的FHD+(2200*1080),则同时可用于镜像的虚拟显示器的最大数量可以是23,760,000/(2200*1080),即10。
根据另一实施例,如果在镜像期间支持相机记录编码,则使用编码器表面的一部分,使得第一电子装置可以如下获得可同时镜像的虚拟显示器的最大数量。
N=(总编码器表面的面积-Chloe拍摄分辨率)/最大镜像分辨率的大小
例如,如果相机应用正在以3840*2160的最大拍摄分辨率记录视频,则执行计算使得N=6.50,并且可以同时执行多达6个虚拟显示器的镜像。
根据实施例,同时可用于镜像的虚拟显示器的最大数量可以被确定为针对每个芯片集合(例如,第一电子装置的处理器和存储器)预定义的数量。例如,第一电子装置可以根据包括在第一电子装置中的芯片集合的类型来控制具有固定最大数量的虚拟显示器。
根据实施例,第一电子装置可以根据第一电子装置的过热状态确定可同时镜像的虚拟显示器的最大数量。例如,如果温度低于45度,则第一电子装置可以将最大数量确定为5,如果温度在45度和60度之间,则可以将最大数量确定为1,如果温度高于60度,则可以不向第二电子装置提供虚拟显示器。
根据实施例,第一电子装置可以根据平均传输速率确定可同时镜像的虚拟显示器的最大数量。例如,如果平均传输速率是5MB/s或更高,则第一电子装置可以将最大数量确定为5,如果平均传输速率是3MB/s至5Mb/s,则可以将最大数量确定为3,如果平均传输速率是1MB/s至3MB/s,则可以将最大数量确定为1。
根据各种实施例,如果生成比N个镜像会话(或虚拟显示器或容器)的最大数量多的镜像会话,则第一电子装置可以终止超出数量的会话。根据实施例,第一电子装置可以终止从用户使用开始具有最长时间的镜像会话。应用运行容器可以存储容器的生成时间、激活时间和去激活时间的时间戳,并且如果用户选择第二电子装置上的一个窗口,则可以去激活除对应虚拟显示器的容器以外的其余容器。应用运行容器管理器可以基于每个应用运行容器的时间戳来终止最老的去激活的镜像会话。
根据实施例,在生成应用运行容器之后,如果运行的应用运行容器的数量超过最大数量,则第一电子装置终止最老的应用运行容器,在这种情况下,应用运行容器可能被无意地终止。例如,当N个镜像会话正在运行,并且容器1是最老的容器时,如果由第二电子装置上的用户输入运行新的应用,则可以生成容器N+1,并且可以终止作为最老的容器的容器1。如果由用户运行的应用或任务已经在第一电子装置的主显示器或虚拟显示器上运行,并且用户不想将该应用或任务移动到另一显示器,则容器N+1可以在没有应用或任务运行的情况下被终止。在这种情况下,根据容器1的终止,只有N-1个容器可以被运行。这种情况可以是由于这样的事实,即当用户运行应用时,不可能确切地知道将执行哪个应用或任务。例如,如果电子邮件应用能够同时驱动收件箱任务和编写器任务,则当用户运行电子邮件应用时,可以获得用于运行电子邮件应用的主启动器活动的意图,但是当开始该意图时,要生成的任务是未知的,并且该任务可以在运行该意图之后被识别。为了解决这种情况,根据各种实施例,当并发运行的应用运行容器的数量超过最大数量时终止一个应用运行容器的例程可以不在生成新的运行容器时执行,并且该例程可以在任务在应用运行容器中实际运行时执行。为此,在接收到指示执行新任务的事件时,远程应用模式服务的任务观察器可以终止超过最大数量的任务数量。
图16是根据各种实施例的当运行启动后立即终止的任务时由第一电子装置处理该任务的方法的流程图。
根据实施例,当虚拟显示器以任务为单位镜像时,可能出现一些应用的意外启动。例如,当运行一些应用时,生成和执行第一任务,并且该任务可以在导致第二任务的运行之后立即终止。在这种情况下,可能存在立即终止的第一任务的虚拟显示器应在其生成之后立即终止的情况。为了防止这种情况,第一电子装置可以执行实施方案来为应用运行容器配置任务的运行模式,并且当任务终止时感测所配置的模式,从而使虚拟显示器在第二电子装置上终止。
根据各种实施例,在操作1610中,第一电子装置可以感测在虚拟显示器上运行的任务的终止。
根据各种实施例,在操作1615中,可以在任务观察器(例如,图6的任务观察器)中生成on task removed回调。
根据各种实施例,在操作1620中,当接收到on task removed回调时,应用运行容器管理器可以经由任务ID确定应用运行容器。
根据各种实施例,在操作1625中,应用运行容器可以检查新任务是否已经启动以及运行时间。例如,应用运行容器管理器可以检查在虚拟显示器上运行第一任务之后是否立即运行第二任务、以及第一任务在其运行之后终止的时间。当在对应的应用运行容器中感测到第二任务的启动时,应用运行容器管理器可以将指示任务已经启动的标志配置为真。然后,如果任务立即终止,则可以检查任务启动标志和任务的运行时间。
根据各种实施例,在操作1630中,应用运行容器管理器可以确定在对应的应用运行容器中运行然后终止的第一任务的运行时间是否小于参考时间(例如,2秒)。
根据各种实施例,如果在运行之后终止的第一任务的运行时间小于参考时间,则在操作1635中,终止的原因可以在应用运行容器中被记录为启动新任务之后的终止。
根据各种实施例,在操作1640中,应用运行容器管理器可以移除应用运行容器。
根据各种实施例,如果在运行之后终止的第一任务的运行时间大于参考时间,则终止的原因可以在应用运行容器中被记录为应用终止。
第二电子装置可以接收任务的终止原因值,并且可以处理其中运行任务的虚拟显示器。
根据各种实施例的电子装置可以包括显示器、通信接口、存储器以及操作地连接到显示器、通信接口和存储器的处理器,其中处理器配置为:经由通信接口确定与外部装置的连接;从外部装置接收运行第一任务的请求;响应于运行第一任务的请求基于存储在存储器中的应用运行第一任务,生成包括第一任务的运行屏幕的第一虚拟显示器,并将第一虚拟显示器发送到外部装置;在第一任务的运行期间,从外部装置接收运行第二任务的请求;以及响应于运行第二任务的请求基于存储在存储器中的应用运行第二任务,生成包括第二任务的运行屏幕的第二虚拟显示器,并将第二虚拟显示器发送到外部装置。
根据各种实施例,处理器可以配置为:将第一编码器、第一输入表面和第一虚拟显示器配置为第一容器,第一编码器配置为压缩第一任务中生成的第一图像信息,第一图像信息被记录在第一输入表面上;以及将第二编码器、第二输入表面和第二虚拟显示器配置为第二容器,第二编码器配置为压缩第二任务中生成的第二图像信息,第二图像信息被记录在第二输入表面上。
根据各种实施例,处理器可以配置为:生成第一虚拟显示器的识别信息并将其与第一虚拟显示器发送到外部装置;以及生成第二虚拟显示器的识别信息并将其与第二虚拟显示器发送到外部装置。
根据各种实施例,处理器可以配置为当从外部装置接收到虚拟显示器的输入事件时,通过使用包括在输入事件中的识别信息在第一任务或第二任务中处理输入事件。
根据各种实施例,处理器可以配置为,如果从外部装置接收到在第一虚拟显示器上运行第三任务的意图,则确定与第三任务对应的虚拟显示器。
根据各种实施例,处理器可以配置为,如果没有生成与第三任务对应的虚拟显示器,则生成包括第三任务的运行屏幕的第三虚拟显示器,并将第三虚拟显示器发送到外部装置。
根据各种实施例,处理器可以配置为,如果生成了与第三任务对应的虚拟显示器,则使第三任务在前台操作。
根据各种实施例,处理器可以配置为当第三任务的运行屏幕正显示在显示器上时,停止第三任务的运行屏幕在显示器上的显示,生成包括第三任务的运行屏幕的第三虚拟显示器,并将第三虚拟显示器发送到外部装置,或将正显示在显示器上的第三任务的运行屏幕发送到外部装置。
根据各种实施例,处理器可以配置为,如果从外部装置接收到运行第三任务的请求,则识别包括第一虚拟显示器和第二虚拟显示器的生成的虚拟显示器的数量,并且如果虚拟显示器的数量超过最大数量,则终止生成的虚拟显示器中的至少一个。
根据各种实施例,虚拟显示器的最大数量可以配置为根据处理器和存储器预先分配,或者由处理器基于处理器和存储器的可用资源、电子装置的温度和经由通信接口发送到外部装置的数据的传输速率中的至少一项来确定。
根据各种实施例,处理器可以配置为,如果虚拟显示器的数量超过最大数量,则终止与构成虚拟显示器的任务当中具有最长去激活时间的任务对应的虚拟显示器。
根据各种实施例,处理器可以配置为,如果虚拟显示器中的至少一个被终止,则将任务的终止原因信息发送到外部装置。
根据各种实施例,通信接口可以配置为经由Wi-Fi直连建立与外部装置的无线连接。
根据各种实施例的由电子装置在外部装置的显示器上提供屏幕的方法可以包括:确定与外部装置的连接的操作;从外部装置接收运行第一任务的请求的操作;响应于运行第一任务的请求基于存储在存储器中的应用运行第一任务、生成包括第一任务的运行屏幕的第一虚拟显示器、并将第一虚拟显示器发送到外部装置的操作;在第一任务的运行期间从外部装置接收运行第二任务的请求的操作;以及响应于运行第二任务的请求基于存储在存储器中的应用运行第二任务、生成包括第二任务的运行屏幕的第二虚拟显示器、并将第二虚拟显示器发送到外部装置的操作。
根据各种实施例,第一虚拟显示器的生成可以包括将第一编码器、第一输入表面和第一虚拟显示器配置为第一容器,第一编码器配置为压缩第一任务中生成的第一图像信息,第一图像信息被记录在第一输入表面上。
根据各种实施例,将第一虚拟显示器发送到外部装置可以包括生成第一虚拟显示器的识别信息并将其与第一虚拟显示器发送到外部装置,将第二虚拟显示器发送到外部装置可以包括生成第二虚拟显示器的识别信息并将其与第二虚拟显示器发送到外部装置。
根据各种实施例,该方法还包括,当从外部装置接收到虚拟显示器的输入事件时,通过使用包括在输入事件中的识别信息在第一任务或第二任务中处理输入事件。
根据各种实施例,该方法还包括,如果从外部装置接收到运行第三任务的请求,则识别包括第一虚拟显示器和第二虚拟显示器的生成的虚拟显示器的数量,并且如果虚拟显示器的数量超过最大数量,则终止生成的虚拟显示器中的至少一个。
根据各种实施例的电子装置可以包括显示器、通信接口以及操作地连接到显示器和通信接口的处理器,其中处理器配置为:经由通信接口确定与外部装置的连接;响应于运行可在外部装置中运行的第一任务的第一用户输入,向外部装置发送运行第一任务的请求;从外部装置接收包括第一任务的运行屏幕的第一虚拟显示器;响应于运行可在外部装置中运行的第二任务的第二用户输入,向外部装置发送运行第二任务的请求;从外部装置接收包括第二任务的运行屏幕的第二虚拟显示器;以及在显示器上的不同窗口上显示第一虚拟显示器和第二虚拟显示器。
根据各种实施例,处理器可以配置为,如果在第一虚拟显示器的窗口上感测到第三用户输入,则将与第三用户输入对应的具有第一虚拟显示器的识别信息的事件发送到外部装置。

Claims (15)

1.一种电子装置,包括:
显示器;
通信接口;
存储器;以及
操作地连接到显示器、通信接口和存储器的处理器,
其中处理器配置为:
经由通信接口确定与外部装置的连接,
从所述外部装置接收运行第一任务的请求,
响应于运行第一任务的请求,基于存储在存储器中的应用运行第一任务,生成包括第一任务的运行屏幕的第一虚拟显示器,并将第一虚拟显示器发送到所述外部装置,
在运行第一任务期间,从所述外部装置接收运行第二任务的请求,以及
响应于运行第二任务的请求,基于存储在存储器中的应用运行第二任务,生成包括第二任务的运行屏幕的第二虚拟显示器,并将第二虚拟显示器发送到所述外部装置。
2.根据权利要求1所述的电子装置,其中处理器配置为:
将第一编码器、第一输入表面和第一虚拟显示器配置为第一容器,第一编码器配置为压缩第一任务中生成的第一图像信息,第一图像信息被记录在第一输入表面上,以及
将第二编码器、第二输入表面和第二虚拟显示器配置为第二容器,第二编码器配置为压缩第二任务中生成的第二图像信息,第二图像信息被记录在第二输入表面上。
3.根据权利要求1所述的电子装置,其中处理器配置为:
生成第一虚拟显示器的识别信息,并将其与第一虚拟显示器发送到所述外部装置,以及
生成第二虚拟显示器的识别信息,并将其与第二虚拟显示器发送到所述外部装置。
4.根据权利要求3所述的电子装置,其中处理器配置为:
当从所述外部装置接收到针对虚拟显示器的输入事件时,通过使用包括在所述输入事件中的识别信息在第一任务或第二任务中处理所述输入事件。
5.根据权利要求1所述的电子装置,其中处理器配置为:
当从所述外部装置接收到在第一虚拟显示器上运行第三任务的意图时,确认与第三任务对应的虚拟显示器。
6.根据权利要求5所述的电子装置,其中处理器配置为:
如果生成了与第三任务对应的虚拟显示器,则使第三任务在前台操作,
当没有生成与第三任务对应的虚拟显示器时,生成包括第三任务的运行屏幕的第三虚拟显示器,并将第三虚拟显示器发送到所述外部装置。
7.根据权利要求5所述的电子装置,其中处理器配置为:
当第三任务的运行屏幕正在显示器上显示时,停止在显示器上显示第三任务的运行屏幕,生成包括第三任务的运行屏幕的第三虚拟显示器,并将第三虚拟显示器发送到所述外部装置,或者
将正在显示器上显示的第三任务的运行屏幕发送到所述外部装置。
8.根据权利要求1所述的电子装置,其中处理器配置为:
当从所述外部装置接收到运行第三任务的请求时,识别包括第一虚拟显示器和第二虚拟显示器的生成的虚拟显示器的数量,以及
当虚拟显示器的数量超过最大数量时,终止生成的虚拟显示器中的至少一个。
9.根据权利要求8所述的电子装置,
其中虚拟显示器的最大数量配置为根据处理器和存储器预先分配,或者
由处理器基于处理器和存储器的可用资源、电子装置的温度以及经由通信接口发送到外部装置的数据的传输速率中的至少一项来确定。
10.根据权利要求9所述的电子装置,其中处理器配置为:
当虚拟显示器的数量超过最大数量时,终止与构成虚拟显示器的任务当中具有最长去激活时间的任务对应的虚拟显示器,并将所述任务的终止原因信息发送到所述外部装置。
11.一种由电子装置在外部装置的显示器上提供屏幕的方法,所述方法包括:
确定与所述外部装置的连接;
从所述外部装置接收运行第一任务的请求;
响应于运行第一任务的请求,基于存储在存储器中的应用运行第一任务,生成包括第一任务的运行屏幕的第一虚拟显示器,并将第一虚拟显示器发送到所述外部装置;
在运行第一任务期间,从所述外部装置接收运行第二任务的请求;以及
响应于运行第二任务的请求,基于存储在存储器中的应用运行第二任务,生成包括第二任务的运行屏幕的第二虚拟显示器,并将第二虚拟显示器发送到所述外部装置。
12.根据权利要求11所述的方法,其中生成第一虚拟显示器包括将第一编码器、第一输入表面和第一虚拟显示器配置为第一容器,第一编码器配置为压缩第一任务中生成的第一图像信息,第一图像信息被记录在第一输入表面上。
13.根据权利要求12所述的方法,其中将第一虚拟显示器发送到所述外部装置包括生成第一虚拟显示器的识别信息并将其与第一虚拟显示器发送到所述外部装置,以及
将第二虚拟显示器发送到所述外部装置包括生成第二虚拟显示器的识别信息并将其与第二虚拟显示器发送到所述外部装置。
14.根据权利要求13所述的方法,还包括:当从所述外部装置接收到针对虚拟显示器的输入事件时,通过使用包括在所述输入事件中的识别信息在第一任务或第二任务中处理所述输入事件。
15.一种电子装置,包括:
显示器;
通信接口;以及
操作地连接到显示器和通信接口的处理器,
其中处理器配置为经由通信接口确定与外部装置的连接,
响应于运行可在所述外部装置中运行的第一任务的第一用户输入,向所述外部装置发送运行第一任务的请求,
从所述外部装置接收包括第一任务的运行屏幕的第一虚拟显示器,
响应于运行可在所述外部装置中运行的第二任务的第二用户输入,向所述外部装置发送运行第二任务的请求,
从所述外部装置接收包括第二任务的运行屏幕的第二虚拟显示器,以及
在显示器上的不同窗口上显示第一虚拟显示器和第二虚拟显示器。
CN202180057655.0A 2020-08-04 2021-08-04 电子装置和由电子装置执行的用于在外部装置显示器上提供应用屏幕的方法 Pending CN116114253A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2020-0097391 2020-08-04
KR1020200097391A KR20220017193A (ko) 2020-08-04 2020-08-04 전자 장치 및 전자 장치가 외부 장치 디스플레이 상에 어플리케이션 화면을 제공하는 방법
PCT/KR2021/010263 WO2022031029A1 (ko) 2020-08-04 2021-08-04 전자 장치 및 전자 장치가 외부 장치 디스플레이 상에 어플리케이션 화면을 제공하는 방법

Publications (1)

Publication Number Publication Date
CN116114253A true CN116114253A (zh) 2023-05-12

Family

ID=80117550

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180057655.0A Pending CN116114253A (zh) 2020-08-04 2021-08-04 电子装置和由电子装置执行的用于在外部装置显示器上提供应用屏幕的方法

Country Status (5)

Country Link
US (1) US20220156029A1 (zh)
EP (1) EP4178214A4 (zh)
KR (1) KR20220017193A (zh)
CN (1) CN116114253A (zh)
WO (1) WO2022031029A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117130573A (zh) * 2023-10-26 2023-11-28 北京世冠金洋科技发展有限公司 一种多屏幕的控制方法、装置、设备和存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110769320B (zh) * 2019-11-19 2021-10-15 三星电子(中国)研发中心 一种智能设备分享内容的方法、系统及装置
WO2023182667A1 (ko) * 2022-03-21 2023-09-28 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
WO2024076084A1 (ko) * 2022-10-07 2024-04-11 삼성전자 주식회사 사물 인터넷 서비스를 제공하는 전자 장치 및 그 동작 방법
CN116662150B (zh) * 2022-12-15 2024-05-31 荣耀终端有限公司 应用启动耗时检测方法及相关装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012020864A1 (ko) * 2010-08-13 2012-02-16 엘지전자 주식회사 이동단말기, 디스플레이 장치 및 그 제어 방법
WO2012044539A2 (en) * 2010-10-01 2012-04-05 Imerj, Llc Multi-operating system
WO2012046890A1 (ko) * 2010-10-06 2012-04-12 엘지전자 주식회사 이동단말기, 디스플레이 장치 및 그 제어 방법
KR101522399B1 (ko) * 2011-12-23 2015-05-22 주식회사 케이티 휴대 단말에서 외부 디스플레이 기기로의 화면 표출 방법 및 그 휴대 단말
KR101952682B1 (ko) * 2012-04-23 2019-02-27 엘지전자 주식회사 이동 단말기 및 그 제어방법
KR101919788B1 (ko) * 2012-05-31 2018-11-19 엘지전자 주식회사 이동 단말기 및 그 제어방법
KR102090745B1 (ko) * 2013-05-23 2020-04-14 삼성전자주식회사 전자장치에서 외부 디스플레이 장치를 이용하여 멀티태스킹을 수행하는 방법 및 장치
KR102144553B1 (ko) * 2013-08-30 2020-08-13 삼성전자주식회사 다중 디스플레이 방법, 저장 매체 및 전자 장치
KR102088384B1 (ko) * 2013-09-04 2020-05-28 삼성전자주식회사 디스플레이 기기의 제어 방법, 그에 따른 싱크 기기 및 그에 따른 미러링 시스템
US10045065B2 (en) * 2014-09-05 2018-08-07 Qualcomm Incorporated Synchronization and control of overlay contents for video streaming in a wireless communication system
KR20160062922A (ko) * 2014-11-26 2016-06-03 삼성전자주식회사 외부 장치와의 정보 교환 방법 및 그 전자 장치
KR102364620B1 (ko) * 2015-01-26 2022-02-17 엘지전자 주식회사 영상표시장치, 및 그 동작방법
US11134294B2 (en) * 2015-07-02 2021-09-28 Lg Electronics Inc. Image display apparatus and mobile terminal
US10372403B2 (en) * 2016-09-15 2019-08-06 Dell Products L.P. Multi-user display collaboration system
KR102303420B1 (ko) * 2017-02-28 2021-09-23 삼성전자주식회사 전자 장치 및 전자 장치의 윈도우 관리 방법
KR102527824B1 (ko) * 2018-07-31 2023-05-02 삼성전자주식회사 복수의 출력 화면 환경에서 가상 입력 인터페이스의 표시를 제어하기 위한 전자 장치 및 그의 동작 방법
US11956495B2 (en) * 2019-10-07 2024-04-09 Lg Electronics Inc. Source device and wireless system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117130573A (zh) * 2023-10-26 2023-11-28 北京世冠金洋科技发展有限公司 一种多屏幕的控制方法、装置、设备和存储介质
CN117130573B (zh) * 2023-10-26 2024-02-20 北京世冠金洋科技发展有限公司 一种多屏幕的控制方法、装置、设备和存储介质

Also Published As

Publication number Publication date
EP4178214A1 (en) 2023-05-10
US20220156029A1 (en) 2022-05-19
EP4178214A4 (en) 2023-12-27
WO2022031029A1 (ko) 2022-02-10
KR20220017193A (ko) 2022-02-11

Similar Documents

Publication Publication Date Title
CN116114253A (zh) 电子装置和由电子装置执行的用于在外部装置显示器上提供应用屏幕的方法
EP3444716A1 (en) Apparatus and method for providing screen mirroring service
EP3793169B1 (en) Application function implementation method and electronic device
CN109429102B (zh) 用于显示应用的电子装置及服务器
EP3749001B1 (en) Electronic device and method for switching electronic device between dual standby mode and single standby mode
US11076037B2 (en) Electronic device for synchronizing modification among screens and operation method thereof
US10943404B2 (en) Content output method and electronic device for supporting same
US10048764B2 (en) Sensor module and device including the same
CN111788819B (zh) 根据输入装置向应用转发用户输入的移动电子装置和方法
US20230176655A1 (en) Electronic device and method for controlling vibration output thereof
KR102467869B1 (ko) 전자 장치 및 그의 동작 방법
US20240250833A1 (en) Electronic device for processing multi-signed apk file, and operating method therefor
CN111557097A (zh) 一种虚拟遥控器中电源键的控制方法及终端
WO2022063037A1 (zh) 一种补丁包安装方法和装置
CN111726848B (zh) 设备绑定方法、目标启动装置、固定终端及存储介质
US11599321B2 (en) Electronic device and operating method therefor
JP7319431B2 (ja) アプリケーション機能の実施方法及び電子装置
US20170160712A1 (en) Electronic device for controlling external electronic device and operating method thereof
US20170102762A1 (en) Method of controlling power supply and electronic device thereof
KR20200114707A (ko) 전자 장치 및 전자 장치에서의 스트리밍 어플리케이션 처리 방법
EP4398545A1 (en) Electronic device for controlling function of process corresponding to one or more messenger data sets, and method thereof
US20230188782A1 (en) Input-based streaming control method and electronic device therefor
US20240028427A1 (en) Electronic device and method for controlling signal transmitted to external electronic device
US20230007088A1 (en) Network connection method and electronic device supporting same
EP4325874A1 (en) Electronic device and operation method of electronic device

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