CN106095366B - 一种缩短图像延迟的方法、装置和虚拟现实设备 - Google Patents

一种缩短图像延迟的方法、装置和虚拟现实设备 Download PDF

Info

Publication number
CN106095366B
CN106095366B CN201610403732.4A CN201610403732A CN106095366B CN 106095366 B CN106095366 B CN 106095366B CN 201610403732 A CN201610403732 A CN 201610403732A CN 106095366 B CN106095366 B CN 106095366B
Authority
CN
China
Prior art keywords
frame image
buffer zone
content
predetermined row
image
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
Application number
CN201610403732.4A
Other languages
English (en)
Other versions
CN106095366A (zh
Inventor
李立纲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Pico Technology Co Ltd
Original Assignee
Beijing Pico Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Pico Technology Co Ltd filed Critical Beijing Pico Technology Co Ltd
Priority to CN201610403732.4A priority Critical patent/CN106095366B/zh
Priority to US15/253,625 priority patent/US9953621B2/en
Publication of CN106095366A publication Critical patent/CN106095366A/zh
Application granted granted Critical
Publication of CN106095366B publication Critical patent/CN106095366B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/04Partial updating of the display screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0252Improving the response speed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/18Use of a frame buffer in a display terminal, inclusive of the display panel

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)

Abstract

本发明公开一种缩短图像延迟的方法、装置以及虚拟现实设备,该方法包括:将当前帧图像按照从上到下的顺序从系统的帧缓冲区刷新到显示屏幕上,并当当前帧图像刷新到预定行时,通知应用绘制下一帧图像;在刷新当前帧图像的剩余行内容时,将该应用绘制的下一帧图像的前预定行内容更新到系统的帧缓冲区中,替换当前帧图像已经显示的预定行内容;当收到下一帧图像的帧同步信号后开始刷新下一帧图像的前预定行内容时,将该应用绘制的下一帧图像的剩余行内容更新到帧缓冲区中,替换当前帧图像已经显示的剩余行内容。本发明的技术方案不改变系统原有帧缓冲区的大小,通过控制将应用绘制的图像更新到帧缓冲区的时机,来缩短图像延迟,优化了用户体验。

Description

一种缩短图像延迟的方法、装置和虚拟现实设备
技术领域
本发明涉及虚拟现实技术领域,具体涉及一种缩短图像延迟的方法、装置和虚拟现实设备。
背景技术
近年来,随着虚拟现实(Virtual Reality,简称VR)技术的逐步成熟,各种虚拟现实设备陆续出现。因为Android开源的特性以及完善的生态系统,很多虚拟现实设备都基于Android系统开发而成。
现有Android应用的显示过程一般包含两个部分:应用侧绘制和系统侧渲染。例如,Android应用调用SurfaceFlinger服务把经过测量、布局和绘制后的Surface渲染到显示屏幕上。一般在绘制图像的时候,都会采用一种称为“双缓冲”的技术。双缓冲意味着要使用两个缓冲区(SharedBufferStack),其中一个称为FrontBuffer,另外一个称为BackBuffer。显示端Display处理FrontBuffer,CPU(Central Processing Unit,中央处理器)和GPU(Graphics Processing Unit,图形处理器)处理BackBuffer。基于显示刷新机制,图像总是先在BackBuffer中绘制,然后再和FrontBuffer交换,渲染到显示屏幕上。
在虚拟现实系统中,有一个非常关键的指标就是运动到显示的延迟,例如,从用户头部位置发生变化,到应用根据这个变化绘制出相应的图像并最终在显示屏上显示出来所需要的时间。为了得到较佳的用户体验,这个时间必须非常小,让用户完全感觉不到是最好的。如果延迟太大的话,会让用户感觉图像抖动以及出现眩晕感,用户体验很差。但是,因为Android系统并非为虚拟现实设备而设计,所以Android现有的图像显示导致了虚拟现实设备的图像从渲染到显示会出现比较大的延迟,用户体验不佳。
发明内容
本发明提供了一种缩短图像延迟的方法、装置和虚拟现实设备,以解决采用Android的图像显示导致虚拟现实设备的图像从渲染到显示会出现比较大的延迟,用户体验不佳。
根据本发明的一个方面,提供了一种缩短图像延迟的方法,该方法包括:
将当前帧图像按照从上到下的顺序从系统的帧缓冲区刷新到显示屏幕上,并当当前帧图像刷新到预定行时,通知应用绘制下一帧图像;
在刷新当前帧图像的剩余行内容时,将该应用绘制的下一帧图像的前预定行内容更新到系统的帧缓冲区中,替换当前帧图像已经显示的预定行内容;
当收到下一帧图像的帧同步信号后开始刷新下一帧图像的前预定行内容时,将该应用绘制的下一帧图像的剩余行内容更新到帧缓冲区中,替换当前帧图像已经显示的剩余行内容。
可选地,预定行可根据下一帧图像的帧同步信号的到达时间,应用绘制图像的时间,以及更新所需的时间进行调整。
可选地,将该应用绘制的下一帧图像的前预定行内容更新到系统的帧缓冲区中包括:
将应用绘制的下一帧图像的前预定行内容从临时缓冲区中更新到系统的帧缓冲区中,或者,将应用在系统的帧缓冲区中绘制下一帧图像的前预定行内容直接更新。
可选地,将应用绘制的下一帧图像的前预定行内容从临时缓冲区中更新到系统的帧缓冲区中包括:
将应用绘制的下一帧图像的前预定行内容从临时缓冲区中一次性更新到系统的帧缓冲区中;或者,按从上到下的顺序将下一帧图像的前预定行内容分多次更新到系统的帧缓冲区中。
可选地,将应用在系统的帧缓冲区中绘制下一帧图像的前预定行内容直接更新包括:
对应用每次采用同一帧图像的参数和数据绘制的预定行内容,利用裁剪函数进行裁剪,保留每次新绘制的内容更新到系统帧缓冲区中。
根据本发明的另一个方面,提供了一种缩短图像延迟的装置,该装置包括:
刷新单元,用于将当前帧图像按照从上到下的顺序从系统的帧缓冲区刷新到显示屏幕上,并当当前帧图像刷新到预定行时,通知帧图像绘制单元绘制下一帧图像;
帧图像绘制单元,用于根据刷新单元的通知绘制下一帧图像;
帧图像更新单元,用于在刷新单元刷新当前帧图像的剩余行内容时,将帧图像绘制单元绘制的下一帧图像的前预定行内容更新到系统的帧缓冲区中,替换当前帧图像已经显示的预定行内容;并当刷新单元收到下一帧图像的帧同步信号后开始刷新下一帧图像的前预定行内容时,将帧图像绘制单元绘制的下一帧图像的剩余行内容更新到帧缓冲区中,替换当前帧图像已经显示的剩余行内容。
可选地,刷新单元,具体用于根据下一帧图像的帧同步信号的到达时间,应用绘制图像的时间,以及更新所需的时间调整预定行。
可选地,帧图像更新单元包括:第一更新子单元和第二更新子单元,
第一更新子单元,用于将帧图像绘制单元绘制的下一帧图像的前预定行内容从临时缓冲区中更新到系统的帧缓冲区中;
第一更新子单元,具体用于将帧图像绘制单元绘制的下一帧图像的前预定行内容从临时缓冲区中一次性更新到系统的帧缓冲区中,或者,按从上到下的顺序将下一帧图像的前预定行内容分多次更新到系统的帧缓冲区中。
可选地,第二更新子单元,用于将帧图像绘制单元在系统的帧缓冲区中绘制下一帧图像的前预定行内容直接更新;
第二更新子单元,具体用于对帧图像绘制单元在绘制下一阵图像时,将绘制目标设定为系统帧缓冲区且每次采用同一帧图像的参数和数据绘制的预定行内容,利用裁剪函数进行裁剪,保留每次新绘制的内容直接更新到系统帧缓冲区中。
根据本发明的又一个方面,提供了一种虚拟现实设备,该虚拟现实设备包括:如本发明另一个方面缩短图像延迟的装置。
本发明的有益效果是:本发明的这种缩短图像延迟的方法和装置,首先,只需要使用一个前端帧缓冲区(即Frontbuffer)进行缓存,并且无需修改该帧缓冲区的大小,然后将这个帧缓冲区中的当前帧图像按照从上到下的顺序刷新到显示屏幕上,由于当前帧图像的部分内容已经刷新到了显示屏幕上完成了显示,所以之前被当前帧图像的部分内容占用的帧缓冲区空间就可以用下一帧图像的部分内容来替换,从而无需等待当前帧图像刷新完毕即可将下一帧图像的内容更新到帧缓冲区中,缩短了图像从绘制到显示的处理时间,缩短了图像延迟,优化了用户体验。
其次,本发明的这种分段更新帧缓冲区是根据帧同步信号来实现的。即每次在当前帧的帧同步信号剩余时间内,将下一帧图像的前一部分内容更新到帧缓冲区中,由于,显示驱动是根据帧同步信号开始读取下一帧的,所以这时显示驱动不会从帧缓冲区的第一行开始读取下一帧,而是继续读取当前帧的剩余行内容。当收到下一帧图像的帧同步信号后,显示驱动才开始读取下一帧的第一行内容,此时再将下一帧的剩余内容更新到系统的帧缓冲区中。如此,也避免了使用一个帧缓冲区进行图像刷新时可能出现的画面撕裂问题,拓宽了虚拟现实设备的应用范围。
另外,本发明还提供了一种虚拟现实设备,由于该虚拟现实设备包括了本发明的这种缩短图像延迟的装置,这样,虚拟现实设备中的应用可以根据用户的运动(如头部运动)绘制出相应的图像并实时快速的显示到显示屏幕上,从而提供较佳的用户体验,提高了产品的竞争力。
附图说明
图1是本发明一个实施例的一种缩短图像延迟的方法的流程图;
图2是本发明一个实施例的一种缩短图像延迟的装置的结构框图;
图3是本发明一个实施例的一种虚拟现实设备的结构框图。
具体实施方式
缩短图像延迟的一种现有技术是:基于手机屏幕在使用VR应用时会横向放置,屏幕的刷新顺序为从左到右的特点,提出使用一个Frontbuffer进行渲染。当屏幕左侧(对应左眼显示内容)正在刷新时,更新屏幕右侧图像(对应右眼显示内容)对应的buffer缓存数据,当屏幕右侧正在刷新时,则更新屏幕左侧图像对应的buffer数据,从而绕过系统软件方式的显示合成机制,缩短延迟。但是,这种技术仅适用于按照左右方向进行刷新的屏幕,而现在大多数虚拟现实设备使用的显示屏幕都是按照从上到下的顺序进行刷新的,无法使用这种现有技术进行渲染。并且,这种现有技术显示刷新时还容易发生图像撕裂问题,图像撕裂是指显示图像由当前帧和前面帧两部分组合而成的现象。
本发明的设计构思是:针对现有的Android显示机制存在图像从绘制到显示的延迟导致虚拟现实设备用户体验不佳的问题,本发明直接使用Frontbuffer进行渲染来绕过系统的显示合成机制,省略了缓冲区之间切换的时间以及SurfaceFlinger服务占用的处理时间,从而缩短了延迟。另外,针对现有技术显示刷新时还容易发生图像撕裂问题,本发明的技术方案提出根据帧同步信号分段更新帧缓冲区。这样既缩短了图像延迟,改善了用户体验,又使得虚拟现实设备可以采用按照从上到下进行刷新的显示屏幕并且不会出现图像撕裂,提高了产品的竞争力。
实施例一
图1是本发明一个实施例的一种缩短图像延迟的方法的流程图,参见图1,该缩短图像延迟的方法包括步骤如下:
步骤S11,将当前帧图像按照从上到下的顺序从系统的帧缓冲区刷新到显示屏幕上,并当当前帧图像刷新到预定行时,通知应用绘制下一帧图像;
步骤S12,在刷新当前帧图像的剩余行内容时,将该应用绘制的下一帧图像的前预定行内容更新到系统的帧缓冲区中,替换当前帧图像已经显示的预定行内容;
步骤S13,当收到下一帧图像的帧同步信号后开始刷新下一帧图像的前预定行内容时,将该应用绘制的下一帧图像的剩余行内容更新到帧缓冲区中,替换当前帧图像已经显示的剩余行内容。
由图1所示的缩短图像延迟的方法可知,本实施例中不需要对系统现有前端帧缓冲区(即Frontbuffer)的大小进行修改,这样就无需修改显示驱动的输出方式,可直接使用在任何提供了Frontbuffer的系统上,具有更好的适应性。另外,本实施例的方法利用帧同步信号在显示驱动从上到下刷新当前帧的同时(即先更新前预定行的内容,后更新剩余行内容)将下一帧图像分段更新到Frontbuffer中。这样,一方面,避开了现有技术的SurfaceFlinger软件合成机制,节约了SurfaceFlinger服务占用的处理时间。并且无需等待当前帧刷新完毕,即可将下一帧图像更新到Frontbuffer中,也节约了下一帧图像的等待时间,从而大大缩短了延迟,优化了用户体验。另一方面,由于在一个帧缓冲区缓存时利用了帧同步信号进行控制,从而也不会出现图像撕裂问题,使Android系统与虚拟现实设备更兼容。
实施例二
本实施例中是重点对缩短图像延迟的方法的实现过程进行的说明,其他内容参见本发明的其他实施例。该缩短图像延迟的方法的一种具体实现方式如下:
步骤1)当前帧输出到二分之一时,APP(Application,应用)通过渲染或者时间扭曲Timewarp等方式生成下一帧要显示的图像,并将图像存储到一个临时缓冲区中;
步骤2)在下一帧的VSync帧同步信号前,将下一帧图像的上半部分内容更新到Frontbuffer中;
步骤3)在下一帧的VSync帧同步信号后,系统开始输出下一帧的上半部分,此时再将下一帧的下半部分图像内容更新到Frontbuffer中。
需要说明的是,步骤1)中当前帧输出到二分之一只是示意性的举例,实际应用时应根据设置的预定行进行控制,而预定行则可以根据下一帧图像的帧同步信号的到达时间,应用绘制图像的时间,以及更新所需的时间进行调整,不限定于本实施例中所描述的当前帧图像的一半。例如,一帧图像可分为十行,那么预定行既可以设定为第五行,又可以设定为第七行。对此不做限制。也就是说,开始生成下一帧图像的时间点可以根据实际情况进行调整,以尽可能接近下一次VSync帧同步信号的时间点为优,但需保证还有足够时间绘制并更新到Frontbuffer中。
这里,步骤2)的,将下一帧图像的上半部分内容更新到Frontbuffer中也可以有两种实现方式:一种方式是,从临时缓冲区中将应用绘制完成并保存的下一帧图像的前预定行内容一次性更新到系统的帧缓冲区中。另一种实现方式是,按从上到下的顺序将下一帧图像的前预定行内容分多次更新到系统的帧缓冲区中。也就是说,更新不一定是一次性更新,可以分成更多段,从上到下按序更新,以减少每一次更新所花费的时间。
举例而言,一帧图像分为十行,预定行为第五行,那么,步骤2中可以一次性将前5行内容更新到帧缓冲区中。或者,将前5行内容中的前3行内容一起更新到帧缓冲区中,然后将前5行内容中的后两行内容一起更新到帧缓冲区中。
需要说明的是,本实施例中说明了在更新前预定行的内容时可以分成多段来更新。但是,本领域的技术人员能够理解,在更新剩余行的内容时同样可以分成多段来更新,不限定于将剩余行内容一次性更新到系统帧缓冲区中。
另外,步骤1)示意性的说明了App将绘制完成的下一帧图像保存到了一个临时缓冲区中。但需要说明的是,实际应用过程中,也可以不使用临时缓冲区,而是将下一帧图像直接更新到系统帧缓冲区中,这种直接更新到系统帧缓冲区方式,实现方式是应用在绘制下一帧图像的时候,将绘制目标设定为系统帧缓冲区,而不设为临时缓存区,然后采用图像裁剪(比如opengl的glScissor)对新绘制的图像进行裁剪,从而每次仅更新一半(或其他预定大小)区域。实现逻辑和先绘制到临时缓冲区再从临时缓冲区更新到帧缓冲区是一样的,通过裁剪函数可以控制每次更新的大小,例如,对应用每次采用同一帧图像的参数和数据绘制的预定行内容,利用裁剪函数进行裁剪,保留每次新绘制的内容更新到系统帧缓冲区中。也就是说,不一定缓存App生成的图像,而是每次采用同样的参数和数据来生成新图像,通过glscissor等方式来控制每次只更新Frontbuffer的一部分。
以上可知,通过本实施例的这种缩短图像延迟的方法,可以减少图像从渲染到显示的延迟时间,从而使得虚拟现实设备能够提供更好的用户体验。
实施例三
图2是本发明一个实施例的一种缩短图像延迟的装置的结构框图,该缩短图像延迟的装置20包括:
刷新单元201,用于将当前帧图像按照从上到下的顺序从系统的帧缓冲区刷新到显示屏幕上,并当当前帧图像刷新到预定行时,通知帧图像绘制单元202绘制下一帧图像;
帧图像绘制单元202,用于根据刷新单元201的通知绘制下一帧图像;
帧图像更新单元203,用于在刷新单元201刷新当前帧图像的剩余行内容时,将帧图像绘制单元202绘制的下一帧图像的前预定行内容更新到系统的帧缓冲区中,替换当前帧图像已经显示的预定行内容;并当刷新单元201收到下一帧图像的帧同步信号后开始刷新下一帧图像的前预定行内容时,将帧图像绘制单元202绘制的下一帧图像的剩余行内容更新到帧缓冲区中,替换当前帧图像已经显示的剩余行内容。
本实施例中,刷新单元201,具体用于根据下一帧图像的帧同步信号的到达时间,应用绘制图像的时间,以及更新所需的时间调整预定行。
本实施例中,帧图像更新单元203包括:第一更新子单元和第二更新子单元,
第一更新子单元,用于将帧图像绘制单元绘制的下一帧图像的前预定行内容从临时缓冲区中更新到系统的帧缓冲区中;
第一更新子单元,具体用于将帧图像绘制单元绘制的下一帧图像的前预定行内容从临时缓冲区中一次性更新到系统的帧缓冲区中,或者,按从上到下的顺序将下一帧图像的前预定行内容分多次更新到系统的帧缓冲区中。
本实施例中,第二更新子单元,用于将帧图像绘制单元在系统的帧缓冲区中绘制下一帧图像的前预定行内容直接更新;第二更新子单元,具体用于对帧图像绘制单元在绘制下一阵图像时,将绘制目标设定为系统帧缓冲区且每次采用同一帧图像的参数和数据绘制的预定行内容,利用裁剪函数进行裁剪,保留每次新绘制的内容直接更新到系统帧缓冲区中。
需要说明的是,本实施例中的缩短图像延迟的装置的工作过程是与前述缩短图像延迟的方法的实现步骤相对应的,因而本实施例中对缩短图像延迟的装置的工作过程没有描述的部分可以参见本发明前述实施例的相关说明,这里不再赘述。
实施例四
图3是本发明一个实施例的一种虚拟现实设备的结构框图,参见图3,该虚拟现实设备30包括:如本发明另一个方面缩短图像延迟的装置301。该缩短图像延迟的装置301的实现原理和工作过程可以参见前述实施例三中对缩短图像延迟的装置20的详细说明。
综上所述,本发明的这种缩短图像延迟的方法和装置,首先,只需要使用一个前端帧缓冲区(即Frontbuffer)进行缓存,并且无需修改该帧缓冲区的大小,然后,将这个帧缓冲区中的当前帧图像按照从上到下的顺序刷新到显示屏幕上,由于当前帧图像的部分内容已经刷新到了显示屏幕上完成了显示所以之前被当前帧图像的部分内容占用的帧缓冲区空间就可以用下一帧图像的部分内容来替换,从而无需等待当前帧图像刷新完毕即可将下一帧图像的内容更新到帧缓冲区中,缩短了图像从绘制到显示的处理时间,缩短了图像延迟,优化了用户体验。
其次,本发明的这种分段更新帧缓冲区是根据帧同步信号来实现的。即每次在当前帧的帧同步信号剩余时间内,将下一帧图像的前一部分内容更新到帧缓冲区中,由于,显示驱动是根据帧同步信号开始读取下一帧的,所以这时显示驱动不会从帧缓冲区的第一行开始读取下一帧,而是继续读取当前帧的剩余行。当收到下一帧图像的帧同步信号后,显示驱动开始读取下一帧的第一行内容,此时再将下一帧的剩余内容更新到系统的帧缓冲区中。如此,也避免了使用一个帧缓冲区进行图像刷新时可能出现的画面撕裂问题,拓宽了虚拟现实设备的应用范围。
另外,本发明实施例还提供了一种虚拟现实设备,由于该虚拟现实设备包括了本发明的这种缩短图像延迟的装置,这样虚拟现实设备中的应用,可以根据用户的运动(如头部运动)绘制出相应的图像并实时快速的显示到显示屏幕上,从而提供较佳的用户体验,提高了产品的竞争力。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种缩短图像延迟的方法,其特征在于,该方法包括:
将当前帧图像按照从上到下的顺序从系统的帧缓冲区刷新到显示屏幕上,并当当前帧图像刷新到预定行时,通知应用绘制下一帧图像;
在刷新当前帧图像的剩余行内容时,将该应用绘制的下一帧图像的前预定行内容更新到系统的帧缓冲区中,替换当前帧图像已经显示的预定行内容;
当收到下一帧图像的帧同步信号后开始刷新下一帧图像的前预定行内容时,将该应用绘制的下一帧图像的剩余行内容更新到所述帧缓冲区中,替换当前帧图像已经显示的剩余行内容。
2.根据权利要求1所述的方法,其特征在于,所述预定行可根据下一帧图像的帧同步信号的到达时间,应用绘制图像的时间,以及更新所需的时间进行调整。
3.根据权利要求1或2所述的方法,其特征在于,所述将该应用绘制的下一帧图像的前预定行内容更新到系统的帧缓冲区中包括:
将所述应用绘制的下一帧图像的前预定行内容从临时缓冲区中更新到系统的帧缓冲区中,或者,将所述应用待绘制的下一帧图像的前预定行内容直接更新在系统的帧缓冲区中。
4.根据权利要求3所述的方法,其特征在于,所述将所述应用绘制的下一帧图像的前预定行内容从临时缓冲区中更新到系统的帧缓冲区中包括:
将所述应用绘制的下一帧图像的前预定行内容从临时缓冲区中一次性更新到系统的帧缓冲区中;或者,按从上到下的顺序将下一帧图像的前预定行内容分多次更新到系统的帧缓冲区中。
5.根据权利要求3所述的方法,其特征在于,所述将所述应用待绘制的下一帧图像的前预定行内容直接更新在系统的帧缓冲区中包括:
所述应用在绘制下一帧图像时,将绘制目标设定为系统帧缓冲区,对每次采用同一帧图像的参数和数据绘制的预定行内容,利用裁剪函数进行裁剪后,得到每次新绘制的内容更新到系统帧缓冲区中。
6.一种缩短图像延迟的装置,其特征在于,该装置包括:
刷新单元,用于将当前帧图像按照从上到下的顺序从系统的帧缓冲区刷新到显示屏幕上,并当当前帧图像刷新到预定行时,通知帧图像绘制单元绘制下一帧图像;
所述帧图像绘制单元,用于根据刷新单元的通知绘制下一帧图像;
帧图像更新单元,用于在所述刷新单元刷新当前帧图像的剩余行内容时,将所述帧图像绘制单元绘制的下一帧图像的前预定行内容更新到系统的帧缓冲区中,替换当前帧图像已经显示的预定行内容;并当所述刷新单元收到下一帧图像的帧同步信号后开始刷新下一帧图像的前预定行内容时,将所述帧图像绘制单元绘制的下一帧图像的剩余行内容更新到所述帧缓冲区中,替换当前帧图像已经显示的剩余行内容。
7.根据权利要求6所述的装置,其特征在于,所述刷新单元,具体用于根据下一帧图像的帧同步信号的到达时间,应用绘制图像的时间,以及更新所需的时间调整所述预定行。
8.根据权利要求6所述的装置,其特征在于,所述帧图像更新单元包括:第一更新子单元和第二更新子单元,
所述第一更新子单元,用于将所述帧图像绘制单元绘制的下一帧图像的前预定行内容从临时缓冲区中更新到系统的帧缓冲区中;
所述第一更新子单元,具体用于将所述帧图像绘制单元绘制的下一帧图像的前预定行内容从临时缓冲区中一次性更新到系统的帧缓冲区中,或者,按从上到下的顺序将下一帧图像的前预定行内容分多次更新到系统的帧缓冲区中。
9.根据权利要求8所述的装置,其特征在于,
所述第二更新子单元,用于将所述帧图像绘制单元待绘制的下一帧图像的前预定行内容直接更新在系统的帧缓冲区中;
所述第二更新子单元,具体用于对所述帧图像绘制单元在绘制下一帧图像时,将绘制目标设定为系统帧缓冲区,对每次采用同一帧图像的参数和数据绘制的预定行内容,利用裁剪函数进行裁剪后,得到每次新绘制的内容直接更新到系统帧缓冲区中。
10.一种虚拟现实设备,其特征在于,该虚拟现实设备包括:权利要求6-9中任一项所述缩短图像延迟的装置。
CN201610403732.4A 2016-06-07 2016-06-07 一种缩短图像延迟的方法、装置和虚拟现实设备 Active CN106095366B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610403732.4A CN106095366B (zh) 2016-06-07 2016-06-07 一种缩短图像延迟的方法、装置和虚拟现实设备
US15/253,625 US9953621B2 (en) 2016-06-07 2016-08-31 Method and apparatus for shortening image delay, and virtual reality apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610403732.4A CN106095366B (zh) 2016-06-07 2016-06-07 一种缩短图像延迟的方法、装置和虚拟现实设备

Publications (2)

Publication Number Publication Date
CN106095366A CN106095366A (zh) 2016-11-09
CN106095366B true CN106095366B (zh) 2019-01-15

Family

ID=57227594

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610403732.4A Active CN106095366B (zh) 2016-06-07 2016-06-07 一种缩短图像延迟的方法、装置和虚拟现实设备

Country Status (2)

Country Link
US (1) US9953621B2 (zh)
CN (1) CN106095366B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108614674B (zh) * 2016-12-09 2021-04-30 龙芯中科技术股份有限公司 显示方法及装置
CN106873929B (zh) * 2016-12-19 2019-12-17 奇酷互联网络科技(深圳)有限公司 基于虚拟现实技术的图像刷新方法和装置
CN106601187B (zh) * 2017-02-22 2019-03-15 北京集创北方科技股份有限公司 显示控制装置、控制卡、显示装置及其控制方法
US10462336B2 (en) * 2017-03-15 2019-10-29 Microsoft Licensing Technology, LLC Low latency tearing without user perception
CN107123078A (zh) * 2017-04-25 2017-09-01 北京小米移动软件有限公司 显示图像的方法及装置
CN107622760B (zh) * 2017-10-31 2023-04-04 歌尔科技有限公司 Lcd显示方法及lcd驱动电路
CN107743223A (zh) * 2017-10-31 2018-02-27 歌尔科技有限公司 图像写入控制方法、装置及电子设备
US10741143B2 (en) * 2017-11-28 2020-08-11 Nvidia Corporation Dynamic jitter and latency-tolerant rendering
US11957975B2 (en) * 2018-05-24 2024-04-16 Microsoft Technology Licensing, Llc Dead reckoning and latency improvement in 3D game streaming scenario
CN108898643B (zh) * 2018-06-15 2022-03-11 广东数相智能科技有限公司 图像生成方法、装置与计算机可读存储介质
WO2020019139A1 (zh) * 2018-07-23 2020-01-30 深圳市大疆创新科技有限公司 视频均匀显示方法、终端设备、机器可读存储介质
CN109887065B (zh) * 2019-02-11 2023-09-29 京东方科技集团股份有限公司 图像渲染方法及其装置
CN111866419B (zh) * 2019-04-24 2022-05-31 杭州海康微影传感科技有限公司 热成像图像显示方法、装置及热成像设备
CN111656797A (zh) * 2019-06-25 2020-09-11 深圳市大疆创新科技有限公司 控制方法、图像传输系统、显示装置及无人机系统
WO2021042331A1 (en) * 2019-09-05 2021-03-11 Qualcomm Incorporated Methods and apparatus for graphics and display pipeline management
CN113034653B (zh) * 2019-12-24 2023-08-08 腾讯科技(深圳)有限公司 一种动画渲染方法及装置
CN112489226B (zh) * 2020-11-26 2024-07-26 京东方科技集团股份有限公司 虚拟现实设备图像显示方法、装置、存储介质及电子设备
CN115129279B (zh) * 2021-03-25 2024-03-15 广州视享科技有限公司 图像绘制方法、装置、电子设备及计算机存储介质
CN114675919A (zh) * 2022-03-24 2022-06-28 未鲲(上海)科技服务有限公司 数据排行榜的动态更新方法、装置、服务器及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU8393191A (en) * 1990-07-10 1992-02-04 Athenix Corporation Selective content synchronization of multiple image buffers
CN101072339A (zh) * 2007-06-12 2007-11-14 北京中星微电子有限公司 一种控制播放帧率同步的方法及系统
US8213511B2 (en) * 2007-04-30 2012-07-03 Texas Instruments Incorporated Video encoder software architecture for VLIW cores incorporating inter prediction and intra prediction
CN105117191A (zh) * 2015-09-08 2015-12-02 广东欧珀移动通信有限公司 一种移动终端的显示控制方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6331856B1 (en) * 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
TWI303802B (en) * 2005-01-28 2008-12-01 Via Tech Inc Apparatus and method for frame buffer control
US8417039B2 (en) * 2010-06-03 2013-04-09 Microsoft Corporation Motion detection techniques for improved image remoting
JP2016059015A (ja) * 2014-09-12 2016-04-21 株式会社東芝 画像出力装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU8393191A (en) * 1990-07-10 1992-02-04 Athenix Corporation Selective content synchronization of multiple image buffers
US8213511B2 (en) * 2007-04-30 2012-07-03 Texas Instruments Incorporated Video encoder software architecture for VLIW cores incorporating inter prediction and intra prediction
CN101072339A (zh) * 2007-06-12 2007-11-14 北京中星微电子有限公司 一种控制播放帧率同步的方法及系统
CN105117191A (zh) * 2015-09-08 2015-12-02 广东欧珀移动通信有限公司 一种移动终端的显示控制方法及装置

