次に本発明の実施の形態について図面を参照して詳細に説明する。
図1は、本発明の実施の形態における画像処理装置100の機能構成例を示すブロック図である。画像処理装置100は、コンテンツ記憶部110と、コンテンツ取得部120と、画像変換情報供給部130と、画像変換部140と、画像合成部150と、画像メモリ160と、表示制御部170と、表示部180と、音声変換情報算出部190と、音声変換処理部200と、音声出力制御部210と、スピーカ220と、操作受付部230とを備える。画像処理装置100は、例えば、デジタルビデオカメラ等の撮像装置で撮像された動画について、映像解析により特徴量を抽出し、この抽出された特徴量を用いて各種画像処理を施すことが可能なパーソナルコンピュータによって実現することができる。
コンテンツ記憶部110は、動画とその動画に対応する音声とを含むコンテンツファイルを記憶するものである。また、コンテンツ記憶部110は、コンテンツ取得部120からの要求に応じてコンテンツファイルをコンテンツ取得部120に供給する。
コンテンツ取得部120は、操作受付部230からのコンテンツ取得に係る操作入力に応じて、コンテンツ記憶部110に記憶されているコンテンツファイルを取得するものである。このコンテンツ取得部120は、取得されたコンテンツファイルのうち動画を画像変換情報供給部130および画像変換部140に出力する。また、コンテンツ取得部120は、取得されたコンテンツファイルのうち動画に対応する音声を音声変換処理部200に出力する。
画像変換情報供給部130は、コンテンツ取得部120から出力された動画を解析して動き情報を検出し、この動き情報に基づいてアフィン変換パラメータを算出するものである。すなわち、画像変換情報供給部130は、動画を構成する各画像から特徴点を抽出するとともに、この特徴点に対するオプティカルフロー(動きベクトル)を抽出し、この抽出された特徴点に対するオプティカルフローを解析して支配的な動きを見せた特徴点を選択し、この支配的な動きを見せた特徴点に対するオプティカルフローに基づいて撮像装置の動きを推定する。ここで、支配的な動きとは、複数の特徴点に対するオプティカルフローの中で、比較的多数のオプティカルフローが示す規則的な動きを意味する。また、画像変換情報供給部130は、そのアフィン変換パラメータを画像変換部140に供給する。
画像変換部140は、コンテンツ取得部120から出力された動画を構成する画像、および、画像メモリ160に保持されていた画像について、先頭フレームに対応する画像を基準として画像変換情報供給部130から供給されたアフィン変換パラメータを用いてフレーム毎にアフィン変換を施すものである。具体的には、画像変換部140は、現フレームに対応するアフィン変換パラメータの行列と、その直前までの各フレームに対応するアフィン変換パラメータの行列との乗算により求められたアフィン変換パラメータの行列を用いてアフィン変換を施す。この画像変換部140は、コンテンツ取得部120から出力された動画を構成する画像、および、画像メモリ160に保持されていた合成画像について、少なくとも何れか一方にアフィン変換を施してそれぞれを画像合成部150に出力する。また、画像変換部140は、画像メモリ160における先頭フレームに対応する画像を基準として、この乗算により求められたアフィン変換パラメータに基づいて、現フレームに対応する画像の中心位置、角度および倍率を算出して音声変換情報算出部190に出力する。ここで、本発明の実施の形態では、先頭フレームに対応する画像に関する情報を基準情報として説明する。この基準情報とは、画像メモリ160における先頭フレームに対応する画像の中心位置、角度および大きさを示す情報であり、画像変換部140に保持される。
具体的には、現フレームよりも前の各フレームに対応する画像により合成された合成画像を固定して動画を再生表示する場合には、画像変換部140は、コンテンツ取得部120から出力された現フレームに対応する画像を、画像変換情報供給部130から供給されたアフィン変換パラメータを用いてアフィン変換する。そして、画像変換部140は、画像メモリ160に保持されている画像および変換された現フレームに対応する画像を出力する。この場合には、画像変換部140は、現フレームに対応する画像の倍率以外の中心位置および角度を音声変換情報算出部190に出力する。一方、現フレームに対応する画像を固定して動画を再生表示する場合には、画像変換部140は、画像メモリ160に保持されている合成画像を、画像変換情報供給部130から供給されたアフィン変換パラメータを用いて、アフィン変換パラメータの方向とは逆方向にアフィン変換する。そして、画像変換部140は、現フレームに対応する画像および逆方向に変換された合成画像を画像合成部150に出力する。この場合には、画像変換部140は、現フレームに対応する画像の倍率のみを音声変換情報算出部190に出力する。また、現フレームに対応する画像の表示倍率を固定して動画を再生表示する場合には、画像変換部140は、画像変換情報供給部130から供給されたアフィン変換パラメータについて、倍率に関する要素(ズーム成分)と、倍率以外の要素(移動または回転に関する要素)とに分離し、画像メモリ160に保持されている現フレームより前の各フレームに対応する合成画像には拡大縮小に関する要素を用いて、アフィン変換パラメータの方向とは逆方向にアフィン変換を施し、コンテンツ取得部120から出力された現フレームに対応する画像には移動または回転に関する要素を用いてアフィン変換を施す。そして、画像変換部140は、変換された両方の画像を画像合成部150に出力する。この場合には、画像変換部140は、現フレームに対応する画像の中心位置、角度および倍率を音声変換情報算出部190に出力する。
これらの変換は、操作受付部230からの再生指示に係る操作入力に応じて行われる。なお、ここでは一例として、操作受付部230からの再生指示に係る操作入力に応じて、画像変換部140が現フレームに対応する画像の中心位置、角度および倍率を算出してその算出した情報を音声変換情報算出部190に出力する例を示したが、音声変換情報算出部190が、画像変換部140から出力された基準情報および乗算により求められるアフィン変換パラメータを用いて、現フレームに対応する画像の中心位置、角度および倍率を算出してもよい。さらに、画像変換部140は、画像メモリ160における先頭フレームに対応する画像の中心位置、角度および大きさを音声変換情報算出部190に出力する代わりに、現フレームよりも1つ前のフレームに対応する画像の中心位置、角度および大きさを出力するようにしてもよい。この場合には、音声変換情報算出部190は、現フレームよりも1つ前のフレームに対応する画像の中心位置、角度および大きさを基準情報の代わりに用いて、現フレームに対応するアフィン変換パラメータに基づいて現フレームに対応する画像の中心位置、角度および倍率を算出する。なお、現フレームより所定数前のフレームに対応する画像についても、所定数前のフレームに対応する画像の中心位置、角度および大きさを用いて、現フレームから所定数前のフレームまでの各フレームに対応するアフィン変換パラメータに基づいて同様に算出することができる。
画像合成部150は、コンテンツ取得部120から出力された動画を構成する画像と、画像メモリ160に保持されていた合成画像とを画像変換部140から受け取って合成するものである。この画像合成部150は、合成した合成画像を画像メモリ160に保持させるとともに表示制御部170に出力する。なお、ここでは一例として、画像合成部150が合成画像を画像メモリ160に保持させる例を示すが、合成画像を画像メモリ160に保持させずに、予め定められた画像を画像メモリ160に保持させておくようにしてもよい。例えば、予め定められた画像を、公園の画像とし、この公園の画像に合成させる動画を、散歩をしている子供を撮像した動画とする場合に、この公園の画像を画像メモリ160に保持させ、この公園の画像上にその動画をアフィン変換させながら合成させるようにすることができる。これにより、公園上を子供が散歩するような仮想的な動画を表示させることができるようになる。
画像メモリ160は、画像合成部150により合成された合成画像を保持するワークバッファである。画像メモリ160は、その保持している合成画像を画像変換部140に供給する。
表示制御部170は、画像合成部150により合成された合成画像をフレーム毎に表示部180に表示させるものである。
表示部180は、表示制御部170の制御に基づいて、画像合成部150により合成された合成画像を表示するものである。例えば、パーソナルコンピュータやテレビジョンのディスプレイにより実現することができる。
音声変換情報算出部190は、画像変換部140においてアフィン変換パラメータおよび基準情報から求められた、現フレームに対応する画像の中心位置、角度または倍率に基づいて音声変換情報を算出するものである。ここにいう、音声変換情報とは、コンテンツ取得部120から出力された音声を変換するためのものである。この音声変換情報算出部190は、算出した音声変換情報を音声変換処理部200に出力する。
音声変換処理部200は、音声変換情報算出部190により算出された音声変換情報に基づいてコンテンツ取得部120から出力された音声を変換して出力音声を生成するものである。この音声変換処理部200は、生成した出力音声を音声出力制御部210に出力する。この音声変換処理部200は、音量調整部201と音声加算部202とを備える。音量調整部201は、音声変換情報算出部190により算出された音声変換情報に基づいてコンテンツ取得部120から出力された音声を構成する複数のチャンネルの各音量を調整するものである。この音量調整部201は、調整した複数のチャンネルの音声を音声加算部202に出力する。音声加算部202は、音量調整部201により調整された音声をチャンネル毎に加算するものである。この音声加算部202は、加算した音声を出力音声として音声出力制御部210に出力する。
音声出力制御部210は、音声変換処理部200により生成された出力音声をスピーカ220に出力させるものである。
スピーカ220は、音声出力制御部210の制御に基づいて音声変換処理部200により生成された出力音声を出力するものである。また、このスピーカ220は、複数のスピーカから構成されるスピーカシステムである。
操作受付部230は、各種操作キー等を備え、これらのキーによる操作入力を受け付けると、受け付けた操作入力の内容をコンテンツ取得部120または画像変換部140に出力するものである。操作受付部230には、例えば、動画を再生する場合における表示モードを設定する設定キーが設けられている。この表示モードとして、例えば、現フレームに対応する画像にアフィン変換を施して、前の各フレームに対応する合成画像との合成画像を作成して表示する表示モード、前の各フレームに対応する合成画像にアフィン変換パラメータの方向とは逆方向にアフィン変換を施して、現フレームに対応する画像との合成画像を作成して表示する表示モード、または、現フレームに対応する画像の表示倍率を固定して動画を再生表示する表示モードがある。また、操作受付部230は、コンテンツ取得に係る操作入力の内容をコンテンツ取得部120に出力する。
なお、図1では、画像変換情報供給部130がアフィン変換パラメータを算出する例について説明したが、アフィン変換パラメータを関連付けた動画をコンテンツ記憶部110に記憶させておき、この動画をコンテンツ取得部120が取得して画像変換情報供給部130に出力し、この動画に関連付けられたアフィン変換パラメータを画像変換情報供給部130が抽出して画像変換部140に出力するようにしてもよい。
次に、画像変換に用いられるアフィン変換パラメータを検出する検出方法について図面を参照して詳細に説明する。
図2(a)乃至(c)は、動画を構成するフレームに対応する画像の一例を示す図である。図3(a)は、図2に示す画像300に対応するフレームの1つ前のフレームに対応する画像について背景等を省略して簡略化した画像を示す図である。また、図3(b)および(c)は、図2に示す画像300について背景等を省略して簡略化した画像を示す図である。
図2および図3に示す画像300、320、330には、人が跨っている馬の像301、321、331と、この馬の像301、321、331の手前に設置されている蛇の像302、322、332とが含まれている。また、図2に示すように、これらの像の背景には旗や椅子等が存在し、この旗が風になびいている。
図3(a)に示す画像320は、図2(a)乃至(c)および図3(b)および(c)に示す画像300、330に対応するフレームの1つ前のフレームに対応する画像を簡略化した画像である。また、2つの連続するフレームに対応する画像320および330は、画面内の被写体がしだいに大きくなる場合における遷移を示す画像である。すなわち、この撮影時には、画面内の被写体をしだいに大きくする操作であるズームイン操作がされている。
本発明の実施の形態では、動画を構成する画像から特徴点を検出し、この特徴点に対応するオプティカルフローを用いてアフィン変換パラメータを計算する方法を例にして説明する。また、この例では、特徴点としてコーナー点を用いる場合について説明する。
ここで、図3(a)乃至(c)では、画像320および330から検出された3つのコーナー点に対応するオプティカルフローを用いてアフィン変換パラメータを計算する方法を例にして説明する。
例えば、図3(a)に示す画像320において、特徴点として、馬の像321における口付近のコーナー点323と、馬の像321における人のお尻付近のコーナー点324と、蛇の像322の口付近のコーナー点325とが検出されているものとする。この場合において、図3(b)に示す画像330において、勾配法やブロックマッチング法等により、画像320におけるコーナー点323、324および325に対するオプティカルフロー337、338および339が検出される。そして、この検出されたオプティカルフロー337、338および339に基づいて、画像320におけるコーナー点323、324および325に対応するコーナー点333、334および335が検出される。
ここで、例えば、図3(a)および(b)に示す画像320および330に含まれる馬の像321、331や蛇の像322、332は、地面に設置されているものであるため、撮像装置の動きとは無関係に動くものではない。このため、馬の像321、331や蛇の像322、332について検出されたコーナー点に対して求められたオプティカルフローに基づいて、撮像装置の動きを正確に推定することができる。例えば、図3(c)に示すように、画像330において検出された3つのオプティカルフロー337乃至339に基づいて、画像330が、点336を中心にして画像320を拡大したものであることを推定することができる。これにより、画像330の撮影時における撮像装置の動きは、点336を中心とするズームイン動作であると判断することができる。このように、撮像装置の動きとは無関係に動くものではない物体についてコーナー点を検出し、このコーナー点に対して求められたオプティカルフローに基づいて、一定の規則性を備える撮像装置の動きを正確に検出することができる。このため、これらのコーナー点に対して求められたオプティカルフローを用いて、アフィン変換パラメータを計算して求めることができる。
しかしながら、風になびいている旗等のように、撮像装置の動きとは無関係に動く物体が画像内に含まれる場合が考えられる。例えば、図2に示す画像300には、風になびいている旗が含まれている。このような撮像装置の動きとは無関係に動く物体についてコーナー点が検出され、このコーナー点に対して求められたオプティカルフローを用いて撮像装置の動きを推定する場合には、撮像装置の動きを正確に推定することができない。
例えば、図2(b)に示す画像300において検出されたオプティカルフローを矢印で示すとともに、このオプティカルフローにより検出されたコーナー点を矢印の先端に白抜きの丸で示す。ここで、コーナー点303乃至305は、図3(b)および(c)に示すコーナー点333乃至335に対応するコーナー点である。また、コーナー点306乃至311は、馬の像301の背景に存在する旗について検出されたコーナー点である。そして、これらの旗が風になびいているため、風の影響による旗の動きがオプティカルフローとして検出されている。すなわち、コーナー点306乃至311に対応する各オプティカルフローは、撮像装置の動きとは無関係に動く旗について検出されたものである。このため、アフィン変換パラメータを計算する場合に用いられる3つのオプティカルフローに、コーナー点306乃至311のうちの少なくとも1つのコーナー点に対応するオプティカルフローが含まれている場合には、正確な撮像装置の動きを検出することができない。この場合には、正確なアフィン変換パラメータを計算することができない。
以上で示したように、例えば、撮像装置の動きとは無関係に動く物体に対するオプティカルフロー(図2(b)に示すコーナー点306乃至311に対応する各オプティカルフロー)と、撮像装置の動きとの関係で一定の規則性を備えるオプティカルフロー(図2(b)に示すコーナー点306乃至311に対応する各オプティカルフロー以外のオプティカルフロー)とが、撮影画像から検出されることがある。
そこで、本発明の実施の形態では、3個のオプティカルフローに基づいてアフィン変換パラメータを計算するアフィン変換パラメータ計算処理を複数回行い、複数のアフィン変換パラメータを求め、これらの複数のアフィン変換パラメータの中から最適なアフィン変換パラメータを選択する例について説明する。なお、この例では、動画を構成する各画像に含まれている動物体の大きさが、画像の面積に対して比較的小さいものとする。
ここで、アフィン変換について簡単に説明する。2次元上において、移動元の位置を(x,y)とし、アフィン変換後の移動先の位置を(x´,y´)とした場合に、アフィン変換の行列式は、式1で表すことができる。
ここで、a乃至fは、アフィン変換パラメータである。また、このアフィン変換パラメータによるアフィン行列AMを次の式で表すことができる。この場合に、X方向のズーム成分XZ、Y方向のズーム成分YZ、X方向の併進成分XT、Y方向の併進成分YT、回転成分Rについては、それぞれ次の式で求めることができる。なお、単位行列の場合には、a=e=1、b=c=d=f=0となる。
次に、アフィン変換パラメータの計算方法について説明する。
最初に、動画を構成するフレームの中の1つのフレームである現フレームに対応する画像において、オプティカルフローが検出された特徴点の中から3個の特徴点が選択される。例えば、図2(b)に示す画像300において検出されたコーナー点(白抜きの丸で示す)の中からランダムに3個のコーナー点が選択される。なお、アフィン変換パラメータとして、射影変換パラメータを用いる場合には、4個の特徴点がランダムに選択される。
続いて、選択された3個の特徴点に対応する3個のオプティカルフローを用いてアフィン変換パラメータが計算される。例えば、図2(b)に示す画像300におけるコーナー点(白抜きの丸で示す)の中から選択された3個のコーナー点に対応するオプティカルフロー(白抜きの丸に接続される矢印で示す)を用いてアフィン変換パラメータが計算される。このアフィン変換パラメータは、式1を用いて求めることができる。
続いて、求められたアフィン変換パラメータに基づいて、アフィン変換パラメータのスコアが計算される。具体的には、求められたアフィン変換パラメータを用いて、現フレームの直前のフレームに対応する画像における全ての特徴点の移動先の位置を求める。そして、このアフィン変換パラメータを用いて求められた特徴点の位置と、現フレームにおいて検出された特徴点の位置とを比較して、互いに対応する2つの特徴点の位置の差分値が特徴点毎に計算される。差分値として、例えば、互いに対応する2つの特徴点の位置間の絶対距離が計算される。続いて、計算された差分値と、予め設定されている閾値とを特徴点毎に比較して、その差分値が閾値よりも小さい特徴点の個数をアフィン変換パラメータのスコアとして求める。このように、オプティカルフローが検出された特徴点の中から3個の特徴点をランダムに選択し、これらの特徴点に対応するオプティカルフローに基づいてアフィン変換パラメータのスコアを算出する処理を所定回数繰り返し、アフィン変換パラメータのスコアを複数算出する。この所定回数は、比較の対象となる画像の種類や画像処理装置100の処理能力等に応じて適宜設定するようにしてもよく、固定値を用いるようにしてもよい。この所定回数として、例えば、画像処理装置100の処理能力を考慮して20回程度と設定することができる。
例えば、図2(b)に示す画像300において検出されたコーナー点の中から、コーナー点306乃至311以外のコーナー点が3個選択された場合を考える。このように選択された3個のコーナー点に対応する3個のオプティカルフローを用いてアフィン変換パラメータが計算されると、上述したように、この3個のオプティカルフローは一定の規則性を備えているため、直前のフレームに対応する画像を一定の規則に従って変換させるアフィン変換パラメータが求められる。このため、アフィン変換パラメータを用いて求められたコーナー点の位置と、現フレームにおいて検出されたコーナー点の位置とについて、コーナー点306乃至311以外のコーナー点に関して求められる差分値は、比較的小さい値が算出される。このため、アフィン変換パラメータのスコアは、大きい値になる。
一方、図2(b)に示す画像300において検出されたコーナー点の中から、コーナー点306乃至311のうちの少なくとも1個を含む3個のコーナー点が選択された場合を考える。このように選択された3個のコーナー点に対応する3個のオプティカルフローを用いてアフィン変換パラメータが計算されると、上述したように、この3個のオプティカルフローには、一定の規則性を備えていないオプティカルフローが含まれるため、直前のフレームに対応する画像を一定の規則に従って変換させるものではないアフィン変換パラメータが求められる。このため、アフィン変換パラメータを用いて求められたコーナー点の位置と、現フレームにおいて検出されたコーナー点の位置とについて求められる差分値は、任意のコーナー点で比較的大きい値が算出される。このため、アフィン変換パラメータのスコアは、小さい値になる。
続いて、求められた複数のアフィン変換パラメータのスコアの中で、スコアの値が最も大きいアフィン変換パラメータを代表アフィン変換パラメータとして選択する。そして、選択された代表アフィン変換パラメータを、画像変換部140に供給する。これにより、動画を構成する画像をアフィン変換する場合に、最適なアフィン変換パラメータを用いてアフィン変換することができる。
以上で示したように、動画を構成する各画像に人物や車等の動いている物体(動物体)が含まれている場合でも、画像の面積に対するその動物体の大きさが比較的小さい場合には、動物体の影響を受けずに撮像装置の動きを抽出することができる。
また、撮像装置の動きを抽出することによって、ズームイン、ズームアウト、パン、チルト、ローテーション等の意図的に撮影者が移動させたと思われる動きを推定することができる。
次に、本発明の実施の形態における画像処理装置100の動作について図面を参照して説明する。
図4は、本発明の実施の形態における画像処理装置100によるアフィン変換パラメータ検出処理の処理手順を示すフローチャートである。
最初に、コンテンツ取得部120にコンテンツファイルが取得される(ステップS900)。続いて、コンテンツ取得部120により取得されたコンテンツファイルの動画がデコードされ、時系列の順序で1つのフレームの画像が取得される(ステップS901)。続いて、取得された1つのフレームが画像変換情報供給部130に入力された動画の先頭のフレームであるか否かが判断される(ステップS902)。取得された1つのフレームが、先頭のフレームである場合には(ステップS902)、この先頭のフレームに対応する画像の全体から特徴点が抽出される(ステップS903)。例えば、図2(b)に示すように、画像において複数のコーナー点が抽出される。続いて、アフィン変換パラメータとして単位行列のアフィン変換パラメータが選択され(ステップS904)、ステップS914に進む。
一方、取得された1つのフレームが、先頭のフレームではない場合には(ステップS902)、直前のフレームに対応する画像を基準として新たに撮影された領域から特徴点が抽出される(ステップS905)。すなわち、直前のフレームに対応する画像において既に抽出されている特徴点については、この特徴点に対応するオプティカルフローにより求めることができるため、現フレームに対応する画像においては抽出されない。
続いて、直前のフレームに対応する画像から抽出された各特徴点に対するオプティカルフローが計算される(ステップS906)。すなわち、図2(b)に示すように、各コーナー点に対するオプティカルフローが計算される。
続いて、変数iが「1」に初期化される(ステップS907)。続いて、オプティカルフローが検出された特徴点の中から、M個の特徴点が選択される(ステップS908)。例えば、アフィン変換パラメータを用いる場合には、3個の特徴点がランダムに選択される。また、射影変換パラメータを用いる場合には、4個の特徴点がランダムに選択される。続いて、選択されたM個の特徴点に対応して計算されたM個のオプティカルフローに基づいて、アフィン変換パラメータが計算される(ステップS909)。
続いて、計算して求められたアフィン変換パラメータに基づいて、アフィン変換パラメータのスコアが計算される(ステップS910)。具体的には、計算して求められたアフィン変換パラメータを用いて、直前のフレームに対応する画像における全ての特徴点の移動先の位置を求める。そして、このアフィン変換パラメータを用いて求められた特徴点の位置と、ステップS906でオプティカルフローを計算した際に求められた現フレームに対応する画像における特徴点の位置とを比較して、互いに対応する2つの特徴点の位置の差分値が特徴点毎に計算される。差分値として、例えば、互いに対応する2つの位置間の絶対距離が計算される。続いて、計算された差分値と、予め設定されている閾値とを特徴点毎に比較して、その差分値が閾値よりも小さい特徴点の個数をアフィン変換パラメータのスコアとして求める。
続いて、変数iに「1」が加算され(ステップS911)、変数iが、定数Nよりも大きいか否かが判断される(ステップS912)。変数iが、定数N以下である場合には(ステップS912)、ステップS908に戻り、アフィン変換パラメータのスコア算出処理を繰り返す(ステップS908乃至S910)。例えば、定数Nとして、20を用いることができる。
一方、変数iが定数Nよりも大きい場合には(ステップS912)、求められたアフィン変換パラメータのスコアのうちで、スコアの値が最も大きいアフィン変換パラメータが代表アフィン変換パラメータとして選択される(ステップS913)。続いて、選択された代表アフィン変換パラメータが、画像変換部140に供給される(ステップS914)。なお、現フレームが先頭のフレームである場合には、選択された単位行列のアフィン変換パラメータが、画像変換部140に供給される。続いて、現フレームに対応する画像と、この画像における特徴点とが上書き保存される(ステップS915)。
続いて、現フレームが、画像変換情報供給部130に入力された動画の最後のフレームであるか否かが判断される(ステップS916)。現フレームが、最後のフレームではない場合には(ステップS916)、ステップS901に戻り、アフィン変換パラメータ検出処理を繰り返す(ステップS901乃至S915)。一方、現フレームが、最後のフレームである場合には(ステップS916)、アフィン変換パラメータ検出処理を終了する。
本発明の実施の形態では、動画を構成する画像において検出されたオプティカルフローに基づいてアフィン変換パラメータを検出する例について説明したが、加速度センサやジャイロセンサ等のセンサやズーム操作をする際に用いられるズームボタンを撮像装置に設け、このセンサやズームボタンによって撮影時における撮像装置の移動量を検出し、この撮像装置の移動量に基づいてアフィン変換パラメータを求めるようにしてもよい。なお、これらの撮影時において検出された撮像装置の移動量については、画像変換情報供給部130により求められたアフィン変換パラメータが正しいか否かを判断する際に用いることができる。また、画像変換情報供給部130により複数のアフィン変換パラメータを検出しておき、撮影時において検出された撮像装置の移動量に基づいて、この複数のアフィン変換パラメータの中から1つのアフィン変換パラメータを選択するようにしてもよい。
次に、上述したアフィン変換パラメータを用いて動画を再生表示する場合について図面を参照して詳細に説明する。なお、図5乃至図16に示す各画像は、説明のため、簡略化するとともに、連続する2つのフレーム間の移動量を大きくして示している。
最初に、撮像装置の撮影時において、倍率が変更されないものの、撮像装置の位置を中心として、撮像装置のレンズの方向が上下左右の何れかに移動されている場合について説明する。
図5は、撮像装置により撮影された動画の遷移の一例を示す図である。図5には、山を背景にして人400を撮影した場合における動画に含まれる連続するフレームに対応する画像401乃至403を示す図である。この例では、撮像装置のレンズの方向を右および上側に移動しながら、撮影者が撮影を行っている場合を示す。この場合には、撮像装置により撮影される動画に含まれる人400が、その動画を構成する画像において右側から左側に移動するとともに下側に移動する。
図6は、図5に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。図6(a)に示す画像401は、図5(a)に示す画像401と同じものである。また、図6(b)に示す画像402のうちの実線の部分は、図5(b)に示す画像402と同じものであり、図6(b)に示す画像402のうちの破線の部分は、図6(a)に示す画像401の実線の部分と同じものである。また、図6(b)に示す画像402における矢印404乃至406は、画像402から検出されたオプティカルフローの一例を示す。同様に、図6(c)に示す画像403のうちの実線の部分は、図5(c)に示す画像403と同じものであり、図6(c)に示す画像403のうちの破線の部分は、図6(b)に示す画像402の実線の部分と同じものである。また、図6(c)に示す画像403における矢印407乃至409は、画像403から検出されたオプティカルフローの一例を示す。
図6(b)および(c)に示すように、撮像装置の移動に合わせて、画像に含まれる人400および背景の山が移動する。この移動により検出されるオプティカルフローに基づいてアフィン変換パラメータをフレーム毎に求めることができる。
図7は、図5に示す画像401乃至403を含む動画を再生する場合における表示例を示す図である。なお、本発明の実施の形態では、動画を構成する各画像が合成されるため、再生時間の経過とともに、表示部180に表示される画像が通常の画像よりも大きくなる。このため、最初に表示される画像は、表示部180の表示領域の大きさよりも比較的小さくして表示される。なお、最初に表示される画像の大きさや位置等をユーザが指定するようにしてもよい。
図7(a)に示すように、最初は、先頭のフレームに対応する画像401のみが表示される。ここで、画像401に対応するアフィン変換パラメータの行列(3×3の行列)をA1とする場合に、A1は単位行列であるため、画像401の位置および大きさは変換されない。続いて、次のフレームに対応する画像402が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像402がアフィン変換される。具体的には、画像402に対応するアフィン変換パラメータの行列をA2とし、画像401に対応するアフィン変換パラメータの行列をA1とする場合において、「A1×A2」の値が求められ、先頭のフレームの画像401の位置および大きさを基準にして、求められた「A1×A2」の行列により画像402がアフィン変換される。図7(b)に示す画像においては、画像402の位置のみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像402が、直前のフレームに対応する画像401に重なるように上書きされる。すなわち、画像401の領域のうちで、画像402と重複する領域410については、画像402の画像が上書きされる。また、画像401の領域のうちで、画像402と重複しない領域411については、画像401の画像が合成される。すなわち、2つ目のフレームに対応する画像402が表示される場合には、図7(b)に示すように、画像402の全体部分と、画像401のうちの領域411に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させることができる。図7(b)では、画像402に画像枠が表示される。また、画像402をアフィン変換したアフィン変換パラメータが画像変換部140に保持される。
続いて、次のフレームに対応する画像403が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像403がアフィン変換される。すなわち、画像403に対応するアフィン変換パラメータの行列と、直前のアフィン変換に用いられた画像402に対応するアフィン変換パラメータの行列とを乗算して求められたアフィン変換パラメータにより画像403がアフィン変換される。具体的には、画像403に対応するアフィン変換パラメータの行列をA3とし、画像402に対応するアフィン変換パラメータの行列をA2とし、画像401に対応するアフィン変換パラメータの行列をA1とする場合において、「A1×A2×A3」の値が求められ、先頭のフレームの画像401の位置および大きさを基準にして、求められた「A1×A2×A3」の行列により画像403がアフィン変換される。図7(c)に示す画像においては、画像403の位置のみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像403が、前のフレームに対応する画像401および402の合成画像に重なるように上書きされる。すなわち、画像401および402の合成画像の領域のうちで、画像403と重複する領域413および414については、画像403の画像が上書きされる。また、画像401および402の合成画像の領域のうちで、画像403と重複しない領域411および412については、画像401および402の合成画像が合成される。すなわち、3つ目のフレームに対応する画像403が表示される場合には、図7(c)に示すように、画像403の全体部分と、画像401のうちの領域411に対応する部分と、画像402のうちの領域412に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させる場合には、図7(c)に示す画像403に画像枠が表示される。また、画像403をアフィン変換したアフィン変換パラメータが画像変換部140に保持される。すなわち、画像402および403のそれぞれに対応するアフィン変換パラメータの行列の乗算により求められたアフィン変換パラメータが画像変換部140に保持される。このように、現フレームに対応する画像をアフィン変換する場合には、現フレームに対応するアフィン変換パラメータの行列と、この直前までの各フレームに対応するアフィン変換パラメータの行列との乗算により求められたアフィン変換パラメータにより、現フレームに対応する画像がアフィン変換される。このアフィン変換の際に求められたアフィン変換パラメータが画像変換部140に保持され、次のアフィン変換で用いられる。また、図11および図15の場合についても同様である。
図8は、図5に示す画像401乃至403を含む動画を再生する場合における表示例を示す図である。図7に示す表示例は、現フレームの前の各フレームに対応する合成画像(最初は1つの画像)を固定して、アフィン変換された現フレームに対応する画像をその合成画像に上書きして合成し、この合成された画像を表示するものである。これに対して、図8に示す表示例は、現フレームに対応する画像の位置を固定とし、現フレームの前の各フレームに対応する合成画像を、アフィン変換パラメータの方向とは逆方向にアフィン変換し、このアフィン変換された合成画像に現フレームに対応する画像を上書きして合成し、この合成された画像を表示するものである。すなわち、図7および図8に示す表示例は、固定位置に表示される画像、および、アフィン変換の対象となる画像が異なるものの、他の部分は共通する。このため、図7に共通する部分については、共通の符号を付して説明する。
図8(a)に示すように、最初は、先頭のフレームに対応する画像401のみが表示される。続いて、次のフレームに対応する画像402が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて直前の画像である画像401が、アフィン変換パラメータの方向とは逆方向にアフィン変換される。具体的には、画像402に対応するアフィン変換パラメータの行列をA2とし、画像401に対応するアフィン変換パラメータの行列をA1とする場合において、inv(A1×A2)の値が求められ、求められたinv(A1×A2)の行列により画像401がアフィン変換される。ここで、invA(Aは行列)は、Aの逆行列である。図8(b)に示す画像においては、画像401の位置のみが変換される。そして、アフィン変換パラメータの方向とは逆方向にアフィン変換された画像401に、現フレームに対応する画像402が重なるように上書きされる。なお、画像401に画像402が上書きされた合成画像は、図7(b)に示す合成画像と同じであるため、ここでの説明は省略する。
続いて、次のフレームに対応する画像403が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて、前のフレームに対応する画像401および画像402の合成画像が、アフィン変換パラメータの方向とは逆方向にアフィン変換される。具体的には、画像403に対応するアフィン変換パラメータの行列をA3とし、画像402に対応するアフィン変換パラメータの行列をA2とし、画像401に対応するアフィン変換パラメータの行列をA1とする場合において、inv(A1×A2×A3)の値が求められ、このinv(A1×A2×A3)の行列により画像401および402の合成画像がアフィン変換される。図8(c)に示す画像においては、画像401および画像402の合成画像の位置のみが変換される。そして、現フレームに対応する画像403が、アフィン変換パラメータの方向とは逆方向にアフィン変換された画像401および402の合成画像に重なるように上書きされる。なお、画像401および402に画像403が上書きされた合成画像は、図7(c)に示す合成画像と同じであるため、ここでの説明は省略する。
次に、撮像装置の撮影時において、撮像装置のレンズの方向は移動されないものの、倍率が変更されている場合について説明する。
図9は、撮像装置により撮影された動画の遷移の一例を示す図である。図9には、山を背景にして人420を撮影した場合における動画に含まれる連続するフレームに対応する画像421乃至423を示す図である。この例では、撮像装置のレンズの倍率を上げながら、撮影者が撮影を行っている場合を示す。この場合には、撮像装置により撮影される動画に含まれる人420が、その動画を構成する画像において次第に大きくなる。なお、倍率を上げる際に撮像装置の位置が多少移動する場合があるものの、この例では、撮像装置の位置の移動については考慮せずに説明する。
図10は、図9に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。図10(a)に示す画像421は、図9(a)に示す画像421と同じものである。また、図10(b)に示す画像422のうちの実線の部分は、図9(b)に示す画像422と同じものであり、図10(b)に示す画像422のうちの破線の部分は、図9(a)に示す画像421の実線の部分と同じものである。また、図10(b)に示す画像422における矢印424乃至426は、画像422から検出されたオプティカルフローの一例を示す。同様に、図10(c)に示す画像423のうちの実線の部分は、図9(c)に示す画像423と同じものであり、図10(c)に示す画像423のうちの破線の部分は、図9(b)に示す画像422の実線の部分と同じものである。また、図10(c)に示す画像423における矢印427乃至429は、画像423から検出されたオプティカルフローの一例を示す。
図10(b)および(c)に示すように、倍率の変更に合わせて、画像に含まれる人420および背景の山の大きさが変更する。この変更により検出されるオプティカルフローに基づいてアフィン変換パラメータをフレーム毎に求めることができる。
図11は、図9に示す画像421乃至423を含む動画を再生する場合における表示例を示す図である。
図11(a)に示すように、最初は、先頭のフレームに対応する画像421のみが表示される。続いて、次のフレームに対応する画像422が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像422がアフィン変換される。図11(b)に示す画像においては、画像422の大きさのみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像422が、直前のフレームに対応する画像421に重なるように上書きされる。すなわち、画像421の領域のうちで、画像422と重複する領域については、画像422の画像が上書きされる。この場合には、画像421は、画像422の全ての領域と重複しているため、画像421に画像422の全ての画像が上書きされる。また、画像421の領域のうちで、画像422と重複しない領域431については、画像421の画像が合成される。すなわち、2つ目のフレームに対応する画像422が表示される場合には、図11(b)に示すように、画像422の全体部分と、画像421のうちの領域431に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させることができる。図11(b)では、画像422に画像枠が表示される。また、画像422をアフィン変換したアフィン変換パラメータが画像変換部140に保持される。
続いて、次のフレームに対応する画像423が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像423がアフィン変換される。すなわち、画像423に対応するアフィン変換パラメータの行列と、直前のアフィン変換に用いられた画像422に対応するアフィン変換パラメータの行列とを乗算して求められたアフィン変換パラメータにより画像423がアフィン変換される。図11(c)に示す画像においては、画像423の大きさのみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像423が、前のフレームに対応する画像421および422の合成画像に重なるように上書きされる。すなわち、画像421および422の合成画像の領域のうちで、画像423と重複する領域については、画像423の画像が上書きされる。この場合には、画像423は、画像421および422の全ての領域と重複しているため、画像421および422の合成画像に画像423の全ての画像が上書きされる。また、画像421および422の合成画像の領域のうちで、画像423と重複しない領域432および433については、画像421および422の合成画像が合成される。すなわち、3つ目のフレームに対応する画像423が表示される場合には、図11(c)に示すように、画像423の全体部分と、画像421のうちの領域432に対応する部分と、画像422のうちの領域433に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させる場合には、図11(c)に示す画像423に画像枠が表示される。また、画像423をアフィン変換したアフィン変換パラメータが画像変換部140に保持される。すなわち、画像422および423のそれぞれに対応するアフィン変換パラメータの行列の乗算により求められたアフィン変換パラメータが画像変換部140に保持される。
図12は、図9に示す画像421乃至423を含む動画を再生する場合における表示例を示す図である。図11および図12に示す表示例の相違は、図7および図8に示す表示例の相違と同様であり、固定位置に表示される画像、および、アフィン変換の対象となる画像が異なるものの、他の部分は共通する。このため、図11に共通する部分については、共通の符号を付して説明する。
図12(a)に示すように、最初は、先頭のフレームに対応する画像421のみが表示される。続いて、次のフレームに対応する画像422が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて直前の画像である画像421が、アフィン変換パラメータの方向とは逆方向にアフィン変換される。図12(b)に示す画像においては、画像421の大きさのみが変換される。そして、アフィン変換パラメータの方向とは逆方向にアフィン変換された画像421に、現フレームに対応する画像422が重なるように上書きされる。なお、画像421に画像422が上書きされた合成画像については、大きさが異なるものの、その他の点は、図11(b)に示す合成画像と同じであるため、ここでの説明は省略する。
続いて、次のフレームに対応する画像423が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて、前のフレームに対応する画像421および画像422の合成画像が、アフィン変換パラメータの方向とは逆方向にアフィン変換される。図12(c)に示す画像においては、画像421および422の合成画像の大きさのみが変換される。そして、現フレームに対応する画像423が、アフィン変換パラメータの方向とは逆方向にアフィン変換された画像421および422の合成画像に重なるように上書きされる。なお、画像421および422の合成画像に画像423が上書きされた合成画像は、大きさが異なるものの、その他の点は、図11(c)に示す合成画像と同じであるため、ここでの説明は省略する。
次に、撮像装置の撮影時において、撮像装置のレンズの方向や倍率は変更されないものの、撮影方向を回転中心にして撮像装置が回転されている場合について説明する。
図13は、撮像装置により撮影された動画の遷移の一例を示す図である。図13には、山を背景にして人440を撮影した場合における動画に含まれる連続するフレームに対応する画像441乃至443を示す図である。この例では、撮影方向を回転中心にして撮像装置を回転しながら、撮影者が撮影を行っている場合を示す。この場合には、撮像装置により撮影される動画に含まれる人440が、その動画を構成する画像において回転していく。なお、撮像装置の回転により撮像装置の位置が多少移動する場合があるものの、この例では、撮像装置の位置の移動については考慮せずに説明する。
図14は、図13に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。図14(a)に示す画像441は、図13(a)に示す画像441と同じものである。また、図14(b)に示す画像442のうちの実線の部分は、図13(b)に示す画像442と同じものであり、図14(b)に示す画像442のうちの破線の部分は、図13(a)に示す画像441の実線の部分と同じものである。また、図14(b)に示す画像442における矢印444乃至446は、画像442から検出されたオプティカルフローの一例を示す。同様に、図14(c)に示す画像443のうちの実線の部分は、図13(c)に示す画像443と同じものであり、図14(c)に示す画像443のうちの破線の部分は、図13(b)に示す画像442の実線の部分と同じものである。また、図14(c)に示す画像443における矢印447乃至449は、画像443から検出されたオプティカルフローの一例を示す。
図14(b)および(c)に示すように、撮像装置の回転に合わせて、画像に含まれる人440および背景の山が回転移動する。この回転移動により検出されるオプティカルフローに基づいてアフィン変換パラメータをフレーム毎に求めることができる。
図15は、図13に示す画像441乃至443を含む動画を再生する場合における表示例を示す図である。
図15(a)に示すように、最初は、先頭のフレームに対応する画像441のみが表示される。続いて、次のフレームに対応する画像442が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像442がアフィン変換される。図15(b)に示す画像においては、画像442の角度のみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像442が、直前のフレームに対応する画像441に重なるように上書きされる。すなわち、画像441の領域のうちで、画像442と重複する領域450については、画像442の画像が上書きされる。また、画像441の領域のうちで、画像442と重複しない領域451および452については、画像441の画像が合成される。すなわち、2つ目のフレームに対応する画像442が表示される場合には、図15(b)に示すように、画像442の全体部分と、画像441のうちの領域451および452に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させることができる。図15(b)では、画像442に画像枠が表示される。また、画像442をアフィン変換したアフィン変換パラメータが画像変換部140に保持される。
続いて、次のフレームに対応する画像443が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像443がアフィン変換される。すなわち、画像443に対応するアフィン変換パラメータの行列と、直前のアフィン変換に用いられた画像442に対応するアフィン変換パラメータの行列とを乗算して求められたアフィン変換パラメータにより画像443がアフィン変換される。図15(c)に示す画像においては、画像443の角度のみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像443が、前のフレームに対応する画像441および442の合成画像に重なるように上書きされる。すなわち、画像441および442の合成画像の領域のうちで、画像443と重複する領域453乃至457については、画像443の画像が上書きされる。また、画像441および442の合成画像の領域のうちで、画像443と重複しない領域458乃至461については、画像441および442の合成画像がさらに合成される。すなわち、3つ目のフレームに対応する画像443が表示される場合には、図15(c)に示すように、画像443の全体部分と、画像441のうちの領域459に対応する部分と、画像442のうちの領域458および460に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させる場合には、図15(c)に示す画像443に画像枠が表示される。また、画像443をアフィン変換したアフィン変換パラメータが画像変換部140に保持される。すなわち、画像442および443のそれぞれに対応するアフィン変換パラメータの行列の乗算により求められたアフィン変換パラメータが画像変換部140に保持される。
図16は、図13に示す画像441乃至443を含む動画を再生する場合における表示例を示す図である。図15および図16に示す表示例の相違は、図7および図8に示す表示例の相違と同様であり、固定位置に表示される画像、および、アフィン変換の対象となる画像が異なるものの、他の部分は共通する。このため、図15に共通する部分については、共通の符号を付して説明する。
図16(a)に示すように、最初は、先頭のフレームに対応する画像441のみが表示される。続いて、次のフレームに対応する画像442が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて直前の画像である画像441が、アフィン変換パラメータの方向とは逆方向にアフィン変換される。図16(b)に示す画像においては、画像441の角度のみが変換される。そして、アフィン変換パラメータの方向とは逆方向にアフィン変換された画像441に、現フレームに対応する画像442が重なるように上書きされる。なお、画像441に画像442が上書きされた合成画像については、角度が異なるものの、その他の点は、図15(b)に示す合成画像と同じであるため、ここでの説明は省略する。
続いて、次のフレームに対応する画像443が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて、前のフレームに対応する画像441および画像442の合成画像が、アフィン変換パラメータの方向とは逆方向にアフィン変換される。図16(c)に示す画像においては、画像441および442の合成画像の角度のみが変換される。そして、現フレームに対応する画像443が、アフィン変換パラメータの方向とは逆方向にアフィン変換された画像441および442の合成画像に重なるように上書きされる。なお、画像441および442に画像443が上書きされた合成画像は、角度が異なるものの、その他の点は、図15(c)に示す合成画像と同じであるため、ここでの説明は省略する。
以上では、動画を構成する各画像の位置、倍率および角度が順次変更される場合についてそれぞれ説明したが、これらの変更が組み合わされている場合についても同様に適用することができる。
ここで、現フレームに対応する画像の中心位置、角度および倍率の算出処理例について説明する。上述のように現フレームに対応する画像は、基準画像のフレームから現フレームまでの各フレームに対応するアフィン変換パラメータの行列が乗算されたものを用いて変換される。そのため、基準画像からの現フレームに対応する画像の移動量、回転角または倍率は、乗算により求められるアフィン変換パラメータを用いることで算出することができる。具体的には、画像変換部140により保持されている変換の基準とされた先頭フレームの中心位置、角度および倍率を示す基準情報、および、現フレームまでの各フレームに対応するアフィン変換パラメータの行列を乗算したものを用いることで、現フレームに対応する画像の中心位置、角度および倍率を算出することができる。現フレームに対応する画像の中心位置については、基準情報の中心位置および乗算されたアフィン変換パラメータの行列を用いて式1から算出され、角度θおよび倍率zについては、乗算されたアフィン変換パラメータを用いて、例えば、次式から算出される。
図17は、本発明の実施の形態における音声変換処理部200の構成例を示すブロック図である。ここでは一例として、右チャンネルおよび左チャンネルの入力音声を右チャンネルおよび左チャンネルの出力音声に変換する例を示す。
音量調整部201は、音量増幅器203乃至206を備える。音量増幅器203は、音声変換情報算出部190からの音声変換情報RRに基づいて右チャンネル入力音声を増幅する。音量増幅器204は、音声変換情報算出部190からの音声変換情報RLに基づいて右チャンネル入力音声を増幅する。音量増幅器203は、音声変換情報算出部190からの音声変換情報LRに基づいて左チャンネル入力音声を増幅する。音量増幅器204は、音声変換情報算出部190からの音声変換情報LLに基づいて左チャンネル入力音声を増幅するものである。ここにいう、音声変換情報とは、表示部180の表示画面における現フレームの中心位置、角度および倍率から算出される情報であり、各チャンネルの音量の調整値を示すものである。
音声加算部202は、音声加算器207および208を備える。音声加算器207は、音量増幅器203により増幅された右チャンネル入力音声および音量増幅器205により増幅された左チャンネル入力音声を加算するものである。この音声加算器207は、加算した音声を右チャンネル出力音声として音声出力制御部210に出力する。音声加算器208は、音量増幅器204により増幅された右チャンネル入力音声および音量増幅器206により増幅された左チャンネル入力音声を加算するものである。この音声加算器208は、加算した音声を左チャンネル出力音声として音声出力制御部210に出力する。これにより、入力音声が音声変換情報に従って変換されて、出力音声として音声出力制御部210に供給される。
次に、本発明の実施の形態における現フレームに対応する画像の移動に関する音声変換処理について図面を参照して詳細に説明する。
図18は、撮像された動画を通常の再生方法により再生する例の概要を示す図である。図18(a)には、右から左に移動する車を撮像対象として、撮像装置500により撮像された撮像範囲511乃至513が示されている。また、撮像範囲511乃至513の中心に車514乃至516が収まるように撮像されている。なお、ここでは図面の理解を容易にするために、便宜的に撮像画像511乃至513の面積に対する車514乃至516の割合を比較的大きくして示しているが、図3で述べたように、動物体の影響を受けずに撮像装置の動きを抽出するには、画像の面積に対する動物体を比較的小さくして撮像することが好ましい。また、以下では、撮像範囲511乃至513に対応する撮像画像については、同一の符号を付して撮像画像511乃至513として説明する。撮像装置500は、右マイク501と左マイク502とを備え、撮像画像511乃至513とともに、右マイク501および左マイク502により右チャンネルおよび左チャンネルの入力音声が取得される。取得された入力音声は、一般に、撮像装置500のファインダーに映し出される画像と合っている。図18(b)には、図18(a)で示す撮像画像511乃至513を通常の再生方法で再生する例が示されている。撮像画像511乃至513は、表示部180の表示画面全体に表示され、撮像画像511乃至513内の車514乃至516は、表示画面中央に表示される。ここで、撮像画像511乃至513の表示に合わせて出力される出力音声については、右チャンネルおよび左チャンネルの入力音声がそのまま右スピーカ221および左スピーカ222に出力される。このような通常の再生方法では、撮像画像の入力音声をそのまま出力音声として出力しても撮像画像に合った音声となる。なお、音量表示517および518は、右チャンネルおよび左チャンネルの入力音声の音量を示しており、また、右チャンネルの入力音声の音量を白で表し、左チャンネルの入力音声の音量を黒で表している。
図19は、本発明の実施の形態における画像処理装置100による再生例の概要を示す図である。ここでは、現フレームの前の各画像により形成された合成画像を固定して画像変換情報供給部130から供給されたアフィン変換パラメータを用いて現フレームに対応する画像を変換して再生する例を示す。図19で示す撮像画像511乃至513は、図18(a)で示す撮像画像511乃至513と同じであるが、この例では、撮像装置500の移動方向521から求められたアフィン変換パラメータに基づいて表示部180の表示画面上の右から左に撮像画像511、512、513の順に表示される。なお、図19では、説明のため、撮像画像511乃至513の間隔を空けない状態を示す。この場合には、図18(b)と異なり、撮像画像511乃至513が表示画面上を移動するため、取得された入力音声をそのまま出力させると、撮像画像511乃至513の移動に応じた自然な音響効果を得ることができない。そこで、本発明の実施の形態では、画像処理装置100は、表示画面上における撮像画像511乃至513の中心位置に応じて左チャンネルおよび右チャンネルの入力音声の加算割合を調整して出力チャンネル毎に出力する。具体的には、表示画面上における撮像画像511乃至513の中心位置に応じて右チャンネルおよび左チャンネルの入力音声の音量の比率を調整して加算された音声が各スピーカに出力される。表示画面上に撮像画像513が表示された場合を例にすると、右スピーカ221の出力音声としては、右チャンネルの入力音声を減衰させた音量519の音声が出力される。ここでは、減衰させた音量519に左チャンネルの入力音声を加算しているが、撮像画像513の中心位置が表示画面上の左側に位置するため、左チャンネルの入力音声の音量の比率を「0」としている。そのため、右スピーカ221には右チャンネルの入力音声のみが出力される。左スピーカ222の出力音声としては、左チャンネルの入力音声の音量518に右チャンネルの入力音声の音量から減衰させた音量519を引いた音声の音量520を加算した音声が出力される。
次に、本発明の実施の形態における音声変換情報算出部190による移動に関する音声変換情報の算出例について図面を参照して詳細に説明する。
図20は、本発明の実施の形態における表示部180の表示画面の座標系について示すブロック図である。この例では、表示画面における画像185を例にして説明する。
水平方向にX軸181を、垂直方向にY軸182をそれぞれ想定し、これらの軸の原点を表示部180の表示画面の中心とする。また、表示部180の表示画面の横幅183および縦幅184をそれぞれwidthおよびheightにより表す。この座標系において、原点からの現フレームに対応する画像185の中心位置186の移動量としては、X軸方向における移動量187をx、Y軸方向における移動量をyとする。また、画像185とX軸の成す角度189をθとする。
このように定義した座標系を用いて、これ以降に示す音声変換情報の算出に関連するグラフおよび関係式を表すこととする。
図21は、本発明の実施の形態における現フレームに対応する画像の中心位置と出力音声との関係を例示するグラフを示す図である。図21(a)および(b)では、横軸を、表示画面における画像の移動量(x)を示す軸とし、縦軸を、入力音声に対する出力音声の比率(Rate)を示す軸とする。実線611および621は、右チャンネルの出力音声の出力割合を示しており、破線612および622は、左チャンネルの出力音声の出力割合を示している。図21(a)には、右チャンネルの入力音声が移動量xに応じて右チャンネルおよび左チャンネルの出力音声に配分される割合が示されている。図21(b)には、左チャンネルの入力音声が移動量xに応じて各チャンネルの出力音声に配分される割合が示されている。最終的に、右チャンネルの出力音声については、実線611および621から定まる右チャンネルおよび左チャンネルの音声が加算されて出力される。左チャンネルの出力音声についても、破線612および622から定まる各チャンネルの音声が加算されて出力される。
ここで示す実線611に関する移動量xと入力音声に対する出力音声の比率f(x)との関係は、次式を用いて表すことができる。
f(x)=(α/(width/2))・x+1 (−width/2≦x<0)
1 (0≦x<width/2)
なお、widthは、表示画面の横幅である。また、パラメータαの値は、例えば、0.3〜0.4とするのが望ましい。
上記式を用いると、破線612、実線621および破線622の関係式は、それぞれ1−f(x)、1−f(−x)およびf(−x)として表される。
ここで、入力音声の変換に関する関係式は、式2として表される。
R'=R・RR+L・LR ・・・(式2)
L'=R・RL+L・LL
なお、RR=f(x)、RL=(1−f(x))、LR=(1−f(−x))、LL=f(−x)である。また、xは、現フレームに対応する画像の移動量(水平方向における原点から現フレームに対応する画像の中心位置までの距離)である。R'およびL'は、それぞれ右チャンネルおよび左チャンネルの出力音声である。RおよびLは、それぞれ右チャンネルおよび左チャンネルの入力音声である。
ここに示すRR、RL、LRおよびLLが音声変換情報に相当し、音声変換情報算出部190は、現フレームに対応する画像の中心位置から、これらRR、RL、LRおよびLLを算出する。
なお、ここでは一例として、スピーカ220を表示画面の左右に設置することを想定し、現フレームに対応する画像の画面上における左右方向の位置関係に基づいて、現フレームに対応する画像に係る音声に関する音声変換情報を算出する例について説明したが、例えば、センタースピーカのように表示画面の中央部分に設置するスピーカシステムや、表示画面の上下に設置するスピーカシステムにも適用してもよい。例えば、上下に設置するスピーカシステムに適用する場合には、現フレームに対応する画像の画面上における上下方向の位置関係に基づいて、現フレームに対応する画像に係る音声に関する音声変換情報を算出することができる。また、例えば、中央部分に設置するスピーカシステムに適用する場合には、現フレームに対応する画像の画面上における左右方向の位置関係に基づいて、現フレームに対応する画像に係る音声に関する音声変換情報を算出することができる。すなわち、アフィン変換パラメータに基づいて現フレームに対応する画像に係る音声に関する音声変換情報を算出することにより、この音声変換情報に基づいて音声を変換処理して出力音声を生成する。
次に、本発明の実施の形態における現フレームに対応する画像の回転に関する音声変換処理について図面を参照して詳細に説明する。
図22は、撮像装置500と被写体との関係について例示する図である。図22(a)には、撮像開始時における状態が示されている。ここでは、右マイク501および左マイク502を備えた撮像装置500により、声を出している人531およびベルが鳴っている目覚し時計532を撮像している状況が示されている。この場合、右マイク501には人531の声が比較的大きな割合で入力され、左マイク502には目覚し時計532の音が比較的大きな割合で入力される。図22(b)には、図22(a)の状態において撮像された撮像画像551が示されている。音量表示543は、右マイク501により取得された右チャンネルの入力音声の音量であり、音量表示544は、左マイク502により取得された左チャンネルの入力音声の音量である。なお、撮像画像551におけるRマーク541およびLマーク542は、撮像画像上における右マイク501および左マイク502の位置関係を把握するための目印として示している。図22(c)は、図22(a)の状態を撮像装置500の背面から見た図である。ここでは、撮像装置500を時計方向545に180度回転させて撮像動画を撮像する。この場合、右マイク501で取得される右チャンネルの入力音声は、回転角度に応じて、人531の声の割合が徐々に小さくなるのに対し、目覚し時計532のベルの音の割合が徐々に大きくなる。一方、左マイク502で取得される左チャンネルの入力音声は、回転角度に応じて、目覚し時計532のベルの音の割合が徐々に小さくなり、それとは逆に人531の声の割合が徐々に大きくなる。このようにして撮像された撮像動画の再生例について次図を参照して説明する。
図23は、本発明の実施の形態における画像処理装置100による再生例の概要を示す図である。図23(a)には、図22に示す撮像装置500で撮像された撮像動画を通常の再生方法で表示した一連の表示画像551乃至555が示されている。図23(b)には、本発明の実施の形態における画像処理装置100により再生した一連の表示画像561乃至565の一例が示されており、この再生例は、合成画像を固定して画像変換情報供給部130から供給されたアフィン変換パラメータを用いて現フレームに対応する画像を変換する例である。なお、ここでは、簡略化のため表示画面の枠を省略して示しており、また、撮像画像は、表示画面の中心に表示されるものとする。
図23(a)では、表示画像551乃至555上に表すRマーク541およびLマーク542の位置関係が変わらないため、表示画像551乃至555の入力音声をそのまま出力音声として出力しても、表示画像551乃至555に合った音声となる。
一方、図23(b)では、表示画像561乃至565上に表すRマーク541およびLマーク542の位置関係が変わるため、取得された入力音声をそのまま出力させると自然な音響効果を得ることができない。そこで、本発明の実施の形態では、画像処理装置100は、表示画面上における表示画像の角度に応じて右チャンネルおよび左チャンネルの入力音声の加算割合を調整して出力チャンネル毎に出力する。具体的には、右チャンネルの出力音声としては、表示画像561乃至565の角度に応じて、右チャンネルの入力音声の音量を減衰させるとともに左チャンネルの入力音声の音量を徐々に加算した音声が出力される。左チャンネルの出力音声としては、右チャンネルの出力音声における右チャンネルの入力音量の減衰分、および、右チャンネルの出力音声において右チャンネルの入力音量が加算された分の残りの分を加算した音声が出力される。
図24は、本発明の実施の形態における現フレームに対応する画像の角度と出力音声との関係を例示するグラフを示す図である。図24(a)および(b)では、横軸を、水平方向に対する角度(θ)を示す軸とし、縦軸を、入力音声に対する出力音声の比率(Rate)を示す軸とする。実線711および721は、右チャンネルの出力音声の出力割合を示しており、破線712および722は、左チャンネルの出力音声の出力割合を示している。図24(a)には、右チャンネルの入力音声が角度θに応じて各チャンネルの出力音声に配分される割合が示されている。図24(b)には、左チャンネルの入力音声が角度θに応じて各チャンネルの出力音声に配分される割合が示されている。最終的に、右チャンネルの出力音声については、実線711および721から定まる比率で各チャンネルの入力音声が加算されて出力される。左チャンネルの出力音声についても、破線712および722から定まる比率で各チャンネルの入力音声が加算されて出力される。
ここで示す実線711に関する現フレームに対応する画像の角度θと入力音声に対する出力音声の比率g(θ)との関係は、次式を用いて表すことができる。
g(θ)=(1+cosθ)/2
上記式を用いると、破線712、実線721および破線722の関係式は、それぞれ1−g(θ)、1−g(θ)およびg(θ)として表される。ここで、音声変換情報に相当する、式2に示したRR、RL、LRおよびLLは、それぞれRR=g(θ)、RL=(1−g(θ))、LR=(1−g(θ))、LL=g(θ)として表される。
なお、ここでは一例として、スピーカ220を表示画面の左右に設置することを想定したが、図21と同様に、表示画面の上下に設置するスピーカシステムにも適用してもよい。
次に、本発明の実施の形態における現フレームに対応する画像の倍率に関する音声変換処理について図面を参照して詳細に説明する。
図25は、本発明の実施の形態における画像処理装置100による再生例の概要を示す図である。図25(a)および(c)には、右マイク501および左マイク502を備えた撮像装置500により、人531および目覚し時計532を撮像している状況が示されている。そして、図25(b)、(d)および(e)には、撮像画像の表示例が示されており、ここでは、表示部180の表示画面の中心の一部領域に表示されていることとする。図25(b)には、図25(a)に示す撮像装置500で撮像された撮像画像551が示されている。音量表示543は、右マイク501により取得された右チャンネルの入力音声の音量であり、音量表示544は、左マイク502により取得された左チャンネルの入力音声の音量である。図25(c)には、図25(a)に示す撮像装置500の撮像状態から被写体にズームインした状態が示されている。
図25(d)および(e)には、本発明の実施の形態における画像処理装置100による再生例を示している。図25(d)は、現フレームに対応する画像の大きさを固定して画像変換情報供給部130から供給されたアフィン変換パラメータを用いて合成画像を変換する再生例である。この場合には、撮像装置500のズームイン操作により、撮像画像571における人531および目覚し時計532が拡大表示される。そこで、本発明の実施の形態では、画像処理装置100は、現フレームに対応する画像の倍率に応じて左チャンネルおよび右チャンネルの入力音声の音量をそれぞれ同じ比率で調整して出力チャンネル毎に出力する。具体的には、撮像画像551に対する撮像画像571における被写体の拡大率に応じて、各チャンネルの入力音声の音量543および544を同じ比率で増幅(音量表示546および547をそれぞれ加算)させた音声がそれぞれ出力される。
一方、図25(e)は、合成画像を固定して画像変換情報供給部130から供給されたアフィン変換パラメータを用いて、現フレームに対応する画像を変換する再生例であるが、この場合には、表示画面上における撮像画像571の被写体の大きさが、図25(b)に示す被写体の大きさと変わらない。そこで、本発明の実施の形態では、画像処理装置100は、入力音声の音量の比率を変えずにそのまま出力する。具体的には、この表示モードの場合には、画像変換部140は、現フレームに対応する画像の倍率以外の中心位置および角度を音声変換情報算出部190に出力する。
図26は、本発明の実施の形態における現フレームに対応する画像の倍率と出力音声との関係を例示するグラフ図である。図26(a)および(b)では、横軸を、画像の倍率(z)を示す軸とし、縦軸を、入力音声に対する出力音声の比率(Rate)を示す軸とする。図26(a)には、倍率zに応じた右チャンネルの入力音声に対する右チャンネルの出力音声の割合が示されている。図26(b)には、倍率zに応じた左チャンネルの入力音声に対する左チャンネルの出力音声の割合が示されている。
ここで示す実線713に関する倍率zと入力音声に対する出力音声の比率h(z)との関係は、次式を用いて表すことができる。
h(z)=1−β (0<z≦z1)
(2β/(z2−z1))・(z−z1)+1−β (z1≦z<z2)
1+β (z2≦z)
なお、zは、現フレームに対応する画像の倍率である。パラメータβは、倍率による音声への影響をあまり与えないように、例えば、0.1〜0.2とするのが望ましい。z1およびz2は、βの値を考慮して、適宜、決められるものである。
ここで、音声変換情報に相当する、式2に示したRRおよびLLは、RR=LL=h(z)として表される。なお、図25においては、各チャンネルの出力音声に対し、各チャンネルの入力音声が加算されない場合について説明したが、加算される場合には、その加算される各チャンネルの入力音声の音量は同じ比率で増幅されるため、RLおよびLRについても、RRおよびLLと同様にh(z)として表される。また、h(z)は、次式に示す1+βと1−βとを漸近線とするシグモイド関数等などでもよい。
h(z)=(1/(1+e−(z−1))−0.5)・β+1
以上では、現フレームに対応する画像の中心位置、角度および倍率が順次変更される場合について説明したが、これらの変更が組み合わされている場合についてもそれぞれの関係式を掛け合わせることにより同様に表すことができる。具体的には、音声変換情報に相当する、式2に示すRR、RL、LRおよびLLは、それぞれRR=f(x)・g(θ)・h(z)、RL=(1−f(x))・(1−g(θ))・h(z)、LR=(1−f(−x))・(1−g(θ))・h(z)、LL=f(−x)・g(θ)・h(z)として表される。なお、ここでは一例として、右チャンネルおよび左チャンネルの入力音声について説明したが、センターチャンネルを加えた入力音声について適用してもよい。
次に、本発明の実施の形態における画像処理装置100の動作について図面を参照して説明する。
図27は、本発明の実施の形態における画像処理装置100による動画再生処理の処理手順を示すフローチャートである。
最初に、動画を構成する画像のサイズよりも大きいワークバッファが画像メモリ160に確保される(ステップS921)。続いて、コンテンツ記憶部110からコンテンツファイルが取得される(ステップS922)。続いて、コンテンツファイルをデコードして現フレームに対応する画像および音声を取得する(ステップS923)。続いて、画像変換情報供給部130により現フレームに対応するアフィン変換パラメータが画像変換部140に供給される(ステップS924)。ここで、現フレームが先頭のフレームである場合には、単位行列のアフィン変換パラメータが供給される。続いて、画像変換部140は、3つの再生表示モードのうち、どのモードに選択されているかを判断する(ステップS925)。
そして、現フレームよりも前の各フレームに対応する画像により合成された合成画像を固定して動画を再生表示する場合には、画像変換部140から現フレームに対応する画像の倍率以外の中心位置および角度が音声変換情報算出部190に出力される。(ステップS926)。続いて、画像変換部140において、乗算により求められたアフィン変換パラメータを用いて現フレームに対応する画像がアフィン変換される(ステップS927)。ここで、現フレームが先頭のフレームである場合には、単位行列のアフィン変換パラメータを用いてアフィン変換がされるため、実際の画像は変換されない。続いて、画像メモリ160に保持されていた画像に、アフィン変換された現フレームに対応する画像が上書きして合成され、その合成された合成画像が画像メモリ160に保存される(ステップS928)。ここで、現フレームが先頭のフレームである場合には、先頭のフレームに対応する画像が画像メモリ160に保存される。
その後、合成された合成画像が表示部180に表示される(ステップS938)。続いて、音声変換処理が実行される(ステップ950)。この音声変換処理ついては、次図を参照して詳細に説明する。続いて、取得された動画を構成するフレームの中で、現フレームが最後のフレームであるか否かが判断される(ステップS939)。現フレームが最後のフレームではない場合には(ステップS939)、ステップS923に戻り、合成画像表示処理を繰り返す。
一方、ステップS925で現フレームに対応する画像を固定して動画を再生表示する再生表示モードが選択されていると判断された場合には、画像変換部140から現フレームに対応する画像の倍率のみが音声変換情報算出部190に出力される(ステップS929)。続いて、画像変換部140において、乗算により求められたアフィン変換パラメータを用いて画像メモリ160に保存されている合成画像が、アフィン変換パラメータの方向とは逆方向にアフィン変換される(ステップS931)。ここで、現フレームが先頭のフレームである場合には、画像メモリ160に保存されている合成画像が存在しないため、画像は変換されない。続いて、アフィン変換パラメータの方向とは逆方向にアフィン変換された合成画像に、現フレームに対応する画像が上書きして合成され、その合成された合成画像が画像メモリ160に保存される(ステップS932)。ここで、現フレームが先頭のフレームである場合には、先頭のフレームに対応する画像が画像メモリ160に保存される。続いて、ステップS938に進む。
また、ステップS925で現フレームに対応する画像の表示倍率を固定して動画を再生表示する再生表示モードが選択されていると判断された場合には、画像変換部140から現フレームに対応する画像の中心位置、角度および倍率が音声変換情報算出部190に出力される(ステップS933)。画像変換情報供給部130により供給されたアフィン変換パラメータの各要素から、倍率に関する要素が分離される(ステップS934)。続いて、分離された倍率に関する要素を用いて、画像メモリ160に保存されていた合成画像が、アフィン変換パラメータの方向とは逆方向にアフィン変換される(ステップS935)。ここで、現フレームが先頭のフレームである場合には、画像メモリ160に保存されている合成画像が存在しないため、画像は変換されない。続いて、分離された移動または回転に関する要素を用いて、現フレームに対応する画像がアフィン変換される(ステップS936)。ここで、現フレームが先頭のフレームである場合には、単位行列のアフィン変換パラメータを用いてアフィン変換がされるため、実際の画像は変換されない。続いて、アフィン変換パラメータの方向とは逆方向にアフィン変換された合成画像に、アフィン変換された現フレームに対応する画像が上書きして合成され、その合成された合成画像が画像メモリ160に保存される(ステップS937)。続いて、ステップS938に進む。
ステップS939において、現フレームが最後のフレームである場合には(ステップS939)、画像メモリ160に確保されているワークバッファを解放して(ステップS941)、動画再生処理を終了する。
図28は、本発明の実施の形態における画像処理装置100による音声変換処理の処理手順例(ステップS950の処理手順)を示すフローチャートである。
最初に、音声変換情報算出部190は、画像変換部140により出力された現フレームに対応する画像の中心位置、角度または倍率に基づいて音声変換情報を算出する(ステップS951)。続いて、音量調整部201は、音声変換情報算出部190により算出された音声変換情報に基づいてコンテンツ取得部120から出力された音声を構成する複数のチャンネルの各音量を調整する(ステップS952)。続いて、音声加算部202は、調整された音声がチャンネル毎に加算されて各チャンネルの出力音声として出力する(ステップS953)。続いて、加算された各チャンネルの出力音声がスピーカ220にそれぞれ出力される(ステップS954)。
次に、本発明の実施の形態の第1の変形例について図面を参照して説明する。
図29は、本発明の実施の形態における画像処理装置650の機能構成例を示すブロック図である。ここで、画像処理装置650は、図1に示す画像処理装置100の一部を変形したものであり、この画像処理装置650において、コンテンツ記憶部110、コンテンツ取得部120および画像変換情報供給部130の代わりに、動画記憶部240、メタデータ記憶部250およびコンテンツ取得部121を設けた画像処理装置である。なお、動画記憶部240、メタデータ記憶部250およびコンテンツ取得部121以外の構成は、図1に示す画像処理装置100と同様であるため、これら以外の構成についての説明は省略する。
動画記憶部240は、動画を動画ファイルとして記憶するものである。また、動画記憶部240は、コンテンツ取得部120からの要求に応じて動画ファイルをコンテンツ取得部120に供給する。なお、動画記憶部240に記憶される動画ファイルについては、図30を参照して詳細に説明する。
メタデータ記憶部250は、動画を解析して求められた動き情報に基づいて算出されたアフィン変換パラメータをメタデータファイルとして記憶するものである。また、メタデータ記憶部250は、コンテンツ取得部120からの要求に応じてメタデータファイルをコンテンツ取得部120に供給する。なお、メタデータ記憶部250に記憶されるメタデータファイルについては、図30を参照して詳細に説明する。
コンテンツ取得部121は、操作受付部230からの動画再生に係る操作入力に応じて、動画記憶部240に記憶されている動画ファイルと、この動画ファイルに関連付けられてメタデータ記憶部250に記憶されているメタデータファイルとを取得するものである。このコンテンツ取得部121は、取得された動画ファイルの動画およびメタデータファイルのアフィン変換パラメータを画像変換部140に出力する。また、コンテンツ取得部121は、取得された動画ファイルの動画に対応する音声を音声変換処理部200に出力する。
図30は、本発明の実施の形態における動画記憶部240およびメタデータ記憶部250に記録されている各ファイルを模式的に示す図である。図30(a)では、動画記憶部240に記憶されている動画ファイル241乃至244と、動画ファイル241乃至244に関連付けてメタデータ記憶部250に記憶されているメタデータファイル251乃至253とを示す。ここで、動画記憶部240に記憶されている各動画ファイルを識別するための識別情報である動画IDが、各動画ファイルに付与されているものとする。例えば、動画ファイル241には「#1」が付与され、動画ファイル242には「#2」が付与され、動画ファイル244には「#n」が付与されている。
図30(b)では、動画記憶部240に記憶されている動画ファイル241と、動画ファイル241に関連付けてメタデータ記憶部250に記憶されているメタデータファイル251とを模式的に示す図である。ここで、動画ファイル241は、n枚のフレームで構成された動画のファイルであり、これらのn枚のフレームをフレーム1(245)乃至n(248)として示す。
また、メタデータファイル251には、動画ID254と、フレーム番号255と、アフィン変換パラメータ256とが関連付けて格納されている。
動画ID254は、対応する動画ファイルに付与されている動画IDであり、例えば、動画ファイル241に付与されている「#1」が格納される。
フレーム番号255は、対応する動画ファイルの動画を構成する各フレームの通し番号であり、例えば、動画ファイル241の動画を構成するフレーム(1)245乃至(n)248に対応する「1」乃至「n」が格納される。
アフィン変換パラメータ256は、フレーム番号255に対応する動画の各フレームについて計算されたアフィン変換パラメータである。なお、フレーム番号255「1」に対応するアフィン変換パラメータ256「a1,b1,c1,d1,e1,f1」は、単位行列のアフィン変換パラメータである。また、フレーム番号255「m(mは2以上の整数)」に対応するアフィン変換パラメータ256「am,bm,cm,dm,em,fm」は、フレーム「m」の直前フレーム「m−1」に対するアフィン変換パラメータである。
以上では、現フレームに対応する画像を表示部180の真中部分に固定して動画を再生するか否かに応じて、現フレームに対応する画像にアフィン変換を施して合成画像を作成する場合と、前の各フレームに対応する合成画像にアフィン変換パラメータの方向とは逆方向にアフィン変換を施して合成画像を作成する場合とについて説明した。しかしながら、現フレームに対応する現画像にアフィン変換を順次施して合成画像を作成して画像メモリに順次保存するとともに、この画像メモリの合成画像から、表示の対象となる領域である表示領域を取り出して表示させることができる。これにより、動画を再生中に表示部の表示態様を切り換えることができる。以下では、これらの動画再生方法について図面を参照して詳細に説明する。
次に、本発明の実施の形態の第2の変形例について図面を参照して説明する。
図31は、本発明の実施の形態における画像処理装置680の機能構成例を示すブロック図である。ここで、画像処理装置680は、図29に示す画像処理装置650の一部を変形したものである。この画像処理装置680は、図29に示す画像処理装置650の機能構成に加えて表示領域取出部260および表示メモリ270を備え、画像合成部150、画像メモリ160および音声変換情報算出部190に代えて、画像合成部151、画像メモリ161および音声変換情報算出部191を設ける。この画像処理装置680は、表示画面内に現フレームに対応する画像を収めることができ、また、その処理に応じた音声変換処理をするものである。なお、動画記憶部240、メタデータ記憶部250、画像変換部140、音声変換処理部200、音声出力制御部210およびスピーカ220の構成は、図29に示す画像処理装置と同様であるため、これらの説明は省略する。また、この例では、図29に示す画像処理装置650の一部を変形した例について説明するが、図1に示す画像処理装置100についても同様に適用することも可能である。
画像合成部151は、表示領域取出部260から出力された表示領域における現フレームに対応する画像の位置に基づいて、画像変換部140から受け取った現フレームに対応する画像を、表示メモリ270に保持される合成画像に上書きすることにより合成する。具体的には、現フレームに対応する画像を固定する表示モードが指定されている場合には、画像合成部151は、画像変換部140によりアフィン変換される前の現フレームに対応する画像を、表示メモリ270に保持される合成画像の真中部分に上書きすることにより合成する。一方、現フレームに対応する画像の前の合成画像を固定する表示モードが指定されている場合には、画像合成部151は、表示領域取出部260から出力された表示領域における現フレームに対応する画像の位置に基づいて、画像変換部140によるアフィン変換後の現フレームに対応する画像を、表示メモリ270に保持される合成画像に上書きして合成する。ここで、表示メモリ270に合成される現フレームに対応する画像の大きさについては、表示倍率の値に応じて決定される。また、画像合成部151は、画像合成部150の機能を備える。画像合成部150の機能については、上述のものと同様であるため、ここでの説明は省略する。
画像メモリ161は、画像合成部151により合成された合成画像を保持するワークバッファである。保持されている合成画像を画像変換部140または表示領域取出部260に供給するものである。
表示領域取出部260は、画像メモリ161に保持されている合成画像から、表示の対象となる領域である表示領域の範囲内に存在する画像を取り出すものである。この表示領域取出部260は、取り出された画像を表示メモリ270に保持させる。また、表示領域取出部260は、画像メモリ161に保持されている合成画像のうちの現フレームに対応する画像の少なくとも一部が表示領域の範囲内からはみ出している場合には、現フレームに対応する画像の全てが表示領域の範囲内に含まれるように表示領域を移動させた後に、画像メモリ161に保持されている合成画像から、表示領域の範囲内に存在する画像を取り出す。さらに、表示領域取出部260は、現フレームの前の合成画像を固定する表示モードが指定されている場合には、表示領域における現フレームに対応する画像の位置を算出し、この表示領域における現フレームに対応する画像の位置を画像合成部151に出力する。また、表示領域取出部260は、画像メモリ161の領域を基準とした現在の表示領域に関するアフィン変換パラメータを算出して音声変換情報算出部191に出力する。なお、この表示領域の範囲内に含まれる画像の取出しについては、図32乃至図38等を参照して詳細に説明し、表示領域の移動については、図33、図34等を参照して詳細に説明する。また、表示領域における現フレームに対応する画像の位置の算出については、図37を参照して詳細に説明する。また、現在の表示領域に関するアフィン変換パラメータの算出については、図32および図35を参照して説明する。
表示メモリ270は、表示領域取出部260により画像メモリ161から取り出された画像を保持する表示用バッファである。この表示メモリ270に保持されている画像が表示部180に表示される。
表示制御部171は、表示メモリ270に保持されている合成画像をフレーム毎に表示部180に順次表示させるものである。
表示部180は、表示制御部171の制御に基づいて、表示メモリ270に保持されている合成画像を表示するものである。例えば、パーソナルコンピュータやテレビジョンのディスプレイにより実現することができる。
音声変換情報算出部191は、表示領域における現フレームに対応する画像の中心位置、角度または倍率に基づいて音声変換情報を算出するものである。具体的には、音声変換情報算出部191は、画像変換部140から出力された画像メモリ161における現フレームに対応する画像の中心位置、角度または倍率、および、表示領域取出部260から出力された、現在の表示領域に関するアフィン変換パラメータの逆行列を用いて、表示領域における現フレームに対応する画像の中心位置、角度および倍率を算出する。また、音声変換情報算出部190は、音声変換情報算出部190の機能を備える。なお、音声変換情報算出部190の機能については、上述のものと同様であるため、ここでの説明は省略する。また、音声変換情報算出部191は、表示領域における現フレームに対応する画像の中心位置、角度または倍率を表示領域取出部260から直接受け取ってもよい。
操作受付部231は、各種操作キー等を備え、これらのキーによる操作入力を受け付けると、受け付けた操作入力の内容を表示領域取出部260に出力するものである。操作受付部231には、例えば、動画の再生を指示する再生指示キー、動画の表示倍率を指定する表示倍率指定キー、動画を再生する場合における表示モードを設定する設定キーが設けられている。この表示モードとして、例えば、現フレームの前の各フレームに対応する合成画像を固定した状態で、現フレームに対応する現フレームに対応する画像をアフィン変換させながら表示させる表示モード、または、現フレームに対応する現フレームに対応する画像を固定した状態で、合成画像をアフィン変換パラメータの方向とは逆方向にアフィン変換させながら表示させる表示モードがある。これらの表示モードは、動画の再生中であっても切り換えることが可能である。また、操作受付部231は、操作受付部230の機能を備える。なお、操作受付部230の機能については、上述のものと同様であるため、ここでの説明は省略する。
図32は、本発明の実施の形態における動画記憶部240に記憶されている動画の各フレームと、表示領域との関係を模式的に示す図である。ここでは、画像メモリ161、メタデータ記憶部250および操作受付部231についてのみ図示し、これら以外の構成についての図示を省略する。また、図30(b)に示す動画ファイル241を構成するフレーム「1」乃至「3」について、メタデータファイル251に記憶されているアフィン変換パラメータ256を用いて画像メモリ161に合成画像が作成される場合を例にして説明する。なお、図32では、表示部180において現フレームの前の各フレームに対応する合成画像を固定する場合について示す。
図32(a)には、図30(b)に示す動画ファイル241を構成するフレームのうちの最初のフレームであるフレーム1(245)が画像メモリ161に保存される場合を示す。例えば、現フレームの前の各フレームに対応する合成画像を固定して、動画記憶部240に記憶されている動画ファイル241の再生を指示する再生指示の操作入力が操作受付部231により受け付けられると、図32(a)に示すように、動画ファイル241のフレーム1(245)に対応する画像351が画像メモリ161に保存される。ここで、最初のフレームに対応する画像351が画像メモリ161に保存される位置は、予め指定されている位置に保存するようにしてもよく、操作受付部231においてユーザにより指定された位置に保存するようにしてもよい。また、例えば、メタデータファイル251に記憶されている動画ファイル241に関するアフィン変換パラメータ256を用いてフレーム「1」乃至「n」までの合成画像の大きさを計算し、この計算に基づいて画像351が保存される位置を決定するようにしてもよい。なお、この例では、画像メモリ161上に配置された画像351の左上の位置を原点とし、横方向(横軸)をx軸とし、縦方向(縦軸)をy軸として説明する。
図32(a)に示すように、画像メモリ161上に画像351が配置された場合における表示領域を表示領域361とする。表示領域361は、例えば、画像351が保存されている位置および大きさに基づいて、操作受付部320により受け付けられた表示倍率の値に応じて決定される。例えば、現フレームに対応する画像をズームアウトする「0.5倍」の表示倍率が指定されている場合には、表示領域361は、画像351を中心として画像351の2倍の大きさとなる。なお、画像351に対する表示領域361の位置は、アフィン変換パラメータにより決定することができる。すなわち、現フレームに対応する画像をズームアウトする「0.5倍」の表示倍率が指定されている場合には、x方向およびy方向のズーム成分が2倍となるアフィン変換パラメータを用いて表示領域が設定される。また、現フレームに対応する画像に対して表示領域を平行移動させる場合や回転させる場合についても、アフィン変換パラメータを用いることにより表示領域の位置および範囲を決定することができる。
図32(b)には、図30(b)に示す動画ファイル241を構成するフレームのうちのフレーム2(246)が画像メモリ161に保存される場合を示す。この場合には、上述したように、フレーム番号255の「1」および「2」に関連付けてメタデータファイル251に記憶されているアフィン変換パラメータ256を用いてフレーム2(246)に対応する画像352が変換され、画像351に上書き合成される。この場合に、例えば、現フレームに対応する画像352が表示領域361の範囲内からはみ出していない場合には、表示領域361の位置および大きさは変更されない。ここで、現フレームに対応する画像が現在の表示領域の範囲内からはみ出す場合については、図33および図34を参照して詳細に説明する。なお、画像351に対する画像352の移動に応じて表示領域361を平行移動等させるようにしてもよい。
図32(c)には、図30(b)に示す動画ファイル241を構成するフレームのうちのフレーム3が画像メモリ161に保存される場合を示す。この場合についても、上述したように、フレーム番号255「1」乃至「3」に関連付けてメタデータファイル251に記憶されているアフィン変換パラメータ256を用いてフレーム3に対応する画像353が変換され、画像351および352に上書き合成される。
次に、現画像の移動に合わせて表示領域を移動させる場合における処理について図面を参照して詳細に説明する。
図33は、現フレームに対応する画像が表示領域からはみ出した場合における表示領域の移動処理を概略的に示す図である。図33(a)は、画像メモリ161に保持されている現フレームに対応する画像760を含む複数の画像と、表示領域759との関係を示す図である。図33(a)に示すように、表示領域759の範囲内に現画像760の全てが含まれているため、表示部180には他の画像とともに現画像760の全てが表示される。
図33(b)は、画像メモリ161に保持されている現画像762を含む複数の画像と、表示領域759との関係を示す図である。ここで、現画像762は、図33(a)に示す現画像760の次のフレームに対応する画像である。図33(b)に示すように、表示領域759の範囲内から現画像762の一部がはみ出している場合には、表示部180には現画像760の一部が表示されない。そこで、このような場合には、図33(b)に示すように、表示領域759の一辺と、表示領域759の範囲内からはみ出している現画像762との差分値763を表示領域取出部260が算出して、この算出された差分値763に付加値764を加算した値だけ表示領域759を移動させる。ここで、付加値764は、例えば、5ピクセルとすることができる。また、付加値を加算せずに、差分値だけ移動させるようにしてもよい。なお、図33(b)では、表示領域761の右側部分から現画像762がはみ出した場合を例にして説明するが、上側部分、下側部分、または左側部分から現画像がはみ出した場合についても、同様の方法により表示領域を移動させることができる。また、上下左右の少なくとも2箇所から現画像がはみ出した場合には、それぞれ一辺の差分値を算出して、算出された各差分値に基づいて、それぞれの辺の方向に表示領域を移動させるようにすることができる。
図33(c)には、図33(b)に示す状態で算出された差分値763に基づいて移動された表示領域765を示す。
図34は、図33に示す移動処理で表示領域を移動させる場合の遷移の一例を示す図である。図34(a)は、表示領域を移動させる場合における画像メモリ161上の表示領域の遷移の一例を示す図であり、図34(b)は、表示領域を移動させる場合における表示部180に表示される画像の遷移の一例を示す図である。同図に示すように、現画像767以降の画像が表示領域766からはみ出すような場合でも、現画像の位置に応じて表示領域766を順次移動させることができる。例えば、画像メモリ161上において画像767から現画像769まで進んだ場合に、この移動に応じて表示領域766が表示領域768の位置まで移動する。この場合には、表示部180に表示される画像が画像770から画像771に遷移する。これにより、表示部180に表示されている画像を拡大縮小させる場合でも、現画像の全部を表示部180に常に表示させておくことができる。
次に、表示部180において現フレームに対応する現画像を固定する場合について図面を参照して詳細に説明する。
図35は、本発明の実施の形態における動画記憶部240に記憶されている動画ファイルの各フレームと、表示領域との関係を模式的に示す図である。ここでは、図32と同様に、画像メモリ161、メタデータ記憶部250および操作受付部231についてのみ図示し、これら以外の構成についての図示を省略する。また、図30(b)に示す動画ファイル241を構成するフレーム「1」乃至「3」について、メタデータファイル251に記憶されているアフィン変換パラメータ256を用いて画像メモリ161に合成画像が作成される場合を例にして説明する。
図35(a)には、図32(a)と同様に、フレーム1(245)が画像メモリ161に保存される場合を示す。なお、図35(a)に示す画像351および表示領域361の位置および大きさについては、図32(a)に示すものと同じであるため、ここでの詳細な説明は省略する。なお、この例では、現フレームに対応する画像の変換とともに、表示領域が変換されるものの、フレーム1(245)に対応するアフィン変換パラメータは単位行列のパラメータであるため、フレーム1(245)に対応する表示領域361は、操作受付部231からの表示倍率指定のみが考慮されて決定される。
図35(b)には、図32(b)と同様に、フレーム2(246)が画像メモリ161に保存される場合を示す。この場合には、図32(b)と同様に、フレーム2(246)に対応する画像352が変換され、画像351に上書き合成されるとともに、表示領域についてもアフィン変換が施される。すなわち、画像351の位置および大きさを基準として、フレーム番号255の「1」および「2」に関連付けてメタデータファイル251に記憶されているアフィン変換パラメータ256を用いてフレーム2(246)に対応する画像352が変換される。そして、操作受付部231により受け付けられた表示倍率の値に応じて決定されるアフィン変換パラメータを用いて画像352の位置および大きさが変換され、この変換後の位置および大きさにより決定される領域が表示領域362となる。具体的には、フレーム番号255の「1」および「2」に対応するアフィン変換パラメータの行列をそれぞれA1、A2とし、操作受付部231により受け付けられた表示倍率の値に応じて決定されるアフィン変換パラメータの行列をBとする場合には、「A1×A2×B」の値が求められ、画像351の位置および大きさを基準として、求められた「A1×A2×B」の行列により表示領域362が決定される。
図35(c)には、図32(a)と同様に、フレーム3が画像メモリ161に保存される場合を示す。この場合についても、上述したように、フレーム3に対応する画像353が変換され、画像351および352に上書き合成されるとともに、表示領域についてもアフィン変換が施されて、画像353に対する表示領域363が決定される。具体的には、フレーム番号255の「1」乃至「3」に対応するアフィン変換パラメータの行列をそれぞれA1乃至A3とし、操作受付部231により受け付けられた表示倍率の値に応じて決定されるアフィン変換パラメータの行列をBとする場合には、「A1×A2×A3×B」の値が求められ、画像351の位置および大きさを基準として、求められた「A1×A2×A3×B」の行列により表示領域363が決定される。
図36は、表示部180における現フレームに対応する画像を固定する表示モードが指定されている場合において、表示部180に表示される動画を拡大表示させる場合における拡大方法の概略を示す図である。図36(a)は、表示部180に表示される動画を拡大表示させる場合の表示領域の遷移を概略的に示す図であり、図36(b)は、図36(a)に示す表示領域698および699内の画像が表示部180に表示される場合における表示例を示す図である。
図36(b)では、図36(a)に示す表示領域698により画像メモリ161から取り出されて表示部180に表示される画像730を示す。ここで、図36(b)に示す画像730が表示されている状態で、操作受付部231において拡大表示の指示操作が受け付けられた場合には、この拡大表示の指示操作に応じて、表示領域取出部260が表示領域698の大きさを縮小する。なお、この縮小処理は、現画像697が中心となるように行われる。すなわち、上述したように、操作受付部231により受け付けられた表示倍率の値に応じて決定されるアフィン変換パラメータを用いて画像679の位置および大きさが変換され、この変換後の位置および大きさにより表示領域698が決定される。この例では、表示倍率を拡大する操作入力がされているため、この表示倍率の拡大に応じてアフィン変換パラメータのズーム成分が決定される。
例えば、図36(a)に示すように、表示領域698の大きさが縮小されて、表示領域699となる。図36(b)では、図36(a)に示す表示領域699により画像メモリ161から取り出されて表示部180に表示される画像731を示す。このように、表示領域の大きさを変更するのみで、現フレームに対応する画像を含む画像を拡大または縮小させて表示することができる。
以上で示したように、画像メモリ161上に配置される表示領域の範囲内に存在する画像を表示することによって、再生中の合成画像を順次表示させることができる。ここで、現画像がアフィン変換されて画像メモリ161に合成される際には縮小処理等が施されることがある。このため、表示倍率を高くして現画像を拡大表示させる場合には、現フレームに対応する画像を含む合成画像がぼけてしまうことが考えられる。そこで、この例では、現在再生中の現画像については、画像メモリ161に合成される前の画像を用いて合成画像を表示させる。以下では、この表示方法について図面を参照して詳細に説明する。
図37および図38は、本発明の実施の形態における動画記憶部240に記憶されている動画ファイルの各フレームの流れを模式的に示す図である。ここでは、動画記憶部240、メタデータ記憶部250、画像メモリ161および表示メモリ270の関係についてのみ図示し、これら以外の構成についての図示を省略する。また、図37では、表示部180において現フレームの前の各フレームに対応する合成画像を固定する場合について示し、図38では、表示部180において現フレームに対応する画像を固定する場合について示す。
図37(a)には、図30(b)に示す動画ファイル241およびメタデータファイル251を簡略化して示す。以下では、動画ファイル241を構成するフレームi(247)に対応する画像が表示される例について説明する。すなわち、動画ファイル241を構成するフレーム1乃至「i−1」に対応する画像については、合成画像が作成されているものとする。また、現画像の移動に合わせて図32に示す表示領域361が右側に移動されているものとする。
図37(b)には、動画ファイル241を構成する各フレームに対応する画像が合成された合成画像が保持されている画像メモリ161を模式的に示す。図32(b)に示すように、動画ファイル241を構成するフレーム1(245)に対応する画像351が画像メモリ161に最初に保持される。そして、画像351が画像メモリ161に保持された後に、動画ファイル241を構成するフレーム2乃至「i−1」に対応する各画像が、フレーム2乃至「i−1」のそれぞれに関連付けてメタデータファイル251に記憶されているアフィン変換パラメータ256の値を用いて順次アフィン変換され、アフィン変換された画像が画像メモリ161に順次上書きされて保持される。そして、画像メモリ161に保持されている合成画像から、操作受付部231からの表示倍率指定に係る操作入力に応じて決定された表示領域内に存在する画像を、表示領域取出部260がフレーム毎に取り出す。
フレーム1乃至「i−1」に対応する各画像による合成画像が画像メモリ161に保持されている状態で、動画ファイル241を構成するフレームi(247)に対応する画像が、フレームiに関連付けてメタデータファイル251に記憶されているアフィン変換パラメータ256の値「ai,bi,ci,di,ei,fi」を用いてアフィン変換され、アフィン変換された現画像692が画像メモリ161に上書きされて保持される。そして、画像メモリ161に保持されている合成画像から、操作受付部231からの表示倍率指定に係る操作入力に応じて決定された表示領域690内に存在する画像を、表示領域取出部260が取り出し、取り出された画像を、例えば、図37(c)に示すように表示メモリ270に保持させる。
図37(c)には、表示領域取出部260により取り出された画像が保持されている表示メモリ270を模式的に示す。ここで、表示領域取出部260により取り出された画像のうちの現フレームに対応する現画像693は、表示領域取出部260により画像メモリ161から取り出された現画像692ではなく、動画記憶部240から取得されて画像変換部140によりアフィン変換された画像を用いる。ここで、表示メモリ270における現画像693の保存位置は、画像メモリ161における現画像692の位置および大きさと、画像メモリ161における表示領域690の位置および大きさとに基づいて決定することができる。例えば、フレーム番号255の「1」乃至「i」に関連付けてメタデータファイル251に記憶されているアフィン変換パラメータの行列をそれぞれA1、…、Aiとし、表示領域690を決定するためのアフィン変換パラメータの行列(例えば、画像メモリ161を基準とする行列)をCとする場合には、画像351の位置を基準として、inv(C)×(A1×…×Ai)を用いることにより、表示メモリ270における現画像693の保存位置を決定することができる。
図37(c)に示すように、表示領域取出部260により取り出された画像が表示メモリ270に保持されるとともに、表示領域取出部260により取り出された画像に、動画記憶部240から取得されて画像変換部140によりアフィン変換された画像が上書きされて表示メモリ270に保持される。そして、表示メモリ270に保持されている画像が表示部180に表示される。このように、現画像については、アフィン変換後に縮小等の処理が施されて画像メモリ161に保持される前の状態の画像を用いることによって、比較的綺麗な現画像を表示することができる。また、ユーザの操作により拡大等がされた場合についても現画像を綺麗な状態で表示することができる。
図38(a)には、図30(b)に示す動画ファイル241およびメタデータファイル251を簡略化して示す。なお、図38(a)に示す動画記憶部240およびメタデータ記憶部250と、図38(b)に示す画像メモリ161に保持されている合成画像については、図37(a)および(b)と同一であるため、ここでの説明を省略する。
図38(b)には、図37(b)に示す画像351から現画像692までの合成画像が保持されている画像メモリ161を模式的に示すとともに、図35(b)に示す表示領域361を破線で示す。この例では、図35に示すように、表示部180において現フレームに対応する画像の位置を固定するため、現画像692に合わせて表示領域をアフィン変換により算出する。すなわち、現フレームに対応する画像である画像351を基準として、フレーム番号255の「1」乃至「i」に関連付けてメタデータファイル251に記憶されているアフィン変換パラメータ256を用いてフレームi(247)に対応する画像が画像692に変換され、画像メモリ161に保存される。そして、フレームi(247)に対応する表示領域695については、操作受付部231により受け付けられた表示倍率の値に応じて決定されるアフィン変換パラメータを用いて画像692の位置および大きさが変換され、変換後の位置および大きさにより表示領域695が決定される。この表示領域の決定は、表示領域取出部260により行われる。
図38(c)には、表示領域取出部260により取り出された画像が保持されている表示メモリ270を模式的に示す。ここで、表示メモリ270に保持される画像(現画像696以外の画像)は、表示領域取出部260により取り出された画像(表示領域695の範囲内に存在する画像)が、表示領域695の変換に用いられたアフィン変換パラメータに係る行列に対する逆行列を用いて変換された画像である。すなわち、画像メモリ161上に配置される表示領域の形状は、アフィン変換により平行四辺形となる場合等がある。このようにアフィン変換された表示領域内の合成画像を表示部180に表示させるため、現在の現画像をアフィン変換する際に用いられたアフィン変換パラメータに係る行列の逆行列を用いて表示領域内の合成画像を変換する。例えば、フレーム番号255の「1」乃至「i」に関連付けてメタデータファイル251に記憶されているアフィン変換パラメータの行列をそれぞれA1、…、Aiとし、表示領域695を決定するためのアフィン変換パラメータの行列(例えば、現フレームに対応する画像を基準とする行列)をBとする場合には、表示領域内の合成画像を変換するための行列として、inv(A1×…×Ai×B)を用いる。これにより、例えば、図38(c)に示すように、平行四辺形に変換された画像を長方形に変換して表示部180に表示させることができる。また、表示領域取出部260により取り出された画像のうちの現フレームに対応する画像696は、表示領域取出部260により画像メモリ161から取り出された画像の代わりに、動画記憶部240から取得されてアフィン変換されていない画像を用いる。ここで、表示メモリ270において画像696が保存される位置および大きさは、操作受付部231からの表示倍率に応じて決定される。
図38(c)に示すように、表示領域取出部260により取り出された画像が表示メモリ270に保持されるとともに、表示領域取出部260により取り出された画像に、動画記憶部240から取得された画像が上書きされて表示メモリ270に保持される。これにより、現フレームに対応する画像を固定位置に表示する表示モードが指定されている場合には、一旦アフィン変換がされた合成画像を、逆行列によりアフィン変換がされていない状態に戻して表示することができる。また、現フレームに対応する画像については、図37と同様に、比較的綺麗な画像を表示することができる。
以上で示したように、画像メモリ161に保持される合成画像の作成方法を同一の方法により作成して、2つの表示態様による動画再生を実現することができるため、2つの表示態様の切り替えを動画の再生中に行うことができる。これにより、動画を再生中の視聴者が、再生中でも好みの表示態様に切り換えることが可能である。例えば、図37に示す表示態様で動画を再生している場合において、好みの人物が現画像の真中に現れて、その人物を表示部180の真中部分に配置して視聴したい場合には、操作受付部231からの表示モード切替操作により、図38に示す表示態様の動画再生に切り換えることができる。また、現画像については、画像メモリ161に保持される合成画像の代わりに、動画記憶部240から取得されてアフィン変換された画像を用いることができるため、比較的綺麗な画像を視聴することができる。
図39および図40は、本発明の実施の形態における画像処理装置680による動画再生処理の処理手順を示すフローチャートである。なお、図39乃至41に示す処理手順のうちで、ステップS921、S926、S927、S928、S939およびS941については、図27に示す処理手順と同様であるため、同一の符号を付してここでの説明は省略する。
コンテンツ取得部120は、操作受付部231からの操作入力に応じて、動画記憶部240に記憶されている動画ファイルを取得するとともに、この動画ファイルに関連付けてメタデータ記憶部250に記憶されているメタデータファイルを取得する(ステップS961)。続いて、コンテンツ取得部120が、動画ファイルをデコードし、動画ファイルを構成する1つのフレームである現フレームの画像およびそれに対応する音声を取得する(ステップS962)。続いて、コンテンツ取得部120が、取得された現フレームに対応するアフィン変換パラメータをメタデータファイルから取得する(ステップS963)。
続いて、アフィン変換された現フレームに対応する画像が合成画像に上書きされて画像メモリ161に保存される(ステップS928)。その後に、表示領域取出部260は、現フレームに対応する画像を固定する表示モードが指定されているか否かを判断する(ステップS964)。現フレームに対応する画像を固定する表示モードが指定されている場合には、表示領域取出部260は、最初のフレームから現フレームまでのアフィン変換パラメータと、表示倍率に対応するアフィン変換パラメータとを用いて表示領域の位置および大きさを決定する(ステップS965)。続いて、表示領域取出部260は、表示領域に含まれる合成画像を画像メモリ161から取り出す(ステップS966)。続いて、表示領域取出部260は、表示領域の決定に用いられたアフィン変換パラメータの行列に対する逆行列を用いて、画像メモリ161から取り出された合成画像をアフィン変換する(ステップS967)。
続いて、表示領域取出部260は、画像メモリ161から取り出されてアフィン変換された合成画像を表示メモリ270に保存する(ステップS968)。続いて、画像合成部151は、表示メモリ270に保存されている合成画像に現画像を上書き合成する(ステップS969)。続いて、表示メモリ270に保存されている合成画像を表示部180が表示する(ステップS970)。続いて、音声変換処理が実行される(ステップS980)。
一方、ステップS964において、現フレームに対応する画像を固定する表示モードが指定されていない場合には、表示領域取出部260は、表示倍率に対応するアフィン変換パラメータを用いて表示領域の位置および大きさを決定する(ステップS971)。なお、現画像の変換に応じて表示領域が移動している場合には、直前に移動された表示領域の位置を用いるようにしてもよい。
続いて、表示領域取出部260は、画像メモリ161に保持されている現画像が表示領域からはみ出しているか否かを判断する(ステップS972)。画像メモリ161に保持されている、現フレームに対応する画像が表示領域からはみ出していない場合(すなわち、現画像の全部が表示領域の範囲内に含まれる場合)には、表示領域取出部260は、表示領域に含まれる合成画像を画像メモリ161から取り出す(ステップS973)。続いて、表示領域取出部260は、画像メモリ161から取り出された合成画像を表示メモリ270に保存する(ステップS974)。
続いて、表示領域取出部260は、現フレームに対応する画像の変換に用いられたアフィン変換パラメータの行列と、表示領域の決定に用いられたアフィン変換パラメータの行列に対する逆行列とを用いて、表示メモリ270における現フレームに対応する画像の位置を決定する(ステップS975)。続いて、画像合成部151は、表示メモリ270に保存されている合成画像に現フレームに対応する画像を上書きして合成する(ステップS976)。続いて、ステップS970に進む。
また、ステップS972において、画像メモリ161に保持されている現画像が表示領域からはみ出している場合(すなわち、現画像の少なくとも一部が表示領域の範囲内に含まれない場合)には、表示領域取出部260は、表示領域の一辺と、表示領域からはみ出している現画像との差分値を算出する(ステップS977)。続いて、表示領域取出部260は、算出された差分値に基づいて表示領域を移動させる(ステップS978)。続いて、ステップS973に進む。
図41は、本発明の実施の形態における画像処理装置680による音声変換処理の処理手順例(ステップS980の処理手順)を示すフローチャートである。なお、ここで示す処理手順のうちで、ステップS952、S953およびS954については、図28に示す処理手順と同様であるため、同一の符号を付してここでの説明は省略する。
最初に、表示領域取出部260から画像メモリ161の領域を基準とした現在の表示領域に関するアフィン変換パラメータが出力される(ステップS981)。表示領域に関するアフィン変換パラメータ、および、画像変換部140により出力された現フレームに対応する画像の中心位置、角度および倍率を用いて音声変換情報が算出される(ステップS982)。
次に、本発明の実施の形態の第3の変形例について図面を参照して説明する。
図42は、本発明の実施の形態における画像処理装置740の機能構成例を示すブロック図である。ここで、画像処理装置740は、図31に示す画像処理装置680の一部を変形したものである。この画像処理装置740は、図31に示す画像処理装置680の機能構成に加えて対象画像変換情報算出部280および相対関係情報記憶部290を備え、コンテンツ取得部120、画像変換部140、音量調整部201および音声加算部202に代えてコンテンツ取得部121、画像変換部141、音量調整部630および音声加算部640を設ける。これにより、画像処理装置740は、1つの表示画面内での複数の動画再生において複数の動画と関連付けて音声を変換処理することができるようになる。なお、動画記憶部240、メタデータ記憶部250、画像合成部151、音声変換情報算出部191、音声出力制御部210およびスピーカ220の構成は、図31に示す画像処理装置と同様であるため、これらの説明は省略する。
コンテンツ取得部121は、操作受付部232により受け付けられた操作入力に応じて、動画記憶部240に記憶されている1または複数の動画ファイル、これらの各動画ファイルに関連付けられてメタデータ記憶部250に記憶されているメタデータファイル、これらの動画ファイルに共通して関連付けられて相対関係情報記憶部290に記憶されている相対関係メタデータファイルの少なくとも1つを取得し、取得された各ファイルの情報を各部に供給するものである。具体的には、コンテンツ取得部121は、複数の動画を合成しながら再生する複数動画合成再生モードを指定する操作入力が操作受付部232により受け付けられた場合には、動画記憶部240に記憶されている複数の動画ファイルと、これらの各動画ファイルに関連付けられてメタデータ記憶部250に記憶されているメタデータファイルと、これらの動画ファイルに共通して関連付けられて相対関係情報記憶部290に記憶されている相対関係メタデータファイルとを取得し、取得された動画ファイルの動画およびメタデータファイルのアフィン変換パラメータを画像変換部141に出力する。また、取得されたメタデータファイルおよび相対関係メタデータファイルの内容を対象画像変換情報算出部280に出力する。また、コンテンツ取得部121は、コンテンツ取得部120の機能を備える。コンテンツ取得部120の機能については、上述のものと同様であるため、ここでの説明は省略する。
画像変換部141は、コンテンツ取得部121から出力された動画ファイルの動画を構成する画像について、この画像に対応するアフィン変換パラメータを用いてフレーム毎にアフィン変換を施し、アフィン変換された画像を画像合成部151に出力するものである。ここで、複数動画合成再生モードが指定されている場合には、画像変換部141は、再生の対象となる複数の動画のうちの1つの動画を基準動画とし、この基準動画については、この基準動画を構成する画像に対応するアフィン変換パラメータを用いて、フレーム毎にアフィン変換を施す。一方、再生の対象となる複数の動画のうちの基準動画以外の他の動画については、対象画像変換情報算出部280により算出された対象画像変換情報(アフィン変換パラメータ)と、動画を構成する画像に対応するアフィン変換パラメータとを用いて、フレーム毎にアフィン変換を施す。また、画像変換部141は、画像変換部140の機能を備える。画像変換部140の機能については、上述のものと同様であるため、ここでの説明は省略する。なお、他の動画の変換方法については、図44等を参照して詳細に説明する。
操作受付部232は、各種入力キーを備え、これらの操作入力を受け付けると、受け付けた操作入力の内容をコンテンツ取得部121、画像変換部141または表示領域取出部260に出力するものである。操作受付部232には、例えば、動画記憶部240に記憶されている1または複数の動画ファイルの中から所望の動画を選択する動作選択キー、通常の動画再生を指示する再生指示キー、再生中の動画を停止する停止キー、動画の表示倍率を指定する表示倍率指定キー、複数動画合成再生モードを設定する複数動画合成再生設定キー等が設けられている。なお、これらのキーについては、1つのキーに複数の機能を割り当てるようにしてもよい。また、操作受付部232の少なくとも一部と表示部180とをタッチパネルとして一体として構成するようにしてもよい。
対象画像変換情報算出部280は、複数動画合成再生モードが指定されている場合に、コンテンツ取得部121から出力されたメタデータファイルおよび相対関係メタデータファイルのアフィン変換パラメータに基づいて、再生の対象となる複数の動画の中の1つの動画を構成する少なくとも1つの画像を基準画像とし、他の動画を構成する各画像を対象画像とした場合に、この対象画像の変換に用いられる対象画像変換情報を算出するものである。そして、算出された対象画像変換情報を画像変換部141に出力する。1つの動画における基準画像については、例えば、1つの動画を構成する画像の中の先頭フレームに対応する画像を用いることができる。また、対象画像変換情報は、例えば、基準画像に対する対象画像の変換に用いられるアフィン変換パラメータである。
図43は、本発明の実施の形態における動画記憶部240および相対関係情報記憶部290に記録されている各ファイルを模式的に示す図である。この例では、動画記憶部240に記憶されている動画ファイル241乃至244と、動画ファイル241乃至244に関連付けて相対関係情報記憶部290に記憶されている相対関係メタデータファイル291乃至293とを模式的に示す図である。この例では、動画ファイル(#1)241を構成するフレーム「5」741およびフレーム「8」742と、動画ファイル(#2)242を構成するフレーム「7」743およびフレーム「9」744と、動画ファイル(#3)243を構成するフレーム「3」745およびフレーム「10」746とが、相対関係情報記憶部290に記憶されている相対関係メタデータファイル291乃至293に関連付けて記憶されている例について説明する。なお、動画記憶部240に記憶されている各動画ファイルについては、図30に示す動画ファイルと同様であるため、ここでの説明を省略する。
相対関係メタデータファイル291乃至293には、動画ID294と、フレーム番号295と、アフィン変換パラメータ296とが関連付けてそれぞれ格納されている。
動画ID294は、少なくとも3つの一致点を互いに含む2つの画像に対応する2つの動画ファイルに付与されている動画IDであり、例えば、相対関係メタデータファイル291には、動画ファイル241に付与されている「#1」および動画ファイル242に付与されている「#2」が格納される。
フレーム番号295は、少なくとも3つの一致点を互いに含む2つの画像に対応する2つのフレームの通し番号であり、例えば、相対関係メタデータファイル291には、動画ファイル241の動画を構成するフレームのフレーム番号「5」および動画ファイル242の動画を構成するフレームのフレーム番号「7」が格納される。
アフィン変換パラメータ296は、動画ID294およびフレーム番号295に対応する少なくとも2つの画像について計算されたアフィン変換パラメータであり、例えば、相対関係メタデータファイル291には、動画ファイル241の動画を構成するフレーム「5」および動画ファイル242の動画を構成するフレーム「7」に対応するアフィン変換パラメータとして「ao,bo,co,do,eo,fo」が格納される。なお、本発明の実施の形態では、アフィン変換パラメータ296は、対応する2つの動画ID294およびフレーム番号295のうちの図43に示す下側のフレーム番号に対応する画像を基準画像として、上側を対象画像とした場合におけるアフィン変換パラメータであるものとする。例えば、相対関係メタデータファイル291に格納されているアフィン変換パラメータ296は、動画ファイル(#1)241の動画を構成するフレーム「5」741の動画ファイル(#2)242の動画を構成するフレーム「7」743に対するアフィン変換パラメータである。
図44は、2つの動画を合成する場合における合成例を模式的に示す図である。この例では、動画370を構成する画像371乃至384と、動画390を構成する画像391乃至397とを合成する場合について説明する。また、内部を斜線で示す画像378および394は、動画370および390に関する相対関係メタデータに含まれるフレーム番号に対応する画像であるものとする。
図44(a)では、動画370を構成する画像371乃至384を、各フレームに関連付けて記憶されているアフィン変換パラメータを用いて順次アフィン変換していき、画像メモリ161上に合成する場合を示す。例えば、最初に、先頭フレームに対応する画像371が画像メモリ161に保持される。そして、画像371を基準にして画像372乃至384が順次アフィン変換されて画像メモリ161に合成される。このアフィン変換による現画像の流れを矢印385で示す。すなわち、矢印385に沿うように画像371乃至384が順次合成される。
図44(b)では、動画390を構成する画像391乃至397を、各フレームに関連付けて記憶されているアフィン変換パラメータを用いて順次アフィン変換していき、画像メモリ161上に合成する場合を示す。また、図44(c)では、動画370および390に関する相対関係メタデータに含まれるアフィン変換パラメータにより、画像391を基準画像として画像394をアフィン変換した場合における画像378および画像394の相対関係位置を示す。ここで、図44(b)に示す合成画像は、図44(c)に示す画像378および画像394の相対関係位置を基準にして、画像391乃至397が合成された場合を示すものである。この場合のアフィン変換による現画像の流れを矢印398で示す。すなわち、矢印398に沿うように画像391乃至397が順次合成される。このように、図44(c)に示す画像378および画像384の相対関係位置を基準にして、図44(a)に示す合成画像および図44(b)に示す合成画像が合成された場合における合成例を図44(d)に示す。なお、図44(d)に示す例では、画像378および394が同時刻に再生される場合を示し、同時刻に再生される各画像は、動画390が動画370よりも上書き合成される例を示す。
ここで、具体的な各動画の保持位置に関する計算について説明する。最初に、複数の動画のうちの1つの動画を構成する少なくとも1つの動画の位置が決定される。例えば、動画370を構成する先頭フレームに対応する画像371の位置が決定される。この決定される位置は、操作受付部232においてユーザが指定してもよく、上述した計算により算出された位置を用いて決定してもよい。続いて、他の動画を構成する画像のうちの少なくとも1つの画像の保持位置が算出される。例えば、画像371乃至384に対応する各フレームに関連付けられているアフィン変換パラメータの行列を、A1乃至A14とする。また、画像391乃至397に対応する各フレームに関連付けられているアフィン変換パラメータの行列を、B1乃至B7とする。さらに、動画370および390に関連付けて記憶されている相対関係メタデータのアフィン変換パラメータの行列をC1とする。ここで、基準画像は画像371とする。画像メモリ161上における画像371の保持位置を基準とした場合に、画像378の保持位置は、A1乃至A8の乗算により算出される。すなわち、A1×…×A8を用いて算出される。また、画像メモリ161上における画像371の保持位置を基準とした場合に、画像394の保持位置は、A1乃至A8、C1の乗算により算出される。すなわち、A1×…×A8×C1を用いて算出される。ここで、例えば、動画390の先頭フレームに対応する画像391の保持位置を算出する場合には、A1乃至A8およびC1と、B1乃至B4の逆行列の乗算により算出することができる。すなわち、「A1×…×A8×C1×Inv(B1×…×B4)」を用いて画像391の保持位置を算出することができる。また、動画390を構成する他の画像についての保持位置についても同様に、A1乃至A8およびC1と、B1乃至B4の逆行列またはB5乃至B7とを用いて算出することが可能である。
また、基準画像を含む動画以外の動画を構成する画像をアフィン変換する場合には、先頭フレームに対応する画像の保持位置の算出に用いられた行列と、画像に関連付けられたアフィン変換パラメータを用いて行う。例えば、動画390の画像392をアフィン変換する場合には、画像392に対応する行列B2を用いて、「A1×…×A8×C1×Inv(B3×B4)」の行列により変換される。また、例えば、動画390の画像523をアフィン変換する場合も同様に、「A1×…×A8×C1×Inv(B4)」の行列により変換される。同様に、動画390の各画像が変換される。
このように、複数の動画について合成して再生する場合には、1つの動画の基準画像の画像メモリ161における位置および大きさを決定した後に、各動画のそれぞれに関連付けられているメタデータファイルと、各動画に関連付けられている相対関係メタデータファイルとを用いて、各画像の位置および大きさを算出することができる。このため、複数の動画について合成して再生する場合には、各動画の何れかの位置からも再生させることが可能である。例えば、図44(d)に示す画像メモリ161上では、動画370を構成する画像371乃至374が合成された後に、動画390を構成する画像391が合成される例を示す。すなわち、画像375および391が同時に合成され、続いて、画像376および392が同時に合成される。以降も同様に合成される。なお、この例では、同時刻に再生される各画像は、動画390が動画370よりも上書き合成される例を示すが、上書きする動画を操作受付部230において指定するようにしてもよい。
次に、本発明の実施の形態における画像処理装置740による音声変換処理について説明する。
図45は、本発明の実施の形態における画像処理装置740による音声変換処理部200の構成例を示すブロック図である。ここでは一例として、第1の動画および第2の動画を同時再生する場合における、右チャンネルおよび左チャンネルの出力音声を生成する変換処理例を示す。また、第1の動画および第2の動画の入力音声は、右チャンネルおよび左チャンネルにより構成されることとする。そのため、図31に示す音量調整部201および音声加算部202に代えて音量調整部630および音声加算部640を設けた音声変換処理部200の機能について説明する。なお、基本的な構成は図17に示す構成と同様のため、ここでは簡単に説明する。
音量調整部630は、音量増幅器631乃至638を備える。音量増幅器631乃至634は、音声変換情報算出部191から供給された、第1の動画に関する音声変換情報RR1、RL1、LR1およびLL1に基づいて第1の動画の右チャンネルおよび左チャンネルの入力音声を増幅するものである。音量増幅器635乃至638は、音声変換情報算出部191から供給された、第2の動画に関する音声変換情報RR2、RL2、LR2およびLL2に基づいて第2の動画の右チャンネルおよび左チャンネルの入力音声を増幅するものである。
音声加算部640は、音声加算器641乃至646を備える。音声加算器641および642は、第1の動画の右チャンネルおよび左チャンネルの入力音声を加算し、音声加算器643および644は、第2の動画の右チャンネルおよび左チャンネルの入力音声を加算するものである。音声加算器645は、第1の動画および第2の動画の右チャンネルの出力音声を加算するものである。音声加算器646は、第1の動画および第2の動画の左チャンネルの出力音声を加算するものである。
図46は、本発明の実施の形態における画像処理装置740による2つの動画の同時再生時における音声変換処理の例を示す図である。図46には、表示部180の表示画面上に2つの再生動画651および652を表示する例が示されている。この場合には、まず、上述のように、再生動画651および652に対して、現フレームに対応する画像の中心位置、角度または倍率に応じて、各チャンネルの入力音声が変換処理されて出力音声が生成される。そして、再生動画651および652に関するそれぞれの出力音声について、同じチャンネル毎に加算した音声が右スピーカ221および左スピーカ222に出力される。また、このように生成される出力音声に関する関係式は、次式で表すことができる。
R'=(R1'+R2')/2
L'=(L1'+L2')/2
なお、R1'=R1・RR1+L1・LR1、L1'=R1・RL1+L1・LL1、R2'=R2・RR2+L2・LR2、L2'=R2・RL2+L2・LL2として表される。また、R1およびL1は、第1の動画の右チャンネルおよび左チャンネルの入力音声であり、R2およびL2は、第2の動画の右チャンネルおよび左チャンネルの入力音声である。また、RR1、RL1、LR1およびLL1は、第1の動画に関する音声変換情報に相当し、RR2、RL2、LR2およびLL2は、第2の動画に関する音声変換情報に相当する。
なお、本発明の実施の形態における画像処理装置740による音声変換処理の処理手順例については、ステップS982において、複数の動画の出力音声が同じチャンネル毎に加算される処理が加わるのみである。それ以外の音声変換処理の手順は、同様であるため、説明を省略する。
以上では、動画に関する動き情報に基づいて音声を変換処理する例について説明したが、本実施の発明の形態では、動画に関する動き情報以外の情報に基づいて音声を変換処理する場合にも適用することができる。以下では、この適用例として、本発明の実施の形態の第4の変形例について図面等を参照して説明する。ここでは、図1に示すコンテンツ取得部120および画像変換部140の機能についてのみ説明する。これら以外の構成は、上述の機能と同様であるため説明を省略する。
コンテンツ取得部120は、表示部180における動画の表示領域を示すテンプレート情報を取得するものである。このテンプレート情報は、表示画面上において各情報を表示するための表示領域を規定するものであり、例えば、動画を表示させる動画表示領域、テキスト形式の文字を表示する文字表示領域が規定される。
画像変換部140は、コンテンツ取得部120から出力されたテンプレート情報に基づいて画像を変換するものである。すなわち、この変換は、テンプレート情報に示された表示画面における表示領域に動画を表示させるための変換である。また、画像変換部140は、テンプレート情報から求められる、現フレームに対応する画像の中心位置、角度または倍率を音声変換情報算出部190に出力する。
図47は、本発明の実施の形態における動画の動き情報以外の情報により音声を変換処理する例を示す図である。図47(a)は、表示部180の表示画面の左側に動画653が表示され、その右側に動画に関する情報がテキスト形式で表示される例である。ここでは、表示画面上における動画653の中心位置は、表示画面上の左側に位置するため、右スピーカ221に比べて左スピーカ222に出力音声の出力割合を大きくする。この場合には、画像変換部140は、動画の表示領域を示すテンプレート情報から動画653の中心位置および倍率を求めて、音声変換情報算出部191に出力する。図47(b)は、表示部180の表示領域を2つに分割して動画を表示させる例である。ここでは、表示画面上の左半分に動画654が表示され、右半分に動画655が表示されるため、動画654および655の中心位置に応じて、動画654および655の各チャンネルの出力音声がそれぞれ生成される。そして、動画654および655の同じチャンネルの出力音声を加算した音声が右スピーカ221および左スピーカ222に出力される。この場合には、画像変換部140は、表示領域の分割に関するテンプレート情報から動画654および655の中心位置および倍率を求めて、音声変換情報算出部191に出力する。
ここで、図29、図31、図42に示すメタデータ記憶部250に記憶されるアフィン変換パラメータを検出するカメラワーク検出部480について図面を参照して詳細に説明する。なお、図1に示す画像変換情報供給部130についても、カメラワーク検出部480と同様の構成として、アフィン変換パラメータを検出することができる。
図48は、本発明の実施の形態におけるカメラワーク検出部480の機能構成例を示すブロック図である。カメラワーク検出部480は、特徴点抽出部481と、オプティカルフロー計算部482と、カメラワークパラメータ算出部483とを備え、動画入力部470および記録制御部490に接続されている。なお、この例では、カメラワーク検出部480に関連する構成のみについて図示し、他の構成の図示および説明を省略する。
動画入力部470は、デジタルビデオカメラ等の撮像装置により撮像された動画を入力する動画入力部であり、入力された動画をカメラワーク検出部480に出力する。
記録制御部490は、カメラワーク検出部480から出力されたアフィン変換パラメータを、対応する動画およびフレームに関連付けてメタデータファイルとしてメタデータ記憶部250に記録するものである。
特徴点抽出部481は、動画入力部470から出力された動画を構成するフレームに対応する画像から特徴点を抽出し、抽出された特徴点をオプティカルフロー計算部482に出力するものである。ここで、特徴点抽出部481は、動画入力部470から出力された動画を構成するフレームのうちの先頭のフレームについては、画像全体から特徴点を抽出し、先頭以外のフレームについては、直前のフレームに対応する画像と比較して新しく撮影された領域部分から特徴点を抽出する。なお、特徴点として、例えば、縦方向または横方向にエッジの勾配が強い点(一般に「コーナー点」と呼ばれている。以下では、「コーナー点」と称する。)を抽出することができる。このコーナー点は、オプティカルフローの計算に強い特徴点であり、エッジ検出を用いて求めることができる。例えば、このコーナー点は、図2および図3で示した抽出方法により求めることができる。また、この例では、特徴点抽出部481は、先頭のフレームについては画像全体から特徴点を抽出し、先頭以外のフレームについては直前の画像と比較して新しく撮影された領域部分から特徴点を抽出するが、処理能力等に応じて、先頭以外の各フレームについても、画像全体から特徴点を抽出するようにしてもよい。
オプティカルフロー計算部482は、特徴点抽出部481から出力された各特徴点に対するオプティカルフローを計算するものであり、計算して求められたオプティカルフローをカメラワークパラメータ算出部483に出力する。具体的には、動画入力部470から出力された動画を構成する連続する2つのフレーム(現フレームおよびこの直前のフレーム)に対応する各画像を比較することにより、直前のフレームに対応する画像における各特徴点に対応するオプティカルフローを、現フレームのオプティカルフローとして求める。また、オプティカルフローは、動画を構成するフレーム毎に求められる。なお、オプティカルフローを検出する検出方法として、勾配法やブロックマッチング方法等の検出方法を用いることができる。例えば、このオプティカルフローは、図2および図3で示した計算により求めることができる。
カメラワークパラメータ算出部483は、オプティカルフロー計算部482から出力された各特徴点に対応するオプティカルフローを用いて、カメラワークパラメータを算出するカメラワークパラメータ算出処理を行うものである。そして、算出されたカメラワークパラメータがメタデータ記憶部250に記憶される。ここで、本発明の実施の形態では、再生の対象となる複数の動画を構成する各画像を撮像装置の動きに合わせてそれぞれ変換して表示する。この画像の変換を行うため、オプティカルフロー計算部482により計算されたオプティカルフローを用いて撮像装置の動きが抽出され、この抽出された動きに基づいて、カメラワークパラメータ(変換パラメータ)が計算される。なお、本発明の実施の形態では、再生の対象となる動画を構成する画像を変換する画像変換方法として、アフィン変換を用いる例について説明する。また、カメラワークパラメータとして、オプティカルフローに基づいて算出されたアフィン変換パラメータの行列の逆行列に対応するアフィン変換パラメータを用いる例について説明する。すなわち、本発明の実施の形態では、変換情報として用いられるアフィン変換パラメータを、連続する画像間の特徴点の動きを表すアフィン行列ではなく、連続する画像のうちの1つの画像を基準画像とした場合に、この基準画像の次の画像がどこに移動するかを示すアフィン行列に対応するアフィン変換パラメータと定義する。また、カメラワークパラメータとして、アフィン変換パラメータを用いる例について説明するが、射影変換等の他の画像変換方法を用いるようにしてもよい。なお、アフィン変換パラメータは、3点のベクトルを用いて計算して求めることができる。また、射影変換パラメータは、4点のベクトルを用いて計算して求めることができる。ここで、カメラワークパラメータは、撮像動画を構成する撮像画像のうちの少なくとも1つの撮像画像を基準にして他の撮像画像を変換するための変換情報であり、少なくとも撮像装置の座標系で記述される位置情報および姿勢情報を含むものである。すなわち、カメラワークパラメータは、撮影者により撮影されている場合における撮像装置の位置や姿勢に関する情報を含むものである。また、カメラワークパラメータ算出部483により求められたアフィン変換パラメータに基づいて、例えば、ズームイン、ズームアウト、パン、チルト、ローテーション等の撮影者の操作による撮像装置の動きを推定することができる。例えば、アフィン変換パラメータは、図2および図3で示した計算により求めることができる。
次に、本発明の実施の形態における特徴点抽出処理およびオプティカルフロー計算処理をマルチコアプロセッサにより行う場合について図面を参照して詳細に説明する。ここでは、図48に示す特徴点抽出部481により行われる特徴点抽出処理と、オプティカルフロー計算部482により行われるオプティカルフロー算出処理とを例にして説明する。
図49は、本発明の実施の形態におけるマルチコアプロセッサ800の一構成例を示す図である。マルチコアプロセッサ800は、1つのCPU(Central Processing Unit)パッケージ上に異なる種類のプロセッサコアが複数搭載されているプロセッサである。すなわち、マルチコアプロセッサ800には、各プロセッサコア単体の処理性能を維持するとともに、シンプルな構成にするため、あらゆる用途(アプリケーション)に対応する1種類のコアと、所定の用途にある程度最適化されている他の種類のコアとの2種類のプロセッサコアが複数搭載されている。
マルチコアプロセッサ800は、制御プロセッサコア801と、演算プロセッサコア(#1)811乃至(#8)818と、バス802とを備え、メインメモリ781と接続されている。また、マルチコアプロセッサ800は、例えば、グラフィックスデバイス782やI/Oデバイス783等の他のデバイスと接続される。マルチコアプロセッサ800として、例えば、本願出願人等により開発されたマイクロプロセッサである「Cell(セル:Cell Broadband Engine)」を採用することができる。
制御プロセッサコア801は、オペレーティング・システムのような頻繁なスレッド切り替え等を主に行う制御プロセッサコアである。なお、制御プロセッサコア801については、図50を参照して詳細に説明する。
演算プロセッサコア(#1)811乃至(#8)818は、マルチメディア系の処理を得意とするシンプルで小型の演算プロセッサコアである。なお、演算プロセッサコア(#1)811乃至(#8)818については、図51を参照して詳細に説明する。
バス802は、EIB(Element Interconnect Bus)と呼ばれる高速なバスであり、制御プロセッサコア801および演算プロセッサコア(#1)811乃至(#8)818のそれぞれが接続され、各プロセッサコアによるデータアクセスはバス802を経由して行われる。
メインメモリ781は、バス802に接続され、各プロセッサコアにロードすべき各種プログラムや、各プロセッサコアの処理に必要なデータを格納するとともに、各プロセッサコアにより処理されたデータを格納するメインメモリである。
グラフィックスデバイス782は、バス802に接続されているグラフィックスデバイスであり、I/Oデバイス783は、バス802に接続されている外部入出力デバイスである。
図50は、本発明の実施の形態における制御プロセッサコア801の一構成例を示す図である。制御プロセッサコア801は、制御プロセッサユニット803および制御プロセッサストレージシステム806を備える。
制御プロセッサユニット803は、制御プロセッサコア801の演算処理を行う核となるユニットであり、マイクロプロセッサのアーキテクチャをベースとする命令セットを備え、一次キャッシュとして命令キャッシュ804およびデータキャッシュ805が搭載されている。命令キャッシュ804は、例えば、32KBの命令キャッシュであり、データキャッシュ805は、例えば、32KBのデータキャッシュである。
制御プロセッサストレージシステム806は、制御プロセッサユニット803からメインメモリ781へのデータアクセスを制御するユニットであり、制御プロセッサユニット803からのメモリアクセスを高速化させるために512KBの二次キャッシュ807が搭載されている。
図51は、本発明の実施の形態における演算プロセッサコア(#1)811の一構成例を示す図である。演算プロセッサコア(#1)811は、演算プロセッサユニット820およびメモリフローコントローラ822を備える。なお、演算プロセッサコア(#2)812乃至(#8)818は、演算プロセッサコア(#1)811と同様の構成であるため、ここでの説明を省略する。
演算プロセッサユニット820は、演算プロセッサコア(#1)811の演算処理を行う核となるユニットであり、制御プロセッサコア801の制御プロセッサユニット803とは異なる独自の命令セットを備える。また、演算プロセッサユニット820には、ローカルストア(LS:Local Store)821が搭載されている。
ローカルストア821は、演算プロセッサユニット820の専用メモリであるとともに、演算プロセッサユニット820から直接参照することができる唯一のメモリである。ローカルストア821として、例えば、容量が256Kバイトのメモリを用いることができる。なお、演算プロセッサユニット820が、メインメモリ781や他の演算プロセッサコア(演算プロセッサコア(#2)812乃至(#8)818)上のローカルストアにアクセスするためには、メモリフローコントローラ822を利用する必要がある。
メモリフローコントローラ822は、メインメモリ781や他の演算プロセッサコア等との間でデータのやり取りするためのユニットであり、MFC(Memory Flow Controller)と呼ばれるユニットである。ここで、演算プロセッサユニット820は、チャネルと呼ばれるインタフェースを介してメモリフローコントローラ822に対してデータ転送等を依頼する。
以上で示したマルチコアプロセッサ800のプログラミング・モデルとして、さまざまなものが提案されている。このプログラミング・モデルの中で最も基本的なモデルとして、制御プロセッサコア801上でメインプログラムを実行し、演算プロセッサコア(#1)811乃至(#8)818上でサブプログラムを実行するモデルが知られている。本発明の実施の形態では、このモデルを用いたマルチコアプロセッサ800の演算方法について図面を参照して詳細に説明する。
図52は、本発明の実施の形態におけるマルチコアプロセッサ800の演算方法を模式的に示す図である。この例では、データ785を用いて制御プロセッサコア801がタスク784を実行する場合に、タスク784の一部であるタスク786の処理に必要なデータ787(データ785の一部)を用いて、タスク786を各演算プロセッサコアに実行させる場合を例に図示する。
同図に示すように、データ785を用いて制御プロセッサコア801がタスク784を実行する場合には、タスク784の一部であるタスク786の処理に必要なデータ787(データ785の一部)を用いて、タスク786を各演算プロセッサコアに実行させる。本発明の実施の形態では、動画を構成するフレーム毎に各演算プロセッサコアにより演算処理が行われる。
同図に示すように、マルチコアプロセッサ800が演算を行うことにより、演算プロセッサコア(#1)811乃至(#8)818を並列に利用して、比較的少ない時間で多くの演算を行うことができるとともに、演算プロセッサコア(#1)811乃至(#8)818上でSIMD(Single Instruction/Multiple Data:単一命令/複数データ)演算を利用して、さらに少ない命令数により、比較的多くの演算処理を行うことができる。なお、SIMD演算については、図56乃至図59等を参照して詳細に説明する。
図53は、本発明の実施の形態におけるマルチコアプロセッサ800により演算を行う場合におけるプログラムおよびデータの流れを模式的に示す図である。ここでは、演算プロセッサコア(#1)811乃至(#8)818のうちの演算プロセッサコア(#1)811を例にして説明するが、演算プロセッサコア(#2)812乃至(#8)818についても同様に行うことができる。
最初に、制御プロセッサコア801は、メインメモリ781に格納されている演算プロセッサコアプログラム823を演算プロセッサコア(#1)811のローカルストア821にロードする指示を演算プロセッサコア(#1)811に送る。これにより、演算プロセッサコア(#1)811は、メインメモリ781に格納されている演算プロセッサコアプログラム823をローカルストア821にロードする。
続いて、制御プロセッサコア801は、ローカルストア821に格納された演算プロセッサコアプログラム825の実行を演算プロセッサコア(#1)811に指示する。
続いて、演算プロセッサコア(#1)811は、ローカルストア821に格納された演算プロセッサコアプログラム825の実行処理に必要なデータ824をメインメモリ781からローカルストア821に転送する。
続いて、演算プロセッサコア(#1)811は、ローカルストア821に格納された演算プロセッサコアプログラム825に基づいて、メインメモリ781から転送されたデータ826を加工し、条件に応じた処理を実行して処理結果をローカルストア821に格納する。
続いて、演算プロセッサコア(#1)811は、ローカルストア821に格納された演算プロセッサコアプログラム825に基づいて実行された処理結果をローカルストア821からメインメモリ781に転送する。
続いて、演算プロセッサコア(#1)811は、制御プロセッサコア801に演算処理の終了を通知する。
次に、マルチコアプロセッサ800を用いて行うSIMD演算について図面を参照して詳細に説明する。ここで、SIMD演算とは、複数のデータに対する処理を1つの命令で行う演算方式である。
図54(a)は、複数のデータに対する処理をそれぞれの命令で行う演算方式の概要を模式的に示す図である。図54(a)に示す演算方式は、通常の演算方式であり、例えば、スカラー演算と呼ばれている。例えば、データ「A1」およびデータ「B1」を加算する命令によりデータ「C1」の処理結果が求められる。また、他の3つの演算についても同様に、同一の行にあるデータ「A2」、「A3」、「A4」と、データ「B2」、「B3」、「B4」とを加算する命令がそれぞれの処理について行われ、この命令により、各行の値が加算処理され、この処理結果がデータ「C2」、「C3」、「C4」として求められる。このように、スカラー演算では、複数のデータに対する処理については、それぞれに対して命令を行う必要がある。
図54(b)は、複数のデータに対する処理を1つの命令で行う演算方式であるSIMD演算の概要を模式的に示す図である。ここで、SIMD演算用に1まとまりにしたデータ(点線827および828で囲まれる各データ)は、ベクターデータと呼ばれることがある。また、このようなベクターデータを用いて行われるSIMD演算は、ベクトル演算と呼ばれることがある。
例えば、点線827で囲まれるベクターデータ(「A1」、「A2」、「A3」、「A4」)と、点線828で囲まれるベクターデータ(「B1」、「B2」、「B3」、「B4」)とを加算する1つの命令により「C1」、「C2」、「C3」、「C4」の処理結果(点線829で囲まれているデータ)が求められる。このように、SIMD演算では、複数のデータに対する処理を1つの命令で行うことができるため、演算処理を迅速に行うことができる。また、これらのSIMD演算に関する命令を、マルチコアプロセッサ800の制御プロセッサコア801が行い、この命令に対する複数データの演算処理について演算プロセッサコア(#1)811乃至(#8)818が並列処理を行う。
一方、例えば、データ「A1」と「B1」とを加算し、データ「A2」と「B2」とを減算し、データ「A3」と「B3」とを乗算し、データ「A4」と「B4」とを除算する処理については、SIMD演算では行うことができない。すなわち、複数のデータのそれぞれに対して異なる処理をする場合には、SIMD演算による処理を行うことがではできない。
次に、特徴点抽出処理およびオプティカルフロー算出処理を行う場合におけるSIMD演算の具体的な演算方法について図面を参照して詳細に説明する。
図55は、本発明の実施の形態における制御プロセッサコア801または演算プロセッサコア(#1)811により実行されるプログラムの構成例を示す図である。ここでは、演算プロセッサコア(#1)811についてのみ図示するが、演算プロセッサコア(#2)812乃至(#8)818についても同様の処理が行われる。
制御プロセッサコア801は、デコード851としてデコード852、インターレース853およびリサイズ854を実行する。デコード852は、動画ファイルをデコードする処理である。インターレース853は、デコードされた各フレームについてインターレース除去する処理である。リサイズ854は、インターレース除去された各フレームについて縮小する処理である。
また、制御プロセッサコア801は、演算プロセッサコア管理856として命令送信857および859、終了通知受信858および860を実行する。命令送信857および859は、演算プロセッサコア(#1)811乃至(#8)818に対するSIMD演算の実行命令を送信する処理であり、終了通知受信858および860は、上記命令に対する演算プロセッサコア(#1)811乃至(#8)818からのSIMD演算の終了通知を受信する処理である。さらに、制御プロセッサコア801は、カメラワーク検出861としてカメラワークパラメータ算出処理862を実行する。カメラワークパラメータ算出処理862は、演算プロセッサコア(#1)811乃至(#8)818によるSIMD演算により算出されたオプティカルフローに基づいてフレーム毎にアフィン変換パラメータを算出する処理である。
演算プロセッサコア(#1)811は、特徴点抽出処理863として、ソベルフィルタ(Sobel Filter)処理864、二次モーメント行列(Second Moment Matrix)処理865、セパラブルフィルタ(Separable Filter)処理866、ハリスコーナー点抽出(Calc Harris)処理867、膨張処理(Dilation)868、並べ替え処理(Sort)869を実行する。
ソベルフィルタ処理864は、P2のフィルタ(x方向)を使って得られるx方向の値dxと、Y方向のフィルタを使って得られるy方向の値dyとを算出する処理である。なお、x方向の値dxの算出については、図56乃至図59を参照して詳細に説明する。
二次モーメント行列処理865は、ソベルフィルタ処理864により算出されたdxおよびdyを用いて、dx2,dy2,dx・dyの各値を算出する処理である。
セパラブルフィルタ処理866は、二次モーメント行列処理865により算出されたdx2,dy2,dx・dyの画像に対してガウシアンフィルタ(ぼかし処理)を掛ける処理である。
ハリスコーナー点抽出処理867は、セパラブルフィルタ処理866により、ぼかし処理が施されたdx2,dy2,dx・dyの各値を用いて、ハリスコーナーのスコアを算出する処理である。このハリスコーナーのスコアSは、例えば、次の式により算出される。
S=(dx2×dy2−dx・dy×dx・dy)/(dx2+dy2+ε)
膨張処理868は、ハリスコーナー点抽出処理867により算出されたハリスコーナーのスコアで構成された画像に対してぼかし処理を行う処理である。
並べ替え処理869は、ハリスコーナー点抽出処理867により算出されたハリスコーナーのスコアが高い順に画素を並べ、このスコアが高い方から所定の数だけピックアップし、このピックアップされた点を特徴点として抽出する処理である。
演算プロセッサコア(#1)811は、オプティカルフロー(Optical Flow)演算処理870として、ピラミッド画像(Make Pyramid Image)処理871、オプティカルフロー算出(Calc Optical Flow)処理872を実行する。
ピラミッド画像処理871は、撮像装置による撮像時の画サイズから所定数の段階に縮小された画像を順次作成する処理であり、作成された画像は多重解像度画像と呼ばれる。
オプティカルフロー算出処理872は、ピラミッド画像処理871により作成された多重解像度画像のうちで、最も小さい画像についてオプティカルフローを計算し、この計算結果を用いて、1つ上の解像度の画像について再びオプティカルフローを計算する処理であり、この一連の処理を最も大きい画像に辿り着くまで繰り返し行う。
このように、例えば、図48に示す特徴点抽出部481により行われる特徴点抽出処理と、オプティカルフロー計算部482により行われるオプティカルフロー算出処理とについては、マルチコアプロセッサ800を用いてSIMD演算によって並列処理することにより処理結果を求めることができる。なお、図55等で示す特徴点抽出処理およびオプティカルフロー算出処理は、一例であり、動画を構成する画像に対する各種フィルタ処理や閾値処理等により構成される他の処理を用いて、マルチコアプロセッサ800によるSIMD演算を行うようにしてもよい。
図56は、本発明の実施の形態におけるメインメモリ781に格納されている画像データ(撮像装置により撮像された動画を構成する1つのフレームに対応する画像データ)について、ソベルフィルタ830を用いてフィルタリング処理を行う場合におけるデータ構造と処理の流れを概略的に示す図である。なお、同図に示すメインメモリ781に格納されている画像データについては、横の画素数を32画素として簡略化して示す。また、ソベルフィルタ830は、3×3のエッジ抽出フィルタである。同図に示すように、メインメモリ781に格納されている画像データについて、ソベルフィルタ830を用いたフィルタリング処理を行い、このフィルタリング処理の結果が出力される。この例では、SIMD演算を用いて4つ分のフィルタ結果を一度に得る例について説明する。
図57は、本発明の実施の形態におけるメインメモリ781に格納されている画像データについてソベルフィルタ830を用いてSIMD演算を行う場合におけるデータの流れを概略的に示す図である。最初は、メインメモリ781に格納されている画像データのうちの最初のラインを含む所定数のライン(例えば、3ライン)が演算プロセッサコアのローカルストア821に備えられる第一バッファ831にDMA(Direct Memory Access)転送されるとともに、第一バッファ831にDMA転送された各ラインを1つ下にずらした所定数のラインが第二バッファ832にDMA転送される。このように、ダブルバッファを使用することにより、DMA転送による遅延を隠蔽することができる。
図58は、本発明の実施の形態におけるソベルフィルタ830を用いてフィルタリング処理を行う場合において、第一バッファ831に格納されている画像データから9つのベクトルを作成するベクトル作成方法を概略的に示す図である。図57に示すように、DMA転送が行われた後に、第一バッファ831に格納されている画像データから9つのベクトルが作成される。具体的には、第一バッファ831に格納されている画像データの1ラインにおいて左隅から4つのデータによりベクターデータ841が作成され、その4つのデータを右側に1つずらした4つのデータによりベクターデータ842が作成され、同様に、その4つのデータを右側に1つずらした4つのデータによりベクターデータ843が作成される。また、2ラインおよび3ラインにおいても同様に4つのデータによりベクターデータ844乃至849が作成される。
図59は、本発明の実施の形態におけるソベルフィルタ830を用いてフィルタリング処理を行う場合において、ベクターデータ841乃至849についてSIMD命令を用いてベクトル演算を行うベクトル演算方法を概略的に示す図である。具体的には、ベクターデータ841乃至843についてSIMD演算が順次行われ、ベクトルAが求められる。このSIMD演算では、最初に、『「−1」×「ベクターデータ841」』のSIMD演算が実行される。続いて、『「0」×「ベクターデータ842」』のSIMD演算が実行され、『「1」×「ベクターデータ843」』のSIMD演算が実行される。ここで、『「0」×「ベクターデータ842」』については、演算結果が「0」であると確定しているため、省略することが可能である。また、『「1」×「ベクターデータ843」』については、演算結果が「ベクターデータ843」と同じ値であることが確定しているため、省略することが可能である。
続いて、『「−1」×「ベクターデータ841」』の演算結果と、『「0」×「ベクターデータ842」』の演算結果との加算処理がSIMD演算により実行される。続いて、この加算処理の結果と、『「1」×「ベクターデータ843」』の演算結果との加算処理がSIMD演算により実行される。ここで、例えば、「ベクターデータ1」×「ベクターデータ2」+「ベクターデータ3」となるデータ構造の演算については、SIMD演算により実行することが可能である。そこで、ベクトルAの演算については、例えば、『「0」×「ベクターデータ842」』および『「1」×「ベクターデータ843」』についてのSIMD演算を省略し、『「−1」×「ベクターデータ841」+「ベクターデータ843」』を一度のSIMD演算により実行するようにしてもよい。
また、同様に、ベクターデータ844乃至846についてSIMD演算が行われ、ベクトルBが求められ、ベクターデータ847乃至849についてSIMD演算が行われ、ベクトルCが求められる。
続いて、SIMD演算により求められたベクトルA乃至CについてSIMD演算が行われ、ベクトルDが求められる。このように、SIMD演算を行うことにより、ベクトルの要素数分(この例では4つのデータ)の結果をまとめて得ることができる。
ベクトルDが算出された後は、図57に示す第一バッファ831に格納されている画像データにおいて、取り出すデータの位置を右側に1つずらしながら、同様の処理を繰り返し実行して、それぞれのベクトルDの算出を順次行う。そして、図57に示す第一バッファ831に格納されている画像データの右端までの処理が終了した場合には、処理結果をメインメモリ781にDMA転送する。
続いて、メインメモリ781に格納されている画像データのうちで、第二バッファ832にDMA転送された各ラインを1つ下にずらした所定数のラインが第一バッファ831にDMA転送されるとともに、第二バッファ832に格納されている画像データについて、上述した処理を繰り返し行う。そして、メインメモリ781に格納されている画像データの各ラインのうちの下端のラインに達するまで、同様の処理を繰り返し行う。
同様に、特徴点抽出とオプティカルフロー算出の大部分の処理をSIMD演算により行うことによって高速化を実現することができる。
図60は、本発明の実施の形態におけるカメラワークパラメータ算出処理の流れを時系列で概略的に示す図である。上述したように、例えば、マルチコアプロセッサ800を用いてSIMD演算を行うことにより、動画についてのデコードおよび解析処理を並列化して行うことができる。このため、動画を構成する1フレームの解析時間を、デコード時間よりも短縮することが可能である。
例えば、同図において、t1は、制御プロセッサコア801が動画を構成する1フレームのデコード処理に要する時間を示し、t2は、演算プロセッサコア(#1)811乃至(#8)818が動画を構成する1フレームの特徴点抽出処理に要する時間を示し、t3は、演算プロセッサコア(#1)811乃至(#8)818が動画を構成する1フレームのオプティカルフロー算出処理に要する時間を示し、t4は、制御プロセッサコア801が動画を構成する1フレームのカメラワーク検出処理に要する時間を示す。なお、t5は、制御プロセッサコア801および演算プロセッサコア(#1)811乃至(#8)818が動画を構成する1フレームについて、カメラワーク検出処理に要する時間を示す。また、t6は、t6は、制御プロセッサコア801が演算プロセッサコア(#1)811乃至(#8)818を管理する処理に要する時間を示す。例えば、t1を「25.0ms」とし、t2を「7.9ms」とし、t3を「6.7ms」とし、t4を「1.2ms」とし、t5を「15.8ms」とすることができる。
次に、本発明の実施の形態におけるメタデータファイルを用いた動画コンテンツを再生する場合について図面を参照して詳細に説明する。
図61(a)は、記録媒体の一例であるブルーレイディスク(Blu-ray Disc(登録商標))880を模式的に示す上面図であり、図61(b)は、ブルーレイディスク880に記録されている各データ881乃至884を模式的に示す図である。ブルーレイディスク880には、例えば、撮像装置等により撮像された動画である動画コンテンツ882、動画コンテンツ882の字幕883、および、動画コンテンツ882について解析されて得られたメタデータ(例えば、図30(b)に示すメタデータファイル、図43に示す相対関係メタデータファイル)884とともに、本発明の実施の形態における動画再生に係るJava(登録商標)プログラム881が記録されている。
図61(c)は、ブルーレイディスク880を再生可能なブルーレイ再生機(Blu-ray Disc Player)890の内部構成を模式的に示す図である。ここで、ブルーレイディスクを再生可能なブルーレイ再生機890は、CPU891およびOS892とともに、Java VM(Java仮想マシン)およびライブラリ893が標準で搭載されているため、Javaプログラムを実行することが可能である。このため、ブルーレイディスク880をブルーレイ再生機890に装着することにより、ブルーレイ再生機890がJavaプログラム881をロードして実行することが可能である。これにより、ブルーレイ再生機890が動画コンテンツ882を再生する場合に、メタデータ884を用いて、本発明の実施の形態における動画再生を行うことが可能である。すなわち、専用のPCソフト等を使わずに、全てのブルーレイ再生機で本発明の実施の形態における動画再生を実現することが可能になる。
このように、本発明の実施の形態によれば、表示画面上における動画の現フレームに対応する画像の位置、角度または倍率に応じて入力音声を変換処理することができる。これにより、その動画の閲覧者は、表示画面上の現フレームに対応する画像の位置、角度または倍率に応じた適切な音響を聞くことができる。すなわち、より現実味のある音響効果を得ることができる。
また、本発明の実施の形態では、撮像装置により撮像された動画について説明したが、例えば、カメラにより撮像された動画が編集された場合における編集後の動画やアニメーション等が合成された動画等についても、本発明の実施の形態を適用することができる。
また、本発明の実施の形態では、パーソナルコンピュータ等の画像処理装置について説明したが、例えば、テレビジョン等の動画再生装置等についても、本発明の実施の形態を適用することができる。
また、本発明の実施の形態では、音響装置および表示装置等を組み合わせた動画視聴システムについても本発明の実施の形態を適用することができる。
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
すなわち、請求項1において、コンテンツ取得手段は、例えばコンテンツ取得部120またはコンテンツ取得部121に対応する。また、画像変換情報供給手段は、例えば画像変換情報供給部130またはメタデータ記憶部250に対応する。また、画像変換手段は、例えば画像変換部140または画像変換部141に対応する。また、画像合成手段は、例えば画像合成部150または画像合成部151に対応する。また、表示制御手段は、例えば表示制御部170または表示制御部171に対応する。また、音声変換情報算出手段は、例えば音声変換情報算出部190または音声変換情報算出部191に対応する。また、音声変換処理手段は、例えば音声変換処理部200に対応する。また、音声出力制御手段は、例えば音声出力制御部210に対応する。
また、請求項7において、音量調整手段は、例えば音量調整部201または音量調整部630に対応する。また、音声加算手段は、例えば音声加算部202または音声加算部640に対応する。
また、請求項10において、画像保持手段は、例えば画像メモリ160または画像メモリ161に対応する。
また、請求項11において、表示領域取出手段は、例えば表示領域取出部260に対応する。
また、請求項13または14において、コンテンツ取得手順は、例えばステップS922に対応する。また、画像変換情報供給手順は、例えばステップS924またはS963に対応する。また、画像変換手順は、例えばステップS927、S931、S935、S936に対応する。また、音声変換情報算出手順は、例えばステップS951またはS982に対応する。また、音声変換処理手順は、例えばステップS952およびS953に対応する。
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。