首页> 中国专利> 支持自动立体显示器上的实时3D 图像渲染的多核心处理器

支持自动立体显示器上的实时3D 图像渲染的多核心处理器

摘要

一种多核心处理器系统可以支持在自动立体显示器上的3D图像渲染。所述3D图像渲染包括:深度图的预处理和3D图像包裹任务。所述深度图的预处理可以包括深度图像平滑技术之前的前景处理,其可以执行深度梯度检测和平滑任务。深度梯度检测任务可以检测具有大深度梯度的区域,并且平滑任务可以使用低强度、低通滤波技术将大深度梯度变换为线性变化的形状。3D图像包裹可以包括使用高效的单指令多数据(SIMD)技术对用于行像素的3D图像包裹的代码进行向量化。在向量化之后,诸如OpenMP这样的API可以用于对3D图像包裹过程进行并行化。可以对3D图像的行以及对多个视图图像的图像执行使用OpenMP的3D图像包裹。

著录项

  • 公开/公告号CN102835119A

    专利类型发明专利

  • 公开/公告日2012-12-19

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN201080065984.1

  • 发明设计人 C·李;Y·杜;Q·李;Y·张;

    申请日2010-04-01

  • 分类号H04N13/04(20060101);

  • 代理机构72002 永新专利商标代理有限公司;

  • 代理人刘瑜;王英

  • 地址 美国加利福尼亚

  • 入库时间 2023-12-18 07:46:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-22

    未缴年费专利权终止 IPC(主分类):H04N13/04 授权公告日:20160203 终止日期:20180401 申请日:20100401

    专利权的终止

  • 2016-02-03

    授权

    授权

  • 2013-02-06

    实质审查的生效 IPC(主分类):H04N13/04 申请日:20100401

    实质审查的生效

  • 2012-12-19

    公开

    公开

说明书

背景技术

三维(3D)显示技术的快速发展以及观看者对于拥有高质量3D电视 (3D-TV)与日俱增的兴趣已经使得开发出了无眼镜的自动立体3D显示 设备。自动立体3D显示设备正越来越多地用在广告、娱乐以及其他此类 行业中。自动立体3D显示设备同时支持多个视图图像,并且这多个不同 视图形成人视觉系统中的立体视觉。结果,观看这种显示器的人能够无须 使用3D眼镜或帽子,并且观看者能够裸眼观看3D图像。

一般而言,两种格式被广泛用于表示立体视频:1)多视图图像(即, 左视图+右视图),以及2)2D图像+深度信息(其也称为2.5D格式)。用 2.5D格式表示立体视频提供了多种益处,例如对于存储和传输带宽的要求 更低、与3D显示模型的设备独立性、与传统2D显示器的向后兼容等等。 在接收到输入信号(即,2D输入和深度图像输入)之后产生用于3D图像 的多个虚拟视图图像对于自动立体3D显示器而言可能是计算密集的。为 了克服这种计算密集的限制,3D显示设备可以使用单独的现场可编程门阵 列(FPGA)芯片或高端图形处理单元(GPU)来执行这种计算密集的任 务。

附图说明

通过附图以示例而非限制的方式来说明本文所描述的发明。为了说明 的简便和清楚,附图中示出的部件并不一定按比例绘制。例如,为了清楚, 一些部件的大小可以相对于其他部件被放大。此外,在认为合适之处,标 号在附图中被重复,以指示对应或类似的部件。

图1示出了根据一个实施例的框图100,其描绘了使用多核心处理器 来为自动立体显示器产生多视图图像。

图2示出了根据一个实施例的图像渲染设备(IRD)200的框图,其可 以使用多核心处理器来为自动立体显示器产生3D图像。

图3是根据一个实施例的流程图300,其说明了图像渲染设备IRD 200 在使用多核心处理器为自动立体显示器产生3D图像时的操作。

图4示出了根据一个实施例的图像400,可以根据该图像400使用多 核心处理器来为自动立体显示器产生3D图像。

