CN109242944B - 一种显示方法和装置 - Google Patents

一种显示方法和装置 Download PDF

Info

Publication number
CN109242944B
CN109242944B CN201811142795.4A CN201811142795A CN109242944B CN 109242944 B CN109242944 B CN 109242944B CN 201811142795 A CN201811142795 A CN 201811142795A CN 109242944 B CN109242944 B CN 109242944B
Authority
CN
China
Prior art keywords
rendering
scene data
frame
thread
data
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
CN201811142795.4A
Other languages
English (en)
Other versions
CN109242944A (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.)
BOE Technology Group Co Ltd
Beijing BOE Optoelectronics Technology Co Ltd
Original Assignee
BOE Technology Group Co Ltd
Beijing BOE Optoelectronics 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 BOE Technology Group Co Ltd, Beijing BOE Optoelectronics Technology Co Ltd filed Critical BOE Technology Group Co Ltd
Priority to CN201811142795.4A priority Critical patent/CN109242944B/zh
Publication of CN109242944A publication Critical patent/CN109242944A/zh
Priority to US16/448,740 priority patent/US10878530B2/en
Application granted granted Critical
Publication of CN109242944B publication Critical patent/CN109242944B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Processing Or Creating Images (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)

Abstract

本发明提供了一种显示方法和装置。所述方法包括:确定场景渲染的渲染速度;根据所述渲染速度判断是否开启异步时间扭曲ATW线程;在判定不开启所述ATW线程的情况下,在一帧画面显示过程中,采用渲染线程获取第一场景数据,当确定所述第一场景数据渲染完成后,运行所述渲染线程对所述第一场景数据进行修正,获取第一修正场景数据;根据所述第一修正场景数据进行显示。通过本发明实施例,兼顾了不同处理器性能与VR应用场景的复杂度,不仅可以降低画面抖动现象、减轻用户眩晕感,还可以降低系统功耗,减少从场景渲染到显示之间的延时,提高用户体验。

Description

一种显示方法和装置
技术领域
本发明涉及显示技术领域,特别是涉及一种显示方法和装置。
背景技术
VR(Virtual Reality,虚拟现实)技术是一种新兴的信息技术。可以生成逼真的视、听、触觉一体化的特定范围的虚拟环境。用户与VR设备交互时,可以使用户产生身临其境的感受和体验。
VR技术需要VR应用维持较高的帧率,以提供最好的渲染质量。当VR应用不能保持足够帧率的时候,可能会出现游戏画面的抖动,使用户产生眩晕感。现今,常采用异步时间扭曲(Asynchronous Timewarp,ATW)技术来降低画面的抖动现象,但是,ATW技术虽然减轻了眩晕感,却增加了系统功耗。
发明内容
本发明提供一种显示方法和装置,以解决ATW技术虽然减轻了眩晕感,却增加了系统功耗的问题。
为了解决上述问题,本发明公开了一种显示方法,所述方法包括:
确定场景渲染的渲染速度;
根据所述渲染速度判断是否开启异步时间扭曲ATW线程;
在判定不开启所述ATW线程的情况下,在一帧画面显示过程中,采用渲染线程获取第一场景数据,当确定所述第一场景数据渲染完成后,运行所述渲染线程对所述第一场景数据进行修正,获取第一修正场景数据;
根据所述第一修正场景数据进行显示。
可选地,所述确定场景渲染的渲染速度,包括:
在设定时间段内,统计进行所述场景渲染时每一帧画面的渲染时长,确定一帧画面的平均渲染时长。
可选地,所述根据所述渲染速度判断是否开启异步时间扭曲ATW线程,包括:
判断所述平均渲染时长是否大于半帧时长;其中所述半帧时长为半帧信号与帧同步信号之间的时长;
当所述平均渲染时长不大于所述半帧时长时,判定不开启所述ATW线程;
当所述平均渲染时长大于所述半帧时长时,判定开启所述ATW线程。
可选地,所述在一帧画面显示过程中,采用渲染线程获取第一场景数据,当确定所述第一场景数据渲染完成后,运行所述渲染线程对所述第一场景数据进行修正,获取第一修正场景数据,包括:
当检测到第一半帧信号时,预测第二半帧信号时的用户姿态得到第一姿态数据,运行所述渲染线程,根据所述第一姿态数据进行场景渲染得到所述第一场景数据;
当确定所述第一场景数据渲染完成时,预测第一帧同步信号和所述第二半帧信号时的用户姿态得到第二姿态数据,运行所述渲染线程,根据所述第一场景数据和所述第二姿态数据确定用于左眼画面的第一修正场景数据;
预测所述第二半帧信号和第二帧同步信号时的用户姿态得到第三姿态数据,运行所述渲染线程,根据所述第一场景数据和所述第三姿态数据确定用于右眼画面的第一修正场景数据;
其中,所述第一半帧信号一帧时长后为所述第二半帧信号,所述第一半帧信号半帧时长后为所述第一帧同步信号,所述第二半帧信号半帧时长后为所述第二帧同步信号;
所述根据所述第一修正场景数据进行显示,包括:
当检测到所述第一帧同步信号时,根据所述用于左眼画面的第一修正场景数据显示左眼画面;
当检测到所述第二半帧信号时,根据所述用于右眼画面的第一修正场景数据显示右眼画面。
可选地,还包括:
在判定开启所述ATW线程的情况下,在一帧画面显示过程中,采用所述渲染线程获取第二场景数据,运行所述ATW线程对所述第二场景数据进行修正,获取第二修正场景数据;
根据所述第二修正场景数据进行显示。
可选地,所述在一帧画面显示过程中,采用所述渲染线程获取第二场景数据,运行所述ATW线程对所述第二场景数据进行修正,获取第二修正场景数据,包括:
当检测到第三半帧信号时,预测第五半帧信号时的用户姿态得到第四姿态数据,运行所述渲染线程,根据所述第四姿态数据进行场景渲染得到所述第二场景数据;
当检测到第四半帧信号时开启所述ATW线程;
预测第四帧同步信号和所述第五半帧信号时的用户姿态得到第五姿态数据,运行所述ATW线程,根据所述第二场景数据和所述第五姿态数据确定用于左眼画面的第二修正场景数据;
当检测到所述第四帧同步信号时,预测所述第五半帧信号和第五帧同步信号时的用户姿态得到第六姿态数据,运行所述ATW线程,根据所述第二场景数据和所述第六姿态数据确定用于右眼画面的第二修正场景数据;
其中,所述第三半帧信号一帧时长后为所述第四半帧信号,所述第三半帧信号两帧时长后为所述第五半帧信号,所述第三半帧信号半帧时长后为所述第四帧同步信号,所述第四半帧信号半帧时长后为所述第五帧同步信号。
可选地,所述根据所述第二修正场景数据进行显示,包括:
当检测到所述第四帧同步信号时,根据所述用于左眼画面的第二修正场景数据显示左眼画面;
当检测到所述第五半帧信号时,根据所述用于右眼画面的第二修正场景数据显示右眼画面。
本发明实施例还提供一种显示装置,所述装置包括:
渲染速度确定模块,用于确定场景渲染的渲染速度;
判断模块,用于根据所述渲染速度判断是否开启异步时间扭曲ATW线程;
第一渲染和修正模块,用于在判定不开启所述ATW线程的情况下,在一帧画面显示过程中,采用渲染线程获取第一场景数据,当确定所述第一场景数据渲染完成后,运行所述渲染线程对所述第一场景数据进行修正,获取第一修正场景数据;
第一显示模块,用于根据所述第一修正场景数据进行显示。
可选地,所述渲染速度确定模块,具体用于在设定时间段内,统计进行所述场景渲染时每一帧画面的渲染时长,确定一帧画面的平均渲染时长。
可选地,所述判断模块包括:
判断子模块,用于判断所述平均渲染时长是否大于半帧时长;其中所述半帧时长为半帧信号与帧同步信号之间的时长;
第一判定子模块,用于当所述平均渲染时长大于所述半帧时长时,判定开启所述ATW线程;
第二判定子模块,用于当所述平均渲染时长不大于所述半帧时长时,判定不开启所述ATW线程。
可选地,所述第一渲染和修正模块包括:
第一场景数据获取子模块,用于当检测到第一半帧信号时,预测第二半帧信号时的用户姿态得到第一姿态数据,运行所述渲染线程,根据所述第一姿态数据进行场景渲染得到所述第一场景数据;
左眼第一修正场景数据获取子模块,用于当确定所述第一场景数据渲染完成时,预测第一帧同步信号和所述第二半帧信号时的用户姿态得到第二姿态数据,运行所述渲染线程,根据所述第一场景数据和所述第二姿态数据确定用于左眼画面的第一修正场景数据;
右眼第一修正场景数据获取子模块,用于预测所述第二半帧信号和第二帧同步信号时的用户姿态得到第三姿态数据,运行所述渲染线程,根据所述第一场景数据和所述第三姿态数据确定用于右眼画面的第一修正场景数据;
其中,所述第一半帧信号一帧时长后为所述第二半帧信号,所述第一半帧信号半帧时长后为所述第一帧同步信号,所述第二半帧信号半帧时长后为所述第二帧同步信号;
所述第一显示模块包括:
左眼画面第一显示子模块,用于当检测到所述第一帧同步信号时,根据所述用于左眼画面的第一修正场景数据显示左眼画面;
右眼画面第一显示子模块,用于当检测到所述第二半帧信号时,根据所述用于右眼画面的第一修正场景数据显示右眼画面。
可选地,还包括:
第二渲染和修正模块,用于在判定开启所述ATW线程的情况下,在一帧画面显示过程中,采用所述渲染线程获取第二场景数据,运行所述ATW线程对所述第二场景数据进行修正,获取第二修正场景数据;
第二显示模块,用于根据所述第二修正场景数据进行显示。
可选地,所述第二渲染和修正模块包括:
第二场景数据获取子模块,用于当检测到第三半帧信号时,预测第五半帧信号时的用户姿态得到第四姿态数据,运行所述渲染线程,根据所述第四姿态数据进行场景渲染得到所述第二场景数据;
ATW线程开启子模块,用于当检测到第四半帧信号时开启所述ATW线程;
左眼第二修正场景数据获取子模块,用于预测第四帧同步信号和所述第五半帧信号时的用户姿态得到第五姿态数据,运行所述ATW线程,根据所述第二场景数据和所述第五姿态数据确定用于左眼画面的第二修正场景数据;
右眼第二修正场景数据获取子模块,当检测到所述第四帧同步信号时,预测所述第五半帧信号和第五帧同步信号时的用户姿态得到第六姿态数据,运行所述ATW线程,根据所述第二场景数据和所述第六姿态数据确定用于右眼画面的第二修正场景数据;
其中,所述第三半帧信号一帧时长后为所述第四半帧信号,所述第三半帧信号两帧时长后为所述第五半帧信号,所述第三半帧信号半帧时长后为所述第四帧同步信号,所述第四半帧信号半帧时长后为所述第五帧同步信号。
可选地,所述第二显示模块,包括:
左眼画面第二显示子模块,用于当检测到所述第四帧同步信号时,根据所述用于左眼画面的第二修正场景数据显示左眼画面;
右眼画面第二显示子模块,用于当检测到所述第五半帧信号时,根据所述用于右眼画面的第二修正场景数据显示右眼画面。
本发明实施例还提供了一种显示设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的显示方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上述的显示方法的步骤。
与现有技术相比,本发明包括以下优点:
确定场景渲染的渲染速度;根据渲染速度判断是否开启异步时间扭曲ATW线程;在判定不开启ATW线程的情况下,在一帧画面显示过程中,采用渲染线程获取第一场景数据,当确定第一场景数据渲染完成后,运行渲染线程对第一场景数据进行修正,获取第一修正场景数据;根据第一修正场景数据进行显示。通过本发明实施例,兼顾了不同处理器性能与VR应用场景的复杂度;当不开启ATW线程时,由渲染线程进行渲染和修正,不仅可以降低画面抖动现象、减轻用户眩晕感,还可以降低系统功耗,减少从场景渲染到显示之间的延时,提高了用户体验。
附图说明
图1示出了本发明实施例一的一种显示方法的步骤流程图;
图2示出了本发明实施例一的显示进度图之一;
图3示出了本发明实施例一的显示进度图之二;
图4示出了本发明实施例二的一种显示方法的步骤流程图;
图5示出了本发明实施例三的一种显示装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,示出了本发明实施例提供的一种显示方法的步骤流程图。所述方法包括:
步骤101,确定场景渲染的渲染速度。
本实施例中,根据处理器的性能不同,VR应用场景的复杂度不同等情况,渲染线程进行场景渲染时的渲染速度不同。例如,应用场景较复杂,渲染线程在进行场景渲染时速度较慢;应用场景简单,渲染线程在进行场景渲染时速度较快。确定场景渲染的渲染速度,具体地,在设定时间段内,统计进行所述场景渲染时每一帧画面的渲染时长,确定一帧画面的平均渲染时长。例如,渲染100帧画面,统计进行场景渲染时每一帧画面的渲染时长t1、t2、t3……t100,计算渲染一帧画面所需的平均渲染时长T。本发明实施例对设定时间段不作详细限定,可以根据实际情况进行设置。平均渲染时长T表征场景渲染的渲染速度。场景渲染就是给场景着色,将场景中的灯光及对象的材质处理成画面的形式,场景数据可以包括纹理、光照、阴影、颜色等。线程,也称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元。线程可以创建和撤消线程,从而实现程序的并发执行。
步骤102,根据所述渲染速度判断是否开启异步时间扭曲ATW线程。
本实施例中,如果在进行场景渲染时渲染速度较慢,则需要开启ATW线程,防止画面抖动、用户出现眩晕感。但是如果场景渲染速度较快,则无需开启ATW线程。这样处理打破了现有的ATW线程与渲染线程并行的方式,兼顾了不同处理器性能与VR应用场景的复杂度。判断是否开启ATW线程具体可以包括如下步骤:
子步骤一,判断所述平均渲染时长是否大于半帧时长;其中所述半帧时长为半帧信号与帧同步信号之间的时长。
子步骤二,当所述平均渲染时长不大于所述半帧时长时,判定不开启所述ATW线程。
具体地,如果平均渲染时长T不大于半帧时长,参照图2所示的显示进度,说明处理器性能较好或者VR应用场景较简单,可以在同一帧内完成渲染和修正,无需开启ATW线程,因此判定不开启ATW线程。
子步骤三,当所述平均渲染时长大于所述半帧时长时,判定开启所述ATW线程。
具体地,如果平均渲染时长T大于半帧时长,参照图3所示的显示进度,说明处理器性能不佳或者VR应用场景较复杂,在同一帧内无法完成渲染和修正,需要开启ATW线程,以提高显示中画面的流畅度,因此判定开启ATW线程。
可见,根据平均渲染时长T与半帧时长之间的关系判断是否开启ATW线程,可以兼顾不同处理性能和不同应用场景复杂度的情况。而且,不开启ATW线程还可以降低系统功耗。
步骤103,在判定不开启所述ATW线程的情况下,在一帧画面显示过程中,采用渲染线程获取第一场景数据,当确定所述第一场景数据渲染完成后,运行所述渲染线程对所述第一场景数据进行修正,获取第一修正场景数据。
本实施例中,当判定不开启ATW线程时,采用渲染线程进行场景渲染得到第一场景数据,渲染完成时,采用渲染线程对第一场景数据进行修正,得到第一修正场景数据。具体可以包括如下步骤:
子步骤一,当检测到第一半帧信号时,预测第二半帧信号时的用户姿态得到第一姿态数据,运行所述渲染线程,根据所述第一姿态数据进行场景渲染得到所述第一场景数据。
具体地,见图2所示,当检测到第一半帧信号时,对第二半帧信号时的用户姿态进行预测,其中第一半帧信号一帧时长后为第二半帧信号,预测得到第一姿态数据。例如,预测b点用户头部会向右转动30°,得到用户头部向右转动30°后的第一姿态数据。姿态数据可以包括欧拉角、加速度中的至少一种。本发明实施例对此不作详细限定,可以根据实际情况进行设置。然后运行渲染线程,渲染线程根据第一姿态数据进行场景渲染,得到第一场景数据。
子步骤二,当确定所述第一场景数据渲染完成时,预测所述第一帧同步信号和第二半帧信号时的用户姿态得到第二姿态数据,运行所述渲染线程,根据所述第一场景数据和所述第二姿态数据确定用于左眼画面的第一修正场景数据。
例如,见图2,第一半帧信号半帧时长后为第一帧同步信号。预测第一帧同步信号a点和第二半帧信号b点的用户姿态,并对第一帧同步信号a点和第二半帧信号b点的用户姿态进行插值得到第二姿态数据,运行渲染线程,再根据第二姿态数据对第一场景数据进行修正,确定用于左眼画面的第一修正场景数据。
子步骤三,预测所述第二半帧信号和第二帧同步信号时的用户姿态得到第三姿态数据,运行所述渲染线程,根据所述第一场景数据和所述第三姿态数据确定用于右眼画面的第一修正场景数据。
例如,见图2,第二半帧信号半帧时长后为第二帧同步信号。预测第二半帧信号b点和第二帧同步信号c点的用户姿态,对第二半帧信号b点和第二帧同步信号c点的用户姿态进行插值得到第三姿态数据,再第三姿态数据对第一场景数据进行修正,用于确定右眼画面的第一修正场景数据。
步骤104,根据所述第一修正场景数据进行显示。
本实施例中,当检测到第一帧同步信号时,根据用于左眼画面的第一修正场景数据显示左眼画面;当检测到第二半帧信号时,根据用于右眼画面的第一修正场景数据显示右眼画面,见图2。可见,在不开启ATW线程的情况下,由于采用渲染线程进行场景渲染并对场景数据进行修正,在场景渲染一帧时长后就可以进行显示。而在开启ATW线程的情况下,见图3,在场景渲染两帧时长后才进行显示,因此本发明实施例缩短了从渲染画面到显示画面之间的时间。
综上所述,本发明实施例中,确定场景渲染的渲染速度;根据渲染速度判断是否开启异步时间扭曲ATW线程;在判定不开启ATW线程的情况下,在一帧画面显示过程中,采用渲染线程获取第一场景数据,当确定第一场景数据渲染完成后,运行渲染线程对第一场景数据进行修正,获取第一修正场景数据;根据第一修正场景数据进行显示。通过本发明实施例,兼顾了不同处理器性能与VR应用场景的复杂度;当不开启ATW线程时,由渲染线程进行渲染和修正,不仅可以降低画面抖动现象、减轻用户眩晕感,还可以降低系统功耗,减少从场景渲染到显示之间的延时,提高了用户体验。
实施例二
参照图4,示出了本发明实施例提供的一种显示方法的步骤流程图。所述方法包括:
步骤201,确定场景渲染的渲染速度。
步骤202,根据所述渲染速度判断是否开启异步时间扭曲ATW线程。
步骤203,在判定不开启所述ATW线程的情况下,在一帧画面显示过程中,采用渲染线程获取第一场景数据,当确定所述第一场景数据渲染完成后,运行所述渲染线程对所述第一场景数据进行修正,获取第一修正场景数据。
步骤204,根据所述第一修正场景数据进行显示。
步骤205,在判定开启所述ATW线程的情况下,在一帧画面显示过程中,采用所述渲染线程获取第二场景数据,运行所述ATW线程对所述第二场景数据进行修正,获取第二修正场景数据。
本实施例中,采用渲染线程进行场景渲染得到第二场景数据,然后运行ATW线程对第二场景数据进行修正得到第二修正场景数据。具体可以包括如下步骤:
子步骤一,当检测到第三半帧信号时,预测第五半帧信号时的用户姿态得到第四姿态数据,运行所述渲染线程,根据所述第四姿态数据进行场景渲染得到所述第二场景数据。
例如,见图3,第三半帧信号两帧时长后为第五半帧信号。预测第五半帧信号e点时的用户姿态得到第四姿态数据,然后运行渲染线程根据第四姿态数据进行场景渲染,得到第二场景数据。
子步骤二,当检测到第四半帧信号时开启所述ATW线程。
例如,见图3,第三半帧信号一帧时长后为第四半帧信号。在第四半帧信号d点开启ATW线程。
子步骤三,预测第四帧同步信号和所述第五半帧信号时的用户姿态得到第五姿态数据,运行所述ATW线程,根据所述第二场景数据和所述第五姿态数据确定用于左眼画面的第二修正场景数据。
例如,见图3,第三半帧信号半帧时长后为第四帧同步信号。预测第四帧同步信号d点和第五半帧信号e点的用户姿态,并进行插值得到第五姿态数据,运行ATW数据,再根据第五姿态数据对第二场景数据进行修正,确定用于左眼画面的第二修正场景数据。
子步骤四,当检测到所述第四帧同步信号时,预测所述第五半帧信号和第五帧同步信号时的用户姿态得到第六姿态数据,运行所述ATW线程,根据所述第二场景数据和所述第六姿态数据确定用于右眼画面的第二修正场景数据。
例如,见图3,第五半帧信号半帧时长后为第五帧同步信号。预测第五半帧信号e点和第五帧同步信号f点的用户姿态并进行插值得到第六姿态数据,运行ATW线程,再根据第六姿态数据对第二场景数据进行修正,确定用于右眼画面的第二修正场景数据。
步骤206,根据所述第二修正场景数据进行显示。
本实施例中,得到第二修正场景数据后,根据第二修正场景数据进行显示。具体地,当检测到所述第四帧同步信号时,根据所述用于左眼画面的第二修正场景数据显示左眼画面;当检测到所述第五半帧信号时,根据所述用于右眼画面的第二修正场景数据显示右眼画面,见图3。可见,在半帧时间内进行单眼画面的修正处理,在检测到下一帧同步信号时就显示单眼画面,与对双眼画面进行修正再显示双眼画面相比,可以提高显示速度。
综上所述,本发明实施例中,确定场景渲染的渲染速度;根据渲染速度判断是否开启异步时间扭曲ATW线程;在判定不开启ATW线程的情况下,在一帧画面显示过程中,采用渲染线程获取第一场景数据,当确定第一场景数据渲染完成后,运行渲染线程对第一场景数据进行修正,获取第一修正场景数据;根据第一修正场景数据进行显示。通过本发明实施例,兼顾了不同处理器性能与VR应用场景的复杂度;当不开启ATW线程时,由渲染线程进行渲染和修正,不仅可以降低画面抖动现象、减轻用户眩晕感,还可以降低系统功耗,减少从场景渲染到显示之间的延时,提高了用户体验。
实施例三
参照图5,示出了本发明实施例提供的一种显示装置的结构框图。所述装置包括:
渲染速度确定模块301,用于确定场景渲染的渲染速度;
判断模块302,用于根据所述渲染速度判断是否开启异步时间扭曲ATW线程;
第一渲染和修正模块303,用于在判定不开启所述ATW线程的情况下,在一帧画面显示过程中,采用渲染线程获取第一场景数据,当确定所述第一场景数据渲染完成后,运行所述渲染线程对所述第一场景数据进行修正,获取第一修正场景数据;
第一显示模块304,用于根据所述第一修正场景数据进行显示。
可选地,所述渲染速度确定模块301,具体用于在设定时间段内,统计进行所述场景渲染时每一帧画面的渲染时长,确定一帧画面的平均渲染时长。
可选地,所述判断模块302包括:
判断子模块,用于判断所述平均渲染时长是否大于半帧时长;其中所述半帧时长为半帧信号与帧同步信号之间的时长;
第一判定子模块,用于当所述平均渲染时长不大于所述半帧时长时,判定不开启所述ATW线程;
第二判定子模块,用于当所述平均渲染时长大于所述半帧时长时,判定开启所述ATW线程。
可选地,所述第一渲染和修正模块303包括:
第一场景数据获取子模块,用于当检测到第一半帧信号时,预测第二半帧信号时的用户姿态得到第一姿态数据,运行所述渲染线程,根据所述第一姿态数据进行场景渲染得到所述第一场景数据;
左眼第一修正场景数据获取子模块,用于当确定所述第一场景数据渲染完成时,预测第一帧同步信号和所述第二半帧信号时的用户姿态得到第二姿态数据,运行所述渲染线程,根据所述第一场景数据和所述第二姿态数据确定用于左眼画面的第一修正场景数据;
右眼第一修正场景数据获取子模块,用于预测所述第二半帧信号和第二帧同步信号时的用户姿态得到第三姿态数据,运行所述渲染线程,根据所述第一场景数据和所述第三姿态数据确定用于右眼画面的第一修正场景数据;
其中,所述第一半帧信号一帧时长后为所述第二半帧信号,所述第一半帧信号半帧时长后为所述第一帧同步信号,所述第二半帧信号半帧时长后为所述第二帧同步信号;
所述第一显示模块包括:
左眼画面第一显示子模块,用于当检测到所述第一帧同步信号时,根据所述用于左眼画面的第一修正场景数据显示左眼画面;
右眼画面第一显示子模块,用于当检测到所述第二半帧信号时,根据所述用于右眼画面的第一修正场景数据显示右眼画面。
可选地,还包括:
第二渲染和修正模块,用于在判定开启所述ATW线程的情况下,在一帧画面显示过程中,采用所述渲染线程获取第二场景数据,运行所述ATW线程对所述第二场景数据进行修正,获取第二修正场景数据;
第二显示模块,用于根据所述第二修正场景数据进行显示。
可选地,所述第二渲染和修正模块包括:
第二场景数据获取子模块,用于当检测到第三半帧信号时,预测第五半帧信号时的用户姿态得到第四姿态数据,运行所述渲染线程,根据所述第四姿态数据进行场景渲染得到所述第二场景数据;
ATW线程开启子模块,用于当检测到第四半帧信号时开启所述ATW线程;
左眼第二修正场景数据获取子模块,用于预测第四帧同步信号和所述第五半帧信号时的用户姿态得到第五姿态数据,运行所述ATW线程,根据所述第二场景数据和所述第五姿态数据确定用于左眼画面的第二修正场景数据;
右眼第二修正场景数据获取子模块,当检测到所述第四帧同步信号时,预测所述第五半帧信号和第五帧同步信号时的用户姿态得到第六姿态数据,运行所述ATW线程,根据所述第二场景数据和所述第六姿态数据确定用于右眼画面的第二修正场景数据;
其中,所述第三半帧信号一帧时长后为所述第四半帧信号,所述第三半帧信号两帧时长后为所述第五半帧信号,所述第三半帧信号半帧时长后为所述第四帧同步信号,所述第四半帧信号半帧时长后为所述第五帧同步信号。
可选地,所述第二显示模块,包括:
左眼画面第二显示子模块,用于当检测到所述第四帧同步信号时,根据所述用于左眼画面的第二修正场景数据显示左眼画面;
右眼画面第二显示子模块,用于当检测到所述第五半帧信号时,根据所述用于右眼画面的第二修正场景数据显示右眼画面。
综上所述,本发明实施例中,确定场景渲染的渲染速度;根据渲染速度判断是否开启异步时间扭曲ATW线程;在判定不开启ATW线程的情况下,在一帧画面显示过程中,采用渲染线程获取第一场景数据,当确定第一场景数据渲染完成后,运行渲染线程对第一场景数据进行修正,获取第一修正场景数据;根据第一修正场景数据进行显示。通过本发明实施例,兼顾了不同处理器性能与VR应用场景的复杂度;当不开启ATW线程时,由渲染线程进行渲染和修正,不仅可以降低画面抖动现象、减轻用户眩晕感,还可以降低系统功耗,减少从场景渲染到显示之间的延时,提高了用户体验。
本发明实施例还提供了一种显示设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的显示方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上述的显示方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种显示方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (15)

