CN116800987A - 数据处理方法、装置、设备、存储介质及程序产品 - Google Patents

数据处理方法、装置、设备、存储介质及程序产品 Download PDF

Info

Publication number
CN116800987A
CN116800987A CN202210249027.9A CN202210249027A CN116800987A CN 116800987 A CN116800987 A CN 116800987A CN 202210249027 A CN202210249027 A CN 202210249027A CN 116800987 A CN116800987 A CN 116800987A
Authority
CN
China
Prior art keywords
information
depth map
map
texture map
track
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.)
Pending
Application number
CN202210249027.9A
Other languages
English (en)
Inventor
李秋婷
黄成�
白雅贤
谢绍伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN202210249027.9A priority Critical patent/CN116800987A/zh
Priority to PCT/CN2023/079080 priority patent/WO2023174059A1/zh
Publication of CN116800987A publication Critical patent/CN116800987A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请实施例提供了一种数据处理方法、装置、设备、计算机可读存储介质及计算机程序产品,通过将纹理图、深度图封装在媒体轨道中,提高数据处理效率,使数据封装、传输更灵活,进而提高自由视角视频的处理效率。

Description

数据处理方法、装置、设备、存储介质及程序产品
技术领域
本申请实施例涉及计算机技术领域,尤其是一种数据处理方法、装置、设备、存储介质及程序产品。
背景技术
随着计算机技术的发展,用户希望能够通过自由的视点切换,在视频播放、虚拟游戏等场景中获得更强的现场体验感。
相关技术中,受限于媒体数据处理及传输较低,用户难以进行灵活的视点切换和场景显示。如何提高数据处理效率,提升用户使用感受,是当下亟待讨论和解决的问题。
发明内容
本申请实施例提供一种数据处理方法、装置、设备、计算机可读存储介质及计算机程序产品,旨在提高数据处理效率。
第一方面,本申请实施例提供一种数据处理方法,包括:获取自由视角视频数据,其中,所述自由视角视频数据包括至少一个采集的纹理图和/或深度图;将所述至少一个纹理图和/或深度图封装在至少一个媒体轨道;根据所述目标视角信息处理所述自由视角视频数据。
第二方面,本申请实施例提供一种图像显示装置,包括:获取模块,设置为获取自由视角视频数据、目标视角信息,其中,所述自由视角视频数据包括至少一个纹理图和/或深度图;封装模块,设置为将所述至少一个纹理图和/或深度图封装在至少一个媒体轨道;处理模块,设置为根据所述目标视角信息处理所述自由视角视频数据。
第三方面,本申请实施例提供一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行如第一方面中数据处理方法。
第四方面,本申请实施例提供一种计算机程序产品,包括:计算机程序或计算机指令,其特征在于,所述计算机程序或所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机程序或所述计算机指令,所述处理器执行所述计算机程序或所述计算机指令,使得所述计算机设备执行如第一方面中数据处理方法。
附图说明
图1为用户通过显示装置观看视直播示意图;
图2为用户通过另一显示装置观看视频示意图;
图3为本申请一实施例提供的数据处理方法的应用场景系统架构示意图;
图4为本申请一实施例提供的数据处理方法的流程图;
图5为本申请一实施例提供的数据处理方法的流程图;
图6为本申请一实施例提供的数据处理方法的流程图;
图7为本申请一实施例提供的单轨道封装自由视角视频数据的文件结构图;
图8为本申请一实施例提供的基于单轨道封装模式扩展的自由视角视频的媒体文件结构图;
图9为本申请一实施例提供的基于单轨道封装的自由视角视频数据处理流程图;
图10为本申请一实施例提供的多轨道封装自由视角视频数据的文件结构图;
图11为本申请一实施例提供的基于多轨道封装模式扩展的自由视角视频的媒体文件结构图;
图12为本申请一实施例提供的基于多轨道封装的自由视角视频数据处理流程图;
图13为本申请一实施例提供的媒体轨道分组示意图;
图14为本申请一实施例提供的数据处理装置结构示意图;
图15为本申请一实施例提供的数据处理装置结构示意图;
图16为本申请一实施例提供的数据处理装置结构示意图;
图17为本申请一实施例提供的数据处理装置结构示意图;
图18为本申请一实施例提供的数据处理设备结构示意图;
图19为本申请一实施例提供的数据处理设备结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本申请实施例中的具体含义。本申请实施例中,“进一步地”、“示例性地”或者“可选地”等词用于表示作为例子、例证或说明,不应被解释为比其它实施例或设计方案更优选或更具有优势。使用“进一步地”、“示例性地”或者“可选地”等词旨在以具体方式呈现相关概念。
本申请实施例可以应用于各种与图像以及视频显示相关的设备,例如:手机、平板电脑、计算机、笔记本电脑、可穿戴设备、车载设备、液晶显示器、阴极射线管显示器、全息成像显示器或投影等其它终端设备等;还可以应用于各种用于处理图像以及视频数据的设备,例如:手机、平板电脑、计算机、笔记本电脑、可穿戴设备、车载设备等其它服务器设备等。本申请实施例并不限定。
沉浸式媒体通过视频、音频等技术,让用户在视觉、听觉等方面体验高度逼真的虚拟空间环境,产生身临其境的感觉。相关技术中,在用户佩戴头显设备后,通过头部的自由旋转可以观看360度的视频图像,即三自由度(3Degrees of Freedom,3DOF)的沉浸式体验。而为了获得更好的视觉感受,相关技术还可以支持增强的三自由度(3Degrees of FreedomPlus,3DOF+)和六自由度(6Degrees of Freedom,6DOF)的视频,即用户的头部或身体可以在空间中有限或自由的移动,实现观看视角的自由切换,以满足更真实的沉浸体验。
以6DOF视频为例,6DOF视频采集与播放存在多种实现方式,自由视角视频是其中一种。自由视角视频通常是面向同一三维场景拍摄的多相机矩阵阵列采集得到的不同视角的视频集合。用户在观看自由视角视频过程中可以自由地进行视角切换,而在真实视点或合成的虚拟视点观看到对应的视频图像。自由视角视频数据包括多视角的纹理图和深度图,如用户切换到真实视点,则可以直接显示相机采集的真实视频,如用户切换到虚拟视点,则可以实时地合成用虚拟视点对应的虚拟视点纹理图。自由视角视频数据采集过程中相机部署的位置及数量、实时合成虚拟视点图像过程中的相机对应的视频数据选择、传输及处理对数据合成的时间消耗、质量等都有不同程度的影响,这都将直接影响到用户的使用体验。
自由视角视频是一种新型的虚拟现实(Virtual Reality,VR)视频技术,该技术一般采用多个摄像头朝向目标场景进行环绕拍摄,并利用虚拟视角合成技术获取虚拟视角的图像。利用自由视角视频技术,可以让用户以任意视角观看该目标场景,获得比全景视频更好的观看体验。然而,目前对目标场景进行直播的过程中,却无法为用户提供目标场景的自由视角视频。因此,如何在视频直播过程中,让用户可以按照自己所需的视角观看视频直播中的一些精彩片段,是本领域技术人员迫切需要解决的技术问题。
为详尽阐述本技术方案,以为图1、图2例,对相关技术中进一步解释说明。
图1是用户通过显示装置观看视直播示意图。如图1所示,用户200通过第一显示装置100观看直播内容。但是用户200仅能从显示装置当前播放的视角观看直播的场景内容,难以根据自己的期望调整观看视角。
图2是用户通过另一显示装置观看视频示意图。图2所示,用户200通过第二显示装置300观看视频内容。借助第二显示装置300,用户200可以通过头部旋转切换观看视角,也可以借助第二显示装置300的遥控器310切换观看视角。虽然该方式能够提供三维图像且随用户期望调整观看视角,在受限图像选择、传输以及处理效率低,难以完全满足3DOF+和6DOF的应用场景,同时该技术也难以应用在实时显示或合成图像的情形。
本申请实施例提供了一种数据处理方法、装置、设备、计算机可读存储介质及计算机程序产品,通过将纹理图、深度图封装在媒体轨道中,提高数据处理效率,使数据封装、传输更灵活,进而提高自由视角视频的处理效率。
下面结合附图,对本申请实施例做进一步阐述。
图3是本申请一实施例提供的数据处理方法的应用场景系统架构示意图。如图3所示,该系统架构包括数据处理装置400以及数据采集装置。
本实施例以第一图像采集装置510、第二图像采集装置520,两台数据采集装置为例。第一图像采集装置510采集获得第一区域A的图像数据,第二图像采集装置520采集获得第二区域B的图像数据。
可以理解,本实施例的自由视角视频数据通过第一图像采集装置510和第二图像采集装置520采集。
数据处理装置400获取自由视角视频数据。
在一实施方式中,自由视角视频数据包括第一图像采集装置510采集的第一纹理图和第二图像采集装置520采集的第二纹理图。
在一实施方式中,自由视角视频数据包括第一图像采集装置510采集的第一深度图和第二图像采集装置520采集的第二深度图。
在另一实施方式中,自由视角视频数据包括第一图像采集装置510第一纹理图、第一深度图和第二图像采集装置520的第二纹理图、第二深度图。
需要说明的是,纹理图、深度图可以通过采集装置采集,还可以通过其它方式获得,如计算机生成等其它方式。
第一视角610是观看第一区域A的视角,第二视角620是观看第二区域B的视角。
在一实施方式中,当观看第一区域A时,数据处理装置400获取第一图像采集装置510采集的第一纹理图,并通过封装模块、处理模块封装、处理,获得当前视角的自由视频数据。当期望观看第二区域B,数据处理装置400获取第二图像采集装置520采集的第二纹理图,并通过封装模块、处理模块封装、处理,获得当前视角的自由视频数据。采用本实施例的技术方案,可以实时快速自由切换至所需观看的视角,以提升视角体验。
在另一实施方式中,当期望通过第三视角630(即虚拟视点)观看第三区域C时,数据处理装置400先确定与第三区域C临近的第一区域A和/或第二区域B,即先确定与第三视角630临近的第一视角610或第二视角620,再通过对与第一视角610对应的采集装置510采集的第一深度图和/或第二视角620对应的采集装置520采集的第二深度图合成处理,得到与第三视角630对应的第三深度图,最后将与第一视角610对应的采集装置510采集的第一纹理图图和/或第二视角620对应的采集装置520采集的第二纹理图图结合处理后得到的第三深度图,合成第三视角630(即虚拟视点)对应的第三纹理图,以获得当前视角的自由视频数据。采用本实施例的技术方案,不仅可以减少采集装置的使用,还可以实时进行视角的自由切换观看,以获得更真实的沉浸体验。
在另一实施例中,纹理图和深度图可以通过其他方式得到,比如深度图通过纹理图计算得到、纹理图和深度图通过电脑生成的模拟数据。
图4是本申请一实施例提供的数据处理方法的流程图。如图4所示,该数据处理方法可用于终端也可以用于服务器。在图4的实施例中,该数据处理方法可以包括但不限于步骤S1000、步骤S2000以及步骤S3000。
步骤S1000:获取自由视角视频数据。
在一实施例中,自由视角视频数据包括纹理图。
在一实施例中,自由视角视频数据包括深度图。
在一实施例中,自由视角视频数据包括纹理图和深度图。
需要说明的是,纹理图、深度图可以通过采集装置采集,还可以通过其它方式获得,如计算机生成等其它方式。以下以采集装置采集为例进行说明。
自由视角视频是面向同一三维场景拍摄的多相机矩阵阵列采集得到的不同视角的视频集合。自由视角视频数据通常通过多个采集装置采集获得,通过设置在不同角度不同位置的采集装置,对需要拍摄的场景或对象进行图像采集。采集装置可以是相机等能够进行图像采集的任何装置。需要说明的是,采集装置可以为一个或者多个,采集装置的数量在本申请实施例中不做限定。
自由视角视频能够支持自由视角下的视频图像合成,其视频数据中通常包括纹理图和深度图。纹理图是对拍摄对象的表面性质的数据记载,通过对纹理图进行渲染,能够得到真实的视频影像;深度图也称为距离影像,直接反映物体可见表面的几何形状,深度图类似灰度图像,但深度图中的每个像素值是摄像头距离物体的实际距离。需要说明的是,在一些应用场景中,例如终端的存储能力与计算能力受限时,或者视角切换的自由度受限时,自由视角视频数据可以仅包含纹理图或者深度图。
在一实施例中,当切换后的视角没有对应的采集装置时,则进行虚拟视点合成。在虚拟视点合成重建过程中,在确定视角切换后视角的邻域的若干相机后,先对相机的深度图进行处理,根据处理后的深度图再结合相机的纹理图合成出虚拟视点对应的纹理图。因此,在此实施例对应的应用场景下,自由视角视频包含纹理图数据和深度图数据。
在一实施例中,视角切换的自由度受限,即只是在相机对应的真实视点之间切换而无需合成虚拟视点时,或采集装置不具有深度图采集能力时,在此实施例对应的应用场景下,自由视角视频仅包含纹理图数据,而不包含深度图数据。或者当切换后的视角有对应的采集装置时,则使用该采集装置对应的纹理图,而无需利用深度图合成虚拟视点。
步骤S2000:将至少一个纹理图和/或深度图封装在至少一个媒体轨道。
为了支持自由视角视频数据在媒体系统中的封装存储、传输和处理,需要在媒体文件中对自由视角视频数据定义合理的格式结构。
需要说明的是,在本发明实施例中,一种实现方式是基于国际标准化组织基本媒体文件格式(International Organization for Standardization Base Media FileFormat,ISOBMFF),将自由视角视频数据存储在文件中。需要说明的是,受限方案中,即需要合成虚拟视点时的应用场景中,信息盒子、轨道引用盒子、轨道群组盒子等ISO基本媒体文件格式可参照ISO/IEC JTC1/SC29/WG11运动图像专家组(Moving Picture ExpertsGroup,MPEG)制定的MPEG-4Part12ISO Base Media File Format。
基于ISO基本媒体文件格式,所有数据均封装在盒子(Box)中,ISO基本媒体文件格式由若干个盒子组成,每个盒子都有类型和长度,可以视为一个数据对象,能够容纳其他盒子的盒子,称为容器盒子。以MP4文件为例,一个MP4文件首先会有且只有一个“ftyp”类型的盒子,ftyp盒子作为文件格式的标识,包含关于文件的一些信息;一个MP4文件还会有且只有一个“MOOV”类型的盒子(Movie Box),它是一种容器盒子,MOOV盒子的子盒子包含了媒体的元数据信息,元数据信息是对媒体内容的描述性信息;MP4文件的媒体数据包含在“mdat”类型的盒子(Media Data Box)中,mdat盒子也是容器盒子,可以有多个,而当媒体数据全部引用其他文件时,也可以没有mdat盒子;媒体数据的结构由元数据进行描述,可使用“meta”类型的盒子(Meta box)来描述一些通用的或额外的非定时的元数据,meta盒子也是容器盒子。
定时元数据轨道是ISOBMFF中的一种建立与特定样本关联的定时元数据的机制。定时元数据与媒体数据的耦合较少,通常是“描述性”的。
在常见应用场景中,自由视角视频数据包含纹理图数据和深度图数据,在处理过程中通常会根据自由切换的视角进行虚拟视点的合成,因此自由视角视频媒体轨道应作为受限的视频在媒体文件中表示。在本申请实施例中,使用ISO/IEC 14496-12标准中定义的RestrictedSchemeInfoBox中的SchemeTypeBox对自由视角视频媒体轨道进行描述,其中,SchemeTypeBox的scheme_type设置为'as3f'。
自由视角视频轨道使用VisualSampleEntry,在ISO/IEC 19946-12中定义。当自由视角视频媒体轨道只包含纹理图时,即是纹理图媒体轨道。深度图媒体轨道使用MediaBox中的HandlerBox的处理类型(handler type)为‘auxv’类型表示深度轨道中包含深度图信息。
需要说明的是,自由视角视频在只包含纹理图数据的情况下,不存在虚拟视点合成的处理过程,自由视角视频媒体轨道将不作为受限的视频在媒体文件中表示,即不使用上述SchemeTypeBox对自由视角视频媒体轨道进行描述。
在一实施例中,采集装置采集的纹理图和深度图封装在一个媒体轨道,即一个媒体轨道中包括了纹理图和深度图。
在一实施例中,采集装置采集的纹理图封装在一个媒体轨道,即一个媒体轨道中包括了纹理图。
在一实施例中,采集装置采集的深度图封装在一个媒体轨道,即一个媒体轨道中包括了深度图。
在上述实施例中,采用一个媒体轨道对视频数据进行封装的方式可以统称为单轨道封装。使用单轨道封装通常适用于自由视角视频数据通常针对采集装置数量不多,单帧纹理图像素不大的情形,在这种情形下,终端在请求获取相应采集装置的纹理图和/或深度图时,服务器将媒体文件中所有相机的纹理图和/或深度图传输到终端,终端可以提前下载所有采集装置的纹理图和/或深度图,终端解封装、解码时,选择自由切换视角后视角相关的采集装置,即可用于合成虚拟视点的采集装置的纹理图和深度图,可以直接在终端本地查找所需采集装置对应的纹理图和/或深度图,解码全部或所需相关的采集装置对应的纹理图和深度图。
在一实施例中,采集装置采集的纹理图和深度图封装在多个媒体轨道,即一个或多个媒体轨道中包括了纹理图,另一个或多个媒体轨道中包括了深度图。
在一实施例中,采集装置采集的纹理图封装在多个媒体轨道,即多个媒体轨道中包括了纹理图。
在一实施例中,采集装置采集的深度图封装在多个媒体轨道,即多个媒体轨道中包括了深度图。
在上述实施例中,采用多个媒体轨道对视频数据进行封装的方式可以统称为多轨道封装。区别于单轨道封装,多轨道封装通常适用于采集装置数量较多,单帧纹理图像素较大,导致数据量较大的情形,通过将采集装置采集的纹理图和深度图分别封装到不同的媒体轨道中,根据不同的编码方式、访问需求、传输能力,每个媒体轨道封装一个或多个采集装置的纹理图数据和深度图数据。封装纹理图数据的媒体轨道为纹理图媒体轨道,封装深度图数据的媒体轨道为深度图媒体轨道。
需要说明的是,将纹理图和/或深度图封装在一个或多个媒体轨道的执行主体可以是任何有封装能力的处理装置完成。
步骤S3000:根据目标视角信息处理自由视角视频数据。
用户在进行视角切换后,终端能够获得目标视角信息,目标视角信息反映了用户期望的自由视角或导演期望的播放视角,通常包括观看位置、观看方向等信息,根据目标视角信息,能够判断是否需要进行虚拟视点的合成以及合成所需的原始采集装置的视频数据。
在一实施例中,目标视角信息包括采集装置标识、采集装置参数信息、目标视角位置信息、目标视角旋转信息、目标视角标识等。
在一实施例中,终端具有较强的数据处理能力,因此终端自身根据目标视角信息处理自由视角视频数据,并对处理后的自由视角视频数据进行显示。
图5是本申请一实施例提供的数据处理方法的流程图。如图5所示,具体地说明终端的数据处理过程,可以包括但不限于步骤S1100、步骤S3110以及步骤S3120。
步骤S1100:终端向服务器请求获取媒体文件。
步骤S3110:终端解码/解封装获取的媒体文件,根据媒体文件中的自由视角视频数据,相应的元数据信息,以及目标视角信息,合成虚拟视点的纹理图
步骤S3120:终端显示合成的虚拟视点纹理图。
在一实施例中,终端不具有较强的数据处理能力,因此服务器可以根据目标视角信息处理自由视角视频数据,例如合成虚拟视点的纹理图,再将处理后的视频数据发送给终端进行显示。
图6是本申请一实施例提供的数据处理方法的流程图。如图5所示,具体地说明终端以及服务器的数据处理过程,可以包括但不限于步骤S4000、步骤S3210以及步骤S3220。
步骤S4000:终端向服务器发送目标视角信息。
步骤S3110:服务器端根据目标视角信息获取存储的媒体文件,并提取自由视角视频数据及相应的元数据信息,合成虚拟视点的纹理图。
步骤S3120:终端接收服务器处理后的自由视角视频数据,并显示合成的虚拟视点纹理图。
需要说明的是,在图5与图6对应的实施例中,无论是终端进行虚拟视点纹理图的合成或是服务器进行虚拟视点纹理图的合成,均采用本申请提供的数据处理方法,且处理的纹理图和/或深度图封装在至少一个媒体轨道中。
图7是一种单轨道(single track)封装自由视角视频数据的文件结构图。如图7所示,基于ISO基本媒体文件格式的媒体文件具有一个媒体轨道,轨道中包括MOOV盒子以及madt盒子,MOOV盒子中包括FreeViewExtInfoBox子盒子和TrackBox子盒子,封装有媒体的元数据信息;madt盒子通过采样(Sample)的形式封装有自由视角视频数据。
在另一实施例中,MOOV盒子中包含TrackBox子盒子,以及TrackBox子盒子包含的FreeViewExtInfoBox子盒子。
单轨道封装的自由视角视频数据包括多个原始采集装置采集的纹理图和深度图数据,这些纹理图和深度图数据全部存储在一个媒体轨道中,即媒体轨道中的每一帧图像包含所有原始采集装置在某一时刻的纹理图(Texture)和/或深度图(Depth),其中,每一个原始采集装置对应纹理图和深度图独立编解码,即采集装置之间的纹理图和深度图数据的编解码不存在依赖关系。终端在获取单轨道封装的自由视角视频时,传输全部原始采集装置的纹理图和深度图数据。1
终端在获得具有自由视角视频数据的媒体文件后,在每一帧图像中选择合成虚拟视点所需的视角邻域的若干原始采集装置的纹理图和深度图进行解码。单轨道封装的媒体轨道中的每个采样包含某一时刻的所有原始采集装置采集得到的纹理图和/或深度图,并通过将采样划分为多个子采样(SubSample),使每个子采样包含一个采集装置对应的纹理图或/和深度图。更为具体的,通过SampleTableBox或TrackFragmentBox中的SubSampleInformationBox数据盒来描述子样本的信息,子样本的使用需依照子样本信息数据盒中flags字段,flags字段能够标识存储在子样本中的数据类型,即纹理图和/或深度图的三种情形,具体通过codec_specific_parameters来描述自由视角视频数据对应的每个样本的具体组成结构,示出了两种具体示例。
示例1:
flags用于指示子样本中封装的信息类型,具体类型如下:
flags值为0,基于原始采集装置对应的纹理图和深度图的子样本,一个子样本中包含对应于一个原始采集装置的纹理图或深度图;
flags值为1,基于原始采集装置的子样本,一个子样本包含对应于一个原始采集装置的纹理图和深度图。
if(flags==0){
unsigned int(8)camera_id;
unsigned int(1)payload_type;
unsigned int(1)All_data;//可选的
bit(21)reserved=0;
}
else if(flags==1){
unsigned int(8)camera_id;
bit(21)reserved=0;
}
示例2:
flags用于指示子样本中封装的信息类型,具体类型如下:
flags值为0,基于数据类型(原始图、深度图)的子样本,一个子样本中包含对应于一个原始采集装置的纹理图或深度图;
flags值为1,基于原始采集装置的子样本,一个子样本包含对应于一个原始采集装置的纹理图和深度图。
if(flags==0){
unsigned int(16)camera_id;
bit(16)reserved=0;
}
else if(flags==1){
unsigned int(8)payload_type;
bit(24)reserved=0;
}
其中,camera_id,指示当前子样本中纹理图或深度图对应的采集装置(相机)标识;
payload_type,指示子样本包含的数据类型,值为0时,包含纹理图;值为1时,包含深度图;值为2时,包含参数信息,如SEI信息。
All_data,指示子样本包含所有原始集装置对应的纹理图或深度图。
需要说明的是,虚拟视点的合成过程首选是对选择的原始采集装置的深度图进行处理,为进一步简化封装的结构以及解码过程,媒体轨道中的每个样本包含纹理图子样本和深度图子样本,其中,纹理图子样本包含多个原始采集装置的纹理图,深度图子样本包含多个原始采集装置的深度图,甚至所有原始采集装置的深度图。具体的子样本结构仍可使用本实施例定义的codec_specific_parameters来描述。
需要说明的是,采用示例1的方式进行定义时,使用一个SubSampleInformationBox对子样本结构信息进行描述,flags为0时,camera_id设置为0,表示该子样本包含所有原始采集装置的纹理图或深度图;采用示例2的方式进行定义时,可使用两个SubSampleInformationBox对子样本结构信息进行描述,其中一个SubSampleInformationBox中的flags值为0,并且camera_id设置为0,指示所有的原始采集装置的深度图或纹理图在一个子样本中;另一个SubSampleInformationBox中的flags值为1,当flags值为1,指示子样本的是包含纹理图或深度图。
通过SubSampleInformationBox对样本中每个子样本的大小、对应的原始采集装置、图像数据类型(纹理图或深度图),可以选择性的部分解码合成虚拟视点所需要的原始相机的纹理图和深度图,能够提高数据的处理效率,扩展自由视角视频的应用场景。
在一实施例中,用户视角在自由切换过程中,只是在原始采集装置对应的真实视点之间切换,则不存在合成虚拟视点的过程。这种情况下,通常以单轨道封装的自由视角视频数据是原始采集装置的纹理图数据,则子样本中不存在深度图,即payload_type的值恒为0。
在一些实施例中,自由视角视频数据量非常大,即如原始采集装置部署数量多,采集纹理图的像素大等,或者原始采集装置之间存在分组关系,此种情形下,可通过扩展单轨道封装方式进行自由视角视点数据的封装。
图8是一种基于单轨道封装模式扩展的自由视角视频的媒体文件结构图。如图8所示,基于ISO基本媒体文件格式的媒体文件具有多个媒体轨道,轨道中包括MOOV盒子以及madt盒子,MOOV盒子中容纳有FreeViewExtInfoBox子盒子以及SubSampleInfoBox子盒子,封装有媒体的元数据信息;madt盒子通过采样(Sample)的形式封装有自由视角视频数据。
扩展的单轨道封装的媒体文件结构中,纹理图和深度图一一对应,轨道中的每个样本包含某一时刻的多个原始采集装置对应的纹理图和深度图,通过SampleTableBox或TrackFragmentBox中的SubSampleInformationBox的数据盒来描述子样本的信息,采用上述实施例中定义的codec_specific_parameters语法元素来描述,每个子样本包含一个或多个原始采集装置的纹理图和/或深度图。
在一实施例中,封装在媒体轨道中的纹理图和深度图如果采用如AVS2、AVC、HEVC等视频编码方式时,若存在对自由视角视频的编码信息进行扩展或补充,此类扩展/补充的编码信息可以直接存放在媒体轨道的采样中,也可以通过定义自由视角扩展的数据盒包含在MediaInformationBox或VisualSampleEntry(在ISO/IEC 14496-12)中包含来描述具体的扩展/补充编码信息或其他参数信息,示出了两种具体示例。
示例1:
单轨道封装的自由视角视频的媒体轨道,使用一个采样入口VisualSampleEntry,其中,该采样入口VisualSampleEntry包含两个数据盒,分别为自由视角信息数据盒FreeViewExtInfoBox和载荷信息数据盒PayloadInfoBox。
自由视角信息数据盒FreeViewExtInfoBox描述媒体轨道中自由视角视频数据对应的原始采集装置信息,视角与采集装置对应,即可将相机信息看作视角的信息。具体的语法语义如下:
荷信息数据盒PayloadInfoBox描述媒体轨道中自由视角视频中原始相机/视角所对应的纹理图信息TextureInfostruct()和深度图信息DepthInfostruct()。具体的语法语义如下:
/>
示例2:
单轨道封装的自由视角视频的媒体轨道,使用一个采样入口VisualSampleEntry,其中,包含自由视角信息扩展数据盒FreeViewExtInfoBox。自由视角信息扩展数据盒描述媒体轨道中自由视角视频数据对应的原始采集装置信息和原始采集装置对应的纹理图和深度图信息。
其中,texture_in_track,指示该媒体轨道中是否包含纹理图;值为1时,包含纹理图,值为0时,不包含纹理图;
depth_in_track,指示该媒体轨道中是否包含深度图;值为1时,包含深度图,值为0时,不包含深度图;
num_cameras,指示该媒体轨道中深度图或纹理图对应的原始相机数量;
camera_id,指示原始相机的标识;
int_camera_flag,指示原始相机的内参是否表示;值为1时,表示内参,值为0时,不表示内参;内参的语法参考AVS3-P1中的IntCameraInfoStruct()语法语义;
ext_camera_flag,指示原始相机的外参是否表示;值为1时,表示外参,值为0时,不表示外参;外参的语法参考AVS3-P1中的ExtCameraInfoStruct()语法语义;
其中,通过原始相机的内参、外参可描述原始相机信息。同一个原始相机的参数信息只在一个数据盒中进行描述。
texture_info_flag,指示是否包含关于纹理图的描述元数据信息;值为1时,包含元数据信息,值为0时,不包含元数据信息;
depth_info_flag,指示是否包含关于深度图的描述元数据信息;值为1时,包含元数据信息,值为0时,不包含元数据信息;
texture_padding_size;指示纹理图扩边的像素数;
texture_top_left_x,表示相应原始相机对应的纹理图在视频帧平面中的左上角x坐标;
texture_top_left_y,表示相应原始相机对应的纹理图在视频帧平面中的左上角y坐标;
texture_bottom_right_x,表示相应原始相机对应的纹理图在视频帧平面中的右下角x坐标;
texture_bottom_right_y,表示相应原始相机对应的纹理图在视频帧平面中的右下角x坐标;
depth_padding_size;指示深度图扩边的像素数;
depth_top_left_x,表示相应原始相机对应的深度图在视频帧平面中的左上角x坐标;
depth_top_left_y,表示相应原始相机对应的深度图在视频帧平面中的左上角y坐标;
depth_bottom_right_x,表示相应原始相机对应的深度图在视频帧平面中的右下角x坐标;
depth_bottom_right_y,表示相应原始相机对应的深度图在视频帧平面中的右下角x坐标;
depth_range_near,指示深度图量化的距离光心的深度距离最小值;
depth_range_far,指示深度图量化的距离光心的深度距离最大值;
depth_scale_type,指示表示深度图的降采样类型。
需要说明的是,该采样入口VisualSampleEntry包含的自由视角信息数据盒FreeViewExtInfoBox和载荷信息数据盒PayloadInfoBox。
在一实施例中,在自由视角信息数据盒FreeViewExtInfoBox中,包括轨道信息,轨道信息可以包括纹理图所在轨道标识和/或深度图所在轨道标识。
在一实施例中,在自由视角信息数据盒FreeViewExtInfoBox中,包括采集装置的装置信息,装置信息可以包括采集装置数量、采集装置标识、采集装置参数信息。可以理解的是,任何与采集装置设置方式及属性相关的信息,均可作为装置信息封装在自由视角信息数据盒FreeViewExtInfoBox中。
在一实施例中,在载荷信息数据盒PayloadInfoBox,包括纹理图的属性信息和/或深度图的属性信息,纹理图的属性信息可以包括纹理图信息标识、纹理图图像信息等,深度图的属性信息可以包括深度图信息标识、深度图图像信息等。
图9是基于单轨道封装的自由视角视频数据处理流程图,至少包括步骤S1300与步骤S3300。
步骤S1300:终端获取所有原始采集装置采集的纹理图和深度图。
步骤S3300:终端根据目标视角信息,部分解码选择的若干原始采集装置纹理图和深度图,并合成虚拟视点纹理图。
图10是一种多轨道(multi track)封装自由视角视频数据的文件结构图。如图10所示,基于ISO基本媒体文件格式的媒体文件具有多个媒体轨道。每个轨道可以封装一个原始采集装置所采集的纹理图(即纹理图媒体轨道)或深度图(即深度图媒体轨道)。通过多轨道封装结构,可以灵活的获取任意一采集的纹理图或深度图。
深度图可以采用灰度图来表示,其编码效率高、解码复杂度低,可以将多个原始采集装置的多个深度图封装到一个或多个深度图媒体轨道中。同时,多个原始相机的纹理图也可封装到一个或多个纹理图媒体轨道中。
在一实施方式中,根据原始采集装置的纹理图或深度图的图像大小、编码方式等不同,纹理图媒体轨道和深度图媒体轨道对应的原始采集装置数量可以相同,也可以不同。具体而言,当纹理图媒体轨道和深度图媒体轨道对应的原始采集装置数量不同时,m个原始采集装置的纹理图封装在i个纹理图媒体轨道中,对应深度图封装在j个深度图媒体轨道中,其中,i不等于j,并且i小于等于m,j小于m。在另一实施方式中,多个原始采集装置的深度图可存放于一个媒体轨道中,而对应的纹理图放于多个媒体轨道中。
在一实施方式中,原始采集装置根据相机属性如相机部署的位置属性、相机的内参属性、相机对应纹理图或深度图的编码依赖关系等,进行分组,同一组原始采集装置的纹理图或深度图封装在一个媒体轨道中。图11是基于多轨道封装模式扩展的自由视角视频的媒体文件结构图。如图11所示,为基于同类多图的多轨道封装自由视角视频数据的文件结构的一种。
多轨道封装中包括MOOV盒子以及madt盒子,MOOV盒子中容纳有FreeViewExtInfoBox子盒子,封装有媒体的元数据信息;madt盒子通过采样(Sample)的形式封装有自由视角视频数据。
多轨道封装的自由视角视频数据包括多个原始采集装置采集的纹理图和深度图数据,纹理图和深度图数据分别存储在不同媒体轨道中。进一步地,纹理图存储在纹理图媒体轨道,深度图存储在深度图媒体轨道。即纹理图媒体轨道中的每一帧图像包含所有原始采集装置在某一时刻的纹理图(Texture),深度图媒体轨道中的每一帧图像包含所有原始采集装置在某一时刻的深度图(Depth),其中,每一个原始采集装置对应纹理图和深度图关联编解码,即一个采集装置之间的纹理图和深度图数据的编解码存在依赖/映射关系。终端在获取多轨道封装的自由视角视频时,根据用户当前视角即目标视角信息,传输对应的采集装置所采集的纹理图和深度图数据。
终端在获得与目标视角信息对应的自由视角视频数据的媒体文件后,在每一帧图像中选择合成虚拟视点所需的视角邻域的若干原始采集装置的纹理图和深度图进行解码。多轨道封装的纹理图媒体轨道中的每个采样包含某一时刻的原始采集装置采集得到的纹理图,多轨道封装的深度图媒体轨道中的每个采样包含某一时刻的原始采集装置采集得到的深度图。进一步地,还可以通过将采样划分为多个子采样(SubSample),使每个子采样包含一个采集装置对应的纹理图或深度图。更为具体的,通过SampleTableBox或TrackFragmentBox中的SubSampleInformationBox数据盒来描述子样本的信息,子样本的使用需依照子样本信息数据盒中flags字段,flags字段能够标识存储在子样本中的数据类型,其中flags的取值为0纹理图和深度图位于媒体轨道中,具体通过codec_specific_parameters来描述自由视角视频数据对应的每个样本的具体组成结构。
纹理图和深度图分别封装在不同的媒体轨道,即纹理图封装在纹理图媒体轨道、深度图封装在深度图媒体轨道中,虚拟视点合成过程如下:先在确定视角切换后视角的邻域的若干原始采集,并对原始采集的深度图进行处理,再根据原始采集的纹理图和处理后的深度图合成虚拟视点对应的纹理图。
可以理解的是,封装相同原始采集装置的纹理图和深度图的纹理图媒体轨道和深度图媒体轨道之间设置关联/参考/映射关系。以下示出三种具体示列。
示例1:
在ISO/IEC 14494-12中定义的TrackReferenceBox(参考轨道数据盒),可用于媒体轨道间的参考关系,当已定义的参考类型reference_type为‘auxl’或‘vdep’时,描述被关联/参考/映射的媒体轨道的辅助媒体(如深度图)。本实施例直接使用ISO/IEC 14494-12中定义的方法,在深度图媒体轨道中包含TrackReferenceBox,关联/参考/映射到对应相同原始采集装置的纹理图媒体轨道,其中,reference_type为‘auxl’或‘vdep’。通常,‘auxl’用于有解码依赖的参考或关联关系。
示例2:
在ISO/IEC 14494-12中定义的TrackReferenceBox,可用于轨道间的参考关系,通过定义新的参考类型reference_type,描述纹理图媒体轨道关联/参考/映射到深度图媒体轨道。本实施例中,reference_type设置为‘tdrf’,包含该参考类型的TrackReferenceBox的纹理图媒体轨道,将参考或关联到TrackReferenceBox中指示深度图媒体轨道。
示例3:
通过轨道组的方式对纹理图媒体轨道和深度图媒体轨道进行分组,特别适用于深度图媒体轨道对应的原始采集装置和纹理图媒体轨道对应的采集装置不完全对应的情况。例如:多个原始采集装置的深度图存放于一个媒体轨道中,而相应的纹理图存放于多个媒体轨道中。
采用下述方式对轨道组进行分组:将对应相同原始采集装置的纹理图媒体轨道和深度图媒体轨道组成为一个组。通过AttrAndDepGroupBox来表示对应相同原始采集装置的纹理图媒体轨道和深度图媒体轨道的轨道组,该数据盒通过扩展ISO/IEC 14494-12中定义的TrackGroupTypeBox(轨道类型数据盒),其中,track_group_type设置为‘tadg’,具体的语法结构如下:
其中,num_camera,指示媒体轨道组中纹理图对应的原始采集装置的数量;
unequal_flag,指示媒体轨道组中,深度图媒体轨道对应的原始采集装置数量是否与纹理图媒体轨道对应的原始采集装置数量是否相同;为1时,表示对应原始采集装置数量不相同,通常是深度图媒体轨道中对应的原始采集装置多于纹理图媒体轨道中对应的原始采集装置数量;为0时,表示对应原始采集装置数量相同。
camera_id,指示媒体轨道组中,纹理图和深度图对应的相同的原始采集装置的标识。
在一实施方式中,当unequal_flag为1时,一个深度图媒体轨道中可能存在多个相同类型的AttrAndDepGroupBox,但是,具有不同的track_group_id。
在一实施方式中,当自由视角视频采用AVC的MVD方式编码时,可采用ISO/IEC14494-15中定义的盒子类型为“vwid”的视点标识数据盒(ViewIdentifierBox),对每个媒体轨道中所包含原始采集装置对应的视点进行描述,包括视点的标识、视图对应的其他参考视点等信息,还可以通过该数据盒描述该媒体轨道中包含的是纹理图还是深度图,或者两者都包含。
在一实施方式中,当深度图和纹理图在不同的媒体轨道时,深度图媒体轨道和纹理图媒体轨道通过参考类型reference_type为‘deps’的TrackReferenceBox,该数据盒包含在深度图媒体轨道中,关联/参考/映射到对应相同原始采集装置的纹理图媒体轨道。
需要说明的是,该采样入口VisualSampleEntry包含的自由视角信息数据盒AvsFreeViewInfoBox和载荷信息数据盒PayloadInfoBox。
在一实施例中,在自由视角信息数据盒AvsFreeViewInfoBox中,包括轨道信息,轨道信息可以包括纹理图所在轨道标识或深度图所在轨道标识。
在一实施例中,在自由视角信息数据盒AvsFreeViewInfoBox中,包括采集装置的装置信息,装置信息可以包括采集装置数量、采集装置标识、采集装置参数信息。可以理解的是,任何与采集装置设置方式及属性相关的信息,均可作为装置信息封装在自由视角信息数据盒AvsFreeViewInfoBox中。
在一实施例中,在载荷信息数据盒PayloadInfoBox,包括纹理图的属性信息和/或深度图的属性信息,纹理图的属性信息可以包括纹理图信息标识、纹理图图像信息等,深度图的属性信息可以包括深度图信息标识、深度图图像信息等。
需要说明的是,多轨道封装至少具有纹理图媒体轨道和深度图媒体轨道。每一纹理图媒体轨道和深度图媒体轨道的采样入口VisualSampleEntry分别包含的自由视角信息数据盒AvsFreeViewInfoBox和载荷信息数据盒PayloadInfoBox。
图12是基于多轨道封装的自由视角视频数据处理流程图,至少包括步骤S1400与步骤S3400。
步骤S1400:终端根据目标视角信息,终端获取视角邻域的原始采集装置采集的纹理图和深度图。
步骤S3400:终端获取所需的若干原始采集装置的纹理图和深度图所在的一个或多个纹理图媒体轨道和深度图媒体轨道,提取媒体轨道中所需的若干原始采集装置的纹理图和深度图数据,合成虚拟视点的纹理图。
相较于单轨道封装终端需要获取全部采集装置所采集的自由视角视频数据,多轨道封装结构下,终端可以根据目标视角信息,分别在纹理图媒体轨道与深度图媒体轨道选择性获取与目标视角信息对应的纹理图和/或深度图,提高数据的传输与处理效率。
在一些应用场景中,用户在观看自由视角视频时,可以根据自己的需要自主的视角切换,也可以按照导演推荐等方式进行视角切换,即被动的视角切换,此时需要通过定义动态视角的定时元数据,来描述动态变化的视角信息及其对应的原始采集装置信息,即将视角与视频播放时间建立关联,因此,在播放自由视角视频过程中,需要根据某一时刻的推荐视角及其邻域的原始采集装置信息,合成需要呈现的对应视角的内容。定时元数据封装在定时元数据轨道,定时元数据轨道与目标视角对应的所述自由视角视频数据所在的媒体轨道相互关联。
具体而言,动态视角的定时元数据轨道的样本入口类型为‘dyfv’,语法定义如下:
其中,freeview_description,以空字符结尾的字符串,提供自由视角的文本描述信息;
play_camera_id,指示初始播放时视角对应的原始相机的标识,通常不需要合成虚拟视点;
动态视角的定时元数据轨道中每个样本描述具体的视角动态情况,通过自由视角样本格式进行描述。
其中,dynamic_switch_flag,指示样本中的视角是否发生切换,值为1,表示发生视角切换;值为0,表示不发生视角切换,采用前一个样本中的视角;
virtual_camera_flag,指示是否需要合成虚拟视点,值为1,表示需要合成;值为0,表示不需要合成,切换视角直接对应原始相机;
original_camera_num,指示合成虚拟视点的原始相机的数量;
original_camera_id,指示合成虚拟视点的原始相机的标识;
play_camera_id,指示不需要合成虚拟视点,直接播放的原始相机的标识;
FreeViewStruct()描述了自由视角的参数结构。
Freeview_x,Freeview_y,Freeview_y,分别指示自由视角对应到公共参考坐标系的x,y,z轴的坐标值;
grotation_flag,指示是否表述自由视角的旋转,值为1,表述;值为0,不表述;
freeview_yaw,freeview_pitch,freeview_roll,分别指示自由视角相对于公共参考坐标系的旋转角度。
如果在MediaInformationBox或者SampleEntry中存在了原始相机的参数信息,则不需要在样本格式中重复描述,int_camera_flag,ext_camera_flag的值为0。
所述动态视角元数据轨道可以通过引用类型为'cdsc'的轨道引用数据盒(TrackReference Box),关联或参考到一个或者多个包含原始采集装置深度图和/或纹理图的媒体轨道。
采用上述实施例中的导演推荐视角切换方式,可提前根据推荐视角及其邻域的原始相机信息合成好推荐视角对应的内容,降低对终端等装置的数据处理要求,进一步提升视频的处理效率,提升用户的观看体验,扩大自由视角视频的应用场景。
在一些应用场景中,由于原始采集装置的部署位置、原始采集装置的图像采集频率、原始采集装置采集图像的压缩方式等属性不同,用户在自由切换视角过程中,媒体处理时往往存在差异,如同一区域的原始采集装置采集的纹理图和深度图可以合成虚拟视点,非同一区域,如两个房间的原始采集装置采集的纹理图和深度图无法一起合成虚拟视点。因此,在本实施例中,提供了根据原始采集装置的属性对原始采集装置的纹理图媒体轨道和深度图媒体轨道进行分组,将相同属性(如位置属性)的原始采集装置的纹理图媒体轨道和深度图媒体轨道组成为一个轨道组。图13是媒体轨道分组示意图,基于原始相机属性分组的纹理图媒体轨道和深度图媒体轨道的轨道组示例如图13所示。
如图所示,轨道(Track)1至4为纹理图媒体轨道,轨道(Track)5至7为深度图媒体轨道,由于轨道3、4、7之间符合轨道分组的预设条件,轨道1、2、5、6之间符合轨道分组的预设条件,因此将轨道3、4、7作为一个媒体轨道组,轨道1、2、5、6作为一个媒体轨道组。当终端请求自由视角视频数据时,一个媒体轨道组的数据被统一传输,因此终端能够有针对性地获得对应于目标视角的图像数据,并有针对性地对一组数据进行处理。
在一实施例中,通过CamAttrGroupBox来表示基于原始采集装置属性的纹理图媒体轨道和深度图媒体轨道的轨道组,该数据盒通过扩展ISO/IEC 14494-12中定义的TrackGroupTypeBox,其中,track_group_type设置为‘caag’,具体的语法结构如下:
其中,group_description,以空字符结尾的字符串,提供基于原始采集装置属性分组的文本描述信息;
num_camera,指示媒体轨道组中纹理图对应的原始采集装置的数量;
camera_id,指示轨道组中对应原始采集装置的标识;
在一实施例中,通过扩展ISO/IEC 14494-12中定义的EntityToGroupBox来描述基于原始采集装置属性的纹理图媒体轨道和深度图媒体轨道的轨道组。其中,分组类型grouping_type设置为'caeg',具体的语法结构如下:
在一实施例中,基于原始相机属性等因素的分组,可以是只对深度图媒体轨道的分组,也可以只是对纹理图媒体轨道分组,也可以是对纹理图和对应的深度图媒体轨道一起分组。
在另一实施例中,当只对深度图媒体轨道或纹理图媒体轨道分组时,通过深度图媒体轨道与纹理图媒体轨道之间的关联关系,也可以达到类似效果。
图14是本申请一实施例提供的一种数据处理装置结构示意图。如图14所示,本申请实施例提供的数据处理装置应用于终端,可以执行本申请实施例提供的数据处理方法,终端具备执行方法相应的功能模块和技术效果。该装置可以通过软件、硬件或者软硬结合的方式实现,包括:获取模块700、封装模块800、处理模块900。
获取模块700,设置为获取自由视角视频数据。
在一实施方式中,获取模块700还设置为获取目标视角信息。
封装模块800,设置为将纹理图封装在媒体轨道。
在一实施方式中,封装模块800,设置为将采集装置采集的纹理图封装在一个媒体轨道。
在一实施方式中,封装模块800,设置为将采集装置采集的纹理图封装在多个媒体轨道。
在一实施方式中,封装模块800,设置为将采集装置采集的深度图封装在一个媒体轨道。
在一实施方式中,封装模块800,设置为将采集装置采集的深度图封装在多个媒体轨道。
在一实施方式中,封装模块800,设置为将采集装置采集的纹理图和深度图封装在一个媒体轨道。
在一实施方式中,封装模块800,设置为将采集装置采集的纹理图和深度图封装在多个媒体轨道。
处理模块900,设置为根据目标视角信息处理自由视角视频数据。
在一实施方式中,处理模块900用于解码/解封装请求的自由视角视频数据,再根据目标视角信息获取对应的自由视频视角数据,并进行处理,如提取真实视点对应的纹理图或者合同虚拟视点对应的纹理图。进一步地,用于解码/解封装请求的自由视角视频的媒体文件或者处理后的媒体数据,再根据请求的媒体文件及用户切换视角后的观看的位置、观看方向提取相应的自由视角视频数据,然后进行媒体处理。
图15是本申请一实施例提供的一种数据处理装置结构示意图。如图15所示,数据处理装置还包括显示模块1000,设置为根据处理模块处理后的自由视频数据显示图像。即根据处理模块900的处理结果,将当前视角对应的真实视点的纹理图呈现给用户,或将当前视角对应的虚拟视点的纹理图进行呈现给用户。
图16是本申请一实施例提供的一种数据处理装置结构示意图。如图16所示,数据处理装置还包括发送模块1100,设置为向服务器发送数据请求。
在一实施方式中,发送模块1100还设置为向服务器发送目标视角信息。
需要说明的是,数据处理装置可以不设置封装模块800,而设置存储模块1200。图**是本申请一实施例提供的一种数据处理装置结构示意图。如图**所示,获取模块700、处理模块900、存储模块1200。获取模块700、处理模块900作用与前述实施例相同,在此不赘述。存储模块1200设置为存储封装的自由视角视频数据的媒体文件。
图17是本申请一实施例提供的一种数据处理装置结构示意图。如图17所示,本申请实施例提供的数据处理装置应用于媒体服务器,可以执行本申请实施例提供的数据处理方法,服务器具备执行方法相应的功能模块和技术效果。该装置可以通过软件、硬件或者软硬结合的方式实现,包括:传输模块1300、运算模块1400、储存模块1500。
传输模块1300,设置为接收终端的请求消息,并根据请求信息发送目标视角信息处理自由视角视频数据。具体地,发送储存模块1500储存的媒体文件、或经运算模块1400处理后的媒体数据。上述的接收或发送可以通过通信供应商提供的无线网络、本地组建的无线局域网络、或者有线方式来实现;
运算模块1400,设置为根据请求消息,从储存模块1500获取所需的媒体文件,从媒体文件中提取对应的自由视角视频数据进行运算处理。
储存模块1500,设置为储存封装的自由视角视频数据的媒体文件。
图18是本申请一实施例提供的一种数据处理设备结构示意图。如图18所示,该设备包括存储器1600、处理器1700、通信装置1800。存储器1600、处理器1700的数量可以是一个或多个,图16中以一个存储器1600和一个处理器1700为例;设备中的存储器1600和处理器1700可以通过总线或其他方式连接,图16中以通过总线连接为例。
存储器1600作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任一实施例提供的资源确定方法对应的程序指令/模块。处理器1700通过运行存储在存储器1600中的软件程序、指令以及模块实现上述数据处理方法。
存储器1600可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序。此外,存储器1600可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件或其他非易失性固态存储器件。在一些实例中,存储器1600可进一步包括相对于处理器1700远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信装置1800设置为根据处理器1700的控制进行信息收发通信。
在一实施例中,通信装置1800包括接收器1810、发送器1820。接收器1810为电子设备中进行数据接收的模块或器件组合。发送器1820为电子设备中进行数据发送的模块或器件组合。
图19是本申请一实施例提供的一种数据处理设备结构示意图。如图19所示,在一实施例中,数据处理设备还可以包括输入装置1400、输出装置1500。
输入装置1900可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的案件信号输入。输出装置2000可包括显示屏等显示设备。
本申请一实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,该计算机可执行指令用于执行如本申请任一实施例提供的数据处理方法。
本申请一实施例还提供了一种计算机程序产品,包括计算机程序或计算机指令,该计算机程序或计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取计算机程序或计算机指令,处理器执行计算机程序或计算机指令,使得计算机设备执行如本申请任一实施例提供的数据处理方法。
本申请实施例描述的系统架构以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着系统架构的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程或执行线程中,部件可位于一个计算机上或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自于自与本地系统、分布式系统或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地或远程进程来通信。
以上参照附图说明了本申请的一些实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本申请的权利范围之内。

