











技术领域technical field
本申请涉及计算机技术领域,具体地涉及一种投屏方法、设备、存储介质及计算机程序产品。The present application relates to the field of computer technology, and in particular to a screen projection method, device, storage medium and computer program product.
背景技术Background technique
在现有技术的应用场景中,多屏协同是一种分布式技术,可以实现跨系统、跨设备之间的协同操作,将手机与电脑、平板或者平板与电脑连接后,实现跨设备的资源共享及操作。In the application scenarios of existing technologies, multi-screen collaboration is a distributed technology that can realize cross-system and cross-device collaborative operations. After connecting mobile phones to computers, tablets or tablets to computers, cross-device resources Share and operate.
多屏协同的一种应用场景是无线投屏,无线投屏通常指:通过无线网络,将具有较强核心处理能力的源多媒体终端的屏幕显示内容以流媒体的形式实时地传送到目的多媒体终端上进行显示的技术。源端主要指手机等具有较强独立核心处理系统的可移动智能设备,服务终端指的是多媒体服务终端,包括支持屏幕接收且具备较好的视听效果的平板、电子白板、大屏幕以及电视等。通过无线投屏,可将手机/平板内容或媒体文件(图库、音乐和视频)投射到大屏上,获得跨屏体验。例如,2019年8月华为开发者大会EMUI10上发布多屏协同,实现PC和手机的无缝协同。2019年11月25日华为MatePad及全场景发布会,正式发布旗舰新品MatePad Pro平板电脑,MatePad Pro搭载EMUI10系统,支持多屏协同功能,可将手机屏幕直接投射到平板上。An application scenario of multi-screen collaboration is wireless projection. Wireless projection usually refers to: the screen display content of the source multimedia terminal with strong core processing capabilities is transmitted to the destination multimedia terminal in real time in the form of streaming media through a wireless network. display technology. The source end mainly refers to mobile smart devices with strong independent core processing systems such as mobile phones, and the service terminal refers to multimedia service terminals, including tablets, electronic whiteboards, large screens, and TVs that support screen reception and have good audio-visual effects. . Through wireless screen projection, mobile phone/tablet content or media files (gallery, music and video) can be projected to the large screen to obtain a multi-screen experience. For example, in August 2019, the Huawei Developer Conference EMUI10 released multi-screen collaboration to achieve seamless collaboration between PCs and mobile phones. On November 25, 2019, Huawei MatePad and its full-scenario press conference officially released the flagship new MatePad Pro tablet computer. MatePad Pro is equipped with EMUI10 system, supports multi-screen collaboration function, and can directly project the screen of the mobile phone to the tablet.
在无线投屏应用场景中,投屏反向控制(user input back channel,UIBC)通常指:通过无线投屏接收端控制发送端设备的一种功能,它允许用户在投屏下使用接收端的输入设备控制手机/平板。不同投屏设备,可用的输入设备不同,包括键盘、鼠标、遥控器、触屏等。In the application scenario of wireless screen projection, reverse screen projection control (user input back channel, UIBC) usually refers to: a function that controls the sending end device through the wireless projection screen receiving end, which allows the user to use the input of the receiving end under the screen projection Device control phone/tablet. Different screen projection devices have different available input devices, including keyboard, mouse, remote control, touch screen, etc.
在UIBC应用场景中,用户通过无线投屏接收端控制发送端设备,由于响应用户控制操作的实际执行设备为发送端设备,因此,在用户在无线投屏接收端进行控制操作与无线投屏接收端显示该控制操作的响应结果之间的时延,会远远大于,用户直接在发送端设备进行控制操作与发送端设备直接显示该控制操作的响应结果之间的时延,这就大大降低了用户的设备使用体验。因此,需要一种新的投屏方案,以减小用户在无线投屏接收端进行控制操作与无线投屏接收端显示该控制操作的响应结果之间的时延。In the UIBC application scenario, the user controls the sending end device through the wireless projection receiving end. Since the actual execution device responding to the user's control operation is the sending end device, the user performs the control operation and the wireless projection receiving end at the wireless projection receiving end. The time delay between displaying the response result of the control operation at the end will be much greater than the time delay between the user directly performing the control operation on the sending end device and the sending end device directly displaying the response result of the control operation, which greatly reduces the user's device experience. Therefore, a new screen projection solution is needed to reduce the time delay between the user's control operation at the wireless screen projection receiving end and the wireless screen projection receiving end displaying the response result of the control operation.
发明内容Contents of the invention
有鉴于此,本申请提供一种投屏方法、设备、存储介质及计算机程序产品,以利于解决现有技术投屏应用场景中投屏反向控制所存在的问题。In view of this, the present application provides a screen projection method, device, storage medium, and computer program product, so as to help solve the problems existing in reverse control of screen projection in application scenarios of screen projection in the prior art.
第一方面,本申请实施例提供了一种投屏方法,所述方法应用于第一电子设备,所述方法包括:In the first aspect, an embodiment of the present application provides a screen projection method, the method is applied to a first electronic device, and the method includes:
接收第二电子设备的投屏内容数据;receiving screen projection content data of the second electronic device;
根据所述投屏内容数据显示投屏界面,所述投屏界面用于显示所述投屏内容数据对应的投屏内容;Displaying a screen projection interface according to the screen projection content data, where the screen projection interface is used to display screen projection content corresponding to the screen projection content data;
根据第一用户输入获取第一输入事件,其中,所述第一用户输入为针对所述投屏内容进行的操作;acquiring a first input event according to a first user input, wherein the first user input is an operation performed on the screen projection content;
发送所述第一输入事件到所述第二电子设备;sending the first input event to the second electronic device;
当接收到针对第一应用的应用启动通知时,确认所述第一电子设备上是否安装有第二应用,其中,所述第二应用与所述第一应用为安装在不同设备上的同一应用,当所述第一输入事件在所述第二电子设备上的响应操作为,启动安装在所述第二电子设备上的第一应用时,所述第二电子设备生成针对所述第一应用的应用启动通知;When receiving an application start notification for a first application, confirm whether a second application is installed on the first electronic device, wherein the second application and the first application are the same application installed on different devices , when the response operation of the first input event on the second electronic device is to start a first application installed on the second electronic device, the second electronic device generates an App launch notification for ;
当所述第一电子设备上安装有所述第二应用时,启动安装在所述第一电子设备上的第二应用。When the second application is installed on the first electronic device, start the second application installed on the first electronic device.
在第一方面的一种实现方式中,所述启动安装在所述第一电子设备上的第二应用,包括:In an implementation manner of the first aspect, the launching the second application installed on the first electronic device includes:
显示第一应用界面,所述第一应用界面用于显示所述第二应用的运行画面,所述第一应用界面为独立的窗口界面或全屏界面。A first application interface is displayed, the first application interface is used to display the running screen of the second application, and the first application interface is an independent window interface or a full-screen interface.
在第一方面的一种实现方式中,所述启动安装在所述第一电子设备上的第二应用,包括:In an implementation manner of the first aspect, the launching the second application installed on the first electronic device includes:
使用所述第二应用的运行画面替换所述投屏内容,在所述投屏界面中显示所述第二应用的运行画面。The screen projection content is replaced by the running screen of the second application, and the running screen of the second application is displayed in the screen projection interface.
在第一方面的一种实现方式中,所述启动安装在所述第一电子设备上的第二应用,包括:In an implementation manner of the first aspect, the launching the second application installed on the first electronic device includes:
在启动所述第二应用的过程中,当需要加载第一应用数据时,暂停启动流程,将所述第一应用数据的描述信息发送到所述第二电子设备,所述第一应用数据为所述第一电子设备上所述第二应用的本地应用数据;During the process of starting the second application, when the first application data needs to be loaded, the start process is suspended, and the description information of the first application data is sent to the second electronic device, and the first application data is local application data of the second application on the first electronic device;
接收所述第二电子设备发送的第二应用数据,其中,所述第二应用数据为所述第二电子设备上所述第一应用的本地应用数据,所述第二应用数据与所述第一应用数据的描述相匹配;receiving second application data sent by the second electronic device, wherein the second application data is local application data of the first application on the second electronic device, and the second application data and the first application data are An application data description matches;
加载所述第二应用数据以替换所述第一应用数据的加载环节,继续所述启动流程。Loading the second application data to replace the loading step of the first application data, and continuing the startup process.
在第一方面的一种实现方式中,使用数据加载请求作为所述描述信息;In an implementation manner of the first aspect, a data loading request is used as the description information;
在启动所述第二应用的过程中,当存在第一数据加载请求时,将所述第一数据加载请求发送到所述第二电子设备,其中,所述第一数据加载请求用于请求加载所述第一应用数据;In the process of starting the second application, when there is a first data loading request, the first data loading request is sent to the second electronic device, wherein the first data loading request is used to request loading the first application data;
所述接收所述第二电子设备发送的第二应用数据,其中,所述第二电子设备根据所述第一数据加载请求定位所述第二应用数据;receiving the second application data sent by the second electronic device, wherein the second electronic device locates the second application data according to the first data loading request;
所述加载所述第二应用数据以替换所述第一应用数据的加载环节,包括,基于所述第二应用数据响应所述第一数据加载请求。The step of loading the second application data to replace the first application data includes responding to the first data loading request based on the second application data.
在第一方面的一种实现方式中,所述启动安装在所述第一电子设备上的第二应用,包括:In an implementation manner of the first aspect, the launching the second application installed on the first electronic device includes:
在启动所述第一应用之前,确认启动所述第二应用过程中需要加载的第一应用启动数据,所述第一应用启动数据为所述第一电子设备上所述第二应用的本地应用数据;Before starting the first application, confirming the first application startup data that needs to be loaded during the startup of the second application, where the first application startup data is a local application of the second application on the first electronic device data;
将启动所述应用启动数据的描述信息发送到所述第二电子设备;sending description information for activating the application activating data to the second electronic device;
接收所述第二电子设备发送的第二应用启动数据,所述第二应用启动数据为所述第二电子设备上所述第一应用的本地应用数据,所述第二应用启动数据与所述第一应用启动数据的描述信息相对应;receiving second application startup data sent by the second electronic device, where the second application startup data is local application data of the first application on the second electronic device, and the second application startup data is related to the Corresponding to the description information of the first application startup data;
在启动安装在所述第一电子设备上的第一应用的过程中,当需要加载所述第一应用启动数据时,加载所述第二应用启动数据。During the process of starting the first application installed on the first electronic device, when the first application starting data needs to be loaded, the second application starting data is loaded.
在第一方面的一种实现方式中,所述方法还包括:In an implementation manner of the first aspect, the method further includes:
根据第二用户输入获取第二输入事件,其中,所述第二用户输入为针对所述第二应用的运行画面进行的操作;acquiring a second input event according to a second user input, wherein the second user input is an operation performed on a running screen of the second application;
在所述第二应用响应所述第二输入事件的过程中,当需要加载第三应用数据时,暂停响应流程,将所述第三应用数据的描述信息发送到所述第二电子设备,所述第三应用数据为所述第一电子设备上所述第二应用的本地应用数据;During the process of the second application responding to the second input event, when the third application data needs to be loaded, the response process is suspended, and the description information of the third application data is sent to the second electronic device, so The third application data is local application data of the second application on the first electronic device;
接收所述第二电子设备发送的第四应用数据,其中,所述第四应用数据为所述第二电子设备上所述第一应用的本地应用数据,所述第四应用数据与所述第三应用数据的描述相匹配;receiving fourth application data sent by the second electronic device, wherein the fourth application data is local application data of the first application on the second electronic device, and the fourth application data is the same as the first application data The description of the three application data matches;
加载所述第四应用数据以替换所述第三应用数据的加载环节,继续所述响应流程。Loading the fourth application data to replace the loading link of the third application data, and continuing the response process.
在第一方面的一种实现方式中,使用数据加载请求作为所述第三应用数据的描述信息;In an implementation manner of the first aspect, a data loading request is used as the description information of the third application data;
在所述第二应用响应所述第二输入事件的过程中,当存在第二数据加载请求时,将所述第二数据加载请求发送到所述第二电子设备,其中,所述第二数据加载请求用于请求加载所述第三应用数据;When the second application responds to the second input event, when there is a second data loading request, send the second data loading request to the second electronic device, wherein the second data The loading request is used to request loading of the third application data;
所述接收所述第二电子设备发送的第四应用数据,其中,所述第二电子设备根据所述第二数据加载请求定位所述第四应用数据;The receiving the fourth application data sent by the second electronic device, wherein the second electronic device locates the fourth application data according to the second data loading request;
所述加载所述第四应用数据以替换所述第三应用数据的加载环节,包括,基于所述第四应用数据响应所述第二数据加载请求。The step of loading the fourth application data to replace the third application data includes responding to the second data loading request based on the fourth application data.
在第一方面的一种实现方式中,所述方法还包括:In an implementation manner of the first aspect, the method further includes:
确认所述第一电子设备上,所述第二应用运行过程中可能加载的所有本地应用数据;Confirming all local application data that may be loaded during the running of the second application on the first electronic device;
将所述第二应用运行过程中可能加载的所有本地应用数据的描述信息发送到所述第二电子设备;sending description information of all local application data that may be loaded during the running of the second application to the second electronic device;
接收所述第二电子设备发送的所述第一应用的本地应用数据,所述第二应用启动数据为所述第二电子设备上所述第一应用的本地应用数据,所述第一应用的本地应用数据与所述第二应用运行过程中可能加载的所有本地应用数据的描述信息相对应;receiving the local application data of the first application sent by the second electronic device, the second application startup data being the local application data of the first application on the second electronic device, and the first application's The local application data corresponds to the description information of all local application data that may be loaded during the running of the second application;
根据第三用户输入获取第三输入事件,其中,所述第三用户输入为针对所述第二应用的运行画面进行的操作;acquiring a third input event according to a third user input, wherein the third user input is an operation performed on a running screen of the second application;
在所述第二应用响应所述第三输入事件的过程中,当需要加载所述第二应用的本地数据时,加载所述第一应用的本地应用数据。When the second application responds to the third input event, when the local data of the second application needs to be loaded, the local application data of the first application is loaded.
在第一方面的一种实现方式中,所述方法还包括:In an implementation manner of the first aspect, the method further includes:
在所述第二应用关闭后,删除所述第一电子设备上,所述第二电子设备发送过来的应用数据。After the second application is closed, delete the application data sent by the second electronic device on the first electronic device.
在第一方面的一种实现方式中,所述方法还包括:In an implementation manner of the first aspect, the method further includes:
将所述第二应用运行过程中新生成的应用数据同步到所述第二电子设备的所述第一应用。and synchronizing the application data newly generated during the running of the second application to the first application of the second electronic device.
第二方面,本申请提供一种投屏方法,所述方法应用于第二电子设备,所述方法包括:In a second aspect, the present application provides a screen projection method, the method is applied to a second electronic device, and the method includes:
向第一电子设备发送投屏内容数据,所述投屏内容数据用于使得所述第一电子设备显示所述投屏内容数据对应的投屏内容;Sending screen projection content data to the first electronic device, where the screen projection content data is used to make the first electronic device display screen projection content corresponding to the screen projection content data;
接收所述第一电子设备发送的第一输入事件,所述第一输入事件为所述第一电子设备根据第一用户输入获取的输入事件,所述第一用户输入为针对所述第一电子设备显示的所述投屏内容进行的操作;receiving a first input event sent by the first electronic device, the first input event is an input event obtained by the first electronic device according to a first user input, and the first user input is for the first electronic device Operations performed on the screen-casting content displayed on the device;
当所述第一输入事件在所述第二电子设备上的响应操作为,启动安装在所述第二电子设备上的第一应用时,生成针对所述第一应用的应用启动通知;When the response operation of the first input event on the second electronic device is to start a first application installed on the second electronic device, generating an application start notification for the first application;
将所述应用启动通知发送到所述第一电子设备。sending the application start notification to the first electronic device.
在第二方面的一种实现方式中,所述生成针对所述第一应用的应用启动通知,包括:In an implementation manner of the second aspect, the generating the application startup notification for the first application includes:
当所述第一输入事件在所述第二电子设备上的响应操作为,启动安装在所述第二电子设备上的第一应用时,响应所述第一输入事件,启动所述第一应用;When the response operation of the first input event on the second electronic device is to start a first application installed on the second electronic device, start the first application in response to the first input event ;
当所述第一应用被启动时,生成针对所述第一应用的应用启动通知。When the first application is launched, an application launch notification for the first application is generated.
在第二方面的一种实现方式中,所述生成针对所述第一应用的应用启动通知,包括:In an implementation manner of the second aspect, the generating the application startup notification for the first application includes:
当所述第一输入事件在所述第二电子设备上的响应操作为,启动安装在所述第二电子设备上的第一应用时,不启动所述第一应用,生成针对所述第一应用的应用启动通知。When the response operation of the first input event on the second electronic device is to start the first application installed on the second electronic device, do not start the first application, and generate The app's app launch notification.
在第二方面的一种实现方式中,所述方法还包括:In an implementation manner of the second aspect, the method further includes:
接收所述第一电子设备发送的所述第二应用的应用数据描述信息;receiving application data description information of the second application sent by the first electronic device;
将匹配所述应用数据描述信息的,所述第一应用的本地应用数据发送到所述第一电子设备。Sending the local application data of the first application that matches the application data description information to the first electronic device.
第三方面,本申请提供一种电子设备,所述电子设备包括显示设备用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如第一方面所述的方法步骤。In a third aspect, the present application provides an electronic device, the electronic device includes a display device memory for storing computer program instructions and a processor for executing the program instructions, wherein when the computer program instructions are executed by the processor and triggering the electronic device to execute the method steps described in the first aspect.
第四方面,本申请提供一种电子设备,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如第二方面所述的方法步骤。In a fourth aspect, the present application provides an electronic device, the electronic device includes a memory for storing computer program instructions and a processor for executing the program instructions, wherein when the computer program instructions are executed by the processor, trigger The electronic device executes the method steps described in the second aspect.
第五方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面或第二方面所述的方法。In a fifth aspect, the present application provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when it is run on a computer, the computer executes the program described in the first aspect or the second aspect. method.
第六方面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行如第一方面或第二方面所述的方法。In a sixth aspect, the present application provides a computer program product, the computer program product includes a computer program, and when running on a computer, causes the computer to execute the method as described in the first aspect or the second aspect.
根据本申请实施例所提出的上述技术方案,至少可以实现下述技术效果:According to the above technical solutions proposed in the embodiments of the present application, at least the following technical effects can be achieved:
根据本申请实施例的方法,当用户在被投屏设备的投屏窗口上,针对投屏设备当前运行的应用进行操作时,可以直接使用被投屏设备上所安装的APP对用户的操作进行响应,从而在确保用户应用操作体验的基础上,降低操作时延,降低投屏设备的功耗。According to the method of the embodiment of the present application, when the user operates the application currently running on the screen-casting device on the screen-casting window of the screen-casting device, the user's operation can be performed directly using the APP installed on the screen-casting device Response, so as to ensure the user's application operation experience, reduce the operation delay, and reduce the power consumption of the screen projection device.
附图说明Description of drawings
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the accompanying drawings that need to be used in the embodiments. Obviously, the accompanying drawings in the following description are only some embodiments of the present application. Those of ordinary skill in the art can also obtain other drawings based on these drawings without paying creative labor.
图1所示为根据本申请一实施例的手机投屏应用场景示意图;FIG. 1 is a schematic diagram of an application scenario of mobile phone screen projection according to an embodiment of the present application;
图2所示为根据本申请一实施例的电子设备结构示意图;FIG. 2 is a schematic structural diagram of an electronic device according to an embodiment of the present application;
图3是为根据本申请一实施例的电子设备的软件结构框图;Fig. 3 is a software structural block diagram of an electronic device according to an embodiment of the present application;
图4所示为根据本申请一实施例的手机投屏平板电脑的操作执行流程示意图;FIG. 4 is a schematic diagram of the operation and execution flow of the mobile phone screen projection tablet computer according to an embodiment of the present application;
图5所示为根据本申请一实施例的手机投屏平板电脑的操作执行流程示意图;FIG. 5 is a schematic diagram of the operation and execution flow of the mobile phone screen projection tablet computer according to an embodiment of the present application;
图6所示为根据本申请一实施例的投屏应用场景的设备结构示意图;FIG. 6 is a schematic diagram of a device structure of a screen projection application scenario according to an embodiment of the present application;
图7所示为根据本申请一实施例的手机投屏应用场景示意图;FIG. 7 is a schematic diagram of an application scenario of mobile phone screen projection according to an embodiment of the present application;
图8所示为根据本申请一实施例的手机投屏平板电脑的操作执行流程示意图;FIG. 8 is a schematic diagram of the operation and execution flow of the mobile phone screen mirroring tablet computer according to an embodiment of the present application;
图9a所示为根据本申请一实施例的投屏应用场景显示效果示意图;Fig. 9a is a schematic diagram showing a display effect of a screen projection application scene according to an embodiment of the present application;
图9b所示为根据本申请一实施例的投屏应用场景显示效果示意图;Fig. 9b is a schematic diagram showing a display effect of a screen projection application scene according to an embodiment of the present application;
图9c所示为根据本申请一实施例的投屏应用场景显示效果示意图;FIG. 9c is a schematic diagram showing a display effect of a screen projection application scene according to an embodiment of the present application;
图10所示为根据本申请一实施例的手机投屏平板电脑的操作执行流程示意图。FIG. 10 is a schematic diagram of an operation and execution flow of mirroring a screen from a mobile phone to a tablet computer according to an embodiment of the present application.
具体实施方式Detailed ways
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。In order to better understand the technical solutions of the present application, the embodiments of the present application will be described in detail below in conjunction with the accompanying drawings.
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。It should be clear that the described embodiments are only some of the embodiments of the present application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by persons of ordinary skill in the art without creative efforts fall within the protection scope of this application.
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。Terms used in the embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to limit the present application. The singular forms "a", "said" and "the" used in the embodiments of this application and the appended claims are also intended to include plural forms unless the context clearly indicates otherwise.
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,甲和/或乙,可以表示:单独存在甲,同时存在甲和乙,单独存在乙这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。It should be understood that the term "and/or" used herein is only an association relationship describing associated objects, which means that there may be three relationships, for example, A and/or B, which may mean that A exists alone, and A and B exist simultaneously. B, there are three situations of B alone. In addition, the character "/" in this article generally indicates that the contextual objects are an "or" relationship.
图1所示为根据本申请一实施例的手机投屏应用场景示意图。如图1所示,手机401为发送端设备(投屏设备),平板电脑402为接收端设备(被投屏设备)。手机401将自身的屏幕显示内容投射到平板电脑402上。平板电脑402开启并显示投屏窗口403,在投屏窗口403中显示手机401所投射过来的屏幕内容。如图1所示,投屏窗口403中显示的内容与手机401所显示的内容一致。FIG. 1 is a schematic diagram of an application scenario of mobile phone screen projection according to an embodiment of the present application. As shown in FIG. 1 , the
进一步的,用户可以在平板电脑402所显示的投屏窗口403中进行操作,例如,进行触控点击、滑动、缩放等操作。用户的操作对应的指令会被手机401执行,从而在手机401上显示对应用户操作的相应反馈,同时,平板电脑402所显示的投屏窗口403的显示也和手机401上的显示保持一致。使得用户可以在平板电脑402上直接体验到使用手机401的完整使用体验。Further, the user can perform operations in the
图2所示为根据本申请一实施例的电子设备结构示意图。本申请实施例的发送端设备(例如,图1所示的手机401)、接收端设备(例如,图1所示的平板电脑402)均可以采用图2所示的电子设备的结构。FIG. 2 is a schematic structural diagram of an electronic device according to an embodiment of the present application. Both the sending end device (for example, the
具体的,如图2所示,电子设备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 identificationmodule,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。Specifically, as shown in FIG. 2 , the electronic device 100 may include a
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。It can be understood that, the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the electronic device 100 . In other embodiments of the present application, the electronic device 100 may include more or fewer components than shown in the figure, or combine certain components, or separate certain components, or arrange different components. The illustrated components can be realized in hardware, software or a combination of software and hardware.
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。The
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。The controller can generate an operation control signal according to the instruction opcode and timing signal, and complete the control of fetching and executing the instruction.
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。A memory may also be provided in the
在一些实施例中,处理器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)接口等。In some embodiments,
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。The I2C interface is a bidirectional synchronous serial bus, including a serial data line (serial data line, SDA) and a serial clock line (derail clock line, SCL). In some embodiments,
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。The I2S interface can be used for audio communication. In some embodiments,
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。The PCM interface can also be used for audio communication, sampling, quantizing and encoding the analog signal. In some embodiments, the
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。The UART interface is a universal serial data bus used for asynchronous communication. The bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, a UART interface is generally used to connect the
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。The MIPI interface can be used to connect the
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。The GPIO interface can be configured by software. The GPIO interface can be configured as a control signal or as a data signal. In some embodiments, the GPIO interface can be used to connect the
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。The USB interface 130 is an interface conforming to the USB standard specification, specifically, it can be a Mini USB interface, a Micro USB interface, a USB Type C interface, and the like. The USB interface 130 can be used to connect a charger to charge the electronic device 100 , and can also be used to transmit data between the electronic device 100 and peripheral devices. It can also be used to connect headphones and play audio through them. This interface can also be used to connect other electronic devices, such as AR devices.
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。It can be understood that the interface connection relationship between the modules shown in the embodiment of the present application is only a schematic illustration, and does not constitute a structural limitation of the electronic device 100 . In other embodiments of the present application, the electronic device 100 may also adopt different interface connection manners in the foregoing embodiments, or a combination of multiple interface connection manners.
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。The
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。The power management module 141 is used for connecting the battery 142 , the
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。The wireless communication function of the electronic device 100 can be realized by the antenna 1 , the antenna 2 , the
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 may be used to cover single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization of the antennas. For example: Antenna 1 can be multiplexed as a diversity antenna of a wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。The
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。A modem processor may include a modulator and a demodulator. Wherein, the modulator is used for modulating the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low frequency baseband signal. Then the demodulator sends the demodulated low-frequency baseband signal to the baseband processor for processing. The low-frequency baseband signal is passed to the application processor after being processed by the baseband processor. The application processor outputs sound signals through audio equipment (not limited to speaker 170A,
无线通信模块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转为电磁波辐射出去。The wireless communication module 160 can provide wireless local area networks (wireless local area networks, WLAN) (such as wireless fidelity (Wireless Fidelity, Wi-Fi) network), bluetooth (bluetooth, BT), global navigation satellite system, etc. (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field communication technology (near field communication, NFC), infrared technology (infrared, IR) and other wireless communication solutions. The wireless communication module 160 may be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2 , frequency-modulates and filters the electromagnetic wave signals, and sends the processed signals to the
在一些实施例中,电子设备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)。In some embodiments, the antenna 1 of the electronic device 100 is coupled to the
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。The electronic device 100 realizes the display function through the GPU, the display screen 194 , and the application processor. The GPU is a microprocessor for image processing, and is connected to the display screen 194 and the application processor. GPUs are used to perform mathematical and geometric calculations for graphics rendering.
显示屏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的正整数。The display screen 194 is used to display images, videos and the like. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (active-matrixorganic light-emitting diode) , AMOLED), flexible light-emitting diode (flex light-emitting diode, FLED), Miniled, MicroLed, Micro-oLed, quantum dot light-emitting diodes (quantum dot light emitting diodes, QLED), etc. In some embodiments, the electronic device 100 may include 1 or N display screens 194 , where N is a positive integer greater than 1.
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。The electronic device 100 can realize the shooting function through the ISP, the camera 193 , the video codec, the GPU, the display screen 194 and the application processor.
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。The ISP is used for processing the data fed back by the camera 193 . For example, when taking a picture, open the shutter, the light is transmitted to the photosensitive element of the camera through the lens, and the light signal is converted into an electrical signal, and the photosensitive element of the camera transmits the electrical signal to the ISP for processing, and converts it into an image visible to the naked eye. ISP can also perform algorithm optimization on image noise, brightness, and skin color. ISP can also optimize the exposure, color temperature and other parameters of the shooting scene. In some embodiments, the ISP may be located in the camera 193 .
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。Camera 193 is used to capture still images or video. The object generates an optical image through the lens and projects it to the photosensitive element. The photosensitive element may be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, and then transmits the electrical signal to the ISP to convert it into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. DSP converts digital image signals into standard RGB, YUV and other image signals. In some embodiments, the electronic device 100 may include 1 or N cameras 193 , where N is a positive integer greater than 1.
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。Digital signal processors are used to process digital signals. In addition to digital image signals, they can also process other digital signals. For example, when the electronic device 100 selects a frequency point, the digital signal processor is used to perform Fourier transform on the energy of the frequency point.
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。Video codecs are used to compress or decompress digital video. The electronic device 100 may support one or more video codecs. In this way, the electronic device 100 can play or record videos in various encoding formats, for example: moving picture experts group (moving picture experts group, MPEG) 1, MPEG2, MPEG3, MPEG4 and so on.
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。The NPU is a neural-network (NN) computing processor. By referring to the structure of biological neural networks, such as the transfer mode between neurons in the human brain, it can quickly process input information and continuously learn by itself. Applications such as intelligent cognition of the electronic device 100 can be realized through the NPU, such as image recognition, face recognition, speech recognition, text understanding, and the like.
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。The
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。The internal memory 121 may be used to store computer-executable program codes including instructions. The internal memory 121 may include an area for storing programs and an area for storing data. Wherein, the stored program area can store an operating system, at least one application program required by a function (such as a sound playing function, an image playing function, etc.) and the like. The storage data area can store data created during the use of the electronic device 100 (such as audio data, phonebook, etc.) and the like. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, flash memory device, universal flash storage (universal flash storage, UFS) and the like. The
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。The electronic device 100 can implement audio functions through the
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。The
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。Speaker 170A, also referred to as a "horn", is used to convert audio electrical signals into sound signals. Electronic device 100 can listen to music through speaker 170A, or listen to hands-free calls.
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。The microphone 170C, also called "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a phone call or sending a voice message, the user can put his mouth close to the microphone 170C to make a sound, and input the sound signal to the microphone 170C. The electronic device 100 may be provided with at least one microphone 170C. In some other embodiments, the electronic device 100 may be provided with two microphones 170C, which may also implement a noise reduction function in addition to collecting sound signals. In some other embodiments, the electronic device 100 can also be provided with three, four or more microphones 170C to collect sound signals, reduce noise, identify sound sources, and realize directional recording functions, etc.
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。The
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。The pressure sensor 180A is used to sense the pressure signal and convert the pressure signal into an electrical signal. In some embodiments, pressure sensor 180A may be disposed on display screen 194 . There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, and capacitive pressure sensors. A capacitive pressure sensor may be comprised of at least two parallel plates with conductive material. When a force is applied to the pressure sensor 180A, the capacitance between the electrodes changes. The electronic device 100 determines the intensity of pressure according to the change in capacitance. When a touch operation acts on the display screen 194, the electronic device 100 detects the intensity of the touch operation according to the pressure sensor 180A. The electronic device 100 may also calculate the touched position according to the detection signal of the pressure sensor 180A. In some embodiments, touch operations acting on the same touch position but with different touch operation intensities may correspond to different operation instructions. For example: when a touch operation with a touch operation intensity less than the first pressure threshold acts on the short message application icon, an instruction to view short messages is executed. When a touch operation whose intensity is greater than or equal to the first pressure threshold acts on the icon of the short message application, the instruction of creating a new short message is executed.
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。The gyro sensor 180B can be used to determine the motion posture of the electronic device 100 . In some embodiments, the angular velocity of the electronic device 100 around three axes (ie, x, y and z axes) may be determined by the gyro sensor 180B. The gyro sensor 180B can be used for image stabilization. Exemplarily, when the shutter is pressed, the gyro sensor 180B detects the shaking angle of the electronic device 100, calculates the distance that the lens module needs to compensate according to the angle, and allows the lens to counteract the shaking of the electronic device 100 through reverse movement to achieve anti-shake. The gyro sensor 180B can also be used for navigation and somatosensory game scenes.
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。The air pressure sensor 180C is used to measure air pressure. In some embodiments, the electronic device 100 calculates the altitude based on the air pressure value measured by the air pressure sensor 180C to assist positioning and navigation.
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。The magnetic sensor 180D includes a Hall sensor. The electronic device 100 may use the magnetic sensor 180D to detect the opening and closing of the flip leather case. In some embodiments, when the electronic device 100 is a clamshell machine, the electronic device 100 can detect opening and closing of the clamshell according to the magnetic sensor 180D. Furthermore, according to the detected opening and closing state of the leather case or the opening and closing state of the flip cover, features such as automatic unlocking of the flip cover are set.
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。The acceleration sensor 180E can detect the acceleration of the electronic device 100 in various directions (generally three axes). When the electronic device 100 is stationary, the magnitude and direction of gravity can be detected. It can also be used to identify the posture of electronic devices, and can be used in applications such as horizontal and vertical screen switching, pedometers, etc.
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。The distance sensor 180F is used to measure the distance. The electronic device 100 may measure the distance by infrared or laser. In some embodiments, when shooting a scene, the electronic device 100 may use the distance sensor 180F for distance measurement to achieve fast focusing.
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。Proximity light sensor 180G may include, for example, light emitting diodes (LEDs) and light detectors, such as photodiodes. The light emitting diodes may be infrared light emitting diodes. The electronic device 100 emits infrared light through the light emitting diode. Electronic device 100 uses photodiodes to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it may be determined that there is an object near the electronic device 100 . When insufficient reflected light is detected, the electronic device 100 may determine that there is no object near the electronic device 100 . The electronic device 100 can use the proximity light sensor 180G to detect that the user is holding the electronic device 100 close to the ear to make a call, so as to automatically turn off the screen to save power. The proximity light sensor 180G can also be used in leather case mode, automatic unlock and lock screen in pocket mode.
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。The ambient light sensor 180L is used for sensing ambient light brightness. The electronic device 100 can adaptively adjust the brightness of the display screen 194 according to the perceived ambient light brightness. The ambient light sensor 180L can also be used to automatically adjust the white balance when taking pictures. The ambient light sensor 180L can also cooperate with the proximity light sensor 180G to detect whether the electronic device 100 is in the pocket, so as to prevent accidental touch.
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。The fingerprint sensor 180H is used to collect fingerprints. The electronic device 100 can use the collected fingerprint characteristics to implement fingerprint unlocking, access to application locks, take pictures with fingerprints, answer incoming calls with fingerprints, and the like.
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。The temperature sensor 180J is used to detect temperature. In some embodiments, the electronic device 100 uses the temperature detected by the temperature sensor 180J to implement a temperature treatment strategy. For example, when the temperature reported by the temperature sensor 180J exceeds the threshold, the electronic device 100 may reduce the performance of the processor located near the temperature sensor 180J, so as to reduce power consumption and implement thermal protection. In other embodiments, when the temperature is lower than another threshold, the electronic device 100 heats the battery 142 to prevent the electronic device 100 from being shut down abnormally due to the low temperature. In some other embodiments, when the temperature is lower than another threshold, the electronic device 100 boosts the output voltage of the battery 142 to avoid abnormal shutdown caused by low temperature.
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。Touch sensor 180K, also known as "touch panel". The touch sensor 180K can be disposed on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, also called a “touch screen”. The touch sensor 180K is used to detect a touch operation on or near it. The touch sensor can pass the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 194 . In other embodiments, the touch sensor 180K may also be disposed on the surface of the electronic device 100 , which is different from the position of the display screen 194 .
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。The bone conduction sensor 180M can acquire vibration signals. In some embodiments, the bone conduction sensor 180M can acquire the vibration signal of the vibrating bone mass of the human voice. The bone conduction sensor 180M can also contact the human pulse and receive the blood pressure beating signal. In some embodiments, the bone conduction sensor 180M can also be disposed in the earphone, combined into a bone conduction earphone. The
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。The keys 190 include a power key, a volume key and the like. The key 190 may be a mechanical key. It can also be a touch button. The electronic device 100 can receive key input and generate key signal input related to user settings and function control of the electronic device 100 .
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。The motor 191 can generate a vibrating reminder. The motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback. For example, touch operations applied to different applications (such as taking pictures, playing audio, etc.) may correspond to different vibration feedback effects. The motor 191 may also correspond to different vibration feedback effects for touch operations acting on different areas of the display screen 194 . Different application scenarios (for example: time reminder, receiving information, alarm clock, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also support customization.
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。The indicator 192 can be an indicator light, and can be used to indicate charging status, power change, and can also be used to indicate messages, missed calls, notifications, and the like.
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采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。The
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。The software system of the electronic device 100 may adopt a layered architecture, an event-driven architecture, a micro-kernel architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present application takes the Android system with a layered architecture as an example to illustrate the software structure of the electronic device 100 .
图3是本申请实施例的电子设备100的软件结构框图。FIG. 3 is a block diagram of the software structure of the electronic device 100 according to the embodiment of the present application.
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。The layered architecture divides the software into several layers, and each layer has a clear role and division of labor. Layers communicate through software interfaces. In some embodiments, the Android system is divided into four layers, which are respectively the application program layer, the application program framework layer, the Android runtime (Android runtime) and the system library, and the kernel layer from top to bottom.
应用程序层可以包括一系列应用程序包。The application layer can consist of a series of application packages.
如图3所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。As shown in FIG. 3, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, and short message.
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。The application framework layer provides an application programming interface (application programming interface, API) and a programming framework for applications in the application layer. The application framework layer includes some predefined functions.
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。As shown in Figure 2, the application framework layer can include window managers, content providers, view systems, phone managers, resource managers, notification managers, and so on.
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。A window manager is used to manage window programs. The window manager can get the size of the display screen, determine whether there is a status bar, lock the screen, capture the screen, etc.
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。Content providers are used to store and retrieve data and make it accessible to applications. Said data may include video, images, audio, calls made and received, browsing history and bookmarks, phonebook, etc.
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。The view system includes visual controls, such as controls for displaying text, controls for displaying pictures, and so on. The view system can be used to build applications. A display interface can consist of one or more views. For example, a display interface including a text message notification icon may include a view for displaying text and a view for displaying pictures.
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。The phone manager is used to provide communication functions of the electronic device 100 . For example, the management of call status (including connected, hung up, etc.).
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。The resource manager provides various resources for the application, such as localized strings, icons, pictures, layout files, video files, and so on.
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。The notification manager enables the application to display notification information in the status bar, which can be used to convey notification-type messages, and can automatically disappear after a short stay without user interaction. For example, the notification manager is used to notify the download completion, message reminder, etc. The notification manager can also be a notification that appears on the top status bar of the system in the form of a chart or scroll bar text, such as a notification of an application running in the background, or a notification that appears on the screen in the form of a dialog window. For example, prompting text information in the status bar, issuing a prompt sound, vibrating the electronic device, and flashing the indicator light, etc.
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。Android Runtime includes core library and virtual machine. The Android runtime is responsible for the scheduling and management of the Android system.
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。The core library consists of two parts: one part is the function function that the java language needs to call, and the other part is the core library of Android.
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。The application layer and the application framework layer run in virtual machines. The virtual machine executes the java files of the application program layer and the application program framework layer as binary files. The virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。A system library can include multiple function modules. For example: surface manager (surface manager), media library (Media Libraries), 3D graphics processing library (eg: OpenGL ES), 2D graphics engine (eg: SGL), etc.
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。The surface manager is used to manage the display subsystem and provides the fusion of 2D and 3D layers for multiple applications.
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。The media library supports playback and recording of various commonly used audio and video formats, as well as still image files, etc. The media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing, etc.
2D图形引擎是2D绘图的绘图引擎。2D graphics engine is a drawing engine for 2D drawing.
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。The kernel layer is the layer between hardware and software. The kernel layer includes at least a display driver, a camera driver, an audio driver, and a sensor driver.
下面结合捕获拍照场景,示例性说明电子设备100软件以及硬件的工作流程。The workflow of the software and hardware of the electronic device 100 will be exemplarily described below in conjunction with capturing and photographing scenes.
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。When the touch sensor 180K receives a touch operation, a corresponding hardware interrupt is sent to the kernel layer. The kernel layer processes touch operations into original input events (including touch coordinates, time stamps of touch operations, and other information). Raw input events are stored at the kernel level. The application framework layer obtains the original input event from the kernel layer, and identifies the control corresponding to the input event. Take the touch operation as a touch click operation, and the control corresponding to the click operation is the control of the camera application icon as an example. The camera application calls the interface of the application framework layer to start the camera application, and then starts the camera driver by calling the kernel layer. Camera 193 captures still images or video.
图4所示为根据本申请一实施例的手机投屏平板电脑的操作执行流程示意图。在手机401投屏到平板电脑402后,平板电脑402开启并显示投屏窗口403。在此过程中,手机401以及平板电脑402执行如图4所示的操作。FIG. 4 is a schematic diagram of an operation and execution flow of mirroring a screen from a mobile phone to a tablet computer according to an embodiment of the present application. After the
S410,手机401的APP01进行相关图像的绘制(draw frame)。S410, the APP01 of the
S411,APP01的图像绘制结果被组合模块(composer)发送到手机401的表层护圈(SurfaceFlinger)。S411 , the image drawing result of APP01 is sent to the surface protection ring (SurfaceFlinger) of the
S412,手机401的SurfaceFlinger对APP01的图像绘制结果进行初步组合(doComposition)。S412, the SurfaceFlinger of the
S413,手机401的SurfaceFlinger对S412生成的图像绘制结果的初步组合结果进行进一步的组合(doComposition),构成显示画面数据。S413, the SurfaceFlinger of the
S414,手机401的SurfaceFlinger将S413中构成的显示画面数据发送(display)到手机401的显示底层硬件(Hardware)(显示屏)。S414, the SurfaceFlinger of the
S415,手机401的显示底层硬件(Hardware)(显示屏)基于SurfaceFlinger发送的显示画面数据刷新显示屏显示内容(LCD refresh),向用户(User)展示显示画面(如图1中手机401的显示画面)。S415, the display underlying hardware (Hardware) (display screen) of the
基于S413~S415,手机401在自身的显示屏上显示APP01的内容。进一步的,在此过程中,手机401还会录制自身显示屏的显示内容,将显示内容的录制结果编码后发送到平板电脑402。具体的,在S412之后,手机401还执行:Based on S413-S415, the
S416,手机401的SurfaceFlinger将S412生成的图像绘制结果的初步组合结果通过队列缓冲(queue buffer)发送到手机401的多媒体编解码器(MediaCodec)。S416, the SurfaceFlinger of the
S417,手机401的多媒体编解码器(MediaCodec)对S412生成的图像绘制结果的初步组合结果进行编码。S417, the multimedia codec (MediaCodec) of the
S418,手机401的多媒体编解码器(MediaCodec)将编码结果(编码后的屏幕显示内容)通过填充缓冲(fill buffer)的方式发送到手机401的多屏协同应用(APP00b)。在手机401投屏平板电脑402的应用场景中,手机401的多屏协同应用(APP00b)与平板电脑402的多屏协同应用(APP00a)之间已建立网络连接(network)。S418, the multimedia codec (MediaCodec) of the
S419,手机401的多屏协同应用(APP00b)将手机401的多媒体编解码器(MediaCodec)发送过来的编码结果(编码后的屏幕显示内容)通过网络连接(network)发送到平板电脑402的多屏协同应用(APP00a)。S419, the multi-screen cooperative application (APP00b) of the
S420,平板电脑402的多屏协同应用(APP00a)接收到来自手机401的多屏协同应用(APP00b)的编码结果(编码后的屏幕显示内容)。S420, the multi-screen collaborative application (APP00a) of the
S421,平板电脑402的多屏协同应用(APP00a)将编码结果(编码后的屏幕显示内容)发送到平板电脑402的多媒体编解码器(MediaCodec)。S421, the multi-screen collaborative application (APP00a) of the
S422,平板电脑402的多媒体编解码器(MediaCodec)对接收到的编码结果(编码后的屏幕显示内容)进行解码。S422, the multimedia codec (MediaCodec) of the
S423,平板电脑402的多媒体编解码器(MediaCodec)将解码结果(屏幕显示内容)通过复制模块(copybit)发送到平板电脑402的表层护圈(SurfaceFlinger)。S423, the multimedia codec (MediaCodec) of the
S424,平板电脑402的SurfaceFlinger对平板电脑402的多媒体编解码器(MediaCodec)发送的解码结果(屏幕显示内容)进行组合(doComposition),构成显示画面数据。S424, the SurfaceFlinger of the
S425,平板电脑402的SurfaceFlinger将S424中构成的显示画面数据发送(display)到平板电脑402的显示底层硬件(Hardware)(显示屏)。S425, the SurfaceFlinger of the
S426,平板电脑402的显示底层硬件(Hardware)(显示屏)基于SurfaceFlinger发送的显示画面数据刷新显示屏显示内容(LCD refresh),向用户(User)展示显示画面(如图1中平板电脑402的显示画面)。S426, the display underlying hardware (Hardware) (display screen) of the
图5所示为根据本申请一实施例的手机投屏平板电脑的操作执行流程示意图。进一步的,用户在平板电脑402的投屏窗口403执行操作以控制手机401(投屏反向控制UIBC),在UIBC过程中,手机401以及平板电脑402执行如图5所示的操作。FIG. 5 is a schematic diagram of an operation and execution flow of mirroring a screen from a mobile phone to a tablet computer according to an embodiment of the present application. Further, the user performs an operation on the
S500,用户点击(input)平板电脑402(平板侧)的物理屏幕(显示投屏窗口403范围内)。S500, the user clicks (inputs) on the physical screen of the tablet computer 402 (on the tablet side) (within the display
S501,平板电脑402的触控屏的底层硬件(Hardware)根据用户的点击输入(input)获取到用户的输入事件(input reader)。S501, the underlying hardware (Hardware) of the touch screen of the
S502,平板电脑402的触控屏的底层硬件(Hardware)将用户的输入事件(inputreader)上报给平板电脑402的系统服务(SystemServer)。S502 , the underlying hardware (Hardware) of the touch screen of the
S503,SystemServer将输入事件分发(dispatch)给平板电脑402的多屏协同应用(APP00a)。S503, the SystemServer distributes (dispatch) the input event to the multi-screen collaborative application (APP00a) of the
S504,平板电脑402的多屏协同应用(APP00a)将输入事件打包加密。S504, the multi-screen collaborative application (APP00a) of the
S505,平板电脑402的多屏协同应用(APP00a)将打包加密的输入事件通过无线网络连接(network)传输给手机401的多屏协同应用(APP00b)。S505, the multi-screen collaborative application (APP00a) of the
S510,手机401的多屏协同应用(APP00b)接收打包加密的输入事件。S510, the multi-screen collaborative application (APP00b) of the
S511,手机401的多屏协同应用(APP00b)对打包加密的输入事件进行解密和解析,进行坐标转换后获取匹配手机401的输入事件。S511, the multi-screen collaborative application (APP00b) of the
S512,手机401的多屏协同应用(APP00b)将匹配手机401的输入事件注入(injectevent)到手机401的系统服务(SystemServer)的输入(input)子系统。S512, the multi-screen cooperative application (APP00b) of the
S513,手机401的系统服务(SystemServer)的输入(input)子系统将注入的输入事件分发给对应的应用(正在运行的,投屏窗口403显示内容所对应的APP01)。S513, the input subsystem of the system service (SystemServer) of the
S514,APP01对输入事件进行响应,进行相关图像的绘制(draw frame)。S514, APP01 responds to the input event, and draws a related image (draw frame).
S515~S536,参照S411~S426。For S515-S536, refer to S411-S426.
基于图5所示实施例,虽然可以在手机401投屏平板电脑402的应用场景中实现在平板电脑402上控制手机401(UIBC),但是,在UIBC的控制流程中,平板电脑402需要将平板侧的用户触控时间发送到手机401,待手机401上的应用响应后,对手机屏幕进行录制和编码,再将编码结果返回给平板电脑402。相较于用户直接在手机401控制应用,执行UIBC,用户在平板电脑402上进行操作到平板电脑402显示应用响应画面间的时延被大大延长。Based on the embodiment shown in FIG. 5 , although it is possible to control the mobile phone 401 (UIBC) on the
例如,在某一多屏协同特性反控应用场景中,用户通过被投屏设备(例如平板电脑)反向控制投屏设备(例如手机)的时延约为140ms+,而用户直接进行本地操控(直接操作手机)时延为40ms。For example, in an anti-control application scenario with multi-screen collaborative features, the time delay for the user to reversely control the projected device (such as a mobile phone) through the projected device (such as a tablet) is about 140ms+, while the user directly performs local control ( Directly operate the mobile phone) the delay is 40ms.
进一步的,在图5所示的UIBC流程中,手机401上的应用(APP01)编码后的数据是通过网络(Network)发送到平板电脑402,因此,当网络较差或波动较大时,时延会进一步加大,会很容易出现操作卡顿,影响最终用户操控体验。并且,在图5所示的UIBC流程中,相较于用户直接在手机401控制应用,手机401在通过APP01执行响应的同时还需要进行屏幕内容录制、编码以及发送,这会额外增加手机401的功耗。Further, in the UIBC process shown in Figure 5, the data encoded by the application (APP01) on the
针对上述问题,本申请实施例提出了一种新的投屏方法。在某些应用场景中,在被投屏设备(例如,平板电脑402)上也安装有与投屏设备(例如,手机401)当前正在运行的应用(例如,APP01)一致的应用(APP02),APP02与APP01为同一应用(例如,应用A)针对不同类型设备的不同版本。APP02与APP01功能一致,区别在与APP01安装在手机401,APP02安装在平板电脑402。这样,当用户在被投屏设备的投屏窗口上(例如,投屏窗口403),针对投屏设备(手机401)当前运行的应用(APP01)进行操作时,可以直接使用被投屏设备(平板电脑402)上所安装的APP02对用户的操作进行响应,从而在确保用户应用操作体验的基础上,降低操作时延,降低投屏设备(手机401)的功耗。In view of the above problems, the embodiment of the present application proposes a new screen projection method. In some application scenarios, an application (APP02) consistent with an application (for example, APP01) currently running on the screen-casting device (for example, a mobile phone 401) is also installed on the screen-casting device (for example, a tablet computer 402), APP02 and APP01 are different versions of the same application (for example, application A) targeting different types of devices. APP02 has the same function as APP01, the difference is that APP01 is installed on
具体的,在本申请一实施例中,在投屏场景下,在用户在投屏设备(例如,手机401)上打开应用A(APP01,第一应用)时,如果检测到被投屏设备(接收端设备,例如,平板电脑402)也安装了应用A(APP02,第二应用),将读取投屏设备(手机401)上应用A(APP01)的应用数据,将投屏设备(手机401)上应用A(APP01)的应用数据发送到被投屏设备(平板电脑402);同时在被投屏设备(平板电脑402)拉起应用A(APP02),加载投屏设备(手机401)传过来的应用数据,使用被投屏设备(平板电脑402)上的应用A(APP02)响应用户在被投屏设备(平板电脑402)上针对投屏窗口(投屏窗口403)的操作。保证用户远端操作和本地应用体验一致,解决投屏时反向控制卡顿和时延问题。Specifically, in an embodiment of the present application, in the screen projection scenario, when the user opens the application A (APP01, the first application) on the screen projection device (for example, the mobile phone 401), if it is detected that the screen projection device ( The receiver device, for example, the tablet computer 402) has also installed the application A (APP02, the second application), and will read the application data of the application A (APP01) on the screen projection device (mobile phone 401), and will read the application data of the application A (APP01) on the screen projection device (
图6所示为根据本申请一实施例的投屏应用场景的设备结构示意图。如图6所示:FIG. 6 is a schematic diagram of a device structure of a screen projection application scenario according to an embodiment of the present application. As shown in Figure 6:
投屏设备600(例如,手机401)包括应用检测模块601,其用于在投屏场景下,检测用户是否在投屏设备600上启动了一个新的应用(例如,应用A)。The screen projection device 600 (for example, the mobile phone 401) includes an application detection module 601, which is used to detect whether the user starts a new application (for example, application A) on the screen projection device 600 in the screen projection scenario.
具体的,在一实施例中,投屏设备600(手机401)通过安卓系统(android)提供的UsageStatsManager#queryEvents()方法来获取栈顶的应用包名,从而确定用户是否在投屏设备600上启动了一个新的应用。Specifically, in one embodiment, the screen projection device 600 (mobile phone 401) obtains the application package name at the top of the stack through the UsageStatsManager#queryEvents() method provided by the Android system (android), thereby determining whether the user is on the screen projection device 600 Started a new application.
被投屏设备610(例如,平板电脑402)包括应用校验模块611,其用于在校验用户在投屏设备600上启动新应用(应用A)时,检测被投屏设备610是否也安装有相同的应用(应用A)。The projected device 610 (for example, the tablet computer 402) includes an application verification module 611, which is used to detect whether the projected device 610 is also installed when verifying that the user starts a new application (application A) on the projected device 600. There is the same application (application A).
具体的,在一实施例中,被投屏设备610(平板电脑402)通过PackageManager().getInstalledPackages(0)方法,获取被投屏设备610(平板电脑402)上所有安装应用的包名,判断被投屏设备610(平板电脑402)是否也安装了相同应用。Specifically, in one embodiment, the projected device 610 (tablet computer 402) obtains the package names of all installed applications on the projected device 610 (tablet computer 402) through the PackageManager().getInstalledPackages(0) method, and determines Whether the device 610 (tablet computer 402) to be screened is also installed with the same application.
被投屏设备610(平板电脑402)还包括应用内容同步模块612,其用于根据用户的操控,识别被投屏设备610运行应用A需要读取哪些投屏设备600上的应用数据,将同步请求(需要读取的投屏设备600上的应用数据的描述)发送给投屏设备600。The projected device 610 (tablet computer 402) also includes an application content synchronization module 612, which is used to identify which application data on the projected device 600 needs to be read to run application A on the projected device 610 according to the user's manipulation, and synchronize The request (the description of the application data on the screen projection device 600 that needs to be read) is sent to the screen projection device 600 .
具体的,在一实施例中,被投屏设备610(平板电脑402)通过修改安卓开放源代码(Android Open Source Project,AOSP)的代码,监听当前应用(被投屏设备610上运行的应用A)对被投屏设备610的本地文件/路径(例如:File、FileInputStream、FileOutputStream、BitmapFactory)的访问。当被投屏设备610上运行的应用A尝试访问相关路径或文件时,将访问请求(同步请求)发送到投屏设备600(手机401)。Specifically, in one embodiment, the projected device 610 (tablet computer 402) monitors the current application (the application A running on the projected device 610) by modifying the code of the Android Open Source Project (AOSP). ) access to the local file/path (for example: File, FileInputStream, FileOutputStream, BitmapFactory) of the projected device 610. When the application A running on the screen-casting device 610 tries to access a relevant path or file, an access request (synchronization request) is sent to the screen-casting device 600 (mobile phone 401 ).
投屏设备600(手机401)还包括应用内容读取模块602,其用于接收被投屏设备610(平板电脑402)发来的同步请求,实时读取投屏设备600(手机401)上对应同步请求的本地应用数据,将对应同步请求的本地应用数据发送到被投屏设备610(平板电脑402)。The screen projection device 600 (mobile phone 401) also includes an application content reading module 602, which is used to receive the synchronization request sent by the screen projection device 610 (tablet computer 402), and read the corresponding content on the screen projection device 600 (mobile phone 401) in real time. Synchronize the requested local application data, and send the local application data corresponding to the synchronization request to the projected device 610 (tablet computer 402 ).
具体的,在一实施例中,应用内容读取模块602接收被投屏设备610(平板电脑402)发来的文件访问请求,实时读取投屏设备600(手机401)上对应文件访问请求的本地应用数据,加密后发送到被投屏设备610(平板电脑402)。Specifically, in one embodiment, the application content reading module 602 receives the file access request sent by the screen projection device 610 (tablet computer 402), and reads the corresponding file access request on the screen projection device 600 (mobile phone 401) in real time. The local application data is encrypted and sent to the projected device 610 (tablet computer 402).
被投屏设备610(平板电脑402)还包括应用内容加载同步模块613,其用于在用户在被投屏设备610(平板电脑402)操控应用时,接收应用内容读取模块602发来的投屏设备600(手机401)的本地应用数据,提供给被投屏设备610(平板电脑402)上的应用进行加载。The projected device 610 (tablet 402) also includes an application content loading synchronization module 613, which is used to receive the projected content sent by the application content reading module 602 when the user controls the application on the projected device 610 (tablet 402). The local application data of the screen device 600 (mobile phone 401 ) is provided to the application on the screen-projected device 610 (tablet computer 402 ) for loading.
具体的,应用内容加载同步模块613在接收应用内容读取模块602发来的投屏设备600(手机401)的应用数据后,进行解密,解密后提供给被投屏设备610(平板电脑402)上运行的应用A进行加载。Specifically, the application content loading synchronization module 613 decrypts the application data of the screen-casting device 600 (mobile phone 401) sent by the application content reading module 602, and provides it to the screen-casting device 610 (tablet computer 402) after decryption. Application A running on the server is loaded.
根据本申请实施例的方法,将远程操作变成了本地操作,从根本上解决了由于网络干扰,编解码器,手机端负载过重导致的卡顿,延时等问题。According to the method of the embodiment of the present application, the remote operation is changed into a local operation, which fundamentally solves problems such as jams and delays caused by network interference, codecs, and heavy loads on the mobile phone.
图7所示为根据本申请一实施例的手机投屏应用场景示意图。FIG. 7 is a schematic diagram of an application scenario of mobile phone screen projection according to an embodiment of the present application.
如图7所示,手机701基于图4所示流程将自身的屏幕显示内容(当前的显示内容为系统桌面)投射到平板电脑402上。平板电脑702开启并显示投屏窗口710,在投屏窗口710中显示手机701所投射过来的屏幕内容(手机401的系统桌面)。如图7所示,投屏窗口710中显示的内容与手机701所显示的内容一致。As shown in FIG. 7 , the
图8所示为根据本申请一实施例的手机投屏平板电脑的操作执行流程示意图。FIG. 8 is a schematic diagram of an operation and execution flow of mirroring a screen from a mobile phone to a tablet computer according to an embodiment of the present application.
根据本申请一实施例的方法,用户在平板电脑702的投屏窗口710执行操作以启动手机701的聊天应用,在此过程中,手机701以及平板电脑702执行如图7所示的操作。According to the method of an embodiment of the present application, the user performs an operation on the
S800,用户点击(input)平板电脑402(平板侧)的物理屏幕(显示投屏窗口403范围内),平板电脑402的触控屏的底层硬件(Hardware)根据用户的点击输入(input)获取到用户的输入事件(input reader)。S800, the user clicks (inputs) the physical screen of the tablet computer 402 (the tablet side) (within the range of the display projection window 403), and the underlying hardware (Hardware) of the touch screen of the
例如,用户在投屏窗口710点击聊天应用图标711,试图打开聊天应用。For example, the user clicks on the
S801,平板电脑702将用户的输入事件发送到平板电脑702的多屏协同应用APP00a。参照S501~S503。S801, the
S802,平板电脑702的多屏协同应用(APP00a)将用户的输入事件发送到手机701的多屏协同应用(APP00b)。参照S504~S510。S802, the multi-screen coordinated application (APP00a) of the
S811,手机701的多屏协同应用APP00b对打包加密的输入事件进行解密和解析,进行坐标转换后获取匹配手机701的输入事件。S811, the multi-screen collaborative application APP00b of the
具体的,将用户在平板电脑702上的点击位置坐标转换为手机701的屏幕坐标,从而确认用户点击操作针对的是手机701的屏幕上哪个位置进行点击。Specifically, the coordinates of the click position of the user on the
具体的,用户在平板电脑702上点击聊天应用图标711的点击操作会转换为针对手机701上聊天应用图标712的点击操作。Specifically, the user's click operation of clicking the
S812,手机701的SystemServer解析APP00b获取的输入事件,确认输入事件对应的是启动聊天应用图标712对应的聊天应用(应用A,APP01)。S812, the SystemServer of the
具体的,在S812中,多屏协同应用APP00b将匹配手机701的输入事件注入(injectevent)到手机701的系统服务(SystemServer)的输入(input)子系统。手机701的系统服务(SystemServer)解析系统服务(SystemServer)的输入(input)子系统中注入的输入事件,确认输入事件对应的是启动聊天应用图标712对应的聊天应用(应用A,APP01)。Specifically, in S812, the multi-screen collaborative application APP00b injects (injectevent) the input event of the matched
S813,聊天应用(应用A,APP01)在手机701上启动运行。S813, the chat application (application A, APP01) starts running on the
具体的,在一实施例中,在S813中,聊天应用(应用A,APP01)在手机701上启动运行,手机701的屏幕显示内容为聊天应用(应用A,APP01)的启动界面。Specifically, in one embodiment, in S813, the chat application (application A, APP01) starts running on the
在另一实施例中,聊天应用(应用A,APP01)在手机701上启动运行时为后台启动,手机701的屏幕显示内容保持在聊天应用(应用A,APP01)启动前的界面。In another embodiment, when the chat application (Application A, APP01) starts running on the
S814,手机701的应用检测模块检测到手机701启动了新的应用(聊天应用图标712对应的聊天应用),向平板电脑702的应用校验模块返回新应用启动通知。S814, the application detection module of the
进一步的,在另一实施例中,手机701上的应用检测模块并不检测手机701是否已经启动了新应用,而是检测手机701当前是否需要启动新应用。在S812之后,手机701并不启动聊天应用(应用A,APP01)。手机701上的应用检测模块根据S812的判定结果确认手机701当前需要启动新应用(聊天应用(应用A,APP01))。Further, in another embodiment, the application detection module on the
S820,平板电脑702的应用校验模块检测到平板电脑702上也安装有同样的聊天应用(应用A,APP02)。S820, the application verification module of the
S821,平板电脑702启动自身安装的聊天应用(应用A,APP02)。S821, the
在S821中,聊天应用(应用A,APP02)在平板电脑702上启动,平板电脑702上会显示聊天应用(应用A,APP02)启动界面。如果在S813中,手机701的屏幕显示内容为聊天应用(应用A,APP01)的启动界面。此时,平板电脑702上聊天应用(应用A,APP02)启动界面与手机701上聊天应用(应用A,APP01)的启动界面可以是相同的,也可以是不同的(存在设备版本差异)。In S821, the chat application (Application A, APP02) is started on the
具体的,本申请对被投屏设备启动投屏设备所启动的应用的具体启动方式不做限制。Specifically, the present application does not limit the specific starting manner of the application launched by the screen projection device when the screen projection device is started.
例如,图9a~图9c为根据本申请不同实施例的投屏应用场景显示效果示意图。For example, FIGS. 9a to 9c are schematic diagrams of display effects of screen projection application scenarios according to different embodiments of the present application.
如图9a所示,平板电脑702可以在投屏窗口710之外重新开启一个窗口720用于显示聊天应用(应用A,APP02)的运行界面。As shown in FIG. 9 a , the
如图9b所示,平板电脑702也可以以全屏方式显示聊天应用(应用A,APP02)的运行界面。As shown in FIG. 9b, the
如图9c所示,平板电脑702也可以在投屏窗口710中,使用聊天应用(应用A,APP02)的运行界面替换掉手机401的屏幕内容,模拟手机401上运行聊天应用(应用A,APP01)的显示画面。As shown in Figure 9c, the
进一步的,在S821中,平板电脑702的应用内容同步模块监听平板电脑702启动聊天应用(应用A,APP02)过程中对平板电脑702的聊天应用(应用A,APP02)本地文件/路径(例如:File、FileInputStream、FileOutputStream、BitmapFactory)的访问。当平板电脑702启动聊天应用(应用A,APP02)过程中尝试访问相关路径或文件时,平板电脑702的应用内容同步模块将访问请求(同步请求)发送到手机701的应用内容读取模块。手机701的应用内容读取模块接收平板电脑702的应用内容同步模块发来的文件访问请求后,实时读取手机701上对应文件访问请求的聊天应用(应用A,APP01)本地应用数据,加密后发送到平板电脑702的应用内容加载同步模块。Further, in S821, the application content synchronization module of the
平板电脑702的应用内容加载同步模块接收手机701的应用内容读取模块发来的应用数据后,进行解密,解密后提供给平板电脑702的聊天应用(应用A,APP02)进行加载,从而启动聊天应用(应用A,APP02)。After the application content loading synchronization module of the
在S821之后,用户可以在平板电脑702上对聊天应用(应用A,APP02)的显示窗口进行触控操作。图10所示为根据本申请一实施例的手机投屏平板电脑的操作执行流程示意图。在S821之后,手机701以及平板电脑702执行如图10所示的操作。After S821, the user may perform a touch operation on the display window of the chat application (Application A, APP02) on the
S830,用户点击(input)平板电脑702(平板侧)的物理屏幕上聊天应用(应用A,APP02)的显示窗口中的内容。S830, the user clicks (inputs) the content in the display window of the chat application (application A, APP02) on the physical screen of the tablet computer 702 (tablet side).
S831平板电脑702的触控屏的底层硬件(Hardware)根据用户的点击输入(input)获取到用户的输入事件(input reader)。The underlying hardware (Hardware) of the touch screen of the
S832,将用户的输入事件发送到当前运行的聊天应用(应用A,APP02)。S832. Send the user's input event to the currently running chat application (application A, APP02).
具体的,平板电脑702的触控屏的底层硬件(Hardware)将用户的输入事件(inputreader)上报给平板电脑702的系统服务(SystemServer)。SystemServer将输入事件发送到当前运行的聊天应用(应用A,APP02)。Specifically, the underlying hardware (Hardware) of the touch screen of the
S833,平板电脑702的聊天应用(应用A,APP02)根据用户的输入事件进行响应,进行相关图像的绘制(draw frame)。S833, the chat application (Application A, APP02) of the
具体的,在一实施例中,在S833中,平板电脑702的应用内容同步模块监听平板电脑702聊天应用(应用A,APP02)根据用户的输入事件进行响应的响应过程中对平板电脑702的聊天应用(应用A,APP02)本地文件/路径(例如:File、FileInputStream、FileOutputStream、BitmapFactory)的访问(S834)。当平板电脑702的聊天应用(应用A,APP02)在响应用户输入事件的过程中尝试访问相关路径或文件时,平板电脑702的应用内容同步模块将访问请求(同步请求)发送到手机701的应用内容读取模块(S835)。手机701的应用内容读取模块接收平板电脑702的应用内容同步模块发来的文件访问请求后,实时读取手机701上对应文件访问请求的聊天应用(应用A,APP01)本地应用数据(S836),加密后发送到平板电脑702的应用内容加载同步模块。Specifically, in one embodiment, in S833, the application content synchronization module of the
平板电脑702的应用内容加载同步模块接收手机701的应用内容读取模块发来的应用数据后,进行解密,解密后提供给平板电脑702的聊天应用(应用A,APP02)进行加载(S837),从而使得平板电脑702的聊天应用(应用A,APP02)基于手机701的应用数据对用户的输入事件进行响应。After the application content loading synchronization module of the
在S833之后,就可以参照S411~S415的流程,在平板电脑702进行聊天应用的显示。After S833, the chat application can be displayed on the
在S833之后,平板电脑702上聊天应用(应用A,APP02)的显示内容为针对用户输入事件的响应结果。由于用户输入事件并未同步传输到手机701,手机701上的聊天应用(应用A,APP01)并未执行响应操作,因此,如果在S813中,手机701的屏幕显示内容为聊天应用(应用A,APP01)的启动界面。那么,在S833之后,手机701的屏幕显示内容保持在聊天应用(应用A,APP01)的启动界面。After S833, the display content of the chat application (Application A, APP02) on the
进一步的,在S833中,在平板电脑702的聊天应用(应用A,APP02)响应用户的输入事件的过程中,聊天应用的应用数据可能会被改写(例如,增加了新的聊天记录、保存了新的聊天图片、设定了新的聊天背景等等)。因此,在一实施例中,在S833之后,平板电脑702的应用内容同步模块将S834中生成的新的应用数据发送到手机701的应用内容读取模块。手机701的应用内容读取模块使用接收到的应用数据更新手机701上对应的本地应用数据。Further, in S833, during the process of the chat application (application A, APP02) of the
进一步的,为了避免用户个人隐私数据泄露,在S833之后,平板电脑702的应用内容同步模块删除手机701的应用内容读取模块发送过来的应用数据。具体的,平板电脑702的应用内容同步模块可以在聊天应用(应用A,APP02)每次响应完成后删除应用数据,也可以在聊天应用(应用A,APP02)运行结束、被关闭后删除应用数据,也可以在投屏操作结束后再删除应用数据。Further, in order to avoid leakage of the user's personal privacy data, after S833, the application content synchronization module of the
进一步的,在另一实施例中,在S821之前,平板电脑702的应用内容同步模块将针对聊天应用(应用A,APP02)同步请求发送到手机701的应用内容读取模块。手机701的应用内容读取模块接收平板电脑702的应用内容同步模块发来的同步请求后,实时读取手机701上聊天应用(应用A,APP02)在启动以及启动后运行过程中可能访问的所有本地应用数据,加密后发送到平板电脑702的应用内容加载同步模块。Further, in another embodiment, before S821, the application content synchronization module of the
平板电脑702的应用内容加载同步模块接收手机701的应用内容读取模块发来的应用数据后,进行解密,解密后提供给平板电脑702的聊天应用(应用A,APP02)。在平板电脑702的聊天应用(应用A,APP02)的启动过程以及启动后运行过程(响应用户输入事件)中,平板电脑702的聊天应用(应用A,APP02)加载手机701的应用数据,平板电脑702的聊天应用(应用A,APP02)基于手机701的应用数据启动并对用户的输入事件进行响应。After receiving the application data sent by the application content reading module of the
可以理解的是,上述实施例中的部分或全部步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。It can be understood that some or all of the steps or operations in the foregoing embodiments are only examples, and other operations or modifications of various operations may also be performed in the embodiment of the present application. In addition, various steps may be performed in different orders presented in the above embodiments, and it may not be necessary to perform all operations in the above embodiments.
进一步的,一般的,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field ProgrammableGate Array,FPGA))就是这样一种集成电路,其逻辑功能由访问方对器件编程来确定。由设计人员自行编程来把一个数字装置“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。Further, in general, improvements to a technology can be clearly distinguished as improvements in hardware (for example, improvements to circuit structures such as diodes, transistors, and switches) or improvements in software (improvements to method flow). However, with the development of technology, the improvement of many current method flows can be regarded as the direct improvement of the hardware circuit structure. Designers almost always get the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be realized by hardware physical modules. For example, a programmable logic device (Programmable Logic Device, PLD) (such as a field programmable gate array (Field Programmable Gate Array, FPGA)) is such an integrated circuit, the logic function of which is determined by the programming of the device by the accessing party. It is programmed by the designer to "integrate" a digital device on a PLD, instead of asking a chip manufacturer to design and manufacture a dedicated integrated circuit chip. Moreover, nowadays, instead of making integrated circuit chips by hand, this kind of programming is mostly realized by "logic compiler (logic compiler)" software, which is similar to the software compiler used when program development and writing, but before compiling The original code of the computer must also be written in a specific programming language, which is called a hardware description language (Hardware Description Language, HDL), and there is not only one kind of HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language) , AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., currently the most commonly used is VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. It should also be clear to those skilled in the art that only a little logical programming of the method flow in the above-mentioned hardware description languages and programming into an integrated circuit can easily obtain a hardware circuit for realizing the logic method flow.
因此,本申请实施例所提出的方法流程可以以硬件方式实现,例如,使用控制器,控制器控制触摸屏以实现本申请实施例所提出的方法流程。Therefore, the method flow proposed in the embodiment of the present application may be implemented in hardware, for example, using a controller, and the controller controls the touch screen to implement the method flow proposed in the embodiment of the present application.
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。The controller may be implemented in any suitable way, for example the controller may take the form of a microprocessor or processor and a computer readable medium storing computer readable program code (such as software or firmware) executable by the (micro)processor , logic gates, switches, application specific integrated circuits (Application Specific Integrated Circuit, ASIC), programmable logic controllers and embedded microcontrollers, examples of controllers include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicone Labs C8051F320, the memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that, in addition to realizing the controller in a purely computer-readable program code mode, it is entirely possible to make the controller use logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded The same function can be realized in the form of a microcontroller or the like. Therefore, such a controller can be regarded as a hardware component, and the devices included in it for realizing various functions can also be regarded as structures within the hardware component. Or even, means for realizing various functions can be regarded as a structure within both a software module realizing a method and a hardware component.
与上述实施例对应,本申请还提供了一种电子设备。电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发电子设备执行如本申请实施例所述的方法步骤。Corresponding to the foregoing embodiments, the present application further provides an electronic device. The electronic device includes a memory for storing computer program instructions and a processor for executing the program instructions, wherein when the computer program instructions are executed by the processor, the electronic device is triggered to execute the method steps described in the embodiments of the present application.
本申请还提供一种计算机程序产品,计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的部分或全部步骤。The present application also provides a computer program product, the computer program product includes a computer program, and when it is run on a computer, causes the computer to execute some or all of the steps provided in the embodiments of the present application.
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。Those skilled in the art can clearly understand that the technologies in the embodiments of the present invention can be implemented by means of software plus a necessary general-purpose hardware platform. Based on this understanding, the essence of the technical solutions in the embodiments of the present invention or the part that contributes to the prior art can be embodied in the form of software products, and the computer software products can be stored in storage media, such as ROM/RAM , magnetic disk, optical disk, etc., including several instructions to enable a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in various embodiments or some parts of the embodiments of the present invention.
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置实施例和终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。For the same and similar parts among the various embodiments in this specification, refer to each other. In particular, for the device embodiment and the terminal embodiment, since they are basically similar to the method embodiment, the description is relatively simple, and for relevant parts, please refer to the description in the method embodiment.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110953448.5ACN115904282A (en) | 2021-08-19 | 2021-08-19 | Screen projection method, device, storage medium and computer program product |
| PCT/CN2022/112971WO2023020528A1 (en) | 2021-08-19 | 2022-08-17 | Mirroring method, device, storage medium, and computer program product |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110953448.5ACN115904282A (en) | 2021-08-19 | 2021-08-19 | Screen projection method, device, storage medium and computer program product |
| Publication Number | Publication Date |
|---|---|
| CN115904282Atrue CN115904282A (en) | 2023-04-04 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202110953448.5APendingCN115904282A (en) | 2021-08-19 | 2021-08-19 | Screen projection method, device, storage medium and computer program product |
| Country | Link |
|---|---|
| CN (1) | CN115904282A (en) |
| WO (1) | WO2023020528A1 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118870080A (en)* | 2023-04-28 | 2024-10-29 | 华为技术有限公司 | Screen projection method and related device |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118870108A (en)* | 2023-04-28 | 2024-10-29 | 华为技术有限公司 | Screen projection method and device |
| CN119583567A (en)* | 2023-09-06 | 2025-03-07 | 华为技术有限公司 | Data synchronization method, electronic device and system |
| CN119248210A (en)* | 2024-03-19 | 2025-01-03 | 荣耀终端有限公司 | Screen projection control method, electronic device and storage medium |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110377250A (en)* | 2019-06-05 | 2019-10-25 | 华为技术有限公司 | A kind of touch control method and electronic equipment thrown under screen scene |
| CN113050841A (en)* | 2019-12-26 | 2021-06-29 | 华为技术有限公司 | Method, electronic equipment and system for displaying multiple windows |
| WO2021139630A1 (en)* | 2020-01-10 | 2021-07-15 | 华为技术有限公司 | Data transmission method, apparatus, data processing system, and storage medium |
| CN113157231A (en)* | 2019-09-18 | 2021-07-23 | 华为技术有限公司 | Data transmission method and related equipment |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102281341B1 (en)* | 2015-01-26 | 2021-07-23 | 엘지전자 주식회사 | Method for controlling source device at sink device and apparatus for the same |
| WO2017193328A1 (en)* | 2016-05-12 | 2017-11-16 | Qualcomm Incorporated | Human interface device and automatic calibration for back-controlling source device during remote screen casting session |
| CN110083324A (en)* | 2019-04-30 | 2019-08-02 | 华为技术有限公司 | Method, apparatus, electronic equipment and the computer storage medium of Image Rendering |
| CN110515576B (en)* | 2019-07-08 | 2021-06-01 | 华为技术有限公司 | Display control method and device |
| CN111123338B (en)* | 2019-12-20 | 2022-10-11 | 北京梧桐车联科技有限责任公司 | Positioning method and device, electronic equipment and storage medium |
| CN111880870B (en)* | 2020-06-19 | 2024-06-07 | 维沃移动通信有限公司 | Method, device and electronic device for controlling electronic device |
| CN112328344B (en)* | 2020-11-02 | 2022-11-22 | 联想(北京)有限公司 | Screen projection processing method and first equipment |
| CN112394898A (en)* | 2020-11-23 | 2021-02-23 | 深圳乐播科技有限公司 | Screen projection method, device and system, screen projection equipment and storage medium |
| CN112905289A (en)* | 2021-03-10 | 2021-06-04 | Oppo广东移动通信有限公司 | Application picture display method, device, terminal, screen projection system and medium |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110377250A (en)* | 2019-06-05 | 2019-10-25 | 华为技术有限公司 | A kind of touch control method and electronic equipment thrown under screen scene |
| CN113157231A (en)* | 2019-09-18 | 2021-07-23 | 华为技术有限公司 | Data transmission method and related equipment |
| CN113050841A (en)* | 2019-12-26 | 2021-06-29 | 华为技术有限公司 | Method, electronic equipment and system for displaying multiple windows |
| WO2021139630A1 (en)* | 2020-01-10 | 2021-07-15 | 华为技术有限公司 | Data transmission method, apparatus, data processing system, and storage medium |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118870080A (en)* | 2023-04-28 | 2024-10-29 | 华为技术有限公司 | Screen projection method and related device |
| Publication number | Publication date |
|---|---|
| WO2023020528A1 (en) | 2023-02-23 |
| Publication | Publication Date | Title |
|---|---|---|
| CN114467297B (en) | Video call display method and related device applied to electronic equipment | |
| CN109814766B (en) | Application display method and electronic device | |
| CN113885759B (en) | Notification message processing method, device, system and computer readable storage medium | |
| WO2020259452A1 (en) | Full-screen display method for mobile terminal, and apparatus | |
| WO2020238871A1 (en) | Screen projection method and system and related apparatus | |
| WO2020253719A1 (en) | Screen recording method and electronic device | |
| CN113961157B (en) | Display interaction system, display method and equipment | |
| CN114040242B (en) | Screen projection method, electronic device and storage medium | |
| WO2021000807A1 (en) | Processing method and apparatus for waiting scenario in application | |
| WO2020093988A1 (en) | Image processing method and electronic device | |
| US20230236714A1 (en) | Cross-Device Desktop Management Method, First Electronic Device, and Second Electronic Device | |
| CN113722058B (en) | Resource calling method and electronic equipment | |
| CN113254409B (en) | File sharing method, system and related equipment | |
| WO2023020528A1 (en) | Mirroring method, device, storage medium, and computer program product | |
| CN110633043A (en) | A split-screen processing method and terminal device | |
| WO2021042878A1 (en) | Photography method and electronic device | |
| CN116233300A (en) | Method for controlling communication service state, terminal device and readable storage medium | |
| WO2022095744A1 (en) | Vr display control method, electronic device, and computer readable storage medium | |
| CN116723384B (en) | Process control method, electronic device and readable storage medium | |
| WO2022143180A1 (en) | Collaborative display method, terminal device, and computer readable storage medium | |
| CN114915747B (en) | Video call method, electronic device and readable storage medium | |
| CN115016697A (en) | Screen projection method, computer device, readable storage medium, and program product | |
| CN116048831A (en) | A target signal processing method and electronic equipment | |
| WO2023020012A1 (en) | Data communication method between devices, device, storage medium, and program product | |
| CN116305093B (en) | Method for operating applet and electronic device |
| 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 |