CN116643644A - 一种沉浸媒体的数据处理方法、装置、设备及存储介质 - Google Patents
一种沉浸媒体的数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116643644A CN116643644A CN202210139135.0A CN202210139135A CN116643644A CN 116643644 A CN116643644 A CN 116643644A CN 202210139135 A CN202210139135 A CN 202210139135A CN 116643644 A CN116643644 A CN 116643644A
- Authority
- CN
- China
- Prior art keywords
- range
- angle
- freeview
- immersion medium
- video
- 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
Links
- 238000007654 immersion Methods 0.000 title claims abstract description 354
- 238000003672 processing method Methods 0.000 title claims abstract description 35
- 238000003860 storage Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 83
- 238000012545 processing Methods 0.000 claims description 66
- 230000005540 biological transmission Effects 0.000 claims description 56
- 230000011664 signaling Effects 0.000 claims description 48
- 230000008569 process Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 25
- 230000003044 adaptive effect Effects 0.000 claims description 16
- 230000006978 adaptation Effects 0.000 claims description 15
- 230000000007 visual effect Effects 0.000 claims description 15
- 239000012634 fragment Substances 0.000 claims description 13
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 8
- 238000004519 manufacturing process Methods 0.000 description 30
- 238000009877 rendering Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 11
- 230000009286 beneficial effect Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000005538 encapsulation Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 5
- 238000007667 floating Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 241000209094 Oryza Species 0.000 description 2
- 235000007164 Oryza sativa Nutrition 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 235000009566 rice Nutrition 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000012092 media component Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
本申请实施例公开了一种沉浸媒体的数据处理方法、装置、设备及存储介质。其中方法包括:获取沉浸媒体的媒体文件,媒体文件中包含自由视角视频的呈现指示信息,呈现指示信息包括自由视角视频的观看内容范围的指示信息,按照自由视角视频的呈现指示信息,显示自由视角视频。可见,通过在呈现指示信息中增加自由视角视频的观看内容范围的指示信息,可以对自由视角视频的观看内容范围进行指示,引导观看者在指示的范围内合理调整观看视角,获得较佳的观看效果。
Description
技术领域
本申请涉及计算机技术领域,具体涉及虚拟现实(Virtual Reality,VR)技术领域,尤其涉及一种沉浸媒体的数据处理方法、一种沉浸媒体的数据处理装置、一种计算机设备及一种计算机可读存储介质。
背景技术
自由视角视频是一种基于一个或多个相机采集的图像数据生成的、包含不同视角且支持观看者多自由度交互的沉浸媒体。自由视角视频的呈现需要根据自由视角视频的呈现指示信息来对相机采集的图像数据进行渲染实现;但是实践发现,现有技术中自由视角视频的呈现指示信息存在指示不完全的问题。
发明内容
本申请实施例提供一种沉浸媒体的数据处理方法、装置、设备及存储介质,可对自由视角视频的观看内容范围进行指示。
一方面,本申请实施例提供一种沉浸媒体的数据处理方法,包括:
获取沉浸媒体的媒体文件,媒体文件中包含自由视角视频的呈现指示信息,呈现指示信息包括自由视角视频的观看内容范围的指示信息;
按照自由视角视频的呈现指示信息,显示自由视角视频。
一方面,本申请实施例提供一种沉浸媒体的数据处理方法,包括:
获取一个或多个相机采集的图像数据,并将图像数据编码为自由视角视频;
根据自由视角视频的应用形式为自由视角视频添加呈现指示信息;自由视角视频的呈现指示信息包含自由视角视频的观看内容范围的指示信息;
将自由视角视频和自由视角视频的呈现指示信息封装为沉浸媒体的媒体文件。
一方面,本申请实施例提供一种沉浸媒体的数据处理装置,包括:
获取单元,用于获取沉浸媒体的媒体文件,媒体文件中包含自由视角视频的呈现指示信息,呈现指示信息包括自由视角视频的观看内容范围的指示信息;
处理单元,用于按照自由视角视频的呈现指示信息,显示自由视角视频。
一方面,本申请实施例提供一种沉浸媒体的数据处理装置,包括:
获取单元,用于获取一个或多个相机采集的图像数据,并将图像数据编码为自由视角视频;
处理单元,用于根据自由视角视频的应用形式为自由视角视频添加呈现指示信息;自由视角视频的呈现指示信息包含自由视角视频的观看内容范围的指示信息;
以及用于将自由视角视频和自由视角视频的呈现指示信息封装为沉浸媒体的媒体文件。
相应地,本申请提供了一种计算机设备,该设备包括:
处理器,用于加载并执行计算机程序;
计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时,实现上述沉浸媒体的数据处理方法。
相应地,本申请提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行上述沉浸媒体的数据处理方法。
相应地,本申请提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述沉浸媒体的数据处理方法。
本申请实施例中,获取沉浸媒体的媒体文件,媒体文件中包含自由视角视频的呈现指示信息,呈现指示信息包括自由视角视频的观看内容范围的指示信息,按照自由视角视频的呈现指示信息,显示自由视角视频。可见,通过在呈现指示信息中增加自由视角视频的观看内容范围的指示信息,可以对自由视角视频的观看内容范围进行指示,引导观看者在指示的范围内合理调整观看视角,获得较佳的观看效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a示出了本申请一个示例性实施例提供的6DoF的示意图;
图1b示出了本申请一个示例性实施例提供的3DoF的示意图;
图1c示出了本申请一个示例性实施例提供的3DoF+的示意图;
图1d示出了本申请一个示例性实施例提供的一种沉浸媒体从采集到被消费流程示意图;
图1e示出了本申请一个示例性实施例提供的一种自由视角视频数据表达方式示意图;
图2示出了本申请一个示例性实施例提供的一种沉浸媒体的数据处理方法的流程图;
图3示出了本申请一个示例性实施例提供的另一种沉浸媒体的数据处理方法的流程图;
图4示出了本申请一个示例性实施例提供的一种沉浸媒体的数据处理装置的结构示意图;
图5示出了本申请一个示例性实施例提供的另一种沉浸媒体的数据处理装置的结构示意图;
图6示出了本申请一个示例性实施例提供的一种内容消费设备的结构示意图;
图7示出了本申请一个示例性实施例提供的一种内容制作设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面对本申请实施例涉及的一些技术术语进行介绍:
一、沉浸媒体:
沉浸媒体是指能够提供沉浸式的媒体内容,使沉浸于该媒体内容中的观看者能够获得现实世界中视觉、听觉等感官体验的媒体文件。沉浸式媒体按照观看者在消费媒体内容时的自由度,可以分为:6DoF(Degree of Freedom)沉浸媒体,3DoF沉浸媒体,3DoF+沉浸媒体。
二、自由视角视频:
自由视角视频也称为多视角视频,是一种基于多个相机采集的图像数据生成的、包含不同视角且支持观看者多自由度交互的沉浸媒体;例如:若某自由视角视频支持3DoF+交互,则该自由视角视频是一种3DoF+沉浸媒体。再如:若某自由视角视频支持6DoF交互,则该自由视角视频是一种6DoF沉浸媒体。
三、轨道(Track):
轨道是媒体文件封装过程中的媒体数据集合,一个媒体文件可由一个或多个轨道组成,例如常见的:一个媒体文件可以包含一个视频轨道、一个音频轨道及一个字幕轨道。
四、样本(Sample):
样本是媒体文件封装过程中的封装单位,一个轨道由很多个样本组成,例如:一个视频轨道可以由很多个样本组成,一个样本通常为一个视频帧。
五、DoF(Degree of Freedom,自由度):
本申请中DoF是指观看者在观看沉浸媒体(如自由视角视频)时支持的运动并产生内容交互的自由度,可以包括3DoF(三自由度)、3DoF+和6DoF(六自由度)。其中,3DoF是指观看者头部围绕x、y、z轴旋转的三种自由度。3DoF+是在三自由度的基础上,观看者还拥有沿x、y、z轴有限运动的自由度。6DoF是在三自由度的基础上,观看者还拥有沿x、y、z轴自由运动的自由度。
六、ISOBMFF(ISO Based Media File Format,基于ISO标准的媒体文件格式):是媒体文件的封装标准,较为典型的ISOBMFF文件即为MP4文件。
七、DASH(Dynamic Adaptive Streaming over HTTP,基于HTTP的动态自适应流):是一种自适应比特率技术,使高质量流媒体可以通过传统的HTTP网络服务器在互联网传递。
八、MPD(Media Presentation Description,DASH中的媒体演示描述信令),用于描述媒体文件中的媒体片段信息。
九、表示层级(Representation):是指DASH中一个或多个媒体成分的组合,比如某种分辨率的视频文件可以看做一个Representation。
十、自适应集层级(Adaptation Sets):是指DASH中一个或多个视频流的集合,一个Adaptation Sets中可以包含多个Representation。
本申请实施例涉及沉浸媒体的数据处理技术,下面将对沉浸媒体的数据处理过程中的一些概念进行介绍,特别说明的是,本申请后续实施例中均以沉浸媒体为自由视角视频为例进行说明。
图1a示出了本申请一个示例性实施例提供的6DoF的示意图;6DoF分为窗口6DoF、全方向6DoF和6DoF,其中,窗口6DoF是指沉浸媒体的观看者在X轴、Y轴的旋转移动受限,以及在Z轴的平移受限;例如,沉浸媒体的观看者不能够看到窗户框架外的景象,以及沉浸媒体的观看者无法穿过窗户。全方向6DoF是指沉浸媒体的观看者在X轴、Y轴和Z轴的旋转移动受限,例如,沉浸媒体的观看者在受限的移动区域中不能自由的穿过三维的360度VR内容。6DoF是指沉浸媒体的观看者可以沿着X轴、Y轴、Z轴自由平移,例如,沉浸媒体的观看者可以在三维的360度VR内容中自由的走动。与6DoF相类似的,还有3DoF和3DoF+制作技术。图1b示出了本申请一个示例性实施例提供的3DoF的示意图;如图1b所示,3DoF是指沉浸媒体的观看者在一个三维空间的中心点固定,沉浸媒体的观看者头部沿着X轴、Y轴和Z轴旋转来观看媒体内容提供的画面。图1c示出了本申请一个示例性实施例提供的3DoF+的示意图,如图1c所示,3DoF+是指当沉浸媒体提供的虚拟场景具有一定的深度信息,沉浸媒体的观看者头部可以基于3DoF在一个有限的空间内移动来观看媒体内容提供的画面。
图1d示出了本申请一个示例性实施例提供的一种沉浸媒体从采集到被消费流程示意图;如图1d所示,沉浸媒体从采集到被消费流程包括:
(1)视频采集:自由视角视频通常由多个相机组成的相机阵列从多个角度对同一三维场景进行拍摄,形成场景的纹理信息(色彩信息等)和深度信息(空间距离信息等),内容制作设备根据自由视角视频中各个虚拟视角位置信息,并结合来源于不同相机的纹理信息和深度信息,即可构成沉浸媒体的观看者侧消费的沉浸媒体(如3DoF沉浸媒体、3DoF+沉浸媒体或者6DoF沉浸媒体等)。
(2)在得到沉浸媒体后,内容制作设备对沉浸媒体进行压缩编码,得到自由视角视频;例如,内容制作设备可以通过AVS3编码技术、HEVC编码技术等对沉浸媒体进行压缩编码,得到自由视角视频。
(3)在得到自由视角视频后,内容制作设备对自由视角视频中的数据流进行封装。具体来说,内容制作设备将音频码流和视频码流按照沉浸媒体的文件格式(如ISOBMFF(ISOBase Media File Format,国际标准化组织基媒体文件格式))封装在文件容器中形成沉浸媒体的媒体文件资源,该媒体文件资源可以是媒体文件或媒体片段形成沉浸媒体的媒体文件;并按照沉浸媒体的文件格式要求采用媒体呈现描述信息(Media presentationdescription,MPD)记录该沉浸媒体的媒体文件资源的元数据,此处的元数据是对与沉浸媒体的呈现有关的信息的总称,该元数据可包括对媒体内容的描述信息、对视窗的描述信息以及对媒体内容呈现相关的信令信息等等。
(4)内容制作设备将自由视角视频的封装文件传输给内容消费设备。该传输过程可以基于各种传输协议来进行,此处的传输协议可包括但不限于:DASH(Dynamic AdaptiveStreaming over HTTP,动态自适应流媒体传输)协议、HLS(HTTP Live Streaming,动态码率自适应传输)协议、SMTP(Smart Media TransportProtocol,智能媒体传输协议)、TCP(Transmission Control Protocol,传输控制协议)等。
(5)内容消费设备在获取到内容制作设备提供的自由视角视频的封装文件后对自由视角视频的封装文件进行解封装处理。内容消费设备端的文件解封装的过程与内容制作设备端的文件封装过程是相逆的,内容消费设备按照沉浸媒体的文件格式要求对媒体文件资源进行解封装,得到音频码流和视频码流。
(6)在自由视角视频的封装文件完成解封装后,内容消费设备对自由视角视频进行解码处理,得到沉浸媒体。内容消费设备对视频码流的解码过程包括如下:①对视频码流进行解码,得到平面的投影图像。②根据媒体呈现描述信息将投影图像进行重建处理以转换为3D图像,此处的重建处理是指将二维的投影图像重新投影至3D空间中的处理。
(7)内容消费设备根据沉浸媒体的观看者在观看时的虚拟视角呈现对应的沉浸媒体。内容消费设备根据媒体呈现描述信息中与渲染、视窗相关的元数据对音频解码得到的音频内容及视频解码得到的3D图像进行渲染,渲染完成即实现了对该3D图像的播放输出。特别地,如果采用3DoF和3DoF+的制作技术,内容消费设备主要基于当前视点、视差、深度信息等对3D图像进行渲染,如果采用6DoF的制作技术,内容消费设备主要基于当前视点对视窗内的3D图像进行渲染。其中,视点指沉浸媒体的观看者的观看位置点,视差是指沉浸媒体的观看者的双目产生的视线差或由于运动产生的视线差,视窗是指观看区域。
其中,内容制作设备和内容消费设备可以共同组成沉浸媒体系统。内容制作设备可以是指沉浸媒体的提供者(例如沉浸媒体的内容制作者)所使用的计算机设备,该计算机设备可以是终端(如PC(Personal Computer,个人计算机)、智能移动设备(如智能手机)等)或服务器;其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。内容消费设备可以是指沉浸媒体的使用者(例如沉浸媒体的观看者)所使用的计算机设备,该计算机设备可以是终端(如PC(Personal Computer,个人计算机)、智能移动设备(如智能手机)、VR设备(如VR头盔、VR眼镜等)、智能家电、车载终端、飞行器等)。
可以理解的是,本申请涉及沉浸媒体的数据处理技术可以依托于云技术进行实现;例如,将云服务器作为内容制作设备。云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
在实际应用中,自由视角视频数据可以采用不同的方式进行表达。图1e示出了本申请一个示例性实施例提供的一种自由视角视频数据表达方式示意图。如图1e所示,在本申请中,自由视角视频数据是由多相机采集的图像数据以及相应的自由视角视频内容描述元数据构成的,即本申请通过多相机采集的图像数据以及相应的自由视角视频内容描述元数据来表达自由视角视频数据;其中,多相机采集的图像数据包括:多相机采集的纹理图,多相机纹理图所对应的深度图。
在上述自由视角视频数据表达方式下,本申请涉及的沉浸媒体从采集到被消费的流程如下:
(1)对于内容制作设备来说,首先通过多相机矩阵阵列采集得到多相机采集的纹理图和深度图;然后把多相机采集的纹理图信息和对应的深度图信息进行拼接处理;需要说明的是,如自由视角视频在后续消费过程中需要消费背景信息,则还应将背景信息也拼接进图像帧中;接着采用平面视频压缩方式对拼接后的多相机深度图和纹理图信息进行编码;并将上述过程的元数据描述信息封装入视频文件。
(2)对于内容消费设备来说,首先对视频文件进行解封装;再根据元数据信息,从视频文件中解码获得各个相机的深度图和纹理图信息;然后根据自由视角视频应用自身的算法,结合深度图信息和纹理图的信息,合成沉浸媒体的观看者所请求的自由视角虚拟视点。
在实际应用中,内容制作设备可通过数据盒来指导内容消费设备对沉浸媒体的媒体文件进行消费。数据盒是指包括元数据的数据块或对象,即数据盒中包含了相应媒体内容的元数据。沉浸媒体可以包括多个数据盒,例如包括旋转数据盒、覆盖信息数据盒、媒体文件格式数据盒等等。自由视角视频的呈现指示信息可被配置在沉浸媒体的媒体格式数据盒中,例如配置在自由视角数据盒中。在流式传输下,与呈现指示信息对应的描述信息可被配置在沉浸媒体的传输信令文件中,例如配置在自由视角相机描述子中。沉浸媒体的呈现指示信息可以配置在自由视角数据盒(AvsFreeViewInfoBox),内容描述信息和自由视角边界数据盒(AvsFreeViewBoundaryBox)中。依据沉浸媒体的编码标准(如AVS),沉浸媒体的自由视角数据盒(AvsFreeViewInfoBox)的语法可参见下述表1:
表1
上述表1所示语法的语义如下:
在自由视角数据盒(AvsFreeViewInfoBox)中,codec_independency用于指示轨道内各个相机对应的纹理图及深度图之间的编解码独立性,具体指示方式可参考表2:
表2
depth_padding_size用于指示深度图的保护带宽度。texture_padding_size用于指示纹理图的保护带宽度。camera_count用于指示采集自由视角视频的图像数据的所有相机的个数。ExtCameraInfoStruct()用于指示相机的外参信息。IntCameraInfoStruct()指示相机的内参信息。camera_resolution_x用于指示相机采集的纹理图、深度图的分辨率宽度,camera_resolution_y用于指示相机采集的纹理图、深度图的分辨率高度。depth_downsample_factor用于指示深度图降采样的倍数因子,深度图的实际分辨率宽高为相机采集分辨率宽高的1/2depth_downsample_factor。
depth_vetex_x用于指示深度图左上顶点相对于平面帧原点(平面帧的左上顶点)偏移的x分量值,depth_vetex_y用于指示深度图左上顶点相对于平面帧原点(平面帧的左上顶点)偏移的y分量值。texture_vetex_x用于指示纹理图左上顶点相对于平面帧原点(平面帧的左上顶点)偏移的x分量值,texture_vetex_y用于指示纹理图左上顶点相对于平面帧原点(平面帧的左上顶点)偏移y分量值。
在相机外参信息结构(ExtCameraInfoStruct)中,camera_pos_present用于指示相机位置参数是否表述,当该camera_pos_present字段的取值为1时,表示媒体文件中存在相机位置参数;当该camera_pos_present字段的取值为0时,表示媒体文件中不存在摄像机位置参数。camera_ori_present用于指示相机方向参数是否表述。当该camera_ori_present字段的取值为1时,表示媒体文件中存在相机方向参数;当该camera_ori_present字段的取值为0时,表示媒体文件中不存在相机方向参数。
camera_pos_x用于指示全局参考坐标系中以米为单位的相机位置的x坐标,camera_pos_y用于指示全局参考坐标系中以米为单位的相机位置的y坐标,camera_pos_z用于指示全局参考坐标系中以米为单位的相机位置的z坐标;其中,camera_pos_x,camera_pos_y和camera_pos_z的取值以2-16米为单位。
cam_quat_x用于指示相机旋转四元数中的x分量,cam_quat_y用于指示相机旋转四元数中的y分量,cam_quat_z用于指示相机旋转四元数中的z分量。字段cam_quat_x,cam_quat_y和cam_quat_z的取值范围为:[-1,1]范围内的浮点值。当旋转信息各分量缺失时,各分量默认取值为0。各分量的计算规则如下:
qX=cam_quat_x÷230,qY=cam_quat_y÷230,qZ=cam_quat_z÷230
第4个分量qW可按照四元数的数学特性推导得到:
qW=Sqrt(1–(qX2+qY2+qZ2))
四元数(w,x,y,z)代表围绕向量(x,y,z)以角度:
2*cos^{-1}(w)=2*sin^{-1}(sqrt(x^{2}+y^{2}+z^{2}))进行旋转。
在相机内参信息结构(IntCameraInfoStruct)中,camera_id用于指示对应的相机标识符。camera_depth_present用于指示相机深度参数是否表述。当该camera_depth_present字段的取值为1时,表示媒体文件中存在相机深度参数;当该字段的取值为0时,表示媒体文件中不存在相机深度参数。camera_type用于指示相机的投影算法类型。当该camera_depth_present字段的取值为0时,表示投影算法类型为ERP(Equi-RectangularProjection)投影;当该camera_depth_present字段的取值为1时,表示投影算法类型为透视投影;当该camera_depth_present字段的取值为2时,表示投影算法类型为正交投影;当该camera_depth_present字段的取值为3时,表示投影算法类型为自由视角针孔相机模型;当该字段的取值为4时,表示投影算法类型为自由视角鱼眼相机模型;其余取值保留。
其中,erp_horizontal_fov用于指示通过ERP方式投影时,视窗区域水平方向的经度范围,以弧度为单位,该erp_horizontal_fov字段取值范围为(0,2π);erp_vertical_fov用于指示通过ERP方式投影时,视窗区域垂直方向的维度范围,以弧度为单位,该erp_horizontal_fov字段取值范围为(0,π)。
perspective_horizontal_fov用于指示通过透视方式投影时,视窗区域的水平范围,以弧度为单位,该perspective_horizontal_fov字段取值范围为(0,π);perspective_aspect_ratio用于指示通过透视方式投影时,视窗的纵横比例(水平/垂直),该perspective_aspect_ratio字段取值为32位浮点数,解析过程遵循IEEE754标准。
ortho_horizontal_size用于指示通过正交方式投影时,视窗水平方向的尺寸,以米为单位,该ortho_horizontal_size字段取值为32位浮点数,该ortho_horizontal_size字段的解析过程遵循IEEE 754标准;ortho_aspect_ratio用于指示通过正交方式投影时,视窗的纵横比例(水平/垂直),该ortho_aspect_ratio字段取值为32位浮点数,解析过程遵循IEEE 754标准。
camera_focal_length_x用于指示自由视角针孔相机模型的相机焦距x分量,camera_focal_length_y用于指示自由视角针孔相机模型的相机焦距y分量。
camera_principle_point_x用于指示自由视角鱼眼相机模型的相机主光轴在图像坐标系中偏移的x分量,camera_principle_point_y用于指示自由视角鱼眼相机模型的相机主光轴在图像坐标系中偏移的y分量。
camera_near_depth用于指示相机相关联的视锥体的近平面深度(或距离),camera_far_depth用于指示相机相关联的视锥体的远平面深度(或距离);其中,camera_near_depth和camera_far_depth的取值以2-16米为单位。
依据沉浸媒体的编码标准(如AVS),沉浸媒体的内容描述信息的语法可参见下述表3:
表3
/>
上述表3中涉及3DPoint:x,y,z,分别表示笛卡尔坐标系下3D点的x,z,y坐标值;所示语法的语义如下:
长方体区域结构(CuboidRegionStruct):cuboid_dx用于指示笛卡尔坐标系下的长方体子区域相对于锚点的沿x轴的尺寸,cuboid_dy用于指示笛卡尔坐标系下的长方体子区域相对于锚点的沿y轴的尺寸,cuboid_dz用于指示笛卡尔坐标系下的长方体子区域相对于锚点的沿z轴的尺寸。
球体结构(SpheroidStruct):radius_x用于指示笛卡尔坐标系下的球体子区域在x维度上的半径,radius_y用于指示笛卡尔坐标系下的球体子区域在y维度上的半径,radius_z用于指示笛卡尔坐标系下的球体子区域在z维度上的半径。
半球体结构(HalfspaceStruct):normal_x用于指示笛卡尔坐标系下的半球体子区域在x维度上的平面法向,normal_y用于指示笛卡尔坐标系下的半球体子区域在y维度上的平面法向,normal_z用于指示笛卡尔坐标系下的半球体子区域在z维度上的平面法向。distance用于指示从原点沿着法向量到半球体平面方向的距离。
圆柱体结构(CylinderStruct):radius_x用于指示笛卡尔坐标系下的圆柱体子区域在x维度上的半径,radius_y用于指示笛卡尔坐标系下的圆柱体子区域在x维度上的半径,height用于指示笛卡尔坐标系下的圆柱体子区域在z维度上的高。
自由视角边界数据盒(AvsFreeViewBoundaryBox)用于指示自由视角视频场景边界的信息,依据沉浸媒体的编码标准(如AVS),沉浸媒体的自由视角边界数据盒(AvsFreeViewBoundaryBox)的语法可参见下述表4:
表4
/>
上述表4中所示自由视角边界数据盒(AvsFreeViewBoundaryBox)语法的语义如下:
boundary_camera_count用于指示构成自由视角视频场景边界的相机数目。camera_id用于指示构成自由视角视频场景边界的相机的标识符;当边界相机的位置、朝向、视窗区域已经在自由视角数据盒(AvsFreeViewInfoBox)中申明时,仅需通过相机标识符即可确定边界相机的相关信息。boundary_space_present用于指示是否存在额外的场景渲染边界,当该boundary_space_present字段取值为0时,场景渲染边界由边界相机的参数决定,边界相机的拍摄范围构成了场景渲染边界;当该字段取值为1时,场景渲染边界由boundary_space决定,boundary_space用于指示场景边界的范围,boundary_space对应的区域若大于边界相机构成的区域,则超出边界相机拍摄范围的区域由内容消费设备根据边界相机拍摄的内容进行渲染。bounding_space_type用于指示场景边界的类型,该bounding_space_type字段的取值含义如下表5所示:
表5
/>
default_origin_point用于指示场景的原点,当该default_origin_point字段取值为1时,表示场景边界使用坐标原点(0,0,0)作为场景的原点;当该default_origin_point字段取值为0时,表示场景边界使用指定的点作为场景的原点。
boundary_exceeded_switch用于指示当沉浸媒体的观看者观看行为超越场景边界时的处理方法,当该boundary_exceeded_switch字段取值为0时,为沉浸媒体的观看者渲染基于原点,朝向为(0,0,0)的虚拟视窗区域;当该boundary_exceeded_switch字段取值为1时,为沉浸媒体的观看者渲染dest_camera_id对应的相机拍摄的内容区域;当该boundary_exceeded_switch字段取值为2时,为沉浸媒体的观看者渲染基于dest_virtual_camera指定的位置和朝向的虚拟视窗区域。
结合上述表1,表3和表4可知,自由视角视频的呈现指示信息虽然指示了自由视角视频拍摄相机相关的参数信息以及场景边界相关的信息。但是存在无法清楚、有效指示沉浸媒体的观看内容范围的情况。针对上述问题本申请进行了相应改进,并就自由视角视频的具体应用提出了一种新的沉浸媒体的数据处理方法,通过本发明提出的技术,可以指示自由视角视频的观看内容范围,引导观看者在指示的范围内合理观看自由视角视频,获得较佳的观看效果。
本申请中沉浸媒体的数据处理流程如下:
对于内容制作设备来说,一方面,内容制作设备生成自由视角视频位流并将该视频位流封装为媒体文件,根据自由视角视频的应用形式,在自由视角视频文件中添加相应的元数据信息,具体可以包括自由视角视频的观看内容范围的指示信息。
另一方面,若内容制作设备支持流化传输,则将自由视角视频切片为适合流化传输的媒体片段(按照传输标准的规范进行),并生成相应的传输信令,传输信令可用于指示场景边界旋转范围信息。在生成相应的传输信令后,内容制作设备将信令文件传输给内容消费设备。
对于内容消费设备来说,内容消费设备根据应用形式,可以下载完整的沉浸媒体文件后本地播放;也可以与内容制作设备建立流化传输,根据传输信令自适应选择合适的自由视角视频流进行消费。
为支持上述实施流程,本申请在系统层添加了若干描述性字段。下面以扩展ISOBMFF数据盒和DASH信令的形式举例,定义了相关的字段以支持自由视角视频应用;其中,对自由视角数据盒(AvsFreeViewInfoBox)的扩展如下表6:
表6
/>
上述表6相对于表1新增扩展的语法的语义如下:重复相机参数指示字段duplicated_camera_params,当duplicated_camera_params取值为1时,表示自由视角数据盒(AvsFreeViewInfoBox)中各个相机的相机内部信息结构IntCameraInfoStruct,以及相机帧信息结构CameraFrameInfoStruct相同,仅指示一次,且这些参数对所有相机生效;此时IntCameraInfoStruct中的camera_id字段无意义;其中,相机帧信息结构CameraFrameInfoStruct具体可以包括如下字段:camera_resolution_x、camera_resolution_y、depth_downsample_factor、texture_padding_size、depth_padding_size。当duplicated_camera_params取值为0时,表示自由视角数据盒(AvsFreeViewInfoBox)中指示的相机具备不同的相机相关参数。
对自由视角范围数据盒(AvsFreeViewAngleRangeBox)的扩展如下表7:
表7
/>
上述表7中所示自由视角范围数据盒(AvsFreeViewAngleRangeBox)语法的语义如下:
偏航角标志字段yaw_range_flag用于指示沉浸媒体的观看者在观看时的虚拟视角偏航角度;当yaw_range_flag取值为第一设定值(如1)时,表示沉浸媒体的观看者在观看时的虚拟视角的偏航角度受限于偏航角范围字段(rotation_yaw_min,rotation_yaw_max)所指示的偏航角范围;其中,rotation_yaw_min用于指示沉浸媒体的观看者观看偏航角度的最小值、rotation_yaw_max用于指示沉浸媒体的观看者观看偏航角度的最大值,该rotation_yaw_min和rotation_yaw_max以2-16为精度,取值范围为[-180°*216,180°*216–1]。此处的受限是指沉浸媒体的观看者在观看时的虚拟视角的偏航角度变化幅度需要在偏航角范围字段所指示的偏航角范围内。当yaw_range_flag取值为第二设定值(如0)时,表示沉浸媒体的观看者在观看时的虚拟视角偏航角度不受限,范围为[-180°,180°),即表示沉浸媒体的观看者在观看时的虚拟视角的偏航角度可以在[-180°,180°)范围内不受限的变化。
俯仰角标志字段pitch_range_flag用于指示沉浸媒体的观看者在观看时的虚拟视角俯仰角度;当pitch_range_flag取值为第一设定值(如1)时,表示沉浸媒体的观看者在观看时的虚拟视角的俯仰角度受限于俯仰角范围字段(rotation_pitch_min,rotation_pitch_max)所指示的俯仰角范围;其中,rotation_pitch_min用于指示沉浸媒体的观看者观看俯仰角度的最小值、rotation_pitch_max用于指示沉浸媒体的观看者观看俯仰角度的最大值,该rotation_pitch_min和rotation_pitch_max以2-16为精度,取值范围为[-90°*216,90°*216]。此处的受限是指沉浸媒体的观看者在观看时的虚拟视角的俯仰角度变化幅度需要在俯仰角范围字段所指示的俯仰角范围内。当pitch_range_flag取值为第二设定值(如0)时,表示沉浸媒体的观看者在观看时的虚拟视角俯仰角度不受限,范围为[-90°,90°],即表示沉浸媒体的观看者在观看时的虚拟视角的俯仰角度可以在[-90°,90°]范围内不受限的变化。
翻滚角标志字段roll_range_flag用于指示沉浸媒体的观看者在观看时的虚拟视角翻滚角度;当roll_range_flag取值为第一设定值(如1)时,表示沉浸媒体的观看者在观看时的虚拟视角的翻滚角度受限于翻滚角范围字段(rotation_roll_min,rotation_roll_max)所指示的翻滚角范围;其中,rotation_roll_min用于指示沉浸媒体的观看者观看翻滚角度的最小值、rotation_roll_max用于指示沉浸媒体的观看者观看翻滚角度的最大值,该rotation_roll_min和rotation_roll_max以2-16为精度,取值范围为[-180°*216,180°*216–1]。此处的受限是指沉浸媒体的观看者在观看时的虚拟视角的翻滚角度变化幅度需要在翻滚角范围字段所指示的翻滚角范围内。当roll_range_flag取值为第二设定值(如0)时,表示沉浸媒体的观看者在观看时的虚拟视角翻滚角度不受限,范围为[-180°,180°),即表示沉浸媒体的观看者在观看时的虚拟视角的翻滚角度可以在[-180°,180°)范围内不受限的变化。
深度范围标志字段depth_range_flag用于指示沉浸媒体的观看者在观看时的虚拟视角深度;当depth_range_flag取值为第一设定值(如1)时,表示浸媒体的观看者在观看时的虚拟视角深度范围受限于深度范围字段(depth_min、depth_max)所指示的深度范围;其中,depth_min用于指示沉浸媒体的观看者的虚拟视角深度的最小值、depth_max用于指示沉浸媒体的观看者的虚拟视角深度的最大值,该depth_min和depth_max以2-16为精度。此处的受限是指沉浸媒体的观看者在观看时的虚拟视角深度的变化幅度需要在深度范围字段所指示的深度范围内。当depth_range_flag取值为第二设定值(如0)时,表示沉浸媒体的观看者在观看时的虚拟视角深度不受限。
在另一种实施方式中,对自由视角范围数据盒(AvsFreeViewAngleRangeBox)的扩展如下表8:
表8
上述表8中所示,自由视角范围数据盒(AvsFreeViewAngleRangeBox)包含三维旋转四元数,该三维旋转四元数用于指示沉浸媒体的观看者在观看时的虚拟视角的三维旋转范围;该三维旋转四元数包括x分量、y分量和z分量。上述的自由视角范围数据盒包含四元数x分量的范围字段,四元数y分量的范围字段和四元数z分量的范围字段;且语法的语义如下:
四元数x分量的范围字段用于指示三维旋转四元数中x分量的取值范围,四元数x分量的范围字段包含rotation_x_min和rotation_x_max;其中,rotation_x_min用于指示三维旋转四元数(qX,qY,qZ,qW)中x分量的最小取值,rotation_x_max用于指示三维旋转四元数(qX,qY,qZ,qW)中x分量的最大取值。四元数y分量的范围字段用于指示三维旋转四元数中y分量的取值范围,四元数y分量的范围字段包含rotation_y_min和rotation_y_may;其中,rotation_y_min用于指示三维旋转四元数(qY,qY,qZ,qW)中y分量的最小取值,rotation_y_may用于指示三维旋转四元数(qY,qY,qZ,qW)中y分量的最大取值。四元数z分量的范围字段用于指示三维旋转四元数中z分量的取值范围,四元数z分量的范围字段包含rotation_z_min和rotation_z_maz;其中,rotation_z_min用于指示三维旋转四元数(qZ,qY,qZ,qW)中z分量的最小取值,rotation_z_maz用于指示三维旋转四元数(qZ,qY,qZ,qW)中z分量的最大取值。四元数x分量的范围字段,四元数y分量的范围字段和四元数z分量的范围字段以2-30为单位,取值范围为[–230,230]。四元数中w分量可由其余三个分量推导而出:
qW=Sqrt(1–(qX2+qY2+qZ2))
深度范围标志字段depth_range_flag,以及深度范围字段depth_min和depth_max的语义可以参见上述表7,在此不再赘述。
在一个实施例中,自由视角范围数据盒(AvsFreeViewAngleRangeBox)为可选数据盒,当其包含于相应的自由视角视频轨道中时,表示该自由视角视频的沉浸媒体的观看者观看角度受限。反之,则认为沉浸媒体的观看者观看角度不受限。
在另一个实施例中,自由视角范围数据盒(AvsFreeViewAngleRangeBox)还可以包含于自由视角边界数据盒(AvsFreeViewBoundaryBox)中,并采用角度范围标志字段angle_range_flag来控制是否按照自由视角范围数据盒(AvsFreeViewAngleRangeBox)中的指示来呈现自由视角视频,以此来指示该自由视角视频的沉浸媒体的观看者观看角度是否受限。
在再一种实施方式中,除了从观看者观看行为的角度来表达观看内容的受限范围之外,还可以结合内容本身的场景边界的信息来表达观看内容的受限范围。对自由视角范围数据盒(AvsFreeViewAngleRangeBox)的扩展如下表9:
表9
上述表9中所示自由视角范围数据盒(AvsFreeViewAngleRangeBox)语法的语义如下:
矢量原点字段vector_origin_point用于指示边界区域底面的中心点坐标。矢量终点字段vector_end_point用于指示边界区域底面目标点的坐标,该目标点可以是边界区域底面的边缘上的任一点。偏航角范围字段angle_yaw_range用于指示沉浸媒体的观看者的视角角度范围。具体来说,以从矢量原点字段指示的坐标点到矢量终点字段指示的坐标点的向量作为起始向量,按照顺时针旋转偏航角范围字段angle_yaw_range指定的角度范围,得到的部分边界区域即为沉浸媒体的观看者实际可消费到的自由视角内容边界范围。
高度范围标志字段height_range_flag用于指示沉浸媒体的观看者的视角高度。当高度范围标志字段取值为第一设定值(如1)时,表示沉浸媒体的观看者实际可消费的自由视角内容边界在高度上受限于高度范围字段height_range所指示的高度范围;其中,高度范围字段height_range用于指示沉浸媒体的观看者在观看时的虚拟视角的高度的最大值,高度的最小值为当前边界区域底面所在的高度。当高度范围标志字段取值为第二设定值(如0)时,表示沉浸媒体的观看者实际可消费的自由视角内容边界在3DBoundingBoxStruct(详见表3)指示的高度范围内不存在限制。
对自由视角边界数据盒(AvsFreeViewBoundaryBox)的扩展如下表10:
表10
/>
上述表10中所示自由视角边界数据盒(AvsFreeViewBoundaryBox)语法的语义如下:
自由视角边界信息结构(AvsFreeViewBoundaryInfoStruct)用于指示场景边界信息。当角度范围标志字段angle_range_flag的取值为第一设定值(如1)时,表示自由视角视频的观看者观看角度受限;当角度范围标志字段angle_range_flag的取值为第二设定值(如0)时,表示自由视角视频的观看者观看角度不受限。自由视角范围数据盒(AvsFreeViewAngleRangeBox)用于指示沉浸媒体的观看者观看角度受限范围信息,具体可参见上述表7-表9,在此不再赘述。
与自由视角数据盒(AvsFreeViewInfoBox)对应的描述信息被存放于本申请实施例提供的自由视角相机描述子(AvsFreeViewCamInfo)中,自由视角相机描述子(AvsFreeViewCamInfo)为补充(SupplementalProperty)元素,其@schemeIdUri属性为"urn:avs:ims:2018:av3f"。自由视角相机描述子(AvsFreeViewCamInfo)包含在传输信令文件中,该传输信令文件被封装于沉浸媒体的媒体呈现描述文件中的表示层级,或者自适应集层级中;一个自适应集层级中可以包含一个或多个表示层级。当描述信息存在于目标自适应集层级时,用于对目标自适应集层级中所有表示层级进行描述;当描述信息存在于目标表示层级时,用于对目标表示层级进行描述。传输信令文件包含的属性如下表11所示:
表11
/>
/>
其中,O代表对应属性为Optional;CM代表对应属性为Conditional Mandatory;M代表对应属性为Mandatory。扩展后的自由视角相机描述子(AvsFreeViewCamInfo)新增了:AvsFreeViewCam@camera_quat_x、AvsFreeViewCam@camera_quat_y、AvsFreeViewCam@camera_quat_z、AvsFreeViewCam@camera_type、AvsFreeViewCam@erp_horizontal_fov、AvsFreeViewCam@erp_vertical_fov、AvsFreeViewCam@perspective_horizontal_fov、AvsFreeViewCam@perspective_aspect_ratio、AvsFreeViewCam@ortho_aspect_ratio、AvsFreeViewCam@ortho_horizontal_size、AvsFreeViewCam@clipping_near_plane、AvsFreeViewCam@clipping_far_plane、AvsFreeViewCam@camera_principle_point_x、AvsFreeViewCam@camera_principle_point_y、AvsFreeViewCam@camera_group_id、AvsFreeViewCam@boundary_camera_flag及这些元素和属性的相关描述。
与自由视角范围数据盒(AvsFreeViewAngleRangeBox)对应的描述信息被存放于本申请实施例提供的自由视角视频角度范围描述子(AvsFreeViewAngleRange)中,自由视角视频角度范围描述子(AvsFreeViewAngleRange)为补充(SupplementalProperty)元素,其@schemeIdUri属性为"urn:avs:ims:2018:asar"。自由视角视频角度范围描述子(AvsFreeViewAngleRange)包含在传输信令文件中,该传输信令文件被封装于沉浸媒体的媒体呈现描述文件中的表示层级,或者自适应集层级中;一个自适应集层级中可以包含一个或多个表示层级。当描述信息存在于目标自适应集层级时,用于对目标自适应集层级中所有表示层级进行描述;当描述信息存在于目标表示层级时,用于对目标表示层级进行描述。传输信令文件包含的属性如下表12所示:
表12
其中,O代表对应属性为Optional。扩展后的自由视角视频角度范围描述子(AvsFreeViewAngleRange)新增了:AvsFreeViewAngleRange、AvsFreeViewAngleRange@rotation_yaw_min、AvsFreeViewAngleRange@rotation_yaw_max、AvsFreeViewAngleRange@rotation_pitch_min、AvsFreeViewAngleRange@rotation_pitch_max、AvsFreeViewAngleRange@rotation_roll_min、AvsFreeViewAngleRange@rotation_roll_max、AvsFreeViewAngleRange@depth_min、AvsFreeViewAngleRange@depth_max及这些元素和属性的相关描述。
按照本申请实施例的上述表6所示的自由视角数据盒以及相机帧信息结构,结合表11所示的自由视角相机描述子的描述,对相机参数的指示方式进行优化;按照本申请实施例的上述表7,表8和表9所示的自由视角范围数据盒,结合表12所示的自由视角视频角度范围描述子的描述,对自由视角视频的观看内容范围进行指示;引导观看者在指示的范围内合理调整观看视角,获得较佳的观看效果。
图2示出了本申请一个示例性实施例提供的一种沉浸媒体的数据处理方法的流程图;该方法可由沉浸媒体系统中内容消费设备来执行,该方法包括以下步骤S201-S202:
S201、获取沉浸媒体的媒体文件。
媒体文件中包含自由视角视频的呈现指示信息,呈现指示信息包括自由视角视频的观看内容范围的指示信息。自由视角视频观看内容范围的指示信息包括:自由视角视频支持的视角旋转范围指示信息,自由视角视频的观看内容的指示信息。
在本申请中,若多个相机的相机参数:IntCameraInfoStruct和CameraFrameInfoStruct(CameraFrameInfoStruct中包括字段:camera_resolution_x、camera_resolution_y、depth_downsample_factor、texture_padding_size、depth_padding_size)相同,则自由视角数据盒中相机的指示信息可以只申明一次。
在一种实施方式中,沉浸媒体的媒体文件被切片为多个媒体片段,内容消费设备获取沉浸媒体的传输信令文件,传输信令文件包含自由视角视频的呈现指示信息对应的描述信息,在获取沉浸媒体的传输信令文件后,内容消费设备根据沉浸媒体的传输信令文件,获取沉浸媒体的媒体文件;具体来说,内容消费设备可以根据沉浸媒体的观看者在观看时的虚拟视角,以及根据传输信令文件中的描述信息,确定沉浸媒体的观看者在观看时所需的图像数据所对应的媒体片段;并通过流化传输方式拉取所确定的媒体片段。
在一个实施例中,传输信令文件中包含以下至少一项:自由视角相机描述子、自由视角视频角度范围描述子;其中,自由视角相机描述子用于指示一个或多个相机组中各个相机的参数(如投影方式,相机位置等);自由视角视频角度范围描述子用于指示自由视角视频中自由视角场景的边界信息。
在另一个实施例中,传输信令文件包含表示层级和自适应集层级,自适应集层级中包括一个或多个表示层级;当描述信息存在于目标自适应集层级时,用于对目标自适应集层级中所有表示层级进行描述;当描述信息存在于目标表示层级时,用于对目标表示层级进行描述;其中,描述信息可以包括自由视角相机描述子、自由视角角度范围描述子中的一个或多个。
S202、按照自由视角视频的呈现指示信息,显示自由视角视频。
在一种实施方式中,自由视角视频观看内容范围的指示信息包括自由视角视频的观看内容的指示信息;自由视角视频的观看内容是基于一个或多个相机采集的图像数据生成的;自由视角视频的呈现指示信息为元数据信息,元数据信息中还包含自由视角数据盒,自由视角数据盒中包含相机参数指示信息。内容消费设备按照自由视角视频的呈现指示信息,显示自由视角视频包括:根据沉浸媒体的观看者在观看时的虚拟视角,从媒体文件中确定观看所需的图像数据;按照相机参数指示信息,对图像数据进行解码并显示。
在一个实施例中,自由视角数据盒中包含相机参数及重复相机参数指示字段duplicated_camera_params;其中,相机参数包括相机内部信息结构(IntCameraInfoStruct)和相机帧信息结构(CameraFrameInfoStruct),具体可参见上述表1和表6,在此不再赘述。
当重复相机参数指示字段取值为第一设定值时(如duplicated_camera_params=1),表示自由视角数据盒中的相机参数对所有相机生效,此时自由视角数据盒中仅指示一次IntCameraInfoStruct、camera_resolution_x、camera_resolution_y、depth_downsample_factor、texture_padding_size、depth_padding_size;当重复相机参数指示字段取值第二设定值时(如duplicated_camera_params=0),表示自由视角数据盒中不同相机具备各自的相机参数。
在另一种实施方式中,自由视角视频的呈现指示信息包括自由视角视频支持的视角旋转范围指示信息。自由视角视频的呈现指示信息为元数据信息,元数据信息中包含自由视角范围数据盒(AvsFreeViewAngleRangeBox);自由视角范围数据盒中包含自由视角视频支持的视角旋转范围指示信息。内容消费设备按照自由视角视频的呈现指示信息,显示自由视角视频包括:在对图像数据进行显示的过程中,内容消费设备按照自由视角视频支持的视角旋转范围指示信息,限制沉浸媒体的观看者在观看时的虚拟视角的旋转范围。
在一个实施例中,自由视角范围数据盒包含偏航角标志字段yaw_range_flag、偏航角范围字段rotation_yaw_min和rotation_yaw_max、俯仰角标志字段pitch_range_flag、俯仰角范围字段rotation_pitch_min和rotation_pitch_max、翻滚角标志字段roll_range_flag和翻滚角范围字段rotation_roll_min和rotation_roll_max、深度范围标志字段depth_range_flag、深度范围字段depth_min和depth_max。偏航角标志字段用于指示沉浸媒体的观看者在观看时的虚拟视角偏航角度;当偏航角标志字段取值为第一设定值时(如yaw_range_flag=1),表示沉浸媒体的观看者在观看时的虚拟视角偏航角度受限于偏航角范围字段(rotation_yaw_min,rotation_yaw_max)所指示的偏航角范围;例如,rotation_yaw_min=10°,rotation_yaw_max=90°,则观看者在观看时的虚拟视角受限于偏航角范围[10°,90°]。当偏航角标志字段取值为第二设定值时(如yaw_range_flag=0),表示沉浸媒体的观看者在观看时的虚拟视角偏航角度不受限,即沉浸媒体的观看者在观看时的虚拟视角的偏航角度可以在[-180°,180°)范围内不受限的变化。
类似地,俯仰角标志字段用于指示沉浸媒体的观看者在观看时的虚拟视角俯仰角度;当俯仰角标志字段取值为第一设定值时(如pitch_range_flag=1),表示沉浸媒体的观看者在观看时的虚拟视角俯仰角度受限于俯仰角范围字段(rotation_pitch_min,rotation_pitch_max)所指示的俯仰角范围;例如,rotation_pitch_min=-20°,rotation_pitch_max=80°,则观看者在观看时的虚拟视角受限于俯仰角范围[-20°,80°]。当俯仰角标志字段取值为第二设定值时(如pitch_range_flag=0),表示沉浸媒体的观看者在观看时的虚拟视角俯仰角度不受限,即沉浸媒体的观看者在观看时的虚拟视角的俯仰角度可以在[-90°,90°]范围内不受限的变化。
类似地,翻滚角标志字段用于指示沉浸媒体的观看者在观看时的虚拟视角翻滚角度;当翻滚角标志字段取值为第一设定值时(如roll_range_flag=1),表示沉浸媒体的观看者在观看时的虚拟视角翻滚角度受限于翻滚角范围字段(rotation_roll_min,rotation_roll_max)所指示的翻滚角范围;例如,rotation_roll_min=20°,rotation_roll_max=70°,则观看者在观看时的虚拟视角受限于翻滚角范围[20°,70°]。当翻滚角标志字段取值为第二设定值时(如roll_range_flag=0),表示沉浸媒体的观看者在观看时的虚拟视角翻滚角度不受限,即沉浸媒体的观看者在观看时的虚拟视角的翻滚角度可以在[-180°,180°)范围内不受限的变化。
类似地,深度范围标志字段用于指示沉浸媒体的观看者在观看时的虚拟视角深度;深度范围字段用于指示沉浸媒体的观看者在观看时的虚拟视角所属的深度范围;当深度范围标志字段取值为第一设定值时(如depth_range_flag=1),表示沉浸媒体的观看者在观看时的虚拟视角深度受限于深度范围字段(depth_min,depth_max)所指示的深度范围;例如,depth_min=0,depth_max=100,则观看者在观看时的虚拟视角受限于深度范围[0,100]。当深度范围标志字段取值为第二设定值时(如depth_range_flag=0),表示沉浸媒体的观看者在观看时的虚拟视角深度不受限。
在另一个实施例中,自由视角范围数据盒(AvsFreeViewAngleRangeBox)包含三维旋转四元数,该三维旋转四元数用于指示沉浸媒体的观看者在观看时的虚拟视角的三维旋转范围;该三维旋转四元数包括x分量、y分量和z分量。上述的自由视角范围数据盒包含四元数x分量的范围字段,四元数y分量的范围字段和四元数z分量的范围字段。其中,四元数x分量的范围字段用于指示三维旋转四元数中x分量的取值范围,四元数x分量的范围字段包含rotation_x_min和rotation_x_max;四元数y分量的范围字段用于指示三维旋转四元数中y分量的取值范围,四元数y分量的范围字段包含rotation_y_min和rotation_y_max;四元数z分量的范围字段用于指示三维旋转四元数中z分量的取值范围,四元数z分量的范围字段包含rotation_z_min和rotation_z_max。具体实施方式可参见上述表8,在此不再赘述。
在再一个实施例中,除了从观看者观看行为的角度来表达观看内容的受限范围之外,还可以结合内容本身的场景边界的信息来表达观看内容的受限范围。自由视角范围数据盒(AvsFreeViewAngleRangeBox)包含矢量原点字段vector_origin_point,矢量终点字段vector_end_point和偏航角范围字段angle_yaw_range;上述字段用于指示沉浸媒体的观看者的视角角度范围。具体来说,以从矢量原点字段指示的坐标点到矢量终点字段指示的坐标点的向量作为起始向量,按照顺时针旋转偏航角范围字段angle_yaw_range指定的角度范围,得到的部分边界区域即为沉浸媒体的观看者实际可消费到的自由视角内容边界范围。
此外,自由视角范围数据盒(AvsFreeViewAngleRangeBox)还包含高度范围标志字段height_range_flag用于指示沉浸媒体的观看者的视角高度。当高度范围标志字段取值为第一设定值(如1)时,表示沉浸媒体的观看者实际可消费的自由视角内容边界在高度上受限于高度范围字段height_range所指示的高度范围;其中,高度范围字段height_range用于指示沉浸媒体的观看者在观看时的虚拟视角的高度的最大值,高度的最小值为当前边界区域底面所在的高度。当高度范围标志字段取值为第二设定值(如0)时,表示沉浸媒体的观看者实际可消费的自由视角内容边界在3DBoundingBoxStruct(详见表3)指示的高度范围内不存在限制。
在一种实现方式中,自由视角视频被封装在至少一个轨道中,这些轨道中包含目标轨道,目标轨道包含自由视角视频的图像数据;当目标轨道中包含自由视角范围数据盒时,表示目标轨道中的图像数据对应的观看角度受限;当目标轨道中未包含自由视角范围数据盒时,表示目标轨道中的图像数据对应的观看角度不受限。
在另一种实现方式中,元数据信息中包含自由视角数据盒(AvsFreeViewInfoBox),自由视角范围数据盒(AvsFreeViewAngleRangeBox)包含于自由视角数据盒中;自由视角数据盒中还包含角度范围标志字段angle_range_flag;当角度范围标志字段的取值为第一设定值(如angle_range_flag=1)时,用于指示自由视角数据盒对应的图像数据的观看角度受限,且通过自由视角范围数据盒指示观看角度的受限范围;当角度范围标志字段的取值为第二设定值(如angle_range_flag=0)时,用于指示自由视角数据盒对应的图像数据的观看角度不受限。
在又一种实现方式中,元数据信息中包含自由视角边界数据盒(AvsFreeViewBoundaryBox),自由视角范围数据盒(AvsFreeViewAngleRangeBox)包含于自由视角边界数据盒中;自由视角边界数据盒中还包含角度范围标志字段angle_range_flag;当角度范围标志字段的取值为第一设定值(如angle_range_flag=1)时,用于指示自由视角边界数据盒对应的图像数据的观看角度受限,且通过自由视角范围数据盒指示观看角度的受限范围;当角度范围标志字段的取值为第二设定值(如angle_range_flag=0)时,用于指示自由视角边界数据盒对应的图像数据的观看角度不受限。
本申请实施例中,获取沉浸媒体的媒体文件,媒体文件中包含自由视角视频的呈现指示信息,呈现指示信息包括自由视角视频的观看内容范围的指示信息,按照自由视角视频的呈现指示信息,显示自由视角视频。可见,通过在呈现指示信息中增加自由视角视频的观看内容范围的指示信息,可以对自由视角视频的观看内容范围进行指示,引导观看者在指示的范围内合理调整观看视角,获得较佳的观看效果。此外,还通过在呈现指示信息中增加重复相机参数指示字段,来对相机参数的指示方式进行优化。
图3示出了本申请一个示例性实施例提供的另一种沉浸媒体的数据处理方法的流程图;该方法可由沉浸媒体系统中内容消费设备来执行,该方法包括以下步骤S301-S303:
S301、获取一个或多个相机采集的图像数据,并将图像数据编码为自由视角视频。
步骤S301的具体实施方式可参考图1d中视频编码的实施方式,在此不再赘述。
S302、根据自由视角视频的应用形式为自由视角视频添加呈现指示信息。
自由视角视频的呈现指示信息包含自由视角视频的观看内容范围的指示信息,内容制作设备根据自由视角视频的应用形式为自由视角视频添加呈现指示信息,是内容消费设备根据自由视角视频的呈现指示信息显示自由视角视频的逆过程,具体方式可参考图2中内容消费设备根据自由视角视频的呈现指示信息显示自由视角视频的过程。
以自由视角范围数据盒为例,设自由视角视频中的一个自由视角场景中虚拟视角的范围信息为:偏航角范围[10°,90°],俯仰角范围[-20°,80°],翻滚角范围为[20°,70°],则内容制作设备根据上述范围信息,将该自由视角场景对应的自由视角范围数据盒中各个字段的值配置为:yaw_range_flag=1,rotation_yaw_min=10°,rotation_yaw_max=90°;pitch_range_flag=1,rotation_pitch_min=-20°,rotation_pitch_max=80°;roll_range_flag=1,rotation_roll_min=20°,rotation_roll_max=70°。
S303、将自由视角视频和自由视角视频的呈现指示信息封装为沉浸媒体的媒体文件。
步骤S303的具体实施方式可参考图1d中视频文件封装的实施方式,在此不再赘述。
在一种实施方式中,内容制作设备支持流式传输,在得到沉浸媒体的媒体文件后,内容制作设备对媒体文件进行切片得到多个媒体片段;以及,生成沉浸媒体的传输信令文件,传输信令文件包含自由视角视频的呈现指示信息对应的描述信息;其中,描述信息包括:自由视角相机描述子,自由视角视频角度范围描述子。
自由视角相机描述子用于指示自由视角视频对应的各个相机的参数;自由视角视频角度范围描述子用于指示自由视角视频支持的视角旋转范围;具体可参见上述表11和表12,在此不再赘述。
下面通过一个完整的例子对本申请提供的沉浸媒体的数据处理方法进行说明:
在一个实施例中,自由视角视频由Camera1-Camera3采集的图像构成。
内容制作设备:生成自由视角视频位流并将该视频位流封装为媒体文件,根据自由视角视频的应用形式,在自由视角视频文件中添加相应的元数据信息(即呈现指示信息),可包括:
指示拍摄相机的参数相关信息;指示自由视角视频支持的视角旋转范围;
AvsFreeViewInfoBox:
duplicated_camera_params=1;
Camera1、Camera2、Camera3:camera_type==1;
perspective_horizontal_fov=180;perspective_aspect_ratio=1。
{Camera1:ID=1;Pos=(100,0,100);orientation=(0,0,0)};
{Camera2:ID=2;Pos=(100,100,100);orientation=(0.5,0.5,0)};
{Camera3:ID=3;Pos=(0,0,100);orientation=(0.5,0.5,-0.5)}。
AvsFreeViewAngleRangeBox:
yaw_range_flag=1;rotation_yaw_min=-90°;rotation_yaw_max=90°。
进一步地,若内容制作设备支持流化传输,则将媒体文件切片为适合流化传输的媒体片段(按照传输标准的规范进行),并生成相应的传输信令,传输信令中指示以下信息:
指示相机参数信息、自由视角视频支持的视角旋转范围;
按照上述元数据信息中数据盒的取值填充DASH信令中自由视角相机描述子(AvsFreeViewCamInfo)以及自由视角视频角度范围描述子(AvsFreeViewAngleRange)中的对应字段。
在完成上述步骤后,内容制作设备将信令文件传输给内容消费设备。
内容消费设备:在一种实现方式中,内容消费设备下载完整文件后本地播放,在播放时,根据自由视角数据盒(AvsFreeViewInfoBox)中各相机的参数,以及观看者观看时的虚拟视角选择合适的相机对应的纹理图和深度图进行解码并合成对应的画面。同时,根据自由视角范围数据盒(AvsFreeViewAngleRangeBox)中的观看角度范围来限制观看者观看的范围(比如虚拟视角拖动的范围)。具体来说,duplicated_camera_params=1,表示Camera1、Camera2、Camera3的IntCameraInfoStruct、camera_resolution_x、camera_resolution_y、depth_downsample_factor、texture_padding_size、depth_padding_size字段相同。camera_type==1表示投影算法类型为透视投影,perspective_horizontal_fov=180表示通过透视方式投影时,视窗区域的水平范围为(0,180°),perspective_aspect_ratio=1表示通过透视方式投影时,视窗的纵横比例为1。各个相机的Pos字段用于指示各个相机在自由视角视频中的坐标位置,各个相机的orientation字段用于指示各个相机在自由视角视频中的朝向。yaw_range_flag=1;rotation_yaw_min=-90°;rotation_yaw_max=90°用于指示自由视角视频的偏航角范围为[-90°,90°]。
在另一种实现方式中,内容消费设备与内容制作设备建立流化传输,内容根据传输信令自由视角相机描述子(AvsFreeViewCamInfo)中各相机的参数以及观看者观看时的虚拟视角,选择合适的相机对应的纹理图和深度图的视频流来进行请求,收到相应的视频流后合成对应的画面。同时,根据自由视角视频角度范围描述子(AvsFreeViewAngleRange)中的观看角度范围来限制观看者观看的范围(比如虚拟视角拖动的范围)。
本申请实施例对沉浸媒体的数据盒及媒体呈现描述文件进行扩展,沉浸媒体的数据处理方法包括:获取一个或多个相机采集的图像数据,并将图像数据编码为自由视角视频;根据自由视角视频的应用形式为自由视角视频添加呈现指示信息;自由视角视频的呈现指示信息包含自由视角视频的观看内容范围的指示信息;将自由视角视频和自由视角视频的呈现指示信息封装为沉浸媒体的媒体文件。可见,通过在呈现指示信息中增加自由视角视频的观看内容范围的指示信息,可以对自由视角视频的观看内容范围进行指示,引导观看者在指示的范围内合理调整观看视角,获得较佳的观看效果。此外,还通过自由视角数据盒以及相机帧信息结构,结合自由视角相机描述子的描述,对相机参数的指示方式进行优化。
上述详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的装置。
请参见图4,图4示出了本申请一个示例性实施例提供的一种沉浸媒体的数据处理装置的结构示意图;该沉浸媒体的数据处理装置可以是运行于内容消费设备中的一个计算机程序(包括程序代码),例如该沉浸媒体的数据处理装置可以是内容消费设备中的一个应用软件。由图4所示,该沉浸媒体的数据处理装置包括获取单元401和处理单元402。
请参见图4,在一个示例性实施例中,各个单元的详细描述如下:
获取单元401,用于获取沉浸媒体的媒体文件,媒体文件中包含自由视角视频的呈现指示信息,呈现指示信息包括自由视角视频的观看内容范围的指示信息;
处理单元402,用于按照自由视角视频的呈现指示信息,显示自由视角视频。
在一种实施方式中,自由视角视频观看内容范围的指示信息包括自由视角视频支持的视角旋转范围指示信息;自由视角视频的呈现指示信息为元数据信息,元数据信息中包含自由视角范围数据盒;自由视角范围数据盒中包含自由视角视频支持的视角旋转范围指示信息。
在一种实施方式中,自由视角范围数据盒包含偏航角标志字段和偏航角范围字段;
偏航角标志字段用于指示沉浸媒体的观看者在观看时的虚拟视角的偏航角度;偏航角范围字段用于指示沉浸媒体的观看者在观看时的虚拟视角所属的偏航角范围;
当偏航角标志字段取值为第一设定值时,表示沉浸媒体的观看者在观看时的虚拟视角的偏航角度受限于偏航角范围字段所指示的偏航角范围;当偏航角标志字段取值为第二设定值时,表示沉浸媒体的观看者在观看时的虚拟视角的偏航角度不受限。
在一种实施方式中,自由视角范围数据盒包含俯仰角标志字段和俯仰角范围字段;
俯仰角标志字段用于指示沉浸媒体的观看者在观看时的虚拟视角的俯仰角度;俯仰角范围字段用于指示沉浸媒体的观看者在观看时的虚拟视角所属的俯仰角范围;
当俯仰角标志字段取值为第一设定值时,表示沉浸媒体的观看者在观看时的虚拟视角俯仰角度受限于俯仰角范围字段所指示的俯仰角范围;当俯仰角标志字段取值为第二设定值时,表示沉浸媒体的观看者在观看时的虚拟视角的俯仰角度不受限。
在一种实施方式中,自由视角范围数据盒包含翻滚角标志字段和翻滚角范围字段;
翻滚角标志字段用于指示沉浸媒体的观看者在观看时的虚拟视角的翻滚角度;翻滚角范围字段用于指示沉浸媒体的观看者在观看时的虚拟视角所属的翻滚角范围;
当翻滚角标志字段取值为第一设定值时,表示沉浸媒体的观看者在观看时的虚拟视角翻滚角度受限于翻滚角范围字段所指示的翻滚角范围;当翻滚角标志字段取值为第二设定值时,表示沉浸媒体的观看者在观看时的虚拟视角翻滚角度不受限。
在一种实施方式中,自由视角范围数据盒包含深度范围标志字段和深度范围字段;
深度范围标志字段用于指示沉浸媒体的观看者在观看时的虚拟视角深度;深度范围字段用于指示沉浸媒体的观看者在观看时的虚拟视角所属的深度范围;
当深度范围标志字段取值为第一设定值时,表示沉浸媒体的观看者在观看时的虚拟视角深度受限于深度范围字段所指示的深度范围;当深度范围标志字段取值为第二设定值时,表示沉浸媒体的观看者在观看时的虚拟视角深度不受限。
在一种实施方式中,自由视角范围数据盒包含三维旋转四元数;三维旋转四元数用于指示沉浸媒体的观看者在观看时的虚拟视角的三维旋转范围。
在一种实施方式中,三维旋转四元数包括x分量、y分量和z分量,自由视角范围数据盒中包含四元数x分量的范围字段,四元数y分量的范围字段和四元数z分量的范围字段;
四元数x分量的范围字段用于指示三维旋转四元数中x分量的取值范围;
四元数y分量的范围字段用于指示三维旋转四元数中y分量的取值范围;
四元数z分量的范围字段用于指示三维旋转四元数中z分量的取值范围。
在一种实施方式中,自由视角范围数据盒包含矢量原点字段、矢量终点字段和偏航角范围字段;
矢量原点字段和矢量终点字段用于确定起始向量,起始向量和偏航角范围字段用于指示沉浸媒体的观看者在观看时的虚拟视角的角度范围。
在一种实施方式中,元数据信息中还包含三维边界结构,三维边界结构用于指示沉浸媒体的观看者在观看时的虚拟视角所属场景的边界范围,边界范围包括高度范围;自由视角范围数据盒还包含高度范围标志字段和高度范围字段;
高度范围标志字段用于指示沉浸媒体的观看者在观看时的虚拟视角高度;高度范围字段用于指示沉浸媒体的观看者在观看时的虚拟视角的高度范围;
当高度范围标志字段取值为第一设定值时,表示沉浸媒体的观看者在观看时的虚拟视角在高度上受限于高度范围字段所指示的高度范围;当高度范围标志字段取值为第二设定值时,表示沉浸媒体的观看者在观看时的虚拟视角在三维边界结构指示的高度范围内不受限。
在一种实施方式中,自由视角视频被封装在至少一个轨道中,至少一个轨道包含目标轨道,目标轨道包含自由视角视频的图像数据;
当目标轨道中包含自由视角范围数据盒时,表示目标轨道中的图像数据对应的观看角度受限;当目标轨道中未包含自由视角范围数据盒时,表示目标轨道中的图像数据对应的观看角度不受限。
在一种实施方式中,元数据信息中包含自由视角数据盒,自由视角范围数据盒包含于自由视角数据盒中;自由视角数据盒中还包含角度范围标志字段;
当角度范围标志字段的取值为第一设定值时,用于指示自由视角数据盒对应的图像数据的观看角度受限,且通过自由视角范围数据盒指示观看角度的受限范围;当角度范围标志字段的取值为第二设定值时,用于指示自由视角数据盒对应的图像数据的观看角度不受限。
在一种实施方式中,元数据信息中包含自由视角边界数据盒,自由视角范围数据盒包含于自由视角边界数据盒中;自由视角边界数据盒中还包含角度范围标志字段;
当角度范围标志字段的取值为第一设定值时,用于指示自由视角边界数据盒对应的图像数据的观看角度受限,且通过自由视角范围数据盒指示观看角度的受限范围;当角度范围标志字段的取值为第二设定值时,用于指示自由视角边界数据盒对应的图像数据的观看角度不受限。
在一种实施方式中,处理单元402用于,按照自由视角视频的呈现指示信息,显示自由视角视频,具体用于:
在对图像数据进行显示的过程中,按照自由视角视频支持的视角旋转范围指示信息,限制沉浸媒体的观看者在观看时的虚拟视角的旋转范围。
在一种实施方式中,自由视角视频观看内容范围的指示信息包括自由视角视频的观看内容的指示信息;自由视角视频的观看内容是基于一个或多个相机采集的图像数据生成的;自由视角视频的呈现指示信息为元数据信息,元数据信息中包含自由视角数据盒;自由视角数据盒中包含自由视角视频的观看内容的指示信息。
在一种实施方式中,自由视角数据盒中包含相机参数指示信息,相机参数指示信息用于指示自由视角视频的观看内容;相机参数指示信息包括相机参数及重复相机参数指示字段;
当重复相机参数指示字段取值为第一设定值时,表示自由视角数据盒中的相机参数对所有相机生效;当重复相机参数指示字段取值第二设定值时,表示自由视角数据盒中不同相机具备各自的相机参数。
在一种实施方式中,处理单元402用于,按照自由视角视频的呈现指示信息,显示自由视角视频,具体用于:
根据沉浸媒体的观看者在观看时的虚拟视角,从媒体文件中确定观看所需的图像数据;
按照相机参数指示信息,对图像数据进行解码并显示。
在一种实施方式中,沉浸媒体的媒体文件被切片为多个媒体片段;获取单元401还用于:
获取沉浸媒体的传输信令文件,传输信令文件包含自由视角视频的呈现指示信息对应的描述信息。
在一种实施方式中,传输信令文件中包含以下至少一项:自由视角相机描述子、自由视角视频角度范围描述子;
其中,自由视角相机描述子用于指示相机参数;自由视角视频角度范围描述子用于指示自由视角视频中自由视角场景的边界信息。
在一种实施方式中,传输信令文件包含表示层级和自适应集层级,自适应集层级中包括一个或多个表示层级;当描述信息存在于目标自适应集层级时,用于对目标自适应集层级中所有表示层级进行描述;当描述信息存在于目标表示层级时,用于对目标表示层级进行描述。
在一种实施方式中,获取单元401用于,获取沉浸媒体的媒体文件,具体用于:
根据沉浸媒体的观看者在观看时的虚拟视角,以及根据传输信令文件中的描述信息,确定观看所需的图像数据所对应的媒体片段;
通过流化传输方式拉取所确定的媒体片段。
根据本申请的一个实施例,图2所示的沉浸媒体的数据处理方法所涉及的部分步骤可由图4所示的沉浸媒体的数据处理装置中的各个单元来执行。例如,图2中所示的步骤S201可由图4所示的获取单元401执行,步骤S202可由图4所示的处理单元402执行。图4所示的沉浸媒体的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,沉浸媒体的数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算装置上运行能够执行如图2中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图4中所示的沉浸媒体的数据处理装置,以及来实现本申请实施例的沉浸媒体的数据处理方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算装置中,并在其中运行。
基于同一发明构思,本申请实施例中提供的沉浸媒体的数据处理装置解决问题的原理与有益效果与本申请方法实施例中沉浸媒体的数据处理方法解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
请参见图5,图5示出了本申请一个示例性实施例提供的另一种沉浸媒体的数据处理装置的结构示意图;该沉浸媒体的数据处理装置可以是运行于内容制作设备中的一个计算机程序(包括程序代码),例如该沉浸媒体的数据处理装置可以是内容制作设备中的一个应用软件。由图5所示,该沉浸媒体的数据处理装置包括获取单元501和处理单元502。请参见图5,各个单元的详细描述如下:
获取单元501,用于获取一个或多个相机采集的图像数据,并将图像数据编码为自由视角视频;
处理单元502,用于根据自由视角视频的应用形式为自由视角视频添加呈现指示信息;自由视角视频的呈现指示信息包含自由视角视频的观看内容范围的指示信息;以及用于将自由视角视频和自由视角视频的呈现指示信息封装为沉浸媒体的媒体文件。
在一种实施方式中,处理单元502还用于:
对媒体文件进行切片得到多个媒体片段;以及,
生成沉浸媒体的传输信令文件,传输信令文件包含自由视角视频的呈现指示信息对应的描述信息。
根据本申请的一个实施例,图3所示的沉浸媒体的数据处理方法所涉及的部分步骤可由图5所示的沉浸媒体的数据处理装置中的各个单元来执行。例如,图3中所示的步骤S301可由图5所示的获取单元501执行,步骤S302和步骤S303可由图5所示的处理单元502执行。图5所示的沉浸媒体的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,沉浸媒体的数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算装置上运行能够执行如图3中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图5中所示的沉浸媒体的数据处理装置,以及来实现本申请实施例的沉浸媒体的数据处理方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算装置中,并在其中运行。
基于同一发明构思,本申请实施例中提供的沉浸媒体的数据处理装置解决问题的原理与有益效果与本申请方法实施例中沉浸媒体的数据处理方法解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
图6示出了本申请一个示例性实施例提供的一种内容消费设备的结构示意图;该内容消费设备可以是指沉浸媒体的使用者所使用的计算机设备,该计算机设备可以是终端(如PC、智能移动设备(如智能手机)、VR设备(如VR头盔、VR眼镜等))。如图6所示,该内容消费设备包括接收器601、处理器602、存储器603、显示/播放装置604。其中:
接收器601用于实现解码与其他设备的传输交互,具体用于实现内容制作设备与内容消费设备之间关于进行沉浸媒体的传输。即内容消费设备通过接收器601来接收内容制作设备传输沉浸媒体的相关媒体资源。
处理器602(或称CPU(Central Processing Unit,中央处理器))是内容制作设备的处理核心,该处理器602适于实现一条或多条程序指令,具体适于加载并执行一条或多条程序指令从而实现图2所示的沉浸媒体的数据处理方法的流程。
存储器603是内容消费设备中的记忆设备,用于存放程序和媒体资源。可以理解的是,此处的存储器603既可以包括内容消费设备中的内置存储介质,当然也可以包括内容消费设备所支持的扩展存储介质。需要说明的是,存储器603可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的存储器。存储器603提供存储空间,该存储空间用于存储内容消费设备的操作系统。并且,在该存储空间中还用于存储计算机程序,该计算机程序包括程序指令,且该程序指令适于被处理器调用并执行,以用来执行沉浸媒体的数据处理方法的各步骤。另外,存储器603还可用于存储经处理器处理后形成的沉浸媒体的三维图像、三维图像对应的音频内容及该三维图像和音频内容渲染所需的信息等。
显示/播放装置604用于输出渲染得到的声音和三维图像。
再请参见图6,处理器602可包括解析器621、解码器622、转换器623和渲染器624;其中:
解析器621用于对来自内容制作设备的渲染媒体的封装文件进行文件解封装,具体是按照沉浸媒体的文件格式要求对媒体文件资源进行解封装,得到音频码流和视频码流;并将该音频码流和视频码流提供给解码器622。
解码器622对音频码流进行音频解码,得到音频内容并提供给渲染器进行音频渲染。另外,解码器622对视频码流进行解码得到2D图像。根据媒体呈现描述信息提供的元数据,如果该元数据指示沉浸媒体执行过区域封装过程,该2D图像是指封装图像;如果该元数据指示沉浸媒体未执行过区域封装过程,则该平面图像是指投影图像。
转换器623用于将2D图像转换为3D图像。如果沉浸媒体执行过区域封装过程,转换器623还会先将封装图像进行区域解封装得到投影图像。再对投影图像进行重建处理得到3D图像。如果渲染媒体未执行过区域封装过程,转换器623会直接将投影图像重建得到3D图像。
渲染器624用于对沉浸媒体的音频内容和3D图像进行渲染。具体根据媒体呈现描述信息中与渲染、视窗相关的元数据对音频内容及3D图像进行渲染,渲染完成交由显示/播放装置进行输出。
在一个示例性实施例中,处理器602(具体是处理器包含的各器件)通过调用存储器中的一条或多条指令来执行图2所示的沉浸媒体的数据处理方法的各步骤。具体地,存储器存储有一条或多条第一指令,该一条或多条第一指令适于由处理器602加载并执行如下步骤:
获取沉浸媒体的媒体文件,媒体文件中包含自由视角视频的呈现指示信息,呈现指示信息包括自由视角视频的观看内容范围的指示信息;
按照自由视角视频的呈现指示信息,显示自由视角视频。
一种实施方式中,自由视角视频观看内容范围的指示信息包括自由视角视频支持的视角旋转范围指示信息;自由视角视频的呈现指示信息为元数据信息,元数据信息中包含自由视角范围数据盒;自由视角范围数据盒中包含自由视角视频支持的视角旋转范围指示信息。
一种实施方式中,自由视角范围数据盒包含偏航角标志字段和偏航角范围字段;
偏航角标志字段用于指示沉浸媒体的观看者在观看时的虚拟视角的偏航角度;偏航角范围字段用于指示沉浸媒体的观看者在观看时的虚拟视角所属的偏航角范围;
当偏航角标志字段取值为第一设定值时,表示沉浸媒体的观看者在观看时的虚拟视角的偏航角度受限于偏航角范围字段所指示的偏航角范围;当偏航角标志字段取值为第二设定值时,表示沉浸媒体的观看者在观看时的虚拟视角的偏航角度不受限。
一种实施方式中,自由视角范围数据盒包含俯仰角标志字段和俯仰角范围字段;
俯仰角标志字段用于指示沉浸媒体的观看者在观看时的虚拟视角的俯仰角度;俯仰角范围字段用于指示沉浸媒体的观看者在观看时的虚拟视角所属的俯仰角范围;
当俯仰角标志字段取值为第一设定值时,表示沉浸媒体的观看者在观看时的虚拟视角俯仰角度受限于俯仰角范围字段所指示的俯仰角范围;当俯仰角标志字段取值为第二设定值时,表示沉浸媒体的观看者在观看时的虚拟视角的俯仰角度不受限。
一种实施方式中,自由视角范围数据盒包含翻滚角标志字段和翻滚角范围字段;
翻滚角标志字段用于指示沉浸媒体的观看者在观看时的虚拟视角的翻滚角度;翻滚角范围字段用于指示沉浸媒体的观看者在观看时的虚拟视角所属的翻滚角范围;
当翻滚角标志字段取值为第一设定值时,表示沉浸媒体的观看者在观看时的虚拟视角翻滚角度受限于翻滚角范围字段所指示的翻滚角范围;当翻滚角标志字段取值为第二设定值时,表示沉浸媒体的观看者在观看时的虚拟视角翻滚角度不受限。
一种实施方式中,自由视角范围数据盒包含深度范围标志字段和深度范围字段;
深度范围标志字段用于指示沉浸媒体的观看者在观看时的虚拟视角深度;深度范围字段用于指示沉浸媒体的观看者在观看时的虚拟视角所属的深度范围;
当深度范围标志字段取值为第一设定值时,表示沉浸媒体的观看者在观看时的虚拟视角深度受限于深度范围字段所指示的深度范围;当深度范围标志字段取值为第二设定值时,表示沉浸媒体的观看者在观看时的虚拟视角深度不受限。
一种实施方式中,自由视角范围数据盒包含三维旋转四元数;三维旋转四元数用于指示沉浸媒体的观看者在观看时的虚拟视角的三维旋转范围。
一种实施方式中,三维旋转四元数包括x分量、y分量和z分量,自由视角范围数据盒中包含四元数x分量的范围字段,四元数y分量的范围字段和四元数z分量的范围字段;
四元数x分量的范围字段用于指示三维旋转四元数中x分量的取值范围;
四元数y分量的范围字段用于指示三维旋转四元数中y分量的取值范围;
四元数z分量的范围字段用于指示三维旋转四元数中z分量的取值范围。
一种实施方式中,自由视角范围数据盒包含矢量原点字段、矢量终点字段和偏航角范围字段;
矢量原点字段和矢量终点字段用于确定起始向量,起始向量和偏航角范围字段用于指示沉浸媒体的观看者在观看时的虚拟视角的角度范围。
一种实施方式中,元数据信息中还包含三维边界结构,三维边界结构用于指示沉浸媒体的观看者在观看时的虚拟视角所属场景的边界范围,边界范围包括高度范围;自由视角范围数据盒还包含高度范围标志字段和高度范围字段;
高度范围标志字段用于指示沉浸媒体的观看者在观看时的虚拟视角高度;高度范围字段用于指示沉浸媒体的观看者在观看时的虚拟视角的高度范围;
当高度范围标志字段取值为第一设定值时,表示沉浸媒体的观看者在观看时的虚拟视角在高度上受限于高度范围字段所指示的高度范围;当高度范围标志字段取值为第二设定值时,表示沉浸媒体的观看者在观看时的虚拟视角在三维边界结构指示的高度范围内不受限。
一种实施方式中,自由视角视频被封装在至少一个轨道中,至少一个轨道包含目标轨道,目标轨道包含自由视角视频的图像数据;
当目标轨道中包含自由视角范围数据盒时,表示目标轨道中的图像数据对应的观看角度受限;当目标轨道中未包含自由视角范围数据盒时,表示目标轨道中的图像数据对应的观看角度不受限。
一种实施方式中,元数据信息中包含自由视角数据盒,自由视角范围数据盒包含于自由视角数据盒中;自由视角数据盒中还包含角度范围标志字段;
当角度范围标志字段的取值为第一设定值时,用于指示自由视角数据盒对应的图像数据的观看角度受限,且通过自由视角范围数据盒指示观看角度的受限范围;当角度范围标志字段的取值为第二设定值时,用于指示自由视角数据盒对应的图像数据的观看角度不受限。
一种实施方式中,元数据信息中包含自由视角边界数据盒,自由视角范围数据盒包含于自由视角边界数据盒中;自由视角边界数据盒中还包含角度范围标志字段;
当角度范围标志字段的取值为第一设定值时,用于指示自由视角边界数据盒对应的图像数据的观看角度受限,且通过自由视角范围数据盒指示观看角度的受限范围;当角度范围标志字段的取值为第二设定值时,用于指示自由视角边界数据盒对应的图像数据的观看角度不受限。
一种实施方式中,处理器602按照自由视角视频的呈现指示信息,显示自由视角视频的具体实施方式为:
在对图像数据进行显示的过程中,按照自由视角视频支持的视角旋转范围指示信息,限制沉浸媒体的观看者在观看时的虚拟视角的旋转范围。
一种实施方式中,自由视角视频观看内容范围的指示信息包括自由视角视频的观看内容的指示信息;自由视角视频的观看内容是基于一个或多个相机采集的图像数据生成的;自由视角视频的呈现指示信息为元数据信息,元数据信息中包含自由视角数据盒;自由视角数据盒中包含自由视角视频的观看内容的指示信息。
一种实施方式中,自由视角数据盒中包含相机参数指示信息,相机参数指示信息用于指示自由视角视频的观看内容;相机参数指示信息包括相机参数及重复相机参数指示字段;
当重复相机参数指示字段取值为第一设定值时,表示自由视角数据盒中的相机参数对所有相机生效;当重复相机参数指示字段取值第二设定值时,表示自由视角数据盒中不同相机具备各自的相机参数。
一种实施方式中,处理器602按照自由视角视频的呈现指示信息,显示自由视角视频的具体实施方式为:
根据沉浸媒体的观看者在观看时的虚拟视角,从媒体文件中确定观看所需的图像数据;
按照相机参数指示信息,对图像数据进行解码并显示。
一种实施方式中,沉浸媒体的媒体文件被切片为多个媒体片段;存储器603中的计算机程序由处理器602加载并且还执行如下步骤:
获取沉浸媒体的传输信令文件,传输信令文件包含自由视角视频的呈现指示信息对应的描述信息。
一种实施方式中,传输信令文件中包含以下至少一项:自由视角相机描述子、自由视角视频角度范围描述子;
其中,自由视角相机描述子用于指示相机参数;自由视角视频角度范围描述子用于指示自由视角视频中自由视角场景的边界信息。
一种实施方式中,传输信令文件包含表示层级和自适应集层级,自适应集层级中包括一个或多个表示层级;当描述信息存在于目标自适应集层级时,用于对目标自适应集层级中所有表示层级进行描述;当描述信息存在于目标表示层级时,用于对目标表示层级进行描述。
一种实施方式中,处理器602获取沉浸媒体的媒体文件的具体实施方式为:
根据沉浸媒体的观看者在观看时的虚拟视角,以及根据传输信令文件中的描述信息,确定观看所需的图像数据所对应的媒体片段;
通过流化传输方式拉取所确定的媒体片段。
基于同一发明构思,本申请实施例中提供的内容消费设备解决问题的原理与有益效果与本申请方法实施例中沉浸媒体的处理方法解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
图7示出了本申请一个示例性实施例提供的一种内容制作设备的结构示意图;该内容制作设备可以是指沉浸媒体的提供者所使用的计算机设备,该计算机设备可以是终端(如PC、智能移动设备(如智能手机)等)或服务器。如图7所示,该内容制作设备包括捕获设备701、处理器702、存储器703和发射器704。其中:
捕获设备701用于采集现实世界的声音-视觉场景获得沉浸媒体的原始数据(包括在时间和空间上保持同步的音频内容和视频内容)。该捕获设备701可以包括但不限于:音频设备、摄像设备及传感设备。其中,音频设备可以包括音频传感器、麦克风等。摄像设备可以包括普通摄像头、立体摄像头、光场摄像头等。传感设备可以包括激光设备、雷达设备等。
处理器702(或称CPU(Central Processing Unit,中央处理器))是内容制作设备的处理核心,该处理器702适于实现一条或多条程序指令,具体适于加载并执行一条或多条程序指令从而实现图3所示的沉浸媒体的数据处理方法的流程。
存储器703是内容制作设备中的记忆设备,用于存放程序和媒体资源。可以理解的是,此处的存储器703既可以包括内容制作设备中的内置存储介质,当然也可以包括内容制作设备所支持的扩展存储介质。需要说明的是,存储器可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的存储器。存储器提供存储空间,该存储空间用于存储内容制作设备的操作系统。并且,在该存储空间中还用于存储计算机程序,该计算机程序包括程序指令,且该程序指令适于被处理器调用并执行,以用来执行沉浸媒体的数据处理方法的各步骤。另外,存储器703还可用于存储经处理器处理后形成的沉浸媒体文件,该沉浸媒体文件包括媒体文件资源和媒体呈现描述信息。
发射器704用于实现内容制作设备与其他设备的传输交互,具体用于实现内容制作设备与内容播放设备之间关于进行沉浸媒体的传输。即内容制作设备通过发射器704来向内容播放设备传输沉浸媒体的相关媒体资源。
再请参见图7,处理器702可包括转换器721、编码器722和封装器723;其中:
转换器721用于对捕获到的视频内容进行一系列转换处理,使视频内容成为适合被执行沉浸媒体的视频编码的内容。转换处理可包括:拼接和投影,可选地,转换处理还包括区域封装。转换器721可以将捕获到的3D视频内容转换为2D图像,并提供给编码器进行视频编码。
编码器722用于对捕获到的音频内容进行音频编码形成沉浸媒体的音频码流。还用于对转换器721转换得到的2D图像进行视频编码,得到视频码流。
封装器723用于将音频码流和视频码流按照沉浸媒体的文件格式(如ISOBMFF)封装在文件容器中形成沉浸媒体的媒体文件资源,该媒体文件资源可以是媒体文件或媒体片段形成沉浸媒体的媒体文件;并按照沉浸媒体的文件格式要求采用媒体呈现描述信息记录该沉浸媒体的媒体文件资源的元数据。封装器处理得到的沉浸媒体的封装文件会保存在存储器中,并按需提供给内容播放设备进行沉浸媒体的呈现。
处理器702(具体是处理器包含的各器件)通过调用存储器中的一条或多条指令来执行图4所示的沉浸媒体的数据处理方法的各步骤。具体地,存储器703存储有一条或多条第一指令,该一条或多条第一指令适于由处理器702加载并执行如下步骤:
获取一个或多个相机采集的图像数据,并将图像数据编码为自由视角视频;
根据自由视角视频的应用形式为自由视角视频添加呈现指示信息;自由视角视频的呈现指示信息包含自由视角视频的观看内容范围的指示信息;
将自由视角视频和自由视角视频的呈现指示信息封装为沉浸媒体的媒体文件。
一种实施方式中,存储器703中的计算机程序由处理器702加载并且还执行如下步骤:
对媒体文件进行切片得到多个媒体片段;以及,
生成沉浸媒体的传输信令文件,传输信令文件包含自由视角视频的呈现指示信息对应的描述信息。
基于同一发明构思,本申请实施例中提供的内容制作设备解决问题的原理与有益效果与本申请方法实施例中沉浸媒体的处理方法解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有一条或多条指令,一条或多条指令适于由处理器加载并执行上述方法实施例的沉浸媒体的数据处理方法。
本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例的沉浸媒体的数据处理方法。
本申请实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的沉浸媒体的数据处理方法。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,可读存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
以上所揭露的仅为本申请一种较佳实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于申请所涵盖的范围。
Claims (28)
1.一种沉浸媒体的数据处理方法,其特征在于,包括
获取沉浸媒体的媒体文件,所述媒体文件中包含自由视角视频的呈现指示信息,所述呈现指示信息包括所述自由视角视频的观看内容范围的指示信息;
按照所述自由视角视频的呈现指示信息,显示所述自由视角视频。
2.如权利要求1所述的方法,其特征在于,所述自由视角视频观看内容范围的指示信息包括所述自由视角视频支持的视角旋转范围指示信息;所述自由视角视频的呈现指示信息为元数据信息,所述元数据信息中包含自由视角范围数据盒;所述自由视角范围数据盒中包含所述自由视角视频支持的视角旋转范围指示信息。
3.如权利要求2所述的方法,其特征在于,所述自由视角范围数据盒包含偏航角标志字段和偏航角范围字段;
所述偏航角标志字段用于指示所述沉浸媒体的观看者在观看时的虚拟视角的偏航角度;所述偏航角范围字段用于指示所述沉浸媒体的观看者在观看时的虚拟视角所属的偏航角范围;
当所述偏航角标志字段取值为第一设定值时,表示所述沉浸媒体的观看者在观看时的虚拟视角的偏航角度受限于所述偏航角范围字段所指示的偏航角范围;当所述偏航角标志字段取值为第二设定值时,表示所述沉浸媒体的观看者在观看时的虚拟视角的偏航角度不受限。
4.如权利要求2所述的方法,其特征在于,所述自由视角范围数据盒包含俯仰角标志字段和俯仰角范围字段;
所述俯仰角标志字段用于指示所述沉浸媒体的观看者在观看时的虚拟视角的俯仰角度;所述俯仰角范围字段用于指示所述沉浸媒体的观看者在观看时的虚拟视角所属的俯仰角范围;
当所述俯仰角标志字段取值为第一设定值时,表示所述沉浸媒体的观看者在观看时的虚拟视角俯仰角度受限于所述俯仰角范围字段所指示的俯仰角范围;当所述俯仰角标志字段取值为第二设定值时,表示所述沉浸媒体的观看者在观看时的虚拟视角的俯仰角度不受限。
5.如权利要求2所述的方法,其特征在于,所述自由视角范围数据盒包含翻滚角标志字段和翻滚角范围字段;
所述翻滚角标志字段用于指示所述沉浸媒体的观看者在观看时的虚拟视角的翻滚角度;所述翻滚角范围字段用于指示所述沉浸媒体的观看者在观看时的虚拟视角所属的翻滚角范围;
当所述翻滚角标志字段取值为第一设定值时,表示所述沉浸媒体的观看者在观看时的虚拟视角翻滚角度受限于所述翻滚角范围字段所指示的翻滚角范围;当所述翻滚角标志字段取值为第二设定值时,表示所述沉浸媒体的观看者在观看时的虚拟视角翻滚角度不受限。
6.如权利要求2所述的方法,其特征在于,所述自由视角范围数据盒包含深度范围标志字段和深度范围字段;
所述深度范围标志字段用于指示所述沉浸媒体的观看者在观看时的虚拟视角深度;所述深度范围字段用于指示所述沉浸媒体的观看者在观看时的虚拟视角所属的深度范围;
当所述深度范围标志字段取值为第一设定值时,表示所述沉浸媒体的观看者在观看时的虚拟视角深度受限于所述深度范围字段所指示的深度范围;当所述深度范围标志字段取值为第二设定值时,表示所述沉浸媒体的观看者在观看时的虚拟视角深度不受限。
7.如权利要求2所述的方法,其特征在于,所述自由视角范围数据盒包含三维旋转四元数;所述三维旋转四元数用于指示所述沉浸媒体的观看者在观看时的虚拟视角的三维旋转范围。
8.如权利要求7所述的方法,其特征在于,所述三维旋转四元数包括x分量、y分量和z分量,所述自由视角范围数据盒中包含四元数x分量的范围字段,四元数y分量的范围字段和四元数z分量的范围字段;
所述四元数x分量的范围字段用于指示所述三维旋转四元数中x分量的取值范围;
所述四元数y分量的范围字段用于指示所述三维旋转四元数中y分量的取值范围;
所述四元数z分量的范围字段用于指示所述三维旋转四元数中z分量的取值范围。
9.如权利要求2所述的方法,其特征在于,所述自由视角范围数据盒包含矢量原点字段、矢量终点字段和偏航角范围字段;
所述矢量原点字段和所述矢量终点字段用于确定起始向量,所述起始向量和所述偏航角范围字段用于指示所述沉浸媒体的观看者在观看时的虚拟视角的角度范围。
10.如权利要求9所述的方法,其特征在于,所述元数据信息中还包含三维边界结构,所述三维边界结构用于指示所述沉浸媒体的观看者在观看时的虚拟视角所属场景的边界范围,所述边界范围包括高度范围;所述自由视角范围数据盒还包含高度范围标志字段和高度范围字段;
所述高度范围标志字段用于指示所述沉浸媒体的观看者在观看时的虚拟视角高度;所述高度范围字段用于指示所述沉浸媒体的观看者在观看时的虚拟视角的高度范围;
当所述高度范围标志字段取值为第一设定值时,表示所述沉浸媒体的观看者在观看时的虚拟视角在高度上受限于所述高度范围字段所指示的高度范围;当所述高度范围标志字段取值为第二设定值时,表示所述沉浸媒体的观看者在观看时的虚拟视角在三维边界结构指示的高度范围内不受限。
11.如权利要求2所述的方法,其特征在于,所述自由视角视频被封装在至少一个轨道中,所述至少一个轨道包含目标轨道,所述目标轨道包含所述自由视角视频的图像数据;
当所述目标轨道中包含所述自由视角范围数据盒时,表示所述目标轨道中的图像数据对应的观看角度受限;当所述目标轨道中未包含所述自由视角范围数据盒时,表示所述目标轨道中的图像数据对应的观看角度不受限。
12.如权利要求2所述的方法,其特征在于,所述元数据信息中包含自由视角数据盒,所述自由视角范围数据盒包含于所述自由视角数据盒中;所述自由视角数据盒中还包含角度范围标志字段;
当所述角度范围标志字段的取值为第一设定值时,用于指示所述自由视角数据盒对应的图像数据的观看角度受限,且通过所述自由视角范围数据盒指示观看角度的受限范围;当所述角度范围标志字段的取值为第二设定值时,用于指示所述自由视角数据盒对应的图像数据的观看角度不受限。
13.如权利要求2所述的方法,其特征在于,所述元数据信息中包含自由视角边界数据盒,所述自由视角范围数据盒包含于所述自由视角边界数据盒中;所述自由视角边界数据盒中还包含角度范围标志字段;
当所述角度范围标志字段的取值为第一设定值时,用于指示所述自由视角边界数据盒对应的图像数据的观看角度受限,且通过所述自由视角范围数据盒指示观看角度的受限范围;当所述角度范围标志字段的取值为第二设定值时,用于指示所述自由视角边界数据盒对应的图像数据的观看角度不受限。
14.如权利要求2所述的方法,其特征在于,所述按照所述自由视角视频的呈现指示信息,显示所述自由视角视频,包括:
在对所述图像数据进行显示的过程中,按照所述自由视角视频支持的视角旋转范围指示信息,限制所述沉浸媒体的观看者在观看时的虚拟视角的旋转范围。
15.如权利要求1所述的方法,其特征在于,所述自由视角视频观看内容范围的指示信息包括所述自由视角视频的观看内容的指示信息;所述自由视角视频的观看内容是基于一个或多个相机采集的图像数据生成的;所述自由视角视频的呈现指示信息为元数据信息,所述元数据信息中包含自由视角数据盒;所述自由视角数据盒中包含所述自由视角视频的观看内容的指示信息。
16.如权利要求15所述的方法,其特征在于,所述自由视角数据盒中包含相机参数指示信息,所述相机参数指示信息用于指示所述自由视角视频的观看内容;所述相机参数指示信息包括相机参数及重复相机参数指示字段;
当所述重复相机参数指示字段取值为第一设定值时,表示所述自由视角数据盒中的相机参数对所有相机生效;当所述重复相机参数指示字段取值第二设定值时,表示所述自由视角数据盒中不同相机具备各自的相机参数。
17.如权利要求16所述的方法,其特征在于,所述按照所述自由视角视频的呈现指示信息,显示所述自由视角视频,包括:
根据所述沉浸媒体的观看者在观看时的虚拟视角,从所述媒体文件中确定观看所需的图像数据;
按照所述相机参数指示信息,对所述图像数据进行解码并显示。
18.如权利要求1-17任一项所述的方法,其特征在于,所述沉浸媒体的媒体文件被切片为多个媒体片段;所述方法还包括:
获取所述沉浸媒体的传输信令文件,所述传输信令文件包含所述自由视角视频的呈现指示信息对应的描述信息。
19.如权利要求18所述的方法,其特征在于,所述传输信令文件中包含以下至少一项:自由视角相机描述子、自由视角视频角度范围描述子;
其中,所述自由视角相机描述子用于指示相机参数;所述自由视角视频角度范围描述子用于指示所述自由视角视频中自由视角场景的边界信息。
20.如权利要求18所述的方法,其特征在于,所述传输信令文件包含表示层级和自适应集层级,所述自适应集层级中包括一个或多个表示层级;当所述描述信息存在于目标自适应集层级时,用于对所述目标自适应集层级中所有表示层级进行描述;当所述描述信息存在于目标表示层级时,用于对所述目标表示层级进行描述。
21.如权利要求18所述的方法,其特征在于,所述获取沉浸媒体的媒体文件,包括:
根据所述沉浸媒体的观看者在观看时的虚拟视角,以及根据所述传输信令文件中的描述信息,确定观看所需的图像数据所对应的媒体片段;
通过流化传输方式拉取所确定的媒体片段。
22.一种沉浸媒体的数据处理方法,其特征在于,包括:
获取一个或多个相机采集的图像数据,并将所述图像数据编码为自由视角视频;
根据所述自由视角视频的应用形式为所述自由视角视频添加呈现指示信息;所述自由视角视频的呈现指示信息包含所述自由视角视频的观看内容范围的指示信息;
将所述自由视角视频和所述自由视角视频的呈现指示信息封装为沉浸媒体的媒体文件。
23.如权利要求22所述的方法,其特征在于,所述方法还包括:
对所述媒体文件进行切片得到多个媒体片段;以及,
生成所述沉浸媒体的传输信令文件,所述传输信令文件包含所述自由视角视频的呈现指示信息对应的描述信息。
24.一种沉浸媒体的数据处理装置,其特征在于,所述沉浸媒体的数据处理装置包括:
获取单元,用于获取沉浸媒体的媒体文件,所述媒体文件中包含自由视角视频的呈现指示信息,所述呈现指示信息包括所述自由视角视频的观看内容范围的指示信息;
处理单元,用于按照所述自由视角视频的呈现指示信息,显示所述自由视角视频。
25.一种沉浸媒体的数据处理装置,其特征在于,所述沉浸媒体的数据处理装置包括:
获取单元,用于获取一个或多个相机采集的图像数据,并将所述图像数据编码为自由视角视频;
处理单元,用于根据所述自由视角视频的应用形式为所述自由视角视频添加呈现指示信息;所述自由视角视频的呈现指示信息包含所述自由视角视频的观看内容范围的指示信息;以及用于将所述自由视角视频和所述自由视角视频的呈现指示信息封装为沉浸媒体的媒体文件。
26.一种计算机设备,其特征在于,包括:存储装置和处理器;
存储器,所述存储器中存储有计算机程序;
处理器,用于加载所述计算机程序实现如权利要求1-21中任一项所述的沉浸媒体的数据处理方法;或者,用于加载所述计算机程序实现如权利要求22或23所述的沉浸媒体的数据处理方法。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于被处理器加载并执行如权利要求1-21中任一项所述的沉浸媒体的数据处理方法;或者,加载并执行如权利要求22或23所述的沉浸媒体的数据处理方法。
28.一种计算机程序产品,其特征在于,所述计算程序产品包括计算机程序,所述计算机程序适于被处理器加载并执行如权利要求1-21中任一项所述的沉浸媒体的数据处理方法;或者,加载并执行如权利要求22或23所述的沉浸媒体的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210139135.0A CN116643644A (zh) | 2022-02-15 | 2022-02-15 | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210139135.0A CN116643644A (zh) | 2022-02-15 | 2022-02-15 | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116643644A true CN116643644A (zh) | 2023-08-25 |
Family
ID=87623473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210139135.0A Pending CN116643644A (zh) | 2022-02-15 | 2022-02-15 | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116643644A (zh) |
-
2022
- 2022-02-15 CN CN202210139135.0A patent/CN116643644A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111837383B (zh) | 发送和接收关于动态视点的坐标系的元数据的方法和装置 | |
KR102157656B1 (ko) | 360도 비디오를 송수신하는 방법 및 그 장치 | |
US11182875B2 (en) | Coordinate mapping for rendering panoramic scene | |
US20230169719A1 (en) | Method and Apparatus for Processing Immersive Media Data, Storage Medium and Electronic Apparatus | |
CN113891117B (zh) | 沉浸媒体的数据处理方法、装置、设备及可读存储介质 | |
CN114095737B (zh) | 媒体文件封装及解封装方法、装置、设备及存储介质 | |
WO2023098279A1 (zh) | 视频数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品 | |
CN113852829A (zh) | 点云媒体文件的封装与解封装方法、装置及存储介质 | |
US20240015197A1 (en) | Method, apparatus and device for encapsulating media file, and storage medium | |
CN113766271B (zh) | 一种沉浸媒体的数据处理方法、装置及设备 | |
CN116643644A (zh) | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 | |
CN116643643A (zh) | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 | |
CN113497928B (zh) | 一种沉浸媒体的数据处理方法及相关设备 | |
CN115102932B (zh) | 点云媒体的数据处理方法、装置、设备、存储介质及产品 | |
WO2022037423A1 (zh) | 点云媒体的数据处理方法、装置、设备及介质 | |
TWI796989B (zh) | 沉浸媒體的數據處理方法、裝置、相關設備及儲存媒介 | |
EP4290866A1 (en) | Media file encapsulation method and apparatus, media file decapsulation method and apparatus, device and storage medium | |
CN117082262A (zh) | 点云文件封装与解封装方法、装置、设备及存储介质 | |
CN116781675A (zh) | 一种点云媒体的数据处理方法、装置、设备及介质 | |
CN115426502A (zh) | 点云媒体的数据处理方法、装置、设备及存储介质 | |
CN115061984A (zh) | 点云媒体的数据处理方法、装置、设备、存储介质 | |
CN116137664A (zh) | 点云媒体文件封装方法、装置、设备及存储介质 | |
CN115941995A (zh) | 媒体文件封装与解封装方法、装置、设备及存储介质 | |
CN115914672A (zh) | 自由视角视频的文件封装方法、装置、设备及存储介质 | |
CN116248642A (zh) | 媒体文件的封装方法、媒体文件的解封装方法及相关设备 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40091117 Country of ref document: HK |