(57)【要約】【課題】  複数の描画部によりタイル毎に画像を描画し、次工程でタイル毎に参照画素を要する画処理を行うシステムにおいて、描画工程と画像処理工程とを可能な限り少ないバッファメモリを用いて制御することを目的とする。【解決手段】  各タイル毎に初期状態を示す状態と、描画済を示す状態と、使用済を示す状態とを少なくとも有する状態変数をまたせる構成をとる。【選択図】  図１
2010288145.tif 000002
【特許請求の範囲】
【請求項１】
矩形ブロック単位で画像データを転送する画像転送手段と、
上記画像転送手段により転送された画像データを記憶するメモリと、
上記メモリに記憶された画像データを元に画像処理を行い処理済データを出力する画像処理部と、
格納可能な状態を示す状態と格納済を示す状態と画像処理済を示す状態とを少なくとも有する状態変数を各矩形ブロック単位ごとに有する状態テーブルを有する画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
任意の矩形ブロック領域が画像処理可能状態になったときに画像処理要求命令を発生させる手段とを有する画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
画像処理要求命令を保持する待ち行列を有する画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリ上に矩形ブロック単位で展開された画像データに対して矩形ブロック単位で画像処理を施す画像処理装置に関するものである。
【背景技術】
【０００２】
従来、メモリバッファ上に格納された画像データに対して画像処理を実行するものとしては、矩形ブロック領域単位で画像処理を実行するものがあった。矩形ブロック処理単位で画像処理を行う画像処理部は、対象となる矩形ブロック領域に対して画像処理を実行するためにより大きな参照領域を必要とする（特許文献１図１７参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２２０５８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の従来の技術では、画像処理部が対象領域の画像処理を行うために対象領域より広い参照領域を画像データが展開されたメモリバッファから読み取る必要があった。つまりある一つの矩形ブロック領域の画像がメモリバッファに格納されたとき、その矩形ブロック領域の画像処理を行うことはできない。図２に示すように参照領域は周囲の９個の矩形ブロックの領域の一部に及ぶからである。従って上述の技術においては十分広い領域の例えば１ページに相当する多くの矩形ブロックからなる領域を一旦メモリバッファ上に格納してから次工程の画像処理工程へ移る必要があった。
【０００５】
本発明が解決しようとしている課題はメモリバッファの大きさを削減することである。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は矩形ブロック単位で転送された画像データをメモリバッファに格納し、格納された画像データを元に画像処理を行い処理済データを出力する画像処理装置において以下の手段をとる。即ち、格納可能な状態を示す状態と格納済を示す状態と画像処理済を示す状態とを少なくとも有する状態変数をメモリバッファの各矩形ブロック単位ごとに保持する手段を有することを特徴とする。
【０００７】
さらに前述の任意の矩形ブロック領域が画像処理可能状態になったときに画像処理要求命令を発生させる手段を有することを特徴とする。
【０００８】
さらに前述の画像処理装置において、前述の画像処理要求命令を保持する待ち行列手段を有することを特徴とする。
【発明の効果】
【０００９】
本発明の第一の効果は必要なバッファメモリの容量を削減することができることである。さらに大容量のメモリバッファへの格納の終了をまたずに次の画像処理工程へ移れるので最初の画像処理済データが得られるまでの時間は短縮される。
【００１０】
また本発明によれば、各矩形ブロック領域を順番通り処理せず処理順が前後しても可能な矩形ブロック領域から効果的に次段の矩形ブロック単位の画像処理を行うことができる。このことは画像処理装置の内部構成の柔軟性を高める効果がある。例えばメモリバッファから見て上流の画像転送手段は複数個に拡張してパフォーマンスを向上させることが容易となる。同様にメモリバッファから見て下流の画像処理手段は複数個に拡張してパフォーマンスを向上させることが容易となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の画像処理装置を説明するブロック図である。
【図２】矩形ブロック領域と参照領域の関係を説明する図である。
【図３】画像処理装置が処理するページとバッファメモリ１０１との関係を示す図である。
【図４】メモリバッファとフラグテーブルの対応を説明する図である。
【図５】状態遷移を説明する図である。
【図６】フラグテーブルの更新を説明する図である。
【図７】一つの矩形ブロックがバッファメモリにライトされたときに制御部が行う動作を説明する図である。
【図８】一つの矩形ブロックの画像処理が完了したときに制御部が行う動作を説明する図である。
【図９】画像処理部１、画像処理部２、画像処理部３のそれぞれに実装されるスムージング回路の構成図である。
【図１０】画像処理部１、画像処理部２、画像処理部３の詳細構成を示すブロツク図である。
【図１１】３ステートバッファ２４の構成を示す図である。
【図１２】図１０のＳＲＡＭ周辺回路の動作を示すタイムチャートである。
【図１３】７×７のウィンドウを示す図である。
【図１４】図１０の論理回路４１にて行われるスムージング処理の１例を示す図である。
【図１５】図１０の論理回路４１にて行われるスムージング処理の１例を示す図である。
【図１６】図１０の論理回路４１にて行われるスムージング処理の１例を示す図である。
【図１７】スムージングによって得られる画像の例を示す図である。
【発明を実施するための形態】
【００１２】
（実施例１）
図1は、本発明を実施した画像処理装置の構成を説明するブロック図である。
【００１３】
図において、１０３はスプールメモリであり図示しない上流装置から送られた矩形ブロック領域ごとの描画のための中間データをスプールする。描画部１、描画部２、描画部３は描画部であり、それぞれスプールメモリ１０３にスプールされた矩形ブロック領域毎の中間データから画像データを生成する。
【００１４】
３つの描画部が処理する矩形ブロックはページを縦３列に等分するなどして予め定めておいても良い。また、ページの左上の矩形ブロックから主走査方向へ順番に描画部1、描画部２、描画部３と振っても良い。また、予め定めずに処理が可能な描画部が未処理の矩形ブロックを動的に選択する方法でも良い。
【００１５】
描画部１、描画部２、描画部３はそれぞれ生成された矩形ブロック領域の画像データをメモリバッファ１０１へライトする前にＲＥＱ信号を後述の制御部１０２へ発行する。それに対するＡＣＫ信号が返されるまでメモリバッファ１０１へのライトは延期される。ＲＥＱ信号は矩形ブロック領域を特定する情報を含んでいる。また、それぞれの描画部はその描画した画像をバッファメモリ１０１へライトし終えたならばＷｒｉｔｅＤＯＮＥを出力する。ＲＥＱ、ＡＣＫ、ＷｒｉｔｅＤＯＮＥの通信は矩形ブロック領域の単位で行われる。また、ＲＥＱ、ＡＣＫ、ＷｒｉｔｅＤＯＮＥ信号は３つの描画部ごとに独立して存在する。
【００１６】
フラグテーブル１０６はバッファメモリ１０１が有する矩形ブロック領域の全てに対応する状態を有するものであり、後述の制御部１０２により管理される。
【００１７】
制御部１０２はＷｒｉｔｅＤＯＮＥ信号、ＤＯＮＥ信号の入力に応じてフラグテーブル１０６を更新する。またその状態を参照し各描画部からの描画要求された矩形ブロックを含む９個の矩形ブロックが全てＩまたはＷのとき描画を許可する。これはの後述する条件Ｂの判断を可能にするためである。
【００１８】
また制御部１０２はフラグテーブル１０６の後述する条件Ａが成立すると画像処理要求命令をキュー１０４へ送信する。画像処理要求命令は矩形ブロック領域一つの描画の単位で発行される。画像処理要求命令は矩形ブロック流域を特定する情報を含む。
【００１９】
キュー１０４は待ち行列バッファであり画像処理要求命令を画像処理部１、画像処理部２、画像処理部３のいずれも受け付けられないとき命令を消失しないように保持する。
【００２０】
画像処理部１、画像処理部２、画像処理部３の内画像処理動作中ではないいずれかのものがキュー１０４から画像処理要求命令を受信して指定された矩形ブロック領域の画像処理を行う。また、画像処理が終了するとＤＯＮＥ信号を制御部１０２へ返す。
【００２１】
画像処理部１、画像処理部２、画像処理部３によって画像処理された画像データは後段のバッファ１０５に転送される。
【００２２】
図３は画像処理装置が処理するページとバッファメモリ１０１との関係を示す図である。本実施例において１ページは主走査方向が矩形ブロック１２個、副走査方向が矩形ブロック１５個分のサイズを持っている。バッファメモリ１０１のサイズは主走査方向が矩形ブロック１２個、副走査方向が矩形ブロック５個分である。
【００２３】
図４はバッファメモリ１０１とフラグテーブル１０６との対応関係を説明する図である。本実施例では主走査方向に１２ブロック、副走査方向に５ブロック分の矩形ブロック領域をもつバッファメモリであり、フラグメモリも同様の構成をもち各矩形ブロックごとに状態値を保持する。
【００２４】
各矩形ブロックの状態値の遷移を図５を用いて説明する。
【００２５】
最初は全ブロックについて初期状態でありまた、描画可能な状態である。その状態をＩ（Ｉｎｉｔｉａｌ）と表す。描画部のライトが終了しＷｒｉｔｅＤＯＮＥが発行されたならばライトされた状態であるＷ（Ｗｒｉｔｔｅｎ）の状態に遷移させる。続いて対応するブロックが画像処理に用いられたならばＵ（Ｕｓｅｄ）の状態に遷移する。さらに後述する条件Ｂが成立し画像を保持する必要性が無くなったならば、最初のＩの状態へ遷移する。
【００２６】
図６はフラグテーブル１０６の更新のされ方を説明するずである。
【００２７】
説明のため主走査方向の位置がｘ、副走査方向の位置がｙの矩形ブロックを（ｘ、ｙ）とする。
【００２８】
図６（ａ）は既に３ブロックのライトがされている。先に述べたように制御部１０２は各描画部からの描画要求された矩形ブロックを含む９個の矩形ブロックが全てＩまたはＷのとき描画を許可する。例えば描画部１、２、３のいずれかにより（４，０）の矩形のライトのＲＥＱ信号が発生されたとする。（ａ）の時点で左右の２ブロック、下方向の２ブロックともにＩまたはＷなので要求は許可される。本来上方のブロックとして（３、４）、（４、４）、（５、４）もチェックされるべきであるが、ページの先頭なのでドントケアとして良い。
【００２９】
同図の（ｂ）は処理が進行し、（６、０）の矩形ブロックの後述の条件Ａが成立し（６、０）の画像処理要求命令が発生した状態を示す。条件Ａとは対象となる矩形ブロックの周囲９つの矩形ブロックが全てＷまたはＵの状態になることである。（ｂ）のときのバッファメモリはページの上端に相当するので上方向のブロックは必要条件からはずれ条件Ａが成立となる。
【００３０】
バッファメモリ１０１がページメモリの２バンド目以降に相当するとき即ちフラグテーブルの状態が２巡以上したときは上方向のブロックとして（５、４）、（６、４）、（７、４）を参照する必要がある。
【００３１】
画像処理要求命令を画像処理部１、２、３のいずれかが受け画像処理を終えたたならばそれはＤＯＮＥ信号によって通知され、該当する矩形ブロックの状態はＵへ遷移する。
【００３２】
図６（ｃ）はＵの状態が増加している状態を示す図である。（ｃ）の状態において（３、０）の矩形ブロックの後述の条件Ｂが成立し図６（ｄ）において（３、０）がＩへ遷移している。条件Ｂとは対象となる矩形ブロックの周囲９つの矩形ブロックが全てＵまたはＩの状態になることである。（ｃ）のときのバッファメモリはページの上端に相当するので上方向のブロックは必要条件からはずれ条件Ａが成立となる。
【００３３】
バッファメモリ１０１がページメモリの２バンド目以降に相当するとき即ちフラグテーブルの状態が２巡以上したときは上方向のブロックとして（２、４）、（３、４）、（４、４）を参照する必要がある。
【００３４】
図７と図８は制御部１０２が行う処理のフローを説明する図である。
【００３５】
図７は描画部１、２、３のいずれかが矩形ブロックの画像データのバッファメモリへのライトを終了したときに制御部１０２で発生する処理フローである。同図の６０２においてまず制御部１０２は該当する矩形ブロックの状態をＩからＷへ変更する。次に上記の変更によって影響を受ける可能性のある９個の矩形ブロックのそれぞれについて状態変化があるかを６０３から６０７にかけてチェックする。
【００３６】
まず６０３において６０２で状態が変更されたブロックを中心に含む９ブロックの一つを注目ブロックに設定する。６０４において注目矩形ブロックを含む周囲９矩形ブロックは全てＷまたはＵであるかを検査する。これは前述した条件Ａである。Ｙｅｓであれば６０６において画像処理要求命令を発生する。Ｎｏであれば６０５で最後と判断されない限り注目矩形を６０７で次のものに変更し６０４の条件チェックを繰り返す。以上条件Ａのチェックを９回繰り返して終了する。
【００３７】
図８は画像処理部１、２、３のいずれかが矩形ブロックの画像処理を終了したときに制御部１０２で発生する処理フローである。同図の７０２においてまず制御部１０２は該当する矩形ブロックの状態をＷからＵへ変更する。次に上記の変更によって影響を受ける可能性のある９個の矩形ブロックのそれぞれについて状態変化があるかを７０３から７０７にかけてチェックする。
【００３８】
まず７０３において７０２で状態が変更されたブロックを中心に含む９ブロックの一つを注目ブロックに設定する。７０４において注目矩形ブロックを含む周囲９矩形ブロックは全てＵまたはＩであるかを検査する。これは前述した条件Ｂである。Ｙｅｓであれば７０５において注目画素を発生する。Ｎｏであれば７０７で最後と判断されない限り注目矩形を７０６で次のものに変更し７０４の条件チェックを繰り返す。以上条件Ｂのチェックを９回繰り返して終了する。
【００３９】
図９は画像処理部１、２，３のそれぞれに実装されるものの例を示すものであり、ここではそれぞれスムージング機能を有するものである。３つの画像処理部を並列に動作させることにより全体の処理のパフォーマンスを向上することが可能である。
【００４０】
図９に示した画像処理部では、インターフェース部１０が必要な画像データ、つまり矩形ブロック部の周囲の重複部を含むエリアの画像データを主メモリ１０２から読み取る。さらに内部で処理した後に矩形ブロック部のエリアのみの画像データを出力部１０３へ書き戻すものである。同図においてインターフェース部１０は受信したデータをシリアルデータに変換して記憶部１７へＶＣＬＫに同期させて転送する。記憶部１７はインターフェース部１０より送られてくる画像信号を受け、記憶部１７が主走査７ラインを記憶し、スムージング部１８がそれをウインドウ状に主走査７ドツトに展開してスムージング処理を行ない、それをプリンタエンジン２００に送出する。
【００４１】
ここで画像処理部１０７と画像処理部１０８がエッジ強調などのフィルタリングを行う画像処理であった場合においても周辺画素を参照する点で同様な回路構成になることに注意されたい。つまり画像データバスとのインターフェイスと周辺画素を保持するための記憶部１７、周辺画素から注目画素のデータを決定する論理決定部である。論理決定部は図９においてはスムージング部に相当する。
【００４２】
図１０は、図９に示した画像処理部２０の詳細構成を示すブロツク図である。同図に示した画像処理部には、図９のインターフェース部１０から画像転送クロックＶＣＬＫと画像クロックＶＣＬＫと同位相で８倍の周波数のシステムクロックＳＣＬＫ、そして画像クロックＶＣＬＫに同期してシリアル画像信号が送られてくる。
【００４３】
シリアル画像信号は、３ステートラッチバッファ２４の入力端の１つであるＤ０端子に入力され、Ｄ０に対応する３ステートラッチバッファ２４の出力Ｑ0 は、シフトレジスタ２９に入力されるとともに、ＳＲＡＭ２１のデータ端子であるＩ／Ｏ１にも入力される。また、ＳＲＡＭのアドレスＡＤ０〜ＡＤ６は、アドレスカウンタ２２より供給される７本のアドレスラインと接続されている。尚、これら７本のアドレスラインにて展開されるアドレス長は、矩形ブロックの１ラインと周辺の画像データを記憶するのに十分である。
【００４４】
また、ＳＲＡＭへの読み出し信号ＯＥ、書き込み信号ＷＥ、３ステートバッファ２４のラッチ信号ＣＬＫ、出力イネーブル信号ＯＣ、及びアドレスカウンタ２２のクリア信号ＲＥＳＥＴは、制御回路２３にて生成されるが、それらの動作については後述する。制御回路２３は、画像クロックＶＣＬＫの１周期間にシステムクロックＳＣＬＫにより複数のステートを作り出している。よって、上述の如く、ＳＣＬＫはＶＣＬＫの８倍の周波数なので、ここでは画像クロックＶＬＣＫの１周期の間に最大８つのステツプを実行することができる。尚、３ステートラッチバッファ２４の各バッファは、図１１に示すようにラッチ回路２４ａとバッファ回路２４ｂとから構成されている。
【００４５】
次に、図１２に示すタイムチヤートを参照して、図１０のＳＲＡＭ周辺回路の動作を説明する。尚、以下の説明では第ｎ番目の画素のデータをｄａｔａ（ｎ）、そのデータが格納されるアドレスをａｄｒ（ｎ）と記す。図１２において、画像クロックＶＬＣＫ（２）が論理ローレベルになつてから第１番目のクロックが入る（時刻ｔ１）。そのとき、３ステートラッチバッファ２４の出力イネーブル信号ＯＣ（９）がＦＡＬＳＥ状態になり、３ステートラッチバッファ２４内部のバッファ回路はハイインピーダンス状態となる。すると、今まで出力されていたデータｄａｔａ（ｎ−１）（（１０）バッファ出力参照）の出力が止まり、ＳＲＡＭ２１のデータバスには何も入力されない状態となる。
【００４６】
第２番目のクロックが入ると（時刻ｔ２）、ＯＥ信号（５）がＴＲＵＥ状態となる。同時にＳＲＡＭ２１はリード状態となつて（（１２）メモリ状態参照）、アドレスａｄｒ（ｎ）に格納されていたデータｄａｔａ（ｎ）がデータバス上に出力される（（６）メモリ出力データ参照）。第３番目のクロックにて（時刻ｔ３）、ラッチクロック（７）が立ち上がるので、データバス上に出力されていたデータｄａｔａ（ｎ）が３ステートラッチバッファ２４の内部でラッチされる。しかし、このときは、出力イネーブル信号ＯＣ（９）がＦＡＬＳＥ状態のままなので、データは３ステートラッチバッファ２４の外部には出力されない。そのため、バスの衝突は起こらない。
【００４７】
第４番目のクロックが入ると（時刻ｔ４）、ＳＲＡＭ２１の出力イネーブル信号ＯＥ（５）がＦＡＬＳＥ状態になり、ＳＲＡＭ２１はフローテイング状態となる。そして、第５番目のクロックが入ると（時刻ｔ５）、３ステートラッチバッファ２４の出力イネーブル信号ＯＣ（９）がＴＲＵＥ状態に変化し、ラッチされていたデータｄａｔａ（ｎ）が出力されてＳＲＡＭ２１に送られる。しかし、ＳＲＡＭ２１は、ライトイネーブル信号ＷＥ（１１）がＦＡＬＳＥ状態であるため、書き込みは行なわれない。
【００４８】
第６番目のクロックにて（時刻ｔ６）、ＳＲＡＭ２１のライトイネーブル信号ＷＥ（１１）がＴＲＵＥ状態となり、ＳＲＡＭ２１にｄａｔａ（ｎ）が書き込まれる。そして、第７番目のクロックが入力されると（時刻ｔ７）、ライトイネーブル信号ＷＥがＦＡＬＳＥ状態となつて書き込み動作が完了する。第８番目のクロックが入力されると（時刻ｔ８）、アドレスがａｄｒ（ｎ）からａｄｒ（ｎ＋１）に更新され、一画素のデータに関しての一連の動作が完了する。
【００４９】
以上の動作が３ステートラッチバッファ２４、及びＳＲＡＭ２１にて行なわれることで、画像クロックＶＣＬＫの１サイクルの間にＳＲＡＭ２１の端子から出力されたデータが同じアドレスの別端子に入力される。さらに、順次データが送られることによって、常に７ラインの画像データが記憶される。同時にシフトレジスタ２９〜３５に対しても画像データが供給される。
【００５０】
シフトレジスタ２９〜３５は、それぞれ７ビツトのビツト長を有する。それらは、３ステートラッチバッファ２４から送られてくる７ラインの画像データに対して直列−並列変換を施すことで主走査方向７ドツトずつに展開して、論理回路４１に対しては、計４９ドツトの画像データを送出する。論理回路４１では、送出された４９ビツトの画像データを、図１３に示すような７×７のウインドにあてはめ、以下に説明する定められた論理に従つて注目画素Ｄ４を主走査方向に１／４の大きさの４ドツトａ，ｂ，ｃ，ｄに分割する。さらに、レーザ光量の大小を指定する信号ＬＰを決定する。尚、ここでは、レーザ光量指定信号Ｐは、画像クロックＶＣＬＫ単位に変化するものとする。
【００５１】
この論理回路４１はＡＮＤロジツク回路にて構成され、シフトレジスタ２９〜３５からの計４９個のデータの論理積をとり、その結果に応じて、１画素を４分割したａ，ｂ，ｃ，ｄ区画の印字、非印字を表わすＶＤＯ信号とレーザ光量指定信号ＬＰを出力する。このレーザ光量指定信号ＬＰは、１ドツト単位で変化し、ＶＤＯ信号は、１／４ドツト単位に変化する。
【００５２】
図１４〜図１６は、水平に近い線のスムージング処理を例を示すものである。図１４において、図の右上に示す論理が成立する。つまり、３Ｃ，３Ｄ，３Ｅ，３Ｆ，３Ｇ，４Ａ，４Ｂ，４Ｃが０（白）、４Ｄ，４Ｅ，４Ｆ，４Ｇ，５Ａ，５Ｂ，５Ｃ，５Ｄ，５Ｅ，５Ｆ，５Ｇが１（黒）の場合は、注目画素４ＤのＶＤＯをａ＝０，ｂ＝１，ｃ＝１，ｄ＝０とする。同様に、図１５の場合、注目画素４ＤのＶＤＯをａ＝０，ｂ＝１，ｃ＝１，ｄ＝０とする。また、図１６の場合、注目画素４ＤのＶＤＯをａ＝０，ｂ＝０，ｃ＝１，ｄ＝０とする。
【００５３】
これらの処理による印字結果を、図１７に示す。本図は画像処理が出力する矩形ブロックの単位を６４×６４であるときの例を示している。画像処理部としては重複部を含む７０×７０の画像領域を処理する。
【００５４】
上述のように、１画素を１／４分割し、各区画を印字、または非印字にすることで、エッジや文字の輪郭を滑らかにすることができる。これは、この処理にて感光ドラム上の潜像電位を滑らかにすることができるためであり、電子写真特有の現象である。尚、ここでは、水平に近いラインのスムージング処理について説明したが、垂直に近いライン、斜め線、文字の輪郭という部分も、４９画素の論理のデータの論理積をとることで検出できる。いずれの場合も感光ドラム上の潜像電位を滑らかにつなぎ、印字結果を滑らかにするよう注目画素の印字面積、及びレーザ光量を決定する。
【００５５】
また、論理回路４１の出力であるａ，ｂ，ｃ，ｄは、バスインターフェイス回路１０にてデータバスのプロトコルに変換され出力される。
【符号の説明】
【００５６】
１０１  画像バッファメモリ
１０２  制御部
１０３  スプールメモリ
１０４  待ち行列バッファ
１０５  バッファ
【図１】
2010288145.tif 000003
【図２】
2010288145.tif 000004
【図３】
2010288145.tif 000005
【図４】
2010288145.tif 000006
【図５】
2010288145.tif 000007
【図６】
2010288145.tif 000008
【図７】
2010288145.tif 000009
【図８】
2010288145.tif 000010
【図９】
2010288145.tif 000011
【図１０】
2010288145.tif 000012
【図１１】
2010288145.tif 000013
【図１２】
2010288145.tif 000014
【図１３】
2010288145.tif 000015
【図１４】
2010288145.tif 000016
【図１５】
2010288145.tif 000017
【図１６】
2010288145.tif 000018
【図１７】
2010288145.tif 000019