JP6878014B2 - 画像処理装置及びその方法、プログラム、画像処理システム - Google Patents

画像処理装置及びその方法、プログラム、画像処理システム Download PDF

Info

Publication number
JP6878014B2
JP6878014B2 JP2017004681A JP2017004681A JP6878014B2 JP 6878014 B2 JP6878014 B2 JP 6878014B2 JP 2017004681 A JP2017004681 A JP 2017004681A JP 2017004681 A JP2017004681 A JP 2017004681A JP 6878014 B2 JP6878014 B2 JP 6878014B2
Authority
JP
Japan
Prior art keywords
image
virtual viewpoint
data
camera
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017004681A
Other languages
English (en)
Other versions
JP2018112997A (ja
Inventor
金津 知俊
知俊 金津
金田 北洋
北洋 金田
藤井 賢一
賢一 藤井
宏明 佐藤
宏明 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017004681A priority Critical patent/JP6878014B2/ja
Priority to US15/868,795 priority patent/US20180204381A1/en
Publication of JP2018112997A publication Critical patent/JP2018112997A/ja
Application granted granted Critical
Publication of JP6878014B2 publication Critical patent/JP6878014B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/69Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Generation (AREA)
  • Studio Devices (AREA)

Description

本発明は、仮想視点画像を生成する技術に関するものである。
複数の異なる視点から撮影した複数の画像に基づいて、撮影した視点とは異なる仮想視点から見た仮想視点画像を生成する手法が存在する。特許文献1では、ユーザは、操作部の操作によって表示上で仮想撮像部に対応するアイコンを移動及び回転することで、仮想視点を所望の位置姿勢に設定することが可能である。
特開2016−24490号公報
しかしながら、特許文献1では、仮想視点の位置姿勢は、ユーザが自ら考えて設定しなければならず、望ましい仮想視点画像を簡単に得ることはできなかった。
上記課題を解決するために、本発明の画像処理装置は、複数の視点で撮影された画像に基づいて仮想視点に対応する仮想視点画像を生成する生成手段と、仮想視点の移動した軌跡と該仮想視点に対応する仮想視点画像の情報とを記憶する記憶手段と、前記記憶手段に記憶された過去の軌跡から現在の仮想視点画像に関連する軌跡を検索する検索手段と、該検索手段により得られた軌跡に評価を与える評価手段と、前記評価に基づいて少なくとも1つの軌跡を選択する選択手段とを備える。
本発明によれば、望ましい仮想視点画像を簡単に得ることができるようになる。
画像処理システムの構成を説明する図である。 カメラアダプタの機能構成を説明するブロック図である。 画像処理部の構成を説明するブロック図である。 フロントエンドサーバの機能構成を説明するブロック図である。 フロントエンドサーバのデータ入力制御部の構成を説明するブロック図である。 データベースの機能構成を説明するブロック図である。 バックエンドサーバの機能構成を説明するブロック図である。 仮想カメラ操作の機能構成を説明するブロック図である。 エンドユーザ端末の接続構成を説明する図である。 エンドユーザ端末の機能構成を説明するブロック図である。 ワークフロー全体を説明するフローチャートである。 制御ステーション側での撮影時確認ワークフローを説明するフローチャートである。 仮想カメラ操作側での撮影時ユーザワークフローを説明するフローチャートである。 三次元モデル情報の生成処理を説明するフローチャートである。 注視点グループについて説明する図である。 ファイル生成処理について説明するフローチャートである。 撮影画像の例を示す図である。 前景背景分離について説明するフローチャートである。 仮想カメラ画像の生成処理について説明するシーケンス図である。 仮想カメラについて説明する図である。 ライブ画像の生成処理について説明するフローチャートである。 オペレータによる操作入力処理の詳細を説明するフローチャートである。 推奨操作の推定処理の詳細を説明するフローチャートである。 リプレイ画像の生成処理について説明するフローチャートである。 仮想カメラパスの選択について説明するフローチャートである。 エンドユーザ端末が表示する画面の例を示す図である。 手動操縦に関するアプリケーション管理部の処理を説明するフローチャートである。 自動操縦に関するアプリケーション管理部の処理を説明するフローチャートである。 レンダリング処理について説明するフローチャートである。 前景画像の生成処理について説明するフローチャートである。 設置後ワークフローで生成される設定リストを表す図である。 カメラアダプタのハードウェア構成を示すブロック図である。
競技場(スタジアム)やコンサートホールなどの施設に複数のカメラ及びマイクを設置し撮影及び集音を行うシステムについて、図1のシステム構成図を用いて説明する。画像処理システム100は、センサシステム110a―センサシステム110z、画像コンピューティングサーバ200、コントローラ300、スイッチングハブ180、ユーザデータサーバ400、及びエンドユーザ端末190を有する。
ユーザデータサーバ400は、エンドユーザに関連するユーザデータを蓄積するユーザデータベース(DB)410と、ユーザデータを解析する解析サーバ420とを有する。ユーザデータとは、例えば、エンドユーザ端末190に対する操作情報や、端末に登録された属性情報、あるいはセンサ情報など、エンドユーザ端末190から直接得られる情報である。あるいは、エンドユーザがインターネットで公開しているウェブページやソーシャルメディアなどでの発言などの間接的な情報であってもよい。さらにエンドユーザ自身の情報以外にも、エンドユーザが属する社会的状況や、気候・温度などの環境情報を含んでもよい。ユーザデータベース410は、PCのように閉じられた記憶装置の単位であってもよいし、インターネットからリアルタイムに関連する情報を検索することによって得られるダイナミックな情報単位であってもよい。また、解析サーバ420は、エンドユーザに直接・間接的に関連する多種多様で大規模な情報をソースとする、いわゆるビックデータ解析を行うものであってもよい。
コントローラ300は制御ステーション310と仮想カメラ操作UI330を有する。制御ステーション310は画像処理システム100を構成するそれぞれのブロックに対してネットワーク310a―310c、180a、180b、及び170a―170yを通じて動作状態の管理及びパラメータ設定制御などを行う。ここで、ネットワークはEthernet(登録商標、以下省略)であるIEEE標準準拠のGbE(ギガビットイーサーネット)や10GbEでもよいし、インターコネクトInfiniband、産業用イーサーネット等を組合せて構成されてもよい。また、これらに限定されず、他の種別のネットワークであってもよい。
最初に、センサシステム110a―センサシステム110zの26セットの画像及び音声をセンサシステム110zから画像コンピューティングサーバ200へ送信する動作を説明する。本実施形態の画像処理システム100は、センサシステム110a―センサシステム110zがデイジーチェーンにより接続される。
本実施形態において、特別な説明がない場合は、センサシステム110aから110zまでの26セットのシステムを区別せずセンサシステム110と記載する。各センサシステム110内の装置についても同様に、特別な説明がない場合は区別せず、マイク111、カメラ112、雲台113、外部センサ114、及びカメラアダプタ120と記載する。なお、センサシステムの台数として26セットと記載しているが、あくまでも一例であり、台数をこれに限定するものではない。また、複数のセンサシステム110は同一の構成でなくてもよく、例えばそれぞれが異なる機種の装置で構成されていてもよい。
なお、本実施形態では、特に断りがない限り、画像という文言が、動画と静止画の概念を含むものとして説明する。すなわち、本実施形態の画像処理システム100は、静止画及び動画の何れについても処理可能である。また、本実施形態では、画像処理システム100により提供される仮想視点コンテンツには、仮想視点画像と仮想視点音声が含まれる例を中心に説明するが、これに限らない。例えば、仮想視点コンテンツに音声が含まれていなくても良い。また例えば、仮想視点コンテンツに含まれる音声が、仮想視点に最も近いマイクにより集音された音声であっても良い。また、本実施形態では、説明の簡略化のため、部分的に音声についての記載を省略しているが、基本的に画像と音声は共に処理されるものとする。
センサシステム110a―110zは、それぞれ1台ずつのカメラ112a―カメラ112zを有する。即ち、画像処理システム100は、被写体を複数の方向から撮影するための複数のカメラ112を有する。なお、複数のカメラ112は同一符号を用いて説明するが、性能や機種が異なっていてもよい。複数のセンサシステム110同士はデイジーチェーンにより接続される。この接続形態により、撮影画像の4Kや8Kなどへの高解像度化及び高フレームレート化に伴う画像データの大容量化において、接続ケーブル数の削減や配線作業の省力化ができる。なおこれに限らず、接続形態として、各センサシステム110a−110zが、スイッチングハブ180を経由してセンサシステム110間のデータ送受信を行うスター型のネットワーク構成としてもよい。
また、図1では、デイジーチェーンとなるようセンサシステム110a−110zの全てがカスケード接続されている構成を示したがこれに限定するものではない。例えば、複数のセンサシステム110をいくつかのグループに分割して、分割したグループ単位でセンサシステム110間をデイジーチェーン接続してもよい。そして、分割単位の終端となるカメラアダプタ120がスイッチングハブに接続されて画像コンピューティングサーバ200へ画像の入力を行うようにしてもよい。このような構成は、スタジアムにおいてとくに有効である。例えば、スタジアムが複数階で構成され、フロア毎にセンサシステム110を配備する場合が考えられる。この場合に、フロア毎、あるいはスタジアムの半周毎に画像コンピューティングサーバ200への入力を行うことができ、全センサシステム110を1つのデイジーチェーンで接続する配線が困難な場所でも設置の簡便化及びシステムの柔軟化を図ることができる。
また、デイジーチェーン接続されて画像コンピューティングサーバ200へ画像入力を行うカメラアダプタ120が1つであるか2つ以上であるかに応じて、画像コンピューティングサーバ200での画像処理の制御が切り替えられる。すなわち、センサシステム110が複数のグループに分割されているかどうかに応じて制御が切り替えられる。画像入力を行うカメラアダプタ120が1つの場合は、デイジーチェーン接続で画像伝送を行いながら競技場全周画像が生成されるため、画像コンピューティングサーバ200において全周の画像データが揃うタイミングは同期がとられている。すなわち、センサシステム110がグループに分割されていなければ、同期はとれる。
しかし、画像入力を行うカメラアダプタ120が複数になる場合は、画像が撮影されてから画像コンピューティングサーバ200に入力されるまでの遅延がデイジーチェーンのレーン(経路)ごとに異なる場合が考えられる。すなわち、センサシステム110がグループに分割される場合は、画像コンピューティングサーバ200に全周の画像データが入力されるタイミングは同期がとられないことがある。そのため、画像コンピューティングサーバ200において、全周の画像データが揃うまで待って同期をとる同期制御によって、画像データの集結をチェックしながら後段の画像処理を行う必要がある。
本実施形態では、センサシステム110aはマイク111a、カメラ112a、雲台113a、外部センサ114a、及びカメラアダプタ120aを有する。なお、この構成に限定するものではなく、少なくとも1台のカメラアダプタ120aと、1台のカメラ112aまたは1台のマイク111aを有していれば良い。また例えば、センサシステム110aは1台のカメラアダプタ120aと、複数のカメラ112aで構成されてもよいし、1台のカメラ112aと複数のカメラアダプタ120aで構成されてもよい。即ち、画像処理システム100内の複数のカメラ112と複数のカメラアダプタ120はN対M(NとMは共に1以上の整数)で対応する。
また、センサシステム110は、マイク111a、カメラ112a、雲台113a、及びカメラアダプタ120a以外の装置を含んでいてもよい。また、カメラ112とカメラアダプタ120が一体となって構成されていてもよい。さらに、カメラアダプタ120の機能の少なくとも一部をフロントエンドサーバ230が有していてもよい。本実施形態では、センサシステム110b―110zについては、センサシステム110aと同様の構成なので省略する。なお、センサシステム110aと同じ構成に限定されるものではなく、其々のセンサシステム110が異なる構成でもよい。
マイク111aにて集音された音声と、カメラ112aにて撮影された画像は、カメラアダプタ120aにおいて後述の画像処理が施された後、デイジーチェーン170aを通してセンサシステム110bのカメラアダプタ120bに伝送される。同様にセンサシステム110bは、集音された音声と撮影された画像を、センサシステム110aから取得した画像及び音声と合わせてセンサシステム110cに伝送する。前述した動作を続けることにより、センサシステム110a―110zが取得した画像及び音声は、センサシステム110zから180bを用いてスイッチングハブ180に伝わり、その後、画像コンピューティングサーバ200へ伝送される。なお、カメラ112a−112zとカメラアダプタ120a−120zは分離された構成ではなく、同一筺体で一体化されていてもよい。その場合、マイク111a−111zは一体化されたカメラ112に内蔵されてもよいし、カメラ112の外部に接続されていてもよい。
次に、画像コンピューティングサーバ200の構成及び動作について説明する。本実施形態の画像コンピューティングサーバ200は、センサシステム110zから取得したデータの処理を行う。画像コンピューティングサーバ200はフロントエンドサーバ230、データベース250(以下、DBとも記載する。)、バックエンドサーバ270、タイムサーバ290を有する。
タイムサーバ290は時刻及び同期信号を配信する機能を有し、スイッチングハブ180を介してセンサシステム110a―センサシステム110zに時刻及び同期信号を配信する。時刻と同期信号を受信したカメラアダプタ120a―120zは、カメラ112a―112zを時刻と同期信号をもとにGenlockさせ画像フレーム同期を行う。即ち、タイムサーバ290は、複数のカメラ112の撮影タイミングを同期させる。これにより、画像処理システム100は同じタイミングで撮影された複数の撮影画像に基づいて仮想視点画像を生成できるため、撮影タイミングのずれによる仮想視点画像の品質低下を抑制できる。なお、本実施形態ではタイムサーバ290が複数のカメラ112の時刻同期を管理するものとするが、これに限らず、時刻同期のための処理を各カメラ112又は各カメラアダプタ120が独立して行ってもよい。
フロントエンドサーバ230は、センサシステム110zから取得した画像及び音声から、セグメント化された伝送パケットを再構成してデータ形式を変換した後に、カメラの識別子やデータ種別、フレーム番号に応じてデータベース250に書き込む。バックエンドサーバ270では、仮想カメラ操作UI330から視点の指定を受け付け、受け付けられた視点に基づいて、データベース250から対応する画像及び音声データを読み出し、レンダリング処理を行って仮想視点画像を生成する。
なお、画像コンピューティングサーバ200の構成はこれに限らない。例えば、フロントエンドサーバ230、データベース250、バックエンドサーバ270、及びユーザデータサーバ400のうち少なくとも2つが一体となって構成されていてもよい。また、フロントエンドサーバ230、データベース250、バックエンドサーバ270、及びユーザデータサーバ400の少なくとも何れかが複数含まれていてもよい。また、画像コンピューティングサーバ200内の任意の位置に上記の装置以外の装置が含まれていてもよい。さらに、画像コンピューティングサーバ200の機能の少なくとも一部をエンドユーザ端末190や仮想カメラ操作UI330が有していてもよい。
レンダリング処理された画像は、バックエンドサーバ270からエンドユーザ端末190に送信され、エンドユーザ端末190を操作するユーザは視点の指定に応じた画像閲覧及び音声視聴が出来る。すなわち、バックエンドサーバ270は、複数のカメラ112により撮影された撮影画像(複数視点画像)と視点情報とに基づく仮想視点コンテンツを生成する。より具体的には、バックエンドサーバ270は、例えば複数のカメラアダプタ120により複数のカメラ112による撮影画像から抽出された所定領域の画像データと、ユーザ操作により指定された視点に基づいて、仮想視点コンテンツを生成する。そしてバックエンドサーバ270は、生成した仮想視点コンテンツをエンドユーザ端末190に提供する。エンドユーザ端末190は、他のエンドユーザ端末で操作された仮想視点コンテンツを受信するだけのものが含まれていてもよい。たとえば、テレビジョン受像機のように、放送業者が生成した仮想視点コンテンツを一方的に受信するものであってもよい。カメラアダプタ120による所定領域の抽出の詳細については後述する。なお、本実施形態において仮想視点コンテンツは画像コンピューティングサーバ200により生成されるものであり、特にバックエンドサーバ270により生成される場合を中心に説明する。ただしこれに限らず、仮想視点コンテンツは、画像コンピューティングサーバ200に含まれるバックエンドサーバ270以外の装置により生成されてもよいし、コントローラ300やエンドユーザ端末190により生成されてもよい。
本実施形態における仮想視点コンテンツは、仮想的な視点から被写体を撮影した場合に得られる画像としての仮想視点画像を含むコンテンツである。言い換えると、仮想視点画像は、指定された視点における見えを表す画像であるとも言える。仮想的な視点(仮想視点)は、ユーザにより指定されても良いし、画像解析の結果等に基づいて自動的に指定されても良い。すなわち仮想視点画像には、ユーザが任意に指定した視点に対応する任意視点画像(自由視点画像)が含まれる。また、複数の候補からユーザが指定した視点に対応する画像や、装置が自動で指定した視点に対応する画像も、仮想視点画像に含まれる。
なお、本実施形態では、仮想視点コンテンツに音声データ(オーディオデータ)が含まれる場合の例を中心に説明するが、必ずしも音声データが含まれていなくても良い。また、バックエンドサーバ270は、仮想視点画像を例えばH.264やHEVCなどの符号化方式に従って圧縮符号化したうえで、MPEG−DASHプロトコルを使ってエンドユーザ端末190へ送信してもよい。また、仮想視点画像は、非圧縮でエンドユーザ端末190へ送信されてもよい。とくに圧縮符号化を行う前者はエンドユーザ端末190としてスマートフォンやタブレットを想定しており、後者は非圧縮画像を表示可能なディスプレイを想定している。すなわち、エンドユーザ端末190の種別に応じて画像フォーマットが切り替え可能であることを明記しておく。また、画像の送信プロトコルはMPEG−DASHに限らず、例えば、HLS(HTTP Live Streaming)やその他の送信方法を用いても良い。
この様に、画像処理システム100は、映像収集ドメイン、データ保存ドメイン、及び映像生成ドメインという3つの機能ドメインを有する。映像収集ドメインはセンサシステム110−110zを含み、データ保存ドメインはデータベース250、フロントエンドサーバ230及びバックエンドサーバ270を含み、映像生成ドメインは仮想カメラ操作UI330及びエンドユーザ端末190を含む。なお本構成に限らず、例えば、仮想カメラ操作UI330が直接センサシステム110a−110zから画像を取得する事も可能である。しかしながら、本実施形態では、センサシステム110a−110zから直接画像を取得する方法ではなくデータ保存機能を中間に配置する方法をとる。具体的には、フロントエンドサーバ230がセンサシステム110a−110zが生成した画像データや音声データ及びそれらのデータのメタ情報をデータベース250の共通スキーマ及びデータ型に変換している。これにより、センサシステム110a−110zのカメラ112が他機種のカメラに変化しても、変化した差分をフロントエンドサーバ230が吸収し、データベース250に登録することができる。このことによって、カメラ112が他機種カメラに変わった場合に、仮想カメラ操作UI330が適切に動作しない虞を低減できる。
また、仮想カメラ操作UI330は、直接データベース250にアクセスせずにバックエンドサーバ270を介してアクセスする構成である。バックエンドサーバ270で画像生成処理に係わる共通処理を行い、操作UIに係わるアプリケーションの差分部分を仮想カメラ操作UI330で行っている。このことにより、仮想カメラ操作UI330の開発において、UI操作デバイスや、生成したい仮想視点画像を操作するUIの機能要求に対する開発に注力する事ができる。また、バックエンドサーバ270は、仮想カメラ操作UI330の要求に応じて画像生成処理に係わる共通処理を追加又は削除する事も可能である。このことによって仮想カメラ操作UI330の要求に柔軟に対応する事ができる。
このように、画像処理システム100においては、被写体を複数の方向から撮影するための複数のカメラ112による撮影に基づく画像データに基づいて、バックエンドサーバ270により仮想視点画像が生成される。なお、本実施形態における画像処理システム100は、上記で説明した物理的な構成に限定される訳ではなく、論理的に構成されていてもよい。また、本実施形態ではカメラ112による撮影画像に基づいて仮想視点画像を生成する技術について説明するが、例えば撮影画像を用いずコンピュータグラフィックスなどにより生成された画像に基づいて仮想視点画像を生成する場合にも本実施形態を適用できる。
次に図1に記載のシステムにおける各ノード(カメラアダプタ120、フロントエンドサーバ230、データベース250、バックエンドサーバ270、仮想カメラ操作UI330、エンドユーザ端末190)の機能ブロック図を説明する。まず、カメラアダプタ120の機能ブロックについて図2を利用して説明する。カメラアダプタ120は、ネットワークアダプタ06110、伝送部06120、画像処理部06130及び、外部機器制御部06140から構成されている。ネットワークアダプタ06110は、データ送受信部06111及び時刻制御部06112から構成されている。
データ送受信部06111は、デイジーチェーン170、ネットワーク291、及びネットワーク310aを介し他のカメラアダプタ120、フロントエンドサーバ230、タイムサーバ290、及び制御ステーション310とデータ通信を行う。例えばデータ送受信部06111は、カメラ112による撮影画像から前景背景分離部06131により分離された前景画像と背景画像とを、別のカメラアダプタ120に対して出力する。出力先のカメラアダプタ120は、画像処理システム100内のカメラアダプタ120のうち、データルーティング処理部06122の処理に応じて予め定められた順序において次のカメラアダプタ120である。各カメラアダプタ120が前景画像と背景画像とを出力することで、複数の視点から撮影された前景画像と背景画像に基づいて仮想視点画像が生成される。なお、撮影画像から分離した前景画像を出力して背景画像は出力しないカメラアダプタ120が存在してもよい。
時刻制御部06112は、例えばIEEE1588規格のOrdinay Clockに準拠し、タイムサーバ290との間で送受信したデータのタイムスタンプを保存する機能と、タイムサーバ290と時刻同期を行う。なお、IEEE1588に限定する訳ではなく、他のEtherAVB規格や、独自プロトコルによってタイムサーバとの時刻同期を実現してもよい。本実施形態では、ネットワークアダプタ06110としてNIC(Network Interface Card)を利用するが、NICに限定するものではなく、同様の他のInterfaceを利用してもよい。また、IEEE1588はIEEE1588−2002、IEEE1588−2008のように標準規格として更新されており、後者については、PTPv2(Precision Time Protocol Version2)とも呼ばれる。
伝送部06120は、ネットワークアダプタ06110を介してスイッチングハブ180等に対するデータの伝送を制御する機能を有し、以下の機能部から構成されている。データ圧縮・伸張部06121は、データ送受信部06111を介して送受信されるデータに対して所定の圧縮方式、圧縮率、及びフレームレートを適用した圧縮を行う機能と、圧縮されたデータを伸張する機能を有している。データルーティング処理部06122は、後述するデータルーティング情報保持部06125が保持するデータを利用し、データ送受信部06111が受信したデータ及び画像処理部06130で処理されたデータのルーティング先を決定する。さらに、決定したルーティング先へデータを送信する機能を有している。ルーティング先としては、同一の注視点にフォーカスされたカメラ112に対応するカメラアダプタ120とするのが、それぞれのカメラ112同士の画像フレーム相関が高いため画像処理を行う上で好適である。複数のカメラアダプタ120それぞれのデータルーティング処理部06122による決定に応じて、画像処理システム100内において前景画像や背景画像をリレー形式で出力するカメラアダプタ120の順序が定まる。
時刻同期制御部06123は、IEEE1588規格のPTP(Precision Time Protocol)に準拠し、タイムサーバ290と時刻同期に係わる処理を行う機能を有している。なお、PTPではなく他の同様のプロトコルを利用して時刻同期してもよい。画像・音声伝送処理部06124は、画像データ又は音声データを、データ送受信部06111を介して他のカメラアダプタ120またはフロントエンドサーバ230へ転送するためのメッセージを作成する機能を有している。メッセージには画像データ又は音声データ、及び各データのメタ情報が含まれる。本実施形態のメタ情報には画像の撮影または音声のサンプリングをした時のタイムコードまたはシーケンス番号、データ種別、及びカメラ112やマイク111の個体を示す識別子などが含まれる。なお送信する画像データまたは音声データはデータ圧縮・伸張部06121でデータ圧縮されていてもよい。また、画像・音声伝送処理部06124は、他のカメラアダプタ120からデータ送受信部06111を介してメッセージを受取る。そして、メッセージに含まれるデータ種別に応じて、伝送プロトコル規定のパケットサイズにフラグメントされたデータ情報を画像データまたは音声データに復元する。なお、データを復元した際にデータが圧縮されている場合は、データ圧縮・伸張部06121が伸張処理を行う。データルーティング情報保持部06125は、データ送受信部06111で送受信されるデータの送信先を決定するためのアドレス情報を保持する機能を有する。ルーティング方法については後述する。
画像処理部06130は、カメラ制御部06141の制御によりカメラ112が撮影した画像データ及び他のカメラアダプタ120から受取った画像データに対して処理を行う機能を有し、以下の機能部から構成されている。
前景背景分離部06131は、カメラ112が撮影した画像データを前景画像と背景画像に分離する機能を有している。すなわち、複数のカメラアダプタ120のそれぞれは、複数のカメラ112のうち対応するカメラ112による撮影画像から所定領域を抽出する画像処理装置として動作する。所定領域は例えば撮影画像に対するオブジェクト検出の結果得られる前景画像であり、この抽出により前景背景分離部06131は、撮影画像を前景画像と背景画像に分離する。なお、オブジェクトとは、例えば人物である。ただし、オブジェクトが特定人物(選手、監督、及び/又は審判など)であっても良いし、ボールやゴールなど、画像パターンが予め定められている物体であっても良い。また、オブジェクトとして、動体が検出されるようにしても良い。人物等の重要なオブジェクトを含む前景画像とそのようなオブジェクトを含まない背景領域を分離して処理することで、画像処理システム100において生成される仮想視点画像の上記のオブジェクトに該当する部分の画像の品質を向上できる。また、前景と背景の分離を複数のカメラアダプタ120それぞれが行うことで、複数のカメラ112を備えた画像処理システム100における負荷を分散させることができる。なお、所定領域は前景画像に限らず、例えば背景画像であってもよい。
三次元モデル情報生成部06132は、前景背景分離部06131で分離された前景画像及び他のカメラアダプタ120から受取った前景画像を利用し、例えばステレオカメラの原理を用いて三次元モデルに係わる画像情報を生成する機能を有している。キャリブレーション制御部06133は、キャリブレーションに必要な画像データを、カメラ制御部06141を介してカメラ112から取得し、キャリブレーションに係わる演算処理を行うフロントエンドサーバ230に送信する機能を有している。本実施形態におけるキャリブレーションは、複数のカメラ112それぞれに関するパラメータを対応付けて整合をとる処理である。キャリブレーションとして例えば、設置された各カメラ112が保持する世界座標系が一致するように調整する処理や、カメラ112ごとの色のばらつきを抑えるための色補正処理などが行われる。なお、キャリブレーションの具体的な処理内容はこれに限定されない。
また本実施形態では、キャリブレーションに係わる演算処理をフロントエンドサーバ230で行っているが、演算処理を行うノードはフロントエンドサーバ230に限定されない。例えば、制御ステーション310やカメラアダプタ120(他のカメラアダプタ120を含む)など他のノードで演算処理が行われてもよい。またキャリブレーション制御部06133は、カメラ制御部06141を介してカメラ112から取得した画像データに対して、予め設定されたパラメータに応じて撮影中のキャリブレーション(動的キャリブレーション)を行う機能を有している。外部機器制御部06140は、カメラアダプタ120に接続する機器を制御する機能を有し、下記機能ブロックから構成されている。
カメラ制御部06141は、カメラ112と接続し、カメラ112の制御、撮影画像取得、同期信号提供、及び時刻設定などを行う機能を有している。カメラ112の制御には、例えば撮影パラメータ(画素数、色深度、フレームレート、及びホワイトバランスの設定など)の設定及び参照、カメラ112の状態(撮影中、停止中、同期中、及びエラーなど)の取得、撮影の開始及び停止や、ピント調整などがある。なお、本実施形態ではカメラ112を介してピント調整を行っているが、取り外し可能なレンズがカメラ112に装着されている場合は、カメラアダプタ120がレンズに接続し、直接レンズの調整を行ってもよい。また、カメラアダプタ120がカメラ112を介してズーム等のレンズ調整を行ってもよい。同期信号提供は、時刻同期制御部06123がタイムサーバ290と同期した時刻を利用し、撮影タイミング(制御クロック)をカメラ112に提供することで行われる。時刻設定は、時刻同期制御部06123がタイムサーバ290と同期した時刻を例えばSMPTE12Mのフォーマットに準拠したタイムコードで提供することで行われる。これにより、カメラ112から受取る画像データに提供したタイムコードが付与されることになる。なおタイムコードのフォーマットはSMPTE12Mに限定されるわけではなく、他のフォーマットであってもよい。また、カメラ制御部06141は、カメラ112に対するタイムコードの提供はせず、カメラ112から受取った画像データに自身がタイムコードを付与してもよい。
マイク制御部06142は、マイク111と接続し、マイク111の制御、収音の開始及び停止や収音された音声データの取得などを行う機能を有している。マイク111の制御は例えば、ゲイン調整や、状態取得などである。またカメラ制御部06141と同様にマイク111に対して音声サンプリングするタイミングとタイムコードを提供する。音声サンプリングのタイミングとなるクロック情報としては、タイムサーバ290からの時刻情報が例えば48KHzのワードクロックに変換されてマイク111に供給される。雲台制御部06143は雲台113と接続し、雲台113の制御を行う機能を有している。雲台113の制御は、例えば、パン・チルト制御や、状態取得などがある。
センサ制御部06144は、外部センサ114と接続し、外部センサ114がセンシングしたセンサ情報を取得する機能を有する。例えば、外部センサ114としてジャイロセンサが利用される場合は、振動を表す情報を取得することができる。そして、センサ制御部06144が取得した振動情報を用いて、画像処理部06130は、前景背景分離部06131での処理に先立って、カメラ112の振動による影響を低減させた画像を生成することができる。振動情報は例えば、8Kカメラの画像データを、振動情報を考慮して、元の8Kサイズよりも小さいサイズで切り出して、隣接設置されたカメラ112の画像との位置合わせを行う場合に利用される。これにより、建造物の躯体振動が各カメラに異なる周波数で伝搬しても、カメラアダプタ120に配備された本機能で位置合わせを行う。その結果、振動の影響が画像処理により低減された(電子的に防振された)画像データを生成でき、画像コンピューティングサーバ200におけるカメラ112の台数分の位置合わせの処理負荷を軽減する効果が得られる。なお、センサシステム110のセンサは外部センサ114に限定するわけではなく、カメラアダプタ120に内蔵されたセンサであっても同様の効果が得られる。
図3は、カメラアダプタ120内部の画像処理部06130の機能ブロック図である。キャリブレーション制御部06133は、入力された画像に対して、カメラ毎の色のばらつきを抑えるための色補正処理や、カメラの振動に起因する画像のブレを低減させて画像を安定させるためのブレ補正処理(電子防振処理)などを行う。
前景背景分離部06131の機能ブロックについて説明する。前景分離部05001は、カメラ112の画像に関して位置合わせが行われた画像データに対して、背景画像05002との比較により前景画像の分離処理を行う。背景更新部05003は、背景画像05002とカメラ112の位置合わせが行われた画像を用いて新しい背景画像を生成し、背景画像05002を新しい背景画像に更新する。背景切出部05004は、背景画像05002の一部を切り出す制御を行う。
ここで、三次元モデル情報生成部06132の機能について説明する。三次元モデル処理部05005は、前景分離部05001で分離された前景画像と、伝送部06120を介して受信した他のカメラ112の前景画像を用いて、例えばステレオカメラの原理等から三次元モデルに関わる画像情報を逐次生成する。他カメラ前景受信部05006は、他のカメラアダプタ120で前景背景分離された前景画像を受信する。
カメラパラメータ受信部05007は、カメラ固有の内部パラメータ(焦点距離、画像中心、及びレンズ歪みパラメータ等)と、カメラの位置姿勢を表す外部パラメータ(回転行列及び位置ベクトル等)を受信する。これらのパラメータは、後述のキャリブレーション処理で得られる情報であり、制御ステーション310から対象となるカメラアダプタ120に対して送信及び設定される。次に、三次元モデル処理部05005は、カメラパラメータ受信部05007と他カメラ前景受信部05006によって三次元モデル情報を生成する。
図4は、フロントエンドサーバ230の機能ブロックを示した図である。制御部02110はCPUやDRAM、プログラムデータや各種データを記憶したHDDやNANDメモリなどの記憶媒体、Ethernet等のハードウェアで構成される。そして、フロントエンドサーバ230の各機能ブロック及びフロントエンドサーバ230のシステム全体の制御を行う。また、モード制御を行って、キャリブレーション動作や撮影前の準備動作、及び撮影中動作などの動作モードを切り替える。また、Ethernetを通じて制御ステーション310からの制御指示を受信し、各モードの切り替えやデータの入出力などを行う。また、同じくネットワークを通じて制御ステーション310からスタジアムCADデータ(スタジアム形状データ)を取得し、スタジアムCADデータをCADデータ記憶部02135と撮影データファイル生成部02180に送信する。なお、本実施形態におけるスタジアムCADデータ(スタジアム形状データ)はスタジアムの形状を示す三次元データであり、メッシュモデルやその他の三次元形状を表すデータであればよく、CAD形式に限定されない。
データ入力制御部02120は、Ethernet等の通信路とスイッチングハブ180を介して、カメラアダプタ120とネットワーク接続されている。そしてデータ入力制御部02120は、ネットワークを通してカメラアダプタ120から前景画像、背景画像、被写体の三次元モデル、音声データ、及びカメラキャリブレーション撮影画像データを取得する。ここで、前景画像は仮想視点画像の生成のための撮影画像の前景領域に基づく画像データであり、背景画像は当該撮影画像の背景領域に基づく画像データである。カメラアダプタ120は、カメラ112による撮影画像に対する所定のオブジェクトの検出処理の結果に応じて、前景領域及び背景領域を特定し、前景画像及び背景画像を生成する。所定のオブジェクトとは、例えば人物である。なお、所定のオブジェクトは特定の人物(選手、監督、及び/又は審判など)であっても良い。また、所定のオブジェクトには、ボールやゴールなど、画像パターンが予め定められている物体が含まれていてもよい。また、所定のオブジェクトとして、動体が検出されるようにしても良い。
また、データ入力制御部02120は、取得した前景画像及び背景画像をデータ同期部02130に送信し、カメラキャリブレーション撮影画像データをキャリブレーション部02140に送信する。また、データ入力制御部02120は受信したデータの圧縮伸張やデータルーティング処理等を行う機能を有する。また、制御部02110とデータ入力制御部02120は共にEthernet等のネットワークによる通信機能を有しているが、通信機能はこれらで共有されていてもよい。その場合は、制御ステーション310からの制御コマンドによる指示やスタジアムCADデータをデータ入力制御部02120で受けて、制御部02110に対して送る方法を用いてもよい。
データ同期部02130は、カメラアダプタ120から取得したデータをDRAM上に一次的に記憶し、前景画像、背景画像、音声データ及び三次元モデルデータが揃うまでバッファする。なお、以下では、前景画像、背景画像、音声データ及び三次元モデルデータをまとめて撮影データと称する。撮影データにはルーティング情報やタイムコード情報(時間情報)、カメラ識別子等のメタ情報が付与されており、データ同期部02130はこのメタ情報を元にデータの属性を確認する。これによりデータ同期部02130は、同一時刻のデータであることなどを判断してデータがそろったことを確認する。これは、ネットワークによって各カメラアダプタ120から転送されたデータについて、ネットワークパケットの受信順序は保証されず、ファイル生成に必要なデータが揃うまでバッファする必要があるためである。データがそろったら、データ同期部02130は、前景画像及び背景画像を画像処理部02150に、三次元モデルデータを三次元モデル結合部02160に、音声データを撮影データファイル生成部02180にそれぞれ送信する。なお、ここで揃えるデータは、後述される撮影データファイル生成部02180に於いてファイル生成を行うために必要なデータである。また、背景画像は前景画像とは異なるフレームレートで撮影されてもよい。例えば、背景画像のフレームレートが1fpsである場合、1秒毎に1つの背景画像が取得されるため、背景画像が取得されない時間については、背景画像が無い状態で全てのデータがそろったとしてよい。また、データ同期部02130は、所定時間を経過しデータが揃っていない場合には、データが揃わないことを示す情報をデータベース250に通知する。そして、後段のデータベース250が、データを格納する際に、カメラ番号やフレーム番号とともにデータの欠落を示す情報を格納する。これにより、データベース250に集められたカメラ112の撮影画像から所望の画像が形成できるか否かを、仮想カメラ操作UI330からバックエンドサーバ270への視点指示に応じてレンダリング前に自動通知することが可能となる。その結果、仮想カメラ操作UI330のオペレータの目視負荷を軽減できる。
CADデータ記憶部02135は制御部02110から受け取ったスタジアム形状を示す三次元データをDRAMまたはHDDやNANDメモリ等の記憶媒体に保存する。そして、画像結合部02170に対して、スタジアム形状データの要求を受け取った際に保存されたスタジアム形状データを送信する。キャリブレーション部02140はカメラのキャリブレーション動作を行い、キャリブレーションによって得られたカメラパラメータを後述する非撮影データファイル生成部02185に送る。また同時に、自身の記憶領域にもカメラパラメータを保持し、後述する三次元モデル結合部02160にカメラパラメータ情報を提供する。
画像処理部02150は前景画像や背景画像に対して、カメラ間の色や輝度値の合わせこみ、RAW画像データが入力される場合には現像処理、及びカメラのレンズ歪みの補正等の処理を行う。そして、画像処理を行った前景画像は撮影データファイル生成部02180に、背景画像は02170にそれぞれ送信する。三次元モデル結合部02160は、カメラアダプタ120から取得した同一時刻の三次元モデルデータをキャリブレーション部02140が生成したカメラパラメータを用いて結合する。そして、VisualHullと呼ばれる方法を用いて、スタジアム全体における前景画像の三次元モデルデータを生成する。生成した三次元モデルは撮影データファイル生成部02180に送信される。
画像結合部02170は画像処理部02150から背景画像を取得し、CADデータ記憶部02135からスタジアムの三次元形状データ(スタジアム形状データ)を取得し、取得したスタジアムの三次元形状データの座標に対する背景画像の位置を特定する。背景画像の各々についてスタジアムの三次元形状データの座標に対する位置が特定できると、背景画像を結合して1つの背景画像とする。なお、本背景画像の三次元形状データの作成については、バックエンドサーバ270が実施してもよい。
撮影データファイル生成部02180はデータ同期部02130から音声データを、画像処理部02150から前景画像を、三次元モデル結合部02160から三次元モデルデータを、画像結合部02170から三次元形状に結合された背景画像を取得する。そして、取得したこれらのデータをDBアクセス制御部02190に対して出力する。ここで、撮影データファイル生成部02180は、これらのデータをそれぞれの時間情報に基づいて対応付けて出力する。ただし、これらのデータの一部を対応付けて出力してもよい。例えば、撮影データファイル生成部02180は、前景画像と背景画像とを、前景画像の時間情報及び背景画像の時間情報に基づいて対応付けて出力する。また例えば、撮影データファイル生成部02180は、前景画像、背景画像、及び三次元モデルデータを、前景画像の時間情報、背景画像の時間情報、及び三次元モデルデータの時間情報に基づいて対応付けて出力する。なお、撮影データファイル生成部02180は、対応付けられたデータをデータの種類別にファイル化して出力してもよいし、複数種類のデータを時間情報が示す時刻ごとにまとめてファイル化して出力してもよい。このように対応付けられた撮影データが、対応付けを行う情報処理装置としてのフロントエンドサーバ230からデータベース250に出力されることで、バックエンドサーバ270は時間情報が対応する前景画像と背景画像とから仮想視点画像を生成できる。
なお、データ入力制御部02120により取得される前景画像と背景画像のフレームレートが異なる場合、撮影データファイル生成部02180は、常に同時刻の前景画像と背景画像を対応付けて出力することは難しい。そこで、撮影データファイル生成部02180は、前景画像の時間情報と所定の規則に基づく関係にある時間情報を有する背景画像とを対応付けて出力する。ここで、前景画像の時間情報と所定の規則に基づく関係にある時間情報を有する背景画像は、例えば、撮影データファイル生成部02180が取得した背景画像のうち前景画像の時間情報に最も近い時間情報を有する背景画像である。このように、所定の規則に基づいて前景画像と背景画像を対応付けることにより、前景画像と背景画像のフレームレートが異なる場合でも、近い時刻に撮影された前景画像と背景画像とから仮想視点画像を生成することができる。なお、前景画像と背景画像の対応付けの方法は上記のものに限らない。例えば、前景画像の時間情報と所定の規則に基づく関係にある時間情報を有する背景画像は、取得された背景画像であって前景画像より前の時刻に対応する時間情報を有する背景画像のうち、前景画像の時間情報に最も近い時間情報を有する背景画像であってよい。この方法によれば、前景画像よりフレームレートの低い背景画像の取得を待つことなく、対応付けられた前景画像と背景画像とを低遅延で出力することができる。また、前景画像の時間情報と所定の規則に基づく関係にある時間情報を有する背景画像は、取得された背景画像であって前景画像より後の時刻に対応する時間情報を有する背景画像のうち、前景画像の時間情報に最も近い時間情報を有する背景画像でもよい。
非撮影データファイル生成部02185は、キャリブレーション部02140からカメラパラメータ、制御部02110からスタジアムの三次元形状データを取得し、ファイル形式に応じて成形した後にDBアクセス制御部02190に送信する。なお、非撮影データファイル生成部02185に入力されるデータであるカメラパラメータまたはスタジアム形状データは、個別にファイル形式に応じて成形される。すなわち、非撮影データファイル生成部02185は、どちらか一方のデータを受信した場合、それらを個別にDBアクセス制御部02190に送信する。
DBアクセス制御部02190は、InfiniBandなどにより高速な通信が可能となるようにデータベース250と接続される。そして、撮影データファイル生成部02180及び非撮影データファイル生成部02185から受信したファイルをデータベース250に対して送信する。本実施形態では、撮影データファイル生成部02180が時間情報に基づいて対応付けた撮影データは、フロントエンドサーバ230とネットワークを介して接続される記憶装置であるデータベース250へDBアクセス制御部02190を介して出力される。ただし、対応付けられた撮影データの出力先はこれに限らない。例えば、フロントエンドサーバ230は、時間情報に基づいて対応付けられた撮影データを、フロントエンドサーバ230とネットワークを介して接続され仮想視点画像を生成する画像生成装置であるバックエンドサーバ270に出力してもよい。また、データベース250とバックエンドサーバ270の両方に出力してもよい。
また、本実施形態では、フロントエンドサーバ230が前景画像と背景画像の対応付けを行うものとするが、これに限らず、データベース250が対応付けを行ってもよい。例えば、データベース250はフロントエンドサーバ230から時間情報を有する前景画像及び背景画像を取得する。そしてデータベース250は、前景画像と背景画像とを前景画像の時間情報及び背景画像の時間情報に基づいて対応付けて、データベース250が備える記憶部に出力してもよい。フロントエンドサーバ230のデータ入力制御部02120について図5の機能ブロック図を利用して説明する。
データ入力制御部02120は、サーバネットワークアダプタ06210、サーバ伝送部06220、及びサーバ画像処理部06230を有する。サーバネットワークアダプタ06210は、サーバデータ受信部06211を有し、カメラアダプタ120から送信されるデータを受信する機能を有する。サーバ伝送部06220は、サーバデータ受信部06211から受取ったデータに対する処理を行う機能を有しており、以下の機能部から構成されている。サーバデータ伸張部06221は、圧縮されたデータを伸張する機能を有している。
サーバデータルーティング処理部06222は、後述するサーバデータルーティング情報保持部06224が保持するアドレス等のルーティング情報に基づきデータの転送先を決定し、サーバデータ受信部06211から受取ったデータを転送する。サーバ画像伝送処理部06223は、カメラアダプタ120からサーバデータ受信部06211を介してメッセージを受取り、メッセージに含まれるデータ種別に応じて、フラグメント化されたデータを画像データまたは音声データに復元する。なお、復元後の画像データや音声データが圧縮されている場合は、サーバデータ伸張部06221で伸張処理が行われる。
サーバデータルーティング情報保持部06224は、サーバデータ受信部06211が受信したデータの送信先を決定するためのアドレス情報を保持する機能を有する。なお、ルーティング方法については後述する。サーバ画像処理部06230は、カメラアダプタ120から受信した画像データまたは音声データに係わる処理を行う機能を有している。処理内容は、例えば、画像データのデータ実体(前景画像、背景画像、及び三次元モデル情報)に応じた、カメラ番号や画像フレームの撮影時刻、画像サイズ、画像フォーマット、及び画像の座標の属性情報などが付与されたフォーマットへの整形処理などである。
図6は、データベース250の機能ブロックを示した図である。制御部02410はCPUやDRAM、プログラムデータや各種データを記憶したHDDやNANDメモリなどの記憶媒体、及びEthernet等のハードウェアで構成される。そして、データベース250の各機能ブロック及びデータベース250のシステム全体の制御を行う。データ入力部02420はInfiniBand等の高速な通信によって、フロントエンドサーバ230から撮影データや非撮影データのファイルを受信する。受信したファイルはキャッシュ02440に送られる。また、受信した撮影データのメタ情報を読み出し、メタ情報に記録されたタイムコード情報やルーティング情報、カメラ識別子等の情報を元に、取得したデータへのアクセスが可能になるようにデータベーステーブルを作成する。データ出力部02430は、バックエンドサーバ270から要求されたデータが後述するキャッシュ02440、一次ストレージ02450、二次ストレージ02460のいずれに保存されているか判断する。そして、InfiniBand等の高速な通信によって、保存された先からデータを読み出してバックエンドサーバ270に送信する。
キャッシュ02440は、高速な入出力スループットを実現可能なDRAM等の記憶装置を有しており、データ入力部02420から取得した撮影データや非撮影データを記憶装置に格納する。格納されたデータは一定量保持され、それを超えるデータが入力される場合に、古いデータから随時一次ストレージ02450へと書き出され、書き出し済みのデータは新たなデータによって上書きされる。ここでキャッシュ02440に一定量保存されるデータは少なくとも1フレーム分の撮影データである。それによって、バックエンドサーバ270に於いて画像のレンダリング処理を行う際に、データベース250内でのスループットを最小限に抑え、最新の画像フレームを低遅延かつ連続的にレンダリングすることが可能となる。ここで、前述の目的を達成するためにはキャッシュされているデータの中に背景画像が含まれている必要がある。そのため、背景画像を有さないフレームの撮影データがキャッシュされる場合、キャッシュ上の背景画像は更新されず、そのままキャッシュ上に保持される。キャッシュ可能なDRAMの容量は、予めシステムに設定されたキャッシュフレームサイズ、または制御ステーションからの指示によって決められる。なお、非撮影データについては、入出力の頻度が少なく、また、試合前などにおいては高速なスループットを要求されないため、すぐに一次ストレージへとコピーされる。キャッシュされたデータはデータ出力部02430によって読み出される。
一次ストレージ02450はSSD等のストレージメディアを並列につなぐなどして構成されデータ入力部02420からの大量のデータの書き込み及びデータ出力部02430からのデータ読み出しが同時に実現できるなど高速化される。そして、一次ストレージ02450には、キャッシュ02440上に格納されたデータの古いものから順に書き出される。二次ストレージ02460はHDDやテープメディア等で構成され、高速性よりも大容量が重視され、一次ストレージと比較して安価で長期間の保存に適するメディアであることが求められる。二次ストレージ02460には、撮影が完了した後、データのバックアップとして一次ストレージ02450に格納されたデータが書き出される。
図7は、本実施形態にかかるバックエンドサーバ270の構成を示している。バックエンドサーバ270は、データ受信部03001、背景テクスチャ貼り付け部03002、前景テクスチャ決定部03003、テクスチャ境界色合わせ部03004、仮想視点前景画像生成部03005、及びレンダリング部03006を有する。さらに、仮想視点音声生成部03007、合成部03008、画像出力部03009、前景オブジェクト決定部03010、要求リスト生成部03011、要求データ出力部03012、泳ぎレンダリングモード管理部03014を有する。
データ受信部03001は、データベース250およびコントローラ300から送信されるデータを受信する。またデータベース250からは、スタジアムの形状を示す三次元データ(スタジアム形状データ)、前景画像、背景画像、前景画像の三次元モデル(以降、前景三次元モデルと称する)、及び音声を受信する。また、データ受信部03001は、仮想視点画像の生成に係る視点を指定する指定装置としてのコントローラ300から出力される仮想カメラパラメータを受信する。仮想カメラパラメータとは、仮想視点の位置や姿勢などを表すデータであり、例えば、外部パラメータの行列と内部パラメータの行列が用いられる。
なお、データ受信部03001がコントローラ300から取得するデータは仮想カメラパラメータに限らない。例えばコントローラ300から出力される情報は、視点の指定方法、コントローラが動作させているアプリケーションを特定する情報、コントローラ300の識別情報、及びコントローラ300を使用するユーザの識別情報の少なくとも何れかを含んでいてよい。また、データ受信部03001は、コントローラ300から出力される上記の情報と同様の情報を、エンドユーザ端末190から取得してもよい。さらに、データ受信部03001は、データベース250やコントローラ300などの外部の装置から、複数のカメラ112に関する情報を取得してもよい。複数のカメラ112に関する情報は、例えば、複数のカメラ112の数に関する情報や複数のカメラ112の動作状態に関する情報などである。カメラ112の動作状態には、例えば、カメラ112の正常状態、故障状態、待機状態、起動状態、及び再起動状態の少なくとも何れかが含まれる。
背景テクスチャ貼り付け部03002は、背景メッシュモデル管理部03013から取得する背景メッシュモデル(スタジアム形状データ)で示される三次元空間形状に対して背景画像をテクスチャとして貼り付ける。これにより背景テクスチャ貼り付け部03002は、テクスチャ付き背景メッシュモデルを生成する。メッシュモデルとは、例えばCADデータなど三次元の空間形状を面の集合で表現したデータのことである。テクスチャとは、物体の表面の質感を表現するために貼り付ける画像のことである。前景テクスチャ決定部03003は、前景画像及び前景三次元モデル群より前景三次元モデルのテクスチャ情報を決定する。前景テクスチャ境界色合わせ部03004は、各前景三次元モデルのテクスチャ情報と各三次元モデル群からテクスチャの境界の色合わせを行い、前景オブジェクト毎に色付き前景三次元モデル群を生成する。
仮想視点前景画像生成部03005は、仮想カメラパラメータに基づいて、前景画像群を仮想視点からの見た目となるように透視変換する。レンダリング部03006は、レンダリングモード管理部03014で決定された、仮想視点画像の生成に用いられる生成方式に基づいて、背景画像と前景画像をレンダリングして全景の仮想視点画像を生成する。本実施形態では、仮想視点画像の生成方式として、モデルベースレンダリング(Model−Based Rendering:MBR)とイメージベース(Image−Based Rendering:IBR)の2つのレンダリングモードが用いられる。MBRとは、被写体を複数の方向から撮影した複数の撮影画像に基づいて生成される三次元モデルを用いて仮想視点画像を生成する方式である。具体的には、視体積交差法、Multi−View−Stereo(MVS)などの三次元形状復元手法により得られた対象シーンの三次元形状(モデル)を利用し、仮想視点からのシーンの見えを画像として生成する技術である。IBRとは、対象のシーンを複数視点から撮影した入力画像群を変形、合成することによって仮想視点からの見えを再現した仮想視点画像を生成する技術である。
本実施形態では、IBRを用いる場合、MBRを用いて三次元モデルを生成するための複数の撮影画像より少ない1又は複数の撮影画像に基づいて仮想視点画像が生成される。レンダリングモードがMBRの場合、背景メッシュモデルと前景テクスチャ境界色合わせ部03004で生成した前景三次元モデル群を合成することで全景モデルが生成され、その全景モデルから仮想視点画像が生成される。レンダリングモードがIBRの場合、背景テクスチャモデルに基づいて仮想視点から見た背景画像が生成され、そこに仮想視点前景画像生成部03005で生成された前景画像を合成することで仮想視点画像が生成される。
なお、レンダリング部03006はMBRとIBR以外のレンダリング手法を用いてもよい。また、レンダリングモード管理部03014が決定する仮想視点画像の生成方式はレンダリングの方式に限らず、レンダリングモード管理部03014は仮想視点画像を生成するためのレンダリング以外の処理の方式を決定してもよい。レンダリングモード管理部03014は、仮想視点画像の生成に用いられる生成方式としてのレンダリングモードを決定し、決定結果を保持する。
本実施形態では、レンダリングモード管理部03014は、複数のレンダリングモードから使用するレンダリングモードを決定する。この決定は、データ受信部03001が取得した情報に基づいて行われる。例えば、レンダリングモード管理部03014は、取得された情報から特定されるカメラの数が閾値以下である場合に、仮想視点画像の生成に用いられる生成方式をIBRに決定する。一方、カメラ数が閾値より多い場合は生成方式をMBRに決定する。これにより、カメラ数が多い場合にはMBRを用いて仮想視点画像を生成することで視点の指定可能範囲が広くなる。また、カメラ数が少ない場合には、IBRを用いることで、MBRを用いた場合の三次元モデルの精度の低下による仮想視点画像の画質低下を回避することができる。
また例えば、撮影から画像出力までの許容される処理遅延時間の長短に基づいて生成方式を決めてもよい。遅延時間が長くても視点の自由度を優先する場合はMBR、遅延時間が短いことを要求する場合はIBRを用いる。また例えば、コントローラ300やエンドユーザ端末190が視点の高さを指定可能であることを示す情報をデータ受信部03001が取得した場合には、仮想視点画像の生成に用いられる生成方式をMBRに決定する。これにより、生成方式がIBRであることによってユーザによる視点の高さの変更要求が受け入れられなくなることを防ぐことができる。このように、状況に応じて仮想視点画像の生成方式を決定することで、適切に決定された生成方式で仮想視点画像を生成できる。また、複数のレンダリングモードを要求に応じて切り替え可能な構成にすることで、柔軟にシステムを構成することが可能になり、本実施形態をスタジアム以外の被写体にも適用可能となる。なお、レンダリングモード管理部03014が保持するレンダリングモードは、システムに予め設定された方式でもよい。また、仮想カメラ操作UI330やエンドユーザ端末190を操作するユーザがレンダリングモードを任意に設定できてもよい。
仮想視点音声生成部03007は、仮想カメラパラメータに基づいて、仮想視点において聞こえる音声(音声群)を生成する。合成部03008は、レンダリング部03006で生成された画像群と仮想視点音声生成部03007で生成された音声を合成して仮想視点コンテンツを生成する。画像出力部03009は、コントローラ300とエンドユーザ端末190へEthernetを用いて仮想視点コンテンツを出力する。ただし、外部への伝送手段はEthernetに限定されるものではなく、SDI、DisplayPort、及びHDMI(登録商標)などの信号伝送手段を用いてもよい。なお、バックエンドサーバ270は、レンダリング部03006で生成された、音声を含まない仮想視点画像を出力してもよい。
前景オブジェクト決定部03010は、仮想カメラパラメータと前景三次元モデルに含まれる前景オブジェクトの空間上の位置を示す前景オブジェクトの位置情報から、表示される前景オブジェクト群を決定して、前景オブジェクトリストを出力する。つまり、前景オブジェクト決定部03010は、仮想視点の画像情報を物理的なカメラ112にマッピングする処理を実施する。本仮想視点は、レンダリングモード管理部03014で決定されるレンダリングモードに応じてマッピング結果が異なる。そのため、複数の前景オブジェクトを決定する制御部が前景オブジェクト決定部03010に配備されレンダリングモードと連動して制御を行うことを明記しておく。
要求リスト生成部03011は、指定時間の前景オブジェクトリストに対応する前景画像群と前景三次元モデル群、及び背景画像と音声データをデータベース250に要求するための、要求リストを生成する。前景オブジェクトについては仮想視点を考慮して選択されたデータがデータベース250に要求されるが、背景画像と音声データについてはそのフレームに関する全てのデータが要求される。バックエンドサーバ270の起動後、背景メッシュモデルが取得されるまで背景メッシュモデルの要求リストが生成される。要求データ出力部03012は、入力された要求リストを元にデータベース250に対してデータ要求のコマンドを出力する。背景メッシュモデル管理部03013は、データベース250から受信した背景メッシュモデルを記憶する。
なお、本実施形態ではバックエンドサーバ270が仮想視点画像の生成方式の決定と仮想視点画像の生成の両方を行う場合を中心に説明するが、これに限らない。即ち、生成方式を決定した情報処理装置がその決定結果に応じたデータを出力すればよい。例えば、フロントエンドサーバ230が、複数のカメラ112に関する情報や仮想視点画像の生成に係る視点を指定する装置から出力される情報などに基づいて、仮想視点画像の生成に用いられる生成方式を決定してもよい。そしてフロントエンドサーバ230は、カメラ112による撮影に基づく画像データと決定された生成方式を示す情報とを、データベース250などの記憶装置及びバックエンドサーバ270などの画像生成装置の少なくとも何れかに出力してもよい。この場合には、例えばフロントエンドサーバ230が出力した生成方式を示す情報に基づいてバックエンドサーバ270が仮想視点画像を生成する。フロントエンドサーバ230が生成方式を決定することで、決定された方式とは別の方式での画像生成のためのデータをデータベース250やバックエンドサーバ270が処理することによる処理負荷を低減できる。一方、本実施形態のようにバックエンドサーバ270が生成方式を決定する場合、データベース250は複数の生成方式に対応可能なデータを保持するため、複数の生成方式それぞれに対応する複数の仮想視点画像の生成が可能となる。
図8は、仮想カメラ操作UI330の機能構成を説明するブロック図である。仮想カメラ08001について図20(a)を用いて説明する。仮想カメラ08001は、設置されたどのカメラ112とも異なる視点において撮影を行うことができる仮想的なカメラである。即ち、画像処理システム100において生成される仮想視点画像が、仮想カメラ08001による撮影画像である。図20(a)において、円周上に配置された複数のセンサシステム110それぞれがカメラ112を有している。例えば、仮想視点画像を生成することにより、あたかもサッカーゴールの近くの仮想カメラ08001で撮影されたかのような画像を生成することができる。仮想カメラ08001の撮影画像である仮想視点画像は、設置された複数のカメラ112の画像を画像処理することで生成される。オペレータ(ユーザ)は仮想カメラ08001の位置等操作することで、自由な視点からの撮影画像を得ることができる。
仮想カメラ操作UI330は、仮想カメラ管理部08130および操作UI部08120を有する。これらは同一機器上に実装されてもよいし、それぞれサーバとなる装置とクライアントとなる装置に別々に実装されてもよい。例えば、放送局が使用する仮想カメラ操作UI330においては、中継車内のワークステーションに仮想カメラ管理部08130と操作UI部08120が実装されてもよい。また例えば、仮想カメラ管理部08130をwebサーバに実装し、エンドユーザ端末190に操作UI部08120を実装することで、同様の機能を実現してもよい。
仮想カメラ操作部08101は、オペレータの仮想カメラ08001に対する操作、すなわち仮想視点画像の生成に係る視点を指定するためのユーザによる指示を受け付けて処理する。オペレータの操作内容は、例えば、位置の変更(移動)、姿勢の変更(回転)、及びズーム倍率の変更などである。オペレータは、仮想カメラ08001を操作するために、例えば、ジョイスティック、ジョグダイヤル、タッチパネル、キーボード、及びマウスなどの入力装置を使う。各入力装置による入力と仮想カメラ08001の操作との対応は予め決められる。例えば、キーボードの「W」キーを、仮想カメラ08001を前方へ1メートル移動する操作に対応付ける。また、オペレータは軌跡を指定して仮想カメラ08001を操作することができる。例えばオペレータは、ゴールポストを中心とする円周上を仮想カメラ08001が回るという軌跡を、タッチパッド上に円を描くように触れることで指定する。仮想カメラ08001は、指定された軌跡に沿ってゴールポストの回りを移動する。このとき、仮想カメラ08001が常にゴールポストの方を向くように自動で姿勢を変更してもよい。仮想カメラ操作部08101は、ライブ画像およびリプレイ画像の生成に利用することができる。リプレイ画像を生成する際は、カメラの位置及び姿勢の他に時間を指定する操作が行われる。リプレイ画像では、例えば、時間を止めて仮想カメラ08001を移動させることも可能である。
仮想カメラパラメータ導出部08102は、仮想カメラ08001の位置や姿勢などを表す仮想カメラパラメータを導出する。仮想パラメータは、演算によって導出されてもよいし、ルックアップテーブルの参照などによって導出されてもよい。仮想カメラパラメータとして、例えば、外部パラメータを表す行列と内部パラメータを表す行列が用いられる。ここで、仮想カメラ08001の位置と姿勢は外部パラメータに含まれ、ズーム値は内部パラメータに含まれる。
仮想カメラ制約管理部08103は、仮想カメラ操作部08101により受け付けられる指示に基づく視点の指定が制限される制限領域を特定するための情報を取得し管理する。この情報は例えば、仮想カメラ08001の位置や姿勢、ズーム値などに関する制約である。仮想カメラ08001は、カメラ112と異なり、自由に視点を移動して撮影を行うことができるが、常にあらゆる視点からの画像を生成できるとは限らない。例えば、どのカメラ112にも映っていない対象物が映る向きに仮想カメラ08001を向けても、その撮影画像を取得することはできない。また、仮想カメラ08001のズーム倍率を上げると、解像度の制約により画質が劣化する。そこで、一定基準の画質を保つ範囲のズーム倍率などを仮想カメラ制約としてよい。仮想カメラ制約は、例えば、カメラの配置などから事前に導出しておいてもよい。また、伝送部06120がネットワークの負荷に応じて伝送データ量の削減を図ることがある。このデータ量削減により、撮影画像に関するパラメータが変化し、画像を生成できる範囲や画質を保つことができる範囲が動的に変わる。仮想カメラ制約管理部08103は、伝送部06120から出力データのデータ量の削減に用いた方法を示す情報を受け取り、その情報に応じて仮想カメラ制約を動的に更新する構成であってもよい。これにより、伝送部06120によりデータ量削減が図られても、仮想視点画像の画質を一定基準に保つことが可能となる。
また、仮想カメラに関する制約は上記の物に限定されない。本実施形態では、視点の指定が制限される制限領域(仮想カメラ制約を満たさない領域)は、画像処理システム100に含まれる装置の動作状態及び仮想視点画像を生成するための画像データに関するパラメータの少なくとも何れかに応じて変化する。例えば、制限領域は、画像処理システム100において伝送される画像データのデータ量が所定範囲内となるように制御されるパラメータに応じて変化する。当該パラメータは、画像データのフレームレート、解像度、量子化ステップ、及び撮影範囲などのうち少なくとも何れかを含む。例えば、伝送データ量削減のために画像データの解像度が低減されると、所定の画質を維持可能なズーム倍率の範囲が変化する。このような場合に、仮想カメラ制約管理部08103がパラメータに応じて変化する制限領域を特定する情報を取得することで、仮想カメラ操作UI330はパラメータの変化に応じた範囲でユーザによる視点の指定がなされるよう制御できる。なお、パラメータの内容は上記のものに限定されない。また、本実施形態において上記のデータ量が制御される画像データは複数のカメラ112による複数の撮影画像の差分に基づいて生成されるデータであるものとするが、これに限らず、例えば撮影画像そのものでもよい。
また例えば、制限領域は、画像処理システム100に含まれる装置の動作状態に応じて変化する。ここで画像処理システム100に含まれる装置には、例えばカメラ112及びカメラ112による撮影画像に対する画像処理を行って画像データを生成するカメラアダプタ120の少なくとも何れかが含まれる。そして装置の動作状態には、例えば当該装置の正常状態、故障状態、起動準備状態、及び再起動状態の少なくとも何れかが含まれる。例えば、何れかのカメラ112が故障状態や再起動状態にある場合、そのカメラの周辺位置に視点を指定することができなくなる場合が考えられる。このような場合に、仮想カメラ制約管理部08103が装置の動作状態に応じて変化する制限領域を特定する情報を取得することで、仮想カメラ操作UI330は装置の動作状態の変化に応じた範囲でユーザによる視点の指定がなされるよう制御できる。なお、制限領域の変化に関係する装置及びその動作状態は上記のものに限定されない。
衝突判定部08104は、仮想カメラパラメータ導出部08102で導出された仮想カメラパラメータが仮想カメラ制約を満たしているかを判定する。制約を満たしていない場合は、例えば、オペレータによる操作入力をキャンセルし、制約を満たす位置から仮想カメラ08001が動かないよう制御したり、制約を満たす位置に仮想カメラ08001を戻したりする。
フィードバック出力部08105は、衝突判定部08104の判定結果をオペレータにフィードバックする。例えば、オペレータの操作により、仮想カメラ制約が満たされなくなる場合に、そのことをオペレータに通知する。例えば、オペレータが仮想カメラ08001を上方に移動しようと操作したが、移動先が仮想カメラ制約を満たさないとする。その場合、オペレータに、これ以上上方に仮想カメラ08001を移動できないことを通知する。通知方法としては、音、メッセージ出力、画面の色変化、及び仮想カメラ操作部08101をロックする等の方法がある。さらには、制約を満たす位置まで仮想カメラの位置を自動で戻してもよく、これによりオペレータの操作簡便性につながる効果がある。フィードバックが画像表示により行われる場合、フィードバック出力部08105は、仮想カメラ制約管理部08103が取得した情報に基づいて、制限領域に応じた表示制御に基づく画像を表示部に表示させる。例えば、フィードバック出力部08105は、仮想カメラ操作部08101により受け付けられた指示に応じて、当該指示に対応する視点が制限領域内であることを表す画像を表示部に表示させる。これにより、オペレータは指定している視点が制限領域内であって所望の仮想視点画像を生成できない虞があることを認識でき、制限領域外の位置(制約を満たす位置)に視点を指定し直すことができる。即ち、仮想視点画像の生成において、状況に応じて変化する範囲内で視点を指定できるようになる。なお、制限領域に応じた表示制御を行う制御装置として仮想カメラ操作UI330が表示部に表示させる内容はこれに限定されない。例えば、視点の指定の対象となる領域(スタジアムの内部など)のうち制限領域に当たる部分を所定の色で塗りつぶした画像が表示されてもよい。本実施形態では表示部が仮想カメラ操作UI330と接続される外部のディスプレイであるものとするが、これに限らず、表示部が仮想カメラ操作UI330の内部に存在してもよい。
仮想カメラパス管理部08106は、オペレータの操作に応じた仮想カメラ08001のパス(仮想カメラパス08002)を管理する。仮想カメラパス08002とは、仮想カメラ08001の1フレームごと位置や姿勢を表す情報の列である。図37(b)を参照して説明する。例えば、仮想カメラ08001の位置や姿勢を表す情報として仮想カメラパラメータが用いられる。例えば、60フレーム/秒のフレームレートの設定における1秒分の情報は、60個の仮想カメラパラメータの列となる。仮想カメラパス管理部08106は、衝突判定部08104で判定済みの仮想カメラパラメータを、バックエンドサーバ270に送信する。バックエンドサーバ270は、受信した仮想カメラパラメータを用いて、仮想視点画像及び仮想視点音声を生成する。また、仮想カメラパス管理部08106は、仮想カメラパラメータを仮想カメラパス08002に付加して保持する機能も有する。例えば、仮想カメラ操作UI330を用いて、1時間分の仮想視点画像及び仮想視点音声を生成した場合、1時間分の仮想カメラパラメータが仮想カメラパス08002として保存される。本仮想カメラパスを保存しておくことによって、データベースの二次ストレージ02460に蓄積された画像情報と仮想カメラパスを後から参照することで、仮想視点画像及び仮想視点音声を再度生成することが可能になる。つまり、高度な仮想カメラ操作を行うオペレータが生成した仮想カメラパスと二次ストレージ02460に蓄積された画像情報を他のユーザが再利用できる。なお、複数の仮想カメラパスに対応する複数のシーンを選択可能となるように仮想カメラ管理部08130に蓄積することもできる。複数の仮想カメラパスを仮想カメラ管理部08130に蓄積する際には、各仮想カメラパスに対応するシーンのスクリプトや試合の経過時間、シーンの前後指定時間、及びプレーヤ情報等のメタ情報もあわせて入力及び蓄積することができる。仮想カメラ操作UI330は、これらの仮想カメラパスを仮想カメラパラメータとして、バックエンドサーバ270に通知する。
エンドユーザ端末190は、バックエンドサーバ270に仮想カメラパスを選択するための選択情報を要求することで、シーン名やプレーヤ、及び試合経過時間などから、仮想カメラパスを選択できる。バックエンドサーバ270はエンドユーザ端末190に選択可能な仮想カメラパスの候補を通知し、エンドユーザはエンドユーザ端末190を操作して、複数の候補の中から希望の仮想カメラパスを選択する。そして、エンドユーザ端末190は選択された仮想カメラパスに応じた画像生成をバックエンドサーバ270に要求することで、画像配信サービスをインタラクティブに享受することができる。
オーサリング部08107は、オペレータがリプレイ画像を生成する際の編集機能を提供する。オーサリング部08107は、ユーザ操作に応じて、リプレイ画像用の仮想カメラパス08002の初期値として、仮想カメラパス管理部08106が保持する仮想カメラパス08002の一部を取り出す。前述したように、仮想カメラパス管理部08106には、仮想カメラパス08002と対応付けてシーン名、プレーヤ、経過時間、及びシーンの前後指定時間などのメタ情報が保持されている。例えば、シーン名がゴールシーン、シーンの前後指定時間が前後合わせて10秒分である仮想カメラパス08002が取り出される。また、オーサリング部08107は、編集したカメラパスに再生速度を設定する。例えば、ボールがゴールに飛んで行く間の仮想カメラパス08002にスロー再生を設定する。なお、異なる視点からの画像に変更する場合、つまり仮想カメラパス08002を変更する場合は、ユーザは仮想カメラ操作部08101を用いて再度、仮想カメラ08001を操作する。
仮想カメラ画像・音声出力部08108は、バックエンドサーバ270から受け取った仮想カメラ画像・音声を出力する。オペレータは出力された画像及び音声を確認しながら仮想カメラ08001を操作する。なお、フィードバック出力部08105によるフィードバックの内容によっては、仮想カメラ画像・音声出力部08108は、制限領域に応じた表示制御に基づく画像を表示部に表示させる。例えば、仮想カメラ画像・音声出力部08108は、オペレータが指定した視点の位置が制限領域に含まれる場合に、指定された位置の近辺であり且つ制限領域外である位置を視点とした仮想視点画像を表示させてもよい。これにより、オペレータが制限領域外に視点を指定し直す手間が削減される。
仮想カメラ制御AI部08109は、仮想視点画像評価部081091と、推奨操作推定部081092とを有する。仮想視点画像評価部081091は、仮想カメラ画像・音声出力部08108より出力された仮想視点画像に対する評価情報をユーザデータサーバ400から得る。ここで評価情報とは、仮想視点画像に対するエンドユーザの主観評価を表すもので、たとえば5点満点の総合的好感度による0〜5の整数スコアである。または迫力、スピード感など複数の基準に基づく多次元の評価値であってもよい。評価情報は、1または複数のエンドユーザがエンドユーザ端末190に配置されたボタン等のユーザインタフェースで直接入力した値を、ユーザデータベース410で集計した値であってもよい。あるいはこの集計は、デジタル放送の双方向通信機能などを利用して、リアルタイムにエンドユーザからの評価が集計されるものであってもよい。あるいは、放送事業者が選択した仮想視点画像の放映回数や、紙媒体での出版回数など、短時間から長時間にわたって更新されるものであってもよい。
さらに、仮想視点画像を視聴した視聴者が、インターネット上のウェブ媒体やソーシャルメディアなどに書き込んだ感想の量や表現内容を、解析サーバ420が評価スコアとして定量化した値であってもよい。仮想視点画像評価部081091は、前記仮想視点画像から得られる特徴と、前記ユーザデータベースサーバ400から得られる評価情報との関係を学習し、任意の仮想視点画像に対して定量的な評価値を算出する機械学習装置として構成されてもよい。推奨操作推定部081092は、仮想カメラ操作部08101に入力されるカメラ操作情報と、その結果出力される仮想視点画像との関係を学習する機械学習装置として構成されてもよい。この学習結果を用いて、仮想視点画像評価部081091が高評価とした仮想視点画像を出力するためにオペレータがすべき操作を得る。この操作を推奨操作としてフィードバック出力部08105により補助情報としてオペレータに提供する。
次に、視聴者(ユーザ)が使用するエンドユーザ端末190について説明する。図9は、エンドユーザ端末190の構成図である。サービスアプリケーションが動作するエンドユーザ端末190は、例えばPC(Personal Computer)である。なお、エンドユーザ端末190は、PCに限らず、スマートフォンやタブレット端末、高精細な大型ディスプレイでもよいものとする。エンドユーザ端末190は、インターネット回線9001を介して、画像を配信するバックエンドサーバ270と接続されている。例えば、エンドユーザ端末190(PC)は、LAN(Local Area Network)ケーブルや、無線LANを介してルータおよびインターネット回線9001に接続されている。
また、エンドユーザ端末190には、視聴者がスポーツ放送画像等の仮想視点画像を視聴するためのディスプレイ9003と、視聴者による視点変更などの操作を受け付けるユーザ入力機器9002とが、接続されている。例えば、ディスプレイ9003は液晶ディスプレイであり、PCとDisplay Portケーブルを介して接続されている。ユーザ入力機器9002はマウスやキーボードであり、PCとUSB(Universal Serial Bus)ケーブルを介して接続されている。
エンドユーザ端末190の内部機能について説明する。図10は、エンドユーザ端末190の機能ブロック図である。アプリケーション管理部10001は、後述する基本ソフト部10002から入力されたユーザ入力情報を、バックエンドサーバ270のバックエンドサーバコマンドに変換して、基本ソフト部10002へ出力する。また、アプリケーション管理部10001は、基本ソフト部10002から入力された画像を、所定の表示領域に描画するための画像描画指示を、基本ソフト部10002へ出力する。
基本ソフト部10002は、例えばOS(Operating System)であり、後述するユーザ入力部10004から入力されたユーザ入力情報を、アプリケーション管理部10001へ出力する。また、後述するネットワーク通信部10003から入力された画像や音声をアプリケーション管理部10001へ出力したり、アプリケーション管理部10001から入力されたバックエンドサーバコマンドをネットワーク通信部10003へ出力したりする。さらに、アプリケーション管理部10001から入力された画像描画指示を、画像出力部10005へ出力する。
ネットワーク通信部10003は、基本ソフト部10002から入力されたバックエンドサーバコマンドを、LANケーブル上で通信可能なLAN通信信号に変換して、バックエンドサーバ270へ出力する。そして、バックエンドサーバ270から受信した画像や音声データが加工可能となるように、基本ソフト部10002へデータを渡す。ユーザ入力部10004は、キーボード入力(物理キーボード又はソフトキーボード)やボタン入力に基づくユーザ入力情報や、ユーザ入力機器からUSBケーブルを介して入力されたユーザ入力情報を取得し、基本ソフト部10002へ出力する。
画像出力部10005は、基本ソフト部10002から出力された画像表示指示に基づく画像を画像信号に変換して、外部ディスプレイや一体型のディスプレイなどに出力する。音声出力部10006は、基本ソフト部10002から出力された音声出力指示に基づく音声データを外部スピーカあるいは一体型スピーカに出力する。
端末属性管理部10007は、端末の表示解像度、画像符号化コーデック種別、及び端末種別(スマートフォンなのか、大型ディスプレイなのかなど)を管理する。サービス属性管理部10008は、エンドユーザ端末190に提供するサービス種別に関する情報を管理する。例えば、エンドユーザ端末190に搭載されるアプリケーションの種別や利用可能な画像配信サービスなどが管理される。課金管理部10009では、ユーザの画像配信サービスへの登録決済状況や課金金額に応じた、受信可能な画像配信シーン数の管理などが行われる。
次に本実施の形態におけるワークフローについて説明する。競技場やコンサートホールなどの施設に複数のカメラ112やマイク111を設置し撮影を行う場合のワークフローについて説明する。図11はワークフローの全体像を記したフローチャートである。なお、以下で説明するワークフローの処理は、特に明示の記述がない場合、コントローラ300の制御により実現される。すなわち、コントローラ300が、画像処理システム100内の他の装置(例えばバックエンドサーバ270やデータベース250等)を制御することにより、ワークフローの制御が実現される。
図11の処理開始前において、画像処理システム100の設置や操作を行う操作者(ユーザ)は設置前に必要な情報(事前情報)を収集し計画の立案を行う。また、操作者は、図11の処理開始前において、対象となる施設に機材を設置しているものとする。S1100において、コントローラ300の制御ステーション310は、ユーザから事前情報に基づく設定を受け付ける。次に、ステップS1101において画像処理システム100の各装置は、ユーザからの操作に基づいてコントローラ300から発行されたコマンドに従って、システムの動作確認のための処理を実行する。次に、ステップS1102において、仮想カメラ操作UI330は、競技等のための撮影開始前に画像や音声を出力する。これにより、ユーザは、競技等の前に、マイク111により集音された音声やカメラ112により撮影された画像を確認できる。
そして、S1103において、コントローラ300の制御ステーション310は、各マイク111に集音を実施させ、各カメラ112に撮影を実施させる。本ステップにおける撮影はマイク111を用いた集音を含むものとするがこれに限らず、画像の撮影だけであってもよい。S1103の詳細は図12及び図13を用いて後述する。そして、ステップS1101で行った設定を変更する場合、または撮影を終了する場合はステップS1104に進む。つぎに、S1104において、S1101で行われた設定を変更して撮影を継続する場合はS1105に進み、撮影を完了する場合はS1106に進む。S1104における判定は、典型的には、ユーザからコントローラ300への入力に基づいて行われる。ただしこの例に限らない。S1105において、コントローラ300は、S1101で行われた設定を変更する。変更内容は、典型的には、S1104にて取得されたユーザ入力に基づいて決定される。本ステップにおける設定の変更において撮影を停止する必要がある場合は、一度撮影を停止し、設定を変更した後に撮影を再開する。また、撮影を停止する必要がない場合は、撮影と並行して設定の変更を実施する。
S1106において、コントローラ300は、複数のカメラ112により撮影された画像及び複数のマイク111により集音された音声の編集を実施する。当該編集は、典型的には、仮想カメラ操作UI330を介して入力されたユーザ操作に基づいて行われる。
なお、S1106とS1103の処理は並行して行われるようにしても良い。例えば、スポーツ競技やコンサートなどがリアルタイムに配信される(例えば競技中に競技の画像が配信される)場合は、S1103の撮影とS1106の編集が同時に実施される。また、スポーツ競技におけるハイライト画像が競技後に配信される場合は、S1104において撮影を終了した後に編集が実施される。
次に、前述したS1103(撮影時処理)の詳細を図12及び図13を用いて説明する。
S1103では、制御ステーション310においてシステムの制御及び確認動作が行われ、且つ、仮想カメラ操作UI330において画像及び音声を生成する動作が行われる。
図12ではシステムの制御及び確認動作を説明し、図13では画像及び音声を生成する動作を説明する。最初に図15を用いて説明する。前述した制御ステーション310で行われるシステムの制御及び確認動作では、画像と音声の制御及び確認動作が独立且つ同時に実施される。
先ず、画像に関する動作を説明する。S1500において、仮想カメラ操作UI330は、バックエンドサーバ270が生成した仮想視点画像を表示する。つぎに、S1501において、仮想カメラ操作UI330は、S1500で表示された画像のユーザによる確認結果に関する入力を受け付ける。そして、S1502において、撮影を終了すると判定された場合はS1508に進み、撮影を継続すると判定された場合はS1500に戻る。つまり、撮影を続ける間、S1500とS1501が繰り返される。なお、撮影を終了するか継続するかについては、例えばユーザ入力に応じて制御ステーション310が判定できる。
次に、音声に関する動作を説明する。S1503において、仮想カメラ操作UI330は、マイク111の選択結果に関するユーザ操作を受け付ける。なお、マイク111が所定の順序で1つずつ選択される場合には、ユーザ操作は必ずしも必要ない。S1504において、仮想カメラ操作UI330は、S1503で選択されたマイク111の音声を再生する。S1505において、仮想カメラ操作UI330は、S1504で再生された音声のノイズ有無を確認する。S1505におけるノイズ有無の判定は、コントローラ300の操作者(ユーザ)が行っても良いし、音声解析処理によって自動で判定されるようにしても良いし、その両方が実行されるようにしても良い。ユーザがノイズ有無を判定する場合は、S1505において、仮想カメラ操作UI330は、ユーザによるノイズ判定結果に関する入力を受け付ける。S1505でノイズが確認された場合には、S1506において、仮想カメラ操作UI330は、マイクゲインの調整を実施する。S1506におけるマイクゲインの調整は、ユーザ操作に基づいて行われるようにしても良いし、自動調整が行われるようにしても良い。
なお、ユーザ操作に基づいてマイクゲインの調整が行われる場合には、S1506において、仮想カメラ操作UI330は、マイクゲインの調整に関するユーザ入力を受け付け、当該ユーザ入力に基づいてマイクゲインの調整を実施する。なお、ノイズの状態に依っては選択したマイク111の停止を行っても良い。S1507において、集音を終了すると判定された場合はS1508に進み、集音を継続すると判定された場合はS1503に戻る。つまり、集音を続ける間、S1503、S1504、S1505、及びS1506の動作が繰り返される。集音を終了するか継続するかについては、例えば、ユーザ入力に応じて制御ステーション310が判定できる。なお、集音を終了するか継続するかについては、例えば、ユーザ入力に応じて制御ステーション310が判定できる。
S1508において、システムを終了すると判定された場合はS1509に進み、システムを継続すると判定された場合はS1500及びS1503に進む。S1508の判定は、ユーザ操作に基づいて行われ得る。S1509において、画像処理システム100で取得されたログが制御ステーション310へ集められる。
次に、図13を用いて画像及び音声を生成する動作を説明する。前述した仮想カメラ操作UI330で行われる画像及び音声を生成する動作では、画像と音声が独立且つ並行して生成される。
先ず、画像に関する動作を説明する。S1600において、仮想カメラ操作UI330は、バックエンドサーバ270に対して仮想視点画像の生成のための指示を発行する。そしてS1600において、バックエンドサーバ270は、仮想カメラ操作UI330からの指示に従って仮想視点画像を生成する。S1601において、画像生成を終了すると判定された場合はS1604に進み、画像生成を継続すると判定された場合はS1600に戻る。S1601の判定は、ユーザ操作に応じて実行されうる。
次に、音声に関する動作を説明する。S1602において、仮想カメラ操作UI330は、バックエンドサーバ270に対して仮想視点音声の生成のための指示を発行する。そしてS1602において、バックエンドサーバ270は、仮想カメラ操作UI330からの指示に従って仮想視点音声を生成する。S1603において、音声生成を終了すると判定された場合はS1604に進み、音声生成を継続すると判定された場合はS1602に戻る。なお、S1603の判定は、S1601の判定と連動して行われるようにしても良い。
次に、カメラアダプタ120における逐次三次元モデル情報生成における、前景画像及び背景画像を生成し次のカメラアダプタ120へ転送する処理のフローついて、図14を使用して説明する。
カメラアダプタ120は、自身に接続されているカメラ112から撮影画像を取得する(06501)。
次に、取得した撮影画像を前景画像及び背景画像に分離する処理を実施する(06502)。なお、本実施形態における前景画像は、カメラ112から取得した撮影画像に対する所定オブジェクトの検出結果に基づいて決定される画像である。所定オブジェクトとは、例えば人物である。ただし、オブジェクトが特定人物(選手、監督、及び/又は審判など)であっても良いし、ボールやゴールなど、画像パターンが予め定められている物体であっても良い。また、オブジェクトとして、動体が検出されるようにしても良い。
次に、分離した前景画像及び背景画像の圧縮処理を行う。前景画像に対してはロスレス圧縮が行われ、前景画像は高画質を維持する。背景画像に対してはロスあり圧縮が行われ、伝送データ量が削減される(06503)。
次にカメラアダプタ120は、圧縮した前景画像と背景画像を次のカメラアダプタ120へ転送する(06504)。なお背景画像に関しては毎フレーム転送するのではなく転送フレームを間引いて転送してもよい。例えば、撮影画像が60fpsである場合に、前景画像は毎フレーム伝送されるが、背景画像は1秒間の60フレーム中1フレームのみが伝送される。これにより伝送データ量の削減を行う事ができる特有の効果がある。
またカメラアダプタ120は、次のカメラアダプタ120へ前景画像及び背景画像を転送する際に、メタ情報を付与してもよい。例えば、カメラアダプタ120またはカメラ112の識別子や、フレーム内の前景画像の位置(xy座標)や、データサイズ、フレーム番号、及び撮影時刻などがメタ情報として付与される。また注視点を識別するための注視点グループ情報や、前景画像及び背景画像を識別するデータ種別情報などが付与されてもよい。但し付与されるデータの内容はこれらに限定される訳ではなく、他のデータが付与してもよい。
なお、カメラアダプタ120がデイジーチェーンを通じてデータを伝送する際に、自身に接続されたカメラ112と相関の高いカメラ112の撮影画像のみを選択的に処理することで、カメラアダプタ120における伝送処理負荷を軽減することができる。また、デイジーチェーン伝送において、何れかのカメラアダプタ120において故障が発生してもカメラアダプタ120間のデータ伝送が停止しないようにシステムを構成することで、ロバスト性を確保できる。
次に、注視点グループに応じた制御について説明する。図15は、注視点グループを説明する図である。各カメラ112は光軸が特定の注視点06302を向くように設置される。同じ注視点グループ06301に分類されるカメラ112は、同じ注視点06302を向くように設置される。
図15では、注視点A(06302A)と注視点B(06302B)の2つの注視点06302が設定され、9台のカメラ(112a―112i)が設置された場合の例である。4台のカメラ(112a、112c、112e及び112g)は、同じ注視点A(06302A)を向いており、注視点グループA(06301A)に属する。また、残りの5台のカメラ(112b、112d、112f、112h及び112i)は、同じ注視点B(06302B)を向いており、注視点グループB(06301B)に属する。
ここでは、同じ注視点グループ06301に属するカメラ112の中で最も近い(接続ホップ数が小さい)カメラ112の組を論理的に隣接していると表現する。例えば、カメラ112aとカメラ112bは、物理的には隣接しているが、異なる注視点グループ06301に属するため論理的には隣接していない。カメラ112aと論理的に隣接しているのは、カメラ112cである。一方、カメラ112hとカメラ112iは、物理的に隣接しているだけでなく、論理的にも隣接している。物理的に隣接するカメラ112が論理的にも隣接しているか否かにより、カメラアダプタ120で異なる処理が行われる。
次に図16のフローチャートに従って、撮影時ワークフローのS1500及びS1600におけるフロントエンドサーバ230の動作について説明する。
制御部02110は、制御ステーション310から撮影モードに切り替える指示を受信し、撮影モードに切り替える(S02300)。撮影が開始されると、データ入力制御部02120はカメラアダプタ120からの撮影データの受信を開始する(S02310)。
撮影データは、データ同期部02130によってファイル作成に必要な撮影データが全て揃うまでバッファされる(S02320)。フローチャート上は明記していないが、ここでは撮影データに付与されている時間情報が一致するかどうかや、所定台数のカメラが充足しているかどうかが判定される。またカメラ112の状態によっては、キャリブレーション中やエラー処理中であることによって画像データが送られない場合がある。この場合は、所定のカメラ番号の画像が抜けていることが後段のデータベース250転送(S2370)の中で通知される。ここで、所定カメラ台数の充足を判定するために、撮影データの到着を所定時間待つ方法がある。しかし本実施形他では、システム一連の処理の遅延を抑制するために、各カメラアダプタ120がデイジーチェーンによってデータを伝送する際に、各カメラ番号に対応する画像データの有無を示す情報を付与する。これにより、フロントエンドサーバ230の制御部02110において即時判断が可能となる。これによって、撮影データの到着待ち時間を設定する必要がなくなる効果が得られることをここに明記しておく。
データ同期部02130によってファイル作成に必要なデータがバッファリングされた後、RAW画像データの現像処理やレンズ歪み補正、前景画像及び背景画像の各カメラで撮影された画像間の色や輝度値を合わせるなどの各種変換処理が行われる。(S02330)
データ同期部02130によってバッファリングされたデータが背景画像を含む場合は背景画像の結合処理(S02340)が行われ、背景画像を含まない場合は三次元モデルの結合処理(S02350)が行われる(S02335)。
S02330に於いて画像処理部02150が処理した背景画像を画像結合部02170が取得する。そして、S02230でCADデータ記憶部02135が保存したスタジアム形状データの座標に合わせて背景画像をつなぎ合わせて、結合した背景画像を撮影データファイル生成部に送る(S02340)。データ同期部02130から三次元モデルを取得した三次元モデル結合部02160は三次元モデルデータとカメラパラメータを使って前景画像の三次元モデルを生成する(S02350)。
S02350までの処理によって作成された撮影データを受け取った撮影データファイル生成部02180は、撮影データをファイル形式に応じて成形してからパッキングする。その後、DBアクセス制御部02190に作成したファイルを送る(S02360)。DBアクセス制御部02190は、S02360で撮影データファイル生成部02180から受け取った撮影データファイルを、データベース250に送信する(S02370)。
次に、カメラアダプタ120の画像処理部06130の処理について、図18の各フローチャートを用いて説明する。
図18(a)の処理に先だち、キャリブレーション制御部06133は入力された画像に対して、カメラ毎の色のばらつきを抑えるための色補正処理やカメラの振動に起因する画像のブレを低減させて画像を安定させるブレ補正処理(電子防振処理)などを行う。色補正処理では、フロントエンドサーバ230から受信したパラメータに基づいて、入力画像の画素値にオフセット値を加算するなどの処理が行われる。またブレ補正処理では、カメラに内蔵された加速度センサあるいはジャイロセンサなどのセンサからの出力データに基づき画像のブレ量が推定される。そして推定されたブレ量に基づいて入力画像に対する画像位置のシフトや画像の回転処理が行われることで、フレーム画像間のブレが抑制される。なおブレ補正の手法としてはその他の方法を用いてもよい。例えば、時間的に連続した複数のフレーム画像を比較することで画像の移動量を推定し補正するような画像処理による方法や、レンズシフト方式及びセンサシフト方式などのカメラの内部で実現する方法等でもよい。
背景更新部05003は、入力画像と、メモリに保存されている背景画像とを用いて、背景画像05002を更新する処理を行う。背景画像の一例を図17(a)に示す。更新処理は各画素に対して行われる。その処理フローを図18(a)に示す。
まず背景更新部05003は、S05001で、入力画像の各画素に対して、背景画像内の対応する位置にある画素との差分を導出する。つぎに、S05002で、差分が定められた閾値Kより小さいかどうか判定する。差分がKより小さい場合にはその画素は背景であるという判断がされる(S5002のYES)。つぎに背景更新部05003は、S05003で、入力画像の画素値と背景画像の画素値とを一定の比率で混合した値を導出する。そしてS05004で、背景画像内の画素値を導出した値で更新する。
一方、背景画像である図17(a)に対して人物が映っている例を図17(b)に示す。このような場合には、人物が位置している画素に着目すると、背景に対して画素値の差分が大きくなり、S05002において差分がK以上となる。その場合には画素値の変化が大きいので背景以外の何らかのオブジェクトが映っているという判断がされて、背景画像05002の更新は行われない(S05002のNO)。なお背景更新処理については他にも様々な手法が考えられる。
次に背景切出部05004は、背景画像05002からその一部を読み出し、伝送部06120へ送信する。スタジアム等でサッカーなどの競技を撮影する際に、フィールド全体を死角なく撮影できるようカメラ112を複数配置した場合、カメラ112間で背景情報の大部分が重複するという特徴がある。背景情報は膨大なため、伝送帯域制約の面から重複した部分は削除して伝送することで伝送量を削減することができる。その処理の流れを図18(d)に示す。S05010で、背景切出部05004は、例えば図17(c)に示した点線で囲まれた部分領域3401のように、背景画像の中央部分を設定する。つまり、本部分領域3401は自カメラ112が伝送を担当する背景領域であり、それ以外の背景領域は、他のカメラ112によって伝送を担当される。S05011で背景切出部05004は、設定された背景画像の部分領域3401を読み出す。そしてS05012で伝送部06120へ出力する。出力された背景画像は画像コンピューティングサーバ200に集められ、背景モデルのテクスチャとして利用される。各カメラアダプタ120において背景画像05002を切出す位置は、背景モデルに対するテクスチャ情報が不足しないように、予め決められたパラメータ値に応じて設定されている。通常は伝送データ量をより少なくするため、切出す領域は必要最小限となるように設定される。これにより、膨大な背景情報の伝送量を削減できるという効果があり、高解像度化にも対応できるシステムにすることができる。
次に前景分離部05001では、前景領域(人物などのオブジェクト)を検出する処理が行われる。画素毎に実行される前景領域検出処理の流れを図18(b)に示す。前景の検出については、背景差分情報を用いる方法が用いられる。まずS05005で、前景分離部05001は、新たに入力された画像の各画素と、背景画像05002内の対応する位置にある画素との差分を導出する。そしてS05006で差分が閾値Lより大きいかどうか判定する。ここで、図18(a)に示した背景画像05002に対して、新たに入力された画像が例えば図17(b)のようになっているものとすると、人物が映っている領域の各画素においては差分が大きくなる。差分が閾値Lより大きい場合にはS05007で、その画素が前景として設定される。なお背景差分情報を用いる前景の検出方法においては、前景をより高精度に検出するための様々な工夫が考えられている。また前景検出についてはその他にも、特徴量や機械学習を用いる手法などさまざまな手法がある。
前景分離部05001は、以上図18(b)で説明した処理を入力された画像の画素毎に実行した後、前景領域をブロックとして決定して出力する処理を行う。処理の流れを図18(c)に示す。S05008においては、前景領域を検出した画像に対して、複数の画素が連結した前景領域を1つの前景画像として設定する。画素が連結した領域を検出する処理としては例えば領域成長法を用いる。領域成長法は公知のアルゴリズムであるため詳細な説明は省く。S05008で前景領域がそれぞれ前景画像としてまとめられた後、S05009で順次各前景画像が読み出されて伝送部06120へ出力される。
次に三次元モデル情報生成部06132では、前景画像を用いて三次元モデル情報の生成を行う。カメラアダプタが隣のカメラからの前景画像を受信すると、伝送部06120を介して他カメラ前景受信部05006にその前景画像が入力される。前景画像が入力されたときに三次元モデル処理部05005が実行する処理の流れを図18(e)に示す。ここで、画像コンピューティングサーバ200がカメラ112の撮影画像データが集め、画像処理を開始し仮想視点画像を生成する場合に、計算量が多く画像生成に係る時間が長くなる場合が考えられる。とくに三次元モデル生成における計算量が顕著に大きくなる虞がある。そこで図18(e)では、画像コンピューティングサーバ200における処理量を低減するために、カメラアダプタ120間をデイジーチェーンつないでデータを伝送する中で逐次三次元モデル情報を生成する方法について説明する。
まずS05013で三次元モデル情報生成部06132は、他のカメラ112により撮影された前景画像を受信する。つぎに三次元モデル情報生成部06132は、05014では、受信した前景画像を撮影したカメラ112が自カメラ112と同一注視点のグループに属し、且つ、隣接カメラであるかどうかを確認する。S05014がYESの場合はS05015に進む。NOの場合は、当該他カメラ112の前景画像との相関がないと判断し、処理を行わず終了する。また、S05014において、隣接カメラであるかどうかの確認が行われているが、カメラ112間の相関の判断方法はこれに限らない。例えば、三次元モデル情報生成部06132が事前に相関のあるカメラ112のカメラ番号を入手及び設定し、そのカメラ112の画像データが伝送された場合のみ画像データを取り込んで処理する方法でも、同様の効果が得られる。
次にS05015では、三次元モデル情報生成部06132は、前景画像のデプス情報の導出を行う。具体的には、まず前景分離部05001から受信した前景画像と他のカメラ112の前景画像との対応付けを行い、次に対応付けされた各画素の座標値とカメラパラメータに基づいて、各前景画像上の各画素のデプス情報を導出する。ここで画像の対応付けの手法としては例えばブロックマッチング法が用いられる。ブロックマッチング法は良く知られた方法であるので詳細な説明は省く。また対応付けの方法としてはその他にも、特徴点検出、特徴量算出、及びマッチング処理などを組み合わせて性能を向上させるようなさまざまな手法があり、どの手法を用いてもよい。
次にS05016で、三次元モデル情報生成部06132は、前景画像の三次元モデル情報を導出する。具体的には、前景画像の各画素について、S05015で導出したデプス情報とカメラパラメータ受信部05007に格納されたカメラパラメータに基づいて画素の世界座標値を導出する。そして世界座標値と画素値をセットとして、点群として構成される三次元モデルの1つの点データを設定する。以上の処理により、前景分離部05001から受信した前景画像から得られた三次元モデルの一部の点群情報と、他のカメラ112の前景画像から得られた三次元モデルの一部の点群情報とが得られる。そしてS05017で、三次元モデル情報生成部06132は、得られた三次元モデル情報にカメラ番号およびフレーム番号をメタ情報として付加し(メタ情報は例えば、タイムコードや絶対時刻でもよい。)伝送部06120へ出力する。
これにより、カメラアダプタ120間がデイジーチェーンで接続され且つ複数の注視点が設定される場合でも、デイジーチェーンによってデータを伝送しながら、カメラ112間の相関に応じて画像処理を行い、三次元モデル情報を逐次生成することができる。その結果、処理が高速化される効果がある。
なお本実施形態では、以上に説明した各処理はカメラアダプタ120に実装されたFPGAまたはASICなどのハードウェアによって実行されるが、例えばCPU、GPU、DSPなどを用いてソフトウェア処理によって実行してもよい。また本実施形態ではカメラアダプタ120内で三次元モデル情報生成を実行したが、各カメラ112からの全ての前景画像が集められる画像コンピューティングサーバ200が三次元モデル情報の生成を行ってもよい。
次に、データベース250に蓄積されたデータに基づいてバックエンドサーバ270が、ライブ画像生成及びリプレイ画像生成を行い、生成された画像をエンドユーザ端末190に表示させる処理について説明する。なお、本実施形態のバックエンドサーバ270は、ライブ画像及びリプレイ画像として、仮想視点コンテンツを生成する。本実施形態において、仮想視点コンテンツとは、複数のカメラ112による撮影画像を複数視点画像として用いて生成されるコンテンツである。すなわち、バックエンドサーバ270は、例えば、ユーザ操作に基づいて指定された視点情報に基づいて、仮想視点コンテンツを生成する。また、本実施形態では仮想視点コンテンツに音声データ(オーディオデータ)が含まれる場合の例を中心に説明しているが、必ずしも音声データが含まれていなくても良い。
ユーザが仮想カメラ操作UI330を操作して視点を指定した場合に、指定された視点位置(仮想カメラの位置)に対応する画像を生成するためのカメラ112による撮影画像がない、あるいは解像度が十分でない、あるいは画質が低い場合が考えられる。その際に、ユーザへの画像提供の条件を満たせないことが画像生成の段階まで判定できないと、オペレータの操作性が損なわれる虞がある。以下ではこの虞を低減する方法について説明する。
図19は、オペレータ(ユーザ)による入力装置への操作が行われてから仮想視点画像が表示されるまでの仮想カメラ操作UI330、バックエンドサーバ270及びデータベース250の処理フローを示す。まず、オペレータが仮想カメラを操作するために入力装置を操作する(S03300)。入力装置として例えば、ジョイスティック、ジョグダイヤル、タッチパネル、キーボード、及びマウスなどが用いられる。仮想カメラ操作UI330において、入力された仮想カメラの位置や姿勢を表す仮想カメラパラメータが導出される(S03301)。仮想カメラパラメータには、仮想カメラの位置と姿勢などを示す外部パラメータ、および仮想カメラのズーム倍率などを示す内部パラメータが含まれる。仮想カメラ操作UI330は、導出した仮想カメラパラメータをバックエンドサーバ270に送信する。
バックエンドサーバ270は、仮想カメラパラメータを受信するとデータベース250に対して前景三次元モデル群を要求する(S03303)。データベース250は、要求に応じて前景オブジェクトの位置情報を含む前景三次元モデル群をバックエンドサーバ270に送信する(S03304)。バックエンドサーバ270は、仮想カメラパラメータと前景三次元モデルに含まれる前景オブジェクトの位置情報に基づいて仮想カメラの視野に入る前景オブジェクト群を幾何学的に導出する(S03305)。バックエンドサーバ270は、導出した前景オブジェクト群の前景画像、前景三次元モデル、背景画像及び音声データ群をデータベース250に要求する(S03306)。
データベース250は、要求に応じてデータをバックエンドサーバ270に送信する(S03307)。バックエンドサーバ270は、受信した前景画像、前景三次元モデル及び背景画像から仮想視点の前景画像及び背景画像を生成し、それらを合成して仮想視点の全景画像を生成する。また、音声データ群に基づいて仮想カメラの位置に応じた音声データの合成を行い、仮想視点の全景画像と統合して仮想視点の画像及び音声を生成する(S03308)。バックエンドサーバ270は、生成した仮想視点の画像及び音声を仮想カメラ操作UI330に送信する(S03309)。仮想カメラ操作UI330は受信した画像を表示することで仮想カメラの撮影画像の表示を実現する。
図21(a)は、仮想カメラ操作UI330がライブ画像を生成する際の処理手順を説明するフローチャートである。S08201で、オペレータが仮想カメラ08001を操作するために入力装置に対して入力された操作情報を取得する。S08201の処理の詳細については、図22を用いて後述する。S08202で、仮想カメラ操作部08101が、オペレータの操作が仮想カメラ08001の移動や回転であるか否かを判定する。ここでの移動や回転は1フレームごとに行われる。移動や回転であると判定された場合はS08203へ進む。そうでないと判定された場合はS08205へ進む。ここで、移動操作及び回転操作と軌跡選択操作とで処理が分岐する。これにより、時間を停止させて視点位置を回転させる画像表現と連続的な動きを表現する画像表現とを簡便な操作で切り替えることが可能になる。
S08203で、図21(b)で説明する1フレーム分の処理を行う。S08204で、仮想カメラ操作UI330はオペレータが終了操作を入力したか否かを判定する。終了操作が入力された場合は処理を終了し、入力されなかった場合はS08201へ戻る。次にS08205で、仮想カメラ操作部08101は、オペレータによって軌跡(仮想カメラパス)の選択操作が入力されたか否かを判定する。例えば、軌跡は複数フレーム分の仮想カメラ08001の操作情報の列で表すことができる。軌跡の選択操作が入力されたと判定された場合はS08206へ進む。そうでないと判定された場合はS08201へ戻る。
S08206で、仮想カメラ操作UI330は、選択された軌跡から次のフレームの操作を取得する。S08207で、図21(b)で説明する1フレーム分の処理を行う。S08208で、選択された軌跡のすべてのフレームに対する処理が終了したか否かを判定する。終了した場合はS08204へ進む。終了していない場合はS08206へ戻る。
図21(b)は、S08203およびS08206における1フレーム分の処理を説明するフローチャートである。S08209で、仮想カメラパラメータ導出部08102が、位置や姿勢が変更された後の、仮想カメラパラメータを導出する。S08210で、衝突判定部08104が、衝突判定を行う。衝突した、つまり、仮想カメラ制約が満たされていない場合はS08214へ進む。衝突していない、つまり、仮想カメラ制約が満たされている場合はS08211へ進む。このように、仮想カメラ操作UI330において、衝突判定が行われる。そして判定結果に応じて、例えば操作部をロックする、あるいは色が異なるメッセージ表示をして警告する等の処理が行われる。これにより、オペレータに対するフィードバックの即時性を高めることができ、オペレータの操作性向上につながる。
S08211で、仮想カメラパス管理部08106が、仮想カメラパラメータをバックエンドサーバ270へ送信する。S08212で、仮想カメラ画像・音声出力部08108が、バックエンドサーバ270から受信した画像を出力する。S08214で、仮想カメラ制約を満たすように仮想カメラ08001の位置や姿勢が修正される。例えば、ユーザによる最新の操作入力がキャンセルされ、仮想カメラパラメータが1フレーム前の状態に戻される。これによりオペレータは、例えば軌跡入力が行われて衝突が発生した場合などに、最初から操作入力をやり直さずに、衝突が発生したところからインタラクティブに操作入力を補正でき、操作性が向上する。S08215で、フィードバック出力部08105が、仮想カメラ制約を満たさないことを、オペレータに通知する。通知は音、メッセージ、または仮想カメラ操作UI330をロックさせる等の方法により行うとするが、これに限定されない。
図24は、仮想カメラ操作UI330の操作に応じてリプレイ画像を生成する際の処理手順を説明するフローチャートである。S08301で、仮想カメラパス管理部08106が、ライブ画像の仮想カメラパス08002を取得する。S08302で、仮想カメラパス管理部08106は、ライブ画像の仮想カメラパス08002から、開始点と終了点を選択するためのオペレータの操作を受け付ける。例えば、ゴールシーン前後の10秒分の仮想カメラパス08002が選択されうる。ライブ画像が60フレーム/秒の場合は、10秒分の仮想カメラパス08002に、600個の仮想カメラパラメータが含まれる。このようにフレーム毎に仮想カメラパラメータ情報が紐づけられて管理される。
S08303で、選択された10秒分の仮想カメラパス08002が、リプレイ画像の仮想カメラパス08002の初期値として保存される。また、S08307からS08309の処理により、仮想カメラパス08002が編集された場合は、編集した結果が上書き保存される。S08304で、仮想カメラ操作UI330は、オペレータにより入力された操作が再生操作であるか否かを判定する。再生操作の場合はS08305へ進む。再生操作でない場合はS08307へ進む。
S08305で、オペレータ入力に応じて再生範囲を選択する。S08306で、選択された範囲の画像及び音声が再生される。具体的には、仮想カメラパス管理部08106が、選択された範囲の仮想カメラパス08002に含まれる仮想カメラパラメータを、バックエンドサーバ270へ順に送信する。そして仮想カメラ画像・音声出力部08108が、バックエンドサーバ270から受信した仮想視点画像及び仮想視点音声を出力する。
S08307で、仮想カメラ操作UI330は、オペレータにより入力された操作が編集操作であるか否かを判定する。編集の場合はS08308へ進む。編集でない場合はS08310へ進む。S08308で、仮想カメラ操作UI330は、編集範囲としてオペレータにより選択された範囲を特定する。S08309で、S08306と同様の処理により、選択された編集範囲の画像及び音声が再生される。ただし、その際に仮想カメラ操作部08101を用いて仮想カメラ08001が操作された場合、その結果を反映する。つまり、ライブ画像とは異なる視点の画像となるように、リプレイ画像を編集することが可能である。また、スロー再生や停止を行うようにリプレイ画像を編集してもよい。例えば、時間を停止し、視点を動かすという編集も可能である。S08310で、仮想カメラ操作UI330は、オペレータにより入力された操作が終了操作であるか否かを判定する。終了の場合はS08311へ進む。終了でない場合はS08304へ進む。S08311で、編集が終わった仮想カメラパス08002がバックエンドサーバ270へ送信される。
図22は、図21(a)のS08201における、オペレータによる操作入力処理の詳細を説明するフローチャートである。S08221で、仮想カメラ制御AI部08109の仮想視点画像評価部081091は、現時点で仮想カメラ画像・音声出力部08108より出力される仮想視点画像の特徴を取得する。この仮想視点画像の特徴には、仮想視点画像の生成に用いられた前景および背景画像から得られる画像的な特徴と、仮想カメラパラメータおよび3次元モデルから得られる幾何的な特徴が含まれる。画像的な特徴の例としては、公知の物体認識や顔認識、文字認識などによって得られる前景および背景内に含まれる被写体の種類や個人の識別情報がある。ここで、オペレータが仮想カメラ操作UI330による操作でライブ画像を生成している場合、後述する制御の精度を高めるためには、この特徴抽出の対象は現在の撮影画像から生成された仮想視点画像であることが望ましい。しかし、バックエンドサーバ270を経て得られる出力画像には遅延が含まれる場合もあるので、その場合は最も現在時刻に近いフレームより出力された仮想視点画像が最適となる。なお、仮想視点画像の特徴は、最近のフレームだけではなく過去の数フレームの出力から得られる特徴を含んでいてもよいし、ライブ画像として出力された最初からすべてのフレームの出力から得られる特徴を含んでいてもよい。また仮想視点画像からだけではなく、仮想視点画像の素材となった複数のカメラ112による実撮影画像より上述の手法で得た画像特徴を含んでいてもよい。
S08222で、仮想視点画像評価部081091は、S08221で取得した特徴を用いて、現在の仮想視点画像に関連する仮想カメラパスを検索して取得する。関連する仮想カメラパスとは、仮想カメラパス管理部08106に蓄積される既存の仮想カメラパスのうち、現在の出力画像に類似する構図の仮想視点画像を起点あるいは途中点に含む仮想カメラパスのことを指す。すなわち、現在より所定の仮想カメラ操作をおこなうことで、同様の構図の仮想視点画像を出力することが可能な既存の仮想カメラパスから取得される。また、類似する構図を含まなくとも、同一・同種の撮影対象を含むという条件で、前記特徴などを用いて検索された仮想視点画像を含む仮想カメラパスを取得してもよい。さらには、単に評価の高い仮想カメラパスや、撮影状況が同様となる仮想視点画像を含む仮想カメラパスを検索してもよい。撮影状況の例としては時刻や季節、気温環境、撮影対象の種類などがある。
S08223で、仮想視点画像評価部081091は、S08222で検索された仮想カメラパスに対する評価値を設定する。この評価は、同仮想カメラパスによって過去に出力された仮想視点画像に対するエンドユーザの評価をユーザデータサーバ400より獲得することによって行う。具体的には、例えば仮想カメラパスに含まれる仮想視点画像のそれぞれに対するエンドユーザの評価値を合計することで、カメラパスに対する評価値を設定すればよい。また評価値は1次元でも多次元でもよい。前述の通り、仮想視点画像評価部081091は、仮想視点画像から得られる特徴と、ユーザデータベースサーバ400から得られる評価情報との関係を学習する。仮想視点画像評価部081091は、任意の仮想視点画像に対して定量的な評価値を算出する機械学習装置として構成されてもよい。ライブ画像を生成している場合には、この学習がリアルタイムに行われるようにしてもよい。すなわち、オペレータがある時点までの操作で生成した仮想視点画像と、それらに対しリアルタイムに変化するエンドユーザ評価をただちに学習してもよい。その結果、同じ仮想視点画像に対する仮想視点画像評価部081091が算出する評価値が評価する時間によって変化することになる。
S08224で、仮想視点画像評価部081091は、S08223で設定された評価値が高評価の仮想カメラパスを選択する。選択された高評価の仮想カメラパスが1以上あれば、S08225に進む。すなわち、高評価の仮想カメラパスは1つでなく複数でもよい。高評価の仮想カメラパスがなければS08227へ進む。S08225で、仮想視点画像評価部081091は、S08224で選択された高評価の仮想カメラパスの中に、現在の仮想視点画像と特徴が一致あるいは略一致する仮想視点画像を含む、トレース可能パスが存在するか否かを調べる。トレース可能パスが存在する場合はS08226に進み、存在しない場合はS08227に進む。S08226で、仮想カメラ制御AI部08109は、S08225で存在するとされたトレース可能パスにおける仮想カメラ操作と同じ操作をオペレータへの推奨操作と決定する。すなわち、トレース可能パスにおいて、現在の仮想視点画像と一致する仮想視点画像からそれ以降のフレームの仮想視点画像へと遷移する際の仮想カメラ操作を推奨操作とする操作決定を行う。
S08227で、仮想カメラ制御AI部08109は、オペレータが前記S08226で決定された推奨操作を入力しやすくするための補助情報を、フィードバック出力部08105によりオペレータに提示する。提示方法は、表示部や音声による推奨操作を直接表現するほか、推奨操作によって生成される仮想視点画像の評価値や評価内容を表示することで、同操作を促すようにしてもよい。また、複数の推奨操作がある場合はその選択ができるようなインタフェースを提示してもよい。たとえば、複数の異なる操作によって今後生成される仮想視点画像としてエンドユーザの評価が高いものを複数表示し、その評価値や評価軸などの文字説明を重畳し、オペレータが所望する出力をわかりやすく選択できるようにしてもよい。そして、S08230に進む。
一方、S08225でトレース可能パスが存在しないとされた場合、S08228に進む。S08228では、仮想カメラ制御AI部08109の推奨操作推定部081092が、現在の仮想視点画像の特徴と、高評価の仮想カメラパスから、オペレータへの推奨操作を推定する。S08228の推定処理の詳細については図23を用いて後述する。S08229では、S08228で推定された推奨操作が可能か否かを判定する。推奨操作が不可能な場合としては、衝突判定部08104により禁止されるカメラ操作の場合のほか、推奨操作推定部081092が推奨操作なしと判定した場合も含まれる。推定操作が可能な場合はS08227に進み、S08228で推定された推奨操作を入力しやすくするための補助情報をオペレータへ提示する。不可能な場合はS08230へ進む。
S08230で、オペレータはS08227で提示された補助情報を参考に、仮想カメラ操作部08101により仮想カメラを操作し、処理を終了する。ここで、オペレータが推奨操作を実際に入力するかわりに、自動で推奨操作が入力されるようにしてもよい。自動に入力するか否かは、オペレータが選択できるようにしてもよいし、操作の難易度や時間などに基づいて決められてもよい。なお、S08224で高評価の仮想カメラパスが存在しない場合や、S08229で推奨操作が不可能と判定された場合は、オペレータが仮想カメラ操作を補助情報無しで仮想カメラ操作部08101に入力し、本フローチャートの処理を終了する。
図23は、図22(b)のS08228における、推奨操作の推定処理の詳細を説明するフローチャートである。S08231で、仮想カメラ制御AI部08109は、S08221で生成した特徴を現画像の情報として推奨操作推定部081092に入力する。S08232で、仮想カメラ制御AI部08109は、S08224で選択された高評価のカメラパスに含まれる仮想視点画像を、高評価画像の情報として推奨操作推定部081092に入力する。
S08233で、仮想カメラ制御AI部08109は、コンテキスト情報を推奨操作推定部081092に入力する。コンテキスト情報とは、仮想視点画像の評価に関係する情報で仮想視点の画像以外から得られる情報のことである。例えば、スポーツ競技を撮影対象とする仮想視点画像の場合、競技選手個人や所属チームの成績などに関するデータである。また、競技の開催日時や場所、地区予選や世界大会決勝といった競技の目的等に関するデータでもよい。または、前記ユーザデータベース400が収集・蓄積する、仮想視点画像に関するエンドユーザ・視聴者の評価、感想を含んでいてもよい。コンテキスト情報は、撮影中に固定されたものでもよいし、リアルタイムに変化するものでもよい。例えば、試合の展開状況や、競技選手の当日成績、観覧・視聴者の現時点での反応などを含んでいてもよい。
S08234で、推奨操作推定部081092は、入力された情報から目標画像を決定する画像決定を行う。目標画像とは、S08232で入力された高評価画像に対して、S08233で入力されたコンテキスト情報を考慮したうえで出力価値が高いと判定される仮想視点画像のことである。例えば、高評価画像の中に複数競技者を含む仮想視点画像と特定競技者のみをアップで撮影した仮想視点画像がある場合、コンテキスト情報として視聴者の興味が高い競技者が大きく撮影できるような仮想視点画像の出力価値が高いと判断してもよい。あるいは、天候をコンテキスト情報とし、好天時には青空を多く含む構図の出力価値が高いと判断してもよい。リアルタイムの視聴者層をコンテキスト情報とし、若年齢層には特定競技者の顔面部の画像の出力価値が高いという判断をしてもよい。試合展開のような高度な状況情報をオペレータが手入力、あるいはユーザデータサーバ400が自動解釈してコンテキスト情報として入力してもよい。なお、目標画像は1つでも複数でもよい。目標画像を特定する処理に、現画像・高評価画像・コンテキスト情報を入力としたときに、出力価値の高い目標画像を高評価画像より選出するように学習した機械学習装置を用いてもよい。この学習は、ユーザデータサーバ400が収集し蓄積する仮想視点画像へのエンドユーザ評価により漸進的に更新されてもよく、例えばデジタル放送の双方向通信機能より得られるエンドユーザ評価によってリアルタイムに学習が行われてもよい。
S08235で、推奨操作推定部081092は、S08234で特定された目標画像を仮想視点画像として生成するためにオペレータが入力しなければならない操作を推奨操作として特定する。あるいは、現在の仮想視点画像から目標画像への操作が過去に存在しない場合、推奨操作なしとする。この特定は、オペレータの操作による仮想視点画像の変化、すなわち操作前後の仮想視点画像間での特徴量の変化を学習した公知の機械学習装置により行ってもよい。この学習は熟練オペレータによる操作をもとに予め行ってもよいし、カメラ操作UI330を使用するオペレータによる操作に基づいてリアルタイムに学習内容を更新していくものであってもよい。その場合、推奨操作が推定可能となるケースが蓄積されるため、推奨操作の特定率が操作時間とともに向上する。また、多数のオペレータがおこなった操作は効果の高い操作であるとして、推奨操作の質が向上する。特定された推奨操作、あるいは推奨操作なしを推奨操作推定部081092の出力として図23のフローチャートを終了する。
すでに説明したとおり、仮想カメラ制御AI部08109を構成する仮想視点画像評価部081091と推奨操作推定部081092はそれぞれ、リアルタイム学習が可能な1つ以上の機械学習装置によって構成されてもよい。そうすることで、オペレータの操作およびエンドユーザ評価というリアルタイムに変化する複数の状況に対応して、高評価が得られる仮想視点画像の生成をサポートすることができる。
図25は、仮想カメラ操作UI330を用いて生成された複数の仮想カメラ画像の中から所望の仮想カメラ画像をユーザが選択して鑑賞するための処理手順を説明するフローチャートである。例えば、ユーザはエンドユーザ端末190を用いて、仮想カメラ画像を鑑賞する。なお、仮想カメラパス08002は画像コンピューティングサーバ200に蓄積されていてもよいし、それとは異なるWebサーバ(不図示)に蓄積されていてもよい。
S08401で、エンドユーザ端末190は、仮想カメラパス08002のリストを取得する。各仮想カメラパス08002には、サムネイルやユーザの評価などが付加されていてもよい。また、S08401において、エンドユーザ端末190には、仮想カメラパス08002のリストが表示される。S08402で、エンドユーザ端末190は、ユーザによりリストの中から選択された仮想カメラパス08002に関する指定情報を取得する。S08403で、エンドユーザ端末190は、ユーザにより選択された仮想カメラパス08002をバックエンドサーバ270に送信する。バックエンドサーバ270は受信した仮想カメラパス08002から仮想視点画像及び仮想視点音声を生成し、エンドユーザ端末190へ送信する。S08404で、エンドユーザ端末190は、バックエンドサーバ270から受信した仮想視点画像及び仮想視点音声を出力する。
このように、仮想カメラパスのリストを蓄積し、後から仮想カメラパスを使って画像を再現可能にすることによって、仮想視点画像を常に蓄積し続ける必要がなくなり、蓄積装置コストを削減することが可能になる。さらに、優先度の高い仮想カメラパスの画像生成を要求された場合に、優先度の低い仮想カメラパス画像生成の順序を後にして対応することもできる。また、仮想カメラパスをWebサーバで公開する場合には、Webに接続されるエンドユーザに対して、仮想視点画像を提供したり、共有させたりすることが可能になり、ユーザに対するサービス性を向上させる効果があることをここに明記しておく。
エンドユーザ端末190で表示される画面について説明する。図26は、エンドユーザ端末190が表示する表示画面41001の一例である。エンドユーザ端末190が、画像が表示される領域41002に、バックエンドサーバ270から入力された画像を順次表示することで、視聴者(ユーザ)は、サッカーの試合などの仮想視点画像を視聴可能となる。視聴者は、この表示画像に応じてユーザ入力機器を操作することにより、画像の視点の切り替えを行う。例えば、ユーザがマウスを左方向に移動させると、表示される画像における左の方向に視点が向いた画像が表示される。マウスを上方向に移動させると、表示される画像における上の方向を見上げた画像が表示される。
画像表示の領域41002とは別の領域には、手動操縦と自動操縦を切り換えることが可能なGUI(Graphic User Interface)のボタン41003及びボタン41004が設けられる。これに対する操作を行うことで、視聴者自身が視点の変更を行い視聴するか、予め設定された視点で視聴するかを視聴者が選択できる。例えば、あるエンドユーザ端末190がユーザの手動操縦による視点の切り替え結果を表す視点操作情報を画像コンピューティングサーバ200やWebサーバ(不図示)に逐次アップロードする。そして、別のエンドユーザ端末190を操作するユーザがその視点操作情報を入手して、それに応じた仮想視点画像を視聴することも可能である。また、アップロードされる視点操作情報に対するレーティングを可能とすることで、ユーザは例えば人気の高い視点操作情報に応じた画像を選択して視聴することができ、操作に不慣れなユーザでも本サービスを簡便に利用できるという特有の効果がある。
次に、視聴者が手動操縦を選択し、手動操縦しているときの、アプリケーション管理部10001の動作について説明する。図27は、アプリケーション管理部10001の手動操縦処理を表すフローチャートである。アプリケーション管理部10001は、ユーザによる入力があるかを判定する(S10010)。ユーザによる入力がある場合(S10010のYes)、アプリケーション管理部10001は、ユーザ入力情報をバックエンドサーバ270が認識可能なバックエンドサーバコマンドに変換する(S10011)。一方、ユーザによる入力がない場合(S10010のNo)、S10013へ進む。
次に、アプリケーション管理部10001は、バックエンドサーバコマンドを、基本ソフト部10002及びネットワーク通信部10003を介して送信する(S10012)。バックエンドサーバ270がユーザ入力情報に基づいて視点変更した画像を生成した後、アプリケーション管理部10001は、ネットワーク通信部10003及び基本ソフト部10002を介してバックエンドサーバ270から画像を受信する(S10013)。そして、アプリケーション管理部10001は、受信した画像を所定の画像表示領域41002に表示する(S10014)。以上の処理を行うことで、手動操縦により、画像の視点が変更される。
続いて、視聴者(ユーザ)が自動操縦を選択したときの、アプリケーション管理部10001の動作について説明する。図28は、アプリケーション管理部10001の自動操縦処理を表すフローチャートである。アプリケーション管理部10001は、自動操縦用入力情報がある場合(S10020)、自動操縦用入力情報を読み出す(S10021)。アプリケーション管理部10001は、読みだした自動操縦用入力情報を、バックエンドサーバ270が認識可能なバックエンドサーバコマンドに変換する(S10022)。
次に、バックエンドサーバコマンドを、基本ソフト部10002及びネットワーク通信部10003を介して送信する(S10023)。
バックエンドサーバ270はユーザ入力情報に基づいて視点変更した画像を生成する。その後、アプリケーション管理部10001は、ネットワーク通信部10003及び基本ソフト部10002を介してバックエンドサーバ270から画像を受信する(S10024)。最後に、アプリケーション管理部10001は、受信した画像を所定の画像表示領域に表示する(S10025)。以上の処理を、自動操縦用入力情報がある限り繰り返し行うことで、自動操縦により、画像の視点が変更される。
図29は、バックエンドサーバ270において1フレームの仮想視点画像を生成する処理フローを示す。まず、データ受信部03001は、コントローラ300から仮想カメラパラメータを受信する(S03100)。前述の通り、仮想カメラパラメータは、仮想視点の位置や姿勢などを表すデータのことである。前景オブジェクト決定部03010は、受信した仮想カメラパラメータと前景オブジェクトの位置を元に仮想視点画像の生成で必要となる前景オブジェクトを決定する(S03101)。仮想視点から見た場合に視野に入る前景オブジェクトを三次元幾何学的に求める。要求リスト生成部03011は、決定した前景オブジェクトの前景画像、前景三次元モデル群、背景画像及び音声データ群の要求リストを生成し、要求データ出力部03012からデータベース250に要求を行う(S03102)。要求リストとはデータベース250に対してリクエストするデータの内容である。
データ受信部03001は、要求した情報をデータベース250から受信する(S03103)。データ受信部03001は、データベース250から受信した情報にエラーを示す情報が含まれるか判定する(S03104)。ここで、エラーを示す情報としては例えば画像転送量オーバーフロー、画像撮影失敗及び画像のデータベース保存失敗などが挙げられる。このエラー情報はデータベース250に格納されているものである。
S03104においてエラーを示す情報が含まれる場合、データ受信部03001は、仮想視点画像の生成は不可であると判断し、データを出力せず処理を終了する。S03104においてエラーを示す情報が含まれない場合、バックエンドサーバ270、仮想視点における背景画像の生成、前景画像の生成、及び視点に応じた音声の生成を行う。背景テクスチャ貼り付け部03002は、システムの起動後に取得され背景メッシュモデル管理部03013で保持されている背景メッシュモデルとデータベース250から取得した背景画像から、テクスチャ付き背景メッシュモデルを生成する(S03105)。
またバックエンドサーバ270は、レンダリングモードに応じて前景画像を生成する(S03106)。またバックエンドサーバ270は、仮想視点での音の聞こえ方を模擬するように音声データ群を合成して音声を生成する(S03107)。音声データ群の合成においては、仮想視点と音声データの取得位置を元に合成する各音声データの大きさが調整される。レンダリング部03006は、S3105で生成したテクスチャ付き背景メッシュモデルを仮想視点から見た視野にトリミングし、そこに前景画像を合成することで仮想視点の全景画像を生成する(S03108)。
合成部03008は、仮想視点音声生成(S03107)で生成された仮想音声とレンダリングされた仮想視点の全景画像を統合し(S03109)、1フレームの仮想視点コンテンツを生成する。画像出力部03009は、生成された1フレームの仮想視点コンテンツを外部のコントローラ300およびエンドユーザ端末190へ出力する(S03110)。
次に、本システムを適用可能なユースケースを増大するために、さまざまな仮想視点画像生成の要求に対応できる柔軟な制御判定を行うことについて説明する。図30に前景画像生成のフローを示す。ここでは、仮想視点画像生成において、画像の出力先に応じた要求に対応するため、複数のレンダリングアルゴリズムから何れかを選択する選択指針の一例について説明する。
まず、バックエンドサーバ270のレンダリングモード管理部03014は、レンダリング手法の決定を行う。レンダリング手法を決定するための要求事項は、制御ステーション310からバックエンドサーバ270に対して設定される。レンダリングモード管理部03014は、要求事項に従ってレンダリング手法を決定する。レンダリングモード管理部03014は、カメラ112による撮影に基づくバックエンドサーバ270での仮想視点画像生成において高速性を優先する要求が行われたか確認する(S03200)。高速性を優先する要求とは、低遅延の画像生成の要求と等価である。S03200でYESの場合、レンダリングとしてIBRを有効にする(S03201)。
次に、仮想視点画像生成に係る視点の指定の自由度を優先する要求が行われたかどうか確認する(S03202)。S03202でYESの場合、レンダリングとしてMBRを有効にする(S03203)。つぎに、仮想視点画像生成において計算処理軽量化を優先する要求が行われたかどうか確認する(S03204)。計算処理軽量化を優先する要求は、例えば、コンピュータ資源をあまり使わずに低コストでシステムを構成する場合などに行われる。S03204でYESの場合、レンダリングとしてIBRを有効にする(S03205)。つぎに、レンダリングモード管理部03014は、仮想視点画像生成のために使用されるカメラ112の台数が閾値以上であるかどうか確認する(S03206)。S03206でYESの場合、レンダリングとしてMBRを有効にする(S03207)。
バックエンドサーバ270は、レンダリングモード管理部03014で管理されているモード情報から、レンダリング方式がMBRあるいはIBRのどちらであるか判定する(S03208)。なお、S03201、S03203、S03205、及びS03207の何れの処理も行われていない場合には、システム稼働時に予め決められているデフォルトのレンダリング方式が用いられるものとする。
S03208において、レンダリング方式がモデルベース(MBR)であると判定された場合、前景テクスチャ決定部03003は、前景三次元モデルと前景画像群を元に前景のテクスチャを決定する(S03209)。そして、前景テクスチャ境界色合わせ部03004は、決定した前景のテクスチャの境界の色合わせを行う(S03210)。前景三次元モデルのテクスチャは複数の前景画像群から抽出されるため、各前景画像の撮影状態の違いによるテクスチャの色が異なることへの対応として、この色合わせが行われる。
S03208において、レンダリング方式がIBRと判定された場合、仮想視点前景画像生成部03005は、仮想カメラパラメータと前景画像群に基づいて透視変換など幾何変換を各前景画像に行い、仮想視点からの前景画像を生成する(S03211)。なお、ユーザがシステム稼働中に任意にレンダリング方式を変更したり、仮想視点の状態に応じてシステムがレンダリング方式を変更したりしてもよい。また、候補となるレンダリング方式をシステム稼働中に変更してもよい。これにより、仮想視点画像の生成に係るレンダリングアルゴリズムを、起動時に設定するだけでなく、状況に応じて変更できるため、さまざまな要求にこたえることができる。つまり、画像出力先が異なる要件(例えば各パラメータの優先度)を要求しても、柔軟に対応できる。
なお、本実施形態ではレンダリング方式としてIBRとMBRの何れかを用いることとしたが、これに限らず双方の方式を用いたハイブリッド方式などを用いてもよい。ハイブリッド方式を用いる場合、レンダリングモード管理部03014は、データ受信部03001が取得した情報に基づいて、仮想視点画像を分割した複数の分割領域それぞれで用いられる複数の生成方式を決定する。即ち、1フレームの仮想視点画像の一部の領域はMBRに基づいて生成され、他の一部の領域はIBRに基づいて生成されてもよい。例えば、光沢がある、テクスチャがない、非凸面などのオブジェクトはIBRを用いることで三次元モデルの精度の低下を回避したり、仮想視点に近いオブジェクトはMBRを用いることで画像が平面的になってしまうことを回避したりするなどの方法がある。また例えば、画面の中心付近のオブジェクトは綺麗に表示したいのでMBRで画像を生成し、周辺のオブジェクトはIBRで画像を生成することで処理負荷を下げることもできる。これにより、仮想視点画像の生成に係る処理負荷と仮想視点画像の画質をより詳細に制御できる。
また、競技に応じて、注視点、カメラワーク、及び伝送制御等のシステムの適切な設定が異なる場合があるが、競技が開催されるたびにシステムの設定を操作者が手動で行うと操作者の手間が大きくなる虞があるため、設定の簡単化が求められる。そこで、画像処理システム100は、設定変更の対象となる機器の設定を自動で更新することで、仮想視点画像を生成するためのシステムの設定を行う操作者の手間を低減する仕組みを提供する。この仕組みについて、以下で説明する。
図31は、前述の設置後ワークフローにおいて生成され、撮影前ワークフローにおいてシステムを構成する装置に設定される運用に関する情報リストである。制御ステーション310は、複数のカメラ112による撮影の対象となる競技に関する競技情報をユーザによる入力操作に基づいて取得する。なお、競技情報の取得方法はこれに限らず、例えば制御ステーション310は競技情報を他の装置から取得してもよい。そして制御ステーション310は、取得した競技情報と画像処理システム100の設定情報とを対応付けて上記の情報リストとして保持する。以下運用に関する情報リストを設定リストと言う。制御ステーション310が、保持している設定リストに基づいてシステムの設定処理を行う制御装置として動作することで、システムの設定を行う操作者の手間が低減される。
制御ステーション310が取得する競技情報は、例えば撮影の対象となる競技の種別及び開始時刻の少なくとも何れかを含む。ただし競技情報はこれに限らず、競技に関するその他の情報であってもよい。撮影番号46101は撮影される各競技に対応するシーンを表し、予定時間46103は各競技の開始予定時刻および終了予定時刻である。各シーンの開始時刻前には、制御ステーション310から各機器に対して設定リストに応じた変更要求が行われる。
競技名称46102は競技種別の名称である。注視点(座標指定)46104は、カメラ112a−112zの注視点の数、各注視点の座標位置、および各注視点に対応するカメラ番号から構成される。注視点の位置に応じて、各カメラ112の撮影方向が定まる。カメラワーク46105は、仮想カメラ操作UI330およびバックエンドサーバ270によって仮想視点が操作され画像が生成される際のカメラパスの範囲を表す。カメラワーク46105に基づいて、仮想視点画像の生成に係る視点の指定可能範囲が定まる。キャリブレーションファイル46106は、設置時キャリブレーションにおいて導出された、仮想視点画像の生成に係る複数のカメラ112の位置合わせに関するカメラパラメータの値を格納したファイルであり、注視点毎に生成される。
画像生成アルゴリズム46107は、撮影画像に基づく仮想視点画像の生成に係るレンダリング方式としてIBR、MBR、及び両者を使うハイブリッド方式の何れが用いられるかの設定を示す。レンダリング方式は制御ステーション310からバックエンドサーバ270に対して設定される。例えば、撮影番号=3の砲丸投げや走り高跳びのように閾値以下の数の選手に対応する競技の種別を示す競技情報と、撮影画像に基づいて生成される三次元モデルを用いて仮想視点画像を生成するMBR方式を示す設定情報とが対応付けられる。これにより、参加選手が少ない競技の仮想視点画像における視点の指定の自由度が高くなる。一方で、撮影番号=1の開会式のように参加選手の数が多い競技では、MBR方式で仮想視点画像を生成しようとすると処理負荷が大きくなるため、より小さい処理負荷で仮想視点画像を生成できるIBR方式が対応付けられる。
前景背景伝送46108は、撮影画像から分離される前景画像(FGと表す)及び背景画像(BGと表す)それぞれに対する圧縮割合とフレームレート(単位はfps)の設定を表す。なお、前景画像は仮想視点画像の生成のために撮影画像から抽出される前景領域に基づいて生成され画像処理システム100内で伝送される前景画像であり、背景画像は同様に撮影画像から抽出される背景領域に基づいて生成及び伝送される背景画像である。
続いて、本実施形態を構成する各装置のハードウェア構成について、より詳細に説明する。上述の通り、本実施形態では、カメラアダプタ120がFPGA及び/又はASICなどのハードウェアを実装し、これらのハードウェアによって、上述した各処理を実行する場合の例を中心に説明した。それはセンサシステム110内の各種装置や、フロントエンドサーバ230、データベース250、バックエンドサーバ270、及びコントローラ300についても同様である。しかしながら、上記装置のうち、少なくとも何れかが、例えばCPU、GPU、DSPなどを用い、ソフトウェア処理によって本実施形態の処理を実行するようにしても良い。図32は、図2に示した機能構成をソフトウェア処理によって実現するための、カメラアダプタ120のハードウェア構成を示すブロック図である。なお、フロントエンドサーバ230、データベース250、バックエンドサーバ270、制御ステーション310、仮想カメラ操作UI330、及びエンドユーザ端末190などの装置も、図32のハードウェア構成となりうる。カメラアダプタ120は、CPU1201、ROM1202、RAM1203、補助記憶装置1204、表示部1205、操作部1206、通信部1207、及びバス1208を有する。
CPU1201は、ROM1202やRAM1203に格納されているコンピュータプログラムやデータを用いてカメラアダプタ120の全体を制御する。ROM1202は、変更を必要としないプログラムやパラメータを格納する。RAM1203は、補助記憶装置1204から供給されるプログラムやデータ、及び通信部1207を介して外部から供給されるデータなどを一時記憶する。補助記憶装置1204は、例えばハードディスクドライブ等で構成され、静止画や動画などのコンテンツデータを記憶する。
表示部1205は、例えば液晶ディスプレイ等で構成され、ユーザがカメラアダプタ120を操作するためのGUI(Graphical User Interface)などを表示する。操作部1206は、例えばキーボードやマウス等で構成され、ユーザによる操作を受けて各種の指示をCPU1201に入力する。通信部1207は、カメラ112やフロントエンドサーバ230などの外部の装置と通信を行う。例えば、カメラアダプタ120が外部の装置と有線で接続される場合には、LANケーブル等が通信部1207に接続される。なお、カメラアダプタ120が外部の装置と無線通信する機能を有する場合、通信部1207はアンテナを備える。バス1208は、カメラアダプタ120の各部を繋いで情報を伝達する。
なお、例えばカメラアダプタ120の処理のうち一部をFPGAで行い、別の一部の処理を、CPUを用いたソフトウェア処理によって実現するようにしても良い。また、図49に示したカメラアダプタ120の各構成要素は、単一の電子回路で構成されていてもよいし、複数の電子回路で構成されていてもよい。例えば、カメラアダプタ120は、CPU1201として動作する電子回路を複数備えていてもよい。これら複数の電子回路がCPU1201としての処理を並行して行うことで、カメラアダプタの処理速度を向上することができる。
また、本実施形態では、表示部1205と操作部1206はカメラアダプタ120の内部に存在するが、カメラアダプタ120は表示部1205及び操作部1206の少なくとも一方を備えていなくてもよい。また、表示部1205及び操作部1206の少なくとも一方がカメラアダプタ120の外部に別の装置として存在していて、CPU1201が、表示部1205を制御する表示制御部、及び操作部1206を制御する操作制御部として動作してもよい。
画像処理システム100内の他の装置についても同様である。また例えば、フロントエンドサーバ230、データベース250及びバックエンドサーバ270は表示部1205を備えず、制御ステーション310、仮想カメラ操作UI330及びエンドユーザ端末190は表示部1205を備えていてもよい。また、上述の実施形態は、画像処理システム100が競技場やコンサートホールなどの施設に設置される場合の例を中心に説明した。施設の他の例としては、例えば、遊園地、公園、競馬場、競輪場、カジノ、プール、スケートリンク、スキー場、ライブハウスなどがある。また、各種施設で行われるイベントは、屋内で行われるものであっても屋外で行われるものであっても良い。また、本実施形態における施設は、一時的に(期間限定で)建設される施設も含む。
本発明は、上述の実施形態の1以上の機能を実現するコンピュータ読み取り可能なプログラムを用いても実現できる。すなわち、ネットワーク又は記憶媒体を介してシステム又は装置にプログラムを供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーが、プログラムを読出し実行することでも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、上述した実施形態によれば、カメラ112の台数などのシステムを構成する装置の規模、及び撮影画像の出力解像度や出力フレームレートなどに依らず、仮想視点画像を簡便に生成することが出来る。以上、本発明の実施形態について詳述したが、本発明は上述の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形及び変更が可能である。
100 画像処理システム
200 画像コンピューティングサーバ
300 コントローラ
310 制御ステーション
330 仮想カメラ操作UI
400 ユーザデータサーバ
410 ユーザDB
420 解析サーバ

Claims (19)

  1. 複数の視点で撮影された画像に基づいて仮想視点に対応する仮想視点画像を生成する生成手段と、
    仮想視点の移動した軌跡と該仮想視点に対応する仮想視点画像の情報とを記憶する記憶手段と、
    前記記憶手段に記憶された過去の軌跡から現在の仮想視点画像に関連する軌跡を検索する検索手段と、
    該検索手段により得られた軌跡に評価を与える評価手段と、
    前記評価に基づいて少なくとも1つの軌跡を選択する選択手段と
    を備えることを特徴とする画像処理装置。
  2. 前記仮想視点画像に対するユーザの評価を受け付ける受け付け手段と、
    前記仮想視点画像の特徴を取得する取得手段と、
    前記仮想視点画像の特徴と前記評価との関係を学習する学習手段と
    を更に備え、
    前記評価手段は、前記軌跡に含まれる仮想視点に対応する仮想視点画像の特徴に対して前記学習手段により学習された評価との関係に基づいて、当該軌跡に対する評価を与えることを特徴とする請求項1に記載の画像処理装置。
  3. 前記検索手段は、前記取得手段により取得した前記現在の仮想視点画像の特徴に基づいて、当該現在の仮想視点画像に関連する軌跡を検索することを特徴とする請求項2に記載の画像処理装置。
  4. 前記検索手段は、現在の仮想視点画像と構図が類似する仮想視点画像を含む軌跡を検索することを特徴とする請求項3に記載の画像処理装置。
  5. 前記検索手段は、現在の仮想視点画像と撮影対象の種類が同一である仮想視点画像を含む軌跡を検索することを特徴とする請求項3に記載の画像処理装置。
  6. 前記取得手段は、前記特徴として前記現在の仮想視点画像から画像特徴を取得することを特徴とする請求項2に記載の情報処理装置。
  7. 前記取得手段は、前記特徴として前記現在の仮想視点画像を含む複数の仮想視点画像から画像特徴を取得することを特徴とする請求項2に記載の情報処理装置。
  8. 前記取得手段は、前記特徴として前記現在の仮想視点画像を生成する元となった複数の撮影画像から画像特徴を取得することを特徴とする請求項2に記載の情報処理装置。
  9. 前記取得手段は、前記画像特徴として被写体の種類を取得することを特徴とする請求項6乃至8のいずれか1項に記載の情報処理装置。
  10. 前記選択手段により選択された軌跡に基づいて前記現在の仮想視点画像を変化させる操作を推奨操作に決定する操作決定手段と、
    前記推奨操作に関する情報をユーザに提示する提示手段と
    を備えることを特徴とする請求項1に記載の画像処理装置。
  11. 前記提示手段が、前記推奨操作を表示または音声でユーザに出力することを特徴とする請求項10に記載の画像処理装置。
  12. 前記提示手段が、前記推奨操作によって得られる仮想視点画像を表示することを特徴とすることを特徴とする請求項10または11に記載の画像処理装置。
  13. 前記選択手段により選択された軌跡に基づいて目標とする仮想視点画像を決定する画像決定手段を更に備え、
    前記操作決定手段は、前記現在の仮想視点画像を前記目標とする仮想視点画像まで変化させる操作を前記推奨操作に決定することを特徴とする請求項10乃至12のいずれか1項に記載の画像処理装置。
  14. 前記仮想視点画像に関するコンテキスト情報を入力する入力手段を更に備え、
    前記画像決定手段は、前記コンテキスト情報と前記選択された軌跡に含まれる仮想視点に対応する仮想視点画像とに基づいて前記目標とする仮想視点画像を決定することを特徴とする請求項13に記載の画像処理装置。
  15. 前記コンテキスト情報は、撮影対象または撮影状況に関する情報を含むことを特徴とする請求項14に記載の画像処理装置。
  16. 前記選択手段により選択された軌跡に基づいて前記現在の仮想視点画像を変化させる操作を実行する実行手段を備えることを特徴とする請求項1に記載の画像処理装置。
  17. 複数の視点で撮影された画像に基づいて仮想視点に対応する仮想視点画像を生成する生成工程と、
    仮想視点の移動した軌跡と該仮想視点に対応する仮想視点画像の情報とを記憶部に記憶する記憶工程と、
    前記記憶部に記憶された過去の軌跡から現在の仮想視点画像に関連する軌跡を検索する検索工程と、
    該検索手段により得られた軌跡に評価を与える評価工程と、
    前記評価に基づいて少なくとも1つの軌跡を選択する選択工程と
    を有することを特徴とする画像処理方法。
  18. コンピュータを請求項1乃至16のいずれか1項に記載の画像処理装置の各手段として機能させるためのコンピュータ読み取り可能なプログラム。
  19. 請求項1に記載の画像処理装置と、
    前記複数の視点で撮影された画像を提供する複数の撮影装置と、
    前記仮想視点画像を表示する表示装置と
    を備えることを特徴とする画像処理システム。
JP2017004681A 2017-01-13 2017-01-13 画像処理装置及びその方法、プログラム、画像処理システム Active JP6878014B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017004681A JP6878014B2 (ja) 2017-01-13 2017-01-13 画像処理装置及びその方法、プログラム、画像処理システム
US15/868,795 US20180204381A1 (en) 2017-01-13 2018-01-11 Image processing apparatus for generating virtual viewpoint image and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017004681A JP6878014B2 (ja) 2017-01-13 2017-01-13 画像処理装置及びその方法、プログラム、画像処理システム

Publications (2)

Publication Number Publication Date
JP2018112997A JP2018112997A (ja) 2018-07-19
JP6878014B2 true JP6878014B2 (ja) 2021-05-26

Family

ID=62838722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017004681A Active JP6878014B2 (ja) 2017-01-13 2017-01-13 画像処理装置及びその方法、プログラム、画像処理システム

Country Status (2)

Country Link
US (1) US20180204381A1 (ja)
JP (1) JP6878014B2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9332285B1 (en) * 2014-05-28 2016-05-03 Lucasfilm Entertainment Company Ltd. Switching modes of a media content item
EP3169063A4 (en) * 2014-07-09 2018-01-24 Sony Corporation Information processing device, storage medium, and control method
JP2016046642A (ja) * 2014-08-21 2016-04-04 キヤノン株式会社 情報処理システム、情報処理方法及びプログラム
JP6833348B2 (ja) * 2016-05-25 2021-02-24 キヤノン株式会社 情報処理装置、画像処理システム、情報処理装置の制御方法、仮想視点画像の生成方法、及び、プログラム
DE112017003815T5 (de) * 2016-07-29 2019-04-18 Sony Corporation Bildverarbeitungsvorrichtung und bildverarbeitungsverfahren
WO2018147329A1 (ja) * 2017-02-10 2018-08-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 自由視点映像生成方法及び自由視点映像生成システム
JP7031133B2 (ja) * 2017-03-28 2022-03-08 セイコーエプソン株式会社 表示装置、表示システム及び表示装置の制御方法
JP6848678B2 (ja) * 2017-05-19 2021-03-24 富士通株式会社 通信装置、データ処理システム、通信方法およびプログラム
US10569172B2 (en) * 2017-09-19 2020-02-25 Canon Kabushiki Kaisha System and method of configuring a virtual camera
JP7045218B2 (ja) * 2018-02-28 2022-03-31 キヤノン株式会社 情報処理装置および情報処理方法、プログラム
JP2019161462A (ja) * 2018-03-13 2019-09-19 キヤノン株式会社 制御装置、画像処理システム、制御方法、及びプログラム
JP2020013470A (ja) 2018-07-20 2020-01-23 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP7245013B2 (ja) * 2018-09-06 2023-03-23 キヤノン株式会社 制御装置及び制御方法
JP7249755B2 (ja) * 2018-10-26 2023-03-31 キヤノン株式会社 画像処理システムおよびその制御方法、プログラム
JP7330683B2 (ja) * 2018-11-06 2023-08-22 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US10685679B1 (en) * 2018-11-27 2020-06-16 Canon Kabushiki Kaisha System and method of determining a virtual camera path
JP7250493B2 (ja) * 2018-12-03 2023-04-03 キヤノン株式会社 画像処理装置、三次元形状データの生成方法およびプログラム
US11720766B2 (en) * 2018-12-28 2023-08-08 Packsize Llc Systems and methods for text and barcode reading under perspective distortion
US10950104B2 (en) 2019-01-16 2021-03-16 PANASONIC l-PRO SENSING SOLUTIONS CO., LTD. Monitoring camera and detection method
JP2020134973A (ja) * 2019-02-12 2020-08-31 キヤノン株式会社 素材生成装置、画像生成装置および画像処理装置
US20220084300A1 (en) * 2019-03-11 2022-03-17 Sony Group Corporation Image processing apparatus and image processing method
JP7310252B2 (ja) * 2019-04-19 2023-07-19 株式会社リコー 動画生成装置、動画生成方法、プログラム、記憶媒体
WO2020231322A1 (en) * 2019-05-16 2020-11-19 Tension Technology Ab Methods and systems for providing a user with an image content
US11816785B2 (en) 2019-06-14 2023-11-14 Sony Group Corporation Image processing device and image processing method
CN110430416B (zh) * 2019-07-17 2020-12-08 清华大学 自由视点图像生成方法和装置
JP7360112B2 (ja) * 2019-09-27 2023-10-12 グリー株式会社 コンピュータプログラム、サーバ装置、端末装置、及び方法
JP7500231B2 (ja) * 2020-03-05 2024-06-17 キヤノン株式会社 画像生成システム、その制御方法及びプログラム。
JP2021152724A (ja) * 2020-03-24 2021-09-30 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
JP2023132320A (ja) * 2022-03-10 2023-09-22 キヤノン株式会社 画像処理システム、画像処理方法及びコンピュータプログラム
JP2023157799A (ja) * 2022-04-15 2023-10-26 パナソニックIpマネジメント株式会社 ビューワ制御方法及び情報処理装置
JP2023167486A (ja) * 2022-05-12 2023-11-24 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
CN114937140B (zh) * 2022-07-25 2022-11-04 深圳大学 面向大规模场景的图像渲染质量预测与路径规划***

Also Published As

Publication number Publication date
US20180204381A1 (en) 2018-07-19
JP2018112997A (ja) 2018-07-19

Similar Documents

Publication Publication Date Title
JP6878014B2 (ja) 画像処理装置及びその方法、プログラム、画像処理システム
JP6833348B2 (ja) 情報処理装置、画像処理システム、情報処理装置の制御方法、仮想視点画像の生成方法、及び、プログラム
JP6808357B2 (ja) 情報処理装置、制御方法、及び、プログラム
JP6429829B2 (ja) 画像処理システム、画像処理装置、制御方法、及び、プログラム
JP6482498B2 (ja) 制御装置、制御方法、及び、プログラム
KR102270429B1 (ko) 디폴트 파라미터들이 스포츠 이벤트의 선택된 타입에 연관되는 카메라 어레이로부터, 유저에 의해 선택된 시점으로부터의 가상 화상을 생성하는 방법 및 장치
JP6790145B2 (ja) 制御装置、制御方法、及び、プログラム
JP6827996B2 (ja) 画像処理装置、制御方法、及び、プログラム
JP7297969B2 (ja) 情報処理装置、プログラム、生成方法、及び、システム
JP6632703B2 (ja) 制御装置、制御方法、及び、プログラム
JP7204789B2 (ja) 制御装置、制御方法、及び、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210428

R151 Written notification of patent or utility model registration

Ref document number: 6878014

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151