(57)【要約】【課題】例えばＤＳＰのＣＰＵ使用率が１００％に達することにより、ノイズが符号化データに混入しており、これを回避する。【解決手段】本発明の符号化処理負荷制御装置は、入力データに対して所定の符号化処理を行う１又は２以上の符号化処理手段を有する符号化装置の符号化に係る処理負荷を制御する符号化処理負荷制御装置において、当該符号化装置上のＣＰＵ使用率を監視するＣＰＵ使用率監視手段と、ＣＰＵ使用率監視手段により検出されたＣＰＵ使用率に応じて、各符号化処理手段の符号化処理を制御する符号化処理制御手段とを備えることを特徴とする。【選択図】      図１
2009276529.tif 000002
【特許請求の範囲】
【請求項１】
入力データに対して所定の符号化処理を行う１又は２以上の符号化処理手段を有する符号化装置の符号化に係る処理負荷を制御する符号化処理負荷制御装置において、
当該符号化装置上のＣＰＵ使用率を監視するＣＰＵ使用率監視手段と、
上記ＣＰＵ使用率監視手段により検出されたＣＰＵ使用率に応じて、上記各符号化処理手段の符号化処理を制御する符号化処理制御手段
を備えることを特徴とする符号化処理負荷制御装置。
【請求項２】
上記符号化処理制御手段が、上記各符号化処理手段に対し、ＣＰＵ使用率に応じた間引き割合に従って、入力データに対する符号化処理を一時的に行わないようにする間引き処理をさせることを特徴とする請求項１に記載の符号化処理負荷制御装置。
【請求項３】
上記符号化処理制御手段が、１又は複数の処理開始閾値と間引き割合とを対応付けた間引き割合テーブルを有し、上記間引き割合テーブルを参照しながらＣＰＵ使用率に応じた間引き割合を決定することを特徴とする請求項２に記載の符号化処理負荷制御装置。
【請求項４】
上記符号化処理制御手段が、ＣＰＵ使用率が処理開始閾値を超えた場合に、過去のＣＰＵ使用率を用いて求めたＣＰＵ使用率の変動率に基づいて、上記間引き処理をさせることを特徴とする請求項２又は３に記載の符号化処理負荷制御装置。
【請求項５】
上記符号化処理制御手段が、上記複数の符号化処理手段のそれぞれに対して個別に上記間引き処理をさせることを特徴とする請求項２〜４のいずれかに記載の符号化処理負荷制御装置。
【請求項６】
上記符号化処理制御手段は、ＣＰＵ使用率が処理停止閾値未満となったときに、上記間引き処理を停止させることを特徴とする請求項２〜５のいずれかに記載の符号化処理負荷制御装置。
【請求項７】
上記処理停止閾値が、上記１又は複数の処理開始閾値に対応付けられているものであることを特徴とする請求項６に記載の符号化処理負荷制御装置。
【請求項８】
入力データに対して所定の符号化処理を行う１又は２以上の符号化処理手段を有する符号化装置の符号化に係る処理負荷を制御する符号化処理負荷制御方法において、
符号化装置が、ＣＰＵ使用率監視手段及び符号化処理制御手段を備え、
上記ＣＰＵ使用率監視手段が、当該符号化装置上のＣＰＵ使用率を監視するＣＰＵ使用率監視工程と、
上記符号化処理制御手段が、上記ＣＰＵ使用率監視手段により検出されたＣＰＵ使用率に応じて、上記各符号化処理手段の符号化処理を制御する符号化処理制御工程
を有することを特徴とする符号化処理負荷制御方法。
【請求項９】
入力データに対して所定の符号化処理を行う１又は２以上の符号化処理手段を有する符号化装置の符号化に係る処理負荷を制御する符号化処理負荷制御プログラムにおいて、
符号化装置を、
当該符号化装置上のＣＰＵ使用率を監視するＣＰＵ使用率監視手段、
上記ＣＰＵ使用率監視手段により検出されたＣＰＵ使用率に応じて、上記各符号化処理手段の符号化処理を制御する符号化処理制御手段
として機能させる符号化処理負荷制御プログラム。
【請求項１０】
入力データに対して所定の符号化処理を行う１又は２以上の符号化処理手段を有する符号化装置において、請求項１〜７のいずれかに記載の符号化処理負荷制御装置を備えることを特徴とする符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化処理負荷制御装置、方法及びプログラム、並びに、符号化装置に関し、例えば、複数の音声符号化処理を並列処理する符号化装置の符号化処理負荷制御装置、方法及びプログラム、符号化装置に適用し得るものである。
【背景技術】
【０００２】
近年、ネットワーク技術の進展に伴い、例えば、音声データ、音響データ、画像・映像データ等のネットワーク通信が広く普及しており、効率的な通信を実現するために、様々な圧縮符号化技術が採用されている。
【０００３】
従来、圧縮符号化処理は、１チップのＤＳＰ（Digital  Signal  Processor）が、ある種類のエンコード機能を備え、１つの入力データに対してエンコード方式により符号化を行い、１つの符号化データを出力するものとしている（特許文献１の図５〜図７及び段落００２７〜００３２等参照）。
【０００４】
しかしながら、近年の多数の圧縮符号化データ（複数の同種の圧縮符号化データやそれぞれ異なる種類の圧縮符号化データ）を同時期に取得できるようにすることが強く望まれており、これに対応するために、１チップのＤＳＰに複数のエンコード機能を備えるようにし、１つのユーザデータに対して複数のエンコード方式を並列的に施し、複数の符号化データを同時に出力することが行われている。
【０００５】
図２は、上記のように１チップのＤＳＰ上での複数のエンコードの並列処理の動作を示すフローチャートであり、図２を参照してこの処理を説明する。
【０００６】
まず、ＤＳＰでは、装置起動直後、ＤＳＰ内部のリソースを初期化し（ステップＳ１）、並列処理を行うエンコード処理数が決定される（ステップＳ２）。そして、ステップＳ２において決定された各エンコード処理の設定情報（例えば、ステレオ／モノラルの種別情報、ビットレート、サンプリング周波数等）が設定される（ステップＳ３）。
【０００７】
その後、入力音声データ（又は入力音声）のサンプリングデータが各エンコーダに与えられ、１サンプリングデータ毎にそれぞれのエンコードを並列的に実行する（ステップＳ４）。
【０００８】
ここで、エンコード起動中に、外部から任意のエンコーダのビットレートなどの設定情報の変更があると（ステップＳ５）、それまでの設定情報をクリアし、新しい設定情報を適用して（ステップＳ６）、ステップＳ４におけるエンコードの並列処理を行う。
【０００９】
【特許文献１】特開２００１−２２３９０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述したような複数のエンコード処理を並列的に行うことは、ＤＳＰの処理負荷が大きくなり、ＤＳＰのＣＰＵ使用率が１００％に達するおそれがあり、この場合、例えばエンコード処理したデータにノイズが混入されてしまう等の問題が発生し得る。
【００１１】
そのため、例えばＤＳＰが複数の符号化処理を並列処理する際に、ＤＳＰのＣＰＵ使用率が１００％に達することを回避するよう符号化処理負荷を制御することができる符号化処理負荷制御装置、方法及びプログラム、並びに、符号化装置が求められている。
【課題を解決するための手段】
【００１２】
かかる課題を解決するために、第１の本発明の符号化処理負荷制御装置は、入力データに対して所定の符号化処理を行う１又は２以上の符号化処理手段を有する符号化装置の符号化に係る処理負荷を制御する符号化処理負荷制御装置において、（１）当該符号化装置上のＣＰＵ使用率を監視するＣＰＵ使用率監視手段と、（２）ＣＰＵ使用率監視手段により検出されたＣＰＵ使用率に応じて、各符号化処理手段の符号化処理を制御する符号化処理制御手段を備えることを特徴とする。
【００１３】
第２の本発明の符号化処理負荷制御方法は、入力データに対して所定の符号化処理を行う１又は２以上の符号化処理手段を有する符号化装置の符号化に係る処理負荷を制御する符号化処理負荷制御方法において、符号化装置が、ＣＰＵ使用率監視手段及び符号化処理制御手段を備え、（１）ＣＰＵ使用率監視手段が、当該符号化装置上のＣＰＵ使用率を監視するＣＰＵ使用率監視工程と、（２）符号化処理制御手段が、ＣＰＵ使用率監視手段により検出されたＣＰＵ使用率に応じて、各符号化処理手段の符号化処理を制御する符号化処理制御工程を有することを特徴とする。
【００１４】
第３の本発明の符号化処理負荷制御プログラムは、入力データに対して所定の符号化処理を行う１又は２以上の符号化処理手段を有する符号化装置の符号化に係る処理負荷を制御する符号化処理負荷制御プログラムにおいて、符号化装置を、（１）当該符号化装置上のＣＰＵ使用率を監視するＣＰＵ使用率監視手段、（２）ＣＰＵ使用率監視手段により検出されたＣＰＵ使用率に応じて、各符号化処理手段の符号化処理を制御する符号化処理制御手段として機能させるものである。
【００１５】
第４の本発明の符号化装置は、入力データに対して所定の符号化処理を行う１又は２以上の符号化処理手段を有する符号化装置において、第１の本発明の符号化処理負荷制御装置を備えることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、符号化装置におけるＣＰＵ使用率が１００％に達することを回避することができ、符号化データへのノイズの混入を回避できる。
【発明を実施するための最良の形態】
【００１７】
（Ａ）第１の実施形態
以下では、本発明の符号化処理負荷制御装置、方法及びプログラム、並びに、符号化装置の第１の実施形態について図面を参照しながら説明する。
【００１８】
第１の実施形態では、コンピュータやマイクなどから入力されるリニアＰＣＭデータや音声に対して複数の圧縮符号化処理を並列的に行うＤＳＰに、本発明を適用した場合を例示して説明する。
【００１９】
（Ａ−１）第１の実施形態の構成
図１は、第１の実施形態の符号化装置１の構成を示す構成図である。図１において、符号化装置１は、例えば１チップのＤＳＰを適用することができ、１つのユーザデータを入力し、それぞれ複数の符号化処理を施し、複数の符号化音声データを出力するものである。ここで、入力するユーザデータとしては、例えば、図示しないコンピュータからのＰＣＭデータや、図示しないマイクからの入力音声、音響等が該当する。
【００２０】
図１において、第１の実施形態の符号化装置１は、複数（図１では４個）のエンコーダ１１−１〜１１−４、分配部１２、ＣＰＵ使用率監視部１３、符号化処理負荷制御部１４、を少なくとも有して構成される。
【００２１】
分配部１２は、入力されたユーザデータを複製して、エンコーダ１１−１〜１１−４に与えるものである。
【００２２】
各エンコーダ１１−１〜１１−４は、入力されたユーザデータに対して、所定の符号化処理を施して符号化データを出力するものである。各エンコーダ１１−１〜１１−４から出力される符号化データは、通信路を介して対向装置に向けて与えられる。
【００２３】
また、各エンコーダ１１−１〜１１−４における符号化方式は、特に限定されるものではなく、例えば、ＭＰＥＧ形式により圧縮する方法、ＡＤ−ＰＣＭ、ＬＤ−ＣＥＬＰ、ＣＳ−ＡＣＥＬＰ、ＡＣＥＬＰなどを適用することがき、また各エンコーダ１１−１〜１１−４は、すべて同一の符号化形式としてもよいし、又はそれぞれ異なる形式としてもよい。
【００２４】
各エンコーダ１１−１〜１１−４は、パラメータ設定部１１１、符号化部１１２を少なくとも有する。
【００２５】
パラメータ設定部１１１は、符号化処理に必要なパラメータを設定するものであり、例えば、ステレオ／モノラルの設定、ビットレート（例えば、３２〜３８４ｋｂｐｓの間で変更）、サンプリング周波数（例えば、３２〜４８ｋＨｚの間で変更）などの設定をする。
【００２６】
符号化部１１２は、所定の符号化方式により、入力されたユーザデータに対して符号化処理を実行するものである。
【００２７】
ＣＰＵ使用率監視部１３は、符号化装置１のＣＰＵ使用率を常時監視するものである。
【００２８】
符号化処理負荷制御部１４は、ＣＰＵ使用率監視部１３により監視されるＣＰＵ使用率が所定の閾値を超えた場合に、コーデック１１−１〜１１−４によるエンコード処理の負荷を軽減するよう制御するものである。
【００２９】
なお、符号化処理負荷制御部１４は、ＣＰＵ使用率が所定の閾値以下のときには、エンコード処理の負荷軽減処理を行わない。すなわち、通常のエンコード処理が行われる。そして、ＣＰＵ使用率が閾値を超えたときに、符号化処理負荷制御部１４がエンコード処理の負荷軽減処理を開始する。
【００３０】
これにより、ＣＰＵ使用率が閾値を超えるまで、通常のエンコード処理を施すことができるので高精度の符号化処理を実行でき、閾値を超えた後は、通常のエンコード処理によりも符号化処理の精度は劣るが、ＣＰＵ使用率が１００％になることで生じるノイズの混入を回避することができる。
【００３１】
ここで、符号化処理負荷制御部１４による負荷軽減処理の方法としては、種々の方法を広く適用することができるが、例えば、ＣＰＵ使用率が閾値を超えたときに、各エンコーダ１１−１〜１１−４のエンコード処理を所定の割合で間引くように指示する方法を適用することができる。これにより、各エンコーダ１１−１〜１１−４でのエンコード処理の実行回数が減るので、ＣＰＵ使用率を低減させることができる。
【００３２】
また、符号化処理負荷制御部１４は、エンコード１１−１〜１１−４に対して負荷軽減制御を開始した後、ＣＰＵ使用率が処理停止の閾値未満となったときに負荷軽減処理を停止させるものである。これにより、ＣＰＵ使用率がある程度低下した状態になると、エンコード処理を精度の高い通常状態に復帰させることができ、ＣＰＵ使用率の高い状態の期間だけ負荷軽減処理をさせることができる。
【００３３】
符号化処理負荷制御部１４の負荷軽減処理方法は、上記のように１つの閾値を備える場合に限定されるものではない。
【００３４】
ＣＰＵの負荷軽減処理の別の方法として、以下に示す方法がある。この別の方法は、例えば、符号化処理負荷制御部１４が、予め定められたＣＰＵ使用率と間引き割合とが対応付けられた負荷軽減テーブルを有し、この負荷軽減テーブルを参照しながら行う方法である。
【００３５】
符号化装置１のＣＰＵの使用率は一般に逐次変動するものであるが、負荷軽減テーブルを用いることで、複数の処理開始閾値を設定することができ、変動するＣＰＵ使用率に応じて間引き割合を変えることができるから、柔軟な制御ができる。
【００３６】
図３は、負荷軽減テーブル１４１の構成例を説明する説明図である。負荷軽減テーブル１４は、「処理開始閾値」、「間引き割合」、「処理停止閾値」を項目として有して構成される。
【００３７】
「処理開始閾値」には、負荷軽減処理を開始させるための閾値が設定される。ＣＰＵ使用率がこの閾値を超えたときに、符号化処理負荷制御部１４は、閾値（ＣＰＵ使用率）に対応する間引き割合で間引き処理をさせる。
【００３８】
「間引き割合」には、エンコード処理を間引かせる割合が設定される。例えば、間引き割合１／５とは、入力音声データの５個のサンプリングデータに対して１回の割合でエンコード処理を間引くことを示す。つまり、サンプリングデータについて５回に１回の割合でエンコード処理を行わず、サンプリングデータを廃棄するようにする。１／１０、１／２０についても同様である。
【００３９】
なお、間引き割合について、第１の実施形態では、サンプリングデータ数に基づいて間引き割合を決定するものとするが、これに限定されない。例えば、符号化処理の休止期間を時間で制御するようにしてもよい。
【００４０】
「処理停止閾値」には、負荷軽減処理を停止させるための閾値が設定される。ＣＰＵ使用率がこの閾値未満になったときに、符号化処理負荷制御部１４は、負荷軽減処理を停止する。
【００４１】
なお、間引き処理の停止について、ＣＰＵ使用率が処理停止閾値未満となってから、所定時間経過後に、間引き処理を停止するようにしてもよい。これによりＣＰＵの安定化を図ることができる。
【００４２】
図３に示す一例では、「処理開始閾値」に設定する閾値として「９５％」、「９３％」、「９０％」とする。
【００４３】
この場合、「間引き割合」は、それぞれ「１／５」、「１／１０」、「１／２０」とし、処理開始閾値が高くなるにつれて、間引き割合を高くする。このようにすることで、ＣＰＵ使用率が高くなるに従って、間引き回数を多くすることができるから、ＣＰＵ処理負荷を軽減することができるからである。
【００４４】
また、「処理停止閾値」は、それぞれ「８０％」、「８３％」、「８５％」とし、処理開始閾値が高くなるにつれて、処理停止閾値を低くする。これは、処理停止後のＣＰＵ使用率の回復は、処理前のＣＰＵ使用率が高いときほど早いからである。
【００４５】
つまり、処理前のＣＰＵ使用率が高いときほど、処理停止後のＣＰＵ使用率の回復は早いので、処理停止した後に、ＣＰＵ使用率が再度処理開始閾値を超えてしまうことを少なくするためである。
【００４６】
「処理停止閾値」に設定する閾値は、処理停止したときのＣＰＵ使用率が符号化処理に影響を与えない程度になることを経験的・実験的に求めて決定することができる。
【００４７】
（Ａ−２）第１の実施形態の動作
次に、第１の実施形態の符号化処理負荷制御処理の動作について図面を参照しながら説明する。
【００４８】
（Ａ−２−１）符号化装置１における遷移状態
図４は、符号化装置１における符号化処理負荷制御処理の遷移状態を示す遷移状態図である。
【００４９】
まず、各エンコーダ１１−１〜１１−４のパラメータ設定部１１１では、それぞれのエンコーダ方式の設定情報（例えば、ステレオ／モノラルの種別情報、ビットレート、サンプリング周波数等）が設定される。
【００５０】
そして、ユーザデータが符号化装置１に入力されると、分配部１２によりユーザデータが各エンコーダ１１−１〜１１−４に与えられる。
【００５１】
各エンコーダ１１−１〜１１−４の符号化部１１２は、入力されたユーザデータに対してそれぞれ通常のエンコード処理を行う（フェーズＰ２１）。
【００５２】
ＣＰＵ使用率監視部１３は、符号化装置１上のＣＰＵの使用率を監視している。そして、ＣＰＵ使用率が所定の閾値（例えば、９５％）以下のときは（フェーズＰ２３）、各エンコーダ１１−１〜１１−４の符号化部１１２は通常のエンコード処理を行う。
【００５３】
しかし、ＣＰＵ使用率が所定の閾値（例えば、９５％）を超えると（フェーズＰ２２）、符号化処理負荷制御部１４は各エンコーダ１１−１〜１１−４に対して負荷軽減処理を指示し、各エンコーダ１１−１〜１１−４はＣＰＵの負荷を軽減するエンコーダ処理を行う（フェーズＰ２４）。
【００５４】
つまり、各エンコーダ１１−１〜１１−４は、入力されるユーザデータのサンプリングデータに対して、所定の間引き割合に従ってサンプリングデータの符号化処理を行わない間引き処理を行う。例えば、その間引き割合が１／１０と設定されている場合、１０個のサンプリングリングデータに対して１回のみ符号化処理を行わない間引き処理を行う。
【００５５】
このように、各エンコーダ１１−１〜１１−４における符号化処理を間引きことで、符号化処理回数を減らすことができ、ＣＰＵの処理負荷を低減させ、ＣＰＵ使用率が１００％に達することを回避できる。
【００５６】
各エンコーダ１１−１〜１１−４においてＣＰＵ負荷軽減処理が行われているときも、ＣＰＵ使用率監視部１３は、符号化装置１上のＣＰＵ使用率を監視している。
【００５７】
そして、ＣＰＵ使用率が処理停止の閾値（例えば、８０％）以上であるときには、各エンコーダ１１−１〜１１−４は、ＣＰＵ負荷軽減処理を継続的に行う（フェーズＰ２６）。
【００５８】
一方、ＣＰＵ使用率が処理停止の閾値（例えば、８０％）未満になったとき（フェーズＰ２５）、符号化処理負荷制御部１４は、各エンコーダ１１−１〜１１−４に対して負荷軽減処理を停止するよう指示を行い、各エンコーダ１１−１〜１１−４は、通常のエンコード処理を行う（フェーズＰ２１）。
【００５９】
（Ａ−２−２）符号化装置１における負荷軽減処理
図５及び図６は、符号化装置１における負荷軽減処理の動作を示すフローチャートである。
【００６０】
まず、符号化装置１において、装置起動直後、符号化装置１内部のリソースが初期化し（ステップＳ１０１）、エンコード処理を並列的に行うエンコーダの数が設定され、各エンコード１１−１〜１１−４が起動する（ステップＳ１０２）。
【００６１】
このとき、ステップＳ１０２で決定された各エンコーダ１１−１〜１１−４のエンコード処理に係るパラメータ（例えば、ステレオ／モノラルの種別情報、ビットレート、サンプリング周波数等）が設定される（ステップＳ１０３）。
【００６２】
符号化装置１に入力されたユーザデータは、分配部１２により各エンコーダ１１−１〜１１−４に与えられる。そして、各エンコーダ１１−１〜１１−４において、入力音声のサンプリングデータは１サンプリングデータ毎にエンコード処理が行われる（ステップＳ１０４）。
【００６３】
なお、エンコード処理は、各エンコーダ１１−１〜１１−４において行われる。また、各エンコーダ１１−１〜１１−４では、入力音声のサンプリングデータ毎に行われる。図５では、説明便宜上１個のエンコーダでの処理のように示すが、実際は全てのエンコーダで処理が実行される。
【００６４】
このとき、エンコーダ１１−１〜１１−４においてパラメータの設定変更がある場合には（ステップＳ１０５）、パラメータの設定をクリアし、新しいパラメータが設定され、新しいパラメータでエンコード処理が適用され（ステップＳ１０６）、ステップＳ１０４に移行に戻り処理を繰り返す。
【００６５】
また、エンコーダ１１−１〜１１−４においてパラメータの設定変更がない場合には、ステップＳ１０７に移行する。
【００６６】
符号化装置１におけるエンコード処理開始後、ＣＰＵ使用率監視部１３はＣＰＵの使用率を監視している。ＣＰＵ使用率監視部１３が符号化装置１のＣＰＵ使用率を検出すると（ステップＳ１０７）、符号化処理負荷制御部１４はＣＰＵ使用率が閾値（例えば、９５％）を超えるものか否かを判断する（ステップＳ１０８）。
【００６７】
そして、ＣＰＵ使用率が閾値を超える場合、符号化処理負荷制御部１４は、各エンコーダ１１−１〜１１−４のエンコード処理の間引き割合を決定して、各エンコーダ１１−１〜１１−４に対して負荷軽減制御指示を行い、エンコード処理の間引き処理を実行させる（ステップＳ１０９）。
【００６８】
ここで、間引き割合については、上述したように、予め設定されているものであってもよいし、又は、図３に示すような負荷軽減テーブル１４１を参照し、ＣＰＵ使用率と閾値との関係に基づき、適用する閾値に応じた間引き割合を決定するようにしてもよい。
【００６９】
各エンコーダ１１−１〜１１−４は、符号化処理負荷制御部１４から負荷軽減処理の指示を受けると、入力されたサンプリングデータに対して、指示された間引き割合により間引き処理を行う。
【００７０】
例えば各エンコーダ１１−１〜１１−４は符号化処理の実行回数をカウントする内部カウンタを有する。そして、各エンコーダ１１−１〜１１−４は、指示された間引き割合及び内部カウンタ値を参照し、当該サンプリングデータが間引き対象のデータであるか否かを判定する（ステップＳ１１０）。
【００７１】
そして、当該サンプリングデータが間引き対象である場合（ステップＳ１１０）、各エンコーダ１１−１〜１１−４は、当該サンプリングデータを廃棄する（ステップＳ１１１）。これにより、各エンコーダ１１−１〜１１−４での符号化処理の間引きを行うことができる。
【００７２】
また、当該サンプリングデータが間引き対象でない場合（ステップＳ１１０）、ステップＳ１０４に戻り、各エンコーダ１１−１〜１１−４は通常のエンコード処理を行う。
【００７３】
ステップＳ１０８において、ＣＰＵ使用率が閾値（例えば、９５％）以下であるとき、ＣＰＵ使用率が１００％に達することはないと符号化処理負荷制御部１４は判断する。またこのとき、符号化処理負荷制御部１４は、エンコーダ１１−１〜１１−４の負荷軽減制御（間引き処理）を行っているか否かを判断する（ステップＳ１１２）。間引き処理を行っていない場合、ステップＳ１０４に移行し、通常のエンコード処理をさせる。
【００７４】
一方、間引き処理を行っている場合、符号化処理負荷制御部１４は、ＣＰＵ使用率が処理停止の閾値（例えば、８０％）未満であるか否かを判断する。
【００７５】
そして、ＣＰＵ使用率が処理停止の閾値（例えば、８０％）以上である場合（ステップＳ１１３）、間引き処理を停止してしまいエンコード処理を通常状態に戻してしまうと、その後再度ＣＰＵ使用率が閾値（９５％）を超えてしまうおそれがある状態と判断し、ステップＳ１０４に移行して、間引き処理を継続するようにする。
【００７６】
一方、ＣＰＵ使用率が処理停止の閾値（例えば、８０％）未満である場合（ステップＳ１１３）、符号化処理負荷制御部１４は、間引き処理の停止ＯＫと判断し、各エンコーダ１１−１〜１１−４に対してエンコードの負荷軽減処理（間引き処理）の停止を指示する（ステップＳ１１４）。その後、ステップＳ１０４に移行し、次のサンプリングデータに対する処理を行う。
【００７７】
（Ａ−３）第１の実施形態の効果
上記のように、第１の実施形態によれば、エンコード処理を並列的に行う符号化装置のＣＰＵ使用率の監視結果に応じて、エンコード処理に係る負荷を軽減させることにより、ＣＰＵの処理過多の回避、ＣＰＵ使用率が１００％になることによるノイズ混入を回避することができる。
【００７８】
（Ｂ）他の実施形態
（Ｂ−１）第１の実施形態で説明した間引き処理を実行させる方法とは別の方法を適用するようにしてもよい。
【００７９】
例えば、ＣＰＵ使用率の単位時間当たりの変動率が所定の閾値を超えるときに、ＣＰＵの負荷軽減処理を行うようにしてもよい。これにより、ＣＰＵ使用率が急激に変動した場合にＣＰＵの負荷を軽減することができる。
【００８０】
この場合、ＣＰＵ使用率監視部１３が、ＣＰＵ使用率を監視し、ＣＰＵ使用率が第１の閾値（例えば、９０％）を超えたか否かを判断すると共に、第１の閾値を超えたときに、符号化処理負荷制御部１４が、過去のＣＰＵ使用率も用いてＣＰＵ使用率の変動率を求める。
【００８１】
そして、ＣＰＵ使用率が第１の閾値を超え、かつ、過去のＣＰＵ使用率も用いた変動率が第２の閾値を超えたときに、符号化処理負荷制御部１４が、各エンコーダ１１−１〜１１−４に対して負荷軽減処理の開始を指示する。
【００８２】
図７は、ＣＰＵ使用率の変動率を求める方法を説明する説明図である。図７において、横軸は時間軸であり、縦軸はＣＰＵ使用率を示す。
【００８３】
例えば、時間ｔ２のときにＣＰＵ使用率が第１の閾値を超えたとすると、ＣＰＵ使用率監視部１３は、過去の時間ｔ１でのＣＰＵ使用率を引き出し、ｔ１からｔ２までの間のＣＰＵ使用率の差分を時間（ｔ２−ｔ１）で割ることで単位時間当たりの変動率を求める。
【００８４】
すなわち、図７（ａ）の例では、（Ｃ３−Ｃ２）／（ｔ２−ｔ１）より単位時間当たりの変動率をＸとし、図７（ｂ）の例では、（Ｃ２−Ｃ１）／（ｔ２−ｔ１）より単位時間当たりの変動率をＹとする（０＜Ｙ＜Ｘとする）。そして、求めたＣＰＵ使用率の変動率Ｘ、Ｙが、第２の閾値を超えるとき、負荷軽減処理を実行させる。
【００８５】
間引き割合については、第１の実施形態と同様に、テーブルを参照しながら、現在のＣＰＵ使用率に応じた間引き割合を決定するようにしてもよい。
【００８６】
また、ＣＰＵ使用率の変動率に応じた間引き割合のテーブルを設定し、このテーブルを参照して、変動率に応じた間引き割合を決定するようにしてもよい。
【００８７】
（Ｂ−２）符号化処理負荷制御部１４が、並列処理を行う複数のエンコーダについて、エンコーダ毎に負荷軽減処理を指示するようにしてもよい。つまり、符号化処理負荷制御部１４がエンコーダ毎に個別に負荷制御処理を指示するようにしてもよい。
【００８８】
例えば、符号化処理負荷制御部１４は、図１に示す各エンコーダ１１−１〜１１−４に対して負荷軽減処理を指示する優先順位を設定し、ＣＰＵ使用率が処理開始閾値を超すたびに、優先順位に従った順序で負荷軽減処理を指示する。
【００８９】
図８は、符号化処理負荷制御部１４が備える負荷軽減制御の優先順位を示すテーブルであり、この優先順位テーブルは、「エンコーダＮｏ」、「優先順位」、「間引き割合」が設けられている場合を例示する。図８では、エンコーダ１１−１〜１１−４に対する負荷軽減指示を行う優先順位を２位、１位、３位、４位とする。
【００９０】
また、各エンコーダ１１−１〜１１−４への負荷軽減処理の指示の際、符号化処理負荷制御部１４は、図８の「間引き割合」に設定されている間引き割合を指示するようにする。
【００９１】
これにより、エンコード毎に異なる個別の間引き割合を指示することができる。その結果、各エンコーダ１１−１〜１１−４の符号化処理の特性に応じて柔軟に間引き割合を決定することができる。
【００９２】
これは、各エンコーダ１１−１〜１１−４は、それぞれ異なる符号化方式の処理を行うことができ、また各エンコーダ１１−１〜１１−４の提供先である対向装置の態様や目的などが異なる。例えば、音質を最優先にする必要がある場合や、多少音質が落ちても即時性を優先する場合など様々な態様がある。
【００９３】
そこで、音質を最優先にするエンコーダについては、間引き処理を行う優先順位を低くし、間引き割合の他のエンコーダよりも低いものとすることで、音質を優先した符号化処理を実行させることができる。これに対して、多少音質が落ちてもよいエンコーダについては、音質を優先するものよりも、優先順位を高くし、間引き割合も比較的高くすることができる。
【００９４】
（Ｂ−３）第１の実施形態及び上述した変形実施形態において、符号化処理負荷制御部１４は、図３、図８に示すようなテーブルを１種類だけでなく、複数種類を備えるようにしてもよい。
【００９５】
つまり、例えば、図３の処理開始閾値や間引き割合や処理停止閾値や、図８の各エンコーダの間引き割りや優先順位が異なるパターンからなるテーブルを複数設定するようにしてもよい。
【００９６】
そして、例えば、符号化装置が、入力するユーザデータの種類やデータ量に応じて、どのパターンのテーブルを採用するかを決定するテーブル決定部を備え、このテーブル決定部が決定したテーブルを符号化処理負荷制御部が用いるようにしてもよい。
【００９７】
これは、一般に、符号化処理のＣＰＵ使用率の高低は、入力データ種類やデータ量に影響される。そこで、テーブル決定部が、入力データのヘッダ情報に基づいて、データ種類やデータ量を抽出し、その結果から適用するテーブルを決定することで、より柔軟な対応が可能となる。
【００９８】
（Ｂ−４）第１の実施形態及び上述した変形実施形態では、符号化処理の並列処理を前提とするものであるが、ＣＰＵ処理の負荷を軽減する観点から、１種類の符号化処理の場合にも同様に適用することができる。
【００９９】
（Ｂ−５）第１の実施形態及び上述した変形実施形態では、ユーザデータが音声、音響等である場合を例示して説明した。しかし、音声などに限定されるものではなく、１チップＤＳＰ上で並列して符号化処理を行うのであれば、ユーザデータが画像圧縮データ等のときにも適用することができる。
【０１００】
（Ｂ−６）第１の実施形態及び上述した変形実施形態で説明した、ＣＰＵ使用率監視部、符号化処理負荷制御部、各エンコーダ１１−１〜１１−４等の処理は、ソフトウェア処理により実現されるものである。例えば、ＣＰＵが、処理に必要なデータを用いて、ＲＯＭに格納される処理プログラムを実行することにより実現されるものである。
【図面の簡単な説明】
【０１０１】
【図１】第１の実施形態の符号化装置の内部構成を示すブロック図である。
【図２】従来のエンコードの並列処理を示すフローチャートである。
【図３】第１の実施形態の負荷軽減テーブルの構成例を示す構成図である。
【図４】第１の実施形態の符号化処理負荷制御処理の遷移状態を示す遷移状態図である。
【図５】第１の実施形態の負荷軽減処理のフローチャートである（その１）。
【図６】第１の実施形態の負荷軽減処理のフローチャートである（その２）。
【図７】変形実施形態のＣＰＵ使用率の変動率の求め方を説明する説明図である。
【図８】変形実施形態の優先順位テーブルの構成例を示す構成図である。
【符号の説明】
【０１０２】
１…符号化装置、１１−１〜１１−４…エンコーダ、１１１…パラメータ設定部、１１２…符号化部、１２…分配部、１３…ＣＰＵ使用率監視部、１４…符号化処理負荷制御部。
【図１】
2009276529.tif 000003
【図２】
2009276529.tif 000004
【図３】
2009276529.tif 000005
【図４】
2009276529.tif 000006
【図５】
2009276529.tif 000007
【図６】
2009276529.tif 000008
【図７】
2009276529.tif 000009
【図８】
2009276529.tif 000010