首页> 中国专利> 用于预测运动矢量和视差矢量的图像处理方法和设备

用于预测运动矢量和视差矢量的图像处理方法和设备

摘要

公开了一种用于预测运动矢量和视差矢量的图像处理方法和设备。根据一个实施例的图像处理方法可通过使用与彩色图像相应的深度图像来确定包括在彩色图像中的当前块的视差矢量。可通过使用深度图像预测运动矢量或视差矢量,以对3D视频进行有效地压缩。

著录项

  • 公开/公告号CN104704832A

    专利类型发明专利

  • 公开/公告日2015-06-10

    原文格式PDF

  • 申请/专利权人 三星电子株式会社;

    申请/专利号CN201380051109.1

  • 发明设计人 李振荣;李在濬;

    申请日2013-09-25

  • 分类号

  • 代理机构北京铭硕知识产权代理有限公司;

  • 代理人王艳娇

  • 地址 韩国京畿道水原市

  • 入库时间 2023-12-18 09:28:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-02

    未缴年费专利权终止 IPC(主分类):H04N13/161 专利号:ZL2013800511091 申请日:20130925 授权公告日:20180720

    专利权的终止

  • 2018-07-20

    授权

    授权

  • 2015-12-09

    实质审查的生效 IPC(主分类):H04N19/50 申请日:20130925

    实质审查的生效

  • 2015-06-10

    公开

    公开

说明书

技术领域

下面的描述涉及对三维(3D)视频的有效压缩和解压缩,更具体地,涉 及一种用于估计运动矢量和视差矢量的图像处理方法和设备。

背景技术

立体感图像指与图像信息一起同时提供关于深度和空间的形状信息的三 维(3D)图像。不同于仅向用户的左眼和右眼分别提供不同视点的图像的立 体图像,所述立体感图像在用户改变用户的观看点时看起来就像是从不同方 向被看到一样。因此,从多个不同视点拍摄的图像被用于创建立体感图像。

由于从不同视点拍摄的用于创建立体感图像的图像具有大量的数据,因 此考虑到网络基础设施、地面宽带等,使用针对单视点视频编码(诸如, MPEG-2、H.264.AVC和HEVC)进行优化的编码设备来对图像进行压缩几 乎是难以实现的。

因此,需要一种为了创建立体感图像而进行优化的多视点图像编码设备。 具体而言,需要一种用于有效地减少时间与视点之间的冗余的技术。

发明内容

技术方案

根据实施例的图像处理方法可包括:识别与彩色图像的当前块相应的深 度图像;基于包括在所述深度图像中的像素的深度值来确定当前块的视差矢 量。

根据实施例的图像处理方法可包括:识别与彩色图像的当前块邻近的至 少一个邻近块的视差矢量;当邻近块不具有视差矢量时,使用与彩色图像相 应的深度图像来确定邻近块的视差矢量;基于所述至少一个邻近块的视差矢 量来确定当前块的视差矢量。

根据实施例的图像处理方法可包括:使用与彩色图像的当前块邻近的至 少一个邻近块的视差矢量来确定彩色图像的当前块的视差矢量;使用确定的 当前块的视差矢量来确定当前块的运动矢量。

根据实施例的图像处理方法可包括:识别与彩色图像的当前块邻近的至 少一个邻近块的运动矢量;当邻近块不具有运动矢量时,使用与彩色图像相 应的深度图像来确定邻近块的运动矢量;基于所述至少一个邻近块的运动矢 量来确定当前块的运动矢量。

根据实施例的图像处理设备可包括:深度图像识别器,被配置为识别与 彩色图像的当前块相应的深度图像;视差矢量确定器,被配置为基于包括在 所述深度图像中的像素的深度值来确定当前块的视差矢量。

根据实施例的图像处理设备可包括:视差矢量提取器,被配置为提取与 彩色图像的当前块邻近的至少一个邻近块的视差矢量;视差矢量确定器,被 配置为基于所述至少一个邻近块的视差矢量来确定当前块的视差矢量。

根据实施例的图像处理设备可包括:视差矢量确定器,被配置为使用与 彩色图像的当前块邻近的至少一个邻近块的视差矢量来确定彩色图像的当前 块的视差矢量;运动矢量确定器,被配置为使用确定的当前块的视差矢量来 确定当前块的运动矢量。

根据实施例的图像处理设备可包括:运动矢量提取器,被配置为提取与 彩色图像的当前块邻近的至少一个邻近块的运动矢量;运动矢量确定器,被 配置为基于所述至少一个邻近块的运动矢量来确定当前块的运动矢量。

附图说明

图1是用于描述根据实施例的编码设备和解码设备的操作的框图。

图2是示出根据实施例的用于预测当前块的视差矢量的图像处理设备的 框图。

图3是示出根据实施例的用于预测当前块的运动矢量的图像处理设备的 框图。

图4是示出根据另一实施例的用于预测当前块的运动矢量的图像处理设 备的框图。

图5是示出根据另一实施例的用于预测当前块的运动矢量的图像处理设 备的框图。

图6示出根据实施例的多视点视频的结构。

图7示出根据实施例的在对当前块进行编码时使用的参考图像。

图8是用于描述根据实施例的编码设备的操作的示图。

图9是用于描述根据实施例的解码设备的操作的示图。

图10是示出根据实施例的预测当前块的视差矢量的处理的示图。

图11是示出根据实施例的预测当前块的针对跳过模式和直接模式的运 动矢量的处理的示图。

图12是示出根据实施例的使用视差矢量来预测当前块的运动矢量的处 理的示图。

图13是示出根据实施例的预测当前块的针对帧间模式的运动矢量的处 理的示图。

图14是示出根据实施例的用于预测当前块的视差矢量的图像处理方法 的流程图。

图15是示出根据实施例的用于预测当前块的运动矢量的图像处理方法 的流程图。

图16是示出根据另一实施例的用于预测当前块的运动矢量的图像处理 方法的流程图。

图17是示出根据另一实施例的用于预测当前块的运动矢量的图像处理 方法的流程图。

最优实施方式

在下文中,将参照附图对实施例进行描述。提供下面的具体的结构和功 能描述仅是为了描述实施例,因此,本发明的范围不应被解释为限于实施例。 根据实施例的图像处理方法可由图像处理设备执行。相同的标号表示相同的 组成元件。

在描述实施例之前,在实施例或权利要求中公开的术语可被如下定义:

(1)当前块(当前彩色块):表示彩色图像的将被编码或解码的块。

(2)当前彩色图像:表示包括当前块的彩色图像。详细地讲,当前彩色 图像表示包括将被编码或解码的块的彩色图像。

(3)与当前块相应的深度图像(相应深度图像):表示与包括当前块的 彩色图像或当前彩色图像相应的深度图像。

(4)邻近块(当前块周围的邻近块):表示与当前块邻近的已编码或已 解码的至少一个块。例如,邻近块可位于当前块的上端、当前块的右上端、 当前块的左边或当前块的左上端。

(5)相应块(相应深度图中的共同定位(Colocated)的深度块):表示 包括在与当前块相应的深度图像中的深度图像块。例如,相应块可包括与彩 色块相应的深度图像中与当前块位于相同位置的块。

(6)宏块(共同定位的深度宏块):表示深度图像的包括相应块的上位 概念的深度图像块。

(7)相邻彩色图像(包括当前彩色块的彩色图像周围的相邻彩色图像): 表示视点不同于包括当前块的彩色图像的视点的彩色图像。相邻彩色图像可 以是在执行针对当前块的图像处理之前被编码或解码的彩色图像。

图1是用于描述根据实施例的编码设备和解码设备的操作的框图。

根据实施例的编码设备110可对三维(3D)视频进行编码,可以以比特 流的形式创建编码后的数据,并可将创建出的数据发送到解码设备120。3D 视频可包括从多个不同视点拍摄的彩色图像和深度图像。3D视频具有时间上 连续的图像之间存在的时间冗余以及不同视点的图像之间存在的视点间冗 余。编码设备110可通过有效地消除时间冗余和视点间冗余来对3D视频进行 有效编码。编码设备110可通过在对3D视频进行编码的处理期间最大程度地 消除图像之间的冗余来提高编码效率。

编码设备110和解码设备120可执行基于块的预测来消除彩色图像之间 的冗余。编码设备110和解码设备120可使用深度图像来有效地消除彩色图 像之间的冗余。编码设备110和解码设备120可使用邻近块的运动矢量或时 间运动矢量来消除时间冗余,并可使用邻近块的视差矢量或视点间运动矢量 以及与彩色图像相应的深度图像来消除视点间冗余。编码设备110可通过在 对3D视频的彩色图像进行编码的处理期间对运动矢量进行有效编码来最小 化彩色图像之间的冗余。

与彩色图像相应的深度图像的尺寸可与彩色图像的尺寸不同。当深度图 像的尺寸与彩色图像的尺寸不同时,编码设备110和解码设备120可将深度 图像的尺寸调整到与彩色图像的尺寸相同。例如,当深度图像的尺寸小于彩 色图像的尺寸时,编码设备110和解码设备120可通过对深度图像进行上采 样来调整深度图像的尺寸,使得深度图像的尺寸变得等于彩色图像的尺寸。

根据另一实施例,不管深度图像的尺寸与彩色图像的尺寸之间的差别如 何,深度图像的原始尺寸可按照原样被使用。当使用深度图像的原始尺寸时, 不需要对深度图像的尺寸进行采样的处理,因此,可降低复杂度,并还可减 小需要的内存量。

将参照图2至图17进行描述的图像处理设备可被实现在图1的编码设备 110或解码设备120的内部或外部。

图2是示出根据实施例的用于预测当前块的视差矢量的图像处理设备的 框图。

参照图2,图像处理设备200可包括深度图像识别器210和视差矢量确 定器220。

深度图像识别器210可识别与彩色图像的当前块相应的深度图像。当不 存在与彩色图像相应的深度图像时,深度图像识别器210可使用与当前块邻 近的邻近块、包括当前块的彩色图像的相邻彩色图像或另一深度图像来估计 与当前块相应的深度图像。

视差矢量确定器220可基于与当前块相应的深度图像的深度信息来识别 当前块的视差矢量。视差矢量确定器220可识别包括在深度图像中的像素之 中的至少一个像素,并可将识别出的像素的深度值之中的最大深度值转换为 当前块的视差矢量。

例如,视差矢量确定器220可基于与当前块相应的深度图像的相应块中 包括的像素的深度值来确定当前块的视差矢量。视差矢量确定器220可识别 与当前块相应的深度图像的相应块中包括的像素之中的至少一个像素。视差 矢量确定器220可将识别出的像素的深度值之中的最大深度值转换为视差矢 量,并可将转换出的视差矢量确定为当前块的视差矢量。视差矢量确定器220 可将包括在深度图像的相应块中的全部像素的深度值之中的最大深度值转换 为视差矢量。可选地,视差矢量确定器220可仅使用包括在深度图像的相应 块中的部分像素,并可将所述部分像素的深度值之中的最大深度值转换为视 差矢量。根据实施例,视差矢量确定器220可识别位于深度图像内的预定区 域中的像素,并可将识别出的像素的深度值之中的最大深度值转换为当前块 的视差矢量。例如,视差矢量确定器220可识别位于相应块的拐角处的像素, 并可将识别出的像素的深度值之中的最大深度值转换为当前块的视差矢量, 其中,相应块的拐角是深度图像内的预定区域。可选地,视差矢量确定器220 可将位于相应块的拐角处的像素的深度值和相应块的中心处的深度值之中的 最大深度值转换为当前块的视差矢量。

另外,视差矢量确定器220可基于深度图像的包括相应块的宏块来确定 当前块的视差矢量。例如,视差矢量确定器220可将包括在宏块中的像素的 深度值之中的最大深度值转换为视差矢量,并可将转换出的视差矢量确定为 当前块的视差矢量。可选地,视差矢量确定器220可将包括相应块的宏块中 包括的预定像素的深度值之中的最大深度值转换为当前块的视差矢量。例如, 视差矢量确定器220可通过对位于宏块的拐角处的像素的深度值之中的最大 深度值进行转换来确定当前块的视差矢量。

视差矢量确定器220还可仅使用与当前彩色图像相应的深度图像内的预 定像素来确定当前块的视差矢量。例如,视差矢量确定器220可将包括在深 度图像中的预定单个像素的深度值转换为视差矢量,并可将转换出的视差矢 量确定为当前块的视差矢量。可选地,视差矢量确定器220可将相应块或宏 块内的预定单个像素的深度值转换为当前块的视差矢量。

在视点间预测中,准确地预测运动对象是很重要的。通常,运动对象比 背景更靠近相机,因此具有最大深度值。视差矢量确定器220使用运动对象 和深度值之间的关系来预测当前块的视差矢量。

在将深度值转换为视差矢量的处理期间,视差矢量确定器220可使用相 机参数信息。视差矢量确定器220可通过深度值转换处理来创建视差矢量, 并可将创建的视差矢量确定为当前块的视差矢量。

根据另一实施例,为了确定彩色图像的当前块的视差矢量,视差矢量确 定器220可使用与当前块邻近的邻近块的视差矢量。当与当前块邻近的邻近 块不具有视差矢量时,视差矢量确定器220可使用包括在与彩色图像相应的 深度图像中的像素的深度值来确定邻近块的视差矢量。例如,视差矢量确定 器220可将与当前块相应的深度图像的相应块或宏块中包括的像素的深度值 之中的最大深度值转换为视差矢量,并可将转换出的视差矢量确定为邻近块 的视差矢量。可选地,视差矢量确定器220可将包括在包括相应块的宏块中 的预定像素的深度值之中的最大深度值转换为邻近块的视差矢量。例如,视 差矢量确定器220可通过对位于宏块的拐角处的像素的深度值之中的最大深 度值进行转换来确定邻近块的视差矢量。为了确定邻近块的视差矢量,视差 矢量确定器220还可仅使用与当前彩色图像相应的深度图像内的预定像素。 例如,视差矢量确定器220可将包括在深度图像中的预定单个像素的深度值 转换为视差矢量,并可将转换出的视差矢量确定为邻近块的视差矢量。

当确定了邻近块的视差矢量时,视差矢量确定器220可使用邻近块的视 差矢量和中值滤波来确定当前块的视差矢量。例如,视差矢量确定器220可 将中值滤波应用于与当前块邻近的至少一个邻近块的视差矢量,并可将中值 滤波的结果确定为当前视差矢量。

图3是示出根据实施例的用于预测当前块的运动矢量的图像处理设备的 框图。

参照图3,图像处理设备300可包括视差矢量提取器310和视差矢量确 定器320。图像处理设备300可使用视差矢量提取器310和视差矢量确定器 320来预测当前块的视差矢量。根据另一实施例,图像处理设备300还可包 括运动矢量确定器330,并可使用运动矢量确定器330来预测当前块的运动 矢量。

视差矢量提取器310可提取与彩色图像的当前块邻近的邻近块的视差矢 量。视差矢量提取器310可确定在邻近块中是否存在视差矢量,并可在邻近 块中不存在视差时,使用与彩色图像相应的深度图像来确定邻近块的视差矢 量。根据另一实施例,视差矢量提取器310可基于深度图像的深度信息来直 接确定邻近块的视差矢量,而无需确定在邻近块中是否存在视差矢量。

视差矢量提取器310可识别包括在与当前块相应的深度图像中的像素之 中的至少一个像素。视差矢量提取器310可将识别出的像素的深度值之中的 最大深度值转换为视差矢量,并可将转换出的视差矢量确定为邻近块的视差 矢量。可选地,视差矢量提取器310可仅使用包括在深度图像中的部分像素, 并可将所述部分像素的深度值之中的最大深度值转换为邻近块的视差矢量。

例如,当存在不具有视差矢量的邻近块时,视差矢量提取器310可将与 当前块相应的深度图像的相应块中包括一个或更多个像素的深度值之中的最 大深度值转换为邻近块的视差矢量。可选地,视差矢量提取器310可识别位 于深度图像内的预定区域内的像素的深度值,并可将位于所述预定区域内的 像素的深度值之中的最大深度值转换为邻近块的视差矢量。例如,视差矢量 提取器310可将位于相应块的拐角处的像素的深度值和位于相应块的中心处 的深度值之中的最大深度值转换为邻近块的视差矢量。

视差矢量提取器310可基于深度图像的包括相应块的宏块来确定邻近块 的视差矢量。例如,视差矢量提取器310可将包括在宏块中的像素的深度值 之中的最大深度值转换为视差矢量,并可将转换出的视差矢量确定为邻近块 的视差矢量。可选地,视差矢量提取器310可将包括相应块的宏块中包括的 预定像素的深度值之中的最大深度值转换为邻近块的视差矢量。例如,视差 矢量提取器310可通过对位于宏块的拐角处的像素的深度值之中的最大深度 值进行转换来确定邻近块的视差矢量。

视差矢量提取器310可仅使用与当前彩色图像相应的深度图像内的预定 像素来确定邻近块的视差矢量。例如,视差矢量提取器310可将包括在深度 图像中的预定单个像素的深度值转换为视差矢量,并可将转换出的视差矢量 确定为邻近块的视差矢量。

视差矢量确定器320可基于邻近块的视差矢量来确定当前块的视差矢 量。例如,视差矢量确定器320可对邻近块的视差矢量应用中值滤波,并可 将中值滤波的结果确定为当前块的视差矢量。

运动矢量确定器330可基于确定的当前块的视差矢量来确定当前块的运 动矢量。详细地讲,运动矢量确定器330可使用当前块的视差矢量来识别包 括当前块的彩色图像的相邻彩色图像中的一位置,并可将识别出的位置处的 运动矢量确定为当前块的运动矢量。

当在识别出的位置处不存在运动矢量时,运动矢量确定器330可使用与 当前块邻近的邻近块来确定当前块的运动矢量。运动矢量确定器330可基于 邻近块的运动矢量和视差矢量中的至少一个来确定当前块的运动矢量。例如, 当参考图像的索引指示同一视点的彩色图像时,运动矢量确定器330可对邻 近块的运动矢量应用中值滤波,并可将中值滤波的结果确定为当前块的运动 矢量。相反,当参考图像的索引指示不同视点的彩色图像时,运动矢量确定 器330可将对邻近块的视差矢量应用中值滤波的结果确定为当前块的运动矢 量。在除了以上两种情况之外的其他情况下,运动矢量确定器330可将零运 动矢量确定为当前块的运动矢量。

图4是示出根据另一实施例的用于预测当前块的运动矢量的图像处理设 备的框图。

图像处理设备400可包括视差矢量确定器410和运动矢量确定器420。

视差矢量确定器410可使用与彩色图像的当前块邻近的邻近块的视差矢 量来确定当前块的视差矢量。视差矢量确定器410可确定在邻近块中是否存 在视差矢量,并可在邻近块不具有视差矢量时使用与彩色图像相应的深度图 像来确定邻近块的视差矢量。根据另一实施例,视差矢量确定器410还可基 于深度图像的深度信息来直接确定邻近块的视差矢量,而无需确定在邻近块 中是否存在视差矢量。

视差矢量确定器410可识别包括在与当前块相应的深度图像中的像素之 中的至少一个像素。视差矢量确定器410可将识别出的像素的深度值之中的 最大深度值转换为视差矢量,并可将转换出的视差矢量确定为邻近块的视差 矢量。视差矢量确定器410还可仅使用包括在深度图像中的部分像素,并可 将所述部分像素的深度值之中的最大深度值转换为邻近块的视差矢量。

例如,当邻近块不具有视差矢量时,视差矢量确定器410可基于包括在 与彩色图像的当前块相应的深度图像的相应块中的至少一个像素的深度值, 确定邻近块的视差矢量,并可基于邻近块的视差矢量来确定当前块的视差矢 量。视差矢量确定器410可将包括在深度图像的相应块中的一个或更多个像 素的深度值之中的最大深度值转换为邻近块的视差矢量。可选地,视差矢量 确定器410可将位于深度图像的预定区域中的像素的深度值之中的最大深度 值转换为邻近块的视差矢量。

视差矢量确定器410可基于深度图像的包括相应块的宏块来确定邻近块 的视差矢量。例如,视差矢量确定器410可将包括在宏块中的像素的深度值 之中的最大深度值转换为视差矢量,并可将转换出的视差矢量确定为邻近块 的视差矢量。可选地,视差矢量确定器410可将包括相应块的宏块中包括的 像素的深度值之中的最大深度值转换为邻近块的视差矢量。例如,视差矢量 确定器410可通过对位于宏块的拐角处的像素的深度值之中的最大深度值进 行转换来确定邻近块的视差矢量。

视差矢量确定器410还可仅使用与当前彩色图像相应的深度图像内的预 定像素来确定邻近块的视差矢量。例如,视差矢量确定器410可将包括在深 度图像中的预定单个像素的深度值转换为视差矢量,并可将转换出的视差矢 量确定为邻近块的视差矢量。

视差矢量确定器410可基于邻近块的视差矢量来确定当前块的视差矢 量。例如,视差矢量确定器410可对邻近块的视差矢量应用中值滤波,并可 将中值滤波的结果确定为当前块的视差矢量。

运动矢量确定器420可使用确定的当前块的视差矢量来确定当前块的运 动矢量。运动矢量确定器420可使用当前块的视差矢量来识别包括当前块的 彩色图像的相邻彩色图像中的一位置,并可将识别出的位置处的运动矢量确 定为当前块的运动矢量。

当在识别出的位置处不存在运动矢量时,运动矢量确定器420可使用当 前块的邻近块来确定当前块的运动矢量。运动矢量确定器420可基于邻近块 的运动矢量和视差矢量中的至少一个来确定当前块的运动矢量。当运动矢量 确定器420不能够使用邻近块的运动矢量或视差矢量来确定当前块的运动矢 量时,运动矢量确定器420可将零运动矢量确定为当前块的运动矢量。

图5是示出根据另一实施例的用于预测当前块的运动矢量的图像处理设 备的框图。

参照图5,图像处理设备500可包括运动矢量提取器510和运动矢量确 定器520。

运动矢量提取器510可提取与彩色图像的当前块邻近的邻近块的运动矢 量。运动矢量提取器510可确定在邻近块中是否存在运动矢量,并可在邻近 块不具有运动矢量时,使用彩色图像的深度图像来确定邻近块的运动矢量。 运动矢量提取器510可从不同视点的彩色图像获取不存在运动矢量的邻近块 的运动矢量,并可使用深度图像来从所述不同视点的彩色图像获取邻近块的 运动矢量。根据另一实施例,运动矢量提取器510可基于深度图像的深度信 息来直接确定邻近块的运动矢量,而无需确定在邻近块中是否存在运动矢量。

为了确定邻近块的运动矢量,运动矢量提取器510可使用深度图像来获 取视差矢量。运动矢量提取器510可识别包括在与当前块相应的深度图像中 的至少一个像素,并可基于识别出的至少一个像素的深度值来获取视差矢量。 例如,运动矢量提取器510可将与当前块相应的深度图像的相应块中包括的 一个或更多个像素的深度值之中的最大深度值转换为视差矢量。运动矢量提 取器510可在获取视差矢量的处理期间使用相机参数信息。运动矢量提取器 510可使用视差矢量,从包括当前块的彩色图像的相邻彩色图像估计邻近块 的运动矢量。可选地,运动矢量提取器510可将位于与当前块相应的深度图 像的预定区域中的像素的深度值之中的最大深度值转换为视差矢量,并可使 用转换出的视差矢量,从包括当前块的彩色图像的相邻彩色图像估计邻近块 的运动矢量。

运动矢量提取器510可基于深度图像的包括相应块的宏块来确定邻近块 的运动矢量。例如,运动矢量提取器510可将包括在宏块中的像素的深度值 之中的最大深度值转换为视差矢量,并可将由转换出的视差矢量指示的位置 处的运动矢量确定为邻近块的运动矢量。可选地,运动矢量提取器510可将 包括相应块的宏块中包括的像素的深度值之中的最大深度值转换为邻近块的 视差矢量,并可使用转换出的视差矢量来估计邻近块的运动矢量。

运动矢量提取器510还可仅使用与当前彩色图像相应的深度图像内的预 定像素来确定邻近块的运动矢量。例如,运动矢量提取器510可将包括在深 度图像中的预定单个像素的深度值转换为视差矢量,并可将由转换出的视差 矢量指示的位置处的运动矢量确定为邻近块的运动矢量。

当在由视差矢量指示的位置处不存在运动矢量时,运动矢量提取器510 可将零运动矢量确定为邻近块的运动矢量。另外,在当前块的参考图像索引 与从不同视点的彩色图像获取的参考图像索引不同时,运动矢量提取器510 也可将零运动矢量确定为邻近块的运动矢量。

运动矢量确定器510可基于邻近块的运动矢量来确定当前块的运动矢 量。例如,运动矢量确定器520可对邻近块的运动矢量应用中值滤波,并可 将中值滤波的结果确定为当前块的运动矢量。

图6示出根据实施例的多视点图像的结构。

图6示出根据实施例的当接收到三个视点(例如,左视点、中心视点和 右视点)的图像时,用于使用一组画面(GOP)“8”来执行编码的多视点视 频编码(MVC)方法。GOP指示从I帧开始的一组连续图像。

由于在多视点图像编码处理期间分层的B画面或分层的B帧的概念被用 于时间轴和视点轴,因此可减小图像之间的冗余。

图1的编码设备110可基于图6的多视点图像的结构,顺序地对左图像 (也称为左画面(I-视点))、右图像(也称为右画面(P-视点))和中心图像 (也称为中心画面(B-视点))进行编码,因此可对与三个视点相应的图像进 行编码。

在对左图像进行编码的处理期间,可使用运动估计来从先前的图像估计 与左图像相似的区域,并可使用关于估计的区域的信息来减少时间冗余。由 于右图像将在左图像被编码之后通过参照编码后的左图像而被编码,因此, 除了使用运动估计减少时间冗余之外,还可使用视差估计来减少视点间冗余。 另外,由于通过参照已经被编码的左图像和右图像中的全部,使用视差估计 来对中心图像进行编码,因此,可减少视点间冗余。

参照图6,在多视点图像编码处理期间,无需使用不同视点的图像而被 编码的图像(例如,左图像)可被定义为I-视点图像。通过单向预测不同视 点的图像而被编码的图像(例如,右图像)可被定义为P-视点图像。通过双 向预测不同视点的图像而被编码的图像(例如,中心图像)可被定义为B-视 点图像。

图7示出根据实施例的用于对当前块进行编码的参考图像。

当对包括在当前彩色图像中的当前块进行编码时,图像处理设备可使用 相邻彩色图像720、730、740和750作为参考图像。例如,图像处理设备可 从相邻彩色图像720、730、740和750之中识别与当前块最相似的相似块, 并可对当前块与相似块之间的残差信号进行编码。在H.264/AVC的情况下, 用于使用参考图像来估计相似块的编码模式可包括SKIP(仅P条带)/直接 (仅B条带)模式、16x16模式、16x8模式、8x16模式、P8x8模式等。在 高效视频编码(HEVC)的情况下,用于使用参考图像来估计相似块的编码 模式可包括SKIP模式、Merge模式、2NX2N模式、2NxN模式、NX2N模式 等。

在对当前块进行编码的处理期间,图像处理设备可使用基于时间而与当 前彩色图像邻近的相邻彩色图像720和730作为参考图像来减少时间冗余。 另外,为了减少视点间冗余,图像处理设备可使用就视点而言与当前彩色图 像邻近的相邻彩色图像740和750作为参考图像。图像处理设备可使用相邻 彩色图像720和730(即,Ref1图像和Ref2图像)来获取运动信息,并可使 用相邻彩色图像740和750(即,Ref3图像和Ref4图像)来获取视差信息。

图8是用于描述根据实施例的编码设备的操作的示图。

详细地讲,图8示出对彩色图像进行编码的编码设备的处理。根据实施 例,编码设备的彩色图像编码处理可如下。编码设备可在操作810接收彩色 图像,并可在操作845选择编码模式。编码设备可确定彩色图像与从块预测 得到的预测图像之间的残差信号。编码设备可在操作815对残差信号进行变 换,并可在操作820和825执行量化和熵编码。

块预测处理可包括用于减小时间冗余的时间预测处理以及用于减小视点 间冗余的视点间预测处理。

为了在后续彩色图像中进行准确预测,可在操作875执行去块滤波处理。 在操作830和835,可对在操作820量化的图像执行反量化处理和逆变换处 理,以在操作875执行去块滤波处理。通过操作875的去块滤波处理创建的 参考图像可被存储并被用于后续彩色图像的编码处理。

编码设备可通过帧内预测850、运动估计/补偿855或视差估计/补偿860 来执行预测处理,以消除时间冗余和视点间冗余。图像处理设备可执行运动 估计/补偿855和视差估计/补偿860处理。对于运动估计/补偿855,图像处理 设备可在操作865基于相机参数840将深度信息870(例如,深度值)转换 为视差信息(例如,视差矢量),并可执行运动估计/补偿855处理。可选地, 对于视差估计/补偿860,图像处理设备可在操作865将深度信息870(例如, 深度值)转换为视差信息(例如,视差矢量),并可执行视差估计/补偿860 处理。

根据通过块预测得到的预测图像与原始图像之间的相似度的增加,残差 信号的量减小,这会导致减小被编码并由此被创建的比特量。因此,为了对 3D视频进行有效编码,运动估计/补偿855和视差估计/补偿860处理是很重 要的。

在运动估计/补偿855处理期间,图像处理设备可通过使用邻近块的运动 矢量信息、关于不同视点的彩色图像的编码信息或与当前块相应的深度图像, 执行对当前块的运动估计/补偿855处理。另外,在视差估计/补偿860处理期 间,图像处理设备可通过使用邻近块的视差矢量信息、关于不同视点的彩色 图像的编码信息或与当前块相应的深度图像,执行对当前块的视差估计/补偿 860处理。

图9是用于描述根据实施例的解码设备的操作的示图。

