(57)【要約】  【課題】  要求される処理性能の変化に応じた消費電力に対応するパイプライン処理を実現し、消費電力を削減できるデータ処理装置を提供する。  【解決手段】  データ処理装置１は、の演算を行う直列接続された複数の演算部２、３、４、５と、複数の演算部２、３、４、５の各々の間に接続された複数のメモリ６，７，８と、複数の演算部２、３、４、５の内、単位サイクル内に演算を行う演算部を決定する制御部９を備える。このデータ処理装置１より、アプリケーションの許容処理時間を満足しつつ、不要な消費電力を削減できる。  【選択図】  図１
2006236325.tif 000002
【特許請求の範囲】
【請求項１】
単位サイクル内に各々に割り当てられた演算を行うと共に各々が直列接続された複数の演算部と、
前記複数の演算部の各々の間に接続された複数のメモリと、
前記複数の演算部の内、ある単位サイクル内に各々に割り当てられた演算を行う演算部を選択する制御部を備えるデータ処理装置。
【請求項２】
前記単位サイクルの時間は、前記複数の演算部の各々が行う演算において、最大の演算時間に基づいて定められる請求項１記載のデータ処理装置。
【請求項３】
前記制御部は、前記複数の演算部の内、ある単位サイクル内に各々に割り当てられた演算を行う演算部の個数を決定する請求項１記載のデータ処理装置。
【請求項４】
前記制御部は、前記複数の演算部の各々が行う演算に要する時間の合計に基づいて、前記複数の演算部の内、ある単位サイクル内に演算を行う演算部を選択する請求項１記載のデータ処理装置。
【請求項５】
前記制御部は、前記複数の演算部の初段の演算部に入力するデータの入力間隔に基づいて、前記複数の演算部の内、ある単位サイクル内に演算を行う演算部を決定する請求項１から４のいずれか記載のデータ処理装置。
【請求項６】
前記制御部は、外部から通知される前記複数の演算部の各々が行う演算に要する時間の合計に関する許容時間情報に基づき、前記入力間隔を算出する請求項５記載のデータ処理装置。
【請求項７】
前記制御部は、前記複数の演算部の内、ある単位サイクル内に演算が不要な演算部を判定し、前記制御部は、
前記判定された演算部への電力供給を遮断する第１処理、
前記判定された演算部へのクロック信号の供給を停止する第２処理、
前記判定された演算部へのクロック信号の周波数を低減する第３処理および
前記判定された演算部の閾値電圧を増加する第４処理の内、少なくとも一つの処理を行う請求項１から６のいずれか記載のデータ処理装置。
【請求項８】
前記複数のメモリのそれぞれは、演算部からのデータを記憶し、前記演算部の出力に接続される第１バンクと、演算部へ出力するデータを記憶し、前記演算部の入力に接続される第２バンクを有する請求項１記載のデータ処理装置。
【請求項９】
前記制御部は、前記第１バンクと前記第２バンクの内、ある単位サイクル内に、データ更新またはデータ出力が不要なバンクを判定し、前記制御部は、
前記判定されたバンクへの電力供給を遮断する第１処理、
前記判定されたバンクへのクロック信号の供給を停止する第２処理、
前記判定されたバンクへのクロック信号の周波数を低減する第３処理および
前記判定されたバンクへの閾値電圧を増加する第４処理の内、少なくとも一つの処理を行う請求項８記載のデータ処理装置。
【請求項１０】
前記複数のメモリは、第１メモリと第２メモリを有し、前記複数の演算部は、前記第１メモリの前段に接続される演算部と後段に接続される演算部からなる第１演算部ペアと、前記第２メモリの前段に接続される演算部と後段に接続される演算部からなる第２演算部ペアを有し、前記第１演算部ペアと前記第２演算部ペアがある単位サイクル内で排他的に演算を行う場合には、前記第１演算部ペアと前記第２演算部ペアは、前記第１メモリおよび前記第２メモリの一方を共用する請求項１記載のデータ処理装置。
【請求項１１】
前記第１メモリ及び第２メモリの一方が共用される場合に、前記制御部は、
共用されないメモリへの電力供給を遮断する第１処理、
共用されないメモリへのクロック信号の供給を停止する第２処理、
共用されないメモリへのクロック信号の周波数を低減する第３処理および
共用されないメモリへの閾値電圧を増加する第４処理の内、少なくとも一つの処理を行う請求項１０記載のデータ処理装置。
【請求項１２】
前記複数の演算部の各々に割り当てられる演算は、画像処理に含まれる複数の演算のそれぞれに対応する請求項１から１１のいずれか記載のデータ処理装置。
【請求項１３】
前記複数の演算は、動き検出処理、離散コサイン変換処理、量子化処理及び可変長符号化処理の少なくとも一つを含む請求項１２記載のデータ処理装置。
【請求項１４】
前記複数の演算部のそれぞれは、パイプライン動作により、演算を行う請求項１から１３のいずれか記載のデータ処理装置。
【請求項１５】
単位サイクル内に各々に割り当てられた演算を行うと共に各々が直列接続された複数の演算部と、
前記複数の演算部の各々の間に接続された複数のメモリと、
前記複数の演算部の内、ある単位サイクル内に各々に割り当てられた演算を行う演算部を選択する制御部を備える半導体集積回路。
【請求項１６】
前記制御部は、前記複数の演算部の内、ある単位サイクル内に演算が不要な演算部を判定し、前記制御部は、
前記判定された演算部への電力供給を遮断する第１処理、
前記判定された演算部へのクロック信号の供給を停止する第２処理、
前記判定された演算部へのクロック信号の周波数を低減する第３処理および
前記判定された演算部の閾値電圧を増加する第４処理の内、少なくとも一つの処理を行う請求項１５記載の半導体集積回路。
【請求項１７】
前記複数のメモリのそれぞれは、演算部からのデータを記憶し、前記演算部の出力に接続される第１バンクと、演算部へ出力するデータを記憶し、前記演算部の入力に接続される第２バンクを有する請求項１５記載の半導体集積回路。
【請求項１８】
前記制御部は、前記第１バンクと前記第２バンクの内、ある単位サイクル内に、データ更新またはデータ出力が不要なバンクを判定し、前記制御部は、
前記判定されたバンクへの電力供給を遮断する第１処理、
前記判定されたバンクへのクロック信号の供給を停止する第２処理、
前記判定されたバンクへのクロック信号の周波数を低減する第３処理および
前記判定されたバンクへの閾値電圧を増加する第４処理の内、少なくとも一つの処理を行う請求項１７記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主にパイプライン処理を行うデータ処理装置において、消費電力を削減する技術に関するものである。
【背景技術】
【０００２】
画像処理や音声処理を行うデータ処理装置に対して、高速化の要求が年々高まっている。
【０００３】
複数の演算部が直列に接続されて並列処理を行うパイプライン処理装置は、処理の高速化を実現する。
【０００４】
従来の技術では、直列に接続された複数の演算部と、各演算部間を接続する複数のメモリで構成されたデータ処理装置が提案されている（例えば、特許文献１参照）。各メモリは、ダブルバッファで構成されている。
【０００５】
図１７は、従来の技術におけるデータ処理装置のブロック図である。データ処理装置２００は、４つの演算部２０１−２０４と、これら４つの演算部同士を接続する３つのメモリ２０５−２０７を備えている。演算部２０１〜２０４は、直列接続されており、入力されたデータに対して所定の演算を行う。メモリ２０５〜２０７は、ダブルバッファの構成を有しており、メモリの前段の演算部からの出力されるデータを記憶すると共に、後段の演算部へ記憶しているデータを出力する。
【０００６】
例えば、メモリ２０５は、演算部２０１の出力データを記憶し、記憶しているデータを演算部２０２に出力する。
【０００７】
演算部２０１に入力されたデータは、演算部２０１でまず演算され、次段の演算部２０２に演算結果が受け渡される。演算部２０２は、渡された演算結果に基づいて所定の演算をして、演算結果をメモリ２０６を介して、次段の演算部２０３に渡す。演算部２０２が演算を実行している期間に、演算部２０１は、次の入力データに対する演算を行う。すなわち、演算部２０１〜２０４は並列動作を行う。
【０００８】
このように、複数の演算部２０１〜２０４がメモリ２０５〜２０７を介して直列接続されることで、パイプライン処理が実現される。
【０００９】
しかしながら、従来の技術におけるデータ処理装置は、高い処理性能を必要としないアプリケーションに対応する場合であっても、同じ期間内に全ての演算部を用いるパイプライン処理を行う。データ処理装置は、最大の要求性能に対応したパイプライン演算を行う。
【００１０】
このため、アプリケーションの要求と乖離する不要な消費電力が発生する問題があった。結果として、消費電力の削減が不十分であった。特に、ピーク電力が大きくなる問題があった。
【００１１】
一方、画像処理や音声処理においては、同じ規格であっても、要求される画像サイズや音声サイズにより（例えば、ＣＩＦ画像とＱＣＩＦ画像）要求される処理性能が異なることが多い。
【００１２】
すなわち、同一アプリケーションの処理において、要求される処理性能の変化に応じた演算処理ができなかった。結果として消費電力の無駄も発生していた。
【特許文献１】特開平１０−３３４２２５号公報
【特許文献２】特開平１１−１４９３７３号公報
【特許文献３】特開平６−２９２１７８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
そこで本発明は、要求される処理性能の変化に応じた消費電力に対応するパイプライン処理を実現し、消費電力を削減できるデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
第１の発明に係るデータ処理装置は、単位サイクル内に各々に割り当てられた演算を行うと共に各々が直列接続された複数の演算部と、複数の演算部の各々の間に接続された複数のメモリと、複数の演算部の内、ある単位サイクル内に各々に割り当てられた演算を行う演算部を選択する制御部を備える。
【００１５】
この構成により、単位サイクル内に演算が不要な演算部を生じさせることができ、不要な消費電力が削減できる。
【００１６】
第２の発明に係るデータ処理装置では、単位サイクルの時間は、複数の演算部の各々が行う演算において、最大の演算時間に基づいて定められる。
【００１７】
この構成により、単位サイクル内で動作する演算部を選択した場合でも、パイプライン処理が実現できる。
【００１８】
第３の発明に係るデータ処理装置では、制御部は、複数の演算部の内、ある単位サイクル内に各々に割り当てられた演算を行う演算部の個数を決定する。
【００１９】
この構成により、単位サイクル内に演算が不要な演算部を生じさせることができ、不要な消費電力が削減できる。特に、ある瞬間での消費電力であるピーク電力が削減できる。
【００２０】
第４の発明に係るデータ処理装置では、制御部は、複数の演算部の各々が行う演算に要する時間の合計に基づいて、複数の演算部の内、ある単位サイクル内に演算を行う演算部を選択する。
【００２１】
この構成により、制御部は、アプリケーションの違いによる全体処理時間の要求を満足した上で、単位サイクル内で演算を実行する演算部を決定できる。
【００２２】
第５の発明に係るデータ処理装置では、制御部は、複数の演算部の初段の演算部に入力するデータの入力間隔に基づいて、複数の演算部の内、ある単位サイクル内に演算を行う演算部を決定する。
【００２３】
この構成により、制御部は、アプリケーションの違いによる、入力データの入力間隔を満足した上で、単位サイクル内で演算を行う演算部を決定する。
【００２４】
第６の発明に係るデータ処理装置では、制御部は、外部から通知される複数の演算部の各々が行う演算に要する時間の合計に関する許容時間情報に基づき、入力間隔を算出する。
【００２５】
この構成により、外部からの情報による要求を満足するように、制御部は単位サイクル内に演算を行う演算部を決定できる。
【００２６】
第７の発明に係るデータ処理装置では、制御部は、複数の演算部の内、ある単位サイクル内に演算が不要な演算部を判定し、制御部は、判定された演算部への電力供給を遮断する第１処理、判定された演算部へのクロック信号の供給を停止する第２処理、判定された演算部へのクロック信号の周波数を低減する第３処理および判定された演算部の閾値電圧を増加する第４処理の内、少なくとも一つの処理を行う。
【００２７】
この構成により、アプリケーションの要求を満足するデータ処理が実現されつつ、単位サイクル内で演算不要な演算部の消費電力を削減できる。結果として、データ処理装置の動作性能とデータ処理装置の消費電力の削減が両立される。
【００２８】
第８の発明に係るデータ処理装置では、複数のメモリのそれぞれは、演算部からのデータを記憶し、演算部の出力に接続される第１バンクと、演算部へ出力するデータを記憶し、演算部の入力に接続される第２バンクを有する。
【００２９】
第９の発明に係るデータ処理装置では、制御部は、第１バンクと第２バンクの内、ある単位サイクル内に、データ更新またはデータ出力が不要なバンクを判定し、制御部は、判定されたバンクへの電力供給を遮断する第１処理、判定されたバンクへのクロック信号の供給を停止する第２処理、判定されたバンクへのクロック信号の周波数を低減する第３処理および判定されたバンクへの閾値電圧を増加する第４処理の内、少なくとも一つの処理を行う。
【００３０】
これらの構成により、演算を行う演算部として決定された結果により生じるデータ更新もしくはデータ出力が不要なバンクの消費電力が削減できる。アプリケーションの要求を満足するデータ処理が実現されつつ、演算不要な演算部と加えて、データ処理装置の消費電力が効果的に削減できる。
【００３１】
第１０の発明に係るデータ処理装置では、複数のメモリは、第１メモリと第２メモリを有し、複数の演算部は、第１メモリの前段に接続される演算部と後段に接続される演算部からなる第１演算部ペアと、第２メモリの前段に接続される演算部と後段に接続される演算部からなる第２演算部ペアを有し、第１演算部ペアと第２演算部ペアがある単位サイクル内で排他的に演算を行う場合には、第１演算部ペアと第２演算部ペアは、第１メモリおよび第２メモリの一方を共用する。
【００３２】
第１１の発明に係るデータ処理装置では、第１メモリ及び第２メモリの一方が共用される場合に、制御部は、共用されないメモリへの電力供給を遮断する第１処理、共用されないメモリへのクロック信号の供給を停止する第２処理、共用されないメモリへのクロック信号の周波数を低減する第３処理および共用されないメモリへの閾値電圧を増加する第４処理の内、少なくとも一つの処理を行う。
【００３３】
これらの構成により、制御部による演算部の決定に応じて、不使用のメモリを生じさせることができる。この不使用となるメモリの消費電力を削減することにより、演算不要の演算部、不使用のバンクの消費電力削減と合わせて、データ処理装置の消費電力を効果的に削減できる。
【００３４】
第１５の発明に係る半導体集積回路は、単位サイクル内に各々に割り当てられた演算を行うと共に各々が直列接続された複数の演算部と、複数の演算部の各々の間に接続された複数のメモリと、複数の演算部の内、ある単位サイクル内に各々に割り当てられた演算を行う演算部を選択する制御部を備える。
【００３５】
これらの構成により、アプリケーションの仕様を満足しつつ、半導体集積回路の消費電力を削減できる。
【発明の効果】
【００３６】
本発明によれば、アプリケーションによる許容処理時間を満足すると共に、不要な消費電力が削減できるデータ処理装置が実現される。
【００３７】
また、演算不要な演算部だけでなく、データ更新やデータ出力の不要なメモリや、メモリに含まれるバンクでの不要な消費電力が削減できる。特に、ある瞬間での電力であるピーク電力が削減できる。
【発明を実施するための最良の形態】
【００３８】
以下、図面を参照しながら、本発明の実施の形態を説明する。
【００３９】
（実施の形態１）
図１は、本発明の実施の形態１におけるデータ処理装置のブロック図である。
【００４０】
まず、データ処理装置１の構成について説明する。
【００４１】
データ処理装置１は、複数の演算部２〜５と、複数のメモリ６〜８と、制御部９を備えている。
【００４２】
複数の演算部２〜５は、所定の時間間隔である単位サイクル内に、それぞれ所定の演算を行う。また、演算部２〜５は、図１に示されるとおり直列に接続している。データ処理装置１において、演算部２が初段の演算部であり、演算部５が最終段の演算部である。
【００４３】
図１に示されるデータ処理装置１では、データ処理装置１に入力するデータに対して、演算部２から演算部５までが、それぞれの演算を実行して、最終段の演算部５で全ての演算処理が終了する。すなわち、演算部２から演算部５は、１セットの演算処理を行う。
【００４４】
複数のメモリ６〜８は、演算部２〜５の各々の間に接続されており、演算部同士のデータの受け渡しを行う。
【００４５】
メモリ６は、演算部２と演算部３の間に接続され、演算部２の演算結果を記憶し、記憶している演算結果を演算部３に出力する。
【００４６】
メモリ７は、演算部３と演算部４の間に接続され、演算部３の演算結果を記憶し、記憶している演算結果を演算部４に出力する。
【００４７】
メモリ８は、演算部４と演算部５の間に接続され、演算部４の演算結果を記憶し、記憶している演算結果を演算部５に出力する。
【００４８】
制御部９は、複数の演算部２〜５の内、単位サイクル内に演算を行う演算部を決定する。あるいは、制御部９は、単位サイクル内に演算を行う演算部の個数を決定する。ここで、制御部９は、演算を行う演算部の決定にあたって、複数の演算部２〜５全体で行われる全体処理に要求される全体処理時間を考慮する。あるいは、制御部９は、データ処理装置１に入力するデータの入力間隔を考慮する。
【００４９】
また、制御部９は、演算不要な演算部の消費電力を制御する。
【００５０】
次に、図２〜図４を用いて、データ処理装置１の動作を説明する。
【００５１】
図２、図３、図４は、本発明の実施の形態１におけるデータ処理装置の動作を説明する説明図である。
【００５２】
図２、図３、図４において、横軸は時間軸であり、縦軸は、演算部の接続方向を示す。単位サイクルは、所定の時間間隔であり、任意に定められれば良いが、複数の演算部２〜５の各々の処理時間の内、最大の処理時間を基準に定められることが好適である。全ての演算部の演算が、単位サイクル内に終了するからである。
【００５３】
ある時刻に演算部２に入力したデータは、単位サイクル１では、演算部２で演算処理され、単位サイクル２では、演算部３で演算処理され、単位サイクル３では、演算部４で処理され、単位サイクル４では、演算部５で処理されて、演算処理の終了した出力データとして出力される。
【００５４】
図２においては、全体処理時間における要求速度が最大の場合の動作が示されている。言い換えると、入力データは、単位サイクル毎にデータ処理装置１の初段の演算部である演算部２に入力される。
【００５５】
図２では、単位サイクル１において、第１入力データが演算部２に入力される。単位サイクル２において、第２入力データが、演算部２に入力される。単位サイクル３において、第３入力データが、演算部２に入力される。単位サイクル４において、第４入力データが、演算部２に入力される。第１入力データから第４入力データは、単位サイクル毎に演算部２〜５を移動しながら演算される。
【００５６】
単位サイクル１では、演算部２は第１入力データを用いて演算を行い、メモリ６に演算結果を出力する。他の演算部３〜５は、第１入力データ以前の入力データを用いた演算を行う。
【００５７】
単位サイクル２では、演算部２は、第２入力データを用いて演算を行う。同時に、演算部３は、メモリ６に記憶されている演算結果を用いて演算を行い、演算結果をメモリ７に出力する。
【００５８】
単位サイクル３では、演算部２は、第３入力データを用いて演算を行い、メモリ６に演算結果を出力する。同時に、演算部３は、メモリ６に記憶されている演算結果を用いて演算を行い、同時に、演算部４はメモリ７に記憶されている演算結果を用いて演算を行う。
【００５９】
単位サイクル４では、演算部２は、第４入力データを用いて演算を行い、メモリ６に演算結果を出力する。同時に、演算部３はメモリ６に記憶されている演算結果を用いて演算を行う。同時に、演算部４は、メモリ７に記憶されている演算結果を用いて演算を行う。同時に演算部５は、メモリ８に記憶されている演算結果を用いて演算を行う。
【００６０】
以上の動作により、単位サイクル４においては、演算部２において第４入力データの演算までが開始されている。
【００６１】
すなわち、要求速度が最大の場合には、各単位サイクルにおいては、４つの演算部２〜５は全て演算を行う。当然ながら、全ての演算部が動作するので、メモリ６〜８も全て動作している。
【００６２】
すなわち、全ての単位サイクルにおいて、制御部９は、全ての演算部２〜５を、演算を行う演算部として決定する。
【００６３】
このため、図２に示される場合には、データ処理装置１の消費電力は最大であるが、処理速度も最大になる。
【００６４】
次に、図３を用いて、全体処理時間に対する要求速度が中程度の場合について説明する。この場合には、２単位サイクルおきに、入力データが演算部２に入力される。
【００６５】
２単位サイクルおきに入力データが演算部２に入力されるので、制御部９は、同一単位サイクル内では、４つの演算部２〜５の内、２つの演算部を演算を行う演算部として決定する。
【００６６】
図３において、斜線の施されている演算部は、該当する単位サイクル内に演算を行わない演算部である。
【００６７】
単位サイクル１においては、演算部２と演算部４のみが演算を行う。単位サイクル２においては、演算部３と演算部５のみが、演算を行う。単位サイクル３においては、演算部２と演算部４のみが演算を行う。単位サイクル４においては、演算部３と演算部５のみが演算を行う。
【００６８】
以上の動作により、単位サイクル４においては、第２入力データの演算までが開始されている。すなわち、図２に示される場合に比べて、データ処理装置１は、半分のデータ量の演算処理を終了する。しかしながら、演算を行っていない斜線が施された演算部の電力は低減する。
【００６９】
このため、図３に示される場合には、データ処理装置１の消費電力が削減できる。
【００７０】
特に、演算を行っていない演算部への電力供給が遮断される場合には、これらの演算部の消費電力はゼロに近づくため、単位サイクル内において必要とされる消費電力はほぼ半減する。
【００７１】
次に、図４を用いて、全体処理時間に対する要求速度が低い場合について説明する。この場合には、４単位サイクルおきに入力データが演算部２に入力する。
【００７２】
４単位サイクルおきに入力データが演算部２に入力されるので、制御部９は、同一単位サイクル内では、４つの演算部２〜５の内、１つの演算部を、演算を行う演算部として決定する。
【００７３】
図４において、斜線の施されている演算部は、該当する単位サイクル内に演算を行わない演算部である。
【００７４】
単位サイクル１においては、演算部２のみが演算を行い、演算結果をメモリ６に出力する。
【００７５】
単位サイクル２においては、メモリ６に記憶されている演算結果を用いて、演算部３のみが演算を行い、演算結果をメモリ７に出力する。
【００７６】
単位サイクル３においては、メモリ７に記憶されている演算結果を用いて、演算部４のみが演算を行い、演算結果をメモリ８に出力する。
【００７７】
単位サイクル４においては、メモリ８に記憶されている演算結果を用いて、演算部５のみが演算を行う。
【００７８】
以上の動作により、単位サイクル４においては、第１入力データの演算が終了する。すなわち、図２に示される場合に比べて、データ処理装置１は、４分の１のデータ量の演算処理を終了する。しかしながら、演算を行っていない斜線が施された演算部の電力が低減する。
【００７９】
特に、演算を行っていない演算部への電力供給が遮断される場合には、これらの演算部の消費電力はゼロに近づくため、単位サイクル内において必要とされる消費電力は、ほぼ４分の１となる。すなわち、ピーク電力が４分の１となる。
【００８０】
ここで、図３、図４において、斜線の施された演算を行っていない演算部の消費電力削減について説明する。
【００８１】
ある単位サイクルにおいて演算を行わない演算部に対して（図３、図４で斜線の施されている演算部）、制御部９は、電力供給を遮断する。演算が不要な演算部への電力供給が遮断されることで、最も効果的に消費電力が削減される。
【００８２】
電力供給の遮断は、演算部への電力線路に設けられたスイッチの開放により実現されればよい。
【００８３】
また、消費電力削減にとって、制御部９が、演算を行わない演算部に対するクロック信号の周波数を低減することも、消費電力削減のためには好適である。演算部を構成する電子回路の消費電力は、クロック信号の周波数に比例して増加する。このため、クロック信号の周波数が低減されることで、データ処理装置１の消費電力が削減できる。
【００８４】
演算部を構成する電子回路は、クロック信号の周波数に比例して消費電力が大きくなる。このため、クロック信号の周波数を低減することで、演算部での消費電力が削減できる。
【００８５】
なお、クロック信号の周波数の低減の代わりに、制御部９は、演算不要な演算部に対するクロック信号を停止しても良い。
【００８６】
あるいは、消費電力削減にとって、制御部９は、演算を行わない演算部の閾値電圧を増加することも、消費電力削減のために好適である。
【００８７】
閾値電圧が増加することで、演算部を構成するＭＯＳトランジスタのソース、ドレイン間の電位差が減少し、ＭＯＳトランジスタのリーク電流が低減する。結果として、演算が不要な演算部の消費電力が削減できる。
【００８８】
制御部９による以上の制御により、高速の演算が不要な場合には、データ処理装置１の消費電力が削減できる。結果として、データ処理装置１に対して要求される全体処理時間と消費電力の適切なバランスによる、演算処理が実現される。
【００８９】
次に、図５〜図７を用いて演算の不要な演算部に加えて、データ更新の不要なメモリの消費電力を削減することについて説明する。
【００９０】
図５は、本発明の実施の形態１におけるデータ処理装置のブロック図である。
【００９１】
メモリ６〜８は、それぞれ複数のバンクを含み、メモリの前段の演算部からのデータの記憶を行う第１バンクと、メモリの後段の演算部に出力するデータの記憶を行う第２バンクを有している。
【００９２】
第１バンク１０は、演算部２の演算結果を記憶し、第２バンク１１は、演算部３へ出力するデータを記憶する。
【００９３】
第１バンク１２は、演算部３の演算結果を記憶し、第２バンク１３は、演算部４へ出力するデータを記憶する。
【００９４】
第１バンク１４は、演算部４の演算結果を記憶し、第２バンク１５は、演算部５へ出力するデータを記憶する。
【００９５】
データ処理装置１に対する要求速度が最大の場合には、全ての演算部２〜５が演算を行うので、全てのメモリ６〜８も全ての単位サイクルにおいてデータ更新の必要性がある。
【００９６】
一方、データ処理装置１に対する要求速度が中程度の場合には、図３で説明したように、同一の単位サイクル内では、４つの演算部２〜５の内、２つの演算部が演算を行う。このため、演算を行わない演算部に隣接するメモリ中のバンクにおいて、データ更新、もしくはデータ出力の不要なバンクが発生する。
【００９７】
データ更新もしくはデータ出力の不要なバンクの発生について、図６、図７を用いて説明する。
【００９８】
図６、図７は本発明の実施の形態１におけるデータ処理装置の動作を説明する説明図である。
【００９９】
図６は、図３と同じく２単位サイクルおきに、入力データが演算部２に入力される場合を示している。
【０１００】
単位サイクル１においては、演算部３と演算部５が演算不要であるので、演算の不要な演算部３と演算部５に関わる第２バンク１１と第１バンク１２と第２バンク１５は、データ更新もしくはデータ出力を不要とする。
【０１０１】
同様に、単位サイクル２においては、第１バンク１０、第２バンク１３と第１バンク１４は、データ更新もしくはデータ出力を不要とする。
【０１０２】
単位サイクル３においては、第２バンク１１、第１バンク１２と第２バンク１５が、データ更新もしくはデータ出力を不要とする。
【０１０３】
単位サイクル４においては、第１バンク１０、第２バンク１３と第１バンク１４が、データ更新もしくはデータ出力を不要とする。
【０１０４】
データ更新もしくはデータ出力が不要なバンクは、演算が不要な演算部と同じく、消費電力削減の対象となる。メモリ６〜８が、バンクで分割されていない場合には、図６の単位サイクル１において、演算部３が演算不要であっても、演算部２と演算部４が演算を行うため、メモリ６とメモリ７は、データ更新を必要とする。このため、メモリを消費電力削減の対象とできない。しかし、メモリを複数のバンクに分割することで、演算不要な演算部に対応するバンクを消費電力削減の対象とできる。
【０１０５】
データ更新もしくはデータ出力が不要なバンクに対しては、制御部９は、電力供給を遮断する。電力供給が遮断されることで、消費電力が効果的に削減できる。特に、ある瞬間での電力であるピーク電力が削減できる。
【０１０６】
または、制御部９は、データ更新もしくはデータ出力が不要なバンクに対するクロック信号の周波数を低減、あるいはクロック信号を停止する。これは、クロック信号の周波数の低減もしくはクロック信号の停止により、消費電力が削減できるからである。
【０１０７】
更に、制御部９は、データ更新もしくはデータ出力の不要なバンクの閾値電圧を増加する。閾値電圧の増加により、リーク電流が減少し、消費電力が削減できるからである。
【０１０８】
なお、図６に示されるとおり、斜線が施された演算部とバンクの両方に対して、制御部９は、電力供給の遮断、クロック信号の停止、周波数の低減、及び閾値電圧の増加のいずれか（あるいは合わせて）を行う。結果として、データ処理装置１の消費電力が削減できる。
【０１０９】
入力データが４単位サイクルおきに入力する場合も同様であり、図７に示される。斜線が施された演算部とバンクが、消費電力削減の対象となる。
【０１１０】
図７においては、更に多くの演算部とバンクが演算不要となり、消費電力が削減できる。
【０１１１】
なお、制御部９は、データ処理装置１に要求される全体処理時間、初段の演算部に入力する入力データの入力間隔に基づいて、複数の演算部の内、演算を行う演算部を決定する。更に、制御部９は、外部から通知される演算処理の許容時間情報に応じて、複数の演算部の内、演算を行う演算部を決定する。例えば、画像圧縮処理を行うアプリケーションに、データ処理装置１が実装される場合には、対象とする画像サイズの変更と再生速度の情報に基づく許容時間情報が、データ処理装置１に通知される。制御部９は、この許容時間情報に基づいて、入力データの入力間隔を決定し、決定された入力間隔に基づいて、複数の演算部の内、演算を行う演算部を決定する。
【０１１２】
以上のように、要求速度や入力データの入力間隔に応じて、複数の演算部の内、演算を行う演算部を決定することで、演算不要な演算部およびデータ更新もしくはデータ出力の不要なバンクを生じさせることができる。演算不要な演算部およびデータ更新もしくはデータ出力不要なバンクの消費電力を削減できる。
【０１１３】
結果として、要求速度に見合った処理時間と消費電力の削減を両立できる。
【０１１４】
（実施の形態２）
次に、実施の形態２について説明する。実施の形態１では、汎用の演算部を備えたデータ処理装置について説明したが、実施の形態２では、データ処理装置が、Ｍ画素ｘＮ画素（Ｍ、Ｎは１以上の整数）の画像に対する画像処理を行う場合を例に説明する。また、データ処理装置に含まれる複数の演算部の各々は、この画像処理に含まれる複数の処理単位の各々に対応する演算を行う。
【０１１５】
図８は、図１１は、本発明の実施の形態２におけるデータ処理装置のブロック図である。
【０１１６】
図８において、データ処理装置１００は、動画圧縮伸長規格の１つであるＭＰＥＧ−４による動画像圧縮処理を行う。
【０１１７】
データ処理装置１００は、入力メモリ１０１、動き検出部１０２、ＤＣＴ/量子化部１０３、ＤＣＡＣ予測部１０４、ＶＬＣ部１０５、逆量子化/逆ＤＣＴ部１０６、動き補償/再構成部１０７、メモリ１０８〜１１１、出力メモリ１１２と１１３、そして、制御部１１４を備える。動き検出部１０２、ＤＣＴ/量子化部１０３、ＤＣＡＣ予測部１０４、ＶＬＣ部１０５、逆量子化/逆ＤＣＴ部１０６、動き補償/再構成部１０７の各々は、データ処理装置１００に含まれる演算部である。これらの演算部は、パイプライン処理を行う。
【０１１８】
メモリ１０８、１０９、１１０、１１１は、それぞれ複数のバンクを有しており、ここでは第１バンクと第２バンクを備えている。
【０１１９】
データ処理装置１００が実行するデータ単位は、１６×１６画素のマクロブロック単位であるとする。
【０１２０】
入力メモリ１０１は、動き検出部１０２への入力データとなる符号化対象画素データと参照画素データを記憶する。符号化対象画素データと参照画素データはダイレクト・メモリ・アクセス（以下、「ＤＭＡ」という）により外部メモリ１４０から転送される。
【０１２１】
動き検出部１０２は、入力メモリ１０１からの符号化対象画素データと参照画素データを入力とし、動き検出処理を実行する。動き検出部１０２は、演算結果である差分画素データをメモリ１０８に出力する。ただし、画面内符号化を行う場合は、入力メモリ１０１から読み出した符号化対象画素データを、そのままメモリ１０８に出力する。
【０１２２】
ＤＣＴ/量子化部１０３は、メモリ１０８から、差分画素データ、または符号化対象画素データを読み出す。ＤＣＴ／量子化部１０３は、読み出したデータを用いてＤＣＴ演算と量子化演算を実行し、演算結果の係数データをメモリ１０９へ出力する。
【０１２３】
ＤＣＡＣ予測部１０４は、メモリ１０９から、係数データと係数予測処理で参照するＤＣ成分とＡＣ成分の参照係数データを、読み出す。ＤＣＡＣ予測部１０４は、ＤＣ成分とＡＣ成分の係数予測処理と、スキャン方法による、係数データの２次元配列から１次元配列への並び替えを実行する。次いで、ＤＣＡＣ予測部１０４は、演算結果である１次元配列の係数データと、将来の係数予測処理で参照されるＤＣ成分とＡＣ成分の係数データをメモリ１１０へ出力する。
【０１２４】
ＶＬＣ部１０５は、メモリ１１０から、１次元配列となった係数データを読み出す。ＶＬＣ部１０５は、可変長符号化を実行し、演算結果となる可変長符号データを出力メモリ１１２へ出力する。
【０１２５】
逆量子化／逆ＤＣＴ部１０６は、メモリ１０９から、量子化係数データを読み出す。読み出したデータを用いて、逆量子化／逆ＤＣＴ部１０６は、逆量子化演算と逆ＤＣＴ演算を行い、演算結果となるデコードされた差分画素データ、または、符号化対象画素データをメモリ１１１へ出力する。
【０１２６】
動き補償／再構成部１０７は、メモリ１１１から、デコードされた差分画素データと動き補償処理で用いられる参照画素データを読み出す。更に、動き補償／再構成部１０７は、符号化対象画素データと動き補償処理で用いる参照画素データを読み出す。差分画素データの場合は、動き補償／再構成部１０７は、参照画素データを用いて動き補償処理を実行する。更に、動き補償／再構成部１０７は、動き補償済み参照画素データと差分画素データを加算する再構成演算を行い、再構成された符号化対象画素データを出力メモリ１１３へ出力する。あるいは、入力されたデータがデコードされた符号化対象画素データの場合は、動き補償／再構成部１０７は、符号化対象画素データをそのまま出力メモリ１１３へ出力する。
【０１２７】
メモリ１０８は、第１バンク１０８ａと第２バンク１０８ｂの二つのバンクを備えている。一方のバンクは、動き検出部１０２から出力される差分画素データ、または、符号化対象画素データを記憶する。他方のバンクは、ＤＣＴ／量子化部１０３へ保持している差分画素データ、または、符号化対象画素データを出力する。１回の演算が終了する度に、第１バンク１０８ａと第２バンク１０８ｂの役割が入れ替わる。つまり、ある単位サイクルにおいて、第１バンク１０８ａが、動き検出部１０２からの出力データを記憶し、第２バンク１０８ｂが、ＤＣＴ／量子化部１０３への入力データを出力している場合、次の単位サイクルでは、第１バンク１０８ａが、前の単位サイクルで記憶していたデータをＤＣＴ／量子化部１０３へ出力し、第２バンク１０８ｂが、動き検出部１０２からの出力データを記憶する。
【０１２８】
メモリ１０９も、第１バンク１０９ａと第２バンク１０９ｂを有する。
【０１２９】
一方のバンクはＤＣＴ／量子化部１０３から出力される係数データとＤＭＡにより外部メモリ１４０から入力されるＤＣ成分とＡＣ成分の参照係数データを記憶する。もう一方のバンクは、ＤＣＡＣ予測部１０４へ、記憶している係数データとＤＣ成分とＡＣ成分の参照係数データを出力する。
【０１３０】
メモリ１１０は、第１バンク１１０ａと第２バンク１１０ｂを有する。一方のバンクは、ＤＣＡＣ予測部１０４から出力される１次元配列の係数データと将来の係数予測処理の参照用ＤＣ成分とＡＣ成分の係数データを保持する。他方のバンクは、ＶＬＣ部１０５へ保持した１次元配列の係数データを出力する。また、将来の係数予測処理の参照用ＤＣ成分とＡＣ成分の係数データを記憶しているバンクから、ＤＭＡを用いて、外部メモリ１４０へ、将来の係数予測処理の参照用ＤＣ成分とＡＣ成分の係数データが転送される。
【０１３１】
メモリ１１１は、第１バンク１１１ａと第２バンク１１１ｂを有する。一方のバンクは逆量子化／逆ＤＣＴ部１０６から出力される、デコードされた差分画素データ、または符号化対象画素データを記憶する。または、このバンクは、外部メモリ１４０から入力される動き補償／再構成部１０７の動き補償処理で用いる参照画素データを記憶する。
【０１３２】
もう一方のバンクは、動き補償/再構成部１０７へ、記憶しているデコードされた差分画素データ、または符号化対象画素データと参照画素データを出力する。
【０１３３】
出力メモリ１１２は、ＶＬＣ部１０５から出力される可変長符号データを記憶する。記憶されている可変長符号データは、符号化したビットストリームを形成するため、外部メモリ１４０へ出力される。
【０１３４】
出力メモリ１１３は、動き補償／再構成部１０７から出力される再構成された符号化対象画素データを保持する。記憶している再構成された符号化対象画素データは、次の画像フレームの動き検出時の参照画素データとして、外部メモリ１４０に出力される。
【０１３５】
制御部１１４は、ある単位サイクル内において演算を行う演算部を決定する。あるいは、演算を行う演算部の個数を決定する。ここでは、演算部として設けられている、動き検出部１０２、ＤＣＴ／量子化部１０３、ＤＣＡＣ予測部１０４、ＶＬＣ部１０５、逆量子化／逆ＤＣＴ部１０６、動き補償／再構成部１０７の内から、ある単位サイクル内に演算を行う演算部を決定する。
【０１３６】
また、制御部９は、演算を行う演算部の決定に伴い、データ更新、もしくはデータ出力の不要なバンクを決定する。
【０１３７】
データ処理装置１００が行う画像処理においては、複数の仕様やアプリケーションが選択される。例えば、データ処理装置１００の最大性能がＶＧＡサイズ（６４０×４８０画素）でフレームレート３０枚のＭＰＥＧ−４の圧縮処理であるとする。
【０１３８】
このとき、第１アプリケーションは、ＶＧＡサイズ、フレームレート３０枚の圧縮処理を要求するとする。第２アプリケーションは、ＱＶＧＡサイズ（３２０ｘ２４０画素）、フレームレート３０枚の圧縮処理を要求するとする。第３アプリケーションは、ＱＣＩサイズ（（１７６×１４４画素）、フレームレート１５枚の圧縮処理を要求するとする。
【０１３９】
以上より、データ処理装置１００にとって、第１アプリケーション時には、要求速度が最大であり、第１アプリケーション時の要求速度を値「１」とすると、第２アプリケーション時には、要求速度が約１/４であり、第３アプリケーション時には、要求速度が約１/２４である。したがって、第２アプリケーション、または第３アプリケーション時においては、全体処理に許容される時間は、第１アプリケーション時に比べて長い。
【０１４０】
アプリケーションの違いによる、データ処理装置１００の動作の違いを、図９〜図１２を用いて説明する。
【０１４１】
図９、図１０、図１２は、本発明の実施の形態２におけるデータ処理装置の処理を説明する説明図である。
【０１４２】
図９は、データ処理装置１００に最大速度を要求する第１アプリケーション時の、データ処理装置１００の動作を示す。
【０１４３】
横方向に、単位サイクルＴ〜Ｔ＋４が示されている。縦方向に、直列接続された演算部が示されている。マトリクスの中に記載されたｎ−３〜ｎ＋４は、演算対象のマクロブロックの番号である。各演算部は、マクロブロック単位で演算を行う。例えば、単位サイクルＴにおいて、動き検出部１０２は、ｎ番目のマクロブロックに対して、動き検出の演算を行う。
【０１４４】
なお、単位サイクルは、データ処理装置１００に含まれる演算部の処理時間の内、最大の処理時間に基づいて定められる。
【０１４５】
図９に示されるように、第１アプリケーション時には、同一単位サイクル内に、動き検出部１０２から動き補償／再構成部１０７までの全ての演算部が演算を行う。また、全てのメモリ１０８〜１１１も動作する。
【０１４６】
制御部１１４は、要求速度が最大であるので、同一単位サイクル内に、全ての演算部を、演算を行う演算部として決定する。
【０１４７】
すなわち、処理時間は最短であるが、消費電力は最大の状態である。
【０１４８】
ここで、第１アプリケーション時のデータ処理装置で処理されるマクロブロックの平均処理時間を時間「Ｓ］と定義する。
【０１４９】
ここで、第２アプリケーション時での処理に許容される許容処理時間が、時間「２．２Ｓ」であるとする。なお、ホストＣＰＵ１３０が、許容処理時間についての情報を、制御部１１４に通知する。
【０１５０】
第２アプリケーションで処理が行われる場合、制御部１１４は、２単位サイクルおきに、入力データを処理するように、演算を行う演算部を決定する。このときの状況が、図１０に示される。
【０１５１】
図１０において、斜線が施されている演算部は、演算を行っていない演算部である。例えば、単位サイクルＴにおいては、動き検出部１０２とＤＣＡＣ予測部１０４と逆量子化／逆ＤＣＴ部１０６が演算を行い、残りの演算部は、演算を行わない。
【０１５２】
図１０から明らかな通り、単位サイクルＴ＋４において、ｎ＋２番目のマクロブロックまでの動き検出が終了している。すなわち、１マクロブロックの平均処理時間は、時間「２Ｓ」となり、許容処理時間「２．２Ｓ」以内に収まる。
【０１５３】
更に、ある単位サイクル内において演算を行わない演算部については、電力供給を遮断する、あるいはクロック信号の供給を停止する、あるいはクロック信号の周波数を低減する、あるいは閾値電圧を増加することにより、消費電力を削減できる。
【０１５４】
すなわち、アプリケーションにより異なる許容処理時間に応じて、制御部１１４は、演算を行う演算部を決定する。
【０１５５】
また、図３では、単位サイクル１において、例えば演算部３は演算を行っておらず、演算部４は、演算を行っている。演算部３と演算部４に挟まれているメモリ７に含まれる第１バンクと第２バンクの一方は、演算部３からのデータ更新が不要である。
【０１５６】
図１１は、第２アプリケーション時に、データ更新が不要であるか、データ出力が不要であるバンクを、斜線で明示している。
【０１５７】
図１０に示される単位サイクルＴにおいては、ＤＣＴ／量子化部１０３と、ＶＬＣ部１０５と、動き補償／再構成部１０７が、演算を行わない。このため、第２バンク１０８ｂ、第２バンク１０９ｂ、第２バンク１１１ｂがデータ更新、もしくはデータ出力不要である。
【０１５８】
制御部１１４は、これらのバンクに対して、電力供給を遮断する、あるいはクロック信号の供給を停止する、あるいはクロック信号の周波数を低減する、あるいは閾値電圧を増加する。結果として、消費電力が削減できる。特に、演算不要の演算部と共に、電力供給の削減やクロック信号の供給停止などが行われることで、更に消費電力が削減できる。
【０１５９】
次に、第３アプリケーションでの処理の場合について、図１２を用いて説明する。
【０１６０】
第３アプリケーション時には、許容処理時間が時間「３．４Ｓ」であるとする。
【０１６１】
この場合、制御部１１４は、３単位サイクル毎に、入力データを入力して処理を実行する。図１２から明らかな通り、単位サイクルＴ＋４において、ｎ＋１番目のマクロブロックのＤＣＴ／量子化演算が終了しており、全体処理時間は時間「３Ｓ」であり、許容処理時間を満たす。
【０１６２】
図１２においても、斜線が施されている演算部は、演算を行わない演算部であり、制御部１１４が決定する。
【０１６３】
演算を行わない演算部がある場合には、図１１で説明したのと同様に、データ更新もしくはデータ出力が不要なバンクが発生する。
【０１６４】
制御部９は、演算の不要な演算部や、データ更新もしくはデータ出力が不要なバンクに対して、電力供給を遮断したり、クロック信号の供給を遮断したり、クロック信号の周波数を低減したり、閾値電圧を増加したりする。結果として、動作や処理時間に影響なく、消費電力を削減できる。
【０１６５】
例えば、図１２における単位サイクルＴにおいては、ＤＣＴ／量子化部１０３、ＤＣＡＣ予測部１０４、逆量子化／逆ＤＣＴ部１０６に対して、電力供給遮断やクロック信号の供給遮断などが行われる。
【０１６６】
なお、各演算部は、個別に電源供給と遮断が可能であり、あるいは個別にクロック信号の供給が可能であることが、消費電力削減のための制御において好適である。
【０１６７】
同様に、メモリに含まれるバンクも、個別に電源供給と遮断が可能であったり、個別にクロック信号の供給が可能であったりすることが好適である。
【０１６８】
以上のように、制御部１１４は、アプリケーションにより異なる許容処理時間に応じて、ある単位サイクル内で演算を行う演算部を決定し、演算の不要な演算部、及びデータ更新やデータ出力の不要なバンクの消費電力を削減する。結果として、アプリケーション毎の仕様を満足すると共に、データ処理装置１００の消費電力を削減できる。
【０１６９】
なお、実施の形態２では、データ処理装置１００が、マクロブロック単位で処理する場合について説明したが、ブロック単位やスライス単位などで処理する場合であってもよい。また、データ処理装置１００に含まれる演算部は、図８で示されるものに限られない。
【０１７０】
また、データ処理装置１００が行う処理は、ＭＰＥＧ−４規格による画像処理以外であってもよい。ＭＰＥＧ２やＪＰＥＧなどの、他の規格による画像処理であっても、音声処理であってもよい。
【０１７１】
なお、パイプライン処理を実行する演算部の構成は、動き検出部１０２〜動き補償/再構成部１０７の構成に限定するものではない。例えば、動き検出部１０２を２単位サイクルに分割する構成や、ＤＣＴ/量子化処理部１０３をＤＣＴ演算を行う演算部と量子化演算を行う演算部の２つに分割する構成でも良い。
【０１７２】
なお、メモリ１０８〜１１１の２バンク構成は、物理的に異なる２つのメモリ・セルで構成する場合と、１つのデュアル・ポートのメモリ・セルで構成する場合のどちらでも構わない。
【０１７３】
制御部１１４が、データ処理装置１００に含まれる複数の演算部を制御しても良く、ホストＣＰＵ１３０が、データ処理装置１００に含まれる複数の演算部を制御しても良い。
【０１７４】
また、データ処理装置１００が半導体集積回路に搭載される場合には、この半導体集積回路の消費電力が削減できる。特に、ある瞬間での電力であるピーク電力が削減できる。
【０１７５】
（実施の形態３）
次に、実施の形態３について、図１３、図１４を用いて説明する。
【０１７６】
実施の形態３においては、複数の演算部の内、演算を行う演算部が少ない場合に、メモリを共用して消費電力を削減するデータ処理装置について説明する。
【０１７７】
図１３は、本発明の実施の形態３におけるデータ処理装置のブロック図である。図１４は、本発明の実施の形態３におけるデータ処理装置の動作を説明する説明図である。
【０１７８】
図１３において、メモリ１０８を第１メモリ、メモリ１１０を第２メモリとする。
【０１７９】
第１メモリ１０８は、前段と後段にそれぞれ演算部が接続されている。この接続されている、前段の演算部と後段の演算部を合わせて、第１演算部ペアという。図１３では、動き検出部１０２と、ＤＣＴ／量子化部１０３が第１演算部ペア１５０である。
【０１８０】
第２メモリ１１０は、前段にＤＣＡＣ予測部１０４が接続され、後段にＶＬＣ部１０５が接続されている。このＤＣＡＣ予測部１０４とＶＬＣ部１０５が、第２演算部ペア１５１である。
【０１８１】
ここで、アプリケーションの要求速度によっては、ある同一単位サイクル内において、第１演算部ペア１５０と第２演算部ペア１５１が排他的に動作する。すなわち、同一単位サイクル内で、第１演算部ペア１５０と第２演算部ペア１５１の一方が演算を行い、他方は、演算を行わない。
【０１８２】
このような場合には、第１演算部ペア１５０と第２演算部ペア１５１は、第１メモリ１０８と第２メモリ１１０のいずれかを共用できる。例えば、ＤＣＡＣ予測部１０４の出力は、第２メモリ１１０のみでなく、第１メモリ１０８にも出力され、第１メモリ１０８の出力は、ＤＣＴ／量子化部１０３のみでなく、ＶＬＣ部１０５にも出力されている。
【０１８３】
すなわち、第１メモリ１０８は、動き検出部１０２から出力されるデータを保持し、保持したデータをＤＣＴ／量子化部１０３へ出力する機能に加えて、ＤＣＡＣ予測部１０４からのデータ入力バスとＶＬＣ部１０５への出力バスを更に備える。また第１メモリ１０８はあ、ＤＣＡＣ予測部１０４から出力されるデータを保持し、保持したデータをＶＬＣ部１０５へ出力する。
【０１８４】
この場合には、第２メモリ１１０を使用せず、第１演算部ペア１５０と第２演算部ペア１５１は、第１メモリ１０８を共用する。第１演算部ペア１５０と第２演算部ペア１５１は、同一単位サイクル内では、排他的に動作する。このため、第１演算部ペア１５０が動作する単位サイクルにおいては、第１演算部ペア１５０が、第１メモリ１０８を使用し、第２演算部ペア１５１が動作する単位サイクルにおいては、第２演算部ペア１５１が、第１メモリ１０８を使用する。
【０１８５】
この結果、第２メモリ１１０は、未使用となるので、電力供給やクロック信号の供給を遮断できる。すなわち、第２メモリ１１０での消費電力が削減できる。
【０１８６】
次に、図１４、図１５を用いて、全体処理に許容される許容処理時間が、時間「４．２Ｓ」である場合について説明する。図１５は、本発明の実施の形態３におけるデータ処理装置のブロック図である。
【０１８７】
制御部１１４は、４単位サイクルおきに、入力データが動き検出部１０２に入力する。すなわち、単位サイクルＴにおいて、動き検出部１０２が、ｎ番目のマクロブロックを処理し、単位サイクルＴ＋４において、動き検出部１０２が、ｎ＋１番目のマクロブロックを処理する。すなわち、図１４に示されるように、同一単位サイクル内では、最大２つまでの演算部が演算を行い、残りの演算部は演算を行わない。
【０１８８】
単位サイクルＴにおいては、動き検出部１０２が、ｎ番目のマクロブロックを処理する。他の演算部は演算を行わない。図１４で斜線が施されたマトリクスに対応する演算部は演算を行わない。
【０１８９】
単位サイクルＴ＋１においては、ＤＣＴ／量子化部１０３が、ｎ番目のマクロブロックを処理し、他の演算部は演算を行わない。
【０１９０】
単位サイクルＴ＋２においては、ＤＣＡＣ予測部１０４と逆量子化／逆ＤＣＴ部１０６が、ｎ番目のマクロブロックを処理し、他の演算部は演算を行わない。
【０１９１】
単位サイクルＴ＋３においては、ＶＬＣ部１０５と動き補償／再構成部１０７が、ｎ番目のマクロブロックを処理し、他の演算部は演算を行わない。
【０１９２】
単位サイクルＴ＋４では、新たなｎ＋１番目のマクロブロックのデータが、動き検出部１０２に入力する。
【０１９３】
以上のように、ｎ番目のマクロブロックの処理は、４単位サイクルで終了する。このため、許容処理時間「４．２Ｓ」を満たしている。
【０１９４】
図１４に示されるように、斜線が施されているマトリクスに対応する演算部は、演算を行わない。
【０１９５】
この演算を行わない演算部に対して、制御部１１４は、電力供給を遮断したり、クロック信号の供給を停止したりする。結果として、演算不要な演算部における消費電力が削減される。制御部１１４は、演算不要な演算部に対するクロック信号の周波数を低減したり、閾値電圧を増加したりしてもよい。
【０１９６】
さらに、動き検出部１０２とＤＣＴ／量子化部１０３からなる第１演算部ペア１５０と、ＤＣＡＣ予測部１０４とＶＬＣ部１０５からなる第２演算部ペア１５１は、同一単位サイクル内では、排他的に動作する。このため、第１演算部ペア１５０と第２演算部ペア１５１は、第１メモリ１０８を共用できる。
【０１９７】
単位サイクルＴと単位サイクルＴ＋１では、図１４に示されるとおり、第１演算部ペア１５０に含まれる動き検出部１０２とＤＣＴ／量子化部１０３のみが演算を行っている。このため、単位サイクルＴと単位サイクルＴ＋１においては、第１演算部ペア１５０が、第１メモリ１０８を使用する。
【０１９８】
一方、単位サイクルＴ＋２と単位サイクルＴ＋３においては、図１４に示されるとおり、第２演算部ペア１５１に含まれるＤＣＡＣ予測部１０４とＶＬＣ部１０５が演算を行い、第１演算部ペア１５０は演算を行わない。このため、単位サイクルＴ＋２とＴ＋３においては、第２演算部ペア１５１が第１メモリ１０８を使用する。なお、いずれの単位サイクルにおいても、第２メモリ１１０は、使用されない。すなわち、全ての単位サイクルにおいて、第２メモリ１１０は使用されない。
【０１９９】
制御部１１４は、第２メモリ１１０に対して、電力供給を遮断したり、クロック信号の供給を停止したりする。あるいは、制御部１１４は、第２メモリ１１０に対するクロック信号の周波数を低減したり、閾値電圧を増加したりする。結果として、第２メモリ１１０での消費電力が削減される。特に、第２メモリ１１０は、全単位サイクルにおいて、使用されないので、消費電力削減の効果が大きい。
【０２００】
また、図１５に示されるように、斜線を施されたバンクにおいても、消費電力が削減できる。
【０２０１】
以上のように、メモリの共用がされることで、更なる消費電力の削減ができる。加えて、制御部が、アプリケーションが要求する許容処理時間に応じて、単位サイクル毎に演算を行う演算部を決定することで、許容処理時間を満足したデータ処理が実現される。
【０２０２】
なお、許容処理時間が更に長くなった場合には、共用されるメモリの個数が増加し、消費電力が更に削減できる。
【０２０３】
なお、第１メモリをメモリ１０８とした場合に、第１メモリ１０８を共有する場合について説明したが、メモリを共有するデータ処理装置１００の構成はこれに限定されない。データ処理装置１００を構成する演算部のパイプライン段数、接続形態に合わせて、共有するメモリを決定すればよい。
【０２０４】
また、データ処理装置１００が半導体集積回路に搭載される場合には、この半導体集積回路の消費電力が削減できる。
【０２０５】
なお、実施の形態２では、データ処理装置１００が、マクロブロック単位で処理する場合について説明したが、ブロック単位やスライス単位などで処理する場合であってもよい。また、データ処理装置１００に含まれる演算部は、図８で示されるものに限られない。
【０２０６】
また、データ処理装置１００が行う処理は、ＭＰＥＧ−４規格による画像処理以外であってもよい。ＭＰＥＧ２やＪＰＥＧなどの、他の規格による画像処理であっても、音声処理であってもよい。
【０２０７】
なお、パイプライン処理を実行する演算部の構成は、動き検出回路１０２〜動き補償/再構成回路１０７の構成に限定するものではない。例えば、動き検出部１０２を２単位サイクルに分割する構成や、ＤＣＴ/量子化処理部１０３をＤＣＴ演算を行う演算部と量子化演算を行う演算部の２つに分割する構成でも良い。
【０２０８】
メモリ１０８〜１１１の２バンク構成は、物理的に異なる２つのメモリ・セルで構成する場合と、１つのデュアル・ポートのメモリ・セルで構成する場合のどちらでも構わない。
【０２０９】
また、制御部１１４が、データ処理装置１００に含まれる複数の演算部を制御しても良く、ホストＣＰＵ１３０が、データ処理装置１００に含まれる複数の演算部を制御しても良い。
【０２１０】
（実施の形態４）
次に、実施の形態４について説明する。実施の形態４では、データ処理装置１００が、半導体集積回路に搭載された場合について説明する。
【０２１１】
図１６は、本発明の実施の形態３における半導体集積回路のブロック図である。半導体集積回路１６０は、ＩＣやＬＳＩで実現される。
【０２１２】
なお、半導体集積回路１６０は、図１６においては、単一のＬＳＩとして示されているが、複数のＬＳＩに実装されても良い。また、半導体集積回路１６０は、必要に応じてパッケージに封入され、電子基板に実装される。この電子基板は、必要に応じて筐体に格納される。更に半導体集積回路１６０の外部には、必要な電子部品や装置が接続されて、電子機器が構成される。例えば、ビデオカメラやノートブックパソコン、携帯端末などが構成される。
【０２１３】
半導体集積回路１６０は、実施の形態２、３で説明されたデータ処理装置１００をはじめ、ＣＰＵ１６１、外部入出力制御回路１６２、シリアル入出力制御回路１６３、ビデオ入出力制御回路１６４、オーディオ入出力制御回路１６５、メモリカード入出力制御回路１６６、メモリ制御回路１６７を備えている。
【０２１４】
ビデオ入出力制御回路１６４は、外部のカメラ１６８およびＬＣＤ１６９と接続される。オーディオ入出力制御回路１６５は、マイク１７０およびスピーカ１７１と接続される。メモリカード入出力制御回路１６６は、メモリカード１７２と接続される。メモリ制御回路１６７はＤＲＡＭ１７３と接続される。半導体集積回路１６０に含まれるこれらの制御回路は、外部に接続される装置を制御する。
【０２１５】
データ処理装置１００は、実施の形態２、３で説明された構成と機能を有している。
【０２１６】
すなわち、データ処理装置１００は、単位サイクル内に所定の演算を行う直列接続された複数の演算部と、これらの複数の演算部の間に接続された複数のメモリと、制御部を備えている。
【０２１７】
制御部は、これらの複数の演算部の内、単位サイクル内に演算を行う演算部を決定する。
【０２１８】
具体的には、制御部は、データ処理装置１００での許容処理時間や入力データの入力間隔などに応じて、複数の演算部の内、ある単位サイクル内に演算を行う演算部を決定する。このとき、共用されて未使用となるメモリが生じたり、メモリが複数のバンクを有している場合には、ある単位サイクルにおいて未使用となるバンクが生じる。
【０２１９】
制御部は、これらの演算不要な演算部、メモリ、バンクに対する電力供給を遮断したり、クロック信号の供給を遮断したりする。あるいは、制御部は、これら演算部やメモリなどに対するクロック信号の周波数を低減したり、これら演算部やメモリなどの閾値電圧を増加する。
【０２２０】
上記の制御部の制御により、不要な消費電力が削減される。特に、アプリケーションの違いに基づく許容処理時間を満足する処理も実現される。
【０２２１】
本発明の半導体集積回路によれば、アプリケーションの要求速度を満足すると共に、消費電力が削減できる。特に、ある瞬間での電力であるピーク電力が削減できる。
【産業上の利用可能性】
【０２２２】
本発明は、例えば画像処理や音声処理に関わるデータ処理を行う装置や機器の分野等において好適に利用できる。
【図面の簡単な説明】
【０２２３】
【図１】本発明の実施の形態１におけるデータ処理装置のブロック図
【図２】本発明の実施の形態１におけるデータ処理装置の動作を説明する説明図
【図３】本発明の実施の形態１におけるデータ処理装置の動作を説明する説明図
【図４】本発明の実施の形態１におけるデータ処理装置の動作を説明する説明図
【図５】本発明の実施の形態１におけるデータ処理装置のブロック図
【図６】本発明の実施の形態１におけるデータ処理装置の動作を説明する説明図
【図７】本発明の実施の形態１におけるデータ処理装置の動作を説明する説明図
【図８】本発明の実施の形態２におけるデータ処理装置のブロック図
【図９】本発明の実施の形態２におけるデータ処理装置の処理を説明する説明図
【図１０】本発明の実施の形態２におけるデータ処理装置の処理を説明する説明図
【図１１】本発明の実施の形態２におけるデータ処理装置のブロック図
【図１２】本発明の実施の形態２におけるデータ処理装置の処理を説明する説明図
【図１３】本発明の実施の形態３におけるデータ処理装置のブロック図
【図１４】本発明の実施の形態３におけるデータ処理装置の動作を説明する説明図
【図１５】本発明の実施の形態３におけるデータ処理装置のブロック図
【図１６】本発明の実施の形態３における半導体集積回路のブロック図
【図１７】従来の技術におけるデータ処理装置のブロック図
【符号の説明】
【０２２４】
１  データ処理装置
２、３、４、５  演算部
６、７、８  メモリ
９  制御部
１０、１２、１４  第１バンク
１１、１３、１５  第２バンク
１００  データ処理装置
１０１  入力メモリ
１０２  動き検出部
１０３  ＤＣＴ／量子化部
１０４  ＤＣＡＣ予測部
１０５  ＶＬＣ部
１０６  逆量子化／逆ＤＣＴ部
１０７  動き補償／再構成部
１０８、１０９、１１０、１１１  メモリ
１１２、１１３  出力メモリ
１３０  ホストＣＰＵ
１４０  外部メモリ
１６０  半導体集積回路
１６１  ＣＰＵ
１６２  外部入出力制御回路
１６３  シリアル入出力制御回路
１６４  ビデオ入出力制御回路
１６５  オーディオ入出力制御回路
１６６  メモリカード入出力制御回路
１６７  メモリ制御回路
１６８  カメラ
１６９  ＬＣＤ
１７０  マイク
１７１  スピーカ
１７２  メモリカード
１７３  ＤＲＡＭ
【図１】
2006236325.tif 000003
【図２】
2006236325.tif 000004
【図３】
2006236325.tif 000005
【図４】
2006236325.tif 000006
【図５】
2006236325.tif 000007
【図６】
2006236325.tif 000008
【図７】
2006236325.tif 000009
【図８】
2006236325.tif 000010
【図９】
2006236325.tif 000011
【図１０】
2006236325.tif 000012
【図１１】
2006236325.tif 000013
【図１２】
2006236325.tif 000014
【図１３】
2006236325.tif 000015
【図１４】
2006236325.tif 000016
【図１５】
2006236325.tif 000017
【図１６】
2006236325.tif 000018
【図１７】
2006236325.tif 000019