JP2022171435A - 情報処理装置及びその制御方法、プログラム - Google Patents

情報処理装置及びその制御方法、プログラム Download PDF

Info

Publication number
JP2022171435A
JP2022171435A JP2021078079A JP2021078079A JP2022171435A JP 2022171435 A JP2022171435 A JP 2022171435A JP 2021078079 A JP2021078079 A JP 2021078079A JP 2021078079 A JP2021078079 A JP 2021078079A JP 2022171435 A JP2022171435 A JP 2022171435A
Authority
JP
Japan
Prior art keywords
virtual viewpoint
keyframes
keyframe
key frames
virtual
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.)
Pending
Application number
JP2021078079A
Other languages
English (en)
Inventor
喜彦 湊
Yoshihiko Minato
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 JP2021078079A priority Critical patent/JP2022171435A/ja
Publication of JP2022171435A publication Critical patent/JP2022171435A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

【課題】異なる仮想視点の移動経路が混在する場合においても適切に経路情報を設定できるようにする。【解決手段】情報処理装置は、仮想視点映像に係る仮想視点の位置、仮想視点からの視線方向、及び、前記仮想視点映像に対応する時刻を含む、複数のキーフレームを設定し、複数のキーフレームから、隣り合うキーフレームの仮想視点の位置及び仮想視点からの視線方向のうち少なくともいずれかの変化が所定の条件を満足し、時刻が一方向に変化するキーフレームの並びをグループとして抽出することにより、複数のキーフレームをグループに分け,グループに含まれているキーフレームの並びに基づいて、複数のキーフレームに含まれる仮想視点の位置及び仮想視点からの視線方向を補間することにより、仮想視点の経路情報を生成する。【選択図】 図2

Description

本開示は、情報処理装置及びその制御方法、プログラムに関する。
異なる位置に設置した複数の撮像装置で同じ被写体(オブジェクト)を同期撮影し、得られた多視点画像を用いて、3次元空間内に仮想的に配置した仮想視点(仮想カメラともいう)からの映像である仮想視点映像を生成する技術が注目されている。このような多視点画像から仮想視点映像を生成する技術によれば、例えば、サッカーやバスケットボールのハイライトシーンを様々な角度から視聴することができるため、通常の映像と比較して視聴者に高臨場感を与えることができる。
また、仮想視点の位置及び仮想視点からの視線方向(以下、単に視線方向ともいう)の変化を表す経路情報(仮想カメラパスともいう)に従って、仮想視点の位置と姿勢を変化させて仮想視点映像を生成することが知られている。この手法によれば、経路情報に従って変化する仮想視点に対応する仮想視点映像を生成することができる。特許文献1には、仮想視点の位置、姿勢、時刻を示すキーフレームを指定し、キーフレーム間における各時刻の仮想視点の位置姿勢を補間により生成する技術が記載されている。また、特許文献1には、タイムコードをタイムライン時刻に変換するための構成が記載されている。
特開2012-60280号公報
仮想視点映像の生成においては、映像における所定の時間範囲において複数の仮想視点の移動経路が混在する場合がある。例えば、所定の時間範囲において、異なる再生方向に対応する仮想視点の移動経路が設定される場合について考える。ここで、再生方向とはタイムコードの小さい時刻から大きい時刻の順(昇順)に再生するものを順再生、タイムコードの大きい時刻から小さい時刻の順(降順)に再生するものを逆再生とする。所定の時間範囲において順再生の移動経路と逆再生の移動経路とが混在する場合、特許文献1のようにキーフレームをタイムライン時刻上に並べても、2つの移動経路が区別されず、適切な移動経路が設定されないおそれがある。このように、異なる仮想視点の移動経路が混在する場合に、適切な仮想視点の移動経路が設定されないという問題があった。
本開示は、異なる仮想視点の移動経路が混在する場合においても適切に経路情報を設定できるようにすることを目的とする。
本開示の一態様による情報処理装置は以下の構成を備える。すなわち、
仮想視点映像に係る仮想視点の位置、仮想視点からの視線方向、及び、前記仮想視点映像に対応する時刻を含む、複数のキーフレームを設定する設定手段と、
前記複数のキーフレームから、隣り合うキーフレームの仮想視点の位置及び仮想視点からの視線方向のうち少なくともいずれかの変化が所定の条件を満足し、時刻が一方向に変化するキーフレームの並びをグループとして抽出することにより、前記複数のキーフレームをグループに分けるグループ化手段と、
前記グループに含まれているキーフレームの並びに基づいて、前記複数のキーフレームに含まれる仮想視点の位置及び仮想視点からの視線方向を補間することにより、仮想視点の経路情報を生成する生成手段と、を備える。
本開示によれば、異なる仮想視点の移動経路が混在する場合においても適切に経路情報を設定することができる。
実施形態による情報処理装置のハードウェア構成例を示すブロック図。 実施形態によるキーフレーム編集機能の機能構成例を示すブロック図。 仮想カメラパス編集用のユーザーインターフェースを例示する図。 設定したキーフレームがタイムコード順に配置される例を説明する図。 設定したキーフレームがタイムコード順に配置される場合の課題を説明する図。 実施形態によるキーフレーム編集処理を示すフローチャート。 実施形態によるキーフレームのグループ分け処理を示すフローチャート。 グループ分け処理を実施前のキーフレーム配置リストの例を示す図。 グループ分け処理を実施後キーフレーム配置リストの例を示す図。 キーフレームのグループの再生方向を設定するUIを説明する図。 再生方向が設定されたキーフレーム配置リストの例を示す図。 再生方向を設定されたキーフレーム配置リストの例を示す図。
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は本開示を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
図1は、実施形態における情報処理装置10のハードウェア構成例を説明する図である。CPU101は、RAM102やROM103に格納されているコンピュータプログラムやデータを用いて情報処理装置10の全体を制御する。なお、情報処理装置10がCPU101とは異なる専用の1つ又は複数のハードウェアやGPU(Graphics Processing Unit)を有し、CPU101による処理の少なくとも一部を専用のハードウェアやGPUが行ってもよい。専用のハードウェアの例としては、ASIC(特定用途向け集積回路)、およびDSP(デジタルシグナルプロセッサ)などがある。RAM102は、ROM103から読み出されたコンピュータプログラムやデータ、入出力I/F104を介して外部から供給されるデータなどを一時的に記憶する。ROM103は、変更を必要としないコンピュータプログラムやデータを保持する。入出力I/F104は、外部装置とのデータの入出力を行う。例えば、入出力I/F104は、図3の参照により後述する編集コントローラやGUI等を表示する表示部などとデータの入出力を行う。
情報処理装置10は、キーフレーム間の仮想視点の位置及び仮想視点からの視線方向を含むパラメータを補間して仮想視点の経路を示す経路情報を生成する。なお、以下の説明においては、説明の便宜のため、仮想視点を仮想的なカメラ(仮想カメラ)に置き換えて説明する場合がある。すなわち、仮想視点の位置及び仮想視点からの視線方向は、それぞれ、仮想カメラの位置及び仮想カメラの姿勢に対応する。また、以下の説明では、仮想視点の位置及び仮想視点からの視線方向の変化を表す経路情報を、仮想カメラパスともいう。
ここで、本実施形態において解決すべき課題について説明する。仮想視点映像の生成においては、例えば、所定の時間範囲において、異なる再生方向に対応する仮想カメラパスが設定される場合がある。具体例としては、得点シーンなどのハイライトになり得るシーンにおいて、あるアングルからの映像を再生させ、続けて同じシーンを別アングルから逆再生する場合等がありうる。このように所定の時間範囲(シーン)において順再生と逆再生とを混在させるような仮想カメラパスを生成するには、ユーザは映像の再生方向に従った順番でキーフレームを指定していく必要がある。しかしながら、この指定方法だと、一度指定した2つのキーフレームの間に後からキーフレームを挿入するといった処理は困難となる。一方、ユーザにより設定されたキーフレームを自動的に時系列順に並べ替える構成とすると、順再生の仮想カメラパスと逆再生の仮想カメラパスとが区別されずに全てのキーフレームが時系列順に並べられる。この問題は、準再生と逆再生との2つの仮想カメラパスが混在する場合に限らず、例えば順再生の異なる仮想カメラパスが2つ混在するような場合にも生じうる。このように、所定の時間範囲において異なる仮想カメラパスが混在する場合に、適切な仮想カメラパスを設定することが困難となる場合があった。
本実施形態では、ユーザにより指定された複数のキーフレームをグループ分けし、キーフレームの並びを設定することにより、複数の仮想カメラパスが混在する場合であっても適切に仮想カメラパスが設定されるようにする。
図2は、情報処理装置10(図1記載)の仮想カメラパス生成に係る機能構成(仮想カメラパス編集部20)の一例を示す図である。各機能部は、上述したように、CPU101により実現されてもよいし、専用のハードウェア或いはGPUとCPU101との協働により実現されてもよいし、専用のハードウェア或いはGPUにより実現されてもよい。
仮想カメラパス編集部20は、操作部201、キーフレーム設定部202、キーフレーム保存部203、グループ化部204、パス生成部207、再生方向設定部208を備える。グループ化部204は、分析部205とグループ設定部206を含む。仮想カメラパス編集部20は、仮想カメラのカメラパスを構成する一連のパラメータ群(以下、仮想カメラパラメータとも称する)を決定する。仮想カメラとは、撮影装置群21が有する複数のカメラが撮影した複数の撮影画像に基づいて仮想視点映像生成部22が仮想視点画像を生成するための視点(仮想視点)である。
仮想カメラパラメータにより指定される仮想カメラの位置は、例えば、3次元座標により表される。例えば、仮想カメラパラメータにより指定される位置は、X軸、Y軸、Z軸の3軸の直交座標系の座標により示されてもよい。この場合、位置を示すための仮想カメラパラメータは、X軸、Y軸、Z軸の3軸のパラメータから構成され得る。なお、3次元座標の原点は3次元空間内の任意の位置とすることができる。仮想カメラパラメータにより指定される仮想カメラの姿勢は、例えば、パン、チルト、ロールの3軸とのなす角度により示され得る。この場合、仮想カメラパラメータにより指定される仮想カメラの姿勢はパン、チルト、ロールの3軸のパラメータから構成され得る。仮想カメラパラメータにより指定される仮想カメラのズームは、例えば、焦点距離の1軸により示され、ズームと時刻はそれぞれ1軸のパラメータである。以上のように、位置(3軸)、姿勢(3軸)、ズーム(1軸)、時間(1軸)を指定する場合、仮想カメラパラメータは8軸のパラメータを有することになる。
本実施形態の仮想カメラパス編集部20はこれらの8軸を制御可能である。なお、仮想カメラパラメータは他の要素を規定するパラメータを含んでもよいし、上述した8軸のパラメータの全てを含まなくてもよい。仮想カメラパス編集部20は、決定した一連の仮想カメラパラメータ群を、仮想カメラパスとして仮想視点映像生成部22へ送信する。仮想視点映像生成部22は、撮影装置群21から取得される複数のカメラによる撮影画像と、仮想カメラパス編集部20から受信した仮想カメラパスを元に仮想視点映像を生成する。
操作部201は、ユーザによる仮想カメラの操作を受け付け、その操作結果に対応する仮想カメラパラメータをパス生成部207に出力する。仮想カメラパラメータは、仮想カメラの位置及び姿勢(向き)、時刻(タイムコード)を示すパラメータを含む。ただし、仮想カメラパラメータに含まれるパラメータはこれに限られるものではなく、例えば上述したような仮想カメラのズームを示すパラメータが含まれてもよい。また、操作部201は、キーフレームを設定する旨のユーザ操作に応じてキーフレーム設定情報をキーフレーム設定部202へ出力する。キーフレーム設定情報は、パス生成部207へ出力中の仮想カメラパラメータと、この仮想カメラパラメータをキーフレームに設定することを示すキーフレーム設定指示とを含む。
キーフレーム設定部202は、操作部201から入力されたキーフレーム設定情報(仮想カメラパラメータとキーフレーム設定指示)をもとにキーフレームを設定し、キーフレーム保存部203に出力する。キーフレーム保存部203は、キーフレーム設定部202から出力されたキーフレームを保存する。グループ化部204は、キーフレーム保存部203に保存された複数のキーフレームをグループに分ける。グループ化部204の分析部205は、キーフレーム設定部202で設定され、キーフレーム保存部203に保存されたキーフレームを分析し、保存されたキーフレームをグループ分けするための情報をグループ設定部206に出力する。グループ設定部206は、分析部205による分析結果に基づいてキーフレーム保存部203に保存されたキーフレームのグループ分けを行い、グループ分けされたキーフレームをキーフレーム保存部203に保存する。再生方向設定部208は、操作部201からのユーザ操作に応じて、グループ化されたキーフレームの並びの再生方向(時間の進む方向への順再生、時間が戻る方向への逆再生)を設定する。
パス生成部207は、キーフレーム保存部203に保存されたキーフレームの並びにおけるキーフレーム間を補間して仮想カメラパス(仮想カメラパラメータのシーケンス)を生成する。ここで、仮想カメラパスは、時間的に連続する仮想カメラパラメータにより表される。パス生成部207は、生成した仮想カメラパスを仮想視点映像生成部22に出力する。なお、仮想カメラパスの編集中においては、パス生成部207は操作部201から出力される仮想カメラパラメータを仮想視点映像生成部22に出力する。これにより、ユーザにより操作された仮想カメラに応じた仮想視点画像が仮想視点映像生成部22により生成され、ユーザは操作中の仮想カメラからの仮想視点画像を確認することができる。
撮影装置群21は、仮想視点映像の生成に用いられる複数の画像を撮影するための複数台のカメラを有する。撮影装置群21は、競技フィールド等を取り囲むように設置された複数台のカメラによる同期撮影を行うとともに、撮影された映像を仮想視点映像生成部22に出力する。同期撮影では、複数台のカメラが同時に撮影を行うことにより、同時刻の複数の映像(多視点画像)が得られる。仮想視点映像生成部22は、パス生成部207から出力される仮想カメラパスによって示される仮想パラメータでの仮想視点映像を順次に生成する。具体的には、仮想視点映像生成部22は、撮影装置群21が撮影した映像を保持し、保持した映像に基づいて仮想カメラパラメータにより示される時刻の形状データ(3次元モデル)を生成する。そして、仮想視点映像生成部22は、パス生成部207から入力された仮想カメラパラメータにより示される仮想視点(位置・視線方向)でテクスチャをマッピングすることで、仮想視点映像を生成する。生成された仮想視点映像は、入出力I/F104を介して外部装置等へ出力される。
なお、本実施形態の情報処理装置10をCG映像のカメラパスを編集するために使用することも可能である。その場合、仮想視点映像生成部22の代わりにCGレンダラーが用いられる。仮想カメラはCG画像の視点を表し、仮想カメラは、CG空間内の任意の位置に移動できる。
ここで、仮想カメラパスについて説明する。仮想カメラパスとは、複数枚の仮想視点画像やCG画像を順に再生することで作成される動画において、仮想カメラの動きを定義するものである。この仮想カメラパスは、上述したような仮想カメラパラメータの集合であり、フレームとタイムラインで管理される。フレームは、動画を構成する各画像の生成に必要な情報である。より具体的には、フレームは、シーンの時刻を表す情報(タイムコード)と、仮想カメラの位置および姿勢を表す情報を含む。シーンの時刻は、例えば、撮影対象の試合が開始された時刻を00時00分00秒00フレームとしたタイムコードで表わされる。なお、フレームに含まれる時刻(タイムコード)は、仮想視点映像の再生時刻に対応する情報であってもよい。仮想カメラの位置は、例えば、撮影空間内に設定された原点を用いて、上述したようにX、Y、Zの3つの座標で表される。仮想カメラの姿勢は、例えば、上述したようにパン、チルト、ロールの3つの角度で表される。また、タイムラインに含まれるフレームの枚数は、1秒当たりに再生する画像の枚数(フレームレート)によって決まる。例えば、フレームレートが60フレーム/秒の場合、1秒当たり60枚のフレームが、タイムラインに含まれる。
キーフレームを用いた仮想カメラパス編集において、フレームはキーフレームと中間フレームの2種類に分かれる。キーフレームは、仮想カメラパスを編集するユーザによって明示的に仮想カメラパラメータが指定されたフレームである。一方、中間フレームは、キーフレーム間のフレームであり、仮想カメラパス編集部20がキーフレーム間を補間して仮想カメラパラメータを決定する。
図3は、操作部201が有する、仮想カメラパスを編集するためのUI(ユーザインタフェース)の例である。仮想カメラ映像表示部301は、仮想視点映像生成部22が生成した映像、つまり、仮想カメラから見た映像を表示する。経路情報表示部302は、カメラパスやキーフレームに関する情報などを表示する。編集コントローラ303は、仮想カメラパスを編集するためにユーザが使用するコントローラである。なお、上述したように仮想カメラパス編集部20(パス生成部207)は、ユーザの編集対象となっているフレームの情報(仮想カメラパラメータ)を常に仮想視点映像生成部22へ送信する。仮想視点映像生成部22は、受信したフレームの情報をもとに仮想視点映像を生成する。生成された仮想視点映像は、仮想カメラ映像表示部301に送信され、表示される。これにより、ユーザは、編集対象のフレームの仮想カメラから見た画像を確認しながらカメラパスを編集することが可能となる。
次に、図4と図5を用いて一般的な仮想カメラパスの編集機能が有する課題についてより具体的に説明する。キーフレームの配置については、タイムコードに基づいた順、またはユーザがキーフレームを設定した順番に配置することが考えられる。前者のタイムコードに基づいた順に配置することは、キーフレームを追加設定する場合に、手動でキーフレームを並べ替える必要がなく、便利である。
例えば、図4はタイムコードの昇順にキーフレームを配置する例である。説明をわかりやすくするために、最終的に作りたいクリップにおけるキーフレームの配置を図4(a)に示し、キーフレームが順次追加されていく様子を図4(b)~(d)に示す。また、ユーザ操作により新たに追加されたキーフレームを太字で示す。図4(b)では、1つ目のキーフレーム401と2つ目のキーフレーム402が設定されている。図4(c)において、3つ目のキーフレーム403が設定された場合、この追加されたキーフレーム403は、タイムコードの昇順になるようNo.2の位置に自動的に配置される。同様に図4(d)において、4つ目のキーフレーム404が追加されたときにも、キーフレーム404はNo.2の位置に自動的に配置される。こうして、図4(a)と同様のキーフレームの配置を有するクリップが自動的に生成される。すなわち、常にタイムコード順にキーフレームが配置されることで、ユーザは並び替えを行う必要がなく、順再生のクリップを作成する際にはユーザにとって利便性がある。
しかし、順再生と逆再生が混在する映像クリップを作成する際にはこれでは都合が悪い。この理由について図5を用いて説明する。説明をわかりやすくするため、図4と同様に最終的に作りたいクリップにおけるキーフレームの配置を図5(a)に示し、キーフレームが順次追加されていく様子を図5(b)~(g)に示す。また、追加されたキーフレームを太字で示す。図5(a)に示されるように、作成したいクリップでは、キーフレームNo.1~4は順再生となっており、キーフレームNo.5~7は逆再生となっている。
4つ目のキーフレームの設定を示す図5(b)までは順再生なので、タイムコードの昇順に配置されることで問題はない。しかしながら、5つ目のキーフレーム以降の設定では逆再生になるため不都合が生じる。図5(c)に示されるように、新たに追加されたキーフレーム501がタイムコードに基づいて自動的に配置されると、No.4の位置に配置される。しかしながら、作成したいクリップ(図5(a))によれば、ユーザはこのキーフレーム501をNo.5の位置に配置したい。このため、ユーザは、キーフレーム501をNo.4の位置からNo.5の位置に再配置して、図5(d)に示される状態にする必要がある。同様に図5(e)において、6つ目のキーフレーム502が設定されると、キーフレーム502は自動的にNo.3の位置に配置されてしまう。ユーザは、キーフレーム502をNo.3の位置からNo.6の位置に再配置して図5(f)の状態にする。図5(g)の7つ目のキーフレーム503の設定においても同様の操作が必要となる。こうして、最終的に図5(a)に示されるキーフレーム配置のクリップが作成される。
このように、順再生と逆再生が混在する仮想カメラパスの編集(クリップの作成)では、ユーザは新たに追加したキーフレームがどこに配置されるかを認識し、かつ、どこに配置すべきかを意識しながらキーフレームを設定する必要がある。このことは、仮想カメラパスを作成するユーザにとって大きな負担となっていた。本実施形態の仮想カメラパス編集部20は、このように時刻が一方向ではない仮想カメラパスの編集において、キーフレームをユーザの意図を反映して自動的に適切に配置することを可能とする。これにより、仮想カメラパスの生成時のキーフレーム設定に関するユーザ負担が軽減される。
図6は、本実施形態の情報処理装置10(仮想カメラパス編集部20)による仮想カメラパス編集処理を説明するフローチャートである。
S601において、操作部201は、ユーザによる閾値の設定を受け付ける。この閾値は、キーフレームの順序を自動配置するにあたり、仮想カメラの動きが急峻にならないように制限するために用いられる。例えば、仮想カメラの姿勢(パン、チルト、ロールなどの姿勢情報)の単位時間当たりの変化量の上限、仮想カメラの位置の単位時間当たりの変化量の上限などが設定され得る(以下、これらの閾値を変化量の上限の閾値ともいう)。なお、位置の変化量は、例えば、位置情報の3次元座標により表される2点間の距離である。同様に、姿勢の変化量は、例えば姿勢情報の3つの値(パン、チルト、ロール)により表される2点間の距離である。仮想カメラの位置、姿勢の変化が極端に急峻な仮想カメラパスには、ユーザが意図していないキーフレームが配置されている可能性が高いため、このような閾値が用いられる。また、隣接するキーフレームの間の時間、位置、姿勢のそれぞれの変化量(単位時間当たりの変化量ではなく、単純な差である)の上限を示す閾値が設定されてもよい(以下、これらの閾値を差の上限の閾値ともいう)。例えば、時間差、位置の差、姿勢の差の少なくともいずれかが閾値を越えて大きい2つのキーフレームは隣接するキーフレームとして不自然であると判断することができる。
S602において、ユーザは、操作部201を介して仮想カメラを操作し、所望のタイムコードにおける、仮想カメラの所望の位置及び姿勢を示す仮想カメラパラメータを設定する。なお、仮想パラメータには、ユーザ操作により設定された仮想カメラのズーム値が含まれてもよい。S603において、操作部201は、ユーザ指示に応じて、S602で設定されている仮想カメラパラメータ(タイムコード、仮想カメラの位置及び姿勢)をキーフレームに設定することを示すキーフレーム設定情報をキーフレーム設定部202に出力する。キーフレーム設定部202は、キーフレーム設定情報に含まれている仮想カメラパラメータに基づいてキーフレームを設定し、キーフレーム保存部203に保存する。
S604において、操作部201を介してキーフレームの設定終了がユーザから指示されると、処理はS605に移行する(S604でYES)。キーフレームの設定終了が指示されていない場合(S604でNO)は、S602からS603の処理が繰り返される。尚、キーフレームは少なくとも2つ以上設定される必要がある。
S605において、グループ化部204(分析部205とグループ設定部206)は、S603でキーフレーム保存部203に保存されたキーフレームに対してグループ分け処理を行う。グループ分け処理については、図7のフローチャートにより後述する。S606において、グループ設定部206は、S605でグループ分け処理されたキーフレームをキーフレーム保存部203に保存する。S607において、再生方向設定部208は、操作部201を介して入力されるユーザ指示に応じて、キーフレームのそれぞれのグループに対して再生方向の設定を行う。再生方向の設定方法、設定後のユーザーインターフェースについては後述する。
図7は、情報処理装置10のグループ化部204(分析部205およびグループ設定部206)によるグループ分け処理を説明するフローチャートである。グループ化部204は、複数のキーフレームから、隣り合うキーフレームの仮想視点の位置と仮想視点からの視線方向(すなわち、仮想カメラの位置姿勢)の変化が所定の条件を満足し、時刻が一方向に変化するキーフレームの並びをグループとして抽出することにより、複数のキーフレームをグループに分ける。以下、詳細に説明する。
S701において、分析部205は、S603でキーフレーム保存部203に保存された複数のキーフレームを読み出す。S702において、分析部205は、読み出した複数のキーフレームの中から、これから作成されるグループのキーフレームの並びの先頭となるキーフレームを選択する。例えば、分析部205は、複数のキーフレームからタイムコードが最小のキーフレームを選択する。尚、S702では、必ずしも最小のタイムコードを有するキーフレームが選択される必要はない。例えば、最大のタイムコードを有するキーフレームが選択されてもよい。
S703~S706において、分析部205は、S702で選択されたキーフレームに続くキーフレームを検索する。S703において、分析部205は、S702で選択されたキーフレーム(選択中のキーフレーム)の次に配置されるキーフレーム候補を、S701で読み出された複数のキーフレーム(選択中のキーフレームを除く)から選択する。ここでは、選択中のキーフレームとの姿勢情報(例えばパン、チルト、ロールなどの角度情報)の差が所定値(例えば、S601で設定された「差の閾値」)以下の全てのキーフレームがキーフレーム候補として選択される。S704において、分析部205は、S703で選択されたキーフレーム候補からタイムコードが近い順に(タイムコードが同一のものも含む)キーフレーム候補を選択する。
S705において、分析部205は、選択中のキーフレームとS704で選択されたキーフレーム候補との間で仮想カメラの動きが急峻な動きになっているか否かを確認する。確認方法としては、例えば、2つのキーフレームにおける仮想カメラの姿勢情報及び位置情報のうち少なくともいずれかの単位時間当たりの変化量を導出する方法が使用される。このとき、導出された変化量がS601で設定された閾値(変化量の閾値)以下となっていれば、急峻でないと判定することができる。変化量が閾値以下である(急峻でない)と判定された場合(S705でYES)、処理はS706へ移行する。一方、変化量が閾値よりも大きい(急峻である)と判定された場合(S705でNO)は、処理はS712に移行する。なお、S705では、例えば、位置の単位時間当たりの変化量が位置に関して設定された閾値以下であり、かつ、姿勢の単位時間当たりの変化量が姿勢に関して設定された閾値以下である場合に、変化量が閾値以下であると判定され得る。但し、これに限られるものではなく、位置と姿勢のいずれか一方について判定が行われるようにしてもよい。例えば、S703で姿勢情報が近いキーフレームが選択されているため、S705では、位置のみについて判定が行われるようにしてもよい。或いは、例えば、仮想視点の移動範囲が制限されているような場合には、S705で姿勢のみについて判定が行われるようにしてもよい。また、S703で、位置姿勢の単位時間当たりの変化量が閾値以下となるキーフレームがキーフレーム候補として選択されるようにしてもよい。この場合、S705の判断は省略可能となる。
S706において、分析部205は、選択中のキーフレームとS704で選択されたキーフレーム候補でタイムコードの折り返しが発生しているか否かを判定する。タイムコードの折り返しとは、1つ前のキーフレームと選択中のキーフレームのタイムコードの時間方向が、S704で選択されたキーフレーム候補のタイムコードによって反転する場合である。すなわち、選択中のキーフレームまでの時間方向がプラス(マイナス)になっている状態で、キーフレーム候補の現在選択中のキーフレームに対する時間方向がマイナス(プラス)になっている場合、タイムコードが折り返していると判定される。S706においてタイムコードが折り返していないと判定された場合(S706でNO)、処理はS707へ進む。なお、1つ前のキーフレームが存在しない場合は、タイムコードの折り返しは発生していないと判断される(S706でNO)。また、S706においてタイムコードの折り返しが発生していると判定された場合(S706でYES)、処理はS712へ進む。
なお、なお、S704において、選択中のキーフレームとの位置姿勢の変化量が閾値以下となるキーフレームをキーフレーム候補として選択するようにしてもよい。その場合、S705の処理は省略可能となる。また、S704~S706において、選択中のキーフレームと同時刻のキーフレーム候補が次のキーフレームとして決定されることが許容されてもよい。これにより、キーフレームの並びにおいて隣り合うキーフレームが同一の時刻であることが許容されるようになるので、時間を止めて仮想視点のみが移動するような仮想視点映像を作成することができる。なお、この場合、次のフレームとして決定するための条件(S705の判定条件)は、選択中のキーフレームとキーフレーム候補の時刻が異なる場合と同一の場合とで異ならせる必要がある。例えば、選択中のキーフレームとキーフレーム候補の時刻が異なる場合には、上述のように仮想視点の位置と視線方向(仮想カメラの位置姿勢)の時間当たりの変化量が閾値以下であることを条件とする。一方、選択中のキーフレームとキーフレーム候補の時刻が同一の場合は、両フレームの時間間隔が0となり単位時間当たりの変化量を算出できないので、例えば、仮想視点の位置と視線方向(仮想カメラの位置姿勢)の差が閾値以下であることを条件とする。
S707において、分析部205は、S704で選択されたキーフレーム候補を、選択中のキーフレームの次のキーフレームとして決定する。S708において、分析部205は、次のキーフレームとして決定されたキーフレーム候補を、作成中のグループ(選択中のキーフレームが属しているグループ)に追加する。S709において、分析部205は、S701で読み出されたキーフレームのうちいずれのグループにも属していないキーフレームが残っているか否かを判定する。いずれのグループにも属していないキーフレームが残っていないと判定された場合(S709でNO)、処理はS710へ進む。S710において、分析部205は、選択中のキーフレームが属しているグループの現在の構成で当該グループを確定し、処理を終了する。一方、いずれのグループにも属していないキーフレームが残っていると判定された場合(S709でYES)、処理はS711に進む。S711において、分析部205は、S708で追加されたキーフレームを選択中のキーフレームとして設定し、S703以降の処理を繰り返す。
S705で選択中のキーフレームとキーフレーム候補との間で仮想カメラの変化量が閾値を越えると判定された場合、または、S706でキーフレームとキーフレーム候補においてタイムコードの折り返しが発生したと判定された場合、S712が実行される。S712では、S703で選択されたキーフレーム候補のうち、S705~S706の確認を行っていないキーフレーム候補があるか否かを判定する。未確認のキーフレーム候補が存在すると判定された場合(S712でYES)、処理はS704に戻り、分析部205は、次のキーフレーム候補を選択して上述した処理を繰り返す。未確認のキーフレーム候補が存在しないと判定された場合(S712でNO)、処理はS713に進み、分析部205は、現在選択中のキーフレームが属しているグループをその時点のキーフレームの構成で確定する。
次に、S714において、分析部205は、S706でタイムコードの折り返しが発生したと判定されたキーフレーム候補が存在したか否かを判定する。タイムコードの折り返しが発生したと判定されたキーフレーム候補が存在した場合(S714でYES)、処理はS715に進み、そうでない場合(S714でNO)、処理はS716へ進む。S715において、分析部205は、現在選択中のキーフレームを新たなグループの先頭のキーフレームとして設定する。そして、上述のステップS703以降の処理が繰り返される。S716では、分析部205は、S701で読み出された複数のキーフレームのうちいずれのグループにも属していないキーフレームから、新たなグループの先頭とすべきキーフレームを選択する。例えば、いずれのグループにも属していないキーフレームのうち、タイムコードが最小のキーフレームが選択される。そして、上述のステップS703以降の処理が繰り返される。
以上の本実施形態による仮想カメラパス編集方法によれば、順再生と逆再生が混在するクリップの仮想カメラパスの作成、編集におけるユーザの負担を軽減することができる。
次に、図8~9を用いてグループ分け処理の動作例を説明する。図8はグループ分け処理前のキーフレームの配置リストを示している。この例は、図6のフローチャートのS604でキーフレームの設定を終了したと判定された時点での、キーフレーム保存部203に保存されたキーフレームであり、タイムコードの昇順に配置されている。図8に示されるキーフレームの配置は、ユーザの意図通りの映像クリップを作成するにはキーフレームの並べ替えが必要な状態である。なお、図8に示される配置リストには、キーフレーム並び替えボタン(↑up、↓down(明細書では、図中の上向きの黒三角を↑で、下向きの黒三角を↓で表す))、キーフレーム番号(Key No.)とタイムコード(hh:mm:ss:ff)、カメラの位置情報及び姿勢情報(Camera Position)が含まれる。これらの詳細については後述するが、このような配置リストを例えば経路情報表示部302に表示して、ユーザがキーフレーム並び替えボタンを操作することで、キーフレームの並びを所望の順番に入れ替えることができる。しかしながら、このような配置リストからマニュアルでキーフレームの並びを編集することは、キーフレームの数が多くなるほどユーザに大きな負担を生じさせる。これに対して、上記処理によりキーフレームの並びをグループ化することで、よりユーザの意図に沿ったキーフレームの並びが自動的に得られるようになり、ユーザの負担が軽減される。
図9は、グループ分け処理後のキーフレームの配置を示している。図6のS605~S606の処理により、キーフレームグループ分け処理によりグループ分けされたキーフレームがキーフレーム保存部203に保存された状態を示す。図8のNo.1,4,7,10のキーフレームが第1グループ(Group1)のNo.1~4のキーフレームとして保存されている。図8のNo.10,9,6,3,2のキーフレームが第2グループ(Group2)のNo.4~8のキーフレームとして保存されている。図8のNo.2,5,8,11のキーフレームが第3グループ(Group3)のNo.8~11のキーフレームとして保存されている。
まず、S701で、分析部205により、キーフレーム保存部203から図8に示されるNo.1~No.11の11個のキーフレームが読み出される。S702において、No.1のキーフレームが選択された後(本例では、タイムコードが最小のキーフレームが選択される)、S703~S709,S711,S712の処理が繰り返される。例えば、No.2~No.3のキーフレームは、No.1のキーフレームからの位置または姿勢の変化が大きいと判断されて、No.4のキーフレームが次のキーフレームとして選択され、グループに追加される。このような処理が繰り返される結果、No.1→4→7→10のキーフレームが順次に次のフレームとして決定され、No.1のキーフレームを先頭とする第1グループに追加される。
No.10のキーフレームには、位置姿勢の変化量が閾値以下で時刻の折り返しを発生しないキーフレーム候補が存在せず(S712でNO)、第1グループが確定される(S713)。ここで、No.9のキーフレームは、No.10のキーフレームに対して位置姿勢の変化量が閾値以下となっているが、時刻の折り返しが発生しているものとする。この場合、No.10のキーフレームに関して選択されたキーフレーム候補にはNo.9のキーフレームが含まれているためS714でYESと判定される。従って、選択中のキーフレーム(No.10のキーフレーム)が次のグループ(第2グループ)の先頭のキーフレームに選択され(S715)、次のグループを生成するために上述の処理が繰り返される。このように、第1グループとして抽出されたキーフレームの並びの最後のキーフレームには、位置姿勢の変化が所定の条件を満たすが、時刻に折り返しが生じるキーフレームが存在している。よって、その最後のキーフレームを先頭としたキーフレームの並びが第2グループとして抽出されることになる。
No.10のキーフレームが選択中のキーフレームとして設定された後、S703~S709,S711の処理が繰り返され、No.10→9→6→3→2のキーフレームが順次に次のフレームとして決定されたとする。これらは、No.10のキーフレームを先頭とする第2グループに追加される。No.2のキーフレームには、位置姿勢の変化量が閾値以下で折り返しを発生しないキーフレーム候補が存在しない(S712でNO)。したがって、S713でNo.10→9→6→3→2の順にキーフレームが配置された第2グループが確定される。ここで、No.2のキーフレームに対するキーフレーム候補にはNo.5のキーフレームが含まれており、S706でタイムコードの折り返しが発生すると判定されていたとする。この場合、処理はS714でYESに分岐し、選択中のNo.2のキーフレームが次のグループ(第3グループ)の先頭のキーフレームに選択される(S715)。そして、第3グループを生成するために上述の処理が繰り返される。
No.2のキーフレームが選択中のキーフレームとして設定され、S703~S709,S711の処理が繰り返されると、No.2→5→8→11のキーフレームが順次に次のフレームとして決定され、第3グループに登録される。
S606では、以上のようにして決定されたグループを用いてキーフレームの再登録が行われる。すなわち、第1グループとして記録されたNo.1→4→7→10のキーフレームがNo.1~No.4のキーフレームとして登録される。また、第2グループとして記録されたNo.10→9→6→3→2のキーフレームがNo.4~No.8のキーフレームとして登録される。そして、第3グループとして記録されたNo.2→5→8→11のキーフレームがNo.8~No.11のキーフレームとして登録される。こうして、図9に示される、グループ分けされたキーフレームの配置リストが得られる。
次に、S607における、再生方向の決定について説明する。図9に示される配置リストは再生方向が設定されていない状態であり、図6のフローチャートのS606までの処理により得られた配置リストである。図9に示されるように、グループ分けされたキーフレームの配置リストにおいては、グループの間に区切りが入り、グループの識別情報(図9の例ではGroup1~3)が挿入される。キーフレームNo.1~4で1つ目のグループ(Group1)、No.4~8が2つ目のグループ(Group2)、No.8~11が3つ目のグループ(Group3)である。
ここで、図9は、経路情報表示部302への配置リストの表示状態をも表している。本実施形態による、キーフレームの配置についてのユーザーインターフェースの一例を、図9、図10を用いて説明する。図9に示されるように、経路情報表示部302には、ユーザが操作した仮想カメラの位置情報、姿勢情報とタイムコードからなるキーフレームの配置リストが表示される。ユーザーインターフェースの左列から、キーフレーム並び替えボタン(↑up、↓down)、キーフレーム番号(Key No.)とタイムコード(hh:mm:ss:ff)、再生方向(Play dir.)、カメラ位置情報及び姿勢情報(Camera Position)で構成される。キーフレーム並び替えボタン(↑up、↓down)は、ユーザが手動でキーフレームを並び替えるときに使用する。上向きボタン(↑up)を押すとそのキーフレームが上のキーフレームと入れ替わる。同様に下向きボタン(↓down)を押すとそのキーフレームが下のキーフレームと入れ替わる。
再生方向設定部208の機能により、ユーザは、再生方向(Play dir.)として先述の順再生か逆再生かをグループ単位で設定することができる。Forwardは順再生を示し、Reverseは逆再生を示している。設定方法の一例としては、図10(a)のように設定したキーフレームのPlay Dir.をクリックしてプルダウンで再生方向を選択すると、図10(b)のように再生方向が設定される。
キーフレーム番号(Key No.)は、リストの中のキーフレームの配置順序を示し、映像クリップの再生順に並べられる。カメラ位置情報及び姿勢情報(Camera Position)は、カメラの位置情報は、X、Y、Zの3つの座標(単位はメートルなど)で表し、カメラの姿勢情報は、Pan(パン)、Tilt(チルト)、Roll(ロール)などの角度で表す。尚、図9の例ではPan(パン)、Tilt(チルト)の2要素で構成された例が示されている。
図11および図12は、図9に示される配置リストにおいて再生方向が設定された後の配置リストの例を示す図である。各グループの再生方向は図10の参照により説明した方法で設定され得る。図11は、第1グループ(Group1)と第3グループ(Group3)を順再生、第2グループ(Group2)を逆再生と設定したときの例である。パス生成部207は、最後のキーフレームと先頭のキーフレームが同じでるグループのキーフレームの並びを接続することで順再生と逆再生が混在する経路情報を生成する。図11の例では、パス生成部207が第1グループ~第3グループにおけるキーフレームの並びを接続することにより順再生と逆再生が混在する経路情報を生成する。
他方、図12は、3つのグループに対して、再生方向をすべて順再生と設定した例である。この場合、パス生成部207は、第1グループ~第3グループにおけるキーフレームの並びを、時間的に順方向に並ぶように並べ替えて、仮想視点の経路情報を生成する。このユースケースでは、ユーザは順再生→逆再生→順再生のキーフレームを設定して映像クリップを作成した後、再生方向をすべて順再生と設定することで、同じシーンに対して仮想カメラパスの異なる3本の仮想視点映像を作ることができる。この場合、3本の映像クリップはつながらず、グループごとに独立した仮想視点の経路となり、キーフレーム番号(Key No.)も変わる。このように、本実施形態は、同じ再生方向(例えば順再生)の仮想カメラパスが複数含まれる場合においても適用可能である。
本開示は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本開示は上記実施の形態に制限されるものではなく、本開示の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。
20:仮想カメラパス編集部、21:撮影装置群、201:操作部、202:キーフレーム設定部、203:キーフレーム保存部、205:分析部、207:生成部、22:仮想視点映像生成部、206:グループ設定部

Claims (12)

  1. 仮想視点映像に係る仮想視点の位置、仮想視点からの視線方向、及び、前記仮想視点映像に対応する時刻を含む、複数のキーフレームを設定する設定手段と、
    前記複数のキーフレームから、隣り合うキーフレームの仮想視点の位置及び仮想視点からの視線方向のうち少なくともいずれかの変化が所定の条件を満足し、時刻が一方向に変化するキーフレームの並びをグループとして抽出することにより、前記複数のキーフレームをグループに分けるグループ化手段と、
    前記グループに含まれているキーフレームの並びに基づいて、前記複数のキーフレームに含まれる仮想視点の位置及び仮想視点からの視線方向を補間することにより、仮想視点の経路情報を生成する生成手段と、を備えることを特徴とする情報処理装置。
  2. 前記所定の条件とは、仮想視点の位置の単位時間当たりの変化量が所定の閾値以下であることと、仮想視点からの視線方向の単位時間当たりの変化量が所定の閾値以下であることの少なくとも何れかを含むことを特徴とする請求項1に記載の情報処理装置。
  3. 前記キーフレームの時刻は、前記キーフレームが含むタイムコードであることを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記グループ化手段は、第1のグループとして抽出されたキーフレームの並びの最後のキーフレームに対して、位置と視線方向の変化が前記所定の条件を満たすが時刻に折り返しが生じるキーフレームが存在する場合に、前記最後のキーフレームを先頭としたキーフレームの並びを第2のグループとして抽出することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記生成手段は、前記第1のグループにおけるキーフレームの並びと前記第2のグループにおけるキーフレームの並びを接続することにより順再生と逆再生が混在する経路情報を生成することを特徴とする請求項4に記載の情報処理装置。
  6. 前記グループ化手段は、キーフレームの並びにおいて、同一の時刻のキーフレームが隣り合うことを許容することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記所定の条件は、隣り合うキーフレームの時刻が異なる場合と同一の場合とで異なる条件となることを特徴とする請求項6に記載の情報処理装置。
  8. 仮想視点の位置と仮想視点からの視線方向の時間当たりの変化量が所定の閾値以下であることを隣り合うフレームの時刻が異なる場合の前記所定の条件とし、仮想視点の位置と仮想視点からの視線方向の差が所定の閾値以下であることを隣り合うフレームの時刻が同一の場合の前記所定の条件とすることを特徴とする請求項7に記載の情報処理装置。
  9. 前記グループ化手段によって取得されたグループに対して再生方向を設定する方向設定手段をさらに備えることを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
  10. 前記方向設定手段により、前記グループ化手段によって取得された全てのグループに同じ再生方向が設定されると、前記生成手段は、前記グループ化手段によって取得されたグループごとに独立した仮想視点の経路情報を生成することを特徴とする請求項9に記載の情報処理装置。
  11. 仮想視点映像に係る仮想視点の位置、仮想視点からの視線方向、及び、前記仮想視点映像に対応する時刻を含む、複数のキーフレームを設定する設定工程と、
    前記複数のキーフレームから、隣り合うキーフレームの仮想視点の位置及び仮想視点からの視線方向のうち少なくともいずれかの変化が所定の条件を満足し、時刻が一方向に変化するキーフレームの並びをグループとして抽出することにより、前記複数のキーフレームをグループに分けるグループ化工程と、
    前記グループに含まれているキーフレームの並びに基づいて、前記複数のキーフレームに含まれる仮想視点の位置及び仮想視点からの視線方向を補間することにより、仮想視点の経路情報を生成する生成工程と、を備えることを特徴とする情報処理装置の制御方法。
  12. コンピュータを、請求項1乃至10のいずれか1項に記載された情報処理装置の各手段として機能させるためのプログラム。
