CN112055213A - 用于生成压缩图像的方法、系统和介质 - Google Patents

用于生成压缩图像的方法、系统和介质 Download PDF

Info

Publication number
CN112055213A
CN112055213A CN202010959566.2A CN202010959566A CN112055213A CN 112055213 A CN112055213 A CN 112055213A CN 202010959566 A CN202010959566 A CN 202010959566A CN 112055213 A CN112055213 A CN 112055213A
Authority
CN
China
Prior art keywords
mdi
mpi
sub
image
layer
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.)
Granted
Application number
CN202010959566.2A
Other languages
English (en)
Other versions
CN112055213B (zh
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Priority to CN202410322284.XA priority Critical patent/CN118250468A/zh
Publication of CN112055213A publication Critical patent/CN112055213A/zh
Application granted granted Critical
Publication of CN112055213B publication Critical patent/CN112055213B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • 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
    • H04N19/184Methods 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 the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/40Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
    • H04N25/41Extracting pixel data from a plurality of image sensors simultaneously picking up an image, e.g. for increasing the field of view by combining the outputs of a plurality of sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • 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/161Encoding, multiplexing or demultiplexing different image signal components
    • 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/189Recording image signals; Reproducing recorded image signals
    • 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/194Transmission of image signals
    • 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
    • H04N19/182Methods 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 the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/62Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding by frequency transforming in three dimensions
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Generation (AREA)

Abstract

提供了用于生成压缩图像的方法、系统和介质。在一些实施例中,该方法包括:识别表示三维图像的多平面图像(MPI);将MPI划分为多个子体积;针对MPI的每个子体积计算深度图;将每个深度图转换为网格,其中,每个网格对应于与要被渲染的多深度图像(MDI)相关联的多个层中的一层;针对多个层中的每一层,计算指示在层中包括的每个体素的颜色和透射率的图像;将与MDI的多个层相对应的网格以及与MDI的多个层相对应的图像存储为MDI;以及响应于从用户设备接收到对三维图像的请求,将MDI发送到用户设备,其中,用户设备被配置为通过针对MDI的每一层映射与层相对应的图像作为与层相对应的网格上的纹理来渲染MDI。

Description

用于生成压缩图像的方法、系统和介质
技术领域
所公开的主题涉及用于生成压缩图像的方法、系统和介质。更具体地,所公开的主题涉及生成多深度图像或多平面图像的压缩表示。
背景技术
随着虚拟现实内容和其他三维或沉浸式内容的激增,用户对下载、流传输和查看渲染起来相对较耗资源的内容越来越感兴趣。例如,三维视频或图像可以作为相对较大的文件存储在服务器上。但是,这些大文件可能很难存储或存储起来很繁琐。另外,在某些情况下,三维内容可以存储为包括多个层的文件,然后将这些层层叠或合成以形成三维内容。这样的内容要在用户设备上渲染是很耗资源的。
因此,期望提供用于生成压缩图像的新方法、系统和介质。
发明内容
提供了用于生成压缩图像的方法、系统和介质。
根据所公开的主题的一些实施例,提供了一种用于生成压缩图像的方法,该方法包括:识别表示三维图像的多平面图像(MPI),其中MPI包括多个正面平行平面,每个正面平行平面均与指示正面平行平面中的每个像素的颜色和透射率的图像相关联;将MPI划分为多个子体积,其中,所述多个子体积中的每个子体积包括所述多个正面平行平面的子集;针对MPI的每个子体积计算深度图;将每个深度图转换为网格,其中,每个网格对应于与要被渲染的多深度图像(MDI)相关联的多个层中的一层,其中,每个深度图指示在MDI的对应层中包括的MDI的每个体素的位置和深度,并且其中,与MDI相关联的所述多个层中的层数小于在与MPI相关联的所述多个正面平行平面中包括的正面平行平面的数量;针对所述多个层中的每一层,计算指示在该层中包括的每个体素的颜色和透射率的图像;将与MDI的所述多个层相对应的网格以及与MDI的所述多个层相对应的图像存储为MDI;以及响应于从用户设备接收到对三维图像的请求,将MDI发送到用户设备,其中,用户设备被配置为通过针对MDI的每一层映射与该层相对应的图像作为与该层相对应的网格上的纹理来渲染MDI。
在一些实施例中,该方法还包括:生成与MPI图像序列相对应的MDI图像序列,其中,MPI图像序列与三维视频内容相对应。
在一些实施例中,将MPI划分为多个子体积包括:通过最小化使用所述多个子体积渲染MDI而生成的渲染误差来优化生成所述多个子体积的多个切割。
在一些实施例中,渲染误差包括一元项,该一元项指示由于使用所述多个切割中的一个切割来渲染MDI而产生的深度误差。
在一些实施例中,渲染误差包括平滑度项,该平滑度项指示所述多个切割中跨多个体素的一个切割的平滑度,所述多个体素包括在与所述一个切割相对应的子体积中。
在一些实施例中,将MPI划分成多个子体积包括:使用经训练的神经网络来识别生成所述多个子体积的多个切割。
在一些实施例中,与MDI的每一层相对应的每个网格是三角形网格。
根据所公开的主题的一些实施例,提供了一种用于生成压缩图像的系统,该系统包括硬件处理器,该硬件处理器被配置为:识别表示三维图像的多平面图像(MPI),其中MPI包括多个正面平行平面,每个正面平行平面均与指示正面平行平面中的每个像素的颜色和透射率的图像相关联;将MPI划分为多个子体积,其中,所述多个子体积中的每个子体积包括所述多个正面平行平面的子集;针对MPI的每个子体积计算深度图;将每个深度图转换为网格,其中,每个网格对应于与要被渲染的多深度图像(MDI)相关联的多个层中的一层,其中,每个深度图指示在MDI的对应层中包括的MDI的每个体素的位置和深度,并且其中,与MDI相关联的所述多个层中的层数小于在与MPI相关联的所述多个正面平行平面中包括的正面平行平面的数量;针对所述多个层中的每一层,计算指示在该层中包括的每个体素的颜色和透射率的图像;将与MDI的所述多个层相对应的网格以及与MDI的所述多个层相对应的图像存储为MDI;以及响应于从用户设备接收到对三维图像的请求,将MDI发送到用户设备,其中,用户设备被配置为通过针对MDI的每一层映射与该层相对应的图像作为与该层相对应的网格上的纹理来渲染MDI。
根据所公开的主题的一些实施例,提供了一种包含计算机可执行指令的非暂时性计算机可读介质,该计算机可执行指令在被处理器执行时使该处理器执行用于生成压缩图像的方法,该方法包括:识别表示三维图像的多平面图像(MPI),其中MPI包括多个正面平行平面,每个正面平行平面均与指示正面平行平面中的每个像素的颜色和透射率的图像相关联;将MPI划分为多个子体积,其中,所述多个子体积中的每个子体积包括所述多个正面平行平面的子集;针对MPI的每个子体积计算深度图;将每个深度图转换为网格,其中,每个网格对应于与要被渲染的多深度图像(MDI)相关联的多个层中的一层,其中,每个深度图指示在MDI的对应层中包括的MDI的每个体素的位置和深度,并且其中,与MDI相关联的所述多个层中的层数小于在与MPI相关联的所述多个正面平行平面中包括的正面平行平面的数量;针对多个层中的每一层,计算指示在该层中包括的每个体素的颜色和透射率的图像;将与MDI的所述多个层相对应的网格以及与MDI的所述多个层相对应的图像存储为MDI;以及响应于从用户设备接收到对三维图像的请求,将MDI发送到用户设备,其中,用户设备被配置为通过针对MDI的每一层映射与该层相对应的图像作为与该层相对应的网格上的纹理来渲染MDI。
根据所公开的主题的一些实施例,提供了一种用于生成压缩图像的系统,该系统包括:用于识别表示三维图像的多平面图像(MPI)的装置,其中MPI包括多个正面平行平面,每个正面平行平面均与指示正面平行平面中的每个像素的颜色和透射率的图像相关联;用于将MPI划分为多个子体积的装置,其中,所述多个子体积中的每个子体积包括多个正面平行平面的子集;用于针对MPI的每个子体积计算深度图的装置;用于将每个深度图转换为网格的装置,其中,每个网格对应于与要被渲染的多深度图像(MDI)相关联的多个层中的一层,其中,每个深度图指示在MDI的对应层中包括的MDI的每个体素的位置和深度,并且其中,与MDI相关联的所述多个层中的层数小于在与MPI相关联的所述多个正面平行平面中包括的正面平行平面的数量;用于针对多个层中的每一层,计算指示在该层中包括的每个体素的颜色和透射率的图像的装置;用于将与MDI的所述多个层相对应的网格以及与MDI的所述多个层相对应的图像存储为MDI的装置;以及用于响应于从用户设备接收到对三维图像的请求,将MDI发送到用户设备的装置,其中,用户设备被配置为通过针对MDI的每一层映射与该层相对应的图像作为与该层相对应的网格上的纹理来渲染MDI。
附图说明
当结合以下附图考虑时,参照对所公开的主题的以下详细描述,可以更充分地了解所公开的主题的各种目的、特征和优点,其中,类似的附图标记表示类似的元件。
图1示出了根据所公开的主题的一些实施例的用于生成压缩图像并且将压缩图像发送到用户设备的过程的说明性示例。
图2示出了根据所公开的主题的一些实施例的用于通过优化多平面图像(MPI)的切割来生成压缩图像的过程的说明性示例。
图3示出了根据所公开的主题的一些实施例的用于训练神经网络以生成压缩图像的过程的说明性示例。
图4示出根据所公开的主题的一些实施例的适用于实现本文所述的用于生成压缩图像的机制的说明性系统的示意图。
图5示出根据所公开的主题的一些实施例的可以在图4的服务器和/或用户设备中使用的硬件的详细示例。
图6示出根据所公开的主题的一些实施例的多平面图像的示意图。
具体实施方式
根据各种实施例,提供了用于生成压缩图像的机制(该机制可以包括方法、系统、和介质)。
在一些实施例中,本文描述的机制可以生成与三维图像或其他沉浸式内容相对应的压缩图像。例如,在一些实施例中,三维图像可以是多平面图像(MPI),该MPI包括任何合适数量的正面平行平面(例如,五十个平面、一百个平面、五百个平面和/或任何其他合适的数量)的类集,每个平面均与红-绿-蓝-α(RGBA)图像相关联。在一些实施例中,可以通过覆盖合成(over-compositing)每个平面的每个RGBA图像来渲染MPI图像。在一些实施例中,本文描述的机制可以生成与MPI相对应的多深度图像(MDI),其中,MDI是MPI的相对简单的表示。例如,在一些实施例中,本文描述的机制可以生成MDI,该MDI包括少于与MPI相关联的正面平行平面的数量的层数。在一些这样的实施例中,MDI的每一层可以与指示与MDI的层相对应的像素的深度的网格以及指示要被映射到该网格的纹理的RGBA图像相关联。
在一些实施例中,该机制可以生成与一系列MPI图像相对应的一系列MDI图像。例如,在一些实施例中,一系列MPI图像可以与视频内容的帧(例如,包括三维视频内容、虚拟现实内容和/或任何其他合适类型的三维视频内容的视频)相对应。继续该示例,在一些实施例中,该机制可以迭代这一系列MPI图像并生成对应系列的MDI图像,从而生成三维视频内容的压缩版本。
注意,在一些实施例中,本文描述的机制可以由任何合适的设备执行。例如,在一些实施例中,存储视频内容和/或向用户设备发送视频内容的服务器可以生成与视频相对应的MDI图像序列,然后可以响应于对该视频的请求将MDI图像序列发送给用户设备。
在一些实施例中,本文描述的机制可以使用任何合适的技术或技术组合来生成MDI图像。例如,如下面结合图2所示和所描述的,在一些实施例中,该机制可以通过将MPI图像切割成一系列子体积而从MPI图像生成MDI图像,每个子体积与MDI图像的层相对应。继续该示例,在一些实施例中,该机制然后可以针对每一层计算网格和要被映射到该网格上的RGBA纹理图像。作为另一示例,如下面结合图3所示和所描述的,在一些实施例中,该机制可以使用机器学习算法来生成MDI,该机器学习算法已经被训练为从MPI图像生成MDI图像。如下面结合图3更详细描述的,在一些实施例中,该机制可以针对MDI的每一层使用梯度下降来迭代地细化网格和要被映射到图像上的RGBA图像,以最小化使用网格和RGBA图像渲染的MDI与真实MPI图像之间的误差。
结合图1-6进一步描述了用于生成多深度图像或多平面图像的压缩表示的这些和其他特征。
转向图1,根据所公开的主题的一些实施例,示出了用于生成压缩图像并且将压缩图像发送到用户设备的过程的说明性示例100。注意,在一些实施例中,过程100的框可以在服务器上实现。例如,在一些实施例中,过程100可以在与视频共享服务相关联的服务器、与社交网络平台相关联的服务器和/或任何其他合适的服务器上实现。
过程100可以通过接收与三维图像相对应的多平面图像(MPI)而在102处开始。在一些实施例中,MPI可以是正面平行平面的类集或组,其中每个平面均与指示该平面的每个像素的颜色和透明度的对应RGBA图像相关联。转向图6,根据所公开的主题的一些实施例,示出了MPI的示例600。如图所示,MPI 600可以包括单独的正面平行平面,诸如平面602、604和/或606。在一些实施例中,可以通过使用与每个平面相关联的RGBA图像覆盖合成该单独的平面,来在用户设备上渲染MPI 600。例如,在一些实施例中,可以通过将平面从后向前覆盖合成来渲染MPI 600,使得平面604被合成在平面602上,而平面606被合成在平面604上。注意,尽管MPI 600显示了三个正面平行平面,但所示出的平面的数量仅是示例性的。在一些实施例中,MPI可以包括任何合适数量的平面(例如,一百个、两百个、一千个和/或任何其他合适数量的平面)。另外,注意,在一些实施例中,每个平面可以具有任何合适的宽度和/或高度。
参照回图1,在一些实施例中,过程100可以任何合适的方式接收MPI。例如,在一些实施例中,过程100可以将MPI识别为一系列MPI图像中的图像。作为更具体的示例,在一些实施例中,一系列的MPI图像可以与三维视频或其他沉浸式内容相对应,其中所接收的MPI与视频或内容的帧相对应。在一些这样的实施例中,过程100可以通过使用下面结合框104描述的技术压缩每个MPI图像来迭代通过视频的帧以生成压缩视频。
在104处,过程100可以生成与MPI相对应的多深度图像(MDI)。在一些实施例中,MDI可以是MPI的压缩表示。例如,在一些实施例中,MDI可以包括任何合适数量的层,其中层的数量小于MPI的正面平行平面的数量。作为更具体的示例,在MPI具有一百个正面平行平面的情况下,所生成的MDI可以具有小于一百的任何合适数量的层,诸如八、十、十五和/或任何其他合适的数量。在一些实施例中,MDI的每一层可以与表示在MDI的层中包括的体素的深度的网格相关联。另外,在一些实施例中,MDI的每一层可以与RGBA图像相关联,该RGBA图像指示在MDI的渲染期间要被映射到与该层相对应的网格上的纹理。在一些实施例中,可以将生成的MDI存储为与MDI的一系列层相对应的一系列网格,其中这一系列网格中的每个网格与所存储的RGBA纹理图像相关联。
在一些实施例中,过程100可以以任何合适的方式生成MDI。例如,如下面结合图2更详细地示出和描述的,在一些实施例中,过程100可以通过将在框102处接收到的MPI切割成与MDI的每一层相对应的一系列子体积并且针对每个子体积生成网格和RGBA纹理来生成MDI。作为另一示例,在一些实施例中,过程100可以使用经训练的神经网络来生成MDI。注意,下面结合图3更详细地示出并描述了用于训练神经网络以生成MDI的技术。
在106处,过程100可以存储MDI。在一些实施例中,过程100可以以任何合适的方式存储MDI。例如,在一些实施例中,过程100可以将MDI存储为一个或多个文件,该文件包括与MDI的每一层相对应的所生成的网格以及要被映射到该网格的对应RGBA纹理图。作为另一示例,在一些实施例中,可以将MDI与标识符一起存储,该标识符将MDI与从其生成MDI的MPI相关联。
注意,在一些实施例中,过程100可以循环回到框102并接收另一MPI。例如,在过程100从包括一系列帧的视频生成压缩视频的情况下,其中每个帧是MPI,过程100可以循环回到102以识别或接收这一系列帧中的下一帧。在一些这样的实施例中,过程100可以循环通过框102-106以迭代通过这一系列帧中的每个帧。
在108处,过程100可以从用户设备接收对三维图像的请求。在一些实施例中,过程100可以任何合适的方式接收该请求。例如,在一些实施例中,过程100可以从用户设备接收流传输或下载包括三维图像的视频内容、虚拟现实内容和/或沉浸式内容的请求。注意,在一些实施例中,视频内容、虚拟现实内容或其他类型的沉浸式内容可以包括任何合适类型的内容,诸如视频、广告、视频游戏和/或任何其他合适类型的内容。
在110处,过程100可以将MDI发送到用户设备以在用户设备上渲染。在一些实施例中,过程100可以以任何合适的方式发送MDI。例如,在一些实施例中,过程100可以将包括与MDI的每一层相对应的网格和与MDI的每一层相对应的RGBA纹理图的文件发送到用户设备。作为另一示例,在一些实施例中,过程100可以将用于渲染MDI的指令发送到用户设备。注意,在框108处接收到的来自用户设备的请求是针对视频或其他图像系列的情况下,过程100可以发送与所请求的视频或图像系列相对应的一系列MDI图像。
转向图2,根据所公开的主题的一些实施例示出了用于通过将MPI切割成子体积组而从MPI生成MDI的过程的说明性示例200。注意,在一些实施例中,过程200的框可以在任何合适的设备上执行,诸如存储MPI的服务器(例如,与视频托管服务相关联的服务器、与社交网络服务相关联的服务器和/或任何其他合适的服务器)。
过程200可以通过接收MPI在202处开始。在一些实施例中,过程200可以以任何合适的方式接收MPI。例如,在一些实施例中,类似于上面结合图1的框102所描述的,过程200可以接收与视频的一系列帧中的帧相对应的MPI。作为另一示例,在一些实施例中,过程200可以从不同的过程(例如,如上面结合图1所示和描述的过程100)接收MPI的指示,该过程识别MPI并且存储与该MPI相对应的MDI。
在204处,过程200可以确定MPI划分成多个子体积。在一些实施例中,过程200可以以任何合适的方式将MPI划分成多个子体积。例如,在一些实施例中,在MPI中包括的每个正面平行平面可以跨x轴和y轴,并且这一系列正面平行平面可以沿着z轴布置。继续该示例,在一些实施例中,过程200可以通过沿z轴切割来划分MPI。即,在一些实施例中,过程200可以划分MPI,使得与MPI相关联的多个正面平行平面被包括在MPI的每个子体积中。注意,在一些实施例中,每个子体积可以与要生成的MDI的层相对应。在一些实施例中,过程200可以将MPI划分成任何合适数量的子体积(例如,八个、十个、十五个和/或任何其他合适的数量)。
在一些实施例中,过程200可以使用任何合适的技术或技术组合来确定MPI划分为多个子体积。例如,在一些实施例中,过程200可以使用图切割算法将MPI递归地划分成多个子体积。例如,为了生成四个子体积,过程200可以识别MPI的第一切割以生成第一子体积和第二子体积。继续该示例,过程200然后可以识别第一子体积的第二切割和第二子体积的第三切割,以生成总共四个子体积。注意,尽管前述示例描述了生成四个子体积的技术,但是在一些实施例中,过程200可以重复上述技术以生成任何合适数量的子体积。
在一些实施例中,过程200可以任何合适的方式识别MPI的切割或MPI的子体积的切割。例如,在一些实施例中,识别MPI的切割或MPI的子体积的切割可以包括:针对每个(x,y)像素位置,确定沿着MPI的z轴的值。注意,在一些实施例中,MPI的切割或MPI的子体积的切割可以包括在不同(x,y)位置处的MPI的不同数量的平面。例如,在一些实施例中,第一位置(x1,y1)可以包括在第一切割深度z1处的MPI的十个正面平行平面,并且第二位置(x2,y2)可以包括在第二切割深度z2处的MPI的二十个正面平行平面。
在一些实施例中,在将MPI划分为子体积组之后,过程200可以计算一个或多个误差值,该误差值指示当使用由(一个或多个)切割生成的子体积来渲染图像时将生成的误差。在一些实施例中,过程200然后可以使用任何合适的优化算法来迭代地修改MPI的(一个或多个)切割以最小化该一个或多个误差值。
在一些实施例中,一个或多个误差值可以表示任何合适的渲染启发法。例如,在一些实施例中,一个或多个误差值可以包括一元项。作为一个更具体的示例,在某些实施例中,一元项可以使用以下公式确定:
es=∑p<sap(bs-p)2+∑p≥sap(fs-p)2
在一些实施例中,s可以表示针对划分的建议z值,ap可以表示在p处的透射率,bs可以指示针对在s处的划分所产生的后深度,并且fs可以指示所产生的前深度。换句话说,在s处的划分将产生在s的任一侧的bs和fs的深度值。因此,MPI的不在bs和fs处的每个其他体素将由bs和fs表示,因此将引发由一元误差项表示的一些误差。即,在一些实施例中,一元项可以表示使用在s处的切割渲染的MDI的深度误差。
注意,在一些实施例中,可以使用任何合适的技术或技术组合来计算透射率项ap。例如,在一些实施例中,过程200可以将在MPI的对应体素的RGBA图像中包括的α值作为ap。作为另一示例,在一些实施例中,过程200可以计算值ap。作为更具体的示例,在一些实施例中,过程200可以从一系列潜在的视点投射一系列射线通过体素。继续该示例,在一些实施例中,过程200可以沿着射线累积α值,使得当射线到达视点时,计算来自体素沿着射线的有效α贡献。在一些实施例中,累积的α值可以被认为是该体素的透射率。用于计算针对射线的透射率的示例公式为:
ap=Πi<p(1-ai),
其中ai是沿射线的深度i处的α值。在一些实施例中,过程200可以取一系列射线中所有射线的最大透射率。备选地,在一些实施例中,过程200可以计算一系列射线中所有射线的平均透射率。在一些实施例中,当在MPI的划分期间计算和优化误差时,可以计算整个MPI体积的透射率,并且可以将其作为输入传递。
在一些实施例中,一个或多个误差值可包括平滑度项。在一些实施例中,过程200可以迭代地修改MPI的切割以优化平滑度项,以促进由MPI的划分产生的深度图中的平滑度。在一些实施例中,平滑度项cs可以是:
Figure BDA0002679964920000121
在一些实施例中,
Figure BDA0002679964920000122
可以是像素位置0处的后深度,并且
Figure BDA0002679964920000123
是相邻像素位置1处的后深度。类似地,在一些实施例中,
Figure BDA0002679964920000124
可以是像素位置0处的前深度,并且
Figure BDA0002679964920000125
是相邻像素位置1处的前深度位置。
注意,在一些实施例中,不是迭代地细化MPI的切割以最小化渲染误差,过程200而是可以以任何其他合适的方式将MPI划分为多个子体积。例如,在一些实施例中,过程200可以使用已经经过训练以识别MPI的切割的经训练的神经网络(例如,卷积神经网络和/或任何其他合适类型的神经网络)来生成具有最小化渲染误差的MDI。
在206处,过程200可以针对每个子体积计算深度图。在一些实施例中,过程200可以以任何合适的方式针对每个子体积计算深度图。例如,在一些实施例中,过程200可以通过使用在每个体素处的MPIα值覆盖合成由s1和s2界定的正面平行平面,来计算由两个划分s1和s2界定的特定子体积的深度图。
在208处,过程200可以将每个深度图转换为网格,其中每个网格与要被渲染的MDI的层相对应。在一些实施例中,过程200可以以任何合适的方式并且使用(一种或多种)任何合适的技术来生成网格。例如,在一些实施例中,过程200可以通过在每个深度像素处生成两个三角形来使深度图三角化。继续该示例,在一些实施例中,过程200然后可以连接像素角以生成三角形网格。在一些实施例中,过程200可以使用任何合适的简化算法来(例如)减少三角形网格中包括的面的数量,同时保持三角形网格的整体形状、体积和/或边界。在一些实施例中,过程200可以使用任何合适的简化算法(例如,Lindstrom-Turk网格简化算法和/或任何其他合适的算法)。
在210处,过程200可以针对MDI的每一层计算RGBA纹理值。注意,在一些实施例中,过程200可以以任何合适的方式计算RGBA纹理值。例如,在一些实施例中,过程200可以在与层相对应的子体积的界限内,计算与在框202处接收到的原始MPI相关联的RGBA值的覆盖合成。
注意,在一些实施例中,过程200可以执行(一种或多种)任何合适的技术来平滑和/或减少由从MPI生成MDI引起的伪像。例如,在一些实施例中,过程200可以生成随机选择的候选视点集合。继续该示例,在一些实施例中,过程200可以从候选视点集合投射多个射线通过每个MDI网格上的每个像素。在一些实施例中,过程200然后可以计算沿着每个射线的RGBA值的覆盖合成,并且过程200可以对通过像素的所有射线的结果进行平均。在一些实施例中,过程200可以将通过像素的所有射线上的所得平均用作该层的对应像素的RGBA值。
另外,注意,在一些实施例中,在过程200生成与视频的一系列帧相对应的一系列MDI的情况下,过程200可以使用(一种或多种)任何合适的技术以时间相干的方式生成(多个)MDI,从而避免闪烁。
在212处,过程200可以将RGBA值和与MDI的每一层相对应的网格存储为MDI。在一些实施例中,过程200可以以任何合适的方式存储RGBA值和网格。例如,在一些实施例中,过程200可以生成包括RGBA值和网格的文件。作为另一示例,在一些实施例中,过程200可以结合标识符来存储MDI,该标识符将所生成的MDI与在框202处接收到的MPI相关联。
注意,在一些实施例中,通过优化MPI的切割以生成MDI的层而生成的MDI可以产生具有针对MDI的中心视图而优化的几何形状和/或颜色的MDI。在一些这样的实施例中,当从中心视图投影时,所产生的MDI会劣化。在一些实施例中,当从不同视点渲染时,使用神经网络或其他机器学习算法(该神经网络或机器学习算法对从不同视点投影的MDI的最终渲染误差进行优化)来生成MDI可以产生具有较少劣化的MDI。
转向图3,根据所公开的主题的一些实施例示出了用于训练神经网络以生成MDI的过程的说明性示例300。注意,在一些实施例中,过程300的框可以由任何合适的设备执行。例如,在一些实施例中,过程300的框可以由存储图像或视频的服务器执行,诸如与视频共享服务相关联的服务器、与社交网络服务相关联的服务器和/或任何其他合适的服务器。
注意,下面结合过程300描述的技术描述了训练神经网络以生成MDI。在一些实施例中,神经网络可以具有任何合适的拓扑。例如,在一些实施例中,神经网络可以具有以任何合适的方式连接的任何合适数量的层。作为另一示例,在一些实施例中,神经网络可以具有与任何合适的参数相对应的任何合适数量的输入,诸如,将从其生成MDI的MPI的大小和/或任何其他合适的输入或参数。
过程300可以通过接收MPI在302处开始。在一些实施例中,过程300可以以任何合适的方式接收MPI。例如,在一些实施例中,类似于上面结合图1的框102和图2的框202所描述的,过程300可以接收与视频的一系列帧中的帧相对应的MPI。作为另一示例,在一些实施例中,过程300可以从不同的过程(例如,如上面结合图1所示和描述的过程100)接收MPI的指示,其中该过程识别MPI并存储与该MPI相对应的MDI。
在又一示例中,在一些实施例中,过程300可以生成MPI。在一些实施例中,过程300可以以任何合适的方式并且使用(一种或多种)任何合适的技术来生成MPI。例如,在一些实施例中,过程300(或任何其他合适的过程)可以使用任何合适的算法来生成MPI,该算法已经被训练为从任何合适的视点使用任何合适的稀疏相机图像集合来生成MPI。在一些实施例中,算法可以包括任何合适类型的算法,诸如使用学习的梯度下降以最小化所生成的MPI的渲染误差的算法和/或任何其他合适类型的算法。例如,在一些实施例中,可以将学习的梯度下降应用于具有任何合适拓扑的神经网络(例如,卷积神经网络和/或任何其他合适类型的神经网络),该拓扑以稀疏视图集合(例如,来自与照相机装备相关联的任何合适数量的照相机)作为输入,并使用输入的稀疏视图集合生成初始MPI图像。继续该示例,在一些实施例中,然后可以使用学习的梯度下降来使用对用于生成MPI的任何合适的权重或参数(例如,与MPI的每个平面的每个像素的颜色相对应的权重或参数、与MPI的每个平面的每个像素的透射率相对应的权重或参数、和/或任何其他合适的权重或参数)的更新来迭代地改善MPI。
在304处,过程300可以生成训练一个批次的样本,其中每个训练样本与MPI的视图相对应。注意,在一些实施例中,该批次可以包括任何合适数量(例如,十个、二十个、三十二个和/或任何其他合适数量)的训练样本。在一些实施例中,该批次的训练样本中的每个训练样本可以对应于与MPI相关联的不同视点。在一些实施例中,过程300可以以任何合适的方式识别与该批次中的每个训练样本相对应的不同视点,以确保将视点分布在MPI的视见体积上。例如,在一些实施例中,过程300可以使用任何合适的分层采样技术来将MPI的视见体积划分为任何合适数量的层级,每一层级对应于不同的视点组并且可以从每个层级随机选择该批次的训练样本中的训练样本。
在306处,过程300可以针对MDI的层组中的每一层初始化网格和RGBA图像。在一些实施例中,每个网格可以具有任何合适的大小和/或几何形状。例如,在一些实施例中,每个网格可以是8×8像素四边形。继续该示例,在一些实施例中,每个像素四边形可以包括任何合适数量的三角形(例如,两个和/或任何其他合适数量的三角形),然后这些三角形在顶点处连接以生成三角形网格。注意,上述网格仅仅是示例性的,并且在一些实施例中,网格可以具有任何合适的大小(例如,4x 4像素四边形、8x 8像素四边形、16x 16像素四边形和/或任何其他大小),并带有任何合适几何形状的面。在一些实施例中,每个RGBA图像可以具有与MPI的正面平行平面的大小相对应的大小。即,在一些实施例中,每个RGBA图像可以具有与MPI的正面平行平面的多个像素相对应的多个像素。
在一些实施例中,过程300可以以任何合适的方式初始化网格和RGBA图像。例如,在一些实施例中,过程300可以基于与网格相对应的MPI的正面平行平面组的位置信息来初始化其中网格的每个(x,y)点被初始化为位置的网格。作为另一示例,在一些实施例中,过程300可以以任何合适的方式初始化与每个网格相关联的深度值(例如,初始化为预定范围内的随机值、与零深度相对应的值和/或任何其他合适的值)。
注意,在一些实施例中,MDI可以与任何合适数量的层(例如,四个、八个、十六个和/或任何其他合适数量的层)相关联,如上面结合图1和图2所描述的。另外,注意,在一些实施例中,过程300可以基于任何合适的信息来确定MDI将具有多少层。例如,在一些实施例中,过程300可以基于被初始化的网格的大小来确定层数。作为更具体的示例,在一些实施例中,过程300可以基于与每一层相关联的网格相对较大(例如16×16像素四边形、32×32像素四边形和/或任何其他合适大小的网格)来确定MDI将与相对较少的层(例如,四个)相关联。相反,在一些实施例中,过程300可以基于与每一层相关联的网格相对较小(例如8×8像素四边形和/或任何其他合适大小的网格)来确定MDI将与相对更多的层(例如,八个、十六个和/或任何其他合适数量的层)相关联。注意,在一些实施例中,过程300可以确定与MDI相关联的层数以及与每一层相对应的每个网格的大小,以优化任何合适的权衡以及基于任何合适的信息。例如,在一些实施例中,过程300可以基于MPI的复杂性(例如,在MPI中包括的正面平行平面的数量和/或基于任何其他复杂性信息)、基于先前的神经网络训练数据在训练期间神经网络收敛的预计持续时间、和/或基于任何其他合适的信息,来确定与MDI相关联的层数以及与每一层相对应的每个网格的大小。
在308处,过程300可以使用网格和RGBA图像为该批次中的每个训练样本渲染MDI。在一些实施例中,过程300可以使用任何合适的技术或技术组合来渲染MDI。例如,在一些实施例中,过程300可以将RGBA图像作为纹理映射到MDI的每一层的网格上。
在310处,过程300可以针对该批次中的每个训练样本计算损失或误差,其指示在框308处针对训练样本渲染的MDI与MPI的对应视图之间的差异。即,在一些实施例中,过程300可以计算所渲染的MDI与MPI的对应视图之间的损失或误差,其中,MPI的视图被认为是所渲染的MDI与其相比的真实值。注意,在一些实施例中,过程300可以通过使用渲染的MDI和对应的真实MPI图像评估损失函数来计算训练样本的损失或误差。
在312,过程300可以基于该批次中每个训练样本的误差来更新与网格和RGBA图像相对应的权重。在一些实施例中,过程300可以更新与网格和RGBA图像的任何合适方面相对应的权重。例如,在一些实施例中,过程300可以在保持对应(x,y)位置恒定的同时,更新与每个顶点的深度相对应的权重。作为另一示例,在一些实施例中,过程300可以更新与RGBA值相对应的权重以修改每个像素的颜色或透射率。
在一些实施例中,过程300可以基于损失或误差函数的梯度来更新权重。例如,在一些实施例中,过程300可以使用针对MDI的每一层的当前网格和当前RGBA图像在梯度的相反方向上更新权重,以减小下一迭代中的误差。在一些这样的实施例中,过程300可以利用使用任何合适的学习率α(例如0.001、0.003、0.01、0.03、0.1和/或任何其他合适的值)的梯度来更新权重。
注意,在一些实施例中,过程300可以以任何合适的方式跨该批次中包括的所有训练样本之间聚合与该批次中每个训练样本相对应的损失或误差。例如,在一些实施例中,过程300可以在评估损失函数时对与该批次中的每个训练样本相对应的误差进行求和。
在一些实施例中,过程300可以循环回到框308,并且可以针对MDI的每一层使用更新的网格和更新的RGBA图像来渲染MDI,其中更新的网格和更新的RGBA图像基于如在框312处计算得到的更新权重。在一些实施例中,过程300可以使用该批次中包括的训练样本循环通过框308-312任何合适的次数(例如,一百次、一千次、一万次和/或任何其他合适的次数)。例如,过程300可以在生成新批次的训练样本之前,使用该批次中包括的训练样本循环通过框308-312用于一定数量的迭代。
过程300然后可以进入框314,并且可以确定是否已经达到预定的停止标准。在一些实施例中,预定的停止标准可以包括任何合适的标准。例如,在一些实施例中,预定的停止标准可以包括使用针对MDI的层的当前网格和当前RGBA图像的在该批次的训练样本中包括的训练样本的聚合误差是否低于预定阈值。
如果在框314处过程300确定尚未达到预定的停止标准(在314中为“否”),则过程300可以循环回到框304,并可以生成新批次的训练样本。在一些这样的实施例中,过程300然后可以用新批次的训练样本循环通过框306-312。在一些实施例中,新批次的训练样本可以具有任何合适数量的训练样本(例如,十个、二十个、十六个、三十二个和/或任何其他合适数量)。例如,过程300可以重复地生成新批次的训练样本,直到发生收敛或在预定次数的迭代之后。
如果在框314处过程300确定已经达到预定的停止标准(在314处为“是”),则过程300可以在316处结束。
转向图4,根据所公开的主题的一些实施例的说明性系统400的示意图,适用于实现本文所述的用于生成压缩图像的机制。如所图示的,系统400可以包括服务器402、通信网络404和/或一个或多个用户设备406,诸如用户设备408和410。
服务器402可以是用于存储信息、数据、程序和/或任何其他合适类型的内容的任何合适的服务器。在一些实施例中,服务器402可以执行任何合适的功能。例如,在一些实施例中,服务器402可以用于生成压缩图像。作为更特定的示例,在一些实施例中,服务器402可以被用于通过优化MPI的切割来生成MDI,如结合图2在上文中示出和描述的。作为另一个更具体的示例,在一些实施例中,服务器402可以被用于训练神经网络以生成MDI,如以上结合图3所示和描述的。作为另一示例,在一些实施例中,服务器402可以被用于将MDI或MDI的序列发送到用户设备,如结合图1在上文中所示和描述的。
在一些实施例中,通信网络404可以是一个或多个有线和/或无线网络的任何合适的组合。例如,通信网络404能够包括以下各项中的任何一种或多种:互联网、内联网、广域网(WAN)、局域网(LAN)、无线网络、数字订户线路(DSL)网络、帧中继网络、异步转移模式(ATM)网络、虚拟专用网(VPN)和/或任何其它合适的通信网络。用户设备406能够通过一个或多个通信链路(例如,通信链路412)连接到通信网络404,该通信网络404能够经由一个或多个通信链路(例如,通信链路414)被链接到服务器402。通信链路可以是适合于在用户设备406和服务器402之间传送数据的任何通信链路,诸如网络链路、拨号链路、无线链路、硬连线链路、任何其它合适的通信链路或此类链路的任何合适的组合。
用户设备406可以包括适合于呈现图像、压缩的图像、图像序列和/或压缩图像的序列的任何一个或多个用户设备。在一些实施例中,用户设备406可以包括任何合适类型的设备。例如,在一些实施例中,用户设备406可以包括移动设备、平板计算机、膝上型计算机、台式计算机、可穿戴计算机、游戏控制台、媒体播放器、车辆娱乐系统和/或任何其他合适类型的用户设备。注意,在一些实施例中,用户设备406可以附加地或可替选地用于实现以上结合图2和图3描述的任何功能以从多平面图像生成压缩图像。
尽管将服务器402图示为一个设备,但是在一些实施例中,可以使用任何适当数量的设备来执行由服务器402执行的功能。例如,在一些实施例中,可以使用多个设备来实现由服务器402执行的功能。
尽管在图4中示出两个用户设备408和410以避免使附图过于复杂,但是在一些实施例中可以使用任何合适数量的用户设备和/或任何合适类型的用户设备。
在一些实施例中,服务器402和用户设备406可以使用任何合适的硬件来实现。例如,在一些实施例中,可以使用任何合适的通用计算机或专用计算机来实现设备402和406。例如,可以使用专用计算机来实现移动电话。任何这样的通用计算机或专用计算机可以包括任何适当的硬件。例如,如在图5的示例硬件500中所图示的,这样的硬件可以包括硬件处理器502、存储器和/或存储装置504、输入设备控制器506、输入设备508、显示/音频驱动器510、显示和音频输出电路512、通信接口514、天线516和总线518。
硬件处理器502可以包括任何合适的硬件处理器,诸如微处理器、微控制器、数字信号处理器、专用逻辑和/或用于控制通用计算机或专用计算机的功能的任何其他合适的电路。在一些实施例中,硬件处理器502可以由存储在诸如服务器402的服务器的存储器和/或存储装置中的服务器程序控制。在一些实施例中,硬件处理器502可以由存储在用户设备406的存储器和/或存储装置504中的计算机程序控制。
在一些实施例中,存储器和/或存储装置504可以是用于存储程序、数据和/或任何其它合适的信息的任何合适的存储器和/或存储装置。例如,存储器和/或存储装置504能够包括随机存取存储器、只读存储器、闪速存储器、硬盘存储装置、光学介质和/或任何其它合适的存储器。
在一些实施例中,输入设备控制器506可以是用于控制并接收来自一个或多个输入设备508的输入的任何合适的电路。例如,输入设备控制器506可以是用于接收来自触摸屏、来自键盘、来自一个或多个按钮、来自话音辨识电路、来自麦克风、来自相机、来自光学传感器、来自加速度计、来自温度传感器、来自近场传感器、来自压力传感器、来自编码器和/或任何其它类型的输入设备的输入的电路。
在一些实施例中,显示/音频驱动器510可以是用于控制并驱动到一个或多个显示/音频输出设备512的输出的任何合适的电路。例如,显示/音频驱动器510可以是用于驱动触摸屏、平板显示器、阴极射线管显示器、投影仪、一个或多个扬声器和/或任何其它合适的显示器和/或呈现设备的电路。
通信接口514可以是用于与一个或多个通信网络(例如,计算机网络404)对接的任何合适的电路。例如,接口514能够包括网络接口卡电路、无线通信电路和/或任何其它合适类型的通信网络电路。
在一些实施例中,天线516可以是用于以无线方式与通信网络(例如,通信网络404)进行通信的任何合适的一个或多个天线。在一些实施例中,能够省略天线516。
在一些实施例中,总线518可以是用于在两个或更多个组件502、504、506、510和514之间进行通信的任何合适的机制。
能够在根据一些实施例的硬件500中包括任何其它合适的组件。
在一些实施例中,能够以不限于结合各图示出并描述的次序和顺序的任何次序或顺序实行或执行图1至图3的过程的上述框中的至少一些。另外,能够在适当的情况下基本上同时地或并行地实行或执行图1至图3的上述框中的一些以减少时延和处理时间。附加地或替选地,能够省略图1至图3的过程的上述框中的一些。
在一些实施例中,任何合适的计算机可读介质能够被用于存储用于执行本文的功能和/或过程的指令。例如,在一些实施例中,计算机可读介质可以是暂时性的或非暂时性的。例如,非暂时性计算机可读介质能够包括诸如以下各项的介质:非暂时性形式的磁性介质(诸如硬盘、软盘和/或任何其它合适的磁性介质)、非暂时性形式的光学介质(诸如紧致盘、数字视频盘、蓝光盘和/或其它任何合适的光学介质)、非暂时性形式的半导体介质(诸如闪速存储器、电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和/或任何其它合适的半导体介质)、在传输期间没有短暂或缺少任何永久假象的任何合适的介质和/或任何合适的有形介质。作为另一示例,暂时性计算机可读介质能够包括网络上、电线、导体、光纤、电路、在传输期间短暂且缺少任何永久假象的任何合适的介质和/或任何合适的无形介质中的信号。
因此,提供用于生成压缩图像的方法、系统和介质。
尽管已经在前面的说明性实施例中描述并图示了本发明,但是应理解,已经仅通过示例做出了本公开,并且在不脱离本发明的精神和范围的情况下,能够做出本发明的实现方式的细节方面的许多变化,本发明的精神和范围仅由以下权利要求限定。能够以各种方式组合并重新布置所公开的实施例的特征。

Claims (21)

1.一种用于生成压缩图像的方法,所述方法包括:
识别表示三维图像的多平面图像(MPI),其中,所述MPI包括多个正面平行平面,每个正面平行平面均与指示所述多个正面平行平面中的每个像素的颜色和透射率的图像相关联;
将所述MPI划分为多个子体积,其中,所述多个子体积中的每个子体积包括所述多个正面平行平面的子集;
针对所述MPI的每个子体积计算深度图;
将每个深度图转换为网格,其中,每个网格对应于与要被渲染的多深度图像(MDI)相关联的多个层中的一层,其中,每个深度图指示在所述MDI的对应层中包括的所述MDI的每个体素的位置和深度,并且其中,与所述MDI相关联的所述多个层中的层数小于在与所述MPI相关联的所述多个正面平行平面中包括的正面平行平面的数量;
针对所述多个层中的每一层,计算指示在所述层中包括的每个体素的颜色和透射率的图像;
将与所述MDI的所述多个层相对应的所述网格以及与所述MDI的所述多个层相对应的所述图像存储为所述MDI;以及
响应于从用户设备接收到对所述三维图像的请求,将所述MDI发送到所述用户设备,其中,所述用户设备被配置为通过针对所述MDI的每一层映射与所述层相对应的所述图像作为与所述层相对应的所述网格上的纹理来渲染所述MDI。
2.根据权利要求1所述的方法,还包括:生成与MPI图像序列相对应的MDI图像序列,其中,所述MPI图像序列与三维视频内容相对应。
3.根据权利要求1所述的方法,其中,将所述MPI划分为所述多个子体积包括:通过最小化使用所述多个子体积渲染所述MDI而生成的渲染误差来优化生成所述多个子体积的多个切割。
4.根据权利要求3所述的方法,其中,所述渲染误差包括一元项,所述一元项指示由于使用所述多个切割中的一个切割来渲染所述MDI而产生的深度误差。
5.根据权利要求3所述的方法,其中,所述渲染误差包括平滑度项,所述平滑度项指示所述多个切割中跨多个体素的一个切割的平滑度,所述多个体素包括在与所述一个切割相对应的子体积中。
6.根据权利要求1所述的方法,其中,将所述MPI划分成所述多个子体积包括:使用经训练的神经网络来识别生成所述多个子体积的多个切割。
7.根据权利要求1所述的方法,其中,与所述MDI的每一层相对应的每个网格是三角形网格。
8.一种用于生成压缩图像的系统,所述系统包括:
硬件处理器,所述硬件处理器被配置为:
识别表示三维图像的多平面图像(MPI),其中,所述MPI包括多个正面平行平面,每个正面平行平面均与指示所述多个正面平行平面中的每个像素的颜色和透射率的图像相关联;
将所述MPI划分为多个子体积,其中,所述多个子体积中的每个子体积包括所述多个正面平行平面的子集;
针对所述MPI的每个子体积计算深度图;
将每个深度图转换为网格,其中,每个网格对应于与要被渲染的多深度图像(MDI)相关联的多个层中的一层,其中,每个深度图指示在所述MDI的对应层中包括的所述MDI的每个体素的位置和深度,并且其中,与所述MDI相关联的所述多个层中的层数小于在与所述MPI相关联的所述多个正面平行平面中包括的正面平行平面的数量;
针对所述多个层中的每一层,计算指示在所述层中包括的每个体素的颜色和透射率的图像;
将与所述MDI的所述多个层相对应的所述网格以及与所述MDI的所述多个层相对应的所述图像存储为所述MDI;以及
响应于从用户设备接收到对所述三维图像的请求,将所述MDI发送到所述用户设备,其中,所述用户设备被配置为通过针对所述MDI的每一层映射与所述层相对应的所述图像作为与所述层相对应的所述网格上的纹理来渲染所述MDI。
9.根据权利要求8所述的系统,其中,所述硬件处理器还被配置为:生成与MPI图像序列相对应的MDI图像序列,其中,所述MPI图像序列与三维视频内容相对应。
10.根据权利要求8所述的系统,其中,将所述MPI划分为所述多个子体积包括:通过最小化使用所述多个子体积渲染所述MDI而生成的渲染误差来优化生成所述多个子体积的多个切割。
11.根据权利要求10所述的系统,其中,所述渲染误差包括一元项,所述一元项指示由于使用所述多个切割中的一个切割来渲染所述MDI而产生的深度误差。
12.根据权利要求10所述的系统,其中,所述渲染误差包括平滑度项,所述平滑度项指示所述多个切割中跨多个体素的一个切割的平滑度,所述多个体素包括在与所述一个切割相对应的子体积中。
13.根据权利要求8所述的系统,其中,将所述MPI划分成所述多个子体积包括:使用经训练的神经网络来识别生成所述多个子体积的多个切割。
14.根据权利要求8所述的系统,其中,与所述MDI的每一层相对应的每个网格是三角形网格。
15.一种包含计算机可执行指令的非暂时性计算机可读介质,所述计算机可执行指令在被处理器执行时使所述处理器执行用于生成压缩图像的方法,所述方法包括:
识别表示三维图像的多平面图像(MPI),其中,所述MPI包括多个正面平行平面,每个正面平行平面均与指示所述多个正面平行平面中的每个像素的颜色和透射率的图像相关联;
将所述MPI划分为多个子体积,其中,所述多个子体积中的每个子体积包括所述多个正面平行平面的子集;
针对所述MPI的每个子体积计算深度图;
将每个深度图转换为网格,其中,每个网格对应于与要被渲染的多深度图像(MDI)相关联的多个层中的一层,其中,每个深度图指示在所述MDI的对应层中包括的所述MDI的每个体素的位置和深度,并且其中,与所述MDI相关联的所述多个层中的层数小于在与所述MPI相关联的所述多个正面平行平面中包括的正面平行平面的数量;
针对所述多个层中的每一层,计算指示在所述层中包括的每个体素的颜色和透射率的图像;
将与所述MDI的所述多个层相对应的所述网格以及与所述MDI的所述多个层相对应的所述图像存储为所述MDI;以及
响应于从用户设备接收到对所述三维图像的请求,将所述MDI发送到所述用户设备,其中,所述用户设备被配置为通过针对所述MDI的每一层映射与所述层相对应的所述图像作为与所述层相对应的所述网格上的纹理来渲染所述MDI。
16.根据权利要求15所述的非暂时性计算机可读介质,其中,所述方法还包括:生成与MPI图像序列相对应的MDI图像序列,其中,所述MPI图像序列与三维视频内容相对应。
17.根据权利要求15所述的非暂时性计算机可读介质,其中,将所述MPI划分为所述多个子体积包括:通过最小化使用所述多个子体积渲染所述MDI而生成的渲染误差来优化生成所述多个子体积的多个切割。
18.根据权利要求17所述的非暂时性计算机可读介质,其中,所述渲染误差包括一元项,所述一元项指示由于使用所述多个切割中的一个切割来渲染所述MDI而产生的深度误差。
19.根据权利要求17所述的非暂时性计算机可读介质,其中,所述渲染误差包括平滑度项,所述平滑度项指示所述多个切割中跨多个体素的一个切割的平滑度,所述多个体素包括在与所述一个切割相对应的子体积中。
20.根据权利要求15所述的非暂时性计算机可读介质,其中,将所述MPI划分成所述多个子体积包括:使用经训练的神经网络来识别生成所述多个子体积的多个切割。
21.根据权利要求15所述的非暂时性计算机可读介质,其中,与所述MDI的每一层相对应的每个网格是三角形网格。
CN202010959566.2A 2020-01-07 2020-09-14 用于生成压缩图像的方法、系统和介质 Active CN112055213B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410322284.XA CN118250468A (zh) 2020-01-07 2020-09-14 用于生成压缩图像的方法、系统和介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/736,469 2020-01-07
US16/736,469 US11172148B2 (en) 2020-01-07 2020-01-07 Methods, systems, and media for generating compressed images

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202410322284.XA Division CN118250468A (zh) 2020-01-07 2020-09-14 用于生成压缩图像的方法、系统和介质

Publications (2)

Publication Number Publication Date
CN112055213A true CN112055213A (zh) 2020-12-08
CN112055213B CN112055213B (zh) 2024-04-09

Family

ID=72517115

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010959566.2A Active CN112055213B (zh) 2020-01-07 2020-09-14 用于生成压缩图像的方法、系统和介质
CN202410322284.XA Pending CN118250468A (zh) 2020-01-07 2020-09-14 用于生成压缩图像的方法、系统和介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202410322284.XA Pending CN118250468A (zh) 2020-01-07 2020-09-14 用于生成压缩图像的方法、系统和介质

Country Status (5)

Country Link
US (3) US11172148B2 (zh)
EP (1) EP3848903A1 (zh)
JP (1) JP7005712B2 (zh)
KR (1) KR102493860B1 (zh)
CN (2) CN112055213B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023272510A1 (zh) * 2021-06-29 2023-01-05 Oppo广东移动通信有限公司 多平面图像的生成、数据处理、编码和解码方法、装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111400521B (zh) * 2020-02-28 2022-06-07 苏州浪潮智能科技有限公司 一种图数据处理方法、装置、设备、介质
TW202143721A (zh) * 2020-05-06 2021-11-16 法商內數位Ce專利控股公司 具有阿爾法層的3d場景傳輸
US12051175B2 (en) * 2020-11-13 2024-07-30 Adobe Inc. View synthesis with spatial and rotational consistency
WO2023085854A1 (en) * 2021-11-12 2023-05-19 Samsung Electronics Co., Ltd. Method for building scene representation with feed-forward correction for real-time view synthesis

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130317852A1 (en) * 2012-05-22 2013-11-28 Geneva Healthcare, LLC Medical device information portal
CN110084874A (zh) * 2018-01-24 2019-08-02 谷歌有限责任公司 对于三维模型的图像风格迁移

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10958887B2 (en) * 2019-01-14 2021-03-23 Fyusion, Inc. Free-viewpoint photorealistic view synthesis from casually captured video
US10986326B2 (en) * 2019-02-22 2021-04-20 Avalon Holographics Inc. Layered scene decomposition CODEC with higher order lighting
US11330252B2 (en) 2020-02-12 2022-05-10 At&T Intellectual Property I, L.P. Apparatus and method for providing content with multiplane image transcoding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130317852A1 (en) * 2012-05-22 2013-11-28 Geneva Healthcare, LLC Medical device information portal
CN110084874A (zh) * 2018-01-24 2019-08-02 谷歌有限责任公司 对于三维模型的图像风格迁移

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TATSUNORI TANIAI: "《Continuous 3D Label Stereo Matching Using Local Expansion Moves》", "IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 40, NO. 11, NOVEMBER 2018" *
VINCENT JANTET: "《OBJECT-BASED LAYERED DEPTH IMAGES FOR IMPROVED VIRTUAL VIEW SYNTHESIS IN RATE-CONSTRAINED CONTEXT》", "2011 18TH IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING" *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023272510A1 (zh) * 2021-06-29 2023-01-05 Oppo广东移动通信有限公司 多平面图像的生成、数据处理、编码和解码方法、装置

Also Published As

Publication number Publication date
JP2021111335A (ja) 2021-08-02
CN112055213B (zh) 2024-04-09
CN118250468A (zh) 2024-06-25
KR102493860B1 (ko) 2023-01-31
US20220030184A1 (en) 2022-01-27
JP7005712B2 (ja) 2022-01-24
US11758295B2 (en) 2023-09-12
US20240073551A1 (en) 2024-02-29
KR20210089068A (ko) 2021-07-15
EP3848903A1 (en) 2021-07-14
US20210211593A1 (en) 2021-07-08
US11172148B2 (en) 2021-11-09

Similar Documents

Publication Publication Date Title
CN112055213B (zh) 用于生成压缩图像的方法、系统和介质
CN111656407B (zh) 对动态三维模型的视图进行融合、纹理化和绘制
KR101065230B1 (ko) 스테레오-가능 디스플레이 상에의 3d 비디오 이미지의 렌더링
JP7201869B1 (ja) 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成
US11451758B1 (en) Systems, methods, and media for colorizing grayscale images
KR102612529B1 (ko) 신규 뷰 합성을 위한 신경 블렌딩
US11601636B2 (en) Methods, systems, and media for generating an immersive light field video with a layered mesh representation
JP2023519728A (ja) 二次元画像の三次元化方法、装置、機器及びコンピュータプログラム
CN113946402A (zh) 基于渲染分离的云手机加速方法、系统、设备及存储介质
CN110390327A (zh) 前景提取方法、装置、计算机设备及存储介质
CN115526976A (zh) 虚拟场景渲染方法、装置、存储介质和电子设备
US11748940B1 (en) Space-time representation of dynamic scenes
WO2022182441A1 (en) Latency-resilient cloud rendering
CN110930492A (zh) 模型渲染的方法、装置、计算机可读介质及电子设备
EP3564905A1 (en) Conversion of a volumetric object in a 3d scene into a simpler representation model
CN115439610A (zh) 模型的训练方法、训练装置、电子设备和可读存储介质
US20220139026A1 (en) Latency-Resilient Cloud Rendering
US11410387B1 (en) Systems, methods, and media for generating visualization of physical environment in artificial reality
KR20230022153A (ko) 소프트 레이어링 및 깊이 인식 복원을 사용한 단일 이미지 3d 사진
CN115035231A (zh) 阴影烘焙方法、装置、电子设备和存储介质
CN111243099A (zh) 一种处理图像的方法和装置以及在ar设备中显示图像的方法和装置
US20240062425A1 (en) Automatic Colorization of Grayscale Stereo Images
CN118836860A (zh) 头戴式显示器的室内定位方法及头戴式显示设备
CN118573826A (zh) 信息显示方法及装置、计算机可读存储介质、电子设备
CN116916028A (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
GR01 Patent grant
GR01 Patent grant