用于将2维内容实时转换为3维内容的方法和设备的制作方法

文档序号:7805252阅读:201来源:国知局
用于将2维内容实时转换为3维内容的方法和设备的制作方法
【专利摘要】本申请涉及一种用于将2维内容实时转换为3维内容的方法和设备。用于视频处理的方法和设备的各个方面可以包括与外部装置可通信地耦合的计算装置。该计算装置可以操作用来确定图像帧中的像素子集的平均垂直速度和平均水平速度,并且基于像素子集中的像素的计算出的运动向量、像素子集的平均垂直速度和像素子集的平均水平速度来确定像素子集中的每个像素的深度值。
【专利说明】用于将2维内容实时转换为3维内容的方法和设备
[0001]对相关申请的交叉引用
[0002]本申请参考于2012年3月28日提交的序列号为13/432,065的美国专利申请,其全部内容通过引用合并于此。
[0003]本申请参考于2011年2月28日提交的序列号为13/036,656的美国专利申请,其全部内容通过引用合并于此。

【技术领域】
[0004]本公开内容的各种实施例涉及内容转换。更具体地,本公开内容的各种实施例涉及将2维(2D)内容实时转换为3维(3D)内容的方法和设备。

【背景技术】
[0005]消费者电子装置的制造者在尝试利用可用的有限的存储器空间而不影响处理能力时必须处理效率相关的问题。尤其是,在将二维内容实时转换为三维内容期间,消费者电子装置需要高的处理能力和大的存储器空间。因此,存在对高效的2D到3D内容转换系统的需求。
[0006]通过比较这样的具有在本申请的其余部分中参照附图阐述的本公开内容的一些方面的系统,常规的和传统的方法的其它局限性和缺点对于本领域的技术人员来说将变得明显。


【发明内容】

[0007]用于将2维内容实时转换为3维内容的方法和设备基本上在附图中的至少一个中被示出,并且/或者结合附图中的至少一个被描述,如权利要求中更全面地阐述的。
[0008]通过与附图一起来阅读本公开内容的下面的详细描述,可以认识到本公开内容的这些和其它的特征和优点,在附图中,相同的附图标记始终表示相同的部分。

【专利附图】

【附图说明】
[0009]图1是示出根据本公开内容的实施例的用于实时2D至3D转换的网络环境的框图。
[0010]图2是根据本公开内容的实施例的计算装置的框图。
[0011]图3示出根据本公开内容的实施例的图像帧。
[0012]图4A至图4C是示出根据本公开内容的实施例的图像帧中的像素行的示例图。
[0013]图5是示出根据本公开内容的实施例的用于在计算装置处提供实时2D至3D转换的示例性步骤的流程图。
[0014]图6是示出根据本公开内容的另一个实施例的用于在计算装置处提供实时2D至3D转换的示例性步骤的流程图。

【具体实施方式】
[0015]可以在用于提供2维内容到3维内容的实时转换的方法和/或设备中发现各种实施方式。
[0016]本公开内容的示例性方面可以包括用于视频处理的计算装置。在实施例中,计算装置可以确定图像帧中的像素子集的平均垂直速度和/或平均水平速度。基于与像素子集中的像素相关联的计算出的运动向量、平均垂直速度和平均水平速度,可以确定像素子集中的每个像素的深度值。
[0017]运动向量算法可能无法计算图像帧中的均质的区域内的像素的运动向量。对于进一步的计算,可以考虑与均质的区域内的这种像素相对应的运动向量。在实施例中,可以提供与图像帧相对应的运动向量作为输入。与一个或多个像素相对应的运动向量可能是未知的,或者可能在给定的输入中未定义。具有未知的运动向量和/或未定义的运动向量的这种像素可能不具有预定的运动向量,由此,可能不包括在用于深度计算的像素子集中。
[0018]在实施例中,基于与像素子集中的像素相关联的计算出的运动向量、图像帧的平均垂直像素速度和图像帧的平均水平像素速度,可以确定像素子集中的每个像素的深度值。可以基于图像帧中具有预定的运动向量的像素来计算平均垂直像素速度和平均水平像素速度。基于与图像帧的像素相关联的深度值,计算装置可以产生用于图像帧的立体图像对。立体图像对可以包括左图像和右图像,在左图像中,图像帧中的每个像素可以向左偏移特定的值,并且,在右图像中,图像帧中的每个像素可以向右偏移特定的值。特定的值可以与同图像帧中的每个像素相关联的深度值成比例。在实施例中,像素子集可以属于图像帧中的一行或多行像素。
[0019]在实施例中,图像帧可以是二维(2D)图像巾贞。在实施例中,图像帧可以是具有缩小尺寸的像素分辨率的二维(2D)图像帧。在实施例中,计算装置可以从外部装置和/或本地存储器中的一个或两个接收图像帧。计算装置可以包括电视机、智能电话、平板计算机、膝上型计算机和/或桌上型计算机中的一个或多个。外部装置可以包括视频播放器、机顶盒、个人视频记录器、摄像机和/或云服务器中的一个或多个。
[0020]图1是示出根据本公开内容的实施例的用于实时2D至3D转换的网络环境的框图。参照图1,示出网络环境100。网络环境100可以包括计算装置102、一个或多个外部装置104 (例如,视频播放器104a、机顶盒104b、个人视频记录器104c、云服务器104d、摄像机104e)和通信网络106。尽管如此,本公开内容并不限于此,并且可以在不限制本公开内容的范围的情况下采用其它的外部装置。
[0021]计算装置102可以包括能够与外部装置(例如104a)直接通信或经由通信网络106通信的合适的逻辑、电路、接口和/或代码。在实施例中,计算装置102可能能够向外部装置(例如104a)发送指令和命令,并且/或者从该外部装置接收指令和命令。计算装置102也可能能够播放三维(3D)内容。计算装置102的示例可以包括,但不限于,电视机、智能电话、平板计算机、膝上型计算机和/或桌上型计算机。尽管如此,本公开内容并不限于此,并且可以在不限制本公开内容的范围的情况下采用其它的计算装置。
[0022]外部装置(例如104a)可以包括能够与计算装置102直接通信或经由通信网络106通信的合适的逻辑、电路、接口和/或代码。在实施例中,外部装置(例如104a)可能能够向计算装置102发送指令和命令,并且/或者从该计算装置102接收指令和命令。在另一个实施例中,外部装置(例如104a)可以提供可被计算装置102请求的媒体内容。
[0023]通信网络106可以包括介质,通过该介质,网络环境100中的计算装置102和外部装置(例如104a)可以相互通信。通信网络106可以通过一个或多个通信协议来实现,所述通信协议包括,但不限于,无线保真(W1-Fi)、无线通用串行总线(WUSB)、局域网(LAN)、ZigBee、传输控制协议和因特网协议(TCP/IP)、以太网、有线网络、卫星网络、数字生活网络联盟(DLNA)家庭网络和/或蓝牙通信协议。网络环境100中的各种组件可以根据各种有线和无线通信协议(例如,TCP/IP、用户数据报协议(UDP)、ZigBee、红外(IR)、IEEE802.11a、IEEE802.lib、IEEE802.1lg 和 / 或 IEEE802.1ln 通信协议)与通信网络 106 连接。
[0024]在操作时,计算装置102和外部装置(例如104a)可以被接通,并且可以经由通信网络106来激活计算装置102和外部装置(例如104a)之间的连接。计算装置102可以基于可由计算装置102传送的请求,从外部装置(例如104a)接收媒体内容。媒体内容可以包括可构成2D内容的一个或多个图像帧。计算装置102可以计算接收到的一个或多个图像帧中的所有的像素的运动向量。计算装置102可以基于一种或多种算法来计算运动向量。计算装置102可以基于计算出的运动向量来确定与一个或多个像素相关联的深度。
[0025]此外,计算装置102可以基于计算出的深度图来产生对应于图像帧的立体图像对。立体图像对包括左图像和右图像。立体图像对形成由外部装置(例如104a)传送的2D图像帧相对应的3D内容。
[0026]在实施例中,可以在与计算装置102相关联的显示屏幕上显示3D内容。在实施例中,由计算装置102(例如,智能电话)产生的3D内容可以被传送到任何显示装置(例如,监视器)以供显示。
[0027]在实施例中,2D内容可以是如下中的一个或多个:在视频播放器104a中的可移动盘中存储的电影、由机顶盒104b传送的直播TV节目、由个人视频记录器104c记录的媒体内容、在云服务器104d中存储的媒体内容、由摄像机104e传送的视频片段(footage)等。
[0028]图2是根据本公开内容的实施例的计算装置的框图。结合图1中的元件来解释图2。参照图2,示出计算装置102。计算装置102可以包括,但不限于,处理器202、收发器204、存储器206、通信接口 208和输入输出(I/O)装置210。存储器206可以包括,但不限于,照相机应用212、操作系统214、运动向量估计器216、深度估计器218、图像数据220、估计数据222、立体图像产生器224和其它信息226。
[0029]处理器202可以与存储器206、收发器204和I/O装置210通信地耦合。收发器204可以经由通信接口 208与通信网络106通信地耦合。
[0030]处理器202可以包括可操作用来执行存储在存储器206中的一组指令的合适的逻辑、电路、接口和/或代码。可以基于本领域中已知的一个或多个处理器技术来实现处理器202。处理器202的示例可以是基于X86的处理器、RISC处理器、ASIC处理器、CISC处理器或任何其他处理器。
[0031]存储器206可以包括可操作用来存储接收到的一组指令的合适的逻辑、电路、接口和/或代码。存储器206可以基于,但不限于,随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器(HDD)、存储服务器和/或安全数字(SD)卡来实现。
[0032]收发器204可以包括可操作用来经由通信接口 208与外部装置(例如104a)通信的合适的逻辑、电路、接口和/或代码。在实施例中,收发器204可操作用来与外部装置(例如,104a)直接通信。收发器204可以实现用于支持与通信网络106的有线或无线通信的已知技术。
[0033]I/O装置210可以包括可与处理器202可操作地耦合以接收用户输入并且显示3D内容的合适的逻辑、电路、接口和/或代码。输入装置的示例可以包括,但不限于,触摸板、轨迹板、传感器、照相机和/或麦克风。输出装置的示例可以包括,但不限于,液晶显示器(LCD)和/或发光二极管(LED)显示器。尽管如此,本公开内容不限于此,并且可以在不限制本公开内容的范围的情况下采用其它的I/O装置210。
[0034]在操作时,外部装置(例如,104a)可以将2D内容传送到计算装置102。处理器202可以接收由外部装置(例如,104a)传送的2D内容。在实施例中,处理器202可以从存储器206接收2D内容。照相机应用212可以包括可由处理器202优选地执行以执行计算装置102的各种功能和操作的程序指令。操作系统214可以控制并协调计算装置102的低级(low-level)功能。运动向量估计器216可以控制并协调运动向量估计过程。这可以包括确定与图像巾贞的每个像素相对应的运动向量,或者接收与图像巾贞相对应的运动向量信息。在实施例中,运动向量估计器216可以确定图像帧的平均运动向量,并且对于预定数量的随后的图像帧使用相同的平均运动向量。
[0035]深度估计器218可以控制并协调深度估计过程,以确定与图像帧中的每个像素相关联的深度值。图像数据220可以包括一个或多个图像帧。估计数据222可以包括用于执行深度估计过程的任何类型的信息或数据。立体图像产生器224可以控制并协调立体图像产生过程,以产生与图像帧相对应的立体图像对。立体图像产生过程可以采用深度估计过程的结果来产生立体图像对。其它信息226可以包括用于计算装置102的操作的其它适当信息。为了更好地理解本公开内容,存在图3中示出的示例。
[0036]图3示出根据本公开内容的实施例的图像帧。结合图1和图2中的元件来解释图
3。参照图3,示出图像帧302。图像帧302可以包括分别在由对应的箭头D1、D2、D3等示出的方向上移动的对象306a、对象306b、对象306c等(在下文中被统称为对象306)和背景304。像素子集(例如,308a,308b,308c)与图像帧302中的像素行相对应。对象306a如箭头Dl所示沿着X方向移动。对象306a只具有沿着X方向的速度。对象306b如箭头D2所示沿着X-Y平面对角线地移动。对象306b具有沿着X方向和Y方向二者的速度。对象306c如箭头D3所示沿着Y方向移动。对象306c只具有沿着Y方向的速度。处理器202可以计算图像帧302中的多个像素的运动向量。此外,处理器202可以确定与多个像素内的每个像素相关联的深度值。
[0037]在实施例中,处理器202可以通过一次地处理来自图像帧302的像素子集(例如,308a,308b,308c等)来按步骤地执行识别。像素子集(例如,308a)可以属于图像帧302中的一行或多行。
[0038]在实施例中,处理器计算在X方向上的图像帧的平均像素速度(在下文中被称为“averVx”)和在Y方向上的图像帧的平均像素速度(在下文中被称为“averVY”)。处理器202可操作用来基于图像帧302中的每个像素的运动向量和平均像素速度来计算图像帧302中的每个像素的深度值。在实施例中,处理器202可以使用下述公式(I)来计算与图像帧302中的每个像素相对应的深度值:
[0039]Depth = abs (Vx-averVx)+abs (VY-averVY).............(I)
[0040]其中,Vx和Vy分别是图像帧302中的像素在X方向和Y方向上的速度,并且averVx和averVY分别是在X方向和Y方向上的平均像素速度。在实施例中,运动向量算法可能无法计算与一个或多个像素相对应的运动向量。在这种情形下,这种像素的运动向量可能不包括在平均像素速度的计算中。在实施例中,用于深度值计算的平均像素速度可以是像素子集(例如,308a)的平均像素速度。像素子集(例如,308a)可以包括可计算深度值的像素。
[0041]具有近似相同的速度向量的大部分像素被称为“背景像素”,其余的像素被称为“前景像素”。当将背景像素的平均速度用于上面的公式(I)中的averVx,aVerVy(而不是平均帧速度)时,提高了深度图的观看者感知质量。
[0042]在实施例中,图像帧302中的一些像素的运动向量可能是未知的。这可能发生在纹理可能缺少或微弱的区域(例如,无云的天空)中。所描述的算法可通过采用通过从具有良好纹理的区域外推深度来填充均质区域中的深度的人类能力来清除该缺陷。
[0043]在实施例中,先前的图像帧的平均运动向量可应用于当前的图像帧。可以使用与先前的图像帧相关联的平均速度来估计当前图像帧的深度值的计算。这可减少与图像帧302相关联的深度值的估计所需的计算和时间。此外,就电影来说,平均运动向量可能在帧与帧之间很少变化。平均运动向量可能在不同的情节之间显著地变化,但是在这种情况下,观看者可能会忽视具有不正确的深度的一帧或多帧,因为人类大脑会需要电影中的至少3至4帧来形成基于视差的深度感知。
[0044]可以产生与图像帧302相对应的立体图像对。立体图像对可以包括两个图像,即,左图像和右图像。可以通过将图像帧302中的像素向左偏移与同每个像素相关联的深度成比例的特定值来产生左图像。可以通过将图像帧302中的像素向右偏移与同每个像素相关联的深度成比例的特定值来产生右图像。立体图像对形成接收到的2D图像帧的3D表示。
[0045]立体图像对形成接收到的2D图像帧的3D表示。立体图像对可以对应于从由外部装置(例如104a)传送的2D内容产生的3D内容。此外,可以在与计算装置102相关联的显示屏幕上显示3D内容。该方法探究关于人类的立体感知的实验观察。具体地,该方法采用可以仅针对图像帧302中具有良好纹理的区域定义准确的深度图的观察。此外,该方法采用观看者可能会忽视在新的电影情节开始时仅在一个帧中的平均深度的跳跃的观察。
[0046]图4A至图4C是示出根据本公开内容的实施例的图像帧302中的像素行的示例图。结合图3中的元件来解释图4A至图4C。图4A示出与对象306a的位置重叠的图像帧302中的像素行。像素组404中的每个像素对应于对象306a,并且只具有沿着X方向的速度。图4B示出与对象306b的位置重叠的图像帧302中的像素行。像素组406中的每个像素对应于对象306b,并且具有沿着X方向和Y方向的速度。图4C示出与对象306c的位置重叠的图像帧302中的像素行。像素组408中的每个像素对应于对象306c,并且只具有沿着Y方向的速度。像素组402中的每个像素对应于背景。
[0047]在实施例中,可以针对X方向和Y方向分开地计算与图像帧302中的每个像素相对应的运动向量。计算出的运动向量提供关于图像帧中的X方向和Y方向上的每个像素的速度的信息。在实施例中,运动向量算法可能不会提供关于每个像素的运动向量的可靠性的信息。该问题可以通过计算本地纹理、然后使用本地纹理作为运动向量可靠性图来解决。具有在阈值以上的空间梯度的绝对值的像素可以被认为具有可靠的运动向量。处理器202可以基于计算出的运动向量来计算图像帧302的X方向和Y方向上的平均像素速度。可以分别基于对应于像素行(例如,308a)中的每个像素的X方向和Y方向上的速度和图像帧302的X方向和Y方向上的平均像素速度来确定每个像素的深度。早先描述的公式(I)可以用来确定与像素行(例如,308a)中的每个像素相关联的深度值。只有具有良好定义的速度向量的像素参与平均速度和深度值的计算。具有未良好定义的速度的像素的深度被指定为等于零(好像它们是背景像素)。在观看3D电影时,人类大脑将深度指定给从具有纹理的最近区域对其进行插值的这些像素。
[0048]在实施例中,处理器202可操作用来基于像素的运动向量、背景像素的平均垂直速度和平均水平速度来计算图像帧302中的每个像素的深度图。处理器202可以基于深度图产生对应于图像帧302的立体图像对。立体图像对可以包括左图像和右图像。可以通过将前景像素向左移动特定值来产生左图像。可以通过将前景像素向右移动特定值来产生右图像。特定值可以与同前景像素中的每个像素相关联的深度值成比例。
[0049]包括左图像和右图像的立体图像对形成对应于图像帧302的3D内容。3D内容的立体效果可以被显示在计算装置102的I/O装置210上。在实施例中,计算装置102可以将3D内容传送到与计算装置102相关联的其它显示装置。例如,计算装置102 (例如,智能电话)可以将3D内容传送到显示装置(例如,监视器)。因此,可以使用计算装置102来实现实时的2D至3D内容转换。
[0050]在实施例中,比例系数可以用来调整深度裕量以适应观看者离屏幕的距离。这可以导致从对应的2D图像帧产生更好的3D内容。
[0051 ] 在实施例中,处理器202在计算运动向量和/或深度图的同时可以将图像帧302的尺寸缩小预先定义的因子(例如,在每个方向上两倍)。当与直接对原始大小的图像计算的深度图进行比较时,对缩小尺寸的帧计算的、然后应用回到原始大小帧的深度感知可能是人眼无法区分的。尽管如此,本公开内容并不限于此,并且可以在不限制本公开内容的范围的情况下采用其它的预定义的因子。此外,对于运动向量的计算,处理器202可以采用图像帧302或缩小尺寸的图像帧中的像素的亮度分量。在实施例中,对于运动向量的计算,处理器202可以采用缩小尺寸的图像帧中的具有预定义的范围内的纹理的像素的亮度分量。
[0052]在实施例中,处理器202可以在存储器206中存储像素子集(例如,308a),以便计算与每个像素相关联的深度。因此,可以克服对全帧存储器的需要,因为存储器206可以在一个时间点处存储一行像素。从而,可以通过本文中公开的方法来实现对存储器使用的显著减少。另外,缩小图像帧的像素分辨率并且减少一行中的像素的数量可以进一步减少用于计算的存储器要求。在实施例中,处理器202可以对具有预定义的范围内的纹理的缩小尺寸的图像帧中的像素的亮度分量进行操作,从而进一步减少计算和存储器要求。
[0053]根据另一个实施例,可以通过对一行或多行并行地执行计算来减少计算时间。尽管如此,本公开内容并不限于此,并且可以在不限制本公开内容的范围的情况下采用用于减少计算时间的其它技术。
[0054]上述方法可以存储在与计算装置102相关联的芯片上,以便提供2D至3D内容转换。此外,本公开内容中描述的方法可以与运动向量计算芯片组合,以便提供可用于提供2D至3D内容转换的独立装置。
[0055]图5是示出根据本公开内容的实施例的用于在计算装置处提供实时2D至3D转换的示例性步骤的流程图。参照图5,示出方法500。结合图1、图2、图3和图4的元件来描述方法500。
[0056]在步骤502开始示例性步骤。在步骤504,计算装置102可以接收由外部装置(例如,104a)传送的2D内容。处理器202可以接收与由外部装置(例如,104a)传送的2D内容相对应的图像帧302。在步骤506,处理器202可以将对应于2D内容的图像帧302缩小预定义的因子,以获得具有较低像素分辨率的图像帧。在步骤508,处理器202可以计算具有较低像素分辨率的图像帧中的具有阈值以上的纹理的像素的运动向量。在步骤510,处理器202可以选择具有较低像素分辨率的图像帧中的第一行像素。
[0057]在步骤512,处理器202可以计算选择的行的像素的平均像素速度。在步骤514,处理器202可以基于选择的行的像素的平均像素速度来确定选择的行中的每个像素的深度值。在步骤516,处理器202检查选择的行是否为图像帧302的最后一行。在选择的行不是最后一行的情形下,本处理前进到步骤518。在步骤518,处理器202选择下一行并前进到步骤512。在选择的行是最后一行的情形下,本处理前进到步骤520。在步骤520,处理器可以产生与图像帧302相对应的立体图像对。可以基于与图像帧302中的每个像素相关联的深度值来产生立体图像对。方法500在步骤522结束。
[0058]图6是示出根据本公开内容的另一个实施例的用于在计算装置处提供实时2D至3D转换的示例性步骤的流程图。参照图6,示出方法600。结合图1、图2、图3和图4的元件来描述方法600。
[0059]在步骤602开始示例性步骤。在步骤604,计算装置102可以接收由外部装置(例如,104a)传送的2D内容。处理器202可以接收与由外部装置(例如,104a)传送的2D内容相对应的图像帧302。在步骤606,处理器202可以将对应于2D内容的图像帧302缩小预定义的因子,以获得具有较低像素分辨率的图像帧。在步骤608,处理器202可以计算具有较低像素分辨率的图像帧中的具有某一阈值以上的纹理的像素的运动向量。在步骤610,处理器202可以计算接收到的图像帧的平均像素速度。
[0060]在步骤612,处理器202可以选择具有较低像素分辨率的图像帧中的第一行像素。在步骤614,处理器202可以确定选择的行中的每个像素的深度值。在步骤616,处理器202检查选择的行是否为图像帧302的最后一行。在选择的行不是最后一行的情形下,本处理前进到步骤618。在步骤618,处理器202选择下一行并前进到步骤614。在选择的行是最后一行的情形下,本处理前进到步骤620。在步骤620,处理器可以产生与图像帧302相对应的立体图像对。可以基于与图像帧302中的每个像素相关联的深度值来产生立体图像对。方法600在步骤622结束。
[0061]根据本公开内容的实施例,用于视频处理的设备可以包括计算装置102(图1),该计算装置102可以与外部装置(例如,104a,图1)可通信地耦合。计算装置102可以包括一个或多个处理器和/或电路,例如,处理器202 (图2)可操作用来确定图像帧302 (图3)中的像素子集(例如,308a)的平均垂直速度和平均水平速度。一个或多个处理器和/或电路可操作用来基于像素子集(例如,308a)中的每个像素的计算出的运动向量、像素子集的平均垂直速度和像素子集的平均水平速度来确定像素子集(例如,308a)中的每个像素的深度值。在实施例中,一个或多个处理器和/或电路可操作用来基于像素子集(例如,308a)中的每个像素的计算出的运动向量、图像帧302的平均垂直像素速度和图像帧302的平均水平像素速度来确定像素子集(例如,308a)中的每个像素的深度值。可以基于图像帧中具有预定的运动向量的像素来确定平均垂直像素速度和平均水平像素速度。一个或多个处理器和/或电路可操作用来基于图像帧302中的每个像素的确定的深度值来产生图像帧302的立体图像对。
[0062]一个或多个处理器和/或电路,例如,处理器202,可操作用来基于深度图产生图像帧302的立体图像对。一个或多个处理器和/或电路,例如,处理器202,可操作用来产生左图像和右图像。可以通过将图像帧302中的每个像素向左移动特定值来产生左图像,并且可以通过将图像帧302中的每个像素向右移动特定值来产生右图像。与图像帧302中的每个像素相对应的特定值可以与同像素相关联的深度值成比例。
[0063]一个或多个处理器和/或电路,例如,处理器202,可操作用来从外部装置104(图1)和/或本地存储器(例如,204,图2)中的一个或两个接收图像帧302。外部装置104可以包括视频播放器104a、机顶盒104b、个人视频记录器104c、云服务器104d和/或摄像机104e中的一个或多个。计算装置102可以包括电视机、智能电话、平板计算机、膝上型计算机和/或桌上型计算机中的一个或多个。
[0064]本公开内容的其它实施例可以提供非暂态计算机可读介质和/或存储介质,和/或非暂态机器可读介质和/或存储介质,其上存储有具有可由机器和/或计算机执行的至少一个代码段的机器代码和/或计算机程序,从而使该机器和/或计算机执行包括在与用于视频处理的外部装置可通信地耦合的计算装置中的步骤。这些步骤可以包括确定图像帧中的像素子集的平均垂直速度和/或平均水平速度。这些步骤可以包括:基于像素子集中的每个像素的计算出的运动向量、平均垂直速度和平均水平速度,确定像素子集中的每个像素的深度值。像素子集包括具有预定的运动向量的像素。
[0065]因此,本公开内容可以以硬件或者硬件和软件的组合来实现。本公开内容可以在至少一个计算机系统中以集中化的方式来实现,或者可以以分布式的方式来实现,在分布式的方式中,不同的元件可以被扩展在几个互连的计算机系统当中。适合于实现本文中描述的方法的任何类型的计算机系统或其它设备可能是适合的。硬件和软件的组合可以是具有计算机程序的通用计算机系统,该计算机程序在被加载和执行时可以控制计算机系统,使得计算机系统实现本文中描述的方法。本公开内容可以以包括还执行其它功能的集成电路的一部分的硬件来实现。
[0066]本公开内容也可以被嵌入在计算机程序产品中,该计算机程序产品包括实现本文中描述的方法的实施方式的所有的特征,并且在被加载在计算机系统中时能够实现这些方法。在本上下文中的计算机程序指的是旨在使得具有信息处理能力的系统直接或在如下中的一个或两个之后执行特定功能的以任何语言、代码或标注表示的一组指令:a)转换为另一种语言、代码或标注;b)以不同的材料形式再现。
[0067]虽然针对各种实施例描述了本公开内容,但是本领域的技术人员将会理解,在不偏离本公开内容的范围的情况下,可以进行各种修改,并且可以替代各等同物。另外,可以在不偏离本公开内容的范围的情况下,进行多种修改以使特定的情形或材料适应本公开内容的教导。因此,本公开内容应当不限于所公开的特定的实施例,而且本公开内容将包括落入所附权利要求的范围内的所有的实施例。
[0068]另外,本申请也可被如下配置:
[0069](I) 一种用于视频处理的方法,所述方法包括:
[0070]在计算装置中:
[0071]基于图像帧中的像素子集中的每个像素的计算出的运动向量、所述图像帧的平均垂直像素速度和所述图像帧的平均水平像素速度来确定所述图像帧中的所述像素子集中的每个像素的深度值,
[0072]其中,基于所述图像帧中具有预定的运动向量的像素来确定所述平均垂直像素速度和所述平均水平像素速度。
[0073](2) 一种用于视频处理的方法,所述方法包括:
[0074]在计算装置中:
[0075]确定图像帧中的像素子集的平均垂直速度和/或平均水平速度;以及
[0076]基于所述像素子集中的每个像素的计算出的运动向量、所述平均垂直速度和所述平均水平速度来确定所述像素子集中的所述每个像素的深度值,
[0077]其中,所述像素子集包括具有预定的运动向量的像素。
[0078](3)根据(2)所述的方法,包括基于所述图像帧中的所述每个像素的所述确定的深度值来产生所述图像帧的立体图像对。
[0079](4)根据(3)所述的方法,其中,所述产生的立体图像对包括:
[0080]左图像,其中,所述图像帧中的所述每个像素向左偏移特定值;以及
[0081]右图像,其中,所述图像帧中的所述每个像素向右偏移所述特定值,
[0082]其中,所述特定值与同所述图像帧中的所述每个像素相关联的所述确定的深度值成比例。
[0083](5)根据(2)所述的方法,其中,所述像素子集包括所述图像帧中的一行或多行像素。
[0084](6)根据⑵所述的方法,其中,所述像素子集中的所述每个像素的所述计算出的运动向量包括所述每个像素在X方向和/或Y方向上的速度。
[0085](7)根据⑵所述的方法,其中,所述图像帧是二维2D图像帧。
[0086](8)根据(2)所述的方法,其中,所述图像帧是具有缩小尺寸的像素分辨率的二维2D图像帧。
[0087](9)根据(2)所述的方法,包括从外部装置和/或本地存储器中的一个或两个接收所述图像帧。
[0088](10)根据⑵所述的方法,其中,所述计算装置包括电视机、智能电话、平板计算机、膝上型计算机和/或桌上型计算机中的一个或多个。
[0089](11)根据(9)所述的方法,其中,所述外部装置包括视频播放器、机顶盒、个人视频记录器、摄像机和/或云服务器中的一个或多个。
[0090](12) 一种用于视频处理的计算装置,所述计算装置包括:
[0091]一个或多个处理器和/或电路,能够操作用于:
[0092]确定图像帧中的像素子集的平均垂直速度和/或平均水平速度;以及
[0093]基于所述像素子集中的每个像素的计算出的运动向量、所述平均垂直速度和所述平均水平速度来确定所述像素子集中的所述每个像素的深度值,
[0094]其中,所述像素子集包括具有预定的运动向量的像素。
[0095](13)根据(12)所述的计算装置,其中,所述一个或多个处理器和/或电路能够操作用于基于所述图像帧中的所述每个像素的所述确定的深度值来产生所述图像帧的立体图像对。
[0096](14)根据(13)所述的计算装置,其中,所述一个或多个处理器和/或电路能够操作用于基于左图像和右图像来产生所述立体图像对,
[0097]其中,通过将所述图像帧中的所述每个像素向左偏移特定值来产生所述左图像,
[0098]其中,通过将所述图像帧中的所述每个像素向右偏移所述特定值来产生所述右图像,以及
[0099]其中,所述特定值与所述图像帧中的所述每个像素的所述确定的深度值成比例。
[0100](15)根据(12)所述的计算装置,其中,所述一个或多个处理器和/或电路能够操作用于计算深度图。
[0101](16)根据(12)所述的计算装置,其中,所述像素子集包括所述图像帧中的一行或多行像素。
[0102](17)根据(12)所述的计算装置,其中,所述像素子集中的所述每个像素的所述计算出的运动向量包括所述每个像素在X方向和/或Y方向上的速度。
[0103](18)根据(12)所述的计算装置,其中,所述一个或多个处理器和/或电路能够操作用于从外部装置和/或本地存储器中的一个或两个接收所述图像帧。
[0104](19)根据(18)所述的计算装置,其中,所述外部装置包括视频播放器、机顶盒、个人视频记录器、摄像机和/或云服务器中的一个或多个。
[0105](20)根据(12)所述的计算装置,其中,所述计算装置包括电视机、智能电话、平板计算机、膝上型计算机和/或桌上型计算机中的一个或多个。
【权利要求】
1.一种用于视频处理的方法,所述方法包括: 在计算装置中: 基于图像帧中的像素子集中的每个像素的计算出的运动向量、所述图像帧的平均垂直像素速度和所述图像帧的平均水平像素速度来确定所述图像帧中的所述像素子集中的每个像素的深度值, 其中,基于所述图像帧中具有预定的运动向量的像素来确定所述平均垂直像素速度和所述平均水平像素速度。
2.一种用于视频处理的方法,所述方法包括: 在计算装置中: 确定图像帧中的像素子集的平均垂直速度和/或平均水平速度;以及基于所述像素子集中的每个像素的计算出的运动向量、所述平均垂直速度和所述平均水平速度来确定所述像素子集中的所述每个像素的深度值, 其中,所述像素子集包括具有预定的运动向量的像素。
3.根据权利要求2所述的方法,包括基于所述图像帧中的所述每个像素的所述确定的深度值来产生所述图像帧的立体图像对。
4.根据权利要求3所述的方法,其中,所述产生的立体图像对包括: 左图像,其中,所述图像帧中的所述每个像素向左偏移特定值;以及 右图像,其中,所述图像帧中的所述每个像素向右偏移所述特定值, 其中,所述特定值与同所述图像帧中的所述每个像素相关联的所述确定的深度值成比例。
5.根据权利要求2所述的方法,其中,所述像素子集包括所述图像帧中的一行或多行像素。
6.根据权利要求2所述的方法,其中,所述像素子集中的所述每个像素的所述计算出的运动向量包括所述每个像素在X方向和/或Y方向上的速度。
7.根据权利要求2所述的方法,其中,所述图像帧是二维2D图像帧。
8.根据权利要求2所述的方法,其中,所述图像帧是具有缩小尺寸的像素分辨率的二维2D图像帧。
9.根据权利要求2所述的方法,包括从外部装置和/或本地存储器中的一个或两个接收所述图像帧。
10.一种用于视频处理的计算装置,所述计算装置包括: 一个或多个处理器和/或电路,能够操作用于: 确定图像帧中的像素子集的平均垂直速度和/或平均水平速度;以及基于所述像素子集中的每个像素的计算出的运动向量、所述平均垂直速度和所述平均水平速度来确定所述像素子集中的所述每个像素的深度值, 其中,所述像素子集包括具有预定的运动向量的像素。
【文档编号】H04N13/00GK104243950SQ201410240725
【公开日】2014年12月24日 申请日期:2014年6月3日 优先权日:2013年6月6日
【发明者】D·乌斯考夫 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1