(57)【要約】【課題】  従来の歪み補正処理方式においては、スキャン画像の歪みを補正すると十分な補正が出来ないばかりか、むしろ画質が劣化してしまうという問題があった。【解決手段】  スキャン画像の歪みを補正する画像歪み補正装置において、スキャン画像を所定の大きさのブロック毎に文字画像であるか写真画像であるかの判定をする画像判定手段と、画像反転手段において文字画像であると判定されたブロックに対しフォント情報を取得するフォント情報取得部と、フォント情報とスキャン画像を比較し、ブロック毎にスキュー角度を検出するスキュー角度検出手段と、スキュー角度検出手段により検出されたスキュー角度に応じてブロック毎に歪み補正を行う歪み補正実行手段と、フォント情報をベクタ画像に変換するベクタ画像変換部と、所定の大きさのブロックのベクタ画像をラスター画像データに展開する手段とを備えることである。【選択図】  図１
2008294831.tif 000002
【特許請求の範囲】
【請求項１】
画像読み取りの主走査方向に対してページ綴じ部を平行にしてコンタクトガラスの上または下に接触したブック原稿を画像読み取り手段により読み取ったスキャン画像の歪みを補正する画像歪み補正装置において、
前記画像読み取り手段で読み取ったスキャン画像を所定の大きさのブロック毎に文字画像であるか写真画像であるかの判定をする画像判定手段と、
前記画像反転手段において文字画像であると判定されたブロックに対しフォント情報を取得するフォント情報取得部と、
前記フォント情報取得部にて取得したフォント情報と前記スキャン画像を比較し、前記ブロック毎にスキュー角度を検出するスキュー角度検出手段と、
前記スキュー角度検出手段により検出された前記スキュー角度に応じて前記ブロック毎に歪み補正を行う歪み補正実行手段と、
前記フォント情報取得部にて取得されたフォント情報をベクタ画像に変換するベクタ画像変換部と、
前記所定の大きさのブロックのベクタ画像をラスター画像データに展開する手段と
を備えることを特徴とする画像歪み補正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像歪み補正装置に関する。
【背景技術】
【０００２】
フラットベッドスキャナを用いて読み取る原稿の多くはシート状の原稿であり、コンタクトガラス上に開閉自在の圧板を設け、コンタクトガラス上に原稿を載置した後に圧板を閉じて原稿をスキャンするようにしている。しかし、原稿としてはシート状のものに限られず、ブック原稿（本、冊子など）も原稿として扱われることがあり、そのような場合にもコンタクトガラス上にブック原稿を載置し、原稿をスキャンすることになる。
【０００３】
ところが、原稿としてブック原稿を用いた場合には、ブック原稿のページ綴じ部がコンタクトガラスから浮き上がってしまう。このようにブック原稿のページ綴じ部がコンタクトガラスから浮き上がってしまった場合には、ページ綴じ部が焦点面から離れてしまうため、浮き上がった部分のスキャン画像には、画像歪み、影、文字ボケなどの画像劣化が発生する。劣化した画像のページ綴じ部は読みにくく、ＯＣＲにより文字認識処理を行うときの認識率が著しく低下する。特に、厚手製本ではその割合が高く、また、ブック原稿のページ綴じ部を焦点面から離れないように加圧作業した場合には、ブック原稿自体を破損してしまうこともある。
【０００４】
このような問題を解決すべく、画像の濃度情報から物体の３次元形状を推定する方法を用いて、画像の歪みを補正する方法が提案されている。このような画像の濃度情報から物体の３次元形状を推定する方法としては、非特許文献１に記載されているShape from Shadingと呼ばれる方法が代表的な例である。
【０００５】
しかしながら、前述したShape from Shadingと呼ばれる方法によれば、計算量が多く、歪み補正処理の計算時間が長いので、実用化は困難である。
【０００６】
また、特開平5-161002号公報に記載されている方法によれば、三角測量方式により書籍の形状を測定するための特別な形状計測装置が必要になるため、適当ではない。
【０００７】
そこで、近年においては、少ない計算量で有効に歪みを補正すべく、読み取りスキャン画像のページ外形の形状を用いて書籍表面の３次元形状を推定する画像補正装置が提案されている（例えば、特開平11-41455号公報等を参照）。
【０００８】
図１６に従来のMFPシステムの例を表す図を示す。
【特許文献１】特開平５−１６１００２号公報
【特許文献２】特開平１１−４１４５５号公報
【非特許文献１】T. Wada, H. Uchida and T. Matsuyama, "Shape from Shading with Interreflections under a Proximal Light Source: Distortion-Free Copying of an Unfolded Book", International Journal Computer Vision 24(2), 125-135(1997)
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、コンタクトガラス上にブック原稿をセットする場合、ブック原稿の画像を下向きにしてセットする必要があり、操作者からは原稿の裏面しか見ることが出来ないようになっている。そのため、スキャン画像には、図１７に示すように、ブック原稿のページ綴じ部が主走査方向に対して斜めに傾く、いわゆるスキューが生じたスキャン画像aや、図１８に示すように、ブック原稿のページ綴じ部の浮き上がり方（コンタクトガラスからの距離）がページの上下で異なるために「ハの字」のような形状になるスキャン画像bが発生する場合がある。
【００１０】
しかしながら、従来の歪み補正処理方式においては、これらの状況を考慮していないので、このようなスキャン画像の歪みを補正すると十分な補正が出来ないばかりか、むしろ画質が劣化してしまうという問題があった。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の第１の態様は、画像読み取りの主走査方向に対してページ綴じ部を平行にしてコンタクトガラスの上または下に接触したブック原稿を画像読み取り手段により読み取ったスキャン画像の歪みを補正する画像歪み補正装置において、
前記画像読み取り手段で読み取ったスキャン画像を所定の大きさのブロック毎に文字画像であるか写真画像であるかの判定をする画像判定手段と、
前記画像反転手段において文字画像であると判定されたブロックに対しフォント情報を取得するフォント情報取得部と、
前記フォント情報取得部にて取得したフォント情報と前記スキャン画像を比較し、前記ブロック毎にスキュー角度を検出するスキュー角度検出手段と、
前記スキュー角度検出手段により検出された前記スキュー角度に応じて前記ブロック毎に歪み補正を行う歪み補正実行手段と、
前記フォント情報取得部にて取得されたフォント情報をベクタ画像に変換するベクタ画像変換部と、
前記所定の大きさのブロックのベクタ画像をラスター画像データに展開する手段と
を設けたものである。
【発明の効果】
【００１２】
以上、説明したように本発明によれば、画像読み取りの主走査方向に対してページ綴じ部を平行にしてコンタクトガラスの上または下に接触したブック原稿を画像読み取り手段により読み取ったスキャン画像の歪みを補正する画像歪み補正装置において、前記画像読み取り手段で読み取ったスキャン画像を所定の大きさのブロック毎に文字画像であるか写真画像であるかの判定をする画像判定手段と、前記画像反転手段において文字画像であると判定されたブロックに対しフォント情報を取得するフォント情報取得部と、前記フォント情報取得部にて取得したフォント情報と前記スキャン画像を比較し、前記ブロック毎にスキュー角度を検出するスキュー角度検出手段と、前記スキュー角度検出手段により検出された前記スキュー角度に応じて前記ブロック毎に歪み補正を行う歪み補正実行手段と、前記フォント情報取得部にて取得されたフォント情報をベクタ画像に変換するベクタ画像変換部と、前記所定の大きさのブロックのベクタ画像をラスター画像データに展開する手段とを備えることにより、スキャン画像を所定の大きさごとに切り分けたブロック毎にスキュー角度を求め、前記ブロック毎に最適な歪み補正処理をすることが可能となり、より精度の高い歪み補正処理を行うことが出来る。
【発明を実施するための最良の形態】
【００１３】
＜実施形態１＞
図１は本発明の実施形態１の画像歪み補正装置の構成を示すブロック図である。
【００１４】
[MFP装置概要]
以下に図を用いて、本発明の装置及びその動作について詳細に説明する。
【００１５】
図１は、本発明に係るMFPコントローラの第１実施形態を示すブロック図である。
【００１６】
MFPコントローラ１はシステムバスブリッジ（SBB）２によりCPU３、メモリコントローラ（MC）４、汎用バス６、タイル⇔ページベクタ変換部１３、ラスタ→タイルベクタ変換部１４、タイルベクタ展開部（RIP）１８、が接続されている。RIP１８は複数の小展開部（μRIPａ〜ｄ）で構成される。
【００１７】
MC４の先にはシステムメモリ（Memory）５が接続されており、画像データを一時記憶するための媒体として使われる。
【００１８】
汎用バス６には画像データを蓄積するためのHDD８を制御するハードディスクコントローラ（HDDCont）７及び操作部（LCD）１０を制御する操作部コントローラ（LCDC）９及び、MFPが接続されているネットワーク１２を介して、外部機器間との画像データの転送を行うインターフェースになるLANI/F１１が接続されている。
【００１９】
ラスタ→タイルベクタ変換部１４の先には画像処理部１５が接続され、さらに画像処理部１５にはスキャナ１６及びプリンタ１７が接続されている。
【００２０】
また、SBB2にはRIP１８が接続され、その先にはRIP18から出力されるデータを記憶するローカルメモリ（LocalMemory）19が接続されている。
【００２１】
コントローラ１でハンドリングされる画像データは、外部機器との入出力はページベクタ（PDL、PDF、SVGなど）、スキャナやプリンタとの入出力はラスターデータでインターフェースされる。コントローラ１では、従来のMFPと異なり、スキャン画像はタイルベクタ⇔ラスタラスタ→タイルベクタ変換部１４でタイルベクタに変換される。また、DLデータはRIP１８に接続されたローカルメモリ１８に記憶される。従って、システムメモリ１０３上には、ページベクタとタイルベクタデータの２種類の画像のみが記憶される。つまり、画像サイズの大きいラスターデータ及びDLデータをシステムメモリ５に記憶する必要がなくなるため、システムメモリ上で確保しなければならない画像データ領域を削減することができる。
【００２２】
また、RIP１８から出力されるDLデータはタイル単位に分割されたDLデータで記憶されるため、従来のページ単位のDLデータに比べ、非常に少ないメモリ容量で記憶できる。従って、ローカルメモリ１９はオンチップ上に実装することが可能になり、メモリレイテンシを小さくできる。その結果、タイルデータ展開速度を高速化することが可能となる。かつ、タイリングされたデータのみを画像データとしてHDD８上に記憶すれば良いので、HDDへのアクセス速度のボトルネックが緩和され、データ処理の高速化が図れる。同時に、タイル化することによりRIPのコストダウンも可能となる。
【００２３】
より、高い処理能力が要求される場合は、RIP内に備えるμRIPを並列に複数実装することで処理能力を可変できる。すなわち、コントローラの処理能力がシンプルに調整できることから、スケーラビリティの確保が容易なシステムを構築できる。
【００２４】
以下に、本発明に係るMFPを動作させた時の各画像処理フローについて説明する。
【００２５】
[コピー]
図２にコピー動作させた時のMFP内のデータフローを示す。図２中に描かれた矢印はデータの流れを表す。実線で描かれた矢印はラスタ画像、破線で描かれた矢印はタイル化されたベクタ画像、1点鎖線で描かれた矢印はページ全体を記述したベクタ画像が流れることを意味する。ページベクタ及びタイルベクタ画像については、後述のタイル⇔ページベクタ変換部で詳細に説明する。
【００２６】
（Ｓ２１）：
操作部（LCD）１０より、ユーザーがコピー開始を指示すると、スキャナ１４は原稿画像の読み取り動作を開始する。
【００２７】
スキャナ１４より画像処理部１３へ入力された画像（R、G、B）は画像処理ブロックのクロック同期に周波数変換された後、以下の処理をされる。
【００２８】
CCDセンサのラインピッチや色収差などスキャナ特性の補正。
【００２９】
色空間補正やシャープネスといった入力画像データの画質補正。
【００３０】
入力画像データの枠消しやブック枠消しといった、画像加工。
【００３１】
（Ｓ２２）：
前記画像処理が終了し、画像処理部１３から出力された画像データはラスタ→タイルベクタ変換部１２に入力され、タイルベクタ変換処理を行う。すなわち、画像データを所定の大きさのブロックに分割し、各ブロック内のラスター画像に対して、ベクトル化処理を行いブロック単位のベクタ画像を生成する。
【００３２】
生成されたベクタ画像はSBB２によりバスの調停を受け、システムメモリ５へのバス権を取得し、MC４を介して、前記タイルベクタをシステムメモリ５に記憶させる。（なお、SBB2経由でデータパスが接続される場合は、基本的にバスの調停を受け、バス権を取得する手続きを踏むが以降のフロー説明では省略する。）
（Ｓ２３）：
システムメモリ５に記憶されたタイルベクタ画像は、HDDCont７とMC４を介してSBB２経由でHDD８に記憶される。HDD８に画像データを記憶することにより、複数部の原稿をコピーする時にソーティングをして、ページ順を変えて出力したり、MFP内に保存文書として記憶したりすることができる。
【００３３】
（Ｓ２４）：
HDD８に記憶されたタイルベクタ画像はプリンタ１５内の不図示のCPUから送られてくるプリンタレディのタイミングに合わせて、HDDCont７により読み出され、SBB２、MC４を経由してシステムメモリ５に一時的に記憶される。
【００３４】
仮に、読み取った画像データをHDD８からダイレクトにプリンタへ読み出した場合、HDD８のアクセススピードが律則になったり、汎用バス６のバスの混雑度合によりプリンタに同期して出力することが保証できなくなる。そのため、プリンタに同期してデータ転送を行う前に、システムメモリ５にページデータをスプールしておくことで、リアルタイムなスループットを保証する。
【００３５】
（Ｓ２５）：
システムメモリ５に記憶されたタイルベクタ画像は、プリンタ１５からコントローラ１に送られる起動信号に従って、MC４によって読み出され、SBB２を介してRIP１８に転送される。
【００３６】
RIP１８ではまず、タイルベクタを解析し、タイル単位の描画オブジェクト（タイルDLデータ）の生成（インタプリット）を行う。生成されたタイルDLデータはローカルメモリ１８に一旦記憶される。
【００３７】
RIP18はローカルメモリからタイルDLデータを読み出して、タイル単位のラスタ画像へと展開し、出力する。
【００３８】
本実施例では前述のように、RIP１８内にμRIPa〜μRIPdの４つを備えている。コントローラ１はμRIPa〜μRIPdを並列に動作させることにより、タイルベクタの展開を高速に行わせる。システムのパフォーマンスはベクタ展開時間が支配的であり、このμRIPを増やすことでパフォーマンスアップが見込めるため、本発明のような構成を用いると容易にスケーラブルなシステムを構築することが可能となる。
【００３９】
（Ｓ２６）：
RIP１８によってタイル単位にラスタライズされた画像データは、画像処理部に転送され、以下の処理が実行される。
【００４０】
タイル単位のラスタ画像からページ単位のラスタ画像への変換処理。
【００４１】
プリンタの特性に合わせた出力画像の色や濃度の補正処理。
【００４２】
画像データを量子化して出力画像の階調変換を行う中間調処理。
【００４３】
プリンタI/Fクロックに同期して画像を出力するための周波数変換処理。
【００４４】
画像処理部１５で前記画像処理を実行されたラスター画像データはプリンタ１５に転送され、記録媒体上に印字され出力される。
【００４５】
[プリント]
図３にプリント動作させた時のMFP内のデータフローを示す。
【００４６】
（Ｓ３１）：
ネットワーク１２に接続された外部機器より、汎用バス６に接続されたＬＡＮ I/F１１がページベクタ形式の画像データを受信する。そしてSBB２の先に接続されたMC４を介してシステムメモリ５に転送する。
【００４７】
（Ｓ３２）：
システムメモリ５に記憶されたページベクタ画像はタイル⇔ページベクタ変換部１３より読み出され、タイルベクタ変換処理を行う。すなわち、ページベクタ内に存在するオブジェクトを所定の大きさのブロック（タイル）内に収まるオブジェクトに分割し、タイル単位のベクタ画像を生成する。
【００４８】
（Ｓ３３）：
生成されたベクタ画像はSBB２を介して再びシステムメモリ５に記憶される。
【００４９】
（Ｓ３３）：
システムメモリ５に記憶されたタイルベクタ画像は、HDDCont７とMC４を介してSBB２経由でHDD８に記憶される。HDD８に画像データを記憶することにより、複数部の原稿をコピーする時にソーティングをして、ページ順を変えて出力したり、MFP内に保存文書として記憶したりすることができる。
【００５０】
（Ｓ３４）：
HDD８に記憶されたタイルベクタ画像はプリンタ１５内の不図示のCPUから送られてくるプリンタレディのタイミングに合わせて、HDDCont７により読み出され、SBB２、MC４を経由してシステムメモリ５に一時的に記憶される。
【００５１】
読み取った画像データをHDD８からダイレクトにプリンタへ読み出した場合、HDD８のアクセススピードが律則になったり、汎用バス６のバスの混雑度合によりプリンタに同期して出力することが保証できなくなる。そのため、プリンタに同期してデータ転送を行う前に、システムメモリ５に１ページ分のタイルベクタデータをスプールすることにより、リアルタイムなスループットを保証する。
【００５２】
（Ｓ３５）：
システムメモリ５に記憶されたタイルベクタ画像は、プリンタ１５からコントローラ１に送られる起動信号に従って、MC４によって読み出され、SBB２を介してRIP１８に転送される。
【００５３】
（Ｓ３６）：
RIP１８ではまず、タイルベクタを解析し、タイル単位の描画オブジェクト（タイルDLデータ）の生成（インタプリット）を行う。生成されたタイルDLデータはローカルメモリ１８に一旦記憶される。
【００５４】
RIP１８はローカルメモリからタイルDLデータを読み出して、タイル単位のラスタ画像へと展開し、出力する。本実施例では、RIP１８内に小展開部μRIPa〜μRIPdの４つを備えている。
【００５５】
前記μRIPa〜μRIPdを並列に動作させることにより、タイルベクタの展開を高速に行わせる。システムのパフォーマンスはベクタ展開時間が支配的であり、このμRIPを増やすことでパフォーマンスアップが見込めるため、本発明のような構成を用いると容易にスケーラブルなシステムを構築することが可能となる。
【００５６】
（Ｓ３７）：
RIP１８によってタイル単位にラスタライズされた画像データは、画像処理部に転送され、以下の処理が実行される。
【００５７】
タイル単位のラスタ画像からページ単位のラスタ画像への変換処理。
【００５８】
プリンタの特性に合わせた出力画像の色や濃度の補正処理。
【００５９】
画像データを量子化して出力画像の階調変換を行う中間調処理。
【００６０】
プリンタI/Fクロックに同期して画像を出力するための周波数変換処理。
【００６１】
画像処理部１５で前記画像処理を実行されたラスター画像データはプリンタ１５に転送され、記録媒体上に印字され出力される。
【００６２】
[送信]
図４にネットワーク送信させた時のMFP内のデータフローを示す。画像データをHDD８に格納するまでのフローについては、スキャン画像の場合は［コピー］とネットワーク上の外部機器からの入力された画像の場合は［プリント］と同じなので割愛する。
【００６３】
（Ｓ４１）：
HDD８に記憶されたタイルベクタ画像はSBB２を介して、汎用バス６に接続されたHDDCont７より読み出され、システムメモリ５に一時的に記憶される。
【００６４】
（Ｓ４２）：
システムメモリ５に記憶されたタイルベクタ画像はタイル⇔ページベクタ変換部１１より読み出され、タイルベクタ変換処理を行う。すなわち、ブロック単位に分割されたオブジェクトを結合し、ページ全体でオブジェクトを記述したページベクタ画像を生成する。
【００６５】
（Ｓ４３）：
生成されたページベクタ画像はSBB２を介して再びシステムメモリ５に記憶される。
【００６６】
（Ｓ４４）：
システムメモリ５中に記憶されたページベクタ画像は、汎用バス６に接続されたＬＡＮ I/F１１から読み出され、ネットワーク１２に接続された外部機器へと転送される。
【００６７】
本発明のように、外部機器に送信する際にタイルベクタ画像をページベクタ画像に戻し、オブジェクト数を減らすことで、送信データ量が削減できる。また、PDFやSVG等の汎用フォーマットへ容易に変換することができる。
【００６８】
[ラスタ−タイルベクタ変換部]
コントローラ１中のラスタ→タイルベクタ変換部１４の詳細について説明する。図５はラスタータイル変換部１４の内部処理フローを表す。
【００６９】
ラスタ→タイルベクタ変換部１４は以下の各ステップにより実行される。
【００７０】
（Ｓ５１）BS（ブロックセレクション）：
画像処理部１５より入力されたラスタイメージデータを、文字あるいは線画を含む文字・線画領域と、ハーフトーンの写真領域、不定形の画像領域その他に分ける。さらに文字・線画領域について、主に文字を含む文字領域と、主に表、図形等を含む線画領域とを分離し、線画領域は表領域と図形領域に分離する。なお、本実施形態では連結画素を検知し、該連結画素の外接矩形領域の形状・サイズ・画素密度等を用いて、属性毎の領域に分離する。
【００７１】
文字領域については、文字段落ごとの纏まった塊をブロックとして矩形ブロック（文字領域矩形ブロック）にセグメント化される。線画領域では、表、図形等の個々のオブジェクト（表領域矩形ブロック、線画領域矩形ブロック）ごとに矩形ブロックにセグメント化される。
【００７２】
ハーフトーンで表現される写真領域は、画像領域矩形ブロック、背景領域矩形ブロック等のオブジェクトごとに、矩形ブロックにセグメント化される。
【００７３】
分離された各領域は、さらに所定の大きさの領域（タイル）単位に分割され、タイル単位で次のベクトル化ステップでベクトル化処理される。
【００７４】
（Ｓ５２）ベクトル化ステップ：
ベクトル化処理により各属性領域のイメージデータをベクトルデータに変換する。
【００７５】
ベクトル化処理では、文字領域以外の図画あるいは線、表領域のベクトル化処理と、文字領域のベクトル化種類との２種類のベクトル化処理を実行し、その処理内容は大きく異なる。また、写真領域に対しては、そのままイメージデータとして、ベクトル化は実行しない。
【００７６】
そこで、まず、文字ブロック以外の図画あるいは線、表領域のベクトル化処理について、図６を用いて説明する。
【００７７】
図６は本発明の実施形態１の文字ブロック以外の図画あるいは線、表領域のベクトル化処理の詳細を示すフローチャートである。
【００７８】
文字ブロック以外の図画あるいは線、表領域のベクトル化処理では、まず、ステップＳ１００１で、処理対象の領域に対応するイメージデータに基づいて、その領域を輪郭情報を線分のつながりとして表現する形式（以下、アウトラインベクトル）へ変換するアウトラインベクトル変換処理を実行する。
【００７９】
次に、ステップＳ１００２で、得られるアウトラインデータから図形認識処理を実行する。
【００８０】
『図形認識処理』
図形認識処理では、ステップＳ１００１で得られるアウトラインデータに対し、アウトラインから丸、楕円、四角、三角等の図形形状を認識して抽出する、もしくはアウトラインが構成している罫線、曲線等の図形形状を認識して抽出する。
【００８１】
次に、文字領域のベクトル化処理の詳細について、図７を用いて説明する。
【００８２】
図７は本発明の文字領域のベクトル化処理の詳細を示すフローチャートである。
【００８３】
まず、ステップＳ１０１１で、文字ブロックの文字認識処理を実行する。ステップＳ１０１２で、文字ブロックのフォント認識処理を実行する。ステップＳ１０１３で、文字ブロックをアウトライン化する文字ベクトル変換処理を実行する。ステップＳ１０１４で、文字ブロックに対してフォント化処理を実行する。
【００８４】
ここで、ステップＳ１０１１の文字認識処理の詳細について説明する。
【００８５】
『文字認識処理』
文字認識処理では、文字ブロックから文字単位で切り出された文字画像に対し、パターンマッチの一手法を用いて文字認識を行い、対応する文字コードを取得する。特に、この文字認識処理は、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルと、あらかじめ字種毎に求められている辞書特徴ベクトルとを比較し、最も距離の近い字種を認識結果とする。
【００８６】
特徴ベクトルの抽出には種々の公知手法があり、例えば、文字をメッシュ状に分割し、各メッシュブロック内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴とする方法がある。
【００８７】
そして、文字ブロックに対して文字認識処理を行う場合は、まず、該当文字ブロックに対し横書き／縦書きの判定を行い、各々対応する方向に文字列を切り出し、その後、文字列から文字を切り出して文字画像を取得する。
【００８８】
横書き／縦書きの判定は、該当文字ブロック内で画素値に対する水平／垂直の射影を取り、水平射影の分散が大きい場合は横書き、垂直射影の分散が大きい場合は縦書きと判定する。文字列及び文字への分解は、横書きの文字ブロックである場合には、その水平方向の射影を利用して行を切り出し、さらに切り出された行に対する垂直方向の射影から、文字を切り出すことで行う。一方、縦書きの文字ブロックに対しては、水平と垂直を逆にすれば良い。
【００８９】
尚、この文字認識処理によって、文字認識率（パターンマッチのマッチング率）を得ることが出来る。
【００９０】
次に、ステップＳ１０１２のフォント認識処理の詳細について説明する。
【００９１】
『フォント認識処理』
フォント認識処理は、文字認識処理の際に用いる、字種数分の辞書特徴ベクトルを、文字形状種、即ち、フォント種に対して複数用意し、マッチングの際に文字コードとともにフォント種を出力することで、文字のフォントを認識する。
【００９２】
次に、ステップＳ１０１３の文字ベクトル変換処理の詳細について、図８を用いて説明する。
【００９３】
『文字ベクトル変換処理』
図８は本発明の文字ベクトル変換処理の詳細を示すフローチャートである。
【００９４】
尚、図８の処理単位は、文字認識処理により文字領域から分割された一文字分の文字画像とし、図８の処理では、文字領域内の全ての文字画像に対して実行する。
【００９５】
まず、ステップＳ１０２０で、文字認識処理によって得られた文字認識率が所定の認識率を上回っているかどうかを判定する。文字認識率が所定の認識率を上回っていると判定された場合（ステップＳ１０２０でＹＥＳ）、ステップＳ１０２１に進み、各文字画像に対応して予め用意されているフォントのアウトラインデータを用いて、文字部分のフォント情報を取得して、ベクトルデータに変換する。
【００９６】
一方、文字認識率が所定の認識率を下回っていると判定された場合（ステップＳ１０２０でＮＯ）、ステップＳ１０２２に進み、歪み量（スキュー角度）を求める。具体的には文字部分の画像を何段階かの角度で回転させて、回転させた画像に対し文字認識処理を行い、最も文字認識率が高かった回転角度を歪み量（スキュー角度）とする。
【００９７】
その後、ステップＳ１０２３にて文字部分のフォント情報を取得してステップＳ１０２４にすすむ。
【００９８】
ステップＳ１０２４においては、文字領域内の全ての文字に対して文字ベクトル変換が完了したかどうかの判定を行う。全ての文字に対して文字ベクトル変換が完了したと判定された場合はステップＳ１０２５に、完了していないと判定された場合はステップＳ１０２０にすすむ。
【００９９】
ステップＳ１０２５においては、文字領域の歪み量演算を行う。具体的にはステップＳ１０２２において求められた各文字の歪み量を合計し、ステップＳ１０２２に進んだ文字数で歪み量の合計を割ることにより、文字領域の歪み量（スキュー角度）を求める。なお、Ｓ１０２２に進む文字がなかった場合には、文字領域の歪み量は０とする。
【０１００】
次に、ステップＳ１０２１およびステップＳ１０２３のフォント化処理の詳細について説明する。
【０１０１】
『フォント化処理』
フォント化処理では、文字ベクトル変換処理により得られたアウトラインベクトルデータ、もしくはイメージデータを用いて、各文字画像をフォントデータへ置換する。文字画像をフォントデータへ置換することで、文字ブロックは各文字が構成する文章として表現でき、編集可能となる。
【０１０２】
具体的には、ステップＳ１０２１およびＳ１０２３で得られたアウトラインベクトルデータはそのまま文字コード、フォント情報、文字サイズを用いてあらかじめ与えられているフォントへ置換することが可能である。
【０１０３】
（S５３）タイルベクタ生成：
S５２でａ〜ｆのフォーマットコード情報、図形情報、関数情報といったコマンド定義形の情報にベクトル変換されたデータに対し、コントローラ1内でページベクタかタイルベクタかを判別するベクタタイプや当該タイルのページ内の座標位置など判別するためのヘッダ情報を付加する。このようにして、タイル単位にパッキングされたタイルベクタデータをＳＢＢ２へ出力する。
【０１０４】
（S５５）歪み補正処理：
S５３で生成された1ページ分のタイルデータに対し、歪み補正処理を行う。この歪み補正処理はタイルごとに実行される。
【０１０５】
図９はステップＳ５５の歪み補正処理の詳細を示すフローチャートである。図９を用いて歪み補正処理を説明する。
【０１０６】
まずステップＳ１０３０にて領域（タイル）が写真領域であるかどうかの判定が行われる。写真領域であると判定されればステップＳ１０３１へ進み、写真領域以外であると判定されればステップ１０３３へ進む。
【０１０７】
次にステップＳ１０３１において、写真領域の歪み量（スキュー角度）の演算を行う。具体的には該写真領域に最も近い文字領域の歪み量を、該写真領域の歪み量とする。該写真領域に最も近い文字領域が複数存在した場合は、それら文字領域の歪み量の平均値を、該写真領域の歪み量とする。
【０１０８】
続いてステップＳ１０３２において、歪み補正処理を行う。具体的にはステップＳ１０３１において求められたスキュー角度分、写真領域の画像を回転する。
【０１０９】
ステップＳ１０３３においては、全てのタイルに対して歪み補正処理が終了したかどうかの判定を行う。全てのタイルに対して歪み補正処理は終了していないと判定された場合はステップＳ１０３０へ、全てのタイルに対して歪み補正処理が終了したと判断された場合は、S５５の歪み補正処理は終了する。
【０１１０】
[タイル⇔ページベクタ変換部]
コントローラ１中のタイル⇔ページベクタ変換部１３の詳細について説明する。
【０１１１】
図１２は、ネットワーク上の外部機器のアプリケーションで作成されたドキュメントである。便宜上、ドキュメントの短手方向を‘Ｘ’方向、長手方向を‘Ｙ’方向と定義する。
【０１１２】
図１３は図１２のドキュメントのプリンタ出力を指示するページベクタ（ＰＤＬコマンド）の記述例である。
【０１１３】
図１３において、９０１はドキュメント全体の設定に関わるドキュメント設定命令、９０２は文字の描画命令、９０３は図形の描画命令を示している。
【０１１４】
９０１から９０３の描画命令の詳細について説明する。
【０１１５】
Ｃ１〜Ｃ５は、ドキュメント全体に関係するコマンドである。従って、これらのコマンドＣ１〜Ｃ５はドキュメント１部について１ケ所しか付いていない。これらドキュメント全体に関係するコマンドには、例えば、キャラクタセットコマンド（フォント指定コマンド）、スケーラブルフォントコマンド（スケーラブルフォントを使用するか否かを指定するコマンド）、ハードリセットコマンド（以前のプリンタ使用環境をリセットするコマンド）、などがある。Ｃ１はドキュメント設定開始コマンドである。Ｃ２はドキュメントの出力用紙サイズを表すコマンドで、この場合にはＡ４の設定になっている。次のＣ３はドキュメントの方向を示している。ポートレートとランドスケープがあるが、この場合にはポートレート(PORT)を示している。Ｃ４はドキュメントのタイプを表すコマンドで、ページベクタで構成されるドキュメントなのかタイルベクタで構成されるドキュメントなのかを表す。この場合にはページ（PAGE）となっている。Ｃ５はドキュメント設定終了コマンドである。
【０１１６】
Ｃ６〜Ｃ２１は、ドキュメント８０１を出力するたのコマンドである。Ｃ６はページの開始を示すためのものである。Ｃ７は文字のフォントの種類を選択するためのコマンドでこの場合には“１”という番号の付けられたフォントセットを選択している。Ｃ８はフォントの大きさを設定するもので“１０ポイント”の大きさを選んでいる。Ｃ９は文字の色を設定するコマンドで、順にＲ（赤），Ｇ（緑），Ｂ（青）各色成分の輝度を示してある。この輝度は、０から２５５の２５６段階で量子化されているものとする。Ｃ１０は文字を描画する開始位置の座標を示している。座標位置はページの左上を原点に指定する。この場合は、{10,5}の位置から文字の描画を開始するように設定されている。Ｃ１１は実際に描画する文字列(XXXX…) を示している。
【０１１７】
Ｃ１２は図形描画の際の面の塗りつぶしの色を示している。色の指定は文字の色と同様である。Ｃ１３は図形描画の線の色を指定するものである。Ｃ１４は図形を描画する位置の座標を示している。Ｃ１５は円弧を描画する際の半径を指定する命令で、この場合、“１０”座標単位を表している。Ｃ１６は閉円弧の描画をするものである。コマンド内の２個のパラメータは円弧を描画する際の描画開始角度と終了角度を示している。垂直情報を０度として、この場合には０度から９０度の円弧を描画することを示している。Ｃ１７〜Ｃ２１は、Ｃ１２〜Ｃ１６までのコマンドと同様に面，線の色の指定，位置の指定などを行なっている。Ｃ２２はコマンドの終了を指定している。
【０１１８】
図１２のドキュメントを図１４で表されるようなブロック単位のタイルベクタで記述した例が図１１である。図１４中の２つの矢印はドキュメントの短手方向‘Ｘ’、長手方向‘Ｙ’を表す。また図中のＸ方向に配列された数列はＸ方向のタイルＩＤ、Ｙ方向に配列された数列はＹ方向のタイルＩＤを表す。Ａ，Ｂ，Ｃ，ＤはそれぞれタイルＩＤ（０，０）、（０，１）、（２、４）、（１，５）の位置にあるタイルベクタを表す。
【０１１９】
図１５において、１１０１はドキュメント全体の設定に関わるドキュメント設定命令、１１０２は描画命令全体をあらわす、１１０３〜１１０６はタイルＡ，Ｂ，Ｃ，Ｄの描画命令を示している。１１０７、１１０８はそれぞれタイルＤの文字描画命令、図形描画命令を表す。
【０１２０】
以下に１１０１〜１１０８の描画命令の詳細について説明する。
【０１２１】
Ｃ１〜Ｃ５は、ドキュメント全体に関係するコマンドである。従って、これらのコマンドＣ１〜Ｃ５はドキュメント１部について１ケ所しか付いていない。これらドキュメント全体に関係するコマンドには、例えば、キャラクタセットコマンド（フォント指定コマンド）、スケーラブルフォントコマンド（スケーラブルフォントを使用するか否かを指定するコマンド）、ハードリセットコマンド（以前のプリンタ使用環境をリセットするコマンド）、などがある。Ｃ１はドキュメント設定開始コマンドである。Ｃ２はドキュメントの出力用紙サイズを表すコマンドで、この場合にはＡ４の設定になっている。次のＣ３はドキュメントの方向を示している。ポートレートとランドスケープがあるが、この場合にはポートレート(PORT)を示している。Ｃ４はドキュメントのタイプを表すコマンドで、ページベクタで構成されるドキュメントなのかタイルベクタで構成されるドキュメントなのかを表す。この場合にはタイル（TILE）となっている。Ｃ５はドキュメント設定終了コマンドである。
【０１２２】
Ｃ６〜Ｃ５００は、ドキュメント１００１を出力するたのコマンドである。Ｃ６はページの開始を示すためのものである。Ｃ７は図１０のタイルAの描画コマンドの開始を示すものである。２個のパラメータはページ内におけるタイルのＩＤを示すものである。Ｃ８はタイルＡの描画コマンドの終わりを表す。タイルAのようにオブジェクトが何も存在しない場合は、タイルの開始と終了だけが記述される。
【０１２３】
Ｃ９は図１４のタイルＢの描画コマンドの開始を示すものである。Ｃ１０は文字のフォントの種類を選択するためのコマンドでこの場合には“１”という番号の付けられたフォントセットを選択している。Ｃ１１はフォントの大きさを設定するもので“１０ポイント”の大きさを選んでいる。Ｃ１２は文字の色を設定するコマンドで、順にＲ（赤），Ｇ（緑），Ｂ（青）各色成分の輝度を示してある。この輝度は、０から２５５の２５６段階で量子化されているものとする。Ｃ１３は文字を描画する開始位置の座標を示している。Ｃ１４は実際に描画する文字列(XXXX) を示している。座標位置はタイルの左上を原点に指定する。この場合は、{0,5}の位置から文字の描画を開始するように設定されている。Ｃ１５はタイルＢの描画コマンドの終わりを示すものである。
【０１２４】
Ｃ１００は図１０のタイルＣの描画コマンドの開始を示すものである。Ｃ１０１は図形描画の際の面の塗りつぶしの色を示している。色の指定は文字の色と同様である。Ｃ１０２は図形描画の線の色を指定するものである。Ｃ１０３は図形を描画する位置の座標を示している。Ｃ１０４は円弧を描画する際の半径を指定する命令で、この場合、“１０”座標単位を表している。Ｃ１０５は閉円弧の描画をするものである。コマンド内の２個のパラメータは円弧を描画する際の描画開始角度と終了角度を示している。垂直情報を０度として、この場合には０度から９０度の円弧を描画することを示している。Ｃ１０６はタイルＣの描画コマンドの終わりを示すものである。
【０１２５】
Ｃ１２０〜Ｃ１３１は、Ｃ９〜Ｃ１５までのコマンドと同様文字描画のフォントの種類、色、大きさなどの指定及びＣ１００〜Ｃ１０６同様に図形描画の面，線の色の指定，位置の指定などを行なっている。Ｃ５００はページの終了すなわちコマンドの終了を指定している。
【０１２６】
タイル⇔ページベクタ変換部１３は、前述のようなページベクタとタイルベクタの変換を行う。図１０はタイル⇔ページベクタ変換の内部処理フローを表す。
【０１２７】
タイル⇔ページベクタ変換は以下のステップで実行される。
【０１２８】
（Ｓ６０１）：
まず、システムメモリ５中に記憶されたベクタ画像から、ヘッダ部分に相当するコマンド列を読み込み、ドキュメント全体に関するコマンド部分を解析する。前述の図１３または図１５のＣ１〜Ｃ５に相当する部分である。
【０１２９】
（Ｓ６０２）：
解析した結果、ドキュメントのタイプがページベクタ（PAGE）である場合はＳ６０３以降のステップに進み、ページベクタ→タイルベクタ変換が実行される。ドキュメントのタイプが(TILE)である場合は、Ｓ６１０以降のステップに進み、タイルベクタ→ページベクタ変換が実行される。
【０１３０】
（Ｓ６０３）：
オブジェクトを記述するコマンド列を読み込む。
【０１３１】
（Ｓ６０４）：
Ｓ６０３で読み込まれたコマンド列を解析し、記述されているオブジェクトの大きさが分割したいタイルサイズを超えているかどうかの判断を行う。オブジェクトの分割を行わない場合は、Ｓ６０５をスキップしＳ６０６に進み、オブジェクトの分割を行う場合はＳ６０５に進む。
【０１３２】
（Ｓ６０５）：
このステップでは、入力されたオブジェクトの分割処理を行う。
【０１３３】
例えば、図１３では、９０２で“XXXX”を含む全ての文字列の描画コマンドを記述しているが、図１４のようにタイル化した場合にはタイルBには“XXXX”しか収まらない。従って、タイルベクタでは文字列を途中で分割し、分割された後続の文字列は別の文字列として、次のタイルに記述を行う。次のタイルに記述が収まらなかったら、同様にまたタイルに含まれる文字列に分割し、分割された全ての文字列がタイルサイズに収まるまで繰り返す。文字列をどこで切るかは、フォントの種類、サイズからタイル内に収まる文字数を算出し、その数だけの文字を抽出する。９０２では、文字数が４つということになり、図１３のＣ１０の文字列はタイルベクタＢとしては図１５のＣ１３のような記述に変換される。
【０１３４】
また、９０３では図形の描画を記述しているが、９０３のＣ１７〜Ｃ２１で記述されている図形は、図１２の4分の３円は、図１４では一つのタイルに収まらないので、タイルDを含む複数のタイルに分割される。図形の分割は、図形の描画位置や図形の形、大きさからタイルの境界領域と接する部分を算出しその境界とタイル内に収まっている図形の部分領域で構成される閉領域を新たな図形として記述し直す。図１３の９０３で記述される4分の３円は、図１５では、その左下の部分領域が１１０８のＣ１２６からＣ１３０のような4分の１円の記述に変換される。また、残りの領域も同様な形の4分の１円の記述に変換される。
【０１３５】
（Ｓ６０６）：
入力されたオブジェクトのコマンド記述に対し、タイルベクタ内での描画位置へ変更するために、座標位置の変換を行う。ページベクタでは、ページの左上からの位置を記述していたのに対し、タイルベクタではタイルの左上からの位置に記述し直す。描画位置をタイル内の座標で記述することにより、座標計算に要するデータ長を削減することが可能になる。
【０１３６】
（Ｓ６０７）：
１つのオブジェクトに対するコマンドの記述変換が終了したら、ページ内の全てのオブジェクトのコマンドの記述変換が終了したかどうかを判断し、終了していない場合には、Ｓ６０３に戻り次のコマンドに対して、Ｓ６０３〜Ｓ６０７の処理を繰り返す。１つのオブジェクトに対するコマンドの処理が終了した場合には、Ｓ６０８へ進む。
【０１３７】
（Ｓ６０８）：
全ての描画コマンドの記述変換が終了したら、図１４のように分割された各タイル領域に対し、ページの左上から順にタイルベクタとしてシステムメモリ５への書き出しを行う。タイルベクタとしては、前述のＳ６０５、Ｓ６０６で記述されたコマンドに対し、タイルの始まりと終わりを示すコマンドを追加するようなフォーマットで記述される。
【０１３８】
まず、ページの一番最初のコマンドを書き出す時点では、システムメモリ５内にオブジェクトがない状態のタイルベクタを生成しておく。オブジェクトがないタイルベクタ、例えば図１５のタイルAは、１１０３のように始まりと終わりのコマンドのみのＣ７〜Ｃ８のように記述される。次に、S６０３〜S６０７で処理されたコマンドが存在する座標のタイルに対し、オブジェクトの記述を追加する。タイルBの場合は、図１５の１１０４のＣ９〜Ｃ１５のような記述となる。タイルＤのように同じタイルに複数のオブジェクトが存在する場合には、１１０６のように１１０７のオブジェクト記述と１１０８のオブジェクト記述を列記する。
【０１３９】
（Ｓ６０９）：
１つのオブジェクトのタイルベクタへの書き出しが終わるとそのページのオブジェクトの記述が全て終了したかどうかを判断する。終了していない、と判断された場合にはＳ６０３に戻る。ページ内の全ての処理が終了した場合には、ページ→ベクタタイル変換を終了する。
【０１４０】
Ｓ６０２でドキュメントタイプがタイル（TILE）であると判断された場合の処理について述べる。
【０１４１】
（Ｓ６１０）：
オブジェクトを記述するコマンド列を読み込む。
【０１４２】
（Ｓ６１１）：
Ｓ６１０で読み込まれたコマンド列を解析し、記述されているオブジェクトがそれより以前に読み込まれたタイルと結合可能かどうかを判断する。オブジェクトの結合を行わない場合は、Ｓ６１２をスキップしＳ６１３に進み、オブジェクトの分割を行う場合はＳ６１２に進む。
【０１４３】
（Ｓ６１２）：
オブジェクトが結合できるかどうかは読み込んだコマンドの座標位置や、図形の種別等を基に判断する。文字列の場合はフォントサイズやフォントの種類をもとに判断する。基本的にはＳ６０５の流れを逆にしたような形で結合を行う。
【０１４４】
（Ｓ６１３）：
入力されたオブジェクトのコマンド記述に対し、タイルベクタ内での描画位置へ変更するために、座標位置の変換を行う。タイルベクタではタイルの左上からの位置を記述していたのに対し、ページベクタでは、ページの左上からの位置に記述し直す。
【０１４５】
（Ｓ６１４）：
１つのオブジェクトに対するコマンドの記述変換が終了したら、タイル内の全てのオブジェクトのコマンドの記述変換が終了したかどうかを判断し、終了していない場合には、Ｓ６１０に戻り、次のコマンドに対してＳ６１０〜Ｓ６１３の処理を繰り返す。１つのオブジェクトに対するコマンドの処理が終了した場合には、Ｓ６１５へ進む。
【０１４６】
（Ｓ６１５）：
描画コマンドの記述変換が終了したら、ページベクタとしてシステムメモリ５への書き出しを行う。タイルベクタとしては、前述のＳ６０５、Ｓ６０６で記述されたコマンドに対し、タイルの始まりと終わりを示すコマンドを削除したようなフォーマットで記述される。
【０１４７】
まず、ページ内の一番最初のタイルに記述されたコマンドを書き出す時点では、システムメモリ５内にオブジェクトがない状態のページベクタを生成しておく。図９でいうと、Ｃ１〜Ｃ６、Ｃ２２だけで記述されるページである。次に、S６１０〜S６１３で処理されたオブジェクトの記述を追加する。図１３でいうと、９０２のＣ７〜Ｃ１１の記述の部分がそれにあたる。この場合のオブジェクトは文字列｛XXXX・・・YY・・｝を表しているがこれは、Ｓ６１２で図１５の１１０４や１１０７等で記述される各タイルの文字列を順次結合したオブジェクトの記述に変更されている。
【０１４８】
（Ｓ６１６）：
１つコマンドのページベクタへの書き出しが終わるとそのタイルのオブジェクトの記述が全て終了したかどうかを判断する。終了していない、と判断された場合にはＳ６１０に戻る。タイル内の全ての処理が終了した場合には、Ｓ６１７に進む。
【０１４９】
（Ｓ６０９）：
１つのタイルベクタの書き出しが終わるとそのページのタイルの記述が全て終了したかどうかを判断する。終了していない、と判断された場合にはＳ６１０に戻る。ページ内の全てのタイルの処理が終了した場合には、タイル→ページベクタ変換を終了する。
【０１５０】
[タイルベクタ展開部（RIP）]
コントローラ１中のRIP１８の詳細について説明する。
【０１５１】
まず、コピーやプリント、送信といった画像データの処理を開始する前に、ローカルメモリ１９の初期化と、作成する描画オブジェクトの解像度の設定を行っておく。本実施例では、生成解像度は６００ｄｐｉとし、ポイントサイズやｍｍ等の単位系で指定された印刷コマンドは、この値を用いてドット数に変換されることになる。
【０１５２】
タイルベクタの展開は以下のステップで行われる。
【０１５３】
（Ｓ７１）：
システムメモリ５よりSBB２を経由してRIP１８に一定サイズ分入力されたタイルベクタはローカルメモリ１９のタイルベクタ領域に一時的に格納される。
【０１５４】
（Ｓ７２）：
タイルベクタがローカルメモリ１９に取り込まれたら、μRIPａ〜ｄはタイル展開処理が終了しているかどうかを判断する。μRIPがベクタデータの展開中であれば、展開可能になるまで、S７２の状態で待機する。
【０１５５】
（Ｓ７３）：
μRIPａ〜ｄのいずれかがベクタデータの展開可能になれば、予め定められた文法に従ってローカルメモリ１９に格納されたタイルベクタのコマンド解析を行う。
【０１５６】
（Ｓ７４）：
解釈されたコマンドが、描画命令か排紙命令かを判断し、描画命令と判断された場合にはＳ７５に、排紙命令と判断された場合にはＳ７６に分岐する。
【０１５７】
（Ｓ７５）：
Ｓ７４にて、前記データが描画命令であると判断された場合には、描画オブジェクト（ＤＬ）生成を行う。タイルベクタ内のコマンドが文字描画命令であれば、前記コマンドで指定されるフォントの書体や、文字サイズ、文字コードを元にフォントオブジェクトを生成し、文字以外の描画命令であれば、前記コマンドで指定された図形（ラインや円、多角形等）の描画オブジェクトを生成し、ローカルメモリ１９のＤＬ領域に格納する。
【０１５８】
また、前記描画コマンドで指定されない印刷データであると判断された場合には、前記印刷データに応じて印字位置移動や印字環境設定等の処理がなされ、一単位分のコマンド解釈を終了する。
【０１５９】
タイルベクタ内のコマンド全ての解釈が終了するまで前記処理を繰り返す。
【０１６０】
（Ｓ７６）：
コマンドが排紙命令と判断された場合には、μRIPはローカルメモリ１９上のタイルラスタメモリ領域に空き領域があるかどうかを判断する。空き領域がない場合は、他のRIPの処理が終了し、空き領域が出来るまで待機する。
【０１６１】
（Ｓ７７）：
タイルラスタメモリに空き領域がある場合は、Ｓ７５で生成された描画オブジェクトを読み出し、タイルラスタ領域に描画（ラスタライズ）する。この時、生成解像度が６００ｄｐｉであれば、タイルラスタ領域には６００ｄｐｉの画像としてラスタライズされる。そして描画が終了したタイルラスタ画像は、ＳＢＢ２を介して、画像出力部１５に出力される。
【０１６２】
（Ｓ７８）：
Ｓ７５またはＳ７７で一つのタイルベクタに対する、コマンド解析または描画処理が終了したら、読み込まれたタイルベクタメモリに対し全てが終了したかどうかを判断し、まだ処理が残っているようでであれば、Ｓ７２に戻り、次のタイルベクタの処理を続ける。終了している場合はＳ７９に進む。
【０１６３】
（Ｓ７９）：
１ページ分のタイルベクタに対し、全ての処理が終了したかどうかを判断し、まだ未処理のデータが残っている場合は、Ｓ７１に戻りシステムメモリからタイルベクタを読み出して、処理を続ける。
【０１６４】
１ページの処理が全て終了した場合はタイルベクタ展開を終了する。
【図面の簡単な説明】
【０１６５】
【図１】本発明のシステム構成図である。
【図２】本発明のシステムのコピーの動作フローを説明する図である。
【図３】本発明のシステムのプリントの動作フローを説明する図である。
【図４】本発明の第1の実施例におけるシステムの送信の動作フローを説明する図である。
【図５】本発明のラスタ→タイルベクタ変換部のフローを説明する図である。
【図６】本発明の文字ブロック以外の図画あるいは線、表領域のベクトル化処理の詳細を示すフローチャートである。
【図７】本発明の文字領域のベクトル化処理の詳細を示すフローチャートである。
【図８】本発明の文字ベクトル変換処理の詳細を示すフローチャートである。
【図９】本発明の歪み補正処理の詳細を示すフローチャートである。
【図１０】本発明のタイル⇔ページベクタ変換部のフローを説明する図である。
【図１１】本発明のRIP（ベクタ展開部）のフローを説明する図である。
【図１２】本発明で取り扱われる画像データの例を表す図である。
【図１３】本発明で取り扱われるページベクタデータの例を表す図である。
【図１４】本発明で取り扱われるタイルベクタのタイル領域を表す図である。
【図１５】本発明で取り扱われるタイルベクタデータの例を表す図である。
【図１６】従来のMFPシステムの例を表す図である。
【図１７】スキューが生じたスキャン画像を示す説明図である。
【図１８】「ハの字」形状のスキャン画像を示す説明図である。
【図１】
2008294831.tif 000003
【図２】
2008294831.tif 000004
【図３】
2008294831.tif 000005
【図４】
2008294831.tif 000006
【図５】
2008294831.tif 000007
【図６】
2008294831.tif 000008
【図７】
2008294831.tif 000009
【図８】
2008294831.tif 000010
【図９】
2008294831.tif 000011
【図１０】
2008294831.tif 000012
【図１１】
2008294831.tif 000013
【図１２】
2008294831.tif 000014
【図１３】
2008294831.tif 000015
【図１４】
2008294831.tif 000016
【図１５】
2008294831.tif 000017
【図１６】
2008294831.tif 000018
【図１７】
2008294831.tif 000019
【図１８】
2008294831.tif 000020