Claims (27)

1.一种数据处理方法,其特征在于,所述方法包括:
获取自由视角视频数据,其中,所述自由视角视频数据包括至少一个纹理图和/或深度图;
将所述至少一个纹理图和/或深度图封装在至少一个媒体轨道;
根据目标视角信息处理所述自由视角视频数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述至少一个纹理图和/或深度图封装在至少一个媒体轨道,包括:
将采集装置采集的所述至少一个纹理图和/或深度图封装在至少一个媒体轨道。
3.根据权利要求2所述的方法,其特征在于,所述将采集装置采集的所述至少一个纹理图和/或深度图封装在至少一个媒体轨道,包括:
所述至少一个采集装置采集的纹理图和/或深度图封装在第一媒体轨道。
4.根据权利要求3所述的方法,其特征在于,
所述第一媒体轨道的样本包括至少一个子样本;
所述子样本包括所述纹理图和/或深度图。
5.根据权利要求4所述的方法,其特征在于,所述子样本包括所述纹理图和/或深度图,至少包括以下之一:
所述子样本包括由多个所述采集装置采集的纹理图和深度图;
所述子样本包括由一个所述采集装置采集的纹理图和/或深度图。
6.根据权利要求2所述的方法,其特征在于,所述将采集装置采集的所述至少一个纹理图和/或深度图封装在至少一个媒体轨道,包括:
所述至少一个采集装置采集的纹理图封装在至少一个纹理图媒体轨道;
所述至少一个采集装置采集的深度图封装在至少一个深度图媒体轨道。
7.根据权利要求3所述方法,其特征在于,
所述第一媒体轨道的样本入口包括第一数据盒和/或第二数据盒;
所述第一数据盒包括所述采集装置的装置信息;
所述第二数据盒包括所述纹理图和/或深度图的属性信息。
8.根据权利要求6所述方法,其特征在于,
所述纹理图媒体轨道的样本入口包括第一纹理图数据盒;
所述深度图媒体轨道的样本入口包括第一深度图数据盒;
所述第一纹理图数据盒包括与所述纹理图媒体轨道对应的采集装置的装置信息或纹理图的属性信息;
所述第一深度图数据盒包括与所述深度图媒体轨道对应的采集装置的装置信息或深度图的属性信息。
9.根据权利要求8所述方法,其特征在于,
所述纹理图媒体轨道的样本入口还包括第二纹理图数据盒;
所述深度图媒体轨道的样本入口还包括第二深度图数据盒;
所述第二纹理图数据盒包括与所述纹理图媒体轨道对应的采集装置的装置信息或纹理图的属性信息;
所述第二深度图数据盒包括与所述深度图媒体轨道对应的采集装置的装置信息或深度图的属性信息;
其中,所述第一纹理图数据盒与所述第二纹理图数据盒包含的信息不同,所述第一深度图数据盒与所述第二深度图数据盒包含的信息不同。
10.根据权利要求7所述方法,其特征在于,
所述第一数据盒还包括轨道信息;
所述轨道信息至少包括以下之一:纹理图所在轨道标识、深度图所在轨道标识。
11.根据权利要求8所述方法,其特征在于,
所述第一纹理图数据盒还包括纹理图所在轨道标识;
所述第一深度图数据盒还包括深度图所在轨道标识。
12.根据权利要求7至11任一项所述方法,其特征在于,
所述采集装置的装置信息至少包括以下之一:采集装置数量、采集装置标识、采集装置参数信息;
所述纹理图的属性信息至少包括以下之一:纹理图信息标识、纹理图图像信息;
所述深度图的属性信息至少包括以下之一:深度图信息标识、深度图图像信息。
13.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取目标视角信息;
所述获取自由视角视频数据,包括:
根据目标视角信息,获取与目标视角对应的自由视角视频数据。
14.根据权利要求13所述的方法,其特征在于,
根据所述目标视角信息,获取与目标视角对应的自由视角视频数据,包括:
根据所述目标视角信息,获取与所述目标视角对应的纹理图和/或深度图。
15.根据权利要求13或14所述的方法,其特征在于,
所述获取目标视角信息,包括根据定时元数据轨道,获取目标视角信息,其中,所述目标视角根据所述定时元数据轨道的指示动态变化。
16.根据权利要求1或13所述的方法,其特征在于,
所述目标视角信息至少包括以下之一:采集装置标识、采集装置参数信息、目标视角位置信息、目标视角旋转信息、目标视角标识。
17.根据权利要求15所述的方法,其特征在于,
所述定时元数据轨道与所述目标视角对应的所述自由视角视频数据所在的媒体轨道关联。
18.根据权利要求1所述的方法,其特征在于,所述根据所述目标视角信息处理所述自由视角视频数据包括:
根据所述自由视角视频数据和所述目标视角信息选择所述目标视角所对应的采集装置采集的纹理图和深度图,合成所述目标视角所对应的纹理图;
或者,
根据所述自由视角视频数据和所述目标视角信息选择所述目标视角所对应的采集装置采集的纹理图。
19.根据权利要求5所述的方法,其特征在于,所述方法还包括至少以下之一:
通过第三数据盒将所述纹理图媒体轨道和所述深度图媒体轨道建立关联;
通过第四数据盒将所述深度图媒体轨道和所述纹理图媒体轨道建立关联;
通过第五数据盒将所述深度图媒体轨道和所述纹理图媒体轨道以轨道组的方式建立关联。
20.根据权利要求19所述的方法,其特征在于,所述方法还包括:
根据预设的信息,将所述媒体轨道封装为媒体轨道组;
所述预设的信息至少包括以下之一:采集装置的位置、采集装置的标识、图像采集频率、编码方式。
21.根据权利要求20所述的方法,其特征在于,所述根据预设的信息,将所述媒体轨道封装为媒体轨道组至少包括以下之一:
根据预设的信息,将所述至少两个纹理图媒体轨道封装为第一媒体轨道组;
根据预设的信息,将所述至少两个深度图媒体轨道封装为第二媒体轨道组;
根据预设的信息,将所述至少一个纹理图媒体轨道和所述至少一个深度图媒体轨道封装为第三媒体轨道组。
22.一种图像显示装置,其特征在于,包括:
获取模块,设置为获取自由视角视频数据、目标视角信息,其中,所述自由视角视频数据包括至少一个采集装置采集的纹理图和/或深度图;
封装模块,设置为将所述至少一个纹理图和/或深度图封装在至少一个媒体轨道;
处理模块,设置为根据所述目标视角信息处理所述自由视角视频数据。
23.根据权利要求22所述的装置,其特征在于,所述至少一个纹理图和/或深度图封装在至少一个媒体轨道,包括:
将采集装置采集的所述至少一个纹理图和/或深度图封装在至少一个媒体轨道。
24.根据权利要求23所述的装置,其特征在于,所述将采集装置采集的所述至少一个纹理图和/或深度图封装在至少一个媒体轨道,包括:
所述至少一个采集装置采集的纹理图封装在至少一个纹理图媒体轨道;
所述至少一个采集装置采集的深度图封装在至少一个深度图媒体轨道。
25.一种图像显示装置,其特征在于,包括:
获取模块,设置为获取自由视角视频数据、目标视角信息,其中,所述自由视角视频数据包括至少一个纹理图和/或深度图;
存储模块,设置为存储封装的自由视角视频数据;
处理模块,设置为根据所述目标视角信息处理所述自由视角视频数据。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行如权利要求1至21中任意一项所述的数据处理方法。
27.一种计算机程序产品,包括计算机程序或计算机指令,其特征在于,所述计算机程序或所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机程序或所述计算机指令,所述处理器执行所述计算机程序或所述计算机指令,使得所述计算机设备执行如权利要求1至21任意一项所述的数据处理方法。
CN202210249027.9A 2022-03-14 2022-03-14 数据处理方法、装置、设备、存储介质及程序产品 Pending CN116800987A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210249027.9A CN116800987A (zh) 2022-03-14 2022-03-14 数据处理方法、装置、设备、存储介质及程序产品
PCT/CN2023/079080 WO2023174059A1 (zh) 2022-03-14 2023-03-01 数据处理方法、装置、设备、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210249027.9A CN116800987A (zh) 2022-03-14 2022-03-14 数据处理方法、装置、设备、存储介质及程序产品

Publications (1)

Publication Number Publication Date
CN116800987A true CN116800987A (zh) 2023-09-22

Family

ID=88022330

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210249027.9A Pending CN116800987A (zh) 2022-03-14 2022-03-14 数据处理方法、装置、设备、存储介质及程序产品

Country Status (2)

Country Link
CN (1) CN116800987A (zh)
WO (1) WO2023174059A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110876051B (zh) * 2018-08-29 2023-04-11 中兴通讯股份有限公司 视频数据的处理,传输方法及装置,视频数据的处理系统
US20220247991A1 (en) * 2019-06-28 2022-08-04 Sony Group Corporation Information processing apparatus, information processing method, reproduction processing device, and reproduction processing method
CN113542907B (zh) * 2020-04-16 2022-09-23 上海交通大学 多媒体数据收发方法、系统、处理器和播放器
CN113949829B (zh) * 2021-10-15 2022-09-20 腾讯科技(深圳)有限公司 媒体文件封装及解封装方法、装置、设备及存储介质
CN114095737B (zh) * 2021-11-29 2023-03-31 腾讯科技(深圳)有限公司 媒体文件封装及解封装方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2023174059A1 (zh) 2023-09-21

Similar Documents

Publication Publication Date Title
CN109076255B (zh) 发送、接收360度视频的方法及设备
US11765407B2 (en) Method, device, and computer program for transmitting media content
US11272159B2 (en) Method and device for transmitting stereo media content
CN108702528B (zh) 发送360视频的方法、接收360视频的方法、发送360视频的设备和接收360视频的设备
CN110800311B (zh) 用于传输媒体内容的方法、装置和计算机程序
CN112534825B (zh) 封装方法、生成图像的方法、计算装置和可读存储介质
CN109691094A (zh) 发送全向视频的方法、接收全向视频的方法、发送全向视频的装置和接收全向视频的装置
CN109644262A (zh) 发送全向视频的方法、接收全向视频的方法、发送全向视频的装置和接收全向视频的装置
CN110876051B (zh) 视频数据的处理,传输方法及装置,视频数据的处理系统
WO2018171750A1 (en) Method and apparatus for track composition
CN116800987A (zh) 数据处理方法、装置、设备、存储介质及程序产品
CN114556962B (zh) 多视点视频处理方法和装置
EP3829166A1 (en) A method and apparatus for decoding a 3d video
CN117255233A (zh) 媒体信息处理方法、媒体信息播放方法、装置及存储介质
CN117082262A (zh) 点云文件封装与解封装方法、装置、设备及存储介质
CN115883871A (zh) 媒体文件封装与解封装方法、装置、设备及存储介质
CN115733576A (zh) 点云媒体文件的封装与解封装方法、装置及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication