(57)【要約】【課題】  動画像に含まれる複数枚のフレーム画像のそれぞれの内容に応じて、画像の動きの視覚的な速度を調整することができる技術を提供することを目的とする。【解決手段】  動画像に含まれる複数枚のフレーム画像に対して、各フレーム画像が含む画像の動きの速度を算出し、さらに、時系列に沿った並び順からフレーム画像を間引く間引処理と、時系列に沿った並び順にフレーム画像を挿入する挿入処理と、の少なくとも一方を、各フレーム画像の速度に応じて選択的に行う編集処理を実行する。【選択図】  図２
2006005533.tif 000002
【特許請求の範囲】
【請求項１】
複数枚のフレーム画像を含む動画像を編集する動画像処理装置であって、
前記各フレーム画像に対して、各フレーム画像が含む画像の動きの速度を算出する速度算出部と、
時系列に沿った並び順からフレーム画像を間引く間引処理と、時系列に沿った並び順にフレーム画像を挿入する挿入処理と、の少なくとも一方を、前記各フレーム画像の速度に応じて選択的に行う編集処理を実行するフレーム編集部と、
を備える動画像処理装置。
【請求項２】
請求項１に記載の動画像処理装置であって、
前記フレーム編集部は、時系列に沿った前記フレーム画像の並び順において、
（ａ）前記速度が特定の目標速度よりも速い高速フレーム画像が連続する範囲において前記挿入処理を実行し、
（ｂ）前記速度が特定の目標速度よりも遅い低速フレーム画像が連続する範囲において前記間引処理を実行する、
動画像処理装置。
【請求項３】
請求項２に記載の動画像処理装置であって、
前記フレーム編集部は、前記目標速度を指定するユーザの指示を受け取るとともに、指定された目標速度に従って前記編集処理を実行する、動画像処理装置。
【請求項４】
請求項２または請求項３に記載の動画像処理装置であって、
前記目標速度は、前記複数のフレーム画像のうちの少なくとも一部においてフレーム画像毎に異なった値が設定される、動画像処理装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の動画像処理装置であって、
前記速度算出部は、並進移動と、ズーム移動と、回転移動と、のうちの２つ以上の動きを含む複数種類の動きのそれぞれに対する速度を算出することが可能であるとともに、前記フレーム画像を解析した結果に応じて、算出する速度の種類を決定する、
動画像処理装置。
【請求項６】
複数枚のフレーム画像を含む動画像を編集する動画像処理方法であって、
（ａ）前記各フレーム画像に対して、各フレーム画像が含む画像の動きの速度を算出する工程と、
（ｂ）時系列に沿った並び順からフレーム画像を間引く間引処理と、時系列に沿った並び順にフレーム画像を挿入する挿入処理と、の少なくとも一方を、前記各フレーム画像の速度に応じて選択的に行う編集処理を実行する工程と、
を備える、動画像処理方法。
【請求項７】
複数枚のフレーム画像を含む動画像を編集する動画像処理をコンピュータに実行させるためのコンピュータプログラムであって、
（ａ）前記各フレーム画像に対して、各フレーム画像が含む画像の動きの速度を算出する機能と、
（ｂ）時系列に沿った並び順からフレーム画像を間引く間引処理と、時系列に沿った並び順にフレーム画像を挿入する挿入処理と、の少なくとも一方を、前記各フレーム画像の速度に応じて選択的に行う編集処理を実行する機能と、
をコンピュータに実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像の再生時における画像の動きの速度を調整する技術に関するものである。
【背景技術】
【０００２】
近年、ビデオカメラ等の動画像を撮影する動画像生成装置が広く普及している。動画像を再生する装置の中には、早送り機能やコマ送り機能などの、画像の動きの視覚的な速度を変えて再生する機能を有するものがある。また、動画像は静止画像（フレーム画像とも呼ぶ）を表すフレーム画像データを複数含んでいる。ここで、複数のフレーム画像の間に新たなフレーム画像を補間することによって、より滑らかに動画像を再生する方法が提案されている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開平１０−２３３９９６号公報
【０００４】
ところが、従来は、各フレーム画像のそれぞれの内容に応じて、画像の動きの視覚的な速度を調整する点については工夫されていないのが実情であった。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、上述した従来の課題を解決するためになされたものであり、各フレーム画像のそれぞれの内容に応じて、画像の動きの視覚的な速度を調整することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一部を解決するために、この発明による動画像処理装置は、複数枚のフレーム画像を含む動画像を編集する動画像処理装置であって、前記各フレーム画像に対して、各フレーム画像が含む画像の動きの速度を算出する速度算出部と、時系列に沿った並び順からフレーム画像を間引く間引処理と、時系列に沿った並び順にフレーム画像を挿入する挿入処理と、の少なくとも一方を、前記各フレーム画像の速度に応じて選択的に行う編集処理を実行するフレーム編集部と、を備える。
【０００７】
この動画像処理装置によれば、各フレーム画像が含む画像の動きの速度に応じて、間引処理と挿入処理との少なくとも一方が選択的に実行されるので、各フレーム画像のそれぞれの内容に応じて、画像の動きの視覚的な速度を調整することができる。
【０００８】
上記動画像処理装置において、前記フレーム編集部は、時系列に沿った前記フレーム画像の並び順において、（ａ）前記速度が特定の目標速度よりも速い高速フレーム画像が連続する範囲において前記挿入処理を実行し、（ｂ）前記速度が特定の目標速度よりも遅い低速フレーム画像が連続する範囲において前記間引処理を実行してもよい。
【０００９】
この構成によれば、動画像を再生したときの画像の動きの視覚的な速度を、目標速度に近づけることができる。
【００１０】
上記動画像処理装置において、前記フレーム編集部は、前記目標速度を指定するユーザの指示を受け取るとともに、指定された目標速度に従って前記編集処理を実行してもよい。
【００１１】
この構成によれば、画像の動きの視覚的な速度を、ユーザの好みの速度に近づけることができる。
【００１２】
上記各動画像処理装置において、前記目標速度は、前記複数のフレーム画像のうちの少なくとも一部においてフレーム画像毎に異なった値が設定されていてもよい。
【００１３】
この構成によれば、画像の動きの視覚的な速度を、再生時の時間の経過とともに変化させることができる。
【００１４】
上記各動画像処理装置において、前記速度算出部は、並進移動と、ズーム移動と、回転移動と、のうちの２つ以上の動きを含む複数種類の動きのそれぞれに対する速度を算出することが可能であるとともに、前記フレーム画像を解析した結果に応じて、算出する速度の種類を決定してもよい。
【００１５】
この構成によれば、画像の動きの視覚的な速度の調整を、フレーム画像における画像の動きの種類に適したものとすることができる。
【００１６】
なお、本発明は種々の形態で実現することが可能であり、例えば、動画像処理方法および動画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体等の形態で実現することができる。
【発明を実施するための最良の形態】
【００１７】
次に、この発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
Ｂ．第２実施例：
Ｃ．第３実施例：
Ｄ．第４実施例：
Ｅ．第５実施例：
Ｆ．第６実施例：
Ｇ．第７実施例：
Ｈ．第８実施例：
Ｉ．第９実施例：
Ｊ．第１０実施例：
Ｋ．変形例：
【００１８】
Ａ．第１実施例：
図１は、本発明の一実施例としての画像処理システムの構成を示す説明図である。この画像処理システムは、デジタルカメラ１００とコンピュータ２００とを備えている。また、コンピュータ２００には、ディスプレイ２２０とマウス２３０とキーボード２４０とが接続されている。ディスプレイ２２０は、動画像や後述する操作表示画面を表示するための出力装置として機能する。マウス２３０とキーボード２４０とは、ユーザからの入力を受け付けるための入力装置として機能する。
【００１９】
コンピュータ２００は、データ処理部２１０を備えている。第１実施例では、データ処理部２１０は、デジタルカメラ１００から動画像データ（「原動画像データ」とも呼ぶ）を受け取り、動画像の再生時における画像の動きの視覚的な速度を調整する編集処理を実行して編集済動画像データを生成する。なお、本実施例では、原動画像データは、ノンインターレース方式の静止画像を表すフレーム画像データの集合であることとしている。
【００２０】
図２は、第１実施例におけるデータ処理部２１０の内部構成を示すブロック図である。第１実施例のデータ処理部２１０は、速度算出部２１２と、フレーム編集部２１４と、を備えている。データ処理部２１０はＣＰＵとメモリとを有しており、コンピュータプログラムを実行することによって各構成要素の機能を実現する。
【００２１】
データ処理部２１０が実行するコンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録された形態で供給され得る。このような記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等の、コンピュータが読み取り可能な種々の媒体を利用できる。なお、データ処理部２１０の機能の一部、または、全部をハードウェアによって実現してもよい。
【００２２】
図３は、データ処理部２１０（図１、図２）が実行する画像処理の処理手順を示すフローチャートである。ステップＳ１００では、データ処理部２１０は、ユーザの指示に従って原動画像データを読み込む。第１実施例では、データ処理部２１０は、デジタルカメラ１００から原動画像データを受け取ることとしている。
【００２３】
次のステップＳ１１０では、速度算出部２１２（図２）が、原動画像に含まれる複数のフレーム画像のそれぞれに対して、各フレーム画像が含む画像の動きの速度（「画像速度」と呼ぶ）を算出する。図４は、画像速度を算出する様子を示す説明図である。図４（Ａ）には、撮影時のデジタルカメラ１００の動きが示されている。デジタルカメラ１００は、左から右へ向きを変えながら山を撮影している。
【００２４】
図４（Ｂ）（Ｃ）は、速度算出部２１２が画像速度を算出する様子を示す説明図である。図４（Ｂ）には、ｎ番フレーム画像Ｆ（ｎ）と「ｎ＋１」番フレーム画像Ｆ（ｎ＋１）とが示されている。ここで、ｎ番フレーム画像Ｆ（ｎ）は、時系列に沿った順番（「フレーム番号」とも呼ぶ）がｎ番目であるフレーム画像を意味する。速度算出部２１２は、ｎ番フレーム画像の画像速度を、ｎ番目とｎ＋１番目との２つのフレーム画像を用いて算出する。
【００２５】
速度算出部２１２は、まず、ｎ番フレーム画像Ｆ（ｎ）を複数のブロックに分割する。図４（Ｂ）の例では、１２のブロック（縦方向に３分割、横方向に４分割）に分割している。これらのブロックは、全てのフレーム画像に共通するものである。次に、速度算出部２１２は、各ブロック毎に動きベクトルを算出する。ここで、動きベクトルは、ブロックを、そのブロックが表す画像がほぼぴったり重なるように次のフレーム画像上に重ね合わせた場合の、ブロックの相対位置（位置のずれ）を意味している。例えば、左上のブロックＢｕｌ（ｎ）では、画像（山）が右から左へ移動している。その結果、速度算出部２１２は、左を向いたベクトルを動きベクトルｖとして算出する（図４（Ｃ））。速度算出部２１２は、このような動きベクトルを、画像のパターンマッチングや特徴点追跡、勾配法等の種々の周知の方法を用いて決定することができる。なお、ブロックの数は１２に限らず、より少ない数を採用してもよく、より多い数を採用してもよい。
【００２６】
各ブロックの動きベクトルを算出したら、速度算出部２１２は、ｎ番フレーム画像Ｆ（ｎ）の画像速度Ｓｒを算出する。第１実施例では、速度算出部２１２は、各ブロックの動きベクトルを平均して得られる平均ベクトルの長さ（移動距離）を画像速度として採用する。その結果、第１実施例では、フレーム画像全体の一定方向へ向かう動き（並進移動）の速度が、画像速度として算出される。なお、画像速度Ｓｒを算出する方法としては、他の任意の方法を採用することができる。例えば、所定の代表ブロック（例えば、最も右上に位置するブロック）の動きベクトルの長さを画像速度Ｓｒとして採用してもよく、複数の所定の代表ブロック（例えば、フレーム画像の４角に位置する４つのブロック）のベクトルの長さの平均値をＳｒとして採用してもよい。
【００２７】
各フレーム画像の画像速度Ｓｒが決まると、次のステップＳ１２０（図３）で、フレーム編集部２１４（図２）は、画像速度の目標値（「目標速度」とも呼ぶ）を決定する。第１実施例では、フレーム編集部２１４は、各フレーム画像の画像速度Ｓｒの平均値を目標速度として採用する。図５は、画像速度Ｓｒと、目標速度Ｓｔと、の一例を示すグラフである。縦軸は画像速度（pixel/frame）を示している。ここで、画像速度の単位は、フレーム番号が１だけ変化した場合の相対位置のずれ（移動距離）をピクセル単位で表したものである。また、横軸はフレーム番号を示している。動画像を撮影する場合には、通常は、一定のフレームレート（単位時間当たりの画像数。例えば、30frame/sec）でフレーム画像が生成される。また、再生時も同じフレームレートでフレーム画像が表示される。従って、フレーム番号は、録画時間（再生時間）を表していると考えることもできる。
【００２８】
図５に示す例では、目標速度Ｓｔは、全フレーム番号に共通の一定値である。また、画像速度Ｓｒは、フレーム番号の変化にともなって波のように変化している。これは、撮影時にデジタルカメラ１００の向きを変える速度が波のように変化したことを示している。例えば、デジタルカメラ１００の向きをユーザが手動で変えた場合には、向きの変化速度を正確に一定値とすることが難しいので、図５のような、画像速度が時間の経過とともに変化する動画像が生成されやすい。
【００２９】
目標速度Ｓｔが決まると、次のステップＳ１３０（図３）で、フレーム編集部２１４は、画像の動きの視覚的な速度が目標速度Ｓｔに近づくように、動画像を編集する。フレーム編集部２１４は、時系列に沿った順番において、画像速度Ｓｒが目標速度Ｓｔよりも速い範囲にフレーム画像を挿入（追加）する。一方、画像速度Ｓｒが目標速度Ｓｔよりも遅い範囲からフレーム画像を間引く。
【００３０】
図６は、ステップＳ１３０で実行される編集処理の手順を示すフローチャートである。最初のステップＳ２００では、フレーム編集部２１４は、注目フレーム番号を「１」に設定する。次のステップＳ２１０では、注目フレーム番号のフレーム画像（「注目フレーム画像」と呼ぶ）の画像速度Ｓｒと、目標速度Ｓｔと、が等しいか否かの判定を行う。図７は、各フレーム画像の画像速度Ｓｒの一例を示す表である。図７の例では、目標速度Ｓｔが3.21に決定されたこととしている。また、１番フレーム画像の画像速度Ｓｒは、3.00である。従って、フレーム編集部２１４は、ステップＳ２１０で「否」と判定し、ステップＳ２２０に移行する。なお、画像速度Ｓｒと目標速度Ｓｔとが等しい場合には、ステップＳ２９０に移行する。
【００３１】
ステップＳ２２０では、フレーム編集部２１４は、以下の（１）式に従って、速度調整率Ｄを算出する。
【００３２】
速度調整率Ｄ  ＝  Ｓｔ／（Ｓｒ−Ｓｔ）      ...（１）
【００３３】
速度調整率Ｄの意味については後述する。図７の表には、各フレーム番号の速度調整率Ｄが示されている。ここで、フレーム編集部２１４は、速度調整率Ｄを、四捨五入することによって整数として算出することとしている。
【００３４】
速度調整率Ｄを算出したら、次のステップＳ２３０で、フレーム編集部２１４は、速度調整率Ｄの大きさに関する判定を行う。図６の例では、以下の２つの条件（ｃ１）（ｃ２）のいずれかが満たされているか否かが判定される。
【００３５】
｜Ｄ｜≧ｔｈ      ...（ｃ１）
Ｄ  ＝  ０      ...（ｃ２）
【００３６】
ここで、しきい値ｔｈは、予め設定された値（例えば、１０）である。条件ｃ１は、以下のように説明することができる。速度調整率Ｄの絶対値は、画像速度Ｓｒの値が目標速度Ｓｔに近いほど、大きくなる。換言すれば、速度調整率Ｄの絶対値が大きいことは、画像速度Ｓｒが目標速度Ｓｔに近いこと、すなわち、動画像を再生した場合の画像の動きの視覚的な速度が目標速度Ｓｔに近いこと、を意味している。そこで、速度調整率Ｄの絶対値の大きさがしきい値ｔｈ以上の場合には、フレーム編集部２１４は、フレーム画像の挿入と間引きとを実行せずに、ステップＳ２９０に移行する。速度調整率Ｄがゼロである場合も、同様に、ステップＳ２９０に移行する。図７の例では、第１フレーム画像の速度調整率Ｄの絶対値（=15）がしきい値（=10）よりも大きいので、ステップＳ２９０に移行する。
【００３７】
フレーム編集部２１４は、ステップＳ２９０で、注目フレーム画像を出力の対象として選択し、次のステップＳ２９５で、注目フレーム番号に「１」を追加し、次のステップＳ２８０で、注目フレーム番号が、最終のフレーム番号を超えたか否かを判断する。超えている場合には、フレーム編集部２１４は、編集処理を終了し、図３のステップＳ１４０に移行する。超えていない場合には、再び、ステップＳ２１０に移行する。
【００３８】
図７の例では、フレーム番号１〜７までは、いずれのフレーム画像の速度調整率Ｄの絶対値も、しきい値ｔｈ（=10）以上である。従って、フレーム編集部２１４は、フレーム番号１〜７までに対しては、ステップＳ２９０、Ｓ２９５を繰り返し実行することとなる。
【００３９】
一方、８番フレーム画像に関しては、速度調整率Ｄの絶対値（=9）が、しきい値ｔｈ（=10）よりも小さく、かつ、ゼロでない（図７（Ｂ））。このような場合には（ステップＳ２３０：Ｎｏ）、フレーム編集部２１４は、フレーム画像の挿入と間引きとの一方を実行する。
【００４０】
まず、フレーム編集部２１４は、ステップＳ２４０で、速度調整率Ｄが正値であるか否かを判断する。図７の例では、第８フレームの速度調整率Ｄ（=9）は正値である。速度調整率Ｄが正値であることは、画像速度Ｓｒが目標速度Ｓｔよりも速いことを意味している。そこで、フレーム編集部２１４は、次のステップＳ２５０で、フレーム画像を挿入する処理を実行する。
【００４１】
図７（Ｂ）の表には、フレーム画像を追加する追加対象フレーム画像対Ｆａｄが示されている。ここで、フレーム画像対とは、時系列に沿った並び順の中の連続する２つのフレーム画像を意味する。フレーム編集部２１４は、フレーム画像を追加するフレーム画像対を、速度調整率Ｄに基づいて決定する。第１実施例では、注目フレーム番号に速度調整率Ｄを追加して得られる処理対象番号と、その手前と、からなるフレーム画像対の間にフレーム画像が追加される。図７（Ｂ）に示す８番フレーム画像に対しては、処理対象番号として、注目フレーム番号（=8）に速度調整率Ｄ（=9）を追加した「１７番」が得られる。この理由は後述する。フレーム編集部２１４は、１６番と１７番との間にフレーム画像を１つだけ挿入する。第１実施例では、フレーム編集部２１４は、フレーム画像対の前側のフレーム画像（１６−１７番フレーム画像対であれば、１６番フレーム画像）と同じフレーム画像を挿入する。
【００４２】
どのフレーム画像対にフレーム画像を挿入（追加）するかについては、以下のように説明することができる。速度調整率Ｄは、目標速度Ｓｔと、画像速度Ｓｒから目標速度Ｓｔを引いた差分と、の比率を示している。従って、注目フレーム画像の後ろに続くＤ枚のフレーム画像の中に１枚だけフレーム画像を追加して「Ｄ＋１」枚のフレーム画像を再生することとすれば、画像の移動距離が、目標速度Ｓｔを有するフレーム画像を「Ｄ＋１」枚だけ再生する場合と同程度となる。例えば、注目フレーム画像の画像速度Ｓｒが「１０pixel/frame」であり、目標速度Ｓｔが「９pixel/frame」である場合を考える。このとき、速度調整率Ｄは「９」となる。ここで、注目フレーム画像の後ろに続くフレーム画像の画像速度Ｓｒが、注目フレーム画像の画像速度Ｓｒ（=10pixel/frame）と同じとする。すると、注目フレーム画像に引き続き、９枚（速度調整率Ｄと同数）のフレーム画像を再生すれば、画像は９０pixel（10pixel×9frame）だけ移動する。ここで、９枚目のフレーム画像の前に１枚のフレーム画像を追加する。すると、引き続き１０枚のフレーム画像を再生したときの画像の移動距離は、９枚のときと同じ９０pixelとなる。一方、目標速度Ｓｔ（=9pixel/frame）を有するフレーム画像を、引き続き１０枚だけ再生すると、画像の移動距離は９０pixel（9pixel×10frame）となる。このように、速度調整率Ｄと同じ枚数のフレーム画像の中に１枚だけフレーム画像を追加すれば、「Ｄ＋１」枚のフレーム画像を引き続き再生したときの画像速度Ｓｒの平均値を目標速度Ｓｔに近づけることができる。
【００４３】
なお、フレーム画像を追加するフレーム画像対としては、Ｄ枚目と「Ｄ−１」枚目とからなるフレーム画像対に限らず、Ｄ枚のフレーム画像の中の任意のフレーム画像対を採用することができる。例えば、Ｄ枚のフレーム画像の中の画像速度Ｓｒが最も速いフレーム画像を含むフレーム画像対を採用することとしてもよい。なお、動画像では、連続する２つのフレーム画像の間で画像速度Ｓｒが急激に変化することが少ない。従って、連続するＤ枚のフレーム画像の中のフレーム画像対の間にフレーム画像を追加すれば、画像速度Ｓｒが目標速度Ｓｔよりも速いフレーム画像が連続する範囲（例えば、図５の第１範囲Ｒ１と第３範囲Ｒ３）にフレーム画像を追加することができる。
【００４４】
また、追加するフレーム画像としては、フレーム画像対の前側のフレーム画像に限らず、後側のフレーム画像を採用してもよい。また、フレーム画像対の２枚のフレーム画像を補間して得られる画像を追加してもよい。２つのフレーム画像を補間して新たなフレーム画像を生成する方法としては、周知の種々の方法を用いることができる。例えば、新たなフレーム画像の各画素の画素値として、２枚のフレーム画像の同じ画素位置の画素値の平均値を採用する方法を用いてもよい。
【００４５】
以上のようにフレーム画像を追加したら、次のステップＳ２７０（図６）では、フレーム編集部２１４は、注目フレーム番号から処理対象番号（注目フレーム番号＋Ｄ）の手前までのフレーム画像（追加したフレーム画像を含む）を、出力の対象として選択するとともに、注目フレーム番号に「Ｄ」を追加してステップＳ２８０に移行する。例えば、図７（Ｂ）の例では、注目フレーム番号が８番であった場合には、次の注目フレーム番号が１７番となる。ここで、１７番フレーム画像の速度調整率Ｄ（=4）も、正値であるとともに、その絶対値（=4）がしきい値ｔｈ（=10）よりも小さく、かつ、ゼロではない。従って、フレーム編集部２１４は、１７番フレーム画像に対しても、ステップＳ２５０、Ｓ２７０を繰り返し実行することとなる。
【００４６】
以上、速度調整率Ｄが正値である場合について説明したが、速度調整率Ｄが負値となる場合もある。速度調整率Ｄが負値であることは、画像速度Ｓｒが目標速度Ｓｔよりも遅いことを意味している。そこで、フレーム編集部２１４は、速度調整率Ｄが負値である場合には（ステップＳ２４０：Ｎｏ）、次のステップＳ２６０で、フレーム画像の間引き処理を実行する。
【００４７】
図７（Ｃ）の表には、間引かれるフレーム画像Ｆｓｋが示されている。フレーム編集部２１４は、間引くフレーム画像を速度調整率Ｄに基づいて決定する。第１実施例では、注目フレーム番号に速度調整率Ｄの絶対値（「絶対速度調整率ＡＤ」と呼ぶ）を追加して得られる処理対象番号の手前に位置するフレーム画像が間引かれる。例えば、図７（Ｃ）に示す５０番フレーム画像に対しては、処理対象番号として「５３番」が得られる。そこで、フレーム編集部２１４は、５２番フレーム画像を間引く。
【００４８】
どのフレーム画像を間引くかについては、以下のように説明することができる。速度調整率Ｄは、目標速度Ｓｔと、画像速度Ｓｒから目標速度Ｓｔを引いた差分と、の比率を示している。従って、注目フレーム画像を先頭とする絶対速度調整率ＡＤと同数のフレーム画像の中から１枚だけフレーム画像を間引いた後で「ＡＤ」枚のフレーム画像を再生することとすれば、画像の移動距離が、目標速度Ｓｔを有するフレーム画像を「ＡＤ」枚だけ再生する場合と同程度となる。例えば、注目フレーム画像の画像速度Ｓｒが「９pixel/frame」であり、目標速度Ｓｔが「１０pixel/frame」である場合を考える。このとき、絶対速度調整率ＡＤは「１０」となる。ここで、注目フレーム画像の後ろに続くフレーム画像の画像速度Ｓｒが、注目フレーム画像の画像速度Ｓｒ（=9pixel/frame）と同じとする。すると、注目フレーム画像を含む１０枚（絶対速度調整率ＡＤと同数）のフレーム画像を再生すれば、画像は８１pixel（9pixel×9frame）だけ移動する。ここで、１０枚目のフレーム画像を間引く。すると、注目フレーム画像を含むとともに、間引かれたフレーム画像を除く新たな１０枚のフレーム画像を再生したときの画像の移動距離は、９０pixel（9pixel×10frame）となる。一方、目標速度Ｓｔ（=10pixel/frame）を有するフレーム画像を、１０枚だけ再生すると、画像の移動距離は９０pixel（10pixel×9frame）となる。このように、絶対速度調整率ＡＤと同じ枚数のフレーム画像の中から１枚だけフレーム画像を間引くと、ＡＤ枚のフレーム画像を再生したときの画像速度Ｓｒの平均値を目標速度Ｓｔに近づけることができる。
【００４９】
なお、間引くフレーム画像としては、ＡＤ枚目のフレーム画像に限らず、ＡＤ枚のフレーム画像の中の任意のフレーム画像を採用することができる。例えば、ＡＤ枚のフレーム画像の中の画像速度Ｓｒが最も遅いフレーム画像を間引くこととしてもよい。なお、動画像では、連続する２つのフレーム画像の間で画像速度Ｓｒが急激に変化することが少ない。従って、連続するＡＤ枚のフレーム画像の中からフレーム画像を間引けば、画像速度Ｓｒが目標速度Ｓｔよりも遅いフレーム画像が連続する範囲（例えば、図５の第２範囲Ｒ２）からフレーム画像を間引くことができる。
【００５０】
以上のようにフレーム画像を間引いたら、次のステップＳ２７０（図６）では、フレーム編集部２１４は、注目フレーム番号から処理対象番号（注目フレーム番号＋ＡＤ）の手前までのフレーム画像（間引いたフレーム画像を除く）を、出力の対象として選択するとともに、注目フレーム番号に「ＡＤ」を追加してステップＳ２８０に移行する。例えば、図７（Ｃ）の例では、注目フレーム番号が５０番であった場合には、次の注目フレーム番号が５３番となる。ここで、５３番フレーム画像の速度調整率Ｄ（=-3）も、負値であるとともに、その絶対値（=3）がしきい値ｔｈ（=10）よりも小さく、かつ、ゼロではない。従って、フレーム編集部２１４は、５３番フレーム画像に対しても、ステップＳ２６０、Ｓ２７０を繰り返し実行することとなる。
【００５１】
以上のように、フレーム編集部２１４は、動画像に含まれる全てのフレーム画像に対して、図６に示す編集処理を実行する。その結果、時系列に沿った順番において、画像速度Ｓｒが目標速度Ｓｔよりも速い範囲（例えば、図５の第１範囲Ｒ１と第３範囲Ｒ３）には、フレーム画像が挿入（追加）され、画像速度Ｓｒが目標速度Ｓｔよりも遅い範囲（例えば、図５の第２範囲Ｒ２）からは、フレーム画像が間引かれることとなる。このように、動画像に含まれる全てのフレーム画像に対する処理が終了したら、フレーム編集部２１４は編集処理を終了し、図３のステップＳ１４０に移行する。
【００５２】
図３のステップＳ１４０では、フレーム編集部２１４は、編集処理の結果に従って、編集済動画像データを生成する。具体的には、フレーム編集部２１４は、図６の編集処理で出力対象として選択された複数のフレーム画像を、時系列に沿った順番に並べることによって、編集済動画像データを生成する。編集済動画像データは、コンピュータ２００の図示しないメモリ（例えば、ＨＤＤやＲＡＭ）に保存される。
【００５３】
図８は、動画像を再生したときの画像の視覚的な速さを示すグラフである。横軸はフレーム番号を示し、縦軸は画像速度（pixel/frame）を示している。図８のグラフには、編集前後のそれぞれの動画像を再生したときの、２０フレーム毎の平均の画像速度（以下「２０平均画像速度」と呼ぶ）が示されている。編集前の動画像（原動画像）を再生した場合には、２０平均動画像速度は、各フレーム画像の画像速度Ｓｒに従って、波のように変化する。一方、編集後の動画像（編集済動画像）を再生した場合には、２０平均画像速度と目標速度Ｓｔとの差が、編集前と比べて小さくなっている。
【００５４】
ところで、人の視覚には、画像の動きの変化を認識することが可能な速度に限界（例えば、1/10sec〜1/2sec程度。以下「限界時間」と呼ぶ）がある。従って、１枚のフレーム画像を表示する時間が限界時間と比べて短い場合（例えば、1/30sec）には、人の視覚は、複数のフレーム画像（例えば、２０のフレーム画像）を再生した場合の平均的な動きの変化を認識する傾向がある。その結果、図８の例において編集前の動画像を再生する場合には、人の視覚は画像の動きの速度が波のように変化していると認識する。一方、編集後の動画像（編集済動画像）を再生する場合には、人の視覚は、画像の動きの速度が編集前と比べて目標速度Ｓｔに近い、すなわち、画像の動きの速度の変化が編集前と比べて小さいと認識することができる。その結果、撮影時におけるデジタルカメラ１００の動きの速度（向きの変化速度）の変化（動きのぶれ）が大きい場合であっても、再生時における画像の動きの視覚的な速度の変化をより小さくし、動画像の観察者が感じる違和感を小さくすることができる。なお、速度調整率Ｄの大きさを比較するしきい値ｔｈは、しきい値ｔｈと同数のフレーム画像の再生時間が限界時間と比べて過剰に長くならないように設定することが好ましい。
【００５５】
このように、第１実施例では、各フレーム画像の画像速度Ｓｒに従って、フレーム画像の挿入処理と、フレーム画像の間引き処理と、が実行されるので、動画像を再生したときの画像の動きの視覚的な速度を、各フレーム画像のそれぞれの内容に応じて調整することができる。
【００５６】
また、第１実施例では、画像速度Ｓｒが目標速度Ｓｔよりも速いフレーム画像が連続する範囲（例えば、図５の第１範囲Ｒ１と第３範囲Ｒ３）にフレーム画像が挿入される。さらに、画像速度Ｓｒが目標速度Ｓｔよりも遅いフレーム画像が連続する範囲（例えば、図５の第２範囲Ｒ２）からフレーム画像が間引かれる。その結果、動画像を再生したときの画像の動きの視覚的な速度を、目標速度Ｓｔに近づけることができる。
【００５７】
Ｂ．第２実施例：
図９は、第２実施例における編集結果データを示す説明図である。第１実施例との差異は、フレーム編集部２１４は、図３のステップＳ１４０で、編集済動画像データの代わりに、編集結果を表す編集結果データを生成する点だけである。
【００５８】
図９に示す編集結果データには、原動画像データを格納するファイル名と、編集後の全フレーム画像数と、原動画像データにおけるフレーム番号と編集後フレーム番号との対応関係と、が格納されている。図９の編集結果データは、１６番と１７番とのフレーム画像対の間に１６番フレーム画像が挿入されたことを示している。その結果、編集後フレーム番号１７が、編集後フレーム番号１６と同じ「１６」に設定され、さらに、１８番以降の編集後フレーム番号の値が１つずつ繰り下がっている。
【００５９】
フレーム編集部２１４は、このような編集結果データを原動画像データとは独立に生成し、コンピュータ２００の図示しないメモリ（例えば、ＨＤＤやＲＡＭ）に保存する。動画像を再生するアプリケーション（図示せず）は、原動画像データと、編集結果データと、を利用することによって、編集後の動画像を再生することができる。なお、速度算出部２１２とフレーム編集部２１４との機能は、動画像を再生するアプリケーションに組み込まれていてもよい。
【００６０】
このように、第２実施例では、編集結果データを生成するので、編集済動画像データを生成する場合と比べて、データを保存するためのメモリを節約することができる。なお、編集結果データを、原動画像データを格納するファイル内に格納することとしてもよい。また、編集結果データが含む項目としては、図９に示す項目に限らず、他の種類の項目を採用してもよい。例えば、各フレーム画像のそれぞれの画像速度Ｓｒを含む編集結果データを生成することとしてもよい。こうすれば、目標速度Ｓｔが異なる複数種類の編集処理を、編集結果データを用いて、容易に、実行することができる。
【００６１】
Ｃ．第３実施例：
図１０は、目標速度Ｓｔを決定するための操作表示画面３００を示す説明図である。上述した第１実施例との差異は、フレーム編集部２１４が、図３のステップＳ１２０において目標速度Ｓｔを指定するユーザの指示を受け取り、ステップＳ１３０では、指定された目標速度Ｓｔに従って編集処理を実行する点だけである。フレーム編集部２１４は、ステップＳ１２０で、この操作表示画面３００をディスプレイ２２０（図１）に表示する。ユーザは、マウス２３０とキーボード２４０とを用いることによって、この操作表示画面３００を操作することができる。
【００６２】
この操作表示画面３００は、６つの候補目標速度表示エリアＰ１〜Ｐ６と、ＯＫボタン３１０と、を有している。各候補目標速度表示エリアＰ１〜Ｐ６には、フレーム番号と目標速度の候補との対応関係を示すグラフが示されている。各グラフでは、横軸はフレーム番号を示し、縦軸は画像速度を示している。また、グラフ中では、原動画像の各フレーム画像の画像速度Ｓｒが実線で示され、候補目標速度が破線で示されている。
【００６３】
各候補目標速度表示エリアＰ１〜Ｐ６には、それぞれ、互いに異なる候補目標速度が示されている。フレーム編集部２１４は、これらの候補目標速度を各フレーム画像の画像速度Ｓｒに応じて、以下のように決定する。
（１）第１候補目標速度表示エリアＰ１の第１候補目標速度は、画像速度Ｓｒの移動平均を目標速度として用いたものである。
（２）第２候補目標速度表示エリアＰ２の第２候補目標速度は、一定値を目標速度として用いたものである。例えば、図５の実施例と同様に画像速度Ｓｒの平均値を採用することができる。
（３）第３候補目標速度表示エリアＰ３の第３候補目標速度は、台形を画像速度Ｓｒに合わせて修正した形を有している。このような第３候補目標速度を決定する方法としては、画像速度Ｓｒと目標速度との差分の２乗の合計値（以下「残差２乗和」と呼ぶ）が最小となるように台形の形を決定する方法等の種々の方法を用いることができる。
（４）第４候補目標速度表示エリアＰ４の第４候補目標速度は、第３候補目標速度を、傾きの変化が滑らかになるように２次曲線を用いて修正した形を有している。
（５）第５候補目標速度表示エリアＰ５の第５候補目標速度は、三角関数を画像速度Ｓｒに合わせて修正した形を有している。このような第５候補目標速度を決定する方法としては、残差２乗和が最小となるように三角関数の形を決定する方法等の種々の方法を用いることができる。
（６）第６候補目標速度表示エリアＰ６の第６候補目標速度は、フレーム番号の増加に伴って直線的に増加するように設定されている。ここで、傾きとしては、残差２乗和が最小となる値や、予め設定された値等の種々の値を用いることができる。
【００６４】
ユーザは、操作表示画面３００を操作することによって、これらの候補目標速度の中から１つを選択することができる。図１０の例では、第１候補目標速度（第１候補目標速度表示エリアＰ１）が選択されている。
【００６５】
ユーザが、操作表示画面３００のＯＫボタン３１０を操作すると、フレーム編集部２１４は、操作表示画面３００に対して設定されたユーザの指示を受け取り、ユーザの指示で指定された目標速度Ｓｔに従って、編集処理を実行する（図３：ステップＳ１３０）。以後、フレーム編集部２１４は、ステップＳ１４０の処理を実行する。この際、編集済動画像データを生成してもよく、この代わりに、編集結果データを生成してもよい。
【００６６】
このように、第３実施例では、複数種類の候補目標速度の中から、ユーザが目標速度を選択することができるので、動画像を再生したときの画像の動きの視覚的な速度を、ユーザの好みの目標速度Ｓｔに近づけることができる。ここで、目標速度Ｓｔを、フレーム番号の変化に伴って変化する可変値、すなわち、再生時間の進行とともに変化する可変値に設定すれば、画像の動きの視覚的な速度を再生時間の経過とともに変化させることができる。なお、候補目標速度としては、図１０に示した例に限らず、他の任意のものを採用することができる。また、操作表示画面３００に表示する候補目標速度の数としては、６つに限らず任意の数を採用することができる。ただし、複数であることが好ましい。また、ユーザが操作表示画面３００を操作することによって、候補目標速度を修正することができることとしてもよい。
【００６７】
Ｄ．第４実施例：
図１１は、候補目標速度の別の例を示すグラフである。図１１（Ａ）（Ｂ）の各グラフでは、横軸はフレーム番号を示し、縦軸は画像速度を示している。また、画像速度Ｓｒが実線で示され、目標速度Ｓｔが破線で示されている。
【００６８】
図１１（Ａ）の例は、停車駅から停車駅へと移動する特急列車の車窓から風景を撮影した動画像を用いる場合を示している。特急列車は、停車駅を出発してから徐々に速度を上げ、一定速度で移動した後、徐々に速度を下げて次の停車駅で停車する。その結果、画像速度Ｓｒは凸形状を有している。一方、目標速度Ｓｔは、凸形状が３回繰り返される形状を有している。このような目標速度Ｓｔを用いて編集処理を実行すれば、停車駅から停車駅へ移動する途中の２つの凹部ＲＴ１、ＲＴ２で、画像の視覚的な動きを遅くすることができる。その結果、停車駅から次の停車駅までの１区間の撮影で得られた動画像を、途中で２回停車した列車から撮影した動画像のように、再生することができる。
【００６９】
図１１（Ｂ）の例は、図１１（Ａ）の例と同様に、車窓から風景を撮影した動画像を用いる場合を示している。図１１（Ａ）との差異は、１区間ではなく３区間の撮影で得られた動画像を用いている点である。従って、画像速度Ｓｒは、凸形状が３回繰り返される形状を有している。一方、目標速度Ｓｔは、１つの凸形状をなしている。このような目標速度Ｓｔを用いて編集処理を実行すれば、動画像の途中の２つの凹部ＲＴ３、ＲＴ４での画像の視覚的な動きを速くすることができる。その結果、３区間の撮影で得られた動画像を、１区間の撮影で得られた動画像のように、再生することができる。
【００７０】
以上のように、画像速度Ｓｒの形状とは異なる形状を有する目標速度Ｓｔを用いれば、カメラワーク（デジタルカメラ１００の動き）の速度を目標速度Ｓｔとなるように変化させたかのような効果を得ることができる。これは、上述した他の目標速度についても同様である。
【００７１】
Ｅ．第５実施例：
図１２は、第５実施例における目標速度Ｓｔを決定するための操作表示画面３００ａを示す説明図である。図１０に示す操作表示画面３００との差異は、目標速度表示エリアＰａに加えて、フレーム画像を表示する画像表示エリアＩａを有している点である。この画像表示エリアＩａには、時系列に沿った順の全体から均等な間隔で選択された７つのフレーム画像が時系列の順に並べて表示されている。一方、目標速度表示エリアＰａには、フレーム番号と目標速度の候補との関係を示すグラフが示されている。このグラフでは、横軸がフレーム番号を示し、縦軸が画像速度を示している。また、グラフ中では、原動画像の各フレーム画像の画像速度Ｓｒが実線で示され、目標速度Ｓｔが破線で示されている。
【００７２】
図１２の例は、走り幅跳びの選手を、助走開始から着地まで、選手と並行に移動しながら横から撮影した動画像を用いる場合を示している。選手の移動速度は、助走開始から徐々に速くなり、踏み切った後に徐々に遅くなって、着地とともにゼロとなる。一方、フレーム画像内の背景の移動速度も、選手の移動速度と同様に変化する。ここで、速度算出部２１２（図２）は、フレーム画像の各ブロック（図４（Ｂ））の中の背景を表すブロック（「背景ブロック」と呼ぶ）に対して、向きと長さとがそれぞれほぼ同じ動きベクトルを算出する。一方、選手を表すブロック（「選手ブロック」と呼ぶ）に対しては複雑に変化する動きベクトルが算出される。ここで、図１２の例では、選手ブロックの数が背景ブロックの数と比べて少ないこととしている。従って、平均ベクトルから算出される画像速度Ｓｒは、背景の動く速度、すなわち、選手の移動速度とほぼ同じとなっている。
【００７３】
一方、目標速度Ｓｔは、助走開始から踏み切りまでは画像速度Ｓｒよりも大きな値に設定され、踏み切ってから着地前までは画像速度Ｓｒよりも小さな値に設定され、着地前から着地までは、さらに小さい値に設定されている。このような目標速度Ｓｔを用いて編集処理を実行すれば、動画像を再生する際に、助走中の画像の動きを速く見せ、さらに、踏み切った後の画像の動きをゆっくり見せることができる。
【００７４】
ユーザは、マウス２３０（図１）とキーボード２４０とを用いて目標速度表示エリアＰａを操作することによって、目標速度Ｓｔを調整することができる。この際、ユーザは、フレーム画像の内容を確認しつつ目標速度Ｓｔを調整することができるので、シーンに応じた好みの目標速度Ｓｔを容易に設定することができる。ここで、ユーザがＯＫボタン３１０ａを操作すると、フレーム編集部２１４は、操作表示画面３００ａに対して設定されたユーザの指示を受け取り、ユーザの指示で指定された目標速度Ｓｔに従って、編集処理を実行する（図３：ステップＳ１３０）。
【００７５】
なお、画像表示エリアＩａには、ユーザが指定したフレーム番号のフレーム画像を表示することとしてもよい。こうすれば、ユーザは、フレーム画像の内容の変化をより細かく確認しながら、目標速度Ｓｔを決めることができる。例えば、図１２の原動画像において、選手が踏み切った瞬間に目標速度Ｓｔをより小さな値に変化させることができる。また、操作表示画面３００ａに表示するフレーム画像の数は７枚に限らず、より少ない数を採用してもよく、より多い数を採用してもよい。
【００７６】
Ｆ．第６実施例：
図１３は、第６実施例における、速度算出部２１２が画像速度Ｓｒを算出する様子を示す説明図である。図４に示す第１実施例との差異は、ズーム撮影における画像の動きの速度を画像速度Ｓｒとして算出する点である。
【００７７】
図１３には、ズームアウト撮影を行って得られるフレーム画像における動きベクトルの一例が示されている。ズームアウト撮影を行うと、より広い範囲の被写体がフレーム画像内に現れる。また、フレーム画像の各ブロックが表す画像は、縮小されつつフレーム画像の中心に向かって移動する。その結果、全てのブロックの動きベクトルは、ほぼ中心Ｃを向くこととなる（なお、各動きベクトルの始点は各ブロックの重心位置にあることとしている）。この際、動きベクトルの長さは、ズームの変化に応じて変化する。換言すれば、動きベクトルの長さは、レンズ焦点距離の変化に応じて変化する。また、動きベクトルの長さは、画角の変化に応じて変化すると言うこともできる。また、動きベクトルの長さは、ブロックと中心Ｃとの距離が遠いほど長くなる。
【００７８】
速度算出部２１２は、動きベクトルの長さが長い程速い画像速度Ｓｒを算出する。その結果、画像速度Ｓｒは、ズームによる画像の動きの速度を表すこととなる。ここで、画像速度Ｓｒを決定する方法としては種々の方法を採用することができる。例えば、所定の代表ブロックの動きベクトルの長さを画像速度Ｓｒとして採用してもよく、複数（例えば、全て）のブロックの動きベクトルの長さの平均値を画像速度Ｓｒとして採用してもよい。また、複数のブロックを、フレーム画像の端部側の外ブロック（図１３では、ハッチングが付されている）と、フレーム画像の中央部側の内ブロックと、に区分し、外ブロックの動きベクトルの長さの平均値を画像速度Ｓｒとして採用してもよい。こうすれば、ズームによる画像の動きの変化に対する画像速度Ｓｒの変化をより大きくすることができる。以後、フレーム編集部２１４は、画像速度Ｓｒを用いて、上述の各実施例と同様に編集処理を実行する。
【００７９】
このように、第６実施例では、画像速度Ｓｒが、ズーム撮影における画像の動きの速度を表すので、ズームの変化（例えば、レンズ焦点距離の変化や、画角の変化）による画像の動きの視覚的な速度を、各フレーム画像のそれぞれの内容に応じて調整することができる。なお、図１３では、ズームアウト撮影を行った場合の動きベクトルの例を示したが、ズームイン撮影を行った場合にも、同様に画像速度Ｓｒを算出することができる。ただし、この場合には、全てのブロックの動きベクトルの向きが、中心Ｃとはほぼ逆の方向を向くこととなる。また、ズームインとズームアウトとに限らず、デジタルカメラ１００自体を前進させながら撮影を行った動画像や、後退させながら撮影を行った動画像においても、画像の動きは、フレーム画像の中心へ向かう動き、または、中心から外へ向かう動きとなる。従って、ズームイン撮影とズームアウト撮影と同様に、画像速度Ｓｒを算出することができる。以下、このような画像の動きを「ズーム移動」と呼ぶ。
【００８０】
Ｇ．第７実施例：
図１４は、第７実施例における、速度算出部２１２が画像速度Ｓｒを算出する様子を示す説明図である。図４に示す第１実施例との差異は、画像の回転の速度を画像速度Ｓｒとして算出する点である。
【００８１】
図１４には、デジタルカメラ１００を回転させながら撮影して得られるフレーム画像における動きベクトルの一例が示されている。フレーム画像の各ブロックが表す画像は、時間の経過とともに、画像の中心Ｃを中心とする回転方向（図１４の例では反時計回り）へ移動する。その結果、全てのブロックの動きベクトルは、中心Ｃへ向かう方向とほぼ垂直な、同じ回転方向を向くこととなる（各動きベクトルの始点は各ブロックの重心位置にあることとしている）。この際、動きベクトルの長さは、回転の速度（角速度）に応じて決まる。また、動きベクトルの長さは、ブロックの重心位置と中心Ｃとの距離に比例して長くなる。
【００８２】
速度算出部２１２は、動きベクトルの長さから回転の角速度を求め、得られた角速度を用いて画像速度Ｓｒを算出する。角速度は、例えば、動きベクトルの始点と中心Ｃと動きベクトルの終点とがなす角度ωを用いて算出すればよい。ここで、画像速度Ｓｒを決定する方法としては種々の方法を採用することができる。例えば、所定の代表ブロックの動きベクトルから得られる角速度を画像速度Ｓｒとして採用してもよく、複数（例えば、全て）のブロックの動きベクトルから得られる角速度の平均値を画像速度Ｓｒとして採用してもよい。いずれの場合も、画像速度Ｓｒは、角速度を表す単位（例えば、degree/frame）で表されることとなる。以後、フレーム編集部２１４は、画像速度Ｓｒを用いて、上述の各実施例と同様に編集処理を実行する。
【００８３】
このように、第７実施例では、画像速度Ｓｒが、回転撮影における画像の動きの速度を表すので、回転の視覚的な速度を、各フレーム画像のそれぞれの内容に応じて調整することができる。
【００８４】
Ｈ．第８実施例：
上述の各実施例において、速度算出部２１２（図２）が、フレーム画像における画像の動きの種類（以下「動き種類」と呼ぶ）を識別し、さらに、動きの種類に応じて複数種類の画像速度Ｓｒの算出方法を使い分けることとしてもよい。図１５は、速度算出部２１２が動き種類を識別する手順を示すフローチャートである。第８実施例では、速度算出部２１２は、「並進移動（図４）」と「ズーム移動（図１３）」と「回転移動（図１４）」との３種類の画像速度Ｓｒを算出することが可能である。そこで、速度算出部２１２は、図３のステップＳ１１０において、各フレーム画像毎に画像の動きの種類を識別し、動き種類に適した画像速度Ｓｒを算出する。
【００８５】
ステップＳ３００では、速度算出部２１２は、画像が並進移動しているか否かを判断する。図１６は、並進移動であるか否かを判断する様子を示す説明図である。図１６（Ａ）には、画像が並進移動しているフレーム画像（「並進フレーム画像」と呼ぶ）における動きベクトルの一例が示されている。速度算出部２１２は、以下の条件（ｃｐ）が満たされる場合に、画像が並進移動していると判定する。
【００８６】
ＳＱＲＴ（σｘ＊＊２  ＋  σｙ＊＊２）  ≦  Ｐｔｈ      ...（ｃｐ）
【００８７】
ここで、「ＳＱＲＴ」は平方根を意味し、「＊＊」はべき乗を意味する（「σｘ＊＊２」はσｘの２乗を意味する）。また、σｘは、動きベクトルのＸ成分の分散を示し、σｙは、動きベクトルのＹ成分の分散を示している。ここで、動きベクトルは、Ｘ軸方向の成分（Ｘ成分）と、それと直交するＹ軸方向の成分（Ｙ成分）と、で表されていることとしている。さらに、Ｐｔｈはしきい値である。このように、分散σｘと分散σｙとが小さければ、ほぼ全ての動きベクトルの向きと長さとがほぼ同じとなるので、画像が並進移動していると判定することができる。なお、しきい値Ｐｔｈは、予め実験的に決定しておいてもよく、ユーザが指定することとしてもよい。また、並進移動の判定条件としては、一般に、「動きベクトルの向きと長さとのバラツキの大きさを表すベクトル指標値がしきい値以下である」を含む任意の条件を採用することができる。
【００８８】
並進移動ではない場合には、次のステップＳ３１０（図１５）で、速度算出部２１２は、画像がズーム移動をしているか否かを判断する。図１７は、ズーム移動であるか否かを判断する様子を示す説明図である。図１７（Ａ）には、画像がズーム移動しているフレーム画像（「ズームフレーム画像」と呼ぶ）における動きベクトルの一例が示されている（一部省略）。ここで、速度算出部２１２は、以下の条件（ｃｚ）が満たされる場合に、画像がズーム移動していると判定する。
【００８９】
Σθｃ≦Ｚｔｈ  ｏｒ  Σ（１８０度−θｃ）≦Ｚｔｈ      ...（ｃｚ）
【００９０】
ここで、「Σ」は、全ての動きベクトルについて和を取ることを意味する。また、角度θｃは、動きベクトルの向きと、中心Ｃへ向かう向きとのなす角度である。さらに、Ｚｔｈはしきい値である。このように、ほぼ全ての動きベクトルの角度θｃが０度に近い、または、ほぼ全ての動きベクトルの角度θｃが１８０度に近ければ、ズーム移動であると判定することができる。なお、しきい値Ｚｔｈは、予め実験的に決定しておいてもよく、ユーザが指定することとしてもよい。
【００９１】
なお、ズーム移動の判定条件としては、一般に、「動きベクトルの向きの中心方向からのバラツキの大きさを表す中心方向指標値がしきい値以下である、または、動きベクトルの向きの中心方向とは逆の方向からのバラツキの大きさを表す反中心方向指標値がしきい値以下である」を含む任意の条件を採用することができる。ここで、フレーム画像内における中心位置をユーザが指定することとしてもよい。
【００９２】
ズーム移動ではない場合には、次のステップＳ３２０（図１５）で、速度算出部２１２は、画像が回転移動をしているか否かを判断する。図１８は、回転移動であるか否かを判断する様子を示す説明図である。図１８（Ａ）には、画像が回転移動しているフレーム画像（「回転フレーム画像」と呼ぶ）における動きベクトルの一例が示されている（一部省略）。ここで、速度算出部２１２は、以下の２つの条件（ｃｒ１）（ｃｒ２）が満たされる場合に、画像が回転移動していると判定する。
【００９３】
Σθｒ≦Ｒｔｈ１  ｏｒ  Σ（１８０度−θｒ）≦Ｒｔｈ１      ...（ｃｒ１）
σ（Ｖ／Ｄ）  ≦  Ｒｔｈ２                                  ...（ｃｒ２）
【００９４】
ここで、「Σ」は、全ての動きベクトルについて和を取ることを意味する。また、角度θｒは、動きベクトルの向きと、中心Ｃへ向かう方向と垂直な反時計回りの方向ｒｄと、のなす角度である。さらにＲｔｈ１はしきい値である。従って、条件（ｃｒ１）が満たされることは、ほぼ全ての動きベクトルが時計回りの方向を向いている、または、ほぼ全ての動きベクトルが反時計回りの方向を向いていることを意味している。なお、しきい値Ｒｔｈ１は、予め実験的に決定しておいてもよく、ユーザが指定することとしてもよい。
【００９５】
一方、条件（ｃｒ２）において、Ｖは動きベクトルの長さであり、Ｄはブロックの重心位置と中心Ｃとの距離である。また、σ（Ｖ／Ｄ）は、「Ｖ／Ｄ」の分散であり、Ｒｔｈ２はしきい値である。回転フレーム画像においては、各動きベクトルから算出される角速度は一定値となるので、「Ｖ／Ｄ」は、ブロックの位置に拘わらずにほぼ一定値となる。従って、「Ｖ／Ｄ」の分散σ（Ｖ／Ｄ）が小さいことは、動きベクトルから算出される角速度のバラツキが小さいことを意味するので、回転移動の判定条件として用いることができる。なお、しきい値Ｒｔｈ２は、予め実験的に決定しておいてもよく、ユーザが指定することとしてもよい。
【００９６】
なお、回転移動の判定条件としては、一般に、「動きベクトルの向きの時計回りの方向からのバラツキの大きさを表す右回転方向指標値がしきい値以下である、または、動きベクトルの向きの反時計回りの方向からのバラツキの大きさを表す左回転方向指標値がしきい値以下である」を含む任意の条件を採用することができる。さらに、「動きベクトルから算出される角速度のバラツキの大きさを表す角速度指標値がしきい値以下である」を含む条件を採用すれば、より精度の高い判定を行うことができる。
【００９７】
「並進移動」と「ズーム移動」と「回転移動」とのいずれの条件も満たされない場合には、速度算出部２１２は、動き種類が直前のフレーム画像と同じであることとして、画像速度Ｓｒを算出する。
【００９８】
以上、第８実施例では、速度算出部２１２は、フレーム画像における画像の動きの種類を識別するとともに、動きの種類に応じた算出方法に従って画像速度Ｓｒを算出する。従って、フレーム編集部２１４は、種々の画像の動きに応じた適切な編集処理を実行することができる。
【００９９】
なお、画像速度Ｓｒを算出するための画像の動きとしては、任意の種類の動きを採用することができる。ただし、上述した３種類（「並進移動」と「ズーム移動」と「回転移動」）の動きのうちの少なくとも２つを含む複数種類の動きを採用することが好ましい。また、画像の動きの速度を算出する方法としては、本実施例の方法とは異なる他の方法を採用してもよい。例えば、特開平１０−１１２８６４号公報に記載の方法を採用してもよい。
【０１００】
また、動画像によっては、時系列に沿った順番の途中で、動きの種類が切り替わる場合がある。このような場合には、フレーム編集部２１４は、時系列の沿った順番を、動き種類の変わり目で区切ることとしてもよい。ここで、動きの種類が同じである連続した複数のフレーム画像のグループ毎に、目標速度Ｓｔを決定して編集処理を実行すればよい。さらに、動き種類を識別できないフレーム画像（以下「不明フレーム画像」と呼ぶ）が原動画像に含まれている場合には、不明フレーム画像を編集処理の対象から除くこととしてもよい。例えば、時系列に沿った順番を、不明フレーム画像の位置で区切ることとしてもよい。この際、不明フレーム画像を出力の対象として選択してもよく、出力対象から除いてもよい。
【０１０１】
また、全てのフレーム画像に対して動き種類を識別する代わりに、複数のフレーム画像の中の一部の代表フレーム画像のみに対して動き種類を識別することとしてもよい。動画像においては、画像の動きの種類が短時間で切り替わることが少ない。従って、速度算出部２１２は、時系列に沿った並び順において、代表フレームを含む一部の範囲内のフレーム画像に関しては、動き種類がその代表フレーム画像と同じであるものとして、画像速度Ｓｒを算出してもよい。例えば、２０枚間隔毎に１枚ずつの代表フレーム画像を選択してもよい。ここで、速度算出部２１２は、１枚の代表フレーム画像の後ろに続く２０枚のフレーム画像の動き種類が、その代表フレーム画像と同じであることとして、画像速度Ｓｒを算出すればよい。
【０１０２】
Ｉ．第９実施例：
図１９は、第９実施例における編集処理を示す説明図である。図６、図７に示す実施例との差異は、目標速度Ｓｔから画像速度Ｓｒを引いた差分の累積値（「累積誤差Ｅ」と呼ぶ）の大きさに応じてフレーム画像の挿入と間引きとを実行する点である。図１９（Ａ）（Ｂ）の表には、図７の例と同じ原動画像を用いた場合の画像速度Ｓｒと累積誤差Ｅとが示されている。また、目標速度Ｓｔは全フレーム番号に対して3.21に設定されていることとしている。
【０１０３】
第９実施例では、フレーム編集部２１４は、時系列に沿った順番に累積誤差Ｅを算出する。さらに、フレーム編集部２１４は、累積誤差Ｅが負値で、かつ、累積誤差Ｅの絶対値（「絶対累積誤差ＡＥ」と呼ぶ）が目標速度Ｓｔ以上となるフレーム画像の後ろに、新たなフレーム画像を挿入する。図１９（Ａ）の例では、１３番フレーム画像の累積誤差Ｅが-3.43であり、絶対累積誤差ＡＥ（=3.43）が目標速度Ｓｔ（=3.21）以上である。そこで、フレーム編集部２１４は、１３番フレーム画像の後ろにフレーム画像を追加する。この際、累積誤差Ｅに１枚分の目標速度Ｓｔを追加し、得られた値（この例では-0.22）を新たな累積誤差Ｅとして用いる。
【０１０４】
さらに、フレーム編集部２１４は、累積誤差Ｅが正値で、かつ、目標速度Ｓｔ以上となるフレーム画像を間引く。図１９（Ｂ）の例では、５１番フレーム画像の累積誤差Ｅが3.88であり、目標速度Ｓｔ（=3.21）以上である。そこで、フレーム編集部２１４は、５１番フレーム画像を間引く。この際、累積誤差Ｅから１枚分の目標速度Ｓｔを差し引き、得られた値（この例では0.67）を新たな累積誤差Ｅとして用いる。
【０１０５】
フレーム編集部２１４は、累積誤差Ｅを算出しつつ、累積誤差Ｅに応じてフレーム画像の挿入と間引きとを実行する処理を、時系列の順番に全てのフレーム画像に対して実行する。その結果、フレーム編集部２１４は、累積誤差Ｅが大きい範囲、すなわち、画像速度Ｓｒが目標速度Ｓｔよりも遅いフレーム画像が連続する範囲からフレーム画像を間引くこととなる。さらに、フレーム編集部２１４は、累積誤差Ｅが小さい範囲、すなわち、画像速度Ｓｒが目標速度Ｓｔよりも速いフレーム画像が連続する範囲にフレーム画像を挿入することとなる。その結果、動画像を再生したときの画像の動きの視覚的な速度を、目標速度Ｓｔに近づけることができる。
【０１０６】
Ｊ．第１０実施例：
図２０は、第１０実施例において、速度算出部２１２が画像速度を算出する様子を示す説明図である。図４に示す第１実施例との差異は、フレーム画像内の動く被写体（「動体」と呼ぶ）の移動量（「移動距離」とも呼ぶ）に応じて画像速度を算出する点である。なお、フレーム画像内の動体とは、フレーム画像全体の動きと比較したときに大きな距離で移動している被写体を意味する。
【０１０７】
図２０（Ａ）には、ｎ番フレーム画像Ｆ（ｎ）と「ｎ＋１」番フレーム画像Ｆ（ｎ＋１）とが示されている。これらのフレーム画像には、図４の例と同様の山に加えて、飛行機が写っている。山は、図４の例と同様に、右から左へと移動している。一方、飛行機は、山とは逆方向の左から右へと移動している。
【０１０８】
速度算出部２１２は、図４の例と同様に、各ブロックの動きベクトルを算出する。その結果、山を表すブロックに対しては、左向きの動きベクトルが得られる（図２０（Ｂ））。一方、飛行機を表すブロック（Ｂ１（ｎ）、Ｂ２（ｎ））に対しては、右向きの動きベクトルが得られる。
【０１０９】
次に、速度算出部２１２は、各ブロックに対して、動きベクトルから平均ベクトル（フレーム画像全体の動きベクトルに相当する）を差し引いた残差ベクトルを算出する。図２０（Ｃ）には、残差ベクトルの一例が示されている。図２０の例では、平均ベクトルは、山を表すブロックの動きベクトルとほぼ同じ向きと長さとを有する左向きのベクトルとなる。その結果、山を表すブロックに対しては、長さがほぼゼロの残差ベクトルが得られる（図示省略）。一方、飛行機を表すブロックに対しては、山に対する飛行機の相対的な動きを表すベクトルが残差ベクトルとして算出される。
【０１１０】
次に、速度算出部２１２は、残差ベクトルの長さがしきい値以上であるブロックを選択する。その結果、速度算出部２１２は、動体を表すブロックを選択することとなる。図２０の例では、飛行機を表す２つのブロックＢ１（ｎ）、Ｂ２（ｎ）が選択される。
【０１１１】
次に、速度算出部２１２は、選択したブロックの動きベクトルの長さの平均値を画像速度Ｓｒとして算出する。その結果、画像速度Ｓｒは、動体の移動距離（移動速度）を表すこととなる。なお、画像速度Ｓｒを算出する方法としては、選択したブロックを用いる任意の方法を採用することができる。例えば、選択した各ブロックの動きベクトルを平均して得られる平均ベクトルの長さを画像速度Ｓｒとして用いてもよい。また、動きベクトルの代わりに残差ベクトルを用いて画像速度Ｓｒを算出してもよい。こうすれば、動体（図２０の例では飛行機）の、他の被写体（図２０の例では山）に対する動きの速度を画像速度Ｓｒとし用いることができる。
【０１１２】
このように、第１０実施例では、画像速度Ｓｒとして動体の移動速度を用いているので、動体の動きの視覚的な速度を、各フレーム画像のそれぞれの内容に応じて調整することができる。
【０１１３】
なお、動体を表すブロックを選択する方法としては、残差ベクトルの長さを用いる方法に限らず、種々の方法を採用することができる。例えば、ユーザが動体を表すブロックを指定することとしてもよい。また、動体を表すブロックを除いた残りのブロックのみを用いて画像速度Ｓｒを算出することとしてもよい。同様に、速度算出部２１２が画像の動きの種類を識別する際（図１５）にも、動体を表すブロックのみを用いてもよく、逆に、動体を表すブロック以外のブロックのみを用いてもよい。
【０１１４】
Ｋ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【０１１５】
変形例１：
上述の各実施例では、目標速度Ｓｔと画像速度Ｓｒとを用いた編集処理として、速度調整率Ｄを用いる処理（図６）と、累積誤差Ｅを用いる処理（図１９）とについて説明したが、他の処理を採用してもよい。一般に、画像速度Ｓｒと目標速度Ｓｔとを用いる編集処理は、画像速度Ｓｒが目標速度Ｓｔよりも速いフレーム画像が連続する範囲に新たなフレーム画像を挿入し、さらに、画像速度Ｓｒが目標速度Ｓｔよりも遅いフレーム画像が連続する範囲からフレーム画像を間引く処理であればよい。
【０１１６】
また、編集処理としては、上述した目標速度Ｓｔと画像速度Ｓｒとを用いる編集処理に限らず、間引処理と、挿入処理と、の少なくとも一方を、各フレーム画像の画像速度Ｓｒに応じて行う任意の処理を用いることができる。例えば、画像速度Ｓｒが所定のしきい値以下であるフレーム画像を間引くこととしてもよい。こうすれば、画像の動きが比較的小さなフレーム画像を再生することを抑制することができるので、画像の動きの速いシーンのみを再生することができる。また、画像速度Ｓｒが所定のしきい値以上であるフレーム画像に対して、そのフレーム画像の後ろに同じフレーム画像を挿入することとしてもよい。こうすれば、動画像の再生時に画像の動きが過剰に速くなることを防止することができるので、動画像を観察するユーザは、画像の動きを容易に認識することができる。
【０１１７】
変形例２：
画像速度Ｓｒの算出方法としては、上述の各実施例で用いた方法（例えば、平均ベクトルの長さを用いる方法（図４））に限らず、フレーム画像が含む画像の動きの速度を算出する任意の方法を採用することができる。ここで「フレーム画像が含む画像の動きの速度」とは、フレーム画像に含まれる被写体の動きの速度であればよく、フレーム画像全体の相対的な動きの速度と、フレーム画像内に存在する被写体の一部（例えば、動体や背景）の相対的な動きの速度と、被写体の一部の、他の被写体に対する相対的な動きの速度と、を含む広い概念を意味している。
【０１１８】
また、上述の各実施例では、速度算出部２１２（図２）は、ｎ番フレーム画像の画像速度を、ｎ番目とｎ＋１番目との２つのフレーム画像を用いて算出しているが、この代わりに、ｎ番目と、直前のｎ−１番目との２つのフレーム画像を用いて算出してもよい。こうすれば、データ処理部２１０が各フレーム画像を１枚ずつ時系列の順に読み込む場合でも、速度算出部２１２は、読み込んだ複数のフレーム画像の中の最新のフレーム画像の画像速度を、既に読み込んだフレーム画像のみ（最新のフレーム画像と直前のフレーム画像）を用いて算出することができる。なお、この場合も、速度算出部２１２（図２）は、上述した各実施例と同様に、ｎ番フレーム画像を複数のブロックに分割するとともに各ブロック毎に動きベクトルを算出し、さらに、動きベクトルを用いてｎ番フレーム画像の画像速度を算出することができる。各ブロックの動きベクトルとしては、例えば、ブロックを、直前のフレーム画像（「ｎ−１」番フレーム画像）上に、そのブロックが表す画像がほぼぴったり重なるように重ね合わせた場合の、ブロックの相対位置（位置のずれ）の算出結果を用いることができる。
【０１１９】
変形例３：
上述の各実施例では、動画像データはノンインターレース方式のフレーム画像データで構成されていたが、本発明は、インターレース方式の動画像データにも適用することができる。この場合には、奇数番目の走査線の画像データから構成される奇数フィールドの静止画像データと、偶数番目の走査線の画像データから構成される偶数フィールドの静止画像データと、から生成される静止画像データ（１画面分の全走査線を含む画像を表す）をフレーム画像データとして用いることができる。
【０１２０】
また、動画像としては、時系列に沿って並ぶ複数の静止画像からなる擬似的な動画像を用いても良い。例えば、デジタルスチルカメラで連写することによって生成した複数の静止画像からなる静止画像群を、動画像として用いてもよい。このような擬似的な動画像を処理の対象として用いる場合には、各静止画像をフレーム画像として用いればよい。このように、本明細書において、「デジタルカメラ」とは、動画を撮影するデジタルビデオカメラと、静止画を撮影するデジタルスチルカメラとの両方を含んでいる。
【０１２１】
変形例４：
上述の各実施例では、データ処理部２１０が原動画像をデジタルカメラ１００から受け取ることとしたが、他の種々の装置から受け取ることとしてもよい。例えば、ＤＶＤ−ＲＯＭ等の光ディスクメディアや、コンピュータ２００に設けられたハードディスクや、携帯用メモリ等から受け取ることとしてもよい。
【０１２２】
変形例５：
上述の各実施例において、画像生成装置（例えば、デジタルカメラ）、または、画像出力装置（例えば、モニタ）が、データ処理部２１０の機能の一部、または、全部を実行する構成としてもよい。
【０１２３】
変形例６：
上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【図面の簡単な説明】
【０１２４】
【図１】本発明の一実施例としての画像処理システムの構成を示す説明図である。
【図２】第１実施例におけるデータ処理部２１０の内部構成を示すブロック図である。
【図３】画像処理の処理手順を示すフローチャートである。
【図４】画像速度を算出する様子を示す説明図である。
【図５】画像速度Ｓｒと目標速度Ｓｔとの一例を示すグラフである。
【図６】ステップＳ１３０で実行される編集処理の手順を示すフローチャートである。
【図７】各フレーム画像の画像速度Ｓｒの一例を示す表である。
【図８】動画像を再生したときの画像の視覚的な速さを示すグラフである。
【図９】第２実施例における編集結果データを示す説明図である。
【図１０】目標速度Ｓｔを決定するための操作表示画面３００を示す説明図である。
【図１１】候補目標速度の別の例を示すグラフである。
【図１２】第５実施例における目標速度Ｓｔを決定するための操作表示画面３００ａを示す説明図である。
【図１３】第６実施例における画像速度Ｓｒを算出する様子を示す説明図である。
【図１４】第７実施例における画像速度Ｓｒを算出する様子を示す説明図である。
【図１５】動きの種類を識別する手順を示すフローチャートである。
【図１６】並進移動であるか否かを判断する様子を示す説明図である。
【図１７】ズーム移動であるか否かを判断する様子を示す説明図である。
【図１８】回転移動であるか否かを判断する様子を示す説明図である。
【図１９】第９実施例における編集処理を示す説明図である。
【図２０】第１０実施例において画像速度を算出する様子を示す説明図である。
【符号の説明】
【０１２５】
１００...デジタルカメラ
２００...コンピュータ
２１０...データ処理部
２１２...速度算出部
２１４...フレーム編集部
２２０...ディスプレイ
２３０...マウス
２４０...キーボード
３００、３００ａ...操作表示画面
３１０、３１０ａ...ＯＫボタン
Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６...候補目標速度表示エリア
Ｐａ...目標速度表示エリア
Ｉａ...画像表示エリア
【図１】
2006005533.tif 000003
【図２】
2006005533.tif 000004
【図３】
2006005533.tif 000005
【図４】
2006005533.tif 000006
【図５】
2006005533.tif 000007
【図６】
2006005533.tif 000008
【図７】
2006005533.tif 000009
【図８】
2006005533.tif 000010
【図９】
2006005533.tif 000011
【図１０】
2006005533.tif 000012
【図１１】
2006005533.tif 000013
【図１２】
2006005533.tif 000014
【図１３】
2006005533.tif 000015
【図１４】
2006005533.tif 000016
【図１５】
2006005533.tif 000017
【図１６】
2006005533.tif 000018
【図１７】
2006005533.tif 000019
【図１８】
2006005533.tif 000020
【図１９】
2006005533.tif 000021
【図２０】
2006005533.tif 000022