JP2009005910A - Program, information storage medium, game device - Google Patents
Program, information storage medium, game device Download PDFInfo
- Publication number
- JP2009005910A JP2009005910A JP2007170302A JP2007170302A JP2009005910A JP 2009005910 A JP2009005910 A JP 2009005910A JP 2007170302 A JP2007170302 A JP 2007170302A JP 2007170302 A JP2007170302 A JP 2007170302A JP 2009005910 A JP2009005910 A JP 2009005910A
- Authority
- JP
- Japan
- Prior art keywords
- sound
- value
- moving image
- delay counter
- frequency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、プログラム、情報記憶媒体、ゲーム装置に関する。 The present invention relates to a program, an information storage medium, and a game device.
従来から、動画をリアルタイムに生成する処理と、音を再生する処理とを並列に行うゲーム装置が存在する。このようなゲーム装置では、フレーム落ちが発生し、動画と音とにズレが生じる場合がある。ズレが僅かであれば、視聴者にとって違和感を与えることがないが、フレーム落ちが何度も発生することによって大きなズレが生じると、視聴者に違和感を与えてしまう。 2. Description of the Related Art Conventionally, there are game devices that perform processing for generating a moving image in real time and processing for reproducing sound in parallel. In such a game device, a frame drop may occur, and there may be a gap between the moving image and the sound. If the shift is small, the viewer does not feel uncomfortable, but if a large shift occurs due to repeated frame dropping, the viewer will feel uncomfortable.
特許文献1では、早送り再生の際に音を間引く処理や、音の再生周波数を変更する処理を行い、早送り再生時の音の違和感を軽減させる例が記載されている。しかし、特許文献1に記載の発明は、フレーム落ち等の予期できないエラーが生じた場合に、動画と音とのズレを解消することはできない。
また、特許文献2では、映像が出力されるまでの遅延量を算出し、遅延量に基づいて映像と音との同期を図る例が記載されている。しかし、特許文献2に記載の発明は、映像と音とを同期させるタイミングが唐突であるので、音データに不連続部分が発生し、雑音が混在する音が再生される。したがって、視聴者に違和感を与える可能性がある。
Further,
また、特許文献3では、音と同期するように、画像生成を制御する手法が開示されている。しかし、特許文献3には、音に対する動画の遅延に対してズレを解消することはできない。
本発明は、以上のような課題に鑑みてなされたのものであり、その目的とするところは、動画を構成する画像をリアルタイムに生成する処理においてフレーム落ち等のエラーが発生し、音に対して動画が遅延することにより動画と音とにズレが生じても、視聴者に違和感なく動画と音とに生じたズレを解消することができるプログラム、情報記憶媒体、ゲーム装置を提供することにある。 The present invention has been made in view of the problems as described above. The object of the present invention is to generate an error such as a frame drop in a process for generating an image constituting a moving image in real time, and to generate a moving image with respect to sound. It is an object of the present invention to provide a program, an information storage medium, and a game device that can eliminate a gap between a moving image and a sound without causing a viewer to feel a sense of discomfort even if the moving image and the sound are shifted due to the delay.
(1)本発明は、
開始時期から動画を構成する画像を順次生成し、生成された画像を順次表示部に出力する処理を行う動画処理部と、
前記開始時期からの経過時間に応じた再生対象の音データを記憶部に順次読み込み、読み込まれた音データを順次再生する処理を行うオーディオ処理部とを含み、
前記動画処理部が、
動画を構成する画像が、予定時間以内に生成されたか否かを判断し、判断結果に基づいて、遅延カウンタの値を更新する処理を行い、
前記オーディオ処理部が、
前記遅延カウンタの値に基づいて、音に対して動画が遅延しているか否かを判断し、
前記動画が遅延していないと判断される場合には、基準周波数を再生周波数として設定して、基準周波数によって音データを再生する処理を行い、
前記動画が遅延していると判断される場合には、前記遅延カウンタの値に基づいて前記基準周波数よりも低い補正周波数を再生周波数として設定して、補正周波数によって音データを再生する処理と、遅延カウンタの値を更新する処理とを行い、
前記動画処理部が、
前記動画を構成する画像が、予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値を、遅延カウンタの値に加算する処理を行い、
前記オーディオ処理部が、
前記補正周波数による音データの再生時間に応じた値を、遅延カウンタの値から減算する処理を行うことを特徴とするゲーム装置に関する。
(1) The present invention
A moving image processing unit that sequentially generates images constituting a moving image from the start time, and sequentially outputs the generated images to the display unit;
An audio processing unit that sequentially reads sound data to be played in accordance with an elapsed time from the start time into a storage unit, and performs a process of sequentially playing the read sound data;
The moving image processing unit
Determine whether the images that make up the video were generated within the scheduled time, and update the value of the delay counter based on the determination result,
The audio processing unit is
Based on the value of the delay counter, determine whether the video is delayed with respect to the sound,
When it is determined that the moving image is not delayed, the reference frequency is set as the reproduction frequency, and the sound data is reproduced according to the reference frequency.
When it is determined that the moving image is delayed, a process of setting a correction frequency lower than the reference frequency as a reproduction frequency based on the value of the delay counter and reproducing sound data using the correction frequency; Process to update the value of the delay counter,
The moving image processing unit
When it is determined that the image constituting the video is not generated within the scheduled time, a value corresponding to the excess time exceeding the scheduled time is added to the value of the delay counter,
The audio processing unit is
The present invention relates to a game apparatus characterized by performing a process of subtracting a value corresponding to a reproduction time of sound data by the correction frequency from a value of a delay counter.
また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータに読み取り可能な情報記憶媒体に関するものである。 The present invention also relates to a program that causes a computer to function as each of the above-described units and a computer-readable information storage medium that stores such a program.
本発明は、動画を構成する画像が予定時間以内に生成されないことによって生じる動画と音とのズレを、解消することができる。すなわち、本発明によれば、遅延カウンタの値を参照することによって、動画が遅延しているか否かを判断し、音に対して動画が遅延していると判断される場合には、基準周波数よりも低い補正周波数によって音データを再生し、音の再生速度を減速させる。したがって、音に対する動画の遅延を解消することができる。 According to the present invention, it is possible to eliminate a shift between a moving image and sound that occurs when an image constituting a moving image is not generated within a scheduled time. That is, according to the present invention, it is determined whether the moving image is delayed by referring to the value of the delay counter, and when it is determined that the moving image is delayed with respect to the sound, The sound data is reproduced with a lower correction frequency, and the sound reproduction speed is reduced. Therefore, the delay of the moving image with respect to the sound can be eliminated.
本発明によれば、動画を構成する画像をリアルタイムに生成する処理において、例えば、フレーム落ち等のエラーによって、動画を構成する画像が予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値を、遅延カウンタの値に加算する処理を行う。そして、音を再生する処理において、動画の遅延を検出した際には、補正周波数による音データの再生時間に応じた値を、遅延カウンタの値から減算する処理を行う。つまり、本発明によれば、遅延カウンタの値の大小を、動画と音とのズレ量(音に対する動画の遅延量)として判断することができる。 According to the present invention, in the process of generating the image constituting the moving image in real time, for example, when it is determined that the image constituting the moving image is not generated within the scheduled time due to an error such as a frame drop, A process corresponding to the excess time exceeding the scheduled time is added to the value of the delay counter. Then, in the process of reproducing the sound, when a delay of the moving image is detected, a process of subtracting a value corresponding to the reproduction time of the sound data by the correction frequency from the value of the delay counter is performed. That is, according to the present invention, the magnitude of the value of the delay counter can be determined as the amount of deviation between the moving image and the sound (the moving image delay amount with respect to the sound).
したがって、本発明によれば、動画が遅延していると判断される場合には、動画と音とのズレ量に応じて、適切な補正周波数を再生周波数として設定することができる。例えば、遅延カウンタの値が大きい値程(動画と音とのズレが大きい程)、補正周波数を低い帯域に設定することによって、音の再生速度を減速させることができる。 Therefore, according to the present invention, when it is determined that the moving image is delayed, an appropriate correction frequency can be set as the reproduction frequency in accordance with the amount of deviation between the moving image and the sound. For example, the larger the value of the delay counter (the greater the difference between the moving image and the sound), the slower the sound reproduction speed can be set by setting the correction frequency to a lower band.
(2)また、本発明のゲーム装置、プログラム及び情報記憶媒体では、
前記オーディオ処理部が、
前記動画が遅延していると判断される場合には、再生中の再生周波数と補正周波数との差分が所定帯域に制限されるように、前記遅延カウンタの値に基づいて前記基準周波数よりも低い補正周波数を求め、求めた補正周波数を再生周波数として設定するようにしてもよい。
(2) Also, in the game device, program, and information storage medium of the present invention,
The audio processing unit is
When it is determined that the moving image is delayed, the difference between the reproduction frequency being reproduced and the correction frequency is lower than the reference frequency based on the value of the delay counter so that the difference is limited to a predetermined band. The correction frequency may be obtained and the obtained correction frequency may be set as the reproduction frequency.
本発明によれば、再生中の再生周波数と補正周波数との差分が所定帯域に制限されるように、遅延カウンタの値に基づいて基準周波数よりも低い再生周波数を求めるので、再生周波数の変化に伴う音程の変化を視聴者に気付かれないようにすることができる。つまり、再生中の再生周波数と補正周波数との差分が大きい場合には、視聴者に音程の変化に察知されてしまう可能性が高くなるが、本願発明によれば、再生中の再生周波数と補正周波数との差分を所定帯域に制限することによって、再生周波数の変化に伴う再生音の音程の変化を制限することができるので、視聴者に音程の変化を察知されないようにすることができる。例えば、所定帯域を、多くの視聴者が察知できない帯域に制限するようにすれば、視聴者に音程の変化に伴う違和感を与えないようにすることができる。 According to the present invention, since the reproduction frequency lower than the reference frequency is obtained based on the value of the delay counter so that the difference between the reproduction frequency being reproduced and the correction frequency is limited to a predetermined band, the reproduction frequency is changed. It is possible to prevent the viewer from noticing the accompanying change in pitch. That is, if the difference between the reproduction frequency being reproduced and the correction frequency is large, there is a high possibility that the viewer will be perceived by a change in the pitch, but according to the present invention, the reproduction frequency being reproduced and the correction frequency are corrected. By limiting the difference from the frequency to a predetermined band, it is possible to limit the change in the pitch of the reproduced sound that accompanies the change in the reproduction frequency, so that the viewer cannot perceive the change in the pitch. For example, if the predetermined band is limited to a band that many viewers cannot perceive, it is possible to prevent the viewer from feeling uncomfortable with the change in pitch.
(3)また、本発明は、
開始時期から動画を構成する画像を順次生成し、生成された画像を順次表示部に出力する処理を行う動画処理部と、
前記開始時期からの経過時間に応じた再生対象の音データを記憶部に順次読み込み、読み込まれた音データを順次再生する処理を行うオーディオ処理部とを含み、
前記動画処理部が、
動画を構成する画像が、予定時間以内に生成されたか否かを判断し、判断結果に基づいて、遅延カウンタの値を更新する処理を行い、
前記オーディオ処理部が、
前記遅延カウンタの値に基づいて、音に対して動画が遅延しているか否かを判断し、
前記動画が遅延していると判断される場合には、記憶部に再生対象としてダミー音データを挿入する処理と、遅延カウンタの値を更新する処理とを行い、
前記動画処理部が、
前記動画を構成する画像が、予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値を、遅延カウンタの値に加算する処理を行い、
前記オーディオ処理部が、
前記ダミー音データの挿入量に応じた値を、遅延カウンタの値から減算する処理を行うことを特徴とするゲーム装置に関する。
(3) The present invention also provides:
A moving image processing unit that sequentially generates images constituting a moving image from the start time, and sequentially outputs the generated images to the display unit;
An audio processing unit that sequentially reads sound data to be played in accordance with an elapsed time from the start time into a storage unit, and performs a process of sequentially playing the read sound data;
The moving image processing unit
Determine whether the images that make up the video were generated within the scheduled time, and update the value of the delay counter based on the determination result,
The audio processing unit is
Based on the value of the delay counter, determine whether the video is delayed with respect to the sound,
When it is determined that the moving image is delayed, a process of inserting dummy sound data as a reproduction target in the storage unit and a process of updating the value of the delay counter are performed.
The moving image processing unit
When it is determined that the image constituting the video is not generated within the scheduled time, a value corresponding to the excess time exceeding the scheduled time is added to the value of the delay counter,
The audio processing unit is
The present invention relates to a game apparatus characterized by performing a process of subtracting a value corresponding to an insertion amount of the dummy sound data from a value of a delay counter.
また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータに読み取り可能な情報記憶媒体に関するものである。 The present invention also relates to a program that causes a computer to function as each of the above-described units and a computer-readable information storage medium that stores such a program.
本発明は、動画を構成する画像が予定時間以内に生成されないことによって生じる動画と音とのズレを、解消することができる。すなわち、本発明によれば、遅延カウンタの値を参照することによって、動画が遅延しているか否かを判断し、音に対して動画が遅延していると判断される場合には、記憶部に再生対象としてダミー音データを挿入し、挿入されたダミー音データと含む音データを再生するので、音に対して動画が遅延することによって生じるズレを解消することができる。 According to the present invention, it is possible to eliminate a shift between a moving image and sound that occurs when an image constituting a moving image is not generated within a scheduled time. That is, according to the present invention, it is determined whether or not the moving image is delayed by referring to the value of the delay counter, and when it is determined that the moving image is delayed with respect to the sound, Since the dummy sound data is inserted as a reproduction target and the sound data including the inserted dummy sound data is reproduced, the deviation caused by the delay of the moving image with respect to the sound can be eliminated.
また、本発明によれば、動画を構成する画像をリアルタイムに生成する処理において、例えばフレーム落ち等のエラーによって動画を構成する画像が予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値を、遅延カウンタの値に加算する処理を行う。そして、音を再生する処理において、ダミー音データの挿入量に応じた値を遅延カウンタの値から減算する処理を行う。したがって、本発明によれば、遅延カウンタの値の大小を、動画と音とのズレ量(音に対する動画の遅延量)として判断することができる。 Further, according to the present invention, in the process of generating the image constituting the moving image in real time, for example, when it is determined that the image constituting the moving image is not generated within the scheduled time due to an error such as a frame drop, A process corresponding to the excess time exceeding the scheduled time is added to the value of the delay counter. Then, in the process of reproducing the sound, a process of subtracting a value corresponding to the insertion amount of dummy sound data from the value of the delay counter is performed. Therefore, according to the present invention, the magnitude of the value of the delay counter can be determined as the shift amount between the moving image and the sound (the moving image delay amount with respect to the sound).
(4)また、本発明のゲーム装置、プログラム及び情報記憶媒体では、
前記オーディオ処理部が、
前記ダミー音データのサイズを、前記遅延カウンタの値に応じて求めるようにしてもよい。
(4) In the game device, program, and information storage medium of the present invention,
The audio processing unit is
The size of the dummy sound data may be obtained according to the value of the delay counter.
本発明によれば、動画と音とのズレ量を示す遅延カウンタの値に応じて、適切なダミー音データのサイズを求めることができる。例えば、遅延カウンタの値が大きい値の場合(動画と音とのズレが大きい場合)には、遅延カウンタの値が小さい値の場合(動画と音とのズレが小さい場合)よりも、大きいサイズのダミー音データを挿入するようにする。このようにすれば、動画と音とのズレが大きい場合でも、早期に動画と音との同期を図るようにすることができる。 According to the present invention, an appropriate size of dummy sound data can be obtained according to the value of the delay counter indicating the amount of deviation between the moving image and the sound. For example, when the value of the delay counter is large (when the difference between the moving image and the sound is large), the size is larger than when the value of the delay counter is small (when the difference between the moving image and the sound is small). The dummy sound data is inserted. In this way, even when the gap between the moving image and the sound is large, the synchronization between the moving image and the sound can be achieved at an early stage.
(5)また、本発明のゲーム装置、プログラム及び情報記憶媒体では、
前記オーディオ処理部が、
記憶部に読み込まれた複数の音データからなる音データ列において、再生音の振幅の大きさが所定値よりも低い再生位置を検出し、検出した再生位置に前記ダミー音データを挿入するようにしてもよい。
(5) Moreover, in the game device, program and information storage medium of the present invention,
The audio processing unit is
In a sound data string composed of a plurality of sound data read into the storage unit, a reproduction position where the amplitude of the reproduction sound is lower than a predetermined value is detected, and the dummy sound data is inserted into the detected reproduction position. May be.
本発明によれば、複数の音データからなる音データ列のうち、再生音の振幅の大きさが所定値よりも低い再生位置を検出し、検出した再生位置にダミー音データを挿入する。したがって、音量の低い再生位置にダミー音データを挿入するので、ダミー音データの再生音を視聴者に気付かれないようにすることができる。 According to the present invention, a playback position in which the amplitude of the playback sound is lower than a predetermined value is detected from a sound data string composed of a plurality of sound data, and dummy sound data is inserted into the detected playback position. Therefore, since the dummy sound data is inserted at the reproduction position where the volume is low, it is possible to prevent the viewer from noticing the reproduction sound of the dummy sound data.
(6)また、本発明のゲーム装置、プログラム及び情報記憶媒体では、
前記オーディオ処理部が、
記憶部に読み込まれた複数の音データからなる音データ列において、再生音の振幅変化率が低い再生位置を検出し、検出した再生位置に前記ダミー音データを挿入するようにしてもよい。
(6) In the game device, program, and information storage medium of the present invention,
The audio processing unit is
In a sound data sequence composed of a plurality of sound data read into the storage unit, a reproduction position with a low amplitude change rate of the reproduced sound may be detected, and the dummy sound data may be inserted into the detected reproduction position.
本発明によれば、複数の音データからなる音データ列において、再生音の振幅変化率が低い再生位置を検出し、検出した再生位置にダミー音データを挿入するので、音データとダミー音データとのデータの不連続の段差を小さくすることができる。つまり、データの不連続の段差によって生じるノイズ(雑音)の発生を防ぐことができるので、視聴者に違和感なく、ダミー音データを挿入することができる。 According to the present invention, since the reproduction position where the amplitude change rate of the reproduced sound is low is detected and the dummy sound data is inserted into the detected reproduction position in the sound data string composed of a plurality of sound data, the sound data and the dummy sound data The discontinuous step of the data can be reduced. That is, since it is possible to prevent the occurrence of noise (noise) caused by discontinuous steps in the data, it is possible to insert dummy sound data without causing the viewer to feel uncomfortable.
(7)また、本発明のゲーム装置、プログラム及び情報記憶媒体では、
前記オーディオ処理部が、
記憶部に読み込まれた複数の音データからなる音データ列において、再生音に含まれる周波数成分の量が所定量よりも多い再生位置を検出し、検出した再生位置に前記ダミー音データを挿入するようにしてもよい。
(7) Also, in the game device, program and information storage medium of the present invention,
The audio processing unit is
In a sound data string composed of a plurality of sound data read into the storage unit, a reproduction position where the amount of frequency components contained in the reproduction sound is larger than a predetermined amount is detected, and the dummy sound data is inserted into the detected reproduction position. You may do it.
本発明によれば、複数の音データからなる音データ列のうち、再生音に含まれる周波数成分の量が所定量よりも多い再生位置にダミー音データを挿入するので、挿入されたダミー音データのノイズがマスキングされる。つまり、ダミー音データの再生音を目立たなくすることができ、視聴者に違和感を与えずに動画と音とのズレを解消することができる。 According to the present invention, since the dummy sound data is inserted into the reproduction position where the amount of the frequency component included in the reproduced sound is larger than the predetermined amount in the sound data string composed of a plurality of sound data, the inserted dummy sound data Noise is masked. That is, the reproduction sound of the dummy sound data can be made inconspicuous, and the difference between the moving image and the sound can be eliminated without giving the viewer a sense of incongruity.
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。 Hereinafter, this embodiment will be described. In addition, this embodiment demonstrated below does not unduly limit the content of this invention described in the claim. In addition, all the configurations described in the present embodiment are not necessarily essential configuration requirements of the present invention.
1.構成
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1. Configuration Hereinafter, the present embodiment will be described. In addition, this embodiment demonstrated below does not unduly limit the content of this invention described in the claim. In addition, all the configurations described in the present embodiment are not necessarily essential configuration requirements of the present invention.
図1に本実施形態のゲーム装置(画像生成システム)の機能ブロック図の例を示す。なお本実施形態のゲーム装置は図1の構成要素(各部)の一部を省略した構成としてもよい。 FIG. 1 shows an example of a functional block diagram of the game apparatus (image generation system) of the present embodiment. Note that the game device of this embodiment may have a configuration in which some of the components (each unit) in FIG. 1 are omitted.
操作部160は、プレーヤが移動体の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
The
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM、VRAMなどにより実現できる。そして、本実施形態の記憶部170は、処理部100のワーク領域となる主記憶部172、画像を構成するピクセルの色情報等(画像情報)が記憶される描画バッファ174と、再生対象の音データが記憶されるサウンドバッファ176と、音に対する動画の遅延量(動画と音とのズレ量)を示す遅延カウンタ178とを含む。
The
特に、本実施形態のサウンドバッファ176には、情報記憶媒体180に記憶されている音のサンプル(音データ)のうち、再生対象となる音のサンプルがロードされる。つまり、情報記憶媒体180に記憶されている音のサンプルがサウンドバッファ176に順次読み込まれる。ここで、サンプルとは、時間的に区切られた音信号のデータであり、アナログ信号をデジタル信号に変換する標本化(サンプリング)によって得られる時間的に離散的な時点の値とすることができる。
In particular, among the sound samples (sound data) stored in the
また、本実施形態のサウンドバッファ176は、音のサンプルにダミーサンプル(ダミー音データ)を挿入し、ダミーサンプルを含む音のサンプルを記憶してもよい。
Further, the
ここで、ダミーサンプルとは、動画の遅延によって生じた動画と音とのズレを解消するために、情報記憶媒体180からサウンドバッファ176にロードされた音のサンプルに追加(挿入)されるサンプルである。例えば、ダミーサンプルは、無音からなるサンプルとすることができる。また、ダミーサンプルは、音データ制御部135において検出された位置のサンプルを冗長化したサンプルとしてもよい。
Here, the dummy sample is a sample that is added (inserted) to the sound sample loaded from the
また、サウンドバッファ176は、複数のサウンドバッファを確保してもよい。例えば、音データ制御部135において、情報記憶媒体180に記憶されている音のサンプルが第1のサウンドバッファに順次読み込まれた音のサンプルにおいて、ダミーサンプルの挿入位置を検出し、検出された位置にダミーサンプルを挿入する。そして、挿入された音のサンプル(ダミーサンプルを含む音のサンプル)を、第2のサウンドバッファに記憶するようにしてもよい。なお、かかる場合には、音再生部131では、動画の遅延が生じていない場合には、第1のサウンドバッファに記憶されている音のサンプルを再生する処理を行い、動画の遅延が生じている場合には、第2のサウンドバッファに記憶されている音のサンプルを再生するようにしてもよい。
The
また、本実施形態の遅延カウンタ178は、音に対する動画の遅延量(音と動画とのズレ量)を示すデータであり、たとえば、サンプルや、秒、フレームを単位とするデータとすることができる。また、本実施形態の遅延カウンタ178の値は、動画処理部110の画像生成処理判断部114による判断結果に基づいて更新される。より具体的に説明すると、遅延カウンタ178の値は、画像生成処理判断部114において、動画を構成する画像が、予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値が加算される。
The
また、本実施形態の遅延カウンタ178は、オーディオ処理部130において、遅延判断部132による判断結果に基づいて更新される。より具体的に説明すると、遅延カウンタの値から、補正周波数による音データの再生時間に応じた値を減算する。また、遅延カウンタの値から、ダミーサンプルの挿入量(サンプル数)に応じた値を減算する。
Further, the
なお、本実施形態の遅延カウンタ178は、動画処理部110、オーディオ処理部130双方共に更新する処理を行うことができる。したがって、動画処理部110、オーディオ処理部130それぞれにおいて、遅延カウンタ178の値を更新する際には、排他制御を行う。つまり、動画処理部110において、遅延カウンタ178の値を更新する際には、オーディオ処理部130において、遅延カウンタの値の更新ができないようにロックをし、動画処理部110において遅延カウンタの値の更新後、ロックを解除する処理を行う。一方、オーディオ処理部130において、遅延カウンタ178の値を更新する際には、動画処理部110において、遅延カウンタの値の更新ができないようにロックをし、オーディオ処理部130において遅延カウンタの値の更新後、ロックを解除する処理を行う。
Note that the
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)、メモリカードなどにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。すなわち、情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。また、情報記憶媒体180には、プレーヤの個人データやゲームのセーブデータなどを記憶するようにしてもよい。また、本実施形態の情報記憶媒体180には、オーディオ処理部130において、音データを順次再生する処理を行うための、サウンドバッファ176にロードする音のサンプル(音データ)を記憶することができる。
The information storage medium 180 (computer-readable medium) stores programs, data, and the like, and functions as an optical disk (CD, DVD), magneto-optical disk (MO), magnetic disk, hard disk, and magnetic tape. Alternatively, it can be realized by a memory (ROM), a memory card, or the like. The
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバ)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバ)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
Note that a program (data) for causing a computer to function as each unit of the present embodiment is distributed from the information storage medium of the host device (server) to the information storage medium 180 (storage unit 170) via the network and
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
The
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、動画を構成する画像を生成する画像生成処理、或いは音を再生する処理等を行う。処理部100は、記憶部170内の主記憶部172をワーク領域として各種処理を行い、処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
The processing unit 100 (processor) performs game processing, image generation processing for generating images constituting a moving image, processing for reproducing sound, and the like based on operation data and programs from the
また、処理部100は、動画処理部110、オーディオ処理部130を含み、動画処理部110は、オブジェクト空間設定部111、移動・動作処理部112、仮想カメラ制御部113、画像生成処理判断部114、遅延カウンタ制御部115を含む。また、オーディオ処理部130は、音再生部131、遅延判断部132、再生周波数設定部133、遅延カウンタ制御部134、音データ制御部135とを含む。なお、これらの一部を省略する構成としてもよい。
The
動画処理部110は、オーディオ処理部の開始時期と同時に開始し、動画を構成する画像を順次生成し、生成された画像を順次表示部に出力する処理を行う。
The moving
オブジェクト空間設定部111は、移動体、物体、粒子、枯葉、雪、雨、キャラクタ、建物、球場、車、飛行機、船、潜水艦、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
The object
移動・動作処理部112は、オブジェクト(車、電車又は飛行機、枯葉、雪、雨等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、フレームレートに応じて順次求めるシミュレーション処理を行う。例えば、フレームレートが60fpsである場合には、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)、画像生成処理を行う時間の単位である。
The movement /
仮想カメラ制御部113は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
The virtual
例えば仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させる制御や、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
For example, when an object (eg, character, ball, car) is photographed from behind using a virtual camera, the position or rotation angle of the virtual camera (the direction of the virtual camera is set so that the virtual camera follows changes in the position or rotation of the object. ) To control. In this case, the virtual camera can be controlled based on information such as the position, rotation angle, or speed of the object obtained by the movement /
画像生成処理判断部114は、動画を構成する画像が、予定時間以内に生成されたか否かを判断する処理を行う。例えば、フレームレートが60fps(1/60秒毎)であり、毎フレームの画像について監視する場合には、1フレームの画像が、予定時間である1/60秒以内に、生成したか否かを判断する処理を行う。ここで、1フレームの画像の生成する処理とは、1フレームにおけるオブジェクトの移動・動作演算や、ポリゴンの頂点演算を行い最終的にフレームバッファに出力するまでの処理のことをいう。
The image generation
画像生成処理判断部114は、1/60秒以内に画像の生成されていないと判断される場合には、次のフレームタイミングで、当該画像が生成されたか否かを改めて判断する。例えば、A画像が1/60秒以内に生成されていない場合には、次のフレームタイミング(1/60秒後)において、A画像が生成されたか否かを判断する。
If it is determined that the image has not been generated within 1/60 seconds, the image generation
なお、画像生成処理判断部114は、所定のフレーム数が予定時間以内に生成されたか否かを判断してもよい。例えば、5フレーム分の画像が予定時間以内(例えば、60fpsの場合に5/60秒以内)に生成されたか否かを判断してもよい。
Note that the image generation
また、画像生成処理判断部114は、フレームレートが変更される際に、予定時間を変更するようにしてもよい。例えば、毎フレームの画像を判断する場合には、フレームレートが60fpsから30fpsに変更される際に、予定時間を1/60秒から、1/30秒に変更するようにしてもよい。
Further, the image generation
遅延カウンタ制御部115は、画像生成処理判断部114における判断結果に基づいて、遅延カウンタ178の値を更新する処理を行う。特に、遅延カウンタ制御部115は、動画を構成する画像が予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値を、遅延カウンタの値に加算する処理を行う。
The delay
例えば、基準周波数(48000Hz)によって音を再生すると共に画像処理のフレームレートが60fpsであり、画像が予定時間(1/60秒)以内に生成されないと判断される場合に、遅延カウンタの単位をサンプルで扱う場合には、超過した分の800サンプルを、遅延カウンタの値に加算する処理を行う。つまり、1フレーム(1/60秒)分の音のサンプル数に相当する800サンプルを遅延カウンタの値に加算する処理を行う。また、遅延カウンタを時間を単位として制御する場合には、1/60秒を遅延カウンタの値に加算する処理を行う。 For example, when the sound is reproduced at the reference frequency (48000 Hz) and the frame rate of the image processing is 60 fps, and it is determined that the image is not generated within the scheduled time (1/60 seconds), the unit of the delay counter is sampled. In the case of handling in (1), processing for adding the excess 800 samples to the value of the delay counter is performed. That is, a process of adding 800 samples corresponding to the number of sound samples for one frame (1/60 second) to the value of the delay counter is performed. When the delay counter is controlled in units of time, a process of adding 1/60 seconds to the value of the delay counter is performed.
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まず表示物(オブジェクト、モデル)を定義する各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含む表示物データ(オブジェクトデータ、モデルデータ)が入力され、入力された表示物データに含まれる頂点データに基づいて、頂点処理が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、表示物を構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
The
なお描画部120が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
The vertex processing and pixel processing performed by the
そして描画部120は、表示物を描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
The
ジオメトリ処理では、表示物に関して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)の表示物データ(表示物の頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、主記憶部172に保存される。
In the geometry processing, processing such as coordinate conversion, clipping processing, perspective projection conversion, or light source calculation is performed on the display object. Then, display object data after geometric processing (after perspective projection conversion) (position coordinates of vertex of the display object, texture coordinates, color data (luminance data), normal vector, α value, etc.) is stored in the
テクスチャマッピングは、記憶部170に記憶されるテクスチャ(テクセル値)を表示物にマッピングするための処理である。具体的には、表示物の頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャを表示物にマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
Texture mapping is a process for mapping a texture (texel value) stored in the
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。 As the hidden surface removal processing, hidden surface removal processing can be performed by a Z buffer method (depth comparison method, Z test) using a Z buffer (depth buffer) in which Z values (depth information) of drawing pixels are stored. . That is, when drawing pixels corresponding to the primitive of the object are drawn, the Z value stored in the Z buffer is referred to. Then, the Z value of the referenced Z buffer is compared with the Z value at the drawing pixel of the primitive, and the Z value at the drawing pixel is a Z value (for example, a small Z value) on the near side when viewed from the virtual camera. In some cases, the drawing process of the drawing pixel is performed and the Z value of the Z buffer is updated to a new Z value.
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより2つの色を合成した色を求める処理を行う。 α blending (α synthesis) is a translucent synthesis process (usually α blending, addition α blending, subtraction α blending, or the like) based on an α value (A value). For example, in normal α blending, a process for obtaining a color obtained by combining two colors by performing linear interpolation with the α value as the strength of synthesis is performed.
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えばRGBの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。 The α value is information that can be stored in association with each pixel (texel, dot), and is, for example, plus alpha information other than color information indicating the luminance of each RGB color component. The α value can be used as mask information, translucency (equivalent to transparency and opacity), bump information, and the like.
オーディオ処理部130は、動画処理部110と同時期に開始する開始時期からの経過時間に応じた再生対象の音のサンプル(音データ)をサウンドバッファ176に順次読み込み、読み込まれた音のサンプルを順次再生する処理を行う。
The audio processing unit 130 sequentially reads sound samples (sound data) to be reproduced according to the elapsed time from the start time that starts at the same time as the moving
音再生部131は、再生周波数によって、サウンドバッファ176に読み込まれた音のサンプルを再生する処理を行う。例えば、音再生部131は、基準周波数によって音のサンプルを再生する処理を行うようにしてもよいし、補正周波数によって音のサンプルを再生するようにしてもよい。
The
ここで、再生周波数とは、1秒間に再生(出力)する音のサンプル数である。例えば、DVDによって、通常の再生を行う際の基準周波数は48000Hzである。つまり、48000Hzの基準周波数によって音のサンプルを再生するとは、1秒間に48000サンプルの音を再生することを意味する。 Here, the reproduction frequency is the number of sound samples reproduced (output) per second. For example, the reference frequency when performing normal reproduction with a DVD is 48000 Hz. In other words, reproducing a sound sample with a reference frequency of 48000 Hz means reproducing a sound of 48000 samples per second.
また、音再生部131は、ダミーサンプル(ダミー音データ)が挿入された音のサンプルを再生する処理を行うようにしてもよい。
Further, the
また、音再生部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力することができる。
In addition, the sound reproduction unit 130 performs sound processing based on the results of various processes performed by the
遅延判断部132は、遅延カウンタ178の値に基づいて、音に対して動画が遅延しているか否かを判断する処理を行う。例えば、動画処理部110、オーディオ処理部130において同時に開始する開始時期における、遅延カウンタの値を初期値として、例えば零を設定する。つまり、音と動画が同期している場合の遅延カウンタの値を、零として設定する。そして、遅延カウンタの値を参照し、遅延カウンタの値が零より大きい値か否かを判断することによって、音に対して動画が遅延しているか否かを判断することができる。なお、遅延カウンタの値が零(又は零以下)である場合には遅延していないと判断する。
The
再生周波数設定部133は、遅延判断部132において、動画が遅延していないと判断される場合には、基準周波数を再生周波数として設定する処理を行う。また、再生周波数設定部133は、遅延判断部132において、動画が遅延していると判断される場合には、遅延カウンタの値に基づいて基準周波数よりも低い補正周波数を再生周波数として設定する処理を行う。
When the
また、再生周波数設定部133は、動画が遅延していると判断される場合には、再生中の再生周波数と補正周波数との差分が所定帯域に制限されるように、遅延カウンタの値に基づいて基準周波数よりも低い補正周波数を求め、求めた補正周波数を再生周波数として設定することができる。例えば、再生中の再生周波数と補正する再生周波数との差分が60Hzに制限されるようにする。例えば、再生中の再生周波数が48000Hzである場合には、47940Hzの補正周波数を再生周波数として設定することができる。
Further, when it is determined that the moving image is delayed, the reproduction
遅延カウンタ制御部134は、オーディオ処理部130において、遅延カウンタ178の値を更新する処理を行う。より具体的に説明すると、遅延カウンタ制御部134は、補正周波数による音データの再生時間に応じた値を、遅延カウンタの値から減算する処理を行う。例えば、遅延カウンタをサンプル単位で制御する場合には、補正周波数が47940Hzである場合には、1/60秒を再生することによって1サンプル分の音と動画のズレ量を解消することができるので、遅延カウンタの値から1サンプルを減算する処理を行う。
The delay
また、遅延カウンタ制御部134は、オーディオ処理部130において、ダミーサンプルを挿入する処理を行った場合には、挿入量に応じた値を、遅延カウンタの値から減算する処理を行う。例えば、挿入したダミーサンプルの挿入量が50サンプル分である場合には、遅延カウンタの値から50サンプルを減算する処理を行う。
In addition, when the audio processing unit 130 performs a process of inserting a dummy sample, the delay
音データ制御部135は、遅延判断部132において、動画が遅延していると判断される場合に、サウンドバッファ176に再生対象としてダミーサンプルを挿入する処理を行う。つまり、サウンドバッファ176に読み込まれた音のサンプルに、ダミーサンプルを挿入する処理を行う。なお、挿入したダミーサンプルを含む音のサンプルを、挿入前の音のサンプルが格納されていたサウンドバッファ176に再度格納し直してもよいし、別のサウンドバッファに格納してもよい。
When the
ここで、音のサンプルにダミーサンプルを挿入するとは、時間軸(時間領域)に基づく音(波形)の所与の位置に、ダミーサンプルを挿入することをいう。 Here, inserting a dummy sample into a sound sample means inserting a dummy sample at a given position of a sound (waveform) based on a time axis (time domain).
また音データ制御部135は、遅延カウンタの値に応じて、ダミーサンプルのサイズを求めてもよい。例えば、遅延カウンタの値が800サンプルである場合には、800サンプル以下のサンプル数のダミーサンプルを挿入することができる。なお、サウンドバッファに格納されるサイズが予め決められている場合には、既に読み込まれた音のサンプルのサイズとダミーサンプルのサイズの合計が、サウンドバッファに格納できるサイズ以下になるように、ダミーサンプルのサイズを決定する。
The sound
また、音データ制御部135は、サウンドバッファに読み込まれた音のサンプル(複数の音のサンプル)において、再生音の振幅の大きさが所定値よりも低い再生位置を検出し、検出した再生位置にダミーサンプルを挿入するようにしてもよい。ここで、振幅とは、時間領域を示す音の波形の振幅のことをいう。例えば、音データ制御部135は、音のサンプルのうち、振幅が10dB(デジベル)より低いサンプルを検出し、検出した位置にダミーサンプルを挿入するようにしてもよい。なお、音データ制御部135は、振幅が零に近いサンプルを検出し、検出したサンプルの位置に、検出したサンプルを冗長したダミーサンプルを挿入するようにしてもよい。
In addition, the sound
また、音データ制御部135は、サウンドバッファに読み込まれた複数の音のサンプルのうち、再生音の振幅変化率が低い再生位置を検出し、検出した再生位置にダミーサンプルを挿入するようにしてもよい。
Further, the sound
ここで振幅の変化率が低いとは、時間領域を示す音の波形において、音の波形の接線の傾き(微分係数)の絶対値が低いことをいう。例えば、音の波形の接線の傾きの絶対値が零であるサンプルを検出し、検出した位置にダミーサンプルを挿入するようにしてもよい。 Here, the low rate of change in amplitude means that the absolute value of the slope (differential coefficient) of the tangent line of the sound waveform is low in the sound waveform indicating the time domain. For example, a sample in which the absolute value of the slope of the tangent line of the sound waveform is zero may be detected, and a dummy sample may be inserted at the detected position.
また音データ制御部135は、サウンドバッファに読み込まれた複数の音のサンプルのうち、再生音に含まれる周波数成分の量が所定量よりも多い再生位置を検出し、検出した再生位置にダミーサンプルを挿入するようにしてもよい。ここで、再生音に含まれる周波数成分は、サウンドバッファに読み込まれた音のサンプルの時間領域の波形をフーリエ変換することによって求めることができる。本実施形態の音データ制御部135は、音のサンプルの時間領域の波形を所定領域に分け、領域毎に、周波数領域(横軸が周波数、縦軸が周波数成分の大きさ)の波形の面積を求めている。つまり、本実施形態では、周波数領域の波形の面積を再生音に含まれる周波数成分の量とみなし、周波数領域の波形の面積が所定量(所定面積)よりも多い領域の所与の位置を検出し、検出した位置にダミーサンプルを挿入する。なお、周波数領域の波形の面積は、周波数領域の波形を積分することによって求めることができる。また、時間領域の波形を複数の領域に分ける場合には、所定周期毎(例えば基本周期)に分けてもよい。
Also, the sound
なお、本実施形態のゲーム装置は、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。 Note that the game device of the present embodiment may be a system dedicated to the single player mode in which only one player can play, or may be a system having a multiplayer mode in which a plurality of players can play. Further, when a plurality of players play, game images and game sounds to be provided to the plurality of players may be generated using one terminal, or connected via a network (transmission line, communication line) or the like. Alternatively, it may be generated by distributed processing using a plurality of terminals (game machine, mobile phone).
2.本実施形態の手法
本実施形態のゲーム装置は、動画を生成する処理と、音を再生する処理とを同時期に開始する。つまり、本実施形態では、動画を構成する画像をリアルタイムに順次生成して出力する動画を生成する処理と、経過時間に応じた再生対象の音のサンプルをサウンドバッファに読み込み、読み込まれた音のサンプルを順次再生する処理とを同時に開始させて並列に処理を行う。
2. Method according to this embodiment The game device according to this embodiment starts a process for generating a moving image and a process for reproducing a sound at the same time. In other words, in the present embodiment, a process for generating a moving image that sequentially generates and outputs images constituting a moving image in real time, and a sample of a sound to be reproduced according to elapsed time is read into a sound buffer, and the read sound is The process of sequentially reproducing the samples is started at the same time, and the processes are performed in parallel.
そして、本実施形態では、DVD等の情報記憶媒体に記憶されている再生対象の音のサンプルを、順次サウンドバッファに読み込み、順次再生する処理を行う。音のサンプルは、動画内容をもとに、開始時期からの経過時間に応じて予め作成されているので、画像の生成処理にエラーが発生しない限り動画と再生音とが同期する。例えば、図2(A)に示すように、爆発画像が表示されるタイミングに爆発音を再生することができる。 In this embodiment, a sample of a sound to be played stored in an information storage medium such as a DVD is sequentially read into a sound buffer and sequentially played. Since the sound sample is created in advance according to the elapsed time from the start time based on the content of the moving image, the moving image and the reproduced sound are synchronized unless an error occurs in the image generation process. For example, as shown in FIG. 2A, the explosion sound can be reproduced at the timing when the explosion image is displayed.
しかし、画像の生成処理は予期できないエラーする場合が多い。なぜなら、画像を生成処理は、リアルタイムにオブジェクトの座標変換や頂点演算等を行うので、処理負荷が高まる傾向にありフレーム落ち等のエラーが発生する可能性が高いからである。例えば、図2(B)に示すように、フレーム落ちが発生すると、爆発音がタイミングT1で再生された後に、爆発画像がタイミングT2で表示されてしまう。 However, there are many cases where an image generation process causes an unexpected error. This is because the image generation processing performs coordinate conversion, vertex calculation, and the like of the object in real time, so that the processing load tends to increase and there is a high possibility that an error such as a frame drop will occur. For example, as shown in FIG. 2B, when a frame drop occurs, an explosion image is displayed at timing T2 after explosion sound is reproduced at timing T1.
そこで、本実施形態では、このように動画と音とのズレを解消するようにするため、音に対する動画の遅延を検出し、再生周波数を基準周波数よりも低い補正周波数によって再生する手法や、音のサンプルにダミーサンプルを挿入する手法を採用している。 Therefore, in this embodiment, in order to eliminate the gap between the moving image and the sound in this way, a method of detecting the delay of the moving image with respect to the sound and reproducing the reproduction frequency with a correction frequency lower than the reference frequency, A method of inserting a dummy sample into this sample is adopted.
2.1 遅延カウンタ
本実施形態では、遅延カウンタを用いて、動画を構成する画像をリアルタイムに生成する処理や、音を再生する処理を行う。遅延カウンタとは、音に対する動画の遅延量(ズレ量)を示し、本実施形態では、遅延カウンタの単位を音のサンプル数としている。
2.1 Delay Counter In this embodiment, a delay counter is used to perform processing for generating an image constituting a moving image in real time and processing for reproducing sound. The delay counter indicates a moving image delay amount (deviation amount) with respect to the sound. In this embodiment, the unit of the delay counter is the number of sound samples.
すなわち、遅延カウンタの値の大小は、動画と音とのズレ量として把握することができる。そこで、本実施形態では、遅延カウンタを参照することによって音に対して動画が遅延しているか否かを判断する。例えば、本実施形態では、動画を構成する画像をリアルタイムに生成する処理と、音を再生する処理とを同時期に開始し、開始時期に遅延カウンタの初期値を零に設定するので、遅延カウンタの値が零である場合には、動画と音との同期が図られている状態であると判断できる。また、遅延カウンタの値が零より大きい値である場合には、音に対して動画が遅延している状態であると判断できる。 That is, the magnitude of the value of the delay counter can be grasped as the amount of deviation between the moving image and the sound. Therefore, in this embodiment, it is determined whether the moving image is delayed with respect to the sound by referring to the delay counter. For example, in the present embodiment, the processing for generating an image constituting a moving image in real time and the processing for reproducing sound are started at the same time, and the initial value of the delay counter is set to zero at the start time. When the value of is zero, it can be determined that the moving image and the sound are synchronized. When the value of the delay counter is greater than zero, it can be determined that the moving image is delayed with respect to the sound.
なお、以下に説明するように、本実施形態では、動画と音とのズレ量の変化に応じて遅延カウンタの値を更新(加算、減算)する処理を行う。 Note that, as will be described below, in the present embodiment, processing for updating (adding or subtracting) the value of the delay counter is performed in accordance with a change in the amount of deviation between the moving image and the sound.
2.2 音に対する動画の遅延を検出する手法
本実施形態は、動画を構成する画像が、予定時間に生成されたか否かを判断し、判断結果に基づいて、遅延カウンタの値を更新する処理を行う。例えば、フレーム落ちのエラーが発生する等、動画を構成する画像が予定時間以内に生成されないと判断される場合には、予定時間を超過した超過時間に応じた遅延分のサンプル数を、遅延カウンタの値に加算する処理を行う。
2.2 Method for detecting a delay of a moving image with respect to sound In the present embodiment, processing for determining whether an image constituting a moving image is generated at a scheduled time and updating the value of a delay counter based on the determination result. I do. For example, if it is determined that an image constituting the video is not generated within the scheduled time, such as when a frame drop error occurs, the delay counter indicates the number of samples corresponding to the excess time exceeding the scheduled time. Processing to add to the value of.
より具体的に説明すると、まず、動画を構成する画像において、予め監視対象のフレーム数を決め、監視対象のフレーム数の画像が、予定時間以内に生成されたか否かを判断する。そして、予定時間以内に完了していないと判断される場合には、予定時間を超えた超過時間分に相当する音のサンプル数を、遅延カウンタの値に加算する処理を行う。 More specifically, first, the number of frames to be monitored is determined in advance in an image constituting a moving image, and it is determined whether or not an image having the number of frames to be monitored has been generated within a scheduled time. Then, when it is determined that it has not been completed within the scheduled time, a process of adding the number of sound samples corresponding to the excess time exceeding the scheduled time to the value of the delay counter is performed.
例えば、フレームレートが60fps(1/60秒毎)である場合であって、毎フレーム監視する場合には、監視対象の画像Aが、予定時間以内(1/60秒以内)に生成されたか否かを判断する。そして、画像Aが、予定時間(1/60秒)以内に生成されていないと判断される場合には、超過時間(1/60秒)に再生する音のサンプル数である800サンプルを、遅延カウンタの値に加算する処理を行う。 For example, when the frame rate is 60 fps (every 1/60 seconds) and every frame is monitored, whether the image A to be monitored is generated within the scheduled time (within 1/60 seconds). Determine whether. If it is determined that the image A has not been generated within the scheduled time (1/60 seconds), 800 samples, which are the number of sound samples to be reproduced during the excess time (1/60 seconds), are delayed. A process of adding to the counter value is performed.
一方、画像Aが、予定時間(1/60秒)以内に生成された場合には、遅延カウンタの値を更新することなく、動画を構成する次の画像を生成する処理を行う。 On the other hand, when the image A is generated within the scheduled time (1/60 seconds), the process of generating the next image constituting the moving image is performed without updating the value of the delay counter.
なお、予定時間(1/60秒)以内に画像Aが生成されない場合には、次のフレームタイミングに画像Aが予定時間(1/60秒)以内に生成されたか否かを判断する。例えば、画像Aが、次のフレームタイミングにおいても生成されない場合には、さらに超過時間(1/60秒)に再生する音のサンプル数である800サンプルを、遅延カウンタの値に加算する処理を行う。 If the image A is not generated within the scheduled time (1/60 seconds), it is determined whether or not the image A is generated within the scheduled time (1/60 seconds) at the next frame timing. For example, when the image A is not generated even at the next frame timing, a process of adding 800 samples, which is the number of sound samples to be reproduced in the excess time (1/60 seconds), to the value of the delay counter is performed. .
このように、本実施形態は、動画処理においてフレーム落ちが発生すると、遅延量に応じた音のサンプル数を、遅延カウンタの値に加算する。つまり、遅延カウンタの値が大きくなると、動画と音とのズレ量が大きいことを示すことになる。 As described above, in this embodiment, when a frame drop occurs in the moving image processing, the number of sound samples corresponding to the delay amount is added to the value of the delay counter. In other words, an increase in the delay counter value indicates that the amount of deviation between the moving image and the sound is large.
なお、本実施形態の動画を構成する画像をリアルタイムに生成する処理では、監視対象のフレーム数や、フレームレートを自由に変更してもよい。かかる場合には、動画の遅延を適切に検出するために、変更されたフレームレート、監視対象のフレーム数に応じて、予定時間を適宜変更する。 In addition, in the process of generating the image constituting the moving image of the present embodiment in real time, the number of frames to be monitored and the frame rate may be freely changed. In such a case, in order to appropriately detect the delay of the moving image, the scheduled time is appropriately changed according to the changed frame rate and the number of frames to be monitored.
2.3 再生周波数を補正周波数に設定する手法
本実施形態では、音を再生する処理において、遅延カウンタの値を参照し、音に対して動画が遅延していると判断される場合には、再生周波数を基準周波数よりも低い補正周波数に設定する。つまり、動画が音に対して遅延している場合には、音の再生速度を調整して、動画と音との同期を図ることを実現する。
2.3 Method of Setting Playback Frequency as Correction Frequency In the present embodiment, in the process of playing back sound, the value of the delay counter is referred to, and when it is determined that the moving image is delayed with respect to the sound, Set the reproduction frequency to a correction frequency lower than the reference frequency. That is, when the moving image is delayed with respect to the sound, it is possible to achieve the synchronization between the moving image and the sound by adjusting the sound reproduction speed.
本実施形態は、遅延カウンタの値が零である場合に、音と動画が同期していることになり、動画が零より大きい値である場合には、音に対して動画が遅延していることになる。したがって、音に対して動画が遅延しているか否かの判断は、遅延カウンタの値が零より大きい値であるか否かを判断することによって行う。 In this embodiment, when the value of the delay counter is zero, the sound and the moving image are synchronized, and when the moving image is larger than zero, the moving image is delayed with respect to the sound. It will be. Therefore, whether or not the moving image is delayed with respect to the sound is determined by determining whether or not the value of the delay counter is greater than zero.
なお、動画の遅延を判断するタイミングは、画像処理のフレームレートに応じて行う。例えば、画像処理のフレームレートが60fpsである場合には、1/60毎に動画が遅延しているか否かを判断する。 Note that the timing for determining the delay of the moving image is performed according to the frame rate of the image processing. For example, when the frame rate of the image processing is 60 fps, it is determined whether or not the moving image is delayed every 1/60.
そして、音に対して動画が遅延していると判断される場合には、再生周波数を補正周波数に設定する処理を行う。つまり、基準周波数(48000Hz)によって音のサンプルを再生していたところを、基準周波数よりも低い補正周波数によって音のサンプルを再生する処理を行う。このように、音の再生スピードを減速させることによって、音と動画とのズレを解消することができる。 When it is determined that the moving image is delayed with respect to the sound, processing for setting the reproduction frequency to the correction frequency is performed. That is, the process of reproducing the sound sample with the correction frequency lower than the reference frequency is performed for the sound sample reproduced with the reference frequency (48000 Hz). As described above, by decelerating the sound reproduction speed, it is possible to eliminate the difference between the sound and the moving image.
例えば、図3に示すように、動画を生成する処理においてフレーム落ちが発生し、遅延カウンタに800サンプルが加算される。すると、音を再生する処理において、動画が音に対して遅延していることを検出し、再生周波数を補正周波数に設定する処理を行う。例えば、再生周波数を、基準周波数の48000Hzから補正周波数の47940Hzに変更する処理を行う。 For example, as shown in FIG. 3, a frame drop occurs in the process of generating a moving image, and 800 samples are added to the delay counter. Then, in the process of reproducing the sound, it is detected that the moving image is delayed with respect to the sound, and the process of setting the reproduction frequency to the correction frequency is performed. For example, a process of changing the reproduction frequency from the reference frequency of 48000 Hz to the correction frequency of 47940 Hz is performed.
このように、本実施形態では、補正周波数によって音のサンプルを再生することによって、動画と音とのズレ量を解消することができる。例えば、図3に示すように、爆発画像と同じタイミングであるT2において、爆発音を再生することができる。 Thus, in this embodiment, the amount of deviation between the moving image and the sound can be eliminated by reproducing the sound sample with the correction frequency. For example, as shown in FIG. 3, the explosion sound can be reproduced at T2, which is the same timing as the explosion image.
具体的に再生周波数を補正周波数に設定する手法について説明すると、本実施形態では、遅延カウンタの値に基づいて再生周波数を補正周波数に設定する処理を行う。例えば、遅延カウンタが大きい値である程、音に対する動画の遅延量が大きいことを意味するので、遅延カウンタの値が大きい値である程、再生周波数を下げる(低くする)ようにする。再生周波数を低くする程、音の再生スピードを減速させることができ早期に同期を図ることができるからである。 A method for setting the reproduction frequency to the correction frequency will be described in detail. In the present embodiment, processing for setting the reproduction frequency to the correction frequency is performed based on the value of the delay counter. For example, a larger value of the delay counter means that the amount of delay of the moving image with respect to the sound is larger. Therefore, as the value of the delay counter is larger, the reproduction frequency is lowered (lowered). This is because as the reproduction frequency is lowered, the sound reproduction speed can be reduced and synchronization can be achieved early.
例えば、遅延カウンタの値が1〜800である場合には、再生周波数を47940Hzの補正周波数に設定し、遅延カウンタの値が801〜1600である場合には、再生周波数を47880Hzの補正周波数に設定し、遅延カウンタの値が1601〜2400である場合には、再生周波数を47820Hzの補正周波数に設定する、というように、遅延カウンタの値が800サンプル増加するのに応じて、再生周波数を60Hz下げた補正周波数に設定してもよい。 For example, when the delay counter value is 1 to 800, the reproduction frequency is set to a correction frequency of 47940 Hz, and when the delay counter value is 801 to 1600, the reproduction frequency is set to a correction frequency of 47880 Hz. When the value of the delay counter is 1601 to 2400, the reproduction frequency is set to a correction frequency of 47820 Hz, so that the reproduction frequency is decreased by 60 Hz as the value of the delay counter increases by 800 samples. The correction frequency may be set.
なお、本実施形態では、再生周波数が極端に低くならないように、遅延カウンタの値に関わらず、補正周波数を所定帯域に制限するようにしてもよい。再生周波数を極端に下げると、聴覚の優れている視聴者は再生音の音程の変化を察知してしまうからである。例えば、人の聴覚レベルにもよるが、再生周波数を47500〜48000Hzの帯域に制限するように、再生周波数を補正周波数に設定するようにしてもよい。 In the present embodiment, the correction frequency may be limited to a predetermined band regardless of the value of the delay counter so that the reproduction frequency does not become extremely low. This is because if the reproduction frequency is extremely lowered, a viewer with excellent hearing senses a change in the pitch of the reproduced sound. For example, although depending on the human auditory level, the reproduction frequency may be set to the correction frequency so that the reproduction frequency is limited to a band of 47500 to 48000 Hz.
そして、本実施形態では、補正周波数による音のサンプルの再生時間に応じた値を、遅延カウンタの値から減算する処理を行う。音に対する動画のズレ量が少なくなるからである。 In this embodiment, a process is performed in which a value corresponding to the reproduction time of the sound sample at the correction frequency is subtracted from the value of the delay counter. This is because the amount of displacement of the moving image with respect to the sound is reduced.
例えば、画像を生成する処理におけるフレームレートが60fpsである場合には、1/60秒毎に、補正周波数によって音のサンプルを再生することによってズレを解消できた動画と音とサンプル数を、遅延カウンタの値から減算する処理を行う。 For example, when the frame rate in the process of generating an image is 60 fps, the video, the sound, and the number of samples that can eliminate the deviation by reproducing the sound sample at the correction frequency every 1/60 seconds are delayed. A process of subtracting from the counter value is performed.
より具体的に説明すると、補正周波数が47940Hzである場合には、1/60秒において1サンプル分の遅延量を解消することができる。したがって、1フレームの画像生成の処理時間毎に1サンプルを遅延カウンタの値から減算する処理を行う。つまり、補正周波数が47940Hzである場合には、音を再生し続けることによって、800フレーム分の画像生成処理時間に相当する音の再生時間において、800サンプル分の遅延を解消することができ、動画と音との同期を図ることができる。 More specifically, when the correction frequency is 47940 Hz, the delay amount for one sample can be eliminated in 1/60 seconds. Therefore, a process of subtracting one sample from the value of the delay counter is performed every processing time for generating an image of one frame. In other words, when the correction frequency is 47940 Hz, by continuing to reproduce the sound, the delay of 800 samples can be eliminated in the sound reproduction time corresponding to the image generation processing time of 800 frames. And the sound can be synchronized.
なお、本実施形態では、1/60秒毎に、動画の遅延の判断を行い、動画の遅延が生じていると判断される場合には、再生周波数を補正周波数に設定し、遅延カウンタの値から解消できたサンプル数を減算する処理を行う。 In the present embodiment, the moving image delay is determined every 1/60 seconds, and when it is determined that the moving image delay has occurred, the reproduction frequency is set to the correction frequency and the value of the delay counter is set. Subtract the number of samples that can be resolved from.
そして、本実施形態では、音を再生する処理において、遅延カウンタの値が零になった場合には、動画の遅延がないものと判断されるので、基準周波数(48000Hz)によって、音のサンプルを再生し、動画と音との同期を維持することができる。 In the present embodiment, when the value of the delay counter becomes zero in the process of reproducing the sound, it is determined that there is no delay of the moving image. Therefore, the sound sample is obtained at the reference frequency (48000 Hz). You can play and keep the video and sound synchronized.
次に、段階的に再生周波数を補正周波数に設定する手法について説明する。例えば、動画を生成する処理において、フレーム落ちが発生することによって、遅延カウンタの値が加算された途端に、突然に再生周波数を基準周波数の48000Hzから、補正周波数の47640Hzに変更すると、再生音の音程の変化を視聴者に察知される可能性がある。 Next, a method for setting the reproduction frequency to the correction frequency step by step will be described. For example, when the playback frequency is suddenly changed from the reference frequency of 48000 Hz to the correction frequency of 47640 Hz as soon as the delay counter value is added due to the occurrence of a frame drop in the process of generating a moving image, the playback sound May be perceived by the viewer.
そこで、本実施形態では、再生中の再生周波数と補正周波数との差分が所定帯域に制限されるように、補正周波数を求める。例えば、再生中の再生周波数と補正周波数との差分を60Hzに制限し、60Hz毎に段階的に再生周波数を変化させるようにする。このようにすれば、音程の変化を緩やかにすることができ、視聴者に違和感を与えないようにすることができるからである。 Therefore, in this embodiment, the correction frequency is obtained so that the difference between the reproduction frequency being reproduced and the correction frequency is limited to a predetermined band. For example, the difference between the reproduction frequency during reproduction and the correction frequency is limited to 60 Hz, and the reproduction frequency is changed stepwise every 60 Hz. This is because the change in pitch can be moderated so that the viewer does not feel uncomfortable.
例えば、音を再生する処理において、動画の遅延を検出した際には、再生周波数を、基準周波数の48000Hzから、60Hz下げた補正周波数の47940Hzに設定し、設定された47940Hzの再生周波数によって、音のサンプルを再生する処理を行う。そして、所定の再生時間を経過後に、さらに、再生周波数を、再生中の再生周波数の47940Hzから、60Hz下げた補正周波数の47880Hzに設定し、設定された47880Hzの再生周波数によって、音のサンプルを再生する処理を行う。このように、60Hzずつ段階的に下げて、音のサンプルを再生するようにする。 For example, when a delay of a moving image is detected in the process of reproducing sound, the reproduction frequency is set to 47940 Hz, which is a correction frequency that is 60 Hz lower than the reference frequency of 48000 Hz, and the sound is reproduced by the set reproduction frequency of 47940 Hz. Process to play the sample. Then, after a predetermined playback time has elapsed, the playback frequency is further set to 47880 Hz, which is a correction frequency that is 60 Hz lower than the playback frequency of 47940 Hz being played back, and a sound sample is played back at the set playback frequency of 47880 Hz. Perform the process. In this way, sound samples are reproduced by stepping down by 60 Hz.
そして、同様に、補正周波数を上げる(高くする)際にも、60Hzずつ段階的に上げるようにする。例えば、再生中の再生周波数が47640Hzである場合には、再生周波数を47640Hzから60Hz上げた補正周波数の47700Hzに設定し、設定された47700Hzの再生周波数によって、音のサンプルを再生する処理を行う。 Similarly, when the correction frequency is increased (increased), it is increased stepwise by 60 Hz. For example, when the reproduction frequency being reproduced is 47640 Hz, the reproduction frequency is set to 47700 Hz, which is a correction frequency increased from 47640 Hz to 60 Hz, and a process of reproducing sound samples is performed at the set reproduction frequency of 47700 Hz.
図4は、遅延カウンタの値が800サンプルである場合に、170フレーム分の画像処理時間(170/60秒)をかけて、動画の遅延を解消する例を図示したものである。 FIG. 4 shows an example in which the delay of the moving image is eliminated by taking an image processing time (170/60 seconds) for 170 frames when the value of the delay counter is 800 samples.
つまり、図4は、設定された補正周波数と、各補正周波数に応じた、「1フレームの当たりの時間(1/60秒)で、動画と音とのズレを解消できるサンプル数」、「補正周波数を持続するフレーム数」、「補正周波数持続時間でズレを解消できるサンプル数の合計」、「減算前の遅延カウンタの値」、「減算後の遅延カウンタの値」を示す。 That is, FIG. 4 shows the set correction frequency and the “number of samples that can eliminate the deviation between the moving image and the sound in one frame per time (1/60 seconds)” and “correction” according to each correction frequency. The number of frames for which the frequency is maintained, the total number of samples that can eliminate the deviation with the correction frequency duration, the value of the delay counter before subtraction, and the value of the delay counter after subtraction are shown.
例えば、図4に示すように、47940Hzの補正周波数に設定された再生周波数によって、音のサンプルを再生すると、1フレームの当たりの時間(1/60秒)で1サンプルのズレを解消することができる。つまり、47940Hzの補正周波数を5フレーム分(5/60秒)持続することによって、5サンプルのズレを解消することができるので、5サンプルを遅延カウンタの値から減算する処理を行い、その結果、遅延カウンタの値は795サンプルになる。 For example, as shown in FIG. 4, when a sound sample is reproduced at a reproduction frequency set to a correction frequency of 47940 Hz, the deviation of one sample can be eliminated in a time per frame (1/60 seconds). it can. In other words, since the deviation of 5 samples can be eliminated by maintaining the correction frequency of 47940 Hz for 5 frames (5/60 seconds), a process of subtracting 5 samples from the value of the delay counter is performed. The value of the delay counter is 795 samples.
また、図4の例では、補正周波数を60Hz毎に段階的に変化させるようにし、最も低い47640Hzの補正周波数の再生時間(補正周波数を持続するフレーム数)を最も長くするようにしている。つまり、音の再生時間と再生周波数の変化グラフ化すると図5(A)に示すようになる。このようにすれば、段階的に再生周波数を設定しつつ、最も低い補正周波数における再生時間を長くすることによって、早期にズレを解消することができる。 In the example of FIG. 4, the correction frequency is changed step by step every 60 Hz, and the reproduction time (the number of frames that maintain the correction frequency) of the lowest correction frequency of 47640 Hz is made the longest. That is, when the change graph of the sound reproduction time and the reproduction frequency is graphed, it is as shown in FIG. In this way, it is possible to eliminate the shift at an early stage by setting the reproduction frequency stepwise and lengthening the reproduction time at the lowest correction frequency.
また、補正周波数に設定された再生周波数によって音のサンプルを再生している際に、さらに動画を構成する画像のフレーム落ちが発生し、遅延カウンタの値が増大した場合には、補正周波数をより低くなるように変更してもよいし、補正周波数の持続フレーム数(再生時間)を変更してもよい。つまり、遅延カウンタの値に基づいて、動的に補正周波数を設定し、補正周波数の持続フレーム数を決定してもよい。 In addition, when sound samples are played back at the playback frequency set as the correction frequency, if the frame loss of the images that make up the movie occurs and the value of the delay counter increases, the correction frequency can be increased. It may be changed to be lower, or the number of sustained frames (reproduction time) of the correction frequency may be changed. That is, the correction frequency may be dynamically set based on the value of the delay counter, and the number of sustained frames of the correction frequency may be determined.
例えば、図5(B)に示すように、再生周波数が徐々に基準周波数(47800Hz)に段階的に戻る時点で、遅延カウンタの値が増加したことを検出した場合には、検出した時点から再生周波数が段階的に下がるように補正周波数を設定してもよい。 For example, as shown in FIG. 5B, when it is detected that the value of the delay counter has increased when the reproduction frequency gradually returns to the reference frequency (47800 Hz) stepwise, the reproduction is started from the point of detection. The correction frequency may be set so that the frequency decreases stepwise.
このように、本実施形態では、基準周波数よりも低い補正周波数によって音のサンプルを再生することによって、動画と音とのズレを解消することができる。また、本実施形態では、遅延カウンタを用いて動画と音とのズレ量を把握することができるので、ゲーム装置の絶対的な時間軸を基準に、動画の遅延を逐次求める必要はないので、動画と音との同期を図るための処理負荷を抑えることができる。 As described above, in the present embodiment, the difference between the moving image and the sound can be eliminated by reproducing the sound sample with the correction frequency lower than the reference frequency. Further, in this embodiment, since it is possible to grasp the amount of deviation between the moving image and the sound using the delay counter, it is not necessary to sequentially obtain the moving image delay based on the absolute time axis of the game device. It is possible to reduce the processing load for synchronizing the moving image and the sound.
2.4 ダミーサンプルを挿入して音を再生する手法
本実施形態は、ダミーサンプルを挿入して音を再生する手法を採用している。つまり、本実施形態は、音を再生する処理において、動画が遅延していると判断すると、サウンドバッファに読み込まれた音のサンプルにダミーサンプルを挿入する処理を行い、挿入されたダミーサンプルを含む音のサンプルを再生する処理を行う。このようにすれば、音のサンプルにダミーサンプルが挿入されることにより、ダミーサンプル分の音の再生時間が増え、動画と音とのズレを解消することができるからである。
2.4 Technique for Reproducing Sound by Inserting Dummy Sample This embodiment employs a technique for reproducing sound by inserting a dummy sample. In other words, in the present embodiment, when it is determined that the moving image is delayed in the sound reproduction process, the dummy sample is inserted into the sound sample read into the sound buffer, and the inserted dummy sample is included. Performs playback of sound samples. By doing so, the dummy sample is inserted into the sound sample, so that the reproduction time of the sound for the dummy sample is increased, and the deviation between the moving image and the sound can be eliminated.
本実施形態は、音に対して動画が遅延しているか否かの判断は、上述したように、遅延カウンタの値に基づいて判断する。例えば、遅延カウンタの値が零より大きい値である場合には、遅延が発生しているものと判断する。 In the present embodiment, as described above, whether or not the moving image is delayed with respect to the sound is determined based on the value of the delay counter. For example, if the value of the delay counter is greater than zero, it is determined that a delay has occurred.
例えば、図6に示すように、動画を生成する処理において、フレーム落ちが発生し、遅延カウンタの値に800サンプルが加算されると、音を再生する処理において、動画の遅延を検出し、サウンドバッファに読み込まれた音のサンプルにダミーサンプルを挿入する処理を行う。このようにすれば、挿入したダミーサンプルに応じて、音の再生時間を長くすることができ、動画と音とのズレを解消することができる。したがって、図6に示すように、爆発画像と同じタイミングであるT2において、爆発音を再生することができる。なお、本実施形態は、動画を構成する画像のフレームレートにあわせて、動画が遅延しているか否かを判断する。例えば、画像処理のフレームレートが60fpsである場合には、1/60毎に動画が遅延しているか否かを判断する。 For example, as shown in FIG. 6, when a frame drop occurs in the process of generating a moving image and 800 samples are added to the value of the delay counter, the delay of the moving image is detected in the process of reproducing the sound, and the sound A dummy sample is inserted into the sound sample read into the buffer. In this way, the sound reproduction time can be lengthened according to the inserted dummy sample, and the deviation between the moving image and the sound can be eliminated. Therefore, as shown in FIG. 6, the explosion sound can be reproduced at T2, which is the same timing as the explosion image. In the present embodiment, it is determined whether or not the moving image is delayed according to the frame rate of the images constituting the moving image. For example, when the frame rate of the image processing is 60 fps, it is determined whether or not the moving image is delayed every 1/60.
また、ダミーサンプルのサンプル数は、遅延カウンタの値のサンプル数以下になるように決定する。遅延カウンタのサンプル数を上回るダミーサンプルを追加すると、逆に音が動画に対して遅延してしまう事態が生じてしまうからである。例えば、遅延カウンタの値が40サンプルである場合には、40サンプル以下になるようにダミーサンプル数を決定する。なお、既にサウンドバッファに読み込まれた音のサンプルとダミーサンプルとの合計が、サウンドバッファのサイズに収まるように、ダミーサンプルのサンプル数を制限してもよい。 Further, the number of dummy samples is determined to be equal to or less than the number of samples of the delay counter value. This is because adding a dummy sample exceeding the number of samples in the delay counter may cause a situation in which the sound is delayed with respect to the moving image. For example, when the value of the delay counter is 40 samples, the number of dummy samples is determined so as to be 40 samples or less. Note that the number of dummy samples may be limited so that the sum of the sound samples and dummy samples already read into the sound buffer fits in the size of the sound buffer.
そして、本実施形態は、ダミーサンプルを挿入する位置を次のように検出する。例えば、サウンドバッファに記憶されている音のサンプルのうち、音の振幅(音量)が零に近いサンプルを検出する。そして、検出したサンプルの位置に、検出したサンプルを冗長したダミーサンプルを挿入する。このようにすれば、ダミーサンプルを追加してもほぼ無音状態が継続するだけであるので、視聴者にダミーサンプルの挿入を悟られないようにすることができる。 And this embodiment detects the position which inserts a dummy sample as follows. For example, among the sound samples stored in the sound buffer, a sample whose sound amplitude (volume) is close to zero is detected. And the dummy sample which made the detected sample redundant is inserted in the position of the detected sample. In this way, even if a dummy sample is added, the silent state only continues, so that it is possible to prevent the viewer from being aware of the dummy sample insertion.
また、サウンドバッファに記憶されている音のサンプルのうち、振幅が所定値よりも低い再生位置を検出し、検出した再生位置にダミーサンプルを挿入するようにしてもよい。例えば、サウンドバッファに記憶されている音のサンプルが、図7に示すような波形である場合には、所定値dよりも低い振幅である位置Rを検出する。そして、検出した位置Rに、ダミーサンプルを挿入する。例えば、位置Rに、位置Rのサンプルを冗長したダミーサンプルを挿入するようにしてもよい。 Further, a reproduction position whose amplitude is lower than a predetermined value among sound samples stored in the sound buffer may be detected, and a dummy sample may be inserted at the detected reproduction position. For example, if the sound sample stored in the sound buffer has a waveform as shown in FIG. 7, the position R having an amplitude lower than the predetermined value d is detected. Then, a dummy sample is inserted at the detected position R. For example, a dummy sample in which the sample at position R is redundant may be inserted at position R.
また、本実施形態では、サウンドバッファに記憶されている音のサンプルのうち、振幅変化率が低い位置を検出し、検出した位置にダミーサンプルを挿入してもよい。サウンドバッファに読み込まれたサンプルと、挿入したダミーサンプルとの不連続の段差を軽減することができ、ノイズの発生を防ぐことができるからである。例えば、図7に示すように、位置Rは、振幅変化率が零の位置であるので、位置Rに、位置Rのサンプルを冗長したダミーサンプルを挿入するようにしてもよい。 In the present embodiment, a position where the amplitude change rate is low among the sound samples stored in the sound buffer may be detected, and a dummy sample may be inserted at the detected position. This is because the discontinuous step between the sample read into the sound buffer and the inserted dummy sample can be reduced, and noise can be prevented. For example, as shown in FIG. 7, since the position R is a position where the amplitude change rate is zero, a dummy sample in which the sample at the position R is redundant may be inserted into the position R.
また、本実施形態では、サウンドバッファに読み込まれた音のサンプルのうち、再生音に含まれる周波数成分の量が所定量よりも多い再生位置を検出し、検出した再生位置にダミーサンプルを挿入するようにしてもよい。このようにすれば、挿入したダミーサンプルのノイズがマスキングされるので、結果として視聴者に与える違和感を軽減することができるからである。 In the present embodiment, among the sound samples read into the sound buffer, a reproduction position where the amount of frequency components included in the reproduction sound is larger than a predetermined amount is detected, and a dummy sample is inserted at the detected reproduction position. You may do it. By doing so, the noise of the inserted dummy sample is masked, and as a result, the uncomfortable feeling given to the viewer can be reduced.
まず、本実施形態では、サウンドバッファに読み込まれた音のサンプルの波形(時間領域による波形)が、図8に示すような音の波形である場合に、音のサンプルをS1、S2、S3の領域に分け、各領域の周波数成分を求める。各領域の周波数成分は、サウンドバッファに読み込まれた音のサンプルの時間領域の波形を、領域毎にフーリエ変換して求めることができる。 First, in this embodiment, when the waveform of the sound sample read into the sound buffer (the waveform in the time domain) is a sound waveform as shown in FIG. 8, the sound samples are S1, S2, and S3. Dividing into regions, the frequency components of each region are obtained. The frequency component of each region can be obtained by Fourier transforming the time-domain waveform of the sound sample read into the sound buffer for each region.
次に、本実施形態では、S1〜S3の領域毎に、周波数領域(X軸を周波数、Y軸を周波数成分の大きさ)の波形の面積を求める。周波数領域で示される波形の面積は、周波数成分の量に相当するからである。なお、周波数領域の波形の面積は、周波数領域の波を積分することによって求めることができる。 Next, in this embodiment, the area of the waveform in the frequency domain (the X axis is the frequency and the Y axis is the magnitude of the frequency component) is determined for each of the areas S1 to S3. This is because the area of the waveform shown in the frequency domain corresponds to the amount of the frequency component. The area of the waveform in the frequency domain can be obtained by integrating the wave in the frequency domain.
そして、S1〜S3の領域毎に、周波数領域の波形の面積が予め設定された所定量(所定面積)よりも多いか否かを判断し、周波数領域の波形の面積が所定量よりも多いと判断される領域の所与の位置に、ダミーサンプルを挿入する処理を行う。 Then, for each of the areas S1 to S3, it is determined whether or not the area of the waveform in the frequency domain is larger than a predetermined amount (predetermined area), and if the area of the waveform in the frequency domain is larger than the predetermined amount A process of inserting a dummy sample at a given position in the determined area is performed.
このように、本実施形態は、周波数領域の波形の面積を求めることによって、周波数成分の量の大小を簡易的に求める手法を採用している。例えば、ダミーサンプルの再生音のマスキング効果が高まると考えられる重低音、高音等の周波数成分の量が多い周波数領域の波形は、周波数成分の量が少ない周波数領域の波形に比較して面積が大きい。したがって、本実施形態では、波形の面積が大きければ周波数成分の量が多いとみなし、波形の面積が予め設定された所定量(所定面積)よりも多いと判断される領域に、ダミーサンプルを挿入する処理を行っている。 As described above, the present embodiment employs a method of simply obtaining the magnitude of the amount of the frequency component by obtaining the area of the waveform in the frequency domain. For example, the frequency domain waveform with a large amount of frequency components such as deep bass and treble, which is thought to increase the masking effect of the reproduced sound of the dummy sample, has a larger area than the frequency domain waveform with a small amount of frequency components. . Therefore, in this embodiment, if the waveform area is large, the amount of frequency components is considered to be large, and a dummy sample is inserted in a region where the waveform area is determined to be larger than a predetermined amount (predetermined area) set in advance. Processing to do.
なお、本実施形態では、所定帯域の周波数における周波数領域の波形の面積を求め、求めた面積が、所定帯域の周波数に応じた所定量(所定面積)よりも大きいと判断される領域に、ダミーサンプルを挿入してもよい。 In the present embodiment, the area of the waveform in the frequency region at the frequency of the predetermined band is obtained, and the dummy area is determined to be an area determined to be larger than a predetermined amount (predetermined area) corresponding to the frequency of the predetermined band. A sample may be inserted.
図9(A)〜(C)を用いて具体的に説明する。例えば、図9(A)はS1領域の周波数分布、図9(B)はS2領域の周波数分布、図9(C)はS3領域の周波数分布を示している。まず、本実施形態では、S1〜S3の各領域において0〜5000Hzに制限した周波数帯域における周波数領域の波形の面積を求める。そして、例えば、S1〜S3領域のうち、S2領域の周波数領域の波形の面積が所定量よりも多いと判断される場合には、S2領域の所与の位置にダミーサンプルを挿入する処理を行う。なお、S2領域における音のサンプルのうち、振幅が大きい位置(音量が大きい位置)に、ダミーサンプルを挿入することが望ましい。挿入したダミーサンプルの再生音のマスキング効果がさらに高まるからである。 This will be specifically described with reference to FIGS. For example, FIG. 9A shows the frequency distribution in the S1 region, FIG. 9B shows the frequency distribution in the S2 region, and FIG. 9C shows the frequency distribution in the S3 region. First, in this embodiment, the area of the waveform in the frequency region in the frequency band limited to 0 to 5000 Hz in each region of S1 to S3 is obtained. For example, when it is determined that the area of the waveform in the frequency region of the S2 region is larger than a predetermined amount among the S1 to S3 regions, a process of inserting a dummy sample at a given position in the S2 region is performed. . Note that it is desirable to insert a dummy sample at a position where the amplitude is large (a position where the volume is high) among the sound samples in the S2 region. This is because the masking effect of the reproduced sound of the inserted dummy sample is further enhanced.
また、上述の例では、サウンドバッファに読み込まれた音のサンプルを、3領域(領域S1〜S3)に分けて各領域の周波数成分を求めているが、所定周期(例えば、基本周期)毎に領域に分けて周波数成分を求め、再生音に含まれる周波数成分の量が所定量よりも多い領域の所与の位置にダミーサンプルを挿入するようにしてもよい。また、複数のサウンドバッファを用いて音を再生する場合には、領域を分けずにサウンドバッファを単位に周波数成分を求め、再生音に含まれる周波数成分の量が所定量よりも多いサウンドバッファにダミーサンプルを挿入するようにしてもよい。 In the above example, the sound sample read into the sound buffer is divided into three regions (regions S1 to S3) to obtain the frequency components in each region, but every predetermined cycle (for example, the basic cycle). A frequency component may be obtained by dividing the region, and a dummy sample may be inserted at a given position in a region where the amount of the frequency component included in the reproduced sound is greater than a predetermined amount. In addition, when playing back sound using multiple sound buffers, the frequency components are calculated for each sound buffer without dividing the area, and the sound buffer has a volume of frequency components included in the playback sound larger than the predetermined amount. A dummy sample may be inserted.
また、本実施形態では、周波数領域の波形の周波数成分の大きさ(Y軸の値)が所定以上であって、波形のピーク数が所定数(例えば、12)を超えた領域の所与の位置に、ダミーサンプルを挿入するようにしてもよい。かかる領域にダミーサンプルを挿入すれば、ダミーサンプルの再生音がマスキングされるからである。 Further, in the present embodiment, a given region in which the magnitude of the frequency component of the waveform in the frequency domain (Y-axis value) is equal to or greater than a predetermined value and the number of waveform peaks exceeds a predetermined number (for example, 12). A dummy sample may be inserted at the position. This is because if a dummy sample is inserted in such an area, the reproduced sound of the dummy sample is masked.
以上のように、サウンドバッファに格納されている音のサンプルの適切な位置にダミーサンプルを挿入することによって、ダミーサンプルの再生音を目立たないようにすることができる。 As described above, it is possible to make the reproduced sound of the dummy sample inconspicuous by inserting the dummy sample at an appropriate position of the sound sample stored in the sound buffer.
また、ダミーサンプルを追加する位置が複数検出される際には、各位置の優先順位を決定して、優先順位の高い順に、ダミーサンプルを挿入するようにしてもよいし、検出された複数の位置それぞれに、ダミーサンプルを挿入するようにしてもよい。なお、複数の位置にダミーサンプルを挿入する場合には、挿入するダミーサンプルの合計が、遅延カウンタの値以下になるように制限する。 Further, when a plurality of positions where dummy samples are added are detected, the priority order of each position may be determined, and the dummy samples may be inserted in descending order of priority. A dummy sample may be inserted at each position. When inserting dummy samples at a plurality of positions, the total number of dummy samples to be inserted is limited to be equal to or less than the value of the delay counter.
また、ダミーサンプルを音のサンプルに挿入した際には、遅延カウンタの値から挿入分のダミーサンプル数を減算する処理を行う。ダミーサンプルを挿入することによって、音と動画とのズレ量が少なくなるからである。例えば、音サンプルにダミーサンプル(50サンプル分)を挿入した際には、遅延カウンタの値から50サンプルを減算する処理を行う。 Further, when a dummy sample is inserted into a sound sample, a process of subtracting the number of inserted dummy samples from the value of the delay counter is performed. This is because the amount of deviation between the sound and the moving image is reduced by inserting the dummy sample. For example, when a dummy sample (50 samples) is inserted into the sound sample, a process of subtracting 50 samples from the value of the delay counter is performed.
本実施形態では、ダミーサンプルの挿入する処理を行った後に、遅延カウンタの値からダミーサンプルの挿入分のサンプル数を減算する処理を行う。例えば、画像処理のフレームレートが60fpsである場合には、1/60毎に、動画が遅延しているか否かを判断し、遅延が生じている場合には、遅延カウンタの値に基づいて、ダミーサンプルを音サンプルに挿入し、挿入したダミーサンプル分のサンプル数を遅延カウンタの値から減算する処理を行う。 In the present embodiment, after the process of inserting dummy samples is performed, the process of subtracting the number of samples corresponding to the inserted dummy samples from the value of the delay counter is performed. For example, when the frame rate of the image processing is 60 fps, it is determined every 1/60 whether or not the moving image is delayed. If there is a delay, based on the value of the delay counter, A dummy sample is inserted into the sound sample, and the number of samples for the inserted dummy sample is subtracted from the value of the delay counter.
2.5 再生周波数を補正周波数に設定し、かつ、ダミーサンプルを挿入する手法
本実施形態では再生周波数を補正周波数に設定する手法と、ダミーサンプルを挿入する手法を組み合わせて、動画と音とのズレを解消するようにしてもよい。
2.5 Method of setting playback frequency to correction frequency and inserting dummy sample In this embodiment, combining the method of setting playback frequency to correction frequency and the method of inserting dummy sample, You may make it eliminate gap.
例えば、再生周波数を補正周波数に設定することによって、動画と音とのズレを解消しようとしても、ズレ量が大きい場合には、同期するまでに時間を要したり、さらには最終的に同期させることができない場合が生じる。 For example, by setting the playback frequency as the correction frequency, even if you try to eliminate the gap between the movie and the sound, if the amount of deviation is large, it will take time to synchronize, or even finally synchronize There are cases where it is not possible.
したがって、本実施形態では、遅延カウンタの値が所定値よりも大きい場合、つまり音と動画とのズレが大きい場合には、再生周波数を補正周波数に設定するだけでなく、ダミーサンプルを挿入することによって、ズレを解消するようにする。このようにすれば、動画と音とのズレ量が大きくても補正周波数によって音を再生するだけでなく、ダミーサンプルを挿入するので、結果として、音と動画とのズレを早期に解消することができるからである。 Therefore, in this embodiment, when the value of the delay counter is larger than the predetermined value, that is, when the difference between the sound and the moving image is large, not only the reproduction frequency is set to the correction frequency but also a dummy sample is inserted. To eliminate the deviation. In this way, even if the amount of deviation between the video and the sound is large, not only the sound is reproduced with the correction frequency, but also a dummy sample is inserted, and as a result, the deviation between the sound and the video can be eliminated early. Because you can.
例えば、遅延カウンタの値のしきい値を1600サンプルに設定し、遅延カウンタの値が1600サンプルよりも低い値である場合には、再生周波数を補正周波数に設定する手法のみによって、動画の遅延を解消するようにする。そして、遅延カウンタが1600サンプル以上である場合には、ダミーサンプルを挿入する手法を採用するようにする。なお、かかる場合には、遅延カウンタの値は、補正した再生周波数及び再生時間に基づいて減算する処理を行うとともに、ダミーデータを挿入したサンプル数に応じて減算する処理を行う。 For example, when the threshold value of the delay counter is set to 1600 samples and the delay counter value is lower than 1600 samples, the delay of the moving image is reduced only by the method of setting the reproduction frequency to the correction frequency. Try to eliminate. If the delay counter is 1600 samples or more, a method of inserting dummy samples is adopted. In this case, the value of the delay counter is subtracted based on the corrected reproduction frequency and reproduction time, and is subtracted according to the number of samples into which dummy data is inserted.
3. 本実施形態の処理
次に図10を用いて、本実施形態の手法を実現する処理例を詳細に説明する。
3. Processing of this Embodiment Next, a processing example for realizing the method of this embodiment will be described in detail with reference to FIG.
本実施形態のゲーム装置では、動画を生成する処理(ステップS100)と、音を再生する処理(ステップS200)と、が同時に開始され、マルチスレッドによって処理が行われる。 In the game device according to the present embodiment, a process for generating a moving image (step S100) and a process for reproducing a sound (step S200) are started simultaneously, and the process is performed by multithreading.
そして、動画を生成する処理においては、まず動画を構成する画像の計算処理が行われる(ステップS110)。例えば、オブジェクトの移動・動作演算や、頂点演算等を行う。次に、計算が終了したか否かを判断する(ステップS120)。つまり、監視対象のフレーム画像が、予定時間内に生成されたか否かを判断する。そして、計算が終了したと判断すると(ステップS120のYes)、画像を表示する処理を行う(ステップS130)。一方、計算が終了していないと判断すると(ステップS120のNo)、遅延量(例えば、画像の生成処理が予定時間を超過した超過時間に相当するサンプル数)を遅延カウンタの値に加算する処理を行い(ステップS140)、ステップS110に戻る。なお、画像計算は次のフレームタイミングに繰り越される。 And in the process which produces | generates a moving image, the calculation process of the image which comprises a moving image is performed first (step S110). For example, object movement / motion calculation, vertex calculation, and the like are performed. Next, it is determined whether or not the calculation is completed (step S120). That is, it is determined whether the frame image to be monitored is generated within the scheduled time. When it is determined that the calculation has been completed (Yes in step S120), a process for displaying an image is performed (step S130). On the other hand, if it is determined that the calculation has not been completed (No in step S120), a delay amount (for example, the number of samples corresponding to the excess time when the image generation process exceeds the scheduled time) is added to the value of the delay counter (Step S140), and the process returns to step S110. The image calculation is carried over to the next frame timing.
そして、全てのフレームの画像表示処理が終了したか否かを判断し(ステップS150)、全てのフレームの画像表示が終了していない場合には(ステップS150のNo)は、ステップS110に戻りステップS110〜ステップ150の処理を繰り返し行う。そして、全てのフレームの画像表示が終了している場合には(ステップS150のYes)は、動画を生成する処理を終了する。 Then, it is determined whether or not the image display process for all the frames has been completed (step S150). If the image display for all the frames has not been completed (No in step S150), the process returns to step S110 to return to step S110. The processing from S110 to Step 150 is repeated. If the image display of all the frames has been completed (Yes in step S150), the process for generating a moving image is terminated.
次に、音を再生する処理について説明する。まず、処理が開始された後(ステップS200)に、遅延があるか否かを判断する(ステップS210)。例えば、遅延カウンタの値が零より大きい値か否かを判断する。遅延があると判断される場合には(ステップS210のYes)、再生補正計算が行われる(ステップS220)。例えば、補正周波数を求め、求めた補正周波数を再生周波数として設定する処理や、ダミーサンプルをサウンドバッファの音のサンプルに挿入する処理等が行われる。そして、解消したサンプル数を、遅延カウンタの値から減算する処理を行う(ステップS230)。 Next, a process for reproducing sound will be described. First, after the process is started (step S200), it is determined whether there is a delay (step S210). For example, it is determined whether or not the value of the delay counter is greater than zero. If it is determined that there is a delay (Yes in step S210), reproduction correction calculation is performed (step S220). For example, a process of obtaining a correction frequency and setting the obtained correction frequency as a reproduction frequency, a process of inserting a dummy sample into a sound sample of a sound buffer, and the like are performed. Then, a process of subtracting the number of canceled samples from the value of the delay counter is performed (step S230).
一方、遅延がないと判断される場合には(ステップS210のNo)、通常の音を再生するための計算処理が行われる(ステップS240)。 On the other hand, when it is determined that there is no delay (No in step S210), a calculation process for reproducing a normal sound is performed (step S240).
そして、音を再生する処理を行い(ステップS250)、全てのフレームの画像表示が終了したか否かを判断し(ステップS260)、全てのフレームの画像表示が終了していない場合には(ステップS260のNo)は、ステップS210に戻り、ステップS210〜ステップS260の処理を繰り返し行う。そして、全てのフレームの画像表示が終了している場合には(ステップS260のYes)は、処理を終了する。 Then, a process for reproducing sound is performed (step S250), and it is determined whether or not the image display of all the frames has been completed (step S260). If the image display of all the frames has not been completed (step S260). In step S260, the process returns to step S210, and the processes in steps S210 to S260 are repeated. If the image display of all the frames has been completed (Yes in step S260), the process ends.
100 処理部、111 オブジェクト空間設定部、112 移動・動作処理部、
113 仮想カメラ制御部、114 画像生成処理判断部、
115 遅延カウンタ制御部、120 描画部、
130 オーディオ処理部、131 音再生部、132 遅延制御部、
133 再生周波数設定部、134 遅延カウンタ制御部、135 音データ制御部、
160 操作部、170 記憶部、172 主記憶部、174 描画バッファ、
176 サウンドバッファ、178 遅延カウンタ、180 情報記憶媒体、
190 表示部、192 音出力部、196 通信部
100 processing unit, 111 object space setting unit, 112 movement / motion processing unit,
113 virtual camera control unit, 114 image generation processing determination unit,
115 delay counter control unit, 120 drawing unit,
130 audio processing unit, 131 sound reproduction unit, 132 delay control unit,
133 reproduction frequency setting unit, 134 delay counter control unit, 135 sound data control unit,
160 operation unit, 170 storage unit, 172 main storage unit, 174 drawing buffer,
176 sound buffer, 178 delay counter, 180 information storage medium,
190 Display unit, 192 Sound output unit, 196 Communication unit
Claims (10)
前記開始時期からの経過時間に応じた再生対象の音データを記憶部に順次読み込み、読み込まれた音データを順次再生する処理を行うオーディオ処理部としてコンピュータを機能させ、
前記動画処理部が、
動画を構成する画像が、予定時間以内に生成されたか否かを判断し、判断結果に基づいて、遅延カウンタの値を更新する処理を行い、
前記オーディオ処理部が、
前記遅延カウンタの値に基づいて、音に対して動画が遅延しているか否かを判断し、
前記動画が遅延していないと判断される場合には、基準周波数を再生周波数として設定して、基準周波数によって音データを再生する処理を行い、
前記動画が遅延していると判断される場合には、前記遅延カウンタの値に基づいて前記基準周波数よりも低い補正周波数を再生周波数として設定して、補正周波数によって音データを再生する処理と、遅延カウンタの値を更新する処理とを行い、
前記動画処理部が、
前記動画を構成する画像が、予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値を、遅延カウンタの値に加算する処理を行い、
前記オーディオ処理部が、
前記補正周波数による音データの再生時間に応じた値を、遅延カウンタの値から減算する処理を行うことを特徴とするプログラム。 A moving image processing unit that sequentially generates images constituting a moving image from the start time, and sequentially outputs the generated images to the display unit;
The computer is caused to function as an audio processing unit that sequentially reads the sound data to be reproduced according to the elapsed time from the start time into the storage unit, and sequentially reproduces the read sound data,
The moving image processing unit
Determine whether the images that make up the video were generated within the scheduled time, and update the value of the delay counter based on the determination result,
The audio processing unit is
Based on the value of the delay counter, determine whether the video is delayed with respect to the sound,
When it is determined that the moving image is not delayed, the reference frequency is set as the reproduction frequency, and the sound data is reproduced according to the reference frequency.
When it is determined that the moving image is delayed, a process of setting a correction frequency lower than the reference frequency as a reproduction frequency based on the value of the delay counter and reproducing sound data using the correction frequency; Process to update the value of the delay counter,
The moving image processing unit
When it is determined that the image constituting the video is not generated within the scheduled time, a value corresponding to the excess time exceeding the scheduled time is added to the value of the delay counter,
The audio processing unit is
A program for performing a process of subtracting a value corresponding to a reproduction time of sound data by the correction frequency from a value of a delay counter.
前記オーディオ処理部が、
前記動画が遅延していると判断される場合には、再生中の再生周波数と補正周波数との差分が所定帯域に制限されるように、前記遅延カウンタの値に基づいて前記基準周波数よりも低い補正周波数を求め、求めた補正周波数を再生周波数として設定することを特徴とするプログラム。 In claim 1,
The audio processing unit is
When it is determined that the moving image is delayed, the difference between the reproduction frequency being reproduced and the correction frequency is lower than the reference frequency based on the value of the delay counter so that the difference is limited to a predetermined band. A program characterized by obtaining a correction frequency and setting the obtained correction frequency as a reproduction frequency.
前記開始時期からの経過時間に応じた再生対象の音データを記憶部に順次読み込み、読み込まれた音データを順次再生する処理を行うオーディオ処理部としてコンピュータを機能させ、
前記動画処理部が、
動画を構成する画像が、予定時間以内に生成されたか否かを判断し、判断結果に基づいて、遅延カウンタの値を更新する処理を行い、
前記オーディオ処理部が、
前記遅延カウンタの値に基づいて、音に対して動画が遅延しているか否かを判断し、
前記動画が遅延していると判断される場合には、記憶部に再生対象としてダミー音データを挿入する処理と、遅延カウンタの値を更新する処理とを行い、
前記動画処理部が、
前記動画を構成する画像が、予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値を、遅延カウンタの値に加算する処理を行い、
前記オーディオ処理部が、
前記ダミー音データの挿入量に応じた値を、遅延カウンタの値から減算する処理を行うことを特徴とするプログラム。 A moving image processing unit that sequentially generates images constituting a moving image from the start time, and sequentially outputs the generated images to the display unit;
The computer is caused to function as an audio processing unit that sequentially reads the sound data to be reproduced according to the elapsed time from the start time into the storage unit, and sequentially reproduces the read sound data,
The moving image processing unit
Determine whether the images that make up the video were generated within the scheduled time, and update the value of the delay counter based on the determination result,
The audio processing unit is
Based on the value of the delay counter, determine whether the video is delayed with respect to the sound,
When it is determined that the moving image is delayed, a process of inserting dummy sound data as a reproduction target in the storage unit and a process of updating the value of the delay counter are performed.
The moving image processing unit
When it is determined that the image constituting the video is not generated within the scheduled time, a value corresponding to the excess time exceeding the scheduled time is added to the value of the delay counter,
The audio processing unit is
A program for performing a process of subtracting a value corresponding to an insertion amount of the dummy sound data from a value of a delay counter.
前記オーディオ処理部が、
前記ダミー音データのサイズを、前記遅延カウンタの値に応じて求めることを特徴とするプログラム。 In claim 3,
The audio processing unit is
A program for obtaining a size of the dummy sound data according to a value of the delay counter.
前記オーディオ処理部が、
記憶部に読み込まれた複数の音データからなる音データ列において、再生音の振幅の大きさが所定値よりも低い再生位置を検出し、検出した再生位置に前記ダミー音データを挿入することを特徴とするプログラム。 In claim 3 or 4,
The audio processing unit is
Detecting a reproduction position where the amplitude of the reproduced sound is lower than a predetermined value in a sound data string composed of a plurality of sound data read into the storage unit, and inserting the dummy sound data into the detected reproduction position; A featured program.
前記オーディオ処理部が、
記憶部に読み込まれた複数の音データからなる音データ列において、再生音の振幅変化率が低い再生位置を検出し、検出した再生位置に前記ダミー音データを挿入することを特徴とするプログラム。 In any one of Claims 3-5,
The audio processing unit is
A program characterized by detecting a reproduction position having a low amplitude change rate of reproduced sound in a sound data string composed of a plurality of sound data read into a storage unit and inserting the dummy sound data into the detected reproduction position.
前記オーディオ処理部が、
記憶部に読み込まれた複数の音データからなる音データ列において、再生音に含まれる周波数成分の量が所定量よりも多い再生位置を検出し、検出した再生位置に前記ダミー音データを挿入することを特徴とするプログラム。 In any one of Claims 3-6,
The audio processing unit is
In a sound data string composed of a plurality of sound data read into the storage unit, a reproduction position where the amount of frequency components contained in the reproduction sound is larger than a predetermined amount is detected, and the dummy sound data is inserted into the detected reproduction position. A program characterized by that.
前記開始時期からの経過時間に応じた再生対象の音データを記憶部に順次読み込み、読み込まれた音データを順次再生する処理を行うオーディオ処理部とを含み、
前記動画処理部が、
動画を構成する画像が、予定時間以内に生成されたか否かを判断し、判断結果に基づいて、遅延カウンタの値を更新する処理を行い、
前記オーディオ処理部が、
前記遅延カウンタの値に基づいて、音に対して動画が遅延しているか否かを判断し、
前記動画が遅延していないと判断される場合には、基準周波数を再生周波数として設定して、基準周波数によって音データを再生する処理を行い、
前記動画が遅延していると判断される場合には、前記遅延カウンタの値に基づいて前記基準周波数よりも低い補正周波数を再生周波数として設定して、補正周波数によって音データを再生する処理と、遅延カウンタの値を更新する処理とを行い、
前記動画処理部が、
前記動画を構成する画像が、予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値を、遅延カウンタの値に加算する処理を行い、
前記オーディオ処理部が、
前記補正周波数による音データの再生時間に応じた値を、遅延カウンタの値から減算する処理を行うことを特徴とするゲーム装置。 A moving image processing unit that sequentially generates images constituting a moving image from the start time, and sequentially outputs the generated images to the display unit;
An audio processing unit that sequentially reads sound data to be played in accordance with an elapsed time from the start time into a storage unit, and performs a process of sequentially playing the read sound data;
The moving image processing unit
Determine whether the images that make up the video were generated within the scheduled time, and update the value of the delay counter based on the determination result,
The audio processing unit is
Based on the value of the delay counter, determine whether the video is delayed with respect to the sound,
When it is determined that the moving image is not delayed, the reference frequency is set as the reproduction frequency, and the sound data is reproduced according to the reference frequency.
When it is determined that the moving image is delayed, a process of setting a correction frequency lower than the reference frequency as a reproduction frequency based on the value of the delay counter and reproducing sound data using the correction frequency; Process to update the value of the delay counter,
The moving image processing unit
When it is determined that the image constituting the video is not generated within the scheduled time, a value corresponding to the excess time exceeding the scheduled time is added to the value of the delay counter,
The audio processing unit is
A game apparatus that performs a process of subtracting a value corresponding to a reproduction time of sound data by the correction frequency from a value of a delay counter.
前記開始時期からの経過時間に応じた再生対象の音データを記憶部に順次読み込み、読み込まれた音データを順次再生する処理を行うオーディオ処理部とを含み、
前記動画処理部が、
動画を構成する画像が、予定時間以内に生成されたか否かを判断し、判断結果に基づいて、遅延カウンタの値を更新する処理を行い、
前記オーディオ処理部が、
前記遅延カウンタの値に基づいて、音に対して動画が遅延しているか否かを判断し、
前記動画が遅延していると判断される場合には、記憶部に再生対象としてダミー音データを挿入する処理と、遅延カウンタの値を更新する処理とを行い、
前記動画処理部が、
前記動画を構成する画像が、予定時間以内に生成されていないと判断される場合には、予定時間を超過した超過時間に応じた値を、遅延カウンタの値に加算する処理を行い、
前記オーディオ処理部が、
前記ダミー音データの挿入量に応じた値を、遅延カウンタの値から減算する処理を行うことを特徴とするゲーム装置。 A moving image processing unit that sequentially generates images constituting a moving image from the start time, and sequentially outputs the generated images to the display unit;
An audio processing unit that sequentially reads sound data to be played in accordance with an elapsed time from the start time into a storage unit, and performs a process of sequentially playing the read sound data;
The moving image processing unit
Determine whether the images that make up the video were generated within the scheduled time, and update the value of the delay counter based on the determination result,
The audio processing unit is
Based on the value of the delay counter, determine whether the video is delayed with respect to the sound,
When it is determined that the moving image is delayed, a process of inserting dummy sound data as a reproduction target in the storage unit and a process of updating the value of the delay counter are performed.
The moving image processing unit
When it is determined that the image constituting the video is not generated within the scheduled time, a value corresponding to the excess time exceeding the scheduled time is added to the value of the delay counter,
The audio processing unit is
A game apparatus that performs a process of subtracting a value corresponding to an insertion amount of the dummy sound data from a value of a delay counter.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007170302A JP2009005910A (en) | 2007-06-28 | 2007-06-28 | Program, information storage medium, game device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007170302A JP2009005910A (en) | 2007-06-28 | 2007-06-28 | Program, information storage medium, game device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009005910A true JP2009005910A (en) | 2009-01-15 |
Family
ID=40321636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007170302A Pending JP2009005910A (en) | 2007-06-28 | 2007-06-28 | Program, information storage medium, game device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009005910A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109224441A (en) * | 2018-08-03 | 2019-01-18 | 深圳市创梦天地科技有限公司 | A kind of method and device of the position of synchronous virtual role |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04208782A (en) * | 1990-12-04 | 1992-07-30 | Fujitsu Ltd | Synchronizing device for image information processing system |
JPH0965303A (en) * | 1995-08-28 | 1997-03-07 | Canon Inc | Video sound signal synchronization method and its device |
JP2000075873A (en) * | 1998-08-31 | 2000-03-14 | Fujitsu Ltd | Digital audio reproducing device |
JP2000107455A (en) * | 1998-10-07 | 2000-04-18 | Namco Ltd | Game machine and information recording medium |
JP2004007140A (en) * | 2002-05-31 | 2004-01-08 | Toshiba Corp | Voice reproducing device and voice reproduction control method to be used for the same device |
JP2006135657A (en) * | 2004-11-05 | 2006-05-25 | Matsushita Electric Ind Co Ltd | Device and method for receiving data |
JP2006212485A (en) * | 2005-02-01 | 2006-08-17 | Jdc Corp | Evaporation system of treated water in waste disposal plant and its evaporation method |
-
2007
- 2007-06-28 JP JP2007170302A patent/JP2009005910A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04208782A (en) * | 1990-12-04 | 1992-07-30 | Fujitsu Ltd | Synchronizing device for image information processing system |
JPH0965303A (en) * | 1995-08-28 | 1997-03-07 | Canon Inc | Video sound signal synchronization method and its device |
JP2000075873A (en) * | 1998-08-31 | 2000-03-14 | Fujitsu Ltd | Digital audio reproducing device |
JP2000107455A (en) * | 1998-10-07 | 2000-04-18 | Namco Ltd | Game machine and information recording medium |
JP2004007140A (en) * | 2002-05-31 | 2004-01-08 | Toshiba Corp | Voice reproducing device and voice reproduction control method to be used for the same device |
JP2006135657A (en) * | 2004-11-05 | 2006-05-25 | Matsushita Electric Ind Co Ltd | Device and method for receiving data |
JP2006212485A (en) * | 2005-02-01 | 2006-08-17 | Jdc Corp | Evaporation system of treated water in waste disposal plant and its evaporation method |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109224441A (en) * | 2018-08-03 | 2019-01-18 | 深圳市创梦天地科技有限公司 | A kind of method and device of the position of synchronous virtual role |
CN109224441B (en) * | 2018-08-03 | 2022-09-20 | 深圳市创梦天地科技有限公司 | Method and device for synchronizing positions of virtual roles |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7609276B2 (en) | Program, information storage medium, image generation system, and image generation method for generating an image for overdriving the display device | |
JP2010033296A (en) | Program, information storage medium, and image generation system | |
JP2006318389A (en) | Program, information storage medium, and image generation system | |
JP2007108876A (en) | Game program and game device | |
EP1355276A2 (en) | System and method for distance adjusted rendering | |
JP2006318388A (en) | Program, information storage medium, and image forming system | |
JP2006195882A (en) | Program, information storage medium and image generation system | |
JP4868586B2 (en) | Image generation system, program, and information storage medium | |
JP3990258B2 (en) | Image generation system, program, and information storage medium | |
JP2006252426A (en) | Program, information storage medium, and image generation system | |
JP2010029375A (en) | Game system, program, and information storage medium | |
JP4447000B2 (en) | Image generation system, program, and information storage medium | |
JP2006011539A (en) | Program, information storage medium, and image generating system | |
JP2009005910A (en) | Program, information storage medium, game device | |
JP4632855B2 (en) | Program, information storage medium, and image generation system | |
JP2004334801A (en) | Image-generating system, program, and information storage medium | |
JP2006318196A (en) | Program, information storage medium and image generation system | |
JP3712175B2 (en) | Image composition apparatus and method, and information storage medium | |
JP2010033302A (en) | Image generation system, program and information storage medium | |
JP2010033253A (en) | Program, information storage medium, and image generation system | |
JP4880298B2 (en) | Program, information storage medium, and data reproduction system | |
JP2006277488A (en) | Program, information storage medium and image generation system | |
JP4086002B2 (en) | Program, image processing apparatus and method, and recording medium | |
JP4641831B2 (en) | Program, information storage medium, and image generation system | |
JP2007087030A (en) | Program, information storage medium, and image generation system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100301 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120629 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120718 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121114 |