基于渲染引擎的实时图像处理方法以及显示设备与流程

文档序号:17439797发布日期:2019-04-17 04:36阅读:201来源:国知局
基于渲染引擎的实时图像处理方法以及显示设备与流程

本申请涉及图像处理技术,更具体地,涉及基于渲染引擎的实时图像处理方法、实时图像处理设备、以及实现所述方法的显示设备。



背景技术:

比如虚拟现实(vr)或增强现实(ar)之类的显示产品的现代显示技术需要在显示静态图像或视频图像的同时进行实时图像处理。渲染引擎恰好是一种与这些显示产品相关联的实时图像处理器,用于实时地处理图像数据并且将可以采样的虚拟场景方面的处理后的图像数据输出至显示屏幕进行显示。此外,一直以来要求这些产品有更高的图像分辨率。



技术实现要素:

在一方面,本公开提供了一种基于渲染引擎实时处理图像数据的方法。所述方法包括:采样将在具有第二像素排列的像素的显示屏幕中显示为图像的第一像素排列的第一数据集合。所述方法还包括:将所述第一数据集合映射至用于渲染引擎的第一模型以产生第二数据集合,并且将第一数据集合映射至用于渲染引擎的第二模型以产生第三数据集合。此外,所述方法包括:将第二数据集合和第三数据集合加载至渲染引擎,并且利用与第一像素排列相关联的第一着色器通过渲染引擎处理第二数据集合以输出第四数据集合。所述方法还包括:利用与第二像素排列相关联的第二着色器通过渲染引擎处理第三数据集合以输出第五数据集合。此外,所述方法包括:将第四数据集合叠加在第五数据集合上以获得第六数据集合。此外,所述方法包括:在具有第二像素排列的像素的显示屏幕中显示第六数据集合。

可选地,所述方法还包括:基于显示屏幕创建用于渲染引擎的第一模型和第二模型。创建第一模型的步骤包括:产生第一数量的矩形条状体,每个矩形条状体具有像素的第一宽度和一行第二数量的像素的第一长度并且通过一行像素与相邻的矩形条状体分隔开。第一数量和第二数量分别表示与显示屏幕相关联的竖直显示分辨率的一半和横向显示分辨率的一半。第二模型由与显示屏幕对应的、具有第二宽度和第二长度的矩形体表征,第二宽度等于一行像素的第一长度,第二长度等于两倍于第一数量行的像素的第一宽度之和。

可选地,采样第一数据集合的步骤包括:利用与渲染引擎相关联的采样相机实时地收集第一数据集合。

可选地,采样相机包括正交投影相机或透视投影相机。

可选地,将第一数据集合映射至第一模型以产生第二数据集合的步骤包括:通过按照uv映射将第一数据集合转换为第二数据集合来产生第一虚拟图像,所述第一虚拟图像的第一边缘与第一模型的第一数量的矩形条状体中的第一个对齐。将第一数据集合映射至第二模型以产生第三数据集合的步骤包括:通过按照uv映射将第一数据集合转换为第三数据集合来产生附着至第二模型的单个矩形体的第二虚拟图像。

可选地,将第二数据集合和第三数据集合加载至渲染引擎包括:产生分别加载至渲染引擎的至少承载与第一模型相关联的第二数据集合的信息的第一filmbox(fbx)文件以及至少承载与第二模型相关联的第三数据集合的信息的第二fbx文件。

可选地,所述方法还包括:创建与第一像素排列相关联的第一着色器。创建第一着色器的步骤包括:定义对第一像素排列的图像数据的一个或多个计算机可执行处理,第一像素排列的每行像素以真实rgb子像素顺序排列。

可选地,处理第二数据集合的步骤包括:通过渲染引擎渲染第一虚拟图像。处理第二数据集合的步骤还包括:通过第一着色器对与第一模型相关联的第二数据集合调整颜色、纹理和网格信息,以获得第一像素排列的第四数据集合。

可选地,所述方法还包括:创建与第二像素排列相关联的第二着色器。创建第二着色器的步骤包括:定义对第二像素排列的图像数据的一个或多个计算机可执行处理,在第二像素排列中,每行像素的数量是第一像素排列中每行像素的数量的一半,每个奇数行像素保持为与第一像素排列一样的真实rgb子像素顺序,并且每个偶数行像素改变为brg子像素顺序并且偶数行中的一个颜色的每个子像素移动至奇数行中的两个不同颜色的两个最接近的子像素之间的位置。

可选地,处理第三数据集合的步骤包括:通过渲染引擎渲染第二虚拟图像,并且通过第二着色器对与第二模型相关联的第三数据集合调整颜色、纹理和网格信息,以获得第二像素排列的第五数据集合。

可选地,将第四数据集合叠加在第五数据集合上以获得第六数据集合的步骤包括:将奇数行像素的全部第四数据集合和偶数行像素的全部第五数据集合组合,以有效地获得第六数据集合,从而在渲染引擎中产生虚拟场景。将第四数据集合叠加在第五数据集合上以产生第六数据集合的步骤还包括:利用与渲染引擎相关联的采样相机从虚拟场景实时地采样第二像素排列的第六数据集合。

可选地,在显示屏幕中显示第六数据集合的步骤包括:发送具有显示屏幕的一半横向显示分辨率的第二像素排列的第六数据集合,并且以全显示分辨率在显示屏幕中显示图像。

在另一方面,本公开提供了一种实时图像处理设备。该设备包括存储器和一个或多个处理器。所述存储器和所述一个或多个处理器彼此连接。所述存储器存储计算机可执行指令,用于控制所述一个或多个处理器以:采样将在具有第二像素排列的像素的显示屏幕中显示为图像的第一像素排列的第一数据集合;将第一数据集合映射至用于渲染引擎的第一模型以产生第二数据集合;将第一数据集合映射至用于渲染引擎的第二模型以产生第三数据集合;将第二数据集合和第三数据集合加载至渲染引擎;利用与第一像素排列相关联的第一着色器通过渲染引擎处理第二数据集合以输出第四数据集合;利用与第二像素排列相关联的第二着色器通过渲染引擎处理第三数据集合以输出第五数据集合;将第四数据集合叠加在第五数据集合上以获得第六数据集合。

可选地,所述一个或多个处理器包括:渲染引擎、第一着色器、以及第二着色器。渲染引擎至少包括用于采样第一数据集合的采样相机并且构造为经由第一filmbox(fbx)文件接收第一模型。通过外部模型建立器创建第一模型,并且第一fbx文件包括基于第二数据集合附着至第一模型的第一虚拟图像的信息,第二数据集合通过uv映射从第一数据集合转换而来。渲染引擎构造为经由第二fbx文件接收第二模型。第二fbx文件包括基于第三数据集合附着至第二模型的第二虚拟图像,第三数据集合通过uv映射从第一数据集合转换而来。

可选地,通过外部模型建立器基于与显示屏幕对应的矩形体将第一模型产生为第一数量的矩形条状体,每个矩形条状体具有像素的第一宽度和一行第二数量的像素的第一长度并且通过一行像素与相邻的矩形条状体分隔开。第二模型由与显示屏幕对应的、具有第二宽度和第二长度的矩形体表征,第二宽度等于一行像素的第一长度,第二长度等于两倍于第一数量行的像素的第一宽度之和。第一数量和第二数量分别表示与显示屏幕相关联的竖直显示分辨率的一半和横向显示分辨率的一半。

可选地,渲染引擎包括一个或多个计算机可执行指令,其用于基于第一模型渲染第二数据集合以形成第一虚拟图像并且基于第二模型渲染第三数据集合以形成第二虚拟图像。

可选地,第一着色器包括一个或多个计算机可执行指令,其用于对第一虚拟图像调整颜色、纹理、以及网格信息,以获得第一像素排列的第四数据集合,第一像素排列的每行像素以真实rgb子像素顺序排列。

可选地,第二着色器包括一个或多个计算机可执行指令,其用于对第二虚拟图像调整颜色、纹理、以及网格信息,以获得第二像素排列的第五数据集合,在第二像素排列中,每行像素的数量是第一像素排列中每行像素的数量的一半,每个奇数行像素保持为与第一像素排列一样的真实rgb子像素顺序,并且偶数行中的一个颜色的每个子像素移动至奇数行中的两个不同颜色的两个子像素之间的位置。

可选地,所述一个或多个处理器还包括一个或多个计算机可执行指令,其用于将第四数据集合叠加在第五数据集合上以产生样本图像,所述样本图像的全部奇数行像素由第四数据集合产生并且所述样本图像的全部偶数行像素由第五数据集合产生。所述一个或多个处理器还包括一个或多个计算机可执行指令,其用于将第六数据集合输出至第二像素排列的显示屏幕以在显示屏幕中显示图像,所述图像的横向显示分辨率为每行的第二数量的像素的物理分辨率的两倍并且所述图像的竖直显示分辨率与第一数量行的像素的物理分辨率相同。

