CN111754614A - 基于vr视频渲染方法、装置、电子设备及存储介质 - Google Patents
基于vr视频渲染方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111754614A CN111754614A CN202010622589.4A CN202010622589A CN111754614A CN 111754614 A CN111754614 A CN 111754614A CN 202010622589 A CN202010622589 A CN 202010622589A CN 111754614 A CN111754614 A CN 111754614A
- Authority
- CN
- China
- Prior art keywords
- video
- vertex
- rendered
- texture data
- rendering
- 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
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 162
- 238000000034 method Methods 0.000 title claims abstract description 39
- 239000012634 fragment Substances 0.000 claims abstract description 70
- 238000012544 monitoring process Methods 0.000 claims abstract description 43
- 230000011218 segmentation Effects 0.000 claims description 30
- 239000011159 matrix material Substances 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 9
- 230000035945 sensitivity Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000006073 displacement reaction Methods 0.000 claims description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 11
- 230000009466 transformation Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010438 heat treatment Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 230000020169 heat generation Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/55—Radiosity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本发明涉及人工智能技术领域,提供一种基于VR视频渲染方法、装置、电子设备及存储介质,方法包括:创建渲染模型;获取待渲染视频并解码得到视频纹理数据;加载顶点着色器和片元着色器并进行编译;将顶点坐标和顶点索引输入到顶点着色器得到目标顶点着色器,将纹理坐标输入到片元着色器中得到目标片元着色器;监听待渲染视频的偏移量,得到更新的视频纹理数据,在目标顶点着色器和目标片元着色器中将更新的视频纹理数据渲染到终端设备的显示屏幕上。本发明通过预设的渲染模式将更新的视频纹理数据渲染到终端设备的显示屏幕上,提高了视频渲染的准确率。此外,本发明还涉及区块链技术领域,待渲染视频可存储于区块链节点中。
Description
技术领域
本发明涉及人工智能技术领域,具体涉及一种基于VR视频渲染方法、装置、电子设备及存储介质。
背景技术
随着5G时代的到来,越来越多创新的应用场景从概念走向现实,而VR作为其中一个重要的应用场景,越来越受到人们的重视,并且5G的网络速度大幅提高,能够传输更高码率、更高帧率的VR视频,现有技术对VR视频渲染上主要存在以下问题:视频渲染效率较低,消耗硬件资源较大,通过头戴式VR眼镜观看VR视频时,左右分屏画面看起来效果不够逼真,影响观看VR视频的用户体验和满意度,并且导致VR的应用场景也受到了极大的限制和影响。
因此,如何提升VR视频的渲染效率及使得渲染后的左右分屏画面更加逼真成为了亟待解决的问题。
发明内容
鉴于以上内容,有必要提出一种基于VR视频渲染方法、装置、电子设备及存储介质,通过预设的渲染模式将解析后的视频纹理数据渲染到终端设备的显示屏幕上,提高了视频渲染的准确率。
本发明的第一方面提供一种基于VR视频渲染方法,所述方法包括:
创建渲染模型,其中,所述渲染模型中对应有顶点坐标、顶点索引和纹理坐标;
获取待渲染视频,并解码所述待渲染视频得到视频纹理数据;
在开放式图形库中加载顶点着色器和片元着色器,并对所述顶点着色器和片元着色器进行编译;
调用所述开放式图形库接口将所述顶点坐标和所述顶点索引输入到编译后的顶点着色器得到目标顶点着色器,将所述纹理坐标输入到编译后的片元着色器中得到目标片元着色器;
监听所述待渲染视频的偏移量,得到更新的视频纹理数据,在所述目标顶点着色器和所述目标片元着色器中将所述更新的视频纹理数据渲染到终端设备的显示屏幕上。
优选的,所述监听所述待渲染视频的偏移量,得到更新的视频纹理数据,在所述目标顶点着色器和所述目标片元着色器中将所述更新的视频纹理数据渲染到终端设备的显示屏幕上包括:
当监听到所述待渲染视频的渲染模式为左右分屏模式时,将所述终端设备的显示屏幕划分为左分屏区域和右分屏区域;
调用所述开放式图形库的接口调整所述左分屏区域和所述右分屏区域对应的视频纹理数据中的眼睛和目标位置的X轴坐标,得到更新的视频纹理数据,其中,所述右分屏区域对应的所述眼睛和所述目标位置的X轴坐标按照预设的偏移位移量调整偏左侧方向;
将所述更新的视频纹理数据分别渲染到所述左分屏区域和所述右分屏区域。
优选的,所述监听所述待渲染视频的偏移量,得到更新的视频纹理数据,在所述目标顶点着色器和所述目标片元着色器中将所述更新的视频纹理数据渲染到终端设备的显示屏幕上包括:
监听所述待渲染视频的观看角度的偏移量,并根据所述观看角度的偏移量调整所述待渲染视频的视频纹理数据得到更新的视频纹理数据;
更新所述目标顶点着色器和所述目标片元着色器中的视频纹理数据为所述更新的视频纹理数据;
将所述更新的视频纹理数据渲染到终端设备的显示屏幕上。
优选的,所述监听所述待渲染视频的观看角度的偏移量,并根据所述观看角度的偏移量调整所述待渲染视频的视频纹理数据得到更新的视频纹理数据包括:
监听所述待渲染视频对应的手势滑动的横向偏移量和纵向偏移量;
根据所述横向偏移量和所述纵向偏移量生成所述待渲染视频的观看角度的偏移矩阵;
将所述偏移矩阵与每个三角形的顶点坐标相乘得到新的顶点坐标;
按照所述新的顶点坐标调整所述待渲染视频的视频纹理数据的偏移角度矩阵得到更新的视频纹理数据。
优选的,所述监听所述待渲染视频的观看角度的偏移量,并根据所述观看角度的偏移量调整所述待渲染视频的视频纹理数据得到更新的视频纹理数据包括:
监听所述待渲染视频对应的终端设备的调整方向并获取所述终端设备调整方向后对应的三维空间;
获取预先设置的灵敏度系数;
将所述三维空间的方向转换为x轴、y轴和z轴的偏移量;
根据所述x轴、y轴和z轴的偏移量生成所述待渲染视频的观看角度的偏移矩阵;
将所述偏移矩阵与所述灵敏度系数相乘之积与每个三角形的顶点坐标相乘得到新的顶点坐标;
按照所述新的顶点坐标调整所述视频纹理数据得到更新的视频纹理数据。
优选的,所述解码所述待渲染视频得到视频纹理数据包括:
获取所述待渲染视频对应的播放器,其中,所述待渲染视频存储于区块链节点中;
根据所述待渲染视频创建表面纹理对象,根据所述表面纹理对象创建图像;
将所述图像绑定到所述播放器进行视频解码得到解码数据;
从所述解码数据中获得图像帧数据;
调用所述开放式图形库中的updateTexImage()更新所述图像帧数据,并转换为对应的视频纹理数据。
优选的,所述创建渲染模型的过程包括:
获取预设球体模型;
检测所述终端设备的硬件资源配置,根据所述硬件资源配置确定分割角度和分割份数;
按照所述分割角度和分割份数将所述预设球体模型的的球体表面进行分割成多个四边形,将每个四边形沿着对角线分割成两个三角形,根据所述分割角度和所述预设球体模型的球体半径计算得到每个三角形的每个顶点坐标;
将所述每个三角形的三个顶点坐标存入顶点数组;
根据开放式图形库的规则配置与所述顶点数组对应的顶点索引;
根据所述分割份数计算得到每个三角形的每个顶点对应的纹理坐标;
关联所述顶点坐标、所述顶点索引及所述纹理坐标并创建渲染模型。
本发明的第二方面提供一种基于VR视频渲染装置,所述装置包括:
创建模块,用于创建渲染模型,其中,所述渲染模型中对应有顶点坐标、顶点索引和纹理坐标;
获取模块,用于获取待渲染视频,并解码所述待渲染视频得到视频纹理数据;
加载模块,用于在开放式图形库中加载顶点着色器和片元着色器,并对所述顶点着色器和片元着色器进行编译;
输入模块,用于调用所述开放式图形库接口将所述顶点坐标和所述顶点索引输入到编译后的顶点着色器得到目标顶点着色器,将所述纹理坐标输入到编译后的片元着色器中得到目标片元着色器;
渲染模块,用于监听所述待渲染视频的偏移量,得到更新的视频纹理数据,在所述目标顶点着色器和所述目标片元着色器中将所述更新的视频纹理数据渲染到终端设备的显示屏幕上。
本发明的第三方面提供一种电子设备,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述的基于VR视频渲染方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于VR视频渲染方法。
综上所述,本发明所述的一种基于VR视频渲染方法、装置、电子设备及存储介质,一方面通过按照预设的渲染模式调整视频纹理数据的偏移量,并将更新的视频纹理数据渲染到终端设备的显示屏幕上,提高了视频渲染的准确率,提升了用户的体验度和满意度;另一方面,根据不同的播放器本身的播控接口对所述待渲染视频进行解码得到视频纹理数据,提高了得到的视频纹理数据的正确率;此外,通过检测终端设备的硬件资源配置,根据所述硬件资源配置确定预设的分割角度和分割份数,根据不同的硬件资源配置调整预设的切割角度和分割份数,动态的改变渲染模型的细腻度去创建渲染模型,可以有效节省资源,减少终端设备的发热和电量消耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例一提供的基于VR视频渲染方法的流程图。
图2是本发明实施例二提供的基于VR视频渲染装置的结构图。
图3是本发明实施例三提供的电子设备的结构示意图。
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
实施例一
图1是本发明实施例一提供的基于VR视频渲染方法的流程图。
在本实施例中,所述基于VR视频渲染方法可以应用于电子设备中,对于需要进行基于VR视频渲染的电子设备,可以直接在电子设备上集成本发明的方法所提供的基于VR视频渲染的功能,或者以软件开发工具包(Software Development Kit,SKD)的形式运行在电子设备中。
如图1所示,所述基于VR视频渲染方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
S11:创建渲染模型,其中,所述渲染模型中对应有顶点坐标、顶点索引和纹理坐标。
本实施例中,要实现立体的视频画面,首先要创建一个立体模型,所述立体模型可以为球体模型,将所述球体模型作为渲染模型。
优选的,所述创建渲染模型的过程包括:
获取预设球体模型;
检测所述终端设备的硬件资源配置,根据所述硬件资源配置确定分割角度和分割份数;
按照所述分割角度和分割份数将所述预设球体模型的的球体表面进行分割成多个四边形,将每个四边形沿着对角线分割成两个三角形,根据所述分割角度和所述预设球体模型的球体半径计算得到每个三角形的每个顶点坐标;
将所述每个三角形的三个顶点坐标存入顶点数组;
根据开放式图形库的规则配置与所述顶点数组对应的顶点索引;
根据所述分割份数计算得到每个三角形的每个顶点对应的纹理坐标;
关联所述顶点坐标、所述顶点索引及所述纹理坐标并创建渲染模型。
本实施例中,创建渲染模型,需要预先获取一个预设的球体模型,根据检测到的终端设备的硬件资源配置的参数和性能确定分割角度和分割份数,将所述预设的球体模型按照分割角度和分割份数进行分割,然后计算分割得到的每个三角形的每个顶点坐标,根据所述顶点坐标得到顶点数组,将所述顶点数组根据开放式图形库的规则配置成对应的顶点索引,最后计算出每个三角形的每个顶点对应的纹理坐标,关联所述顶点坐标、所述顶点索引及所述纹理坐标并进行构建得到渲染模型。
本实施例中,顶点坐标表示所述渲染模型中的位置,纹理坐标对应需要渲染的图像的图像位置,所述纹理坐标一般在(0,0),(1,1)浮动,根据所述分割角度和分割份数得到维度的大小,如将球体模型横向分割200次,纵向分割300次,得到的维度大小为200×300,将每个顶点的顶点坐标除以所述维度大小得到每个顶点对应的纹理坐标。
本实施例中,通过检测终端设备的硬件资源配置,根据所述硬件资源配置确定预设的分割角度和分割份数,根据不同的硬件资源配置调整切割角度和分割份数,动态的改变渲染模型的细腻度,可以有效节省资源,减少终端设备的发热和电量消耗。
S12:获取待渲染视频,并解码所述待渲染视频得到视频纹理数据。
本实施例中,从不同的视频源获取不同的视频,不同的视频选择不同的播放器,若所述视频源为网络视频,如:http://ip/vr.m3u8,自动选择OTT播放器-ExoPlayer(对HLS协议支持较好);若视频源为UDP(用户数据报协议)协议视频,如:udp://200.200.200.1:5534,自动选择OTT播放器-IjkMediaplayer(对UDP协议支持较好);若视频源为DVB下的直播信号,主要参数为此频道的这几个参数:aid:音频ID,atype:音频类型,vid:视频ID,vtype:视频类型等,将这些参数规范成一地址串:如dvb://vid=100&vtype=101&aid=100&atype=101&freq=387…。地址传入后,会自动分析并自动选择到DVB直播播放器;若视频源为本地视频,如:file:///mnt/sdcard/vr.mp4,会自动选择到OTT播放器-系统MediaPlayer。
本实施例中,根据选择的具体播放器,执行播放器本身的播控接口对所述待渲染视频进行解码得到视频纹理数据。
优选的,所述解码所述待渲染视频得到视频纹理数据包括:
获取所述待渲染视频对应的播放器,其中,所述待渲染视频存储于区块链节点中;
根据所述待渲染视频创建表面纹理对象,根据所述表面纹理对象创建图像;
将所述图像绑定到所述播放器进行视频解码得到解码数据;
从所述解码数据中获得图像帧数据;
调用所述开放式图形库中的updateTexImage()更新所述图像帧数据,并转换为对应的视频纹理数据。
本实施例中,每个待渲染视频对应不同的播放器,对所述待渲染视频创建表面纹理(Surface Texture)对象后,根据所述表面纹理(Surface Texture)对象创建图像(Surface),将所述Surface绑定到对应的播放器中进行视频解码得到解码数据,然后采用Surface Texture从所述解码数据中获取图像帧数据,并调用updateTexImage()更新所述图像帧数据转换为对应的视频纹理数据。
本实施例中,通过与待渲染视频对应的播放器进行视频解码,提高了获取视频纹理数据的效率和正确率。
本实施例中,需要强调的是,为进一步保证上述待渲染视频的私密和安全性,上述待渲染视频还可以存储于一区块链的节点中。
S13:在开放式图形库中加载顶点着色器和片元着色器,并对所述顶点着色器和片元着色器进行编译。
本实施例中,所述顶点着色器用于描述顶点需要执行的模型变换、视变换、投影变换、光照(Transform and lighting)处理的顶点着色器程序源代码/可执行文件,对所述顶点着色器进行编译输入顶点数据和纹理坐标等参数进行图元装配;所述片元着色器用于描述片段上执行操作(如颜色混合)的片元着色器程序源代码/可执行文件,对所述片元着色器输入纹理对象等参数计算颜色,获取纹素,往像素点中填充颜色值,输出视频帧缓存区。
S14:调用所述开放式图形库接口将所述顶点坐标和所述顶点索引输入到编译后的顶点着色器得到目标顶点着色器,将所述纹理坐标输入到编译后的片元着色器中得到目标片元着色器。
本实施例中,通过调用开放式图形库(openGL)API接口将所述顶点坐标和所述顶点索引输入到编译后的顶点着色器得到目标顶点着色器,将所述纹理坐标输入到编译后的片元着色器中得到目标片元着色器,为待渲染视频进行渲染做准备。
S15:监听所述待渲染视频的偏移量,得到更新的视频纹理数据,在所述目标顶点着色器和所述目标片元着色器中将所述更新的视频纹理数据渲染到终端设备的显示屏幕上。
本实施例中,所述监听所述待渲染视频的偏移量包括监听所述待渲染视频的渲染数据变化,所述渲染数据变化包括渲染模式的调整或者观看角度的调整,其中,所述渲染模式分为两种模式,一种是全景模式,另一种是双屏模式,其中,所述双屏模式也就是左右分屏模式,所述观看角度的调整包括通过手势滑动调整观看角度及通过改变终端设备的方向调整观看角度。
优选的,所述监听所述待渲染视频的偏移量,得到更新的视频纹理数据,在所述目标顶点着色器和所述目标片元着色器中将所述更新的视频纹理数据渲染到终端设备的显示屏幕上包括:
当监听到所述待渲染视频的渲染模式为左右分屏模式时,将所述终端设备的显示屏幕划分为左分屏区域和右分屏区域;
调用所述开放式图形库的接口调整所述左分屏区域和所述右分屏区域对应的视频纹理数据中的眼睛和目标位置的X轴坐标,得到更新的视频纹理数据其中,所述右分屏区域对应的所述眼睛和所述目标位置的X轴坐标按照预设的偏移位移量调整偏左侧方向;
将所述更新的视频纹理数据分别渲染到所述左分屏区域和所述右分屏区域。
本实施例中:通过对所述左右分屏模式进行处理,渲染时加入观看区域偏差,更好的模拟了用户实际观看物体的左右眼视觉偏差,提高了视频渲染的准确率,使得视频更加的逼真,提高了用户的体验度。
优选的,所述监听所述待渲染视频的偏移量,得到更新的视频纹理数据,在所述目标顶点着色器和所述目标片元着色器中将所述更新的视频纹理数据渲染到终端设备的显示屏幕上包括:
当监听到所述待渲染视频的渲染模式为全景模式时,将所述终端设备的显示屏幕设置为全屏;
将所述监听到的更新的视频纹理数据渲染到所述全屏区域。
本实施例中,在监测到预设的渲染模式为全景模式时,只需要对所述球体模型渲染一次,加快了渲染速度。
优选的,所述监听所述待渲染视频的偏移量,得到更新的视频纹理数据,在所述目标顶点着色器和所述目标片元着色器中将所述更新的视频纹理数据渲染到终端设备的显示屏幕上包括:
监听所述待渲染视频的观看角度的偏移量,并根据所述观看角度的偏移量调整所述待渲染视频的视频纹理数据得到更新的视频纹理数据;
更新所述目标顶点着色器和所述目标片元着色器中的视频纹理数据为所述更新的视频纹理数据;
将所述更新的视频纹理数据渲染到终端设备的显示屏幕上。
本实施例中,通过监听终端设备中的手机陀螺仪中的数据得到观看角度的偏移量,根据观看角度的偏移量不断的调整所述待渲染视频的视频纹理数据得到更新的视频纹理数据,并将所述更新的视频纹理数据渲染到终端设备的显示屏幕上。
具体的,当监听到观看角度的是通过手势滑动进行调整的,所述监听所述待渲染视频的观看角度的偏移量,并根据所述观看角度的偏移量调整所述待渲染视频的视频纹理数据得到更新的视频纹理数据包括:
监听所述待渲染视频对应的手势滑动的横向偏移量和纵向偏移量;
根据所述横向偏移量和所述纵向偏移量生成所述待渲染视频的观看角度的偏移矩阵;
将所述偏移矩阵与每个三角形的顶点坐标相乘得到新的顶点坐标;
按照所述新的顶点坐标调整所述待渲染视频的视频纹理数据的偏移角度矩阵得到更新的视频纹理数据。
具体的,当监听到观看角度的是通过调整终端设备的方向进行调整的,所述监听所述待渲染视频的观看角度的偏移量,并根据所述观看角度的偏移量调整所述待渲染视频的视频纹理数据得到更新的视频纹理数据包括:
监听所述待渲染视频对应的终端设备的调整方向并获取所述终端设备调整方向后对应的三维空间;
获取预先设置的灵敏度系数;
将所述三维空间的方向转换为x轴、y轴和z轴的偏移量;
根据所述x轴、y轴和z轴的偏移量生成所述待渲染视频的观看角度的偏移矩阵;
将所述偏移矩阵与所述灵敏度系数相乘之积与每个三角形的顶点坐标相乘得到新的顶点坐标;
按照所述新的顶点坐标调整所述视频纹理数据得到更新的视频纹理数据。
本实施例中,在将所述更新的视频纹理数据渲染到终端设备的显示屏幕上进行播放过程中,根据监听到不同的方式调整所述待渲染视频的观看角度,计算得到新的顶点坐标,根据新的顶点坐标调整所述视频纹理数据得到更新的视频纹理数据,并将所述更新的视频纹理数据渲染到终端设备的显示屏幕上,提高了视频渲染的准确率,提升了用户的体验度和满意度。
综上所述,本实施例所述的基于VR视频渲染方法,通过创建渲染模型,其中,所述渲染模型中对应有顶点坐标、顶点索引和纹理坐标;获取待渲染视频,并解码所述待渲染视频得到视频纹理数据;在开放式图形库中加载顶点着色器和片元着色器,并对所述顶点着色器和片元着色器进行编译;调用所述开放式图形库接口将所述顶点坐标和所述顶点索引输入到编译后的顶点着色器得到目标顶点着色器,将所述纹理坐标输入到编译后的片元着色器中得到目标片元着色器;监听所述待渲染视频的偏移量,得到更新的视频纹理数据,在所述目标顶点着色器和所述目标片元着色器中将所述更新的视频纹理数据渲染到终端设备的显示屏幕上。
本实施例一方面通过按照预设的渲染模式调整视频纹理数据的偏移量,并将更新的视频纹理数据渲染到终端设备的显示屏幕上,提高了视频渲染的准确率,提升了用户的体验度和满意度;另一方面,根据不同的播放器本身的播控接口对所述待渲染视频进行解码得到视频纹理数据,提高了得到的视频纹理数据的正确率;此外,通过检测终端设备的硬件资源配置,根据所述硬件资源配置确定预设的分割角度和分割份数,根据不同的硬件资源配置调整预设的切割角度和分割份数,动态的改变渲染模型的细腻度去创建渲染模型,可以有效节省资源,减少终端设备的发热和电量消耗。
实施例二
图2是本发明实施例二提供的基于VR视频渲染装置的结构图。
在一些实施例中,所述基于VR视频渲染装置20可以包括多个由程序代码段所组成的功能模块。所述基于VR视频渲染装置20中的各个程序段的程序代码可以存储于电子设备的存储器中,并由所述至少一个处理器所执行,以执行(详见图1描述)基于VR视频渲染的功能。
本实施例中,所述基于VR视频渲染装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:创建模块201、获取模块202、加载模块203、输入模块204及渲染模块205。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
创建模块201:用于创建渲染模型,其中,所述渲染模型中对应有顶点坐标、顶点索引和纹理坐标。
本实施例中,要实现立体的视频画面,首先要创建一个立体模型,所述立体模型可以为球体模型,将所述球体模型作为渲染模型。
优选的,所述创建模块201创建渲染模型的过程包括:
获取预设球体模型;
检测所述终端设备的硬件资源配置,根据所述硬件资源配置确定分割角度和分割份数;
按照所述分割角度和分割份数将所述预设球体模型的的球体表面进行分割成多个四边形,将每个四边形沿着对角线分割成两个三角形,根据所述分割角度和所述预设球体模型的球体半径计算得到每个三角形的每个顶点坐标;
将所述每个三角形的三个顶点坐标存入顶点数组;
根据开放式图形库的规则配置与所述顶点数组对应的顶点索引;
根据所述分割份数计算得到每个三角形的每个顶点对应的纹理坐标;
关联所述顶点坐标、所述顶点索引及所述纹理坐标并创建渲染模型。
本实施例中,创建渲染模型,需要预先获取一个预设的球体模型,根据检测到的终端设备的硬件资源配置的参数和性能确定分割角度和分割份数,将所述预设的球体模型按照分割角度和分割份数进行分割,然后计算分割得到的每个三角形的每个顶点坐标,根据所述顶点坐标得到顶点数组,将所述顶点数组根据开放式图形库的规则配置成对应的顶点索引,最后计算出每个三角形的每个顶点对应的纹理坐标,关联所述顶点坐标、所述顶点索引及所述纹理坐标并进行构建得到渲染模型。
本实施例中,顶点坐标表示所述渲染模型中的位置,纹理坐标对应需要渲染的图像位置,所述纹理坐标一般在(0,0),(1,1)浮动,根据所述分割角度和分割份数得到维度的大小,如将球体模型横向分割200次,纵向分割300次,得到的维度大小为200×300,将每个顶点的顶点坐标除以所述维度大小得到每个顶点对应的纹理坐标。
本实施例中,通过检测终端设备的硬件资源配置,根据所述硬件资源配置确定预设的分割角度和分割份数,根据不同的硬件资源配置调整切割角度和分割份数,动态的改变渲染模型的细腻度,可以有效节省资源,减少终端设备的发热和电量消耗。
获取模块202:用于获取待渲染视频,并解码所述待渲染视频得到视频纹理数据。
本实施例中,从不同的视频源获取不同的视频,不同的视频选择不同的播放器,若所述视频源为网络视频,如:http://ip/vr.m3u8,自动选择OTT播放器-ExoPlayer(对HLS协议支持较好);若视频源为UDP(用户数据报协议)协议视频,如:udp://200.200.200.1:5534,自动选择OTT播放器-IjkMediaplayer(对UDP协议支持较好);若视频源为DVB下的直播信号,主要参数为此频道的这几个参数:aid:音频ID,atype:音频类型,vid:视频ID,vtype:视频类型等,将这些参数规范成一地址串:如dvb://vid=100&vtype=101&aid=100&atype=101&freq=387…。地址传入后,会自动分析并自动选择到DVB直播播放器;若视频源为本地视频,如:file:///mnt/sdcard/vr.mp4,会自动选择到OTT播放器-系统MediaPlayer。
本实施例中,根据选择的具体播放器,执行播放器本身的播控接口对所述待渲染视频进行解码得到视频纹理数据。
优选的,所述获取模块202解码所述待渲染视频得到视频纹理数据包括:
获取所述待渲染视频对应的播放器,其中,所述待渲染视频存储于区块链节点中;
根据所述待渲染视频创建表面纹理对象,根据所述表面纹理对象创建图像;
将所述图像绑定到所述播放器进行视频解码得到解码数据;
从所述解码数据中获得图像帧数据;
调用所述开放式图形库中的updateTexImage()更新所述图像帧数据,并转换为对应的视频纹理数据。
本实施例中,每个待渲染视频对应不同的播放器,对所述待渲染视频创建表面纹理(Surface Texture)对象后,根据所述表面纹理(Surface Texture)对象创建图像(Surface),将所述Surface绑定到对应的播放器中进行视频解码得到解码数据,然后采用Surface Texture从所述解码数据中获取图像帧数据,并调用updateTexImage()更新所述图像帧数据转换为对应的视频纹理数据。
本实施例中,通过与待渲染视频对应的播放器进行视频解码,提高了获取视频纹理数据的效率和正确率。
本实施例中,需要强调的是,为进一步保证上述待渲染视频的私密和安全性,上述待渲染视频还可以存储于一区块链的节点中。
加载模块203:用于在开放式图形库中加载顶点着色器和片元着色器,并对所述顶点着色器和片元着色器进行编译。
本实施例中,所述顶点着色器用于描述顶点需要执行的模型变换、视变换、投影变换、光照(Transform and lighting)处理的顶点着色器程序源代码/可执行文件,对所述顶点着色器进行编译输入顶点数据和纹理坐标等参数进行图元装配;所述片元着色器用于描述片段上执行操作(如颜色混合)的片元着色器程序源代码/可执行文件,对所述片元着色器输入纹理对象等参数计算颜色,获取纹素,往像素点中填充颜色值,输出视频帧缓存区。
输入模块204:用于调用所述开放式图形库接口将所述顶点坐标和所述顶点索引输入到编译后的顶点着色器得到目标顶点着色器,将所述纹理坐标输入到编译后的片元着色器中得到目标片元着色器。
本实施例中,通过调用开放式图形库(openGL)API接口将所述顶点坐标和所述顶点索引输入到编译后的顶点着色器得到目标顶点着色器,将所述纹理坐标输入到编译后的片元着色器中得到目标片元着色器,为待渲染视频进行渲染做准备。
渲染模块205:用于监听所述待渲染视频的偏移量,得到更新的视频纹理数据,在所述目标顶点着色器和所述目标片元着色器中按照预设的渲染模式将所述更新的视频纹理数据渲染到终端设备的显示屏幕上。
本实施例中,所述监听所述待渲染视频的偏移量包括监听所述待渲染视频的渲染数据变化,所述渲染数据变化包括渲染模式的调整或者观看角度的调整,其中,所述渲染模式分为两种模式,一种是全景模式,另一种是双屏模式,其中,所述双屏模式也就是左右分屏模式,所述观看角度的调整包括通过手势滑动调整观看角度及通过改变终端设备的方向调整观看角度。
优选的,所述渲染模块205监听所述待渲染视频的偏移量,得到更新的视频纹理数据,在所述目标顶点着色器和所述目标片元着色器中将所述更新的视频纹理数据渲染到终端设备的显示屏幕上包括:
当监听到所述待渲染视频的渲染模式为左右分屏模式时,将所述终端设备的显示屏幕划分为左分屏区域和右分屏区域;
调用所述开放式图形库的接口调整所述左分屏区域和所述右分屏区域对应的视频纹理数据中的眼睛和目标位置的X轴坐标,得到更新的视频纹理数据,其中,所述右分屏区域对应的所述眼睛和所述目标位置的X轴坐标按照预设的偏移位移量调整偏左侧方向;
将所述更新的视频纹理数据分别渲染到所述左分屏区域和所述右分屏区域。
本实施例中:通过对所述左右分屏模式进行处理,渲染时加入观看区域偏差,更好的模拟了用户实际观看物体的左右眼视觉偏差,提高了视频渲染的准确率,使得视频更加的逼真,提高了用户的体验度。
优选的,所述渲染模块205监听所述待渲染视频的偏移量,得到更新的视频纹理数据,在所述目标顶点着色器和所述目标片元着色器中将所述更新的视频纹理数据渲染到终端设备的显示屏幕上包括:
当监听到所述待渲染视频的渲染模式为全景模式时,将所述终端设备的显示屏幕设置为全屏;
将所述监听到的更新的视频纹理数据渲染到所述全屏区域。
本实施例中,在监测到预设的渲染模式为全景模式时,只需要对所述球体模型渲染一次,加快了渲染速度。
优选的,所述渲染模块205监听所述待渲染视频的偏移量,得到更新的视频纹理数据,在所述目标顶点着色器和所述目标片元着色器中将所述更新的视频纹理数据渲染到终端设备的显示屏幕上包括:
监听所述待渲染视频的观看角度的偏移量,并根据所述观看角度的偏移量调整所述待渲染视频的视频纹理数据得到更新的视频纹理数据;
更新所述目标顶点着色器和所述目标片元着色器中的视频纹理数据为所述更新的视频纹理数据;
将所述更新的视频纹理数据渲染到终端设备的显示屏幕上。
本实施例中,通过监听终端设备中的手机陀螺仪中的数据得到观看角度的偏移量,根据观看角度的偏移量不断的调整所述待渲染视频的视频纹理数据得到更新的视频纹理数据,并将所述更新的视频纹理数据渲染到终端设备的显示屏幕上。
具体的,当监听到观看角度的是通过手势滑动进行调整的,所述渲染模块205监听所述待渲染视频的观看角度的偏移量,并根据所述观看角度的偏移量调整所述待渲染视频的视频纹理数据得到更新的视频纹理数据包括:
监听所述待渲染视频对应的手势滑动的横向偏移量和纵向偏移量;
根据所述横向偏移量和所述纵向偏移量生成所述待渲染视频的观看角度的偏移矩阵;
将所述偏移矩阵与每个三角形的顶点坐标相乘得到新的顶点坐标;
按照所述新的顶点坐标调整所述待渲染视频的视频纹理数据的偏移角度矩阵得到更新的视频纹理数据。
具体的,当监听到观看角度的是通过调整终端设备的方向进行调整的,所述渲染模块205监听所述待渲染视频的观看角度的偏移量,并根据所述观看角度的偏移量调整所述待渲染视频的视频纹理数据得到更新的视频纹理数据包括:
监听所述待渲染视频对应的终端设备的调整方向并获取所述终端设备调整方向后对应的三维空间;
获取预先设置的灵敏度系数;
将所述三维空间的方向转换为x轴、y轴和z轴的偏移量;
根据所述x轴、y轴和z轴的偏移量生成所述待渲染视频的观看角度的偏移矩阵;
将所述偏移矩阵与所述灵敏度系数相乘之积与每个三角形的顶点坐标相乘得到新的顶点坐标;
按照所述新的顶点坐标调整所述视频纹理数据得到更新的视频纹理数据。
本实施例中,在将所述更新的视频纹理数据渲染到终端设备的显示屏幕上进行播放过程中,根据监听到不同的方式调整所述待渲染视频的观看角度,计算得到新的顶点坐标,根据新的顶点坐标调整所述视频纹理数据得到更新的视频纹理数据,并将所述更新的视频纹理数据渲染到终端设备的显示屏幕上,提高了视频渲染的准确率,提升了用户的体验度和满意度。
综上所述,本实施例所述的基于VR视频渲染装置,通过创建渲染模型,其中,所述渲染模型中对应有顶点坐标、顶点索引和纹理坐标;获取待渲染视频,并解码所述待渲染视频得到视频纹理数据;在开放式图形库中加载顶点着色器和片元着色器,并对所述顶点着色器和片元着色器进行编译;调用所述开放式图形库接口将所述顶点坐标和所述顶点索引输入到编译后的顶点着色器得到目标顶点着色器,将所述纹理坐标输入到编译后的片元着色器中得到目标片元着色器;监听所述待渲染视频的偏移量,得到更新的视频纹理数据,在所述目标顶点着色器和所述目标片元着色器中将所述更新的视频纹理数据渲染到终端设备的显示屏幕上。
本实施例一方面通过按照预设的渲染模式调整视频纹理数据的偏移量,并将更新的视频纹理数据渲染到终端设备的显示屏幕上,提高了视频渲染的准确率,提升了用户的体验度和满意度;另一方面,根据不同的播放器本身的播控接口对所述待渲染视频进行解码得到视频纹理数据,提高了得到的视频纹理数据的正确率;此外,通过检测终端设备的硬件资源配置,根据所述硬件资源配置确定预设的分割角度和分割份数,根据不同的硬件资源配置调整预设的切割角度和分割份数,动态的改变渲染模型的细腻度去创建渲染模型,可以有效节省资源,减少终端设备的发热和电量消耗。
实施例三
参阅图3所示,为本发明实施例三提供的电子设备的结构示意图。在本发明较佳实施例中,所述电子设备3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。
本领域技术人员应该了解,图3示出的电子设备的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述电子设备3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
在一些实施例中,所述电子设备3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述电子设备3还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
需要说明的是,所述电子设备3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
在一些实施例中,所述存储器31用于存储程序代码和各种数据,例如安装在所述电子设备3中的基于VR视频渲染装置20,并在电子设备3的运行过程中实现高速、自动地完成程序或数据的存取。所述存储器31包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
在一些实施例中,所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述至少一个处理器32是所述电子设备3的控制核心(Control Unit),利用各种接口和线路连接整个电子设备3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行电子设备3的各种功能和处理数据,例如执行基于VR视频渲染的功能。
在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。
尽管未示出,所述电子设备3还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备3还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
在进一步的实施例中,结合图2,所述至少一个处理器32可执行所述电子设备3的操作装置以及安装的各类应用程序(如所述的基于VR视频渲染装置20)、程序代码等,例如,上述的各个模块。
所述存储器31中存储有程序代码,且所述至少一个处理器32可调用所述存储器31中存储的程序代码以执行相关的功能。例如,图2中所述的各个模块是存储在所述存储器31中的程序代码,并由所述至少一个处理器32所执行,从而实现所述各个模块的功能以达到基于VR视频渲染的目的。
在本发明的一个实施例中,所述存储器31存储多个指令,所述多个指令被所述至少一个处理器32所执行以实现基于VR视频渲染的目的。
具体地,所述至少一个处理器32对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种基于VR视频渲染方法,其特征在于,所述基于VR视频渲染方法包括:
创建渲染模型,所述渲染模型中对应有顶点坐标、顶点索引和纹理坐标;
获取待渲染视频,并解码所述待渲染视频得到视频纹理数据;
在开放式图形库中加载顶点着色器和片元着色器,并对所述顶点着色器和片元着色器进行编译;
调用所述开放式图形库接口将所述顶点坐标和所述顶点索引输入到编译后的顶点着色器得到目标顶点着色器,将所述纹理坐标输入到编译后的片元着色器中得到目标片元着色器;
监听所述待渲染视频的偏移量,得到更新的视频纹理数据,在所述目标顶点着色器和所述目标片元着色器中将所述更新的视频纹理数据渲染到终端设备的显示屏幕上。
2.如权利要求1所述的基于VR视频渲染方法,其特征在于,所述监听所述待渲染视频的偏移量,得到更新的视频纹理数据,在所述目标顶点着色器和所述目标片元着色器中将所述更新的视频纹理数据渲染到终端设备的显示屏幕上包括:
当监听到所述待渲染视频的渲染模式为左右分屏模式时,将所述终端设备的显示屏幕划分为左分屏区域和右分屏区域;
调用所述开放式图形库的接口调整所述左分屏区域和所述右分屏区域对应的视频纹理数据中的眼睛和目标位置的X轴坐标,得到更新的视频纹理数据,其中,所述右分屏区域对应的所述眼睛和所述目标位置的X轴坐标按照预设的偏移位移量调整偏左侧方向;
将所述更新的视频纹理数据分别渲染到所述左分屏区域和所述右分屏区域。
3.如权利要求1所述的基于VR视频渲染方法,其特征在于,所述监听所述待渲染视频的偏移量,得到更新的视频纹理数据,在所述目标顶点着色器和所述目标片元着色器中将所述更新的视频纹理数据渲染到终端设备的显示屏幕上包括:
监听所述待渲染视频的观看角度的偏移量,并根据所述观看角度的偏移量调整所述待渲染视频的视频纹理数据得到更新的视频纹理数据;
更新所述目标顶点着色器和所述目标片元着色器中的视频纹理数据为所述更新的视频纹理数据;
将所述更新的视频纹理数据渲染到终端设备的显示屏幕上。
4.如权利要求3所述的基于VR视频渲染方法,其特征在于,所述监听所述待渲染视频的观看角度的偏移量,并根据所述观看角度的偏移量调整所述待渲染视频的视频纹理数据得到更新的视频纹理数据包括:
监听所述待渲染视频对应的手势滑动的横向偏移量和纵向偏移量;
根据所述横向偏移量和所述纵向偏移量生成所述待渲染视频的观看角度的偏移矩阵;
将所述偏移矩阵与每个三角形的顶点坐标相乘得到新的顶点坐标;
按照所述新的顶点坐标调整所述待渲染视频的视频纹理数据的偏移角度矩阵得到更新的视频纹理数据。
5.如权利要求3所述的基于VR视频渲染方法,其特征在于,所述监听所述待渲染视频的观看角度的偏移量,并根据所述观看角度的偏移量调整所述待渲染视频的视频纹理数据得到更新的视频纹理数据包括:
监听所述待渲染视频对应的终端设备的调整方向并获取所述终端设备调整方向后对应的三维空间;
获取预先设置的灵敏度系数;
将所述三维空间的方向转换为x轴、y轴和z轴的偏移量;
根据所述x轴、y轴和z轴的偏移量生成所述待渲染视频的观看角度的偏移矩阵;
将所述偏移矩阵与所述灵敏度系数相乘之积与每个三角形的顶点坐标相乘得到新的顶点坐标;
按照所述新的顶点坐标调整所述视频纹理数据得到更新的视频纹理数据。
6.如权利要求1所述的基于VR视频渲染方法,其特征在于,所述解码所述待渲染视频得到视频纹理数据包括:
获取所述待渲染视频对应的播放器,其中,所述待渲染视频存储于区块链节点中;
根据所述待渲染视频创建表面纹理对象,根据所述表面纹理对象创建图像;
将所述图像绑定到所述播放器进行视频解码得到解码数据;
从所述解码数据中获得图像帧数据;
调用所述开放式图形库中的updateTexImage()更新所述图像帧数据,并转换为对应的视频纹理数据。
7.如权利要求1所述的基于VR视频渲染方法,其特征在于,所述创建渲染模型的过程包括:
获取预设球体模型;
检测所述终端设备的硬件资源配置,根据所述硬件资源配置确定分割角度和分割份数;
按照所述分割角度和分割份数将所述预设球体模型的的球体表面进行分割成多个四边形,将每个四边形沿着对角线分割成两个三角形,根据所述分割角度和所述预设球体模型的球体半径计算得到每个三角形的每个顶点坐标;
将所述每个三角形的三个顶点坐标存入顶点数组;
根据开放式图形库的规则配置与所述顶点数组对应的顶点索引;
根据所述分割份数计算得到每个三角形的每个顶点对应的纹理坐标;
关联所述顶点坐标、所述顶点索引及所述纹理坐标并创建渲染模型。
8.一种基于VR视频渲染装置,其特征在于,所述基于VR视频渲染装置包括:
创建模块,用于创建渲染模型,所述渲染模型中对应有顶点坐标、顶点索引和纹理坐标;
获取模块,用于获取待渲染视频,并解码所述待渲染视频得到视频纹理数据;
加载模块,用于在开放式图形库中加载顶点着色器和片元着色器,并对所述顶点着色器和片元着色器进行编译;
输入模块,用于调用所述开放式图形库接口将所述顶点坐标和所述顶点索引输入到编译后的顶点着色器得到目标顶点着色器,将所述纹理坐标输入到编译后的片元着色器中得到目标片元着色器;
渲染模块,用于监听所述待渲染视频的偏移量,得到更新的视频纹理数据,在所述目标顶点着色器和所述目标片元着色器中将所述更新的视频纹理数据渲染到终端设备的显示屏幕上。
9.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述的基于VR视频渲染方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的基于VR视频渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010622589.4A CN111754614B (zh) | 2020-06-30 | 2020-06-30 | 基于vr视频渲染方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010622589.4A CN111754614B (zh) | 2020-06-30 | 2020-06-30 | 基于vr视频渲染方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111754614A true CN111754614A (zh) | 2020-10-09 |
CN111754614B CN111754614B (zh) | 2024-07-02 |
Family
ID=72680281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010622589.4A Active CN111754614B (zh) | 2020-06-30 | 2020-06-30 | 基于vr视频渲染方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111754614B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235562A (zh) * | 2020-10-12 | 2021-01-15 | 聚好看科技股份有限公司 | 一种3d显示终端、控制器及图像处理方法 |
CN112367479A (zh) * | 2020-10-14 | 2021-02-12 | 聚好看科技股份有限公司 | 一种全景视频图像显示方法及显示设备 |
CN112604293A (zh) * | 2020-12-28 | 2021-04-06 | 完美世界(北京)软件科技发展有限公司 | 数据处理方法、装置、电子设备及可读介质 |
CN112672131A (zh) * | 2020-12-07 | 2021-04-16 | 聚好看科技股份有限公司 | 一种全景视频图像显示方法及显示设备 |
CN113194326A (zh) * | 2021-04-28 | 2021-07-30 | 平安国际智慧城市科技股份有限公司 | 全景直播方法、装置、计算机设备及计算机可读存储介质 |
CN113206992A (zh) * | 2021-04-20 | 2021-08-03 | 聚好看科技股份有限公司 | 一种转换全景视频投影格式的方法及显示设备 |
CN113379886A (zh) * | 2021-07-05 | 2021-09-10 | 中煤航测遥感集团有限公司 | 地理信息系统的三维渲染方法、装置、设备及存储介质 |
CN114756316A (zh) * | 2022-03-29 | 2022-07-15 | 南斗六星系统集成有限公司 | 基于液晶屏的表情互动的显示方法、介质、仪表和装置 |
CN114780197A (zh) * | 2022-04-29 | 2022-07-22 | 北京字跳网络技术有限公司 | 分屏渲染方法、装置、设备及存储介质 |
CN117472592A (zh) * | 2023-12-27 | 2024-01-30 | 中建三局集团有限公司 | 基于顶点着色器与纹理映射的三维模型爆炸方法及系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120008048A1 (en) * | 2010-07-09 | 2012-01-12 | Kabushiki Kaisha Toshiba | Display device, image data generating device, image data generating program, and display method |
CN102663664A (zh) * | 2012-03-02 | 2012-09-12 | 石家庄铁道大学 | 超大纹理图像的处理方法 |
US9437042B1 (en) * | 2011-10-20 | 2016-09-06 | Nvidia Corporation | System, method, and computer program product for performing dicing on a primitive |
CN106507178A (zh) * | 2016-12-09 | 2017-03-15 | 北京小米移动软件有限公司 | 视频播放方法及装置 |
CN106527713A (zh) * | 2016-11-07 | 2017-03-22 | 金陵科技学院 | Vr的三维数据渲染系统及其方法 |
US20180176550A1 (en) * | 2016-12-15 | 2018-06-21 | Htc Corporation | Method, processing device, and computer system for video preview |
CN108366272A (zh) * | 2017-01-03 | 2018-08-03 | 黑帆科技有限公司 | Vr视频渲染方法及装置 |
US20180268511A1 (en) * | 2017-03-15 | 2018-09-20 | Microsoft Technology Licensing, Llc | Low latency cross adapter vr presentation |
CN108765534A (zh) * | 2018-05-24 | 2018-11-06 | 武汉斗鱼网络科技有限公司 | 一种图像渲染方法、装置、设备及存储介质 |
CN109308734A (zh) * | 2017-07-27 | 2019-02-05 | 腾讯科技(深圳)有限公司 | 3d文字的生成方法及其装置、设备、存储介质 |
US20200183166A1 (en) * | 2017-08-14 | 2020-06-11 | Goertek Inc. | Graphics rendering method and apparatus of virtual reality |
-
2020
- 2020-06-30 CN CN202010622589.4A patent/CN111754614B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120008048A1 (en) * | 2010-07-09 | 2012-01-12 | Kabushiki Kaisha Toshiba | Display device, image data generating device, image data generating program, and display method |
US9437042B1 (en) * | 2011-10-20 | 2016-09-06 | Nvidia Corporation | System, method, and computer program product for performing dicing on a primitive |
CN102663664A (zh) * | 2012-03-02 | 2012-09-12 | 石家庄铁道大学 | 超大纹理图像的处理方法 |
CN106527713A (zh) * | 2016-11-07 | 2017-03-22 | 金陵科技学院 | Vr的三维数据渲染系统及其方法 |
CN106507178A (zh) * | 2016-12-09 | 2017-03-15 | 北京小米移动软件有限公司 | 视频播放方法及装置 |
US20180176550A1 (en) * | 2016-12-15 | 2018-06-21 | Htc Corporation | Method, processing device, and computer system for video preview |
CN108366272A (zh) * | 2017-01-03 | 2018-08-03 | 黑帆科技有限公司 | Vr视频渲染方法及装置 |
US20180268511A1 (en) * | 2017-03-15 | 2018-09-20 | Microsoft Technology Licensing, Llc | Low latency cross adapter vr presentation |
CN109308734A (zh) * | 2017-07-27 | 2019-02-05 | 腾讯科技(深圳)有限公司 | 3d文字的生成方法及其装置、设备、存储介质 |
US20200183166A1 (en) * | 2017-08-14 | 2020-06-11 | Goertek Inc. | Graphics rendering method and apparatus of virtual reality |
CN108765534A (zh) * | 2018-05-24 | 2018-11-06 | 武汉斗鱼网络科技有限公司 | 一种图像渲染方法、装置、设备及存储介质 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235562A (zh) * | 2020-10-12 | 2021-01-15 | 聚好看科技股份有限公司 | 一种3d显示终端、控制器及图像处理方法 |
CN112235562B (zh) * | 2020-10-12 | 2023-09-15 | 聚好看科技股份有限公司 | 一种3d显示终端、控制器及图像处理方法 |
CN112367479A (zh) * | 2020-10-14 | 2021-02-12 | 聚好看科技股份有限公司 | 一种全景视频图像显示方法及显示设备 |
CN112672131A (zh) * | 2020-12-07 | 2021-04-16 | 聚好看科技股份有限公司 | 一种全景视频图像显示方法及显示设备 |
CN112672131B (zh) * | 2020-12-07 | 2024-02-06 | 聚好看科技股份有限公司 | 一种全景视频图像显示方法及显示设备 |
CN112604293A (zh) * | 2020-12-28 | 2021-04-06 | 完美世界(北京)软件科技发展有限公司 | 数据处理方法、装置、电子设备及可读介质 |
CN113206992A (zh) * | 2021-04-20 | 2021-08-03 | 聚好看科技股份有限公司 | 一种转换全景视频投影格式的方法及显示设备 |
CN113194326A (zh) * | 2021-04-28 | 2021-07-30 | 平安国际智慧城市科技股份有限公司 | 全景直播方法、装置、计算机设备及计算机可读存储介质 |
CN113379886A (zh) * | 2021-07-05 | 2021-09-10 | 中煤航测遥感集团有限公司 | 地理信息系统的三维渲染方法、装置、设备及存储介质 |
CN113379886B (zh) * | 2021-07-05 | 2023-12-29 | 中煤航测遥感集团有限公司 | 地理信息系统的三维渲染方法、装置、设备及存储介质 |
CN114756316A (zh) * | 2022-03-29 | 2022-07-15 | 南斗六星系统集成有限公司 | 基于液晶屏的表情互动的显示方法、介质、仪表和装置 |
CN114780197A (zh) * | 2022-04-29 | 2022-07-22 | 北京字跳网络技术有限公司 | 分屏渲染方法、装置、设备及存储介质 |
CN114780197B (zh) * | 2022-04-29 | 2023-12-22 | 北京字跳网络技术有限公司 | 分屏渲染方法、装置、设备及存储介质 |
CN117472592A (zh) * | 2023-12-27 | 2024-01-30 | 中建三局集团有限公司 | 基于顶点着色器与纹理映射的三维模型爆炸方法及系统 |
CN117472592B (zh) * | 2023-12-27 | 2024-03-19 | 中建三局集团有限公司 | 基于顶点着色器与纹理映射的三维模型爆炸方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111754614B (zh) | 2024-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111754614B (zh) | 基于vr视频渲染方法、装置、电子设备及存储介质 | |
JP5154551B2 (ja) | グラフィックスパイプラインステートの高速再構成 | |
EP3332565B1 (en) | Mixed reality social interaction | |
US20230053462A1 (en) | Image rendering method and apparatus, device, medium, and computer program product | |
KR101640904B1 (ko) | 온라인 게이밍 경험을 제공하기 위한 컴퓨터 기반 방법, 기계 판독가능 비일시적 매체 및 서버 시스템 | |
CN102089786B (zh) | 在性能分析期间将图形指令映射到相关联的图形数据的方法和设备 | |
CN112933599A (zh) | 三维模型渲染方法、装置、设备及存储介质 | |
DE102019119085A1 (de) | Punktbasiertes rendern und entfernung von projektionsrauschen | |
CN113112579A (zh) | 渲染方法、装置、电子设备和计算机可读存储介质 | |
CN105190701B (zh) | 基于原语的合成系统及方法 | |
CN107231817A (zh) | 降低地图界面中的时延 | |
DE102019117218A1 (de) | Reduziertes Rendern eines Videos mit sechs Freiheitsgraden | |
CN109671147B (zh) | 基于三维模型的纹理贴图生成方法及装置 | |
WO2016200539A1 (en) | Facilitating configuration of computing engines based on runtime workload measurements at computing devices | |
KR20130063876A (ko) | 클라우드 컴퓨팅을 이용한 증강 현실 시스템 및 생성 방법 | |
CN116091672A (zh) | 图像渲染方法、计算机设备及其介质 | |
KR20130082530A (ko) | 소셜 네트워크 서비스와 연동되는 증강 현실 서비스 제공 장치, 방법 및 그 시스템 | |
CN109598672B (zh) | 一种地图道路渲染方法及装置 | |
DE112017004132T5 (de) | Mechanismus zur gemeinsamen nutzung statischer daten für eine heterogene verarbeitungsumgebung | |
DE102020107554A1 (de) | Verteilte kopier-engine | |
CN114428573B (zh) | 特效图像处理方法、装置、电子设备及存储介质 | |
Huang et al. | Developing a BIM-based visualization and interactive system for healthcare design | |
US11748911B2 (en) | Shader function based pixel count determination | |
US11176721B2 (en) | Multiplex pixel distribution for multi-machine rendering | |
CN117008796B (zh) | 多屏幕协同渲染方法、装置、设备及介质 |
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 | ||
GR01 | Patent grant |