1.一种显示方法,其特征在于,所述方法包括:
确定场景渲染的渲染速度;
根据所述渲染速度判断是否开启异步时间扭曲ATW线程;
在判定不开启所述ATW线程的情况下,在一帧画面显示过程中,采用渲染线程获取第一场景数据,当确定所述第一场景数据渲染完成后,运行所述渲染线程对所述第一场景数据进行修正,获取第一修正场景数据;
根据所述第一修正场景数据进行显示;
所述在一帧画面显示过程中,采用渲染线程获取第一场景数据,当确定所述第一场景数据渲染完成后,运行所述渲染线程对所述第一场景数据进行修正,获取第一修正场景数据,包括:
当检测到第一半帧信号时,预测第二半帧信号时的用户姿态得到第一姿态数据,运行所述渲染线程,根据所述第一姿态数据进行场景渲染得到所述第一场景数据;
当确定所述第一场景数据渲染完成时,预测第一帧同步信号和所述第二半帧信号时的用户姿态得到第二姿态数据,运行所述渲染线程,根据所述第一场景数据和所述第二姿态数据确定用于左眼画面的第一修正场景数据;
预测所述第二半帧信号和第二帧同步信号时的用户姿态得到第三姿态数据,运行所述渲染线程,根据所述第一场景数据和所述第三姿态数据确定用于右眼画面的第一修正场景数据。
2.根据权利要求1所述的方法,其特征在于,所述确定场景渲染的渲染速度,包括:
在设定时间段内,统计进行所述场景渲染时每一帧画面的渲染时长,确定一帧画面的平均渲染时长。
3.根据权利要求2所述的方法,其特征在于,所述根据所述渲染速度判断是否开启异步时间扭曲ATW线程,包括:
判断所述平均渲染时长是否大于半帧时长;其中所述半帧时长为半帧信号与帧同步信号之间的时长;
当所述平均渲染时长不大于所述半帧时长时,判定不开启所述ATW线程;
当所述平均渲染时长大于所述半帧时长时,判定开启所述ATW线程。
4.根据权利要求1所述的方法,其特征在于,所述第一半帧信号一帧时长后为所述第二半帧信号,所述第一半帧信号半帧时长后为所述第一帧同步信号,所述第二半帧信号半帧时长后为所述第二帧同步信号;
所述根据所述第一修正场景数据进行显示,包括:
当检测到所述第一帧同步信号时,根据所述用于左眼画面的第一修正场景数据显示左眼画面;
当检测到所述第二半帧信号时,根据所述用于右眼画面的第一修正场景数据显示右眼画面。
5.根据权利要求1所述的方法,其特征在于,还包括:
在判定开启所述ATW线程的情况下,在一帧画面显示过程中,采用所述渲染线程获取第二场景数据,运行所述ATW线程对所述第二场景数据进行修正,获取第二修正场景数据;
根据所述第二修正场景数据进行显示。
6.根据权利要求5所述的方法,其特征在于,所述在一帧画面显示过程中,采用所述渲染线程获取第二场景数据,运行所述ATW线程对所述第二场景数据进行修正,获取第二修正场景数据,包括:
当检测到第三半帧信号时,预测第五半帧信号时的用户姿态得到第四姿态数据,运行所述渲染线程,根据所述第四姿态数据进行场景渲染得到所述第二场景数据;
当检测到第四半帧信号时开启所述ATW线程;
预测第四帧同步信号和所述第五半帧信号时的用户姿态得到第五姿态数据,运行所述ATW线程,根据所述第二场景数据和所述第五姿态数据确定用于左眼画面的第二修正场景数据;
当检测到所述第四帧同步信号时,预测所述第五半帧信号和第五帧同步信号时的用户姿态得到第六姿态数据,运行所述ATW线程,根据所述第二场景数据和所述第六姿态数据确定用于右眼画面的第二修正场景数据;
其中,所述第三半帧信号一帧时长后为所述第四半帧信号,所述第三半帧信号两帧时长后为所述第五半帧信号,所述第三半帧信号半帧时长后为所述第四帧同步信号,所述第四半帧信号半帧时长后为所述第五帧同步信号。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第二修正场景数据进行显示,包括:
当检测到所述第四帧同步信号时,根据所述用于左眼画面的第二修正场景数据显示左眼画面;
当检测到所述第五半帧信号时,根据所述用于右眼画面的第二修正场景数据显示右眼画面。
8.一种显示装置,其特征在于,所述装置包括:
渲染速度确定模块,用于确定场景渲染的渲染速度;
判断模块,用于根据所述渲染速度判断是否开启异步时间扭曲ATW线程;
第一渲染和修正模块,用于在判定不开启所述ATW线程的情况下,在一帧画面显示过程中,采用渲染线程获取第一场景数据,当确定所述第一场景数据渲染完成后,运行所述渲染线程对所述第一场景数据进行修正,获取第一修正场景数据;
所述第一渲染和修正模块包括:
第一场景数据获取子模块,用于当检测到第一半帧信号时,预测第二半帧信号时的用户姿态得到第一姿态数据,运行所述渲染线程,根据所述第一姿态数据进行场景渲染得到所述第一场景数据;
左眼第一修正场景数据获取子模块,用于当确定所述第一场景数据渲染完成时,预测第一帧同步信号和所述第二半帧信号时的用户姿态得到第二姿态数据,运行所述渲染线程,根据所述第一场景数据和所述第二姿态数据确定用于左眼画面的第一修正场景数据;
右眼第一修正场景数据获取子模块,用于预测所述第二半帧信号和第二帧同步信号时的用户姿态得到第三姿态数据,运行所述渲染线程,根据所述第一场景数据和所述第三姿态数据确定用于右眼画面的第一修正场景数据;
第一显示模块,用于根据所述第一修正场景数据进行显示。
9.根据权利要求8所述的装置,其特征在于,
所述渲染速度确定模块,具体用于在设定时间段内,统计进行所述场景渲染时每一帧画面的渲染时长,确定一帧画面的平均渲染时长。
10.根据权利要求9所述的装置,其特征在于,所述判断模块包括:
判断子模块,用于判断所述平均渲染时长是否大于半帧时长;其中所述半帧时长为半帧信号与帧同步信号之间的时长;
第一判定子模块,用于当所述平均渲染时长大于所述半帧时长时,判定开启所述ATW线程;
第二判定子模块,用于当所述平均渲染时长不大于所述半帧时长时,判定不开启所述ATW线程。
11.根据权利要求8所述的装置,其特征在于,所述第一显示模块包括:
左眼画面第一显示子模块,用于当检测到所述第一帧同步信号时,根据所述用于左眼画面的第一修正场景数据显示左眼画面;
右眼画面第一显示子模块,用于当检测到所述第二半帧信号时,根据所述用于右眼画面的第一修正场景数据显示右眼画面。
12.根据权利要求8所述的装置,其特征在于,还包括:
第二渲染和修正模块,用于在判定开启所述ATW线程的情况下,在一帧画面显示过程中,采用所述渲染线程获取第二场景数据,运行所述ATW线程对所述第二场景数据进行修正,获取第二修正场景数据;
第二显示模块,用于根据所述第二修正场景数据进行显示。
13.根据权利要求12所述的装置,其特征在于,所述第二渲染和修正模块包括:
第二场景数据获取子模块,用于当检测到第三半帧信号时,预测第五半帧信号时的用户姿态得到第四姿态数据,运行所述渲染线程,根据所述第四姿态数据进行场景渲染得到所述第二场景数据;
ATW线程开启子模块,用于当检测到第四半帧信号时开启所述ATW线程;
左眼第二修正场景数据获取子模块,用于预测第四帧同步信号和所述第五半帧信号时的用户姿态得到第五姿态数据,运行所述ATW线程,根据所述第二场景数据和所述第五姿态数据确定用于左眼画面的第二修正场景数据;
右眼第二修正场景数据获取子模块,当检测到所述第四帧同步信号时,预测所述第五半帧信号和第五帧同步信号时的用户姿态得到第六姿态数据,运行所述ATW线程,根据所述第二场景数据和所述第六姿态数据确定用于右眼画面的第二修正场景数据。
14.根据权利要求13所述的装置,其特征在于,所述第二显示模块包括:
左眼画面第二显示子模块,用于当检测到所述第四帧同步信号时,根据所述用于左眼画面的第二修正场景数据显示左眼画面;
右眼画面第二显示子模块,用于当检测到所述第五半帧信号时,根据所述用于右眼画面的第二修正场景数据显示右眼画面。
15.一种显示设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7任一项所述的显示方法的步骤。
CN201811142795.4A 2018-09-28 2018-09-28 一种显示方法和装置 Active CN109242944B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811142795.4A CN109242944B (zh) 2018-09-28 2018-09-28 一种显示方法和装置
US16/448,740 US10878530B2 (en) 2018-09-28 2019-06-21 Display method and display device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811142795.4A CN109242944B (zh) 2018-09-28 2018-09-28 一种显示方法和装置

Publications (2)

Publication Number Publication Date
CN109242944A CN109242944A (zh) 2019-01-18
CN109242944B true CN109242944B (zh) 2023-08-11

Family

ID=65054072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811142795.4A Active CN109242944B (zh) 2018-09-28 2018-09-28 一种显示方法和装置

Country Status (2)

Country Link
US (1) US10878530B2 (zh)
CN (1) CN109242944B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109920040B (zh) * 2019-03-01 2023-10-27 京东方科技集团股份有限公司 显示场景处理方法和装置、存储介质
CN112015264B (zh) * 2019-05-30 2023-10-20 深圳市冠旭电子股份有限公司 虚拟现实显示方法、虚拟现实显示装置及虚拟现实设备
CN112380989B (zh) * 2020-11-13 2023-01-24 歌尔科技有限公司 一种头戴显示设备及其数据获取方法、装置和主机
CN115225940B (zh) * 2021-04-15 2023-07-28 青岛海信宽带多媒体技术有限公司 一种机顶盒及机顶盒页面显示方法
CN113596569B (zh) * 2021-07-22 2023-03-24 歌尔科技有限公司 图像处理方法、装置和计算机可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10453175B2 (en) * 2016-02-22 2019-10-22 Google Llc Separate time-warping for a scene and an object for display of virtual reality content
US10453272B2 (en) * 2016-05-29 2019-10-22 Google Llc Time-warping adjustment based on depth information in a virtual/augmented reality system
CN106296566B (zh) * 2016-08-12 2019-05-17 南京睿悦信息技术有限公司 一种虚拟现实移动端动态时间帧补偿渲染系统及方法
CN109863538B (zh) * 2016-08-26 2023-10-27 奇跃公司 用于虚拟及增强现实显示的连续时间扭曲及双目时间扭曲系统和方法
CN106385625A (zh) * 2016-09-29 2017-02-08 宇龙计算机通信科技(深圳)有限公司 一种图像中间帧生成方法及装置
US10580200B2 (en) * 2017-04-07 2020-03-03 Intel Corporation Virtual reality apparatus and method including prioritized pixel shader operations, alternate eye rendering, and/or augmented timewarp

Also Published As

Publication number Publication date
US20200105050A1 (en) 2020-04-02
US10878530B2 (en) 2020-12-29
CN109242944A (zh) 2019-01-18

Similar Documents

Publication Publication Date Title
CN109242944B (zh) 一种显示方法和装置
US10306180B2 (en) Predictive virtual reality content streaming techniques
CN106502427B (zh) 虚拟现实系统及其场景呈现方法
WO2020259402A1 (zh) 图像处理方法、装置、终端设备、介质、可穿戴系统
CN109741463B (zh) 虚拟现实场景的渲染方法、装置及设备
US9767612B2 (en) Method, system and apparatus for removing a marker projected in a scene
CN112639577A (zh) 基于应用程序渲染性能的预测和限流调整
US10712817B1 (en) Image re-projection for foveated rendering
WO2017092332A1 (zh) 一种渲染图像的处理方法及装置
US11141557B2 (en) Information processing apparatus, information processing method, and storage medium
JP5175065B2 (ja) 効率的にモーションブラー効果を提供する3次元グラフィックスレンダリング方法及び装置
KR101831516B1 (ko) 멀티 스티커를 이용한 영상 생성 방법 및 장치
JP2011198249A5 (zh)
US10242479B2 (en) Information processing device and information processing method
JP5848543B2 (ja) 画像表示装置、画像表示方法、及びコンピュータプログラム
US9552059B2 (en) Information processing method and electronic device
CN113727009B (zh) 跟踪显示方法、装置和存储介质
CN114630182A (zh) 一种虚拟现实视频的播放方法及设备
CN115129279A (zh) 图像绘制方法、装置、电子设备及计算机存储介质
CN109410306B (zh) 图像渲染方法、装置、存储介质、设备和虚拟现实系统
JP5700998B2 (ja) 立体映像表示装置及びその制御方法
US11962743B2 (en) 3D display system and 3D display method
JP2021076923A5 (zh)
US20180097865A1 (en) Video processing apparatus and method
KR101722681B1 (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