CN109937573B - 用于光场压缩和解压缩的系统和方法 - Google Patents

用于光场压缩和解压缩的系统和方法 Download PDF

Info

Publication number
CN109937573B
CN109937573B CN201780070295.1A CN201780070295A CN109937573B CN 109937573 B CN109937573 B CN 109937573B CN 201780070295 A CN201780070295 A CN 201780070295A CN 109937573 B CN109937573 B CN 109937573B
Authority
CN
China
Prior art keywords
image
tile
light field
tiles
compressed
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.)
Active
Application number
CN201780070295.1A
Other languages
English (en)
Other versions
CN109937573A (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
Publication of CN109937573A publication Critical patent/CN109937573A/zh
Application granted granted Critical
Publication of CN109937573B publication Critical patent/CN109937573B/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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/003Reconstruction from projections, e.g. tomography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/17Methods 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 an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/507Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

显示系统包括用于存储第一光场的第一存储设备和用于存储第二光场的第二存储设备。第一光场包括图像的二维阵列,每个图像包括图像图块的相应二维阵列,以及第二光场包括第一光场的压缩表示。该系统进一步包括至少一个处理器,其被配置为基于所消除的图像图块与光场的其他图像的相同图块位置中的图像图块之间的所识别的冗余,从包含在第二光场中选择性地消除第一光场的图像的图像图块。

Description

用于光场压缩和解压缩的系统和方法
技术领域
本申请涉及用于光场压缩和解压缩的系统和方法。
背景技术
虚拟现实(VR)和增强现实(AR)应用通常寻求使用户能够在整个场景(虚拟或现实世界)中移动并且使用户能够从用户的头戴式设备(HMD)或其他VR/AR观看设备的当前姿势查看场景。已经提出光场作为光内容格式以使得能够从许多不同视角渲染场景的影像。然而,适合于真实描绘的光场可能需要许多千兆字节的存储,通常使得它们的传输、存储和处理对于许多现实世界的实施方式是不可行的。对于移动消费者设备而言,由于它们相对有限的存储、传输和处理资源,将光场用于VR和AR应用所需的资源量通常特别成问题。
发明内容
本申请的一个示例方面涉及一种系统,包括:用于存储第一光场的第一存储设备,所述第一光场包括图像的二维阵列,每个图像包括图像图块的对应二维阵列;用于存储第二光场的第二存储设备,所述第二光场包括所述第一光场的压缩表示;以及至少一个第一处理器,所述至少一个第一处理器被配置为基于所消除的图像图块和所述光场的其他图像的相同图块位置中的图像图块之间的所识别的冗余,从所述第二光场中的包含物中选择性地消除所述第一光场的图像的图像图块,其中,所述至少一个第一处理器被配置为通过下述操作来选择性地消除图像图块:将所述第一光场的图像的所述二维阵列组织成二叉树结构,其中,所述二叉树结构的每个节点表示图像的所述二维阵列的对应图像;以及对于所述二叉树结构的每个非叶节点:
对于所述非叶节点处的所述图像的每个图像图块,响应于候选图像图块和所述非叶节点处的所述图像的所述图像图块之间的差异,从所述第二光场中选择性地消除所述非叶节点的后代节点处的图像中位于相同图块位置的所述候选图像图块。
本申请的另一示例方面涉及一种系统,包括:用于存储压缩光场的存储设备,所述压缩光场包括具有图像的二维阵列的光场的压缩表示,每个图像包括图像图块的对应二维阵列,并且其中,所述图像图块的至少子集已从所述压缩光场中消除;以及至少一个处理器,所述至少一个处理器耦合到所述存储设备并且被配置为:识别用于在渲染表示由所述压缩光场表示的场景的视图的影像中使用的所述二维阵列的一个或多个图像的一个或多个图像图块的集合;以及响应于确定所述一个或多个图像图块的集合包括从所述压缩光场中的第一图像中所消除的第一图像图块,使用所述压缩光场中的第二图像并且使用第一差异导数矢量来重构所述第一图像图块,所述第二图像被识别为所述第一图像的参考图像,所述第一差异导数矢量是从与所述第一图像图块具有相同图块位置的所述第二图像的第二图像图块的所述压缩光场存取的,所述第一差异导数矢量包括一个或多个差异导数,所述一个或多个差异导数指定如何根据所述二维阵列中的第一图像和所述第二图像之间的位置关系,通过在一个或多个维度中对应移位所述第二图像来重构所述第一图像图块,其中,所述至少一个处理器还被配置为通过以下操作来重构所述第一图像图块:基于所述第一差异导数矢量,相对于表示所述第一图像图块的图块位置的边界的重构窗口,在一个或多个维度中移位部分的所述第二图像,所述部分的所述第二图像包括所述第二图像图块和所述第二图像的至少一个其他图像图块;以及将在移位所述部分的所述第二图像之后被包含在所述重构窗口内的像素设置为所述第一图像图块的重构表示。
本申请的又一示例方面涉及一种方法,包括:在第一存储设备处存储第一光场,所述第一光场包括图像的二维阵列,每个图像包括图像图块的对应二维阵列;以及由至少一个第一处理器压缩所述第一光场以产生第二光场,所述第二光场包括所述第一光场的压缩表示,其中,压缩所述第一光场包括基于所消除的图像图块和所述光场的其他图像的相同图块位置中的图像图块之间的所识别的冗余,从所述第二光场中的包含物中选择性地消除所述第一光场的图像的图像图块,其中,选择性地消除图像图块包括:将所述第一光场的图像的所述二维阵列组织成二叉树结构,其中,所述二叉树结构的每个节点表示图像的所述二维阵列的对应图像;以及对于所述二叉树结构的每个非叶节点:对于所述非叶节点处的所述图像的每个图像图块,响应于候选图像图块和所述非叶节点处的所述图像的所述图像图块之间的差异,从所述第二光场中选择性地消除所述非叶节点的后代节点处的图像中位于相同图块位置的所述候选图像图块。
本申请的再一示例方面涉及一种方法,包括:在存储设备处存储压缩光场,所述压缩光场包括具有图像的二维阵列的光场的压缩表示,每个图像包括图像图块的对应二维阵列,并且其中,所述图像图块的至少子集已从所述压缩光场中消除;以及由至少一个处理器识别用于在渲染表示由所述压缩光场表示的场景的视图的影像中使用的所述二维阵列的一个或多个图像的一个或多个图像图块的集合;以及响应于确定所述一个或多个图像图块的集合包括从所述压缩光场中的第一图像中消除的第一图像图块,由所述至少一个处理器使用所述压缩光场中的第二图像并且使用第一差异导数矢量来重构所述第一图像图块,所述第二图像被识别为所述第一图像的参考图像,所述第一差异导数矢量是从与所述第一图像图块具有相同图块位置的所述第二图像的第二图像图块的所述压缩光场存取的,所述第一差异导数矢量包括一个或多个差异导数,所述一个或多个差异导数指定如何根据所述二维阵列中的第一图像和所述第二图像之间的位置关系,通过在一个或多个维度中对应移位所述第二图像来重构所述第一图像图块,其中,重构所述第一图像图块包括:基于所述第一差异导数矢量,相对于表示所述第一图像图块的图块位置的边界的重构窗口,来在一个或多个维度中移位部分的所述第二图像,所述部分的所述第二图像包括所述第二图像图块和所述第二图像的至少一个其他图像图块;以及将在移位所述部分的所述第二图像之后被包含在所述重构窗口内的像素设置为所述第一图像图块的重构表示。
附图说明
通过参考附图,可以更好地理解本公开,并且本公开的许多特征和优点对于所属领域的技术人员而言是显而易见的。在不同附图中使用相同的附图标记表示相似或相同的项目。
图1是根据一些实施例的示例光场结构的图。
图2是根据一些实施例的光场使能的显示系统的框图。
图3是根据一些实施例的示出使用差异预测替换(DPR)压缩和解压缩过程来处理光场的方法的流程图。
图4是根据一些实施例的示出使用DPR压缩过程来压缩光场的方法的流程图。
图5是根据至少一些实施例的示出从光场的图像组织二叉树的过程的示例实施方式的图。
图6是根据一些实施例的示出用于计算光场的图像的图像图块的差异导数矢量(DDV)的方法的流程图。
图7是根据一些实施例的示出针对图6的方法的选择用于运动搜索分析的图像的示例的图。
图8是根据一些实施例的示出在压缩期间,用于选择性地消除光场的树区域的图像的图块的方法的流程图。
图9是根据一些实施例的示出图8的选择性图块消除方法的示例的图。
图10是根据一些实施例的示出图2的显示系统的光场压缩设备的示例实施方式的图。
图11是根据一些实施例的示出使用DPR解压缩过程解压缩所压缩的光场的方法的流程图。
图12是根据一些实施例的示出使用DPR参考图像的对应图块的DDV来重构光场图像的图像图块的方法的流程图。
图13是根据一些实施例的示出图12的图块重构方法的示例的图。
图14是根据一些实施例的示出图12的图块重构方法的另一示例的图。
图15是根据一些实施例的示出图1的显示系统的光场解压缩/渲染设备的示例实施方式的图。
具体实施方式
以下描述旨在通过提供涉及光场的压缩和解压缩的多个具体实施例和细节来传达对本公开的透彻理解。然而,应理解,本公开不限于仅作为示例的这些特定实施例和细节,并且本公开的范围相应地仅旨在由所附权利要求书及其等同物限制。还应理解,根据已知的系统和方法,所属领域的普通技术人员将了解,根据具体设计和其它需要,本公开在任何数量的替代实施例中用于其预期目的和益处。
图1示出了根据一些实施例的光场的典型双平面表示。光场(也称为流明图或光场)可以概念化为通过限定的空间或环境中的每个点在每个方向上流动的光量,其中,光场中的每条光线的方向由五维全光函数指定并且每条光线的大小由相应的辐射率指定。为计算机图形实现参数化光场的常用方法是经由双平面参数化,其中,光场被表示为st平面(通常被称为“焦平面”)的透视图像的集合,每个图像表示虚拟摄像机从与st平面平行的uv平面(通常被称为“摄像机平面”)上的相应位置的视角。
为了说明,图1图示了由图像(例如,图像103、104、105)的二维(2D)阵列102组成的示例光场100,其中,阵列102的每个图像表示从(具有尺寸s和t的)st平面110上的所有点到达(具有尺寸u和v的)uv平面108上的相应点(例如点106)的光线。在这样的实施方式中,阵列102的图像表示场景或环境的离轴或剪切的透视图。因此,2D阵列102可以被表示为图像的阵列,其中,每个图像i具有由坐标(ui,vi)定义的阵列中的位置。此外,每个图像由像素的2D阵列表示,并且如图像105的示例展开视图112所示,图像i的每个像素k具有由坐标(sk,tk)定义的图像中的位置。此外,出于下文描述的DPR压缩和DPR解压缩过程的目的,图像的像素阵列可以被设想为图像图块的阵列,每个图像图块表示相应的像素区域并且具有图块位置(si,ti)。为了参考图像105进行说明,每个图像由例如图块(例如,图块114、115)的4×4阵列组成。
因此,如图1的光场100所示,光场可以由场景的图像阵列表示,每个图像表示场景相对于光场的其他图像的透视图的略微平面移位的透视图。通常,光场包含相对大量的这样的图像,并且以相对高的分辨率渲染或捕获这些图像。结果,表示具有合适分辨率和维度的光场的数据结构通常可以达到数十千兆字节或更大的大小。表示光场所需的数据的绝对大小可能妨碍其在许多VR/AR显示系统中的有效使用。图2-14示出了用于渲染由光场表示的场景的特定视图所需的有效压缩光场以及随后对压缩光场的部分进行解压缩以在头戴式显示器(HMD)设备或其他显示设备处显示的技术。在至少一个实施例中,表示光场的图像的二维阵列的图像被组织成二叉树结构。二叉树结构的每个非叶节点处的图像可以用作参考图像,用于在非叶节点后代的一个或多个节点处重构考虑到包含在参考图像中的图像内容,被认为其最初是冗余的,或者以其他方式呈现出与参考图像的低差异的图像的一个或多个图块,从而允许像素数据表示将被丢弃或以其他方式从所得到的光场的压缩版本中消除的一个或多个图块。该分层冗余图像图块替换方法导致由减少的数据量表示的压缩光场,从而使得压缩光场的存储、传输和处理比其未压缩形式更实用。例如,减少的存储、传输和处理要求可以使得这样的光场能够被计算使能的智能电话、平板电脑或其他移动消费者设备利用以渲染由移动消费者设备提供的VR或AR应用的影像。
如本文所述,在一些实施例中,针对参考图像(即,位于二叉树结构的非叶子节点处的图像)的一些或所有图块,计算差异导数矢量(DDV)。在st平面中的位置(si,ti)处的图像图块的DDV描述了如何对uv平面中引用该参考图像的每个其他图像(即,位于参考节点的后代节点处的图像)在相同位置(si,ti)处重构图块。在一个实施例中,图像图块的DDV由差异导数ds/du、dt/du、ds/dv、和dt/dv的集合中的一个或多个表示,每个差异导数描述在表示将对后代节点重构的位置(si,ti)处的图块的窗口下如何移位参考图像,并且其中,每个差异导数是参考图像和被考虑消除的候选图像之间的位置关系的函数,如本文中更详细所述。
图2示出了利用基于差异预测替换(DPR)的光场压缩和解压缩的示例显示系统200以及图3示出了根据一些实施例的显示系统200的操作的方法300。显示系统200包括光场生成设备202、光场压缩组件206、光场解压缩/渲染组件208和显示设备210。
图3的方法300从框302光场生成设备202生成或获得表示场景213的光场212开始。为了说明,光场生成设备202可以包括例如光场相机,该光场相机被配置成经由多个相机装备捕获光场212,相机装备被配置成从uv平面上的不同视角捕获场景213的多个图像,所得到的多个图像以2D图像阵列格式排列,诸如图1的2D图像阵列102所示。替选地,光场生成设备202可以包括图形渲染设备,该图形渲染设备被配置为通过使用各种公知的光场渲染技术的任何一种来渲染光场212的图像阵列的图像来生成场景213的VR或AR实现的光场212。无论是通过图像捕获还是通过图形渲染生成,光场212都被缓冲或以其他方式被存储在存储设备204(例如,随机存取存储器、盘驱动器等)中以进一步处理。在框304处,光场压缩组件206操作以压缩光场212来生成由比光场212更少的数据表示的压缩光场214,由此更适合于有效的存储、传输和处理。
这样,在框306处,将压缩光场214提供给光场解压缩/渲染组件208以进一步处理,从而通过将压缩光场214存储在可由组件206、208存取的存储设备216中、通过经由一个或多个网络218或其他数据通信互连(例如,数据传输电缆)或其组合将压缩光场214的表示从光场压缩组件206发送到光场解压缩/渲染组件208来提供压缩光场214。为了说明,组件206、208可以被实现为较大设备的组件,并且存储设备216可以包括系统存储器或较大设备的硬盘。作为另一示例,组件206、208可以彼此远离,并且经由位于网络218上的服务器,将压缩光场214从组件206提供给组件208。
在框308处,光场解压缩/渲染组件208操作以识别要在显示设备210处显示的场景213的视图,并且在框310处,从该识别的视图识别将使用压缩光场214的哪些图像的哪些图块来渲染代表该视图的影像(即,在所识别的视图中哪些图像图块是“可见的”)。在框312处,然后,光场解压缩/渲染组件208从压缩光场214存取所识别的图像图块并且对其解压缩以生成解压缩的图像图块。从解压缩的图像图块,在框314,光场解压缩/渲染组件208渲染一个或多个显示图像(渲染影像220),然后在框316,将其提供给显示设备210以显示。
为了说明,在一些实施例中,显示设备210包括头戴式显示器(HMD)设备,并且待渲染的场景213的视图基于HMD设备相对于场景213的参考坐标系的当前姿势。在识别出该姿势的情况下,光场解压缩/渲染组件208识别压缩光场214中表示从给定姿势可见的影像的图块,解压缩所识别的图块,由解压缩的图块渲染左眼图像和右眼图像,并且将左眼图像和右眼图像提供给HMD设备以用于同时显示,以便向HMD的用户提供场景213的3D视图。
在一些实施方式中,光场解压缩/渲染组件208在移动设备或具有相对有限的处理、存储或传输资源的其他设备上实现。因此,为了便于有效处理压缩光场214以用在生成渲染影像220中,光场压缩组件206在框304处利用一个或多个光场压缩技术来减少表示如提供给所提供的光场解压缩/渲染组件208的压缩光场214所需的数据量。
在许多情况下,在光场212的一些或所有图像之间可能仅存在微小的不同或差异。为了说明,如果光场212表示在远处的场景或表示平面、具有漫射材料并且相距中等距离的场景,那么2D图像阵列中的每个图像之间的不同或差异可能相对可忽略不计,从而使得一些或许多图像的至少部分冗余。在至少一个实施例中,由光场压缩组件206在框304处采用的压缩过程包括压缩技术222,在本文中被称为“差异预测替换”或“DPR”,其通过防止在压缩光场214中包括与其他附近图像的相同(s,t)图块位置中的一个或多个其他图块具有低预测差异或区别的图像的那些冗余图像图块来利用图像图块之间的冗余。更具体地,当预测到一个图像的位置(si,ti)处的图块与uv平面中的附近图像的相同位置(si,ti)处的对应图块之间的差异的低发生率时,根据DPR压缩技术222,从压缩光场214中完全消除相应图块的像素数据。
如上所述,光场解压缩/渲染组件208可能需要从压缩光场214中消除一些或所有冗余图块来渲染影像220以在显示设备210处显示。因此,在一些实施例中,光场减压/渲染组件208在框312处利用互补DPR解压缩技术224,其中,通过根据与参考图像的该图块位置相关联的一个或多个差异导数相对于表示图块位置(si,ti)的重构窗口移位参考图像,然后由相应地移位参考图像后存在于重构窗口中的像素重构所消除的图像图块,由参考图像重构位于位置(si,ti)并且从压缩光场214中消除的图像图块。在下文中,参考图3-15,更详细地描述DPR压缩技术222和DPR解压缩技术224。
除了DPR压缩技术222之外,光场压缩组件206可以使用一种或多种其他压缩技术,并且除了DPR压缩技术222之外,光场解压缩/渲染组件208还可以使用一种或多种互补解压缩技术。作为示例,光场压缩组件206可以采用差异补偿预测(DCP)压缩过程226,并且光场解压缩/渲染组件208可以采用相应的DCP解压缩过程228。通常,这样的方案将光场图像的子集识别为参考图像,然后,相对于参考图像执行其他图像的运动搜索,以将非参考图像编码为运动残差的集合,然后可以以类似于本领域公知的常规的基于运动补偿的视频流的编码和解码的方式,使用运动残差和参考图像解码所编码的图像。在美国专利No.6,693,964中找到了基于DCP的光场编码和解码的示例实施方式。替选地,代替基于DCP的编码方案,或者除了基于DCP的编码方案之外,可以使用本领域已知的用于光场的各种基于非DCP的编码方案中的任何一种。这种编码方案的示例包括但不限于基于JPEG的编码、基于PNG的编码、基于ASTC的编码、基于DXT的编码等。因此,除非另有说明,否则本文中对基于DCP的编码方案的引用可以同样适用于基于非DCP的编码方案。
图4-10示出了如由图3的方法300的框302、304、306所示使用差异预测替换来压缩光场及其后续存储或传输的示例技术和系统。转到图4,图示根据一些实施例的表示利用DCP压缩技术222的光场压缩过程的示例的一般概述的示例方法400。方法400在捕获或生成光场212之后开始,其中,在框402处,光场压缩组件206由表示沿着uv平面的光场212的2D图像阵列生成二叉树结构,其中,所得到的二叉树结构的每个节点包括2D阵列的相应图像。
简单地转到图5,该图示出了使用由图像(例如,图像503、504)的8×8 2D阵列502组成的示例光场512的该二叉树转换过程的前三个阶段的示例。如第一阶段510所示,将2D阵列502的中心处的图像511选择为相应二叉树结构514的根祖先节点513。在第二阶段520,2D阵列502被分成两个基本上相等的区域521、522,并且将区域521的中心处的图像523选择为二叉树结构514的区域521中的所有图像的祖先节点524,而将区域522的中心处的图像525选择为二叉树结构514的区域522中的所有图像的祖先节点。在第三阶段530再次重复该分叉过程,于是区域521被分叉成区域531、532,而区域522被分叉成区域533、534。区域531的中心处的图像535被选择为区域531中的所有图像的祖先节点536,图像537被选择为区域532中的所有图像的祖先节点538,图像539被选择为区域533中的所有图像的祖先节点540,而图像541被选择为区域534中的所有图像的祖先节点542。由阶段510、520、530示出的分叉过程重复直到2D阵列502的结果区域是单个图像为止,然后将形成二叉树结构514的叶节点。
利用如此构造的二叉树结构514,二叉树结构514的每个非叶节点在本文中被称为“参考节点”,并且参考节点处的每个图像可以用作用于使用本文所述的DPR压缩过程,替换参考节点的后代节点处的一个或多个图像的图块的“参考图像”。为了说明,节点513处的图像511可以用作光场502的所有图像的参考图像,因为节点513是二叉树结构514的根祖先节点513。节点524处的图像523可以用作区域531和532的图像(包括图像535和537)的参考图像,因为这些区域的图像由作为节点524的后代的节点表示。同样,节点526处的图像525可以用作用于区域533和534的图像(包括图像539和541)的参考图像,因为这些区域的图像由作为节点526的后代的节点表示。
回到图4,利用生成的二叉树结构,在框404,光场压缩组件206执行树结构的深度优先的后序遍历,以选择二叉树结构中还未由框404的先前迭代存取的节点。在框406,光场压缩组件206确定所选节点是否是叶节点。如果是,则方法400返回到框404以进行深度优先遍历的下一次迭代。否则,在选择了非叶节点的情况下,在框408,将所选节点处的图像设置为所选非叶节点的后代节点处的所有图像的参考图像,其中,参考节点后代的所有这样的节点在本文中被称为参考节点的“树区域”。
如上所述,光场212的2D阵列的图像由位于st平面中的图像图块的相应2D阵列组成。实际上,可以将参考图像的每个图像图块用作后续在二叉树结构中的一个或多个后代图像中的相同图块阵列位置处重构图块的基础。如下文更详细所述,在至少一个实施例中,该图块重构依赖于在表示待重构的图像图块的“窗口”下相对于u、v、s或t维度中的一个或多个而移位包括参考图像图块和多达三个相邻参考图像图块的参考图像的一部分。要应用于参考图像的适当参考图块的移位的方向和程度由表示差异导数ds/du、dt/du、ds/dv和dt/dv(其中一些或全部可以是零或非零数量的像素或其他空间单元)的差异导数矢量(DDV)表示。因此,在框410处,光场压缩组件206为当前参考图像的每个图像图块确定分离的DDV以包括在压缩光场214中以用于后续解压缩过程,如下所述。
简单地转向图6,该图图示根据一些实施例的方法400的框410的DDV确定过程的示例实施方式。如所述,参考图像由图像图块的2D阵列组成,每个图像图块位于图块阵列内的相应图块位置。因此,在框602的迭代中,光场压缩组件206选择图块位置(si,ti)并且存取该图块位置处的参考图像的图像图块(该图像图块在本文中被称为“参考图块”)。
在框604和606处,光场压缩组件206基于参考图像图块和相同区域中的其他图像中的相同图块位置处的图像图块之间(关于s和u维度以及t和v维度)的差异的确定,确定参考图像的图块位置(si,ti)的差异导数ds/du和dt/dv。在一个实施例中,基于两个运动搜索来确定差异导数ds/du和dt/dv:参考图像图块与最右u维和中心v维的后代节点的图像图块之间的一个运动搜索以确定ds/du和dt/du(框604),以及参考图像图块和参考图像的树区域内的图像的最下v维和中心u维处的后代节点的图像图块之间的一个运动搜索以确定ds/dv和dt/dv(框606)。然后,发现最适合这些运动搜索的运动矢量被用来定义DDV的差异导数。为了说明,运动搜索产生Δs和Δt对。u、v平面中的目标图像图块相对于参考图像图块的位置的位置提供Δu和Δv对。因为使用直接在右(或左)的图像图块,接着是直接在上(或下)的图像,所以光场压缩组件206能够在第一步中求解ds/du=Δs/Δu和dt/du=Δt/Δu以及在第二步中求解ds/dv=Δs/Δv和dt/dv=Δt/Δv。
为了说明运动搜索过程,简单地转到图7,阶段710示出了具有用作光场712的所有图像的根参考节点的图像713的8×8光场712。因此,为确定图像713的参考图像图块的ds/du和dt/du差异导数,光场压缩组件206可以相对于位于由包含图像713的节点定义的树区域(当该节点是根节点时,其是图像的整个2D阵列)的最右u和中心v维的后代图像714执行参考图像图块的运动搜索,并且最适合运动搜索结果的运动矢量被用作ds/du和dt/du差异导数的基础。类似地,为了确定图像713的参考图像图块的ds/dv和dt/dv差异导数,光场压缩组件206可以相对于由包含图像713的节点定义的树区域的最右u和中心v维度处的后代图像715,执行参考图像图块的运动搜索,并且最适合运动搜索结果的运动矢量被用作ds/dv和dt/dv差异导数的基础。
作为另一示例,阶段720将光场712示为具有用作光场712的左半树区域721的所有图像的参考节点的图像723。因此,为了确定用于图像723的参考图像图块的ds/du和dt/du差异导数,光场压缩组件206可以相对于树区域721的最右u和中心v维度处的后代图像724执行参考图像图块的运动搜索。类似地,为了确定图像723的参考图像图块的ds/dv和dt/dv差异导数,光场压缩组件206可以相对于树区域721的最右u和中央v维度处的后代图像725执行参考图像图块的运动搜索。
回到图6,在框608,将确定的差异导数作为相应DDV的表示存储到表示生成中的压缩光场214的数据结构。例如,每个差异导数可以被量化为16比特值,然后可以对得到的值进行熵编码或以其他方式压缩以进一步降低存储/传输需求。在框610处,光场压缩组件206确定是否已针对参考图像的所有参考图块位置确定DDV。如果不是,则方法流程返回到框602,于是在框602、604、606、608和610的过程的下一次迭代中选择下一个参考图块位置。在已经分析了所有参考图块位置以生成相应DDV之后,方法流程进行到方法400的框412。
回到图4,在框412处,光场压缩组件206执行选择性图块消除过程,其将在框408处设定的参考图像的图块位置(si,ti)处的参考图像图块与参考图像的后代节点处的图像的相同图块位置处的相应图块进行比较,并且如果参考图像图块和后代图像图块之间存在足够的冗余(或低预测差异),则可以将后代图像图块排除包括在表示压缩光场214的数据结构中(即,从压缩光场214中消除)。对由当前迭代的框408处选择的参考图像定义的树区域中的每个后代图块重复该比较和选择性图块消除处理。
转到图8,该图图示根据一些实施例的用于实现方法400的框412的选择性图块消除过程的示例方法。利用在框408处选择的参考图像和在当前迭代的框410处确定的参考图像的每个图像图块的DDV,框412的图块消除过程的迭代在框802处开始,其中,对当前迭代,选择了参考图像的后代图像。在一些实施例中,光场压缩组件206在由参考图像定义的树区域的节点的后序深度优先遍历中选择每个后代子节点。
在框804处,光场压缩组件206选择后代图像的图块位置以供进一步分析。如本文所述,在一些实施例中,除了DPR压缩过程之外还可以采用其他形式的压缩,并且在这种情况下,后代图像的一些或所有图像图块可能已经以某种形式被编码。在这种情况下,如果所选择的后代图像的图块位置包含编码图像图块,则可以对该编码图像图块进行解码以进行DPR压缩评估,并且如果图块的DPR压缩提供更好的结果,则编码图像图块可以用DPR编码版本替换。
如上所述,鉴于在祖先节点处的相同图块位置中的相应参考图像图块,后代节点的图像图块可以是有效冗余的,因此在后代节点的图像图块与参考图像图块的移位(或在某些情况下未移位)版本之间存在足够的冗余的情况下,可以排除后代节点的图像图块包含在压缩光场214中。在一个实施例中,在框806处,光场压缩组件206通过确定由相应的参考图块替换候选图像图块(即,后代图像中的相同图块位置处的图块)而引入的率失真、确定通过一些其他手段(例如,DCP编码)对图像图块进行编码而引入的率失真,然后在判定框808处比较结果,评估这种冗余的程度。如果使用DPR方法未改善率失真方程,则在框810,将后代图像的图像图块添加到或以其他方式保持在表示压缩光场214的数据结构中。具体地,当评估非叶节点中的图块是否可以被替换为冗余时,光场压缩组件206评估图块可以被用作DPR参考图块的所有后代图块的率失真。这样,光场压缩组件206循环通过所有这样的后代图块,并且如果率失真不能有利地比较后代图块中的任何一个,则候选图块被维持而不是被替换。由于在方法400的框404处的树的后序遍历,因此在该过程中不需要再次检查先前被确定为不用作候选的任何后代图块作为DPR参考。
返回到判定框808,如果通过用参考图块替换图像图块来改进率失真方程(即,参考图块具有与后代图像的图像图块足够的冗余),则在框812处,光场压缩组件图206从表示压缩光场214的数据结构中消除了后代图像的图像图块,其有效地操作为用可以在解压缩过程期间重构的参考图块的移位版本替换后代图像的图像图块,如下文所述。此外,在框814,光场压缩组件206可以将一个或多个使用标识符存储到表示压缩光场214的数据结构,以便于识别在DPR解压缩过程中如何使用替换的图像图块。例如,在一个实施例中,替换图像图块的使用标识符包括一个比特或标志,以指示在任何重构过程期间将不使用替换图像图块的图像数据,因此可以完全消除替换图像图块的所有图像数据,并且指示替换图块的图像数据的一个比特或平面是必要的,以便于重构后代节点的图像图块。该后一比特或标志用于识别相邻的“祖先图块”,如下所述。
无论所选择的后代图像的图像图块是否已从压缩光场214中消除或保持在压缩光场214中,在框816处,光场压缩组件206确定是否已经经由框804-814的迭代,分析了所选择的后代图像中的所有图像图块以替换。如果不是,则方法流程返回到框804,于是选择所选后代图像的下一个图块位置以进行消除分析。否则,如果已经考虑了所有图块位置,则在框818,光场压缩组件206确定是否已从压缩光场214中消除了所选择的后代图像中的所有图像图块。如果是,则在框820处,诸如通过去除在框814添加的每个替换图像图块的使用标识符,并且因此具有在压缩光场214中从未存在完全替换的后代图像图块的效果,可以从压缩光场214中消除后代图像的所有剩余的痕迹。在框822,光场压缩组件206确定是否已经分析了由当前选择的参考图像定义的树区域中的所有后代图像,以选择性地消除其中包含的图像图块。如果不是,则方法流程返回到框802,以在框412的过程的下一次迭代中选择树区域中的下一个后代图像。否则,方法流程进行到方法400的框414。
图9示出了根据一些实施例的框412的选择性图块消除过程的示例应用。在表示由所示节点处的图像901-904组成的未压缩光场900的二叉树结构912的一部分的上下文中描述了图示的示例,由此每个图像由3×3图块阵列组成。在该示例中,将框412的选择性图块消除过程应用于二叉树结构912导致表示压缩光场910的修改的二叉树结构922。如所示,选择性图块消除过程导致消除除后代图像902中的三个图像图块、后代图像903中的五个图像图块之外的所有图块,并且完全消除后代图像904。图9进一步示出了在压缩光场910中以压缩形式表示图像902、903、904的示例数据结构部分930。如所示,包含用于维持图像图块的图像数据的数据字段由散列图块(例如,用于图像902的位置(0,0)处的图像图块的数据字段932)表示,其可以包含数百或数千个比特,这取决于图像图块的大小。相反,替换的图像图块由相应的两比特字段(例如,用于图像图块902的位置(1,0)处的图像图块的字段934)表示,其存储每个被消除/替换的图像图块的使用指示符。此外,替换后代图像的所有图块导致从压缩光场910移除后代图像的所有数据,尽管如果适当,可以利用NULL标识符(例如,用于消除图像904的NULL标识符936)以进行数据对齐目的。
再次参考图4,一旦存取了二叉树结构的所有节点、为所有参考图块计算了DDV并且分析了用于选择性图块替换的所有后代图像,则可以认为DPR压缩过程完成。然而,如上所述,在一些实施例中,在生成压缩光场214时应用了另外的压缩技术。为了说明,在执行DPR压缩过程之后,在框416,可以使用DCP压缩过程将任何剩余图块编码成相应的残差,从而进一步压缩该压缩光场214中的数据。此外,虽然上文在以未编码光场212开始的示例上下文中描述了DPR压缩过程,但是在一些实施例中,首先在光场212上执行DCP压缩过程以生成DCP编码的光场,其中,考虑到从2D阵列的图像中选择的DCP参考图像,2D阵列的一些图像已被编码为残差。在这种情况下,可以解码DPR评估所需的那些DCP编码图块以用在DPR评估中。如果这样的图像图块的DPR编码提供比DCP编码结果更好的结果,则可以使用该图块的DCP压缩版本来代替响应图块的DCP编码版本。此外,可以执行该初始DCP编码过程,接着是DPR压缩过程,然后是第二DCP编码过程,以进一步编码DPR压缩结果中的任何未消除的图块。在DPR压缩过程和任何后续编码之后,在框418,将得到的压缩光场214传输到光场解压缩/渲染组件208,或者本地或远程存储,以供光场解压缩/渲染组件208的后续存取。
图10根据至少一些实施例,示出了光场压缩组件206的示例硬件实施方式。在所图示的示例中,光场压缩组件206包括应用处理器1002,其具有耦合到非暂时性计算机可读存储介质1004的接口、耦合到存储设备204的接口,以及耦合到网络218和存储设备216中的一个或两个的接口。应用处理器1002可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)或其组合。计算机可读存储介质1004包括例如一个或多个随机存取存储器(RAM)、一个或多个只读存储器(ROM)、一个或多个硬盘驱动器、一个或多个光盘驱动器、一个或多个闪存驱动器等。
计算机可读存储介质1004以可执行指令的形式存储软件,该可执行指令被配置为操纵应用处理器1002以执行上文参考图2至9所述的一个或多个过程。为了说明,该软件可以包括,例如,DCP模块1010,用于执行如本文所述的DCP编码过程、树操作模块1012,用于执行本文所述的二叉树生成和遍历过程、运动搜索模块1014,用于基于如本文所述的一个或多个运动搜索过程来计算每个参考图块的DDV,以及图块替换模块1016,用于执行本文所述的选择性图块消除过程。
图11-15示出了用于基于差异预测的替换解压缩所压缩的光场和从其渲染显示图像的示例技术和系统,如由图3的方法300的框308、310、312、314、316所示。现在转到图11,根据至少一个实施例,示出了方法300的框312的基于DPR的解压缩过程的示例实施方式。
利用在光场解压缩/渲染组件208处接收或以其他方式可存取的压缩光场214,光场解压缩/渲染组件208可以开始渲染影像220以在显示设备210处显示的过程(图2)。如上所述,为了识别渲染由光场表示的场景的特定视图所需的光场的图像内容,光场解压缩/渲染组件208首先将虚拟摄像机的当前视图识别到场景的坐标空间中,并且从该当前视图,光场解压缩/渲染组件208识别光场的哪些图像以及那些图像的哪些图像图块是从当前视图可见的。可以在该确定中采用用于识别从当前视图可见的双平面光场表示的图像图块的各种公知技术中的任何一种。
利用由此识别的可见图像图块,在框1102处,光场解压缩/渲染组件208将所识别的可见图块中的一个选择为当前迭代的“目标图块”。在框1104处,光场解压缩/渲染组件208遍历表示压缩光场214的二叉树结构,直到其到达包含目标图块的图像为止,然后遍历图像的图块阵列,直到与目标图块相同图块位置处的图块(即,相同的(s,t)(u,v)坐标)。在框1106处,光场解压缩/渲染组件208确定目标图块是否存在于压缩光场214的二叉树结构中的相应位置处。即,光场解压缩/渲染组件208确定在DPR压缩过程中是否消除目标图块以利于参考图块。
如果目标图块存在于二叉树结构中,则在框1108处,光场解压缩/渲染组件208从压缩光场214存取目标图块的图像数据以用在渲染相应影像中。然而,如果已经从压缩光场214中消除了目标图块,则在框1110处,光场解压缩/渲染组件208使用DPR过程,由祖先节点的相应参考图块重构所消除的目标图块,如下文参考图12更详细所述。在框1112处,重构的目标图块然后由光场解压缩/渲染组件208用在渲染相应的影像中。在框1114,光场解压缩/渲染组件208确定是否通过从压缩光场214存取图块或者使用DPR重构图块已经获得了渲染影像所需的所有识别的可见图块。如果不是,则方法流程返回到框1102以获得下一个可见图块。如果是,则方法流程前进到方法300的方框314,如上所述。
图12图示根据一些实施例的基于DPR的图块重构过程的示例实施方式。如上所述,从压缩光场214中消除并且为了渲染代表场景213的特定视图的影像而被识别为“可见”的图块是由表示包含待重构的图块的图像的节点的祖先节点中的一个或多个处的参考图像重构的。因此,为了启动重构过程,在框1202,光场解压缩/渲染组件208将表示压缩光场214的二叉树结构向上移动到表示要重构的图像图块的节点的直接祖先节点。在框1204处,光场解压缩/渲染组件208从祖先节点存取用于在与待重构的图块相同的图块位置(si,ti)处参考图块的DDV。
如上所述,参考图像的图块位置(si,ti)处的参考图块的DDV描述了如何针对引用参考图像的每个图像在相同图块位置处重构每隔一个图块。也就是说,参考图块的DDV指定如何相对于表示待重构的图块的边界的重构窗口,相对于u、v、s和t维度,移位或以其他方式操纵包含该参考图块的参考图像以便识别要构成重构图块的参考图像的像素阵列。这样,除了参考图块之外,可能还需要参考图像的多达三个附加图块来重构所识别的图块。因此,在框1206处,光场解压缩/渲染组件208使用由参考图块的DDV表示的差异导数来确定还需要从压缩光场214存取参考图像的哪些图块以便重构目标图块。为了说明,如果参考图块的DDV具有负的非零ds/du导数,则参考图块右侧的参考图像的图块将用在重构中,因为负的非零的ds/du导数表示参考图像将相对于表示正在重构的边界图块的重构窗口向左移位(注意,可以通过移位参考图像或通过移动重构窗口来实现该移位)。作为另一示例,如果参考图块的DDV具有正的非零dt/dv,则参考图像的结果移位将相对于窗口边界向上,因此将需要存取正好在参考图块下方的参考图像的图块以用于重构过程。参考图块和用于重构目的所需的参考图像的任何其他图块在本文中被称为正被重构的图块的“祖先图块”。
利用如此识别的一个或多个祖先图块的集合,在框1208,光场解压缩/渲染组件208从该集合中选择祖先图块。应当认识到,由于DPR压缩过程是递归的和分层的,所以鉴于较高祖先节点处的参考图块,参考图像的所选祖先图块本身可能由于冗余已经从压缩光场214中消除。因此,在框1210处,光场解压缩/渲染组件208确定压缩光场214是否包含所选择的祖先图块(即,作为DPR压缩过程的一部分,本身未消除祖先图块)。
如果所选择的祖先不存在于压缩光场214中,则在框1212处,光场解压缩/渲染组件208执行图12所述的图块重构过程来重构所选的祖先图块。为此,光场解压缩/渲染组件208识别尚未被替换且具有DDV的第一祖先图块,然后使用该识别的参考图块及其DDV来使用所述的图块重构过程直接重构目标图块。为了说明,返回参考图9,表示压缩光场910的修改二叉树结构922将参考图像902的图块941图示为位于与图像903的图块942相同的图块位置中。同时还示出,已从压缩光场910中消除图块942,因此,如果渲染影像需要图块942,则光场解压缩/渲染组件208将尝试将图块941用作参考图块来重构图块942。但是,也如图9所示,也已从压缩光场910中消除图块941,因此由于图像901具有位于相同图块位置并具有DDV的图块943,因此光场解压缩/渲染组件208将使用图像901作为用于重构图块942的参考图像(包括作为用于该重构的参考图块的图块943)来重构图块942。对于已从压缩光场910中消除的所有其他祖先图块,可以重复该相同的重构过程。
再次参考图12,在框1214,光场解压缩/渲染组件208确定是否已经从压缩光场214选择并获得或者从参考图像重构在框1206处识别的集合的所有祖先图块。如果不是,则方法流程返回到框1208,以选择要存取或重构的下一个祖先图块。否则,如果已经存取或重构了该集合的所有祖先图块,则光场解压缩/渲染组件208准备开始从一个或多个祖先图块的集合重构被消除的图块。
为了重构被消除的图块,在框1216处,光场解压缩/渲染组件208指定表示正被重构的图块的边界的重构窗口,然后基于在框1204处存取的参考图块的DDV的差异导数,相对于该重构窗口,移位或以其他方式调整参考图像(或更具体地,由祖先图块的集合表示的参考图像的部分)。通过相对于重构窗口如此移位的参考图像的相关部分,在框1218处,光场解压缩/渲染组件208将落在由重构窗口限定的边界内的移位参考图像/移位参考图像部分的那些像素设置为重构图块的像素。图13和14示出了该窗口移位过程的两个示例。
对于两个示例,假设后代图块和参考图像是3×3图块阵列,并且正在构造的图块是后代图块的中心图块。在图13的示例中,参考图像1300位于坐标(u0,v0)处,而具有正在重构的图块的后代图像位于坐标(u0+2,v0)处。此外,中心图块位置处的参考图块的DDV具有-k像素的差异导数ds/du,而其他差异导数(dt/du、ds/dv、dt/dv)为零。因此,如初始阶段1301所示,表示中心图块位置的边界的重构窗口1302位于相对于未移位的参考图像1300的原始位置。因此,该阶段的重构窗口1302包含参考图像1300的相应参考图块1303。
如移位阶段1310所示,ds/du差异导数是-k像素,并且后代图像在u方向上距参考图像1300两个单位(即,参考图像1300和后代图像之间的位置关系在2D阵列的u维度上是+2),因此使参考图像1300相对于重构窗口1302,在u方向上移位-2*k个像素(即,相对于图13中所示的方位向左2*k),如移位矢量1312所示。结果,使参考图块1303的左侧的2*k宽部分被移出重构窗口1302,而参考图块1303右侧的图块1304的右侧的2*k宽部分移位到重构窗口1302中。因此,将存在于重构窗口1302中的移位参考图像1300的像素设置为后代图像的中心图块位置的重构图块1314。
在图14的示例中,参考图像1400位于坐标(u0,v0)处,而具有正在重构的图块的后代图像位于坐标(u0+2,v0+1)处。此外,中心图块位置处的参考图块的DDV具有-k像素的差异导数ds/du,-j像素的差异导数dt/dv,而其他差异导数(dt/du、ds/dv)为零。因此,如初始阶段1401所示,表示中心图块位置的边界的重构窗口1402位于相对于未移位的参考图像1400的原始位置。因此,该阶段的重构窗口1402包含参考图像1400的相应参考图块1403。
如移位阶段1410所示,ds/du差异导数是-k像素,并且后代图像在u方向上距参考图像1400两个单位,而dt/dv导数是-j像素并且后代图像在v方向上距参考图像一个单位。因此,使参考图像1400相对于重构窗口1302,在u方向上移位-2*k个像素并且在v方向上移位-j个像素(即,相对于图4中所示的方位,向左移位2*k个像素并且向下移位j个像素)。结果,参考图块1403的一部分被移出重构窗口1302,而参考图像1400的相邻图块1404、1405和1406的部分被移入重构窗口1302中。因此,将存在于重构窗口1302中的移位参考图像1400的像素设置为后代图像的中心图块位置的重构图块1414。
图15图示根据至少一些实施例的光场解压缩/渲染组件208的示例硬件实施方式。在所图示的示例中,光场解压缩/渲染组件208包括CPU 1502,其具有耦合到非暂时性计算机可读存储介质1504的接口和耦合到惯性测量单元(IMU)1506的接口,以及耦合到网络218和存储设备216中的一个或两者的接口(图15中未示出)。光场解压缩/渲染组件208进一步包括GPU 1508,其具有耦合到CPU 1502的接口、耦合到非暂时性计算机可读存储介质1510的接口、耦合到帧缓冲器1512的接口,以及耦合到显示控制器1514的接口。显示控制器1514反过来耦合到一个或多个显示面板,诸如HMD设备的左眼显示面板1516和右眼显示面板1518。
在至少一个实施例中,在CPU 1502和GPU 1508之间分摊光场解压缩过程和呈现过程的工作量。为了说明,计算机可读存储介质1504以可执行指令的形式存储软件,可执行指令被配置为操纵CPU 1502以识别和DCP解码(根据需要)渲染代表场景的特定视图的影像所需的光场图块,而计算机可读存储介质1510以可执行指令的形式存储软件,可执行指令被配置为操纵GPU 1508以重构渲染影像所需的任何已消除的图块,然后使用存取和重构的图块渲染影像。为了说明,CPU侧软件可以包括视图确定模块1520、可见性分析模块1522以及图块解码器模块1524,视图确定模块1520用于以经由IMU 1506确定HMD设备210(图2)的姿势并且从姿势将当前视图确定到场景213中,可见性分析模块1522用于识别从当前视图“可见”或者以其他方式由当前视图渲染场景213的影像所需的压缩光场214的所设置的图像图块,如上所述,图块解码器模块1524用于存取存在于压缩光场214中的集合的那些图块,DCP根据需要对它们进行解码,并且将当前图块(例如,图块1526)提供给GPU 1508。对于已经从压缩光场214中消除的集合的那些图块,图块解码器模块1524操纵CPU 1502以存取该集合的每个被消除的图块的DDV,并且将DDV(例如,DDV 1528)提供给GPU 1508。
GPU侧软件可以包括例如DPR重构模块1530,用于使用参考图块的DDV和由CPU1502提供的祖先图块来使用上述过程重构所识别的“可见”图块集合的被消除图块,并且进一步包括渲染模块1532,用于从由压缩光场214存取或由DPR重构模块1530从参考图像重构的可见图块的集合,生成表示场景213的当前视图的影像。
上述DPR压缩/解压缩过程有助于更有效地传输、存储和处理用于场景视图渲染的光场数据。为了说明,通过减少需要由CPU解码并且传输到GPU的图块的总数,可以提高渲染过程的速度。此外,在该渲染过程期间,更多的光场可以被存储在GPU 1508所利用的帧缓冲器1512中,因此GPU 1508可以花费更少的时间来重新解码先前从帧缓冲器1512逐出的图块。
在一些实施例中,上述技术的某些方面可以由执行软件的处理系统的一个或多个处理器实现。所述软件包括存储或以其它方式有形地体现在非暂时性计算机可读存储介质上的一组或多组可执行指令。所述软件可以包括指令和某些数据,所述指令和数据当由一个或多个处理器执行时操纵一个或多个处理器以执行上述技术的一个或多个方面。这些软件可以采用被配置为当由处理器操作时,执行本文所述的任何方法的计算机程序的形式。非暂时性计算机可读存储介质可以包括例如磁盘或光盘存储设备、诸如闪存的固态存储设备、高速缓存、随机存取存储器(RAM)或其它非易失性存储设备或设备等等。存储在非暂时性计算机可读存储介质上的可执行指令可以是源代码、汇编语言代码、目标代码或由一个或多个处理器解释或以其它方式可执行的其它指令格式。
计算机可读存储介质可以包括在使用期间可由计算机系统存取以向计算机系统提供指令和/或数据的任何存储介质或存储介质的组合。这种存储介质可以包括但不限于光学介质(例如,光盘(CD)、数字通用光盘(DVD)、蓝光光盘)、磁介质(例如,软盘、磁带或磁性硬盘)、易失性存储器(例如,随机存取存储器(RAM)或高速缓冲存储器)、非易失性存储器(例如,只读存储器(ROM)或闪存),或基于微机电系统(MEMS)的存储介质。计算机可读存储介质可以嵌入在计算系统(例如,系统RAM或ROM)中、固定地附接到计算系统(例如,磁性硬盘驱动器)、可移除地附接到计算系统(例如,光盘或基于通用串行总线(USB)的闪存),或经由有线或无线网络(例如,网络可存取存储(NAS))耦合到计算机系统。
注意,并非需要以上在一般描述中描述的所有活动或元素,因此可能不需要特定活动或设备的一部分,并且除了所描述的那些之外可以执行一个或多个其它活动或包括其它元素。此外,列出活动的顺序不一定是它们的执行顺序。而且,已经参考特定实施例描述了这些概念。然而,所属领域的普通技术人员认识到,在不脱离如所附权利要求书所阐述的本公开的范围的情况下,可以进行各种修改和改变。因此,说明书和附图应视为说明性而非限制性意义,并且所有这些修改旨在包括在本公开的范围内。
上文已经根据特定实施例描述了益处、其它优点和问题的解决方案。然而,益处、优点、问题的解决方案以及可能导致任何利益、优势或解决方案发生或变得更加明显的任何特征不应被解释为任何或全部权利要求的关键、必需或必要特征。此外,以上公开的特定实施例仅是说明性的,因为所公开的主题可以以受益于本文教导的所属领域的技术人员显而易见的不同但等效的方式进行修改和实践。除了在所附权利要求中描述的之外,对于本文所示的构造或设计的细节没有限制。因此显而易见的是,可以改变或修改上文公开的特定实施例,并且所有这些变化都被认为在所公开的主题的范围内。因此,本文寻求的保护如所附权利要求书所述。在权利要求书前提供的是示例性编号的实施例。
实施例1是一种用于压缩光场的系统。该系统包括第一存储设备,用于存储第一光场,所述第一光场包括图像的二维阵列,每个图像包括图像图块的相应二维阵列;第二存储设备,用于存储第二光场,所述第二光场包括所述第一光场的压缩表示;以及至少一个第一处理器,所述至少一个第一处理器被配置为基于所消除的图像图块和所述光场的其他图像的相同图块位置中的图像图块之间的所识别的冗余(或例如低预测差异),从第二光场的包含物中选择性地消除所述第一光场的图像的图像图块。以这种方式,本公开解决了与数据处理、存储和传输有关的问题。所公开的方法和系统允许生成能够在现实世界实施方式中处理、存储和传输的压缩光场。这样的场景可以包括例如VR和AR场景。
实施例2是如实施例1所述的系统,其中,所述至少一个第一处理器被配置为通过下述操作,选择性地消除图像图块:将所述第一光场的图像的所述二维阵列组织成二叉树结构,其中,所述二叉树结构的每个节点表示图像的所述二维阵列的对应图像;以及对于所述二叉树结构的每个非叶节点:对于所述非叶节点处的图像的每个图像图块,响应于候选图像图块和所述非叶节点处的图像的图像图块之间的差异,从所述第二光场选择性地消除所述非叶节点的后代节点处的图像中位于相同图块位置的所述候选图像图块。
实施例3是如实施例2所述的系统,其中,所述至少一个第一处理器被配置为通过下述操作来确定所述差异:确定由所述非叶节点处的图像的图像图块替换所述候选图像图块所导致的第一率失真;确定编码所述候选图像图块所导致的的第二率失真;当所述第一率失真不大于所述第二率失真时,将所述候选图像图块包括在所述第二光场中;以及当所述第一率失真大于所述第二率失真时,从所述第二光场消除所述候选图像图块。这种率失真信息可以指示提供具有特定失真水平的压缩光场所需的数据量。
实施例4是如实施例2或3所述的系统,其中,所述至少一个第一处理器进一步被配置为:确定用于所述非叶节点处的图像的图像图块的差异导数矢量,所述差异导数矢量包括指定如何根据所述二维阵列中的所述非叶节点处的所述图像与后代节点处的所述图像之间的位置关系,通过在一个或多个维度上所述非叶节点处的所述图像的对应移位来重构在所述非叶节点的所述后代节点处的图像的所消除的图像图块的一个或多个差异导数;以及将所述图像图块的差异导数矢量存储到所述第二光场。
实施例5是如实施例2至4中任一项所述的系统,进一步包括:至少一个第二处理器,用于:识别所述二维阵列的一个或多个图像的一个或多个图像图块的集合,以用在渲染表示由所述第二光场表示的场景的视图的影像中;以及响应于确定所述一个或多个图像图块的集合包括从所述第二光场中的第一图像中消除的第一图像图块,使用位于具有所述第一图像的节点的祖先节点处的所述第二光场中的第二图像并且使用为与所述第一图像图块具有相同图块位置的第二图像的第二图像图块存储的差异导数矢量,重构所述第一图像图块。
实施例6.如实施例5所述的系统,其中,所述至少一个第二处理器被配置为通过下述操作,重构所述第一图像图块:基于所述差异导数矢量,相对于表示所述第一图像图块的图块位置的边界的重构窗口,移位包括所述第二图像图块和一个或多个维度中的至少一个其他图像图块的所述第二图像的一部分;以及将移位所述第二图像的所述部分后被包含在所述重构窗口内的像素设置为所述第一图像图块的重构表示。
实施例7是如实施例5或6所述的系统,其中,所述至少一个第二处理器进一步被配置为使用所述一个或多个图像图块的集合来渲染所述影像。
实施例8是如实施例5至7中任一项所述的系统,进一步包括:用于显示所述影像的至少一个显示面板。
实施例9是如实施例8所述的系统,进一步包括:包括所述至少一个显示面板的头戴式显示设备。
实施例10是如实施例1至9中任一项所述的系统,其中,所述至少一个第一处理器进一步被配置为使用基于运动搜索的编码过程,对所述第二光场的剩余图像图块进行编码。
实施例11是一种系统,包括:存储设备,用于存储压缩光场,所述压缩光场包括具有图像的二维阵列的光场的压缩表示,每个图像包括图像图块的相应二维阵列,并且其中,已从所述压缩光场中至少消除所述图像图块的子集;以及至少一个处理器,所述至少一个处理器耦合到所述存储设备并且被配置为:识别用于在渲染表示由所述压缩光场表示的场景的视图的影像中使用的所述二维阵列的一个或多个图像的一个或多个图像图块的集合;以及响应于确定所述一个或多个图像图块的集合包括从所述压缩光场中的第一图像中消除的第一图像图块,使用被识别为用于所述第一图像的参考图像的压缩光场中的第二图像并且使用从用于与所述第一图像图块具有相同图块位置的第二图像的第二图像图块的压缩光场存取的第一差异导数矢量,重构所述第一图像图块,所述第一差异导数矢量包括指定如何根据所述二维阵列中的第一图像和所述第二图像之间的位置关系通过在一个或多个维度上的所述第二图像的对应移位来重构所述第一图像图块的一个或多个差异导数矢量。以这种方式,本公开解决了与数据处理、存储和传输有关的问题。所公开的方法和系统允许生成能够在现实世界实施方式中处理、存储和传输的压缩光场。这样的场景可以包括例如VR和AR场景。
实施例12是如实施例11所述的系统,其中,所述至少一个处理器还被配置为通过以下方式重构所述第一图像图块:基于所述第一差异导数矢量,相对于表示所述第一图像图块的图块位置的边界的重构窗口,在一个或多个维度中移位包括所述第二图像图块和所述第二图像的至少一个其他图像图块的所述第二图像的一部分;以及将移位所述第二图像的所述部分后被包含在所述重构窗口内的像素设置为所述第一图像图块的重构表示。
实施例13是如实施例11或12所述的系统,其中,所述至少一个处理器还被配置为:响应于确定已经从所述压缩光场中的所述第二图像中消除所述第二图像的所述部分的所述第二图像图块,使用被识别为用于所述第二图像的参考图像的压缩光场中的第三图像并且使用针对与所述第二图像图块具有相同图块位置的所述第三图像的参考图像图块的从所述压缩光场存取的第二差异导数矢量,重构所述第二图像图块,所述第二差异导数矢量包括指定如何根据所述二维阵列中的所述第二图像和所述第三图像之间的位置关系通过在一个或多个维度上的所述第三图像的对应移位来重构所述第二图像图块的一个或多个差异导数矢量。
实施例14是如实施例11至13中任一项所述的系统,其中,所述至少一个处理器进一步被配置为渲染所述影像。
实施例15是如实施例14所述的系统,进一步包括:头戴式显示设备,所述头戴式显示设备具有耦合到所述至少一个处理器并且被配置为显示所述影像的至少一个显示面板。
实施例16是一种方法,包括:在第一存储设备处存储第一光场,所述第一光场包括图像的二维阵列,每个图像包括图像图块的相应二维阵列;以及由至少一个第一处理器压缩所述第一光场以产生第二光场,所述第二光场包括所述第一光场的压缩表示,其中,压缩所述第一光场包括基于所消除的图像图块和所述光场的其他图像的相同图块位置中的图像图块之间的所识别的冗余(或例如低预测差异),从第二光场的包含物中选择性地消除所述第一光场的图像的图像图块。以这种方式,本公开解决了与数据处理、存储和传输有关的问题。所公开的方法和系统允许生成能够在现实世界实施方式中处理、存储和传输的压缩光场。这样的场景可以包括例如VR和AR场景。
实施例17是如实施例16所述的方法,其中,选择性地消除图像图块包括:将所述第一光场的图像的所述二维阵列组织成二叉树结构,其中,所述二叉树结构的每个节点表示图像的所述二维阵列的对应图像;以及对于所述二叉树结构的每个非叶节点:对于所述非叶节点处的图像的每个图像图块,响应于候选图像图块和所述非叶节点处的图像的图像图块之间的差异,从所述第二光场选择性地消除所述非叶节点的后代节点处的图像中位于相同图块位置的所述候选图像图块。
实施例18是如实施例17所述的方法,其中,确定所述差异包括:确定由所述非叶节点处的图像的图像图块替换所述候选图像图块所导致的第一率失真;确定编码所述候选图像图块所导致的的第二率失真;当所述第一率失真不大于所述第二率失真时,将所述候选图像图块包括在所述第二光场中;以及当所述第一率失真大于所述第二率失真时,从所述第二光场消除所述候选图像图块。这种率失真信息可以指示提供具有特定失真水平的压缩光场所需的数据量。
实施例19是如实施例17或18所述的方法,进一步包括:由所述至少一个第一处理器确定用于所述非叶节点处的图像的图像图块的差异导数矢量,所述差异导数矢量包括指定如何根据所述二维阵列中的所述非叶节点处的所述图像与后代节点处的所述图像之间的位置关系,通过在一个或多个维度上所述非叶节点处的所述图像的对应移位来重构在所述非叶节点的所述后代节点处的图像的所消除的图像图块的一个或多个差异导数;以及将所述图像图块的差异导数矢量存储到所述第二光场。
实施例20是如实施例16至19中任一项所述的方法,进一步包括:由至少一个第二处理器识别用于在渲染表示由所述第二光场表示的场景的视图的影像中使用的所述二维阵列的一个或多个图像的一个或多个图像图块的集合;以及响应于确定所述一个或多个图像图块的集合包括从所述第二光场中的第一图像中消除的第一图像图块,由所述至少一个第二处理器使用位于具有所述第一图像的节点的祖先节点处的所述第二光场中的第二图像并且使用为与所述第一图像图块具有相同图块位置的第二图像的第二图像图块存储的差异导数矢量,重构所述第一图像图块。
实施例21是如实施例20所述的方法,其中,重构所述第一图像图块包括:基于所述差异导数矢量,相对于表示所述第一图像图块的图块位置的边界的重构窗口,移位包括所述第二图像图块和一个或多个维度中的至少一个其他图像图块的所述第二图像的一部分;以及将移位所述第二图像的所述部分后被包含在所述重构窗口内的像素设置为所述第一图像图块的重构表示。
实施例22是如实施例20或21所述的方法,进一步包括:由所述至少一个第二处理器使用所述一个或多个图像图块的集合来渲染所述影像。
实施例23是如实施例22所述的方法,进一步包括:提供所述影像以在头戴式显示设备的显示面板处显示。
实施例24是如实施例16至23中任一项所述的方法,进一步包括:使用基于运动搜索的编码过程,对所述第二光场的剩余图像图块进行编码。
实施例25是一种方法,包括:在存储设备处存储压缩光场,所述压缩光场包括具有图像的二维阵列的光场的压缩表示,每个图像包括图像图块的相应二维阵列,并且其中,已从所述压缩光场中至少消除所述图像图块的子集;以及由至少一个处理器识别用于在渲染表示由所述压缩光场表示的场景的视图的影像中使用的所述二维阵列的一个或多个图像的一个或多个图像图块的集合;以及响应于确定所述一个或多个图像图块的集合包括从所述压缩光场中的第一图像中消除的第一图像图块,由所述至少一个处理器使用被识别为用于所述第一图像的参考图像的压缩光场中的第二图像并且使用从用于与所述第一图像图块具有相同图块位置的第二图像的第二图像图块的压缩光场存取的第一差异导数矢量,重构所述第一图像图块,所述第一差异导数矢量包括指定如何根据所述二维阵列中的第一图像和所述第二图像之间的位置关系通过在一个或多个维度上的所述第二图像的对应移位来重构所述第一图像图块的一个或多个差异导数矢量。以这种方式,本公开解决了与数据处理、存储和传输有关的问题。所公开的方法和系统允许生成能够在现实世界实施方式中处理、存储和传输的压缩光场。这样的场景可以包括例如VR和AR场景。
实施例26是如实施例25所述的方法,其中,重构所述第一图像图块包括:基于所述第一差异导数矢量,相对于表示所述第一图像图块的图块位置的边界的重构窗口,在一个或多个维度中移位包括所述第二图像图块和所述第二图像的至少一个其他图像图块的所述第二图像的一部分;以及将移位所述第二图像的所述部分后被包含在所述重构窗口内的像素设置为所述第一图像图块的重构表示。
实施例27是如实施例25或26所述的方法,进一步包括:响应于确定已经从所述压缩光场中的所述第二图像中消除所述第二图像的所述部分的所述第二图像图块,使用被识别为用于所述第二图像的参考图像的压缩光场中的第三图像并且使用针对与所述第二图像图块具有相同图块位置的所述第三图像的参考图像图块的从所述压缩光场存取的第二差异导数矢量,重构所述第二图像图块,所述第二差异导数矢量包括指定如何根据所述二维阵列中的所述第二图像和所述第三图像之间的位置关系通过在一个或多个维度上的所述第三图像的对应移位来重构所述第二图像图块的一个或多个差异导数矢量。
实施例28是如实施例25至27中任一项所述的方法,进一步包括:由所述至少一个处理器使用所述一个或多个图像图块的集合来渲染所述影像。
实施例29是如实施例28所述的方法,进一步包括:提供所述影像以在头戴式显示设备的显示面板处显示。
即使没有明确指出,任何上述实施例也可以以任何组合使用。此外,上述实施例可以以任何顺序组合任意多次。例如,可以在执行差异预测替换之前,在执行差异预测替换之后,或者在执行差异预测替换之前和之后,执行差异补偿预测。此外,可以组合所述方法和系统中的任何方法和系统。

Claims (25)

1.一种系统,包括:
用于存储第一光场的第一存储设备,所述第一光场包括图像的二维阵列,每个图像包括图像图块的对应二维阵列;
用于存储第二光场的第二存储设备,所述第二光场包括所述第一光场的压缩表示;以及
至少一个第一处理器,所述至少一个第一处理器被配置为基于所消除的图像图块和所述光场的其他图像的相同图块位置中的图像图块之间的所识别的冗余,从所述第二光场中的包含物中选择性地消除所述第一光场的图像的图像图块,
其中,所述至少一个第一处理器被配置为通过下述操作来选择性地消除图像图块:
将所述第一光场的图像的所述二维阵列组织成二叉树结构,其中,所述二叉树结构的每个节点表示图像的所述二维阵列的对应图像;以及
对于所述二叉树结构的每个非叶节点:
对于所述非叶节点处的所述图像的每个图像图块,响应于候选图像图块和所述非叶节点处的所述图像的所述图像图块之间的差异,从所述第二光场中选择性地消除所述非叶节点的后代节点处的图像中位于相同图块位置的所述候选图像图块。
2.如权利要求1所述的系统,其中,所述至少一个第一处理器被配置为通过下述操作来确定所述差异:
确定第一率失真,所述第一率失真是用所述非叶节点处的所述图像的所述图像图块替换所述候选图像图块所导致的;
确定第二率失真,所述第二率失真是对所述候选图像图块进行编码所导致的;
当所述第一率失真不大于所述第二率失真时,将所述候选图像图块包括在所述第二光场中;以及
当所述第一率失真大于所述第二率失真时,从所述第二光场中消除所述候选图像图块。
3.如权利要求1所述的系统,其中,所述至少一个第一处理器进一步被配置为:
确定所述非叶节点处的所述图像的所述图像图块的差异导数矢量,所述差异导数矢量包括一个或多个差异导数,所述一个或多个差异导数指定如何根据所述二维阵列中的所述非叶节点处的所述图像与后代节点处的所述图像之间的位置关系,通过在一个或多个维度中的所述非叶节点处对应移位所述图像来在所述非叶节点的所述后代节点处重构图像的所消除的图像图块;以及
将所述图像图块的所述差异导数矢量存储到所述第二光场。
4.如权利要求1至3中任一项所述的系统,进一步包括:
至少一个第二处理器,被配置为:
识别用于在渲染表示由所述第二光场表示的场景的视图的影像中使用的所述二维阵列的一个或多个图像的一个或多个图像图块的集合;以及
响应于确定所述一个或多个图像图块的集合包括从所述第二光场中的第一图像中所消除的第一图像图块,使用所述第二光场中的第二图像并且使用被存储用于所述第二图像的第二图像图块的差异导数矢量来重构所述第一图像图块,所述第二图像位于具有所述第一图像的节点的祖先节点处,所述第二图像图块与所述第一图像图块具有相同图块位置。
5.如权利要求4所述的系统,其中,所述至少一个第二处理器被配置为通过下述操作来重构所述第一图像图块:
基于所述差异导数矢量,相对于表示所述第一图像图块的图块位置的边界的重构窗口,来在一个或多个维度中移位部分的所述第二图像,所述部分的所述第二图像包括所述第二图像图块和至少一个其他图像图块;以及
将在移位所述部分的所述第二图像之后被包含在所述重构窗口内的像素设置为所述第一图像图块的重构表示。
6.如权利要求4所述的系统,其中,所述至少一个第二处理器进一步被配置为使用所述一个或多个图像图块的集合来渲染所述影像。
7.如权利要求4所述的系统,进一步包括:
用于显示所述影像的至少一个显示面板。
8.如权利要求7所述的系统,进一步包括:
包括所述至少一个显示面板的头戴式显示设备。
9.如权利要求1至3中任一项所述的系统,其中,所述至少一个第一处理器进一步被配置为使用基于运动搜索的编码过程,来对所述第二光场的剩余图像图块进行编码。
10.一种系统,包括:
用于存储压缩光场的存储设备,所述压缩光场包括具有图像的二维阵列的光场的压缩表示,每个图像包括图像图块的对应二维阵列,并且其中,所述图像图块的至少子集已从所述压缩光场中消除;以及
至少一个处理器,所述至少一个处理器耦合到所述存储设备并且被配置为:
识别用于在渲染表示由所述压缩光场表示的场景的视图的影像中使用的所述二维阵列的一个或多个图像的一个或多个图像图块的集合;以及
响应于确定所述一个或多个图像图块的集合包括从所述压缩光场中的第一图像中所消除的第一图像图块,使用所述压缩光场中的第二图像并且使用第一差异导数矢量来重构所述第一图像图块,所述第二图像被识别为所述第一图像的参考图像,所述第一差异导数矢量是从与所述第一图像图块具有相同图块位置的所述第二图像的第二图像图块的所述压缩光场存取的,所述第一差异导数矢量包括一个或多个差异导数,所述一个或多个差异导数指定如何根据所述二维阵列中的第一图像和所述第二图像之间的位置关系,通过在一个或多个维度中对应移位所述第二图像来重构所述第一图像图块,
其中,所述至少一个处理器还被配置为通过以下操作来重构所述第一图像图块:
基于所述第一差异导数矢量,相对于表示所述第一图像图块的图块位置的边界的重构窗口,在一个或多个维度中移位部分的所述第二图像,所述部分的所述第二图像包括所述第二图像图块和所述第二图像的至少一个其他图像图块;以及
将在移位所述部分的所述第二图像之后被包含在所述重构窗口内的像素设置为所述第一图像图块的重构表示。
11.如权利要求10所述的系统,其中,所述至少一个处理器还被配置为:
响应于确定已经从所述压缩光场中的所述第二图像中消除所述部分的所述第二图像的所述第二图像图块,使用所述压缩光场中的第三图像并且使用第二差异导数矢量来重构所述第二图像图块,所述第三图像被识别为所述第二图像的参考图像,所述第二差异导数矢量是从与所述第二图像图块具有相同图块位置的所述第三图像的参考图像图块的所述压缩光场存取的,所述第二差异导数矢量包括一个或多个差异导数,所述一个或多个差异导数指定如何根据所述二维阵列中的所述第二图像和所述第三图像之间的位置关系,通过在一个或多个维度中对应移位所述第三图像来重构所述第二图像图块。
12.如权利要求10或11所述的系统,其中,所述至少一个处理器进一步被配置为渲染所述影像。
13.如权利要求12所述的系统,进一步包括:
头戴式显示设备,所述头戴式显示设备具有至少一个显示面板,所述至少一个显示面板耦合到所述至少一个处理器并且被配置为显示所述影像。
14.一种方法,包括:
在第一存储设备处存储第一光场,所述第一光场包括图像的二维阵列,每个图像包括图像图块的对应二维阵列;以及
由至少一个第一处理器压缩所述第一光场以产生第二光场,所述第二光场包括所述第一光场的压缩表示,其中,压缩所述第一光场包括基于所消除的图像图块和所述光场的其他图像的相同图块位置中的图像图块之间的所识别的冗余,从所述第二光场中的包含物中选择性地消除所述第一光场的图像的图像图块,
其中,选择性地消除图像图块包括:
将所述第一光场的图像的所述二维阵列组织成二叉树结构,其中,所述二叉树结构的每个节点表示图像的所述二维阵列的对应图像;以及
对于所述二叉树结构的每个非叶节点:
对于所述非叶节点处的所述图像的每个图像图块,响应于候选图像图块和所述非叶节点处的所述图像的所述图像图块之间的差异,从所述第二光场中选择性地消除所述非叶节点的后代节点处的图像中位于相同图块位置的所述候选图像图块。
15.如权利要求14所述的方法,其中,确定所述差异包括:
确定第一率失真,所述第一率失真是用所述非叶节点处的所述图像的所述图像图块替换所述候选图像图块所导致的;
确定第二率失真,所述第二率失真是对所述候选图像图块进行编码所导致的;
当所述第一率失真不大于所述第二率失真时,将所述候选图像图块包括在所述第二光场中;以及
当所述第一率失真大于所述第二率失真时,从所述第二光场中消除所述候选图像图块。
16.如权利要求14所述的方法,进一步包括:
由所述至少一个第一处理器确定所述非叶节点处的所述图像的所述图像图块的差异导数矢量,所述差异导数矢量包括一个或多个差异导数,所述一个或多个差异导数指定如何根据所述二维阵列中的所述非叶节点处的所述图像与后代节点处的所述图像之间的位置关系,通过在一个或多个维度中的所述非叶节点处对应移位所述图像来在所述非叶节点的所述后代节点处重构图像的所消除的图像图块;以及
将所述图像图块的所述差异导数矢量存储到所述第二光场。
17.如权利要求14至16中任一项所述的方法,进一步包括:
由至少一个第二处理器识别用于在渲染表示由所述第二光场表示的场景的视图的影像中使用的所述二维阵列的一个或多个图像的一个或多个图像图块的集合;以及
响应于确定所述一个或多个图像图块的集合包括从所述第二光场中的第一图像中所消除的第一图像图块,由所述至少一个第二处理器使用所述第二光场中的第二图像(1300,1400)并且使用被存储用于所述第二图像的第二图像图块的差异导数矢量,由所述至少一个第二处理器来重构所述第一图像图块,所述第二图像位于具有所述第一图像的节点的祖先节点处,所述第二图像图块与所述第一图像图块具有相同图块位置。
18.如权利要求17所述的方法,其中,重构所述第一图像图块包括:
基于所述差异导数矢量,相对于表示所述第一图像图块的图块位置的边界的重构窗口,来在一个或多个维度中移位部分的所述第二图像,所述部分的所述第二图像包括所述第二图像图块和至少一个其他图像图块;以及
将在移位所述部分的所述第二图像之后被包含在所述重构窗口内的像素设置为所述第一图像图块的重构表示。
19.如权利要求17所述的方法,进一步包括:
由所述至少一个第二处理器使用所述一个或多个图像图块的集合来渲染所述影像。
20.如权利要求19所述的方法,进一步包括:
提供所述影像以用于在头戴式显示设备的显示面板处显示。
21.如权利要求14至16中任一项所述的方法,进一步包括:
使用基于运动搜索的编码过程,来对所述第二光场的剩余图像图块进行编码。
22.一种方法,包括:
在存储设备处存储压缩光场,所述压缩光场包括具有图像的二维阵列的光场的压缩表示,每个图像包括图像图块的对应二维阵列,并且其中,所述图像图块的至少子集已从所述压缩光场中消除;以及
由至少一个处理器识别用于在渲染表示由所述压缩光场表示的场景的视图的影像中使用的所述二维阵列的一个或多个图像的一个或多个图像图块的集合;以及
响应于确定所述一个或多个图像图块的集合包括从所述压缩光场中的第一图像中消除的第一图像图块,由所述至少一个处理器使用所述压缩光场中的第二图像并且使用第一差异导数矢量来重构所述第一图像图块,所述第二图像被识别为所述第一图像的参考图像,所述第一差异导数矢量是从与所述第一图像图块具有相同图块位置的所述第二图像的第二图像图块的所述压缩光场存取的,所述第一差异导数矢量包括一个或多个差异导数,所述一个或多个差异导数指定如何根据所述二维阵列中的第一图像和所述第二图像之间的位置关系,通过在一个或多个维度中对应移位所述第二图像来重构所述第一图像图块,
其中,重构所述第一图像图块包括:
基于所述第一差异导数矢量,相对于表示所述第一图像图块的图块位置的边界的重构窗口,来在一个或多个维度中移位部分的所述第二图像,所述部分的所述第二图像包括所述第二图像图块和所述第二图像的至少一个其他图像图块;以及
将在移位所述部分的所述第二图像之后被包含在所述重构窗口内的像素设置为所述第一图像图块的重构表示。
23.如权利要求22所述的方法,进一步包括:
响应于确定已经从所述压缩光场中的所述第二图像中消除所述部分的所述第二图像的所述第二图像图块,使用所述压缩光场中的第三图像并且使用第二差异导数矢量来重构所述第二图像图块,所述第三图像被识别为所述第二图像的参考图像,所述第二差异导数矢量是从与所述第二图像图块具有相同图块位置的所述第三图像的参考图像图块的所述压缩光场存取的,所述第二差异导数矢量包括一个或多个差异导数,所述一个或多个差异导数指定如何根据所述二维阵列中的所述第二图像和所述第三图像之间的位置关系,通过在一个或多个维度中对应移位所述第三图像来重构所述第二图像图块。
24.如权利要求22或23所述的方法,进一步包括:
由所述至少一个处理器使用所述一个或多个图像图块的集合来渲染所述影像。
25.如权利要求24所述的方法,进一步包括:
提供所述影像以用于在头戴式显示设备的显示面板处显示。
CN201780070295.1A 2016-12-12 2017-09-27 用于光场压缩和解压缩的系统和方法 Active CN109937573B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/376,083 2016-12-12
US15/376,083 US10373384B2 (en) 2016-12-12 2016-12-12 Lightfield compression using disparity predicted replacement
PCT/US2017/053620 WO2018111373A1 (en) 2016-12-12 2017-09-27 Lightfield compression using disparity predicted replacement

Publications (2)

Publication Number Publication Date
CN109937573A CN109937573A (zh) 2019-06-25
CN109937573B true CN109937573B (zh) 2023-04-11

Family

ID=60138924

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780070295.1A Active CN109937573B (zh) 2016-12-12 2017-09-27 用于光场压缩和解压缩的系统和方法

Country Status (4)

Country Link
US (1) US10373384B2 (zh)
EP (1) EP3552396A1 (zh)
CN (1) CN109937573B (zh)
WO (1) WO2018111373A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019123547A1 (ja) * 2017-12-19 2019-06-27 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、基準画像データ生成装置、画像生成方法、および基準画像データ生成方法
EP3761647A1 (en) * 2019-07-05 2021-01-06 Tiledmedia B.V. Methods and devices for rendering a video on a display
US11012714B1 (en) * 2020-06-23 2021-05-18 Google Llc Image coding using lexicographic coding order with floating block-partitioning
KR20220156331A (ko) * 2021-05-18 2022-11-25 삼성전자주식회사 이미지 지연을 보정하기 위한 전자 장치 및 방법
CN114913101B (zh) * 2022-04-15 2023-08-15 武汉工程大学 多光谱光场重建方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6476805B1 (en) * 1999-12-23 2002-11-05 Microsoft Corporation Techniques for spatial displacement estimation and multi-resolution operations on light fields
CN102184008A (zh) * 2011-05-03 2011-09-14 北京天盛世纪科技发展有限公司 互动投影系统及方法
CN106068645A (zh) * 2014-01-10 2016-11-02 奥斯坦多科技公司 用于全视差压缩光场3d成像系统的方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6097394A (en) * 1997-04-28 2000-08-01 Board Of Trustees, Leland Stanford, Jr. University Method and system for light field rendering
US6502097B1 (en) * 1999-12-23 2002-12-31 Microsoft Corporation Data structure for efficient access to variable-size data objects
EP1264281A4 (en) * 2000-02-25 2007-07-11 Univ New York State Res Found ARRANGEMENT AND METHOD FOR PROCESSING AND PLAYING A VOLUME
US6693964B1 (en) 2000-03-24 2004-02-17 Microsoft Corporation Methods and arrangements for compressing image based rendering data using multiple reference frame prediction techniques that support just-in-time rendering of an image
US20040114807A1 (en) 2002-12-13 2004-06-17 Dan Lelescu Statistical representation and coding of light field data
US8155456B2 (en) 2008-04-29 2012-04-10 Adobe Systems Incorporated Method and apparatus for block-based compression of light-field images
CN106231337B (zh) * 2010-04-13 2020-06-19 Ge视频压缩有限责任公司 解码器、解码方法、编码器以及编码方法
HU1000640D0 (en) 2010-11-29 2011-02-28 Holografika Hologrameloeallito Fejlesztoe Es Forgalmazo Kft Image coding and decoding method and apparatus for efficient encoding and decoding of 3d field content
US20120294374A1 (en) 2011-05-17 2012-11-22 Amir Said Conditional replenishment for three-dimensional images with block-based spatial thresholding
US20150243035A1 (en) * 2014-02-21 2015-08-27 Metaio Gmbh Method and device for determining a transformation between an image coordinate system and an object coordinate system associated with an object of interest
US9414087B2 (en) * 2014-04-24 2016-08-09 Lytro, Inc. Compression of light field images
US9712820B2 (en) * 2014-04-24 2017-07-18 Lytro, Inc. Predictive light field compression
EP3170047A4 (en) 2014-07-15 2018-05-30 Ostendo Technologies, Inc. Preprocessor for full parallax light field compression
NZ773812A (en) * 2015-03-16 2022-07-29 Magic Leap Inc Methods and systems for diagnosing and treating health ailments
US9900510B1 (en) * 2016-12-08 2018-02-20 Lytro, Inc. Motion blur for light-field images

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6476805B1 (en) * 1999-12-23 2002-11-05 Microsoft Corporation Techniques for spatial displacement estimation and multi-resolution operations on light fields
CN102184008A (zh) * 2011-05-03 2011-09-14 北京天盛世纪科技发展有限公司 互动投影系统及方法
CN106068645A (zh) * 2014-01-10 2016-11-02 奥斯坦多科技公司 用于全视差压缩光场3d成像系统的方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Efficient Prediction Structures for Multiview Video Coding;Philipp Merkle等;《IEEE Transactions on Circuits and Systems for Video Technology》;20071130;第17卷(第11期);全文 *
Joint directional-positional multiplexing for light field acquisition by Kronecker compressed sensing;Qiang Yao等;《2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)》;20150806;全文 *
Overview of the H.264/AVC video coding standard;T. Wiegand等;《IEEE Transactions on Circuits and Systems for Video Technology》;20030731;第13卷(第7期);全文 *
一种基于压缩传感的光场采集与重建方法;王晶一等;《计算机与现代化》;20150430;第4卷;全文 *

Also Published As

Publication number Publication date
US10373384B2 (en) 2019-08-06
EP3552396A1 (en) 2019-10-16
CN109937573A (zh) 2019-06-25
US20180165880A1 (en) 2018-06-14
WO2018111373A1 (en) 2018-06-21

Similar Documents

Publication Publication Date Title
CN109937573B (zh) 用于光场压缩和解压缩的系统和方法
US11166048B2 (en) Method and apparatus for video coding
US10339701B2 (en) Method, system and apparatus for generation and playback of virtual reality multimedia
US11595630B2 (en) Depth codec for real-time, high-quality light field reconstruction
JP4166679B2 (ja) 3次元オブジェクトデータの符号化及び復号化方法、並びに、その装置
CN110024002B (zh) 用于根据光场渲染视图的方法和系统
US20150271522A1 (en) Method, program and apparatus for reducing data size of a plurality of images containing mutually similar information, and data structure representing a plurality of images containing mutually similar information
JP7371691B2 (ja) ホモグラフィ変換を使用した点群符号化
JP7440546B2 (ja) ポイントクラウドデータ処理装置及び方法
JP3592168B2 (ja) 画像データの符号化復号化方法及び装置
EP4325853A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
Fan et al. Deep geometry post-processing for decompressed point clouds
EP2953357A1 (en) Video encoding method, decoding method and apparatus
US11973981B2 (en) Coding and decoding of an omnidirectional video
EP4325851A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US10375398B2 (en) Lightfield compression for per-pixel, on-demand access by a graphics processing unit
US20230328270A1 (en) Point cloud data transmission device, point cloud data transmission method, point coud data reception device, and point cloud data reception method
KR102677403B1 (ko) 비디오 기반 포인트 클라우드 코딩을 위한 고속 패치 생성
US20240029311A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
JP2024533801A (ja) コーデック方法、符号化装置、復号化装置、および記憶媒体
WO2023107868A1 (en) Adaptive attribute coding for geometry point cloud coding
KR20230162687A (ko) 메시 압축을 위한 경계 uv2xyz 인덱스의 예측 코딩
KR20240130753A (ko) 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치
KR20240148896A (ko) 메시 패치 세분화
JP2024538684A (ja) ハイブリッドディープエントロピー符号化を使用する点群圧縮のための方法及び装置

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