CN115136594A - 在沉浸式视频中对于每个图集标示启用视图的方法和装置 - Google Patents

在沉浸式视频中对于每个图集标示启用视图的方法和装置 Download PDF

Info

Publication number
CN115136594A
CN115136594A CN202180016128.5A CN202180016128A CN115136594A CN 115136594 A CN115136594 A CN 115136594A CN 202180016128 A CN202180016128 A CN 202180016128A CN 115136594 A CN115136594 A CN 115136594A
Authority
CN
China
Prior art keywords
atlas
bitstream
view
metadata
views
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
CN202180016128.5A
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN115136594A publication Critical patent/CN115136594A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/122Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

公开了在沉浸式视频中对于每个图集来对启用的视图进行采样的方法、装置、系统和制品。一种示例装置包括接口,用于获得与沉浸式视频相对应的比特流;比特流分析器,用于确定与比特流的图集相对应的元数据识别出感兴趣的视图的至少一部分对应于该图集,元数据被包括在比特流中;以及过滤器,用于通过从比特流中去除不识别所述感兴趣的视图的至少一部分的图集来生成过滤后的比特流,该接口用于将过滤后的比特流提供给解码器。

Description

在沉浸式视频中对于每个图集标示启用视图的方法和装置
相关申请
本专利要求2020年3月31日递交的美国临时申请63/003,131号的权益。特此通过引用将美国临时申请63/003,131号全部并入在此。特此要求美国临时申请63/003,131号的优先权。
技术领域
本公开概括而言涉及视频处理,更具体而言,涉及在沉浸式视频中对于每个图集(atlas)来对启用的视图进行采样的方法和装置。
背景技术
在视频压缩/解压缩(编解码器)系统中,压缩效率和视频质量是重要的性能标准。例如,视觉质量是许多视频应用中的用户体验的一个重要方面。压缩效率影响到存储视频文件所需要的存储器量和/或传输和/或流传输视频内容所需要的带宽量。视频编码器通常压缩视频信息以使得更多的信息可通过给定的带宽被发送或者被存储在给定的存储器空间中,等等。压缩的信号或数据随后被解码器解码,该解码器对信号或数据进行解码或解压缩来显示给用户。在大多数示例中,带有更大压缩的更高视觉质量是想要的。
当前,正在为沉浸式视频编码和点云编码开发标准,包括基于视频的点云压缩(Video-based Point Cloud Compression,V-PCC)和MPEG沉浸式视频编码(MPEGImmersive Video Coding,MIV)。这种标准尝试在沉浸式视频和点云编码的情境中建立并且改善压缩效率和重建质量。
附图说明
图1是用于过滤比特流的示例环境。
图2是图1的环境中包括的示例图集数据指示器的示例实现方式的框图。
图3是图1的环境中包括的示例媒体感知网络元件的示例实现方式的框图。
图4是代表可被执行来实现图2的图集数据指示器的示例机器可读指令的流程图。
图5是代表可被执行来实现图3的媒体感知网络元件的示例机器可读指令的流程图。
图6是代表可被执行来实现图1的环境中包括的示例解码器的示例机器可读指令的流程图。
图7是被构造来执行图4的指令以实现图1和/或图2的图集数据指示器的示例处理平台的框图。
图8是被构造来执行图5的指令以实现图1和/或图3的媒体感知网络元件的示例处理平台的框图。
图9是被构造来执行图6的指令以实现图1的解码器的示例处理平台的框图。
附图不是按比例的。相反,在附图中可能放大了层或区域的厚度。一般而言,相同的标号将在各幅图和伴随的书面描述的各处被用于指代相同或相似的部件。如本专利中所使用的,叙述任何部件(例如,层、膜、区、区域或板)以任何方式在另一部件上(例如,定位在其上、位于其上、被布置在其上、或者被形成在其上,等等),表明所提及的部件或者与另一部件接触,或者所提及的部件在另一部件上方,有一个或多个中间部件位于其间。提及连接(例如,附接、耦合、连接、以及接合)应被宽泛解释,并且可包括元素的集合之间的中间构件和元素之间的相对运动,除非另有指示。因此,提及连接不一定推断出两个元素是直接连接并且彼此之间有固定关系的。叙述任何部件与另一部件“接触”,意思是在这两个部件之间没有中间部件。虽然附图中示出了具有清晰线条和边界的层和区域,但这些线条和/或边界中的一些或者全部可能是理想化的。在现实中,边界和/或线条可能是难以察觉的,混合的,和/或不规则的。
本文中在识别可被分开提及的多个元素或组件时使用描述语“第一”、“第二”、“第三”,等等。除非另有指明或者基于其使用上下文另有理解,否则这种描述语并不打算灌输优先级、物理顺序或者列表中的排列或者时间上的排序的任何含义,而只是被用作用于分开提及多个元素或组件的标签,以便容易理解所公开的示例。在一些示例中,描述语“第一”在详细描述中可被用于提及某一元素,而同一元素在权利要求中可被用不同的描述语来提及,例如“第二”或“第三”。在这种情况中,应当理解,这种描述语只是为了容易引用多个元素或组件而使用的。
具体实施方式
在沉浸式视频编码和点云编码的情境中,可以利用视频标准,例如基于视觉体积视频的编码(Visual Volumetric Video-based Coding,V3C)和基于视频的点云压缩(V-PCC)以及MPEG沉浸式视频编码(MIV)。沉浸式视频是一种每帧支持多个视图的视频,多个视图对应于不同的位置、方向,等等。当沉浸式视频被显示时,与沉浸式视频相对应的许多不同视图被提供给显示器。例如,在360度视频中,渲染系统可以获得与360度视频相对应的比特流,并且输出与显示器的方向相对应的视图(例如,当与90度窗口相对应的显示器旋转时,基于该旋转的与90度窗口相对应的视图被显示,以便渲染系统可以通过围绕360度景观旋转设备来在90度窗口中观看整个360度视频)。
在V3C/V-PCC中,使用点云在用于纹理(例如颜色)以及用于几何(例如深度)的平面上的多个投影,动态点云被压缩。在动态点云被压缩之后,压缩后的动态点云被分割以从投影平面提取相似深度的矩形区域,也被称为斑块(patch)。这些斑块被打包成带有占用图谱(occupancy map)的图集或图集瓦片(atlas tile)。占用图谱指示出图集的要被使用的部分(例如,图集中打包的斑块内的占用区域)。此外,斑块信息元数据被用来指示出如何在投影计划和画布(例如,图集或图集瓦片)之间映射斑块。二维(2D)视频编解码器,例如高效率视频编码(High Efficiency Video Coding,HEVC),被用来利用画布的几何和纹理成分的空间和时间冗余。关于原始投影中的和图集或图集瓦片中的斑块的大小和位置的信息被作为编码图集瓦片数据来标示。占有信息也被标示。图集可以被细分为非重叠数据块的网格,并且块大小可被包括在比特流中。图集数据包括每个块指示(例如,数据块的斑块标识和/或索引)的斑块值。该块可以对应于斑块,或者可以是斑块的子集。在一些示例中,斑块与其他斑块重叠。斑块数据在比特流中被标示的顺序(例如,与斑块标识符相对应)被用于确定特定块位置的斑块优先级,例如,较高斑块标识符值的斑块可以有优先权。
在经由V3C/V-PCC和MIV标准进行编码时,矩形斑块由投影视图形成,并且被排列成图集。斑块在图集内可能重叠,并且最后标示的斑块在解决重叠时有优先权。这些标准定义了一种标示机制,来为图集中的每个斑块发送编码的图集数据,包括如下信息:包括斑块在其相应的投影视图中的大小和位置和/或斑块标识符。图集数据是每个图集中的数据块与斑块的映射。在一些示例中,这样的信息被包括在编码图集瓦片数据语法结构内。编码图集数据可以由解码器解码以获得图集数据。在一些示例中,编码图集瓦片数据语法结构在每个帧时间或实例中被标示。在一些示例中,编码图集瓦片数据语法结构在多个连续的帧时间或实例中持续存在。与不同的图集或图集瓦片相对应的多个编码图集瓦片数据语法结构可以在同一访问单元(例如,比特流的具有相同解码顺序计数(例如,与特定时间实例相对应的V-PCC/MIV比特流的数据)的成分(例如,图集数据、纹理视频、几何视频、占用视频,等等)的一部分)内被标示,所有这些都对应于同一帧时间、实例或者图片顺序计数(Picture Order Count,POC)值。
多个图集可被用于MIV。在MIV中,将斑块排列成图集可以在多个帧时间中持续存在。持续性对应于在数据被额外的数据取代之前,与图集相对应的数据可以持续多长时间。在本文公开的示例中,提供了包括各个图集中可能包括的视图的标识的补充增强信息(supplemental enhancement information,SEI)消息。这样的消息可以在MIV标准、V3C/V-PCC标准和/或任何其他生成比特流中包括的消息的标准中实现。
为了发送图像数据(例如,其中包括与沉浸式视频和/或图像相对应的不同视图),编码器首先对与图像或帧相对应的纹理和/或深度数据进行编码。例如,编码器可以将多个视图(例如,与沉浸式视频的一部分相对应的图像数据)分解成数据斑块,并且将数据斑块编码为一个或多个图集。这些图集以比特流的形式被传输给解码设备。在获得比特流之后,解码设备对图集进行解码,以通过首先解码一个或多个目标视图,来在显示器上渲染一个或多个感兴趣的视口。
在传统的沉浸式视频编码系统中,解码设备获得并且解码与沉浸式视频的所有视图相对应的比特流中的所有图集。然而,解码设备中的渲染器只利用感兴趣的视图(例如,接近将被显示的渲染视口的视图)。例如,通常,当一个或多个视口被同时显示在显示器上时,只有一部分视图是可见的,从而留下不被用于渲染的一个或多个其他部分的解码视图。从而,浪费了资源(例如,带宽、处理资源、存储器资源,等等)来获得和解码比特流的图集中的这种未使用的视图。
本文公开的示例利用媒体感知网络元件(media aware network element,MANE)来过滤掉不会被解码设备利用的图集,从而节约资源。以这种方式,解码设备只解码与感兴趣的(一个或多个)视图(例如,在渲染过程中可用于渲染视口来显示的视图)相对应的图集。所公开的MANE从渲染系统获得反馈数据(例如,感兴趣的视图、视口数据、外在参数,等等),并且比特流通过MANE被路由。以这种方式,MANE可以处理与比特流的图集相对应的SEI消息、元数据,等等,以确定在渲染系统处需要比特流的哪些图集,并且过滤掉不需要的图集。MANE将过滤后的比特流输出到示例渲染系统,以便渲染系统可以用比完整比特流所需要的更少的资源来解码并且渲染与过滤后的比特流相对应的视点。
编码器可以将视图分解成斑块。在一些示例中,视图的所有斑块可被包括在图集中。在一些示例中,视图的斑块被包括在多个不同的图集中(例如,第一图集中的第一组斑块和第二图集中的第二组斑块)。为了协助过滤过程,本文公开的示例为与图集相对应的SEI消息、元数据等等提供了一种语法,以识别哪些图集可对应于不同的视图。例如,本文公开的示例包括与(一个或多个)完整标志相对应的语法元素,该标志识别出整个视图是否被包括在图集中。本文公开的示例还包括(一个或多个)启用标志,该标志识别出图集是否可具有与(一个或多个)特定视图相对应的(一个或多个)斑块。以这种方式,MANE可以处理与比特流的图集相对应的SEI消息、元数据,等等,以确定哪些图集与感兴趣的(一个或多个)视图相对应,并且至少过滤掉不与感兴趣的(一个或多个)视图相对应的图集。
图1是在沉浸式视频中对于每个图集标示启用的视图的示例环境100。该示例环境包括示例编码系统101、示例编码器102、示例图集数据指示器103、示例MANE 104、示例渲染系统106、示例解码器108、示例显示器110、以及示例网络112。
图1的示例编码系统101(也称为编码器、编码设备,等等)和示例渲染系统106可被实现在任何适当外形参数的设备或者一个或多个这种设备中,包括服务器计算机、云计算环境、个人计算机、膝上型计算机、平板设备、平板手机、智能电话、游戏机、可穿戴设备、显示设备、一体化设备、二合一设备,等等。虽然图1的示例编码系统101和示例渲染系统106是在不同的计算设备中实现的,但示例编码系统101和渲染系统106可以在同一设备中实现。
图1的编码系统101包括示例编码器102,以接收与输入视频的多个视图相对应的文本和深度信息来进行编码。可以有场景的任意数目的视图,并且这些视图中的每一者可包括相应的纹理图片或帧(或纹理视频)和相应的几何图片或帧(或几何视频)。对于每个时间实例,提供场景的一个或多个视图的视频数据,以便可以生成多个纹理帧和多个深度或几何帧。例如,每个纹理帧可包括每像素的颜色信息,例如亮度/颜色(YUV)数据、红、绿、蓝(RGB)数据或者类似的数据,并且每个几何或深度帧可包括每像素的深度数据或类似数据。纹理和几何帧可具有相同或不同的分辨率。例如,纹理帧可以是视频图形阵列(videographics array,VGA)、高清晰度(high definition,HD)、全高清(例如,1080p)、4K分辨率视频、8K分辨率视频,等等。本文公开的示例是针对帧和图片(它们是可互换使用的)描述的。
图1的示例编码器102,对于特定的帧索引或实例,生成(例如,从输入视图转换)纹理图集和几何或深度图集。例如,编码器102将多个视图中的每一者分解成斑块(例如,矩形区域),这些斑块被安排以形成图集。编码器102可以格式化图集,以减少多个视图之间的冗余。示例编码器102形成纹理图集(包括纹理信息)和几何或深度图集(包括几何或深度信息)。
图1的示例编码器102还为特定的帧索引或实例确定图集数据,该图集数据包括指示出纹理和深度图集中的每个斑块的来源(例如,与该斑块相关联的相应视图)的元数据。在一些示例中,编码器102为纹理和深度图集生成图集数据的单个实例,以便深度图集的斑块跟随或者匹配纹理图集的斑块,反之亦然。图集数据为使用图集中的纹理和深度斑块数据重建多个视图(或者其一些部分)提供元数据。如本文所使用的,术语图集数据指的是任何指示纹理和深度图集的斑块的来源的数据结构,例如指示这种斑块的来源的数值的2维阵列。在一些示例中,如果像素不对应于斑块,则图集数据包括斑块标识符(或者默认值(例如,作为数据结构中的最高可用值)。在一些示例中,编码器102生成图集数据以包括像素级的数值,每个数值指示像素的源视图(或者如果像素不对应于源视图,则为默认值)。在生成比特流(例如,编码的图集和相应的SEI消息和/或元数据)之后,示例编码系统101经由示例网络112将比特流传输到示例MANE104。
图1的示例编码器102包括示例图集数据指示器103。示例图集数据指示器103生成与特定图集相对应的SEI消息、元数据,等等。图集数据指示器103在SEI消息、元数据等等的语法中包括(一个或多个)元素,这些元素对应于视图是否完全或部分地被包括在图集中。例如,图集数据指示器103可包括一元素,该元素包括这样的值:该值对应于视图是否被完全包括在图集中(例如,与视图相对应的所有斑块都被包括在图集中)和/或与视图相对应的一个或多个斑块是否有可能被包括在图集中。示例图集数据指示器103可以通过设置与完整视图和/或启用视图相对应的元素的(一个或多个)值,来设置指示出图集的视图是否是完整视图和/或(一个或多个)启用视图的标志和/或值。在一些示例中,图集数据指示器103设置标志,在此称为完整标志或者完整阵列(例如,阵列包括值和/或标志),来指示出与视图相对应的所有斑块是否被包括在单个图集中。例如,如果图集指示器103确定第一视图被完全包括在特定图集中,则图集指示器103指出(例如,通过在SEI消息、元数据等等的语法的元素中设置一个或多个值),第一视图被完全包括在特定图集中。在一些示例中,图集数据指示器103对于特定的图集,确定与可被包括在该特定图集中的斑块相关联的视图(例如,对于该特定图集是否启用一个或多个视图)。示例图集数据指示器103生成与每个视图对于该图集是否被启用相对应的启用数据阵列(例如,与每个视图是否有可能被包括在图集中相对应的每视图比特)。例如,如果一图集可能包括与视图2、5和8相对应的斑块,则图集数据指示器103通过将该图集的启用阵列的与视图2、5和8相对应的元素设置为第一值(例如,“1”)并且将其余元素设置为第二值(“0”)来指示出视图2、5和8与该图集相关联。以这种方式,当MANE 104获得比特流时,MANE 104可以处理与图集相对应的相应SEI消息(来自比特流),以确定哪些图集对应于感兴趣的视图(例如,基于完整和/或启用指示)。在编码期间,编码器102可以允许特定的视图被跨两个或更多个图集来存储。然而,由于图集的生成和处理,与特定视图相对应的斑块(例如,即使编码器102可以为特定视图选择两个图集,但跨两个图集存储视图可能是效率不高或者无法实现的)。因此,启用阵列包括指示有可能被包括在图集中、但不一定被包括在图集中的视图的值或标志。这种标志或值在这里被称为启用标志或者启用值。示例编码器102在与各个图集相对应的SEI消息、元数据等等的语法中包括完整标志/值和/或启用标志/值的阵列。
在一些示例中,图2的图集数据指示器103设置了表示完全占用的标志、值或者指示值。当图集中包括斑块时,一些像素可能被占用(例如,包括与像素位置的图像有关的数据),而其他像素可能不被占用(例如,包括空数据)。传统上,与图集相对应的SEI消息和/或元数据将会具有占用阵列,该阵列具有与图集中存储的每个像素相对应的单个数值。如果像素被占用,则编码器102将会用占用阵列的相应元素的第一值来指示出该占用情况。如果像素没有被占用,则编码器102将会用占用阵列的相应元素的第二值来指示出该像素没有被占用。示例图集数据指示器103在SEI消息、元数据等等的语法中包括完全占用标志/值,以指示出图集中的所有像素是否被占用(例如,完全占用标志/值)。以这种方式,如果图集被完全占用,则只需要一个比特来指示出图集中的所有像素的占用状态(例如,而不是对于N个像素有N个比特),从而减少发送/接收图集的带宽和/或资源需求。额外地,或者替代地,可以有每个斑块的占用标志/值。以这种方式,可以在SEI消息、元数据等等中使用完全占用标志来指示出每个斑块的像素的完全占用。如果图集/斑块没有被完全占用,则可以使用每个像素的占用状态。下面结合图2进一步描述示例图集数据指示器103。
图1的示例MANE 104访问来自编码系统101的比特流,并且基于来自示例渲染系统106的反馈,过滤掉渲染系统106不需要的图集。虽然示例MANE 104被实现为独立的设备,但示例MANE 104可以被实现在示例渲染系统106中。例如,MANE 104可以从渲染系统106接收感兴趣的视图(例如,渲染系统106有兴趣渲染的视图)。在一些示例中,MANE 104从渲染系统106获得期望的视口位置和视口方向,并且MANE 104例如使用视图相机外在参数来确定最接近的视图的位置。此外,MANE 104可以选择最接近期望视点的位置和/或方向的可用视图的子集。MANE 104可以通过计算视图相机的中心和期望视口的中心之间的三维距离和角度偏差来确定最接近的视图位置。在选择两个中心之后,MANE 104选择具有最小距离的(一个或多个)视图(例如,具有最小距离的阈值数目的视图和/或具有小于阈值的距离的任何视图)。在一些示例中,如果完整视图包含有助于重建目标视点的信息,则MANE 104可以选择不满足上述阈值的完整视图。例如,MANE 104和/或用户可能更偏好(a)完整视图而不是更接近的不完整视图,(b)内编码的图片而不是互编码的图片(例如,这可在视频编解码器切片头部中指示)。
在图1的MANE 104获得和/或确定感兴趣的视图之后(例如,基于来自渲染系统106和/或用户经由渲染系统106的反馈数据),MANE 104识别与感兴趣的(一个或多个)视图相对应的图集。例如,MANE 104处理与各个图集相对应的(一个或多个)SEI消息、元数据,等等,以确定是否包括与任何感兴趣的(一个或多个)视图相对应的完整标志。如果在一个或多个图集中设置了与一个或多个感兴趣的视图相对应的完整视图标志,则MANE 104确定、选择和/或以其他方式识别这些图集来进行解码和/或包括在过滤后的流中。此外,示例MANE 104处理与相应图集相对应的SEI消息、元数据,等等,以确定是否包括与任何感兴趣的(一个或多个)视图相对应的启用标志。如果在一个或多个图集中设置了与一个或多个感兴趣的视图相对应的启用视图标志,则MANE 104确定该(一个或多个)图集也应当被包括在过滤后的比特流中。以这种方式,MANE 104确定所有可能包括与感兴趣的(一个或多个)视图有关的信息(例如,斑块)的(一个或多个)图集。在确定(例如,选择)要包括在过滤后的比特流中的图集之后,示例MANE 104过滤掉MANE 104确定与感兴趣的(一个或多个)视图不对应的(一个或多个)图集中的一些或全部。例如,vpcc_unit_header()语法结构中的vuh_atlas_id语法元素可用于确定具有vpcc_unit_payload()语法元素的图集标识符。MANE104保留与被标记的图集(例如,MANE 104确定不与感兴趣的(一个或多个)视图相对应的图集)相对应的基于视频的点云压缩(VPCC)单元,并且丢弃剩余的VPCC单元。MANE 104可以向VPCC比特流的具有vuh_unit_type的任何值的成分(例如,几何和图集数据、属性类型、以及占用类型,等等)中的一些或全部应用过滤。在过滤之后,示例MANE 104将过滤后的比特流(例如,只包括与感兴趣的(一个或多个)视图相对应的图集)传输到示例解码器108。
在一些示例中,图1的MANE 104可以接收与新的视场相对应的反馈数据(例如,经由示例网络112)。由于视频流中的时间互预测,当编码的视频流包括内编码图片时,MANE104可以向随机访问点内(intra-random access point,IRAP)访问单元应用过滤。内编码图片可包括IRAP访问单元,该单元包括与整个帧有关的数据(例如,不包括与用于互预测的除自身以外的视图有关的信息),其后是两个非IRAP访问单元(例如,其包括与先前访问单元的视图有关的信息)。因为非IRAP访问单元包括与先前访问单元有关的信息,所以过滤掉图集可能会导致非IRAP访问单元引用已经被过滤掉的(一个或多个)图集。因此,在这种内编码系统中,示例MANE 104可确保过滤后的几何、属性和占用视频流是符合要求的比特流,其中包括从内编码图片开始的完整编码视频序列(coded video sequence,CVS)。以这种方式,即使感兴趣的视图和方向随时间变化,相邻的视图也已被选择,以适应同一序列的变化(例如,在IRAP访问单元之间)。额外地或者替代地,示例MANE 104可以只在收到IRAP访问单元时调整过滤过程。下面结合图3进一步描述示例MANE 104。
图1的示例渲染系统106包括示例解码器108、示例显示器110。在一些示例中,示例渲染系统106包括示例MANE 104的一部分或全部。渲染系统106可以经由客户端系统实现,并且编码系统101可以经由服务器或者源系统实现。示例解码器108是硬件(例如,处理器、逻辑电路,等等)、软件和/或固件,其从示例MANE 104(例如,经由示例网络112)获得过滤后的比特流,并且通过选择与视口相对应的解码视图(例如,使用最接近视口的解码视图的子集)来对过滤后的比特流进行解码和/或渲染可被显示在示例显示器110上的过滤后比特流的(一个或多个)视图。在一些示例中,解码器108经由接口(例如,图9的接口920)获得比特流。示例解码器108可以对接收到的比特流进行解复用和/或解析,以便从获得的比特流数据生成(例如,提取)编码图集数据比特流和一个或多个图集数据哈希SEI消息。在解析接收到的比特流之后,示例解码器108对编码的纹理进行解码以生成解码的纹理值,对编码的深度进行解码以生成解码的深度值,基于编码器102使用的编码技术对编码的图集数据比特流进行解码以生成解码的图集数据比特流、深度图集和/或相应图集数据实例,等等。示例解码器108基于来自显示器110和/或渲染系统106上的其他传感器的反馈数据,确定当在示例显示器110上渲染视口时要使用哪些视图(例如,通常是最接近视口的解码视图的子集)。在一些示例中,渲染系统106上可能有一个或多个传感器,这些传感器识别显示器110的位置和/或方向,并且可向解码器108提供这种信息(例如,反馈数据),以便解码器108可以确定要在显示器110上显示哪些视图以渲染视口(例如,与反馈数据相对应的视图)。在一些示例中,用户可以基于感兴趣的视图和/或来自用户的期望视口来确定提供反馈数据。
在一些示例中,解码器108处理与过滤后的比特流的(一个或多个)图集相对应的(一个或多个)SEI消息、元数据,等等,以确定与(一个或多个)图集相对应的像素的占用情况。例如,解码器108可以识别完全占用的比特值,以确定图集和/或图集的某个斑块中的所有像素是否被占用。如果示例解码器108确定完全占用比特值被设置为指示完全占用状态的值,则示例解码器108确定图集和/或斑块中的所有比特被占用。如果示例解码器108确定完全占用比特值被设置为指示非完全占用状态的值,或者不包括这样的完全占用比特值,则示例解码器108处理包括斑块和/或图集中的每个像素的占用值的占用图谱,以确定视图的哪些像素被占用,以及哪些像素不被占用。
对于单个图集组(例如,当与比特流相对应的语法元素(num_groups_minus1)等于“0”值时),解码器108处理标志阵列(例如,TargetAtlasFlag[],长度为vps_atlas_count_minues1+1,这是一个标志阵列,最终用户或者系统可以指定哪些图集应当被解码,以便在不是所有图集都要被解码时,可以描述解码器操作),该标志阵列指示出每个图集是否是解码的目标,以生成标志阵列的输出,其指示出每个视图是否是渲染的目标。示例解码器108基于其与目标视口的相关性(例如,将TargetAltasFlag设置为“1”)来识别被转发来渲染的图集中的视图,这些视图将有助于视口的合成。基于以上描述,示例解码器108可以使用下面的表格1中所示的示例伪代码(1)来识别单个图集组的视图。
表格1—伪代码(1)
Figure BDA0003809292860000121
Figure BDA0003809292860000131
对于多图集组(例如,当与比特流相对应的语法元素(num_groups_minus1)大于“0”时),解码器108处理(a)标志阵列(例如,TargetAtlasFlag[],长度为vps_atlas_count_minues1+1),其指示出哪些图集是解码的目标,(b)来自语法元素miv_view_params_list的相机参数列表,(c)在语法元素ViewportExtrinsics中定义的目标视口位置和方向,等等。解码器108生成如下的输出:(a)标志阵列(例如,大小为numPassesX mvp_num_views_minues1+1),其指示出每个视图v是否在第p道次中的合成期间被使用(例如,道次索引p和源视图v的TargetViewFlag[p][v])以及(b)合成器所参与的首次数目(例如,语法元素numPasses)。示例变量numPasses和TargetViewFlag[p][v]是结合以下表格3得出的(例如,使用图1的示例MANE 104和/或示例解码器108)。基于以上描述,示例解码器108可以使用以下表格2中所示的示例伪代码(2)和以下表格3中所示的示例伪代码(3)来识别多图集组的视图。
表格2—伪代码(2)
Figure BDA0003809292860000132
Figure BDA0003809292860000141
表格3—伪代码(3)
Figure BDA0003809292860000142
Figure BDA0003809292860000151
在一些示例中,图1的网络112是交换数据的互连系统的系统。在一些示例中,可以使用任何类型的公共或私有网络来实现网络112,例如但不限于互联网、电话网络、局域网(local area network,LAN)、线缆网络、和/或无线网络。在一些示例中,为了使得能够经由网络112进行通信,示例编码系统101、示例MANE 104和/或示例渲染系统106包括使得能够连接到以太网、数字订户线(digital subscriber line,DSL)、电话线、同轴线缆和/或任何无线连接等等的(一个或多个)通信接口。
图2是图1的图集数据指示器103的示例实现方式的框图。该示例框图包括示例组件接口200、示例视图/图集编码分析器202、示例信号指示器204、以及示例信号/语法生成器206。
图2的示例组件接口200从示例编码器102获得与视图将如何被编码成比特流的图集有关的信息。例如,组件接口200从示例编码器102获得、接收和/或访问数据,并且示例视图/图集编码分析器202处理数据以确定视图如何被安排编码在比特流的斑块和/或图集中(例如,哪些视图是完整的和/或被完全包括在单个图集中,哪些视图可以被部分包括在不同的图集中,与斑块和/或图集中的视图相对应的像素是否被占用,等等)。示例视图/图集编码分析器202可以是控制器、处理器、电路、硬件、软件、固件、和/或这些的任意组合。
图2的示例信号指示器204基于由视图/图集编码分析器202处理的信息标示与图集有关的信息。例如,如果视图/图集编码分析器202确定视图将被完全包括在特定的图集中,则示例信号指示器204可以为该视图设置标志或值,以指示出该视图在该图集内是完整的。在一些示例中,如果视图/图集编码分析器202确定与视图相对应的斑块可被包括在三个图集中,则示例信号指示器204通过将与该视图和/或图集相对应的值设置为第一值(例如,“1”)来指示出该视图将有可能被包括在这三个图集中。额外地或者替代地,如果示例视图/图集编码分析器202确定与特定斑块或图集相对应的所有像素都将被占用,则示例信号指示器204通过将与该斑块和/或图集相对应的完全占用值和/或完全占用标志设置为第一值(例如,“1”)来指示出相应的斑块和/或图集被完全占用。如果示例视图/图集编码分析器202确定与特定斑块或图集相对应的至少一个像素未被占用,则示例信号指示器204通过将与该特定斑块或图集相对应的完全占用值和/或完全占用标志设置为第二值(例如,“0”)并且生成与每个像素的占用情况相对应的比特占用值和/或占用标志(例如,“1”代表占用,“0”代表未占用)来基于个体像素是否被占用指示出与像素相对应的个体值。示例信号指示器204可以是控制器、处理器、电路、硬件、软件、固件、和/或这些的任意组合。
图2的示例信号/语法生成器206为SEI消息、元数据等等生成语法,以指示出由信号指示器204生成的标志(例如,启用标志、占用标志、和/或完成标志)。例如,下面的表格4说明了示例信号/语法生成器206可用于标示可被包括在特定图集中的(一个或多个)视图以及图集中的像素是否被完全占用的示例语法。因此,信号/语法生成器206可以基于以下语法为各个图集生成信号。
表格4—图集参数语法
Figure BDA0003809292860000161
Figure BDA0003809292860000171
在表格4的以上示例中,u(n)对应于相应语法元素所需要的n个字节的数目。被设置为“1”值的语法元素masp_fully_occupied_flag可以表明,对于由vuh_atlas_id识别的图集,对于在范围0到asps_frame_height–1中的y的值(例如,其中asps_frame_height是图集帧的大小的垂直尺寸,在图集序列参数集(asps)中标示),并且对于在范围0到asps_frame_width-1中的x的值,OccupancyValue[y][x]的所有值(例如,斑块或图集的所有像素的占用值)都等于1,这是比特流符合性的要求。被设置为“0”值的语法元素masp_fully_occupied_flag表明没有约束和/或比特符合性要求。语法元素masp_num_views_minus1指定了将为其标示视图启用信息的视图的数目。语法元素masp_view_enabled_in_atlas_flag[vuh_atlas_id][v]可被设置为“1”值,以表明,对于引用MIV图集序列参数(MIV atlassequence parameter,MASP)的任何VPCC_AD中的任何atlas_tile_group_data_unit()(也称为atlas_tile()),对于在范围0到AtgduTotalNumberOfPatches–1中(包括该范围的端点)的所有p值(例如,其中AtgduTotalNumberOfPatches是图集瓦片中的斑块的数目),pdu_view_id[p]的值(例如,对于每个斑块指示出它来自哪个视图的语法元素)可等于v。atlas_tile_group_data_unit()是包括关于图集瓦片组的语法元素的语法结构。视频点云编码(VPCC)(也称为基于视觉体积视频的编码(V3C))指的是VPCC标准,并且AD指的是图集数据。MASP是MIV参数集,其包括适用于整个MIC序列的语法元素(例如,以IRAP开始的序列)。被设置为“0”值的语法元素masp_view_enabled_in_atlas_flag[v]可以表明pdu_view_id[p]的值不应等于v。元素pdu_view_id patchIdx]指定与第patchIdx个斑块相关联的视图索引。用来表示pdu_view_id[patchIdx]的比特的数目等于Ceil(Log2(AspsMaxProjections[vuh_atlas_id]))。AspsMaxProjections[vuh_atlas_id]表示对于ID为vuh_atlas_id的图集而言,为其标示视图/相机参数的视图(投影)的最大数目。表示视图ID所要求的比特的数目是基于此的。例如,如果有8个视图,则可以用3个比特表示视图id。元素pdu_view_id[patchIdx]的值可以在0到mvp_num_views_minus1的范围中,包括该范围的端点。对于0..mvp_num_views_minus1中的任何v,如果元素masp_view_enabled_in_atlas_flag[v]等于0,则pdu_view_id[patchIdx]的值将不等于v。
当语法元素masp_view_enabled_in_atlas_flag[v]不存在时,masp_view_enabled_in_atlas_flag[vuh_atlas_id][v]的值被推断为等于“1”。以这种方式,语法元素masp_view_enabled_in_atlas_flag[v]表示与视图的至少一个斑块是否可被包括在图集中相对应的启用标志。语法元素masp_view_complete_in_atlas_flag[vuh_atlas_id][v]对应于完整图谱,并且可设置为“1”值,以指示出源视图重建过程对于第vuh_atlas_id个输出的ReconstructedDepth[v]的所有值都是有效值,从而指示出视图是否被完全包括在图集中。语法元素masp_depth_occ_threshold_flag可以被设置为“1”值,以指示出pdu_depth_occ_map_threshold语法元素存在于patch_data_unit()语法结构中。示例语法元素masp_depth_occ_threshold标志可以被设置为“0”值,以指示出pdu_depth_occ_map_threshold语法元素不存在于patch_data_unit()语法结构中。当语法元素masp_depth_occ_threshold_flag不存在时,语法元素masp_depth_occ_threshold_flag的值被推断为“0”值。当masp_fully_occupied_flag被设置为“1”值时,masp_depth_occ_threshold_flag的值被设置为“0”值。虽然示例信号/语法生成器206可以使用表格4的上述语法来标示包括在图集中的视图和/或像素的占用情况,但示例信号/语法生成器206可以用任何格式的任何类型的消息来标示视图和/或占用情况。示例信号/语法生成器206可以是控制器、处理器、电路、硬件、软件、固件、和/或这些的任意组合。
图3是图1的MANE 104的示例实现方式的框图。该示例框图包括示例组件接口300、示例比特流分析器302、示例反馈分析器304、示例图集过滤器306、以及示例图集选择器308。
图3的示例组件接口300与MANE 104的其他组件(例如图8的组件)和/或示例渲染系统106的其他组件(例如,当在渲染系统106中实现时)相对接。例如,示例组件接口300可以从编码系统101和/或渲染系统106获得比特流数据和/或反馈数据(例如,经由示例接口820和/或网络112和/或直接经由总线818/918)。此外,示例组件接口300可以将过滤后的数据传输到示例渲染系统106(例如,当未在渲染系统106中实现时经由接口820,或者当在渲染系统106中实现时经由总线818/918)。
图3的示例比特流分析器302分析与比特流的图集相对应的SEI消息、元数据,等等,以便能够确定哪些视图被(例如,部分或完全)包含在各个图集中。例如,比特流分析器302可以处理与上述表格4的示例语法相对应的消息,以确定哪些视图被完全或部分包括在比特流的各个图集中。示例比特流分析器302可以是控制器、处理器、电路、硬件、软件、固件、和/或这些的任意组合。
图3的示例反馈数据分析器304分析来自示例渲染系统106的反馈数据。如上文结合图1所述,反馈数据对应于多维视频的视图是感兴趣的视图(例如,在渲染过程中可能用于渲染视口以在示例显示器110上显示的视图和/或由用户选择的视图)。在一些示例中,反馈数据分析器304获得感兴趣的视图。在一些示例中,反馈数据分析器304基于反馈数据来确定感兴趣的视图。例如,反馈数据分析器304可以获得期望的视口位置和方向(例如,从渲染系统106),并且反馈数据分析器304可以例如使用视图相机外在参数来确定视图的位置。在一些示例中,反馈数据分析器304可以选择最接近期望视点的位置和/或方向的可用视图的子集。反馈数据分析器304可以通过计算视图相机的中心和期望视口的中心之间的三维距离和角度偏差来确定最接近的视图位置。一旦选择了两个中心,反馈数据分析器304就选择具有最小距离的视图,或者在一些示例中,选择具有最小距离的阈值数目的视图和/或具有小于阈值的距离的任何(一个或多个)视图,等等。在一些示例中,反馈数据分析器304基于情境数据调整(一个或多个)阈值,如上文结合图1进一步描述。在一些示例中,反馈数据分析器304可以在IRAP访问单元被使用时扩大感兴趣的视图的数目,如上文结合图1所述。
如上所述,图3的示例反馈数据分析器304可以使用相机参数和目标视点位置和方向来确定源视图(例如,在标记或目标组中启用)和目标视口之间的距离。反馈数据分析器304根据向量元素(GroupIdOrdering[],长度等于numTargetGroups)对组进行排序,以使得最接近目标视口的视图的目标组被列在最前,并且最远的被排序在最后。执行这种处理的示例伪代码(4)如下面表格5所示。
表格5—伪代码(4)
Figure BDA0003809292860000201
在一些示例中,图3的反馈数据分析器304可以调整与基于情境数据要选择多少个感兴趣的视图相对应的标准(例如,阈值)。例如,反馈数据分析器304可以处理和/或存储先前的反馈数据,以确定反馈数据的更新程度(例如,对应于在哪些视图是感兴趣的视图方面的更多移动和更多调整)。当反馈数据被频繁更新时(例如,基于阈值),示例反馈数据分析器304可以调整标准以增大感兴趣的(一个或多个)视图的数目,因为由于位置和/或方向数据的快速变化,更有可能使目标视口附近的更多视图成为感兴趣的视图。在一些示例中,当反馈数据更一致并且相对于时间的变化更小时,反馈数据分析器304可以减小感兴趣的(一个或多个)视图的数目。额外地或者替代地,反馈数据分析器304可以获得与将如何使用沉浸式视频有关的数据,并且基于将如何使用沉浸式视频来调整感兴趣的视图的标准。例如,与视频游戏相对应的沉浸式视频可能对应于更多的感兴趣的视图,因为相对于视频而言,对于视频游戏,用户将更频繁地调整显示器的位置和/或方向的概率更高。示例反馈数据分析器304可以是控制器、处理器、电路、硬件、软件、固件、和/或这些的任意组合。
图3的示例图集过滤器306过滤掉不与感兴趣的视图相对应的图集(例如,未被识别为完全包括和/或有可能包括与感兴趣的(一个或多个)视图有关的(一个或多个)斑块和/或数据的图集)。例如,在与感兴趣的视图相对应的图集被标记、锁定、识别、确定等等之后,示例图集过滤器306从比特流中去除不与感兴趣的(一个或多个)视图相对应的图集和/或任何相应信息。示例图集过滤器306将过滤后的比特流输出到示例组件接口300,以传输到图1的解码器108。
虽然在图1-图3中图示了实现图1的图集数据指示器103、示例MANE 104和/或渲染系统106的示例方式,但图1-图3中图示的元件、过程和/或设备中的一个或多个可被组合、划分、重安排、省略、消除、和/或以任何其他方式来实现。另外,示例解码器108、示例显示器110、示例组件接口200、示例视图/图集编码分析器202、示例信号指示器204、示例信号/语法生成器206、示例组件接口300、示例比特流分析器302、示例反馈数据分析器304、示例图集过滤器306,和/或更概括而言,图2的示例图集数据指示器103和/或图3的示例MANE 104,可以通过硬件、软件、固件和/或硬件、软件和/或固件的任意组合来实现。从而,例如,示例解码器108、示例显示器110、示例组件接口200、示例视图/图集编码分析器202、示例信号指示器204、示例信号/语法生成器206、示例组件接口300、示例比特流分析器302、示例反馈数据分析器304、示例图集过滤器306和/或更概括而言图2的示例图集数据指示器103和/或图3的示例MANE 104中的任何一者,可以由一个或多个模拟或数字电路、逻辑电路、(一个或多个)可编程处理器、(一个或多个)可编程控制器、(一个或多个)图形处理单元(graphicsprocessing unit,GPU)、(一个或多个)数字信号处理器(digital signal processor,DSP)、(一个或多个)专用集成电路(application specific integrated circuit,ASIC)、(一个或多个)可编程逻辑器件(programmable logic device,PLD)和/或(一个或多个)现场可编程逻辑器件(field programmable logic device,FPLD)来实现。当读到本专利的任何装置或系统权利要求覆盖纯软件和/或固件实现方式时,示例解码器108、示例显示器110、示例组件接口200、示例视图/图集编码分析器202、示例信号指示器204、示例信号/语法生成器206、示例组件接口300、示例比特流分析器302、示例反馈数据分析器304、示例图集过滤器306和/或更概括而言图2的示例图集数据指示器103和/或图3的示例MANE 104中的至少一者,在此被明确定义为包括包含该软件和/或固件的非暂态计算机可读存储设备或存储盘,例如存储器、数字多功能盘(digital versatile disk,DVD)、致密盘(compactdisk,CD)、蓝光盘,等等。此外,示例编码系统101、MANE 104和/或示例渲染系统106可包括除了图1中所示的那些以外或者取代图1中所示的那些的一个或多个元件、过程和/或设备,和/或可包括多于一个图示的元件、过程和设备的任一者或所有。如本文所使用的,短语“与……通信”——包括其变体——涵盖了直接通信和/或通过一个或多个中间组件进行的间接通信,而不要求直接物理(例如,有线)通信和/或不断的通信,而是还包括按周期性间隔、排定的间隔、非周期性间隔和/或一次性事件的选择性通信。
代表用于实现图1-图3的图集数据指示器103、示例MANE 104和/或示例解码器108的示例硬件逻辑、机器可读指令、硬件实现状态机和/或这些的任意组合的流程图在图4-图6中示出。机器可读指令可以是供计算机处理器执行的一个或多个可执行程序或者可执行程序的(一个或多个)部分,所述计算机处理器例如是下文联系图7-图9论述的示例处理器平台700、800、900中所示的处理器712、812、912。该程序可体现在存储于诸如CD-ROM、软盘、硬盘驱动器、DVD、蓝光盘或者与处理器712、812、912相关联的存储器之类的非暂态计算机可读存储介质上的软件,但整个程序和/或其一些部分可替代为由除了处理器712、812、912以外的设备执行和/或体现在固件或专用硬件中。另外,虽然是参考图7-图9中所示的流程图来描述示例程序的,但可替代地使用实现示例图集数据指示器103、示例MANE 104和/或解码器108的许多其他方法。例如,块的执行顺序可被改变,和/或描述的块中的一些可被改变、消除或者组合。额外地或者替代地,任何或所有块可由被构造为执行相应的操作而不执行软件或固件的一个或多个硬件电路(例如,分立和/或集成的模拟和/或数字电路、FPGA、ASIC、比较器、运算放大器(op-amp)、逻辑电路,等等)来实现。
可以以压缩格式、加密格式、分段格式、编译格式、可执行格式、打包格式等等中的一种或多种格式来存储本文描述的机器可读指令。本文描述的机器可读指令可被存储为可被利用来创建、制造和/或产生机器可执行指令的数据(例如,指令的部分、代码、代码的表示,等等)。例如,机器可读指令可被分段并且存储在一个或多个存储设备和/或计算设备(例如,服务器)上。机器可读指令可要求安装、修改、改编、更新、组合、补充、配置、解密、解压缩、解包、分发、重指派、编译等等中的一个或多个,以便使得它们可被计算设备和/或其他机器直接可读、可解释和/或可执行。例如,机器可读指令可被存储为多个部分,这些部分被单独压缩、加密并存储在分开的计算设备上,其中这些部分当被解密、解压缩和组合时,形成实现例如本文所述那种的程序的一组可执行指令。
在另一示例中,机器可读指令可被存储在如下状态中:在该状态中它们可被计算机读取,但要求添加库(例如,动态链接库(dynamic link library,DLL))、软件开发套件(software development kit,SDK)、应用编程接口(application programminginterface,API)等等,以便在特定的计算设备或其他设备上执行这些指令。在另一示例中,在机器可读指令和/或相应的(一个或多个)程序可被全部或部分执行之前,机器可读指令可能需要被配置(例如,存储设置、输入数据、记录网络地址,等等)。从而,公开的机器可读指令和/或相应的(一个或多个)程序打算涵盖这种机器可读指令和/或(一个或多个)程序,无论这些机器可读指令和/或(一个或多个)程序在被存储时或以其他方式在休息或在途时的特定格式或状态如何。
本文描述的机器可读指令可以由任何过去、当前或者未来的指令语言、脚本语言、编程语言等等来表示。例如,可以利用以下语言中的任何一种来表示机器可读指令:C、C++、Java、C#、Perl、Python、JavaScript、超本文标记语言(HyperText Markup Language,HTML)、结构化查询语言(Structured Query Language,SQL)、Swift,等等。
如上所述,可利用存储在非暂态计算机和/或机器可读介质上的可执行指令(例如,计算机和/或机器可读指令)来实现图2和图3的示例过程,所述介质例如是硬盘驱动器、闪存、只读存储器、致密盘、数字多功能盘、缓存、随机访问存储器和/或其中信息可被存储任何持续时间(例如,存储较长时间段、永久存储、短暂存储、用于临时缓冲和/或用于信息的缓存)的任何其他存储设备或存储盘。就本文使用的而言,术语非暂态计算机可读介质被明确定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号和排除传输介质。
“包括”和“包含”(以及其所有形式和时态)在本文中被用作开端式术语。从而,每当权利要求采用任何形式的“包括”或“包含”(例如,包括、包含、具有,等等)作为序言或者在任何种类的权利要求记载中使用时,要理解,额外的元素、术语等等可存在,而不落在相应权利要求或记载的范围之外。就本文使用的而言,当短语“至少”在例如权利要求的前序部分中被用作过渡术语时,它是开端的,与术语“包括”和“包含”是开端的方式一样。术语“和/或”当例如被以比如A、B和/或C这样的形式使用时,指的是A、B、C的任意组合或子集,例如(1)A单独,(2)B单独,(3)C单独,(4)A与B,(5)A与C,(6)B与C,以及(7)A与B以及与C。就本文在描述结构、组件、项目、对象和/或事物的上下文中使用的而言,短语“A和B的至少一者”打算指包括以下各项的任何一者的实现方式:(1)至少一个A,(2)至少一个B,以及(3)至少一个A和至少一个B。类似地,就本文在描述结构、组件、项目、对象和/或事物的上下文中使用的而言,短语“A或B中的至少一者”打算指包括以下各项中的任何一者的实现方式:(1)至少一个A,(2)至少一个B,以及(3)至少一个A和至少一个B。就本文在描述过程、指令、动作、活动和/或步骤的执行或运行的上下文中使用的而言,短语“A和B的至少一者”打算指包括以下各项的任何一者的实现方式:(1)至少一个A,(2)至少一个B,以及(3)至少一个A和至少一个B。类似地,就本文在描述过程、指令、动作、活动和/或步骤的执行或运行的上下文中使用的而言,短语“A或B中的至少一者”打算指包括以下各项中的任何一者的实现方式:(1)至少一个A,(2)至少一个B,以及(3)至少一个A和至少一个B。
如本文所使用的,单数指代(例如,“一”、“第一”、“第二”,等等)并不排除多数。就本文使用的而言,术语“一”实体指的是一个或多个该实体。术语“一”、“一个或多个”和“至少一个”在本文中可以被可互换地使用。此外,虽然是单独列出的,但多个装置、元素或方法动作可由例如单个单元或处理器来实现。此外,虽然个体特征可被包括在不同的示例或权利要求中,但它们可能可被组合,并且包括在不同的示例或权利要求中并不暗示着特征的组合是不可行的和/或不是有利的。
图4是代表示例性机器可读指令400的流程图,该指令可被执行以实现图2的示例图集数据指示器103以生成语法来标示沉浸式视频中的每个图集的启用和/或完整视图和/或占用情况。虽然是结合图2的示例图集数据指示器103来描述指令400的,但可以结合任何类型的编码系统来描述指令400。
在块402,示例组件接口200确定是否已接收到输入数据。输入数据可以是与沉浸式视频将如何或者已如何被编码为斑块/图集以生成比特流相对应的数据。如果示例组件接口200确定没有接收到输入数据(块402:“否”),则控制返回到块402,直到接收到输入数据为止。如果示例组件接口200确定已接收到输入数据(块402:“是”),则示例视图/图集编码分析器202选择与比特流相对应的第一图集(块404)。
在块406,示例信号/语法生成器206生成消息(例如,SEI消息、元数据,等等)以对应于所选图集。例如,信号/语法生成器206启动与将被包括在比特流中的所选图集相对应的消息/元数据的框架。在块408,示例视图/图集编码分析器202确定所选图集是否包括整个视图。例如,视图/图集编码分析器202可以确定,当由标识符vuh_atlas_id(例如,来自编码器102)识别的图集的源视图重建过程输出的元素ReconstructedDepth[v]的所有值都是有效值时,视图将被完全包括在图集中。如果示例视图/图集编码分析器202确定所选图集不包括整个视图(块408:“否”),则控制继续到块412。如果示例视图/图集编码分析器202确定所选图集包括整个视图(块408:“是”),则示例信号指示器204设置完整标志(例如,设置与视图相对应的值)以指示出整个视图被包括在所选图集中(块410)。
在块412,示例视图/图集编码分析器202确定所选图集是否有可能包括与一个或多个视图相对应的数据。例如,当编码器102将视图编码到图集时,编码器102选择视图可能被包括在其中的一个或多个图集,并且编码器102将视图/图集信息发送至示例视图/图集编码分析器202。如果示例视图/图集编码分析器202确定所选图集不可能包括与一个或多个视图相对应的数据(块412:“否”),则控制继续到块416。如果示例视图/图集编码分析器202确定所选图集有可能包括与一个或多个视图相对应的数据(块412:“是”),则示例信号指示器204将该一个或多个视图的启用标志设置为有可能存在于所选图集中(例如,设置为被启用)(块414)。
在块416,示例视图/图集编码分析器202确定与图集相对应的所有像素(例如,与像素相对应的图集中包括的数据值)是否被占用。虽然是结合完全占用的图集来描述该示例流程图的,但可以基于斑块和/或其他像素组来确定像素的占用,如上文进一步描述。如果示例视图/图集编码分析器202确定与图集相对应的所有像素被占用(块416:“是”),则示例信号指示器204确定图集被完全占用并且将与图集相对应的标志或值设置为指示出视图在图集中被完全占用的第一完全占用值和/或完全占用标志(块418)。如果示例视图/图集编码分析器202确定不是与图集相对应的所有像素都被占用(块416:“否”),则示例信号指示器204设置占用标志或占用值来指示出图集中表示的个体像素的占用状态(块420)。
在块422,示例信号/语法生成器206基于标志完成与图集相对应的消息/元数据的语法。例如,信号/语法生成器206可以使用表格4的上述示例语法来生成与图集相对应的消息/元数据。在块424,示例视图/图集编码分析器202确定是否有与比特流相对应的后续图集用于处理。如果示例视图/图集编码分析器202确定有后续图集(块424:“是”),则示例视图/图集编码分析器202选择后续图集(块426)并且控制返回到块406。如果示例视图/图集编码分析器202确定没有后续图集(块424:“否”),则示例组件接口200传输(一个或多个)消息和/或元数据(例如,到编码器102)以与比特流包括在一起。以这种方式,编码系统101可以经由网络112将带有(一个或多个)消息和/或元数据的比特流传输到示例MANE 104。
图5是代表可被执行来实现示例MANE 104以基于反馈数据对比特流进行过滤的示例机器可读指令500的流程图。虽然是结合图1的示例MANE 104来描述指令500的,但可以结合任何类型的过滤系统来描述指令500。
在块502,示例组件接口300确定是否已获得了比特流。例如,组件接口300可以访问MANE 104的其他组件(例如,无线电体系结构、示例接口820,等等)以确定是否已获得比特流。如果示例组件接口300确定没有获得比特流(块502:“否”),则控制返回到块502,直到获得比特流为止。如果示例组件接口300确定已获得了比特流(块502:“是”),则示例组件接口300确定是否已获得了反馈数据(块504)。如上所述,反馈数据是来自示例渲染系统106的数据。例如,反馈数据可以是来自显示器110和/或渲染系统106的另一个传感器的视口信息。
如果示例组件接口300确定没有获得反馈数据(块506:“否”),则示例组件接口300将获得的比特流传递给示例渲染系统106,而不过滤该比特流(块506),并且控制返回到块502。如果示例组件接口300确定已获得反馈数据(块506:“是”),则示例反馈分析器304基于反馈数据确定感兴趣的(一个或多个)视图(块508)。例如,反馈分析器304可以从反馈数据中提取感兴趣的视图,并且/或者可以基于期望的视口位置和方向、视图相机外在参数、情境数据、时间互预测数据等等来确定感兴趣的视图,如上文结合图3所述。
在块510,示例比特流分析器302从比特流中选择与第一图集相对应的数据(例如,SEI消息、元数据,等等)。在块512,示例比特流分析器302基于数据的语法中包括的完整标志和/或值来确定该数据是否包括这样的值:该值识别出感兴趣的一个或多个视图在相应图集中是完整的(例如,被完全包括在相应图像中)(例如,通过分析数据的语法)。如果示例比特流分析器302确定该数据包括识别出感兴趣的一个或多个视图在相应的图集中是完整的值(块512:“是”),则示例比特流分析器302确定该图集应当被包括在过滤后的比特流中(块514)。
如果示例比特流分析器302确定该数据不包括识别出感兴趣的一个或多个视图在相应的图集中是完整的值(块512:“否”),则示例比特流分析器302确定该数据是否包括如下值:该值识别出感兴趣的一个或多个视图在该图集中是被启用的(例如,可以被部分包括在该图集中)(块516)(例如,通过分析数据的语法中的(一个或多个)启用标志)。如果示例比特流分析器302确定该数据包括识别出感兴趣的一个或多个视图在图集中未被启用的值(块516:“否”),则控制继续到块520。如果示例比特流分析器302确定该数据包括识别出感兴趣的一个或多个视图在图集中被启用的值(块516:“是”),则示例比特流分析器302确定该图集应当被包括在过滤后的比特流中(块518)。
在块520,示例比特流分析器302确定是否有与比特流相对应的后续图集要被处理。如果示例比特流分析器302确定与比特流相对应的后续图集要被处理(块520:“是”),则示例比特流分析器302选择与后续图集相对应的数据(块522)并且控制返回到块512。如果示例比特流分析器302确定没有与比特流相对应的后续图集要被处理(块520:“否”),则示例图集过滤器306过滤掉不与感兴趣的(一个或多个)视图相对应的(一个或多个)图集(块524)。在块526,示例组件接口300将过滤后的比特流传递(例如,传输)到图1的示例渲染系统106(例如,经由使用图8的接口820的网络112或者当MANE 104被实现在渲染系统106中时经由总线)。
在块528,示例组件接口300确定是否已获得(例如,接收到)更新后的反馈数据。如果示例组件接口300确定已获得了更新后的反馈数据(块528:“是”),则控制返回到块508。如果示例组件接口300确定没有获得更新后的反馈数据(块528:“否”),则控制返回到块502。
图6是代表可被执行来实现示例解码器108以处理比特流来识别完全占用图集的示例机器可读指令600的流程图。虽然是结合图1的示例解码器108来描述指令600的,但可以结合任何类型的渲染系统来描述指令600。虽然是结合完全占用的图集来描述图6的示例的,但可以结合完全占用的斑块和/或完全占用的像素数据组来描述图6的指令600。
在块602,示例解码器108确定是否已获得了比特流或者过滤后的比特流。例如,示例解码器108可以访问渲染系统106的其他组件(例如,无线电体系结构、示例接口920,等等)以确定是否已获得比特流。如果示例解码器108确定没有获得比特流/过滤后的比特流(块602:“否”),则示例解码器108从比特流中选择与第一图集相对应的数据(例如,SEI消息、元数据,等等)(块604)。
在块606,示例解码器108访问与所选图集的占用情况相对应的数据。例如,示例解码器108可以处理与所选图集相对应的消息、元数据,等等,以识别与所选图集的占用情况相对应的语法元素。在块608,示例解码器108确定数据是否对应于完全占用。例如,示例解码器108处理语法以识别与完全占用相对应的语法元素,并且确定该语法元素的完全占用值或完全占用标志是否对应于完全占用或者非完全占用。
如果示例解码器108确定数据对应于完全占用(块608:“是”),则示例解码器108确定与所选图集相对应的所有像素都被占用(块610)。如果示例解码器108确定数据不对应于完全占用(块608:“否”),则示例解码器108基于数据中的占用阵列或图谱,在逐个像素的基础上确定每个像素的占用情况。
在块614,示例解码器108确定是否有与比特流相对应的后续图集要被处理。如果示例解码器108确定与比特流相对应的后续图集要被处理(块614:“是”),则示例解码器108选择与后续图集相对应的数据(块616),并且控制返回到块606。如果示例解码器108确定没有与比特流相对应的后续图集要被处理(块614:“否”),则控制返回到块602。
图7是被构造来执行图4的指令以实现图1和图2的图集数据指示器103的示例处理器平台700的框图。处理器平台700可例如是服务器、个人计算机、工作站、自学习机器(例如,神经网络)、移动设备(例如,蜂窝电话、智能电话、诸如iPadTM之类的平板设备)、个人数字助理(PDA)、互联网家电、DVD播放器、CD播放器、数字视频记录器、蓝光播放器、游戏机、个人视频记录器、机顶盒、耳机或其他可穿戴设备、或者任何其他类型的计算设备。
图示示例的处理器平台700包括处理器712。图示示例的处理器712是硬件。例如,处理器712可由来自任何期望的家族或制造商的一个或多个集成电路、逻辑电路、微处理器、GPU、DSP或者控制器来实现。硬件处理器可以是基于半导体(例如,基于硅)的设备。在这个示例中,处理器实现了图2的示例组件接口200、示例视图/图谱编码分析器202、示例信号指示器204和示例信号/语法生成器206。。
图示示例的处理器712包括本地存储器713(例如,缓存)。图示示例的处理器712经由总线718与包括易失性存储器714和非易失性存储器716的主存储器进行通信。易失性存储器714可由同步动态随机访问存储器(Synchronous Dynamic Random Access Memory,SDRAM)、动态随机访问存储器(Dynamic Random Access Memory,DRAM)、
Figure BDA0003809292860000301
动态随机访问存储器(
Figure BDA0003809292860000302
Dynamic Random Access Memory,
Figure BDA0003809292860000303
)和/或任何其他类型的随机访问存储器设备来实现。非易失性存储器716可由闪存和/或任何其他期望类型的存储器设备来实现。对主存储器714、716的访问受存储器控制器的控制。
图示示例的处理器平台700还包括接口电路720。接口电路720可由任何类型的接口标准来实现,例如以太网接口、通用串行总线(universal serial bus,USB)、
Figure BDA0003809292860000311
接口、近场通信(near field communication,NFC)接口、和/或PCI快速接口。
在图示示例中,一个或多个输入设备722连接到接口电路720。(一个或多个)输入设备722允许用户向处理器712中输入数据和/或命令。(一个或多个)输入设备可由例如音频传感器、麦克风、相机(静态或视频)、键盘、按钮、鼠标、触摸屏、触控板、轨迹球、isopoint和/或语音识别系统来实现。
一个或多个输出设备724也连接到图示示例的接口电路720。输出设备724可例如由显示设备(例如,发光二极管(light emitting diode,LED)、有机发光二极管(organiclight emitting diode,OLED)、液晶显示器(liquid crystal display,LCD)、阴极射线管显示器(cathode ray tube,CRT)、就地切换(in-place switching,IPS)显示器、触摸屏,等等)、触觉输出设备、打印机和/或扬声器来实现。图示示例的接口电路720从而通常包括图形驱动器卡、图形驱动器芯片、和/或图形驱动器处理器。
图示示例的接口电路720还包括通信设备,例如发送器、接收器、收发器、调制解调器、住宅网关、无线接入点、和/或网络接口,来促进经由网络726与外部机器(例如,任何种类的计算设备)的数据交换。通信可经由例如以太网连接、数字订户线(digitalsubscriber line,DSL)连接、电话线连接、同轴线缆系统、卫星系统、直线对传式无线系统、蜂窝电话系统等等。
图示示例的处理器平台700还包括用于存储软件和/或数据的一个或多个大容量存储设备728。这种大容量存储设备728的示例包括软盘驱动器、硬盘驱动器、致密盘驱动器、蓝光盘驱动器、独立盘冗余阵列(redundant array of independent disks,RAID)系统、以及数字多功能盘(digital versatile disk,DVD)驱动器。
图4的机器可执行指令732可被存储在大容量存储设备728中、易失性存储器714中、非易失性存储器716中、和/或诸如CD或DVD之类的可移除非暂态计算机可读存储介质上。
图8是被构造来执行图5的指令以实现图1的MANE 104的示例处理器平台800的框图。处理器平台800可以例如是服务器、个人计算机、工作站、自学习机器(例如,神经网络)、移动设备(例如,蜂窝电话、智能电话、诸如iPadTM之类的平板设备)、个人数字助理(personal digital assistant,PDA)、互联网家电、DVD播放器、CD播放器、数字视频记录器、蓝光播放器、游戏机、个人视频记录器、机顶盒、耳机或其他可穿戴设备、或者任何其他类型的计算设备。
图示示例的处理器平台800包括处理器812。图示示例的处理器812是硬件。例如,处理器812可由来自任何期望的家族或制造商的一个或多个集成电路、逻辑电路、微处理器、GPU、DSP或者控制器来实现。硬件处理器可以是基于半导体(例如,基于硅)的设备。在这个示例中,处理器实现了图3的示例组件接口300、示例比特流分析器302、示例反馈数据分析器304和示例图集过滤器306。。
图示示例的处理器812包括本地存储器813(例如,缓存)。图示示例的处理器812经由总线818与包括易失性存储器814和非易失性存储器816的主存储器进行通信。易失性存储器814可由同步动态随机访问存储器(Synchronous Dynamic Random Access Memory,SDRAM)、动态随机访问存储器(Dynamic Random Access Memory,DRAM)、
Figure BDA0003809292860000321
动态随机访问存储器(
Figure BDA0003809292860000322
Dynamic Random Access Memory,
Figure BDA0003809292860000323
)和/或任何其他类型的随机访问存储器设备来实现。非易失性存储器816可由闪存和/或任何其他期望类型的存储器设备实现。对主存储器814、816的访问受存储器控制器控制。
图示示例的处理器平台800还包括接口电路820。接口电路820可由任何类型的接口标准来实现,例如以太网接口、通用串行总线(universal serial bus,USB)、
Figure BDA0003809292860000324
接口、近场通信(near field communication,NFC)接口、和/或PCI快速接口。
在图示示例中,一个或多个输入设备822连接到接口电路820。(一个或多个)输入设备822允许用户向处理器812中输入数据和/或命令。(一个或多个)输入设备可由例如音频传感器、麦克风、相机(静态或视频)、键盘、按钮、鼠标、触摸屏、触控板、轨迹球、isopoint和/或语音识别系统来实现。
一个或多个输出设备824也连接到图示示例的接口电路820。输出设备824可例如由显示设备(例如,发光二有管(light emitting diode,LED)、有机发光二极管(organiclight emitting diode,OLED)、液晶显示器(liquid crystal display,LCD)、阴极射线管显示器(cathode ray tube,CRT)、就地切换(in-place switching,IPS)显示器、触摸屏等等)、触觉输出设备、打印机和/或扬声器实现。图示示例的接口电路820从而通常包括图形驱动器卡、图形驱动器芯片和/或图形驱动器处理器。
图示示例的接口电路820还包括通信设备,例如发送器、接收器、收发器、调制解调器、住宅网关、无线接入点和/或网络接口,来促进经由网络826与外部机器(例如,任何种类的计算设备)的数据交换。通信可经由例如以太网连接、数字订户线(digital subscriberline,DSL)连接、电话线连接、同轴线缆系统、卫星系统、直线对传式无线系统、蜂窝电话系统等等。
图示示例的处理器平台800还包括用于存储软件和/或数据的一个或多个大容量存储设备828。这种大容量存储设备828的示例包括软盘驱动器、硬盘驱动器、致密盘驱动器、蓝光盘驱动器、独立盘冗余阵列(redundant array of independent disks,RAID)系统以及数字多功能盘(DVD)驱动器。
图5的机器可执行指令832可被存储在大容量存储设备828中、易失性存储器814中、非易失性存储器816中、和/或诸如CD或DVD之类的可移除非暂态计算机可读存储介质上。
图9是被构造来执行图3的指令以实现图1的渲染系统106的示例处理器平台900的框图。处理器平台900可以例如是服务器、个人计算机、工作站、自学习机器(例如,神经网络)、移动设备(例如,蜂窝电话、智能电话、诸如iPadTM之类的平板设备)、个人数字助理(personal digital assistant,PDA)、互联网家电、DVD播放器、CD播放器、数字视频记录器、蓝光播放器、游戏机、个人视频记录器、机顶盒、耳机或其他可穿戴设备、或者任何其他类型的计算设备。
图示示例的处理器平台900包括处理器912。图示示例的处理器912是硬件。例如,处理器912可由来自任何期望的家族或制造商的一个或多个集成电路、逻辑电路、微处理器、GPU、DSP或者控制器来实现。硬件处理器可以是基于半导体(例如,基于硅)的设备。在这个示例中,处理器实现了图1的示例解码器108和示例显示器110。
图示示例的处理器912包括本地存储器913(例如,缓存)。图示示例的处理器912经由总线918与包括易失性存储器914和非易失性存储器916的主存储器通信。易失性存储器914可由同步动态随机访问存储器(Synchronous Dynamic Random Access Memory,SDRAM)、动态随机访问存储器(Dynamic Random Access Memory,DRAM)、
Figure BDA0003809292860000343
动态随机访问存储器(
Figure BDA0003809292860000341
Dynamic Random Access Memory,
Figure BDA0003809292860000342
)和/或任何其他类型的随机访问存储器设备来实现。非易失性存储器916可由闪存和/或任何其他期望类型的存储器设备来实现。对主存储器914、916的访问受存储器控制器的控制。
图示示例的处理器平台900还包括接口电路920。接口电路920可由任何类型的接口标准来实现,例如以太网接口、通用串行总线(universal serial bus,USB)、
Figure BDA0003809292860000344
接口、近场通信(near field communication,NFC)接口、和/或PCI快速接口。
在图示示例中,一个或多个输入设备922连接到接口电路920。(一个或多个)输入设备922允许用户向处理器912中输入数据和/或命令。(一个或多个)输入设备可由例如音频传感器、麦克风、相机(静态或视频)、键盘、按钮、鼠标、触摸屏、触控板、轨迹球、isopoint和/或语音识别系统来实现。
一个或多个输出设备924也连接到图示示例的接口电路920。输出设备924可例如由显示设备(例如,发光二极管(light emitting diode,LED)、有机发光二极管(organiclight emitting diode,OLED)、液晶显示器(liquid crystal display,LCD)、阴极射线管显示器(cathode ray tube,CRT)、就地切换(in-place switching,IPS)显示器、触摸屏,等等)、触觉输出设备、打印机和/或扬声器来实现。图示示例的接口电路920从而通常包括图形驱动器卡、图形驱动器芯片、和/或图形驱动器处理器。
图示示例的接口电路920还包括通信设备,例如发送器、接收器、收发器、调制解调器、住宅网关、无线接入点、和/或网络接口,来促进经由网络926与外部机器(例如,任何种类的计算设备)的数据交换。通信可经由例如以太网连接、数字订户线(digitalsubscriber line,DSL)连接、电话线连接、同轴线缆系统、卫星系统、直线对传式无线系统、蜂窝电话系统等等。
图示示例的处理器平台900还包括用于存储软件和/或数据的一个或多个大容量存储设备928。这种大容量存储设备928的示例包括软盘驱动器、硬盘驱动器、致密盘驱动器、蓝光盘驱动器、独立盘冗余阵列(redundant array of independent disks,RAID)系统、以及数字多功能盘(digital versatile disk,DVD)驱动器。
图6的机器可执行指令932可被存储在大容量存储设备928中、易失性存储器914中、非易失性存储器916中、和/或诸如CD或DVD之类的可移除非暂态计算机可读存储介质上。
本文公开了在沉浸式视频中对于每个图集来对启用的视图进行采样的示例方法、装置、系统和制品。进一步示例及其组合包括以下各项:示例1包括一种装置,该装置包括:接口,用于获得与沉浸式视频相对应的比特流,所述比特流包括与一个或多个视图相对应的一个或多个图集;比特流分析器,用于确定与所述比特流的图集相对应的元数据识别出感兴趣的视图的至少一部分对应于所述图集,所述元数据被包括在所述比特流中;以及过滤器,用于通过从所述比特流中去除不识别所述感兴趣的视图的至少一部分的图集来生成过滤后的比特流,所述接口提供所述过滤后的比特流以被处理来输出所述沉浸式视频。
示例2包括如示例1所述的装置,还包括:反馈数据分析器,用于基于反馈数据来确定所述感兴趣的视图。
示例3包括如示例2所述的装置,其中,所述反馈数据包括与要被解码器渲染的目标视口相对应的位置数据或方向数据中的至少一者。
示例4包括如示例2所述的装置,其中,所述反馈数据包括相机外在参数。
示例5包括如示例1所述的装置,其中,所述比特流分析器用于基于所述元数据的语法元素的值来确定所述图集包括所述感兴趣的视图。
示例6包括如示例1所述的装置,其中,所述比特流分析器用于基于所述元数据来确定所述感兴趣的视图是否符合以下情况中的至少一者:被完全包括在所述图集中,或者被部分包括在所述图集中。
示例7包括如示例1所述的装置,其中,所述接口用于经由第一网络通信从编码器获得所述比特流,并且经由第二网络通信将所述过滤后的比特流传输到解码器。
示例8包括如示例1所述的装置,其中,所述接口用于经由第一网络通信从编码器获得所述比特流,并且经由总线将所述过滤后的比特流传输到解码器。
示例9包括如示例1所述的装置,其中,所述沉浸式视频对应于每帧的多个视图。
示例10包括一种非暂态计算机可读存储介质,包括指令,所述指令当被执行时,使得一个或多个处理器至少执行下列操作:获得与沉浸式视频相对应的比特流,所述比特流包括与一个或多个视图相对应的一个或多个图集,确定与所述比特流的图集相对应的元数据识别出感兴趣的视图的至少一部分对应于所述图集,所述元数据被包括在所述比特流中,通过从所述比特流中去除不识别所述感兴趣的视图的至少一部分的图集来生成过滤后的比特流,并且提供所述过滤后的比特流以被处理来输出所述沉浸式视频。
示例11包括如示例10所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器基于反馈数据来确定所述感兴趣的视图。
示例12包括如示例11所述的非暂态计算机可读存储介质,其中,所述反馈数据包括与要被解码器渲染的目标视口相对应的位置数据或方向数据中的至少一者。
示例13包括如示例11所述的非暂态计算机可读存储介质,其中,所述反馈数据包括相机外在参数。
示例14包括如示例10所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器基于所述元数据的语法元素的值来确定所述图集包括所述感兴趣的视图。
示例15包括如示例10所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器基于所述元数据来确定所述感兴趣的视图是否符合以下情况中的至少一者:被完全包括在所述图集中,或者被部分包括在所述图集中。
示例16包括如示例10所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器经由第一网络通信从编码器获得所述比特流,并且经由第二网络通信将所述过滤后的比特流传输到解码器。
示例17包括如示例10所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器经由第一网络通信从编码器获得所述比特流,并且经由总线将所述过滤后的比特流传输到解码器。
示例18包括如示例10所述的非暂态计算机可读存储介质,其中,所述沉浸式视频对应于每帧的多个视图。
示例19包括一种设备,该设备包括:获得装置,用于获得与沉浸式视频相对应的比特流,所述比特流包括与一个或多个视图相对应的一个或多个图集;确定装置,用于确定与所述比特流的图集相对应的元数据识别出感兴趣的视图的至少一部分对应于所述图集,所述元数据被包括在所述比特流中;以及生成装置,用于通过从所述比特流中去除不识别所述感兴趣的视图的至少一部分的图集来生成过滤后的比特流,所述获得装置用于提供所述过滤后的比特流以被处理来输出所述沉浸式视频。
示例20包括如示例19所述的设备,还包括:第二确定装置,用于基于反馈数据来确定所述感兴趣的视图。
示例21包括如示例20所述的设备,其中,所述反馈数据包括与要被解码器渲染的目标视口相对应的位置数据或方向数据中的至少一者。
示例22包括如示例20所述的设备,其中,所述反馈数据包括相机外在参数。
示例23包括如示例19所述的设备,其中,所述确定装置用于基于所述元数据的语法元素的值来确定所述图集包括所述感兴趣的视图。
示例24包括如示例19所述的设备,其中,所述确定装置用于基于所述元数据来确定所述感兴趣的视图是否符合以下情况中的至少一者:被完全包括在所述图集中,或者被部分包括在所述图集中。
示例25包括如示例19所述的设备,其中,所述获得装置用于经由第一网络通信从编码器获得所述比特流,并且经由第二网络通信将所述过滤后的比特流传输到解码器。
示例26包括一种装置,该装置包括:存储器;以及处理器电路,用于执行机器可读指令以至少获得与沉浸式视频相对应的比特流,所述比特流包括与一个或多个视图相对应的一个或多个图集,确定与所述比特流的图集相对应的元数据识别出感兴趣的视图的至少一部分对应于所述图集,所述元数据被包括在所述比特流中,并且通过从所述比特流中去除不识别所述感兴趣的视图的至少一部分的图集来生成过滤后的比特流,所述过滤后的比特流要被处理来输出所述沉浸式视频。
示例27包括如示例26所述的装置,其中,所述处理器电路用于基于反馈数据来确定所述感兴趣的视图。
示例28包括如示例27所述的装置,其中,所述反馈数据包括与要被解码器渲染的目标视口相对应的位置数据或方向数据中的至少一者。
示例29包括如示例27所述的装置,其中,所述反馈数据包括相机外在参数。
示例30包括如示例26所述的装置,其中,所述处理器电路用于基于所述元数据的语法元素的值来确定所述图集包括所述感兴趣的视图。
示例31包括如示例26所述的装置,其中,所述处理器电路用于基于所述元数据来确定所述感兴趣的视图是否符合以下情况中的至少一者:被完全包括在所述图集中,或者被部分包括在所述图集中。
示例32包括如示例26所述的装置,其中,所述处理器电路用于经由第一网络通信从编码器获得所述比特流,并且经由第二网络通信将所述过滤后的比特流传输到解码器。
示例33包括如示例26所述的装置,其中,所述处理器电路用于经由第一网络通信从编码器获得所述比特流,并且经由总线将所述过滤后的比特流传输到解码器。
示例34包括如示例26所述的装置,其中,所述沉浸式视频对应于每帧的多个视图。
示例35包括一种编码系统,该编码系统包括:编码器,用于生成代表一个或多个视图的图集;图集编码分析器,用于确定所述图集有可能包括与第一视图有关的第一数据,确定所述图集不包括与第二视图有关的第二数据;信号指示器,用于将第一启用标志设置到第一值以指示出所述图集有可能包括与所述第一视图有关的所述第一数据,并且将第二启用标志设置到第二值来指示出所述图集不包括与所述第二视图有关的所述第二数据;以及组件接口,用于将元数据包括在比特流中,所述元数据包括所述第一启用标志和所述第二启用标志。
示例36包括如示例35所述的编码系统,其中,所述图集是第一图集,所述编码器用于生成代表一个或多个视图的第二图集,所述图集编码分析器用于确定第二图集包括整个第三视图,并且所述信号用于设置完整标志来指示出所述整个第三视图被包括在所述第二图集中,所述元数据包括所述完整标志。
示例37包括如示例36所述的编码系统,还包括:语法生成器,用于生成包括与不同视图相对应的完整标志的完整标志阵列,所述完整标志被包括在所述完整标志阵列中,所述完整标志阵列被包括在所述元数据中。
示例38包括如示例37所述的编码系统,其中,所述信号指示器将第一组完整标志中的完整标志设置到第三值以指示出相应的第一视图被完整包括在所述第二图集中,并且将第二组完整标志中的完整标志设置到第四值以指示出相应的第二视图未被完整包括在所述第二图集中。
示例39包括如示例35所述的编码系统,还包括语法生成器,来生成包括与不同视图相对应的启用标志的启用阵列,所述启用标志被包括在所述启用阵列中,所述启用阵列被包括在所述元数据中。
示例40包括如示例39所述的编码系统,其中,所述启用阵列包括指示所述图集中包括的可能视图的值。
示例41包括如示例35所述的编码系统,其中,所述图集编码分析器用于确定与第三图集相对应的所有像素被占用。
示例42包括如示例41所述的编码系统,其中,所述信号指示器用于设置完全占用值以指示出与所述第三图集相对应的所有像素被占用,所述元数据包括所述完全占用值。
示例43包括一种编码系统,该编码系统包括:存储器;以及处理器电路,用于执行机器可读指令以至少执行下列操作:生成代表一个或多个视图的图集,确定所述图集有可能包括与第一视图有关的第一数据,确定所述图集不包括与第二视图有关的第二数据,将第一启用标志设置到第一值以指示出所述图集有可能包括与所述第一视图有关的所述第一数据,以及将第二启用标志设置到第二值来指示出所述图集不包括与所述第二视图有关的所述第二数据,以及将元数据包括在比特流中,所述元数据包括所述第一启用标志和所述第二启用标志。
示例44包括如示例43所述的编码系统,其中,所述图集是第一图集,所述处理器电路用于执行下列操作:生成代表一个或多个视图的第二图集,确定第二图集包括整个第三视图,以及设置完整标志来指示出所述整个第三视图被包括在所述第二图集中,所述元数据包括所述完整标志。
示例45包括如示例44所述的编码系统,其中,所述处理器电路用于生成包括与不同视图相对应的完整标志的完整标志阵列,所述完整标志被包括在所述完整标志阵列中,所述完整标志阵列被包括在所述元数据中。
示例46包括如示例45所述的编码系统,其中,所述处理器电路用于执行下列操作:将第一组完整标志中的完整标志设置到第三值以指示出相应的第一视图被完整包括在所述第二图集中,以及将第二组完整标志中的完整标志设置到第四值以指示出相应的第二视图未被完整包括在所述第二图集中。
示例47包括如示例43所述的编码系统,其中,所述处理器电路用于生成包括与不同视图相对应的启用标志的启用阵列,所述启用标志被包括在所述启用阵列中,所述启用阵列被包括在所述元数据中。
示例48包括如示例47所述的编码系统,其中,所述启用阵列包括指示所述图集中包括的可能视图的值。
示例49包括如示例43所述的编码系统,其中,所述处理器电路用于确定与第三图集相对应的所有像素被占用。
示例50包括如示例49所述的编码系统,其中,所述处理器电路用于设置完全占用值以指示出与所述第三图集相对应的所有像素被占用,所述元数据包括所述完全占用值。
示例51包括一种非暂态计算机可读存储介质,包括指令,所述指令当被执行时,使得一个或多个处理器至少执行下列操作:生成代表一个或多个视图的图集,确定所述图集有可能包括与第一视图有关的第一数据,确定所述图集不包括与第二视图有关的第二数据,将第一启用标志设置到第一值以指示出所述图集有可能包括与所述第一视图有关的所述第一数据,以及将第二启用标志设置到第二值来指示出所述图集不包括与所述第二视图有关的所述第二数据,以及将元数据包括在比特流中,所述元数据包括所述第一启用标志和所述第二启用标志。
示例52包括如示例51所述的计算机可读存储介质,其中,所述图集是第一图集,所述指令使得所述一个或多个处理器执行下列操作:生成代表一个或多个视图的第二图集,确定第二图集包括整个第三视图,以及设置完整标志来指示出所述整个第三视图被包括在所述第二图集中,所述元数据包括所述完整标志。
示例53包括如示例52所述的计算机可读存储介质,其中,所述指令使得所述一个或多个处理器生成包括与不同视图相对应的完整标志的完整标志阵列,所述完整标志被包括在所述完整标志阵列中,所述完整标志阵列被包括在所述元数据中。
示例54包括如示例53所述的计算机可读存储介质,其中,所述指令使得所述一个或多个处理器执行下列操作:将第一组完整标志中的完整标志设置到第三值以指示出相应的第一视图被完整包括在所述第二图集中,以及将第二组完整标志中的完整标志设置到第四值以指示出相应的第二视图未被完整包括在所述第二图集中。
示例55包括如示例51所述的计算机可读存储介质,其中,所述指令使得所述一个或多个处理器生成包括与不同视图相对应的启用标志的启用阵列,所述启用标志被包括在所述启用阵列中,所述启用阵列被包括在所述元数据中。
示例56包括如示例55所述的计算机可读存储介质,其中,所述启用阵列包括指示所述图集中包括的可能视图的值。
示例57包括如示例51所述的计算机可读存储介质,其中,所述指令使得所述一个或多个处理器确定与第三图集相对应的所有像素被占用。
示例58包括如示例57所述的计算机可读存储介质,其中,所述指令使得所述一个或多个处理器设置完全占用值以指示出与所述第三图集相对应的所有像素被占用,所述元数据包括所述完全占用值。
示例59包括一种渲染系统,该渲染系统包括:接口,用于获得与沉浸式视频相对应的比特流;比特流分析器,用于确定与所述比特流的图集相对应的元数据识别出感兴趣的视图的至少一部分对应于所述图集,所述元数据被包括在所述比特流中;以及过滤器,用于通过从所述比特流中去除不识别所述感兴趣的视图的至少一部分的图集来生成过滤后的比特流,所述接口提供所述过滤后的比特流以被处理来输出所述沉浸式视频。
示例60包括如示例59所述的渲染系统,还包括:反馈数据分析器,用于基于反馈数据来确定所述感兴趣的视图。
示例61包括如示例60所述的渲染系统,其中,所述反馈数据包括与要被所述渲染系统的解码器渲染的目标视口相对应的位置数据或方向数据中的至少一者。
示例62包括如示例60所述的渲染系统,其中,所述反馈数据包括相机外在参数。
示例63包括如示例59所述的渲染系统,其中,所述比特流分析器用于基于所述元数据的语法元素的值来确定所述图集包括所述感兴趣的视图。
示例64包括如示例59所述的渲染系统,其中,所述比特流分析器用于基于所述元数据来确定所述感兴趣的视图是否符合以下情况中的至少一者:被完全包括在所述图集中,或者被部分包括在所述图集中。
示例65包括如示例59所述的渲染系统,还包括:解码器,用于对所述过滤后的比特流进行解码。
示例66包括如示例65所述的渲染系统,其中,所述接口用于经由第一网络通信从编码器获得所述比特流,并且经由总线将所述过滤后的比特流传输到所述解码器。
示例67包括如示例59所述的渲染系统,其中,所述沉浸式视频对应于每帧的多个视图。
示例68包括一种非暂态计算机可读存储介质,包括指令,所述指令当被执行时,使得一个或多个处理器至少执行下列操作:获得与沉浸式视频相对应的比特流,确定与所述比特流的图集相对应的元数据识别出感兴趣的视图的至少一部分对应于所述图集,所述元数据被包括在所述比特流中,通过从所述比特流中去除不识别所述感兴趣的视图的至少一部分的图集来生成过滤后的比特流,以及提供所述过滤后的比特流以被处理来输出所述沉浸式视频。
示例69包括如示例68所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器基于反馈数据来确定所述感兴趣的视图。
示例70包括如示例69所述的非暂态计算机可读存储介质,其中,所述反馈数据包括与要被解码器渲染的目标视口相对应的位置数据或方向数据中的至少一者。
示例71包括如示例69所述的非暂态计算机可读存储介质,其中,所述反馈数据包括相机外在参数。
示例72包括如示例68所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器基于所述元数据的语法元素的值来确定所述图集包括所述感兴趣的视图。
示例73包括如示例68所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器基于所述元数据来确定所述感兴趣的视图是否符合以下情况中的至少一者:被完全包括在所述图集中,或者被部分包括在所述图集中。
示例74包括如示例68所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器对所述过滤后的比特流解码。
示例75包括如示例74所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器经由第一网络通信从编码器获得所述比特流,并且经由总线将所述过滤后的比特流传输到解码器。
示例76包括如示例68所述的非暂态计算机可读存储介质,其中,所述沉浸式视频对应于每帧的多个视图。
示例77包括一种设备,该设备包括:获得装置,用于获得与沉浸式视频相对应的比特流;确定装置,用于确定与所述比特流的图集相对应的元数据识别出感兴趣的视图的至少一部分对应于所述图集,所述元数据被包括在所述比特流中;以及生成装置,用于通过从所述比特流中去除不识别所述感兴趣的视图的至少一部分的图集来生成过滤后的比特流,所述获得装置用于提供所述过滤后的比特流以被处理来输出所述沉浸式视频。
示例78包括如示例77所述的设备,还包括:第二确定装置,用于基于反馈数据来确定所述感兴趣的视图。
示例79包括如示例78所述的设备,其中,所述反馈数据包括与要被用于解码的装置渲染的目标视口相对应的位置数据或方向数据中的至少一者。
示例80包括如示例78所述的设备,其中,所述反馈数据包括相机外在参数。
示例81包括如示例77所述的设备,其中,所述确定装置用于基于所述元数据的语法元素的值来确定所述图集包括所述感兴趣的视图。
示例82包括如示例77所述的设备,其中,所述确定装置用于基于所述元数据来确定所述感兴趣的视图是否符合以下情况中的至少一者:被完全包括在所述图集中,或者被部分包括在所述图集中。
示例83包括如示例77所述的设备,还包括:解码装置,用于对所述过滤后的比特流进行解码。
从上述内容将会明白,已公开了在沉浸式视频中对于每个图集对启用的视图进行采样的示例方法、装置和制品。所公开的方法、装置和制品可以通过对比特流过滤以仅对感兴趣的视图解码来减少访问和渲染沉浸式视频的视图所要求的带宽和/或资源。此外,所公开的方法、装置和制品可以通过在所有像素都被点占用时利用单个比特指示出图集和/或斑块中的所有像素的占用情况来减少带宽和/或处理器资源。所公开的方法、装置和制品因此针对的是计算机的功能的一项或多项改进。
虽然本文公开了某些示例方法、装置和制品,但本专利的覆盖范围不限于此。相反,本专利覆盖了公平地落在本专利的权利要求的范围内的所有方法、装置和制品。

Claims (83)

1.一种装置,包括:
接口,用于获得与沉浸式视频相对应的比特流,所述比特流包括与一个或多个视图相对应的一个或多个图集;
比特流分析器,用于确定与所述比特流的图集相对应的元数据识别出感兴趣的视图的至少一部分对应于所述图集,所述元数据被包括在所述比特流中;以及
过滤器,用于通过从所述比特流中去除不识别所述感兴趣的视图的至少一部分的图集来生成过滤后的比特流,所述接口用于提供所述过滤后的比特流以被处理来输出所述沉浸式视频。
2.如权利要求1所述的装置,还包括:反馈数据分析器,用于基于反馈数据来确定所述感兴趣的视图。
3.如权利要求2所述的装置,其中,所述反馈数据包括与要被解码器渲染的目标视口相对应的位置数据或方向数据中的至少一者。
4.如权利要求2所述的装置,其中,所述反馈数据包括相机外在参数。
5.如权利要求1所述的装置,其中,所述比特流分析器用于基于所述元数据的语法元素的值来确定所述图集包括所述感兴趣的视图。
6.如权利要求1所述的装置,其中,所述比特流分析器用于基于所述元数据来确定所述感兴趣的视图是否符合以下情况中的至少一者:被完全包括在所述图集中,或者被部分包括在所述图集中。
7.如权利要求1所述的装置,其中,所述接口用于经由第一网络通信从编码器获得所述比特流,并且经由第二网络通信将所述过滤后的比特流传输到解码器。
8.如权利要求1所述的装置,其中,所述接口用于经由第一网络通信从编码器获得所述比特流,并且经由总线将所述过滤后的比特流传输到解码器。
9.如权利要求1所述的装置,其中,所述沉浸式视频对应于每帧的多个视图。
10.一种非暂态计算机可读存储介质,包括指令,所述指令当被执行时,使得一个或多个处理器至少执行下列操作:
获得与沉浸式视频相对应的比特流,所述比特流包括与一个或多个视图相对应的一个或多个图集;
确定与所述比特流的图集相对应的元数据识别出感兴趣的视图的至少一部分对应于所述图集,所述元数据被包括在所述比特流中;
通过从所述比特流中去除不识别所述感兴趣的视图的至少一部分的图集来生成过滤后的比特流;以及
提供所述过滤后的比特流以被处理来输出所述沉浸式视频。
11.如权利要求10所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器基于反馈数据来确定所述感兴趣的视图。
12.如权利要求11所述的非暂态计算机可读存储介质,其中,所述反馈数据包括与要被解码器渲染的目标视口相对应的位置数据或方向数据中的至少一者。
13.如权利要求11所述的非暂态计算机可读存储介质,其中,所述反馈数据包括相机外在参数。
14.如权利要求10所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器基于所述元数据的语法元素的值来确定所述图集包括所述感兴趣的视图。
15.如权利要求10所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器基于所述元数据来确定所述感兴趣的视图是否符合以下情况中的至少一者:被完全包括在所述图集中,或者被部分包括在所述图集中。
16.如权利要求10所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器经由第一网络通信从编码器获得所述比特流,并且经由第二网络通信将所述过滤后的比特流传输到解码器。
17.如权利要求10所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器经由第一网络通信从编码器获得所述比特流,并且经由总线将所述过滤后的比特流传输到解码器。
18.如权利要求10所述的非暂态计算机可读存储介质,其中,所述沉浸式视频对应于每帧的多个视图。
19.一种设备,包括:
获得装置,用于获得与沉浸式视频相对应的比特流,所述比特流包括与一个或多个视图相对应的一个或多个图集;
确定装置,用于确定与所述比特流的图集相对应的元数据识别出感兴趣的视图的至少一部分对应于所述图集,所述元数据被包括在所述比特流中;以及
生成装置,用于通过从所述比特流中去除不识别所述感兴趣的视图的至少一部分的图集来生成过滤后的比特流,所述获得装置用于提供所述过滤后的比特流以被处理来输出所述沉浸式视频。
20.如权利要求19所述的设备,还包括:第二确定装置,用于基于反馈数据来确定所述感兴趣的视图。
21.如权利要求20所述的设备,其中,所述反馈数据包括与要被解码器渲染的目标视口相对应的位置数据或方向数据中的至少一者。
22.如权利要求20所述的设备,其中,所述反馈数据包括相机外在参数。
23.如权利要求19所述的设备,其中,所述确定装置用于基于所述元数据的语法元素的值来确定所述图集包括所述感兴趣的视图。
24.如权利要求19所述的设备,其中,所述确定装置用于基于所述元数据来确定所述感兴趣的视图是否符合以下情况中的至少一者:被完全包括在所述图集中,或者被部分包括在所述图集中。
25.如权利要求19所述的设备,其中,所述获得装置用于经由第一网络通信从编码器获得所述比特流,并且经由第二网络通信将所述过滤后的比特流传输到解码器。
26.一种装置,包括:
存储器;以及
处理器电路,用于执行机器可读指令,以至少执行下列操作:
获得与沉浸式视频相对应的比特流,所述比特流包括与一个或多个视图相对应的一个或多个图集;
确定与所述比特流的图集相对应的元数据识别出感兴趣的视图的至少一部分对应于所述图集,所述元数据被包括在所述比特流中;并且
通过从所述比特流中去除不识别所述感兴趣的视图的至少一部分的图集来生成过滤后的比特流,所述过滤后的比特流要被处理来输出所述沉浸式视频。
27.如权利要求26所述的装置,其中,所述处理器电路用于基于反馈数据来确定所述感兴趣的视图。
28.如权利要求27所述的装置,其中,所述反馈数据包括与要被解码器渲染的目标视口相对应的位置数据或方向数据中的至少一者。
29.如权利要求27所述的装置,其中,所述反馈数据包括相机外在参数。
30.如权利要求26所述的装置,其中,所述处理器电路用于基于所述元数据的语法元素的值来确定所述图集包括所述感兴趣的视图。
31.如权利要求26所述的装置,其中,所述处理器电路用于基于所述元数据来确定所述感兴趣的视图是否符合以下情况中的至少一者:被完全包括在所述图集中,或者被部分包括在所述图集中。
32.如权利要求26所述的装置,其中,所述处理器电路用于经由第一网络通信从编码器获得所述比特流,并且经由第二网络通信将所述过滤后的比特流传输到解码器。
33.如权利要求26所述的装置,其中,所述处理器电路用于经由第一网络通信从编码器获得所述比特流,并且经由总线将所述过滤后的比特流传输到解码器。
34.如权利要求26所述的装置,其中,所述沉浸式视频对应于每帧的多个视图。
35.一种编码系统,包括:
编码器,用于生成代表一个或多个视图的图集;
图集编码分析器,用于执行下列操作:
确定所述图集有可能包括与第一视图有关的第一数据;
确定所述图集不包括与第二视图有关的第二数据;
信号指示器,用于执行下列操作:
将第一启用标志设置到第一值以指示出所述图集有可能包括与所述第一视图有关的所述第一数据;以及
将第二启用标志设置到第二值来指示出所述图集不包括与所述第二视图有关的所述第二数据;以及
组件接口,用于将元数据包括在比特流中,所述元数据包括所述第一启用标志和所述第二启用标志。
36.如权利要求35所述的编码系统,其中,所述图集是第一图集;
所述编码器用于生成代表一个或多个视图的第二图集;
所述图集编码分析器用于确定第二图集包括整个第三视图;并且
所述信号指示器用于设置完整标志来指示出所述整个第三视图被包括在所述第二图集中,所述元数据包括所述完整标志。
37.如权利要求36所述的编码系统,还包括:语法生成器,用于生成包括与不同视图相对应的完整标志的完整标志阵列,所述完整标志被包括在所述完整标志阵列中,所述完整标志阵列被包括在所述元数据中。
38.如权利要求37所述的编码系统,其中,所述信号指示器用于执行下列操作:
将第一组完整标志中的完整标志设置到第三值以指示出相应的第一视图被完整包括在所述第二图集中;以及
将第二组完整标志中的完整标志设置到第四值以指示出相应的第二视图未被完整包括在所述第二图集中。
39.如权利要求35所述的编码系统,还包括:语法生成器,用于生成包括与不同视图相对应的启用标志的启用阵列,所述启用标志被包括在所述启用阵列中,所述启用阵列被包括在所述元数据中。
40.如权利要求39所述的编码系统,其中,所述启用阵列包括指示所述图集中包括的可能视图的值。
41.如权利要求35所述的编码系统,其中,所述图集编码分析器用于确定与第三图集相对应的所有像素被占用。
42.如权利要求41所述的编码系统,其中,所述信号指示器用于设置完全占用值以指示出与所述第三图集相对应的所有像素被占用,所述元数据包括所述完全占用值。
43.一种编码系统,包括:
存储器;以及
处理器电路,用于执行机器可读指令,以至少执行下列操作:
生成代表一个或多个视图的图集;
确定所述图集有可能包括与第一视图有关的第一数据;
确定所述图集不包括与第二视图有关的第二数据;
将第一启用标志设置到第一值以指示出所述图集有可能包括与所述第一视图有关的所述第一数据;以及
将第二启用标志设置到第二值来指示出所述图集不包括与所述第二视图有关的所述第二数据;以及
将元数据包括在比特流中,所述元数据包括所述第一启用标志和所述第二启用标志。
44.如权利要求43所述的编码系统,其中,所述图集是第一图集,所述处理器电路用于执行下列操作:
生成代表一个或多个视图的第二图集;
确定第二图集包括整个第三视图;以及
设置完整标志来指示出所述整个第三视图被包括在所述第二图集中,所述元数据包括所述完整标志。
45.如权利要求44所述的编码系统,其中,所述处理器电路用于生成包括与不同视图相对应的完整标志的完整标志阵列,所述完整标志被包括在所述完整标志阵列中,所述完整标志阵列被包括在所述元数据中。
46.如权利要求45所述的编码系统,其中,所述处理器电路用于执行下列操作:
将第一组完整标志中的完整标志设置到第三值以指示出相应的第一视图被完整包括在所述第二图集中;以及
将第二组完整标志中的完整标志设置到第四值以指示出相应的第二视图未被完整包括在所述第二图集中。
47.如权利要求43所述的编码系统,其中,所述处理器电路用于生成包括与不同视图相对应的启用标志的启用阵列,所述启用标志被包括在所述启用阵列中,所述启用阵列被包括在所述元数据中。
48.如权利要求47所述的编码系统,其中,所述启用阵列包括指示所述图集中包括的可能视图的值。
49.如权利要求43所述的编码系统,其中,所述处理器电路用于确定与第三图集相对应的所有像素被占用。
50.如权利要求49所述的编码系统,其中,所述处理器电路用于设置完全占用值以指示出与所述第三图集相对应的所有像素被占用,所述元数据包括所述完全占用值。
51.一种非暂态计算机可读存储介质,包括指令,所述指令当被执行时,使得一个或多个处理器至少执行下列操作:
生成代表一个或多个视图的图集;
确定所述图集有可能包括与第一视图有关的第一数据;
确定所述图集不包括与第二视图有关的第二数据;
将第一启用标志设置到第一值以指示出所述图集有可能包括与所述第一视图有关的所述第一数据;以及
将第二启用标志设置到第二值来指示出所述图集不包括与所述第二视图有关的所述第二数据;以及
将元数据包括在比特流中,所述元数据包括所述第一启用标志和所述第二启用标志。
52.如权利要求51所述的计算机可读存储介质,其中,所述图集是第一图集,所述指令使得所述一个或多个处理器执行下列操作:
生成代表一个或多个视图的第二图集;
确定第二图集包括整个第三视图;以及
设置完整标志来指示出所述整个第三视图被包括在所述第二图集中,所述元数据包括所述完整标志。
53.如权利要求52所述的计算机可读存储介质,其中,所述指令使得所述一个或多个处理器生成包括与不同视图相对应的完整标志的完整标志阵列,所述完整标志被包括在所述完整标志阵列中,所述完整标志阵列被包括在所述元数据中。
54.如权利要求53所述的计算机可读存储介质,其中,所述指令使得所述一个或多个处理器执行下列操作:
将第一组完整标志中的完整标志设置到第三值以指示出相应的第一视图被完整包括在所述第二图集中;以及
将第二组完整标志中的完整标志设置到第四值以指示出相应的第二视图未被完整包括在所述第二图集中。
55.如权利要求51所述的计算机可读存储介质,其中,所述指令使得所述一个或多个处理器生成包括与不同视图相对应的启用标志的启用阵列,所述启用标志被包括在所述启用阵列中,所述启用阵列被包括在所述元数据中。
56.如权利要求55所述的计算机可读存储介质,其中,所述启用阵列包括指示所述图集中包括的可能视图的值。
57.如权利要求51所述的计算机可读存储介质,其中,所述指令使得所述一个或多个处理器确定与第三图集相对应的所有像素被占用。
58.如权利要求57所述的计算机可读存储介质,其中,所述指令使得所述一个或多个处理器设置完全占用值以指示出与所述第三图集相对应的所有像素被占用,所述元数据包括所述完全占用值。
59.一种渲染系统,包括:
接口,用于获得与沉浸式视频相对应的比特流;
比特流分析器,用于确定与所述比特流的图集相对应的元数据识别出感兴趣的视图的至少一部分对应于所述图集,所述元数据被包括在所述比特流中;以及
过滤器,用于通过从所述比特流中去除不识别所述感兴趣的视图的至少一部分的图集来生成过滤后的比特流,所述接口用于提供所述过滤后的比特流以被处理来输出所述沉浸式视频。
60.如权利要求59所述的渲染系统,还包括:反馈数据分析器,用于基于反馈数据来确定所述感兴趣的视图。
61.如权利要求60所述的渲染系统,其中,所述反馈数据包括与要被所述渲染系统的解码器渲染的目标视口相对应的位置数据或方向数据中的至少一者。
62.如权利要求60所述的渲染系统,其中,所述反馈数据包括相机外在参数。
63.如权利要求59所述的渲染系统,其中,所述比特流分析器用于基于所述元数据的语法元素的值来确定所述图集包括所述感兴趣的视图。
64.如权利要求59所述的渲染系统,其中,所述比特流分析器用于基于所述元数据来确定所述感兴趣的视图是否符合以下情况中的至少一者:被完全包括在所述图集中,或者被部分包括在所述图集中。
65.如权利要求59所述的渲染系统,还包括:解码器,用于对所述过滤后的比特流进行解码。
66.如权利要求65所述的渲染系统,其中,所述接口用于经由第一网络通信从编码器获得所述比特流,并且经由总线将所述过滤后的比特流传输到所述解码器。
67.如权利要求59所述的渲染系统,其中,所述沉浸式视频对应于每帧的多个视图。
68.一种非暂态计算机可读存储介质,包括指令,所述指令当被执行时,使得一个或多个处理器至少执行下列操作:
获得与沉浸式视频相对应的比特流;
确定与所述比特流的图集相对应的元数据识别出感兴趣的视图的至少一部分对应于所述图集,所述元数据被包括在所述比特流中;
通过从所述比特流中去除不识别所述感兴趣的视图的至少一部分的图集来生成过滤后的比特流;以及
提供所述过滤后的比特流以被处理来输出所述沉浸式视频。
69.如权利要求68所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器基于反馈数据来确定所述感兴趣的视图。
70.如权利要求69所述的非暂态计算机可读存储介质,其中,所述反馈数据包括与要被解码器渲染的目标视口相对应的位置数据或方向数据中的至少一者。
71.如权利要求69所述的非暂态计算机可读存储介质,其中,所述反馈数据包括相机外在参数。
72.如权利要求68所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器基于所述元数据的语法元素的值来确定所述图集包括所述感兴趣的视图。
73.如权利要求68所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器基于所述元数据来确定所述感兴趣的视图是否符合以下情况中的至少一者:被完全包括在所述图集中,或者被部分包括在所述图集中。
74.如权利要求68所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器对所述过滤后的比特流解码。
75.如权利要求74所述的非暂态计算机可读存储介质,其中,所述指令使得所述一个或多个处理器经由第一网络通信从编码器获得所述比特流,并且经由总线将所述过滤后的比特流传输到解码器。
76.如权利要求68所述的非暂态计算机可读存储介质,其中,所述沉浸式视频对应于每帧的多个视图。
77.一种设备,包括:
获得装置,用于获得与沉浸式视频相对应的比特流;
确定装置,用于确定与所述比特流的图集相对应的元数据识别出感兴趣的视图的至少一部分对应于所述图集,所述元数据被包括在所述比特流中;以及
生成装置,用于通过从所述比特流中去除不识别所述感兴趣的视图的至少一部分的图集来生成过滤后的比特流,所述获得装置用于提供所述过滤后的比特流以被处理来输出所述沉浸式视频。
78.如权利要求77所述的设备,还包括:第二确定装置,用于基于反馈数据来确定所述感兴趣的视图。
79.如权利要求78所述的设备,其中,所述反馈数据包括与要被解码装置渲染的目标视口相对应的位置数据或方向数据中的至少一者。
80.如权利要求78所述的设备,其中,所述反馈数据包括相机外在参数。
81.如权利要求77所述的设备,其中,所述确定装置用于基于所述元数据的语法元素的值来确定所述图集包括所述感兴趣的视图。
82.如权利要求77所述的设备,其中,所述确定装置用于基于所述元数据来确定所述感兴趣的视图是否符合以下情况中的至少一者:被完全包括在所述图集中,或者被部分包括在所述图集中。
83.如权利要求77所述的设备,还包括:解码装置,用于对所述过滤后的比特流进行解码。
CN202180016128.5A 2020-03-31 2021-03-26 在沉浸式视频中对于每个图集标示启用视图的方法和装置 Pending CN115136594A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063003131P 2020-03-31 2020-03-31
US63/003,131 2020-03-31
PCT/US2021/024488 WO2021202310A1 (en) 2020-03-31 2021-03-26 Methods and apparatus to signal enabled views per atlas in immersive video