JP2021078079A 2021-04-30 2021-04-30 情報処理装置及びその制御方法、プログラム Pending JP2022171435A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021078079A JP2022171435A (ja) 2021-04-30 2021-04-30 情報処理装置及びその制御方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021078079A JP2022171435A (ja) 2021-04-30 2021-04-30 情報処理装置及びその制御方法、プログラム

Publications (1)

Publication Number Publication Date
JP2022171435A true JP2022171435A (ja) 2022-11-11

Family

ID=83946418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021078079A Pending JP2022171435A (ja) 2021-04-30 2021-04-30 情報処理装置及びその制御方法、プログラム

Country Status (1)

Country Link
JP (1) JP2022171435A (ja)

Similar Documents

Publication Publication Date Title
JP6433559B1 (ja) 提供装置および提供方法、プログラム
JP7330683B2 (ja) 情報処理装置、情報処理方法及びプログラム
KR101655078B1 (ko) 움직이는 사진 생성 방법 및 장치
JP7263456B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP4925354B2 (ja) 画像処理装置、画像表示装置、撮像装置及び画像処理方法
JP4965475B2 (ja) 仮想移動表示装置
WO2004093467A1 (ja) 3次元画像作成装置、3次元画像再生装置、3次元画像処理装置、3次元画像処理プログラムおよびそのプログラムを記録した記録媒体
KR102500615B1 (ko) 정보 처리장치, 정보 처리방법 및 프로그램
KR102484197B1 (ko) 정보 처리장치, 정보 처리방법 및 기억매체
JP6702657B2 (ja) 映像処理装置、映像処理方法、及びプログラム
KR20200084265A (ko) 타임 슬라이스 영상을 편집하는 장치, 방법 및 컴퓨터 프로그램
US20210398341A1 (en) Information processing apparatus, method of controlling information processing apparatus, and storage medium
JP2022171435A (ja) 情報処理装置及びその制御方法、プログラム
JP2022060816A (ja) 情報処理装置、情報処理方法及びプログラム
JP7277184B2 (ja) 情報処理装置、情報処理方法ならびにプログラム。
JP2019057918A (ja) 生成装置および生成方法、プログラム
US20130038607A1 (en) Time line operation control device, time line operation control method, program and image processor
JP2018074337A (ja) 動画処理装置、動画処理方法およびプログラム
JP7403956B2 (ja) 情報処理装置、制御方法、及びプログラム
JP2018038090A (ja) 画像生成装置、画像生成方法、画像生成プログラム及び画像生成システム
JP3485459B2 (ja) 被写体映像統合方法及び装置及び記録媒体
JP2017084161A (ja) 画像処理装置、表示装置及びその制御方法
JP2021179687A (ja) 情報処理装置、情報処理方法およびプログラム
JP5690376B2 (ja) 画像ファイル作成装置
JP2022136864A (ja) 情報処理装置、情報処理方法、及びプログラム