(57)【要約】【課題】  画像中のオブジェクトに対して、精度の高い傾き補正を画像劣化がなく高速で処理可能な画像処理装置及びその制御方法、プログラムを提供する。【解決手段】  入力された画像データを複数のブロックに分割する。分割されたブロックにおいて、所定方向に対するブロックの傾き角度を検出する。分割されたブロック毎に、前記入力手段で入力された画像データをベクトルデータに変換する。検出された傾き角度に基づいて、分割されたブロックの傾き角度を、該ブロックに対応するベクトルデータを用いて補正する。【選択図】  図３
2005346586.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データに画像処理を施す画像処理装置であって、
画像データを入力する入力手段と、
前記入力手段で入力された画像データを複数のブロックに分割する分割手段と、
前記分割手段で分割されたブロックにおいて、所定方向に対する前記ブロックの傾き角度を検出する検出手段と、
前記分割手段で分割されたブロック毎に、前記入力手段で入力された画像データをベクトルデータに変換する変換手段と、
前記検出手段で検出された傾き角度に基づいて、前記分割手段で分割されたブロックの傾き角度を、該ブロックに対応するベクトルデータを用いて補正する補正手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記入力手段は、原稿を読み取る読取手段を含む
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記補正手段は、前記傾き角度を補正した第１ブロックが他の第２ブロックと重なる場合は、少なくとも前記第１ブロック及び前記第２ブロックのいずれか一方のブロックを、そのブロックに対応するベクトルデータを用いて補正する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記補正手段は、前記ブロックを拡大または縮小する
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記補正手段は、前記ブロックの位置を変更する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記検出手段は、前記分割手段で分割されたブロックの内、所定の属性のブロックの傾き角度を検出し、
前記補正手段は、前記検出手段で検出された傾き角度に基づいて、前記所定の属性のブロックの傾き角度を補正する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記検出手段で検出された傾き角度が所定角度以上の場合、前記補正手段による補正の実行を禁止する禁止手段を更に備える
ことを特徴とする請求項１に記載の画像処理装置。
【請求項８】
印刷対象の画像データに画像処理を施し、印刷部へ出力する画像処理装置であって、
前記印刷部内の印刷用紙の搬送路において、搬送方向に対し、搬送される印刷用紙の傾き角度を検出する第１検出手段と、
前記検出手段で検出された傾き角度に基づいて、印刷対象の画像データとなるベクトルデータの傾き角度を補正する補正手段と
前記補正手段で補正されたベクトルデータを用いて、前記印刷部による印刷を実行する実行手段と
を備えることを特徴とする画像処理装置。
【請求項９】
画像データを入力する入力手段と、
前記入力手段で入力された画像データを複数のブロックに分割する分割手段と、
前記分割手段で分割されたブロックにおいて、所定方向に対する前記ブロックの傾き角度を検出する第２検出手段と、
前記分割手段で分割されたブロック毎に、前記入力手段で入力された画像データをベクトルデータに変換する変換手段とを更に備え、
前記補正手段は、前記第１及び第２検出手段で検出された第１及び第２傾き角度に基づいて、印刷対象の画像データとなるベクトルデータの傾き角度を補正する
ことを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
入力された画像データに画像処理を施す画像処理装置の制御方法であって、
画像データを入力する入力工程と、
前記入力工程で入力された画像データを複数のブロックに分割する分割工程と、
前記分割工程で分割されたブロックにおいて、所定方向に対する前記ブロックの傾き角度を検出する検出工程と、
前記分割工程で分割されたブロック毎に、前記入力工程で入力された画像データをベクトルデータに変換する変換工程と、
前記検出工程で検出された傾き角度に基づいて、前記分割工程で分割されたブロックの傾き角度を、該ブロックに対応するベクトルデータを用いて補正する補正工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項１１】
印刷対象の画像データに画像処理を施し、印刷部へ出力する画像処理装置の制御方法であって、
前記印刷部内の印刷用紙の搬送路において、搬送方向に対し、搬送される印刷用紙の傾き角度を検出する第１検出工程と、
前記検出工程で検出された傾き角度に基づいて、印刷対象の画像データとなるベクトルデータの傾き角度を補正する補正工程と、
前記補正工程で補正されたベクトルデータを用いて、前記印刷部による印刷を実行する実行工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項１２】
入力された画像データに画像処理を施す画像処理装置の制御を実現するプログラムであって、
画像データを入力する入力工程のプログラムコードと、
前記入力工程で入力された画像データを複数のブロックに分割する分割工程のプログラムコードと、
前記分割工程で分割されたブロックにおいて、所定方向に対する前記ブロックの傾き角度を検出する検出工程のプログラムコードと、
前記分割工程で分割されたブロック毎に、前記入力工程で入力された画像データをベクトルデータに変換する変換工程のプログラムコードと、
前記検出工程で検出された傾き角度に基づいて、前記分割工程で分割されたブロックの傾き角度を、該ブロックに対応するベクトルデータを用いて補正する補正工程のプログラムコードと
を備えることを特徴とするプログラム。
【請求項１３】
印刷対象の画像データに画像処理を施し、印刷部へ出力する画像処理装置の制御を実現するプログラムであって、
前記印刷部内の印刷用紙の搬送路において、搬送方向に対し、搬送される印刷用紙の傾き角度を検出する第１検出工程のプログラムコードと、
前記検出工程で検出された傾き角度に基づいて、印刷対象の画像データとなるベクトルデータの傾き角度を補正する補正工程のプログラムコードと、
前記補正工程で補正されたベクトルデータを用いて、前記印刷部による印刷を実行する実行工程のプログラムコードと
を備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された画像データに画像処理を施す画像処理装置及びその制御方法、プログラムに関するものである。
【背景技術】
【０００２】
近年、環境問題が叫ばれる中、オフィスでのペーパーレス化が急速に進んでいる。このペーパレス化を実現する技術として、従来からバインダー等で蓄積された紙文書をスキャナで読み取り、その読み取った画像を、例えば、ポータブルドキュメントフォーマット（以下、ＰＤＦと示す）等の画像ファイルに変換して、画像記憶装置に蓄積して管理する文書管理システムが提案されている。
【０００３】
また、読取画像は、通常ＪＰＥＧ等の圧縮フォーマットにより圧縮され、得られる圧縮ファイルがハードディスク等の記録媒体に保存される。
【０００４】
一方、スキャン時に画像データの傾きを検知して、画像データを傾いた角度分だけ回転することにより傾き補正を行うことも可能である（例えば特許文献１、２）。この傾き補正は、例えば、スキャナの原稿台上に原稿を置いてスキャンする場合に斜めに置いてしまったり、ドキュメントフィーダー(自動原稿送り装置)を用いてスキャンする場合に原稿が斜めにずれて送られてしまう時に有効である。
【特許文献１】特開平８−６３５４８号公報
【特許文献２】特開平４−９８４７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＪＰＥＧ等の圧縮では通常圧縮伸張した画像データは元の画像データとは異なり、圧縮率を高くするほど画像データは画像の劣化が大きくなる。特に、傾き補正を行う際に、圧縮された画像を一度伸張してから回転処理を行う場合は、画像の劣化が発生する場合がある。また、任意の角度の回転処理は実現する場合には、それを実現する回路の回路規模が大きくなり、もしくは処理時間がかかっていた。
【０００６】
また、複数の記事を切り貼りしてレイアウトした原稿をスキャンしたような場合、スキャンした原稿画像に含まれるそれぞれの記事画像データの傾き角度を検出して、それぞれの画像データを別々に方向に回転することが必要になると考えられる。
【０００７】
更に、複数の画像データを別々の方向に回転して補正する場合、各画像データの配置がユーザの意図した通りにレイアウトされなかったり、重なってしまったり、枠や原稿画像からはみ出してしまうこともありえる。
【０００８】
更に、正立するように傾き補正した画像データであっても、プリント出力時に出力用紙が斜めに搬送されることにより、出力用紙上に形成される画像が斜めに傾いた状態で出力してしまう場合も考えられ、簡単に修正することができなかった。
【０００９】
本発明は上記の課題を解決するためになされたものであり、画像中のオブジェクトに対して、精度の高い傾き補正を画像劣化がなく高速で処理可能な画像処理装置及びその制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するための本発明による画像処理装置は以下の構成を備える。即ち、  入力された画像データに画像処理を施す画像処理装置であって、
画像データを入力する入力手段と、
前記入力手段で入力された画像データを複数のブロックに分割する分割手段と、
前記分割手段で分割されたブロックにおいて、所定方向に対する前記ブロックの傾き角度を検出する検出手段と、
前記分割手段で分割されたブロック毎に、前記入力手段で入力された画像データをベクトルデータに変換する変換手段と、
前記検出手段で検出された傾き角度に基づいて、前記分割手段で分割されたブロックの傾き角度を、該ブロックに対応するベクトルデータを用いて補正する補正手段と
を備えることを特徴とする画像処理装置。
【００１１】
また、好ましくは、前記入力手段は、原稿を読み取る読取手段を含む。
【００１２】
また、好ましくは、前記補正手段は、前記傾き角度を補正した第１ブロックが他の第２ブロックと重なる場合は、少なくとも前記第１ブロック及び前記第２ブロックのいずれか一方のブロックを、そのブロックに対応するベクトルデータを用いて補正する。
【００１３】
また、好ましくは、前記補正手段は、前記ブロックを拡大または縮小する。
【００１４】
また、好ましくは、前記補正手段は、前記ブロックの位置を変更する。
【００１５】
また、好ましくは、前記検出手段は、前記分割手段で分割されたブロックの内、所定の属性のブロックの傾き角度を検出し、
前記補正手段は、前記検出手段で検出された傾き角度に基づいて、前記所定の属性のブロックの傾き角度を補正する。
【００１６】
また、好ましくは、前記検出手段で検出された傾き角度が所定角度以上の場合、前記補正手段による補正の実行を禁止する禁止手段を更に備える。
【００１７】
上記の目的を達成するための本発明による画像処理装置は以下の構成を備える。即ち、
印刷対象の画像データに画像処理を施し、印刷部へ出力する画像処理装置であって、
前記印刷部内の印刷用紙の搬送路において、搬送方向に対し、搬送される印刷用紙の傾き角度を検出する第１検出手段と、
前記検出手段で検出された傾き角度に基づいて、印刷対象の画像データとなるベクトルデータの傾き角度を補正する補正手段と
前記補正手段で補正されたベクトルデータを用いて、前記印刷部による印刷を実行する実行手段と
を備える。
【００１８】
また、好ましくは、画像データを入力する入力手段と、
前記入力手段で入力された画像データを複数のブロックに分割する分割手段と、
前記分割手段で分割されたブロックにおいて、所定方向に対する前記ブロックの傾き角度を検出する第２検出手段と、
前記分割手段で分割されたブロック毎に、前記入力手段で入力された画像データをベクトルデータに変換する変換手段とを更に備え、
前記補正手段は、前記第１及び第２検出手段で検出された第１及び第２傾き角度に基づいて、印刷対象の画像データとなるベクトルデータの傾き角度を補正する。
【００１９】
上記の目的を達成するための本発明による画像処理装置の制御方法は以下の構成を備える。即ち、
入力された画像データに画像処理を施す画像処理装置の制御方法であって、
画像データを入力する入力工程と、
前記入力工程で入力された画像データを複数のブロックに分割する分割工程と、
前記分割工程で分割されたブロックにおいて、所定方向に対する前記ブロックの傾き角度を検出する検出工程と、
前記分割工程で分割されたブロック毎に、前記入力工程で入力された画像データをベクトルデータに変換する変換工程と、
前記検出工程で検出された傾き角度に基づいて、前記分割工程で分割されたブロックの傾き角度を、該ブロックに対応するベクトルデータを用いて補正する補正工程と
を備える。
【００２０】
上記の目的を達成するための本発明による画像処理装置の制御方法は以下の構成を備える。即ち、
印刷対象の画像データに画像処理を施し、印刷部へ出力する画像処理装置の制御方法であって、
前記印刷部内の印刷用紙の搬送路において、搬送方向に対し、搬送される印刷用紙の傾き角度を検出する第１検出工程と、
前記検出工程で検出された傾き角度に基づいて、印刷対象の画像データとなるベクトルデータの傾き角度を補正する補正工程と、
前記補正工程で補正されたベクトルデータを用いて、前記印刷部による印刷を実行する実行工程と
を備える。
【００２１】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
入力された画像データに画像処理を施す画像処理装置の制御を実現するプログラムであって、
画像データを入力する入力工程のプログラムコードと、
前記入力工程で入力された画像データを複数のブロックに分割する分割工程のプログラムコードと、
前記分割工程で分割されたブロックにおいて、所定方向に対する前記ブロックの傾き角度を検出する検出工程のプログラムコードと、
前記分割工程で分割されたブロック毎に、前記入力工程で入力された画像データをベクトルデータに変換する変換工程のプログラムコードと、
前記検出工程で検出された傾き角度に基づいて、前記分割工程で分割されたブロックの傾き角度を、該ブロックに対応するベクトルデータを用いて補正する補正工程のプログラムコードと
を備える。
【００２２】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
印刷対象の画像データに画像処理を施し、印刷部へ出力する画像処理装置の制御を実現するプログラムであって、
前記印刷部内の印刷用紙の搬送路において、搬送方向に対し、搬送される印刷用紙の傾き角度を検出する第１検出工程のプログラムコードと、
前記検出工程で検出された傾き角度に基づいて、印刷対象の画像データとなるベクトルデータの傾き角度を補正する補正工程のプログラムコードと、
前記補正工程で補正されたベクトルデータを用いて、前記印刷部による印刷を実行する実行工程のプログラムコードと
を備える。
【発明の効果】
【００２３】
本発明によれば、画像中のオブジェクトに対して、精度の高い傾き補正を画像劣化がなく高速で処理可能な画像処理装置及びその制御方法、プログラムを提供できる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００２５】
＜実施形態１＞
図１は本発明の実施形態１の画像処理システムの構成を示すブロック図である。
【００２６】
図１において、オフィス１０内に構築されたＬＡＮ１０７には、複数種類の機能（複写機能、印刷機能、送信（ファイル送信、ファックス送信）機能等）を実現する複合機であるＭＦＰ（Multi Function Peripheral）１００、ＭＦＰ１００からの送信データを受信したり、ＭＦＰ１００が実現する機能を利用するクライアントＰＣ１０２及びプロキシサーバ１０３が接続されている。ＬＡＮ１０７は、プロキシサーバ１０３を介してネットワーク１０４に接続されている。
【００２７】
このクライアントＰＣ１０２では、例えば、印刷データをＭＦＰ１００へ送信することで、その印刷データに基づく印刷物をＭＦＰ１００で印刷することが可能である。
【００２８】
尚、図１の構成は一例であり、オフィス１０と同様の構成要素を有する、複数のオフィスがネットワーク１０４上に接続されていても良い。
【００２９】
また、ネットワーク１０４は、典型的にはインターネットやＬＡＮやＷＡＮや電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、通信衛星回線、ケーブルテレビ回線、データ放送用無線回線等のいずれか、またはこれらの組み合わせにより実現されるいわゆる通信ネットワークであり、データの送受信が可能であれば良い。
【００３０】
また、クライアントＰＣ１０２及びプロキシサーバ１０３の各種端末はそれぞれ、汎用コンピュータに搭載される標準的な構成要素（例えば、ＣＰＵ、ＲＡＭ、ＲＯＭ、ハードディスク、外部記憶装置、ネットワークインタフェース、ディスプレイ、キーボード、マウス等）を有している。
【００３１】
次に、ＭＦＰ１００の詳細構成について、図２を用いて説明する。
【００３２】
図２は本発明の実施形態１のＭＦＰの詳細構成を示す図である。
【００３３】
図２において、画像読取部１１０は、例えば、スキャナやリーダで構成される画像読取部であり、特に、画像読取部１１０がスキャナやリーダで構成される場合には、オートドキュメントフィーダ（ＡＤＦ）を更に備える。画像読取部１１０は、束状のあるいは１枚の原稿画像を光源（不図示）で照射し、原稿反射像をレンズで固体撮像素子上に結像し、固体撮像素子からラスタ状のスキャン画像データを所定密度（６００ＤＰＩ等）のラスタ画像として得る。
【００３４】
尚、画像読取部１１０は、スキャナやリーダ以外に、デジタルカメラやデジタルビデオ等の撮像装置、ＰＣやＰＤＡ等のＣＰＵを有する情報処理装置、移動携帯通信端末やＦＡＸ等の通信装置等、ラスタ画像データを入力可能な装置であれば、どのようなものでも良い。
【００３５】
次に、ＭＦＰ１００の主要な機能群について、以下に説明する。
【００３６】
「複写（コピー）機能」
ＭＦＰ１００は、スキャン画像データに対応する画像を印刷部１１２で記録媒体に印刷する複写機能を有し、原稿画像を１つ複写する場合には、このスキャン画像データをデータ処理部１１５（ＣＰＵ、ＲＡＭ、ＲＯＭ等から構成される）で各種の補正を行う画像処理を施して、印刷データを生成し、これを印刷部１１２によって記録媒体上に印刷させる。一方、原稿画像を複数複写する場合には、記憶部１１１に一旦一ページ分の印刷データを記憶保持させた後、これを印刷部１１２に順次出力して記録媒体上に印刷させる。
【００３７】
尚、記憶部１１１に印刷データを保持せずに、スキャン画像データをデータ処理部１１５にて各種の補正を行う画像処理を施して印刷データを生成して、直接印刷部１１２によって記録媒体上に印刷させることも可能である。
【００３８】
「保存機能」
ＭＦＰ１００は、画像読取部１１０からスキャン画像データあるいは画像処理が施されたスキャン画像データを記憶部１１１に保存する。
【００３９】
「送信機能」
ネットワークＩ／Ｆ１１４を介する送信機能においては、画像読取部１１０から得られるスキャン画像データあるいは保存機能で記憶部１１１に保存されたスキャン画像データを、ＴＩＦＦやＪＰＥＧ等の圧縮画像ファイル形式、あるいはＰＤＦ等のベクトルデータファイル形式の画像ファイルへと変換し、ネットワークＩ／Ｆ１１４から出力する。出力された画像ファイルは、ＬＡＮ１０７を介してクライアント１０１へ送信されたり、更にネットワーク１０４経由でネットワーク上の外部端末（例えば、別のＭＦＰやクライアントＰＣ）に転送されたりする。
【００４０】
また、ここでは図示しないが、ＦＡＸ  Ｉ／Ｆを使用して、スキャン画像データを電話回線を使用してファクシミリ送信する構成も可能である。また、記憶部１１１にスキャン画像データを保存せずに、そのスキャン画像データをデータ処理部１１５にて各種の送信に関する画像処理を施した後に、直接送信することも可能である。
【００４１】
「印刷機能」
印刷部１１２による印刷機能においては、例えば、クライアントＰＣ１０２から出力された印刷データをネットワークＩ／Ｆ１１４経由でデータ処理部１１５が受信し、データ処理部１１５は、その印刷データを印刷部１１２で印刷可能なラスタデータに変換した後、印刷部１１２によって印刷媒体上に画像を形成する。
【００４２】
「ベクトルスキャン機能」
上述のコピー機能、保存機能、送信機能時等で、スキャン画像データを生成し、このスキャン画像データに対して、文字領域はＴｅｘｔコードに変換したり、細線や図形領域は関数化してコード化するベクトル化処理を施す一連の処理を実行する機能を、ベクトルスキャン機能と定義している。つまり、実施形態１では、原稿をスキャンして、それによって得られる入力画像データをベクトルデータに変換するまでの処理を、ベクトルスキャンと定義している。
【００４３】
このベクトルスキャン機能を使用することで、ベクトルイメージのスキャン画像データを容易に生成することができる。
【００４４】
このベクトルスキャン機能では、上述のように、スキャン画像データに対して、文字部分は文字コードやアウトライン化し、細線やイラスト等は、その直線、曲線を関数化し、表等は表データとして処理する。そのため、通常のラスタイメージのスキャン画像データとは異なり、原稿中のオブジェクト個々を再利用することが容易である。
【００４５】
例えば、コピー機能時にベクトルスキャン機能を実行すると、ラスタスキャンでコピーするよりも文字や細線再現で高画質とすることが可能になる。
【００４６】
また、保存機能時には、ラスタスキャン（画像読取部１１０からの入力）時ではラスタデータとして画像圧縮を行うため、容量が大きくなってしまうが、ベクトルスキャン機能によりコード化や関数化することで、そのファイル容量は非常に小さくなる。
【００４７】
更に、送信機能時においても、ベクトルスキャン機能を実行すると、得られるデータの容量が小さいために送信にかかる時間を短縮でき、さらには各オブジェクトがベクトル化されているので、送信先のクライアントＰＣ１０２上等の外部端末で、個々のオブジェクトを部品として再利用することが可能になる。
【００４８】
以上、各種機能を実行するためのＭＦＰ１００への操作者の指示は、ＭＦＰ１００に装備されたキー操作部やタッチパネルからなる入力部１１３及び表示部１１６から行われ、これら一連の動作はデータ処理部１１５内の制御部（不図示）で制御される。また、操作入力の状態表示及び処理中の画像データの表示は、表示部１１６で行われる。
【００４９】
記憶部１１１は、例えば、大容量のハードディスクで実現される。また、記憶部１１１は、画像読取部１１０で読み取った画像データや、クライアント１０１から送信された画像データを記憶管理するデータベースを構成している。
【００５０】
特に、本発明では、画像データのイメージデータと、そのイメージデータをベクトル化することによって得られるベクトルデータファイルを対応づけて管理することができる。また、用途や目的によっては、イメージデータ及びベクトルデータファイルの少なくとも一方を管理する構成としても良い。
【００５１】
また、記憶部１１１では、後述する処理によって得られる読取原稿画像に対応するベクトルデータをオリジナルベクトルデータとして記憶するオリジナル用バッファと、そのオリジナルベクトルデータに基づく画像編集を行う場合に、そのオリジナルベクトルデータをコピーしたデータを画像編集用データとして記憶する画像編集用バッファが確保されていても良い。
【００５２】
［処理概要］
次に、実施形態１の画像処理システムで実行する処理全体の概要を、図３を用いて説明する。
【００５３】
図３は本発明の実施形態１の画像処理システムが実行する処理全体の概要を示すフローチャートである。
【００５４】
まず、ステップＳ１２１で、ＭＦＰ１００の画像読取部１１０に原稿をセットし、入力部１１３に備わる機能選択キーにより、コピー機能、保存機能、送信機能等の各種機能の内、所望の機能の選択を受け付ける。そして、この選択に応じて、装置に対する初期設定を実行する。
【００５５】
また、実施形態１では、この機能の選択の１つとして、画像中のブロック（オブジェクト）の傾きを補正する「自動ブロック傾き補正」モードのＯＮ／ＯＦＦ設定がある。
【００５６】
ステップＳ１２２で、入力部１１３に備わるベクトルスキャン選択キーによる操作に基づいて、ベクトルスキャンを選択する。
【００５７】
尚、ベクトルスキャンとは、上述した通り、読取原稿画像の入力画像データ（ラスタ画像データ）に対して、文字領域はＴｅｘｔコードに変換したり、細線や図形領域は関数化してコード化するベクトル化処理を施す一連の処理を意味する。つまり、原稿をスキャンして、それによって得られる入力画像データをベクトルデータに変換するまでの処理を、ベクトルスキャンと定義している。また、ベクトルスキャンで実行するベクトル化処理の詳細については、図５以降で説明する。
【００５８】
続けて、ステップＳ１２３で、ベクトルスキャンを動作させるためのスタートキーが操作されると、画像読取部１１０にセットされた原稿画像を読み取り、ベクトルスキャンを実行する。
【００５９】
ベクトルスキャンでは、まず、１枚の原稿をラスタ状に走査して読み取り、例えば、６００ＤＰＩ−８ビットの画像信号を得る。そして、ステップＳ１２４で、この画像信号を、データ処理部１１５で前処理を施し、記憶部１１１に１ページ分の画像データとして保存する。
【００６０】
データ処理部１１５のＣＰＵは、記憶部１１１に保存された画像データに対して、ステップＳ１２５及びステップＳ１２７でベクトル化処理のための前処理を実行し、また、ステップＳ１２８でベクトル化処理を行う。
【００６１】
まず、ステップＳ１２５で、データ処理部１１５において、ブロックセレクション（ＢＳ）処理を行う。
【００６２】
具体的には、記憶部１１１に格納された処理対象の画像信号を、まず、文字／線画部分とハーフトーン画像部分とに領域分割し、文字／線画部分は更に段落で塊として纏まっているブロック毎に、あるいは線で構成された表、図形毎に分割する。
【００６３】
一方、ハーフトーン画像部分は、矩形に分離されたブロックの画像部分、背景部分等の、所謂ブロック毎に独立したオブジェクト（ブロック）に分割する。
【００６４】
次に、ステップＳ１２６で、ステップＳ１２５のブロックセレクション処理で得られた各ブロックの傾きを検出する傾き角度検出処理を実行する。
【００６５】
次に、ステップＳ１２７で、ステップＳ１２５のブロックセレクション処理で得られた文字ブロックに対してＯＣＲ処理を行う。
【００６６】
そして、ＯＣＲ処理が施された文字ブロックに対しては、更に、ステップＳ１２８で、文字のサイズ、スタイル、字体（フォント）を認識し、原稿を走査して得られた文字に可視的に忠実なフォントデータに変換する。一方、線で構成される表、図形ブロックに対しては、アウトライン化／関数近似化する。また、画像ブロックに対しては、イメージデータとして個別のＪＰＥＧファイルに変換する。
【００６７】
例えば、Ｔｅｘｔ（文字）オブジェクトはフォントデータに変換される。Ｇｒａｐｈｉｃ（細線、図形）オブジェクトは、アウトライン化／関数近似化された関数としてベクトル化変換される。Ｔａｂｌｅ（表）オブジェクトは、表内の数値情報はフォントデータに変換し、表部はアウトライン化／関数近似化された関数としてベクトル変換され、各数値情報はセル情報として関連付けられ表オブジェクトとしてコード化される。
【００６８】
更に、Ｉｍａｇｅ（画像）オブジェクトは、画像読取部１１０の読取解像度６００ＤＰＩのまま低圧縮（例えば、低圧縮ＪＰＥＧ圧縮）を実行して保存される。また、ＢａｃｋＧｒｏｕｎｄ（背景）オブジェクトは、読取解像度６００ＤＰＩから低解像度（例えば、解像度３００ＤＰＩ）へ解像度変換を施した後に高圧縮（例えば、高圧縮ＪＰＥＧ圧縮）を実行して保存される。
【００６９】
尚、低圧縮及び高圧縮の定義は、例えば、所定圧縮率（例えば、５０％）より高い圧縮率での圧縮を高圧縮、所定圧縮率より低い圧縮率での圧縮を低圧縮とする。
【００７０】
ベクトル化処理の終了後、各オブジェクト（ブロック）のレイアウト情報を保存して、ベクトルデータファイルとして記憶部１１１に保存する。
【００７１】
次に、ステップＳ１２９で、ステップＳ１２８で得られたベクトルデータを、文書作成アプリケーションによって処理することが可能な、所定形式（例えば、ＲＴＦ（Ｒｉｃｈ  Ｔｅｘｔ  Ｆｏｒｍａｔ）形式やＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃ）形式等）のアプリケーションデータ（アプリデータ）に変換するアプリデータ変換処理を実行する。
【００７２】
次に、ステップＳ１３０で、予め設定されたモードに応じて、ベクトルデータとなっている、各オブジェクトを回転する傾き補正処理を実行する。この傾き補正処理に応じて、各オブジェクトのレイアウト情報を補正する。
【００７３】
記憶部１１１に保存されたベクトルデータファイルは、その後、ステップＳ１３０で、ベクトルスキャンの目的毎に、後処理を実行する。
【００７４】
後処理としては、例えば、コピー機能の場合には、各オブジェクトに最適な色処理、空間周波数補正等の画像処理が施された後、印刷部１１２より印刷される。また、保存機能の場合には、記憶部１１１に記憶保持される。また、送信機能の場合には、汎用のファイル形式として、例えば、ＲＴＦ（Ｒｉｃｈ  Ｔｅｘｔ  Ｆｏｒｍａｔ）形式に変換したり、ＳＶＧ形式に変換したりして、ファイル送信先で再利用可能なファイル形式にして変換して、ネットワークＩ／Ｆ１１４を介して送信先（例えば、クライアントＰＣ１０２）へファイル送信する。
【００７５】
以上の処理によって得られたベクトルデータファイルは、読取原稿画像に可視的に非常に近い状態のベクトル情報が編集可能な形式で全て含まれており、それらを直接加工、再利用したり、あるいは蓄積、伝送、再印刷を行うことが可能になる。
【００７６】
これらの処理で生成されたベクトルデータファイルは、文字や細線等を記述コードで表現するため、単純にイメージデータ（ラスタビットマップデータ）を直接扱う場合と比較して情報量が削減され、蓄積効率が高まり、伝送時間が短縮され、また記録／表示する際には高品位なデータとして非常に優位となる。
【００７７】
［入力部１１３と表示部１１６の説明］
図４Ａ〜図４Ｃは本発明の実施形態１の操作画面の一例を示す図である。
【００７８】
特に、この操作画面は、入力部１１３と表示部１１６によって構成される操作画面の一例である。
【００７９】
操作画面１００００は、入力部１１３と表示部１１６が一体になっている操作画面構成であり、この例では、入力部１１３と表示部１１６は、ＬＣＤとタッチパネルから構成されるものとするが、もちろん入力部１１３としてのハードキーもしくはマウスポインタ、表示部１１６としてのＣＲＴ等で独立に構成されていても構わない。
【００８０】
図４Ａの操作画面１００００は、実施形態１のＭＦＰ１００の基本操作画面である。実施形態１におけるベクトルスキャン機能の選択は、操作画面１００００の例では、応用モードキー１０００００内に入っているものとする。
【００８１】
また、コピー機能を選択する際にはキー１００００１、送信機能（送信／ファックス機能）を選択する際にはキー１００００２、保存機能（ボックス機能）を選択する際にはキー１００００３を押下すると、操作画面１００００は、選択された機能に応じた画面表示へと切り替わる。この例では、コピー機能を選択した場合の表示例を示している。
【００８２】
応用モードキー１０００００を押下すると、操作画面１００００は、応用モードとしてＭＦＰ１００で用意されている各種モードからなる、図４Ｂの応用モード画面１０００１に切り替わる。
【００８３】
図４Ｂの応用モード画面１０００１において、Ｖｅｃｔｏｒｉｚｅキー１０００１０が、上述のベクトルスキャン機能を動作可能にする選択キーである（図３のステップＳ１２２）。このＶｅｃｔｏｒｉｚｅキー１０００１０を押下すると、図４Ｃの操作画面１０００２が表示される。
【００８４】
操作画面１０００２において、読込開始キー１０００２０は、原稿読取のスキャン開始を指示するためのキーであり、このキーを押下すると原稿を読み取る。また、傾き補正キー１０００２１は、ベクトルスキャン対象の原稿中のオブジェクトの傾き角度検出処理（ステップＳ１２６）の実行のＯＮ／ＯＦＦを設定するためのキーである。つまり、上述の「自動ブロック傾き補正」モードのＯＮ／ＯＦＦを設定することが可能である。
【００８５】
特に、傾き角度検出処理を実行する場合には、傾き補正キー１０００２１を押下した後、読込開始キー１０００２０を押してスキャン動作を開始する。
【００８６】
尚、傾き補正キー１０００２１は、操作画面１０００２に構成されている必要はなく、別の専用画面で構成されたり、デフォルト設定として「自動ブロック傾き補正」モードをＯＮに設定しても良い。
【００８７】
＜ブロックセレクション処理＞
次に、図３のステップＳ１２５のブロックセレクション処理の詳細について説明する。
【００８８】
ブロックセレクション処理とは、例えば、図５（ａ）のラスタ画像を、図５（ｂ）のように、意味のあるブロック毎の塊として認識し、該ブロック各々の属性（Ｔｅｘｔ／Ｇｒａｐｈｉｃ／Ｉｍａｇｅ／Ｔａｂｌｅ等）を判定し、異なる属性を持つブロックに分割する処理である。
【００８９】
ブロックセレクション処理の実施形態を以下に説明する。
【００９０】
まず、入力画像を白黒に二値化し、輪郭線追跡を行って黒画素輪郭で囲まれる画素の塊を抽出する。面積の大きい黒画素の塊については、内部にある白画素に対しても輪郭線追跡を行って白画素の塊を抽出、さらに一定面積以上の白画素の塊の内部からは再帰的に黒画素の塊を抽出する。
【００９１】
このようにして得られた黒画素の塊を、大きさ及び形状で分類し、異なる属性を持つブロックへ分類していく。例えば、縦横比が１に近く、大きさが一定の範囲のブロックは文字相当の画素塊とし、さらに近接する文字が整列良くグループ化可能な部分を文字ブロック、扁平な画素塊を線ブロック、一定大きさ以上でかつ矩形の白画素塊を整列よく内包する黒画素塊の占める範囲を表ブロック、不定形の画素塊が散在している領域を写真ブロック、それ以外の任意形状の画素塊を図画ブロックとする。
【００９２】
そして、ブロックセレクション処理では、各ブロックを特定するブロックＩＤを発行し、各ブロックの属性（画像、文字等）、サイズやオリジナル文書内の位置（座標）と各ブロックを関連付けて記憶部１１１にブロック情報として記憶する。また、これらのブロック情報は、以降に詳細を説明するステップＳ１２８のベクトル化処理で利用される。
【００９３】
ここで、ブロック情報の一例について、図６Ａを用いて説明する。
【００９４】
図６Ａは本発明の実施形態１のブロック情報の一例を示す図である。
【００９５】
図６Ａに示すように、ブロック情報は、各ブロックの属性を示すブロック属性（１：ＴＥＸＴ、２：ＧＲＡＰＨＩＣ、３：ＴＡＢＬＥ、４：ＬＩＮＥ、５：ＩＭＡＧＥ）、ブロックの４隅の位置座標（Ｘａ，Ｙａ）〜（Ｘｄ，Ｙｄ）、ブロックの幅Ｗ及び高さＨ、ブロックのＯＣＲ情報（テキストデータ）の有無で構成されている。
【００９６】
ここで、ブロックの位置座標（Ｘａ，Ｙａ）とは、例えば、原稿画像の左上角を原点（０，０）とした場合の左上角の位置座標であり、（Ｘｂ，Ｙｂ）が右上角、（Ｘｃ，Ｙｃ）が左下角、（Ｘｄ，Ｙｄ）が右下角の位置座標となる。また、幅Ｗ及び高さＨは、例えば、画素数で表現される。また、このブロック情報に加えて、ブロックセレクション処理では、原稿画像（入力ファイル）に存在するブロック数Ｎを示す入力ファイル情報を生成する。図６Ａの例の場合、入力ファイル情報はＮ＝６となる。
【００９７】
＜傾き角度検出処理＞
次に、図３のステップＳ１２６び傾き角度検出処理の詳細について説明する。
【００９８】
この傾き角度検出処理は、図６Ａのブロック情報中の各ブロックの座標情報を参照して、各ブロックの傾き角度を検出する。
【００９９】
例えば、図６Ｂのように、あるブロックの座標が（Ｘａ，Ｙａ）〜（Ｘｄ，Ｙｄ）で表されているとすると、所定方向（例えば、水平方向：正常の向きで読み取られた原稿画像の上辺と同一方向）に対して、ブロックの上辺の傾き角度θは、ｔａｎ-１（（Ｙｂ−Ｙａ）／（Ｘｂ−Ｘａ））で表される。同様に、ブロックの下辺、右辺、左辺についても傾きを算出することで、水平方向に対するブロックの傾き（角度）が検出可能である。
【０１００】
特に、ブロックが長方形の場合は各辺の傾きは同じになる。これら検出された４つの角度の内、いずれか１つまたはそれらの平均値をブロックの傾き角度として、記憶部１１１に一時記憶し、他のブロックについても同様の処理を行う。
【０１０１】
尚、ブロックの傾き角度の検出方法は、各ブロック毎の傾き角度が検出できる方法であれば、上記の方法に限定されるものではない。
【０１０２】
＜ＯＣＲ処理＞
次に、図３のステップＳ１２７のＯＣＲ処理の詳細について説明する。
【０１０３】
ここでは公知のＯＣＲ処理技術を使用して、文字認識処理を行う。
【０１０４】
『文字認識処理』
文字認識処理では、文字ブロックから文字単位で切り出された文字画像に対し、パターンマッチの一手法を用いて文字認識を行い、対応する文字コードを取得する。特に、この文字認識処理は、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルと、あらかじめ字種毎に求められている辞書特徴ベクトルとを比較し、最も距離の近い字種を認識結果とするものである。
【０１０５】
特徴ベクトルの抽出には種々の公知手法があり、例えば、文字をメッシュ状に分割し、各メッシュブロック内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴とする方法がある。
【０１０６】
そして、文字ブロックに対して文字認識処理を行う場合は、まず、該当文字ブロックに対し、横書き／縦書きの判定を行い、各々対応する方向に文字列を切り出し、その後、文字列から文字を切り出して文字画像を取得する。
【０１０７】
横書き／縦書きの判定は、該当文字ブロック内で画素値に対する水平／垂直の射影を取り、水平射影の分散が大きい場合は横書き、垂直射影の分散が大きい場合は縦書きと判定する。文字列及び文字への分解は、横書きの文字ブロックである場合には、その水平方向の射影を利用して行を切り出し、さらに切り出された行に対する垂直方向の射影から、文字を切り出すことで行う。一方、縦書きの文字ブロックに対しては、水平と垂直を逆にすれば良い。
【０１０８】
尚、この文字認識処理によって、文字のサイズを検出することができる。
【０１０９】
＜ベクトル化処理＞
次に、図３のステップＳ１２８のベクトル化処理の詳細について説明する。
【０１１０】
まず、ステップＳ１２７のＯＣＲ処理によって得られた文字ブロックの各文字に対してフォント認識処理を行う。
【０１１１】
『フォント認識処理』
文字認識処理の際に用いる、字種数分の辞書特徴ベクトルを、文字形状種、即ち、フォント種に対して複数用意し、マッチングの際に文字コードとともにフォント種を出力することで、文字のフォントを認識することができる。
【０１１２】
『文字のベクトル化処理』
以上の文字認識処理及びフォント認識処理によって得られた、文字コード及びフォント情報を用いて、各々あらかじめ用意されたアウトラインデータを用いて、文字部分の情報をベクトルデータに変換する。尚、原稿画像がカラー画像の場合は、そのカラー画像から各文字の色を抽出してベクトルデータとともに記録する。
【０１１３】
以上の処理により、文字ブロックに属するイメージ情報を、ほぼ形状、大きさ、色が忠実なベクトルデータに変換できる。
【０１１４】
『文字以外の部分のベクトル化処理』
次に、文字ブロック以外の図画あるいは線、表ブロックについては、そのブロック中で抽出された画素塊の輪郭をベクトルデータに変換する。
【０１１５】
具体的には、輪郭をなす画素の点列を角と看倣される点で区切って、各区間を部分的な直線あるいは曲線で近似する。角とは曲率が極大となる点であり、曲率が極大となる点は、図７に示すように、任意点Ｐｉに対し左右ｋ個の離れた点Ｐｉ−ｋ、Ｐｉ＋ｋの間に弦を引いたとき、この弦とＰＩの距離が極大となる点として求められる。
【０１１６】
また、Ｐｉ−ｋ、Ｐｉ＋ｋ間の弦の長さ／弧の長さをＲとし、Ｒの値が閾値以下である点を角とみなすことができる。角によって分割された後の各区間は、直線は点列に対する最小二乗法等の計算式を用いて、また、曲線は３次スプライン関数等の関数を用いてベクトル化することができる。
【０１１７】
また、対象が内輪郭を持つ場合、ブロックセレクション処理で抽出した白画素輪郭の点列を用いて、同様に部分的直線あるいは曲線で近似する。
【０１１８】
以上のように、輪郭の区分線近似を用いれば、任意形状の図形のアウトラインをベクトル化することができる。尚、原稿画像がカラー画像の場合は、そのカラー画像から図形の色を抽出してベクトルデータとともに記録する。
【０１１９】
また、図８に示すように、ある区間で外輪郭と、内輪郭あるいは別の外輪郭が近接している場合、２つの輪郭線をひとまとめにし、太さを持った線として表現することができる。
【０１２０】
具体的には、ある輪郭の各点Ｐｉから別輪郭上で最短距離となる点Ｑｉまで線を引き、各距離ＰＱｉが平均的に一定長以下の場合、注目区間はＰＱｉ中点を点列として直線あるいは曲線で近似し、その太さはＰＱｉの平均値とする。線や線の集合体である表罫線は、このような太さを持つ線の集合として効率よくベクトル表現することができる。
【０１２１】
尚、先に文字ブロックに対する文字認識処理を用いたベクトル化を説明したが、該文字認識処理の結果、辞書からの距離が最も近い文字を認識結果として用いるが、この距離が所定値以上の場合は、必ずしも本来の文字に一致せず、形状が類似する文字に誤認識している場合が多い。
【０１２２】
従って、実施形態１では、このような文字ブロックに対しては、一般的な線画と同じに扱い、その文字ブロックをアウトライン化する。即ち、従来の文字認識処理で誤認識を起こす文字に対しても誤った文字にベクトル化されず、可視的にイメージデータに忠実なアウトライン化によるベクトル化が行える。
【０１２３】
また、画像ブロックに対しては、そのままイメージデータとして、ベクトル化は実行しない。
【０１２４】
次に、ベクトル化処理によって得られたベクトルデータを図形ブロック毎にグループ化するグループ化処理について、図９を用いて説明する。
【０１２５】
図９は本発明の実施形態１のベクトルデータのグループ化処理を示すフローチャートである。
【０１２６】
特に、図９では、ベクトルデータを図形ブロック毎にグループ化する処理について説明する。
【０１２７】
まず、ステップＳ７００で、各ベクトルデータの始点、終点を算出する。次に、ステップＳ７０１で、各ベクトルデータの始点、終点情報を用いて、図形要素を検出する。
【０１２８】
ここで、図形要素の検出とは、区分線が構成している閉図形を検出することである。検出に際しては、閉形状を構成する各ベクトルはその両端にそれぞれ連結するベクトルを有しているという原理を応用し、検出を行う。
【０１２９】
次に、ステップＳ７０２で、図形要素内に存在する他の図形要素、もしくは区分線をグループ化し、一つの図形オブジェクトとする。また、図形要素内に他の図形要素、区分線が存在しない場合は図形要素を図形オブジェクトとする。
【０１３０】
次に、図９のステップＳ７０１の処理の詳細について、図１０を用いて説明する。
【０１３１】
図１０は本発明の実施形態１のステップＳ７０１の処理の詳細を示すフローチャートである。
【０１３２】
まず、ステップＳ７１０で、ベクトルデータより両端に連結していない不要なベクトルを除去し、閉図形構成ベクトルを抽出する。
【０１３３】
次に、ステップＳ７１１で、閉図形構成ベクトルの中から該ベクトルの始点を開始点とし、時計回りに順にベクトルを追跡する。そして、この追跡を、開始点に戻るまで行い、通過したベクトルを全て一つの図形要素を構成する閉図形としてグループ化する。また、閉図形内部にある閉図形構成ベクトルも全てグループ化する。さらにまだグループ化されていないベクトルの始点を開始点とし、同様の処理を繰り返す。
【０１３４】
最後に、ステップＳ７１２で、ステップＳ７１０で除去された不要ベクトルの内、ステップＳ７１１で閉図形としてグループ化されたベクトルに接合しているもの（閉図形連結ベクトル）を検出し、一つの図形要素としてグループ化する。
【０１３５】
以上の処理によって、図形ブロックを個別に再利用可能な個別の図形オブジェクトとして扱うことが可能になる。
【０１３６】
次に、上述の図３のステップＳ１２５のブロックセレクション処理、ステップＳ１２７のＯＣＲ処理、ステップＳ１２８のベクトル化処理によって得られるデータは、図１１に示す中間データ形式のファイルとして変換されている。ここで、このようなデータ形式は、ドキュメント・アナリシス・アウトプット・フォーマット（ＤＡＯＦ）と呼ばれる。
【０１３７】
ここで、ＤＡＯＦのデータ構造について、図１１を用いて説明する。
【０１３８】
図１１は本発明の実施形態１のＤＡＯＦのデータ構造を示す図である。
【０１３９】
図１１において、Ｈｅａｄｅｒ７９１では、処理対象の原稿画像に関する情報が保持される。レイアウト記述データ部７９２では、原稿画像中のＴｅｘｔ（文字）、Ｔｉｔｌｅ（タイトル）、Ｃａｐｔｉｏｎ（キャプション）、Ｌｉｎｅａｒｔ（線画）、Ｐｉｃｔｕｒｅ（自然画）、Ｆｒａｍｅ（枠）、Ｔａｂｌｅ（表）等の属性毎に認識された各ブロックの属性情報とその矩形アドレス情報を保持する。
【０１４０】
文字認識記述データ部７９３では、Ｔｅｘｔ、Ｔｉｔｌｅ、Ｃａｐｔｉｏｎ等のＴｅｘｔブロックを文字認識して得られる文字認識結果を保持する。
【０１４１】
表記述データ部７９４では、Ｔａｂｌｅブロックの構造の詳細を格納する。画像記述データ部７９５は、ＧｒａｐｈｉｃやＩｍａｇｅ等のブロックのイメージデータを画像データから切り出して保持する。
【０１４２】
このようなＤＡＯＦは、中間データとしてのみならず、それ自体がファイル化されて保存される場合もあるが、このファイルの状態では、所謂一般の文書作成アプリケーションで個々のオブジェクト（ブロック）を再利用することはできない。
【０１４３】
そこで、実施形態１では、このＤＡＯＦから文書作成アプリケーションで利用可能なアプリデータに変換するアプリデータ変換処理を、図３のステップＳ１２８のベクトル化処理後に、あるいは図３のステップＳ１３０の後処理の一部として実行する。
【０１４４】
＜アプリデータ変換処理＞
以下、このアプリデータ変換処理の詳細について、図１２を用いて説明する。
【０１４５】
図１２は本発明の実施形態１のアプリデータ変換処理の詳細を示すフローチャートである。
【０１４６】
まず、ステップＳ８０００で、ＤＡＯＦデータの入力を行う。次に、ステップＳ８００２で、アプリデータの元となる文書構造ツリーを生成する。そして、ステップＳ８００４で、文書構造ツリーを元に、ＤＡＯＦ内の実データを流し込み、実際のアプリデータを生成する。
【０１４７】
次に、図１２のステップＳ８００２の処理の詳細について、図１３を用いて説明する。
【０１４８】
図１３は本発明の実施形態１のステップＳ８００２の処理の詳細を示すフローチャートである。また、図１４は本発明の実施形態１の文書構造ツリーの説明図である。
【０１４９】
尚、図１３の処理において、全体制御の基本ルールとして、処理の流れは、ミクロブロック（単一ブロック）からマクロブロック（ブロックの集合体）へ移行する。
【０１５０】
以後、ブロックとは、ミクロブロック及びマクロブロック全体を指す。
【０１５１】
まず、ステップＳ８１００で、ブロック単位で縦方向の関連性を元に再グループ化する。スタート直後は、ミクロブロック単位での判定となる。
【０１５２】
ここで、関連性とは、距離が近い、ブロック幅（横方向の場合は高さ）がほぼ同一であることなどで定義することができる。また、距離、幅、高さなどの情報はＤＡＯＦを参照し、抽出する。
【０１５３】
例えば、図１４（ａ）は実際の原稿画像のページ構成、図１４（ｂ）はその文書構造ツリーである。ステップＳ８１００の処理によって、ブロックＴ３、Ｔ４、Ｔ５が一つのグループＶ１、ブロックＴ６、Ｔ７が一つのグループＶ２が同階層グループとして、まず生成される。
【０１５４】
ステップＳ８１０２で、縦方向のセパレータの有無をチェックする。セパレータとは、例えば、物理的にはＤＡＯＦ中で線の属性を持つブロックである。また、論理的な意味としては、文書作成アプリケーション中で明示的にブロックを分割する要素である。ここでセパレータを検出した場合は、同じ階層で再分割する。
【０１５５】
ステップＳ８１０４で、分割がこれ以上存在し得ないか否かを縦方向のグループ長を利用して判定する。具体的には、縦方向のグループ長が原稿画像のページ高さであるか否かを判定する。縦方向のグループ長がページ高さである場合（ステップＳ８１０４でＹＥＳ）、処理を終了する。一方、縦方向のグループ長がページ高さでない場合（ステップＳ８１０４でＮＯ）、ステップＳ８１０６に進む。
【０１５６】
図１４（ａ）の原稿画像の場合は、セパレータもなく、グループ長はページ高さではないので、ステップＳ８１０６に進む。
【０１５７】
ステップＳ８１０６で、ブロック単位で横方向の関連性を元に再グループ化する。ここもスタート直後の第一回目はミクロブロック単位で判定を行うことになる。また、関連性、及びその判定情報の定義は、縦方向の場合と同じである。
【０１５８】
図１４（ａ）の原稿画像の場合は、ブロックＴ１、Ｔ２でグループＨ１、グループＶ１、Ｖ２でグループＨ２、グループＶ１、Ｖ２の階層の１つ上の同階層グループとして生成される。
【０１５９】
ステップＳ８１０８で、横方向セパレータの有無をチェックする。図１４（ａ）では、Ｓ１が横方向セパレータとなっているので、これを文書構造ツリーに登録し、Ｈ１、Ｓ１、Ｈ２という階層が生成される。
【０１６０】
ステップＳ８１１０で、分割がこれ以上存在し得ないか否かを横方向のグループ長を利用して判定する。具体的には、横方向のグループ長がページ幅であるか否かを判定する。横方向のグループ長がページ幅である場合（ステップＳ８１１０でＹＥＳ）、処理を終了する。一方、横方向のグループ長がページ幅でない場合（ステップＳ８１１０でＮＯ）、ステップＳ８１０２に戻り、再びもう一段上の階層で、ステップＳ８１００以降の処理を実行する。
【０１６１】
図１４の場合は、横方向のグループ長がページ幅となるので、ステップＳ８１１０で処理を終了し、最後に、ページ全体を表す最上位階層のＶ０が文書構造ツリーに付加される。
【０１６２】
文書構造ツリーが完成した後、その文書構造ツリーに基づいて、図１３のステップＳ８００４で、アプリデータの生成を行う。
【０１６３】
図１４の場合は、具体的には、以下のようにして、アプリデータを生成する。
【０１６４】
即ち、Ｈ１は横方向に２つのブロックＴ１とＴ２があるので、２カラムとして出力し、ブロックＴ１の内部情報（ＤＡＯＦを参照、文字認識結果の文章、画像など）を出力し、その後、カラムを変え、ブロックＴ２の内部情報を出力、その後、Ｓ１を出力する。
【０１６５】
次に、Ｈ２は横方向に２つのブロックＶ１とＶ２があるので、２カラムとして出力し、ブロックＶ１はＴ３、Ｔ４、Ｔ５の順にその内部情報を出力し、その後、カラムを変え、ブロックＶ２のＴ６、Ｔ７の内部情報を出力する。
【０１６６】
以上のようにして、ＤＡＯＦからアプリデータへの変換処理を実行する。
【０１６７】
＜傾き補正処理＞
次に、図３のステップＳ１３０の傾き補正処理の詳細について説明する。
【０１６８】
まず、「自動ブロック傾き補正」モードがＯＮに設定されている場合には、以下の処理を行う。
【０１６９】
ステップＳ１２６で検出された各ブロックの傾き角度を参照して、各ブロック毎に傾き方向とは逆に傾き角度分回転することにより、傾き補正を行う。このとき、傾き補正は、各ブロックの中心位置を変えないように回転処理を行うことにより、各ブロック間のレイアウトを変更せずに回転することができる。
【０１７０】
また、実施形態１のように、各ブロックがベクトルデータで構成されている場合には、この回転処理を容易に実行することができる。
【０１７１】
例えば、ＳＶＧ形式のベクトルデータの図形ブロックを回転するには、ｒｏｔａｔｅコマンドを使用して、回転角度ａｎｇｌｅのパラメータを指定すればよい。
【０１７２】
また、傾き補正することにより、傾き補正後の各ブロックが重なる場合は、重なるブロックを縮小することにより、ブロック間の重複を避けることが可能となる。
【０１７３】
例えば、図１５（ａ）において、傾き補正処理前のブロックＡ及びＢに対し、ブロックＡが傾き補正処理によって、図１５（ｂ）のように、ブロックＡとＢが重なる場合には、図１５（ｃ）のように、ブロックＡを縮小することにより、ブロックＡとＢの重なりをなくすことが可能となる。
【０１７４】
例えば、ＳＶＧ形式のベクトルデータでは、ｓｃａｌｅコマンドを使用して、ブロックＡのｘ，ｙ方向の拡大縮小率をパラメータとして指定すれば良い。
【０１７５】
また、ブロック間の重なりをなくすために、ブロックＡを傾き補正処理後に平行移動することも可能である。この場合、他のブロックと重なったり、原稿枠からはみ出さない範囲で移動することが望ましい。
【０１７６】
例えば、ＳＶＧ形式のベクトルデータでは、ｔｒａｎｓｌａｔｅコマンドを使用して、ブロックＡのｘ，ｙ方向の移動量をパラメータとして指定すれば良い。
【０１７７】
同様にして、ブロックＢも縮小することも可能である。そのため、原稿画像中の任意のブロックを所定の縮小率で縮小する場合には、残りのブロックも同じ縮小率で縮小して、全体的なレイアウトバランスをより好適に保つようにすることも可能である。
【０１７８】
以上説明したように、実施形態１によれば、画像を属性毎に複数のオブジェクトに分割し、得られた各オブジェクトの傾きを検出するとともに、そのオブジェクトに対応するベクトルデータを生成する。そして、検出した傾きに基づいて、各オブジェクトを、そのベクトルデータを用いて傾き補正を実行する。
【０１７９】
特に、ベクトルデータを用いて、傾き補正を実行することで、容易にかつ精度良く、高速に各オブジェクトの傾き補正を実行することができる。また、ベクトルデータの形式で画像を管理することで、画像劣化を発生せずに、その画像の再利用（再編集）を容易に実現することができる。
【０１８０】
尚、オブジェクトの傾き検出は、ブロックセレクション処理によって得られた各オブジェクトのブロック情報に基づいて実行したが、ベクトル化処理後の各オブジェクトのベクトルデータに基づいて実行しても良い。
【０１８１】
＜実施形態２＞
実施形態１では、「自動ブロック傾き補正」モードをＯＮに設定して、ベクトルスキャンを実行した場合には、自動的に傾き補正処理が実行される構成について説明した。これに対し、実施形態２では、画像読取後に、その画像のブロックセレクション処理後の画像のプレビュー表示を行い、最終的なベクトルデータを生成する前に、ベクトル化処理の状況及び傾き補正処理の状況を予め確認することが可能な構成について説明する。
【０１８２】
実施形態２では、図４Ｃの操作画面１０００２において、読込開始キー１０００２０を押下すると、スキャン動作が開始され原稿を読み取る。原稿の読取が終了すると、図１６の操作画面１０００３に表示が切り替わる。
【０１８３】
尚、実施形態２では、図３のステップＳ１２３で入力した読取原稿画像に対して、図３のステップＳ１２５のブロックセレクション処理までの処理を実行して、その処理結果（オブジェクト化処理結果）を、例えば、記憶部１１１に一旦格納する。
【０１８４】
そして、図１６の操作画面１０００３では、この処理結果を含む画像１０００２９が表示され、その画像１０００２９を構成する各オブジェクトが単位（属性）別に矩形枠に囲まれて表示される。
【０１８５】
各オブジェクトは、図３のステップＳ１２５のブロックセレクション処理で自動的に認識された属性毎に、異なる色の矩形枠で表現される。
【０１８６】
例えば、ＴＥＸＴ（文字）は赤、ＩＭＡＧＥ（写真）は黄色というように、各オブジェクトを囲む矩形枠を異なる色で表現することで、ブロックセレクション処理で分割された属性別のオブジェクトを容易に識別することができる。これにより、オペレータの視認性が向上する。もちろん異なる色ではなく、矩形枠を、その線の太さや形状（点線）等の他の表示形態で表現しても良い。また、各オブジェクト毎に、スクリーンをかけて表示しても構わない。
【０１８７】
画像１０００２９の初期の表示状態は、画像読取部１１０で読み取った際のイメージ（圧板イメージ）であるが、必要に応じて、拡大／縮小キー１０００３６を用いることで画像サイズを拡大／縮小することが可能である。また、拡大することによって、画像１０００２９の表示内容がその表示エリアを超えて視認できない場合には、スクロールキー１００３５を用いて画像１０００２９を上下左右に移動することで、その視認できない部分を確認することが可能である。
【０１８８】
図１６では、画像１０００２９の中央部の文字オブジェクト１０００３０（文字列「Ｗｅ  ａｒｅ  ａｌｗａｙｓ  ｗａｉｔｉｎｇ  ＹＯＵ！」）が選択されている状態を示している。特に、図１６では、選択状態のオブジェクトを、その属性を示す色（この場合、赤）の実線の矩形枠で、それ以外の非選択状態のオブジェクトはそれぞれの属性を示す色の破線の矩形枠で表示されている。このように、矩形枠の表示形態を選択状態と非選択状態に応じて異ならせることで、各オブジェクトの選択状態／非選択状態を容易に確認することができる。
【０１８９】
この例では、文字オブジェクト１０００３０が赤の実線の矩形枠で、グラフィックオブジェクト１０００３７が青の破線の矩形枠で、画像オブジェクト１０００３８が黄色の破線の矩形枠で、表オブジェクト１０００３９ａ及びｂが緑の破線の矩形枠で表示した場合の例を示しており、それ以外の残りの部分は背景オブジェクトとなる。
【０１９０】
尚、背景オブジェクトは、画像１０００２９を構成するオブジェクトを抽出した後の残りの画像部分であるので、特に、矩形枠を用いた表示を行っていない。しかしながら、背景指定という意味で、背景画像の外郭を他のオブジェクト同様に矩形枠で表示する構成としても良い。その際、他のオブジェクトを非表示にして、背景オブジェクトの視認性を向上させるようにしても良い。
【０１９１】
編集（例えば、文字オブジェクトであれば、文字オブジェクト中の文字列の編集、グラフィックオブジェクトであれば、そのグラフィックオブジェクトの色調整）を行うためのオブジェクトの選択は、例えば、直接、文字オブジェクト１０００３０内の領域をタッチして指定する方法と、オブジェクト選択キー１０００３２を用いて指定する方法がある。どちらの方法を用いても、選択されたオブジェクトの矩形枠は実線になり、非選択のオブジェクトの矩形枠は破線になる。
【０１９２】
また、それと同時に選択されているオブジェクトの属性に相当するオブジェクト属性キー１０００３１（この場合、Ｔｅｘｔ、それ以外に、Ｇｒａｐｈｉｃ、Ｔａｂｌｅ、Ｉｍａｇｅ、ＢａｃｈＧｒｏｕｎｄの種類が存在する）が選択される。この場合、その選択状態を示すために、該当するオブジェクト属性キーはスクリーン表示される。もちろん、これ以外にも、選択状態／非選択状態を示すことができれば、網掛け表示、ブリンク表示等の他の表示形態を用いることができる。
【０１９３】
尚、ＡＤＦを用いて、複数ページの原稿を読み込んだ場合は、操作画面１０００３の初期状態では、複数ページの先頭ページの画像が表示され、それ以降のページの画像については、ページ指定キー１０００３３を用いることで、所望するページの画像に切り換えることが可能である。
【０１９４】
選択されたオブジェクトのベクトル化の可否の設定（ベクトルデータとして確定（保存）するための設定）は、ＯＫキー１０００３４によって決定される。つまり、ＯＫキー１０００３４を押下すると、この表示されている画像１０００２９に対し、選択されている１つ以上のオブジェクトに対応するベクトル化処理が実行されることになる。一方、設定取消キー１０００４０を押下すると、この操作画面１０００３において実行された各種設定を破棄して、図４Ａの基本画面１００００に戻る。
【０１９５】
また、傾き補正キー１０００４１を押下すると、各ブロック（オブジェクト）の傾き角度を検出して、各ブロック毎に傾き補正処理を実行する。
【０１９６】
この傾き補正キー１０００４１を押下すると、図１７の操作画面１０００４が表示される。
【０１９７】
図１７に示すように、操作画面１０００４では、図１６の操作画面中の表オブジェクト１０００３９ａ及びｂが傾き補正されていることがわかる。ここで、ＯＫキー１０００３４を押下することにより、補正後のブロック（オブジェクト）に対応するベクトル化処理が実行されることになる。
【０１９８】
また、図１７の微調整キー１００４２は、傾き補正されたブロックの位置を微調整するための微調整画面（不図示）を呼び出すための画面であり、微調整画面では、ユーザが各ブロック毎に傾き補正されたブロックの位置や傾きを微調整することが可能である。
【０１９９】
この微調整の方法としては、例えば、回転角度や移動量を直接数値で入力したり、微調整画面に構成される回転方向や移動方向用のキーを操作する方法がある。
【０２００】
尚、傾き補正処理前後の画像は、異なる操作画面で表示する構成としているが、同一画面上に対照表示する構成とすることも可能である。
【０２０１】
［送信／ファックス操作仕様］
次に、ファイル送信／ファックスを行うための操作画面について、図１８Ａ〜図１８Ｃを用いて説明する。
【０２０２】
図１８Ａ〜図１８Ｃは本発明の実施形態１の操作画面の一例を示す図である。
【０２０３】
図１８Ａの操作画面１００１０は、ファイル送信／ファックスを行うための基本画面である。この操作画面１００１０による処理を実行する場合には、処理対象の原稿画像をＭＦＰ１００に読み込む場合の読込設定を行う必要があり、読込設定プルダウンメニュー１００１００から設定が可能である。これを押下すると、図１８Ｂの操作画面１００１１のように、プルダウンメニューが表示される。このプルダウンメニューでは、読込設定として、例えば、２００×２００ｄｐｉ、３００×３００ｄｐｉを選択することが可能である。
【０２０４】
次に、操作画面１００１１の詳細設定キー１００１１０を押下すると、図１８Ｃの操作画面１００１２（読込設定画面）が表示される。この操作画面１００１２の応用モードキー１００１２０を押下すると、図４Ｂの操作画面１０００１が表示される。
【０２０５】
［ボックス操作仕様］
次に、ＭＦＰ１００で読み取った画像データを内部の記憶部１１１に保存するため（ボックス機能）の操作画面について、図１９Ａ〜図１９Ｄを用いて説明する。
【０２０６】
図１９Ａ〜図１９Ｄは本発明の実施形態１の操作画面の一例を示す図である。
【０２０７】
図１９Ａの操作画面１００２０は、画像データを保存する（ボックス機能）ための基本画面である。現在、ＭＦＰ１００で管理されているボックス群（記憶単位）の内、ボックス００を示すボックスキー１００２００を押下すると、図１９Ｂの操作画面１００２１が表示される。
【０２０８】
操作画面１００２１において、原稿読込キー１００２１１を押下すると、原稿読込設定画面が表示される。この原稿読込設定画面は、送信／ファクスの操作仕様と同様で、図１８Ｃの操作画面１００１２が表示される。
【０２０９】
この例では、ボックス００に既に１つのデータファイルが格納されている状態を示しており、このデータファイルの行１００２１０を押下すると、そのデータファイルを選択して、そのデータファイルを処理対象とすることができる。
【０２１０】
図１９Ｃの操作画面１００２２は、データファイルを選択した場合の表示状態を示しており、この場合、選択された行１０２２０が反転表示（網掛表示）される。データファイルを選択すると、そのデータファイルの内容を確認することができ、その場合には画像表示キー１００２２２を押下することで、図１６の操作画面１０００３が表示される。
【０２１１】
同様に、図１９Ｃの操作画面１００２２で、プリントキー１００２２１を押下すると、図１９Ｄの操作画面１００２３が表示され、プリント設定が可能になる。ここで、応用モードキー１００２３０を押下すると、図４Ｂの画面１０００１が表示される。
【０２１２】
以上説明したように、実施形態２によれば、実施形態１で説明した効果に加えて、傾き補正処理前後の画像の状態を表示して、最終的に傾き補正処理の実行の有無をユーザに確認させることができる。
【０２１３】
このように、傾き補正処理の状態をユーザに確認させる機会を提供できるとともに、ユーザが意図しない傾き補正処理が実行されることを防止することができる。
【０２１４】
＜実施形態３＞
実施形態１では、自動的に傾き補正を含めたベクトルデータを生成する構成について説明した。また、実施形態２では、画像読取後に、傾き補正処理前の読取画像のプレビュー表示を行い、また、操作に応じて、傾き補正処理の状況を予め確認することが可能な構成について説明した。
【０２１５】
そして、実施形態１や２では、傾き補正処理の処理対象は、原稿画像中のすべての属性のオブジェクトとしているが、用途や目的に応じては、傾き補正処理の処理対象を所定の属性のオブジェクトのみとするようにしても良い。
【０２１６】
一般的に、文字や線、表等のオブジェクトは傾きがあると、その傾きの状態が特に目立つことが多い。また、ＪＰＥＧ圧縮された写真オブジェクトは、傾き補正処理で実行する回転処理を実現するために複雑な大規模回路が必要であったり、処理に時間がかかる場合が多い。更に、写真オブジェクトは、そのデータ内容によっては、少し傾いていても目立たなかったり、その状態が気にならない場合が多い。
【０２１７】
そこで、例えば、実施形態３では、所定属性（例えば、表）のオブジェクトのみ傾き補正処理を実行する。特に、表オブジェクトは通常斜めに配置することはないため、例えば、実施形態１や２の構成において、傾き補正処理の処理対象を、原稿画像中の表オブジェクトのみに設定して、傾き補正処理を実行する。
【０２１８】
また、実施形態２の構成において、表オブジェクトについては、先に傾き補正処理を実行しておき、その傾き補正処理結果と、傾き補正処理を実行していないそれ以外の他の属性のオブジェクトからなる画像をプレビュー表示するようにしても良い。
【０２１９】
以上説明したように、実施形態３によれば、実施形態１や２で説明した効果に加えて、最終的に傾き補正処理の実行の有無を画像中のオブジェクト単位で制御することができる。
【０２２０】
このように、用途や目的に応じて、異なる属性のオブジェクトそれぞれに対して好適な傾き補正処理を実行することができる。
【０２２１】
＜実施形態４＞
実施形態１〜３では、読取画像中のオブジェクトに対して、傾き補正処理を実行する構成を説明したが、印刷時に装置の搬送系の状態によっては、印刷用紙が斜行して、画像が印刷用紙に対して傾いた状態で印刷されるような場合がある。そこで、実施形態４では、印刷対象のベクトルデータ中のオブジェクトに対して傾き補正処理を適用することで、印刷用紙が傾いている場合でも、正常な位置で画像が印刷できる構成について説明する。
【０２２２】
まず、印刷部１１２の構成例について、図２０を用いて説明する。
【０２２３】
図２０は本発明の実施形態４の印刷部の構成例を示す図である。
【０２２４】
図２０は、印刷部１１２の一例として、４ドラムタイプのレーザビームプリンタを示している。
【０２２５】
図２０において、９１３はポリゴンミラーであり、４つの半導体レーザ発振器（不図示）より発光された４本のレーザ光を受ける。その内の１本は、ミラー９１４、９１５、９１６を経て感光ドラム９１７を走査する。次の１本は、ミラー９１８、９１９、９２０を経て感光ドラム９２１を走査する。更に、次の１本は、ミラー９２２、９２３、９２４を経て感光ドラム９２５を走査する。更に、次の１本は、ミラー９２６、９２７、９２８を経て感光ドラム９２９を走査する。
【０２２６】
一方、９３０はイエロー（Ｙ）のトナーを供給する現像器であり、レーザ光に従い、感光ドラム９１７上にイエローのトナー像を形成する。９３１はマゼンタ（Ｍ）のトナーを供給する現像器であり、レーザ光に従い、感光ドラム９２１上にマゼンタのトナー像を形成する。９３２はシアン（Ｃ）のトナーを供給する現像器であり、レーザ光に従い、感光ドラム９２５上にシアンのトナー像を形成する。９３３はブラック（Ｋ）のトナーを供給する現像器であり、レーザ光に従い、感光ドラム９２９上にブラックのトナー像を形成する。以上、４色（Ｙ，Ｍ，Ｃ，Ｋ）のトナー像が印刷用紙に転写され、フルカラーの出力画像を得ることができる。
【０２２７】
シートカセット９３４、９３５及び手差しトレイ９３６のいずれかより供給された印刷用紙は、レジストローラ９３７を経て、転写ベルト９３８上に吸着され、搬送される。給紙のタイミングと同期がとられて、予め感光ドラム９１７、９２１、９２５、９２９には各色のトナーが現像されており、印刷用紙の搬送とともに、各色トナーが印刷用紙に順次転写される。
【０２２８】
各色のトナーが転写された印刷用紙は、分離され、搬送ベルト９３９により搬送され、定着器９４０によって、トナーが印刷用紙に定着される。定着器９４０を抜けた印刷用紙はフラッパ９５０によりいったん下方向へ導かれて印刷用紙の後端がフラッパ９５０を抜けた後、スイッチバックさせて排出する。これによりフェイスダウン状態で排出され、先頭頁から順にプリントしたときに正しい順となる。
【０２２９】
尚、４つの感光ドラム９１７、９２１、９２５、９２９は、距離ｄをおいて、等間隔に配置されており、搬送ベルト９３９により、印刷用紙は一定速度ｖで搬送されており、このタイミング同期がなされて、４つの半導体レーザ発振器は駆動される。
【０２３０】
また、レジストローラ９３７の下流側の印刷用紙の搬送路には、搬送方向に対する印刷用紙の斜行状態（傾き）を検出する光学センサ９７１及び９７２が配置されており、この光学センサ９７１及び９７２による検出結果によって、印刷用紙の斜行状態を検出することができる。
【０２３１】
この印刷用紙の斜行状態（傾き）を検出する検出原理について、図２１を用いて説明する。
【０２３２】
図２１は本発明の実施形態４の印刷用紙の斜行状態（傾き）を検出する検出原理を説明するための図である。
【０２３３】
図２１は、図２０の印刷部１１８の光学センサ９７１及び９７２を上方から見た場合の配置図を示している。この光学センサ９７１及び９７２は、印刷用紙９７０が感光ドラム９１７の位置まで搬送される前の搬送路中に配置されている。
【０２３４】
印刷用紙９７０が斜めに傾いたまま、搬送路を搬送された場合は、光学センサ９７１及び９７２それぞれが、印刷用紙を検知するタイミングが異なることになる。そこで、各光学センサの検知時間差を算出する。また、光学センサ９７１及び９７２間の距離及び印刷用紙の搬送速度ｖは既知であるため、これらの既知値と検知時間差によって、印刷用紙９７０の搬送方向に対する斜行状態（傾き角度）を算出することが可能である。
【０２３５】
尚、この算出は、例えば、データ処理部１１５が実行する。
【０２３６】
実施形態４では、印刷用紙が傾いている場合でも、正常な位置で画像が印刷できるように、印刷対象のベクトルデータの傾き補正処理を含む印刷処理を実行する。
【０２３７】
以下、この時の傾き補正処理について、図２２を用いて説明する。
【０２３８】
図２２は本発明の実施形態４の印刷処理を示すフローチャートである。
【０２３９】
まず、ステップＳ１２０１で、初期設定として、用紙選択、プリント枚数等の印刷設定を実行する。この印刷設定は、例えば、図１９Ｄの操作画面１００２３を介して実行する。印刷指示（プリント開始）が実行されると、印刷用紙が指定されたシートカセット（９３４、９３５あるいは９３６）から搬出され、光学センサ９７１及び９７２を経てレジストローラ９３７の位置まで搬送され、そこで、一旦印刷用紙の搬送を停止する。
【０２４０】
ステップＳ１２０２で、光学センサ９７１及び９７２の検出結果に基づいて、印刷用紙の傾き角度を算出する。ステップＳ１２０３で、印刷用紙の傾きの有無を判定する。傾きがない場合（ステップＳ１２０３でＮＯ）、ステップＳ１２０５に進み、印刷対象のベクトルデータに基づく印刷を実行する。一方、傾きがある場合（ステップＳ１２０３でＹＥＳ）、ステップＳ１２０４に進む。
【０２４１】
尚、この傾きの有無は、理想的には、算出された傾き角度が０度以外は、傾きがあると判定することになるが、ある程度の算出誤差を考慮して、算出された傾き角度が所定角度（例えば、２度）以上の場合に傾きがあると判定しても良い。
【０２４２】
ステップＳ１２０４で、検出された傾き角度に基づいて、印刷対象のベクトルデータに対して、傾き方向の逆方向に回転する傾き補正処理を実行する。尚、印刷対象のベクトルデータが、複数ページ分のベクトルデータである場合には、各ページに対するベクトルデータに対して傾き補正処理を実行する。その後、ステップＳ１２０５で、傾き補正処理されたベクトルデータに基づく印刷を実行する。
【０２４３】
以上のように、ベクトルデータは回転処理を容易に行うことが可能であるため、印刷時の傾き補正処理も、実施形態１〜３のベクトルスキャン時の傾き補正処理と同様に、容易に実行することが可能となる。
【０２４４】
また、ベクトルスキャン後に続けて印刷を行うような場合には、ベクトルスキャン時の傾き補正処理と印刷時の傾き補正処理を同時に行うことも可能である。このとき、スキャン時の傾き補正角度と印刷時の傾き補正角度を合成することにより、一度の傾き補正処理（回転処理）で、スキャン時と印刷時で発生する傾きに対する傾き補正処理を実行することが可能となる。
【０２４５】
また、印刷処理の速度向上を期待したい場合には、ステップＳ１２０１で、印刷用紙の搬送を停止せずに、ステップＳ１２０２で、傾き角度検出を実行する構成にしても良い。この場合、データ処理部１１５の処理能力にもよるが、１枚目の印刷用紙に印刷するベクトルデータに対して、時間的に、検出結果に基づく傾き補正処理を実行できない可能性がある。そのため、このような構成の場合は、２枚目以降の印刷用紙に対して傾き補正処理済のベクトルデータを印刷し、１枚目の印刷用紙に対しては傾き補正処理を施していないベクトルデータが印刷されることになる。
【０２４６】
以上説明したように、実施形態４によれば、印刷時に、印刷用紙が斜行している状態でも、その状態に併せて、印刷対象のベクトルデータに傾き補正処理を実行することで、正常な位置で画像を印刷用紙に印刷することができる。
【０２４７】
尚、上記実施形態１〜４では、傾き角度に関わらず、傾き補正処理を実行する構成としているが、予め設定された所定角度（例えば、２０度）以上の傾きがあるオブジェクトに対しては、レイアウト上で予め意図的に斜め（傾けて）に配置されているオブジェクトと見なし、そのオブジェクトに対する傾き補正処理の実行を禁止する構成としても良い。
【０２４８】
あるいは、所定のベクトルデータファイルのレイアウト情報を参照して、傾き補正処理の実行の有無を制御することも可能である。また、スキャン時に画像の特徴を検索することにより、サーバ上に別途保存してあるその画像のオリジナルファイルデータのレイアウトや傾き角度を参照して、傾き補正処理の実行の有無を制御することも可能である。
【０２４９】
実施形態１〜４では、図１のＭＦＰ１００内に、入力されたラスタ画像データをベクトルデータファイルに変換するベクトル化処理機能（傾き補正処理を含む）を搭載して、ＭＦＰ１００上の入力部１１３及び表示部１１６を介して、各種操作を実行する構成について説明したが、これに限定されるものではない。
【０２５０】
例えば、ＭＦＰ１００を制御することが可能なマネージメントＰＣを構成し、このマネージメントＰＣ上の操作部で各種操作を行い、かつＭＦＰ１００で入力されたラスタ画像データをマネージメントＰＣに転送して、マネージメントＰＣ上でベクトル化処理等の各種処理を実行する構成としても良い。
【０２５１】
上記実施形態１〜３においては、処理対象の画像として、ＭＦＰ１００から読み取った画像に対して、図３の処理を実行する場合を例に挙げて説明したが、例えば、クライアントＰＣ１０１から受信する印刷データや、ネットワーク１０４を介して受信した画像データ（例えば、デジタルカメラで撮影された画像データ）に対して、図３の処理を実行することも可能である。
【０２５２】
上記実施形態１〜３においては、図１のオフィス１０内で実現する場合を例に挙げて説明したが、ネットワーク１０４上の他のオフィス内のＭＦＰや、ネットワーク１０４上のＭＦＰで実現する構成としても良い。
【０２５３】
画像処理システムとしては、ＭＦＰやマネージメントＰＣで実現する構成としているが、画像データを扱うことが可能な機器（例えば、デジタルカメラ、携帯端末（ＰＤＡ、携帯電話等））であれば、その機器で実現する構成としても良い。
【０２５４】
入力された画像データに対応するオリジナル画像が既にＭＦＰ１００の記憶部もしくはネットワーク上のサーバで管理されている場合には、そのオリジナル画像に対して、図３の処理を実行する構成としても良い。
【０２５５】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０２５６】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０２５７】
また、以上の実施形態では、ベクトルモードの指定をＭＦＰやマネージメントＰＣを操作して行うようにしたが、本発明はこれに限定されるものではない。例えば、原稿にマーカーペンで閉領域を書き込み、その閉領域で囲まれたオブジェクトを所望のベクトルモードに従ってベクトル化するようにするなど種々の変更が可能である。
【０２５８】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０２５９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０２６０】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０２６１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０２６２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０２６３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０２６４】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０２６５】
【図１】本発明の実施形態１の画像処理システムの構成を示すブロック図である。
【図２】本発明の実施形態１のＭＦＰの詳細構成を示す図である。
【図３】本発明の実施形態１の画像処理システムが実行する処理全体の概要を示すフローチャートである。
【図４Ａ】本発明の実施形態１の操作画面の一例を示す図である。
【図４Ｂ】本発明の実施形態１の操作画面の一例を示す図である。
【図４Ｃ】本発明の実施形態１の操作画面の一例を示す図である。
【図５】本発明の実施形態１のブロックセレクション処理の概念を説明するための図である。
【図６Ａ】本発明の実施形態１のブロック情報の一例を示す図である。
【図６Ｂ】本発明の実施形態１の傾き角度検出処理を説明するための図である。
【図７】本発明の実施形態１のベクトル化処理を説明するための図である。
【図８】本発明の実施形態１のベクトル化処理を説明するための図である。
【図９】本発明の実施形態１のベクトルデータのグループ化処理を示すフローチャートである。
【図１０】本発明の実施形態１のステップＳ７０１の処理の詳細を示すフローチャートである。
【図１１】本発明の実施形態１のＤＡＯＦのデータ構造を示す図である。
【図１２】本発明の実施形態１のアプリデータ変換処理の詳細を示すフローチャートである。
【図１３】本発明の実施形態１のステップＳ８００２の処理の詳細を示すフローチャートである。
【図１４】本発明の実施形態１の文書構造ツリーの説明図である。
【図１５】本発明の実施形態１の傾き補正処理を説明するための図である。
【図１６】本発明の実施形態２の操作画面の一例を示す図である。
【図１７】本発明の実施形態２の操作画面の一例を示す図である。
【図１８Ａ】本発明の実施形態２の操作画面の一例を示す図である。
【図１８Ｂ】本発明の実施形態２の操作画面の一例を示す図である。
【図１８Ｃ】本発明の実施形態２の操作画面の一例を示す図である。
【図１９Ａ】本発明の実施形態２の操作画面の一例を示す図である。
【図１９Ｂ】本発明の実施形態２の操作画面の一例を示す図である。
【図１９Ｃ】本発明の実施形態２の操作画面の一例を示す図である。
【図１９Ｄ】本発明の実施形態２の操作画面の一例を示す図である。
【図２０】本発明の実施形態４の印刷部の構成例を示す図である。
【図２１】本発明の実施形態４の印刷用紙の斜行状態（傾き）を検出する検出原理を説明するための図である。
【図２２】本発明の実施形態４の印刷処理を示すフローチャートである。
【符号の説明】
【０２６６】
１００  ＭＦＰ
１０２  クライアントＰＣ
１０３  プロキシサーバ
１０４  ネットワーク
１０７  ＬＡＮ
１１０  画像読取部
１１１  記憶部
１１２  印刷部
１１３  入力部
１１４  ネットワークＩ／Ｆ
１１５  データ処理部
１１６  表示部
【図１】
2005346586.tif 000003
【図２】
2005346586.tif 000004
【図３】
2005346586.tif 000005
【図４Ａ】
2005346586.tif 000006
【図４Ｂ】
2005346586.tif 000007
【図４Ｃ】
2005346586.tif 000008
【図５】
2005346586.tif 000009
【図６Ａ】
2005346586.tif 000010
【図６Ｂ】
2005346586.tif 000011
【図７】
2005346586.tif 000012
【図８】
2005346586.tif 000013
【図９】
2005346586.tif 000014
【図１０】
2005346586.tif 000015
【図１１】
2005346586.tif 000016
【図１２】
2005346586.tif 000017
【図１３】
2005346586.tif 000018
【図１４】
2005346586.tif 000019
【図１５】
2005346586.tif 000020
【図１６】
2005346586.tif 000021
【図１７】
2005346586.tif 000022
【図１８Ａ】
2005346586.tif 000023
【図１８Ｂ】
2005346586.tif 000024
【図１８Ｃ】
2005346586.tif 000025
【図１９Ａ】
2005346586.tif 000026
【図１９Ｂ】
2005346586.tif 000027
【図１９Ｃ】
2005346586.tif 000028
【図１９Ｄ】
2005346586.tif 000029
【図２０】
2005346586.tif 000030
【図２１】
2005346586.tif 000031
【図２２】
2005346586.tif 000032