一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多视点视频处理方法和装置与流程

2022-06-01 18:56:28 来源:中国专利 TAG:
1.本发明通常涉及沉浸式技术。
背景技术
::2.随着人机交互和人工智能技术的最新发展,沉浸式技术正在彻底改变我们的工作和生活方式。沉浸式技术应用于多个领域,包括营销和广告、医疗保健、教育和游戏。新的沉浸式技术的快速发展要求有效地处理视频和图像数据。技术实现要素:3.公开了与支持具有沿x轴、y轴和z轴的附加有限平移运动(通常是头部运动)的3dof的媒体数据表示有关的方法、设备和应用程序,其有效地减少了媒体内容传输并有效地呈现了沉浸式媒体内容。4.在所公开技术的一个示例性实施例中,一种方法包括,由用户根据用户的当前观看位置、观看方向和视口向服务器请求媒体文件,由用户根据用户的当前观看位置、观看方向和视口从服务器接收媒体文件,提取一个或多个图集的补片,并合成用户当前视口中的视觉内容,并由用户获得用户当前视口中的三维立体视频内容。5.在所公开技术的另一个示例性实施例中,一种构建媒体内容的方法包括将多个媒体样本放置到(或从中提取)与多个视图相关联的媒体文件中,该多个视图包括一个或多个基础视图和一个或多个附加视图,使得每个媒体样本对应于多个视图中的一个或多个,并且包括相应视图的纹理分量或深度分量中的至少一个,确定与一个或多个基础视图相对应的基础视图媒体轨道和一个或多个附加视图媒体轨道,使得每个媒体轨道包括一个或多个用于描述关于相应视图的信息的指示符,以及通过将多个媒体样本分组为一个或多个样本组,基于一个或多个指示符从多个媒体样本来构建媒体内容,其中一个或多个样本组中的每个与一个基础视图相关联,或者通过对其中放置有多个媒体样本的多个媒体轨道进行分组,基于一个或多个指示符从多个媒体样本来构建媒体内容。6.在所公开技术的又一个示例性实施例中,一种构建媒体内容的方法包括将多个媒体样本放置到(或从中提取)与多个视图相关联的媒体文件中,该多个视图包括多个基础视图和多个附加视图,使得每个媒体样本对应于多个视图中的一个,并且包括与相应视图相关联的纹理分量或深度分量中的至少一个,确定分别对应于多个基础视图的多个基础视图媒体轨道,以及分别对应于多个附加视图的多个附加视图媒体轨道,使得每个媒体轨道包括用于描述关于相应视图的信息的一个或多个指示符,以及通过将多个媒体样本分组为一个或多个媒体样本组来基于一个或多个指示符从多个媒体样本构建媒体内容,该一个或多个媒体样本组中的每个与至少一个基础视图相关联。7.在所公开技术的又一个示例性实施例中,一种构建媒体内容的方法包括,根据观看方向、观看位置和观看窗口,将包括对应于多个视图的摄像机参数的摄像机信息放置到(或从中提取)与多个视图相关联的媒体文件中,基于摄像机参数信息,从媒体文件中选择媒体元数据,并基于媒体元数据构建媒体内容。8.一些实施例可以优选地如下实施这些方法:9.上述方法,其中,基础视图包括用于预测其他视图的视图。10.上述方法,其中,每个基础视图对应一个视图图集。11.上述方法,其中,基于基础视图图集和或附加视图图集来获取补片。12.上述方法,其中,基于一个或多个基础视图和一个或多个附加视图的组合来构建媒体内容。13.上述方法,其中,一个或多个指示符包括用于将对应于两个或更多个基础视图的图集的多个样本分组到样本组中的指示符。14.上述方法,其中,一个或多个指示符包括用于指示每个媒体轨道包含纹理分量还是深度分量还是两者都包含的指示符。15.上述方法,其中,一个或多个指示符包括用于指示每个媒体轨道包含纹理分量还是深度分量还是两者都包含的指示符。16.上述方法,其中,一个或多个指示符包括用于定义纹理分量和深度分量的哪一部分被包含在媒体轨道中的图集属性指示符。17.上述方法,其中,一个或多个指示符包括用于描述相应的视图的视图标识符。在一种实施方式中,每个媒体轨道包括存储为图集模式的一个或多个视图。18.上述方法,其中,媒体内容的构建包括组合来自不同视图的补片。在一种实施方式中,图集包含来自一个或多个视图的一个或多个补片的聚合。19.上述方法,其中,一个或多个指示符包括描述每个图集中补片数量的指示符。20.上述方法,其中,一个或多个指示符包括补片旋转指示符,其指示补片从图集映射到相应视图的旋转角度。21.上述方法,其中,一个或多个指示符包括文件级分组指示符,其被用于描述分组类型,以对包含不同视图的不同媒体轨道进行分组。22.上述方法,其中,文件级分组指示符包括基础视图和一个或多个附加视图之间的分组信息。23.上述方法,其中,文件级分组指示符包括组中实体的数量。24.上述方法,其中,每个媒体轨道包括用于将多个视图识别为基础视图或附加视图的指示符。25.上述方法,其中,在媒体文件的基础上提取摄像机信息。26.上述方法,其中,在媒体轨道的基础上提取摄像机信息。27.上述方法,其中,多个媒体轨道中的每一个来自多个视图中的补片,并且其中,每个视图对应一个摄像机。28.上述方法,其中,用户的多个视图包括至少一个基础视图和与至少一个基础视图相关联的至少一个附加视图。29.上述方法,其中,至少一个基础视图的媒体数据被用作与至少一个基础视图相关联的至少一个附加视图。30.上述方法,其中,用户的多个视图包括分别存储在不同媒体轨道中的两个或更多个基础视图。31.上述方法,其中,摄像机信息包括媒体轨道组,以指示媒体轨道组中的媒体数据将被用于解码与媒体轨道组对应的特定空间范围内的图像。32.在所公开技术的又一个示例性实施例中,上述方法以处理器可执行代码的形式体现,并存储在计算机可读程序介质中。33.在所公开技术的又一个示例性实施例中,公开了一种被配置为或可操作为执行上述方法的设备。34.在附图、说明书和权利要求书中更详细地描述了上述方面和其他方面及其实施方式。附图说明35.图1是示出基于所公开技术的一些实施例的3dof 的内容收集的示例的图。36.图2是示出基于所公开技术的一些实施例的视频数据处理系统的示例的图。37.图3是示出基于所公开技术的一些实施例的视频数据处理方法的示例的流程图。38.图4a是示出基于所公开技术的一些实施例的媒体文件的基本结构的示例的图。39.图4b是示出基于所公开技术的一些实施例的媒体文件的基本结构的另一个示例的图。40.图5是示出基于所公开技术的一些实施例的媒体文件中的多层结构的示例的图,其中只有一个媒体轨道包括一个或多个基础视图。41.图6是示出基于所公开技术的一些实施例的媒体文件中的多层轨道结构的示例的图。具体实施方式42.沉浸式媒体通过音频和视频技术,使用户能够通过视觉和音频体验来体验高度逼真的虚拟空间环境。目前,沉浸式体验主要支持全景视频。例如,用户可以通过头部显示设备通过头部的自由旋转观看360度视频,即三自由度(3dof)沉浸式体验。对于支持增强型三自由度(3dofplus)和部分六自由度(6dof)的视频,用户的头部也可以在有限的范围内移动,以观看更多细节,诸如被遮挡的视觉内容。43.对3dofplus视频的支持可以被用于通过在空间中以不同形状排列的多个摄像机捕捉原始视频,并且然后通过算法合成三维全景视频,以满足用户头部在沉浸式媒体中的有限运动。基于多摄像机部署,多视点视频通常具有大量冗余数据,造成存储和计算资源的浪费。目前,在内容制作阶段,可以通过同时去除多个视图的重叠部分的视觉内容来减少冗余,并且同时通过具有纹理和深度分量的视图来表示视口内的立体视频。当用户的终端设备接收到沉浸式媒体内容时,需要根据用户的观看位置、观看方向、采集设备的属性和其他信息对内容进行渲染,尤其是在移动过程中进行渲染,以确保用户获得最佳沉浸体验。目前,3dofplus的媒体内容缺乏相应的媒体表达,这会影响媒体内容的有效渲染和回放。44.图1是示出基于所公开技术的一些实施例的3dofplus的视频捕获的示例的图。为了支持3dofplus场景,在空间内的不同位置内部署多个摄像机。例如,多个摄像机以弯曲配置或矩形配置平行排列,并且图像由多个摄像机同时捕获。根据摄像机部署的位置和方向,由不同摄像机捕获的视频可能具有相似的内容。45.从多视点视频中收集的内容被合成以制作三维全景视频。根据多视点采集内容的相似性和差异性,用户在观看沉浸式媒体的过程中可以在有限的范围内移动,以看到更多细节,诸如被遮挡的视觉内容。46.图2是示出基于所公开技术的一些实施例的视频数据处理系统的示例的图。在所公开技术的一些实施例中,视频数据处理系统包括媒体服务器10和用户终端20。47.在一些实施方式中,媒体服务器10包括存储媒体文件的存储器模块101和与用户终端20通信的收发器模块102。存储器模块101被用于存储媒体文件。在一些实施方式中,收发器模块102被配置为从用户终端20接收请求消息和/或将存储的媒体文件发送到用户终端20。在一个示例中,收发器模块102可以接收请求消息,并通过无线网络和/或有线网络发送媒体文件。48.在一些实施方式中,用户终端20包括收发器模块201、解封装和解码模块202、媒体处理模块203和媒体播放模块204。在一些实施方式中,收发器模块201被配置为从媒体服务器10接收媒体文件,并向媒体服务器10发送请求(诸如媒体文件请求)。解封装和解码模块202被用于解包和解码由收发器模块201接收到的媒体文件。在一些实施方式中,媒体处理模块203根据用户的当前观看状态(例如,用户的位置、观看方向、用户的视口)对解码模块202解码的一组多视点图集执行视频处理,诸如视频合成和渲染。媒体播放模块204被用于播放与用户当前观看状态相对应的视觉内容。49.图3是示出基于所公开技术的一些实施例的视频数据处理方法的示例的流程图。50.在所公开技术的一些实施例中,视频数据处理方法包括,在步骤s301处,由用户根据用户的当前观看位置、观看方向和视口向服务器请求媒体文件。在一个示例中,对相应媒体文件的请求可以包括用户的实时反馈,以观看用户期望的视图。在一个示例中,在用户终端中实施的媒体处理模块可以使用一个或多个传感器和相关联的信号处理设备以将用户的实时反馈转换为用户的请求。51.在所公开技术的一些实施例中,视频数据处理方法包括,在步骤s302处,由用户根据用户的当前观看位置、观看方向和视口从服务器接收媒体文件,根据用户的当前观看位置、观看方向和视口提取一个或多个图集的补片,并在用户的当前视口中合成视觉内容。在一个示例中,媒体处理模块可以根据用户的实时观看位置和方向在用户的视口中重构视频,并将重构的视频传送到媒体播放模块或显示终端。52.在所公开技术的一些实施例中,视频数据处理方法包括,在步骤s303处,由用户根据用户的当前观看位置、观看方向和视口获取重构的三维立体视频内容。在一个示例中,用户使用显示终端或媒体播放模块来观看重构的视频。53.在所公开技术的一些实施例中,视频数据处理方法可以被实施为基于iso(国际标准化组织)基本媒体文件格式的文件中的3dofplus视频数据。iso基本媒体文件格式可以包括受限方案信息框、轨道参考框和轨道组框等,其在iso/iecjtc1/sc29/wg11运动图像专家组(mpeg)mpeg-4第12部分iso基本媒体文件格式中被定义。全向视频的投影、打包步骤和基本格式可以基于由iso/iecjtc1/sc29/wg11的运动图像专家组(mpeg)开发的mpeg-i第2部分omaf(全向媒体格式)进行操作。54.在所公开技术的一些实施例中,iso基本文件格式中的所有数据都被包含在一个框(box)中。在一个示例中,由mp4文件表示的iso基本文件格式包括多个框,每个框具有特定的类型和长度,并且可以被视为数据对象。一个框可以包含另一个框,其被称为容器框。在一个示例中,“ftyp”类型框被放置在文件的开头。在一个示例中,“ftyp”类型框被用作指示文件格式的标志,并包含关于文件的一些信息。55.在所公开技术的一些实施例中,“ftyp”类型框后面跟着“moov”类型框,这是具有媒体元数据信息的容器框。在一种实施方式中,mp4文件的媒体数据被包含在一个或多个“mdat”类型框中,每个“mdat”类型框都是一个容器框。在另一种实施方式中,当媒体数据整体引用其他文件时,mp4文件不包含这种“mdat”类型框。在所公开技术的一些实施例中,媒体数据的结构由元数据描述。在一些实施方式中,对于关于媒体的进一步元数据描述,mp4文件可以包含“meta”类型框,其也是描述一些通用或附加的不定时元数据的容器框。56.在所公开技术的一些实施例中,定时元数据轨道(例如,iso基本媒体文件格式(isobmff)中的机制)被用于建立与特定样本相关联的定时元数据。定时元数据与媒体数据的耦合较少,并且通常是描述性的。57.图4a是示出基于所公开技术的一些实施例的媒体文件的基本结构的示例的图,其中图集的纹理分量和深度分量被放置到相同的媒体轨道中。58.图4b是示出基于所公开技术的一些实施例的媒体文件的基本结构的另一个示例的图,其中图集的纹理分量和深度分量被放置到不同的媒体轨道中。59.在所公开技术的一些实施例中,可以通过使用包括基础层和一个或多个附加层的分层结构来描述多个视图。媒体文件可以包括用于描述多个视图的媒体元数据的一个或多个媒体轨道,其中一个媒体轨道对应于一层。60.如图4b所示,视频的视图可以由被分为纹理分量和深度分量的一个或多个图集来表示,并且纹理分量和/或深度分量被包含在对应于图集的一个或多个(例如,1或2)媒体轨道中。图集汇集了来自一个或多个视图中的补片,该视图可以是完整视图,或者是从视图中修剪的片段的一部分。如果补片的内容、大小和数量发生变化,则使用定时元数据描述有关补片的信息。61.在一种实施方式中,与多个视图相关的静态信息(诸如摄像机参数列表)在媒体轨道中的框或媒体文件的框中进行描述。62.在另一种实施方式中,通过将框定义为“meta”类型框来逐个描述每个摄像机,每个摄像机对应于每个视图。63.在另一种实施方式中,在一个媒体轨道中的图集对应于一个或多个视图,并且摄像机参数列表对应于视图的情况在媒体轨道中进行描述。64.图集中的每个补片都来源于由摄像机捕获的视频的视图。根据用户的观看位置和观看方向,基于媒体轨道中描述的每个补片的属性选择用户视野中的补片,使得用户可以通过合成一个或多个选择的补片来看到当前视口的媒体内容。65.在所公开技术的一些实施例中,处理视频数据的方法,其特征在于包括:确定与用户在选择的视口中的多视点视频的视图相对应的一个或多个媒体轨道中的一个或多个图集,其中,一个或多个图集包括一个或多个视图的纹理分量和深度分量;以及基于用于拍摄多视点视频的图集和摄像机参数,生成用户以在视口中观看多视点视频。66.在所公开技术的一些实施例中,确定与用户选择的多视点视频的视图相对应的一个或多个媒体轨道中的一个或多个图集包括,确定多视点视频的基础视图和与用户选择的多视点视频的视图相关的一个或多个附加视图;以及基于与媒体轨道中多视点视频的的基础视图和一个或多个附加视图相对应的一个或多个图集,确定与用户在媒体轨道中选择的多视点视频的视图相对应的一个或多个图集。67.图5是示出基于所公开技术的一些实施例的媒体文件中的多层结构的示例的图,其中只有一个媒体轨道是包含一个或多个基础视图的基础层。68.在所公开技术的一些实施例中,不同视图之间的相关性可被用于视图预测。由多个摄像机在同一空间内获取的视图可能具有不同程度的相关性。对于高度相关的视图,该视图可被用于预测其附近的视图。然而,对于具有低相关性的视图,视图的内容是独立的(或不相关的)并且不能相互预测,而基础视图的帧间预测是可能的。69.在所公开技术的一些实施例中,媒体文件包括与一个或多个基础视图相关联的媒体数据,并且每个基础视图对应一个图集。在这方面,所公开的技术可以在各种实施例中被实施,以提供将特定媒体轨道定义为基础层的分层媒体描述结构,用于描述和存储对应于一个或多个基础视图的一个或多个图集。对应于其他关联附加视图的图集被描述并存储在一个或多个其他媒体轨道(诸如附加层的媒体轨道)中,并且用户视口的视图是从在基础层和附加层中的图集中的补片的组合中合成的。70.通过多层图集,可以合成三维全景视频,允许用户通过改变头戴设备的位置和方向来看到部分被遮挡的视觉内容。71.在基础层的媒体轨道中,类型为“oinf”(操作点信息)的样本组指示基础层中基础视图的图集,并且该视图的图集不引用其他图集,但它可以被附加层中的其他图集引用。在与包括附加视图图集的附加层相对应的一个或多个媒体轨道中,组类型为“oinf”的样本组可以由媒体轨道参考类型为“oref”的媒体轨道引用。72.基础层的媒体轨道中有多个基础视图,基于不同的基础视图对样本进行分组,并将样本组类型定义为“invw”,指示分组样本属于一个基础视图。73.[0074][0075]具体语法如下:[0076]“version”指示框的版本;[0077]“grouping_type”指示样本分组的类型,并将其链接到具有相同grouping_type值的样本组描述条目。[0078]“grouping_type_parameter”指示分组的子类型;[0079]“entry_count”指示下表中的采样条目数;[0080]“sample_count”指示属于同一样本组的连续样本数量;以及[0081]“group_description_index”指示描述该组中样本的样本组条目的索引。[0082]对于基于基本的基于视图的样本进行分组,定义类型为“bsvw”(基础视图)的样本组条目,并描述组中这些样本对应的基础视图的标识符、与基础视图对应的摄像机的标识符,以及描述与基础视图相关联的其他附加视图。[0083]作为示例,这些标识符可以描述如下:[0084][0085]语法定义如下:[0086]“group_id”指示当前样本所属的分组标识符;[0087]“view_idx”指示与当前样本对应的基础视图索引标识符,即样本对应的视图;[0088]“camera_idx”指示与基础视图相对应的摄像机索引标识符;[0089]“num_ref_views”指示引用该组基础视图图集的其他附加视图的数量;[0090]“additional_view_idx”指示与组中基础视图相关联的附加视图的索引标识符;[0091]“track_id”指示与关联附加视图对应的样本所在的媒体轨道id;[0092]“texture_or_depth_flag”指示包含与附加视图相关联的样本的媒体轨道是否包括纹理分量和/或深度分量。当它等于0时,包括两者,当它等于1时,仅包括纹理分量;[0093]“depth_track_id”指示关联附加视图对应的深度分量所在的媒体轨道id;[0094]在所公开技术的一些实施例中,媒体轨道中的样本是包含来自一个或多个视图的补片的图集。在一个示例中,每个视图可以对应于一个图集。在另一个示例中,一个或多个视图可以对应于一个图集。图集包括纹理分量和深度分量。在示例性分层结构中,图集的纹理分量和深度分量可以分别被放置在两个媒体轨道中。在另一示例性分层结构中,图集的纹理分量和深度分量可以被放置在相同的媒体轨道中。“atlasattributebox”描述了图集的哪些分量被包含在媒体轨道中。[0095]boxtype:'atat'[0096]container:schemeinformationbox(‘schi’)[0097]mandatory(peranitem):yes,whenscheme_typeisequalto‘altv’[0098]quantity(peranitem):one[0099]aligned(8)classatlasattributebox()extendsfullbox(‘atat’,0,0){[0100]unsignedint(8)texture_in_track;[0101]unsignedint(8)depth_in_track;[0102]unsignedint(8)atlas_id;[0103]}[0104]语法定义如下:[0105]“texture_in_track”指示媒体轨道是否包含纹理分量;[0106]“depth_in_track”指示媒体轨道是否包含深度分量;以及[0107]“atlas_id”指示媒体轨道中纹理分量和/或深度分量所属的图集的标识符。[0108]在所公开技术的一个实施例中,当图集的纹理分量和深度分量被放置在两个媒体轨道中时,这两个媒体轨道属于一个媒体轨道组,例如,轨道1具有图集1的纹理分量,并且轨道2具有图集1的深度分量,其中轨道1和轨道2的分量属于同一图集。在一个示例中,通过定义具有track_group_type为“atls”的trackgrouptypebox,两个媒体轨道属于一个媒体轨道组,并且媒体轨道组由“track_group_id”来标识,“track_group_id”可以与图集的图集标识索引(atlas_id)相同。[0109]在所公开技术的另一个实施例中,当纹理分量和深度分量两者都被放置在媒体轨道中时,纹理分量和深度分量样本被分组,并且类型“textureanddepthgroup”被定义为描述每个样本是属于纹理分量还是深度分量的纹理和深度样本组。[0110]例如,这些标识符可以描述如下:[0111][0112]具体语法定义如下:[0113]“texture_or_depth”指示该组的样本被分组为纹理分量或深度分量。当texture_or_depth等于0时,样本被分组到纹理分量中,并且当texture_or_depth等于1时,样本被分组到深度分量中;以及[0114]“num_basicview_flag”指示媒体轨道中的样本是否对应于多个基础视图;当它等于0时,仅对应于一个基础视图,并且这些样本不按基础视图分组;当它等于1时,对应于两个以上的基础视图。[0115]“group_id”,用于媒体轨道中多个基础视图的样本,指示基于基础视图的样本组的分组标识符。[0116]在所公开技术的一些实施例中,iso基本文件格式中定义的视图标识符框(viewidentifierbox)是“vwid”,并且描述每个媒体轨道中包含的视图,包括视图的标识、与视图对应的其他参考视图等。它可以指示媒体轨道是包含纹理分量还是深度分量,或者两者都包含。[0117]基于媒体轨道中的图集、样本,用户根据当前观看位置、观看方向和视口选择一个或多个媒体轨道中的图集,以合成用户期望观看的图像。集合中的补片来自由对应于一个或多个视图的一个或多个摄像机捕获的视频。在一些实施方式中,描述了每个补片所属的视图以及每个补片在视图中的位置,以便于媒体轨道及其对应的图集的选择。根据iso基本文件格式(可选以下方式之一)将框的参数定义到图集。[0118]在所公开技术的一些实施例中,在每个帧样本中,从不同的视图收集补片,并且视图中的位置是不同的并且可变的,并且所有图集的补片信息由定时元数据动态描述。[0119]根据样本条目类型,从定时元数据轨道中识别出图集信息列表,并且图集信息列表定时元数据轨道被用于指示图集中每个补片对应的位置信息和对应的视图以及对应的视图信息。[0120]具体地,图集信息列表定时元数据轨道的目的由轨道样本条目类型指示,其为“atpl”,定义如下。[0121]atlasparamslistsampleentryextendsmetadatasampleentry('atpl'){[0122]unsignedint(8)num_atlases;[0123]unsignedint(8)num_views;[0124]bit(7)reserved;[0125]}[0126]具体语法定义如下:[0127]“num_atlases”指示图集的数量;以及[0128]“num_views”指示视图的数量。[0129]定时元数据轨道中的每个样本都对应于在某个时刻关于所有图集的信息。以下示例说明了图集信息的样本格式,引用了上述的轨道样本条目类型“atpl”,并指示每个样本的图集信息。[0130][0131]具体语法定义如下:[0132]“atlas_id”指示图集的标识符;[0133]“num_patches”指示图集中包含的补片数量;[0134]“view_id”指示补片所属的视图标识符;[0135]“group_id”指示基于基础视图及其关联附加视图的分组的分组标识符,当group_id等于0时,只有一个基础视图,并且视图不需要进行分组;[0136]“patch_width_in_view”和“patch_height_in_view”分别指示亮度样本中补片的宽度和高度;[0137]“patch_pos_in_atlas_x”和“patch_pos_in_atlas_y”分别指示图集中x轴和y轴的坐标;[0138]“patch_pos_in_view_x”和“patch_pos_in_view_y”分别指示亮度采样中补片的x轴和y轴的坐标;以及[0139]“patch_rotation”指示补片从图集映射到视图的旋转角度。当patch_rotation为0时,它指示没有旋转,当patch_rotation为1时,它指示顺时针旋转90度,并且其他大于1的值被暂时保留。[0140]在所公开技术的一些实施例中,图集信息描述了图集在其他媒体轨道中的位置,上面定义的定时元数据轨道可以通过使用具有“cdsc”参考类型的trackreferencebox链接到一个或多个其他媒体轨道。[0141]在所公开技术的一些实施例中,样本表框(sampletablebox)包括新定义的框(图集参数框),用于逐个指示媒体轨道中样本的图集信息。[0142][0143][0144]具体语法定义如下:[0145]“sample_count”指示一段时间内连续样本的数量;[0146]“num_patches”指示图集中包含的补片数量;[0147]“view_id”指示该补片所属的视图标识符;[0148]“patch_width_in_view”和“patch_height_in_view”分别指示亮度样本中补片的宽度和高度;[0149]“patch_pos_in_atlas_x”和“patch_pos_in_atlas_y”分别指示图集中补片的x轴和y轴的坐标;[0150]“patch_pos_in_view_x”和“patch_pos_in_view_y”分别指示亮度样本中x轴和y轴的坐标;以及[0151]“patch_rotation”指示补片从图集到视图图像的旋转角度。当它等于0时,指示没有旋转;当它等于1时,指示顺时针旋转90度;其他大于1的值被暂时保留。[0152]图6是示出基于所公开技术的一些实施例的媒体文件中的多层轨道结构的示例的图,其中媒体文件中存在多个基础视图,并且基础视图可以被用作预测其他视图的基础视图。基于分层轨道描述结构,将媒体轨道定义为存储一个基础视图的基础层,并描述所有基础视图的操作点信息。其他基础视图和附加视图的相应视图被存储在一个或多个其他媒体轨道中。通过多个视图,可以合成三维立体视频,使得用户可以通过头部的位移看到部分被遮挡的视觉内容。[0153]基础层的媒体轨道中的类型“oinf”(操作点信息)样本组被定义为描述所有基础视图中的操作点信息。所有附加层媒体轨道通过引用媒体轨道类型指示符“oref”来引用基础层媒体轨道。[0154]通过在媒体轨道级处或在文件级处包括指示,可以将基础视图与其他基础视图及其关联附加视图区分开。[0155]在所公开技术的一些实施例中,在媒体轨道级处描述了基础视图和附加视图之间的区别。在包含属于基础视图的图集的媒体轨道中,通过在媒体信息框中定义“invw”类型的框,媒体轨道被描述为包含基础视图的媒体轨道。[0156][0157]具体语法定义如下:[0158]“basic_view_idx”是其对应的图集在媒体轨道中的基础视图的标识符,;[0159]“camera_idx”指示与基础视图相对应的摄像机的标识符;[0160]“additional_view_idx”指示引用基础视图的附加视图的标识符;以及[0161]“track_id”指示包含对应于与基础视图相关联的附加视图的图集的媒体轨道的标识符;[0162]“texture_or_depth_flag”指示包含与对应于样本的附加视图相关联的样本的媒体轨道是否包括纹理分量和/或深度分量,如果其为0,则包括两者,如果其为1,则仅包括纹理分量;以及[0163]“depth_track_id”指示关联附加视图对应的深度分量所在的媒体轨道id。[0164]对于与基础视图相对应的图集及其引用基础视图的关联附加视图,定义了轨道组类型(track_group_type)为“cstg”的轨道组框,以描述与基础视图对应的图集和其关联的附加视图之间的关系。[0165]在所公开技术的一些实施例中,对于基础视图所在的媒体轨道在文件级提供组描述,以及对于具有附加视图的媒体轨道,参考关联的基础视图。[0166]在iso基本文件格式中使用扩展entitytogroupbox,以将分组类型(grouping_type)定义为“asvw”(关联视图组),以对包含形成关联视图的图集的媒体轨道进行分组。描述组成员以区分基础视图所在的媒体轨道,并且可以说该轨道包含图集的纹理分量和/或深度分量。在一个组中,媒体轨道中只有一个基础视图,并且其他视图与基础视图相关联。[0167][0168][0169]语法如下:[0170]“group_id”指示每个框中描述的分组的分组标识符;[0171]“num_entities_in_group”指示组中的实体的数量;以及[0172]“entity_id”指示所属图集所在的媒体轨道的实体标识符,等同于track_id;[0173]“is_basic_view”指示组中的组成员媒体轨道是否包括基础视图。当它等于1时,组中的组成员媒体轨道包含基础视图,或者当它为0时,组中的组成员媒体轨道不包含基础视图,并且只有一个组成员的值为1;[0174]“is_texture_in_entity”指示组中某个组成员的媒体轨道是否包含视图所属图集的纹理分量;以及[0175]“is_depth_in_entity”指示组中的组成员的媒体轨道是否包含视图所属的图集的深度分量。[0176]在一些实施方式中,多个基础视图的图集被存储在单独的比特流中。例如,一个比特流包含对应于一个基础视图的仅一个图集和对应于与该基础视图相关联的其他视图的图集。在这种情况下,仍然可以使用分层结构。[0177]在所公开技术的一些实施例中,在接收到媒体流文件并解码之后,根据用户的观看方向、观看位置和视口,用户选择与基础视图及其相关联的附加视图相对应的媒体内容。在完成所选内容的渲染过程中,会考虑相应的摄像机信息。[0178]在所公开技术的一些实施例中,通过定义描述摄像机参数信息的框,详细描述了多视点摄像机。[0179]在所公开技术的一些实施例中,摄像机参数信息是固有信息和位置信息,并且数据框在文件级被定义用于描述。摄像机参数列表框根据框类型进行标识,并描述与媒体文件中所有补片对应的摄像机参数,并且该框被包括在“meta”类型框中。[0180][0181][0182][0183]具体语法定义如下:[0184]“num_cameras”指示摄像机的数量;[0185]“view_idx”是由摄像机捕获到的视图的标识符,通过该标识符可以找到与该视图对应的摄像机;[0186]“camera_pos_x”、“camera_pos_y”和“camera_pos_z”指示摄像机在全局参考坐标系中的位置;[0187]“projection_type”指示摄像机的投影方式。当它等于0时,指示为erp投影模式,并且当它等于1时,指示为cmp投影模式,并且当它等于2时,指示为透视投影,并且取值范围为0到255,其中3到255可以在以后根据需要定义;[0188]“projection_plane_width”和“projection_plane_height”指示摄像机投影平面的水平分辨率和垂直分辨率,其由编码亮度采样的水平分辨率和垂直分辨率指示;[0189]“erp_phi_min”和“erp_phi_max”指示erp投影的纬度范围(最小值和最大值);[0190]“erp_theta_min”和“erp_theta_max”指示erp投影的经度范围(最小值和最大值);[0191]“perspective_focal_hor”、“perspective_focal_ver”分别指示,在亮度样本位置单元中,透视投影焦点的水平分量和垂直分量;[0192]“perspective_center_hor”和“perspective_center_ver”分别指示在亮度样本位置中透视投影主点的水平坐标和垂直坐标。[0193]“quantization_law”指示摄像机的深度量化方法的类型;[0194]“depth_near”、“depth_far”分别指示最小和最大标准化视差值;[0195]“cubic_map_type”指示cmp投影的类型。当它等于0时,指示为全投影模式(6个封装面);当它大于0时,暂时保留;以及[0196]“rotation_yaw”和“rotation_pitch”以及“rotation_roll”分别指定摄像机沿x轴、y轴和z轴旋转的偏航角、俯仰角和滚动角。[0197]在所公开技术的一些实施例中,媒体轨道中的每个来自一个或多个视图的补片,并且每个视图对应一个摄像机,并且描述了与每个媒体轨道中的视图相对应的摄像机。[0198]摄像机参数列表框是根据“schi”类型框中包含的框类型来标识的,该“schi”类型框是方案信息框,描述受限方案信息,其中该框位于方案类型(当scheme_type为“altv”时,支持图集模式)中。摄像机参数框的示例如下所述。[0199][0200]在所公开技术的一些实施例中,基于摄像机的部署模式,存在两个或更多个基础视图,并且基础视图的图集被存储在不同的媒体轨道中,并且每个基础视图的图集被用作基础视图,并且关联附加视图的视图用作附加视图。在基础视图所在的媒体轨道中,可以使用图集摄像机参数框(altalscameraparameterslistbox)描述与基础视图及其关联的其他视图相对应的摄像机,该参数框被包括在“schi”类型框中,该框是解决方案信息。方案信息框被用于描述受限信息。其他相关视图的图集所在的媒体轨道定义了轨道参考类型为“sbas”的轨道,以将基础视图的媒体轨道与相关附加视图的其他媒体轨道相关联。[0201]在所公开技术的一些实施例中,与基础视图相关联的媒体轨道以及与它们相关的其他视图可以使用轨道组类型“cstg”来定义。[0202]所公开的技术可以在一些实施例中被实施,以在存在多个基础视图的情况下,将视图的图集放入媒体轨道中。在一种实施方式中,纹理分量和深度分量被放入一个媒体轨道中,或者在另一种实施方式中,纹理分量和深度分量被放入不同的媒体轨道中。基于所公开技术的一些实施例来实施的多视点视频处理方法可以包括定义媒体轨道和相关元数据的结构,以及描述数据的元数据和被放入媒体轨道中的视图的图集信息。基于所公开技术的一些实施例来实施的多视点视频处理方法可以包括基于多个视点捕获视频、编码视频、将编码的视频及其元数据打包到媒体文件中,以及直接或根据用户的选择发送媒体文件。用户可以接受媒体文件并提取所需的元数据和样本,对媒体文件中的图片进行解码并合成解码后的图片,以便在其视口中查看合成的内容。[0203]在所公开技术的一些实施例中,视频数据处理方法可以包括确定媒体轨道中与用户视角中多视点视频的视图相对应的一个或多个图集。一个或多个图集包括视图的纹理信息和深度信息。[0204]在所公开技术的一些实施例中,视频数据处理方法还可以包括,基于与多视点视频对应的图集和摄像机参数,在用户的视角中生成多视点视频。[0205]在所公开技术的一些实施例中,确定媒体轨道中与用户视角中的多视点视频的视图相对应的一个或多个图集包括,确定多视点视频的基础视图和与用户选择的多视点视频的基础视图相关的附加视图,以及基于与媒体轨道中的多视点视频的基础视图和附加视图相对应的图集,确定与用户在媒体轨道中选择的多视点视频的视图相对应的一个或多个图集。[0206]在一个示例中,确定与用户视角中的多视点视频的视图相对应的媒体轨道中的一个或多个图集还包括,基于第二组类型识别媒体轨道中的实体组数据框,并且该实体组数据框指示多视点视频的基础视图。在一个示例中,实体组数据框指示实体组的分组标识。[0207]在一个示例中,确定与用户视角中的多视点视频的视图相对应的媒体轨道中的一个或多个图集还包括在视频轨道样本的条目中识别基础视图数据框,并且该基础视图数据框指示多视点视频的基础视图标识。[0208]在所公开技术的一些实施例中,样本组数据框位于媒体轨道中,并且其对应的样本组描述数据框基于第一组类型进行识别,并且样本组描述数据框中的样本组条目指示多视点视频基础视图id。在一个示例中,样本组条目指示样本组的分组标识符。[0209]在所公开技术的一些实施例中,视频数据处理方法还包括指示与在样本组描述数据框或实体组数据框或基础视图数据框中指示的多视点视频的基础视图标识符相关联的一个或多个附加视图的标识符。在一个示例中,视频数据处理方法还包括使用与视图对应的图集所在的媒体轨道的标识符。[0210]在所公开技术的一些实施例中,定位由基础视图数据框指示的基础视图和与由基础视图数据框指示的多视点视频的基础视图标识符所标识的附加视图相对应的图集。在一个示例中,根据媒体轨道的类型,通过识别其中图表集对应于基础视图的媒体轨道和其中对应于附加视图的图集所在的媒体轨道的分组来表征媒体轨道。[0211]在所公开技术的一些实施例中,根据第一样本条目类型识别图集列表定时元数据轨道,并且图集列表定时元数据轨道被用于指示媒体轨道中的图集的图像块信息。[0212]在所公开技术的一些实施例中,媒体轨道中图集的补片信息包括以下至少一项:图集的标识;图集的补片数量;图集的补片源的视图识别;在与图集相对应的视图中的图集的补片的宽度和高度;补片在图集x轴和y轴上的坐标;与图集x轴和y轴对应的视图中图集的补片的坐标;图集的补片从图集被映射到视图的相应旋转角度。[0213]在所公开技术的一些实施例中,视频数据处理方法还包括识别图集属性数据框,该属性数据框指示图集是否包含纹理信息和/或深度信息,并指示图集的身份。可替选地,基于第三轨道组类型识别属于包含图集的纹理信息的视频轨道和包含图集的深度信息的视频轨道。[0214]在所公开技术的一些实施例中,摄像机参数可被用于识别文件级摄像机参数列表数据框,并指示用于拍摄多视点视图的摄像机参数信息。可替选地,用于识别受限解决方案信息的图集摄像机参数列表数据框被用于指示媒体轨道中与图集相对应的视图的摄像机参数信息。[0215]在所公开技术的一些实施例中,摄像机参数可以包括以下至少一项:摄像机位置的坐标信息;摄像机位置的坐标旋转信息;摄像机映射格式信息;摄像机深度量化信息。[0216]本文描述的一些实施例在方法或过程的一般上下文中进行描述,这些方法或过程可以在一个实施例中由计算机程序产品实施,该计算机程序产品体现在计算机可读介质中,包括在网络环境中由计算机执行的计算机可执行指令,诸如程序代码。计算机可读介质可以包括可移动存储设备和不可移动存储设备,包括但不限于只读存储器(rom)、随机存取存储器(ram)、光盘(cd)、数字多功能光盘(dvd)等。因此,计算机可读介质可以包括非暂时性存储介质。通常,程序模块可以包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。计算机可执行指令或处理器可执行指令、相关联的数据结构和程序模块代表用于执行本文公开的方法的步骤的程序代码的示例。这种可执行指令或相关联的数据结构的特定序列代表用于实施在此类步骤或过程中所描述的功能的相应动作的示例。[0217]可以使用硬件电路、软件或其组合将一些公开的实施例实施为设备或模块。例如,硬件电路实施方式可以包括例如集成为印刷电路板一部分的离散模拟和/或数字组件。可替选地,或附加地,所公开的组件或模块可以被实施为专用集成电路(asic)和/或现场可编程门阵列(fpga)设备。一些实施方式可以附加地或可替选地包括数字信号处理器(dsp),其是具有针对与本技术的公开功能相关联的数字信号处理的操作需求而优化的架构的专用微处理器。类似地,每个模块内的各种组件或子组件可以在软件、硬件或固件中被实施。模块和/或模块内的组件之间的连接可以使用本领域已知的任何一种连接方法和介质来提供,包括但不限于使用适当协议在互联网、有线或无线网络上进行的通信。[0218]虽然本技术包含许多细节,但这些细节不应被解释为对所要求保护的发明或可能要求保护的发明的范围的限制,而是对特定实施例的特定特征的描述。在单独实施例的上下文中本技术中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独实施或在任何合适的子组合中实施。此外,尽管上述特征可以被描述为在某些组合中起作用,并且甚至最初也是这样要求保护的,但在某些情况下,可以组合中删除来自要求保护的组合的一个或多个特征,并且要求保护的组合可以涉及子组合或子组合的变体。类似地,虽然在附图中以特定次序描述操作,但这不应理解为要求以所示的特定次序或顺序执行这些操作,或要求执行所有图示操作,以获得期望的结果。[0219]仅描述了一些实施方式和示例,并且可以基于本公开中描述和说明的内容进行其他实现、增强和变化。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献