(57)【特許請求の範囲】
【請求項１】
第１〜第Ｎの画像データを主走査方向に配列して合成する画像処理装置であって、
前記各画像データを圧縮してなる複数の圧縮画像データを前記主走査方向に向けて順次伸長する伸長手段と、
前記伸長手段によって得られた前記各画像データの一部を記憶するバッファと、
前記伸長手段によって得られた前記各画像データの各ラインの終端の不要画素を除去して出力するように、前記バッファに対する書き込みまたは読み出し制御を行う制御手段と、
前記伸長手段によって得られた前記第１〜第Ｎ−１の画像データを前記バッファを介して出力し、前記第Ｎの画像を前記バッファを介さずに出力する出力手段と、
を有することを特徴とする画像処理装置。
【請求項２】
第１〜第Ｎの画像データを主走査方向に配列して合成する画像処理装置であって、
前記各画像データを圧縮して成る複数の圧縮画像データを前記主走査方向に向けてブロック単位で順次伸長する伸長手段と、
前記伸長手段によって得られた前記各画像データの全部または一部を記憶するバッファと、
前記伸長手段によって得られた前記各画像データの終端のブロック内の不要画素を除去して出力するように、前記バッファに対する書き込みおよび読み出し制御を行う制御手段と、
前記伸長手段によって得られた前記第１〜第Ｎ−１の画像データを前記バッファを介して出力し、前記第Ｎの画像を前記バッファを介さずに出力する出力手段と、
を有することを特徴とする画像処理装置。
【請求項３】
前記バッファは、前記第１〜第Ｎ−１の画像データの各々における不要画素数の和に相当する記憶容量を有している
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記バッファは、前記伸長手段から出力されたブロック単位の画像データを入力し、これをライン単位の画像データとして出力するバッファであることを特徴とする請求項２記載の画像処理装置。
【請求項５】
前記制御手段は、前記バッファに記憶された前記不要画素を出力しないように制御することを特徴とする請求項１ないし４の何れかに記載の画像処理装置。
【請求項６】
前記制御手段は、前記バッファに前記不要画素が記憶されないように制御することを特徴とする請求項１ないし４の何れかに記載の画像処理装置。
【請求項７】
第１および第２の圧縮画像データを伸長して同一面上で出力する画像処理方法において、
前記第１の圧縮画像データの一部を伸長する第１過程と、
前記第２の圧縮画像データの一部であって、前記第１過程で伸長された前記第１の圧縮画像データの一部に対して主走査方向に沿って隣接すべき部分を伸長する第２過程と、
前記第１および第２過程で得られた伸長された画像データをバッファを介して出力する第３過程と、
前記第１の圧縮画像データの一部であって、既に伸長された部分に続く部分を伸長する第４過程と、
前記第２の圧縮画像データの一部であって、既に伸長された部分に続くとともに前記第４過程で伸長された前記第１の圧縮画像データの一部に対して主走査方向に沿って隣接すべき部分を伸長する第５過程と、
前記第４および第５過程で得られた伸長された画像データを出力する第６過程であって、該伸長された画像データに後続する画像データがある場合には、該伸長された画像データをバッファを介して出力する一方、後続する画像データがない場合には該伸長された画像データをバッファを介さずに出力する第６過程と、
前記第４〜第６過程を複数回繰返す第７過程と
を有することを特徴とする画像処理方法。
【請求項８】
請求項７記載の方法を実行することを特徴とする画像処理装置。
【請求項９】
請求項１〜６または８の何れかに記載の画像処理装置を含むことを特徴とする画像出力装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数ページ分の画像データを合成して１枚の用紙の同一面に出力する複写機やプリンタに用いて好適な画像処理装置、画像処理方法および画像出力装置に関する。
【０００２】
【従来の技術】
複写機およびプリンタ等においては、複数ページ分の画像データを合成して１枚の用紙の同一面に出力する機能を有するものが知られている。ここで、用紙の同一面に２ページ分の画像データを合成するモードを「２in１モード」、４ページ分の画像データを合成するモードを「４in１モード」といい、一般的にＮページ分の画像データを同一面に合成するモードを「Ｎin１モード」という。
【０００３】
Ｎin１モードを用いる場合には、メモリ容量を削減するために、同一面に出力される画像データを一旦圧縮しておくことが一般的である。圧縮方式としては、８×８画素から成るブロックを単位として圧縮するＪＰＥＧが広く用いられている。ここで、合成した画像データを用紙に出力する場合は、図１３(a)に示すように、用紙の短辺側を主走査方向にする場合と、用紙の長辺側を主走査方向にする場合とが考えられる。
【０００４】
特開平６−３１６３６３号公報においては、合成した画像データを圧縮されていない状態でページメモリに展開して出力する複写機が開示されている。この技術においては、ページメモリの読み出し方向を設定することによって図１３(a)，(b)のいずれの方向にも用紙を出力することができる。しかし、かかるページメモリには多大な記憶容量が必要になるという問題がある。
【０００５】
また、特開平５−２４４３８８号公報においては、２in１モードにおいて２ページ分の圧縮画像データを少しづつ伸長しながら出力する画像記録装置が開示されている。この技術においては、一方の圧縮画像データの伸長処理が終了した後に他方の伸長処理が開始されるため、用紙の出力方向は同図(a)の方向に限られてしまう。すなわち、用紙の搬送方向である副走査方向が長くなるため、出力速度が低下するという問題がある。
【０００６】
【発明が解決しようとする課題】
以上のように、従来の技術においては、用紙の長辺を主走査方向にするにはページメモリを設けるために多大な記憶容量が必要になり、ページメモリを削減するためには短辺側を主走査方向にせざるを得ず、出力速度が低下するという問題がある。この発明は上述した事情に鑑みてなされたものであり、少ない記憶容量で高速な画像出力を行える画像処理装置、画像処理方法および画像出力装置を提供することを第１の目的としている。
【０００７】
ところで、ＪＰＥＧ方式においては８×８画素から成るブロックを単位として画像データが圧縮されるが、実際の画像データのサイズは「８」の倍数になるとは限らない。従って、圧縮画像データの主走査方向および副走査方向のサイズは、実際の画像データのサイズ以上の「８」の倍数に変更され、追加された部分には不要画素（一般的には白色）が詰め込まれることになる。このように、不要画素を含めて拡大された圧縮画像データを図１４(a)に示す。
【０００８】
【課題を解決するための手段】
上記課題を解決するため本発明は、一の見地においては、第１〜第Ｎの画像データを主走査方向に配列して合成する画像処理装置であって、前記各画像データを圧縮してなる複数の圧縮画像データを前記主走査方向に向けて順次伸長する伸長手段と、前記伸長手段によって得られた前記各画像データの一部を記憶するバッファと、前記伸長手段によって得られた前記各画像データの各ラインの終端の不要画素を除去して出力するように、前記バッファに対する書き込みまたは読み出し制御を行う制御手段と、前記伸長手段によって得られた前記第１〜第Ｎ−１の画像データを前記バッファを介して出力し、前記第Ｎの画像を前記バッファを介さずに出力する出力手段とを有することを特徴とする。
また、本発明は他の見地においては、第１〜第Ｎの画像データを主走査方向に配列して合成する画像処理装置であって、前記各画像データを圧縮して成る複数の圧縮画像データを前記主走査方向に向けてブロック単位で順次伸長する伸長手段と、前記伸長手段によって得られた前記各画像データの全部または一部を記憶するバッファと、前記伸長手段によって得られた前記各画像データの終端のブロック内の不要画素を除去して出力するように、前記バッファに対する書き込みおよび読み出し制御を行う制御手段と、前記伸長手段によって得られた前記第１〜第Ｎ−１の画像データを前記バッファを介して出力し、前記第Ｎの画像を前記バッファを介さずに出力する出力手段とを有することを特徴とする。
また、本発明は他の見地においては、第１および第２の圧縮画像データを伸長して同一面上で出力する画像処理方法において、前記第１の圧縮画像データの一部を伸長する第１過程と、前記第２の圧縮画像データの一部であって、前記第１過程で伸長された前記第１の圧縮画像データの一部に対して主走査方向に沿って隣接すべき部分を伸長する第２過程と、前記第１および第２過程で得られた伸長された画像データをバッファを介して出力する第３過程と、前記第１の圧縮画像データの一部であって、既に伸長された部分に続く部分を伸長する第４過程と、前記第２の圧縮画像データの一部であって、既に伸長された部分に続くとともに前記第４過程で伸長された前記第１の圧縮画像データの一部に対して主走査方向に沿って隣接すべき部分を伸長する第５過程と、前記第４および第５過程で得られた伸長された画像データを出力する第６過程であって、該伸長された画像データに後続する画像データがある場合には、該伸長された画像データをバッファを介して出力する一方、後続する画像データがない場合には該伸長された画像データをバッファを介さずに出力する第６過程と、前記第４〜第６過程を複数回繰返す第７過程とを有することを特徴とする画像処理方法を有することを特徴とする。
【０００９】
【課題を解決するための手段】
上記課題を解決するため本発明は、一の見地においては、第１〜第Ｎの画像データを主走査方向に配列して合成する画像処理装置であって、前記各画像データを圧縮して成る複数の圧縮画像データを前記主走査方向に向けて順次伸長する伸長手段と、前記伸長手段によって得られた前記各画像データの一部を記憶するバッファと、前記伸長手段によって得られた前記各画像データの各ラインの終端の不要画素を除去して出力するように、前記バッファに対する書き込みまたは読み出し制御を行う制御手段とを有することを特徴とする。
また、本発明は他の見地においては、第１〜第Ｎの画像データを主走査方向に配列して合成する画像処理装置であって、前記各画像データを圧縮して成る複数の圧縮画像データを前記主走査方向に向けてブロック単位で順次伸長する伸長手段と、前記伸長手段によって得られた前記各画像データの全部または一部を記憶するバッファと、前記伸長手段によって得られた前記各画像データの終端のブロック内の不要画素を除去して出力するように、前記バッファに対する書き込みおよび読み出し制御を行う制御手段とを有することを特徴とする。
また、本発明は他の見地においては、第１および第２の圧縮画像データを伸長して同一面上で出力する画像処理方法において、前記第１の圧縮画像データの一部を伸長する第１過程と、前記第２の圧縮画像データの一部であって、前記第１過程で伸長された前記第１の圧縮画像データの一部に対して主走査方向に沿って隣接すべき部分を伸長する第２過程と、前記第１および第２過程で得られた伸長された画像データを出力する第３過程と、前記第１の圧縮画像データの一部であって、既に伸長された部分に続く部分を伸長する第４過程と、前記第２の圧縮画像データの一部であって、既に伸長された部分に続くとともに前記第４過程で伸長された前記第１の圧縮画像データの一部に対して主走査方向に沿って隣接すべき部分を伸長する第５過程と、前記第４および第５過程で得られた伸長された画像データを出力する第６過程と、前記第４〜第６過程を複数回繰返す第７過程とを有することを特徴とする。
【００１０】
【発明の実施の形態】
１．第１実施形態
１．１．実施形態の構成
次に本発明の一実施形態の画像処理装置の構成を図１に示す。本画像処理装置は、例えば複写機あるいはプリンタ等の画像出力装置に設けられるものである。図において１および２はコードＦＩＦＯバッファであり、原稿等から読み込まれた画像データをＪＰＥＧ方式で圧縮して成るＪＰＥＧコードが各々供給される。例えば、コードＦＩＦＯバッファ１には原稿の第１枚目のＪＰＥＧコード（第１ＪＰＥＧコード）が供給され、コードＦＩＦＯバッファ２には原稿の第２枚目のＪＰＥＧコード（第２ＪＰＥＧコード）が供給される。
【００１１】
なお、「ＦＩＦＯ」は「First-In First-Out」の略であり、書き込まれた順序でデータが読み出されるバッファを意味する。コードＦＩＦＯバッファ１，２は、第１，第２ＪＰＥＧコードを一時的に記憶し、後段の回路における伸長処理等に対してタイミング合わせを行うために設けられている。また、ＪＰＥＧコードとは、図３に示すように、原画像データを８×８画素から成るブロック単位に分割し、各ブロックを圧縮して成るコードである。
【００１２】
また、各ＪＰＥＧコードには、１ブロックライン毎にブロックラインの終端を表示するＥＯＩマーカコードが挿入される。３はコード入力部であり、後述するコード選択信号に基づいてコードＦＩＦＯバッファ１，２の何れか一方を選択して読み出し、読み出したＪＰＥＧコードを出力する。４は伸長部であり、コード入力部３から出力されたＪＰＥＧコードを伸長し、伸長された画像データ（伸長画像データ）をブロック単位で順次出力する。
【００１３】
５はブロックバッファ部であり、伸長部４から出力された伸長画像データをブロック単位で順次記憶するとともに、記憶した伸長画像データを１ライン単位で出力する。ここで、ブロックバッファ部５の構成を図４(a)に示す。図においてブロックバッファ部５は、ブロックバッファ５０１，５０２から構成される。ブロックバッファ５０１，５０２は、各々「２（Ｍ＋Ｎ）×８」画素の容量を有している。ここでＭは有効画素数であり、圧縮される前の原画像データの横方向の幅に等しい。Ｎは不要画素数であり、「Ｍ＋Ｎ」を「８」の倍数にそろえるための不要画素の数（０〜７）である。これは、ＪＰＥＧ方式においては、主走査方向および副走査方向の画素数を「８」の倍数に設定することを前提にしているためである。
【００１４】
従って、ブロックバッファ部５全体では、「４（Ｍ＋Ｎ）×８」画素の記憶容量を有する。ブロックバッファ５０１，５０２は、一方が書込み状態になっている時に他方は読出し状態に設定される。そして、「２」ブロックライン毎に書込み／読出し状態が切換られる。これにより、ブロックバッファ部５全体としては、書込み／読出し動作を連続的に行うことができる。次に、同図(b)にブロックバッファ部５における書き込み順序を示す。伸長部４からはブロック単位の伸長画像データが供給されるため、ブロックバッファ部５においては最初のブロックの第１ライン、同ブロックの第２ライン、……同ブロックの第８ラインの順で伸長画像データが書き込まれる。以後のブロックに対しても同様である。
【００１５】
一方、ブロックバッファ部５における伸長画像データの読み出し順序を同図(c)に示す。画像出力装置にはライン毎に伸長画像データを供給する必要があるため、最初にブロックバッファ部５内の全ブロックの第１ラインの内容が読み出され、次に第２ライン、……、第８ラインの順で同様に伸長画像データが読み出されることになる。
【００１６】
図１に戻り、６は伸長制御部であり、コード入力部３から出力されたＪＰＥＧコードを監視しマーカコードを検出するとともに、コード入力部３に対してコード選択信号を供給する。ここで、コード選択信号は、ＥＯＩマーカコードが検出される度に（「１」ブロックライン毎に）切り替えられる。これにより、コード入力部３は、「１」ブロックラインの第１ＪＰＥＧコードと、主走査方向に沿ってこれに隣接して出力されるべき部分における「１」ブロックラインの第２ＪＰＥＧコードとを交互に出力することになる。
【００１７】
また、伸長制御部６は、ブロックバッファ部５に対してライトポインタ、ライトイネーブル信号、リードポインタ、リードイネーブル信号を供給することにより、ブロックバッファ部５に対する読み出し／書き込み制御を行う。ここでライトポインタとは書き込みアドレス、ライトイネーブル信号は書き込みを許可する信号、リードポインタは読み出しアドレス、リードイネーブル信号は読み出しを許可する信号である。
【００１８】
ここで、伸長部４からブロックバッファ部５に供給される伸長画像データを図５に示す。図において第１ＪＰＥＧコードの第１ブロックラインに対応する伸長画像データは、８×８画素のブロック単位で順次ブロックバッファ部５に転送される。ここで第１ＪＰＥＧコードの原画像データの主走査方向の有効画素数が８の倍数でない場合には、最終ブロックにはＮ（＝１〜７）画素の不要画素が含まれることになる。
【００１９】
次に、第１ＪＰＥＧコードと同様に、第２ＪＰＥＧコードの第１ブロックラインに対応する伸長画像データが、ブロック単位で順次ブロックバッファ部５に転送される。この伸長画像データにおいても、原画像データの主走査方向の有効画素数が８の倍数でない場合には、最終ブロックにはＮ（＝１〜７）画素の不要画素が含まれることになる。以後の第２ブロックラインから最終ブロックラインに至る各ブロックラインにも、同様に不要画素が含まれる。
【００２０】
１．２．実施形態の動作
次に、本実施形態の動作を説明する。まず、最初に伸長制御部６に上記有効画素数Ｍ、不要画素数Ｎ、および副走査方向のブロックライン数Ｌが記憶される。これらは、例えば検出した用紙サイズ等に基づいて決定される。次に、図示せぬスキャナ等によって原稿が２枚読取られ、それぞれの原画像データが圧縮されることによって第１，第２ＪＰＥＧコードが生成される。次に、これら第１，第２ＪＰＥＧコードがコードＦＩＦＯバッファ１，２に各々供給され始めると、コード入力部３はコード選択信号に基づいて切り替えられつつコードＦＩＦＯバッファ１，２の読み出しを開始する。
【００２１】
これにより、コード入力部３より、第１，第２ＪＰＥＧコードが切り替えられつつ出力される。次に、伸長部４においては、供給されたＪＰＥＧコードが伸長され、１ブロック単位で伸長画像データが出力される。次に、伸長制御部６においては、ブロックバッファ部５に対してライトイネーブル信号が供給され、かつ、図４(b)に示した順序に従って伸長画像データが書き込まれるようにライトポインタの値が設定される。
【００２２】
ここで、第１，第２ＪＰＥＧコードの各第１ブロックラインに対する伸長処理が終了すると、ブロックバッファ部５の内容（正確にはブロックバッファ５０１，５０２のうち一方の内容、以下同）は図６(a)に示すようになる。ここで、伸長制御部６からブロックバッファ部５に対してリードイネーブル信号が供給されるとともに、不要画素をスキップしつつ伸長画像データを１ライン毎に読み出すようにリードポインタの値が設定される。すなわち、リードポインタは最初にブロックバッファ部５の先頭アドレス（０）に設定され、「Ｍ−１」に達するまで、リードポインタが１づつインクリメントされる。
【００２３】
リードポインタが「Ｍ−１」に達すると、リードポインタは次に「Ｍ＋Ｎ」に設定され、「２Ｍ＋Ｎ−１」に達するまで、リードポインタがさらに１づつインクリメントされる。リードポインタが「２Ｍ＋Ｎ−１」に達すると、次にリードポインタは第２ラインの先頭アドレス（Ｘとする）に設定される。次に、リードポインタは、「Ｘ＋Ｍ−１」に達するまで１づつインクリメントされ、次に「Ｘ＋Ｍ＋Ｎ」に設定される。そして、「Ｘ＋２Ｍ＋Ｎ−１」に達するまで１づつインクリメントされる。
【００２４】
以後、上記「Ｘ」を第３〜第８ラインの先頭アドレスに代えて、上述した処理が繰返される。これにより、図６(b)に示すように、不要画素をスキップしつつ、伸長画像データがライン毎に連続的に読み出される。読み出された画像データは、図示せぬ出力エンジン等を介して出力され、不要画素を除去した出力画像が得られることになる。
【００２５】
２．第２実施形態
２．１．実施形態の構成
次に、本発明の第２実施形態の構成を図９を参照し説明する。
図において１１，１２，……１ｉはコードＦＩＦＯバッファであり、第１実施形態におけるコードＦＩＦＯバッファ１，２と同様に構成されて各々第１，第２，……，第ｉＪＰＥＧコードを記憶する。２３はコード入力部であり、コード選択信号に基づいて上記コードＦＩＦＯバッファ１１，１２，……１ｉのうち何れかを選択して読み出し、読み出したＪＰＥＧコードを出力する。
【００２６】
２４は伸長部であり、第１実施形態の伸長部４と同様に、受信したＪＰＥＧコードをラスタデータに伸長する。但し、伸長部２４はブロック単位の伸長画像データをライン単位の伸長画像データに変換して出力する点が異なる。
【００２７】
２７はラインバッファ部であり、第１，第２，……，第ｉＪＰＥＧコードに対応する伸長画像データの不要画素数をＮ1，Ｎ2，……，Ｎiとしたとき、「Ｎi」を除いた合計である不要画素数ＮT（但し、ＮT＝Ｎ1＋Ｎ2＋……＋Ｎi-1）に相当する記憶容量を有するシフトレジスタによって構成されている。換言すれば、ラインバッファ部２７は不要画素数ＮTに相当する最大遅延時間を有する遅延回路である。そして、ラインバッファ部２７に対してデータを入力するタップ位置は自在に設定することができ、これによって所望の遅延時間を得ることが可能である。
【００２８】
２８はデータ出力部であり、第１，第２，……，第（ｉ−１）ＪＰＥＧコードに対応する伸長画像データをラインバッファ部２７から受信するとともに、第ｉＪＰＥＧコードに対応する伸長画像データを伸長部２４から受信し、これら受信した伸長画像データを出力する。
【００２９】
２６は伸長制御部であり、上記各構成要素を制御する。まず、伸長制御部２６は、コードＦＩＦＯバッファ１１，１２，……１ｉが循環的に選択されるようにコード入力部２３に対してコード選択信号を供給する。すなわち、伸長制御部２６にあってはコード入力部２３から出力されるＪＰＥＧコードが監視され、ＥＯＩマーカコードが検出されると、次のコードＦＩＦＯバッファに切り替えるようコード選択信号を出力する。
【００３０】
これにより、第１，第２，……，第（ｉ−１）ＪＰＥＧコードは、ブロックライン毎に、伸長部２４に順次入力されることになる。さらに、伸長制御部２６は、ラインバッファ部２７およびデータ出力部２８を制御するが、その詳細については動作とともに説明する。
【００３１】
２．２．実施形態の動作
次に、本実施形態の動作を説明する。最初に伸長制御部２６には、各ＪＰＥＧコードに対応する伸長画像データ中における不要画素数Ｎ1，Ｎ2，……，Ｎiが記憶される。また、第１，第２，……，第ｉＪＰＥＧコードは予め得られていることとする。
【００３２】
次に、伸長制御部２６は、コード入力部２３に対して、コードＦＩＦＯバッファ１１を選択させるコード選択信号を供給する。これにより、コード入力部２３を介して第１ＪＰＥＧコードが伸長部２４に供給される。ここで第１ＪＰＥＧコードに含まれるＥＯＩマーカコードが伸長制御部２６によって検出されると、次にコードＦＩＦＯバッファ１２を選択させるコード選択信号がコード入力部２３に供給される。
【００３３】
以下同様に、第１，第２，……，第ｉＪＰＥＧコードの第１ブロックラインが全て伸長部２４に供給されると、伸長部２４から合成後のライン単位の伸長画像データが出力される。まず、伸長部２４から第１ＪＰＥＧコードに対応する伸長画像データの第１ラインの画像データが出力される。その時、ラインバッファ部２７にはライトイネーブル信号が供給され、該画像データはラインバッファ部２７に順次記憶されることになる。
【００３４】
次に、不要画素数ＮT（但し、ＮT＝Ｎ1＋Ｎ2＋……＋Ｎi-1）に相当する時間が経過すると、上記画像データは入力された順序でラインバッファ部２７から出力される。その際、ラインバッファ部２７側を選択するように、伸長制御部２６からデータ出力部２８に対してラスタ選択信号が供給され、ラインバッファ部２７から出力された画像データはそのままデータ出力部２８を介して出力される。
【００３５】
一方、伸長部２４においては、第１ＪＰＥＧコードに対応する伸長画像データの第１ラインの画像データの出力が完了すると、第２ＪＰＥＧコードに対応する伸長画像データの第１ラインの画像データが出力される。その際、伸長制御部２６の制御により、ラインバッファ部２７のタップ位置が変更され、Ｎ2＋Ｎ3＋……＋Ｎi-1（ＮTよりもＮ1だけ少ない画素数）に相当する時間だけ遅延するように該画像データが入力される。
【００３６】
換言すれば、第１ＪＰＥＧコードに対応する伸長画像データの第１ラインの末尾にあった画素数Ｎ1の不要画素は、上書きされることになる。これにより、ラインバッファ部２７から第１ＪＰＥＧコードに対応する伸長画像データの第１ラインの有効画素が全て出力されると、これに引き続いて第２ＪＰＥＧコードに対応する伸長画像データの第１ラインの有効画素が出力されることになる。
【００３７】
以後同様に、第ｐＪＰＥＧコード（１＜ｐ≦ｉ−１）に対応する伸長画像データの第１ラインの出力が伸長部２４において開始される毎に、ラインバッファ部２７における遅延時間はＮp-1づつ短くされ、第ｐ−１ＪＰＥＧコードに対応する伸長画像データの第１ラインの画像データの不要画素が順次上書きされてゆくことになる。
【００３８】
やがて伸長部２４から第ｉＪＰＥＧコードに対応する伸長画像データの第１ラインの出力が開始される。そのタイミングは、第（ｉ−１）ＪＰＥＧコードに対応する伸長画像データの第１ラインの画像データのうち不要画素を除く部分の出力が完了するタイミングでもある。そこで、伸長制御部２６からデータ出力部２８に対して、伸長部２４を選択させるラスタ選択信号が供給される。
【００３９】
そして、第ｉＪＰＥＧコードに対応する伸長画像データにおいて不要画素が出力されるタイミングになると、伸長制御部２６の制御の下、データ出力部２８のデータ出力が禁止状態にされる。これにより、データ出力部２８から出力される画像データは、第１，第２，……，第ｉＪＰＥＧコードに対応する伸長画像データの各第１ラインの画像データのうち有効画素のみをつなげたものに等しくなる。以下、同様の処理が各伸長画像データの第２ライン以降についても行われる。
【００４０】
本実施形態によって得られる出力画像データの例を図１０に示す。ここでは、第１実施形態と同様に合成する画像数ｉを「２」とした場合の例を示す。
【００４１】
３．第３実施形態
次に、本発明の第３実施形態の構成を図１１を参照し説明する。なお、図において図９の各部に対応する部分には同一の符号を付し、その説明を省略する。
まず、上記第２実施形態においては、第１，第２，……，第（ｉ−１）ＪＰＥＧコードに対応する伸長画像データはラインバッファ部２７を介して出力され、第ｉＪＰＥＧコードに対応する画像データはラインバッファ部２７をバイパスして出力された。しかし、本実施形態においては、全伸長画像データがラインバッファ部３７を介して出力される点が異なる。
【００４２】
ラインバッファ部３７の記憶容量は、上記ラインバッファ部２７よりも１画素分多い「不要画素数ＮT＋１」になる。これは、第ｉＪＰＥＧコードに対応する伸長画像データもラインバッファ部３７を介して出力されるため、該伸長画像データに対して１画素相当の最小の遅延長を付与したものである。
【００４３】
本実施形態の動作は第２実施形態と同様であるが、第１ＪＰＥＧコードに対応するラインバッファ部３７の遅延量は「不要画素数ＮT＋１」画素である。以後の伸長画像データの遅延量も第２実施形態の場合と比較して「１画素」相当だけ長くなる。そして、第ｉＪＰＥＧコードが伸長部２４から出力されると、ラインバッファ部３７の遅延量は「１画素」に設定される。
【００４４】
やがて第ｉＪＰＥＧコードに対応する伸長画像データにおいて不要画素が出力されるタイミングになると、伸長制御部３６の制御の下、ラインバッファ部３７のデータ出力が禁止状態にされる。これにより、ラインバッファ部３７から出力される画像データは、第１，第２，……，第ｉＪＰＥＧコードに対応する伸長画像データの各第１ラインの画像データのうち有効画素のみをつなげたものに等しくなる。また、同様の処理が各伸長画像データの第２ライン以降についても行われる。
【００４５】
本実施形態によって得られる出力画像データの例を図１２に示す。ここでは、第１，第２実施形態と同様に合成する画像数ｉを「２」とした場合の例を示す。
以上のように第３実施形態においては、第２実施形態におけるデータ出力部２８を設ける必要がなくなるから、より簡単な構成および制御で不要画素を除去することができる。
【００４６】
４．変形例
本発明は上述した実施形態に限定されるものではなく、例えば以下のように種々の変形が可能である。
（１）第１実施形態における第２の不要画素除去方法
上記第１実施形態においては、不要画素を含む伸長画像データをブロックバッファ部５に書き込んだ後、不要画素を読み飛ばすことによって不要画素を除去した。しかし、ブロックバッファ部５に最初から不要画素を「書き込まない」ことによってこれらを除去することも可能である。
【００４７】
かかる動作の詳細を図７を参照し説明する。
まず、第１実施形態と同様に、最初に伸長制御部６に有効画素数Ｍ、不要画素数Ｎ、および副走査方向のブロックライン数Ｌが記憶され。次に、予め得られた第１，第２ＪＰＥＧコードがコードＦＩＦＯバッファ１，２に各々供給され始めると、コード入力部３より、第１，第２ＪＰＥＧコードが切り替えられつつ出力される。
【００４８】
次に、伸長部４においては、供給されたＪＰＥＧコードが伸長され、１ブロック単位で伸長画像データが出力される。伸長制御部６においては、主走査方向および副走査方向の画素数がカウントされ、図４(b)に示した順序に従って伸長画像データが書き込まれるようにライトポインタの値が設定される。但し、伸長制御部６は、ライトポインタが最終ブロックの不要画素に対応する値になると、ライトイネーブル信号をディセネーブル状態に設定する。
【００４９】
ブロックバッファ部５においては、ライトイネーブル信号がイネーブル状態の時にライトポインタによって指定されたアドレスに伸長画像データを書き込むから、有効画素のみがブロックバッファ部５に書き込まれることになる。
【００５０】
第１ＪＰＥＧコードに対応する伸長画像データの書き込みが終了すると、その不要画素数に相当する値だけライトポインタが戻される。この戻された位置を図７(a)において「Ｍ」で示す。そして、ライトイネーブル信号が再度イネーブル状態に設定され、第１ＪＰＥＧコードの場合と同様の処理が第２ＪＰＥＧコードに対しても行われる。以上の処理により、ブロックバッファ部５内には、伸長画像データの有効画素のみが格納されることになる。
【００５１】
次に、ブロックバッファ部５から伸長画像データを読み出す処理を同図(b)に示す。伸長制御部６は、ブロックバッファ部５に蓄積された伸長画像データを各ライン毎に単に主走査方向に沿って有効画素数Ｍの２倍づつ順次読み出すようにリードポインタを設定する。順次読み出された伸長画像データは有効画素のみによって構成されているから、これによって不要画素を除去することができる。
【００５２】
（２）第１実施形態における第３の不要画素除去方法
上記「第２の不要画素除去方法」においては、ブロックバッファ部５に不要画素を「書き込まない」ことによって不要画素を除去した。しかし、ブロックバッファ部５に不要画素を一旦書き込んだとしても、有効画素で上書きしてしまえば、最初から書き込まなかった場合と同様である。
【００５３】
かかる動作の詳細を図８を参照し説明する。
まず、第１実施形態と同様に、最初に伸長制御部６に有効画素数Ｍ、不要画素数Ｎ、および副走査方向のブロックライン数Ｌが記憶され。次に、予め得られた第１，第２ＪＰＥＧコードがコードＦＩＦＯバッファ１，２に各々供給され始めると、コード入力部３より、第１，第２ＪＰＥＧコードが切り替えられつつ出力される。
【００５４】
次に、伸長部４においては、供給されたＪＰＥＧコードが伸長され、１ブロック単位で伸長画像データが出力される。伸長制御部６においては、主走査方向および副走査方向の画素数がカウントされ、図４(b)に示した順序に従って伸長画像データが書き込まれるようにライトポインタの値が設定される。その際、ライトイネーブル信号は常にイネーブル状態に設定されるため、有効画素および不要画素の双方がブロックバッファ部５に書き込まれることになる。
【００５５】
第１ＪＰＥＧコードに対応する伸長画像データの書き込みが終了すると、その不要画素数に相当する値だけライトポインタが戻される。この戻された位置を図８(a-1)において「Ｍ」で示す。そして、ライトイネーブル信号が再度イネーブル状態に設定され、第１ＪＰＥＧコードの場合と同様の処理が第２ＪＰＥＧコードに対しても行われる。以上の処理により、ブロックバッファ部５内には、第１，第２ＪＰＥＧコードに対応する伸長画像データの有効画素と、第２ＪＰＥＧコードに対応する伸長画像データの不要画素とが格納されることになる。
【００５６】
次に、ブロックバッファ部５から伸長画像データを読み出す処理を同図(b)に示す。伸長制御部６は、ブロックバッファ部５に蓄積された伸長画像データを各ライン毎に単に主走査方向に沿って有効画素数Ｍの２倍づつ順次読み出すようにリードポインタを設定する。これにより、第２ＪＰＥＧコードに対応する伸長画像データの不要画素は読み出されず、順次読み出された伸長画像データは有効画素のみによって構成されているから、これによって不要画素を除去することができる。
【００５７】
（３）第１実施形態における第４の不要画素除去方法
上記第１実施形態においては、有効画素および不要画素の双方をブロックバッファ部５に書き込んだ後、不要画素を避けつつ伸長画像データを読み出すようにリードポインタを設定し不要画素を除去した。しかし、不要画素を格納するアドレスがリードポインタによって指示されたとしても、リードイネーブル信号がディセネーブルであれば、結果的に不要画素は読み出されないことになる。
【００５８】
従って、上記第１実施形態においては、連続的にインクリメントされるようにリードポインタを設定し、不要画素に対応するアドレスが指示されるタイミングにおいてリードイネーブル信号をディセネーブル状態に設定し、他のタイミングにおいてはリードイネーブル信号をイネーブル状態に設定するようにしてもよい。
【００５９】
（４）他の不要画素除去方法
上記「第３の不要画素除去方法」においては、ブロックバッファ部５内に格納された第２ＪＰＥＧコードの伸長画像データの不要画素を読み飛ばすようにしたが、これに限らず、「第２の不要画素除去方法」と同様の方法で該不要画素をブロックバッファ部５に書き込まないようにしてもよいし、「第４の不要画素除去方法」と同様の方法で該不要画素を読み飛ばすようにしてもよい。さらに、第２ＪＰＥＧコードの伸長画像データの不要画素として例えば予め白データ（全て“０”データ）が書き込まれている場合は、この不要画素を除去せずにそのまま出力してもよい。
【００６０】
（５）上記第１実施形態においては２in１モードにおける画像処理装置の動作を説明したが、第２，３実施形態と同様に３ページ以上の合成にも適用できることは言うまでもない。さらに、第２，３実施形態に示したように、有効画素数Ｍおよび不要画素数Ｎは、各ＪＰＥＧコード毎に異なってもよい。
【００６１】
（６）上記各実施形態においては、ブロック単位で圧縮されたＪＰＥＧコードを伸長する例を説明したが、本発明はこれに限らず種々の単位で圧縮された画像を伸長する装置に適用できる。
【００６２】
（７）上記各実施形態の画像処理装置は、複写機あるいはプリンタ等に適用されるものに限られず、例えばディスプレイ等、各種の画像出力装置に適用してもよい。
【００６３】
（８）上記各実施形態においては、各ＪＰＥＧコードに含まれるＥＯＩマーカコードに基づいて各ＪＰＥＧコードの切り替えを行ったが、伸長制御部６，２６，３６において各ブロックライン毎のコード数を予め記憶しておき、入力されるコード数がその数に達する毎にＪＰＥＧコードを切り替えてもよい。
【００６４】
（９）第２，３実施形態においては、ラインバッファ部２７，３７をシフトレジスタによって構成したが、これに代えて、伸長画像データを遅延できる種々の回路（例えばＦＩＦＯバッファ）を用いてもよい。
【００６５】
【発明の効果】
以上説明したように本発明によれば、複数の圧縮画像データを主走査方向に沿って伸長しつつ出力できるから、僅かな記憶容量で高速な画像出力を行うことができる。さらに、不要画素を除去できる構成においては、各画像を記録用紙等の上に隙間なく配列することが可能である。
【図面の簡単な説明】
【図１】  本発明の第１実施形態の構成を示すブロック図である。
【図２】  本発明の各実施形態における原稿画像と合成画像との関係を示す図である。
【図３】  ＪＰＥＧ方式の動作説明図である。
【図４】  第１実施形態におけるブロックバッファ部５の動作説明図である。
【図５】  第１実施形態における伸長部４の動作説明図である。
【図６】  第１実施形態の動作説明図である。
【図７】  第１実施形態の変形例（第２の不要画素除去方法）の動作説明図である。
【図８】  第１実施形態の他の変形例（第３の不要画素除去方法）の動作説明図である。
【図９】  本発明の第２実施形態の構成を示すブロック図である。
【図１０】  第２実施形態の動作説明図である。
【図１１】  本発明の第３実施形態の構成を示すブロック図である。
【図１２】  第３実施形態の動作説明図である。
【図１３】  従来技術の動作説明図である。
【図１４】  本発明の目的の説明図である。
【符号の説明】
１，２  コードＦＩＦＯバッファ
３  コード入力部
４  伸長部
５  ブロックバッファ部
６  伸長制御部
６，２６，３６  伸長制御部
８  ブロックバッファ
１１，１２，……１ｉ  コードＦＩＦＯバッファ
２３  コード入力部
２４  伸長部
２７，３７  ラインバッファ部
２８  データ出力部
３７  ラインバッファ部
５０１，５０２  ブロックバッファ
【図１】
0003700429.tif 000002
【図２】
0003700429.tif 000003
【図３】
0003700429.tif 000004
【図４】
0003700429.tif 000005
【図５】
0003700429.tif 000006
【図６】
0003700429.tif 000007
【図７】
0003700429.tif 000008
【図８】
0003700429.tif 000009
【図９】
0003700429.tif 000010
【図１０】
0003700429.tif 000011
【図１１】
0003700429.tif 000012
【図１２】
0003700429.tif 000013
【図１３】
0003700429.tif 000014
【図１４】
0003700429.tif 000015