在沉浸式视频中改变视频轨道的制作方法

文档序号:35339861发布日期:2023-09-07 07:00阅读:92来源:国知局
在沉浸式视频中改变视频轨道的制作方法

本发明涉及多轨道沉浸式视频的领域。特别地,本发明涉及多轨道沉浸式视频中的视频轨道的集合之间的转变。


背景技术:

1、沉浸式视频也被称为3dof+或6dof视频(其中,dof表示“自由度”),它使得观察者能够在观察空间内拥有大视场(fov)。在真实世界场景的情况下,观察空间和fov由用于捕获视频数据的相机系统来确定。在计算机图形的情况下,有更大的灵活性,例如可以直接渲染360度等矩形投影。

2、由于所需的资源,沉浸式视频的编码和传输是一个挑战。客户端可以解码和渲染的总比特率、解码器数量和总帧大小也存在实际限制。同样,为了保持广播的成本效益,可以通过卫星或5g并且在云服务之间从实况事件上传的内容也存在实际限制。

3、对于现代视频流服务而言,使视频流适应客户端功能是常见的。诸如iso/iec23009-1mpeg动态自适应http流传输(mpeg-dash)、iso/iec 23000-19通用媒体应用格式(cmaf)和苹果(tm)的http实时流传输(hls)之类的标准规定了如何将视频分成小片段。每个片段都有多种版本,例如,不同的比特率。客户端能够测量可用带宽和cpu使用率,并且决定向服务器请求更低或更高质量的片段。

4、iso/iec 23009mpeg全向媒体格式(omaf)标准(iso/iec 23090-2)规定了如何传输vr360(3dof)视频并带有dash和cmaf的配置文件。请注意,vr360也被称为“3dof”,并且名称“3dof+”是通过向vr360添加某种视差而根据这个命名方案导出的。支持独立于视口的模式和依赖于视口的模式。在后一种情况下,视频帧被分成片块,每个片块是单独的视频轨道。这使得总视频帧超过了普通硬件视频解码器的能力。

5、例如,hevc main 10level 5.2限于4k×2k个帧,当用于360度fov时,这低于头戴式显示器的分辨率。对于vr360,8k×4k或者甚至16k×8k的分辨率是优选的。

6、mpeg沉浸式视频(miv)的新标准(iso/iec 23090-12)描述了如何将多视图+深度视频修剪和打包成多个纹理和深度图集,以供2d视频编解码器进行编码。虽然该标准本身并不包括自适应流传输,但是包括了对子比特流访问的支持,并且预期诸如自适应流传输之类的系统方面将在相关的mpeg(或非mpeg)标准(例如,基于视觉体积视频的编码数据的iso/iec 23090-10传送)中得到处理。

7、子比特流访问的思想是能够移除比特流中的部分单元,从而产生仍然有效的较小比特流。子比特流访问的常见形式是时间访问(即,降低帧速率),但是在miv中也支持空间访问,这是通过允许移除图集的子集来实施的。每个图集提供一个视频轨道,并且视频轨道的组合用于渲染miv。

8、然而,切换视频轨道可能会导致可见的伪影,因为特定的跳跃在去遮挡区和任何非朗伯场景元素中尤其明显。例如,视口的改变可能会导致视频轨道的改变,这可能会由于突然切换而导致伪影。


技术实现思路

1、本发明由权利要求来限定。

2、根据本发明的一个方面的示例,提供了一种用于在渲染多轨道视频时从视频轨道vt1的第一集合转变到视频轨道vt2的第二集合的方法,其中,每个视频轨道具有对应的渲染优先级,所述方法包括:

3、接收从视频轨道vt1转变到视频轨道vt2的指令;

4、获得所述视频轨道vt2;并且

5、如果所述视频轨道vt2不同于所述视频轨道vt1,则执行以下操作:

6、向视频轨道vt1的所述第一集合中的一个或多个视频轨道的所述渲染优先级应用降低函数,其中,所述降低函数随时间降低所述渲染优先级;并且/或者

7、向所述视频轨道vt2中的一个或多个视频轨道的所述渲染优先级应用升高函数,其中,所述升高函数随时间升高所述渲染优先级,

8、其中,所述一个或多个视频轨道的所述渲染优先级用于在渲染所述多轨道视频时选择对相应视频轨道和/或所述视频轨道的元素的加权。

9、所述方法还可以包括选择所述加权的步骤和使用一个或多个所述加权的渲染步骤。

10、具有大视场的沉浸式视频通常无法适配用户观察的单个屏幕,因此视频的视口(即,整个视频的部分)被显示给用户。然后,视口能够基于用户(例如,检测用户移动或用户移动操纵杆/鼠标的传感器)或其他因素(例如,服务器)而改变。

11、如上面所讨论的,沉浸式视频能够基于用于创建沉浸式视频本身的几个视频轨道。然而,当视口改变时,它能够触发用于渲染视口的视频轨道的改变。这种改变能够在视频中引起可见伪影。视频轨道中的相似改变也能够由于其他原因而发生,例如,当流传输多轨道视频时带宽发生变化,从而减少了并可能改变了用于渲染多轨道视频的视频轨道(例如,为了以较低的分辨率来渲染视频,从而减小流传输多轨道视频所需的带宽)。

12、本发明基于对视频轨道之间的显示转变的改进。当接收到从一个视频轨道集合转变到另一个视频轨道集合的指令(例如用户移动操纵杆)时,获得新的视频轨道集合。如果新的视频轨道集合不同于先前使用的视频轨道,则逐渐降低该视频轨道集合中的一些(或全部)视频轨道的渲染优先级。

13、通过对视频轨道的渲染优先级应用降低函数来降低渲染优先级,该降低函数随时间逐渐降低表示渲染优先级的数值。

14、通过在视频轨道之间的转变期间逐渐降低渲染优先级,减少了沉浸式视频(即,miv)中的突然变化,因此也减少了由这种突然变化引起的可见伪影,从而改善了用户的观察体验。

15、类似地(或替代地),能够将新的视频轨道vt2的渲染优先级逐渐升高到相同的效果。通过利用升高函数逐渐升高渲染优先级,也能够将新的视频轨道逐渐引入渲染。这种逐渐“引入”渲染还减少了能够使用户分心并感到迷惑的突然变化(例如,质量突然增加)。

16、渲染优先级告知由cpu/gpu在渲染沉浸式视频时对不同视频轨道的使用的加权。例如,在所渲染的沉浸式视频上的像素的颜色可以基于所提供的三个视频轨道中的对应像素的颜色。所渲染的像素的最终颜色将是这三个像素的颜色的组合,其中的每个像素都经过加权。对这三种颜色中的每种颜色的加权通常取决于例如从中获得像素的视频轨道的重要性。然而,通过逐渐改变视频轨道的渲染优先级,也能够降低对像素的加权。

17、通常,渲染优先级将基于视口和视频轨道的特性(姿态、视场等)。当观察者在虚拟场景中四处移动时,视口姿态逐渐改变,因此渲染优先级也逐渐改变。本发明进一步修改了视频轨道的切换过程中的渲染优先级。

18、所述降低函数和/或所述升高函数可以被配置为在以下时段内改变所述渲染优先级:0.2秒至2秒之间的时段;或3帧至60帧之间的时段,例如,5帧的时段。

19、替代地,降低函数和/或升高函数可以是指数衰减函数。在这种情况下,当对应的渲染优先级达到预定义值时,可以移除视频轨道。预定义值将取决于渲染优先级的值的可能范围。例如,对于从0-100的范围,预定义值可以是0.01、0.1、1或5,具体取决于衰减函数的半衰期。类似地,可以在若干半衰期过去后移除视频轨道。

20、当渲染优先级达到低值(例如,0、0.1等)时或者过了一段时间后,不需要严格地“移除”视频轨道(例如不从服务器请求视频轨道)。例如,当渲染优先级为0时,可以保留视频轨道,因此实际上不使用该视频轨道来渲染沉浸式视频。然而,如果不移除具有低渲染优先级的视频轨道并且添加新的视频轨道,则渲染沉浸式视频所需的计算资源将显著增加。例如,在渲染优先级达到预定义值之后,可以将一些视频轨道保留相对较短的时间。

21、获得所述视频轨道vt2可以基于:从服务器请求所述视频轨道vt2;或从服务器接收所述视频轨道vt2。

22、能够基于用户想要的视口来请求视频轨道。例如,用户可以要求沉浸式视频的特定视口,并因此请求渲染想要的视口所需的视频轨道。

23、替代地,服务器可以基于针对用户的期望输出向用户发送视频轨道的特定集合。例如,服务器可能想要用户渲染特定的视口,并因此向用户发送渲染这样的视口所需的视频轨道。

24、所述方法还可以包括保留所述多轨道视频和/或所述视频轨道vt1的最新可用帧中的一个或多个最新可用帧,以用于当从视频轨道vt1转变到视频轨道vt2时修补后续帧中的一个或多个后续帧的缺失数据。

25、基于旧帧来修补新帧中的丢失数据也能够用于进一步减少由于用于渲染帧的视频轨道的突然变化而产生的伪影。用于修补的帧可以来自从先前的视频轨道渲染的多轨道视频,或者用于修补的帧可以是来自视频轨道本身的帧,具体取决于改变本身以及修补新帧需要哪些信息。

26、所述方法还可以包括:

27、降低视频轨道vt1中的一个或多个视频轨道和/或视频轨道vt2中的一个或多个视频轨道的分辨率;

28、降低视频轨道vt1中的一个或多个视频轨道和/或视频轨道vt2中的一个或多个视频轨道的帧速率;并且/或者

29、降低视频轨道vt1中的一个或多个视频轨道和/或视频轨道vt2中的一个或多个视频轨道的比特率。

30、在视频轨道集合之间的转变期间,由于必须同时处理与先前的视频轨道有关的数据和与新的视频轨道有关的数据,因此用于渲染多轨道视频的资源可能会被数据淹没。因此,降低视频轨道的分辨率、帧速率和/或比特率能够减少在转变期间必须处理的数据量,以便确保能够完全渲染转变。特别地,这能够确保由用户流传输的全部数据适配任何比特率和/或像素速率限制。

31、本发明还提供了一种计算机程序产品,包括计算机程序代码模块,所述计算机程序代码模块当在具有处理系统的计算设备上被运行时使所述处理系统执行上文定义的用于从视频轨道vt1的第一集合转变到视频轨道vt2的第二集合的方法的所有步骤。

32、本发明还提供了一种用于在渲染多轨道视频时从视频轨道vt1的第一集合转变到视频轨道vt2的第二集合的客户端系统,其中,每个视频轨道具有对应的渲染优先级,所述客户端系统包括:

33、客户端通信模块,其被配置为从服务器系统接收视频轨道和针对每个视频轨道的所述对应的渲染优先级;以及

34、客户端处理系统,其被配置为:

35、接收从视频轨道vt1转变到视频轨道vt2的指令;

36、从所述客户端通信模块接收所述视频轨道vt2;

37、如果所述视频轨道vt2不同于所述视频轨道vt1,则执行以下操作:

38、向视频轨道vt1的所述第一集合中的一个或多个视频轨道的所述渲染优先级应用降低函数,其中,所述降低函数随时间降低所述渲染优先级;并且/或者

39、向所述视频轨道vt2中的一个或多个视频轨道的所述渲染优先级应用升高函数,其中,所述升高函数随时间升高所述渲染优先级,

40、其中,所述一个或多个视频轨道的所述渲染优先级用于在渲染所述多轨道视频时选择对相应视频轨道和/或所述视频轨道的元素的加权。

41、所述客户端处理系统还可以被配置为选择所述加权并使用一个或多个所述加权来执行所述渲染。

42、所述客户端处理系统还可以被配置为保留所述多轨道视频的最新可用帧中的一个或多个最新可用帧,以用于当从视频轨道vt1改变到视频轨道vt2时修补后续帧中的一个或多个后续帧的缺失数据。

43、所述客户端处理系统还可以被配置为:

44、经由所述客户端通信模块从所述服务器系统请求一个或多个视频轨道vt1和/或一个或多个视频轨道vt2的较低分辨率版本;

45、经由所述客户端通信模块从所述服务器系统请求视频轨道vt1中的一个或多个视频轨道和/或视频轨道vt2中的一个或多个视频轨道的较低帧速率版本;并且/或者

46、经由所述客户端通信模块从所述服务器系统请求一个或多个视频轨道vt1和/或一个或多个视频轨道vt2的较低比特率版本。

47、所述客户端处理系统可以被配置为基于所述客户端处理系统的处理能力来请求较低分辨率版本、较低帧速率版本和/或较低比特率版本。

48、本发明还提供了一种用于在渲染多轨道视频时从视频轨道vt1的第一集合转变到视频轨道vt2的第二集合的服务器系统,其中,每个视频轨道具有对应的渲染优先级,所述服务器系统包括:

49、服务器通信模块,其被配置为向客户端系统发送视频轨道和针对每个视频轨道的所述对应的渲染优先级;以及

50、服务器处理器系统,其被配置为:

51、接收从视频轨道vt1转变到视频轨道vt2的指令;

52、经由所述服务器通信模块来发送所述视频轨道vt2;并且

53、如果所述视频轨道vt2不同于对应于第一视口的视频轨道vt1,则经由所述服务器通信模块向所述客户端系统发送指令以执行以下操作:

54、向视频轨道vt1的所述第一集合中的一个或多个视频轨道的所述渲染优先级应用降低函数,其中,所述降低函数随时间降低所述渲染优先级;并且/或者

55、向所述视频轨道vt2中的一个或多个视频轨道的所述渲染优先级应用升高函数,其中,所述升高函数随时间升高所述渲染优先级,

56、其中,所述一个或多个视频轨道的所述渲染优先级用于在渲染所述多轨道视频时选择对相应视频轨道和/或所述视频轨道的元素的加权。

57、所述服务器处理系统还可以被配置为:

58、经由所述服务器通信模块向所述客户端系统发送一个或多个视频轨道vt1和/或一个或多个视频轨道vt2的较低分辨率版本;

59、经由所述服务器通信模块向所述客户端系统发送视频轨道vt1中的一个或多个视频轨道和/或视频轨道vt2中的一个或多个视频轨道的较低帧速率版本;并且/或者

60、经由所述服务器通信模块向所述客户端系统发送一个或多个视频轨道vt1和/或一个或多个视频轨道vt2的较低比特率版本。

61、所述服务器处理系统可以被配置为基于所述客户端系统的客户端处理系统的处理能力来发送较低分辨率版本、较低帧速率版本和/或较低比特率版本。

62、参考下文描述的(一个或多个)实施例,本发明的这些方面和其他方面将变得明显并且得到阐明。

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