声学场景和视觉场景的一致性
相关申请的交叉引用
1.本技术要求于2022年9月14日提交的美国专利申请第17/945,024号“声学场景和视觉场景的一致性(consistence of acoustic and visual scenes)”的优先权,该美国专利申请要求于2021年9月27日提交的美国临时申请第63/248,942号“声学场景和视觉场景的一致性(consistence of acoustic and visual scenes)”的优先权。这些先前申请的公开内容通过引用整体并入本文。
技术领域
2.本公开描述了总体上涉及媒体处理的实施例。
背景技术:
3.本文提供的背景描述是为了总体呈现本公开的上下文。就在本背景部分中描述的工作以及在提交时可能不具有现有技术资格的本说明书的各方面而言,目前指定的发明人的工作既没有明确地也没有隐含地承认为本公开的现有技术。
4.在诸如虚拟现实(vr)或增强现实(ar)等沉浸式媒体的应用中,可以提供虚拟场景中的视觉信息和声学场景中的声学信息,以通过数字模拟来创建或模仿物理世界,其中感知是通过用图像、视频、声音或提供引人入胜的整体环境的其它刺激围绕用户来创建的。沉浸式媒体可以创建允许用户与环境的内容交互的环境。
技术实现要素:
5.本公开的各方面提供了用于媒体处理的方法和装置。在一些示例中,用于媒体处理的装置包括处理电路。
6.根据本公开的一方面,提供了一种在媒体处理设备处进行媒体处理的方法。在该方法中,可以接收对象的媒体内容数据。媒体内容数据可以包括由音频引擎生成的声学场景中对象的第一描述和由视觉引擎生成的视觉场景中对象的第二描述。可以确定由声学场景中对象的第一描述指示的第一参数与由视觉场景中对象的第二描述指示的第二参数是否不一致。响应于由声学场景中对象的第一描述指示的第一参数与由视觉场景中对象的第二描述指示的第二参数不一致,声学场景中对象的第一描述和视觉场景中对象的第二描述中的一者可以基于第一描述和第二描述中未被修改的另一者而被修改。修改后的第一描述和第二描述中的一者可以与第一描述和第二描述中未被修改的另一者一致。对象的媒体内容数据可以被提供给接收器,该接收器为媒体应用渲染对象的媒体内容数据。
7.在一些实施例中,第一参数和第二参数可以均与对象的对象尺寸、对象形状、对象位置、对象方向和对象纹理中的一者相关联。
8.声学场景中对象的第一描述和视觉场景中对象的第二描述中的一者可以基于声学场景中对象的第一描述和视觉场景中对象的第二描述中的另一者而被修改。因此,由声学场景中对象的第一描述指示的第一参数可以与由视觉场景中对象的第二描述指示的第
二参数一致。
9.在该方法中,可以基于声学场景中对象的第一描述或视觉场景中对象的第二描述中的至少一者来确定统一场景中对象的第三描述。响应于由声学场景中对象的第一描述指示的第一参数不同于由统一场景中对象的第三描述指示的第三参数,由声学场景中对象的第一描述指示的第一参数可以基于由统一场景中对象的第三描述指示的第三参数而被修改。响应于由视觉场景中对象的第二描述指示的第二参数不同于由统一场景中对象的第三描述指示的第三参数,由视觉场景中对象的第二描述指示的第二参数可以基于由统一场景中对象的第三描述指示的第三参数而被修改。
10.在示例中,可以基于声学场景中对象的第一描述中的对象尺寸来确定统一场景中对象的第三描述中的对象尺寸。可以基于视觉场景中对象的第二描述中的对象尺寸来确定统一场景中对象的第三描述中的对象尺寸。可以基于声学场景中对象的第一描述中的对象与视觉场景中对象的第二描述中的对象之间的交集的交集尺寸来确定统一场景中对象的第三描述中的对象尺寸。可以基于声学场景中对象的第一描述中的对象尺寸与视觉场景中对象的第二描述中的对象尺寸之间的尺寸差异来确定统一场景中对象的第三描述中的对象尺寸。
11.在示例中,可以基于声学场景中对象的第一描述中的对象形状来确定统一场景中对象的第三描述中的对象形状。可以基于视觉场景中对象的第二描述中的对象形状来确定统一场景中对象的第三描述中的对象形状。可以基于声学场景中对象的第一描述中的对象与视觉场景中对象的第二描述中的对象之间的交集的交集形状来确定统一场景中对象的第三描述中的对象形状。可以基于声学场景中对象的第一描述中的对象形状与视觉场景中对象的第二描述中的对象形状之间的形状差异来确定统一场景中对象的第三描述中的对象形状。
12.在示例中,可以基于声学场景中对象的第一描述中的对象位置来确定统一场景中对象的第三描述中的对象位置。可以基于视觉场景中对象的第二描述中的对象位置来确定统一场景中对象的第三描述中的对象位置。可以基于声学场景中对象的第一描述中的对象位置与视觉场景中对象的第二描述中的对象位置之间的位置差异来确定统一场景中对象的第三描述中的对象位置。
13.在示例中,可以基于声学场景中对象的第一描述中的对象方向来确定统一场景中对象的第三描述中的对象方向。可以基于视觉场景中对象的第二描述中的对象方向来确定统一场景中对象的第三描述中的对象方向。可以基于声学场景中对象的第一描述中的对象方向与视觉场景中对象的第二描述中的对象方向之间的方向差异来确定统一场景中对象的第三描述中的对象方向。
14.在示例中,可以基于声学场景中对象的第一描述中的对象纹理来确定统一场景中对象的第三描述中的对象纹理。可以基于视觉场景中对象的第二描述中的对象纹理来确定统一场景中对象的第三描述中的对象纹理。可以基于声学场景中对象的第一描述中的对象纹理与视觉场景中对象的第二描述中的对象纹理之间的纹理差异来确定统一场景中对象的第三描述中的对象纹理。
15.在一些实施例中,可以基于声学场景中对象的第一描述和视觉场景中对象的第二描述中的一者来确定媒体内容数据的锚场景中的对象的描述。响应于基于声学场景中对象
的第一描述来确定锚场景中的对象的描述,可以基于声学场景中对象的第一描述来修改视觉场景中对象的第二描述。响应于基于视觉场景中对象的第二描述来确定锚场景中的对象的描述,可以基于视觉场景中对象的第二描述来修改声学场景中对象的第一描述。进一步地,可以生成信令信息以指示选择声学场景中对象的第一描述和视觉场景中对象的第二描述中的哪一者来确定锚场景的描述。
16.在一些实施例中,可以生成信令信息以指示选择声学场景中对象的第一描述中的第一参数和视觉场景中对象的第二描述中的第二参数中的哪一者来确定统一场景中对象的第三描述中的第三参数。
17.根据本公开的另一方面,提供了一种装置。该装置包括处理电路。该处理电路可以被配置为执行用于媒体处理的方法中的任一种。
18.本公开的各方面还提供了一种存储指令的非易失性计算机可读介质,这些指令在由计算机执行以用于视频解码时,使计算机执行用于媒体处理的方法中的任一种。
附图说明
19.从以下详细描述和附图中,所公开的主题的进一步特征、性质及各种优点将更加明显,在附图中:
20.图1示出了在一些示例中使用6个自由度(6dof)的环境的示意图。
21.图2示出了根据本公开的实施例的mpeg-i沉浸式音频评估平台和过程的示意图。
22.图3示出了根据本公开的实施例的测试场景的示例性声学场景。
23.图4示出了根据本公开的实施例的来自unity引擎的测试场景的示例性视觉场景。
24.图5示出了根据本公开的实施例的媒体系统的框图。
25.图6示出了概述根据本公开的一些实施例的过程的流程图。
26.图7是根据实施例的计算机系统的示意性图示。
具体实施方式
27.包括“沉浸式音频”、“沉浸式视频”和“系统支持”的mpeg-i沉浸式媒体标准套件可以支持虚拟现实(vr)或增强现实(ar)呈现(100),其中用户(102)可以使用6个自由度(6dof)(包括空间导航(x,y,z)和用户头部方向(偏航,俯仰,滚动))导航并与环境交互,例如图1所示。
28.mpeg-i呈现的目标是赋予用户(例如,(102))实际存在于虚拟世界中的感觉。世界(或场景)中的音频可以被感知为在真实世界中,其中声音来自相关联的视觉形象。即,可以以正确的位置和/或正确的距离感知声音。用户在现实世界中的物理移动可以被感知为在虚拟世界中具有匹配的移动。此外,并且重要的是,用户可以与虚拟场景交互,并且使被感知为真实的声音匹配或以其它方式模拟用户在现实世界中的体验。
29.本公开涉及沉浸式媒体。当渲染沉浸式媒体时,声学场景和视觉场景可能会表现出不一致性,这会降低用户的媒体体验。在本公开中,提供了包括方法和装置的各方面以改善声学场景和视觉场景的一致性。
30.在mpeg-i沉浸式音频标准中,视觉场景可以由诸如unity引擎等第一引擎渲染,并且声学场景可以由第二引擎描述。第二引擎可以是音频引擎,诸如mpeg-i沉浸式音频编码
器。
31.图2是示例性mpeg-i沉浸式音频评估平台(aep)(200)的框图。如图2所示,aep(200)可以包括评估组件(202)和离线编码/处理组件(204)。评估组件(202)可以包括unity(212)和max/msp(210)。unity是可以用于创建三维和二维游戏以及交互式模拟和其它体验的跨平台游戏引擎。max/msp,也称为max或max/msp/jitter,是用于例如音乐和多媒体的可视编程语言。max是可以使用灵活的修补和编程环境来容纳和连接用于声音、图形、音乐和交互性的各种工具的平台。
32.unity(212)可以在头戴式显示器(hmd)(214)中显示视频。响应于定位信标(beacon),hmd中的头部定位器(head tracker)可以连接回unity引擎(212),然后unity引擎(212)可以经由unity extosc消息将用户位置和方向信息发送到max/msp(210)。max/msp(210)可以支持并行运行的多个max外部。在aep(200)中,每个max外部可以是实时运行的候选沉浸式音频解码和渲染引擎。例如,如图2所示,max/msp(210)可以包括渲染器a、b和c,它们可以并行运行。仍在图2中,评估组件(202)可以包括编译器(216),该编译器(216)被配置为编译例如python程序并与来自诸如智能电话和游戏控制器等控制器(218)的控制和视频数据通信。编译器(216)还可以经由unity extosc消息与max/msp(210)通信。
33.在离线编码/处理组件(204)中,可以处理mpeg-i沉浸式音频码流。mpeg-h 3d音频(206)可以是用于所有音频信号(例如,(208))的编解码器。因此,音频信号可以为所有支持者渲染器(例如,渲染器a、b和c)所共有。在aep(200)中,可以对音频信号进行“预编码”,这可以意味着可以使用mepg-h 3d音频(206)对原始音频信号进行编码并且然后对其进行解码,并且然后将这些信号提供给评估组件(202)中的max/msp(210)以及各个max外部(或渲染器)。仍参考图2,在离线编码/处理组件(204)中,场景文件(220)中的数据和方向性文件(222)中的数据可以由mpeg-i处理器(或压缩器)(228)处理。经处理的数据可以进一步传输到max/msp(210)。进一步地,hrtf文件(224)中的数据可以被传输到max/msp(210)的渲染器,并且模型文件/视频文件(226)中的数据可以被传输到unity(212)以进行处理。
34.对于沉浸式媒体渲染,声学场景和视觉场景可以由不同的引擎描述。例如,声学场景可以由mpeg-i沉浸式音频编码器输入格式描述,而视觉场景可以由unity引擎描述。由于声学场景和视觉场景由两个不同的引擎或模块处理,可能发生声学场景和视觉场景不一致的情况。
35.图3和图4可以示出声学场景和视觉场景的不一致性的示例。图3示出了mpeg-i沉浸式音频标准中的测试场景的声学场景(300)的概观。如图3中可见,立方体状墙壁元件(304)之间可以存在间隙(例如,(302))。声学衍射效应和阻塞效应可以由测试人员在墙壁元件(304)的拐角和边缘周围进行评估。
36.图4示出了针对图3的相同测试场景的来自unity引擎的视觉场景(400)的概观。如图4中可见,墙壁可以渲染为石头形状,在墙壁元件(402)之间几乎没有间隙。由于由unity渲染的视觉场景(400)中的可见边缘不对应于声学场景(300)中的声学几何形状的边缘,这种差别可能会降低测试人员(或用户)的媒体体验。换句话说,音频渲染器可以在声学场景(300)中声学地渲染由立方体状墙壁元件引起的衍射,而墙壁可以在视觉场景(400)中显示出非常不同的视觉几何形状。由于视觉场景中的墙壁几何形状和声学场景中的墙壁几何形状不一致,测试人员可能感到迷惑,因为所渲染的音频表现得与来自视觉渲染的视觉预期
不一致。
37.所渲染的音频体验与视觉体验之间的不一致性可以由声学场景描述与视觉场景描述之间的不一致性引起。在本公开中,提供了用于改善声学场景描述和视觉场景描述的一致性的方法。
38.由声学场景中对象的描述和视觉场景中对象的描述中的一者指示的对象(例如,墙壁元件(304))的一个或多个参数可以根据由声学场景中对象的描述和视觉场景中对象的描述中的另一者指示的对象的一个或多个参数而被修改。对象的参数可以是对象的对象尺寸、对象形状、对象位置、对象方向、对象纹理(或对象材料)等中的至少一者。
39.在一些实施例中,可以将声学场景描述(或声学场景的描述)修正(或修改)为与视觉场景描述(或视觉场景的描述)一致,并且可以基于被修正的(或被修改的)声学场景描述来提供音频渲染。
40.例如,可以对照视觉场景描述来检查声学场景描述,并且如果在视觉场景描述与声学场景描述之间确定了一个或多个差别或者在一些情况下确定了任何差别,则可以将声学场景描述修正为与视觉场景描述一致。例如,可以基于对象的一个或多个不同参数和一个或多个阈值来确定差别。
41.当声学场景描述中的对象的对象尺寸不同于视觉场景描述中的对象的对象尺寸时,可以基于视觉场景描述中的对象的对象尺寸来改变(或修改)声学场景描述中的对象的对象尺寸。例如,可以将声学场景描述中的对象的对象尺寸改变为与视觉场景描述中的对象的对象尺寸相同(或相等)。因此,声学场景描述中的对象的对象尺寸可以与视觉场景描述中的对象的对象尺寸一致或更一致。
42.当声学场景描述中的对象的对象形状不同于视觉场景描述中的对象的对象形状时,可以基于视觉场景描述中的对象的对象形状来改变声学场景描述中的对象的对象形状。例如,可以将声学场景描述中的对象的对象形状改变为与视觉场景描述中的对象的对象形状相同。
43.当声学场景描述中的对象的对象位置不同于视觉场景描述中的对象的对象位置时,可以基于视觉场景描述中的对象的对象位置来改变声学场景描述中的对象的对象位置。例如,可以将声学场景描述中的对象的对象位置改变为与视觉场景描述中的对象的对象位置相同。
44.当声学场景描述中的对象的对象方向不同于视觉场景描述中的对象的对象方向时,可以基于视觉场景描述中的对象的对象方向来改变声学场景描述中的对象的对象方向。例如,可以将声学场景描述中的对象的对象方向改变为与视觉场景描述中的对象的对象方向相同。
45.当声学场景描述中的对象的对象材料不同于视觉场景描述中的对象的对象材料时,可以基于视觉场景描述中的对象的对象材料来改变声学场景描述中的对象的对象材料。例如,可以将声学场景描述中的对象的对象材料改变为与视觉场景描述中的对象的对象材料相同。
46.在一些实施例中,如果在视觉场景描述与声学场景描述之间确定了一个或多个差别或者在一些情况下确定了任何差别,则可以将视觉场景描述修正为与声学场景描述一致,并且可以基于被修正的视觉场景描述来提供视觉渲染。
47.例如,可以对照声学场景描述来检查视觉场景描述,并且可以将视觉场景描述修正为与声学场景描述一致或更一致。
48.当视觉场景描述中的对象的对象尺寸不同于声学场景描述中的对象的对象尺寸时,可以基于声学场景描述中的对象的对象尺寸来改变视觉场景描述中的对象的对象尺寸。例如,可以将声学场景描述中的对象的对象尺寸改变为与声学场景描述中的对象的对象尺寸相同。
49.当视觉场景描述中的对象的对象形状不同于声学场景描述中的对象的对象形状时,可以基于声学场景描述中的对象的对象形状来改变视觉场景描述中的对象的对象形状。例如,可以将声学场景描述中的对象的对象形状改变为与声学场景描述中的对象的对象形状相同。
50.当视觉场景描述中的对象的对象位置不同于声学场景描述中的对象的对象位置时,可以基于声学场景描述中的对象的对象位置来改变视觉场景描述中的对象的对象位置。例如,可以将声学场景描述中的对象的对象位置改变为与声学场景描述中的对象的对象位置相同。
51.当视觉场景描述中的对象的对象方向不同于声学场景描述中的对象的对象方向时,可以基于声学场景描述中的对象的对象方向来改变视觉场景描述中的对象的对象方向。例如,可以将声学场景描述中的对象的对象方向改变为与声学场景描述中的对象的对象方向相同。
52.当视觉场景描述中的对象的对象材料不同于声学场景描述中的对象的对象材料时,可以基于声学场景描述中的对象的对象材料来改变视觉场景描述中的对象的对象材料。例如,可以将声学场景描述中的对象的对象材料改变为与声学场景描述中的对象的对象材料相同。
53.在一些实施例中,声学场景描述和视觉场景描述可以合并或以其它方式组合以生成统一场景描述。当声学场景描述不同于统一场景描述时,可以基于统一场景描述来修正声学场景描述或将其修正为与统一场景描述一致,并且音频渲染可以应用被修正的声学场景描述。当视觉场景描述不同于统一场景描述时,可以基于统一场景描述来修正视觉场景描述或将其修正为与统一场景描述一致,并且视觉渲染可以应用被修正的视觉场景描述。
54.在实施例中,当声学场景描述中的对象的对象尺寸不同于视觉场景描述中的对象的对象尺寸时,统一场景描述中的对象的对象尺寸可以是以下各项中的一者或基于以下各项:(1)声学场景描述中的对象的对象尺寸,(2)视觉场景描述中的对象的对象尺寸,(3)声学场景描述中的对象与视觉场景描述中的对象的交集的尺寸,或者(4)基于声学场景描述中的对象尺寸与视觉场景描述中的对象尺寸之间的差异的尺寸。在一些示例中,可以将不同的权重应用于声学场景描述和视觉场景描述中的对象的尺寸。
55.在实施例中,当声学场景描述中的对象的对象形状不同于视觉场景描述中的对象的对象形状时,统一场景描述中的对象形状可以是以下各项中的一者或基于以下各项:(1)声学场景描述中的对象形状,(2)视觉场景描述中的对象形状,(3)声学场景描述中的对象与视觉场景描述中的对象的交集的形状,或者(4)基于声学场景描述中的对象形状与视觉场景描述中的对象形状之间的差异的形状。在一些示例中,可以将不同的权重应用于声学场景描述和视觉场景描述中的对象的形状。
56.在实施例中,当声学场景描述中的对象的对象位置不同于视觉场景描述中的对象的对象位置时,统一场景描述中的对象的对象位置可以是以下各项中的一者或基于以下各项:(1)声学场景描述中的对象位置,(2)视觉场景描述中的对象位置,或者(3)基于声学场景描述中的对象位置与视觉场景描述中的对象位置之间的差异的位置。在一些示例中,可以将不同的权重应用于声学场景描述和视觉场景描述中的对象的位置。
57.在实施例中,当声学场景描述中的对象的对象方向不同于视觉场景描述中的对象的对象方向时,统一场景描述中的对象方向可以是以下各项中的一者或基于以下各项:(1)声学场景描述中的对象方向,(2)视觉场景描述中的对象方向,或者(3)基于声学场景描述中的对象方向与视觉场景描述中的对象方向之间的差异的方向。在一些示例中,可以将不同的权重应用于声学场景描述和视觉场景描述中的对象的对象方向。
58.在实施例中,当声学场景描述中的对象的对象材料(例如,对象纹理、对象组成或对象物质)不同于视觉场景描述中的对象的对象材料时,统一场景描述中的对象材料可以是以下各项中的一者或基于以下各项:(1)声学场景描述中的对象材料,(2)视觉场景描述中的对象材料,或者(3)基于声学场景描述中的对象材料与视觉场景描述中的对象材料之间的差异的材料。在一些示例中,可以将不同的权重应用于声学场景描述和视觉场景描述中的对象的材料。
59.在一些实施例中,可以基于视觉场景描述和声学场景描述中的一者来确定(或选择)锚场景描述。例如,锚场景可以包括锚,这些锚是ar软件可以识别并应用于集成现实世界和虚拟世界的对象。可以将声学场景描述修正为与视觉场景描述一致,或者可以将视觉场景描述修正为与声学场景描述一致。视觉渲染或音频渲染可以进一步基于所选择的(或所确定的)锚场景描述。
60.在一个实施例中,可以将指示作为与视觉数据或音频数据相关联的码流的一部分发送到接收器(或客户端)。该指示可以指示锚场景描述是基于视觉场景描述还是基于声学场景描述。在另一实施例中,这样的指示可以作为系统级元数据的一部分被发送。
61.在一些实施例中,可以将诸如选择消息等选择信息发信号通知给接收器(或客户端)。选择消息可以指示统一场景描述是如何生成的。例如,选择消息可以指示统一场景描述是否是从视觉场景和/或音频场景(或声学场景)中确定的。因此,根据选择消息,统一场景可以被确定为例如视觉场景或音频场景中的一者。换句话说,在一些示例中,可以选择视觉场景或音频场景作为统一场景。视觉渲染或音频渲染可以基于所选择的统一场景描述。例如,信令信息(例如,选择消息)可以作为码流的一部分或作为系统级元数据而被发送。
62.在实施例中,统一场景描述中的对象的对象尺寸可以被发信号通知为来自视觉场景或音频场景。因此,根据信令信息,统一场景描述中的对象的对象尺寸可以被确定为或基于视觉场景描述中的对象的对象尺寸或声学场景描述中的对象的对象尺寸中的一者。
63.在实施例中,场景描述中的对象的对象形状可以被发信号通知为来自视觉场景或音频场景。因此,根据信令信息,统一场景描述中的对象的对象形状可以被确定为或基于视觉场景描述中的对象的对象形状或声学场景描述中的对象的对象形状中的一者。
64.在实施例中,场景描述中的对象的对象方向可以被发信号通知为来自视觉场景或音频场景。因此,根据信令信息,统一场景描述中的对象的对象方向可以被确定为或基于视觉场景描述中的对象的对象方向或声学场景描述中的对象的对象方向中的一者。
65.在实施例中,场景描述中的对象的对象位置可以被发信号通知为来自视觉场景或音频场景。因此,根据信令信息,统一场景描述中的对象的位置可以被确定为或基于视觉场景描述中的对象的位置或声学场景描述中的对象的位置中的一者。
66.在实施例中,场景描述中的对象的对象材料可以被发信号通知为来自视觉场景或音频场景。因此,根据信令信息,统一场景描述中的对象的对象材料可以被确定为或基于视觉场景描述中的对象的对象材料或声学场景描述中的对象的对象材料中的一者。
67.图5示出了根据本公开的实施例的媒体系统(500)的框图。媒体系统(500)可以用于各种使用应用,诸如沉浸式媒体应用、增强现实(ar)应用、虚拟现实应用、视频游戏应用、体育游戏动画应用、电话会议和远程呈现应用、流媒体应用等。
68.媒体系统(500)包括媒体服务器设备(510)和可以通过网络(未示出)连接的多个媒体客户端设备,诸如图5所示的媒体客户端设备(560)。在示例中,媒体服务器设备(510)可以包括具有音频编解码和视频编解码功能的一个或多个设备。在示例中,媒体服务器设备(510)包括单个计算设备,诸如台式计算机、膝上型计算机、服务器计算机、平板计算机等。在另一示例中,媒体服务器设备(510)包括一个或多个数据中心、一个或多个服务器群等。媒体服务器设备(510)可以接收媒体内容数据。媒体内容数据可以包括视频和音频内容。媒体内容数据可以包括由音频引擎生成的声学场景中对象的描述和由视觉引擎生成的视觉场景中对象的描述。媒体服务器设备(510)可以根据合适的媒体编解码标准将视频内容和音频内容压缩为一个或多个已编码码流。已编码码流可以经由网络被传输到媒体客户端设备(560)。
69.媒体客户端设备(560)可以包括具有用于媒体应用的视频编解码和音频编解码功能的一个或多个设备。在示例中,媒体客户端设备(560)可以包括计算设备,诸如台式计算机、膝上型计算机、服务器计算机、平板计算机、可穿戴计算设备、hmd设备等。媒体客户端设备(560)可以根据合适的媒体编解码标准对已编码码流进行解码。已解码视频内容和音频内容可以用于媒体播放。
70.可以使用任何合适的技术实施媒体服务器设备(510)。在图5的示例中,媒体服务器设备(510)包括耦合在一起的处理电路(530)和接口电路(511)。
71.处理电路(530)可以包括任何合适的处理电路,诸如一个或多个中央处理单元(cpu)、一个或多个图形处理单元(gpu)、专用集成电路等。处理电路(530)可以被配置为包括各种编码器,诸如音频编码器、视频编码器等。在示例中,一个或多个cpu和/或gpu可以执行软件以充当音频编码器或视频编码器。在另一示例中,可以使用专用集成电路实施音频编码器或视频编码器。
72.在一些示例中,处理电路(530)包括场景处理器(531)。场景处理器(531)可以确定由声学场景中对象的描述指示的对象的一个或多个参数与由视觉场景中对象的描述指示的对象的一个或多个参数是否不同。响应于由声学场景中对象的描述指示的对象的参数与由视觉场景中对象的描述指示的对象的参数不同,场景处理器(531)可以修改声学场景中对象的描述或视觉场景中对象的描述中的至少一者,使得由声学场景中对象的描述指示的对象的参数与由视觉场景中对象的描述指示的对象的参数一致或更一致。
73.接口电路(511)可以将媒体服务器设备(510)与网络接合。接口电路(511)可以包括从网络接收信号的接收部分和向网络传输信号的传输部分。例如,接口电路(511)可以经
由网络将携带已编码码流的信号传输到其它设备,诸如媒体客户端设备(560)等。接口电路(511)可以从诸如媒体客户端设备(560)等媒体客户端设备接收信号。
74.网络合适地经由有线和/或无线连接(诸如以太网连接、光纤连接、wifi连接、蜂窝网络连接等)与媒体服务器设备(510)和媒体客户端设备(560)耦合。网络可以包括网络服务器设备、存储设备、网络设备等。网络的组件合适地经由有线和/或无线连接耦合在一起。
75.媒体客户端设备(560)可以被配置为对已编码码流进行解码。在示例中,媒体客户端设备(560)可以执行视频解码以重建可以被显示的视频帧序列,并且可以执行音频解码以生成用于播放的音频信号。
76.可以使用任何合适的技术实施媒体客户端设备(560)。在图5的示例中,示出了媒体客户端设备(560),但其不限于具有耳机的hmd以作为可以由用户(520)使用的用户设备。
77.在图5中,媒体客户端设备(560)可以包括如图5所示耦合在一起的接口电路(561)和处理电路(570)。
78.接口电路(561)可以将媒体客户端设备(560)与网络接合。接口电路(561)可以包括从网络接收信号的接收部分和向网络传输信号的传输部分。例如,接口电路(561)可以从网络接收携带数据的信号,诸如携带已编码码流的信号。
79.处理电路(570)可以包括合适的处理电路,诸如cpu、gpu、专用集成电路等。处理电路(570)可以被配置为包括各种组件,诸如场景处理器(571)、渲染器(572)、视频解码器(未示出)、音频解码器(未示出)等。
80.在一些示例中,音频解码器可以通过选择适合于音频内容编码方案的解码工具来对已编码码流中的音频内容进行解码,并且视频解码器可以通过选择适合于视频内容编码方案的解码工具来对已编码码流中的视频内容进行解码。场景处理器(571)被配置为修改已解码媒体内容中的视觉场景的描述和声学场景的描述中的一者。因此,由声学场景中对象的描述指示的对象的一个或多个参数与由视觉场景中对象的描述指示的对象的一个或多个参数一致。
81.进一步地,渲染器(572)可以根据从已编码码流解码的音频内容和视频内容来生成适合于媒体客户端设备(560)的最终数字产品。应当注意,处理电路(570)可以包括其它合适的组件(未示出),诸如混频器、后处理电路等,以用于进一步媒体处理。
82.图6示出了概述根据本公开的实施例的过程(600)的流程图。过程(600)可以由媒体处理设备执行,诸如媒体服务器设备(510)中的场景处理器(531)、媒体客户端设备(560)中的场景处理器(571)等。在一些实施例中,过程(600)以软件指令实施,因此当处理电路执行软件指令时,处理电路执行过程(600)。该过程开始于(s601)处并进行到(s610)。
83.在(s610)处,可以接收对象的媒体内容数据。媒体内容数据可以包括由音频引擎生成的声学场景中对象的第一描述和由视觉引擎生成的视觉场景中对象的第二描述。
84.在(s620)处,可以确定由声学场景中对象的第一描述指示的第一参数与由视觉场景中对象的第二描述指示的第二参数是否不一致。
85.在(s630)处,响应于由声学场景中对象的第一描述指示的第一参数与由视觉场景中对象的第二描述指示的第二参数不一致,声学场景中对象的第一描述和视觉场景中对象的第二描述中的一者可以基于第一描述和第二描述中未被修改的另一者而被修改。修改后的第一描述和第二描述中的一者可以与第一描述和第二描述中未被修改的另一者一致。
86.在(s640)处,对象的媒体内容数据可以被提供给接收器,该接收器为媒体应用渲染对象的媒体内容数据。
87.在一些实施例中,第一参数和第二参数可以均与对象的对象尺寸、对象形状、对象位置、对象方向和对象纹理中的一者相关联。
88.声学场景中对象的第一描述和视觉场景中对象的第二描述中的一者可以基于声学场景中对象的第一描述和视觉场景中对象的第二描述中的另一者而被修改。因此,由声学场景中对象的第一描述指示的第一参数可以与由视觉场景中对象的第二描述指示的第二参数一致。
89.在过程(600)中,可以基于声学场景中对象的第一描述或视觉场景中对象的第二描述中的至少一者来确定统一场景中对象的第三描述。响应于由声学场景中对象的第一描述指示的第一参数不同于由统一场景中对象的第三描述指示的第三参数,由声学场景中对象的第一描述指示的第一参数可以基于由统一场景中对象的第三描述指示的第三参数而被修改。响应于由视觉场景中对象的第二描述指示的第二参数不同于由统一场景中对象的第三描述指示的第三参数,由视觉场景中对象的第二描述指示的第二参数可以基于由统一场景中对象的第三描述指示的第三参数而被修改。
90.在示例中,可以基于声学场景中对象的第一描述中的对象尺寸来确定统一场景中对象的第三描述中的对象尺寸。可以基于视觉场景中对象的第二描述中的对象尺寸来确定统一场景中对象的第三描述中的对象尺寸。可以基于声学场景中对象的第一描述中的对象与视觉场景中对象的第二描述中的对象之间的交集的交集尺寸来确定统一场景中对象的第三描述中的对象尺寸。可以基于声学场景中对象的第一描述中的对象尺寸与视觉场景中对象的第二描述中的对象尺寸之间的尺寸差异来确定统一场景中对象的第三描述中的对象尺寸。
91.在示例中,可以基于声学场景中对象的第一描述中的对象形状来确定统一场景中对象的第三描述中的对象形状。可以基于视觉场景中对象的第二描述中的对象形状来确定统一场景中对象的第三描述中的对象形状。可以基于声学场景中对象的第一描述中的对象与视觉场景中对象的第二描述中的对象之间的交集的交集形状来确定统一场景中对象的第三描述中的对象形状。可以基于声学场景中对象的第一描述中的对象形状与视觉场景中对象的第二描述中的对象形状之间的形状差异来确定统一场景中对象的第三描述中的对象形状。
92.在示例中,可以基于声学场景中对象的第一描述中的对象位置来确定统一场景中对象的第三描述中的对象位置。可以基于视觉场景中对象的第二描述中的对象位置来确定统一场景中对象的第三描述中的对象位置。可以基于声学场景中对象的第一描述中的对象位置与视觉场景中对象的第二描述中的对象位置之间的位置差异来确定统一场景中对象的第三描述中的对象位置。
93.在示例中,可以基于声学场景中对象的第一描述中的对象方向来确定统一场景中对象的第三描述中的对象方向。可以基于视觉场景中对象的第二描述中的对象方向来确定统一场景中对象的第三描述中的对象方向。可以基于声学场景中对象的第一描述中的对象方向与视觉场景中对象的第二描述中的对象方向之间的方向差异来确定统一场景中对象的第三描述中的对象方向。
94.在示例中,可以基于声学场景中对象的第一描述中的对象纹理来确定统一场景中对象的第三描述中的对象纹理。可以基于视觉场景中对象的第二描述中的对象纹理来确定统一场景中对象的第三描述中的对象纹理。可以基于声学场景中对象的第一描述中的对象纹理与视觉场景中对象的第二描述中的对象纹理之间的纹理差异来确定统一场景中对象的第三描述中的对象纹理。
95.在一些实施例中,可以基于声学场景中对象的第一描述和视觉场景中对象的第二描述中的一者来确定媒体内容数据的锚场景中的对象的描述。响应于基于声学场景中对象的第一描述来确定锚场景中的对象的描述,可以基于声学场景中对象的第一描述来修改视觉场景中对象的第二描述。响应于基于视觉场景中对象的第二描述来确定锚场景中的对象的描述,可以基于视觉场景中对象的第二描述来修改声学场景中对象的第一描述。进一步地,可以生成信令信息以指示选择声学场景中对象的第一描述和视觉场景中对象的第二描述中的哪一者来确定锚场景的描述。
96.在一些实施例中,可以生成信令信息以指示选择声学场景中对象的第一描述中的第一参数和视觉场景中对象的第二描述中的第二参数中的哪一者来确定统一场景中对象的第三描述中的第三参数。
97.然后,该过程进行到(s699)并终止。
98.可以合适地改变该过程(600)。可以修改和/或省略过程(600)中的一个或多个步骤。可以添加一个或多个附加步骤。可以使用任何合适的实施顺序。
99.上述技术可以被实施为使用计算机可读指令并物理地存储在一个或多个计算机可读介质中的计算机软件。例如,图7示出了适于实施所公开的主题的某些实施例的计算机系统(700)。
100.可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,该机器代码或计算机语言可以通过汇编、编译、链接或类似机制来创建代码,该代码包括可以由一个或多个计算机中央处理单元(cpu)、图形处理单元(gpu)等直接或通过解释、微代码执行等执行的指令。
101.指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等。
102.图7所示的用于计算机系统(700)的组件本质上是示例性的,并且不旨在对实施本公开的实施例的计算机软件的使用范围或功能提出任何限制。组件的配置也不应被解释为对计算机系统(700)的示例性实施例中所图示的任何一个组件或其组合具有任何依赖性或要求。
103.计算机系统(700)可以包括某些人机接口输入设备。这样的人机接口输入设备可以响应于一个或多个人类用户通过例如触觉输入(诸如:击键、滑动、数据手套移动)、音频输入(诸如:语音、拍打)、视觉输入(诸如:手势)、嗅觉输入(未描绘)的输入。人机接口设备还可以用于捕获不一定与人的有意识输入直接相关的某些介质,诸如音频(诸如:语音、音乐、环境声音)、图像(诸如:扫描图像、从静止图像照相机获得的摄影图像)、视频(诸如二维视频、包括立体视频的三维视频)。
104.输入人机接口设备可以包括以下各项中的一者或多者(每种仅描绘了一个):键盘(701)、鼠标(702)、触控板(703)、触摸屏(710)、数据手套(未示出)、操纵杆(705)、麦克风
(706)、扫描仪(707)、照相机(708)。
105.计算机系统(700)还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和嗅觉/味觉来刺激一个或多个人类用户的感觉。这样的人机接口输出设备可以包括触觉输出设备(例如,触摸屏(710)、数据手套(未示出),或操纵杆(705)的触觉反馈,但也可以有不用作输入设备的触觉反馈设备)、音频输出设备(诸如:扬声器(709)、耳机(未描绘))、视觉输出设备(诸如屏幕(710),包括crt屏幕、lcd屏幕、等离子屏幕、oled屏幕,其各自具有或不具有触摸屏输入能力,各自具有或不具有触觉反馈能力—其中一些能够通过诸如立体输出等方式输出二维视觉输出或多于三维输出;虚拟现实眼镜(未描绘)、全息显示器和烟雾罐(未描绘)),以及打印机(未描绘)。
106.计算机系统(700)还可以包括人类可访问的存储设备及其相关联的介质,诸如包括具有cd/dvd的cd/dvd rom/rw(720)等介质的光学介质(721)、拇指驱动器(722)、可移动硬盘驱动器或固态驱动器(723)、诸如磁带和软盘(未描绘)的传统磁性介质、诸如安全软件狗(未描绘)的基于专用rom/asic/pld的设备等。
107.本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不涵盖传输介质、载波或其它易失性信号。
108.计算机系统(700)还可以包括到一个或多个通信网络(755)的接口(754)。网络可以是例如无线的、有线的、光学的。网络可以进一步是本地的、广域的、城域的、车载的和工业的、实时的、延迟容许的等等。网络的示例包括诸如以太网的局域网、无线lan、包括gsm、3g、4g、5g、lte等的蜂窝网络、包括有线电视、卫星电视和地面广播电视的tv有线或无线广域数字网络、包括canbus的车辆和工业网络等。某些网络通常需要附接到某些通用数据端口或外围总线(749)的外部网络接口适配器(诸如计算机系统(700)的usb端口);其它网络通常通过附接到如下所述的系统总线而集成到计算机系统(700)的核心中(例如,以太网接口到pc计算机系统中或蜂窝网络接口到智能电话计算机系统中)。使用这些网络中的任一者,计算机系统(700)可以与其它实体进行通信。这样的通信可以是单向的仅接收(例如,广播tv)、单向的仅发送(例如,canbus到某些canbus设备),或双向的,例如到使用局域或广域数字网络的其它计算机系统。可以在如上所述的那些网络和网络接口中的每一者上使用某些协议和协议栈。
109.上述人机接口设备、人类可访问的存储设备和网络接口可以附接到计算机系统(700)的核心(740)。
110.核心(740)可以包括一个或多个中央处理单元(cpu)(741)、图形处理单元(gpu)(742)、现场可编程门阵列(fpga)形式的专用可编程处理单元(743)、用于某些任务的硬件加速器(744)、图形适配器(750)等。这些设备连同只读存储器(rom)(745)、随机存取存储器(746)、诸如内部非用户可访问硬盘驱动器、ssd等的内部大容量存储器(747)可以通过系统总线(748)连接。在一些计算机系统中,系统总线(748)可以以一个或多个物理插头的形式访问,以使得能够通过附加cpu、gpu等进行扩展。外围设备可以直接或通过外围总线(749)附接到核心的系统总线(748)。在示例中,屏幕(710)可以连接到图形适配器(750)。外围总线的体系结构包括pci、usb等。
111.cpu(741)、gpu(742)、fpga(743)和加速器(744)可以执行某些指令,这些指令的组合可以构成上述计算机代码。该计算机代码可以存储在rom(745)或ram(746)中。过渡数据
也可以存储在ram(746)中,而永久数据可以存储在例如内部大容量存储器(747)中。可以通过使用高速缓存存储器来启用对存储器设备中的任一个的快速存储和检索,高速缓存存储器可以与一个或多个cpu(741)、gpu(742)、大容量存储器(747)、rom(745)、ram(746)等紧密关联。
112.计算机可读介质可以在其上具有用于执行各种计算机实施的操作的计算机代码。介质和计算机代码可以是为了本公开的目的而专门设计和构建的那些,或者它们可以是计算机软件领域技术人员众所周知和可用的类型。
113.作为示例而非限制,具有体系结构的计算机系统(700),并且特别是核心(740)可以提供功能以作为一个或多个处理器(包括cpu、gpu、fpga、加速器等)执行体现在一个或多个有形的计算机可读介质中的软件的结果。这样的计算机可读介质可以是与如上所述的用户可访问的大容量存储器相关联的介质,以及具有非易失性性质的核心(740)的某些存储器,诸如核心内部大容量存储器(747)或rom(745)。实施本公开的各种实施例的软件可以存储在这样的设备中并由核心(740)执行。根据特定需要,计算机可读介质可以包括一个或多个存储器设备或芯片。软件可以使核心(740)并且特别是其中的处理器(包括cpu、gpu、fpga等)执行本文描述的特定过程或特定过程的特定部分,包括定义存储在ram(746)中的数据结构并且根据由软件定义的过程修改这样的数据结构。另外或作为替代,计算机系统可以提供功能以作为逻辑硬连线或以其它方式体现在电路(例如:加速器(744))中的结果,该电路可以代替软件或与软件一起操作以执行本文描述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以涵盖逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可以涵盖存储用于执行的软件的电路(诸如集成电路(ic))、体现用于执行的逻辑的电路,或两者。本公开涵盖硬件和软件的任何合适的组合。
114.虽然本公开已经描述了若干示例性实施例,但是存在属于本公开的范围内的改变、置换和各种替代等同物。因此应当理解,本领域技术人员将能够设计许多系统和方法,这些系统和方法尽管未在本文中明确示出或描述,但体现本公开的原理,并且因此在本公开的精神和范围内。