解码设备可以可逆地执行由图8的编码设备执行的操作,以通过对编码 的比特流进行解码来输出彩色图像。根据实施例,解码设备的3D图像数据 解码处理可如下。解码设备可在操作905接收包括编码的3D图像数据的比 特流,并可在操作910执行熵解码。

解码设备可执行反量化915和逆变换920处理,并可在操作940选择解 码模式。解码设备可通过帧内预测945、运动估计/补偿950或视差估计/补偿 955处理来对比特流进行有效解码。

图像处理设备可执行运动估计/补偿950和视差估计/补偿955处理。对于 运动估计/补偿950,图像处理设备可在操作960基于相机参数935将深度信 息950转换为视差信息,并可使用转换信息来执行运动估计/补偿950处理。 可选地,对于视差估计/补偿955,图像处理设备可在操作960基于相机参数 935将深度信息965转换为视差信息,并可执行视差估计/补偿955处理。

在运动估计/补偿950处理期间,图像处理设备可通过使用邻近块的运动 矢量信息、关于不同视点的彩色图像的解码信息或与当前块相应的深度图像, 执行对当前块的运动估计/补偿950处理。另外,在视差估计/补偿955处理期 间,图像处理设备可通过使用邻近块的视差矢量信息、关于不同视点的彩色 图像的解码信息或与当前块相应的深度图像,执行对当前块的视差估计/补偿 955处理。

为了对后续彩色图像进行解码,可执行去块滤波925处理。通过去块滤 波925处理创建的参考图像可被存储并用于对后续彩色图像的解码处理。

图10是示出根据实施例的预测当前块的视差矢量的处理的示图。

参照图10,块Cb表示彩色图像中将被编码的当前块。块A、B和C表 示在与当前块邻近的位置处存在的邻近块。为了预测当前块的视差矢量,图 像处理设备可识别邻近块A、B和C的视差矢量,并可对识别出的视差矢量 应用中值滤波。

当在邻近块A、B和C之中存在不存在视差矢量的块时,图像处理设备 可用预定视差矢量来代替不存在视差矢量的邻近块的视差矢量。例如,假设 在邻近块A中不存在视差矢量。为了确定邻近块A的视差矢量,图像处理设 备可将包括在与当前块相应的深度图像中的像素的深度值之中的最大深度值 转换为视差矢量。可选地,图像处理设备可将包括在深度图像中的部分像素 的深度值之中的最大深度值转换为邻近块A的视差矢量。例如,图像处理设 备可将在预定区域(诸如,与当前块相应的深度图像的相应块内的拐角)中 存在的像素的深度值之中的最大深度值转换为视差矢量。可选地,图像处理 设备可将位于预定区域(诸如,与当前块相应的深度图像的包括相应块的宏 块内的拐角)中的像素的深度值之中的最大深度值转换为视差矢量。图像处 理设备可将转换出的视差矢量确定为邻近块A的视差矢量,并可通过对邻近 块A、B和C的视差矢量应用中值滤波来确定当前块Cb的视差矢量。

图像处理设备可基于深度图像的包括相应块的宏块来确定当前块Cb的 视差矢量。例如,图像处理设备可将包括在宏块中的像素的深度值之中的最 大深度值转换为当前块Cb的视差矢量,或者可将包括在宏块中的预定像素的 深度值之中的最大深度值转换为当前块Cb的视差矢量。另外,图像处理设备 还可仅使用与当前块Cb相应的深度图像内的预定像素。例如,图像处理设备 可将包括在与当前块Cb相应的深度图像中的单个像素的深度值转换为视差 矢量,并可将转换出的视差矢量确定为当前块Cb的视差矢量。

为了将深度值转换为视差矢量,图像处理设备还可使用相机参数信息。 通过图10得出的当前块的视差矢量和运动矢量中的每一个可被用作基于 16x16、16x8、8x16和P8x8模式的预测视差矢量。图像处理设备可通过经由 预测视差矢量执行视差估计来估计当前块的最终视差矢量。

在下文中,将描述由图像处理设备预测当前块的视差矢量的处理。

在操作1010,图像处理设备可识别当前块Cb的邻近块A、B和C的视 差矢量。在操作1020,图像处理设备可确定邻近块的视差矢量是否存在。

当存在不存在视差矢量的邻近块时,在操作1030,图像处理设备可确定 不存在视差矢量的邻近块的视差矢量。例如,图像处理设备可识别包括在与 当前块相应的深度图像中的像素之中的至少一个像素,可将识别出的像素的 深度值之中的最大深度值转换为视差矢量,并可将转换出的视差矢量确定为 不存在视差矢量的邻近块的视差矢量。为了确定邻近块的视差矢量,图像处 理设备还可仅使用与当前彩色图像相应的深度图像内的预定像素。例如,图 像处理设备可将包括在该深度图像中的预定单个像素的深度值转换为视差矢 量,并可将转换出的视差矢量确定为邻近块的视差矢量。

图像处理设备可基于与当前块相应的深度图像的相应块内的像素或包括 相应块的宏块内的像素,将深度值转换为视差矢量。例如,图像处理设备可 将包括在深度图像的相应块或宏块中的像素的深度值之中的最大深度值转换 为邻近块的视差矢量,或者可将位于相应块或宏块的预定区域中的像素的深 度值之中的最大深度值转换为邻近块的视差矢量。

在操作1040,图像处理设备可对邻近块的视差矢量应用中值滤波。在操 作1050,图像处理设备可将经过中值滤波的视差矢量确定为当前块Cb的视 差矢量。图像处理设备可对当前块Cb的视差矢量进行编码。

除了代替视差矢量的上述处理之外,还可实施下面的实施例。详细地讲, 图像处理设备可直接对与当前块Cb相应的深度图像的相应块中包括的像素 的深度值之中的最大深度值进行转换,而无需使用当前块Cb的邻近块A、B 和C的视差矢量。可选地,为了对视差矢量进行转换,图像处理设备还可仅 使用与当前块Cb相应的深度图像的相应块中包括的部分像素的深度值。例 如,图像处理设备可将位于相应块的拐角处的像素和位于相应块的中心处的 像素的深度值之中的最大深度值转换为视差矢量。图像处理设备可在将深度 值转换为视差矢量的处理期间使用相机参数信息。图像处理设备可将转换出 的视差矢量确定为当前块的视差矢量。在一实施例中,确定的当前块的视差 矢量可在针对帧间模式的视差估计处理期间提供初始点。

图11是示出根据实施例的预测当前块的针对跳过模式和直接模式的运动 矢量的处理的示图。

图11示出确定彩色图像中的当前块Cb的针对跳过模式和直接模式的最 终运动矢量的处理。在跳过模式和直接模式下,不执行运动估计和视差估计。 块A、B和C表示在与当前块Cb邻近的位置处存在的邻近块。

图像处理设备可使用邻近块A、B和C的视差矢量来预测当前块Cb的运 动矢量。当对P-视点图像或B-视点图像进行编码/解码时,图像处理设备可使 用已被编码/解码的I-视点图像的信息来预测针对跳过模式和直接模式的运动 矢量。另外,当不同视点的P-视点图像或B-视点图像已被编码/解码时,图像 处理设备还可使用P-视点图像和B-视点图像以及I-视点图像来预测针对跳过 模式和直接模式的运动矢量。

在操作1110,图像处理设备可识别与彩色图像中的当前块Cb邻近的邻 近块的视差矢量。在操作1120,图像处理设备可确定邻近块的视差矢量是否 存在。

当存在不存在视差矢量的邻近块时,在操作1130,图像处理设备可使用 深度图像来确定不存在视差矢量的邻近块的视差矢量。图像处理设备可识别 包括在与当前块Cb相应的深度图像中的像素之中的至少一个像素,并可将识 别出的像素的深度值之中的最大深度值转换为视差矢量。图像处理设备可将 转换出的视差矢量确定为不存在视差矢量的邻近块的视差矢量。另外,图像 处理设备可仅使用包括在深度图像中的部分像素的深度值来将深度值转换为 视差矢量。例如,图像处理设备可对包括在与当前块Cb相应的深度图像中的 预定单个像素的深度值进行转换,并可将转换出的视差矢量确定为邻近块的 视差矢量。图像处理设备可在将深度值转换为视差矢量的处理期间使用相机 参数信息。

图像处理设备可基于与当前块相应的深度图像的相应块或包括相应块的 宏块,确定邻近块的视差矢量。例如,图像处理设备可将包括在相应块或宏 块中的像素的深度值之中的最大深度值转换为邻近块的视差矢量,或者可将 包括在相应块或宏块中的预定像素的深度值之中的最大深度值转换为邻近块 的视差矢量。

在操作1140,图像处理设备可对邻近块的视差矢量应用中值滤波。在操 作1150,图像处理设备可使用经过中值滤波的视差矢量来确定当前块Cb的 运动矢量。图像处理设备可将由经过中值滤波的视差矢量指示的位置处的运 动矢量确定为当前块Cb的运动矢量。例如,当经过中值滤波的视差矢量指示 I-视点图像时,图像处理设备可识别在与当前彩色图像相同的时区中存在的 I-视点图像中由经过中值滤波的视差矢量指示的位置,并可使用识别出的位置 处的运动信息来确定当前块Cb的运动矢量。

当在由经过中值滤波的视差矢量指示的位置处不存在运动矢量时,图像 处理设备可使用当前块Cb的邻近块A、B和C来确定当前块Cb的运动矢量。 图像处理设备可使用邻近块A、B和C的参考图像索引之中的最小索引作为 当前块Cb的参考图像索引。例如,在P-画面的情况下,参考图像索引为“0”。

当参考图像索引指示同一视点的彩色图像时,图像处理设备可将对邻近 块A、B和C的运动矢量应用中值滤波的结果确定为当前块Cb的运动矢量。 当参考图像索引指示不同视点的彩色图像时,图像处理设备可将对邻近块A、 B和C的视差矢量应用中值滤波的结果确定为当前块Cb的运动矢量。在除 了以上两种情况之外的其他情况下,图像处理设备可将零运动矢量确定为当 前块Cb的运动矢量。

在操作1160,图像处理设备可使用确定的当前块Cb的运动矢量作为针 对跳过模式和直接模式的运动矢量。另外,图像处理设备可使用由经过中值 滤波的视差矢量指示的位置处的参考图像索引作为跳过模式和直接模式下的 参考图像索引。

图12是示出根据实施例的使用视差矢量来预测当前块的运动矢量的处 理的示图。

参照图12,图像处理设备可使用当前彩色图像1210中的当前块1230的 视差矢量1240来确定当前块1230的运动矢量1260。例如,图像处理设备可 对邻近块的视差矢量应用中值滤波,以确定当前块1230的视差矢量1240。 图像处理设备可识别参考图像1220内由经过中值滤波的视差矢量1240指示 的位置,并可将识别出的位置处的运动矢量确定为当前块1230的运动矢量 1260。

图13是示出根据实施例的预测当前块的针对帧间模式的运动矢量的处 理的示图。

参照图13,块Cb表示彩色图像中将被编码的当前块。块A、B和C表 示在与当前块Cb邻近的位置处存在的邻近块。为了预测当前块Cb的运动矢 量,图像处理设备可使用邻近块A、B和C的运动矢量。

在操作1310,图像处理设备可识别当前块Cb的邻近块的运动矢量。在 操作1320,图像处理设备可确定邻近块的运动矢量是否存在。

当存在不存在运动矢量的邻近块时,在操作1330,图像处理设备可使用 深度图像来确定不存在运动矢量的邻近块的运动矢量。图像处理设备可从不 同视点的彩色图像获取不存在运动矢量的邻近块的运动矢量。为此,图像处 理设备可使用深度图像。

图像处理设备可识别包括在与当前块Cb相应的深度图像中的像素之中 的至少一个像素,并可将识别出的像素的深度值之中的最大深度值转换为视 差矢量。为了将深度值转换为视差矢量,图像处理设备还可仅使用包括在深 度图像中的部分像素的深度值。例如,图像处理设备可将与当前块Cb相应的 深度图像的相应块中包括的像素的深度值之中的最大深度值转换为视差矢 量。可选地,图像处理设备可将位于相应块内的拐角处的四个像素的深度值 和位于相应块的中心处的像素的深度值之中的最大深度值转换为视差矢量。 图像处理设备可在将深度值转换为视差矢量的处理期间使用相机参数信息。 图像处理设备可使用视差矢量来确定邻近块的运动矢量。图像处理设备可将 由视差矢量指示的位置处的运动矢量确定为邻近块的运动矢量。

图像处理设备可基于深度图像的包括相应块的宏块来确定邻近块的运动 矢量。例如,图像处理设备可将包括在宏块中的像素的深度值之中的最大深 度值转换为视差矢量,并可将由转换出的视差矢量指示的位置处的运动矢量 确定为邻近块的运动矢量。可选地,图像处理设备可将包括相应块的宏块中 包括的预定像素的深度值之中的最大深度值转换为邻近块的视差矢量,并可 使用转换出的视差矢量来估计邻近块的运动矢量。

为了确定邻近块的运动矢量,图像处理设备可仅使用与当前彩色图像相 应的深度图像内的预定像素。例如,图像处理设备可将包括在与当前彩色图 像相应的深度图像中的预定单个像素的深度值转换为视差矢量,并可将由转 换出的视差矢量指示的位置处的运动矢量确定为邻近块的运动矢量。

在当前块Cb的参考图像索引与从不同视点的彩色图像获得的参考图像 索引不同时,图像处理设备可将零运动矢量确定为邻近块的运动矢量。例如, 当通过对深度值进行转换而创建的视差矢量指示I-视点图像时,图像处理设 备可识别与当前彩色图像处于同一时区的I-视点图像中由该视差矢量指示的 位置,并可使用识别出的位置处的运动信息来确定当前块Cb的运动矢量。当 在由该视差矢量指示的位置处不存在运动矢量时,图像处理设备可使用零运 动矢量作为邻近块的运动矢量。

在操作1340,图像处理设备可通过对邻近块的运动矢量应用中值滤波来 确定当前块Cb的运动矢量。在操作1350,图像处理设备可使用经过中值滤 波的运动矢量来执行帧间模式下的运动估计。图像处理设备可使用经过中值 滤波的运动矢量作为帧间模式下的预测运动矢量。预测运动矢量可在执行帧 间模式下的运动估计时提供初始点。

根据实施例,以上参照图10至图13进行的描述可被如下配置:

<J.8.3.1关于运动矢量分量和参考索引的推导处理>

1)在该处理期间的输入:

-宏块分区mbPartIdx

-子宏块分区subMbPartIdx

2)在该处理期间的输出:

-如果ChromaArrayType不为“0”,则亮度运动矢量mvL0和mvL1,色 度运动矢量mvCL0和mvCL1,

-参考索引refIdxL0和refIdxL1,

-预测列表使用标记predFlagL0和predFlagL1,

-运动矢量计数变量subMvCnt。

3)下面的内容可应用于推导变量refIdxL0、refIdxL1、mvL0和mvL1。

A.如果mb_type等于P_Skip,

a)如果MbVSSkipFlag等于“0”,

-如果nal_unit_type等于“21”,DepthFlag等于“0”,并且dmvp_flag 等于"1",则子条款J.8.3.1.1中关于包括在P条带和SP条带中的跳过 宏块的亮度运动矢量的基于深度的推导处理被调用,并且在这种情况 下,具有亮度运动矢量mvL0、参考索引refIdxL0和predFlagL0被设 置为“1”的输出。

-否则(如果nal_unit_type不等于“21”,或者如果DepthFlag不等 于“1”,或者如果dmvp_flag不等于“0”),则子条款J.8.4.1.1中关于 包括在P条带和SP条带中的跳过宏块的亮度运动矢量的基于深度的推 导处理被调用,并且在这种情况下,具有亮度运动矢量mvL0、参考 索引refIdxL0和predFlagL0被设置为“1”的输出。

b)如果MbVSSkipFlag等于“1”,

-子条款J.8.3.1.2中关于包括在P条带和SP条带中的VSP跳过宏块 的亮度运动矢量的推导处理被调用,并且在这种情况下,具有亮度运 动矢量mvL0、参考索引refIdxL0和predFlagL0被设置为“1”的输出。

c)如果mvL1和refIdxL1被标记为不可用,并且predFlagL1等于“0”, 则运动矢量计数变量subMvCnt被设置为“1”。

B.如果mb_type等于B_Skip或B_Direct_16x16,或者如果sub_mb_type [mbPartIdx]等于B_Direct_8x8,则可应用下面的内容。

a)变量vspFlag如下面的表1所表示的来实现。

[表1]

b)如果vspFlag等于“0”,nal_unit_type等于“21”,DepthFlag等于 “0”,并且dmvp_flag等于“1”,则子条款J.8.3.1.3中关于包括 在B条带中的B_Skip、B_Direct_16x16和B_Direct_8x8的亮度运 动矢量的基于深度的推导处理被调用,并且在这种情况下,具有输 入mbPartIdx和subMbPartIdx,并且具有如下输出:亮度运动矢量 mvL0和mvL1、参考索引refIdxL0和refIdxL1、运动矢量计数变 量subMvCnt以及预测列表使用标记predFlagL0和predFlagL1。

c)如果vspFlag等于“0”并且nal_unit_type不等于“21”,或者 DepthFlag等于“1”,或者dmvp_flag等于“0”,则子条款J.8.4.1.2 中关于包括在B条带中的B_Skip、B_Direct_16x16和B_Direct_8x8 的亮度运动矢量的推导处理被调用,并且在这种情况下,具有输入 mbPartIdx和subMbPartIdx,并且具有如下输出:亮度运动矢量mvL0 和mvL1、参考索引refIdxL0和refIdxL1、运动矢量计数变量 subMvCnt以及预测列表使用标记predFlagL0和predFlagL1。

d)如果vspFlag等于“1”,则子条款J.8.3.1.6中关于包括在B条带中 的B_Skip、B_Direct_16x16和B_Direct_8x8的亮度运动矢量的推 导处理被调用。

在子条款J.8.4.1中,

如果predFlagLX等于“1”,DepthFlag等于“0”并且dmvp_flag等于 “1”,则子条款8.3.1.7中关于亮度运动矢量预测的推导处理被调用,并且 在这种情况下,具有输入mbPartIdx、subMbPartIdx、refIdxLX和 currSubMbType,并且具有输出mvpLX。如果predFlagLX等于“1”并且 DepthFlag等于“1”,或者dmvp_flag等于“0”,则子条款8.4.1.3中关 于亮度运动矢量预测的推导处理被调用,并且在这种情况下,具有输入 mbPartIdx、subMbPartIdx、refIdxLX和currSubMbType,并且具有输出 mvpLX。

<J.8.3.1.1关于P条带和SP条带中的跳过宏块的亮度运动矢量的推导处 理>

如果mb_type等于P_Skip,nal_unit_type等于“21”,DepthFlag等于“0”, dmvp_flag等于“1”,并且MbVSSkipFlag等于“0”,则调用该处理。

1)该处理的输出:

-运动矢量mvL0,

-参考索引refIdxL0。

2)为了推导P_Skip宏块类型的refIdxL0和运动矢量mvL0,实施下面的 操作。

a.调用在子条款J.8.3.1.5中指定的处理。在这种情况下,作为输入, mbPartIdx被设置为“0”,subMbPartIdx被设置为“0”,currSubMbType被设 置为“na”,并且listSuffixFlag被设置为“0”。作为输出,运动矢量mvL0和 参考索引refIdxL0被分配。

b.如果refIdxL0等于“-1”:

-针对跳过宏块的参考索引refIdxL0被推导为refIdxL0=0。

-子条款J.8.3.1.7中关于亮度运动矢量预测的推导处理被调用。在这种情 况下,mbPartIdx=0、subMbPartIdx=0、refIdxL0和currSubMbType=“na” 被设置为输入,并且mvL0被设置为输出。

<J.8.3.1.2关于包括在P条带和SP条带中的VSP跳过宏块的亮度运动矢 量的推导处理>

如果mb_type等于P_Skip,nal_unit_type等于“21”,DepthFlag为“0” 并且MbVSSkipFlag为“1”,则调用该处理。

该处理的输出为运动矢量mvL0和参考索引refIdxL0。

针对VSP跳过宏块的参考索引refIdxL0VSP被获取作为RefPicList0中首 先出现的合成图片。

<J.8.3.1.3关于B_Skip、B_Direct_16x16和B_Direct_8x8的亮度运动矢 量的推导处理>

该处理的输入为当前宏块的分区索引mbPartIdx和subMbPartIdx。

该处理的输出为参考索引refIdxL0和refIdxL1、运动矢量mvL0和 mvL1、运动矢量计数变量变量subMvCnt以及预测列表使用标记predFlagL0 和predFlagL1。

指定下面的操作来驱动输出。

1.变量currSubMbType被设置为等于sub_mb_type[mbPartIdx]。

2.调用在子条款J.8.3.1.5中指定的处理。在这种情况下,mbPartIdx=0、 subMbPartIdx=0以及currSubMbType和listSuffixFlag=0被设置为输入。运 动矢量mvL0和参考索引refIdxL0被分配作为输出。

3.调用在子条款J.8.3.1.5中指定的处理。在这种情况下,mbPartIdx被 设置为“0”,subMbPartIdx被设置为“0”,并且currSubMbType和listSuffixFlag 被设置为“1”。运动矢量mvL1和参考索引refIdxL1被分配作为输出。

4.如果参考索引refIdxL0和refIdxL1等于“-1”,则应用下面的处理。

-根据下面的表2来推导参考索引refIdxL0和refIdxL1。

[表2]

-调用子条款J.8.3.1.7中关于亮度运动矢量预测的推导处理。在这种情况 下,mbPartIdx=0、subMbPartIdx=0、refIdxLX(X=0或1)和currSubMbType 被设置为输入,并且mvLX被分配作为输出。

<J.8.3.1.4关于视差矢量和视点间参考的推导处理>

在该处理期间,输入包括深度参考视点分量(depth reference view  component)depthPic、分区的左上样本的位置(dbx1,dby1)以及listSuffixFlag。

在该处理期间,输出包括画面InterViewPic、偏移矢量dv和变量 InterViewAvailable。

InterViewAvailable被设为“0”。

应用下面的表3来获取InterViewPic,其中,InterViewPic是视点间唯一 参考画面,或者是在listFuffixFlag为“1”或“0”以外的值并且X被设置 为“1”的状态下的视点间参考画面。

[表3]

如果InterViewAvailable=“1”,则顺序地应用下面的操作。

-调用子条款8.4.1.3.2中指定的处理。在这种情况下,作为输入, mbPartIdx被设置为“0”,subMbPartIdx被设置为“0”,currSubMbType被 设置为“na”并且listSuffixFlag被设置为“0”。另外,参考索引refIdxCandL0[i] 和运动矢量mvCandL0[i]被设置为输出。这里,i具有与相邻分区A、B和C 中的每一个相应的值“0”、“1”或“2”。

-调用子条款8.4.1.3.2中指定的处理。在这种情况下,作为输入, mbPartIdx被设置为“0”,subMbPartIdx被设置为“0”,currSubMbType被设 置为“na”,并且listSuffixFlag被设置为“1”。另外,参考索引refIdxCandL1[i] 和运动矢量mvCandL1[i]被设置为输出。这里,i具有与相邻分区A、B和 C中的每一个相应的值“0”、“1”或“2”。

根据下面的操作来确定变量dv。

-根据下面的表4来设置DvAvailable[i]。这里,i具有与相邻分区A、B 和C中的每一个相应的值“0”、“1”或“2”。

[表4]

-如果DvAvailable[0]、DvAvailable[1]和DvAvailable[2]中的任何一个等于 “1”,

则dv[0]=mvCandLX[i][0]

dv[1]=mvCandLX[i][1]。

-否则,顺序应用下面的操作。

1、变量maxDepth如下面的表5所表示的来设置。

[表5]

2、变量disp如下面的表6所表示的来设置。

[表6]

3、如果DvAvailable[i]等于“0”,则

mvCandLX[i]=disp

4、变量dv的分量被给定分别作为运动矢量的相应矢量分量 mvCandLX[0]、mvCandLX[1]和mvCandLX[2]的中值。

dv[0]=Median(mvCandLX[0][0],mvCandLX[1][0],and mvCandLX[2][0])

dv[1]=Median(mvCandLX[0][1],mvCandLX[1][1],and mvCandLX[2][1])

<J.8.3.1.5关于视点间参考中的的视点间运动矢量的推导处理>

在该处理期间,输入包括mbPartIdx、subMbPartIdx和listSuffixFlag。

在该处理期间,输出包括运动矢量mvCorrespond和参考索引 refIdxCorrespond。

根据下面的操作来推导出视点间参考画面InterViewPic和偏移矢量dv。

-调用逆宏块扫描处理。在这种情况下,CurrMbAddr被设置为输入, 并且(x1,y1)被分配作为输出。

-调用逆宏块分区扫描处理。在这种情况下,mbPartIdx被设置为输入, 并且(dx1,dy1)被分配作为输出。

-调用逆子宏块分区扫描处理。在这种情况下,mbPartIdx和 subMbPartIdx被设置为输入,并且(dx2,dy2)被分配作为输出。

-调用子条款J.8.3.1.4中指定的处理。在这种情况下,DepthCurrPic、 被设置为x1+dx1+dx2的dbx1、被设置为y1+dy1+dy2的dby1以及 listSuffixFlag被设置为输入,并且InterViewPic、偏移矢量dv和变量 InterViewAvailable被分配作为输出。

refIdxCorrespond和mvCorrespond可被如下设置。

-如果InterViewAvailable等于“0”,则refIdxCorrespond被设置为“-1” 并且mvCorrespond[0]和mvCorrespond[1]都被设置为“0”。

-否则,顺序应用下面的操作。

-变量luma4x4BlkIdx被推导为由(4*mbPartIdx+subMbPartIdx)表 示。

-调用逆4x4亮度块扫描处理。在这种情况下,luma4x4BlkIdx被设 置为输入,并且(x,y)被分配作为输出。另外,(xCorrespond,yCorrespond)被 设置为(x+(dv[0]>>4),y+(dv[1]>>4)),并且mbAddrCorrespond被设置为 ((CurrMbAddr/PicWidthInMbs)+(dv[1]>>6))*PicWidthInMbs+ (CurrMbAddr%PicWidthInMbs)+(dv[0]>>6)。

-mbTypeCorrespond被设置为画面InterViewPic内地址为 mbAddrCorrespond的宏块的语法元素mb_type。如果mbTypeCorrespond等于 P_8x8、P_8x8ref0或B_8x8,则subMbTypeCorrespond被设置为画面 InterViewPic内地址为mbAddrCorrespond的宏块的语法元素sub_mb_type。

-mbPartIdxCorrespond被设置为相应分区的宏块分区索引,并且 subMbPartIdxCorrespond被设置为子宏块分区的子宏块分区索引。关于宏块分 区索引和子宏块分区索引的推导处理被调用。在这种情况下,在 mbTypeCorrespond等于P_8x8、P_8x8ref0或B_8x8时等于(xCorrespond, yCorrespond)的亮度位置、等于mbTypeCorrespond的宏块类型以及子宏块类 型的列表subMbTypeCorrespond被设置为输入。另外,宏块分区索引 mbPartIdxCorrespond和子宏块分区索引subMbPartIdxCorrespond被分配作为 输出。

-运动矢量mvCorrespond和参考索引refIdxCorrespond被如下确定。

-当使用帧内预测模式来对宏块mbAddrCorrespond进行编码时, mvCorrespond的分量被设置为“0”,并且refIdxCorrespond的分量被设置为 “-1”。

-否则(当未使用帧内预测模式来对宏块mbAddrCorrespond进行编 码时),预测使用标记predFlagLXCorrespond被设置为等于 PredFlagLX[mbPartIdxCorrespond](画面InterViewPic的宏块分区 mbAddrCorrespond\mbPartIdxCorrespond的预测使用标记)。另外,应用下面 的处理。

-如果predFlagLXCorrespond等于“1”,则mvCorrespond和参考索 引refIdxCorrespond被分别设置为 MvLX[mbPartIdxCorrespond][subMbPartIdxCorrespond]和 RefIdxLX[mbPartIdxCorrespond]。另外, MvLX[mbPartIdxCorrespond][subMbPartIdxCorrespond]和 RefIdxLX[mbPartIdxCorrespond]分别是被分配给画面InterViewPic内的(子) 宏块分区mbAddrCorrespond\mbPartIdxCorrespond\subMbPartIdxCorrespond 的运动矢量mvLX和参考索引refIdxLX。

<J.8.3.1.6关于包括在B条带中的VSP跳过/直接宏块的亮度运动矢量 的推导处理>

该处理的输出包括运动矢量mvL0和mvL1以及参考索引refIdxL0和 refIdxL1。

VSP跳过/直接宏块的参考索引refIdxLX被推导为在参考画面列表X 中首先出现的合成参考分量。这里,X用“0”或“1”代替。如果在参考画 面列表X中不存在合成画面,则refIdxLX被设为0。

运动矢量mvLX被设置为零运动矢量。这里,X用“0”或“1”代替。

<J.8.3.1.7关于亮度运动矢量预测的推导处理>

该处理的输入如下。

-宏块分区索引mbPartIdx,

-子宏块分区索引subMbPartIdx,

-当前分区的参考索引refIdxLX(这里,X=0或1),

-变量currSubMbType。

该处理的输出包括运动矢量mvLX的预测mvpLX(这里,X=0或1)。

下面的内容被应用于子条款J.8.4.1.3。

在N=A、B或C并且X=0或1的条件下,如果refIdxLX不等于 refIdxLXN,则应用下面的内容。

mbAddrN\mbPartIdxN\subMbPartIdxN被标记为不可用。

refIdxLXN=-1

mvLXN[0]=0

mvLXN[1]=0

