(57)【要約】【課題】複数系統のデータ処理部と記憶装置との間のデータ転送を行なうに当たり、記憶容量の削減と回路規模の削減を両立できるようにする。【解決手段】データ調停部１５２は、複数系統のデータ処理モジュール１１０と１つの外部メモリ５００との間のデータ転送を調停する。符号化部１７２は、データ処理モジュール１１０から転送されるデータを圧縮符号化して外部メモリ５００に供給する。復号化部１７６は、外部メモリ５００から読み出された圧縮符号化されたデータを伸長復号しデータ処理モジュール１１０に供給する。符号化部１７２と復号化部１７６は全系統に対して１組が設けられている。状態保持制御部１５４は、データ調停部１５２よるデータ転送系統の切替えに連動して、符号化部１７２や復号化部１７６の処理系統を時分割処理で切り替え、かつ、時分割処理のための処理中断時点のそれぞれの内部状態の情報を状態保持レジスタ１８２，１８６へ退避し復帰するように制御する。【選択図】図１
2009277178.tif 000002
【特許請求の範囲】
【請求項１】
複数系統のデータ処理部と１つの記憶装置との間のデータ転送を調停するデータ調停部と、
前記データ処理部から転送されるデータを圧縮符号化して前記記憶装置に供給する１つの符号化部、および、前記記憶装置から読み出された圧縮符号化されたデータを伸長復号化して前記データ処理部に供給する１つの復号化部、の内の少なくとも一方と、
前記データ調停部によるデータ系統または圧縮・伸長の切替えであるデータ転送系統の切替えに連動して、前記符号化部や前記復号化部の処理系統を時分割処理で切り替え、かつ、前記時分割処理のための前記符号化部や前記復号化部における処理中断時点の内部状態の情報を所定の記憶部へ退避しあるいは当該記憶部から復帰するように制御する退避復帰制御部と
を備えたデータ処理装置。
【請求項２】
前記退避復帰制御部は、前記データ調停部により前記データ転送系統が切り替えられたとき、前記符号化部や前記復号化部の処理を中断させ、当該処理中断時点のデータ転送系統に関する前記符号化部や前記復号化部における内部状態の情報を前記記憶部へ退避し、その代わりに、切替え後のデータ転送系統に関しての前回の処理中断時点の前記符号化部や前記復号化部における内部状態の情報を前記記憶部から読み出して前記符号化部や前記復号化部に復帰させて処理を再開させる
請求項１に記載のデータ処理装置。
【請求項３】
前記複数系統のデータ処理部に対応した圧縮符号化処理や伸長復号化処理の特性を規定する特性情報を系統別に記憶する特性情報記憶部を備え、
前記退避復帰制御部は、前記データ調停部によるデータ転送系統の切替えに応じた特性情報を前記特性情報記憶部から選択して前記符号化部や前記復号化部に適用させる
請求項１または２に記載のデータ処理装置。
【請求項４】
前記符号化部は辞書データを参照して圧縮符号化処理を実行するものであり、あるいは前記復号化部は辞書データを参照して伸長復号化処理を実行するものであり、
前記特性情報記憶部は、前記辞書データを前記データ転送系統の別に記憶するものである
請求項３に記載のデータ処理装置。
【請求項５】
前記符号化部や前記復号化部を介さずに、前記複数系統のデータ処理部と前記記憶装置との間でデータ転送を行なうスルーデータバスを有し、
前記データ調停部は、所定の条件に基づいて、前記符号化部や前記復号化部を介してデータ転送を行なうのか、前記スルーデータバスを介してデータ転送を行なうのかを制御する
請求項１〜３の内の何れか１項に記載のデータ処理装置。
【請求項６】
前記データ調停部は、
転送データ量が所定量以上のときには前記符号化部や前記復号化部を介してデータ転送を行なうように制御し、
転送データ量が前記所定量よりも少ないときには前記スルーデータバスを介してデータ転送を行なうように制御する
請求項５に記載のデータ処理装置。
【請求項７】
前記データ調停部は、
前記記憶装置の記憶残量が所定量未満のときには前記符号化部や前記復号化部を介してデータ転送を行なうように制御し、
前記記憶装置の記憶残量が前記所定量よりも多いときには前記スルーデータバスを介してデータ転送を行なうように制御する
請求項５に記載のデータ処理装置。
【請求項８】
複数系統のデータ処理部と１つの記憶装置との間のデータ転送を調停するデータ調停部と、
前記データ処理部から転送されるデータを圧縮符号化して前記記憶装置に供給する符号化部、もしくは前記記憶装置から読み出された圧縮符号化されたデータを伸長復号化して前記データ処理部に供給する復号化部と、
前記データ調停部によるデータ系統もしくは圧縮・伸長の切替えであるデータ転送系統の切替えに連動して、前記符号化部や前記復号化部の処理系統を時分割処理で切り替え、かつ、前記時分割処理のための前記符号化部や前記復号化部における処理中断時点の内部状態の情報を所定の記憶部へ退避し、あるいは当該記憶部から復帰するように制御する状態保持制御部と
を備え、
前記複数系統をグループ分けした各グループに、それぞれ１つの前記符号化部や前記復号化部が設けられている
データ処理装置。
【請求項９】
符号化や復号化の方式が同一であるか否かに基づいてグループ分けされている
請求項８に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数系統のデータを取り扱うデータ処理装置に関する。
【背景技術】
【０００２】
近年のＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）、マルチコアプロセッサ、動的再構成可能プロセッサなどのデータ処理用半導体集積回路において、複数系統のデータを取り扱うべく、複数のデータ処理モジュールを搭載し、それぞれが独立して並列動作する構成や、複数のプロセッサエレメントがそれぞれ異なるデータ処理アプリケーションを並列実行する仕組みが知られている。そのようなシステムとして、たとえば、特許文献１〜３などがある。
【０００３】
【特許文献１】特開２００１−０３４５８８号公報
【特許文献２】特開２００５−３０１６０７号公報
【特許文献３】特開平０８−２３７１３３号公報
【０００４】
特許文献１に記載の仕組みでは、複数の画像データ処理回路とＰＥ（プロセッシングエレメント）が、リアルタイムに画像処理を実行し、その入出力データはメモリコントローラの制御下で、外部のメインメモリに読み書きするようにしている。
【０００５】
特許文献２に記載の仕組みでは、複数のサブプロセッサがそれぞれのローカルメモリのデータを処理するようにしている。ローカルメモリのデータは、システムバス経由でメインメモリに転送される。メモリ間のデータ転送がシステム全体のボトルネックにならないように、各サブプロセッサに設けた複数の圧縮伸張器で転送データを圧縮符号化する。この仕組みでは、圧縮伸張器を備えているのでメインメモリの容量削減の効果がある。
【０００６】
特許文献３に記載の仕組みでは、複数の情報を圧縮符号化するために、複数の符号化装置を備えるようにしている。この仕組みでは、複数の符号化装置を備えるのでメインメモリの容量削減の効果がある。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、記憶装置と複数系統のデータ処理部との間のデータ転送を行なうに当たり、記憶容量を削減できるとともに、規模を削減できる仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００８】
請求項１に記載の発明は、複数系統のデータ処理部と１つの記憶装置との間のデータ転送を調停するデータ調停部と、前記データ処理部から転送されるデータを符号化して圧縮し前記記憶装置に供給する１つの符号化部、および、前記記憶装置から読み出された圧縮符号化されたデータを伸長して復号し前記データ処理部に供給する１つの復号化部、の内の少なくとも一方と、前記データ調停部によるデータ系統または圧縮・伸長の切替えであるデータ転送系統の切替えに連動して、前記符号化部や前記復号化部の処理系統を時分割処理で切り替え、かつ、前記時分割処理のための前記符号化部や前記復号化部における処理中断時点の内部状態の情報を所定の記憶部へ退避しあるいは当該記憶部から復帰するように制御する退避復帰制御部とを備えたデータ処理装置である。
【０００９】
請求項２に記載の発明は、請求項１に記載の発明においてさらに、前記退避復帰制御部は、前記データ調停部により前記データ転送系統が切り替えられたとき、前記符号化部や前記復号化部の処理を中断させ、当該処理中断時点のデータ転送系統に関する前記符号化部や前記復号化部における内部状態の情報を前記記憶部へ退避し、その代わりに、切替え後のデータ転送系統に関しての前回の処理中断時点の前記符号化部や前記復号化部における内部状態の情報を前記記憶部から読み出して前記符号化部や前記復号化部に復帰させて処理を再開させる。
【００１０】
請求項３に記載の発明は、請求項１または２に記載の発明においてさらに、前記複数系統のデータ処理部に対応した圧縮符号化処理や伸長復号化処理の特性を規定する特性情報を系統別に記憶する特性情報記憶部を備え、前記退避復帰制御部は、前記データ調停部によるデータ転送系統の切替えに応じた特性情報を前記特性情報記憶部から選択して前記符号化部や前記復号化部に適用させる。
【００１１】
請求項４に記載の発明は、請求項３に記載の発明においてさらに、前記符号化部は辞書データを参照して圧縮符号化処理を実行するものであり、あるいは前記復号化部は辞書データを参照して伸長復号化処理を実行するものであり、前記特性情報記憶部は、前記辞書データを前記データ転送系統の別に記憶するものである。
【００１２】
請求項５に記載の発明は、請求項１〜３の内の何れか１項に記載の発明においてさらに、前記符号化部や前記復号化部を介さずに、前記複数系統のデータ処理部と前記記憶装置との間でデータ転送を行なうスルーデータバスを有し、前記データ調停部は、所定の条件に基づいて、前記符号化部や前記復号化部を介してデータ転送を行なうのか、前記スルーデータバスを介してデータ転送を行なうのかを制御する。
【００１３】
請求項６に記載の発明は、請求項５に記載の発明においてさらに、前記データ調停部は、転送データ量が所定量よりも多いときには前記符号化部や前記復号化部を介してデータ転送を行なうように制御し、転送データ量が前記所定量よりも少ないときには前記スルーデータバスを介してデータ転送を行なうように制御する。
【００１４】
請求項７に記載の発明は、請求項５に記載の発明においてさらに、前記データ調停部は、前記記憶装置の記憶残量が所定量よりも少ないときには前記符号化部や前記復号化部を介してデータ転送を行なうように制御し、前記記憶装置の記憶残量が前記所定量よりも多いときには前記スルーデータバスを介してデータ転送を行なうように制御する。
【００１５】
請求項８に記載の発明は、複数系統のデータ処理部と１つの記憶装置との間のデータ転送を調停するデータ調停部と、前記データ処理部から転送されるデータを圧縮符号化して前記記憶装置に供給する符号化部、もしくは前記記憶装置から読み出された圧縮符号化されたデータを伸長復号化して前記データ処理部に供給する復号化部と、前記データ調停部によるデータ系統もしくは圧縮・伸長の切替えであるデータ転送系統の切替えに連動して、前記符号化部や前記復号化部の処理系統を時分割処理で切り替え、かつ、前記時分割処理のための前記符号化部や前記復号化部における処理中断時点の内部状態の情報を所定の記憶部へ退避し、あるいは当該記憶部から復帰するように制御する状態保持制御部とを備え、前記複数系統をグループ分けした各グループに、それぞれ１つの前記符号化部や前記復号化部が設けられているデータ処理装置である。
【００１６】
請求項９に記載の発明は、請求項８に記載の発明においてさらに、符号化や復号化の方式が同一であるか否かに基づいてグループ分けされている。
【発明の効果】
【００１７】
請求項１に記載の発明によれば、複数のデータ転送系統に対してそれぞれ１つの符号化部や復号化部を使用して、各系統のデータ転送を時分割で実行するので、請求項１に記載の発明を適用しない場合に比べて、記憶容量を削減できるとともに、符号化部や復号化部のハードウェア規模（回路規模）やソフトウェア規模を削減できる。記憶装置と複数系統のデータ処理部との間のデータ転送を行なうに当たり、記憶容量の削減と規模の削減を両立できる。
【００１８】
請求項２に記載の発明によれば、各系統のデータ転送を時分割で実行するに当たり、処理中断時点の符号化部や復号化部の内部状態を不都合なく退避させ復帰させることができる。この結果、圧縮符号化同士での時分割処理、伸長復号化同士での時分割処理、あるいは圧縮符号化と伸長復号化との間での時分割処理の何れにおいても、処理系統の切替えがスムーズになされるようになる。
【００１９】
請求項３に記載の発明によれば、符号化部や復号化部が同一の圧縮符号化処理方式や伸長復号化処理方式を採用している場合でも、処理系統の切替えに連動して、圧縮符号化処理や伸長復号化処理の特性を切り替えることができる。
【００２０】
請求項４に記載の発明によれば、符号化部や復号化部が辞書データを参照して処理を行なうものであるとき、処理系統の切替えに連動して、辞書データを切り替えることができる。
【００２１】
請求項５に記載の発明によれば、「条件」に合致する場合に、スルーデータバスを介してデータ転送を行なうことで、圧縮符号化や伸長復号化のための処理時間を割愛し全体の処理時間を短縮することができる。
【００２２】
請求項６に記載の発明によれば、転送データ量を基準として、スルーデータバスを介してデータ転送を行なうか否かを制御することができる。
【００２３】
請求項７に記載の発明によれば、記憶装置の記憶残量を基準として、スルーデータバスを介してデータ転送を行なうか否かを制御することができる。
【００２４】
請求項８に記載の発明によれば、複数のデータ転送系統をグループ分けし、各グループ内では、それぞれ１つの符号化部や復号化部を使用して、各系統のデータ転送を時分割で実行するので、請求項８に記載の発明を適用しない場合に比べて、記憶容量を削減できるとともに、符号化部や復号化部のハードウェア規模（回路規模）やソフトウェア規模を削減できる。記憶装置と複数系統のデータ処理部との間のデータ転送を行なうに当たり、記憶容量の削減と規模の削減を両立できる。
【００２５】
請求項９に記載の発明によれば、異なる圧縮伸張方式を採用する場合でも、グループ分けし得る範囲内であれば、各系統の処理内容により適した効率的な符号化や復号化の方式を適用できる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照して本発明の実施形態について詳細に説明する。
【００２７】
＜基本構成＞
図１および図１Ａは、本実施形態のデータ処理装置の基本構成を示す図である。図２および図２Ａは、当該基本構成に対する比較例のデータ処理装置の構成を示す図である。データ処理装置は、たとえば、印刷装置（プリンタ）や複写機（コピー機）や複合機などの画像形成装置に搭載される。
【００２８】
図１および図１Ａに示すように、本実施形態のデータ処理装置１は、メモリコントローラを内蔵し所定の画像処理を行なうデータ処理部１００と、データ処理部１００が使用するデータや処理済みデータを記憶する大容量の外部メモリ５００を備える。
【００２９】
データ処理部１００は、たとえば、ＡＳＩＣ、マルチコアプロセッサ、動的再構成可能プロセッサなどのデータ処理用の半導体集積回路であり、一例として、先ず、複数のデータ処理モジュール１１０（画像処理モジュールやプロセッサエレメントなど）を有し、各画像処理モジュールがそれぞれ独立して並列動作する、あるいは、各プロセッサエレメントがそれぞれ異なるデータ処理アプリケーションを並列実行するような仕組みを採用している。
【００３０】
ここで、これら複数（図では４つ）のデータ処理モジュール１１０が並列実行動作をしつつ処理データを１つの外部メモリ５００に読み書きするための仕組みとして、本実施形態では、データ処理部１００は、メモリコントローラ１９０を具備するとともに、１つのデータ処理モジュール１１０が外部メモリ５００への読み書きを占有して実行することでそれ以外のデータ処理モジュール１１０の処理が停滞し並列実行の効果が十分得られなくなることを回避する仕組みにする。
【００３１】
このため、各データ処理モジュール１１０とメモリコントローラ１９０（つまり外部メモリ５００）との間のデータ転送を細分化するデータ調停部１５２（メモリアクセスアービタ）および内部状態情報の退避や復帰を制御する退避復帰制御部の一例である状態保持制御部１５４の両機能を備えた制御部１５０を設け、データ調停部１５２は、複数のデータ処理モジュール１１０に順々にメモリへの読み書きを許可し、許可されたデータ転送が順々に実行される構成を採る。
【００３２】
なお、本構成例では、データ処理部１００は、各データ処理モジュール１１０とデータ調停部１５２との入出力間に、バッファメモリ１２０を有している。状態保持制御部１５４は、圧縮符号化側を制御する状態保持制御部１５４_Eと伸長復号化側を制御する状態保持制御部１５４_Dを有する。
【００３３】
外部メモリ５００は、各データ処理モジュール１１０の入出力データ（つまり各バッファメモリ１３０の入出力データ）に対応するように、その内部には、記憶回路の一例として、バッファメモリ１３０_1用の入力データ１を保持する記憶領域５１０_1、バッファメモリ１３０_2用の出力データ１を保持する記憶領域５１０_2、バッファメモリ１３０_3用の入力データ２を保持する記憶領域５１０_3、バッファメモリ１３０_4用の出力データ２を保持する記憶領域５１０_4、バッファメモリ１３０_5用の入力データ３を保持する記憶領域５１０_5、バッファメモリ１３０_6用の出力データ３を保持する記憶領域５１０_6、バッファメモリ１３０_7用の入力データ４を保持する記憶領域５１０_7、バッファメモリ１３０_8用の出力データ４を保持する記憶領域５１０_8を有する。
【００３４】
ここで、図２に示す第１比較例のように、複数のデータ処理モジュール１１０の入出力データを単純に１箇所の外部メモリ５００に纏めて記憶保持する構成を採ると、データ調停部１５２がメモリインタフェースモジュール１９２との協調処理により、複数のデータ処理モジュール１１０の入出力を調停し、１度に１つのデータ処理モジュール１１０の入力データまたは出力データが外部メモリ５００に対して読み書きされるように制御することになる。
【００３５】
ところが、この場合、外部メモリ５００の記憶容量は巨大なサイズが必要になる。たとえば、印刷機能や複写機能あるいはＦＡＸ機能などの複数機能を実行可能な画像形成装置の一例である複合機を想定した場合、当該装置が取り扱う画像データは、たとえば、Ａ４サイズ、解像度６００ｄｐｉ、Ｙ（イエロ），Ｍ（マゼンタ），Ｃ（シアン），Ｋ（ブラック）の４色成分では、１ページ分で１３５ＭＢｙｔｅになる。仮に４つのデータ処理モジュール１１０の入力データ、出力データ、合計８枚の画像を外部メモリ５００に記憶するものとすると、１３５ＭＢｙｔｅ×８＝約１ＧＢｙｔｅのメモリ容量が必要になる。
【００３６】
このような第１比較例に該当するものとしては、たとえば、特許文献１に記載の仕組みがあり、基本的には、データ処理（たとえば画像処理）の入出力データをそのままメインメモリに読み書きするので、巨大なメモリ容量が必要となる。
【００３７】
この対策として、本実施形態では、データ処理モジュール１１０にて画像データを取り扱う際のデータ容量削減の観点から、圧縮符号化によってデータ容量を削減する方法を採る。特許文献１との比較では、メインメモリに記憶するデータは、圧縮符号化によってメモリ容量を削減する。このため、先ず、データ処理モジュール１１０とメモリコントローラ１９０（つまり外部メモリ５００）の間に（具体的にはデータ調停部１５２とメモリコントローラ１９０との間に）、データを符号化・復号化する圧縮伸張部１７０を有している。圧縮伸張部１７０は、データを符号化して圧縮する符号化部１７２（いわゆるエンコーダ）および符号化されたデータを伸長して復号する復号化部１７６（いわゆるデコーダ）を有する。
【００３８】
ここで、一般的に知られている符号化・復号化の仕組みの場合、一連のデータ系列を符号化復号化することを想定して実装されるので、１枚の画像（一連のデータ）を最初から最後まで処理し、１枚（一連）の処理を終えてから次の画像（データ）を処理することを想定して作ることになる。よって、複数のデータ処理モジュール１１０と１箇所の外部メモリ５００で構成されたシステムに、符号化・復号化の仕組みを適用することを考えると、先ずは、入出力データのそれぞれの経路に符号化部１７２と復号化部１７６を設けることが必要になる。つまり、図２Ａに示す第２比較例のように、個々のデータ処理モジュール１１０の入出力部に、それぞれ符号化部１７２と復号化部１７６を設ける構成となってしまう。
【００３９】
因みに、図２Ａでは、各バッファメモリ１３０とデータ調停部１５２の間に符号化部１７２と復号化部１７６を設けた例で示しているが、これに限らず、たとえば各データ処理モジュール１１０と各バッファメモリ１３０との間に符号化部１７２と復号化部１７６を設けた構成も採り得る。このような第２比較例に該当するものとしては、たとえば、特許文献２，３に記載の仕組みがある。
【００４０】
しかしながら、第２比較例のような構成では、メモリ容量を削減するために、データ系列ごとに符号化部１７２と復号化部１７６を実装する必要が生じてしまうので、回路規模が大きくなってしまう。このため、たとえば、集積回路のチップサイズが大型化し、価格が上昇してしまう。
【００４１】
そこで、本実施形態では、複数のデータ処理モジュール１１０の入出力データを符号化・復号化して取り扱うに当たり、符号化・復号化のための回路規模を第２比較例の構成よりも削減し得る仕組みを採る。その仕組みは、１組の符号化部１７２と復号化部１７６が、外部メモリ５００に読み書きする複数系統の入出力データを時分割処理を利用して符号化や復号化を実行する仕組みを採用する。究極的には、１組の符号化部１７２と復号化部１７６が、外部メモリ５００に読み書きする全ての系統の入出力データを時分割で符号化や復号化を実行する構成となる。
【００４２】
ここで、時分割で符号化や復号化を実行する仕組みにするために、本実施形態では、各系統のデータを時分割で処理する際に符号化部１７２や復号化部１７６の内部状態を一時的に各別に保持する退避記憶部１８０を符号化部１７２と復号化部１７６のそれぞれに対して設ける。退避記憶部１８０は、符号化部１７２側の状態保持レジスタ１８２と復号化部１７６側の状態保持レジスタ１８６を有する。
【００４３】
制御部１５０は、データ調停部１５２により各データ処理モジュール１１０に対応する複数の系統（系列）のデータ転送を調停すると同時に、データ転送系統を切り替えるときに、つまりあるデータ系統の処理を中断し別のデータ系統の処理を再開するときに、状態保持制御部１５４により符号化部１７２や復号化部１７６の処理中断時の内部状態を退避記憶部１８０に保持・復帰する操作を制御する。たとえば、一方のデータ転送系統（処理中断時点で扱っていた系統：以下同様）の符号化部１７２や復号化部１７６の処理中断時の内部状態の情報を退避制御信号CN１に従って状態保持レジスタ１８２，１８６に退避する。また、他方のデータ転送系統（切替え後の系統：以下同様）の符号化部１７２や復号化部１７６の処理中断時の内部状態の情報を復帰制御信号CN２に従って状態保持レジスタ１８２，１８６から書き戻す。
【００４４】
なお、同一のデータ系統に関しては、データ系統が切り替るときに、処理中断時点の内部状態の情報を退避記憶部１８０に退避しておいて、その後再び、自データ系統の処理タイミングになったときには、退避記憶部１８０に退避しておいた前回の切替り時の処理中断時点の内部状態の情報を復帰させるので、退避→復帰→退避→…の順で処理されるのは言うまでもない。
【００４５】
一方、他のデータ系統（第１と第２のデータ系統で説明する）との関係では、第１のデータ系統についての符号化部１７２や復号化部１７６から内部状態の情報の退避記憶部１８０への退避と、第２のデータ系統についての退避記憶部１８０から符号化部１７２や復号化部１７６への内部状態の情報の復帰の何れを先に実行し何れを後に実行するかは、符号化部１７２や復号化部１７６と各状態保持レジスタ１８２，１８６の記憶回路の構成次第である。
【００４６】
つまり、制御部１５０は、データ調停部１５２がデータ系統（つまり複数のデータ処理モジュール１１０）を時分割で切り替えるとき、状態保持制御部１５４により、退避記憶部と符号化部１７２と復号化部１７６との間で、それまでに処理していた系統についての処理の内部状態の情報を状態保持レジスタ１８２，１８６に退避させて一時的に（具体的には次の担当サイクルまで）保持させておき、かつ、これから処理する系統に関しての内部状態の情報を一時的に退避させておいた状態保持レジスタ１８２，１８６から復帰させる。
【００４７】
たとえば、図１に示す第１構成例の場合、１組の符号化部１７２と復号化部１７６が、外部メモリ５００に読み書きする全ての系統の入出力データを時分割で符号化や復号化を実行する構成を採っている。各データ処理モジュール１１０の処理内容に関わらず、符号化や復号化の方式が同一の回路構成のものとする。「同一の回路構成」であればよく、各系統のデータ処理モジュール１１０に対応した圧縮符号化処理や伸長復号化処理の特性を規定する情報（符号化テーブルや復号化テーブルなどのパラメータなど）の相違があってもよい。
【００４８】
符号化部１７２や復号化部１７６や時分割処理対応のこれらを制御する制御部１５０（特に状態保持制御部１５４）の実装方法には特に制限がなく、システムの要求に応じてハードウェア、ソフトウェアどちらかによる実装を適宜選択してよい。ソフトウェアで実装する場合、パーソナルコンピュータなどの電子計算機の仕組みを利用する。ただし、実体面としては、回路規模の削減の面からハードウェア構成への適用が好ましい。
【００４９】
ここで、１組の符号化部１７２と復号化部１７６が、時分割で全系統のデータを時分割で符号化や復号化を実行するべく、各系統についての処理における内部状態の情報を一時的に各別に保持する退避記憶部の一例として、状態保持レジスタ１８２が符号化部１７２に対して、状態保持レジスタ１８６が復号化部１７６に対して設けられている。
【００５０】
ここで、圧縮符号化（エンコード）処理に着目したとき、符号化部１７２と状態保持レジスタ１８２との間では、各系統の入出力データを時分割で圧縮符号化するために、次のような対処を行なう。符号化部１７２と復号化部１７６は、担当するデータ系列（つまりデータが入出力されるデータ処理モジュール１１０）が切り替えられたとき、各データ処理モジュール１１０の処理内容に応じて、圧縮符号化処理や伸長復号化処理の特性を規定する特性情報（符号化テーブルや復号化テーブルなどのパラメータなど）の変更をする。
【００５１】
たとえば、データ調停部１５２の制御によって、外部メモリ５００にデータを書き込むデータ処理モジュール１１０がデータ処理モジュール１１０_1からデータ処理モジュール１１０_2に切り替えられたときには、状態保持制御部１５４により、符号化部１７２の内部状態をデータ処理モジュール１１０_1からの書き込みを中断した時点での内部状態として状態保持レジスタ１８２に退避し、代わりに、それ以前のデータ処理モジュール１１０_2からの書き込みを中断した時点での内部状態を状態保持レジスタ１８２から読み出して符号化部１７２に復帰させる。
【００５２】
また、伸長復号化（デコード）処理に着目したとき、復号化部１７６と状態保持レジスタ１８６との間では、各系統の入出力データを時分割で伸長復号化するために、次のような対処を行なう。たとえば、データ調停部１５２の制御によって、外部メモリ５００からデータを読み出すデータ処理モジュール１１０がデータ処理モジュール１１０_1からデータ処理モジュール１１０_2に切り替えられたときには、状態保持制御部１５４により、復号化部１７６の内部状態をデータ処理モジュール１１０_1による読み出しを中断した時点での内部状態として状態保持レジスタ１８６に退避し、代わりに、それ以前のデータ処理モジュール１１０_2による読み出しを中断した時点での内部状態を状態保持レジスタ１８６から読み出して復号化部１７６に復帰させる。
【００５３】
また、圧縮符号化（エンコード）処理から伸長復号化（デコード）処理への切替えに着目したとき、符号化部１７２と状態保持レジスタ１８２、および復号化部１７６と状態保持レジスタ１８６との間では、各系統の入出力データを時分割で圧縮符号化から伸長復号化に切り替えるために、次のような対処を行なう。たとえば、データ調停部１５２の制御によって、データ処理モジュール１１０_1が外部メモリ５００にデータを書き込む動作から、データ処理モジュール１１０_2が外部メモリ５００からデータを読み出す動作に切り替えられたときには、状態保持制御部１５４により、符号化部１７２の内部状態をデータ処理モジュール１１０_1からの書き込みを中断した時点での内部状態として状態保持レジスタ１８２に退避し、代わりに、それ以前のデータ処理モジュール１１０_2による読み出しを中断した時点での内部状態を状態保持レジスタ１８６から読み出して復号化部１７６に復帰させる。
【００５４】
また、伸長復号化（デコード）処理から圧縮符号化（エンコード）処理への切替えに着目したとき、符号化部１７２と状態保持レジスタ１８２、および復号化部１７６と状態保持レジスタ１８６との間では、各系統の入出力データを時分割で伸長復号化から圧縮符号化に切り替えるために、次のような対処を行なう。たとえば、データ調停部１５２の制御によって、データ処理モジュール１１０_1が外部メモリ５００からデータを読み出す動作からデータ処理モジュール１１０_2が外部メモリ５００にデータを書き込む動作に切り替えられたときには、状態保持制御部１５４により、復号化部１７６の内部状態をデータ処理モジュール１１０_1による読み出しを中断した時点での内部状態として状態保持レジスタ１８６に退避し、代わりに、それ以前のデータ処理モジュール１１０_2からの書き込みを中断した時点での内部状態を状態保持レジスタ１８２から読み出して符号化部１７２に復帰させる。
【００５５】
このように、第１構成例の場合、データ調停部１５２によって外部メモリ５００にアクセスするデータ処理モジュール１１０が切り替えられたときに、符号化部１７２と復号化部１７６の内部状態を、状態保持レジスタ１８２，１８６へ退避したり復帰したりすることによって、１つの符号化部１７２と１つの復号化部１７６を用いているにも関わらず、複数のデータ処理モジュール１１０の入出力データを時分割で圧縮伸張処理するようになる。書込み動作から書込み動作への切替え、読出し動作から読出し動作への切替え、書込み動作から読出し動作への切替え、あるいは読出し動作から書込み動作への切り替えの何れにおいても、データの状態保持レジスタ１８２，１８６への退避と復帰が適切に制御される。また、外部メモリ５００に保持するデータは全て符号化されたデータなので、メモリ容量は削減されたものとなる。第１構成例の場合、符号化部１７２と復号化部１７６の数はそれぞれ１つであり、データ処理モジュール１１０の数よりも少ないことは明白であり、第２比較例に比べると、回路規模が削減される。
【００５６】
一方、図１Ａに示す第２構成例の場合、複数のデータ処理モジュール１１０を複数のグループに分け（図ではＡ組とＢ組の２組）、各組に対して符号化部１７２Ａ、１７２Ｂ、復号化部１７６Ａ，１７６Ｂ、状態保持レジスタ１８２Ａ，１８２Ｂ，１８６Ａ，１８６Ｂを設け、外部メモリ５００に読み書きする各系統の入出力データを各符号化部１７２Ａ，１７２Ｂ、復号化部１７６Ａ，１７６Ｂが時分割で符号化や復号化を実行する構成を採っている。
【００５７】
符号化や復号化の方式は各データ処理モジュール１１０の処理内容に沿って適正なものが選択されるのであるが、符号化や復号化の方式が同一の回路構成のもので対処可能な否か（つまり符号化や復号化の方式が同一であるか否か）で、グループ分けを行なう。「同一の回路構成」（同一の符号化や復号化の方式）であればよく、各系統のデータ処理モジュール１１０に対応した圧縮符号化処理や伸長復号化処理の特性を規定する特性情報の相違があってもよい。各グループ内では、符号化部１７２Ａと復号化部１７６Ａあるいは符号化部１７２Ｂと復号化部１７６Ｂは、担当するデータ系列（つまりデータが入出力されるデータ処理モジュール１１０）が切り替えられたとき、各データ処理モジュール１１０の処理内容に応じて圧縮符号化処理や伸長復号化処理の特性を規定する特性情報の変更をする。
【００５８】
各グループ内では、第１構成例と同様の構成・動作となる。たとえば、Ａ組の符号化部１７２Ａと復号化部１７６Ａ、あるいは、Ｂ組の符号化部１７２Ｂと復号化部１７６Ｂが、それぞれ時分割で自組が担当する系統のデータを時分割で符号化や復号化を実行するべく、各系統についての処理における内部状態の情報を一時的に各別に保持する退避記憶部の一例として、Ａ組については、状態保持レジスタ１８２Ａが符号化部１７２Ａに対して、状態保持レジスタ１８６Ａが復号化部１７６Ａに対して設けられているし、Ｂ組については、状態保持レジスタ１８２Ｂが符号化部１７２Ｂに対して、状態保持レジスタ１８６Ｂが復号化部１７６Ｂに対して設けられている。
【００５９】
各組の符号化部１７２と復号化部１７６の作用については第１構成例と同様であり、書込み動作から書込み動作への切替え、読出し動作から読出し動作への切替え、書込み動作から読出し動作への切替え、あるいは読出し動作から書込み動作への切り替えの何れにおいても、内部状態の情報の状態保持レジスタ１８２Ａ，１８２Ｂ，１８６Ａ，１８６Ｂへの退避と復帰が適切に制御される。つまり、データ調停部１５２によって外部メモリ５００にアクセスするデータ処理モジュール１１０が切り替えられたときに、符号化部１７２Ａ，１７２Ｂと復号化部１７６Ａ，１７６Ｂの内部状態を、状態保持レジスタ１８２Ａ，１８２Ｂ，１８６Ａ，１８６Ｂへ退避したり復帰したりすることによって、１つの符号化部１７２Ａと１つの復号化部１７６Ａもしくは１つの符号化部１７２Ｂと１つの復号化部１７６Ｂを用いているにも関わらず、複数のデータ処理モジュール１１０の入出力データを時分割で圧縮伸張処理するようになる。第２構成例の場合、符号化部１７２と復号化部１７６の数が複数となるが、その数は、データ処理モジュール１１０の数よりも少ないので、第１構成例ほどではないが、第２比較例に比べると、回路規模が削減される。
【００６０】
つまり、本実施形態の仕組みは、複数のデータ処理モジュール１１０（画像処理モジュールやプロセッサエレメント）を搭載したデータ処理部１００（半導体集積回路）で、データ処理モジュール１１０の入力データや出力データを１箇所の大容量外部メモリ（外部メモリ５００）に記憶する構成において、各データ処理モジュール１１０と外部メモリ５００との間の転送データの読み書きをデータ調停部１５２で切り替えるが、データ系統数（入出力で１組とする）つまりデータ処理モジュール１１０の数よりも少ない組数の符号化部１７２および復号化部１７６を使用し、データ調停部１５２によるデータ転送系統の切替え（データ系統の切替えと圧縮・伸長の切替えの双方を含む）に連動して、状態保持制御部１５４により符号化部１７２や復号化部１７６の処理中断時点の内部状態の情報の状態保持レジスタ１８２，１８６への退避と復帰を制御しつつデータ転送系統を時分割処理で切り替え、外部メモリ５００に読み書きするデータを符号化・復号化するのである。
【００６１】
ここで、第１構成例と第２構成例を比較した場合、前述のことから理解されるように、符号化部１７２と復号化部１７６の削減度合いは第１構成例の方が高い。一方、第１構成例の場合は、各データ処理モジュール１１０の処理内容に関わらず、符号化や復号化の方式が同一の回路構成のものである必要があるが、第２構成例の場合は、符号化や復号化の方式が同一の回路構成のものでグループ分けすればよく、各データ転送系統で異なる圧縮伸張方式を採用する場合でもグループ分けし得る範囲内であれば、各データ処理モジュール１１０の処理内容により適した効率的な符号化や復号化の方式が適用される。
【００６２】
特許文献２，３に記載の仕組みでは、複数の圧縮伸張器や符号化装置を実装しており、チップサイズが大型化するが、本実施形態の仕組みでは、データ系統数よりも少ない数（究極は１組）の符号化部１７２、復号化部１７６を用いることによって、チップサイズの大型化を避けながら、メインメモリの容量を削減する。規模削減のため、より少ない数の符号化部１７２、復号化部１７６を使用しつつ、複数系統のデータを時分割処理で圧縮符号化や伸長復号化を行なうのである。
【００６３】
＜回路規模削減度合いの試算＞
図３は、本実施形態の仕組みを採った場合における、比較例に対する回路規模の削減度合いやそれによるコストの削減度合いを説明する図表である。
【００６４】
試算のため、図３（１）に示すように仮定する。たとえば、画像処理用ＤＳＰ（Digital Signal Processor）の価格（符号化器および復号化器なし）を５０００円、符号化器および復号化器を搭載した場合の１系統当たりの価格上昇分を５００円、メモリコスト（１ＧＢｙｔｅ）を５０００円、圧縮率を５０％とする。因みに、符号化器は符号化部１７２に対応し、復号化器は復号化部１７６に対応する。
【００６５】
ここで、圧縮伸張なしの図２に示した第１比較例の場合は、図３（２）に示すように、画像処理用ＤＳＰの価格は５０００円、メモリコストは、２ＧＢｙｔｅ（Ａ３、６００ｄｐｉ、４色、８面分）で１００００円となり、合計では１５０００円となる。
【００６６】
各系統のそれぞれに符号化部１７２と復号化部１７６を個別に搭載する図２Ａに示した第２比較例の場合は、画像処理用ＤＳＰの価格は、画像処理用ＤＳＰ＋符号化器＋復号化器で５０００円＋５００円×８系統分で９０００円、メモリコストは１ＧＢｙｔｅ（Ａ３、６００ｄｐｉ、４色、８面分、５０％圧縮）で５０００円となり、合計では１４０００円となる。処理系統数が増えると「符号化器＋復号化器」のコスト上昇分が大きくなる。
【００６７】
一方、データ系統数に関わらず、１組の符号化部１７２と復号化部１７６を搭載した図１に示す本実施形態の仕組み（第１構成例）では、画像処理用ＤＳＰの価格は、画像処理用ＤＳＰ＋符号化器＋復号化器で５０００円＋５００円×２（１組分）で６０００円、メモリコストは１ＧＢｙｔｅ（Ａ３、６００ｄｐｉ、４色、８面分、５０％圧縮）で５０００円となり、合計では１１０００円となる。データ系統数が増えても「符号化器＋復号化器」のコスト上昇分は同じである。
【００６８】
本実施形態（第１構成例）の仕組みを適用することで、外部メモリ５００に格納するデータに対して圧縮符号化することによって、メモリ容量が削減される。さらに、データ処理モジュール１１０に複数の処理系統を備えていても、符号化部１７２と復号化部１７６が各１台だけで済み、処理系統数に関わらず「符号化器＋復号化器」の分の回路規模・コストは一定であり、処理系統数（つまりデータ処理モジュール１１０の数）が増えるほど、第２比較例に対する回路規模・コストの削減度合いが高くなる。
【００６９】
前記の試算では、符号化部１７２や復号化部１７６の実装方法として、ハードウェアによる実装を適用した場合で説明したが、ソフトウェアによる実装を適用した場合には、ソフトウェアの側面から規模やコストが試算される。この場合においても、ハードウェアとソフトウェアの相違があるだけで、規模やコストの対比においては、ハードウェアの場合と同様に、比較例よりも本実施形態の方が削減される。
【００７０】
次に、具体的な事例に基づき、本実施形態のデータ処理装置の仕組みを説明する。
【００７１】
＜構成：第１実施形態＞
図４は、第１実施形態のデータ処理装置１を示す図である。状態保持レジスタ１８２，１８６はそれぞれデータ系統数に応じた数の記憶部（記憶回路）を有し、本例では、符号化部１７２から出力された内部状態の情報を系統別に保持する記憶部の一例であるレジスタ１８３あるいは復号化部１７６から出力された内部状態の情報を系統別に保持する記憶部の一例であるレジスタ１８７と、系統（つまり各レジスタ１８３，１８７の出力）を切り替える選択部（選択回路）の一例であるセレクタ１８４，１８８を有する。
【００７２】
退避制御信号CN１_Eは、各レジスタ１８３_1，１８３_3，１８３_5，１８３_7に符号化部１７２の内部状態の情報を保持させるためのもので、それぞれ用に各別の信号が用いられる。退避制御信号CN１_Dは、各レジスタ１８３_2，１８３_4，１８３_6，１８３_8に復号化部１７６の内部状態の情報を保持させるためのもので、それぞれ用に各別の信号が用いられる。セレクタ１８４には状態保持制御部１５４_Eからセレクト信号CN９_Eが入力され、セレクタ１８８には状態保持制御部１５４_Dからセレクト信号CN９_Dが入力される。
【００７３】
状態保持レジスタ１８２においては、退避制御信号CN１_Eに基づき、レジスタ１８３_1はバッファメモリ１３０_1からの系統に関しての内部状態の情報を保持し、レジスタ１８３_3はバッファメモリ１３０_3からの系統に関しての内部状態の情報を保持し、レジスタ１８３_5はバッファメモリ１３０_5からの系統に関しての内部状態の情報を保持し、レジスタ１８３_7はバッファメモリ１３０_7からの系統のデータを保持する。セレクタ１８４は、復帰制御信号CN２_Eに基づき、各レジスタ１８３_1，１８３_3，１８３_5，１８３_7の何れかの出力を選択して符号化部１７２に戻す。
【００７４】
状態保持レジスタ１８６においては、退避制御信号CN１_Dに基づき、レジスタ１８７_2はバッファメモリ１３０_2への系統に関しての内部状態の情報を保持し、レジスタ１８７_4はバッファメモリ１３０_4への系統に関しての内部状態の情報を保持し、レジスタ１８７_6はバッファメモリ１３０_6への系統に関しての内部状態の情報を保持し、レジスタ１８７_8はバッファメモリ１３０_8への系統のデータを保持する。セレクタ１８８は、復帰制御信号CN２_Dに基づき、各レジスタ１８３_2，１８３_4，１８３_6，１８３_8の何れかの出力を選択して復号化部１７６に戻す。
【００７５】
本実施形態のデータ調停部１５２は、データ系統を切り替えるときに、符号化部１７２や復号化部１７６の内部状態の情報を、退避制御信号CN１に従って状態保持レジスタ１８２，１８６に退避し、また復帰制御信号CN２に従って状態保持レジスタ１８２，１８６から書き戻すことで、符号化部１７２や復号化部１７６の内部状態を保持・復帰する操作を制御する。
【００７６】
たとえば、バッファメモリ１３０_1のデータＤ１３０_1を外部メモリ５００側に転送した後で、データＤ１３０_1の処理に関する符号化部１７２の内部状態の情報を状態保持レジスタ１８２のレジスタ１８３_1に退避しておいて、別のバッファメモリ１３０（たとえばバッファメモリ１３０_3）のデータＤ１３０_3を転送処理し、再びバッファメモリ１３０_1のデータＤ１３０_1を転送するタイミングになったときには、レジスタ１８３_1に退避しておいたデータＤ１３０_1の処理に関する内部状態の情報を符号化部１７２に書き戻して継続して処理する。
【００７７】
ここで、状態保持レジスタに保持する内部状態の情報について、例をあげて説明する。一般的に用いられている符号化方式である可変長符号を例としてとりあげる。この方式の符号化部は、入力された情報に対して可変長のビット列を割り当てて、このビット列を連結し、あるビット長になったときに符号データとして出力する。ここで、あるビット長とは、バスのビット数や、メモリのビット数で決まる長さで、３２や６４などの値が一般的に用いられる。ある長さに達するまでは、途中まで連結したビット列と、ビット列がどのくらいの長さになったかを示すビット長の情報を、符号化部の内部で管理しながら符号化を進める。符号化するデータ系統を切り替えて、他のデータ系統の符号化を実行する場合は、前記の連結中のビット列と、ビット長の情報を内部状態の情報として保持する。復号化部では、符号データからビット列を切り出して元の情報に復号する。そのため、復号途中の符号データと、その符号データの何ビット目まで復号が進んだかを示すビット位置情報の２つの情報を内部状態の情報として退避、復帰の操作を実施する。
【００７８】
＜処理手順：第１実施形態＞
図５は、第１実施形態のデータ処理装置１の処理手順を説明するフローチャートである。ここで、図５は、時分割処理において、所定系統のデータにおける処理中断時点の内部状態の情報の退避と復帰に着目して示したものである。
【００７９】
処理を開始するときには、先ず、データ処理部１００の全体を初期化する（Ｓ１００）。バッファメモリ１３０（複数も可）からリクエストが発生すると（Ｓ１１０−ＹＥＳ）、データ調停部１５２は、どのバッファメモリ１３０からのリクエストを受け付けるかを決定する（Ｓ１２０）。
【００８０】
たとえば、バッファメモリ１３０から外部メモリ５００へデータを転送する場合であれば、圧縮符号化が必要になるので、符号化部１７２が動作する。このとき、所定系統（第１の系統とする）についての処理がそれ以前になされていて、処理中断時点の内部状態の情報を状態保持レジスタ１８２のレジスタ１８３に退避してあるときには（Ｓ１３０−ＹＥＳ）、データ調停部１５２は、復帰制御信号CN２により、第１の系統に関しての処理中断時点の内部状態の情報を、状態保持レジスタ１８２の対応するレジスタ１８３から符号化部１７２に復帰させる（Ｓ１３２）。第１の系統についての処理がそれ以前になされていなければこの復帰処理はパスする（Ｓ１３０−ＮＯ）。
【００８１】
次に、データ調停部１５２は、第１の系統のバッファメモリ１３０からデータを読み出して符号化部１７２に入力し、符号化部１７２の出力を外部メモリ５００に書き込む（Ｓ１３４）。
【００８２】
この書込みが終わると、つまり、時分割処理における前記所定系統とは別（第２の系統とする）の系統の書込み処理サイクルになると、データ調停部１５２は、第１の系統の処理を中断するするとともに、符号化部１７２の第１の系統についての処理中断時点の内部状態の情報を状態保持レジスタ１８２の対応するレジスタ１８３に退避させる（Ｓ１３６）。
【００８３】
外部メモリ５００への書込み動作から外部メモリ５００への書込み動作への切替えの場合は、つまり、各データ処理モジュール１１０から外部メモリ５００への書込み動作が繰り返される場合は、このような動作を、データ系統を切替えながら（つまり時分割で）実行することで、各系統のデータに対して圧縮符号化処理を実行して外部メモリ５００の対応する記憶領域５１０に圧縮符号化済みのデータを記憶する。
【００８４】
また、外部メモリ５００からバッファメモリ１３０へデータを転送する場合であれば、伸長復号化が必要になるので、復号化部１７６が動作する。このとき、所定系統（第１の系統とする）についての処理がそれ以前になされていて、処理中断時点の内部状態の情報を状態保持レジスタ１８６のレジスタ１８７に退避してあるときには（Ｓ１４０−ＹＥＳ）、データ調停部１５２は、復帰制御信号CN２により、第１の系統に関しての処理中断時点の内部状態の情報を、状態保持レジスタ１８６の対応するレジスタ１８７から復号化部１７６に復帰させる（Ｓ１４２）。第１の系統についての処理がそれ以前になされていなければこの復帰処理はパスする（Ｓ１４０−ＮＯ）。
【００８５】
次に、データ調停部１５２は、外部メモリ５００からデータを読み出して復号化部１７６に入力し、復号化部１７６の出力を第１の系統のバッファメモリ１３０に書き込む（Ｓ１４４）。
【００８６】
この書込みが終わると、つまり時分割処理における前記所定系統とは別（第２の系統とする）の系統の読出し処理サイクルになると、データ調停部１５２は、第１の系統の処理を中断するするとともに、復号化部１７６の第１の系統についての内部状態の情報を状態保持レジスタ１８６の対応するレジスタ１８７に退避させる（Ｓ１４６）。
【００８７】
外部メモリ５００からデータ処理モジュール１１０への読出し動作から外部メモリ５００からデータ処理モジュール１１０への読出し動作への切替えの場合は、つまり、外部メモリ５００から各データ処理モジュール１１０への読出し動作が繰り返される場合は、このような動作を、データ系統を切替えながら（つまり時分割で）実行することで、各系統のデータに対して伸長復号化処理を実行して対応するバッファメモリ１３０に伸長復号化済みのデータを記憶する。
【００８８】
外部メモリ５００への書込み動作から外部メモリ５００からデータ処理モジュール１１０への読出し動作への切替えの場合や外部メモリ５００からデータ処理モジュール１１０への読出し動作から外部メモリ５００への書込み動作への切替えの場合の場合は、ステップＳ１３０〜Ｓ１３６の系統の処理とステップＳ１４０〜Ｓ１４６の系統の処理が、適宜選択されて処理されることになる。
【００８９】
＜２者の関係での退避と復帰＞
図５Ａは、時分割処理において、他のデータ系統（第１と第２のデータ系統で説明する）との関係における、処理中断時点の符号化部１７２や復号化部１７６の内部状態の情報の退避と復帰の手法を説明する図である。
【００９０】
２者との関係では、データ系統が一方の系統から他方の系統に切り替わるとき、一方の系統については今回の処理中断時点の内部状態の情報を退避記憶部１８０に退避させるが、他方の系統については前回の処理中断時点の内部状態の情報を退避記憶部１８０から復帰させる。このとき、考え方としては、基本的には、次の２つの手法が考えられる。
【００９１】
図５Ａ（１）に示す第１の処理手法（退避→復帰）では、データ系統が一方の系統から他方の系統に切り替わるとき（Ｓ２１０）、一方の系統についての外部メモリ５００へのアクセス処理（外部メモリ５００への圧縮済みデータの書込み処理、外部メモリ５００から圧縮済みデータの読出し処理）を中断した時点での圧縮伸張部１７０（符号化部１７２や復号化部１７６）の内部状態の情報を退避記憶部１８０に退避し（Ｓ２１２）、その後に、前回の処理サイクルにおいて、他方の系統についての外部メモリ５００へのアクセス処理（外部メモリ５００への圧縮済みデータの書込み処理、外部メモリ５００から圧縮済みデータの読出し処理）を中断した時点での圧縮伸張部１７０（符号化部１７２や復号化部１７６）の内部状態の情報を退避記憶部１８０から復帰させる（Ｓ２１４）。
【００９２】
この場合、回路構成としては、一方の系統についての内部状態の情報を退避記憶部１８０の一方の系統用のレジスタ１８３，１８７に退避したときに、他方の系統についての内部状態の情報は、退避記憶部１８０の他方の系統用のレジスタ１８３，１８７に格納されているので、他方の系統についての処理中断時点の圧縮伸張部１７０の内部状態の情報が消失してしまうことはなく、図４に示した構成のままで不都合は起きない。
【００９３】
図５Ａ（２）に示す第２の処理手法（復帰→退避）では、データ系統が一方の系統から他方の系統に切り替わるとき（Ｓ２２０）、前回の処理サイクルにおいて、他方の系統についての外部メモリ５００へのアクセス処理（外部メモリ５００への圧縮済みデータの書込み処理、外部メモリ５００から圧縮済みデータの読出し処理）を中断した時点での圧縮伸張部１７０（符号化部１７２や復号化部１７６）の内部状態の情報を退避記憶部１８０から復帰させ（Ｓ２２２）、その後に、一方の系統についての外部メモリ５００へのアクセス処理（外部メモリ５００への圧縮済みデータの書込み処理、外部メモリ５００から圧縮済みデータの読出し処理）を中断した時点での圧縮伸張部１７０（符号化部１７２や復号化部１７６）の内部状態の情報を退避記憶部１８０に退避する（Ｓ２２４）。
【００９４】
この場合、圧縮伸張部１７０側に復帰させる情報を保持する回路（ラッチ回路）が１つしか存在しないと、他方の系統についての内部状態の情報をそのラッチ回路に復帰させたときには、一方の系統についての処理中断時点の圧縮伸張部１７０の内部状態の情報が消失してしまう。この問題を避けるためには、圧縮伸張部１７０側にはラッチ回路を２段設け、他方の系統についての内部状態の情報を１段目のラッチ回路に復帰させ、その後に、２段目のラッチ回路に保持されている一方の系統についての内部状態の情報を退避記憶部１８０に退避させるようにすればよい。
【００９５】
前記の説明から理解されるように、第１の処理手法の方が第２の処理手法に比べると、回路規模が小さくて済む。
【００９６】
＜第２実施形態＞
図６および図６Ａは、第２実施形態のデータ処理装置の仕組みを説明する図である。ここで、図６は、圧縮・伸張方式の相違を説明する図である。図６Ａは、辞書式圧縮・伸長における辞書データの取扱いを説明する図である。圧縮符号化やそれに対応する伸張復号化の方式としては様々なものがあるが、図６ではＪＰＥＧ方式、ＬＨＡ方式、およびＺＩＰ方式の例を示す。
【００９７】
たとえば、図６に示すように、ＪＰＥＧ方式は、コサイン変換と可変長符号のアルゴリズムを使用するが、コサイン変換部分は処理履歴の情報が不要であり、可変長符号部分は処理履歴の情報が必要である。なお、可変長符号における内部状態の情報の退避、復帰については、第１実施形態において記述した通りである。
【００９８】
一方、ＬＨＡ方式やＺＩＰ方式は、辞書式圧縮と可変長符号のアルゴリズムを使用するが、辞書式圧縮部分と可変長符号部分はともに処理履歴の情報が必要である。
【００９９】
図６Ａには、辞書式圧縮・伸長における辞書データの取扱いが示されている。ここで、図６Ａ（１）は比較例を示し、図６Ａ（２）は第２実施形態を示す。
【０１００】
辞書式圧縮・伸長では、図６Ａ（１）に示す比較例のように、辞書データ２０２を保持する小規模な辞書メモリ２００をローカルメモリとして設けて、符号化部１７２や復号化部１７６がこの辞書メモリ２００からデータを読み書きすることによって、辞書データの更新と辞書検索を繰り返しながら処理を進める。したがって、このような方式を図２Ａに示した第２比較例の構成に適用して複数のバッファメモリ１３０のデータ転送を扱う場合は、各系統の符号化部１７２や復号化部１７６のそれぞれに辞書メモリ２００を用意することになる。
【０１０１】
これに対して、本実施形態では、図１や図１Ａに示したように、複数のバッファメモリ１３０のデータ転送を扱う場合でも、時分割処理で対処することにより、符号化部１７２や復号化部１７６の数を処理系統数よりも削減している。よって、担当するデータ系列（つまりデータが入出力されるデータ処理モジュール１１０）が切り替えられたとき、各データ処理モジュール１１０の系統に応じて辞書データを変更する。
【０１０２】
この対応のため、第２実施形態では、辞書メモリ２００（図１Ａではグループごとに）の容量を増やし、辞書メモリ２００に複数の辞書データ２０２（符号化部１７２用に２０２_1，２０２_3，２０２_5，２０２_7の４つ）を保持することにする。本実施形態の辞書メモリ２００は、複数系統のデータ処理モジュール１１０に対応した圧縮符号化処理や伸長復号化処理の特性を規定する特性情報を系統別に記憶する特性情報記憶部の一例である。
【０１０３】
そして、データ調停部１５２によるデータ転送系統の切替えに連動して、辞書選択信号CN３によって、データ調停部１５２によるデータ転送系統の切替えに応じた辞書データ２０２を辞書メモリ２００から選択して符号化部１７２や復号化部１７６に適用させる。つまり、辞書選択信号CN３によって使用する辞書データ２０２を選択する方式を採る。ここで、図６Ａ（２）に示す本実施形態の実装に当たって、その最も簡単な例としては、辞書選択信号CN３を辞書メモリ２００のアドレス線の一部に接続する方法を採ることが考えられる。
【０１０４】
因みに、図６Ａ（２）では、図１の符号化部１７２に対応する構成例で示しているが、図１の復号化部１７６用とする場合、辞書メモリ２００には、辞書データ２０２_2，２０２_4，２０２_6，２０２_8の４つを設ける。
【０１０５】
＜第３実施形態＞
図７〜図７Ｂは、第３実施形態のデータ処理装置を説明する図である。ここで、図７は、第３実施形態のデータ処理装置１の第１構成例（基本構成の第１構成例に対する変形例）を示す図である。図７Ａは、第３実施形態のデータ処理装置１の第２構成例（基本構成の第２構成例に対する変形例）を示す図である。図７Ｂは、第３実施形態のデータ処理装置１における動作例を説明するフローチャートである。
【０１０６】
第３実施形態は、条件によって、圧縮符号化や伸長復号化を実施する場合と実施しない場合を使い分ける点に特徴を有する。このように、圧縮符号化や伸長復号化を実施する場合と実施しない場合を使い分けるために、図７や図７Ａに示すように、第３実施形態のデータ処理装置１は、制御部１５０（データ調停部１５２）とメモリコントローラ１９０（外部メモリ５００）との間に、圧縮伸張部１７０（符号化部１７２や復号化部１７６）を介さないスルーデータバス４００を有する。符号化部１７２や復号化部１７６を経由する圧縮符号化や伸長復号化を実施するデータパスにするか、圧縮符号化や伸長復号化を実施しないスルーデータバス４００にするかは、データ調停部１５２とメモリコントローラ１９０との協調動作により制御される。
【０１０７】
「条件」としては、たとえば、複数系統の各データ処理モジュール１１０が処理するデータ量（つまり転送データ量）を基準とすることが考えられる。たとえば、ファイルサイズの大きな元画像そのものを扱う系統と、元画像を縮小したファイルサイズの小さないわゆるサムネイル（thumbnail ）画像を扱う系統とが存在し、これらの各系統の各画像データを時分割で転送する場合、元画像を転送する処理サイクルでは圧縮符号化や伸長復号化を実施してデータ量を削減するが、サムネイル画像を転送する処理サイクルでは圧縮符号化や伸長復号化を実施しないことで圧縮符号化や伸長復号化のための処理時間を割愛し全体の処理時間を短縮する。
【０１０８】
この場合、図７Ｂ（１）に示す第１動作例のように、制御部１５０は、各データ処理モジュール１１０の取り扱うデータ量（つまり転送データ量Ｖ）を判定し（Ｓ３１０）、転送データ量Ｖが所定容量Ｖth以上のときには符号化部１７２や復号化部１７６を介したデータパスでデータ転送がなされるように（Ｓ３１０−ＹＥＳ，Ｓ３１２）、また、所定容量Ｖthよりも少ないときには符号化部１７２や復号化部１７６を介さないスルーデータバス４００でデータ転送がなされるように（Ｓ３１０−ＮＯ，Ｓ３１４）、メモリコントローラ１９０と協調した処理を行なう。
【０１０９】
あるいは、外部メモリ５００の空き容量の加減（つまり外部メモリ５００（記憶領域５１０）の記憶残量：メモリ残量）を基準とすることも考えられる。たとえば、各系統の各画像データを時分割で転送する場合において、外部メモリ５００にある程度の空き容量（その基準は適当に決めればよい）が確保されていないときには圧縮符号化や伸長復号化を実施してデータ量を削減するが、外部メモリ５００にある程度の空き容量が確保されているときには圧縮符号化や伸長復号化を実施しないことで圧縮符号化や伸長復号化のための処理時間を割愛し全体の処理時間を短縮する。
【０１１０】
この場合、図７Ｂ（２）に示す第２動作例のように、メモリコントローラ１９０は処理時点の外部メモリ５００の空き容量Ｃを判定し（Ｓ３２０）、空き容量Ｃが所定容量Ｃth以下のときには符号化部１７２や復号化部１７６を介したデータパスでデータ転送がなされるように（Ｓ３２０−ＹＥＳ，Ｓ３２２）、また、所定容量Ｃthよりも多いときには符号化部１７２や復号化部１７６を介さないスルーデータバス４００でデータ転送がなされるように（Ｓ３２０−ＮＯ，Ｓ３２４）、制御部１５０と協調した処理を行なう。
【０１１１】
図２Ａに示した第２比較例の場合、各系統のそれぞれに符号化部１７２や復号化部１７６が固定的に配置されるので、仮に、第３実施形態のような仕組みを採ろうとすると、系統ごとに符号化部１７２や復号化部１７６を介さないスルーデータバス４００を用意しなければならない。よって、第３実施形態の仕組みを採ることで、処理系統数（つまりデータ処理モジュール１１０の数）が増えるほど、第２比較例に対するスルーデータバス４００の配線規模・コストの削減度合いが高くなる。
【０１１２】
以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は前記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で前記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【０１１３】
また、前記の実施形態は、クレーム（請求項）にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
【０１１４】
たとえば、前記実施形態では、符号化部１７２と復号化部１７６が同一のデータ処理装置１に搭載されている場合で示したが、符号化部１７２と復号化部１７６が、それぞれ別のデータ処理装置１に搭載されている場合であっても、前記の実施形態の仕組みが同様に適用される。
【０１１５】
また、データ処理装置の適用例としては、データ処理部から出力されるデジタルデータをメモリ装置へ転送して記憶させ（書き込み）、あるいはメモリ装置からデジタルデータを読み出してデータ処理部へ転送する場合において、複数系統のデータ処理部が備えられ、処理が並行してなされるものであれば、どのようなものにも適用される。たとえば、印刷装置（プリンタ）や複写機（コピー機）や複合機などの画像形成装置に限らず、ＦＡ(Factory Automation)、ＮＣ(Numerical Control) 、放送、あるいは通信などの分野における各種の電子機器に適用してもよい。
【０１１６】
また、符号化部１７２や復号化部１７６や時分割処理対応のための状態保持・復帰処理を制御する状態保持制御部１５４の実装はハードウェアに限らずソフトウェアで実装してもよい。よって、データ処理系統数よりも少ない数の符号化部１７２や復号化部１７６にて時分割処理で圧縮符号化や伸長復号化を行なう手法を適用したデータ処理装置を、電子計算機（コンピュータ）を用いてソフトウェアで実現するために好適なプログラムあるいはこのプログラムを格納したコンピュータ読取可能な記憶媒体が発明として抽出される。ソフトウェアにより処理を実行させる仕組みとすることで、ハードウェアの変更を伴うことなく、処理手順などが容易に変更され得る。
【０１１７】
電子計算機に圧縮・伸長処理機能や時分割処理対応のための状態保持・復帰処理機能機能をソフトウェアにより実行させる場合には、電子計算機を利用した一般的な情報処理の場合と同様に、磁気ディスク（フレキシブルディスクＦＤを含む）、光ディスク（ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory ）、ＤＶＤ（Digital Versatile Disc）を含む）、光磁気ディスク（ＭＤ（Mini Disc ）を含む）、または半導体メモリなどよりなるパッケージメディア（可搬型の記憶媒体）や、有線あるいは無線などの通信網を介して、そのソフトウェアを構成するプログラムが電子計算機にインストールされる。ソフトウェアは、一括のプログラムファイルとして提供されることに限らず、コンピュータで構成されるシステムのハードウェア構成に応じて、個別のプログラムモジュールとして提供されてもよい。たとえば、既存の複写装置制御ソフトやプリンタ制御ソフト（プリンタドライバ）に組み込まれるアドインソフトとして提供されてもよい。
【図面の簡単な説明】
【０１１８】
【図１】データ処理装置の基本構成（第１例）を示す図である。
【図１Ａ】データ処理装置の基本構成（第１例）を示す図である。
【図２】基本構成に対する第１比較例のデータ処理装置の構成を示す図である。
【図２Ａ】基本構成に対する第２比較例のデータ処理装置の構成を示す図である。
【図３】本実施形態の仕組みを採った場合における、比較例に対する回路規模の削減度合いやそれによるコストの削減度合いを説明する図表である。
【図４】第１実施形態のデータ処理装置を示す図である。
【図５】第１実施形態のデータ処理装置の処理手順を説明するフローチャートである。
【図５Ａ】時分割処理において、他のデータ系統との関係における、処理中断時点の符号化部・復号化部の内部状態の情報の退避と復帰の手法を説明する図である。
【図６】第２実施形態のデータ処理装置の仕組みを説明する図であって、圧縮・伸張方式の相違を説明する図である。
【図６Ａ】第２実施形態のデータ処理装置の仕組みを説明する図であって、辞書式圧縮・伸長における辞書データの取扱いを説明する図である。
【図７】第３実施形態のデータ処理装置の第１構成例（基本構成の第１構成例に対する変形例）を示す図である。
【図７Ａ】第３実施形態のデータ処理装置の第２構成例（基本構成の第２構成例に対する変形例）を示す図である。
【図７Ｂ】第３実施形態のデータ処理装置における動作例を説明するフローチャートである。
【符号の説明】
【０１１９】
１…データ処理装置、１００…データ処理部、１１０…データ処理モジュール、１３０…バッファメモリ、１５０…制御部、１５２…データ調停部、１５４…状態保持制御部（退避復帰制御部）、１７０…圧縮伸張部、１７２…符号化部（エンコーダ）、１７６…復号化部（デコーダ）、１８０…退避記憶部、１８２…状態保持レジスタ、１８３…レジスタ、１８４…セレクタ、１８６…状態保持レジスタ、１８７…レジスタ、１８８…セレクタ、１９０…メモリコントローラ、１９２…メモリインタフェースモジュール、２００…辞書メモリ、２０２…辞書データ、２１０…可変長符号化部、２１２…符号化テーブル、２２０…符号位置制御部、２２２…ラッチ回路、２３０…シフトレジスタ部、２３２…左シフト部、２３４…右シフト部、２４２…セレクタ、２４４…ラッチ回路、２４６…ＯＲゲート、３１０…可変長復号化部、３１２…復号化テーブル、３２０…符号位置制御部、３２２…ラッチ回路、３３０…ラッチ部、３３２…ラッチ回路、３３４…ラッチ回路、３４０…選択部、３４２…バレルシフタ、４００…スルーデータバス、５００…外部メモリ、５１０…記憶領域、CN１…退避制御信号、CN２…復帰制御信号、CN３…辞書選択信号、CN９…セレクト信号
【図１】
2009277178.tif 000003
【図１Ａ】
2009277178.tif 000004
【図２】
2009277178.tif 000005
【図２Ａ】
2009277178.tif 000006
【図３】
2009277178.tif 000007
【図４】
2009277178.tif 000008
【図５】
2009277178.tif 000009
【図５Ａ】
2009277178.tif 000010
【図６】
2009277178.tif 000011
【図６Ａ】
2009277178.tif 000012
【図７】
2009277178.tif 000013
【図７Ａ】
2009277178.tif 000014
【図７Ｂ】
2009277178.tif 000015