用于对光场图像进行基于块的压缩的方法和设备的制作方法

文档序号:7707734阅读:174来源:国知局
专利名称:用于对光场图像进行基于块的压缩的方法和设备的制作方法
技术领域
本发明涉及对光场图像的处理,更具体,涉及用于对光场图Y象 进行基于块的压缩的方法和设备。
背景技术
传统照相机不能捕获大量的光学信息。具体地,传统照相机不
能捕获关于光圈(aperture)上位置的信息,其中光圈是不同光线进 入照相机的地方。在操作期间,传统数码照相机捕获代表打在照相 机中的光敏元件上的每个点的总光量的二维(2D)图像。然而,此
像素处的方向信息对应于光圏处的位置信息。
相反,光场照相机对四维(4D)光学相位空间或光场进行采样, 并且在这样做时,捕获关于光线的方向分布的信息。光场照相机捕 获的这种信息可以称为光场、全光函数或者辐射率。在计算摄影中, 光场是3D中所有光线的4D记录。辐射率描述空间信息和角度信息 两者,并且辐射率被定义为每立体角度(以弧度为单位)、每单位 面积的能量的密度。光场照相机捕获辐射率;因此,最初失焦获取 的光场图像可以重新聚焦,噪声可以被降低,视角可以改变,并且 可以获得其他光场效果。
可以利用传统照相4几捕获光场。在一个传统方法中,利用传统 照相机从不同位置捕获场景的MxN个图像。例如,如果从64个不 同位置捕获8x8图像,则产生64个图像。从每个图像中的每个位 置(i,j)取得像素,并将其置于块中,以生成64个块。
图1A示出了示例性的现有技术的光场照相机,或者照相机阵 列,该阵列使用了两个或更多物镜110的阵列。每个物镜聚焦于光敏元件108的特定区域,或者备选地聚焦于单独的光敏元件108上。 此光场照相机100可以视为两个或更多传统照相机的组合,其中每 一个照相机同时将对象的图像记录在光敏元件108的特定区域上, 或者备选地记录在特定光敏元件108上。捕获的图像随后可以被组 合以形成一个图像。
图1B示出了示例性的现有技术全光照相机,其是另一种类型的 光场照相机,并且使用单个物镜和显微透镜或小透镜阵列106,该阵 列例如包括约100, 000个小透镜。小透镜阵列106通常与光敏元件 108 (例如,电荷耦合器件(CCD))相距较短距离(约0.5mm)。 全光照相机102捕获的原始图像由主照相机透镜108的小图像(通 常是圆形的)的阵列组成。这些小图像可以称为微图像。小透镜阵 列106支持全光照相机102以捕获光场,即,不仅记录图像强度, 而且记录每个点处不同方向上的强度分布。每个小透镜将从主透镜 104进入的光束分裂成来自于主透镜108的光圈上不同"针孔"位置的 射线。这些射线的每一个被记录为光敏元件108上的像素,并且每 个小透镜下的像素共同形成n像素图像。每个小透镜下的此n像素 区可以称为宏像素,并且照相机102在每个宏像素处生成微图像。 具有例如100, 000个小透镜的照相机102捕获的全光照片将包含 100, OOO个宏像素,并且因而生成对象的100, OOO个微图像。例如, 参见图2。通过适当地从每个宏像素选择像素,可以从宏像素处捕获 的对象的微图像创建对象的传统图片。
从光场照相机(包括全光照相机)捕获的光场通常保存为2D图 像,该2D图像包含"片段(tile)"或"微图像"的阵列。光场图像的压 缩对于计算摄影是重要的问题。归因于光场的4D性质,以及光场的 2D片等同于传统图片这样的事实,未压缩的文件趋向于较大,并且 可能占据数千兆字节的空间。同时,数据中存在冗余从一个表面 点开始的所有射线具有近似相同的辐射率(对于朗伯(Lambertian) 表面,是完全相同)。这样,存在对光场图像进行压缩的动机。
传统上,已经使用现有的有损耗的和无损耗的图像/视频压缩技术对光场图像进行压缩。某些传统方式将光场图像中的2D片视为单 独的图像,并对每一个单独进行压缩。在其他方式中,4D光场图像 包含在一个2D图像中,其由传统方法简单压缩为一个图像。这些方 式并未利用光场图像特有的信息和冗余,而是将它们视为 一 般的图像。
已经提出了若干方式来专门压缩光场图像。某些传统方法将4D 光场图像中的每个2D片视为视频中的帧。换言之,4D光场图像中 的2D角度图像被用于创建视频,并且此视频使用视频压缩方法进行 压缩。然而,利用光场专用压缩技术压缩的光场图像通常需要特定 的查看器来查看光场图像。
JPEG是常见的传统图像压缩标准。JPEG代表联合图像专家组, 即创建JPEG标准的委员会的名称。JPEG是基于块的压缩技术的示 例。JPEG将图像分成8 x 8的像素块,或者更一般地,基于块的压 缩技术将图像划分成wx w的像素块,并使用某个变换函数来压缩这 些块。公知的是,由于将图像划分成块,JPEG和其他基于块的压缩 技术存在生成"分块赝像"的问题,其中压缩后的图像看起来是由块 组成的,或者具有其他引入的垂直赝像/水平赝像(例如,垂直线或 水平线、不连贯或者条紋)。
JPEG标准和其他基于块的压缩技术可以用来直接压缩光场图 像,而无须考虑光场数据的细节。然而,归因于光场图像的准周期 特性和压缩的块状性质,结果趋向于较差,包括明显的分块赝像。 这种分块赝像可以严重地损坏光场图像中的角度信息,并且因此可 能限制使用这些图像可以达到的水平和垂直视差。
图2示出了利用全光照相机(例如,图1B示出的全光照相机102 ) 捕获的光场图像200。来自于图像200的展开的区域202示出了光场 图像200由很多单独的宏像素组成,每个宏像素包括圆形微图像。 区域202示出了没有压缩的、捕获到的光场数据。区域204示出了 在将JPEG压缩应用至图像200之后的、来自于图像200的同 一 区域 的光场数据。JPEG压缩引入的分块赝像例如在展开的子区域206中
7示出的16个宏像素的微图像中清晰可见。图像208示出了未压缩的 同一子区域,以用于比较。
然而,通常,利用传统光场专用方法压缩的光场不能利用传统 的和较通用的图像查看器来打开和查看。不具有光场查看应用的用 户可能希望能够利用传统的图像查看器(诸如可以查看JPEG压缩的 图像的图像查看器)来预览光场的简单2D表示。