调用关于运动数据的邻近块的推导处理。在这种情况下,mbPartIdx、 subMbPartIdx、currSubMbType和listSuffixFlag=X(这里,针对refIdxLX或 refIdxL1,X=0或1)被设置为输入。另外, mbAddrN\mbPartIdxN\subMbPartIdxN、参考索引refIdxLXN和运动矢量 mvLXN(这里,N用A、B或C代替)被分配作为输出。

-应用下面的其他内容。

-否则,当refIdxLX是视点间参考分量或视点间唯一参考分量的参 考索引时,调用关于中值亮度视点间运动矢量预测的基于深度的推导处理。 在这种情况下,mbAddrN\mbPartIdxN\subMbPartIdxN、mvLXN、refIdxLXN(这 里,N用A、B或C代替)以及refIdxLX被设置为输入,并且运动矢量预测因 子mvpLX被分配作为输出。

-否则,当refIdxLX是视点间参考分量或视点间唯一参考分量的参考 索引时,调用关于中值亮度时间运动矢量预测的基于深度的推导处理。在这 种情况下,mbAddrN\mbPartIdxN\subMbPartIdxN、mvLXN、refIdxLXN(这里, N用A、B或C代替)和refIdxLX被设置为输入,并且运动矢量预测因子mvpLX 被分配作为输出。

-否则,如果MbPartWidth(mb_type)等于“8”,MbPartHeight(mb_type) 等于“16”,mbPartIdx等于“mvpLX=mvLXCto 1”,并且refIdxLXC等于 refIdxLX,则运动矢量预测因子mvpLX被如下推导。

mvpLX=mvLXC

<J.8.3.1.8关于中值亮度视点间运动矢量预测的基于深度的推导处理>

该处理的输入如下。

-相邻分区mbAddrN\mbPartIdxN\subMbPartIdxN(这里,N用A、B 或C代替),

-相邻分区的运动矢量mvLXN(这里,N用A、B或C代替),

-相邻分区的参考索引refIdxLXN(这里,N用A、B或C代替),

-当前分区的参考索引refIdxLXN。

该处理的输出为运动矢量预测因子mvpLX。

如果分区mbAddrN\mbPartIdxN\subMbPartIdxN不可用或者如果 refIdxLXN不等于refIdxLX,则按照下面的顺序来推导mvLXN。

1.调用逆宏块扫描处理。在这种情况下,CurrMbAddr被设置为输入, 并且(x1,y1)被分配作为输出。

2.调用逆宏块分区扫描处理。在这种情况下,mbPartIdx被设置为输 入,并且(dx1,dy1)被分配作为输出。

3.调用逆子宏块分区扫描处理。在这种情况下,mbPartIdx和 subMbPartIdx被设置为输入,并且(dx2,dy2)被分配作为输出。

4.调用中值亮度运动矢量预测中对视点间运动矢量的修正处理。在 这种情况下,depthPic=DepthRefPicList0[refIdxL0]、dbx1=x1+dx1+dx2、 dby1=y1+dy1+dy2并且mv=mvL0被设置为输入。另外,运动矢量 mvLXN被分配作为输出。

如下,基于运动矢量mvLXA、mvLXB和mvLXC的相应矢量分量的 中值来确定运动矢量预测因子mvpLX的每个分量。

mvpLX[0]=Median(mvLXA[0],mvLXB[0],mvLXC[0])

mvpLX[1]=Median(mvLXA[1],mvLXB[1],mvLXC[1])

<8.3.1.8.1中值亮度运动矢量预测中关于视点间运动矢量的修正处理>

该处理的输入如下。

-深度参考视点分量depthPic,

-分区的左上样本的位置(dbx1,dby1),

-运动矢量mv。

该处理的输出为运动矢量mv。

这里,refViewId被假设为depthPic的view_id值。

顺序应用下面的处理。

1.numSamples被假设为partWidth*partHeight。

2.可基于下面的表7来确定变量maxDepth。

[表7]

3.可基于下面的表8来确定变量mv。

[表8]

<J.8.3.1.9关于中值亮度时间运动矢量预测的基于深度的推导处理>

该处理的输入如下。

-相邻分区mbAddrN\mbPartIdxN\subMbPartIdxN(这里,N用A、B或 C代替),

-相邻分区的运动矢量mvLXN(这里,N用A、B或C代替),

-相邻分区的参考索引refIdxLXN(这里,N用A、B或C代替),

-当前分区的参考索引refIdxLX。

该处理的输出为运动矢量预测因子mvpLX。

如果分区mbAddrN\mbPartIdxN\subMbPartIdxN不可用,或者如果 refIdxLXN不等于refIdxLX,则按照下面的顺序来推导mvLXN。

1.调用逆宏块扫描处理。在这种情况下,CurrMbAddr被设置为输 入,并且(x1,y1)被分配作为输出。

2.调用逆宏块分区扫描处理。在这种情况下,mbPartIdx被设置为输 入,并且(dx1,dy1)被分配作为输出。

3.调用逆子宏块分区扫描处理。在这种情况下,mbPartIdx和 subMbPartIdx被设置为输入,并且(dx2,dy2)被分配作为输出。

4.调用子条款J.8.3.1.10中指定的处理。在这种情况下,设置为 DepthCurrPic的depthPic、设置为x1+dx1+dx2的dbx1、设置为y1+dy1+dy2 的dby1以及listSuffixFlag被设置为输入。另外,InterViewPic、偏移矢量dv 和变量InterViewAvailable被分配作为输出。

5.refIdxCorrespond和mvCorrespond被如下设置。

-如果InterViewAvailable等于0d,则refIdxCorrespond被设置为“-1”, 并且mvCorrespond[0]和mvCorrespond[1]都被设置为“0”。

-否则,顺序应用下面的处理。

-变量luma4x4BlkIdx被推导为(4*mbPartIdx+subMbPartIdx)。

-调用逆4x4亮度块扫描处理。在这种情况下,luma4x4BlkIdx被 设置为输入,并且(x,y)被分配作为输出。另外,(xCorrespond,yCorrespond)被 设置为(x+(dv[0]>>4),y+(dv[1]>>4)),并且mbAddrCorrespond被设置为 ((CurrMbAddr/PicWidthInMbs)+(dv[1]>>6))*PicWidthInMbs+ (CurrMbAddr%PicWidthInMbs)+(dv[0]>>6)。

-mbTypeCorrespond被设置为画面InterViewPic内地址为 mbAddrCorrespond的宏块的语法元素mb_type。如果mbTypeCorrespond等于 P_8x8、P_8x8ref0或B_8x8,则subMbTypeCorrespond被设置为画面 InterViewPic内地址为mbAddrCorrespond的宏块的语法元素sub_mb_type。

-mbPartIdxCorrespond被设置为相应分区的宏块分区索引,并且 subMbPartIdxCorrespond被设置为相应子宏块分区的子宏块分区索引。调用关 于宏块和子宏块分区索引的推导处理。在这种情况下,当mbTypeCorrespond 等于P_8x8、P_8x8ref0或B_8x8时等于(xCorrespond,yCorrespond)的亮度位 置,等于mbTypeCorrespond的宏块类型以及子宏块类型的列表 subMbTypeCorrespond被设置为输入。另外,宏块分区索引 mbPartIdxCorrespond和子宏块分区索引subMbPartIdxCorrespond被分配作为 输出。

-运动矢量mvCorrespond和参考索引refIdxCorrespond被如下确定。

-当使用帧内预测模式对宏块mbAddrCorrespond进行编码时, mvCorrespond的分量被设置为“0”并且refIdxCorrespond的分量被设置为 “-1”。

-否则(如果未使用帧内预测模式对宏块mbAddrCorrespond进行编 码),预测使用标记predFlagLXCorrespond被设置为等于 PredFlagLX[mbPartIdxCorrespond](画面InterViewPic的宏块分区 mbAddrCorrespond\mbPartIdxCorrespond的预测使用标记)。另外,应用下面 的处理。

-如果predFlagLXCorrespond等于“1”,则mvCorrespond和参考 索引refIdxCorrespond被分别设置为 MvLX[mbPartIdxCorrespond][subMbPartIdxCorrespond]和 RefIdxLX[mbPartIdxCorrespond]。这里, MvLX[mbPartIdxCorrespond][subMbPartIdxCorrespond]和 RefIdxLX[mbPartIdxCorrespond]分别是分配给画面InterViewPic内的(子)宏 块分区mbAddrCorrespond\mbPartIdxCorrespond\subMbPartIdxCorrespond的运 动矢量mvLX和参考索引refIdxLX。

6.根据下面的表9来推导运动矢量mvLXN。

[表9]

基于运动矢量mvLXA、mvLXB和mvLXC的相应矢量分量的中值来 确定运动矢量预测因子mvpLX的每个分量。

mvpLX[0]=Median(mvLXA[0],mvLXB[0],mvLXC[0])

mvpLX[1]=Median(mvLXA[1],mvLXB[1],mvLXC[1])

<J.8.3.1.10关于视点间参考和视差矢量的推导处理>

该处理的输入包括深度参考视点分量depthPic、分区的左上样本的位 置(dbx1,dby1)以及listSuffixFlag。

该处理的输出包括画面InterViewPic、偏移矢量dv以及变量 InterViewAvailable。

InterViewAvailable被设置为“0”。

应用下面的表10来推导视点间参考画面或视点间唯一参考画面以及 InterViewPic。在这种情况下,当listFuffixFlag为“1”或“0”以外的值时, X被设置为“1”。

[表10]

如果InterViewAvailable=1,则顺序应用下面的操作。

1)变量maxDepth如下面的表11所表示的来指定。

[表11]

2)变量dv如下面的表12所表示的来指定。

[表12]

图14是示出根据实施例的用于预测当前块的视差矢量的图像处理方法 的流程图。

在操作1410,图像处理设备可识别与彩色图像的当前块相应的深度图像。 当与彩色图像相应的深度图像不存在时,图像处理设备可使用包括当前块的 彩色图像的相邻彩色图像或另一深度图像来估计与当前块相应的深度图像。

在操作1420,图像处理设备可基于包括在深度图像中的像素的深度值来 确定当前块的视差矢量。图像处理设备可基于与当前块相应的深度图像的深 度信息来确定当前块的视差矢量。图像处理设备可识别包括在深度图像中的 像素之中的至少一个像素,并可将识别出的像素的深度值之中的最大深度值 转换为当前块的视差矢量。

例如,图像处理设备可基于与当前块相应的深度图像的相应块中包括的 像素的深度值来确定当前块的视差矢量。图像处理设备可将包括在深度图像 的相应块中的一个或更多个像素的深度值之中的最大深度值转换为视差矢 量。可选地,图像处理设备可从包括在深度图像的相应块中的多个像素之中, 识别位于深度图像内的预定区域中的像素的深度值。例如,图像处理设备可 识别位于相应块的拐角处的像素的深度值,或者可识别位于相应块的拐角处 的像素的深度值和位于相应块的中心处的像素的深度值。图像处理设备可将 位于预定区域中的像素的深度值之中的最大深度值转换为视差矢量。图像处 理设备可将转换出的视差矢量确定为当前块的视差矢量。

图像处理设备可基于深度图像的包括相应块的宏块来确定当前块的视差 矢量。例如,图像处理设备可将包括在宏块中的像素的深度值之中的最大深 度值转换为当前块的视差矢量,或者可将包括在宏块中的预定像素的深度值 之中的最大深度值转换为当前块的视差矢量。另外,图像处理设备可仅使用 与当前块相应的深度图像内的预定像素。例如,图像处理设备可将包括在与 当前块相应的深度图像中的预定单个像素的深度值转换为视差矢量,并可将 转换出的视差矢量确定为当前块的视差矢量。可选地,图像处理设备可将相 应块或宏块内的预定单个像素的深度值转换为当前块的视差矢量。

图像处理设备可在将深度值转换为视差矢量的处理期间使用相机参数信 息。

图15是示出根据实施例的用于预测当前块的运动矢量的图像处理方法 的流程图。

在操作1510,图像处理设备可识别与彩色图像的当前块邻近的邻近块的 视差矢量,并可确定在邻近块中是否存在视差矢量。

在操作1520,当邻近块不具有视差矢量时,图像处理设备可使用与彩色 图像相应的深度图像来确定邻近块的视差矢量。

图像处理设备可识别包括在与当前块相应的深度图像中的像素之中的至 少一个像素。图像处理设备可将识别出的像素的深度值之中的最大深度值转 换为视差矢量,并可将转换出的视差矢量确定为邻近块的视差矢量。图像处 理设备可仅使用包括在深度图像中的部分像素,并可将所述部分像素的深度 值之中的最大深度值转换为邻近块的视差矢量。例如,图像处理设备可将包 括在与当前块相应的深度图像中的预定单个像素的深度值转换为视差矢量。

图像处理设备可将与当前块相应的深度图像的相应块中包括的一个或更 多个像素的深度值之中的最大深度值转换为视差矢量,并可将转换出的视差 矢量确定为邻近块的视差矢量。可选地,图像处理设备可从与当前块相应的 深度图像的相应块中包括的多个像素之中识别位于预定区域中的像素的深度 值。例如,图像处理设备可识别位于相应块的拐角处的像素的深度值,或者 可识别位于相应块的拐角处的像素的深度值和位于相应块的中心处的像素的 深度值。图像处理设备可将位于预定区域中的像素的深度值之中的最大深度 值转换为视差矢量。图像处理设备可将转换出的视差矢量确定为邻近块的视 差矢量。

图像处理设备可基于深度图像的包括相应块的宏块来确定邻近块的视差 矢量。例如,图像处理设备可将包括在宏块中的像素的深度值之中的最大深 度值转换为邻近块的视差矢量,或者可将包括在宏块中的预定像素的深度值 之中的最大深度值转换为邻近块的视差矢量。

在操作1530,图像处理设备可基于邻近块的视差矢量来确定当前块的视 差矢量。例如,图像处理设备可对邻近块的视差矢量应用中值滤波,并可将 中值滤波的结果确定为当前块的视差矢量。

在操作1540,图像处理设备可使用当前块的视差矢量来确定当前块的运 动矢量。图像处理设备可使用当前块的视差矢量来识别包括当前块的彩色图 像的相邻彩色图像中的一位置,并可将识别出的位置处的运动矢量确定为当 前块的运动矢量。

图像处理设备可使用确定的当前块的视差矢量来识别在包括当前块的彩 色图像的相邻彩色图像中的一位置。图像处理设备可将识别出的位置处的运 动矢量确定为当前块的运动矢量。当在识别出的位置处不存在运动矢量时, 图像处理设备可使用与当前块邻近的邻近块来确定当前块的运动矢量。图像 处理设备可基于邻近块的运动矢量和视差矢量中的至少一个来确定当前块的 运动矢量。

图16是示出根据另一实施例的用于预测当前块的运动矢量的图像处理 方法的流程图。

在操作1610,图像处理设备可使用与彩色图像的当前块邻近的邻近块的 视差矢量来确定当前块的视差矢量。图像处理设备可确定在邻近块中是否存 在视差矢量,并可在邻近块不具有视差矢量时,使用与彩色图像相应的深度 图像来确定邻近块的视差矢量。

当邻近块不具有视差矢量时,图像处理设备可识别与彩色图像的当前块 相应的深度图像。图像处理设备可基于包括在深度图像中的至少一个像素的 深度值来确定邻近块的视差矢量。

例如,图像处理设备可将宏块或与当前块相应的深度图像的相应块中包 括的一个或更多个像素的深度值之中的最大深度值转换为视差矢量,并可将 转换出的视差矢量确定为邻近块的视差矢量。

可选地,图像处理设备可仅使用包括在深度图像的相应块或宏块中的部 分像素,并可将所述部分像素的深度值之中的最大深度值转换为邻近块的视 差矢量。例如,图像处理设备可将位于宏块或与当前块相应的深度图像的相 应块的预定区域中的像素的深度值之中的最大深度值转换为视差矢量,并可 将转换出的视差矢量确定为邻近块的视差矢量。

另外,图像处理设备可仅使用与当前块相应的深度图像内的预定像素。 例如,图像处理设备可将包括在与当前块相应的深度图像中的单个像素的深 度值转换为视差矢量,并可将转换出的视差矢量确定为邻近块的视差矢量。

图像处理设备可基于邻近块的视差矢量来确定当前块的视差矢量。例如, 图像处理设备可通过对邻近块的视差矢量应用中值滤波来确定当前块的视差 矢量。

在操作1620,图像处理设备可使用当前块的视差矢量来确定当前块的运 动矢量。图像处理设备可使用当前块的视差矢量来识别在包括当前块的彩色 图像的相邻彩色图像中的一位置。图像处理设备可将识别出的位置处的运动 矢量确定为当前块的运动矢量。当在识别出的位置处不存在运动矢量时,图 像处理设备可基于与当前块邻近的邻近块的运动矢量和视差矢量中的至少一 个来确定当前块的运动矢量。当即使使用邻近块的运动矢量或视差矢量也不 能确定当前块的运动矢量时,图像处理设备可将零运动矢量确定为当前块的 运动矢量。

图17是示出根据另一实施例的用于预测当前块的运动矢量的图像处理 方法的流程图。

在操作1710,图像处理设备可识别与彩色图像的当前块邻近的邻近块的 运动矢量。图像处理设备可确定在邻近块中是否存在运动矢量。

在操作1720,当邻近块不具有运动矢量时,图像处理设备可使用与彩色 图像相应的深度图像来确定邻近块的运动矢量。

为了确定邻近块的运动矢量,图像处理设备可使用深度图像来获取视差 矢量。例如,图像处理设备可识别包括在与当前块相应的深度图像中的至少 一个像素,并可将识别出的像素的深度值之中的最大深度值转换为视差矢量。 可选地,为了确定邻近块的运动矢量,图像处理设备可仅使用与当前彩色图 像相应的深度图像内的预定像素。

图像处理设备可基于深度图像的包括相应块的宏块来确定邻近块的运动 矢量。例如,图像处理设备可将包括相应块的宏块中包括的预定像素的深度 值之中的最大深度值转换为邻近块的视差矢量,并可使用转换出的视差矢量 来估计邻近块的运动矢量。

图像处理设备可基于视差矢量来识别由视差矢量指示的位置。图像处理 设备可将识别出的位置处的运动矢量确定为邻近块的运动矢量。当在识别出 的位置处不存在运动矢量时,图像处理设备可将零运动矢量确定为邻近块的 运动矢量。

在操作1730,图像处理设备可基于邻近块的运动矢量来确定当前块的运 动矢量。例如,图像处理设备可通过对邻近块的运动矢量应用中值滤波来确 定当前块的运动矢量。

上述实施例可被记录在包括用于实现由计算机实施的各种操作的程序指 令的非暂时性计算机可读介质中。所述介质还可单独或组合地包括程序指令、 数据文件、数据结构等。记录在所述介质上的程序指令可以是为示例实施例 的目的专门设计和构建的程序指令,或者它们可以是对于计算机软件领域中 的技术人员是公知且可用的程序指令。非暂时性计算机可读介质的示例包括 磁介质(诸如,硬盘、软盘和磁带)、光学介质(诸如,CD ROM盘和DVD)、 磁光介质(诸如,光盘)以及专门配置用于存储和执行程序指令的硬件装置 (诸如,只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。非暂时 性计算机可读介质还可以是分布式网络,使得程序指令以分布式方式被存储 和运行。可由一个或更多个处理器来运行程序指令。非暂时性计算机可读介 质还可实现在运行(像处理器一样处理)程序指令的至少一个专用集成电路 (ASIC)或现场可编程门阵列(FPGA)中。程序指令的示例包括机器代码 (诸如由编译器产生的机器代码)和包含可由计算机使用解释器运行的更高 级代码的文件两者。上述装置可被配置为充当一个或更多个软件模块,以便 执行上述示例实施例的操作,或者反之亦然。

尽管已经示出并描述了示例实施例,但本领域中的技术人员将理解,在 不脱离本公开的原理和精神的情况下,可对这些示例实施例进行改变,其中, 本公开的范围由权利要求和它们的等同物限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号