CN116931853A - 图像显示方法及电子设备 - Google Patents
图像显示方法及电子设备 Download PDFInfo
- Publication number
- CN116931853A CN116931853A CN202210325714.4A CN202210325714A CN116931853A CN 116931853 A CN116931853 A CN 116931853A CN 202210325714 A CN202210325714 A CN 202210325714A CN 116931853 A CN116931853 A CN 116931853A
- Authority
- CN
- China
- Prior art keywords
- image
- electronic device
- period
- refresh rate
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000009877 rendering Methods 0.000 claims description 45
- 238000004891 communication Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000004904 shortening Methods 0.000 abstract 1
- 239000010410 layer Substances 0.000 description 193
- 239000000203 mixture Substances 0.000 description 52
- 230000015572 biosynthetic process Effects 0.000 description 41
- 238000003786 synthesis reaction Methods 0.000 description 41
- 230000008569 process Effects 0.000 description 39
- 238000010586 diagram Methods 0.000 description 32
- 230000000694 effects Effects 0.000 description 32
- 230000006870 function Effects 0.000 description 27
- 238000007726 management method Methods 0.000 description 24
- 238000012545 processing Methods 0.000 description 21
- 230000002194 synthesizing effect Effects 0.000 description 18
- 238000010295 mobile communication Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 230000000737 periodic effect Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000010354 integration Effects 0.000 description 6
- 238000005266 casting Methods 0.000 description 5
- 238000007667 floating Methods 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000010030 laminating Methods 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 102220037846 rs34312177 Human genes 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请提供了一种图像显示方法及电子设备。该方法包括:第一电子设备可缩短图像绘制周期,以提升图像绘制量,并基于第一电子设备和第二电子设备的屏幕刷新率,来将绘制的图像,在将图像送显到上述两种电子设备时,向第二电子设备送显图像时的送显周期更短,从而使第一电子设备可向第二电子设备提供高于第一电子设备的屏幕刷新率的码流。
Description
技术领域
本申请实施例涉及终端设备技术领域,尤其涉及一种图像显示方法及电子设备。
背景技术
随着终端技术的发展,电子设备的显示屏的刷新率越来越高。电子设备的显示屏的 刷新率越高,显示屏显示的画面越流畅。随着电子设备的功能越来越多,电子设备可应用于各种多屏同显场景,例如投屏、视频通话、视频会议、直播等。
目前,受电子设备的显示屏的硬件限制,不同电子设备的显示屏的刷新率可能不同。 在多屏同显场景下,本端在向对端分享码流时,该码流的刷新率受本端显示屏的硬件刷 新率限制。
发明内容
为了解决上述技术问题,本申请提供一种图像显示方法及电子设备。在该方法中,可提高第一电子设备的图像绘制量,并基于第一电子设备和第二电子设备的不同刷新率,来将绘制的图像以不同的送显周期送显到上述两个电子设备,从而可向第二电子设备提供高于第一电子设备的屏幕刷新率的码流。
第一方面,本申请实施例提供一种图像显示方法,应用于第一电子设备,所述第一电子设备与第二电子设备通信连接。所述方法包括:所述第一电子设备响应于接收到的 图像显示请求,基于第一刷新率和第二刷新率,将图像绘制周期缩短为第一周期;其中, 所述第一刷新率为所述第一电子设备的第一显示屏的刷新率,所述第二刷新率为所述第 二电子设备的第二显示屏的刷新率,所述第一刷新率小于所述第二刷新率;所述第一电 子设备按照所述第一周期绘制多帧第一图像;所述第一电子设备按照第二周期将对应的 部分所述第一图像显示至所述第一显示屏;所述第一电子设备按照第三周期将对应的部 分或全部所述第一图像发送至所述第二电子设备;其中,所述第二周期大于所述第三周 期。
示例性的,第一电子设备与第二电子设备的通信连接方式可包括但不限于以下至少 之一:蓝牙、Wi-Fi、服务器等。
示例性的,第一显示屏以及第二显示屏均支持多个刷新率的档位,第一刷新率为第 一显示屏当前所处的刷新率档位对应的刷新率,第二刷新率为第二显示屏当前所处的刷 新率档位对应的刷新率。
例如第一显示屏支持的多个刷新率(FPS)分别为20、40、60。其中,第一显示屏的最大FPS为60。第二显示屏支持的多个刷新率分别为60、90、120。其中,第二显示屏 的最大FPS为120。
在一些实施例中,第一刷新率和第二刷新率均可调,可在相应的显示屏支持的刷新 率的档位上进行调节。
示例性的,传统的图像绘制周期受限于第一显示屏的第一刷新率。该传统的图像绘 制周期可为第一电子设备从硬件采样到的垂直同步信号(VSync信号)的信号周期T0。在第一刷新率改变时,可改变传统的图像绘制周期,从而改变第一电子设备在单位时间 内(例如1s)的图像绘制帧数。而在本实施例中,可将图像绘制周期缩短为第一周期, 以增加电子设备在单位时间内的图像绘制帧数,该第一周期可以不受限于第一显示屏的 第一刷新率。
示例性的,第一电子设备在按照所述第一周期绘制多帧第一图像时,可按照所述第 一周期渲染图像,以及按照所述第一周期对渲染后的图像进行合成,从而按照第一周期得到可上屏显示的多帧第一图像。其中,第一电子设备在一个第一周期对应的时长内可 得到待上屏显示的一帧第一图像。
在一些实施例中,第一电子设备可在接收到的图像显示请求后,响应于该图像显示 请求,按照缩短后的第一周期,对第一显示屏和第二电子设备的第二显示屏进行区别化送显。例如,按照上述第二周期和第三周期分别送显第一图像。
示例性的,该图像显示请求可以是多屏同显请求,那么只要第一电子设备接收到与 第二电子设备的多屏同显操作,则手机对该图像显示请求按照上述方案进行响应。
以第一电子设备为手机,第二电子设备为智能电视为例,用户在手机上触发投屏操 作(图像显示请求的一个示例),手机可响应于该投屏操作,自动按照上述方法,来将待投屏显示的第一图像,在手机和电视的显示屏上进行不同周期的区别化送显。在多屏同 显场景下,第一电子设备自动按照通信连接的第一电子设备和第二电子设备各自的屏幕 刷新率,进行送显周期区别化的图像送显,以使第一电子设备向第二电子设备送显的图 像的刷新率可高于第一电子设备的第一刷新率。
示例性的,该图像显示请求也可以是自适应刷新请求。例如,第一电子设备的系统设置界面具有预设开关、或者,第一电子设备具有预设虚拟按键,或者,第一电子设备 具有切换图标等。用户通过对上述预设开关、或预设虚拟按键,或所述切换图标进行操 作,可使第一电子设备接收到自适应刷新请求,从而按照上述方法,来将第一电子设备 绘制的待显示图像,按照通信连接的第一电子设备和第二电子设备各自的屏幕刷新率, 进行送显周期区别化的图像送显,以使第一电子设备向第二电子设备送显的图像的刷新 率可高于第一电子设备的第一刷新率。
在一种可能的实施方式中,第一电子设备在执行第一方面的方法时,可不区分应用, 只要是第一电子设备待显示的图像,就按照上述方法来执行。
根据第一方面,所述第一电子设备按照第二周期将对应的部分所述第一图像显示至 所述第一显示屏,包括:所述第一电子设备基于所述第一刷新率和所述第一周期,确定第二周期;所述第一电子设备按照所述第二周期将对应的部分所述第一图像显示至所述第一显示屏,其中,所述第一图像以所述第一刷新率刷新显示在所述第一显示屏。第一 电子设备可结合第一电子设备的屏幕刷新率和第一电子设备的修改后的图像绘制周期, 来确定向第一电子设备送显图像的送显周期(第二周期),从而能够按照第二周期将第一 电子设备绘制部分的第一图像显示到第一显示屏。那么在第一电子设备上,图像能够按 照第一电子设备的屏幕刷新率进行刷新显示,图像的刷新率与第一电子设备的屏幕刷新 率相一致。
根据第一方面,或者以上第一方面的任意一种实现方式,所述第一电子设备包括第 一显示屏对象;所述第一电子设备按照第二周期将对应的部分所述第一图像显示至所述 第一显示屏,包括:所述第一电子设备按照所述第二周期,发送第一垂直同步信号至所述第一显示屏对象,以使所述第一显示屏对象按照所述第二周期获取部分所述第一图像;其中,所述第一显示屏对象用于管理所述第一显示屏的输入数据和输出数据;所述第一 电子设备通过所述第一显示屏对象,按照所述第二周期将对应的部分所述第一图像显示 至所述第一显示屏。第一电子设备可按照第二周期将绘制的部分第一图像送显至第一显 示屏对象,以在与第一显示屏对象对应的第一显示屏上,第一图像能够按照第一刷新率 显示。第一电子设备显示的第一图像的刷新率与第一电子设备的屏幕刷新率相一致。
根据第一方面,或者以上第一方面的任意一种实现方式,所述第一电子设备按照第 三周期将对应的部分或全部所述第一图像发送至所述第二电子设备进行显示,包括:所述第一电子设备基于所述第二刷新率和所述第一周期,确定第三周期;所述第一电子设 备按照所述第三周期,将对应的部分或全部所述第一图像发送至所述第二电子设备进行 显示,其中,所述第一图像以所述第二刷新率显示在所述第二显示屏。第一电子设备可 结合第二电子设备的屏幕刷新率和第一电子设备的修改后的图像绘制周期,来确定向第 二电子设备送显图像的送显周期(第三周期),从而能够按照第三周期将第一电子设备绘 制部分或全部第一图像发送至第二电子设备。那么在第二电子设备上,第一电子设备绘 制的图像能够按照第二电子设备的屏幕刷新率进行刷新显示,图像的刷新率与第二电子 设备的屏幕刷新率相一致,而不受第一电子设备的屏幕刷新率限制。
根据第一方面,或者以上第一方面的任意一种实现方式,所述第一电子设备包括第 二显示屏对象;所述第一电子设备按照第三周期将对应的部分或全部所述第一图像发送 至所述第二电子设备进行显示,包括:所述第一电子设备按照所述第三周期,发送第二垂直同步信号至所述第二显示屏对象,以使所述第二显示屏对象按照所述第三周期获取部分或全部所述第一图像;其中,所述第二显示屏对象用于管理所述第二显示屏的输入 数据和输出数据;所述第一电子设备通过所述第二显示屏对象,按照所述第三周期将对 应的部分或全部所述第一图像发送至所述第二电子设备以显示在所述第二显示屏。第一 电子设备可按照第三周期向第二显示屏对象送显第一电子设备绘制的部分或全部的第一 图像,以在与第二显示屏对象对应的第二显示屏上,第一图像可按照第二刷新率显示。 第二电子设备显示的第一图像的刷新率与第二电子设备的屏幕刷新率相一致。
根据第一方面,或者以上第一方面的任意一种实现方式,所述第一电子设备基于第 一刷新率和第二刷新率,将图像绘制周期缩短为第一周期,包括:所述第一电子设备在获取到从所述第一显示屏采样的图像绘制周期时,所述第一电子设备基于所述第一刷新率和所述第二刷新率,将所述图像绘制周期修改为第一周期,其中,修改前的图像绘制 周期为所述第一刷新率的倒数。第一电子设备可在每次从第一显示屏采样到图像绘制周 期时,基于第一刷新率和第二刷新率之间的关系,来对图像绘制周期进行缩短,以使更 新后的图像绘制量可满足第二电子设备在显示图像时的第二刷新率。第一电子设备在每 次从硬件的第一显示屏采样到图像绘制周期时,来对图像绘制周期进行修改,可基于硬 件信号,动态地实现图像绘制周期的校准。
根据第一方面,或者以上第一方面的任意一种实现方式,所述第一电子设备基于第 一刷新率和第二刷新率,将图像绘制周期缩短为第一周期,包括:所述第一电子设备基于所述第一刷新率和所述第二刷新率的最小公倍数,确定第三刷新率;所述第一电子设 备基于所述第三刷新率,将所述图像绘制周期缩短为所述第一周期,其中,所述第一周 期为所述第三刷新率的倒数。在该实施方式中,对应到获取的多帧第一图像中,第一电 子设备和第二电子设备各自显示的不同帧图像之间的时间间隔是均匀的,可使第一电子 设备和第二电子设备的画面显示质量最优,可达到最佳显示性能。
根据第一方面,或者以上第一方面的任意一种实现方式,所述第一电子设备基于第 一刷新率和第二刷新率,将图像绘制周期缩短为第一周期,包括:所述第一电子设备基于所述第一刷新率和所述第二刷新率中的最大刷新率,确定第一周期;所述第一电子设 备将所述图像绘制周期缩短为所述第一周期;其中,所述第一周期为所述第二刷新率的 倒数。在该实施方式中,对应到获取的多帧第一图像中,可使具有屏幕刷新率为该最大 刷新率的第二电子设备,所显示的图像中帧与帧之间的时间间隔相同,以提高画面显示 质量。
根据第一方面,或者以上第一方面的任意一种实现方式,所述第一电子设备基于第 一刷新率和第二刷新率,将图像绘制周期缩短为第一周期,包括:所述第一电子设备基于第一刷新率和第二刷新率,确定第四刷新率,其中,所述第四刷新率大于所述第一刷 新率和所述第二刷新率中的最大刷新率;所述第一电子设备基于所述第四刷新率,将所 述图像绘制周期缩短为所述第一周期,其中,所述第一周期为所述第四刷新率的倒数。 在该实施方式中,对应到获取的多帧第一图像中,可在一定程度上降低第一电子设备的 图像渲染能力的要求,以降低第一电子设备的负载。
根据第一方面,或者以上第一方面的任意一种实现方式,所述第一图像包括第二图 像,其中,所述第二图像的数量与所述第一图像的数量的比值,为所述第一刷新率与所述第二刷新率的比值;所述第一电子设备按照第二周期将对应的部分所述第一图像显示至所述第一显示屏,包括:所述第一电子设备按照第二周期将所述第二图像显示至所述 第一显示屏;所述第一电子设备按照第三周期将对应的部分或者全部所述第一图像发送 至所述第二电子设备,包括:所述第一电子设备按照第三周期将所述多帧第一图像发送 至所述第二电子设备。
例如第一显示屏的FPS为60,第二显示屏的FPS为120,那么一个示例性的时间段内,第一电子设备可绘制120帧的第一图像,其中,120帧的第一图像均送显至第二显示 屏,120帧中有60帧的图像(这里的第二图像)送显到第一显示屏。以此实现对第一电 子设备和第二电子设备的区别化送显。
根据第一方面,或者以上第一方面的任意一种实现方式,所述第一电子设备响应于 接收到的图像显示请求,基于第一刷新率和第二刷新率,将图像绘制周期缩短为第一周期,包括:所述第一电子设备接收对第一应用的图像显示请求;所述第一电子设备响应 于所述图像显示请求,基于所述第一刷新率和所述第二刷新率,将所述第一应用的图像 绘制周期缩短为所述第一周期,其中,所述第一图像为所述第一应用待显示至所述第一 显示屏的图像。
示例性的,第一应用可以是具有投屏功能的应用、具有共享屏幕功能的应用、音乐播放应用、视频播放应用、相册应用等,本申请对此不做限制。
在一种可能的实施方式中,该图像显示请求可以不是对应用触发的操作,可以是对 第一电子设备的系统触发的操作,例如图像显示请求可以是对手机系统的快捷入口(例如投屏快捷入口)的操作。示例性的,该快捷入口可包括但不限于上述第一方面举例的 预设虚拟按键、预设开关、切换图标等。
本实施方式中,第一电子设备可将第一应用的图像绘制周期进行缩短,并将第一应 用的待显示图像,按照不同送显周期送显到第一电子设备和第二电子设备显示,以实现对应用显示内容在不同电子设备上以不同刷新率显示。
根据第一方面,或者以上第一方面的任意一种实现方式,所述第一电子设备包括第 一摄像头,所述第一图像为所述第一摄像头采集的图像。
示例性的,第一电子设备可在视频通话、视频会议、直播等场景,将第一摄像头(前者摄像头或后置摄像头)实时采集的图像,以不同刷新率显示在第一电子设备和第二电 子设备。
根据第一方面,或者以上第一方面的任意一种实现方式,所述第一应用包括以下任 意一种应用:视频通话应用、视频会议应用、直播应用。
根据第一方面,或者以上第一方面的任意一种实现方式,所述第二电子设备的数量 为一个或多个。
示例性的,在第二电子设备的数量为多个时,则在上述任意实施方式中,在结合第二刷新率来确定相关信息时,可结合多个第二电子设备各自的第二刷新率,来确定相关 信息,方法同理,这里不再赘述。
在一种可能的实施方式中,第一电子设备的数量可以是一个或多个。
第二方面,本申请实施例提供一种电子设备。该电子设备包括:存储器和处理器,所述存储器和所述处理器耦合;所述存储器存储有程序指令,所述程序指令由所述处理 器执行时,使得所述电子设备执行如第一方面以及第一方面的任意一种实现方式中的方 法。
第二方面所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式 所对应的技术效果,此处不再赘述。
第三方面,本申请实施例提供一种图像显示系统。该系统包括:第二方面所述的电子设备。
第三方面所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式 所对应的技术效果,此处不再赘述。
第四方面,本申请实施例提供了一种计算机可读介质,用于存储计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如第一方面以及第一方面的任意一种实施方式中的方法。
第四方面所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式 所对应的技术效果,此处不再赘述。
第五方面,本申请实施例提供了一种芯片,该芯片包括一个或多个接口电路和一个 或多个处理器;所述接口电路用于从电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括存储器中存储的计算机指令;当所述处理器执行所述计算机指 令时,使得所述电子设备执行如第一方面以及第一方面的任意一种实施方式中的方法。
第五方面所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式 所对应的技术效果,此处不再赘述。
第六方面,本申请实施例提供了一种包含指令的计算机程序产品,当所述计算机程 序产品在计算机上运行时,使得所述计算机执行如第一方面以及第一方面的任意一种实 施方式中的方法。
第六方面所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式 所对应的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需 要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些 附图获得其他的附图。
图1为示例性示出的电子设备的结构示意图之一;
图2为示例性示出的电子设备的软件结构示意图;
图3a为示例性示出的电子设备的显示一帧图像的过程示意图;
图3b为示例性示出的电子设备的一种应用场景的示意图;
图3c为示例性示出的两种电子设备交互的示意图;
图4为传统技术中的电子设备的投屏场景的示意图;
图5a为示例性示出的电子设备的图像显示过程的示意图;
图5b为示例性示出的电子设备的一种应用场景的示意图;
图5c为示例性示出的电子设备的一种应用场景的示意图;
图5d为示例性示出的电子设备的一种应用场景的示意图;
图5e为示例性示出的电子设备的一种绘帧和送显过程的示意图;
图5f为示例性示出的电子设备的一种绘帧和送显过程的示意图;
图6a为示例性示出的电子设备的一种绘帧和送显过程的示意图;
图6b为示例性示出的电子设备的一种绘帧和送显过程的示意图;
图6c为示例性示出的电子设备的一种绘帧和送显过程的示意图;
图6d为示例性示出的电子设备的一种绘帧和送显过程的示意图;
图7a为示例性示出的电子设备的图像显示过程的示意图;
图7b为示例性示出的电子设备的图像显示过程的示意图;
图7c为示例性示出的电子设备的图像显示过程的示意图;
图8为示例性示出的电子设备的一种应用场景的示意图;
图9为示例性示出的电子设备的一种应用场景的示意图;
图10为示例性示出的电子设备的一种应用场景的示意图;
图11为示例性示出的电子设备的一种应用场景的示意图;
图12为本申请实施例提供的装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整 地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是 用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解 释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例 如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
图1示出了电子设备100的结构示意图。应该理解的是,图1所示电子设备100仅 是电子设备的一个范例,可选地,电子设备100可以为终端,也可以称为终端设备,终 端可以为蜂窝电话(cellular phone),平板电脑(pad)、可穿戴设备或物联网设备等具 有媒体数据播放功能的设备,本申请不做限定。需要说明的是,电子设备100可以具有 比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同 的部件配置。图1中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电 路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用 串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141, 电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声 器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达 191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传 感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F, 接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传 感器180L,骨传导传感器180M等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit, GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码 器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立 的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。 避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传 输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接 口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口, 和/或通用串行总线(universal serial bus,USB)接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB 接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也 可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放 音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以 采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接 口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可 以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142 充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121, 外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141 还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他 一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电 源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将 天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合 使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声 放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波, 并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信 模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。 在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。 在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分 模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带 信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理 器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移 动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS), 调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成 至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波, 将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160 还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐 射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线 通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图 形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示 屏194,N为大于1的正整数。在另一些实施例中,该电子设备100还可以是投影仪。基 于投影仪的显示特性,该电子设备可以包括或者不包括显示屏194。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应 用处理器等实现拍摄功能。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据 存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指 令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种 功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存 储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放 功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据, 电话本等)等。在一些实施例中,内部存储器121可以包括高速随机存取存储器,还可以 包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器 (universal flashstorage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳 机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输 入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置 于处理器110中。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的 键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的 振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动 反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不 同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡 接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个 SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡, SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也 可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外 部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一 些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100 中,不能和电子设备100分离。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100 的软件结构。
图2是本申请实施例的电子设备100的软件结构框图。
电子设备100的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分 别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核 层。
应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN, 蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器、逻辑管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态 栏,锁定屏幕,截取屏幕等。
逻辑管理器,可包括至少一个显示屏对象,并通过每个显示屏对象来管理对应的显 示屏(不限于本电子设备的显示屏)的输入与输出。
如图1和图2所示,对于本申请的电子设备100(以第一电子设备来命名)中处于工作状态的显示屏194,电子设备100可在逻辑管理器中创建与该显示屏194对应的显示屏 对象。示例性的,电子设备100运行的显示屏194可包括至少一个显示屏。
示例性的,第一电子设备可具有单面屏(包括主屏),那么该逻辑管理器中可包括标 记为主屏的显示屏对象。
示例性的,第一电子设备可具有双面屏(包括主屏和背面屏),那么该逻辑管理器中 可包括标记为主屏的显示屏对象,以及标记为背面屏的显示屏对象。
示例性的,第一电子设备可具有折叠屏(包括第一屏和第二屏),那么该逻辑管理器 中可包括标记为第一屏的显示屏对象,以及标记为第二屏的显示屏对象。
在一些实施例中,本申请的第一电子设备可通过HDMI(高清多媒体接口,HighDefinition Multimedia Interface)与至少一个第二电子设备(其中,第二电子设备包 括显示屏)连接,且该第一电子设备与第二电子设备处于多屏同显的场景下,那么逻辑 管理器中可进一步包括标记为有线屏的至少一个显示屏对象。
示例性的,本申请的电子设备1通过HDMI与电子设备2和电子设备3连接,逻辑管理器可进一步包括标记为有线屏1的显示屏对象(对应于电子设备2的显示屏)和标记 为有线屏2的显示屏对象(对应于电子设备3的显示屏)。
在一些实施例中,本申请的第一电子设备可与至少一个第三电子设备通过无线的方 式进行通信连接,且该第一电子设备与第三电子设备处于多屏同显的场景下。那么该逻辑管理器可进一步包括标记为虚拟屏的至少一个显示屏对象。
示例性的,本申请的电子设备1通过Wi-Fi与电子设备4通过投屏协议进行通信连接,那么该逻辑管理器可进一步包括标记为虚拟屏1的显示对象(对应于电子设备4的 显示屏)。
在一些实施例中,在第一电子设备处于录屏场景下时,该逻辑管理器也可进一步包 括标记为虚拟屏的显示屏对象,该标记为虚拟屏的显示屏对象为对录制的第一电子设备 的屏幕(例如主屏)所模拟的显示屏。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可 以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的 显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂 断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消 息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
系统库与运行时层包括系统库和安卓运行时(Android Runtime)。系统库可以包括 多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)、安卓图层合成模块(AndroidSurfaceFlinger)等。3D图形库用于实现三维图形绘图,图像渲染,合成和图层处理等。 安卓运行时包括核心库和虚拟机。安卓运行时负责安卓系统的调度和管理。核心库包含 两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序 层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文 件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安 全和异常的管理,以及垃圾回收等功能。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
图层合成模块(SurfaceFlinger)用于接收图1中的显示屏194采样的VSync信号的信号周期。
在一些实施例中,图层合成模块还用于对该信号周期进行修改,并按照修改后的信 号周期进行图层合成,以及对合成的待上屏图像对不同显示屏对象进行区别化的送显等 处理,具体处理过程将在下面的实施例中进行详细说明。
示例性的,图层合成模块可为安卓图层合成模块。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动, 传感器驱动。
可以理解的是,图2示出的系统框架层、系统库与运行时层包含的部件,并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示 更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
目前,随着用户对电子设备的显示画面的流畅度要求越来越高,电子设备的显示屏 的刷新率也越来越高。其中,电子设备的显示屏显示的画面(静态或动态画面)由一帧一帧不断刷新的静态画面组成。电子设备的刷新率越高,显示屏在1秒内所能够显示的 静态画面的数量就越多,那么显示屏显示的画面的流畅度就越高。
在传统的方案中,以电子设备为手机为例,手机利用单缓冲区来显示图像,在单缓冲区方案中,图像绘制过程与屏幕对图像的刷新过程使用同一块缓冲区。那么如果屏幕 的刷新率与图像的绘制频率不一致,则可能导致屏幕上同时显示两个画面区域,其中, 两个画面区域属于不同图像帧,从而使得屏幕显示的图像出现画面割裂的情况。
为了解决单缓冲区的问题,本申请的电子设备使用双缓冲区来显示图像。示例性的, 图3a为示例性示出的电子设备利用双缓冲区显示每一帧图像的过程。
如图3a所示,以电子设备为手机为例,手机可包括应用程序、图层合成模块、逻辑管理器,以及用于绘制图像的缓冲区A和用于显示图像的缓冲区B。其中,这里的应用程 序为手机屏幕当前显示的界面所属的应用。示例性的,该应用程序可以是手机安装的应 用,也可以是系统应用(例如提供手机桌面的应用),本申请对此不做限制。
示例性的,如图3b所示,手机屏幕上显示的主界面可包括图3b的(1)所示的图标界面201,图3b的(2)所示的系统通知栏界面202,以及图3b的(4)所示的状态栏界面203。 其中,图标界面201可包括桌面背景图像2013以及多个图标,这里示出了应用图标、电 量图标、网络图标等。为了实现将该主界面显示在手机屏幕上,手机可执行图3a所示的 过程,来实现一帧主界面的送显。
如图3a所示,为了将缓冲区A中已绘制的图像传递至缓冲区B进行送显,电子设备中引入了VSync(垂直同步)信号。图层合成模块可接收到VSync信号的信号周期T0, 图层合成模块可发送VSync信号至上述应用程序,以使应用程序在缓冲区A中绘制图像, 其中,应用程序每接收一个VSync信号,执行一帧图像的绘制。
示例性的,应用程序可基于所需要绘制的图像所包括的窗口数量,而调用CPU或GPU 在缓冲区A创建相应数量的队列,以实现一帧图像中不同图层的并行绘制。示例性的,为了实现图3b所示的主界面的绘制,应用程序可调用CPU在缓冲区中的队列11中渲染 窗口1,以绘制图3b的(4)所示的状态栏界面203,以及在队列12中渲染窗口2,以绘制 图3b的(2)所示的系统通知栏界面202,以及在队列13中渲染窗口3,以绘制图3b的(1) 所示的图标界面201中的桌面背景图像2013,以及在队列14中渲染窗口4,以绘制图3b 的(1)所示的图标界面201中的各图标。应用程序就可通过调用CPU或GPU,来在缓冲区 A中,对主界面内不同窗口进行并行绘制。
在一些实施例中,CPU每在缓冲区A中的一个队列(例如队列11)中渲染完成一个窗口,则将在该队列11中绘制完成的窗口1写入缓冲区B中的队列(这里为队列21), CPU从而可在缓冲区A的队列11中继续对下一帧主界面的图像中的该窗口1进行渲染。 对于缓冲区A中的其他队列的执行过程同理,以实现图像的不同窗口的并行渲染,提升 图像的渲染效率。
继续参照图3b,用户可从图3b的(1)所示的屏幕顶部的左半部分区域向下滑动,来显示如图3b的(2)所示的系统通知栏界面202,以及从图3b的(3)所示的屏幕顶部的右半 部分区域向下滑动,来显示如图3b的(4)所示的状态栏界面203。也就是说,系统通知栏 界面202与状态栏界面203是经过图层合成处理的。那么参照图3a,应用程序可调用CPU 将在队列11中渲染的窗口1(这里为状态栏)和在队列12中渲染的窗口2(这里为系统 通知栏),写入至缓冲区B中的队列21来进行图层合成,以呈现图3b所示的对状态栏 界面203和系统通知栏界面202的显示。
在一些实施例中,应用程序还可调用CPU将在队列13中渲染完成的窗口3(这里为桌面背景图像)以及队列14中渲染完成的窗口4(这里为桌面图标)写入至缓冲区B内 的队列22。
示例性的,图层合成模块可调用CPU或GPU在队列21内,将状态栏和系统通知栏进行图层合成,并将图层合成后的图像写入队列22。以及图层合成模块可在队列22内对桌 面背景图像、桌面图标、图层合成后的图像进行硬件合成,以在队列22中得到一帧可上 屏显示的主界面的图像,这里为与手机的屏幕分辨率大小相同的图像。
从图3a的过程可以看到,一帧图像在上屏显示前,需要经过应用程序对图像的渲染 处理,图层合成模块对渲染后的图像进行合成处理(依次为图层合成处理和硬件合成处理)。最后,图层合成模块将硬件合成后的待上屏图像提供给逻辑管理器中对应的显示 屏对象(例如对应于主屏的显示屏对象1),显示屏对象1可将从缓存区B读取的待上屏 图像进行上屏显示,使得手机的主屏可显示图3b的(1)至图3b的(4)所示的任意界面。
在一些实施例中,图层合成模块也可将图层合成后的图像以及从缓冲区A得到的待 硬件合成的图像发送至硬件合成模块(属于硬件抽象层的一个模块),来实现图像的硬件合成,并可从硬件合成模块读取图像的硬件合成结果,以提供给对应的显示屏对象。
示例性的,图2中应用程序的框架层内的窗口管理器,还可用于通知图层管理模块该映射关系,其中,该映射关系为缓冲区A中渲染后的窗口与逻辑管理器中显示屏对象 的映射关系。其中,相互映射的窗口和显示屏对象表示该窗口用于送显至该显示屏对象 对应的显示屏,也即该显示屏需要显示的一帧图像所需要的窗口内容。
示例性的,图层管理模块可按照窗口管理器提供的上述映射关系,来调用CPU(或GPU)分别对各显示屏对象所需要的窗口进行合成,以得到各显示屏对象的待上屏图像。 在不同场景下,逻辑管理器中不同的显示屏对象所需的待上屏图像可能存在差别或相同, 本申请对此不做限制。例如在多屏同显场景下,各个显示屏对象对应的各显示屏所需要 的窗口内容相同,那么图层合成模块可按照各个显示屏对象需要的窗口分别进行图层合 成和硬件合成,以得到待送显至各个显示屏对象的一帧待上屏图像。
在一些实施例中,图层管理模块可串行地合成各显示屏对象的待上屏图像,本申请 对此不做限制。
继续参照图3a,图层合成模块在接收到信号周期T0后,不仅可发送VSync信号至应用程序,以通知应用程序进行一帧图像的渲染,还可发送VSync信号至逻辑管理器中的 每个显示屏对象,以实现对缓冲区B中各待上屏图像的送显。示例性的,图层合成模块 可发送VSync信号至逻辑管理器中的每个显示屏对象,以通知该显示屏对象从缓冲区B 内的相应队列中读取各自的一帧待上屏图像。
通过对图3a的描述可以看到,在双缓冲区的场景下,手机可通过图层合成模块发送 一次VSync信号到应用程序,来实现一帧图像的渲染、图层合成、硬件合成,以及通过 发送一次VSync信号到逻辑管理器中的显示屏对象,来实现硬件合成后的一帧图像的送 显,从而实现双缓冲区的数据交换。
目前,手机的显示屏的FPS(Frames per Seconds,每秒传输帧数)可具有多个档位, 例如10、20、40、60,其中,手机显示屏的最大FPS为60,在手机的显示屏的FPS处于 某个档位时,图层合成模块可从硬件(例如显示屏)采样到对应于该档位的VSync信号 的信号周期,为了便于说明,本申请全文以手机的显示屏的当前FPS处于最高档位为例 来说明。
在传统技术中,图层合成模块在向应用程序发送VSync信号,以及在向逻辑管理器中的每个显示屏对象发送VSync信号时,VSync信号的发送周期均为从硬件采样到的信号周期T0。其中,该信号周期T0为手机屏幕的当前的FPS的倒数,例如手机的主屏的当前 的FPS为60,则信号周期T0为1/60。
基于对手机的显示屏的FSP的介绍可知,手机显示屏受硬件显示,其最大FPS为60,那么该信号周期T0也受手机屏幕的硬件限制,使得应用程序每秒最多只可以渲染60帧 图像。并且,在传统技术中,图层合成模块在发送VSync信号至逻辑管理器中的各显示 屏对象时,也是按照统一的该信号周期T0来分别发送VSync信号至各个显示屏对象,来 通知各个显示屏对象在缓冲区B取用各自的待上屏图像。那么各个显示屏对象对应的显 示屏每秒也最多只可显示60帧图像。
那么在多屏同显场景下,例如图3b、图3c和图4所示的手机向电视投屏的场景下,在传统技术中,如图3c所示,图3b所示的手机与路由器通过Wi-Fi数据连接,电视与 该路由器通过Wi-Fi数据连接,那么用户可操作图3b的手机,来将手机屏幕上显示的内 容投屏到电视的屏幕上显示。
示例性的,如图4所示,手机的屏幕刷新率为60帧/s,手机的显示屏的FPS为60, 电视的显示屏的FPS为120。示例性的,作为分享码流的一端,手机可称为本端,作为接 收码流的一端,电视可称为对端。
示例性的,可参照图3b的(4),状态栏界面203可包括多个控件,例如多个系统功能的快捷开关的图标,例如“飞行模式”快捷开关图标、“移动数据”快捷开关图标、 “静音”快捷开关图标、“自动旋转”快捷开关图标、“免打扰”快捷开关图标、“屏 幕录制”快捷开关图标、“超级省电”快捷开关图标、“无线投屏”快捷开关图标2031 等。
示例性的,用户点击“无线投屏”快捷开关图标2031,手机可响应于该用户操作,显示图3b的(5)所示的图标界面201,其中,图标界面201显示有悬浮窗2011,悬浮窗 2011包括手机搜索到的可投屏设备的图标2012(这里为客厅的电视)。示例性的,用户 点击图标2012,手机可响应于该用户操作,在图3a所示的逻辑管理器中创建显示屏对象 2,例如标记为虚拟屏的display2,这里的显示屏对象2对应于图4所示的电视的屏幕; 在一些实施例中,逻辑管理器还包括显示屏对象1,例如,标记为主屏的display1,这 里的显示屏对象1对应于图4所示的手机的屏幕。
结合图3a的过程,手机在接收到信号周期T0后,在传统技术中,手机可响应于用户点击图3b的(5)中图标2012的操作,按照信号周期T0发送VSync信号到应用程序,以 及按照信号周期T0发送VSync信号到显示屏对象1和显示屏对象2。结合图3a的过程, 使得应用程序每秒最多绘制60帧图像,而对应于主屏的显示屏对象1和对应于虚拟屏的 显示屏对象2均每秒可最多获取到60帧图像。
示例性的,在图4所示的投屏场景下,手机可将显示屏对象2获取的图像作为投屏的码流通过Wi-Fi网络传输到电视,以及将显示屏对象1获取的图像显示在手机屏幕上。 如图4所示,手机屏幕的显示内容为如图3b所示的图标界面201,电视屏幕的显示内容 也为该图标界面201。并且,手机屏幕每秒可显示60帧图像,而手机发送至电视的作为 投屏内容的码流的频率也同样为60帧/s。
虽然电视屏幕的当前FPS为120(其中,电视屏幕的最大FPS为120),但由于本端 绘制图像的频率,受从硬件采样的VSync信号的信号周期T0的限制,使得作为对端的电 视,在显示手机(本端)传输的媒体数据时,只可以按照本端的屏幕刷新率来显示媒体 数据。而无法按照对端自身的屏幕刷新率来显示对端传送的码流。因此,在多屏同显场 景下,在本端的屏幕刷新率低于对端的屏幕刷新率时,本端只可以按照本端的屏幕刷新 率来进行绘帧和送显,但是对端并不进行图像的绘制。在该些情况下,较低刷新率的本 端无法提供高于本端刷新率的码流至对端。
为了解决传统技术中,在多屏同显场景下,本端只可以提供与本端刷新率相同的码 流到对端显示,而无法提供超出本端的屏幕刷新率的码流的问题,本申请提供了一种电子设备,可突破本端的屏幕刷新率限制进行绘帧,以实现媒体数据在对端的高刷新率显示。
示例性的,本申请的电子设备所应用的多屏同显场景可包括但不限于以下场景:投 屏、录屏、视频通话、直播、视频会议、超级终端、多屏协同等场景。示例性的,在本 申请各个实施例中,在多屏同显场景下,本端的数量为至少一个,对端的数量为至少一 个。其中,本端可为制作媒体数据的码流并显示码流的电子设备,对端可为接收本端制 作的码流并显示该码流的电子设备。示例性的,媒体数据的媒体类型可包括但不限于: 静态图像、视频等。
示例性的,在一些场景下,例如录屏场景下,本端与对端可为同一电子设备。
示例性的,在投屏场景下,执行投屏操作的电子设备为本端,接收投屏的码流的电子设备为对端。
示例性的,在视频通话场景下,分享视频画面的电子设备为本端,接收本端发送的视频画面的码流的电子设备为对端。
示例性的,在直播场景下,执行直播操作的电子设备为本端,接收本端发送的直播视频的码流的电子设备为对端。
示例性的,在视频会议场景下,分享视频画面的电子设备为本端,接收本端发送的视频画面的码流的电子设备为对端。
示例性的,在超级终端场景下,分享视频画面的电子设备为本端,接收本端发送的视频画面的码流的电子设备为对端。
在一些实施例中,本端和对端可为电动汽车,分享视频画面的电子设备可以为电动 汽车,接收该视频画面的电子设备为另一个电动汽车。例如通过电动汽车的屏幕来实现本申请的视频画面的分享或者接收。
在一些实施例中,本端可为电动汽车,对端可为手机,电动汽车可分享视频画面至手机进行多屏同显。在一些实施例中,本端可为手机,对端可为电动汽车,手机可分享 视频画面至电动汽车进行多屏同显。
在一些实施例中,响应于图像显示请求,分享图像(或视频画面)的电子设备均可作为本端,接收码流(图像流或视频流)的电子设备均作为对端,那么在不同场景下, 作为本端的电子设备,以及作为对端的电子设备都是可调整的。例如同一个电子设备可 从本端切换为对端,同一个电子设备也可以从对端切换为本端,同一个电子设备也可以 既作为本端也作为对端。
例如手机1、手机2和手机3通信连接进行视频会议。
在一个场景中,手机1分享视频画面至手机2、手机3,那么手机1作为本端,手机 2和手机3均为对端。三个手机显示的画面均为手机1分享的视频画面。
在另一个场景中,手机2也开始分享视频画面,那么手机1和手机2均分享各自的视频画面在视频会议中。那么本场景中,手机2也作为本端,手机3还是对端,手机1 和手机2均作为分享视频画面的本端。此外,手机1还可接收并显示手机2分享的视频 画面,那么手机1不仅可作为本端,还可作为对端。同理,手机2还可接收并显示手机1 分享的视频画面,那么手机2也不仅作为本端,还作为对端。
图5a为示例性的示出的电子设备在多屏同显场景下的图像显示过程的示意图,可结 合图5b至图5d的投屏场景来理解该图像显示过程。其中,对于图5a中关于应用绘制图像、图层合成模块合成图像的过程,以及缓冲区A和缓存区B的数据交换过程可参照图3a 的描述,原理类似,这里不再赘述。
如图5a所示,该过程可包括如下步骤:
S101,图层合成模块基于本端的当前的屏幕刷新率(FPS0=1/T0)和对端当前的屏幕 刷新率,确定第一周期T11。
示例性的,请参照图5b,如图5b的(1)所示,手机的显示界面200可包括至少一个控件,该控件包括但不限于:网络图标控件、电量图标控件、应用图标控件等,其中, 应用图标控件可包括华为视频的图标控件2013,用户点击图标控件2013,手机可响应于 该用户操作,启动华为视频应用,并显示如图5b的(2)所示的显示界面301。
如图5b的(2)所示,显示界面301为华为视频应用的视频播放界面,显示界面301可包括至少一个控件,该控件包括但不限于:播放进度条控件402、播放进度控件404、 当前播放时间控件403,视频时长控件406、播放暂停控件405,投屏控件302。
示例性的,用户在点击播放暂停控件405后,手机可响应于该用户操作,对显示界面301内播放的视频进行暂停播放或启动播放。示例性的,播放时长控件406用于表示 显示界面301内播放的视频的总时长(这里为50分钟)。当前播放时间控件403用于表 示显示界面301内播放的视频的当前播放进度,在上述总时长中对应的播放时间点(简 称当前播放时间点,这里为0分0秒)。示例性的,用户在沿播放进度条控件402,拖动 播放进度控件404时,手机可响应于用户操作,来调整显示界面301内播放的视频的播 放进度。
示例性的,如图5b的(2)所示,用户点击投屏控件302,手机可响应于该用户操作,显示图5b的(3)所示的显示界面301,该显示界面301可进一步包括控件303,控件303 内显示有可投屏的设备的名称(这里为客厅的电视),在一些实施例中,控件303内还包 括选项控件304。用户可点击选项控件304,手机可响应于该用户操作,如图5c和图5d 所示,使手机与电视通过Wi-Fi连接,并且,手机可通过投屏协议将手机屏幕实时显示 的视频内容的视频流投放到电视屏幕进行同步显示。
示例性的,手机可响应于用户点击图5b的(3)所示的选项控件304,通过对端与本端 之间的设备连接协议(这里为投屏协议),来从电视获取电视的屏幕刷新率(例如,简称对端的FPS)。示例性的,对端的FPS为120。在一些实施例中,如图5a所示,手机还可 响应于用户可点击选项控件304的操作,在逻辑管理器中创建显示屏对象2(例如标记为 虚拟屏的display2)。在一些实施例中,逻辑管理器还包括手机显示屏对象1(例如标记 为主屏的display1),其中,显示屏对象1用于管理手机屏幕的输入输出。显示屏对象2 用于管理图5c和图5d所示的电视的屏幕的输入输出。
在一些实施例中,手机的图层合成模块可从手机的显示屏硬件(例如液晶显示屏(LCD, Liquid Crystal Display)定期获取VSync信号周期的采样数据(例如00001000001,其 中1表示需要发送VSync信号,0表示不需要发送VSync信号),图层合成模块可从LCD 定期获取到VSync信号的信号周期T0。如前文所述,信号周期T0直接与手机的LCD的 FPS0相关,T0=1/FPS0。示例性的,本端(例如手机)的FPS0为60,则T0=1/60。
在传统技术中,图层合成模块只可以按照从LCD采样的信号周期T0来周期性的发送 VSync信号到应用程序和显示屏对象,使得图像绘制率和刷新率均受本端从硬件采样的VSync信号的信号周期限制。
而在本申请实施例的手机中,图层合成模块可基于从对端获取到的对端的FPS(这里 为120)来对从本端硬件采样的信号周期T0(这里为1/60)进行修改,得到第一周期T11。
示例性的,如图3a的实施例所述,手机在进行图像渲染(或者说绘制)和图像合成时,都是按照该信号周期T0执行的,那么该信号周期T0也称图像绘制周期。本实施例 中,图层合成模块可对从硬件采样得到的VSync信号的信号周期T0进行修改,修改后的 图像绘制周期为T11。那么手机在进行图像渲染和图像合成时,则均按照T11来执行,那 么每个T11,手机可得到一帧待上屏显示的图像,那么手机可按照T11绘制多帧图像。
示例性的,LCD发送至图层合成模块的硬件形式的周期信号是无法被修改的,但是图 层合成模块可将硬件形式的周期信号转换为软件形式的周期信号,然后,对软件周期信号T0进行修改,使得修改后的软件形式的周期信号为T11。那么图层合成模块可按照第 一周期T11来通知应用程序进行绘帧,使得应用程序的绘制频率不受硬件采样的周期信 号T0限制。
在一些实施例中,随着手机运行时长越长,CPU执行命令发生堵塞等原因,可造成软 件形式的信号周期与硬件形式的信号周期之间的时间间隔越来越大,从而导致软件形式 的周期信号不准确,使得手机屏幕可能会出现花屏等问题。那么为了校准软件形式的周期信号,在多屏同显场景下,图层合成模块可在每次收到LCD的硬件形式的周期信号时, 都对软件形式的周期信号进行修改,从而达到定期校准VSync信号的信号周期的效果, 防止出现花屏等问题。
S104,图层合成模块按照第一周期T11发送VSync信号至应用程序。
示例性的,如图5b所示,这里的应用程序为手机屏幕当前显示的界面对应的应用,这里为华为视频应用。
S105,应用程序按照第一周期T11渲染图像。
S106,图层合成模块按照第一周期T11合成图像。
通过以上S105和S106,本端可按照第一周期T11绘制多帧图像(例如第一图像)。
示例性的,在本端当前FPS为60、对端当前FPS为120,图层合成模块在修改VSync信号的信号周期时,可通过两种策略来修改,对应于对信号周期的修改策略不同,在对 主屏和虚拟屏送显时策略也存在差异。示例性的,策略1可为最小公倍数策略。策略2 可为高于最大FPS的策略。
基于策略1的实施方式1,本端FPS为60,那么T0=1/60,对端FPS为120,图层合 成模块在修改信号周期时,可确定目标FPS,其中,T11为目标FPS的倒数。在本实施方 式中,目标FPS可为120,图层合成模块可将VSync信号的信号周期缩短一半。对此,图 层合成模块可将发送VSync信号至应用程序时的信号周期缩短一半,T11=(1/2)*T0=1/120。 这样图层合成模块可控制本端的应用程序以120帧/s的频率绘制图像。由于应用每次接 收到一个VSync信号,才可以绘制一帧图像,那么VSync信号的信号周期(也称图像绘 制周期)缩短一半,可使应用程序的图像绘制量翻倍,提高了图像绘制量。同理,图层 合成模块在合成图像时,也是按照120帧/s的频率进行合成。
基于策略2的实施方式2,本端FPS为60,那么T0=1/60,对端FPS为120,图层合 成模块在修改信号周期时,可确定目标FPS,其中,T11为目标FPS的倒数。在本实施方 式中,目标FPS可为高于本端FPS以及对端FPS的数值,例如目标FPS为180。 T11=1/180,T11为T0的三分之一。这样图层合成模块可控制本端的应用程序以180帧/s 的频率进行绘帧渲染图像。由于应用每次接收到一个VSync信号,才可以绘制一帧图像, 那么VSync信号的信号周期缩短一半,可使应用程序的图像绘制量翻倍,提高了图像绘 制量。同理,图层合成模块在合成图像时,也是按照180帧/s的频率进行合成。
需要说明的是,如上文所述,显示屏的FPS可具有多个档位,例如手机的FPS包括10、20、40、60的4个取值的FPS档位,本实施例以手机当前FPS处于最大档位(例如 60)为例,来说明对信号周期的修改策略。但是,当手机的当前FPS为其他FPS档位时, 则图层合成模块从显示屏接收到的信号周期T0也发生变化,例如手机的当前FPS为40, 则信号周期T0=1/40,则基于上述策略1,图层合成模块在确定第一周期T11时,则 T11=(1/3)*T0,图层合成模块可将手机当前的信号周期缩短为原信号周期T0的1/3,以 使T11=1/120。其他策略同理,这里不再赘述。
示例性的,在S101之后,图层合成模块可执行S102和S103,本申请对于S102和S103的执行顺序不做限制。此外,本申请对于S102、S103与S104之间的执行顺序也不 做限制,S104为按照T11周期性执行。示例性的,S107在S102之后执行,S108在S103 之后执行。
S102,图层合成模块可基于本端的当前屏幕刷新率和第一周期T11,确定对本端送显 的第二周期T12。
S107,图层合成模块按照第二周期T12发送VSync信号至显示屏对象1。
那么显示屏对象1可在每次接收到VSync信号时,读取图层合成模块合成的一帧待上屏图像,显示屏对象1可以将该帧图像发送至显示驱动,显示驱动可将该帧图像发送 至手机的显示屏(例如LCD)进行上屏显示。
S103,图层合成模块基于对端的当前屏幕刷新率和第一周期T11,确定对对端送显的 第三周期T13。
S108,图层合成模块按照第三周期T13发送VSync信号至显示屏对象2。
那么显示屏对象2可在每次接收到VSync信号时,读取图层合成模块合成的一帧待上屏图像,并将该帧图像发送至应用程序框架层的编解码器,以对该帧图像进行编码, 得到码流。本端可将该码流发送至对端,以使本端按照第一周期T11绘制的多帧图像中 的部分或全部图像,可在对端显示屏上以第三周期T13进行刷新显示。
在一些实施例中,第二周期T12大于第三周期T13。
本端可按照第二周期T12将对应的部分所述第一图像送显到显示屏对象1,以显示至 本端屏幕;本端还可按照第三周期T13来将对应的部分或全部所述第一图像,送显至显示屏对象2,以将本端按照第一周期T11绘制的部分或全部第一图像发送至对端,以将该 部分或全部第一图像在对端显示屏进行显示。
在一些实施例中,第二周期T12大于第三周期T13,第三周期T13可以等于第一周期T11,那么在一个示例性的时间段内,本端可将按照第一周期T11绘制的多帧图像中的全 部图像,送显至与对端对应的显示屏对象2,以及端可将按照第一周期T11绘制的多帧图 像中的部分图像,送显至与本端对应的显示屏对象1。
在一些实施例中,第一周期T11可以大于第三周期T13,第一周期T11可以大于第二周期T12,那么在一个示例性的时间段内,本端可将按照第一周期T11绘制的多帧图像, 按照第二周期T12,将该多帧图像中的部分图像送显至与本端对应的显示屏对象1,以及 按照第三周期T13,将该多帧图像中的部分图像送显至与对端对应的显示屏对象2,其中, 本端送显至显示屏对象1的图像,与送显至显示屏对象2的图像之间可存在相同的图像。
示例性的,对于S102、S103、S107以及S108,可分别结合上述实施方式1和实施方式2来理解:
在实施方式1中,图5e为示例性的示出的应用绘制的图像和送显至不同显示屏对象 的图像的示意图。
在实施方式1中,目标FPS为120,例如华为视频应用按照120帧/s的频率进行图 像绘制,并且图层合成模块按照120帧/s的频率进行图像合成,从而得到待上屏显示的 图像,这里示出的P1帧至Pi帧,其中,Pi帧表示图层合成模块生成的第i帧的待上屏 (或者说待送显)的图像,i为正整数。
本实施方式1中,本端的FPS为60,对端的FPS为120,本端绘制图像的FPS为120, 本端的VSync信号的信号周期T11为1/120,那么对本端送显的第二周期T12可为2个 T11,图层合成模块可每两个VSync信号的信号周期(例如1/240)发送一个VSync信号 到主屏对应的显示屏对象1,以通知显示屏对象1从缓冲区B读取一帧待上屏图像。示例 性的,如图5e所示,图层合成模块送显到主屏的图像可包括P1帧、P3帧、P5帧、P7 帧等。此外,在另一些情况下,图层合成模块送显到主屏的图像可包括P2帧、P4帧、P6 帧、P8帧等。
由于对端的FPS为120,本端绘制图像的FPS也为120,那么图层合成模块可每个VSync信号的信号周期(例如T13=T11)均发送一个VSync信号到虚拟屏对应的显示屏对 象2,以通知显示屏对象2从缓冲区B读取一帧待上屏图像。示例性的,如图5e所示, 图层合成模块送显到虚拟屏的图像与经过应用绘制和图层合成模块合成后的图像相同, 例如P1帧至Pi帧。
示例性的,显示屏对象1每从缓冲区B读取到一帧待上屏图像,就可以将该帧图像发送至显示驱动,显示驱动可将该帧图像发送至手机的显示屏(例如LCD)进行上屏显示。示例性的,如图5c,手机的显示界面301显示的图像的刷新率为60帧/s。这样,虽然应 用绘帧量得到了翻倍(120帧/s),但是,图像合成模块在向手机的主屏送显时,可每两 个VSync信号周期(例如每两个T11)送显一次,从而使得手机(例如本端的一个示例) 的显示屏显示的图像的刷新率与本端的显示屏的FPS相同,FPS为60。
示例性的,显示屏对象2每从缓冲区B读取到一帧待上屏图像,就可以将该帧图像发送至应用程序框架层的编解码器,以对该帧图像进行编码,得到码流。示例性的,如 图5c和图5d所示,手机可将120帧/s的该码流,通过投屏协议发送至电视,电视可通 过电视端的编解码器对码流解码,得到视频流,并将视频流在电视的屏幕上显示,使得 电视的屏幕上显示的投屏内容的刷新率为120帧/s。
对比于传统技术中的图4可以看到,传统技术中均以本端的当前FPS(以最大档位60为例)为基准进行应用绘帧,并对端和对端的显示屏对象以统一的信号周期T0来发送VSync信号进行送显,使得手机屏幕显示的图像的刷新率,与发送至电视的码流的刷新率相同,均为60帧/s。而在本申请实施例中,手机可基于对端的FPS,来对本端的VSync 信号的信号周期进行修改,并按照修改后的信号周期来绘帧,使得绘帧量增加。在一些 实施例中,手机还可基于修改后的信号周期,来对本端的主屏和对端的虚拟屏以不同的 信号周期来进行送显,从而实现送显至本端的显示屏的图像的频率与该显示屏的当前FPS (这里为60)一致,以及实现送显至对端的显示屏的码流的频率与对端的显示屏的当前 FPS(这里为120)一致。本端能够在多屏同显场景下,提供超出本端的最大屏幕刷新率 的码流至对端,以实现媒体数据在对端的高刷新率显示。
需要说明的是,在多屏同显场景下,共享码流的本端,所共享的码流的媒体类型可包括但不限于:静态图像、视频、文档等可显示的数据等。也就是说,本端向对端投屏 显示的是静态的图像,而非视频,该图像也是以码流的方式传送到对端的,同样可采用 本申请图5a的方案,来实现该图像在对端的高刷新率显示。
示例性的,对于S102、S103、S107以及S108,可结合上述实施方式2来理解:
在实施方式2中,图5f为示例性的示出的应用绘制的图像和送显至不同显示屏对象 的图像的示意图。
在实施方式2中,目标FPS为180,例如在投屏场景下,图5b所示的华为视频应用 按照180帧/s的频率进行图像绘制,并且图层合成模块按照180帧/s的频率进行图像合 成,从而得到待上屏显示的图像,这里示出的P1帧至Pi帧,其中,Pi帧的定义与图5e 相同,这里不再赘述。
基于策略2的实施方式2,本端的当前FPS为60,对端的当前FPS为120,本端绘制 图像的FPS为180(高于本端的FPS和对端的FPS中的最大值,例如120),本端的VSync 信号的信号周期T11=1/180=(1/3)*T0,那么对本端送显的第二周期T12可为3个T11, 图层合成模块可每3个VSync信号的信号周期(T12=3*T11)发送一个VSync信号到主屏 对应的显示屏对象1,以通知显示屏对象1从缓冲区B读取一帧待上屏图像。示例性的, 如图5f所示,图层合成模块送显到主屏的图像可包括P1帧、P4帧、P7帧等。由于对端 的FPS为120,本端绘制图像的FPS为180,图层合成模块在按照第三周期T13送显图像 至虚拟屏时,可每送显两帧图像到虚拟屏后就漏一帧不送显。其中,如上文所述,图层 合成模块每个T11合成一帧可送显的图像。示例性的,如图5f所示,图层合成模块送显 到虚拟屏的图像包括P1帧、P2帧,P4帧、P5帧、P7帧、P8帧等。当然,图层合成模块 送显到虚拟屏的图像并不限于图5f的举例,只要图层合成模块每送显两帧图像到虚拟屏 后就漏一帧不送显即可。例如,图层合成模块送显到虚拟屏的图像还可以是:P1帧、P3 帧,P4帧、P6帧、P7帧、P9帧等。或者,图层合成模块送显到虚拟屏的图像还可以是 P2帧、P3帧,P5帧、P6帧、P8帧、P9帧等。
那么经过上述实施方式2的对主屏和虚拟屏区别的送显,可使本端的显示的图像的 刷新率为60,对端显示的图像的刷新率为120。关于本实施方式2与实施方式1相同之处,这里不再赘述,具体送显过程可参照实施方式1的介绍。
示例性的,对于图5a的过程,还可基于图6a至图6d所示出的实施方式3至实施方式6来理解。其中,图6a至图6d,与图5e和图5f的原理类似,相同之处不再赘述。
在图6a至图6d中,分别以不同的信号周期修改策略为例,来描述对主屏和虚拟屏区别送显的过程。本申请的可基于作为本端的负载,以及本端与对端显示的图像的画面 质量两方面因素,来确定不同的信号周期修改策略。
在实施方式3至实施方式6中,以本端的当前FPS为60(本端的显示屏的最大FPS 为60)、对端的当前FPS为90(对端的显示屏的最大FPS为90)为例进行说明,当然, 在本端和对端的FPS为其他数值时,或者,在对端的数量为多个时,对于本端的最大FPS 小于对端的当前FPS的场景,同样可基于实施方式3至实施方式6的原理,来实现图5a 的技术方案,这里不再赘述。
示例性的,基于最小公倍数策略1的实施方式3:
与上述实施方式1原理类似,本端可将目标FPS设置为本端FPS(60)和对端FPS(90)的最小公倍数,这里为180,那么T11为T0的1/3倍,使得手机显示屏显示的界面对应 的应用,在绘制图像时,图像绘制量翻了三倍。
如图6a所示,图层合成模块在送显至主屏时,可每3个VSync信号的信号周期,例如每3个T11发送一次VSync信号到主屏,以送显一帧图像到主屏,使得本端的主屏显 示的图像的刷新率与本端的显示屏的FPS相同,均为60。示例性的,如图6a所示,送显 到主屏的图像依次为P1帧、P4帧、P7帧等。或者,图层合成模块送显到主屏的图像还 可依次为P2帧、P5帧、P8帧、P11帧等。图层合成模块每3个T11发送一个VSync信号, 以通知一次显示屏对象1来从缓冲区B读取一帧图像。当然,送显到主屏的图像的序列 并不限于图6a的举例,只要达到图层合成模块每连续生成的3帧图像内只发送一帧图像 到主屏的效果即可。
如图6a所示,图层合成模块在送显至虚拟屏时,可每2个VSync信号的信号周期,例如每2个T11发送一次VSync信号到虚拟屏,以送显一帧图像到虚拟屏。对端的屏幕 显示的图像的刷新率与对端的显示屏的FPS相同,均为90。示例性的,如图6a所示,送 显到虚拟屏的图像依次为P1帧、P3帧、P5帧、P7帧等。或者,图层合成模块送显到虚 拟屏的图像还可依次为P2帧、P4帧、P6帧、P8帧等。例如图层合成模块每2个T11发 送一个VSync信号,以通知一次显示屏对象2来从缓冲区B读取一帧图像。当然,送显 到虚拟屏的图像的序列并不限于图6a的举例,只要达到图层合成模块每连续生成的2帧 图像内只发送一帧图像到主屏的效果即可。
本实施方式3中,手机可对虚拟屏每2个VSync信号的信号周期送显一次,对主屏每3个VSync信号的信号周期送显一次,使得本端的主屏和对端的显示屏(对应于这里 的虚拟屏)所显示的图像画面中帧与帧之间的时间间隔是均匀。示例性的,手机可以从 应用刷新的180帧图像中,取到均匀的60帧图像在本端显示,以及取到均匀的90帧图 像在对端显示。例如在多屏同显场景下,本端和对端显示的图像画面是一种线性运动的 画面,例如掷出冰壶的画面(假设冰壶运动是匀速的),那么本实施方式3中,本端和 对端所显示的画面中线性运动的图像是均匀的,本端和对端的画面显示质量最优,可达 到最佳显示性能。但是对本端的图像渲染能力要求较高,使得本端的负载较高。
示例性的,基于取本端和对端的FPS中最大FPS的策略3的实施方式4:
示例性的,本端可将目标FPS设置为本端FPS(60)和对端FPS(90)中最大的FPS, 这里为90,那么T11为T0的2/3倍,使得手机显示屏显示的界面对应的应用,在绘制图 像时,图像绘制量增加。
如图6b所示,图层合成模块在送显至主屏时,可每3个VSync信号的信号周期中有一个信号周期不发送VSync信号到主屏。图层合成模块在按照第三周期T12送显图像至 主屏时,可每送显两帧图像到主屏后就漏一帧不送显。其中,如上文所述,图层合成模 块每个T11合成一帧可送显的图像。那么如图6b所示,图层合成模块可每发两帧图像到 主屏后就漏一帧不发送,使得本端的主屏显示的图像的刷新率与本端的显示屏的FPS相 同,均为60。示例性的,如图6a所示,送显到主屏的图像依次为P1帧、P2帧、P4帧、 P5帧、P7帧、P8帧等。图层合成模块每3个T11中有两个T11会分别发送一个VSync 信号到显示屏对象1,但剩余的一个T11不发送VSync信号到显示屏对象1,使得显示屏 对象1每3个T11中有2个T11可从缓冲区B分别读取一帧图像。当然,送显到主屏的 图像的序列并不限于图6a的举例,只要达到每连续的3帧内只发送2帧到主屏的效果即 可。例如,图层合成模块送显到主屏的图像还可以是:P1帧、P3帧,P4帧、P6帧、P7 帧、P9帧等。或者,图层合成模块送显到主屏的图像还可以是P2帧、P3帧,P5帧、P6 帧、P8帧、P9帧等。
如图6b所示,图层合成模块在送显至虚拟屏时,可每个VSync信号的信号周期(例如T13=T11)均发送一个VSync信号到虚拟屏对应的显示屏对象2,以通知显示屏对象2 从缓冲区B读取一帧待上屏图像。示例性的,如图6b所示,图层合成模块送显到虚拟屏 的图像与经过应用绘制和图层合成模块合成后的图像相同,例如P1帧至Pi帧。
本实施方式4中,手机可对虚拟屏每个VSync信号的信号周期均送显一次,使得对端的屏幕所显示的图像画面中帧与帧之间的时间间隔是均匀,对端的图像质量最优。手 机对主屏每3个VSync信号的信号周期中就隔一个信号周期向主屏送显,使得本端的主 屏所显示的图像画面中帧与帧之间的时间间隔不均匀,存在长短帧的情况。例如在多屏 同显场景下,本端和对端显示的图像画面是一种线性运动的画面,例如掷出冰壶的画面 (假设冰壶运动是匀速的),那么本实施方式4中,对端所显示的画面中线性运动的图 像是均匀的,画面显示质量最优,可达到最佳显示性能。但是本端所显示的画面中线性 运动的图像是不均匀的(例如图像显示效果为冰壶依次前进5米、5米、10米、5米、5 米、10米)。虽然,本实施方式4,相比于实施方式3,本端显示的画面中,帧与帧之间 存在损失,显示效果稍差,但是,相比于实施方式3,本实施方式4对本端的图像渲染能 力相对要求较低,可在一定程度上降低对本端的负载要求。
示例性的,基于高于最大FPS的策略2的实施方式5:
与上述实施方式2原理类似,本端可将目标FPS设置比本端FPS(60)和对端FPS(90)中最大的FPS(这里为90)更高的数值,这里为120,那么T11为T0的1/2倍,使得手 机显示屏显示的界面对应的应用,在绘制图像时,图像绘制量翻倍。
当然,目标FPS并不限于这里举例的120,可以是高于90的任意数值,具体数值可结合对本端的负载要求,和对本端和对端的显示画面的显示性能等因素而综合确定该目标FPS的数值。
如图6c所示,图层合成模块在送显至主屏时,可每2个VSync信号的信号周期,例如每2个T11发送一次VSync信号到主屏,以送显一帧图像到主屏,使得本端的主屏显 示的图像的刷新率与本端的显示屏的FPS相同,均为60。示例性的,如图6c所示,送显 到主屏的图像依次为P1帧、P3帧、P5帧、P7帧等。例如图层合成模块每2个T11发送 一个VSync信号,以通知一次显示屏对象1来从缓冲区B读取一帧图像。当然,送显到 主屏的图像的序列并不限于图6c的举例,只要达到每连续的2帧内只发送一帧到主屏的 效果即可。
如图6c所示,图层合成模块在送显至虚拟屏时,可每4个VSync信号的信号周期中有一个信号周期不发送VSync信号到虚拟屏。图层合成模块在按照第三周期T13送显图 像至虚拟屏时,可每送显三帧图像到虚拟屏后就漏一帧不送显。其中,如上文所述,图 层合成模块每个T11合成一帧可送显的图像。那么如图6c所示,图层合成模块可每发3 帧图像到虚拟屏后就漏一帧不发送,使得对端的显示屏显示的图像的刷新率与对端的显 示屏的FPS相同,均为90。示例性的,如图6c所示,图层合成模块送显到虚拟屏的图像 依次为P1帧、P2帧、P3帧、P5帧、P6帧、P7帧、P9帧等。例如图层合成模块每4个 T11中有3个T11会分别发送一个VSync信号到显示屏对象2,但剩余的一个T11不发送 VSync信号到显示屏对象2,使得显示屏对象2每4个T11中有3个T11可从缓冲区B分 别读取一帧图像。当然,送显到虚拟屏的图像的序列并不限于图6c的举例,只要达到每 连续的4帧内只发送3帧到虚拟屏的效果即可。例如,图层合成模块送显到虚拟屏的图 像还可以是:P2帧、P3帧、P4帧、P6帧、P7帧、P8帧、P10帧、P11帧、P12帧等。
本实施方式5中,手机可对主屏每两个VSync信号的信号周期均送显一次,使得本端的屏幕所显示的图像画面中帧与帧之间的时间间隔是均匀,本端的图像质量最优。本 端的图层合成模块对虚拟屏每4个VSync信号的信号周期中就隔一个信号周期向虚拟屏 送显,使得对端的显示屏所显示的图像画面中帧与帧之间的时间间隔不均匀,存在长短 帧的情况。例如在多屏同显场景下,本端和对端显示的图像画面是一种线性运动的画面, 例如掷出冰壶的画面(假设冰壶运动是匀速的),那么本实施方式5中,本端所显示的 画面中线性运动的图像是均匀的,画面显示质量最优,可达到最佳显示性能。但是对端 所显示的画面中线性运动的图像是不均匀的(例如图像显示效果为冰壶依次前进3米、3 米、3米、6米、3米、3米、3米、6米)。虽然,本实施方式5,相比于实施方式3, 本端显示的画面中,帧与帧之间存在损失,显示效果稍差。但是,本实施方式5,相比于 实施方式4,帧与帧之间的时间间隔更短,长短帧情况得到缓解,显示效果更优。此外, 本实施方式5相比于实施方式3,对本端的图像渲染能力相对要求较低,可在一定程度上 降低对本端的负载要求。
示例性的,基于信号周期不修改的策略4的实施方式6:
示例性的,本实施方式6中,本端可将目标FPS设置为本端FPS(60)相同的数值, 那么T11=T0,即VSync信号的信号周期不修改,使得手机显示屏显示的界面对应的应用, 在绘制图像时,图像绘制量保持不变。其中,对端FPS为90。
如图6d所示,图层合成模块在送显至主屏时,可每个VSync信号的信号周期,例如每个T11发送一次VSync信号到主屏,以送显一帧图像到主屏,使得本端的主屏显示的 图像的刷新率与本端的显示屏的FPS相同,均为60。示例性的,如图6d所示,送显到主 屏的图像依次为P1帧、P2帧、P3帧、P4帧、P5帧、P6帧、P7帧…Pi帧等。图层合成 模块每个T11发送一个VSync信号,以通知一次显示屏对象1来从缓冲区B读取一帧图 像。
如图6d所示,图层合成模块在送显至虚拟屏时,可在一个VSync信号的信号周期,发送一次VSync信号到虚拟屏以将一帧图像送显到虚拟屏一次,在下一个VSync信号的 信号周期,发送2次VSync信号到虚拟屏以将下一帧图像对虚拟屏送显2次,以此循环。 那么可使对端的显示屏显示的图像的刷新率与对端的显示屏的FPS相同,均为90。示例 性的,对端显示的每90帧图像中每两帧相同,间隔一帧图像后,另两帧图像又相同。示 例性的,如图6d所示,图层合成模块送显到虚拟屏的图像依次为P1帧、P1帧、P2帧、 P3帧、P3帧、P4帧、P5帧、P5帧、P6帧等。图层合成模块在一个T11会发送一个VSync 信号到显示屏对象2,下一个T11会发送2个VSync信号到显示屏对象2,再下一个T11 又发送一个VSync信号到显示屏对象2,右下一个T11发送2个VSync信号到显示屏对象…。 使得显示屏对象2在一个T11时可从缓冲区B读取到一帧图像,下一个T11可从缓存区B 读取到两帧相同的图像。当然,送显到虚拟屏的图像的序列并不限于图6d的举例,只要 达到送显至虚拟屏的每连续的3帧中有连续的两帧是相同图像的效果即可。
本实施方式6中,手机可对主屏每个VSync信号的信号周期均送显一次,使得本端的屏幕所显示的图像画面中帧与帧之间的时间间隔是均匀,本端的图像质量最优。且本 端的VSync信号的信号周期没有修改,使得对本端的负载没有增加,本端负载最优。但 是,本端显示的图像画面中每3帧有两帧相同的图像,相较于实施方式3,画面显示效果 稍差。
在实际应用中,本端可根据本端的负载,以及本端和对端的画面质量的要求,而灵活使用上述策略1至策略4中的任意策略,来修改VSync信号的信号周期,以及区别化 的以不同周期来发送VSync信号到主屏和虚拟屏进行送显。此外,对信号周期的修改以 及区别划分向主屏和虚拟屏送显的策略并不限于上述策略1至策略4,还可包括其他未示 出的策略,本申请对此不做限制。
在一些实施例中,上述策略1至策略4同样适用于本端的数量为多个,和/或对端的数量为多个的场景,只要是本端的显示屏的FPS低于对端的显示屏的FPS即可。示例性 的,在对端的数量为多个时,本端的图层合成模块可区分本端的显示屏对象,以及各对 端的显示屏对象,来对逻辑管理器中的不同显示屏对象按照各自的信号周期进行送显, 以实现低刷新率的本端,向高刷新率的对端提供高于本端刷新率的码流。在多屏同显场 景下,在对端的屏幕具有比本端的屏幕更高的显示性能时,对端屏幕的显示内容的刷新 率可不受本端屏幕的性能(刷新率)的限制。
在本申请的上述各实施方式中,本端可基于对端的FPS,来对本端的VSync信号的信 号周期进行修改,并按照修改后的信号周期来控制应用绘帧,使得绘帧量增加。此外,手机还可基于修改后的信号周期,来对本端的主屏和对端的虚拟屏以不同的信号周期来进行送显,从而实现送显至本端的显示屏的图像的频率与本端的该显示屏的FPS一致, 以及实现送显至对端的显示屏的码流的频率与对端的显示屏的FPS一致。本端能够在多 屏同显场景下,提供超出本端的屏幕刷新率的码流至对端,以实现媒体数据在对端的高 刷新率显示。
在一些实施例中,可参照图5a,应用程序侧的渲染图层的过程,与图层合成模块侧的合成图像的过程都是按照统一的该VSync信号周期(这里的信号周期T11)来执行的, 那么本端在按照第二周期T12,来发送VSync信号到显示屏对象1,以及按照第三周期T13 来发送VSync信号到显示屏对象2时,无需检查缓冲区B中是否已经合成了相应的显示 屏对象的待上屏图像,只需要按照设置的周期通知相应的显示屏对象来读取待上屏显示 的图像即可,因为,在图层合成模块通知逻辑管理器中的各显示屏对象来读取各自的待 上屏图像之前,各显示屏对象的待上屏图像已经按照第一周期T11而在缓冲区B中生成。
在一些实施例中,图层合成模块向应用程序或逻辑管理器侧发送的VSync信号可以 是图层合成模块生成的VSync信号。此外,图层合成模块通知应用程序渲染图像,以及通知显示屏对象从缓冲区B中读取图像的方式,也不限于发送VSync信号的方式,还可 以是其他通知方式,只要可以达到通知的效果即可。
另外,如图2中关于逻辑管理器的描述,基于场景的不同,逻辑管理器中可包括三类显示屏对象,一类为标记为主屏或背面屏或第一屏或第二屏的显示屏对象,一类为标 记为有线屏的显示屏对象,一类为标记为虚拟屏的显示屏对象。在图5b至图5d的投屏 场景下,上述实施例以逻辑管理器中的标记为主屏的显示屏对象1,和标记为虚拟屏的显 示屏对象2为例,来说明了图5a所示的本端可提供超出本端的屏幕刷新率(这里为主屏 的FPS)的码流至对端,以实现媒体数据在对端的高刷新率显示的过程。
在多屏同显的场景下,本端的显示屏类型较多,且本端和对端的数量均为至少一个, 示例性的,本端和对端的数量均可为多个。因此,基于多屏同显场景下,进行媒体数据同显的电子设备的差别化。逻辑管理器可包括标记有主屏的显示屏对象,和/或,标记有 背面屏的显示屏对象,和/或,标记有折叠屏中的第一屏的显示屏对象,标记有折叠屏中 的第二屏的显示屏对象,和/或,至少一个标记为有线屏的显示屏对象,和/或,至少一 个标记为虚拟屏的显示屏对象。并且,不论逻辑管理器包括怎样的显示屏对象,图5a的 过程同样可以实现,原理类似,效果类似,这里不再赘述。
在一些实施例中,在多屏同显场景下,本端与对端的通信连接方式可包括但不限于 以下至少一种方式:登陆同一账号、连接同一Wi-Fi、蓝牙连接、NFC(近场通信,NearField Communication)等,本申请对此不做限制。
在一种可能的实施方式中,在多屏同显场景下,当本端的显示屏的最大FPS(例如本 端的当前FPS为最大FPS,例如120)高于对端的显示屏的最大FPS(例如对端的当前FPS为最大FPS,例如60)时,为了使本端可将刷新率为60帧/s的码流传输给对端上屏显示, 示例性的,如上述实施例所述,本端在将一帧图像传输至对端时,需要经过图像渲染、 图层合成、硬件合成、送显到显示屏对象以及编码等操作,那么本端可在上述任意操作 环节延长该操作环节的周期,以达到将刷新率为60帧/s的码流传输给对端上屏显示的目 的。区别于本端的显示屏的最大FPS低于对端的显示屏的FPS的场景中,在对不同显示 屏对象送显时,以不同的送显周期进行送显,以达到将刷新率与对端的显示屏的FPS相 同的码流传输至对端显示的方式。在本实施方式中,可在上述任意操作环节进行执行周 期的延长,以达到将将刷新率与对端的显示屏的FPS相同的码流传输至对端显示的效果。 示例性的,本申请对于延长周期的具体方式不做限制。
在一种可能的实施方式中,电子设备(以手机为例)中安装的不同应用程序所需要的刷新率不同。在传统技术中,图层合成模块在向任意应用发送VSync信号时,均按照 从硬件采样的信号周期T0来发送VSync信号,使得不同应用在单位时间内的图像绘制量 相同,均为手机的屏幕在单位时间内的刷新量。但是,各应用所需要的刷新率可能存在 差异,例如游戏应用对刷新率的要求更高,而阅读应用对刷新率的要求较低,那么传统 技术中采用统一的信号周期T0来控制不同应用的图像绘制和上屏刷新,那么这将造成手 机功耗的浪费或性能的损失。
为此,本申请提供的电子设备还可基于不同应用各自所需要的刷新率,来对不同应 用设置VSync信号的不同信号周期,并按照各应用对应的信号周期,来发送VSync信号至各应用,使得各应用可按照各自所需的刷新率进行图像绘制,以实现不同应用的媒体 数据在电子设备上以不同刷新率显示。
示例性的,如上文所述,手机的显示屏的FPS可具有多个档位,那么应用所需的FPS可为该显示屏支持的FPS的多个档位中的一个档位。
示例性的,图7a为示例性示出的电子设备对应用1的图像进行显示的过程示意图。图7b为示例性示出的电子设备对应用2的图像进行显示的过程示意图。
示例性的,结合图8所示的场景,如图7a所示,该过程包括如下步骤:
S4011,图层合成模块在应用1启动时,按照应用1所需的屏幕刷新率,对本端的当前屏幕刷新率进行修改,得到应用1的信号周期T21。
示例性的,本端为手机,本端的显示屏的最大刷新率为180,可提供60、90、120、180等档位的刷新率,具体档位本申请不做限制。示例性的,本端的当前屏幕刷新率(FPS)为90,例如手机中的图层合成模块从手机显示屏采样的VSync信号的信号周期T0为1/90。示例性的,应用1所需的FPS为120,那么图层合成模块可将对应于应用1的目标刷新率 设置为120,将对应于应用1的VSync信号的信号周期从统一的T0修改为T21,其中, T21为1/120,将对应用1的信号周期修改为原信号周期T0的3/4倍(T21=(3/4)*T0), 使得应用1的图像绘制量增加。
示例性的,如图8的(1)所示,手机的显示界面600包括至少一个控件,该控件包括电量图标、网络图标、应用图标等,其中,应用图标包括视频应用1的图标601。用户点 击视频应用1的图标601,手机可响应于该用户操作,启动视频应用1。示例性的,如图 8的(2)所示,手机的显示界面从图8的(1)所示的显示界面600切换为图8的(2)所示的 显示界面603。
示例性的,在视频应用1启动后,图层合成模块可从视频应用1获取到视频应用1所需的FPS(这里为120),并在图层合成模块接收到手机屏幕采样的信号周期T0后, 对信号周期T0进行修改,将针对视频应用1的VSync信号的信号周期从T0修改为T21 (这里为1/120)。
S4012,图层合成模块按照应用1对应的信号周期T21发送VSync信号至应用1。
S4013,应用1按照信号周期T21渲染图像。
S4014,图层合成模块按照信号周期T21合成图像。
S4015,图层合成模块按照信号周期T21发送VSync信号至显示屏对象1。
对于S4013至S4015的具体实现过程,可参照图3a描述,这里不再赘述。
其中,显示屏对象1为手机主屏的显示屏对象。显示屏对象1每接收到一个VSync信号,可从缓冲区B中的相应队列中读取该手机的显示屏的一帧待上屏图像,并将读取 到的一帧待上屏图像发送至显示驱动,显示驱动可将该帧待上屏图像发送至手机的显示 屏(例如LCD)进行上屏显示。示例性的,如图8的(2)所示,手机的显示界面603包括 视频应用1的视频画面604,该视频画面的刷新率为120帧/s。这样,视频应用1在作为 显示屏上显示的应用时,视频应用1的图像绘制量可得到提升,而不受手机的显示屏的 硬件采样的VSync信号的信号周期的限制(手机屏幕的当前FSP限制),从而提升手机 对视频应用1的视频画面的显示性能。
接图7a,电子设备还可执行图7b的过程,如图7b所示,该过程可包括如下步骤:
S4021,图层合成模块在应用2启动时,按照应用2所需的屏幕刷新率,对本端的当前屏幕刷新率进行修改,得到应用2的信号周期T22。
示例性的,这里的应用2为视频应用2,如图8的(2)所示,用户从显示界面603的 底部沿箭头向上滑动,手机可响应于该用户操作,将视频应用1从前台运行状态切换为 后台运行状态,并显示图8的(3)所示的显示界面600。用户点击图8的(3)中显示界面 600中的视频应用2的图标602,手机可响应于该用户操作,启动视频应用2。
示例性的,在视频应用2启动后,图层合成模块可从视频应用2获取到视频应用2所需的FPS(这里为60),并在图层合成模块接收到手机屏幕采样的信号周期T0后,图 层合成模块对信号周期T0进行修改,将针对视频应用2的VSync信号的信号周期从T0 (这里为1/90)修改为T22(这里为1/60),将对视频应用2的信号周期修改为原信号 周期T0的3/2倍(T22=(3/2)*T0),使得视频应用2的图像绘制量减少。
S4022,图层合成模块按照应用2对应的信号周期T22发送VSync信号至应用2。
S4023,应用2按照信号周期T22渲染图像。
S4024,图层合成模块按照信号周期T22合成图像。
S4025,图层合成模块按照信号周期T22发送VSync信号至显示屏对象1。
对于S4023至S4025的具体实现过程,可参照图3a描述,这里不再赘述。
其中,显示屏对象1为手机主屏的显示屏对象。显示屏对象1每接收到一个VSync信号0,可从缓冲区B中的相应队列中读取该手机的显示屏的一帧待上屏图像,并将读取 到的一帧待上屏图像发送至显示驱动,显示驱动可将该帧待上屏图像发送至手机的显示 屏(例如LCD)进行上屏显示。示例性的,如图8的(3)和图8的(4)所示,在用户点击图 标602之后,手机可响应于该用户操作,将手机的显示界面从图8的(3)所示的显示界面 600切换为图8的(4)所示的显示界面605。显示界面605包括视频应用2播放的视频画 面606,该视频画面的刷新率为60帧/s。这样,视频应用2在作为显示屏上显示的应用 时,视频应用2的图像绘制量可得到减少,而无需按照手机的显示屏的硬件的VSync信 号的信号周期T0进行图像绘制和送显,可降低手机的功耗,并降低对手机在图像绘制时 的性能损失。
图7c为示例性示出的一种分窗场景下的电子设备对不同应用的图像显示过程的示意 图,其中,图7c中与图7a和图7b相同的步骤的实现过程类似,这里不再一一赘述。
示例性的,该分窗场景表示同一电子设备的同一显示屏可同时显示多个应用的应用 界面,不同应用的应用界面在不同窗口中显示。
示例性的,该分窗场景可包括但不限于以下至少一种:分屏场景、悬浮窗场景、画中画场景等。
如图7c所示,该过程可包括如下步骤:
S401,图层合成模块按照分窗应用各自所需的屏幕刷新率,分别对本端的当前屏幕 刷新率进行修改,得到分窗应用各自的信号周期T21和T22。
示例性的,这里的分窗应用包括应用1和应用2,图层合成模块在对各分窗应用对应 的VSync信号的信号周期进行修改时,可在该分窗应用启动后,在图层合成模块接收到硬件采样的信号周期T0时,将该分窗应用的VSync信号的信号周期从T0修改为T21、T22。 对于确定T21和T22的方式,可参照图7a和图7b实施例,这里不再赘述。
S4012,图层合成模块按照应用1对应的信号周期T21发送VSync信号至应用1。
S4013,应用1按照信号周期T21渲染图像。
S4014,图层合成模块按照信号周期T21合成应用1的图像。
S4022,图层合成模块按照应用2对应的信号周期T22发送VSync信号至应用2。
S4023,应用2按照信号周期T22渲染图像。
S4024,图层合成模块按照信号周期T22合成应用2的图像。
S402,图层合成模块按照分窗应用各自的信号周期,确定送显周期T23。
示例性的,虽然不同分窗应用各自的图像刷新率不同,但是,在对不同分窗应用的待上屏图像进行送显时,需要按照统一的信号周期(例如这里的送显周期T23)来送显到 同一个显示屏对象,从而确保手机显示屏显示不同分窗应用的视频画面时不会出现卡顿 的问题。
示例性的,S402可在接收到用户的分窗操作之后执行。
在一些实施例中,如果手机没有接收到用户的分窗操作,则图层合成模块继续按照 图7a、图7b实施例中的S4015、S4025的方式,来对手机的显示屏当前显示的应用所生 成的图像,按照该应用对应的信号周期进行图像送显。而无需按照这里对至少两个分窗 应用所设置的统一的送显周期T23,对各分窗应用生成的图像进行送显。
S409,图层合成模块按照送显周期T23发送VSync信号到显示屏对象1。
下面结合不同的分窗场景,来对图7c所示的过程进行阐述:
1、分屏场景:
示例性的,本场景中,应用1为视频应用1,应用2为视频应用2,本端为手机,手 机显示屏的最大FPS为180,手机的当前FPS为90(T0=1/90),视频应用1所需的FPS 为120,视频应用2所需的FPS为60。那么图层合成模块分别按照视频应用1和视频应 用2各自所需的FPS,来对从硬件采样的信号周期T0分别进行修改,可得到T21为1/120, T22为1/60。
示例性的,结合图9,如图9的(1)所示,用户点击显示界面600中的视频应用1的 图标601,以启动视频应用1,如图9的(2)所示,手机的显示界面从图9的(1)所示的显 示界面600切换为显示界面603,显示界面603以视频应用1所需的FPS,来显示视频应 用1播放的视频画面,示例性的,显示界面603内的视频画面604以120帧/s的频率刷 新显示。
参照图9的(2),用户从右侧边缘(也可以是左侧边缘)向显示窗口中心滑动并停留。 如图9的(3)所示,手机可响应于该用户操作,在视频应用1的应用界面(例如显示界面603)的右边缘(也可以是左边缘)显示侧边栏607。参照图9的(3),侧边栏中包括一个 或多个控件,例如包括电子邮件应用的图标、备忘录应用的图标、图库应用的图标、文 件管理应用的图标、视频应用2的图标6071等,侧边栏还可以包括添加选项,该选项用 于将指定的应用的图标添加至侧边栏。需要说明的是,图9的(3)中的各应用的名称、数 量及位置仅为示意性举例,本申请不做限定。在图9的(3)中,视频应用1的视频画面在 手机的显示屏上仍旧以120帧/s的频率刷新。
继续参照图9的(3),示例性的,用户可拖动侧边栏中的视频应用2的图标6071至手机显示窗口的下半部区域并松开,例如沿虚线箭头方向拖动图标6071,其中,该用户 操作是一种分屏操作。如图9的(4)所示,手机可响应于该分屏操作,将手机的显示窗口 分屏,包括显示窗口608和显示窗口609,如图9的(4)所示,示例性的,手机的显示窗 口608用于显示视频应用1的应用界面,显示窗口609用于显示视频应用2的应用界面。
示例性的,手机还可响应于该分屏操作,执行上述S402,以确定对视频应用1和视频应用2各自的待上屏图像,在送显至标记为主屏的显示屏对象1时的信号周期(T23)。 如上文所述,视频应用1的图像绘制频率为120帧/s,绘制图像的信号周期T21为1/120, 视频应用2的图像绘制频率为60帧/s,绘制图像的信号周期T22为1/60。
示例性的,图层合成模块可基于T21和T22来确定T23,关于确定T23的策略本申请不做限制,只要分窗应用所生成的图像都按照统一的信号周期T23送显即可。
在一些实施例中,图层合成模块在确定送显周期T23时,可以手机中的焦点窗口对应的信号周期作为送显周期T23。
示例性的,如图9的(4)所示,用户手指点击的显示窗口609为显示窗口608和像是窗口609中的焦点窗口。
如图9的(4)所示,焦点窗口(这里为显示窗口609)为视频应用2的视频画面的显示窗口,那么显示窗口609对应的信号周期为视频应用2对应的信号周期(T22,这里为 1/60)。
示例性的,T23=T22,那么图层合成模块可每秒发送60个VSync信号到显示屏对象1, 显示屏对象1每接收到一个VSync信号,就从缓冲区B中获取对视频应用1合成的待上 屏图像1,待上屏图像1为缓冲区B中用于显示在窗口1(图9的(4)中的显示窗口608) 的一帧图像,以及从缓冲区B中获取对视频应用2合成的待上屏图像2,待上屏图像2 为缓冲区B中用于显示在窗口2(图9的(4)中的显示窗口609)的一帧图像。如图9的 (4)所示,显示窗口608内的视频应用1的视频图像以60帧/s的频率刷新,显示窗口609 内的视频应用2的视频图像以60帧/s的频率刷新。
2、悬浮窗场景:
示例性的,本场景中,应用1为视频应用1,应用2为视频应用2,本端为手机,手 机显示屏的最大FPS为180,手机的当前FPS为90(T0=1/90),视频应用1所需的FPS 为120,视频应用2所需的FPS为60。那么图层合成模块分别按照视频应用1和视频应 用2各自所需的FPS,来对从硬件采样的信号周期T0分别进行修改,可得到T21为1/120, T22为1/60。
示例性的,结合图10,图10的(1)和图10的(2)的过程与图9的(1)和图9的(2)的 过程相同,这里不再赘述,可参照对图9的(1)和图9的(2)的描述。
参照图10的(3),示例性的,用户可点击侧边栏中的视频应用2的图标6071,其中,该用户操作是一种分屏操作。如图10的(4)所示,手机可响应于该分屏操作,将手机的 显示窗口分屏,包括显示窗口603(即显示界面603)和显示窗口610,如图10的(4)所 示,示例性的,手机的显示窗口603用于显示视频应用1的应用界面,显示窗口610用 于显示视频应用2的应用界面。示例性的,显示窗口610为悬浮窗。示例性的,显示窗 口610可包括最大化控件6102、最小化控件6103以及关闭控件6101。
示例性的,用户点击最大化控件6102,手机可响应于该用户操作,显示界面610最大化,最大化后的显示界面610作为手机的唯一显示界面,显示效果与图8的(4)所示的 显示界面606类似,但是,显示界面的刷新率不同,这里为显示界面610的图像刷新率 为120帧/s。
示例性的,手机还可响应于该分屏操作,执行上述S402,以确定对视频应用1和视频应用2各自的待上屏图像,在送显至标记为主屏的显示屏对象1时的信号周期(T23)。 如上文所述,视频应用1的图像绘制频率为120帧/s,绘制图像的信号周期T21为1/120, 视频应用2的图像绘制频率为60帧/s,绘制图像的信号周期T22为1/60。
示例性的,图层合成模块可基于T21和T22来确定T23,关于确定T23的策略本申请不做限制,只要分窗应用所生成的图像都按照统一的信号周期T23送显即可。
在一些实施例中,图层合成模块在确定送显周期T23时,可将手机中的焦点窗口对应的信号周期作为送显周期T23。
示例性的,如图10的(4)所示,用户手指点击的显示窗口603为焦点窗口。
如图10的(4)所示,焦点窗口(这里的显示窗口603)为视频应用1的视频画面的显示窗口,那么显示窗口603对应的信号周期为视频应用1对应的信号周期(T21,这里为 1/120)。
示例性的,T23=T21,那么图层合成模块可每秒发送120个VSync信号到显示屏对象 1,显示屏对象1每接收到一个VSync信号,就从缓冲区B中获取对视频应用1合成的待 上屏图像1,待上屏图像1为缓冲区B中用于显示在窗口1(图10的(4)中的显示窗口603) 的一帧图像,以及从缓冲区B中获取对视频应用2合成的待上屏图像2,待上屏图像2 为缓冲区B中用于显示在窗口2(图10的(4)中的显示窗口610)的一帧图像。如图10 的(4)所示,显示窗口603内的视频应用1的视频图像以120帧/s的频率刷新,显示窗口 610内的视频应用2的视频图像以120帧/s的频率刷新。
2、画中画场景:
示例性的,本场景中,应用1为桌面应用(可以是一种系统应用),应用2为视频 应用2,本端为手机,手机显示屏的最大FPS为180,手机的当前FPS为90(T0=1/90), 桌面应用所需的FPS为90,视频应用2所需的FPS为60。那么图层合成模块分别按照桌 面应用和视频应用2各自所需的FPS,来对从硬件采样的信号周期T0分别进行修改,可 得到T21为1/90,T22为1/60。
示例性的,结合图11,图11的(1)和图11的(2)的过程与图8的(3)和图8的(4)的 过程相同,这里不再赘述,可参照对图8的(3)和图8的(4)的描述。
如图11的(1)所示,显示界面600显示的虽然是静态图像,但是,该显示界面600 内的画面仍旧按照90帧/s的频率刷新,显示界面600的图像渲染、图像合成过程可参照 关于图3a的举例说明,这里不再赘述。如图11的(2)所示,显示界面605内的视频画面 以视频应用2对应的FPS(例如60帧/s)进行刷新显示。
示例性的,在本实施方式中,视频应用2支持画中画功能,参照图11的(2)和图11的(3),在用户从显示界面605的底部向上滑动后,手机可将视频应用2的显示界面605 内的视频内容,在图11的(3)中的画中画窗口611内显示。如图11的(3)所示,手机的 显示界面包括显示界面600(显示窗口600),以及画中画窗口611。
示例性的,手机还可响应于图11的(2)中的用户上滑操作(一种分屏操作),以执行上述S402,以确定对桌面应用和视频应用2各自的待上屏图像,在送显至标记为主屏 的显示屏对象1时的信号周期(T23)。如上文所述,桌面应用的图像绘制频率为90帧 /s,绘制图像的信号周期T21为1/90,视频应用2的图像绘制频率为60帧/s,绘制图像 的信号周期T22为1/60。
示例性的,图层合成模块可基于T21和T22来确定T23,关于确定T23的策略本申请不做限制,只要分窗应用所生成的图像都按照统一的信号周期T23送显即可。
在一些实施例中,图层合成模块在确定送显周期T23时,可将手机中的焦点窗口对应的信号周期作为送显周期T23。
示例性的,如图11的(3)所示,用户手指点击的画中画窗口611为焦点窗口。
如图11的(4)所示,焦点窗口(这里的画中画窗口611)为视频应用2的视频画面的显示窗口,那么画中画窗口611对应的信号周期为视频应用2对应的信号周期(T22,这 里为1/60)。
示例性的,T23=T22,那么图层合成模块可每秒发送60个VSync信号到显示屏对象1, 显示屏对象1每接收到一个VSync信号,就从缓冲区B中获取对桌面应用合成的待上屏图像1,待上屏图像1为缓冲区B中用于显示在窗口1(图11的(3)中的显示窗口600) 的一帧图像,以及从缓冲区B中获取对视频应用2合成的待上屏图像2,待上屏图像2 为缓冲区B中用于显示在窗口2(图11的(3)中的画中画窗口611)的一帧图像。如图11 的(3)所示,显示窗口600内的桌面应用的图像以60帧/s的频率刷新,画中画窗口611 内的视频应用2的视频图像以60帧/s的频率刷新。
在本申请实施例中,在电子设备处于分屏场景下,电子设备可按照分屏的应用(简称分窗应用)各自所需的刷新率对应的信号周期,来对不同的分窗应用按照各自的信号 周期通知分窗应用绘帧,以及按照各分窗应用各自的信号周期对各分窗应用的已绘制图 层进行图层合成和硬件合成,从而得到对应于各分窗应用的刷新率的待上屏图像。由于 分窗应用显示在同一显示屏上,那么电子设备在对不同分窗应用的待上屏图像进行送显 时,可按照统一的信号周期来进行送显,使得不同分窗应用的图像可按照同一周期显示 到手机显示屏上。
需要说明的是,在图5e、图5f、图6a至图6d中,相同的附图标记表示相同的对象,以及在图5b、图5d、图5d、以及图8至图11中,相同的附图标记表示相同的对象,因 此,未对各附图的附图标记做逐一解释说明,相互参考即可,这里不再赘述。
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/ 或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件 或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件 的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
一个示例中,图12示出了本申请实施例的一种装置300的示意性框图装置300可包括:处理器301和收发器/收发管脚302,可选地,还包括存储器303。
装置300的各个组件通过总线304耦合在一起,其中总线304除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总 线都称为总线304。
在一些实施例中,存储器303可以用于前述方法实施例中的指令。该处理器301可用于执行存储器303中的指令,并控制接收管脚接收信号,以及控制发送管脚发送信号。
装置300可以是上述方法实施例中的电子设备或电子设备的芯片。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的 功能描述,在此不再赘述。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当 该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施 例中的图像显示方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时, 使得计算机执行上述相关步骤,以实现上述实施例中的图像显示方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置 运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例 中的图像显示方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应 的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁, 仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分 配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的 划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或 组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点, 所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单 元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部 件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是 各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本申请各个实施例的任意内容,以及同一实施例的任意内容,均可以自由组合。对上述内容的任意组合均在本申请的范围之内。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以 存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单 片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。 而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随 机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码 的介质。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实 施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出 很多形式,均属于本申请的保护之内。
结合本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现, 也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成, 软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、 移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示 例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存 储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以 位于ASIC中。另外,该ASIC可以位于网络设备中。当然,处理器和存储介质也可以作 为分立组件存在于网络设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述 的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从 一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机 能够存取的任何可用介质。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实 施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出 很多形式,均属于本申请的保护之内。
Claims (16)
1.一种图像显示方法,其特征在于,应用于第一电子设备,所述第一电子设备与第二电子设备通信连接;所述方法包括:
所述第一电子设备响应于接收到的图像显示请求,基于第一刷新率和第二刷新率,将图像绘制周期缩短为第一周期;其中,所述第一刷新率为所述第一电子设备的第一显示屏的刷新率,所述第二刷新率为所述第二电子设备的第二显示屏的刷新率,所述第一刷新率小于所述第二刷新率;
所述第一电子设备按照所述第一周期绘制多帧第一图像;
所述第一电子设备按照第二周期将对应的部分所述第一图像显示至所述第一显示屏;
所述第一电子设备按照第三周期将对应的部分或者全部所述第一图像发送至所述第二电子设备;其中,所述第二周期大于所述第三周期。
2.根据权利要求1所述的方法,其特征在于,所述第一电子设备按照第二周期将对应的部分所述第一图像显示至所述第一显示屏,包括:
所述第一电子设备基于所述第一刷新率和所述第一周期,确定第二周期;
所述第一电子设备按照所述第二周期将对应的部分所述第一图像显示至所述第一显示屏,其中,所述第一图像以所述第一刷新率显示在所述第一显示屏。
3.根据权利要求1或2所述的方法,其特征在于,所述第一电子设备包括第一显示屏对象;
所述第一电子设备按照第二周期将对应的部分所述第一图像显示至所述第一显示屏,包括:
所述第一电子设备按照所述第二周期,发送第一垂直同步信号至所述第一显示屏对象,以使所述第一显示屏对象按照所述第二周期获取部分所述第一图像;其中,所述第一显示屏对象用于管理所述第一显示屏的输入数据和输出数据;
所述第一电子设备通过所述第一显示屏对象,按照所述第二周期将对应的部分所述第一图像显示至所述第一显示屏。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,所述第一电子设备按照第三周期将对应的部分或者全部所述第一图像发送至所述第二电子设备进行显示,包括:
所述第一电子设备基于所述第二刷新率和所述第一周期,确定第三周期;
所述第一电子设备按照所述第三周期,将对应的部分或者全部所述第一图像发送至所述第二电子设备进行显示,其中,所述第一图像以所述第二刷新率显示在所述第二显示屏。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述第一电子设备包括第二显示屏对象;
所述第一电子设备按照第三周期将对应的部分或者全部所述第一图像发送至所述第二电子设备进行显示,包括:
所述第一电子设备按照所述第三周期,发送第二垂直同步信号至所述第二显示屏对象,以使所述第二显示屏对象按照所述第三周期获取部分或者全部所述第一图像;其中,所述第二显示屏对象用于管理所述第二显示屏的输入数据和输出数据;
所述第一电子设备通过所述第二显示屏对象,按照所述第三周期将对应的部分或者全部所述第一图像发送至所述第二电子设备以显示在所述第二显示屏。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,所述第一电子设备基于第一刷新率和第二刷新率,将图像绘制周期缩短为第一周期,包括:
所述第一电子设备在获取到从所述第一显示屏采样的图像绘制周期时,所述第一电子设备基于所述第一刷新率和所述第二刷新率,将所述图像绘制周期修改为第一周期,其中,修改前的图像绘制周期为所述第一刷新率的倒数。
7.根据权利要求1至6中任意一项所述的方法,其特征在于,所述第一电子设备基于第一刷新率和第二刷新率,将图像绘制周期缩短为第一周期,包括:
所述第一电子设备基于所述第一刷新率和所述第二刷新率的最小公倍数,确定第三刷新率;
所述第一电子设备基于所述第三刷新率,将所述图像绘制周期缩短为所述第一周期,其中,所述第一周期为所述第三刷新率的倒数。
8.根据权利要求1至6中任意一项所述的方法,其特征在于,所述第一电子设备基于第一刷新率和第二刷新率,将图像绘制周期缩短为第一周期,包括:
所述第一电子设备基于所述第一刷新率和所述第二刷新率中的最大刷新率,确定第一周期;
所述第一电子设备将所述图像绘制周期缩短为所述第一周期;
其中,所述第一周期为所述最大刷新率的倒数。
9.根据权利要求1至6中任意一项所述的方法,其特征在于,所述第一电子设备基于第一刷新率和第二刷新率,将图像绘制周期缩短为第一周期,包括:
所述第一电子设备基于第一刷新率和第二刷新率,确定第四刷新率,其中,所述第四刷新率大于所述第一刷新率和所述第二刷新率中的最大刷新率;
所述第一电子设备基于所述第四刷新率,将所述图像绘制周期缩短为所述第一周期,其中,所述第一周期为所述第四刷新率的倒数。
10.根据权利要求1至9中任意一项所述的方法,其特征在于,所述第一图像包括第二图像,其中,所述第二图像的数量与所述第一图像的数量的比值,为所述第一刷新率与所述第二刷新率的比值;
所述第一电子设备按照第二周期将对应的部分所述第一图像显示至所述第一显示屏,包括:
所述第一电子设备按照第二周期将所述第二图像显示至所述第一显示屏;
所述第一电子设备按照第三周期将对应的部分或者全部所述第一图像发送至所述第二电子设备,包括:
所述第一电子设备按照第三周期将所述多帧第一图像发送至所述第二电子设备。
11.根据权利要求1至10中任意一项所述的方法,其特征在于,所述第一电子设备响应于接收到的图像显示请求,基于第一刷新率和第二刷新率,将图像绘制周期缩短为第一周期,包括:
所述第一电子设备接收对第一应用的图像显示请求;
所述第一电子设备响应于所述图像显示请求,基于所述第一刷新率和所述第二刷新率,将所述第一应用的图像绘制周期缩短为所述第一周期,其中,所述第一图像为所述第一应用待显示至所述第一显示屏的图像。
12.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器耦合;所述存储器存储有程序指令,所述程序指令由所述处理器执行时,使得所述电子设备执行如权利要求1至11中任意一项所述的图像显示方法。
13.一种图像显示系统,其特征在于,包括权利要求12所述的电子设备。
14.一种计算机可读存储介质,其特征在于,包括计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至11中任意一项所述的图像显示方法。
15.一种芯片,其特征在于,包括一个或多个接口电路和一个或多个处理器;所述接口电路用于从电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括存储器中存储的计算机指令;当所述处理器执行所述计算机指令时,使得所述电子设备执行权利要求1至11中任意一项所述的图像显示方法。
16.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至11中任意一项所述的图像显示方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210325714.4A CN116931853A (zh) | 2022-03-30 | 2022-03-30 | 图像显示方法及电子设备 |
PCT/CN2023/083430 WO2023185636A1 (zh) | 2022-03-30 | 2023-03-23 | 图像显示方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210325714.4A CN116931853A (zh) | 2022-03-30 | 2022-03-30 | 图像显示方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116931853A true CN116931853A (zh) | 2023-10-24 |
Family
ID=88199288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210325714.4A Pending CN116931853A (zh) | 2022-03-30 | 2022-03-30 | 图像显示方法及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116931853A (zh) |
WO (1) | WO2023185636A1 (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767013A (zh) * | 2020-06-01 | 2020-10-13 | Oppo(重庆)智能科技有限公司 | 控制方法、控制装置、电子装置、计算机可读存储介质 |
CN112667340A (zh) * | 2020-12-31 | 2021-04-16 | 努比亚技术有限公司 | 屏幕刷新控制方法、移动终端及计算机可读存储介质 |
CN113596231B (zh) * | 2021-07-28 | 2024-03-19 | 努比亚技术有限公司 | 一种投屏显示控制方法、设备及计算机可读存储介质 |
-
2022
- 2022-03-30 CN CN202210325714.4A patent/CN116931853A/zh active Pending
-
2023
- 2023-03-23 WO PCT/CN2023/083430 patent/WO2023185636A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023185636A1 (zh) | 2023-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113553014B (zh) | 多窗口投屏场景下的应用界面显示方法及电子设备 | |
CN115473957B (zh) | 一种图像处理方法和电子设备 | |
WO2022052773A1 (zh) | 多窗口投屏方法及电子设备 | |
US20230418696A1 (en) | Method for performing drawing operation by application and electronic device | |
WO2022017205A1 (zh) | 一种显示多个窗口的方法及电子设备 | |
CN113935898A (zh) | 图像处理方法、系统、电子设备及计算机可读存储介质 | |
WO2022242487A1 (zh) | 显示方法及相关装置 | |
CN114489529A (zh) | 电子设备的投屏方法及其介质和电子设备 | |
WO2023005900A1 (zh) | 一种投屏方法、电子设备及系统 | |
CN116166256A (zh) | 界面生成方法及电子设备 | |
CN115119048B (zh) | 一种视频流处理方法及电子设备 | |
WO2022068882A1 (zh) | 镜像投屏方法、装置及系统 | |
CN116931853A (zh) | 图像显示方法及电子设备 | |
CN116684521B (zh) | 音频处理方法、设备及存储介质 | |
WO2022206600A1 (zh) | 一种投屏方法、系统及相关装置 | |
CN116700578B (zh) | 图层合成方法、电子设备以及存储介质 | |
CN116708889B (zh) | 音视频同步方法、设备及存储介质 | |
CN116055738B (zh) | 视频压缩方法及电子设备 | |
CN116055715B (zh) | 编解码器的调度方法及电子设备 | |
CN116795197A (zh) | 图层处理方法和电子设备 | |
CN117692714A (zh) | 视频显示方法和电子设备 | |
CN117909071A (zh) | 图像显示方法、电子设备、存储介质和芯片系统 | |
CN117827134A (zh) | 图层合成方法及相关装置 | |
CN116866470A (zh) | 媒体信息的获取方法及电子设备 | |
CN118276716A (zh) | 窗口管理的方法和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |