信息处理系统、信息处理方法和程序
文献发布时间:2023-06-19 11:32:36
技术领域
本发明涉及虚拟视点图像的生成和分发。
背景技术
作为通过使用多个真实照相机拍摄的图像从虚拟地布置在三维空间内并且实际上不存在的照相机(虚拟照相机)再现图像的技术,存在虚拟视点图像生成技术。
虚拟视点图像的特征在于允许从各种角度浏览例如诸如足球之类的运动中的精彩场景等并且与利用真实照相机拍摄的正常图像相比能够给用户高临场感。专利文献1描述了一种根据由多个用户中的每个用户指定的虚拟视点来生成多个虚拟视点图像并且在多个用户之间共享多个虚拟视点图像的技术。
引用列表
专利文献
专利文献1:日本特开2014-215828
发明内容
通过上述专利文献1中描述的技术所生成和分发的多个虚拟视点图像都是仅在虚拟视点中不同的共同格式(投影方案)的所有虚拟视点图像。但是,近年来,要求提供各种格式的图像内容。例如,在分发利用照相机拍摄的拍摄图像时的图像格式不限于一般二维方案(在下文中,描述为“2D方案”),并且存在三维方案(在下文中,描述为“3D方案”),该三维方案通过使用具有视差的两个图像来实现立体视图。此外,存在能够在最大360度的范围内改变视线方向的全景方案、通过使用由全景方案获得的两个图像来实现立体视图的3D全景方案等。在可以如上所述不仅针对正常拍摄的图像而且也针对可以任意地指定视点的虚拟视点图像向用户提供各种格式的图像内容的情况下,用户可以提供体验新观看,并且因此可以改善用户的满意度。
鉴于上述问题做出了本发明,并且目的在于可以基于通过利用多个摄像装置进行图像拍摄而获得的图像来向用户提供多种不同格式的虚拟视点内容。
用于解决问题的方案
根据本发明的信息处理系统包括:一种信息处理系统,包括:图像获取单元,其被配置为基于用于从彼此不同的方向拍摄目标区域的多个摄像装置所进行的图像拍摄来获取多个图像;视点获取单元,其被配置为获取用于指示虚拟视点的位置和朝向的视点信息;以及生成单元,其被配置为基于所述图像获取单元所获取的共同的多个图像和所述视点获取单元所获取的所述视点信息来生成与多种图像格式相对应的多个虚拟视点内容,其中,所述多种图像格式是生成所述虚拟视点内容所使用的所述视点信息所指示的虚拟视点的数量彼此不同的图像格式。
发明的有益效果
根据本发明,可以基于通过利用多个摄像装置执行图像拍摄所获得的图像向用户提供多个不同格式的虚拟视点内容。
通过以下参照附图对示例性实施例的描述,本发明的其它特征将变得明显。
附图说明
图1是示出生成并且分发虚拟视点图像的图像处理系统的配置的示例的图;
图2是示出传感器系统的安装示例的图;
图3的(a)是示出图像生成服务器的硬件配置的图并且(b)是示出其软件配置的图;
图4的(a)是示出坐标系的图并且(b)是示出场地上的对象的图;
图5的(a)至(c)每个均是说明虚拟视点的图;
图6的(a)和(b)是示出用于给出用于生成和分发虚拟视点图像的指令的UI画面的示例的图;
图7的(a)和(b)是示出虚拟视点图像的生成和分发处理的流程的流程图;
图8的(a)至(d)每个均是示出每个投影方案的虚拟视点图像生成处理的流程的流程图;
图9的(a)是说明虚拟照相机的位置的图并且(b)至(e)每个均是示出虚拟视点图像的示例的图;以及
图10是示出生成并且分发虚拟视点图像的图像处理系统的配置的示例的图。
具体实施方式
在下文参照附图说明本发明的实施例。所说明的实施例表示在具体地执行本发明的情况下的示例,并且不限于此。
在本实施例中,说明了如下的方面:布置多个摄像装置(照相机)以围绕图像拍摄目标三维空间,并且基于通过利用多个图像进行图像拍摄所获得的图像来生成和分发图像格式不同的多个虚拟视点内容的方面。本实施例中的图像格式是用于向用户提供虚拟视点内容的图像格式,并且在下文中,这也被描述为投影方案。此外,虚拟视点内容是由终端用户和/或规定的操作员等操纵与虚拟视点(虚拟照相机)相对应的照相机的位置和姿势(朝向)而改变的图像内容,并且也称为自由视点图像、任意视点图像等。在下文中,虚拟视点内容也被描述为虚拟视点图像。虚拟视点图像可以是运动图像或静止图像,并且在本实施例中,以运动图像作为示例的情况进行说明。
(系统配置)
图1是示出生成并分发虚拟视点图像的图像处理系统的配置的示例的图。图像处理系统100包括传感器系统101a至101n、图像存储装置102、数据库服务器103、图像生成服务器104、客户端PC 105以及控制器106a至106m。在下文中说明配置图像处理系统100的每个单元。
传感器系统101a至101n被布置为围绕三维空间,该三维空间是诸如运动场之类的图像拍摄目标区域。传感器系统上具有一个照相机。图2示出了传感器系统101a至101n的安装示例。在图2的示例中,将运动场内的场地以及位于其上的运动员和球视为对象,并且将N个传感器系统101a至101n布置为围绕它们。传感器系统101a至101n中的每个具有照相机和麦克风(未示意性示出)。传感器系统101a至101n各自的每个照相机同步地拍摄相同的对象。通过利用每个照相机从彼此不同的方向执行图像拍摄所获得的、视点不同的多个图像的集合是多视点图像。此外,未示意性示出的每个麦克风同步地收集语音。为了简化说明,省略了语音的描述,但是基本上,图像和语音被一起处理。
图像存储装置102从传感器系统101a~101n获取多视点图像、语音和图像拍摄时添加的时间代码,并且将它们存储在数据库服务器103中。也可以对多视点图像执行诸如前景/背景分离处理之类的图像处理,并将多视点图像连同图像处理的结果一起存储在数据库服务器103中。
控制器106a至106m是用于每个用户操作虚拟照相机210a至210m的输入装置,并且例如使用操纵杆、平板电脑、头戴式显示器(HMD)等。根据用户使用控制器106a至106m指定的虚拟视点,在图像生成服务器104中生成虚拟视点图像。在本实施例中,该配置使得多个操作员同时使用多个控制器106a至106m,并且彼此独立地设置不同的虚拟视点。然而,该配置可以是例如可以利用一个平板电脑来指定多个不同的虚拟视点的配置。在下面的说明中,在描述控制器106a至106m中的任意一个的情况下,将其描述为“控制器106”,并且在描述虚拟照相机210a至210m中的任意一个的情况下,将其描述为“虚拟照相机210”。
客户端PC 105是一种用于向图像生成服务器104提供操作员等生成并且分发虚拟视点图像所需的信息的信息处理设备。操作员通过使用稍后将描述的用户界面来创建指定要生成的虚拟视点图像的数量、在生成时应用的投影方案、所生成的虚拟视点图像的输出目的地(分发目的地)等的信息(在下文中称为“指令信息”),并且将指令信息发送到图像生成服务器104。
图像生成服务器104根据从客户端PC 105发送的指令信息,从自数据库服务器103所获取的多视点图像中通过各种投影方案生成虚拟视点图像。此时,使用由控制器106a至106m设置的虚拟视点。然后,图像生成服务器104将一个或多个所生成的虚拟视点图像输出到指定的分发目的地A至Z。作为分发目的地的示例,例如,存在运动图像共享站点、SNS、广播中心、公众观看场地等等。这里,在运动图像共享站点和SNS的情况下,实时分发方案和按需分发方案这两者是兼容的,因此,操作员根据分发方面来指定投影方案。实时分发是用于实时广播的分发,而按需分发是使用户能够根据需要观看累积数据的分发。观看者可以通过使用智能手机等连接到运动图像共享站点或SNS来容易地观看实时分发或按需分发。
以上是构成图像处理系统100的每个元素的概要。上述系统配置是一个示例,并且例如也可以通过一个计算机实现客户端PC 105和图像生成服务器104。此外,例如,客户端PC 105和控制器106可以被配置为一个单元。
(图像生成服务器的配置和功能)
在以上内容之后,详细说明图像生成服务器104的配置和功能。图3的(a)示出图像生成服务器104的硬件配置,并且(b)示出图像生成服务器104的软件配置。首先,说明硬件配置,然后说明软件配置。
图像生成服务器104包括通用信息处理设备具有的硬件,即CPU 301、RAM 302、ROM303、HDD 304、通信I/F 305、输入装置306和输出装置307。CPU 301是通过使用RAM 302作为工作存储器通过执行在ROM 303中存储的各种程序来集中控制图像生成服务器104的每个单元的处理器。通过CPU 301执行各种程序,实现图3的(b)中所示的每个处理模块的功能。RAM 302暂时存储从ROM 303读取的程序、操作结果等。ROM 303存储不需要改变的诸如OS等的程序以及数据。HDD 304是存储从数据库服务器103读取的多视点图像、所生成的虚拟视点图像等的大容量存储装置,并且可以是例如SSD等。通信I/F 305与诸如以太网和USB等的通信标准兼容,并且与数据库服务器103、客户端PC 105以及控制器106a至106m通信。输入装置306是操作员执行各种输入操作的键盘或鼠标。输出装置307是显示操作员所需的信息(UI画面等)的显示装置(例如监视器等)。在例如采用触摸面板装置作为输出装置307的情况下,触摸面板显示器还用作上述输入装置306。例如,客户端PC 105也包括上述硬件配置。
在以上内容之后,参考图3的(b),说明图像生成服务器104的主要软件配置。图像生成服务器104具有五个处理模块:主控制模块311、绘制预处理模块312、虚拟视点补充模块313、绘制模块314和分发模块315。在假定本实施例的图像生成服务器104根据四种预定投影方案(即先前描述的2D方案、3D方案、全景方案和3D全景方案)中的一个或多个指定的投影方案来生成虚拟视点图像的情况下给出说明。可以指定的投影方案不限于上述四种。如稍后将描述的,由用于生成虚拟视点图像的视点信息所指示的虚拟视点的数量对于不同的投影方案是不同的。
主控制模块311是在根据先前描述的指令信息生成虚拟视点图像时起主要作用并且向其它处理模块给出各种指令的模块。例如,在指定3D方案的情况下,仅由控制器106设置的虚拟视点是不够的,因此,主控制模块311指示虚拟视点补充模块313对缺少的虚拟视点进行补充。然后,主控制模块311指示绘制模块314使用两个虚拟视点(由用户利用控制器106所设置的虚拟视点和通过上述补充所获得的虚拟视点)执行绘制处理。然后,主控制模块311通过对从绘制模块314接收到的绘制处理结果(对应于两个虚拟视点的两个图像)执行合成处理,通过3D方案生成一个虚拟视点图像。主控制模块311可以通过根据来自客户端PC 105的指令信息中所指定的要生成的虚拟视点图像的数量同时和并行地执行诸如此类的一系列处理来生成和分发多个虚拟视点图像。
绘制预处理模块312通过指定图像拍摄时的时间代码从数据库服务器103获取多视点图像。该多视点图像由传感器系统101a至101n的每个照相机执行同步图像拍摄而获得并且由图像存储装置102存储在数据库服务器103中。此外,绘制预处理模块312还执行处理以从多视点图像中生成指示前景和背景的三维形状的数据(三维模型),其在绘制模块314的绘制处理(渲染)时使用。该三维模型通过使用形状估计方法(例如,Visual Hull等)来生成并且由例如点云来配置。该配置可以是由例如诸如图像存储装置102之类的另一设备执行三维模型的生成并且绘制预处理模块312获取由另一设备所生成的三维模型连同多视点图像的配置。
虚拟视点补充模块313获取由控制器106a至106m中的每个所输出的指定虚拟照相机210a至210m中的每个的位置和朝向的视点信息(在下文中也描述为“虚拟照相机参数”)。该视点信息可以不仅包括与虚拟照相机210a至210m的位置和朝向有关的信息,还包括例如与倍率(变焦)有关的信息。生成一个虚拟视点图像所需的虚拟视点的数量根据其投影方案而不同。例如,在指定的投影方案是2D方案的情况下,一个虚拟视点是足够的。与此相反,在3D方案的情况下,需要另一个虚拟视点,这形成了双眼视差与在从控制器106获取的视点信息中指定的虚拟视点的关系。因此,虚拟视点补充模块313基于根据从控制器106输入的视点信息的虚拟视点来补充根据指令信息中指定的投影方案所需数量的虚拟视点。以这种方式,生成与缺少的虚拟视点有关的视点信息。将在稍后描述虚拟视点的这种补充。
绘制模块314基于在从虚拟视点补充模块313接收到的视点信息中指定的一个或多个虚拟视点,通过对前景和背景的三维模型的透视投影来进行绘制。具体地,绘制模块314执行处理以选择要用于配置三维模型的每个点的多视点图像,并且基于虚拟视点在所选择的多视点图像中获取适当的像素值并执行着色。绘制结果被发送到主控制模块311。
分发模块315将如上所述生成的虚拟视点图像发送到指定的分发目的地。根据多个投影方案的多个虚拟视点图像的分发目的地可以彼此不同,或者分发目的地的至少一部分可以相同。在本实施例的情况下,如稍后将描述的,也可以将一个虚拟视点图像输出到多个分发目的地。在本说明书中,存在如下情况:将由图像生成服务器104分发的虚拟视点图像表示为“流”并且将分发的数量表示为“流的数量”。
如上所述,本实施例的图像生成服务器104的特征在于:通过应用各种投影方案从共同的多视点图像生成一个或多个虚拟视点图像并且将它们传输到一个或多个分发目的地(多流输出)。根据诸如此类的方法,可以有效地响应各个用户的请求。例如,在通过常规方法使用不是虚拟视点图像的正常拍摄图像来提供3D方案的图像和全景方案的图像的情况下,每个图像所需的拍摄图像是不同的。为了提供3D方案的图像而不是全景方案的图像,需要用于右眼的拍摄图像和用于左眼的拍摄图像,即需要图像拍摄位置相差几厘米并且图像拍摄方向基本上相同的两个图像。另一方面,为了提供360°的全景图像,需要图像拍摄方向彼此不同的大量拍摄图像或者超广角(鱼眼)拍摄图像。因此,为了向用户提供多种不同格式的图像,需要用于执行与格式数量相对应的次数的图像拍摄的时间和努力。与此相反,本实施例的图像生成服务器104可以通过预先获取不依赖于待提供的图像的格式的共同多视点图像并且使用该图像来生成并提供多种格式的图像。此外,可以根据用户任意指定的虚拟视点来提供各种格式的图像,这无法用正常拍摄图像来实现。
(虚拟视点的设置)
在上述内容之后,通过以运动场中的足球比赛为图像拍摄场景的情况为例来说明由操作员设置的虚拟视点。首先,说明表示图像拍摄目标的三维空间的坐标系,该坐标系是设置虚拟视点的情况下的基准。
图4的(a)示出了在本实施例中使用的由三个轴(即X轴、Y轴和Z轴)表示三维空间的笛卡尔坐标系。该笛卡尔坐标系被设置到图4的(b)所示的每个对象,即存在于其上的场地400、球401、选手402等。此外,还可以将笛卡尔坐标系设置到运动场内的设施,诸如观众席和看板等。具体地,首先,将原点(0,0,0)设置在场地400的中心。然后,将X轴设置在场地400的长边方向上,将Y轴设置在场地400的短边方向上,并且将Z轴设置在与场地400垂直的方向上。各轴的方向不限于此。通过使用诸如此类的坐标系,指定了虚拟照相机210的位置和朝向。
在图5的(a)所示的四角锥500中,顶点501表示虚拟照相机210的位置,并且其起始点为顶点501的视线方向上的向量502指示虚拟照相机210的朝向。虚拟照相机的位置由每个轴的分量(x,y,z)表示,并且虚拟照相机210的朝向由每个轴的分量都被取为标量的单位向量表示。假设表示虚拟照相机210的朝向的向量穿过前向剪切平面503和后向剪切平面504的中心点。作为三维模型的投影范围(绘制范围)的虚拟视点的视椎体是由前向剪切平面503和后向剪切平面504之间夹着的空间505。接下来,说明虚拟视点的移动(虚拟照相机210的位置的改变)和虚拟视点的旋转(虚拟照相机210的朝向的改变)。
可以在三维坐标表示的空间内移动和旋转虚拟视点。图5的(b)是说明虚拟视点的移动的图。在图5的(b)中,虚线箭头511指示虚拟视点的移动,并且虚线箭头512指示所移动的虚拟视点的旋转。虚拟视点的移动由每个轴的分量(x,y,z)表示,虚拟视点的旋转由作为绕Z轴的旋转的橫摆、作为绕X轴的旋转的俯仰以及作为绕Y轴的旋转的侧倾来表示。诸如此类的虚拟视点的移动和旋转除了用于控制器106a至106m对虚拟照相机的操纵之外,还用于接下来将说明的虚拟视点的补充。
(虚拟视点的补充)
虚拟视点的补充是用于基于控制器106所设置的虚拟视点来生成投影方案是3D方案或全景方案的情况下所需的两个或更多个虚拟视点中的缺少的虚拟视点的处理。由此,例如,在3D方案的情况下,获得了双眼视差的关系的两个虚拟视点。通过该补充获得的虚拟视点是与由多个控制器106a至106m设置的多个虚拟视点中的任一个不同的虚拟视点。
图5的(c)是说明对在指定3D方案的情况下的虚拟视点的补充的图。这里,假设将以虚拟照相机的位置作为四角锥500的顶点501并且将其朝向作为向量502的虚拟照相机参数输入到虚拟视点补充模块313。在3D方案的情况下,中,针对由输入的虚拟照相机参数指定的虚拟视点执行先前描述的移动和旋转(虚拟视点的位置和朝向的改变),从而生成建立双眼视差与虚拟视点的关系的另一虚拟视点。即,新生成以虚拟照相机210的位置作为四角锥500'的顶点501'并且将其朝向作为向量502'的虚拟视点。关于此时的移动量和旋转量,用户还可以经由未示意性示出的UI画面来指定实现双眼视差的适当值,或者可以应用预先准备的预定值。可替代地,也可能预先求出在目标三维空间内的多个位置(例如,在X,Y和Z的每个轴上以预定间隔偏移的位置)实现双眼视差的适当的运动量和旋转量,并且准备多个位置与求出的移动量以及旋转量彼此相关联的LUT,然后参考LUT通过插值处理确定与由控制器106所设置的虚拟视点的位置相对应的移动量和旋转量。3D方案的一个虚拟视点图像通过操作来获得:执行在由此获得的两个虚拟视点中将由四角锥500所指示的虚拟视点作为用于左眼的虚拟视点并且将由四角锥500'所指示的虚拟视点作为用于右眼的虚拟视点的绘制处理,并且例如将绘制结果的图像分别并排布置并对其进行合成。
以这种方式,虚拟视点补充模块313从控制器106之一所设置的虚拟视点中补充在指定的投影方案中所需数量的虚拟视点。虚拟视点补充方法对于每种投影方案是不同的。在3D方案的情况下的补充方法如上所述,但是在全景方案的情况下,补充以控制器106所设置的虚拟视点作为基准覆盖最大360度的范围所需数量的虚拟视点。例如,在用于覆盖360度的整个圆周所需的虚拟视点的数量为六的情况下,剩余五个虚拟视点通过移动和旋转由控制器106所设置的基准虚拟视点使得每个虚拟视点的绘制范围彼此相邻来补充。作为此时的移动量和旋转量,与3D方案的情况一样,用户也可以经由未示意性示出的UI画面来指定适当值,或者应用预先准备的预定值。此外,也可以通过使用预先准备的LUT来求出适当的移动量和旋转量。此外,也可以通过仅改变基准虚拟视点的朝向而不改变基准虚拟视点的位置来生成另一虚拟视点。通过合成与由此生成的六个虚拟视点分别相对应的图像,获得了全景方案的虚拟视点图像。3D全景方案是3D方案和全景方案的组合。即,生成上述全景方案的两个图像,使得获得双眼视差,以便实现基于全景图像的双眼视差的立体视图。例如,在使用六个虚拟视点以覆盖360度的整个圆周的情况下,需要总共12(=6×2)个虚拟视点。因此,基于由控制器106设置的虚拟视点来补充剩余的11个虚拟视点。此时,通过全景方案的方法求出11个虚拟视点中的五个虚拟视点使得每个虚拟视点的绘制范围彼此相邻,并使用适合双眼视差的移动量和旋转量通过3D方案的方法求出剩余的六个虚拟视点,这就足够了。通过合成与由此生成的12个虚拟视点中的每一个相对应的图像,获得3D全景方案的虚拟视点图像。
如上所述可以根据每个投影方案自由地执行虚拟视点的补充的原因在于:预先获得了通过利用多个照相机从各个方向执行对象的图像拍摄而获得的多视点图像。即使在扩展到宽范围的对象(诸如运动馆的场地等)是目标的情况下,也可以基于与在目标三维空间内在任意位置且以任意朝向设置的虚拟照相机有关的信息来补充由指定的投影方案所需的另一虚拟视点。如上所述,可以通过基准虚拟视点的移动和/或旋转来获得缺少的虚拟视点,并且因此例如即使在生成全景方案的虚拟视点图像的情况下,也无需准备与全景方案所需的虚拟视点的数量相同的数量的控制器106。在生成根据多个投影方案的多个虚拟视点图像的情况下,用于生成每个虚拟视点图像的虚拟视点的一部分可以是共同的,或者虚拟视点可以彼此不同。例如,3D方案的虚拟视点图像可以通过将与2D方案的虚拟视点图像相对应的虚拟视点作为基准来生成,并且与2D方案的虚拟视点图像相对应的虚拟视点和作为3D方案的虚拟视点图像的基准的虚拟视点可能不同。
(投影方案和分发目的地的指定)
接下来,说明用于指示图像生成服务器104在客户端PC 105中生成和分发虚拟视点图像的用户界面(UI)。图6的(a)和(b)是示出在客户端PC 105的监视器等上显示的用户通过指定投影方案和分发目的地来创建指令信息所用的UI画面的示例的图。图6的(a)示出主画面600并且(b)示出用于详细设置的子画面。首先,说明主画面600。
<主画面>
首先,将要创建指令信息的操作员按下主画面600上的新建按钮601。由于这一点,用于输入生成和分发一个虚拟视点图像所需的信息的设置列表610被显示在主画面600上。在图6的(a)中的主画面600上,显示三个设置列表,即设置列表610以及设置列表620和630,并且这意味着3次按下新建按钮601。在删除任意设置列表的情况下使用删除按钮602,在完成设置列表的创建的情况下使用OK按钮603,并且在中止设置的输入操作的情况下使用取消按钮604。在此,以通过彼此不同的投影方案生成三个虚拟视点图像并将这些虚拟视点图像输出至四个不同的分发目的地的情况为例进行说明。
在完成所有设置列表的设置并且操作员按下OK按钮603的情况下,将指定虚拟视点图像的生成和分发的细节的指令信息传输到图像生成服务器104。还可以将每个设置列表显示为与主画面600分开的子画面。此外,还可以在多个设置列表的每个中提供OK按钮603。在这种情况下,可以针对每个设置列表给出生成和分发虚拟视点图像的指令。在各设置列表610至630中,分别存在用于指定生成每个虚拟视点图像所需的主参数的设置项目611至615、详细设置按钮616、状态显示栏617和缩略图显示栏618。在下文中,依次说明配置设置列表的每个元素。
在设置项目611中,指定投影方案。在本实施例中,在下拉菜单中显示2D方案、3D方案、全景方案和3D全景方案这四种投影方案,并且操作员在该菜单中选择一种。这里,在设置列表610的设置项目611中,指定“3D方案”,在设置列表620的设置项目611中,指定“全景方案”,在设置列表630的设置项目611中,指定“3D全景方案”。
在设置项目612中,指定分发目的地。如先前所述,分发目的地包括运动图像共享站点、SNS、电视台广播中心、公众观看场地等。也可以通过在下拉菜单中显示预先创建的分发目的地候选的内容并且使得操作员选择其中之一来配置设置项目612,或者配置设置项目612使得操作员可以直接输入诸如URL等等分发目的地地址。此外,例如,运动图像共享站点不限于特定站点,并且可以指定多个不同的运动图像共享站点。此外,即使对于相同的运动图像共享站点,也可以指定不同的URL等。此时,通过使用可以识别每个站点的名称来产生该显示。这里,为方便起见,可以通过使用“运动图像共享站点1”和“运动图像共享站点2”的名称来识别每个站点。这同样与其它分发目的地(诸如SNS和公众观看场地等)的情况相同。这里,在设置列表610的设置项目612中,指定“运动图像共享站点1”,在设置列表620的设置项目612中,指定“SNS 1”,并且在设置列表630的设置项目612中,指定“运动图像共享站点2”。
在设置项目613中,指定分发格式和时间代码。如先前所述,将作为图像拍摄时的时间信息的时间代码添加到数据库服务器103中存储的多视点图像。通过指定时间代码向数据库服务器103做出对多视点图像的请求,可以获取可以唯一识别的目标数据。在本实施例中,作为分发格式的替代,在下拉菜单中显示按需分发和实时分发,并且操作员在该菜单中选择一个。然后,在按需分发的情况下,进一步指定开始时间代码和结束时间代码。基于诸如此类的用户指令,通过使用可以由开始时间代码和结束时间代码识别的多视点图像来生成用于按需分发的虚拟视点图像。此时的时间代码由诸如“2018/08/30 15:00:00:00-2018/08/30 15:30:00:20”之类的格式来指定并且包括年、月、日、时间、帧编号等。根据时间代码生成并按需分发的虚拟视点图像例如用于精彩场面的重播再现。另一方面,在实时分发的情况下,一直都实时地进行从利用各照相机的图像拍摄直到虚拟视点图像的生成和分发的处理。由此,操作员手动指定时间代码的方法是不现实的。因此,在选择实时分发的情况下,通过选择作为指示实时分发的字符表示的“Live(实时)”,完成指定并且无需指定开始时间代码和结束时间代码。在指定实时分发的情况下,图像生成服务器104紧挨在顺序存储之后自动指定最新时间代码,并且从数据库服务器103获取多视点图像。在实时分发的情况下,依次获取利用每个照相机的图像拍摄而获得的多视点图像,并且实时生成虚拟视点图像,并且将其依次输出至指定的分发目的地。也可以在实时分发的过程中通过单独流添加按需分发。
在设置项目614中,指定了从图像生成服务器104输出的流的数据格式,具体而言是分发协议的种类或视频文件格式的种类。期望将设置项目614与上述的设置项目613链接。即,在每个设置列表的设置项目613中指定实时分发的情况下,显示诸如RTMP(实时消息协议)和HLS(HTTP实时流)之类的流传输协议作为替代方案,并且使操作员从中选择。此外,在指定了按需分发的情况下,诸如MP4、AVI和MOV之类的视频文件格式被显示为替代方案,并且使操作员从中进行选择。在图6的(a)的示例中,在指定了实时分发的设置列表610和620中,指定了“RTMP”,在指定了按需分发的设置列表630中,指定了“MP4”。
在设置项目615中,指定了用于指定已经设置了用于生成多视点图像的虚拟视点的控制器106的信息(控制器识别信息)。操作员从显示为替代方案的输入装置(诸如操纵杆和平板电脑等)中选择一个。标识符被添加到控制器106a至106m中的每个,并且这里通过指定标识符来指定使用哪个控制器生成多视点图像。在图6的(a)的示例中,通过将字母字符添加到控制器的种类名称,诸如“操纵杆A”和“平板电脑A”等,使得可以识别控制器。也可以指定相同的标识符以用于生成多个虚拟视点图像。这里,分别地,在设置列表620中指定“平板电脑A”而在设置列表630中指定“平板电脑B”,但是也可以在设置列表620和630中都指定“平板电脑A”。在这种情况下,通过使用由“平板电脑A”所设置的虚拟视点来生成投影方案不同的两个虚拟视点图像。这种控制器不受设置项目611中指定的投影方案的限制,并且还可以指定相同型号类型的不同装置。
详细设置按钮616是用于显示用于详细设置的子画面的按钮。稍后将描述用于详细设置的子画面。
在状态显示栏617中,显示用于指示虚拟视点图像的生成和分发的处理状态的字符串(例如,“分发中”、“完成”、“错误”等)。这里,“分发中”指示虚拟视点图像正在输出到指定的分发目的地,“完成”指示生成和分发处理完成,“错误”指示在生成和分发期间发生了错误。状态显示的内容不限于上述三个内容。
在缩略图显示栏618中,显示正在处理的虚拟视点图像的缩略图图像。通过观看缩略图图像,操作员可以直观地掌握在每个设置项目中指定的内容是否是预期的内容或处理是否正常。在发生错误时,显示指示发生了错误的句子等。
图6的(a)所示的UI画面仅是示例,并且可以使用任何UI画面,只要可以指定期望的投影方案并且指定一个或多个虚拟视点图像的生成和分发目的地即可。例如,也可以配置设置项目611至615,使得操作员可以直接输入任意字符串、数值等来代替从预先确定的替代方案中选择一个。
<子画面>
在以上内容之后,说明了在图6(b)中所示的用于详细设置的子画面640该字画面640在按下主画面600上的详细设置按钮616的情况下被显示。在子画面640上,设置与虚拟视点图像的生成和分发有关的详细信息。
在设置栏641中,指定所生成的虚拟视点图像的分辨率。例如,可以指定FHD(全高清)、4K、8K等,并且操作员选择作为替代方案所显示的这些中的一个。在设置栏642中,指定所生成的虚拟视点图像的帧频。例如,可以指定29.97fps、30fps、59.94fps、60fps等,并且操作员选择作为替代方案所显示的这些中的一个。在设置栏643中,指定用于输出的虚拟视点图像的编码方法。例如,可以指定H.264、H.265、HEVC等,并且操作员选择作为替代方案所显示的这些中的一个。还可以配置设置栏641至643,使得操作员可以直接输入任意数值来代替指定替代方案之一。
在设置栏644中,设置在先前描述的主画面600上的设置项目614(输出数据格式)中指定的内容。例如,在设置项614中设置“RTMP”的情况下,在设置栏644中也设置“RTMP”。然后,在相邻的输入栏645中,输入作为其输出目的地的RTMP服务器的URL。另外,在主画面上的设置项目614中设置“MP4”的情况下,在设置栏644中也设置“MP4”。然后,在相邻的输入栏645中,输入作为其输出目的地的文件服务器的路径、API等。通过进一步按下与输入栏645相邻放置的添加按钮646,使得可以添加分发目的地。由于这一点,可以将根据设置列表所生成的一个虚拟视点图像输出到多个不同的分发目的地。在图6的(b)的示例中,按下添加按钮646一次,并且在与另一分发目的地有关的设置栏644'中输入“RTMP”,并且在其输入栏645'中输入其URL。链接子画面640上的设置栏644和主画面600上的设置项目614,并且在改变设置栏644的内容的情况下,也相应地改变设置项目614的内容。此外,无需使添加的分发目的地的输出数据格式相同,例如,也可以指定“HLS”代替“RTMP”。详细设定项目不限于上述内容,只要该参数是用于生成虚拟视点图像的参数即可。
通过如上所述的UI画面,操作员通过指定与虚拟视点图像的生成和分发有关的各种项目来创建上述指令信息,并且将该指令信息传输到图像生成服务器104。然后,在图6的(a)的示例中,总共三个虚拟视点图像分别是在不同的投影方案中基于来自不同的控制器106的虚拟视点生成,并且分别输出到不同的分发目的地。除此之外,还可以使用相同的投影方案但是使用设置虚拟视点的不同的控制器106来生成多个虚拟视点图像。此时,在每个设置列表的设置项目611中指定共同的投影方案并在设置项目615中指定不同的控制器106的标识符,这就足够了。在图6的(a)的示例中,组合实时分发和按需分发,但是也可以实时分发所有流。此外,还可以在实时分发期间对利用相同设置内容所生成的虚拟视点图像进行存档,并且设置虚拟视点图像设置以便在实时分发期间或在完成了实时分发之后被输出为按需分发。
(虚拟视点图像的生成和分发处理)
在以上内容之后,说明图像生成服务器104中的虚拟视点图像的生成处理和所生成的虚拟视点图像的分发处理。图7的(a)是示出虚拟视点图像的生成和分发处理的概略流程的流程图。通过CPU 301执行预定程序以操作图3的(b)所示的每个处理模块来实现一系列处理。
在S701处,主控制模块311从客户端PC 105接收针对先前描述的每个设置列表创建的指令信息。在随后的S702处,主控制模块311指示绘制预处理模块312基于接收到的指令信息获取多视点图像。此时,指示绘制预处理模块312获取与在每个设置列表中指定的时间代码相对应的多视点图像。已经接收到指令的绘制预处理模块312通过基于设置列表内的设置项目613的内容指定时间代码来从数据库服务器103中获取多视点图像。然后,在S703处,每个处理模块在主控制模块311的控制下操作,并且根据指令信息生成在数量上与指定数量相对应的虚拟视点图像,并将虚拟视点图像输出到指定的分发目的地。此时,作为投影方案不同的多个虚拟视点图像,可以生成与共同时间代码相对应的多个虚拟视点图像。在指令信息包括多个设置列表的情况下,可以并行或顺序地执行基于每个设置列表的一系列处理。参照图7的(b)中所示的另一流程来说明该步骤中的虚拟视点图像的生成和分发的细节。在本实施例中,以运动图像为前提,因此图7的(b)中所示的流程针对每个帧来进行。
在S711处,主控制模块311指定在处理目标设置列表中指定的投影方案,并确定该处理接下来前进到的步骤。具体而言,相应地,在指定2D方案的情况下,处理前进到S712,在指定3D方案的情况下,处理前进到S714,在指定全景方案的情况下,处理前进到S716,并且在指定3D全景方案的情况下,处理前进到S718。
然后,在S712处,执行用于生成2D方案的虚拟视点图像的处理。然后,在随后的S713处,将所生成的2D方案的虚拟视点图像输出到设置列表中指定的分发目的地。类似地,在S714处,执行用于生成3D方案的虚拟视点图像的处理,并且在S715处,将3D方案的虚拟视点图像输出到设置列表中指定的分发目的地。类似地,在S716处,执行用于生成全景方案的虚拟视点图像的处理,并且在S717处,将全景方案的虚拟视点图像输出到设置列表中指定的分发目的地。类似地,在S718处,执行用于生成3D全景方案的虚拟视点图像的处理,并且在S719处,将3D全景方案的虚拟视点图像输出到设置列表中指定的分发目的地。参照图8的(a)至(d)中所示的另一流程来说明在S712、S714、S716和S718处根据每个投影方案的虚拟视点图像的生成。
(通过每个投影方案的虚拟视点图像的生成)
<2D方案>
首先,说明2D方案的情况。图8的(a)是示出通过2D方案的虚拟视点图像生成的细节的流程图。
在S801处,虚拟视点补充模块313从与设置列表中指定的标识符相对应的控制器106获取虚拟照相机参数。在虚拟照相机参数中,至少包括用于指定虚拟照相机的位置和朝向的信息。图9的(a)示出通过将拍摄场景作为目标而设置的虚拟视点的示例。这里,假设虚拟照相机210在先前描述的图4的(b)所示的图中被设置在从罚球区域的外侧朝向球401的方向的如由标记901所指示的位置,并且获取与标记901相对应的虚拟照相机参数。还假设在图9的(a)中示出的图中设置的虚拟视点在Z轴上的各位置被固定在运动员的视线的高度。
在S802处,绘制模块314通过使用从绘制预处理模块312提供的前景和背景的三维模型,从S801处获取的虚拟照相机参数所指示的虚拟视点通过透视投影执行绘制处理。在2D方案的情况下,合成处理和转换处理对于绘制结果来说不是必需的,因此将绘制结果输出为原样分发用的虚拟视点图像。图9的(b)示出与上述标记901处的虚拟视点相对应的2D方案的虚拟视点图像。在这种情况下,获得来自位于罚球区域外的运动员的视线的虚拟视点图像。
<3D方案>
接下来,说明3D方案的情况。图8的(b)是示出通过3D方案的虚拟视点图像生成的细节的流程图。在3D方案中,生成处于双眼视差的关系的两个图像,因此使用两个虚拟视点。
在S811处,与在S801处相同,虚拟视点补充模块313从与设置列表中指定的标识符相对应的控制器106获取虚拟照相机参数。这里,假设在图9的(a)中如由标记902所指示那样设置从守门员所处的位置朝向球401的方向的虚拟照相机210,并且获取与标记902相对应的虚拟照相机参数。
在S812处,虚拟视点补充模块313基于在S811处获取的虚拟照相机参数来补充用于实现双眼视差的另一虚拟视点。此时的补充方法如已经说明的那样。
在S813处,绘制模块314通过使用从绘制预处理模块312提供的前景和背景的三维模型,分别针对S811处获取的虚拟视点和S812处补充的虚拟视点通过透视投影来进行绘制处理。
在S814处,主控制模块311通过并排布置S813的绘制结果(与具有视差的两个虚拟视点相对应的两个图像)来进行合成处理,并且生成3D方案的一个虚拟视点图像。将具有双眼视差的两个图像并排布置的格式称为并排格式。分发如此获得的3D方案的虚拟视点图像。图9的(c)示出与上述标记902的虚拟视点相对应的3D方案的虚拟视点图像。在这种情况下,虚拟视点图像是从与守门员相同的视线观看的情况下的图像。用户可以通过安装使用与3D显示器兼容的智能手机的耳机或者头戴式显示器来立体观看虚拟视点图像。在图9的(c)的示例中,用户可以体验到射球恰好在他/她的眼前而感觉就像用户是守门员一样的强大场景。
<全景方案>
接下来,说明全景方案的情况。图8的(c)是示出通过全景方案的虚拟视点图像生成的细节的流程图。如前所述,在全景方案中,为了最大程度地覆盖360度的整个圆周,并且因此使用了比3D方案的虚拟视点更多的虚拟视点。
在S821处,与在S801处相同,虚拟视点补充模块313从与设置列表中指定的标识符相对应的控制器106获取虚拟照相机参数。这里,假定虚拟照相机210在图9的(a)中如由标记903所指示那样被设置在罚球区域内朝向球401的方向的位置处,并且获取与标记903相对应的虚拟照相机参数。
在S822处,虚拟视点补充模块313基于S821处获取的虚拟照相机参数来补充通过全景方案的整个圆周的图像的生成所需数量的虚拟视点。此时的补充方法如已经说明的那样。在要补充的虚拟视点的数量小的情况下,结果生成了比整个圆周窄了与其相对应的量的范围内的全景图像。
在S823处,绘制模块314通过使用从绘制预处理模块312提供的前景和背景的三维模型,针对S821处获取的虚拟视点和S822处补充的一个或多个虚拟视点中的每一个,通过透视投影来执行绘制处理。
在S824处,主控制模块311针对S823处的绘制结果(与多个虚拟视点相对应的多个图像)执行到等距柱状投影的转换处理,并生成全景方案的一个虚拟视点图像。分发由此获得的全景方案的虚拟视点图像。图9的(d)示出与上述标记903处的虚拟照相机210相对应的全景方案的虚拟视点图像。在这种情况下,虚拟视点图像是将惩罚区域内的位置903作为中心的360度的整个圆周的图像。用户可以通过使用与全景图像显示器兼容的智能手机等在将控制器106设置的虚拟视点位置作为中心的360度的整个圆周上观看用户希望观看的方向上的场景。
<3D全景方案>
接下来,说明3D全景方案的情况。图8的(d)是示出通过3D全景方案的虚拟视点图像生成的细节的流程图。在3D全景方案中,为了覆盖360度的整个圆周并且实现双眼视差,使用全景方案的两倍数量的虚拟视点。
在S831处,与在S801处相同,虚拟视点补充模块313从与设置列表中指定的标识符相对应的控制器106获取虚拟照相机参数。这里,与先前描述的全景方案的情况相同,假设将虚拟照相机210设置在由标记903所指示的位置处(参见图9的(a)),并且获取与标记903相对应的虚拟照相机参数。
在S832处,虚拟视点补充模块313基于S831处获取的虚拟照相机参数,补充通过3D全景方案覆盖整个圆周并且为了生成具有双眼视差的图像所需数量的虚拟视点。此时的补充方法如已经说明的那样。
在S833处,绘制模块314通过使用从绘制预处理模块312所提供的前景和背景的三维模型,针对S831处获取的虚拟视点和S832处补充的多个虚拟视点中的每一个,通过透视投影来执行绘制处理。
在S834,主控制模块311将绘制结果(与多个虚拟视点相对应的多个图像)划分为用于左眼的图像和用于右眼的图像,并且针对每个图像组执行到等距柱状投影的转换处理。由于这一点,分别针对左眼和右眼获得全景方案的图像。
在S835处,主控制模块311通过一个叠一个地排列S834处的绘制结果(具有视差的全景方案的两个图像)来执行合成处理,并且生成3D全景方案的一个虚拟视点图像。将具有双眼视差的两个图像一个叠一个地排列的格式称为上下格式。分发如此获得的3D全景方案的虚拟视点图像。图9的(e)示出与上述标记903处的虚拟照相机210相对应的3D全景方案的虚拟视点图像。同样在这种情况下,与先前描述的图9的(d)相同,虚拟视点图像是以罚球区域内的位置903为中心并且具有双眼视差的360度的整个圆周的图像。用户可以通过安装先前描述的耳机等来立体地观看包括360度的整个圆周的虚拟视点图像。由于这一点,用户可以仅通过将他/她的头部转到期望的方向就可以仿佛用户自己处于罚球区内那样的感觉来跟随拍摄场景。
以上内容是通过每种投影方案的虚拟视点图像的生成处理。通过上述的每种投影方案的虚拟视点图像的生成处理是示例,并且生成处理不限于上述内容。所需要的是能够根据每种投影方案生成虚拟视点图像,并且因此可以适当地改变处理顺序或图像格式。
(变形例)
根据上述实施例的用于生成和分发虚拟视点图像的处理可能根据要生成的虚拟视点图像的数量、多视点图像的容量等而过载。例如,在使用分辨率高(诸如4K和8K等)的多视点图像的情况下,多视点图像的容量变大,并且因此根据要生成的虚拟视点图像的数量,可能难以仅利用一个生成服务器104在没有延迟的情况下生成虚拟视点图像。在这种情况下,系统不再可以充分起作用,诸如不再可以针对多个实时分发请求以同时并行的方式实时输出虚拟视点图像等。为了应对诸如此类的情况,例如也可以采用诸如图10中所示的那样等的分发式配置。在图10的系统配置中,预先准备多个图像生成服务器104a至104m和多个数据库服务器103a至103m,并且在其中使用应对指令信息中指定的要生成的虚拟视点图像的数量所需的数据库服务器和图像生成服务器。
在图10的示例中,图像生成服务器104a至104m中的每一个与数据库服务器103a至103m中的每一个以一对一的方式连接。然后,通过图像存储装置102,相同的多视点图像被存储在数据库服务器103a至103m中的每一个中,并且图像生成服务器104a至104m的每一个分别获取多视点图像。然后,图像生成服务器104a至104m中的每一个根据从客户端PC105接收到的指令信息生成一个虚拟视点图像,并且将其输出到指定的分发目的地。数据库服务器103a至103m中的每一个存储相同的多视点图像,并且因此也可以通过高速缓存服务器来配置数据库服务器103a至103m中的每一个。同样在图10的示例中,该配置是使得由一个客户端PC 105执行向图像生成服务器104a至104m中的每一个的指令信息的创建,但是可以存在多个客户端PC 105。
此外,还可以设计如下配置:提供用于控制图像生成服务器104a至104m和数据库服务器103a至103m的专用管理设备,并且该管理设备对图像生成服务器104a至104m中的每一个执行分配处理代替图7的(b)中的流程中的S711的确定处理。例如,也可以使作为各控制器106a至106m的平板电脑具有管理设备的功能。图像生成服务器104a至104m中的每一个也可以执行所生成的虚拟视点图像的分发,或者还可以设计管理设备执行分发处理的配置。多个图像生成服务器104a至104m中的一部分还可以根据处理负荷等来生成并分发多个虚拟视点图像。例如,管理设备基于要生成和分发的虚拟视点图像的格式(投影方案)或虚拟视点图像的数量来确定要使用的图像生成服务器的数量。然后,管理设备通过图像存储装置102控制多视点图像的复制和输出,使得相同的多视点图像被存储在数量方面与要使用的图像生成服务器的数量相对应的数据库服务器中。多个图像生成服务器生成的多个虚拟视点图像可以被输出到彼此不同的分发目的地。
在该变形例的情况下,即使在多视点图像具有高分辨率等并且其容量较大的条件下,也可以根据要生成的虚拟视点图像的数量而灵活地设置要使用的数据库服务器的数量和要使用的图像生成服务器的数量。通过采用诸如此类的分发配置,可以应对将高质量的虚拟视点图像实时地分发到大量分发目的地的情况。
如上所述,根据本实施例,可以生成投影方案不同于一个多视点图像的多个虚拟视点图像并且将虚拟视点图像输出到不同的分发目的地。此时,可以自由选择投影方案。此外,可以独立地设置与每个虚拟视点图像相对应的虚拟视点。由于这一点,可以生成并分发在图像拍摄场景的三维空间中从各个视点观看的情况下的各种虚拟视点图像。例如,对于作为目标的运动场内的足球比赛,可以在将从跟随球的虚拟视点的2D方案的图像分发到电视台的广播中心的同时,将从诸如守门员之类的运动员的视线的虚拟视点的3D方案的图像同时分发到诸如电影院之类的公众观看场地。此外,还可以将可以在罚球区域内360度观看诸如拍摄场景之类的精彩场面的全景方案和3D全景方案的图像同时分发到运动图像分发站点或SNS。本实施例的应用目标不限于体育运动场景,并且例如可以将本实施例广泛地应用于著名艺术家的音乐会,并且可以将使用虚拟视点图像的各种新观看体验提供给用户。
(其它实施方式)
也可以通过以下处理来实施本发明:将实施上述实施例的一个或多个功能的程序经由网络或存储介质供给系统或设备并且由系统或设备的计算机中的一个或多个处理器读取并且执行程序。此外,还可以通过实施一个或多个功能的电路(例如,ASIC)来实施本发明。
本发明不限于上述实施例,并且可以在不脱离本发明的精神和范围的情况下做出各种改变和修改。因此,为了公开本发明的范围,附上权利要求书。
本申请要求于2018年11月14日提交的日本专利申请2018-213769的权益,在此通过引用包含其全部内容。
- 细胞观察信息处理系统、细胞观察信息处理方法、细胞观察信息处理程序、细胞观察信息处理系统具有的记录部和细胞观察信息处理系统具有的装置
- 信息处理方法、用于使计算机实施该信息处理方法的程序、实施该信息处理方法的信息处理装置及信息处理系统