JP2007182064A - 画像処理装置、及び画像処理方法 - Google Patents
画像処理装置、及び画像処理方法 Download PDFInfo
- Publication number
- JP2007182064A JP2007182064A JP2006301937A JP2006301937A JP2007182064A JP 2007182064 A JP2007182064 A JP 2007182064A JP 2006301937 A JP2006301937 A JP 2006301937A JP 2006301937 A JP2006301937 A JP 2006301937A JP 2007182064 A JP2007182064 A JP 2007182064A
- Authority
- JP
- Japan
- Prior art keywords
- data
- attribute
- image
- raster image
- vectorization
- 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.)
- Withdrawn
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Image Processing (AREA)
Abstract
【課題】一度プリントした際に保存したプリントデータの有効な再利用に関する技術を提供することを目的とする。
【解決手段】格納手段に格納されている、画像処理システムで処理された処理済データの中から、再利用の対象データを特定する特定手段と、特定手段で特定した対象データを、編集可能な編集可能データに変換する変換手段と、変換手段で変換した編集可能データを、編集し、編集データを生成する編集手段と、編集手段で生成した編集データを、印刷する印刷手段と、印刷手段で印刷した印刷データを、処理済みデータとして、格納手段に格納するデータ格納手段と、を有することによって上記課題を解決する。
【選択図】図3
【解決手段】格納手段に格納されている、画像処理システムで処理された処理済データの中から、再利用の対象データを特定する特定手段と、特定手段で特定した対象データを、編集可能な編集可能データに変換する変換手段と、変換手段で変換した編集可能データを、編集し、編集データを生成する編集手段と、編集手段で生成した編集データを、印刷する印刷手段と、印刷手段で印刷した印刷データを、処理済みデータとして、格納手段に格納するデータ格納手段と、を有することによって上記課題を解決する。
【選択図】図3
Description
本発明は、画像処理装置、及び画像処理方法に関する。
プリンタやデジタル複合機等の画像処理装置がパーソナルコンピュータから受信した印刷データ(プリントデータ)をハードディスク等の記憶装置に記録して、保存しておくことが行われている。これにより、パーソナルコンピュータから印刷データを再度受信することなく、記憶装置に記憶された印刷データに基づいた再印刷が可能になる。そして多くの場合、速やかに再印刷することを可能にするために、記憶装置にはプリントデータを展開したラスタイメージデータが記憶される。
一方、特許文献1のように、スキャナで読み取ったラスタイメージデータをアウトライン処理にてベクトル化することが行われている。これにより、アプリケーションソフトウエアでの編集処理を行う等の用途でのイメージデータの再利用が可能になる。
しかしながら、ベクトル化処理を行うためにはラスタイメージデータを文字、写真、グラフィック等の像域に分離する処理が必要である。特許文献1での像域分離処理は原稿によっては像域の誤判定を行ってしまう可能性もあり、精度の高いベクトル化処理を行えないことがあった。
本発明は上記の点に鑑みなされたもので、画像処理装置が受信したプリントデータに基づいて保存したイメージデータに対してより精度の高いベクトル化処理を行うことを可能にする技術を提供することを目的とする。
上記目的を達成するために、本発明の画像処理装置は、印刷対象の画像の属性を示す情報を含むプリントデータを外部から受信する受信手段と、前記受信手段が受信したプリントデータに基づいてラスタイメージデータを生成する展開手段と、前記プリントデータに含まれる印刷対象の画像の属性を示す情報に基づいて、前記展開手段が生成するラスタイメージデータに含まれる画像の属性を示す属性データを生成する属性データ生成手段と、前記ラスタイメージデータの少なくとも一部の領域をベクトル化するベクトル化手段と、を備え、前記ベクトル化手段は前記前記属性データ生成手段が生成した属性データに基づいて前記ラスタイメージデータの画像属性を識別し、当該識別した画像属性に基づいてベクトル化処理を行うことを特徴とする。
また、本発明の画像処理装置は、印刷対象の画像の属性を示す情報を含むプリントデータを外部から受信する受信手段と、前記受信手段が受信したプリントデータに基づいてラスタイメージデータを生成する展開手段と、前記プリントデータに含まれる印刷対象の画像の属性を示す情報に基づいて、前記展開手段が生成するラスタイメージデータに含まれる画像の属性を示す属性データを生成する属性データ生成手段と、前記ラスタイメージデータの少なくとも一部の領域をベクトル化するベクトル化手段と、前記ラスタイメージデータにおいて、ユーザーからの指定に基づき前記ベクトル化手段にベクトル化させる領域を決定する領域決定手段と、を備え、前記ベクトル化手段は前記前記属性データ生成手段が生成した属性データに基づいて前記ラスタイメージデータにおける前記領域決定手段が決定した領域の画像属性を識別し、当該識別した画像属性に基づいて前記ラスタイメージにおける前記領域に対するベクトル化処理を行うことを特徴とする。
また、上記問題を解決するため、本発明は、画像処理方法としても良い。
また、上記問題を解決するため、本発明は、画像処理方法としても良い。
本発明によれば、画像処理装置が受信したプリントデータに基づいて保存したイメージデータに対してより精度の高いベクトル化処理が可能になる。
以下、本発明の実施形態について図面に基づいて説明する。
<システム全体構成>
図1は、本実施形態における画像処理システムの一例を示すシステム構成図である。図1に示すように、LAN(Local Area Network)等で構成されるネットワーク106には、MFP(Multi Function Peripheral)100、クライアントPC102、文書管理サーバ104が接続されている。
図1は、本実施形態における画像処理システムの一例を示すシステム構成図である。図1に示すように、LAN(Local Area Network)等で構成されるネットワーク106には、MFP(Multi Function Peripheral)100、クライアントPC102、文書管理サーバ104が接続されている。
画像処理装置の一例としてのMFP100は、コピー機能、スキャナ機能、ファクシミリ送信機能、プリンタ機能等の複合機能を有する。MFP100は、クライアントPC102から送信されるプリントデータを受信してプリントデータをラスタイメージデータに展開し、ラスタイメージデータに基づく画像形成処理を実行する。この処理はMFP100が有するプリンタ機能によるものである。
MFP100はまた、クライアントPCから受信したプリントデータをラスタイメージデータに展開し、ラスタイメージデータを後述する記憶装置111に記憶したり、文書管理サーバ104に転送したりすることも可能である。これにより、一旦クライアントPCから受信したプリントデータは、再び同じプリントデータをクライアントPCから送信させること無く記憶装置111や文書管理サーバ104からラスタイメージデータを読み出すことによって再印刷等の処理が可能になる。
情報処理装置の一例としてのクライアントPC102はMFP100にプリントデータを送信する。プリントデータとしてはページ記述言語(PDL)によるものでも良いし、ラスタイメージデータであっても良い。
文書管理サーバ104はMFP100が実行した画像入出力処理において扱われた画像データ(上述のラスタイメージデータも含む)を、内部に備える記憶装置(不図示)に蓄積する。また、MFP100からの要求に応じて不図示の記憶装置に蓄積された画像データを読み出してMFP100へ送信する。
図1において、MFP100が複合機能を有するものとして説明したが、少なくともクライアントPC102からのプリントデータを処理できる機能を有していれば良い。
<MFP100の構成>
図2は、本実施形態におけるMFP100に構成の一例を示す図である。不図示のADF(Auto Document Feeder:自動原稿送り装置)を含む画像読み取り部110は、束状の或いは1枚の原稿を読み取る。そして、画像読み取り部110は、ラスタ形式の画像データを、例えば600dpi(dot per inch)等の画素密度のイメージ情報として生成する。
図2は、本実施形態におけるMFP100に構成の一例を示す図である。不図示のADF(Auto Document Feeder:自動原稿送り装置)を含む画像読み取り部110は、束状の或いは1枚の原稿を読み取る。そして、画像読み取り部110は、ラスタ形式の画像データを、例えば600dpi(dot per inch)等の画素密度のイメージ情報として生成する。
記憶装置111は、例えば、ハードディスク等の不揮発性の大容量の記憶素子等で構成され、画像読み取り部110が生成する画像データや後述するラスタイメージデータを記憶する。また、記憶装置111は、データ処理装置に含まれる不図示のCPUが実行する、MFP100全体、或いは各部を制御するためのプログラムも格納する。
記録装置112は、画像読み取り部110が生成した画像データ、或いはクライアントPC102から受信したプリントデータに基づき用紙上への画像形成を行う。記録装置112は電子写真方式による画像形成を行うものでも良いし、インクジェット方式や熱転写方式等の他の方式による画像形成を行うものでも良い。
ネットワークインターフェース114はネットワーク106を介してのデータの入出力を可能にするためのインターフェースである。
データ処理装置115は、MFP100の制御全体を統括し、データ処理装置115に接続された各装置に対する制御を司る。データ処理装置115は不図示のCPU、RAMROMを備えている。
ユーザーインターフェース部116はMFP100における操作情報や画像データ、ラスタイメージデータ等の表示を行う。ユーザーインターフェース部116はまた、ユーザーからの操作入力を受け付ける。ユーザーインターフェース部116はタッチパネルを備えた液晶表示部や、テンキー等のハードウエアキーや、マウス等のポインティングデバイス等を含む。
MFP100がコピー機能を実行する場合、画像読み取り部110が生成した画像データをデータ処理装置115で画像処理を施し、記録装置112に順次出力して紙上に画像を形成する。
MFP100がプリント機能を実行する場合、ライアントPC102から出力されるプリントデータを、ネットワーク106からネットワークインターフェース114を介して受信する。受信したプリントデータはデータ処理装置115でラスタイメージデータに展開した後、記録装置112で紙上に記録画像として形成される。
MFP100がプリント機能を実行した場合、受信したプリントデータを展開して得られたラスタイメージデータを記憶装置111に保持しておく。また、クライアントPC102からの指示、或いはMFP100に対する設定によっては、MFP100は、以下の様な動作を行うことも可能である。つまり、MFP100は、クライアントPC102から受信したプリントデータをラスタイメージデータに展開した後、これを記録装置112で印刷することなくラスタイメージデータを記憶装置111に記憶するという動作を行う。この、印刷を伴わずにラスタイメージデータを記憶装置111に記憶する処理を本実施形態において「ボックスジョブ」という。
なお上述のプリント機能やボックスジョブを実行することによって得られるラスタイメージデータは、MFP100内の記憶装置111に記憶せずに、文書管理サーバ104へ送信して、文書管理サーバ104内の不図示の記憶装置に格納させるようにしても良い。
<MFP100の処理概要>
図3は、MFP100が備えるデータ処理装置115の内部CPUの動作を説明する一例のフローチャートである。但し、以下では説明の簡略化のため、データ処理装置115が処理を行うものとして説明を行うが、ステップによってはMFP100が備えるデータ処理装置115以外の構成による動作/処理を伴うものもある。
図3のフローチャートは、MFP100が上述のプリント機能やボックスジョブを実行し、記憶装置111に記憶したラスタイメージデータを再プリント、或いは編集する処理の概要を示す。
図3は、MFP100が備えるデータ処理装置115の内部CPUの動作を説明する一例のフローチャートである。但し、以下では説明の簡略化のため、データ処理装置115が処理を行うものとして説明を行うが、ステップによってはMFP100が備えるデータ処理装置115以外の構成による動作/処理を伴うものもある。
図3のフローチャートは、MFP100が上述のプリント機能やボックスジョブを実行し、記憶装置111に記憶したラスタイメージデータを再プリント、或いは編集する処理の概要を示す。
ステップS120において、ユーザーインターフェース部116を介してMFP100のユーザーによる操作指示を受け付ける。この場合、ユーザーインターフェース部116に表示される操作画面を図4に示す。そして、データ処理装置115は、再プリント/編集の対象となるラスタイメージデータを記憶装置111内から特定する。なお、再プリント/編集の対象となるラスタイメージデータは、図4に示されるように、MFP100内部に備える記憶装置111等から指定しても良いし、MFP100外部の格納サーバである、文書管理サーバ104から指定しても良い。
ステップS121において、データ処理装置115は、ステップS120において特定したラスタイメージデータを読み込む。
ステップS122において、データ処理装置115は、ステップS121において読み込んだラスタイメージデータに対して、ブロックセレクション処理(BS処理)を実行する。なお、ブロックセレクション処理については以下に示す、(ブロックセレクション処理)の項にて詳述する。
次に、ステップS123において、データ処理装置115は、ステップS122においてBS処理を施したラスタイメージデータに対して、ベクトル化処理を実行する。なお、ベクトル化処理については以下に示す、(ベクトル化処理)の項にて詳述する。
ステップS124において、データ処理装置115は、ユーザーインターフェース部116にベクトル化データを表示する。そして、図6に示すように、ユーザーインターフェース部116に表示したベクトル化データに対する編集指示を受け付ける。そして、ユーザーによる編集指示に基づいて、ベクトル化データに対する編集処理を実行する。データ処理装置115は、ベクトル化データとして、後述する図18で示されるドキュメント・アナリシス・アウトプット・フォーマット(DAOF)のデータ(DAOFデータ)を変更することによって、編集処理を実行する。
ステップS125において、データ処理装置115による制御の下、記録装置112は、ステップS124において編集したDAOFデータからプリントデータ(ラスタイメージデータ)を再生成し、プリントを実行する。
ステップS126において、データ処理装置115は、ユーザーインターフェース部116に図5で示される操作画面を表示する。そして当該操作画面に対するユーザーによる操作指示に基づいた格納先に、ステップS124で編集が施されたDAOFデータを格納する。
ステップS127において、データ処理装置115は、図7で示される再プリント履歴表のデータを更新する。なお、再プリント履歴表のデータは、データ処理装置115の内部メモリ等に格納されている。
図7の再プリントの条件において、「0」は、変更無し、を表し、「1」は、プリント条件のみ変更(例えば、片面→両面)、を表し、「2」は、プリント内容変更(例えば、文面変更)、を表している。この、再プリントの条件は、ユーザーがユーザーインターフェース部116を介して指定する。
<ブロックセレクション処理>
図3のフローチャートにおけるステップS122のブロックセレクション処理の詳細について説明する。例えば、図8(A)に示されるようなイメージデータを、図8(B)に示されるように複数のオブジェクトの塊として認識する。そして、各塊を文字/図画/写真/線/表等の属性に基づいて判定し、分類し、異なる属性の塊を、ブロックに分割する。なお、図8(B)において、TEXTとは、文字領域である。また、PICTUREとは、図画(グラフィック)領域である。また、TABLEとは、表形式の領域(表領域)である。また、LINEとは、線画領域である。また、PHOTOとは、写真領域である。領域の種別はこれに限るものではなく他の領域種別を用いても良い。
図3のフローチャートにおけるステップS122のブロックセレクション処理の詳細について説明する。例えば、図8(A)に示されるようなイメージデータを、図8(B)に示されるように複数のオブジェクトの塊として認識する。そして、各塊を文字/図画/写真/線/表等の属性に基づいて判定し、分類し、異なる属性の塊を、ブロックに分割する。なお、図8(B)において、TEXTとは、文字領域である。また、PICTUREとは、図画(グラフィック)領域である。また、TABLEとは、表形式の領域(表領域)である。また、LINEとは、線画領域である。また、PHOTOとは、写真領域である。領域の種別はこれに限るものではなく他の領域種別を用いても良い。
以下、ブロックセレクション処理の一例を説明する。まず、データ処理装置115は、入力画像(図3のステップS121において読み込んだデータ)を白黒に二値化し、輪郭線追跡処理を行って黒画素輪郭で囲まれる画素の塊を抽出する。データ処理装置115は、面積の大きい黒画素の塊については、内部にある白画素に対しても輪郭線追跡処理を行い、白画素の塊を抽出し、更に一定面積以上の白画素の塊の内部からは再帰的に黒画素の塊を抽出する。
データ処理装置115は、このようにして得られた黒画素の塊を、大きさ及び形状で分類し、異なる属性を持つ領域へ分類していく。データ処理装置115は、例えば、縦横比が1に近く、大きさが一定の範囲のものを文字相当の画素塊とし、更に近接する文字が整列良くグループ化可能な部分を文字領域、扁平な画素塊を線領域等とする。また、データ処理装置115は、例えば、一定大きさ以上でかつ四角系の白画素塊を整列よく内包する黒画素塊の占める範囲を表領域、不定形の画素塊が散在している領域を写真領域、それ以外の任意形状の画素塊を図画領域、等とする。
ブロックセレクション処理で得られた各ブロックに対するブロック情報を図9に示す。図9に示されるブロック毎の情報は以下に説明するベクトル化、或いは検索の処理において利用される。
図9のブロック情報の属性において、「1」は、文字を表し、「2」は、図画を表し、「3」は、表を表し、「4」は、線を表し、「5」は、写真を表している。なお、図9に示される各情報は、例えば、データ処理装置115の内部メモリ等に格納される。
<ベクトル化処理>
図3のフローチャートにおけるステップS123のベクトル化処理、即ちDAOFデータの生成処理の詳細について説明する。データ処理装置115は、まず、文字ブロックに対しては、文字認識処理を行う。ベクトル化処理は、文字認識処理、アウトライン化処理、図形認識処理、DAOFへの変換処理といった複数の処理の少なくともいずれかを実行することによって実現する。ベクトル化されたデータとは、直線や曲線を構成する複数の画素を補完する数式として定義する画像である。本実施形態では、それ以外にも文字認識処理やマーク認識を行って得られるコードデータもベクトルデータとする。以下、これら複数の処理のそれぞれについて説明する。
図3のフローチャートにおけるステップS123のベクトル化処理、即ちDAOFデータの生成処理の詳細について説明する。データ処理装置115は、まず、文字ブロックに対しては、文字認識処理を行う。ベクトル化処理は、文字認識処理、アウトライン化処理、図形認識処理、DAOFへの変換処理といった複数の処理の少なくともいずれかを実行することによって実現する。ベクトル化されたデータとは、直線や曲線を構成する複数の画素を補完する数式として定義する画像である。本実施形態では、それ以外にも文字認識処理やマーク認識を行って得られるコードデータもベクトルデータとする。以下、これら複数の処理のそれぞれについて説明する。
・文字認識処理
データ処理装置115は、文字単位で切り出された画像に対し、パターンマッチング処理の一手法を用いて文字認識を行い、対応する文字コードを得る。この認識処理は、文字画像から得られる特徴ベクトルを数十次元の数値列に変換した観測特徴ベクトルと、予め字種毎に求められている辞書特徴ベクトルとを比較し、最も距離の近い字種を認識結果とする処理である。特徴ベクトルの抽出には種々の公知手法があり、例えば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴ベクトルとする方法等がある。
データ処理装置115は、文字単位で切り出された画像に対し、パターンマッチング処理の一手法を用いて文字認識を行い、対応する文字コードを得る。この認識処理は、文字画像から得られる特徴ベクトルを数十次元の数値列に変換した観測特徴ベクトルと、予め字種毎に求められている辞書特徴ベクトルとを比較し、最も距離の近い字種を認識結果とする処理である。特徴ベクトルの抽出には種々の公知手法があり、例えば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴ベクトルとする方法等がある。
データ処理装置115は、ブロックセレクション処理で抽出した文字領域(文字ブロック)に対して文字認識を行う場合は、まず該当領域に対し横書きか、縦書きかの判定を行い、各々対応する方向に行を切り出し、その後文字を切り出して文字画像を得る。
なお、データ処理装置115は、該当領域内で画素値に対する水平/垂直の射影を取り、水平射影の分散が大きい場合は、横書き領域、垂直射影の分散が大きい場合は、縦書き領域と判断(判定)する。また、データ処理装置115は、横書き領域に対しては、水平方向の射影を利用して行を切り出し、更に切り出された行に対する垂直方向の射影から、文字を切り出し、文字画像を得る。また、データ処理装置115は、垂直方向の射影を利用して行を切り出し、更に切り出された行に対する水平方向の射影から、文字を切り出し、文字画像を得る。
・アウトライン化処理
次に、データ処理装置115は、ブロックセレクション処理において、例えば、文字或いは線、表領域とされた領域等を対象に、領域中で抽出した画素塊の輪郭をベクトルデータに変換する。
次に、データ処理装置115は、ブロックセレクション処理において、例えば、文字或いは線、表領域とされた領域等を対象に、領域中で抽出した画素塊の輪郭をベクトルデータに変換する。
より具体的に説明すると、データ処理装置115は、輪郭をなす画素の点列を角と看倣される点で区切って、各区間を部分的な直線或いは曲線で近似する。ここで、角とは曲率が極大となる点である。データ処理装置115は、曲率が極大となる点を、図10に示されるように、任意点Piに対し左右k個の離れた点Pi−kと、Pi+kと、の間に弦を引いたとき、この弦と、Piと、の距離が極大となる点として求める。
更に、データ処理装置115は、Pi−kと、Pi+kと、の間の弦の長さ/弧の長さをRとし、Rの値が閾値以下である点を角と見なす。データ処理装置115は、角によって分割した後の各区間を、直線は点列に対する最小二乗法等、曲線は3次スプライン関数等を用いてベクトル化する。ベクトル化されたデータ(ベクトルデータ)は、例えば、データ処理装置115の内部メモリ等に格納される。
また、対象が内輪郭を持つ場合、データ処理装置115は、ブロックセレクション処理において抽出した白画素の輪郭線の点列を用いて、同様に部分的直線或いは曲線で近似する。以上のように、輪郭の区分線近似を用いれば、データ処理装置115は、任意形状の文字や線画、表、図形のアウトラインをベクトル化することができる。なお、元原稿がカラーの場合は、データ処理装置115は、カラー画像から図形の色を抽出して、ベクトルデータと共に記録する。
また、図11に示す様に、ある区間で、外輪郭と、内輪郭或いは別の外輪郭と、が近接している場合、データ処理装置115は、2つの輪郭線を一まとめにし、太さを持った線とすることができる。つまり、データ処理装置115は、ある輪郭の各点Piから別輪郭上で最短距離となる点Qiまで線を引き、各距離PQiが平均的に一定長以下の場合、注目区間を、PQiの中点を点列として直線或いは曲線で近似し、太さをPQiの平均値とする。線や線の集合体である表罫線は、上述したような太さを持つ線の集合として効率よくベクトル表現することができる。
以下、上述したアウトライン化処理を文字、線画、表、図形等に対して適応的に実施する一例を、図12を用いて説明する。図12は、アウトライン化する際に削除する輪郭上の点を説明する図である。
ある所定のルールに従って削減点を多くとれば、得られるアウトラインのデータ量は小さくなり、表現されるアウトラインはその輪郭線からの誤差が大きくなる。本実施形態ではこの削減処理を属性に応じて適応的に適用することで、各属性の画像ブロックのベクトル化後のデータ量の削減と、画質の維持と、を両立させることができる。
まず、輪郭点の削減ルールについて説明する。なお、ここで述べるベクトルデータは、文字等の画像の輪郭上で削除して残った点を結んで得られるアウトライン文字のベクトルデータである。図12(A)における補正前の輪郭点データPiから連続する4点Pi、Pi+1、Pi+2、Pi+3に着目する。
そして、「1点目Piと、2点目Pi+1との距離L1、及び2点目Pi+1と、3点目Pi+2との距離L2が、共に指定した距離Lcよりも小さいとき」を、削減条件1とする。
また、「2点目Pi+1と、3点目Pi+2とを結ぶ直線Aを基に、1点目Piと、4点目Pi+3とが、反対の領域にあるとき、及び1点目Piが直線上にあるときに2点目Pi+1を補正対象とする」を、削減条件2とする。
但し、「補正対象の2点目Pi+1について、1点目Piと、2点目Pi+1と、3点目Pi+2とを、結んだ交差角度θが指定角度θcの範囲内のときにキーポイントと設定してこれを削除対象から外す」を、削減条件3とする。
ここで点Pi+1を削除する条件に係る定数Lcを大きくすれば、削除の可能性は高くなり、より対象画像を長い直線群でアウトライン化でき、情報量は小さくなるが、細かく変化する輪郭部はアウトライン化後に消滅し易くなる。
同様に、指定交差角度θcを小さくすると、削除の可能性が高くなり、より滑らかにアウトライン化でき、情報量は小さくなるが、小さいサイズの文字等では文字の特徴が欠落することになる。
また、データ処理装置115は、これら削除条件を評価し、順次輪郭点を削除した結果に対し、再度、残された輪郭点に対して上述の削除処理を繰り返し行うことで、より輪郭点を削除できる。図13は、削除条件2のみを用いて繰り返し輪郭点を削除する様子を示した物で、図13(A)で示す17個の輪郭点P0〜P16の内、P1、P3、P5、P7、P9、P11、P13、P15で示される8点は1回の削除処理で削除される(図13(B))。
図13(B)に示される、残った輪郭点に対し再度P0から順次、削除処理を行えば、輪郭点P2、P6、P10、P14が削除され、図13(C)となる。同様に再度図13(C)に示される、残った輪郭点に対して再度P0から順次、削除処理を行えば輪郭点P4が削除され、図13(D)となる。つまり、上述の削除処理を繰り返せば繰り返す程、輪郭点を削除でき、より滑らかなアウトライン処理ができ、情報量は小さくなる。
本実施形態では、これら輪郭点の削除処理を、属性に応じて、実行する。つまり、データ処理装置115は、ブロック毎に分割した画像ブロックの画像をアウトライン化する際に、ブロックの属性に応じて、適応的に設定されたパラメータを用いて、輪郭点を削除する。
上述したように、データ処理装置115が実行する削除処理において、そのパラメータは隣接2点を結ぶ直線の長さL1及びL2を規定する定数Lcと、その2辺が作る頂角を規定する角度θc、及び削除処理回数Nである。
図14は、文字領域、図画領域、表領域に対して行う輪郭点の削除処理のパラメータを示す図である。一般的に、これら3領域の空間周波数は、文字領域が最も高く、表領域が最も低い。即ち、文字領域に含まれる文字の輪郭をアウトライン化する際はより小さな変化も削除することなく忠実にアウトライン化する必要がある。一方、表領域はそれに対して殆どが長い直線で構成されているため、よりその輪郭点を削除して直線化することで原画に忠実で且つ、データ量を削減できる。なお図画領域は、文字領域と、表領域との中間として扱う。つまり、領域毎に設定したパラメータは文字領域が最も輪郭点の削除数が少なく、逆に表領域が最も削除数が多くなるように設定されている。
なお、図14において、Lc1<Lc2<Lc3、θc1>θc2>θc3、N1<N2<N3である。
図15は、適応的輪郭点削除処理の一例のフローチャートである。まず、ステップS560において、データ処理装置115は、処理対象のブロックの属性を図9に示したブロック情報より取得する。
次に、ステップS561において、データ処理装置115は、ステップS560において取得したブロックの属性に応じて、パラメータ、Lc、θc、Nの値を取得し、各パラメータに設定する。また、データ処理装置115は、パラメータi及びパラメータmに0(ゼロ)を設定する。ステップS562において、データ処理装置115は、ブロック内の輪郭点の先頭点Piから連続する3点(Pi+1、Pi+2、Pi+3)を読み込む。
ステップS563において、データ処理装置115は、ステップS561において設定したパラメータを用いて、上述した3つの削除条件を評価する。データ処理装置115は、Pi+1を削除点であると判断すると、ステップS565に進み、削除点でないと判断すると、ステップS564に進む。
ステップS564において、データ処理装置115は、Pi+1を削除する。ステップS565において、データ処理装置115は、評価する輪郭点を次の位置に移動させる、つまり、パラメータiの値を一つインクリメントする。
ステップS566において、データ処理装置115は、処理対処のブロック内の輪郭点全てに対して削除処理が終わったか否かを判定する。データ処理装置115は、ブロック内の輪郭点全てに対して削除処理が終わったと判定すると、ステップS567に進み、ブロック内の輪郭点全てに対して削除処理が終わっていないと判定すると、ステップS562の処理に戻る。
つまり、データ処理装置115は、処理対処のブロック内の輪郭点全てに対して、ステップS562からステップS566までの処理を行う。
ステップS567において、データ処理装置115は、処理対処のブロック内の輪郭点全てに対して、ステップS562からステップS566までの処理を行うことを1回とカウントし、パラメータmの値を1つインクリメントする。
ステップS567において、データ処理装置115は、パラメータmの値と、パラメータNの値とを比較し、パラメータmの値と、パラメータNの値とが同一か否かを判定する。データ処理装置115は、パラメータmの値と、パラメータNの値とが同一であると判定すると、N回の削除処理が行われたと判定し、図15に示す処理を終了する。一方、データ処理装置115は、「パラメータmの値<パラメータNの値」であると判定すると、設定されたN回の削除処理が行われていないと判定し、ステップS569に進む。
ステップS569において、データ処理装置115は、パラメータiに0(ゼロ)を設定し、ステップS562の処理に戻る。
なお、削除されて残った輪郭点に対するアウトライン処理は、直線を用いて近似しても良いし、ベジェ関数等を用いて描画したベジェ曲線を用いて近似しても良い。
・図形認識処理
以下、ベクトルデータを、図形オブジェクトや、文字オブジェクト毎にグループ化する処理について説明する。
図16は、ベクトルデータを、オブジェクト毎にグループ化する、オブジェクト認識処理の一例を示すフローチャートである。
以下、ベクトルデータを、図形オブジェクトや、文字オブジェクト毎にグループ化する処理について説明する。
図16は、ベクトルデータを、オブジェクト毎にグループ化する、オブジェクト認識処理の一例を示すフローチャートである。
ステップS700において、データ処理装置115は、各ベクトルデータの始点、終点を算出する。次に、ステップS701において、データ処理装置115は、各ベクトルの始点、終点情報を用いて、図形や文字要素を検出する。ここで、各要素の検出とは、区分線が構成している閉図形を検出することである。なお、データ処理装置115は、検出に際し閉形状を構成する各ベクトルはその両端にそれぞれ連結するベクトルを有しているという原理を応用し、検出を行う。なお、要素検出処理の詳細は、後述する図17に示す。
次に、ステップS702において、データ処理装置115は、各要素内に存在する他の要素、若しくは区分線をグループ化し、一つの図形や文字オブジェクトとする。また、データ処理装置115は、各要素内に他の要素、区分線が存在しない場合は、各要素を図形や文字オブジェクトとする。
図17は、要素検出処理の一例を示すフローチャートである。まず、ステップS710において、データ処理装置115は、ベクトルデータから、両端にそれぞれ連結するベクトルを有していない不要なベクトルを除去し、閉構成ベクトルを抽出する。
次に、ステップS711において、データ処理装置115は、閉構成ベクトルの中から、閉構成ベクトルの始点を開始点とし、時計回りに順にベクトルを追っていく。データ処理装置115は、開始点に戻るまで、時計回りに順にベクトルを追っていく処理を行い、通過したベクトルを全て、一つの要素を構成する閉要素としてグループ化する。また、データ処理装置115は、閉要素内部にある構成ベクトル(閉要素構成ベクトル)も全てグループ化する。更に、データ処理装置115は、閉構成ベクトルの内、まだグループ化されていないベクトルの始点を開始点とし、時計回りに順にベクトルを追っていく処理を行い、通過したベクトルを全て閉要素としてグループ化する処理を繰り返す。
最後に、ステップS712において、データ処理装置115は、ステップS710において除去した不要ベクトルの内、ステップS711において閉要素としてグループ化したベクトルに接合しているベクトルを検出し、一つの要素としてグループ化する。
以上の処理によって、図形や文字ブロックを、個別に再利用可能な、図形や文字オブジェクトとして扱うことが可能になる。なお、文字ブロックの各文字に対してアウトライン化し1文字要素として結合されたベクトルデータは、先に説明した文字認識で得られた文字コードに対応する所謂アウトラインフォントデータとして扱うことができる。即ち、アウトラインフォントデータは、文字認識処理で得られる文字コードに加えてその文字の字体情報を含んでいるため、原画に可視的に忠実で編集可能な文字ベクトルデータといえる。
・DAOFへの変換処理
ところで、一頁分のイメージデータをブロックセレクション処理(図3のステップS122)し、ベクトル化処理(図3のステップS123)した結果は、後述する図18に示す様な中間データ形式のファイルとして変換、保持されている。このようなデータ形式はDAOFデータと呼ばれる。
ところで、一頁分のイメージデータをブロックセレクション処理(図3のステップS122)し、ベクトル化処理(図3のステップS123)した結果は、後述する図18に示す様な中間データ形式のファイルとして変換、保持されている。このようなデータ形式はDAOFデータと呼ばれる。
図18は、DAOFデータのデータ構造の一例を示す図である。図18において、791はheaderであり、処理対象の文書画像データに関する情報が保持される。レイアウト記述データ部792は、文書画像データ中のTEXT、TITLE、CAPTION、LINEART、EPICTURE、FRAME、TABLE等の属性毎に認識された各ブロックの属性情報と、その矩形アドレス情報と、を保持する。なお、ここで、TEXTとは、文字を表し、TITLEとは、タイトルを表し、CAPTIONとは、キャプションを表し、LINEARTとは、線画を表し、EPICTUREとは、自然画を表し、FRAMEとは、枠を表し、TABLEとは、表を表している。
文字認識記述データ部793は、TEXT、TITLE、CAPTION等のTEXTブロックを文字認識して得られる文字認識結果を保持する。表記述データ部794では、TABLEブロックの構造の詳細情報を格納する。画像記述データ部795は、PICTUREやLINEART等のブロックのイメージデータを文書画像データから切り出して保持する。
図18に示されるようなDAOFは、中間データとしてのみならず、それ自体がファイル化されて、データ処理装置115の内部メモリ等に保存される場合もある。更に以下では、このDAOFから、所謂一般の文書作成アプリケーションで個々のオブジェクトを再利用する場合に必要となるアプリデータに変換するアプリデータ変換処理について説明する。
図19は、アプリデータ変換処理の一例を示すフローチャートである。ステップS8000において、データ処理装置115は、DAOFデータの入力(取得)を行う。データ処理装置115は、例えば内部メモリ等から、ファイル化し、保存してあるDAOFデータを取得する。
ステップS8002において、データ処理装置115は、DAOFデータ等を用いて、アプリデータの基となる文書構造ツリーの生成を行う。なお、文書構造ツリーの生成処理の詳細は、後述する図20に示す。ステップS8004において、データ処理装置115は、文書構造ツリーを基に、DAOFデータをはめ込んでいき(流し込み)、アプリデータを生成する。
図20は、文書構造ツリー生成処理の一例を示すフローチャートである。また、図21は、文書構造ツリーの一例を示す図である。なお、図20の処理において、基本ルールとして、処理の流れはミクロブロック(単一ブロック)からマクロブロック(ブロックの集合体)へと移行する。但し、以下では特に言及しない限り、説明の簡略化のため、ミクロブロック、及びマクロブロック共に、ブロックとして説明する。
ステップS8100において、データ処理装置115は、ブロック単位で縦方向の関連性を元に再グループ化する。ここで、関連性とは、「距離が近い」、「ブロック幅(横方向の場合は高さ)がほぼ同一である」等である。データ処理装置115は、距離、幅、高さ等の情報を、DAOFデータより抽出し、利用する。なお、ステップS8100の処理の開始直後は、ミクロブロック単位で判定(再グループ化の処理)を行う。
図21(A)は、実際のページ構成を示す図、図21(B)は、図21(A)の文書構造ツリーを示す図である。ステップS8100の処理の結果、T3、T4、T5を含む一つのグループV1と、T6、T7を含む一つのグループV2と、が同じ階層のグループとして生成される。
ステップS8102において、データ処理装置115は、縦方向のセパレータの有無をチェックする。ここで、セパレータとは、例えば物理的には、DAOFデータ中でライン属性を持つオブジェクトのことである。また論理的な意味としては、アプリ中で明示的にブロックを分割する要素である。データ処理装置115は、セパレータを検出した場合は、同じ階層で再分割する。
ステップS8104において、データ処理装置115は、分割がこれ以上存在し得ないか否かを縦方向のグルーピング長を利用して判定する。データ処理装置115は、縦方向のグルーピング長がページ高さとなっている場合は、文書構造ツリーの生成処理を終了する。一方、データ処理装置115は、縦方向のグルーピング長がページ高さとなっていない場合は、ステップS8106に進む。
ステップS8106において、データ処理装置115は、ブロック単位で横方向の関連性を元に再グループ化する。ここで、関連性とは、上述したのと同様、「距離が近い」、「ブロック幅(横方向の場合は高さ)がほぼ同一である」等である。データ処理装置115は、距離、幅、高さ等の情報を、DAOFデータより抽出し、利用する。なお、ステップS8106の処理の開始直後は、ミクロブロック単位で判定(再グループ化の処理)を行う。
ステップS8100の処理の結果、T3、T4、T5を含む一つのグループV1と、T6、T7を含む一つのグループV2と、が同じ階層のグループとして生成される。ステップS8106の処理の結果、T1、T2を含む一つのグループH1と、V1、V2を含む一つのグループH2と、がグループV1、V2の1つ上の同じ階層のグループとして生成される。
ステップS8108において、データ処理装置115は、横方向のセパレータの有無をチェックする。データ処理装置115は、セパレータを検出した場合は、同じ階層で再分割する。図21に示す例の場合、セパレータS1があるため、データ処理装置115は、S1を文書構造ツリーに登録(追加)する。
ステップS8106及びステップS8108の処理の結果、H1、S1、H2という階層が生成される。ステップS8110において、データ処理装置115は、分割がこれ以上存在し得ないか否かを横方向のグルーピング長を利用して判定する。データ処理装置115は、横方向のグルーピング長がページ幅となっている場合は、文書構造ツリーの生成処理を終了する。一方、データ処理装置115は、横方向のグルーピング長がページ幅となっていない場合は、ステップS8100に戻り、再びもう一段上の階層で、縦方向の関連性チェックの処理を開始し、ステップS8100からのステップS8110までの処理を繰り返す。
図21に示す例の場合、分割幅(横方向のグルーピング長)がページ幅になっているので、データ処理装置115は、ここで処理を終了し、最後にページ全体を示す最上位階層のV0を文書構造ツリーに付加し、図20に示す文書構造ツリーの生成処理を終了する。
図19のステップS8004の処理を、図21を用いて、より具体的に説明する。データ処理装置115は、H1は横方向に2つのブロックT1と、T2とを有しているため、2カラムとし、DAOFデータを参照し、T1の内部情報(文字認識結果の文章、画像等)を出力する。
その後、データ処理装置115は、カラムを変え、同様にしてT2の内部情報出力し、その後S1を出力する。H2は横方向に2つのブロックV1と、V2とがあるので、データ処理装置115は、2カラムとして出力する。データ処理装置115は、V1を、T3、T4、T5の順にその内部情報を出力し、その後カラムを変え、V2を、T6、T7の順に内部情報を出力する。
以上、上述したように、本実施形態によれば、プリント時に保存されたプリントデータの有効な再利用を可能とすることができる。また、図7に示したように再プリント履歴表をMVP100の内部メモリ等に保存しておくことによって、セキュリティに関する情報の質を高めることができる。
<プリントデータの印刷オブジェクト毎属性を用いた像域識別>
図3のステップS122におけるブロックセレクション処理は、対象となるラスタイメージデータによっては誤った属性判定を行ってしまうことがある。誤った属性判定を行ってしまうと、その後のベクトル化処理も適切な処理ではなくなってしまうことがある。以下、ステップS122のブロックセレクション処理の代わりにラスタイメージの属性を正確に識別する方法について述べる。
図3のステップS122におけるブロックセレクション処理は、対象となるラスタイメージデータによっては誤った属性判定を行ってしまうことがある。誤った属性判定を行ってしまうと、その後のベクトル化処理も適切な処理ではなくなってしまうことがある。以下、ステップS122のブロックセレクション処理の代わりにラスタイメージの属性を正確に識別する方法について述べる。
図27は後述する属性マップを用いてラスタイメージデータをベクトル化する処理の概要を示す図である。
クライアントPC102からMFP100に送信されるプリントデータ2701がページ記述言語で表されている場合を想定する。PDLでは印刷対象となる画像や文字や図形等(これらを総称して印刷オブジェクトという)をページ上のどの位置に印刷するかを規定する情報が記述されている。そして、これら印刷オブジェクト2701各々に対してそのオブジェクト毎の画像属性を示す情報(オブジェクト毎属性2704)が付与されている。
クライアントPC102からMFP100に送信されるプリントデータ2701がページ記述言語で表されている場合を想定する。PDLでは印刷対象となる画像や文字や図形等(これらを総称して印刷オブジェクトという)をページ上のどの位置に印刷するかを規定する情報が記述されている。そして、これら印刷オブジェクト2701各々に対してそのオブジェクト毎の画像属性を示す情報(オブジェクト毎属性2704)が付与されている。
データ処理装置115は、プリントデータをラスタイメージデータ2714に変換する際に、オブジェクト毎属性2704に基づいて属性マップ2706を生成する。
属性マップはラスタイメージデータ2714に対応した、一種のビットマップデータであり、その各画素は画像の属性を示すフラグを示している。そしてフラグが示す画像の属性は、プリントデータ2701に含まれるオブジェクト毎属性2704に基づいている。
属性マップはラスタイメージデータ2714に対応した、一種のビットマップデータであり、その各画素は画像の属性を示すフラグを示している。そしてフラグが示す画像の属性は、プリントデータ2701に含まれるオブジェクト毎属性2704に基づいている。
図27の例では、ラスタイメージデータ2714を構成する印刷オブジェクトのうち、印刷オブジェクト2716は「文字」、印刷オブジェクト2718は「写真」、印刷オブジェクト2719、2720はそれぞれ「グラフィクス」という属性がオブジェクト毎属性2704にて規定されている。したがって、属性マップ2706は、像域2710(円形の図形と三角形の図形の両方)がグラフィクスを示し、像域2712は文字を示し、像域2708は写真を示すようなフラグで構成されたビットマップであることを示している。
属性マップは本来、プリントデータをラスタイメージデータに変換する際にオブジェクトの種類毎に適切な画像処理を施すことを目的に生成するものである。従って従来の画像処理装置では、ラスタイメージデータを生成した後に属性マップを用いることは無いので削除していた。本実施形態では、属性マップ2706をラスタイメージデータ2714と対にして記憶装置111に記憶しておき、後に行われるベクトル化処理、特に画像の像域を識別する処理を行う際にも利用する。
このように像域マップ2706をベクトル化の際にも利用することで、ステップS122におけるブロックセレクション処理を行わずに済むのでベクトル化を行う場合におけるブロックセレクションの処理に係る時間を短縮することができる。また、像域マップ2706を利用すればブロックセレクション処理における属性の誤判定の発生が無いので、より正確な属性識別が可能になる。
なお、上述の例では、プリントデータ2701がページ記述言語で表されている場合について述べたがプリントデータ2701としては他の形態であっても良い。例えば、クライアントPC側で予めラスタイメージデータに展開したデータに、属性マップ2706に相当するようなデータを付加したものをプリントデータとしても良い。この場合、データ処理装置115は属性マップ相当のデータが付加されたプリントデータを記憶装置111に記憶すれば良い。
なお、上述の例では、プリントデータ2701がページ記述言語で表されている場合について述べたがプリントデータ2701としては他の形態であっても良い。例えば、クライアントPC側で予めラスタイメージデータに展開したデータに、属性マップ2706に相当するようなデータを付加したものをプリントデータとしても良い。この場合、データ処理装置115は属性マップ相当のデータが付加されたプリントデータを記憶装置111に記憶すれば良い。
以下、図22、図27を参照してプリントデータ2701の印刷オブジェクト毎属性2704に基づいて作成した属性マップ2706を用いたベクトル化処理について説明する。
図22は、MFP100における、ベクトルデータの抽出、変更、反映処理の一例を示すフローチャートである。本フローチャートは、MFP100のデータ処理装置115の制御の下に実行される。
ステップS301において、データ処理装置115は、ネットワークインターフェース114を介してクライアントPC102から送信されたプリントデータ2701を受信する。
ステップS302において、データ処理装置115は、プリントデータより、個々の属性(写真/グラフィクス/テキスト等)に対する画像処理を適切に行うために用いられる属性マップを作成する。ここで、グラフィクスとは、例えば、図画(PICTURE)等である。また、イメージとは、例えば、写真(PHOTO)等である。
ステップS303において、データ処理装置115は、ステップS301において受信したプリントデータを展開し、ステップS302で作成した属性マップを用いて、印刷オブジェクト毎に適切な画像処理を施しつつラスタイメージデータを生成する。
なお、ステップS302と、ステップS303との処理は、少なくとも一部の処理が並行して行われても良い。
なお、ステップS302と、ステップS303との処理は、少なくとも一部の処理が並行して行われても良い。
ステップS304において、データ処理装置115は、ステップS302で作成したラスタイメージデータ2714と、ステップS303で作成した属性マップ2706とを、対にして、即ち両者を関連付けて記憶装置111に保存する。ラスタイメージデータ2714と属性マップ2706の保存先は、文書管理サーバ104としても良い。
ステップS305において、データ処理装置115は、ユーザーインターフェース部116等を介して、ユーザーからラスタイメージデータ2714中、再編集を行いたい部分の指定を受ける。指定の方法としては、ユーザーインターフェース部116にラスタイメージデータ2714を表示し、タッチパネルによるユーザーの指定個所に対応する属性を持つ領域をベクトル化の対象領域とする。或いは、ユーザーインターフェース部116のタッチパネルに「写真」、「グラフィクス」、「文字」というボタンを表示して、ユーザーが押下したボタンに対応する属性を持つ領域をベクトル化の対象領域としても良い。本フローチャートでは、一例としてプリントデータのグラフィクス部分の画像に対する再編集後、再出力する旨の依頼を受け取るものとする。もちろん、他の属性をベクトル化対象領域としても良い。また、ベクトル化対象領域を複数指定するようにしても良いし、特に指定の無い場合にはラスタイメージデータ2714全体をベクトル化の対象としても良い。
ステップS306において、データ処理装置115は、ユーザーが再出力を要求したラスタイメージデータ2714と対になって保存されている属性マップ2706から、グラフィクス属性の領域2710を抜き出す。そして、データ処理装置115は、属性マップより抜き出したグラフィクス属性の図形を基にベクトルデータを生成する。そして、データ処理装置115は、生成したベクトルデータを、表示装置116に表示し、ユーザーに提示する。ステップS306の処理の詳細は図23で詳述する。
なお、ステップS306における表示では、既にベクトルデータの部品化が済まされており、ユーザーはユーザーインターフェース部116上でベクトルデータの編集を行うことが可能である。
なお、ステップS306における表示では、既にベクトルデータの部品化が済まされており、ユーザーはユーザーインターフェース部116上でベクトルデータの編集を行うことが可能である。
ステップS309において、データ処理装置115は、ユーザーインターフェース部116を用いてユーザーが行った編集操作に応じて、ベクトルデータを編集する。
ステップS310において、データ処理装置115は、編集したベクトルデータを用いてラスタイメージデータ2714を更新する。なお、ステップS310の処理の詳細は、後述する図25に示す。
ステップS310において、データ処理装置115は、編集したベクトルデータを用いてラスタイメージデータ2714を更新する。なお、ステップS310の処理の詳細は、後述する図25に示す。
ステップS311において、データ処理装置115は、ステップS310において反映を行った反映済みのプリントデータを、記録装置112等を用いて、記録紙等に記録し、出力する。
図23は、属性マップ2706からベクトルデータを生成するベクトルデータ生成処理の一例を示すフローチャートである。以下、図27も参照しつつ本フローチャートについて説明する。
ステップS401において、データ処理装置115は、ユーザーが指定したラスタイメージデータ2714と対になって保存されている属性マップ2706を記憶装置111より読み込む。
ステップS402において、データ処理装置115は、読み込んだ属性マップ2706から、グラフィクス属性2710以外の属性を除外する。
ステップS403において、データ処理装置115は、属性マップの属性部分(つまり、グラフィクス属性部分)を、ユーザーが予め設定した任意の色で着色する。なお、ステップS403の処理は必ずしもこの段階で行う必要は無く、ステップS309の編集処理で行っても良い。
ステップS404において、データ処理装置115は、属性マップのグラフィクス属性部分を、ベクトルデータに変換する。例えば、データ処理装置115は、上述した実施形態の図10から図13までに示した方法等によって、グラフィクス属性部分からベクトルデータに変換する。
ステップS305において、特にユーザーから特定の領域が指定されること無くベクトル化の指示が合った場合、ステップS404ではラスタイメージデータ2714全体をベクトル化対象領域とする。この場合、上述のブロックセレクション処理を行って画像属性の識別を行わずに、属性マップ2706を用いて属性識別を行い、識別した画像の属性に従ったベクトル化処理を行う。
ステップS405において、データ処理装置115は、属性マップ内のベクトルデータを、図26のユーザー指定テーブルに示すルールに基づいて直線/曲線をベースとして区分けし、部品化する。部品化処理の詳細については後述する。
ステップS406において、データ処理装置115は、ステップS404において生成したベクトルデータを、ユーザーインターフェース部116に表示する。
ステップS406において、データ処理装置115は、ステップS404において生成したベクトルデータを、ユーザーインターフェース部116に表示する。
以下、図23のステップS403からステップS405までの処理の詳細は、図24に示す。図24は、ベクトルデータ化及び部品化の一例を示すフローチャートである。
ステップS501において、データ処理装置115は、グラフィクス属性部分に着色する色の指定がユーザーによってなされていたか否かを判定する。例えば、データ処理装置115は、内部メモリ等に、ユーザーが指定した色に係る色情報等が格納されているか否かに基づいて、色の指定がなされていたか否かを判定する。
データ処理装置115は、グラフィクス属性部分に着色する色の指定がユーザーによってなされていたと判定すると、ステップS503に進む。また、データ処理装置115は、グラフィクス属性部分に着色する色の指定がユーザーによってなされていなかったと判定すると、ステップS502に進む。
ステップS502において、データ処理装置115は、デフォルトで設定されている色(例えば、黒等)により、グラフィクス属性部分を着色する。一方、ステップS503において、データ処理装置115は、例えばユーザーが指定した色情報等に基づいて、グラフィクス属性部分を着色する。
ステップS404の処理は、図23のステップS404で述べた処理と同じである。
ステップS504において、データ処理装置115は、ベクトルデータの部品化に関して、ユーザーによる指定がなされているか否かを判定する。例えば、データ処理装置115は、内部メモリ等に、部品化に係るユーザー指定情報が登録されているユーザー指定テーブル等(図26)が存在するか否かに基づいて、ユーザーによる指定がなされているか否かを判定する。
ステップS504において、データ処理装置115は、ベクトルデータの部品化に関して、ユーザーによる指定がなされているか否かを判定する。例えば、データ処理装置115は、内部メモリ等に、部品化に係るユーザー指定情報が登録されているユーザー指定テーブル等(図26)が存在するか否かに基づいて、ユーザーによる指定がなされているか否かを判定する。
データ処理装置115は、ユーザーによるベクトルデータの部品化に係る指定がなされていると判定すると、ステップS506に進み、ユーザーによるベクトルデータの部品化に係る指定がなされていないと判定すると、ステップS505に進む。
ステップS505において、データ処理装置115は、デフォルトの部品化の処理、例えば直線を全て部品化する等の処理、を行う。一方、ステップS506において、データ処理装置115は、例えば内部メモリ等に保存されているユーザー指定テーブルを参照し、部品化に係るユーザー指定情報等に基づいて、ベクトルデータの部品化を行う。なお、ユーザー指定テーブルの一例は、後述する図26に示す。
ステップS507において、データ処理装置115は、ベクトルデータの中での閉領域に対しての特別処理の指示が、ユーザーによりなされているか否かを判定する。例えば、データ処理装置115は、内部メモリ等に、ベクトルデータの中での閉領域に対しての特別処理の指示情報等が存在するか否かに基づいて、ベクトルデータの中での閉領域に対しての特別処理の指示がユーザーによりなされているか否かを判定する。閉領域に対しての特別処理の指示情報とは、例えば、閉領域内を特定の色で着色する、等の指示を示す情報である。
データ処理装置115は、ベクトルデータの中での閉領域に対しての特別処理の指示が、ユーザーによりなされていると判定すると、ステップS508に進む。一方、データ処理装置115は、ベクトルデータの中での閉領域に対しての特別処理の指示が、ユーザーによりなされていないと判定すると、特別処理は実行せず、ステップS509に進む。
ステップS508において、データ処理装置115は、例えば内部メモリ等に保存されているベクトルデータの中での閉領域に対しての特別処理の指示情報等に基づいて、閉領域を構成する直線は、個別に部品化する等の特別処理を実行する。
ステップS509ではステップS505、506で部品化されたグラフィクスや、ステップS508で閉領域に対して特別処理の指示された部品をグラフィクス毎に階層化する処理を行い、ステップS406へ遷移する。
図25は、編集後のベクトルデータの置き換え処理(図22のステップS310)の一例を示すフローチャートである。ステップS601において、データ処理装置115は、編集したベクトルデータの部品を統合し、一枚の画像を生成する。図27のベクトルデータ2730は各部品が統合されたベクトルデータを示す。ステップS602において、データ処理装置115は、ステップS601において生成した画像から、グラフィクス属性情報を生成する。本実施形態では、属性マップ2706に基づいてグラフィック属性の領域をベクトル化したので、ステップS602で生成した属性も同じくグラフィクス属性になる。しかし、グラフィクス属性の領域中の画像が文字等を含んでいる場合で、この文字をベクトル化処理の過程で文字認識処理を行い文字として認識することができたら、その領域は文字領域として扱うのが合理的である。つまり、このような場合はグラフィクス領域中に文字領域が存在するような像域情報を生成する。また、ステップS305でユーザーがグラフィクス属性の領域以外の領域を指定した場合には、ステップS602で生成する属性情報は指定した領域の属性に応じた属性情報を生成することになる。
ステップS603において、データ処理装置115は、ステップS602において生成した属性情報に基づいて、編集要望のあったラスタイメージデータ2714と対になって保存されている編集前の属性マップ2706から、グラフィクス属性部分を除外する。そしてグラフィクス属性部分を除外した属性マップを生成する。ステップS305でユーザーがグラフィクス属性の領域以外の領域を指定した場合には、当該指定した属性の領域を除外することになる。
ステップS605において、データ処理装置115は、ステップS601で統合されたベクトルデータ2730と、元のラスタイメージデータ2714との合成方法を決定する。本実施形態では、ラスタイメージデータ2714と統合後のベクトルデータ2730とをそれぞれ別のレイヤー(層)として扱う。そして合成方法として、ステップS605ではどちらを上位の層にするかを決定する。
データ処理装置115は、ステップS605でベクトルデータ2730を上位層に合成すると判断した場合にはステップS607に進み、ベクトルデータ2730を下位層に合成すると判断した場合には、ステップS606に進む。
ステップS606において、データ処理装置115は、ベクトルデータ2730を、ラスタイメージデータ2714の下位層となるように合成する。また、ステップS602において生成した属性情報と、ステップS603で生成したグラフィクス領域が除外された属性情報と結合し、新たな属性マップを生成する。この場合、ベクトルデータ2730がラスタイメージデータ2714の下位層になるように属性マップを結合する。
一方、ステップS606において、データ処理装置115は、ベクトルデータ2730を、ラスタイメージデータ2714の上位層となるように合成する。また、ステップS602において生成した属性情報と、ステップS603で生成したグラフィクス領域が除外された属性情報と結合し、新たな属性マップを生成する。この場合、ベクトルデータ2730がラスタイメージデータ2714の上位層になるように属性マップを結合する。
図27の画像2740はベクトルデータ2730と、ラスタイメージデータ2714とが合成された結果を示す。この画像2740は、グラフィクス領域が上位層になるような合成を行った場合の例を示している。
図27の画像2740はベクトルデータ2730と、ラスタイメージデータ2714とが合成された結果を示す。この画像2740は、グラフィクス領域が上位層になるような合成を行った場合の例を示している。
<ベクトルデータの部品化>
図26は、図23のステップS405におけるベクトルデータの部品化に関するユーザー指定テーブルの一例を示す図である。図26に示されるように、ユーザー指定テーブルは、項目として、形状と、分割数と、閉領域処理と、を含む。つまり、ユーザーは、ベクトルデータの形状毎に、幾つの直線に分割するか、閉領域処理を行うか否か等を設定することができる。
図26は、図23のステップS405におけるベクトルデータの部品化に関するユーザー指定テーブルの一例を示す図である。図26に示されるように、ユーザー指定テーブルは、項目として、形状と、分割数と、閉領域処理と、を含む。つまり、ユーザーは、ベクトルデータの形状毎に、幾つの直線に分割するか、閉領域処理を行うか否か等を設定することができる。
なお、「形状」の項目において、「角度A以下」とは、直線と、直線の接合部に発生する角度に対して言及している。この場合、内角と、外角とが存在するが、その角度の判定については、ユーザーが任意に設定できる。図26の示される例では、内角か、外角かに係らず、直線を示す2つのベクタの接点が形成する角度がA以下の場合、「分割数」を2とする。つまり、角度A以下を成す2つの直線は、それぞれ別のベクトルデータとする。逆に、角度A以上をなす2つの直線は、1つのベクトルデータとして部品化される。つまり2つの直線ではなく、1つの折れ線として扱う。また、「形状」の項目において「90度*4」とあるのは、正方形又は長方形となった閉領域に対する指定である。
上述したように、本実施形態によれば、プリントデータと共に保存されているオブジェクトの属性マップ(属性情報)より、正確なベクトルデータを抽出することができる。また、本実施形態によれば、抽出したベクトルデータを、編集又は再利用することができる。なお、本実施形態では、グラフィクスを用いて説明を行ったが、イメージ又はテキスト等に対しても本実施形態と同様の処理を行うことができる。
以上、本実施形態によれば、一度プリント、或いは保存したプリントデータの有効な再利用に関する技術を提供することができる。
以上、本実施形態によれば、一度プリント、或いは保存したプリントデータの有効な再利用に関する技術を提供することができる。
<他の実施形態>
なお、本発明は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置等)に適用しても良い。
なお、本発明は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置等)に適用しても良い。
また、本発明の目的は、上記実施形態の機能を実現するソフトウェアを記録した記憶媒体(記録媒体)をシステム又は装置に供給し、そのシステム又は装置のコンピュータ(CPUやMPU)が前記ソフトウェアを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施形態の機能を実現することになり、そのソフトウェアを記憶した記憶媒体は本発明を構成する。
また、前記ソフトウェアの実行により上記機能が実現されるだけでなく、そのソフトウェアの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)等が実際の処理の一部又は全部を行い、それによって上記機能が実現される場合も含む。
また、前記ソフトウェアがコンピュータに接続された機能拡張カードやユニットのメモリに書き込まれ、そのソフトウェアの指示により、前記カードやユニットのCPU等が実際の処理の一部又は全部を行い、それによって上記機能が実現される場合も含む。
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するソフトウェアが格納される。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
100 MFP
102 クライアントPC
104 文書管理サーバ
115 データ処理装置
116 ユーザーインターフェース部
102 クライアントPC
104 文書管理サーバ
115 データ処理装置
116 ユーザーインターフェース部
Claims (14)
- 印刷対象の画像の属性を示す情報を含むプリントデータを外部から受信する受信手段と、
前記受信手段が受信したプリントデータに基づいてラスタイメージデータを生成する展開手段と、
前記プリントデータに含まれる印刷対象の画像の属性を示す情報に基づいて、前記展開手段が生成するラスタイメージデータに含まれる画像の属性を示す属性データを生成する属性データ生成手段と、
前記ラスタイメージデータの少なくとも一部の領域をベクトル化するベクトル化手段と、を備え、
前記ベクトル化手段は前記前記属性データ生成手段が生成した属性データに基づいて前記ラスタイメージデータの画像属性を識別し、当該識別した画像属性に基づいてベクトル化処理を行うことを特徴とする画像処理装置。 - 更に、前記展開手段が生成したラスタイメージデータと、前記属性データ生成手段が生成した属性データとを関連付けて記憶する記憶手段を備え、
前記ベクトル化手段は、前記記憶手段に記憶されたラスタイメージデータを、当該ラスタイメージに関連付けられて前記記憶手段に記憶された属性データに基づいてベクトル化処理を行うことを特徴とする請求項1に記載の画像処理装置。 - 更に、前記ラスタイメージデータに基づき画像形成を行う画像形成手段と、を備え、
前記記憶手段は前記画像形成手段が前記ラスタイメージデータに基づく画像形成を行った後も前記ラスタイメージデータと前記属性データとを関連付けて記憶することを特徴とする請求項2に記載の画像処理装置。 - 更に、前記展開手段が生成したラスタイメージデータと、前記属性データ生成手段が生成した属性データとを関連付けて外部の記憶装置に記憶させるための記憶制御手段と、
前記ラスタイメージデータに基づき画像形成する画像形成手段と、を備え、
前記記憶制御手段は前記画像形成手段が前記ラスタイメージデータに基づく画像形成を行った後に前記ラスタイメージデータと前記属性データとを関連付けて前記外部の記憶装置に記憶させることを特徴とする請求項1に記載の画像処理装置。 - 前記ベクトル化手段は、前記外部の記憶装置に記憶されたラスタイメージデータを、当該ラスタイメージに関連付けられて前記外部の記憶装置に記憶された属性データに基づいてベクトル化処理を行うことを特徴とする請求項4に記載の画像処理装置。
- 更に、前記ベクトル化手段が前記ラスタイメージデータをベクトル化することによって得られたベクトルデータに対して編集処理を行う編集手段を備えることを特徴とする請求項1乃至請求項5のいずれか1項に記載の画像処理装置。
- 更に、前記ベクトル化手段が前記ラスタイメージデータをベクトル化することによって得られたベクトル化データの画像の属性に基づいて前記ラスタイメージデータに関連付けられて記憶された属性データを更新する更新手段を備えることを特徴とする請求項2に記載の画像処理装置。
- 前記属性データが示す画像の属性の種類は文字、写真、グラフィクスの少なくとも1つを含むことを特徴とする請求項1乃至請求項7のいずれか1項に記載の画像処理装置。
- 印刷対象の画像の属性を示す情報を含むプリントデータを外部から受信する受信手段と、
前記受信手段が受信したプリントデータに基づいてラスタイメージデータを生成する展開手段と、
前記プリントデータに含まれる印刷対象の画像の属性を示す情報に基づいて、前記展開手段が生成するラスタイメージデータに含まれる画像の属性を示す属性データを生成する属性データ生成手段と、
前記ラスタイメージデータの少なくとも一部の領域をベクトル化するベクトル化手段と、
前記ラスタイメージデータにおいて、ユーザーからの指定に基づき前記ベクトル化手段にベクトル化させる領域を決定する領域決定手段と、を備え、
前記ベクトル化手段は前記前記属性データ生成手段が生成した属性データに基づいて前記ラスタイメージデータにおける前記領域決定手段が決定した領域の画像属性を識別し、当該識別した画像属性に基づいて前記ラスタイメージにおける前記領域に対するベクトル化処理を行うことを特徴とする画像処理装置。 - 更に、前記ベクトル化手段が前記ラスタイメージにおける前記領域に対するベクトル化処理を行うことによって得られたベクトル化データを、前記ラスタイメージデータと合成する合成手段を備えることを特徴とする請求項9に記載の画像処理装置。
- 印刷対象の画像の属性を示す情報を含むプリントデータを外部から受信する受信工程と、
前記受信工程で受信したプリントデータに基づいてラスタイメージデータを生成する展開工程と、
前記プリントデータに含まれる印刷対象の画像の属性を示す情報に基づいて、前記展開工程で生成されるラスタイメージデータに含まれる画像の属性を示す属性データを生成する属性データ生成工程と、
前記ラスタイメージデータの少なくとも一部の領域をベクトル化するベクトル化工程と、を備え、
前記ベクトル化工程は前記前記属性データ生成工程で生成した属性データに基づいて前記ラスタイメージデータの画像属性を識別し、当該識別した画像属性に基づいてベクトル化処理を行うことを特徴とする画像処理方法。 - 印刷対象の画像の属性を示す情報を含むプリントデータを外部から受信する受信工程と、
前記受信工程で受信したプリントデータに基づいてラスタイメージデータを生成する展開工程と、
前記プリントデータに含まれる印刷対象の画像の属性を示す情報に基づいて、前記展開工程で生成されるラスタイメージデータに含まれる画像の属性を示す属性データを生成する属性データ生成工程と、
前記ラスタイメージデータの少なくとも一部の領域をベクトル化するベクトル化工程と、
前記ラスタイメージデータにおいて、ユーザーからの指定に基づき前記ベクトル化工程でベクトル化させる領域を決定する領域決定工程と、を備え、
前記ベクトル化工程は前記前記属性データ生成工程で生成した属性データに基づいて前記ラスタイメージデータにおける前記領域決定工程で決定した領域の画像属性を識別し、当該識別した画像属性に基づいて前記ラスタイメージにおける前記領域に対するベクトル化処理を行うことを特徴とする画像処理方法。 - 画像処理装置が画像処理方法を実行するための制御プログラムであって、前記制御プログラムは、
印刷対象の画像の属性を示す情報を含むプリントデータを外部から受信する受信工程と、
前記受信工程で受信したプリントデータに基づいてラスタイメージデータを生成する展開工程と、
前記プリントデータに含まれる印刷対象の画像の属性を示す情報に基づいて、前記展開工程で生成されるラスタイメージデータに含まれる画像の属性を示す属性データを生成する属性データ生成工程と、
前記ラスタイメージデータの少なくとも一部の領域をベクトル化するベクトル化工程と、を備え、
前記ベクトル化工程は前記前記属性データ生成工程で生成した属性データに基づいて前記ラスタイメージデータの画像属性を識別し、当該識別した画像属性に基づいてベクトル化処理を行うことを特徴とする制御プログラム。 - 画像処理装置が画像処理方法を実行するための制御プログラムであって、前記制御プログラムは、
印刷対象の画像の属性を示す情報を含むプリントデータを外部から受信する受信工程と、
前記受信工程で受信したプリントデータに基づいてラスタイメージデータを生成する展開工程と、
前記プリントデータに含まれる印刷対象の画像の属性を示す情報に基づいて、前記展開工程で生成されるラスタイメージデータに含まれる画像の属性を示す属性データを生成する属性データ生成工程と、
前記ラスタイメージデータの少なくとも一部の領域をベクトル化するベクトル化工程と、
前記ラスタイメージデータにおいて、ユーザーからの指定に基づき前記ベクトル化工程でベクトル化させる領域を決定する領域決定工程と、を備え、
前記ベクトル化工程は前記前記属性データ生成工程で生成した属性データに基づいて前記ラスタイメージデータにおける前記領域決定工程で決定した領域の画像属性を識別し、当該識別した画像属性に基づいて前記ラスタイメージにおける前記領域に対するベクトル化処理を行うことを特徴とする制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006301937A JP2007182064A (ja) | 2005-12-08 | 2006-11-07 | 画像処理装置、及び画像処理方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005355138 | 2005-12-08 | ||
JP2006301937A JP2007182064A (ja) | 2005-12-08 | 2006-11-07 | 画像処理装置、及び画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007182064A true JP2007182064A (ja) | 2007-07-19 |
Family
ID=38338523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006301937A Withdrawn JP2007182064A (ja) | 2005-12-08 | 2006-11-07 | 画像処理装置、及び画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007182064A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009181045A (ja) * | 2008-01-31 | 2009-08-13 | Canon Inc | 画像形成装置及び画像形成方法、記録媒体及びプログラム |
JP2009274419A (ja) * | 2008-05-19 | 2009-11-26 | Canon Inc | 印刷装置及びその制御方法、プログラム、並びに、コンピュータ読み取り可能な記憶媒体 |
JP2011141405A (ja) * | 2010-01-06 | 2011-07-21 | Canon Inc | 画像処理装置、画像処理装置の制御方法、および、プログラム |
JP2013031105A (ja) * | 2011-07-29 | 2013-02-07 | Brother Ind Ltd | 画像処理装置、画像処理プラグラム |
-
2006
- 2006-11-07 JP JP2006301937A patent/JP2007182064A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009181045A (ja) * | 2008-01-31 | 2009-08-13 | Canon Inc | 画像形成装置及び画像形成方法、記録媒体及びプログラム |
JP2009274419A (ja) * | 2008-05-19 | 2009-11-26 | Canon Inc | 印刷装置及びその制御方法、プログラム、並びに、コンピュータ読み取り可能な記憶媒体 |
JP2011141405A (ja) * | 2010-01-06 | 2011-07-21 | Canon Inc | 画像処理装置、画像処理装置の制御方法、および、プログラム |
JP2013031105A (ja) * | 2011-07-29 | 2013-02-07 | Brother Ind Ltd | 画像処理装置、画像処理プラグラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4251629B2 (ja) | 画像処理システム及び情報処理装置、並びに制御方法及びコンピュータプログラム及びコンピュータ可読記憶媒体 | |
JP4574235B2 (ja) | 画像処理装置、及びその制御方法、プログラム | |
US20120250048A1 (en) | Image processing apparatus and image processing method | |
JP5111268B2 (ja) | 画像処理装置、画像処理方法、そのプログラムおよび記憶媒体 | |
US7681121B2 (en) | Image processing apparatus, control method therefor, and program | |
EP2264995B1 (en) | Image processing apparatus, image processing method, and computer program | |
US8520006B2 (en) | Image processing apparatus and method, and program | |
JP4502385B2 (ja) | 画像処理装置およびその制御方法 | |
JP2007174270A (ja) | 画像処理装置、画像処理方法、記憶媒体、プログラム | |
JP2006023942A (ja) | 画像処理システム及び画像処理方法 | |
US20060010116A1 (en) | Image processing system and image processing method | |
US20060217826A1 (en) | Image processing apparatus and a method therefor | |
JP2009193356A (ja) | 画像処理装置、画像処理方法、プログラム、及び記憶媒体 | |
JP2010074540A (ja) | 画像処理装置 | |
US8270717B2 (en) | Metadata determination method and image forming apparatus | |
JP4921335B2 (ja) | ドキュメント処理装置及び検索方法 | |
JP2007182064A (ja) | 画像処理装置、及び画像処理方法 | |
JP5188260B2 (ja) | 画像処理装置、画像処理方法ならびにそのプログラムおよび記憶媒体 | |
JP5020698B2 (ja) | 画像処理装置、画像処理方法、画像処理プログラム | |
JP2005109987A (ja) | 画像形成方法 | |
JP2007129557A (ja) | 画像処理システム | |
JP2005352777A (ja) | 画像処理装置及びその制御方法、プログラム | |
JP4310176B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2005151455A (ja) | 画像処理装置、情報処理装置及びそれらの制御方法、プログラム | |
JP4323856B2 (ja) | 画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20091019 |