一种图像渲染方法及装置与流程

文档序号:15640903发布日期:2018-10-12 22:03阅读:170来源:国知局

本发明涉及图像处理技术领域,尤其涉及一种图像渲染方法及装置。



背景技术:

由于虚拟现实设备目镜尺寸有限,通常仅使用小尺寸单镜片组成虚拟现实设备的光学系统,该小尺寸目镜所造成的畸变和色散程度明显,严重影响设备使用者的观看体验。其中,畸变指的是在使用目镜拍摄或观察物体时,观测视野四周被拍摄或观察为卷翘、膨鼓等扭曲等失真现象,一般是由目镜本身的特性所导致,而色散则是由不同色光在视野中不同程度的畸变所导致。因此,为了纠正观测者所观测到的画面,需要事先对渲染至目镜上的图像进行反畸变反色散处理,使观测者可以通过虚拟现实设备的目镜观测到无畸变效果的显示画面。

目前常用的反畸变反色散方法,一般是利用畸变解析式,在将待处理图像渲染至目镜时,根据目镜的畸变效果,逐像素点的计算待处理图像中每个像素点的位置偏移,对待处理图像进行与畸变对应的反向偏移,抵消目镜的畸变效果,从而使得观测者从目镜上观测到正常的显示画面。

虽然上述逐像素点偏移的方法能够保证反畸变反色散的效果和准确度,但是该方法的计算开销大,在后续gpu渲染管线的数据传输、光栅化、顶点差值等处理环境需要大量的时间消耗,渲染效率低下。



技术实现要素:

为了解决现有技术问题,本发明提供了一种图像渲染方法及装置,能够解决现有技术中反畸变反色散的准确度与渲染效率二者无法兼得的问题,提高反畸变反色散处理的准确度和后续渲染的效率。

本发明实施例提供的一种图像渲染方法,包括:

获得待显示图像;

利用预先构建的渲染模型和畸变模型,将所述待显示图像渲染显示至目镜;

其中,所述渲染模型包括多个几何图元,每个所述几何图元的大小与该几何图元与所述渲染模型中心点的距离成负相关关系。

可选的,所述利用预先构建的渲染模型对所述待显示图像渲染显示至目镜,之前还包括:

利用预先得到的分布函数,确定所述渲染模型中每个几何图元的顶点坐标;所述分布函数的图像为钟形对称平滑曲线;

根据所述每个几何图元的顶点坐标,构建所述渲染模型。

可选的,所述利用预先得到的分布函数,确定所述渲染模型中每个几何图元的顶点坐标,具体包括:

根据预设图元密度参数构建所述分布函数;

对所述分布函数进行两次均匀采样,分别获得m个幅值和n个幅值;所述渲染模型包括m行n列几何图元,或n行m列几何图元;

分别对所述m个幅值和所述n个幅值进行归一化处理;

根据归一化结果,确定所述渲染模型中每个几何图元顶点的横坐标和纵坐标。

可选的,所述渲染模型包括第一子模型和至少两个第二子模型,所述第一子模型对应所述待显示图像型的中央视野区,每个所述第二子模型均对应所述待显示图像的外部视野区;所述待显示图像包括:所述中央视野区和所述外部视野区,所述中央视野区包括所述待显示图像的中心,所述外部视野区在所述中央视野区的外围;所述第一子模型中几何图元的大小与该几何图元与所述渲染模型中心点的距离成负相关关系,每个所述第二子模型分别对应所述待显示图像的不同色光,每个所述第二子模型中几何图元的大小与该几何图元与所述渲染模型中心点的距离成负相关关系;

则,所述利用预先构建的渲染模型对所述待显示图像进行渲染显示,具体包括:

利用所述第一子模型对所述中央视野区进行渲染显示,并利用每个所述第二子模型,分别对所述外部视野区的对应色光进行渲染显示。

可选的,所述利用预先构建的渲染模型对所述待显示图像渲染显示至目镜,之前还包括:

根据所述目镜的参数,确定所述待显示图像不同位置的形变率;

当所述形变率大于预设阈值时,将该形变率对应的位置定为所述中央视野区和所述外部视野区的分界线;

利用预先得到的分布函数和所述分界线,确定所述第一子模型和每个所述第二子模型中每个几何图元的顶点坐标;所述分布函数的图像为钟形对称平滑曲线;

根据所述顶点坐标,构建所述第一子模型和每个所述第二子模型。

可选的,所述利用所述分布函数和所述分界线,确定所述第一子模型和每个所述第二子模型中每个几何图元的顶点坐标,具体包括:

根据与目标子模型对应的预设图元密度参数构建所述分布函数,所述目标子模型为所述第一子模型或所述第二子模型;

对所述分布函数进行两次均匀采样,分别获得m个幅值和n个幅值;所述目标模型包括m行n列几何图元,或n行m列几何图元;

分别对所述m个幅值和所述n个幅值进行归一化处理;

根据归一化结果,确定所述目标子模型中每个几何图元的顶点坐标;

当所述目标子模块为所述第一子模型时,根据所述分界线,确定所述目标子模型中对应所述中央视野区的几何图元的顶点坐标,得到所述第一子模型中每个几何图元的顶点坐标;

当所述目标子模块为所述第二子模型时,根据所述分界线,确定所述目标子模型中对应所述外部视野区的几何图元,得到所述第二子模型中每个几何图元的顶点坐标。

本发明实施例提供的一种图像渲染装置,包括:数据获取模块和图像渲染模块;

所述数据获取模块,用于获得待显示图像;

所述图像渲染模块,用于利用预先构建的渲染模型和畸变模型,将所述待显示图像渲染显示至目镜;

其中,所述渲染模型包括多个几何图元,每个所述几何图元的大小与该几何图元与所述渲染模型中心点的距离成负相关关系。

可选的,所述装置,还包括:顶点确定模块和模型构建模块;

所述顶点确定模块,用于利用预先得到的分布函数,确定所述渲染模型中每个几何图元的顶点坐标;所述分布函数的图像为钟形对称平滑曲线;

所述模型构建模块,用于根据所述每个几何图元的顶点坐标,构建所述渲染模型。

可选的,所述顶点确定模块,具体包括:曲线构建子模块、数据采样子模块、数据处理子模块和坐标确定子模块;

所述曲线构建子模块,用于根据预设图元密度参数构建所述分布函数;

所述数据采样子模块,用于对所述分布函数进行两次均匀采样,分别获得m个幅值和n个幅值;所述渲染模型包括m行n列几何图元,或n行m列几何图元;

所述数据处理子模块,用于分别对所述m个幅值和所述n个幅值进行归一化处理;

所述坐标确定子模块,用于根据归一化结果,确定所述渲染模型中每个几何图元顶点的横坐标和纵坐标。

可选的,所述渲染模型包括第一子模型和至少两个第二子模型,所述第一子模型对应所述待显示图像型的中央视野区,每个所述第二子模型均对应所述待显示图像的外部视野区;所述待显示图像包括:所述中央视野区和所述外部视野区,所述中央视野区包括所述待显示图像的中心,所述外部视野区在所述中央视野区的外围;所述第一子模型中几何图元的大小与该几何图元与所述渲染模型中心点的距离成负相关关系,每个所述第二子模型分别对应所述待显示图像的不同色光,每个所述第二子模型中几何图元的大小与该几何图元与所述渲染模型中心点的距离成负相关关系;

则,所述图像渲染模块,具体用于:

利用所述第一子模型对所述中央视野区进行渲染显示,并利用每个所述第二子模型,分别对所述外部视野区的对应色光进行渲染显示。

可选的,所述装置,还包括:形变确定模块、分界确定模块、顶点确定模块和模型构建模块;

所述形变确定模块,用于根据所述目镜的参数,确定所述待显示图像不同位置的形变率;

所述分界确定模块,用于当所述形变率大于预设阈值时,将该形变率对应的位置定为所述中央视野区和所述外部视野区的分界线;

所述顶点确定模块,用于利用预先得到的分布函数和所述分界线,确定所述第一子模型和每个所述第二子模型中每个几何图元的顶点坐标;所述分布函数的图像为钟形对称平滑曲线;

所述模型构建模块,用于根据所述顶点坐标,构建所述第一子模型和每个所述第二子模型。

可选的,所述顶点确定模块,具体包括:曲线构建子模块、数据采样子模块、数据处理子模块、第一确定子模块和第二确定子模块;

所述曲线构建子模块,用于根据与目标子模型对应的预设图元密度参数构建所述分布函数,所述目标子模型为所述第一子模型或所述第二子模型;

所述数据采样子模块,用于对所述分布函数进行两次均匀采样,分别获得m个幅值和n个幅值;所述目标模型包括m行n列几何图元,或n行m列几何图元;

所述数据处理子模块,用于分别对所述m个幅值和所述n个幅值进行归一化处理;

所述第一确定子模块,用于根据归一化结果,确定所述目标子模型中每个几何图元的顶点坐标;

所述第二确定子模块,用于当所述目标子模块为所述第一子模型时,根据所述分界线,确定所述目标子模型中对应所述中央视野区的几何图元的顶点坐标,得到所述第一子模型中每个几何图元的顶点坐标;还用于当所述目标子模块为所述第二子模型时,根据所述分界线,确定所述目标子模型中对应所述外部视野区的几何图元,得到所述第二子模型中每个几何图元的顶点坐标。

与现有技术相比,本发明至少具有以下优点:

在本发明实施例中,在获取到待显示的图像后,利用预先构建的图元稀疏程度不同的渲染模型和畸变模型将待显示图像渲染显示至目镜,渲染模型中几何图元的大小与该几何图元与渲染模型中心点的距离成负相关关系。渲染时,可以根据渲染模型对应的待显示图像中有限个参考像素点,利用畸变模型生成有限个畸变偏移位置点对,在渲染中通过修改纹理与模型的映射坐标,实现全图中畸变偏移的致密插值。由于图像的畸变和色散程度随着与中心点的距离增加而变大,对畸变色散程度较小的图像中央视野区,利用稀疏的几何图元进行渲染显示,减少了中央视野区参考像素点的数量,减少了gpu渲染管线片元着色器中采样器的频繁调用,极大提高了运算效率,提高了渲染效率,节约计算资源,降低功耗。而对畸变色散程度较大的外部视野区,利用致密的几何图元进行渲染显示,保证了反畸变渲染的准确度。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1a为一种待显示图像的示意图;

图1b为图1a所示的待显示图像发生枕形畸变的示意图;

图1c为图1a所示的待显示图像经反畸变处理后的示意图;

图2为本发明实施例提供的一种图像渲染方法的流程示意图;

图3a为一种渲染模型的示意图;

图3b为本发明具体实施例提供的一种渲染模型的示意图;

图4a为人眼经目镜观测待显示图像的状态示意图;

图4b为人眼经目镜观测待显示图像的观测结果示意图;

图5为一种纹理坐标的示意图;

图6为本发明具体实施例提供的一种图像渲染方法的流程示意图;

图7为本发明具体实施例中预先得到的分布函数的曲线图;

图8为本发明实施例提供的另一种图像渲染方法的流程示意图;

图9为待显示图像中蓝色光、绿色光以及红色光的形变率的曲线图;

图10a为本发明具体实施例提供的一种渲染模型的顶点示意图;

图10b为本发明具体实施例提供的另一种渲染模型的示意图;

图11为本发明实施例提供的一种图像渲染装置的结构示意图;

图12为本发明具体实施例提供的一种图像渲染装置的结构示意图;

图13为本发明实施例提供的另一种图像渲染装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了便于理解,首先介绍本发明实施例涉及的多个技术术语。

畸变,指的是由于目镜在设计或生产过程的缺陷,而导致的在经由目镜拍摄或观察物体时,观测到的画面所呈现的不同程度的变形。根据变形的状态,畸变可以分为桶形畸变和枕形畸变。当观测到的图像远离光轴区域的放大率比光轴附近的低,在像平面内出现图像外凸的情景,称之为桶形畸变。反之,当观测到的图像远离光轴区域的放大率比光轴附近的高,在像平面内出现图像内凹的情景,称之为枕形畸变。以枕形畸变为例,显示设备原始待显示画面如图1a所示,通过目镜观测图1a所示的图像则会如图1b所示。若可以经目镜观测到如图1a所示的画面,则需要显示设备显示的图像如图1c所示。综上所述,对于呈现枕形畸变或桶形畸变的目镜,只需显示与目镜畸变类型相反的反畸变图像,如枕形畸变目镜上显示桶形畸变图像,桶形畸变目镜上显示枕形畸变图像,即可抵消目镜缺陷对图像形变的影响。反畸变技术的关键就是求解待显示图像中各像素点从原图到反畸变图像的变换关系。

色散,指的是不同色光在视野中不同程度的畸变。反色散与反畸变的处理方法类似,其核心思想在于对不同色光分别计算从原图到反畸变图像的变换关系,在渲染过程中不同色彩通道分别扭曲或偏移渲染,对不同色光分别进行反畸变处理。

渲染管线,也称为渲染流水线或像素流水线或像素管线,是显示芯片内部处理图形信号的相互独立的并行处理单元。

顶点缓冲对象(vertexbufferobjects,vbo),指的是在图形处理器(graphicsprocessingunit,gpu)存储空间中开辟出的一块内存缓存区,用于存储顶点的各类属性信息,如顶点坐标,顶点法向量,顶点颜色数据等。在渲染时,可以直接从vbo中取出顶点的各类属性数据,由于vbo在显存而不是在内存中,不需要从cpu传输数据,处理效率更高。

gpu,专为执行复杂的数学和几何计算而设计的,相较于cpu运算速度更快。广泛存在于android系统、ios系统移动平台中。

着色器(shader),是用来实现图像渲染的,用来替代固定渲染管线的可编辑程序。着色器主要有顶点着色器(vertexshader)和像素着色器(pixelshader)两种。其中,vertexshader主要负责顶点的几何关系等的运算,pixelshader主要负责片源颜色等的计算。