图5是根据一个实施例的图像400的像素图,其可以被用来执行基于 深度图像的渲染(DIBR)技术中的深度平滑,以使用多核心处理器来为自 动立体显示器产生3D图像。

图6示出了根据一个实施例的深度平滑技术,其可以在使用多核心处 理器来为自动立体显示器产生3D图像时缩短计算时间并提高视觉效果。

图7示出了根据一个实施例的低强度高斯滤波器的结构,该低强度高 斯滤波器用于在使用多核心处理器来为自动立体显示器产生3D图像时缩 短计算时间并提高视觉效果。

图8B示出了根据一个实施例的使用SIMD技术对图8A中示出的 DIBR中的行像素的3D图像包裹(wrapping)进行向量化,以在使用多核 心处理器来为自动立体显示器产生3D图像时利用数据级并行性的代码。

图8C示出了根据一个实施例的用于对图8A中示出的DIBR中的行像 素的3D图像包裹进行并行化,以在使用多核心处理器来为自动立体显示 器产生3D图像时利用线程级并行性的代码。

图9示出了根据一个实施例的可以使用多核心处理器来为自动立体显 示器产生3D图像的计算机系统。

具体实施方式

以下说明书描述了可以支持自动立体显示器上的实时3D图像渲染的 多核心处理器。在以下说明中,为了更透彻的理解本发明,阐述了许多具 体细节,例如,逻辑实现、资源划分或共享、或拷贝实现(duplication  implementation)、系统组件的类型及相互关系,以及逻辑划分或集成选择。 然而,本领域技术人员将意识到,可以在没有这些具体细节的情况下实践 本发明。在其它实例中,未详细示出控制结构、门级电路和全部软件指令 序列,以免模糊本发明。本领域技术人员利用所包括的说明,无需非常规 的试验(undue experimentation)就能够实现适当的功能。

在说明书中引用的“一个实施例”、“实施例”或“示例性实施例”指 示所描述的实施例可以包括特定特征、结构或特性,但是,并非每个实施 例都一定包括所述特定特征、结构或特性。此外,这些短语并不一定指同 一实施例。此外,当结合一实施例来描述特定特征、结构或特性时,认为 无论是否明确描述,本领域技术人员在其知识范围内都可以结合其他实施 例来实现这种特征、结构或特性。

本发明的实施例可以用硬件、固件、软件或它们的任意组合来实现。 本发明的实施例还可以实现为存储在机器可读介质上的指令,其可以由一 个或多个处理器来读取和执行。机器可读存储介质可以包括用于存储或传 输机器(例如计算设备)可读形式的信息的任何机构。

例如,机器可读存储介质可以包括只读存储器(ROM);随机存取存 储器(RAM);磁盘存储介质;光存储介质;闪速存储设备;电、光形式 的信号。此外,固件、软件、例程和指令在本文中可以描述为执行特定动 作。然而,应当意识到,这些描述仅仅是为了方便,这些动作实际上是由 执行所述固件、软件、例程和指令的计算设备、处理器、控制器和其他设 备来产生的。

在一个实施例中,在自动立体显示器上的3D图像渲染可以在多核心 处理器上得到支持,而无需使用诸如FPGA芯片或图形处理单元(GPU) 这样的额外芯片。在一个实施例中,3D包裹阶段可以包括根据2维(2D) 基准图像和深度图来合成多个虚拟视图的处理。在一个实施例中,一个或 多个虚拟视图可以由通过如下处理而进行的3D图像包裹来产生:将基准 图像中的像素后投影到3D空间,然后将该像素重新投影到目标视点上, 以创建虚拟视图。在将像素从一个空间向后投影和重新投影(称为视点移 动)到另一空间时,封闭(occluded)区域可能被露出。在一个实施例中, 深度图可以被预处理(或平滑)以减轻封闭区域(或孔)的影响。

在一个实施例中,3D图像渲染可以包括一个或多个阶段,例如:对深 度图的预处理、3D包裹,以及孔填充或填充露出的孔的后置处理阶段。在 一个实施例中,对深度图的预处理阶段可以包括深度图平滑技术之前的前 景处理。在一个实施例中,前景深度图像平滑技术可以包括深度梯度检测 任务和平滑任务。在一个实施例中,深度梯度检测任务可以包括检测具有 大深度梯度的区域,并将该大深度梯度变换为线性变化的形状。在一个实 施例中,当执行平滑任务时,线性变化的形状可以使用低强度和低通滤波 技术来被预处理或平滑。在一个实施例中,低强度、低通高斯滤波器可以 用来平滑线性变化的形状。作为使用(与原本可能使用的具有较大窗口大 小的高强度低通滤波器相比)具有较小窗口大小的低强度、低通高斯滤波 器的结果,可以显著降低计算密集性。

在一个实施例中,在使用深度图像平滑技术之前的前景处理对深度图 进行预处理之后,可以使用3D包裹技术,所述3D包裹技术可以利用数据 级并行性(DLP)和线程级并行性(TLP)。在一个实施例中,3D包裹操 作可以包括使用高效的单指令多数据(SIMD)技术对用于进行行像素的 3D图像包裹的代码进行向量化,这可以使得利用数据级并行性。在对视图 图像进行向量化之后,可以支持诸如OpenMP这样的多平台共享存储器多 处理编程的应用程序编程接口(API)可以用于并行化3D图像包裹过程, 以利用线程级并行性。在一个实施例中,可以对3D图像的每一行和多个 视图图像的每个图像执行使用OpenMP的3D图像包裹。作为向量化和并 行化以分别利用数据级并行性(DLP)和线程级并行性(TLP)的结果, 可以节省大量的计算时间。

在图1中示出了用于使用多核心处理器来在自动立体显示器上渲染 3D图像的渲染方法100的实施例。在一个实施例中,渲染方法100可以包 括对深度图进行预处理阶段110、3D图像包裹阶段140和孔填充阶段180。

在一个实施例中,预处理阶段110可以使用基于深度图像的渲染 (DIBR)技术之前的前景处理来识别和减小深度梯度,以最小化去除遮蔽 (disocclusion)的影响。在一个实施例中,在预处理阶段110中,可以识 别在所捕获的图像的深度图中具有大深度梯度的区域。在一个实施例中, 深度图的相当大的部分(第一部分)会是平区域,并且在这些平区域中出 现孔的可能性会是最小的或者为零。在一个实施例中,深度图的小部分(第 二部分)可能包括更大的深度梯度,并且可以在这些第二部分中执行预处 理(即,图像平滑操作)。

在一个实施例中,第二部分可以变换为线性变化的形状,与使用高强 度低通高斯滤波器对深度图执行卷积运算相比,这在计算上可以是成本更 低的。在一个实施例中,可以通过改变第二部分的至少一些部分的深度梯 度以减小深度的锐度来将第二部分变换为线性变化的形状。在将深度梯度 锐利的区域变换为线性变化的形状之后,(与高强度、低通高斯滤波器的窗 口大小相比)具有更小窗口大小的低强度、低通高斯滤波器可以用于平滑 所述线性变化的形状。在一个实施例中,低强度、低通高斯滤波器的窗口 大小可以是高强度、低通高斯滤波器窗口大小的1/3。

在一个实施例中,与使用卷积技术相比,DIBR技术之前的前景处理 可以节省大量的执行时间。此外,在一个实施例中,与针对图像平滑的卷 积方法相比,DIBR技术之前的前景处理可以产生更好的视觉效果。在一 个实施例中,可以通过DIBR方法之前的前景处理来维持前景的深度,以 在新虚拟图像上产生更好的视觉效果。与背景相比,用户可能受到新虚拟 图像的前景的吸引,并且维持前景的深度可以使得用户体验更好的视觉效 果。在一个实施例中,DIBR技术之前的前景处理可以减小诸如由于失真 而带来的面部拉伸这样的影响,这可以提高观看者的视觉效果。

在一个实施例中,在进行了预处理阶段110之后,可以在3D包裹阶 段140进一步处理图像。在一个实施例中,3D包裹阶段140可以包括两个 子阶段:向量化子阶段和并行化子阶段。在一个实施例中,在向量化子阶 段期间,单指令多数据(SIMD)技术可以用于对一行像素的3D图像包裹 中涉及的任务进行向量化。在一个实施例中,图8A的伪码(在相邻像素 之间具有紧密的数据依赖性)可以被分解成多个循环结构(在图8B中描 绘),以减小相邻像素之间的数据依赖性。在一个实施例中,使用SIMD 来对伪码进行向量化可以利用数据级并行性(DLP)。

在对图像进行向量化之后,可以在包括UNIX和平台的架构上支持多平台共享存储器多处理编程的应用程序编程接口 (API),可以用于对3D图像包裹过程进行并行化以利用线程级并行性。 在一个实施例中,诸如OpenMP(开放多处理)这样的API可以用于对3D 图像包裹技术进行并行化以利用线程级并行性。在一个实施例中,OpenMP 可以用于对3D图像的每一行以及多个视图图像的每个图像执行3D图像包 裹。作为向量化和并行化以分别利用数据级并行性(DLP)和线程级并行 性(TLP)的结果,可以节省大量的计算时间。

在图2中示出了可以执行3D图像渲染的图像渲染设备200的实施例。 在一个实施例中,图像渲染设备(IRD)200可以包括接口215、基准图像 产生器220、深度图产生器230、预处理逻辑240、图像包裹逻辑260以及 后置处理逻辑280.

在一个实施例中,图像渲染设备200可以耦合到用于捕获视频(或图 像)和相关联的每像素的深度信息(称为“深度图”)的图像捕获设备210 (例如摄像机)。在一个实施例中,所捕获的图像和深度图前往接口215。 在一个实施例中,接口215可以接收所捕获的图像和深度图,并且可以通 过内部总线来提供该深度图和所捕获的图像。在一个实施例中,接口215 可以在图像捕获设备210和图像渲染设备200之间提供物理的、电的以及 协议接口。

在一个实施例中,基准图像产生器220可以响应于在内部总线上接收 到数据而产生诸如图4中描绘的图像这样的基准图像。在一个实施例中, 基准图像产生器220可以捕获图像中每个像素的像素值,并且产生基准图 像。在一个实施例中,基准图像可以被提供到图像包裹逻辑260。

在一个实施例中,深度图产生器230可以响应于在内部总线上接收到 数据而产生诸如在图5中所描绘的深度图这样的深度图。在一个实施例中, 深度图产生器230可以从数据中提取每像素的深度信息,以产生深度图。 在一个实施例中,深度图产生器230可以将深度图提供给预处理块240。

在一个实施例中,预处理块240可以检测深度图中具有大深度梯度的 区域(第二部分),并通过将大深度梯度变换为线性变化的形状来减小该大 深度梯度的锐度。在一个实施例中,可以进一步平滑该线性变化的形状。 在一个实施例中,预处理块240可以包括深度梯度逻辑250和平滑器255。 在一个实施例中,深度梯度逻辑250可以检测或识别深度图中可以具有大 或锐利的深度梯度的第二部分。在一个实施例中,深度梯度逻辑250可以 将每个像素的梯度级别与上限值(gmax)进行比较,以确定该深度梯度是 否是锐利的或大的。在一个实施例中,深度梯度逻辑250可以选择第一像 素和第二像素,其中第二像素可以与第一像素相邻。在一个实施例中,深 度梯度逻辑250可以确定第一像素的第一深度值(d0),和第二像素的第二 深度值(d1),其中第二像素可以处于第一像素的相邻位置。在一个实施例 中,深度梯度逻辑250可以确定深度梯度的差(即,(d1-d0)),并将深度 梯度的差与深度的最大阈值(gmax)进行比较,以确定该深度是否是锐利 的或大的。

在一个实施例中,深度梯度逻辑250可以通过比较相邻像素的深度梯 度值来识别可能具有大深度梯度的区域。在一个实施例中,深度梯度逻辑 250可以识别可能具有大深度梯度的由相邻像素(524和525)与(566和 576)形成的第二区域。在一个实施例中,如果相邻像素的深度梯度之差大 于上限(gmax),则深度梯度逻辑250可以确定该相邻像素的深度梯度是 大的。此外,如下文所描述的,深度梯度逻辑250可以将具有大深度梯度 的区域变换为线性变化的形状。

在一个实施例中,深度梯度逻辑250可以确定像素(第一像素)524 和566的分别的深度值d01和d04,以及相邻像素(第二像素)525和576 的分别的深度值d11和d14。在一个实施例中,深度梯度逻辑250可以使 用像素(524和525)与(566和576)的深度值来分别确定差值diff1 (=d11-d01)和diff4(=d14-d04)。在一个实施例中,深度梯度逻辑250 可以将像素(524和525)与(566和576)的深度值的差值diff1和diff4 与上限gmax进行比较,以确定区域是否具有锐利的或者大深度梯度。

在一个实施例中,如果(d1-d0)大于gmax,则深度梯度逻辑250可 以将第一像素的深度值(d0)设置为新深度值d0(新)=(d1-gmax)。结果, 大深度梯度可以变换为图6D中所描绘的线性变化的形状。在一个实施例 中,在上述示例中,深度梯度逻辑250可以使用相邻像素(524和525)与 (566和576)的差值diff1和diff4的值以及上限gmax来将像素524和566 的大或锐利的深度梯度变换为线性变化的形状。在一个实施例中,深度梯 度逻辑250可以将像素524的深度值(d01)设置为新深度值(d01)新 =(d11-gmax)。类似地,深度梯度逻辑250可以将像素566的深度值(d04) 设置为新深度值(d04)新=(d14-gmax)。

在一个实施例中,在图6A中描绘了使用图4的基准图像(2D图像) 所产生的原始视点(V0)。基准图像(2D图像)和深度图可以用来产生虚 拟视图,并且在图6B中描绘了一个这种虚拟视图的一个虚拟视点(Vt)。 如图6B中所描绘的,视点(V0)可能移动到新位置Vt,并且这种移动可 能导致去除遮蔽,这可能是由于深度图的一些区域(第二区域)中锐利的 深度梯度所导致的。

在一个实施例中,平滑器255可以接收线性变化的形状并且使用低强 度、低通高斯滤波器来执行低通滤波。在一个实施例中,低强度、低通高 斯滤波器可以包括小窗口大小来执行图像平滑。在一个实施例中,低强度、 低通高斯滤波器的窗口大小可以等于高强度低通高斯滤波器窗口大小的 1/3。使用深度图的卷积来平滑图像的现有方法可以使用高强度低通高斯滤 波器。在图6C中描绘了使用深度图的卷积来执行的平滑。卷积运算可能 消耗大量(38.7%)的DIBR执行时间,并且高强度低通高斯滤波器的计算 密集性和窗口大小也可能很高。在一个实施例中,通过使用低强度低通高 斯滤波器,可以很大地节省计算需求。然而,通过将锐利的深度梯度变换 为线性变化的形状,低强度低通高斯滤波器可以用于平滑锐利的深度梯度 (图6D的681和682),并且深度平滑可以如图6E中的经平滑的线691 和692所描绘的那样。在一个实施例中,平滑器255可以产生经平滑的深 度图,其可以被提供到3D图像包裹块260。

此外,在一个实施例中,可以维持前景深度(如图6E中680所示), 与卷积平滑方法相比,这可以提高视觉效果。与背景相比,用户可能被新 虚拟图像的前景所吸引,并且维持前景的深度可以使得用户体验更好的视 觉效果。在一个实施例中,DIBR技术之前的前景处理可以降低诸如由于 失真而导致的面部拉伸这样的影响,这可以提高观看者的视觉效果。

在一个实施例中,在图7中描绘了低强度低通高斯滤波器的结构。在 一个实施例中,低强度低通高斯滤波器可以使用二元加权技术来实现。在 一个实施例中,图7的高斯滤波器描绘了高斯钟型函数(Gauss bell  function)的近似,并且那些值表示权重因子。

在一个实施例中,在接收到经平滑的深度图和(例如图4的)基准图 像后,3D图像包裹块260可以产生多个虚拟图像。在一个实施例中,3D 图像包裹块260可以包括向量化逻辑265和并行化逻辑269。在一个实施 例中,向量化逻辑265可以使用单指令多数据(SIMD)技术来对一行像素 的3D图像包裹中涉及的任务进行向量化。例如,在图8A中描绘了执行 3D图像包裹的伪码,并且孔填充模块通常被合并到DIBR实现中的3D图 像包裹模块中。由于相邻像素数据之间紧密的数据依赖性,可能无法使用 SIMD技术来向量化3D图像包裹中涉及的任务。

在一个实施例中,向量化逻辑265可以识别其中当前像素数据可能依 赖于当前像素的之前位置的串行任务。在一个实施例中,向量化逻辑265 可以将图8A的第802行中的“for”循环分解成在图8B的第841、844、 847和850行描绘的4个单独的“for”循环。在一个实施例中,将第802 行的“for”循环分解成第841、844、847和850行的4个单独的“for”循 环,可以使得3D图像包裹逻辑260使用SIMD技术来被编程。作为使用 SIMD技术来进行编程的结果,向量化逻辑265可以利用数据级并行性 (DLP)。在一个实施例中,向量化逻辑265可以将图8A第809行的新像 素计算任务分解成两个子任务,例如图8B第848行描绘的“不同区检查”, 和图8B第851行描绘的“针对像素内插的权重计算”。在一个实施例中, 图8B第847行的“for”循环的结果可以提供为第850行的“for”循环的 输入。在一个实施例中,向量化逻辑265可以支持SIMD技术的使用以利 用DLP,并且与图8A相比,节省了大量的计算时间。

在一个实施例中,并行化逻辑269可以对3D图像包裹过程进行并行 化,以利用线程级并行性。在一个实施例中,并行化逻辑269可以支持应 用程序编程接口(API),其可以支持包括UNIX和平台的架构上的多平台共享存储器多处理编程。在一个实施例中,并行化 逻辑269可以使用所述API对3D图像包裹过程进行并行化,以利用线程 级并行性。在一个实施例中,并行化逻辑269可以使用诸如OpenMP(开 放多处理)这样的API来对3D图像包裹技术进行并行化。在一个实施例 中,OpenMP可以用于对3D图像的每一行以及多个视图图像的每个图像 执行3D图像包裹。在一个实施例中,并行化逻辑269可以通过执行对视 图图像中的每一个的像素进行包裹的基本任务,来对图像内的所有行以及 多个视图图像并行化3D图像包裹过程。在一个实施例中,在图8C中描绘 了用于对3D图像包裹进行并行化的伪码。

作为进行向量化和并行化以分别利用数据级并行性(DLP)和线程级 并行性(TLP)的结果,可以节省大量计算时间。在一个实施例中,后置 逻辑280可以填充露出的孔。

在图3的流程图中描绘了图像渲染设备200的操作的实施例。在框 310,图像渲染设备200可以使用基准图像产生器220产生图4中描绘的基 准图像400,并使用深度图产生器230产生图5中描绘的深度图500。

在框320中,图像渲染设备200可以使用深度梯度逻辑250来确定深 度图500中可能具有大深度梯度的第二区域,并将该大深度梯度变换为线 性变化的形状。在一个实施例中,图像渲染设备200可以确定相邻像素的 深度梯度(d0和d1),并然后将相邻像素的深度梯度之差(d1-d0)与上限 (gmax)进行比较,以确定具有大深度梯度的第二区域。在一个实施例中, 深度梯度逻辑250可以确定(d1-d0)是否大于gmax,并且如果(d1-d0) 大于gmax,则深度梯度逻辑250可以设置d0=(d1-gmax)。结果,大深度 梯度可以变换为如图6D中所描绘的线性变化的形状。

在框350中,图像渲染设备200可以使用平滑器255来平滑图6D的 线性变化的形状。在一个实施例中,平滑器255可以包括低强度、低通高 斯滤波器。在一个实施例中,平滑器255可以产生如图6E的线691和692 所描绘的深度经平滑的曲线。

在框360中,图像渲染设备200可以使用向量化逻辑265来使用SIMD 技术对DIBR中的行像素的3D图像包裹进行向量化,以利用DLP。在一 个实施例中,如上文参照图8B描述了使用SIMD技术的向量化过程。

在框380中,图像渲染设备200可以如上文参照图8C所描述那样使 用并行化逻辑269对图像内的行像素以及多个视图图像的3D图像包裹进 行并行化,以利用TLP。

在图9中示出了包括可以支持自动立体显示器上的3D图像渲染的多 核心处理器的计算机系统900的实施例。参照图9,计算机系统900可以 包括包含单指令多数据(SIMD)处理器的通用多核心处理器(或CPU) 910。在一个实施例中,CPU 910可以包括诸如核心911-A至911-N的多个 核心,用于支持图像渲染设备200执行的任务,以在显示器990上渲染3D 图像,显示器990可以包括自动立体显示器。在一个实施例中,CPU 910 除了执行各种其他任务之外还可以在自动立体显示器上执行3D图像的渲 染,或者在机器可读存储介质925中存储用于在自动立体显示器上渲染3D 图像的指令序列。然而,所述指令序列也可以存储在存储器950中,或者 存储在任何其他合适的存储介质中。

操作计算机系统900的处理器或CPU 910可以耦合到逻辑930。逻辑 930可以耦合到诸如图像捕获设备210的一个或多个I/O设备960,其可以 提供与计算机系统900的接口。例如,在一个实施例中,逻辑930可以是 芯片组逻辑。逻辑930可以耦合到存储器950或机器可读存储设备925, 其可以是任何类型的存储设备,包括光、磁或半导体存储设备。

在一个实施例中,CPU 910的核心911可以执行3D图像渲染任务, 所述3D图像渲染任务可以包括诸如深度图的预处理、3D包裹、以及用于 填充露出的孔的孔填充或后置处理阶段。在一个实施例中,一个或多个核 心可以一同或单独地支持DIBR技术之前的前景处理。例如,在一个实施 例中,核心911-A可以支持深度梯度逻辑250执行的深度梯度检测任务。 在一个实施例中,核心911-B可以支持平滑器255执行的平滑操作。在其 他实施例中,诸如核心911-A的同一核心可以执行逻辑250和255执行的 任务二者。在另外的其他实施例中,逻辑250和255执行的任务可以由多 于一个的核心911共享。在一个实施例中,被分配预处理任务的核心可以 执行如上所述的深度检测任务和深度平滑任务。

在一个实施例中,在使用深度图像平滑技术之前的前景处理对深度图 进行预处理之后,核心911可以执行3D包裹技术,所述3D包裹技术可以 利用数据级并行性(DLP)和线程级并行性(TLP)。在一个实施例中,至 少一个核心911可以执行3D包裹操作,所述3D包裹操作可以包括使用高 效的单指令多数据(SIMD)技术对用于行像素的3D图像包裹的代码进行 向量化。在对视图图像进行向量化之后,同一核心911或者另一核心可以 支持应用程序编程接口(API),所述应用程序编程接口可以支持诸如 OpenMP的多平台共享存储器多处理编程。在一个实施例中,核心911可 以用于对3D图像包裹过程进行并行化,以利用线程级并行性。在一个实 施例中,可以对3D图像的每一行以及对多个视图图像的每个图像执行使 用OpenMP进行的3D图像包裹。作为进行向量化和并行化以分别利用数 据级并行性(DLP)和线程级并行性(TLP)的结果,可以节省大量计算 时间。

本文描述的图形处理技术可以在各种硬件架构中实现。例如,图形功 能可以集成在芯片组内。作为另一实施例,图形功能可以通过包括多核心 处理器的通用处理器来实现,或者被实现为存储在机器可读介质中的一组 软件指令。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号