CN111190560A - 获取硬件垂直同步信号的方法、装置、设备及存储介质 - Google Patents
获取硬件垂直同步信号的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111190560A CN111190560A CN201911348645.3A CN201911348645A CN111190560A CN 111190560 A CN111190560 A CN 111190560A CN 201911348645 A CN201911348645 A CN 201911348645A CN 111190560 A CN111190560 A CN 111190560A
- Authority
- CN
- China
- Prior art keywords
- timestamp
- time
- current time
- equipment
- external
- 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.)
- Granted
Links
Images
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/1407—General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
-
- 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/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种获取硬件垂直同步信号的方法、装置、设备及存储介质。其中方法包括:获取外接设备提供的第一时间戳,以及外接设备的屏幕刷新率,其中,第一时间戳由外接设备根据自身显示屏的硬件垂直同步信号的发生时刻生成;将第一时间戳换算为终端设备的第二时间戳;根据第二时间戳和外接设备的屏幕刷新率,确定终端设备的硬件垂直同步信号的发生时刻。
Description
技术领域
本发明涉及显示技术领域,更具体地,涉及一种获取硬件垂直同步信号的方法、一种获取硬件垂直同步信号的装置、一种终端设备以及一种计算机可读存储介质。
背景技术
由于头戴显示设备可向用户呈现生动形象的视频,因此被广泛的应用到的人们的日常生活中。现有的头戴显示设备分为独立的头戴显示设备和需要和手机等终端设备交互工作的分体式的头戴显示设备。
对于分体式的头戴显示设备,由于头戴显示设备和终端设备是两个不同且独立的系统,所以终端设备无法直接获取到的头戴显示设备的硬件垂直同步信号。这将导致终端设备只能采用单缓存模式进行图像渲染。或者,需要对终端设备的应用系统进行修改,以获取头戴显示设备的硬件垂直同步信号。
但是,在终端设备采用单缓存模式进行图像渲染时,分体式头戴显示设备所显示的图像存在撕裂和/或拖影等问题。而在对终端设备的应用系统进行修改时,终端设备的开发商并不一定会接受对其进行修改,或者不一定具备对其修改的能力。
发明内容
本发明的一个目的是提供一种用于获取硬件垂直同步信号的新技术方案。
根据本发明的第一方面,提供了一种获取硬件垂直同步信号的方法,所述方法应用于终端设备,包括:
获取外接设备提供的第一时间戳,以及所述外接设备的屏幕刷新率,其中,所述第一时间戳由所述外接设备根据自身显示屏的硬件垂直同步信号的发生时刻生成;
将所述第一时间戳换算为终端设备的第二时间戳;
根据所述第二时间戳和所述外接设备的屏幕刷新率,确定所述终端设备的硬件垂直同步信号的发生时刻。
可选的,所述方法在所述将所述第一时间戳换算为所述终端设备的第二时间戳之前,包括:
定期获取所述外接设备的当前时间,以及记录所述终端设备对应的当前时间;
根据所述外接设备的当前时间和所述终端设备对应的当前时间,确定所述外接设备和所述终端设备之间的时间偏移量;
所述将所述第一时间戳换算为所述终端设备的第二时间戳,包括:
在所述第一时间戳的基础上,叠加最新确定出的所述时间偏移量,以将所述第一时间戳换算为所述第二时间戳。
可选的,所述方法在所述将所述第一时间戳换算为所述终端设备的第二时间戳之前,包括:
定期获取所述外接设备的当前时间,以及记录所述终端设备对应的当前时间;
所述将所述第一时间戳换算为所述终端设备的第二时间戳,包括:
在所述第一时间戳的基础上,减去最新获取到的所述外接设备的当前时间之后,叠加最新记录的所述终端设备对应的当前时间,以将所述第一时间戳换算为所述终端设备的第二时间戳。
可选的,所述将所述第一时间戳换算为所述第二终端设备的时间戳,包括:
记录获取到所述外接设备提供的第一时间戳时所述终端设备的时间;
在所述终端设备的时间的基础上,减去预设的延迟时长,以将所述第一时间戳换算为所述第二时间戳;所述预设的延迟时长为所述外接设备生成所述第一时间戳的时刻到传递至所述终端设备的时长。
可选的,所述方法在所述获取外接设备提供的第一时间戳,包括:
获取所述外接设备发送的HID报告;
识别接收到的所述HID报告是否为包含所述外接设备提供的第一时间戳的HID报告;
在包含的情况下,从所述HID报告中提取所述外接设备提供第一时间戳。
可选的,所述定期获取所述外接设备的当前时间,包括:
定期向所述外接设备发送获取所述外接设备的当前时间的请求,以获取所述外接设备的当前时间。
可选的,所述记录所述终端设备对应的当前时间,包括:
记录发送所述请求时所述终端设备的第一当前时间,以及记录获取到所述外接设备响应所述请求后反馈的所述外接设备的当前时间时所述终端设备的第二当前时间;
将所述第一当前时间和所述第二当前时间的平均值,作为所述终端设备对应的当前时间。
可选的,所述定期获取所述外接设备的当前时间,包括:
在获取到所述外接设备定期发送的短中断信号的情况下,从所述外接设备的设定寄存器中获取所述外接设备的当前时间。
可选的,所述外接设备为分体式头戴AR设备,或分体式头戴VR设备。
根据本发明的第二方面,提供了一种获取硬件垂直同步信号的装置,包括:
获取模块,用于获取外接设备提供的第一时间戳,以及所述外接设备的屏幕刷新率,其中,所述第一时间戳由所述外接设备根据自身显示屏的硬件垂直同步信号的发生时刻生成;
换算模块,用于将所述第一时间戳换算为终端设备的第二时间戳;
确定模块,用于根据所述第二时间戳和所述外接设备的屏幕刷新率,确定所述终端设备的硬件垂直同步信号的发生时刻。
根据本发明的第三方面,提供了一种终端设备,所述终端设备包括如第二方面所述的装置;
或者,包括处理器和存储器,其中:
所述存储器用于存储可执行的指令,所述指令用于控制所述处理器执行根据第一方面中任一项所述的方法。
根据本发明的第四方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机指令,当所述存储介质中的计算机指令由处理器执行时,实现如第一方面中任一项所述的方法。
在本实施例中,终端设备通过获取外接设备提供的根据自身显示屏的硬件垂直同步信号的发生时刻生成的第一时间戳;然后再将该第一时间戳转换为终端设备的第二时间戳;最后根据第二时间戳和外接设备的屏幕刷新率,确定终端设备的硬件垂直同步信号的发生时刻。这样,终端设备便可以获取到的第一时间戳对应的外接设备的硬件垂直同步信号的下一硬件垂直同步信号对应在终端设备上的发生时刻,并在该时刻生成一个硬件垂直同步信号。这样,终端设备便可获取到与外接设备的硬件垂直同步信号同步的硬件垂直同步信号。可以理解的是,该同步的硬件垂直同步信号与第一时间戳对应的外接设备的硬件垂直同步信号的下一硬件垂直同步信号是一致的,这样,便可实现终端设备对外接设备的垂直同步信号的复制。即终端设备可以得到外接设备的硬件垂直同步信号。因此,通过本发明提供的获取硬件垂直同步信号的方法,一方面,可以利用外接设备的硬件垂直同步信号采用双缓存模式进行图像渲染,这样便可以避免外接设备例如分体式头戴显示设备所显示的图像存在撕裂和/或拖影等问题。另一方面,无需对终端设备的应用系统进行修改,进而无需终端设备支持对其中的应用系统的修改的能力,从而提高了终端设备的兼容性。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是实现本发明实施例提供的获取硬件垂直同步信号方法的终端设备的硬件配置的框图;。
图2是本发明实施例提供的一种获取硬件垂直同步信号的方法的流程示意图;
图3是本发明实施例提供的一种外接设备向终端设备提供第一时间戳的过程的示意图;
图4是本发明实施例提供的一种获取硬件垂直同步信号的装置的结构示意图;
图5是本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<硬件配置的框图>
图1是示出可以实现本发明的实施例的终端设备1000的硬件配置的结构方框图。
终端设备1000可以是便携式电脑、台式计算机、手机、平板电脑等。
如图1所示,终端设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器CPU、微处理器MCU等。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,具体地可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。用户可以通过扬声器1700和麦克风1800输入/输出语音信息。
图1所示的终端设备仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。应用于本发明的实施例中,终端设备1000的所述存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本发明实施例提供的任意一项获取硬件垂直同步信号的方法。本领域技术人员应当理解,尽管在图1中对终端设备1000示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如终端设备1000可以只涉及处理器1100和存储装置1200。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
<方法实施例>
本实施例提供了一种获取硬件垂直同步信号的方法,该方法可以由终端设备实施,该终端设备可以是如图1所示的终端设备。
如图2所示,本实施例提供的获取硬件垂直同步信号的方法包括如下的S2100-S2300:
S2100、获取外接设备提供的第一时间戳,以及外接设备的屏幕刷新率。
其中,第一时间戳由外接设备根据自身显示屏的硬件垂直同步信号的发生时刻生成的。
在一个实施例中,外接设备可以为分体式头戴AR设备,或者分体式头戴VR设备,或者其他具备有显示屏的设备,例如混合显示设备。
在本实施例中,硬件垂直同步信号通常被称之为硬件Vsync信号或者TE信号。
在一个实施例中,外接设备生成第一时间戳的具体实现可以为:将外接设备的显示屏的硬件垂直同步信号的输出端连接在外接设备的MCU的中断管脚上。当外接设备的硬件垂直同步信号输出端输出高电平的硬件垂直同步信号后,外接设备的MCU便检测到中断信号,此时,MCU根据其中的高精度定时器获取外接设备的本地时间,并将该本地时间记作外接设备的硬件垂直同步信号的发生时刻,进一步的将其封装为一个时间戳,以作为第一时间戳。外接设备生成第一时间戳之后,外接设备需要将该第一时间戳发送至终端设备。基于此,外接设备向终端设备提供第一时间戳的过程可如图3所示。
针对于外接设备将第一时间发送至终端设备,在一个实施例中,外接设备和终端设备之间可以采用USB接口(例如,USB Type-C接口)连接,并使用HID协议进行数据传输的。因此,外接设备在将第一时间戳发送至终端设备时,需要将该第一时间戳打包为一个HID报告(也称之为HIDReport),再发送至终端设备。同时,由于外接设备通常还需向终端设备发送其他数据,例如外接设备的IMU数据,而该数据也是需要打包为一个HID报告发送给终端设备的。因此,为了准确的获取外接设备提供的第一时间戳,上述S2100可具体通过如下S2110-S2130来实现:
S2110、获取外接设备发送的HID报告。
S2120、识别接收到的HID报告是否为包含外接设备提供的第一时间戳的HID报告。
S2130、在包含的情况下,从HID报告中提取外接设备提供的第一时间戳。
在本实施例中,为了使得终端设备能够区分包含第一时间戳的HID报告和其他HID报告,外接设备可在包含第一时间戳的HID报告中增加特定的标识符,以标识该HID报告为一个包含第一时间戳的HID报告。终端设备在获取到外接设备发送的HID报告时,可对HID报告中是否包含特定的标识符进行判断,在包含的情况下,从HID报告中提取出第一时间戳。
对应于上述S2130,在不包含的情况,终端设备根据HID报告中的有效数据执行相应的操作。
在本实施例中,外接设备的屏幕刷新率可为外接设备直接发送给终端设备的,也可以为用户手动输入至终端设备的。另外,外接设备设备屏幕刷新率通常为60Hz,或者90Hz。
S2200、将第一时间戳换算为终端设备的第二时间戳。
在本实施例中,由于终端设备和外接设备是两个不同且独立的系统,这样,终端设备的本地时间和外接设备的本地时间并不是一致的,因此,在终端设备获取到外接设备的提供的第一时间戳之后,需要将第一时间戳换算为终端设备的本地时间戳,即第二时间戳。具体的,需要将第一时间戳换算为,在第一时间戳对应的时刻终端设备的本地时间。基于此,本实施例提供了如下三种具体换算方式:
第一种方式:获取终端设备的本地时间和外接设备的本地时间之间的时间偏移量,用该时间偏移量补偿第一时间戳以得到终端设备的第二时间戳。具体的:
在执行上述S2200之前,执行如下的S2210和S2220:
S2210、定期获取外接设备的当前时间,以及记录终端设备对应的当前时间。
在本实施例中,上述的定期获取可以为每隔500ms的获取,也可以为每隔1s的获取,对此,本实施例不做限定。
对于上述S2210中的定期获取外接设备的当前时间:
在一个实施例中,终端设备在定期获取外接设备的当前时间时,可通过定期的向外接设备发送获取外接设备当前时间的请求的方式,以获取外接设备的当前时间。基于此,在上述S2210中的定期获取外接设备的当前时间的步骤可具体为如下S2211:
S2211、定期向外接设备发送获取外接设备的当前时间的请求,以获取外接设备的当前时间。
在另一个实施例中,终端设备定期获取外接设备的当前时间的方式还可以为:外接设备定期向终端设备发送一个短中断信号,例如一个HDP短中断信号(低电平持续时间在0.5ms至1ms的中断信号)。与此同时,外接设备将当前的本地时间写入设定的寄存器(例如DPCD寄存器)中。在终端设备设备接收到外接设备发送的短中断信号后,终端设备通过AUX通道读取外接设备的设定的寄存器,可确定该短中断信号为一个同步信号(对应于短中断信号为HDP短中断,这里的同步信号可以为一个HDP同步信号),进而从DPCD寄存器中读取出外接设备的当前时间。基于此,在上述S2210中的定期获取外接设备的当前时间的步骤可具体为如下S2212:
S2212、在获取到外接设备定期发送的短中断信号的情况下,从外接设备的设定寄存器中获取外接设备的当前时间。
在本实施例中,设定寄存器可以为DPCD寄存器,且设定寄存器中存储有外接设备的当前时间。以及,外接设备可通过自身的DP芯片向终端设备发送短中断信号。
需要说明的是,也可以采用其他的方式来获取外接设备的当前时间。
对于上述S2210中的记录终端设备对应的当前时间:
在一个实施例中,可在终端设备向外接设备发送获取外接设备的当前时间的请求的时刻,记录终端设备的当前时间。需要说明的是,在该方式中,外接设备的当前时间和终端设备对应的当前时间虽然并非严格的为同一时刻的时间,但是两者之间的微小差距是可被接受的。
在另一个例子中,在终端设备向外接设备发送获取外接设备的当前时间的请求的时刻,记录终端设备的第一当前时间。然后,在终端获取到外接设备响应该请求后反馈的外接设备的当前时间的时刻,记录终端设备的第二当前时间。最后,将该第一当前时间和第二当前时间的平均值,作为终端设备对应的当前时间。基于此,上述S2210中的记录终端设备对应的当前时间可通过如下S2213和S2214来实现:
S2213、记录发送请求时终端设备的第一当前时间,以及记录获取到外接设备响应所述请求后反馈的外接设备的当前时间时终端设备的第二当前时间。
S2214、将第一当前时间和第二当前时间的平均值,作为终端设备对应的当前时间。
在本实施例,通过将第一当前时间和第二当前时间的平均值作为终端设备对应的当前时间,这样,可以确定出准确的终端设备对应的当前时间。
在另一个实施例中,上述S2210中的记录终端设备对应的当前时间还可以为:在接收到外接设备发送的短中断时,记录终端设备的本地时间。
需要说明的是,还可以通过其他方式,实现S2210中的记录终端设备对应的当前时间。
S2220、根据外接设备的当前时间和终端设备对应的当前时间,确定外接设备和终端设备之间的时间偏移量。
在本实施例中,外接设备的当前时间和终端设备对应的当前时间为可视为同一时刻对应的两个时间,因此,通过求取外接设备的当前时间和终端设备对应的当前时间之间的差值,便可以得到外接设备和终端设备之间的时间偏移量。
对应于上述S2210和S2220,上述S2200的具体实现可以为如下的S2230:
S2230、在第一时间戳的基础上,叠加最新确定出的时间偏移量,以将第一时间戳转换为第二时间戳。
在本实施例中,由于终端设备是定时的获取外接设备的当前时间,以及记录终端设备对应的当前时间,因此,终端设备可以定期得到自身与外接设备之间的时间偏移量,这样,可根据最新得到的时间偏移量,对第一时间戳进行准确的补偿。
第二种方式:通过计算第一时间戳和某一时刻外接设备的当前时间之间时间间隔,然后在前述的某一时刻终端设备的对应的当前时间的基础上,增加该时间间隔,以将第一时间戳转换为第二时间戳。基于此,上述S2200的具体实现可以为如下的S2241:
S2241、定期获取外接设备的当前时间,以及记录终端设备对应的当前时间。
在本实施例中,上述S2241的具体实现与上述S2210的具体实现相同,这里不再赘述。
对应的,上述S2200的具体实现可以为如下的S2242:
S2242、在第一时间戳的基础上,减去最新获取到的外接设备的当前时间之后,叠加最新记录的终端设备对应的当前时间,以将第一时间戳换算为终端设备的第二时间戳。
第三种方式:记录获取到外接设备提供的第一时间戳时终端设备的时间,在该时间的基础上,减去外接设备生成第一时间戳的时刻到传递至终端设备的时长,从而推算出第二时间戳。基于此,上述S2200的具体实现可以为如下的S2251和S2252:
S2251、记录获取到外接设备提供的第一时间戳时终端设备的时间。
S2252、在终端设备的时间的基础上,减去预设的延迟长,以将第一时间戳换算为第二时间戳;预设的延迟时长为外接设备生成第一时间戳的时刻到传递至终端设备的时长。
在本实施例中,上述预设的延迟时长可以为根据理论推导出,或者在理论推导的结果的基础上,进行实测以对理论推导结果进行微调。
S2300、根据第二时间戳和外接设备的屏幕刷新率,确定终端设备的硬件垂直同步信号的发生时刻。
在本实施例中,上述S2300的具体实现为:根据外接设备的屏幕刷新率确定出外接设备刷新一帧图像所用的刷新时间;在第二时间戳的基础上,叠加刷新该刷新时间,即可得到第一时间戳对应的外接设备的硬件垂直同步信号的下一硬件垂直同步信号对应在终端设备上的发生时刻。此时,终端设备在该发生时刻生成一个硬件垂直同步信号。这样,终端设备便可获取到与外接设备的硬件垂直同步信号同步的硬件垂直同步信号。可以理解的是,该同步的硬件垂直同步信号与第一时间戳对应的外接设备的硬件垂直同步信号的下一硬件垂直同步信号是一致的,这样,便可实现终端设备对外接设备的垂直同步信号的复制。
需要说明的是,在终端设备的当前时间,已经超出上述的下一硬件垂直同步信号对应在终端设备上的发生时刻时,可继续在上述的下一硬件垂直同步信号对应在终端设备上的发生时刻的基础上,叠加上述的刷新时间,直至终端设备的当前时间首次未超出外接设备的某一硬件垂直同步信号在终端设备上的发生时刻。
在本实施例中,终端设备通过获取外接设备提供的根据自身显示屏的硬件垂直同步信号的发生时刻生成的第一时间戳;然后再将该第一时间戳转换为终端设备的第二时间戳;最后根据第二时间戳和外接设备的屏幕刷新率,确定终端设备的硬件垂直同步信号的发生时刻。这样,终端设备便可以获取到的第一时间戳对应的外接设备的硬件垂直同步信号的下一硬件垂直同步信号对应在终端设备上的发生时刻,并在该时刻生成一个硬件垂直同步信号。这样,终端设备便可获取到与外接设备的硬件垂直同步信号同步的硬件垂直同步信号。可以理解的是,该同步的硬件垂直同步信号与第一时间戳对应的外接设备的硬件垂直同步信号的下一硬件垂直同步信号是一致的,这样,便可实现终端设备对外接设备的垂直同步信号的复制。即终端设备可以得到外接设备的硬件垂直同步信号。因此,通过本发明提供的获取硬件垂直同步信号的方法,一方面,可以利用外接设备的硬件垂直同步信号采用双缓存模式进行图像渲染,这样便可以避免外接设备例如分体式头戴显示设备所显示的图像存在撕裂和/或拖影等问题。另一方面,无需对终端设备的应用系统进行修改,进而无需终端设备支持对其中的应用系统的修改的能力,从而提高了终端设备的兼容性。
<装置实施例>
如图4所示,本实施例提供了一种获取硬件垂直同步信号的装置40,该装置40包括获取模块41、换算模块42以及确定模块43。其中:
获取模块41,用于获取外接设备提供的第一时间戳,以及所述外接设备的屏幕刷新率,其中,所述第一时间戳由所述外接设备根据自身显示屏的硬件垂直同步信号的发生时刻生成;
换算模块42,用于将所述第一时间戳换算为终端设备的第二时间戳;
确定模块43,用于根据所述第二时间戳和所述外接设备的屏幕刷新率,确定所述终端设备的硬件垂直同步信号的发生时刻。
在一个实施例中,获取模块41还用于定期获取所述外接设备的当前时间,以及记录所述终端设备对应的当前时间;
确定模块43还用于:根据所述外接设备的当前时间和所述终端设备对应的当前时间,确定所述外接设备和所述终端设备之间的时间偏移量;
换算模块42具体用于:在所述第一时间戳的基础上,叠加最新确定出的所述时间偏移量,以将所述第一时间戳换算为所述第二时间戳。
在一个实施例中,获取模块41还用于定期获取所述外接设备的当前时间,以及记录所述终端设备对应的当前时间;
换算模块42具体用于:在所述第一时间戳的基础上,减去最新获取到的所述外接设备的当前时间之后,叠加最新记录的所述终端设备对应的当前时间,以将所述第一时间戳换算为所述终端设备的第二时间戳。
在一个实施例中,换算模块42具体用于:记录获取到所述外接设备提供的第一时间戳时所述终端设备的时间;
在所述终端设备的时间的基础上,减去预设的延迟时长,以将所述第一时间戳换算为所述第二时间戳;所述预设的延迟时长为所述外接设备生成所述第一时间戳的时刻到传递至所述终端设备的时长。
在一个实施例中,获取模块41具体用于:获取所述外接设备发送的HID报告;
识别接收到的所述HID报告是否为包含所述外接设备提供的第一时间戳的HID报告;
在包含的情况下,从所述HID报告中提取所述外接设备提供第一时间戳。
在一个实施例中,获取模块41具体用于:定期向所述外接设备发送获取所述外接设备的当前时间的请求,以获取所述外接设备的当前时间。
在一个实施例中,获取模块41具体用于:记录发送所述请求时所述终端设备的第一当前时间,以及记录获取到所述外接设备响应所述请求后反馈的所述外接设备的当前时间时所述终端设备的第二当前时间;
将所述第一当前时间和所述第二当前时间的平均值,作为所述终端设备对应的当前时间。
在一个实施例中,获取模块41具体用于:在获取到所述外接设备定期发送的短中断信号的情况下,从所述外接设备的设定寄存器中获取所述外接设备的当前时间。
在一个实施例中,所述外接设备为分体式头戴AR设备,或分体式头戴VR设备。
需要说明的是,本发明装置实施例中各模块的具体实现方式可以参见本发明方法实施例的相关内容,在此不再赘述。
<设备实施例>
如图5所示,本实施例提供了一种终端设备50。该终端设备50包括如上述装置实施例中所示的获取硬件垂直同步信号的装置40。或者包括存储器51和处理器52。其中:
所述存储器51用于存储可执行的指令;
所述处理器52用于根据所述指令,控制处理器执行根据上述方法实施例中任一项所述的方法。
在一个实施例中,终端设备50可以为便携式电脑、台式计算机、手机、平板电脑等。
<存储介质实施例>
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现上述方法实施例中任一项所述的方法。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (10)
1.一种获取硬件垂直同步信号的方法,其特征在于,所述方法应用于终端设备,包括:
获取外接设备提供的第一时间戳,以及所述外接设备的屏幕刷新率,其中,所述第一时间戳由所述外接设备根据自身显示屏的硬件垂直同步信号的发生时刻生成;
将所述第一时间戳换算为终端设备的第二时间戳;
根据所述第二时间戳和所述外接设备的屏幕刷新率,确定所述终端设备的硬件垂直同步信号的发生时刻。
2.根据权利要求1所述的方法,其特征在于,所述方法在所述将所述第一时间戳换算为所述终端设备的第二时间戳之前,包括:
定期获取所述外接设备的当前时间,以及记录所述终端设备对应的当前时间;
根据所述外接设备的当前时间和所述终端设备对应的当前时间,确定所述外接设备和所述终端设备之间的时间偏移量;
所述将所述第一时间戳换算为所述终端设备的第二时间戳,包括:
在所述第一时间戳的基础上,叠加最新确定出的所述时间偏移量,以将所述第一时间戳换算为所述第二时间戳。
3.根据权利要求1所述的方法,其特征在于,所述方法在所述将所述第一时间戳换算为所述终端设备的第二时间戳之前,包括:
定期获取所述外接设备的当前时间,以及记录所述终端设备对应的当前时间;
所述将所述第一时间戳换算为所述终端设备的第二时间戳,包括:
在所述第一时间戳的基础上,减去最新获取到的所述外接设备的当前时间之后,叠加最新记录的所述终端设备对应的当前时间,以将所述第一时间戳换算为所述终端设备的第二时间戳。
4.根据权利要求1所述的方法,其特征在于,所述将所述第一时间戳换算为所述第二终端设备的时间戳,包括:
记录获取到所述外接设备提供的第一时间戳时所述终端设备的时间;
在所述终端设备的时间的基础上,减去预设的延迟时长,以将所述第一时间戳换算为所述第二时间戳;所述预设的延迟时长为所述外接设备生成所述第一时间戳的时刻到传递至所述终端设备的时长。
5.根据权利要求2或3所述的方法,其特征在于,所述定期获取所述外接设备的当前时间,包括:
定期向所述外接设备发送获取所述外接设备的当前时间的请求,以获取所述外接设备的当前时间。
6.根据权利要求5所述的方法,其特征在于,所述记录所述终端设备对应的当前时间,包括:
记录发送所述请求时所述终端设备的第一当前时间,以及记录获取到所述外接设备响应所述请求后反馈的所述外接设备的当前时间时所述终端设备的第二当前时间;
将所述第一当前时间和所述第二当前时间的平均值,作为所述终端设备对应的当前时间。
7.根据权利要求2或3所述的方法,其特征在于,所述定期获取所述外接设备的当前时间,包括:
在获取到所述外接设备定期发送的短中断信号的情况下,从所述外接设备的设定寄存器中获取所述外接设备的当前时间。
8.一种获取硬件垂直同步信号的装置,其特征在于,包括:
获取模块,用于获取外接设备提供的第一时间戳,以及所述外接设备的屏幕刷新率,其中,所述第一时间戳由所述外接设备根据自身显示屏的硬件垂直同步信号的发生时刻生成;
换算模块,用于将所述第一时间戳换算为终端设备的第二时间戳;
确定模块,用于根据所述第二时间戳和所述外接设备的屏幕刷新率,确定所述终端设备的硬件垂直同步信号的发生时刻。
9.一种终端设备,其特征在于,所述终端设备包括如权利要求8所述的装置;
或者,包括处理器和存储器,其中:
所述存储器用于存储可执行的指令,所述指令用于控制所述处理器执行根据权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机指令,当所述存储介质中的计算机指令由处理器执行时,实现如权利要求1-7中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911348645.3A CN111190560B (zh) | 2019-12-24 | 2019-12-24 | 获取硬件垂直同步信号的方法、装置、设备及存储介质 |
PCT/CN2020/133416 WO2021129334A1 (zh) | 2019-12-24 | 2020-12-02 | 获取硬件垂直同步信号的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911348645.3A CN111190560B (zh) | 2019-12-24 | 2019-12-24 | 获取硬件垂直同步信号的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111190560A true CN111190560A (zh) | 2020-05-22 |
CN111190560B CN111190560B (zh) | 2022-09-06 |
Family
ID=70705825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911348645.3A Active CN111190560B (zh) | 2019-12-24 | 2019-12-24 | 获取硬件垂直同步信号的方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111190560B (zh) |
WO (1) | WO2021129334A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506272A (zh) * | 2020-11-24 | 2021-03-16 | 歌尔光学科技有限公司 | 分体式头戴设备的数据处理方法、装置及设备 |
WO2021129334A1 (zh) * | 2019-12-24 | 2021-07-01 | 青岛小鸟看看科技有限公司 | 获取硬件垂直同步信号的方法、装置、设备及存储介质 |
WO2023103307A1 (zh) * | 2021-12-06 | 2023-06-15 | 苏州浪潮智能科技有限公司 | 一种服务器时序检测方法、装置及系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113741842B (zh) * | 2021-08-26 | 2023-05-12 | 腾讯科技(深圳)有限公司 | 屏幕刷新延迟的确定方法和装置、存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106768361A (zh) * | 2016-12-19 | 2017-05-31 | 北京小鸟看看科技有限公司 | 与vr头戴设备配套的手柄的位置追踪方法和系统 |
CN108241211A (zh) * | 2016-12-26 | 2018-07-03 | 成都理想境界科技有限公司 | 一种头戴显示设备及图像渲染方法 |
CN108616752A (zh) * | 2018-04-25 | 2018-10-02 | 北京赛博恩福科技有限公司 | 支持增强现实交互的头戴设备及控制方法 |
WO2019152121A1 (en) * | 2018-02-02 | 2019-08-08 | Sony Interactive Entertainment Inc. | Head-mounted display to controller clock synchronization over em field |
CN110475137A (zh) * | 2019-09-06 | 2019-11-19 | 北京市博汇科技股份有限公司 | 一种高精度分布式显控帧同步方法和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296566B (zh) * | 2016-08-12 | 2019-05-17 | 南京睿悦信息技术有限公司 | 一种虚拟现实移动端动态时间帧补偿渲染系统及方法 |
CN108829627B (zh) * | 2018-05-30 | 2020-11-20 | 青岛小鸟看看科技有限公司 | 虚拟现实设备间的同步控制方法及系统 |
CN111190560B (zh) * | 2019-12-24 | 2022-09-06 | 青岛小鸟看看科技有限公司 | 获取硬件垂直同步信号的方法、装置、设备及存储介质 |
-
2019
- 2019-12-24 CN CN201911348645.3A patent/CN111190560B/zh active Active
-
2020
- 2020-12-02 WO PCT/CN2020/133416 patent/WO2021129334A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106768361A (zh) * | 2016-12-19 | 2017-05-31 | 北京小鸟看看科技有限公司 | 与vr头戴设备配套的手柄的位置追踪方法和系统 |
CN108241211A (zh) * | 2016-12-26 | 2018-07-03 | 成都理想境界科技有限公司 | 一种头戴显示设备及图像渲染方法 |
WO2019152121A1 (en) * | 2018-02-02 | 2019-08-08 | Sony Interactive Entertainment Inc. | Head-mounted display to controller clock synchronization over em field |
CN108616752A (zh) * | 2018-04-25 | 2018-10-02 | 北京赛博恩福科技有限公司 | 支持增强现实交互的头戴设备及控制方法 |
CN110475137A (zh) * | 2019-09-06 | 2019-11-19 | 北京市博汇科技股份有限公司 | 一种高精度分布式显控帧同步方法和系统 |
Non-Patent Citations (2)
Title |
---|
于宏毅、李鸥、张效义: "《无线传感器网络理论、技术与实现》", 30 September 2008 * |
娄岩: "《医学虚拟现实与增强现实》", 30 October 2019 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021129334A1 (zh) * | 2019-12-24 | 2021-07-01 | 青岛小鸟看看科技有限公司 | 获取硬件垂直同步信号的方法、装置、设备及存储介质 |
CN112506272A (zh) * | 2020-11-24 | 2021-03-16 | 歌尔光学科技有限公司 | 分体式头戴设备的数据处理方法、装置及设备 |
WO2023103307A1 (zh) * | 2021-12-06 | 2023-06-15 | 苏州浪潮智能科技有限公司 | 一种服务器时序检测方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2021129334A1 (zh) | 2021-07-01 |
CN111190560B (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111190560B (zh) | 获取硬件垂直同步信号的方法、装置、设备及存储介质 | |
RU2524865C2 (ru) | Управляющее устройство для изменения изображений на дисплее смартфона | |
CN108228358B (zh) | 修正垂直同步信号的方法、装置、移动终端以及存储介质 | |
KR20150022532A (ko) | 컨텐츠 재생 방법 및 그에 따른 단말, 그에 따른 시스템 | |
US20170010849A1 (en) | Control method and apparatus thereof | |
US10685642B2 (en) | Information processing method | |
KR20170046989A (ko) | 다중 디스플레이 시스템을 구성하는 디스플레이 장치 및 그 제어 방법 | |
CN111381790A (zh) | 操控方法、装置、系统、电子白板及移动端 | |
WO2019033935A1 (zh) | 界面消息显示及处理方法、装置及电子设备 | |
EP3174045A1 (en) | Image display system, image display method, and display device | |
US20160078664A1 (en) | Image synthesizing apparatus and method | |
JP2016062230A (ja) | 情報処理装置、情報処理方法およびプログラム | |
CN104112417A (zh) | 一种投影方法及系统 | |
JP2014153548A (ja) | 画像投影装置、更新方法及びプログラム | |
KR20180020418A (ko) | 디스플레이 장치 및 그 컨텐츠 디스플레이 방법 | |
US20200007306A1 (en) | Virtual reality viewing system, reproduction synchronizing method, and virtual reality viewing program | |
KR20140098552A (ko) | 포인터 표시 제어 방법 및 포인터 표시 방법과 그 방법이 적용되는 장치 | |
US20150244800A1 (en) | Display apparatus that displays a screen synchronized with a screen of another apparatus | |
CN112506272A (zh) | 分体式头戴设备的数据处理方法、装置及设备 | |
CN113099212A (zh) | 3d显示方法、装置、计算机设备和存储介质 | |
US20140132712A1 (en) | Three-dimension image format converter and three-dimension image format conversion method thereof | |
US20150006667A1 (en) | Dynamic data compression system | |
US11688031B2 (en) | Resynchronization of a display system and GPU after panel self refresh | |
JP2012034139A (ja) | 通信装置 | |
KR20180094367A (ko) | 대체 광고를 재생하는 디스플레이 장치 및 그 디스플레이 장치의 제어 방법 |
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 |