(57)【要約】【課題】タスクの輻輳状態の如何に拘わらず、プロセッサの破綻を回避しつつ品質を向上することができるマルチタスク制御装置を提供する。【解決手段】複数の動作モードＡ〜Ｃを有する第１のタスク１０１ｂを含む複数のタスクをプロセッサ１０に並行して処理させるマルチタスク制御装置１ｂであって、第１のタスク１０１ｂを起動すべきか否かを判断するタスク管理装置２０ｂと、タスク管理装置２０ｂが第１のタスク１０１ｂを起動すべきと判断した場合に、プロセッサ１０の処理能力の範囲内で、かつ最も高い機能に対応する動作モードで第１のタスク１０１ｂをプロセッサ１０に処理させるモード設定装置３０ｂとを備える。【選択図】　　　　図９
2004078889.tif 000002
【特許請求の範囲】
【請求項１】
複数の動作モードを有する第１タスクを含む複数のタスクをプロセッサに並行して処理させるマルチタスク制御装置であって、
前記第１タスクを起動すべきか否かを判断する判断手段と、
前記判断手段が前記第１タスクを起動すべきと判断した場合に、前記プロセッサの処理能力の範囲内で処理できる機能に対応する動作モードで第１タスクをプロセッサに処理させるモード制御手段と
を備えることを特徴とするマルチタスク制御装置。
【請求項２】
前記第１タスクは、デジタルオーディオ信号を再生処理するタスクであり、
前記機能は、音質を制御する機能であり、
前記モード制御手段は、前記判断手段が前記第１タスクを起動すべきと判断した場合に、前記プロセッサの処理能力の範囲内で、かつ最も高い音質に対応する動作モードで第１タスクをプロセッサに処理させる
ことを特徴とする請求項１記載のマルチタスク制御装置。
【請求項３】
前記機能は、前記プロセッサの処理能力の範囲内で、かつ最も高い機能であり、
前記モード制御手段は、前記最も高い機能に対応する動作モードで第１タスクをプロセッサに処理させる
ことを特徴とする請求項１記載のマルチタスク制御装置。
【請求項４】
前記機能は、前記プロセッサにかかる負荷が大きくなると共に高くなり、
前記モード制御手段は、前記判断手段が前記第１タスクを起動すべきと判断した場合に、前記プロセッサの処理能力の範囲内で、かつ最も大きい負荷に対応する動作モードで第１タスクをプロセッサに処理させる
ことを特徴とする請求項３記載のマルチタスク制御装置。
【請求項５】
前記機能は、前記プロセッサが処理する命令数が多くなると共に高くなり、
前記モード制御手段は、前記判断手段が前記第１タスクを起動すべきと判断した場合に、前記プロセッサの処理能力の範囲内で、かつ最も多い命令数に対応する動作モードで第１タスクをプロセッサに処理させる
ことを特徴とする請求項３記載のマルチタスク制御装置。
【請求項６】
前記機能は、前記プロセッサの処理能力の範囲内で、かつ最も高い音質を制御するフィルタ機能であり、
前記モード制御手段は、前記判断手段が前記第１タスクを起動すべきと判断した場合に、前記プロセッサの処理能力の範囲内で、かつ最も多いタップ数のフィルタ処理に対応する動作モードで第１タスクをプロセッサに処理させる
ことを特徴とする請求項１記載のマルチタスク制御装置。
【請求項７】
前記モード制御手段は、
前記プロセッサに処理される対象タスクの状態変化を検出する状態変化検出手段と、
前記状態変化後に起動させるタスクを特定する特定手段と、
前記特定手段によって特定されたタスクの中に第１タスクが含まれている場合、第１タスクの動作モードを決定する動作モード決定手段と
を備えることを特徴とする請求項１記載のマルチタスク制御装置。
【請求項８】
前記動作モード決定手段は、前記特定手段によって特定されたタスクと前記状態変化後に起動させる第１タスクの動作モードとを対応させた動作モード設定テーブルを有し、
前記動作モード決定手段は、前記動作モード設定テーブルに基づいて、第１タスクの動作モードを決定する
ことを特徴とする請求項７記載のマルチタスク制御装置。
【請求項９】
前記動作モード決定手段は、前記特定手段によって特定されたタスクの数と前記状態変化後に起動させる第１タスクの動作モードとを対応させた動作モード設定テーブルを有し、
前記動作モード決定手段は、前記動作モード設定テーブルに基づいて、第１タスクの動作モードを決定する
ことを特徴とする請求項７記載のマルチタスク制御装置。
【請求項１０】
前記動作モード決定手段は、
前記状態変化後に起動させる第１タスクの処理に対して割り当て可能な負荷を算出する負荷算出手段と、
前記負荷算出手段が算出した負荷と前記第１タスクの各動作モードの処理に要する負荷とをそれぞれ比較する比較手段とを備え、
前記動作モード決定手段は、前記比較手段による比較結果に基づいて、第１タスクの動作モードを決定する
ことを特徴とする請求項７記載のマルチタスク制御装置。
【請求項１１】
前記動作モード決定手段は、さらに
各前記タスクの起動要求を受け付ける起動要求受付手段と、
前記第１タスクの処理中に前記起動要求受付手段が第１タスク以外の他のタスクの起動要求を受け付けた場合において、前記負荷算出手段が算出した負荷が第１タスクの最も低い機能の動作モードに対して設定されたしきい値未満であるとき、前記他のタスクの起動を禁止する起動禁止手段と
を備えることを特徴とする請求項１０記載のマルチタスク制御装置。
【請求項１２】
前記動作モード決定手段は、さらに
各前記タスクの起動要求を受け付ける起動要求受付手段と、
前記第１タスクの処理中に前記起動要求受付手段が第１タスク以外の他のタスクの起動要求を受け付けた場合、前記他のタスクの起動を禁止する起動禁止手段と
を備えることを特徴とする請求項１０記載のマルチタスク制御装置。
【請求項１３】
前記動作モード決定手段は、
前記状態変化後に起動させる第１タスクの処理に対して割り当て可能な命令数を算出する命令数算出手段と、
前記命令数算出手段が算出した命令数と前記第１タスクの各動作モードの処理に要する命令数とをそれぞれ比較する比較手段とを備え、
前記動作モード決定手段は、前記比較手段による比較結果に基づいて、動作モードを決定する
ことを特徴とする請求項７記載のマルチタスク制御装置。
【請求項１４】
前記動作モード決定手段は、さらに
各前記タスクの起動要求を受け付ける起動要求受付手段と、
前記第１タスクの処理中に前記起動要求受付手段が第１タスク以外の他のタスクの起動要求を受け付けた場合において、前記命令数算出手段が算出した命令数が第１タスクの最も低い機能の動作モードに対して設定されたしきい値未満であるとき、前記他のタスクの起動を禁止する禁止手段と
を備えることを特徴とする請求項１３記載のマルチタスク制御装置。
【請求項１５】
前記動作モード決定手段は、さらに
各前記タスクの起動要求を受け付ける起動要求受付手段と、
前記第１タスクの処理中に前記起動要求受付手段が第１タスク以外の他のタスクの起動要求を受け付けた場合、前記他のタスクの起動を禁止する禁止手段と
を備えることを特徴とする請求項１３記載のマルチタスク制御装置。
【請求項１６】
前記モード制御手段は、前記動作モード決定手段が決定した動作モードに対応付けられたパラメータを第１タスクに設定し、当該パラメータに対応する動作モードで第１タスクをプロセッサに処理させる
ことを特徴とする請求項７記載のマルチタスク制御装置。
【請求項１７】
複数の動作モードを有する第１タスクを含む複数のタスクをプロセッサに並行して処理させるマルチタスク制御装置としてコンピュータに機能させるプログラムであって、
コンピュータを、
前記マルチタスク制御装置が備える、前記第１タスクを起動すべきか否かを判断する判断手段および前記判断手段が前記第１タスクを起動すべきと判断した場合に、前記プロセッサの処理能力の範囲内で処理できる機能に対応する動作モードで第１タスクをプロセッサに処理させるモード制御手段
として機能させるプログラム。
【請求項１８】
複数の動作モードを有する第１タスクを含む複数のタスクをプロセッサに並行して処理させるマルチタスク制御方法であって、
前記第１タスクを起動すべきか否かを判断する判断ステップと、
前記判断ステップで前記第１タスクを起動すべきと判断した場合に、前記プロセッサの処理能力の範囲内で処理できる機能に対応する動作モードで第１タスクをプロセッサに処理させるモード制御ステップと
を含むことを特徴とするマルチタスク制御方法。
【請求項１９】
複数の動作モードを有する音楽再生タスクを含む複数のタスクをプロセッサに並行して処理させるマルチタスク制御装置を備える音楽データ再生装置であって、
前記マルチタスク制御装置は、
前記音楽再生タスクを起動すべきか否かを判断する判断手段と、
前記判断手段が前記音楽再生タスクを起動すべきと判断した場合に、前記プロセッサの処理能力の範囲内で処理できる最も音質の高い機能に対応する動作モードで音楽再生タスクをプロセッサに処理させるモード制御手段とを備える
ことを特徴とする音楽データ再生装置。
【請求項２０】
前記音楽データ再生装置は、携帯性を有し、
前記プロセッサに並行して処理される音楽再生タスク以外の他のタスクは、ＴＶビュー、ブラウジング、メールおよび通話の少なくともいずれか１つである
ことを特徴とする請求項１９記載の音楽データ再生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のタスクをプロセッサに並行して処理させるマルチタスク制御装置および音楽データ再生装置に関する。
【０００２】
【従来の技術】
近年、音声、オーディオ、画像等のデータ圧縮処理を高速（例えば、２８５ＭＩＰＳ）に処理することができるプログラム制御方式の汎用デジタルシグナルプロセッサ（ＤＳＰ）が開発され、デジタル携帯電話機や、モバイルＡＶ機器などの他、モデム装置、ＣＤ装置、ＭＤ装置、ＤＶＣ装置、ＤＶＤ装置などに幅広く用いられている。このようなプロセッサを搭載したコンピュータ装置、例えば携帯電話機では、通話用のプログラムをプロセッサに実行させることによって通話機能を実現させているが、この携帯電話機に対して、例えば音楽録音・再生装置としても利用したい、ＴＶ受信機としても利用したい、しかも音楽を録音しながらＴＶを視聴している最中に電話がかかってくると通話も並行して行いたいといった要望がよせられている。このため、この種のコンピュータ装置に機能の拡張・変更が容易なマルチタスク制御装置を実装し、種々の機能を実現する複合化が図られつつある。
【０００３】
このマルチタスク制御装置は、例えば、音楽録音や再生用のタスク、ＴＶ受信用のタスク、通話用のタスクの３つのタスクのそれぞれを処理能力が高いプロセッサに並行して処理させるものであって、タスクの起動および停止を管理するタスク管理装置等から成り、このタスク管理装置等はプロセッサ上で動作するリアルタイムＯＳが提供する機能により実現される。
【０００４】
ところで、音楽を録音や、再生しながらＴＶを視聴している最中に通話もしたいといった上記要望に応えるためには、ＴＶ受信用のタスクの処理に例えば１５０ＭＩＰＳ、通話用のタスクの処理に例えば１００ＭＩＰＳの負荷がプロセッサにかかると仮定すると、プロセッサの余力は３５ＭＩＰＳとなる。
【０００５】
そこで、従来では、輻輳したタスク処理の破綻を回避すべく、３０ＭＩＰＳ程度の負荷で収まるように命令数をできるだけ少なくした音楽録音や再生用のタスクを作成し、プロセッサの処理能力の範囲内で、音楽録音・再生や、ＴＶ受信、通話を輻輳して処理することができるようにしている。
【０００６】
なお、デジタルオーディオ信号を複数の周波数帯域に分割し、各帯域ごとに符号化を行う音声符号化方式であって、上記分割された各帯域に対するビット割り当て情報を生成し、それぞれ処理量の異なるビット割り当て手段を複数有する音声符号化方式がある。そして、外部からの制御情報に基づいて、上記複数のビット割り当て手段の中から、所定のビット割り当て手段を用いて処理がなされるように、使用するビット割り当て手段を切り替えてビット割り当てを実行して、符号化を行うことを特徴とする音声符号化方式がある（例えば、特許文献１参照。）。これによって、この音声符号化方式では、パソコンのＣＰＵ処理能力および他のアプリケーションのＣＰＵ占有率に左右されず、実時間で音のときれがない高音質の符号化データの作成を実現している。
【０００７】
【特許文献１】
特開２０００−７８０１８号公報（第１頁、第１図）
【０００８】
【発明が解決しようとする課題】
しかしながら、このようなマルチタスク制御装置や、このマルチタスク制御装置を実装する音楽データ再生装置においても、音楽を録音・再生しながらＴＶを視聴している最中に通話もするといった事態は、非常にまれにしか起こらないケースであり、音楽の録音・再生機能等単機能だけを使う使われ方が通常行われる。このような単機能だけの利用時、例えば音楽録音・再生時には、その音楽録音／再生のタスクの処理に３０ＭＩＰＳの負荷がプロセッサにかかるだけで、２５５ＭＩＰＳもの処理能力を余した贅沢な使い方がなされている。
【０００９】
ところで、音声信号のエンコード処理やデコード処理はスケーラビリティが非常に高い。例えば、エンコード処理やデコード処理に要する命令数が少なく、プロセッサに対する負荷が上記のような３０ＭＩＰＳ程度の低さであると音質が低いが、エンコード処理に要する命令数が多くなり、プロセッサに対する負荷が２００ＭＩＰＳ程度にまで高くなるほど、原音と差がないほどにまで音質が高くなる性質を有している。
【００１０】
従って、従来では、わざわざ処理能力の高いプロセッサが搭載されているにも拘わらず、その性能が十分に発揮されておらず、プロセッサにかかる負荷が低い分、品質（音質）が悪いという問題があった。
【００１１】
この問題を解決するために、音楽録音・再生用のタスクの命令数を多くし、音楽録音用のタスクの処理に２００ＭＩＰＳの負荷がプロセッサにかかるようにすることで、プロセッサの性能を十分に発揮させ、音質を高めることが考えられる。
【００１２】
しかしながら、この場合には、音楽録音・再生中にＴＶを視聴したり、通話したりすると、負荷が処理能力を超えてしまい、破綻状態となってしまう。
このような事態は、タスクの種別の如何に拘わらずいえることであって、破綻と品質とのトレードオフが生じる。
【００１３】
なお、上記公報に開示される音声符号化方式は、携帯電話のプロセッサよりも数十倍〜数百倍の処理能力を有するＣＰＵの下で利用されるので、上記の問題点が生じることはほとんどないと考えられるのに対して、処理能力が高くなったとはいってもパソコンに用いられるＣＰＵの数十分の１〜数百分の１の処理能力のプロセッサを用いざるを得ない場合には、上記の問題点は重要な課題となる。
【００１４】
本発明は、このような従来の問題点に鑑みてなされたものであって、タスクの輻輳状態の如何に拘わらず、比較的処理能力が低いプロセッサの破綻を回避しつつ品質を向上することができるマルチタスク制御装置および音楽データ再生装置を提供することを目的とする。
【００１５】
【課題を解決するための手段】
上記の課題を解決するため、本発明に係るマルチタスク制御装置は、複数の動作モードを有する第１タスクを含む複数のタスクをプロセッサに並行して処理させるマルチタスク制御装置であって、前記第１タスクを起動すべきか否かを判断する判断手段と、前記判断手段が前記第１タスクを起動すべきと判断した場合に、前記プロセッサの処理能力の範囲内で処理できる機能に対応する動作モードで第１タスクをプロセッサに処理させるモード制御手段とを備えることを特徴とする。具体的には、前記第１タスクは、デジタルオーディオ信号を再生処理するタスクであり、前記機能は、音質を制御する機能であり、前記モード制御手段は、前記判断手段が前記第１タスクを起動すべきと判断した場合に、前記プロセッサの処理能力の範囲内で、かつ最も高い音質に対応する動作モードで第１タスクをプロセッサに処理させることを特徴とすることができる。
【００１６】
この結果、プロセッサに余力がある場合には第１タスクの処理できる機能の選択の範囲（選択の幅）が広がり、余力がない場合には選択の幅が狭まることになる。これにより、前記モード制御手段は、前記プロセッサの処理能力の範囲内で、かつ最も高い機能に対応する動作モードで第１タスクをプロセッサに処理させることができる。従って、タスクの輻輳状態の如何に拘わらず、プロセッサの破綻を確実に回避しつつ、再生された音質を向上することができる。
【００１７】
ここで、前記機能は、前記プロセッサの処理能力の範囲内で、かつ最も高い機能であり、前記モード制御手段は、前記最も高い機能に対応する動作モードで第１タスクをプロセッサに処理させることを特徴としてもよい。また、前記機能は、前記プロセッサにかかる負荷が大きくなると共に高くなり、前記モード制御手段は、前記判断手段が前記第１タスクを起動すべきと判断した場合に、前記プロセッサの処理能力の範囲内で、かつ最も大きい負荷に対応する動作モードで第１タスクをプロセッサに処理させることを特徴としてもよい。
【００１８】
また、前記機能は、前記プロセッサが処理する命令数が多くなると共に高くなり、前記モード制御手段は、前記判断手段が前記第１タスクを起動すべきと判断した場合に、前記プロセッサの処理能力の範囲内で、かつ最も多い命令数に対応する動作モードで第１タスクをプロセッサに処理させることを特徴としてもよい。さらに、前記機能は、前記プロセッサの処理能力の範囲内で、かつ最も高い音質を制御するフィルタ機能であり、前記モード制御手段は、前記判断手段が前記第１タスクを起動すべきと判断した場合に、前記プロセッサの処理能力の範囲内で、かつ最も多いタップ数のフィルタ処理に対応する動作モードで第１タスクをプロセッサに処理させることを特徴としてもよい。
【００１９】
また、前記モード制御手段は、前記プロセッサに処理される対象タスクの状態変化を検出する状態変化検出手段と、前記状態変化後に起動させるタスクを特定する特定手段と、前記特定手段によって特定されたタスクの中に第１タスクが含まれている場合、第１タスクの動作モードを決定する動作モード決定手段とを備えることを特徴とすることができる。これによって、対象タスクの状態変化が生じる場合に、第１タスクの動作モードの決定を適切なタイミングに行うことができる。
【００２０】
この場合、前記動作モード決定手段は、前記特定手段によって特定されたタスクと前記状態変化後に起動させる第１タスクの動作モードとを対応させた動作モード設定テーブルを有し、前記動作モード決定手段は、前記動作モード設定テーブルに基づいて、第１タスクの動作モードを決定するようにしてもよい。また、前記動作モード決定手段は、前記特定手段によって特定されたタスクの数と前記状態変化後に起動させる第１タスクの動作モードとを対応させた動作モード設定テーブルを有し、前記動作モード決定手段は、前記動作モード設定テーブルに基づいて、第１タスクの動作モードを決定するようにしてもよい。従って、第１タスクの動作モードを簡単に決定することができる。
【００２１】
また、前記動作モード決定手段は、前記状態変化後に起動させる第１タスクの処理に対して割り当て可能な負荷を算出する負荷算出手段と、前記負荷算出手段が算出した負荷と前記第１タスクの各動作モードの処理に要する負荷とをそれぞれ比較する比較手段とを備え、前記動作モード決定手段は、前記比較手段による比較結果に基づいて、第１タスクの動作モードを決定するようにしてもよい。この場合、前記動作モード決定手段は、さらに各前記タスクの起動要求を受け付ける起動要求受付手段と、前記第１タスクの処理中に前記起動要求受付手段が第１タスク以外の他のタスクの起動要求を受け付けた場合において、前記負荷算出手段が算出した負荷が第１タスクの最も低い機能の動作モードに対して設定されたしきい値未満であるとき、前記他のタスクの起動を禁止する起動禁止手段とを備えることを特徴とすることができる。これによって、第１タスクの最も低い機能の動作モードが継続してリアルタイムに処理することが確実に確保され、音のとぎれを防止することができる。
【００２２】
また、前記動作モード決定手段は、さらに各前記タスクの起動要求を受け付ける起動要求受付手段と、前記第１タスクの処理中に前記起動要求受付手段が第１タスク以外の他のタスクの起動要求を受け付けた場合、前記他のタスクの起動を禁止する起動禁止手段とを備えることを特徴とすることができる。これによって、第１タスクの動作モードの変更が防止され、一定音質での音楽再生処理を継続することができる。
【００２３】
また、前記動作モード決定手段は、前記状態変化後に起動させる第１タスクの処理に対して割り当て可能な命令数を算出する命令数算出手段と、前記命令数算出手段が算出した命令数と前記第１タスクの各動作モードの処理に要する命令数とをそれぞれ比較する比較手段とを備え、前記動作モード決定手段は、前記比較手段による比較結果に基づいて、動作モードを決定することを特徴としてもよい。この場合に、前記動作モード決定手段は、さらに各前記タスクの起動要求を受け付ける起動要求受付手段と、前記第１タスクの処理中に前記起動要求受付手段が第１タスク以外の他のタスクの起動要求を受け付けた場合において、前記命令数算出手段が算出した命令数が第１タスクの最も低い機能の動作モードに対して設定されたしきい値未満であるとき、前記他のタスクの起動を禁止する禁止手段とを備えることを特徴とすることができる。これによっても、第１タスクの最も低い機能の動作モードが継続してリアルタイムに処理することが確実に確保され、音のとぎれを防止することができる。
【００２４】
また、前記動作モード決定手段は、さらに各前記タスクの起動要求を受け付ける起動要求受付手段と、前記第１タスクの処理中に前記起動要求受付手段が第１タスク以外の他のタスクの起動要求を受け付けた場合、前記他のタスクの起動を禁止する禁止手段とを備えることを特徴とすることができる。これによっても、第１タスクの動作モードの変更が防止され、一定音質での音楽再生処理を継続することができる。
【００２５】
さらに、前記モード制御手段は、前記動作モード決定手段が決定した動作モードに対応付けられたパラメータを第１タスクに設定し、当該パラメータに対応する動作モードで第１タスクをプロセッサに処理させることを特徴とすることもできる。これによって、パラメータの設定という簡単な処理で第１タスクの動作モードを容易に遷移させ、負荷や命令数を変えることができる。
【００２６】
また、上記の課題を解決するため、本発明に係る音楽データ再生装置は、複数の動作モードを有する音楽再生タスクを含む複数のタスクをプロセッサに並行して処理させるマルチタスク制御装置を備える音楽データ再生装置であって、前記マルチタスク制御装置は、前記音楽再生タスクを起動すべきか否かを判断する判断手段と、前記判断手段が前記音楽再生タスクを起動すべきと判断した場合に、前記プロセッサの処理能力の範囲内で処理できる最も音質の高い機能に対応する動作モードで第１タスクをプロセッサに処理させるモード制御手段とを備えることを特徴とする。具体的には、前記音楽データ再生装置は、携帯性を有し、前記プロセッサに並行して処理される音楽再生タスク以外の他のタスクは、ＴＶビュー、ブラウジング、メールおよび通話の少なくともいずれか１つであることを特徴とすることができる。これによって、携帯電話機等の携帯性の高い装置を、音質の高い音楽データ再生装置として使用しながら、ＴＶビューや、ブラウジング、メールおよび通話を並行して行うことができる。
【００２７】
以上のように本願発明によれば、演算資源に余裕のあるときは、高音質なオーディオ信号処理が行え、演算資源に余裕がないときでも、演算資源を軽減し、破綻を生じない範囲でかつ最も高い音質で処理を円滑に行うことができるので、本願発明の実用的価値は極めて高い。
【００２８】
なお、本発明は、上記マルチタスク制御装置が備える全ての手段を、ステップとするマルチタスク制御方法として実現したり、その全ての手段としてコンピュータに機能させるプログラムとして実現したりすることもできる。そして、そのプログラムをＤＶＤ等の記録媒体やインターネット等の伝送媒体を介して広く流通させることができるのはいうまでもない。
【００２９】
【発明の実施の形態】
以下、本発明の実施の形態に係るマルチタスク制御装置を図面に基づいて説明する。
（実施の形態１）
図１は、本実施の形態１に係るマルチタスク制御装置１ａの全体構成を示すブロック図である。
【００３０】
このマルチタスク制御装置１ａは、例えば携帯電話機を複合化するための複数（図示３つ）のタスク（第１のタスク１０１ａ、第２のタスク１０２ａおよび第３のタスク１０３ａ）のそれぞれをプロセッサ１０に並行して処理させるものであって、タスク管理装置２０ａと、モード設定装置３０ａとから構成され、プロセッサ１０上で動作するリアルタイムＯＳに組み込まれる機能によって実現される。
【００３１】
プロセッサ１０によって処理される第１のタスク１０１ａは、第１の機能（例えば、音楽録音（オーディオ信号のエンコード））を実現する１つのプログラムであって、ＩＳＯ／ＩＥＣ　１３８１８−７　Ａｄｖａｎｃｅｄ　Ａｕｄｉｏ　Ｃｏｄｉｎｇ（これを以下、単に「ＡＡＣ」とも記載する。）の規格に従い、モード設定装置３０ａによって設定されるパラメータの値に応じて、オーディオ信号のエンコード処理に用いる符号化のツール（例えば、聴覚モデル、ＴＮＳ（Ｔｅｍｐｏｒａｌ　Ｎｏｉｓｅ　Ｓｈａｐｉｎｇ）、予測、Ｍ／Ｓ（Ｍｉｄｄｌｅ／Ｓｉｄｅ）ステレオ、ＡＡＣ量子化・符号化等）のアルゴリズムを変化させ、音質が高、中、低の３段階に変化する３つの動作モード（動作モードＡ、動作モードＢおよび動作モードＣ）からなる。即ち、動作モードＡは、動作モードＢや動作モードＣより多くの負荷をプロセッサ１０にかけて音質向上を図る動作モードである。より詳しくは、動作モードＣ、動作モードＢ、動作モードＡの順番に最高音質に対する追求する度合いが高くなるアルゴリズムが使用される結果、この順番に演算量（命令数）が多くなってプロセッサ１０に対する負荷が大きくなり、この順に再生される音質が高くなる。
【００３２】
具体的には、パラメータの値が「１」である場合、第１のタスク１０１ａは、プロセッサ１０に対して２００ＭＩＰＳの負荷Ｎ１１をかける動作モードＡを実行する。この動作モードＡの場合には、第１のタスク１０１ａは、原音と差がない程度の最高音質の再生音が得られる圧縮音声データを生成する。また、パラメータの値が「２」である場合、第１のタスク１０１ａは、プロセッサ１０に対して５０ＭＩＰＳの負荷Ｎ１２をかける動作モードＢを実行する。この動作モードＢの場合には、第１のタスク１０１ａは、動作モードＡの場合よりも少し劣る音質（中音質）の再生音が得られる圧縮音声データを生成する。
【００３３】
さらに、パラメータの値が「３」である場合、第１のタスク１０１ａは、プロセッサ１０に対して３０ＭＩＰＳの負荷Ｎ１３をかける動作モードＣを実行する。この動作モードＣの場合には、第１のタスク１０１ａは、動作モードＢの場合よりも少し劣る音質（低音質）の再生音が得られる圧縮された音声データを生成する。
【００３４】
第２のタスク１０２ａは、プロセッサ１０に対して例えば単位時間当たり１５０ＭＩＰＳの負荷Ｎ２をかけることによって、第２の機能（例えば、ＴＶ受信、即ちビデオデコード（Ｖｄｅｃ）およびオーディオデコード（Ａｄｅｃ））を実現するためのプログラムである。
【００３５】
さらに、第３のタスク１０３ａは、プロセッサ１０に対して例えば単位時間当たり１００ＭＩＰＳの負荷Ｎ３をかけることによって、第３の機能（例えば、（通話（ＳｐｅａｃｈおよびＥｃｈｏ　Ｃａｎｃｅｌ））を実現するプログラムである。
【００３６】
プロセッサ１０は、第１のタスク１０１ａ〜第３のタスク１０３ａのいずれか１つ或いは２以上の組み合わせを、例えば単位時間当たり２８５ＭＩＰＳ＝Ｎｍａｘで処理する能力を有するプロセッサである。
【００３７】
タスク管理装置２０ａは、各タスク１０１ａ〜１０３ａの起動および停止を管理する。より詳しくは、タスク管理装置２０ａは、各タスクの状態を示す区分コードと、各タスクの先頭番地・処理を中断したときのフラグやレジスタの退避領域などから構成されるタスク・コントロール・ブロック（ＴＣＢ）や、ディスパッチャー、スケジューラ等を備えており、音楽を録音するためのボタンが操作されたり、ＴＶを視聴するためのボタンが操作されたり、電話がかかってきてオフフックボタンが操作されるようなイベントが発生した場合や、終了した場合に、次に起動すべきタスクや停止すべきタスクを特定し、この特定によってプロセッサ１０に処理される対象タスクの状態変化を検出し、検出された対象タスクの状態変化をモード設定装置３０ａに通知したり、ＴＣＢによって各タスク１０１ａ〜１０３ａを予定通りに起動したり停止したりする。
【００３８】
モード設定装置３０ａは、動作モード設定テーブル３１ａを備えており、タスク管理装置２０ａから対象タスクの状態変化、即ちタスクの起動や停止の予定の通知があり、起動予定のタスクの中に第１のタスク１０１ａが含まれていると、動作モード設定テーブル３１ａを参照し、第１のタスク１０１ａ以外のタスクが輻輳しているか否か等によって、第１のタスク１０１ａの動作モードを決定し、決定した動作モードに応じたパラメータを第１のタスク１０１ａに設定する。
【００３９】
図２は、図１に示される動作モードＡ〜動作モードＣのプロセッサ１０に対する単位時間当たりの負荷と音質との関係を示す図である。
ここで、ＡＡＣは、オーディオ信号の符号化されたビットストリームの一部分が用いられても音声が再生可能なように、階層化（スケーラビリティ）された構造を持っており、異なる複数のアルゴリズム、即ち全てのツールを組み合わせることにより、業務用のエンコーダのように最高品質を追求したアルゴリズムを採用したり、ツールの一部（例えば予測ツール）を省略したり、簡略化したりすることにより、ＳＤプレーヤのように業務用のエンコーダよりも品質を落としたアルゴリズムや、ポータブルＣＤプレーヤのようにＳＤプレーヤよりも品質を落としたアルゴリズムを採用したりすることができる。
【００４０】
例えば、高音質なオーディオのエンコード処理では、聴感的な音質向上のために、聴覚のマスキング現象などを模擬した聴覚モデルという処理が行われる（ＡＡＣ参照）。ところが、原音と差がない再生音を得るためのエンコード処理を行うと、命令数が膨大となり、この処理には多大の負荷が必要となる。これに対して、この処理を簡略化すると、簡略化の度合いに応じて音質の劣化が徐々に進む一方、命令数が大幅に減少し、この処理に要する負荷を大幅に削減できる。このような場合、聴覚モデルを十分に考慮し、この原音と差がない再生音を得るためのエンコード処理を行うためのプログラムが動作モードＡである。そして、第１タスク１０１ａの処理を動作モードＡより簡略化した動作モードが「Ｂ」であり、この動作モードＢをさらに簡略化した動作モードが「Ｃ」である。
【００４１】
また、高音質なオーディオエンコードでは、エンコード時の圧縮歪をできるだけ聴感上気にならないレベルに押さえ込むために、エンコードパラメータを繰り返し変更したり、修正したりしながら圧縮処理が行われる（ＡＡＣ参照）。これにも多大の負荷が必要である。これに対して、この処理を簡略化すると、簡略化の度合いに応じて音質の劣化が徐々に進む一方、負荷を大幅に削減できる。このような場合、例えば、エンコードパラメータ変更、修正の繰り返し回数を多数行うモードが動作モードＡであり、それを簡略化したモードが動作モードＢ，動作モードＣということになる。
【００４２】
これらの具体例として、動作モードＡのプログラムでは、聴覚特性として周波数成分ごとに最低可聴レベルが異なること（いわゆるラウドネス特性があること）、マスキング特性があること、絶対時間のずれや位相の違いに鈍感であること等が考慮されており、例えば、音声信号のレベルに応じてフィルタ特性を変更し、低周波域および高周波域のレベル増強度を変えたり、音声信号のレベル（振幅）に応じてその信号を周波数軸の目盛がバーク尺度となったマスキング特性（即ち、周波数が低い部分ではマスキングの及ぶ範囲を狭く、高い部分では広げたマスキング特性）に合わせて畳み込み、その信号近傍のレベルの低い信号をマスキング処理することにより量子化雑音を低減したりする。
【００４３】
また、動作モードＢのプログラムでは、例えば、上記マスキング特性について、周波数が低い部分と高い部分とで同じマスキングの及ぶ範囲とすることで、単位時間当たりの負荷を動作モードＡの場合よりも大幅に低減している。さらに、動作モードＣのプログラムでは、例えば、音声信号のレベルの如何に拘わらず同じフィルタ特性を用い、低周波域および高周波域のレベルを増強することで、単位時間当たりの負荷を動作モードＢの場合よりも少し低減している。
【００４４】
図３は図１に示される動作モード設定テーブル３１ａの詳細を示す図であり、図４はプロセッサの処理能力と、第１のタスク１０１ａの動作モードとの関係を示す図である。特に、図４（ａ）は第１のタスク１０１ａだけが起動された場合の状態を、図４（ｂ）は第１のタスク１０１ａと第２のタスク１０２ａとが輻輳して起動された場合の状態を、図４（ｃ）は第１のタスク１０１ａと第２のタスク１０２ａと第３のタスク１０３ａとの３つのタスクが輻輳して起動された場合の状態を、それぞれ示している。
【００４５】
図３に示される動作モード設定テーブル３１ａは、実行させなければならないタスクと、実行される第１のタスク１０１ａの動作モードとの関係を示すものである。なお、図中に示される「○」はタスクの起動状態を、「×」はタスクの停止状態を、「−」は第１のタスク１０１ａに対する動作モードを設定しないことを示しており、第１のタスク１０１ａが起動されない場合もあわせて図示されている。
【００４６】
この動作モード設定テーブル３１ａにおいては、タスク管理装置２０ａから第１のタスク１０１ａだけを起動させる旨の通知を受けた場合、モード設定装置３０ａは、第１のタスク１０１ａに対して最も負荷が高い動作モードＡ（単位時間当たりの負荷Ｎ１１、例えば２００ＭＩＰＳ）で動作させることが示されている。この動作モードＡで動作させる理由は、次の通りである。プロセッサ１０の処理能力Ｎｍａｘ＝２８５ＭＩＰＳを図４（ａ）に示される枠で表すと、プロセッサ１０の処理能力の全てを第１のタスク１０１ａの処理に充てることができる。この場合、動作モードＡ〜動作モードＣのいずれもプロセッサ１０の処理能力の範囲に収まるので、いずれをも設定することができるが、各動作モードの内では動作モードＡの音質が一番高い。そこで、第１のタスク１０１ａとして、最高音質の動作モードＡで動作させることとしたものである。即ち、プロセッサ１０が破綻を来さない範囲で一番品質の高い動作モードＡで動作させることとしたものである。
【００４７】
また、この動作モード設定テーブル３１ａにおいては、タスク管理装置２０ａから第２のタスク１０２ａ（１５０ＭＩＰＳ）と、第１のタスク１０１ａとの２つのタスクを輻輳して起動させる旨の通知を受けた場合、モード設定装置３０ａは、第１のタスク１０１ａに対して動作モードＡよりも負荷が軽い動作モードＢ（５０ＭＩＰＳ）で動作させることが示されている。この動作モードＢで動作させる理由は次の通りである。図４（ｂ）に示されるように、プロセッサ１０の処理能力の内、第２のタスク１０２ａの処理にＮ２＝１５０ＭＩＰＳの負荷かがかかる。このため、第１のタスク１０１ａの処理に充てることができるのは、１３５ＭＩＰＳである。このため、破綻を来さないのは動作モードＢ，動作モードＣの２つであり、両モードのいずれをも設定することができるが、両モードの中では動作モードＢが一番音質的に優れている。そこで、第１のタスク１０１ａとして、動作モードＢで動作させることとしたものである。即ち、プロセッサ１０が破綻を来さない範囲で一番品質の高い動作モードＢで動作させることとしたものである。
【００４８】
なお、この動作モード設定テーブル３１ａにおいては、タスク管理装置２０ａから第３のタスク（１００ＭＩＰＳ）と、第１のタスク１０１ａとの２つのタスクを輻輳して起動させる旨の通知を受けた場合も、第２のタスク１０２ａ（１５０ＭＩＰＳ）と、第１のタスク１０１ａとが起動される場合と同様な理由から、モード設定装置３０ａは、第１のタスク１０１ａに対して動作モードＢ（５０ＭＩＰＳ）で動作させるように構成されている。
【００４９】
さらに、この動作モード設定テーブル３１ａにおいては、タスク管理装置２０ａから第１のタスク１０１ａ、第２のタスク１０２ａおよび第３のタスク１０３ａの全てを輻輳して起動させる旨の通知を受けた場合、モード設定装置３０ａは、第１のタスク１０１ａに対して動作モードＣ（単位時間当たりの負荷Ｎ１３、例えば３０ＭＩＰＳ）で動作させることが示されている。この動作モードＣが設定される理由は、破綻を来さないのは動作モードＣだけであるからである。即ち、プロセッサ１０が破綻を来さない範囲で一番品質の高い動作モードＣで動作させることとしたものである。
【００５０】
図５は、マルチタスク制御装置１ａによる動作を示す図である。
タスク管理装置２０ａは、イベントの発生によって新たなタスクを起動したりタスクの停止が行われるような対象タスクの状態変化を検出すると（Ｓ１１）、状態変化後に起動させるタスクを特定する（Ｓ１２）。そして、タスク管理装置２０ａは、この特定によって得られた次に実行させなければならないタスクを、モード設定装置３０ａに通知する。
【００５１】
通知を受けたモード設定装置３０ａは、対象タスクの中に第１のタスク１０１ａが含まれている場合、動作モード設定テーブル３１ａを用いて第１のタスクの動作モードを決定し、決定した動作モードに対応したパラメータを第１のタスク１０１ａに設定する（Ｓ１３）。第１のタスク１０１ａに対するパラメータの設定が終わると、タスク管理装置２０ａは、プロセッサ１０に対象タスクを時分割で実行させる（Ｓ１４）。
【００５２】
マルチタスク制御装置１ａは、このような処理（Ｓ１１〜１４）を繰り返すことにより、プロセッサ１０の使用効率を高めつつ、第１のタスク１０１ａ〜第３のタスク１０３ａを時分割で並行に処理し、プロセッサ１０が破綻を来さない範囲で、かつ一番品質の高い動作モードで第１のタスク１０１ａを動作させる。
【００５３】
図６は、第１のタスク１０１ａだけが起動される場合の状態遷移とプロセッサ１０にかかる負荷の遷移との関係を示す図である。
図６に示される時刻Ｔ１以前は、何もタスクが起動されていない状態である。この状態で、時刻Ｔ１にタスク管理装置２０ａによって第１のタスク１０１ａだけが起動される場合、モード設定装置３０ａは、第１のタスク１０１ａに対してパラメータ「１」を設定することにより、動作モードＡで動作させる。これによって、プロセッサ１０に対する負荷は、Ｎ１１＝２００ＭＩＰＳということになり、最高品質の音声が得られる。即ち、この場合は、プロセッサ１０に対する負荷に余裕があり、プロセッサ１０の処理能力を全て第１のタスク１０１ａの処理に回すことができるので、第１のタスク１０１ａの処理について高音質なエンコードモード、動作モードＡでエンコードすることを指示したのである。
【００５４】
従って、従来では上記したように３０ＭＩＰＳの負荷がかかるだけで、低音質であったが、本実施の形態１では、従来よりも非常に大きな負荷２００ＭＩＰＳをかける動作モードＡで第１のタスク１０１ａを処理させるので、プロセッサ１０の使用効率を大幅に上げることができ、最高の音質を得ることができる。
【００５５】
図７は、第２のタスク１０２ａが起動された後に第１のタスク１０１ａがさらに起動された場合の状態遷移と、プロセッサ１０にかかる負荷の遷移との関係を示す図である。
【００５６】
図７に示される時刻Ｔ２において、タスク管理装置２０ａによって第２のタスク１０２ａだけが起動された場合、第２のタスク１０２ａが必要とする負荷Ｎ２＝１５０ＭＩＰＳがプロセッサ１０にかかることになる。次に、時刻Ｔ３において、第１のタスク１０１ａがタスク管理装置２０ａによってさらに起動された場合、第２のタスク１０２ａの処理に１５０ＭＩＰＳの負荷が必要であるので、第１のタスク１０１ａにさくことができる処理量は（Ｎｍａｘ−Ｎ２）＝１３５ＭＩＰＳとなる。そして、図３に示される動作モード設定テーブル３１ａを参照すると、第１のタスク１０１ａの動作モードとして動作モードＢ（５０ＭＩＰＳ）が指定されている。これにより、モード設定装置３０ａは、動作モードＢと決定し、第１のタスク１０１ａに対してパラメータ「２」を設定し、動作モードＢで動作させる。この場合、第１のタスク１０１ａの動作モードＢが必要とする負荷Ｎ１２がプロセッサ１０に加わることになる。即ち、この場合は、プロセッサ１０の処理能力に図７の場合ほど余裕がないので、プロセッサ１０が破綻を来さない範囲で、かつ一番音質の高い動作モードＢを設定したのである。これによって、プロセッサ１０に対する演算負荷は、（Ｎ２＋Ｎ１２）＝２００ＭＩＰＳということになる。
【００５７】
従って、従来では上記したように３０ＭＩＰＳ＋１５０ＭＩＰＳ＝１８０ＭＩＰＳの負荷がかかるだけであったが、本実施の形態１では、従来よりも大きな負荷をかけ、プロセッサ１０の使用効率を上げることができ、しかも、従来より高い音質を得ることができる。
【００５８】
図８は、第１のタスク１０１ａが起動された後に第２のタスク１０２ａおよび第３のタスク１０３ａが順次さらに起動された場合の状態遷移と、プロセッサ１０にかかる負荷の遷移との関係を示す図である。
【００５９】
図８に示される時刻Ｔ４以前は、何もタスクが起動されていない状態である。この状態で、時刻Ｔ４において、タスク管理装置２０ａによって第１のタスク１０１ａが起動された場合、第２のタスク１０２ａおよび第３のタスク１０３ａが起動されていないので、モード設定装置３０ａは、第１のタスク１０１ａに対し、動作モードＡを設定する。これによって、プロセッサ１０に対する負荷は、Ｎ１１＝２００ＭＩＰＳということになる。即ち、この場合は、プロセッサ１０に対する負荷に余裕があるので、高音質なエンコードモードでエンコードすることを第１のタスク１０１ａに指示したのである。
【００６０】
次に、時刻Ｔ５において、タスク管理装置２０ａによって第２のタスク１０２ａがさらに起動されたとする。この場合、第２のタスク１０２ａが必要とする演算負荷Ｎ２＝１５０ＭＩＰＳがプロセッサ１０に加わることになる。この場合、第１のタスク１０１ａの動作モードを「Ａ」のままに維持すると、プロセッサ１０にかかる負荷が３５０ＭＩＰＳと過大となり破綻することになる。そこで、モード設定装置３０ａは、動作モード設定テーブル３１ａを参照し、動作モードを「Ｂ」（５０ＭＩＰＳ）に決定し、第１のタスク１０１ａに対し、動作モードＢを設定する。これにより、全体では（Ｎ１２＋Ｎ２）＝２００ＭＩＰＳの負荷がプロセッサ１０にかかることになる。即ち、この場合は、プロセッサ１０に対する負荷に動作モードＡを割り当てる余裕がないので、プロセッサ１０が破綻を来さない範囲で、かつ一番音質の高く、高速なエンコードモード、動作モードＢでエンコードすることを第１のタスク１０１ａに指示したのである。
【００６１】
次に、時刻Ｔ６において、第３のタスク１０３ａがタスク管理装置２０ａによってさらに起動されたとする。この場合、第３のタスク１０３ａが必要とする負荷Ｎ３＝１００ＭＩＰＳがプロセッサ１０に加わることになる。この場合、第１のタスク１０１ａの動作モードを「Ｂ」のままにしておくと、プロセッサ１０にかかる負荷が３００ＭＩＰＳとなり、プロセッサ１０が破綻状態となる。
【００６２】
そこで、モード設定装置３０ａは、動作モード設定テーブル３１ａを参照し動作モードを「Ｃ」（３０ＭＩＰＳ）と決定し、第１のタスク１０１ａに対し、動作モードＣを設定する。これにより、全体では（Ｎ１３＋Ｎ２＋Ｎ３）＝２８０ＭＩＰＳの負荷がプロセッサ１０にかかることになる。
【００６３】
即ち、この場合は、動作モードＢを割り当てるほどの負荷に余裕がないので、モード設定装置３０ａは、プロセッサ１０が破綻を来さない範囲で、かつ一番音質の高く、さらに高速処理可能で負荷の軽いエンコードモード、動作モードＣでエンコードすることを第１のタスク１０１ａに指示したのである。
【００６４】
次に、時刻Ｔ７において、第３のタスク１０３ａ（通話）がタスク管理装置２０ａによって停止されたと仮定する。この場合、第１のタスク１０１ａと、第２のタスク１０２ａとだけが起動されるので、モード設定装置３０ａは、動作モード設定テーブル３１ａを参照し、第１のタスク１０１ａに対し、動作モードＢを設定する。即ち、この場合は、プロセッサ１０に対する演算負荷に余裕が生じるので、プロセッサ１０が破綻を来さない範囲で、かつ一番音質の高いエンコードモードである動作モードＢでエンコードすることを第１のタスク１０１ａに指示したのである。これによって、プロセッサ１０に対する演算負荷は、（Ｎ１２＋Ｎ２）＝２００ＭＩＰＳということになる。
【００６５】
次に、時刻Ｔ８において、第２のタスク１０２ａがタスク管理装置２０ａによって停止されたとする。この場合、モード設定装置３０ａは、第１のタスク１０１ａだけが起動されるので、モード設定装置３０ａは、第１のタスク１０１ａに対し、動作モードＡを設定する。即ち、この場合は、プロセッサ１０に対する負荷に余裕が生じるので、高音質なエンコードモードである動作モードＡでエンコードすることを第１のタスク１０１ａに指示したのである。これによって、プロセッサ１０に対する演算負荷は、Ｎ１１＝２００ＭＩＰＳということになる。
【００６６】
以上のように本実施の形態１に係る発明によれば、第１のタスク１０１ａについて高音質用、中音質用、低音質用等プロセッサ１０における単位時間当たりの負荷が異なる動作モードが予め用意されており、モード設定装置３０ａは、タスク管理装置２０ａの第２のタスク１０２ａおよび第３のタスク１０３ａの起動・停止の状態変化ごとに第１のタスク１０１ａの動作モードを破綻が生じない範囲で負荷の高い動作モードに設定しなおすようにしている。即ち、タスクが輻輳し多大の処理負荷がプロセッサにかかる場合は、前記第１のタスクの処理負荷を軽減するようにしている。このため、第１のタスク１０１ａが起動されている限り、プロセッサ１０の処理能力Ｎｍａｘを超えることなく、単位時間当たりの負荷をプロセッサ１０にかけることができる。即ち、全体の負荷を軽減でき、かつ、負荷に余裕がある場合は、第１のタスク１０１ａに多くの処理資源を割り当て高性能な機能を実現できることとなる。従って、プロセッサの処理能力を超えない範囲で一番高い負荷の動作モードを第１のタスク１０１ａに設定するので、プロセッサの処理能力を最大限に利用することができ、プロセッサ１０の使用効率を高めることができる。
【００６７】
なお、上記実施の形態１では、３つのタスクが輻輳する場合について、その動作を説明したが、２つのタスクが輻輳する場合や、４つ以上のタスクか輻輳する場合であっても、上記実施の形態１と同じ考え方で本発明を適用できる。即ち、処理に必要な単位時間当たりの負荷が異なる複数の動作モードを備えた第１のタスクに対して、輻輳状態に応じて動作モードを切り替えるのである。もちろん、第１のタスクに対する動作モードの切り替えにおける判断の指標は、第１のタスク以外の起動しているタスクの負荷の総和である。負荷の総和が、プロセッサが備えている処理能力に対して余裕がある場合は、第１のタスクに対して余裕内の最大の負荷を与えて高性能な処理を行うようにし、負荷の総和が、プロセッサが備えている処理能力に対して余裕がない場合は、第１のタスクに対して余裕内に収まるものの内、最大の負荷を与えて高速な処理を行うように設定する。
【００６８】
また、上記実施の形態１では、モード設定装置３０ａは動作モード設定テーブル３１ａを用いて第１のタスク１０１ａの動作モードを決定したが、動作モード設定テーブル３１ａを使用することなく、状態変化後に第１のタスク１０１ａに割り当て可能な処理量を特定し、プロセッサ１０が破綻しない範囲で最も大きな負荷をかける第１のタスクの動作モードを決定するようにしてもよい。
【００６９】
また、上記実施の形態１では、第１のタスクに対する動作モードの切り替えにおける判断の指標として、第１のタスク以外の起動しているタスクの負荷の総和を用いたが、第１のタスク以外の起動しているタスクの処理に必要な演算量の総和を用いるようにしてもよく、第１のタスク以外の起動しているタスクを構成するプログラムの命令数の総和を用いてもよい。
【００７０】
また、第１のタスク以外の起動しているタスクの数を用いてもよい。この場合には、他のタスクの数が「０」であれば動作モードＡ、「１」であれば動作モードＢ、「２」であれば動作モードＣというように決定、設定を行えばよく、非常に簡単に決定、設定を行える。
【００７１】
また、上記実施の形態１では、第１のタスク１０１ａについて３つの動作モードを用意したが、２つの動作モードや、４つ以上の動作モードを用意してもよい。
【００７２】
また、上記実施の形態１では第１のタスク１０１ａだけに負荷が異なる複数の動作モードを用意したが、第２のタスク１０２ａ等の他のタスクについても負荷が異なる複数の動作モードを用意してもよい。この場合には、動作モードの切り替えにおける判断の指標として、状態変化後のタスクの輻輳数等を用いればよい。
【００７３】
また、上記実施の形態１では第１のタスク１０１ａをパラメータによって動作モードを変える１つのプログラムで構成したが、同一範疇に属し、異なる複数の機能に対応したプログラムのそれぞれを第１タスクとし、第１タスクを起動すべきと判断した場合に、プロセッサの処理能力の範囲内で、かつ最も高い機能に対応する１つの第１タスクを複数の第１タスクの中から選択してプロセッサに処理させるようにしてもよい。具体的には、ＤＶＤ装置などに向けて作成された業務用エンコーダ（２００ＭＩＰＳ）と、ＳＤプレーヤなど向けて作成されたエンコーダ、ＳＤジュークボックス（５０ＭＩＰＳ）と、ポータブルＣＤプレーヤなどに向けて作成されたエンコーダ、ＣＤリッパー（３０ＭＩＰＳ）との同一範疇に属する３本のプログラムがすでにある場合、これら３本のプログラム業務用エンコーダ（２００ＭＩＰＳ）、ＳＤジュークボックス（５０ＭＩＰＳ）、ＣＤリッパー（３０ＭＩＰＳ）それぞれを第１タスクとし、第１タスクを起動すべきと判断した場合に、プロセッサの処理能力の範囲内で、かつ最も高い機能に対応する１つの第１タスクを複数の第１タスク、即ち業務用エンコーダ（２００ＭＩＰＳ）、ＳＤジュークボックス（５０ＭＩＰＳ）、ＣＤリッパー（３０ＭＩＰＳ）の中から選択してプロセッサに処理させるようにしてもよい。
【００７４】
この場合には、パラメータによって動作モードを変える１つのプログラムをわざわざ作成する必要がなく、既存のソフトを再利用することができ、既存の資源の再利用が促進される。
【００７５】
さらに、上記実施の形態１では、第１のタスクが音声信号のエンコード処理である場合に適用したが、音声信号の再生処理においてもスケーラビリティが高いので、本発明を適用できる。例えば、音声信号の再生処理におけるバーチャルサラウンド機能に本発明を適用する。バーチャルサラウンド機能は、多タップのデジタルフィルタで実現するが、タップ数（ＦＩＲフィルタの係数の数）を例えば動作モードＡでは８１９２（２の１３乗）タップ、動作モードＢでは１２８（２の７乗）タップ、動作モードＣでは３２（２の５乗）タップ、となるようにプログラムを構成し、タスクの輻輳数が少なければ動作モードＡを設定して負荷を大きくし、音場を拡大するバーチャルサラウンド効果を最大にすればよい。一方、タスクの輻輳数が多くなれば、動作モードＢ、動作モードＣの順に設定して負荷を小さくし、バーチャルサラウンド効果を徐々に少なくするようにすればよい。
【００７６】
（実施の形態２）
図９は、本発明の実施の形態２に係るマルチタスク制御装置１ｂの全体構成を示すブロック図である。なお、実施の形態１に係るマルチタスク制御装置１ａと対応する部分に同じ番号を付し、その説明を省略する。
【００７７】
このマルチタスク制御装置１ｂは、実施の形態１に係るマルチタスク制御装置１ａと略同構成であり、例えば携帯電話機を複合化するための複数（図示４つ）のタスク（第１のタスク１０１ｂ、第２のタスク１０２ｂ、第３のタスク１０３ｂおよび第４のタスク１０４ｂ）をプロセッサ１０に並行して処理させるものであって、タスク管理装置２０ｂと、モード設定装置３０ｂとから構成され、プロセッサ１０上で動作するリアルタイムＯＳに組み込まれる機能によって実現される。
【００７８】
ここで、実施の形態１のマルチタスク制御装置１ａでは、第１のタスク１０１ａと他のタスク１０２ａ，１０３ａとが常に輻輳できるように構成され、モード設定装置３０ａの動作モード設定テーブル３１ａで第１のタスク１０１ａの動作モードを設定していた。これに対して、この実施の形態２に係るマルチタスク制御装置１ｂでは、ユーザ設定によって第１のタスク１０１ｂと第１のタスク１０１ｂ以外の他のタスク（第２のタスク１０２ｂ、第３のタスク１０３ｂ、第４のタスク１０４ｂ）との輻輳を禁止したり、許可したりできるように構成され、タスク管理装置２０ｂに設けられた動作モード設定テーブル２２に基づいて第１のタスク１０１ｂの動作モードが決定される点が、実施の形態１の場合と大きく異なっている。なお、第１のタスク１０１ｂと第２のタスク１０２ｂ〜第４のタスク１０４ｂとの輻輳を禁止するモードを以下「輻輳禁止モード」と、輻輳を許可するモードを以下「輻輳許可モード」とも記す。
【００７９】
タスク管理装置２０ｂは、ユーザによって設定された輻輳モード（輻輳禁止モード／輻輳許可モード）を示すフラグを格納するフラグ格納部２１と、第１のタスク１０１ｂの動作モード等を決定するための動作モード設定テーブル２２とを備える。このフラグ格納部２１に格納されたフラグが輻輳禁止モードを表している場合には、タスク管理装置２０ｂは、第１のタスク１０１ｂが起動された後に他のタスクの起動要求があったとき、この他のタスクの起動を禁止する。また、タスク管理装置２０ｂは、フラグが輻輳許可モードを表している場合において、対象タスクの状態変化、即ちタスクの起動や停止の要求があり、起動予定のタスクの中に第１のタスク１０１ｂが含まれていると、動作モード設定テーブル２２を参照し、第１のタスク１０１ｂ以外のタスクが輻輳しているか否か等によって、第１のタスク１０１ｂの動作モードを決定し、決定した動作モードをモード設定装置３０ｂに通知したり、要求された他のタスクを起動すると起動中の第１のタスク１０１ｂの処理量が所定のしきい値未満となるおそれがある場合には、タスク管理装置２０ｂは要求された他のタスクの起動を禁止する。
【００８０】
モード設定装置３０ｂは、タスク管理装置２０ｂから通知された動作モードに従うパラメータを第１のタスク１０１ｂに設定し、そのパラメータに応じたモードで動作させる。
【００８１】
図１０は、図９に示される動作モード設定テーブル２２の構成例を示す図である。
同図に示されるように動作モード設定テーブル２２は、プロセッサ１０の処理能力が格納されるレコード２２１と、プロセッサ１０により実行される第１のタスク１０１ｂ〜第４のタスク１０４ｂの負荷が格納されるレコード２２２〜２２５と、第１のタスク１０１ｂの実行に必要な最低限の処理量を示すしきい値が格納されるレコード２２６とから構成される。
【００８２】
プロセッサ１０によって処理される第１のタスク１０１ｂは、第１の機能（音楽再生）を行う１つのプログラムであって、オーディオ信号のデコード処理の他、モード設定装置３０ｂによって設定されるパラメータの値に応じて、バーチャルサラウンド再生に用いるデジタルフィルタの段数を変化させ、再生音質が高、中、低の３段階に変化する３つの動作モード（動作モードＡ、動作モードＢおよび動作モードＣ）を変える。具体的には動作モードＡは、デコード処理を行った後、８１９２タップ数のデジタルフィルタでバーチャルサラウンド再生を行うプログラムであって、プロセッサ１０に２５０ＭＩＰＳの負荷をかける。動作モードＢは、デコード処理を行った後、１２８タップ数のデジタルフィルタでバーチャルサラウンド再生を行うプログラムであって、プロセッサ１０に２００ＭＩＰＳの負荷をかける。動作モードＣは、デコード処理を行った後、３２タップ数のデジタルフィルタでバーチャルサラウンド再生を行うプログラムであって、プロセッサ１０に１５０ＭＩＰＳの負荷をかける。
【００８３】
また、第２のタスク１０２ｂは、デジタル衛星放送の映像をデコードし、モニタに表示（ＴＶビュー）するためのプログラムであって、プロセッサ１０に５０ＭＩＰＳの負荷をかける。第３のタスク１０３ｂは、インターネットを介して所望のサーバに接続し、当該サーバにアップロードされている情報を閲覧（ブラウジング）するためのプログラムであって、プロセッサ１０に５０ＭＩＰＳの負荷をかける。第４のタスク１０４ｂは、例えばインターネットを介して受信した動画付きメールを閲覧するためのプログラムであって、プロセッサ１０に５０ＭＩＰＳの負荷をかける。
【００８４】
さらに、しきい値は、例えば音声データのデコードがリアルタイムに行え、再生音がとぎれることがない値（１４０ＭＩＰＳ）に設定される。
図１１は、図９に示されるマルチタスク制御装置１ｂが実装される携帯電話機の外観構成例を示す図である。
【００８５】
同図に示されるように携帯電話機ｅｘ１１５は、不図示の基地局や、衛星との間で電波を送受信するためのアンテナｅｘ２０１と、本体表面に装着され、ユーザによって操作される複数の操作キーからなる操作部ｅｘ２０４と、ＣＣＤカメラ等を含み、動画や、静止画を撮ることが可能なカメラ部ｅｘ２０３と、液晶ディスプレイ等を含み、カメラ部ｅｘ２０３で撮影した映像や、アンテナｅｘ２０１を介して受信したＴＶ映像等を表示する表示部ｅｘ２０２と、マイク等を含み、音声を入力をするための音声入力部ｅｘ２０５と、複数のスピーカ等を含み、音声を再生したり、音楽をサラウンド再生したりするための音声出力部ｅｘ２０８と、ヘッドフォンや外部スピーカを接続するためのピンジャックコネクタｅｘ２０９と、記録メディアｅｘ２０７を装着するためのスロット部ｅｘ２０６等とを備える。
【００８６】
ここで、記録メディアｅｘ２０７は、ＳＤカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるＥＥＰＲＯＭ（ＥｌｅｃｔｒｉｃａｌｌｙＥｒａｓａｂｌｅ　ａｎｄ　Ｐｒｏｇｒａｍｍａｂｌｅ　Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）の一種であるフラッシュメモリ素子を格納したものであって、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化された音声データまたは復号化された音声データ等を保持する。
【００８７】
なお、マルチタスク制御装置１ｂを構成するタスク管理装置２０ｂやモード設定装置３０ｂは、この携帯電話機ｅｘ１１５本体内部に設けられたプロセッサ、プロセッサによって実行されるマルチタスクＯＳや、このＯＳ上で実行されるアプリケーション（ＭＰＥＧエンコーダ・デコーダ用ソフト、ブラウザソフト、メーラソフト等）のプログラム等を予め格納するＲＯＭ、ＯＳやアプリケーションのプログラム等の実行時にワークエリアを提供したり、ユーザによって設定された輻輳禁止／許可を示すフラグや、動作モード設定テーブル２２等を一時的に格納するメモリ等によって実現される。
【００８８】
次いでマルチタスク制御装置１ｂを構成するタスク管理装置２０ｂおよびモード設定装置３０ｂの動作を説明する。
図１２は、タスク管理装置２０ｂおよびモード設定装置３０ｂによって実行されるタスク起動・停止処理の詳細を示すフローチャートである。
【００８９】
このタスク起動・停止処理は、所定時間ごとに定期的に実行される。
タスク起動・停止処理においては、タスク管理装置２０ｂは、先ずタスク起動要求が有ったか否か判断する（Ｓ１０）。タスク起動要求が有った場合（Ｓ１０でＹｅｓ）、タスク管理装置２０ｂはそのタスクが音楽再生タスクであるか否か判断する（Ｓ２０）。音楽再生タスクであれば（Ｓ２０でＹｅｓ）、タスク管理装置２０ｂはモード設定装置３０ｂと協働して音楽再生タスク起動制御処理を実行し（Ｓ３０）、タスク起動・停止処理を終了する。これに対して、音楽再生タスクでなければ（Ｓ２０でＮｏ）、タスク管理装置２０ｂはモード設定装置３０ｂと協働して他のタスク起動制御処理を実行し（Ｓ４０）、タスク起動・停止処理を終了する。
【００９０】
一方、タスク起動要求がなかった場合（Ｓ１０でＮｏ）、タスク管理装置２０ｂは、タスク停止要求が有ったか否か判断する（Ｓ５０）。タスク停止要求が有った場合（Ｓ５０でＹｅｓ）、タスク管理装置２０ｂは、そのタスクが音楽再生タスクであるか否か判断する（Ｓ６０）。音楽再生タスクであれば（Ｓ６０でＹｅｓ）タスク管理装置２０ｂは、音楽再生タスクを停止し（Ｓ７０）、タスク起動・停止処理を終了する。これに対して、音楽再生タスクでなければ（Ｓ６０でＮｏ）、タスク管理装置２０ｂはモード設定装置３０ｂと協働して他のタスク停止制御処理を実行し（Ｓ８０）、タスク起動・停止処理を終了する。
【００９１】
他方、タスク停止要求でもなければ（Ｓ５０でＮｏ）、タスク管理装置２０ｂはタスク起動・停止処理を終了する。
図１３は、図１２に示される音楽再生タスク起動制御処理（Ｓ３０）のサブルーチンの処理を示すフローチャートである。
【００９２】
この音楽再生タスク起動制御処理においては、タスク管理装置２０ｂは先ず、起動中の他のタスクないか否か判断する（Ｓ３０１）。起動中の他のタスクない場合（Ｓ３１０でＹｅｓ）、タスク管理装置２０ｂは音楽再生タスクの動作モードを「Ａ」（高品質）に決定し（Ｓ３０２）、モード設定装置３０ｂに動作モードＡを選択させる。そしてタスク管理装置２０ｂは、フラグ格納部２１を参照し輻輳禁止モードが設定されているか否か判断する（Ｓ３０３）。輻輳禁止モードが設定されている場合（Ｓ３０３でＹｅｓ）、タスク管理装置２０ｂは音楽再生タスク（動作モード「Ａ」）を輻輳禁止モードで起動し（Ｓ３０４）、メインルーチンにリターンする。これに対して、輻輳禁止モードが設定されていない場合（Ｓ３０３でＮｏ）、即ち輻輳許可モードが設定されている場合、タスク管理装置２０ｂは、音楽再生タスクを輻輳許可モードで起動し（Ｓ３０５）、メインルーチンにリターンする。
【００９３】
一方、起動中の他のタスクがある場合（Ｓ３０１でＮｏ）、タスク管理装置２０ｂは、プロセッサ１０の処理能力から他のタスクの処理量を減算することにより、音楽再生タスクに割り当てることができる処理量（割り当て可能処理量）を算出し（Ｓ３０６）、算出した割り当て可能処理量がしきい値以上であるか否かを判断する（Ｓ３０７）。しきい値以上である場合（Ｓ３０７でＹｅｓ）、割り当て処理量に基づいて音楽再生タスクの動作モードを「Ｂ」および「Ｃ」（中・低品質）のいずれかに決定し（Ｓ３０８）、モード設定装置３０ｂに動作モードＢおよびＣのいずれかを選択させる。この決定は、次のように行われる。割り当て処理量が動作モードＢの処理量以上であれば、動作モードＢに決定し、割り当て処理量が動作モードＢの処理量未満であれば、動作モードＣに決定する。
【００９４】
動作モードの決定が終わると、タスク管理装置２０ｂは、輻輳禁止モードが設定されているか否か判断する（Ｓ３０９）。輻輳禁止モードが設定されている場合（Ｓ３０９でＹｅｓ）、タスク管理装置２０ｂは、音楽再生タスク（動作モード「Ｂ」，「Ｃ」）を輻輳禁止モードで起動し（Ｓ３１０）、メインルーチンにリターンする。これに対して、輻輳禁止モードが設定されていない場合（Ｓ３０９でＮｏ）、タスク管理装置２０ｂは、音楽再生タスク（動作モード「Ｂ」，「Ｃ」）を輻輳許可モードで起動し（Ｓ３１１）、メインルーチンにリターンする。
【００９５】
他方、割り当て可能処理量がしきい値以上でない場合、即ち割り当て可能処理量がしきい値未満である場合（Ｓ３０７でＮｏ）、タスク管理装置２０ｂは、音楽再生タスクの起動を禁止し（Ｓ３１２）、メインルーチンにリターンする。これは、音楽再生タスクを起動させてもリアルタイムのデコード処理が行えず、音がとぎれた音楽再生しかできないためである。
【００９６】
図１４は、図１２に示される他のタスク起動制御処理（Ｓ４０）のサブルーチンの処理を示すフローチャートである。
他のタスク起動要求があった場合、タスク管理装置２０ｂは先ず音楽再生タスクが実行中か否か判断する（Ｓ４０１）。判断の結果音楽再生タスクが実行中である場合（Ｓ４０１でＹｅｓ）、タスク管理装置２０ｂはこの音楽再生タスクが輻輳禁止モードで起動中であるか否か判断する（Ｓ４０２）。輻輳禁止モードで起動されている場合（Ｓ４０２でＹｅｓ）、要求された他のタスクの起動を禁止し（Ｓ４０３）、メインルーチンにリターンする。この処理により、起動中の音楽再生タスクの動作モードが変更されることがない。従って、音質が変化することのない音楽再生が最後まで継続される。
【００９７】
一方、起動中の音楽再生タスクが輻輳禁止モードでない、即ち輻輳許可モードで起動されている場合（Ｓ４０２でＮｏ）、タスク管理装置２０ｂは、動作モード設定テーブル２２を参照し、要求された他のタスクを起動した場合に音楽再生タスクに対して割り当てることができる処理量（割り当て可能処理量）を算出し（Ｓ４０４）、算出した割り当て可能処理量がしきい値未満であるか否か判断する（Ｓ４０５）。しきい値未満であると（Ｓ４０５でＹｅｓ）、タスク管理装置２０ｂは、要求された他のタスクの起動を禁止し、メインルーチンにリターンする。この処理により、音楽再生タスクに対して割り当てられる処理量が必ずしきい値以上であることが確保される。従って、音がとぎれることなく音楽再生が継続される。
【００９８】
これに対して割り当て可能処理量がしきい値未満でなければ（Ｓ４０５でＮｏ）、即ちしきい値以上あれば、ステップＳ４０４で算出した割り当て可能処理量に基づいて音楽再生タスクの動作モードを「Ｂ」または「Ｃ」を決定し、モード設定装置３０ｂは動作モードを「Ｂ」または「Ｃ」に遷移させる（Ｓ４０７）。具体的には、この遷移は、次のように行われる。割り当て処理量が動作モードＢの処理量以上であれば、動作モードＢに遷移させ、割り当て処理量が動作モードＢの処理量未満であれば、動作モードＣに遷移させる。この場合には、負荷の軽い動作モードに遷移されるため、音質が低下する。動作モードの遷移が終わると、タスク管理装置２０ｂは、要求された他のタスクの起動を許可し（Ｓ４０８）、メインルーチンにリターンする。これにより、音楽再生タスクとともに、要求された他のタスクが時分割で実行される。
【００９９】
他方、音楽再生タスクが起動していない場合（Ｓ４０１でＮｏ）、要求された他のタスクの起動を許可し（Ｓ４０９）、メインルーチンにリターンする。これにより、要求された他のタスクの処理が行われる。
【０１００】
図１５は、図１２に示される他のタスク停止制御処理（Ｓ８０）のサブルーチンの処理を示すフローチャートである。
他のタスク停止要求があった場合、タスク管理装置２０ｂは、先ず他のタスクを停止させ（Ｓ８０１）、音楽再生タスクが起動中か否か判断する（Ｓ８０２）。起動中でなければ（Ｓ８０２でＮｏ）、メインルーチンにリターンする。
【０１０１】
一方、起動中であれば（Ｓ８０２でＹｅｓ）、音楽再生タスクが輻輳禁止モードで起動されているか否か判断する（Ｓ８０３）。輻輳禁止モードで起動されている場合（Ｓ８０３でＹｅｓ）、メインルーチンにリターンする。即ち、処理能力に余裕ができても音楽再生タスクにその処理能力を回さないでメインルーチンにリターンする。従って、起動中の音楽再生タスクの動作モードが変更されることがないので、音質が変化することなく音楽再生が最後まで継続される。
【０１０２】
他方、輻輳禁止モードでない場合（Ｓ８０３でＮｏ）、即ち、輻輳許可モードである場合、タスク管理装置２０ｂは、音楽再生タスクに対して割り当て可能な処理量（割り当て可能処理量）を算出し（Ｓ８０４）、音楽再生タスクを動作モード「Ａ」または「Ｂ」を決定し、モード設定装置３０ｂは動作モードを「Ｂ」または「Ｃ」に遷移させ（Ｓ８０５）、メインルーチンにリターンする。具体的には、この遷移は、次のように行われる。割り当て処理量が動作モードＡの処理量以上であれば動作モードＡに遷移させ、割り当て処理量が動作モードＡの処理量未満であれば動作モードＢに遷移させる。この場合には、負荷の重い動作モードに遷移されるため、音質が向上する。
【０１０３】
図１６は、輻輳許可モードにおけるタスクの遷移状態に応じた負荷の遷移を示す図である。具体的には、音楽再生タスクが輻輳許可モードで起動された後に他のタスクが順次さらに起動された場合の状態遷移と、プロセッサ１０にかかる負荷の遷移との関係が示されている。
【０１０４】
図１６に示される時刻Ｔ１０以前は、タスクが何も起動されていない状態である。この状態で、時刻Ｔ１０において、音楽再生タスクがタスク管理装置２０ｂによって起動された場合、他のタスクが何も起動されていないので、モード設定装置３０ｂは、音楽再生タスクに対し、動作モードＡを設定する。これによって、プロセッサ１０に対する負荷は、２５０ＭＩＰＳということになる。即ち、この場合は、プロセッサ１０に対する負荷に余裕があるので、高音質なバーチャルサラウンドモードで音楽再生するパラメータを音楽再生タスクにセットさせたのである。このような音楽再生タスクだけが実行される場合には、図１７（ａ）に示されるように携帯電話機の画面にその動作モード「Ａ」と、再生された音楽の曲名や歌手等が表示される。
【０１０５】
次に、時刻Ｔ１１において、他のタスク（例えば、ＴＶビュー）がタスク管理装置２０ｂによってさらに起動されたとする。この場合、ＴＶビューが必要とする演算負荷５０ＭＩＰＳがプロセッサ１０に加わることになる。この場合、音楽再生タスクの動作モードを「Ａ」のままに維持すると、プロセッサ１０にかかる負荷が３００ＭＩＰＳと過大となり破綻することになる。そこで、タスク管理装置２０ｂは、動作モード設定テーブル２２を参照し、動作モードを「Ｂ」（２００ＭＩＰＳ）に決定し、音楽再生タスクを動作モードＢで動作させる。これにより、全体では２５０ＭＩＰＳの負荷がプロセッサ１０にかかることになる。
【０１０６】
即ち、この場合は、プロセッサ１０に対する負荷に動作モードＡだけのような余裕がないので、プロセッサ１０が破綻を来さない範囲で一番音質の高い動作モード、中音質なバーチャルサラウンドモードで音楽再生するパラメータを音楽再生タスクにセットさせたのである。このような音楽再生タスクとＴＶビューとが輻輳した場合には、図１７（ｂ）に示されるように画面に例えば野球中継の映像とともにその動作モード「Ｂ」が表示される。
【０１０７】
次に、時刻Ｔ１２において、さらに他のタスク（例えば、ブラウジング）がタスク管理装置２０ｂによってさらに起動されたとする。この場合、ブラウジングが必要とする負荷５０ＭＩＰＳがプロセッサ１０に加わることになる。この場合、音楽再生タスク１０１ｂの動作モードを「Ｂ」のままにしておくと、プロセッサ１０にかかる負荷が３００ＭＩＰＳとなり、プロセッサ１０が破綻状態となる。そこで、タスク管理装置２０ｂは、動作モード設定テーブル２２を参照し動作モードを「Ｃ」（１５０ＭＩＰＳ）と決定し、音楽再生タスクを動作モードＣで動作させる。これにより、全体では２５０ＭＩＰＳの負荷がプロセッサ１０にかかることになる。
【０１０８】
即ち、この場合は、プロセッサ１０が破綻を来さない範囲で一番音質の高い動作モード、低音質なバーチャルサラウンドモードで音楽再生するパラメータを音楽再生タスクにセットさせたのである。このような音楽再生タスクとＴＶビューとブラウジングとが輻輳した場合には、図１７（ｃ）に示されるように画面に例えば野球中継の映像、ブラウジングにより得られた情報とともにその動作モード「Ｃ」が表示される。
【０１０９】
次に、時刻Ｔ１３において、さらに他のタスク（例えば、動画付きメールの閲覧）の起動要求がタスク管理装置２０ｂにあったものとする。この場合、動画付きメールの閲覧が必要とする負荷５０ＭＩＰＳがプロセッサ１０にさらに加わることになる。この場合、音楽再生タスクの動作モードを「Ｃ」からさらに下げると、しきい値未満になり、再生音がとぎれることになる。そこで、タスク管理装置２０ｂは、動画付きメールの閲覧のタスクを起動禁止にしたのである。これによって、音楽再生タスクの動作モードが「Ｃ」に維持され、音がとぎれることなく再生される。このような音楽再生タスクとＴＶビューとブラウジングとが輻輳しているときにさらに動画付きメールの閲覧要求があったときに起動が禁止された場合には、図１７（ｄ）に示されるように画面に禁止の理由等がさらに表示される。
【０１１０】
次に、時刻Ｔ１４において、ブラウジングがタスク管理装置２０ｂによって停止されたと仮定する。この場合、音楽再生タスクと、ＴＶビューとだけが起動されるので、タスク管理装置２０ｂは、動作モード設定テーブル２２を参照し動作モードを「Ｂ」（２００ＭＩＰＳ）と決定し、音楽再生タスクを動作モードＢで動作させる。
【０１１１】
次に、時刻Ｔ１５において、動画付きメールの閲覧がタスク管理装置２０ｂによって起動されたとする。この場合、動画付きメールの閲覧が必要とする負荷５０ＭＩＰＳがプロセッサ１０に加わることになる。そこで、タスク管理装置２０ｂは、動作モード設定テーブル２２を参照し動作モードを「Ｃ」（１５０ＭＩＰＳ）と決定し、音楽再生タスクを動作モードＣで動作させる。
【０１１２】
次に、時刻Ｔ１６において、動画付きメールの閲覧がタスク管理装置２０ｂによって停止されたと仮定する。この場合、音楽再生タスクと、ＴＶビューとだけが起動されるので、タスク管理装置２０ｂは、動作モード設定テーブル２２を参照し動作モードを「Ｂ」（２００ＭＩＰＳ）と決定し、音楽再生タスクを動作モードＢで動作させる。
【０１１３】
次に、時刻Ｔ１７において、ＴＶビューがタスク管理装置２０ｂによって停止されたと仮定する。この場合、音楽再生タスクだけが起動されるので、タスク管理装置２０ｂは、音楽再生タスクを動作モードＡで動作させる。即ち、この場合は、プロセッサ１０に対する負荷に余裕が生じるので、高音質なバーチャルサラウンドモードで音楽再生するパラメータを音楽再生タスクにセットさせたのである。
【０１１４】
次に、時刻Ｔ１８において、音楽再生タスクがタスク管理装置２０ｂによって停止されたと仮定する。この場合、処理すべきタスクがないので、タスク管理装置２０ｂは、モード設定装置３０ｂに音楽再生タスクに対する動作モードの設定を中止させ、タスクを全て停止する。即ち、この場合は、プロセッサ１０に対する負荷が０（アイドリング）となり、プロセッサ１０に対する演算負荷は、０ＭＩＰＳということになる。
【０１１５】
図１８は、音楽再生タスクが輻輳禁止モードで起動された後に他のタスクの起動要求がされた場合の状態遷移と、プロセッサ１０にかかる負荷の遷移との関係を示す図である。
【０１１６】
図１８に示される時刻Ｔ２０以前は、何もタスクが起動されていない状態である。この状態で、時刻Ｔ２０において、音楽再生タスクを起動する場合、他のタスクが何も起動されていないので、タスク管理装置２０ｂは、音楽再生タスクを動作モードＡで動作させる。即ち、この場合は、プロセッサ１０に対する負荷に余裕があるので、高音質なバーチャルサラウンドモードで音楽再生するパラメータを音楽再生タスクにセットさせたのである。
【０１１７】
次に、時刻Ｔ２１において、他のタスク（例えば、ＴＶビュー）の起動要求がタスク管理装置２０ｂにされたとする。この場合、音楽再生タスクが輻輳禁止モードで起動されているので、タスク管理装置２０ｂは、ＴＶビューの起動を禁止する。これによって、音楽再生タスクが他のタスクと輻輳されることがない。また、モード設定装置３０ｂは、音楽再生タスクの動作モードを変更することなく、「Ａ」に維持したままにする。この結果、音質が変更されることなく、一定に維持される。
【０１１８】
次に、時刻Ｔ２２において、音楽再生タスクがタスク管理装置２０ｂによって停止されたと仮定する。この場合、処理すべきタスクがないので、タスク管理装置２０ｂは、モード設定装置３０ｂに音楽再生タスクに対する動作モードの設定を中止させ、タスクを全て停止する。即ち、この場合は、プロセッサ１０に対する負荷が０（アイドリング）となり、プロセッサ１０に対する演算負荷は、０ＭＩＰＳということになる。
【０１１９】
以上のように本実施の形態２に係る発明によれば、音楽再生タスクについて高音質用、中音質用、低音質用等プロセッサ１０における単位時間当たりの負荷が異なる動作モードが予め用意されており、タスク管理装置２０ｂは、輻輳許可モードにおいて他のタスクの起動・停止の状態変化ごとに音楽再生タスクの動作モードを破綻が生じない範囲で負荷の高い動作モードに設定しなおすようにしている。即ち、タスクが輻輳し多大の処理負荷がプロセッサにかかる場合は、しきい値未満とならない範囲で音楽再生タスクの処理負荷を軽減するようにしている。このため、音楽再生タスクが起動されている限り、プロセッサ１０の処理能力Ｎｍｂｘを超えることなく、単位時間当たりの負荷をプロセッサ１０にかけることができる。
【０１２０】
即ち、全体の負荷を軽減でき、かつ、負荷に余裕がある場合は、音楽再生タスクに多くの処理資源を割り当て高性能な機能を実現できることとなる。従って、プロセッサの処理能力を超えない範囲で一番高い負荷の動作モードを音楽再生タスクに設定するので、プロセッサの処理能力を最大限に利用することができ、プロセッサ１０の使用効率を高めることができる。しかも、音楽再生タスクの処理量がしきい値未満になる場合には他のタスクの起動を禁止し、しきい値未満とならない範囲で音楽再生タスクの処理負荷を軽減するようにしているので、再生音がとぎれることもない。
【０１２１】
また、タスク管理装置２０ｂは、輻輳禁止モードにおいて音楽再生タスクが起動された後に他のタスクの起動要求があった場合、その他のタスクの起動を禁止するので、再生音が最後まで一定に保たれる。
【０１２２】
なお、この実施の形態２においては、タスク管理装置２０ｂは動作モード設定テーブル２２に基づいて第１のタスク１０１ｂの動作モードを決定したが、図１９に示される動作モード設定テーブル３１ｂに基づいて第１のタスク１０１ｂの動作モードを決定してもよい。なお、図３に示される動作モード設定テーブル３１ａと同様、この動作モード設定テーブル３１ｂの図中に示される「○」はタスクの起動状態を、「×」はタスクの停止状態を、「−」は第１のタスク１０１ｂに対する動作モードを設定しないことを、それぞれ示しており、さらに「△」は起動禁止を示しており、第１のタスク１０１ｂが起動されない場合もあわせて図示されている。この動作モード設定テーブル３１ｂによっても第１のタスク１０１ｂの動作モードを簡単に決定することができる。
【０１２３】
また、この動作モード設定テーブル３１ｂをモード設定装置３０ｂに設けるようにしてもよい。この場合には、輻輳許可モードにおいてタスク管理装置２０ｂは対象タスクの状態変化、即ちタスクの起動や停止の予定をモード設定装置３０ｂに通知し、モード設定装置３０ｂは起動予定のタスクの中に第１のタスク１０１ｂが含まれていると、動作モード設定テーブル３１ｂを参照し、第１のタスク１０１ｂ以外のタスクが輻輳しているか否か等によって、第１のタスク１０１ｂの動作モードを決定し、決定した動作モードに応じたパラメータを第１のタスク１０１ｂに設定したり、要求された他のタスクをタスク管理装置２０ｂが起動すると起動中の第１のタスク１０１ｂの処理量が所定のしきい値未満となるおそれがある場合には、モード設定装置３０ｂは要求された他のタスクの起動を禁止するようタスク管理装置２０ｂに通知し、通知を受けたタスク管理装置２０ｂは要求された他のタスクの起動を禁止すればよい。
【０１２４】
【発明の効果】
以上の説明から明らかなように、本発明に係るマルチタスク制御装置によれば、プロセッサに余力がある場合には第１タスクの処理できる機能の選択の範囲（選択の幅）が広がり、余力がない場合には選択の幅が狭まることになるので、モード制御手段は、プロセッサの処理能力の範囲内で、かつ最も高い機能に対応する動作モードで第１タスクをプロセッサに処理させることができる。従って、タスクの輻輳状態の如何に拘わらず、プロセッサの破綻を確実に回避しつつ、再生された音質を向上することができるという効果が奏される。
【０１２５】
また、前記モード制御手段は、前記プロセッサに処理される対象タスクの状態変化を検出する状態変化検出手段と、前記状態変化後に起動させるタスクを特定する特定手段と、前記特定手段によって特定されたタスクの中に第１タスクが含まれている場合、第１タスクの動作モードを決定する動作モード決定手段とを備えるようにしているので、対象タスクの状態変化が生じる場合に、第１タスクの動作モードの決定を適切なタイミングに行うことができる。
【０１２６】
また、前記動作モード決定手段は、前記特定手段によって特定されたタスクと前記状態変化後に起動させる第１タスクの動作モードとを対応させた動作モード設定テーブルを有し、前記動作モード決定手段は、前記動作モード設定テーブルに基づいて、第１タスクの動作モードを決定したり、また、前記動作モード決定手段は、前記特定手段によって特定されたタスクの数と前記状態変化後に起動させる第１タスクの動作モードとを対応させた動作モード設定テーブルを有し、前記動作モード決定手段は、前記動作モード設定テーブルに基づいて、第１タスクの動作モードを決定するようにしたりしているので、第１タスクの動作モードを簡単に決定することができる。
【０１２７】
また、前記動作モード決定手段は、前記状態変化後に起動させる第１タスクの処理に対して割り当て可能な負荷を算出する負荷算出手段と、前記負荷算出手段が算出した負荷と前記第１タスクの各動作モードの処理に要する負荷とをそれぞれ比較する比較手段とを備え、前記動作モード決定手段は、前記比較手段による比較結果に基づいて、第１タスクの動作モードを決定するようにしたり、前記動作モード決定手段は、さらに各前記タスクの起動要求を受け付ける起動要求受付手段と、前記第１タスクの処理中に前記起動要求受付手段が第１タスク以外の他のタスクの起動要求を受け付けた場合において、前記負荷算出手段が算出した負荷が第１タスクの最も低い機能の動作モードに対して設定されたしきい値未満であるとき、前記他のタスクの起動を禁止する起動禁止手段とを備えるようにしてているので、第１タスクの最も低い機能の動作モードが継続してリアルタイムに処理することが確実に確保され、音のとぎれを防止することができる。
【０１２８】
また、前記動作モード決定手段は、さらに各前記タスクの起動要求を受け付ける起動要求受付手段と、前記第１タスクの処理中に前記起動要求受付手段が第１タスク以外の他のタスクの起動要求を受け付けた場合、前記他のタスクの起動を禁止する起動禁止手段とを備えるので、第１タスクの動作モードの変更が防止され、一定音質での音楽再生処理を継続することができる。
【０１２９】
また、前記動作モード決定手段は、前記状態変化後に起動させる第１タスクの処理に対して割り当て可能な命令数を算出する命令数算出手段と、前記命令数算出手段が算出した命令数と前記第１タスクの各動作モードの処理に要する命令数とをそれぞれ比較する比較手段とを備え、前記動作モード決定手段は、前記比較手段による比較結果に基づいて、動作モードを決定するようにしたり、前記動作モード決定手段は、さらに各前記タスクの起動要求を受け付ける起動要求受付手段と、前記第１タスクの処理中に前記起動要求受付手段が第１タスク以外の他のタスクの起動要求を受け付けた場合において、前記命令数算出手段が算出した命令数が第１タスクの最も低い機能の動作モードに対して設定されたしきい値未満であるとき、前記他のタスクの起動を禁止する禁止手段とを備えるようにしているので、これによっても、第１タスクの最も低い機能の動作モードが継続してリアルタイムに処理することが確実に確保され、音のとぎれを防止することができる。
【０１３０】
また、前記動作モード決定手段は、さらに各前記タスクの起動要求を受け付ける起動要求受付手段と、前記第１タスクの処理中に前記起動要求受付手段が第１タスク以外の他のタスクの起動要求を受け付けた場合、前記他のタスクの起動を禁止する禁止手段とを備えるので、これによっても、第１タスクの動作モードの変更が防止され、一定音質での音楽再生処理を継続することができる。
【０１３１】
さらに、前記モード制御手段は、前記動作モード決定手段が決定した動作モードに対応付けられたパラメータを第１タスクに設定し、当該パラメータに対応する動作モードで第１タスクをプロセッサに処理させるので、これによって、パラメータの設定という簡単な処理で第１タスクの動作モードを容易に遷移させ、負荷や命令数を変えることができる。
【０１３２】
また、上記の課題を解決するため、本発明に係る音楽データ再生装置は、複数の動作モードを有する音楽再生タスクを含む複数のタスクをプロセッサに並行して処理させるマルチタスク制御装置を備える音楽データ再生装置であって、前記マルチタスク制御装置は、前記音楽再生タスクを起動すべきか否かを判断する判断手段と、前記判断手段が前記音楽再生タスクを起動すべきと判断した場合に、前記プロセッサの処理能力の範囲内で処理できる最も音質の高い機能に対応する動作モードで第１タスクをプロセッサに処理させるモード制御手段とを備え、具体的には、前記音楽データ再生装置は、携帯性を有し、前記プロセッサに並行して処理される音楽再生タスク以外の他のタスクは、ＴＶビュー、ブラウジング、メールおよび通話の少なくともいずれか１つであることを特徴とするので、これによって、携帯電話機等の携帯性の高い装置を、音質の高い音楽データ再生装置として使用しながら、ＴＶビューや、ブラウジング、メールおよび通話を並行して行うことができる。
【０１３３】
以上のように本願発明によれば、演算資源に余裕のあるときは、高音質なオーディオ信号処理が行え、演算資源に余裕がないときでも、演算資源を軽減し、破綻を生じない範囲でかつ最も高い音質で処理を円滑に行うことができるので、本願発明の実用的価値は極めて高い。
【図面の簡単な説明】
【図１】本発明の実施の形態１に係るマルチタスク制御装置１ａの構成を示すブロック図である。
【図２】図１に示される第１のタスク１０１ａの動作モードＡ〜動作モードＣのプロセッサ１０に対する負荷と音質との関係を示す図である。
【図３】図１に示される動作モード設定テーブル３１ａの詳細構成を示す図である。
【図４】プロセッサの処理能力と、第１のタスク１０１ａの動作モードＡ〜動作モードＣとの関係を示す図である。
【図５】マルチタスク制御装置１ａによる動作を示す図である。
【図６】タスクの遷移状態に応じた負荷の遷移を示す図である。
【図７】タスクの遷移状態に応じた負荷の遷移を示す図である。
【図８】タスクの遷移状態に応じた負荷の遷移を示す図である。
【図９】本発明の実施の形態２に係るマルチタスク制御装置１ｂの構成を示すブロック図である。
【図１０】図９に示される動作モード設定テーブル２２の詳細構成を示す図である。
【図１１】図９に示されるマルチタスク制御装置が実装される携帯電話機の外観構成例を示す図である。
【図１２】タスク管理装置２０ｂおよびモード設定装置３０ｂによって実行されるタスク起動・停止処理の詳細を示すフローチャートである。
【図１３】図１２に示される音楽再生タスク起動制御処理（Ｓ３０）のサブルーチンの処理を示すフローチャートである。
【図１４】図１２に示される他のタスク起動制御処理（Ｓ４０）のサブルーチンの処理を示すフローチャートである。
【図１５】図１２に示される他のタスク停止制御処理（Ｓ８０）のサブルーチンの処理を示すフローチャートである。
【図１６】輻輳許可モードにおけるタスクの遷移状態に応じた負荷の遷移を示す図である。
【図１７】携帯電話機の画面の表示例を示す図であり、特に図１７（ａ）は音楽再生タスク実行時の表示例を示す図であり、図１７（ｂ）は音楽再生タスクとＴＶビューとが輻輳した場合の表示例を示す図であり、図１７（ｃ）は音楽再生タスクとＴＶビューとブラウジングとが輻輳した場合の表示例を示す図であり、図１７（ｄ）は音楽再生タスクとＴＶビューとブラウジングとが輻輳した場合においてさらに動画付きメールの閲覧要求があったときの表示例を示す図である。
【図１８】輻輳禁止モードにおけるタスクの遷移状態に応じた負荷の遷移を示す図である。
【図１９】動作モード設定テーブルの他の詳細構成を示す図である。
【符号の説明】
１ａ，１ｂ　　　　　　マルチタスク制御装置
１０　　　　　　　　　プロセッサ
２０ａ，２０ｂ　　　　タスク管理装置
２１　　　　　　　　　フラグ格納部
２２，３１ａ，３１ｂ　動作モード設定テーブル
３０ａ，３０ｂ　　　　モード設定装置
１０１ａ，１０１ｂ　　第１のタスク
１０２ａ，１０２ｂ　　第２のタスク
１０３ａ，１０３ｂ　　第３のタスク
１０４ｂ　　　　　　　第４のタスク
【図１】
2004078889.tif 000003
【図２】
2004078889.tif 000004
【図３】
2004078889.tif 000005
【図４】
2004078889.tif 000006
【図５】
2004078889.tif 000007
【図６】
2004078889.tif 000008
【図７】
2004078889.tif 000009
【図８】
2004078889.tif 000010
【図９】
2004078889.tif 000011
【図１０】
2004078889.tif 000012
【図１１】
2004078889.tif 000013
【図１２】
2004078889.tif 000014
【図１３】
2004078889.tif 000015
【図１４】
2004078889.tif 000016
【図１５】
2004078889.tif 000017
【図１６】
2004078889.tif 000018
【図１７】
2004078889.tif 000019
【図１８】
2004078889.tif 000020
【図１９】
2004078889.tif 000021