信息处理设备、信息处理方法和存储介质与流程

文档序号:23818596发布日期:2021-02-03 14:29阅读:72来源:国知局
信息处理设备、信息处理方法和存储介质与流程

[0001]
本发明涉及信息处理设备、信息处理方法和存储介质,并且更特别地涉及用于生成虚拟视点图像的技术。


背景技术:

[0002]
在生成虚拟视点图像的已知技术中,多个摄像设备布置在不同的场所,并且同步地拍摄图像。使用多个拍摄图像来生成虚拟视点图像,使得允许任意改变视点。更具体地,基于多个拍摄图像,生成这些拍摄图像中所包括的对象的三维形状数据,并且通过根据虚拟视点的位置和从虚拟视点观看对象的方向对三维形状数据进行绘制,来生成虚拟视点图像。
[0003]
日本专利6482498公开了用于生成变速虚拟视点图像(诸如慢动作虚拟视点图像、或者在停止摄像时刻的进展的状态下视点改变的虚拟视点图像等)的技术。
[0004]
为了实现生成这样的变速虚拟视点图像,可以基于在同一时间点拍摄到的图像来生成用于形成虚拟视点运动图像的多个帧的图像。例如,在生成要以60fps(帧/秒)再现的虚拟视点运动图像的情况下,可以从以60fps拍摄到的拍摄图像的各帧生成两帧的虚拟视点图像,由此生成1/2倍速度的慢动作虚拟视点图像。
[0005]
然而,以这种方式生成的虚拟视点图像存在着虚拟视点图像中的对象的移动可能不自然的问题。例如,在慢动作虚拟视点图像中,如果摄像区域中的对象的位置按每两帧改变、而虚拟视点的位置按每帧改变,则在虚拟视点图像中的对象上可能发生抖动或不平滑移动。这样的问题可能不仅在生成慢动作虚拟视点图像时发生,而且可能还在拍摄图像的帧频低于虚拟视点图像的帧频时发生。


技术实现要素:

[0006]
根据本发明的一方面,一种信息处理设备,包括:第一获取单元,其被配置为获取与通过按预定帧更新间隔更新虚拟视点图像所再现的虚拟视点处的运动图像有关的表示所述预定帧更新间隔的更新信息,其中所述虚拟视点图像是使用i)基于由多个摄像设备从多个不同位置拍摄到的图像的多视点图像以及ii)表示虚拟视点的位置和从虚拟视点的方向的视点信息来生成的;第二获取单元,其被配置为获取在生成所述运动图像时所使用的多视点图像的帧信息,其中所述帧信息包括与不同的摄像时刻相对应的多个帧的信息;以及生成单元,其被配置为基于所述第一获取单元所获取到的更新信息和所述第二获取单元所获取到的帧信息来生成所述视点信息,使得:生成表示按比所述预定帧更新间隔长的间隔更新的所述虚拟视点的位置和从虚拟视点的方向的视点信息,作为使用比形成特定再现时间段的所述运动图像的虚拟视点图像的帧数少的帧数的多视点图像所生成的运动图像所用的视点信息。
[0007]
根据本发明的另一方面,一种信息处理方法,包括:获取与通过按预定帧更新间隔更新虚拟视点图像所再现的虚拟视点处的运动图像有关的表示所述预定帧更新间隔的更
新信息,其中所述虚拟视点图像是使用i)基于由多个摄像设备从多个不同位置拍摄到的图像的多视点图像以及ii)表示虚拟视点的位置和从虚拟视点的方向的视点信息来生成的;获取在生成所述运动图像时所使用的多视点图像的帧信息,其中所述帧信息包括与不同的摄像时刻相对应的多个帧的信息;以及基于所获取到的更新信息和所获取到的帧信息来生成所述视点信息,使得:生成表示按比所述预定帧更新间隔长的间隔更新的所述虚拟视点的位置和从虚拟视点的方向的视点信息,作为使用比形成特定再现时间段的所述运动图像的虚拟视点图像的帧数少的帧数的多视点图像所生成的运动图像所用的视点信息。
[0008]
根据本发明的又一方面,一种存储有程序的计算机可读存储介质,所述程序用于使得计算机执行信息处理方法,所述信息处理方法包括:获取与通过按预定帧更新间隔更新虚拟视点图像所再现的虚拟视点处的运动图像有关的表示所述预定帧更新间隔的更新信息,其中所述虚拟视点图像是使用i)基于由多个摄像设备从多个不同位置拍摄到的图像的多视点图像以及ii)表示虚拟视点的位置和从虚拟视点的方向的视点信息来生成的;获取在生成所述运动图像时所使用的多视点图像的帧信息,其中所述帧信息包括与不同的摄像时刻相对应的多个帧的信息;以及基于所获取到的更新信息和所获取到的帧信息来生成所述视点信息,使得:生成表示按比所述预定帧更新间隔长的间隔更新的所述虚拟视点的位置和方向的视点信息,作为使用比形成对应于特定再现时间段的所述运动图像的虚拟视点图像的帧数少的帧数的多视点图像所生成的运动图像所用的视点信息。
[0009]
通过以下参考附图对典型实施例的说明,本发明的更多特征将变得明显。
附图说明
[0010]
图1a和图1b是示出图像处理系统的硬件结构的示例的图。
[0011]
图2是示出图像处理系统的功能结构的示例的图。
[0012]
图3是示出信息处理设备的操作的示例的流程图。
[0013]
图4是示出用于确定虚拟视点的更新间隔的方法的示例的流程图。
[0014]
图5是示出用于确定虚拟视点的更新间隔的方法的示例的流程图。
[0015]
图6a和图6b是示出通过控制虚拟视点的更新间隔所获得的效果的图。
[0016]
图7是示出虚拟视点的更新间隔的控制的示例的图。
[0017]
图8是示出虚拟视点的更新间隔的控制的示例的图。
[0018]
图9是示出虚拟视点的更新间隔的控制的示例的图。
具体实施方式
[0019]
系统结构
[0020]
以下参考附图来说明本发明的实施例。图1a示出图像处理系统10的结构的示例。图像处理系统10是如下的系统,该系统基于多个摄像设备所拍摄到的多个图像(多视点图像)和所指定的虚拟视点,来生成表示从所指定的虚拟视点看到的视图的虚拟视点图像。在本实施例中,虚拟视点图像也被称为自由视点视频图像。注意,虚拟视点图像不限于从用户自由(任意)指定的视点看到的图像,而虚拟视点图像例如可以是从用户在多个候选中选择的视点看到的图像。在本实施例的以下说明中,例如假定虚拟视点是经由用户进行的指定操作所指定的,但虚拟视点可以基于图像分析的结果等来自动指定。图像处理系统10生成
虚拟视点运动图像,该虚拟视点运动图像通过按特定帧更新间隔更新由静止虚拟视点图像给出的形成运动图像的帧图像来再现的。在以下的说明中,除非另外说明,否则术语“图像”用于说明运动图像和静止图像这两个概念。
[0021]
图像处理系统10包括摄像系统101、图像生成设备102和信息处理设备103。摄像系统101包括用于从多个方向拍摄摄像区域中的被摄体(对象)的图像的多个摄像设备。摄像区域例如是进行诸如足球或空手道等的比赛的运动场、或者举行音乐会或戏剧的舞台。这多个摄像设备安装在不同的场所以围绕这样的摄像区域,并且同步地拍摄图像。应当注意,多个摄像设备可以不是安装在摄像区域的整个圆周上,并且可以根据安装场所的限制等而仅安装在摄像区域的周边的一部分中。例如,在摄像区域是足球运动场的情况下,可以在该运动场的周围安装约30个摄像设备,尽管没有特别限制摄像设备的数量。此外,可以安装具有诸如远摄照相机功能和/或广角照相机功能等的不同功能的摄像设备。摄像系统101将基于多个摄像设备所拍摄到的图像的多视点图像输出至图像生成设备102。
[0022]
图像生成设备102基于从摄像系统101获取到的多视点图像和从信息处理设备103获取到的视点信息来生成虚拟视点图像。例如如下进行虚拟视点图像的生成。首先,通过从多视点图像中提取与诸如人物或球等的特定对象相对应的前景区域来获取前景图像,并且通过提取背景区域(即,除前景区域以外的其余区域)来获取背景图像,其中多视点图像是通过由多个摄像设备从不同方向拍摄图像所获得的。此外,基于前景图像来生成表示特定对象的三维形状的前景模型和用于对前景模型着色的纹理数据,并且基于背景图像来生成用于对表示诸如运动场等的背景的三维形状的背景模型着色的纹理数据。然后,通过将纹理数据映射到前景模型和背景模型、并且根据由视点信息表示的虚拟视点进行绘制,来生成虚拟视点图像。然而,生成虚拟视点图像的方法不限于上述方法,并且可以采用各种方法。例如,可以通过在不使用三维模型的情况下对拍摄图像进行射影变换来生成虚拟视点图像。
[0023]
视点信息表示虚拟视点的位置和从虚拟视点的取景方向,并且在生成虚拟视点图像时使用。更具体地,视点信息具有包括表示虚拟视点的三维位置的参数以及表示平摇、俯仰和侧倾方向方面的虚拟视点的方向的参数的参数集。注意,视点信息具有分别与多个时间点相对应的多个参数集。例如,视点信息针对形成虚拟视点运动图像的多个帧中的各帧具有多个参数集,其中各参数集表示多个连续时间点中的各时间点处的虚拟视点的位置和从虚拟视点的取景方向。视点信息的内容不限于上述内容。例如,视点信息的参数集可以包括表示虚拟视点的视野的大小(视角)的参数,并且可以包括表示时刻的参数。
[0024]
在本实施例中,使用术语“虚拟照相机”。虚拟照相机是与摄像区域的周围所安装的多个实际摄像设备不同的虚拟照相机,并且是用于方便地说明在虚拟视点图像的生成中所使用的虚拟视点的概念。也就是说,虚拟视点图像可被视为从在与摄像区域相对应的虚拟空间中定义的虚拟视点拍摄到的图像。虚拟摄像中的视点的位置和方向可被表示为虚拟照相机的位置和从虚拟视点的取景方向。换句话说,虚拟视点图像是在利用位于空间中的虚拟视点的照相机拍摄图像的情况下将会获得的模拟图像。此外,在本实施例中,使用术语“虚拟照相机路径”来说明虚拟视点随时间的经过的转变的内容。然而,使用虚拟照相机的概念来实现本实施例不是必要的。也就是说,本实施例可以通过至少设置表示空间中的特定位置和方向的信息、并且通过根据所设置的信息生成虚拟视点图像来实现。
[0025]
图像生成设备102能够通过基于从摄像系统101获取到的多视点图像顺次生成虚拟视点图像来生成实时虚拟视点图像。注意,图像处理系统10所生成的实时虚拟视点图像是表示由于摄像系统101和图像生成设备102中的处理延迟而当前时刻的特定时间前的摄像区域中的场景的图像。通过将从摄像系统101获取到的多视点图像存储在存储单元中,图像生成设备102可以生成表示任何过去时刻的摄像区域的状况的虚拟视点图像(重播虚拟视点图像)。
[0026]
图像生成设备102所生成的虚拟视点图像被输出至信息处理设备103,并且显示在信息处理设备103中所设置的显示单元118上。然而,虚拟视点图像的输出目的地不限于此。例如,所生成的虚拟视点图像可被输出至与信息处理设备103不同的显示设备(未示出)、或者被输出至图像生成设备102中所设置的存储单元或者外部存储设备(未示出)。图像生成设备102可以输出虚拟视点图像,使得实时虚拟视点图像被输出至与重播虚拟视点图像被输出至的目的地不同的目的地。图像处理系统10可以包括多个信息处理设备103,并且各信息处理设备103可以连接至图像生成设备102以进行通信。
[0027]
硬件结构
[0028]
图1b示出信息处理设备103的硬件结构的示例。注意,图像生成设备102的硬件结构与以下所述的信息处理设备103的结构相同。信息处理设备103包括cpu 111、ram 112、rom 113、通信单元114和输入/输出单元115。
[0029]
cpu 111使用ram 112和rom 113中所存储的计算机程序和数据来控制整个信息处理设备103。注意,信息处理设备103可以包括与cpu 111不同的一个或多个专用硬件,并且专用硬件可以执行cpu 111所执行的处理的至少一部分。专用硬件的示例包括asic(专用集成电路)、fpga(现场可编程门阵列)、gpu(图形处理单元)和dsp(数字信号处理器)。ram 112暂时存储从rom 113读取的计算机程序、计算的中间结果、以及经由通信单元114从外部供给的数据等。rom 113存储无需改变的计算机程序和数据。
[0030]
通信单元114具有用于进行使用以太网或usb的通信的通信接口,并且与诸如图像生成设备102等的外部设备进行通信。输入/输出单元115包括语音/声音输入/输出单元116(诸如接受语音/声音的麦克风和输出语音/声音的扬声器等)、操作单元117(诸如操纵杆、鼠标、键盘和触摸面板等)、以及诸如液晶显示器等的显示单元118。cpu 111作为用于控制显示单元118的显示控制单元和用于控制操作单元117的操作控制单元进行操作。在本实施例中,显示单元118和操作单元117存在于信息处理设备103的内部。然而,显示单元118和操作单元117至少之一可以设置在信息处理设备103的外部。
[0031]
功能结构
[0032]
图2示出图像处理系统10的功能结构的示例。视点输入单元201经由语音/声音输入/输出单元116和操作单元117接受用于指定虚拟视点的输入。用于指定虚拟视点的输入例如是与对操纵杆的用户操作相对应的用于使虚拟视点在特定方向上移动的输入。注意,视点输入单元201可以接受从外部设备发送来的视点信息或者在信息处理设备103中生成的视点信息的输入。视点输入单元201将关于与所接受的输入相对应的虚拟视点的移动方向、移动速度、转动方向和转动速度的信息发送至抖动判断单元205、控制单元207和视点设置单元208。
[0033]
信息输入单元202经由语音/声音输入/输出单元116或操作单元117接受与用户操
作相对应的输入,并将与该输入相对应的控制信息发送至抖动判断单元205和控制单元207。信息输入单元202所发送的控制信息例如是用于指定后面将说明的虚拟视点的更新间隔的信息、或者表示对象的抖动的信息。
[0034]
存储单元203是用于存储从图像生成设备102获取到的多视点图像并存储其它素材数据的数据库。在本实施例中,术语“素材数据”用于说明在生成虚拟视点图像时使用的且基于摄像设备所拍摄到的图像所生成的数据、以及基于该拍摄图像所生成的数据。基于拍摄图像所生成的素材数据的示例是从拍摄图像中提取的前景图像和背景图像的数据、表示三维空间中的对象的形状的三维模型数据、以及用于对三维模型着色的纹理数据等。多视点图像是素材数据的一种。存储单元203中所存储的素材数据的内容不限于上述内容。
[0035]
在本实施例中,假定从摄像系统101发送来的多视点图像是多个摄像设备所拍摄到的图像,并且基于多视点图像来生成各种素材数据并将这些素材数据存储在存储单元203中。然而,从摄像系统101发送来的多视点图像可以是通过从由多个摄像设备获取到的多个拍摄图像中提取与特定对象相对应的区域所获得的多个前景图像。也就是说,从拍摄图像中提取前景图像的处理可以由摄像系统101或图像生成设备102进行。
[0036]
对象信息获取单元204从存储单元203中所存储的素材数据获取与特定对象有关的信息,并将所获取到的信息发送至抖动判断单元205。抖动判断单元205获取从视点输入单元201输出的虚拟视点信息、从信息输入单元202输出的控制信息、存储单元203中所存储的素材数据和从对象信息获取单元204输出的信息至少之一。然后,抖动判断单元205基于所获取到的信息来判断是否发生虚拟视点图像中的对象的抖动,并将判断结果发送至控制单元207。
[0037]
例如,在抖动判断单元205获取到表示进行抖动抑制操作的控制信息时,抖动判断单元205可以判断为发生抖动。在替代示例中,抖动判断单元205可以基于由对象信息表示的三维空间中的对象的位置来计算虚拟视点图像中的对象的位置,并且可以基于位置的变化来判断抖动的发生。可选地,例如,抖动判断单元205可以基于素材数据来生成简单的虚拟视点图像,并且可以计算虚拟视点图像的各帧中的对象的运动矢量,由此判断抖动的发生。更具体地,在计算中检测到与在方向上与前后的帧中的运动矢量不同的运动矢量的情况下,或者在计算中检测到幅度大于预定值的运动矢量的情况下,抖动判断单元205可以判断为在对象上发生抖动。可选地,抖动判断单元205可以针对对象的移动和虚拟视点的移动预先存储表示抖动的发生的依赖关系的数据,并且可以基于该数据来判断是否发生对象的抖动。注意,利用抖动判断单元205来判断是否发生抖动的方法不限于上述示例。
[0038]
帧信息获取单元206获取与存储单元203中所存储的素材数据的帧频有关的信息,并将所获取到的信息发送至控制单元207。控制单元207基于从上述的信息处理设备103的功能单元至少之一获取到的信息,来确定在生成虚拟视点图像的操作中的虚拟视点的更新间隔,并将所确定的表示更新间隔的信息发送至视点设置单元208。视点设置单元208基于从视点输入单元201获取到的虚拟视点信息和从控制单元207获取到的与虚拟视点的更新间隔有关的信息,来生成表示虚拟视点的位置和从虚拟视点的取景方向的视点信息,并将所生成的视点信息输出至图像生成单元209。图像生成单元209基于从存储单元203获取到的素材数据和从视点设置单元208获取到的视点信息来生成虚拟视点图像。
[0039]
图像处理系统10的结构不限于图2所示的结构。例如,图2所示的信息处理设备103
的组件中的一些组件可以在能够与信息处理设备103进行通信的另一设备中实现。此外,例如,图像生成设备102和信息处理设备103可以集成为一个。
[0040]
控制虚拟视点的更新间隔的效果
[0041]
以下参考图6a和6b来说明根据本实施例的通过控制虚拟视点的更新间隔所获得的效果。在生成慢动作虚拟视点图像等时,虚拟视点图像的帧更新间隔可以不同于在生成虚拟视点图像时使用的素材数据的更新间隔。在以下的论述中,作为示例,这里假定虚拟视点图像的帧频为60fps,并且诸如多视点图像等的素材数据的帧频也为60fps。在使用上述的素材数据来生成1/2倍的慢动作虚拟视点图像时,从一帧的素材数据生成两帧的虚拟视点图像,因而使用30帧的素材数据来生成一秒的虚拟视点图像。也就是说,切换虚拟视点图像的帧的帧更新间隔为1/60秒,而切换所使用的素材数据的素材数据的更新间隔为1/30秒。在这种情况下,如果生成虚拟视点图像的操作中的虚拟视点的位置和从虚拟视点的取景方向的虚拟视点的更新间隔与虚拟视点图像的帧更新间隔匹配,则虚拟视点的更新间隔和素材数据的更新间隔是不同的。结果,根据对象或虚拟视点的移动,虚拟视点图像中的对象的位置可能抖动或错开。
[0042]
图6a示出通过从一帧的素材数据生成两帧的虚拟视点图像来生成具有60fps的慢动作虚拟视点图像的示例。在该示例中,按每1/30秒更新所使用的素材数据,并且按每1/60秒更新虚拟视点(虚拟照相机)。在摄像系统101所拍摄的摄像区域的场地中,拍摄到选手a和b。选手a在带球的状态下正向右移动。选手b处于静止状态。虚拟照相机c正向右移动,使得在图像的中央拍摄到选手a。纵轴表示时间。一行对应于虚拟视点图像的一帧。例如,块601示出由与第一帧相对应的时刻的素材数据表示的对象的状态,块613示出与第三帧相对应的时刻的虚拟照相机的位置和方向,并且块623示出第三帧的虚拟视点图像。
[0043]
根据在第一帧的定时的选手a(601a)、选手b(601b)和虚拟照相机c(611c),生成虚拟视点图像,使得如块621所示,选手a(621a)出现在画面的中央。在第二帧的定时,更新虚拟照相机的位置,但没有更新素材数据。假定在第二帧的定时,选手a将出现在虚拟照相机c(612c)的视场的中央。然而,这里使用的素材数据是在第一帧的定时使用的素材数据,即使用表示一帧前的选手a(601a)的素材数据。其结果是,如块622所示,生成虚拟视点图像,使得选手a(622a)出现在从画面的中央向左移位的位置。
[0044]
两个类型的帧交替地出现。在第一个类型中,更新虚拟照相机的位置以及素材数据这两者,而在第二个类型中,尽管更新了虚拟照相机的位置,但没有更新素材数据。因而,在图6a的一系列虚拟视点图像(621、622、623、624、625、626、627)中,画面上所显示的选手a的位置在画面的中央和从中央向左偏移的位置之间交替地改变,因而位置抖动。另一方面,选手b的位置在画面上仅仅从右向左移动,并且对于选手b而言没有发生抖动。
[0045]
特别是在如图6a的示例那样对象和虚拟照相机并排移动的状况中,在画面上所显示的对象抖动的这样的现象趋于容易被用户识别出。在这种情况下,所生成的虚拟视点图像可能是不自然的。这种问题不仅可能在生成慢动作虚拟视点图像的情况下发生,而且也可能在摄像系统101拍摄图像的帧频低于虚拟视点图像的帧频的情况下发生。
[0046]
图6b示出另一示例,在该示例中,与图6a所示的示例一样,通过从一个素材数据帧生成两个虚拟视点图像帧也生成了具有60fps的慢动作虚拟视点图像。然而,在该示例中,虚拟视点的更新间隔设置为1/30秒。此外在该示例中,与图6a所示的示例一样,在带球时移
动的选手a和在场所中保持静止的选手b是由与选手a并排移动的虚拟照相机c拍摄到的,使得在画面的中央拍摄到选手a。
[0047]
在第一帧的定时,根据选手a(631a)、选手b(631b)和虚拟照相机c(641c)的位置生成虚拟视点图像,使得如块651所示,选手a(631a)出现在画面的中央。在第二帧的定时,虚拟照相机的位置和素材数据都没有被更新。因而,在这种情况下,使用与一帧前的虚拟照相机c(641c)有关的视点信息和表示一帧前的选手a(631a)的素材数据来生成虚拟视点图像。在如此生成的虚拟视点图像中,如块652所示,选手a(652a)出现在画面的中央。
[0048]
两个类型的帧交替地出现。在第一个类型中,更新虚拟照相机的位置以及素材数据这两者,而在第二个类型中,没有更新虚拟照相机的位置以及素材数据。因而,在图6b的一系列虚拟视点图像(651、652、653、654、655、656、657)中,选手a的位置始终显示在画面的中央,并且选手a没有发生抖动。对于选手b,其位置在画面上沿从右向左的一个方向移动,选手b没有发生抖动,如上所述,通过根据本实施例的方法适当地控制虚拟视点的更新间隔,可以减少虚拟视点图像中的对象的抖动的发生。
[0049]
操作流程
[0050]
图3是示出信息处理设备103的操作的示例的流程图。图3所示的处理由信息处理设备103的cpu 111通过将rom 113中所存储的程序加载到ram 112中并执行该程序来实现。注意,图3所示的处理的至少一部分可以由不同于cpu 111的一个或多个专用硬件单元来实现。图3所示的处理在图像生成设备102和信息处理设备103彼此连接的定时开始,并且将用于指定要生成的虚拟视点图像的视点的指示输入至信息处理设备103。然而,开始图3所示的处理的定时不限于上述示例。在参考图3的以下说明中,假定基于存储单元203中预先存储的素材数据来生成重播虚拟视点图像,并且针对与一系列虚拟照相机路径相对应的一系列虚拟视点图像中的各图像执行图3所示的处理。
[0051]
在s301中,视点输入单元201基于经由语音/声音输入/输出单元116或操作单元117给出的输入,来获取与虚拟视点的移动方向、移动速度、转动方向和转动速度等有关的信息。在s302中,信息输入单元202根据用户操作等来获取控制信息。这里获取到的控制信息例如是用于指定后面将说明的虚拟视点的更新间隔的信息、或者表示对象的抖动的信息。这里,s302中所获取到的控制信息可以包括表示在再现虚拟视点处的运动图像时的虚拟视点图像的帧更新间隔的信息。虚拟视点图像的帧更新间隔可以根据用户操作来指定,或者可被预先设置为预定间隔。此外,虚拟视点图像的帧更新间隔可以根据用于虚拟视点处的运动图像的发送的通信路径的频带或者用于显示虚拟视点处的运动图像的显示设备的能力来确定。在s303中,对象信息获取单元204基于存储单元203中所存储的素材数据来获取与对象的位置和/或移动有关的对象信息。在步骤s304中,帧信息获取单元206基于存储单元203中所存储的素材数据来获取与素材数据的帧频等有关的帧信息。
[0052]
帧信息获取单元206所获取到的帧信息包括表示多视点图像的帧频的信息。在本实施例中,假定在摄像系统101的摄像帧频、存储单元203中所存储的多视点图像的帧频和存储单元203中所存储的诸如模型数据等的素材数据的帧频之间,帧频相等。然而,在上述帧频之间可能存在差异。例如,在存储单元203中所存储的一些素材数据之间,帧频可能不同。在这种情况下,帧信息获取单元206可以获取表示各素材数据的帧频的帧信息。注意,帧信息仅需包括与用于获取多视点图像的摄像系统101所拍摄到的与不同摄像时刻相对应的
多个帧有关的信息,并且帧信息的内容不限于上述内容。例如,帧信息可以是表示多视点图像的帧更新间隔的信息,或者表示多视点图像的帧数的信息,或者表示与多视点图像的各个帧相对应的时刻的信息。
[0053]
在s305中,控制单元207基于经由从s301到s304的处理获取到的各种信息,来确定在生成虚拟视点图像时的虚拟视点的更新间隔。后面将参考图4来详细说明s305的处理。
[0054]
进行处理s301至s304的顺序不限于图3所示的顺序。注意,从s301到s304的处理的至少一部分可以是并行进行的。此外,信息处理设备103可以不执行从s301到s304的处理中的至少一些处理。例如,在s305中的虚拟视点的设置中仅使用在s304中获取到的帧信息的情况下,可以省略从s301到s303的处理。
[0055]
在s306中,视点设置单元208生成与s305中所确定的更新间隔相对应的视点信息。与所确定的更新间隔相对应的视点信息表示与所确定的更新间隔相对应的多个时间点中的各时间点处的虚拟视点的位置和从虚拟视点的取景方向。更具体地,在针对被确定为1/30秒的虚拟视点的更新间隔生成视点信息的情况下,由此得到的视点信息每秒包括表示虚拟视点的位置和从虚拟视点的取景方向的30个参数集。然而,视点信息的格式不限于该示例。例如,与所确定的更新间隔相对应的视点信息可以表示与虚拟视点图像的帧更新间隔相对应的多个时间点中的各时间点处的虚拟视点的位置和从虚拟视点的取景方向。更具体地,在虚拟视点图像的帧更新间隔为1/60秒时,可以生成视点信息,使得每秒包括表示虚拟视点的位置和从虚拟视点的取景方向的60个参数集。在该格式中,在虚拟视点的更新间隔为1/30秒时,在视点信息中按每两个间隔放置相同的两个参数集。在本实施例中,以下说明集中于虚拟视点的更新间隔等于或长于虚拟视点图像的帧更新间隔的情况。这是示例,但不是限制。虚拟视点的更新间隔可以短于虚拟视点图像的帧更新间隔。
[0056]
在s307中,视点设置单元208将在s306中生成的视点信息输出至图像生成设备102的图像生成单元209。图像生成单元209基于从存储单元203获取到的素材数据,来生成与从视点设置单元208获取到的视点信息相对应的虚拟视点图像。
[0057]
以下参考图4来详细说明s305的处理。图4是示出图3的s305中的处理的示例的流程图。注意,针对要经过图3所示的处理的一系列虚拟照相机路径中的各特定时间段(例如,针对每一秒的虚拟照相机路径)执行图4所示的处理。也就是说,信息处理设备103针对各特定时间段控制由在s306中生成的视点信息表示的虚拟照相机路径中的虚拟视点的更新间隔。然而,信息处理设备103可以针对经过图3所示的处理的一系列虚拟照相机路径整体,将虚拟视点的更新间隔确定成恒定。
[0058]
在步骤s401中,控制单元207将形成预定再现时间段的运动图像的虚拟视点图像的帧数和在生成与该预定再现时间段相对应的虚拟视点图像时使用的素材数据的帧数进行比较。在本实施例中,假定素材数据的帧数是由多视点图像的帧数给出的。然而,这是示例而不是限制性的。例如,素材数据的帧数可以由三维模型数据的帧数来给出。在s401中判断为素材数据的帧数小于虚拟视点图像的帧数的情况下,处理流程进入s402,否则处理流程进入s406。
[0059]
例如,这里假定虚拟视点图像的帧频(1秒的再现时间段中的帧数)为60fps,并且多视点图像等的素材数据的帧频也为60fps。在生成正常速度的虚拟视点图像时使用该素材数据的情况下,使用60帧的素材数据来生成包括60帧的一秒的虚拟视点图像,因而s401
中的判断为“否”。因而,处理流程进入s406。另一方面,在生成1/2倍的慢动作虚拟视点图像的情况下,根据一帧的素材数据生成两帧的虚拟视点图像。也就是说,使用30帧的素材数据来生成由60帧构成的一秒的虚拟视点图像。因此,s401中的判断为“是”,并且处理流程进入s402。
[0060]
在s402中,控制单元207基于与经由视点输入单元201获得的虚拟视点有关的信息,来判断虚拟视点是否以等于或高于预定值的速度改变。虚拟视点的变化速度例如是以下其中之一:虚拟视点的移动速度;虚拟视点的转动速度;以及移动速度和转动速度的组合。如果在s402中判断为虚拟视点的变化速度等于或大于阈值,则处理流程进入s405,否则处理流程进入s403。
[0061]
在s403中,控制单元207基于从对象信息获取单元204获得的对象信息来判断是否满足预定条件。更具体地,判断三维空间中的虚拟视点的移动方向与对象的移动方向之间的角度差是否小于阈值,并且此外还判断虚拟视点的移动方向与虚拟视点的取景方向(视线方向)之间的角度差是否等于或大于阈值。如果判断结果为“是”,则处理流程进入s405,否则处理流程进入s404。
[0062]
在步骤s404中,基于从抖动判断单元205获得的信息,控制单元207在虚拟视点更新间隔被设置为等于预定长度(例如,虚拟视点图像的帧更新间隔)的情况下,判断对象是否发生抖动。如果s404中的判断结果为“是”,则处理流程进入s405,否则处理流程进入s406。
[0063]
在处理流程进入s405的情况下,即在判断为在虚拟视点图像中对象可能发生抖动或者检测到抖动的情况下,控制单元207将虚拟视点图像的更新间隔确定成等于在生成虚拟视点图像时所使用的素材数据的更新间隔。另一方面,在处理流程进入s406的情况下,控制单元207将虚拟视点的更新间隔确定成等于虚拟视点图像的帧更新间隔。
[0064]
注意,确定图4所示的虚拟视点的更新间隔的方法仅仅是示例。也就是说,利用控制单元207确定虚拟视点的更新间隔的方法不限于该示例。例如,可以交换从s401到s404的条件判断的顺序,或者可以省略从s401到s404的条件判断至少之一。更具体地,例如,在s401中的判断结果为“是”的情况下,处理流程可以进入s405,否则处理流程可以进入s406。此外,例如,控制单元207可以基于是否满足与三维空间中的虚拟视点的位置和高度、移动路径、以及对象的移动速度有关的条件来判断是进行s405的处理还是进行s406的处理。
[0065]
在图4所示的示例中,在生成预定再现时间段的虚拟视点图像时使用的素材数据的帧数等于或大于该再现时间段中的虚拟视点图像的帧数的情况下,虚拟视点的更新间隔被设置成等于虚拟视点图像的帧更新间隔。此外,在生成预定再现时间段的虚拟视点图像时使用的素材数据的帧数小于预定阈值的情况下,虚拟视点的更新间隔可被设置成等于虚拟视点图像的帧更新间隔。也就是说,在生成预定再现时间段的虚拟视点图像时使用的素材数据的帧数与该再现时间段的虚拟视点图像的帧数之间的比在预定范围内的情况下,虚拟视点的更新间隔可被设置成等于素材数据的更新间隔。如果不满足该条件,则虚拟视点更新间隔可被设置成等于虚拟视点图像的帧更新间隔。这使得可以在生成动作速度非常慢的慢动作虚拟视点图像、或者生成虚拟视点图像使得在摄像时刻的进度停止的状态下虚拟视点改变的情况下,防止虚拟视点更新间隔太大或者防止不更新该间隔。
[0066]
虚拟视点的更新间隔可以基于用户操作来确定。图5是示出图3的s305中的处理的
与图4所示的示例不同的示例的流程图。在s501中,信息输入单元202判断是否输入了指示抑制虚拟视点图像中的对象的抖动的抖动抑制操作。例如,在用户响应于识别出正在发生抖动而按下特定按钮、或者用户按下特定按钮以指示防止模糊的情况下,信息输入单元202判断为进行了抖动抑制操作。在进行了抖动抑制操作的输入的情况下,处理流程进入步骤s304,在该步骤s304中,控制单元207将虚拟视点的更新间隔设置成等于素材数据的更新间隔。另一方面,在没有进行抖动抑制操作的输入的情况下,处理流程进入s503,在该s503中,控制单元207将虚拟视点更新间隔设置成等于虚拟视点图像的帧更新间隔。注意,在进行了一次抖动抑制操作的输入的情况下,控制单元207可以继续进行s502的处理。可选地,可以仅在通过抖动抑制操作给出的指示有效的时间段内进行s502的处理,但在通过抖动抑制操作给出的指示变得无效时,可以进行s503的处理。
[0067]
注意,虚拟视点的更新间隔可以不同于虚拟视点图像的帧更新间隔且不同于素材数据的更新间隔。例如,在素材数据的更新间隔长于虚拟视点图像的帧更新间隔时,控制单元207可以将虚拟视点的更新间隔设置为虚拟视点图像的帧更新间隔和素材数据的更新间隔之间的长度。
[0068]
以上说明了信息处理设备103的操作流程。如上所述,根据本实施例的信息处理设备103生成表示与如下的虚拟视点图像有关的虚拟视点的位置和从虚拟视点的取景方向的视点图像,该虚拟视点图像是基于由被配置为从多个方向拍摄对象的图像的多个摄像设备拍摄到的多视点图像而生成的。在该处理中,根据是否满足预定条件,信息处理设备103将与虚拟视点图像的生成有关的虚拟视点的位置和从虚拟视点的取景方向的更新间隔设置成长于虚拟视点图像的帧更新间隔,并且根据所确定的更新间隔来生成视点信息。根据上述实施例,即使在生成诸如慢动作虚拟视点图像等的变速虚拟视点图像时,也可以抑制虚拟视点图像中的对象的不自然抖动或不平滑移动的发生。
[0069]
控制虚拟视点的更新间隔的示例
[0070]
参考图7至图9来说明利用信息处理设备103的虚拟视点更新间隔的控制的三个具体示例。在图7所示的第一示例中,基于素材数据的更新间隔来控制虚拟视点的更新间隔。在图8所示的第二示例中,基于虚拟视点和对象移动的方式来控制虚拟视点的更新间隔。在图9所示的第三示例中,基于与是否发生对象的抖动有关的判断的结果来控制虚拟视点的更新间隔。
[0071]
首先,参考图7来说明如下的示例:控制单元207基于从帧信息获取单元206获取到的与素材数据有关的帧信息并且基于图像生成单元209所要生成的虚拟视点图像的帧频信息来控制虚拟视点的更新间隔。更具体地,在虚拟视点图像的帧更新间隔小于素材数据的更新间隔时,进行控制,使得虚拟视点的更新间隔等于素材数据的更新间隔。
[0072]
在图7中,时间轴上的各点(701、702、703、704、705)不是表示特定时间点,而是表示具有与数个帧或更多帧相对应的长度的时隙。注意,从点701到点705的时间段是连续的单个时间段。在图7中,“对象和虚拟视点之间的关系”示出对象(701a、702a、703a、704a、705a)和虚拟视点(701b、702b、703b、704b、705b)从一个时隙到下一时隙改变的方式。从对象延伸出的实心箭头(701c、702c、703c、704c、705c)表示对象的移动方向,并且从虚拟视点延伸出的实心箭头(701d、702d、703d、704d、705d)表示虚拟视点的移动方向。从虚拟视点延伸出的两个线段之间的区域(701e、702e、703e、704e、705e)表示虚拟视点的方向和视角。
[0073]
以下给出关于在各时隙中控制与虚拟视点图像的生成有关的虚拟视点的更新间隔的方式的说明。在时隙701中,对象701a和虚拟视点701b以相同的速度平行移动。素材数据的更新间隔为1/60秒,虚拟视点图像的帧更新间隔为1/60秒,并且虚拟视点的更新间隔等于虚拟视点图像的更新间隔、即1/60秒。
[0074]
从时隙702到时隙704,对象(702a、703a、704a)和虚拟视点(702b、703b、704b)以相同的速度平行移动。在这些时隙中,虚拟视点图像处于慢动作,并且素材数据的更新间隔被设置为更长的值即1/30秒。另一方面,虚拟视点图像的帧更新间隔为1/60秒,因而虚拟视点的帧更新间隔短于素材数据的更新间隔。因而,控制单元207将虚拟视点的更新间隔设置成等于素材数据的更新间隔、即1/30秒。
[0075]
在时隙705中,对象705a和虚拟视点705b以相同的速度平行移动。在该时隙中,虚拟视点图像的显示速度已从慢动作速度返回到正常速度,因而素材数据的更新间隔为1/60秒,并且虚拟视点图像的更新间隔为1/60秒。因而,控制单元207将虚拟视点的更新间隔设置成等于虚拟视点图像的帧更新间隔、即1/60秒。
[0076]
接着,参考图8,说明控制单元207基于从视点输入单元201获取到的虚拟视点信息和从对象信息获取单元204获取到的对象信息来控制虚拟视点的更新间隔的示例。更具体地,在虚拟视点的移动方向和对象的移动方向之间的角度差小于阈值、并且此外虚拟视点的移动方向与虚拟视点的位置和从虚拟视点的取景方向之间的角度差等于或大于阈值时,将虚拟视点的更新间隔控制成等于素材数据的更新间隔。这里,假定针对虚拟视点的移动方向和对象的移动方向之间的角度差的阈值为15度,并且针对虚拟视点的移动方向和从虚拟视点的取景方向之间的角度差的阈值为30度。
[0077]
虚拟视点图像从时隙801到时隙805连续处于慢动作,并且素材数据的更新间隔为1/30秒。在时隙801中,虚拟视点801b以对象801a的相同速度移动以跟随对象801a。虚拟视点的移动方向801d和对象的移动方向801c之间的角度差小于阈值,并且虚拟视点的移动方向801d和虚拟视点的方向801e之间的角度差小于阈值。在这种情况下,不满足虚拟视点的移动方向801d和虚拟视点的方向801e之间的角度差等于或大于阈值这一条件。因此,虚拟视点的更新间隔等于虚拟视点图像的帧更新间隔、即1/60秒。
[0078]
在时隙802和803中,虚拟视点(802b、803b)从对象(802a、803a)的背面移动到对象的侧面。虚拟视点的移动方向(802d、803d)和对象的移动方向(802c、803c)之间的角度差大于或等于阈值,并且虚拟视点的移动方向(802d、803d)和虚拟视点的方向(802e、803e)之间的角度差大于或等于阈值。在这种情况下,不满足虚拟视点的移动方向(802d、803d)和对象的移动方向(802c、803c)之间的角度差小于阈值这一条件。因而,虚拟视点的更新间隔等于虚拟视点图像的帧更新间隔、即1/60秒。
[0079]
在时隙804中,虚拟视点804b以相同的速度与对象804a平行移动。虚拟视点的移动方向804d和对象的移动方向804c之间的角度差小于阈值,并且虚拟视点的移动方向804d和虚拟视点的方向804e之间的角度差大于或等于阈值,因而满足条件。因而,控制单元207将虚拟视点的更新间隔设置成等于素材数据的更新间隔、即1/30秒。
[0080]
在时隙805中,对象805a移动远离虚拟视点805b。虚拟视点的移动方向805d和对象的移动方向805c之间的角度差大于或等于阈值,并且虚拟视点的移动方向(805d)与视点方向(805e)之间的角度差大于或等于阈值。在这种情况下,不满足虚拟视点的移动方向805d
和对象的移动方向805c之间的角度差小于阈值这一条件。因而,控制单元207将虚拟视点的更新间隔设置成等于虚拟视点图像的帧更新间隔、即1/60秒。
[0081]
接着,参考图9,说明控制单元207基于从抖动判断单元205获取到的判断结果来控制虚拟视点的更新间隔的第三示例。更具体地,在判断为在所生成的虚拟透视图像中发生对象的抖动时,进行控制以增加虚拟视点的更新间隔,使得抖动得以抑制。
[0082]
虚拟视点图像在从时隙901到时隙905的时间段内连续地处于慢动作,并且素材数据的更新间隔为1/20秒。在时隙901和时隙902中,虚拟视点图像是慢动作图像,并且素材数据的更新间隔为1/20秒。由于抖动判断单元205判断为对象未发生抖动,因此虚拟视点的更新间隔被设置成等于虚拟视点图像的帧更新间隔、即1/60秒。
[0083]
在时隙903中,抖动判断单元205判断为在从更新了素材数据的帧起计数的第三帧中发生抖动。作为响应,控制单元207将虚拟视点的更新间隔设置为1/30秒,以在保持虚拟视点的更新间隔和素材数据的更新间隔之间的差小于2帧的同时,防止虚拟视点的更新间隔太长。
[0084]
在时隙904中,抖动判断单元205判断为在从更新了素材数据的帧起计数的第二帧中发生抖动。因而,控制单元207将虚拟视点的更新间隔设置为1/20秒,使得虚拟视点的更新间隔和素材数据的更新间隔之间的差小于1帧。
[0085]
在时隙905中,抖动判断单元205判断为在从更新了素材数据的帧起计数的第三帧中发生抖动。作为响应,控制单元207将虚拟视点的更新间隔设置为1/30秒,以在保持虚拟视点的更新间隔和素材数据的更新间隔之间的差小于2帧的同时,防止虚拟视点的更新间隔太长。
[0086]
其它实施例
[0087]
以上说明了图像处理系统10和由图像处理系统10进行的处理的示例。注意,本发明不限于上述实施例,而可以进行各种变形。此外,可以部分地适当组合上述实施例。
[0088]
例如,在上述实施例中,说明已经集中于素材数据的帧频和虚拟视点图像的帧频相同的情况,但本发明不限于这样的情况。例如,在素材数据的帧频和虚拟视点图像的帧频中的一个帧频是另一帧频的倍数的情况下,以上在实施例中所述的处理是适用的。此外,即使在这些帧频中的一个帧频不是另一帧频的倍数时,根据本实施例的处理也可以通过使用已知技术(2-3下拉等)进行帧频转换来应用。更具体地,例如,在多视点图像等的素材数据的帧频为50fps、并且最终要生成的虚拟视点图像的帧频为60fps时,本实施例是适用的。在这种情况下,可以通过根据上述技术控制虚拟视点的更新间隔来生成50fps的虚拟视点图像,并且将所获得的50fps的虚拟视点图像转换成60fps的虚拟视点图像。因而,可以获得对象的抖动得以抑制的60fps的虚拟视点图像。
[0089]
根据上述实施例,可以抑制虚拟视点图像中的对象的不自然移动的发生。
[0090]
其它实施例
[0091]
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(cpu)、微处理单元(mpu)读出并执行程序的方法。
[0092]
尽管已经参考典型实施例说明了本发明,但是应该理解,本发明不限于所公开的典型实施例。所附权利要求书的范围符合最宽的解释,以包含所有这类修改、等同结构和功能。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1