CN110619669A - 一种支持多种图形样式的鱼眼图像渲染系统及方法 - Google Patents

一种支持多种图形样式的鱼眼图像渲染系统及方法 Download PDF

Info

Publication number
CN110619669A
CN110619669A CN201910886875.9A CN201910886875A CN110619669A CN 110619669 A CN110619669 A CN 110619669A CN 201910886875 A CN201910886875 A CN 201910886875A CN 110619669 A CN110619669 A CN 110619669A
Authority
CN
China
Prior art keywords
rendering
image
coordinates
styles
engine
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.)
Granted
Application number
CN201910886875.9A
Other languages
English (en)
Other versions
CN110619669B (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.)
SHENZHEN FUJIKAM INDUSTRY DEVELOPMENT Co Ltd
Original Assignee
SHENZHEN FUJIKAM INDUSTRY DEVELOPMENT 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 SHENZHEN FUJIKAM INDUSTRY DEVELOPMENT Co Ltd filed Critical SHENZHEN FUJIKAM INDUSTRY DEVELOPMENT Co Ltd
Priority to CN201910886875.9A priority Critical patent/CN110619669B/zh
Publication of CN110619669A publication Critical patent/CN110619669A/zh
Application granted granted Critical
Publication of CN110619669B publication Critical patent/CN110619669B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • G06T3/047Fisheye or wide-angle transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本公开提出一种支持多种图形样式的鱼眼图像渲染系统及方法,支持多种图形样式的鱼眼图像渲染系统中包括建模引擎、渲染引擎以及渲染表面模块。通过渲染方法完成渲染使得将鱼眼摄像头拍摄的原始图像转变成符合人类观看习惯的图像,渲染方法包括渲染引擎读到第一帧图像获得图像尺寸参数;选择模型参数族,计算出顶点坐标;渲染表面模块捕抓用户的手势动作,转化为动作参数;渲染引擎持续接收yuv源图像数据,结合顶点坐标和动作参数综合计算视图坐标,然后根据视图坐标将像素附着在渲染表面模块上。本公开所述的支持多种图形样式的鱼眼图像渲染系统及方法还具有支持多种图像样式的转变、互动性好的优点。

Description

一种支持多种图形样式的鱼眼图像渲染系统及方法
技术领域
本公开涉及图像渲染领域,特别涉及一种支持多种图形样式的鱼眼图像渲染系统及方法。
背景技术
目前,图像渲染是将三维的光能传递处理转换为一个二维图像的过程。场景和实体用三维形式表示,更接近于现实世界,便于操纵和变换,而图形的显示设备大多是二维的光栅化显示器和点阵化打印机。从三维实体场景的表示N--维光栅和点阵化的表示就是图像渲染——即光栅化。光栅显示器可以看作是一个象素矩阵,在光栅显示器上显示的任何一个图形,实际上都是一些具有一种或多种颜色和灰度象素的集合。
在图像渲染前,需要准备好三维几何模型信息,三维动画定义信息和材质信息。其中三维几何模型通过三维扫描,三维交互几何建模和三维模型库中获取;三维动画定义通过运动设计,运动捕捉,运动计算和动态变形中获取:材质从扫描的照片,计算机计算出的图像和人画出的图画中获取。图像渲染中要完成的工作是:通过几何变换,投影变换,透视变换和窗口剪裁,再通过获取的材质与光影信息,生成图像。图像渲染结束后,会把图像信息输出到图像文件或视频文件,或者是显示设备的帧缓存器中完成图形生成。
整个渲染过程设计的计算量非常大,使得人们绞尽脑汁去提高渲染的效率,人们也设计了很多方法和技巧。面要在计算机上实现实时的三维表现,就要借助显示硬件的帮助,也就是显卡的帮助。但是早期的显卡只包含简单的存储器和帧缓冲区,他们实际上只起了一个图形的存储和传递作用,图像渲染主要是由CPU的运算来完成的。尤其是对许多大型的三维图形软件来说,大部分时间都是在进行渲染工作。图像渲染会涉及到大量的浮点运算,象三维实体的位置变化,各种变换所需要的矩阵运算,以及为追求真实感而设计的各种光线跟踪,辐射度等算法,即使对目前性能很好的计算机,也是很大的工作量。所以以后发展的图形处理器都有图形处理的功能。它不单单存储图形,而且能完成大部分图形函数,这样就大大减轻了CPU的负担,提高了显示能力和显示速度。
随着电子技术的发展,显卡技术含量越来越高,功能越来越强,许多专业的图形卡已经具有很强的3D处理能力,而且这些3D图形卡也渐渐地走向个人计算机。一些专业显卡具有的晶体管数甚至比同时代的CPU的晶体管数还多。如NVIDIA公司2002年11月出售的GeForceFX芯片,被称为视觉处理器,具有12500万颗晶体管,是同时代Pentium 4CPU(具有5500万颗晶体管)的两倍。
鱼眼摄像机可以独立实现大范围无死角监控的全景摄像机,其概念与初级成品诞生已久,但成熟商用产品直到08年才正式出现。又因为目前国内安防方面的标准大多围绕模拟摄像机与网络摄像机展开,故此对于全景摄像机还没有较为统一的标准定义,使得在具体到某些项目实施的过程中会存在认同度方面的问题。总的说来,当下主流全景摄像机采用吊装与壁装方式可分别达到360°与180°的监控效果,而某些只有120°到130°视场角的摄像机,因为能达到客户对一个较为开阔面积的监控诉求,亦可被称为全景摄像机。
但是目前鱼眼摄像头拍摄的原始图像虽然现场范围能达到360°,但是畸变严重,不符合人类的观看习惯。
公开内容
本公开的目的提供一种支持多种图形样式的鱼眼图像渲染系统及方法,解决上述的鱼眼摄像头拍摄的原始图像畸变严重,不符合人类的观看习惯的问题。
本公开提出一种支持多种图形样式的鱼眼图像渲染系统及方法,包括建模引擎、渲染引擎以及渲染表面模块,渲染表面模块和建模引擎均与渲染引擎通信连接,
建模引擎中包含了多种图像尺寸的模型参数族和多种图像样式的数学模型,数学模型用于将适配不同的模型参数计算出顶点坐标供渲染引擎计算;
渲染引擎利用建模引擎提供的顶点坐标计算像素在渲染表面模块附着的正确位置,并将像素附着在渲染表面模块上;
渲染表面模块的功能包括两个部分,其中一个部分用于呈现图像,另一部分是用于捕抓用户的手势动作,并转化为动作参数供渲染引擎计算。
在某些实施方案中,所述建模引擎中包含了六种图像样式的数学模型,数学模型与图像样式对应设置。
在某些实施方案中,所述六种图像样式中包括顶视鱼眼、顶视展开、顶视四屏、顶视圆筒、顶视混杂、挂壁鱼眼。
在某些实施方案中,所述六种图像样式对应六组模型参数,一种图像尺寸的图像拥有六种图像样式,一种图像尺寸的图像拥有六组模型参数,且六组模型参数集合形成一种图像尺寸的模型参数族。
在某些实施方案中,所述模型参数族以图像尺寸区分。
在某些实施方案中,所述渲染引擎的核心是着色器。
在某些实施方案中,所述顶点坐标分为两类,一类是绘图顶点坐标,另一类是纹理顶点坐标。
在某些实施方案中,所述顶点坐标是建模引擎的输出数据,也是渲染引擎的输入数据。
在某些实施方案中,所述渲染引擎中通过动作参数计算出新的视图坐标。
支持多种图形样式的鱼眼图像渲染系统的渲染方法,包括如下步骤:
步骤1、渲染引擎读到第一帧图像获得图像尺寸参数;
步骤2、根据尺寸在建模引擎选择模型参数族,根据数学模型计算出顶点坐标;
步骤3、渲染表面模块捕抓用户的手势动作,并将手势动作转化为动作参数;
步骤4、渲染引擎持续接收yuv源图像数据,结合顶点坐标和动作参数综合计算视图坐标,然后根据视图坐标将像素附着在渲染表面模块上;
步骤5、循环步骤3和步骤4,直至渲染完成。
在某些实施方案中,所述手势动作中包括单指拖动和双指缩放。
本公开所述的一种支持多种图形样式的鱼眼图像渲染系统及方法的优点为:
1、能够在嵌入式设备上,如计算机、手机、平板电脑等,播放鱼眼摄像头的视频;
2、能够将鱼眼摄像头拍摄的原始图像转变成符合人类观看习惯的图像;
3、支持多种图形样式的鱼眼图像渲染系统支持多种图像样式的转变,同时也具有很好的互动性,从而使得支持多种图形样式的鱼眼图像渲染系统的竞争力得到提升。
附图说明
图1为本公开的一种实施方式中支持多种图形样式的鱼眼图像渲染系统的实现方法的时序图;
图2为本公开的一种实施方式中按照顶点索引进行图元上色的视图;
图3为本公开的一种实施方式中图像样式为顶视鱼眼时绘图顶点坐标系的视图;
图4为本公开的一种实施方式中图像样式为顶视鱼眼时纹理顶点坐标系的视图;
图5为本公开的一种实施方式中图像样式为顶视展开时绘图顶点坐标系的视图;
图6为本公开的一种实施方式中图像样式为顶视展开时纹理顶点坐标系的视图;
图7为本公开的一种实施方式中图像样式为顶视圆筒时绘图顶点坐标系的视图;
图8为本公开的一种实施方式中图像样式为顶视混杂时屏幕划分视图。详述
在以下的说明中,包括某些具体的细节以对各个公开的实施方案提供全面的理解。然而,相关领域的技术人员会认识到,不采用一个或多个这些具体的细节,而采用其他方法、部件、材料等的情况下仍实现实施方案。除非本公开中另有要求,在整个说明书和所附的权利要求书中,词语“包括”、“包含”、“含有”和“具有”应解释为开放式的、含括式的意义,即“包括但不限于”。在整个说明书中提到的“一实施方案”、“实施方案”、“在另一实施方案中”或“在某些实施方案中”意指在至少一实施方案中包括与该实施方案所述的相关的具体参考要素、结构或特征。因此,在整个说明书中不同位置出现的短语“在一实施方案中”或“在实施方案中”或“在另一实施方案中”或“在某些实施方案中”不必全部指同一实施方案。此外,具体要素、结构或特征可以任何适当的方式在一个或多个实施方案中结合。
定义
本公开中“绘图顶点坐标”指的是二维、三维模型外部轮廓的位置坐标;
本公开中“纹理顶点坐标”指的是图像像素的分布坐标;
本公开中“视图坐标”指的是需要显示图像在屏幕中的位置坐标;
本公开中“绘图顶点坐标系”指的是绘图顶点坐标的集合,是一个空间直角坐标系,水平向右为x轴,水平向上为y轴,垂直向外为z轴,x、y、z轴满足右手螺旋定则,取值范围为(-1<x<1、-1<y<1、-1<z<1),以屏幕的中心位置便是空间直角坐标系的原点绘制图像的屏幕建立空间直角坐标系;
本公开中“纹理顶点坐标系”指的是纹理顶点坐标的集合,是一个平面直角坐标系,通常对一幅图像建立一个平面直角坐标系,其原点为这幅图像的最左上角的坐标,水平向右为u轴,水平向下为v轴,取值范围为(0<u<1、0<v<1);
本公开中“视图坐标系”指的是视图坐标的集合,是一个平面直角坐标系,通常对屏幕建立一个平面直角坐标系,其原点为屏幕的左下角,水平向右为x轴,水平向上为y轴,该直角坐标系的坐标原点及边界数字取决于屏幕实际的尺寸大小,在不同的移动端设备中,通过软件接口来获得屏幕的实际尺寸大小;
计算机在绘制任何一个二维或三维图形,实际通过绘制若干个小三角型来组成二维或三维图形,其中一个小三角型为一个本公开中的“图元”,所以二维或三维图形实际可以微分成若干个“图元”;
本公开中“源图像”指的是从鱼眼摄像头拍摄出来的原始图像;
本公开中“yuv源图像数据”指的是鱼眼摄像头内的程序从摄像头获得的原始图像的数据格式为yuv420p格式的数据;
本公开中“完成一次渲染”指的是成功绘制一帧图像。
具体实施方式
如图1所示,本公开中涉及支持多种图形样式的鱼眼图像渲染系统及方法,支持多种图形样式的鱼眼图像渲染系统中包括建模引擎、渲染引擎以及渲染表面模块,渲染表面模块和建模引擎均与渲染引擎通信连接,
建模引擎中包含了六种图像样式的数学模型和模型参数族,六种图像样式中包括顶视鱼眼、顶视展开、顶视四屏、顶视圆筒、顶视混杂、挂壁鱼眼,六种图像样式对应六组模型参数,一种图像尺寸的图像拥有六种图像样式,一种图像尺寸的图像拥有六组模型参数,且六组模型参数集合形成一种图像尺寸的模型参数族,模型参数族以图像尺寸区分,数学模型用于将适配不同的模型参数计算出顶点坐标供渲染引擎计算,顶点坐标中包括绘图顶点坐标和纹理顶点坐标;
渲染引擎利用建模引擎提供的顶点坐标计算像素在渲染表面模块附着的正确位置,并将像素附着在渲染表面模块上,同时述渲染引擎中通过动作参数计算出新的视图坐标;
渲染表面模块的功能包括两个部分,其中一个部分用于呈现图像,另一部分是用于捕抓包含单指拖动和双指缩放的手势动作,并转化为动作参数供渲染引擎计算,其中单指拖动对应的动作参数是控制纹理旋转的角度;双指缩放对应的动作参数是控制二维平面的大小。
假设一个纹理顶点坐标为(u,v),通过单指拖动旋转后的纹理顶点坐标为(nu,nv),设旋转的角度为sita,有如下对应关系:nu=u*cos(sita)-v*sin(sita),nv=u*sin(sita)+v*cos(sita)。
假设一个二维或三维模型的二维平面坐标为(x,y),通过双指缩放后的二维平面坐标为(nx,ny),缩放的比例为sz,有如下对应关系:nx=sz*(u-v),ny=sz*(u+v)。
在某些实施方式中,数学模型中包括顶点索引和纹理贴图,其中
顶点索引是一个一维变量,即一个一个数组中,每一个值表示一个顶点数组,绘图顶点数组和纹理顶点数组公用一个顶点索引,故顶点索引表示了绘图顶点与纹理顶点的映射关系及绘图规律,如图2所示,顶点索引也是(绘图\纹理)顶点数组中按维度取值的位置,
绘图顶点数组为[-0.5,0.5,0,-0.5,-0.5,0,0.5,-0.5,0,0.5,0.5,0],纹理顶点数组为[0.5,0.5,0.5,1,1,1,1,0.5]。则绘图顶点坐标(-0.5,0.5,0)映射纹理顶点坐标(0.5,0.5),它们对应顶点索引0;绘图顶点坐标(-0.5,-0.5,0)映射纹理顶点坐标(0.5,1),对应顶点索引1;绘图顶点坐标(0.5,-0.5,0)映射纹理顶点坐标(1,1),对应顶点索引2;绘图顶点坐标(0.5,0.5,0)映射纹理顶点坐标(1,0.5),对应顶点索引3;
纹理贴图相当于从一幅平面图像中采样得到像素,然后用这些像素为二维或三维图形进行上色,现实场景中看到的所有二维或三维的物体,在计算机的视角里都是由若干个图元(三角形)拼接而成。
如图2所示,纹理贴图有三个步骤:
步骤1:为一张图像建立一个纹理坐标系,从图像中采样一个图元的像素;
步骤2:在绘图顶点坐标系中绘制一个图元;
步骤3:将步骤1采样得到的像素按照绘图顶点坐标与纹理顶点坐标的映射关系,即顶点索引,给步骤2中的图元上色。
支持多种图形样式的鱼眼图像渲染系统的渲染方法,包括如下步骤:
步骤1、渲染引擎读到第一帧图像获得图像尺寸参数;
步骤2、根据尺寸在建模引擎选择模型参数族,根据数学模型计算出顶点坐标,顶点坐标中包括绘图顶点坐标和纹理顶点坐标,
2.1图像样式为顶视鱼眼,
绘图顶点坐标,如图3所示:顶视鱼眼实际是一个半球体,而这个半球体由若干个图元组成,取v1点到球心的球体半径与x轴的夹角为sita,取v1点到球心的球体半径与y轴的夹角为fi,设球体半径为r,设球体表面各顶点与x轴夹角的微分为dsita,设球体表面各顶点与y轴的微分为dfi,设P代表计算顶点坐标的方程组,则有
V0=P(sita,fi+dfi,r);
V1=P(sita,fi,r);
V2=P(sita+dsita,fi,r);
V3=P(sita+dsita,fi+dfi,r);
结合球体公式有:
(1)求得v0的坐标为:
X轴坐标为:r*sin(fi+dfi)*cos(sita);
y轴坐标为:r*cos(fi+dfi);
z轴坐标为:r*sin(fi+dfi)*sin(sita);
(2)求得v1的坐标为:
X轴坐标为:r*sin(fi)*cos(sita);
y轴坐标为:r*cos(fi);
z轴坐标为:r*sin(fi)*sin(sita);
(3)求得v2的坐标为:
X轴坐标为:r*sin(fi)*cos(sita+dsita);
y轴坐标为:r*cos(fi);
z轴坐标为:r*sin(fi)*sin(sita+dsita);
(4)球体v3的坐标为:
X轴坐标为:r*sin(fi+dfi)*cos(sita+dsita);
y轴坐标为:r*cos(fi+dfi);
z轴坐标为:r*sin(fi+dfi)*cos(sita+dsita);
纹理顶点坐标,如图4所示:鱼眼原始图像的有效像素区域为一个圆型,故计算顶视鱼眼的纹理顶点坐标,实际是计算这个圆型在纹理顶点坐标系中的坐标,取t1点到圆心的半径与u轴的夹角为sita,取t1点与圆心点距离为r,取顶点到圆心的半径与u轴的夹角的微分为dista,取顶点到圆心的距离的微分为dr,设P代表计算顶点坐标的方程组,设圆心为(uc,vc),则有:
t0=P(sita,r+dr);
t1=P(sita,r);
t2=P(sita+dsita,r);
t3=P(sita+dsita,r+dr);
结合圆型公式有:
(1)t0坐标为:
u轴坐标为:(r+dr)*cos(sita)+uc;
v轴坐标为:-(r+dr)*sin(sita)+vc;
(2)t1坐标为:
u轴坐标为:r*cos(sita)+uc;
v轴坐标为:-r*sin(sita)+vc;
(3)t2坐标为:
u轴坐标为:r*cos(sita+dsita)+uc;
v轴坐标为:-r*sin(sita+dsita)+vc;
(4)t3坐标为:
u轴坐标为:(r+dr)*cos(sita+dsita)+uc;
v轴坐标为:-(r+dr)*sin(sita+dsita)+vc;
2.2图像样式为顶视展开,
绘图顶点坐标,如图5所示,顶视展开实际是一个二维平面模型,是一个矩形,这个矩形由若干的正立和倒立的三角形(图元)组合而成,随意计算这个矩形的顶点坐标,实际是计算这些图元的顶点坐标,以一个正立的图元为例,
设v5的坐标为(xb,yb,0);
设x轴方向的微分为dx;
设高度为h;
(1)计算v4的坐标:
x轴的坐标为:x4=xb;
y轴的坐标为:y4=yb+h;
z轴的坐标为:z4=0;
(2)计算v5的坐标:
x轴的坐标为:x5=xb;
y轴的坐标为:y5=yb;
z轴的坐标为:z5=0;
(3)计算v6的坐标:
x轴的坐标为:x6=xb+dx;
y轴的坐标为:y6=yb;
z轴的坐标为:z6=0;
(4)计算v7的坐标:
x轴的坐标为:x7=xb+dex;
y轴的坐标为:y7=yb+h;
z轴的坐标为:z7=0;
纹理顶点坐标,如图6所示,设图6中所示的内圆半径为r,外圆半径为R,旋转角度的微分为dsita,t5点所在的半径与x轴的角度为sita,圆心坐标为(uc,vc),P表示计算该纹理坐标的方程组,有
t4=P(sita+dsita,r),
t5=P(sita,r),
t6=P(sita,R),
t7=P(sita+dsita,R),
结合圆形公式有:
(1)计算t4的坐标
u4=r*cos(sita+dsita)+uc,
v4=-r*sin(sita+dsita)+vc;
(2)计算t5的坐标
u5=r*cos(sita)+uc,
v5=-r*sin(sita)+vc;
(3)计算t6的坐标
u6=R*cos(sita)+uc,
v6=-R*sin(sita)+vc;
(4)计算t7的坐标
u7=R*cos(sita+dsita)+uc,
v7=-R*sin(sita)+vc;
2.3图像样式为顶视四屏,
顶视四屏实质是将视图窗口划分成四份,每一个窗口为同一视场范围,不同观察角度的顶视展开,四个窗口显示的顶视展开的观察角度和时长范围分别是:
观察角度为0,时长范围为90°,
观察角度为90,时长范围为90°,
观察角度为270,时长范围为90°,
观察角度为180,时长范围为90°;
2.4图像样式为顶视圆筒,
绘图顶点坐标,如图7所示,顶视圆筒实际是一个圆筒状的三维模型,这个三维模型由若干个图元组成,计算圆筒图元的顶点坐标,我们可以按照圆筒的数学公式来计算,设圆筒底部圆半径为r,r与x轴的夹角为dsita,h为圆筒的高度,v9点所在半径与x轴的夹角为sita,
结合圆筒公式有:
(1)计算V8坐标
x轴坐标为:x8=r*cos(sita),
y轴坐标为:y8=h,
z轴坐标为:z8=r*sin(sita);
(2)计算V9坐标
x轴坐标为:x9=r*cos(sita),
y轴坐标为:y9=0,
z轴坐标为:z9=r*sin(sita);
(3)计算V10坐标
x轴坐标为:x10=r*cos(sita+dsita),
y轴坐标为:y10=0,
z轴坐标为:z10=r*sin(sita+dsita);
(4)计算V11坐标
x轴坐标为:x11=r*cos(sita+dsita),
y轴坐标为:y11=h,
z轴坐标为:z11=r*sin(sita+dsita);
纹理顶点坐标的按照顶视展开的纹理顶点坐标进行展开计算即可;
2.5图像样式为顶视混杂,实质上是顶视鱼眼、顶视四屏、顶视展开、顶视圆筒混合作用的结果;
2.6图像样式为挂壁鱼眼,绘图顶点坐标:挂壁鱼眼实际是一个半球体,而这个半球体由若干个图元组成,挂壁鱼眼的绘图顶点坐标和纹理顶点坐标均可以分别按照顶视鱼眼的绘图顶点坐标和纹理顶点坐标计算展开时运用到的公式进行计算,挂壁鱼眼与顶视鱼眼唯一不同的地方是挂壁鱼眼的半径r与y轴的夹角fi的起始角度为90度,所以fi的取值范围为fi>=90;
步骤3、渲染表面模块捕抓用户的手势动作,并将手势动作转化为动作参数;
步骤4、渲染引擎持续接收yuv源图像数据,结合顶点坐标和动作参数综合计算视图坐标,然后根据视图坐标将像素附着在渲染表面模块上,完成一次渲染,
图像样式为顶视鱼眼,视图坐标:由于顶视鱼眼模式只要一个分屏,所以视图坐标覆盖至这个屏幕,所以视图坐标与顶点坐标的xy轴构成的平面重合。使用视图坐标,只需要知道视图坐标的原点及xy轴边界即可,将这些坐标当作入参传进opengles的api;
图像样式为顶视展开,视图坐标:由于顶视展开只要一个分屏,所以视图坐标覆盖至这个屏幕,所以视图坐标与顶点坐标的xy轴构成的平面重合。使用视图坐标,只需要知道视图坐标的原点及xy轴边界即可,将这些坐标当作入参传进opengles的api;
图像样式为顶视四屏,视图坐标:由于顶视四屏模式有四个分屏,所以我们对这个屏幕划分成四份,建立四个视图坐标,所以视图坐标与顶点坐标的xy轴构成的平面重合。使用视图坐标,只需要知道视图坐标的原点及xy轴边界即可,将这些坐标当作入参传进opengles的api。设屏幕的原点坐标为(cx,cy)、屏幕的x轴边界值为x_max,y轴的边界值为y_max,设第一分屏坐落在屏幕的左下角,所以第一分屏的原点坐标为(cx,cy),x轴边界长度为x_max/2,y轴边界长度为y_max/2。设第二分屏坐落在屏幕的左上角,第二分屏的原点坐标为(cx,cy+y_max/2),x轴边界长度为x_max/2,y轴边界长度为y_max/2。设第三分屏坐落在屏幕的右下角,故原点坐标为(cx+x_max/2,cy),x轴边界长度为x_max/2,y轴边界长度为y_max/2。设第四分屏坐落在屏幕的右上角,故原点坐标为(cx+x_max/2,cy+y_max/2),x轴边界长度为x_max/2,y轴边界长度为y_max/2;
图像样式为顶视圆筒,视图坐标:由于顶视圆筒只要一个分屏,所以视图坐标覆盖至这个屏幕,所以视图坐标与顶点坐标的xy轴构成的平面重合。使用视图坐标,只需要知道视图坐标的原点及xy轴边界即可,将这些坐标当作入参传进opengles的api;
图像样式为顶视混杂,顶视混杂实质上是顶视鱼眼、顶视四屏、顶视展开、顶视圆筒混合作用的结果。如图8所示,其中第一分屏(屏幕左上部分)为顶视四屏、第二分屏(屏幕左下部分)为顶视圆筒、第三分屏(屏幕的右上部分)为顶视鱼眼、第四分屏(屏幕的右下部分)为顶视展开;
图像样式为挂壁鱼眼,视图坐标:由于顶视鱼眼模式只要一个分屏,所以视图坐标覆盖至这个屏幕,所以视图坐标与顶点坐标的xy轴构成的平面重合。使用视图坐标,只需要知道视图坐标的原点及xy轴边界即可,将这些坐标当作入参传进opengles的api。
计算机在播放视频实际是将一帧一帧的图像渲染至屏幕是上,只要计算机在播放视频,则认为计算机在不断的循环步骤3和步骤4进行渲染操作,使得渲染的图像数据在不断变换,直至视频播放完毕,渲染完成。
以上所述仅是本公开的优选方式,应当指出,对于本领域普通技术人员来说,在不脱离本公开创造构思的前提下,还可以做出若干相似的变形和改进,这些也应视为本公开的保护范围之内。

Claims (9)

1.一种支持多种图形样式的鱼眼图像渲染系统,其中,包括建模引擎、渲染引擎以及渲染表面模块,渲染表面模块和建模引擎均与渲染引擎通信连接,
建模引擎中包含了多种图像尺寸的模型参数族和多种图像样式的数学模型,数学模型用于将适配不同的模型参数计算出顶点坐标供渲染引擎计算;
渲染引擎利用建模引擎提供的顶点坐标计算像素在渲染表面模块附着的正确位置,并将像素附着在渲染表面模块上;
渲染表面模块的功能包括两个部分,其中一个部分用于呈现图像,另一部分是用于捕抓用户的手势动作,并转化为动作参数供渲染引擎计算。
2.根据权利要求1所述的一种支持多种图形样式的鱼眼图像渲染系统,其中,所述建模引擎中包含了六种图像样式的数学模型,数学模型与图像样式对应设置。
3.根据权利要求2所述的一种支持多种图形样式的鱼眼图像渲染系统,其中,所述六种图像样式中包括顶视鱼眼、顶视展开、顶视四屏、顶视圆筒、顶视混杂、挂壁鱼眼。
4.根据权利要求2所述的一种支持多种图形样式的鱼眼图像渲染系统,其中,所述六种图像样式对应六组模型参数,一种图像尺寸的图像拥有六种图像样式,一种图像尺寸的图像拥有六组模型参数,且六组模型参数集合形成一种图像尺寸的模型参数族。
5.根据权利要求1所述的一种支持多种图形样式的鱼眼图像渲染系统,其中,所述顶点坐标分为两类,一类是绘图顶点坐标,另一类是纹理顶点坐标。
6.根据权利要求5所述的一种支持多种图形样式的鱼眼图像渲染系统,其中,所述顶点坐标是建模引擎的输出数据,也是渲染引擎的输入数据。
7.根据权利要求1所述的一种支持多种图形样式的鱼眼图像渲染系统,其中,所述渲染引擎中通过动作参数计算出新的视图坐标。
8.基于权利要求1-7中任一项所述的支持多种图形样式的鱼眼图像渲染系统的渲染方法,其中,包括如下步骤:
步骤1、渲染引擎读到第一帧图像获得图像尺寸参数;
步骤2、根据尺寸在建模引擎选择模型参数族,根据数学模型计算出顶点坐标;
步骤3、渲染表面模块捕抓用户的手势动作,并将手势动作转化为动作参数;
步骤4、渲染引擎持续接收yuv源图像数据,结合顶点坐标和动作参数综合计算视图坐标,然后根据视图坐标将像素附着在渲染表面模块上;
步骤5、循环步骤3和步骤4,直至渲染完成。
9.根据权利要求8所述的渲染方法,其中,所述手势动作中包括单指拖动和双指缩放。
CN201910886875.9A 2019-09-19 2019-09-19 一种支持多种图形样式的鱼眼图像渲染系统及方法 Active CN110619669B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910886875.9A CN110619669B (zh) 2019-09-19 2019-09-19 一种支持多种图形样式的鱼眼图像渲染系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910886875.9A CN110619669B (zh) 2019-09-19 2019-09-19 一种支持多种图形样式的鱼眼图像渲染系统及方法

Publications (2)

Publication Number Publication Date
CN110619669A true CN110619669A (zh) 2019-12-27
CN110619669B CN110619669B (zh) 2023-03-28

Family

ID=68923690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910886875.9A Active CN110619669B (zh) 2019-09-19 2019-09-19 一种支持多种图形样式的鱼眼图像渲染系统及方法

Country Status (1)

Country Link
CN (1) CN110619669B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722861A (zh) * 2011-05-06 2012-10-10 新奥特(北京)视频技术有限公司 一种基于cpu的图形渲染引擎及实现方法
CN106056661A (zh) * 2016-05-31 2016-10-26 钱进 基于Direct3D 11的三维图形渲染引擎
WO2017128887A1 (zh) * 2016-01-26 2017-08-03 范治江 全景图像的校正3d显示方法和系统及装置
US20170302714A1 (en) * 2016-04-15 2017-10-19 Diplloid Inc. Methods and systems for conversion, playback and tagging and streaming of spherical images and video
US20170336705A1 (en) * 2016-05-19 2017-11-23 Avago Technologies General Ip (Singapore) Pte. Ltd. 360 degree video capture and playback
CN107615338A (zh) * 2015-02-17 2018-01-19 奈克斯特Vr股份有限公司 用于生成和使用降低分辨率图像并且/或者将这样的图像传送到重放或内容分发设备的方法和装置
CN109155873A (zh) * 2016-05-23 2019-01-04 佳能株式会社 改进虚拟现实媒体内容的流传输的方法、装置和计算机程序

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722861A (zh) * 2011-05-06 2012-10-10 新奥特(北京)视频技术有限公司 一种基于cpu的图形渲染引擎及实现方法
CN107615338A (zh) * 2015-02-17 2018-01-19 奈克斯特Vr股份有限公司 用于生成和使用降低分辨率图像并且/或者将这样的图像传送到重放或内容分发设备的方法和装置
WO2017128887A1 (zh) * 2016-01-26 2017-08-03 范治江 全景图像的校正3d显示方法和系统及装置
US20170302714A1 (en) * 2016-04-15 2017-10-19 Diplloid Inc. Methods and systems for conversion, playback and tagging and streaming of spherical images and video
US20170336705A1 (en) * 2016-05-19 2017-11-23 Avago Technologies General Ip (Singapore) Pte. Ltd. 360 degree video capture and playback
CN109155873A (zh) * 2016-05-23 2019-01-04 佳能株式会社 改进虚拟现实媒体内容的流传输的方法、装置和计算机程序
CN106056661A (zh) * 2016-05-31 2016-10-26 钱进 基于Direct3D 11的三维图形渲染引擎

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张文清等: "三维虚拟实景模型构建方法的探讨", 《科技视界》 *
赵凯等: "视频图像在三维模型中的渲染", 《计算机工程与设计》 *

Also Published As

Publication number Publication date
CN110619669B (zh) 2023-03-28

Similar Documents

Publication Publication Date Title
US6717586B2 (en) Apparatus, method, program code, and storage medium for image processing
RU2215326C2 (ru) Иерархическое основанное на изображениях представление неподвижного и анимированного трехмерного объекта, способ и устройство для использования этого представления для визуализации объекта
US5561745A (en) Computer graphics for animation by time-sequenced textures
TWI387936B (zh) A video conversion device, a recorded recording medium, a semiconductor integrated circuit, a fish-eye monitoring system, and an image conversion method
TWI451358B (zh) 香蕉編碼解碼器
CN107452049B (zh) 一种三维头部建模方法及装置
EP3992919B1 (en) Three-dimensional facial model generation method and apparatus, device, and medium
WO2017167107A1 (zh) 图像显示方法、异形曲面幕布的定制方法和头戴式显示设备
CN106803884A (zh) 图像处理系统和图像处理方法
JP2003528360A (ja) 一般的三次元グラフィックスパイプラインを使用する低廉なデジタル・イメージ/ビデオの編集のための方法及び装置
CN112288665A (zh) 图像融合的方法、装置、存储介质及电子设备
US11640687B2 (en) Volumetric capture and mesh-tracking based machine learning 4D face/body deformation training
WO2021098143A1 (zh) 图像处理方法及装置、图像处理设备及存储介质
KR102353556B1 (ko) 사용자 얼굴기반 표정 및 포즈 재현 아바타 생성장치
CN110992247A (zh) 一种人像照片头发拉直特效的实现方法及系统
KR100459892B1 (ko) 3차원 얼굴 모델을 위한 텍스쳐 생성 방법 및 장치
JP2003109031A (ja) 描画処理装置及び方法、描画処理プログラムを記録した記録媒体、描画処理プログラム
CN111652795A (zh) 脸型的调整、直播方法、装置、电子设备和存储介质
WO2019042028A1 (zh) 全视向的球体光场渲染方法
CN110619669B (zh) 一种支持多种图形样式的鱼眼图像渲染系统及方法
JPH1074271A (ja) 3次元似顔作成方法および装置
CN116708862A (zh) 直播间的虚拟背景生成方法、计算机设备及存储介质
US11120606B1 (en) Systems and methods for image texture uniformization for multiview object capture
JP3501479B2 (ja) 画像処理装置
JP2000306118A (ja) 樹木のテクスチャ生成装置

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
CB02 Change of applicant information

Address after: 518000 R & D room 701, block a, building 7, Vanke Cloud City Phase I, Xingke 1st Street, Xili community, Xili street, Nanshan District, Shenzhen City, Guangdong Province (701, 7 / F, block a, building 1, Shenzhen International Innovation Valley)

Applicant after: Shenzhen Fushikang intelligent Co.,Ltd.

Address before: 518000 a, 6th floor, Nanfeng building, Nanshan cloud Valley Innovation Industrial Park, 1183 Liuxian Avenue, Taoyuan Street, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: Shenzhen Fujikam Industry Development Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant