(57)【特許請求の範囲】
【請求項１】
入力画像内の文字属性の領域と線画属性の領域とを識別する領域識別手段と、
前記領域識別手段で文字属性として識別された領域に含まれる文字画像をベクトルデータに変換する文字ベクトル化手段と、
前記入力画像において前記文字画像に対応する部分をその周辺の画素と同じ色に変更することにより、背景画像を作成する背景作成手段と、
前記領域識別手段で線画属性として識別された領域に含まれる線画画像をベクトルデータに変換する線画ベクトル化手段と、
前記文字ベクトル化手段で変換されたベクトルデータを第１層として格納し、前記背景作成手段で作成された背景画像を第２層として格納し、前記線画ベクトル化手段で変換されたベクトルデータを第３層として格納し、更に、描画を行う際は前記第１層のベクトルデータによって再現されるグラフィックを前記第２層の背景画像より上に描画し且つ前記第２層の背景画像を前記第３層のベクトルデータによって再現されるグラフィックより上に描画するようにした、電子データを生成する生成手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記文字ベクトル化手段で変換されたベクトルデータは、前記文字画像の輪郭をベクトル描画関数で表わしたベクトルデータであり、
前記線画ベクトル化手段で変換されたベクトルデータは、前記線画画像における各線の中心線をベクトル描画関数で表わしたベクトルデータであることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記背景作成手段は、更に、前記背景画像を圧縮する背景圧縮手段を含み、
前記生成手段で生成される電子データの前記第２層として格納される背景画像は、前記背景圧縮手段で圧縮した後の背景画像であることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記領域識別手段で文字属性として識別された領域に含まれる文字画像を文字認識処理する文字認識手段を更に有し、
前記生成手段は、前記文字ベクトル化手段で変換されたベクトルデータを前記第１層として格納し、前記背景作成手段で作成された背景画像を前記第２層として格納し、前記線画ベクトル化手段で変換されたベクトルデータを前記第３層として格納し、前記文字認識手段による文字認識結果を第４層として格納し、更に、描画を行う際は前記第１層のベクトルデータによって再現されるグラフィックを前記第２層の背景画像より上に描画し且つ前記第２層の背景画像を前記第３層のベクトルデータによって再現されるグラフィックより上に描画するようにした、電子データを生成することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記領域識別手段で線画属性として識別された領域に含まれる線画画像に対して形状認識処理を実行する形状認識手段を更に有し、
前記生成手段は、前記文字ベクトル化手段で変換されたベクトルデータを前記第１層として格納し、前記背景作成手段で作成された背景画像を前記第２層として格納し、前記線画ベクトル化手段で変換されたベクトルデータを前記第３層として格納し、前記形状認識手段による形状認識結果を第４層として格納し、更に、描画を行う際は前記第１層のベクトルデータによって再現されるグラフィックを前記第２層の背景画像より上に描画し且つ前記第２層の背景画像を前記第３層のベクトルデータによって再現されるグラフィックより上に描画するようにした、電子データを生成することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記生成手段で生成された電子データは、ユーザからの指示に基づいて、前記第１層と前記第２層とを用いた表示と、前記第１層と前記第３層とを用いた表示と、前記第２層のみを用いた表示とを、選択的に切り替えられることを特徴とする請求項１に記載の画像処理装置。
【請求項７】
入力画像内の文字属性の領域と線画属性の領域とを識別する領域識別手段と、
前記領域識別手段で文字属性として識別された領域に含まれる文字画像をベクトルデータに変換する文字ベクトル化手段と、
前記文字ベクトル化手段で変換されたベクトルデータに基づいて再現した画像と前記入力画像内の文字属性の領域とを比較したときの差異が所定の閾値より小さいか否か判定する第１判定手段と、
前記領域識別手段で線画属性として識別された領域に含まれる線画画像をベクトルデータに変換する線画ベクトル化手段と、
前記線画ベクトル化手段で変換されたベクトルデータに基づいて再現した画像と前記入力画像内の線画属性の領域とを比較したときの差異が所定の閾値より小さいか否か判定する第２判定手段と、
前記入力画像において、前記第１判定手段で差異が前記閾値より小さいと判定した文字画像に対応する部分と、前記第２判定手段で差異が前記閾値より小さいと判定した線画画像に対応する部分とを、それぞれの周辺の画素と同じ色に変更することにより、背景画像を作成する背景作成手段と、
前記文字ベクトル化手段で変換されたベクトルデータのうち前記第１判定手段で差異が前記閾値より小さいと判定したベクトルデータと、前記線画ベクトル化手段で変換されたベクトルデータのうち前記第２判定手段で差異が前記閾値より小さいと判定したベクトルデータとを第１層として格納し、前記背景作成手段で作成された背景画像を第２層として格納し、前記文字ベクトル化手段で変換されたベクトルデータのうち前記第１判定手段で差異が前記閾値以上と判定したベクトルデータと、前記線画ベクトル化手段で変換されたベクトルデータのうち前記第２判定手段で差異が前記閾値以上と判定したベクトルデータとを第３層として格納し、更に、描画を行う際は前記第１層のベクトルデータによって再現されるグラフィックを前記第２層の背景画像より上に描画し且つ前記第２層の背景画像を前記第３層のベクトルデータによって再現されるグラフィックより上に描画するようにした、電子データを生成する生成手段と、
を有することを特徴とする画像処理装置。
【請求項８】
領域識別手段が、入力画像内の文字属性の領域と線画属性の領域とを識別する領域識別ステップと、
文字ベクトル化手段が、前記領域識別ステップで文字属性として識別された領域に含まれる文字画像をベクトルデータに変換する文字ベクトル化ステップと、
背景作成手段が、前記入力画像において前記文字画像に対応する部分をその周辺の画素と同じ色に変更することにより、背景画像を作成する背景作成ステップと、
線画ベクトル化手段が、前記領域識別ステップで線画属性として識別された領域に含まれる線画画像をベクトルデータに変換する線画ベクトル化ステップと、
生成手段が、前記文字ベクトル化ステップで変換されたベクトルデータを第１層として格納し、前記背景作成ステップで作成された背景画像を第２層として格納し、前記線画ベクトル化ステップで変換されたベクトルデータを第３層として格納し、更に、描画を行う際は前記第１層のベクトルデータによって再現されるグラフィックを前記第２層の背景画像より上に描画し且つ前記第２層の背景画像を前記第３層のベクトルデータによって再現されるグラフィックより上に描画するようにした、電子データを生成する生成ステップと、
を有することを特徴とする画像処理装置の制御方法。
【請求項９】
領域識別手段が、入力画像内の文字属性の領域と線画属性の領域とを識別する領域識別ステップと、
文字ベクトル化手段が、前記領域識別ステップで文字属性として識別された領域に含まれる文字画像をベクトルデータに変換する文字ベクトル化ステップと、
第１判定手段が、前記文字ベクトル化ステップで変換されたベクトルデータに基づいて再現した画像と前記入力画像内の文字属性の領域とを比較したときの差異が所定の閾値より小さいか否か判定する第１判定ステップと、
線画ベクトル化手段が、前記領域識別ステップで線画属性として識別された領域に含まれる線画画像をベクトルデータに変換する線画ベクトル化ステップと、
第２判定手段が、前記線画ベクトル化ステップで変換されたベクトルデータに基づいて再現した画像と前記入力画像内の線画属性の領域とを比較したときの差異が所定の閾値より小さいか否か判定する第２判定ステップと、
背景作成手段が、前記入力画像において、前記第１判定ステップで差異が前記閾値より小さいと判定した文字画像に対応する部分と、前記第２判定ステップで差異が前記閾値より小さいと判定した線画画像に対応する部分とを、それぞれの周辺の画素と同じ色に変更することにより、背景画像を作成する背景作成ステップと、
生成手段が、前記文字ベクトル化ステップで変換されたベクトルデータのうち前記第１判定ステップで差異が前記閾値より小さいと判定したベクトルデータと、前記線画ベクトル化ステップで変換されたベクトルデータのうち前記第２判定ステップで差異が前記閾値より小さいと判定したベクトルデータとを第１層として格納し、前記背景作成ステップで作成された背景画像を第２層として格納し、前記文字ベクトル化ステップで変換されたベクトルデータのうち前記第１判定ステップで差異が前記閾値以上と判定したベクトルデータと、前記線画ベクトル化ステップで変換されたベクトルデータのうち前記第２判定ステップで差異が前記閾値以上と判定したベクトルデータとを第３層として格納し、更に、描画を行う際は前記第１層のベクトルデータによって再現されるグラフィックを前記第２層の背景画像より上に描画し且つ前記第２層の背景画像を前記第３層のベクトルデータによって再現されるグラフィックより上に描画するようにした、電子データを生成する生成ステップと、
を有することを特徴とする画像処理装置の制御方法。
【請求項１０】
コンピュータを、請求項１乃至７のいずれかに記載の画像処理装置として機能させるためのコンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムを格納した、コンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書画像を電子的に再利用可能なデータへと変換する技術に関する。
【背景技術】
【０００２】
近年、文書を作成する際、単に文字を打ち込むのみならず、フォントに装飾を凝らしたり、図を自由に作成したり、あるいは写真等を取りこんだりといった、高度な機能が用いられるようになっている。
【０００３】
しかし作成物の内容が高度になるほど、文書をまったく新規から作成するには大きな労力が必要される。したがって、できるだけ過去に作成した文書の一部をそのまま、あるいは加工編集したものを、再利用できるようにすることが望まれている。
【０００４】
一方、インターネットに代表されるようなネットワークの広がりにより、文書が電子的に配布される機会も増えたが、電子文書が紙に印刷された状態で配布されることも多い。
【０００５】
そのように紙文書しか手元に存在しない場合でも、その内容を紙から再利用可能なデータとして得られるようにするための技術が考えられている。たとえば、特許文献１では、紙の文書を装置に電子的に読み込ませた際に、その内容と一致する文書をデータベースから検索して取得し、読み込んだ紙面のデータの代わりに利用できることが記載されている。また、同一の文書がデータベースから特定できなかった場合は、読み込んだ文書の画像を再利用が容易な電子データへと変換するため、この場合でも文書の内容を再利用することができた。
【０００６】
従来より、文書画像を再利用が容易なデータへと変換する技術として、ベクトル化の技術（ベクトルデータへの変換技術）があった。たとえば、特許文献２および特許文献３には、二値画像中の連結画素輪郭を関数記述として得る技術が開示されている。これらの技術を用いることで、文書画像中の文字や図形の輪郭をベクトルデータに変換することが出来た。このデータを文書作成アプリーション等で利用すれば、文字単位の位置やサイズの変更さらに幾何学的変形や色付けなどが容易におこなうことができる。
【０００７】
なお、文書画像中の文字の領域、線画の領域、その他自然画や表などの各領域を識別するための領域識別手法に関しては、特許文献４などに開示されている。
【特許文献１】特開２００４−２６５３８４号公報
【特許文献２】特許第３０２６５９２号公報
【特許文献３】特開２００５−３４６１３７号公報
【特許文献４】特開平０６−０６８３０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前記ベクトル化技術を利用して、紙の文書を再利用が容易なベクトル記述の電子データに変換してしまえば、紙を保管するよりも効率的に保管しかつ利用することが可能である。
【０００９】
しかしながら、画像を最利用に適したデータに変換した際に、表示上の見た目が元の画像と変わってしまう場合がある。したがって、当該変換されたデータを画面に表示させた場合や印刷した場合に、元々の画像に等価な情報が得られないおそれがある。
【００１０】
例えば、特許文献１では、線画部分の内輪郭と外輪郭が近接しているときに、平均距離を求め、当該平均距離を線幅とする１つの線としてベクトル表現してもよいことが記載されている。しかしながら、平均値を線幅として用いているので、元画像との差が目立つ可能性がある。
【００１１】
また、特許文献２や特許文献３のベクトル化手法で画像をベクトル化した場合、連結画素内の画素色が単色であれば、ベクトル記述にひとつの色を塗ることで再現できる。しかしながら、連結画素の周囲と内部で色が異なったり、グラデーションやランダムな色が塗られている場合には、その色の抽出が困難だったり、ベクトル記述するのも困難な場合がある。
【００１２】
このように、情報抽出の限界とベクトル記述の限界とが存在するため、原画像を再利用性重視のベクトル記述に変換する場合には、表示や印刷の際に重要な見た目の等価性が得られなくなる可能性が存在する。
【００１３】
また、文字認識技術を用いて文字画像を文字コードに変換した場合、入力画像と全く同じフォント情報を変換データに含めない限り見た目の等価性は得られない。つまり、文字コードとフォントで文字画像を再現する場合、入力された文字画像と同一のフォント情報を装置が有していない可能性があるので、見た目の等価性が得られない可能性がある。また、スキャン時のノイズの影響や認識辞書における非学習未知フォントなどの影響により、文字認識技術では認識誤りが生じる場合があり、この場合も見た目の等価性が得られない可能性がある。
【課題を解決するための手段】
【００１４】
前記課題を解決するために、本発明の画像処理装置は、入力画像内の文字属性の領域と線画属性の領域とを識別する領域識別手段と、前記領域識別手段で文字属性として識別された領域に含まれる文字画像をベクトルデータに変換する文字ベクトル化手段と、前記入力画像において前記文字画像に対応する部分をその周辺の画素と同じ色に変更することにより、背景画像を作成する背景作成手段と、前記領域識別手段で線画属性として識別された領域に含まれる線画画像をベクトルデータに変換する線画ベクトル化手段と、前記文字ベクトル化手段で変換されたベクトルデータを第１層として格納し、前記背景作成手段で作成された背景画像を第２層として格納し、前記線画ベクトル化手段で変換されたベクトルデータを第３層として格納し、更に、描画を行う際は前記第１層のベクトルデータによって再現されるグラフィックを前記第２層の背景画像より上に描画し且つ前記第２層の背景画像を前記第３層のベクトルデータによって再現されるグラフィックより上に描画するようにした、電子データを生成する生成手段と、を有する。
また、前記課題を解決するために、本発明の画像処理装置は、入力画像内の文字属性の領域と線画属性の領域とを識別する領域識別手段と、前記領域識別手段で文字属性として識別された領域に含まれる文字画像をベクトルデータに変換する文字ベクトル化手段と、前記文字ベクトル化手段で変換されたベクトルデータに基づいて再現した画像と前記入力画像内の文字属性の領域とを比較したときの差異が所定の閾値より小さいか否か判定する第１判定手段と、前記領域識別手段で線画属性として識別された領域に含まれる線画画像をベクトルデータに変換する線画ベクトル化手段と、前記線画ベクトル化手段で変換されたベクトルデータに基づいて再現した画像と前記入力画像内の線画属性の領域とを比較したときの差異が所定の閾値より小さいか否か判定する第２判定手段と、前記入力画像において、前記第１判定手段で差異が前記閾値より小さいと判定した文字画像に対応する部分と、前記第２判定手段で差異が前記閾値より小さいと判定した線画画像に対応する部分とを、それぞれの周辺の画素と同じ色に変更することにより、背景画像を作成する背景作成手段と、前記文字ベクトル化手段で変換されたベクトルデータのうち前記第１判定手段で差異が前記閾値より小さいと判定したベクトルデータと、前記線画ベクトル化手段で変換されたベクトルデータのうち前記第２判定手段で差異が前記閾値より小さいと判定したベクトルデータとを第１層として格納し、前記背景作成手段で作成された背景画像を第２層として格納し、前記文字ベクトル化手段で変換されたベクトルデータのうち前記第１判定手段で差異が前記閾値以上と判定したベクトルデータと、前記線画ベクトル化手段で変換されたベクトルデータのうち前記第２判定手段で差異が前記閾値以上と判定したベクトルデータとを第３層として格納し、更に、描画を行う際は前記第１層のベクトルデータによって再現されるグラフィックを前記第２層の背景画像より上に描画し且つ前記第２層の背景画像を前記第３層のベクトルデータによって再現されるグラフィックより上に描画するようにした、電子データを生成する生成手段と、を有する。
【発明の効果】
【００１５】
本発明によれば、画像を再利用に適したベクトルデータに変換する際に、表示及び再利用に適したデータを生成することが可能になる。
【発明を実施するための最良の形態】
【００１６】
（実施例１）
図１は本実施形態１を用いたシステム構成を示す図の一例である。１００は本発明を実現するための画像処理装置の構成例である。画像処理装置１００は、読みとった文書の紙面情報を画像データに変換するスキャナ１０１と、画像データに本発明の処理を施すための電子データ生成プログラムを実行するＣＰＵ１０２と、該プログラムを実行する際のワークメモリやデータの一時保存などに利用されるメモリ１０３と、該プログラムやデータを格納するハードディスク１０４と、外部装置とデータの入出力を行うためのネットワークＩ／Ｆとから成る。パーソナルコンピュータ（ＰＣ）１２０は、画像処理装置１００とＬＡＮ１１０などのネットワークで接続され、画像処理装置から送信されたデータを受信する。ＰＣ１２０は、受信したデータを表示プロラグム１２１によって画面に表示したり、受信データの一部のデータを再利用プログラム１２２によって別の編集アプリケーションにて利用することが可能である。
【００１７】
図２は本実施形態１の動作を説明する図である。２００はスキャナ１０１から入力された画像であり、２１０はこの入力画像から電子データを生成するための電子データ生成部であり、２２０は同方式によって生成された電子データの構成を示している。なお、本実施例において、電子データ生成部２１０で行われる各処理は、ＣＰＵ１０２で電子データ生成プログラムを実行することによって実現されるものとするが、その一部又は全部を電気回路で構成するようにしても構わない。
【００１８】
ブロック２１１〜２１８は、電子データ生成部２１０で実行される各処理を模式的に示したものである。２１１は入力された文書画像中から文字、自然画、線画などの領域を識別し領域情報として出力する領域識別部である。２１２は領域識別部の領域情報から文字領域の情報を選出する文字領域選出部である。２１３は領域識別部の領域情報から線画領域の情報を選出する線画領域選出部である。２１４はカラーまたはグレーの多値入力画像を、白黒の二値画像に変換する二値化部である。２１５は文字領域の二値画像から各文字の輪郭情報を抽出し、ベクトル描画関数に変換する文字ベクトル化部である。２１６は線画領域の二値画像から線画の線素情報を抽出し、ベクトル描画関数に変換する線画ベクトル化部である。２１７は、入力多値画像において、文字領域内で前景に相当する画素情報（文字部分）を各文字部分の近傍周辺の画素色と同色で塗り潰すことにより、文字部分塗りつぶし画像を生成する前景情報塗り潰し部である。２１８は前景情報が塗り潰された多値画像（文字部分塗りつぶし画像）を背景として圧縮（例えばＪＰＥＧ圧縮）する背景圧縮部である。
【００１９】
電子データ生成部２１０によって生成された電子データ２２０は以下のようなデータの構成情報２２１〜２２３を階層構造で有する。２２１は生成電子データ中で表示用の前景層を構成する情報であり、本例では文字ベクトル化部２１５で生成されたベクトル描画関数群の記述である。２２２は生成電子データ中で表示用の背景層を構成する情報であり、本例では背景圧縮部２１８によって生成された背景画像の圧縮データ記述である。２２３は生成電子データ中で非表示用の前景層を構成する情報であり、本例では線画ベクトル化部２１６で生成されたベクトル描画関数群の記述である。
【００２０】
本発明実施形態１の動作を図３のフローチャートを用いて説明する。
ステップＳ３０１では、スキャナ１０１で読みとった文書の多値画像データを入力する。ここで画像データは２４ｂｉｔＲＧＢカラーとする。なお、この画像データは１６ｂｉｔカラーであったり、ＹＣｂＣｒであったり、または８ｂｉｔグレーであってもよい。ここでは例えば、図４のような文書が入力されたとする。４０１および４０２には黒文字、４０３には黒線画、４０４には自然画が描かれているものとする。また、下地には薄いグレーの背景４０５が描かれているものとする。
【００２１】
ステップＳ３０２では、二値化部２１４において、入力多値画像を公知の二値化手法により二値化し、白黒の二値画像を生成する。二値化は画像中の文字や線画、自然画など前景にあたる画素が黒に、それ以外の背景画素が白になるようにおこなう。このような二値化は、たとえば多値画像の輝度ヒストグラムを取得し、それらのピークから適応的に求めた閾値を用いる二値化方式などが知られている。例えば、図４の多値画像から図５の輝度ヒストグラムが作成された場合、輝度の高いピークを背景下地の画素集合とみなし、それより低い谷の部分の輝度値を閾値として選ぶことで、図６のような二値化結果を得ることができる。
【００２２】
ステップＳ３０３では、領域識別部２１１が公知の領域識別手法を用いて入力画像中の文字や線画、自然画などの領域を識別し領域情報を生成する。領域情報には、画像内での領域四辺を特定する座標情報、および領域種別を表す属性情報が含まれる。例えば、図４のような入力画像から、図７の７０１〜７０４のような４領域の情報が生成される。７０１と７０２は文字領域、７０３は線画領域、７０４は自然画領域である。
【００２３】
なお領域識別手法には、入力多値画像をそのまま領域解析する手法や、多値画像を二値化して得た二値画像に基づいて領域解析する手法、あるいは多値画像から微分エッジ情報などを生成して解析する手法などがあるが、そのいずれを用いてもよい。
【００２４】
例えば、ステップＳ３０２で生成された二値画像を利用して領域識別をおこなうことができる。特開平０６−０６８３０１号公報（特許文献４）記載の領域識別処理によれば、画像データを文字、線画、写真などの自然画、表、などの文書的、形状的な特徴で分類された領域へと分割することができる。
【００２５】
具体的には、先ず二値画像に対して８連結の黒画素輪郭追跡をおこなって黒画素の塊を抽出する。ここで面積の大きい黒画素の塊についてはその内部から４連結の白画素輪郭追跡をおこなって白画素の塊を抽出し、さらに一定面積以上の白画素の塊の内部からは再び黒画素輪郭追跡をおこなって黒画素の塊を抽出する。
【００２６】
続いて、得られた黒画素の塊を大きさや形状、密度などで分類し、必要であればグループ化して文字／図画／写真／線／表など異なる属性を持つ領域へ分類していく。たとえば、縦横比が１に近く、大きさが定められた範囲のものを文字相当の画素塊とし、そのような文字相当の画素塊が互いに近接して整列良くグループ化が可能な部分を文字領域と判定する。それらを除いた黒画素塊のうち、一定以上扁平な画素塊は単独で線領域、一定大きさ以上でかつ四角系の白画素塊を整列よく内包する黒画素塊の占める範囲を枠および表領域とする。残る不定形の画素塊のうち、黒画素密度の低い画素塊を線画領域、それ以外の画素塊および小画素塊が散在している部分をグループ化した領域を自然画領域と判定してゆく。
【００２７】
図９に多値画像（Ａ）とその二値化画像（Ｂ）、および特開平０６−０６８３０１号公報に記載されている領域識別処理によって（Ｂ）に対し領域識別をおこなった結果（Ｃ）の例を示す。領域識別結果（Ｃ）中の９０１，９０３，９０４が文字、９０２が自然画、９０５が線画、９０６が表と識別された領域である。
【００２８】
次に、ステップＳ３０４〜ステップＳ３０９の処理は、抽出された領域情報の各領域に対して順に注目して処理していくものとする。
【００２９】
ステップＳ３０４では、文字領域選出部２１２において、注目領域が文字領域であるかどうかを調べる。ステップＳ３０３で生成された領域情報はその種別を属性として持っているので、ここではその属性が文字であるかどうかを調べればよい。文字であればステップＳ３０５に、文字でなければステップＳ３０７に進む。
【００３０】
ステップＳ３０５では、文字ベクトル化部２１５において、公知の二値画像ベクトル化技術を用い、注目領域内部の文字に対して文字ベクトル情報を生成する。前記二値画像ベクトル化技術の例としては、特許第３０２６５９２号（特許文献２）や特開２００５−３４６１３７号公報（特許文献３）に開示される方法がある。
【００３１】
特許文献２では、二値画像をラスタ走査しながら注目画素とその近傍画素の状態に基づいて、水平方向及び垂直方向の画素間ベクトルを検出する。次に、これら画素間ベクトル同士の接続状態をもとに、画像データの輪郭を抽出することで、アウトラインベクトルと呼ばれる連結画素データの周回を画素間ベクトルの集合で記述する情報を生成する技術を開示している。また、特許文献３では、アウトラインベクトルを直線や２次や３次のベジェ曲線で近似することで、大きく変倍しても高画質なベクトル記述データをする技術を開示している。
【００３２】
ベクトル化対象となる文字は、二値画像内で黒色の連結画素の集合として存在しているので、前記特許文献２の技術により各文字からその輪郭をなす画素間のベクトル集合であるアウトラインベクトルが抽出される。そして、さらに特許文献３の技術により直線および曲線の関数集合であらわされるベクトル記述へと変換される。なお、入力多値画像における文字の色が黒以外の場合に対応するために、各連結画素に対応する各画素群の色を多値画像から取得し、ベクトル記述に描画色情報として追加することが望ましい。
【００３３】
ステップＳ３０６では、前景情報塗り潰し部２１７において、多値画像の注目領域内部で前景（文字部分）に相当する画素をその周辺画素と同じ色に変更する。例えば図４の文字領域に対し前景情報塗り潰し処理をおこなった結果を図８に示す。
【００３４】
この塗り潰し処理はたとえば以下のようにおこなえばよい。まず多値画像上の注目領域内をさらにＮ×Ｍ画素のブロックに分割する。Ｎ，Ｍは任意の整数であるが、ここではたとえばＮ＝Ｍ＝１６とする。次に各ブロック内で、前景部分以外の画素値平均を求める。ここで前景部分の画素とは、ステップＳ３０２で生成された二値画像上の黒画素と同じ位置にある画素のことであるから、二値画像上の注目ブロック内にある各白画素に対応する多値画像上の画素値を取得して平均値を求める。その後、ブロック内の二値画像上の注目ブロック内にある黒画素に対応する多値画像上の画素を、この平均の画素値で埋める。
【００３５】
以上の処理を入力多値画像内の各ブロックに対しておこなえば、文字領域内の前景画素情報を取り去ったのと同じ状態の多値画像が生成できる。もしもブロック内で十分に前景以外の画素値平均が得られなかったら、そのブロックには隣接する既抽出済の平均値を用いればよい。なお、スキャン時のぼけなどにより、多値画像上で文字と背景の境界が鋭敏でない場合には、二値画像の黒画素を太らせる処理をしてから上記の処理をおこなうと、処理領域をより平坦な背景面にすることもできる。
【００３６】
ステップＳ３０７では、線画領域選出部２１２が、注目領域が線画領域であるかどうかを調べる。線画であればステップＳ３０８に、線画でなければステップＳ３０９に進む。
【００３７】
ステップＳ３０８では、線画ベクトル化部２１６が、注目領域内部の線画ベクトル情報を生成する。例えば、線画ベクトル化部２１６では、特開２００４−２６５３８４号公報（特許文献１）に記載されているように、線画部分の輪郭に基づいてベクトル化を行うことができる。本実施例では、この線画部分から得たベクトルデータは、隣接している輪郭線（例えば外輪郭と内輪郭）を１本にまとめることにより、線画の中心線を表しているベクトルデータへ変換するもの（細線化ベクトルデータへの変換）とする。ここでは、線画の端点・交点ごとの線素に分割して、各線素の中心線を表すベクトルデータで表現するものとする。
【００３８】
図１６は、線画を各線素の中心線を表すベクトルデータへ変換した場合の例である。ベクトル化の元になる二値画像（ａ）を、線の中心線で表したベクトルデータに変換すると図１６（ｂ）のようになり、それらを線素ごとに分割すると図１６（ｃ）のように示される。
【００３９】
一方、文字ベクトル化処理と同様に線画の輪郭をそのまま表すベクトルデータへ変換した場合、図１６（ａ）の画像は、ひとつの外輪郭と３つの内輪郭で構成されるベクトルデータへ変換される。このベクトルデータは、図１７のように１つのオブジェクトとして表現されるので、図１６（ｃ）のように各線素の部品単位に分割することはできない。また、このベクトル記述における線は輪郭ベクトルの間の塗り潰しとして表現され、変形させる際は輪郭ベクトルごとに変形させることになるため、線幅を保ったまま、形を自由に変形させることも難しい。したがって、図１６（ｃ）のほうが再利用時の加工編集に対して優れていると言える。しかし図１６（ｃ）のような線素のベクトルデータは線の太さの情報を忠実には保存していないため、表示上の品質では図１７のような輪郭ベクトルデータのほうが原画像に忠実であると言える。
【００４０】
図３に戻り、ステップＳ３０９では、領域情報のすべての領域を処理したかどうかを調べ、処理済ならステップＳ３１０に進む。未処理の領域があるならその領域を注目領域としてステップＳ３０４に戻る。
【００４１】
ステップＳ３１０では、文字部分が周囲の画素の色で塗りつぶされた多値画像を、背景圧縮部２１８において圧縮データを生成する。圧縮方式は公知の手法を用いる。ここではＪＰＥＧ方式を用いるものとする。塗りつぶし処理後の多値画像を圧縮しているので、塗りつぶし処理を行っていない場合に比べて高圧縮になり、ファイルサイズが小さくなる。
【００４２】
ステップＳ３１１では、ステップＳ３０８で生成された線画ベクトル情報を図２の非表示前景層情報２２３として格納し、ステップＳ３１０で生成された背景圧縮データを図２の表示背景層情報２２２として格納し、ステップＳ３０５で生成された文字ベクトル情報を図２の表示前景層情報２２１として格納した出力電子データ２２０を生成する。
【００４３】
出力電子データは、曲線、直線、塗り潰しなどをベクトルデータとして記述可能なベクトル描画記述と、ＪＰＥＧ画像データの描画が可能な画像描画記述を含むグラフィック言語とにより記述される。
【００４４】
図１０は、ＸＭＬで階層構造を有する出力電子データを記述した例である。図１０の１００１は、図２の非表示前景層情報２２３に相当する線画ベクトルの記述情報の例であり、例えば、座標点列とそれらを結ぶ曲線や直線などの関数種類を指定する＜ｐａｔｈ＞という要素で構成される。１００２は、図２の表示背景層情報２２２に相当する背景画像の圧縮コードであり、具体的にはＡＳＣＩＩ文字列に変換した圧縮画像データを有す＜ｉｍａｇｅ＞という要素から成る。１００３は図２の表示前景層情報２２１に相当する文字ベクトルの記述情報である。具体的には線画同様に座標点列とそれらを結ぶ曲線や直線など関数種類を指定する＜ｐａｔｈ＞要素で構成される。
【００４５】
上述したようにして電子データ生成部２１０で生成された電子データ２２０を、パーソナルコンピュータ１２０に送信する。次に、パーソナルコンピュータ１２０において、受信した電子データを、表示用途、または再利用用途に供した場合について説明する。
【００４６】
まず表示用途に対しては、パーソナルコンピュータ１２０が実行する表示プログラム１２１により、図１０のようなグラフィック記述に基づいて表示用の画像データが生成される。この描画の様子を模式的に表したのが図１１である。先ず図１０の線画のグラフィック１００１が、レイヤ１１０１に相当する１ページ大の白紙の上に描画され、続いて背景の画像１００２がその上のレイヤ１１０２として描画され、最後に文字のグラフィック１００３が最上位のレイヤ１１０３として描画されている。ここで１１０２は１ページ分の大きさを有する画像データであるので、表示する際には、レイヤ１１０１に描画される情報はすべて隠れてしまい表示されることはない。
【００４７】
図１２は表示プログラム１２１を具備するアプリケーション画面の例である。上記説明のとおり、図１０の背景画像情報１００２上に文字ベクトル情報１００３を重ねて描画した状態の画像が表示されている。
【００４８】
一方、再利用用途に対しては、パーソナルコンピュータ１２０が実行する再利用プログラム１２２により、図１０のようなグラフィック記述に基づいて再利用可能なデータが生成される。
【００４９】
図１３は再利用プログラム１２２を具備するアプリケーション画面の例である。このアプリケーションは、電子データを読み込んで画面に画像を表示する。ここで、その表示された画像上で一部あるいは全部をユーザがマウス等の操作によって選択すると、選択部分に対応するグラフィックデータを別のアプリケーションなどに転送し、そこで編集などに再利用可能とする機能を有す。
【００５０】
ここで入力される電子データ２２０の例として、図１０のグラフィック記述データを入力した場合について説明する。このとき、図１３のアプリケーションでは、図１２と同様にグラフィック情報１００１，１００２，１００３を順に描くことにより生ずる画面１３０１を表示できる。更に、その他に、背景画像情報１００２のみを描画する画面１３０２と、背景画像情報１００２を除く１００１および１００３のみを描画する画面１３０３とを切り替えて表示することもできる。この切り替えはユーザの操作に従って選択的に表示することが可能である。そして画面１３０３では、ユーザの操作に応じて、当該表示されている文字１３０４、１３０５、線画１３０６を、各画像に対応するベクトルデータ単位（グラフィックデータの記述単位）で選択し、別の文書編集アプリケーションに転送することが可能である。
【００５１】
ユーザが画面１３０３において線画部分１３０６を選んで再利用すると指示した場合、図１０のグラフィック記述であれば、線画ベクトル情報１００３が電子データ２２０から抽出されて再利用に供される。このグラフィック記述は、図３のステップＳ３０８で生成した、線画を細線化し線素に分解した状態のベクトル記述データであるため、前述のとおり線幅を気にすることなく、加工編集することが容易にできる。その反面、細線化の影響により、図１６のように見た目が元画像データと一致しない場合がある。
【００５２】
一方、電子データ２２０を図１２の表示アプリケーションで表示した場合、線画ベクトル情報１００３のグラフィック記述は背景画像情報１００２に覆い隠され、実際に表示されるのは背景画像上に残っている線画部分の画像データである。したがって、当該線画部分に対しスキャンされた入力画像に忠実な情報を表示することができる。
【００５３】
すなわち、本実施例１によれば、線画のベクトル化記述として細線化した線素で構成されるベクトル記述を用いた場合でも、表示と再利用の両方に適したデータが生成される。
【００５４】
なお、図１０のグラフィック記述はあくまで一例であり、同じような記述仕様を持つ他のグラフィック記述言語を用いてもよい。例えば、ＳＶＧやＰＤＦなどを用いても同じ効果が得られる。
【００５５】
以上説明したように、本実施例１によれば、スキャンした文書の画像から、文字部をベクトル化した情報と線画部をベクトル化した情報を抽出し、原画像から前景の文字部分を周辺画素によって塗り潰して圧縮を施した画像を背景画像データとして抽出する。それらを非表示前景の線画ベクトルデータ、表示背景の背景画像データ、表示前景の文字ベクトルデータの順に描画するように記述された電子データへと変換する。
【００５６】
このようにして生成された電子データは、文字部分、線画部分を編集利用に適するように、それぞれベクトル化する。特に線画部分は細線化された画像からベクトル化をおこなっているので、加工編集用途に優れている。一方で、電子データを表示用途に用いる際、線画部分に対しては、編集用に細線化されたベクトル記述ではなく、原画像相当の画像情報が表示されるので、表示の品質は維持されている。すなわち、本実施例によれば、表示と再利用の両方に適する電子データを生成することが可能である。
【００５７】
（実施例２）
図１４は実施例２の動作を説明する図である。実施例２も実施例１と同様に図１に例示される構成にて実施される。１４００はスキャナ１０１から入力された画像であり、１４１０はこの入力画像から電子データを生成するための電子データ生成部であり、１４２０は同方式によって生成される電子データの構成を示している。
【００５８】
ブロック１４１１〜１４２０は、実施例２の電子データ生成部１４１０で実行される各処理を模式的に示したものである。１４１１は入力された文書画像中から文字、自然画、線画などの領域を識別し領域情報として出力する領域識別部である。１４１２は領域識別部の領域情報から文字領域の情報を選出する文字領域選出部である。１４１３は領域識別部の領域情報から線画領域の情報を選出する線画領域選出部である。１４１４はカラーまたはグレーの多値入力画像を白黒の二値画像に変換する二値化部である。１４１５は文字領域の二値画像から各文字の輪郭情報を抽出し、ベクトル描画関数に変換する文字ベクトル化部である。１４１６は線画領域の二値画像から線画の線素情報を抽出し、ベクトル描画関数に変換する線画ベクトル化部である。１４１７は、入力多値画像において、前景に相当する画素情報を各前景部分の近傍周辺の画素色と同色で塗り潰すことにより、塗りつぶし画像を得る前景情報塗り潰し部である。１４１８は前景情報が塗り潰された多値画像を背景として圧縮する背景圧縮部である。１４１９は、文字領域の各文字のベクトル描画関数を、１文字単位で表示前景情報にするか非表示前景情報にするか判別する文字ベクトル表示分類部である。１４２０は、線画領域のベクトル描画関数を線素ごとに表示前景情報にするか非表示前景情報にするか判別する線素ベクトル表示分類部である。
【００５９】
実施例２の電子データ生成部１４１０によって生成される電子データ１４３０は以下のようなデータの構成１４３１〜１４３３を有する。
【００６０】
１４３１は生成電子データ中で表示前景層を構成する情報である。本例では、文字ベクトル化部１４１５で生成された文字ベクトル情報のうち文字ベクトル表示分類部１４１９で表示前景に分類された情報と、線画ベクトル化部１４１６で生成された線画ベクトル描画情報のうち線画ベクトル表示分類部１４２０で表示前景に分類された情報とを含むベクトル描画関数群である。
【００６１】
１４３２は生成電子データ中で表示背景層を構成する情報であり、本例では背景圧縮部１４１８によって生成された背景画像の圧縮データである。
【００６２】
１４３３は生成電子データ中で非表示前景層を構成する情報である。本例では、文字ベクトル化部１４１５で生成された文字ベクトル情報のうち文字ベクトル表示分類部１４１９で表示前景に分類されなかった情報と、線画ベクトル化部１４１６で生成された線画ベクトル描画情報のうち線画ベクトル表示分類部１４２０で表示前景と分類されなかった情報とを含むベクトル描画関数群である。
【００６３】
実施例２の動作を図１５のフローチャートを用いて説明する。
ステップＳ１５０１では、スキャナ１０１で読みとった文書の多値画像データ（カラーあるいはグレースケール画像）を入力する。
【００６４】
ステップＳ１５０２では、二値化部１４１４において、入力多値画像を公知の二値化手法により二値化し、白黒の二値画像を生成する。
【００６５】
ステップＳ１５０３では、領域識別部１４１１が公知の領域識別手法を用いて入力画像中の文字や線画、自然画などの領域を識別し領域情報を生成する。
【００６６】
ここまでのステップＳ１５０１〜Ｓ１５０３は実施例１の図３のステップＳ３０１〜Ｓ３０３と同様であり、たとえば図４のカラー画像を入力すると図６の２値画像、図７の領域情報が得られる。
【００６７】
次に、ステップＳ１５０４〜ステップＳ１５１６の処理は、抽出された領域情報の各領域に対して順に注目して処理していくものとする。
【００６８】
ステップＳ１５０４では、文字領域選出部１４１２において、注目領域が文字領域であるかどうかを調べる。文字であればステップＳ１５０５に、文字でなければステップＳ１５１０に進む。
【００６９】
ステップＳ１５０５では文字ベクトル化部１４１５において、注目領域内部の文字部分に対して文字ベクトル情報を生成する。ここでベクトル化対象となる文字は、二値画像内で黒色の連結画素の集合として存在しているので、実施例１と同様に二値画像のベクトル化技術により、それらの輪郭を直線および曲線の関数集合で表現したベクトル記述へ変換する。
【００７０】
ステップＳ１５０６〜Ｓ１５０９は、注目文字領域内に存在する個々の文字単位で１文字ずつ行われる処理である。ここで個々の文字単位は文字ベクトル化部１４１５が処理の過程で抽出した連結画素単位とする。あるいは、別の公知文字抽出手法（例えばヒストグラムを用いて文字単位に分離抽出する方法）を用いて、文字領域を１文字に対応する細かい矩形領域に分割した後に、Ｓ１５０５の文字ベクトル情報を生成する処理を行うようにしてもよい。
【００７１】
ステップＳ１５０６では、文字ベクトル表示分類部１４１９において、各１文字のベクトル情報を表示前景情報に分類するか否かを判定する。表示前景情報にすると判定された場合はステップＳ１５０７に、表示前景情報にしないと判定された場合はステップＳ１５０９へ進む。
【００７２】
前記判定は、注目する１文字分のベクトル情報と入力原画像中の同部分の情報とを、表示上の画質や再現性の観点で比べた場合に、表示上（例えば、色や形状）の差異が小さければ表示前景情報にすると判定する。
【００７３】
具体的には、本例の文字ベクトル化部が生成する文字ベクトル記述は、外輪郭と内輪郭の間を単色で塗りつぶす記述で為されているため、原画像でその１文字が単一色であることが分類の条件となる。単一色であるかどうかの判定は、入力画像多値画像内で該当文字内の前景に相当する画素、すなわち二値画像で文字部分と判定された黒画素に対応する位置の画素すべてから画素値を取得し、それが同一か否かで判定すればよい。同一か否かの判定にはスキャン時のノイズやばらつきを考慮して、ＲＧＢ各成分の分散、あるいは色差成分の分散を求めて閾値と比較するようにしてもよい。
【００７４】
なお、前記判定は、本例のベクトル記述方法を用いる場合の一例であって、別のベクトル記述を用いる場合は別の観点で判定を行う事ができる。たとえばベクトルの輪郭と内部塗りで別々の色を指定する記述を用いる場合は、原画像上の画素色を輪郭と内部で別に取得し、それぞれが両方とも同一色と判定された際に表示前景情報と判定するようにすればよい。
【００７５】
図１５に戻って、ステップＳ１５０７では、ステップＳ１５０６で表示前景と分類された１文字のベクトル情報記述を、表示前景情報１４３１に追加する。この際に前記判定過程で求められた文字色情報をベクトル記述に追加する。
【００７６】
続いて、ステップＳ１５０８では前景情報塗り潰し部１４１７において、多値画像中の注目１文字の前景画素を周辺画素の色と同色に変更することによって、塗りつぶし処理を行う。具体的な塗りつぶし処理は実施例１の説明と同じように行えばよい。
【００７７】
一方、ステップＳ１５０９では、ステップＳ１５０６で表示前景と分類されなかった１文字のベクトル情報記述を、非表示前景情報１４３３に追加する。ここでＳ１５０６の判定過程でこの文字の原画像に基づいて求められた複数文字色のうち、最も主要な色をベクトル記述の描画色情報として追加してもよい。
【００７８】
以上ステップＳ１５０６〜Ｓ１５０９の処理を、文字領域内部のすべての文字に対して行った後にステップＳ１５１６へ進む。
【００７９】
ステップＳ１５１０では、文字領域選出部１４１３において、注目領域が線画領域であるかどうかを調べる。線画であればステップＳ１５１１に、線画でなければステップＳ１５１６に進む。
【００８０】
ステップＳ１５１１では、線画ベクトル化部１４１６において、注目領域内部の線画ベクトル情報を生成する。ここで、線画ベクトルは実施例１と同様の処理で生成されるものとする。
【００８１】
続くステップＳ１５１２〜Ｓ１５１５では、注目線画領域内に存在する線素単位で１線素ずつ行われる処理である。ここで個々の線素単位とはステップＳ１５１１の線画ベクトル生成過程において抽出した線素単位とする。
【００８２】
ステップＳ１５１２では、線画ベクトル表示分類部１４２０において、注目する線素のベクトル情報を表示前景情報に分類するか否かを判定する。表示前景情報と判定された場合はステップＳ１５１３に進み、表示前景情報でないと判定された場合はステップＳ１５１５へ進む。
【００８３】
前記判定は、注目する線素ベクトル情報と入力原画像中の同部分の情報とを、表示上の画質や再現性の観点で比べた場合に、表示上（例えば、色や形状）の差異が小さければ表示前景情報と判定する。具体的には本例の線画ベクトル化部が生成する線素ベクトル記述は、一定線幅かつ単色で描画する記述であるため、原画像でその線分が一定幅かつ単一色であることが分類の条件となる。
【００８４】
一定線幅であるかどうかの判定は、例えば以下のように行えばよい。まず線素の抽出過程で生成された該当線素部分のみの細線化二値画像を用意する。次に線素上にｎ等分する点を設ける。ｎはあらかじめ定めた整数であっても、線素の長さに応じて決めてもよい。次に各点から線素の局所方向に垂直な方向を求める。この方向は上下左右斜めの８方向に量子化してもよいし、もっと細かい角度に分割してもよい。そして各点から今求めた方向に、二値画像上の画素を探索して画素値が黒から白に変わるまでの探索長を求める。各点でさらに反対方向にも探索を行い、各点で得られた合計２ｎ個の探索長が統計的に一定と見なせるか判断し、一定と見なせる場合、その線素は一定幅であると判定する。またその一定探索長の２倍をその線素の線幅とする。
【００８５】
単一色であるかどうかの判定は、前記判定で利用した該当線素部分の細線化二値画像を、求めた幅の半分の回数だけ太らせ処理をおこなう。太らせ処理は公知の手法を用いればよい。例えば画像を８方向に１画素ずつシフトさせた画像をＯＲすることで、１画素太らせた画像を作成することができる。ただし線素の両端は太らせ回数だけ長くなってしまうので、あらかじめ太らせ画素分だけ短くしておくものとする。この太らせた線素画像と細線化前の二値画像のＡＮＤをとることで、注目線素のみを有する二値画像が取得できる。あとはこの二値画像の黒画素部分に相当する多値画像上での画素について、画素値の均一性を調べて、該線素が単一色であるかどうか判定する。
【００８６】
なお、前記判定は本例の線画ベクトル記述方法を用いる場合の一例であって、別の記述方式のベクトル記述を用いる場合は別の観点で判定を行えばよい。
【００８７】
図１５に戻って、ステップＳ１５１３では、ステップＳ１５１２で表示前景と分類された線素のベクトル情報記述を、表示前景情報１４３１に追加する。その際に判定過程で求められた線幅と線素色の情報を記述に追加する。
【００８８】
続いてステップＳ１５１４では前景情報塗り潰し部１４１７において、多値画像中の注目線素部分の前景画素を周辺画素と同じ色に変更することにより塗りつぶし処理を行う。具体的な塗りつぶし処理は実施例１の説明と同じように行えばよい。なお、線素の塗りつぶしには前記線素色判定で用いた各線素毎の二値画像を用いればよい。
【００８９】
ステップＳ１５１５では、ステップＳ１５１２で表示前景と判定されなかった線素のベクトル情報記述を、非表示前景情報１４３３に追加する。
【００９０】
以上ステップＳ１５１２〜Ｓ１５１５の処理を線画領域内すべての線素に対しおこなった後にステップＳ１５１６へ進む。
【００９１】
ステップＳ１５１６では、領域情報の全ての領域を処理したかどうかを調べ、処理済ならステップＳ１５１７に進む。未処理の領域があるならその領域を注目領域としてステップＳ１５０４に戻る。
【００９２】
ステップＳ１５１７では、背景圧縮部１４１８において、塗りつぶし処理後の多値画像を圧縮して圧縮データを生成する。圧縮方式は公知の手法を用いる。ここではＪＰＥＧ方式を用いるものとする。表示前景情報に対応する部分に対して、Ｓ１５０８とＳ１５１４で周辺色で塗りつぶし処理が行われているので、ＪＰＥＧ圧縮後の背景画像は、塗りつぶし処理を行っていない場合に比べて高圧縮になる。
【００９３】
ステップＳ１５１８では、ステップＳ１５０９で追加された非表示文字ベクトル情報およびステップＳ１５１５で追加された非表示線素ベクトル情報を図１４の非表示前景層情報１４３３として格納し、ステップＳ１５１７で生成された背景圧縮データを図１４の表示背景層情報１４３２として格納し、ステップＳ１５０７で追加された表示文字ベクトル情報およびステップＳ１５１３で追加された表示線素ベクトル情報を図１４の表示前景層情報１４３１として格納した出力電子データ１４３０を生成する。
【００９４】
以上説明した実施例２の電子データ生成部に対して、図１８（ａ）のような文字領域を含む多値画像を入力した場合について説明する。
【００９５】
ここで図１８（ａ）が示す文字領域は１８０１，１８０２，１８０３，１８０４の４文字を含み、うち１８０１〜１８０３は赤の縁どりで中が緑色、１８０４は黒単色であるとする。これを二値化部１４１４において二値化すると図１８（ｂ）のような二値画像が得られ、文字ベクトル化部１４１５において連結画素である１８０５，１８０６，１８０７，１８０８それぞれを文字ベクトル化する。さらに文字ベクトル表示分類部１４１９において、各連結画素内部の色情報を多値画像から取得し、単一色と判断された文字１８０８の文字ベクトルデータが表示前景情報に分類する。一方、２色が検出されて単一色でないと判断された文字１８０５〜１８０７の文字ベクトルデータは非表示前景情報に分類される。
【００９６】
このとき、出力電子データ１４３０は、図１８（ｃ）のように、１８０８のベクトル記述を含む表示前景情報１８１０と、多値画像から１８０８の前景情報を塗りつぶしにより除去した表示背景情報１８１１と、１８０５〜１８０７のベクトル記述を含む非表示前景情報１８１２の３層構造によって構成される。
【００９７】
この出力電子データを実施例１で説明した表示用アプリケーションに入力した場合の表示は図１９のようになる。図１８（ａ）の１８０１〜１８０３の色飾りがついた３文字は表示背景情報に含まれる画像データとして、黒単色の１８０４のみが文字ベクトル記述として背景画像上に描画された状態で表示され、見た目は原画像と一致している。
【００９８】
一方、出力電子データを実施例１で説明した再利用アプリケーションに入力して、図１３（ｃ）のように表示前景情報１８１０と非表示前景表示情報１８１２とを表示し、且つ背景情報１８１１は表示しないように切り替えた場合、図２０のように表示される。このとき、１８０１〜１８０３が緑単色、１８０４の文字が黒単色の、再利用に容易なベクトルデータとして取得できる状態になっている。これらの文字ベクトルデータ１８０１〜１８０４を編集アプリケーションで再利用することができる。
【００９９】
このように、実施例２によれば、多色の文字を含むような画像に対して、各々単色となるベクトル記述を用いた場合でも、表示と再利用の両方に最適な電子データを生成することができる。
【０１００】
また、実施例２の電子データ生成部に対し、図２１（ａ）のような線画領域を含む多値画像を入力した場合について説明する。
【０１０１】
ここで図２１（ａ）が示す線画は、楕円２１０１と直線２１０２が赤単色、直線２１０３は縁どりが黒で中が茶色であるとする。この多値画像を二値化し、さらに線画部分を細線化した画像が（ｂ）である。この細線化画像に基づき線画ベクトル化部１４１６において、２１０１〜２１０３のそれぞれを線素とするベクトル情報を生成する。さらに線画ベクトル表示分類部１４２０が、それぞれの線素について線幅と線色を抽出し、赤単色の２１０１と２１０２に対応する線素は表示前景情報に、非単色の２１０３に相当する線素は例えば内部の塗りの色に基づき茶色の非表示前景情報に分類される。
【０１０２】
このとき、出力電子データ１４３０は、図２１（ｃ）のように２１０１および２１０２の線素に関するベクトル記述のみを含む表示前景情報２１１０と、多値画像から２１０１および２１０２の前景情報を塗りつぶしにより除去した表示背景情報２１１１と、２１０３のベクトル記述を含む非表示前景情報２１１２との３層構造によって構成される。
【０１０３】
この出力電子データを実施例１で説明した表示用アプリケーションに入力した場合の表示は図２２のようになる。図２１（ａ）の色飾りがついた直線２１０３は表示背景情報に含まれる画像データとして表示され、一方、赤単色の楕円２１０１と直線２１０２は線素ベクトル記述として背景画像上に描画された状態で表示され、見た目は原画像と一致している。
【０１０４】
一方、同電子データを実施例１で説明した再利用アプリケーションに入力した場合に、表示前景情報と非表示前景表示情報のみを表示したのが図２３である。線画内のすべての線素が再利用に容易なベクトルデータとして取得できるようになっている。
【０１０５】
このように、実施例２によれば、多色の線画の線素を含むような画像に対して、各々単色となるベクトル記述を用いた場合でも、表示と再利用の両方に最適な電子データを生成することができる。
【０１０６】
以上説明したように、実施例２によれば、文字部をベクトル化した情報のうち単色の文字に関する情報と、線画部をベクトル化した情報のうち単色かつ一定幅の線素に関する情報とを、表示前景情報として格納する。更に、背景情報として原画像から前記表示前景情報に対応する部分を周辺画素によって塗り潰して圧縮を施した画像を格納する。更に、文字、線画それぞれで表示前景情報に分類されなかった情報を非表示前景情報として格納する。そして、それらを非表示前景のベクトルデータ、表示背景の背景画像、表示前景のベクトルデータの順に上に重ねて描画するグラフィック記述からなる電子データへと変換する。
【０１０７】
このようにして生成された電子データは、文字・線画部に関してはすべての情報がベクトルデータになっているので、編集用途に優れている。一方で、同電子データを表示用途に用いる際には、それらベクトル記述のうち、原画像との差異が少ない文字・線画部分のベクトルデータについては表示に使用される。それに対して、原画像相当の画像情報が表示できない文字・線画のベクトルデータ部分については、背景画像を用いて原画像の部分がそのまま表示される。このように構成することにより、表示の品質が維持される。すなわち、表示と再利用の両方に適する電子データを生成することが可能である。
【０１０８】
（実施例３）
図２４は実施例３の動作を説明する図である。実施例３は、実施例１と同様に図１に例示される構成にて実施される。２４００はスキャナ１０１によって入力された画像であり、２４１０はこの入力画像から電子データを生成するための電子データ生成部であり、２４３０は生成された電子データを示している。
【０１０９】
ブロック２４１１〜２４２０は、実施例３の電子データ生成部２４１０で実行される各処理を模式的に示したものである。２４１１は入力された文書画像中から文字、自然画、線画などの領域を識別し領域情報として出力する領域識別部である。２４１２は領域識別部の領域情報から文字領域の情報を選出する文字領域選出部である。２４１３は領域識別部の領域情報から線画領域の情報を選出する線画領域選出部である。２４１４はカラーまたはグレーの多値入力画像を白黒の二値画像に変換する二値化部である。２４１５は文字領域の二値画像から各文字の輪郭情報を抽出し、ベクトル描画関数に変換する文字ベクトル化部である。２４１６は線画領域の二値画像から線画の線素情報を抽出し、ベクトル描画関数に変換する線画ベクトル化部である。２４１７は文字領域内で前景に相当する画素情報を入力多値画像上で近傍周辺と同色にすることで塗り潰す前景情報塗り潰し部である。２４１８は前景情報が塗り潰された多値画像を背景として圧縮する背景圧縮部である。２４１９は文字の画像情報を認識して文字コード情報を生成する文字認識部である。２４２０は線画の画像情報を認識して形状コード情報を生成する形状認識部である。
【０１１０】
電子データ生成部２４１０によって生成される電子データ２４３０は以下のようなデータ構成２４３１〜２４３４を有する。２４３１は生成電子データ中で表示前景層を構成する情報であり、本例では文字ベクトル化部２４１５で生成された文字のベクトル描画関数群の記述である。２４３２は生成電子データ中で表示背景層を構成する情報であり、本例では背景圧縮部２４１８によって生成された背景画像の圧縮データ記述である。２４３３は生成電子データ中で非表示前景層を構成する情報であり、本例では線画ベクトル化部２４１６で生成された線画のベクトル描画関数群の記述である。２４３４は生成電子データ中で非表示意味記述層を構成する情報であり、本例では文字認識部２４１９によって生成された文字コードおよび形状認識部２４２０によって生成された形状コードの記述である。
【０１１１】
実施例３の動作を図２５のフローチャートを用いて説明する。
ステップＳ２５０１では、スキャナ１０１で読みとった文書の多値画像データを入力する。
ステップＳ２５０２では、二値化部２４１４において、入力多値画像を公知の二値化手法により二値化し、白黒の二値画像を生成する。
【０１１２】
ステップＳ３０３では、領域識別部２４１１が公知の領域識別手法を用いて入力画像中の文字や線画、自然画などの領域を識別し領域情報を生成する。
【０１１３】
ステップＳ２５０４〜Ｓ２５１１までの処理は、抽出された領域情報の各領域に対して順に注目して処理していくものとする。
【０１１４】
ステップＳ２５０４では文字領域選出部２４１２において注目領域が文字領域であるかどうかを調べる。ステップＳ２５０３で生成された領域情報はその種別を属性として持っているので、ここではその属性が文字であるかどうかを調べるだけである。文字であればステップＳ２５０５に、文字でなければステップＳ２５０８に進む。
【０１１５】
ステップＳ２５０５では文字ベクトル化部２４１５において、注目領域内部の文字部分に対して文字ベクトル情報を生成する。
【０１１６】
ステップＳ２５０６では、文字認識部２４１９において公知の文字認識技術を用いて、領域内に存在する文字画像を認識して文字コードを生成する。
【０１１７】
ステップＳ２５０７では、前景情報塗り潰し部２４１７において、注目領域内部で文字に相当する多値画像上の画素をその周辺画素と同じ色に変更する。
【０１１８】
ステップＳ２５０８では線画領域選出部２４１２において、注目領域が線画領域であるかどうかを調べる。線画であればステップＳ２５０９に、線画でなければステップＳ２５１１に進む。
【０１１９】
ステップＳ２５０９では、線画ベクトル化部２４１６において、注目領域内部の線画ベクトル情報を生成する。線画ベクトルは実施例１と同様の処理で生成されるものとする。
【０１２０】
ステップＳ２５１０では、形状認識部２４２０において、形状認識処理をおこない形状コードを生成する。
【０１２１】
形状認識処理の一例を以下に述べる。まず入力された線画領域内の二値画像に対し、一定の幅・高さへの正規化をおこなう。正規化された画像からエッジ情報を抽出し、エッジ情報に基づき特徴を抽出する。この特徴を、あらかじめ図２９のような図形パターンそれぞれを正規化して特徴抽出して作成した辞書パターンと比較し、最も類似度の高いものを選出、その種類を形状コードとして出力する。ここで同じ種類の図形に対し、たとえば１５度刻みで回転したパターンも同一形状のコードで辞書に登録しておけば、入力画像中で線画が回転していた場合にもコード化が可能である。
【０１２２】
なおこの形状認識処理はあくまで一例であって、別の方式で形状認識をおこなってもよい。
ステップＳ２５１１では、領域情報のすべての領域を処理したかどうかを調べ、処理済ならステップＳ２５１２に進む。未処理の領域があるならその領域を注目領域としてステップＳ２５０４に戻る。
【０１２３】
ステップＳ２５１２では、背景圧縮部２４１８において多値画像の圧縮データを生成する。ここではＪＰＥＧ方式を用いるものとする。
【０１２４】
ステップＳ２５１３では、ステップＳ２５０６で生成された文字認識情報とステップＳ２５１０で生成された形状認識情報とを非表示意味記述層情報２４３４として格納し、ステップＳ２５０９で生成された線画ベクトル情報を非表示前景層情報２４３３として格納し、ステップＳ２５１２で生成された背景圧縮データを表示背景層情報２４３２として格納し、ステップＳ２５０５で生成された文字ベクトル情報を表示前景層情報２４３１として格納した出力電子データ２４３０を生成する。
【０１２５】
図２６はＸＭＬ形式に従って出力電子データを記述した例である。図２６の２６００は、非表示意味記述層情報２４３４に相当する文字コードおよび形状コードの記述情報である。具体的には＜ｔｅｘｔ＞という要素内に認識された文字コード列が記述され、＜ｓｈａｐｅ＞という要素内に認識された形状コード群が記述される。２６０１は、非表示前景層情報２４３３に相当する線画ベクトルの記述情報である。具体的には、座標点列とそれらを結ぶ曲線、直線など関数種類を指定する＜ｐａｔｈ＞という要素で構成される。２６０２は表示背景層情報２４３２に相当する背景画像の圧縮コードであり、具体的にはＡＳＣＩＩ文字列に変換した圧縮画像データを有す＜ｉｍａｇｅ＞という要素から成る。２６０３は表示前景層情報２４３１に相当する文字ベクトルの記述情報である。具体的には座標点列とそれらを結ぶ曲線、直線など関数種類を指定する＜ｐａｔｈ＞要素で構成される。
【０１２６】
以上説明した電子データ生成部２４１０によって生成された電子データ２４３０を、たとえば図１のパーソナルコンピュータ１２０に送信する。次に、パーソナルコンピュータ１２０において、受信した電子データを表示用途、または再利用用途に供した場合について説明する。
【０１２７】
まず、表示用途に対しては、パーソナルコンピュータ１２０が実行する表示プログラム１２１が、図２６のようなグラフィック記述に則して表示用の画像データを生成する。この描画の様子を模式的に表したのが図２７である。先ず図２６の線画のグラフィック２６０１が、２７０１に相当する１ページ大の白紙の上に描画され、続いて背景の画像２６０２がその上に２７０２として描画され、最後に文字のグラフィック２６０３が最上位の２７０３として描画されている。ここでレイヤ２７０２は１ページ分の大きさを有する画像データであるので、通常の表示の際には、レイヤ２７０１以下の情報はすべて隠れてしまい表示されることはない。また、図２７では、非表示意味記述２６００の情報を、便宜上最下層２７００として示しているが、この層の情報は実際には表示に使用されない。
【０１２８】
図１２は表示プログラムを具備するアプリケーション画面の例である。上記説明のとおり、図２６の背景画像情報２６０２上に文字ベクトル情報２６０３を重ねて描画した状態の画像が表示されることになる。
【０１２９】
一方、再利用用途に対しては、パーソナルコンピュータ１２０が実行する再利用プログラム１２２が、図２６のようなグラフィック記述に基づいて再利用可能なデータを生成する。
【０１３０】
図２８は再利用プログラムを具備するアプリケーション画面の例である。このアプリケーションは、グラフィック選択モードと意味記述選択モードの２種類のモードを備える。グラフィック選択モードではグラフィック記述を含む電子データを読み込んで画面に表示することができる。そして、その情報の一部あるいは全部をユーザがマウス等の操作によって選択することで、選択部分に対応するグラフィックデータを別のアプリケーションなどに転送し、そこで編集などに再利用可能とする機能を有す。一方、意味記述選択モードでは、文字コードおよび形状コードを含む電子データを読み込んだ際に、画面内からユーザ指示により同部分のコード記述情報を選択し、ワープロエディタ等の別アプリケーションにて再利用する機能を有す。
【０１３１】
以下に、入力される電子データ２４３０として図２６のデータを入力した場合を例にして説明する。
まずグラフィック選択モードでは、図２６のデータに対し、図１２と同様にグラフィック情報２６０１，２６０２，２６０３を順に上に重ねて描くことにより生ずる画面２８０１と、背景画像情報１００２のみを描画する画面２８０２と、背景画像情報を除く２６０１および２６０３のみを描画する画面２８０３との３種類を、ユーザの指示に基づいて切り替えて表示選択することができる。ユーザは、それぞれの表示されている画面内で文字の部分や線画の部分を指定することにより、対応するグラフィック記述データを選択して別アプリケーションに転送することができる。
【０１３２】
次に、意味記述選択モードの画面２８０７では、表示上は画面２８０１のような表示が為されるが、ユーザが指定した部分に対して、選択されるのはグラフィック記述ではなく、当該指定部分に対応する意味記述情報２６００の文字コードである。選択されたデータは同様に別アプリケーション転送することができる。
【０１３３】
たとえば、ユーザがグラフィック選択モードの画面２８０３内で線画部分２８０６を選択して別アプリケーションへ転送する場合、転送されるのは図２６の２６０１中にある線画ベクトル情報である。この記述は図２５のステップＳ２５０９で生成した、線画を細線化し線素に分解した状態のグラフィック記述であるため、加工などの編集が容易である。その反面、細線化の影響によって見た目が元データと一致しない場合がある。
【０１３４】
一方、同部分を図１２の表示アプリケーションで表示した場合には、前述のとおり線画ベクトル情報２６０３のグラフィック記述は背景画像情報２６０２に覆い隠され、実際に表示されるのは背景画像上に残された線画部分の画像データである。したがって、表示に用いる際は、当該線画部分はスキャンされた入力画像に忠実な情報が表示される。
【０１３５】
また、ユーザが意味記述選択モードの画面２８０７内で文字部分２８０８を選択して別アプリケーションへ転送する場合、転送されるのは図２６の２６００中にある文字コード情報である。この文字コードは図２５のステップＳ２５０６で文字認識によって生成したコード情報であるため、テキストエディタ等で文字として利用することが容易である。ただし該コード情報を表示に用いると、フォントの違いや認識誤りにより見た目が一致しない場合がある。そこで、同部分は図１２の表示アプリケーションにおいて２６０３の文字輪郭をベクトル化するグラフィック記述により描画され、２６００のコード情報は描画されないので、スキャンされた入力画像に忠実な情報が表示される。
【０１３６】
なお、図２６のグラフィック記述はあくまで一例であり、同じような記述仕様を持つ他のグラフィック記述言語を用いてもよい。たとえば、ＳＶＧやＰＤＦなどを用いても同じ効果が得られる。
【０１３７】
以上説明したように、実施例３によれば、スキャンした文書の画像から、文字部をベクトル化した情報と線画部をベクトル化した情報を抽出し、原画像から前景の文字部分を周辺画素によって塗り潰して圧縮した画像を前景画像として抽出する。さらに文字の部分や線画を認識することによって得た文字コードおよび形状コードからなる意味情報を抽出する。それらを非描画の意味記述情報、および、非表示前景の線画ベクトル、表示背景の背景画像、表示前景の文字ベクトルの順に描画するグラフィック記述情報からなる電子データへと変換する。
【０１３８】
このようにして生成された電子データは、文字部分及び線画部分をベクトル化して生成されたベクトルデータを含んでいるので、グラフィック編集用途に優れたデータを再利用できるようになる。また文字、線画部を認識して文字コード・形状コードを生成して格納しているため、文字や図形などの意味を示すデータとして再利用できる。一方で、同電子データを表示用途に用いる際には、原画像相当の画像情報が表示されるため表示の品質は維持されている。また電子データ中の意味情報の記述部分には見た目の一致する表示用のグラフィック記述が保持されている。
すなわち、本発明によれば、表示と再利用の両方に適する電子データを生成することが可能である。
【図面の簡単な説明】
【０１３９】
【図１】実施例１−３の構成例を示す図
【図２】実施例１の動作を説明する図
【図３】実施例１における処理フローチャート
【図４】入力画像の例
【図５】二値化処理中の閾値抽出の例
【図６】二値化処理結果の例
【図７】領域識別結果の例
【図８】背景画像の例
【図９】領域識別処理例を説明する図
【図１０】出力データ記述の例
【図１１】出力データ構成の例
【図１２】出力データに対する表示アプリケーション画面の例
【図１３】出力データに対する再利用アプリケーション画面の例
【図１４】実施例２の動作を説明する図
【図１５】実施例２における処理フローチャート
【図１６】線画ベクトル化処理例
【図１７】文字ベクトル化処理を線画に適用した場合の例
【図１８】実施例２における文字ベクトル化処理例
【図１９】実施例２における出力データの文字部分に対する表示アプリケーション画面の例
【図２０】実施例２における出力データの文字部分に対する再利用アプリケーション画面の例
【図２１】実施例２における線画ベクトル化処理例
【図２２】実施例２における出力データの線画部分に対する表示アプリケーション画面の例
【図２３】実施例２における出力データの線画部分に対する再利用アプリケーション画面の例
【図２４】実施例３の動作を説明する図
【図２５】実施例３における処理フローチャート
【図２６】出力データ記述の例
【図２７】出力データ構成の例
【図２８】実施例３における再利用アプリケーションの画面の例
【図２９】認識される図形の例
【図１】
0004764231.tif 000002
【図２】
0004764231.tif 000003
【図３】
0004764231.tif 000004
【図４】
0004764231.tif 000005
【図５】
0004764231.tif 000006
【図６】
0004764231.tif 000007
【図７】
0004764231.tif 000008
【図８】
0004764231.tif 000009
【図９】
0004764231.tif 000010
【図１０】
0004764231.tif 000011
【図１１】
0004764231.tif 000012
【図１２】
0004764231.tif 000013
【図１３】
0004764231.tif 000014
【図１４】
0004764231.tif 000015
【図１５】
0004764231.tif 000016
【図１６】
0004764231.tif 000017
【図１７】
0004764231.tif 000018
【図１８】
0004764231.tif 000019
【図１９】
0004764231.tif 000020
【図２０】
0004764231.tif 000021
【図２１】
0004764231.tif 000022
【図２２】
0004764231.tif 000023
【図２３】
0004764231.tif 000024
【図２４】
0004764231.tif 000025
【図２５】
0004764231.tif 000026
【図２６】
0004764231.tif 000027
【図２７】
0004764231.tif 000028
【図２８】
0004764231.tif 000029
【図２９】
0004764231.tif 000030