1. 一种基于人眼跟踪的裸眼3D显示方法,其特征包括人眼追踪模块,裸眼视区修正模块,裸眼显示模块和裸眼3D出屏舒适度修正模块;
a) 人眼跟踪模块获取手机前置摄像头拍摄的视频图像序列帧,对每一帧图像进行人脸识别并计算出左右眼相对手机裸眼屏幕的观看视区和观看角度,再加入预测跟踪的算法,保证裸眼视区修正能够随时给观看者的双眼呈现正确的裸眼视区;
结合人脸姿态估计和手机当前陀螺仪姿态得到左右眼相对手机裸眼屏幕的观看视区,观看视区可以通过以下公式计算得到:
其中,L(x,y)是左右眼中心点到屏幕中心点的距离,(x,y)是左右眼中心点的横纵坐标,是手机当前陀螺仪姿态中垂直方向上的偏转角度,
是屏幕中心点在视频图像序列帧中的水平方向坐标值,
是当前观看者左右眼的相对瞳距像素值,
是标准瞳距像素值,而N是裸眼手机当前的总视点数,%是取余计算;
结合人脸姿态估计和手机当前陀螺仪姿态得到左右眼相对手机裸眼屏幕的观看角度,并对初始水平观看距离进行修正,当前观看者观看角度可以通过以下公式计算得到:
= min{
}
其中,代表了当前左右眼相对裸眼手机屏幕的观看角度,包括水平方向上和垂直方向上的角度,n代表着人脸姿态估计中人脸的待测特征点个数,包括人脸中左眼,右眼,鼻尖和双唇中心点总共4个点来计算观看角度即n=3,
代表上述4个人脸特征点标准坐标值,
代表待测人脸特征点在视频图像序列帧中对应的空间坐标值,
是裸眼手机当前陀螺仪计算的旋转矩阵;
b) 裸眼视区修正模块在接收到人眼跟踪模块的观看视区实时信息后对裸眼输出视区进行调整;裸眼视区修正模块需要分别对应num个观看者的左右眼计算裸眼视区排图,并且最后在渲染裸眼图像时需要将两名或两名以上观看者的视区重合交织;计算裸眼视区排图需要针对num*2数量的人眼来进行视区修正计算,可以通过以下公式计算:
=
其中,是最终裸眼视区排图修正值,num是对应的观看人数,N是裸眼手机视区总数,%是取余计算,
是对应的人眼跟踪到的视区,
是对应的人眼跟踪到的当前视区的横坐标,最终的裸眼视区排图修正值
就是裸眼视区最终横向排列的变化系数;
c)
裸眼显示模块将根据当前手机应用的显示模式来改变裸眼显示方式;针对2D手机应用,将手机系统3D UI集成进应用中,添加3D UI按钮并且将2D应用界面渲染在裸眼手机的零平面中,裸眼视区修正模块传递的裸眼视区排图修正值将仅改变3D UI的裸眼效果;针对3D手机应用,将裸眼视区修正模块传递的裸眼视区排图修正值
传递给3D渲染底层,将修正值
替换柱镜光栅映射表中的偏移量offset,根据裸眼视区修正模块传递的修正值
来改变裸眼图像的物理排图序列,再根据3D渲染层零平面前后来决定修正值
的正负号,当大于零平面的3D渲染层修正值
为正;小于零平面的3D渲染层修正值
为负;
d) 裸眼3D出屏舒适度修正模块对图像序列帧进行人眼疲劳监测,减缓出屏效果左右眼过度视差值;当人眼疲劳监测到人眼无法适应当前裸眼3D出屏效果时,需要改变大于零平面的3D渲染层的裸眼图像排列顺序,新的裸眼图像排列顺序可以通过以下公式计算:
其中,就是视点数N的裸眼图像排列顺序,i是当前视点次序,
当前裸眼图像的视差值,当
,裸眼图像画面是入屏效果,当
,裸眼图像画面是出屏效果,%是取余计算。