以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
[実施形態1]
図1は、本発明の実施形態に係る画像処理装置である多機能処理装置(MFP)100の構成を示すブロック図である。
CPU101は、MFP100全体を制御する制御部として機能している。CPU101は、電源オン時にROM102に格納されているブートプログラムによりHDD120に記憶されているOS(オペレーティングシステム)を読み出して起動する。このOS上でHDD(ハードディスクドライブ)120に記憶されている制御プログラムや各種アプリケーションプログラムをRAM103にロードして実行させる。CPU101はシステムバス104によって各部と接続されている。RAM103は、CPU101の実行中のプログラムを記憶する主メモリとして使用され、またワークエリア等の一時記憶領域としても使用される。更に、画像データの一時記憶領域としても使用される。
インターフェース制御部113は、NIC(ネットワークインターフェース・カード)114を制御して、LAN150等のネットワークに対して画像データをはじめとする様々なデータの送受信を行う。またインターフェース制御部113はモデム115を制御して、公衆回線127に対してデータの送受信を行う。HDD制御部119は、HDD(ハードディスクドライブ)120へのアクセスを制御する。このHDD120にはシステム全体を制御するためのコントロールプログラムや各アプリケーションプログラム、画像データなど様々なデータが保存される。HDD120はCPU101或いはNIC114、インターフェース制御部113を介して、LAN150上にある別の機器からもアクセス可能となっている。また、DMAC118によって、RAM103に置かれた画像データを直接HDD120に書き込み可能、或いは、HDD120の画像データを直接RAM103に読み出し可能となっている。
スキャナ制御部111は、スキャナ112を制御して原稿を読取り、その読み取った画像データを取得する。スキャナ112はCCDなどの光学読み取りデバイスを用いて原稿の画像を読み取って、その画像に対応する画像信号に変換する。スキャナ画像処理部110は、スキャナ112からの画像データに対して色空間処理、フィルタ処理等の画像処理を行う。画像圧縮部109は、スキャナ画像処理部110で処理された画像データに対して圧縮処理を行う。こうして圧縮された画像データは一旦RAM103に記憶され、DMAC118、HDD制御部119を介してHDD120に格納される。
ラスタイメージプロセッサ(RIP)117は、LAN150から受け取ったPDLデータをビットマップイメージに展開する。画像圧縮部116はRIP117で展開したビットマップイメージを圧縮する。ここで圧縮された画像データは一旦RAM103に記憶され、DMAC118、HDD制御部119を介してHDD120に格納される。画像圧縮部109,116で圧縮された画像データのサイズは、CPU101がジョブ単位、或いはページ単位で管理し、その情報は画像データと関連付けられてRAM103に格納される。
プリンタ制御部107は、プリンタ108を制御して画像データを紙等の記録媒体に印刷する。画像データの印刷時に、HDD120に格納されている画像データはRAM103に転送され、その後、画像伸張部105で伸張されてプリンタ画像処理部106に送られる。プリンタ画像処理部106は、プリンタ108の印刷方法に合わせて、画像データの色変換処理、ハーフトーン処理等を実行する。プリンタ108は記録媒体である用紙(シート)に画像を印刷する。このプリンタ108は、電子写真方式やインクジェット方式等のプリンタユニットである。
操作部122は、入力制御部123、入力デバイス124、表示制御部125、表示デバイス126を具備している。入力制御部123は、タッチパネルやハードキー等の入力デバイス124からユーザによる操作指示を入力する。表示制御部125は、液晶やCRT等の表示デバイス126を制御して、ユーザが各種指示を入力するための操作画面を表示する。認証制御部127は、カード認証デバイス128を制御する。カード認証デバイス128は、ユーザの情報が記録されたIDカードを読み取る。こうして読み取られたIDカードのデータは、CPU101によって管理され、MFP100の使用許可、HDD120に格納されたデータの管理情報等に用いられる。
以上の構成で例えば、原稿のコピーを行う場合の処理の流れを簡単に説明する。
ユーザはコピーする原稿をスキャナ112にセットする。そしてユーザは、操作部122でコピー動作に必要な動作設定を行う。これは例えば、コピーモードへの移行や、コピー枚数及びコピー時の処理内容を含む。このとき操作部122の表示デバイス126には、入力された情報が表示される。そしてユーザが操作部122のコピースタートボタンを押すとコピー動作が開始される。これによりスキャナ112で原稿が読み取られて、その原稿の画像データがスキャナ制御部111→スキャナ画像処理部110→画像圧縮部109→内部バス104→DMAC118→HDD制御部119を経由してHDD120に転送されて記憶される。こうしてHDD120に記憶された圧縮画像データが読み出され、画像伸張部105で伸張された後、プリンタ画像処理部106で操作部122で設定されたコピー設定に応じた画像処理が行われる。こうして画像処理された画像データはプリンタ制御部107を介してプリンタ108に送られて印刷される。
図2は、本実施形態1に係るMFP100で画像処理を実行する画像処理部を複数のLSIで構成した構成例を示すブロック図である。尚、ここでは、プリンタ108へ出力する画像データを処理するプリンタ画像処理部106の場合で説明するが、この画像処理部は、スキャナ112から入力される画像データを処理するスキャナ画像処理部110にも適用できる。
メインLSI201は、画像データ及び設定データのハンドリングや、MFP100の動作を制御するためのCPU101やDMAC118等を含む。画像処理LSI202,203は、設定データによって各種動作パラメータが設定され、入力された画像データに対して画像処理を行う画像処理部である。ここで画像処理LSI202と203とは同じ構成とする。画像結合処理LSI204は、画像処理LSI202,203で処理された画像データを受け取り、これら画像データを結合してプリンタ制御部107に出力する。画像リングバス205は、メインLSI201と画像処理LSI202,203とを接続し、メインLSI201から出力された画像データや設定データを画像処理LSI202,203に転送するのに使用される。画像データバス206,207はそれぞれ、画像処理LSI202と画像結合処理LSI204とを接続し、また画像処理LSI203と画像結合処理LSI204とを接続する。バス208は、画像結合処理LSI204とプリンタ制御部107とを接続する。
図3は、図2の画像処理部106における画像データの流れを説明する図である。尚、図2と共通する部分は同じ記号で示し、それらの説明を省略する。
図において、301は、1ページ分の画像データを示す。302は設定データを示し、画像結合処理LSI204の処理内容を設定するために使用される。303及び304は、1ページ分の画像データ301を分割した画像データで、それぞれ1ページ分の画像データ301の左半分及び右半分としている。尚、ここでは1ページ分の画像データ301は、JPEG方式等の圧縮方法で圧縮されており、画像処理LSI202,203で画像処理を行う前に画像伸張部105で伸張処理が施されているものとする。尚、スキャナ画像処理部110の場合には、スキャナ112で読み取られた1ページ分の画像データが入力されるため、伸張処理は不要であることはいうまでもない。
210,211はそれぞれ第1及び第2のデータパスであり、メインLSI201から各画像処理LSI202,203を経由して画像結合処理LSI204に設定データ302を転送する。尚、図示はしないが、画像処理LSI202,203の処理内容を設定するための設定データも存在し、これらも第1及び第2データパス210,211を介して各画像処理LSIに送られて設定される。
図4は、図3の画像処理部における処理の流れを説明するフローチャートである。
まずS1で、操作部122から入力された設定情報を基に画像処理LSI202,20及び画像結合処理LSI204の処理内容を設定する設定データ302を入力して、各対応するLSIに設定する。次にS2に進み、スキャナ112或いはHDD120から画像データを入力する。この画像データはメインLSI201によって、その画像サイズや画像データの属性情報等の情報が確認される。次にS3に進み、S2で入力された画像データを分割して各画像処理LSI202,203に転送する。ここでは画像データの画像サイズや属性情報及び設定データを参照して、その画像データを左右半分に分割する。こうして分割された画像データは、左右画像データごとにバス205に転送される。また、この分割画像データの転送時に、その転送先を示す情報が各分割された画像データに添付されている。次にS4に進み、分割された画像データは画像処理LSI202,203で並行して処理される。ここでは例えば、色変換処理やガンマ変換等の各種補正処理や回転処理等が行われる。次にS5に進み、これら並行して処理された各画像データは画像結合処理LSI204に送られて結合され、元の1ページ分の画像データに復元される。そしてS6に進み、こうして結合処理がなされた画像データをバス208に転送してプリンタ108で印刷する。尚、スキャナ画像処理部110の場合は、その結合した1ページ分の画像データを画像圧縮部109に送って圧縮する。
次に、分割された各画像データに対して主走査方向のシフト処理を行う場合の問題点について以下に説明する。
図5は、画像データを主走査方向に移動するシフト処理を説明する図である。
図5(A)は、原画像データのイメージを示す。図5(B)は、この原画像データを主走査方向画に移動(シフト処理)を行った場合のシフト処理後の画像のイメージを示す。従来の画像のシフト処理では、こうした主走査方向のシフト処理を行う場合は、各種画像処理を行った後の画像データに対してシフト処理を行っていた。ところが図2に示す本実施形態で使用する画像処理部では、従来のシフト処理方法を用いることはできない。例えば、画像処理LSI202,203で各種画像処理を行った後に主走査方向のシフト処理を行った場合、図5(D)〜(F)に示すように、分割画像それぞれに対して主走査方向画像シフト処理を行うことになる。このため、最終的な画像データが壊れてしまうという問題が考えられる。
図5(C)は、原画像データのイメージで、ここでは左右半分に分割された画像データがそれぞれ画像処理LSI202,203で処理される。図5(D)は、こうして分割された画像データを示している。これら分割された画像データは、画像処理LSI202,203で画像処理が施された後、画像シフト処理部にて主走査方向にシフト処理された場合を図5(E)に示す。図5(E)では、このシフト処理により左側の画像データの一部が領域外に出てしまっている。このため図5(E)の左側の画像データで画像の一部が欠損し、また右側の画像データでは、シフト処理した分の画像データが補われないために、そのシフトされた部分が例えば白画像として出力されてしまう。これらの分割された画像データを結合すると、図5(F)のように元の画像データを復元できなくなる。
これを防ぐために、画像処理LSI202,203でそれぞれ画像処理を行った後、画像結合処理LSI204で元の画像データに結合した後にシフト処理を行うようにすることも考えられる。しかしその場合には、画像結合処理LSI204に、少なくとも1ページ分の画像データを記憶するメモリが必要となり、コストアップとなるという問題がある。
従って本実施形態では、大容量の画像メモリを必要とせずに、分割画像データのシフト処理を行って、元の画像を復元できる手法を提案する。尚、本実施形態1では、説明を分かり易くするためにコピー動作時の場合で説明するが、例えばPCからのPDLデータを展開して印刷する場合にも適用できる。
まず、ユーザによってコピー動作が指示された場合、CPU101は、その指示された情報を読み取り、コピー動作に使用される画像処理内容をRAM103に格納されたソフトウェアによって自動的に設定する。ここで、この指示された情報には、画像データを主走査方向にシフト処理するためのシフト画素数、及びシフト方向情報が含まれている。また、指示された画像処理の内で、周囲の画素を参照する画像処理の内容を抽出し、その画像処理に使用される周辺画素数を決定し、その結果生じる不要画素数を決定する。
図6は、注目画素とその周辺画素を定義する図である。
図6(A)は、注目画素601を中心として、参照する周辺画素602が(3×3)である場合、又は、注目画素601を中心として、参照する周辺画素602が(5×5)である場合を示す。3×3画素の場合は、周辺画素は画像端部において本来は存在しない画素である(図6(B)参照)。この場合、不要画素の幅は上下(主走査及び副走査)方向にそれぞれ1画素となる。同様に、周辺画素が(5×5)の場合は、不要画素の幅は上下方向にそれぞれ2画素となる(図6(C)参照)。このように参照する周辺画素の主走査方向の画素数をNとすると、主走査方向に生じる不要画素の幅は、(N−1)/2(画素)となる。以下に説明する本実施形態1ではN=7、画像処理後に生じる不要画素数を3(画素)の場合で説明する。
次に本実施形態1に係る画像データの分割及び転送処理について説明する。
図7は、画像データの左右分割図を説明する図である。
図7(A)は原画像を示す。いまDMAC118は、矩形画像(32画素×32画素)を転送するように最適化されているため、HDD120に格納された画像データは、複数の矩形画像(タイル)に分割される。図7(B)は、複数のタイルに分割された画像データを示す。ここで、分割された画像データは、任意のタイル単位で転送が可能である。例えば図7(C)の斜線部701で示される画像の左側のみを転送する場合を考える。図7(D)で、702は転送を開始するタイルを示す。703は、主走査方向の転送するタイル数、704は、副走査方向の転送するタイル数を示す。これらの値をDMAC118に設定することにより、画像領域701の画像データ(タイル)のみをDMAで転送できる。図7(E)に示す画像領域705で示される画像の右側のみを転送する場合も同様である。即ち、転送を開始するタイル706、主走査方向の転送タイル数707、副走査方向の転送タイル数708をDMAC118に設定することで画像領域705のタイルだけをDMA転送できる。
尚、上記構成において画像領域701及び705はそれぞれDMAC118に同時に設定することが可能であり、この場合、DMAC118は各画像領域のタイル画像を交互に1つずつ画像処理LSIに転送することが可能である。例えば画像領域701の各タイル画像を画像処理LSI202に、画像領域705の各タイル画像を画像処理LSI203にそれぞれ交互に転送することが可能である(図7(F))。
次に画像データに対して主走査方向のシフト処理を行う場合の分割画像データの分割及び転送方法について説明する。
操作部122を使用してユーザによって主走査方向のシフト処理が設定された場合、CPU101は主走査方向のシフト処理で実行されるシフト画素数及びシフト方向の各情報を得る。ユーザによって指定された情報が、シフト画素数が96(=3タイル分)、シフト方向が右方向であったとする。また上述したように、画像処理で不要画素が生じる画像処理として、7×7の画素領域を参照する画像処理が選択されたとする。このとき、CPU101は画像処理によって生じる不要画素数は3画素であると設定する。
次に、実施形態1に係る原画像の分割方法を図8を用いて以下のように説明する。
図8(A)は、原画像を複数のタイルに分割した例を示す図である。ここでまず、原画像を主走査方向のシフト処理を行わずに分割した場合の図を図8(B)に示す。この時、左側の画像及び右側の画像は図8(B)のように、左側の画像は重複領域801を右側の画像と共有するように分割される。尚、この重複領域801は、1タイル分の画像幅(32画素)を有している。この重複領域801は、後述する画像処理によって生じる不要画素の削除のために必要である。
次に、主走査方向に96画素(3タイル)分、画像データをシフト処理する場合の分割方法を以下に説明する。
本実施形態1では、原画像データを分割する際に予め、主走査方向のシフト処理内容を考慮して画像を分割する。即ち、画像の分割を行う際に、シフト処理を行った画像データに対して画像分割を行う。図8(C)は、予め図8(A)の状態から主走査方向に96画素(3タイル分)、画像データをシフトした画像イメージを示す。このとき96画素は、3タイル分の幅に等しいため、予め3タイル分の幅(96画素)分、主走査方向にシフトした画像データに対してタイル単位で画像分割を行ったものとなる。また、このとき左側の分割画像の左側には、元の画像に存在しない3タイル分の画像データが必要となる。このため、3タイル分の画像データ802をパディングして左側の分割画像を作成する。同様に、右側の分割画像は、図8(B)の右側の分割画像と同じ画像サイズになるよう、右側の分割画像の右端の3タイル分を削除する。図8(D)は、こうして左右に分割された画像データの様子を示す。尚、以降の説明のため、左側の分割画像803の重複領域804、右側の分割画像805の重複領域806とする。このように分割された左側の分割画像803及び右側の分割画像805は、ソフトウェアによって設定された設定によりDMAC118によって、画像処理LSI202及び203にそれぞれ転送される。
次に図9を参照して、各分割画像を結合する際の動作を説明をする。
図9(A)は、図8(D)と同じ図を、見やすくするためにタイル分割線を除いた状態で示す。図9(B)は左側の分割画像803の重複領域804の丸で囲った部分910の拡大図である。同様に図9(C)は、右側の分割画像805の重複領域806の丸で囲った部分911の拡大図である。901は、左側の分割画像803の右側端部において、7×7の周辺画素を参照する画像処理によって生じる不要画素領域である。同様に、902は右側の分割画像805の左側端部で、7×7の周辺画素を参照する画像処理によって生じる不要画素領域である。尚、これら不要画素領域は図9(B)(C)に示した位置の他に、分割境界部とは反対側の端部にも生じる。しかし本実施形態1では、分割画像の境界部の端部に生じる不要画素の説明が重要であり、これら分割境界部と反対側に生じる不要画素は別の手段で除去できるため、ここでは言及しない。
ここで図8(B)の重複画像801は、原画像の中心部分にあって、左右の分割画像803,805に共通する1タイルに該当する。図9(D)は、左側の及び右側の分割画像803,805の重複画像804、806の端部を抽出して拡大した図である。ここに示すように重複画像804を中心に考えた場合、重複画像804の右端に不要画素領域903が存在する。同様に、重複画像805の左端に不要画素領域904が存在する。また重複画像804,806の主走査方向の幅は32画素であるため、左側の重複画像804及び右側の重複画像806からそれぞれ所定の画素を削除する。これにより、削除された各分割画像を後述する画像結合処理LSI204にて結合処理を施す場合に、画素の過不足無く結合することが可能である。
この削除方法は、図9(E)に示すように、重複領域を分割する分割線905を設定する。そして、重複領域804の右端の画像端部から分割線905までの画素数をLとし、また重複領域806の左端の画像端部から分割線905までの画素数Rとする。そして、これらL及びRで示される部分の画素データを削除する(図9(F))。これにより、各重複領域804,806から、主走査方向の合計32画素分のデータが削除されることになる。これにより左右の分割画像803,805を結合したとき、これら分割画像803,805の境界領域の合計幅が32画素分(1タイル分)となって過不足なく結合できる。尚、左側の分割画像の重複領域804の水平方向の削除画素数Lと右側の分割画像の重複領域806の水平方向の削除画素数Rとの間には、
L+R=32 …式(1)
で表される関係が成り立つ。
ここで、L及びRが取り得る値の範囲は、
3≦L≦29 …式(2)
3≦R≦29 …式(3)
である。
こうした、左側の分割画像の削除画素数L及び右側の分割画像の削除画素数Rを、予めソフトウェアから上記式(1)、式(2)及び式(3)を満足する値で画像結合処理LSI204に対して設定しておく。こうすることで、画像処理LSI202及び画像処理LSI203で行われた画像処理済み画像データをそれぞれ受信した場合においても、図9(G)に示すように、正しい画像データを生成することが可能となる。
尚、画像処理として7×7の周辺画素数を参照する場合では、前述の式(2)及び式(3)のようになる。しかしW×Hの周辺画素を参照する場合では(W及びHは3以上、15以下の奇数とし、WとHは一致していなくても構わない)、
W≦L≦(32−W) …式(4)
W≦R≦(32−W) …式(5)
となる。
上述説明したように本実施形態1によれば、画像データの主走査方向のシフト処理を伴う画像処理を複数の画像処理で並行して行う場合、画像データをシフトした後、各画像処理部で実行される画像データに分割する。これにより、大容量の画像メモリを必要とすることなく、分割された画像データに対して別々の画像処理部で画像処理を行って、それら処理済の画像データを結合して原画像データに対応した処理済画像データを得ることができる。
尚、本実施形態1では、説明を簡単にするために、原画像データを左右2つの領域に分割する場合で説明したが、原画像データを複数の領域、例えば4分割(2×2)した場合においても本実施形態1で説明した方法は成り立つ。その場合、画像処理LSIが4つ並列に必要となる。この場合は、更に画像処理を並列化できるためパフォーマンスは向上するが、画像処理用LSIの個数も増大するためコストが高くなる。これらはパフォーマンスとコストの兼ね合いであり、いずれの構成を採用するかは設計者が適宜選択できる。
[実施形態2]
前述の実施形態1では、主走査方向のシフト処理でシフトする画素数がタイルのサイズの倍数である場合について説明した。これに対して本実施形態2では、シフトする画素数が任意の値をとる場合(32画素(タイルサイズ)以下の精度でシフト処理を行う場合)について説明する。尚、この実施形態2に係る画像処理装置である多機能処理装置(MFP)のハードウェア構成において、画像処理LSI202,203以外は前述の実施形態1に係る多機能処理装置(MFP)100と同じであるとして説明する。
ここでは、操作部122を使用してユーザにより設定された主走査方向のシフト処理として、シフトする画素数を120画素、シフト方向が右方向(主走査方向)として説明する。この場合、図8(C)に示したように、(120÷32)の整数部の値「3」より、右側方向に3タイル画像分だけシフト処理した画像に対して画像を分割するようにDMAC118に設定する。これによりDMAC118は、前述の実施形態1と同様に、3タイル分シフトした後に分割した各画像データを、画像処理LSI202及び画像処理LSI203にそれぞれ転送する。尚、(120÷32)の余り24画素分のシフト処理については後述する。
本実施形態2では、タイルのサイズである32画素未満のシフト処理を行う必要がある。これを実現するために、画像処理LSI202,203において、32画素未満の微小量のシフト処理を行う。
図10は、本実施形態2に係る画像処理LSI202(203)の構成を示すブロック図である。
タイル/ラスタ変換部1001は、DMAC118によってHDD120に格納された画像データをタイル単位で分割されたタイル画像データを受信して、タイル画像→ラスタ画像に変換する。またタイルの画像データが圧縮されている場合は、タイル/ラスタ変換部1001では、伸張処理を行った後にラスタ変換を行う。微小画像シフト処理部1002は、32画素未満のシフト処理を行う。本実施形態2では、操作部122を使用してユーザによって設定された主走査方向のシフト処理が120画素であるため、「120」を「32」で割った余りである24画素分のシフト処理を、この微小画像シフト処理部1002で行う。画像処理部1003は、前述の実施形態1で説明した7×7の周辺画素を参照する画像処理を含む多種の画像処理を行う。この画像処理部1003で画像処理が施された画像データは画像データバス206(207)に出力される。
次に、微小画像シフト処理部1002で24画素だけシフト処理する方法について説明する。ここでは、例えば24画素のシフト情報を画像処理LSI202,203の微小画像シフト処理部1002に設定する。
以下、画像処理LSI202,203における微小画素シフト処理を図11を用いて説明する。
図11(A)は、画像処理LSI202,203に入力され、タイル画像からラスタ画像に変換された分割画像データを示す。ここでは、左側の分割画像データ1101と右側の分割画像データ1102とに分割され、それぞれ1タイル画像分の重複領域1103,1104が設けられている。図11(B)は、微小画像シフト処理部1002で24画素だけ右方向にシフト処理された画像を示す。1105は、画像処理LSI202の微小画像シフト処理部1002で右方向に24画素分のシフト処理が施された左側の分割画像を示す。この左側の分割画像1105では、右方向に24画素だけ画像シフト処理されたため、右端部で画像シフト処理による画像データが消失している(分割画像1105の右端の斜線部1107)。同様に1106は、画像処理LSI203の微小画像シフト処理部1002で右方向に24画素分のシフト処理が施された右側の分割画像を示す。この右側の分割画像1106では、右方向に24画素だけ画像シフト処理されたため、右端部で画像シフト処理による画像データが消失している(分割画像1106の右端の斜線部1107)。
次に、図11(B)の微小画素シフト処理が施された各分割画像データを画像処理部1003で各種画像処理を施した後の画像の内、左側の分割画像1105の境界部分1110を拡大したものが図11(C)である。同様に、右側の分割画像1106の境界部分1111を拡大したのが図11(D)である。
図11(C)において、1120は左側の分割画像1105に対して画像処理部1003で実行された画像処理の内の、7×7の周辺画素を参照する画像処理によって生じた不要画素領域を示す。この不要画素領域1120の幅は3画素である。同様に、図11(D)において、1121は右側の分割画像1106に対して画像処理部1003で実行された画像処理の内の7×7の周辺画素を参照する画像処理によって生じた不要画素領域を示す。ここでも不要画素領域1121の幅は3画素である。これら左右の分割画像1105,1106を画像結合処理LSI204でそのまま結合処理を行った場合、左分割画像の境界部に3画素、右分割画像の境界部に3画素不要画素が存在しているため所望の画像が得られなくなる。このため画像結合処理LSI204は、これら左右の分割画像1105,1106の画像データからこれら不要画素領域を削除する。
この不要画素の削除方法を図11(E)〜(G)を参照して説明する。
図11(E)は、左側の分割画像1105について、図11(C)を基に作成した図である。1122は、左側の分割画像1105の重複領域1103の内、画像処理によって不要となった画像部分(3画素幅)1120以外の有効な画像部分を示す。この画素幅は、32−24−3=5画素である。
次に図11(F)は、右側の分割画像1106について、図11(D)を基に作成した図である。1123は、画像処理によって不要となった画像部分(3画素幅)1121を除く重複領域1104の有効な画像部分を示す。この画素幅は、32−3=29(画素)である。以上から、左側の分割画像1105の重複領域1103では、1122で示す部分のみが有効画像部分であり、右側の分割画像1106の重複領域1104では、1123で示す部分のみが有効画像部分となる。
図11(E)及び図11(F)を拡大し、更に、原画像データにおける元の位置を考慮して両者を並べて配した状態を図11(G)に示す。図11(G)に示すように、左側の分割画像1101の重複領域1103における有効画像部分1122と、右側の分割画像1102の重複領域1104における有効画像部分1123とでは、領域1124が重複している。左側の分割画像の重複領域における有効画像部分1122の画素幅は5画素で、右側の分割画像の重複領域における有効画像部分1123の画素幅は29画素であるため、これら有効画像部分1122,1123の重複画素数は29+5−32=2画素となる。従って、この重複領域1124の画素数分画素を削除して、左側の分割画像1105と右側の分割画像1106とを結合する。これにより、左右の分割画像1105,1106の境界部を過不足なく結合することができる。
尚、ここで重複領域の画素の削除方法は、左側の分割画像の不要画像部分1120の右端から削除する画素数をL、右側の分割画像の不要画像部分1121の左端から削除する画素数をRとした場合、
L+R=32−24=8 …式(6)
で表される関係が成り立つ。尚、ここで「24」は、主走査方向の画像シフト処理により削除された画素数である。
ここで、一般的には微小シフト画素数をS(0≦S≦26)としたとき、
L+R=32−S …式(7)
の関係が成立する。
このような左側の分割画像の削除画素数L及び右側の分割画像の削除画素数Rを、予めソフトウェアから上記式(6)或いは式(7)を満足する値で画像結合処理LSI204に設定する。これにより画像処理LSI202,203で行われた微小画像シフト処理及び画像処理済み画像データをそれぞれ受信した場合においても、正しい画像データを生成することが可能となる。
又、本実施形態2において、S=26の場合にはL+R=6となり、左側の分割画像の不要画素部分1120の画素数と、右側の分割画像の不要画素部分1121の画素数との和と一致する。この場合、削除すべき画素数はL=R=3となり、Sの上限値は「26」となる。
上述のように、32画素以下の画像シフト処理を行った場合においても、画像処理LSI202,203内部にて微小画像シフト処理を行うことで、分割画像に対して主走査方向の画像シフト処理を行うことが可能となる。
又、微小シフト画素数S=0の場合は、画像処理LSI202,203における微小画像シフト処理部1002での微小シフト画素数が「0」である。このため、この場合は画像処理LSI202,203の微小画像シフト処理部1002で微小画像シフト処理を行わないことを意味している。よって、これは前述の実施形態1で説明したものと同じである。
尚、本実施形態2では、画像処理として7×7の周辺画素数を参照する場合で説明したため、LとRの関係式は式(7)のようになる。しかし、W×Hの周辺画素を参照する場合では(W及びHは3以上、33以下の奇数、但し、WとHは一致していなくても構わない)、式(7)における微小シフト画素数Sは、
0≦S≦{32−(W−1)}
となる。
以上説明したように本実施形態2によれば、前述の実施形態1の効果に加えて、タイル単位のシフトだけでなく、タイルサイズよりも小さい端数を含むシフト量の場合であっても、シフト処理に対応した画像のシフト処理を実行できるという効果がある。
[実施形態3]
前述の実施形態1では、主走査方向の画像シフト処理の際のシフト画素数がタイルサイズの倍数である場合について説明した。また実施形態2では主走査方向の画像シフト処理の際のシフト画素の端数が1〜26の場合について説明した。本実施形態3ではシフト画素数の端数が27〜31の場合について説明する。
ここでは、操作部122からユーザによって設定された主走査方向の画像シフト処理内容として、シフト画素数が126画素、シフト方向が右方向であったとする。この場合、微小シフト画素数は(126÷32)の余りである30画素となる。
この場合、図11で説明したのと同様に、126÷32=3より右側方向に3タイル画像分だけシフト処理した画像に対して1タイル画像分の重複画像領域を設けて画像分割すると、重複画像領域1103に有効な画像部分が存在しなくなるという問題が生じる。これについて図12を用いて説明する。
図12(A)は図11と同様に、原画像を3タイル分だけ画像シフト処理した画像データを分割し、更に画像処理LSI202,203で、端数の30画素分の微小シフト処理を行ったものについて示す。
1201は、画像処理LSI202の微小画像シフト処理部1003で右方向に30画素だけ画像シフト処理を施し、更に画像処理部1003で画像処理を施された左側の分割画像を示す。同様に1202は、画像処理LSI203の微小画像シフト処理部1003で右方向30画素だけ画像シフト処理を施し、更に画像処理部1003で画像処理が施された右側の分割画像を示す。斜線領域1203は、30画素分、主走査方向に画像データをシフトしたために生じた消失画像領域であり、その幅は30画素である。
左側の分割画像の境界部分1210を拡大したのが図12(B)である。1204は画像処理LSI202の画像処理部1003による画像処理によって生じた不要画素領域を示す。同様に右側の分割画像1202の境界部分1211を示したのが図12(C)である。1206は画像処理LSI203の画像処理部1003による画像処理によって生じた不要画素領域である。このうち図12(B)をみると、微小画像シフト処理による消失画像領域1203の画素幅は30画素であり、画像処理による不要画素部分1204の画素幅は3画素である。このため、左側の分割画像1201の重複画像領域1103が全て使用不可能であることが分かる。又1205は、左側の分割画像の重複画像領域1103から微小画像シフト処理による消失画像領域1203の画素を除いた領域で、32−30=2画素幅である。また画像処理による不要画素領域1204が3画素であることから2−3=−1となり、この重複画像領域1103外の画像データも無効な画像となる。尚、図12(B)では、領域1205をわかりやすくするために、不要画素領域1204の一部を白抜きにして示している。
又、図12(C)によれば、右側の分割画像1104の重複画像領域1104の内、画像処理による不要画素部分1206の画素幅が3画素であるため、有効な重複画像領域の画素幅が32−3=29となる。
以上から本実施形態3では、上述のような画像データ分割方法では、所望の画像データを得ることができない。そこで本実施形態3においては図13に示す画像データ分割方法を行う。
図12で説明したように主走査右方向に30画素だけ画像シフト処理する場合、左側の分割画像1201では重複画像領域1103が全て無効となる。このため、図13(A)に示すように、左側の分割画像1201の分割において、重複画像領域1103の更に右側にもう1タイル分の追加画像領域1301を付加する。
図13(B)(C)において、1302は左側の分割画像、1303は右側の分割画像である。1304は左側の分割画像の重複領域、1305は右側の分割画像の重複領域である。この図13(B)は、上記分割方法で分割された左側の分割画像を示し、図13(C)は、上記分割方法で分割された左側の分割画像を示す。
次に図14を参照して、上記図13で説明した分割方法で分割された各分割画像に対して、図12での説明と同様に、30画素の微小画像シフト処理を行った場合について説明する。
図14(A)(B)はそれぞれ、図13(B)(C)と同じ図を、見やすくするためにタイル分割線を除いた図である。
次に左側の分割画像1302を画像処理LSI202の微小画像シフト処理部1003により右方向に30画素分、画像シフト処理を行い、更に画像処理部1003で画像処理を行う。このときの左側の分割画像データを図14(C)に示す。1406は、30画素分の微小画像シフト処理した際の消失画像領域を示す。同様に右側の分割画像1303を画像処理LSI203の微小画像シフト処理部1003で右方向30画素分、画像シフト処理を行い、更に画像処理部1003で画像処理を行った際の右側の分割画像データを図14(D)に示す。1407は、30画素分の微小画像シフト処理した際の消失画像領域を示す。
図14(C)の左側の分割画像1302の分割境界部1410を拡大したものを図14(E)及び、図14(D)の右側の分割画像1303の分割境界部1411を拡大したをものを図14(F)に示す。図14(E)において、1407は画像処理部1003にて画像処理を行った際に生じた不要画素領域を示し、この画素幅は「3」である。尚、追加画像領域1301を見やすくするために、不要画素領域1407を途中で省略している。又、追加画像領域1301は元は32画素幅であったが、微小画像シフト処理によって30画素だけ主走査右方向に画像シフト処理されたため2画素幅となっている。以上から、追加画像領域1301は、微小画像シフト処理及び画像処理による不要画像によって全て使用不可となっている。更に、重複画像領域1304は、最も右側の1画素が不要画像データとなっており、有効な画像データとしては31画素幅のみとなっている。
図14(F)において、1408は画像処理部1003にて画像処理を行った際に生じた不要画素領域で、画素幅は「3」である。よって、重複画像領域1305は、左側3画素が不要画素領域となっており、残り29画素が有効な画像データである。
次に図14(G)の上側は、図14(E)の重複画像データ部のみを抽出したもので、図14(G)の下側は、図14(F)の重複画像データ部のみを抽出したものである。これらから左側の分割画像1302の重複画像領域1304の有効画素幅は30画素、右側の分割画像1303の重複画像領域1305の有効画素幅は29画素である。よって、図14(H)に示すように、左右の分割画像の重複画像領域に対して、任意の重複画像領域の分割線1409を設定する。そして、左側の分割画像の重複画像領域1304に対して画像端部から分割線1409までの画素数をLとし、且つ右側の分割画像の重複画像領域1305に対して画像端部から分割線1409までの画素数をRとする。これらL及びRで示される部分の画素データを削除することで、重複画像領域1304,1305を合わせた画素幅は32画素となり、これら重複領域1304,1305の境界部を過不足なく結合できる。尚、このとき左側の分割画像1302の削除画素数Lと右側の分割画像1303の削除画素数Rとの間には、
L+R=32+32−30(微小シフト画素数) …式(8)
で表される関係が成り立つ。
尚、微小シフト画素数をSとすると(27≦S≦31)、
L+R=32+32−S …式(9)
である。
こうした、左側の分割画像の削除画素数L及び右側の分割画像の削除画素数Rを、予めソフトウェアから上記式(8)或いは(9)満足する値で画像結合処理LSI204に対して設定する。こうしておくことで、画像処理LSI202,203で行われた微小画像シフト処理及び画像処理済み画像データをそれぞれ受信した場合においても、正しい画像データを生成することが可能となる。
又、本実施形態3では、画像処理として7×7の周辺画素数を参照する場合で説明したため、LとR及びSの関係は式(9)のようになる。しかしW×Hの周辺画素を参照する場合では(W及びHは3以上、33以下の奇数、但し、WとHは一致していなくても構わない)、式(9)における微小シフト画素数Sの範囲は、
32−W+2≦S≦31
となる。
尚、本実施形態3では、画像シフト処理方向を右方向として説明したが、左方向の場合についても、同様の処理が可能である。この場合、図13において説明した画像データを分割する際に、追加画像領域1301を左側の分割画像1302の右端部に付加するのではなく左端部に付加することで、分割境界部における画素データの欠如を防ぐことが可能となる。
また本実施形態3において、画像のシフト方向が右方向の場合に、左側の分割画像側に付加画像領域を付加するように説明したが、右側の分割画像側に付加画像領域を付加するようにしても良い。いずれの場合においても、微小画像シフト処理によって消去され、且つ画像処理によって生じる不要画像によって無効とされてしまう重複画像領域のデータを補う形で付加画像領域が付加されることが必要である。
以上説明したように本実施形態2及び実施形態3によれば、原画像を分割し、且つ任意の画素精度で画像のシフト処理を行う場合においても、従来の手法のように大きな画像メモリを必要とすることなく、所望の画像データを得ることが可能となる。
以上、実施形態1から実施形態3によれば、いずれの場合においても原画像を分割する場合において、画像のシフト処理を行うことが可能となる。本実施形態によれば、画像シフト量/シフト方向、及び画像処理内容に応じて画像データの分割方法を変え、且つ不要な画素データを削除して結合処理を行うことで、それぞれの場合において所望の主走査方向の画像シフト処理を行うことができる。
図15は、本実施形態に係る画像処理装置による処理を説明するフローチャートである。この処理を実行するプログラムはHDD120にインストールされており、処理の開始時にHDD120からRAM103にロードされ、CPU101の制御の下に実行される。
まずS11で、指示されている画像処理の内容を検出する。これは操作部122において、ユーザから入力された設定情報に基づくものであり、本実施形態ではシフトする画素数及び画像のシフト方向、或いは7×7の参照画素を参照する画像処理の有無が設定されている。次にS12に進み、S11で入力された設定情報において画像のシフト処理が設定されているか否かを判定する。画像のシフト処理が設定されていると判定されるとS13に進み、設定されているシフト画素数を判定する。ここではシフト量がタイル単位の場合(微小画像シフト画素数が「0」の場合)を省略している。シフト量の微小画像シフト画素数が26画素以下であると判断した場合はS17に進み、実施形態2で説明したように、DMAC118に対して1タイル幅の重複画像領域を含んで分割するように設定する。
尚、このフローチャートには記載しないが、実際には画像のシフト方向によって分割される画像イメージが異なる。図16(A)は、右方向に画像シフト処理を行う場合の例を示し、図16(B)は、左方向に画像をシフト処理する場合の例を示す。こうして左右に分割された画像データは画像処理LSI202,203及び画像結合処理LSI204に転送され、微小画像シフト処理、各種画像処理、不要画像データの削除、分割画像データの結合処理がなされて処理済の画像データを得る。こうして得られた画像データはS19にてプリンタ108に転送されて印刷される。尚、微小画像シフト画素数が「0」の場合は、実施形態1で説明したように画像処理LSI202,203の1302微小画像シフト処理部1002で微小画像シフト処理は行われない。
一方、S13で微小画像フト画素数が27画素以上であると判定した場合はS14に進み、そのシフト方向が左右いずれであるかを判断する。シフト方向が右方向であると判定した場合はS15に進む。S15では、実施形態3で説明したように、右側の分割画像の画像端部に更に1タイル画像幅の付加画像領域を付加するように原画像データを分割して転送されるよう(図16(C))、DMAC118に設定を行う。これにより転送された各分割画像データは同様に、S18にて不要な画像データの削除処理を行った後に結合処理が行われS19で印刷される。またS14で、シフト方向が左方向であると判定した場合はS16に進む。S16では、左側の分割画像の画像端部に更に1タイル画像幅の付加画像領域を付加するように原画像データを分割して転送する(図16(D)参照)にDMAC118に設定する。こうして転送された各分割画像データは、S18で不要な画像データの削除処理を行った後に結合処理が行われ、S19で印刷される。
次にS12で画像のシフト処理が含まれていないと判定した場合はS20に進み、設定情報が7×7の画素領域を参照する画像処理を含んでいるかを判定する。ここで7×7の画素領域を参照する画像処理を含むと判定した場合はS21に進み、DMAC118に対して1タイル幅の重複画像領域を含んで分割するように(図16(E)参照)設定する。そしてS18に進み、その設定に従って分割、転送された各分割画像データは、画像結合処理LSI204で不要画像データが削除されてS19で印刷される。
一方、S20で7×7の画素領域を参照する画像処理を含まないと判定した場合はS22に進み、重複画像領域を含まないように(図16(F)参照)分割するようDMAC118に設定する。次にS23に進み、分割された画像データを画像結合処理LSI204において、各分割画像データの境界部に不要画像データが存在しないために、削除処理を行わずに結合処理を行う。そしてS19に進んで印刷する。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。