(57)【要約】【課題】動画を構成する画像をリアルタイムに生成する処理においてフレーム落ち等のエラーが発生した場合に生じる動画と音とのズレを、視聴者に違和感なく解消することができるプログラム、情報記憶媒体、ゲーム装置を提供する。【解決手段】遅延カウンタの値に基づいて音に対して動画が遅延しているか否かを判断する。そして、動画が遅延していると判断される場合には、再生周波数を基準周波数よりも低い補正周波数に設定する処理を行う。つまり、再生周波数を基準周波数よりも低くすることによって音の再生速度を減速させて、動画と音とのズレ量を徐々に少なくし、動画と音との同期を図るようにする。【選択図】図４
2009005910.tif 000002
【特許請求の範囲】
【請求項１】
開始時期から動画を構成する画像を順次生成し、生成された画像を順次表示部に出力する処理を行う動画処理部と、
前記開始時期からの経過時間に応じた再生対象の音データを記憶部に順次読み込み、読み込まれた音データを順次再生する処理を行うオーディオ処理部としてコンピュータを機能させ、
前記動画処理部が、
動画を構成する画像が、予定時間以内に生成されたか否かを判断し、判断結果に基づいて、遅延カウンタの値を更新する処理を行い、
前記オーディオ処理部が、
前記遅延カウンタの値に基づいて、音に対して動画が遅延しているか否かを判断し、
前記動画が遅延していないと判断される場合には、基準周波数を再生周波数として設定して、基準周波数によって音データを再生する処理を行い、
前記動画が遅延していると判断される場合には、前記遅延カウンタの値に基づいて前記基準周波数よりも低い補正周波数を再生周波数として設定して、補正周波数によって音データを再生する処理と、遅延カウンタの値を更新する処理とを行い、
前記動画処理部が、
前記動画を構成する画像が、予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値を、遅延カウンタの値に加算する処理を行い、
前記オーディオ処理部が、
前記補正周波数による音データの再生時間に応じた値を、遅延カウンタの値から減算する処理を行うことを特徴とするプログラム。
【請求項２】
請求項１において、
前記オーディオ処理部が、
前記動画が遅延していると判断される場合には、再生中の再生周波数と補正周波数との差分が所定帯域に制限されるように、前記遅延カウンタの値に基づいて前記基準周波数よりも低い補正周波数を求め、求めた補正周波数を再生周波数として設定することを特徴とするプログラム。
【請求項３】
開始時期から動画を構成する画像を順次生成し、生成された画像を順次表示部に出力する処理を行う動画処理部と、
前記開始時期からの経過時間に応じた再生対象の音データを記憶部に順次読み込み、読み込まれた音データを順次再生する処理を行うオーディオ処理部としてコンピュータを機能させ、
前記動画処理部が、
動画を構成する画像が、予定時間以内に生成されたか否かを判断し、判断結果に基づいて、遅延カウンタの値を更新する処理を行い、
前記オーディオ処理部が、
前記遅延カウンタの値に基づいて、音に対して動画が遅延しているか否かを判断し、
前記動画が遅延していると判断される場合には、記憶部に再生対象としてダミー音データを挿入する処理と、遅延カウンタの値を更新する処理とを行い、
前記動画処理部が、
前記動画を構成する画像が、予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値を、遅延カウンタの値に加算する処理を行い、
前記オーディオ処理部が、
前記ダミー音データの挿入量に応じた値を、遅延カウンタの値から減算する処理を行うことを特徴とするプログラム。
【請求項４】
請求項３において、
前記オーディオ処理部が、
前記ダミー音データのサイズを、前記遅延カウンタの値に応じて求めることを特徴とするプログラム。
【請求項５】
請求項３又は４において、
前記オーディオ処理部が、
記憶部に読み込まれた複数の音データからなる音データ列において、再生音の振幅の大きさが所定値よりも低い再生位置を検出し、検出した再生位置に前記ダミー音データを挿入することを特徴とするプログラム。
【請求項６】
請求項３〜５のいずれかにおいて、
前記オーディオ処理部が、
記憶部に読み込まれた複数の音データからなる音データ列において、再生音の振幅変化率が低い再生位置を検出し、検出した再生位置に前記ダミー音データを挿入することを特徴とするプログラム。
【請求項７】
請求項３〜６のいずれかにおいて、
前記オーディオ処理部が、
記憶部に読み込まれた複数の音データからなる音データ列において、再生音に含まれる周波数成分の量が所定量よりも多い再生位置を検出し、検出した再生位置に前記ダミー音データを挿入することを特徴とするプログラム。
【請求項８】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１〜７のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項９】
開始時期から動画を構成する画像を順次生成し、生成された画像を順次表示部に出力する処理を行う動画処理部と、
前記開始時期からの経過時間に応じた再生対象の音データを記憶部に順次読み込み、読み込まれた音データを順次再生する処理を行うオーディオ処理部とを含み、
前記動画処理部が、
動画を構成する画像が、予定時間以内に生成されたか否かを判断し、判断結果に基づいて、遅延カウンタの値を更新する処理を行い、
前記オーディオ処理部が、
前記遅延カウンタの値に基づいて、音に対して動画が遅延しているか否かを判断し、
前記動画が遅延していないと判断される場合には、基準周波数を再生周波数として設定して、基準周波数によって音データを再生する処理を行い、
前記動画が遅延していると判断される場合には、前記遅延カウンタの値に基づいて前記基準周波数よりも低い補正周波数を再生周波数として設定して、補正周波数によって音データを再生する処理と、遅延カウンタの値を更新する処理とを行い、
前記動画処理部が、
前記動画を構成する画像が、予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値を、遅延カウンタの値に加算する処理を行い、
前記オーディオ処理部が、
前記補正周波数による音データの再生時間に応じた値を、遅延カウンタの値から減算する処理を行うことを特徴とするゲーム装置。
【請求項１０】
開始時期から動画を構成する画像を順次生成し、生成された画像を順次表示部に出力する処理を行う動画処理部と、
前記開始時期からの経過時間に応じた再生対象の音データを記憶部に順次読み込み、読み込まれた音データを順次再生する処理を行うオーディオ処理部とを含み、
前記動画処理部が、
動画を構成する画像が、予定時間以内に生成されたか否かを判断し、判断結果に基づいて、遅延カウンタの値を更新する処理を行い、
前記オーディオ処理部が、
前記遅延カウンタの値に基づいて、音に対して動画が遅延しているか否かを判断し、
前記動画が遅延していると判断される場合には、記憶部に再生対象としてダミー音データを挿入する処理と、遅延カウンタの値を更新する処理とを行い、
前記動画処理部が、
前記動画を構成する画像が、予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値を、遅延カウンタの値に加算する処理を行い、
前記オーディオ処理部が、
前記ダミー音データの挿入量に応じた値を、遅延カウンタの値から減算する処理を行うことを特徴とするゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、ゲーム装置に関する。
【背景技術】
【０００２】
従来から、動画をリアルタイムに生成する処理と、音を再生する処理とを並列に行うゲーム装置が存在する。このようなゲーム装置では、フレーム落ちが発生し、動画と音とにズレが生じる場合がある。ズレが僅かであれば、視聴者にとって違和感を与えることがないが、フレーム落ちが何度も発生することによって大きなズレが生じると、視聴者に違和感を与えてしまう。
【０００３】
特許文献１では、早送り再生の際に音を間引く処理や、音の再生周波数を変更する処理を行い、早送り再生時の音の違和感を軽減させる例が記載されている。しかし、特許文献１に記載の発明は、フレーム落ち等の予期できないエラーが生じた場合に、動画と音とのズレを解消することはできない。
【０００４】
また、特許文献２では、映像が出力されるまでの遅延量を算出し、遅延量に基づいて映像と音との同期を図る例が記載されている。しかし、特許文献２に記載の発明は、映像と音とを同期させるタイミングが唐突であるので、音データに不連続部分が発生し、雑音が混在する音が再生される。したがって、視聴者に違和感を与える可能性がある。
【０００５】
また、特許文献３では、音と同期するように、画像生成を制御する手法が開示されている。しかし、特許文献３には、音に対する動画の遅延に対してズレを解消することはできない。
【特許文献１】特開２００７−１３３５８号公報
【特許文献２】特開２００６−２１７００６号公報
【特許文献３】特開２０００−１０７４５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、以上のような課題に鑑みてなされたのものであり、その目的とするところは、動画を構成する画像をリアルタイムに生成する処理においてフレーム落ち等のエラーが発生し、音に対して動画が遅延することにより動画と音とにズレが生じても、視聴者に違和感なく動画と音とに生じたズレを解消することができるプログラム、情報記憶媒体、ゲーム装置を提供することにある。
【課題を解決するための手段】
【０００７】
（１）本発明は、
開始時期から動画を構成する画像を順次生成し、生成された画像を順次表示部に出力する処理を行う動画処理部と、
前記開始時期からの経過時間に応じた再生対象の音データを記憶部に順次読み込み、読み込まれた音データを順次再生する処理を行うオーディオ処理部とを含み、
前記動画処理部が、
動画を構成する画像が、予定時間以内に生成されたか否かを判断し、判断結果に基づいて、遅延カウンタの値を更新する処理を行い、
前記オーディオ処理部が、
前記遅延カウンタの値に基づいて、音に対して動画が遅延しているか否かを判断し、
前記動画が遅延していないと判断される場合には、基準周波数を再生周波数として設定して、基準周波数によって音データを再生する処理を行い、
前記動画が遅延していると判断される場合には、前記遅延カウンタの値に基づいて前記基準周波数よりも低い補正周波数を再生周波数として設定して、補正周波数によって音データを再生する処理と、遅延カウンタの値を更新する処理とを行い、
前記動画処理部が、
前記動画を構成する画像が、予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値を、遅延カウンタの値に加算する処理を行い、
前記オーディオ処理部が、
前記補正周波数による音データの再生時間に応じた値を、遅延カウンタの値から減算する処理を行うことを特徴とするゲーム装置に関する。
【０００８】
また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータに読み取り可能な情報記憶媒体に関するものである。
【０００９】
本発明は、動画を構成する画像が予定時間以内に生成されないことによって生じる動画と音とのズレを、解消することができる。すなわち、本発明によれば、遅延カウンタの値を参照することによって、動画が遅延しているか否かを判断し、音に対して動画が遅延していると判断される場合には、基準周波数よりも低い補正周波数によって音データを再生し、音の再生速度を減速させる。したがって、音に対する動画の遅延を解消することができる。
【００１０】
本発明によれば、動画を構成する画像をリアルタイムに生成する処理において、例えば、フレーム落ち等のエラーによって、動画を構成する画像が予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値を、遅延カウンタの値に加算する処理を行う。そして、音を再生する処理において、動画の遅延を検出した際には、補正周波数による音データの再生時間に応じた値を、遅延カウンタの値から減算する処理を行う。つまり、本発明によれば、遅延カウンタの値の大小を、動画と音とのズレ量（音に対する動画の遅延量）として判断することができる。
【００１１】
したがって、本発明によれば、動画が遅延していると判断される場合には、動画と音とのズレ量に応じて、適切な補正周波数を再生周波数として設定することができる。例えば、遅延カウンタの値が大きい値程（動画と音とのズレが大きい程）、補正周波数を低い帯域に設定することによって、音の再生速度を減速させることができる。
【００１２】
（２）また、本発明のゲーム装置、プログラム及び情報記憶媒体では、
前記オーディオ処理部が、
前記動画が遅延していると判断される場合には、再生中の再生周波数と補正周波数との差分が所定帯域に制限されるように、前記遅延カウンタの値に基づいて前記基準周波数よりも低い補正周波数を求め、求めた補正周波数を再生周波数として設定するようにしてもよい。
【００１３】
本発明によれば、再生中の再生周波数と補正周波数との差分が所定帯域に制限されるように、遅延カウンタの値に基づいて基準周波数よりも低い再生周波数を求めるので、再生周波数の変化に伴う音程の変化を視聴者に気付かれないようにすることができる。つまり、再生中の再生周波数と補正周波数との差分が大きい場合には、視聴者に音程の変化に察知されてしまう可能性が高くなるが、本願発明によれば、再生中の再生周波数と補正周波数との差分を所定帯域に制限することによって、再生周波数の変化に伴う再生音の音程の変化を制限することができるので、視聴者に音程の変化を察知されないようにすることができる。例えば、所定帯域を、多くの視聴者が察知できない帯域に制限するようにすれば、視聴者に音程の変化に伴う違和感を与えないようにすることができる。
【００１４】
（３）また、本発明は、
開始時期から動画を構成する画像を順次生成し、生成された画像を順次表示部に出力する処理を行う動画処理部と、
前記開始時期からの経過時間に応じた再生対象の音データを記憶部に順次読み込み、読み込まれた音データを順次再生する処理を行うオーディオ処理部とを含み、
前記動画処理部が、
動画を構成する画像が、予定時間以内に生成されたか否かを判断し、判断結果に基づいて、遅延カウンタの値を更新する処理を行い、
前記オーディオ処理部が、
前記遅延カウンタの値に基づいて、音に対して動画が遅延しているか否かを判断し、
前記動画が遅延していると判断される場合には、記憶部に再生対象としてダミー音データを挿入する処理と、遅延カウンタの値を更新する処理とを行い、
前記動画処理部が、
前記動画を構成する画像が、予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値を、遅延カウンタの値に加算する処理を行い、
前記オーディオ処理部が、
前記ダミー音データの挿入量に応じた値を、遅延カウンタの値から減算する処理を行うことを特徴とするゲーム装置に関する。
【００１５】
また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータに読み取り可能な情報記憶媒体に関するものである。
【００１６】
本発明は、動画を構成する画像が予定時間以内に生成されないことによって生じる動画と音とのズレを、解消することができる。すなわち、本発明によれば、遅延カウンタの値を参照することによって、動画が遅延しているか否かを判断し、音に対して動画が遅延していると判断される場合には、記憶部に再生対象としてダミー音データを挿入し、挿入されたダミー音データと含む音データを再生するので、音に対して動画が遅延することによって生じるズレを解消することができる。
【００１７】
また、本発明によれば、動画を構成する画像をリアルタイムに生成する処理において、例えばフレーム落ち等のエラーによって動画を構成する画像が予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値を、遅延カウンタの値に加算する処理を行う。そして、音を再生する処理において、ダミー音データの挿入量に応じた値を遅延カウンタの値から減算する処理を行う。したがって、本発明によれば、遅延カウンタの値の大小を、動画と音とのズレ量（音に対する動画の遅延量）として判断することができる。
【００１８】
（４）また、本発明のゲーム装置、プログラム及び情報記憶媒体では、
前記オーディオ処理部が、
前記ダミー音データのサイズを、前記遅延カウンタの値に応じて求めるようにしてもよい。
【００１９】
本発明によれば、動画と音とのズレ量を示す遅延カウンタの値に応じて、適切なダミー音データのサイズを求めることができる。例えば、遅延カウンタの値が大きい値の場合（動画と音とのズレが大きい場合）には、遅延カウンタの値が小さい値の場合（動画と音とのズレが小さい場合）よりも、大きいサイズのダミー音データを挿入するようにする。このようにすれば、動画と音とのズレが大きい場合でも、早期に動画と音との同期を図るようにすることができる。
【００２０】
（５）また、本発明のゲーム装置、プログラム及び情報記憶媒体では、
前記オーディオ処理部が、
記憶部に読み込まれた複数の音データからなる音データ列において、再生音の振幅の大きさが所定値よりも低い再生位置を検出し、検出した再生位置に前記ダミー音データを挿入するようにしてもよい。
【００２１】
本発明によれば、複数の音データからなる音データ列のうち、再生音の振幅の大きさが所定値よりも低い再生位置を検出し、検出した再生位置にダミー音データを挿入する。したがって、音量の低い再生位置にダミー音データを挿入するので、ダミー音データの再生音を視聴者に気付かれないようにすることができる。
【００２２】
（６）また、本発明のゲーム装置、プログラム及び情報記憶媒体では、
前記オーディオ処理部が、
記憶部に読み込まれた複数の音データからなる音データ列において、再生音の振幅変化率が低い再生位置を検出し、検出した再生位置に前記ダミー音データを挿入するようにしてもよい。
【００２３】
本発明によれば、複数の音データからなる音データ列において、再生音の振幅変化率が低い再生位置を検出し、検出した再生位置にダミー音データを挿入するので、音データとダミー音データとのデータの不連続の段差を小さくすることができる。つまり、データの不連続の段差によって生じるノイズ（雑音）の発生を防ぐことができるので、視聴者に違和感なく、ダミー音データを挿入することができる。
【００２４】
（７）また、本発明のゲーム装置、プログラム及び情報記憶媒体では、
前記オーディオ処理部が、
記憶部に読み込まれた複数の音データからなる音データ列において、再生音に含まれる周波数成分の量が所定量よりも多い再生位置を検出し、検出した再生位置に前記ダミー音データを挿入するようにしてもよい。
【００２５】
本発明によれば、複数の音データからなる音データ列のうち、再生音に含まれる周波数成分の量が所定量よりも多い再生位置にダミー音データを挿入するので、挿入されたダミー音データのノイズがマスキングされる。つまり、ダミー音データの再生音を目立たなくすることができ、視聴者に違和感を与えずに動画と音とのズレを解消することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２７】
１．構成
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２８】
図１に本実施形態のゲーム装置（画像生成システム）の機能ブロック図の例を示す。なお本実施形態のゲーム装置は図１の構成要素（各部）の一部を省略した構成としてもよい。
【００２９】
操作部１６０は、プレーヤが移動体の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００３０】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ、ＶＲＡＭなどにより実現できる。そして、本実施形態の記憶部１７０は、処理部１００のワーク領域となる主記憶部１７２、画像を構成するピクセルの色情報等（画像情報）が記憶される描画バッファ１７４と、再生対象の音データが記憶されるサウンドバッファ１７６と、音に対する動画の遅延量（動画と音とのズレ量）を示す遅延カウンタ１７８とを含む。
【００３１】
特に、本実施形態のサウンドバッファ１７６には、情報記憶媒体１８０に記憶されている音のサンプル（音データ）のうち、再生対象となる音のサンプルがロードされる。つまり、情報記憶媒体１８０に記憶されている音のサンプルがサウンドバッファ１７６に順次読み込まれる。ここで、サンプルとは、時間的に区切られた音信号のデータであり、アナログ信号をデジタル信号に変換する標本化（サンプリング）によって得られる時間的に離散的な時点の値とすることができる。
【００３２】
また、本実施形態のサウンドバッファ１７６は、音のサンプルにダミーサンプル（ダミー音データ）を挿入し、ダミーサンプルを含む音のサンプルを記憶してもよい。
【００３３】
ここで、ダミーサンプルとは、動画の遅延によって生じた動画と音とのズレを解消するために、情報記憶媒体１８０からサウンドバッファ１７６にロードされた音のサンプルに追加（挿入）されるサンプルである。例えば、ダミーサンプルは、無音からなるサンプルとすることができる。また、ダミーサンプルは、音データ制御部１３５において検出された位置のサンプルを冗長化したサンプルとしてもよい。
【００３４】
また、サウンドバッファ１７６は、複数のサウンドバッファを確保してもよい。例えば、音データ制御部１３５において、情報記憶媒体１８０に記憶されている音のサンプルが第１のサウンドバッファに順次読み込まれた音のサンプルにおいて、ダミーサンプルの挿入位置を検出し、検出された位置にダミーサンプルを挿入する。そして、挿入された音のサンプル（ダミーサンプルを含む音のサンプル）を、第２のサウンドバッファに記憶するようにしてもよい。なお、かかる場合には、音再生部１３１では、動画の遅延が生じていない場合には、第１のサウンドバッファに記憶されている音のサンプルを再生する処理を行い、動画の遅延が生じている場合には、第２のサウンドバッファに記憶されている音のサンプルを再生するようにしてもよい。
【００３５】
また、本実施形態の遅延カウンタ１７８は、音に対する動画の遅延量（音と動画とのズレ量）を示すデータであり、たとえば、サンプルや、秒、フレームを単位とするデータとすることができる。また、本実施形態の遅延カウンタ１７８の値は、動画処理部１１０の画像生成処理判断部１１４による判断結果に基づいて更新される。より具体的に説明すると、遅延カウンタ１７８の値は、画像生成処理判断部１１４において、動画を構成する画像が、予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値が加算される。
【００３６】
また、本実施形態の遅延カウンタ１７８は、オーディオ処理部１３０において、遅延判断部１３２による判断結果に基づいて更新される。より具体的に説明すると、遅延カウンタの値から、補正周波数による音データの再生時間に応じた値を減算する。また、遅延カウンタの値から、ダミーサンプルの挿入量（サンプル数）に応じた値を減算する。
【００３７】
なお、本実施形態の遅延カウンタ１７８は、動画処理部１１０、オーディオ処理部１３０双方共に更新する処理を行うことができる。したがって、動画処理部１１０、オーディオ処理部１３０それぞれにおいて、遅延カウンタ１７８の値を更新する際には、排他制御を行う。つまり、動画処理部１１０において、遅延カウンタ１７８の値を更新する際には、オーディオ処理部１３０において、遅延カウンタの値の更新ができないようにロックをし、動画処理部１１０において遅延カウンタの値の更新後、ロックを解除する処理を行う。一方、オーディオ処理部１３０において、遅延カウンタ１７８の値を更新する際には、動画処理部１１０において、遅延カウンタの値の更新ができないようにロックをし、オーディオ処理部１３０において遅延カウンタの値の更新後、ロックを解除する処理を行う。
【００３８】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）、メモリカードなどにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。すなわち、情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。また、情報記憶媒体１８０には、プレーヤの個人データやゲームのセーブデータなどを記憶するようにしてもよい。また、本実施形態の情報記憶媒体１８０には、オーディオ処理部１３０において、音データを順次再生する処理を行うための、サウンドバッファ１７６にロードする音のサンプル（音データ）を記憶することができる。
【００３９】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバ）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバ）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００４０】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００４１】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、動画を構成する画像を生成する画像生成処理、或いは音を再生する処理等を行う。処理部１００は、記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行い、処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００４２】
また、処理部１００は、動画処理部１１０、オーディオ処理部１３０を含み、動画処理部１１０は、オブジェクト空間設定部１１１、移動・動作処理部１１２、仮想カメラ制御部１１３、画像生成処理判断部１１４、遅延カウンタ制御部１１５を含む。また、オーディオ処理部１３０は、音再生部１３１、遅延判断部１３２、再生周波数設定部１３３、遅延カウンタ制御部１３４、音データ制御部１３５とを含む。なお、これらの一部を省略する構成としてもよい。
【００４３】
動画処理部１１０は、オーディオ処理部の開始時期と同時に開始し、動画を構成する画像を順次生成し、生成された画像を順次表示部に出力する処理を行う。
【００４４】
オブジェクト空間設定部１１１は、移動体、物体、粒子、枯葉、雪、雨、キャラクタ、建物、球場、車、飛行機、船、潜水艦、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００４５】
移動・動作処理部１１２は、オブジェクト（車、電車又は飛行機、枯葉、雪、雨等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、フレームレートに応じて順次求めるシミュレーション処理を行う。例えば、フレームレートが６０ｆｐｓである場合には、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）、画像生成処理を行う時間の単位である。
【００４６】
仮想カメラ制御部１１３は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【００４７】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させる制御や、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００４８】
画像生成処理判断部１１４は、動画を構成する画像が、予定時間以内に生成されたか否かを判断する処理を行う。例えば、フレームレートが６０ｆｐｓ（１／６０秒毎）であり、毎フレームの画像について監視する場合には、１フレームの画像が、予定時間である１／６０秒以内に、生成したか否かを判断する処理を行う。ここで、１フレームの画像の生成する処理とは、１フレームにおけるオブジェクトの移動・動作演算や、ポリゴンの頂点演算を行い最終的にフレームバッファに出力するまでの処理のことをいう。
【００４９】
画像生成処理判断部１１４は、１／６０秒以内に画像の生成されていないと判断される場合には、次のフレームタイミングで、当該画像が生成されたか否かを改めて判断する。例えば、Ａ画像が１／６０秒以内に生成されていない場合には、次のフレームタイミング（１／６０秒後）において、Ａ画像が生成されたか否かを判断する。
【００５０】
なお、画像生成処理判断部１１４は、所定のフレーム数が予定時間以内に生成されたか否かを判断してもよい。例えば、５フレーム分の画像が予定時間以内（例えば、６０ｆｐｓの場合に５／６０秒以内）に生成されたか否かを判断してもよい。
【００５１】
また、画像生成処理判断部１１４は、フレームレートが変更される際に、予定時間を変更するようにしてもよい。例えば、毎フレームの画像を判断する場合には、フレームレートが６０ｆｐｓから３０ｆｐｓに変更される際に、予定時間を１／６０秒から、１／３０秒に変更するようにしてもよい。
【００５２】
遅延カウンタ制御部１１５は、画像生成処理判断部１１４における判断結果に基づいて、遅延カウンタ１７８の値を更新する処理を行う。特に、遅延カウンタ制御部１１５は、動画を構成する画像が予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値を、遅延カウンタの値に加算する処理を行う。
【００５３】
例えば、基準周波数（４８０００Ｈｚ）によって音を再生すると共に画像処理のフレームレートが６０ｆｐｓであり、画像が予定時間（１／６０秒）以内に生成されないと判断される場合に、遅延カウンタの単位をサンプルで扱う場合には、超過した分の８００サンプルを、遅延カウンタの値に加算する処理を行う。つまり、１フレーム（１／６０秒）分の音のサンプル数に相当する８００サンプルを遅延カウンタの値に加算する処理を行う。また、遅延カウンタを時間を単位として制御する場合には、１／６０秒を遅延カウンタの値に加算する処理を行う。
【００５４】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず表示物（オブジェクト、モデル）を定義する各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含む表示物データ（オブジェクトデータ、モデルデータ）が入力され、入力された表示物データに含まれる頂点データに基づいて、頂点処理が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。頂点処理では、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、表示物を構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（フラグメント処理）が行われる。ピクセル処理では、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内に設定された仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００５５】
なお描画部１２０が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００５６】
そして描画部１２０は、表示物を描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００５７】
ジオメトリ処理では、表示物に関して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）の表示物データ（表示物の頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、主記憶部１７２に保存される。
【００５８】
テクスチャマッピングは、記憶部１７０に記憶されるテクスチャ（テクセル値）を表示物にマッピングするための処理である。具体的には、表示物の頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャを表示物にマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００５９】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００６０】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより２つの色を合成した色を求める処理を行う。
【００６１】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えばＲＧＢの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００６２】
オーディオ処理部１３０は、動画処理部１１０と同時期に開始する開始時期からの経過時間に応じた再生対象の音のサンプル（音データ）をサウンドバッファ１７６に順次読み込み、読み込まれた音のサンプルを順次再生する処理を行う。
【００６３】
音再生部１３１は、再生周波数によって、サウンドバッファ１７６に読み込まれた音のサンプルを再生する処理を行う。例えば、音再生部１３１は、基準周波数によって音のサンプルを再生する処理を行うようにしてもよいし、補正周波数によって音のサンプルを再生するようにしてもよい。
【００６４】
ここで、再生周波数とは、１秒間に再生（出力）する音のサンプル数である。例えば、ＤＶＤによって、通常の再生を行う際の基準周波数は４８０００Ｈｚである。つまり、４８０００Ｈｚの基準周波数によって音のサンプルを再生するとは、１秒間に４８０００サンプルの音を再生することを意味する。
【００６５】
また、音再生部１３１は、ダミーサンプル（ダミー音データ）が挿入された音のサンプルを再生する処理を行うようにしてもよい。
【００６６】
また、音再生部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力することができる。
【００６７】
遅延判断部１３２は、遅延カウンタ１７８の値に基づいて、音に対して動画が遅延しているか否かを判断する処理を行う。例えば、動画処理部１１０、オーディオ処理部１３０において同時に開始する開始時期における、遅延カウンタの値を初期値として、例えば零を設定する。つまり、音と動画が同期している場合の遅延カウンタの値を、零として設定する。そして、遅延カウンタの値を参照し、遅延カウンタの値が零より大きい値か否かを判断することによって、音に対して動画が遅延しているか否かを判断することができる。なお、遅延カウンタの値が零（又は零以下）である場合には遅延していないと判断する。
【００６８】
再生周波数設定部１３３は、遅延判断部１３２において、動画が遅延していないと判断される場合には、基準周波数を再生周波数として設定する処理を行う。また、再生周波数設定部１３３は、遅延判断部１３２において、動画が遅延していると判断される場合には、遅延カウンタの値に基づいて基準周波数よりも低い補正周波数を再生周波数として設定する処理を行う。
【００６９】
また、再生周波数設定部１３３は、動画が遅延していると判断される場合には、再生中の再生周波数と補正周波数との差分が所定帯域に制限されるように、遅延カウンタの値に基づいて基準周波数よりも低い補正周波数を求め、求めた補正周波数を再生周波数として設定することができる。例えば、再生中の再生周波数と補正する再生周波数との差分が６０Ｈｚに制限されるようにする。例えば、再生中の再生周波数が４８０００Ｈｚである場合には、４７９４０Ｈｚの補正周波数を再生周波数として設定することができる。
【００７０】
遅延カウンタ制御部１３４は、オーディオ処理部１３０において、遅延カウンタ１７８の値を更新する処理を行う。より具体的に説明すると、遅延カウンタ制御部１３４は、補正周波数による音データの再生時間に応じた値を、遅延カウンタの値から減算する処理を行う。例えば、遅延カウンタをサンプル単位で制御する場合には、補正周波数が４７９４０Ｈｚである場合には、１／６０秒を再生することによって１サンプル分の音と動画のズレ量を解消することができるので、遅延カウンタの値から１サンプルを減算する処理を行う。
【００７１】
また、遅延カウンタ制御部１３４は、オーディオ処理部１３０において、ダミーサンプルを挿入する処理を行った場合には、挿入量に応じた値を、遅延カウンタの値から減算する処理を行う。例えば、挿入したダミーサンプルの挿入量が５０サンプル分である場合には、遅延カウンタの値から５０サンプルを減算する処理を行う。
【００７２】
音データ制御部１３５は、遅延判断部１３２において、動画が遅延していると判断される場合に、サウンドバッファ１７６に再生対象としてダミーサンプルを挿入する処理を行う。つまり、サウンドバッファ１７６に読み込まれた音のサンプルに、ダミーサンプルを挿入する処理を行う。なお、挿入したダミーサンプルを含む音のサンプルを、挿入前の音のサンプルが格納されていたサウンドバッファ１７６に再度格納し直してもよいし、別のサウンドバッファに格納してもよい。
【００７３】
ここで、音のサンプルにダミーサンプルを挿入するとは、時間軸（時間領域）に基づく音（波形）の所与の位置に、ダミーサンプルを挿入することをいう。
【００７４】
また音データ制御部１３５は、遅延カウンタの値に応じて、ダミーサンプルのサイズを求めてもよい。例えば、遅延カウンタの値が８００サンプルである場合には、８００サンプル以下のサンプル数のダミーサンプルを挿入することができる。なお、サウンドバッファに格納されるサイズが予め決められている場合には、既に読み込まれた音のサンプルのサイズとダミーサンプルのサイズの合計が、サウンドバッファに格納できるサイズ以下になるように、ダミーサンプルのサイズを決定する。
【００７５】
また、音データ制御部１３５は、サウンドバッファに読み込まれた音のサンプル（複数の音のサンプル）において、再生音の振幅の大きさが所定値よりも低い再生位置を検出し、検出した再生位置にダミーサンプルを挿入するようにしてもよい。ここで、振幅とは、時間領域を示す音の波形の振幅のことをいう。例えば、音データ制御部１３５は、音のサンプルのうち、振幅が１０ｄＢ（デジベル）より低いサンプルを検出し、検出した位置にダミーサンプルを挿入するようにしてもよい。なお、音データ制御部１３５は、振幅が零に近いサンプルを検出し、検出したサンプルの位置に、検出したサンプルを冗長したダミーサンプルを挿入するようにしてもよい。
【００７６】
また、音データ制御部１３５は、サウンドバッファに読み込まれた複数の音のサンプルのうち、再生音の振幅変化率が低い再生位置を検出し、検出した再生位置にダミーサンプルを挿入するようにしてもよい。
【００７７】
ここで振幅の変化率が低いとは、時間領域を示す音の波形において、音の波形の接線の傾き（微分係数）の絶対値が低いことをいう。例えば、音の波形の接線の傾きの絶対値が零であるサンプルを検出し、検出した位置にダミーサンプルを挿入するようにしてもよい。
【００７８】
また音データ制御部１３５は、サウンドバッファに読み込まれた複数の音のサンプルのうち、再生音に含まれる周波数成分の量が所定量よりも多い再生位置を検出し、検出した再生位置にダミーサンプルを挿入するようにしてもよい。ここで、再生音に含まれる周波数成分は、サウンドバッファに読み込まれた音のサンプルの時間領域の波形をフーリエ変換することによって求めることができる。本実施形態の音データ制御部１３５は、音のサンプルの時間領域の波形を所定領域に分け、領域毎に、周波数領域（横軸が周波数、縦軸が周波数成分の大きさ）の波形の面積を求めている。つまり、本実施形態では、周波数領域の波形の面積を再生音に含まれる周波数成分の量とみなし、周波数領域の波形の面積が所定量（所定面積）よりも多い領域の所与の位置を検出し、検出した位置にダミーサンプルを挿入する。なお、周波数領域の波形の面積は、周波数領域の波形を積分することによって求めることができる。また、時間領域の波形を複数の領域に分ける場合には、所定周期毎（例えば基本周期）に分けてもよい。
【００７９】
なお、本実施形態のゲーム装置は、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００８０】
２．本実施形態の手法
本実施形態のゲーム装置は、動画を生成する処理と、音を再生する処理とを同時期に開始する。つまり、本実施形態では、動画を構成する画像をリアルタイムに順次生成して出力する動画を生成する処理と、経過時間に応じた再生対象の音のサンプルをサウンドバッファに読み込み、読み込まれた音のサンプルを順次再生する処理とを同時に開始させて並列に処理を行う。
【００８１】
そして、本実施形態では、ＤＶＤ等の情報記憶媒体に記憶されている再生対象の音のサンプルを、順次サウンドバッファに読み込み、順次再生する処理を行う。音のサンプルは、動画内容をもとに、開始時期からの経過時間に応じて予め作成されているので、画像の生成処理にエラーが発生しない限り動画と再生音とが同期する。例えば、図２（Ａ）に示すように、爆発画像が表示されるタイミングに爆発音を再生することができる。
【００８２】
しかし、画像の生成処理は予期できないエラーする場合が多い。なぜなら、画像を生成処理は、リアルタイムにオブジェクトの座標変換や頂点演算等を行うので、処理負荷が高まる傾向にありフレーム落ち等のエラーが発生する可能性が高いからである。例えば、図２（Ｂ）に示すように、フレーム落ちが発生すると、爆発音がタイミングＴ１で再生された後に、爆発画像がタイミングＴ２で表示されてしまう。
【００８３】
そこで、本実施形態では、このように動画と音とのズレを解消するようにするため、音に対する動画の遅延を検出し、再生周波数を基準周波数よりも低い補正周波数によって再生する手法や、音のサンプルにダミーサンプルを挿入する手法を採用している。
【００８４】
２．１  遅延カウンタ
本実施形態では、遅延カウンタを用いて、動画を構成する画像をリアルタイムに生成する処理や、音を再生する処理を行う。遅延カウンタとは、音に対する動画の遅延量（ズレ量）を示し、本実施形態では、遅延カウンタの単位を音のサンプル数としている。
【００８５】
すなわち、遅延カウンタの値の大小は、動画と音とのズレ量として把握することができる。そこで、本実施形態では、遅延カウンタを参照することによって音に対して動画が遅延しているか否かを判断する。例えば、本実施形態では、動画を構成する画像をリアルタイムに生成する処理と、音を再生する処理とを同時期に開始し、開始時期に遅延カウンタの初期値を零に設定するので、遅延カウンタの値が零である場合には、動画と音との同期が図られている状態であると判断できる。また、遅延カウンタの値が零より大きい値である場合には、音に対して動画が遅延している状態であると判断できる。
【００８６】
なお、以下に説明するように、本実施形態では、動画と音とのズレ量の変化に応じて遅延カウンタの値を更新（加算、減算）する処理を行う。
【００８７】
２．２  音に対する動画の遅延を検出する手法
本実施形態は、動画を構成する画像が、予定時間に生成されたか否かを判断し、判断結果に基づいて、遅延カウンタの値を更新する処理を行う。例えば、フレーム落ちのエラーが発生する等、動画を構成する画像が予定時間以内に生成されないと判断される場合には、予定時間を超過した超過時間に応じた遅延分のサンプル数を、遅延カウンタの値に加算する処理を行う。
【００８８】
より具体的に説明すると、まず、動画を構成する画像において、予め監視対象のフレーム数を決め、監視対象のフレーム数の画像が、予定時間以内に生成されたか否かを判断する。そして、予定時間以内に完了していないと判断される場合には、予定時間を超えた超過時間分に相当する音のサンプル数を、遅延カウンタの値に加算する処理を行う。
【００８９】
例えば、フレームレートが６０ｆｐｓ（１／６０秒毎）である場合であって、毎フレーム監視する場合には、監視対象の画像Ａが、予定時間以内（１／６０秒以内）に生成されたか否かを判断する。そして、画像Ａが、予定時間（１／６０秒）以内に生成されていないと判断される場合には、超過時間（１／６０秒）に再生する音のサンプル数である８００サンプルを、遅延カウンタの値に加算する処理を行う。
【００９０】
一方、画像Ａが、予定時間（１／６０秒）以内に生成された場合には、遅延カウンタの値を更新することなく、動画を構成する次の画像を生成する処理を行う。
【００９１】
なお、予定時間（１／６０秒）以内に画像Ａが生成されない場合には、次のフレームタイミングに画像Ａが予定時間（１／６０秒）以内に生成されたか否かを判断する。例えば、画像Ａが、次のフレームタイミングにおいても生成されない場合には、さらに超過時間（１／６０秒）に再生する音のサンプル数である８００サンプルを、遅延カウンタの値に加算する処理を行う。
【００９２】
このように、本実施形態は、動画処理においてフレーム落ちが発生すると、遅延量に応じた音のサンプル数を、遅延カウンタの値に加算する。つまり、遅延カウンタの値が大きくなると、動画と音とのズレ量が大きいことを示すことになる。
【００９３】
なお、本実施形態の動画を構成する画像をリアルタイムに生成する処理では、監視対象のフレーム数や、フレームレートを自由に変更してもよい。かかる場合には、動画の遅延を適切に検出するために、変更されたフレームレート、監視対象のフレーム数に応じて、予定時間を適宜変更する。
【００９４】
２．３  再生周波数を補正周波数に設定する手法
本実施形態では、音を再生する処理において、遅延カウンタの値を参照し、音に対して動画が遅延していると判断される場合には、再生周波数を基準周波数よりも低い補正周波数に設定する。つまり、動画が音に対して遅延している場合には、音の再生速度を調整して、動画と音との同期を図ることを実現する。
【００９５】
本実施形態は、遅延カウンタの値が零である場合に、音と動画が同期していることになり、動画が零より大きい値である場合には、音に対して動画が遅延していることになる。したがって、音に対して動画が遅延しているか否かの判断は、遅延カウンタの値が零より大きい値であるか否かを判断することによって行う。
【００９６】
なお、動画の遅延を判断するタイミングは、画像処理のフレームレートに応じて行う。例えば、画像処理のフレームレートが６０ｆｐｓである場合には、１／６０毎に動画が遅延しているか否かを判断する。
【００９７】
そして、音に対して動画が遅延していると判断される場合には、再生周波数を補正周波数に設定する処理を行う。つまり、基準周波数（４８０００Ｈｚ）によって音のサンプルを再生していたところを、基準周波数よりも低い補正周波数によって音のサンプルを再生する処理を行う。このように、音の再生スピードを減速させることによって、音と動画とのズレを解消することができる。
【００９８】
例えば、図３に示すように、動画を生成する処理においてフレーム落ちが発生し、遅延カウンタに８００サンプルが加算される。すると、音を再生する処理において、動画が音に対して遅延していることを検出し、再生周波数を補正周波数に設定する処理を行う。例えば、再生周波数を、基準周波数の４８０００Ｈｚから補正周波数の４７９４０Ｈｚに変更する処理を行う。
【００９９】
このように、本実施形態では、補正周波数によって音のサンプルを再生することによって、動画と音とのズレ量を解消することができる。例えば、図３に示すように、爆発画像と同じタイミングであるＴ２において、爆発音を再生することができる。
【０１００】
具体的に再生周波数を補正周波数に設定する手法について説明すると、本実施形態では、遅延カウンタの値に基づいて再生周波数を補正周波数に設定する処理を行う。例えば、遅延カウンタが大きい値である程、音に対する動画の遅延量が大きいことを意味するので、遅延カウンタの値が大きい値である程、再生周波数を下げる（低くする）ようにする。再生周波数を低くする程、音の再生スピードを減速させることができ早期に同期を図ることができるからである。
【０１０１】
例えば、遅延カウンタの値が１〜８００である場合には、再生周波数を４７９４０Ｈｚの補正周波数に設定し、遅延カウンタの値が８０１〜１６００である場合には、再生周波数を４７８８０Ｈｚの補正周波数に設定し、遅延カウンタの値が１６０１〜２４００である場合には、再生周波数を４７８２０Ｈｚの補正周波数に設定する、というように、遅延カウンタの値が８００サンプル増加するのに応じて、再生周波数を６０Ｈｚ下げた補正周波数に設定してもよい。
【０１０２】
なお、本実施形態では、再生周波数が極端に低くならないように、遅延カウンタの値に関わらず、補正周波数を所定帯域に制限するようにしてもよい。再生周波数を極端に下げると、聴覚の優れている視聴者は再生音の音程の変化を察知してしまうからである。例えば、人の聴覚レベルにもよるが、再生周波数を４７５００〜４８０００Ｈｚの帯域に制限するように、再生周波数を補正周波数に設定するようにしてもよい。
【０１０３】
そして、本実施形態では、補正周波数による音のサンプルの再生時間に応じた値を、遅延カウンタの値から減算する処理を行う。音に対する動画のズレ量が少なくなるからである。
【０１０４】
例えば、画像を生成する処理におけるフレームレートが６０ｆｐｓである場合には、１／６０秒毎に、補正周波数によって音のサンプルを再生することによってズレを解消できた動画と音とサンプル数を、遅延カウンタの値から減算する処理を行う。
【０１０５】
より具体的に説明すると、補正周波数が４７９４０Ｈｚである場合には、１／６０秒において１サンプル分の遅延量を解消することができる。したがって、１フレームの画像生成の処理時間毎に１サンプルを遅延カウンタの値から減算する処理を行う。つまり、補正周波数が４７９４０Ｈｚである場合には、音を再生し続けることによって、８００フレーム分の画像生成処理時間に相当する音の再生時間において、８００サンプル分の遅延を解消することができ、動画と音との同期を図ることができる。
【０１０６】
なお、本実施形態では、１／６０秒毎に、動画の遅延の判断を行い、動画の遅延が生じていると判断される場合には、再生周波数を補正周波数に設定し、遅延カウンタの値から解消できたサンプル数を減算する処理を行う。
【０１０７】
そして、本実施形態では、音を再生する処理において、遅延カウンタの値が零になった場合には、動画の遅延がないものと判断されるので、基準周波数（４８０００Ｈｚ）によって、音のサンプルを再生し、動画と音との同期を維持することができる。
【０１０８】
次に、段階的に再生周波数を補正周波数に設定する手法について説明する。例えば、動画を生成する処理において、フレーム落ちが発生することによって、遅延カウンタの値が加算された途端に、突然に再生周波数を基準周波数の４８０００Ｈｚから、補正周波数の４７６４０Ｈｚに変更すると、再生音の音程の変化を視聴者に察知される可能性がある。
【０１０９】
そこで、本実施形態では、再生中の再生周波数と補正周波数との差分が所定帯域に制限されるように、補正周波数を求める。例えば、再生中の再生周波数と補正周波数との差分を６０Ｈｚに制限し、６０Ｈｚ毎に段階的に再生周波数を変化させるようにする。このようにすれば、音程の変化を緩やかにすることができ、視聴者に違和感を与えないようにすることができるからである。
【０１１０】
例えば、音を再生する処理において、動画の遅延を検出した際には、再生周波数を、基準周波数の４８０００Ｈｚから、６０Ｈｚ下げた補正周波数の４７９４０Ｈｚに設定し、設定された４７９４０Ｈｚの再生周波数によって、音のサンプルを再生する処理を行う。そして、所定の再生時間を経過後に、さらに、再生周波数を、再生中の再生周波数の４７９４０Ｈｚから、６０Ｈｚ下げた補正周波数の４７８８０Ｈｚに設定し、設定された４７８８０Ｈｚの再生周波数によって、音のサンプルを再生する処理を行う。このように、６０Ｈｚずつ段階的に下げて、音のサンプルを再生するようにする。
【０１１１】
そして、同様に、補正周波数を上げる（高くする）際にも、６０Ｈｚずつ段階的に上げるようにする。例えば、再生中の再生周波数が４７６４０Ｈｚである場合には、再生周波数を４７６４０Ｈｚから６０Ｈｚ上げた補正周波数の４７７００Ｈｚに設定し、設定された４７７００Ｈｚの再生周波数によって、音のサンプルを再生する処理を行う。
【０１１２】
図４は、遅延カウンタの値が８００サンプルである場合に、１７０フレーム分の画像処理時間（１７０／６０秒）をかけて、動画の遅延を解消する例を図示したものである。
【０１１３】
つまり、図４は、設定された補正周波数と、各補正周波数に応じた、「１フレームの当たりの時間（１／６０秒）で、動画と音とのズレを解消できるサンプル数」、「補正周波数を持続するフレーム数」、「補正周波数持続時間でズレを解消できるサンプル数の合計」、「減算前の遅延カウンタの値」、「減算後の遅延カウンタの値」を示す。
【０１１４】
例えば、図４に示すように、４７９４０Ｈｚの補正周波数に設定された再生周波数によって、音のサンプルを再生すると、１フレームの当たりの時間（１／６０秒）で１サンプルのズレを解消することができる。つまり、４７９４０Ｈｚの補正周波数を５フレーム分（５／６０秒）持続することによって、５サンプルのズレを解消することができるので、５サンプルを遅延カウンタの値から減算する処理を行い、その結果、遅延カウンタの値は７９５サンプルになる。
【０１１５】
また、図４の例では、補正周波数を６０Ｈｚ毎に段階的に変化させるようにし、最も低い４７６４０Ｈｚの補正周波数の再生時間（補正周波数を持続するフレーム数）を最も長くするようにしている。つまり、音の再生時間と再生周波数の変化グラフ化すると図５（Ａ）に示すようになる。このようにすれば、段階的に再生周波数を設定しつつ、最も低い補正周波数における再生時間を長くすることによって、早期にズレを解消することができる。
【０１１６】
また、補正周波数に設定された再生周波数によって音のサンプルを再生している際に、さらに動画を構成する画像のフレーム落ちが発生し、遅延カウンタの値が増大した場合には、補正周波数をより低くなるように変更してもよいし、補正周波数の持続フレーム数（再生時間）を変更してもよい。つまり、遅延カウンタの値に基づいて、動的に補正周波数を設定し、補正周波数の持続フレーム数を決定してもよい。
【０１１７】
例えば、図５（Ｂ）に示すように、再生周波数が徐々に基準周波数（４７８００Ｈｚ）に段階的に戻る時点で、遅延カウンタの値が増加したことを検出した場合には、検出した時点から再生周波数が段階的に下がるように補正周波数を設定してもよい。
【０１１８】
このように、本実施形態では、基準周波数よりも低い補正周波数によって音のサンプルを再生することによって、動画と音とのズレを解消することができる。また、本実施形態では、遅延カウンタを用いて動画と音とのズレ量を把握することができるので、ゲーム装置の絶対的な時間軸を基準に、動画の遅延を逐次求める必要はないので、動画と音との同期を図るための処理負荷を抑えることができる。
【０１１９】
２．４  ダミーサンプルを挿入して音を再生する手法
本実施形態は、ダミーサンプルを挿入して音を再生する手法を採用している。つまり、本実施形態は、音を再生する処理において、動画が遅延していると判断すると、サウンドバッファに読み込まれた音のサンプルにダミーサンプルを挿入する処理を行い、挿入されたダミーサンプルを含む音のサンプルを再生する処理を行う。このようにすれば、音のサンプルにダミーサンプルが挿入されることにより、ダミーサンプル分の音の再生時間が増え、動画と音とのズレを解消することができるからである。
【０１２０】
本実施形態は、音に対して動画が遅延しているか否かの判断は、上述したように、遅延カウンタの値に基づいて判断する。例えば、遅延カウンタの値が零より大きい値である場合には、遅延が発生しているものと判断する。
【０１２１】
例えば、図６に示すように、動画を生成する処理において、フレーム落ちが発生し、遅延カウンタの値に８００サンプルが加算されると、音を再生する処理において、動画の遅延を検出し、サウンドバッファに読み込まれた音のサンプルにダミーサンプルを挿入する処理を行う。このようにすれば、挿入したダミーサンプルに応じて、音の再生時間を長くすることができ、動画と音とのズレを解消することができる。したがって、図６に示すように、爆発画像と同じタイミングであるＴ２において、爆発音を再生することができる。なお、本実施形態は、動画を構成する画像のフレームレートにあわせて、動画が遅延しているか否かを判断する。例えば、画像処理のフレームレートが６０ｆｐｓである場合には、１／６０毎に動画が遅延しているか否かを判断する。
【０１２２】
また、ダミーサンプルのサンプル数は、遅延カウンタの値のサンプル数以下になるように決定する。遅延カウンタのサンプル数を上回るダミーサンプルを追加すると、逆に音が動画に対して遅延してしまう事態が生じてしまうからである。例えば、遅延カウンタの値が４０サンプルである場合には、４０サンプル以下になるようにダミーサンプル数を決定する。なお、既にサウンドバッファに読み込まれた音のサンプルとダミーサンプルとの合計が、サウンドバッファのサイズに収まるように、ダミーサンプルのサンプル数を制限してもよい。
【０１２３】
そして、本実施形態は、ダミーサンプルを挿入する位置を次のように検出する。例えば、サウンドバッファに記憶されている音のサンプルのうち、音の振幅（音量）が零に近いサンプルを検出する。そして、検出したサンプルの位置に、検出したサンプルを冗長したダミーサンプルを挿入する。このようにすれば、ダミーサンプルを追加してもほぼ無音状態が継続するだけであるので、視聴者にダミーサンプルの挿入を悟られないようにすることができる。
【０１２４】
また、サウンドバッファに記憶されている音のサンプルのうち、振幅が所定値よりも低い再生位置を検出し、検出した再生位置にダミーサンプルを挿入するようにしてもよい。例えば、サウンドバッファに記憶されている音のサンプルが、図７に示すような波形である場合には、所定値ｄよりも低い振幅である位置Ｒを検出する。そして、検出した位置Ｒに、ダミーサンプルを挿入する。例えば、位置Ｒに、位置Ｒのサンプルを冗長したダミーサンプルを挿入するようにしてもよい。
【０１２５】
また、本実施形態では、サウンドバッファに記憶されている音のサンプルのうち、振幅変化率が低い位置を検出し、検出した位置にダミーサンプルを挿入してもよい。サウンドバッファに読み込まれたサンプルと、挿入したダミーサンプルとの不連続の段差を軽減することができ、ノイズの発生を防ぐことができるからである。例えば、図７に示すように、位置Ｒは、振幅変化率が零の位置であるので、位置Ｒに、位置Ｒのサンプルを冗長したダミーサンプルを挿入するようにしてもよい。
【０１２６】
また、本実施形態では、サウンドバッファに読み込まれた音のサンプルのうち、再生音に含まれる周波数成分の量が所定量よりも多い再生位置を検出し、検出した再生位置にダミーサンプルを挿入するようにしてもよい。このようにすれば、挿入したダミーサンプルのノイズがマスキングされるので、結果として視聴者に与える違和感を軽減することができるからである。
【０１２７】
まず、本実施形態では、サウンドバッファに読み込まれた音のサンプルの波形（時間領域による波形）が、図８に示すような音の波形である場合に、音のサンプルをＳ１、Ｓ２、Ｓ３の領域に分け、各領域の周波数成分を求める。各領域の周波数成分は、サウンドバッファに読み込まれた音のサンプルの時間領域の波形を、領域毎にフーリエ変換して求めることができる。
【０１２８】
次に、本実施形態では、Ｓ１〜Ｓ３の領域毎に、周波数領域（Ｘ軸を周波数、Ｙ軸を周波数成分の大きさ）の波形の面積を求める。周波数領域で示される波形の面積は、周波数成分の量に相当するからである。なお、周波数領域の波形の面積は、周波数領域の波を積分することによって求めることができる。
【０１２９】
そして、Ｓ１〜Ｓ３の領域毎に、周波数領域の波形の面積が予め設定された所定量（所定面積）よりも多いか否かを判断し、周波数領域の波形の面積が所定量よりも多いと判断される領域の所与の位置に、ダミーサンプルを挿入する処理を行う。
【０１３０】
このように、本実施形態は、周波数領域の波形の面積を求めることによって、周波数成分の量の大小を簡易的に求める手法を採用している。例えば、ダミーサンプルの再生音のマスキング効果が高まると考えられる重低音、高音等の周波数成分の量が多い周波数領域の波形は、周波数成分の量が少ない周波数領域の波形に比較して面積が大きい。したがって、本実施形態では、波形の面積が大きければ周波数成分の量が多いとみなし、波形の面積が予め設定された所定量（所定面積）よりも多いと判断される領域に、ダミーサンプルを挿入する処理を行っている。
【０１３１】
なお、本実施形態では、所定帯域の周波数における周波数領域の波形の面積を求め、求めた面積が、所定帯域の周波数に応じた所定量（所定面積）よりも大きいと判断される領域に、ダミーサンプルを挿入してもよい。
【０１３２】
図９（Ａ）〜（Ｃ）を用いて具体的に説明する。例えば、図９（Ａ）はＳ１領域の周波数分布、図９（Ｂ）はＳ２領域の周波数分布、図９（Ｃ）はＳ３領域の周波数分布を示している。まず、本実施形態では、Ｓ１〜Ｓ３の各領域において０〜５０００Ｈｚに制限した周波数帯域における周波数領域の波形の面積を求める。そして、例えば、Ｓ１〜Ｓ３領域のうち、Ｓ２領域の周波数領域の波形の面積が所定量よりも多いと判断される場合には、Ｓ２領域の所与の位置にダミーサンプルを挿入する処理を行う。なお、Ｓ２領域における音のサンプルのうち、振幅が大きい位置（音量が大きい位置）に、ダミーサンプルを挿入することが望ましい。挿入したダミーサンプルの再生音のマスキング効果がさらに高まるからである。
【０１３３】
また、上述の例では、サウンドバッファに読み込まれた音のサンプルを、３領域（領域Ｓ１〜Ｓ３）に分けて各領域の周波数成分を求めているが、所定周期（例えば、基本周期）毎に領域に分けて周波数成分を求め、再生音に含まれる周波数成分の量が所定量よりも多い領域の所与の位置にダミーサンプルを挿入するようにしてもよい。また、複数のサウンドバッファを用いて音を再生する場合には、領域を分けずにサウンドバッファを単位に周波数成分を求め、再生音に含まれる周波数成分の量が所定量よりも多いサウンドバッファにダミーサンプルを挿入するようにしてもよい。
【０１３４】
また、本実施形態では、周波数領域の波形の周波数成分の大きさ（Ｙ軸の値）が所定以上であって、波形のピーク数が所定数（例えば、１２）を超えた領域の所与の位置に、ダミーサンプルを挿入するようにしてもよい。かかる領域にダミーサンプルを挿入すれば、ダミーサンプルの再生音がマスキングされるからである。
【０１３５】
以上のように、サウンドバッファに格納されている音のサンプルの適切な位置にダミーサンプルを挿入することによって、ダミーサンプルの再生音を目立たないようにすることができる。
【０１３６】
また、ダミーサンプルを追加する位置が複数検出される際には、各位置の優先順位を決定して、優先順位の高い順に、ダミーサンプルを挿入するようにしてもよいし、検出された複数の位置それぞれに、ダミーサンプルを挿入するようにしてもよい。なお、複数の位置にダミーサンプルを挿入する場合には、挿入するダミーサンプルの合計が、遅延カウンタの値以下になるように制限する。
【０１３７】
また、ダミーサンプルを音のサンプルに挿入した際には、遅延カウンタの値から挿入分のダミーサンプル数を減算する処理を行う。ダミーサンプルを挿入することによって、音と動画とのズレ量が少なくなるからである。例えば、音サンプルにダミーサンプル（５０サンプル分）を挿入した際には、遅延カウンタの値から５０サンプルを減算する処理を行う。
【０１３８】
本実施形態では、ダミーサンプルの挿入する処理を行った後に、遅延カウンタの値からダミーサンプルの挿入分のサンプル数を減算する処理を行う。例えば、画像処理のフレームレートが６０ｆｐｓである場合には、１／６０毎に、動画が遅延しているか否かを判断し、遅延が生じている場合には、遅延カウンタの値に基づいて、ダミーサンプルを音サンプルに挿入し、挿入したダミーサンプル分のサンプル数を遅延カウンタの値から減算する処理を行う。
【０１３９】
２．５  再生周波数を補正周波数に設定し、かつ、ダミーサンプルを挿入する手法
本実施形態では再生周波数を補正周波数に設定する手法と、ダミーサンプルを挿入する手法を組み合わせて、動画と音とのズレを解消するようにしてもよい。
【０１４０】
例えば、再生周波数を補正周波数に設定することによって、動画と音とのズレを解消しようとしても、ズレ量が大きい場合には、同期するまでに時間を要したり、さらには最終的に同期させることができない場合が生じる。
【０１４１】
したがって、本実施形態では、遅延カウンタの値が所定値よりも大きい場合、つまり音と動画とのズレが大きい場合には、再生周波数を補正周波数に設定するだけでなく、ダミーサンプルを挿入することによって、ズレを解消するようにする。このようにすれば、動画と音とのズレ量が大きくても補正周波数によって音を再生するだけでなく、ダミーサンプルを挿入するので、結果として、音と動画とのズレを早期に解消することができるからである。
【０１４２】
例えば、遅延カウンタの値のしきい値を１６００サンプルに設定し、遅延カウンタの値が１６００サンプルよりも低い値である場合には、再生周波数を補正周波数に設定する手法のみによって、動画の遅延を解消するようにする。そして、遅延カウンタが１６００サンプル以上である場合には、ダミーサンプルを挿入する手法を採用するようにする。なお、かかる場合には、遅延カウンタの値は、補正した再生周波数及び再生時間に基づいて減算する処理を行うとともに、ダミーデータを挿入したサンプル数に応じて減算する処理を行う。
【０１４３】
３．  本実施形態の処理
次に図１０を用いて、本実施形態の手法を実現する処理例を詳細に説明する。
【０１４４】
本実施形態のゲーム装置では、動画を生成する処理（ステップＳ１００）と、音を再生する処理（ステップＳ２００）と、が同時に開始され、マルチスレッドによって処理が行われる。
【０１４５】
そして、動画を生成する処理においては、まず動画を構成する画像の計算処理が行われる（ステップＳ１１０）。例えば、オブジェクトの移動・動作演算や、頂点演算等を行う。次に、計算が終了したか否かを判断する（ステップＳ１２０）。つまり、監視対象のフレーム画像が、予定時間内に生成されたか否かを判断する。そして、計算が終了したと判断すると（ステップＳ１２０のＹｅｓ）、画像を表示する処理を行う（ステップＳ１３０）。一方、計算が終了していないと判断すると（ステップＳ１２０のＮｏ）、遅延量（例えば、画像の生成処理が予定時間を超過した超過時間に相当するサンプル数）を遅延カウンタの値に加算する処理を行い（ステップＳ１４０）、ステップＳ１１０に戻る。なお、画像計算は次のフレームタイミングに繰り越される。
【０１４６】
そして、全てのフレームの画像表示処理が終了したか否かを判断し（ステップＳ１５０）、全てのフレームの画像表示が終了していない場合には（ステップＳ１５０のＮｏ）は、ステップＳ１１０に戻りステップＳ１１０〜ステップ１５０の処理を繰り返し行う。そして、全てのフレームの画像表示が終了している場合には（ステップＳ１５０のＹｅｓ）は、動画を生成する処理を終了する。
【０１４７】
次に、音を再生する処理について説明する。まず、処理が開始された後（ステップＳ２００）に、遅延があるか否かを判断する（ステップＳ２１０）。例えば、遅延カウンタの値が零より大きい値か否かを判断する。遅延があると判断される場合には（ステップＳ２１０のＹｅｓ）、再生補正計算が行われる（ステップＳ２２０）。例えば、補正周波数を求め、求めた補正周波数を再生周波数として設定する処理や、ダミーサンプルをサウンドバッファの音のサンプルに挿入する処理等が行われる。そして、解消したサンプル数を、遅延カウンタの値から減算する処理を行う（ステップＳ２３０）。
【０１４８】
一方、遅延がないと判断される場合には（ステップＳ２１０のＮｏ）、通常の音を再生するための計算処理が行われる（ステップＳ２４０）。
【０１４９】
そして、音を再生する処理を行い（ステップＳ２５０）、全てのフレームの画像表示が終了したか否かを判断し（ステップＳ２６０）、全てのフレームの画像表示が終了していない場合には（ステップＳ２６０のＮｏ）は、ステップＳ２１０に戻り、ステップＳ２１０〜ステップＳ２６０の処理を繰り返し行う。そして、全てのフレームの画像表示が終了している場合には（ステップＳ２６０のＹｅｓ）は、処理を終了する。
【図面の簡単な説明】
【０１５０】
【図１】本実施形態のゲーム装置の機能ブロック図の例。
【図２】図２（Ａ）、（Ｂ）は、音声と動画の同期、ズレを説明するための図。
【図３】図３は、補正周波数について説明図。
【図４】図４は、補正周波数について説明図。
【図５】図５は、補正周波数について説明図。
【図６】図６は、ダミーサンプルを挿入する手法に関する説明図。
【図７】図７は、ダミーサンプルを挿入する手法に関する説明図。
【図８】図８は、ダミーサンプルを挿入する手法に関する説明図。
【図９】図９（Ａ）（Ｂ）（Ｃ）は、ダミーサンプルを挿入する手法に関する説明図。
【図１０】図１０は、本実施形態の処理のフローチャート。
【符号の説明】
【０１５１】
１００  処理部、１１１  オブジェクト空間設定部、１１２  移動・動作処理部、
１１３  仮想カメラ制御部、１１４  画像生成処理判断部、
１１５  遅延カウンタ制御部、１２０  描画部、
１３０  オーディオ処理部、１３１  音再生部、１３２  遅延制御部、
１３３  再生周波数設定部、１３４  遅延カウンタ制御部、１３５  音データ制御部、
１６０  操作部、１７０  記憶部、１７２  主記憶部、１７４  描画バッファ、
１７６  サウンドバッファ、１７８  遅延カウンタ、１８０  情報記憶媒体、
１９０  表示部、１９２  音出力部、１９６  通信部
【図１】
2009005910.tif 000003
【図２】
2009005910.tif 000004
【図３】
2009005910.tif 000005
【図４】
2009005910.tif 000006
【図５】
2009005910.tif 000007
【図６】
2009005910.tif 000008
【図７】
2009005910.tif 000009
【図８】
2009005910.tif 000010
【図９】
2009005910.tif 000011
【図１０】
2009005910.tif 000012