CN112804511B - 一种动态渲染全景视频的方法和装置 - Google Patents
一种动态渲染全景视频的方法和装置 Download PDFInfo
- Publication number
- CN112804511B CN112804511B CN202110004980.2A CN202110004980A CN112804511B CN 112804511 B CN112804511 B CN 112804511B CN 202110004980 A CN202110004980 A CN 202110004980A CN 112804511 B CN112804511 B CN 112804511B
- Authority
- CN
- China
- Prior art keywords
- resolution
- spherical
- angle
- video
- 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.)
- Active
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000000007 visual effect Effects 0.000 claims abstract description 14
- 238000003825 pressing Methods 0.000 claims abstract description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 238000004040 coloring Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/122—Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/128—Adjusting depth or disparity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/275—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
- H04N13/279—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
- H04N2013/0088—Synthesising a monoscopic image signal from stereoscopic images, e.g. synthesising a panoramic or high resolution monoscopic image
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种动态渲染全景视频的方法和装置,该方法包括:根据用户观看视角、用户景深、视频源分辨率、显示设备的分辨率和球形模型的最大景深得到观看内容分辨率;根据观看内容分辨率、用户观看视角和球形模型的最大景深得到球形分辨率;如果球形分辨率不大于机顶盒的GPU渲染总能力,则根据球形分辨率建立球形模型;如果球形分辨率大于GPU渲染总能力,则计算单次按键所需渲染的画面的单位分辨率,根据单位分辨率建立球形模型。在本发明中,保证球形模型与观看内容能够匹配,避免视频被过度放大;还可以减少不必要的渲染数据量,最大限度将GPU资源使用到最应该使用的地方,提高GPU和内存利用率。
Description
技术领域
本发明属于全景视频领域,更具体地,涉及一种动态渲染全景视频的方法和装置。
背景技术
随着视频领域的发展,视频的采集和传输能力的增强,全景视频开始出现。全景视频是一种能进行全景观察,通过交互操作实现自由浏览,从而体验三维的视觉世界。
全景视频是由两大部分组成:全景摄影与虚拟全景。全景摄影是指把相机环360度的一组照片/视频通过无缝处理,所拼接成的一张全景图像,而全景图像是指大于双眼正常有效视角(大约水平90度,垂直70度)或双眼余光视角(大约水平180度,垂直90度),乃至360度完整场景范围的照片/视频。再运用一定的网络技术将全景摄影还原在终端上显示,并具有较强的互动性,使用户能用遥控器控制环视的方向,可左可右,可上可下,使人有身临其境的感觉,称之为虚拟全景。
全景视频就是视角超过人的正常视角的图像,此处的全景特指水平视角360度,垂直视角180度的图像。全景实际上只是一种对周围景象以某种几何关系进行映射生成的平面图片,只有通过全景播放器的矫正处理才能成为虚拟全景。
目前,终端显示全景视频的通用做法,是建立一个立体球形,将视频渲染在这个立体球形上,用户通过调整观看视角,来达到观看视频任意视角的目的。立体球形是固定建立的一个模型,立体球形的着色点也是固定的。但是,在实际使用中,视频源的清晰度不同,显示设备的分辨率也不同,若显示设备的分辨率较高,视频清晰度较高,但立体球形的着色点较少,就会导致显示不清晰;反之,若显示设备的分辨率较低,但立体球形的着色点较高,则会导致渲染数据量较大,造成设备内存和GPU资源的浪费。综上,本发明主要解决以下两个问题:(1)在大分辨率设备上,由于立体球形的着色点较少所导致的视频清晰度较低的问题;(2)在小分辨率设备上视频被过度放大,浪费过多了渲染数据量的问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种动态渲染全景视频的方法和装置,其目的在于根据观看内容分辨率动态调整球形分辨率,保证球形模型与观看内容能够匹配,避免视频被过度放大;当显示设备的GPU渲染能力不足时,获取单位分辨率,根据单位分辨率合理调整球形建模数据,减少不必要的渲染数据量,最大限度将GPU资源使用到最应该使用的地方,提高GPU和内存利用率。
为实现上述目的,按照本发明的一个方面,提供了一种动态渲染全景视频的方法,包括:
根据用户观看视角、用户景深、视频源分辨率、显示设备的分辨率和球形模型的最大景深得到观看内容分辨率;
根据所述观看内容分辨率、所述用户观看视角和所述球形模型的最大景深得到球形分辨率;
如果所述球形分辨率不大于机顶盒的GPU渲染总能力,则根据所述球形分辨率建立球形模型,以将视频渲染到该球形模型上;
如果所述球形分辨率大于所述GPU渲染总能力,则计算单次按键所需渲染的画面的单位分辨率,根据所述单位分辨率建立球形模型,以将视频渲染到该球形模型上。
优选地,所述方法包括:
按照如下公式计算观看内容分辨率;
其中,公式为:观看内容分辨率=MIN[视频源分辨率*(用户观看视角/360度)*(用户景深/球形模型的最大景深),显示设备的分辨率)];
其中,球形模型的最大景深等于球形模型的直径。
优选地,如果显示设备的分辨率大于机顶盒的输出分辨率,则显示设备的分辨率等于机顶盒的输出分辨率;如果显示设备的分辨率不大于机顶盒的输出分辨率,则显示设备的分辨率等于自身的分辨率。
优选地,所述方法包括:
按照如下公式计算球形分辨率;
其中,公式为:球形分辨率=观看内容分辨率*{1/[(用户观看视角/360度)*(用户景深/球形模型的最大景深)]}。
优选地,如果所述球形分辨率不大于机顶盒的GPU渲染总能力,则根据所述球形分辨率建立球形模型,以将视频渲染到该球形模型上包括:
所述球形分辨率不大于机顶盒的GPU渲染总能力,则根据所述球形分辨率和OpenGL插值算法确定球形模型的顶点数目,根据顶点数目确定经线数量和纬线数量,其中,经线之间的间距相等,纬线之间的间距相等;
根据所述经线数量、所述纬线数量和球形模型的半径确定顶点坐标,将所述顶点坐标传递给OpenGL建立球形模型,通过OpenGL将视频渲染到根据所述顶点坐标和相应插值算法计算出的分布于球形模型表面的着色点上。
优选地,如果所述球形分辨率大于所述GPU渲染总能力,则计算单次按键所需渲染的画面的单位分辨率,根据所述单位分辨率建立球形模型,以将视频渲染到该球形模型上包括:
如果所述球形分辨率大于机顶盒的GPU渲染总能力,则根据所述单位分辨率和OpenGL插值算法确定球形模型中单位角度下的顶点数目,根据顶点数目确定单位角度下的经线数量和纬线数量,其中,单位角度下经线之间的间距大于用户观看视角下的经线之间的间距,单位角度下纬线之间的间距大于用户观看视角下的纬线之间的间距,从而在用户观看视角下经线和纬线的密度大于非观看视角下经线和纬线的密度;其中,单位角度指的是遥控器单次按方向键时,球面转动的角度;
在每一单位角度下,根据所述经线数量、所述纬线数量和球形模型的半径确定顶点坐标,将所述顶点坐标传递给OpenGL建立球形模型,通过OpenGL将视频渲染到根据所述顶点坐标和相应插值算法计算出的分布于球形模型表面的着色点上。
优选地,所述方法包括:
按照如下公式计算单次按键所需渲染的画面的单位分辨率;
其中,公式为:单位分辨率=GPU剩余渲染能力/(4×最大切换次数×单次切换的角度步进);
其中,单次切换的角度步进指的是遥控器单次按方向键时,球面转动的角度;
其中,GPU剩余渲染能力=GPU渲染总能力-观看内容分辨率,最大切换次数=两个视频帧出现所需时间/两次按键接收的间隔时间。
优选地,所述方法包括:
按照如下公式计算单次按键所需渲染的画面的单位分辨率;
其中,GPU剩余渲染能力=GPU渲染总能力-观看内容分辨率,△为单次切换的角度步进,x为当前视角度数。
优选地,所述用户景深是指人眼离用户观看视角的球面的距离。
按照本发明的另一方面,提供了一种用于动态渲染全景视频的装置,包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被程序设置为执行本发明所述的方法。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:本发明提供一种动态渲染全景视频的方法和装置,该方法包括:根据用户观看视角、用户景深、视频源分辨率、显示设备的分辨率和球形模型的最大景深得到观看内容分辨率;根据所述观看内容分辨率、所述用户观看视角和所述球形模型的最大景深得到球形分辨率;如果所述球形分辨率不大于机顶盒的GPU渲染总能力,则根据所述球形分辨率建立球形模型,以将视频渲染到该球形模型上;如果所述球形分辨率大于所述GPU渲染总能力,则计算单次按键所需渲染的画面的单位分辨率,根据所述单位分辨率建立球形模型,以将视频渲染到该球形模型上。
在本发明中,根据用户观看视角、用户景深、视频源分辨率、机顶盒的输出分辨率和球形模型的最大景深得到观看内容分辨率,根据观看内容分辨率动态调整球形分辨率,保证球形模型与观看内容能够匹配,避免视频被过度放大。当显示设备的GPU渲染能力不足时,获取单位分辨率,根据单位分辨率合理调整球形建模数据,减少不必要的渲染数据量,最大限度将GPU资源使用到最应该使用的地方,提高GPU和内存利用率。
附图说明
图1是本发明实施例提供的一种动态渲染全景视频的方法的流程示意图;
图2是本发明实施例提供的球形模型的示意图;
图3是本发明实施例提供的正态分布的曲线示意图;
图4是本发明实施例提供的另一种动态渲染全景视频的方法的流程示意图;
图5是本发明实施例提供的一种用于动态渲染全景视频的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例1:
参阅图1,本实施例提供一种动态渲染全景视频的方法,该方法包括如下步骤:
步骤101:根据用户观看视角、用户景深、视频源分辨率、显示设备的分辨率和球形模型的最大景深得到观看内容分辨率。
其中,用户景深是指人眼离用户观看视角的球面的距离,可以在初始化的时候设定。
其中,视频源来源于机顶盒,但视频源分辨率与机顶盒的输出分辨率不一定一致,视频源分辨率取决于于解析视频画面的分辨率,一般可以为3840*2160,1920*1080,1280*720。
其中,如果显示设备的分辨率大于机顶盒的输出分辨率,则显示设备的分辨率等于机顶盒的输出分辨率;如果显示设备的分辨率不大于机顶盒的输出分辨率,则显示设备的分辨率等于自身的分辨率。
其中,球形模型的最大景深等于后续建立的球形模型的直径。球形模型的景深指的是球内的任意一点到球面的直线距离,离都不会超过直径,因此球形模型的最大景深可以设置为球形模型的直径。
在实际应用场景下,可以按照如下公式计算观看内容分辨率:观看内容分辨率=MIN[视频源分辨率*(用户观看视角/360度)*(用户景深/球形模型的最大景深),显示设备的分辨率)]。其中,如前描述用户景深为人眼离球面的距离,相同观看视角下,人眼离球面距离不同,所看到的球面面积也不同,再结合求部分球面面积的数学过程可以推导出前面的公式。
步骤102:根据所述观看内容分辨率、所述用户观看视角和所述球形模型的最大景深得到球形分辨率。
在实际应用场景下,可以按照如下公式计算球形分辨率:球形分辨率=观看内容分辨率*{1/[(用户观看视角/360度)*(用户景深/球形模型的最大景深)]}。其中,如前描述用户景深为人眼离球面的距离,相同观看视角下,人眼离球面距离不同,所看到的球面面积也不同,再结合求部分球面面积的数学过程可以推导出前面的公式
其中,球形分辨率指的是球形模型所包含的着色点的数目,其中,着色点是OpenGL的着色器根据球形模型的顶点位置自动插值得到的,着色点的数目跟球形模型上的顶点数目成正比的关系,比例系数由OpenGL的插值算法决定,即,着色点的数目=顶点的数目*OpenGL的插值算法的比例系数。而顶点的数目是球形模型的经纬线的交点数,结合图2,球形模型上具有经线和纬线,经线和纬线相交的点为顶点。
步骤103:如果所述球形分辨率不大于机顶盒的GPU渲染总能力,则根据所述球形分辨率建立球形模型,以将视频渲染到该球形模型上。
其中,GPU(Graphics Processing Unit,简写为GPU)为图形处理器,球形模型的着色点越多所需要消耗的GPU的资源越多,不同性能的GPU在同一时间能支持的着色点的数量是不同的。
其中,GPU渲染能力主要取决于GPU在单位时间内能够搬移的数据量,球形分辨率指的是球形模型所包含的着色点的数目(可以间接反映数据量),因此可以根据球形分辨率与GPU渲染总能力决定使用哪种方式建立球形模型。
在本实施例中,如果所述球形分辨率不大于机顶盒的GPU渲染总能力,则根据所述球形分辨率和OpenGL的插值算法的比例系数反推得到球形模型的顶点的数目,根据顶点的数目确定球形模型的经线数量和纬线数量,其中,经线之间的间距相等,纬线之间的间距相等;根据所述经线数量、所述纬线数量和球形模型的半径确定顶点坐标,其中,顶点指的是经线和纬线相交的点,将所述顶点坐标传递给OpenGL得到着色点,从而根据所述顶点坐标创建球形模型,以将视频渲染到该球形模型上。其中,经线数量和纬线数量越多,球形分辨率越高。
下面结合图2进行简要说明:假设球形模型的半径为R,球面上任意一顶点的坐标(x0,y0,z0)计算方法如下:x0=R*cos(a)*sin(b);y0=R*sin(a);z0=R*cos(a)*cos(b);其中,a=第几条纬线*180度/纬线数量,b=第几条经线*360度/经线数量。
在确定了球形模型的半径、纬线数量和经线数量后,按照前述公式可以计算得到球形模型的顶点坐标,就可以完成球形模型的创建。然后按照OpenGL的规则将球形模型的顶点坐标数据传递给OpenGL的着色器,从而将视频渲染到球形模型上。
在本实施例中,根据用户观看视角、用户景深、视频源分辨率、机顶盒的输出分辨率和球形模型的最大景深得到观看内容分辨率,根据观看内容分辨率确定球形分辨率,保证球形模型与观看内容能够匹配,避免视频被过度放大。
步骤104:如果所述球形分辨率大于所述GPU渲染总能力,则计算单次按键所需渲染的画面的单位分辨率,根据所述单位分辨率建立球形模型,以将视频渲染到该球形模型上。
其中,单位分辨率指的是球形模型上的单位角度对应的球面上的着色点数,如上描述着色点的数目=顶点的数目*OpenGL的插值算法的比例系数,则根据单位分辨率可以得到单位角度上的顶点的数目。
其中,步骤103中所建立的球形模型在观看视角下和非观看视角下均建立有着色点,如果球形分辨率大于所述GPU渲染总能力,则仍旧按照步骤103的方式建立球形模型的话,一方面无法保证视屏的清晰度,另一方面非观看视角下的着色点会占用GPU资源,导致GPU资源没有被充分利用。在可选的实施例中,可以在上、下、左、右四个方向确定最大观看角度,只在最大观看角度下建立着色点,对视频进行渲染,在非观看角度下不建立着色点,从而充分利用GPU资源。
其中,观看视角指的是用户在观看球形模型时,以用户当前视角为观看中心,在上、下、左、右四个方向上用户所能看到的最大的球面区域,非观看视角指的是用户看不到的球面区域。
具体实现方式为:按照如下公式计算单次按键所需渲染的画面的单位分辨率:单位分辨率=GPU剩余渲染能力/(4×最大切换次数×单次切换的角度步进);其中,GPU剩余渲染能力=GPU渲染总能力-观看内容分辨率,最大切换次数=两个视频帧出现所需时间/两次按键接收的间隔时间。其中,单次切换的角度步进指的是遥控器单次按方向键时,球面转动的角度。
其中,步骤103中所建立的球形模型的经线之间的间距和纬线之间的间距是相等的,如果球形分辨率大于所述GPU渲染总能力,则仍旧按照步骤103的方式建立球形模型的话,一方面无法保证视屏的清晰度,另一方面非观看视角下的着色点会占用GPU资源,导致GPU资源没有被充分利用。在可选的实施例中,可以将非观看视角下的着色点所占用的GPU资源转移到观看视角下,保证GPU资源能够得到充分利用,所采用的手段为通过单位分辨率计算单位角度下顶点的数目,根据顶点的数目确定纬线数量和经线数量,其中,保证观看视角下的经线密度和纬线密度大,非观看视角下经线和纬线的密度小,从而充分利用GPU资源。
具体实现方式为:按照如下公式计算单次按键所需渲染的画面的单位分辨率:
其中,GPU剩余渲染能力=GPU渲染总能力-观看内容分辨率,△为单次切换的角度步进,x为当前视角度数。
下面说明前述公式的推导过程:本公式是基于正态分布公式推导出来的,从图3所示的正态分布曲线来看,f(x)落到3σ以外的概率很小,趋近于0。其中,x为当前视角,f(x)即是处于当前视角的概率,μ表示球形模型的初始转动角度,假设球形模型是从0度开始转动,即μ=0,球形模型沿x轴方向和y轴方向旋转的计算方式完全相同,在此以球形模型沿x轴方向转动为例说明,x的变化范围为(-π,π)当x的变化范围为(-3σ,3σ)时,f(x)的累积概率基本为1,可以覆盖全部的情况。因此,可以将3σ对应到π,那么当x从-π到π变化时,所形成的曲线面积与单位面积渲染能力的乘积对应为GPU剩余渲染能力/2(由于沿x轴方向和y轴方向旋转的计算方式完全相同,所以剩余GPU渲染能力需要除2),而曲线面积的公式是:所以可以得到:
步骤104的具体实现方式为:如果所述球形分辨率大于机顶盒的GPU渲染总能力,则根据所述单位分辨率和OpenGL插值算法确定球形模型中单位角度下的顶点数目,根据顶点数目确定单位角度下的经线数量和纬线数量,其中,单位角度下经线之间的间距相等且大于用户观看视角下的经线之间的间距,单位角度下纬线之间的间距相等且大于用户观看视角下的纬线之间的间距,从而在用户观看视角下经线和纬线的密度大于非观看视角下经线和纬线的密度;其中,单位角度指的是单次切换的角度步进,单次切换的角度步进指的是遥控器单次按方向键时,球面转动的角度;在每一单位角度下,根据所述经线数量、所述纬线数量和球形模型的半径确定顶点坐标,将所述顶点坐标传递给OpenGL建立球形模型,通过OpenGL将视频渲染到根据所述顶点坐标和相应插值算法计算出的分布于球形模型表面的着色点上,以将视频渲染到该球形模型上。
在本实施例中,单位分辨率与当前视角度数有关,并不是一个恒定的值,在不同的单位角度下所包含的球面上经线和纬线的密度不同,实现差异化的经纬线建模,充分利用GPU资源。
实施例2:
参阅图4,本实施例提供一种动态渲染全景视频的方法,该方法包括如下步骤,关于各步骤的具体实现方式可以参照前述实施例1,在此不再赘述:
S100:将机顶盒连接到显示设备。
S101:获取显示设备的分辨率。
S102:确定用户观看视角、用户景深、视频源分辨率和球形模型的最大景深。
S103:初始化当前播放时间为起始时间。
在实际应用场景下,当用户观看视角发生改变后,球形模型需要重建,视频也需要从用户观看视角改变的时刻进行重新播放。所以每次播放都需要设置播放时间,首次播放是从头开始播放。即,播放时间主要是用于定位从何时开始播放视频,并进行渲染。
S104:根据用户观看视角、用户景深、视频源分辨率、显示设备的分辨率和球形模型的最大景深得到观看内容分辨率。
S105:根据观看内容分辨率、用户观看视角和球形模型的最大景深得到球形分辨率。
S106:如果所述球形分辨率不大于机顶盒的GPU渲染总能力,则根据所述球形分辨率建立球形模型,以将视频渲染到该球形模型上。
S107:如果球形分辨率大于GPU渲染总能力,则计算单次按键所需渲染的画面的单位分辨率,根据单位分辨率建立球形模型,以将视频渲染到该球形模型上。
S108:从当前播放时间播放视频。
S109:渲染视频并输出。
S110:检测到用户观看视角改变。
S111:修改当前播放时间为此时视频播放时间,返回执行S102。
实施例3:
请参阅图5,图5是本发明实施例提供的一种用于动态渲染全景视频的装置的结构示意图。本实施例的用于动态渲染全景视频的装置包括一个或多个处理器41以及存储器42。其中,图5中以一个处理器41为例。
处理器41和存储器42可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器42作为一种基于动态渲染全景视频的方法的非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,上述实施例的方法以及对应的程序指令。处理器41通过运行存储在存储器42中的非易失性软件程序、指令以及模块,从而执行各种功能应用以及数据处理,实现前述实施例的方法。
其中,存储器42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器42可选包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至处理器41。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(Read Only Memory,简写为ROM)、随机存取存储器(Random AccessMemory,简写为RAM)、磁盘或光盘等。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种动态渲染全景视频的方法,其特征在于,包括:
根据用户观看视角、用户景深、视频源分辨率、显示设备的分辨率和球形模型的最大景深得到观看内容分辨率;按照如下公式计算观看内容分辨率;其中,公式为:观看内容分辨率=MIN[视频源分辨率*(用户观看视角/360度)*(用户景深/球形模型的最大景深),显示设备的分辨率];其中,球形模型的最大景深等于球形模型的直径;所述用户景深是指人眼离用户观看视角的球面的距离;
根据所述观看内容分辨率、所述用户观看视角和所述球形模型的最大景深得到球形分辨率;按照如下公式计算球形分辨率;其中,公式为:球形分辨率=观看内容分辨率*{1/[(用户观看视角/360度)*(用户景深/球形模型的最大景深)]};
如果所述球形分辨率不大于机顶盒的GPU渲染总能力,则根据所述球形分辨率建立球形模型,以将视频渲染到该球形模型上;
如果所述球形分辨率大于所述GPU渲染总能力,则计算单次按键所需渲染的画面的单位分辨率,根据所述单位分辨率建立球形模型,以将视频渲染到该球形模型上;其中,
按照如下公式计算单次按键所需渲染的画面的单位分辨率;其中,公式为:单位分辨率=GPU剩余渲染能力/(4×最大切换次数×单次切换的角度步进);其中,单次切换的角度步进指的是遥控器单次按方向键时,球面转动的角度;其中,GPU剩余渲染能力=GPU渲染总能力-观看内容分辨率,最大切换次数=两个视频帧出现所需时间/两次按键接收的间隔时间;
2.根据权利要求1所述的方法,其特征在于,如果显示设备的分辨率大于机顶盒的输出分辨率,则显示设备的分辨率等于机顶盒的输出分辨率;如果显示设备的分辨率不大于机顶盒的输出分辨率,则显示设备的分辨率等于自身的分辨率。
3.根据权利要求1所述的方法,其特征在于,如果所述球形分辨率不大于机顶盒的GPU渲染总能力,则根据所述球形分辨率建立球形模型,以将视频渲染到该球形模型上包括:
所述球形分辨率不大于机顶盒的GPU渲染总能力,则根据所述球形分辨率和OpenGL插值算法确定球形模型的顶点数目,根据顶点数目确定经线数量和纬线数量,其中,经线之间的间距相等,纬线之间的间距相等;
根据所述经线数量、所述纬线数量和球形模型的半径确定顶点坐标,将所述顶点坐标传递给OpenGL建立球形模型,通过OpenGL将视频渲染到根据所述顶点坐标和相应插值算法计算出的分布于球形模型表面的着色点上。
4.根据权利要求1所述的方法,其特征在于,如果所述球形分辨率大于所述GPU渲染总能力,则计算单次按键所需渲染的画面的单位分辨率,根据所述单位分辨率建立球形模型,以将视频渲染到该球形模型上包括:
如果所述球形分辨率大于机顶盒的GPU渲染总能力,则根据所述单位分辨率和OpenGL插值算法确定球形模型中单位角度下的顶点数目,根据顶点数目确定单位角度下的经线数量和纬线数量,其中,单位角度下经线之间的间距大于用户观看视角下的经线之间的间距,单位角度下纬线之间的间距大于用户观看视角下的纬线之间的间距,从而在用户观看视角下经线和纬线的密度大于非观看视角下经线和纬线的密度;其中,单位角度指的是遥控器单次按方向键时,球面转动的角度;
在每一单位角度下,根据所述经线数量、所述纬线数量和球形模型的半径确定顶点坐标,将所述顶点坐标传递给OpenGL建立球形模型,通过OpenGL将视频渲染到根据所述顶点坐标和相应插值算法计算出的分布于球形模型表面的着色点上。
5.一种用于动态渲染全景视频的装置,其特征在于,包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被程序设置为执行如权利要求1~4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110004980.2A CN112804511B (zh) | 2021-01-04 | 2021-01-04 | 一种动态渲染全景视频的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110004980.2A CN112804511B (zh) | 2021-01-04 | 2021-01-04 | 一种动态渲染全景视频的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112804511A CN112804511A (zh) | 2021-05-14 |
CN112804511B true CN112804511B (zh) | 2022-04-01 |
Family
ID=75808016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110004980.2A Active CN112804511B (zh) | 2021-01-04 | 2021-01-04 | 一种动态渲染全景视频的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112804511B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104200512A (zh) * | 2014-07-30 | 2014-12-10 | 浙江传媒学院 | 基于虚拟球形光源的多光源渲染方法 |
CN104904201A (zh) * | 2013-01-10 | 2015-09-09 | 高通股份有限公司 | 基于着色器的图形内容的观看定向的立体转换 |
US9473758B1 (en) * | 2015-12-06 | 2016-10-18 | Sliver VR Technologies, Inc. | Methods and systems for game video recording and virtual reality replay |
CN106527857A (zh) * | 2016-10-10 | 2017-03-22 | 成都斯斐德科技有限公司 | 一种基于虚拟现实的全景视频交互方法 |
CN106713895A (zh) * | 2014-11-26 | 2017-05-24 | 索尼公司 | 处理内容的方法和设备 |
CN107431796A (zh) * | 2015-05-27 | 2017-12-01 | 谷歌公司 | 全景虚拟现实内容的全方位立体式捕捉和渲染 |
CN107439010A (zh) * | 2015-05-27 | 2017-12-05 | 谷歌公司 | 流传输球形视频 |
CN107920252A (zh) * | 2016-10-11 | 2018-04-17 | 阿里巴巴集团控股有限公司 | 一种全景视频数据处理方法、装置及系统 |
CN108428211A (zh) * | 2017-02-15 | 2018-08-21 | 阿里巴巴集团控股有限公司 | 图像的处理方法、装置和机器可读介质 |
CN110290409A (zh) * | 2019-07-26 | 2019-09-27 | 浙江开奇科技有限公司 | 数据处理方法、vr设备以及系统 |
CN110495166A (zh) * | 2017-12-15 | 2019-11-22 | 斯纳普公司 | 球形视频编辑 |
CN111164969A (zh) * | 2017-09-28 | 2020-05-15 | Lg电子株式会社 | 使用拼接和重新投影相关元数据发送或接收6dof视频的方法和装置 |
CN111669603A (zh) * | 2019-03-07 | 2020-09-15 | 阿里巴巴集团控股有限公司 | 多角度自由视角数据处理方法及装置、介质、终端、设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6618054B2 (en) * | 2000-05-16 | 2003-09-09 | Sun Microsystems, Inc. | Dynamic depth-of-field emulation based on eye-tracking |
US20170186243A1 (en) * | 2015-12-28 | 2017-06-29 | Le Holdings (Beijing) Co., Ltd. | Video Image Processing Method and Electronic Device Based on the Virtual Reality |
US20170186219A1 (en) * | 2015-12-28 | 2017-06-29 | Le Holdings (Beijing) Co., Ltd. | Method for 360-degree panoramic display, display module and mobile terminal |
US9973746B2 (en) * | 2016-02-17 | 2018-05-15 | Gopro, Inc. | System and method for presenting and viewing a spherical video segment |
WO2018147329A1 (ja) * | 2017-02-10 | 2018-08-16 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 自由視点映像生成方法及び自由視点映像生成システム |
-
2021
- 2021-01-04 CN CN202110004980.2A patent/CN112804511B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104904201A (zh) * | 2013-01-10 | 2015-09-09 | 高通股份有限公司 | 基于着色器的图形内容的观看定向的立体转换 |
CN104200512A (zh) * | 2014-07-30 | 2014-12-10 | 浙江传媒学院 | 基于虚拟球形光源的多光源渲染方法 |
CN106713895A (zh) * | 2014-11-26 | 2017-05-24 | 索尼公司 | 处理内容的方法和设备 |
CN107439010A (zh) * | 2015-05-27 | 2017-12-05 | 谷歌公司 | 流传输球形视频 |
CN107431796A (zh) * | 2015-05-27 | 2017-12-01 | 谷歌公司 | 全景虚拟现实内容的全方位立体式捕捉和渲染 |
US9473758B1 (en) * | 2015-12-06 | 2016-10-18 | Sliver VR Technologies, Inc. | Methods and systems for game video recording and virtual reality replay |
CN106527857A (zh) * | 2016-10-10 | 2017-03-22 | 成都斯斐德科技有限公司 | 一种基于虚拟现实的全景视频交互方法 |
CN107920252A (zh) * | 2016-10-11 | 2018-04-17 | 阿里巴巴集团控股有限公司 | 一种全景视频数据处理方法、装置及系统 |
CN108428211A (zh) * | 2017-02-15 | 2018-08-21 | 阿里巴巴集团控股有限公司 | 图像的处理方法、装置和机器可读介质 |
CN111164969A (zh) * | 2017-09-28 | 2020-05-15 | Lg电子株式会社 | 使用拼接和重新投影相关元数据发送或接收6dof视频的方法和装置 |
CN110495166A (zh) * | 2017-12-15 | 2019-11-22 | 斯纳普公司 | 球形视频编辑 |
CN111669603A (zh) * | 2019-03-07 | 2020-09-15 | 阿里巴巴集团控股有限公司 | 多角度自由视角数据处理方法及装置、介质、终端、设备 |
CN110290409A (zh) * | 2019-07-26 | 2019-09-27 | 浙江开奇科技有限公司 | 数据处理方法、vr设备以及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112804511A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10839591B2 (en) | Stereoscopic rendering using raymarching and a virtual view broadcaster for such rendering | |
CN106375748B (zh) | 立体虚拟现实全景视图拼接方法、装置及电子设备 | |
Daribo et al. | A novel inpainting-based layered depth video for 3DTV | |
US11282264B2 (en) | Virtual reality content display method and apparatus | |
US20210218890A1 (en) | Spherical image processing method and apparatus, and server | |
CN104740874A (zh) | 一种在二维游戏场景中播放视频的方法及系统 | |
US11417060B2 (en) | Stereoscopic rendering of virtual 3D objects | |
CN107924556A (zh) | 图像生成装置和图像显示控制装置 | |
CN113206992A (zh) | 一种转换全景视频投影格式的方法及显示设备 | |
JP2020528619A (ja) | シーンのタイル化3次元画像表現を生成する装置及び方法 | |
CN107005689B (zh) | 数字视频渲染 | |
CN113286138A (zh) | 一种全景视频显示方法及显示设备 | |
US20180213215A1 (en) | Method and device for displaying a three-dimensional scene on display surface having an arbitrary non-planar shape | |
US10699372B2 (en) | Image generation apparatus and image display control apparatus | |
CN114513646A (zh) | 一种三维虚拟场景中全景视频的生成方法及设备 | |
CN108765582B (zh) | 一种全景图片显示方法及设备 | |
CN114500970B (zh) | 一种全景视频图像处理、显示方法及设备 | |
CN105389847B (zh) | 一种3d场景的绘制系统及方法、终端 | |
CN112804511B (zh) | 一种动态渲染全景视频的方法和装置 | |
CN109816765B (zh) | 面向动态场景的纹理实时确定方法、装置、设备和介质 | |
CN113366825A (zh) | 表示场景的图像信号 | |
WO2018109266A1 (en) | A method and technical equipment for rendering media content | |
CN112804514A (zh) | 一种vr全景视频展示交互方法、介质及设备 | |
CN110913198B (zh) | 一种vr图像传输方法 | |
EP3330839A1 (en) | Method and device for adapting an immersive content to the field of view of a user |
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 | ||
GR01 | Patent grant |