(57)【特許請求の範囲】
【請求項１】
入力された文書ファイルのページから、注釈オブジェクト及びテキストオブジェクトを抽出する抽出手段と、
前記抽出された注釈オブジェクト及びテキストオブジェクトを除く前記ページ内に含まれる他のオブジェクトの数が所定の閾値以上の場合に、当該他のオブジェクトを１つのイメージオブジェクトに変換し、当該変換された１つのイメージオブジェクトを圧縮する圧縮手段と、
前記圧縮手段で圧縮されたイメージオブジェクトと、前記抽出手段で抽出された前記注釈オブジェクト及び前記テキストオブジェクトとに基づいて、ページデータを生成する生成手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記他のオブジェクトは、イメージオブジェクト又はパスオブジェクトであることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
入力された文書ファイルのページから、注釈オブジェクト及びテキストオブジェクトを抽出する抽出手段と、
前記抽出された注釈オブジェクト及びテキストオブジェクトを除く前記ページ内に含まれる他のオブジェクトを１つのイメージオブジェクトに変換し、当該変換された１つのイメージオブジェクトを圧縮する圧縮手段と、
前記圧縮手段で圧縮されたイメージオブジェクトと、前記抽出手段で抽出された前記注釈オブジェクト及び前記テキストオブジェクトとに基づいて、ページデータを生成する生成手段と、
を備え、
前記他のオブジェクトは、前記ページ内に含まれるイメージオブジェクト又はパスオブジェクトであり、
前記圧縮手段は、前記ページ内に含まれるイメージオブジェクトの数とパスオブジェクトの数との合計数が、所定の閾値以上である場合に、前記ページ内に含まれる前記イメージオブジェクトと前記パスオブジェクトとを、１つのイメージのオブジェクトに変換し、当該変換された１つのイメージオブジェクトを圧縮する、
ことを特徴とする画像処理装置。
【請求項４】
入力された文書ファイルのページから、注釈オブジェクト及びテキストオブジェクトを抽出する抽出手段と、
前記抽出された注釈オブジェクト及びテキストオブジェクトを除く前記ページ内に含まれる他のオブジェクトを１つのイメージオブジェクトに変換し、当該変換された１つのイメージオブジェクトを圧縮する圧縮手段と、
前記圧縮手段で圧縮されたイメージオブジェクトと、前記抽出手段で抽出された前記注釈オブジェクト及び前記テキストオブジェクトとに基づいて、ページデータを生成する生成手段と、
を備え、
前記他のオブジェクトは、前記ページ内に含まれるイメージオブジェクト又はパスオブジェクトであり、
イメージオブジェクトの数と比較するための第１の閾値と、パスオブジェクトの数と比較するための第２の閾値とが別個に設定され、
前記圧縮手段は、前記ページ内に含まれる前記イメージオブジェクトの数が前記第１の閾値以上であるか、前記ページ内に含まれる前記パスオブジェクトの数が前記第２の閾値以上であるか、の少なくともいずれかである場合に、前記ページ内に含まれる前記イメージオブジェクトと前記パスオブジェクトとを、１つのイメージのオブジェクトに変換し、当該変換された１つのイメージオブジェクトを圧縮する、
ことを特徴とする画像処理装置。
【請求項５】
前記他のオブジェクトの数が前記所定の閾値より少ない場合、前記圧縮手段は、前記他のオブジェクトを１つのイメージオブジェクトに変換しないことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記他のオブジェクトの数が前記所定の閾値より少ない場合、前記圧縮手段は、前記ページ内に含まれる各イメージオブジェクトを圧縮し、前記生成手段は、前記圧縮手段で圧縮された前記ページ内に含まれる各イメージオブジェクトと、前記ページ内に含まれるパスオブジェクトと、前記抽出手段で抽出された前記注釈オブジェクトおよび前記テキストオブジェクトと、に基づいて、ページデータを生成することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
入力された文書ファイルのページから、注釈オブジェクト及びテキストオブジェクトを抽出する抽出手段と、
前記抽出された注釈オブジェクト及びテキストオブジェクトを除く前記ページ内に含まれる他のオブジェクトを１つのイメージオブジェクトに変換し、当該変換された１つのイメージオブジェクトを圧縮する圧縮手段と、
前記圧縮手段で圧縮されたイメージオブジェクトと、前記抽出手段で抽出された前記注釈オブジェクト及び前記テキストオブジェクトとに基づいて、ページデータを生成する生成手段と、
を備え、
前記圧縮手段は、前記変換された１つのイメージオブジェクトを、テキスト領域と背景領域とに分割し、当該テキスト領域と背景領域とに対して、それぞれ異なる方式の圧縮処理を適用する、
ことを特徴とする画像処理装置。
【請求項８】
前記圧縮手段は、前記テキスト領域に含まれる文字画像に対しては可逆方式の圧縮処理を適用し、前記背景領域に含まれる背景画像に対しては非可逆方式の圧縮処理を適用することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
入力された文書ファイルのページから、注釈オブジェクト及びテキストオブジェクトを抽出する抽出手段と、
前記抽出された注釈オブジェクト及びテキストオブジェクトを除く前記ページ内に含まれる他のオブジェクトを１つのイメージオブジェクトに変換し、当該変換された１つのイメージオブジェクトを圧縮する圧縮手段と、
前記圧縮手段で圧縮されたイメージオブジェクトと、前記抽出手段で抽出された前記注釈オブジェクト及び前記テキストオブジェクトとに基づいて、ページデータを生成する生成手段と、
を備え、
前記入力された文書ファイルに含まれる複数のページに対して、イメージオブジェクトのリソースが共有されている場合、前記圧縮手段は、前記抽出された注釈オブジェクト及びテキストオブジェクトと、前記複数のページで共有されているイメージオブジェクトのリソースとを除く、前記ページ内に含まれる他のオブジェクトを１つのイメージオブジェクトに変換し、当該変換された１つのイメージオブジェクトを圧縮する、
ことを特徴とする画像処理装置。
【請求項１０】
入力された文書ファイルのページから、注釈オブジェクト及びテキストオブジェクトを抽出する抽出手段と、
前記抽出された注釈オブジェクト及びテキストオブジェクトを除く前記ページ内に含まれる他のオブジェクトを１つのイメージオブジェクトに変換し、当該変換された１つのイメージオブジェクトを圧縮する圧縮手段と、
前記圧縮手段で圧縮されたイメージオブジェクトと、前記抽出手段で抽出された前記注釈オブジェクト及び前記テキストオブジェクトとに基づいて、ページデータを生成する生成手段と、
を備え、
前記抽出手段は、前記入力された文書ファイルのページにおいて、注釈オブジェクト又はテキストオブジェクトの上に、不透過な色での塗りつぶしが指定されているオブジェクトが重なっている場合、当該注釈オブジェクト又はテキストオブジェクトと当該重なっているオブジェクトとを１つのイメージオブジェクトに変換し、前記不透過な色での塗りつぶしが指定されているオブジェクトが上に重なっていない注釈オブジェクト又はテキストオブジェクトを抽出する、
ことを特徴とする画像処理装置。
【請求項１１】
入力された文書ファイルのページから、注釈オブジェクト及びテキストオブジェクトを抽出する抽出ステップと、
前記抽出ステップにて抽出された注釈オブジェクト及びテキストオブジェクトを除く前記ページ内に含まれる他のオブジェクトの数が所定の閾値以上の場合に、当該他のオブジェクトを１つのイメージオブジェクトに変換し、当該変換された１つのイメージオブジェクトを圧縮する圧縮ステップと、
前記圧縮ステップにて圧縮されたイメージオブジェクトと、前記抽出ステップにて抽出された前記注釈オブジェクト及び前記テキストオブジェクトとに基づいて、ページデータを生成する生成ステップと、
を有すことを特徴とする画像処理方法。
【請求項１２】
コンピュータを、請求項１乃至１０のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書データの保存技術に関する。
【背景技術】
【０００２】
文書を保存する手法に関しては、その目的や用途に応じて従来から様々な提案がなされている。例えば特許文献１には、文書画像を保存する際のデータ量の抑制と画質維持を目的として、文書内のテキスト領域とイメージ領域の占める割合に基づいて、テキスト系文書とピクチャー系文書のいずれかに分類して保存方法を変える手法が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３３２９８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、例えばPDFのように、ページを構成するコンテンツとして、イメージの他、テキスト、パス（図形）、注釈といったオブジェクトを個別に保持可能なフォーマットの文書ファイルを保存する場合を考える。なお、注釈とは、本文を補足・強調等する目的で付される、本文とは独立したオブジェクトである。このようなフォーマットの文書ファイルを、上記特許文献１の技術を適用して保存しようとすると、ページの画像化に伴って注釈の情報が保持できなくなってしまう。加えて、ページ内のテキスト情報部分の編集もできなくなってしまう。また、文書の保存にあたっては、一般的にそのデータ量を極力抑えることも同時に求められるところ、この点に関して特許文献１は特に配慮されていない。
【課題を解決するための手段】
【０００５】
本発明に係る画像処理装置は、入力された文書ファイルのページから、注釈オブジェクト及びテキストオブジェクトを抽出する抽出手段と、前記抽出された注釈オブジェクト及びテキストオブジェクトを除く前記ページ内に含まれる他のオブジェクトの数が所定の閾値以上の場合に、当該他のオブジェクトを１つのイメージオブジェクトに変換し、当該変換された１つのイメージオブジェクトを圧縮する圧縮手段と、前記圧縮手段で圧縮されたイメージオブジェクトと、前記抽出手段で抽出された前記注釈オブジェクト及び前記テキストオブジェクトとに基づいて、ページデータを生成する生成手段と、を備えたことを特徴とする。
【発明の効果】
【０００６】
本発明によれば、ページ内に注釈やテキストを含む文書ファイルであっても、注釈やテキストの情報を保持しつつ、ファイルサイズを小さくして保存することができる。
【図面の簡単な説明】
【０００７】
【図１】画像処理装置のハードウェア構成の一例を示す図である。
【図２】文書編集アプリケーションの論理構成の一例を示すブロック図である。
【図３】実施例１に係る、文書ファイル保存処理の流れを示すフローチャートである。
【図４】文書ファイル保存の過程を示す図である。
【図５】高圧縮処理の一例を示す図である。
【図６】高圧縮処理の一例を示す図である。
【図７】イメージが共有されているケースの一例を示す図である。
【図８】実施例２に係る、文書ファイル保存処理の流れを示すフローチャートである。
【図９】実施例３の課題を説明する図である。
【図１０】実施例３に係る、文書ファイル保存処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施例について、図面を参照して説明する。なお、以下の実施例は本発明を限定するものではなく、また、本実施例で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【実施例１】
【０００９】
図１は、本実施例に係る、画像処理装置のハードウェア構成の一例を示す図である。画像処理装置１００は、例えばＰＣ等であり、ＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、汎用インターフェース（Ｉ／Ｆ）１０４、モニタ１０７、及びメインバス１０８を備える。そして、汎用Ｉ／Ｆ１０４によって、マウス、キーボードなどの入力装置１０５、及びメモリカードなどの外部メモリ１０６がメインバス１０９に接続される。ＣＰＵ１０１は、ＨＤＤ１０３に格納された所定のアプリケーション（コンピュータプログラム）を動作させることで、文章や表の作成・編集といった様々な処理を実現する。以下、図１に示す構成の画像処理装置１００において、ＣＰＵ１０１が文書編集アプリケーションを実行することで、文書ファイルに含まれる注釈やテキストの情報を保持しつつ、ファイルサイズを小さくして保存する処理について説明する。
【００１０】
（画像処理装置の論理構成）
図２は、文書編集アプリケーションの論理構成の一例を示すブロック図である。任意のアプリケーションで作成された保存対象の文書ファイルは、まずオブジェクト制御部２０１に入力される。ここで、保存対象の文書ファイルは、イメージ、テキスト、パス（図形）、注釈といった様々な属性のオブジェクト（以下、「OBJ」と表記）を個別に保持可能なフォーマットの文書ファイルを想定している。この場合のフォーマットとしては、例えば前述のPDF（Portable Document Format）が挙げられる。
【００１１】
オブジェクト制御部２０１は、まず、入力文書ファイルの各ページから注釈やテキストのオブジェクトを一旦抜き出して保持する処理（抽出処理）を行う。また、後述の圧縮処理が施されたページデータに、当該保持した注釈OBJやテキストOBJを戻す処理（復元処理）を行う。さらに、注釈及びテキストのオブジェクトが抽出された後のページ全体を１つのイメージのオブジェクトに変換する処理（変換処理）も行う。これらの処理により、オブジェクト制御部２０１は、入力文書ファイルの各ページについて、最初の状態と見た目が変わらずに、ファイルサイズを小さくした保存用データをページ毎に生成する。生成された保存用データは、文書保存部２０３に渡される。なお、本実施例では、オブジェクト調整部２０１が、抽出処理、復元処理、変換処理のすべてを担う構成としているが、処理毎に別個のモジュールを設けてもよい。
【００１２】
高圧縮処理部２０２は、ページ内にあるイメージOBJ（注釈やテキストのOBJを取り除いた後のページ全体をイメージ化して得られた全面イメージOBJを含む）に対し、領域分割を行って、それぞれの領域に適した圧縮処理を行う。
【００１３】
文書保存部２０３は、オブジェクト制御部２０１から受け取ったページ単位の保存用データを１つのファイルにまとめ、出力文書ファイルとしてＨＤＤ１０３に保存する。
【００１４】
（文書ファイルの保存の流れ）
続いて、文書編集アプリケーションにおける文書ファイル保存の一連の流れについて説明する。図３は、本実施例に係る、文書ファイル保存処理の流れを示すフローチャートである。図２で示した各処理部によって実現されるこの一連の処理は、ＣＰＵ１０１がＨＤＤ１０３に格納されている所定のプログラムをＲＡＭ１０２にロードし実行することで実現される。
【００１５】
ステップ３０１では、オブジェクト制御部２０１が、入力文書ファイルを取得する。例えば、ハードディスク１０３に保存されている文書ファイルを読み込んでRAM１０２上に展開する。
【００１６】
ステップ３０２では、オブジェクト制御部２０１が、RAM１０２に展開された文書ファイルのページのうち、処理対象として注目するページ（以下、「注目ページ」）を決定する。図４は、文書ファイルが保存されるまでの過程を、具体例と供に示した図である。図４において、注目ページとしてのページ４００は、テキストOBJ４０１、注釈OBJ４０２、イメージOBJ４０３、パスOBJ群４０４で構成されている。テキストOBJ４０１は、“今日も雨”の文字列（色：黒）が縦に2つ並んだテキスト属性のオブジェクトである。イメージOBJ４０３は、山を被写体とするイメージ属性のオブジェクトであり、その中に黒色の文字で“本日は晴天なり”と赤色の文字で“日本の山”が縦に並んだテキスト情報（イメージ内テキスト）４１０を含んでいる。ここで、テキストOBJ４０１は、文字コード、フォント情報、文字ピッチなどの情報により描画される文字データ（コード情報）である。一方、イメージ内テキスト４１０は、単純なイメージデータ（文字コードを含まない画像情報）である。このように、テキストOBJ４０１とイメージ内テキスト４１０とは、まったく性質の異なるデータである。パス属性のオブジェクトの集合であるパスOBJ群４０４は、複数の円が重なった図形を表している。パスOBJ群４０４に含まれる各パスOBJは複数の点を結ぶ直線から構成されており、点の数を増やすことで複雑な形状を表現可能である。そして、直線の色や太さの指定、直線によって囲まれる領域が存在するときはその領域内の色や透過するかどうかを指定可能である。多数の色からなる複雑な物体などを描画するときは、多数の小さなパスOBJを使用する。図４に示すパスOBJ群４０４は、10000個のパスOBJで構成されているものとする。“重要”の文字を吹き出しで示す注釈４０２は、本文を構成する上述のOBJ（テキストOBJ４０１、イメージOBJ４０３、パスOBJ群４０４）とは異なり、本文を補足等する注釈属性のオブジェクトである。注釈OBJ４０２の内容は各OBJと同様、テキスト、イメージ、パス描画などで表現される。本文を構成する各OBJには、その属性を表す属性情報が付加されており、注釈OBJには、それに加え、注釈であることを示す属性情報も付加されている。また、注釈OBJは、その表示の有無、回転方向、位置などを、本文を構成する各OBJとは別個独立に制御可能である。図３のフローの説明に戻る。
【００１７】
ステップ３０３では、オブジェクト制御部２０１が、注目ページ内に注釈OBJ又はテキストOBJがあるかどうかを、各OBJに付加された属性情報に基づいて判定する。注目ページ内に注釈OBJ又はテキストOBJが存在すればステップ３０４に進む。一方、注目ページ内に注釈OBJ又はテキストOBJが存在しなければステップ３０５に進む。図４の例では、ページ４００内に注釈OBJ４０２とテキストOBJ４０１の両方が存在するので、ステップ３０４に進むことになる。
【００１８】
ステップ３０４では、オブジェクト制御部２０１が、注目ページから注釈OBJ及びテキストOBJを抜き出して保持（RAM１０２に格納）する。注釈OBJの場合は、その外観（描画内容）を構成する情報と注釈であることを示す情報が保持されることになる。具体的には、ページ内の表示位置を示す位置座標や色・傾きの外、文字の注釈であればフォント名、フォントサイズ、文字コード列、図形の注釈であれば始点や終点、線の太さや実線/破線といった形状、イメージの注釈であればその画像データ、拡縮割合などである。また、テキストOBJの場合は、その文字を表示する位置座標、フォント名、フォントサイズ、文字コード列、色、傾きといった情報が保持されることになる。図４の例では、ページ４００から注釈OBJ４０２とテキストOBJ４０１のデータが抜き出され保持されることになる。これにより、ページ４００には、イメージOBJ４０３とパスＯＢＪ群４０４だけが残る。
【００１９】
ステップ３０５では、オブジェクト制御部２０１が、注目ページ内にイメージOBJ又はパスOBJが存在するかどうかを、各OBJに付加された属性情報に基づいて判定する。注目ページ内にイメージOBJ又はパスOBJが存在すればステップ３０６に進む。一方、注目ページ内にイメージOBJ又はパスOBJが存在しなければステップ３１３に進む。図４の例では、ページ４００内にイメージOBJ４０３とパスOBJ群４０４が存在するので、ステップ３０６に進むことになる。
【００２０】
ステップ３０６では、オブジェクト制御部２０１が、注目ページ内に存在するイメージOBJの数やパスOBJの数が所定の閾値以上かどうかを判定する。所定の閾値は、ＣＰＵ１０１の処理能力などを考慮して決定すればよい。この際、イメージOBJとパスOBJの合計数を求め、求めた合計数と１つの閾値とを比較してもよいし、イメージOBJ用とパスOBJ用とで別々に閾値を設定し、いずれかが閾値以上になるかを判定してもよい。パスOBJはイメージOBJに比べてサイズが小さく、ファイルサイズを圧迫する程度は小さい。ただし、大量に存在すると描画処理に時間が掛かることから、イメージ化して一つのOBJに変更することが望ましい。所定の閾値はこのような点を考慮して設定すればよい。判定の結果、イメージOBJやパスOBJの数が閾値以上であればステップ３０７に進む。一方、イメージOBJやパスOBJの数が閾値未満であればステップ３０８に進む。仮に閾値を1000個とすると、図４の例では、ページ４００内のイメージOBJは1個であるが、パスOBJは10000個であるので、ステップ３０７に進むことになる。
【００２１】
ステップ３０７では、オブジェクト調整部２０１が、注目ページを全面イメージ化する。この場合の注目ページとは、注釈OBJやテキストOBJが抜き出された後のページ（イメージOBJやパスOBJのみで構成されるページ）である。この全面イメージ化によって、ページ全体が１つのイメージOBJとなる。図４における符号４２０は、ページ４００から注釈OBJ４０２とテキストOBJ４０１が抜き出された後のページを全面イメージ化して得られた、ページ全体のイメージOBJを示している。このイメージOBJ４２０には、イメージOBJ４０３とパスOBJ群４０４の描画内容が含まれている。このように、一定数以上のイメージOBJやパスOBJを含むページ全体を１つのイメージOBJに変換することで、後の描画処理や印刷処理に要する時間を短縮することが可能となる。全面イメージ化の後は、ステップ３０８へ進む。
【００２２】
ステップ３０８では、オブジェクト制御部２０１が、注目ページについてのイメージOBJの中から注目するイメージOBJを決定する。この場合において、注目ページについてのイメージOBJには、注目ページ内にもともと存在したイメージOBJの他、ステップ３０７の全面イメージ化で得られたページ全体のイメージOBJが含まれる。決定された注目イメージOBJのデータは、高圧縮処理部２０２に渡される。
【００２３】
ステップ３０９では、高圧縮処理部２０２が、注目イメージOBJに対し、テキスト領域とそれ以外の背景領域とに領域分割し、それぞれの領域に応じた方式で圧縮する。もし注目イメージOBJ内に文字情報がなければ、本ステップはスルーし、次のステップ３１０に進む。以下、本ステップにおける高圧縮処理について説明する。
【００２４】
まず、注目イメージOBJを２値化し、得られたモノクロの２値画像に対して領域分割処理を行う。この場合の領域分割は、例えば特許文献１に記載されているような一般的なレイアウト解析手法で構わない。図５は、前述の具体例のケース（図４）における高圧縮処理の内容を示した図である。全面イメージ化されたイメージOBJ４２０の場合、イメージ内テキスト４１０の部分をテキスト領域５０１、それ以外の部分を背景領域５０２とした領域分割がなされることになる。そして、テキスト領域５０１に対しては、“本日は晴天なり”“日本の山”の字形（グリフ）情報で構成される２値の画像（文字画像５１０）が生成される。さらに、テキスト領域５０１については、イメージOBJ４２０と文字画像５１０とから文字色の抽出がなされ、テキスト領域５０１に対応する文字色画像５２０が生成される。この文字色画像５２０は、“本日は晴天なり”の文字色を表す黒の矩形５２１と、“日本の山”の文字色を表す赤の矩形５２２とで構成される、多値のイメージ属性の画像となる。そして、背景領域５０２については、文字画像５１０における文字領域部分を穴埋め処理した多値の背景画像５３０が生成される。そして、２値の文字画像５１０に対しては可逆方式の圧縮処理（例えばMMR圧縮）、多値の文字色画像５２０と背景画像５３０に対しては非可逆方式の圧縮処理（例えばJPEG圧縮）がそれぞれ施される。テキスト領域の字形情報について可逆圧縮を適用するのは、伸長時の画質劣化を抑え可読性を維持するためである。以上のようにして、文字情報を含むイメージOBJは、文字画像（２値）、文字色画像（多値）、背景画像（多値）の３種類の圧縮画像に変換される。
【００２５】
ステップ３１０では、オブジェクト制御部２０１が、注目ページ内に未処理のイメージOBJがあるかどうかを判定する。判定の結果、注目ページ内に未処理のイメージOBJがあれば、ステップ３０８に戻り、次のイメージOBJを決定して処理を続行する。一方、注目ページ内のイメージOBJがすべて処理されていれば、ステップ３１１に進む。ステップ３０７でページ全体が全面イメージ化されていた場合は、未処理のイメージOBJがページ内に残っている場合はないので、直ちにステップ３１１に進むことになる。
【００２６】
ステップ３１１では、オブジェクト制御部２０１が、注目ページから抜き出して保持しておいた注釈OBJ又はテキストOBJがあるかどうかを確認する。RAM１０２に注釈OBJ又はテキストOBJのデータが保持されていればステップ３１２に進む。一方、RAM１０２に注釈OBJ又はテキストOBJのデータが保持されていなければステップ３１３に進む。
【００２７】
ステップ３１２では、オブジェクト制御部２０１が、保持しておいた注釈OBJやテキストOBJを、注目ページ内に外観が維持されるように戻し、出力ファイルとしての新たなページデータを生成する。すなわち、注釈OBJやテキストOBJは、その位置や大きさ、回転角などが元ページとまったく同じ見た目になるように、注目ページ内に戻される。上述のとおり本実施例では、イメージOBJは、テキスト領域を構成する2つの画像（文字画像と文字色画像）とテキスト領域以外の領域を構成する背景画像の合計3種類のイメージに分解される。新たなページデータでは、背景画像は、文字画像と文字色画像の下の、ページ内の同じ位置、大きさに描画されるようにページ記述される。そして、イメージOBJの上に注釈OBJが重なっているケースでは、3つのイメージのさらに上に注釈OBJが描画されるようにページ記述される。
【００２８】
ステップ３１３では、オブジェクト制御部２０１が、RAM１０２に展開された文書ファイルのすべてのページを処理したかどうかを判定する。処理していないページがあれば、ステップ３０２に戻って次の注目ページを決定して処理を継続する。一方、すべてのページを処理していれば、ステップ３１４に進む。
【００２９】
ステップ３１４では、文書保存部２０３が、各ページデータをまとめて１つの保存用文書ファイルを生成し、ＨＤＤ１０３に保存する。
【００３０】
以上が、本実施例に係る文書ファイル保存処理の内容である。
【００３１】
なお、上述の高圧縮処理では、領域分割によって得られたテキスト領域を、文字画像（2値）と文字色画像（多値）の２種類の圧縮画像に変換していたが、文字色の情報をイメージではなく文字コードで表してもよい。図６は、テキスト領域における文字色の情報を文字コードで表す場合の高圧縮処理の一例を示す図である。この例では、イメージOBJ４２０に対して領域分割を行うのとは別に、文字部分の色判定を行う。そして、文字部分の色判定結果に基づき、文字色毎に２値の文字画像を生成する。図６の例では、黒色文字の“本日は晴天なり”に対応する文字画像６０１と、赤色文字の“日本の山”に対応する文字画像６０２の、2つの文字画像が生成される。そして、これら2つの文字画像（２値）に対して、可逆方式の圧縮処理がなされる。そして、色判定結果に従った文字色コード（黒色と赤色の文字色コード）が、2つの文字画像６０１及び６０２の圧縮画像それぞれと対応付けられる。このように、領域分割によって得られたテキスト領域を、文字色毎の文字画像（２値）と文字色コードに変換し、文字色毎に生成した文字画像に圧縮処理を行ってもよい。
【００３２】
また、イメージOBJを領域分割によってテキスト領域と背景領域とに分離して圧縮するのに代えて、イメージの解像度を減少させたり、圧縮率の高い手法への変更などによりイメージOBJのデータサイズを小さくしても構わない。
【００３３】
本実施例によれば、保存対象の文書ファイルのページ内に注釈やテキストが入っている場合に、それらの情報を保持しつつ、ファイルサイズを小さくすることができる。また、一定条件下でページ全体がイメージ化された場合はOBJ数が削減されているので、保存文書ファイルにおいてはページの描画処理に要する時間を短くすることが可能となる。
【実施例２】
【００３４】
実施例１は、注釈やテキストを抜き出した後のページ内のイメージOBJやパスOBJの数が閾値以上である場合に、当該ページを全面イメージ化する態様であった。しかし、複数のページでイメージOBJのリソースが共有されている場合、実施例１の手法では却ってファイルサイズが増大してしまうケースがある。ここで、イメージOBJのリソースが共有される一例を説明する。図７は、ページ７１０〜７３０の全3ページからなる文書ファイルにおいて、イメージが共有されている一例である。ページ７１０内にはイメージOBJ７１１、ページ７２０内にはイメージOBJ７２１、ページ７３０内にはイメージOBJ７３１が含まれている。そして、これら３つのイメージOBJ７１１、７２１、７３１は、1つのイメージリソース７００を共有している。また、各ページに含まれるパスOBJ群７１２、７２２、７３２はそれぞれ10000個のパスOBJで構成され、各ページにおいて独立にそのデータが保有されるものとする。ここで、仮にイメージリソース７００のデータサイズが100MB、パスOBJ群3つ分のデータサイズが10MBであるとすると、文書全体のファイルサイズは110MBとなる。実施例１の場合は、イメージOBJやパスOBJの数が閾値以上であれば各ページが全面イメージ化されるところ、各ページを全面イメージ化した結果、イメージ領域が広がることで各ページのデータサイズが150MBになったとする。この場合、各ページに存在するイメージOBJが圧縮処理によって仮に50MBになったとしても、文書全体のファイルサイズは50MB×3頁分＝150MBとなる。これでは、当初の110MBよりファイルサイズが大きくなってしまうことになる。
【００３５】
そこで、ページ内のイメージOBJやパスOBJの数が閾値以上の場合であっても、複数のページで共有されているイメージOBJが存在する場合はページの全面イメージ化を行わない態様について、実施例２として説明する。なお、実施例１と共通する内容については説明を省略ないしは簡略化し、以下では差異点を中心に説明を行うものとする。
【００３６】
図８は、本実施例に係る、文書ファイル保存処理の流れを示すフローチャートである。ステップ８０１〜８０６は、実施例１の図３のフローにおけるステップ３０１〜３０６に対応する。すなわち、取得した保存対象の文書ファイル内の注目ページに注釈OBJやテキストOBJがあれば、それらがページから抜き出され保持される（Ｓ８０１〜８０４）。さらに注目ページ内にイメージOBJやパスOBJがあれば、イメージOBJとパスOBJの合計数が閾値以上であるかどうかが判定される（Ｓ８０５、８０６）。判定の結果、イメージOBJやパスOBJの数が閾値以上であればステップ８０７に進む。一方、イメージOBJやパスOBJの数が閾値未満であればステップ８１０に進む。
【００３７】
ステップ８０７では、複数のページでリソースが共有されているイメージOBJ（以下、共有イメージOBJ）が注目ページ内に存在するかどうかが判定される。共有イメージOBJが存在する場合はステップ８０８に進む。一方、共有イメージOBJが存在しない場合はステップ８０９に進む。
【００３８】
ステップ８０８では、共有イメージOBJを除くページ全体が全面イメージ化される。すなわち、注釈OBJやテキストOBJに加え共有イメージOBJが除去されたページ（その他のイメージOBJとパスOBJのみで構成されるページ）が、本ステップにおける全面イメージ化処理の対象となる。この全面イメージ化によって、共有イメージOBJを除いたページ全体が１つのイメージOBJとなる。この全面イメージ化の後は、注目イメージOBJを決定するステップ８１０に進む。
【００３９】
ステップ８０９では、図３のフローにおけるステップ３０７と同様、注釈OBJやテキストOBJを除去した後のページが、全面イメージ化される。この全面イメージ化の後は、注目イメージOBJを決定するステップ８１０に進む。
【００４０】
ステップ８１０では、注目ページについてのイメージOBJの中から注目するイメージOBJが決定される。そして、注目イメージOBJに対して、前述の高圧縮処理が施される（ステップ８１１、図３のフローのステップ３０９に対応）。以降のステップ８１２〜８１６の各処理は、図３のフローにおけるステップ３１０〜３１４にそれぞれ対応し、特に異なる点はないので説明を省く。
【００４１】
以上のような処理により、例えば前述の図７の例では、イメージリソース分のデータサイズが50MB、パスOBJ群3つ分のデータサイズが10MBで合計60MBとなり、元の110MBよりファイルサイズを小さくすることができる。
【００４２】
本実施例によれば、複数のページでイメージリソースを共有している文書ファイルでも実施例１と同様の効果を得ることができる。
【実施例３】
【００４３】
実施例１では、注釈OBJやテキストOBJを一旦削除することになるが、これによって機密保持など情報セキュリティの観点で問題が生じる場合がある。図９にその具体例を示す。図９の例は、請求書としてのページ９００内にテキストOBJ９０１が存在し、当該テキストOBJ９０１における宛先部分を不透過の塗りつぶし矩形の注釈OBJ９０２で見えないようにしているケースである。このようなケースで実施例１を適用すると、注釈OBJをページから取り除いた後の途中の処理において、本来は見えないはずの宛先が見えてしまうことになる。また、最終的には注釈OBJは元の位置に戻されるが、例えばこの文書フォーマットがPDFの場合、PDFの編集が可能なソフトウェアによって簡単に当該注釈OBJを移動して宛先を見ることができてしまう。このような問題に対処可能な態様について、実施例３として説明する。なお、実施例１と共通する内容については説明を省略ないしは簡略化し、以下では差異点を中心に説明を行うものとする。
【００４４】
図１０は、本実施例に係る、文書ファイル保存処理の流れを示すフローチャートである。ステップ１００１〜１００３は、実施例１の図３のフローにおけるステップ３０１〜３０３に対応する。すなわち、保存対象の文書ファイルが取得され（Ｓ１００１）、注目ページが決定されると（Ｓ１００２）、当該注目ページ内に注釈OBJやテキストOBJがあるかどうか判定される（Ｓ１００３）。判定の結果、注目ページ内に注釈OBJ又はテキストOBJが存在すればステップ１００４に進む。一方、注目ページ内に注釈OBJ又はテキストOBJが存在しなければステップ１０１０に進む。
【００４５】
ステップ１００４では、オブジェクト制御部２０１が、注目ページ内で注目する注釈OBJ又はテキストOBJ（以下、注目注釈OBJ又は注目テキストOBJ）を決定する。
【００４６】
ステップ１００５では、オブジェクト制御部２０１が、注目注釈OBJもしくは注目テキストOBJが、他のOBJと重なっているかどうかを判定する。他のOBJと重なっていればステップ１００６に進む。他のOBJと重なっていなければステップ１００８に進む。図９の例では、注釈OBJ９０２とテキストOBJ９０１とは、互いに重なっている。したがって、いずれが注目するOBJであってもステップ１００６に進むことになる。
【００４７】
ステップ１００６では、オブジェクト制御部２０１が、互いに重なっているOBJのうち、上にくる方（上層側）のOBJについて、塗りつぶしが指定されているかどうかを判定する。例えば、上にくる方のOBJの色情報について、不透過色が指定されていれば塗りつぶしが指定されていると判定する。判定の結果、上にくる方のOBJについて塗りつぶしが指定されていれば、ステップ１００７に進む。一方、上にくる方のOBJについて塗りつぶしが指定されていなければステップ１００８に進む。図９の例で注釈OBJ９０２は、横長の矩形内部を不透過な黒で塗りつぶすことを指定した注釈OBJであるので、ステップ１００７に進むことになる。
【００４８】
ステップ１００７では、オブジェクト制御部２０１が、重なりのあるオブジェクト同士をまとめてイメージ化し、一つのイメージOBJを生成する。図９の例では、テキストOBJ９０１と注釈OBJ９０２とを合わせた一つのイメージOBJが生成されることになる。つまり、注釈OBJ９０１は、テキストOBJ９０１と一体化された１つのイメージOBJとなり、もはや独立した注釈OBJではなくなる。これにより、その後の処理や編集において、本来は注釈によって隠されている宛先を見られてしまうことを防ぐことができる。
【００４９】
ステップ１００８は、図３のフローにおけるステップ３０４に対応し、注目注釈OBJあるいは注目テキストOBJが、注目ページから抜き出され保持される。
【００５０】
ステップ１００９では、注目ページ内に未処理の注釈OBJ又はテキストOBJがあるかどうかが判定される。判定の結果、注目ページ内に未処理の注釈OBJ又はテキストOBJがあれば、ステップ１００４に戻り、次の注釈OBJ又はテキストOBJを決定して処理を続行する。一方、注目ページ内の注釈OBJ又はテキストOBJがすべて処理されていれば、ステップ１０１０に進む。
【００５１】
ステップ１０１０〜１０１９の各処理は、図３のフローにおけるステップ３０５〜３１４にそれぞれ対応し、特に異なる点はないので説明を省く。
【００５２】
前述の図９の例では、注釈OBJ９０２のデータがステップ１００８で保持されることはないので、ステップ１０１７においてページ内に戻されることもない。すなわち、テキストOBJ９０１内の宛先が注釈OBJ９０２によって塗りつぶされたままの状態のページが、ステップ１０１９において保存されることになる。
【００５３】
以上が、本実施例にかかわる文書保存処理の内容である。
【００５４】
本実施例によれば、注釈等のオブジェクトが、ページ内の機密情報を視認できなくする目的で使われているようなケースにおいて、機密情報を保持しつつ実施例１と同様の効果を得ることができる。
【００５５】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
0006708476.tif 000002
【図２】
0006708476.tif 000003
【図３】
0006708476.tif 000004
【図４】
0006708476.tif 000005
【図５】
0006708476.tif 000006
【図６】
0006708476.tif 000007
【図７】
0006708476.tif 000008
【図８】
0006708476.tif 000009
【図９】
0006708476.tif 000010
【図１０】
0006708476.tif 000011