Publications (1)

Publication Number Publication Date
CN115136594A true CN115136594A (zh) 2022-09-30

Family

ID=77929564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180016128.5A Pending CN115136594A (zh) 2020-03-31 2021-03-26 在沉浸式视频中对于每个图集标示启用视图的方法和装置

Country Status (6)

Country Link
US (1) US20230156229A1 (zh)
EP (1) EP4128747A4 (zh)
JP (1) JP2023519660A (zh)
KR (1) KR20220160550A (zh)
CN (1) CN115136594A (zh)
WO (1) WO2021202310A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021204700A1 (en) * 2020-04-07 2021-10-14 Interdigital Vc Holdings France Different atlas packings for volumetric video

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10477189B2 (en) * 2014-04-30 2019-11-12 Intel Corporation System and method of multi-view reconstruction with user-selectable novel views
EP3349182A1 (en) * 2017-01-13 2018-07-18 Thomson Licensing Method, apparatus and stream for immersive video format
EP3474562A1 (en) * 2017-10-20 2019-04-24 Thomson Licensing Method, apparatus and stream for volumetric video format
WO2019231178A1 (ko) * 2018-06-01 2019-12-05 엘지전자 주식회사 복수의 뷰포인트들에 대한 메타데이터를 송수신하는 방법 및 장치
EP3595319A1 (en) * 2018-07-12 2020-01-15 InterDigital VC Holdings, Inc. Methods and apparatus for volumetric video transport

