CN117426098A - 用于传输和渲染包括非漫射对象的多个视图的方法、服务器和设备 - Google Patents
用于传输和渲染包括非漫射对象的多个视图的方法、服务器和设备 Download PDFInfo
- Publication number
- CN117426098A CN117426098A CN202280018930.2A CN202280018930A CN117426098A CN 117426098 A CN117426098 A CN 117426098A CN 202280018930 A CN202280018930 A CN 202280018930A CN 117426098 A CN117426098 A CN 117426098A
- Authority
- CN
- China
- Prior art keywords
- view
- diffuse
- data
- vref
- dnd
- 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
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000009877 rendering Methods 0.000 title claims description 48
- 230000005540 biological transmission Effects 0.000 claims abstract description 45
- 238000002310 reflectometry Methods 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 4
- 230000000153 supplemental effect Effects 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
- 210000002268 wool Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/506—Illumination models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/21805—Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/16—Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/08—Bandwidth reduction
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Processing Or Creating Images (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种用于传输数据的方法,由服务器(1SVR)实现,其中,设备(1CTL)使用所述数据来渲染单个场景的多个视图(Vref,Vi),所述多个视图包括至少一个基本视图(Vref)和至少一个附加视图(Vi),所述方法包括以下步骤:‑通过编码所述视图(Vref,Vi)来生成(SS10)流(STR);‑在检测到的非漫射像素(NDP)中选择(1SS30)非漫射像素(SNDP);‑生成(1SS40)表示选择的非漫射像素的数据(1DND);以及,‑向所述设备传输(SS50)所述流(STR)和所述数据(1DND),其中,所述数据的大小是所述设备的像素速率(PR)的函数和/或是所述服务器与所述设备之间的传输速率(TR)的函数。
Description
技术领域
本发明涉及计算机图形领域。更具体地,本申请涉及一种用于编码和传输数据的方法,所述数据用于渲染同一场景的多个视图的非漫射像素。本发明可以在沉浸式视频的场景中使用。
不管观察者的视点如何,漫射表面具有相同的表观亮度。漫射表面产生光的漫反射:光被吸收并向各个方向重新发射。混凝土、木材和羊毛都是这种表面的示例。
相比之下,非漫射表面具有可见纹理取决于视点的特性。几乎所有的自然场景和高质量的合成场景都呈现出非漫反射。非漫射表面的典型示例为镜子、窗户和光滑表面。
表面在特定方向上的反射率是该表面在该特定方向上反射的入射光的分数。下文中,对应于视点的表面的反射率是指该对象的表面在该视点方向上的反射率。对于非漫射表面,反射率随视点而变化。
表示非漫射表面的像素称为非漫射像素。
背景技术
在沉浸式视频中,用户可以通过不同的视图在场景中巡游。由于客户端设备的存储器和/或计算限制,这些视图以压缩形式从服务器接收。
服务器和客户端设备之间的传输速率受到限制,因此,需要有效的压缩方案来减少要传输的数据量。
当前多视图的压缩和传输方法无法满足对这些视图的非漫射像素的渲染。
特别是,作为一种近来为沉浸式视频设计的编解码器,动态图像专家组MPEG沉浸式视频(Immersive Video,MIV)无法处理与视图相关的效果,如非漫反射。
所述MIV方法包括完全传输所谓的“基本”视图以及剪切替代视图,以使得在减少要传输的数据量的同时,客户端接收器能够渲染这些视图。
由于存在剪切过程,客户端渲染的替代视图的非漫射像素的反射率不正确。
标准MIV方法的扩展使得能够传输用于渲染替代视图的非漫射像素的纹理的附加数据。然而,这种方法需要大量的传输数据,以便以合适的质量渲染视图。
需要一种能够传输用于在多个视图中渲染所述非漫射像素的数据的解决方案。
发明内容
本发明的目的是克服现有技术解决方案的所有或一些限制,特别是如上所述的限制。
为此,根据第一方面,本发明涉及用于传输数据的方法,由服务器实现,设备使用所述数据来渲染单个场景的多个视图,所述多个视图包括至少一个基本视图和至少一个替代视图,所述方法包括以下步骤:
-通过编码所述视图来生成流;
-检测所述至少一个替代视图的非漫射像素;
-在所述检测到的非漫射像素中选择非漫射像素;
-生成表示选择的非漫射像素的数据,针对每个所述替代视图,所述数据包括使得所述设备能够使用与所述替代视图对应的反射率来渲染选择的非漫射像素的信息;以及
-向所述设备传输所述流和所述数据,其中,所述数据的大小是所述设备的像素速率和/或所述服务器与所述设备之间的传输速率的函数。
相关地,本发明提出了一种用于传输数据的服务器,其中,设备使用所述数据渲染单个场景的多个视图,所述多个视图包括至少一个基本视图和至少一个替代视图,所述服务器包括:
-用于通过编码所述视图来生成流的模块;
-用于检测所述至少一个替代视图的非漫射像素的模块;
-用于在检测到的非漫射像素中选择非漫射像素的模块;
-生成表示选择的非漫射像素的数据的模块,其中,所述数据包括使得所述设备能够使用与所述替代视图对应的反射率来渲染选择的非漫射像素的信息;以及
-用于向所述设备传输所述流和所述数据的模块,其中,所述数据的大小是所述设备的像素速率的函数和/或是所述服务器与所述设备之间的传输速率的函数。
在实施例中,基于基本视图在替代视图中检测所述非漫射像素。在另一个实施例中,检测到的非漫射像素可以是对象的像素,所述对象在替代视图中显示并被标记为非漫射对象。
用于检测所述非漫射像素的模块需要知道哪些视图是替代视图,以便在替代视图中检测所述非漫射像素。
在实施例中,用于检测所述非漫射像素的模块接收的视图被标记为基本视图或替代视图。
在另一实施例中,用于生成流的模块将替代视图通知给用于检测非漫射像素的模块。
本发明还提出了一种用于渲染单个场景的多个视图的方法,由设备实现,所述多个视图包括至少一个基本视图和至少一个替代视图,所述方法包括以下步骤:
-从服务器接收编码后的视图的流以及表示所述至少一个替代视图的选择的非漫射像素的数据,其中,所述数据的大小是所述设备的像素速率的函数和/或是所述服务器与所述设备之间的传输速率的函数,并且,针对每个所述替代视图,所述数据包括使得所述设备能够使用与所述替代视图对应的反射率来渲染选择的非漫射像素的信息;
-基于所述流和所述数据来渲染所述视图,其中,所述替代视图的所述非漫射像素采用与其对应的反射率来进行渲染。
相关地,本发明提出了一种用于渲染单个场景的多个视图的设备,所述多个视图包括至少一个基本视图和至少一个替代视图,所述设备包括:
-从服务器接收编码后的所述视图的流以及表示所述至少一个替代视图的选择的非漫射像素的数据的模块,其中,所述数据的大小是所述设备的像素速率的函数和/或是所述服务器与所述设备之间的传输速率的函数,并且,针对每个所述替代视图,所述数据包括使得所述设备能够使用与所述替代视图对应的反射率来渲染选择的非漫射像素的信息;
-用于基于所述流和所述数据来渲染所述视图的模块,其中,所述替代视图的所述非漫射像素采用与其对应的反射率来进行渲染。
与现有技术相反,本公开的第一方面在传输用于渲染所述非漫射像素的数据时考虑了传输速率和像素速率。
具体地,本公开的第一方面提出为客户端生成要传输的数据以渲染所述非漫射像素,以使得这些数据的大小是像素的函数和/或这些数据的大小是传输速率的函数。
所述传输速率对应于每单位时间内可以从服务器传输到客户端的数据量。像素速率对应于每单位时间内可以在客户端解码和渲染的接收到的数据量。
在实施例中,在服务器和客户端设备之间的通信会话的初始化阶段期间协商所述像素速率和所述传输速率。在另一实施例中,所述协商恰好发生在选择所述非漫射像素的步骤之前。
有利的是,根据传输速率和像素速率生成传输的数据量避免了在传输期间或在客户端解码和渲染期间,非常缓慢地传输这些要传输的数据或甚至任意截断这些要传输的数据,从而导致糟糕的用户体验。
因此,对于相同的传输数据量(该数据量包括编码后的视图的流和表示非漫射像素的数据),本公开的第一方面使得能够改善客户端上渲染的视图的质量。因此,使得能够在传输有限数据量的同时,实现渲染的视图的给定质量。
表示所述非漫射像素的数据在下文中被称为“非漫射数据”。
以传输速率为约束来传输所有非漫射像素可能导致在流中编码的其他像素或视图被更多地压缩,或者可能导致其传输速度缓慢。这两种结果都会对所有渲染的表面产生负面影响,而不仅仅是非漫射表面。
本公开的第一方面改进了非漫射表面的渲染,而没有显著地不利于基本视图和替代视图的传输。换句话说,本公开的第一方面提出了一种使非漫射数据适应像素速率和/或传输速率限制的方法,使得渲染的视图的整体质量不会受到显著影响。
在以下实施例中,非漫射数据的传输可以采取补充增强信息消息的形式。使用该消息的客户端可以加速其对非漫射像素的处理;不使用该消息的客户端应用传统流程。
图1A示出了现有技术中客户端的所述传统流程的示例,图1A示出了根据MIV方法的扩展,服务器向客户端设备传输用于渲染场景的多个视图的流。如图1B所示,所述流包括基本视图、剪切后的替代视图、用于重建替代视图的元数据以及与替代视图中的非漫射像素有关的信息。
下文中,流中包含的剪切后的替代视图称为“附加”视图。
可以通过选择适当的编码方案来根据像素速率和/或传输速率来调整非漫射数据的大小。例如,如果将非漫射像素编码为16比特,并且对于传输速率限制来说,非漫射数据太大,则将所述非漫射像素转换为8比特,以使得传输的数据量不会使它们的传输或解码饱和。
无论是否修改编码方案,熵编码(例如,霍夫曼编码、算术编码……)也可以应用于非漫射像素,从而根据像素速率和/或传输速率限制来减少要传输的数据量。
如以下实施例所允许的,还可以在选择非漫射像素的步骤期间控制传输的数据的大小。
根据该方法的另一实施例,所述基于以下两者之间的差值来选择所述非漫射像素:
-所述至少一个替代视图的像素的纹理,以及
-与所述替代视图的所述像素匹配的所述至少一个基本视图的像素的纹理。
如果两个不同视图的像素表示场景中相同或接近的位置,则这两个像素被认为是“匹配的”。换句话说,如果替代视图的像素和基本视图中的像素表示场景发生的三维空间中的相同区域,则两者匹配。
在该实施例中,基于基本视图的像素和替代视图的像素之间的比较来选择所述替代视图的非漫射像素。这样的比较有利地使得能够根据像素速率或传输速率限制来选择非漫射像素,并因此控制传输的数据的大小。
根据特定实施例,选择的非漫射像素是使得所述差值最大化的像素中的像素。
特别地,基本视图和替代视图的像素之间的纹理差值表征像素的非漫射性的程度。例如,匹配像素是:
-非漫射像素,如果像素具有非常不同的纹理;或者
-漫射像素,如果像素具有相似的纹理。
对于非漫射像素,纹理的差值越高,通过考虑该像素的非漫射性,其渲染质量就越高。
因此,选择具有最高纹理的差值的非漫射像素能够显著减少要传输的非漫射数据的数量,同时最大化渲染的非漫射表面的质量。
在该实施例中,可以在检测替代视图的非漫射像素的步骤期间计算像素之间的差值。例如,通过将每个视图投影到相同的三维空间中,计算场景中每个像素的位置。相对于比较基本视图中的像素的纹理和替代视图中的像素的纹理,将基本视图中位于三维空间中某个位置的像素与替代视图中位于三维空间中接近位置的像素进行比较,这样获得的针对替代视图的每个像素的差值可以被保存以用于执行如上所述的选择步骤。
根据上述方法的特定实施例,基于所述差值与至少一个阈值之间的比较来选择所述非漫射像素,所述阈值取决于所述像素速率和/或所述传输速率。
该实施例使得能够通过根据像素速率或传输速率限制修改阈值来控制选择的非漫射像素的数量。
根据上述方法的特定实施例,基于检测到的非漫射像素为非漫射像素的概率来选择所述非漫射像素;基于所述差值来计算所述概率。
这样的实施例有利于允许选择非漫射像素,以使得:
-每单位时间内传输的数据的大小既不超过传输速率,也不超过像素速率;以及
-传输对渲染的视图的质量影响最大的非漫射像素。
根据特定实施例,所述选择步骤包括以下子步骤:
-将所述视图的像素与极平面图像线相关联;
-针对每个极平面图像线,确定表示该极平面图像线的形式的至少一个值;以及
-基于所述值选择所述非漫射像素。
同一场景的堆叠视图的切片呈现称为极平面图像(EPI)线的线。每一条线对应于连续视图中显示的同一对象。如果连续视图间隔相同的角度,这些线的几何形状反映了相应对象的漫射率(diffusivity)。即,漫射对象产生直的EPI线,而非漫射对象产生弯曲的EPI线。
因此,例如通过计算EPI线的曲率来确定EPI线的形式,使得能够确定该EPI线的所有像素的非漫射度。当基本视图和替代视图对应于以相同角度间隔的连续视图时,这是特别有利的,因为该方法允许相对于基本视图和替代视图对应的EPI线的形式来精确地选择或拒绝EPI线的所有像素。
根据另一方面,本发明提出了一种用于传输数据的方法,由服务器实现,设备使用所述数据来渲染单个场景的多个视图,所述多个视图包括至少一个基本视图和至少一个替代视图,所述方法包括以下步骤:
-通过编码所述视图来生成流;
-识别所述视图中的至少一个非漫射对象;
-生成表示所述至少一个非漫射对象的数据,针对每个所述替代视图,所述数据包括使得所述设备能够使用与所述替代视图对应的反射率来渲染所述至少一个非漫射对象的信息;以及
-向所述设备传输所述流和所述数据。
相关地,本发明提出了一种用于传输数据的服务器,设备使用所述数据来渲染单个场景的多个视图,所述多个视图包括至少一个基本视图和至少一个替代视图,所述服务器包括:
-用于通过编码所述视图来生成流的模块;
-用于识别所述视图中的至少一个非漫射对象的模块;
-用于生成表示所述至少一个非漫射对象的数据的模块,针对每个所述替代视图,所述数据包括使得所述设备能够使用与所述替代视图对应的反射率来渲染所述至少一个非漫射对象的信息;以及
-用于向所述设备传输所述流和所述数据的模块。
本发明还提出了一种用于渲染单个场景的多个视图的方法,由设备实现,所述多个视图包括至少一个基本视图和至少一个替代视图,所述视图包括纹理图像,所述方法包括以下步骤:
-从服务器接收编码后的视图的流以及表示所述视图中的至少一个非漫射对象的数据,其中,针对每个视图,所述数据包括使得所述设备能够使用与所述视图对应的反射率来渲染所述至少一个非漫射对象的信息;
-基于所述流和所述数据来渲染所述视图,其中,所述至少一个非漫射像素采用与其对应的反射率来进行渲染。
相关地,本发明提出了一种用于渲染单个场景的多个视图的设备,所述多个视图包括至少一个基本视图和至少一个替代视图,所述视图包括纹理图像,所述设备包括:
-用于从服务器接收编码后的视图的流以及表示所述视图中的至少一个非漫射对象的数据,其中,针对每个视图,所述数据包括使得所述设备能够使用与所述视图对应的反射率来渲染所述至少一个非漫射对象的信息;
-用于基于所述流和所述数据来渲染所述视图的模块,其中,所述至少一个非漫射对象采用与其对应的反射率来进行渲染。
本公开发明的这一方面提出传输表示视图中的非漫射对象的非漫射数据。这使得能够渲染非漫射表面的同时,减少传输的数据量。实际上,并非所有检测到的非漫射像素都必须在传输的数据中单独表示。
如上所述,非漫射对象的识别可以基于对非漫射像素的检测。非漫射对象也可以是被标记为非漫射对象的对象。根据上述实施例,所述识别可包括在检测到的非漫射像素中进行选择的附加步骤。在这种情况下,可以通过对相邻的检测到的非漫射像素进行分组来检测非漫射对象。
非漫射像素的检测也可以基于机器学习方法。例如,使用卷积神经网络,该网络将每个视图作为输入,并输出每个视图中的每个非漫射对象的位置。
根据上述方法的特定实施例,针对每个所述替代视图以及至少一个所述非漫射对象,所述数据包括显示在所述替代视图中的该对象与显示在所述至少一个基本视图中的相同对象之间的纹理差值。
所述实施例提出传输的数据包括基本视图的纹理与替代视图的纹理之间差值,而不是传输非漫射对象的纹理。传输纹理的差值进一步减小了传输的数据的大小。
由于传输了基本视图的漫射对象的纹理和非漫射对象的纹理,替代视图的纹理和基本视图的纹理之间的差值足以让客户端恢复所述替代视图的非漫射像素的纹理。有利地的是,可以用较少的计算机资源,根据基本视图的纹理和纹理的差值来恢复替代视图的非漫射对象的纹理。
因此,该实施例使得能够减少传输的数据量,并以较少的计算机资源准确地渲染替代视图的非漫射对象。
根据另一实施例,针对所述至少一个非漫射对象,所述数据包括该对象的反射模型的参数集。
诸如Phong模型的反射模型用于基于诸如光源角度、对象的表面材料和表面反射率的参数来计算对象的反射率。
有利的是,反射模型的参数表示要传输的少量数据。此外,参数的大小与对象的大小无关。因此,该实施例能够大大减少要传输到客户端的非漫射数据的数据量。
根据特定实施例,该方法包括以下步骤:生成对应于所述设备和所述服务器共享的给定视点的位置的生成视图,所述生成步骤基于至少一个替代视图和至少一个基本视图,所述生成视图包括所述至少一个非漫射对象的纹理图像,其中,所述数据包括使得所述设备能够使用与所述生成视图对应的反射率来渲染所述至少一个非漫射对象的信息。
在该实施例中,生成视图可以不在流内编码。
该实施例使得客户端能够渲染具有对应于生成视图的反射率的非漫射对象。该实施例减少了在客户端上渲染所生成的中间视图所需的计算机资源。
客户端可以基于以下两者生成该视点的中间视图:(i)包含关于基本视图和替代视图的信息的解码后的流;以及(ii)给定视点的共享位置。然而,仅仅流的信息不能使客户端充分地渲染中间视图中的非漫射对象。为了在充分渲染中间视图中的非漫射对象的同时不显著增加客户端资源,客户端使用服务器生成的非漫射对象的纹理。
此外,只有关于非漫射对象的信息必须被传输,这限制了要传输的数据量。
为了使服务器生成的视图和客户端生成的视图相同,从客户端可以向服务器传输包括位置的消息。
因此,在特定实施例中,该方法包括从所述设备接收所述位置的步骤。
根据特定实施例,针对至少一个所述非漫射对象,所述数据包括:
(i)以下两者之间的差值:
-所述生成视图中的所述对象的纹理,以及
-所述至少一个基本视图中的所述对象的纹理;以及
(ii)以下两者之间的差值:
-所述生成视图中的所述对象的纹理,以及
-所述至少一个替代视图的该对象的纹理,其中,所述生成视图是根据所述至少一个替代视图生成的。
该实施例限制了能够渲染生成视图和替代视图的非漫射对象的传输的数据量。
根据特定实施例,所述生成所述生成视图的步骤通过将所述生成视图的纹理图像计算为以下两者的加权平均来执行:
-所述基本视图的纹理;以及
-所述替代视图的纹理。
本实施例在生成中间视图所需的计算机资源方面提供了一种简单的方法。例如,为了生成一视图,其与基本视图的角度偏移和与替代视图的角度偏移相同,计算这些基本视图和替代视图的平均值,两个视图的权重相等。还可以修改基本视图和替代视图的权重,以便改变与一个视图或另一个视图的角度偏移。
根据特定实施例,所述至少一个基本视图和所述至少一个替代视图包括深度图,并且生成生成视图的步骤包括以下子步骤:
-从所述基本视图和替代视图中的至少一个的纹理和深度图生成三维点云;
-基于所述点云在二维空间中的投影生成所述所生成视图的纹理图像。
在该实施例中,所述基本视图和所述替代视图的像素被映射到相同的三维空间中。然后将得到的点云投影到二维空间中,以形成生成的纹理图像。通常,这种投影是不完整的,并且生成的纹理图像具有缺失的像素。可以处理投影的点云,以便确定缺失像素的纹理。
用于生成三维点云的视图越多,投影点云中缺少的纹理就越少,生成的纹理图像就越精确。
本发明还提供了一种计算机程序包括指令,其中,当所述指令由计算机或处理器执行时,用于执行根据任何上述实施例的方法的步骤。
应该注意的是,本申请中提到的计算机程序可以使用任何编程语言,并且是源代码、目标代码或介于源代码和目标代码之间的代码的形式,例如,部分编译的形式,或者任何其他期望的形式。
本发明还提供了一种计算机程序的存储介质,其中,所述存储介质可由计算机设备读取,所述计算机程序包括指令,当所述程序由计算机或处理器执行时,所述指令用于执行根据上述实施例之一的方法的步骤。
本声明中提到的存储介质可以是能够存储程序并由任何计算机设备(包括计算机)播放的任何实体或设备。例如,介质可以包括存储介质或磁存储介质,例如,硬盘驱动器。
可选地,存储介质可以对应于计算机集成电路,其中并入了程序,并且适于执行如上所述的方法或用于执行如上所述的方法。
附图说明
图1A示出了根据现有技术的服务器和设备。
图1B示出了根据现有技术的编码视图流。
图2示出了根据本发明第一实施例的服务器和设备。
图3以流程图表示了本发明第一实施例中由服务器实现的方法的主要步骤以及由设备实现的方法的主要步骤。
图4示出了根据本发明第二实施例的服务器和设备。
图5以流程图表示了本发明第二实施例中由服务器实现的方法的主要步骤以及由设备实现的方法的主要步骤。
图6示出了根据本发明第三实施例的服务器和设备。
图7以流程图表示了本发明第三实施例中由服务器实现的方法的主要步骤以及由设备实现的方法的主要步骤。
图8A示出了根据特定实施例的传输数据。
图8B示出了根据特定实施例的传输数据。
图8C示出了根据特定实施例的传输数据。
图8D示出了根据特定实施例的传输数据。
图9A表示两个视图中显示的对象的纹理。
图9B表示了根据特定实施例,两个视图中显示的对象的纹理的差值。
图9C表示了根据特定实施例,两个视图中显示的对象的纹理的差值。
图10示出了根据本发明特定实施例的服务器的硬件架构。
图11示出了根据本发明特定实施例的设备的硬件架构。
具体实施方式
现在将描述本发明的几个实施例。一般来说,如前所述,本发明提供了一种由服务器实现的方法,用于生成和传输客户端设替代来渲染同一场景的多个视图的非漫射像素的数据。
第一实施例
第一实施例适用的场景为:传输数据的大小取决于从服务器到设备的传输速率和/或取决于用于由客户端设备解码和渲染的像素速率。
图2A示出了根据所述第一实施例的服务器1SVR和设备1CTL。所述设备是客户端,接收编码视图的流STR和用于渲染这些视图的附加数据1DND。图2B表示根据第一实施例的流STR。
服务器1SVR包括模块MS0。所述模块MS0用于获得同一场景S的多个视图,即,基本视图Vref和替代视图Vi。该模块MS0例如可以是连接到摄像机的采集模块,所述摄像机被配置为捕获所述多个视图。在变体中,所述模块MS0是合成所述多个视图的模块。
每个视图Vref或Vi包括纹理图像Tref或Ti。在该实施例中,每个纹理图像与深度图Dref或Di相关联。因此,每个像素具有纹理属性和深度属性,所述纹理属性对应于颜色,并且所述深度属性对应于像素与场景S的视点的距离。
服务器1SRV包括编码器模块MS10。所述编码器模块MS10生成包含用于部分渲染多个视图Vref和Vi的信息的流STR。所述数据1DND包括关于替代视图Vi中的选择的非漫射像素的信息,并且因此能够细化从流STR部分渲染的视图的渲染。
如前所述,本领域技术人员可以理解的是,在所渲染的多个视图中:
-替代视图的选择的非漫射像素的纹理将显示适当的反射率(即,对应于观看者相对于对象的位置和场景S中光的方向的反射率);以及
-替代视图的未选择的非漫射像素的纹理将不会显示适当的反射率。
在该实施例中,根据标准MIV方法进行编码。因此,模块MS10剪切替代视图Vi。所述模块MS10生成的流STR包含来自基本视图Vref的像素和剪切后的替代视图(也称为附加视图)的像素,并且还包含从基本视图Vref和附加视图中恢复替代视图Vi所需的元数据,但是仅根据流的这种恢复不包括对非漫射像素的足够反射的渲染。
所述数据1DND由模块1MS20、模块1MS30和模块1MS40产生。
首先,模块1MS20检测替代视图Vi中的非漫射像素NDP。该检测可以通过以下方式完成:对于每个替代视图Vi,基于该替代视图的位置和纹理,将该替代视图的每个像素与基本视图的像素进行比较。
例如,不同视图的像素被映射到公共三维空间中。这种映射可以基于与每个视图相关联的深度图。在每个替代视图中,将像素的纹理和在三维空间中与所述替代视图位置相近的基本视图的像素的纹理进行比较。然后,如果与一对像素相关联的纹理的差值超过预定义阈值,则这些像素被检测为非漫射像素。
第二,模块1MS30使用针对每个检测到的非漫射像素的纹理的差值来选择非漫射像素SNDP。在像素超过传输速率限制或像素速率限制的情况下,该选择使得能够减少要传输的信息量。
在一些情况下,像素速率或传输速率可以根据客户端设备1CLT而改变。在这种情况下,客户端有必要将这些改变通知给服务器。
为此,在图2所示的实施例中,客户端设备1CLT的模块MD0向服务器SVR发送像素速率PR和传输速率TR,服务器SVR经由模块MS01接收所述像素速率PR和传输速率TR。
所述模块1MS30从模块MS01获得像素速率PR和传输速率TR。
第三,所述模块1MS40生成表示由模块1MS30选择的非漫射像素SNDP的数据1DND。这些数据1DND将被解码并由客户端设备1CLT使用以渲染替代视图的非漫射像素的纹理。
例如,1DND数据包括替代视图Vi的选择的非漫射像素的纹理。
如图8A所示,1DND数据还可以包括替代视图Vi的非漫射像素和对应于场景S中相同位置的基本视图的像素之间的纹理T(Vref,Vi)的差值。
在该实施例中,在模块1MS30选择非漫射像素期间控制数据1DND的大小。具体地,模块1MS30根据像素速率和/或传输速率选择多个非漫射像素和/或修改至少一些非漫射像素的编码方案。
例如,在检测到的非漫射像素NDP中,在由模块1MS20检测非漫射像素期间已经计算出纹理的差值的情况下,选择具有最高差值的像素。如此选择的像素SNDP的数量随着像素速率和/或传输速率而增加。
在不超出本发明的范围的情况下,用于检测或选择非漫射像素SNDP的方法可以不同于上述方法。
例如,在实施例中,根据视图Vref和Vi构建极平面图像(Epipolar Plane Image,EPI)线。每个EPI线由多个视图的像素形成。每条EPI线的形式(即,其曲率)取决于该EPI线所关联的表面的反射率。
特别地,如果EPI线的曲率不为零,则EPI线和形成该EPI线的所有像素可以被检测为非漫射的。
下文中,选择与最弯曲的EPI线相关联的检测到的非漫射像素。选择的非漫射像素SNDP的数量是像素速率和/或传输速率的函数。
模块MS45将流STR和非漫射数据DND编码成要传输的消息。例如,流中的基本视图和附加视图用标准格式(例如MPEG-2、H.264、HEVC、VVC、VP8、VP9、AV 1……)编码,将非漫射数据DND编码成单独的消息,例如,补充增强信息消息。
模块MS50将这些编码后的流STR和数据1DND传输到客户端设备1CLT。
在客户端侧,由模块MD60接收这些编码后的流STR和数据1DND,然后由模块MD61解码。
在该实施例中,表示非漫射像素的数据1DND和流STR由客户端1CLT独立地处理。
在该实施例中,模块MD65根据MIV方法重建替代视图Vi。特别地,基于基本视图Vref、附加视图和包括在流STR中的元数据来重建替代视图Vi。所述替代视图Vi的这种重建是部分的,因为该重建不包括非漫射表面的足够的纹理的渲染。特别地,这种部分渲染使得不能显示非漫射表面的足够的反射。
为了完成渲染,模块MD70将部分渲染的替代视图与数据1DND结合以渲染选择的非漫射像素SNDP,所述选择的非漫射像素SNDP具有对应于其各自的替代视图的反射率,并且所述模块MD70输出重构的基本视图Vref和重构的替代视图Vi。
图3以流程图表示在第一实施例中分别由服务器和设备实现的方法的主要步骤。
在客户端1CLT侧,第一实施例中用于渲染多个视图的方法包括以下步骤:
·步骤SD0,由模块MD0执行,向服务器1SVR发送像素速率PR和传输速率TR;
·步骤SD60,由模块MD60执行,接收服务器1SVR传输的流STR和非漫射数据1DND;
·步骤SD61,由模块MD61执行,解码所传输的流STR和非漫射数据1DND;
·步骤SD65,由模块MD65执行,解码流STR;
·步骤1SD70,由模块1MD70执行,渲染视图Vref和Vi。
在服务器1SVR侧,第一实施例中用于传输设备1CTL渲染视图的数据的方法由以下步骤组成:
·步骤SS01,由模块MS01执行,从设备1CLT接收像素速率PR和传输速率TR;
·步骤SS0,由模块MS0执行,获得基本视图Vref和替代视图Vi;
·步骤SS10,由模块MS10执行,编码流STR;
·步骤1SS20,由模块1MS20执行,检测非漫射像素;
·步骤1SS30,由模块1MS30执行,选择非漫射像素SNDP;
·步骤1SS40,由模块1MS40执行,生成非漫射数据1DND;
·步骤SS45,由模块MS45执行,用编码流STR和非漫射数据;
·步骤SS50,由模块MS50执行,发送编码后的流STR和编码后的非漫射数据1DND。
第二实施例
在第二实施例中,编码后的视图的流STR如图2B所示,其与第一实施例的流STR相同或相似。
所述第二实施例适用的场景为:检测到非漫射对象并且其中传输的数据包括使客户端能够以对应于这些对象出现的每个视图的反射率来渲染这些非漫射对象的信息。
在图9所示的示例中,识别出两个非漫射对象O1和O2。
图9A示出了基本视图Vref的纹理图像Tref和替代视图Vi的纹理图像Ti。在这些纹理图像中识别出两个对象O1和O2。在图9A中,仅示出代表这些对象的像素。
在图9A中,像素的每个纹理由一个数字表示。需要注意的是,该示例仅用于说明的目的。纹理图像上的像素可以用多个数字来表示。例如,使用RGB表示,像素由三个值表示,每个值分别指示该像素位置处纹理图像的红色等级、绿色等级和蓝色等级。
由于不同的视点,对象O1和O2在不同的视图Vref和Vi中不具有相同的方面,因此,表示对象O1和O2的像素根据其出现的视图Vref或Vi具有不同的纹理。
图9B显示了替代视图Vi中对象O1的纹理和基本视图Vref中同一对象的纹理之间的像素差值ΔT_1(Vref,Vi)。图9B还示出了针对对象O2的纹理的像素差值ΔT_2(Vref,Vi)。
在像素的纹理对应于多个个数字的情况下,两个像素之间的纹理的差值可以是表示纹理的数字之和之间的差值。例如,在RGB表示中,纹理(20,100,0)和纹理(10,105,2)之间的差被定义为:20+100+0-10-105-2=3。在RBG表示中,所述差值对应于两个像素之间的亮度的差值。
图9C示出了替代视图Vi中对象O1的纹理与基本视图Vref中同一对象的纹理之间的平均差值AΔT_1(Vref,Vi)。图9C所示的平均值AΔT_1(Vref,Vi)对应于图9B所示的差值的ΔT_1(Vref,Vi)的平均值。图9C还示出了针对对象O2的纹理的平均差值AΔT_2(Vref,Vi)。
图4示出了根据本发明第二实施例的服务器2SRV和设备2CLT。
在本实施例中,服务器2SVR的模块MS0、模块MS10、模块MS45、模块MS50、模块MD60、模块MD61、模块MD65与服务器1SRV的相同标记的模块相同。
在该实施例中,表示非漫射表面的数据2DND由两个模块2MS20和2MS40生成。
所述模块2MS20识别每个视图中的非漫射对象。相应的识别步骤2SS20可以包括检测每个视图的非漫射像素,并且如先前针对第一实施例所描述的,该识别步骤2SS20应用诸如打开和关闭的数学形态学操作,以便识别具有不同对象的非漫射像素组。
也可以使用机器学习技术来识别每个视图的非漫射对象。例如,可以用卷积神经网络在每个视图中识别非漫射对象,所述卷积神经网络被训练以用于从纹理图像中检测对象并对检测到的对象的表面类型(例如,漫射或非漫射)进行分类。
场景S中的每个对象都可以与一个标签相关联。在每个视图中,与对象相关联的非漫射像素与该对象的标签相关联。这些标签使得能够将替代视图Vi的一组像素与基本视图Vref中对应于相同对象的一组像素进行比较。
所述模块2MS40生成表示由模块2MS20识别的表示非漫射对象的数据2DND。
在实施例中,模块2MS40生成的非漫射数据2DND包括纹理的像素差值,如图9B所示。
在另一实施例中,模块2MS40生成的非漫射数据2DND包括纹理的平均差值,如图9C所示。
所述非漫射数据2DND还可以包括替代视图Vi中的每个非漫射对象的标签Tags(Vi)(标签(Vi)),如图8B所示。
所述非漫射数据2DND还可以包括替代视图Vi中的每个非漫射对象的位置Pos(Vi),如图8B所示。具体地,所述位置Pos(Vi)可以是每个替代视图Vi的纹理图像Ti中的每个对象相对于其在基本视图Vref的纹理图像Tref中的位置的相对位置。
在图4所示的客户机设备2CLT上,模块2MD70使用非漫射数据2DND来将纹理的差值ΔT_1(Vref,Vi)和ΔT_2(Vref,Vi)结合到剪切后的替代视图的纹理图像。在该实施例中,根据标签Tags(Vi)和位置Pos(Vi),这些纹理差值与分别相结合,所述剪切后的视图对应于图像Ti上适当位置处的替代视图Vi。
在另一个实施例中,非漫射数据2DND不包括纹理的差值,而是包括根据每个视点的每个非漫射对象的反射模型的参数NDPar1、NDPar2。客户端的模块2MD70使用每个非漫射对象的反射模型的参数来计算该对象的适当纹理。
这种反射模型的一个示例是Phong模型。所述Phong模型提供了一个计算对象每个表面点的亮度的方程。
渲染所述非漫射对象需要关于光源角度的信息、关于表面材料的信息、以及关于表面反射率的信息。因为场景S是合成的,并且是由渲染软件(如Blender或Unity)生成的,或者因为自然场景已经被手动标记,因此,这些信息可以是已知的。
对于给定的替代视图Vi,反射模型的参数可以包括观察者和每个对象之间的相对角度或位置。
图5以流程图示出了在该第二实施例中分别由服务器和设备实现的方法的主要步骤。
在客户端2CLT侧,第二实施例中用于渲染多个视图的方法包括以下步骤:
·步骤SD60,由模块MD60执行,接收服务器2SVR传输的流STR和非漫射数据2DND;
·步骤SD61,由模块MD61执行,解码所传输的流STR和非漫射数据2DND;
·步骤SD65,由模块MD65执行,解码流STR;
·步骤2SD70,由模块2MD70执行,渲染视图Vref和Vi。
在服务器2SVR侧,第二实施例中用于传输设备1CTL渲染视图的数据的方法包括以下步骤:
·步骤SS0,由模块MS0执行,获得基本视图Vref和替代视图Vi;
·步骤SS10,由模块MS10执行,编码流STR;
·步骤2SS20,由模块1MS20执行,识别非漫射对象;
·步骤2SS40,由模块1MS40执行,生成非漫射数据2DND;
·步骤SS45,由模块MS45执行,编码流STR和非漫射数据2DND;
·步骤SS50,由模块MS50执行,发送编码后的流STR和编码后的非漫射数据2DND。
第三实施例
在该第三实施例中,编码后的视图的流STR如图2B所示,其与第一和第二实施例相同或相似。
第三实施例适用的场景为:服务器SVR生成视图Vi*。这些生成的视图Vi*包括用新的视点表示的非漫射对象的纹理图像Ti*。根据这些新的视点,客户端设备CLT使用纹理图像Ti*来渲染非漫射对象。
图6示出了根据第三实施例的3SRV服务器和设备3CLT。
与第二实施例相比,所述第三实施例包括用于生成生成视图Vi*的模块3MS30。
同样在该实施例中,设备3CLT的模块MD24发送表示新视点的信息IPos。例如,针对要生成的每个视图,该信息IPos可以包括与该视图对应的场景的观察者的位置。在另一示例中,该信息IPos包括观察者相对于每个非漫射对象的相对位置。
所述信息IPos由服务器3SVR的模块MS25接收,然后模块3MS30使用所述信息IPos生成视图Vi*。
在该实施例中,基于基本视图Vref和替代视图Vi生成所述视图Vi*。具体地,这些视图Vref和Vi中的每一个的深度图用于将每个像素映射到表示场景S的三维点云中。然后,根据关于观察者位置的信息IPos,将场景S的该三维表示的每个点投影到表示场景S的视图的纹理图像上。
在另一实施例中,视图Vi*的纹理图像Ti*被计算为替代视图Vi的纹理图像Ti和基本视图的纹理图像Vref的加权平均。例如,如果视图Vi*对应于放置在根据视图Vi的视点和根据视图Vref的视点之间的视点,则纹理图像Ti*被计算为纹理图像Ti和Tref的平均值。
两个纹理图像的平均值是由两个图像的相应像素对的平均值构成的纹理图像。
在第三实施例中,对于每个非漫射对象O1和O2、每个生成视图Vi*和每个替代视图Vi,模块3MS40计算以下值:
·生成视图Vi*中的对象的纹理与基本视图Vref中的该对象的纹理之间的差值ΔT_1(Vref,Vi*)和ΔT_2(Vref,Vi*);以及
·生成视图Vi*中的对象的纹理与替代视图Vi中的该对象的纹理之间的差值ΔT_1(Vi,Vi*)和ΔT_2(Vi,Vi*)。
这些纹理的差值包括在非漫射数据DND中,客户端设备CLT使用该非漫射数据DND来渲染替代视图Vi中的非漫射对象和生成视图Vi*中的非漫射对象。
在该实施例中,所述设备3CLT的模块MD66根据由所述模块MD65解码的基本视图Vref和剪切后的替代视图Vi(即,附加视图)生成视图。模块MD66还使用信息IPos,从而根据信息IPos中给出的观察者的位置来生成视图。
模所述块MD66可以使用与所述模块3MD30相同的方法来生成视图。
需要重点注意的是,由所述模块MD66生成的视图不包括关于非漫射对象的适当的反射率的信息。
然后,模块3MD70将所述非漫射数据3DND与所述模块MD66生成的这些视图结合,从而使用非漫射对象的适当纹理来渲染生成的视图Vi*和替代视图Vi。
在另一实施例中,在服务器侧生成的完整视图Vi*被传输到客户端3CLT。在这种情况下,必须传输更大量的数据3DND,但是客户端不必计算生成视图。这在较低像素速率PR的情况下是有利的。
在第三实施例中,所述非漫射数据3DND还包括分别出现在替代视图Vi和生成视图Vi*中的每个非漫射对象的标签Tags(Vi)和Tags(Vi*),如图8D所示。
所述非漫射数据3DND还可以包括出现在视图Vi和Vi*中的每个非漫射对象的位置Pos(Vi)和Pos(Vi*),如图8D所示。
图7以流程图的形式表示了在第三实施例中分别由服务器和设备实现的方法的主要步骤。
在客户端3CLT侧,第一实施例中用于渲染多个视图的方法包括以下步骤:
·步骤SD24,由模块MD24执行,向服务器3SVR发送信息IPos;
·步骤SD60,由模块MD60执行,接收服务器3SVR传输的流STR和非漫射数据3DND;
·步骤SD61,由模块MD61执行,解码传输的流STR和非漫射数据3DND;
·步骤SD65,由模块MD65执行,解码流STR;
·步骤SD66,由模块MD66执行,生成视图;
·步骤3SD70,由模块3MD70执行,渲染视图Vref和Vi。
在服务器1SVR侧,第一实施例中用于传输设备1CTL渲染视图的数据的方法包括以下步骤:
·步骤SS0,由模块MS0执行,获得基本视图Vref和替代视图Vi;
·步骤SS10,由模块MS10执行,编码流STR;
·步骤3SS20,由模块3MS20执行,检测非漫射像素;
·步骤SS25,由模块MS25执行,接收信息IPos;
·步骤3SS30,由模块3MS30执行,生成生成视图Vi*;
·步骤3SS40,由模块3MS40执行,生成非漫射数据3DND;
·步骤SS45,由模块MS45执行,编码流STR和非漫射数据3DND;
·步骤SS50,由模块MS50执行,发送编码后的流STR和编码后的非漫射数据3DND。
如图10所示,服务器3SRV特别包括处理器1SRV、随机存取存储器3SRV、只读存储器2SRV、非易失性闪存4SRV。
只读存储器2SRV构成根据本发明的记录介质,可由处理器1SRV读取,并在其上记录根据本发明的计算机程序PGSRV。
计算机程序PGSRV定义了服务器的功能(这里是软件)模块。
如图11所示,设备CLT特别包括处理器1CLT、随机存取存储器3CLT、只读存储器2CLT、非易失性闪存4CLT。
只读存储器2CLT构成根据本发明的记录介质,可由处理器1CLT读取,并在其上记录根据本发明的计算机程序PGCLT。
计算机程序PGCLT定义设备CLT的功能(和这里的软件)模块。
Claims (21)
1.一种用于传输数据的方法,由服务器(1SVR)实现,设备(1CTL)使用所述数据来渲染单个场景的多个视图(Vref,Vi),所述多个视图包括至少一个基本视图(Vref)和至少一个替代视图(Vi),所述方法包括以下步骤:
-通过编码所述视图(Vref,Vi)来生成(SS10)流(STR);
-检测(1SS20)所述至少一个替代视图(Vi)中的非漫射像素(NDP);
-在检测到的非漫射像素(NDP)中选择(1SS30)非漫射像素(SNDP);
-生成(1SS40)表示选择的非漫射像素(SNDP)的数据(1DND),针对每个所述替代视图(Vi),所述数据(1DND)包括使得所述设备(1CTL)能够使用与该替代视图(Vi)对应的反射率来渲染所述选择的非漫射像素(SNDP)的信息;以及
-向所述设备(1CTL)传输(SS50)所述流(STR)和所述数据(1DND),其中,所述数据的大小是所述设备(1CTL)的像素速率(PR)的函数和/或是所述服务器(1SVR)与所述设备(1CTL)之间的传输速率(TR)的函数。
2.根据权利要求1所述的方法,其中,基于以下两者之间的差值来选择(1SS30)所述非漫射像素(SNDP):
-所述至少一个替代视图(Vi)的像素的纹理;以及
-与所述至少一个替代视图(Vi)的像素匹配的所述至少一个基本视图(Vref)的像素的纹理。
3.根据权利要求2所述的方法,其中,所述选择的非漫射像素(SNDP)是使得所述差值最大化的像素中的像素。
4.根据权利要求2或3所述的方法,其中,基于所述差值与至少一个阈值之间的比较来选择所述非漫射像素(SNDP),所述至少一个阈值取决于所述像素速率和/或所述传输速率。
5.根据权利要求1至4中任一项所述的方法,其中,所述选择步骤(1SS30)包括以下子步骤:
-将所述视图(Vref,Vi)的像素与极平面图像线相关联(1SS301);
-针对每个极平面图像线,确定(1SS302)表示该极平面图像线的形式的至少一个值;以及
-基于所述值选择(S30)所述非漫射像素(SNDP)。
6.一种用于渲染单个场景的多个视图(Vref,Vi)的方法,由设备(1CLT)实现,所述多个视图包括至少一个基本视图(Vref)和至少一个替代视图(Vi),所述方法包括以下步骤:
-从服务器(1SVR)接收(SD60)编码后的所述视图(Vref,Vi)的流(STR)以及表示所述至少一个替代视图(Vi)中选择的非漫射像素(SNDP)的数据(1DND),其中,所述数据的大小是所述设备(1CTL)的像素速率(PR)的函数和/或是所述服务器(1SVR)与所述设备(1CTL)之间的传输速率(TR)的函数,针对每个所述替代视图(Vi),所述数据(1DND)包括使得所述设备(1CTL)能够使用与该替代视图(Vi)对应的反射率来渲染所述非漫射像素(SNDP)的信息;
-基于所述流(STR)和所述数据(DND)来渲染(1SD70)所述视图(Vref,Vi),所述替代视图的所述非漫射像素(SNDP)采用与其对应的反射率来进行渲染。
7.一种用于传输数据的方法,由服务器(2SVR,3SVR)实现,设备(2CTL,3CTL)使用所述数据来渲染单个场景的多个视图(Vref,Vi),所述多个视图包括至少一个基本视图(Vref)和至少一个替代视图(Vi),所述方法包括以下步骤:
-通过编码所述视图(Vref,Vi)来生成(SS10)流(STR);
-识别(2SS20,3SS20)所述视图(Vref,Vi)中的至少一个非漫射对象(O1,O2);
-生成(2SS40,3SS40)表示所述至少一个非漫射对象(O1,O2)的数据(2DND,3DND),针对每个所述替代视图(Vi),所述数据(2DND,3DND)包括使得所述设备(2CTL,3CTL)能够使用与该替代视图(Vi)对应的反射率来渲染所述至少一个非漫射对象(O1,O2)的信息;以及
-向所述设备(2CTL,3CTL)传输(SS50)所述流(STR)和所述数据(2DND,3DND)。
8.根据权利要求7所述的方法,其中,针对每个所述替代视图(Vi)以及至少一个所述漫射对象(O1,O2),所述数据(2DND)包括显示在所述替代视图(Vi)中的该对象(O1,O2)与显示在所述至少一个基本视图(Vref)中的相同对象(O1,O2)之间的纹理差值(ΔT_1(Vref,Vi),ΔT_2(Vref,Vi))。
9.根据权利要求7所述的方法,其中,针对所述至少一个非漫射对象(O1,O2),所述数据(2DND)包括该对象的反射模型的参数集(NDPar1,NDPar2)。
10.根据权利要求7至9中任一项所述的方法,还包括以下步骤:生成(3SS30)对应于所述设备(3CLT)和所述服务器(3SVR)共享的给定视点的位置(IPos)的生成视图(Vi*),所述生成步骤(3SS30)基于至少一个替代视图(Vi)和至少一个基本视图(Vref),所述生成视图(Vi*)包括所述至少一个非漫射对象的纹理图像(Ti*),其中,所述数据(3DND)包括使得所述设备(3CTL)能够使用与所述生成视图(Vi*)对应的反射率来渲染所述至少一个非漫射对象(O1,O2)的信息。
11.根据权利要求10所述的方法,其中,针对所述至少一个非漫射对象(O1,O2),所述数据(3DND)包括:
(i)以下两者之间的差值(ΔT_1(Vref,Vi*),ΔT_2(Vref,Vi*)):
-所述生成视图(Vi*)中的该对象(O1,O2)的纹理,以及
-所述至少一个基本视图(Vref)中的该对象(O1,O2)的纹理;以及
(ii)以下两者之间的差值(ΔT_1(Vi,Vi*),ΔT_2(Vi,Vi*)):
-所述生成视图(Vi*)中的该对象(O1,O2)的纹理,以及
-所述至少一个替代视图(Vi)中的该对象(O1,O2)的纹理,所述生成视图(Vi*)是根据所述至少一个替代视图(Vi)生成的。
12.根据权利要求10或11所述的方法,其中,所述生成(3SS30)所述生成视图(Vi*)的步骤通过将所述生成视图(Vi*)的纹理图像(Ti*)计算为以下两者的加权平均来执行:
-所述基本视图(Vref)的纹理(Tref);以及
-所述替代视图(Vi)的纹理(Ti)。
13.根据权利要求10或11所述的方法,其中,所述至少一个基本视图(Vref)和所述至少一个替代视图(Vi)包括深度图(Dref,Di),并且,所述生成(3SS30)所述生成视图(Vi*)的步骤包括以下子步骤:
-根据所述基本视图和替换视图(Vref,Vi)中的至少一者的纹理(Tref,Ti)和该至少一者的深度图(Dref,Di)生成三维点云;
-基于所述点云在二维空间中的投影生成所述生成视图(Vi*)的纹理图像(Ti*)。
14.一种用于渲染单个场景的多个视图(Vref,Vi)的方法,由设备(2CLT,3CLT)实现,所述多个视图包括至少一个基本视图(Vref)和至少一个替代视图(Vi),所述方法包括以下步骤:
-从服务器(2SVR,3SVR)接收(SD60)编码后的视图(Vref,Vi)的流(STR)以及表示所述视图中的至少一个非漫射对象(O1,O2)的数据(2DND,3DND),针对每个视图,所述数据(2DND,3DND)包括使得所述设备(2CLT,3CLT)能够使用与该视图(Vref,Vi,Vi*)对应的反射率来渲染所述至少一个非漫射对象(O1,O2)的信息;
-基于所述流(STR)和所述数据(2DND,3DND)来渲染(2SD70,3SD70)所述视图(Vref,Vi),其中,所述至少一个非漫射对象(SNDP)采用与其对应的反射率来进行渲染。
15.根据权利要求1至14中任一项所述的方法,其中,在补充增强信息(SEI)消息中传输所述数据(1DND,2DND,3DND)。
16.一种用于传输数据的服务器(1SVR),设备(1CTL)使用所述数据渲染单个场景的多个视图(Vref,Vi),所述多个视图包括至少一个基本视图(Vref)和至少一个替代视图(Vi),所述服务器(1SVR)包括:
-模块(MS10),用于通过编码所述视图(Vref,Vi)来生成流(STR);
-模块(1MS20),用于检测所述至少一个替代视图(Vi)中的非漫射像素(NDP);
-模块(1MS30),用于在检测到的非漫射像素(NDP)中选择非漫射像素(SNDP);
-模块(1MS40),用于生成表示选择的非漫射像素(SNDP)的数据(1DND),针对每个所述替代视图(Vi),所述数据(1DND)包括使得所述设备(1CTL)能够使用与该附加视图(Vi)对应的反射率来渲染选择的非漫射像素(SNDP)的信息;以及
-模块(MS50),用于向所述设备(1CTL)传输所述流(STR)和所述数据(1DND),其中,所述数据的大小是所述设备(1CTL)的像素速率(PR)的函数和/或是所述服务器(1SVR)与所述设备(1CTL)之间的传输速率(TR)的函数。
17.一种用于渲染单个场景的多个视图(Vref,Vi)的设备(1CLT),所述多个视图包括至少一个基本视图(Vref)和至少一个替代视图(Vi),所述设备(1CLT)包括:
-模块(1MD60),用于从服务器(1SVR)接收编码后的所述视图(Vref,Vi)的流(STR)以及表示所述至少一个替代视图(Vi)中的选择的非漫射像素(SNDP)的数据(1DND),其中,所述数据的大小是所述设备(1CTL)的像素速率(PR)的函数和/或是所述服务器(1SVR)与所述设备(1CTL)之间的传输速率(TR)的函数,针对每个所述替代视图(Vi),所述数据(1DND)包括使得所述设备(1CTL)能够使用与该替代视图(Vi)对应的反射率来渲染所述非漫射像素(SNDP)的信息;
-模块(1MD70),用于基于所述流(STR)和所述数据(DND)来渲染所述视图(Vref,Vi),所述替代视图的所述非漫射像素(SNDP)采用与其对应的反射率来进行渲染。
18.一种用于传输数据的服务器(2SVR,3SVR),设备(2CTL,3CTL)使用所述数据渲染单个场景的多个视图(Vref,Vi),所述多个视图包括至少一个基本视图(Vref)和至少一个替代视图(Vi),所述服务器(2SVR,3SVR)包括:
-模块(MS10),用于编码所述视图(Vref,Vi)来生成流(STR);
-模块(2MS20,3MS20),用于识别所述视图(Vref,Vi)中的至少一个非漫射对象(O1,O2);
-模块(2SS40,3SS40),用于生成表示所述至少一个非漫射对象(O1,O2)的数据(2DND,3DND),针对每个所述替代视图(Vi),所述数据(2DND,3DND)包括使得所述设备(2CTL,3CTL)能够使用与该替代视图(Vi)对应的反射率来渲染所述至少一个非漫射对象(O1,O2)的信息;以及
-模块(MS50),用于向所述设备(2CTL,3CTL)传输所述流(STR)和所述数据(2DND,3DND)。
19.一种用于渲染单个场景的多个视图(Vref,Vi)的设备(2CLT,3CLT),所述多个视图包括至少一个基本视图(Vref)和至少一个替代视图(Vi),所述设备(2CLT,3CLT)包括:
-模块(MD60),用于从服务器(2SVR,3SVR)接收编码后的视图(Vref,Vi)的流(STR)以及表示所述视图中的至少一个非漫射对象(O1,O2)的数据(2DND,3DND),针对每个视图,所述数据(2DND,3DND)包括使得所述设备(2CLT,3CLT)能够使用与该视图(Vref,Vi,Vi*)对应的反射率来渲染所述至少一个非漫射对象(O1,O2)的信息;
-模块(2MD70,3MD70),用于基于所述流(STR)和所述数据(2DND,3DND)来渲染所述视图(Vref,Vi),所述至少一个非漫射对象(SNDP)采用与其对应的反射率来进行渲染。
20.一种计算机程序(PGCLT,PGSRV),包括指令,其中,所述指令被配置为由计算机执行时实现根据权利要求1至15中任一项所述的方法的步骤。
21.一种可读介质(1SRV,1CLT),包括根据权利要求20所述的计算机程序(PGCLT,PGSRV)。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2022/000293 WO2023218219A1 (en) | 2022-05-12 | 2022-05-12 | Methods, servers and devices for transmitting and rendering multiple views comprising non-diffuse objects |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117426098A true CN117426098A (zh) | 2024-01-19 |
Family
ID=82403483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280018930.2A Pending CN117426098A (zh) | 2022-05-12 | 2022-05-12 | 用于传输和渲染包括非漫射对象的多个视图的方法、服务器和设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240029344A1 (zh) |
CN (1) | CN117426098A (zh) |
WO (1) | WO2023218219A1 (zh) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11432009B2 (en) * | 2019-07-02 | 2022-08-30 | Intel Corporation | Techniques for encoding and decoding immersive video |
-
2022
- 2022-05-12 CN CN202280018930.2A patent/CN117426098A/zh active Pending
- 2022-05-12 WO PCT/IB2022/000293 patent/WO2023218219A1/en active Application Filing
-
2023
- 2023-10-03 US US18/376,314 patent/US20240029344A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023218219A1 (en) | 2023-11-16 |
US20240029344A1 (en) | 2024-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11218729B2 (en) | Coding multiview video | |
US11025882B2 (en) | Live action volumetric video compression/decompression and playback | |
EP3751857A1 (en) | A method, an apparatus and a computer program product for volumetric video encoding and decoding | |
US11599968B2 (en) | Apparatus, a method and a computer program for volumetric video | |
US11025959B2 (en) | Probabilistic model to compress images for three-dimensional video | |
KR102560187B1 (ko) | 3차원("3d") 장면의 2차원("2d") 캡처 이미지를 기반으로 하는 가상 현실 콘텐츠를 렌더링하기 위한 방법 및 시스템 | |
CN109997358B (zh) | 用于自由视点视频流式传输的以解码器为中心的uv编解码器 | |
US20220329756A1 (en) | Systems and methods for perspective shifting in video conferencing session | |
US11190803B2 (en) | Point cloud coding using homography transform | |
TW202131695A (zh) | 用於視訊資料之編碼方案 | |
WO2019211541A2 (fr) | Procédé et dispositif de décodage d'une vidéo multi-vue, et procédé et dispositif de traitement d'images | |
US20220353486A1 (en) | Method and System for Encoding a 3D Scene | |
JP2022533754A (ja) | ボリュメトリック映像の符号化および復号化のための方法、装置、およびコンピュータプログラム製品 | |
CN113516592A (zh) | 图像处理方法、模型训练方法、装置及设备 | |
US20230106679A1 (en) | Image Processing Systems and Methods | |
CN117426098A (zh) | 用于传输和渲染包括非漫射对象的多个视图的方法、服务器和设备 | |
KR102442715B1 (ko) | 분할 렌더링 영상 기반의 증강현실 영상을 재생하는 장치 및 방법 | |
WO2021205068A1 (en) | A method, an apparatus and a computer program product for volumetric video coding | |
CN114788287A (zh) | 对体积图像数据上的视图进行编码和解码 | |
US20220353530A1 (en) | Method and System for Encoding a 3D Scene | |
EP4276694A1 (en) | Variable resolution variable frame rate video coding using neural networks | |
US20230396751A1 (en) | Sender-side geometric fusion of depth data | |
EP4131960A1 (en) | Coding hybrid multi-view sensor configurations | |
US20220165020A1 (en) | Apparatus and method of generating an image signal | |
CN117043820A (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 |