(57)【特許請求の範囲】
【請求項１】
圧縮装置であって、
原稿を主走査方向に沿うライン毎に読み取る読取動作を副走査方向に複数回実行することにより生成される前記原稿の読取画像を表す画像データを、圧縮することによって、前記画像データに対応する圧縮画像データを生成する圧縮ユニットと、
前記圧縮ユニットにより生成された前記圧縮画像データを加工する加工ユニットと、
を備え、
前記圧縮ユニットには、前記画像データを構成する先頭ラインから末尾ラインまでのライン単位のデータであるライン画像データの夫々が順次提供され、
前記圧縮ユニットは、前記末尾ラインまでの前記ライン画像データが提供される前に、前記圧縮を開始し、前記主走査方向に所定画素数及び前記副走査方向に所定ライン数の領域として定められる画素ブロック毎に、前記画素ブロック内のデータであるブロックデータを、前記画素ブロック内の各画素の位置を前記副走査方向に反転させるように加工して圧縮することにより、圧縮ブロックデータを生成し、
前記圧縮装置は、更に、
前記画像データの前記先頭ラインより前及び前記末尾ラインより後の少なくとも一方にダミーデータを追加することにより前記画素ブロックのライン数に対して整数倍のライン数を有するダミー付画像データを生成する追加ユニット
を備え、
前記追加ユニットは、前記ダミー付画像データとして、前記先頭ラインよりも前に付される前記ダミーデータのライン数が異なる複数のダミー付画像データを生成し、
前記圧縮ユニットは、前記複数のダミー付画像データの夫々に関して、前記ダミー付画像データにおける前記画素ブロック毎に前記画素ブロック内の各画素の位置を前記副走査方向に反転するように加工した前記圧縮ブロックデータを生成して、前記ダミー付画像データの全域に対応する複数の圧縮ブロックデータを有する圧縮画像データを生成することにより、複数の圧縮画像データを生成し、
前記加工ユニットは、前記複数の圧縮画像データの内の一つを加工対象に選択し、前記選択した圧縮画像データが有する前記圧縮ブロックデータを、前記主走査方向に沿う前記画素ブロックの組に対応する前記圧縮ブロックデータの組であるバンド単位で、先頭ライン側と末尾ライン側とが反転するように並び替えることにより、前記圧縮画像データが表す画像を、前記読取画像を前記副走査方向に反転した画像に変換するように、前記圧縮画像データを加工すること
を特徴とする圧縮装置。
【請求項２】
前記圧縮ユニットは、前記圧縮画像データとして、前記バンド単位で前記圧縮ブロックデータの組に対してマーカを付した圧縮画像データを生成し、
前記加工ユニットは、前記圧縮画像データ内の前記マーカに基づいて、前記バンド単位の前記圧縮ブロックデータの組を特定すること
を特徴とする請求項１記載の圧縮装置。
【請求項３】
前記圧縮ユニットは、前記圧縮画像データとして、前記バンド単位で前記圧縮ブロックデータの組に対してリスタートマーカを付したＪＰＥＧ方式の圧縮画像データを生成し、
前記加工ユニットは、前記圧縮画像データ内の前記リスタートマーカに基づいて、前記バンド単位の前記圧縮ブロックデータの組を特定し、
前記加工ユニットは、前記バンド単位で前記圧縮ブロックデータを並び替え、更には前記リスタートマーカを付け直すようにして、前記圧縮画像データを加工すること
を特徴とする請求項１記載の圧縮装置。
【請求項４】
前記加工ユニットは、前記複数の圧縮画像データの内、前記末尾ラインより後に付される前記ダミーデータのライン数が最小の圧縮画像データを、前記加工対象に選択すること
を特徴とする請求項１〜請求項３のいずれか一項記載の圧縮装置。
【請求項５】
前記圧縮ユニットには、前記原稿の両面を前記ライン毎に読み取る読取動作を複数回実行することにより生成される前記原稿の片面毎の前記片面の読取画像を表す画像データが提供され、
前記圧縮ユニットは、
前記両面の内、第一の片面の読取画像を表す前記画像データについては、前記画素ブロック内の各画素の位置を前記副走査方向に反転する加工をせずに、前記画素ブロック毎の前記圧縮ブロックデータを生成して、前記読取画像の全域に対応する複数の圧縮ブロックデータを有する圧縮画像データを生成し、
前記両面の内、第二の片面の読取画像を表す前記画像データについては、前記画素ブロック毎に、前記画素ブロック内の各画素の位置を前記副走査方向に反転する加工をした前記圧縮ブロックデータを生成して、前記読取画像の全域に対応する複数の圧縮ブロックデータを有する圧縮画像データを生成し、
前記加工ユニットは、
前記第一及び前記第二の片面に対応する前記圧縮画像データの内、前記第二の片面に対応する前記圧縮画像データが有する前記圧縮ブロックデータを前記バンド単位で並び替えることにより、前記第二の片面に対応する前記圧縮画像データが表す画像を、前記第二の片面の読取画像を前記副走査方向に反転した画像に変換するように、前記圧縮画像データを加工すること
を特徴とする請求項１〜請求項４のいずれか一項記載の圧縮装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを圧縮する機能を備えた装置に関する。
【背景技術】
【０００２】
従来、原稿を読み取って、その読取画像を表す画像データを生成する画像読取システムが知られている。画像データを圧縮して、圧縮後の画像データである圧縮画像データを生成する圧縮装置もまた知られている。画像データの圧縮方式としては、例えばＪＰＥＧ方式が知られている。ＪＰＥＧ方式では、画像データをブロック単位で圧縮する。
【０００３】
圧縮画像データを伸長する伸長装置としては、圧縮画像データが表す画像を１８０度回転させる処理を実行しつつ、圧縮画像データを伸長する装置が知られている（例えば特許文献１参照）。この伸長装置では、圧縮画像データが、末尾からブロック毎に順に読み出される。各ブロック内の画素データは、末尾から順に読み出される。この読み出しにより、圧縮画像データが表す画像は、伸長後の画像データにおいて１８０度回転した画像に変換される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−２１９７８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、原稿全体が読み取られた後、原稿の読取画像を表す圧縮画像データに対し、読取画像を反転又は回転させるための画像処理を加える従来技術では、効率的に上記画像処理を実行し、上記画像処理後の圧縮画像データを生成又は出力することが難しい。
【０００６】
従って、本発明の一側面では、原稿の読取画像を表す画像データに対する画像処理を効率的に実行できることが望ましい。
【課題を解決するための手段】
【０００７】
本発明の一側面に係る圧縮装置は、圧縮ユニットと、加工ユニットとを備える。圧縮ユニットは、原稿の読取画像を表す画像データを圧縮することによって、画像データに対応する圧縮画像データを生成する。画像データは、原稿を主走査方向に沿うライン毎に読み取る読取動作を、副走査方向に複数回実行することにより生成され得る。
【０００８】
圧縮ユニットは、画素ブロック毎に、画像データにおける画素ブロック内のデータであるブロックデータを、画素ブロック内の各画素の位置を副走査方向に反転させるように加工して圧縮することにより、圧縮ブロックデータを生成する構成にされ得る。画素ブロックは、主走査方向に所定画素数及び副走査方向に所定ライン数の領域として定められ得る。圧縮ユニットは、上記圧縮画像データとして、読取画像の全域に対応する複数の圧縮ブロックデータを有する圧縮画像データを生成する構成にされ得る。
【０００９】
加工ユニットは、圧縮ユニットにより生成された圧縮画像データを加工する。加工ユニットは、バンド単位で、圧縮画像データが有する圧縮ブロックデータを並び替えることにより、圧縮画像データが表す画像を、読取画像を副走査方向に反転した画像に変換するように、圧縮画像データを加工する構成にされ得る。ここで言うバンド単位は、主走査方向に沿う画素ブロックの組に対応する圧縮ブロックデータの組単位であり得る。
【００１０】
本発明の一側面によれば、ブロックデータを加工及び圧縮することにより、画素位置が副走査方向において反転した圧縮ブロックデータを生成する。このため、画素位置を反転させずに圧縮ブロックデータを生成する場合よりも、効率的に読取画像を反転した圧縮画像データを生成することができる。従って、本発明の一側面によれば、原稿の読取動作により生成される画像データに対する画像反転に係る処理を、効率的に実行することができる。
【００１１】
ところで、圧縮ユニットは、上記圧縮画像データとして、バンド単位で圧縮ブロックデータの組に対してマーカを付した圧縮画像データを生成する構成にされてもよい。この場合、加工ユニットは、圧縮画像データ内のマーカに基づいて、バンド単位の圧縮ブロックデータの組を特定する構成にされ得る。圧縮ブロックデータの組の特定は、上記マーカを用いることで、効率的又は容易に行い得る。
【００１２】
圧縮ユニットは、上記圧縮画像データとして、ＪＰＥＧ方式の圧縮画像データを生成する構成にされてもよい。この場合、圧縮ユニットは、バンド単位で圧縮ブロックデータの組に対してリスタートマーカを付したＪＰＥＧ方式の圧縮画像データを生成する構成にされ得る。
【００１３】
加工ユニットは、圧縮画像データ内のリスタートマーカに基づいて、バンド単位の圧縮ブロックデータの組を特定する構成にされ得る。加工ユニットは、バンド単位で圧縮ブロックデータを並び替え、更にはリスタートマーカを付け直すようにして、圧縮画像データを加工する構成にされてもよい。
【００１４】
圧縮ユニットは、画像データの全体が提供される前に上記圧縮を開始する構成にされてもよい。圧縮ユニットには、画像データを構成する先頭ラインから末尾ラインまでのライン単位のデータであるライン画像データの夫々が順次提供され得る。この場合、圧縮ユニットは、末尾ラインまでのライン画像データが提供される前に上記圧縮を開始する構成にされ得る。
【００１５】
この構成を有する圧縮装置によれば、圧縮画像データの生成に必要なデータ記憶領域（作業領域）のサイズを抑えることができる。従って、記憶容量の小さい記憶デバイスを用いて効率的に圧縮画像データを生成することが可能である。
【００１６】
また、画素ブロック単位で画像データを圧縮する場合、圧縮方式によっては、ダミーデータを追加する必要が生じ得る。即ち、ダミーデータの追加により、画像データのライン数を形式上、画素ブロックのライン数の整数倍とする必要が生じ得る。ダミーデータは、余白画像を表す画像データであり得る。
【００１７】
この場合、仮にダミーデータを画像データの末尾ライン側に追加すると、上記加工ユニットによる加工後の圧縮画像データでは、ダミーデータに基づく余白画像が、圧縮画像データが表す画像全体の先頭側に表れる。即ち、余白画像を除く真の読取画像が画像全体の末尾側に偏って表れる。この偏りは、ユーザに不満を及ぼす可能性がある。
【００１８】
そこで、圧縮装置には、画像データの先頭ラインよりも前に所定ライン数分のダミーデータを追加する追加ユニットが設けられてもよい。この場合、圧縮ユニットは、追加ユニットによりダミーデータが追加された画像データであるダミー付画像データにおける画素ブロック毎に、画素ブロック内の各画素の位置を副走査方向に反転するように加工した圧縮ブロックデータを生成して、圧縮画像データを生成する構成にされ得る。
【００１９】
但し、上記ダミーデータの追加時点においては、画像データの先頭ラインから末尾ラインまでのライン数が不明であることに起因して、画像データの先頭ラインよりも前に追加すべきダミーデータのライン数の適値を特定できない場合がある。従って、追加ユニットは、上記ダミー付画像データとして、先頭ラインよりも前に追加するダミーデータのライン数が異なる複数のダミー付画像データを生成する構成にされてもよい。
【００２０】
この場合、追加ユニットは、画像データの先頭ラインより前及び末尾ラインより後の少なくとも一方にダミーデータを追加することにより、画素ブロックのライン数に対して整数倍のライン数を有するダミー付画像データを生成する構成にされ得る。
【００２１】
圧縮ユニットは、これら複数のダミー付画像データの夫々に関して、ダミー付画像データにおける画素ブロック毎に画素ブロック内の各画素の位置を副走査方向に反転するように加工した圧縮ブロックデータを生成して、このダミー付画像データの全域に対応する複数の圧縮ブロックデータを有する圧縮画像データを生成することにより、複数の圧縮画像データを生成する構成にされ得る。
【００２２】
この場合、加工ユニットは、上記複数の圧縮画像データの内の一つを加工対象に選択し、選択した圧縮画像データが有する圧縮ブロックデータを、バンド単位で、先頭ライン側と末尾ライン側とが反転するように並び替える構成にされ得る。加工ユニットは、この並び替えにより、圧縮画像データが表す画像を、原稿の読取画像を副走査方向に反転した画像に変換するように、圧縮画像データを加工する構成にされ得る。
【００２３】
具体的に、加工ユニットは、複数の圧縮画像データの内、末尾ラインより後に付されるダミーデータのライン数が最小の圧縮画像データを、加工対象に選択する構成にされ得る。こうした選択により、加工後の圧縮画像データが表す反転画像の先頭側においてダミーデータにより表される余白が最小となる圧縮画像データを加工対象に選択することができる。
【００２４】
また、圧縮ユニットには、原稿の片面毎の画像データが提供されてもよい。即ち、圧縮ユニットは、原稿の両面の内、第一の片面の読取画像を表す画像データ、及び、原稿の両面の内、第二の片面の読取画像を表す画像データが提供されてもよい。これら画像データは、原稿の両面をライン毎に読み取る読取動作を複数回実行することにより生成され得る。
【００２５】
この場合、圧縮ユニットは、第一の片面の読取画像を表す画像データについては、画素ブロック内の各画素の位置を副走査方向に反転する加工をせずに、画素ブロック毎の圧縮ブロックデータを生成して、読取画像の全域に対応する複数の圧縮ブロックデータを有する圧縮画像データを生成する構成にされ得る。
【００２６】
換言すれば、圧縮ユニットは、第二の片面の読取画像を表す画像データについては、画素ブロック毎に、当該画素ブロック内の各画素の位置を副走査方向に反転する加工をした圧縮ブロックデータを生成して、読取画像の全域に対応する複数の圧縮ブロックデータを有する圧縮画像データを生成する構成にされ得る。
【００２７】
加工ユニットは、第一及び第二の片面に対応する圧縮画像データの内、第二の片面に対応する圧縮画像データが有する圧縮ブロックデータをバンド単位で並び替えることにより、第二の片面に対応する圧縮画像データが表す画像を、第二の片面の読取画像を副走査方向に反転した画像に変換するように、圧縮画像データを加工する構成にされ得る。
【００２８】
長辺綴じ用の両面印刷原稿を読み取って、短辺綴じ用の両面印刷原稿を生成するための圧縮画像データを生成する場合等には、原稿裏面の読取画像を上下反転させる必要が生じ得る。このような原稿の生成過程で、上述した圧縮装置を用いれば、効率的に短辺綴じに適合した圧縮画像データを生成することが可能である。
【図面の簡単な説明】
【００２９】
【図１】画像読取装置の構成を表すブロック図である。
【図２】長辺綴じ用の原稿と短辺綴じ用の原稿との相違を説明した図である。
【図３】読取画像の上下反転画像を表す圧縮画像データの基本的な生成手順を説明した図である。
【図４】読取画像の上下反転画像を表す圧縮画像データの生成手順を、ダミーデータの挿入手順を含む形態で説明した図である。
【図５】原稿のうら面の読取画像データに対応する圧縮画像データを生成するＪＰＥＧ圧縮回路の詳細構成を表すブロック図である。
【図６】圧縮ユニット及び圧縮画像データの詳細構成を表すブロック図である。
【図７】図７Ａは、読取画像データからの画素データ群の読出順を矢印で示した図であり、図７Ｂは、ダミー付画像データを構成する画素データ群のＤＣＴ変換部への入力順を矢印で示した図である。
【図８】圧縮ユニットが実行する処理を表すフローチャートである。
【図９】図９Ａは、加工ユニットが実行する処理を表すフローチャートであり、図９Ｂは、上段に加工対象の圧縮画像データの構成を示し、下段に反転圧縮画像データの構成を示す図である。
【図１０】ＪＰＥＧ圧縮回路の動作を示すタイムチャートである。
【図１１】図１０に続くＪＰＥＧ圧縮回路の動作を示すタイムチャートである。
【発明を実施するための形態】
【００３０】
以下に本発明の実施例について、図面と共に説明する。但し、本発明は、下記実施例によって何ら限定して解釈されない。特許請求の範囲に記載した文言のみによって特定される発明の本質を逸脱しない範囲において考え得るあらゆる態様が本発明の実施形態である。
【００３１】
図１に示す本実施例の画像読取装置１は、原稿Ｐを光学的に読み取る機能、及び、原稿Ｐの読取画像を表す画像データを、圧縮画像データに変換して記憶する機能を有する。この画像データは、ＪＰＥＧ方式の圧縮画像データに変換される。画像読取装置１は、例えばオートドキュメントフィーダ型のスキャナ装置として構成される。
【００３２】
画像読取装置１は、コピー機又はファクシミリ装置であってもよい。画像読取装置１は、圧縮画像データを用いて、原稿Ｐの読取画像を用紙に印刷することによりコピー機能を実現する構成にされ得る。画像読取装置１は、スキャナ機能、プリンタ機能、コピー機能及びファクシミリ機能の内の二以上を備えたディジタル複合機としても構成され得る。
【００３３】
この画像読取装置１は、ＣＰＵ１１と、ＲＯＭ１３と、ＲＡＭ１５と、読取デバイス２０と、読取制御回路３１と、Ａ／Ｄ（アナログ／ディジタル）変換器３３と、読取補正回路３５と、画像処理回路３７とを備える。
【００３４】
ＣＰＵ１１、ＲＯＭ１３、ＲＡＭ１５、読取制御回路３１、読取補正回路３５、及び、画像処理回路３７は、バスを介して互いに接続される。画像読取装置１は、図示しないユーザインタフェースを備えた構成にされ得る。この場合、画像読取装置１は、ユーザインタフェースを介して、ユーザからの操作を受け付けたり、ユーザに対する各種情報を表示したり音声出力したりすることができる。
【００３５】
ＣＰＵ１１は、ＲＯＭ１３に記録されたプログラムに従う処理を実行することにより、画像読取装置１全体を統括制御し、各種機能を実現する。ＲＡＭ１５は、ＣＰＵ１１による処理実行時に、作業領域として使用される。画像読取装置１は、ＲＯＭ１３として、又は、それとは別に、電気的にデータ書換可能なメモリ（フラッシュＲＯＭ又はＥＥＰＲＯＭ等）を備え得る。
【００３６】
図１の破線によって示される矩形領域内には、読取デバイス２０の細部を概略的に示す。図示されるように、読取デバイス２０は、原稿Ｐの第一面（おもて面）を光学的に読み取るためのイメージセンサ２１Ａと、原稿Ｐの第二面（うら面）を光学的に読み取るためのイメージセンサ２１Ｂと、搬送機構と、を備える。
【００３７】
読取デバイス２０が備える搬送機構は、矢印で示されるように、原稿Ｐを副走査方向に搬送する構成される。この搬送機構は、原稿Ｐの搬送経路２３上に、搬送ローラ２５及び従動ローラ２６からなる第一のローラ対と、排紙ローラ２７及び従動ローラ２８からなる第二のローラ対とを備える。
【００３８】
搬送ローラ２５及び排紙ローラ２７は、図示しない共通する電動モータ又は個別の電動モータからの動力を受けて回転する。原稿トレイから搬送ローラ２５と従動ローラ２６との間に供給される原稿Ｐは、この回転により副走査方向下流に搬送される。搬送ローラ２５及び排紙ローラ２７の回転は、読取制御回路３１により制御される。これにより、原稿Ｐは、所定速度で副走査方向に搬送される。
【００３９】
但し、読取デバイス２０が備える搬送機構は、図１に示される構成に限定されるものではない。搬送機構は、イメージセンサ２１Ａ，２１Ｂと原稿Ｐとの相対位置を副走査方向に変化させることが可能な機構であればよい。
【００４０】
イメージセンサ２１Ａ，２１Ｂは夫々、副走査方向に直交する主走査方向に沿って１ライン分の画像を読取可能なラインセンサとして構成される。これらイメージセンサ２１Ａ，２１Ｂは、読取制御回路３１により制御されて、主走査方向に沿うライン毎に、原稿Ｐを読み取る読取動作を行う。
【００４１】
イメージセンサ２１Ａ，２１Ｂの夫々は、読取動作の繰返しにより、原稿Ｐの対応する面（おもて面又はうら面）の読取画像を表す画像データを生成する。以下では、原稿Ｐの両面を構成する各面の読取画像を表す片面単位（換言すればページ単位）の画像データのことを、読取画像データＤＩと表現する。
【００４２】
詳述すると、イメージセンサ２１Ａ，２１Ｂは、主走査方向に沿って配列された画素毎の撮像素子を有したラインセンサとして構成にされ得る。この場合、イメージセンサ２１Ａ，２１Ｂの夫々は、原稿Ｐの１ライン分の読取画像を表すライン画像データとして、光電効果により撮像素子に蓄積された電荷に対応する値を示す画素データを、１ライン分の各画素に対して有するライン画像データを生成する構成にされ得る。このように、ライン画像データは、画素データの一群を有した構成にされる。
【００４３】
読取制御回路３１は、ＣＰＵ１１からの命令に従って、読取デバイス２０を制御することにより、イメージセンサ２１Ａ，２１Ｂによる原稿Ｐの読取動作、及び、搬送機構による原稿Ｐの搬送動作を制御する。この制御により、読取動作は、原稿Ｐが副走査方向に所定量移動する度に実行され、原稿Ｐの第一面及び第二面の夫々に関して、ライン画像データを構成要素とする読取画像データＤＩが生成される。
【００４４】
イメージセンサ２１Ａ，２１Ｂにおいて、原稿Ｐの第一面及び第二面の夫々に関してライン毎に生成されるライン画像データは、順次Ａ／Ｄ変換器３３に入力される。Ａ／Ｄ変換器３３に入力されたライン画像データは、アナログデータからディジタルデータに変換された後、読取補正回路３５に入力される。
【００４５】
読取補正回路３５は、Ａ／Ｄ変換器３３から入力される第一面及び第二面のライン画像データの夫々に対し、シェーディング補正を含む各種補正処理を行う。読取補正回路３５によって補正された第一面及び第二面のライン画像データは、ＲＡＭ１５に記憶される。このようにしてＲＡＭ１５には、第一面及び第二面の夫々に関して、読取画像データＤＩを構成するライン画像データ群、換言すれば、読取画像データＤＩを構成する画素データ群が、読取デバイス２０の読取動作に合わせて順次記憶される。
【００４６】
画像処理回路３７は、読取画像データＤＩを構成する画素データ群に対する圧縮処理を実行する一方、必要に応じて各種画像処理を実行する構成にされる。この画像処理回路３７は、ＪＰＥＧ圧縮回路４０Ａ，４０Ｂを備える。ＪＰＥＧ圧縮回路４０Ａは、原稿Ｐの第一面に対応する読取画像データＤＩをＪＰＥＧ圧縮して、その圧縮画像データを生成する。ＪＰＥＧ圧縮回路４０Ｂは、原稿Ｐの第二面に対応する読取画像データＤＩをＪＰＥＧ圧縮して、その圧縮画像データを生成する。生成された圧縮画像データは、ＲＡＭ１５に記憶される。
【００４７】
具体的に、ＪＰＥＧ圧縮回路４０Ａ，４０Ｂは、読取画像データＤＩを構成する画素データ群を、ＲＡＭ１５から順次読み出し、これらを所定の矩形領域で定められるブロック単位でＪＰＥＧ方式により圧縮する。周知のように、ＪＰＥＧ方式では、ＭＣＵ（Ｍｉｎｉｍｕｍ  Ｃｏｄｅｄ  Ｕｎｉｔ）単位で読取画像データＤＩが圧縮される。各ブロックは、例えば、各辺１６画素の大きさの矩形領域である。換言すれば、各ブロックは、主走査方向に１６画素及び副走査方向に１６ラインの大きさの矩形領域である。
【００４８】
以下では、各ブロックのことを画素ブロックとも表現する。また、読取画像データＤＩが有する画素データ群を二次元座標系上に配置し、この二次元座標系上の画素データ群を、画素ブロック単位で分割して定められる各画素ブロック内の画素データの集合をブロックデータとも表現する。二次元座標系は、副走査方向に沿う縦軸、及び、主走査方向に沿う横軸を有する座標系である。本明細書では、この二次元座標系の定義に従って、読取画像データＤＩの副走査方向を上下方向とみなし、用語「上下」を用いる。
【００４９】
即ち、ＪＰＥＧ圧縮回路４０Ａ，４０Ｂは、読取画像データＤＩを、ブロックデータ毎に圧縮して、圧縮されたブロックデータである圧縮ブロックデータの一群を備える上記圧縮画像データを生成する。各画素ブロックに対応する圧縮ブロックデータを備える圧縮画像データは、ＲＡＭ１５に記憶される。
【００５０】
ここで、第二面（うら面）の読取画像データＤＩを取り扱うＪＰＥＧ圧縮回路４０Ｂの機能について詳述する。ＪＰＥＧ圧縮回路４０Ｂは、読取画像データＤＩが表す原稿Ｐの読取画像を上下反転した画像に変換するようにして圧縮画像データを生成する機能を有する。
【００５１】
この機能は、例えば、長辺綴じ用の原稿Ｐ０の読取画像データＤＩから短辺綴じ用の原稿Ｐ１を印刷するための圧縮画像データを生成するために用いられる。この機能は、原稿Ｐの向きと原稿Ｐの搬送方向が反対であることに起因して、読取デバイス２０において原稿Ｐが下端から読み取られる場合にも用いられ得る。
【００５２】
長辺綴じ用の原稿Ｐ０と、短辺綴じ用の原稿Ｐ１との違いは、図２に示す通りである。図２に示される原稿Ｐ０，Ｐ１は、おもて面に文字「Ｆ」が記載され、うら面に文字「Ｂ」が記載された原稿Ｐの例である。図２左領域に示すように、長辺綴じ用の原稿Ｐ０では、原稿Ｐ０のおもて面でも原稿Ｐ０のうら面でも、文字「Ｆ」「Ｂ」は、上下、及び、左右のどちらにも反転していない通常の向きで配置される。図２においてハッチングされた領域は、綴じ代を表す。
【００５３】
一方、短辺綴じ用の原稿Ｐ１では、図２右領域に示すように、原稿Ｐ１のうら面において文字「Ｂ」が１８０度回転した状態（換言すれば、上下及び左右に反転した状態）で配置される。図２右領域には、原稿Ｐ１のおもて面及びうら面に対して上下を一つに定めたときのおもて面及びうら面の文字配置を示す。この反転は、ユーザがおもて面の上端で綴じられた原稿Ｐ１をめくってうら面を見るとき、うら面の見かけ上の下端が、おもて面の上端に対応することに起因する。
【００５４】
このように、長辺綴じ用の原稿Ｐ０の読取画像データＤＩから、短辺綴じ用の原稿Ｐ１を印刷するためには、うら面の読取画像データＤＩに対して少なくとも読取画像を上下反転させる画像処理を施す必要がある。このため、ＪＰＥＧ圧縮回路４０Ｂには、原稿Ｐの読取画像を上下反転して圧縮画像データを生成する機能が設けられる。読取画像を左右反転させる処理は、例えば、読取画像を上下反転させた後、その反転後の画像の左右を入れ替えるようにして圧縮画像データを伸長することにより実現される。
【００５５】
ＪＰＥＧ圧縮回路４０Ｂは、図３の領域（Ａ）に一例を示す原稿Ｐの読取画像データＤＩに基づき、読取画像を上下反転した画像に変換するように圧縮画像データを生成する場合、次の手順で読取画像データＤＩを圧縮する。図３の領域（Ａ）には、白領域及びハッチング領域を用いて、簡単な幾何学画像を、原稿Ｐが表す画像として例示する。
【００５６】
ＪＰＥＧ圧縮回路４０Ｂは、原稿Ｐに対する読取動作が開始されると、読取画像データＤＩを構成する画素データ群が、１バンドに対応する量、ＲＡＭ１５に蓄積される度に、１バンド分の画素ブロックの夫々に対応するブロックデータを圧縮ブロックデータに変換する。この際、ＪＰＥＧ圧縮回路４０Ｂは、画素ブロック内の各画素の位置を副走査方向に反転させるように、ブロックデータを加工して圧縮することにより、画素ブロックが表す画像を上下反転させた画像を表す圧縮ブロックデータを生成する。
【００５７】
１バンドは、主走査方向に沿う一行分の画素ブロックの組に対応する。画素ブロックの縦サイズが１６画素（ライン）である場合、１バンド分の画素データ群は、読取画像データＤＩを構成する画素データ群の内、連続する１６ライン分の画素データ群に対応する。図３の領域（Ｂ）では、１６ライン×４＝６４ライン分のライン画像データを有する原稿Ｐの読取画像データＤＩにおいて、バンド間の境界を破線で示す。
【００５８】
図３の領域（Ｂ）では、図３の領域（Ａ）における副走査方向に沿う矢印の基点から先端に向けて読取デバイス２０により原稿Ｐの読取動作がライン毎に実行されるケースにおいて、１バンド分の画素データ群の領域を、圧縮処理される順に符号Ｚ１，Ｚ２，Ｚ３，Ｚ４を付して表す。符号Ｚ１，Ｚ２，Ｚ３，Ｚ４に含まれる数字は、圧縮処理される順序を表す。
【００５９】
１バンド分の画素データ群は、画素ブロック単位で、上下反転されながら圧縮されることにより、１バンド分の圧縮ブロックデータ群に変換される。図３の領域（Ｃ）には、読取画像が画素ブロック毎に上下反転された状態での各バンドが表す画像を示す。
【００６０】
ＪＰＥＧ圧縮回路４０Ｂは、このように加工された圧縮ブロックデータ群を有する圧縮画像データに関して、図３の領域（Ｄ）に示すように、バンドの配列順序を反転させるようにバンド単位で圧縮ブロックデータ群を並び替える。ＪＰＥＧ圧縮回路４０Ｂは、この並び替えによって、読取画像データＤＩに対応する圧縮画像データとして、読取画像を副走査方向に反転した画像を表す圧縮画像データを生成する。
【００６１】
付言すると、ＪＰＥＧ圧縮回路４０Ｂは、原稿全体の読取が完了していない状態で、未完成の読取画像データＤＩを、順次、画素ブロック単位で、画素位置を上下反転させた圧縮ブロックデータに変換し、全読取完了後、バンド単位で圧縮ブロックデータを並び替えることにより、効率的に原稿Ｐの読取画像を上下反転した圧縮画像データを生成する。
【００６２】
以上には、図３を用いて、読取画像データＤＩのライン数Ｇが、画素ブロックのライン数Ｈの整数倍である例における圧縮画像データの生成手順を説明した。しかしながら、読取画像データＤＩのライン数Ｇは、原稿Ｐの用紙サイズや余白領域の大きさ等の影響を受けて一律に定まらない。このため、読取画像データＤＩのライン数Ｇが画素ブロックのライン数Ｈの整数倍ではないケースが生じ得る。
【００６３】
このとき、ＪＰＥＧ圧縮回路４０Ｂは、読取画像データＤＩに対して余白画像を表すダミーデータを付加して、ライン数を調整したダミー付画像データを生成する。ここで言うダミー付画像データは、読取画像データＤＩに対してダミーデータが付されたものである。読取画像データＤＩには、ダミー付画像データのライン数Ｑが画素ブロックのライン数Ｈ（例えば１６ライン）の整数倍となる最低限のライン数のダミーデータが付加される。
【００６４】
ＪＰＥＧ圧縮回路４０Ｂは、図４に示すように、読取画像を上下反転した圧縮画像データである反転圧縮画像データＤＯを生成するに際して、読取画像データＤＩの先頭ラインより前に付すダミーデータの数が異なる複数のダミー付画像データＤ１１，Ｄ１２，Ｄ１３，Ｄ１４を生成する。図４に示す格子状のハッチング領域は、ダミーデータの領域に対応する。ダミーデータは、読取画像データＤＩの末尾ラインより後にも必要に応じて付加される。先頭ラインよりも前に付されたダミーデータのライン数Ｌと、先頭ラインから末尾ラインまでの総ライン数Ｇとの合計が、画素ブロックのライン数Ｈの整数倍ではない場合、ダミーデータは、ダミー付画像データのライン数Ｑが画素ブロックのライン数Ｈの整数倍となるように、読取画像データＤＩの末尾ラインより後にも付加される。
【００６５】
尚、ダミー付画像データＤ１１は、先頭ラインより前に付されるダミーデータのライン数Ｌがゼロであるダミー付画像データである。このダミー付画像データＤ１１の例としては、読取画像データＤＩのライン数Ｇが画素ブロックのライン数Ｈの整数倍であることで、読取画像データＤＩの末尾ラインより後にもダミーデータが付されない例が含まれる。本明細書では、読取画像データＤＩのライン数Ｇが画素ブロックのライン数Ｈの整数倍であることで、結果的にダミーデータが付されない読取画像データについても、形式的にダミー付画像データと表現する。
【００６６】
ＪＰＥＧ圧縮回路４０Ｂは、これらダミー付画像データＤ１１，Ｄ１２，Ｄ１３，Ｄ１４にそれぞれに対応する圧縮画像データＤ２１，Ｄ２２，Ｄ２３，Ｄ２４を生成する。ＪＰＥＧ圧縮回路４０Ｂは、その後、ダミー付画像データＤ１１，Ｄ１２，Ｄ１３，Ｄ１４に対応する圧縮画像データＤ２１，Ｄ２２，Ｄ２３，Ｄ２４の内の一つを加工対象に選択する。そして、加工対象の圧縮画像データにおいて、配列順序を反転させるようにバンド単位で圧縮ブロックデータ群を並び替えることにより、読取画像データＤＩが表す画像を、読取画像を副走査方向に反転した画像に変換した反転圧縮画像データＤＯを生成する。
【００６７】
具体的に、ＪＰＥＧ圧縮回路４０Ｂは、読取画像データＤＩの末尾ラインより後に付されたダミーデータのライン数が最小（ゼロを含む）の圧縮画像データＤ２３を加工対象に選択する。これにより、ＪＰＥＧ圧縮回路４０Ｂは、読取画像の反転画像が、圧縮画像データが表す画像枠内において下方に偏って現れないように、反転圧縮画像データＤＯを生成する。
【００６８】
続いて、ＪＰＥＧ圧縮回路４０Ｂの詳細構成を説明する。図５に示すように、ＪＰＥＧ圧縮回路４０Ｂは、複数の圧縮ユニット４１Ａ，４１Ｂ，４１Ｃ，４１Ｄと、選択ユニット４５と、加工ユニット４７とを備える。図５では、ＪＰＥＧ圧縮回路４０Ｂのブロック内にＲＡＭ１５が描かれているが、このことは、圧縮ユニット４１Ａ，４１Ｂ，４１Ｃ，４１Ｄから出力される圧縮画像データＤ２１，Ｄ２２，Ｄ２３，Ｄ２４が一旦ＲＡＭ１５に記憶されることを意味する。
【００６９】
圧縮ユニット４１Ａ，４１Ｂ，４１Ｃ，４１Ｄは、それぞれ、ＲＡＭ１５が記憶する読取画像データＤＩを構成する画素データ群を逐次読み出して、読取画像データＤＩの先頭ラインより前に付すダミーデータのライン数Ｌが異なるダミー付画像データＤ１１，Ｄ１２，Ｄ１３，Ｄ１４を生成し、このダミー付画像データＤ１１，Ｄ１２，Ｄ１３，Ｄ１４に対応する圧縮画像データＤ２１，Ｄ２２，Ｄ２３，Ｄ２４をＲＡＭ１５に出力する。
【００７０】
画素ブロックのライン数Ｈが１６ラインであり、読取画像を上下反転した反転圧縮画像データＤＯを生成する必要があるとき、圧縮ユニット４１Ａ，４１Ｂ，４１Ｃ，４１Ｄは、ＣＰＵ１１から設定される動作パラメータに従って、次のように動作する。
【００７１】
圧縮ユニット４１Ａは、読取画像データＤＩの先頭ラインより前にダミーデータを付すことなく、読取画像データＤＩの末尾ラインより後に必要に応じてダミーデータを付して、画素ブロックのライン数Ｈの整数倍のライン数Ｑを有するダミー付画像データＤ１１を生成する。
【００７２】
圧縮ユニット４１Ａは、このダミー付画像データＤ１１を、生成しながら、逐次画素ブロック単位で圧縮して、圧縮画像データＤ２１をＲＡＭ１５に出力する。ここで、圧縮ユニット４１Ａから出力される圧縮画像データＤ２１は、図４において例示されるように、画素ブロック内の各画素の位置が副走査方向において反転した圧縮画像データである。
【００７３】
圧縮ユニット４１Ｂは、読取画像データＤＩの先頭ラインより前に４ライン分のダミーデータを付し、読取画像データＤＩの末尾ラインより後に必要に応じてダミーデータを付して、画素ブロックのライン数Ｈの整数倍のライン数Ｑを有するダミー付画像データＤ１２を生成する。圧縮ユニット４１Ｂは、このダミー付画像データＤ１２を、生成しながら、逐次画素ブロック単位で圧縮して、圧縮画像データＤ２２をＲＡＭ１５に出力する。ここで、圧縮ユニット４１Ｂから出力される圧縮画像データＤ２２は、圧縮ユニット４１Ａと同様、画素ブロック内の各画素の位置が副走査方向において反転した圧縮画像データである。
【００７４】
圧縮ユニット４１Ｃは、読取画像データＤＩの先頭ラインより前に付すダミーデータのライン数Ｌが８である点を除いて、圧縮ユニット４１Ｂと同様に動作する。即ち、圧縮ユニット４１Ｃは、読取画像データＤＩの先頭ラインより前に８ライン分のダミーデータを付して、画素ブロックのライン数Ｌの整数倍のライン数Ｑを有するダミー付画像データＤ１３を生成し、対応する圧縮画像データＤ２３をＲＡＭ１５に出力する。
【００７５】
圧縮ユニット４１Ｄは、読取画像データＤＩの先頭ラインより前に付すダミーデータのライン数Ｌが１２である点を除いて、圧縮ユニット４１Ｂ，４１Ｃと同様に動作する。即ち、圧縮ユニット４１Ｄは、読取画像データＤＩの先頭ラインより前に１２ライン分のダミーデータを付して、画素ブロックのライン数Ｈの整数倍のライン数Ｑを有するダミー付画像データＤ１４を生成し、対応する圧縮画像データＤ２４をＲＡＭ１５に出力する。
【００７６】
図６には、圧縮ユニット４１の詳細構成を示す。圧縮ユニット４１は、圧縮ユニット４１Ａ，４１Ｂ，４１Ｃ，４１Ｄの内の任意の一つに対応する。圧縮ユニット４１Ａ，４１Ｂ，４１Ｃ，４１Ｄは、ＣＰＵ１１から設定される動作パラメータに従って、ＣＰＵ１１から設定されたライン数Ｌ分のダミーデータを読取画像データＤＩの先頭ラインより前に付すように構成されたものであり、互いに共通する構成を有する。
【００７７】
図６に示すように、圧縮ユニット４１は、データ入力部５１と、ＤＣＴ変換部５３と、量子化部５５と、ジグザグシーケンス部５６と、符号化部５７と、データ出力部５９とを備える。
【００７８】
データ入力部５１は、読取画像データＤＩを構成する画素データ群を順次ＲＡＭ１５から読み出して、ダミーデータを追加する処理及び画素ブロック内の各画素の位置を副走査方向において反転させる処理を実行した後、その処理後の画素データ群を順次ＤＣＴ変換部５３に入力する構成にされる。
【００７９】
即ち、データ入力部５１は、読取画像データＤＩを構成する画素データ群を順次、ダミー付画像データＤ１を構成する画素データ群であって、画素ブロック内の各画素の位置を副走査方向において反転した画素データ群に変換してＤＣＴ変換部５３に入力する。ここで言うダミー付画像データＤ１は、上述したダミー付画像データＤ１１，Ｄ１２，Ｄ１３，Ｄ１４の一つに対応する。
【００８０】
図６の破線で示される矩形領域内には、データ入力部５１の詳細構成を示す。図示されるように、データ入力部５１は、主入力部５１１と、ダミー追加部５１３と、セレクタ５１５と、入力制御部５１７とを備える。
【００８１】
主入力部５１１は、入力制御部５１７からの制御信号に従って、入力制御部５１７から指定されたアドレスに対応する画素データをＲＡＭ１５から読み込んでセレクタ５１５に入力する。ダミー追加部５１３は、ダミーデータをセレクタ５１５に入力する。
【００８２】
セレクタ５１５は、主入力部５１１から入力される画素データ、及び、ダミー追加部５１３から入力されるダミーデータのいずれか一方を、入力制御部５１７からの選択信号に従って選択的にＤＣＴ変換部５３に入力する。
【００８３】
入力制御部５１７は、上記選択信号をセレクタ５１５に入力し、上記制御信号を主入力部５１１に入力することにより、ＣＰＵ１１から設定されたライン数Ｌ分のダミーデータが読取画像データＤＩの先頭ラインより前に付加され、且つ、画素ブロック内の画素位置が副走査方向に反転するように、セレクタ５１５の選択動作及び主入力部５１１による読込動作を制御する。
【００８４】
この制御によりセレクタ５１５からは、読取画像データＤＩにダミーデータが追加されたダミー付画像データＤ１を構成する画素データ群が、画素ブロック内の各画素の位置が副走査方向において反転した状態で、順にＤＣＴ変換部５３に入力される。
【００８５】
画素ブロック内の各画素の位置を副走査方向において反転させる加工は、入力制御部５１７に制御されて、主入力部５１１が、図７Ａに示す矢印に従って、読取画像データＤＩ内の画素データ群を読み出すことにより実現される。図７Ａでは、ダミー付画像データＤ１において一つの画素ブロックを構成する読取画像データＤＩ内の領域を破線で区切って表す。また、ダミーデータが挿入される領域を、格子状のハッチング領域で表す。即ち、上記加工は、一つの画素ブロックを構成する画素データ群をＲＡＭ１５から読み出す過程で、画素ブロック内の画素データ群を、ライン毎に、副走査方向において逆方向から読み出し、これにより、画素データ群の配列を副走査方向において反転させることにより実現される。
【００８６】
このような加工を経て、ＤＣＴ変換部５３には、図７Ｂに示す矢印に沿って、ダミー付画像データＤ１を構成する画素データ群が、画素ブロック内の各画素の位置が副走査方向において反転した状態で、順にＤＣＴ変換部５３に入力される。図７Ｂに示す格子状のハッチング領域内のデータは、ダミーデータである。
【００８７】
詳述すれば、ＤＣＴ変換部５３には、主走査方向に沿って、画素ブロック（１，１）、画素ブロック（１，２）、画素ブロック（１，３）の順に、対応する画素データ群がＤＣＴ変換部５３に入力される。ここで、画素ブロック（ｍ，ｎ）は、第ｍ行第ｎ列の画素ブロックを示す。変数ｍ，ｎは、１以上の自然数である。そして、同一行の最終列の画素ブロック（１，Ｎ）の画素データ群がＤＣＴ変換部５３に入力されると、続いて、次行先頭列の画素ブロック（２，１）から順に、同一行の画素ブロック（２，ｎ）の画素データ群が順にＤＣＴ変換部５３に入力される。
【００８８】
ＤＣＴ変換部５３は、このようにしてデータ入力部５１から入力される画素データ群を、画素ブロック単位で離散コサイン変換（ＤＣＴ）した後、量子化部５５に入力する。即ち、ＤＣＴ変換部５３は、ダミー付画像データを構成する画素ブロック毎のブロックデータであって、画素ブロック内の各画素の位置が副走査方向において反転されたブロックデータを順次、離散コサイン変換して、量子化部５５に入力する。ＤＣＴ変換部５３は、各ブロックデータの離散コサイン変換が終了する度に、更新信号を入力制御部５１７に入力することにより、データ入力部５１からの画素データ群の入力タイミングを制御する。
【００８９】
量子化部５５は、離散コサイン変換されたブロックデータの夫々を、量子化テーブルを用いて量子化し、この量子化されたブロックデータである量子化ブロックデータを、ジグザグシーケンス部５６に入力する。
【００９０】
ジグザグシーケンス部５６は、量子化部５５から入力される量子化ブロックデータ毎に、この量子化ブロックデータを、一次元のデータ列に変換して符号化部５７に入力する。符号化部５７は、ジグザグシーケンス部５６からの入力データをエントロピー符号化する。そして、この符号化データをデータ出力部５９に入力する。画素ブロック単位の符号化データは、上述した圧縮ブロックデータに対応する。
【００９１】
データ出力部５９は、符号化部５７から入力される符号化データに対して、ヘッダ、エンドマーカ（ＥＯＩ）及びリスタートマーカ（ＦＦＤ０〜ＦＦＤ７）等の付属データを付すことにより、ＪＰＥＧ方式の圧縮画像データＤ２を、ＲＡＭ１５に出力する。ここで言う圧縮画像データＤ２は、上述した圧縮画像データＤ２１，Ｄ２２，Ｄ２３，Ｄ２４の一つに対応する。
【００９２】
図６に示すように、圧縮画像データＤ２は、付属データとして、その先頭にヘッダを備え、その終端にエンドマーカを有する。この圧縮画像データＤ２は更に、バンド単位で圧縮ブロックデータの組に対してリスタートマーカを有した構成にされる。図６に示すバンドデータは、１バンド分の圧縮ブロックデータの組に対応する。第ｉバンドデータは、ダミー付画像データＤ１の先頭からｉ行目の圧縮ブロックデータの組に対応する。変数ｉは、１以上の自然数である。
【００９３】
周知のようにリスタートマーカには、０番から７番までの範囲で識別番号が割り当てられる。第ｉバンドデータの後端には、識別番号が（ｉ−１）であるリスタートマーカが付される。ｉ＞８であるとき、第ｉバンドデータの後端には、識別番号が（ｉ−１）％８であるリスタートマーカが付される。ここで用いた記号％は、剰余演算子であり、（ｉ−１）％８は、値（ｉ−１）を８で除算したときの余りを示す。
【００９４】
ここで、圧縮ユニット４１によって実現される処理の流れを概念的に、図８を用いて説明する。読取画像データＤＩに対応する圧縮画像データＤ２を生成するに際して、圧縮ユニット４１は、データ出力部５９を介してヘッダを出力する（Ｓ１１０）。更に、データ入力部５１を介して処理対象の画素ブロックを構成する画素データ群をＲＡＭ１５から読み出し、必要に応じてダミーデータを加えて、ダミー付画像データＤ１における処理対象の画素ブロックのブロックデータであって、画素ブロック内の画素位置を副走査方向に反転したブロックデータを生成する（Ｓ１２０）。このブロックデータを、ＤＣＴ変換部５３、量子化部５５、ジグザグシーケンス部５６及び符号化部５７を介して圧縮（符号化）し、圧縮ブロックデータに変換する。この圧縮ブロックデータを、ヘッダに続くデータとして出力する（Ｓ１３０）。
【００９５】
圧縮ユニット４１は、これらＳ１２０，Ｓ１３０に係る処理を１バンド分の画素ブロックの夫々に対して実行する。圧縮ユニット４１は、これらの処理を１バンド分の画素ブロックの夫々に対して実行した場合であって（Ｓ１４０でＹｅｓ）、全画素ブロックに対する実行が未完了である場合（Ｓ１５０でＮｏ）、１バンド分の圧縮ブロックデータ群に続けてリスタートマーカを出力する（Ｓ１６０）。
【００９６】
圧縮ユニット４１は、上述した処理（Ｓ１２０，Ｓ１３０，Ｓ１４０，Ｓ１５０，Ｓ１６０）を、全画素ブロックに対して実行するまで、繰返し実行する。そして、全画素ブロックに対する実行が完了すると（Ｓ１５０でＹｅｓ）、最終バンドの圧縮ブロックデータ群に続けてエンドマーカを出力して（Ｓ１７０）、読取画像データＤＩに対応する圧縮画像データＤ２をＲＡＭ１５上に生成する。
【００９７】
上述した圧縮ユニット４１Ａ，４１Ｂ，４１Ｃ，４１Ｄの動作により、ＲＡＭ１５には、ダミーデータのライン数Ｌが異なる複数の圧縮画像データＤ２１，Ｄ２２，Ｄ２３，Ｄ２４が記憶される。
【００９８】
選択ユニット４５（図５参照）は、これらの圧縮画像データＤ２１，Ｄ２２，Ｄ２３，Ｄ２４の一つを、加工対象に選択し、選択した加工対象の圧縮画像データを加工ユニット４７に入力する。具体的に、選択ユニット４５は、原稿Ｐの先頭ラインから末尾ラインまでの読取動作の完了により特定される読取画像データＤＩの総ライン数Ｇに基づいて加工対象を選択する。
【００９９】
詳述すれば、選択ユニット４５は、総ライン数Ｇを画素ブロックのライン数Ｈ＝１６で除算した場合の剰余Ｒ＝Ｇ％Ｈを基準に、加工対象を選択する。具体的に、選択ユニット４５は、ＲＡＭ１５に記憶される圧縮画像データＤ２１，Ｄ２２，Ｄ２３，Ｄ２４の内、読取画像データＤＩの先頭ラインよりも前に追加されたダミーデータのライン数Ｌと剰余Ｒとの加算値Ｌ＋Ｒが、画素ブロックのライン数Ｈ以下で最大の圧縮画像データＤ２を、加工対象に選択する。但し、剰余Ｒ＝０であるときには、ライン数Ｌ＝０である圧縮画像データＤ２１を加工対象に選択する。このようにして、選択ユニット４５は、読取画像データＤＩの末尾ラインより後に付されたダミーデータのライン数が最小の圧縮画像データＤ２を加工対象に選択する。
【０１００】
また、加工ユニット４７は、加工対象に選択された圧縮画像データＤ２に基づいて、図９Ａに示す処理を実行することにより、読取画像を副走査方向に反転した画像を表す反転圧縮画像データＤＯを生成する。
【０１０１】
加工ユニット４７は、反転圧縮画像データＤＯのヘッダとして、加工対象の圧縮画像データＤ２が有するヘッダのコピーデータをＲＡＭ１５上に書き込む（Ｓ２１０）。その後、図９Ｂに示すように、加工対象の圧縮画像データＤ２内を末尾から逆方向に順に参照する（Ｓ２２０）。
【０１０２】
この参照動作中に、リスタートマーカを検出すると（Ｓ２３０でＹｅｓ）、加工ユニット４７は、当該参照動作を中断する。そして、検出されたリスタートマーカから正方向（参照方向とは反対方向）に遡って最初に現れるマーカ（エンドマーカ）までの間に位置するデータを、１バンド分の圧縮ブロックデータの組、即ちバンドデータとみなして、このバンドデータのコピーデータを、反転圧縮画像データＤＯのヘッダに続けて書き込む（Ｓ２５０）。更にリスタートマーカ（ＦＦＤ０）を追加し（Ｓ２６０）、Ｓ２２０に移行する。
【０１０３】
Ｓ２２０では、参照動作を中断地点から再開する。そして、リスタートマーカを検出すると（Ｓ２３０でＹｅｓ）、加工ユニット４７は、このリスタートマーカから正方向に遡って最初に現れるマーカ（リスタートマーカ）までの間に位置するデータを、バンドデータとみなして、このバンドデータのコピーデータを、生成途中の反転圧縮画像データＤＯに追加する（Ｓ２５０）。更にリスタートマーカ（ＦＦＤ１）を書き込み（Ｓ２６０）、Ｓ２２０に移行する。
【０１０４】
このようにして、加工ユニット４７は、加工対象の圧縮画像データＤ２内を逆方向に参照し、リスタートマーカを検出する度に、このリスタートマーカを基準に特定されるバンドデータのコピーデータを、生成途中の反転圧縮画像データＤＯに追加する（Ｓ２５０）。更に、再付番したリスタートマーカを書き込む（Ｓ２６０）。
【０１０５】
加工ユニット４７は、その後、リスタートマーカではなくヘッダを検出すると（Ｓ２４０でＹｅｓ）、ヘッダから正方向に遡って最初に現れるリスタートマーカまでの間に位置するバンドデータのコピーデータを、生成途中の反転圧縮画像データＤＯに追加する（Ｓ２７０）。更に、エンドマーカを付して（Ｓ２８０）、ＲＡＭ１５上に反転圧縮画像データＤＯを完成させる。
【０１０６】
このようにして図９Ａに示す処理を実行することにより、加工ユニット４７は、加工対象の圧縮画像データＤ２が有する圧縮ブロックデータ群をバンド単位で並び替え、更にはリスタートマーカを付け直すようにして、図９Ｂの下段に示すように構成される反転圧縮画像データＤＯを生成する。
【０１０７】
上述したように、本実施例の画像読取装置１によれば、読取デバイス２０が原稿Ｐの両面を主走査方向に沿うライン毎に読み取る読取動作を、副走査方向に複数回繰返し実行することにより、原稿Ｐの片面毎に、読取画像データＤＩを生成する。具体的には、読取デバイス２０は、読取動作毎に、１ライン分の画素データ群を備えるライン画像データを生成して、これを順次ＲＡＭ１５に書き込む。
【０１０８】
ＪＰＥＧ圧縮回路４０Ａ，４０Ｂは、読取デバイス２０から最終ラインまでのライン画像データがＲＡＭ１５に提供される前に、ＲＡＭ１５に１バンド分の画素データ群が蓄積される度、１バンド分の画素ブロックの夫々に対する圧縮処理を開始する。
【０１０９】
更に特徴的なことに、圧縮ユニット４１は、画素ブロックに対応する圧縮ブロックデータを生成する際、ＲＡＭ１５が記憶する画素ブロック内の画素データ群を、副走査方向において逆方向に読み出す。これにより、圧縮ユニット４１は、画素ブロック内の画素データ群を、画素ブロック内の各画素の位置を副走査方向に反転させるように加工して圧縮し、画素ブロック内の読取画像が上下反転した圧縮ブロックデータを生成する。このようにして、圧縮ユニット４１は、画素ブロック内の読取画像が上下反転した圧縮ブロックデータを画素ブロック毎に有する圧縮画像データＤ２を生成する。
【０１１０】
加工ユニット４７は、この圧縮ユニット４１により生成された圧縮画像データＤ２が有する圧縮ブロックデータを、バンド単位で並び替えることにより、圧縮画像データＤ２が表す画像を、読取画像の上下反転画像に変換するように圧縮画像データＤ２を加工する。
【０１１１】
このように本実施例によれば、最終ライン（末尾ライン）までの読取動作が終了する前に、１バンド分の画素データ群がＲＡＭ１５に蓄積される度、その画素データ群を画素ブロック単位で加工及び圧縮する。このため、効率的に反転圧縮画像データＤＯを生成することが可能である。
【０１１２】
例えば、読取画像データＤＩが完成してから、反転圧縮画像データＤＯを生成する場合には、圧縮されていない大きなデータサイズの読取画像データＤＩをＲＡＭ１５に記憶する必要がある。これに対し、本実施例によれば、効率的にＲＡＭ１５を利用することができ、反転圧縮画像データＤＯの生成作業に必要なデータ記憶領域のサイズを抑えることができる。
【０１１３】
また、本実施例によれば、読取画像データＤＩが完成してから圧縮を開始する場合よりも、迅速に反転圧縮画像データＤＯを完成させることができるといった利点がある。従って、本実施例によれば、反転圧縮画像データＤＯを迅速にユーザに提供したり、反転圧縮画像データＤＯに基づく印刷物を迅速にユーザに提供したりすることができる。即ち、本実施例によれば、効率的に短辺綴じに適合した反転圧縮画像データＤＯを生成及び出力することができる。
【０１１４】
この他、本実施例によれば、バンド単位で圧縮ブロックデータの組を並び替えるために、バンド単位の圧縮ブロックデータの組（バンドデータ）毎にリスタートマーカ（ＦＦＤ０〜ＦＦＤ７）を付した。そして、加工ユニット４７では、このリスタートマーカに基づいて、バンド単位の圧縮ブロックデータの組を特定して、バンド単位で圧縮ブロックデータを並び替え、更にはリスタートマーカを付け直すようにして、圧縮画像データＤ２を加工するようにした。従って、本実施例によれば、圧縮画像データＤ２から反転圧縮画像データＤＯへの変換を適切且つ効率的に行うことができる。
【０１１５】
また、ＪＰＥＧ方式では、画素ブロック単位で読取画像データＤＩを圧縮するために読取画像データＤＩのライン数が画素ブロックの整数倍である必要がある。従来では、このようなライン数の調整を、読取画像データＤＩの末尾ラインより後に余白画像を表すダミーデータを追加して行っていた。
【０１１６】
しかしながら、ダミーデータを読取画像データＤＩの末尾ラインより後のみに追加すると、反転圧縮画像データＤＯに基づいて、画像印刷を用紙に対して行った場合、ダミーデータに基づく余白画像が用紙の先頭側に表れ、真の読取画像が用紙の下端側に偏って表れる。この偏りは、ユーザに不満を及ぼす可能性がある。
【０１１７】
そこで、本実施例では、読取画像データＤＩの先頭ラインより前にダミーデータを付すようにした。従って、本実施例によれば、反転圧縮画像データＤＯに基づいて、読取画像の反転画像を用紙に印刷する際に、その反転画像が用紙後端に偏って印刷されてしまうのを抑えることができる。
【０１１８】
特に本実施例では、ＪＰＥＧ圧縮回路４０Ｂに、複数の圧縮ユニット４１Ａ，４１Ｂ，４１Ｃ，４１Ｄを設けた。そして、圧縮ユニット４１Ａ，４１Ｂ，４１Ｃ，４１Ｄの夫々では、読取画像データＤＩの先頭ラインより前及び末尾ラインより後の少なくとも一方にダミーデータを追加することにより、画素ブロックのライン数Ｈに対して整数倍のライン数Ｑを有するダミー付画像データＤ１１，Ｄ１２，Ｄ１３，Ｄ１４を生成するが、圧縮ユニット４１Ａ，４１Ｂ，４１Ｃ，４１Ｄ間では、先頭ラインより前に追加するダミーデータのライン数Ｌを互いに変えるようにした。
【０１１９】
そして、これらダミー付画像データＤ１１，Ｄ１２，Ｄ１３，Ｄ１４に対応する圧縮画像データＤ２１，Ｄ２２，Ｄ２３，Ｄ２４の中から、末尾ライン側のダミーデータのライン数が最小の圧縮画像データを加工対象に選択し、反転圧縮画像データＤＯを生成するようにした。従って、本実施例によれば、読取画像データＤＩのライン数Ｇを事前に特定できないケースにおいても、反転画像が用紙後端に偏って印刷されてしまうのを抑えることのできる反転圧縮画像データＤＯを生成することができる。
【０１２０】
ここで、上述した画像読取装置１について補足説明する。ＪＰＥＧ圧縮回路４０Ｂは、読取画像を上下反転させる処理を実行せずに、原稿Ｐの第二面（うら面）の読取画像データＤＩを、圧縮画像データに変換可能な構成にされてもよい。反転圧縮画像データＤＯの生成が必要になるケースは、短辺綴じ用の原稿Ｐ１を印刷するケースなどの一部のケースに限られる。従って、ＪＰＥＧ圧縮回路４０Ｂは、ＣＰＵ１１からの指示に従って、反転圧縮画像データＤＯを生成する動作モード、及び、読取画像を上下反転せずに読取画像データＤＩを圧縮画像データに変換する動作モードのいずれかによって動作するように構成されてもよい。
【０１２１】
また、ＪＰＥＧ圧縮回路４０Ａは、既知のＪＰＥＧ圧縮回路と同様に構成されればよい。即ち、ＪＰＥＧ圧縮回路４０Ａは、読取画像データＤＩを画素ブロック単位で、画素ブロック内の各画素の位置を副走査方向に反転する加工をせずに圧縮することにより、原稿Ｐの読取画像を表す圧縮画像データとして、画素ブロック毎の圧縮ブロックデータを備える圧縮画像データをＲＡＭ１５上に生成するように構成されればよい。
【０１２２】
読取画像データＤＩのライン数Ｇが画素ブロックのライン数Ｈの整数倍でない場合には、ダミーデータを読取画像データＤＩの末尾ラインに付して、ライン数を調整したダミー付画像データを圧縮するように、ＪＰＥＧ圧縮回路４０Ａは、構成されればよい。即ち、ＪＰＥＧ圧縮回路４０Ａは、圧縮ユニット４１と同様のハードウェア構成を有する圧縮ユニットであって、ＲＡＭ１５から正方向に画素データ群を読み出す圧縮ユニットとして構成され得る。
【０１２３】
このように、ＪＰＥＧ圧縮回路４０Ａとしての機能は、ＪＰＥＧ圧縮回路４０Ｂの一部構成を利用して実現可能であるため、ＪＰＥＧ圧縮回路４０Ａ，４０Ｂは一つにまとめられてもよい。この他、圧縮ユニット４１Ａ，４１Ｂ，４１Ｃ，４１Ｄは、重複する回路を共通化した一つの圧縮ユニットとして構成されてもよい。また、選択ユニット４５及び加工ユニット４７としての機能は、ソフトウェアにより実現されてもよい。選択ユニット４５及び加工ユニット４７としての機能は、ＪＰＥＧ圧縮回路４０Ｂではなく、ＣＰＵ１１がプログラムを実行することにより、実現され得る。
【０１２４】
この他、画像読取装置１は、図１０及び図１１に示すタイムチャートに従って動作するように構成されてもよい。図１０及び図１１によれば、第四圧縮ユニットとしての圧縮ユニット４１Ｄは、読取画像データＤＩの先頭ラインより前に１２ライン分のダミーデータを追加することから、第１バンドデータを構成する画素データ群として、読取画像データＤＩを構成する先頭ラインから４ライン分の画素データ群がＲＡＭ１５に蓄積された時点で、１バンド分の圧縮処理を実行する。この圧縮処理では、第１バンドデータを構成する画素ブロック毎の圧縮ブロックデータを生成してＲＡＭ１５に書き込む。
【０１２５】
その後、圧縮ユニット４１Ｄは、読取画像データＤＩを構成する第（１６×Ｊ＋５）ラインから第（１６×Ｊ＋２０）ラインまでの画素データ群がＲＡＭ１５に蓄積される度に（Ｊは０以上の整数）、第（Ｊ＋２）バンドを構成する画素ブロック毎の圧縮ブロックデータを生成することにより、圧縮画像データＤ２４を生成する。
【０１２６】
一方、第三圧縮ユニットとしての圧縮ユニット４１Ｃは、読取画像データＤＩの先頭ラインより前に８ライン分のダミーデータを追加することから、第１バンドデータを構成する画素データ群として、読取画像データＤＩを構成する先頭ラインから８ライン分の画素データ群がＲＡＭ１５に蓄積された時点で、１バンド分の圧縮処理を実行する。その後、圧縮ユニット４１Ｃは、読取画像データＤＩを構成する第（１６×Ｊ＋９）ラインから第（１６×Ｊ＋２４）ラインまでの画素データ群がＲＡＭ１５に蓄積される度に、第（Ｊ＋２）バンドデータを構成する画素ブロック毎の圧縮ブロックデータを生成することにより、圧縮画像データＤ２３を生成する。
【０１２７】
第二圧縮ユニットとしての圧縮ユニット４１Ｂは、読取画像データＤＩの先頭ラインより前に４ライン分のダミーデータを追加することから、第１バンドデータを構成する画素データ群として、読取画像データＤＩを構成する先頭ラインから１２ライン分の画素データ群がＲＡＭ１５に蓄積された時点で、１バンド分の圧縮処理を実行する。その後、圧縮ユニット４１Ｂは、読取画像データＤＩを構成する第（１６×Ｊ＋１３）ラインから第（１６×Ｊ＋２８）ラインまでの画素データ群がＲＡＭ１５に蓄積される度に、第（Ｊ＋２）バンドデータを構成する画素ブロック毎の圧縮ブロックデータを生成することにより、圧縮画像データＤ２２を生成する。
【０１２８】
第一圧縮ユニットとしての圧縮ユニット４１Ａは、読取画像データＤＩの先頭ラインより前にダミーデータを追加しないことから、第１バンドデータを構成する画素データ群として、読取画像データＤＩを構成する先頭ラインから１６ライン分の画素データ群がＲＡＭ１５に蓄積された時点で、１バンド分の圧縮処理を実行する。その後、圧縮ユニット４１Ａは、読取画像データＤＩを構成する第（１６×Ｊ＋１７）ラインから第（１６×Ｊ＋３２）ラインまでの画素データ群がＲＡＭ１５に蓄積される度に、第（Ｊ＋２）バンドデータを構成する画素ブロック毎の圧縮ブロックデータを生成することにより、圧縮画像データＤ２１を生成する。
【０１２９】
そして、ＪＰＥＧ圧縮回路４０Ｂは、圧縮ユニット４１Ａによる先頭ラインから第１６ラインまでの画素データ群についての圧縮ブロックデータ化が終了すると、不要になった先頭ライン（第１ライン）から第４ラインまでの画素データ群が書き込まれているＲＡＭ１５内の領域を上書き可能な領域に開放するための処理を実行する。その後、ＪＰＥＧ圧縮回路４０Ｂは、圧縮ユニット４１Ａ，４１Ｂ，４１Ｃ，４１Ｄの全てで圧縮ブロックデータ化の完了した画素データ群が書き込まれているＲＡＭ１５内の領域を、順次、上書き可能な領域に開放するための処理を実行する。
【０１３０】
具体的に、ＪＰＥＧ圧縮回路４０Ｂは、上書き可能な領域を通知する通知信号を、読取デバイス２０から提供される画素データ群をＲＡＭ１５に書き込む読取補正回路３５に対して入力することにより、上記開放するための処理を実行することができる。
【０１３１】
このように構成された画像読取装置１によれば、少ない記憶容量のメモリ（ＲＡＭ１５）を用いて効率的に読取画像データＤＩを反転圧縮画像データＤＯに変換することができ、大変有意義である。
【０１３２】
最後に用語間の対応関係について説明する。ＪＰＥＧ圧縮回路４０Ａ及びＪＰＥＧ圧縮回路４０Ｂが備える圧縮ユニット４１Ａ，４１Ｂ，４１Ｃ，４１Ｄは、本発明の圧縮装置が備える圧縮ユニットの一例に対応し、選択ユニット４５及び加工ユニット４７は、本発明の圧縮装置が備える加工ユニットの一例に対応する。ダミー追加部５１３、セレクタ５１５及び入力制御部５１７によって実現される機能は、追加ユニットによって実現される機能の一例に対応する。
【符号の説明】
【０１３３】
１…画像読取装置、１１…ＣＰＵ、１３…ＲＯＭ、１５…ＲＡＭ、２０…読取デバイス、２１Ａ，２１Ｂ…イメージセンサ、３１…読取制御回路、３３…Ａ／Ｄ変換器、３５…読取補正回路、３７…画像処理回路、４０Ａ，４０Ｂ…ＪＰＥＧ圧縮回路、４１，４１Ａ，４１Ｂ，４１Ｃ，４１Ｄ…圧縮ユニット、４５…選択ユニット、４７…加工ユニット、５１…データ入力部、５３…ＤＣＴ変換部、５５…量子化部、５６…ジグザグシーケンス部、５７…符号化部、５９…データ出力部、５１１…主入力部、５１３…ダミー追加部、５１５…セレクタ、５１７…入力制御部、Ｄ１，Ｄ１１，Ｄ１２，Ｄ１３，Ｄ１４…ダミー付画像データ、Ｄ２，Ｄ２１，Ｄ２２，Ｄ２３，Ｄ２４…圧縮画像データ、ＤＩ…読取画像データ、ＤＯ…反転圧縮画像データ、Ｐ，Ｐ０，Ｐ１…原稿。
【図１】
0006354532.tif 000002
【図２】
0006354532.tif 000003
【図３】
0006354532.tif 000004
【図４】
0006354532.tif 000005
【図５】
0006354532.tif 000006
【図６】
0006354532.tif 000007
【図７】
0006354532.tif 000008
【図８】
0006354532.tif 000009
【図９】
0006354532.tif 000010
【図１０】
0006354532.tif 000011
【図１１】
0006354532.tif 000012