目前常用的反畸变方法需利用畸变解析式,逐一确定待显示图像中对应渲染模型的每个像素点在偏移后的位置,实现点到点的位置偏移。复杂度越高的渲染模型,其模型定点越多,对畸变、色散的描述能力越强,其渲染后的效果越好。但是复杂的渲染模型在gpu渲染管线的数据传输、光栅化、顶点插值等环节需要较高的时间开销,难以平衡反畸变、色散的准确度以及其渲染效率之间的关系。

为此,本发明实施例提供了一种图像渲染方法及装置,根据畸变、色散的特点,预先建立图元大小不均匀的渲染模型,利用该渲染模型确定待显示图像中有限个参考像素点,减少待显示图像中心处畸变程度较小区域的参考像素点的数量,以减少gpu渲染管线片元着色器中采样器的频繁调用,极大的提高了运算效率,提高渲染效率。增加待显示图像边缘畸变程度较大区域的参考像素点的数量,精准刻画畸变偏移情况,保证反畸变渲染的准确度。然后,利用畸变模型生成有限个畸变偏移位置点对,即可在渲染中通过修改纹理与模型的映射坐标,实现全图中畸变偏移的致密插值。

基于上述思想,为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。

参见图2,该图为本发明实施例提供的一种图像渲染方法的流程示意图。

可以理解的是,本发明实施例提供的图像渲染方法不仅可以应用于反畸变渲染,还可以应用于反色散渲染,下面以反畸变为例进行详细说明,反色散渲染的实现方式参见相关说明即可,不再赘述。

本发明实施例提供的图像渲染方法,具体包括如下步骤s201-s202。

s201:获得待显示图像。

可以理解的是,在本发明实施例中,待显示图像具体为待显示于目镜上的图像,具体可以是彩色或黑白图像,或者,还可以是彩色或黑白视频中的任意一帧。

s202:利用预先构建的渲染模型和畸变模型,将待显示图像渲染显示至目镜。

需要说明的是,渲染模型用于确定待显示图像上用于进行反畸变偏移的参考像素点(也可称为图元模型的顶点)。参考像素点的数量越多,模型越细致,对畸变的描述能力越强,在渲染管线渲染中光栅化操作非常耗时。对于反色散渲染,由于每个待渲染像素点需要从多个位置采样,gpu管线的片元着色器中采样器需要多次偏移采样。对于一副尺寸为m×n的三通rgb图像,若每个通道都需要计算色散偏移程度,则需要执行3mn次采样,而采样器调用的频率对渲染效率影响极大。具体而言,参考像素点的数量越多,采样次数越多,渲染耗时越长,反畸变的准确度越高;参考像素点的数量越少,采样次数越低,渲染效率越高,反畸变的准确度越低。图3a举例示出了一种渲染模型。

在本发明实施例中,渲染模型包括多个几何图元,每个几何图元的大小与该几何图元与渲染模型中心点的距离成负相关关系,即与渲染模型中心点的距离越大,渲染模型的几何图元越小,渲染模型越精细。图3b举例示出了本发明具体实施例提供的一种渲染模型。

需要说明的是,为了便于后续的渲染计算,一般将渲染模型设置为与待显示图像相同的大小。在实际应用中,本领域技术人员还可以根据实际需要等比例的缩小或放大渲染模型,渲染时在等比例复原渲染模型至与待显示图像相同的大小。

本发明的发明人在研究中发现,如图4a所示,人眼403a,透过存在光学缺陷的透镜镜片404a观测显示设备405a,由于透镜镜片404a的制造工艺、设计尺寸,观测眼点的出瞳距离,导致中央视野402a与外部视野区401a存在不同程度的畸变与色散现象。如图4b所示,在待显示图像401b中,以光学中心405b为圆心,一个圆形(或椭圆等类圆形)区域403b内,畸变和色散程度较小;而外部视野区402b,畸变和色散程度较为严重。总而言之,畸变的特点具体可以概括为,像素点的畸变程度与该点到光学中心点405b的距离正相关。

因此,本发明实施例根据畸变的特点,预先建立渲染模型,使渲染模型中每个几何图元的大小与该几何图元与渲染模型中心点的距离成负相关关系。在外部视野区建立致密模型以描述畸变情况而在中央视野区建立稀疏模型,在保证反畸变的准确度的基础上,减少了中央视野区的参考像素点的数量,以提高渲染的效率。下面将详细说明具体如何构建该渲染模型,这里先不赘述。