Also Published As

Publication number Publication date
US9953621B2 (en) 2018-04-24
CN106095366A (zh) 2016-11-09
US20170352334A1 (en) 2017-12-07

Similar Documents

Publication Publication Date Title
CN106095366B (zh) 一种缩短图像延迟的方法、装置和虚拟现实设备
CN106098022B (zh) 一种缩短图像延迟的方法和装置
WO2020207250A1 (zh) 垂直同步方法、装置、终端及存储介质
KR100682456B1 (ko) 렌더링 영역을 최소화하는 3d 그래픽스 데이터의 렌더링방법 및 시스템
US8289319B2 (en) Apparatus and method for processing pixel depth information
KR20080037978A (ko) 전력 소모를 최소화하는 그래픽스 데이터 렌더링 방법 및장치
CN109118556B (zh) 一种实现ui界面动画过渡效果的方法、系统及存储介质
CN101976183A (zh) 一种多窗口图像同时更新时图像更新的方法及装置
CN104765595B (zh) 一种显示图形用户界面的方法及装置
CN112486606A (zh) 一种基于Android系统的云桌面显示优化方法及系统
CN103680461B (zh) 一种实现显示帧缓存切换的方法及显示系统
TWI622016B (zh) Depicting device
KR101404489B1 (ko) 멀티쓰레드를 이용한 동영상 실시간 렌더링 방법 및 시스템
CN106649725A (zh) 一种页面切换方法及装置
WO2019006999A1 (zh) 用于安卓电视的倒影生成方法、存储介质、设备及系统
JPH1186029A (ja) 画像描画装置
US20060170691A1 (en) Apparatus and method for frame buffer control
CN111277858B (zh) 视频处理方法及装置、视频处理器和存储介质
WO2013020411A1 (zh) 即时通信终端和实时显示会话消息的方法
JP4381434B2 (ja) 携帯電話機
US8766986B1 (en) Efficient caching and drawing of objects whose rendering properties change frequently
US6677955B1 (en) Image processing method and image processing apparatus
JP2002342774A (ja) 画像の形成方法及び画像形成用のプログラム
CN104519392A (zh) 一种拼接墙的终端显示图像的切换方法及系统
KR20100084338A (ko) 이미지 드로잉 방법 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant