IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7599891情報処理装置、情報処理方法及びプログラム
<>
  • 特許-情報処理装置、情報処理方法及びプログラム 図1
  • 特許-情報処理装置、情報処理方法及びプログラム 図2
  • 特許-情報処理装置、情報処理方法及びプログラム 図3
  • 特許-情報処理装置、情報処理方法及びプログラム 図4
  • 特許-情報処理装置、情報処理方法及びプログラム 図5
  • 特許-情報処理装置、情報処理方法及びプログラム 図6
  • 特許-情報処理装置、情報処理方法及びプログラム 図7
  • 特許-情報処理装置、情報処理方法及びプログラム 図8
  • 特許-情報処理装置、情報処理方法及びプログラム 図9
  • 特許-情報処理装置、情報処理方法及びプログラム 図10
  • 特許-情報処理装置、情報処理方法及びプログラム 図11
  • 特許-情報処理装置、情報処理方法及びプログラム 図12
  • 特許-情報処理装置、情報処理方法及びプログラム 図13
  • 特許-情報処理装置、情報処理方法及びプログラム 図14
  • 特許-情報処理装置、情報処理方法及びプログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-06
(45)【発行日】2024-12-16
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
   H04N 5/222 20060101AFI20241209BHJP
   G06T 19/00 20110101ALI20241209BHJP
   G06F 3/04815 20220101ALI20241209BHJP
【FI】
H04N5/222
G06T19/00 A
G06F3/04815
【請求項の数】 5
(21)【出願番号】P 2020168524
(22)【出願日】2020-10-05
(65)【公開番号】P2022060816
(43)【公開日】2022-04-15
【審査請求日】2023-10-04
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】湊 喜彦
【審査官】櫃本 研太郎
(56)【参考文献】
【文献】特開2020-144456(JP,A)
【文献】特開平11-055625(JP,A)
【文献】特開2016-208210(JP,A)
【文献】国際公開第2020/017354(WO,A1)
【文献】特開2018-106496(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/222-5/257、
5/91-5/956、
7/18、
3/00、23/40-23/76、
3/90-23/959
G06T 1/00-19/20
G06F 3/01-3/04895
(57)【特許請求の範囲】
【請求項1】
複数の撮像装置が行う撮像により得られる複数の撮像画像に基づいて生成される仮想視点映像に係る仮想視点を指定するためのユーザ操作に基づいて決定される前記仮想視点の位置及び前記仮想視点からの方向を表すパラメータと、前記複数の撮像装置により撮像が行われる期間における時刻とが対応付けられたキーフレームを複数生成する第1生成手段と、
複数の前記キーフレームのうち、時間軸に関する第1情報が設定された複数の第1キーフレームそれぞれに対応する複数の第1キーフレーム情報を時刻の昇順に配置した第1リストと、複数の前記キーフレームのうち、時間軸に関する第2情報が設定された複数の第2キーフレームそれぞれに対応する複数の第2キーフレーム情報を時刻の降順に配置した第2リストとを生成する第2生成手段と、
前記第1リスト及び前記第2リストに基づいて、前記仮想視点の変遷を表す仮想視点情報を生成する第3生成手段と、
を有することを特徴とする情報処理装置。
【請求項2】
前記第2生成手段は、同一の時刻が対応付けられた複数の前記第1キーフレーム情報が存在する場合、生成されたタイミングが早いキーフレームに対応する前記第1キーフレーム情報をより上位に配置した前記第1リストを生成することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第3生成手段は、前記第1リストに含まれる複数の前記第1キーフレーム情報に対応する複数の前記第1キーフレームの間のフレームの前記パラメータを補間し、前記第2リストに含まれる複数の前記第2キーフレーム情報に対応する複数の前記第2キーフレームの間のフレームの前記パラメータを補間することにより、前記仮想視点情報を生成することを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記仮想視点情報に基づいて、仮想視点映像を生成する映像生成手段をさらに有することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
【請求項5】
コンピュータを、請求項1乃至のいずれか1項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想視点映像やCGアニメーションのカメラパス情報を作成・編集する技術に関する。
【背景技術】
【0002】
昨今、複数の撮像装置を異なる位置に設置して多視点で同期撮影し、当該撮影により得られた複数視点画像を用いて仮想視点画像を生成する技術が注目されている。複数視点画像から仮想視点画像を生成する技術によれば、通常の画像と比較してユーザに高臨場感を与えることが出来る。例えば、ラグビーの試合であれば、ゴールに向かって選手達がボールを運ぶ場面を俯瞰視点で捉えたカットと、トライの場面を特定選手の主観視点(例えばフルバック目線で相手選手の脇を抜ける)で捉えたカットとを繋げた映像を得ることもできる。さらには、俯瞰視点からの映像を再生(順再生)させた後、時間を巻き戻して再生(逆再生)し、続けて主観視点からの映像を再生(順再生)するといったことも可能である。これにより、従来にはない分かりやすい映像と解説を視聴者に提供することが可能となる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2012-60280号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
仮想視点映像を生成する際には、3次元空間内に仮想的に配置される視点(仮想視点)の変遷を表す仮想視点情報の設定が必要となる。上記のようなカットの切り替えを含む仮想視点映像を得る場合の仮想視点情報の作成方法としては、例えば、キーフレーム法がある。キーフレーム法は、任意の仮想視点を対応付けた基準となるフレーム(「キーフレーム」と呼ばれる)を複数設定し、設定した複数のキーフレーム間を補間することによってカメラパス情報を得る手法である。このキーフレーム法では、設定されたキーフレームと仮想視点との対応関係が特定できるようにタイムコードを用いて両者の関連付けが行われる。この点、特許文献1には、タイムコードが採用された映像素材と同期して、リアルタイムレンダリングされるCGアニメーションを違和感なく進行させる技術が開示されている。しかしながら、この特許文献1の技術では、CGアニメーションの進行途中で時間を巻き戻すようなことは想定されていない。そのため、上述したような同じシーンについて順再生と逆再生とが組み合わさった仮想視点映像を生成するための仮想視点情報を設定することが困難となる。このように、仮想視点映像の再生方法によっては、仮想視点情報の設定が困難となるおそれがあった。
【0005】
本開示の技術は、仮想視点映像の再生に係る仮想視点情報の設定を容易に行うことができるようにすることを目的とする。
【課題を解決するための手段】
【0006】
本開示に係る情報処理装置は、複数の撮像装置が行う撮像により得られる複数の撮像画像に基づいて生成される仮想視点映像に係る仮想視点を指定するためのユーザ操作に基づいて決定される前記仮想視点の位置及び前記仮想視点からの方向を表すパラメータと、前記複数の撮像装置により撮像が行われる期間における時刻とが対応付けられたキーフレームを複数生成する第1生成手段と、複数の前記キーフレームのうち、時間軸に関する第1情報が設定された複数の第1キーフレームそれぞれに対応する複数の第1キーフレーム情報を時刻の昇順に配置した第1リストと、複数の前記キーフレームのうち、時間軸に関する第2情報が設定された複数の第2キーフレームそれぞれに対応する複数の第2キーフレーム情報を時刻の降順に配置した第2リストとを生成する第2生成手段と、前記第1リスト及び前記第2リストに基づいて、前記仮想視点の変遷を表す仮想視点情報を生成する第3生成手段と、を有することを特徴とする。
【発明の効果】
【0007】
本開示の技術によれば、仮想視点映像の再生に係る仮想視点情報の設定を容易に行うことができるようになる。
【図面の簡単な説明】
【0008】
図1】仮想視点映像を生成するための画像処理システムの構成の一例を示す図
図2】画像処理装置のハードウェア構成を示す図
図3】画像処理装置の機能構成を示すブロック図
図4】カメラパスの作成・編集に関わる機能構成を示すブロック図
図5】キーフレームリストが出来上がっていく過程を示す図
図6】タイムコードモードで逆再生のビデオクリップを作成する際の欠点を説明する図
図7】ビデオクリップの再生方向を考慮したカメラパス情報を作成する制御の流れを示すフローチャート
図8】カメラパス情報を作成・編集するためのGUIとコントローラの一例を示す図
図9】(a)~(c)は、キーフレームのリスト化のためのGUIを示す図
図10】キーフレームのリスト化のためのGUIを示す図
図11】キーフレームのリスト化のためのGUIを示す図
図12】キーフレームのリスト化のためのGUIを示す図
図13】キーフレームのリスト化のためのGUIを示す図
図14】キーフレームのリスト化のためのGUIを示す図
図15】キーフレームのリスト化のためのGUIを示す図
【発明を実施するための形態】
【0009】
以下、本実施形態を実施するための形態について図面などを参照して説明する。なお、以下の実施形態は、本開示の技術を限定するものではなく、また、以下の実施形態で説明されている全ての構成が課題を解決するための手段に必須であるとは限らない。
【0010】
[実施形態1]
はじめに、仮想視点画像の概要を簡単に説明する。仮想視点画像は、実際のカメラ視点とは異なる、仮想的なカメラ視点(仮想視点)からの見えを表す画像であり、自由視点画像とも呼ばれる。仮想視点は、ユーザがコントローラを操作して直接指定したり、例えば予め設定された複数の仮想視点候補の中から選択したりするといった方法により設定される。なお、仮想視点画像には、動画と静止画の両方が含まれるが、以下の実施形態では、動画を前提として説明を行い、動画による仮想視点画像を「仮想視点映像」と表現するものとする。
【0011】
<システム構成について>
図1は、本実施形態に係る、仮想視点映像を生成するための画像処理システムの構成の一例を示す図である。画像処理システム100は、複数の撮像装置(カメラ)101、画像処理装置102、視点入力装置103及び表示装置104を有する。画像処理システム100は、複数の撮像装置101の同期撮影により得られる複数の撮像画像(複数視点映像)と視点入力装置103によって設定された仮想視点とに基づいて画像処理装置102が仮想視点映像を生成し、表示装置104に表示する。複数の撮像装置101による同期撮影の対象となる領域は、例えばラグビーやサッカーなどの競技が行われるスタジアムのフィールドや、演劇等が行われるコンサートホールの舞台などである。例えばスタジアムで行われるラグビーの試合を対象に仮想視点映像を生成する場合には、スタジアム内のフィールドを取り囲むようにそれぞれ異なる位置に撮像装置101が設置され、各撮像装置101が時刻同期してフィールド上を撮影する。但し、複数の撮像装置101は必ずしも撮影対象領域の全周に亘って設置されていなくてもよく、設置場所に制限がある場合には撮影対象領域の一部の方向にのみ撮像装置101が設置されていてもよい。各撮像装置101は、例えば、シリアルデジタルインターフェイス(SDI)に代表される映像信号インターフェイスを備えたデジタル方式のビデオ撮像装置により実現される。各撮像装置101は、出力する映像信号に対しタイムコードに代表される時刻情報を付加して、画像処理装置102に送信する。
【0012】
画像処理装置102は、複数の撮像装置101が同期撮影して得られた映像に基づき、仮想視点映像を生成する。画像処理装置102は、ネットワークケーブル等を介して取得した各撮像装置101が撮影した映像を用いてオブジェクトの三次元形状データの生成やレンダリングなどの処理を行って仮想視点映像を生成する。また、視点入力装置103から入力されるユーザ操作信号に基づき、仮想視点の設定(カメラパス情報の作成)も行う。画像処理装置102の機能の詳細は後述する。
【0013】
視点入力装置103は、ジョイスティック等のコントローラを有する入力装置である。オペレータは視点入力装置103を介して、仮想視点に関する各種の設定操作を行う。
【0014】
表示装置104は、画像処理装置102から送られてくる画像データ(グラフィカルユーザインタフェースのためのUI画面のデータや仮想視点映像のデータ)を取得して表示する。表示装置104は、例えば、液晶ディスプレイやLED等で実現される。
【0015】
なお、本明細書では、仮想視点映像を生成する場合を例に一連の説明を行うものとするが、以下の内容はCG映像のカメラパスを生成・編集する際にも適用可能である。その場合、画像処理システムは、仮想視点映像を生成するモジュールの代わりにCGレンダラーを備える。そして、CG空間内で任意の位置に移動可能な視点を、本実施形態における仮想視点として扱えばよい。
【0016】
<ハードウェア構成について>
図2は、画像処理装置102のハードウェア構成を示す図である。情報処理装置である画像処理装置102は、CPU211、ROM212、RAM213、補助記憶装置214、操作部215、通信I/F216、及びバス217を有する。
【0017】
CPU211は、ROM212またはRAM213に格納されているコンピュータプログラムおよびデータを用いて画像処理装置102の全体を制御することで、画像処理装置102の各機能を実現する。なお、画像処理装置102は、CPU211とは異なる専用の1又は複数のハードウェアあるいはGPU(Graphics Processing Unit)を有していてもよい。そして、CPU211による処理の少なくとも一部をGPUあるいは専用のハードウェアが行うようにしても良い。専用のハードウェアの例としては、ASIC(特定用途向け集積回路)、FPGA(フィールドプログラマブルゲートアレイ)、およびDSP(デジタルシグナルプロセッサ)などがある。
【0018】
ROM212は、変更を必要としないプログラムなどを格納する。RAM213は、補助記憶装置214から供給されるプログラムやデータ、及び通信I/F217を介して外部から供給されるデータなどを一時記憶する。補助記憶装置214は、例えばハードディスクドライブ等で構成され、画像データや音量データなどの種々のデータを記憶する。
【0019】
表示部215は、例えば液晶ディスプレイやLED等で構成され、ユーザが画像処理装置102を操作するためのGUI(Graphical User Interface)などを表示する。
操作部215は、例えばキーボードやマウス等で構成され、ユーザによる操作を受けて各種の指示をCPU211に入力する。CPU211は、表示装置104を制御する表示制御部、及び操作部215を制御する操作制御部として動作する。通信I/F216は、画像処理装置102の外部の装置との通信に用いられる。例えば、画像処理装置102が外部の装置と有線で接続される場合には、通信用のケーブルが通信I/F216に接続される。画像処理装置102が外部の装置と無線通信する機能を有する場合には、通信I/F216はアンテナを備える。
【0020】
バス217は、画像処理装置102の各部をつないで情報を伝達する。なお、本実施形態では、視点入力装置103と表示装置104が外部装置として設けているが、いずれも画像処理装置102の機能部の1つとして内在する形で設けてもよい。
【0021】
<機能構成について>
図3は、画像処理装置102の機能構成を示すブロック図である。画像処理装置102は、画像取得部300、前景背景分離部301、記憶部302、仮想視点映像生成部303及び主制御部304を有する。
【0022】
画像取得部300は、複数の撮像装置101が同期撮影することで得られた映像(複数視点映像)のデータを取得する。
【0023】
前景背景分離部301は、撮像装置101それぞれの映像から、選手や審判などの前景となる特定のオブジェクト(以降、「前景オブジェクト」と呼ぶ)をフレーム単位で抽出する。前景背景分離部301は、抽出した前景オブジェクトを示す画像を前景画像として記憶部302に記憶させる。前景オブジェクトを抽出する方法は限定しない。例えば、前景オブジェクトの抽出方法として背景差分法がある。背景差分法は、映像内のフレーム(静止画)とその背景部分を示す背景画像との画素値を比較して、フレーム内の前景オブジェクトを抽出する方法である。背景画像は、前景オブジェクトが存在しない状態の画像であり、例えばラグビーの試合を対象に撮影を行う場合、フィールドに選手等が存在しない競技開始前に撮影するなどして得られた画像が使用される。前景背景分離部301は、背景画像と前景画像とを、撮像装置101の三次元位置を示す撮影位置情報と共に記憶させる。三次元位置は、撮影対象の3次元空間における高さ、幅、奥行きに対応する各方向における位置によって規定される。世界座標系に従った撮影位置情報は、例えば、事前に設置したマーカ等を撮影し、マーカの三次元画像計測等を行うことにより得られる。背景画像及び前景画像は記憶部302によってRAM213又は補助記憶装置214に記憶される。
【0024】
主制御部304は、視点入力装置103を介したユーザ操作に基づきカメラパス情報を作成し、仮想視点映像生成部303に提供する。ここで、カメラパス情報とは、フレーム単位の仮想視点画像が時系列に並んだ仮想視点映像に対応する、実在しない仮想的なカメラの視点(仮想視点)の変遷を示す情報である。カメラパス情報におけるカメラの位置及び姿勢は、それぞれ仮想視点の位置及び仮想視点からの視線方向に対応する。また、カメラパス情報は、カメラの位置及び姿勢を表すパラメータであって、時間的に連続する複数のパラメータによって構成される。すなわち、カメラパス情報は、仮想視点の位置及び仮想視点からの視線方向の時間的な変遷を表す仮想視点情報である。作成したカメラパス情報は、仮想視点映像生成部303に出力される。
【0025】
仮想視点映像生成部303は、前景画像に基づいて前景オブジェクトの三次元形状データを生成し、当該3次元形状データに対しカメラパス情報に従って色付け処理(テクスチャ貼り付け処理)を行って、仮想視点からの見えを表す画像を生成する。三次元形状データの生成方法としては例えば視体積交差法(shape-from-silhouette法)などがあり、特に限定しない。三次元形状データの生成の際には、撮影対象空間における前景オブジェクトの位置及び大きさも併せて特定される。生成した仮想視点映像は表示装置104に出力される。
【0026】
なお、画像処理装置102は複数存在してもよい。例えば、上述した画像取得部300、前景背景分離部301、記憶部302、仮想視点映像生成部303の各機能を持つ他の画像処理装置において仮想視点映像の生成までを行うようにしてもよい。その場合、画像処理装置102は、当該他の画像処理装置に対し、仮想視点映像を生成するためのカメラパス情報を提供する。また、画像処理装置102をCG映像のカメラパスの編集に適用することも可能である。その際は、仮想視点映像生成部303の代わりにCGレンダラーを設ければよい。この場合、後述の手法によって作成されるカメラパスはCG画像における視点の軌跡を表することになる。
【0027】
<主制御部の詳細について>
図4は、カメラパスの作成・編集に関わる主制御部304内の機能構成の一例を示すブロック図である。主制御部304は、カメラパラメータ生成部400、キーフレーム設定部401、リスト化部402、リスト保存部403、カメラパス作成部404、GUI制御部405で構成される。以下、各部について説明する。
【0028】
カメラパラメータ生成部400は、ユーザがジョイスティック等を操作して入力した仮想的なカメラの位置及び姿勢を指定する操作信号(以下、「カメラ操作信号」と呼ぶ。)を視点入力装置103から取得する。そして、取得したカメラ操作信号に基づいて、仮想視点に対応する実在しないカメラのカメラパラメータを設定する。本実施形態のカメラパラメータには、仮想視点の位置及び姿勢、ズーム、時刻といったパラメータを含む。この場合において、仮想視点の位置は、例えばX軸、Y軸、Z軸の3軸の直交座標系に従った3次元座標情報により示される。その際の原点は、撮影対象の3次元空間内の任意の位置(本実施形態ではスタジアムのフィールド中央)である。また、仮想視点に対応するカメラの姿勢は、パン、チルト、ロールの3軸との成す角度により示される。また、ズームは、例えば焦点距離により示される。また、時刻は撮影対象の試合が開始された時刻を00時00分00秒00フレームとしたタイムコードによって示される。ズームと時刻はそれぞれ1軸のパラメータである。よって、本実施形態におけるカメラパラメータは、X座標、Y座標、Z座標、パン、チルト、ロール、ズーム、タイムコードの8軸のパラメータを有することになる。なお、これら8軸以外の他の要素を規定するパラメータを含んでもよいし、これら8軸のパラメータの全てを含まなくてもよい。ユーザ操作に基づき設定されたカメラパラメータは、キーフレーム設定部401に送られる。
【0029】
キーフレーム設定部401は、カメラパラメータ生成部400から入力されるカメラパラメータと、複数の撮像装置101により撮影像が行われる期間における時刻とが対応付けられたキーフレームを生成し、フレーム指定信号と関連付けて設定する。ここで、フレーム指定信号は、複数視点映像を構成するフレーム群の中のオペレータの選択に係る特定のフレームを、キーフレームとして設定することを指示する信号であり、視点入力装置103から入力される。キーフレームは少なくとも2つ設定される必要がある。設定されたキーフレームの情報は、リスト化部402に出力される。
【0030】
リスト化部402は、GUIを介して設定された配置モードに従って、キーフレーム設定部401によって設定されたキーフレームに対応する当該キーフレームを一意に識別可能なキーフレーム情報を配置して、キーフレームが所定の順に並んだリストを作成する。キーフレームのリスト化については後述する。作成されたキーフレームリストは、リスト保存部403に出力される。
【0031】
リスト保存部403は、リスト化部402から受け取ったキーフレームリストを保存する。保存されたキーフレームリストはカメラパス作成部404によって読み出され、カメラパス情報の作成に使用される。
【0032】
カメラパス作成部404は、カメラパラメータ生成部400から入力されるカメラパラメータと、リスト保存部403によって保存されたキーフレームリストとに基づいてカメラパス情報を作成する。カメラパス情報は、複数のフレームで構成されるタイムラインによって管理され、フレームそれぞれには、仮想視点映像を構成する各画像の生成に必要な情報、具体的にはシーンの時刻と仮想視点の位置及び姿勢の情報が付される。シーンの時刻は、例えば、撮影対象の試合が開始された時刻を00時00分00秒00としたタイムコードで表される。仮想視点の位置は上述したX軸、Y軸、Z軸の3軸による3次元座標で表される。仮想視点の姿勢は上述したパン、チルト、ロールの3つの角度で表される。タイムラインに含まれるフレームの数は、1秒当たりに含まれる画像の枚数(フレームレート)によって決まる。例えば、フレームレートが60フレーム/秒の場合、1秒当たり60個のフレームが、タイムラインに含まれる。カメラパスの設定・編集において、フレームはキーフレームと中間フレームの2種類に分かれる。キーフレームは、オペレータが明示的に仮想視点の位置や姿勢等を指定するフレームである。一方、中間フレームは、キーフレーム間を埋めるフレームである。カメラパス作成部404は、オペレータが指定したキーフレームに基づき補間処理を行って、中間フレームに対応するカメラパラメータを決定する。こうして、時間的に連続するカメラパラメータの集合によって表されるカメラパス情報が得られる。
【0033】
GUI制御部405は、グラフィカルユーザインタフェースを制御し、上述のカメラパス情報を作成・編集するためのユーザ指示などを受け付ける。
【0034】
なお、上記各部を備える画像処理装置102を、CG映像のカメラパスの作成・編集に用いることも可能である。その際は、仮想視点映像生成部303の代わりにCGレンダラーを設ければよい。この場合、後述の手法によって作成されるカメラパスはCG画像における視点の軌跡を表することになる。
【0035】
(解決課題の説明)
ここで、本開示に係る技術が解決すべき課題について、図5及び図6を参照して詳しく説明する。いま、キーフレーム配置モードとして、タイムコードに沿って時系列に昇順でキーフレームを自動配置する動作モード(以下、「タイムコードモード」と呼ぶ。)を考える。なお、以下の説明において、タイムコードの小さい時刻から大きい時刻の順(昇順)に再生する場合を「順再生」、タイムコードの大きい時刻から小さい時刻の順(降順)に再生する場合を「逆再生」と定義するものとする。
【0036】
図5は、順次設定された4つのキーフレームがタイムコードモードの下で自動配置されてキーフレームリスト(以下、単に「リスト」と表記)が出来上がっていく過程を示す図である。説明の便宜上、図5に示すリスト501~504においては、設定された各キーフレームに付与される番号と対応するタイムコードだけを示している。
【0037】
リスト501は最終的に作りたい仮想視点映像(ビデオクリップ)におけるキーフレーム情報の配置を示し、リスト502~504は順次設定されるキーフレームのそれぞれの設定時点でのキーフレーム情報の配置を示している。また、図5において太字で示す箇所は、2つ目設定時点、3つ目設定時点、4つ目設定時点での追加されたキーフレームのキーフレーム情報をそれぞれ示している。前述のとおり、タイムコードモードでは、タイムコードに沿って時系列に昇順で並ぶようにキーフレーム情報が配置される。よって、タイムコードが“20:05:53:15”の3つ目のキーフレームが設定されたとき、当該キーフレームのキーフレーム情報はNo.2の位置に自動的に配置される(リスト503を参照)。同様に、タイムコードが“20:05:48:08”の4つ目のキーフレームが設定されたときにも、当該キーフレームのキーフレーム情報はNo.2の位置に配置される(リスト504を参照)。このようにタイムコードモードでは、タイムコードの数字が小さいものから大きいものへと上から順に並ぶようにキーフレーム情報が配置される。そのため、再生方向が順再生のビデオクリップを作成する場合においては、オペレータは手動でキーフレーム情報を並び替える必要がなく便利である。しかしながら、逆再生のビデオクリップを作成する場合には、タイムコードモードでは逆に都合が悪い。以下の問題は、例えば、順再生と逆再生とが混在するカメラパスを生成する場合に発生する。図6を用いてその理由を説明する。
【0038】
図6においても図5と同様、最終的に作りたいビデオクリップのリスト601が左端に示されている。いま、オペレータが作成したいビデオクリップにおいては、No.1~4が順再生の映像部分であり、No.5~7が逆再生の映像部分である。順再生のNo.1~4については、タイムコードに沿って昇順でキーフレームが配置されることで問題は生じない(リスト602を参照)。しかし、逆再生になる5つ目のキーフレーム情報が昇順で配置されると、リスト603のようになってしまい、これではオペレータの意図するキーフレーム情報の配置(リスト601を参照)と合致しなくなってしまう。この場合、5つ目のキーフレームを設定した時点でオペレータは、No.4の位置に配置されたキーフレーム情報を、No.5の位置に再配置して、リスト604の状態にする必要がある。同様に、6つ目のキーフレームを設定した際にはリスト605が示すようにNo.3の位置に当該キーフレームのキーフレーム情報が配置されてしまうため、オペレータはNo.6の位置に再配置してリスト606の状態にしなければならない。そして、7つ目のキーフレームを設定した際にもリスト607が示すようにNo.2の位置に当該キーフレームのキーフレーム情報が配置されてしまうため、オペレータはNo.7の位置に再配置し、目的とするリスト601の状態にしなければならない。オペレータは、新たに追加したキーフレームに対応するキーフレーム情報がリスト内のどこに配置されるかを認識し、正しい配置を意識しながらキーフレームの設定とキーフレーム情報の並び替えを繰り返す必要があり、ビデオクリップを作成する際の負担が大きかった。
【0039】
本開示の技術は、カメラパス情報作成時におけるオペレータの負担を軽減すべく、目的とするビデオクリップにおける再生方向に応じて、順次設定されるキーフレームを特定する情報を適切に自動配置する方法について提案するものである。
【0040】
(カメラパス情報の作成)
続いて、主制御部304におけるカメラパス情報の作成処理の詳細について説明する。図7は、本実施形態に係る、作成したいビデオクリップにおける再生方向を考慮したカメラパス情報を作成する際の制御の流れを示すフローチャートである。図7のフローチャートで示される一連の処理は、画像処理装置102のCPU211がROM212に記憶されているプログラムコードをRAM213に展開し実行することにより行われる。また、本実施形態におけるステップの一部または全部の機能をASICまたは電子回路等のハードウェアで実現してもよい。また、図8は、カメラパス情報を作成・編集するためのGUIとコントローラの一例を示す図である。2つのUI画面801及び802は表示装置104に表示され、コントローラ803は視点入力装置103の操作部を構成する。UI画面801には、仮想視点映像の基になる複数視点画像や、カメラパス情報に基づき生成された仮想視点映像が表示される。UI画面802は、配置モードやキーフレームの設定、作成したカメラパスの確認などに使用される。オペレータは、例えば編集中の各フレームにおける仮想視点からの見えを表す画像をUI画面801上で確認しながら、UI画面802に表示されるカメラパスを編集することが可能である。なお、以下の説明において記号「S」はステップを意味するものとする。
【0041】
S701では、GUIを介したオペレータの操作に従って、キーフレーム配置モードが設定される。図9(a)~(c)は、GUIの一例を説明するための図である。図9の(a)及び(b)は、キーフレームのリスト化に関する設定を行うためのGUIの一例を示している。図9(a)において、左上の「Key Order」のフィールド901には、設定中の配置モードの名称が示される。フィールド901をオペレータがクリックすると、図9(b)に示すように選択肢がプルダウン表示される。それぞれの選択肢が示す内容は以下のとおりである。
・Time Code:タイムコードに沿って時系列に昇順で配置する動作モード
・Key Frame:キーフレームの設定順に配置する動作モード
・Play x Time Code:再生方向を加味しつつタイムコードに沿って時系列に配置する動作モード
【0042】
オペレータは、プルダウン表示された上記選択肢の中から所望の配置モードを選択する。いま、再生方向を考慮したカメラパス情報を作成するための「Play x Time Code」がオペレータによって選択されている状態である。そして、「Key Order」の下には、以下の各項目名が示されている。
・「並び替えボタン(▲▼)」
・「キーフレーム番号(Key No.)とタイムコード(hh:mm:ss:ff)」
・「再生方向(Play dir.)」
・「仮想的なカメラの位置及び姿勢(Camera Position)」
【0043】
これら各項目に対応する情報が、キーフレームが設定される都度追加されていき、キーフレームリストが完成することになる。また、このとき、設定されたキーフレームに対応するキーフレーム情報902が、フィールド901の下に配置される。
【0044】
「並び替えボタン(▲▼)」は、オペレータが手動でリスト内のキーフレーム情報を並び替えるときに使用する。上向きボタンを押すと選択中のキーフレーム情報が上のキーフレーム情報と入れ替わる。同様に下向きボタンを押すと選択中のキーフレーム情報が下のキーフレーム情報と入れ替わる。
【0045】
「キーフレーム番号(Key No.)」は、リスト内のキーフレーム情報の配置順を示し、作成されるビデオクリップにおける再生順に並ぶ。キーフレーム番号の下には、当該キーフレームに対応するタイムコードが示される。なお、タイムコードの“hh”は時間、“mm”は分、“ss”は秒、“ff”はフレーム番号を表している。いま、図9(a)では、「20時5分46秒の58フレーム目」のタイムコードを持つキーフレームが1つだけ設定された状態である。
【0046】
「再生方向(Play dir.)」には、再生方向に関する情報、具体的には順再生なのか逆再生なのかが表示される。
【0047】
「カメラ位置及び姿勢情報(Camera Position)」には、キーフレームに関連付けられている仮想視点の位置がXYZの3つの座標で、姿勢がPan(パン)、Tilt(チルト)、Role(ロール)の3つの角度でそれぞれ示される。
【0048】
以下、配置モードとして「Play x Time Code」が選択されているとの前提で、S702以降の説明を行う。なお、配置モードとして「Time Code」や「Key Frame」が設定された場合のキーフレームの配置制御については周知であり説明を省くものとする。
【0049】
S702では、オペレータがこれから設定するキーフレームが、リスト内に設定済みの編集エリアのうち注目する編集エリア(以下、「カレント編集エリア」と呼ぶ。)に対しての追加であるのか否かが判定される。ここで、編集エリアとは、再生方向が同じキーフレーム群を一つの設定単位とするリスト内の領域を意味し、オペレータによって指定される(後述のS710)。図10は、オペレータがGUIを介して編集エリアを設定する様子を示す図である。図10に示すように、オペレータは、1又は複数のキーフレーム情報を選択した状態で右クリックしてコンテキストメニュー1001を表示させ、“Edit Area”を選択することで編集エリアを設定する。これにより、ユーザ選択に係る任意のキーフレーム情報で構成される編集エリアが設定される。図10の例では、4つのキーフレーム情報を含む編集エリアが設定されている。図11は、オペレータが2つの設定済みの編集エリアの中からカレント編集エリアを選択して設定する様子を示す図である。図11に示すように、オペレータはカレント編集エリアとして選択したい領域上で右クリックしてコンテキストメニュー1001を表示させ、今度は“Current Edit Area”を選択する。これによりカレント編集エリアが設定される。図11の例では、カレント編集エリアが設定された際、他の編集エリアと区別できるように、カレント編集エリア内のタイムコードを太字で表示している。ただし、オペレータが容易に判別できればよいので、例えば背景の色を変えるなどでもよい。なお、図示していないが、カレント編集エリアが設定されている状態で当該領域に対して解除操作を行うことで、カレント編集エリアの設定状態を解除することができる。本ステップでは、図11に示したカレント編集エリアの選択操作が検知されればS711に進む。一方、カレント編集エリアの選択操作が検知されなければS703に進む。なお、処理開始直後の段階(設定されたキーフレームに対応するキーフレーム情報がリスト内に存在しない状態)では設定済みの編集エリアがそもそも存在しないため、必ずS703に進むことになる。
【0050】
S703では、キーフレーム設定部401が、これから設定されるキーフレームに対する再生方向を、GUIを介したユーザ指示に基づき設定する。オペレータは、図9(c)に示すように「Play dir.」の部分をクリックし、プルダウン表示される選択肢の中から、順再生を意味する“Forward”或いは逆再生を意味する“Reverse”を選択する。当該選択操作に従って、再生方向が設定される。いま、図9(a)の例では順再生を表す「Forward」が設定されている状態である。
【0051】
S704では、カメラパラメータ生成部400が、視点入力装置103から送られてくるカメラ操作信号に基づき、前述のカメラパラメータを生成する。続くS705では、キーフレーム設定部401が、視点入力装置103から送られてくるフレーム指定信号に基づき、キーフレームを設定する。この際、S704にて生成されたカメラパラメータが当該キーフレームに関連付けられる。こうして設定されたキーフレームの情報は、リスト化部402に送られる。
【0052】
次のS706では、リスト化部402が、S705にて設定されたキーフレームに対応するキーフレーム情報を配置する処理をタイムコード昇順で行うのかタイムコード降順で行うのかを、S703にて設定された再生方向に基づき決定する。設定されている再生方向が「順再生」であればS707に進み、「逆再生」であればS708に進む。
【0053】
S707では、リスト化部402が、S705で設定されたキーフレームのキーフレーム情報をタイムコード昇順でリスト内に配置する。一方、S708では、リスト化部402が、S705で設定されたキーフレームのキーフレーム情報をタイムコード降順でリスト内に配置する。
【0054】
S709では、再生方向が同じキーフレームの設定を継続するか、上述の編集エリアの設定を行うかが判定される。視点入力装置103からカメラ操作信号が続けて新たに入力されれば、カメラパラメータの生成とキーフレームの設定を継続するべく、S704に戻る。一方、前述の編集エリアを設定するユーザ操作が検知されれば、S710に進む。そして、S710では、リスト化部402が、当該ユーザ操作によって指定された範囲を編集エリアとして設定する。編集エリアの設定後は、S717に進む。
【0055】
S717では、作成対象のビデオクリップについてのキーフレーム設定を終了するか否かが判定される。例えば、オペレータがGUIを介してキーフレームリストの保存を指示する操作(例えば、不図示の“Save”ボタンを押下)が検知された場合には、キーフレームの設定作業が終了したと判定してS718に進む。一方、キーフレームリストの保存指示がなければS702に戻って処理が続行される。
【0056】
戻った先のS702の判定処理にてカレント編集エリアの選択が検知された場合のS711では、S704と同様、カメラパラメータ生成部400が、視点入力装置103から送られてくるカメラ操作信号に基づき、前述のカメラパラメータを生成する。続くS712では、S705と同様、キーフレーム設定部401が、視点入力装置103から送られてくるフレーム指定信号に基づき、S711にて生成されたカメラパラメータを関連付けてキーフレームを設定する。
【0057】
S713では、リスト化部402が、S712にて設定されたキーフレームに対応するキーフレーム情報の配置処理をタイムコード昇順で行うのかタイムコード降順で行うのかを、カレント編集エリアに対し設定されている再生方向に基づき決定する。そして、カレント編集エリアの再生方向が「順再生」であればS714に進み、「逆再生」であればS715に進む。
【0058】
S714及びS715は、前述のS707とS708にそれぞれ対応する。すなわち、S714では、S712で設定されたキーフレームのキーフレーム情報がタイムコード昇順でカレント編集エリア内に配置され、S715では、S712で設定されたキーフレームのキーフレーム情報がタイムコード降順でカレント編集エリア内に配置される。カレント編集エリアには配置済みのキーフレーム情報が存在しているので、新たに追加されたキーフレームのキーフレーム情報は、タイムコードと再生方向に従って適切な位置に挿入されることになる。この際、追加されたキーフレームのキーフレーム情報がどこに配置されたのかオペレータが把握できるよう、例えば該当するキーフレームの番号とタイムコードの部分を反転表示(白抜き文字で表示)すなどの強調表示を行うのが望ましい。
【0059】
S716では、カレント編集エリアに対するキーフレームの追加を継続するか否かが判定される。視点入力装置103からカメラ操作信号が新たに入力されれば、カメラパラメータの生成とキーフレームの追加設定を継続するべく、S711に戻る。一方、カレント編集エリアの設定を解除するユーザ操作が検知されれば、前述のS717に進み、キーフレームの設定を継続するか否かが判定される。
【0060】
S718では、リスト保存部403が、ここまでの処理で作成されたキーフレームリストをRAM213に保存する。そして、S719では、カメラパス作成部404が、リスト保存部403が保存したキーフレームリストをRAM213から読み出して取得し、当該キーフレームリストに基づいてカメラパス情報を作成する。
【0061】
以上が、本実施形態に係る、作成したいビデオクリップにおける再生方向を考慮したカメラパス情報を作成する処理の流れである。
【0062】
<変形例>
前述した図7のフローチャートでは、カレント編集エリア内に既に存在するキーフレーム情報と同一のタイムコードを持つキーフレームが追加される場合を想定していない。そこで、同一のタイムコードを持つキーフレームが追加された場合にも対応できるよう、さらに仮想視点間の距離や姿勢の類似度を、配置の際の基準として用いてもよい。図12は、図11に示す領域1100がカレント編集エリアに設定され、No.3のキーフレームと同じタイムコードを持つ2つのキーフレーム1201及び1202が追加された際に仮想視点間の距離を基準として配置した結果を示している。追加前のカレント編集エリア1100においてNo.2に配置されているキーフレームの仮想視点位置は(x, y, z)=(3.0, 1.0, 1.0)である。追加後のカレント編集エリア1200では、上記No.2のキーフレームにおける仮想視点位置により近い仮想視点位置(x, y, z)=(4.0, 1.0, 1.0)が対応付けられたキーフレーム1201が新たにNo.3の位置に配置されている。そして、仮想視点位置(x, y, z)=(6.0, 1.0, 1.0)が対応付けられたキーフレーム1202については上記No.2のキーフレームにおける仮想視点位置から一番離れているためNo.5の位置に配置されている。このように、仮想視点間の距離を基準とすることでタイムコードが同じキーフレームが追加された場合にもカレント編集エリア内の適切な位置にそのキーフレーム情報を挿入することができる。なお、仮想視点間の距離も同じである場合には、双方のキーフレームにおける仮想視点の姿勢が、直近の仮想視点の姿勢により近い方のキーフレーム情報をより上位に配置するようにすればよい。さらには、同じタイムコードを持つキーフレームが追加された場合の対応として、仮想視点間の距離に代えて、キーフレームの設定順で配置するようにしてもよい。図13は、図11に示す領域1110がカレント編集エリアに設定され、No.9のキーフレームと同じタイムコード「20:05:47:23」を持つキーフレームが追加された際にキーフレームの設定順を基準として配置した結果を示している。追加前のカレント編集エリア1110においてNo.8に配置されているキーフレームの仮想視点位置は(x, y, z)=(4.0, 1.0, 1.0)である。追加後のカレント編集エリア1300では、上記No.8のキーフレームの仮想視点位置により近い仮想視点位置(x, y, z)=(3.0, 1.0, 1.0)のキーフレーム1301が、No.9ではなくNo.10に配置されているのが分かる。
【0063】
また、カレント編集エリアに対して追加されたキーフレームのキーフレーム情報については、再生方向やタイムコードに関わらず、当該カレント編集エリアの一番上又は一番下に常に配置するようにしてもよい。この場合、キーフレームを追加する都度、オペレータはキーフレーム情報の並び替えを行う必要があるが、常にカレント編集エリア内の最初或いは最後に配置されることで並び替える際の混乱を減らすことができる。
【0064】
また、前述した図7のフローチャートは、キーフレームの設定作業を開始する当初から配置モードとして「Play x Time Code」が選択されたことを前提としていた。しかしながら、当初は別の配置モードでキーフレームの設定作業を行い、途中から「Play x Time Code」に切り替える場合にも、上述した制御内容は同様に適用可能である。図14は、「Time Code」の下でキーフレームの設定作業を行って得られたキーフレームリストの一例を示している。計10個のキーフレーム情報がタイムコード昇順で並んでいるのが分かる。ここまでのキーフレーム設定作業を終えたオペレータが「Play x Time Code」に配置モードを変更した上で、所望の順序となるように並べ替えを行う場合、以下のようになる。いま、オペレータが、No.1、No.5、No.7、No.9のキーフレームを順再生、次にNo.3、No.6、No.8のキーフレームを逆再生、最後にNo.2、No.4、No.7、No.10のキーフレームを順再生で並べたいと考えているとする。この場合、オペレータは、まず、No.1、No.5、No.7、No.9のキーフレーム情報を選択して編集エリアを設定した後、続けてカレント編集エリアとして選択して再生方向を順再生に設定する。続いてオペレータは、No.3、No.6、No.8のキーフレーム情報を選択して編集エリアに設定した後、続けてカレント編集エリアとして選択して再生方向を逆再生に設定する。そして、No.2、No.4、No.7、No.10のキーフレーム情報を選択して編集エリアに設定した後、続けてカレント編集エリアとして選択して再生方向を順再生に設定する。このような操作を行うことで、図15に示すように所望のキーフレームリストが得られる。
【0065】
本実施形態によれば、目的とするビデオクリップにおける再生方向に応じて、オペレータが順次設定したキーフレームのキーフレーム情報が適切に配置される。これにより、オペレータの作業負担を軽減することができる。
【0066】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0067】
100 画像処理システム
101 撮像装置
102 画像処理装置
103 視点入力装置
104 表示装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15