[go: up one dir, main page]

JP5036636B2 - 画像処理装置、方法、及び、プログラム - Google Patents

画像処理装置、方法、及び、プログラム Download PDF

Info

Publication number
JP5036636B2
JP5036636B2 JP2008154592A JP2008154592A JP5036636B2 JP 5036636 B2 JP5036636 B2 JP 5036636B2 JP 2008154592 A JP2008154592 A JP 2008154592A JP 2008154592 A JP2008154592 A JP 2008154592A JP 5036636 B2 JP5036636 B2 JP 5036636B2
Authority
JP
Japan
Prior art keywords
data
image processing
document
difference
vector data
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.)
Expired - Fee Related
Application number
JP2008154592A
Other languages
English (en)
Other versions
JP2009301294A5 (ja
JP2009301294A (ja
Inventor
盛一 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2008154592A priority Critical patent/JP5036636B2/ja
Priority to US12/472,141 priority patent/US8693028B2/en
Publication of JP2009301294A publication Critical patent/JP2009301294A/ja
Publication of JP2009301294A5 publication Critical patent/JP2009301294A5/ja
Application granted granted Critical
Publication of JP5036636B2 publication Critical patent/JP5036636B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、ドキュメントを処理する画像処理装置に関する。
従来、画像処理装置内に保存されたドキュメントを用いて、編集や印刷等の画像処理を行うことが広く行われている。例えば、図12に示すように、画像処理装置内に「仕様書A」というドキュメントが保存されているとする。ここで、ユーザAが、「仕様書A」を取り出し、編集を行い、「仕様書A’」として画像処理装置内に再度保存する場合を考える。更に、ユーザAが「仕様書A’」を取り出し、編集を行い、「仕様書A’’」として画像処理装置内に再度保存すると、画像処理装置内には、「仕様書A」、「仕様書A’」、「仕様書A’’」の類似するドキュメントが存在することになる。一般的に、あるドキュメントは、多数のユーザ(図12に示すユーザB〜D)によってアクセスされることが多い。そのような場合に、多数のユーザがそれぞれの名称で保存すると、類似の名称のドキュメントが多数存在してしまう。そのような類似の名称のドキュメントは、元となるドキュメントを編集しているので、印刷処理において用いられるディスプレイリストやベクタデータを重複して有している。そのようなデータの重複は、画像処理装置内の記憶装置(HDD等)の記憶容量を圧迫する一因となる。
また、一方では、それら類似の名称のドキュメント間における差分関係が不明となってしまうので、ユーザの利便性を大きく低下させてしまう。例えば、名称付与のルールを統一したとしても、ドキュメント間の差分が不明であれば、ユーザが、多数存在するドキュメントの内、どのドキュメントを印刷すべきかが分からなくなってしまう。ここで、一般的にファイルのバージョン管理システムとして知られているCVS(Concurrent Versions System)がある。しかしながら、そのような機能を用いたとしても、ファイル間の差分データのみをユーザが認識できる形式で表示することができず、上述の課題を解決することができない。また、ドキュメントのベクタデータはバイナリデータであるので、差分を抽出することが難しく、結果として、データを重複して保存しておく必要が発生してしまう。
従って、ユーザが対象としているドキュメントを処理する場合には、他のドキュメントとの差分が他のユーザから見て明確となることが望ましい。かつ、その際には、画像処理装置内での保存容量の増加を低減できることが望ましい。
ドキュメントを比較し差分を抽出することについて、様々な技術が開発されている。特許文献1には、入力されたイメージに基づいてオリジナル電子データを検索し、その検索されたオリジナル電子データと入力されたイメージとを比較して差分情報を抽出する技術が記載されている。更に、特許文献1によると、抽出された差分情報をベクトルデータ化し、オリジナル電子データと合成する画像処理方法が記載されている。また、その画像処理方法によると、オリジナルには存在しない差分情報を再利用して編集可能性を高めることができると記載されている。ビットマップデータにおけるドキュメント同士の比較には、ピクセル単位での色値の差分を取得することができるという利点がある。
特開2004−246577号公報(段落0164)
しかしながら、ビットマップデータの場合には、ピクセル単位での差分を抽出することはできるが、テキストの詳細な差分について抽出することはできない。例えば、ユーザが、文字列(文字コード)がどのように変化したのか、何の文字列が追加されたのか、線の太さのポイントがどのように変化したのか等の情報を取得することができない。
そこで、上記の点に鑑み、本発明は、ドキュメント間の差分を抽出し、ユーザの利便性を向上することができる画像処理装置を提供することを目的とする。
本発明に係る画像処理装置は、ドキュメント間の差分を抽出する画像処理装置であって、対象とする対象ドキュメントのベクタデータと、画像処理装置に既に保存されている保存済みドキュメントのベクタデータとを比較する比較手段と、比較手段による比較の結果、異なっている場合に、対象ドキュメントのベクタデータ及び保存済みドキュメントのベクタデータをテキストデータに変換し、変換されたそれぞれのテキストデータの差分を抽出することによって、テキスト形式の差分データを生成し保存する差分データ生成手段とを備える。
本発明によれば、ドキュメント間の差分を抽出し、ユーザの利便性を向上することができる。
以下に、本発明を実施するための最良の形態について、図面を参照しながら詳しく説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
<画像処理装置の構成>
図1は、本実施形態における画像処理装置の全体構成を示す図である。以下、本実施形態に適用するに好適な1Dカラー系MFP(Multi Function Peripheral:多機能周辺機器)の構成について、図1を用いて説明する。1Dカラー系MFPは、スキャナ部、レーザ露光部、感光ドラム、作像部、定着部、給紙/搬送部及び、これらを制御する不図示のプリンタ制御部を含んで構成される。
スキャナ部は、原稿台に置かれた原稿に対して照明を当てて原稿画像を光学的に読み取り、その像を電気信号に変換して画像データを作成する。レーザ露光部は、作成された画像データに応じて変調されたレーザ光などの光線を、等角速度で回転する回転多面鏡(ポリゴンミラー)に入射させ、反射走査光として感光ドラムに照射させる。
作像部は、感光ドラムを回転駆動し帯電器によって帯電させ、レーザ露光部によって感光ドラム上に形成された潜像をトナーによって現像化し、そのトナー像をシートに転写する。その際に転写されずに感光ドラム上に残った微小トナーは、回収される。作像部は、以上の一連の電子写真プロセスを実行して作像する。シートが転写ベルトの所定位置に巻きついて4回転する間に、マゼンタ(M)、シアン(C)、イエロー(Y)、ブラック(K)のトナーを持つそれぞれの現像ユニット(現像ステーション)が入れ替わりで順次、電子写真プロセスを繰り返して実行する。4回転した後に、4色のフルカラートナー像を転写されたシートは、転写ドラムを離れ、定着部に搬送される。
定着部は、ローラやベルトの組み合わせによって構成され、ハロゲンヒータなどの熱源を内蔵しており、作像部によってトナー像が転写されたシート上のトナーを、熱と圧力によって溶解し定着させる。給紙/搬送部は、シートカセットやペーパーデッキに代表されるシート収納庫を1つ以上持っており、プリンタ制御部の指示に応じてシート収納庫に収納された複数のシートの中から1枚を分離し、作像部、定着部に搬送する。シートは作像部の転写ドラムに巻きつけられ、4回転した後に定着部に搬送される。ここで、4回転する間に、YMCK各色のトナー像がシートに転写される。また、シートの両面に画像形成する場合には、定着部を通過したシートを再度作像部に搬送する搬送経路を通るように制御する。
プリンタ制御部は、MFP全体を制御するMFP制御部と通信して、その指示に応じて制御を実行すると共に、スキャナ部、レーザ露光部、作像部、定着部、給紙/搬送部の各部の状態を管理しながら、全体が調和を保って円滑に動作できるよう指示を行う。
<コントローラユニットの構成>
図2は、本実施形態におけるMFPのコントロールユニット(コントローラ)の構成の一例を示すブロック図である。図2に示すコントロールユニット200は、画像入力デバイスであるスキャナ201や画像出力デバイスであるプリンタエンジン202と接続し、画像データの読み取りやプリント出力のための制御を行う。また、コントロールユニット200は、LAN等のネットワーク203や公衆回線204と接続し、画像情報やデバイス情報を入出力することができる。
CPU205は、MFP全体を制御するための中央処理装置である。RAM206は、CPU205が動作するためのシステムワークメモリであり、入力された画像データを一時記憶するための画像メモリとしても機能する。更に、ROM207は、ブートROMであり、システムのブートプログラムが格納されている。HDD208は、ハードディスクドライブであり、各種処理のためのシステムソフトウェア又は入力された画像データ等が格納される。
操作部I/F209は、画像データ等を表示可能な表示画面を有する操作部210に対するインタフェースであり、操作部210に対して操作画面データを出力する。また、操作部I/F209は、操作部210から操作者が入力した情報をCPU205に伝える役割をもつ。ネットワークI/F211は、例えば、LANカードで実現され、ネットワーク203に接続して外部装置との間で情報の入出力を行う。また、モデム212は、公衆回線204に接続して外部装置との間で情報の入出力を行う。以上のユニットがシステムバス213上に配置されている。
イメージバスI/F214は、システムバス213と、画像データを高速で転送する画像バス215とを接続するためのインタフェースであり、データ構造を変換するバスブリッジとして機能する。画像バス215上には、ラスタイメージプロセッサであるRIP216、デバイスI/F217、スキャナ画像処理部218、プリンタ画像処理部219、画像編集用画像処理部220、カラーマネージメントモジュールであるCMM230が接続される。
RIP216は、ページ記述言語(PDL)コードや後述するベクタデータをイメージに展開する。デバイスI/F217は、スキャナ201やプリンタエンジン202とコントロールユニット200とを接続し、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部218は、スキャナ201から入力した画像データに対して、補正、加工、編集等の各種処理を行う。プリンタ画像処理部219は、プリント出力する画像データに対して、プリンタエンジンに応じた補正、解像度変換等の処理を行う。画像編集用画像処理部220は、画像データの回転や圧縮伸長処理等の各種画像処理を行う。
CMM230は、画像データに対して、プロファイルやキャリブレーションデータに基づいた色変換処理(色空間変換処理ともいう)を施す専用ハードウェアモジュールである。ここで、プロファイルとは、機器に依存した色空間で表現したカラー画像データを機器に依存しない色空間(例えば、Lab)に変換するための関数等の情報のことである。また、キャリブレーションデータとは、カラー複合機におけるスキャナ201やプリンタエンジン202の色再現特性を修正するためのデータのことである。
<システム構成>
図3は、本実施形態における画像処理装置を含む画像処理システムの全体構成を示すブロック図である。図3に示すように、画像処理システムは、互いにネットワーク203を介して接続されたMFP1、MFP2、MFP3を含んで構成されている。
各MFPはそれぞれHDD301、302、303を備えている。MFPに搭載されているプリンタエンジン(以下、エンジンともいう)の解像度はMFP毎に異なっており、MFP1とMFP3は600dpi、MFP2は1200dpiである。また、MFPに搭載されているレンダラ(ラスタライザ)の種類もMFP毎に異なっており、MFP1とMFP2のレンダラは同種(「Ra」と図示)である。また、MFP3だけ異なる種類のレンダラ(「Rb」と図示)を有する。一般的に、レンダラは、ASIC等のハードウェアで構成されるので、異なる種類のレンダラは、異なった種類の描画命令群を処理することができない。ここで、描画命令群は、一般的に、ディスプレイリストと言われる。ディスプレイリストは、ハードウェアで処理可能なインストラクションであり、複雑な描画記述を持つベクタデータからソフトウェアで生成される解像度依存のデータである。一般的に、ベクタデータには、該当するページに描画されている情報、例えば、文字等の輪郭などが記述されている。
MFP1、MFP2、MFP3はネットワークプロトコルを用いて互いに通信することができる。なお、ネットワーク203上に接続されるMFP1〜3は、図3に示すような物理的な配置に限定されなくても良い。また、ネットワーク203上には、MFP以外の機器(例えば、PC、各種サーバ、プリンタ)が接続されていても良い。
<コントローラソフトウェア構成>
図4は、MFPの動作を制御するコントローラ・ソフトウェアの構成を示すブロック図である。コントローラ・ソフトウエアは、例えば、HDD208に格納されて、CPU205から必要に応じて呼び出されて実行される。
プリンタI/F401は、外部のネットワークと接続され、データを入出力する。プロトコル制御部402は、外部との通信に用いられるネットワークプロトコルを解析する。ベクタデータ生成部403は、ビットマップイメージから解像度に依存しない描画記述であるベクタデータを生成(ベクタライズ)する。メタデータ生成部404は、ベクタライズの過程で得られる副次情報をメタデータとして生成する。ここで、メタデータとは、検索用の付加的なデータであり、描画処理に特に必要とされない。
PDL解析部405は、PDLデータを解析し、より処理し易い形式の中間コード(ディスプレイリスト)に変換する。PDL解析部405において生成された中間コードは、データ描画部406に渡されて処理される。データ描画部406は、中間コードをビットマップデータに展開する。展開されたビットマップデータは、ページメモリ407に逐次描画される。
ページメモリ407は、揮発性のメモリであって、レンダラによって展開されたビットマップデータを一次的に保持する。パネル入出力制御部408は、操作パネルからの入出力を制御する。ドキュメント記憶部409は、ハードディスク等で構成される二次記憶装置であって、入力文書のジョブ単位にベクタデータ、ディスプレイリスト、メタデータを包含するデータファイルを記憶する。なお、本実施形態においては、そのデータファイルを「ドキュメント」という。
スキャン制御部410は、スキャナから入力した画像データに対して、補正、加工、編集などの各種処理を行う。印刷制御部411は、ページメモリ407の内容をビデオ信号に変換し、プリンタエンジン部412に画像転送する。プリンタエンジン部412は、受信したビデオ信号を記録紙に永久可視画像形成する印刷機構部である。
<コントローラユニットのデータ処理>
次に、本実施形態において、ドキュメントを画像処理する際のデータフローについて説明する。以下、ドキュメントの画像処理の一例として、印刷処理を説明する。
図5は、本実施形態におけるドキュメントを画像処理する際に生成されたデータのフローを示す図である。図5は、ドキュメントのPDLデータをプリント又は保存を行う場合のデータフローを示している。ここで、ドキュメントとは、画像処理装置とネットワークで接続されたPC上のアプリケーション・ソフトウェアにおいて印刷を指示され、PC上のプリンタドライバによってページ記述言語(PDLデータ)で記述されたドキュメントである。以下の説明においては、どのドキュメントを「対象ドキュメント」という。画像処理装置は、対象ドキュメントを受信し、プリント出力する。一般的に、そのようなプリンタ動作は、「PDLデータプリント」として知られている。
まず、PDLデータ解析処理(ステップS501)において、受信したPDLデータが解析され、ページ数分のベクタデータが生成される。図5においては、3ページで構成されたドキュメントが示されている。次に、元ドキュメント選択処理(ステップS502)において、印刷装置内に既に存在する元ドキュメント(以下、「保存済みドキュメント」ともいう)から1つの元ドキュメントが選択される。この選択処理については後述する。
次に、ベクタデータ比較処理(ステップS503)において、選択された元ドキュメント内のベクタデータと、ステップS501において生成されたベクタデータとが、ページ毎に比較される。比較された結果、同じである場合には、ディスプレイリスト抽出処理(ステップS504)において、選択された元ドキュメントから、現在対象としているベクタデータに対応するディスプレイリストを抽出する。一方、異なる場合には、ディスプレイリスト生成処理(ステップS505)において、ステップS501において生成されたベクタデータから、現在対象としているベクタデータに対応するディスプレイリストが生成される。ステップS504又はS505は、全てのページについて行われる。
次に、マージ処理(ステップS506)において、ステップS504及びS505において抽出又は生成されたディスプレイリストをマージする。次に、レンダリング処理(ステップS507)において、生成されたディスプレイリストがレンダリングされて、ビットマップデータが生成される。印刷処理(ステップS508)において、生成されたビットマップデータが印刷処理される。ステップS506の処理は、本実施形態における合成手段の一例である。
再び、ステップS503を説明する。ここで、比較された結果、ベクタデータが異なっている場合には、変換処理(ステップS509)において、それぞれのベクタデータをテキスト形式に変換する。差分抽出処理(ステップS510)において、生成されたそれぞれのテキストデータを比較し、差分を抽出し、テキスト形式の差分データを生成する。
次に、関連付け処理(ステップS512)において、ステップS510において生成された差分データと、元ドキュメントとを関連付ける。本実施形態においては、例えば、生成された差分データを参照するように、ステップS502において印刷装置内で選択された元ドキュメントのメタデータにリンク情報を記述する。
ドキュメント生成処理(ステップS511)において、ステップS505において生成されたディスプレイリストを元ドキュメントに付加する。ステップS512においては、その生成されたディスプレイリストを参照するように、ステップS502において印刷装置内で選択された元ドキュメントのメタデータにリンク情報を記述する。
以上のように、本実施形態においては、ドキュメントのPDLデータを受信すると、ベクタデータに変換し、変換されたベクタデータと印刷装置内に存在する元ドキュメントのベクタデータとの比較を行う。その結果、同じである場合には、そのベクタデータに対応する元ドキュメントのディスプレイリストを用いてレンダリングを行い印刷処理する。また、異なっている場合には、それぞれのベクタデータの差分をテキスト形式で差分データとして生成して保存し、更に、元ドキュメントから参照できるように、メタデータにリンク情報が記述される。
図6は、図5におけるドキュメントの印刷処理の手順を示すフローチャートである。図6は、ユーザが、外部のPCのアプリケーション等でドキュメントの印刷及び保存を指定した場合について示している。
印刷及び保存処理を開始すると、まず、ステップS601において、印刷及び保存の対象となるドキュメントのPDLデータを取得する。以下、そのデータを入力データという。ステップS602において、PDL解析部405において入力データを解釈してベクタデータを生成する。次にステップS603において、入力データを画像処理装置内のメモリ等の記憶領域に保存するか否かを判定する。ここで、保存すると判定された場合に、ステップS604において、元データ(保存済みドキュメント)の検索を行う。ステップS603の判定は、例えば、受信した入力データに添付されている情報を参照して、ユーザが保存を指定したか否かを判定しても良い。
ここで、入力データから画像処理装置内に保存されている元データを検索する方法として、入力したユーザが保存されているデータを指定する方法が最も望ましい。例えば、ユーザが、図6に示す手順の前に画像処理装置に保存された元データを自身のPC上で編集し、その編集されたドキュメントを図6に示す手順に従って処理しようとしている場合に、ユーザが元データを指定する。また、元データの検索精度や、検索速度が劣る点を許容して、入力データのファイル名と画像処理装置内に保存されているファイル名とを比較して、元データのファイル名に最も近いデータを元データとみなしても良い。また、入力データに含まれるメタデータと画像処理装置内に保存されているデータに含まれるメタデータとで文字列を比較して、一致するキーワードが最も多いデータを元データとみなしても良い。また、入力データと画像処理装置内に保存されているデータとでファイルサイズやページ数に最も近いデータを元データとみなしても良い。
ステップS604の検索の結果、ステップS605において元データが画像処理装置に存在しているか否かを判定する。ここで、元データが保存装置に存在すると判定された場合には、印刷対象の入力データ全てのページについて、ステップS606〜S612又はS613の処理を繰り返す。ステップS607において、入力データと元データとで、バイナリ形式のベクタデータでの比較を行う。
図11は、ステップS607における変換処理の結果の一例を示す図である。図11に示すデータ1101は、入力データから生成されたベクタデータの一例を示し、データ1102は、画像処理装置内に既に保存されている元データに含まれるベクタデータの一例を示す。図11に示すように、データ1101及び1102は、0と1から示されるバイナリ形式のデータである。
ステップS608において、比較の結果、差分が発生したか否かを判定する。ここで、差分が発生していないと判定された場合には、ステップS609において、画像処理装置内の元データにディスプレイリストが含まれているか否かを判定する。一方、差分が発生していると判定された場合には、ステップS610において、それぞれのバイナリ形式のベクタデータをテキスト形式に変換し、ステップS611において、テキスト形式の差分データを生成(差分データ生成)して、ステップS612に進む。
再度、図11を参照する。図11に示すデータ1103は、ステップS607において比較が行われた結果、差分が発生した場合に示されるデータの一例である。データ1103に示すように、比較する各ベクタデータのサイズと、差分の発生率と、差分箇所(アドレス示されている)とが示されている。データ1104は、ベクタデータであるデータ1101をテキスト形式に変換したテキストデータであり、データ1105は、データ1102をテキスト形式に変換したテキストデータである。データ1104又は1105には、例えば、「pixel_placement=」の記述によって、オブジェクトのエッジ情報に関係するピクセルの塗布情報が表されている。また、「OperatorType=」や「Operator=」の記述によって、ROP演算の処理ルールが表されている。即ち、データ1101とデータ1104は、バイナリとテキストのように、表現形式は異なっているが、記述内容は同じである。同様に、データ1102とデータ1105も、表現形式は異なっているが、記述内容は同じである。
データ1106は、ステップS611において生成された差分データの一例であり、データ1104とデータ1105と異なっている部分のみが表示されている。また、データ1104〜1106は、XML形式で表示されているが、ユーザに認識できる形式であれば、他の形式が用いられても良い。
図11に示すように、データ1103は、差分情報がバイナリ形式で表示されるので、ユーザによる解読が極めて困難である。しかしながら、本実施形態において生成されたデータ1106で示される差分データは、テキスト形式で表示されるので、ユーザによって容易に解読される。ステップS611において生成された差分データは、画像処理装置のメモリ等の記憶領域に保存される。
ステップS609において、画像処理装置内の元データにディスプレイリストが含まれていると判定された場合には、ステップS613において、そのディスプレイリストを選択する。一方、画像処理装置内の元データにディスプレイリストが含まれていないと判定された場合には、ステップS612に進む。
ここで、ステップS609において、ディスプレイリストが含まれていると判定された場合においても、例えば、そのディスプレイリストを用いるか否かをユーザが選択できるユーザインタフェース画面を表示するようにしても良い。その場合に、ユーザが否を選択すると、ステップS612に進み、新規にディスプレイリストを生成する。
ステップS612において、ステップS608における比較の結果、差分が発生したと判定されたベクタデータ(データ1101)からディスプレイリストを生成する。
以上のステップS607〜S612又はS613の処理が、入力データの全てのページについて行われると、ステップS5614に進む。
ここで、本実施形態においては、入力データの全てについて行う他に、ユーザによって指定されたページ(例えば、ユーザが、変更を行ったページを指定する)についてのみ、ステップS607〜S612又はS613の処理を行うようにしても良い。
ステップS614において、ステップS612及びS613で生成又は選択された各ページのディスプレイリストをマージし、入力データのディスプレイリストを生成する。ステップS615において、ステップS614において生成されたディスプレイリストを用いてレンダリング処理を行ってビットマップデータを生成し、ステップS616において印刷処理を行う。
次に、ステップS617において、ステップS612において新規に生成されたディスプレイリストがあるか否かを判定する。ここで、無しと判定された場合には、本処理を終了する。一方、有りと判定された場合には、ステップS618において、新規に生成されたディスプレイリストを元データに付加して、画像処理装置に保存する。更に、ステップS619において、ステップS611で生成された差分データへのリンク情報と、ステップS612において生成されたディスプレイリストへのリンク情報とを元データのメタデータに記述し、本処理を終了する。
再び、ステップS603を説明する。ステップS603において、入力データを画像処理装置内に保存しないと判定された場合には、ステップS621において、入力データに含まれるページ数分、ディスプレイリストを生成する。ステップS622において、生成されたディスプレイリストをレンダリングして印刷処理を行い、本処理を終了する。
再び、ステップS605を説明する。ステップS605において、元データが画像処理装置内に存在しないと判定された場合に、ステップS623において、ディスプレイリストを含むドキュメントを生成し、ステップS624において、生成されたディスプレイリストを元に印刷する。次に、ステップS625において、生成されたドキュメントを保存装置に保存し、本処理を終了する。
以上のように、本実施形態においては、入力された対象ドキュメントと画像処理装置内に既に保存されている保存済みドキュメントとをベクタデータにおいて比較する。その結果、ベクタデータが異なっている場合に、それらの差分をテキスト形式で、差分データとして生成し保存する。その結果、ユーザは、ドキュメント間のバージョン管理を行うことができる。また、差分情報がテキスト形式であるので、ユーザは、フォントサイズや文字列等の差分を容易に認識することができ、利便性を向上することができる。
更に、ユーザにより編集され入力されたドキュメントを印刷処理する場合において、画像処理装置内に既に保存されている保存済みドキュメントのディスプレイリストを用い、差分データに対応するページについてのみ新規のディスプレイリストを用いる。その結果、差分データに対応しないページ(即ち、変更のないページ)についてのディスプレイリストを生成する工数が不要であるので、印刷処理が高速化される。また、差分データに対応しないページについてのベクタデータ及びディスプレイリストを保存する必要がないので、保存の際のファイル容量を低減することができる。
<ドキュメントデータ構造>
次に、図5及び図6の処理が行われた後のドキュメントの構造について説明する。図7は、本実施形態において、図5及び図6の処理が行われた後のドキュメントのデータ構造を示す図である。ドキュメントは、複数ページからなるデータであって、図7に示すように、大きく、ベクタデータと、メタデータと、ディスプレイリストとで構成されている。またドキュメントは、ドキュメントヘッダ701を先頭とする階層構造とされている。
ベクタデータは、更に、ページヘッダ702、サマリ情報703、オブジェクト704で構成されており、メタデータは、更に、ページヘッダ705と詳細情報706で構成されている。ディスプレイリストは、更に、ページヘッダ707、描画展開用のインストラクション708から構成されている。
ドキュメントヘッダ701には、ベクタデータの格納場所とディスプレイリストの格納場所とが記述されているので、ベクタデータとディスプレイリストとはドキュメントヘッダ701によって関連付けられている。
ベクタデータは、解像度非依存な描画データである。ページヘッダ702には、ページの大きさや向きなどのレイアウト情報が記述されている。オブジェクト704には、ライン、多角形、ベジェ曲線などの描画データが1つずつリンクされており、複数のオブジェクトがまとめてサマリ情報703に関連付けられている。サマリ情報703は、複数のオブジェクトの特徴をまとめて表現するものであり、分割領域の属性情報などが記述されている。
メタデータは、描画処理には関係しない検索用の付加情報である。ページヘッダ705には、例えば、メタデータがビットマップデータから生成されたものなのか、PDLデータデータから生成されたものなのか等ページについての情報が記述されている。また、詳細情報706には、OCR情報や画像情報として生成された文字列(文字コード列)が記述される。また、ベクタデータのサマリ情報703からメタデータの詳細情報706を参照することができる。
ディスプレイリストは、レンダラがビットマップ展開するための中間コードである。ページヘッダ707には、ページ内の描画情報(インストラクション708)の管理テーブルなどが記述されており、インストラクション708は、解像度依存の描画情報で構成されている。
ここで、図5及び図6において説明したように、入力されたドキュメントから取得されたベクタデータと保存済みドキュメントのベクタデータとが異なる場合には、新たに生成されたディスプレイリスト710が、保存済みドキュメントに付加される。更に、メタデータには、保存済みドキュメントと別に保存された差分データと新たに生成されたディスプレイリスト710へのリンク情報が記述されたデータ711が付加される。
図8は、図7に示すデータ構造のメモリ上における配置と、ファイルとして構成された一例を示す図である。図8の(a)に示すように、本ドキュメントにおいて、ヘッダ領域801はメモリ領域の先頭に配置されるが、ベクタデータ領域802とメタデータ領域803とディスプレイリスト領域804は、メモリ上の任意のアドレスに配置されている。また、図8の(a)に示すように、ベクタデータからメタデータへの参照と、メタデータから新たに生成されたディスプレイリストへの参照は、ポインタによって行われている。
図8の(b)に示すように、本実施形態においては、ヘッダ領域801とベクタデータ領域802とメタデータ領域803とディスプレイリスト領域804がシリアライズされて、1つのファイルとされている。また、図8の(b)に示すように、ベクタデータからメタデータへの参照と、メタデータから新たに生成されたディスプレイリストへの参照は、オフセットによって行われている。
<コントローラユニットのデータ処理>
図9は、過去のバージョンをリストアして印刷する場合のデータフローを示す図である。ユーザが差分データを参照して、所望のバージョンの印刷処理を行うとする。その場合に、ユーザは、差分データを検索条件として、データを検索し、印刷を所望するバージョンを決定することができる。まず、変換処理(ステップS901)において、差分データを含むドキュメントのベクタデータがテキスト形式に変換される。次に、マージ処理(ステップS902)において、テキスト形式に変換されたベクタデータと差分データとがマージされ、マージ後のベクタデータが生成される。
次に、ディスプレイリスト生成処理(ステップS903)において、ディスプレイリストが生成される。次に、レンダリング処理(ステップS904)において、ディスプレイリストがレンダリングされてビットマップが生成される。最後に、印刷処理(ステップS905)において、印刷物が生成される。
図10は、過去のバージョンをリストアして印刷する処理の手順を示すフローチャートである。例えば、ユーザが外部のPCのアプリケーション上で、差分データを参照して、前バージョンのリストア及び印刷処理を開始する。まず、ステップS1001において、元データとの差分を示す差分データと、その差分データを含むドキュメントのベクタデータとを入力し、ベクタデータをテキスト形式に変換する。ステップS1002において、テキスト形式のベクタデータに差分データをテキスト形式でマージする。
次に、ステップS1003において、マージされたテキスト形式のベクタデータは、再度、バイナリ形式に変換される。ステップS1004において、バイナリ形式のベクタデータはディスプレイリストに変換される。ステップS1005において、ディスプレイリストがレンダリングされて、ビットマップデータが生成される。最後に、ステップS1006において、生成されたビットマップデータが用いられて印刷処理が行われる。
以上のようなリストア処理が行われる場合において、差分データへのリンク情報がメタデータに記述されているので、ユーザは、その差分データの情報を条件としてデータ検索を行うことができる。
本発明は、複数の機器から構成されるシステムに適用しても良いし、また、1つの機器から構成される装置に適用しても良い。例えば、スキャナ、プリンタ、PC、複写機、複合機及びファクシミリ装置が挙げられる。本発明は、前述した実施形態の各機能を実現するソフトウェア・プログラムを、システム又は装置に対して直接又は遠隔から供給し、そのシステム等に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。
従って、本発明の機能・処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の1つである。その場合に、プログラムの機能を有しているのであれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体として、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、記録媒体として、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM、DVD−R)などがある。
また、プログラムは、クライアントコンピュータのブラウザを用いてインターネット/イントラネットのウェブサイトからダウンロードするようにしても良い。即ち、該ウェブサイトから本発明のコンピュータプログラム自体、若しくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードするようにしても良い。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるウェブサイトからダウンロードすることによっても本実施形態は実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明の構成要件となる場合がある。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布してもよい。その場合に、例えば、所定条件をクリアしたユーザにのみ、インターネット/イントラネットを介してウェブサイトから暗号化を解く鍵情報をダウンロードさせ、鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールする。
また、コンピュータが、読み出したプログラム(画像処理プログラム)を実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全てを行っても良い。その場合も、前述した実施形態の機能が実現され得る。更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全てを行っても良い。このようにして、前述した実施形態の機能が実現され得る。
本実施形態における画像処理装置の全体構成を示す図である。 本実施形態におけるMFPのコントロールユニットの構成の一例を示すブロック図である。 本実施形態における画像処理装置を含む画像処理システムの全体構成を示すブロック図である。 MFPの動作を制御するコントローラ・ソフトウェアの構成を示すブロック図である。 本実施形態におけるドキュメントを画像処理する際に生成されたデータのフローを示す図である。 本実施形態におけるドキュメント印刷と保存処理の手順を示すフローチャートである。 図5及び図6の処理が行われた後のドキュメントのデータ構造を示す図である。 図7に示すデータ構造のメモリ上における配置と、ファイルとして構成された一例を示す図である。 過去のバージョンをリストアして印刷する場合のデータフローを示す図である。 過去のバージョンをリストアして印刷する処理の手順を示すフローチャートである。 ステップS607における変換処理の結果の一例を示す図である。 画像処理装置に複数のドキュメントが保存されている様子を示す図である。
符号の説明
203 ネットワーク
204 公衆回線
1101、1102、1103、1104、1105、1106 データ

Claims (7)

  1. ドキュメント間の差分を抽出する画像処理装置であって、
    対象とする対象ドキュメントのベクタデータと、前記画像処理装置に既に保存されている保存済みドキュメントのベクタデータとを比較する比較手段と、
    前記比較手段による比較の結果、異なっている場合に、前記対象ドキュメントのベクタデータ及び前記保存済みドキュメントのベクタデータをテキストデータに変換し、変換されたそれぞれのテキストデータの差分を抽出することによって、テキスト形式の差分データを生成し保存する差分データ生成手段と
    を備えることを特徴とする画像処理装置。
  2. 前記差分データ生成手段によって生成された差分データを前記保存済みドキュメントにリンクするリンク手段を更に備えることを特徴とする請求項1に記載の画像処理装置。
  3. 前記比較手段による比較の結果、異なっている場合に、前記対象ドキュメントのベクタデータからディスプレイリストを生成するディスプレイリスト生成手段と、
    前記ディスプレイリスト生成手段によって生成された前記ディスプレイリストを前記保存済みドキュメントに付加し保存する付加手段とを更に備え、
    前記ディスプレイリスト生成手段によって生成された前記ディスプレイリストを用いて印刷することを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記保存済みドキュメントのベクタデータをテキストデータに変換し、該テキストデータを前記差分データ生成手段によって生成された差分データと合成する合成手段を更に備え、
    前記合成手段によって合成されたテキストデータをベクタデータに変換し、該ベクタデータから生成されたディスプレイリストを用いて印刷することを特徴とする請求項2に記載の画像処理装置。
  5. 前記ベクタデータは、ドキュメントを記述するページ記述言語から生成されたことを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
  6. ドキュメント間の差分を抽出する画像処理装置において実行される画像処理方法であって、
    前記画像処理装置の比較手段が、対象とする対象ドキュメントのベクタデータと、前記画像処理装置に既に保存されている保存済みドキュメントのベクタデータとを比較する比較工程と、
    前記画像処理装置の差分データ生成手段が、前記比較工程における比較の結果、異なっている場合に、前記対象ドキュメントのベクタデータ及び前記保存済みドキュメントのベクタデータをテキストデータに変換し、変換されたそれぞれのテキストデータの差分を抽出することによって、テキスト形式の差分データを生成し保存する差分データ生成工程と
    を備えることを特徴とする画像処理方法。
  7. ドキュメント間の差分を抽出するための画像処理プログラムであって、
    対象とする対象ドキュメントのベクタデータと、画像処理装置に既に保存されている保存済みドキュメントのベクタデータとを比較する比較手段と、
    前記比較手段による比較の結果、異なっている場合に、前記対象ドキュメントのベクタデータ及び前記保存済みドキュメントのベクタデータをテキストデータに変換し、変換されたそれぞれのテキストデータの差分を抽出することによって、テキスト形式の差分データを生成し保存する差分データ生成手段と
    してコンピュータを機能させることを特徴とする画像処理プログラム。
JP2008154592A 2008-06-12 2008-06-12 画像処理装置、方法、及び、プログラム Expired - Fee Related JP5036636B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008154592A JP5036636B2 (ja) 2008-06-12 2008-06-12 画像処理装置、方法、及び、プログラム
US12/472,141 US8693028B2 (en) 2008-06-12 2009-05-26 Image processing apparatus, method, and medium storing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008154592A JP5036636B2 (ja) 2008-06-12 2008-06-12 画像処理装置、方法、及び、プログラム

Publications (3)

Publication Number Publication Date
JP2009301294A JP2009301294A (ja) 2009-12-24
JP2009301294A5 JP2009301294A5 (ja) 2011-07-28
JP5036636B2 true JP5036636B2 (ja) 2012-09-26

Family

ID=41414490

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008154592A Expired - Fee Related JP5036636B2 (ja) 2008-06-12 2008-06-12 画像処理装置、方法、及び、プログラム

Country Status (2)

Country Link
US (1) US8693028B2 (ja)
JP (1) JP5036636B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5760673B2 (ja) * 2011-05-16 2015-08-12 セイコーエプソン株式会社 媒体給送装置、スキャナ装置、記録装置
JP6055952B1 (ja) * 2016-05-17 2016-12-27 株式会社バイステック 画像検査装置、画像検査方法、およびプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4452012B2 (ja) * 2002-07-04 2010-04-21 ヒューレット・パッカード・カンパニー 文書の特有性評価方法
US7391917B2 (en) * 2003-02-13 2008-06-24 Canon Kabushiki Kaisha Image processing method
JP4227432B2 (ja) 2003-02-13 2009-02-18 キヤノン株式会社 画像処理方法
JP2005010841A (ja) * 2003-06-16 2005-01-13 Toyota Motor Corp 文書データ編集システム、文書データ変換装置、およびプログラム
JP3962718B2 (ja) * 2003-12-01 2007-08-22 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
JP2006209353A (ja) * 2005-01-26 2006-08-10 Sharp Corp 画像判断装置、画像形成装置、画像判断方法、画像判断プログラム、画像形成プログラムおよびコンピュータ読取り可能な記録媒体

Also Published As

Publication number Publication date
US20090310176A1 (en) 2009-12-17
US8693028B2 (en) 2014-04-08
JP2009301294A (ja) 2009-12-24

Similar Documents

Publication Publication Date Title
JP5058904B2 (ja) 画像処理装置、画像処理方法、及びそのプログラム
JP4928373B2 (ja) 画像処理装置、画像処理方法、及び、画像処理プログラム
JP5188201B2 (ja) 画像処理装置及びその制御方法、プログラム、記憶媒体
US20080180707A1 (en) Image processing apparatus, image processing system, and image processing method
US8458139B2 (en) Image processing apparatus, control method thereof, program, and storage medium
US8185504B2 (en) Image processing apparatus and image processing method
JP5258313B2 (ja) 画像処理システム、画像処理方法、及びプログラム
JP5288879B2 (ja) 印刷装置及びその制御方法、プログラム、並びに、コンピュータ読み取り可能な記憶媒体
US20090174898A1 (en) plurality of image processing in image processing system having one or more network-connected image processing apparatuses
US8264744B2 (en) Image processing apparatus, image processing method, and program to execute image processing method
US8224091B2 (en) Image processing apparatus, method of controlling the same, and program for extracting information usable for a search
JP5036636B2 (ja) 画像処理装置、方法、及び、プログラム
JP5084543B2 (ja) 画像処理装置及び画像処理方法
JP2009188677A (ja) 画像処理装置及びその処理方法
JP2010079850A (ja) 電子文書変換システム
JP2010262374A (ja) 画像形成装置及び画像形成方法ならびに画像形成方法を実行するプログラム
JP2010145889A (ja) 画像処理装置、画像処理装置の制御方法、プログラム、及び記憶媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110609

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120524

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120604

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120703

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees