以下、発明の実施形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、一実施形態に係る動画生成装置100の利用環境の一例を示す。動画生成装置100は、ユーザ190が撮像装置110を用いて撮像した静止画120、121、122、123、・・・を受け取って、スライドショー等のMPEG符号化された動画データ130を生成する。このとき、動画生成装置100は、静止画の動き等の、静止画の遷移が定義されたトランジションデータに従って静止画を加工することによって、静止画と静止画との間で再生される一駒の画像であるPピクチャ又はBピクチャを複数生成する。図1の例では、動画生成装置100は、静止画121から生成されるIピクチャ、及び表示領域144に静止画122が次第に現れてくる動画を構成する複数のPピクチャ又はBピクチャ131、132、・・・を生成する。
具体的には、動画生成装置100は、静止画122が現れる表示領域144の位置及び大きさが定義されたテンプレートデータと、静止画122の輝度の増加速度が定義されトランジションデータを取得する。そして、動画生成装置100は、表示領域144に静止画122が配置されたIピクチャ133を生成する。そして、動画生成装置100は、静止画122の輝度の増加速度に応じた、各Pピクチャ又はBピクチャの表示領域144における静止画121及び122の重み付け係数を算出する。そして、動画生成装置100は、静止画121の表示領域144内のマクロブロックのDCT係数と静止画122のマクロブロックのDCT係数とを周波数成分毎に重み付けして足し合わせることによって、各Pピクチャ又はBピクチャの表示領域144内のマクロブロックのDCT係数を算出する。このように、動画生成装置100は、各Pピクチャ又はBピクチャの画素データを算出することなく、直接的にDCT係数を算出することができる。
また、動画生成装置100は、各Pピクチャ又はBピクチャの表示領域以外に含まれるマクロブロックの画像内容が、Iピクチャの同じ位置のマクロブロックと同一であることを、テンプレートデータから判断する。そして、動画生成装置100は、各Pピクチャ又はBピクチャにおける表示領域144外のマクロブロックを、0の動きベクトルと、0の差分画像信号とによって表現する。このように、動画生成装置100は、画像内容が変化しないマクロブロックをブロックマッチングによらずにテンプレートデータから直接的に判断して、当該マクロブロックを動きベクトルと差分画像信号とによって表現する。したがって、動画生成装置100は動画を高速に生成することができる。
なお、動画生成装置100は、動画を作成するデザイナ、ユーザ190等からの指示をトランジションデータ又はテンプレートデータとして取得してよい。また、動画生成装置100は、動画生成装置100又は動画生成装置100がアクセスすることのできる記録媒体、通信回線を介して、トランジションデータ又はテンプレートデータを受け取ってもよい。なお、動画生成装置100は、DVD150等の光記録媒体に生成した動画を記録することによってユーザ190に動画を提供してよいし、インターネット等の通信回線を通じてユーザ190に動画を提供してもよい。また、動画生成装置100は、インターネット等の通信回線を通じて撮像装置110から静止画を受け取ってよいし、撮像装置110によって半導体メモリ等の記録媒体に記録された静止画を受け取ってよい。なお、動画生成装置100は、撮像画像であってもよいし、撮像画像以外の、画像加工ソフト等を利用して作成されたイメージデータであってよい。なお、動画生成装置100は、デジタルフォトショップ170に設けられた動画生成用の端末であってよいし、個人宅に設けられたパーソナルコンピュータ等の端末であってよい。
以上説明したように、本実施例の動画生成装置100によれば、静止画と同じ画像内容を持つマクロブロックのデータをトランジションデータ及びテンプレートデータから直接的に判断することができる。したがって、動画生成装置100は、本図の例における表示領域144等、画像が変化する画像領域の画像データを生成すればよい。しかも、動画生成装置100は、画像が変化する画像領域についてはDCT係数の足し合わせによって生成する。したがって、動画生成装置100は、動画構成画像の全画像領域の画素データを生成してからMPEG符号化を施す場合に比べて、高速にMPEG符号化された動画を生成することができる。
図2は、動画生成装置100のブロック構成の一実施例を示す。本実施例の動画生成装置100は、複数の静止画が移り変わるMPEG符号化された動画を生成する。動画生成装置100は、指示入力部200、画像出力部205、画像格納部210、トランジションデータ取得部212、動画生成部214、及び動画テンプレート格納部216を備える。動画生成部214は、同一部分領域特定部240、動きベクトル算出部250、画像分類部270、動画構成画像生成部280、DCT係数量子化部292、及び符号化部294を有する。動画構成画像生成部280は、Iピクチャ生成部282、Pピクチャ生成部284、及びBピクチャ生成部286を含む。
画像格納部210は複数の静止画を格納する。動画テンプレート格納部216は、動画における静止画の表示タイミング及び表示位置が定められ、複数の主要な静止画毎にそれぞれ対応する複数のシーンを含む動画テンプレートを格納する。
主要静止画選択部260は、動画テンプレート格納部216が格納している動画テンプレートが含む複数のシーンのそれぞれの主要な静止画を選択する。具体的には、主要静止画選択部260は、画像格納部210が格納する複数の静止画の中から、主要な静止画を選択する。なお、主要静止画選択部260は、より多くの画像に被写体として含まれる人物を含む静止画を、主要な静止画として優先的に選択してもよい。また、主要静止画選択部260は、より多くの画像に被写体として含まれる人物が、より大きく写っている静止画を、主要な静止画として優先的に選択してもよい。また、主要静止画選択部260はさらに、複数の静止画の中で互いに類似性の小さい画像内容である画像を、主要な静止画として優先的に選択してもよい。例えば、主要静止画選択部260は、画像が撮像された時刻又は位置の少なくとも一方に基づいて、類似性の小さい画像内容である画像を、主要な静止画として優先的に選択してもよい。例えば、主要静止画選択部260は、撮像された時刻に互いに隔たりがある画像、又は撮像された位置に互いに隔たりがある画像を、主要な静止画として優先的に選択してもよい。また、主要静止画選択部260は、ユーザ190からの指示によって主要な静止画を選択してもよい。
Iピクチャ生成部282は、主要静止画選択部260がシーン毎に選択した主要な静止画から、当該シーンに含まれるIピクチャを生成する。そして、Pピクチャ生成部284は、Iピクチャ生成部282が生成した第1のIピクチャから、第1のIピクチャと当該第1のIピクチャの次の第2のIピクチャとの間に再生されるPピクチャを生成する。そして、動画生成部214は、Iピクチャ生成部282が生成したIピクチャ及びPピクチャ生成部284が生成したPピクチャを含むMPEG符号化された動画を生成する。
例えば、ユーザ190は、変化に富んだ動画を作成するべく、画像内容の異なる画像を主要な静止画として選択したり、選択した画像について異なるレイアウト、異なるデザイン等を施したりする場合が多い。このような場合、主要な静止画が表示されるタイミングで画像内容が大きく変化する。上記のように、動画生成装置100は、シーンの切れ目毎にIピクチャを生成するとともに、シーンの切れ目の間に表示する、画像内容、デザイン等が類似する動画構成画像をPピクチャとして生成するので、高い圧縮率の動画が生成される。なお、複数の連続するPピクチャの間において画像の差分をとることによって画像を圧縮する場合、繰り返し差分がとられることによって誤差が累積する場合がある。したがって、主要な画像を用いてPピクチャを生成すると、当該主要な画像の画質が劣化してしまう場合がある。しかし、動画生成装置100によると、主要な静止画を含む動画構成画像をIピクチャとして生成するので誤差の累積による画質の劣化は無く、ユーザ190は主要な静止画をより高い画質で鑑賞することができる。
また、Bピクチャ生成部286は、Iピクチャ生成部282が生成した第1のIピクチャ及び第2のIピクチャから、第1のIピクチャと第2のIピクチャとの間に再生されるBピクチャを生成する。そして、動画生成部214は、Iピクチャ生成部282が生成したIピクチャ、Pピクチャ生成部284が生成したPピクチャ、及びBピクチャ生成部286が生成したBピクチャを含む動画を生成する。
画像分類部270は、主要静止画選択部260が選択した主要な静止画のシーン毎に、他の複数の静止画を分類する。具体的には、画像分類部270は、静止画が撮像された時刻又は場所の少なくとも一方に基づいて、他の複数の静止画を分類してよい。例えば、画像分類部270は、選択された主要な静止画が撮像された時刻により近い時刻に撮像された静止画、又は選択された主要な静止画が撮像された位置により近い位置で撮像された静止画を、他の複数の静止画の中から優先的に選択して、当該主要な静止画と同じ画像群に分類してよい。また、画像分類部270は、静止画に含まれる被写体に基づいて、他の複数の静止画を分類してよい。例えば、画像分類部270は、選択された主要な静止画に含まれる被写体との類似度が予め定められた基準値より大きい被写体が含まれる静止画を、当該主要な静止画と同じ画像群に分類してよい。
そして、Iピクチャ生成部282は、主要静止画選択部260がシーン毎に選択した主要な静止画、及び当該シーンに分類された他の静止画から、当該シーンに含まれるIピクチャを生成する。そして、Pピクチャ生成部284は、Iピクチャ生成部282が生成した第1のIピクチャ、及び当該シーンに分類された他の静止画から、第1のIピクチャと当該第1のIピクチャの次の第2のIピクチャとの間に再生されるシーンのPピクチャを生成する。また、Bピクチャ生成部286は、Iピクチャ生成部282が生成した第1のIピクチャ及び第2のIピクチャ、並びに当該シーンに分類された他の静止画から、第1のIピクチャと第2のIピクチャとの間に再生されるシーンのBピクチャを生成する。この場合、動画生成装置100は、同じ位置、時刻で撮像された静止画、又は類似度の高い被写体を含む静止画間で画像の差分をとることでPピクチャ又はBピクチャを生成することになる。したがって動画生成装置100は、効果的に圧縮された動画を生成することができる。
トランジションデータ取得部212は、動画テンプレート格納部216が格納する動画テンプレートに含まれる複数のシーンの間において、複数の静止画をどのように移り変わらせるかを示すトランジションデータを取得する。具体的には、トランジションデータ取得部212は、動画テンプレート格納部216が格納する動画テンプレートに含まれる複数のシーンの間における、オブジェクトの移動を示すトランジションデータを取得する。
そして、同一部分領域特定部240は、トランジションデータ取得部212が取得したオブジェクトの移動を示すトランジションデータに基づいて、一のPピクチャにおけるオブジェクトに全領域が含まれるマクロブロックと同一の画像内容の部分領域が、当該Pピクチャが再生される前のタイミングで再生されるIピクチャ又はPピクチャに存在するか否かを特定する。
そして、動きベクトル算出部250は、トランジションデータ取得部212が取得したオブジェクトの移動を示すトランジションデータに基づいて、同一部分領域特定部240が同一の画像内容の部分領域が存在すると判断したオブジェクトに全領域が含まれるマクロブロックと、当該マクロブロックと同一の画像内容である、Iピクチャ又はPピクチャに含まれる部分領域との間の位置の差を示す動きベクトルを算出する。そして、Pピクチャ生成部284は、同一部分領域が前のタイミングで再生されるIピクチャ又はPピクチャに同一の画像内容の部分領域が存在すると判断したオブジェクトに全領域が含まれるマクロブロックを表現する、動きベクトル算出部250が算出した動きベクトルを含むPピクチャを生成する。このため、動画生成装置100は、移動するオブジェクトに含まれるマクロブロックをトランジションデータに基づいて特定することによって、ブロックマッチングをすることなく適切な動きベクトルを算出することができる。
以上説明したように、同一部分領域特定部240は、トランジションデータ取得部212が取得したトランジションデータに基づいて、一のPピクチャに含まれる複数のマクロブロックのそれぞれと同一の画像内容の部分領域が、当該Pピクチャが再生される前のタイミングで再生されるIピクチャ生成部282が生成したIピクチャ又はPピクチャ生成部284が生成したPピクチャに存在するか否かを特定する。そして、動きベクトル算出部250は、トランジションデータ取得部212が取得したトランジションデータに基づいて、同一部分領域特定部240が同一の画像内容の部分領域が存在すると判断したマクロブロックと、当該マクロブロックと同一の画像内容である、Iピクチャ生成部282が生成したIピクチャ又はPピクチャ生成部284が生成したPピクチャに含まれる部分領域との間の位置の差を示す動きベクトルを算出する。そして、Pピクチャ生成部284は、同一部分領域特定部240が前のタイミングで再生されるIピクチャ又はPピクチャに同一の画像内容の部分領域が存在すると判断したマクロブロックを表現する、動きベクトル算出部250が算出した動きベクトルを含むPピクチャを生成する。
また、同一部分領域特定部240は、トランジションデータ取得部212が取得したトランジションデータに基づいて、一のBピクチャに含まれる複数のマクロブロックのそれぞれと同一の画像内容の部分領域が、当該Bピクチャが再生される前又は後のタイミングで再生されるIピクチャ生成部282が生成したIピクチャ又はPピクチャ生成部284が生成したPピクチャに存在するか否かを特定する。そして、動きベクトル算出部250は、トランジションデータ取得部212が取得したトランジションデータに基づいて、同一部分領域特定部240が同一の画像内容の部分領域が存在すると判断したマクロブロックと、当該マクロブロックと同一の画像内容である、Iピクチャ生成部282が生成したIピクチャ又はPピクチャ生成部284が生成したPピクチャに含まれる部分領域との間の位置の差を示す動きベクトルを算出する。そして、Bピクチャ生成部286は、同一部分領域が前又は後のタイミングで再生されるIピクチャ又はPピクチャに同一の画像内容の部分領域が存在すると判断したマクロブロックを表現する、動きベクトル算出部250が算出した動きベクトルを含むBピクチャを生成する。
なお、Iピクチャ生成部282は、主要静止画選択部260が選択した第1の主要な静止画から第1のIピクチャを生成し、主要静止画選択部260が選択した第2の主要な静止画から、第1のIピクチャの次に再生されるIピクチャである第2のIピクチャを生成する。Pピクチャ生成部284は、第1のIピクチャにおける静止画の表示位置を含むマクロブロックのDCT係数と、第2のIピクチャにおける静止画の表示位置を含むマクロブロックのDCT係数とを重み付けして周波数成分毎に平均化することによって、第1のIピクチャと第2のIピクチャとの間に再生されるPピクチャにおける静止画の表示位置を含むマクロブロックのDCT係数を生成してよい。また、Bピクチャ生成部286は、第1のIピクチャにおける静止画の表示位置を含むマクロブロックのDCT係数と、第2のIピクチャにおける静止画の表示位置を含むマクロブロックのDCT係数とを重み付けして周波数成分毎に平均化することによって、第1のIピクチャと第2のIピクチャとの間に再生されるBピクチャにおける静止画の表示位置を含むマクロブロックのDCT係数を生成してよい。このため、動画生成装置100は、画像内容が変化する領域のマクロブロックのDCT係数を、Iピクチャの生成時に生成されたDCT係数の平均化によって算出することができる。したがって、画素データを生成してからMPEG符号化を施す場合に比べて高速に動画を生成することができる。
また、DCT係数量子化部292は、動画構成画像生成部280が生成したIピクチャ、Pピクチャ、及びBピクチャに含まれるDCT係数に量子化を施すことによって、データ量が圧縮されたIピクチャ、Pピクチャ、及びBピクチャを生成する。符号化部294は、DCT係数量子化部292が生成したIピクチャ、Pピクチャ、及びBピクチャを含む動画に対して符号化を施すことによって、データ量が圧縮された動画を生成する。具体的には、符号化部294は、Iピクチャ、Pピクチャ、及びBピクチャを含む動画に対してランレングス符号化及びハフマン符号化を施してよい。画像出力部205は、符号化部294が生成した動画を、動画生成装置100の外部に出力する。例えば、画像出力部205は、DVD150等の記録媒体に動画を出力する。
以上説明したように、本実施例における動画生成装置100は、シーンの切れ目毎にIピクチャを生成するので動画を効率的に生成することができる。また、動画生成装置100は、ブロックマッチングによらずに、テンプレートに基づいて動きベクトルを算出するので、動画を高速に生成することができる。なお、本実施形態における静止画とは、アニメーションを構成する画像であってよく、アニメーションに含まれるオブジェクトの画像等の、アニメーションを構成する一枚の画像における部分画像であってよい。そして、動画生成装置100は、それらの複数の静止画からアニメーションを生成してよい。この場合でも、動画生成装置100はアニメーションを構成する画像の画素データを生成してからMPEG符号化を施す場合に比べてアニメーションを高速に生成することができるのは言うまでもない。
図3は、動画生成装置100が生成する動画の一例を示す。動画テンプレート格納部216は、各ピクチャにおける静止画を配置する画像枠(例えば、画像枠371、372、373)の位置及び大きさが定められた動画テンプレートを格納する。本図の例では、動画テンプレート格納部216は、1シーンにおいて、画像枠371に主要な静止画を配置する旨が定義された動画テンプレートを格納する。そして、動画テンプレート格納部216は、同じシーンにおいて、当該画像枠371の左下方の一部を上書きする形で画像枠372に他の静止画を配置し、さらにその後、当該画像枠371の右上方の一部を上書きする形で画像枠373に他の静止画を配置する旨が定義されている。
なお、静止画を配置する画像枠371、372、373等は、指示入力部200を介してユーザ190により選択された、1シーンに適用する動画テンプレートによって指定される。また、当該画像枠371内に表示する主要な静止画300及び静止画301も、指示入力部200を介してユーザ190により選択される。このとき、画像分類部270は、画像格納部210が格納する画像の中から、主要な静止画として選択された静止画と同じシーンで生成する静止画を選択する。
例えば、画像分類部270は、主要な静止画が撮像された時刻と予め定められた時間範囲の基準値より短い時間範囲内で撮像された画像を、同じシーンで生成する静止画として選択してよい。他にも、画像分類部270は、主要な静止画が撮像された位置と予め定められた距離範囲の基準値より短い距離範囲内で撮像された画像を、同じシーンで生成する静止画として選択してよい。他にも、画像分類部270は、類似する被写体を含む静止画を、同じシーンで生成する静止画として選択してもよい。
そして、Iピクチャ生成部282は、主要な静止画300及び301を画像枠371に配置して、それぞれIピクチャ310及び320を生成する。また、Pピクチャ生成部284は、静止画342を画像枠373に配置して、Pピクチャ315を生成する。また、Bピクチャ生成部286は、静止画341を画像枠372に配置して、Bピクチャ313を生成する。
このとき、同一部分領域特定部240は、選択された動画テンプレートにおける画像枠371、372、373の位置及び大きさに基づいて、Pピクチャ315における画像枠371内のマクロブロックであって、画像枠372及び373を含まないマクロブロック(例えば、マクロブロック385)の画像内容は、Iピクチャ310における同じ位置の部分領域(例えば、部分領域380)の画像内容と同一であることを特定する。この結果、Pピクチャ生成部284は、当該マクロブロックの画像内容を、Iピクチャ310に対する0の動きベクトルと、0の差分画像信号とによって表現する。
同様に、また、Bピクチャ生成部286は、Bピクチャ313における画像枠371内のマクロブロックであって、画像枠372を含まないマクロブロックの画像内容を、Iピクチャ310に対する0の動きベクトルと、0の差分画像信号とによって表現する。また、Bピクチャ生成部286は、画像領域372に含まれるマクロブロックの画像内容を、後に再生されるPピクチャ315に対する0の動きベクトルと、0の差分画像信号によって表現することもできる。
以上説明したように、動画生成装置100は、複数のシーンを定義する動画テンプレートに基づいて、動きベクトルを及び差分画像信号を算出することができる。したがって、動画生成装置100は、各Pピクチャ又はBピクチャの全画素データを一旦生成してからMPEG符号化を行う場合に比べて動画の生成時間を削減することができる。
図4は、DCT係数の足し合わせによって静止画が移り変わる動画を生成する生成方法の一例を示す。本図の例では、動画生成部214は、図3において説明した静止画300が表示された状態から、一部の表示領域451に図3で説明した静止画301が表れてくる動画を生成する。本図の例においては、動画生成装置100は、静止画300及び静止画301について算出されたDCT係数を表示領域451の画像領域において足し合わせることによってPピクチャ及びBピクチャを生成する。
なお、本図の例では、動画において画像上を移動する含む太陽を示すオブジェクトを含んでいるが、移動するオブジェクトを含むマクロブロックの画像内容を生成する方法については図5に関連して説明する。
Iピクチャ生成部282は、Iピクチャ410及び420を生成する場合に、それぞれのIピクチャに含まれる各マクロブロックの画像についてDCT変換を施すことによって、DCT係数を算出する。例えば、Iピクチャ生成部282は、Iピクチャ410における縦横それぞれ16画素のマクロブロック460における、縦横それぞれ8画素を有する4つのブロックの輝度信号について、ブロック毎にDCT係数を算出する。また、Iピクチャ生成部282は、マクロブロック460において、Cr及びCbの色差信号のそれぞれについて、縦横それぞれ8画素分のブロックとしてDCT係数を算出する。同様に、Iピクチャ420の生成過程において、表示領域451に含まれるマクロブロックについても、4つのブロックの輝度信号、並びにCr及びCbの色差信号を示すそれぞれのブロックについてDCT係数がそれぞれ算出される。
そして、Pピクチャ413の表示領域451に含まれるマクロブロック465のDCT係数を算出する場合について具体的に説明すると、マクロブロック460のDCT係数及びマクロブロック470のDCT係数を周波数成分毎に加重平均することによって、マクロブロック465の輝度信号並びに色差信号Cr及びCbのDCT係数を算出する。なお、輝度信号の各ブロックにおけるDCT係数の平均化は、同じ位置を示すブロックにおけるDCT係数の平均化であることは言うまでもない。また、言うまでもなく、Cr信号及びCb信号についても、同じ位置を示すマクロブロックの間でDCT係数を平均化する。本図の例では、マクロブロック460の輝度信号における1つのブロックのDC成分I401と、マクロブロック470の輝度信号における1つのブロックのDC成分I402と、それぞれに対する重み付け係数α及びβを用いて、マクロブロック465の輝度信号における1つのブロックのDC成分(α×I401+β×I402)を算出する例が図示されている。
なお、重み付け係数α及びβの決定においては、動画生成部214は、連続するIピクチャ間のピクチャ数nがより大きいほど、連続するピクチャに間における重み付け係数の変化量をより小さく設定してよい。例えば、Pピクチャ生成部284及びBピクチャ生成部286は、静止画300に対する重み付け係数を、直前のピクチャにおける当該重み付け係数に対して1/(n+1)ずつ減少させる。また、Pピクチャ生成部284及びBピクチャ生成部286は、静止画301に対する重み付け係数を、直前のピクチャにおける当該重み付け係数に対して1/(n+1)ずつ増加させる。これにより、動画生成装置100は、表示領域451において静止画300の画像内容が徐々に消えてゆき、静止画301の画像内容が徐々に現れてくる動画を、画素データを生成することなく生成することができる。
以上説明したように動画生成装置100は、表示領域470のマクロブロックの画像内容のDCT係数を、Iピクチャの生成時に算出されたDCT係数の平均化によって直接的に算出することができる。したがって、各Pピクチャ又はBピクチャの画素データを一旦生成してからMPEG符号化を施す場合に比べて、MPEG符号化された動画をより高速に生成することができる。
図5は、オブジェクトの移動を含む動画の生成例を示す。本図の例では、動画生成装置100は、静止画500を背景とした太陽を示すオブジェクトの移動を含む動画データを生成する。トランジションデータ取得部212は、連続して再生されるピクチャ間における、太陽を示すオブジェクトの座標の差(ベクトルΔTV501、502、503、504)をトランジションデータとして取得する。また、トランジションデータにはオブジェクトの初期位置も含まれており、動画生成部214は静止画500のトランジションデータで示されるオブジェクトの初期位置にオブジェクトの画像を重ねて、Iピクチャ531を生成する。
動画生成部214がPピクチャ及びBピクチャを生成する動作の一例を、Pピクチャ534を生成する場合の動作を例に挙げて説明すると、同一部分領域特定部240は、トランジションデータで示される各ベクトルΔTVを、Iピクチャ531から順に加算していくことによって、当該Iピクチャ531との間のオブジェクトの位置の差を示すオブジェクト移動ベクトルV514を算出する。本図の例では、オブジェクト移動ベクトルTV514は、ΔTV501+ΔTV502+ΔTV503で表現することができる。他にも、トランジションデータ取得部212は、オブジェクトの速度の時間依存データを取得してもよく、Iピクチャからの時間的な積分によってオブジェクトが移動したオブジェクト移動ベクトルを算出してもよい。
また、Pピクチャ534におけるオブジェクトの位置、オブジェクトの輪郭情報、及びマクロブロックの位置とから、オブジェクトの輪郭を含むマクロブロック(例えば、マクロブロック571、572、573、及び574)を特定することができる。そして、同一部分領域特定部240は、例えばPピクチャ534におけるオブジェクトと背景の境界部分の近傍の領域580において、オブジェクトに全領域が含まれるマクロブロック561、562、及び563は、それぞれオブジェクト移動ベクトルTV514の逆向きにずらした位置のIピクチャ531における部分領域551、552、553と同一の画像内容となると判断する。
また、領域580において、動画生成部214は、Pピクチャ534におけるオブジェクトの位置、オブジェクトの輪郭情報、及びマクロブロックの位置とから、オブジェクトの輪郭を含むマクロブロック571、572、573、及び574を特定する。そして、動画生成部214は、このオブジェクトの輪郭を含むマクロブロック571、572、573、及び574の、オブジェクトより外側の周囲に存在するマクロブロック(例えば、マクロブロック581)は、全領域が背景に含まれると判断する。このような、全領域が背景に含まれるマクロブロックの画像内容は、Iピクチャ531における当該マクロブロックの範囲内にオブジェクトが含まれない限り、そのマクロブロックの範囲のIピクチャ531の画像内容(背景の画像)と同一となる。したがって、全領域が背景に含まれるマクロブロックの画像内容は、0の動きベクトルと、0の差分画像信号によって表現することができる。
また、動画生成部214は、オブジェクトの輪郭を含むマクロブロック(例えば、マクロブロック572)を、背景画像とオブジェクトの画像とを合成することによって生成してよい。例えば、動画生成部214は、マクロブロック572におけるオブジェクトを含む領域591のオブジェクトの画像(例えば、Iピクチャ531における画像541の部分)と、Iピクチャ531におけるマクロブロック572で示される範囲の画像内容のうちの、オブジェクトの領域591以外の領域542の画像とを合成することによって、マクロブロック572の画像を生成することができる。
また、動画生成部214は、マクロブロック572の画像内容を、差分画像及び動きベクトルを用いて表現してもよい。例えば、動画生成部214は、オブジェクトの領域591の面積を算出して、マクロブロックの面積に対する領域591の面積の比が予め定められた値(例えば、0.5)より大きい場合に、動画構成画像531(Iピクチャ)の部分領域554との差分画像信号を生成し、生成した差分画像信号と、当該マクロブロックとの間のオブジェクト移動ベクトルによって、マクロブロック572の画像内容を表現してよい。また、動画生成部214は、マクロブロックの面積に対する領域591の面積の比が予め定められた値以下(例えば、0.5以下)である場合には、マクロブロック572の位置における動画構成画像531(Iピクチャ)の部分領域555との差分画像信号を生成し、生成した差分画像信号と0の動きベクトルとによってマクロブロック572の画像内容を表現してよい。このように、動画生成装置100は、ブロックマッチングを行うことなく、トランジションデータに基づいて容易に類似する部分領域を特定することができる。
なお、動画生成部214は、境界線を含むマクロブロック572の画像内容を、上記のように画像の合成から生成する方法の他に、境界線の近傍のDCT係数の周波数成分毎の平均化によって生成することもできる。例えば、動画生成部214は、マクロブロック554及び555の各ブロックについて計算されたDCT係数を、周波数成分毎に加重平均することによって、マクロブロックの、輝度信号、並びに色差信号Cr及びCbのDCT係数を算出してよい。なお、マクロブロックにおけるDCT係数の平均化は、図4に関連して説明した平均化処理と同様の処理によって得ることができるので説明を省略する。
このように、動画生成装置100は、境界部を含むマクロブロックの画像内容のDCT係数を、予め計算されたDCT係数の平均化によって直接的に算出することができる。したがって、動画生成装置100は、画素データからDCT変換を施す場合に比べて、境界部を含むマクロブロックの画像内容のDCT係数をより高速に生成することができる。なお、このようなDCT係数の平均化によって得られる画像は、背景とオブジェクトとが重ね合わされた画像となるので、例えば背景画像をオブジェクトが移動する画像において、オブジェクトと背景の境界部分が正確に表現された画像にはならない。しかし、動画の閲覧者の目には、移動するオブジェクトの周囲に背景の画像とオブジェクトの画像とが残像として残るので、動くオブジェクトはぼやけて見える。このため、オブジェクトの輪郭を含むマクロブロックの画像が、背景とオブジェクトとが重畳された画像となっても、閲覧者は違和感を感じることなく動画を閲覧することができる。
以上説明したように、動画生成装置100は、トランジションデータで示されるオブジェクトの移動情報の加算によって、同一の画像内容である画像を容易に特定することができる。このため、一旦動画構成画像の画素データを生成する場合に比べて、MPEG圧縮された動画をより迅速に生成することができる。特に、動画生成装置100によると、動きベクトルを算出するためのブロックマッチング等に相当する処理を、オブジェクトの移動情報の加算によって実現することができるので、動きベクトルをより高速に算出することができる。なお、トランジションデータで示されるオブジェクトの移動は、基準となる動画構成画像(例えば、Iピクチャ又はPピクチャ)におけるオブジェクトの位置と他のBピクチャ、Pピクチャにおけるオブジェクトの位置の差が、1/2画素を最小単位とする値となることが望ましい。この場合、オブジェクトに全画像領域が含まれるマクロブロックについては、動きベクトルがオブジェクト移動ベクトルと同一であり、かつ、0の差分画像信号で表現することができるので、動画をより高い圧縮率で圧縮することができるとともに、動画をより高速に生成することができる。
図6は、動画生成装置100の他の実施形態におけるブロック構成の一例を示す。動画生成装置100は、画像格納部610、トランジションデータ取得部612、動画生成部614、及び画像出力部605を備える。動画生成部614は、動画構成画像生成部680、ピクチャ種別決定部660、DCT係数量子化部692、及び符号化部694を有する。動画構成画像生成部680は、Iピクチャ生成部682、Pピクチャ生成部684、及びBピクチャ生成部686を含む。本実施形態の動画生成装置100は、複数の静止画が移り変わるMPEG符号化された動画を生成する。本実施形態の動画生成装置100は特に、トランジションデータに基づいてIピクチャ又はPピクチャの挿入タイミングを決定する。なお、動画生成装置100の利用環境は、図1で説明した利用環境と同様であるので説明を省略する。また、DCT係数量子化部692及び符号化部694の機能及び動作は、それぞれ、図1から図5に関連して説明したDCT係数量子化部292及び符号化部294の機能及び動作と略同一であるので説明を省略する。
画像格納部210は複数の静止画を格納する。トランジションデータ取得部612は、複数の静止画をどのように移り変わらせるかを示すトランジションデータを取得する。そして、動画生成部614は、トランジションデータ取得部612が取得したトランジションデータに基づいて、画像格納部210が格納している複数の静止画から複数の動画構成画像を生成して、生成した複数の動画構成画像を含むMPEG符号化された動画を生成する。そして、画像出力部605は、動画生成部614が生成した動画を、動画生成装置100の外部に出力する。例えば、画像出力部205は、DVD150等の記録媒体に動画を出力する。
ピクチャ種別決定部660は、トランジションデータ取得部612が取得したトランジションデータに基づいて、生成する動画に含まれる複数の動画構成画像の種類を決定する。そして、動画構成画像生成部680は、トランジションデータ取得部612が取得したトランジションデータに基づいて、画像格納部610が格納している複数の画像からピクチャ種別決定部660が決定した種類の動画構成画像を生成する。
具体的には、ピクチャ種別決定部660は、トランジションデータ取得部612が取得したトランジションデータに基づいて、生成する動画に含まれる複数の動画構成画像のうちのいずれの動画構成画像をIピクチャとするかを決定する。そして、Iピクチャ生成部682は、ピクチャ種別決定部660がIピクチャとする旨を決定した動画構成画像を、トランジションデータ取得部612が取得したトランジションデータに基づいて、静止画からIピクチャとして生成する。そして、Pピクチャ生成部684は、トランジションデータ取得部612が取得したトランジションデータ及びIピクチャ生成部682が生成したIピクチャに基づいて、当該Iピクチャの後に再生されるPピクチャを静止画から生成する。また、Bピクチャ生成部686は、トランジションデータ取得部612が取得したトランジションデータ、並びにIピクチャ生成部682が生成したIピクチャ又はPピクチャ生成部684が生成したPピクチャに基づいて、Iピクチャ又はPピクチャの間に再生されるBピクチャを静止画から生成する。このように、ピクチャ種別決定部660は、トランジションデータ取得部612が取得したトランジションデータに基づいてピクチャ種別を決定するので、動画を構成する動画構成画像の画像データを生成してから各ピクチャを生成する場合に比べて、効率的に動画を生成することができる。
より具体的には、ピクチャ種別決定部660は、トランジションデータ取得部612が取得したトランジションデータに基づいて、Iピクチャ生成部682が生成したIピクチャと、当該Iピクチャの後に再生される動画構成画像との間において変化する領域の面積を算出して、算出した面積が予め定められた面積より大きい動画構成画像を、当該Iピクチャの次のIピクチャとする旨を決定する。このようにして、ピクチャ種別決定部660は、例えば動画におけるシーンの変わり目の動画構成画像をIピクチャとする旨を決定する。したがって、動画生成装置100は、前に再生される動画構成画像と画像内容が大きく変化する動画構成画像との間においては、画像のマッチングをすることなく、その動画構成画像をIピクチャとする旨を迅速に決定することができる。
例えば、トランジションデータ取得部612は、静止画又は他の動画構成画像を背景として移動するオブジェクトの移動を示すトランジションデータを取得する。この場合、ピクチャ種別決定部660は、トランジションデータ取得部612が取得したトランジションデータに基づいて、Iピクチャ生成部682が生成したIピクチャと、当該Iピクチャの後に再生される動画構成画像との間において、移動するオブジェクト以外の画像領域において変化する領域の面積を算出して、算出した変化する領域の面積が予め定められた面積より大きい動画構成画像を、当該Iピクチャの次のIピクチャとする旨を決定する。先の実施形態において説明したように、移動するオブジェクトを全域に含むマクロブロックは、移動ベクトル及び0の差分画像信号で表現することができる。ピクチャ種別決定部660は、そのような領域を変化する面積に組み入れないことによって、Iピクチャとするか否かをより的確に決定することができる。
ピクチャ種別決定部660は、トランジションデータ取得部612が取得したトランジションデータに基づいて、移動する同一のオブジェクトを含む連続して再生される複数の動画構成画像のうち、移動するオブジェクトを最も大きく含む動画構成画像を特定し、特定した動画構成画像をIピクチャとする旨を決定する。移動するオブジェクトを大きく含む動画構成画像をIピクチャとすることによって、その後(又は後)に再生される、当該オブジェクトを含む動画構成画像を生成する場合に、当該Iピクチャを参照する移動ベクトル及び0の差分画像信号で表現することができる領域の面積を高めることができる。
なお、ピクチャ種別決定部660は、トランジションデータ取得部612が取得したトランジションデータに基づいて、Iピクチャ生成部682が生成したIピクチャ又はPピクチャ生成部684が生成したPピクチャと、当該Iピクチャ又はPピクチャの後に再生される動画構成画像との間において変化する領域の面積を算出して、算出した面積が予め定められた面積より大きい動画構成画像を、当該Iピクチャ又はPピクチャの次のIピクチャ又はPピクチャとする旨を決定する。そして、Pピクチャ生成部684は、ピクチャ種別決定部660がPピクチャとする旨を決定した動画構成画像を、トランジションデータ取得部612が取得したトランジションデータに基づいて、静止画からPピクチャとして生成する。このため、動画生成装置100は、前に再生される動画構成画像と画像内容が大きく変化する動画構成画像との間で画像のマッチングをすることなく、Bピクチャが参照するIピクチャ又はPピクチャを挿入するタイミングを迅速に決定することができる。
トランジションデータ取得部612は、静止画又は他の動画構成画像を背景として移動するオブジェクトの移動を示すトランジションデータを取得した場合には、ピクチャ種別決定部660は、トランジションデータ取得部612が取得したトランジションデータに基づいて、Iピクチャ生成部682が生成したIピクチャ又はPピクチャ生成部684が生成したPピクチャと、当該Iピクチャ又はPピクチャの後に再生される動画構成画像との間において、移動するオブジェクト以外の画像領域において変化する領域の面積を算出する。そして、ピクチャ種別決定部660は、算出した面積が予め定められた面積より大きい動画構成画像を、当該Iピクチャ又はPピクチャの次のIピクチャ又はPピクチャとする旨を決定する。
また、ピクチャ種別決定部660は、トランジションデータ取得部612が取得したトランジションデータに基づいて、移動する同一のオブジェクトを含む連続して再生される複数の動画構成画像のうち、移動するオブジェクトを最も大きく含む動画構成画像を特定し、特定した動画構成画像をIピクチャ又はPピクチャとする旨を決定する。このように、動画生成装置100は、Bピクチャが参照するIピクチャ又はPピクチャの挿入タイミングを迅速に決定することができる。
また、ピクチャ種別決定部660は、トランジションデータ取得部612が取得したトランジションデータに基づいて、Iピクチャ生成部682が生成した第1のIピクチャ又はPピクチャ生成部684が生成した第1のPピクチャにおける移動するオブジェクトの領域の背景を含む、第1のIピクチャ又は第1のPピクチャの後に再生される動画構成画像を特定し、特定した動画構成画像を、当該第1のIピクチャ又は第1のPピクチャの次の第2のIピクチャ又は第2のPピクチャとする旨を決定する。そして、Bピクチャ生成部686は、トランジションデータ取得部612が取得したトランジションデータに基づいて、第1のIピクチャ又は第1のPピクチャと第2のIピクチャ又は第2のPピクチャとの間に再生されるBピクチャを生成する。このため、Bピクチャ生成部686は、オブジェクトを含む画像領域については第1のIピクチャ又は第1のPピクチャを参照し、オブジェクトの背景となる画像領域については第2のIピクチャ又は第2のPピクチャを参照すればよいので、その間の動画構成画像をBピクチャとして生成することによって、データの圧縮率を高めることができる。
図7は、画像の入れ替わりを示すトランジションデータから基づいてピクチャ種別決定部によって決定されたピクチャ種別の一例を示す。トランジションデータ取得部612は、一の画像701(IMG701)を表示領域の全域に表示し始めてから所定の時間t700経過した後に、画像701とは異なる一の画像702(IMG702)を表示領域の全域に表示する旨を示すトランジションデータを取得する。時間t700は、例えば動画構成者によって指定されてよいし、動画のテンプレートとして当該時間が予め定められていてもよい。そしてピクチャ種別決定部660は、予め定められた動画のフレームレート及び時刻t700から動画構成画像711〜720の枚数を決定して、それぞれのピクチャの種別を決定する。
この場合、ピクチャ種別決定部660は、取得したトランジションデータから、動画構成画像721において、Iピクチャである動画構成画像711からの変化した面積が最大となると判断し、動画構成画像721をIピクチャとする旨を決定する。このとき、ピクチャ種別決定部660は、動画構成画像721が表示されるタイミングで表示領域の全域に表示する画像が変わるというトランジションデータに基づいて、そのタイミングで表示領域の全域が変化する旨を判断しており、画像701と画像702の画像内容を比較することによって変化している領域の面積を算出しているわけではない。したがって、ピクチャ種別決定部660は、画像内容をマッチング等によって比較する場合に比べて迅速にそのIピクチャを挿入するタイミングを決定することができる。
そして、ピクチャ種別決定部660は、そのIピクチャである動画構成画像711と動画構成画像721との間の動画構成画像を、Pピクチャ又はBピクチャとする旨を決定する。なお、ピクチャ種別決定部660は、当該Iピクチャの間の動画構成画像712〜720の全てをPピクチャとする旨を決定してよいし、連続してBピクチャを2つ挿入する毎にPピクチャを1つ挿入する等、任意のタイミングでPピクチャ又はBピクチャを挿入する旨を決定してよい。なお、本図の例では、動画構成画像712〜720の間では表示内容が変化しないので、それらがBピクチャ及びPピクチャのいずれの種類で生成される場合であっても、それらはIピクチャである動画構成画像711を参照して0の移動ベクトル及び0の差分画像信号で表現され得る。
なお、ピクチャ種別決定部660は、Iピクチャとして生成される動画構成画像721の直前の動画構成画像720をPピクチャとする旨を決定してもよい。この場合、動画生成装置100が動画を生成した後で、Iピクチャである動画構成画像721から次のIピクチャの直前の動画構成画像までの動画の一部をカットする場合には、その一連の動画構成画像を動画から除くことによって編集することができ、再度エンコードする必要がない。
図8は、オブジェクトが移動するトランジションデータからピクチャ種別決定部が決定するピクチャ種別の一例を示す。トランジションデータ取得部612は、一の画像801(IMG801)を表示領域の全域に表示した後に、一の画像802(IMG802)が画像801を背景として移動する旨を示すトランジションデータを取得する。そして、トランジションデータ取得部612は、図5に関連して説明したような、トランジションデータを取得する。なお、このようなトランジションデータは、例えば動画構成者によって指定された画像の移動速度に基づいてトランジションデータ取得部612が取得してよいし、動画のテンプレートとして画像の移動速度が予め定められていてもよい。そしてピクチャ種別決定部660は、予め定められた動画のフレームレート及び移動速度から動画構成画像811〜823における画像802の位置を決定して、決定した画像802の位置に基づいてそれぞれのピクチャの種別を決定する。
この場合、ピクチャ種別決定部660は、一連の動画構成画像812〜823のうち、Iピクチャである動画構成画像811に対して変化する領域の面積が最大となる動画構成画像820〜823を特定する。或いはピクチャ種別決定部660は、移動する画像802の面積の大きさを判断基準として、移動する画像802を最も大きく含む動画構成画像820〜823を特定してもよい。そして、ピクチャ種別決定部660は、特定した動画構成画像820〜823の中で最も早いタイミングで表示される動画構成画像820をIピクチャとする旨を決定してよい。そして、ピクチャ種別決定部660は、その後に表示される動画構成画像821〜823のうち、動画構成画像820に含まれる画像802の背景領域の画像を含む動画構成画像823を特定して、動画構成画像823を、Iピクチャである動画構成画像820の次のPピクチャとして決定する。そして、ピクチャ種別決定部660は、その間に表示される動画構成画像821及び822をBピクチャとする旨を決定する。これにより、動画構成画像821及び822は、Iピクチャである動画構成画像820及びPピクチャである動画構成画像823を参照して、移動ベクトル及び0の差分画像信号で表現され得る。ただし、画像802と画像801との境界を含むマクロブロックが存在する場合には、そのマクロブロックを移動ベクトル及び0の差分画像信号で表現することはできないが、大半の画像領域において移動ベクトル及び0の差分画像信号で表現され得る。
図9は、画像の入れ替わりを示すトランジションデータからピクチャ種別決定部が決定したピクチャ種別の一例を示す。トランジションデータ取得部612は、一の画像901(IMG901)を表示領域の全域に表示した後に、一の画像902(IMG902)が表示領域の右方から現れる旨を示すトランジションデータを取得する。なお、この画像の入れ替わりが、画像902が表示領域の右方から901を背景として移動によって入れ替わる場合には、図8のトランジションデータと同様に、トランジションデータ取得部612は、画像901を背景とする画像902の移動を示すトランジションデータを取得することができる。
他にも、トランジションデータ取得部612は、画像901が表示領域の左方向に移動しつつ、画像902が表示領域の右方向から移動しながら現れる入れ替わりパターン、画像901及び画像902が表示領域に対する位置が時間的に固定されていて、表示領域に表示される画像902の領域の面積が増加していく入れ替わりパターン等、様々な入れ替わりパターンを示すトランジションデータを取得してよい。なお、トランジションデータ取得部612は、動画作成者が様々な入れ替わりパターンの中から一の入れ替わりパターンを指定することによって、その入れ替わりパターンを示すトランジションデータを取得してよい。
上記で説明した入れ替わりパターンのように、全表示領域で表示される画像が入れ替わる場合は、ピクチャ種別決定部660は、Iピクチャである動画構成画像911に対して、変化する領域の面積が最大となる動画構成画像920をIピクチャとして決定してよい。このとき、動画構成画像912〜919は、Iピクチャである動画構成画像911及び920を参照して、移動ベクトル及び0の差分画像信号によって表現され得る(ただし、前述のように、画像901と画像902との境界を含むマクロブロックが存在する場合には、そのマクロブロックを移動ベクトル及び0の差分画像信号で表現することはできないが、大半の画像領域において移動ベクトル及び0の差分画像信号で表現され得る。)また、入れ替わりパターンによっては、0の移動ベクトルで表現されるマクロブロックが存在するが、そのマクロブロックはトランジションデータから直接的に特定することができる。
図10は、画像の入れ替わりを示す他のトランジションデータからピクチャ種別決定部が決定するピクチャ種別の一例を示す。トランジションデータ取得部612は、一の画像1001(IMG1001)を表示領域の全域に表示した後に、画像が徐々にフェードアウトしていき、画像が一旦完全に消えた後に(例えば、全域が真っ白なフレーム画像を一旦表示した後に)、画像1002(IMG1002)が徐々にフェードインしてくる旨を示すトランジションデータを取得する。例えば、トランジションデータ取得部612は、画像1001のフェードアウトの速さ、及び画像1002のフェードインの速さを示すトランジションデータを取得する。そして、ピクチャ種別決定部660は、予め定められた動画のフレームレート並びにフェードイン及びフェードアウトの速さに基づいて、生成される動画構成画像1012〜1031のピクチャの種別を決定する。
本図の例では、動画構成画像1012〜1031にわたって、全ての画像領域が変化する。この場合、ピクチャ種別決定部660は、トランジションデータによって示される画像の変化量に基づいてピクチャ種別を決定する。例えば、画像1001がフェードアウトしていく様子を示す動画構成画像は、画像1001と他の重ね合わせ画像(例えば、輝度値が全画像領域において一定の画像)とを所定の強度で重ね合わせることによって生成され得る。例えば、ピクチャ種別決定部660は、トランジションデータが示すフェードアウトの速度に基づいて、動画構成画像1012は画像1001と重ね合わせ画像とを9:1の強度の割合で重ね合わせることによって生成され、動画構成画像1012は画像1001と重ね合わせ画像とを8:2の強度の割合で重ね合わせることによって生成される旨を決定する。この場合、ピクチャ種別決定部660は、重ね合わせ画像の強度の割合を、画像の変化量の指標としてよい。そして、ピクチャ種別決定部660は、画像1011との重ね合わせ比率が0:10となる動画構成画像1021を、Iピクチャとする旨を決定する。
なお、ピクチャ種別決定部660は、前のIピクチャ又はPピクチャから予め定められた変化量以上変化した動画構成画像を、Pピクチャ又はIピクチャとして決定してもよい。これにより、決定したPピクチャ又はIピクチャが示す画像と、その後の動画構成画像が示す画像との間の差分画像信号の強度を低減させることができるので、画像の圧縮率を高めることができる。
なお、画像1002のフェードインしていく様子を示す動画構成画像は、重ね合わせ画像と画像1002とを所定の強度で重ね合わせることによって生成され得るので、画像1002の強度の割合を指標とする画像の変化量が所定量変化した動画構成画像(例えば、動画構成画像1031)を、Iピクチャ又はPピクチャとする旨を決定することができる。
以上、図7から図10に関連して、画像の移り変わりにおけるピクチャ種別の決定方法を、いくつか具体例を挙げて説明した。上記で説明したように、ピクチャ種別決定部660は、実際に使用される画像の画像内容を考慮することなく、トランジションデータによってピクチャ種別を決定する。したがって、動画生成装置100は、より高い圧縮率の動画をより迅速に生成することができるIピクチャ及びPピクチャの挿入タイミングを決定することができる。なお、動画生成装置100は、図1から図5に関連して説明した動画生成装置100の機能及び構成と、図6から図10に関連して説明した動画生成装置100の機能及び構成とを組み合わせた機能及び構成を有してよい。
図11は、動画生成装置100のハードウェア構成の一例を示す。動画生成装置100は、ホスト・コントローラ1582により相互に接続されるCPU1505、RAM1520、グラフィック・コントローラ1575、及び表示装置1580を有するCPU周辺部と、入出力コントローラ1584によりホスト・コントローラ1582に接続される通信インターフェイス1530、ハードディスクドライブ1540、及びCD−ROMドライブ1560を有する入出力部と、入出力コントローラ1584に接続されるROM1510、フレキシブルディスク・ドライブ1550、及び入出力チップ1570を有するレガシー入出力部とを備える。
ホスト・コントローラ1582は、RAM1520と、高い転送レートでRAM1520をアクセスするCPU1505、及びグラフィック・コントローラ1575とを接続する。CPU1505は、ROM1510、及びRAM1520に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ1575は、CPU1505等がRAM1520内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置1580上に表示させる。これに代えて、グラフィック・コントローラ1575は、CPU1505等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ1584は、ホスト・コントローラ1582と、比較的高速な入出力装置であるハードディスクドライブ1540、通信インターフェイス1530、CD−ROMドライブ1560を接続する。ハードディスクドライブ1540は、CPU1505が使用するプログラム、及びデータを格納する。通信インターフェイス1530は、ネットワーク通信装置1598に接続してプログラムまたはデータを送受信する。CD−ROMドライブ1560は、CD−ROM1595からプログラムまたはデータを読み取り、RAM1520を介してハードディスクドライブ1540、及び通信インターフェイス1530に提供する。
また、入出力コントローラ1584には、ROM1510と、フレキシブルディスク・ドライブ1550、及び入出力チップ1570の比較的低速な入出力装置とが接続される。ROM1510は、動画生成装置100が起動時に実行するブート・プログラムや、動画生成装置100のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ1550は、フレキシブルディスク1590からプログラムまたはデータを読み取り、RAM1520を介してハードディスクドライブ1540、及び通信インターフェイス1530に提供する。入出力チップ1570は、フレキシブルディスク・ドライブ1550や、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
CPU1505が実行するプログラムは、フレキシブルディスク1590、CD−ROM1595、またはICカード等の記録媒体に格納されて利用者によって提供される。記録媒体に格納されたプログラムは圧縮されていても非圧縮であってもよい。プログラムは、記録媒体からハードディスクドライブ1540にインストールされ、RAM1520に読み出されてCPU1505により実行される。
CPU1505により実行されるプログラムは、動画生成装置100を、図1から図5に関連して説明した指示入力部200、画像出力部205、画像格納部210、トランジションデータ取得部212、動画テンプレート格納部216、及び動画生成部214として機能させる。そして、当該プログラムは、動画生成部214を、図1から図5に関連して説明した同一部分領域特定部240、動きベクトル算出部250、画像分類部270、動画構成画像生成部280、及び動画構成画像生成部280として機能させ、動画構成画像生成部280を、図1から図5に関連して説明したIピクチャ生成部282、Pピクチャ生成部284、及びBピクチャ生成部286として機能させる。また、CPU1505により実行されるプログラムは、動画生成装置100を、図6から図10に関連して説明した画像格納部610、トランジションデータ取得部612、動画生成部614、及び画像出力部605として機能させる。そして、当該プログラムは、動画生成部614を、図6から図10に関連して説明した動画構成画像生成部680、ピクチャ種別決定部660、DCT係数量子化部692、及び符号化部694として機能させ、動画構成画像生成部680を、図6から図10に関連して説明したIピクチャ生成部682、Pピクチャ生成部684、及びBピクチャ生成部686として機能させる。
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1590、CD−ROM1595の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスクまたはRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを動画生成装置100に提供してもよい。
以上、実施形態を用いて本発明を説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更又は改良を加えることができる。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。