JP2004258765A - デジタル信号処理装置およびデジタル信号処理方法 - Google Patents

デジタル信号処理装置およびデジタル信号処理方法 Download PDF

Info

Publication number
JP2004258765A
JP2004258765A JP2003046123A JP2003046123A JP2004258765A JP 2004258765 A JP2004258765 A JP 2004258765A JP 2003046123 A JP2003046123 A JP 2003046123A JP 2003046123 A JP2003046123 A JP 2003046123A JP 2004258765 A JP2004258765 A JP 2004258765A
Authority
JP
Japan
Prior art keywords
processing
digital signal
arithmetic processing
load
cpu
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.)
Granted
Application number
JP2003046123A
Other languages
English (en)
Other versions
JP4601905B2 (ja
Inventor
Toshihiro Koyata
智弘 小谷田
Motonori Nakamura
元徳 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2003046123A priority Critical patent/JP4601905B2/ja
Publication of JP2004258765A publication Critical patent/JP2004258765A/ja
Application granted granted Critical
Publication of JP4601905B2 publication Critical patent/JP4601905B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

【課題】デジタル情報信号を処理する場合に、CPUなどの処理部にかかる負荷を制御できるようにする装置、方法を提供する。
【解決手段】ゲーム実行中に音声を発するキャラクタが登場したときには“1”加算、当該キャラクタが消滅したときには“1”減算というように、登場しているキャラクタの数を数えることにより、CPU11にかかっている負荷量の合計値を求め、この合計値がCPU11の許容負荷量(しきい値)より小さいときには、負荷の重い通常処理を行い、負荷量の合計値が許容負荷量(しきい値)より大きいときには、負荷の軽い簡易処理を行う。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
この発明は、例えば、家庭用ゲーム機のように、複数のデジタル音声データや複数のデジタル映像データを同時に処理する必要のあるデジタル信号処理装置、デジタル信号処理方法に関する。
【0002】
【従来の技術】
コンピュータとほぼ同様の構成を有するシステムを利用したゲームプラットホームが知られている。こうしたゲームプラットホームでゲームを行う場合、当該ゲームプラットホームのCPU(Central Processing Unit)にかかる負荷は動的に変化する。
【0003】
例えば、こうしたゲームプラットホームには、発音機能が設けられており、ゲームの進行状況にあわせて所望の音声信号を作成して、その音声信号に応じた音声を発音するようにするべく制御が行なわれる。音声信号を生成する上で必要となる具体的な処理としては、例えば圧縮音源の復号化や、リバーブ処理などの、いわゆるエフェクト機能が知られている。
【0004】
そして、ゲームの進行状況に応じて、登場キャラクタが増えた場合には登場キャラクタ分の異なる複数の音声信号を処理する必要が生じるが、その処理すべき音声信号の種類の増加に伴い(発音数の増加に伴い)音声信号についての処理量が増加してしまう。
【0005】
また、画像処理についても同様のことが言える。いわゆるビデオゲームの場合には、人物、怪獣などのキャラクタ、乗り物、建物、背景物などの種々の表示対象物(表示オブジェクト)がゲームの進行に応じて3次元仮想空間に配置されて表示される。そして、上述した音声の場合と同様に、登場キャラクタが増えるなどして、表示オブジェクトが増えれば増えるほど、それらの表示オブジェクトを表示するための処理(画像処理)のためにCPUには負荷がかかる。
【0006】
このため、ゲームのプラットホームにおいては、CPUの処理負荷が、ゲームの進行上問題とならないようにするために適切な制御を行うようにすることが必要になる。例えば、特許文献1(特開2002−51400号公報)には、音声処理の負荷を軽減する技術が開示されている。この技術によれば、例えば、キャラクタである飛行機の表示が画面中において移動する場合のように、音を発する対象物が単位時間内に移動することによって、その対象物の発する音の音像が定位する場合に、単位時間内の所定のタイミング毎の対象物の例えば位置情報から変化情報を形成する。
【0007】
そして、形成した変化情報に基づいて、1回の処理で対象物が所定の位置に移動した場合の当該対象物が発する音(音源信号)の音像定位処理を行うようにする。このように、特許文献1に記載されている技術は、単位時間内の所定のタイミング毎に音像を定位させる処理を複数回行う従来の方式とは異なり、音源信号の位置情報、移動情報、定位情報などから変化情報を形成し、この変化情報に基づく1回の処理で対象物の発する音の音像定位処理を行うことによって、自然な音像定位を実現させるとともに、音声信号についての信号処理量を低減することができるものである。
【0008】
また、例えば、特許文献2(特開2001−137538号公報)には、画像処理の負荷を軽減する技術が開示されている。この技術によれば、直前のフレーム画像の生成時間が1フレーム周期を単位として計測され、その値を次に生成すべきフレームの生成時間の予測値として、そのまま次のフレーム画像が有すべきゲーム進行量の値として決定する。
【0009】
そして、表示すべき表示オブジェクトについて、決定した進行量の値の数だけのフレーム期間が経過した後の位置と向きとを演算し、この演算結果に基づいて、表示オブジェクトを表示するようにする。このように、特許文献2に記載されている技術は、常に1フレーム単位に表示画像を形成することは行わず、過去のフレーム画像の生成時間に応じて、表示オブジェクトの位置や向きを調整するようにして表示することにより、不自然な画像表示となることなく、しかも、CPUの負荷の軽減をも実現することができるものである。
【0010】
【特許文献1】
特開2002−051400号公報。
【0011】
【特許文献2】
特開2001−137538号公報。
【0012】
【発明が解決しようとする課題】
ところで、上述したように、特許文献1に記載された技術の場合には、対象物の発する音(音源信号)の位置情報等から変化情報を形成するといういわば平均化処理的な前処理を必要とする。また、特許文献2に記載の技術の場合には、直前のフレームの生成時間を1フレームを単位として計測することにより、次のフレームの生成時間を予測する予測処理である前処理を必要とする。
【0013】
このため、音声信号を処理するプログラムや画像信号を処理するプログラムが複雑になる。また、音声信号についての平均化処理的な前処理や、画像信号についての生成時間の予測処理である前処理は常に適正であるとは言えず、ビデオゲーム全編を通して、上述のような前処理を行うことはゲームのリアルさを阻害することとなる場合が発生することとなる可能性がある。
【0014】
そこで、簡単には、同時に処理可能な異なる音声信号の数(発音数)や異なる画像信号の数にしきい値を持たせることが考えられる。しかしこの方法の場合、動的に確保できる登場させるキャラクタの数が制限されしまうなど、ゲームの進行そのものに仕様としての制限が生じてしまう。
【0015】
また、別の方法として、演算精度を低下させたり簡易アルゴリズムを用いるといった方法も考えられる。しかし、この場合、一般に処理品質が低下してしまい、ゲーム中に放音される音声や表示される画像のリアルさが損なわれてしまうことになる。
【0016】
この発明は、上述した事情を鑑みてなされたものであり、音声信号や画像信号等のデジタル情報信号を処理する場合に、CPUなどの処理部にかかる負荷を適切に制御できるようにする装置および方法を提供することを目的とする。
【0017】
【課題を解決するための手段】
上記課題を解決するため、請求項1に記載の発明のデジタル信号処理装置は、デジタル信号に対して演算処理を施し、所望のデジタル信号を形成する演算処理手段と、
前記演算処理手段における処理の負荷量の合計値を算出するようにする算出手段と、
前記算出手段で算出される前記負荷量の合計値と、前記演算処理手段の許容負荷量とから、前記演算処理手段において行う前記演算処理の内容を決定する決定手段とを備えることを特徴とする。
【0018】
この請求項1に記載のデジタル信号処理装置によれば、デジタル信号は、演算処理手段において所定の演算処理がなされて所望の形式のデジタル信号が形成するようにされる。この場合、所定のタイミング毎に算出手段により、演算処理手段にかかっている処理の負荷量の合計値が算出される。
【0019】
そして、算出手段により算出された演算処理手段における処理の負荷量の合計値と、演算処理手段における処理の許容負荷量とから、演算処理手段において行われる処理が決定するようにされる。例えば、演算処理手段においての負荷が大きいときには、より単純化した処理を行うようにし、演算処理手段においての負荷が小さいときには、単純化していない通常の処理を行うようにする。
【0020】
これにより、演算処理手段においての処理の負荷量が許容負荷量を越えるような大きなものとなることを防止し、デジタル信号の適切な処理を行うことができるようにされる。
【0021】
【発明の実施の形態】
以下、図面を参照しながら、この発明による装置、方法の一実施の形態について説明する。以下に説明する実施の形態においては、この発明による装置、方法を家庭用ゲーム機に適用した場合を例にして説明する。
【0022】
[家庭用ゲーム機の構成について]
図1は、この実施の形態の家庭用ゲーム機の構成例を説明するためのブロック図である。図1においてCPU11は、いわゆる演算処理部に相当するものであり、ゲームの進行に関わる演算をすべて行うものである。ROM12は、システムの初期動作等、基本的な動作に関わる情報をあらかじめ保存しておく読み出し専用メモリである。RAM13は、後述するディスク再生機14により読み出した所望のプログラム部分や、演算用のデータを一時的に蓄積したりするための動的に機能する書き換え可能なメモリである。
【0023】
また、図1において、ディスク再生機14は、いわゆるゲームプログラム等が記録された記録媒体(この実施の形態においてはディスクとしている。)2より、所望のプログラム部分やデータの読み出しを行うための装置である。なお、ディスク2には、ゲームプログラムや、所定のデータ圧縮方式に従ってデータ圧縮された画像データや音声データ、その他のゲーム進行上必要となる種々のデータ等が記録されているものである。
【0024】
操作部15は、使用者(ユーザ)からのゲームに対する指示入力(ゲーム操作)を受け付けるための操作入力装置(ゲームコントローラ)とそのインターフェースにより構成されるものである。表示部16はゲームの進行状況を表示出力するためのCRT(Cathode−Ray Tube)やLCD(Liquid Crystal Display)などの表示装置とそのインターフェースにより構成されるものである。また、音声出力部17はゲームの進行に伴い音声を出力するための音声出力装置であるスピーカとそのインターフェースにより構成されるものである。
【0025】
これらの各部は、図1に示したように、基本的にいわゆるバス接続された状態となっており、操作部15を通じて受け付ける使用者からの操作入力に応じたゲーム進行に伴い、所望の処理が動的になされることとなる。
【0026】
図1に示した構成の家庭用ゲーム機においても、CPU11の処理能力が、当該家庭用ゲーム機全体のシステムとしての動作のスピードに大きな影響を及ぼす。上述もしたように、ゲーム機のシステムは使用者の操作入力等に応じて、動的に処理が行なわれていくこととなるが、例えば操作入力に伴う演算処理がCPU11の処理能力を上回ってしまうような場合、表示部16への表示出力や音声出力部17への音声出力が間に合わなくなってしまうといった事態が発生する可能性がある。
【0027】
こうした事態を鑑み、ゲームのプログラムを実行する場合には、常にCPU11による演算処理能力以内に収まるように制御されるべく考慮がなされる必要がある。以下においては、家庭用ゲーム機におけるCPUの演算処理能力と、それに伴う制御(CPUにかかる負荷についての制御)の必要性、および、この実施の形態の家庭用ゲーム機において行うCPUにかかる負荷についての具体的な制御について、音声データを処理する場合を例にして説明する。
【0028】
[CPUの演算処理能力とCPUにかかる負荷の制御の必要性について]
図1に示したこの実施の形態の家庭用ゲーム機の音声出力部17の構成が、例えば2チャンネルの音声出力装置に相当するものであった場合、音声出力部17から目的とする音声を出力するようにすべく、2チャンネルのデジタルデータ列を生成する必要が生じる。
【0029】
この時、目的とする音声の出力を行うべく、1音源分の音声データ列を生成し、この音声データ列に応じた音声を発音(放音)させるために、当該家庭用ゲーム機のCPU11の演算能力が10パーセント必要であるとする。この場合、処理するデータが、当該1音源分の音声データ列だけであれば、まだCPU11の演算処理能力は90パーセントが残されていることになる。
【0030】
しかし現実には、音源は一つに限ったものではなく、例えば使用者が操作しているゲーム上のキャラクタの声や、そのキャラクタの動作に伴う動作音、特殊な状況をあらわす効果音、周囲の状態を表現する環境音、演出効果を伴う音楽といった、様々な種類の音源が想定される。
【0031】
単純計算で、これらすべての音源が、データ列生成のためにCPU11の処理能力の10パーセントを必要とすると、CPU11は、最大で10個までの音源のデータ列についてしか同時に処理が行えないことになる。これに加え、こうした処理を行うべき音源の数は、使用者の操作や、それに伴ったゲームの進行状況等により動的に変化するものである。つまり、登場するキャラクタが増えたり、変わったりするだけでも、処理すべき音声データ列が増えたり、減ったりする。
【0032】
また実際には、音源に対する処理に限定されず、表示部16に表示する画像データのための処理等、ゲームを支障なく実行するために必要となる処理の全部を動作させた場合のCPU11の演算処理能力(CPU11の演算処理能力の上限しきい値)を考慮する必要が生じる。
【0033】
この事態に対応する方式としては、CPUの演算処理能力の上限しきい値に達しないような形に、同時に処理可能な音源数を制限するようにプログラムを記述する方法が考えられる。これは即ち、常に、CPU11の演算処理能力の範囲内に納まるように、同時に処理する音源の数を制御するようにするものである。
【0034】
しかし、例えば、この例においいて、音源のみの処理でCPU11の演算処理能力の半分までを許容範囲と考えれば、一音源分が10パーセントなので、音源5個分がしきい値となり、このプログラムでは6音源以上、音源の発音(放音)ができない状態となってしまう。
【0035】
この時、発音数を増やす(同時に処理可能な音声データ列を増やす)ための方法としては、一音源分を発音(放音)するために必要なCPU11の演算能力を10パーセント未満となるように、音声データ列の生成、即ち発音のための処理工程の負荷を低下させるようにすることが考えられる。
【0036】
この処理工程負荷を低下させる具体的な方法の一つは、例えば演算精度を低下させる処理が考えられる。一般に、浮動小数点で演算するよりも固定少数点で演算したほうが処理工程が少なく、CPUへの負荷を減少させることが可能となる。また、同じ固定少数点演算でも、扱われるビット長により演算の負荷が異なる。例えば32ビットデータの乗算と比較して16ビットデータの乗算は処理工程が少なくなる。
【0037】
一般には、演算精度を低下させるほど処理工程数は少なくなる。また、アルゴリズムの中で部分的に浮動小数点化を行ういわゆるブロックフローティング処理等をなうことで、こうした演算精度の影響をより細かく制御する方法も考えられる。
【0038】
また、これとは別に、アルゴリズムそのものを簡易化する方法も考えられる。例えば、いわゆるFIR(Finite Impulse Response:有限インパルス応答)のデジタルフィルタを用いたフィルタ処理を行う場合、フィルタ係数の次数を減らすことによって処理工程を減少させ、CPU11への負荷の減少(軽減)につなげることが可能となる。このように、アルゴリズムの簡易化する方法は、アルゴリズムの精緻化のレベルを調整する方法であるとも言える。
【0039】
このように、演算精度の調整やアルゴリズムの簡易化によってCPU11の負荷を低減させることは可能である。しかし、一般には、こうした負荷低減処理により、処理結果として得られる音声信号の品質は低下する。
【0040】
[CPU11の負荷軽減の具体的な制御について]
この実施の形態の家庭用ゲーム機においても、上述した音声データ列についての演算精度の調整や、音声データ列についての処理のアルゴリズムの簡易化(アルゴリズムの精緻化レベルの調整)を利用するものである。しかし、上述のように、常時、演算精度の調整やアルゴリズムの簡易化によって、CPU11の負荷を軽減するようにしたのでは、放音される音声の品質は全体として低いものとなる。
【0041】
この事情を鑑み、この実施の形態の家庭用ゲーム機においては、例えば、処理がなされるべき音源数などのCPU11にかかる負荷量の合計値を把握し、このCPU11にかかる負荷量と、CPU11が同時に処理してもゲームの進行に支障をきたすことの無いCPU11の許容負荷量とに基づいて、音声データ列に対する処理を変えるようにして、CPU11にかかる負荷を軽減するとともに、使用者が違和感を感じるような放音音声の品質の劣化を生じることが無いようにするものである。
【0042】
次に、この実施の形態の家庭用ゲーム機において行われるCPU11の負荷の軽減についての具体的な制御の仕方について、図2、図3を参照しながら詳しく説明する。
【0043】
図2は、この実施の形態の家庭用ゲーム機において行われるCPU11の負荷の軽減の制御の仕方について、その基本的な考え方を説明するための図である。図2において、スレッドA、スレッドB、スレッドC、スレッドDは、異なる音声データ列を処理をするための行程を意味するものであり、ゲームという大きなプログラム(タスク)から起動される、より小さいモジュールを意味するものである。
【0044】
ここでは説明を簡単にするため、各スレッドにおいて、圧縮された音源データである音声データ列を復号する処理を例にして説明する。音声圧縮された信号を復号するには様々な手法があるが、一般には圧縮された時点のフォーマットに従って復号化していくことにより、圧縮されたデータ列の最小単位により何サンプルかの復号化された音声データ列が出力され、それを繰り返し行っていくことにより一連の音声データ列が復号される。
【0045】
圧縮されたデータの最小単位をフレーム(音声フレーム)と定義した場合、1フレームの処理で例えば左右チャンネルの1024サンプル分の音声データが出力される。スレッドとしての処理は、この1フレーム毎の処理を継続的に繰り返し行っていく形となる。
【0046】
ここで、図2におけるスレッドA、スレッドB、スレッドC、スレッドDは、それぞれゲームにおけるキャラクタA,キャラクタB,キャラクタC、キャラクタDの音声を算出するための圧縮復号化処理に相当するものとする。この時、例えば各キャラクタの登場や消滅が、ゲームの進行状況に依存するものであるとすると、スレッド(圧縮音源復号スレッド)の出現、消滅がその都度行なわれる事となる。
【0047】
この時に、この実施の形態の家庭用ゲーム機においては、現在ゲーム全体として、いくつの音源、即ちスレッドが処理されているかを各スレッドから把握できるような共通変数Nを定義する。すなわち、その時に、圧縮された音声データ列の復号化のために、当該家庭用ゲーム機のCPU11にかかっている負荷を、現在機能している(動作している)スレッドの数(共通変数N)によって把握するようにする。
【0048】
具体的には共通のメモリ領域を使用し、各スレッドが、この共通のメモリ領域に記憶保持される共通変数Nの値を更新、参照する形となる。初期状態としては、共通変数Nは0(Zero)であるが、スレッドが出現した瞬間に、共通変数Nには1を加算し、逆にスレッドが消滅する瞬間には、共通変数Nから1を減算する。
【0049】
従って、図2Aに示すように、当該家庭用ゲーム機において、ゲームの進行に伴って、キャラクタA、キャラクタB、キャラクタCが出現し、これらに対応するスレッドA、スレッドB、スレッドCが動作するようにされた場合には、各スレッドにおいて、共通変数Nに1づつが加算され、図2Aの状態の時には、共通変数N=3となる。
【0050】
また、図2Bに示すように、ゲームの進行に伴って、存在していたキャラクタA、キャラクタBが消滅し、新たなキャラクタDが出現した場合には、キャラクタAのスレッドAと、キャラクタBのスレッドBは終了することになるが、この終了の直前に共通変数Nからそれぞれ1づつを減算する。また、新たに出現したキャラクタDに対応して実行するようにされたスレッドDにおいては、共通変数Nに1が加算されることになる。キャラクタCはそのまま存在し続けているので、共通変数Nに対する減算、加算の対象とはならない。従って、図2Bの状態の時には、共通変数N=2となる。
【0051】
このように、共通変数Nによって動作しているスレッドの数を動的に把握できるようにする。そして、動作しているスレッドの数により、そのときに、圧縮音声データを復号化するためのスレッドが実行されることにより、CPU11にかかつている負荷が把握される。
【0052】
そして、スレッド内部での処理においては、共通変数Nを監視し、共通変数Nがしきい値より小さければ、CPU11にはそれほど負荷はかかっていないと判断して、通常通りの高品位の復号化処理を行う。一方、共通変数Nがしきい値以上であれば、CPU11には大きな負荷がかかっており、これ以上の負荷は適正な処理を行うことができなくなる可能性があるので、復号化処理の演算精度を落としたり、復号化処理のアルゴリズムを簡易化したり(アルゴリズムの精緻化レベルを調整したり)するなど、CPU11の負荷を増大させないように、簡易化した復号化処理を行うようにする。
【0053】
なお、ここで共通変数Nと比較するしきい値は、CPU11の許容負荷量であり、この例の場合には、同時に処理しても処理の遅れなどを生じさせることの無いスレッド数となる。すなわち、音声データ列を復号化する処理を行うスレッドのCPU11にかかる負荷量は予め分かっているので、このスレッド単位の負荷量に基づいてしきい値が予め決められるようにされる。
【0054】
このようにすることによって、この実施の形態の家庭用ゲーム機においては、CPU11にかかる負荷を抑制し、音声データ列の処理の遅延を防止して、快適にゲームを楽しむことができるようにしている。
【0055】
次に、この例の場合の各スレッドにおける具体的な処理について、図3のフローチャートを参照しながら説明する。図3は、上述したように、キャラクタが出現した場合に、当該キャラクタの音声データを復号化する処理を行うためにCPU11において実行するようにされる各スレッドの具体的な処理を説明するためのフローチャートである。
【0056】
上述もしたように、キャラクタが出現すると、新たに出現したそのキャラクタの音声を処理するための図3に示すスレッドがスタートする。そして、新たにキャラクタが出現したのであるから、このキャラクタ分のCPU11にかかる負荷量、この例の場合にはスレッドの個数である1を共通変数Nに加算する(ステップS101)。
【0057】
そして、当該スレッドにおいては、1フレーム分(1音声フレーム分)のデータ圧縮された音声データをディスク2から読み出し(ステップS102)、この読み出したデータ圧縮された音声データを復号化処理する前に、共通変数NがCPU11の許容負荷量(しきい値)より小さいか否かを判断する(ステップS103)。
【0058】
ステップS103の判断処理において、共通変数Nがしきい値よりも小さいと判断した場合は、まだそれほど処理すべき音源数が多くなく、CPU11の負荷は少ないとみなして、通常通りの高品位の復号化処理を行うようにする(ステップS104)。
【0059】
ステップS103の判断処理において、共通変数Nがしきい値以上であると判断したときには、ある程度の音源数を処理しており、CPU11への負担が大きくなっているものとみなして、簡易復号化処理を行うようにする(ステップS105)。
【0060】
ここで、簡易復号化処理は、例えば、通常実数で対処すべき演算を整数のみとするようにしたり、処理ビット数を制限したり、処理ループの数を少なくするなど、演算精度を調整したり、アルゴリズムを簡易化したりして、CPU11にかかる負荷を低減するようにしたものである。
【0061】
この後、当該キャラクタが消滅するようにされたか否かを判断する(ステップS106)。このステップS106の判断処理は、換言すれば、この例でいうところの復号化処理を終えるか否かを判断する処理にあたる。そして、ステップS106の判断処理において、当該キャラクタは、まだ消滅していないと判断したときには、ステップS102からの処理を繰り返し、当該キャラクタについての次の音声フレームの音声データについての処理を繰り返すようにする。
【0062】
また、ステップS106の判断処理において、当該キャラクタが消滅するようにされたと判断したときには、キャラクタが減ったのであるから、共通変数NからCPUに対する負荷量、この例の場合にはスレッドの個数である1を減算する(ステップS107)。そして、この消滅したキャラクタのためのスレッドはその処理を終了することになる。
【0063】
なお、この実施の形態の家庭用ゲーム機においては、CPU11の許容負荷量(しきい値)については、具体的な値で想定していないが、このしきい値は、CPUの能力やゲーム全体のバランス、音質劣化の重要性等を考慮して、所望の値を設定するようにすればよい。
【0064】
例えば、単純な例では、ステップS104における通常処理のCPU11にかかる負荷が3%で、ステップS105における簡略処理のCPU11にかかる負荷が2%であり、システム全体として音源処理に許容される負荷が10パーセントであるような場合は、しきい値に4を設定する。この時、音源数が3つまではステップS104における通常処理により復号化処理が行われ、音源数が4つ以上の場合はステップS105における簡易処理により復号化が行われることになる。
【0065】
ただしこの場合、音源数が6つになるとステップS105の簡易処理を用いても処理負荷が12%となるので別途システム全体としてのしきい値の設定が必要となる。この場合、全体のしきい値による、ゲームそのものの仕様も制限されることとなるが、ステップS104の通常処理しか行わない場合と比較して、仕様制限のレベルは大幅に少ないものとなることは明白である。
【0066】
なお、この家庭用ゲーム機においても、ステップS105においての簡易処理(簡易復号化処理)が用いられた場合には、処理結果の品質は低下することとなるが、必ず複数の音は発音されている状態ということになる。この場合、互いの音源同士の間でいわゆるマスキング効果が働くこととなり、品質の低下は一つの音源だけしか存在しない場合よりも分かりにくくなる。
【0067】
そもそも、複数の音がなると、一つの音の場合と比較して品質に対する注意力が散漫となり、その傾向は音源数が増えれば増えるほど顕著となっていくことは明白である。この実施の形態で説明した家庭用ゲーム機では、こうした聴覚上の特徴をも利用したものとなっている。
【0068】
なお、図3に示した処理を行う場合、ステップS102の音声データの読み出し単位を1音声フレームとすれば、1音声フレームごとに共通変数Nと許容負荷量との比較を行って、実行する処理を分岐させるようにすることができる。また、ステップS102の音声データの読み出し単位を1音声フレームより小さな単位とすれば、1音声フレーム内において複数回、共通変数Nと許容負荷量との比較を行って、実行する処理を分岐させるようにし、より詳細な制御を行うようにすることができる。
【0069】
もちろん、ステップS102の音声データの読み出し単位を1音声フレームより小さな処理単位とし、所定数分の処理単位についての音声データ列についての通常処理、あるいは、簡易処理を行うようにした後に、共通変数Nと許容負荷量との比較を行うようにしても、1音声フレームに複数回の共通変数Nと許容負荷量との比較を行って、実行する処理を分岐させるようにすることができる。
【0070】
また、図3に示した処理を行う場合、ステップS102の音声データの読み出し単位を複数音声フレームとすれば、複数音声フレームごとに共通変数Nと許容負荷量との比較を行って、実行する処理を分岐させるようにすることができる。
【0071】
もちろん、ステップS102の音声データの読み出し単位を1音声フレーム単位とし、所定フレーム数分の音声フレームについての音声データ列についての通常処理、あるいは、簡易処理を行うようにした後に、共通変数Nと許容負荷量との比較を行うようにしても、複数音声フレームごとに共通変数Nと許容負荷量との比較を行って、実行する処理を分岐させるようにすることができる。
【0072】
また、ゲームプログラム等が記録されたディスク2が装填される家庭用ゲーム機毎のCPUの処理能力やメモリの空き容量などが異なる可能性もあり、家庭用ゲーム機毎に音声データの読み出し単位、あるいは、通常処理、簡易処理の繰り返し回数などを異ならせるようにしたい場合もある。
【0073】
このため、例えば、実行するようにされたゲームプログラムにおいて、家庭用ゲーム機毎のCPUの処理能力やメモリの空き容量などをチェックし、音声データの読み出し単位や、通常処理、簡易処理の繰り返し回数などを動的に異ならせるようにしてもよい。すなわち、CPUの処理能力やメモリの空き容量などの外部パラメータによっても、共通変数Nと許容負荷量との比較のタイミングを制御するようにすることができる。
【0074】
また、上述した実施の形態においては、圧縮音源の復号処理を行う場合を例にして説明したが、発音(放音)される音声信号の処理はこれに限るものではない。例えば、図4に示すように、キャラクタが出現し、そのキャラクタが音声出力を伴うものである場合、そのキャラクタの音声データ列についての処理は、上述した圧縮音声の復号処理の他、いわゆるエフェクト処理や音像定位処理が施される場合がある。
【0075】
エフェクト処理は、音声信号に様々な装飾効果を施すものであり、ゲーム中において、当該キャラクタが例えば洞窟にいる場合には、反響効果を施すことにより、洞窟にいる場合の音声を出力できるようにするなどのことである。そして、例えば、遅延による効果を演出するエフェクトの一つとしてマルチタップディレイ処理が知られているが、マルチタップディレイ処理においては、タップ数に応じて、処理結果の品質は向上するが処理負荷が重くなるといった、これまで説明してきた内容と同様の傾向がある。
【0076】
この場合、例えば、図3においてステップS104の通常処理が通常のマルチタップディレイ処理となり、ステップS105の簡易処理がタップ数を少なくした簡易マルチタップディレイ処理となる。つまり、ステップS105の簡易処理のタップ数の方が、ステップS104の通常処理のタップ数と比較して少なくなるような構成にすることで、圧縮復号処理の場合と同様の効果が得られるようになる。
【0077】
また、例えば、マルチタップディレイ処理などにおけるタップ数にもある程度の幅を持たせられる。従って、図3に示したように、通常処理と簡易処理の2つのステップに限定されず、ステップS103で得られた共通変数Nの値に応じて、タップ数を動的に変化させるようにすることで、処理負荷と、品質をより精緻に制御することもできる。
【0078】
ここではマルチタップディレイ処理を例にしてエフェクト処理について説明したが、これに限るものではない。ディレイ処理の他、リバーブ処理、エコー処理などの種々のエフェクト処理を行う場合に、CPUにかかる負荷量に応じて、処理精度を調整したり、アルゴリズムの簡略化(あるいは精緻化)のレベルを変更したりすることによって、CPU11にかかる負荷が大きくなり過ぎないように調整することが可能である。
【0079】
また、音像定位処理は、例えば、キャラクタが動くことにより、そのキャラクタの位置に応じた位置から音声が聞こえるように処理するものであり、例えば、音源の位置から使用者の耳までの音声の伝達関数を用いて、音声データを処理することにより、音像を定位させることができるようにされる。
【0080】
そこで、この音像定位処理を行う場合にも、処理精度を調整したり、アルゴリズムの簡略化の程度(アルゴリズムの精緻化レベル)を変更したりすることによって、CPU11にかかる負荷が大きくなり過ぎないように調整することが可能である。
【0081】
そして、図4に示したように、各キャラクタ単位で、異なる音声データ列について、復号処理、エフェクト処理、音像定位処理が行われることになるが、これらの1つ以上の処理をCPUの負荷の制御の対象とすることができる。
【0082】
また、CPUの負荷を制御するために行う、例えば復号処理などの所定の処理の演算精度やアルゴリズムの精緻化のレベルの調整は、即座に切り換える方式と、徐々に調整する方式とのいずれかを選ぶことが可能である。図5は、所定の処理の演算精度やアルゴリズムの精緻化のレベルの調整について説明するための図である。
【0083】
図5Aは、図3を用いて説明したように、例えば音声データ列の復号処理などの所定の処理について、高品位に処理を行う通常処理と、簡略化した処理をおこなう簡易処理とを選択できるようにしておき、共通変数Nで把握されるCPUの負荷量が、CPUの許容負荷量(しきい値)を超えたか否かに応じて切り換える方式を示している。これに対し、図5Bは、上述したマルチタップディレイ処理におけるタップ数の変更のように、共通変数Nで把握されるCPUの負荷量に応じて、処理のレベルを徐々に調整していくようにする方式を示している。
【0084】
このように、2つ以上の処理レベルの異なる処理を実行できるようにしておき、CPUの許容負荷量と実際のCPU負荷量とに基づいて、実行する処理をダイナミックに変更する方式(図5A)と、CPUの許容負荷量と実際のCPU負荷量とに基づいて、実行する処理の処理レベルを徐々に変更するようにする方式(図5B)とを、制御の対象となる処理の内容や性格等に応じて最適な方式を選択するようにすればよい。
【0085】
なお、上述した実施の形態においては、キャラクタに対応する音声データ列を復号処理する各スレッドを実行することによりCPU11にかかる負荷は、どのスレッドも同じである場合を例にして説明したが、これに限るものではない。例えば、スレッドによっては、他のスレッドよりもより大きな負荷をCPUにかける場合もあると考えられる。
【0086】
そこで、例えば、音声データ列などの処理の対象となるデータに、当該データを処理することによりかかる負荷を示す情報を付加しておき、負荷の重い処理の場合には、共通変数Nに1ではなく2を加算/減算するようにするなど、その負荷の大きさに応じた値を共通変数Nに対して加算/減算することにより、より正確にCPU11にかかる負荷を把握することができるようにされる。
【0087】
また、例えば主人公のキャラクタの音声は、CPU11にかかっている負荷が大きくても、高品位に出力するようにしたい場合もある。そこで、例えば、音声データ列などの処理の対象となるデータに、当該データはその品位を高品位に保つものであるのか、そうでないかの優先度あるいは重要度を示す情報を付加しておき、優先度や重要度が高い音声データ列の場合には、簡易処理を行わないようにしたり、あるいは、処理レベルを低下させたりしないように制御することも可能である。もちろん、ゲームプログラムからの指示に応じて、処理の精度や処理レベルを変更するようにすることもできる。
【0088】
このように、優先度や重要度が高い音声データ列を処理する場合には、簡易処理とされたり、処理レベルが低くされたりするなどのことはないので、その負荷の大きさに応じた値を共通変数Nに対して加算/減算することにより、より正確にCPU11にかかる負荷を把握することもできる。
【0089】
また、音声データ列に対する処理とは別に、CPU11に負荷のかかる処理を実行している場合には、CPU11の許容負荷量(しきい値)自体を変更するなどして、適正にCPU11にかかる負荷の制御を行うようにすることも可能である。
【0090】
[スレッドの他の処理方法について]
また、上述した実施の形態においては、共通変数Nと許容負荷量との比較を行って、実行する処理を分岐させるようにするタイミングは、1音声フレーム毎、1音声フレームより小さな所定の処理単位毎、あるいは、複数音声フレーム毎とすることが可能であることを説明した。しかし、これに限るものではない。
【0091】
例えば、キャラクタの発生や場面の変更が発生したタイミング毎、あるいは、映像信号の垂直同期信号のタイミング毎などの所定のいわゆるイベント発生タイミング毎に、共通変数Nと許容負荷量との比較を行って、実行する処理を分岐させるようにすることもできる。
【0092】
以下においては、イベント発生タイミングとして、例えば、ゲームの画像を形成する映像信号の垂直同期信号の検出タイミング毎に、共通変数Nと許容負荷量との比較を行って、実行する処理を分岐させるようにする場合を例にして、キャラクタ毎の音声データの処理スレッドの処理について説明する。
【0093】
図6は、図3を用いて上述した場合と同様に、キャラクタが出現した場合に、当該キャラクタの音声データを例えば復号化する処理を行うためにCPU11において実行するようにされる各スレッドの具体的な処理を説明するためのフローチャートである。
【0094】
そして、この図6に示す処理は、上述もしたように、イベント発生タイミング毎に、共通変数Nと許容負荷量との比較を行って、実行する処理を分岐させることにより、CPU11の負荷を制御するとともに、例えば、各キャラクタの音声データ列に付加するようにされる処理の優先度を示す情報も考慮して、各キャラクタの音声データ列を処理するようにしている。
【0095】
キャラクタが出現すると、新たに出現したそのキャラクタの音声を処理するための図6に示すスレッドがスタートする。まず、CPU11は、出現したキャラクタの音声データ列などに付加されている優先度フラグなどの必要な情報を参照し、当該キャラクタの音声データ列は優先的に通常処理すべきデータか否か、また、その音声データ列を処理する場合にCPU11にかかる負荷量はどれくらいかなどの情報を確認する(ステップS201)。
【0096】
そして、新たにキャラクタが出現したのであるから、このキャラクタ分のCPU11にかかる負荷量を共通変数Nに加算する(ステップS202)。この後、CPU11は、共通変数NがCPU11の許容負荷量(しきい値)より小さいか否かを判断する(ステップS203)。
【0097】
ステップS203の判断処理において、共通変数Nがしきい値よりも小さいと判断した場合は、まだそれほど処理すべき音源数が多くなく、CPU11の負荷は少ないとみなして、通常通りの高品位の復号化処理を行う通常処理ルーチンを実行するようにする(ステップS204)。
【0098】
また、ステップS203の判断処理において、共通変数Nがしきい値以上であると判断したときには、ある程度の音源数を処理しており、CPU11への負担が大きくなっているものとみなして、簡易処理ルーチンを実行するようにする(ステップS205)。
【0099】
そして、ステップS204の通常処理ルーチン、および、ステップS205の簡易処理ルーチンにおいては、後述もするように、当該キャラクタが消滅するか、あるいは、垂直同期信号のタイミングとなるまで、音声データ列についての復号処理を続行することとなる。
【0100】
ステップS204の通常処理ルーチン、および、ステップS205の簡易処理ルーチンにおいて、当該キャラクタが消滅するか、あるいは、例えば、垂直同期信号のタイミングを検出すると、それらのルーチンを抜け、当該キャラクタが消滅したか否かを判断する(ステップS206)。
【0101】
ステップS206の判断処理において、当該キャラクタは消滅していないと判断したときには、CPU11は、ステップS203からの処理を繰り返し、映像信号の垂直同期信号のタイミングにおいて、共通変数Nと許容負荷量との比較を行って、実行する処理を分岐させて音声データについての処理を続行するようにする。
【0102】
ステップS206の判断処理において、当該キャラクタが消滅したと判断したときには、キャラクタが減ったのであるから、共通変数NからCPUに対する負荷量、この例の場合にはスレッドの個数である1を減算する(ステップS207)。そして、この消滅したキャラクタのためのスレッドはその処理を終了することになる。
【0103】
このように、この図6に示す処理は、キャラクタが登場したときにスタートし、当該キャラクタが消滅するまで続行されるが、映像信号の垂直同期信号のタイミングで、共通変数Nと許容負荷量との比較を行って、通常処理を行うか、簡易処理を行うかを見直すようにしている。
【0104】
図7は、図6に示したステップS204において実行される通常処理ルーチンを説明するためのフローチャートであり、図8は、図6に示したステップ205において実行される簡易処理ルーチンを説明するためのフローチャートである。まず、図7に示す通常処理ルーチンについて説明する。
【0105】
図7に示すように、通常処理ルーチンにおいては、まず、音声データを読み出し(ステップS301)、読み出した音声データについて比較的に高品位に復号処理を行う通常処理を実行する(ステップS302)。そして、CPU11は、当該キャラクタが消滅したか否かを判断する(ステップS303)。
【0106】
ステップS303の判断処理において、当該キャラクタが消滅したと判断したときには、この図7に示す処理を終了し、上述もしたように、図6に示した音声データの復号処理自体が終了することになる。また、ステップS303の判断処理において、当該キャラクタは消滅していないと判断したときには、所定のイベント、すなわち、この例の場合には、映像信号の垂直同期信号を検出したか否かを判断する(ステップS304)。
【0107】
ステップS304の判断処理において、垂直同期信号を検出していないと判断したときには、ステップS301からの処理を繰り返し、当該キャラクタについての音声データの復号処理を続行する。また、ステップS304の判断処理において、垂直同期信号を検出したと判断したときには、この図7に示す通常処理ルーチンを終了して、図6に示したステップS206からの処理を行うことになる。
【0108】
このように、一度、通常処理ルーチンが実行された後においては、当該キャラクタが消滅するか、あるいは、映像信号の垂直同期信号が検出されるまで、通常処理により高品位に音声データの復号処理が行われる。
【0109】
次に、図6に示したステップS205において実行される処理であって、図8に示す簡易処理ルーチンについて説明する。図8に示すように、簡易処理ルーチンにおいては、まず、音声データを読み出し(ステップS401)、読み出した音声データについて、上述もしたように、演算精度を低く抑えるようにしたり、あるいは、復号化のアルゴリズムの精緻化レベルを低く抑えるようにしたりすることにより、簡易化した復号処理を行う簡易処理を実行する。
【0110】
そして、この簡易処理ルーチンの場合には、例えば、処理する音声データに付加するようにされている優先フラグに基づいて、処理する音声データは優先処理するデータか否かを判断する(ステップS402)。例えば、メインキャラクタの音声データについては、どんなにCPU11に負荷がかかっていても、通常処理で復号を行いたい場合もある。このような場合には、例えば、ゲームの製作者の意図により、当該キャラクタの音声データには、上述のように、優先フラグが付加される。
【0111】
そして、ステップS402の判断処理において、優先フラグが付加されており、優先して通常処理で処理すべきデータであると判断したときには、この簡易処理ルーチンにおいても、高品位に復号処理を行う通常処理を実行する(ステップS403)。
【0112】
また、ステップS402の判断処理において、優先フラグは付加されておらず、優先処理データではないと判断したときには、簡易復号処理を行う簡易処理を実行する(ステップS404)。
【0113】
そして、CPU11は、ステップS403の処理、あるいは、ステップS404の処理の後、当該キャラクタが消滅したか否かを判断する(ステップS405)。ステップS405の判断処理において、当該キャラクタが消滅したと判断したときには、この図8に示す処理を終了し、上述もしたように、図6に示した音声データの復号処理自体が終了することになる。
【0114】
また、ステップS405の判断処理において、当該キャラクタは消滅していないと判断したときには、所定のイベント、すなわち、映像信号の垂直同期信号を検出したか否かを判断する(ステップS406)。
【0115】
ステップS406の判断処理において、垂直同期信号を検出していないと判断したときには、ステップS401からの処理を繰り返し、当該キャラクタについての音声データの簡易型の復号処理を続行する。また、ステップS406の判断処理において、垂直同期信号を検出したと判断したときには、この図8に示す簡易処理ルーチンを終了して、図6に示したステップS206からの処理を行うことになる。
【0116】
したがって、一度、簡易処理ルーチンが実行された後においても、当該キャラクタが消滅するか、あるいは、映像信号の垂直同期信号が検出されるまで、簡易処理によりCPU11にかかる負荷が低くなるようにした簡易処理が行われることになる。
【0117】
このように、図6、図7、図8を用いて説明したように、垂直同期信号の検出タイミングや、シーンチェンジのタイミングなどの所定のいわゆるイベントの発生タイミングで、そのときのCPU11の負荷量を示す共通変数Nと許容負荷量(しきい値)とを比較して、音声データ列について通常処理を行うか、簡易処理を行うかを切り換えることができる。
【0118】
このように、CPU11の負荷量を示す共通変数Nと許容負荷量(しきい値)との比較を、目的とするイベントの発生タイミングで行うようにすることができる。したがって、音声フレーム単位を基準としたタイミング、目的とするイベントの発生タイミングなどの適宜のタイミングでCPU11の負荷量を示す共通変数Nと許容負荷量(しきい値)との比較を行い、実行する処理の分岐を行うようにすることができる。
【0119】
なお、ここでも、キャラクタの発する音声データ列の復号処理を行う場合を例にして説明したが、これに限るものではない。音声データ列の処理としては、復号処理の他、エフェクト処理、音像定位処理などの他の処理を行う場合にも、この発明を適用することができる。
【0120】
[処理対象データの他の例について]
上述した実施の形態においては、ゲームの進行に応じて出現/消滅するキャラクタが発生する音声を形成する音声データ列を処理する場合を例にして説明した。しかし、これに限るものではない。例えば、図1に示した家庭用ゲーム機の表示部16に表示する画像を形成するための画像データを処理する場合にも、この発明を適用することが可能である。
【0121】
家庭用ゲーム機の表示部16に表示される画像としては、例えば、頻繁に動く登場キャラクタの他、背景画像として、建物などの動きの無いものから、水の流れのある川などの動きのあるものまで種々のものがある。そして、各画像をいわゆるオブジェクト単位で処理して表示することにより、動きの無い画像はそのままに、動きのある画像のみを変化させるようにすることによって、効率よく画像処理を行うようにすることができる。
【0122】
例えば、登場キャラクタの画像(動きの激しいもの)、背景画像としての建物や道路(動きのないもの)、背景画像としての道路上を走る車や流れのある川(動きのあるもの)などは、それぞれをオブジェクトして別個に処理して表示することができるようにされる。
【0123】
そして、例えば、キャラクタが登場する前、あるいは、キャラクタの数が少なくその動きもあまり激しくない場合には、CPU11にかかる負荷はあまり大きくないので、全てのキャラクタを高品位に表示できるように各オブジェクトの画像データを処理する(高品位処理する)。
【0124】
しかし、キャラクタの数が増えたり、キャラクタの動きが激しくなってきたりした場合には、CPU11にかかる負荷は大きくなっているので、例えば、流れのある川や道路上を走る車などの動きのある背景画像のオブジェクトの画像データについては、演算精度を落としたり、アルゴリズムの精緻化レベルを落としたり、あるいは、動き自体を停止させるなど、低品位の画像データ処理を行うようにする。このように、動きのある背景画像のオブジェクトを低精度で処理することにより、CPU11にかかる負荷を軽減させることができるのである。
【0125】
そして、上述のように画像データを処理する場合にも、上述した音声データの場合と同様に、例えば、登場キャラクタなどの動きの激しいオブジェクトの数に応じて、背景画像の内の動きのあるオブジェクトの画像データを処理する場合の演算精度やアルゴリズムの精緻化レベルを調整することによって、CPU11にかかる負荷を所定の範囲内に収めるようにすることができる。
【0126】
このように、オブジェクト単位の画像データを処理する場合にも、例えば、動きの激しいオブジェクトの数と、CPU11の画像データについての許容負荷量とを比較し、動きの激しいオブジェクトの数が許容負荷量を超えた場合には、背景画像の内の動きのあるオブジェクトの画像データを処理する場合の演算精度やアルゴリズムの精緻化レベルを低くした簡易処理を行うようにしたり、あるいは、動きの激しいオブジェクトの数に応じて、背景画像の内の動きのあるオブジェクトの画像データを処理する場合の演算精度やアルゴリズムの精緻化レベルを調整したりすることにより、CPU11にかかる負荷を制御することができる。
【0127】
また、この場合、この家庭用ゲーム機の使用者は、動きの激しい登場キャラクタなどに注意を向けることになるため、背景画像の動きのある画像についての処理がレベルダウンしたとしても、これに明らかに気が付き、気になってしまうなどの不都合を生じさせることも無いようにすることができる。
【0128】
また、ここでは、背景画像の内の動きのあるオブジェクトの画像データについて、処理の演算精度やアルゴリズムの精緻化レベルを変えたり、徐々に調整したりする場合を説明したが、これに限るものでは無い。例えば、登場キャラクタなどの動きの激しいオブジェクトの画像データについての処理の演算精度やアルゴリズムの精緻化レベルを変えたり、徐々に調整したりしてもよい。
【0129】
なお、上述した実施の形態においては、演算処理手段、算出手段、決定手段、負荷容量変更手段のそれぞれは、CPU11の機能として実現されるものであり、これらをCPU11において実行されるプログラムによって実現することができる。
【0130】
そして、演算処理手段としてのCPU11においては、音声データの復号処理、エフェクト処理、音像定位処理の他、データ圧縮されていないデータをデータ圧縮して出力する必要性が生じた場合には、演算処理手段としてのCPU11の処理として、データ圧縮処理を行うようにしてもよい。
【0131】
また、上述もしたように、CPU11において処理可能なデジタルデータとしては、音声データだけでなく、映像データでもよい。処理するデータが映像データである場合には、演算処理手段としてCPU11において行なわれる処理は、映像データの復号処理やデータ圧縮処理、映像の拡大や縮小処理、色相調整や輝度調整、シャープネス調整などの種々の映像データに関する処理を行うようにすることができる。
【0132】
また、決定手段により決定される演算処理手段としてのCPU11において実行される演算処理の内容の決定は、上述した実施の形態においても説明したように、比較的に高品位の処理を行う通常処理と、演算精度の抑制やアルゴリズムの簡易化を行うようにした簡易処理とのいずれかを選択する場合だけでなく、CPU11にかかる負荷量の合計値に応じて、演算精度やアルゴリズムの簡易化の程度(精緻化レベル)を段階的に調整するようにすることも含むものである。
【0133】
また、上述の実施の形態においては、演算処理手段、算出手段、決定手段、負荷容量変更手段のそれぞれは、CPU11の機能として実現されるものとして説明したがこれに限るものではない。音声データを処理するための音声データ専用CPU(音声データ用エンジン)や画像データを処理するための画像データ専用のCPU(画像データエンジン)を備える場合にもこの発明を適用することができる。
【0134】
すなわち、演算処理手段、算出手段、決定手段、負荷容量変更手段のそれぞれを別個のCPUによって構成してもよい。そして、音声データや映像データを処理するCPUの負荷を適正に制御しようとする場合に、この発明を適用することができる。
【0135】
また、上述した実施の形態においては、この発明を家庭用ゲーム機に適用した場合を例にして説明したが、これに限るものではない。業務用のゲーム機であってもよいし、また、ゲーム機に限らず、音声や映像を処理して出力する例えば教育用機器等、各種のデジタル音声処理装置やデジタル映像処理装置にこの発明を適用することができる。
【0136】
【発明の効果】
以上説明したように、この発明により、CPU負荷を動的に、かつ、適切に制御することが可能になり、例えばゲーム進行における仕様制限項目の減少など、CPUにかかる負荷に起因する制限を少なくすることができる。また、音声データや画像データ等の品質面においても、体感的には高品質を維持したものとして確認される。つまり、品質面の劣化を使用者に意識させることも無いようにすることができる。
【図面の簡単な説明】
【図1】この発明が適用された家庭用ゲーム機の構成例を説明するための図である。
【図2】図1に示した家庭用ゲーム機において行われる共通変数Nの更新処理を説明するための図である。
【図3】図1に示した家庭用ゲーム機において行われるCPUにかかる負荷についての制御処理を説明するための図である。
【図4】音声データについての処理について説明するための図である。
【図5】音声データについての処理の所定の処理の処理精度やアルゴリズムの精緻化のレベルの調整について説明するための図である。
【図6】図1に示した家庭用ゲーム機において行われるCPUにかかる負荷についての制御処理の他の例を説明するための図である。
【図7】図6に示した処理のステップS204において行われる処理を説明するための図である。
【図8】図6に示した処理のステップS205において行われる処理を説明するための図である。
【符号の説明】
1…家庭用ゲーム機、11…CPU、12…ROM、13…RAM、14…ディスク再生機、15…操作部、16…表示部、17…音声出力部

Claims (10)

  1. デジタル信号に対して演算処理を施し、所望のデジタル信号を形成する演算処理手段と、
    前記演算処理手段における処理の負荷量の合計値を算出するようにする算出手段と、
    前記算出手段で算出される前記負荷量の合計値と、前記演算処理手段の許容負荷量とから、前記演算処理手段において行う前記演算処理の内容を決定する決定手段とを備えることを特徴とするデジタル信号処理装置。
  2. 請求項1に記載のデジタル信号処理装置であって、
    前記演算処理手段の前記負荷量の合計値は、前記演算処理手段で並列的に実行するようにされているデジタル信号の処理工程の数であり、
    前記演算処理手段の前記許容負荷量は、前記演算処理手段において並列的に実行可能とされるデジタル信号の処理工程の総数であることを特徴とするデジタル信号処理装置。
  3. 請求項1または請求項2に記載のデジタル信号処理装置であって、
    前記演算処理手段において処理するようにされるデジタル信号には、処理にかかる負荷に関する情報が付加されており、
    前記算出手段は、前記演算処理手段において処理されるデジタル信号の前記処理にかかる負荷に関する情報を考慮して、前記演算処理手段の前記負荷量の合計値を算出することを特徴とするデジタル信号処理装置。
  4. 請求項1または請求項2に記載のデジタル信号処理装置であって、
    前記演算処理手段において処理するようにされるデジタル信号には、優先度を示す情報が付加されており、
    前記決定手段は、前記デジタル信号に付加されている前記優先度を示す情報をも考慮して、前記演算処理手段において行う前記演算処理の内容を決定することを特徴とするデジタル信号処理装置。
  5. 請求項1、請求項2、請求項3または請求項4に記載のデジタル信号処理装置であって、
    前記演算処理手段における処理状況に応じて、前記演算処理手段の許容負荷量を変更するようにする許容負荷量変更手段を備えることを特徴とするデジタル信号処理装置。
  6. 演算処理部において、デジタル信号に対して演算処理を施し、所望のデジタル信号を形成する演算処理ステップと、
    前記演算処理部における処理の負荷量の合計値を算出する算出ステップと、
    前記算出ステップにおいて算出した前記負荷量の合計値と、前記演算処理部の許容負荷量とから、前記演算処理部において行う演算処理の内容を決定する決定ステップとを有することを特徴とするデジタル信号処理方法。
  7. 請求項6に記載のデジタル信号処理方法であって、
    前記演算処理部の前記負荷量の合計値は、前記演算処理手段で並列的に実行するようにされているデジタル信号の処理工程の数であり、
    前記演算処理部の前記許容負荷量は、前記演算処理部において並列的に実行可能とされるデジタル信号の処理工程の総数であることを特徴とするデジタル信号処理方法。
  8. 請求項6または請求項7に記載のデジタル信号処理方法であって、
    前記演算処理部において処理するようにされるデジタル信号には、処理にかかる負荷に関する情報が付加されており、
    前記算出ステップにおいては、前記演算処理部において処理されるデジタル信号の前記処理にかかる負荷に関する情報を考慮して、前記演算処理部の前記負荷量の合計値を算出することを特徴とするデジタル信号処理方法。
  9. 請求項6または請求項7に記載のデジタル信号処理方法であって、
    前記演算処理部において処理するようにされるデジタル信号には、優先度を示す情報が付加されており、
    前記決定ステップにおいては、前記デジタル信号に付加されている前記優先度を示す情報をも考慮して、前記演算処理手段において行う前記演算処理の内容を決定することを特徴とするデジタル信号処理方法。
  10. 請求項6、請求項7、請求項8または請求項9に記載のデジタル信号処理方法であって、
    前記演算処理部における処理状況に応じて、前記演算処理部の前記許容負荷量を変更するようにする許容負荷量変更ステップを有することを特徴とするデジタル信号処理方法。
JP2003046123A 2003-02-24 2003-02-24 デジタル信号処理装置およびデジタル信号処理方法 Expired - Fee Related JP4601905B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003046123A JP4601905B2 (ja) 2003-02-24 2003-02-24 デジタル信号処理装置およびデジタル信号処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003046123A JP4601905B2 (ja) 2003-02-24 2003-02-24 デジタル信号処理装置およびデジタル信号処理方法

Publications (2)

Publication Number Publication Date
JP2004258765A true JP2004258765A (ja) 2004-09-16
JP4601905B2 JP4601905B2 (ja) 2010-12-22

Family

ID=33112761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003046123A Expired - Fee Related JP4601905B2 (ja) 2003-02-24 2003-02-24 デジタル信号処理装置およびデジタル信号処理方法

Country Status (1)

Country Link
JP (1) JP4601905B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006033260A1 (ja) * 2004-09-22 2006-03-30 Konami Digital Entertainment Co., Ltd. ゲーム装置、ゲーム装置制御方法、情報記録媒体、ならびに、プログラム
JP2008532372A (ja) * 2005-02-23 2008-08-14 フラウンホーファーゲゼルシャフト ツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. 波面合成レンダリング手段を制御するための装置および方法
US7809453B2 (en) 2005-02-23 2010-10-05 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for simulating a wave field synthesis system
US7813826B2 (en) 2005-02-23 2010-10-12 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for storing audio files
JP2011075873A (ja) * 2009-09-30 2011-04-14 Brother Industries Ltd カラオケ装置
US7930048B2 (en) 2005-02-23 2011-04-19 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for controlling a wave field synthesis renderer means with audio objects
US7962231B2 (en) 2005-02-23 2011-06-14 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for providing data in a multi-renderer system
JPWO2012025962A1 (ja) * 2010-08-25 2013-10-28 富士通株式会社 負荷制御装置、負荷制御方法及び負荷制御プログラム
JP2017221553A (ja) * 2016-06-17 2017-12-21 株式会社カプコン ゲームプログラムおよびゲームシステム
JP2018201791A (ja) * 2017-06-02 2018-12-27 株式会社カプコン ゲームプログラムおよびゲーム装置
JP7399254B1 (ja) 2022-12-23 2023-12-15 株式会社Cygames プログラム、方法および情報処理装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006033260A1 (ja) * 2004-09-22 2006-03-30 Konami Digital Entertainment Co., Ltd. ゲーム装置、ゲーム装置制御方法、情報記録媒体、ならびに、プログラム
US8128497B2 (en) 2004-09-22 2012-03-06 Konami Digital Entertainment Co., Ltd. Game machine, game machine control method, information recording medium, and program
KR100878964B1 (ko) * 2004-09-22 2009-01-19 가부시키가이샤 코나미 데지타루 엔타테인멘토 게임장치, 게임장치 제어방법 및 프로그램을 기록한 컴퓨터 판독가능한 정보기록매체
US7930048B2 (en) 2005-02-23 2011-04-19 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for controlling a wave field synthesis renderer means with audio objects
US7813826B2 (en) 2005-02-23 2010-10-12 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for storing audio files
US7809453B2 (en) 2005-02-23 2010-10-05 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for simulating a wave field synthesis system
US7962231B2 (en) 2005-02-23 2011-06-14 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for providing data in a multi-renderer system
JP2008532372A (ja) * 2005-02-23 2008-08-14 フラウンホーファーゲゼルシャフト ツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. 波面合成レンダリング手段を制御するための装置および方法
JP2011075873A (ja) * 2009-09-30 2011-04-14 Brother Industries Ltd カラオケ装置
JPWO2012025962A1 (ja) * 2010-08-25 2013-10-28 富士通株式会社 負荷制御装置、負荷制御方法及び負荷制御プログラム
JP2017221553A (ja) * 2016-06-17 2017-12-21 株式会社カプコン ゲームプログラムおよびゲームシステム
JP2018201791A (ja) * 2017-06-02 2018-12-27 株式会社カプコン ゲームプログラムおよびゲーム装置
JP7399254B1 (ja) 2022-12-23 2023-12-15 株式会社Cygames プログラム、方法および情報処理装置
JP2024091157A (ja) * 2022-12-23 2024-07-04 株式会社Cygames プログラム、方法および情報処理装置

Also Published As

Publication number Publication date
JP4601905B2 (ja) 2010-12-22

Similar Documents

Publication Publication Date Title
JP4601905B2 (ja) デジタル信号処理装置およびデジタル信号処理方法
JP5241805B2 (ja) タイミング・オフセット許容型カラオケゲーム
JP3795717B2 (ja) ゲーム表示方法、記録媒体およびゲーム表示装置
WO2006093145A1 (ja) 音声出力装置、音声出力方法、情報記録媒体、ならびに、プログラム
EP1071294A2 (en) System, method and recording medium for audio-video synchronous playback
US10747492B2 (en) Signal processing apparatus, signal processing method, and storage medium
US8558100B2 (en) Music production apparatus and method of producing music by combining plural music elements
US7777124B2 (en) Music reproducing program and music reproducing apparatus adjusting tempo based on number of streaming samples
JP6161886B2 (ja) 音声出力システム、情報処理装置、情報処理プログラム、および音声出力制御方法
JP2006094275A (ja) ステレオ音拡大処理プログラムおよびステレオ音拡大装置
EP3149912B1 (en) Communication device and data processing method
JP7533461B2 (ja) 信号処理装置および方法、並びにプログラム
KR20230023760A (ko) 일차 및 둘 이상의 스케일링된 비-일차 입력 채널들의 다운믹싱을 포함하는 멀티-채널 오디오 신호들의 인코딩
JP5652066B2 (ja) 動画圧縮制御装置、動画記録装置及び動画記録再生装置
US20240307778A1 (en) Audio Adjustment In A Video Gaming System
JP4880298B2 (ja) プログラム、情報記憶媒体、及びデータ再生システム
US20080041219A1 (en) Sound output device, control method for sound output device, and information storage medium
JPH11149565A (ja) 画像音響処理装置、画像音響処理方法および記録媒体
JP2010197957A (ja) 画像音声供給装置、画像音声出力装置、画像供給方法、画像音声出力方法、及びプログラム
JP2009005910A (ja) プログラム、情報記憶媒体、ゲーム装置
WO2016148298A1 (ja) 信号処理装置及び信号処理方法
JP6435918B2 (ja) 楽曲再生装置、および、プログラム
KR100294919B1 (ko) 입체적오디오신호재생장치및그방법
JP2007033507A (ja) 音響再生装置
JP2006121243A (ja) 音声信号レベル制御装置及びその方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070523

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070720

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080205

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080312

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080613

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090824

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100625

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100929

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees