本文公开的主题的实施方案涉及三维(3d)计算机图形领域,并且更具体地涉及如何改进内插帧在3d环境内的渲染。
背景技术:
1、多年来,计算机处理能力的提高已使(例如视频游戏或某些动画的)实时视频渲染变得越来越复杂。例如,早期视频游戏的特征为像素化精灵在固定背景上移动,而当代视频游戏的特征为充满人物的逼真三维场景。同时,处理部件的小型化已使移动装置(诸如手持式视频游戏装置和智能手机)能够有效地支持高帧速率、高分辨率视频的实时渲染。
2、3d图形视频可以多种不同的帧速率和屏幕分辨率输出。可能期望将具有3d图形的视频从一个帧速率(和/或分辨率)转换至另一个帧速率(和/或分辨率)。为了节省算计能力同时仍然提高帧速率,可使用内插帧而不是渲染视频内的所有帧。内插帧可通过使用运动矢量(在本文中也称为mv)有效地生成,运动矢量跟踪对象在当前帧(cf)与先前帧(pf)之间的位置差异。
技术实现思路
1、本文公开用于在3d计算机图形的上下文中计算和传输运动矢量的实施方案。在一个实例中,一种方法包括:针对当前帧中要渲染的一个或多个对象的每个像素,生成1相运动矢量(mv1)和0相运动矢量(mv0),每个mv1和mv0具有相关联的深度值,从而形成mv1纹理和mv0纹理,每个mv0基于相机mv0和对象mv0确定;将所述mv1纹理转换为一组mv1像素块,并且将所述mv0纹理转换为一组mv0像素块;以及输出所述一组mv1像素块和所述一组mv0像素块以用于图像处理。
1.一种方法,其包括:
2.如权利要求1所述的方法,其中每个mv1表示所述像素处的顶点从当前帧到先前帧的位置变化,其中每个mv0表示所述像素处的所述顶点从所述先前帧到所述当前帧的位置变化,其中所述相机mv0表示由于虚拟相机的位置或取向的变化所致的所述像素处的所述顶点从所述先前帧到所述当前帧的位置变化,并且其中所述对象mv0表示由于所述对象在世界空间中的位置变化所致的所述像素处的所述顶点从所述先前帧到所述当前帧的位置变化。
3.如权利要求2所述的方法,其还包括:针对所选择像素,基于所选择像素的对应顶点在所述先前帧中的世界空间位置确定所选择像素的所述相机mv0。
4.如权利要求3所述的方法,其中基于所选择像素的对应顶点在所述先前帧中的所述世界空间位置确定所选择像素的所述相机mv0包括:
5.如权利要求2所述的方法,其还包括:针对所选择像素,基于与所选择像素对应的所选择顶点在所述先前帧中的眼睛空间位置确定所选择像素的对象mv0。
6.如权利要求5所述的方法,其中基于所选择顶点在所述先前帧中的所述眼睛空间位置确定所选择像素的对象mv0包括:
7.如权利要求2所述的方法,其中将所述mv1纹理转换为所述一组mv1像素块包括:针对所述mv1纹理的多个像素块中的每个像素块识别所述像素块中的像素类型分布,并且基于每个像素块的所述像素类型分布将所述mv1纹理转换为所述一组mv1像素块。
8.如权利要求7所述的方法,其中基于每个像素块的所述像素类型分布将所述mv1纹理转换为所述一组mv1像素块包括:
9.如权利要求2所述的方法,其中将所述mv0纹理转换为所述一组mv0像素块包括:针对所述mv0纹理的多个像素块中的每个像素块识别所述像素块中的像素类型分布,并且基于每个像素块的所述像素类型分布将所述mv0纹理转换为所述一组mv0像素块。
10.如权利要求9所述的方法,其中基于每个像素块的所述像素类型分布将所述mv0纹理转换为所述一组mv0像素块包括:
11.如权利要求2所述的方法,其还包括:对每个mv0和每个mv1应用双重确认过程,其中所述双重确认过程包括确认每个相关联的深度值。
12.如权利要求11所述的方法,其中应用所述双重确认过程包括:针对所述当前帧中的所选择像素,响应于所选择像素在所述当前帧中的坐标匹配使用所选择像素的所述mv1或所述mv0映射回所述先前帧的所述像素的坐标,对所选择像素的所述mv1或所述mv0进行双重确认,所选择像素的所述坐标包括深度坐标。
13.一种用于渲染3d图形的系统,其包括:
14.如权利要求13所述的系统,其中所述块mv1纹理和所述块mv0纹理能用于在所述当前帧与所述先前帧之间内插帧。
15.如权利要求13所述的系统,其中每个mv0是基于相应的相机mv0和相应的对象mv0确定的,其中所选择顶点的相机mv0是基于所选择顶点在所述先前帧中的世界空间位置确定的,所述世界空间位置是基于所述缓存的深度缓冲和逆视图矩阵确定的,其中所选择顶点的对象mv0是基于所选择顶点在所述先前帧中的眼睛空间位置和所选择顶点在所述当前帧中的眼睛空间位置确定的。
16.如权利要求13所述的系统,其中每个mv1基于对应顶点的位置被分派相应像素。
17.如权利要求13所述的系统,其中每个mv0基于对应顶点的位置被分派相应像素。
18.如权利要求13所述的系统,其中每个mv1块包括:所述多个mv1的所述相应子集的平均水平位置变化、所述多个mv1的所述相应子集的平均竖直位置变化、以及所述多个mv1的所述相应子集的平均深度值,并且其中每个mv0块包括:所述多个mv0的所述相应子集的平均水平位置变化、所述多个mv0的所述相应子集的平均竖直位置变化、以及所述多个mv0的所述相应子集的平均深度值。
19.一种方法,其包括:
20.如权利要求19所述的方法,其中所述3d模型信息包括所述第一当前帧,并且所述更新的3d模型信息包括所述第二当前帧,并且所述方法还包括:根据所述更新的3d模型信息、所述更新的深度纹理和所述逆视图投影矩阵计算多个1相运动矢量;以及