发明内容
描述了用于对光场图像进行基于块的压缩的方法和设备的实施 方式。实施方式可以将光场图像预先处理为与基于块的压缩技术(例 如,JPEG压缩标准)的分块机制兼容的格式,其中该基于块的压缩 技术用于执行对光场图像的实际压缩。用于对光场图像进行基于块 的压缩的方法的实施方式可以实现为工具、模块、库函数、插件、 单机应用等,或者可以在这些中实现。为了简化,实施方式的实现 在此可以称为光场预处理模块。
光场预处理模块的实施方式可以将捕获的光场图像转换成适当 的格式,使得不在最终的压缩图像中引入基于块的压缩(例如,JPEG) 的分块赝像。光场预处理模块将捕获的光场图像中的角度数据再整 形为与正在使用的基于块的压缩技术的分块机制兼容的形状(例如, 对于JPEG而言,大小为8x8、 16x16等的正方形),使得得到的光 场图像适合于压缩技术的分块机制。例如,如果使用了 JPEG,则JPEG 块边界变成了光场中角度图像的自然边界。
实施方式可以产生压缩的2D图像,对于该2D图像,不需要专 门的光场图像查看器来预览整个光场图像。全部的光场信息被包含 在一个2D图像中,其可以通过传统的基于块的压缩技术(例如, JPEG)以快速且鲁棒的方式进行压缩,并且最终的压缩图像并不包 含在不使用此处描述的预处理的情况下对光场进行压缩可能产生的 分块赝像。换言之,实施方式提供了在最终的压缩光场中无分块赝 像的高性能压缩。在实施方式中,由光场预处理模块获得捕获的光场图像。捕获 的光场图像由光场预处理模块进行预处理,以产生块大小和形状都 与将要用来压缩光场图像的基于块的压缩技术兼容的预处理光场图 像。在一个实施方式中,如果针对光场照相机的校准图像可用,则 照相机捕获的光场图像可以使用校准图像进行正则化。预处理过的 光场图像随后由压缩引擎进行压缩,以生成经过压缩的光场图像, 该压缩引擎实现基于块的压缩技术。经过压缩的光场图像例如可以
存储到存储介质中,存储介质诸如系统存储器、盘驱动器、DVD、 CD等。经过压缩的光场图像可以使用被配置用以打开并查看通过基 于块的压缩技术生成的图像的任何应用,进行查看或以其他方式进 行操纵。例如,如果使用了 JPEG压缩,则可以使用能够打开并显示 JPEG文件的任何应用,查看经过压缩的光场图^f象。


