CN114020097B - 信号同步方法、装置、电子设备及存储介质 - Google Patents
信号同步方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114020097B CN114020097B CN202210019414.3A CN202210019414A CN114020097B CN 114020097 B CN114020097 B CN 114020097B CN 202210019414 A CN202210019414 A CN 202210019414A CN 114020097 B CN114020097 B CN 114020097B
- Authority
- CN
- China
- Prior art keywords
- vertical synchronization
- signal
- vertical
- signals
- synchronization signals
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明提供一种信号同步方法、装置、电子设备及存储介质,该方法包括:在第二***的虚拟垂直同步信号与第一***的垂直同步信号不同步的情况下,向第一***发送用于请求获取第一***发出的多个第一垂直同步信号的请求信号;接收多个第一垂直同步信号,根据多个第一垂直同步信号计算第一***的垂直同步信号在传输过程中的延时;根据第一***的垂直同步信号在传输过程中的延时调整多个第一垂直同步信号,根据调整后的多个第一垂直同步信号同步第二***的虚拟垂直同步信号。实现第二***内的虚拟垂直同步信号与第一***的真实垂直同步信号同步。
Description
技术领域
本发明涉及终端技术领域,尤其涉及一种信号同步方法、装置、电子设备及存储介质。
背景技术
垂直同步信号(Vsync信号)由硬件发出,可同步显示流水线。显示流水线由应用渲染、SurfaceFlinger 合成以及用于在屏幕上显示图像的硬件混合渲染器 (HWC) 组成。垂直同步信号可以用于同步应用开始绘制图像帧的时间、SurfaceFlinger渲染合成图像帧的时间以及屏幕刷新显示图像帧的时间。这种同步可以消除卡顿,并提升图形的视觉表现。
在第一***中运行第二***时,第二***不能直接访问第一***中的硬件获取垂直同步信号,垂直同步信号由第一***中的硬件发出时需要经过第二***的代理服务程序进行处理,而代理服务程序运行时还会受到中央处理器(central processing unit,CPU)调度,造成Vsync信号不是稳定实时传输到SurfaceFlinger。于是第二***内的虚拟垂直同步信号会与第一***中的真实垂直同步信号发生不同步,造成第二***中的应用图形绘制出现撕裂卡顿。因此,如何使第二***内的虚拟垂直同步信号与第一***的真实垂直同步信号同步,是目前需要解决的一个问题。
发明内容
本发明提供一种信号同步方法、装置、电子设备及存储介质,用以解决现有技术中第二***内的虚拟垂直同步信号会与第一***中的真实垂直同步信号发生不同步造成第二***内的应用图形绘制出现撕裂卡顿的问题,实现第二***内的虚拟垂直同步信号与第一***的真实垂直同步信号同步。
本发明提供一种信号同步方法,该方法应用于运行在第一***的第二***中,包括:在第二***的虚拟垂直同步信号与第一***的垂直同步信号不同步的情况下,向第一***发送请求信号,所述请求信号用于请求获取所述第一***发出的多个第一垂直同步信号;接收所述多个第一垂直同步信号,根据所述多个第一垂直同步信号计算所述第一***的垂直同步信号在传输过程中的延时;根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号,根据调整后的所述多个第一垂直同步信号同步所述第二***的虚拟垂直同步信号。
根据本发明提供的一种信号同步方法,所述根据所述多个第一垂直同步信号计算所述第一***的垂直同步信号在传输过程中的延时,包括:
计算所述多个第一垂直同步信号中每个第一垂直同步信号与所述多个第一垂直同步信号中的第一个第一垂直同步信号的相位差;
计算所得到的多个所述相位差的平均值,根据所述相位差的平均值确定所述第一***的垂直同步信号在传输过程中的延时。
根据本发明提供的一种信号同步方法,所述计算所述多个第一垂直同步信号中每个第一垂直同步信号与所述多个第一垂直同步信号中的第一个第一垂直同步信号的相位差,包括:
对所述多个第一垂直同步信号进行筛选,得到剩余的第一垂直同步信号;
将所述剩余的第一垂直同步信号之间的时间间隔进行均值计算,得到第一平均时间间隔;
计算所述剩余的第一垂直同步信号中每个第一垂直同步信号与所述剩余的第一垂直同步信号中第一个第一垂直同步信号的第一时间间隔;
根据所述第一平均时间间隔和所述第一时间间隔计算所述剩余的第一垂直同步信号中每个第一垂直同步信号相对于所述剩余的第一垂直同步信号中第一个第一垂直同步信号的相位差。
根据本发明提供的一种信号同步方法,所述对所述多个第一垂直同步信号进行筛选,得到剩余的第一垂直同步信号,包括:
在所述多个第一垂直同步信号中的两个相邻第一垂直同步信号的时间间隔大于或等于第一预设阈值的情况下,将所述两个相邻第一垂直同步信号中的任意一个第一垂直同步信号去除;和/或,在所述多个第一垂直同步信号中的两个相邻第一垂直同步信号的时间间隔小于第二预设阈值的情况下,将所述两个相邻第一垂直同步信号中的任意一个第一垂直同步信号去除;
将去除部分第一垂直同步信号后剩余的第一垂直同步信号作为剩余的第一垂直同步信号。
根据本发明提供的一种信号同步方法,所述计算所得到的多个所述相位差的平均值,包括:
计算所述剩余的第一垂直同步信号对应的多个相位差的均值,得到所述多个第一垂直同步信号中每个第一垂直同步信号与所述多个第一垂直同步信号中的第一个第一垂直同步信号的相位差的平均值。
根据本发明提供的一种信号同步方法,所述根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号,包括:
将所述剩余的第一垂直同步信号中的第一个第一垂直同步信号作为多个第三垂直同步信号中的第一个垂直同步信号;其中,所述多个第三垂直同步信号为剩余的第一垂直同步信号调整后对应的垂直同步信号;
将所述剩余的第一垂直同步信号中第一个第一垂直同步信号加上n个延时得到第n+1个所述多个第三垂直同步信号;其中,n为正整数。
根据本发明提供的一种信号同步方法,所述根据调整后的所述多个第一垂直同步信号同步所述第二***的虚拟垂直同步信号,包括:
调整第二***的虚拟垂直同步信号,以使得调整后的第二***的虚拟垂直同步信号与调整后的所述多个第一垂直同步信号之间的相位差小于预设阈值。
根据本发明提供的一种信号同步方法,所述接收所述多个第一垂直同步信号,包括:
接收来自第一***的多个第二垂直同步信号;
对所述多个第二垂直同步信号进行解析,得到多个第一垂直同步信号。
根据本发明提供的一种信号同步方法,所述向第一***发送请求信号,包括:
封装所述请求信号;
将封装后的所述请求信号发送给所述第一***。
本发明还提供一种信号同步装置,应用于运行在第一***的第二***中,包括:
发送模块,用于在第二***的虚拟垂直同步信号与第一***的垂直同步信号不同步的情况下,向第一***发送请求信号,所述请求信号用于请求获取所述第一***发出的多个第一垂直同步信号;
处理模块,用于接收所述多个第一垂直同步信号,根据所述多个第一垂直同步信号计算所述第一***的垂直同步信号在传输过程中的延时;
同步模块,用于根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号,根据调整后的所述多个第一垂直同步信号同步所述第二***的虚拟垂直同步信号。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述信号同步方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述信号同步方法的步骤。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述信号同步方法的步骤。
本发明提供的信号同步方法、装置、电子设备及存储介质,通过将经过代理服务传输的多个第一垂直同步信号对应的多个相位差的平均值作为所述第一***的垂直同步信号在传输过程中的延时,并根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号,使所述多个第一垂直同步信号与由第一***硬件产生的垂直同步信号更加接近,从而为所述第二***的虚拟垂直同步信号提供一个参考基准,使其与调整后的所述多个第一垂直同步信号同步,从而实现了第二***内的虚拟垂直同步信号与第一***硬件产生的垂直同步信号同步。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的信号同步方法的流程示意图之一;
图2是本发明提供的信号同步方法的流程示意图之二;
图3是本发明提供的信号同步方法的流程示意图之三;
图4是本发明提供的信号同步装置的结构示意图;
图5是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
(1)Wayland
Wayland是一个简单的“显示服务器”,Wayland只是一个协议(Protocol),就像XWindow当前的协议——X11一样,它只定义了如何与内核通讯、如何与Client通讯,具体的策略依然是交给开发者自己。通过Wayland,使得应用可以自己渲染相应的画面后交给Compositor,即可进一步完成画面的合成,无需先向Compositor请求渲染许可再进行渲染。
(2)垂直同步(vertical synchronization,Vsync)信号
屏幕的刷新过程是每一行从左到右(行刷新,水平刷新,Horizontal Scanning),从上到下(屏幕刷新,垂直刷新,Vertical Scanning)。当整个屏幕刷新完毕,即一个垂直刷新周期完成,会有短暂的空白期,此时发出垂直同步信号。
Android***每隔16ms发出垂直同步信号,触发对用户界面(user interface,UI)进行渲染。Vsync是一种在个人计算机上很早就广泛使用的技术,可以简单的把它认为是一种定时中断。而在Android 4.1(JB)中已经开始引入Vsync机制,用来同步渲染,让AppUI和SurfaceFlinger可以按硬件产生的Vsync节奏进行工作。
虽然Vsync使得CPU/GPU/Display同步了,但AppUI和SurfaceFlinger的工作显然是一个流水线的模型。即对于一帧内容,先等AppUI画完了,SurfaceFlinger再对其进行合并渲染后放入framebuffer,最后在屏幕上显示。通常情况下,对于同一帧内容,第一个垂直同步信号出现时AppUI的数据开始准备,第二个垂直同步信号出现时SurfaceFlinger工作,第三个垂直同步信号时用户看到Display内容。
(3)锁相环(phase locked loop,PLL)
锁相环是指一种电路或者模块,它用于在通信的接收机中,其作用是对接收到的信号进行处理,并从其中提取某个时钟的相位信息。或者说,对于接收到的信号,仿制一个时钟信号,使得这两个信号从某种角度来看是同步的(或者说,相干的)。由于锁定情形下(即完成捕捉后),该仿制的时钟信号相对于接收到的信号中的时钟信号具有一定的相位差,所以形象地称其为锁相器。
(4)相移
在物理学中,模拟电路都有其频率特性,不同频率的正弦波通过电路之后,波形在时间上会与输入信号产生差异。输出的正弦波和输入的正弦波信号的相位差称为相移。
下面结合图1-图5描述本发明的信号同步方法、装置、电子设备及存储介质。
图1为本发明提供的信号同步方法的流程示意图之一。可以理解,图1中的方法可以由信号同步装置执行。如图1所示,本发明提供的信号同步方法应用于运行在第一***的第二***中,包括以下步骤:
步骤110、在第二***的虚拟垂直同步信号与第一***的垂直同步信号不同步的情况下,向第一***发送请求信号,所述请求信号用于请求获取所述第一***发出的多个第一垂直同步信号。
在一个实施例中,第一***可以为Linux操作***,第二***可以为Android子***。
其中,第二***的虚拟垂直同步信号与第一***的垂直同步信号不同步可以理解为第二***的虚拟垂直同步信号和第一***的垂直同步信号的相位差大于预设阈值。第二***的虚拟垂直同步信号为第二***产生的虚拟的垂直同步信号。所述第一***发出的多个第一垂直同步信号可以理解为经过第二***的代理服务解析得到的第一***发出的多个第一垂直同步信号。
可以理解,对于第二***中的图层控制模块SurfaceFlinger,垂直同步信号用于控制图层的渲染合成,但是本发明垂直同步信号是由第一***的硬件产生,而第二***无法直接访问第一***的硬件,可以通过代理服务获取得到第一***发出的多个第一垂直同步信号。
步骤120、接收所述多个第一垂直同步信号,根据所述多个第一垂直同步信号计算所述第一***的垂直同步信号在传输过程中的延时。
其中,第一***的垂直同步信号为第一***中硬件产生的垂直同步信号。
如前所述,可以通过代理服务从第一***获取得到第一***的垂直同步信号,并对其解析得到第一***发出的多个第一垂直同步信号。可以理解,由于代理服务程序运行时会受到CPU调度,从而导致造成由第一***的硬件产生的垂直同步信号不是稳定实时传输到SurfaceFlinger,也即所述多个第一垂直同步信号与第一***的垂直同步信号相比存在一定的延时。
步骤130、根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号,根据调整后的所述多个第一垂直同步信号同步所述第二***的虚拟垂直同步信号。
可以理解,根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号,使所述多个第一垂直同步信号与由第一***的硬件产生的垂直同步信号更加接近,从而为所述第二***的虚拟垂直同步信号提供一个基准,使其与调整后的所述多个第一垂直同步信号同步。
本发明提供的信号同步方法,通过根据经过代理服务传输的多个第一垂直同步信号计算所述第一***的垂直同步信号在传输过程中的延时,并根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号,使所述多个第一垂直同步信号与由第一***硬件产生的垂直同步信号更加接近,从而为所述第二***的虚拟垂直同步信号提供一个参考基准,使第二***的虚拟垂直同步信号与调整后的所述多个第一垂直同步信号同步,从而实现了第二***内的虚拟垂直同步信号与第一***硬件产生的垂直同步信号同步。
基于上述任一实施例,在本实施例中,所述根据所述多个第一垂直同步信号计算所述第一***的垂直同步信号在传输过程中的延时,包括:
计算所述多个第一垂直同步信号中每个第一垂直同步信号与所述多个第一垂直同步信号中的第一个第一垂直同步信号的相位差;
计算所得到的多个所述相位差的平均值,根据所述相位差的平均值确定所述第一***的垂直同步信号在传输过程中的延时。
可以理解,在本实施例中,以所述多个第一垂直同步信号中的第一个第一垂直同步信号作为基准信号,计算所述多个第一垂直同步信号中每个第一垂直同步信号与基准信号的相位差。并以多个所述相位差的平均值作为第一***的垂直同步信号在传输过程中的延时。
本发明提供的信号同步方法,通过将经过代理服务传输的多个第一垂直同步信号对应的多个相位差的平均值作为所述第一***的垂直同步信号在传输过程中的延时,并根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号,使所述多个第一垂直同步信号与由第一***硬件产生的垂直同步信号更加接近,从而为所述第二***的虚拟垂直同步信号提供一个参考基准,使其与调整后的所述多个第一垂直同步信号同步,从而实现了第二***内的虚拟垂直同步信号与第一***硬件产生的垂直同步信号同步。
基于上述任一实施例,在本实施例中,所述计算所述多个第一垂直同步信号中每个第一垂直同步信号与所述多个第一垂直同步信号中的第一个第一垂直同步信号的相位差,包括:
对所述多个第一垂直同步信号进行筛选,得到剩余的第一垂直同步信号;
将所述剩余的第一垂直同步信号之间的时间间隔进行均值计算,得到第一平均时间间隔;
计算所述剩余的第一垂直同步信号中每个第一垂直同步信号与所述剩余的第一垂直同步信号中第一个第一垂直同步信号的第一时间间隔;
根据所述第一平均时间间隔和所述第一时间间隔计算所述剩余的第一垂直同步信号中每个第一垂直同步信号相对于所述剩余的第一垂直同步信号中第一个第一垂直同步信号的相位差。
可以理解,所述多个第一垂直同步信号中存在与第一***硬件发出的垂直同步信号相比延时过大的第一垂直同步信号,具体的可以为相邻的两个第一垂直同步信号的时间间隔大于或等于第一预设阈值,或相邻的两个第一垂直同步信号的时间间隔小于第二预设阈值的情况,这些与第一***硬件发出的垂直同步信号相比延时过大的第一垂直同步信号会影响后续通过所述第一垂直同步信号计算得到的相位差的准确性,因此对所述多个第一垂直同步信号进行筛选,得到剩余的第一垂直同步信号。因此,剩余的第一垂直同步信号为所述多个第一垂直同步信号去除间隔过大或间隔过小的第一垂直同步信号后剩余的第一垂直同步信号。其中,间隔过大的第一垂直同步信号为相邻两个第一垂直同步信号的时间间隔大于或等于第一预设阈值对应的两个第一垂直同步信号中的任意一个第一垂直同步信号,间隔过小的第一垂直同步信号为相邻两个第一垂直同步信号的时间间隔小于第二预设阈值对应的两个第一垂直同步信号中的任意一个第一垂直同步信号。
其中,第一平均时间间隔为所有剩余的第一垂直同步信号之间总的时间间隔除以剩余的第一垂直同步信号的个数得到,可以看作是估计的所述第一***的垂直同步信号出现的周期。
具体地,第一平均时间间隔TA的数学表达式可以为:TA=TS/(N-1)。
其中,TS为所有剩余的第一垂直同步信号之间总的时间间隔,N为剩余的第一垂直同步信号的个数。
第一时间间隔TPi 可以看作是剩余的第一垂直同步信号中第i个第一垂直同步信号与所述剩余的第一垂直同步信号中第一个第一垂直同步信号对应的时间偏移量。
具体地,第一时间间隔TPi 的数学表达式可以为:TPi =TSi -TS1。
其中,TSi 为剩余的第一垂直同步信号中第i个第一垂直同步信号出现的时间,TS1为剩余的第一垂直同步信号中第1个第一垂直同步信号出现的时间。
具体地,根据所述第一平均时间间隔和所述第一时间间隔计算所述剩余的第一垂直同步信号中每个第一垂直同步信号相对于所述剩余的第一垂直同步信号中第一个第一垂直同步信号的相位差,可以为所述时间偏移量对所述周期取余,从而得到剩余的第一垂直同步信号中每个第一垂直同步信号的相对于所述第一***硬件产生的垂直同步信号的估计偏移量,然后将取余的结果转换为弧度值,从而得到剩余的第一垂直同步信号中每个第一垂直同步信号的相对于所述第一***硬件产生的垂直同步信号的相位差,具体地,数学表达式如下:
ɸSi =(TPi %TA)*scale,scale=2*π/TA。
其中,ɸSi表示剩余的第一垂直同步信号中第i个第一垂直同步信号相对于所述剩余的第一垂直同步信号中第一个第一垂直同步信号的相位差,TA表示第一平均时间间隔,scale表示第一平均时间间隔内每个时间单元对应的弧度或者相位。
本发明提供的信号同步方法,通过将剩余的第一垂直同步信号中每个第一垂直同步信号与所述剩余的第一垂直同步信号中第一个第一垂直同步信号对应的时间偏移量对估计的所述第一***的垂直同步信号出现的周期取余,从而得到剩余的第一垂直同步信号中每个第一垂直同步信号相对于所述第一***硬件产生的垂直同步信号的时间偏移量,并将结果转换为弧度值,从而得到剩余的第一垂直同步信号中每个第一垂直同步信号的相对于所述第一***硬件产生的垂直同步信号的相位差,从而根据所述相位差的平均值可以确认所述第一***的垂直同步信号在传输过程中的延时,并根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号,使调整后的多个第一垂直同步信号与由第一***硬件产生的垂直同步信号更加接近,从而为所述第二***的虚拟垂直同步信号提供一个参考基准,使其与调整后的所述多个第一垂直同步信号同步,从而实现了第二***内的虚拟垂直同步信号与第一***硬件产生的垂直同步信号同步。
基于上述任一实施例,在本实施例中,所述对所述多个第一垂直同步信号进行筛选,得到剩余的第一垂直同步信号,包括:
在所述多个第一垂直同步信号中的两个相邻第一垂直同步信号的时间间隔大于或等于第一预设阈值的情况下,将所述两个相邻第一垂直同步信号中的任意一个第一垂直同步信号去除;和/或,在所述多个第一垂直同步信号中的两个相邻第一垂直同步信号的时间间隔小于第二预设阈值的情况下,将所述两个相邻第一垂直同步信号中的任意一个第一垂直同步信号去除;
将去除部分第一垂直同步信号后剩余的第一垂直同步信号作为剩余的第一垂直同步信号。
其中,所述多个第一垂直同步信号中的两个相邻第一垂直同步信号的时间间隔大于或等于第一预设阈值的情况可以理解为相邻的两个第一垂直同步信号的间隔过大的情况,所述多个第一垂直同步信号中的两个相邻第一垂直同步信号的时间间隔小于第二预设阈值的情况可以理解为相邻的两个第一垂直同步信号的间隔过小的情况。
可以理解,若相邻的两个第一垂直同步信号的间隔过大和间隔过小的第一垂直同步信号,说明两个第一垂直同步信号中有一个第一垂直同步信号与第一***硬件产生的垂直同步信号时延较大,会影响后续通过所述第一垂直同步信号计算得到的相位差的准确性,因此将其对应的第一垂直同步信号去掉。
本发明提供的信号同步方法,通过去掉间隔过大和间隔过小的第一垂直同步信号,从而使基于所述多个第一垂直同步信号得到的对应的多个相位差的平均值更加接近所述第一***的垂直同步信号在传输过程中的延时,从而使根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号时,使所述多个第一垂直同步信号与由第一***硬件产生的垂直同步信号更加接近,从而为所述第二***的虚拟垂直同步信号提供一个更加准确的参考基准,使其与由第一***硬件产生的垂直同步信号更加同步,从而实现了第二***内的虚拟垂直同步信号与第一***硬件产生的垂直同步信号同步。
基于上述任一实施例,在本实施例中,所述计算所得到的多个所述相位差的平均值,包括:
计算所述剩余的第一垂直同步信号对应的多个相位差的均值,得到所述多个第一垂直同步信号中每个第一垂直同步信号与所述多个第一垂直同步信号中的第一个第一垂直同步信号的相位差的平均值。
可以理解,在本实施例中,假设剩余的多个第一垂直同步信号中的第一个第一垂直同步信号与由第一***硬件产生的垂直同步信号的时间同步。因此,以剩余的多个第一垂直同步信号中的第一个第一垂直同步信号为基准,计算剩余的多个第一垂直同步信号中每个第一垂直同步信号与剩余的多个第一垂直同步信号中的第一个第一垂直同步信号的相位差的平均值,将所述相位差的平均值作为所述剩余的多个第一垂直同步信号中每个第一垂直同步信号在传输过程中的延时。
本发明提供的信号同步方法,通过去掉多个第一垂直同步信号中那些与第一***的垂直同步信号较不同步的信号后,将剩余的多个第一垂直同步信号对应的多个相位差的平均值作为所述第一***的垂直同步信号在传输过程中的延时,从而使基于所述多个第一垂直同步信号得到的对应的多个相位差的平均值更加接近所述第一***的垂直同步信号在传输过程中的延时,从而使根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号时,使调整后的多个第一垂直同步信号与由第一***硬件产生的垂直同步信号更加接近,从而为所述第二***的虚拟垂直同步信号提供一个更加准确的参考基准,使其与由第一***硬件产生的垂直同步信号更加同步,从而实现了第二***内的虚拟垂直同步信号与第一***硬件产生的垂直同步信号同步。
基于上述任一实施例,在本实施例中,所述根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号,包括:
将所述剩余的第一垂直同步信号中的第一个第一垂直同步信号作为多个第三垂直同步信号中的第一个垂直同步信号;其中,所述第三垂直同步信号为剩余的第一垂直同步信号调整后对应的垂直同步信号;
将所述剩余的第一垂直同步信号中第一个第一垂直同步信号加上n个延时得到第n+1个所述多个第三垂直同步信号;其中,n为正整数。
可以理解,所述延时可以看做是多个第一垂直同步信号中的除了第一个第一垂直同步信号之外的其他第一垂直同步信号与多个第一垂直同步信号中的第一个第一垂直同步信号之间存在的延时,因此,可以通过以上方法得到调整后的第一垂直同步信号,即第三垂直同步信号。
本发明提供的信号同步方法,通过根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号,使调整后的多个第一垂直同步信号与由第一***硬件产生的垂直同步信号更加接近,从而为所述第二***的虚拟垂直同步信号提供一个参考基准,使其与调整后的多个第一垂直同步信号同步,从而实现了第二***内的虚拟垂直同步信号与第一***硬件产生的垂直同步信号同步。
基于上述任一实施例,在本实施例中,所述根据调整后的所述多个第一垂直同步信号同步所述第二***的虚拟垂直同步信号,包括:
调整第二***的虚拟垂直同步信号,以使得调整后的第二***的虚拟垂直同步信号与调整后的所述多个第一垂直同步信号之间的相位差小于预设阈值。
本发明提供的信号同步方法,通过使得调整后的第二***的虚拟垂直同步信号与调整后的所述多个第一垂直同步信号之间的相位差小于预设阈值,从而实现使第二***内的虚拟垂直同步信号与由第一***硬件产生的垂直同步信号同步。
基于上述任一实施例,在本实施例中,所述接收所述多个第一垂直同步信号,包括:
接收来自第一***的多个第二垂直同步信号;
对所述多个第二垂直同步信号进行解析,得到多个第一垂直同步信号。
其中,来自第一***的多个第二垂直同步信号为第一***硬件发出的多个第二垂直同步信号。
可以理解,该步骤可以由第二***的代理服务完成。
本发明提供的信号同步方法,通过从来自第一***的多个第二垂直同步信号解析得到多个第一垂直同步信号,从而为后续基于所述多个第一垂直同步信号,使第二***内的虚拟垂直同步信号与由第一***硬件产生的垂直同步信号同步打下基础。
基于上述任一实施例,在本实施例中,所述向第一***发送请求信号,包括:
封装所述请求信号;
将封装后的所述请求信号发送给所述第一***。
可以理解,所述请求信号用于请求获取所述第一***发出的多个第一垂直同步信号。第二***与第一***属于不同的***,因此需要通过一定的通信的方式与第一***进行通信。因此,第二***和第一***之间进行信号的传递,需要按照一定的通信的方式进行,首先需要对第二***发送的请求信号按照通信协议进行封装。其中,通信方式例如可以为socket方式,通信协议可以是传输控制协议(transmission control protocol,TCP)或者用户数据包协议(user datagram protocol,UDP)。
本发明提供的信号同步方法,通过一定的方式向第一***请求获取所述第一***发出的多个第一垂直同步信号,从而为后续基于所述多个第一垂直同步信号,使第二***内的虚拟垂直同步信号与由第一***硬件产生的垂直同步信号同步打下基础。
图2为本发明提供的信号同步方法的流程示意图之二。
首先,对图2中涉及的第一***和第二***中的组件进行说明。
可以理解,第一***可以为第一***可以为Linux操作***,第二***可以为Android子***。
其中,第一***中包括用于产生垂直同步信号的硬件(Hardware)以及用于图形绘制的WaylandServer组件。第二***中包括代理服务程序Proxy程序、锁相器(PLL)和SurfaceFlinger。与代理服务程序(Proxy程序)对应的组件包括:Epoll组件、ProtoHandler组件、和Server组件。
其中,Epoll组件为与第一***通信的组件,负责UNIX域(Unix Domain)套接字的数据传输,UNIX域套接字用于在同一台机器上运行的进程之间的通信。ProtoHandler组件为协议封装和解析的组件,用来封装和解析与WaylandServer组件通信的消息。Server组件为总体调度组件,向WaylandServer组件请求垂直同步信号时,由Server组件向ProtoHandler组件发送通信协议内容,由ProtoHandler组件封装成buff数据传递给Epoll组件进行发送。WaylandServer组件接收请求后将信号buff数据传递给Epoll组件,Epoll组件再将buff数据传递给ProtoHandler组件进行解析成协议内容传递给Server组件,Server组件将垂直同步信号信息传递给锁相器进行稳定与消除误差。
锁相器用于稳定垂直同步信号,锁相器是通过一定计算来稳定外层传递来的垂直同步信号,由于经过代理服务程序传输,代理服务程序运行时还会受到CPU调度,造成垂直同步信号不是稳定实时传输到SurfaceFlinger,所以需要锁相器来进行信号稳定。
SurfaceFlinger是第二***的图形绘制的组件。稳定后的垂直同步信号最终将发送到SurfaceFlinger来同步第二***的图形绘制,防止第二***内的虚拟垂直同步信号与第一***中硬件产生的垂直同步信号不一致导致第二***中的应用图形绘制出现撕裂卡顿。
垂直同步信号将从硬件发送到WaylandServer,WaylandServer再将垂直同步信号转发到代理服务程序中。
可以理解,在第二***内的虚拟垂直同步信号与第一***中的硬件产生的垂直同步信号不同步的情况下,第二***可以通过代理服务程序向第一***发送获取第一***中硬件产生的垂直同步信号的请求。具体地,可以由Server组件向ProtoHandler组件发送包含获取第一***中硬件产生的垂直同步信号的请求的通信协议内容,由ProtoHandler组件将通信协议内容封装成buff数据传递给Epoll组件进行发送至第一***中的WaylandServer组件。WaylandServer组件从硬件获取真实的垂直同步信号后,将真实的垂直同步信号对应的buff数据传递给Epoll组件,Epoll组件再将buff数据传递给ProtoHandler组件进行解析成协议内容传递给Server组件得到不稳定的垂直同步信号,Server组件将不稳定的垂直同步信号传递给锁相器进行稳定与消除误差得到稳定的垂直同步信号,将其送入SurfaceFlinger,使SurfaceFlinger产生的垂直同步信号与所述稳定的垂直同步信号同步。
图3为本发明提供的信号同步方法的流程示意图之三。如图3所示,以第一***和第二***的交互过程说明本发明提供的信号同步方法。可以理解,图3所示的方法在第二***内的虚拟垂直同步信号与第一***中的硬件产生的垂直同步信号不同步的情况下运行。
可以理解,第一***可以为第一***可以为Linux操作***,第二***可以为Android子***。
步骤310、第二***的SurfaceFlinger可以通过代理服务程序向第一***的WaylandServer发送获取同步(synchronize)垂直同步信号的请求。
步骤320、第一***的WaylandServer获取来自第一***硬件的多个垂直同步信号。
步骤330、WaylandServer将来自第一***硬件的多个垂直同步信号通过通信协议传输至第二***的代理服务程序。
步骤340、代理服务程序对通过通信协议传输过来的内容解析得到的多个垂直同步信号计算误差并消除误差,得到稳定的多个垂直同步信号。
步骤350、代理服务程序将稳定的多个垂直同步信号送至SurfaceFlinger。
步骤360、SurfaceFlinger根据稳定的多个垂直同步信号调整自己产生的虚拟的垂直同步信号。
下面对本发明提供的信号同步装置进行描述,下文描述的信号同步装置与上文描述的信号同步方法可相互对应参照。
图4是本发明提供的信号同步装置的示意图,如图4所示,本发明实施例提供的信号同步装置,包括:
发送模块410,用于在第二***的虚拟垂直同步信号与第一***的垂直同步信号不同步的情况下,向第一***发送请求信号,所述请求信号用于请求获取所述第一***发出的多个第一垂直同步信号;
处理模块420,用于接收所述多个第一垂直同步信号,根据所述多个第一垂直同步信号计算所述第一***的垂直同步信号在传输过程中的延时;
同步模块430,用于根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号,根据调整后的所述多个第一垂直同步信号同步所述第二***的虚拟垂直同步信号。
基于上述任一实施例,在本实施例中,所述处理模块420包括:
第一计算单元,用于计算所述多个第一垂直同步信号中每个第一垂直同步信号与所述多个第一垂直同步信号中的第一个第一垂直同步信号的相位差;
第一确定单元,用于计算所得到的多个所述相位差的平均值,根据所述相位差的平均值确定所述第一***的垂直同步信号在传输过程中的延时。
基于上述任一实施例,在本实施例中,所述第一计算单元包括:
筛选单元,用于对所述多个第一垂直同步信号进行筛选,得到剩余的第一垂直同步信号;
第一平均时间间隔计算单元,用于将所述剩余的第一垂直同步信号之间的时间间隔进行均值计算,得到第一平均时间间隔;
第一时间间隔计算单元,用于计算所述剩余的第一垂直同步信号中每个第一垂直同步信号与所述剩余的第一垂直同步信号中第一个第一垂直同步信号的第一时间间隔;
相位差计算单元,用于根据所述第一平均时间间隔和所述第一时间间隔计算所述剩余的第一垂直同步信号中每个第一垂直同步信号相对于所述剩余的第一垂直同步信号中第一个第一垂直同步信号的相位差。
基于上述任一实施例,在本实施例中,所述筛选单元包括:
去除单元,用于在所述多个第一垂直同步信号中的两个相邻第一垂直同步信号的时间间隔大于或等于第一预设阈值的情况下,将所述两个相邻第一垂直同步信号中的任意一个 第一垂直同步信号去除;和/或,在所述多个第一垂直同步信号中的两个相邻第一垂直同步信号的时间间隔小于第二预设阈值的情况下,将所述两个相邻第一垂直同步信号中的任意一个第一垂直同步信号去除;
第二确定单元,用于将去除部分第一垂直同步信号后剩余的第一垂直同步信号作为剩余的第一垂直同步信号。
基于上述任一实施例,在本实施例中,所述相位差计算单元包括:
相位差的平均值计算单元,用于计算所述剩余的第一垂直同步信号对应的多个相位差的均值,得到所述多个第一垂直同步信号中每个第一垂直同步信号与所述多个第一垂直同步信号中的第一个第一垂直同步信号的相位差的平均值。
基于上述任一实施例,在本实施例中,所述同步模块430,具体用于将所述剩余的第一垂直同步信号中的第一个第一垂直同步信号作为多个第三垂直同步信号中的第一个垂直同步信号;其中,所述多个第三垂直同步信号为剩余的第一垂直同步信号调整后对应的垂直同步信号;
将所述剩余的第一垂直同步信号中第一个第一垂直同步信号加上n个延时得到第n+1个所述多个第三垂直同步信号;其中,n为正整数。
基于上述任一实施例,在本实施例中,所述同步模块430包括:
调整单元,用于调整第二***的虚拟垂直同步信号,以使得调整后的第二***的虚拟垂直同步信号与调整后的所述多个第一垂直同步信号之间的相位差小于预设阈值。
基于上述任一实施例,在本实施例中,所述处理模块420包括:
接收单元,用于接收来自第一***的多个第二垂直同步信号;
解析单元,用于对所述多个第二垂直同步信号进行解析,得到多个第一垂直同步信号。
基于上述任一实施例,在本实施例中,所述发送模块410包括:
封装单元,用于封装所述请求信号;
发送单元,用于将封装后的所述请求信号发送给所述第一***。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行信号同步方法,该方法应用于运行在第一***的第二***中,包括:在第二***的虚拟垂直同步信号与第一***的垂直同步信号不同步的情况下,向第一***发送请求信号,所述请求信号用于请求获取所述第一***发出的多个第一垂直同步信号;接收所述多个第一垂直同步信号,根据所述多个第一垂直同步信号计算所述第一***的垂直同步信号在传输过程中的延时;根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号,根据调整后的所述多个第一垂直同步信号同步所述第二***的虚拟垂直同步信号。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行本发明所提供的信号同步方法,该方法应用于运行在第一***的第二***中,包括:在第二***的虚拟垂直同步信号与第一***的垂直同步信号不同步的情况下,向第一***发送请求信号,所述请求信号用于请求获取所述第一***发出的多个第一垂直同步信号;接收所述多个第一垂直同步信号,根据所述多个第一垂直同步信号计算所述第一***的垂直同步信号在传输过程中的延时;根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号,根据调整后的所述多个第一垂直同步信号同步所述第二***的虚拟垂直同步信号。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行本发明所提供的信号同步方法,该方法应用于运行在第一***的第二***中,包括:在第二***的虚拟垂直同步信号与第一***的垂直同步信号不同步的情况下,向第一***发送请求信号,所述请求信号用于请求获取所述第一***发出的多个第一垂直同步信号;接收所述多个第一垂直同步信号,根据所述多个第一垂直同步信号计算所述第一***的垂直同步信号在传输过程中的延时;根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号,根据调整后的所述多个第一垂直同步信号同步所述第二***的虚拟垂直同步信号。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种信号同步方法,其特征在于,应用于运行在第一***的第二***中,方法包括:
在第二***的虚拟垂直同步信号与第一***的垂直同步信号不同步的情况下,向第一***发送请求信号,所述请求信号用于请求获取所述第一***发出的多个第一垂直同步信号;
接收所述多个第一垂直同步信号,根据所述多个第一垂直同步信号计算所述第一***的垂直同步信号在传输过程中的延时;
根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号,根据调整后的所述多个第一垂直同步信号同步所述第二***的虚拟垂直同步信号。
2.根据权利要求1所述的信号同步方法,其特征在于,所述根据所述多个第一垂直同步信号计算所述第一***的垂直同步信号在传输过程中的延时,包括:
计算所述多个第一垂直同步信号中每个第一垂直同步信号与所述多个第一垂直同步信号中的第一个第一垂直同步信号的相位差;
计算所得到的多个所述相位差的平均值,根据所述相位差的平均值确定所述第一***的垂直同步信号在传输过程中的延时。
3.根据权利要求2所述的信号同步方法,其特征在于,所述计算所述多个第一垂直同步信号中每个第一垂直同步信号与所述多个第一垂直同步信号中的第一个第一垂直同步信号的相位差,包括:
对所述多个第一垂直同步信号进行筛选,得到剩余的第一垂直同步信号;
将所述剩余的第一垂直同步信号之间的时间间隔进行均值计算,得到第一平均时间间隔;
计算所述剩余的第一垂直同步信号中每个第一垂直同步信号与所述剩余的第一垂直同步信号中第一个第一垂直同步信号的第一时间间隔;
根据所述第一平均时间间隔和所述第一时间间隔计算所述剩余的第一垂直同步信号中每个第一垂直同步信号相对于所述剩余的第一垂直同步信号中第一个第一垂直同步信号的相位差。
4.根据权利要求3所述的信号同步方法,其特征在于,所述对所述多个第一垂直同步信号进行筛选,得到剩余的第一垂直同步信号,包括:
在所述多个第一垂直同步信号中的两个相邻第一垂直同步信号的时间间隔大于或等于第一预设阈值的情况下,将所述两个相邻第一垂直同步信号中的任意一个第一垂直同步信号去除;和/或,在所述多个第一垂直同步信号中的两个相邻第一垂直同步信号的时间间隔小于第二预设阈值的情况下,将所述两个相邻第一垂直同步信号中的任意一个第一垂直同步信号去除;
将去除部分第一垂直同步信号后剩余的第一垂直同步信号作为剩余的第一垂直同步信号。
5.根据权利要求3所述的信号同步方法,其特征在于,所述计算所得到的多个所述相位差的平均值,包括:
计算所述剩余的第一垂直同步信号对应的多个相位差的均值,得到所述多个第一垂直同步信号中每个第一垂直同步信号与所述多个第一垂直同步信号中的第一个第一垂直同步信号的相位差的平均值。
6.根据权利要求3 所述的信号同步方法,其特征在于,所述根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号,包括:
将所述剩余的第一垂直同步信号中的第一个第一垂直同步信号作为多个第三垂直同步信号中的第一个垂直同步信号;其中,所述多个第三垂直同步信号为剩余的第一垂直同步信号调整后对应的垂直同步信号;
将所述剩余的第一垂直同步信号中第一个第一垂直同步信号加上n个延时得到第n+1个所述多个第三垂直同步信号;其中,n为正整数。
7.根据权利要求1所述的信号同步方法,其特征在于,所述根据调整后的所述多个第一垂直同步信号同步所述第二***的虚拟垂直同步信号,包括:
调整第二***的虚拟垂直同步信号,以使得调整后的第二***的虚拟垂直同步信号与调整后的所述多个第一垂直同步信号之间的相位差小于预设阈值。
8.根据权利要求1所述的信号同步方法,其特征在于,所述接收所述多个第一垂直同步信号,包括:
接收来自第一***的多个第二垂直同步信号;
对所述多个第二垂直同步信号进行解析,得到多个第一垂直同步信号。
9.根据权利要求1所述的信号同步方法,其特征在于,所述向第一***发送请求信号,包括:
封装所述请求信号;
将封装后的所述请求信号发送给所述第一***。
10.一种信号同步装置,其特征在于,应用于运行在第一***的第二***中,包括:
发送模块,用于在第二***的虚拟垂直同步信号与第一***的垂直同步信号不同步的情况下,向第一***发送请求信号,所述请求信号用于请求获取所述第一***发出的多个第一垂直同步信号;
处理模块,用于接收所述多个第一垂直同步信号,根据所述多个第一垂直同步信号计算所述第一***的垂直同步信号在传输过程中的延时;
同步模块,用于根据所述第一***的垂直同步信号在传输过程中的延时调整所述多个第一垂直同步信号,根据调整后的所述多个第一垂直同步信号同步所述第二***的虚拟垂直同步信号。
11.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至9任一项所述信号同步方法的步骤。
12.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述信号同步方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210019414.3A CN114020097B (zh) | 2022-01-10 | 2022-01-10 | 信号同步方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210019414.3A CN114020097B (zh) | 2022-01-10 | 2022-01-10 | 信号同步方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114020097A CN114020097A (zh) | 2022-02-08 |
CN114020097B true CN114020097B (zh) | 2022-06-17 |
Family
ID=80069719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210019414.3A Active CN114020097B (zh) | 2022-01-10 | 2022-01-10 | 信号同步方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114020097B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6535208B1 (en) * | 2000-09-05 | 2003-03-18 | Ati International Srl | Method and apparatus for locking a plurality of display synchronization signals |
CN101354878A (zh) * | 2007-07-27 | 2009-01-28 | 瑞昱半导体股份有限公司 | 视频与音频接收装置 |
CN102439974A (zh) * | 2009-05-22 | 2012-05-02 | 株式会社巨晶片 | 活动图像再生***及活动图像再生方法 |
CN102959975A (zh) * | 2011-02-28 | 2013-03-06 | 索尼公司 | 图像显示***、显示装置、以及快门眼镜 |
CN103593155A (zh) * | 2013-11-06 | 2014-02-19 | 华为终端有限公司 | 显示帧生成方法和终端设备 |
WO2018072593A1 (zh) * | 2016-10-21 | 2018-04-26 | 北京小鸟看看科技有限公司 | 虚拟现实***及其空间定位装置、定位方法 |
CN108228358A (zh) * | 2017-12-06 | 2018-06-29 | 广东欧珀移动通信有限公司 | 修正垂直同步信号的方法、装置、移动终端以及存储介质 |
CN109992232A (zh) * | 2019-04-09 | 2019-07-09 | Oppo广东移动通信有限公司 | 图像更新方法、装置、终端及存储介质 |
CN112153082A (zh) * | 2020-11-25 | 2020-12-29 | 深圳乐播科技有限公司 | 一种在安卓***中平滑显示实时流视频画面的方法及装置 |
WO2020259457A1 (zh) * | 2019-06-25 | 2020-12-30 | 华为技术有限公司 | 一种基于垂直同步信号的控制方法及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110018874B (zh) * | 2019-04-09 | 2021-07-13 | Oppo广东移动通信有限公司 | 垂直同步方法、装置、终端及存储介质 |
-
2022
- 2022-01-10 CN CN202210019414.3A patent/CN114020097B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6535208B1 (en) * | 2000-09-05 | 2003-03-18 | Ati International Srl | Method and apparatus for locking a plurality of display synchronization signals |
CN101354878A (zh) * | 2007-07-27 | 2009-01-28 | 瑞昱半导体股份有限公司 | 视频与音频接收装置 |
CN102439974A (zh) * | 2009-05-22 | 2012-05-02 | 株式会社巨晶片 | 活动图像再生***及活动图像再生方法 |
CN102959975A (zh) * | 2011-02-28 | 2013-03-06 | 索尼公司 | 图像显示***、显示装置、以及快门眼镜 |
CN103593155A (zh) * | 2013-11-06 | 2014-02-19 | 华为终端有限公司 | 显示帧生成方法和终端设备 |
WO2018072593A1 (zh) * | 2016-10-21 | 2018-04-26 | 北京小鸟看看科技有限公司 | 虚拟现实***及其空间定位装置、定位方法 |
CN108228358A (zh) * | 2017-12-06 | 2018-06-29 | 广东欧珀移动通信有限公司 | 修正垂直同步信号的方法、装置、移动终端以及存储介质 |
CN109992232A (zh) * | 2019-04-09 | 2019-07-09 | Oppo广东移动通信有限公司 | 图像更新方法、装置、终端及存储介质 |
WO2020259457A1 (zh) * | 2019-06-25 | 2020-12-30 | 华为技术有限公司 | 一种基于垂直同步信号的控制方法及电子设备 |
CN112153082A (zh) * | 2020-11-25 | 2020-12-29 | 深圳乐播科技有限公司 | 一种在安卓***中平滑显示实时流视频画面的方法及装置 |
Non-Patent Citations (3)
Title |
---|
"A Simple Video-Based Technique for Measuring Latency in Virtual Reality or Teleoperation";Ilja T. Feldstein等;《IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS》;20200313;第3611-3625页 * |
"Latency Compensation for Head-Mounted Virtual Reality";Jason Jerald;《ResearchGate》;20150414;第1-16页 * |
"垂直同步(VSYNC)实现原理";jt-lcspcsj2pj;《https://blog.csdn.net/xiangyuxiangyu123/article/details/66475513》;20210630;第1-15页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114020097A (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10354430B2 (en) | Image update method, system, and apparatus | |
CN113347466B (zh) | 一种数据处理方法、装置和存储介质 | |
EP3809706A1 (en) | Method and apparatus for transmitting scene image of virtual scene, computer device and computer readable storage medium | |
KR100751861B1 (ko) | 이미지 프레임 업데이트 동기 | |
US9584302B2 (en) | Method and apparatus for synchronization of slave clock to master clock | |
CN110521203B (zh) | 多头戴式显示器虚拟现实配置中的显示调步 | |
EP2914040B1 (en) | Terminal and synchronization control method thereof | |
CN101815177B (zh) | 同步显示装置、同步显示方法及叠加拼接显示*** | |
US9807408B2 (en) | Control mechanism for video output | |
JP2020507244A (ja) | 画像円滑性向上方法および装置 | |
CN108310766B (zh) | 数据处理方法和装置、存储介质、处理器及终端 | |
AU2011354757B2 (en) | Three-dimensional earth-formulation visualization | |
CN110860086A (zh) | 数据处理方法、可读存储介质和电子设备 | |
CN114020097B (zh) | 信号同步方法、装置、电子设备及存储介质 | |
CN102663988B (zh) | 字幕播报方法、装置和*** | |
CN114626974A (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
US6816561B1 (en) | Phase correction for multiple processors | |
CN114092312A (zh) | 图像生成方法、装置、电子设备及存储介质 | |
CN113230661A (zh) | 数据同步方法、装置、计算机可读介质及电子设备 | |
CN115065866B (zh) | 一种视频生成方法、装置、设备及存储介质 | |
US11930299B2 (en) | Measuring audio and video latencies in virtual desktop environments | |
CN115756674A (zh) | 信息同步显示方法、装置、设备及存储介质 | |
JP7448707B1 (ja) | プログラム、クライアント端末、ゲームシステム、及び処理方法 | |
Zotos et al. | Interactive distributed rendering of 3D scenes on multiple Xbox 360 systems and personal computers | |
CN114904265A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220817 Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing. Patentee after: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd. Address before: 2005, floor 2, No. 39, West Street, Haidian District, Beijing 100080 Patentee before: Beijing jingling Information System Technology Co.,Ltd. |