屏幕冻检测方法、装置、电子设备、车辆及存储介质

申请号 CN202311816840.0 申请日 2023-12-26 公开(公告)号 CN117935700A 公开(公告)日 2024-04-26
申请人 小米汽车科技有限公司; 发明人 栾绍鹏; 刘杰;
摘要 本公开涉及一种屏幕冻 帧 检测方法、装置、 电子 设备、车辆及存储介质,方法包括:确定显示屏幕上显示内容的校验信息,并确定校验信息和历史校验信息是否相同;在校验信息和历史校验信息不相同时,将确定校验信息的目标时刻作为检测周期起点,并根据以目标时刻作为检测周期起点的周期内确定的校验信息,确定检测结果。由于校验信息为用于唯一标识显示内容的校验码,历史校验信息为上一次确定的校验信息,由此可以根据校验信息和历史校验信息确定显示屏幕中的显示内容是否出现变化。在显示内容出现变化时,意味着显示屏幕在当前显示时刻未出现冻帧问题,由此可以将当前时刻作为检测周期起点,以根据该检测周期内的校验信息,确定检测结果。
权利要求

1.一种屏幕冻检测方法,其特征在于,所述方法包括:
确定显示屏幕上显示内容的校验信息,并确定所述校验信息和历史校验信息是否相同,所述校验信息包括用于唯一标识所述显示屏幕上所述显示内容的校验码,所述历史校验信息为上一次确定的显示内容的校验信息;
在所述校验信息和所述历史校验信息不相同时,将确定所述校验信息的目标时刻作为检测周期起点,并根据以所述目标时刻作为检测周期起点的周期内确定的校验信息,确定检测结果,所述检测结果用于表征所述显示屏幕是否出现冻帧。
2.根据权利要求1所述的屏幕冻帧检测方法,其特征在于,所述确定显示屏幕上显示内容的校验信息,包括:
获取显示屏幕上显示内容的循环冗余校验码作为所述校验信息;或者,
获取显示屏幕上的显示内容,并根据所述显示内容,计算循环冗余校验码作为所述校验信息。
3.根据权利要求1所述的屏幕冻帧检测方法,其特征在于,所述根据以所述目标时刻作为检测周期起点的周期内确定的校验信息,确定检测结果,包括:
当以所述目标时刻作为检测周期起点的周期内、所有的校验信息相同时,确定用于表征所述显示屏幕出现冻帧的检测结果;
当以所述目标时刻作为检测周期起点的周期内、存在任意两个校验信息不相同时,确定用于表征所述显示屏幕未出现冻帧的检测结果。
4.根据权利要求1‑3任一项所述的屏幕冻帧检测方法,其特征在于,所述显示屏幕上显示有预设的顶层图层,所述确定显示屏幕上显示内容的校验信息,包括:
获取所述显示屏幕上所述顶层图层中的显示内容,并根据所述顶层图层中的显示内容,确定校验信息。
5.根据权利要求4所述的屏幕冻帧检测方法,其特征在于,所述顶层图层中的显示内容基于预设的更新频率更新,和/或,所述顶层图层的透明度小于所述显示屏幕中显示的其余图层的透明度。
6.根据权利要求4所述的屏幕冻帧检测方法,其特征在于,所述顶层图层为多个,所述根据以所述目标时刻作为检测周期起点的周期内确定的校验信息,确定检测结果,包括:
针对每一个所述顶层图层,确定以所述目标时刻作为检测周期起点的周期内、所有的校验信息是否相同;
当每一个所述顶层图层中的所有校验信息相同时,确定用于表征所述显示屏幕出现冻帧的检测结果;
当任意一个所述顶层图层中的任意两个校验信息不相同时,确定用于表征所述显示屏幕未出现冻帧的检测结果。
7.根据权利要求1‑3任一项所述的屏幕冻帧检测方法,其特征在于,所述确定显示屏幕上显示内容的校验信息,包括:
通过实时操作系统中的窗口展示WFD接口,周期性从显示屏幕的数据处理器DPU中获取所述显示屏幕上显示内容的校验信息,其中,所述实时操作系统为设置有所述显示屏幕的设备的操作系统。
8.根据权利要求1‑3中任一项所述的屏幕冻帧检测方法,其特征在于,所述显示屏为车载显示屏。
9.一种屏幕冻帧检测装置,其特征在于,所述装置包括:
第一确定模,被配置为确定显示屏幕上显示内容的校验信息,并确定所述校验信息和历史校验信息是否相同,所述校验信息包括用于唯一标识所述显示屏幕上所述显示内容的校验码,所述历史校验信息为上一次确定的显示内容的校验信息;
第二确定模块,被配置为在所述校验信息和所述历史校验信息不相同时,将确定所述校验信息的目标时刻作为检测周期起点,并根据以所述目标时刻作为检测周期起点的周期内确定的校验信息,确定检测结果,所述检测结果用于表征所述显示屏幕是否出现冻帧。
10.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器
其中,所述处理器被配置为:
执行权利要求1~8中任一项所述的方法的步骤。
11.一种车辆,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
执行权利要求1~8中任一项所述的方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时实现权利要求1~8中任一项所述方法的步骤。

