JP2004056447A - Picture processor, picture processing method, computer readable storage medium and program - Google Patents
Picture processor, picture processing method, computer readable storage medium and program Download PDFInfo
- Publication number
- JP2004056447A JP2004056447A JP2002210800A JP2002210800A JP2004056447A JP 2004056447 A JP2004056447 A JP 2004056447A JP 2002210800 A JP2002210800 A JP 2002210800A JP 2002210800 A JP2002210800 A JP 2002210800A JP 2004056447 A JP2004056447 A JP 2004056447A
- Authority
- JP
- Japan
- Prior art keywords
- image data
- tile
- unit
- image
- tile image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storing Facsimile Image Data (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、小さなタイル画像の単位で複数に分割される画像データに所定の画像処理を行う画像処理装置および画像処理方法およびコンピュータが読み取り可能な記憶媒体およびプログラムに関するものである。
【0002】
【従来の技術】
一般的に、ファクシミリや複写機等のオフィス画像機器において扱う画像データは、A4やA3サイズの原稿を数百dpi(dot per inch:1インチあたりの画素数)の解像度で読み取ったものである。そのため、画像データは横方向および縦方向において数千画素、また、総画素数では数千万画素から一億画素にもなり、そのデータ量は膨大である。
【0003】
また、近年、オフィス画像機器において、扱う画像も、白黒画像からカラー画像への切り換えの要求があるが、カラー画像における1画素当たりのデータ量は白黒のそれと比較して数倍から数十倍であるために、結果としてオフィス画像機器で扱う画像のデータサイズが爆発的に大きくなってきている。
【0004】
こういった背景の下、高価な大容量のメモリ装置を使用しないで大きな画像データを扱う仕組みが考えられている。
【0005】
大容量でありながらメモリ装置より安価なHDD(ハードディスクドライブ)装置に画像を格納する方法や、画像全体を圧縮して格納する方法である。また、画像全体を1つのデータの塊として扱わずに、画像全体をタイルと呼ばれる数十または数百画素からなる小さな長方形または正方形の単位に分割して、タイル単位で画像を管理するタイル分割方式が取られることがある。
【0006】
ここで、タイルの大きさとしては、横8画素かつ縦8画素や、横32画素かつ縦32画素などがあり、一度に扱う画素数が数百から数千の範囲に収まる程度である。この方式では、リーダで読み取った巨大な画像データやファクシミリ装置で受信した巨大な画像データは、一度小さなタイルに分割して多くの小さなタイル画像データに変換して、その小さなタイル画像を画像機器内部で扱う。そのため、メモリやHDDなどの記憶装置には小さなタイル単位の領域があればよく、つまりページ単位の大きな連続領域を用意する必要がなくなり、高価なメモリを小さなサイズのもので済ますことができる。
【0007】
また、いくつかの処理を同時並行的に実行する一般的なソフトウエア処理を考えた場合にも、複数のプログラムが大きな画像を同時に複数使用するにはかなり大きなメモリが必要になるが、画像を分割して小さなデータ単位で処理できるようにすることにより複数のプログラムが複数のタイル画像を開いても大きなメモリ量が必要ではなくなり、やはりメモリ量に関するメリットがある。
【0008】
【発明が解決しようとする課題】
しかしながら、大きな1つの画像を複数に分割して管理するタイル分割方式でも、例えば画像全体を縦横に数画素ずらすといった画像シフト処理などのように「元画像に対して複数のタイルをまたがった画像処理」を施したい場合に、元の大きな画像を復元してから所望の画像処理を画像全体に施す必要があり、一度元の画像データを復元するための作業領域として、画像全体が記憶できるだけの大きなメモリ領域がなければ画像処理ができない。そのために、メモリサイズを削減できるというタイル分割方式のメリットが失われる可能性がある。
【0009】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、格納されたタイル画像データの量を検知し、該検知されるタイル画像データの量に基づき、タイル画像データ格納手段から読み出すタイル画像データの特定の順番を決定し、該決定された特定の順番に従い、格納されたタイル画像データを所定タイル数メモリ上に読み出して、該読み出された所定数のタイル画像データに対して設定される画像処理条件に基づく所定の画像処理を行い新たなタイル画像データを生成することにより、画像を小さな複数のタイル単位に分割して扱うタイル分割方式において、画像シフト処理のように複数のタイルにまたがった画像処理を施す場合にも、元画像を復元するために大きなメモリを用意することなく、所望の画像処理を正確に実現する画像処理装置および画像処理方法およびコンピュータが読み取り可能な記憶媒体およびプログラムを提供することにある。
【0010】
【課題を解決するための手段】
本発明に係る第1の発明は、小さなタイル画像の単位で複数に分割される画像データに所定の画像処理を行う画像処理装置であって、複数のタイル画像データを格納するタイル画像データ格納手段(図4に示すHDD126に相当)と、前記タイル画像データ格納手段に格納されたタイル画像データに対する画像処理条件を設定する設定手段(図4に示すCPU121に相当)と、前記タイル画像データ格納手段に格納されたタイル画像データの量を検知する検知手段(図4に示すCPU121に相当)と、前記検知手段により検知されるタイル画像データの量に基づき、前記タイル画像データ格納手段から読み出すタイル画像データの特定の順番を決定する決定手段(図4に示すCPU121に相当)と、前記決定手段により決定された特定の順番に従い、前記タイル画像データ格納手段に格納されたタイル画像データを所定タイル数メモリ上に読み出して、該読み出された所定数のタイル画像データに対して前記設定手段により設定される画像処理条件に基づく所定の画像処理を行い新たなタイル画像データを生成する生成手段(図4に示す画像シフト処理部134に相当)とを有することを特徴とする。
【0011】
本発明に係る第2の発明は、前記所定の画像処理とは、前記タイル画像データを前記画像処理条件に従って指定画素数だけ横方向と縦方向にずらす画像シフト処理であることを特徴とする。
【0012】
本発明に係る第3の発明は、前記特定の順番は、画像データを分割して得られるタイル画像データの内で直交座標系に従う最左上のものを基準として、所定方向に隣接する所定数のタイル画像データが揃う順番とすることを特徴とする。
【0013】
本発明に係る第4の発明は、小さなタイル画像の単位で複数に分割される画像データに所定の画像処理を行う画像処理装置における画像処理方法であって、タイル画像データ格納手段に格納された複数のタイル画像データに対する画像処理条件を設定する設定ステップ(図13に示すステップ(3))と、前記タイル画像データ格納手段に格納されたタイル画像データの量を検知する検知ステップ(図13に示すステップ(4))と、前記検知ステップにより検知されるタイル画像データの量に基づき、前記タイル画像データ格納手段から読み出すタイル画像データの特定の順番を決定する決定ステップ(図13に示すステップ(4))と、前記決定ステップにより決定された特定の順番に従い、前記タイル画像データ格納手段に格納されたタイル画像データを所定タイル数メモリ上に読み出して、該読み出された所定数のタイル画像データに対して前記設定ステップにより設定される画像処理条件に基づく所定の画像処理を行い新たなタイル画像データを生成する生成ステップ(図13に示すステップ(6))とを有することを特徴とする。
【0014】
本発明に係る第5の発明は、前記所定の画像処理とは、前記タイル画像データを前記画像処理条件に従って指定画素数だけ横方向と縦方向にずらす画像シフト処理であることを特徴とする。
【0015】
本発明に係る第6の発明は、前記特定の順番は、画像データを分割して得られるタイル画像データの内で直交座標系に従う最左上のものを基準として、所定方向に隣接する所定数のタイル画像データが揃う順番とすることを特徴とする。
【0016】
本発明に係る第7の発明は、第4〜第6のいずれかに記載の画像処理方法を実現するプログラムを記憶したコンピュータが読み取り可能な記憶媒体であることを特徴とする。
【0017】
本発明に係る第8の発明は、第4〜第6のいずれかに記載の画像処理方法を実現するプログラムであることを特徴とする。
【0018】
【発明の実施の形態】
以下、本発明の一実施形態を図面に基づき説明する。
【0019】
図1は、本発明の第1実施形態を示す画像処理装置のシステム構成を示すブロック図である。
【0020】
図1において、1はリーダ部で、原稿の画像を読み取り、原稿画像に応じた画像データを後述する画像入出力制御部3へ出力する。2はプリンタ部で、画像入出力制御部3からの画像データに応じた画像を記録紙上に記録する。3は画像入出力制御部で、リーダ部1及びプリンタ部2に接続されており、ファクシミリ部4、ネットワークインタフェース部5、コンピュータインタフェース部6及びア部10等からなる。
【0021】
ファクシミリ部4は電話回線11を介して受信した圧縮画像データを伸長して、該伸長された画像データをコア部10へ転送し、また、このコア部10から転送された画像データを圧縮して、該圧縮された画像データを電話回線11を介して送信するものである。
【0022】
ネットワークインタフェース部5はローカルエリアネットワークまたはワイドエリアネットワーク(LAN/WAN)12とコア部10との間のインタフェースである。
【0023】
コンピュータインタフェース部6は、パーソナルコンピュータまたはワークステーション(PC/WS)13とコア部10との間のインタフェースである。
【0024】
コア部10は、リーダ部1、プリンタ部2、ファクシミリ部4、ネットワークインタフェース部5、コンピュータインタフェース部6のそれぞれの間のデータの流れを制御するものである。
【0025】
図2は、図1に示したリーダ部1及びプリンタ部2の構成を示す縦断面図である。
【0026】
図2において、リーダ部1の原稿給送装置101は原稿を最終頁から順に1枚ずつプラテンガラス102上へ給送し、原稿の読み取り動作終了後、プラテンガラス102上の原稿を排出するものである。
【0027】
原稿がプラテンガラス102上に搬送されると、ランプ103を点灯し、スキャナユニット104の移動を開始させて、原稿を露光走査する。このときの原稿からの反射光は、ミラー105,106,107及びレンズ108によってCCDイメージセンサ(以下、CCDと記述する)109へ導かれる。このように走査された原稿の画像は、CCD109によって読み取られる。CCD109から出力される画像データは、所定の処理が施された後、画像入出力制御部3のコア部10へ転送される。
【0028】
プリンタ部2のレーザドライバ201はレーザ発光部を駆動するものであり、コア部10から出力された画像データに応じたレーザ光をレーザ発光部に発光させる。このレーザ光は感光ドラム202に照射され、該感光ドラム202にはレーザ光に応じた潜像が形成される。この感光ドラム202の潜像の部分には現像器203によって現像剤が付着される。
【0029】
そして、レーザ光の照射開始と同期したタイミングで、上段給紙カセット204及び下段給紙カセット205のいずれかから記録紙を給紙して転写部206へ搬送し、感光ドラム202に付着された現像剤を記録紙に転写する。現像剤が転写された記録紙は定着部207へ搬送され、該定着部207の熱と圧力により現像剤は記録紙に定着される。
【0030】
このようにして定着部207を通過した記録紙は排出ローラ208によって排出され、ソータ211は排出された記録紙をそれぞれのビン212に収納して記録紙の仕分けを行う。
【0031】
なお、ソータ211は仕分けが設定されていない場合は最上部のビン212に記録紙を収納する。また、両面記録が設定されている場合は、排出ローラ208のところまで記録紙を搬送した後、排出ローラ208の回転方向を逆転させ、フラッパ209によって再給紙搬走路210へ導く。
【0032】
また、多重記録が設定されている場合は、記録紙を排出ローラ208まで搬送しないようにフラッパ209によって再給紙搬走路210へ導く。再給紙搬走路210へ導かれた記録紙は、上述したタイミングで転写部206へ搬送される。
【0033】
図3は、図1に示したリーダ部1の内部構成を示すブロック図である。
【0034】
図3において、109は電荷結像素子(CCD)で、プラテン102上に載置された原稿に投射される光の反射画像を光電変換して電気信号に変換する。110はA/D変換・シェーディング補正部(以下、A/D・SH部と記述する)である。
【0035】
111は画像処理部で、種々の画像演算処理を行う。112はインタフェース(I/F)、113はCPU(中央処理装置)で、メモリ115に確保されるワーク領域を使用して、画像処理を制御する。114は操作部であり、種々の画像処理モードの指示や、現在のシステム状態等を表示する。
【0036】
図3において、CCD109から出力された画像データは、A/D・SH部110でアナログ/デジタル変換処理が行われると共に、シェーディング補正処理が行われる。A/D・SH部110によって処理された画像データは、画像処理部111、インタフェース(I/F)112を介して画像入出力制御部3のコア部10へ転送される。
【0037】
CPU(中央処理装置)113は、操作部114で設定された設定内容に応じて画像処理部111及びインタフェース112を制御する。例えば、操作部114でトリミング処理を行って複写を行う複写モードが設定されている場合は、画像処理部111でトリミング処理を行わせて、インタフェース112から画像データと設定されたモードに応じた制御コマンドをコア部10へ転送させる。また、操作部114でファクシミリ送信モードが設定されている場合は、インタフェース112から画像データと設定されたモードに応じた制御コマンドをコア部10へ転送させる。
【0038】
このようなCPU113の制御プログラムはメモリ115に格納されており、CPU113はメモリ115内の制御プログラムを参照しながら制御を行う。また、メモリ115はCPU113の作業領域としても使われる。
【0039】
図4は、図1に示したコア部10の内部構成を示すブロック図である。
【0040】
図4において、リーダ部1はリーダI/F部135と接続されており、画像データおよび制御コマンドのやりとりを行うことができる。
【0041】
また、プリンタ部2はプリンタI/F部129と接続されており、画像データおよび制御コマンドのやりとりを行うことができる。同様に、ファクシミリ部4はFAX I/F部127と、ネットワークインタフェース部5はネットワークI/F部128と、コンピュータインタフェース部6はコンピュータI/F部132と接続されており、画像データおよび制御コマンドのやりとりを行うことができる。コア部10内部では、数多くの処理部が内部バス122と接続されており、相互にデータのやりとりができるような構成となっている。
【0042】
ここで、数多くの処理部とは、CPU121、メモリコントローラ部123、HDD(ハードディスクドライブ)コントローラ部125、FAX I/F部127、ネットワークI/F部128、プリンタI/F部129、画像・タイル変換処理部130、圧縮・伸長処理部131、コンピュータI/F部132、回転・反転処理部133、画像シフト処理部134、およびリーダI/F部135である。
【0043】
これら内部バス122に接続された各処理部は他の任意の処理部と接続することができる構成で、実際の動作時にはCPU121の制御によってデータを目的の処理部に対して転送する。各処理部の機能を以下に説明する。
【0044】
CPU121は中央演算処理装置であり、コア部10全体の制御を行う。メモリコントローラ部123は直接接続されたメモリ124を制御するもので、メモリ124はCPU121の制御プログラムを記憶しておくほか、CPU121の作業領域に使用される。HDDコントローラ部125は直接接続されたHDD(ハードディスクドライブ)126を制御するもので、HDD126は画像データを格納するために使用される。画像・タイル変換処理部130はメモリ136を使用して大きな画像データを複数の小さなタイル単位に分割し、または、小さなタイル画像データを複数集めて大きな画像データに変換する。
【0045】
圧縮・伸長処理部131は、タイル画像データを圧縮してタイルコードデータを生成する、またはタイルコードデータを伸長してタイル画像データを生成する。回転・反転処理部133はタイル画像データを画像回転・反転処理する。画像シフト処理部134はタイル画像データをシフト処理する。このシフト処理についての詳しくは後述する。
【0046】
次に、コア部10を中心とした画像データの流れを説明する。
【0047】
リーダ部1からの画像データはリーダI/F部135、内部バス122を介して画像・タイル変換処理部130に転送される。画像・タイル変換処理部130はメモリ136を作業領域として使いながら入力された画像データをタイル単位に分割して、一連のページ画像データを多数のタイル画像データに変換して内部バス122に対して出力する。出力されたタイル画像データは、内部バス122を介して圧縮・伸長処理部131に対して転送され、圧縮処理が施されたタイル画像コードデータとなり、再度内部バス122を介してHDDコントローラ部125に転送され、HDD126に格納される。
【0048】
HDD126に格納されたタイル画像コードデータはCPU121の制御により、プリンタ部2、ファクシミリ部4、ネットワークインタフェース部5、または、コンピュータインタフェース部6といった出力装置に対して出力される。
【0049】
ここでは、プリンタ部2に対して出力される手順を説明する。HDD126に格納されたタイル画像コードデータは、CPU121の制御により、HDDコントローラ125、内部バス122を介して圧縮・伸長処理部131に転送されて伸長処理が施されてタイル画像データに変換される。タイル画像データは、CPU121の制御により、再び内部バス122を介して画像・タイル変換処理部130に転送されてメモリ136に一時的に格納される。CPU121の制御によってすべてのタイル画像データについてこの処理が行われる。メモリ136にタイル画像データが既定量蓄えられたとき、画像・タイル変換処理部130はメモリ136から画像データの読み出しを開始する。
【0050】
そして、タイル・画像変換が行われ、内部バス122を介して画像データがプリンタI/F部129に対して転送される。プリンタI/F部129に転送された画像データは、さらにプリンタ部2に対して転送されて、プリンタ部2においてプリント処理が行われる。ファクシミリ部4、または、ネットワークインタフェース部5に対して出力する場合にも同様な手順で、ただし、プリンタI/F部129に対して画像データを転送する代わりにFAX I/F部127、または、ネットワークI/F部128に対して画像データを転送して出力処理が行われる。
【0051】
なお、以上では、リーダ部1から画像データが入力される場合について述べたが、ファクシミリ部4、ネットワークインタフェース部5、またはコンピュータインタフェース部6から画像データが入力される場合も同様な手順で画像データ転送が行われて、それぞれFAX I/F部127、ネットワークI/F部128、コンピュータインタフェース部6を介して画像データが入力され、内部バス122を介して画像・タイル変換処理部130に転送される。
【0052】
つまり、電話回線11からファクシミリ部4に対して入力された画像を表すコードデータは、ファクシミリ部4において画像データに展開される。該展開された画像データは、FAX I/F部127及び内部バス122を介して画像・タイル変換処理部130に転送される。
【0053】
また、LAN/WAN12からネットワークインタフェース部5に対して入力された画像データは、ネットワークインタフェース部5、ネットワークI/F部128、内部バス122を介して画像・タイル変換処理部130に転送される。また、PC/WS13からコンピュータインタフェース部6に対して入力された画像を表すコードデータは、コンピュータインタフェース部6において画像データに展開される。該展開された画像データはコンピュータインタフェース部6及び内部バス122を介して画像・タイル変換処理部130に転送される。
【0054】
そして、画像・タイル変換処理部130はメモリ136を作業領域として使いながら入力された画像データをタイル単位に分割して、一連のページ画像データを多数のタイル画像データに変換して内部バス122に対して出力する。
【0055】
そして、出力されたタイル画像データは、内部バス122を介して圧縮・伸長処理部131に対して転送され、圧縮処理が施されたタイル画像コードデータとなり、再度内部バス122を介してHDDコントローラ部125に転送され、HDD126に格納される。というように、リーダ部1から画像データが入力される場合と同様に画像データがタイル単位に分割され、さらに、圧縮処理されてHDD126に格納される。そして前述したのと同様な手順で、HDD126から、プリンタ部2、ファクシミリ部4、ネットワークインタフェース部5に対して画像データを出力することができる。
【0056】
ここで、HDD126に格納されたタイル画像コードデータは、プリンタ部2、ファクシミリ部4、ネットワークインタフェース部5、またはコンピュータインタフェース部6に対して出力する前に、次の手順で画像回転・反転や画像シフト処理などの画像処理加工を施すことができる。
【0057】
HDD126に格納されたタイル画像コードデータは、CPU121の制御によりHDDコントローラ部125、内部バス122を介して、圧縮・伸長処理部に転送され、伸長処理が施されて、圧縮されていないタイル画像データに変換されてから、再度内部バス122を介して、回転・反転処理部133、または画像シフト処理部134に対して転送される。
【0058】
そして、それぞれの処理部で画像処理が施された後、内部バス122を介してもう一度圧縮・伸長処理部131に転送されて今度は圧縮処理が施されて、圧縮されたタイル画像コードデータに変換され、そして、内部バス122を介してHDDコントローラ部125に転送され、HDD126に格納される。
【0059】
CPU121は、メモリ124に記憶されている制御プログラム及びリーダ部1から転送された制御コマンドおよび画像データとともに転送された制御コマンドに従って上述したような制御を行う。このように、コア部10を中心に原稿画像の読み取り、画像のプリント、画像の送受信、PC/WS13からのデータの入出力等の機能を複合させた処理を行うことが可能である。
【0060】
図5は、図4に示した画像シフト処理部134の内部構成を示すブロック図であり、図6は、図4に示した画像シフト処理部134が取り扱うタイル画像データの構造を説明する図である。
【0061】
図6において、aとbはそれぞれレジスタaおよびレジスタbの値であり、画像のシフト量を表すものである。これらはあらかじめCPU121によってレジスタ部144に設定しておくものである。またここでは、1タイルは横8画素、縦8画素からなる正方形であり、レジスタ値はa=3、b=2の場合である。
【0062】
図5において、141はデータ出力部、142はデータ入力部、143はタイルバッファ部、144はレジスタ部である。レジスタ部144は内部にレジスタxおよびレジスタyを持っており、内部バス122とデータ入力部142とを介して、CPU121がこれらのレジスタに値を設定することができる。また、内部バス122を介して転送されてくる画像データは、データ入力部142に入力され、画像データはタイルバッファ部143に格納される。
【0063】
データ出力部141は、タイルバッファ部143に格納されたタイルが4つになったところで内部バス122に対してデータ出力動作を開始する。
【0064】
ここで、出力するタイル画像データは、元となる4つのタイル画像データの中で、図6に示した斜線の範囲の1タイル分のタイル画像データである。1タイル分のタイル画像データ出力が終了すると、データ出力部141はデータ出力処理を中断し、4つのタイル画像データのうち、左側2つのタイル画像データをタイルバッファ部143から破棄して、再度4つのタイル画像データが格納されるのを待つ。データ出力部141は以上の処理を繰り返す。
【0065】
なお、データ入力部142は、前述の通り、内部バス122からタイル画像データが転送されてくるとそれをタイルバッファ部143に格納するが、すでにタイルバッファ部143に4つのタイル画像データが格納されているときには、内部バス122からのデータ転送要求を一時保留して、格納すべきタイル画像データのデータサイズがタイルバッファ143のサイズを超えないようにするとともに、入力されるタイル画像データの属性のタイル座標(x,y)を監視して、期待値(ex,ey)と異なる場合にタイルバッファ部143に格納されているタイル画像データを破棄するという処理を行う。ここで、期待値(ex,ey)は、2つ前に入力されたタイル画像データのタイル座標を(xx,yy)と書き表すと、(ex,ey)=(xx−1,y)で計算できる値の組のことである。
【0066】
つまり、データ入力部142は、2つ前と1つ前に入力されたタイル画像データの座標データを記憶しておき、次に入力されるタイル画像データのタイル座標の期待値を計算しておいて、実際に入力されたタイル画像データのタイル座標の値と比較するのである。また、タイル画像データの属性のタイル座標については後述する。
【0067】
図7は、図5に示したタイルバッファ部143に展開されるタイル画像データ例を示す図である。
【0068】
図7において、小さな正方形は画素で、1つのタイル画像データは、横8画素、縦8画素、合計64の画素から構成される。各画素は画像を構成する最小の単位で、R、G、Bの3つの数値を持つものである。それぞれの数値は「0」から「255」の範囲の数で、Rの数値はその画素の赤い成分の輝度を表し、Gの数値はその画素の緑の成分の輝度を表し、Bの数値はその画素の青い成分の輝度を表している。
【0069】
なお、図中の数字は説明の便宜上付けたもので、これらのR、G、Bの値とは無関係な、タイル画像データ中での画素番号を表すものである。
【0070】
図8,図9は、図5に示したデータ出力部141によるタイル画像データを内部バス122で転送するときのタイミングチャートである。
【0071】
図8に示すように、タイル画像データは、属性データおよび画素データとに分けて転送される。クロック信号に同期して、転送開始信号に合わせて、タイル画像データの属性データ、タイル画像データの画素データ、という順番で転送される。
【0072】
ここで、属性データの1番目の値「画像」はこの転送がタイル画像データの転送であることを示すフラグである。このフラグは他に、レジスタ部の設定を行う転送であることを示す値「レジスタ」を取ることがあり、その場合には図9で示すようなレジスタ設定値の転送となる。
【0073】
また、属性データの2番目の値「RGB」は、転送するタイル画像データがRGBの3つの値を持つ画像であることを示している。これは他に白黒データを表す「ND」などの値を取ることがある。
【0074】
また、属性データの3番目および4番目の値「x」および「y」は、タイル画像データのタイル座標を表す値である。
【0075】
ここで、タイル画像データのタイル座標とは、図10で示すような、2つの数値を組にしたものである。
【0076】
図10は、本発明に係る画像処理装置で取り扱うタイル画像データのタイル座標例を説明する図である。
【0077】
なお、図10では、画像全体が横方向64画素、縦方向48画素で構成される場合、つまり画像全体が、横方向8タイル、縦方向6タイルに分割できる場合である。このとき、左上のタイル画像データのタイル座標が(0,0)、その右隣は(1,0)といったように、x座標とy座標を組にしたものがタイル座標である。
【0078】
また、属性データの次には、タイル画像データの画素データが転送される。転送の順番は、図7で示したタイルの画素番号順であり、1から順に64まで画素単位で連続で転送される。
【0079】
図11は、本発明に係る画像処理装置における画像データシフト処理例を説明する図であり、図10で示したタイル分割した画像を画像シフトする場合に、HDD126から画像シフト処理部134に対してタイル画像データを転送する順番を示す図である。
【0080】
ここで、タイル単位に分割された画像に対して画像シフト処理を行う場合には、CPU121の制御でHDD126に格納してあるタイル画像データを内部バス122を介して画像シフト処理部134に、特定の順番に転送する必要がある。そして、その順番を示したものがこの図11である。番号の付いた矢印の番号の小さい順にタイル画像データを転送することを表しており、その順番をタイル座標で書き表すと次のようになる。
【0081】
となるが、直行座標系で定義すれば、以下のような順番となる。
【0082】
つまり、画像を分割して得られたタイル画像データの内で最も左上のものを(0,0)と表記し、最も左上のものの右隣のタイル画像データを(1,0)、最も左上のものの下隣のタイル画像データを(0,1)というように、直交座標系での座標によってタイル画像データを表記したときに、特定の順番とは、次の順番である。
【0083】
(0,0)、(0,1)、(1,0)、(1,1)、(2,0)、(2,1)、(3,0)、……、(m,0)、(m,1)、
(0,1)、(0,2)、(1,1)、(1,2)、(2,1)、(2,2)、(3,1)、……、(m,1)、(m,2)、
(0,2)、(0,3)、(1,2)、(1,3)、(2,2)、(2,3)、(3,2)、……、(m,2)、(m,3)、
……、
(0,n−2)、(0,n−1)、(1,n−2)、(1,n−1)、(2,n−2)、(2,n−1)、(3,n−2)、……、(m,n−2)、(m,n−1)、
(0,n−1)、(0,n)、(1,n−1)、(1,n)、(2,n−1)、(2,n)、(3,n−1)、……、(m,n−1)、(m,n).
なお、ここで、mおよびnは自然数である。
【0084】
つまり、一番左上のタイル画像データを先頭に、ジグザグの順番に右方向に転送して、一番右端まで転送したら、次は1つ下のタイル画像データをジグザグに転送するということを、一番右下のタイル画像データが転送されるまで繰り返すのである。
【0085】
CPU121は、画像に含まれるタイル数の情報から、上述のタイル座標の順番を計算して、あらかじめメモリ124やHDD126に格納しておくか、または、逐次計算して、この順番にタイル画像データをHDD126から画像シフト処理部134に転送するように制御する。
【0086】
なお、図11では、横方向8タイル、縦方向6タイルに分割された画像を例にしているが、異なるタイル数を持った別の画像に対しても同様な順番に転送する。
【0087】
以上のような構成で、リーダ部1で読み取った原稿の画像データをタイル単位に分割してHDD126に格納し、画像シフト処理を施した後、プリンタ部2でプリント処理する手順を例にして、コア部10における画像データの流れと画像シフトのためのデータ処理構成について以下に説明する。
【0088】
まず、リーダ部1において前述のように原稿の読み取りが行われ、コア部10に対して画像データが転送される。そして、画像データは、コア部10のリーダI/F部135、内部バス122を介して画像・タイル変換処理部130に転送されて、タイル単位に分割される。
【0089】
そうしてできたタイル画像データは、前述の通り、内部バス122を介して圧縮・伸長処理部131に転送されて、圧縮処理が施されタイル画像コードデータに変換され、内部バス122、HDDコントローラ部125を介して、HDD126に格納される。
【0090】
次に、CPU121は、画像シフト処理部134のレジスタ部144に対して、画像シフト処理でのシフト量を画素単位で設定する。ここでは、横方向に3画素、縦方向に2画素シフトする場合を考える。CPU121は、内部バス122を介して、図9で示すようなタイミングで、属性データとして「レジスタ」という値を持つレジスタ設定のデータ転送を画像シフト処理部134に対して行う。具体的には、レジスタ設定データの1番目の値として横方向のシフト量を表す「3」を、レジスタ設定データの2番目の値として縦方向のシフト量を表す「2」を、転送して、画像シフト処理部134のレジスタ部144のレジスタaの値を3に、レジスタbの値を2に設定する。
【0091】
次に、CPU121は、タイル画像データの転送順序を生成し、メモリ124に格納する。実際の系においては、取り扱う画像データは横方向、縦方向ともに数千画素となることが多いが、ここでは説明のために、リーダ部1から読み取った原稿の画像データが横方向64画素、縦方向48画素であるとして説明する。このとき、この画像データをタイル分割すると、図10のように横8タイル、縦6タイルの合計48タイルに分割され、画像シフトのためのタイル画像データの転送順序は前述の通り、図11で示すようなジグザグの順番となる。
【0092】
CPU121は、この順番をあらかじめメモリ124に格納しておく。そして、CPU121は、メモリ124に格納した順番を参照しながら、HDD126に格納されているタイル画像データを順番に読み出して、転送を行う。
【0093】
つまり、HDD126に格納されているタイル画像コードデータは、CPU121の制御により、HDDコントローラ部125および内部バス122を介して、圧縮・伸長処理部131に転送され、伸長処理が施され、タイル画像データに変換される。
【0094】
そして、タイル画像データは、内部バス122を介して画像シフト処理部134に転送され、画像シフト処理部134内のタイルバッファ部143に格納される。
【0095】
このように、CPU121の制御によって、図11で示した特定の順番にタイル画像データが転送されて、タイルバッファ部143に次々に格納されることになる。そして、前述の通り、タイルバッファ部143にタイル画像データが4つ格納された時点で、画像シフト処理部134内のデータ出力部141はレジスタ部144内のレジスタaおよびレジスタbの値、ここでは「3」と「2」、を使って、図6で示したように4つのタイル画像データに対する斜線部の位置を決め、斜線部に対応する画素をタイルバッファ部143から1画素ずつ読み出し、新たな1つのタイル画像データを生成し、内部バス122に対して図8で示したタイミングで転送する。
【0096】
こうして生成された新たなタイル画像データは、内部バス122を介して圧縮・伸長処理部131に転送されて圧縮され、タイル画像コードデータに変換され、再度内部バス122を介してHDDコントローラ部125に転送され、HDD126に格納される。
【0097】
ここで、画像シフト処理部134の処理にもう一度着目してみると、タイル画像データは次々に特定の順番で入力されること、4つのタイル画像データが格納されると1つの新たなタイル画像データを生成すること、およびその後タイルバッファ部143に格納されたもっとも古い2つのタイル画像データを破棄することによって、さらに2つのタイル画像データが入力されるごとに、新たな1つのタイル画像データが生成されて出力されるという動作が行われることがわかる。
【0098】
したがって、図11における1の矢印の最後のタイル画像データ、つまり、タイル座標(7,1)のタイル画像データ、まで入力されると、7つの新たなタイル画像データが生成・出力されることになる。
【0099】
そして、次のタイル座標(0,1)のタイル画像データが入力されると、前述した通り、データ入力部142は、入力されたタイル画像データの属性のタイル座標(0,1)が、2つ前に入力されたタイル画像の属性のタイル座標(7,0)から計算して得られる期待値(8,0)と異なることを検知して、タイルバッファ部143内部に格納されているタイル画像データをすべて破棄して、新しく入力されたタイル座標(0,1)をその属性に持つタイル画像データのみをタイルバッファ部143に格納する。
【0100】
このようなデータ処理構成によって、タイル座標がそれぞれ(7,0)、(7,1)、(0,1)、(0,2)となる図11において隣り合わない4つのタイルから新たなタイル画像データを生成・出力してしまうことを回避し、隣り合った4つのタイル画像データからのみ新たなタイル画像データを生成・出力できるようになっている。
【0101】
したがって、こうしたデータ処理構成により、図11で示す入力されるタイル画像データに対して、図12の斜線部で示す新たな35個のタイル画像データTD1〜TD35が図で示した番号順に生成・出力されることとなる。これらのタイル画像データTD1〜TD35によって構成される画像データは、元の図10で示した画像データIDを左方向に3画素、上方向に2画素シフトしたものとなっている。
【0102】
なお、生成された画像シフト後の画像データは横方向および縦方向にタイル数が1つずつ減って小さな画像データとなるため、シフト後に必要となる画像サイズよりも右と下に1タイルずつ大きなサイズの画像データを元画像データとして用意する必要がある。最終的に、すべての転送が終了した時点で見ると、HDD126内に図12で示した1から35までのタイル画像データTD1〜TD35を圧縮したタイル画像コードデータが格納された状態となる。
【0103】
次に、CPU121は、HDD126内のタイル画像コードデータを図12で示した番号順に読み出し、HDDコントローラ部125、内部バス122を介して圧縮・伸長処理部131に転送して伸長処理を施しタイル画像データに変換し、再度内部バス122を介して画像・タイル変換処理部130に転送し、プリントすることのできるページ画像データに変換して、内部バス122、プリンタI/F部129を介して、プリンタ部2に画像データを転送してプリント出力を得る。
【0104】
ここまで述べたように、CPU121の制御により、画像シフト処理部134に対して、処理対象のタイル画像データを特定の順番に転送することによって、ページメモリやバンドメモリ等の大きなサイズのメモリを用意することなく、画素単位での画像シフト処理が実現できる。
【0105】
図13は、本発明に係る画像処理装置におけるデータ処理手順の一例を示すフローチャートである。なお、(1)〜(8)は各ステップを示す。
【0106】
まず、リーダ部1において前述のように原稿の読み取りが行われ、コア部10に対して画像データが転送される。そして、画像データは、コア部10のリーダI/F部135、内部バス122を介して画像・タイル変換処理部130に転送されて、タイル単位に分割される(1)。
【0107】
そうしてできたタイル画像データは、前述の通り、内部バス122を介して圧縮・伸長処理部131に転送されて、圧縮処理が施されタイル画像コードデータに変換され、内部バス122、HDDコントローラ部125を介して、HDD126に格納される(2)。
【0108】
次に、CPU121は、画像シフト処理部134のレジスタ部144に対して、画像シフト処理でのシフト量を画素単位で設定する(3)。具体的には、レジスタ設定データの1番目の値として横方向のシフト量を表す「3」を、レジスタ設定データの2番目の値として縦方向のシフト量を表す「2」を、転送して、画像シフト処理部134のレジスタ部144のレジスタaの値を3に、レジスタbの値を2に設定する。
【0109】
次に、CPU121は、格納されたタイル画像データの量を検知してタイル画像データの転送順序を生成し(4)、メモリ124に格納する。そして、CPU121は、この順番をあらかじめメモリ124に格納しておく。そして、CPU121は、メモリ124に格納した順番を参照しながら、HDD126に格納されているタイル画像データを順番に読み出して、転送を行う。
【0110】
つまり、HDD126に格納されているタイル画像コードデータは、CPU121の制御により、HDDコントローラ部125および内部バス122を介して、圧縮・伸長処理部131に転送され、伸長処理が施され、タイル画像データに変換される。
【0111】
そして、タイル画像データは、内部バス122を介して画像シフト処理部134に転送され、画像シフト処理部134内のタイルバッファ部143に格納される。
【0112】
このように、CPU121の制御によって、図11で示した特定の順番にタイル画像データが転送されて、タイルバッファ部143に次々に格納されることになる。そして、前述の通り、タイルバッファ部143にタイル画像データが4つ格納された時点で(5)、画像シフト処理部134内のデータ出力部141はレジスタ部144内のレジスタaおよびレジスタbの値、ここでは「3」と「2」、を使って、図6で示したように4つのタイル画像データに対する斜線部の位置を決め、斜線部に対応する画素をタイルバッファ部143から1画素ずつ読み出し、新たな1つのタイル画像データを生成し(6)、内部バス122に対して図8で示したタイミングで転送する。
【0113】
こうして生成された新たなタイル画像データは、内部バス122を介して圧縮・伸長処理部131に転送されて圧縮され、タイル画像コードデータに変換され、再度内部バス122を介してHDDコントローラ部125に転送され、HDD126に格納される(7)。
【0114】
したがって、こうしたデータ処理構成により、図11で示す入力されるタイル画像データに対して、図12の斜線部で示す新たな35個のタイル画像データTD1〜TD35が図で示した番号順に生成・出力されたかどうかを判断して(8)、YESならば処理を終了し、NOならばステップ(5)へ戻る。
【0115】
これにより、タイル画像データTD1〜TD35によって構成される画像データは、元の図10で示した画像データIDを左方向に3画素、上方向に2画素シフトしたものとなってHD126に格納される。
【0116】
以下、図14に示すメモリマップを参照して本発明に係る画像処理装置で読み出し可能なデータ処理プログラムの構成について説明する。
【0117】
図14は、本発明に係る画像処理装置で読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【0118】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0119】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0120】
本実施形態における図13に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0121】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0122】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0123】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROM,EEPROM等を用いることができる。
【0124】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0125】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0126】
【発明の効果】
以上説明したように、本発明によれば、格納されたタイル画像データの量を検知し、該検知されるタイル画像データの量に基づき、タイル画像データ格納手段から読み出すタイル画像データの特定の順番を決定し、該決定された特定の順番に従い、格納されたタイル画像データを所定タイル数メモリ上に読み出して、該読み出された所定数のタイル画像データに対して設定される画像処理条件に基づく所定の画像処理を行い新たなタイル画像データを生成するので、画像を小さな複数のタイル単位に分割して扱うタイル分割方式において、画像シフト処理のように複数のタイルにまたがった画像処理を施す場合にも、元画像を復元するために大きなメモリを用意することなく、所望の画像処理を正確に実現することが可能となる優れた効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施形態を示す画像処理装置のシステム構成を示すブロック図である。
【図2】本発明に係る画像処理装置におけるリーダ部及びプリンタ部の構成を示す縦断面図である。
【図3】本発明に係る画像処理装置におけるリーダ部の内部構成を示すブロック図である。
【図4】本発明に係る画像処理装置におけるコア部の内部構成を示すブロック図である。
【図5】本発明に係る画像処理装置における画像シフト処理部の内部構成を示すブロック図である。
【図6】本発明に係る画像処理装置における画像シフト処理部の画像シフト処理での画像処理内容を示す図である。
【図7】図5に示したタイルバッファ部に展開されるタイル画像データ例を示す図である。
【図8】本発明に係る画像処理装置における内部バスのタイル画像データ転送時のタイミングチャートである。
【図9】本発明に係る画像処理装置における内部バスのレジスタ設定データ転送時のタイミングチャートである。
【図10】本発明に係る画像処理装置におけるタイル画像データに分割した画像全体を示す図である。
【図11】本発明に係る画像処理装置におけるタイル画像データの転送順序を示す図である。
【図12】本発明に係る画像処理装置における画像シフト処理部の出力タイル画像データとその出力順序を示す図である。
【図13】本発明に係る画像処理装置におけるデータ処理手順の一例を示すフローチャートである。
【図14】本発明に係る画像処理装置で読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
1 リーダ部
2 プリンタ部
3 画像入出力制御部
4 ファクシミリ部
5 ネットワークインタフェース部
6 コンピュータインタフェース部
10 コア部
130 画像・タイル変換処理部
131 圧縮・伸長処理部
132 コンピュータI/F部
133 回転・反転処理部
134 画像シフト処理部
135 リーダI/F部
136 メモリ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing apparatus and an image processing method for performing predetermined image processing on image data divided into a plurality of small tile image units, a computer-readable storage medium, and a program.
[0002]
[Prior art]
Generally, image data handled by office image equipment such as a facsimile and a copying machine is obtained by reading an A4 or A3 size document at a resolution of several hundreds of dpi (dot per inch: the number of pixels per inch). Therefore, the image data has several thousands of pixels in the horizontal direction and the vertical direction, and tens of millions to 100 million pixels in total number of pixels, and the data amount is enormous.
[0003]
In recent years, in office image equipment, there has been a demand for switching from a black-and-white image to a color image for an image to be handled. However, the amount of data per pixel in a color image is several times to several tens times that of a black-and-white image. As a result, the data size of images handled by office imaging equipment has explosively increased.
[0004]
Under such a background, a mechanism for handling large image data without using an expensive large-capacity memory device has been considered.
[0005]
This is a method of storing an image in an HDD (hard disk drive) device which has a large capacity but is less expensive than a memory device, or a method of compressing and storing the entire image. Also, a tile division method that manages an image in units of tiles by dividing the entire image into small rectangular or square units consisting of tens or hundreds of pixels called tiles without treating the entire image as a single data block. May be taken.
[0006]
Here, the size of the tile includes 8 pixels horizontally and 8 pixels vertically, 32 pixels horizontally and 32 pixels vertically, and the number of pixels handled at a time falls within the range of hundreds to thousands. In this method, huge image data read by a reader or huge image data received by a facsimile machine is once divided into small tiles and converted into many small tile image data, and the small tile images are converted into image equipment. Treat with. Therefore, a storage device such as a memory or an HDD need only have an area in small tile units, that is, it is not necessary to prepare a large continuous area in page units, and an expensive memory can be reduced in size.
[0007]
Considering general software processing that executes several processes simultaneously, a considerably large memory is required for multiple programs to use multiple large images at the same time. By dividing the data so that it can be processed in small data units, a large amount of memory is not required even if a plurality of programs open a plurality of tile images.
[0008]
[Problems to be solved by the invention]
However, even in the tile division method in which one large image is divided into a plurality of pieces and managed, for example, an image processing that extends over a plurality of tiles with respect to the original , It is necessary to restore the original large image and then perform the desired image processing on the entire image, and as a work area for restoring the original image data once, a large enough area to store the entire image Image processing cannot be performed without a memory area. Therefore, there is a possibility that the merit of the tile division method that the memory size can be reduced may be lost.
[0009]
SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems, and an object of the present invention is to detect the amount of stored tile image data, and based on the detected amount of tile image data, to determine a tile image. A specific order of the tile image data to be read from the data storage means is determined, and the stored tile image data is read out onto a predetermined tile number memory in accordance with the determined specific order, and the read predetermined number of tiles is read. By performing predetermined image processing based on image processing conditions set for image data and generating new tile image data, an image shift process is performed in a tile division method in which an image is divided into a plurality of small tile units. When performing image processing that spans multiple tiles as in (1), the desired image processing can be performed correctly without preparing a large memory for restoring the original image. In that the image processing apparatus and image processing method, and a computer to implement to provide a storage medium and a program reading.
[0010]
[Means for Solving the Problems]
A first invention according to the present invention is an image processing apparatus that performs predetermined image processing on image data divided into a plurality of small tile image units, and a tile image data storage unit that stores a plurality of tile image data (Corresponding to the
[0011]
A second invention according to the present invention is characterized in that the predetermined image processing is an image shift processing of shifting the tile image data in a horizontal direction and a vertical direction by a designated number of pixels according to the image processing condition.
[0012]
In the third invention according to the present invention, the specific order is such that a predetermined number of tile image data obtained by dividing the image data, the tile image data being adjacent to the predetermined direction in the predetermined direction with reference to the upper leftmost one in the rectangular coordinate system. It is characterized by the order in which tile image data is arranged.
[0013]
A fourth invention according to the present invention is an image processing method in an image processing apparatus for performing predetermined image processing on image data divided into a plurality of small tile image units, wherein the image data is stored in a tile image data storage unit. A setting step (step (3) shown in FIG. 13) for setting image processing conditions for a plurality of tile image data, and a detecting step (FIG. 13) for detecting the amount of tile image data stored in the tile image data storage means. (4)) and a determining step of determining a specific order of the tile image data to be read from the tile image data storage unit based on the amount of the tile image data detected by the detecting step (the step shown in FIG. 4)) and stored in the tile image data storage means according to the specific order determined in the determining step. Read out the tile image data into a predetermined number of tiles memory, perform predetermined image processing on the read out predetermined number of tile image data based on the image processing conditions set in the setting step, and obtain new tile image data. (Step (6) shown in FIG. 13) for generating
[0014]
A fifth invention according to the present invention is characterized in that the predetermined image processing is an image shift processing for shifting the tile image data in a horizontal direction and a vertical direction by a designated number of pixels according to the image processing condition.
[0015]
According to a sixth aspect of the present invention, the specific order is such that a predetermined number of tile image data obtained by dividing the image data and which are adjacent in a predetermined direction with respect to a tile image data obtained by dividing the image data at the upper left corner in the rectangular coordinate system. It is characterized by the order in which tile image data is arranged.
[0016]
A seventh invention according to the present invention is a computer-readable storage medium storing a program for realizing the image processing method according to any one of the fourth to sixth aspects.
[0017]
An eighth invention according to the present invention is a program for realizing the image processing method according to any one of the fourth to sixth aspects.
[0018]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0019]
FIG. 1 is a block diagram showing a system configuration of an image processing apparatus according to the first embodiment of the present invention.
[0020]
In FIG. 1,
[0021]
The
[0022]
The
[0023]
The
[0024]
The
[0025]
FIG. 2 is a longitudinal sectional view showing the configuration of the
[0026]
In FIG. 2, a
[0027]
When the document is conveyed onto the
[0028]
The
[0029]
Then, at a timing synchronized with the start of the laser beam irradiation, the recording paper is fed from one of the upper
[0030]
The recording paper that has passed through the fixing
[0031]
Note that the sorter 211 stores the recording paper in the
[0032]
When multiplex recording is set, the recording paper is guided to the
[0033]
FIG. 3 is a block diagram showing an internal configuration of the
[0034]
In FIG. 3,
[0035]
An
[0036]
In FIG. 3, the image data output from the
[0037]
A CPU (Central Processing Unit) 113 controls the
[0038]
Such a control program of the
[0039]
FIG. 4 is a block diagram showing an internal configuration of the
[0040]
In FIG. 4, the
[0041]
The
[0042]
Here, the many processing units include the
[0043]
Each of the processing units connected to the
[0044]
The
[0045]
The compression /
[0046]
Next, the flow of image data centering on the
[0047]
The image data from the
[0048]
The tile image code data stored in the
[0049]
Here, a procedure output to the
[0050]
Then, tile / image conversion is performed, and the image data is transferred to the printer I /
[0051]
In the above, the case where image data is input from the
[0052]
That is, the code data representing the image input from the
[0053]
The image data input from the LAN /
[0054]
The image / tile
[0055]
Then, the output tile image data is transferred to the compression /
[0056]
Here, before outputting the tile image code data stored in the
[0057]
The tile image code data stored in the
[0058]
Then, after the image processing is performed in each processing unit, the image data is transferred to the compression /
[0059]
The
[0060]
FIG. 5 is a block diagram showing the internal configuration of the image
[0061]
In FIG. 6, a and b are the values of the register a and the register b, respectively, and represent the shift amount of the image. These are set in the
[0062]
In FIG. 5, 141 is a data output unit, 142 is a data input unit, 143 is a tile buffer unit, and 144 is a register unit. The
[0063]
The
[0064]
Here, the tile image data to be output is tile image data for one tile in the range of the hatched area shown in FIG. 6 among the original four tile image data. When the output of the tile image data for one tile is completed, the
[0065]
As described above, when the tile image data is transferred from the
[0066]
That is, the
[0067]
FIG. 7 is a diagram showing an example of tile image data developed in the
[0068]
In FIG. 7, a small square is a pixel, and one tile image data is composed of a total of 64 pixels, that is, 8 pixels horizontally and 8 pixels vertically. Each pixel is a minimum unit constituting an image and has three numerical values of R, G, and B. Each numerical value is a number in the range of “0” to “255”, the numerical value of R represents the luminance of the red component of the pixel, the numerical value of G represents the luminance of the green component of the pixel, and the numerical value of B represents It represents the luminance of the blue component of the pixel.
[0069]
The numbers in the figure are given for convenience of description, and represent pixel numbers in the tile image data that are not related to the values of R, G, and B.
[0070]
8 and 9 are timing charts when the tile image data by the
[0071]
As shown in FIG. 8, the tile image data is transferred separately into attribute data and pixel data. In synchronization with the clock signal, the attribute data of the tile image data and the pixel data of the tile image data are transferred in this order in accordance with the transfer start signal.
[0072]
Here, the first value “image” of the attribute data is a flag indicating that this transfer is transfer of tile image data. This flag may take a value "register" indicating that the transfer is for setting the register section. In this case, the register setting value is transferred as shown in FIG.
[0073]
Further, the second value “RGB” of the attribute data indicates that the tile image data to be transferred is an image having three values of RGB. This may take other values such as "ND" representing black and white data.
[0074]
The third and fourth values “x” and “y” of the attribute data are values representing the tile coordinates of the tile image data.
[0075]
Here, the tile coordinates of the tile image data are a set of two numerical values as shown in FIG.
[0076]
FIG. 10 is a diagram illustrating an example of tile coordinates of tile image data handled by the image processing apparatus according to the present invention.
[0077]
FIG. 10 shows a case where the entire image is composed of 64 pixels in the horizontal direction and 48 pixels in the vertical direction, that is, a case where the entire image can be divided into 8 tiles in the horizontal direction and 6 tiles in the vertical direction. At this time, the tile coordinate is a set of the x coordinate and the y coordinate such that the tile coordinate of the upper left tile image data is (0, 0), and the right neighbor is (1, 0).
[0078]
After the attribute data, the pixel data of the tile image data is transferred. The transfer order is the order of the pixel numbers of the tiles shown in FIG. 7, and the tiles are sequentially transferred from 1 to 64 in units of pixels.
[0079]
FIG. 11 is a diagram for explaining an example of image data shift processing in the image processing apparatus according to the present invention. In the case where the image obtained by dividing the tile-divided image shown in FIG. It is a figure showing the order which transfers tile image data.
[0080]
Here, when performing image shift processing on an image divided in units of tiles, the tile image data stored in the
[0081]
However, if defined in the orthogonal coordinate system, the order is as follows.
[0082]
That is, among the tile image data obtained by dividing the image, the upper left one is denoted by (0, 0), the tile image data to the right of the upper left one is (1, 0), and the upper left When tile image data is represented by coordinates in a rectangular coordinate system such as (0, 1) for the tile image data next to the object, the specific order is the following order.
[0083]
(0,0), (0,1), (1,0), (1,1), (2,0), (2,1), (3,0),..., (M, 0) , (M, 1),
(0, 1), (0, 2), (1, 1), (1, 2), (2, 1), (2, 2), (3, 1),..., (M, 1) , (M, 2),
(0, 2), (0, 3), (1, 2), (1, 3), (2, 2), (2, 3), (3, 2), ..., (m, 2) , (M, 3),
……,
(0, n-2), (0, n-1), (1, n-2), (1, n-1), (2, n-2), (2, n-1), (3 , N-2), ..., (m, n-2), (m, n-1),
(0, n-1), (0, n), (1, n-1), (1, n), (2, n-1), (2, n), (3, n-1), ..., (m, n-1), (m, n).
Here, m and n are natural numbers.
[0084]
In other words, it is necessary to transfer the tile image data to the right in the zigzag order starting from the top left tile image data, and to transfer the next lower tile image data to the zigzag after the transfer to the rightmost end. This is repeated until the lower right tile image data is transferred.
[0085]
The
[0086]
Although FIG. 11 shows an example of an image divided into 8 tiles in the horizontal direction and 6 tiles in the vertical direction, the image is transferred in the same order to another image having a different number of tiles.
[0087]
With the above configuration, an example of a procedure in which image data of a document read by the
[0088]
First, a document is read in the
[0089]
As described above, the tile image data thus obtained is transferred to the compression /
[0090]
Next, the
[0091]
Next, the
[0092]
The
[0093]
That is, the tile image code data stored in the
[0094]
Then, the tile image data is transferred to the image
[0095]
In this way, under the control of the
[0096]
The new tile image data generated in this way is transferred to the compression /
[0097]
Here, focusing again on the processing of the image
[0098]
Therefore, when the last tile image data of the
[0099]
Then, when the tile image data of the next tile coordinate (0, 1) is input, the
[0100]
With such a data processing configuration, new tiles are obtained from four non-adjacent tiles in FIG. 11 in which the tile coordinates are (7, 0), (7, 1), (0, 1), and (0, 2), respectively. The generation and output of image data is avoided, and new tile image data can be generated and output only from four adjacent tile image data.
[0101]
Therefore, with such a data processing configuration, for the input tile image data shown in FIG. 11, 35 new tile image data TD1 to TD35 shown by hatching in FIG. 12 are generated and output in the numerical order shown in the figure. Will be done. The image data composed of the tile image data TD1 to TD35 is obtained by shifting the original image data ID shown in FIG. 10 by three pixels to the left and by two pixels upward.
[0102]
Note that the generated image data after the image shift becomes small image data by reducing the number of tiles by one in the horizontal direction and the vertical direction, and thus is larger by one tile to the right and below the image size required after the shift. It is necessary to prepare image data of the size as original image data. Finally, when all transfer is completed, the
[0103]
Next, the
[0104]
As described above, a large-sized memory such as a page memory or a band memory is prepared by transferring the tile image data to be processed to the image
[0105]
FIG. 13 is a flowchart illustrating an example of a data processing procedure in the image processing apparatus according to the present invention. (1) to (8) indicate each step.
[0106]
First, a document is read in the
[0107]
As described above, the tile image data thus obtained is transferred to the compression /
[0108]
Next, the
[0109]
Next, the
[0110]
That is, the tile image code data stored in the
[0111]
Then, the tile image data is transferred to the image
[0112]
In this way, under the control of the
[0113]
The new tile image data generated in this way is transferred to the compression /
[0114]
Therefore, with such a data processing configuration, 35 new tile image data TD1 to TD35 indicated by hatched portions in FIG. 12 are generated and output in the order of the numbers shown in the figure for the input tile image data shown in FIG. It is determined whether or not the process has been performed (8). If YES, the process is terminated. If NO, the process returns to step (5).
[0115]
As a result, the image data composed of the tile image data TD1 to TD35 is obtained by shifting the original image data ID shown in FIG. 10 by 3 pixels to the left and by 2 pixels upward and is stored in the
[0116]
Hereinafter, the configuration of a data processing program that can be read by the image processing apparatus according to the present invention will be described with reference to a memory map shown in FIG.
[0117]
FIG. 14 is a diagram illustrating a memory map of a storage medium that stores various data processing programs that can be read by the image processing device according to the present invention.
[0118]
Although not shown, information for managing a group of programs stored in the storage medium, for example, version information, a creator, and the like are also stored, and information dependent on the OS or the like on the program reading side, for example, a program is identified and displayed. Icons and the like may also be stored.
[0119]
Further, data dependent on various programs is also managed in the directory. In addition, a program for installing various programs on a computer or a program for decompressing a program to be installed when the program to be installed is compressed may be stored.
[0120]
The functions shown in FIG. 13 in this embodiment may be performed by a host computer by a program installed from the outside. In this case, the present invention is applied even when a group of information including a program is supplied to the output device from a storage medium such as a CD-ROM, a flash memory, or an FD, or from an external storage medium via a network. Things.
[0121]
As described above, the storage medium storing the program codes of the software for realizing the functions of the above-described embodiments is supplied to the system or the apparatus, and the computer (or CPU or MPU) of the system or the apparatus stores the storage medium in the storage medium. It goes without saying that the object of the present invention is also achieved by reading and executing the program code thus obtained.
[0122]
In this case, the program code itself read from the storage medium implements the novel function of the present invention, and the storage medium storing the program code constitutes the present invention.
[0123]
As a storage medium for supplying the program code, for example, a flexible disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, magnetic tape, nonvolatile memory card, ROM, EEPROM, or the like may be used. it can.
[0124]
When the computer executes the readout program code, not only the functions of the above-described embodiments are realized, but also an OS (Operating System) running on the computer based on the instruction of the program code. It goes without saying that a part or all of the actual processing is performed and the functions of the above-described embodiments are realized by the processing.
[0125]
Further, after the program code read from the storage medium is written into a memory provided on a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that a CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.
[0126]
【The invention's effect】
As described above, according to the present invention, the amount of the stored tile image data is detected, and based on the detected amount of the tile image data, the specific order of the tile image data read from the tile image data storage unit is determined. Is determined, and the stored tile image data is read out onto a predetermined number of tiles memory in accordance with the determined specific order, and the image processing conditions set for the read out predetermined number of tile image data are determined. Image processing is performed based on predetermined tile-based image processing to generate new tiled image data. Therefore, in a tile division method in which an image is divided into a plurality of small tile units, image processing is performed over a plurality of tiles, such as image shift processing. Even in such a case, it is possible to achieve an excellent effect that desired image processing can be accurately realized without preparing a large memory for restoring the original image. To.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a system configuration of an image processing apparatus according to an embodiment of the present invention.
FIG. 2 is a longitudinal sectional view illustrating a configuration of a reader unit and a printer unit in the image processing apparatus according to the present invention.
FIG. 3 is a block diagram showing an internal configuration of a reader unit in the image processing device according to the present invention.
FIG. 4 is a block diagram illustrating an internal configuration of a core unit in the image processing apparatus according to the present invention.
FIG. 5 is a block diagram showing an internal configuration of an image shift processing unit in the image processing device according to the present invention.
FIG. 6 is a diagram illustrating image processing contents in an image shift process of an image shift processing unit in the image processing apparatus according to the present invention.
FIG. 7 is a diagram illustrating an example of tile image data developed in a tile buffer unit illustrated in FIG. 5;
FIG. 8 is a timing chart at the time of transferring tile image data of an internal bus in the image processing apparatus according to the present invention.
FIG. 9 is a timing chart at the time of transferring register setting data of an internal bus in the image processing apparatus according to the present invention.
FIG. 10 is a diagram showing an entire image divided into tile image data in the image processing apparatus according to the present invention.
FIG. 11 is a diagram showing a transfer order of tile image data in the image processing apparatus according to the present invention.
FIG. 12 is a diagram illustrating output tile image data of an image shift processing unit in the image processing device according to the present invention and an output order thereof.
FIG. 13 is a flowchart illustrating an example of a data processing procedure in the image processing apparatus according to the present invention.
FIG. 14 is a diagram illustrating a memory map of a storage medium that stores various data processing programs that can be read by the image processing apparatus according to the present invention.
[Explanation of symbols]
1 Reader section
2 Printer section
3 Image input / output control unit
4 Facsimile part
5 Network interface
6 Computer interface
10 Core part
130 Image / Tile Conversion Processing Unit
131 Compression / decompression processing unit
132 Computer I / F
133 rotation / reversal processing unit
134 Image shift processing unit
135 Reader I / F
136 memory
Claims (8)
複数のタイル画像データを格納するタイル画像データ格納手段と、
前記タイル画像データ格納手段に格納されたタイル画像データに対する画像処理条件を設定する設定手段と、
前記タイル画像データ格納手段に格納されたタイル画像データの量を検知する検知手段と、
前記検知手段により検知されるタイル画像データの量に基づき、前記タイル画像データ格納手段から読み出すタイル画像データの特定の順番を決定する決定手段と、
前記決定手段により決定された特定の順番に従い、前記タイル画像データ格納手段に格納されたタイル画像データを所定タイル数メモリ上に読み出して、該読み出された所定数のタイル画像データに対して前記設定手段により設定される画像処理条件に基づく所定の画像処理を行い新たなタイル画像データを生成する生成手段と、
を有することを特徴とする画像処理装置。An image processing apparatus that performs predetermined image processing on image data divided into a plurality of small tile image units,
Tile image data storage means for storing a plurality of tile image data;
Setting means for setting image processing conditions for tile image data stored in the tile image data storage means;
Detecting means for detecting the amount of tile image data stored in the tile image data storage means;
Determining means for determining a specific order of tile image data to be read from the tile image data storage means, based on an amount of tile image data detected by the detection means;
In accordance with the specific order determined by the determining means, the tile image data stored in the tile image data storing means is read onto a predetermined tile number memory, and the read predetermined number of tile image data is Generating means for performing predetermined image processing based on image processing conditions set by the setting means to generate new tile image data;
An image processing apparatus comprising:
タイル画像データ格納手段に格納された複数のタイル画像データに対する画像処理条件を設定する設定ステップと、
前記タイル画像データ格納手段に格納されたタイル画像データの量を検知する検知ステップと、
前記検知ステップにより検知されるタイル画像データの量に基づき、前記タイル画像データ格納手段から読み出すタイル画像データの特定の順番を決定する決定ステップと、
前記決定ステップにより決定された特定の順番に従い、前記タイル画像データ格納手段に格納されたタイル画像データを所定タイル数メモリ上に読み出して、該読み出された所定数のタイル画像データに対して前記設定ステップにより設定される画像処理条件に基づく所定の画像処理を行い新たなタイル画像データを生成する生成ステップと、
を有することを特徴とする画像処理方法。An image processing method in an image processing apparatus that performs predetermined image processing on image data divided into a plurality of small tile image units,
A setting step of setting image processing conditions for a plurality of tile image data stored in the tile image data storage means;
A detecting step of detecting an amount of tile image data stored in the tile image data storage unit;
A determining step of determining a specific order of tile image data to be read from the tile image data storage unit based on an amount of the tile image data detected by the detecting step;
In accordance with the specific order determined in the determining step, the tile image data stored in the tile image data storage unit is read onto a predetermined tile number memory, and the read predetermined number of tile image data is A generation step of performing predetermined image processing based on the image processing conditions set by the setting step to generate new tile image data;
An image processing method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002210800A JP2004056447A (en) | 2002-07-19 | 2002-07-19 | Picture processor, picture processing method, computer readable storage medium and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002210800A JP2004056447A (en) | 2002-07-19 | 2002-07-19 | Picture processor, picture processing method, computer readable storage medium and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004056447A true JP2004056447A (en) | 2004-02-19 |
Family
ID=31934210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002210800A Pending JP2004056447A (en) | 2002-07-19 | 2002-07-19 | Picture processor, picture processing method, computer readable storage medium and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004056447A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015076800A (en) * | 2013-10-10 | 2015-04-20 | コニカミノルタ株式会社 | Image processing apparatus and image forming apparatus |
-
2002
- 2002-07-19 JP JP2002210800A patent/JP2004056447A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015076800A (en) * | 2013-10-10 | 2015-04-20 | コニカミノルタ株式会社 | Image processing apparatus and image forming apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000156830A (en) | Printer and method for processing picture data in the printer | |
JP3003319B2 (en) | Image processing device | |
JP2000244720A (en) | Image processor | |
US20050200915A1 (en) | Image information apparatus | |
JP4027133B2 (en) | Image processing device | |
EP0454454A2 (en) | Color image processing apparatus and system | |
JPH07311839A (en) | Information processing system | |
US7920288B2 (en) | Image forming apparatus, image forming method and program | |
JP2004056447A (en) | Picture processor, picture processing method, computer readable storage medium and program | |
JP2003244365A (en) | Image copying device and its control method | |
JP2005111852A (en) | Imaging device, printing control method and program | |
JP2004094731A (en) | Image forming apparatus and its method | |
JP2002108584A (en) | Image processing apparatus and image forming device | |
JP2004153568A (en) | Image forming device | |
US8643896B2 (en) | Image processing apparatus for outputting raster image using a plurality of processors | |
JP2003259140A (en) | System and device for image processing, processing method thereof, program, and recording medium | |
JP2010088007A (en) | Image forming apparatus | |
JP3774561B2 (en) | Image processing apparatus and method | |
JP2006060760A (en) | Image forming apparatus | |
JP2005079646A (en) | Image forming apparatus | |
JP2006352256A (en) | Programmable logic circuit and method and program for reconfiguring its logic circuitry | |
JP2004349858A (en) | Image processor and document duplicating apparatus using the same | |
JP2002135544A (en) | Image processing apparatus | |
JPH11234533A (en) | Image processing unit and its method | |
JP2004222090A (en) | Image forming apparatus |