(57)【特許請求の範囲】
【請求項１】
文字単位で区切られた２以上の文字のアウトラインデータを有する第一画像が格納される第一画像格納部と、
文字単位で区切られた２以上の文字のアウトラインデータを有する第二画像が格納される第二画像格納部と、
前記第一画像のアウトラインデータである第一アウトラインデータと、第二画像の文字のアウトラインデータである第二アウトラインデータと、をそれぞれが有する文字単位に区切られたアウトラインデータ単位で配列順番に沿って比較して一致するか否かを判断するアウトライン比較部と、
前記第一アウトラインデータおよび第二アウトラインデータの、前記アウトライン比較部が比較により一致しないと判断した文字単位で区切られたアウトラインデータを、それぞれラスタ画像に変換し、変換したラスタ画像をそれぞれ構成する画素の画素値を比較して、差異の箇所を検出する文字画像比較部と、
前記文字画像比較部が検出した差異の箇所を示す情報を出力する出力部とを備えた画像検査装置。
【請求項２】
任意に区切られた２以上の文字のアウトラインデータを有する第一画像が格納される第一画像格納部と、
１文字単位で区切られていない２以上の文字のアウトラインデータを有する第二画像が格納される第二画像格納部と、
前記第一画像のアウトラインデータである第一アウトラインデータの任意に区切られた部分と、前記第二画像の文字のアウトラインデータである第二アウトラインデータが有する１文字単位で区切られていないアウトラインデータと、を配列順番に沿って比較して一致する部分を検出し、第二アウトラインデータから当該一致する部分を順次除外して、第二アウトラインデータと一致する部分がないと判断された第一アウトラインデータの任意に区切られた部分と、第二アウトラインデータの一致する部分を除外した部分と、を検出するアウトライン比較部と、
前記アウトライン比較部が検出した、前記第二アウトラインデータと一致する部分がないと判断された第一アウトラインデータの任意に区切られた部分と、前記第二アウトラインデータの一致する部分を除外した部分とを、それぞれラスタ画像に変換し、変換した第一アウトラインデータに対応するラスタ画像に対応する文字データである第一文字データと、変換した第二アウトラインデータに対応するラスタ画像に対応する文字データである第二文字データと、を取得する文字データ取得部と、
前記文字データ取得部が取得した第一文字データと、第二文字データとを配列順番に沿って比較する文字データ比較部と、
前記文字データ比較部が比較によって一致すると判断した第一文字データと第二文字データとにそれぞれ対応する文字画像を、前記文字データ取得部が取得した第一アウトラインデータに対応するラスタ画像及び第二アウトラインデータに対応するラスタ画像から取得し、対応する文字画像をそれぞれ構成する画素の画素値を比較して、差異の箇所を検出する文字画像比較部と、
前記文字画像比較部が検出した差異の箇所を示す情報を出力する出力部とを備えた画像検査装置。
【請求項３】
前記第一アウトラインデータは、１文字単位で区切られたアウトラインデータを有しており、
前記アウトライン比較部は、前記第一アウトラインデータの１文字単位で区切られた部分と、前記第二アウトラインデータが有する１文字単位で区切られていないアウトラインデータとを、配列順番に沿って比較して、一致する部分を検出する請求項２記載の画像検査装置。
【請求項４】
前記文字データ比較部は、更に、前記文字データ取得部が取得した第一文字データと、第二文字データとを配列順番に沿って比較して文字データについて差異の箇所を検出し、
前記出力部は、前記文字データ比較部が検出した差異の箇所を示す情報を更に出力する請求項２または請求項３いずれか一項記載の画像検査装置。
【請求項５】
文字単位で区切られた２以上の文字のアウトラインデータを有する第一画像が格納される第一画像格納部と、文字単位で区切られた２以上の文字のアウトラインデータを有する第二画像が格納される第二画像格納部と、アウトライン比較部と、文字画像比較部と、出力部とを用いて行なわれる画像検査方法であって、
前記アウトライン比較部が、前記第一画像のアウトラインデータである第一アウトラインデータと、第二画像の文字のアウトラインデータである第二アウトラインデータと、をそれぞれが有する文字単位に区切られたアウトラインデータ単位で配列順番に沿って比較して一致するか否かを判断するアウトライン比較ステップと、
前記文字画像比較部が、前記第一アウトラインデータおよび第二アウトラインデータの、前記アウトライン比較ステップにより一致しないと判断した文字単位で区切られたアウトラインデータを、それぞれラスタ画像に変換し、変換したラスタ画像をそれぞれ構成する画素の画素値を比較して、差異の箇所を検出する文字画像比較ステップと、
前記出力部が、前記文字画像比較ステップにより検出した差異の箇所を示す情報を出力する出力ステップとを備えた画像検査方法。
【請求項６】
任意に区切られた区切られた２以上の文字のアウトラインデータを有する第一画像が格納される第一画像格納部と、１文字単位で区切られていない２以上の文字のアウトラインデータを有する第二画像が格納される第二画像格納部と、アウトライン比較部と、文字データ取得部と、文字データ比較部と、文字画像比較部と、出力部とを用いて行なわれる画像検査方法であって、
前記アウトライン比較部が、前記第一画像のアウトラインデータである第一アウトラインデータの任意に区切られた部分と、前記第二画像の文字のアウトラインデータである第二アウトラインデータが有する１文字単位で区切られていないアウトラインデータと、を配列順番に沿って比較して一致する部分を検出し、第二アウトラインデータから当該一致する部分を順次除外して、第二アウトラインデータと一致する部分がないと判断された第一アウトラインデータの任意に区切られた部分と、第二アウトラインデータの一致する部分を除外した部分と、を検出するアウトライン比較ステップと、
前記文字データ取得部が、前記アウトライン比較ステップにより検出された、前記第二アウトラインデータと一致する部分がないと判断された第一アウトラインデータの任意に区切られた部分と、前記第二アウトラインデータの一致する部分を除外した部分とを、それぞれラスタ画像に変換し、変換した第一アウトラインデータに対応するラスタ画像に対応する文字データである第一文字データと、変換した第二アウトラインデータに対応するラスタ画像に対応する文字データである第二文字データと、を取得する文字データ取得ステップと、
前記文字データ比較部が、前記文字データ取得ステップにより取得した第一文字データと、第二文字データとを配列順番に沿って比較する文字データ比較ステップと、
前記文字画像比較部が、前記文字データ比較部が比較によって一致すると判断した第一文字データと第二文字データとにそれぞれ対応する文字画像を、前記文字データ取得ステップにより取得した第一アウトラインデータに対応するラスタ画像及び第二アウトラインデータに対応するラスタ画像から取得し、対応する文字画像をそれぞれ構成する画素の画素値を比較して、差異の箇所を検出する文字画像比較ステップと、
前記出力部が、前記文字画像比較ステップにより検出した差異の箇所を示す情報を出力する出力ステップとを備えた画像検査方法。
【請求項７】
文字単位で区切られた２以上の文字のアウトラインデータを有する第一画像が格納される第一画像格納部と、文字単位で区切られた２以上の文字のアウトラインデータを有する第二画像が格納される第二画像格納部と、にアクセス可能なコンピュータを、
前記第一画像のアウトラインデータである第一アウトラインデータと、第二画像の文字のアウトラインデータである第二アウトラインデータと、をそれぞれが有する文字単位に区切られたアウトラインデータ単位で配列順番に沿って比較して一致するか否かを判断するアウトライン比較部と、
前記第一アウトラインデータおよび第二アウトラインデータの、前記アウトライン比較部が比較により一致しないと判断した文字単位で区切られたアウトラインデータを、それぞれラスタ画像に変換し、変換したラスタ画像をそれぞれ構成する画素の画素値を比較して、差異の箇所を検出する文字画像比較部と、
前記文字画像比較部が検出した差異の箇所を示す情報を出力する出力部として機能させるためのプログラム。
【請求項８】
任意に区切られた２以上の文字のアウトラインデータを有する第一画像が格納される第一画像格納部と、１文字単位で区切られていない２以上の文字のアウトラインデータを有する第二画像が格納される第二画像格納部と、にアクセス可能なコンピュータを、
前記第一画像のアウトラインデータである第一アウトラインデータの任意に区切られた部分と、前記第二画像の文字のアウトラインデータである第二アウトラインデータが有する１文字単位で区切られていないアウトラインデータと、を配列順番に沿って比較して一致する部分を検出し、第二アウトラインデータから当該一致する部分を順次除外して、第二アウトラインデータと一致する部分がないと判断された第一アウトラインデータの任意に区切られた部分と、第二アウトラインデータの一致する部分を除外した部分と、を検出するアウトライン比較部と、
前記アウトライン比較部が検出した、前記第二アウトラインデータと一致する部分がないと判断された第一アウトラインデータの任意に区切られた部分と、前記第二アウトラインデータの一致する部分を除外した部分とを、それぞれラスタ画像に変換し、変換した第一アウトラインデータに対応するラスタ画像に対応する文字データである第一文字データと、変換した第二アウトラインデータに対応するラスタ画像に対応する文字データである第二文字データと、を取得する文字データ取得部と、
前記文字データ取得部が取得した第一文字データと、第二文字データとを配列順番に沿って比較する文字データ比較部と、
前記文字データ比較部が比較によって一致すると判断した第一文字データと第二文字データとにそれぞれ対応する文字画像を、前記文字データ取得部が取得した第一アウトラインデータに対応するラスタ画像及び第二アウトラインデータに対応するラスタ画像から取得し、対応する文字画像をそれぞれ構成する画素の画素値を比較して、差異の箇所を検出する文字画像比較部と、
前記文字画像比較部が検出した差異の箇所を示す情報を出力する出力部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の検査を行なう装置等に関するものである。
【背景技術】
【０００２】
従来の技術として、文字認識手段が元画像及び修正画像を文字認識し、画像データ記憶手段に記憶させると、文字認識手段は、相違文字抽出手段に元画像と修正画像との各文字認識結果の比較を命じ、これを受けて、相違文字抽出手段は、元画像と修正画像の各文字認識結果を比較して、相違文字を分類するものが知られていた（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２６３４６４号公報（第１頁、第１図等）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術においては、文字のアウトラインデータを有する画像を適切に検査することができない、という課題があった。例えば、従来においては、文字のラスタ画像同士を比較したり、文字コード同士を比較したりする技術は知られていたが、原稿の画像データと、この原稿に対応した印刷用の画像データとがそれぞれ有する文字のアウトラインデータ同士を適切に比較するものがなかった。このため、印刷用の画像データのアウトラインデータに、例えば、誤った文字のアウトラインデータが含まれている場合や、あるいは、アウトラインデータの一部が欠損している場合等のように、印刷用の画像データのアウトラインデータに、原稿の画像データのアウトラインデータとは異なる不適切な部分が含まれていたとしても、この不適切な部分を検出することが困難であった。このため、印刷用の画像データ等に原稿データの内容が適切に含まれているか等を検査することができないという問題があった。
【０００５】
本願は、上記のような課題を解消するためになされたものであり、文字のアウトラインデータを有する画像を適切に検査することができる画像検査装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の画像検査装置は、２以上の文字のアウトラインデータを有する第一画像が格納される第一画像格納部と、２以上の文字のアウトラインデータを有する第二画像が格納される第二画像格納部と、第一画像のアウトラインデータである第一アウトラインデータと、第二画像の文字のアウトラインデータである第二アウトラインデータと、を配列順番に沿って比較するアウトライン比較部と、アウトライン比較部が比較により一致しないと判断した部分の第一アウトラインデータと、第二アウトラインデータとを、変換したラスタ画像をそれぞれ構成する画素の画素値を比較して、差異の箇所を検出する文字画像比較部と、文字画像比較部が検出した差異の箇所を示す情報を出力する出力部とを備えた画像検査装置である。
【０００７】
かかる構成により、アウトラインデータ同士の比較によって一致しないと判断された部分については、アウトラインデータを変換したラスタ画像を利用して差異の箇所を検出することにより、文字のアウトラインデータを有する画像を適切に検査することができる。
【０００８】
また、本発明の画像検査装置は、前記画像検査装置において、第一アウトラインデータおよび第二アウトラインデータは、１文字単位で区切られたアウトラインデータを有しており、アウトライン比較部は、第一アウトラインデータと第二アウトラインデータとを、それぞれが有する１文字単位に区切られたアウトラインデータ単位で比較して、一致するか否かを判断し、文字画像比較部は、第一アウトラインデータおよび第二アウトラインデータの、アウトライン比較部が一致しないと判断した１文字単位で区切られたアウトラインデータを、それぞれラスタ画像に変換し、変換したラスタ画像をそれぞれ構成する画素の画素値を比較して、差異の箇所を検出する画像検査装置である。
【０００９】
かかる構成により、文字のアウトラインデータを有する画像を適切に検査することができる。例えば、アウトラインデータ同士の比較により一致しないと判断された文字のアウトラインデータだけをラスタ画像化して差異を検出することで、変換の際にばらつき等が発生しやすいアウトラインデータをラスタ画像化した画像による文字の比較を行なう頻度等を抑えることができ、画像データを適切に検査することができる。
【００１０】
また、本発明の画像検査装置は、前記画像検査装置において、第二アウトラインデータは、文字単位で区切られていないアウトラインデータを有しており、アウトライン比較部は、第二アウトラインデータが有する１文字単位で区切られていないアウトラインデータと、第一アウトラインデータとを、配列順番に沿って比較して、一致しない部分を検出し、第一アウトラインデータおよび第二アウトラインデータの、アウトライン比較部が一致しないと判断した部分を、それぞれラスタ画像に変換し、変換した第一アウトラインデータに対応するラスタ画像に対応する文字データである第一文字データと、変換した第二アウトラインデータに対応するラスタ画像に対応する文字データである第二文字データと、を取得する文字データ取得部と、文字データ取得部が取得した第一文字データと、第二文字データとを配列順番に沿って比較する文字データ比較部とを、更に備え、文字画像比較部は、前記文字データ比較部が比較によって一致すると判断した第一文字データと第二文字データとにそれぞれ対応する文字画像を、前記文字データ取得部が取得した第一アウトラインデータに対応するラスタ画像及び第二アウトラインデータに対応するラスタ画像から取得し、対応する文字画像をそれぞれ構成する画素の画素値を比較して、差異の箇所を検出する画像検査装置である。
【００１１】
かかる構成により、文字のアウトラインデータを有する画像を適切に検査することができる。例えば、アウトラインデータ同士の比較によって、文字単位で区切られていない第二アウトラインデータから、第一アウトラインデータに一致しない部分を検出して、この一致しない部分を変換したラスタ画像が有する対応する文字画像同士を比較して差異の箇所を検出することができるため、文字単位で区切られていない第二アウトラインデータを有する画像データについても、適切に検査を行なうことができる。
【００１２】
また、本発明の画像検査装置は、前記画像検査装置において、第一アウトラインデータは、任意に区切られたアウトラインデータを有しており、アウトライン比較部は、第一アウトラインデータの任意に区切られた部分と、第二アウトラインデータが有する１文字単位で区切られていないアウトラインデータとを、配列順番に沿って比較して、一致する部分を検出する画像検査装置である。
【００１３】
かかる構成により、文字のアウトラインデータを有する画像を適切に検査することができる。例えば、アウトラインデータ同士の比較によって、文字単位で区切られていない第二アウトラインデータから、第一アウトラインデータの任意に区切られた部分に一致しない部分を検出して、この一致しない部分を変換したラスタ画像を用いて差異の箇所を検出することにより、文字単位で区切られていない第二アウトラインデータを有する画像データについても、適切に検査を行なうことができる。
【００１４】
また、本発明の画像検査装置は、前記画像検査装置において、第一アウトラインデータは、１文字単位で区切られたアウトラインデータを有しており、アウトライン比較部は、第一アウトラインデータの１文字単位で区切られた部分と、第二アウトラインデータが有する１文字単位で区切られていないアウトラインデータとを、配列順番に沿って比較して、一致する部分を検出する画像検査装置である。
【００１５】
かかる構成により、文字のアウトラインデータを有する画像を適切に検査することができる。例えば、アウトラインデータ同士の比較によって、文字単位で区切られていない第二アウトラインデータから、第一アウトラインデータの１文字単位で区切られた部分に一致しない部分を検出して、この一致しない部分を変換したラスタ画像を用いて差異の箇所を検出することにより、文字単位で区切られていない第二アウトラインデータを有する画像データについても、適切に検査を行なうことができる。
【００１６】
また、本発明の画像検査装置は、前記画像検査装置において、アウトライン比較部は、更に、文字データ取得部が取得した第一文字データと、第二文字データとを配列順番に沿って比較して文字データについて差異の検出し、出力部は、前記アウトライン比較部が検出した差異の箇所を示す情報を更に出力する画像検査装置である。
【００１７】
かかる構成により、文字データを用いて差異の箇所を更に検出することができ、文字のアウトラインデータを有する画像を適切に検査することができる。
【発明の効果】
【００１８】
本発明による画像検査装置等によれば、文字のアウトラインデータを有する画像データを適切に検査することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態１における画像検査装置のブロック図
【図２】同画像検査装置の動作について説明するフローチャート
【図３】同画像検査装置を説明するための、第一画像を示す図（図３（ａ））、第一画像の部分拡大図（図３（ｂ））、第二画像を示す図（図３（ｃ））、および第二画像の部分拡大図（図３（ｄ））
【図４】同画像検査装置を説明するための、１文字のアウトラインデータを示す図（図４（ａ）〜図４（ｄ））
【図５】同画像検査装置を説明するための、１文字のアウトラインデータを変換して得られたラスタ画像を示す図（図５（ａ）、図５（ｂ））
【図６】同画像検査装置の出力例を示す図
【図７】本発明の実施の形態２における画像検査装置のブロック図
【図８】同画像検査装置の動作について説明するフローチャート
【図９】同画像検査装置を説明するための、第一画像を示す図（図９（ａ））、および第二画像を示す図（図９（ｂ））
【図１０】同画像検査装置によるアウトラインデータの移動を説明するための図（図１０（ａ）〜図１０（ｃ））
【図１１】同画像検査装置を説明するための、アウトラインデータの一致しないと判断された部分を示す図（図１１（ａ））、変換されたラスタ画像を示す図（図１１（ｂ））、文字認識により得られた文字データを示す図（図１１（ｃ））、および文字画像において検出された差異の箇所を示す図（図１１（ｄ））
【図１２】同画像検査装置の出力例を示す図
【図１３】本発明の各実施の形態による画像検査装置を実現するコンピュータの外観の一例を示す模式図
【図１４】同コンピュータの内部構成を示す図
【発明を実施するための形態】
【００２０】
以下、画像検査装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２１】
（実施の形態１）
図１は、本実施の形態における画像検査装置１のブロック図である。
画像検査装置１は、第一画像格納部１０１、第二画像格納部１０２、アウトライン比較部１０３、文字画像比較部１０４、および出力部１０５を備える。
【００２２】
第一画像格納部１０１には、１または２以上の第一画像が格納される。第一画像は、２以上の文字のアウトラインデータを有する画像データである。文字のアウトラインデータとは、例えば、文字の輪郭を示すベクトルデータである。文字のアウトラインデータとは、例えば、文字のフォントを、アウトライン化したデータである。文字のアウトラインデータとは、例えば、文字のフォントの輪郭を、ベクトルデータ化したデータである。文字のアウトラインデータは、例えば、文字のフォントが有する輪郭のデータを、編集可能なベクトルデータとして抽出したものと考えてもよい。なお、第一画像は、アウトラインデータ以外の画像データや、テキストデータ等を更に有していても良い。
【００２３】
例えば、２以上の文字のアウトラインデータは、通常、ユーザが指定された順に配列されている。例えば、２以上の文字をアウトライン化して得られた文字のアウトラインデータは、元の文字の配列順に配列されている。
【００２４】
アウトラインデータは、例えば、パスと呼ばれる線と、アンカーポイント等の制御点と呼ばれるパスを操作するための点とを有している。アンカーポイントは、パスの端点や中継点等と考えてもよい。アウトラインデータが、例えば、いわゆるベジェ曲線等である場合には、アウトラインデータは、制御点としてアンカーポイントの他にハンドルと呼ばれる曲線の曲がり方等を制御するための制御点を有していてもよい。また、曲線等を定義するために用いられる座標等を、制御点と考えてもよい。ここでの線や点は、線や点の情報と考えてもよい。ここでは、制御点についての座標等の位置情報を点位置情報と呼ぶ。
【００２５】
第一画像は、例えば、任意に区切られた２以上の文字のアウトラインデータを有している。第一画像は、例えば、１文字単位で区切られた２以上の文字のアウトラインデータを有していても良い。また、第一画像は、１文字単位以外の任意に区切られた２以上の文字のアウトラインデータを有していても良い。任意に区切られた２以上の文字のアウトラインデータについては後述する。
【００２６】
１文字単位で区切られた文字のアウトラインデータとは、例えば、１文字毎に区別可能なアウトラインデータである。例えば、アウトライン比較部１０３等が１文字毎に区別可能なアウトラインデータである。例えば、１文字単位でグループ化やネスト化、合成、複合化等が行なわれたベクトルデータや、１文字単位でオブジェクト化されたベクトルデータである。１文字単位で区切られたアウトラインデータは、例えば、一の文字に対応するアウトラインデータが、複数のアンカーポイントやパスや制御点に対して識別可能なアウトラインデータである。
【００２７】
第一画像は、文字のアウトラインデータを有するデータであれば、データ構造や、ファイル形式や、データのフォーマット等は問わない。第一画像は、例えば、電子文書等のデータであってもよい。
【００２８】
第一画像は、例えば、印刷用の原稿の画像データである。例えば、この第一画像を用いて、印刷用のデータ（例えば、印刷機等に入力されるデータ）が作成される。第一画像が有する文字のアウトラインデータは、例えば、印刷用の原稿であるテキストデータを、アウトライン化して得られたアウトラインデータである。
【００２９】
第一画像格納部１０１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。かかることは、以下の他の格納部についても同様である。
【００３０】
第二画像格納部１０２は、１または２以上の第二画像が格納される。第二画像は、２以上の文字のアウトラインデータを有する画像データである。第二画像は、第一画像と同様の画像である。第二画像は、例えば、第一画像と比較される画像である。第二画像は、例えば、検査対象となる画像である。第二画像は、例えば、第一画像を用いて作成された画像である。例えば、第二画像は、第一画像を原稿として作成された印刷に用いられる印刷用の画像データである。第二画像は、例えば、容器等の表面に印刷を行なう際に用いられる印刷用の画像データである。第二画像は、例えば、第一画像と対応付けて第二画像格納部１０２に格納されてもよい。例えば、第一画像と比較される第二画像は、この第一画像と対応付けて第二画像格納部１０２に格納されてもよい。
【００３１】
第二画像は、任意に区切られた２以上の文字のアウトラインデータを有している。例えば、第二画像は、１文字単位で区切られた２以上の文字のアウトラインデータを有していても良い。また、第二画像は、１文字単位で区切られていない２以上の文字のアウトラインデータを有していても良い。１文字単位で区切られていない２以上の文字のアウトラインデータは、例えば、１文字単位以外の任意に区切られた２以上の文字のアウトラインデータであっても良い。１文字単位で区切られていない２以上の文字のアウトラインデータについては、後述する。
【００３２】
なお、以下、本実施の形態においては、一例として、第一画像および第二画像が、いずれも１文字単位で区切られた２以上の文字のアウトラインデータを有している場合について説明する。
【００３３】
アウトライン比較部１０３は、第一アウトラインデータと、第二アウトラインデータと、を配列順番に沿って比較する。第一アウトラインデータとは、第一画像が有するアウトラインデータである。第二アウトラインデータとは、第二画像が有するアウトラインデータである。アウトライン比較部１０３は、例えば、第一アウトラインデータと、第二アウトラインデータと、を配列順番に沿って比較して一致しない部分を検出する。また、アウトライン比較部１０３は、例えば、第一アウトラインデータと、第二アウトラインデータと、を配列順番に沿って比較して一致する部分を検出してもよく、一致する部分と一致しない部分との両方を検出しても良い。
【００３４】
上述したように、比較の対象となる第一画像および第二画像が、いずれも１文字単位で区切られた２以上の文字のアウトラインデータを有している場合、アウトライン比較部１０３は、例えば、第一アウトラインデータと第二アウトラインデータとを、それぞれが有する１文字単位に区切られたアウトラインデータ単位で配列順番に沿って比較して、一致するか否かを判断する。例えば、アウトライン比較部１０３は、１文字分のアウトラインデータ同士を比較して、一致するか否かを判断する。例えば、比較により一致すると判断された１以上の１文字単位のアウトラインデータが、第一アウトラインデータと第二アウトラインデータとの、比較によって一致すると判断された部分である。また、例えば、比較により一致しないと判断された１以上の１文字単位のアウトラインデータが、第一アウトラインデータと第二アウトラインデータとの、比較によって一致しないと判断された部分である。比較は、例えば、第一画像および第二画像の全ての領域や、対応する一部の領域内に含まれる１文字単位で区切られたアウトラインデータ間で行なわれる。対応する領域は、どのように検出してもよい。例えば、ユーザにより予め対応付けられた領域を対応する領域として判断してもよい。
【００３５】
アウトライン比較部１０３は、第一アウトラインデータの１文字単位で区切られたアウトラインデータと、第二アウトラインデータの１文字単位で区切られたアウトラインデータと、をそれぞれ同じ配列順番で比較する。例えば、第一アウトラインデータおよび第二アウトラインデータがそれぞれ有する文字毎に区切られたアウトラインデータから、同じ配列順番のアウトラインデータをそれぞれ取得して比較し、比較した文字のアウトラインが一致するか否かを順番に判断していく。配列順番に沿って比較するということは、例えば、予め決められた方向（例えば、行方向や縦方向）等の、同じ配列ルートに沿って配列された、文字毎に区切られたアウトラインデータをそれぞれ取得して比較することである。配列順番に沿って比較するということは、例えば、第一画像および第二画像の同じ配列順番の文字のアウトラインデータを比較することである。配列順番に沿って比較することは、配列順番を利用して、比較することと考えてもよく、例えば、配列順番の逆順や、配列順番において、一つ置きに１文字のアウトラインデータを順次比較することと等も含む概念と考えてもよい。
【００３６】
文字の配列順番は、例えば、文字が読まれる順番である。例えば、アウトラインデータが複数行の文字のアウトラインデータである場合、一の行の最後の１文字の次の配列順番の文字のアウトラインデータは、一の行の次の行の最初の１文字のアウトラインデータである。配列順番は、例えば、予め決められているようにしてもよく、配列順番を指定する情報を、ユーザ等から図示しない受付部等を介して受け付けるようにしても良い。また画像処理により、アウトラインデータの並び方や、アウトラインデータの行間のスペース等を検出して、これらの情報から、配列順番を指定する情報を取得しても良い。
【００３７】
アウトライン比較部１０３がどのように１文字単位のアウトラインデータ同士の比較を行なって、１文字単位のアウトラインデータが一致しているか否かを判断してもよい。例えば、アウトライン比較部１０３は、比較する１文字単位のアウトラインデータの制御点の数の差が、０であるか否か、または、予め決められた閾値以下であるか否かを判断し、差が０、または閾値以下である場合に、アウトラインデータ同士が一致すると判断し、差が０または閾値以下でなければ一致しないと判断してもよい。てもよい。閾値は、例えば０以上の整数である。
【００３８】
アウトライン比較部１０３は、一致しない制御点がある場合に、比較した１文字単位のアウトラインデータ同士が一致しないと判断し、ない場合は一致すると判断してもよい。また、アウトライン比較部１０３は、一致する制御点の数が予め決められた閾値より小さい場合に、比較した１文字単位のアウトラインデータ同士が一致しないと判断し、閾値よりも小さくない場合に一致すると判断してもよい。また、一致しない制御点の数が予め決められた閾値よりも大きい場合に、比較した１文字単位のアウトラインデータ同士が一致しないと判断し、閾値よりも大きくない場合に、一致すると判断してもよい。また、アウトライン比較部１０３は、制御点の一致率が予め決められた閾値より小さい場合に、比較した１文字単位のアウトラインデータ同士が一致しないと判断し、閾値よりも小さくない場合に一致すると判断してもよい。また、アウトライン比較部１０３は、制御点の不一致率が予め決められた閾値よりも大きい場合に、比較した１文字単位のアウトラインデータ同士が一致しないと判断し、閾値よりも大きくない場合に、一致すると判断してもよい。
【００３９】
ここでの一致率とは、例えば、比較される１文字単位のアウトラインデータの一方、（例えば、比較の基準となる１文字単位のアウトラインデータや、比較の対象となる１文字単位のアウトラインデータ）が有する制御点数に対する、一致する制御点数の比率である。また、不一致率とは、例えば、比較される１文字単位のアウトラインデータの一方、（例えば、比較の基準となる１文字単位のアウトラインデータや、比較の対象となる１文字単位のアウトラインデータ）が有する制御点数に対する、一致しない制御点数の比率である。一致率の閾値は、例えば、９０％以上の値であることが好ましい。なお、一致率を、比較される１文字単位のアウトラインデータの両方の制御点数の合計に対する、一致する制御点数の比率等としてもよい。かかることは、不一致率についても同様である。
【００４０】
例えば、アウトライン比較部１０３は、第一アウトラインデータが有する一の文字のアウトラインデータを比較の基準とし、第二アウトラインデータの一の文字のアウトラインデータを比較の対象として、両者の比較を行なう場合、基準となる第一アウトラインデータの一の文字のアウトラインデータが有する各制御点に対して一致する制御点を、比較対象となる第二アウトラインデータの一の文字のアウトラインデータから検出し、検出した一致する制御点数の、基準となる第一アウトラインデータの一の文字のアウトラインデータが有する検出に用いた制御点数に対する比率を、一致率として算出する。また、アウトライン比較部１０３は、例えば、基準となる第一アウトラインデータの一の文字のアウトラインデータが有する各制御点に対して一致しない制御点を、比較対象となる第二アウトラインデータの一の文字のアウトラインデータから検出し、検出した一致する制御点数の、基準となる第一アウトラインデータの一の文字のアウトラインデータが有する検出に用いた制御点数に対する比率を、一致率として算出してもよい
【００４１】
上記における制御点同士が一致するということは、例えば、一のアウトラインデータの一の制御点に対して近接した位置、例えば、予め決められた閾値以下の距離の範囲に、比較対象となる他のアウトラインデータの制御点（あるいは、制御点であって、上記の一のアウトラインデータの他の一の制御点に一致すると判断されていない制御点）が存在することと考えてもよい。制御点同士が一致するということは、例えば、制御点の点位置情報同士が一致することであってもよく、制御点の点位置情報が示す位置の間の距離が閾値以下の距離であることであってもよい。かかることは、以下においても同様である。なお、ここでの一のアウトラインデータと他のアウトラインデータとは、比較される第一のアウトラインデータと第二のアウトラインデータ、あるいは比較される第二のアウトラインデータと第一のアウトラインデータである。
【００４２】
例えば、比較の基準となる第一アウトラインデータの一の文字のアウトラインデータの一の制御点との距離が閾値以下となる制御点であって、同じ一の文字のアウトラインデータの他の制御点と一致していると判断されていない制御点が、比較対象となる第二アウトラインデータの同じ配列順番の一の文字のアウトラインデータに存在する場合、アウトライン比較部１０３は、第一アウトラインデータの一の文字のアウトラインデータの一の制御点に一致する制御点があると判断し、存在しない場合、一致する制御点がないと判断する。この場合の距離の閾値は、通常、文字のサイズよりも小さい値であり、例えば、文字のサイズの１０分の１以下の値や、文字の端部以外の部分の太さよりも小さい値であることが好ましい。制御点間の距離は、例えば、アウトラインデータの各制御点の点位置情報を用いて算出可能である。点位置情報は、例えば、各文字のアウトラインデータに設定される座標系等における制御点の座標である。ここでの比較に用いられる制御点は、制御点のうちの一部、例えば、アンカーポイントやハンドル等のうちの一部であってもよく、全ての制御点であってもよい。
【００４３】
なお、アウトライン比較部１０３は、比較する１文字単位のアウトラインデータ間において、それぞれ、制御点を特徴点等として用いて、この特徴点等を用いて比較する１文字単位のアウトラインデータ間の類似度を算出し、この類似度から、アウトラインデータ同士が一致しているか否かを判断してもよい。例えば、類似度が閾値以上である場合、１文字単位のアウトラインデータ同士が一致していると判断してもよい。
【００４４】
アウトライン比較部１０３は、１文字単位のアウトラインデータ同士を比較する際に、アウトラインデータ同士のサイズを合わせる処理や、１文字単位のアウトラインデータの傾き等のゆがみを合せる処理やゆがみを除去する処理等の補正処理等を行なうようにしてもよい。例えば、１文字単位のアウトラインデータ同士の縦横のサイズ合わせのための拡大や縮小は、画像の最適化計算等を行なうことで実現可能である。また、１文字単位のアウトラインデータ同士のシアー等の変形による形状のゆがみを合せる変形処理は、例えば、アウトラインデータのラスタライズ（ラスタ画像化）と、ホモグラフ変換やアフィン変換との組合わせにより実現可能である。なお、上記以外の画像処理等を行なうことで、１文字単位のアウトラインデータ間のサイズ合わせや、形状合せや、ゆがみの除去等を行なうようにしてもよい。ここでの補正処理は、１文字単位のアウトラインデータを収めた最小矩形等を設定して、この最小矩形に対して行なうようにしても良い。画像の最適化計算やホモグラフ変換等は、公知技術であるため、ここでは詳細な説明は省略する。アウトラインデータのラスタライズは、アウトラインデータのレンダリングと考えてもよい。
アウトライン比較部１０３は、例えば、対応する第一画像と第二画像のアウトラインデータ同士を比較する。例えば、アウトライン比較部１０３は、対応付けて格納されている第一画像と第二画像のアウトラインデータ同士を比較する。なお、図示しない受付部等を介してユーザにより指定された第一画像と第二画像のアウトライン同士を比較してもよい。
【００４５】
なお、アウトライン比較部１０３が、どのように、第一画像および第二画像が、いずれも１文字単位で区切られた２以上の文字のアウトラインデータを有していると判断するかは問わない。例えば、ユーザにより、予め１文字単位で区切られていることが指定されている場合に、いずれも１文字単位で区切られた２以上の文字のアウトラインデータを有していると判断してもよい。また、区切られたアウトラインデータのそれぞれのサイズや縦横比等から、１文字単位で区切られているか否か等を判断してもよい。なお、第一画像格納部１０１および第二画像格納部１０２に格納される第一画像および第二画像が、いずれも１文字単位で区切られた２以上の文字のアウトラインデータを有しているという前提である場合、上記のような第一画像および第二画像が、いずれも１文字単位で区切られた２以上の文字のアウトラインデータを有しているか否かの判断を行なわなくても良い。
【００４６】
文字画像比較部１０４は、アウトライン比較部１０３が比較により一致しないと判断した部分の第一アウトラインデータと、第二アウトラインデータとを変換したラスタ画像をそれぞれ構成する画素の画素値を比較して、差異の箇所を検出する。ここでの、アウトライン比較部１０３が比較により一致しないと判断した部分の第一アウトラインデータと第二アウトラインデータとを変換したラスタ画像は、例えば、一致しないと判断された第一アウトラインデータと第二アウトラインデータとの少なくとも一部を変換したラスタ画像であればよく、全体であっても全体でなくても良い。また、画素の画素値が比較されるラスタ画像は、第一アウトラインデータと第二アウトラインデータとを変換したラスタ画像の少なくとも一部であればよく、全体であっても全体でなくても良い。
【００４７】
第一アウトラインデータと、第二アウトラインデータとを変換したラスタ画像は、例えば、文字画像比較部１０４が作成する。例えば、文字画像比較部１０４が、アウトライン比較部１０３の比較結果に応じて、アウトライン比較部１０３が比較した第一アウトラインデータと、第二アウトラインデータとをラスタ画像に変換し、変換したラスタ画像をそれぞれ構成する画素の画素値を比較して、差異の箇所を検出してもよい。以下、本実施の形態においては、文字画像比較部１０４がラスタ画像に変換する場合を例に挙げて説明する。ただし、これらのラスタ画像は、図示しない他の処理部等が作成してもよい。
【００４８】
画素の画素値とは、例えば、画素の輝度値や、ＲＧＢ値や、ＣＭＹＫ値や、色相や、彩度、カラーコード等である。なお、以下、第一アウトラインデータをラスタ画像に変換したものを第一ラスタ画像、第二アウトラインデータをラスタ画像に変換したものを第二ラスタ画像と呼ぶ。ラスタ画像に変換する処理は、ラスタライズとも呼ばれる。ラスタ画像とは、多値の複数の画素で構成される画像であり、ビットマップ画像とも呼ばれる。変換されるラスタ画像のビット深度は問わないが、８ビット以上のビット深度であることが好ましい。また、ラスタ画像に変換する際には、アンチエイリアシング処理を行なっても良く、行なわなくても良い。また、ラスタ画像に変化する際の解像度等は問わない。通常は、第一アウトラインデータと第二アウトラインデータとを同じ設定でラスタ化するが、異なる設定で行なっても良い。
【００４９】
例えば、文字画像比較部１０４は、第一アウトラインデータおよび第二アウトラインデータの、アウトライン比較部１０３が比較によって一致しないと判断した１文字単位で区切られたアウトラインデータ（つまり第一のアウトラインデータと第二のアウトラインデータと）を、それぞれラスタ画像に変換し、変換したラスタ画像をそれぞれ構成する画素の画素値を比較して、差異の箇所を検出する。また、アウトライン比較部１０３が一致すると判断した１文字単位のアウトラインデータについては、文字画像比較部１０４は、ラスタ画像に変換せず、比較も行なわないようにする。
【００５０】
文字画像比較部１０４が比較する画素は、例えば、それぞれのラスタ画像の対応する画素であり、例えば、比較するラスタ画像にそれぞれ設定される座標系における同じ座標の画素や、重ねた場合に対応する（例えば、重なりあう）画素である。
【００５１】
例えば、文字画像比較部１０４は、アウトライン比較部１０３が一致しないと判断した１文字単位のアウトラインデータについて、上述したような最適化計算や、ホモグラフ変換等を行うことによってサイズや形状等を揃え、このサイズや形状を揃えた１文字単位のアウトラインデータをそれぞれラスタ画像に変換して得られた第一ラスタ画像と、第二ラスタ画像との対応する画素（例えば、同じ座標の画素や、重ねた場合に重なり合う画素）の画素値（例えば、輝度値）の比較を行なってもよい。あるいは、アウトライン比較部１０３が比較のためにサイズや、形状を変更したアウトラインデータを、そのままラスタ画像に変換した第一ラスタ画像と第二ラスタ画像との対応する画素の画素値を比較してもよい。
【００５２】
また、例えば、文字画像比較部１０４は、第一ラスタ画像と第二ラスタ画像とのサイズや形状等を、上述したような最適化計算や、ホモグラフ変換等を行うことによって揃え、揃えた第一ラスタ画像と第二ラスタ画像とを重ねた場合に対応する（重なりあう）画素間の画素値（例えば、輝度値）を比較することにより行われる。
【００５３】
文字画像比較部１０４は、第一ラスタ画像と第二ラスタ画像との比較を、通常、画素単位で行うが、画素単位で行なわないようにしても良く、例えば、複数の画素で構成されるブロック単位等で比較が行われても良い。この場合、例えば、複数の画素値の平均値等の、複数の画素値を統計処理した値を比較するようにしても良い。このような画素単位で行なわれない第一ラスタ画像と第二ラスタ画像との比較も、第一ラスタ画像と第二ラスタ画像とを構成する画素の画素値の比較と考えてもよい。
【００５４】
文字画像比較部１０４は、例えば、第一画像と第二画像とをそれぞれ構成する画素の画素値（例えば、輝度値等）の差を、予め用意された閾値と比較して差異の箇所を検出する。差異の箇所とは、差異の画素や、差異の画素群である。この閾値としては、例えば、図示しない格納部等に格納されている閾値が用いられる。例えば、画素値の差が、閾値以上である画素や画素群は、差異の箇所であると判断され、閾値未満である部分は、差異のない箇所であると判断される。上記のように、ブロック単位等で画素の画素値の比較が行なわれる場合、例えば、差異の画素として、ブロック単位の画素群が検出される。
【００５５】
また、文字画像比較部１０４は、差異のある画素や画素群の数や比率によって、１文字単位で区切られた第一ラスタ画像と第二ラスタ画像とが一致するか否か（あるいは、この第一ラスタ画像と第二ラスタ画像とにそれぞれ対応する１文字単位の第一アウトラインデータおよび第二アウトラインデータが一致するか否か）を判断してもよい。例えば、差異のある画素数が、予め決められた閾値を超えない場合に１文字単位で区切られた第一ラスタ画像と第二ラスタ画像とが一致すると判断し、超える場合に一致しないと判断してもよい。また、例えば、差異のない画素数が、予め決められた閾値を超える場合に１文字単位で区切られた第一ラスタ画像と第二ラスタ画像とが一致すると判断し、超えない場合に一致しないと判断してもよい。あるいは、例えば、上述したような一致率が閾値を超える場合に１文字単位で区切られた第一ラスタ画像と第二ラスタ画像とが一致すると判断し、超えない場合に、一致しないと判断してもよい。また、上述したような不一致率が閾値を超える場合に、１文字単位で区切られた第一ラスタ画像と第二ラスタ画像とが一致しないと判断し、超えない場合に、一致すると判断してもよい。ただし、ここでの一致率および不一致率は、上記の一致率や不一致率において、比較する１文字単位のアウトラインデータが有する制御点の数の代わりに、比較するラスタ画像の画素数を用い、一致する、あるいは一致しない制御点の数の代わりに差異のない画素数や、差異のある画素数を用いるものとする。
【００５６】
文字画像比較部１０４は、例えば、一致しないと判断された１文字単位の第一ラスタ画像および第二ラスタ画像の少なくとも一方や、この第一ラスタ画像および第二ラスタ画像の少なくとも一方に対応する１文字単位のアウトラインデータを示す情報（例えば、これらの画像やデータの座標や識別情報や配列順番を示す情報等）を、図示しない記憶媒体に蓄積する。また、文字画像比較部１０４は、例えば、一致すると判断された１文字単位の第一ラスタ画像および第二ラスタ画像の少なくとも一方や、この第一ラスタ画像および第二ラスタ画像の少なくとも一方に対応する１文字単位のアウトラインデータを示す情報を、図示しない記憶媒体に蓄積してもよい。ここでの座標は、例えば、第一画像や第二画像に設定される座標系における座標である。
【００５７】
また、文字画像比較部１０４は、検出した差異のある箇所を示す情報（例えば、差異が検出された画素や画素群の座標）等を、図示しない記憶媒体等に蓄積するようにしても良い。また、文字画像比較部１０４は、差異のない箇所を示す情報を、図示しない記憶媒体等に蓄積するようにしてもよい。ここでの座標は、例えば、第一画像や第二画像に設定される座標系における座標であってもよく、１文字単位の各ラスタ画像や、アウトラインデータに設定される座標系における座標であってもよい。
【００５８】
出力部１０５は、文字画像比較部１０４が検出した差異の箇所を示す情報を出力する。差異の箇所を示す情報を出力するとは、例えば、第一画像および第二画像の少なくとも一方、あるいはその一部における差異が検出された箇所を、差異が検出されなかった箇所と異なる出力態様で出力することである。例えば、差異が検出された文字に対応する１文字単位で区切られた第一アウトラインデータおよび第二アウトラインデータの少なくとも一方を、同じアウトラインデータの他の文字のアウトラインデータとは異なる出力態様で出力することである。出力態様が異なるとは、出力する１文字単位で区切られた第一アウトラインデータおよび第二アウトラインデータの少なくとも一方の背景色が異なることや、出力する１文字単位の第一アウトラインデータおよび第二アウトラインデータの少なくとも一方に、他の色の画像を合成して（例えばオーバーレイして）出力することや、出力する１文字単位の第一アウトラインデータおよび第二アウトラインデータの少なくとも一方を、予め指定されたパターンの線等で囲って出力すること等である。例えば、差異が検出された文字の第二アウトラインデータを、他とは異なる色の画像と合成して出力する。なお、出力が表示である場合、出力態様は表示態様と考えても良い。かかることは以下においても同様である。
【００５９】
また、差異の箇所を示す情報を出力することは、第一画像および第二画像の少なくとも一方の差異が検出された箇所を示す座標に対応する領域を、上記と同様の、他の領域とは異なる出力態様で出力することであってもよい。ここでの領域は、例えば、表示用の第一画像や第二画像における１以上の画素を含む領域である。
【００６０】
また、差異の箇所を示す情報を出力するということは、差異の箇所を示す情報（例えば、差異の箇所の座標等の情報）を出力することであってもよい。
【００６１】
ここで述べる出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。出力部１０５は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部１０５は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００６２】
次に、画像検査装置１の動作の一例について図２のフローチャートを用いて説明する。
【００６３】
（ステップＳ１０１）アウトライン比較部１０３は、第一画像格納部１０１および第二画像格納部１０２から、第一画像と、第二画像とを読出す。アウトライン比較部１０３は、例えば、第一画像と、この第一画像に対応する第二画像とを読み出す。読み出す第一画像および第二画像は、例えば、ユーザが図示しない受付部等を介して指定した一の第一画像および第二画像である。また、読み出す第一画像および第二画像は、ユーザが図示しない受付部等を介して指定した一の第一画像（または第二画像）と、この一の第一画像または第二画像に対応付けられた一の第二画像（または第一画像）であってもよい。読み出す第一画像は、例えば、検査の基準となる第一画像であり、読み出す第二画像は、例えば、検査の対象となる第二画像である。なお、ここでは、第一画像と第二画像とは、いずれも１文字単位で区切られたアウトラインデータを有するものであるとする。
【００６４】
（ステップＳ１０２）アウトライン比較部１０３は、カウンターｍの値として１を代入する。
【００６５】
（ステップＳ１０３）アウトライン比較部１０３は、第一アウトラインデータの１文字単位で区切られたアウトラインデータの中に、配列順番がｍ番目である文字のアウトラインデータがあるか否かを判断し、ある場合は、ステップＳ１０４に進み、ない場合、ステップＳ１０９に進む。
【００６６】
（ステップＳ１０４）アウトライン比較部１０３は、配列順番がｍ番目である文字に対応する第一アウトラインデータと、配列順番がｍ番目である文字に対応する第二アウトラインデータと、のサイズと形状とを揃える。例えば、アウトライン比較部１０３は、配列順番がｍ番目である文字に対応する第一アウトラインデータに対して、最適化計算や、ホモグラフ変換等を行なうことで、このｍ番目の文字に対応する第一アウトラインデータのサイズと形状を、配列順番がｍ番目である文字に対応する第二アウトラインデータと同じサイズおよび形状に変化させる。
【００６７】
（ステップＳ１０５）アウトライン比較部１０３は、ステップＳ１０４でサイズおよび形状を変化させたｍ番目である文字に対応する第一アウトラインデータと、ｍ番目である文字に対応する第二アウトラインデータとを比較して一致しているか否かを判断する。例えば、アウトライン比較部１０３は、ｍ番目の文字の第一アウトラインデータの各制御点について、一致する制御点を、ｍ番目の文字の第二アウトラインデータが有しているか否かを判断する。例えば、アウトライン比較部１０３は、ｍ番目の文字の第一アウトラインデータの各制御点について、第一アウトラインデータに設定される座標系における座標を取得し、取得した座標に一致する座標に配置された制御点を、ｍ番目の文字の第二アウトラインデータが有しているか否かを判断する。取得した座標に一致する座標とは、取得した座標との距離が、予め決められた閾値以下である座標である。そして、一致しないと判断された制御点の数が、閾値を超えると判断された場合、このｍ番目の文字の第一アウトラインデータと、第二アウトラインデータとが一致しないと判断して、ステップＳ１０６に進む。また、閾値を超えないと判断された場合、このｍ番目の文字に対応する第一アウトラインデータと、第二アウトラインデータとが一致すると判断して、ステップＳ１０８に進む。
【００６８】
ここでの一致しないと判断された制御点の数は、例えば、ｍ番目の文字の第一アウトラインデータが有する制御点のうちの、上記で検出された第二アウトラインデータが有する制御点と一致する制御点を除外した数、または、ｍ番目の文字の第二アウトラインデータが有する制御点のうちの、上記で検出された第一アウトラインデータが有するアウトラインデータが有する制御点と一致する制御点を除外した数、またはこれらの数の和である。ここでの一致しないと判断された制御点の数は、例えば、ｍ番目の文字の第一アウトラインデータが有する制御点の数から、一致する制御点の数を減算した値、または、ｍ番目の文字の第二アウトラインデータが有する制御点の数から、一致する制御点の数を減算した値、または、上記の減算した値の和である。なお、上記においては、一致しない制御点数が、閾値を超えるか否かにより、ｍ番目の文字のアウトライン同士が一致するか否かを判断したが、例えば、一致する制御点数が閾値を超えるか否かにより、ｍ番目の文字のアウトライン同士が一致するか否かを判断してもよく、上述した一致率や不一致率を算出して、ｍ番目の文字のアウトライン同士が一致するか否かの判断を行なっても良い。
【００６９】
（ステップＳ１０６）文字画像比較部１０４は、ｍ番目の文字に対応する第一アウトラインデータと、第二アウトラインデータとを、それぞれ第一ラスタ画像と、第二ラスタ画像とに変換する。ラスタ画像に変換する処理は、公知であるため、ここでは詳細な説明は省略する。ここで変換するｍ番目の文字に対応する第一アウトラインデータは、ステップＳ１０４で変化させた第一アウトラインデータである。
【００７０】
（ステップＳ１０７）文字画像比較部１０４は、第一ラスタ画像を構成する各画素の画素値と、この各画素に対応する位置に配置された第二ラスタ画像を構成する各画素の画素値とを順次比較して、差異の箇所を検出していく。ここでは、第二ラスタ画像における差異の箇所を順次検出する。そして、差異の箇所を示す情報、例えば、差異の箇所として検出された画素の座標や、画素の領域を示す座標等を、図示しない格納部等に蓄積する。ここでの蓄積は一時記憶であっても、一時記憶でなくてもよい。
【００７１】
（ステップＳ１０８）アウトライン比較部１０３は、カウンターｍの値を１インクリメントする。そして、ステップＳ１０３に戻る。
【００７２】
（ステップＳ１０９）出力部１０５は、ステップＳ１０７で検出された差異の箇所を示す情報を出力する。なお、この出力は、図示しない受付部等がユーザ等から受け付けた出力指示に応じて行なうようにしてもよい。そして、処理を終了する。
【００７３】
なお、ステップＳ１０３で、第一アウトラインデータの１文字単位で区切られたアウトラインデータの中に、配列順番がｍ番目であるアウトラインデータが含まれないと判断された場合に、第二アウトラインデータに、配列順番がｍ番目以降である文字に対応するアウトラインデータがあるか否かを判断し、ある場合、第二アウトラインデータのｍ番目以降の文字に対応するアウトラインデータや、第二画像のこのｍ番目以降の文字に対応するアウトラインデータが配置されている領域等を、差異の箇所として検出するようにしてもよい。そして、その後に、ステップＳ１０９に進むようにし、ステップＳ１０９においては、ここで検出された差異の箇所を示す情報を出力するようにしてよい。
【００７４】
また、ステップＳ１０３において、第一画像が有する第一アウトラインデータに、配列順番がｍ番目である文字に対応するアウトラインデータが含まれていると判断された場合に、アウトライン比較部１０３は、ステップＳ１０１で読み出した第二画像が有する第二アウトラインデータに、配列順番がｍ番目である文字に対応するアウトラインデータが含まれているか否かを判断し、含まれる場合は、ステップＳ１０４に進み、含まれない場合は、このｍ番目の文字以降の文字の第一アウトラインデータに対応する第二アウトラインデータが存在しないとして、第二画像のｍ−１番目の文字に対応するアウトラインデータが配置されていた位置以降の領域を、差異の箇所として検出するようにしてもよい。そして、この差異の箇所（例えば、ｍ−１番目の文字を示すアウトラインデータが配置されている領域以降の領域）を示す情報を取得して、ステップＳ１０９に進み、ステップＳ１０９において、ここで検出された差異の箇所を示す情報を出力するようにしても良い。
【００７５】
以下、本実施の形態における画像検査装置１の具体的な動作の一例について説明する。
【００７６】
ユーザが、原稿のデータである一の第一画像と、この第一画像に基づいて作成された印刷用のデータである一の第二画像とを、比較して、印刷データの不備等の有無を検査するために、画像検査装置１の図示しない入力デバイス等を介して、図示しない受付部に、この第一画像と第二画像とを読み出す指示を入力したとする。
【００７７】
アウトライン比較部１０３は、図示しない受付部が受け付けた第一画像と第二画像とを読み出す指示に応じて、この指示により指定された第一画像と第二画像とをそれぞれ第一画像格納部１０１および第二画像格納部１０２からそれぞれ読み出す。
【００７８】
図３は、アウトライン比較部１０３が読み出した第一画像１０００を示す図（図３（ａ））、第一画像１０００の左上を拡大した図（図３（ｂ））、アウトライン比較部１０３が読み出した第二画像を示す図（図３（ｃ））、および第二画像２０００の左上を拡大した図（図３（ｄ））である。第一画像および第二画像が有するアウトラインデータは、いずれも１文字単位で区切られているものとする。例えば、１文字単位で、各制御点およびパスがグループ化されているものとする。ここでの制御点は、アンカーポイントおよびハンドルであるとする。なお、図３（ｂ）および図３（ｄ）においては、説明のため、１文字に対応するアウトラインデータを、それぞれを内包する矩形の点線で囲って示している。また、図３（ａ）および図３（ｃ）では、説明のため、アウトラインの内側を黒で塗りつぶした状態を示している。図３（ｂ）および図３（ｄ）では、アウトラインを線で描いた状態を示している。
【００７９】
第一画像１０００が有する第一アウトラインデータおよび第二画像２０００が有する第二アウトラインデータは、それぞれ、右から左に向かって配列された１文字単位で区切られたアウトラインデータを有する複数の行が、上から下に向かって配列されたアウトラインデータであるとする。このため、第一アウトラインデータおよび第二アウトラインデータのそれぞれの配列順番が一番である文字のアウトラインデータは、最も左上に位置する１文字のアウトラインデータであり、配列順番が最後である文字のアウトラインデータは、最下行の最も右側の文字のアウトラインデータである。
【００８０】
アウトライン比較部１０３は、まず、第一画像１０００において、配列順番が１番目である文字に対応するアウトラインデータが存在するか否かを判断する。ここでは、第一アウトラインデータ１００１が存在すると判断されたとする。
【００８１】
このため、アウトライン比較部１０３は、第一画像１０００が有する第一アウトラインデータおよび第二画像２０００が有する第二アウトラインデータから、それぞれ、配列順番が１番目である文字に対応するアウトラインデータ１００１およびアウトラインデータ２００１を取得する。
【００８２】
アウトライン比較部１０３は、アウトラインデータ１００１に対して、拡大縮小や、変形等を行なって、アウトラインデータ２００１とサイズおよび形状を揃える。なお、拡大縮小や、変形を、アウトラインデータ２００１に対して行なうようにしてもよく、両方に行なっても良い。
【００８３】
図４は、サイズおよび形状を揃えたアウトラインデータ１００１を示す模式図（図４（ａ））、アウトラインデータ２００１を示す模式図（図４（ｂ））、サイズおよび形状を揃えたアウトラインデータ１００２を示す模式図（図４（ｃ））、およびアウトラインデータ２００２を示す模式図（図４（ｄ））である。図において、黒色四角は、制御点を示している。また、制御点の横には、各制御点の座標を示している。なお、座標におけるｘ１，ｙ１等は、任意の値を示しているものとする。
【００８４】
アウトライン比較部１０３は、アウトラインデータ１００１の各制御点の座標を順次取得し、取得した座標に対して、順次、アウトラインデータ２００１が有する制御点の中に、一致する制御点が存在するか否かを判断する。そして、一致する制御点の数が、閾値以上であるか否かを判断する。ここでは、アウトラインデータ１００１の一の制御点の座標とアウトラインデータ２００１の一の制御点座標との間の距離が閾値以下となる場合、２つの制御点が一致すると判断し、閾値を超えた場合、一致しないと判断する。ここでの閾値は、例えば、アウトラインデータ１００１内における最も近い制御点間の距離未満の距離であるとする。また、アウトラインデータ２００１が有する制御点のうちの、一度一致するとして検出された制御点は、再度検出しないものとする。
【００８５】
ここでは、アウトラインデータ１００１が有する全ての制御点にそれぞれ一致する制御点が、アウトラインデータ２００１において検出されたとする。また、アウトラインデータ２００１の全ての制御点が、アウトラインデータ１００１の全ての制御点と一致したとする。このため、一致しない制御点の数が０であり、一致しない制御点の数が、予め設定された閾値以下であると判断されたとする。予め設定された閾値は、ここでは、「２」であるとする。このため、アウトライン比較部１０３は、アウトラインデータ１００１とアウトラインデータ２００１とが一致すると判断する。
【００８６】
このため、アウトライン比較部１０３は、第一画像１０００において、配列順番が２番目である文字に対応するアウトラインデータが存在するか否かを判断する。ここでは、第一アウトラインデータ１００２が存在すると判断されたとする。
【００８７】
このため、アウトライン比較部１０３は、第一画像１０００が有する第一アウトラインデータおよび第二画像２０００が有する第二アウトラインデータから、それぞれ、配列順番が２番目である文字に対応するアウトラインデータ１００２およびアウトラインデータ２００２を取得する。
【００８８】
アウトライン比較部１０３は、アウトラインデータ１００２に対して、拡大縮小や、変形等を行なって、アウトラインデータ２００２とサイズおよび形状を揃える。
【００８９】
アウトライン比較部１０３は、アウトラインデータ１００２の各制御点の座標を順次取得し、取得した座標に対して、順次、アウトラインデータ２００２が有する制御点の中に、一致する制御点が存在するか否かを判断する。そして、アウトライン比較部１０３は、一致する制御点数をカウントし、アウトラインデータ１００２が有する制御点の数から、一致する制御点の数を減算する。また、アウトライン比較部１０３は、アウトラインデータ２００２が有する制御点の数から、一致する制御点の数を減算する。そして、それぞれの減算により得られた値を加算して、一致しない制御点数を算出し、この一致しない制御点数が、閾値を超えるか否かを判断する。
【００９０】
ここでは、アウトラインデータ１００２の制御点１１に一致する制御点と、制御点１２に一致する制御点と、制御点１３に一致する制御点と、制御点１４に一致する制御点と、の４つの制御点がアウトラインデータ２００２の制御点の中に検出されず、一致しない制御点の数が「４」であったとする。
【００９１】
アウトライン比較部１０３は、この一致しない制御点の数を示す数値「４」が、閾値以上であるか否かを判断する。ここでは、上記のように閾値が「２」に設定されていたとすると、アウトライン比較部１０３は、アウトラインデータ１００２とアウトラインデータ２００２とが一致しないと判断する。
【００９２】
このため、文字画像比較部１０４は、サイズおよび形状を揃えたアウトラインデータ１００２と、アウトラインデータ２００２と、をそれぞれラスタ画像に変換する。変換する際には、解像度を同じ値に設定する。また、ここでは、一例として８ビットのグレースケールに変更する。
【００９３】
図５は、アウトラインデータ１００２を変換して得られた第一ラスタ画像を示す図（図５（ａ））、およびアウトラインデータ２００２を変換して得られた第二ラスタ画像を示す図（図５（ｂ））であるとする。ただし、ここでのラスタ画像は、説明のためのものであり、実際に利用されるラスタ画像とは異なる場合がある。
【００９４】
そして、文字画像比較部１０４は、ラスタ画像の同じ座標に配置された画素同士の画素値である輝度値を順次比較し、輝度値の差が、閾値以上である画素を検出し、検出した画素が配置される領域の輪郭の座標を、差異の箇所を示す情報として取得する。ここでは、取得する座標は、第二画像２０００内における座標とするが、アウトラインデータ２００２内における座標であってもよい。そして、取得した座標を、図示しない格納部等に蓄積する。例えば、文字画像比較部１０４は、図５（ｂ）の領域５０を構成する画素を、差異の箇所として検出し、この領域の輪郭を示す座標等を、差異の箇所を示す情報として図示しない格納部等に蓄積する。
【００９５】
同様にして、文字画像比較部１０４は、配列順番が３番目以降である全ての文字に対応する第一アウトラインデータと第二アウトラインデータとについて、順次、アウトラインが一致するか否かを判断し、一致しない場合、ラスタ画像に変換して、差異の箇所を取得していく。
【００９６】
第一アウトラインデータが有する全ての１文字単位で区切られたアウトラインデータについて、上記のような処理が行なわれた後、出力部１０５は、差異の箇所を示す情報を出力する。ここでは、出力部１０５は、上記で取得して図示しない格納部に蓄積された差異の箇所を示す情報を読み出し、読み出した差異の箇所を示す情報である輪郭の座標が示す領域を、差異の箇所であることを示すグレースケール以外の色の画像に変換し第二画像を構成し、図示しないモニタ等に表示する。
【００９７】
図６は、出力部１０５がモニタ１０５ａを用いて出力する差異の箇所を示す情報の出力例を示す図であり、具体的には、差異の箇所を示した第二画像２０００の表示例を示す図である。なお、図６においては、第二画像の右上近傍を拡大表示した状態を示している。また、元の第二アウトラインデータで囲まれている領域については、予め指定された色である黒で示している。
【００９８】
図６に示すように、差異の箇所として検出された領域５０〜５２においては、予め指定された色の画像が表示されている。これにより、ユーザは、印刷用データである第二画像のアウトラインデータのどの部分に不適切な箇所があるかを容易に、確認することができる。
【００９９】
以上、本実施の形態によれば、２つの画像データが有する文字のアウトラインデータを適切に比較して、画像データを適切に検査することができる。
【０１００】
例えば、アウトラインデータ同士を、制御点同士で比較した場合、１文字単位でアウトラインデータ同士を比較して、制御点同士が異なっていることがわかったとしても、制御点により描かれるパスがどのようにずれているか等を判断することは難しく、実際に文字同士が異なっているか、あるいはどのように異なっているかを示すことは困難である。
【０１０１】
また、例えば、アウトラインデータをラスタ画像に変換する場合、同じ形状およびサイズを有するアウトラインデータ同士であっても、アウトラインデータの配置される位置等のわずかなずれによって、得られたラスタ画像間の輪郭等の画素の画素値が異なるものとなってしまう場合がある。このため、２つの画像が有する１文字単位のアウトラインデータを、いずれもラスタ画像に変換して比較する場合、比較するアウトラインデータ同士が仮に同じ形状およびサイズを有する文字のアウトラインデータであったとしても、差異のある箇所が検出され、差異のある文字として出力される可能性があり、目視等でユーザが確認しなければならないアウトラインデータの文字数が増加してしまい、作業効率が低下することが懸念される。
【０１０２】
しかしながら、本発明においては、アウトラインデータをアウトライン比較部１０３により比較を行なって、アウトラインデータが一致する文字を差異のない文字と判断してラスタ画像による比較を行なわないことにより、不適切な差異の検出を防ぐことが可能となる。また、一致しないと判断された文字のアウトラインデータについては、ラスタ画像に変換して差異の箇所を検出するため、差異の箇所を適切に示すことが可能となる。
【０１０３】
（実施の形態２）
上記実施の形態においては、第一画像および第二画像が有するアウトラインデータが、１文字単位で区切られたアウトラインデータである場合について説明したが、本実施の形態においては、第二画像が有する第二アウトラインデータが、１文字単位で区切られていないアウトラインデータを有している場合について説明する。
【０１０４】
図７は、本実施の形態における画像検査装置１のブロック図である。
画像検査装置２は、第一画像格納部２０１、第二画像格納部２０２、アウトライン比較部２０３、文字データ取得部２０６、文字データ比較部２０７、文字画像比較部２０４、出力部２０５を備える。
【０１０５】
第一画像格納部２０１には、第一画像が格納される。第一画像は、第一アウトラインデータを有する画像である。本実施の形態において格納される第一画像が有する第一アウトラインデータは、任意に区切られたアウトラインデータを有している。任意に区切られたアウトラインデータは、２以上に区切られたアウトラインデータである。任意に区切られたアウトラインデータは、例えば、任意の位置において２以上に区切られたアウトラインデータである。任意に区切られたアウトラインデータは、例えば、２以上の文字のアウトラインデータであって、２以上に区切られたアウトラインデータである。任意に区切られたアウトラインデータは、例えば、２以上の文字のアウトラインデータであって、文字の配列方向における任意の位置において２以上に区切られたアウトラインデータである。
【０１０６】
任意に区切られたアウトラインデータは、１文字単位で区切られたアウトラインデータであってもよく、２以上の文字で区切られたアウトラインデータであってもよい。区切られた部分の文字数は、同じであっても異なっていても良い。また、アウトラインデータは、必ずしも文字単位で区切られていなくてもよく、例えば、１文字のアウトラインの途中で区切られていてもよい。格納される第一画像が有する第一アウトラインデータが、１文字単位で区切られていないアウトラインデータを有する場合がある点を除けば、第一画像格納部２０１は、上述した第一画像格納部１０１と同様であり、ここでは詳細な説明は省略する。
【０１０７】
第二画像格納部２０２には、第二画像が格納される。第二画像は、第二アウトラインデータを有する画像である。本実施の形態において格納される第二画像が有する第二アウトラインデータは、１文字単位で区切られていないアウトラインデータを有するアウトラインデータである。１文字単位で区切られていないアウトラインデータとは、例えば、１文字単位で取り出すことができないアウトラインデータである。１文字単位で区切られていないアウトラインデータとは、例えば、アウトラインデータを構成するパスや制御点が、いずれの文字のアウトラインデータを構成するパスであるか、識別できないアウトラインデータである。例えば、１文字単位で区切られていないアウトラインデータとは、複数の文字のアウトラインデータが、文字毎に区切られずに配置されているアウトラインデータや、文字毎に区切られずにグループ化されているアウトラインデータである。１文字単位で区切られていないアウトラインデータとは、例えば、上述したような任意に区切られたアウトラインデータであって、１文字単位で区切られたアウトラインデータを除くアウトラインデータである。１文字単位で区切られていないアウトラインデータは、例えば、一行内や一ブロック内の複数の文字のアウトラインデータであって、１文字単位で区切られていないアウトラインデータである。１文字単位で区切られていないアウトラインデータは、少なくとも複数の文字で区切られたアウトラインデータであることが好ましい。１文字単位で区切られていないアウトラインデータは、複数の文字を有する行で区切られたアウトラインデータであってもよい。格納される第二画像が有する第二アウトラインデータが、１文字単位で区切られていないアウトラインデータを有する点を除けば、第二画像格納部２０２は、上述した第二画像格納部１０２と同様であり、ここでは詳細な説明は省略する。
【０１０８】
アウトライン比較部２０３は、第一画像のアウトラインデータである第一アウトラインデータと、第二画像の文字のアウトラインデータである第二アウトラインデータと、を配列順番に沿って比較する。本実施の形態のアウトライン比較部２０３は、特に、第二画像が、上述したような１文字単位で区切られていないアウトラインデータを有する第二アウトラインデータを有している画像である場合において、第二アウトラインデータが有する任意に区切られたアウトラインデータの区切られた一の部分と、第一アウトラインデータとを、配列順番に沿って比較して、一致しない部分を検出するものである。一致しない部分とは、例えば、一致しない比較アウトラインデータや、対象アウトラインデータの１以上の比較アウトラインデータと一致しない部分である。ただし、ここでは、部分は、対象アウトラインデータの全体も含むと考えてもよい。配列順番等については、上記実施の形態１と同様であるため、ここでは詳細な説明は省略する。
【０１０９】
アウトライン比較部２０３は、第一画像のアウトラインデータである第一アウトラインデータと、第二画像の文字のアウトラインデータである第二アウトラインデータと、を配列順番に沿って比較して一致する部分を検出し、この一致する部分を除外することで、一致しない部分を検出する。好ましくは、一致する部分を全て検出し、検出した部分を全て除外することで、一致しない部分を検出する。１以上の一致する部分が検出されない場合は、全てを一致しない部分として検出する。ここでの一致する部分とは、例えば、一致する比較アウトラインデータや、対象アウトラインデータの１以上の比較アウトラインデータと一致する部分である。
【０１１０】
ここでの除外は、例えば、一致する部分を削除することであっても良ここでの削除は、図示しないメモリ等に一旦読み出した１以上の比較アウトラインデータのうちの一致するものの削除や対象アウトラインデータからの一致する部分の削除であっても良い。また、ここでの削除は、一致すると判断された部分を、除外対象として指定する情報を、図示しない格納部等に蓄積することであっても良い。対象アウトラインデータの一致すると判断された部分とは、例えば、一致すると判断された部分や、一致すると判断された部分の制御点とパス等で接続された制御点等である。例えば、アウトライン比較部２０３は、一致すると判断された部分に存在する１以上の制御点を識別する情報（例えば座標や、制御点に付与された識別子等）を、除外対象を指定する情報として図示しない格納部に蓄積する。
【０１１１】
なお、一致する部分を除外することは、例えば、一致しないと判断された部分に、一致しなかったことを示す情報等を対応付けることや、一致しないと判断された部分を、図示しない格納部に蓄積すること等も含む概念であると考えてもよい。この場合、例えば、この格納部に格納された部分（例えば、一致しないと判断された比較アウトラインや、対象アウトラインデータの一致しないと判断された部分）が、第一アウトラインデータと第二アウトラインデータとの一致しないと判断された部分に相当する。
【０１１２】
アウトライン比較部２０３は、一致する部分を、例えば、以下のように検出する。アウトライン比較部２０３は、例えば、第一アウトラインデータが、任意に区切られたアウトラインデータを有する場合、アウトライン比較部２０３は、第一アウトラインデータが有する任意に区切られた一の部分と、第二アウトラインデータが有する１文字単位で区切られていないアウトラインデータとを、配列順番に沿って比較して、一致する部分を検出する。例えば、第一アウトラインデータが１文字単位で区切られたアウトラインデータを有する場合、アウトライン比較部２０３は、第一アウトラインデータが有する１文字単位で区切られたアウトラインデータと、第二アウトラインデータが有する１文字単位で区切られていないアウトラインデータとを、配列順番に沿って比較して、一致する部分を検出する。例えば、第一アウトラインデータが１文字単位以外で任意に区切られたアウトラインデータを有する場合、アウトライン比較部２０３は、第一アウトラインデータが有する１文字単位以外で任意に区切られたアウトラインデータと、第二アウトラインデータが有する１文字単位で区切られていないアウトラインデータとを、配列順番に沿って比較して、一致する部分を検出する。かかることは、任意に区切られたアウトラインデータに、１文字単位で区切られたアウトラインデータと、１文字単位以外で区切られたアウトラインデータとが混在している場合についても、同様である。
【０１１３】
例えば、第一アウトラインデータが、任意に区切られたアウトラインデータを有する場合、（例えば、１文字単位で区切られた部分、または１文字単位以外の任意に区切られた部分）を、上記実施の形態１と同様に配列順番に沿って取得し、この取得した部分と一致するアウトラインデータを、第二アウトラインデータが有する１文字単位で区切られていないアウトラインデータから配列順番に沿って検出する。以下、第一アウトラインデータのうちの任意に区切られた各部分（例えば、１文字単位で区切られた部分、および１文字単位以外の任意に区切られた部分）を、比較アウトラインデータ、第一アウトラインデータが有する１文字単位で区切られていないアウトラインデータを、対象アウトラインデータと称す。例えば、アウトライン比較部２０３は、対象アウトラインデータに対して、一の比較アウトラインデータを、少なくとも一部が重なるよう配列順番に沿った方向に一定または不定の距離だけ順次移動させ、移動を行なう毎に、比較アウトラインデータの各制御点と、対象アウトラインデータの各制御点が一致するか否かを判断する。そして、一致する制御点数が閾値を超えるか否かを判断し、超えると判断された場合に、対象アウトラインデータの、比較アウトラインデータと比較された部分、あるいは比較アウトラインデータと重なる部分を、一致する部分として取得する。なお、一致する制御点数が閾値を超える場合に対象アウトラインデータの比較された部分や重なる部分を取得する代わりに、対象アウトラインデータのうちの一致しない制御点数が閾値を超えない場合や、上記実施の形態において説明した一致率と同様の一致率が、閾値を超える場合や、上記実施の形態において説明した不一致率と同様の不一致率が、閾値を超えない場合に、対象アウトラインデータの比較された部分や重なる部分を取得するようにしてもよい。ただし、ここでの一致率等は、比較に用いられる１文字単位のアウトラインデータが有する制御点数の代わりに、例えば、比較アウトラインデータが有する制御点数や、対象アウトラインデータのうちの比較アウトラインデータと重なる部分の制御点数等を用いて算出されるものとする。比較アウトラインデータと重なる部分は、例えば、対象アウトラインデータのうちの、比較アウトラインデータと重なるパスや一致する制御点等とつながっているパスも含むと考えてもよい。あるは、比較アウトラインデータの、文字の配列方向における幅で区切られた範囲のパスや制御点等と考えてもよい。
【０１１４】
なお、比較アウトラインデータの移動は、比較アウトラインデータが有する制御点の座標の平行移動等と考えてもよい。ここでの移動は相対的な移動であってもよく、比較アウトラインデータと対象アウトラインデータとの位置関係が、比較アウトラインデータを移動させた場合と同様の関係となるように移動可能であれば、対象アウトラインデータを移動させてもよく、この場合も比較アウトラインデータを移動させたと考えてもよい。また、比較アウトラインデータは、対象アウトラインデータに対して、制御点等の座標が示す位置や領域が、重なるような位置関係となるよう移動させればよく、実際にアウトラインデータを重ねなくてもよい。なお、閾値以上の制御点が、一致していると判断することは、閾値未満の制御点が一致していないと判断することも含む概念と考えてもよい。ここでの閾値は、予め決められた数値であってもよく、比較アウトラインデータが有する全ての制御点のうちの、予め決められた比率の制御点数であってもよい。比較アウトラインデータを配列順番に沿った方向に移動させる場合の各移動は、移動によって、少なくとも比較アウトラインデータの一の制御点と、対象アウトラインデータの一の制御点との、文字の配列方向における座標が一致するような移動であって、移動距離が最短距離となるような移動であることが好ましい。ただし、ここでの移動は、この移動に限られるものではない。  
【０１１５】
アウトライン比較部２０３は、一の比較アウトラインデータと一致する対象アウトラインデータを取得した場合、取得した対象アウトラインデータの直後の位置から、次の配列順番の比較アウトラインデータと一致する部分を、上記と同様の処理により検出して取得するようにしてもよい。
【０１１６】
対象アウトラインデータの最後まで、一の比較アウトラインデータを移動させた場合や、予め指定された距離以上、比較アウトラインデータを移動させた場合において、対象アウトラインデータに、上記のような一致する部分が検出できなかった場合、アウトライン比較部２０３は、例えば、この一の比較アウトラインデータに一致する部分が対象アウトラインデータに含まれていないと判断する。この場合、例えば、次の配列順番の比較アウトラインデータを取得して、これを直前に取得された対象アウトラインデータの直後の位置から、上記と同様に移動させて、一致する部分が検出された場合に、この一致する部分と、上記の直後との位置との間の対象アウトラインデータが配置されている位置や領域等の情報を、差異の箇所を示す情報として取得するようにしても良い。
【０１１７】
なお、上述したように、比較アウトラインデータと、対象アウトラインデータとで一致するアウトラインデータを検出する処理を行なう場合、比較アウトラインデータと対象アウトラインデータとのサイズや形状等を揃えるようにしてもよい。なお、例えば、比較アウトラインデータと対象アウトラインデータとでは、含まれる文字数等が異なることから、文字の配列方向の長さが異なることから、文字の高さが一致するよう、比較アウトラインデータと対象アウトラインデータとの少なくとも一方を拡大縮小することが好ましい。
【０１１８】
アウトライン比較部２０３は、例えば、対象アウトラインデータのうちの、一の比較アウトラインデータと一致すると判断された部分については、他の比較アウトラインデータに対する比較の対象から順次除外していく。対象アウトラインデータの除外された部分は、例えば、一の比較アウトラインデータと一致する部分である。また、アウトライン比較部２０３は、例えば、比較アウトラインデータのうちの、対象アウトラインデータの少なくとも一部と一致すると判断されたものについては、比較アウトラインデータから順次除外していく。除外された比較アウトラインデータは、例えば、対象アウトラインデータと一致すると判断された部分である。そして、除外されずに残った比較アウトラインデータや、対象アウトラインデータの除外されずに残った部分を、例えば、比較された第一アウトラインデータと、第二アウトラインデータとの、比較により一致しない部分と考えてよい。
【０１１９】
文字データ取得部２０６は、第一アウトラインデータおよび第二アウトラインデータの、アウトライン比較部２０３が一致しないと判断した部分を、それぞれラスタ画像に変換し、変換したラスタ画像を用いて、第一文字データと、第二文字データとを取得する。第一アウトラインデータおよび第二アウトラインデータの、アウトライン比較部２０３が一致しないと判断した部分とは、一致する部分がないと判断された１以上の比較アウトラインデータ、及び対象アウトラインデータの比較アウトラインと一致する部分を除いた部分である。アウトライン比較部２０３が一致しないと判断した第一アウトラインデータは、例えば、アウトライン比較部２０３により除外されずに残った比較アウトラインデータである。アウトライン比較部２０３が一致しないと判断した第二アウトラインデータは、例えば、対象アウトラインデータのうちの、アウトライン比較部２０３により除外されずに残った部分である。第一文字データは、上記で変換した第一アウトラインデータに対応するラスタ画像に対応する文字データである。第二文字データは、上記で変換した第二アウトラインデータに対応するラスタ画像に対応する文字データである。
【０１２０】
文字データ取得部２０６は、例えば、第一アウトラインデータおよび第二アウトラインデータの、アウトライン比較部２０３が一致しないと判断した部分を、それぞれ第一ラスタ画像および第二ラスタ画像に変換する。そして、文字データ取得部２０６は、変換した第一ラスタ画像に含まれる１以上の文字の画像に対応する文字データである１以上の第一文字データと、変換した第二ラスタ画像に含まれる１以上の文字の画像に対応する文字データである１以上の第二文字データを取得する。第一ラスタ画像および第二ラスタ画像が有する文字の画像は、いずれも文字のアウトラインデータをラスタ画像に変換して得られた文字の画像であることから、ここでは、第一ラスタ画像および第二ラスタ画像が有する文字の画像を、上記実施の形態１と同様に文字画像と呼ぶ。文字の画像を、文字データは、例えば、文字コードである。あるいは、文字データは文字コードに対応するハッシュ等であっても良い。文字データ取得部２０６は、例えば、ＯＣＲ等の技術を用いて、上記の第一ラスタ画像および第二ラスタ画像から、それぞれ第一文字データと第二文字データとを取得する。第一ラスタ画像や第二ラスタ画像等の文字の画像を有するラスタ画像から、１文字単位の文字画像を検出して、検出した文字の画像に対応する文字データを取得する処理は、ＯＣＲ等の技術として公知の技術であるのでここでは詳細な説明は省略する。１文字単位の文字の画像を検出することは、１文字単位の文字が配置されている文字画像の領域を検出することも含む概念である。なお、第一ラスタ画像および第二ラスタ画像の１文字単位の文字画像と、文字画像について取得された文字データとの対応関係を示す情報（例えば、文字画像の識別情報と、文字コードとを対応付けた情報等）は、例えば、図示しない記憶媒体等に蓄積しておくようにする。
【０１２１】
文字データ比較部２０７は、文字データ取得部２０６が取得した第一文字データと、第二文字データとを配列順番に沿って比較する。文字データ比較部２０７は、文字データ取得部２０６が取得した第一文字データと第二文字データとから、同じ配列順番に沿った一文字をそれぞれ取得し、比較することで、同じ配列順番の文字データが一致するか否かを判断する。例えば、文字データ比較部２０７は、同じ配列順番に沿って、第一文字データと第二文字データとをそれぞれ一文字ごとに取得して比較することで、各文字データが一致するか否かを順番に判断していく。
【０１２２】
例えば、文字データ取得部２０６が取得した第一文字データおよび第二文字データにおいて、上の行から下の行に向かって、左から右に向かう順に一文字ずつ文字データを読み出し、読み出した文字データ（例えば、文字コードや文字のハッシュ）を比較することで、文字データの一致、不一致を判断していく。なお、例えば、比較した文字が一致しない場合、一致する文字が現れるまで探索を行うようにしてもよい。
【０１２３】
なお、文字データ比較部２０７は、さらに、文字データ取得部２０６が取得した第一文字データと第二文字データとを比較して、文字データについて差異の箇所を検出するようにしても良い。例えば、比較した文字が一致しない場合、一致する文字が現れるまで探索を行うことで、例えば、改行ずれや、文字の追加、削除等によって生じた文字データの差異がある箇所を検出するようにしてもよい。一致しない文字が検出された箇所は、差異のある箇所の一つである。また、比較した文字が一致しなかった場合において、第一文字データの比較に用いられた文字と、第二文字データの比較に用いられた文字の次の文字とが一致した場合には、第一画像のこの一致しなかった箇所の直前の箇所は文字が欠落しているために差異が検出された箇所となる。なお、文字データで構成される二つの文字列を比較して、一致する箇所や、差異の箇所を検出する処理は、文書校正や、文書比較等の技術等として、公知の技術であるのでここでは詳細な説明は省略する。文字データ比較部２０７は、検出した文字データについての差異の箇所を示す情報は、図示しない格納部等に蓄積する。文字データについての差異の箇所を示す情報は、例えば、差異として検出された文字データに対応する文字画像が配置されていた位置や領域を示す情報等である。
【０１２４】
文字データ比較部２０７は、例えば、比較によって、一致すると判断された箇所を示す情報を、図示しない記憶媒体等に蓄積する。一致すると判断された箇所を示す情報は、例えば、一致すると判断された文字データに対応する文字画像の識別情報や、一致すると判断された文字画像の位置を示す情報（例えば、文字画像の領域を示す座標等の情報）等である。また、同様に、一致しないと判断された箇所、即ち差異があると判断された箇所を示す情報を、同様に、図示しない記憶媒体等に蓄積するようにしてもよい。一致しないと判断された箇所を示す情報は、一致すると判断された箇所を示す情報と同様の情報である。
【０１２５】
文字画像比較部２０４は、上記実施の形態１において説明した文字画像比較部１０４と同様に、アウトライン比較部２０３が比較により一致しないと判断した部分の第一アウトラインデータと、第二アウトラインデータとを変換したラスタ画像をそれぞれ構成する画素の画素値を比較して、差異の箇所を検出するものである。本実施の形態２においては、特に、文字画像比較部２０４が、文字データ比較部２０７が比較によって一致すると判断した第一文字データと第二文字データとにそれぞれ対応する文字画像を、文字データ取得部２０６が取得した第一アウトラインデータに対応するラスタ画像及び第二アウトラインデータに対応するラスタ画像から取得し、それぞれの文字画像を構成する画素の画素値を比較して、差異の箇所を検出する場合について説明する。
【０１２６】
文字画像比較部２０４は、例えば、文字データ比較部２０７が比較によって一致すると判断した第一文字データと第二文字データとにそれぞれ対応する文字画像を、文字データ取得部２０６が取得した第一ラスタ画像と第二ラスタ画像から取得する。そして、文字画像比較部２０４は、取得した文字画像間の対応する画素の画素値を比較して差異の箇所を検出する。
【０１２７】
文字データ取得部２０６が取得した第一アウトラインデータに対応するラスタ画像とは、例えば、１以上の第一アウトラインデータ（例えば、比較アウトラインデータ）のうちの、アウトライン比較部２０９が比較の結果、第二アウトラインデータ（例えば、対象アウトラインデータ）と一致しないと判断した第一アウトラインデータを文字データ取得部２０６が変換した第一ラスタ画像である。また、文字データ取得部２０６が取得した第二アウトラインデータに対応するラスタ画像とは、例えば、第二アウトラインデータ（例えば、対象アウトラインデータ）のうちの、比較の結果、１以上の第一アウトラインデータ（例えば、比較アウトラインデータ）のうちのいずれとも一致しないと判断された部分を、文字データ取得部２０６が変換した第二ラスタ画像である。
【０１２８】
文字画像比較部２０４が、文字画像間の差異の箇所を検出する処理や検出した箇所等を示す情報を取得する処理等は、上記実施の形態１において説明した文字画像比較部１０４が文字画像間の差異の箇所を検出する処理や検出した箇所等を示す情報を取得する処理等と同様であるため、ここでは詳細な説明は省略する。
【０１２９】
また、文字画像間の比較を行なう際に、上記実施の形態１と同様に、文字画像間のサイズや形状を合わせる処理等を適宜行なうようにしても良い。
【０１３０】
出力部２０５は、文字画像比較部２０４が検出した差異の箇所を示す情報を出力する。出力部２０５の構成や、出力部２０５による差異の箇所を示す情報を出力する処理については、上記実施の形態１における出力部１０５の構成や、出力部１０５が差異の箇所を示す情報を出力する処理等と同様であるため、ここでは詳細な説明は省略する。
【０１３１】
なお、出力部２０５は、文字データ比較部２０７が取得した文字データの差異の箇所を示す情報を出力するようにしても良く、文字画像比較部２０４が検出した差異の箇所を示す情報と、この文字データの差異の箇所を示す情報との両者を出力するようにしても良い。文字データの差異の箇所を示す情報は、例えば、文字画像比較部２０４が検出した差異の箇所、例えば画素や画素群を示す情報の出力と同様の、異なる出力態様による出力である。例えば、出力部２０５は、差異の箇所として検出された文字データが取得された文字画像に対応する第二画像の領域を、他の領域とは異なる出力態様（例えば表示態様）で出力する。なお、文字データ同士を比較して、文字データの差異の箇所を示す情報を取得する処理や、文字データの差異の箇所を示す情報を出力する処理については、公知技術であるため、ここでは詳細な説明は省略する。
【０１３２】
次に、画像検査装置２の動作の一例について図８のフローチャートを用いて説明する。なお、図８において、図２と同一符号は、画像検査装置２の対応する処理部等により行なわれる同一または相当するステップを示しており、ここでは詳細な説明は省略する。
【０１３３】
（ステップＳ２０１）アウトライン比較部２０３は、ステップＳ１０１で読み出した第一画像が有する第一アウトラインデータに、配列順番がｍ番目である比較アウトラインデータがあるか否かを判断し、ある場合はステップＳ２０２に進み、ない場合、ステップＳ２０９に進む。
【０１３４】
（ステップＳ２０２）アウトライン比較部２０３は、配列順番がｍ番目である比較アウトラインデータと、対象アウトラインデータと、のサイズと形状とを揃える。例えば、アウトライン比較部１０３は、配列順番がｍ番目である文字に対応する比較アウトラインデータに対して、最適化計算や、ホモグラフ変換等を行なうことで、このｍ番目の文字に対応する比較アウトラインデータのサイズと形状を、対象アウトラインデータと同じサイズおよび形状に変化させる。ただし、サイズまたは形状のみを揃えるようにしてもよい。なお、サイズおよび形状を揃える対象となる対象アウトラインデータは、後述するステップＳ２０４等で一致するとして取得された部分を除いた残りの部分、例えば、取得された部分の直後に位置するアウトラインデータであることが好ましい。
【０１３５】
（ステップＳ２０３）アウトライン比較部２０３は、配列順番がｍ番目である比較アウトラインデータを、対象アウトラインデータと、少なくとも一部が重なるように配置する。例えば、アウトライン比較部２０３は、配列順番がｍ番目である比較アウトラインデータの文字の配列方向の最後尾側の部分が、対象アウトラインデータのうちの、直前に後述するステップＳ２０４等により一致するとして除外された部分の次の部分と、少なくとも一部が重なるように配置する。例えば、最後尾側の制御点と、対象アウトラインデータのうちの、直前に取得された部分の次の部分の最も先頭側の制御点との文字の配列方向における位置が同じ位置となるよう、ｍ番目の比較アウトラインデータを配置する。配置の際に、例えば、下辺等を同一直線上に揃えるようにする。ただし、最初にこの処理を行なう場合は、対象アウトラインデータの配列順番の先頭側に、ｍ番目の比較アウトラインデータの先頭側の少なくとも一部が重なるよう配置する。
【０１３６】
（ステップＳ２０４）アウトライン比較部２０３は、配置あるいは移動させた比較アウトラインデータと、対象アウトラインデータとが一致するか否かを判断する。例えば、一致する制御点数や、一致率等が、閾値を超えるか否か等により、一致するか否かを判断する。一致する場合、ステップＳ２０５に進み、一致しない場合、ステップＳ２０６に進む。
【０１３７】
（ステップＳ２０５）アウトライン比較部２０３は、ｍ番目の比較アウトラインデータと、対象アウトラインデータのステップＳ２０４で一致すると判断された部分とを除外する。例えば、それぞれに対して除外されたことを示す情報を対応付ける。そして、ステップＳ２０６に進む。
【０１３８】
（ステップＳ２０６）アウトライン比較部２０３は、カウンターｍの値を１インクリメントする。そして、ステップＳ２０１に戻る。
【０１３９】
（ステップＳ２０７）アウトライン比較部２０３は、一致する部分が検出されなかったか否かを判断する。例えば、対象アウトラインデータの最後まで、ｍ番目の比較アウトラインデータを移動させた場合において、アウトラインデータが一致すると判断されなかった場合に、一致する部分が検出されなかったと判断する。一致する部分が検出されなかったと判断した場合、ステップＳ２０８に進み、一致する部分が検出されなかったと判断しなかった場合、ステップＳ２０４に戻る。
【０１４０】
（ステップＳ２０８）アウトライン比較部２０３は、対象アウトラインデータと少なくとも一部が重なった状態となるよう、比較アウトラインを文字の配列方向に移動させる。ここでの移動は相対的な移動であってもよく、例えば、対象アウトラインデータを文字の配列方向と反対方向に移動させてもよい。なお、対象アウトラインデータが、区切られている場合において、移動により、一の区切られた対象アウトラインデータ上の領域を、比較アウトラインデータが超えるようになる場合、次の配列順番の区切られた対象アウトラインデータを順次読み出して、直前に読み出された区切られた部分の後ろに配列するようにすればよい。そして、ステップＳ２０４に戻る。
【０１４１】
（ステップＳ２０９）文字データ取得部２０６は、一致すると判断されなかった比較アウトラインデータと、対象アウトラインデータの一致すると判断されなかった部分とを、それぞれラスタ画像に変換して、第一ラスタ画像と、第二ラスタ画像を取得する。例えば、文字データ取得部２０６は、除外されずに残った比較アウトラインデータと、対象アウトラインデータの除外されずに残った部分とを、それぞれラスタ画像に変換して、第一ラスタ画像と、第二ラスタ画像を取得する。
【０１４２】
（ステップＳ２１０）文字データ取得部２０６は、ステップＳ２０９で取得した第一ラスタ画像と、第二ラスタ画像について、それぞれＯＣＲ等の文字認識処理を行なって、第一文字データと、第二文字データとを取得する。なお、それぞれの文字データに対応する文字画像を示す情報、例えば、文字画像が取得された文字画像を示す情報は、例えば、図示しない格納部に蓄積しておく。
【０１４３】
（ステップＳ２１１）文字データ取得部２０９は、ステップＳ２１０で取得した第一文字データと、第二文字データとを配列順番に沿って比較していく。そして、一致する文字データと第二文字データとの組の情報を順次取得する。第一文字データと、第二文字データの配列順番は、例えば、これらに対応する元のアウトラインデータやラスタ画像における文字の配列順番である。なお、文字データ取得部２０９は、文字データの差異の箇所を示す情報を更に取得するようにしても良い。
【０１４４】
（ステップＳ２１２）文字画像比較部２０４は、ステップＳ２１０で一致すると判断された第一文字データと第二文字データとにそれぞれ対応する文字画像を、ステップＳ２１０で蓄積した対応関係を示す情報等を用いて取得し、取得した文字画像同士を比較して、差異の箇所を検出する。検出した差異の箇所を示す情報を、図示しない格納部等に蓄積する。
【０１４５】
（ステップＳ２１３）出力部２０５は、ステップＳ２１１で取得した差異の箇所を示す情報を出力する。なお、出力部２０５は、ステップＳ２１０で取得した文字データの差異の箇所を示す情報を更に出力するようにしても良い。そして処理を終了する。
【０１４６】
以下、本実施の形態における画像検査装置２の具体的な動作について説明する。
上記実施の形態１の具体例と同様に、アウトライン比較部２０３が、図示しない受付部がユーザ等から受け付けた第一画像と第二画像とを読み出す指示に応じて、この指示により指定された第一画像と第二画像とをそれぞれ第一画像格納部２０１および第二画像格納部２０２からそれぞれ図示しないメモリ等に読み出したとする。
【０１４７】
図９は、アウトライン比較部２０３が読み出した第一画像１１００を示す図（図９（ａ））、アウトライン比較部１０３が読み出した第二画像２１００を示す図（図９（ｂ））である。第一画像１１００の第一アウトラインデータは複数の文字のアウトラインデータであり、任意に区切られているものとする。ここでは、２以上の文字のアウトラインデータを有する複数の部分に区切られているものとする。例えば、アウトラインデータの区切られた部分においては、制御点およびパスがグループ化されているものとする。ここでの制御点は、アンカーポイントおよびハンドルであるとする。この区切られた各部分が、比較アウトラインデータに相当する。また、第二画像２１００の第二アウトラインデータは、一行の複数の文字のアウトラインデータであり、区切られていないものとする。この第二アウトラインデータが、ここでは、対象アウトラインデータ２１０１であるとする。
【０１４８】
なお、図９（ａ）においては、説明のため、第一アウトラインデータの区切られた部分である比較アウトラインデータを、それぞれを内包する矩形の点線で囲って示している。
【０１４９】
アウトライン比較部２０３は、まず、第一画像１１００において、配列順番が１番目である比較アウトラインデータが存在するか否かを判断する。ここでの配列順番が一番目である比較アウトラインデータは、例えば、文字の配列方向に沿った配列順番が、一番目の比較アウトラインデータである。ここでは、比較アウトラインデータ１１０１が存在すると判断されたとする。
【０１５０】
アウトライン比較部２０３は、メモリに読み出された第一画像１１００から比較アウトラインデータ１１０１を取得する。また、アウトライン比較部２０３は、メモリに読み出された第二画像２１００から対象アウトラインデータ２１０１を取得する。
【０１５１】
アウトライン比較部２０３は、比較アウトラインデータ１１０１のサイズおよび形状を対象アウトラインデータ２１０１のサイズおよび形状に揃える。ここでは、対象アウトラインデータ２１０１の一致していると判断されていない部分のうちの、最も高さの高い部分と、比較アウトラインデータ１１０１の最も高さの高い部分の高さとが一致するよう比較アウトラインデータ１１０１の高さと幅を同比率で縮小する。なお、高さだけ拡大してもよい。
【０１５２】
図１０は、アウトライン比較部２０３による比較アウトラインデータの移動を説明するための図であり、比較アウトラインデータ１１０１を対象アウトラインデータ２１０１に対して配置した状態を示す図（図１０（ａ））、比較アウトラインデータ１１０１を対象アウトラインデータ２１０２に対して移動させた状態を示す図（図１０（ｂ））、比較アウトラインデータ１１０１を対象アウトラインデータ２１０２に対して移動させた結果、一致していると判断された状態を示す図（図１０（ｃ））である。図において、矢印９０は、比較アウトラインデータ１１０１および対象アウトラインデータ２１０１の文字の配列方向を示している。また、点線で示した文字のアウトラインは、比較アウトラインデータ１１０１を示し、実線で示した文字のアウトラインは、対象アウトラインデータ２１０１を示している。
【０１５３】
アウトライン比較部２０３は、図１０（ａ）に示すようにサイズおよび形状を変更した比較アウトラインデータ１１０１の文字の配列方向の最も後ろ側に位置する制御点９１ａと、対象アウトラインデータ２１０１の最も先頭側に位置する制御点９１ｂとの、文字の配列方向における位置が一致するよう、比較アウトラインデータを、対象アウトラインデータ２１０２に対して配置する。
【０１５４】
アウトライン比較部２０３は、配置された比較アウトラインデータ１１０１の各制御点に一致する制御点を、対象アウトラインデータ２１０１において検出し、一致した制御点の数の、比較アウトラインデータ１１０１が有する制御点数に対する比率である一致率を算出する。そして、算出した一致率が、予め決められた閾値である「９０％」を超えるか否かを判断する。ここでは、超えないと判断されたとする。
【０１５５】
このため、アウトライン比較部２０３は、更に、比較アウトラインデータ１１０１を、文字の配列方向に、対象アウトラインデータ２１０１に対して移動させる。ここでは、比較アウトラインデータを、少しずつ文字の矢印９０が示す配列方向に向かって移動させ、図１０（ｂ）に示すように、新たに比較アウトラインデータ１１０１の一の制御点９１ａと、対象アウトラインデータ２１０１の一の制御点９２ｂとの、文字の配列方向における位置が一致した時点で、移動を終了する。
【０１５６】
アウトライン比較部２０３は、移動させた対象アウトラインデータ２１０１について、上記と同様に一致率を算出し、予め決められた閾値「９０％」を超えたか否かを判断する。ここでは、超えなかったと判断されたとする。
【０１５７】
アウトライン比較部２０３は、上記のような移動の比較を、一致率が予め決められた閾値「９０％」を超えるまで繰返し行なう。そして、ここでは、仮に、移動により比較アウトラインデータ１１０１の一の制御点９３ａと、対象アウトラインデータ２１０１の一の制御点９３ｂとの、文字の配列方向における位置が新たに一致した時点で、上記のように算出した一致率が、閾値「９０％」を初めて超えたとする。
【０１５８】
アウトライン比較部２０３は、比較アウトラインデータ１１０１を除外するとともに、対象アウトラインデータ２１０１のうちの、比較アウトラインデータ１１０１において一致すると判断された部分とを、比較アウトラインデータ１１０１から除外する。具体的には、アウトライン比較部２０３は、メモリに読み出した比較アウトラインデータから、比較アウトラインデータ１１０１を削除するとともに、メモリに格納された対象アウトラインデータ２１０１から、比較アウトラインデータ１１０１において一致すると判断された制御点とつながっているパスと制御点とを削除する。
【０１５９】
アウトライン比較部２０３は、メモリに読み出された比較アウトラインデータから、配列順番が２番目である比較アウトラインデータ１１０２を読み出す。また、アウトライン比較部２０３は、メモリに読み出された対象アウトラインデータを読み出す。ここでは、上記において、比較アウトラインデータと一致する部分が削除されているため、読み出される対象アウトラインデータは、図９に示した対象アウトラインデータから、比較アウトラインデータ１１０１と一致する部分が削除されたものとなる。
【０１６０】
アウトライン比較部２０３は、比較アウトライン１１０１の場合と同様に、サイズ等をそろえ、比較アウトラインデータを１１０２を、対象アウトラインデータ２１０１と重ねて配置し、比較アウトラインデータ１１０２を移動させながら、一致する部分を検出するが、ここでは、対象アウトラインデータの、比較アウトラインデータ１１０２に対応する部分のアウトラインデータの一部が欠落し、さらに一の文字のサイズが、他の文字に比べて小さくなっており、比較アウトラインデータ２１０１を、対象アウトラインデータ２１０１の最後尾まで移動させても、一致すると判断されなかったとする。
この場合、比較アウトラインデータ１１０２は、メモリから削除されず、対象アウトラインデータも一致する部分がないため、メモリから削除されない。
アウトライン比較部２０３は、上記と同様の処理が、配列順番が３番目以降の、メモリに読み出されたすべての比較アウトラインデータに対して行う。
【０１６１】
図１１は、アウトラインの比較結果を示す図（図１１（ａ））、ラスタ画像化した比較結果を示す図（図１１（ａ））比較結果について文字認識を行って得られた第一文字データと第二文字データとを示す図（図１１（ｃ））、及び差異の箇所を示す図（図１１（ｄ））である。
【０１６２】
上記と同様の処理を、配列順番が３番目以降の、メモリに読み出されたすべての比較アウトラインデータに対して行った結果、図１１（ａ）に示すように、メモリには、比較アウトラインデータ１１０２と、対象アウトラインデータ２１０１の、いずれの比較アウトラインデータとも一致していると判断されなかった部分２１０２が、削除されずに残ったとする。
【０１６３】
文字データ取得部２０６は、比較アウトラインデータ１１０２と、対象アウトラインデータの削除されずに残った部分とをそれぞれラスタ画像に変換し、図１１（ｂ）に示すように、第一ラスタ画像１１０２ａと、第二ラスタ画像２１０２ａとを取得する。
【０１６４】
文字データ取得部２０６は、さらに、第一ラスタ画像１１０２ａと、第二ラスタ画像２１０２ａとに対して文字認識処理を行って、第一文字データ１１０２ｂと、第二文字データ２１０２ｂとを取得する。ここでは、第一文字データ１１０２ｂと、第二文字データ２１０２ｂのいずれも、図１１（ｃ）に示すように、「Ｂ」、「Ｌ」、「Ａ」という文字が配列されたデータであるとする。また、文字データ取得部２０６は、図１１（ｂ）に示すように、各ラスタ画像において、この３つのそれぞれの文字が認識された文字画像の領域を示す情報を取得して、それぞれの文字と対応づけて、図示しない格納部等に蓄積する。例えば、第一ラスタ画像１１０２ａの領域１１ａ、１１ｂ、１１ｃと、第二ラスタ画像２１０２ａの領域２１ａ、２１ｂ、２１ｃとは、それぞれ、文字「Ｂ」、「Ｌ」、「Ａ」に対応した文字画像の領域であるとする。
【０１６５】
文字データ比較部２０７は、第一文字データ１１０２ｂを構成する文字と、第二文字データ２１０２ｂを構成する文字とを、配列順番に沿って、一文字ずつ読み出し、文字が一致しているか否かを判断する。ここでは、例えば、文字コードが一致しているか否かを判断する。例えば、文字データ比較部２０７は、第一文字データ１１０２ｂを構成する配列順番が一番目の文字「Ｂ」と、第二文字データ２１０２ｂを構成する配列順番が一番目の文字「Ｂ」とを文字コードで比較し、一致していると判断したとする。また、文字データ比較部２０７は、第一文字データ１１０２ｂを構成する配列順番が二番目の文字「Ｌ」と、第二文字データ２１０２ｂを構成する配列順番が二番目の文字「Ｌ」とを文字コードで比較し、一致していると判断したとする。また、配列順番が三番目の「Ａ」と、第二文字データ２１０２ｂを構成する配列順番が三番目の文字「Ａ」とを文字コードで比較し、一致していると判断したとする。
【０１６６】
文字データ比較部２０７が第一文字データ１１０２ｂと第二文字データ２１０２ｂとの配列順番が同じである文字が、いずれも一致していると判断したため、文字画像比較部２０４は、上記で比較した文字にそれぞれ対応する文字画像を、第一ラスタ画像１１０２ａと、第二ラスタ画像２１０２ａとから読み出して、サイズや形状等をそろえる処理を行ったあと、それぞれの文字画像が有する画素の画素値を比較して、差異の箇所を検出し、差異の箇所を示す情報を取得する。ここでは、比較した画素の画素値である輝度値の差が、予め設定された閾値以上であれば、その画素を差異の箇所であると判断し、その画素を示す情報を取得する。
【０１６７】
具体的には、文字画像比較部２０４は、配列順番が一番目の文字「Ｂ」に対応する文字画像１１ａと文字画像２１ａとの、対応する画素同士の画素値を比較する。ここでは、比較の結果、全ての画素が差異の箇所ではないと判断されたとする。また、文字画像比較部２０４は、配列順番が二番目の文字「Ｌ」に対応する文字画像１１ｂと文字画像２１ｂとの、対応する画素同士の画素値を比較する。ここでは、比較の結果、全ての画素が差異の箇所ではないと判断されたとする。また、文字画像比較部２０４は、配列順番が三番目の文字「Ａ」に対応する文字画像１１ｃと文字画像２１ｃとの、対応する画素同士の画素値を比較する。ここでは、比較の結果、図１１（ｄ）に示した文字画像２１ｃの領域８０内の画素が差異の箇所であると判断されたとする。このため、文字画像比較部２０４は、この領域８０の輪郭を示す座標の情報を取得し、図示しない格納部等に蓄積する。
【０１６８】
そして、出力部２０５は、上記で取得して図示しない格納部に蓄積された差異の箇所を示す情報を読み出し、読み出した差異の箇所を示す情報である輪郭の座標が示す領域８０を、差異の箇所であることを示すグレースケール以外の色の画像に変換した第二画像２１００を構成して表示する。
【０１６９】
図１２は、出力部２０５が出力する差異の箇所を示す情報の出力例を示す図であり、具体的には、出力部２０５がモニタ２０５ａを用いて表示した差異の箇所を示した第二画像２１００の表示例を示す図である。なお、元の第二アウトラインデータで囲まれている領域については、ここでは予め指定された色である黒で示している。
【０１７０】
図１２に示すように、差異の箇所として検出された領域８０においては、予め指定された色の画像が表示されている。これにより、ユーザは、印刷用データである第二画像のアウトラインデータのどの部分に不適切な箇所があるかを容易に、確認することができる。
【０１７１】
以上、本実施の形態によれば、第二アウトラインデータが１文字単位で区切られていなくても、２つの画像データが有する文字のアウトラインデータを適切に比較して、画像データを適切に検査することができる。
【０１７２】
なお、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０１７３】
また、上記各実施の形態では、画像検査装置がスタンドアロンである場合について説明したが、画像検査装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
【０１７４】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、格納部（例えば、ハードディスクやメモリ等の記録媒体）にアクセスしながらプログラムを実行してもよい。
【０１７５】
なお、上記各実施の形態における画像検査装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、２以上の文字のアウトラインデータを有する第一画像が格納される第一画像格納部と、２以上の文字のアウトラインデータを有する第二画像が格納される第二画像格納部と、にアクセス可能なコンピュータを、第一画像のアウトラインデータである第一アウトラインデータと、第二画像の文字のアウトラインデータである第二アウトラインデータと、を配列順番に沿って比較するアウトライン比較部と、アウトライン比較部が比較により一致しないと判断した部分の第一アウトラインデータと、第二アウトラインデータとを変換したラスタ画像をそれぞれ構成する画素の画素値を比較して、差異の箇所を検出する文字画像比較部と、文字画像比較部が検出した差異の箇所を示す情報を出力する出力部として機能させるためのプログラムである。
【０１７６】
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
【０１７７】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０１７８】
図１３は、上記プログラムを実行して、上記実施の形態による画像検査装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
【０１７９】
図１３において、コンピュータシステム９００は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ドライブ９０５を含むコンピュータ９０１と、キーボード９０２と、マウス９０３と、モニタ９０４とを備える。
【０１８０】
図１４は、コンピュータシステム９００の内部構成を示す図である。図１４において、コンピュータ９０１は、ＣＤ−ＲＯＭドライブ９０５に加えて、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９１１と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ９１２と、ＭＰＵ９１１に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１３と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク９１４と、ＭＰＵ９１１、ＲＯＭ９１２等を相互に接続するバス９１５とを備える。なお、コンピュータ９０１は、ＬＡＮへの接続を提供する図示しないネットワークカードを含んでいてもよい。
【０１８１】
コンピュータシステム９００に、上記実施の形態による画像検査装置等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ９２１に記憶されて、ＣＤ−ＲＯＭドライブ９０５に挿入され、ハードディスク９１４に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ９０１に送信され、ハードディスク９１４に記憶されてもよい。プログラムは実行の際にＲＡＭ９１３にロードされる。なお、プログラムは、ＣＤ−ＲＯＭ９２１、またはネットワークから直接、ロードされてもよい。
【０１８２】
プログラムは、コンピュータ９０１に、上記実施の形態による画像検査装置の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム９００がどのように動作するのかについては周知であり、詳細な説明は省略する。
【０１８３】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１８４】
以上のように、本発明にかかる画像検査装置等は、画像を検査する装置として適しており、特に、文字のアウトラインデータを有する画像を検査する装置等として有用である。
【符号の説明】
【０１８５】
１、２  画像検査装置
１０１、２０１  第一画像格納部
１０２、２０２  第二画像格納部
１０３、２０３  アウトライン比較部
１０４、２０４  文字画像比較部
１０５、２０５  出力部
２０６  文字データ取得部
２０７  文字データ比較部
【要約】
【課題】文字のアウトラインデータを有する画像を適切に検査することができる画像検査装置を提供する。
【解決手段】２以上の文字のアウトラインデータを有する第一画像のアウトラインデータである第一アウトラインデータと、２以上の文字のアウトラインデータを有する第二画像の文字のアウトラインデータである第二アウトラインデータと、を配列順番に沿って比較するアウトライン比較部１０３と、アウトライン比較部１０３が比較により一致しないと判断した部分の第一アウトラインデータと、第二アウトラインデータと変換したラスタ画像をそれぞれ構成する画素の画素値を比較して、差異の箇所を検出する文字画像比較部１０４と、文字画像比較部１０４が検出した差異の箇所を示す情報を出力する出力部１０５とを備えた。
【選択図】図１【図１】
0006055952.tif 000002
【図２】
0006055952.tif 000003
【図３】
0006055952.tif 000004
【図４】
0006055952.tif 000005
【図６】
0006055952.tif 000006
【図７】
0006055952.tif 000007
【図８】
0006055952.tif 000008
【図９】
0006055952.tif 000009
【図１０】
0006055952.tif 000010
【図１２】
0006055952.tif 000011
【図１３】
0006055952.tif 000012
【図１４】
0006055952.tif 000013
【図５】
0006055952.tif 000014
【図１１】
0006055952.tif 000015