Also Published As

Publication number Publication date
WO2021202310A1 (en) 2021-10-07
KR20220160550A (ko) 2022-12-06
EP4128747A4 (en) 2024-03-13
EP4128747A1 (en) 2023-02-08
JP2023519660A (ja) 2023-05-12
US20230156229A1 (en) 2023-05-18

Similar Documents

Publication Publication Date Title
CN111279705B (zh) 用于编码和解码体积视频的方法、设备和流
US11943452B2 (en) Systems and methods for video encoding and decoding
KR102406846B1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11647177B2 (en) Method, apparatus and stream for volumetric video format
KR20200051784A (ko) 3 자유도 및 볼류메트릭 호환 가능한 비디오 스트림을 인코딩 및 디코딩하기 위한 방법들 및 디바이스들
JP2019517191A (ja) 360度ビデオのためのハイブリッドなグラフィックスおよびピクセル領域アーキテクチャ
CN113557729B (zh) 视频码流解码方法、系统、装置和电子设备
US11375235B2 (en) Method and apparatus for encoding and decoding three-dimensional scenes in and from a data stream
KR102373833B1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11902540B2 (en) Immersive video coding using object metadata
CN115136594A (zh) 在沉浸式视频中对于每个图集标示启用视图的方法和装置
WO2020013977A1 (en) Methods and devices for encoding and decoding three degrees of freedom and volumetric compatible video stream
JP2023521287A (ja) テクスチャベースの没入型ビデオコーディング
EP3767953A1 (en) Methods for transmitting and rendering a 3d scene, method for generating patches, and corresponding devices and computer programs
US20230239508A1 (en) Methods and apparatus to identify a video decoding error
WO2023169004A1 (zh) 点云媒体的数据处理方法、装置、设备及介质
WO2023169001A1 (zh) 一种沉浸媒体的数据处理方法、装置、设备及存储介质
US20230032599A1 (en) Methods and apparatuses for encoding, decoding and rendering 6dof content from 3dof+ composed elements
US20230048474A1 (en) Method and apparatus for processing non-sequential point cloud media, device, and storage medium
WO2021249867A1 (en) A method and apparatus for encoding and decoding volumetric video as partitioned patch atlases
JP2022551064A (ja) 容積ビデオを符号化、送信、及び復号化するための方法及び装置
KR20230079184A (ko) 몰입형 비디오의 인코딩 및 디코딩

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