由于对于每个像素点其偏移和扭曲的程度都是不同,而逐像素点计算变换关系效率低下。因此,在本发明实施例一些可能的实现方式中,可以仅对待显示图像中有限个像素计算原图到反畸变图像的变换关系,其余各点使用gpu管线分别采用双线性插值的方法扭曲渲染,具体步骤如下:

为了便于说明和理解,以图3a为例,定义模型坐标系原点为畸变中心,即模型分为四个象限,横轴表示为x,纵轴表示为y。如图5所示,纹理坐标系原点为画面左上角,横轴表示为u,纵轴表示为v。

首先,预先在模型坐标系中建立渲染模型,具体而言:

对于第一行第一列,建立顶点分别为a、c、d和b的几何图元,其余部分的建模方法与其相同,最终建立包括多个几何图元的渲染模型。

之后,在纹理坐标系中建立对应的纹理坐标模型:a(u,v)=f[a(x,y)],b(u,v)=f[b(x,y)],c(u,v)=f[c(x,y)],d(u,v)=f[d(x,y)]。其中,(u,v)表示点(x,y)经反畸变或反色散后在纹理坐标系中的位置,可以根据预先设定的畸变模型确定,其变换公式f可根据下式(1)-(5)得到:

x=x(1+k1r2+k2r4)+2p1xy+p2(r2+2x2)(1)

y=y(1+k1r2+k2r4)+p1(r2+2y2)+2p2xy(2)

u=(x+1)/2(4)

v=(1-y)/2(5)

其中,k1为畸变模型中低阶的径向畸变系数,k2为畸变模型中高阶的径向畸变系数,p1为畸变模型中低阶的切向畸变系数,p2为畸变模型中高阶的径向畸变系数,均由目镜参数标定确定。

最后,将渲染模型的顶点坐标与纹理顶点坐标以vbo的形式传入gpu渲染管线的顶点着色器中,由渲染管线完成相应的插值以及最终的渲染。

需要说明的是,本发明实施例不限于上述渲染方式,本领域技术人员可以根据实际需要确定具体的渲染方法以及渲染时所采用的畸变模型,本发明实施例对此不做限定,这里也不再一一列举。

在本发明实施例中,在获取到待显示的图像后,利用预先构建的图元稀疏程度不同的渲染模型和畸变模型将待显示图像渲染显示至目镜,渲染模型中几何图元的大小与该几何图元与渲染模型中心点的距离成负相关关系。渲染时,可以根据渲染模型对应的待显示图像中有限个参考像素点,利用畸变模型生成有限个畸变偏移位置点对,在渲染中通过修改纹理与模型的映射坐标,实现全图中畸变偏移的致密插值。由于图像的畸变和色散程度随着与中心点的距离增加而变大,对畸变色散程度较小的图像中央视野区,利用稀疏的几何图元进行渲染显示,减少了中央视野区参考像素点的数量,减少了gpu渲染管线片元着色器中采样器的频繁调用,极大提高了运算效率,提高了渲染效率,节约计算资源,降低功耗。而对畸变色散程度较大的外部视野区,利用致密的几何图元进行渲染显示,保证了渲染的准确度。

上述内容介绍了本发明实施例具体如何实现反畸变渲染。下面将对具体如何构建本发明实施例中所涉及的渲染模型进行详细说明。

参见图6,该图为本发明实施例提供的另一种图像渲染方法的流程示意图。

在本发明实施例中,步骤s202之前,具体还可以包括如下步骤s601-s602。可以理解的是,对渲染模型的构建可以是在步骤s201和s202之间执行,也可以是在步骤s201之前,预先离线的对渲染模型进行构建,本发明实施例对此不做具体限定。

s601:利用预先得到的分布函数,确定渲染模型中每个几何图元的顶点坐标。

在本发明实施例中,预先得到的分布函数的曲线具有以下特点:连续光滑;呈现钟形,即“中间高两头低”;相对于x轴或y轴的平行线对称。作为一个示例,该分布函数可以是正态分布函数,实际应用中可以根据具体情况设定分布函数的形式,本发明实施例对此不做具体限定,下面以正态分布函数进行详细说明,其他实现方式与其类似,具体参见相关说明即可,这里就不再一一赘述。

正态分布,如图7所示,又名高斯分布、高斯函数,呈钟型,两头低,中间高,左右对称,其函数公式如下式(6):

其中,σ为标准差,μ为期望值。

当x=μ时,f(x)达到最大值;随着x与μ的差值增大,f(x)逐渐减小。具体的,f(x)的值与|x-μ|的大小成负相关关系。

因此,在本发明实施例中,可以依据正态分布的上述特点,确定渲染模型中几何图元的顶点坐标,从而构建出该几何图元大小与该几何图元与中心点距离成负相关关系的渲染模型。

在本发明实施例一些可能的实现方式中,步骤s601具体可以包括如下步骤s6011-s6014。

s6011:根据预设图元密度参数构建正态分布函数。

由于不同型号或材质的目镜所导致的畸变程度不一,因此,为了保证反畸变的效果,则需要根据目镜的实际情况具体确定渲染模型的图元大小和数量,以及畸变模型的参数,本领域技术人员具体可以根据目镜的参数进行设定,这里就不一一列举。在确定了正态分布函数的标准差σ和期望值μ后,即可构建出正态分布函数,以确定渲染模型中几何图元的顶点坐标。

s6012:对分布函数进行两次均匀采样,分别获得m个幅值和n个幅值。

其中,渲染模型包括m行n列几何图元,或n行m列几何图元。

在本发明实施例一些可能的实现方式中,以正态分布函数为例,可以对正态函数的预设区域[μ-λ,μ+λ]进行均匀采样。其中,λ为采样参数,可以根据畸变的实际情况具体设定,λ越大,渲染模型的几何图元大小差异越大;λ越小,渲染模型的几何图元大小差异越小。每次均匀采样的采样公式可以如下式(7):

其中,k为采样数量,等于m或n。k越大,渲染模型中几何图元的数量越多;反之,k越小,渲染模型中几何图元的数量越少。

可以理解的是,对正态分布函数进行采样后,得到脉冲离散函数。

s6013:分别对m个幅值和n个幅值进行归一化处理。

在本发明实施例中,对步骤s6012中得到的脉冲离散函数进行归一化处理,可以得到每个几何图元的边长。作为一个示例,归一化公式具体可以如下式(8):

s6014:根据归一化结果,确定渲染模型中每个几何图元顶点的横坐标和纵坐标。

步骤s6013的归一化结果为每个几何图元的边长,则可以根据该边长确定每个几何图元的顶点坐标。

s602:根据每个几何图元的顶点坐标,构建渲染模型。

可以理解的是,在步骤s601中得到了每个几何图元的顶点坐标,即可构建出该渲染模型。在一个例子中,构建出的渲染模型如图3b所示。而后,利用该渲染模型和畸变模型,确定纹理模型后,即可实现对待显示图像的反畸变渲染显示。

上述内容对本发明实施例中具体如何实现反畸变显示进行了详细的说明。但在进行反色散时,需要对不同色光(如红色光、绿色光和蓝色光,本发明实施例对此不做具体限定)分别进行独立的反畸变处理,虽然相较于现有技术减少了计算量,但是仍然存在计算量较大的问题。因此,在本发明实施例一些可能的实现方式中,为了进一步减少渲染的计算量,缩短计算耗时,提高渲染的效率,适用于对彩色图像的渲染,预先构建的渲染模型包括第一子模型和至少两个第二子模型。

其中,待显示图像包括:中央视野区和外部视野区,中央视野区(如图4b所示的中央视野区402a)包括待显示图像的中心,外部视野区(如图4b所示的外部视野区401a)在中央视野区的外围。第一子模型对应待显示图像型的中央视野区,每个第二子模型均对应待显示图像的外部视野区;第一子模型中几何图元的大小与该几何图元与渲染模型中心点的距离成负相关关系,每个第二子模型分别对应待显示图像的不同色光,每个第二子模型中几何图元的大小与该几何图元与渲染模型中心点的距离成负相关关系。

则,上述步骤s202,具体可以包括:

利用第一子模型对中央视野区进行渲染显示,并利用每个第二子模型,分别对外部视野区的对应色光进行渲染显示。

可以理解的是,渲染的具体方法,以及第一子模型和每个两个第二子模型的构建方法与上述实施例所述的类似,具体参见相关说明即可这里不再赘述。可选的,利用波长剧中的某一色光或合成色光修正正态分布函数的参数和/或采样区间,以建立第一子模型,利用蓝色光、绿色光和红色光分别修正正态分布函数的参数和/或采样区间,分别建立一个第二子模型。

在本发明实施例中,根据色散的特点,利用预先构建的第一子模型和至少两个第二子模型分别对待显示图像的中央视野区以及外部视野区进行渲染,在中央视野区不区分色光,忽略中央视野区的轻微色散,对每个色光进行统一的渲染,减少了gpu渲染管线片元着色器中采样器的频繁调用,节约了计算的耗时,提高了渲染的效率;而在外部视野区,利用至少两个第二子模型对每个色光进行独立的渲染显示,保证了反畸变、反色散的准确度。

下面将对具体如何确定待显示图像的中央视野区和外部视野区进行详细说明。参见图8,该图为本发明实施例提供的另一种图像渲染方法的流程示意图。

在本发明实施例一些可能的实现方式中,步骤s202之前,还可以包括如下步骤s801-s804。可以理解的是,步骤s801-s804可以是在步骤s201和s202之间执行,也可以是在步骤s201之前执行,本发明实施例对此不做具体限定。

s801:根据目镜的参数,确定待显示图像不同位置的形变率。

本领域技术人员可以根据实际情况具体确定待显示图像不同位置的形变率,例如将目镜显示的图像(和目镜的参数相关)与待显示图像进行比较从而确定,本发明实施例对此不做具体限定。

作为一个示例,待显示图像中某一点处的形变率d可以依据下式(9)得到:

其中,rreal和robse分别表示该点在待显示图像和目镜上观测图像中距离坐标系中心的距离,具体可以根据上式(3)得到。

在一个例子中,待显示图像中蓝色光、绿色光以及红色光的形变率曲线如图9所示。蓝色光、绿色光以及红色光分别对应图9中的标号为1、2和3的曲线。

s802:当形变率大于预设阈值时,将该形变率对应的位置定为中央视野区和外部视野区的分界线。

从图9中可看出,形变率随着rreal的增大而增大,当形变率大于预设阈值时,表示不同色光的畸变差异较大,若统一渲染则无法保证反畸变的准确度。在实际应用中,本领域技术人员可以根据实际情况具体设定预设阈值,不再一一列举。

可选的,还可以先根据下式(10)计算某一距离下不同色光的最大形变差dmax:

dmax=|max(dr,max(dg,db))-min(dr,min(dg,db))|(10)

其中,dr、dg和db分别为该距离下红色光、绿色光和蓝色光的形变率。

然后,计算dmax关于rreal的一阶导数,当该一阶导数大于预设阈值时,将该一阶导数对应的位置定为中央视野区和外部视野区的分界线(如图4b中的404b)。

s803:利用预先得到的分布函数和该分界线,确定第一子模型和每个第二子模型中每个几何图元的顶点坐标。

在本发明实施例中,预先得到的分布函数的图像为钟形对称平滑曲线。关于预先得到的分布函数与上文所述的类似,具体可以参见上述对步骤s601的说明,这里不再赘述。

在本发明实施例一些可能的实现方式中,步骤s803,具体可以包括如下步骤s8031-s8036。

s8031:根据与目标子模型对应的预设图元密度参数构建该分布函数。

其中,目标子模型为第一子模型或第二子模型。

s8032:对预先得到的分布函数进行两次均匀采样,分别获得m个幅值和n个幅值。

其中,目标模型包括m行n列几何图元,或n行m列几何图元。

s8033:分别对m个幅值和n个幅值进行归一化处理。

s8034:根据归一化结果,确定目标子模型中每个几何图元的顶点坐标。

s8035:当目标子模块为第一子模型时,根据分界线,确定目标子模型中对应中央视野区的几何图元的顶点坐标,得到第一子模型中每个几何图元的顶点坐标。

s8036:当目标子模块为第二子模型时,根据分界线,确定目标子模型中对应外部视野区的几何图元,得到第二子模型中每个几何图元的顶点坐标。

关于构建第一子模型和第二子模型,具体可以参见上述对步骤s6011-s6014的说明,这里不再赘述。

在一个例子中,确定出的顶点坐标如图10a所示。图中,三角形标志“δ”、十字形标志“+”和圆形标志“o”分别表示了外部视野区内蓝色光、绿色光和红色光对应的第二子模型中几何图元的顶点,叉形标志“×”表示了中央视野区内的第一子模型中几何图元的顶点。

s804:根据顶点坐标,构建第一子模型和每个第二子模型。

可以理解的是,在步骤s803中得到了每个几何图元的顶点坐标,即可构建出包括第一子模型和至少两个第二子模型的渲染模型。在一个例子中,构建出的渲染模型如图10b所示。而后,利用该渲染模型和畸变模型,确定纹理模型后,即可实现对待显示图像的反畸变反色散渲染显示。

基于上述实施例提供的图像渲染方法,本发明实施例还提供了一种图像渲染装置。

参见图11,该图为本发明实施例提供的一种图像渲染装置的结构示意图。

本发明实施例提供的图像渲染装置,包括:数据获取模块100和图像渲染模块200;

数据获取模块100,用于获得待显示图像;

图像渲染模块200,用于利用预先构建的渲染模型和畸变模型,将待显示图像渲染显示至目镜;

其中,渲染模型包括多个几何图元,每个几何图元的大小与该几何图元与渲染模型中心点的距离成负相关关系。

在本发明实施例一些可能的实现方式中,如图12所示,该装置,还可以包括:顶点确定模块300和模型构建模块400;

顶点确定模块300,用于利用预先得到的分布函数,确定渲染模型中每个几何图元的顶点坐标;该分布函数的图像为钟形对称平滑曲线;

可选的,顶点确定模块300,具体可以包括:曲线构建子模块、数据采样子模块、数据处理子模块和坐标确定子模块;

曲线构建子模块,用于根据预设图元密度参数构建分布函数;

数据采样子模块,用于对该分布函数进行两次均匀采样,分别获得m个幅值和n个幅值;渲染模型包括m行n列几何图元,或n行m列几何图元;

数据处理子模块,用于分别对m个幅值和n个幅值进行归一化处理;

坐标确定子模块,用于根据归一化结果,确定渲染模型中每个几何图元顶点的横坐标和纵坐标。

模型构建模块400,用于根据每个几何图元的顶点坐标,构建渲染模型。

在本发明实施例中,在获取到待显示的图像后,利用预先构建的图元稀疏程度不同的渲染模型和畸变模型将待显示图像渲染显示至目镜,渲染模型中几何图元的大小与该几何图元与渲染模型中心点的距离成负相关关系。渲染时,可以根据渲染模型对应的待显示图像中有限个参考像素点,利用畸变模型生成有限个畸变偏移位置点对,在渲染中通过修改纹理与模型的映射坐标,实现全图中畸变偏移的致密插值。由于图像的畸变和色散程度随着与中心点的距离增加而变大,对畸变色散程度较小的图像中央视野区,利用稀疏的几何图元进行渲染显示,减少了中央视野区参考像素点的数量,减少了gpu渲染管线片元着色器中采样器的频繁调用,极大提高了运算效率,提高了渲染效率,节约计算资源,降低功耗。而对畸变色散程度较大的外部视野区,利用致密的几何图元进行渲染显示,保证了反畸变渲染的准确度。

在本发明实施例一些可能的实现方式中,待显示图像可以包括:中央视野区和外部视野区,中央视野区包括待显示图像的中心,外部视野区在外部视野区的外围。则,渲染模型可以包括第一子模型和至少两个第二子模型,第一子模型对应待显示图像型的中央视野区,每个第二子模型均对应待显示图像的外部视野区;第一子模型中几何图元的大小与该几何图元与渲染模型中心点的距离成负相关关系,每个第二子模型分别对应待显示图像的不同色光,每个第二子模型中几何图元的大小与该几何图元与渲染模型中心点的距离成负相关关系。则,图像渲染模块200,具体可以用于:

利用第一子模型对中央视野区进行渲染显示,并利用每个第二子模型,分别对外部视野区的对应色光进行渲染显示。

在本发明实施例一些可能的实现方式中,如图13所示,该装置还可以包括:形变确定模块500、分界确定模块600、顶点确定模块700和模型构建模块800;

形变确定模块500,用于根据目镜的参数,确定待显示图像不同位置的形变率;

分界确定模块600,用于当形变率大于预设阈值时,将该形变率对应的位置定为中央视野区和外部视野区的分界线;

顶点确定模块700,用于利用预先得到的分布函数和分界线,确定第一子模型和每个第二子模型中每个几何图元的顶点坐标;该分布函数的图像为钟形对称平滑曲线,例如可以是正态分布函数;

模型构建模块800,用于根据顶点坐标,构建第一子模型和每个第二子模型。

可选的,顶点确定模块700,具体可以包括:曲线构建子模块、数据采样子模块、数据处理子模块、第一确定子模块和第二确定子模块;

曲线构建子模块,用于根据与目标子模型对应的预设图元密度参数构建该分布函数,目标子模型为第一子模型或第二子模型;

数据采样子模块,用于对该分布函数进行两次均匀采样,分别获得m个幅值和n个幅值;目标模型包括m行n列几何图元,或n行m列几何图元;

数据处理子模块,用于分别对m个幅值和n个幅值进行归一化处理;

第一确定子模块,用于根据归一化结果,确定目标子模型中每个几何图元的顶点坐标;

第二确定子模块,用于当目标子模块为第一子模型时,根据分界线,确定目标子模型中对应中央视野区的几何图元的顶点坐标,得到第一子模型中每个几何图元的顶点坐标;还用于当目标子模块为第二子模型时,根据分界线,确定目标子模型中对应外部视野区的几何图元,得到第二子模型中每个几何图元的顶点坐标。

在本发明实施例中,根据色散的特点,利用预先构建的第一子模型和至少两个第二子模型分别对待显示图像的中央视野区以及外部视野区进行渲染,在中央视野区不区分色光,忽略中央视野区的轻微色散,对每个色光进行统一的渲染,减少了gpu渲染管线片元着色器中采样器的频繁调用,节约了计算的耗时,提高了渲染的效率;而在外部视野区,利用至少两个第二子模型对每个色光进行独立的渲染显示,保证了反畸变、反色散的准确度。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

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