一种基于位置的虚拟现实压缩方法与流程

文档序号:11292571阅读:530来源:国知局

本发明属于虚拟现实技术领域,特别涉及一种基于位置的虚拟现实压缩方法。



背景技术:

虚拟现实(virtualreality,以下简称vr),在为用户提供了颠覆性的沉浸式交互体验的同时也给vr系统本身带来了极大的计算和渲染开销。为了实现高质量的vr应用体验,满足vr应用:1)低响应延迟,2)高帧刷新率和3)高质量画面的三个性能需求,vr系统通常将繁重的渲染工作交给一台强大的主机完成。主机实时地将渲染好的画面帧传输给用户所佩戴的头戴式显示器。由于vr应用的高帧刷新率和高质量画面的需求,传输这些画面帧通常需要消耗好几个gbps的带宽资源。

目前主流的无线网络技术(例如802.11ac的理论峰值带宽只有450mbps)都难以满足如此高的传输带宽需求,因此现在的vr系统通常都使用hdmi数据线来实现主机到头戴式显示器的传输。hdmi数据线虽然使得vr高质量画面帧的传输成为可能,但是也极大地限制了vr系统的移动性。并且由于用户在使用头戴式显示器体验vr应用时无法看到周围的真实环境,数据线的使用也使得用户在体验时存在被绊倒的风险。

为了解决使用数据线引入的问题,有的研究提出了利用高频段无线网络(60ghz毫米波)来提供足够的传输带宽资源。但是毫米波的信号容易被干扰,vr体验中用户的移动也会导致天线的重新校准。因此利用毫米波实现vr画面帧传输时需要巧妙地假设反射板来解决上述问题。但这也无疑增加了vr系统部署的复杂度和成本。

除了增加无线网络的带宽资源,还可以考虑利用额外的计算开销(压缩、解码)来减小传输带宽的消耗。视频压缩已经在流媒体领域长期应用和发展,像h.264、h.265这样的主流视频压缩技术已经使得高码率视频流在互联网中的传输成为可能。但由于视频压缩技术是针对视频这一时间维度主导的资源优化设计的,并不能直接应用在vr场景下。因此,如何设计出面向vr应用场景的压缩方法就成为了解决vr系统高带宽需求中至关重要的问题。



技术实现要素:

为了克服上述现有技术的缺点,本发明的目的在于提供一种基于位置的虚拟现实压缩方法,利用视频压缩技术针对vr应用场景压缩,有效降低vr系统的传输带宽需求。

为了实现上述目的,本发明采用的技术方案是:

一种基于位置的虚拟现实压缩方法,利用空间中相邻位置全景图具有高度冗余的特性,借助视频编码技术,在虚拟现实场景下按照以下步骤实现:

步骤(1),编码端将vr应用的虚拟空间按照固定间隔(通常小于0.05米)进行离散化采样取点,对于每个位置采样点,取其全景图作为待编码的视频帧,同时编码端维护每个位置采样点的三维坐标信息作为其全景图的索引;

步骤(2),将在一定位置范围内相似的采样点组合为一个单元,vr应用的虚拟空间由一系列互不重合的单元组成,当编码端采用视频压缩技术时,每个单元就被视为一个gop(groupofpictures,画面组);编码端确定单元的大小,即gop的大小,将步骤(1)得到的一系列全景视频帧重新组合、划分为一系列互不重合的视频帧单元;

步骤(3),对于每一个单元,编码端将处于正中央的位置采样点的全景视频帧编码为该gop的关键帧,即i帧,该单元内其他位置采样点的全景视频帧将被编码为p帧,并且只将该单元内的关键帧作为其唯一的参考帧;

步骤(4),编码端按步骤(3)的编码规则将vr应用的虚拟空间编码为一个或多个全景视频流,每个位置采样点的全景图对应这些全景视频流中不同时刻的视频帧,编码端维护一个三维坐标信息到该时间戳信息的映射,并将其和gop大小作为视频流的元信息一并传给解码端;

步骤(5),解码端根据用户当前位置,利用视频流的元信息定位到覆盖用户当前位置的单元,解码端首先将该单元的关键帧解码并存在内存中,然后再根据用户的实际位置快速解码出对应位置采样点的p帧;

步骤(6),当用户离开当前单元覆盖范围并移动至另一个单元时,解码端释放内存中当前单元的关键帧并解码下一单元的关键帧至内存。

与现有技术相比,本本发明借助视频压缩技术,利用近邻位置全景图具有大量冗余的特性,实现了高效的压缩方法从而有效减少了vr系统画面帧传输时的高带宽需求,从而为实现高质量vr画面帧的无线传输提供基础。相比于连线型vr系统,本方法无需使用hdmi数据线传输,保证了vr系统的移动性也消除了用户被绊倒的风险;相比于利用60ghz毫米波传输,本方法无需其复杂的部署和高昂的成本。

附图说明

图1为本发明的离散化编码单元示意图(该单元采样间隔为0.02米,覆盖一个1米*1米的立体空间),图中的立方体代表该位置采样点的全景图。

具体实施方式

下面结合附图和实施例详细说明本发明的实施方式。

本发明一种基于位置的虚拟现实压缩方法,由编码端和解码端合作实现。在vr应用场景下,编码端通常是负责渲染工作的主机,解码端则通常是负责显示的头戴式显示器。