说明书全文

屏幕冻检测方法、装置、电子设备、车辆及存储介质

技术领域

[0001] 本公开涉及屏幕检测技术领域,尤其涉及一种屏幕冻帧检测方法、装置、电子设备、车辆及存储介质。

背景技术

[0002] 随着显示屏技术的成熟,显示屏被广泛的应用于各种领域。在某些应用场景中,显示屏中显示内容的传输链路较长,因此在传输链路的某一环节发生故障时,很难察觉出屏幕冻帧问题。发明内容
[0003] 为克服相关技术中存在的问题,本公开提供一种屏幕冻帧检测方法、装置、电子设备、车辆及存储介质。
[0004] 根据本公开实施例的第一方面,提供一种屏幕冻帧检测方法,所述方法包括:
[0005] 确定显示屏幕上显示内容的校验信息,并确定所述校验信息和历史校验信息是否相同,所述校验信息包括用于唯一标识所述显示屏幕上所述显示内容的校验码,所述历史校验信息为上一次确定的显示内容的校验信息;
[0006] 在所述校验信息和所述历史校验信息不相同时,将确定所述校验信息的目标时刻作为检测周期起点,并根据以所述目标时刻作为检测周期起点的周期内确定的校验信息,确定检测结果,所述检测结果用于表征所述显示屏幕是否出现冻帧。
[0007] 可选地,所述确定显示屏幕上显示内容的校验信息,包括:
[0008] 获取显示屏幕上显示内容的循环冗余校验码作为所述校验信息;或者,[0009] 获取显示屏幕上的显示内容,并根据所述显示内容,计算循环冗余校验码作为所述校验信息。
[0010] 可选地,根据以所述目标时刻作为检测周期起点的周期内确定的校验信息,确定检测结果,包括:
[0011] 当以所述目标时刻作为检测周期起点的周期内、所有的校验信息相同时,确定用于表征所述显示屏幕出现冻帧的检测结果;
[0012] 当以所述目标时刻作为检测周期起点的周期内、存在任意两个校验信息不相同时,确定用于表征所述显示屏幕未出现冻帧的检测结果。
[0013] 可选地,所述显示屏幕显示有预设的顶层图层,所述确定显示屏幕上显示内容的校验信息,包括:
[0014] 获取所述显示屏幕上所述顶层图层中的显示内容,并根据所述顶层图层中的显示内容,确定校验信息。
[0015] 可选地,所述顶层图层中的显示内容基于预设的更新频率更新,和/或,所述顶层图层的透明度小于所述显示屏幕中显示的其余图层的透明度。
[0016] 可选地,所述顶层图层为多个,所述根据以所述目标时刻作为检测周期起点的周期内确定的校验信息,确定检测结果,包括:
[0017] 针对每一个所述顶层图层,确定以所述目标时刻作为检测周期起点的周期内、所有的校验信息是否相同;
[0018] 当每一个所述顶层图层中的所有校验信息相同时,确定用于表征所述显示屏幕出现冻帧的检测结果;
[0019] 当任意一个所述顶层图层中的任意两个校验信息不相同时,确定用于表征所述显示屏幕未出现冻帧的检测结果。
[0020] 可选地,所述确定显示屏幕上显示内容的校验信息,包括:
[0021] 通过实时操作系统中的窗口展示WFD接口,周期性从显示屏幕的数据处理器DPU中获取所述显示屏幕上显示内容的校验信息,其中,所述实时操作系统为设置有所述显示屏幕的设备的操作系统。
[0022] 可选地,所述显示屏为车载显示屏。
[0023] 根据本公开实施例的第二方面,提供一种屏幕冻帧检测装置,所述装置包括:
[0024] 第一确定模,被配置为确定显示屏幕上显示内容的校验信息,并确定所述校验信息和历史校验信息是否相同,所述校验信息包括用于唯一标识所述显示屏幕上所述显示内容的校验码,所述历史校验信息为上一次确定的显示内容的校验信息;
[0025] 第二确定模块,被配置为在所述校验信息和所述历史校验信息不相同时,将确定所述校验信息的目标时刻作为检测周期起点,并根据以所述目标时刻作为检测周期起点的周期内确定的校验信息,确定检测结果,所述检测结果用于表征所述显示屏幕是否出现冻帧。
[0026] 可选地,所述第一确定模块包括:
[0027] 第一获取单元,被配置为获取显示屏幕上显示内容的循环冗余校验码作为所述校验信息;或者,
[0028] 第一处理单元,被配置为获取显示屏幕上的显示内容,并根据所述显示内容,计算循环冗余校验码作为所述校验信息。
[0029] 可选地,所述第二确定模块包括:
[0030] 第一确定单元,被配置为当以所述目标时刻作为检测周期起点的周期内、所有的校验信息相同时,确定用于表征所述显示屏幕出现冻帧的检测结果;
[0031] 第二确定单元,被配置为当以所述目标时刻作为检测周期起点的周期内、存在任意两个校验信息不相同时,确定用于表征所述显示屏幕未出现冻帧的检测结果。
[0032] 可选地,所述显示屏幕显示有预设的顶层图层,相应地,所述第一确定模块包括:
[0033] 第二处理单元,被配置为获取所述显示屏幕上所述顶层图层中的显示内容,并根据所述顶层图层中的显示内容,确定校验信息。
[0034] 可选地,所述顶层图层中的显示内容基于预设的更新频率更新,和/或,所述顶层图层的透明度小于所述显示屏幕中显示的其余图层的透明度。
[0035] 可选地,所述顶层图层为多个,相应地,所述第二确定模块包括:
[0036] 第三确定单元,被配置为针对每一个所述顶层图层,确定以所述目标时刻作为检测周期起点的周期内、所有的校验信息是否相同;
[0037] 第四确定单元,被配置为当每一个所述顶层图层中的所有校验信息相同时,确定用于表征所述显示屏幕出现冻帧的检测结果;
[0038] 第五确定单元,被配置为当任意一个所述顶层图层中的任意两个校验信息不相同时,确定用于表征所述显示屏幕未出现冻帧的检测结果。
[0039] 可选地,所述第一确定模块包括:
[0040] 第二获取单元,被配置为通过实时操作系统中的窗口展示WFD接口,周期性从显示屏幕的数据处理器DPU中获取所述显示屏幕上显示内容的校验信息,其中,所述实时操作系统为设置有所述显示屏幕的设备的操作系统。
[0041] 可选地,所述显示屏为车载显示屏。
[0042] 根据本公开实施例的第三方面,提供一种电子设备,包括:
[0043] 处理器;
[0044] 用于存储处理器可执行指令的存储器
[0045] 其中,所述处理器被配置为:
[0046] 执行本公开第一方面中任一项所提供的屏幕冻帧检测方法的步骤。
[0047] 根据本公开实施例的第四方面,提供一种车辆,包括:
[0048] 处理器;
[0049] 用于存储处理器可执行指令的存储器;
[0050] 其中,所述处理器被配置为:
[0051] 执行本公开第一方面中任一项所提供的屏幕冻帧检测方法的步骤。
[0052] 根据本公开实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面中任一项所提供的屏幕冻帧检测方法的步骤。
[0053] 本公开的实施例提供的技术方案可以包括以下有益效果:
[0054] 通过上述技术方案,可以确定显示屏幕上显示内容的校验信息,并确定校验信息和历史校验信息是否相同,以及在校验信息和历史校验信息不相同时,将确定校验信息的目标时刻作为检测周期起点,并根据以目标时刻作为检测周期起点的周期内确定的校验信息,确定检测结果。由于校验信息为用于唯一标识显示屏幕上显示内容的校验码,历史校验信息为上一次确定的显示内容的校验信息,由此通过比较校验信息和历史校验信息,可以确定出显示屏幕中的显示内容是否出现变化。在显示屏幕中的显示内容出现变化时,意味着显示屏幕在当前显示时刻未出现冻帧问题,由此可以将当前时刻作为检测周期起点,并根据该检测周期内的校验信息,确定检测结果。另一方面,由于检测结果是根据检测周期中的多个校验信息确定的,由此可以提高检测结果的准确度。
[0055] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明
[0056] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0057] 图1是根据一示例性实施例示出的一种屏幕冻帧检测方法的流程图
[0058] 图2是根据一示例性实施例示出的一种显示内容的传输框图
[0059] 图3是根据一示例性实施例示出的一种屏幕冻帧检测装置的框图;
[0060] 图4是根据一示例性实施例示出的一种用于屏幕冻帧检测的装置的框图;
[0061] 图5是根据一示例性实施例示出的一种用于屏幕冻帧检测的装置的框图。

具体实施方式

[0062] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0063] 需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
[0064] 正如背景技术所言,随着显示屏技术的成熟,显示屏被广泛的应用于各种领域。在某些应用场景中,显示屏中显示内容的传输链路较长,因此在传输链路的某一环节发生故障时,很难察觉出屏幕冻帧问题。
[0065] 示例地,如图2所示,当显示屏被运用在由QNX系统和Android系统构成的车载系统中时,Android系统在生成显示内容的显示图层后,显示图层需要经过图层整合器surfaceflinger、硬件合成器HWC、渲染管理器DRM传递到QNX系统中的WFD,并经DPU传递到显示屏幕上进行显示。在此过程中,若传输链路的某一环节出现问题,例如显示链路出现阻塞、应用进程卡顿等导致屏幕出现冻帧问题,会误以为是正常的链路传输导致的,由此很难察觉到屏幕出现冻帧问题。
[0066] 有鉴于此,本公开实施例提供一种屏幕冻帧检测方法、装置、电子设备、车辆及存储介质,以解决上述技术问题。
[0067] 图1是根据一示例性实施例示出的一种屏幕冻帧检测方法的流程图,如图1所示,可以包括步骤S101‑S102。
[0068] 在步骤S101中,确定显示屏幕上显示内容的校验信息,并确定所述校验信息和历史校验信息是否相同,所述校验信息包括用于唯一标识所述显示屏幕上所述显示内容的校验码,所述历史校验信息为上一次确定的显示内容的校验信息。
[0069] 其中,显示屏幕可以是任意具有显示功能的电子设备的显示屏幕。示例地,可以是智能穿戴设备显示屏、电视显示屏或者监控设备显示屏等。
[0070] 在可能的方式中,所述显示屏为车载显示屏。
[0071] 其中,车载显示屏可以是车辆中控屏、仪表盘显示屏、车辆抬头显示屏或者娱乐系统显示屏等,本公开实施例对此不作任何说明。
[0072] 其中,上一次确定校验信息与当前确定校验信息的时间间隔可以根据实际情况设置,本公开实施例对此不作任何限制。示例地,时间间隔可以设置为30ms、1s或者30s等。
[0073] 在步骤S102中,在所述校验信息和所述历史校验信息不相同时,将确定所述校验信息的目标时刻作为检测周期起点,并根据以所述目标时刻作为检测周期起点的周期内确定的校验信息,确定检测结果,所述检测结果用于表征所述显示屏幕是否出现冻帧。
[0074] 通过上述技术方案,可以确定显示屏幕上显示内容的校验信息,并确定校验信息和历史校验信息是否相同,以及在校验信息和历史校验信息不相同时,将确定校验信息的目标时刻作为检测周期起点,并根据以目标时刻作为检测周期起点的周期内确定的校验信息,确定检测结果。由于校验信息为用于唯一标识显示屏幕上显示内容的校验码,历史校验信息为上一次确定的显示内容的校验信息,由此通过比较校验信息和历史校验信息,可以确定出显示屏幕中的显示内容是否出现变化。在显示屏幕中的显示内容出现变化时,即校验信息和历史校验信息不相同时,意味着显示屏幕在当前显示时刻未出现冻帧问题,为确定显示屏幕是否在之后的时刻出现冻帧问题,由此可以将当前时刻,即确定校验信息的目标时刻作为检测周期起点,并根据该检测周期内的校验信息,确定用于表征显示屏幕是否出现冻帧问题的检测结果。另一方面,由于在屏幕冻帧检测过程中,检测结果是根据检测周期中的多个校验信息确定的,由此可以提高检测结果的准确度。
[0075] 为了使得本领域技术人员更加理解本公开提供的屏幕冻帧检测方法,下面对上述各步骤进行详细举例说明。
[0076] 在可能的方式中,所述确定显示屏幕上显示内容的校验信息,可以包括:
[0077] 获取显示屏幕上显示内容的循环冗余校验码作为所述校验信息;或者,获取显示屏幕上的显示内容,并根据所述显示内容,计算循环冗余校验码作为所述校验信息。
[0078] 其中,循环冗余校验码可以是显示屏幕上所有显示内容的循环冗余校验码,也可以是显示屏幕上部分显示内容的循环冗余校验码,本公开实施例对此不作任何限制。
[0079] 当循环冗余校验码是显示屏幕上部分显示内容的循环冗余校验码时,可以预先在显示屏幕上标记出用于获取显示内容的目标区域,由此在确定显示屏幕上显示内容的校验信息时,可以获取目标区域的显示内容的循环冗余校验码,或者获取目标区域的目标显示内容,并根据目标显示内容,计算循环冗余校验码作为校验信息。
[0080] 其中,循环冗余校验码可以通过对显示内容应用循环冗余校验(Cyclic Redundancy Check,CRC)算法进行计算得到。
[0081] 示例地,可以先根据实际情况选择CRC多项式,并将显示内容转换为二进制数。然后将CRC多项式与二进制数进行异或运算,将结果作为新的被除数,持续进行异或运算,直到被除数的位数小于CRC多项式的位数,最终得到的被除数即为循环冗余校验码。
[0082] 其中,CRC算法可以是相关技术中的CRC算法,例如CRC‑8算法、CRC‑16算法或者CRC‑32算法。也可以是改进后的CRC算法,本公开实施例对此不作任何限制。
[0083] 其中,应当理解的是,将循环冗余校验码作为显示内容的校验信息仅为示意性说明,并不构成对方案的限制。在可能的方式中,还可以将显示屏幕上显示内容的哈希值作为显示内容的校验信息。
[0084] 在可能的方式中,所述根据以所述目标时刻作为检测周期起点的周期内确定的校验信息,确定检测结果,可以包括:
[0085] 当以所述目标时刻作为检测周期起点的周期内、所有的校验信息相同时,确定用于表征所述显示屏幕出现冻帧的检测结果;当以所述目标时刻作为检测周期起点的周期内、存在任意两个校验信息不相同时,确定用于表征所述显示屏幕未出现冻帧的检测结果。
[0086] 示例地,周期时长设置为10s,校验信息的确定频率为5s/次,且检测周期起点T时刻获取到的校验信息为第一校验信息。若在T+5时刻获取到第二校验信息,且第二校验信息和第一校验信息不相同,则确定用于表征显示屏幕未出现冻帧的检测结果。同时可以将T+5时刻作为新的检测周期起点,并重复执行上述过程。若第二校验信息和第一校验信息相同,则继续将T时作为检测周期起点,若在T+10时刻获取到第三校验信息,且第三校验信息和第二校验信息相同,则确定用于表征显示屏幕出现冻帧的检测结果。若第三校验信息和第二校验信息不相同,则确定用于表征显示屏幕未出现冻帧的检测结果,同时可以将T+10时刻作为新的检测周期起点,并重复执行上述过程。
[0087] 应当理解的是,CRC算法在使用多项式除法来计算循环冗余校验码,通常采用的是很大的多项式。因此,即使两个显示内容之间的差距很小,通过CRC算法计算得到的循环冗余校验码也可能差异很大。由此,通过确定不同时刻的显示内容的循环冗余校验码并进行比较,可以快速准确的确定出显示内容是否发生改变。也即是说,通过将检测周期内的校验信息进行比对,可以准确的判断出显示屏幕是否出现冻帧问题。
[0088] 在可能的方式中,所述显示屏幕显示有预设的顶层图层,所述确定显示屏幕上显示内容的校验信息,可以包括:
[0089] 获取所述显示屏幕上所述顶层图层中的显示内容,并根据所述顶层图层中的显示内容,确定校验信息。
[0090] 其中,顶层图层是指在显示屏幕中显示的所有图层中、处于最上层的图层或图像。顶层图层中的显示内容不会被其他显示图层中的显示内容所遮挡,由此,通过获取顶层图层中的显示内容,并根据顶层图层中的显示内容确定的校验信息能够更加准确,由此可以提高屏幕冻帧的检测准确度。
[0091] 其中,为了保证在显示屏幕中的显示页面发生切换时,能够持续获取到顶层图层中的显示内容并根据顶层图层中的显示内容确定校验信息,可以在能够让顶层图层常驻前台的应用程序组件中绘制顶层图层。示例地,在显示设备的操作系统为安卓Android操作系统时,可以通过SystemUi来绘制顶层图层。
[0092] 其中,顶层图层的图层数量、图层尺寸以及图层位置均可以根据实际情况进行设置,本公开实施例对此不作任何限制。示例地,为了避免顶层图层中的显示内容对其余图层中显示内容造成遮挡,影响其余图层中显示内容的显示,可以将顶层图层的图层尺寸设置得较小并将顶层图层设置在显示屏幕的落或显示屏幕的边缘。同时,为了提高检测的准确性,还可以将顶层图层的数量设置为多个。示例地,可以设置4个顶层图层,且每个顶层图层的图层尺寸设置为包括4个像素的矩形,并将4个顶层图层分别设置在显示屏幕的四个角落。
[0093] 其中,当顶层图层设置为多个时,在每次屏幕冻帧检测过程中,可以根据任意一个顶层图层中的校验信息来确定检测结果,也可以是根据所有顶层图层中的校验信息来确定检测结果,本公开实施例对此不作任何限制。
[0094] 在可能的方式中,当所述顶层图层为多个时,所述根据以所述目标时刻作为检测周期起点的周期内确定的校验信息,确定检测结果,可以包括:
[0095] 针对每一个所述顶层图层,确定以所述目标时刻作为检测周期起点的周期内、所有的校验信息是否相同;当每一个所述顶层图层中的所有校验信息相同时,确定用于表征所述显示屏幕出现冻帧的检测结果;当任意一个所述顶层图层中的任意两个校验信息不相同时,确定用于表征所述显示屏幕未出现冻帧的检测结果。
[0096] 本实施例中,通过根据所有顶层图层中的校验信息来确定检测结果,由此可以避免单一图层检测时,因传输故障或者设备故障等原因,导致误判断的情况,增加检测结果的可靠性。
[0097] 在可能的方式中,所述顶层图层中的显示内容基于预设的更新频率更新。
[0098] 其中,顶层图层中的显示内容可以是预先设置的显示内容,也可以是随机生成的显示内容,本公开实施例对此不作任何限制。
[0099] 其中,更新频率可以根据实际情况确定,本公开实施例对此也不作任何限制。示例地,更新频率可以设置为每秒钟更新一次或者每秒钟更新两次等。
[0100] 应当理解的是,相关技术中,为了节省中央处理器的开支,在显示图层中的显示内容没有发生变化时,中央处理器不会向显示屏幕的数据处理器(Data Processing Unit,DPU)传输图层。如此一来,仅通过比较循环冗余校验码值,可能会将正常显示误判断为冻帧的情况。于是本实施例通过以一定的更新频率来更新顶层图层中的显示内容,由此来避免将正常的内容显示误判断为屏幕冻帧问题。
[0101] 在可能的方式中,所述顶层图层的透明度小于所述显示屏幕中显示的其余图层的透明度。
[0102] 其中,顶层图层的透明度可以根据实际情况确定,本公开实施例对此不作任何限制。
[0103] 示例地,在使用RGBA(红绿蓝透明度)颜色模型表示图层颜色时,图层的透明度范围为0‑255,且数值越小,透明度越高。由于0表示完全透明,为了避免在顶层图层全透明的情况下,其余图层中的显示内容对顶层图层中的显示内容造成干扰,从而导致根据顶层图层中的显示内容确定的校验信息不准确的问题,可以将顶层图层的透明度设置为1或2等。
[0104] 在可能的方式中,所述确定显示屏幕上显示内容的校验信息,可以包括:
[0105] 通过实时操作系统中的窗口展示WFD接口,周期性从显示屏幕的数据处理器DPU中获取所述显示屏幕上显示内容的校验信息,其中,所述实时操作系统为设置有所述显示屏幕的设备的操作系统。
[0106] 其中,WFD(Windowing Framework for QNX Display)是用于显示管理和窗口操作的框架。它提供了一组功能强大的API和工具,可以实现窗口的创建、移动、调整大小、最小化、最大化等操作,以及窗口之间的通信和事件处理。由此,可以通过WFD接口从DPU中获取显示屏幕上显示内容的校验信息。
[0107] 其中,实时操作系统可以是VxWorks、QNX、FreeRTOS或者LynxOS,具体根据应用场景确定。示例地,在车载系统中,实时操作系统可以是QNX。
[0108] 示例地,如图2所示,一车载系统中可以包括QNX系统和Android系统,其中,Android应用的内容可以通过与QNX车载显示系统进行通信,将需要显示的内容传输到车载显示屏上进行显示。
[0109] 具体地,Android系统的应用绘制图层后,经过图层整合器surfaceflinger、硬件合成器HWC、渲染管理器DRM传递到QNX系统中的WFD,经过DPU传递到显示屏幕上进行显示。由于图层输出链路较长,若中间某一环节出现问题,例如显示链路出现阻塞、崩溃、应用进程卡顿、图像处理器GPU渲染异常等导致屏幕出现冻帧问题,很难被察觉到。由此本实施例可以在QNX系统中增加一个检测模块frame_detect,以周期性的通过WFD接口从DPU获取显示屏幕上显示内容的校验信息,从而可以根据校验信息和历史校验信息及时发现屏幕是否冻帧问题。
[0110] 其中,周期时长可以根据实际情况进行设置,本公开实施例对此不作任何限制。其中,为避免在SystemUi以及surfaceflinger崩溃重启的时间段内造成误判,可以将周期时长设置为20s。
[0111] 图3是根据一示例性实施例示出的一种屏幕冻帧检测装置框图。参照图3,该屏幕冻帧检测装置300可以包括:
[0112] 第一确定模块301,被配置为确定显示屏幕上显示内容的校验信息,并确定所述校验信息和历史校验信息是否相同,所述校验信息包括用于唯一标识所述显示屏幕上所述显示内容的校验码,所述历史校验信息为上一次确定的显示内容的校验信息;
[0113] 第二确定模块302,被配置为在所述校验信息和所述历史校验信息不相同时,将确定所述校验信息的目标时刻作为检测周期起点,并根据以所述目标时刻作为检测周期起点的周期内确定的校验信息,确定检测结果,所述检测结果用于表征所述显示屏幕是否出现冻帧。
[0114] 通过上述屏幕冻帧检测装置,可以确定显示屏幕上显示内容的校验信息,并确定校验信息和历史校验信息是否相同,以及在校验信息和历史校验信息不相同时,将确定校验信息的目标时刻作为检测周期起点,并根据以目标时刻作为检测周期起点的周期内确定的校验信息,确定检测结果。由于校验信息为用于唯一标识显示屏幕上显示内容的校验码,历史校验信息为上一次确定的显示内容的校验信息,由此通过比较校验信息和历史校验信息,可以确定出显示屏幕中的显示内容是否出现变化。在显示屏幕中的显示内容出现变化时,即校验信息和历史校验信息不相同时,意味着显示屏幕在当前显示时刻未出现冻帧问题,为确定显示屏幕是否在之后的时刻出现冻帧问题,由此可以将当前时刻,即确定校验信息的目标时刻作为检测周期起点,并根据该检测周期内的校验信息,确定用于表征显示屏幕是否出现冻帧问题的检测结果。另一方面,由于在屏幕冻帧检测过程中,检测结果是根据检测周期中的多个校验信息确定的,由此可以提高检测结果的准确度。
[0115] 在可能的实施方式中,所述第一确定模块301可以包括:
[0116] 第一获取单元,被配置为获取显示屏幕上显示内容的循环冗余校验码作为所述校验信息;或者,
[0117] 第一处理单元,被配置为获取显示屏幕上的显示内容,并根据所述显示内容,计算循环冗余校验码作为所述校验信息。
[0118] 在可能的实施方式中,所述第二确定模块302可以包括:
[0119] 第一确定单元,被配置为当以所述目标时刻作为检测周期起点的周期内、所有的校验信息相同时,确定用于表征所述显示屏幕出现冻帧的检测结果;
[0120] 第二确定单元,被配置为当以所述目标时刻作为检测周期起点的周期内、存在任意两个校验信息不相同时,确定用于表征所述显示屏幕未出现冻帧的检测结果。
[0121] 在可能的实施方式中,所述显示屏幕显示有预设的顶层图层,相应地,所述第一确定模块301可以包括:
[0122] 第二处理单元,被配置为获取所述显示屏幕上所述顶层图层中的显示内容,并根据所述顶层图层中的显示内容,确定校验信息。
[0123] 在可能的实施方式中,所述顶层图层中的显示内容基于预设的更新频率更新,和/或,所述顶层图层的透明度小于所述显示屏幕中显示的其余图层的透明度。
[0124] 在可能的实施方式中,所述顶层图层为多个,相应地,所述第二确定模块302可以包括:
[0125] 第三确定单元,被配置为针对每一个所述顶层图层,确定以所述目标时刻作为检测周期起点的周期内、所有的校验信息是否相同;
[0126] 第四确定单元,被配置为当每一个所述顶层图层中的所有校验信息相同时,确定用于表征所述显示屏幕出现冻帧的检测结果;
[0127] 第五确定单元,被配置为当任意一个所述顶层图层中的任意两个校验信息不相同时,确定用于表征所述显示屏幕未出现冻帧的检测结果。
[0128] 在可能的实施方式中,所述第一确定模块301可以包括:
[0129] 第二获取单元,被配置为通过实时操作系统中的窗口展示WFD接口,周期性从显示屏幕的数据处理器DPU中获取所述显示屏幕上显示内容的校验信息,其中,所述实时操作系统为设置有所述显示屏幕的设备的操作系统。
[0130] 在可能的实施方式中,所述显示屏为车载显示屏。
[0131] 关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0132] 基于同一技术构思,本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面提供的屏幕冻帧检测方法的步骤。
[0133] 基于同一技术构思,本公开还提供一种车辆,包括:
[0134] 处理器;
[0135] 用于存储处理器可执行指令的存储器;
[0136] 其中,所述处理器被配置为:
[0137] 执行本公开第一方面提供的屏幕冻帧检测方法的步骤。
[0138] 基于同一技术构思,本公开还提供一种电子设备,包括:
[0139] 处理器;
[0140] 用于存储处理器可执行指令的存储器;
[0141] 其中,所述处理器被配置为:
[0142] 执行本公开第一方面提供的屏幕冻帧检测方法的步骤。
[0143] 图4是根据一示例性实施例示出的一种用于屏幕冻帧检测的装置400的框图。例如,装置400可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0144] 参照图4,装置400可以包括以下一个或多个组件:第一处理组件402,第一存储器404,第一电源组件406,多媒体组件408,音频组件410,第一输入/输出接口412,传感器组件
414,以及通信组件416。
[0145] 第一处理组件402通常控制装置400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。第一处理组件402可以包括一个或多个第一处理器420来执行指令,以完成上述的方法的全部或部分步骤。此外,第一处理组件402可以包括一个或多个模块,便于第一处理组件402和其他组件之间的交互。例如,第一处理组件402可以包括多媒体模块,以方便多媒体组件408和第一处理组件402之间的交互。
[0146] 第一存储器404被配置为存储各种类型的数据以支持在装置400的操作。这些数据的示例包括用于在装置400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。第一存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
[0147] 第一电源组件406为装置400的各种组件提供电。第一电源组件406可以包括电源管理系统,一个或多个电源,及其他与为装置400生成、管理和分配电力相关联的组件。
[0148] 多媒体组件408包括在所述装置400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当装置400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0149] 音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个麦克(MIC),当装置400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在第一存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。
[0150] 第一输入/输出接口412为第一处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和定按钮。
[0151] 传感器组件414包括一个或多个传感器,用于为装置400提供各个方面的状态评估。例如,传感器组件414可以检测到装置400的打开/关闭状态,组件的相对定位,例如所述组件为装置400的显示器和小键盘,传感器组件414还可以检测装置400或装置400一个组件的位置改变,用户与装置400接触的存在或不存在,装置400方位或加速/减速和装置400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器压力传感器或温度传感器。
[0152] 通信组件416被配置为便于装置400和其他设备之间有线或无线方式的通信。装置400可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。
在一个示例性实施例中,所述通信组件416还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
[0153] 在示例性实施例中,装置400可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程阵列(FPGA)、控制器微控制器微处理器或其他电子元件实现,用于执行上述方法。
[0154] 在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的第一存储器404,上述指令可由装置400的第一处理器420执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD‑ROM、磁带、软盘和光数据存储设备等。
[0155] 上述装置除了可以是独立的电子设备外,也可是独立电子设备的一部分,例如在一种实施例中,该装置可以是芯片,该芯片可以包括但不限于以下种类:GPU(Graphics Processing Unit,图形处理器)、CPU(Central Processing Unit,中央处理器)、FPGA(Field Programmable Gate Array,可编程逻辑阵列)、DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、SOC(System on Chip,SoC,片上系统或系统级芯片)等。上述芯片中可以用于执行可执行指令(或代码),以实现上述的图像翻译方法。其中该可执行指令可以存储在该芯片中,也可以从其他的装置或设备获取,例如该芯片中包括第二处理器、第二存储器,以及用于与其他的装置通信的接口。该可执行指令可以存储于第二存储器中,当该可执行指令被第二处理器执行时实现上述的图像翻译方法;或者,该芯片可以通过该接口接收可执行指令并传输给第二处理器执行,以实现上述的图像翻译方法。
[0156] 在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的图像翻译方法的代码部分。
[0157] 图5是根据一示例性实施例示出的一种用于屏幕冻帧检测的装置500的框图。例如,装置500可以被提供为一服务器。参照图5,装置500包括第二处理组件522,其进一步包括一个或多个处理器,以及由第三存储器532所代表的存储器资源,用于存储可由第二处理组件522的执行的指令,例如应用程序。第三存储器532中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,第二处理组件522被配置为执行指令,以执行上述方法。
[0158] 装置500还可以包括一个第二电源组件526被配置为执行装置500的电源管理,一个有线或无线网络接口1050被配置为将装置500连接到网络,和一个第二输入/输出接口558。装置500可以操作基于存储在存储器532的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
[0159] 本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0160] 应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
QQ群二维码
意见反馈