JP5111268B2 - 画像処理装置、画像処理方法、そのプログラムおよび記憶媒体 - Google Patents

画像処理装置、画像処理方法、そのプログラムおよび記憶媒体 Download PDF

Info

Publication number
JP5111268B2
JP5111268B2 JP2008179204A JP2008179204A JP5111268B2 JP 5111268 B2 JP5111268 B2 JP 5111268B2 JP 2008179204 A JP2008179204 A JP 2008179204A JP 2008179204 A JP2008179204 A JP 2008179204A JP 5111268 B2 JP5111268 B2 JP 5111268B2
Authority
JP
Japan
Prior art keywords
character
data
character code
image
processing
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
JP2008179204A
Other languages
English (en)
Other versions
JP2010020468A (ja
JP2010020468A5 (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 JP2008179204A priority Critical patent/JP5111268B2/ja
Priority to US12/496,601 priority patent/US8320019B2/en
Publication of JP2010020468A publication Critical patent/JP2010020468A/ja
Publication of JP2010020468A5 publication Critical patent/JP2010020468A5/ja
Application granted granted Critical
Publication of JP5111268B2 publication Critical patent/JP5111268B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/413Classification of content, e.g. text, photographs or tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title

Description

本発明は、画像処理装置に関し、特に、画像データを描画要素(オブジェクト)に分割し、分割された描画要素からテキスト情報を中心としたメタデータを抽出して、これを対応する描画要素と関連付けて格納する画像処理装置に関する。
近年、デジタル複合機(Multi Function Peripheral:以下、MFPと略す)は、大容量のHDDを搭載可能になってきている。従来より、MFPには、コピー機能、PDLプリント機能、FAX機能、スキャン画像送信機能などの機能を備えているが、大容量のHDDを搭載することで、これらの機能に加えて、いわゆるBOX機能を提供できるようになってきている。BOX機能とは、原稿をスキャンして得られた画像データやプリントのためにレンダリングされた画像データを、MFP内部のHDDに格納し、あたかも画像ファイリング装置のように使用可能な機能である。
ユーザーは、このBOX機能を用いて格納した画像データを、送信したり、プリントしたり、また、他の画像と合成して出力するといった様々な操作を行うことが可能となる。この際、ユーザーの利便性のためには、目的とする画像データを効率よく検索できることが必要である。このため、画像データに対して、画像データ中から抽出したテキスト情報を検索のための検索インデックスとし、検索性の向上に役立てる技術が開発されている。
上記の先行技術は、主にスキャンされた画像データを対象としている。その処理フローとしては、まず、原稿をスキャンすることによって得られた画像データから、文字ブロックと考えられる部分を文字領域として切り出す。こうして得られた文字領域内の画像データに対して、OCR(Optical Character Recognition)処理を行う。このOCR処理(文字認識処理)によって得られた文字コードが検索のためのテキスト情報として、元の画像とともに保存される。
一方、コンピュータ上のアプリケーションで作成されたドキュメントをファイリング装置に保存するような先行技術がある。特許文献1では、ドキュメントをプリンタドライバを介してPDLデータに変換し、PDLデータ中のテキストオブジェクトから文字コードを取り出して、レンダリングされた画像データとともに、テキスト情報として保存する技術が開示されている。
特開平8−147446号公報
一方、アプリケーションの種類によっては、テキストオブジェクトを文字コードで出力しないものなども存在する。すなわち、アプリケーション上でユーザーが文字として描画したものが、PDLデータに変換された際にテキストオブジェクトにならない例や、文字コードを取り出せても検索インデックスとして使用しがたいテキストオブジェクトになる例が存在する。このようなケースでは、PDLデータ中のテキストオブジェクトから文字コードを抽出するだけでは、有効な検索インデックスを付与することができない。
以下に、そのようなケースを例示する。
1.大きいサイズのフォントの文字は、アプリケーション、ドライバ、あるいはPDL上で、線分の集まりであるPathデータとして表現され扱われる場合がある。
2.プリンタ側に指定のフォントが無い場合やグラデーションなどを多用した修飾文字の場合は、アプリケーションやドライバ上で文字がイメージデータとして扱われPDLデータとされる場合がある。
3.文字コードだけでは視覚化されるものが何か分からない場合がある(フォントの種類によって視覚化されるものが異なる)。
4.元のテキストの文字列が一文字一文字に分割されて描画コマンドになっている場合には、1文字ずつ別々のテキストデータとして得られてしまい、有意なテキストデータが得られない。
さらに言えば、上記のような問題が生じやすい飾り文字や大サイズの文字は、重要な意味をもつ場合が多く、これらのテキストの文字情報が失われるのは有効なメタデータ付与を妨げる要因となる。
上記課題を解決するために、本発明に係る画像処理装置は、PDLデータをレンダリングすることにより画像データを得るレンダリング手段と、前記レンダリング手段で得た画像データの中から文字オブジェクトを抽出する抽出手段と、前記抽出手段により抽出された文字オブジェクトに対して文字認識処理を実行することにより文字コード情報を得る文字認識手段と、前記PDLデータに含まれる第2の文字コード情報を抽出する文字コード抽出手段と、前記文字認識手段により得られた前記文字コード情報と前記文字コード抽出手段によって抽出された前記第2の文字コード情報とを比較し、当該比較結果に従って、より信頼性の高い文字コード情報を採用する統合手段と、前記統合手段によって採用された前記より信頼性の高い文字コード情報を含むメタデータを前記画像データに付与するメタデータ付与手段とを備えることを特徴とする。
本発明に拠れば、PDLデータ中のテキストオブジェクトから文字コードを抽出するよりも信頼性の高い文字コード列を抽出でき、より有効な検索インデックスを付与した文書保存を行うことができる。また、スキャン画像からの検索インデックス付き文書フォーマットによる文書保存との統一を図りつつ、PDLデータの文書保存が可能である。
<第1の実施形態>
本発明による画像処理装置およびシステムの好適な実施の形態について、以下、図面に基づいて説明する。
[画像処理システム]
はじめに、本発明の一実施形態に係る画像処理システムについて、図1を用いて説明する。図1は、当該画像処理システムの概略構成を示すブロック図である。
本実施形態の画像処理システムは、LAN101上にMFP100、および単数または複数のクライアントPC102−1〜n(ホストコンピュータ)を接続した形態をとる。MFP100とクライアントPC102に加えて、本システムは文書管理サーバ103およびこのサーバに接続されて使用されるデータベース104も備えている。
本実施形態において、MFP100は紙の原稿をスキャンすることによってその原稿の画像データを生成する。また、クライアントPC102が生成するPDLデータを受信して、PDLデータの解釈やレンダリングを行う。また、画像データを、画像記録装置(プリンタ)113によって紙媒体上に記録したり、ネットワーク上に送信したり、あるいは、MFP100自身が持つ二次記憶装置からなる記憶部115に画像データを格納・記憶したりする。画像データを格納する手段は、ネットワーク上のデータベース104であっても構わない。その際には、MFP100は文書管理サーバ103と通信を行い、データベース104に画像データが格納されるように適宜制御する。
[MFP(画像処理装置)]
続いて、本発明の一実施形態であるMFP100の構成について、図2を用いて説明する。
図2は、MFP100の構成を示すブロック図である。
MFP100は、図示しないAuto Document Feeder(以下、ADF)を有する画像読み取り装置110を備える。この画像読み取り部装置110は束状の或いは1枚の原稿の画像を光源で照射し、反射画像をレンズを介して固体撮像素子上に結像する。固体撮像素子は所定解像度(例えば600dpi)および所定輝度レベル(例えば8ビット階調)の画像読み取り信号を生成し、この画像読み取り信号から、ラスターデータよりなる画像データが構成される。画像読み取り装置110で読み取られた画像データは、読み取り画像処理部111によってMFP100内部で処理しやすい画像データに補正処理される。具体的には、読み取り画像処理部111は、ノイズ除去処理、ガンマ補正処理、色再現補正処理、フィルタ処理などを行う。
MFP100は、記憶部115および画像記録装置113を有し、通常の複写機能を実行する際には、読み取り画像処理部111で処理された画像データに対し、さらに出力画像処理部112によって画像記録装置用の画像処理を行って、記録信号に変換する。複数枚複写する場合には、1頁分の記録信号を一旦記憶部115に記憶保持した後、画像記録装置113に順次出力して、記録紙上に記録画像を形成する。
MFP100は、LAN101との接続のためのネットワークI/F114を有し、クライアントPC102からプリンタドライバを利用して出力するPDLデータを、画像記録装置113によって記録する機能を持つ。クライアントPC102からプリンタドライバを経由して出力されるPDLデータは、LAN101からネットワークI/F114を経て記憶部115の一部に保存される。保存されたPDLデータは取り出されて、ROM120あるいは記憶部115からRAM119にロードされたプログラムをCPU118が実行することによって実現される後述のPDL処理およびレンダリング処理によって、Bitmapデータとして展開される。そして、このBitmapデータに対し出力画像処理部112で、画像記録装置用の画像処理を行って記録可能な記録信号に変換する。この記録信号は、画像記録装置113に送出されて、記録紙上に記録画像として記録される。
また、記憶部115は、画像読み取り装置110からのデータやクライアントPC102からプリンタドライバを経由して出力される、PDLデータをレンダリングしたデータを保存できる機能(以下、この機能をBOX機能と称す)を有している。
MFP100は、MFP100を操作するためのユーザーインターフェースとして、入力装置116と表示装置117を備えている。表示装置117上には、MFP100の状態を表す情報やBOX機能により保存した画像データが表示される。また、表示装置117はタッチパネルを備え、表示装置117上に表示されたボタンをユーザーが触れることでユーザーの操作による指定入力を行うことができる。このほかのユーザー入力を受け付ける装置として、入力装置116は数値の入力を行うためのキーを備えている。
MFP100の上記構成要素は、CPU118で動作するRAM119上のプログラムによって、内部バス121を介して制御される。
[MFPの各機能の動作]
次に、本実施形態におけるMFPの持つ機能について、図3〜6を用いて説明する。図3は、MFP100のコピー機能・スキャン送信機能・BOX機能を実現する各処理ブロックによる処理の流れを示す図である。図4は、PDLデータに対するPDL処理機能・BOX機能について各処理ブロックによる処理の流れを示している。これらの機能は、一例として図5に示すUI画面500からのユーザー指示によって処理が開始される。
図5において、上部に位置するコピータブ504、送信FAXタブ503、BOXタブ501といった各機能別のタブによって、MFP100にどの機能を働かせるかをユーザーに選択させる。図面上では、BOXタブ501が選択されているので、この時に読み込みスタートボタン502を押下すると、MFP100はBOX格納を行うように制御する。他のタブにも502と同様にその機能を働かせるスタートボタンがあり、BOX機能の開始の場合と同様に、ボタン押下で該当する機能の処理をスタートするようにする。
MFP100は、コピー機能・スキャン送信機能・BOX機能のいずれの場合においても、画像読み取り装置110で紙の原稿を読み取り、画像データを得るように制御する。その次に読み取り画像処理部111でスキャン画像用の画像処理を行い、記憶部115の一部を用いて実現する一時的な画像データ保存領域であるBitmapスプール(レンダリングバッファ)201にBitmapデータを保存する。
コピー機能使用時は、Bitmapスプール201から取り出したBitampデータを出力画像処理部112で画像処理を行って記録信号に変換してから、画像記録装置113に出力するように制御する。
スキャン送信機能においては、CPU118上で動作するプログラムによって実現される画像送信処理部202により、ネットワークI/F114を介して、UI上で指定されたIPアドレスを持つPC等の機器に対して、画像データを送るように制御する。
最後にBOX機能においては、Bitmapスプール201から取り出したBitmapデータを、CPU上で動作するプログラムによって実現される画像格納処理部200で処理したあと、記憶部115に記憶するようにする。ここで述べた画像格納処理については、後ほど詳細に説明を加える。
MFP100が持つPDL処理機能は、ユーザーがクライアントPC上のアプリケーション301でプリント指示を行うところから処理が始まる。図4に示すように、クライアントPC102上で動作するアプリケーション301から、プリンタドライバ302にアプリケーションデータが描画情報として渡される。このデータは、プリンタドライバ302でPostScriptやLIPSなどのPDL言語に従うデータ(PDLデータ)に変換されて、クライアントPC102のネットワークI/F(不図示)を介してネットワーク送信される。
MFP100はネットワークI/F114で受信したPDLデータを、PDLデータの一時保存領域であるPDLデータスプール303に保存する。いったんスプールされたPDLデータは取り出された後に、PDL処理部304によって言語解釈されて、レンダラ305が処理できる中間的なデータ構造であるDisplayListを生成する。レンダラ305は生成されたDisplayListをBitmapデータに展開して、Bitmapスプール201に一時保存する。
MFP100は、プリンタドライバ302の指示が印刷であれば、Bitmapスプール201から画像データを取り出した後に、出力画像処理部112による画像処理を行い、画像記録装置113に記録信号を送出して処理を終える。プリンタドライバの指示が画像データの保存である場合には、後述の画像格納処理200を行った後に、記憶部115に画像データを格納するようにする。
プリンタドライバの指示については、図6に示すように、保存を指定するUI項目602と印刷を指定するUI項目601によって、保存指示か、印刷指示かをユーザーに選択させる。
[画像格納処理]
次に、画像格納処理について図7を用いて説明する。
図7は、画像格納処理部200の構成を示すブロック図である。
MFP100におけるUI500あるいはドライバUI600によって、文書の保存が指示された場合に、Bitmapスプール201から取り出した画像データをBOXに保存するために行う画像格納処理部の処理の流れの一例を図7に示す。
MFP100は、Bitmapスプール201から取り出した画像データを、まず、オブジェクト分割処理部701によって、オブジェクトを含む領域毎に領域分割することによりオブジェクト分割を行う。
オブジェクト分割後のオブジェクトの種類は、文字、写真、グラフィック(図面、線画、表)、背景、である。このオブジェクト分割処理においては、ビットマップデータのままで、オブジェクト毎にそれを含むように画像領域分割を行い、分割された各々の画像領域に対して、周知の手法でオブジェクトの種類(文字、写真、グラフィック、背景)を判別する。
判別対象の画像領域が写真オブジェクトと判別された場合、この領域は、JPEG圧縮処理部702において、JPEG圧縮される。また、背景の場合も同様に、JPEG圧縮される。一方、オブジェクト判別の結果が、グラフィックの場合、ベクトル化処理部703において、ベクトル化処理され、パス化されたデータに変換される。また、オブジェクト判別の結果が、文字の場合には、ベクトル化処理部703において、グラフィックと同様にベクトル化処理され、パス化されたデータに変換される。それとともに、文字の場合には、OCR処理部704にも当該分割領域のBitmapデータが送られ、そのデータに対しOCR処理が施され、文字コード化されたデータが抽出される。これらの全てのオブジェクトデータと、文字コード化されたデータが一つのファイルとしてまとめられる。
最後に、メタデータ付与処理部705において、各オブジェクトに対して、生成されたメタデータが付与される。このメタデータが付与された各々のオブジェクトデータは、MFP100に内蔵されているBOX115に保存される。ここで保存されたデータは、UI画面に表示するようにしてもよい。
以下では、メタデータ付与処理、オブジェクト分割処理、ベクトル化処理について、さらに詳細に説明する。
[メタデータ付与処理]
まず、メタデータ付与処理について、図8を用いて説明する。
図8は、メタデータ付与処理部705で行うメタデータ付与処理のフローチャートである。
まず、ステップS801において、メタデータを付与するオブジェクトの周囲で一番近くに存在する文字オブジェクトを選択する。
次に、ステップS802において、ステップS801で選択された文字オブジェクトに対して、形態素解析を行う。
次いで、ステップS803において、ステップS802における形態素解析により抽出された単語をメタデータとして、これを対象のオブジェクトに付加する。なお、メタデータ付与対象のオブジェクトが文字オブジェクトの場合もあり、このときの、周囲で一番近くにあるオブジェクトは、この文字オブジェクト自身をも含む。すなわち、この場合、文字オブジェクトから抽出した単語がその文字オブジェクトのメタデータとして付与されることとなる。
また、メタデータの作成には、形態素解析によって抽出した単語だけではなく、そのオブジェクトから抽出した色ヒストグラムなどの画像特徴量や、形態素解析だけでなく、より高度な構文解析等により得られる文章要約情報なども含めることが可能である。
このようにして得られたメタデータは、オブジェクトの各々に対して記述されて、オブジェクトの画像データ(ベクトル化またはJPEG圧縮されたデータ)とともに、BOXに保存される。
[ベクトル化結果のデータフォーマット]
次に、ベクトル化処理部703でベクトル化されたデータのフォーマットについて、図9を用いて説明する。
図9は、ベクトル化処理部703でベクトル化されたデータのフォーマットの一例を示す図である。本実施形態では、ベクトル化処理部703でベクトル化されたデータをSVG形式で表記しているが、これに限定されるものではない。
図9では説明のために、オブジェクトの表記を枠で囲っている。枠:901はイメージ属性を示し、そこには、イメージオブジェクトの領域の示す領域情報とビットマップ情報が示されている。枠:902はテキストオブジェクトの情報が示されており、枠:903では、枠:902で示した内容、すなわちテキストオブジェクトの情報をベクターオブジェクトとして表現している。枠:904は、表オブジェクトなどのラインアートを表す。
メタデータ付与処理部705で付与されるメタデータは、例えば、それが“山田 太郎”である場合、各ブロックの末尾に、以下の、
<metadata>
<text_index>山田 太郎</text_index>
</metadata>
のように付与すればよい。
[オブジェクト分割処理]
次に、オブジェクト分割処理について、図10、11を用いて説明する。
図10は、オブジェクト分割処理による画像データのオブジェクト分割結果の一例を示す図である。また、図11は、オブジェクト分割したときの各属性のブロック情報および入力ファイル情報の例を示す図である。
オブジェクト分割処理部701は、図10右側の画像1002に示すように、入力画像1001(図10左側)を属性ごとに矩形ブロックに分割する。前述のように、本実施形態においては、矩形ブロックの属性としては、文字、写真、グラフィック(図面、線画、表など)とするが、もちろん、これに限られるものではなく、色文字や黒文字、あるいは自然画像やCG画像などに細分化することも可能である。
オブジェクト分割処理においては、まず、Bitmapスプール201から取り出されてRAM上に格納されたイメージデータを白黒に2値化し、黒画素からなる輪郭で囲まれる画素塊を抽出する。
さらに、このように抽出された画素塊のうち黒画素塊の大きさを評価し、大きさが所定値以上の黒画素塊の内部にある白画素塊に対する輪郭追跡を行う。さらに、白画素塊に対する大きさ評価、およびその内部の黒画素塊の追跡というように、内部の画素塊の大きさが所定値以上である限り、再帰的に内部の画素塊の抽出、および輪郭追跡を行う。なお、画素塊の大きさは、例えば画素塊の面積によって評価される。
このようにして得られた画素塊に外接する矩形ブロックを生成し、矩形ブロックの大きさ、および形状に基づき属性を判定する。
例えば、縦横比が1に近く、大きさが一定の範囲の矩形ブロックは文字領域矩形ブロックの可能性がある文字相当ブロックとする。そして、近接する文字相当ブロックが規則正しく整列しているときに、これら文字相当ブロックを纏めた新たな矩形ブロックを生成し、この新たな矩形ブロックを文字領域矩形ブロックとする。
また扁平な画素塊、もしくは、一定大きさ以上でかつ四角形の白画素塊を整列した状態で内包する黒画素塊をグラフィック領域矩形ブロック、それ以外の不定形の画素塊を写真領域矩形ブロックとする。
オブジェクト分割処理では、このようにして生成された矩形ブロックのそれぞれについて、図11に示す、属性等のブロック情報および入力ファイル情報を生成する。
図11において、同図に示すブロック情報には、各ブロックの属性、その位置の座標X、座標Y、幅W、高さH、OCR情報が含まれる。属性は1〜3の数値で与えられ、ここで1は文字領域矩形ブロック、2は写真領域矩形ブロック、3はグラフィック領域矩形ブロックを示す。座標X、座標Yは入力画像における各矩形ブロックの始点のX、Y座標(左上角の座標)である。幅W、高さHは、それぞれ矩形ブロックのX座標方向の幅、Y座標方向の高さである。OCR情報は、各ブロックのメタデータとして使用可能なOCR結果があるか否かを示す。さらに入力ファイル情報として矩形ブロックの個数を示すブロック総数Nが含まれる。
これらの矩形ブロックごとのブロック情報は、特定領域でのベクトル化に利用される。またブロック情報によって、特定領域とその他の領域を合成する際の相対位置関係を特定でき、入力画像のレイアウトを損なわずにベクトル化領域とラスターデータ領域を合成することが可能となる。
[ベクトル化処理]
次に、ベクトル化処理部703の処理について、図12を用いて説明する。
図12は、ベクトル化処理部703における処理の流れを示すフローチャートである。
はじめに、ステップS1201で、処理の対象となる特定領域が文字領域矩形ブロックであるか否かを判断する。このとき、特定領域が文字領域矩形ブロックであればステップS1202以下のステップに進み、以下に説明するようにパターンマッチングの一手法を用いて文字認識を行い、対応する文字コードを得る。一方、特定領域が文字領域矩形ブロックでない場合は、ステップS1212に移行する。
ステップS1202では、特定領域に対し横書き、縦書きの判定(組み方向判定)をおこなうために、特定領域内で画素値に対する水平・垂直の射影を取る。
次いで、ステップS1203で、ステップS1202の射影の分散を評価する。水平射影の分散が大きい場合は横書き、垂直射影の分散が大きい場合は縦書きと判断する。
次に、ステップS1204で、ステップS1203での評価結果に基づき、組み方向を判定し、組み方向に応じた行の切り出しを行う。さらに、切出した行から文字を切り出して文字画像を得る。文字列および文字への分解は、横書きならば水平方向の射影を利用して行を切り出し、切り出された行に対する垂直方向の射影を基に、文字を切り出す。縦書きの文字領域に対しては、水平方向と垂直方向について、逆の処理を行う。ここでの行、文字の切り出しに際して、文字のサイズも検出し得る。
次に、ステップS1205では、ステップS1204で切り出された各文字について、文字画像から得られる特徴量を数十次元の数値列に変換した特徴ベクトル(ここでは、観測特徴ベクトルと称す)を生成する。この観測特徴ベクトルの抽出には種々の公知手法があり、例えば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴ベクトルとする方法がある。上記観測特徴ベクトルは、このような周知の手法を用いて生成可能である。
次に、ステップS1206で、ステップS1205で得られた観測特徴ベクトルと、あらかじめフォントの種類ごとに求められている辞書特徴ベクトルとを比較し、観測特徴ベクトルと辞書特徴ベクトルとの距離を算出する。
次いで、ステップS1207において、ステップS1206で算出された距離を評価し、最も距離の近いフォントの種類を、その文字の認識結果とする。
次に、ステップS1208では、ステップS1207における距離評価において、最短距離が所定値よりも大きいか否かにより、類似度を判断する。最短距離が所定値以上の場合は、辞書特徴ベクトルにおいて、形状が類似する他の文字に誤認識している可能性が高い。そこで上記最短距離が所定値以上の場合は、ステップS1207の認識結果を採用せず、ステップS1211の処理に進む。一方、上記最短距離が所定値より低い(小さい)ときは、ステップS1207の認識結果を採用し、ステップ1209に進む。
ステップS1209(フォント認識ステップ)では、文字フォントの認識処理を行う。本実施形態では、文字認識の際に用いる、フォントの種類数分の辞書特徴ベクトルを、文字形状種すなわちフォント種に対して複数用意しておく。そして、パターンマッチングの際に、文字コードとともにフォント情報としてマッチするフォント種を出力することで、文字フォントを認識し得る。
次いでステップS1210では、上記文字認識およびフォント認識よって得られた文字コードおよびフォント情報と、あらかじめ用意された対応するアウトラインデータを用いて、各文字をベクトルデータに変換する。なお、入力画像がカラーの場合は、カラー画像から各文字の色を抽出して、得られた色情報をベクトルデータとともに記録する。
ステップS1211では、文字を一般的なグラフィックと同様に扱い、該当文字をアウトライン化する。すなわち誤認識を起こす可能性の高い文字については、可視的にイメージデータに忠実なアウトラインのベクトルデータを生成する。
ステップS1212では、特定領域が文字領域矩形ブロックでないとき、画像の輪郭に基づいてベクトル化の処理を実行する。
以上の処理により、文字領域矩形ブロックに属するイメージ情報を、形状、大きさ、色についてほぼ忠実なベクトルデータに変換出来る。
[グラフィック領域のベクトル化]
次に、グラフィック領域のベクトル化について、図13、14を用いて説明する。
図13は、ベクトル化の処理における角抽出の処理を説明するための図であり、図14は、ベクトル化の処理における輪郭線まとめの処理を説明するための図である。
オブジェクト分割処理において、特定領域が、文字領域矩形ブロック以外の領域、すなわちグラフィック領域矩形ブロックと判断されたときは、特定領域内で抽出された黒画素塊の輪郭をベクトルデータに変換する。
文字領域以外の領域のベクトル化においては、まず線画等を直線および/または曲線の組み合わせとして表現するために、曲線を複数の区間(画素列)に区切る「角」を検出する。「角」とは曲率が極大となる点である。例えば、図13の曲線上の画素Piが「角」か否かの判断は以下のように行う。
すなわち、Piを起点とし、曲線に沿ってPiから両方向に所定画素(k個とする)ずつ離れた画素Pi−k、Pi+kを線分Lで結ぶ。画素Pi−k、Pi+k間の距離をd1、線分Lと画素Piとの距離をd2、曲線の画素Pi−k、Pi+k間の弧の長さをAとする。d2が極大となるとき、あるいは比(d1/A)が閾値以下となるときに画素Piを「角」と判断する。
「角」によって分割された画素列を、直線あるいは曲線で近似する。直線への近似は最小二乗法等により実行し、曲線への近似は3次スプライン関数などを用いる。画素列を分割する「角」の画素は近似直線あるいは近似直線における、始端または終端となる。
さらにベクトル化された輪郭内に白画素塊の内輪郭が存在するか否かを判断し、内輪郭が存在するときはその輪郭をベクトル化し、その内輪郭の内輪郭というように、再帰的に反転画素の内輪郭をベクトル化する。
以上のように、輪郭の区分線近似を用いれば、任意形状の図形のアウトラインをベクトル化することができる。元原稿がカラーの場合は、カラー画像から図形の色を抽出して、得られた色情報をベクトルデータとともに記録する。
図14に示すように、ある注目区間で外輪郭PRjと、内輪郭PRj+1あるいは別の外輪郭が近接している場合、2つあるいは複数の輪郭線をひとまとめにし、太さを持った線として表現することができる。例えば、輪郭PRj+1の各画素Piから輪郭PRj上で最短距離となる画素Qiまでの距離PQiを算出し、PQiのばらつきがわずかである場合には、注目区間を画素Pi、Qiの中点Miの点列に沿った直線または曲線で近似し得る。近似直線、近似曲線の太さは、例えば距離PQiの平均値とする。線や線の集合体である表罫線は、太さを持つ線の集合とすることにより、効率よくベクトル表現することができる。
輪郭線まとめの処理の後、ベクトル化全体の処理を終了する。なお写真領域矩形ブロックについては、ベクトル化せず、イメージデータのままとする。
[ベクトルデータのグループ化]
次に、ベクトルデータのグループ化について、図15を用いて説明する。
図15は、図12を用いて説明したベクトル化処理により生成されたベクトルデータのグループ化の処理を示すフローチャートである。
ベクトル化処理により線図形等のアウトラインをベクトル化した後、ベクトル化された区分線を図形オブジェクトごとにグループ化する。
はじめに、ステップS1501で、各ベクトルデータの始点、終点を算出する。
次いで、ステップS1502(図形要素検出)において、ステップS1201で求められた始点、終点情報を用いて、図形要素を検出する。ここで図形要素とは、区分線が構成している閉図形であり、検出に際しては、始点、終端となっている共通の「角」の画素においてベクトルを連結する。すなわち、閉形状を構成する各ベクトルはその両端にそれぞれ連結するベクトルを有しているという原理を応用する。
次いで、ステップS1503において、次に図形要素内に存在する他の図形要素、もしくは区分線をグループ化し、一つの図形オブジェクトとする。また、図形要素内に他の図形要素、区分線が存在しない場合はその図形要素自体を図形オブジェクトとする。
[図形要素の検出]
次に図形要素の検出処理について、図16を用いて説明する。
図16は、図15を用いて説明したベクトルデータのグループ化の処理でグループ化されたベクトルデータに対する図形要素検出の処理を示すフローチャートである。
前述のステップS1502(図形要素検出)の処理は、図16の各ステップによって実行される。
はじめに、ステップS1601において、ベクトルデータから両端に連結していない不要なベクトルを除去し、閉図形を構成するベクトルを抽出する。
次に、ステップS1602で、閉図形を構成するベクトルについて、いずれかのベクトルの端点(始点または終点)を開始点とし、一定方向、例えば時計回りに、順にベクトルを探索する。すなわち、他端点において他のベクトルの端点を探索し、所定距離内の最近接端点を連結ベクトルの端点とする。閉図形を構成するベクトルを1まわりして開始点に戻ったとき、通過したベクトルを全て一つの図形要素を構成する閉図形としてグループ化する。また、閉図形内部にある閉図形構成ベクトルも全てグループ化する。さらにまだグループ化されていないベクトルの始点を開始点とし、同様の処理を繰り返す。
最後に、ステップS1603において、ステップS1601で除去された不要ベクトルのうち、ステップS1602で閉図形としてグループ化されたベクトルに端点が近接しているベクトルを検出し、これも一つの図形要素としてグループ化する。
以上の処理によって図形要素を、再利用可能な個別の図形オブジェクトとして扱う事が可能になる。
[表示方法]
MFP100は、BOXに保存した文書を、その確認のため、あるいは、検索などの操作のために、表示装置117により表示し、入力装置116などによって操作することができる。以下、このような操作のためのUI表示に関して図17〜21を用いて詳細な説明を行う。
図17〜21は、それぞれ、本実施形態におけるユーザーインターフェースの一表示形態を示す図である。
図17は、特に、BOX内に保存されているデータの一覧(BOX文章一覧1701)をUI上に表示したものを示している。同図1702に示すように一つ一つの文章に名前がついており、入力された時間などの情報も表示される。オブジェクト分割表示を行う場合には、1701のBOX文章一覧で所望の文章を選択して、オブジェクト表示ボタン1703を押すことで表示が変わり、オブジェクト分割表示を行うことができる。これに関しては、後述する。また、1701のBOX文章一覧で原稿を選択して、ページ表示ボタン1704を押すことで表示を変えることができるが、これに関しても後述する。
図18は、特に、保存された原稿のデータに基づいて原稿の画像をUI上のページ表示画面1801に表示したものを示している。ここでは、原稿のラスタ画像を縮小した画像を表示することや、前述したSVGを使って表示をさせる事も可能である。つまり、前述してきたデータを基にページ全体を表示していれば良い。1802は、MFP100がもつ機能を選択するためのタブで、コピーや送信(FAX)、リモート操作、ブラウジング、BOXといったMFP100が持っている機能を選択できるものである。これ以外の機能に対しても同様の表示を行うことが出来ることは示すまでもない。
同図の1803により、原稿を読み取る場合の各種原稿モードを選択することが出来る。これは原稿タイプによって、画像処理を切り替えるために選択をするものであり、ここに示した以外のモードも同様に表示選択をする事が出来る。1804に示す読み込みスタートボタンにより、スキャナーが動作して、原稿の画像を読み込むことになる。この例では、読込みスタートボタンをUIの画面内に設けているが、別途設けられたスタートボタンの押下によって原稿読み込みを開始してもよい。
図19は、オブジェクト分割した結果が分かるように原稿内の各オブジェクトに枠を付けて表示させるようにしたものである。同図1901のオブジェクト表示ボタンを押すことにより、ページ表示画面1902に対してそれぞれオブジェクトの枠が表示される。このとき、枠に色付けをすることにより、オブジェクトの違いを分かるように表示することや、線の太さ、あるいは、点線、破線の違いなどにより、オブジェクトの違いを分かるように表示を行う。ここでオブジェクトの種類としては、前述したように文字、図面、線画、表、写真等である。
同図の1903は検索を行うための文字を入力する表示部分である。ここに検索文字列を入力して、検索を行うことで、検索対象のオブジェクトあるいはオブジェクトが含まれるページが検索される。検索方法に関しては、前述したオブジェクトに付与されたメタデータを利用し、周知の検索手法を用いることで、オブジェクトあるいはページの検索を行うことができる。また、検索されたオブジェクトあるいはページは、UI上に表示される。
図20は、オブジェクト表示ボタン2002を押すことによりページ内のオブジェクトが表示されるものである。ここでのオブジェクトの表示は、ページという概念ではなく、2001に示されるように一つ一つのオブジェクトが部品として表示される。また、ページ表示ボタン2004を押すことで1ページの画像として見えるように表示することもできる。
同図の2003は検索を行うための検索文字列を入力する表示部分である。ここに検索文字列を入力して、検索を行うことで、検索対象のオブジェクトあるいはオブジェクトが含まれるページが検索される。検索方法に関しては、前述したオブジェクトに付与されたメタデータを利用し、周知の検索手法を用いることで、オブジェクトあるいはページの検索を行うことができる。また検索されたオブジェクトあるいはページは、UI上に表示される。
図21は、オブジェクトのメタデータをUI上に表示する例である。ある一つのオブジェクトを選択すると、2101に示すように、そのオブジェクトの画像2103と前述したメタデータ2102が表示される。ここで表示されるメタデータには、エリアの情報、幅、高さ、ユーザー情報、MFP100の設置場所の情報、入力した時間などの情報が含まれている。
この例では、選択されたオブジェクトがpicture(写真)属性のオブジェクトであり、このオブジェクトの近くにあった文字オブジェクトの文字認識結果から形態素解析を用いて名詞のみを取り出して表示を行っている。それが図示したTEXTという文字列にあたる。また、メタデータに対しては、2104に示すように、ボタン操作により、編集や追加、削除を行うことを可能としている。
同図に示す2105は検索を行うための文字を入力する表示部分である。ここに検索文字列を入力して、検索を行うことで、検索対象のオブジェクトあるいはオブジェクトが含まれるページが検索される。検索方法に関しては、前述したオブジェクトに付与されたメタデータを利用し、周知の検索手法を用いることで、オブジェクトあるいはページの検索を行うことができる。また検索されたオブジェクトあるいはページは、UI上に表示される。
以上、述べてきたように、画像読み取り装置で読み取った画像データだけでなく、PDLデータをラスタライズした画像データも同様に、オブジェクト分割処理とベクトル化処理およびOCR処理を行っている。これにより、OCR処理結果をもとにしたメタデータを生成するので、保存する文書データのフォーマットが統一できる。また同時に、PDLデータ中のテキストオブジェクトから文字コードを抽出してメタデータとして使用しようとする場合に生じる、以下の問題を解決することができる。すなわち、
・見た目はテキストデータであるにも係わらず、内部で保持しているデータとしては、Pathデータやイメージデータである場合に文字コードが得られない、
・文字コードだけでは意味が不明なものが得られてしまう、
・もとのテキストの文字列が一文字一文字に分割されて描画コマンドになっている場合には、文字認識後の形態素解析で有意なテキストデータが得られない、
といった問題を解決することができる。
<第二の実施形態>
上述の第一の実施形態では、PDLデータがBOXに保存される際に、通常のレンダリングが行われて、そのレンダリング結果をOCR処理する例を説明した。
この処理の際、文字データに対して、特別な文字修飾や特別なフォントが使用されていた場合には、OCR処理の文字認識精度が不充分となる場合が考えられる。そこで本実施形態においては、特にPDLデータのBOX保存に関して、さらにOCR処理の精度を高めるために、OCR処理専用のレンダリングを行う例を説明する。
本実施形態においては、MFP100はドライバUI600でPDLデータに対するBOX保存を指示された際に図22に示す各処理ブロックによる処理の流れに従って動作するようにする。
図22に示すように、PDL処理部304は、テキストオブジェクト変換処理部2201をさらに備えている。レンダラ305は、通常のレンダリングを行ってBitmapスプール201に画像を保存するパスとともに、OCR処理専用のレンダリングを行ってOCR専用Bitmapスプール2202に画像データを保存する構成をさらに備える。その他の処理ブロックは第一の実施形態において図4を用いて説明したとおりである。ただし、本実施形態においては、画像格納処理部200の構成、および、全体の処理フローが前述の第一の実施形態とは異なっている。
以下、図23と図24を用いて、本実施形態における画像格納処理部200の詳細な構成と、画像データ格納処理における処理フローについて説明する。
図23は、本実施形態における画像格納処理部200の構成を示すブロック図であり、図24は、PDLデータ保存処理の処理フローを示すフローチャートである。
画像格納処理部200において、図23に示すように、706のオブジェクト分割処理2部は、OCR専用Bitmapスプール2202からの出力を直接受けつける。ここでの処理は、オブジェクト分割処理部701と同様の処理を行えばよいが、特に、文字画像ブロックのみを抽出する処理を行う。オブジェクト分割処理2部706で判別された文字画像ブロックは、OCR処理部704において、第一の実施形態の場合と同様の処理を行い、文字コード情報を抽出する。
オブジェクト分割処理部701でも、第一の実施形態と同様にオブジェクト分割を行うが、本実施形態においては、文字ブロックの情報および画像データは、ベクトル化処理部703でのみ処理されるものとなる。各オブジェクトごとに、JPEG圧縮処理部702、ベクトル化処理部703、OCR処理部704による処理が行われた結果は統合されて、メタデータ付与処理部705に入力されメタデータが付与されて、BOX保存される。
続いて、これら処理ブロックによって、BOX保存を行う際の処理フローの例を図24のフローチャートに示し、さらに詳細を説明する。
MFP100はクライアントPC102上で、ドライバUI600の指示に従って、PDLデータのBOX保存指示を受けて処理を開始する(S2400)。
ステップS2401でPDLデータをネットワークI/F114を介して受信して、PDLデータスプール303にデータを保存する。
続いて、保存したデータを取り出して、ステップS2402においてPDL処理部304およびレンダリング部305の処理ブロックによる処理を行う。
続いて、ステップS2403において、処理後のBitmapデータをBitmapスプール201に保存する。この後、画像格納処理部200に処理を移す。すなわち、ステップS2404において、Bitmapデータを701のオブジェクト分割処理部により、オブジェクト分割する。
さらに、ステップS2405において、Bitmapデータのイメージ部分をJPEG圧縮すると同時に、ステップS3206で、グラフィックス部分および文字部分に対するベクトル化処理部703による処理を実行させる。
他方において、PDLデータに対してテキストオブジェクト変換処理部2201による処理を実行させる。本実施形態において、テキストオブジェクトは図25に示すような表現がなされており、オブジェクトの座標・サイズ、文字コード列、フォント情報、および、文字修飾情報からなっている。
テキストオブジェクト変換処理部2201では、フォント情報すなわちフォント種別とフォントサイズをOCR処理が得意とするものに統一化して置き換える処理を行う。このことにより、OCR処理が扱わなければならない多種のフォントを一つに統一し、従って、フォントが多種であることによって低下する可能性のあるOCR処理精度を高めることができる。また、テキストオブジェクト変換処理部2201は、イタリック体やボールド体のような文字修飾情報を全て破棄するように動作する。このことによって、OCR処理が多種の字体修飾を処理しなければならないことによるOCR認識精度の低下を防ぐことが可能となる。
さらに付け加えれば、テキストオブジェクト変換処理部2201で変換されたPDLデータはOCR処理のためだけに使用され、画像記録装置113により記録される画像やUI画面に表示される画像には影響を与えない。従って、これらの出力は、図26に示すように、変換前の全く見え方の異なる文字要素となる。2601のようにサイズが大きすぎてOCRによる文字認識が成功しにくいもの、あるいは、パスデータとして処理してしまう可能性のあるものは、予め文字のサイズを小さくすることにより、OCR処理の文字認識率を向上させることができる。
また、2602のように、フォントや文字修飾や回転がかかっていてOCR処理により文字認識が成功しにくいものや、あるいは、イメージデータとして処理してしまう可能性のあるものが存在する。このような文字に対しては、予め文字修飾情報を破棄したり、フォントの文字種およびサイズを統一化することでOCR処理の文字認識率を向上させることができる。
また、2603のように、文字コードとフォントの組み合わせでレンダリングされて初めて意味のある視覚情報となるようなオブジェクトは、フォントを統一することで、文字コードが言語情報として意味のないものであることが分かることになる。このようにすれば、OCR処理結果をもとにメタデータ付与する際の形態素解析において、不明語として処理されることにより、意味のないメタデータが付与されることを防ぐことができる。
以上のようにして変換されたPDLデータは、ステップS2408でPDL処理およびレンダリングがなされる。
そして、生成されたBitmapデータを、ステップS2409において、OCR専用Bitmapスプール2202に保存する。
ステップS2411において、OCR処理部704はOCR専用Bitmapスプール2202からデータを取り出してOCR処理を行い、文字コードを出力する。
ステップS2412では文字コード情報とベクトル化されたデータの統合を行う。そして、ステップS3213においてメタデータ付与処理を行ってBOXへの保存を行う。
以上の処理を行って、全体の処理を終える(S2414)。
通常BitmapのレンダリングとOCR専用Bitmapのレンダリングの実行タイミングについては、本実施形態での処理フローではほぼ同時であるものとする。しかし、2つのBitmapスプールにそれぞれ画像データを保持することができるので、このタイミングは同時でなくてもかまわない。例えば、OCR専用Bitmapデータをレンダリングにより作成し保存しておき、MFP100のCPUによる処理が空いた時間帯にそのOCR処理および画像格納処理を行うように待機させる制御を行っても構わない。
<第三の実施形態>
前述の第一の実施形態および第二の実施形態においては、文字コード情報としてOCR処理の結果から得られるものを使用してメタデータの付与を行う例を説明した。特に第二の実施形態においては文字認識精度を高めるべく、OCR専用のBitmapデータを生成する構成を説明した。本実施形態においては、OCR処理によって得られた文字コード情報と、PDLデータからそのまま抽出される文字コード情報を併用して文字コード情報の信頼性を高める例を図27から29を用いて説明する。
図27は、本実施形態におけるPDLデータに対するBOX保存処理の際の各処理ブロックによる処理の流れを示す図である。図28は、同実施形態における画像格納処理部200の構成を示す図であり、図29は、文字コード情報統合処理部707が行う処理フローの例を示すフローチャートである。
本実施形態においては、図27に示すように、レンダラ305に渡されるディスプレイリスト(Display List)情報から、文字コードを抽出する処理を行う文字コード情報抽出処理部2701を追加する。本実施形態の文字コード情報抽出処理部2701は、図25に示したテキストオブジェクト情報から座標・サイズ情報と文字コード情報を抽出し、画像格納処理部200に渡すように処理を行う。図27に示すその他の処理ブロックは、第二の実施形態で説明に用いた図22に示した対応する処理ブロックと同様のものとするが、第一の実施形態で説明に用いた図7に示した対応する処理ブロックと同様のものとしてもかまわない。
画像格納処理部200は、図28に示すように、文字コード情報2を直接受け取り、文字コード情報2とOCR処理部704の処理によって得られた文字コード情報との統合を行う文字コード統合処理部707をさらに備えている。
ここで、文字コード情報統合処理部707が行う処理の詳細を、図29を用いて説明する。
文字コード情報統合処理が開始されると(S2900)、ステップS2901において、OCR処理部704の処理によって得られた文字コード情報と文字コード情報抽出処理部2701で抽出された文字コード情報2の対応関係の照合を行う。
次に、ステップS2902において、位置・サイズが概略同じ文字コード情報を抽出する。
次いで、ステップS2903でそれぞれの文字コード情報に含まれる文字コード列の形態素解析を行う。
そして、ステップS2904の形態素解析で得られた結果に不明語が少ないほうの文字コード情報を採用してこれを出力し、全体の処理を終える(S2904)。
以上の処理により、得られる文字コード情報の信頼性を向上することが可能となる。
どちらの文字コードを出力するかを決定するルールとしては、以下のようなものを考えることもできる。すなわち、テキストオブジェクトが一文字一文字ばらばらに分解されPDLデータとして送られてくる場合には、文字コード情報2は一文字のものばかりを含んでしまい、形態素解析の結果はほとんど意味のないものとなる。従って、文字コード列が長い方を採用するというルール付けをおこなってもよい。
<第四の実施形態>
前述の第三の実施形態でMFP100側に導入したテキストオブジェクト変換処理部2201による処理は、プリンタドライバ側で行ってもよい。
図30は、クライアントPC102側の構成としてテキストオブジェクト変換処理2部3001を追加した例を示している。テキストオブジェクト変換処理2部3001の処理内容は、テキストオブジェクト変換処理部2201と同様の処理を行う。
ドライバUI600でPDLデータのBOX保存の指定がなされた際には、プリンタドライバ302からのPDLデータ送信は、テキストオブジェクト変換を行わない通常のPDLデータの送信となる。次に、OCR専用のレンダリングを行う指定とともに、テキストオブジェクト変換処理がなされたPDLデータを送信する。
MFP100側では、プリンタドライバ302からの一回目のPDLデータ受信の際には、通常のBitmapスプール201に画像データが展開されるように制御する。そして、2回目のPDLデータ受信の際には、OCR専用Bitmapスプール2202にPDLデータが展開されるように制御する。
通常のBitmapスプール201とOCR専用Bitmapスプール2202へ画像データの展開がなされた後の処理については、前述の第二あるいは第三の実施形態で説明した処理と同様に処理を行えばよい。
また、本実施形態においては、PDL処理部304に接続されるテキストオブジェクト変換処理部2201は必ずしも必要ではなくなる。
本実施形態の構成によれば、クライアントPC102側でアプリケーションとプリンタドライバの処理によって、もともとテキストデータであったものが、イメージデータになったりPathデータになったりするケースを低減させることができる。このため、「見た目はテキストデータであるにも係わらず、内部で保持しているデータとしては、Pathデータやイメージデータである場合に文字コードが得られない」という問題の解決にさらに寄与できる。
<その他の実施の形態>
前述の第一から第四の実施形態においては、PDLデータがBOXに保存される際には、PDLデータがレンダリングされた画像データをオブジェクト分割して、ベクトル化処理、JPEG圧縮処理、OCR処理がされるものとして説明してきた。しかし、図31に示すように、PDL処理部304で生成されたDisplayList情報をそのまま画像格納処理部200に渡すようにしてもよい。
このとき、MFP100は、テキストオブジェクト変換処理されていないPDLデータから生成されたDisplayListをそのまま画像格納処理部200に渡すように制御する。そして、テキストオブジェクト変換処理を施したPDLデータはレンダラ305でOCR専用Bitmapデータとしてレンダリングされるように制御する。
図32に示すように、画像格納処理部200は、入力されたDisplayListが、3201においてSVGデータに直接変換されるように制御する。もともと、DisplayList上では、Imageオブジェクト、Graphicsオブジェクト、Textオブジェクトはオブジェクト分割されており、Graphicsオブジェクトはベクトル表現であるため、ある程度の直接変換が可能である。
一方、これとは別に、OCR専用Bitmapデータから、オブジェクト分割処理2部706によって得られた文字画像領域に対してOCR処理部704による処理を施す。そして文字コード情報を抽出し、第一から第四の実施形態で説明してきたようにメタデータ付与処理を行う。
以上、説明してきたように、本実施形態においても、PDLデータ中の文字オブジェクトから文字コードを取り出して、それを検索のためのインデックスとする際の問題点を効果的に解決し、信頼性のある文書格納を行う画像処理装置を提供することが可能である。
以上、本発明の諸実施形態について説明した。
なお、本発明の目的は、上述した実施形態で示したフローチャートの手順を実現するプログラムコードを記憶した記憶媒体から、システムあるいは装置のコンピュータ(またはCPUやMPU)がそのプログラムコードを読出し実行することによっても達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が、コンピュータに、上述した実施形態の機能を実現させることになる。そのため、このプログラムコード及びプログラムコードを記憶/記録したコンピュータ読み取り可能な記憶媒体も本発明の一つを構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、前述した実施形態の機能は、コンピュータが、読み出したプログラムを実行することによって実現される。また、このプログラムの実行とは、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行う場合も含まれる。
さらに、前述した実施形態の機能は、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットによっても実現することもできる。この場合、まず、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行う。こうした機能拡張ボードや機能拡張ユニットによる処理によっても前述した実施形態の機能が実現される。
本発明に係る画像処理システムの概略構成を示すブロック図である。 本発明の一実施形態であるMFPの構成の例を示すブロック図である。 画像読み取りの際の、同MFPのコピー機能・スキャン送信機能・BOX機能を実現する各処理ブロックによる処理の流れを示す図である。 同MFPのPDLデータに対するPDL処理機能・BOX機能を実現する各処理ブロックによる処理の流れを示す図である。 同実施形態におけるコピー・スキャン送信・BOX保存等の機能を利用する際のUIの例を示す図である。 同実施形態におけるドライバUIの例を示す図である。 画像格納処理部200の構成を示すブロック図である。 メタデータ付与処理のフローチャートである。 ベクトル化処理部703でベクトル化されたデータのフォーマットの一例である。 オブジェクト分割処理による画像データのオブジェクト分割結果の一例を示す図である。 オブジェクト分割したときの各属性のブロック情報および入力ファイル情報の例を示す図である。 ベクトル化処理部703における処理の流れを示すフローチャートである。 ベクトル化の処理における角抽出の処理を説明するための図である。 ベクトル化の処理における輪郭線まとめの処理を説明するための図である。 図12で生成されたベクトルデータのグループ化の処理を示すフローチャートである。 図15の処理でグループ化されたベクトルデータに対する図形要素検出の処理を示すフローチャートである。 同実施形態におけるBOX保存時のUI表示の一例を示した図である。 同実施形態におけるBOX保存時のUI表示の例を示した図である。 同実施形態におけるBOX保存時のUI表示の一例を示した図である。 同実施形態におけるBOX保存時のUI表示の一例を示した図である。 同実施形態におけるBOX保存時のUI表示のオブジェクトとメタ情報を表示される例を示した図である。 第二の実施形態におけるPDLデータに対するBOX保存処理の際の各処理ブロックによる処理の流れを示す図である。 同実施形態における画像格納処理部の構成を示すブロック図である。 同実施形態におけるBOX保存処理の処理フローを示すフローチャートである。 同実施形態におけるテキストオブジェクトの表現例を示す図である。 同実施形態におけるテキストオブジェクト変換処理を説明する図である。
第三の実施形態におけるPDLデータに対するBOX保存処理の際の各処理ブロックによる処理の流れを示す図である。 同実施形態における画像格納処理部200の構成を示す図である。 同実施形態における文字コード情報統合処理部707が行う処理フローの例を示すフローチャートである。 第四の実施形態におけるテキストオブジェクト変換処理ための構成例を示す図である。 その他の実施形態におけるPDLデータに対するBOX保存処理の際の各処理ブロックによる処理の流れを示す図である。 同実施形態における画像格納処理部200の構成を示す図である。
符号の説明
100 MFP
101 LAN
102 クライアントPC
103 文書管理サーバ
104 データベース
110 画像読み取り装置
111 読み取り画像処理部
112 出力画像処理部
113 画像記録装置
114 ネットワークI/F
115 記憶部
116 入力装置
117 表示装置
118 CPU
119 RAM
120 ROM
200 画像格納処理部
201 Bitmapスプール
202 画像送信処理部
301 アプリ(アプリケーション)
302 プリンタドライバ
303 PDLデータスプール
304 PDL処理部
305 レンダラ
701 オブジェクト分割処理部
702 JPEG圧縮処理部
703 ベクトル化処理部
704 OCR処理部
705 メタデータ付与部
706 オブジェクト分割処理2部
707 文字コード統合処理部
2201 テキストオブジェクト変換処理部
2202 OCR専用Bitmapスプール
2701 文字コード情報抽出処理部
3000 テキストオブジェクト変換処理2部
3201 DisplayList→ベクトル化データ変換部

Claims (10)

  1. PDLデータをレンダリングすることにより画像データを得るレンダリング手段と、
    前記レンダリング手段で得た画像データの中から文字オブジェクトを抽出する抽出手段と、
    前記抽出手段により抽出された文字オブジェクトに対して文字認識処理を実行することにより文字コード情報を得る文字認識手段と、
    前記PDLデータに含まれる第2の文字コード情報を抽出する文字コード抽出手段と、
    前記文字認識手段により得られた前記文字コード情報と前記文字コード抽出手段によって抽出された前記第2の文字コード情報とを比較し、当該比較結果に従って、より信頼性の高い文字コード情報を採用する統合手段と、
    前記統合手段によって採用された前記より信頼性の高い文字コード情報を含むメタデータを前記画像データに付与するメタデータ付与手段と
    を備えることを特徴とする画像処理装置。
  2. 前記レンダリング手段は、前記PDLデータに対する通常のレンダリング処理によりレンダリングした画像データを第1のレンダリングバッファに保存し、前記PDLデータに含まれる文字オブジェクトを変換してレンダリングした画像データを第2のレンダリングバッファに保存し、
    前記文字認識手段は、前記第2のレンダリングバッファに保存された画像データに対して文字認識処理を実行することにより文字コード情報を得て、
    前記メタデータ付与手段は、前記メタデータを前記第1のレンダリングバッファに保存された画像データに付与する
    ことを特徴とする請求項1に記載の画像処理装置。
  3. 前記レンダリング手段で行われる前記PDLデータに含まれる文字オブジェクトの変換処理は、当該PDLデータに含まれる文字オブジェクトの座標、サイズ、フォント情報、修飾情報のうちの少なくともいずれかを変更する処理であることを特徴とする請求項2に記載の画像処理装置。
  4. 前記文字コード情報と前記第2の文字コード情報との比較は、各文字コード情報に対して形態素解析を行った結果を比較し、その結果、不明な語がより少ない方の文字コード情報を前記メタデータとして採用することを特徴とする請求項に記載の画像処理装置。
  5. 前記メタデータ付与手段は、前記メタデータを、前記画像データ内のオブジェクトに付与することを特徴とする請求項1に記載の画像処理装置。
  6. 前記画像データ内のオブジェクトをベクトルデータに変換するベクトル化手段を更に備え、
    前記メタデータ付与手段は、前記メタデータを、前記ベクトル化手段で変換された前記画像データ内のオブジェクトのベクトルデータに付与する
    ことを特徴とする請求項1に記載の画像処理装置。
  7. 請求項1に記載の画像処理装置と、アプリケーションから描画情報を受け取って該描画情報に基づいて変換したPDLデータを前記画像処理装置に対して送信する機能を持つプリンタドライバを含むホストコンピュータとがネットワークを介して接続した画像処理システムであって、
    前記プリンタドライバは、前記アプリケーションから受け取った描画情報をPDLデータに変換する際に、当該PDLデータに含まれる文字オブジェクトの座標、サイズ、フォント情報、修飾情報のうちの少なくともいずれかを変更する変換手段を備える
    ことを特徴とする画像処理システム。
  8. PDLデータをレンダリングすることにより画像データを得るレンダリングステップと、
    前記レンダリングステップで得た画像データの中から文字オブジェクトを抽出する抽出ステップと、
    前記抽出ステップで抽出された文字オブジェクトに対して文字認識処理を実行することにより文字コード情報を得る文字認識ステップと、
    前記PDLデータに含まれる第2の文字コード情報を抽出する文字コード抽出ステップと、
    前記文字認識ステップにより得られた前記文字コード情報と前記文字コード抽出ステップによって抽出された前記第2の文字コード情報とを比較し、当該比較結果に従って、より信頼性の高い文字コード情報を採用する統合ステップと、
    前記統合ステップによって採用された前記より信頼性の高い文字コード情報を含むメタデータを前記画像データに付与するメタデータ付与ステップと
    を含むことを特徴とする画像処理方法。
  9. コンピュータに、請求項に記載の方法を実行させるためのプログラム。
  10. コンピュータに、請求項8に記載の方法を実行させるためのプログラムを格納した、コンピュータが読み取り可能な記録媒体。
JP2008179204A 2008-07-09 2008-07-09 画像処理装置、画像処理方法、そのプログラムおよび記憶媒体 Expired - Fee Related JP5111268B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008179204A JP5111268B2 (ja) 2008-07-09 2008-07-09 画像処理装置、画像処理方法、そのプログラムおよび記憶媒体
US12/496,601 US8320019B2 (en) 2008-07-09 2009-07-01 Image processing apparatus, image processing method, and computer program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008179204A JP5111268B2 (ja) 2008-07-09 2008-07-09 画像処理装置、画像処理方法、そのプログラムおよび記憶媒体

Publications (3)

Publication Number Publication Date
JP2010020468A JP2010020468A (ja) 2010-01-28
JP2010020468A5 JP2010020468A5 (ja) 2011-08-18
JP5111268B2 true JP5111268B2 (ja) 2013-01-09

Family

ID=41705305

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008179204A Expired - Fee Related JP5111268B2 (ja) 2008-07-09 2008-07-09 画像処理装置、画像処理方法、そのプログラムおよび記憶媒体

Country Status (2)

Country Link
US (1) US8320019B2 (ja)
JP (1) JP5111268B2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10936650B2 (en) 2008-03-05 2021-03-02 Ebay Inc. Method and apparatus for image recognition services
US9495386B2 (en) 2008-03-05 2016-11-15 Ebay Inc. Identification of items depicted in images
US8818978B2 (en) 2008-08-15 2014-08-26 Ebay Inc. Sharing item images using a similarity score
US8825660B2 (en) * 2009-03-17 2014-09-02 Ebay Inc. Image-based indexing in a network-based marketplace
US9164577B2 (en) 2009-12-22 2015-10-20 Ebay Inc. Augmented reality system, method, and apparatus for displaying an item image in a contextual environment
JP5676942B2 (ja) 2010-07-06 2015-02-25 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP5249387B2 (ja) 2010-07-06 2013-07-31 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US10127606B2 (en) 2010-10-13 2018-11-13 Ebay Inc. Augmented reality system and method for visualizing an item
JP5323035B2 (ja) 2010-12-10 2013-10-23 キヤノン株式会社 画像形成装置及びその画像形成方法
JP5055418B2 (ja) 2010-12-10 2012-10-24 キヤノン株式会社 画像処理装置および画像処理方法
US20120159292A1 (en) * 2010-12-16 2012-06-21 Oce-Technologies B.V. Method of processing an object-based image file with content type dependent image processing algorithms
US8977044B2 (en) * 2011-02-18 2015-03-10 Fuji Xerox Co., Ltd. Image processing apparatus for area separation of images, image processing method, and computer readable medium
JP5285727B2 (ja) * 2011-02-22 2013-09-11 シャープ株式会社 画像形成装置、および、画像形成方法
US9449342B2 (en) 2011-10-27 2016-09-20 Ebay Inc. System and method for visualization of items in an environment using augmented reality
JP5984439B2 (ja) * 2012-03-12 2016-09-06 キヤノン株式会社 画像表示装置、画像表示方法
US9934522B2 (en) 2012-03-22 2018-04-03 Ebay Inc. Systems and methods for batch- listing items stored offline on a mobile device
US10846766B2 (en) 2012-06-29 2020-11-24 Ebay Inc. Contextual menus based on image recognition
JP5954691B2 (ja) * 2012-09-28 2016-07-20 ブラザー工業株式会社 テンプレート処理プログラム及びテンプレート処理方法
US9208381B1 (en) * 2012-12-13 2015-12-08 Amazon Technologies, Inc. Processing digital images including character recognition using ontological rules
CN104423900B (zh) * 2013-08-27 2018-04-27 北大方正集团有限公司 图像打印方法和打印机
JP6000992B2 (ja) * 2014-01-24 2016-10-05 京セラドキュメントソリューションズ株式会社 文書ファイル生成装置及び文書ファイル生成方法
US20170161595A1 (en) * 2015-12-07 2017-06-08 Xerox Corporation Direct character recognition from page description language document
TWI608713B (zh) * 2015-12-31 2017-12-11 宏正自動科技股份有限公司 主動安全防護系統
JP6808330B2 (ja) * 2016-02-26 2021-01-06 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP6769045B2 (ja) * 2016-02-29 2020-10-14 ブラザー工業株式会社 画像処理装置、および、コンピュータプログラム
JP7013182B2 (ja) 2017-09-21 2022-01-31 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
US11087469B2 (en) * 2018-07-12 2021-08-10 Here Global B.V. Method, apparatus, and system for constructing a polyline from line segments
JP7224856B2 (ja) 2018-11-02 2023-02-20 キヤノン株式会社 画像生成装置、画像生成方法、及びプログラム
JP2022100071A (ja) 2020-12-23 2022-07-05 キヤノン株式会社 画像処理装置、画像処理システム、その制御方法及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3683925B2 (ja) 1994-11-18 2005-08-17 キヤノン株式会社 電子ファイリング装置
US5907835A (en) * 1994-11-18 1999-05-25 Canon Kabushiki Kaisha Electronic filing system using different application program for processing drawing commands for printing
JPH10228473A (ja) * 1997-02-13 1998-08-25 Ricoh Co Ltd 文書画像処理方法、文書画像処理装置および記憶媒体
JP2002077609A (ja) * 2000-09-05 2002-03-15 Canon Inc 画像判別装置及び複写機及び画像判別方法
JP4087191B2 (ja) * 2002-08-16 2008-05-21 株式会社リコー 画像処理装置、画像処理方法および画像処理プログラム
JP2004272658A (ja) * 2003-03-10 2004-09-30 Geomic Co Ltd 携帯情報端末のテキストデータ入力支援方法及び装置
JP4266784B2 (ja) * 2003-11-14 2009-05-20 キヤノン株式会社 画像処理システム及び画像処理方法
US20060085442A1 (en) * 2004-10-20 2006-04-20 Kabushiki Kaisha Toshiba Document image information management apparatus and document image information management program
JP4928373B2 (ja) * 2007-07-12 2012-05-09 キヤノン株式会社 画像処理装置、画像処理方法、及び、画像処理プログラム

Also Published As

Publication number Publication date
JP2010020468A (ja) 2010-01-28
US8320019B2 (en) 2012-11-27
US20100171999A1 (en) 2010-07-08

Similar Documents

Publication Publication Date Title
JP5111268B2 (ja) 画像処理装置、画像処理方法、そのプログラムおよび記憶媒体
JP4251629B2 (ja) 画像処理システム及び情報処理装置、並びに制御方法及びコンピュータプログラム及びコンピュータ可読記憶媒体
JP5528121B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP5376795B2 (ja) 画像処理装置、画像処理方法、そのプログラム及び記憶媒体
JP4502385B2 (ja) 画像処理装置およびその制御方法
JP4533273B2 (ja) 画像処理装置及び画像処理方法、プログラム
JP4960817B2 (ja) 画像処理装置、および画像処理方法
JP4533187B2 (ja) 画像処理装置およびその制御方法
US20060029293A1 (en) Image processing system, image forming apparatus, control method for the same, and program for implementing the control method
US8384936B2 (en) System which performs resolution-dependent vectorization of print data
US20120250048A1 (en) Image processing apparatus and image processing method
JP2006285612A (ja) 情報処理装置およびその方法
JP4785655B2 (ja) 文書処理装置及び文書処理方法
JP2006243942A (ja) 画像処理装置およびその方法
JP2005159517A (ja) 画像処理装置及びその制御方法、プログラム
JP2009193356A (ja) 画像処理装置、画像処理方法、プログラム、及び記憶媒体
JP2008109394A (ja) 画像処理装置及びその方法、プログラム
JP7262993B2 (ja) 画像処理システム、画像処理方法、画像処理装置
JP2010074540A (ja) 画像処理装置
JP2006025129A (ja) 画像処理システム及び画像処理方法
US8181108B2 (en) Device for editing metadata of divided object
JP2006023944A (ja) 画像処理システム及び画像処理方法
JP2009211554A (ja) 画像処理装置、画像処理方法、コンピュータプログラム、および記憶媒体
JP5132347B2 (ja) 画像処理システム
JP7301529B2 (ja) 画像処理装置、画像処理方法、及びプログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20101106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110705

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120827

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: 20120911

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: 20121009

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

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5111268

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees