(57)【特許請求の範囲】
【請求項１】
符号化された複数の圧縮画像データのそれぞれを復号化して、非圧縮画像データに変換する変換装置であって、
複数の復号化ユニットであって、それぞれが前記複数の圧縮画像データの一つをハフマン復号化することにより、前記圧縮画像データに対応する復号化データを生成する複数の復号化ユニットと、
前記複数の復号化ユニットにおいて生成される前記復号化データを、所定データ量毎に、対応する前記圧縮画像データの識別コードと関連付けて、処理対象データとして出力する切替ユニットであって、前記所定データ量の前記処理対象データを出力する度に、前記処理対象データを出力する対象の復号化ユニットである出力対象の復号化ユニットを、前記複数の復号化ユニット間において切り替える切替ユニットと、
前記切替ユニットからの前記処理対象データに対する逆量子化処理及び逆周波数変換処理を実行することにより、前記処理対象データを、前記圧縮画像データに対応する非圧縮画像データを構成する部分画像データに変換する変換ユニットと、
前記圧縮画像データの夫々に対応した複数の記憶領域を備える記憶ユニットと、
前記変換ユニットにより変換された前記部分画像データの夫々を、この部分画像データに関連付けられた前記識別コードに対応する前記記憶領域に書き込むことにより、前記圧縮画像データ毎に、この圧縮画像データに対応する、前記部分画像データの一群から構成される非圧縮画像データを、前記記憶ユニットに記憶させる書込制御ユニットと、
を備え、
前記切替ユニットは、前記複数の復号化ユニット間で前記出力対象が一定順序で循環する予め定められた選択規則に従って前記複数の復号化ユニットの中から前記出力対象の復号化ユニットを選択するように、前記出力対象の復号化ユニットを切り替え、これによって、前記複数の復号化ユニットにおいて生成された前記復号化データを、前記処理対象データとして、順次、前記変換ユニットに出力し、
前記複数の圧縮画像データには、印刷処理対象の圧縮画像データが含まれ、
前記複数の復号化ユニットの内、前記印刷処理対象の圧縮画像データを、ハフマン復号化する特定の復号化ユニットに対して定められた前記所定データ量は、前記印刷処理の実行速度に対応した速度で前記圧縮画像データに対応する前記非圧縮画像データを前記記憶ユニットに書込可能なデータ量であり、
前記複数の復号化ユニットの内、残りの復号化ユニットの前記所定データ量は、前記出力対象が前記複数の復号化ユニット間を一巡する期間当たりに前記変換ユニットが処理可能なデータ量から、前記特定の復号化ユニットに対して定められる前記所定データ量を減算した残りのデータ量が、前記残りの復号化ユニットに対し配分されるように、定められることを特徴とする変換装置。
【請求項２】
前記所定データ量は、前記復号化ユニット毎に個別に定められることを特徴とする請求項１記載の変換装置。
【請求項３】
前記復号化ユニットの夫々は、生成した前記復号化データを、出力待ちの復号化データとして記憶するデータ記憶ユニットを備え、
前記切替ユニットは、前記出力待ちの復号化データのない前記復号化ユニットを前記出力対象に選択しないようにして、前記出力対象の前記復号化ユニットを切り替えることを特徴とする請求項１又は請求項２記載の変換装置。
【請求項４】
前記部分画像データの夫々は、前記非圧縮画像データを所定画素ブロック毎に区画化して定められるブロックデータの一つ又は複数であり、
前記所定データ量は、前記ブロックデータの一つ又は複数に対応するデータ量であること
を特徴とする請求項１〜請求項３のいずれか一項記載の変換装置。
【請求項５】
前記切替ユニットは、
前記複数の復号化ユニットのいずれか一つを前記出力対象として指定する指定値を記憶し、前記処理対象データが出力されたことを条件に、前記指定値を更新する記憶更新ユニット
を備え、前記記憶更新ユニットが記憶する前記指定値によって指定される前記出力対象の前記復号化ユニットにおいて生成された前記復号化データを、前記処理対象データとして出力すること
を特徴とする請求項１〜請求項４のいずれか一項記載の変換装置。
【請求項６】
前記切替ユニットは、前記複数の復号化ユニットの内、前記復号化データの前記変換ユニットへの出力が全て完了した前記復号化ユニットを前記出力対象として選択しないようにして、前記出力対象の前記復号化ユニットを切り替えることを特徴とする請求項１〜請求項５のいずれか一項記載の変換装置。
【請求項７】
前記切替ユニットは、前記所定データ量の前記処理対象データを出力する度に前記出力対象を切り替えるが、前記所定データ量の出力が完了する前に、前記出力対象の前記復号化ユニットに対応する前記復号化データの前記変換ユニットへの出力が全て完了した場合には、この完了後に、前記出力対象を切り替えること
を特徴とする請求項１〜請求項６のいずれか一項記載の変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、変換装置に関する。
【背景技術】
【０００２】
ディジタル画像データの圧縮方式としてＪＰＥＧ圧縮方式が知られている。ＪＰＥＧ圧縮装置としては、画像処理回路の一部が複数の画像データに対する共通回路として設けられ、複数の画像データを、この画像処理回路を用いて圧縮画像データに変換する装置が知られている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１９７９８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、複数の画像データを並行して圧縮画像データに変換することが場合によって有益であるように、複数の圧縮画像データを並行して非圧縮画像データに変換することが有益であるケースが考えられる。このケースでは、画像処理回路の回路規模を抑えて、これらの圧縮画像データを効率的に非圧縮画像データに変換できるのが望ましい。付加的には、圧縮画像データの夫々を適切な速度で非圧縮画像データに変換できるのが望ましい。
【０００５】
本発明は、複数の圧縮画像データを並行して非圧縮画像データに変換可能な装置として有益な装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の変換装置は、符号化された複数の圧縮画像データのそれぞれを復号化して、非圧縮画像データに変換する。この変換装置は、複数の復号化ユニットと、切替ユニットと、変換ユニットと、記憶ユニットと、書込制御ユニットと、を備える。復号化ユニットのそれぞれは、上記複数の圧縮画像データの一つを、ハフマン復号化することにより、当該圧縮画像データに対応する復号化データを生成する。
【０００７】
切替ユニットは、複数の復号化ユニットにおいて生成される復号化データを、所定データ量毎に、対応する圧縮画像データの識別コードと関連付けて、処理対象データとして出力する。切替ユニットは、所定データ量の処理対象データを出力する度に、処理対象データを出力する対象の復号化ユニットである出力対象の復号化ユニットを、複数の復号化ユニット間において切り替える。
【０００８】
変換ユニットは、切替ユニットからの処理対象データに対する逆量子化処理及び逆周波数変換処理を実行することにより、処理対象データを、圧縮画像データに対応する非圧縮画像データを構成する部分画像データに変換する。
【０００９】
記憶ユニットは、圧縮画像データの夫々に対応した複数の記憶領域を備える。書込制御ユニットは、変換ユニットにより変換された部分画像データの夫々を、この部分画像データに関連付けられた識別コードに対応する記憶領域に書き込むことにより、圧縮画像データ毎に、この圧縮画像データに対応する、部分画像データの一群から構成される非圧縮画像データを記憶ユニットに記憶させる。
【００１０】
この変換装置によれば、複数の圧縮画像データに対応する復号化データを、共通する変換ユニットにより、所定データ量毎に処理する。従って、本発明によれば、複数の圧縮画像データを並行して非圧縮画像データに変換可能な変換装置として、回路規模を抑えた有益な変換装置を構成することができる。
【００１１】
付言すると、上述の所定データ量は、復号化ユニット毎に個別に定められ得る。又は、所定データ量は、復号化ユニット毎に異なり得る。このデータ量を調整することは、圧縮画像データの夫々に対する変換ユニットへの割当量を調整することに対応する。即ち、上記データ量が増加された圧縮画像データは、変換ユニットを通じて、他の圧縮画像データより高速に非圧縮画像データに変換される。従って、上記データ量を復号化ユニット毎に個別に定めて変換装置を構成すれば、複数の圧縮画像データの夫々を、適切な速度で非圧縮画像データに変換することができる。
【００１２】
ＪＰＥＧ圧縮画像データに代表される周知の圧縮画像データは、非圧縮画像データを、所定画素ブロック毎に周波数変換（例えば離散コサイン変換）及び量子化した後、これらをハフマン符号化して生成される。この圧縮画像データを復号化する復号化ユニットからは、各画素ブロックに対応する量子化データのシリアル列（ビットストリーム）として、復号化データが出力される。この種の復号化データを取り扱う場合、上記所定データ量は、画素ブロックを単位とするデータ量であり得る。この場合、変換ユニットによって生成される処理対象データに対応する部分画像データの夫々は、非圧縮画像データを画素ブロック毎に区画化して定められるブロックデータの一つ又は複数であり、上述の所定データ量は、ブロックデータの一つ又は複数に対応する。
【００１３】
この他、切替ユニットは、予め定められた選択規則に従って複数の復号化ユニットの中から出力対象の復号化ユニットを選択するようにして、出力対象の復号化ユニットを切り替える構成にされ得る。これによって、切替ユニットは、複数の復号化ユニットにおいて生成された復号化データを、処理対象データとして、順次、変換ユニットに出力することができる。
【００１４】
上記選択規則は、例えば、各圧縮画像データの変換ユニットに対する割当比が所望比となるように、又は、各圧縮画像データの非圧縮画像データへの変換速度が所望速度となるように定められ得る。別例として、選択規則は、復号化ユニットからのデータ出力速度に応じて定められ得る。選択規則を定めれば、複数の圧縮画像データに対して共通して設けられる上記変換ユニットを効率的に活用することができる。
【００１５】
切替ユニットは、ハードウェアによって選択規則が固定的に定められた構成にされてもよいし、データやプログラムによって選択規則が変更可能に定められた構成にされてもよい。切替ユニットは、選択規則を表す設定データを記憶し、この設定データに従って、出力対象の復号化ユニットを切り替える構成にされ得る。変換装置は、この設定データを更新可能に構成され得る。
【００１６】
更に言えば、切替ユニットは、複数の復号化ユニット間で出力対象が一定順序で循環するように、出力対象の復号化ユニットを切り替える構成にされ得る。例えば、切替ユニットは、複数の復号化ユニットを一定順序で一回ずつ選択する動作を繰返し実行する構成にされ得る。
【００１７】
復号化ユニットの夫々は、生成した復号化データを、出力待ちの復号化データとして記憶するデータ記憶ユニットを備えた構成にされ得る。また、切替ユニットは、出力待ちの復号化データのない復号化ユニットを出力対象に選択しないようにして、出力対象の復号化ユニットを切り替える構成にされ得る。
【００１８】
この他、切替ユニットは、特定の状況では、一定順序で循環するように出力対象の復号化ユニットを切り替える動作を止めて、他の切替動作を行う構成にされ得る。例えば、切替ユニットは、復号化ユニットを出力対象に選択した回数である選択回数についての復号化ユニット間におけるばらつきが所定基準以上になった際、ばらつきを抑える方向に、選択回数の少ない復号化ユニットを出力対象に選択する構成にされ得る。
【００１９】
また、複数の圧縮画像データには、印刷処理対象の圧縮画像データが含まれ得る。この場合、印刷処理対象の圧縮画像データを、ハフマン復号化する特定の復号化ユニットに対する上記所定データ量は、印刷処理の実行速度に対応した速度で圧縮画像データに対応する非圧縮画像データを記憶ユニットに書込可能なデータ量であり得る。更に、複数の復号化ユニットの内、残りの復号化ユニットの所定データ量は、出力対象が複数の復号化ユニット間を一巡する期間当たりに変換ユニットが処理可能なデータ量から、上記特定の復号化ユニットに対して定められる所定データ量を減算した残りのデータ量が、残りの復号化ユニットに対し配分されるように定められ得る。
【００２０】
こうした復号化ユニット毎のデータ量の設定によれば、印刷処理に用いられる圧縮画像データの非圧縮画像データへの変換が、印刷処理の実行速度に合わせて優先的に行われる。従って、この種の変換装置は、プリンタ装置に搭載されると有益である。
【００２１】
上記複数の圧縮画像データの内、印刷処理対象の圧縮画像データを除く残りの圧縮画像データは、例えば、画像をディスプレイに表示する処理に用いられ得る。用途や状況によっては、印刷処理に用いられる圧縮画像データではなく、表示処理や他の処理の用いられる圧縮画像データを優先的に非圧縮画像データに変換するように、変換装置は構成され得る。例えば、上記複数の圧縮画像データに表示処理対象の圧縮画像データが含まれる場合、この表示処理対象の圧縮画像データとしての圧縮画像データを、ハフマン復号化する復号化ユニットに対する上記所定データ量は、表示処理の実行速度に対応した速度で圧縮画像データに対応する非圧縮画像データを記憶ユニットに書込可能なデータ量であり得る。
【００２２】
この他、切替ユニットは、複数の復号化ユニットの内、復号化データの変換ユニットへの出力が全て完了した復号化ユニットを出力対象として選択しないようにして、出力対象の復号化ユニットを切り替える構成にされ得る。
【００２３】
更に言えば、切替ユニットは、所定データ量の出力が完了する前に、出力対象の復号化ユニットに対応する復号化データの変換ユニットへの出力が全て完了した場合には、この完了後に、出力対象を切り替える構成にされ得る。こうした切替によって、共通する変換ユニットを効率的に利用して、複数の圧縮画像データを並行して非圧縮画像データに変換することができる。
【図面の簡単な説明】
【００２４】
【図１】ディジタル複合機の構成を表すブロック図である。
【図２】ＪＰＥＧデコーダの構成を表すブロック図である。
【図３】復号化ユニットの構成を表すブロック図である。
【図４】切替ユニットにおける出力対象の選択規則を説明した図である。
【図５】切替ユニットの構成を表すブロック図である。
【図６】切替ユニットにおける各部の動作を説明したタイムチャートである。
【図７】ＥＯＩ信号がオンするときの各部の動作を説明したタイムチャートである。
【図８】図８（Ａ）は、第一変形例の切替制御部を表すブロック図であり、図８（Ｂ）は、第二変形例の切替制御部を表すブロック図である。
【図９】図９（Ａ）は、待ちデータがある場合の切替例を説明した図であり、図９（Ｂ）は、待ちデータがない場合の切替例を説明した図である。
【図１０】第三変形例の切替制御部を表すブロック図である。
【発明を実施するための形態】
【００２５】
以下に本発明の実施例について、図面と共に説明する。図１に示す本実施例のディジタル複合機１は、プリンタ機能及びスキャナ機能を有する多機能装置である。このディジタル複合機１は、制御デバイス１０と、読取デバイス２０と、印刷デバイス３０と、表示デバイス４０と、操作デバイス５０と、メディアリーダ６０と、通信インタフェース７０と、画像処理デバイス８０と、を備える。
【００２６】
制御デバイス１０は、ＣＰＵ１１と、ＲＯＭ１３と、ＲＡＭ１５と、ＮＶＲＡＭ１７と、を備える。ＣＰＵ１１は、ＲＯＭ１３が記憶するプログラムに従う処理を実行することによって、複合機内各部を統括制御し、各種機能を実現する。ＲＡＭ１５は、ＣＰＵ１１による処理実行時に作業領域として使用される。ＮＶＲＡＭ１７は、電気的にデータ書換可能な不揮発性メモリであり、各種データを記憶する。ＮＶＲＡＭ１７は、例えばフラッシュメモリとして構成される。
【００２７】
読取デバイス２０は、周知のスキャナ装置と同様に構成される。読取デバイス２０は、制御デバイス１０に制御されて動作し、原稿の読取画像を表す画像データを生成する。生成された画像データは、画像処理デバイス８０により圧縮画像データに変換された後、ＲＡＭ１５又はＮＶＲＡＭ１７に記憶される。
【００２８】
印刷デバイス３０は、周知のインクジェットプリンタ装置と同様に構成される。印刷デバイス３０は、制御デバイス１０に制御されて動作し、印刷処理対象の画像データに基づく画像を用紙に形成する。
【００２９】
表示デバイス４０は、制御デバイス１０に制御されて動作し、画面上に各種情報を表示する。表示デバイス４０は、例えば液晶ディスプレイとして構成される。表示デバイス４０は、読取デバイス２０による読取画像を表示したり、印刷デバイス３０による印刷物のプレビュー画像を表示したりすることができる。
【００３０】
操作デバイス５０は、ユーザからのディジタル複合機１に対する操作を受け付ける。操作デバイス５０は、表示デバイス４０の画面上に設けられたタッチパネル、及び、表示デバイス４０の周辺に設けられたキー群の少なくとも一方を備えた構成にされ得る。
【００３１】
メディアリーダ６０は、メモリカード等の記録メディアを接続可能な構成にされ、制御デバイス１０により制御されて、記録メディア内のデータを読み取る。読み取られたデータは、ＲＡＭ１５又はＮＶＲＡＭ１７に格納される。メディアリーダ６０は、例えば印刷処理対象の画像データや表示処理対象の画像データを、記録メディアから取得する。
【００３２】
この他、通信インタフェース７０は、外部装置５と通信可能なインタフェースである。外部装置５としては、ユーザが所有するパーソナルコンピュータを一例に挙げることができる。通信インタフェース７０は、制御デバイス１０に制御されて、原稿の読取画像を表す画像データを外部装置５に提供したり、外部装置５から印刷処理対象の画像データを取得したりする。
【００３３】
画像処理デバイス８０は、読取デバイス２０が生成した画像データをＪＰＥＧ圧縮画像データに変換したり、印刷処理対象や表示処理対象の画像データを非圧縮画像データに変換したりする。この画像処理デバイス８０は、非圧縮画像データをＪＰＥＧ圧縮画像データに変換するＪＰＥＧエンコーダ９０と、ＪＰＥＧ圧縮画像データを非圧縮画像データに変換するＪＰＥＧデコーダ１００と、を備える。
【００３４】
以下では、ＪＰＥＧ圧縮画像データのことを単に「圧縮画像データ」と表現する。ここでは、画像処理にＪＰＥＧ圧縮方式を用いた例を説明するが、画像圧縮方式は、ＪＰＥＧ圧縮方式に限定されない。画像圧縮方式には、ＪＰＥＧ  ２０００、及び、ＪＰＥＧ  ＸＲなどの様々な画像圧縮方式が知られている。
【００３５】
続いて、ＪＰＥＧデコーダ１００の詳細構成を、図２を用いて説明する。図２に示すように、ＪＰＥＧデコーダ１００は、複数の圧縮画像データを並行して非圧縮画像データに変換可能な構成にされる。図２に示す例によれば、ＪＰＥＧデコーダ１００は、３つの圧縮画像データを並行して非圧縮画像データに変換可能である。
【００３６】
このＪＰＥＧデコーダ１００は、複数の入力ユニット１１０と、複数の復号化ユニット１２０と、切替ユニット１３０と、逆ジグザグスキャンユニット１５０と、逆量子化ユニット１６０と、逆ＤＣＴユニット１７０と、テーブルセレクタ１８０と、複数の量子化テーブル記憶部１８５と、出力ユニット１９０と、を備える。
【００３７】
入力ユニット１１０の夫々は、制御デバイス１０から入力される圧縮画像データを、ビットストリーム（シリアルビット列）として、対応する復号化ユニット１２０に入力する。復号化ユニット１２０の夫々は、対応する入力ユニット１１０から入力される圧縮画像データをハフマン復号化する。
【００３８】
以下では、入力ユニット１１０の夫々に入力される圧縮画像データを区別するとき、圧縮画像データの夫々を順に、第０面の圧縮画像データ、第１面の圧縮画像データ、及び、第２面の圧縮画像データと表現する。また、第ｉ面（ｉ＝０，１，２）の圧縮画像データを非圧縮画像データに変換するために設けられた入力ユニット１１０及び復号化ユニット１２０のことを、第ｉ面の入力ユニット１１０及び第ｉ面の復号化ユニット１２０と表現する。第ｉ面のために設けられた他の要素に対しても、その要素の名称に対して「第ｉ面の」との修飾語をつける。上記変数ｉのことを面番号とも表現する。
【００３９】
特に、第０面の入力ユニット１１０、第０面の復号化ユニット１２０、及び、第０面の他の要素について言及するときには、入力ユニット１１０Ａ及び復号化ユニット１２０Ａのように、符号末尾にサフィックス「Ａ」を付す。同様に、第１面の入力ユニット１１０、第１面の復号化ユニット１２０、及び、第１面の他の要素について言及するときには、入力ユニット１１０Ｂ及び復号化ユニット１２０Ｂのように、符号末尾にサフィックス「Ｂ」を付し、第２面の入力ユニット１１０、第２面の復号化ユニット１２０、及び、第２面の他の要素について言及するときには、入力ユニット１１０Ｃ及び復号化ユニット１２０Ｃのように、符号末尾にサフィックス「Ｃ」を付す。面番号を一つに特定しないとき、上述した修飾語又はサフィックスは適宜省略される。
【００４０】
復号化ユニット１２０の夫々は、図３に示すように、ヘッダ解析部１２１と、ハフマン復号化部１２３と、ハフマンテーブル記憶部１２５と、を備える。ヘッダ解析部１２１は、対応する入力ユニット１１０から入力される圧縮画像データが有するヘッダを解析することにより、圧縮画像データの構造を特定する一方、圧縮画像データを非圧縮画像データに変換する際に必要なハフマンテーブル及び量子化テーブルをヘッダから抽出する。
【００４１】
周知のように、ＪＰＥＧ圧縮画像データは、スタートマーカ（ＳＯＩ）、セグメント群、画像データ本体、及び、エンドマーカ（ＥＯＩ）が順に配列された構造にされる。スタートマーカは、圧縮画像データの先頭を表し、エンドマーカは、圧縮画像データの末尾を表す。
【００４２】
セグメント群には、量子化テーブル及びハフマンテーブルの定義情報が含まれる。ヘッダ解析部１２１は、このセグメント群を参照し、ハフマンテーブル及び量子化テーブルを抽出する。ヘッダ解析部１２１は、抽出したハフマンテーブルを、ハフマンテーブル記憶部１２５に記憶させ、抽出した量子化テーブルを、対応する量子化テーブル記憶部１８５に記憶させる。
【００４３】
ハフマン復号化部１２３は、対応する入力ユニット１１０からヘッダ解析部１２１を通じて入力される圧縮画像データを、上記ハフマンテーブルを用いてハフマン復号化し、圧縮画像データに対応する復号化データを生成する。復号化データは、量子化データのビットストリームである。
【００４４】
量子化データは、ＭＣＵ（Ｍｉｎｉｍｕｍ  Ｃｏｄｅｄ  Ｕｎｉｔ）と呼ばれる最小処理単位の画素ブロック毎に固定長のデータである。周知のようにＪＰＥＧ圧縮方式では、圧縮対象の画像データを、縦及び横の画素数が所定値の区画に分割して、この区画毎のデータを離散コサイン変換及び量子化処理した後、これらをハフマン復号化する。ここで言う画素ブロックは、離散コサイン変換及び量子化処理での処理単位に対応する１区画の画素領域に対応する。本実施例では、１ＭＣＵが１画素ブロックに対応する。ＪＰＥＧ圧縮方式として周知の４：４：４方式が採用される場合、画素ブロックは、縦８画素×横８画素の領域である。
【００４５】
即ち、ハフマン復号化部１２３は、入力ユニット１１０からヘッダ解析部１２１を通じて入力される圧縮画像データのビットストリームを順次処理して、これを量子化データのビットストリームに変換する。ハフマン復号化部１２３は、切替ユニット１３０からレディ信号（図５参照）としてオン信号が伝送路Ｌ３を介して入力されている場合に限って、出力待ちの量子化データを順次、切替ユニット１３０に入力する。図示しないがハフマン復号化部１２３は、出力待ちの量子化データを記憶するためのバッファ１２４を備える。
【００４６】
切替ユニット１３０は、第０面の復号化ユニット１２０Ａ、第１面の復号化ユニット１２０Ｂ、及び、第２面の復号化ユニット１２０Ｃの夫々にて生成される量子化データを、予め定められたデータ量毎に、その面番号と併せて、逆ジグザグスキャンユニット１５０に出力する。
【００４７】
具体的に、切替ユニット１３０は、第０面の復号化ユニット１２０Ａ、第１面の復号化ユニット１２０Ｂ、及び、第２面の復号化ユニット１２０Ｃの中から、出力対象の復号化ユニット１２０を一つ、所定の選択規則に従って選択し、選択した出力対象の復号化ユニット１２０が生成した量子化データを、予め定められたブロック数に対応する量だけ逆ジグザグスキャンユニット１５０に出力する処理を繰返し実行する。ここで言うブロック数は、画素ブロックの数のことである。本明細書では、画素ブロックのことを単に「ブロック」とも表現する。
【００４８】
切替ユニット１３０は、上記処理の繰返しにより、予め定められたブロック数に対応した量の量子化データを、面番号と併せて逆ジグザグスキャンユニット１５０に出力する。そして、上記予め定められたブロック数分の出力が終わる度に、出力対象を複数の復号化ユニット１２０間で切り替える。この結果、複数の復号化ユニット１２０により生成された出力待ちの量子化データは、所定データ量毎に逆ジグザグスキャンユニット１５０に出力される。以下では、この所定データ量に対応するブロック数のことを切替ブロック数とも表現する。
【００４９】
図４に示す例によれば、第０面の切替ブロック数は「３」であり、第１面の切替ブロック数は「１」であり、第２面の切替ブロック数は「２」である。このように切替ブロック数が定められ、更に選択規則によって、第０面、第１面、及び、第２面の復号化ユニット１２０Ａ，Ｂ，Ｃが順に出力対象に選択される場合、切替ユニット１３０は、第０面の量子化データを３ブロック分出力した後、第１面の量子化データを１ブロック分出力し、その後、第２面の量子化データを２ブロック分出力する動作を繰返し実行する。
【００５０】
切替ユニット１３０からの量子化データを受ける逆ジグザグスキャンユニット１５０は、画像圧縮時に実行されるジグザグスキャンの逆処理を実行する。周知のようにジグザグスキャンは、画素ブロック毎に、二次元配列の量子化データを一次元配列の量子化データに変換する処理である。
【００５１】
逆ジグザグスキャンユニット１５０は、このジグザグスキャンの逆処理を行うことで、切替ユニット１３０から入力される一次元配列の量子化データを、画素ブロック毎に、二次元配列の量子化データに変換する。そして、この量子化データを、逆量子化ユニット１６０に出力する。逆ジグザグスキャンユニット１５０は、切替ユニット１３０から量子化データと併せて入力された面番号を、変換後の量子化データと併せて、逆量子化ユニット１６０に出力する。
【００５２】
逆量子化ユニット１６０は、画像圧縮時に行われる量子化処理に対する逆処理である逆量子化処理を実行することで、逆ジグザグスキャンユニット１５０からの量子化データを量子化前のデータに変換する。画像圧縮時には、非圧縮画像データを画素ブロック毎に分割し、各画素ブロックの画像データを離散コサイン変換（ＤＣＴ）した後、量子化処理する。ここで言う量子化前のデータは、非圧縮画像データを構成する一つの画素ブロックの画像データに対し、離散コサイン変換（ＤＣＴ）がなされた後のデータに対応する。本明細書では、非圧縮画像データを構成する画素ブロック単位の画像データのことをブロックデータとも表現し、ブロックデータを離散コサイン変換した後の画像データのことをＤＣＴ画像データとも表現する。
【００５３】
即ち、逆量子化ユニット１６０は、画素ブロック毎に逆ジグザグスキャンユニット１５０から入力される量子化データを、ＤＣＴ画像データに変換する。ＤＣＴ画像データを生成する際、逆量子化ユニット１６０は、ヘッダ解析部１２１にて抽出された量子化テーブルを、テーブルセレクタ１８０を介して、量子化テーブル記憶部１８５から読み出す。テーブルセレクタ１８０は、逆量子化ユニット１６０から入力される面番号に対応する量子化テーブル記憶部１８５が記憶する量子化テーブルを逆量子化ユニット１６０に提供する。逆量子化ユニット１６０は、生成したＤＣＴ画像データを、逆ジグザグスキャンユニット１５０から量子化データと併せて入力された面番号と併せて、逆ＤＣＴユニット１７０に出力する。
【００５４】
逆ＤＣＴユニット１７０は、逆離散コサイン変換を実行することで、逆量子化ユニット１６０からのＤＣＴ画像データを、離散コサイン変換前のデータに変換する。離散コサイン変換前のデータは、非圧縮画像データの１画素ブロックを構成する上述のブロックデータである。逆ＤＣＴユニット１７０は、ＤＣＴ画像データを逆離散コサイン変換して得られたブロックデータを、このＤＣＴ画像データと併せて逆量子化ユニット１６０から入力された面番号と併せて、出力ユニット１９０に出力する。
【００５５】
出力ユニット１９０は、逆ＤＣＴユニット１７０から入力されるブロックデータを、ブロックデータと併せて入力された面番号に基づき、記憶ユニット２００内の、この面番号に対応する非圧縮画像データ記憶領域２１０に書き込む。記憶ユニット２００は、ＲＡＭ１５であってもよいし、ＲＡＭ１５とは別に設けられた画像処理デバイス８０の内蔵メモリであってもよい。
【００５６】
出力ユニット１９０は、ブロックデータと併せて入力された面番号が０であるときには、第０面の圧縮画像データに対応する非圧縮画像データを記憶するための記憶領域（第０面の記憶領域）２１０Ａに、当該ブロックデータを書き込む。
【００５７】
出力ユニット１９０は、同様にして、逆ＤＣＴユニット１７０から入力される第１面のブロックデータを、第１面の記憶領域２１０Ｂに書き込み、第２面のブロックデータを、第２面の記憶領域２１０Ｃに書き込む。このようにして、ＪＰＥＧデコーダ１００は、圧縮画像データ毎に、上記ブロックデータの一群から構成される非圧縮画像データを、記憶ユニット２００内の対応する記憶領域２１０Ａ，Ｂ，Ｃに形成する。
【００５８】
続いて、切替ユニット１３０の詳細構成を説明する。図５に示すように、切替ユニット１３０は、データセレクタ１３１と、ブロック数カウンタ１３３と、条件セレクタ１３５と、複数の条件記憶部１３７と、切替制御部１４０と、を備える。
【００５９】
データセレクタ１３１は、第０面の復号化ユニット１２０Ａ、第１面の復号化ユニット１２０Ｂ、及び、第２面の復号化ユニット１２０Ｃの内の一つを出力対象として選択し、選択した出力対象の復号化ユニット１２０から入力される量子化データを、逆ジグザグスキャンユニット１５０に出力する。データセレクタ１３１は、切替制御部１４０から入力される面番号の復号化ユニット１２０を、出力対象に選択するように動作する。
【００６０】
復号化ユニット１２０とデータセレクタ１３１との間には、復号化ユニット１２０毎に、量子化データの伝送路Ｌ１と、バリッド（Ｖａｌｉｄ）信号の伝送路Ｌ２と、レディ（Ｒｅａｄｙ）信号の伝送路Ｌ３と、ＥＯＩ信号の伝送路Ｌ４とが設けられる。
【００６１】
データセレクタ１３１は、出力対象として選択した復号化ユニット１２０に対するレディ信号をオン信号に切り替え、他の復号化ユニット１２０に対するレディ信号をオフ信号に切り替えるようにして、これらレディ信号の夫々を、対応する復号化ユニット１２０に入力する。レディ信号の伝送路Ｌ３は、復号化ユニット１２０とデータセレクタ１３１とを接続しており、このようにオン／オフされるレディ信号を、データセレクタ１３１から復号化ユニット１２０に伝送する。復号化ユニット１２０の夫々は、入力されたレディ信号がオン信号であるときに、出力待ちの量子化データをデータセレクタ１３１に伝送する。
【００６２】
また、復号化ユニット１２０の夫々は、出力待ちの量子化データが存在するときには、バリッド信号としてオン信号をデータセレクタ１３１及び切替制御部１４０に入力し、出力待ちの量子化データが存在しないときには、バリッド信号としてオフ信号をデータセレクタ１３１及び切替制御部１４０に入力する。バリッド信号の伝送路Ｌ２は、復号化ユニット１２０とデータセレクタ１３１とを接続すると共に、復号化ユニット１２０と切替制御部１４０とを接続しており、このようにオン／オフされるバリッド信号を、復号化ユニット１２０から切替制御部１４０及びデータセレクタ１３１に伝送する。
【００６３】
この他、復号化ユニット１２０の夫々は、圧縮画像データに対応する量子化データのビットストリームにおける末尾の１ブロック分の量子化データを、データセレクタ１３１に入力するとき、ＥＯＩ信号としてオン信号をデータセレクタ１３１に入力し、それ以外の場合には、ＥＯＩ信号としてオフ信号をデータセレクタ１３１に入力する（図７参照）。ＥＯＩ信号の伝送路Ｌ４は、復号化ユニット１２０とデータセレクタ１３１とを接続しており、このようにオン／オフされるＥＯＩ信号を、復号化ユニット１２０からデータセレクタ１３１に伝送する。
【００６４】
データセレクタ１３１は、出力対象として選択した復号化ユニット１２０からのＥＯＩ信号を、対応する量子化データと併せて逆ジグザグスキャンユニット１５０に出力する。データセレクタ１３１と逆ジグザグスキャンユニット１５０との間には、量子化データの伝送路Ｌ５の他、ＥＯＩ信号の伝送路Ｌ６、バリッド信号の伝送路Ｌ７、及び、レディ信号の伝送路Ｌ８が設けられる。
【００６５】
データセレクタ１３１は、逆ジグザグスキャンユニット１５０に対してバリッド信号を入力する。このバリッド信号は、復号化ユニット１２０からの量子化データがあるとき、オン信号として入力され、そうではないときにはオフ信号として入力される。このバリッド信号は、ブロック数カウンタ１３３にも入力される。
【００６６】
ブロック数カウンタ１３３には、逆ジグザグスキャンユニット１５０からのレディ信号も入力される。逆ジグザグスキャンユニット１５０は、新たな量子化データを受け入れ可能なときには、レディ信号としてオン信号をデータセレクタ１３１及びブロック数カウンタ１３３に入力し、量子化データを受け入れ可能でないときには、レディ信号としてオフ信号をデータセレクタ１３１及びブロック数カウンタ１３３に入力する。
【００６７】
このようにして逆ジグザグスキャンユニット１５０は、画素ブロック毎にレディ信号をオン／オフし、画素ブロック毎に量子化データを受け入れる。データセレクタ１３１は、レディ信号がオン信号に切り替わる度に１ブロック分の量子化データを逆ジグザグスキャンユニット１５０に出力する。
【００６８】
ブロック数カウンタ１３３は、データセレクタ１３１からのバリッド信号及び逆ジグザグスキャンユニット１５０からのレディ信号に基づき、データセレクタ１３１から逆ジグザグスキャンユニット１５０への量子化データの１ブロック分の出力が終了したことを、１ブロック分の量子化データが出力される度に検知する。この検知結果に従って、ブロック数カウンタ１３３は、１ブロック分の量子化データが出力される度に、カウント値を更新（１カウントアップ）する。これによって、ブロック数カウンタ１３３は、逆ジグザグスキャンユニット１５０に出力された画素ブロック数をカウントする。このブロック数カウンタ１３３は、カウント値を更新するとき、条件セレクタ１３５から入力される切替ブロック数とカウント値とを比較する。
【００６９】
条件セレクタ１３５は、複数の条件記憶部１３７の内、切替制御部１４０からデータセレクタ１３１に入力される面番号に対応する条件記憶部１３７が記憶する切替ブロック数を、ブロック数カウンタ１３３に入力する。第０面の条件記憶部１３７Ａは、第０面の切替ブロック数を記憶し、第１面の条件記憶部１３７Ｂは、第１面の切替ブロック数を記憶し、第２面の条件記憶部１３７Ｃは、第２面の切替ブロック数を記憶する。制御デバイス１０は、これらの条件記憶部１３７Ａ，Ｂ，Ｃに対して切替ブロック数を書き込むことにより切替ブロック数のそれぞれを設定又は更新する構成にされる。切替ブロック数の書込は、例えば、ＪＰＥＧデコーダ１００の起動時に、又は、ＪＰＥＧデコーダ１００に新たな圧縮画像データが入力される度に行われる。
【００７０】
ブロック数カウンタ１３３は、カウント値を更新した場合に更新後のカウント値が切替ブロック数に一致するとき、カウント値をゼロにリセットする一方、切替信号としてオン信号を出力する。それ以外の場合、ブロック数カウンタ１３３は、切替信号としてオフ信号を出力する一方、逆ジグザグスキャンユニット１５０に量子化データが１ブロック分出力される度にカウント値を更新する。この切替信号は、切替制御部１４０が有する処理面番号保持部１４１に入力される。
【００７１】
この他、ブロック数カウンタ１３３には、データセレクタ１３１からのＥＯＩ信号が入力される。ＥＯＩ信号は、データセレクタ１３１から逆ジグザグスキャンユニット１５０にも入力される。ブロック数カウンタ１３３は、ＥＯＩ信号がオン信号からオフ信号に切り替わった時点で、カウント値と切替ブロック数との関係によらずに、切替信号としてオン信号を処理面番号保持部１４１に入力する。
【００７２】
切替制御部１４０は、処理面番号保持部１４１と、次処理面選択部１４５と、を備える。処理面番号保持部１４１は、次処理面選択部１４５から入力される次処理面番号を、切替信号がオン信号に切り替わる度に記憶し、当該記憶する面番号をデータセレクタ１３１、条件セレクタ１３５及び逆ジグザグスキャンユニット１５０に入力する。
【００７３】
次処理面選択部１４５は、処理面番号保持部１４１からデータセレクタ１３１に入力される面番号に基づき、次に処理面番号保持部１４１からデータセレクタ１３１に入力されるべき面番号を次処理面番号として選択する。データセレクタ１３１に入力される面番号は、データセレクタ１３１で出力対象として選択される復号化ユニット１２０の面番号である。ここでは、処理面番号保持部１４１からデータセレクタ１３１に入力される面番号のことを、処理面番号とも表現する。
【００７４】
本実施例において、次処理面選択部１４５は、この処理面番号に基づき、出力待ちの量子化データを有する復号化ユニット１２０の中から、優先順位が最も高い復号化ユニット１２０の面番号を次処理面番号として選択する。復号化ユニット１２０が出力待ちの量子化データを有するか否かは、復号化ユニット１２０から出力されるバリッド信号がオン信号であるか否かによって判断可能である。
【００７５】
処理面番号がＸであるとき、優先順位が第１位の復号化ユニット１２０は、面番号Ｙ＝ｍｏｄ（Ｘ＋１，Ｃ）の復号化ユニット１２０である。関数ｍｏｄ（α，β）は、値αを値βで割ったときの余りを示す。定数Ｃは、面数であり復号化ユニット１２０の数に対応する。本実施例では復号化ユニット１２０の個数が３であるので、定数Ｃは３である。優先順位が第１位の復号化ユニット１２０の面番号がＹであるとき、優先順位が第Ｐ位の復号化ユニット１２０の面番号は、ｍｏｄ（Ｙ＋（Ｐ−１），Ｃ）である（Ｐ＝１，２，…）。
【００７６】
従って、本実施例によれば、処理面番号ＸがＸ＝０であるとき、優先順位が第１位の復号化ユニット１２０は、第１面の復号化ユニット１２０Ｂであり、優先順位が第２位の復号化ユニット１２０は、第２面の復号化ユニット１２０Ｃであり、優先順位が第３位の復号化ユニット１２０は第０面の復号化ユニット１２０Ａである。処理面番号ＸがＸ＝２である場合、優先順位が第１位の復号化ユニット１２０は、第０面の復号化ユニット１２０Ａであり、優先順位が第２位の復号化ユニット１２０は、第１面の復号化ユニット１２０Ｂであり、優先順位が第３位の復号化ユニット１２０は第２面の復号化ユニット１２０Ｃである。
【００７７】
即ち、次処理面選択部１４５は、処理面番号がＸ＝０であるとき、優先順位が第１位である第１面の復号化ユニット１２０Ｂのバリッド信号がオンであることを条件に、次処理面番号として１を選択することで、次にデータセレクタ１３１に第１面の復号化ユニット１２０Ｂを出力対象として選択させるように準備する。
【００７８】
一方、第１面の復号化ユニット１２０Ｂのバリッド信号がオフである場合、次処理面選択部１４５は、優先順位が次に高い第２面の復号化ユニット１２０Ｃのバリッド信号がオンであることを条件に、次処理面番号として２を選択することで、次にデータセレクタ１３１に第２面の復号化ユニット１２０Ｃを出力対象として選択させるように準備する。切替信号がオフ信号からオン信号に切り替わるまでに、第１面の復号化ユニット１２０Ｂのバリッド信号がオフ信号からオン信号に切り替わった場合、次処理面選択部１４５は、次処理面番号を２から１に変更するように動作する。
【００７９】
切替制御部１４０がこのように動作することで、出力対象が複数の復号化ユニット１２０の間で循環するように、復号化ユニット１２０の夫々は、順に出力対象として選択される。そして、復号化ユニット１２０の夫々は、出力対象として選択される度に、切替ブロック数分の量子化データをデータセレクタ１３１に出力する。これら量子化データは、データセレクタ１３１を介して逆ジグザグスキャンユニット１５０に出力され、ブロックデータとして面番号に対応する記憶領域２１０に書き込まれる。
【００８０】
ここで、切替ユニット１３０の動作を、図６を用いて具体的に説明する。本実施例によれば、第０面の切替ブロック数が３であるため、第０面の復号化ユニット１２０Ａが出力対象として選択された場合には、データセレクタ１３１から逆ジグザグスキャンユニット１５０に対して、第０面の量子化データが３ブロック分出力されるまでは、切替信号が原則発生しない。即ち、第０面の量子化データが３ブロック分出力されるまでは、出力対象のＥＯＩ信号がオフ信号である限り、切替信号は発生しない。
【００８１】
従って、切替ユニット１３０は、図６に示すように、第０面の量子化データを３ブロック出力する途中で第０面のバリッド信号がオフ信号に切り替わっても、出力対象を変更せずに第０面のバリッド信号が再度オン信号に切り替わるのを待って、第０面の量子化データを、規定の３ブロック分確実に出力するように動作する。図６の最下部に示す用語「切替」は、ブロック数カウンタ１３３から処理面番号保持部１４１への切替信号がオン信号に切り替わるタイミングを表す。このタイミングは、処理面番号保持部１４１が次処理面選択部１４５からの次処理面番号を記憶するタイミングに対応し、処理面番号保持部１４１からデータセレクタ１３１へ入力される処理面番号が更新されるタイミングに対応する。
【００８２】
また、ＥＯＩ信号がオン／オフする状況での切替ユニット１３０の動作を、図７を用いて具体的に説明する。本実施例によれば、切替ブロック数分の量子化データが出力対象の復号化ユニット１２０から逆ジグザグスキャンユニット１５０に出力される前に、その面の量子化データの全ての出力が完了してしまう可能性がある。このため、ブロック数カウンタ１３３は、ＥＯＩ信号がオン信号に切り替わると、その後ＥＯＩ信号がオフ信号に切り替わった時点で、切替信号としてオン信号を処理面番号保持部１４１に入力する。
【００８３】
例えば、出力対象が第０面の復号化ユニット１２０Ａであり、逆ジグザグスキャンユニット１５０への出力ブロック数が切替ブロック数「３」に到達しない状態で、第０面の末尾の量子化データが逆ジグザグスキャンユニット１５０に出力される場合を考える。この場合、ＥＯＩ信号は、末尾の量子化データの逆ジグザグスキャンユニット１５０への出力時にオン信号に切り替わり、末尾の量子化データの出力が完了するとオフ信号に切り替わる。ＥＯＩ信号がオフ信号に切り替わると、切替信号が処理面番号保持部１４１に入力され、処理面番号が切り替わる。本実施例では、このようにして、ＥＯＩ信号がオン信号からオフ信号に切り替わるときには、切替ブロック数と関係なく、処理面番号が切り替わる。
【００８４】
末尾までの量子化データの出力が完了した面の復号化ユニット１２０は、その後、出力待ちの量子化データがないために、バリッド信号としてオフ信号を継続的に出力する。従って、切替ユニット１３０は、その後、上記出力の完了した面の復号化ユニット１２０を出力対象として選択することはない。
【００８５】
従って、本実施例のＪＰＥＧデコーダ１００によれば、一つの圧縮画像データに対応する量子化データの全ての出力が完了した後でも、効率よく動作して、残りの圧縮画像データを非圧縮画像データに変換することができる。
【００８６】
以上、本実施例のディジタル複合機１及びＪＰＥＧデコーダ１００について説明したが、このＪＰＥＧデコーダ１００は、複数の圧縮画像データを並行して非圧縮画像データに変換する。そして、変換に際して、各圧縮画像データに対するハフマン復号化を、個別のハフマン復号化部１２３（復号化ユニット１２０）で実行する一方、ハフマン復号化によって生成される画素ブロック毎の量子化データを、共通回路により処理する。共通回路は、逆ジグザグスキャンユニット１５０、逆量子化ユニット１６０及び逆ＤＣＴユニット１７０を備える。
【００８７】
従って、本実施例によれば、複数の圧縮画像データを並行して非圧縮画像データに変換可能なＪＰＥＧデコーダ１００として、回路規模を抑えたＪＰＥＧデコーダ１００を構成することができる。
【００８８】
更に言えば、復号化ユニット１２０にて生成される量子化データは、圧縮画像データ毎に、個別に定められたブロック数単位で、下流の共通回路に伝送される。具体的に、切替ユニット１３０は、複数の復号化ユニット１２０間で出力対象が一定順序で循環するように、出力対象の復号化ユニット１２０を切り替えて、出力対象の復号化ユニット１２０からの量子化データを、上記個別に定められたブロック数としての切替ブロック数分出力する。特に、切替ユニット１３０は、出力待ちの量子化データがある状態では、複数の復号化ユニット１２０を一定順序で一回ずつ選択する動作を繰返し実行する。
【００８９】
従って、本実施例によれば、切替ブロック数の設定値を調整することにより、各圧縮画像データに対する共通回路の割当率を変えて、共通回路でのデータ処理速度を、複数の圧縮画像データ間で調整することができる。周知のように、圧縮画像データを非圧縮画像データに変換するときには、逆離散コサイン変換での処理負荷が、処理全体のスループットに大きく影響を与える。本実施例によれば、この逆ＤＣＴ変換ユニットを含む共通回路に対する割当率を、切替ブロック数の調整により変更できる。従って、本実施例によれば、圧縮画像データ間での変換速度を切替ブロック数の調整により簡単に調整して、複数の圧縮画像データの夫々を適切な速度で効率的に非圧縮画像データに変換することができる。
【００９０】
特に、本実施例によれば、印刷処理対象の圧縮画像データに対する切替ブロック数が、他の圧縮画像データよりも多い。このために、印刷処理対象の圧縮画像データは、他の圧縮画像データよりも高速に非圧縮画像データに変換される。従って、本実施例によれば圧縮画像データの非圧縮画像データへの変換が滞ることで、印刷処理のスループットが劣化するのを抑えることができる。結果、ＪＰＥＧデコーダ１００を、印刷処理に供される圧縮画像データと、その他の処理に供される圧縮画像データとで共有しても、そのことが印刷処理に好ましくない影響を及ぼすのを抑えることができる。ディジタル複合機１では、プリンタ機能の利用頻度が他の機能の利用頻度より一般的に高い。従って、印刷処理対象の圧縮画像データに対する共通回路の割当率を高めれば、ユーザにとって好都合である。
【００９１】
印刷処理対象の圧縮画像データを優先的に非圧縮画像データに変換するようにＪＰＥＧデコーダ１００を動作させる場合、切替ブロック数は、設計段階で次のように決定され得る。即ち、設計者は、第一に、印刷処理対象の圧縮画像データに対する切替ブロック数を、印刷処理の実行速度に対応した速度で非圧縮画像データを記憶領域２１０に書込可能なブロック数に決定することができる。そして、複数の復号化ユニット１２０間を出力対象が一巡する期間当たりに切替ユニット１３０が共通回路に出力可能な量子化データのブロック数の総量から、印刷処理対象の圧縮画像データの切替ブロック数を減算した残りの切替ブロック数を、残りの圧縮画像データ（復号化ユニット１２０）に分配することができる。このように決定した各圧縮画像データの切替ブロック数を、ＮＶＲＡＭ１７又はＲＯＭ１３に記憶させておき、制御デバイス１０からＪＰＥＧデコーダ１００に設定するように、ディジタル複合機１を構成すれば、印刷処理対象の圧縮画像データを、所望速度で優先的に非圧縮画像データに変換することができる。
【００９２】
ＪＰＥＧデコーダ１００の変換速度が出力ユニット１９０からのデータ出力基準で１２０ｐｐｍである場合であって、印刷処理のスループットとして５０ｐｐｍが要求される場合、上記実施例のように、印刷処理対象の圧縮画像データを取り扱う第０面の切替ブロック数は３、第１面及び第２面の切替ブロック数の合計は３に定められ得る。この場合、出力ユニット１９０からのデータ出力基準で、印刷処理対象の画像データに対する変換速度は６０ｐｐｍとなり、要求される５０ｐｐｍを満足する。
【００９３】
また、本実施例の切替ユニット１３０は、出力待ちの量子化データを復号化ユニット１２０が有さない場合、その復号化ユニット１２０を出力対象に選択せずに、次の復号化ユニット１２０を選択して、その復号化ユニット１２０が有する出力待ちの量子化データを、共通回路に出力する。従って、本実施例によれば、共通回路を活用して、効率的に圧縮画像データを非圧縮画像データに変換することができる。
【００９４】
［第一変形例］
続いて、上記実施例（以下、主実施例と表現する。）に対する第一変形例を説明する。本変形例のディジタル複合機１は、切替制御部１４０に代えて、図８（Ａ）に示す切替制御部２４０が搭載される点を除けば、主実施例と同様である。以下では、第一変形例の切替制御部２４０の内部構成を選択的に説明する。
【００９５】
図８（Ａ）に示すように、切替制御部２４０は、処理面番号保持部１４１に対応する処理面番号保持部２４１と、次処理面選択部１４５に対応する次処理面選択部２４５と、を備える。処理面番号保持部２４１は、データセレクタ１３１に入力する現在の処理面番号以外に、前回の処理面番号及び前々回の処理面番号を含む過去所定回前までの各回においてデータセレクタ１３１に入力した処理面番号（以下、過去の処理面番号と表現する。）を記憶する。過去の処理面番号は、現在の処理面番号と併せて、次処理面選択部２４５に入力されて、次処理面番号の決定に利用される。
【００９６】
次処理面選択部２４５は、過去の処理面番号及び現在の処理面番号に基づき、現在から過去所定回前までの期間において、復号化ユニット１２０を出力対象として選択した回数（以下、選択回数と表現する。）を、面毎に特定する。そして、次処理面選択部２４５は、出力待ちの量子化データを有する復号化ユニット１２０の内、選択回数が最も小さい復号化ユニット１２０の面番号を、次処理面番号として選択するように動作する。選択回数が最も小さい復号化ユニット１２０が複数ある場合には、主実施例と同様の手法で、現在の処理面番号に基づき、選択回数が最も小さい復号化ユニット１２０の中で優先順位が最も高い復号化ユニット１２０の面番号を、次処理面番号として選択する。
【００９７】
次処理面選択部２４５の動作例を、図９（Ａ）及び図９（Ｂ）に示す。図９（Ａ）は、現在の処理面番号が０であり、復号化ユニット１２０の夫々が出力待ちの量子化データを有している場合の次処理面番号の選択例を示す。
【００９８】
現在の処理面番号が０である場合、主実施例によれば、次処理面番号は１である。本変形例に従う選択規則によっても、選択回数にばらつきが生じていない場合には、次処理面選択部２４５によって、次処理面番号として１が選択される。
【００９９】
選択回数にばらつきが生じていない場合、第０面の選択回数が１０であれば、第１面、第２面の選択回数は９である。従って、選択回数が最も小さい復号化ユニット１２０は、第１面及び第２面の復号化ユニット１２０Ｂ，Ｃであり、第１面及び第２面の復号化ユニット１２０Ｂ，Ｃの中で、優先順位が最も高いのは、第１面である。
【０１００】
その後、切替信号が生じ、現在の処理面番号が１に切り替わると、次処理面選択部２４５は、上記選択規則に従い、次処理面番号として２を選択する。更に、切替信号が生じて現在の処理面番号が２に切り替わると、次処理面選択部２４５は、次処理面番号として０を選択する。
【０１０１】
図９（Ｂ）は、現在の処理面番号が０であり、この時点では第１面の復号化ユニット１２０Ｂが出力待ちの量子化データを有していない場合の次処理面番号の選択例を示す。図９（Ｂ）に示す例では、第２面の復号化ユニット１２０Ｂは、出力待ちの量子化データを有する。
【０１０２】
現在の処理面番号が０であり、且つ、選択回数にばらつきが生じていない場合には、選択回数が最も小さい復号化ユニット１２０は、第１面及び第２面の復号化ユニット１２０Ｂ，Ｃである。但し、第１面の復号化ユニット１２０Ｂが出力待ちの量子化データを有していない場合には、上記選択規則に従い、次処理面番号として２が選択される。
【０１０３】
その後、切替信号が生じて現在の処理面番号が２に切り替わった時点において、依然として第１面の復号化ユニット１２０Ｂが出力待ちの量子化データを有していない場合、次処理面選択部２４５は、次処理面番号として０を選択する。
【０１０４】
こうして第１面の復号化ユニット１２０Ｂが出力待ちの量子化データを有していない場合には、各面の選択回数に、ばらつきが生じる。従って、更に切替信号が生じて現在の処理面番号が０に切り替わった後、第１面の復号化ユニット１２０が出力待ちの量子化データを有した状態になった場合、次処理面選択部２４５は、出力待ちの量子化データを有する復号化ユニット１２０Ａ，Ｂ，Ｃの内、選択回数が最も小さい復号化ユニット１２０Ｂの面番号１を、次処理面番号として選択する。
【０１０５】
その後、切替信号が生じて現在の処理面番号が１に切り替わった時点では、出力待ちの量子化データを有し、且つ、選択回数が最も小さい復号化ユニット１２０Ｂ，Ｃの内、優先順位が最も高い復号化ユニット１２０は、依然として第１面の復号化ユニット１２０Ｂである。従って、次処理面選択部２４５は、次処理面番号として１を選択する。
【０１０６】
その後、更に切替信号が生じて現在の処理面番号が１に切り替わると、選択回数のばらつきは解消される。従って、次処理面選択部２４５は、次処理面番号として、出力待ちの量子化データを有する復号化ユニット１２０の内、選択回数が最も小さい復号化ユニット１２０Ｃの面番号２を選択する。このような選択規則で次処理面番号を選択することによって、次処理面選択部２４５は、選択回数のばらつきが生じた場合、選択回数のばらつきを抑えるように次処理面番号を選択する。
【０１０７】
従って、本変形例によれば、各圧縮画像データの非圧縮画像データへの変換速度を、一層高精度に制御することができる。尚、処理面番号保持部２４１に保持させる過去の処理面番号の量は、選択回数の乖離がどの程度生じる可能性があるのかを設計者が評価して、乖離を解消できる程度に定めることができる。
【０１０８】
［第二変形例］
続いて、主実施例に対する第二変形例を説明する。本変形例のディジタル複合機１は、切替制御部２４０に代えて、図８（Ｂ）に示す切替制御部３４０が搭載される点を除けば、第一変形例と同様である。以下では、図８（Ｂ）を用いて、第一変形例の切替制御部３４０の内部構成を選択的に説明する。
【０１０９】
図８（Ｂ）に示すように、本変形例の切替制御部３４０は、処理面番号保持部２４１に対応する処理面番号保持部３４１と、次処理面選択部２４５に対応する次処理面選択部３４５と、を備える。
【０１１０】
第二変形例の切替制御部３４０は、次処理面選択部３４５が第一変形例と同様の選択規則で次処理面番号を選択する一方、処理面番号保持部３４１が主実施例の処理面番号保持部１４１と同様の構成にされる。
【０１１１】
但し、次処理面選択部３４５は、複数の選択回数保持部３４７を有する。選択回数保持部３４７の夫々は、対応する面の復号化ユニット１２０が出力対象として選択された回数（選択回数）を記憶する。次処理面選択部３４５は、処理面番号保持部３４１からデータセレクタ１３１に入力される処理面番号を監視し、処理面番号が切り替わる度に、対応する選択回数保持部３４７が保持する選択回数を更新する。この次処理面選択部３４５は、面毎の選択回数保持部３４７が記憶する選択回数、及び、現在の処理面番号に基づき、第一変形例と同様の選択規則に従って次処理面番号を選択する。本変形例によっても、第一変形例と同様の効果を得ることができる。
【０１１２】
［第三変形例］
以上では、選択規則の情報が次処理面選択部１４５，２４５，３４５に、どのような形態で実装されるのかについて言及しなかったが、この選択規則の情報は、次処理面選択部１４５，２４５，３４５に対してハードウェア回路の形態で固定的に組み込まれ得る。又は、図１０に示すように、設定データの形態で次処理面選択部４４５に保持され得る。
【０１１３】
図１０に示す第三変形例の切替制御部４４０は、処理面番号保持部１４１，２４１，３４１に対応する処理面番号保持部４４１と、次処理面選択部１４５，２４５，３４５に対応する次処理面選択部４４５と、を有する。
【０１１４】
次処理面選択部４４５は、選択規則の設定データを記憶する記憶部４４７を有し、記憶部４４７が記憶する設定データに従う選択規則で次処理面番号を選択する。設定データは、例えば、主実施例で説明した優先順位の定義情報を有することができ、次処理面選択部４４５は、この設定データが示す優先順位の定義情報に従い、次処理面番号を選択する構成にされ得る。
【０１１５】
別例として、設定データは、選択規則を表す演算式又はパラメータを有した構成にされ得る。例えば、次処理面選択部４４５は、選択規則の異なる複数の動作モードを有し、設定データは、複数の動作モードの一つを指定するデータであってもよい。
【０１１６】
制御デバイス１０は、記憶部４４７に設定データを書き込む機能を有した構成にされ得る。選択規則を設定データとして記憶するようにＪＰＥＧデコーダ１００を構成すれば、製品の種類毎に最適な設定データを記憶部に書き込むことができ、汎用性の高いＪＰＥＧデコーダ１００を構成することができる。本変形例のＪＰＥＧデコーダ１００における他の部位は、主実施例、第一変形例及び第二変形例のいずれかと同一構成にされ得る。
【０１１７】
［他の実施形態］
以上、変形例を含む本発明の実施例について説明したが、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。
【０１１８】
上記実施例としては、１ＭＣＵが１画素ブロックに対応する例を説明したが、１ＭＣＵが複数の画素ブロックに対応する場合もある。従って、切替ユニット１３０は、予め定められたＭＣＵ数に対応した量の量子化データを出力する度に、出力対象の復号化ユニット１２０を切り替える構成にされ得る。即ち、切替ユニット１３０による出力対象の切替条件は、画素ブロック数に変えて、ＭＣＵ数で定められ得る。
【０１１９】
また、上記実施例では、圧縮画像データ毎に、入力ユニット１１０及びヘッダ解析部１２１を備えるＪＰＥＧデコーダ１００を説明したが、入力ユニット１１０及びヘッダ解析部１２１の夫々は、複数の圧縮画像データに共通して一つのみ設けられてもよい。この場合、ヘッダ解析部１２１とハフマン復号化部１２３との間には、ヘッダ解析部１２１からの圧縮画像データを、対応するハフマン復号化部１２３に分岐させるセレクタを設けることができる。
【０１２０】
この他、上記実施例としては、ＪＰＥＧデコーダ１００が、印刷処理や表示処理の対象となる複数の圧縮画像データを並行して非圧縮画像データに変換する例を説明したが、ＪＰＥＧデコーダ１００は、他の処理を実行する様々な機器に搭載され得る。例えば、様々なアプリケーションプログラムが並列実行される機器では、複数のアプリケーションプログラムが同時に、圧縮画像データに対応する非圧縮画像データを必要とするケースが生じる。このようなケースにおいて、上記実施例のＪＰＥＧデコーダ１００は、有利に機能する。
【０１２１】
また、表示処理対象の圧縮画像データを優先的に変換する必要がある場合には、表示処理対象の圧縮画像データの切替ブロック数を優先的に決定し、その後、他の圧縮画像データの切替ブロック数を決定するようにして、それぞれの切替ブロック数を定めることができる。例えば、表示処理が、所定速度で順にページめくり動作を行うようにして、各ページのプレビュー画像を表示する処理である場合には、そのページめくり速度（即ち、表示処理の実行速度）に合わせて、表示処理対象のデータを扱う復号化ユニット１２０の切替ブロック数を定めることができる。
【０１２２】
［対応関係］
最後に用語間の対応関係について説明する。ハフマン復号化部１２３は、復号化ユニットの一例に対応し、逆ジグザグスキャンユニット１５０、逆量子化ユニット１６０及び逆ＤＣＴユニット１７０は、変換ユニットの一例に対応する。また、出力ユニット１９０は、書込制御ユニットの一例に対応し、処理面番号保持部１４１，２４１，３４１，４４１は、記憶更新ユニットの一例に対応する。バッファ１２４は、データ記憶ユニットの一例に対応する。
【符号の説明】
【０１２３】
１…ディジタル複合機、１０…制御デバイス、１５…ＲＡＭ、２０…読取デバイス、３０…印刷デバイス、４０…表示デバイス、５０…操作デバイス、６０…メディアリーダ、７０…通信インタフェース、８０…画像処理デバイス、９０…ＪＰＥＧエンコーダ、１００…ＪＰＥＧデコーダ、１１０，１１０Ａ，１１０Ｂ，１１０Ｃ…入力ユニット、１２０，１２０Ａ，１２０Ｂ，１２０Ｃ…復号化ユニット、１２１…ヘッダ解析部、１２３…ハフマン復号化部、１２４…バッファ、１２５…ハフマンテーブル記憶部、１３０…切替ユニット、１３１…データセレクタ、１３３…ブロック数カウンタ、１３５…条件セレクタ、１３７，１３７Ａ，１３７Ｂ，１３７Ｃ…条件記憶部、１４０，２４０，３４０，４４０…切替制御部、１４１，２４１，３４１，４４１…処理面番号保持部、１４５，２４５，３４５，４４５…次処理面選択部、１５０…逆ジグザグスキャンユニット、１６０…逆量子化ユニット、１７０…逆ＤＣＴユニット、１８０…テーブルセレクタ、１８５…量子化テーブル記憶部、１９０…出力ユニット、２００…記憶ユニット、２１０，２１０Ａ，２１０Ｂ，２１０Ｃ…記憶領域、３４７…選択回数保持部、４４７…記憶部、Ｌ１〜Ｌ８…伝送路。
【図１】
0006354360.tif 000002
【図２】
0006354360.tif 000003
【図３】
0006354360.tif 000004
【図４】
0006354360.tif 000005
【図５】
0006354360.tif 000006
【図６】
0006354360.tif 000007
【図７】
0006354360.tif 000008
【図８】
0006354360.tif 000009
【図９】
0006354360.tif 000010
【図１０】
0006354360.tif 000011