图1A示出了示例性的现有技术的光场照相机,或者照相机阵 列,其使用两个或更多物镜的阵列。
图1B示出了示例性的现有技术的全光照相机,其使用单个物镜 和显微透镜阵列。
图2示出了利用全光照相机(例如,图1B示出的全光照相机) 捕获的光场图像,并且示出了当利用基于块的压缩技术压缩原始图 像时可能产生的分块赝像。
图3A和图3B示出了根据一个实施方式的、在使用基于块的压 缩技术进行压缩之前,对示例性光场图像进行的预处理。
图4示出了利用全光照相机(例如,图1B示出的全光照相机) 捕获的示例性光场图像。
图5是根据一个实施方式的、示出了光场预处理和压缩方法中 的数据流的高层框图。
图6是根据一个实施方式的、用于在对光场图像进行基于块的 压缩之前,对来自光场图像的宏像素或块进行预处理的方法流程图。图7示出了针对全光光场照相机的示例性校准图像。 图8A示出了根据一个实施方式的、使用拉普拉斯(Laplacian) 插值的示例性插值方法。
图8B示出了可以在实施方式中^f吏用的示例性巻积内核。 图9A示出了根据一个实施方式的、对利用光场成像系统(诸如, 图1B的全光照相机)捕获的光场图像的预处理,在该光场成像系统 中,在主透镜的后面使用显微透镜。
图9B示出了根据一个实施方式的、对利用光场成像系统(诸如, 图1A的光场照相机)捕获的光场图像的预处理。
图10示出了可以在实施方式中使用的示例性计算机系统。 尽管通过示例针对若干实施方式和示例性附图在此描述了本发 明,但是本领域技术人员将会理解,本发明并不限于描述的实施方 式或附图。应当理解的是,附图和具体实施方式
并不意在将本发明 限制于所公开的特定形式,相反,意在覆盖落入本发明精神和范围 的所有改进、等同物和替代物。在此使用的标题仅出于组织目的, 而不意在用于限制本描述的范围。如在本申请全文中使用的,词汇 "可以,,是在许可意义上(即,意思是有可能)使用的,而不是强制 的意义上(即,意思是必须)使用的。类似地,词语"包括"、"包含" 和"含有"的意思是包括,但不限于。
具体实施例方式
描述了对光场图像进行基于块的压缩的方法和设备的各种实施 方式。实施方式可以将光场图像预处理为与基于块的压缩技术(例 如,JPEG压缩标准)的分块机制兼容的格式,其中该基于块的压缩 技术用于对光场图像执行实际压缩。用于对光场图像进行基于块的 压缩的方法的实施方式可以实现为工具、模块、库函数、插件、单 机应用等,或者可以在这些中实现。为了简化,实施方式的实现在 此可以称为光场预处理模块。
光场预处理模块的实施方式可以将捕获的光场图像转换成适当的格式,使得不在最终的压缩图像中引入基于块的压缩(例如,JPEG) 的分块赝像。光场预处理模块将光场中的角度数据再整形为与正在 使用的基于块的压缩技术的分块机制兼容的形状(例如,对于JPEG 而言,大小为8x8、 16x16等的正方形),使得得到的光场图像适合 于压缩技术的分块4几制。例如,如果使用JPEG,则JPEG块边界变 成了光场中角度图像的自然边界。
实施方式可以产生压缩的2D图像,对于该2D图像,不需要专 门的光场图像查看器来预览整个光场图像。全光场信息被包含在一 个2D图像中,其通过传统的基于块的压缩才支术(例如,JPEG)以 快速且鲁棒的方式进行压缩,并且最终的压缩图像并不包含在不使 用此处描述的预处理的情况下对光场进行压缩可能产生的分块赝 像。换言之,实施方式提供了在最终的压缩光场中无分块赝像的高 性能压缩。
为了简化,在此通常将实施方式描述为将JPEG压缩标准用作 对光场预处理模块的实施方式生成的预处理过的光场图像进行压缩 的基于块的压缩技术。使用JPEG压缩标准的实施方式生成的经过压 缩的光场图像与传统JPEG标准向后兼容。使用JPEG压缩的实施方 式可以实现对光场图像的良好质量压缩,同时使得将经过压缩的光 场可以与简单2D图片一样,利用能打开和显示JPEG ( .jpg)文件的 任何应用进行查看。当使用JPEG压缩时,可以将经过压缩的光场输 出为2D JPEG ( .jpg )文件,并且因而可以利用能打开和显示.jpg文 件的任何应用来查看。然而,应当理解的是,实施方式并不限于将 JPEG压缩标准作为基于块的压缩技术,而是可以适用任何基于块的 压缩纟支术。
图3A和图3B示出了根据一个实施方式的、在使用基于块的压 缩技术进行压缩之前,对示例性光场图像进行的预处理。图3A示出 了由光场照相机(诸如图1的照相机100 )捕获的示例性4D光场300。 需要注意的是,4D光场是2D图像(来自于不同投影中心的视图) 的2D阵列。这些2D图像可以称为微图像。需要注意的是,每个微
ii图像中的信息是矩形的。在此示例中,阵列是6x6的,所以在光场 300中存在36个单独的图像,或微图像。
令给定2D微图像(例如,微图像302)中的像素位置为(i,j), 其中i = l...N以及j = l...M,其中N是2D微图像中像素的行号而 M是像素的列号。从36个微图像的每一个微图像取得像素(i,j),并 将其放入块Bij (参见块304)中。如果在光场300中存在m个水平 图像和n个垂直图^象,则此块初始为nxm个4象素。在此示例中,该 块将是6x6个像素。另外,存在NxM个块304。这NxM个块 304被置于一个图像中,使得光场的所有角度和空间信息都被包含在 这一个图像中(参见图3B的图像310)。如果使用维度为nxm的 初始块304,则得到的图像的大小将是(N x n) x (M x m)个像素。
然而,应该注意,块大小nxm不一定直接与基于块的压缩技术 (诸如,JPEG)的分块机制兼容。在此示例中,6x6个像素的块大 小并不直接与JPEG的典型压缩分块大小(8x8个像素)兼容。因 此,在此描述的光场预处理模块的实施方式可以对块304进行预处 理(如图3B的306所指示),以便产生与基于块的压缩技术的分块 机制兼容的维度为n'xm'的块308。在此示例中,块304被调整大小 为8x8个像素,以便与JPEG的分块机制兼容。调整过大小的NxM 块308随后可以置于图像310中。此图像310的大小为(Nxn')x(M xm')个像素。随后,可以使用基于块的压缩技术对图像310进行压 缩,而不会产生在图像310中使用初始不兼容维度的块304的情况 下可能产生的分块赝像。
在此示例中,块304的块大小n x m是6 x 6,这比基于块的压 缩技术的块大小(8x8)要小。在这种情况下,初始块304或区域 中的像素信息可以被插值,以填满新的更大的块308中的像素值。 可以使用各种插值技术中的任何一种。在一个实施方式中,例如, 可以使用拉普拉斯插值。
下面的情况也是可能的,即,在某些光场图像中,nxm(缺省 的或"原始"块大小)大于基于块的压缩技术使用的块大小。另外,n不是必须等于m。例如,nxm可以是11 x 14、或11 x 11、或9x 9、或8xl0、或21x21等。在某些基于块的压缩技术(诸如JPEG) 中,分块机制可以允许多种基础分块大小。例如,JPEG可以允许块 大小为8的倍数,诸如8x8、 16 x 16或32 x 32等。这样,在一个 实施方式中,基于块的压缩技术提供的下一更大的块大小可以用于 块308的块大小。例如,如果nxm是12x14,并且基于块的压缩 技术允许8 x 8或16 x 16的块大小,则16 x 16可以用于块308的大 小n' x m'。
备选地,如果n'xm'小于nxm,则可以简单地裁剪块306以 产生更小的块308。例如,如果nxm是10x10,而n'xm'是8x8, 则可以简单地将块306裁剪为8x8。需要注意的是,在某些光场图 像中,微图像中的边缘信息在任何情况下归因于用于捕获光场信息 的光场照相机的性质可能是有噪声的,所以可以在不丟失很多可用 光场信息的情况下对边缘像素进行裁剪。还要注意的是,微图像中 的像素越多,裁剪导致的负面影响(光场信息的丟失)越小。这样, 裁剪可能不能用在包括有限数量像素的微图像上,这样的微图像的 每个像素中的光场信息比具有更多像素的微图像的每个像素中的光 场信息更有价值。
以上描述了这样一种过程,借由该过程,光场预处理模块可以 在将块304放入图像310之前,将其调整为大小与基于块的压缩技 术的分块机制一致的块308。备选地,可以/人初始维度(nxm)的 块304形成图像,随后光场预处理模块可以在图像中的块304上重 复对每个块调整大小,以形成由大小与基于块的压缩技术的分块机 制一致的块308组成的新图像310。
在某些光场图像中,与每个微图像除了是图3A和图3B中示出 的矩形不同,在每个块或宏像素中记录的信息可以是代表照相机光 圏的圆形或者圆盘(称为微图像)。图4示出了利用全光照相机(例 如,图1B示出的全光照相机102)捕获的示例性光场图像400。区 域402示出了光场图像400的展开区域,并且来自展开区域402的宏像素404示出了示例性的圆形微图像。在一个实施方式中,并不 是像在图3A的图像300的情况下那样对每个宏像素404进行简单的 调整大小,光场预处理模块首先将圆形微图像再整形(例如,通过 裁剪)为矩形区或块,并随后将作为得到的块的大小调整为与基于 块的压縮机制的分块机制兼容(例如,对于JPEG压调整为是8 x 8 的块)。如果需要,块中的像素信息可以被插值,以产生新块中的 像素值。可以使用不同方法来得到具有与基于块的压缩技术的分块 机制兼容的大小的块。例如,假设正在使用JPEG压缩。如果从微图 像(块)裁剪的区小于8x8,则块被调整大小为8x8,其中利用插 值来产生像素值。如果块大于8x8但是小于16x 16,则块的大小可 以下调(例如,通过裁剪)为8x8,或者利用用于产生像素值的插 值而调整为16x 16。
一旦对微图像进行了裁剪,则裁剪过的块被调整为与基于块的 压缩技术的分块机制兼容的大小的块,调整过大小的块可以置于类 似于图3B的图像310的图像中。光场的角度和空间信息被包含在作 为结果的图像中。随后可以使用基于块的压缩技术来对作为结果的 图像进行压缩,而不会产生分块赝像,这是因为作为结果的图像的 块大小与在基于块的压缩机制的分块机制中使用的块大小相同。
图5是根据一个实施方式的、示出了光场预处理和压缩方法中 的数据流的高层框图。光场预处理模块502获得捕获的光场图像500 (例如,图3A的图像300,或者图4的图像400)。图像500由光 场预处理模块502进行预处理,以生成预处理过的光场图4象504,其 块大小与将用于压缩图像504的基于块的压缩技术兼容。在一个实 施方式中,如果针对光场照相机的校准图4象501可用,则照相机捕 获的光场图像500可以使用校准图像进行正则化。通常将捕获的光 场图像除以校准图像以正则化该图像。随后,由实现基于块的压缩 技术的压缩引擎506对图像504进行压缩,以生成经过压缩的光场 图像508。经过压缩的图像508例如可以存储在存储介质510中,诸 如系统存储器、盘驱动器、DVD、 CD等。经过压缩的光场图像508可以使用任何应用进行查看或以其他方式操纵,其中该任何应用被 配置以打开并查看基于块的压缩技术生成的图像。例如,如果使用
了 JPEG压缩,则可以使用能够打开并显示JPEG文件的任何应用来 查看图像508。
光场预处理模块502和压缩引擎506的实施方式可以实现在计 算机系统上。在图10中示出了实施方式可以在其上实现的示例性系 统。光场预处理模块502可以实现为工具、模块、库函数、插件、 单机应用等,或者可以在这些中实现。光场预处理模块502可以提 供用户接口 ,该用户接口提供一个或多个文本和/或图形用户接口部 件、模式或技术,用户经由其可以控制光场图像的预处理的各个方 面。例如,用户接口可以包括用户接口部件,这些用户4妄口部件允 许用户选择输入文件和输出文件、指定将使用的压缩技术、指定用 于预处理的图像504的块大小、指定是否对块进行放大(插值)或 缩小(裁剪),等等。
图6-图9更详细地示出了在对图像进行基于块的压缩之前,用 于对光场图像进行预处理的方法的实施方式,具体地,该预处理应 用于诸如图4中图像400之类的图像,其中在图像400中每个宏像 素包括圆形微图像。然而,需要注意的是,针对这些附图示出并描 述的至少某些预处理还可以应用在诸如图3A中图像300的之类图像 的预处理中,在图像300中,每个宏像素是矩形微图像。作为示例, 这些附图假设将要根据JPEG压缩标准进行基于块的压缩,以及在 JPEG压缩中使用的分块机制的块大小是8 x 8个像素。作为示例, 这些附图还假设微图像的部分将要被提取以及缩放或插值以便适 合于更大的块,以及将使用拉普拉斯插值技术。在各种实施方式中, 可以使用除JPEG之外的其他基于块的压缩技术,可以使用除8x8 个像素之外的块大小,以及可以使用包括其他插值技术的其他放大 方法。需要注意的是,在一个实施方式中,可以通过对输入微图像 的简单裁剪来进行缩小,以适合较小的块大小。
图6是根据一个实施方式的、用于在对光场图像进行基于块的压缩之前对来自光场图像的宏像素或块进行预处理的方法的流程
图。图6中示出的方法可以在诸如图5的模块502之类的光场预处
理模块中实现。
光场预处理模块502可以从需要被预处理的光场图像500获得 第一光场图像块602或宏像素。在此示例中,示例性块602约是20 x 20个像素。然而,光场预处理模块的实施方式可以被配置为与各种 大小的光场图像块602 —起工作,并且块602并不必须是正方形的, 甚至并不必须是矩形的,这是因为预处理方法的实施方式可以与其 他形状(诸如,六边形形状)的输入块一起工作。在此示例中,来 自于块602 (其是矩形的,并且约为20 x 20个像素)中的微图像的 光场信息需要适合于使用基于块的压缩技术(例如,JPEG)进行压 缩的8x8像素块。
在一个实施方式中,如果针对光场照相才几的才交准图^象501可用, 则照相机捕获的光场图像500可以使用校准图像进行正则化。通常 将捕获的光场图像除以校准图像以正则化该图像。这样,在一个实 施方式中,可以通过将光场图像块602除以来自于利用光场照相机 捕获的校准图像501的相应校准块600 ,将光场图像块602正则化(如 604处所示)。在对捕获的光场图像500进行预处理中,可以通过将 捕获的光场块602除以来自校准图像501的相应校准块600,而将图 像502中的每个块602正则化。在一个实施方式中,不是对整个块 602进行正则化,而是仅对包含圆形-微图像的区域正则化。
图7示出了用于全光光场照相机的示例性校准图像。校准图像 700是光场照相机(在此示例中,是诸如图1B中照相机102的全光 照相机)获取的全白场景的图像。参考照相机102,校准图像700 中较大的圆圏对应于物镜104的光圏,而大圆圈内的每一个小圆圏 或微图像对应于显微镜头阵列106中的具体的一个显微镜头或小镜 头的光圏。正则化过程可以改进每个显微镜头光圏圆圏的边界处的 质量,并且增强光场图像的整体外观,移除可能由光场设备(照相 机)引入的色彩偏差。色彩偏差位于微图形的边缘处,并且是由于显微透镜在边界处的衰减造成的。区域702示出了来自于校准图像
700的示例性展开区域,并且宏像素704示出了来自于区域702的示 例性展开宏像素或块以及其圆形微图像。
如果执行了正则化,则在正则化之后,块602被再整形以便获 得光场信息的矩形区。在某些光场图像500 (诸如图1B中所示全光 照相机102捕获的那些)中,记录的光场信息是每个块602中的圆 盘或圆形(代表照相机光圏),被称为微图像。此圆形光场信息需 要被再整形为大小与基于块的压缩技术的分块机制兼容的矩形区。 在一个实施方式中,这可以通过对块602中的微图像进行裁剪获得 较小的块而完成,如606处所示。在此示例中,裁剪606产生了光 场信息的5x5块608。在610处,裁剪过的块608的大小随后^皮调 整为压缩技术将使用的块大小,在此示例中是8x8,并且使用插值 技术填满8 x 8块中的像素值,以生成调整过大小的块612。在一个 实施方式中,使用了拉普拉斯插值技术,在其中求解拉普拉斯方程 以确定像素值。在预处理过的光场图像504的相应位置处创建调整 过大小的块612,或者将调整过大小的块612置于其中。在614处, 如果存在将要预处理的更多的光场图像块,则该方法从捕获的光场 图像500获得下一图像块602,并继续。否则,光场图像500的预处 理完成。参考图5,由光场预处理模块对捕获的光场图像500进行的 预处理完成,并且预处理过的光场图像504被输出以供压缩引擎5 0 6 进^f亍压缩。
再次参考图6,裁剪过的块608的大小可以不同于仅作为示例而 使用的5x5,并且调整大小过程可以因使用的裁剪大小而不同。例 如,假设正在使用JPEG压缩。如果从微图像裁剪的区(例如,块 608 )小于8x8,则块被调整大小为8x8,其中利用插值来产生像 素值。如果块608大于8x8但是小于16x16,则块的大小可以下调 为8x8,或者利用用于产生像素值的插值而上调为16x 16。
在一个实施方式中,光场预处理模块502使用的插值技术可以 是拉普拉斯求解器。图8A和图8B示出了根据一个实施方式的、使用拉普拉斯插值的示例性插值方法。插值的目标在于使用裁剪过的
区域806内的像素值,填充来自于宏像素800的区域806 (在802 处被裁剪)与块804的外边界之间的黑色区域,在此示例中,区域 806是5 x 5像素正方形,而块804是8 x 8像素正方形,但是需要注 意的是,它们中的任一者或二者可以是不同形状或维度。 一个实施 方式可以在裁剪过的区域806边界处使用狄利克雷边界条件810,而 在块804的边界处使用诺埃曼边界条件812。公知的是,可以通过在 此块上迭代与适当内核的巻积(在814处指示),而利用这些边界 条件实现对拉普拉斯方程的求解,从而生成输出块816(在此示例中, 是8x8输出块)。图8B示出了可以在实施方式中使用的示例性巻 积内核。在此实施方式中,巻积从裁剪过的区域806的边界开始, 从而通过从里到外地传播信息而填满黑色区域。通常,约三到四次 迭代足够填满整个块804。
图9A和图9B示出了根据一个实施方式的对光场图像的预处理。 图9A示出了根据一个实施方式的、对利用光场成像系统(诸如,图 1B的全光照相机102)捕获的光场图像(诸如图4中的示例性图像 400)的预处理,其中在该光场成像系统中,在主透镜的后面使用显 微透镜。图9B示出了根据一个实施方式的、利用光场成像系统(诸 如,图1A的光场照相机100)捕获的光场图像(诸如,图3中的示 例性图像300 )的预处理。光场预处理模块的实施方式可以被配置为 对一种或两种类型的光场图像进行处理。
参考图9A,光场预处理模块在对诸如图4中的示例性图像400 之类的光场图像(其是使用诸如图1B的全光照相机102的光场成像 系统捕获的,在该光场成像系统中,在主镜头后面使用显微镜头) 进行预处理时可以执行要素902、 904和906。这些要素可以被l丸行 以从利用光场成像系统(诸如图1B的全光照相机102)捕获的光场 图像900中检测并提取单独的显微透镜图像。示例性光场图像900 是由多个显微透镜图像组成的2D图像。每个显微透镜图像是从不同 角度看到的主(物)透镜的光圈的图像。在一个实施方式中,光场
18预处理模块可以使用微图像检测方法来从光场图像900提取单独的 显微透镜图像(微图像)。在微图像检测方法中,光场预处理模块 检测第一微图像(如902处所示),并随后估计微图像的周期(如 904处所示)。在一个实施方式中,这可以通过以下实现对垂直方 向和水平方向的像素值取平均值,随后取得这些平均值的自相关, 并且最终查看在自相关中从零位偏移到第一峰值的距离。这些值给 出了微图像之间近似的垂直距离和水平距离。光场预处理模块随后 取得左上角的微图像的坐标,随后通过在图像中迭代,提取每个微 图像(如906处所示)。显微透镜块(即,宏像素)的大小设置为 等于微图像周期的一半。随后,可选地可以对每个提取的微图像执 行正则化(如908处所示),以及执行调整大小和在需要的情况下 执行插值(如910处所指示),以便生成预处理过的光场图像912。 在一个实施方式中,光场预处理模块并不是对图像900进行迭 代以及提取所有的微图像,并随后对提取的微图像进行如908和910 处所示的预处理,而是可以被配置用于提取下一微图像,对提取 的微图像进行如908和910处所示的预处理,并对重复提取和对每 个微图像的预处理,直到图像900中的所有微图像被提取和预处理 为止。
图9B示出了根据一个实施方式的、对利用光场成像系统(诸如, 图1A的光场照相机100)捕获的光场图像(诸如,图3中的示例性 图像300)的预处理。在这些图像中,在输入的捕获的光场图像920 的每个宏像素中不存在圓形微图像。基本上,捕获的光场图像920 中的每个宏像素是一个微图像。对于这些类型的图像,可选地可以 对宏像素执行正则化,如922处所示。nxm的像素块是从宏像素形 成的,如924处所指示,例如针对图3A和图3B描述的那样。对块 执行调整大小和在需要的情况下执行插值(如926处所示),以便 生成与基于块的压缩技术的分块机制兼容的n' x m'的像素块。从图 像920提取的所有块都被处理,从而生成预处理过的光场图像928 。
图9A的预处理过的光场图像912和图9B的预处理过的光场图像928随后可以使用基于块的压缩技术(诸如,JPEG压缩)来进行 压缩。由于光场预处理模块执行的预处理已经将预处理过的光场图 像中的块的大小调整为与压缩技术使用的分块机制兼容的大小(和 形状),所以作为结果的压缩图像不会具有分块赝像,而在不对图 像进行此处描述的预处理而直接对其进行压缩的情况下则会产生分 块赝像。
示例系统
可以在一个或多个计算机系统上执行光场预处理模块的各种实 施方式,其中所述计算机系统可以与各种其他设备交互。图10示出 了一个这种计算机系统。在示出的实施方式中,计算机系统1000包
括一个或多个处理器ioio,其通过输入/输出n/o)接口 103o而连
接到系统存储器1020。计算机系统1000还包括耦合到1/0接口 1030 的网络接口 1040,以及一个或多个输入/输出i殳备1050,诸如光标控 制设备1060、键盘1070、音频设备1090和显示器1080。在某些实 施方式中,可以想到可以使用计算机系统1000的单个实例来实现 实施方式,而在其他实施方式中,多个这种系统或构成计算机系统 1000的多个节点可被配置用于管理实施方式的不同部分或者实例。 例如,在一个实施方式中,某些要素可以通过计算机系统1000的与 实现其他要素的那些节点不同的一个或多个节点来实现。
在各种实施方式中,计算机系统1000可以是包括一个处理器 1010的单处理器系统,或包括若干处理器1010的多处理器系统(例 如,两个,四个,八个或另一个适合的数目)。处理器1010可以是 能够执行指令的任意适合的处理器。例如,在各个实施方式中,处 理器1010可以是实现各种指令集体系结构(ISA )诸如x86, PowerPC, SPARC或MIPS ISA或任意其他适合的ISA中的任意一种的通用或 嵌入式处理器。在多处理器系统中,处理器1010中的每一个可以通 常实现相同的ISA, ^旦不必然如此。
系统存储器1020可被配置为存储可由处理器1010访问的程序 指令和/或数据。在各个实施方式中,可以使用适合的存储器技术,诸如静态随机访问存储器(SRAM)、异步动态RAM (SDRAM)、 非易失/闪存类存储器或任意其他类型的存储器,实现系统存储器 1020。在示出的实施方式中,实现诸如上面针对用于利用基于块的 压缩技术进行压缩的光场图像的处理的那些所希望的功能的程序指 令和数据,被分别示出作为程序指令1025和数据存储1035存储在 系统存储器1020中。在其他实施方式中,程序指令和/或数据可被接 收、发送或存储在不同类型的计算机可访问的介质上或与系统存储 器1020或计算机系统1000分离的类似介质上。 一般地说,计算机 可访问介质可以包括存储介质或存储器介质,诸如磁或光介质,例 如通过I/O接口 1030连接到计算机系统1000的盘或CD/DVD-ROM。通过计算机可访问介质存储的程序指令和数据可以以传输介 质或诸如电、电磁或数字信号之类的信号进行传输,可以通过诸如 网络和/或无线链接之类的通信媒体来传递这些信号,诸如可以通过 网络接口 1040来实现。
在一个实施方式中,1/0接口 1030可^皮配置为协调处理器1010, 系统存储器1020和设备中的任意外围设备(包括网络接口 1040或 其他外围接口,诸如输入/输出设备1050)之间的I/O流量。在某些 实施方式中,1/0"^妾口 1030可以扭j亍4壬意必需的协议、定时或其他 数据转变,以便将一种组件(例如,系统存储器1020)的数据信号 转换为适用于另一种组件(例如,处理器1010)的格式。在某些实 施方式中,1/0接口 1030可以包括对通过各种类型的外围总线,诸 如各种外围组件互连(PCI)总线标准或通用串行总线(USB)标准 附加的设备的支持。在某些实施方式中,1/0接口 1030的功能可被 划分为两个或多个单独组件,诸如例如北桥和南桥。另外,在某些 实施方式中,1/0接口 1030的某些或全部功能,诸如到系统存储器 1020的接口可被直接集成到处理器1010内。
网络接口 1040可4皮配置为允许在计算才几系统1000和附接至网 络的其他设备(诸如其他计算机系统之间)、或是在计算机系统1000 的节点之间交换数据。在各种实施方式中,网络接口 1040可以通过有线或无线通用数据网络,诸如任意适合的以太网网络,通过电信/ 电话网络,诸如模拟语音网络或数字光纤通信网络,通过存储区域
网络,诸如Fibre Channel SAN,或通过任意其他适合的网络和/或协 议类型支持通信。
在某些实施方式中,输入/输出设备1050可以包括一个或多个显 示终端、键盘、小键盘、触摸板、扫描设备、语音或光学识别设备, 或适用于通过一个或多个计算机系统1000输入或^^索数据的任意其 他设备。多个输入/输出设备1050可存在于计算机系统1000中,或 可以分布在计算机系统1000的各个节点上。在某些实施方式中,类 似的输入/输出设备可被与计算机系统1000分开,并且可以通过有线 或无线连接,诸如在网络4妻口 1040上,与计算才几系统1000的一个 或多个节点交互。
如图IO所示,存储器1020可以包括配置为实现光场预处理模 块的实施方式的程序指令1025,以及包括可由程序指令1025访问的 各种数据的数据存储1035。在一个实施方式中,程序指令1025可以 包括上图中示出的基于块的压缩引擎和光场预处理模块的软件单 元。数据存储1035可以包括可用于这些实施方式的数据。在其他实 施方式中,可以包括其他或不同的软件单元和数据。
本领域的技术人员应当理解的是,计算机系统IOOO仅是说明性 的,而并非旨在将光场预处理模块的范围限制为此处的公开。具体 地,计算机系统和设备可以包括可以执行指出的功能的硬件或软件 的任意组合,包括计算机、网络设备、互联网应用、PDA、无线电 话、寻呼机等。计算机系统IOOO还可以连接到未示出的其他设备, 或作为独立的系统操作。另外,在某些实施方式中,由示出的组件 提供的功能可被组合在更少的组件内或分布在附加组件上。类似地, 在某些实施方式中,可以不提供示出的实施方式中的某一些功能, 和/或可以获得其他附加的功能。
本领域的技术人员应当理解的是,虽然各种项目被示出为在使 用时被存储在存储器或存储设备上,可以出于存储器管理和数据完
22整性的目的,在存储器和其他存储设备之间传递这些项目或它们的 部分。可替换地,在其他实施方式中,可以在存储器或另一设备上 执行软件组件中的某 一 些或全部,并且通过计算机间通信与示出的 计算机系统通信。系统组件或数据结构中的某 一 些或全部还可以被 存储(例如,作为指令或结构化数据)在计算机可访问的介质上, 或将以适当驱动器读取的便携产品上,上面已经描述了它们的各种
示例。在某些实施方式中,存储在与计算机系统iooo分离的计算机 可访问介质上的指令可通过传输介质或信号(诸如通过通信媒体, 例如网络和/或无线链路传递的电、电磁或数字信号)传输到计算机
系统1000。各种实施方式还包括在计算才几可访问介质上接收,发送
或存储根据前面所述执行的指令和/或数据。因此,可以用其它计算 机系统配置实施本发明。 结论
各种实施方式还可以包括在计算机可访问介质上接收、发送或 存储根据前面所述执行的指令和/或数据。 一般而言,计算机可访问
介质可以包括存储介质或存储器介质,诸如磁或光学介质(例如, 盘或DVD/CD-ROM);易失或非易失介质,诸如RAM(例如, SDRAM, DDR, RDRAM, SRAM等),ROM等;以及传输介质或 信号,诸如通过例如网络和/或无线链路之类的通信媒体传递的电、 电磁或数字信号。
图中示出并且在此处描述的各种方法表示这些方法的实施方式 的示例。可以用软件、石更件或其组合实现这些方法。方法的顺序可 被改变,并且各个元素可被增加、重新排列、组合、忽略、修改等。
受益于本公开,本领域的技术人员很明显可以做出各种修改和 改变。本发明旨在包括所有这些修改和改变,并且因此上述描述被 认为是说明性的而不是限制意义的。
权利要求
1.一种计算机实现的方法,包括获取光场图像,其中所述光场图像包括多个微图像,其中所述微图像的维度与基于块的压缩技术所使用的分块维度不同;从所述光场图像中的每个微图像生成预处理过的光场图像中的块,其中每个块包括来自于相应微图像的光场信息,并且每个块的维度与所述基于块的压缩技术使用的分块维度相同;根据所述基于块的压缩技术对所述预处理过的光场图像进行压缩,以生成经过压缩的光场图像;以及将所述经过压缩的光场图像存储到存储介质中。
2. 根据权利要求1所述的方法,其中从所述光场图像中的每个 微图像生成预处理过的光场图像中的块包括,针对每个微图像裁剪所述微图像以从所述微图像中提取像素区域,其中所述区域 的维度小于所述块的维度;以及对所述裁剪的像素区域进行插值,以从所述裁剪的区域中的像素 的像素值产生用于相应块中的像素的像素值。
3. 根据权利要求2所述的方法,其中对所述裁剪的像素区域进 行插值包括求解拉普拉斯方程,以从所述裁剪的区域中的像素的像素值生成 相应块中的像素的像素值。
4. 根据权利要求1所述的方法,其中所述块的维度为8乘8个像素。
5. 根据权利要求1所述的方法,进一步包括在从所述光场图像中的每个微图像生成预处理过的光场图像中 的块之前,根据校准图像对所述光场图像进行正则化。
6. 根据权利要求1所述的方法,其中所述光场图像由全光照相 机捕获,并且每个微图像近似为圆形。
7. 根据权利要求6所述的方法,进一步包括,在从所述光场图像中的每个微图像生成预处理过的光场图像中的块之前 定位所述光场图像中的每个微图像;以及 从所述光场图像中提取所述定位的微图像。
8. 根据权利要求1所述的方法,其中所述基于块的压缩技术根 据JPEG (联合图像专家组)压缩标准,对所述预处理过的光场图像 进4亍压缩。
9. 根据权利要求1所述的方法,其中所述经过压缩的光场图像 可以使用能够访问利用所述基于块的压缩技术压缩的文件的任何应 用来查看。
10. —种系统,包括用于获取光场图像的装置,其中所述光场图像包括多个微图像, 其中所述微图像的维度与基于块的压缩技术所使用的分块维度不同;用于从所述光场图像中的每个微图像生成预处理过的光场图像 中的块的装置,其中每个块包括来自于相应微图像的光场信息,并用于根据所述基于块的压缩技术对所述预处理过的光场图像进 行压缩,以生成经过压缩的光场图像的装置;以及用于将所述经过压缩的光场图像存储到存储介质中的装置。
11. 根据权利要求IO所述的系统,其中所述生成包括,针对每 个微图像裁剪所述微图像以从所述微图像提取像素区域,其中所述区域的 维度小于所述块的维度;以及对所述裁剪的像素区域进行插值,以从所述裁剪的区域中的像素 的像素值产生用于相应块中的像素的像素值。
12. 根据权利要求11所述的系统,其中所述插值包括求解拉普拉斯方程,以从所述裁剪的区域中的像素的像素值生成 相应块中的像素的像素值。
13. 根据权利要求10所述的系统,其中所述块的维度为8乘8个像素。
14. 根据权利要求IO所述的系统,进一步包括用于在从所述光场图像中的每个微图像生成预处理过的光场图 像中的块之前,根据针对所述光场图像的校准图像对所述光场图像 进行正则化的装置。
15. 根据权利要求10所述的系统,其中所述光场图像由全光照 相机捕获,并且每个微图像近似为圆形。
16. 根据权利要求15所述的系统,进一步包括这样的装置,其 用于在从所述光场图像中的每个微图像生成预处理过的光场图像中 的块之前定位所述光场图像中的每个微图像;以及 从所述光场图像提取所述定位的微图像。
17. 根据权利要求10所述的系统,其中所述基于块的压缩技术 根据JPEG (联合图像专家组)压缩标准,对所述预处理过的光场图像进行压缩。
全文摘要
用于对光场图像进行基于块的压缩的方法和设备。可以由预处理模块将光场图像预处理成与基于块的压缩技术的分块机制兼容的格式,其中压缩技术例如是JPEG。压缩技术随后用于对预处理过的光场图像进行压缩。光场预处理模块将捕获的光场图像中的角度数据再整形为与压缩技术的分块机制兼容的形状,以便不在最终的压缩图像中引入基于块的压缩的分块赝像。实施方式可以产生压缩的2D图像,对于该压缩的2D图像,不需要专门的光场图像查看器来预览整个光场图像。全光场信息被包含在一个压缩的2D图像中。
文档编号H04N1/41GK101588437SQ200910138539
公开日2009年11月25日 申请日期2009年4月29日 优先权日2008年4月29日
发明者S·D·巴巴坎, T·G·乔吉维 申请人:奥多比公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1