首先,将vr应用对应的虚拟空间按照固定的间隔(小于0.05米,之前的研究表明人眼无法识别这一间隔带来的细微变化)进行离散化取点。经过离散化操作,无限的连续空间就转换为有限的位置采样点。对于每一个位置采样点,编码端都将其对应的全景图作为待压缩的视频帧。用户在虚拟空间内的活动就简化为了不同位置采样点上全景视频帧的切换(由于每个位置上各个方向的信息都包含在了全景图中,用户的头部转动就不会再带来额外的计算或渲染开销)。

由于采样间隔十分微小,因此在一定位置范围内的一系列全景视频帧将非常相似。基于以上事实,本方法将这些在一定位置范围内相似的采样点组合为一个单元(如图1所示),vr应用的虚拟空间就由一系列这样互不重合的单元组成。当编码端采用视频压缩技术(例如h.264)时,每个单元就被视为一个gop(groupofpictures,画面组)。每个单元内处于正中央的位置采样点的全景视频帧被编码为该gop的关键帧(也就是i帧)。该单元内其他位置采样点的全景视频帧则全部编码为p帧,并且这些p帧都只依赖于其所在单元内唯一的i帧。整个vr应用就可以编码压缩为一个或多个全景视频流,视频流中的每一帧都对应vr虚拟空间中唯一的一个位置。

经过上述基于位置的vr压缩编码,用户的vr应用体验实际上就变成了全景视频流的解码播放。当用户在虚拟空间内活动时,解码端只需要解码显示当前位置对应的全景视频帧即可。由于在视频编码技术中只有i帧是自给的,p帧等的解码都需要依赖其参考帧(本方法下所有的p帧都只有一个参考帧)的解码结果。因此,解码端在用户进入到一个单元所覆盖的位置范围时将首先解码该单元对应gop的关键帧并将其存在内存中,然后再根据用户实际所在位置快速解码出其对应的p帧。该方法实现了一个单元内任意p帧的快速随机解码。

本发明的主要步骤具体如下:

步骤(1)编码端对vr应用的虚拟空间进行离散化处理。即按照固定间隔(通常需要小于0.05米)进行采样取点,得到一组位置采样点集合position_set={p1,p2,p3,p4,...,pn}。每个位置采样点pk都是一个唯一的三维空间坐标[xk,yk,zk]。

步骤(2)编码端确定单元覆盖的空间大小(即gop的大小),将步骤(1)得到的一系列全景视频帧重新组合、划分为一系列互不重合的视频帧单元(如图1所示)。

步骤(2)对于position_set中所有元素(位置采样点),编码端都渲染出该位置唯一的全景图,得到一组全景图集合pano_frame_set={f1,f2,f3,f4,...,fn}。position_set和pano_frame_set构成一个一一对应的映射关系:pk→fk。

步骤(3)编码端确定编码单元的大小,此处假设大小为m。跟据编码单元大小,将position_set和pano_frame_set分别划分为个互不相交的子集。每个position_set子集都对应虚拟空间中一个不重叠的立方体区域,如图1所示。

position_set={p11,p12,p13,...,p1m}∪{p21,p22,p23,...,p2m}∪...;

pano_frame_set={f11,f12,f13,...,f1m}∪{f21,f22,f23,...,f2m}∪...;

步骤(4)对于pano_frame_set的每一个子集,编码端将其编码为h.264视频流中的一个gop。以{p11,p12,p13,...,p1m}子集和它对应的{f11,f12,f13,...,f1m}子集为例,编码端将处于中间位置的全景图f1(m+1/2)编码为该gop的关键帧,该子集内剩下的全景图f1k被编码为p帧,并且只将该单元内的关键帧作为其唯一的参考帧。

步骤(5)编码端按照步骤(4)的规则将整个pano_frame_set编码为一个或多个全景视频流(每个视频流需覆盖虚拟空间中的连续区域)。每个位置采样点的全景图fk就对应这些全景视频流中不同时刻的视频帧。编码端维护一个position_set到该时间戳信息的映射:pk→tik。其中tik表示第i个视频流的k时刻。

步骤(6)解码端从服务器获取编码好的视频流,该视频流的元信息除了包含gop大小等常规信息外还包含以下映射信息:pk→fk和pk→tik。

步骤(7)为了提供、展现虚拟现实的虚拟环境,解码端需要从视频流中获取用户当前位置的全景图并解码显示。当用户在虚拟环境内移动时,解码端将快速地在视频流中跳转、解码显示对应位置的全景图。

步骤(8)解码端根据用户当前位置及映射信息快速定位并跳转到到视频流对应的gop。解码端首先将该gop的关键帧解码并存在内存中。然后再根据用户的实际位置快速解码出对应的p帧。

步骤(9)当用户不离开当前gop覆盖范围时,解码端只需要依赖内存中的关键帧快速解码出对应p帧即可。当用户离开当前gop覆盖范围并移动至另一个编码单元时,解码端会释放内存中当前gop的关键帧并解码下一gop的关键帧至内存。

综上,本发明可降低vr系统的高传输带宽需求,为虚拟现实系统利用当前无线网络技术实现高质量画面帧的无线传输提供基础。本发明旨在基于虚拟现实中相邻位置全景图存在大量冗余的事实,利用视频压缩技术实现面向虚拟现实应用的高效压缩方法。

综上所述,本发明提出了一种基于位置的虚拟现实压缩方法。该方法将无限的vr虚拟空间离散化为有限的全景图集合,并利于相邻全景图之间存在高度冗余的特性,利用视频压缩技术设计了基于位置的高效压缩方法。该方法能够极大地降低vr系统的传输带宽需求,同时也无需复杂、高成本的部署,对于无线vr系统的推广、部署具有重大意义。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1