在另一方面,本公开提供了一种显示设备,其包括耦接至本文所述的实时图像处理设备的显示屏幕。

在另一方面,本公开提供了一种计算机产品,其包括其上具有计算机可读指令的非暂时性有形计算机可读介质。所述计算机可读指令由处理器可执行,以使得处理器执行以下步骤,包括:采样将在具有第二像素排列的像素的显示屏幕中实时地显示为图像的第一像素排列的第一数据集合;将第一数据集合映射至用于渲染引擎的第一模型以产生第二数据集合;将第一数据集合映射至用于渲染引擎的第二模型以产生第三数据集合;将第二数据集合和第三数据集合加载至渲染引擎;利用与第一像素排列相关联的第一着色器通过渲染引擎处理第二数据集合以输出第四数据集合;利用与第二像素排列相关联的第二着色器通过渲染引擎处理第三数据集合以输出第五数据集合;以及,将第四数据集合叠加在第五数据集合上以获得第六数据集合。

在另一方面,本公开提供了一种基于渲染引擎实时处理图像数据的方法。所述方法包括:为渲染引擎和着色器创建基于具有第一像素排列的显示面板的显示模型,所述着色器与渲染引擎相关联,用于写具有第一像素排列的数据。此外,所述方法包括:基于渲染引擎中具有第二像素排列的第一图像数据集合,从场景实时地采样第一图像数据集合。所述方法还包括:通过渲染引擎和着色器,基于显示模型渲染第一图像数据集合,以获得具有第一像素排列的第二图像数据集合。此外,所述方法包括:基于渲染引擎中的具有第一像素排列的第二图像数据集合,从场景实时地采样第二图像数据集合。此外,所述方法包括:向显示面板输出第二图像数据集合以显示图像。

附图说明

以下附图仅为根据所公开的各种实施例的用于示意性目的的示例,而不旨在限制本发明的范围。

图1是示出根据本公开的一些实施例的实时处理图像数据以在显示屏幕中显示的方法的流程图。

图2是示出根据本公开的一些实施例中的将第一像素排列转换为显示屏幕中的第二像素排列的示意图。

图3是示出根据本公开的实施例的用于与具有第二像素排列的像素的显示屏幕相关联的渲染引擎的第一模型(左侧)和第二模型(右侧)的示意图。

图4是根据本公开的一些实施例的用于处理第二像素排列的图像数据的着色器中的示例性代码片段。

图5是示出根据本公开的一些实施例的渲染引擎中所产生的虚拟图像的示意图。

图6是示出根据本公开的一些实施例中的以第一像素排列显示的原始图像、通过渲染引擎产生的第二像素排列的样本图像、以及在显示屏幕中通过加亮样本图像而显示的图像的示例图。

具体实施方式

现在将参照以下实施例更具体地描述本公开。需注意,以下对一些实施例的描述仅针对示意和描述的目的而呈现于此。其不旨在是穷尽性的或者受限为所公开的确切形式。

已提出用于改善显示图像分辨率的一种技术,用于重新排列显示屏幕中的像素排列,从而利用显示屏幕上排列的更少数量的像素来实现所显示图像的更高显示分辨率。这通常需要向显示屏幕的驱动器集成电路(驱动器ic)直接增加物理的图像处理电路,以在在已经重新排列了像素排列的显示屏幕中显示图像之前处理图像数据。仍期望一种执行实时图像数据处理的改进技术,以在具有重新排列的像素排列的显示屏幕中显示图像。

因此,本公开特别提供了基于渲染引擎实时处理图像数据的方法、具有其的实时图像处理设备及其显示设备,其实质上消除了由于相关技术的限制和缺陷而导致的问题中的一个或多个。在一方面,本公开提供了一种基于渲染引擎实时处理图像数据的方法,所述渲染引擎与已经重新排列了其像素排列以改善显示分辨率的显示屏幕相关联。图1是示出根据本公开的一些实施例的实时处理图像数据以在显示屏幕中显示的方法的流程图。在实施例中,在将本来提供以在具有第一(普通)像素排列的像素的显示屏幕上显示的图像数据提供以在具有第二像素排列的更少数量的像素的显示屏幕中以同一显示分辨率显示之前,该图像数据由渲染引擎实时地处理。

参照图1,首先,所述方法包括步骤:采样将在具有第二像素排列的像素的显示屏幕中显示为图像的第一像素排列的第一数据集合。可选地,显示屏幕中的第一像素排列是每行像素的普通排列,其中的每个像素为rgb子像素顺序。换言之,每行中的每个像素包括连续顺序的三个子像素,其中一个红色子像素跟随有另一个绿色子像素,并且最后一个是蓝色子像素。基于本来用于具有第一像素排列的显示面板上的第一数据集合,显示面板中所显示的图像应当具有的显示分辨率实质上与同具有第一像素排列的显示面板相关联的物理像素分辨率相同。然而,对于具有以第二像素排列重新排列的像素的显示屏幕而言,第一数据集合无法用于直接在显示屏幕中显示图像,因为像素重新排列可导致所显示图像的异常。本公开的方法旨在通过与显示屏幕相关联的渲染引擎实时地处理第一数据集合,使得可以输出经处理的新的数据集合以在具有第二像素排列的显示屏幕中显示图像。

图2示出了第一像素排列被重新排列为第二像素排列的示例。可选地,第二像素排列是所谓的bv3像素排列,其横向物理像素分辨率为第一像素排列的横向物理像素分辨率的一半。参照图2,第一像素排列中布置的具有六列像素的第一像素阵列(左侧)被重新排列为第二像素排列中的具有三列像素的第二像素阵列(右侧)。此外,第二像素阵列中的奇数行像素保持为与第一像素排列中一样的rgb子像素顺序,但是第二像素阵列中的偶数行像素改变为brg子像素顺序,并且偶数行中的一个颜色的每个子像素移动至奇数行中的两个不同颜色的两个最接近的子像素之间的位置。在具体实施例中,可以将根据原始图像的第一像素排列的六列像素的灰度级转换为第二像素排列的三列像素的按比例(scaled)的灰度级,然后显示屏幕的实际像素被分配对应的按比例的灰度级以显示与原始图像具有相同显示分辨率的图像。有效地,具有第二像素排列的显示屏幕实现了物理像素分辨率的两倍以上的显示分辨率。可选地,与像素排列相关联的上述灰度级转换可以通过在驱动器集成电路(驱动器ic)中增加数据信号处理器来实现,以提供按比例的灰度级来驱动显示屏幕中的像素。可选地,与像素排列相关联的上述灰度级转换可以通过经由与显示屏幕相关联的虚拟渲染引擎的数据处理来实现,而无需变更驱动器ic。

返回参照图1,所述方法还包括:基于第二像素排列的显示屏幕创建用于渲染引擎的第一模型和第二模型。渲染引擎是各种算法的集合,用于在计算机中基于以抽象方式表示真实对象的多边形或各种曲线来计算或处理图像数据。通常,渲染引擎是“3d”渲染引擎,其用于在计算机内建立“真实世界”,基于其可以实现实时图像处理,并且可以实时地通过3d渲染引擎处理数据集合并将其输出至显示屏幕。在一些实施例中,将与第一像素排列相关联的原始图像数据转换为用于第二像素排列(例如,bv3像素排列)的显示屏幕的可显示数据是基于所述两个模型在渲染引擎下进行的。图3示出根据本公开的实施例的用于与具有第二像素排列的像素的显示屏幕相关联的渲染引擎的第一模型(左侧)和第二模型(右侧)的示意图。

可选地,采样第一像素排列的第一数据集合的步骤是利用与关联于显示屏幕的渲染引擎相关联的采样相机实时地收集第一数据集合。可选地,采样相机是虚拟正交投影相机或虚拟透视投影相机。可选地,图像虚拟地显示在(第一像素排列的)显示屏幕上并且从采样相机朝向特定方向投射至矩形区域,通过采样相机从该矩形区域收集图像数据的灰度级,并且将其保存至虚拟引擎的存储器。

参照图1和图3,创建第一模型和第二模型通过利用外部的模型建立器软件来实现并且在任一渲染操作之前执行。在实施例中,诸如3dsmax之类的模型建立器软件可用于基于显示屏幕创建第一模型,所述显示屏幕通常为矩形形状并且由具有第二像素排列的像素阵列的显示分辨率表征。在一个示例中,第二像素排列是bv3像素排列,如上在图2中所述。

参照图3,在与显示屏幕对应的矩形区域300中,第一模型产生为第一数量的矩形条状体310,每个矩形条状体具有像素的第一宽度和一行第二数量的像素的第一长度并且与相邻的矩形条状体分隔开第一宽度。第二模型由与显示屏幕直接对应的、具有第二宽度和第二长度的矩形体表征,第二宽度等于一行像素的第一长度,第二长度等于两倍于第一数量行的像素的第一宽度之和。参照图3,一行像素的第一宽度标记为w。上述第一数量表示为1/2·n并且第二数量表示为1/2·m,假设存在bv3像素排列的1/2·m×n像素阵列,所述bv3像素排列构造为以按照m×n图像像素的图像分辨率(其是1/2·m×nbv3像素的物理分辨率的两倍)显示图像。例如,利用仅720×2560的bv3像素,目标显示分辨率是1440×2560。第一长度或第二宽度则表示为1/2·m。第二长度表示为n。因此,在第一模型中,第一个矩形条状体(1/2·n数量的矩形条状体310中的一个,表示为1)与矩形区域300的与显示屏幕中的第一行像素对应的顶部边缘对齐,并且最后一个矩形条状体(1/2·n数量的矩形条状体310中的一个,表示为1/2·n)是远离显示屏幕的矩形区域300的底部边缘的一行(具有第一宽度w)。

返回参照图1,所述方法还包括步骤:将第一数据集合映射至第一模型以产生第二数据集合,并将第一数据集合映射至第二模型以产生第三数据集合。一旦建立了第一模型,则形成包含第一数量的矩形条状体310的空白帧。该步骤旨在将基于存储器中保存的图像数据的图片附着至空白帧上。具体地,将基于第一数据集合的虚拟图像附着至第一数量的矩形条状体。在实施例中,将第一数据集合映射至第一模型包括:基于用于将第一数据集合转换为第二数据集合的uv映射(其是将2d图像投射至3d模型的表面以用于纹理映射的3d建模处理中的图像数据转换算法)产生第一虚拟图像。第一虚拟图像实质上表示附着至第一模型的全部矩形条状体的纹理,其中第一虚拟图像的第一边缘与第一数量的矩形条状体310中的第一个对齐。一旦第一虚拟图像附着至第一模型的各个矩形条状体,则第一模型成为构造的模型。可选地,可以在任意渲染操作之前通过模型建立器软件执行上述步骤。一旦构造了第一模型,则模型建立器软件可以输出携带与构造的第一模型相关联的第二数据集合的信息的第一fbx文件。术语fbx指的是filmbox文件格式。类似地,一旦建立了第二模型,则形成单个矩形体320的空白帧。然后,将第一数据集合映射至第二模型以产生第三数据集合的步骤包括:通过按照uv映射将第一数据集合转换为第三数据集合来产生第二虚拟图像,该第二虚拟图像实质上表示附着至第二模型的单个矩形体320的纹理。一旦构造了其中第二虚拟图像附着至矩形体320的第二模型,则模型建立器软件可以输出携带与构造的第二模型相关联的第三数据集合的信息的第二fbx文件。fbx文件是在许多图像处理器(包括渲染引擎)中使用的若干种图像数据文件格式之一。如本文所用,术语“uv映射”指的是将2d图像投射至3d模型的表面以用于纹理映射的3d建模处理。uv映射将3d对象转换至被称作纹理的图像上。

参照图1,基于渲染引擎实时处理图像数据的方法还包括步骤:将第二数据集合和第三数据集合加载至渲染引擎。在具体实施例中,从模型建立器软件将第一fbx文件和第二fbx文件分别加载至渲染引擎以运行渲染操作。在另一具体实施例中,可以在渲染之前建立模型,但是也可以实时地执行基于实时采样原始数据的uv映射之后产生模型的fbx文件。

此外,基于渲染引擎实时处理图像数据的方法包括步骤:创建与第一像素排列相关联的第一着色器和与第二像素排列相关联的第二着色器。如本文所用,术语“着色器”指的是包括渲染引擎的一个或多个图像处理器下的软件代码的一部分,基于其在由渲染引擎执行的渲染处理下将关于颜色、纹理和网格的信息添加至图像。图4是根据本公开的一些实施例的用于处理第二像素排列的图像数据的着色器中的示例性代码片段。可选地,创建第一着色器以定义对第一像素排列的图像数据的一个或多个可编程处理,第一像素排列中的每行像素以真实rgb子像素顺序排列。可选地,创建第二着色器以定义对第二像素排列的图像数据的一个或多个可编程处理,在第二像素排列中,每个奇数行像素保持为与第一像素排列一样的真实rgb子像素顺序,并且每个偶数行像素改变为brg子像素顺序并且偶数行中的一个颜色的每个子像素移动至奇数行中的两个不同颜色的两个最接近的子像素之间的位置。

如上所述,为第一或普通像素排列的显示屏幕而指定的图像数据需要被处理以将该图像数据转换为在第二或bv3像素排列的显示屏幕上显示。在实施例中,一旦将fbx文件加载至渲染引擎,则操作渲染引擎以对fbx文件中编码的虚拟图像执行渲染处理。可选地,通过渲染引擎渲染与第一模型相关联的第一虚拟图像。通过渲染引擎渲染与第二模型相关联的第二虚拟图像。再次参照图1,所述方法还包括:利用第一着色器通过渲染引擎处理第二数据集合以输出第四数据集合的步骤,以及利用第二着色器通过渲染引擎处理第三数据集合以输出第五数据集合的步骤。可选地,在图像渲染处理期间分别利用第一着色器和第二着色器处理对应的第二数据集合和第三数据集合,从而调整其颜色、纹理、以及网格信息。

图5是示出根据本公开的一些实施例的渲染引擎中所产生的虚拟图像的示意图。参照图5,为了完成bv3图像处理(其最终将要在具有第一像素排列的像素的屏幕上显示的原始图像转换为要在具有第二像素排列的像素的屏幕上显示的转换的图像数据),需要两个模型。如图5所示,在渲染处理中利用第一着色器处理第二数据集合以获得第四数据集合,基于第一模型310(参见图3)产生第一样本图像510,其是图5的左侧的3d立体图中列出的两个图像之中的位于前方位置的图像。第一着色器与第一像素排列相关联,在第一像素排列中,每行像素是普通rgb子像素顺序。由于第一模型310包括的全部矩形条状体(真实物理体)布置在与仅全部奇数行像素对齐的位置处(例如,与偶数行像素对齐的位置上的部分是空的),因此第一样本图像510实际上仅由这些奇数行像素显示。同时,在渲染处理中利用第二着色器处理第三数据集合以获得第五数据集合,基于第二模型320(参见图3)产生第二样本图像520。第二样本图像520在图5的左侧的3d立体图中列出的两个图像之中位于后方位置。第二着色器与bv3像素排列的第二像素排列相关联,在bv3像素排列中,奇数行像素仍然为rgb子像素顺序,但是偶数行像素改变为brg子像素顺序,并且相对横向移动部分像素长度以形成与普通线形像素相比的实质三角形的像素。在这种重新排列的像素排列的全部相邻像素之间还可以通过第二着色器优化颜色、纹理等信息。结果,通过第二像素排列的全部的奇数行和偶数行的像素来显示第二样本图像520。

再次参照图1,所述方法包括步骤:将第四数据集合叠加在第五数据集合上以获得第六数据集合。具体地,采用渲染引擎执行将前方的第一样本图像510叠加在后方的第二样本图像520上。图5右边的叠加图像500为第一样本图像510叠加到第二样本图像520后在2d视角下的图像。有效地,与第一样本图像中的奇数行像素相关联的图像数据覆盖与第二样本图像中的奇数行像素相关联的图像数据。由于在第一样本图像510中,偶数行像素根本未出现,因此将第一样本图像510叠加在第二样本图像520上保持了第二样本图像中的全部偶数行像素。换言之,第六数据集合通过以下方式形成:其全部奇数行像素来自rgb子像素顺序的第四数据集合并且其全部偶数行像素来自brg子像素顺序的第五数据集合并且位置相对地转移,其中全部像素为第二像素排列。

可选地,渲染引擎还至少包括采样相机,其用于采样渲染引擎输出的虚拟图像方面的第六数据集合。此外,所述方法包括步骤:将第六数据集合发送至具有第二像素排列的像素的显示屏幕以显示图像。图6示出了根据本公开的实施例的以第一像素排列显示的原始图像、通过渲染引擎产生的第二像素排列的样本图像、以及在显示屏幕中通过加亮样本图像而显示的图像的示例图。参照图6,以m×n像素的显示分辨率利用第一像素排列显示原始图像600。此外,在中间示出了虚拟图像700,其基于本文所述方法经过渲染引擎的bv3处理并且输出为bv3像素排列的1/2·m×n像素形成的图像。在图6的右侧,在具有bv3像素排列的显示屏幕中加载与虚拟图像700相关联的图像数据并加亮之后,通过该显示屏幕显示具有与m×n像素对应的显示分辨率的显示图像800。仅以示例方式示出本文所述方法能够有效地为要在具有改变的像素排列的显示屏幕中显示的图像数据提供实时处理。

在另一方面,本公开提供了一种与具有改变的像素排列的显示面板或屏幕相关联的实时图像处理设备。该实时图像处理设备包括存储器和一个或多个处理器。所述存储器和所述一个或多个处理器彼此连接。所述连接可以通过网络,比如无线网络、有线网络和/或无线网络与有线网络的任意组合。网络可以包括局域网、互联网、电信网络(物联网)、和/或上述网络的任意组合等。有线网络可以通过以下方式通信:双绞线、同轴电缆、或光纤传输。可以使用诸如3g/4g/5g移动通信网络、蓝牙、zigbee或wi-fi之类的无线通信网络。存储器存储用于控制所述一个或多个处理器的计算机可执行指令。存储器可以包括静态随机存取存储器(sram)、电可擦除可编程只读存储器(eeprom)、可擦除可编程只读存储器(eprom)、只读存储器(rom)、磁存储器、闪速存储器、盘、或光盘。在实施例中,一个或多个计算机可执行指令控制所述一个或多个处理器以:采样将在具有第二(改变的)像素排列的像素的显示屏幕中显示为图像的第一(普通的)像素排列的第一数据集合。在另一个实施例中,一个或多个计算机可执行指令控制所述一个或多个处理器以:基于显示屏幕创建用于渲染引擎的第一模型和第二模型。在另一个实施例中,一个或多个计算机可执行指令控制所述一个或多个处理器以:将第一数据集合映射至第一模型以产生第二数据集合,并将第一数据集合映射至第二模型以产生第三数据集合。在另一个实施例中,一个或多个计算机可执行指令控制所述一个或多个处理器以:将第二数据集合和第三数据集合加载至渲染引擎。在另一个实施例中,一个或多个计算机可执行指令控制所述一个或多个处理器以:利用与第一像素排列相关联的第一着色器通过渲染引擎处理第二数据集合以输出第四数据集合,并且利用与第二像素排列相关联的着色器通过渲染引擎处理第三数据集合以输出第五数据集合。在另一个实施例中,一个或多个计算机可执行指令控制所述一个或多个处理器以:将第四数据集合叠加在第五数据集合上以获得第六数据集合。可以将第六数据集合发送至显示面板或屏幕以显示为改变的像素排列的图像。

可选地,所述一个或多个处理器包括:渲染引擎、第一着色器、以及第二着色器。渲染引擎至少包括用于采样第一数据集合的采样相机。渲染引擎构造为经由第一fbx文件接收第一模型。第一模型由外部模型建造器创建。产生第一fbx文件,其具有基于第二数据集合附着至第一模型的第一虚拟图像的信息,所述第二数据集合通过uv映射从第一数据集合转换而来。渲染引擎还构造为经由第二fbx文件接收第二模型。产生第二fbx文件,其具有基于第三数据集合附着至第二模型的第二虚拟图像的信息,所述第三数据集合通过uv映射从第一数据集合转换而来。

可选地,渲染引擎包括一个或多个计算机可执行指令,其用于基于第一模型渲染第二数据集合以形成第一虚拟图像并且基于第二模型渲染第三数据集合以形成第二虚拟图像。

可选地,第一着色器包括一个或多个计算机可执行指令,其用于对第一虚拟图像调整颜色、纹理、以及网格信息,以获得第一像素排列的第四数据集合,第一像素排列的每行像素以真实rgb子像素顺序排列。第二着色器包括一个或多个计算机可执行指令,其用于对第二虚拟图像调整颜色、纹理、以及网格信息,以获得第二像素排列的第五数据集合。在特定实施例中,在第二像素排列中,每行像素的数量为第一像素排列中每行像素数量一半。每个奇数行像素保持为与第一像素排列一样的真实rgb子像素。偶数行中的一个颜色的每个子像素移动至奇数行中两个不同颜色的两个子像素之间的位置。

可选地,所述一个或多个处理器还包括一个或多个计算机可执行指令,其用于将第四数据集合叠加在第五数据集合上以产生样本图像,所述样本图像的全部奇数行像素由第四数据集合产生并且所述样本图像的全部偶数行像素由第五数据集合产生。第六数据集合被输出至第二像素排列的显示屏幕以在显示屏幕中显示图像,所述图像的横向显示分辨率为每行的第二数量的像素的物理分辨率的两倍并且所述图像的竖直显示分辨率与第一数量行的像素的物理分辨率相同。

在一个实施例中,所述一个或多个处理器包括中央处理单元(cpu)或现场可编程逻辑阵列(fpga)、微控制器(mcu)、数字信号处理器(dsp)、专用集成电路(asic)、或具有处理能力和/或程序执行能力的图形处理单元(gpu)。一个或多个处理器可以构造为形成处理器群以同时执行上述渲染方法。替代性地,一些处理器执行上述渲染方法的部分步骤,并且一些处理器执行上述渲染方法的其他部分步骤。

在另一方面,本公开提供了一种显示设备,其包括耦接至本文所述的实时图像处理设备的显示屏幕。显示设备选自以下各项之一:vr/ar显示器、智能电话、笔记本计算机、膝上计算机、tv、显示器、数字相框、gps装置、以及具有本文所述的显示功能的任意产品。

在另一方面,本公开提供了一种计算机产品,其包括其上具有计算机可读指令的非暂时性有形计算机可读介质。所述计算机可读指令由处理器可执行,以使得处理器执行:采样将在具有第二像素排列的像素的显示屏幕中实时地显示为图像的第一像素排列的第一数据集合;将第一数据集合映射至用于渲染引擎的第一模型以产生第二数据集合;将第一数据集合映射至用于渲染引擎的第二模型以产生第三数据集合;将第二数据集合和第三数据集合加载至渲染引擎;利用与第一像素排列相关联的第一着色器通过渲染引擎处理第二数据集合以输出第四数据集合;利用与第二像素排列相关联的第二着色器通过渲染引擎处理第三数据集合以输出第五数据集合;以及,将第四数据集合叠加在第五数据集合上以获得第六数据集合。

可选地,计算机可读指令预加载至与显示设备的显示面板或屏幕相关联的渲染引擎。

在替代实施例中,本公开提供了一种基于渲染引擎实时处理图像数据的方法,用于基于以第二像素排列供应的数据在以第一像素排列构造的显示面板上显示图像。可选地,显示面板为属于虚拟现实显示设备的显示面板。所述方法包括:为渲染引擎和着色器创建基于以第一像素排列构造的显示面板的显示模型,所述渲染引擎内建于所述显示面板中,所述着色器与渲染引擎相关联,用于写具有第一像素排列的数据。可选地,利用外部模型建立器软件基于以第一像素排列构造的显示面板的3d几何形状单独地创建显示模型。可选地,创建显示模型包括:在显示模型上设置像素转换映射,以将第二像素排列转换为第一像素排列。可选地,将包括像素转换映射的显示模型加载至渲染引擎。此外,所述方法包括:基于渲染引擎中具有第二像素排列的第一图像数据集合,从场景实时地采样第一图像数据集合。随着第一图像数据集合被供应至渲染引擎作为其中的虚拟场景,利用与渲染引擎相关联的内部相机采样第一图像数据集合。此外,所述方法包括:通过渲染引擎和着色器,基于显示模型渲染图像数据,以获得具有第一像素排列的第二图像数据集合。此外,所述方法包括:基于渲染引擎中的具有第一像素排列的第二图像数据集合,从场景实时地采样第二图像数据集合。再一次地,可以利用与渲染引擎相关联的内部相机收集第二图像数据集合。此外,所述方法包括:从渲染引擎向显示面板输出第二图像数据集合以显示第一像素排列的图像。

出于示意和描述目的已示出对本发明实施例的上述描述。其并非旨在穷举或将本发明限制为所公开的确切形式或示例性实施例。因此,上述描述应当被认为是示意性的而非限制性的。显然,许多修改和变形对于本领域技术人员而言将是显而易见的。选择和描述这些实施例是为了解释本发明的原理和其最佳方式的实际应用,从而使得本领域技术人员能够理解本发明适用于特定用途或所构思的实施方式的各种实施例及各种变型。本发明的范围旨在由所附权利要求及其等同形式限定,其中除非另有说明,否则所有术语以其最宽的合理意义解释。因此,术语“发明”、“本发明”等不一定将权利范围限制为具体实施例,并且对本发明示例性实施例的参考不隐含对本发明的限制,并且不应推断出这种限制。本发明仅由随附权利要求的精神和范围限定。此外,这些权利要求可涉及使用跟随有名词或元素的“第一”、“第二”等术语。这种术语应当理解为一种命名方式而非意在对由这种命名方式修饰的元素的数量进行限制,除非给出具体数量。所描述的任何优点和益处不一定适用于本发明的全部实施例。应当认识到的是,本领域技术人员在不脱离随附权利要求所限定的本发明的范围的情况下可以对所描述的实施例进行变化。此外,本公开中没有元件和组件是意在贡献给公众的,无论该元件或组件是否明确地记载在随附权利要求中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1