(57)【要約】本発明は、物理的にまたは電子的に表現されたコードイメージを認識し、そのコードイメージに表示された情報を抽出するための装置及び方法に係り、コードイメージが含まれた原本イメージを入力して、原本イメージに含まれた背景映像を検出した後、背景映像部分が除外されたコードイメージ領域を抽出してコードイメージの形態と種類、及び各セルに表示されたカラーまたは濃淡を認識し、各セルに対して認識されたカラーまたは濃淡からそれに対応する文字、数字または記号に変換してコード情報を生成する。カラーや濃淡で所定の情報が表示されたコードイメージを入力されてそのコードイメージが入力された環境に関係なく正確に元のカラーや濃淡が判別できる。
2005509223.tif 000002
【特許請求の範囲】
【請求項１】
コードイメージが含まれた原本イメージを獲得するイメージ獲得部と、
前記原本イメージから認識されたカラーや濃淡を環境変数によって補正し、前記補正されたカラーや濃淡をコードイメージの生成時に使われた複数の標準カラーまたは標準濃淡に変換して標準カラーまたは標準濃淡で表された標準イメージを生成するカラー変換部と、
前記原本イメージのカラーまたは濃淡を所定の基準値によって２種類のカラーに区分して２進化イメージを生成する２進化変換部と、
前記２進化イメージからコードイメージ領域を除く領域を抽出し、前記標準イメージにおいて、該抽出された領域に対応する領域を背景カラーに設定してコードイメージ領域と他の領域とを区別し、前記コードイメージ領域に含まれた複数のセルを抽出し、前記セルの各々に表された標準カラーまたは標準濃淡を認識するイメージ処理部と、
文字、数字または記号とそれに対応するカラーまたは濃淡との関係に基づいて、前記コードイメージの各セルで認識されたカラーまたは濃淡に対応する文字、数字または記号を抽出してコード情報を生成するコード変換部とを含むことを特徴とするコード認識装置。
【請求項２】
前記カラー変換部の環境変数は、前記原本イメージが入力された環境を考慮して前記原本イメージのカラーや濃淡を判別するために設定されたパラメータであって、前記カラー変換部は前記原本イメージから認識された各ピクセルの値を前記環境変数によって補正することを特徴とする請求項１に記載のコード認識装置。
【請求項３】
前記２進化変換部の所定の基準値は、ＲＧＢカラーモードにおけるＲ、Ｇ、Ｂの値の平均値またはそれらのうち最小値か最大値により、ＨＳＶカラーモードにおけるＶ値により、ＨＳＩカラーモードにおけるＩ値により、或いはＣＮＹＫモードにおけるＫ値により設定されることを特徴とする請求項１に記載のコード認識装置。
【請求項４】
前記イメージ処理部は前記２進化イメージの端部に位置したピクセルを背景カラーに設定し、前記背景カラーで表されたピクセルと連結されたピクセルを前記背景カラーに設定することによりコードイメージ領域と他の領域とを区分することを特徴とする請求項１に記載のコード認識装置。
【請求項５】
前記イメージ処理部は、前記背景カラーによってコードイメージ部分と他の部分とが区分されたイメージを入力し、前記イメージを複数のブロックに区分し、各ブロックより背景カラーではないカラーや濃淡を有する領域を検出し、前記複数のブロックのうち前記領域が最も大きいブロックを選択し、そのブロックに含まれたコードイメージ領域の中心点を検出し、前記中心点を基準として前記イメージの全体を探索して背景カラーではないカラーや濃淡を有する領域をコードイメージ領域として検出することを特徴とする請求項１に記載のコード認識装置。
【請求項６】
前記コード変換部は、各セルに属するピクセルのカラーまたは濃淡のうち最も多い分布を有するカラーまたは濃淡を当該セルのカラーまたは濃淡として認識することを特徴とする請求項１に記載のコード認識装置。
【請求項７】
コードイメージが含まれた原本イメージを獲得するイメージ獲得部と、
前記原本イメージのカラーまたは濃淡を所定の基準値によって２つのカラーに区分して２進化イメージを生成する２進化変換部と、
前記２進化イメージからコードイメージ領域を除外した領域を抽出し、該抽出された領域に対応する前記標準イメージの領域を背景カラーに設定してコードイメージ領域と他の領域とを区分し、前記コードイメージ領域に含まれた複数のセルを抽出し、前記セルの各々に表された標準カラーまたは標準濃淡を認識するイメージ処理部と、
前記コードイメージ領域に含まれた各セルに対して認識されたカラーや濃淡を環境変数によって補正し、前記補正されたカラーや濃淡をコードイメージの生成時に使われた複数の標準カラーまたは標準濃淡に変換するカラー変換部と、
文字、数字または記号とそれに対応するカラーまたは濃淡との関係に基づいて、前記コードイメージの各セルで認識されたカラーまたは濃淡に対応する文字、数字または記号を抽出してコード情報を生成するコード変換部とを含むことを特徴とするコード認識装置。
【請求項８】
前記カラー変換部の環境変数は、前記原本イメージが入力された環境を考慮して前記原本イメージのカラーや濃淡を判別するために設定されたパラメータであって、前記カラー変換部は前記原本イメージから認識された各ピクセルの値を前記環境変数によって補正することを特徴とする請求項７に記載のコード認識装置。
【請求項９】
前記イメージ処理部は前記２進化イメージの端部に位置したピクセルを背景カラーで表した後、前記背景カラーで表されたピクセルと連結されたピクセルを前記背景カラーで表してコードイメージ部分と他の部分とを区分することを特徴とする請求項７に記載のコード認識装置。
【請求項１０】
前記イメージ処理部は、前記背景カラーによってコードイメージ領域と他の領域とが区分されたイメージを入力し、前記イメージを複数のブロックに区分し、各ブロックで背景カラーではないカラーや濃淡を有する領域を検出し、前記ブロックのうち前記領域が最も大きいブロックを選択し、そのブロックに含まれたコードイメージ領域の中心点を検出し、前記中心点を基準として前記イメージの全体を探索して背景カラーではないカラーや濃淡を有する領域をコードイメージ領域として検出することを特徴とする請求項７に記載のコード認識装置。
【請求項１１】
コードイメージが含まれた原本イメージを獲得する段階と、
前記原本イメージから認識されたカラーや濃淡を環境変数によって補正する段階と、
前記補正されたカラーや濃淡をコードイメージの生成時に使われた複数の標準カラーまたは標準濃淡に変換して標準カラーまたは標準濃淡で表された標準イメージを生成する段階と、
前記原本イメージのカラーまたは濃淡を所定の基準値によって２つのカラーに区分して２進化イメージを生成する段階と、
前記２進化イメージからコードイメージ領域を除外した領域を抽出し、前記標準イメージにおいて該抽出された領域に対応する領域を背景カラーに設定してコードイメージ領域と他の領域とを区分する段階と、
前記コードイメージ部分に含まれた複数のセルを抽出し、前記セルの各々に表された標準カラーまたは標準濃淡を認識する段階と、
文字、数字または記号とそれに対応するカラーまたは濃淡との関係に基づいて、前記コードイメージの各セルで認識されたカラーまたは濃淡に対応する文字、数字または記号を抽出してコード情報を生成する段階とを含むことを特徴とするコード認識方法。
【請求項１２】
コードイメージが含まれた原本イメージを獲得する段階と、
前記原本イメージのカラーまたは濃淡を所定の基準値によって２つのカラーに区分して２進化イメージを生成する段階と、
前記２進化イメージからコードイメージ領域を除外した領域を抽出し、前記標準イメージにおける該抽出した領域に対応する領域を背景カラーに設定してコードイメージ領域と他の領域とを区分する段階と、
前記コードイメージ領域に含まれた複数のセルを抽出し、前記セルの各々に表された標準カラーまたは標準濃淡を認識する段階と、
前記コードイメージ領域に含まれた各セルに対して、前記原本イメージから認識されたカラーや濃淡を環境変数によって補正する段階と、
前記補正されたカラーや濃淡をコードイメージの生成時に使われた複数の標準カラーまたは標準濃淡に変換する段階と、
文字、数字または記号とそれに対応するカラーまたは濃淡との関係に基づいて、前記コードイメージの各セルで認識されたカラーまたは濃淡に対応する文字、数字または記号を抽出してコード情報を生成する段階とを含むことを特徴とするコード認識方法。
【請求項１３】
請求項１１に記載の方法を実現するためのプログラムを記録したコンピュータで読み出せる記録媒体。
【請求項１４】
請求項１２に記載の方法を実現するためのプログラムを記録したコンピュータで読み出せる記録媒体。
【請求項１５】
コードイメージが含まれた原本イメージを獲得するイメージ獲得部と、
前記原本イメージから前記コードイメージを抽出し、前記コードイメージに含まれた複数のセルに表されたカラーまたは濃淡を認識するイメージ処理部と、
文字、数字または記号とそれに対応するカラーまたは濃淡との関係が設定されているコード設定部と、
前記コード設定部で設定されている関係に基づいて、前記コードイメージの各セルに表されたカラーまたは濃淡からそれに対応する文字、数字または記号を抽出してコード情報を生成するコード変換部とを含むことを特徴とするコード認識装置。
【請求項１６】
前記イメージ処理部は、前記原本イメージを獲得する際の環境を考慮して環境変数を設定し、前記原本イメージから認識されたカラーや濃淡を前記環境変数によって補正することを特徴とする請求項１５に記載のコード認識装置。
【請求項１７】
前記イメージ処理部は、前記原本イメージから背景イメージ部分が除外されたコードイメージ領域を抽出してコードイメージの形態と種類を判別し、これを基準として前記コードイメージ領域に含まれたセルを区分して判別することを特徴とする請求項１５に記載のコード認識装置。
【請求項１８】
前記イメージ処理部は、前記原本イメージが入力された状況における輝度にしたがって設定された環境変数に基づいて前記原本イメージを２進化イメージに変換し、前記２進化イメージから背景映像部分を抽出し、前記原本イメージにおける該抽出された領域に対応する領域を背景カラーに設定してそれによりコードイメージ領域と他の領域とを区分し、前記原本イメージからコードイメージ領域を抽出することを特徴とする請求項１５に記載のコード認識装置。
【請求項１９】
コードイメージが含まれた原本イメージを入力する段階と、
前記原本イメージに含まれた背景イメージを検出し、背景イメージが除外されたコードイメージ領域を抽出する段階と、
前記コードイメージ領域からコードイメージの形態と種類とを判別する段階と、
前記コードイメージ領域に含まれたセルを判別する段階と、
前記各セルに表されたカラーまたは濃淡を認識する段階と、
各セルに対して認識されたカラーまたは濃淡を対応する文字、数字または記号に変換してコード情報を生成する段階とを含むことを特徴とするコード認識方法。
【請求項２０】
請求項１９に記載の方法を実現するためのプログラムを記録したコンピュータで読み出せる記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理的または電子的な形態のコードイメージを認識し、そのコードイメージによって表された情報を抽出するための装置及び方法に関する。
【背景技術】
【０００２】
文字や数字、記号のような認識可能な情報を表示する方法において、情報の保安や表示空間を考慮して文字や数字、記号などがイメージで表示される場合がある。このように情報がイメージで表されたコードイメージから元の情報を判読するためにはそれに適したデコーダが提供されねばならない。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明が解決しようとする技術的課題は、情報がカラーまたは濃淡で表現されたコードイメージから元の情報を判読可能とするコード認識装置及びその方法を提供するところにある。
【課題を解決するための手段】
【０００４】
前述した課題を解決するための本発明の一態様によるコード認識装置は、
コードイメージが含まれた原本イメージを獲得するイメージ獲得部と、前記原本イメージから認識されたカラーや濃淡を環境変数によって補正し、前記補正されたカラーや濃淡をコードイメージの生成時に使われた複数の標準カラーまたは標準濃淡に変換して標準カラーまたは標準濃淡で表された標準イメージを生成するカラー変換部と、前記原本イメージのカラーまたは濃淡を所定の基準値によって２種類のカラーに区分して２進化イメージを生成する２進化変換部と、前記２進化イメージからコードイメージ領域を除く領域を抽出し、前記標準イメージにおいて、該抽出された領域に対応する領域を背景カラーに設定してコードイメージ領域と他の領域とを区別し、前記コードイメージ領域に含まれた複数のセルを抽出し、前記セルの各々に表された標準カラーまたは標準濃淡を認識するイメージ処理部と、文字、数字または記号とそれに対応するカラーまたは濃淡との関係に基づいて、前記コードイメージの各セルで認識されたカラーまたは濃淡に対応する文字、数字または記号を抽出してコード情報を生成するコード変換部とを含む。
【０００５】
また、前述した課題を解決するための本発明の他の態様によるコード認識装置は、
コードイメージが含まれた原本イメージを獲得するイメージ獲得部と、前記原本イメージのカラーまたは濃淡を所定の基準値によって２つのカラーに区分して２進化イメージを生成する２進化変換部と、前記２進化イメージからコードイメージ領域を除外した領域を抽出し、該抽出された領域に対応する前記標準イメージの領域を背景カラーに設定してコードイメージ領域と他の領域とを区分し、前記コードイメージ領域に含まれた複数のセルを抽出し、前記セルの各々に表された標準カラーまたは標準濃淡を認識するイメージ処理部と、前記コードイメージ領域に含まれた各セルに対して認識されたカラーや濃淡を環境変数によって補正し、前記補正されたカラーや濃淡をコードイメージの生成時に使われた複数の標準カラーまたは標準濃淡に変換するカラー変換部と、文字、数字または記号とそれに対応するカラーまたは濃淡との関係に基づいて、前記コードイメージの各セルで認識されたカラーまたは濃淡に対応する文字、数字または記号を抽出してコード情報を生成するコード変換部とを含む。
【０００６】
また、前述した課題を解決するための本発明の他の態様によるコード認識方法は、コードイメージが含まれた原本イメージを獲得する段階と、前記原本イメージから認識されたカラーや濃淡を環境変数によって補正する段階と、前記補正されたカラーや濃淡をコードイメージの生成時に使われた複数の標準カラーまたは標準濃淡に変換して標準カラーまたは標準濃淡で表された標準イメージを生成する段階と、前記原本イメージのカラーまたは濃淡を所定の基準値によって２つのカラーに区分して２進化イメージを生成する段階と、前記２進化イメージからコードイメージ領域を除外した領域を抽出し、前記標準イメージにおいて該抽出された領域に対応する領域を背景カラーに設定してコードイメージ領域と他の領域とを区分する段階と、前記コードイメージ部分に含まれた複数のセルを抽出し、前記セルの各々に表された標準カラーまたは標準濃淡を認識する段階と、文字、数字または記号とそれに対応するカラーまたは濃淡との関係に基づいて、前記コードイメージの各セルで認識されたカラーまたは濃淡に対応する文字、数字または記号を抽出してコード情報を生成する段階とを含む。
【０００７】
前述した課題を解決するための本発明による他の態様によるコード認識方法は、コードイメージが含まれた原本イメージを獲得する段階と、前記原本イメージのカラーまたは濃淡を所定の基準値によって２つのカラーに区分して２進化イメージを生成する段階と、前記２進化イメージからコードイメージ領域を除外した領域を抽出し、前記標準イメージにおける該抽出した領域に対応する領域を背景カラーに設定してコードイメージ領域と他の領域とを区分する段階と、前記コードイメージ領域に含まれた複数のセルを抽出し、前記セルの各々に表された標準カラーまたは標準濃淡を認識する段階と、前記コードイメージ領域に含まれた各セルに対して、前記原本イメージから認識されたカラーや濃淡を環境変数によって補正する段階と、前記補正されたカラーや濃淡をコードイメージの生成時に使われた複数の標準カラーまたは標準濃淡に変換する段階と、文字、数字または記号とそれに対応するカラーまたは濃淡との関係に基づいて、前記コードイメージの各セルで認識されたカラーまたは濃淡に対応する文字、数字または記号を抽出してコード情報を生成する段階とを含む。
【発明を実施するための最良の形態】
【０００８】
以下、添付された図面を参照して本発明の望ましい実施形態について詳細に説明する。
【０００９】
図１Ａは、本発明の実施形態によるコード認識装置のブロック図であり、図１Ｂは、図１Ａの装置の動作を説明するフローチャートである。そして、図２Ａ乃至図２Ｂは、本コード認識装置の判読対象といえるコードイメージの多様な例を示し、図３Ａ乃至図３Ｃは、所定の情報をイメージに変換するのに使われるコード変換表の例を示し、図４は、コードイメージが実際に名刺に適用された例を示す。コード認識装置は物理的な媒体に表示されたコードイメージ（図４の右下端に示された方形イメージ）を判読してそのコードイメージが表示しようとする元のコード情報を抽出するための装置である。コードイメージは数字、文字または記号がコード変換表によって変換されて形成されたイメージをいい、コードイメージは図２Ａの（Ａ）乃至（Ｄ）のように多様な形態で表現され得る。まず、図１Ａ及び図１Ｂを参照してコード認識装置の機能及び動作を説明する。
【００１０】
ステップ２１において、イメージ獲得部１１は“コードイメージ”を含んでいる物理的または電子的に表されたイメージを獲得する。コードイメージは最終的に抽出しようとするコード情報をイメージ形態で表現するものである。イメージ獲得部１１はスキャナ、デジタルカメラ、ＰＣカメラ、センサ、ファックスなどのような画像入力装置を通じて物理的に表現されたイメージを読み取って電子的に処理できるイメージデータ形態に変換する。ここで、イメージ獲得部１１の出力信号を“原本イメージ（Raw Image）”といい、この原本イメージはコンピュータで処理できるイメージファイル形態で構成され、通常、ここにはコードイメージと共に雑影（noiseimage）や背景が含まれている。
【００１１】
イメージ処理部１３は、原本イメージからコードイメージを抽出し、コードイメージに含まれた複数のセルに表示された色彩（カラー）または濃淡を認識する。ステップ２２において、環境変数及び／またはカラーモードのようなパラメータに基づいて原本イメージからコードイメージ領域を抽出する。ステップ２３において、イメージ処理部１３は原本イメージにおいてコードイメージと関連する情報を生成し、コードイメージの形態、位置または種類を判別する。そして、イメージ処理部１３は、ステップ２４においてコードイメージに含まれたセル数、形態及び位置を判別した後、ステップ２５において各セルに表示されたカラーや濃淡などを検出する。イメージ処理部１３は原本イメージを獲得する当時の周囲環境を考慮して環境変数を設定し、原本イメージから認識されたカラーや濃淡を環境変数によって補正することにより元のカラーや濃淡を検出することができる。
【００１２】
イメージ処理部１３は原本イメージから背景映像部分が除外されたコードイメージ領域を抽出してコードイメージの形態及び種類を判別し、これに基づいてコードイメージ領域に含まれたセルを区分して判別する。好ましくは以下の処理を行う。すなわち、まず、原本イメージが入力された状況での輝度に基づいて設定された白黒環境変数を基準として原本イメージを白黒イメージに変換する。そして、白黒イメージにおける背景イメージ部分を、コード情報を表示するために使われたカラー以外の特有の背景カラーに設定する。その後、白黒イメージにおける背景カラーの部分に対応する原本イメージの部分を背景カラーにセットして、コードイメージ部分と背景部分とを区分することにより、原本イメージからコードイメージ領域を抽出する。白黒イメージを利用することによってコードイメージ領域を抽出するのに必要な演算過程を大幅に減らすことができる。
【００１３】
また、好ましくは、イメージ処理部１３は、コードイメージ部分とそれ以外の部分とが背景カラーによって相互に区分されているイメージを入力し、これを複数のブロックに区分し、各ブロックから背景カラーではないカラーや濃淡を有する領域を検出し、全ブロックのうち検出した領域が最大となるブロックを選択し、その選択されたブロックに含まれたコードイメージ領域の中心点を検出し、その中心点を基準として全体イメージを探索して背景カラーではないカラーや濃淡を有する領域をコードイメージ領域として検出する。
【００１４】
コード設定部１７には情報を表す文字、数字または記号と、それに対応するカラーまたは濃淡との関係（例えば、図３Ａ乃至図３Ｃ）が設定されている。ステップ２６において、コード変換部１５はコード設定部１７から提供される関係によってコードイメージの各セルに表されたカラーまたは濃淡からそれに対応する文字、数字または記号を抽出してコード情報を生成する。
【００１５】
イメージ内の各ピクセルのカラーや濃淡を判読するために使われる環境変数を設定する例について説明する。環境変数はＲＧＢモードのＲ、Ｇ、ＢまたはＨＳＶモードのＨ、Ｓ、Ｖまたはこれらの組合せで設定でき、原本イメージが読み出された環境を考慮して原本イメージから認識されたカラー値や濃淡値を正規化するために設定される。言い換えれば、カラー環境変数の値が原本イメージの各画素のカラー値や濃淡値に対して加減算される。カラー値や濃度値の例としては、ＲＧＢカラーモードのRed、Green、Blue、Brightnessに対する値、あるいはＨＳＶカラーモードのHue、Saturation、Value（Brightness）に対する値、ＣＭＹＫカラーモードのCyan、Magenta、Yellow、Blackに対する値、ＨＳＩカラーモードのHue、Saturation、Intensityに対する値があげられる。多様な作業環境を考慮して原本イメージに表されたカラーや濃淡はそのイメージが読み出された環境に合わせて調整されて元のカラー／濃淡が取得される。
【００１６】
通常は、蛍光灯や３波長ランプ照明のような、一般に広く用いられる照明環境に適した初期環境変数が設定される。或いは、原本イメージを入力する前にカメラで白色紙を背景として一度撮影し、その周囲の照明環境にしたがって環境変数を設定する。例えば、ハロゲンランプ照明下では赤い光が相対的に強いので、ハロゲンランプによる赤い光の影響が除去できるように環境変数を設定する。その後、実際に読み出されたカラーを環境変数によって正規化すれば、照明による影響を減らし、元のカラーに近いカラーを得ることができる。
【００１７】
環境変数を使用してカラーや濃淡を補正する例を説明する。図３Ｂのようなコード変換表を利用して８種類のカラーにコードイメージが形成された場合を仮定する。ＲＧＢモードで原本イメージの何れかのピクセルに表示されたＲＧＢ値が（１００，１００，１００）に認識され、環境変数が（＋１００，−５０，＋５０）に設定されていれているとすると、ＲＧＢ値と環境変数との演算により、そのピクセルの修正されたＲＧＢ値は（２００，５０，１５０）となる。この修正された各ＲＧＢ値において、その値が１２８以上であれば２５５に変換し、そうでなければ０に変換される。その結果、最終値は（２５５，０，２５５）になるのでマゼンタと判別されることになる。
【００１８】
例１）  ＲＧＢカラーモードで、ＲＧＢそれぞれの最大値は２５５、最小値は０であるが、（２５５，０，０）は赤色、（０，２５５，０）は緑色、（０，０，２５５）は青色であり、（０，０，０）は黒色、（２５５，２５５，２５５）は白色である。ｘをＲ、Ｇ、またはＢ値、ｙをＲＧＢそれぞれに対する環境変数値とすると、各ピクセルに対して最終ＲＧＢ値は次のように決定される。
【００１９】
【数１】
2005509223.tif 000003
【００２０】
例２）  ＹＩＱ、ＹＵＶカラーモードはＲＧＢに一定加重値を付与して求めるカラーモードであって、ＲＧＢモードと類似している。すなわち、Ｙ＝０.２９９Ｒ＋０.５８７Ｇ＋０.１１４Ｂ、Ｉ＝０.５９６Ｒ−０.２７４Ｇ−０.３２２Ｂ、Ｑ＝０.２１１Ｒ−０.５２３Ｇ＋０.３１２Ｂの形式に求められる。Ｙは輝度、Ｉ及びＱはそれぞれ赤色及び青色の程度を示す。
【００２１】
【数２】
2005509223.tif 000004
【００２２】
例３）  ＣＭＹＫカラーモードは主に印刷のためのカラーモードであり、各色要素をパーセント単位または割合で表示する方式であって、ＲＧＢ値との関係から見れば（Ｒ／２５５、Ｇ／２５５、Ｂ／２５５）と表現される。ｘをＣ、Ｍ、ＹまたはＫ値とし、ｙを各色要素に対応する環境変数値とすると、各ピクセルに対して最終ＣＭＹＫ値は次のように決定される。
【００２３】
【数３】
2005509223.tif 000005
【００２４】
例４）  ＨＳＶ、ＨＳＩカラーモードの場合、Ｈｕｅ値が角度で表現される。ここで、ｘをHue値とし、カラー環境変数を０≦Ｔｒｇ＜Ｔｇｂ＜Ｔｂｒ≦３６０と設定すれば、カラー判別方法は次のように適用できる。
【００２５】
【数４】
2005509223.tif 000006
【００２６】
例５）  Commission Internationale de I’E clairage（ＣＩＥ）カラーモードにおいては、ｘとｙグラフ上にカラーの値が示される。この場合、カラーを判別する基準としてｘ、ｙが使われるので、カラー判別方法は次のように適用できる。
【００２７】
【数５】
2005509223.tif 000007
【００２８】
全般的な環境とその全般的な環境によって設定されるべき環境変数との間の関係に関するデータがデータベースに保存される。実際の作業環境に対してあらかじめ設定されたデータを読み出すことにより、環境変数が利用されうる。入力光学装置の光学特性及び周辺照明状況などを分析することにより、入力光学装置によって読み出されたカラーを元のカラーに補正するように、或いはコードイメージを背景と区分できるように、実験的に環境変数が設定され、それにより機器や環境の影響を排除し、誤差なしにカラーを認識させる。また、相異なる目的を有する２つ以上の環境変数グループを形成できる。１つはコードイメージを背景と分離するための環境変数であり、他の１つは背景から分離されたコードイメージの色彩や濃淡などを判別するための環境変数である。例えば、赤い照明の環境でＲＧＢモードに基づいてカラーを判別する場合、Ｒ値が相対的に高く現れるので、光学装置で判読したＲ値を所定の加重値によって減少させて環境による影響を排除させる。また、輝度照明の環境で入力されたコードイメージは、ＨＳＶモードに基づいて白黒を区別する場合、Ｖ値の加重値を増加させることによりカラーが判別される。また暗い照明の環境ではＨＳＶモードで白黒とそれらを除外したカラーとを区別するためのＶ値の加重値を減少させ、Ｓ値の加重値も減少させることによりカラーを判別する。また、環境変数の再設定において、光学装置によってコードイメージの各セルに対して得たＲ、Ｇ、Ｂ、Ｈ、Ｓ及び／またはＶ値の分布を把握し、その分布を参照して環境変数及びそれに対する加重値を再設定するようにしてもよい。
【００２９】
図１Ａに示されたコード認識装置によって処理しようとするコードイメージ及びそれに対応するコード情報の例について説明する。図２Ａ（Ａ）乃至図２Ａ（Ｄ）は本発明に従ったコード認識装置によって認識可能なコードイメージの多様な表現例を示す図である。図において、セルの形態は、方形、円形、楕円形、十字型または蜂の巣型などで多様に具現でき、これらの形態を組合せてコードイメージを形成することも可能である。コードイメージに表示する情報の内容や量によってコードイメージまたはセルの形態とサイズは適切に選択できる。複数のセルで構成されるコードイメージの全体的な形態も、方形、円形、楕円形、十字型または蜂の巣型などで多様に具現でき、図２Ａ（Ｄ）のようなバーコードと類似した形態のコードイメージも含まれる。
【００３０】
図２Ｂは、コードイメージに表される情報の役割を基準としてコードイメージの領域を区別して示した図である。コードイメージはデータ領域２９１を含む。データ領域２９１は、色彩、濃淡、形状、パターンまたはこれらの結合が情報の内容に応じて異なるようにエンコーディングされた少なくとも１つのデータセルで形成される。データ領域２９１は、文字などがイメージにエンコーディングされた１つ以上のデータセルで構成され、データセルはそのそれぞれが１つの文字を表すように構成され、また多数のデータセルセットが１つまたはそれ以上の文字を表すように構成されるようにしてもよい。例えば、文字“Ａ”を赤色よりなるセル１つで表示するようにしてもよいし、赤色と緑色とよりなる２つのセルで表示するようにしてもよい。また、データ領域２９１に納まるコード情報は、文字、数字、記号などを備え、ユーザの必要に応じて名前、住所、電話番号、ファックス番号、ネットワークのホスト住所、インターネットで使われるドメイン名及びＩＰアドレス、ＵＲＬ、プロトコル、または文書名などを含むようにできる。
【００３１】
コードイメージにはパリティ領域２９３、参照領域２９５及び制御領域２９７のうち少なくとも１つをさらに含むことができる。パリティ領域２９３はデータ領域２９１に表示されたセルの認識エラー検査のためのパリティセルで形成される。参照領域２９５はデータ領域２９１に形成されたデータセルの色彩、濃淡、形状、パターンまたはこれらの結合を判断するための基準色彩、基準濃淡、基準形状、基準パターンまたはこれらの結合を提供する少なくとも１つの参照セルで形成される。制御領域２９７はデータ領域２９１に表示された情報を利用して提供できる命令やサービスを表す少なくとも１つの制御セルで形成される。以下では、データ領域を除外した領域、例えばパリティ領域、参照領域、制御領域を含む領域を“補助領域”と称し、補助領域に含まれるセルを補助セルと称する。
【００３２】
パリティ領域２９３は色彩または濃淡（或いは、形状及び／またはパターン）がコード情報の内容に対応してデータセルに適するように表現されているかどうかを判別するのに使われる。パリティ領域２９３では、データセルに表示された色彩または濃淡に対応して規定されたコード値によってパリティデータを求め、パリティデータに対応する色彩または濃淡でパリティセルを形成する。
【００３３】
参照領域２９５はデータ領域２９１及び／または補助領域のセルに表現されたカラー（または濃淡、形状またはパターン）を認識する基準カラー（または基準濃淡、必要に応じて基準形状や基準パターン）を設定するのに使われる。各領域に表示されるセルのカラーはred green blue（ＲＧＢ）カラーモード、Hue Saturation value（ＨＳＶ）カラーモード、CyanMagenta Yellow Black（ＣＭＹＫ）カラーモード、Hue saturation intensity（ＨＳＩ）カラーモード、ＣＩＥカラーモード、ＹＩＱまたはＹＵＶカラーモード等で表すことができる。また、白黒濃淡（グレースケール）によってコードを形成する場合にも参照領域２９５に表示された黒色及び／または白色を基準として各セルの情報を正確に認識できる。
【００３４】
また、コードイメージに含まれた各領域間には領域を区分するための境界領域をさらに含むことができる。また、各領域に含まれた各セル間にもセルを区分するための境界領域をさらに具備できる。境界領域は特定色やパターンより形成された線またはセルで構成でき、境界線または境界セルは黒色または白色よりなりうる。
【００３５】
プリンタの機種や印刷用紙の材質によって１つのカラーであっても相異なるカラーに印刷されたり、スキャナやカメラの特性によって同じカラーが多少異なって認識される場合がある。このような点を考慮して、参照領域２９５の参照セルはデータ領域に表された色を判別する基準を提供する。すなわち、出力装置によってカラーが異なって出力されるか、スキャナなどのような入力装置によってカラーが異なって入力されたとしても、参照領域２９５のカラーとデータ領域２９１のカラーとの色差は固定的であるために、データ領域２９１に表現されたセルのカラーを正確に認識できる。データ領域２９１のセルに表されるカラーは参照領域２９５の基準カラーに対して相対的な色調差を有するので、ＲＧＢモードまたはＨＳＶモードに基づいて参照領域２９５の基準カラーと比較してデータ領域２９１のセルのカラーが得られる。こうして、イメージ入力装置や出力装置が変わってもデータセルの情報を正確に認識できる。形状やパターンがカメラなどの入力装置によって入力される場合、それが傾くか歪んだ状態に入力される場合がある。しかしながら、基準形状または基準パターンが参照領域によって提供されることによって、このような誤入力状態を感知させてデータセルに表現された形状またはパターンを正確に認識させることができる。
【００３６】
ユーザはデータ領域２９１のコード情報を利用して応用分野によって多様なサービスを提供されうる。例えば、名刺にインターネットのホームページ住所（すなわち、ＵＲＬ）がコードイメージで記録されているならば、そのコードイメージをコンピュータでデコーディングした後、そのコンピュータまたはそのコンピュータに連結されたサーバーコンピュータのウェブブラウザを実行させてそのホームページに接続するようにプログラミングすることができる。また、インターネットの電子メールアドレスがコードイメージで表されている場合であれば、そのコードイメージをコンピュータでデコーディングした後、そのコンピュータのメーリングソフトウェアを実行させてその電子メールアドレスにメールを送ることができる環境を提供できる。他の例として、コードイメージが携帯用端末機に入力された場合、コードイメージに対応する電話番号に電話をかけたり、地理情報サービスの提供を受けたりすることができる。この場合、このような自動サービス機能は別途のプログラムによるかデコーディングプログラムで目的情報の種類によって自動的に実行させることができる。また、コードイメージ内にこのような命令語がイメージで表現された制御領域２９７を含めることにより、その制御領域２９７からデコーディングされた制御情報を利用してデコーディングプログラムで自動的にサービスするような処理を実現できる。
【００３７】
また、制御領域２９７にはデータ領域の目的情報を制御する命令またはメタデータなどが含まれうる。例えば、制御領域２９７に表示された情報はデータ領域２９１に形成されたセルのデコーディング順序、または参照領域２９５の参照セルの位置、パリティ領域２９３の位置や属性など様々なメタ情報を含むことができる。
【００３８】
図３Ａは、４つのカラーで２ビットのデータを表す例を示す。各セルが４つのカラーのうち何れか１つを有することができれば、１つのカラーセルで２ビットのデータが表現できる。さらに、連続された４つのセルで１つの文字を表示するように定義するならば、８ビット、すなわち２５６種類の文字を表現できる。一方、同じカラーを有するが、セルを表現する形状の種類を４つ（例：小さな方形、大きい方形、小さな円、大きい円）にすれば、２ビットのデータを表すことができ、もし各セル内部が４つの他のカラーで満たされるならば、２５６種（８ビット）の情報を表現できる。
【００３９】
図３Ｂは、各種文字（アルファベットや特殊文字など）や数字または形態などをイメージに変換するコード変換表の一例を示す図であって、１つの文字が１つまたは２つのカラーセルにマッピングされる例である。
【００４０】
図３Ｂのコード変換表を利用したエンコーディング方法では、各種文字などをコード値に変換した後、各コード値に割り当てられたカラー（色彩）でコードイメージを生成する。本例では８種のカラーを利用してコードイメージを生成し、１つの文字や数字を表すために連続した２つのセルを使用した例を示す。８つのカラーに対しては“０００”から“１１１”までのコード値が割り当てられ、各文字は２つのカラーにエンコーディングされる。例えば、数字“３”はコード値“００００１１”に割り当てられ、コード値“０００”に割り当てられたカラー（黒色）とコード値“０１１”に割り当てられたカラー（シアン）にエンコーディングされ、黒セルとシアンセルによる連続した２つのセルでイメージ化される。図３Ｂに示されたコード変換表によって、コード情報に含まれた各種文字や数字をコード値に変換した後、そのコード値に対応するカラーを方形セルの組合せよりなった四角マトリックスの形態で表現できる。
【００４１】
図３Ｃは、グレースケールコードを利用してコードイメージを生成する一実施形態を示す。グレースケールコードではカラーをなすＲ、Ｇ、Ｂの混合比率の代りに白黒の輝度によってコードが形成される。したがって、参照領域は黒色、白色または灰色のうち何れか１つが基準濃淡として設定され、データ領域のセルは参照領域の基準濃淡に対するグレースケール差によってコーティングされた値を有する。コードイメージに参照領域がない場合には、コードイメージの各セルの濃淡を計算し、相互類似した濃淡を有するセル（セル集合）を集めて同じセル集合に属したセルに対して同じコード値を付与し、パリティ領域を利用してデコーディングエラーの如何を判別する。もし判別エラーが発生すれば、各セルの濃淡を再計算するか、セル集合を形成する基準を別のものに設定して、エラーの如何を判別する。このようなグレースケールコードイメージは新聞のような主に白黒で印刷された媒体に適用できる。
【００４２】
図４は前述したようなコード体系などを利用して名刺にコードイメージが表現された例を示す。図１のコード認識装置を利用する場合、ユーザはカメラやスキャナを利用して名刺の右側下段に表示された方形のコードイメージ部分が含まれるようにイメージファイルを生成する。ユーザはそのイメージファイルを処理してそのコードイメージが表現しようとするコード情報を認識することができる。
【００４３】
図５は、本発明の一実施形態によるコード認識装置のブロック図であり、図６は、図５の装置が動作する過程を説明するフローチャートである。
【００４４】
イメージ獲得部５１は、コードイメージが含まれた原本イメージを獲得する。即ち、カメラやスキャナのような画像入力装置を利用して獲得したイメージファイル、または電子ファイルの形態で存在するイメージファイルを入力し、必要に応じてイメージファイルのデータフォーマットを変換する。例えば、圧縮された映像イメージファイルであれば、圧縮を解凍してビットマップ形態のイメージファイルに変換する。上記のように入力されたイメージファイルはメモリ５２に原本イメージとして保存される。通常、原本イメージにはユーザが検出を望むコードイメージと共にその周辺の雑影（ノイズイメージ）も含まれる。
【００４５】
制御部５８は、コードイメージの種類を入力し、原本イメージを獲得した時の環境を考慮して環境変数を設定するか、予め保存されている環境変数を読み出して環境変数を得る。そして、その環境変数をカラーフィルタ５３に伝送する。メモリ５２はイメージ処理過程で必要なイメージデータを一時的に保存する。
【００４６】
カラーフィルタ５３は原本イメージから認識されたカラーや濃淡を環境変数によって補正し、その補正されたカラーや濃淡をコードイメージの生成時に使われた複数の標準カラーまたは標準濃淡に変換して標準カラーまたは標準濃淡で表された標準イメージを生成する。ここで、標準カラーまたは標準濃淡とは、コードイメージの生成時に文字、数字または記号に対応して設定されたカラー及び濃淡をいう（図３Ａ乃至３Ｃ参照）。物理的な媒体に表されたコードイメージは、コードイメージを画像出力装置でプリントするときやコードイメージを画像入力装置で入力するときの画像装置の特性や周辺環境の影響によって、オリジナルに設定されたカラーそのままに表示されなかったり、オリジナルのカラーをそのまま認識できない場合がある。例えば、マゼンタの場合、ＲＧＢ値が（２５５，０，２５５）であるが、マゼンタが表示されたセルから認識されたＲＧＢ値は正確に（２５５，０，２５５）にはならず、その付近の値を有することになる。したがって、実際に認識されたカラーや濃淡の標準カラーや標準濃淡へ変換することによって、コード変換表を適用したコード情報の抽出が可能となる。
【００４７】
２進化フィルタ５４は原本イメージのカラーまたは濃淡を所定の基準値（白黒環境変数）によって２つのカラーに区分して２進化されたイメージを生成する。２進化イメージは白黒で具現されるか特定の２つのカラーで具現されうる。ここで、基準値はＲＧＢカラーモードにおけるＲ、Ｇ、Ｂの値の平均値またはそのうちの最小値や最大値、あるいはＨＳＶカラーモードにおけるＶ値、ＨＳＩカラーモードにおけるＩ値またはＣＭＹＫモードにおけるＫ値に設定してもよい。
【００４８】
前処理部５５は原本イメージと２進化イメージとを入力し、２進化イメージにおけるコードイメージ部分を除外した部分を特定の背景カラーに設定し、２進化イメージにおいて背景カラーに設定された部分に対応する上記標準イメージの部分を背景カラーに設定してコードイメージ部分と他の部分とを区分する。例えば、２進化イメージの端部に位置したピクセルを背景カラーに設定し、背景カラーに設定されたピクセルと連結されたピクセルを背景カラーに設定していくことによって、コードイメージ部分を他の部分と区分できる。ここで、背景カラーはコードイメージの生成時に使われなかったカラーのうちの何れか１つに設定される。特徴点抽出部５６はコードイメージ部分に含まれた複数のセルを抽出した後、各セルに表示された標準カラーまたは標準濃淡を認識する。
【００４９】
デコーダ５７は、文字、数字または記号と、それに対応するカラーまたは濃淡との関係に従って、コードイメージの各セルにおいて認識されたカラーまたは濃淡からそれに対応する文字、数字または記号を抽出してコード情報を生成する。好ましくは、各セルに属するピクセルのカラーまたは濃淡のうち最も多くの分布を有するカラーまたは濃淡を当該セルのカラーとして認識するようにする。
【００５０】
図６のフローチャートを参照して図５に示されたコード認識装置の動作について説明する。まず、ステップ６１において、コードイメージが含まれた原本イメージを獲得する。ステップ６２において、原本イメージを獲得した当時の環境を考慮して環境変数を設定し、原本イメージから認識されたカラーや濃淡を環境変数によって補正する。ステップ６３において、補正されたカラーや濃淡をコードイメージの生成時に使われた複数の標準カラーまたは標準濃淡に変換して標準カラーまたは標準濃淡で表された標準イメージを生成する。
【００５１】
ステップ６４において、原本イメージのカラーまたは濃淡を所定の基準値によって２つのカラーに区分して２進化イメージを生成する。ステップ６５において、その２進化イメージに基づいてコードイメージ部分を除外した部分を特定の背景カラーに設定する。ステップ６６において、２進化イメージにおいて背景カラーで処理された部分に対応する標準イメージの部分を背景カラーに設定することによりコードイメージ部分を他の部分と区分する。
【００５２】
ステップ６７において、コードイメージ部分に含まれた複数のセルを抽出し、各セルに表された標準カラーまたは標準濃淡を認識する。そして、ステップ６８において、文字、数字または記号とそれに対応するカラーまたは濃淡との関係に基づいて、上記コードイメージの各セルで認識されたカラーまたは濃淡からそれに対応する文字、数字または記号を抽出してコード情報を生成する。
【００５３】
図５に示されたコード認識装置の機能及び動作についてさらに詳細に説明する。
【００５４】
２進化フィルタ５４は白黒環境変数によって原本イメージを白黒イメージに変換する。この白黒イメージは原本イメージに表現されたオブジェクトの判別を容易にし、作業速度を向上させるのに用いられる。原本イメージの各ピクセルの輝度値を環境変数値と比較して黒と白とのピクセル値として出力することにより白黒イメージが生成される。白黒環境変数とは、赤（red）、緑（green）、青（blue）の値を足し合せて３で割った平均値、あるいはＨＳＶカラーモードのValue値など原本イメージに表示されたカラーを白黒化するための値または値の集合をいう。原本イメージの全体的な輝度が比較的暗い場合（これは、原本イメージがスキャンされる時に周辺環境が多少暗かったか画像装置の特性上輝度が低く表現されたような場合が考えられる）には、白黒環境変数値は低く設定される。また、原本イメージの全体的な輝度が比較的明い場合には白黒環境変数値は高く設定される。
【００５５】
例えば、原本イメージのいずれかのピクセルのＲＧＢ値が（１００，１００，１００）であれば、このピクセルの平均輝度は１００になる。このとき、環境変数値を８０と仮定すれば、この値より明い値を有するピクセルは白色、そうでなければ、黒色と認識される。
【００５６】
カラーイメージを白黒イメージに２進化する場合、１つの基準値を全体ピクセルに対して適用して白黒イメージを生成してもよいし、全体イメージを幾つかの部分に分けて各部分に対して基準値を設定し、各部分に属するピクセルに対して各部分の基準値を適用して白黒イメージを生成するようにしてもよい。すなわち、局部スレショルド値方式においては、イメージは一定サイズのブロックに分割され、各ブロックに属するピクセルの輝度値の平均値が算出され、その平均値が白黒環境変数として設定される。各ピクセルの輝度値を白黒環境変数値と比較してそのブロックに属したピクセルを白黒に２進化する。この方式は、全体イメージにおいて部分的に暗い部分や明い部分が存在する場合に特に効果的である。
【００５７】
カラーイメージを白黒イメージに変換する場合、多重スレショルド値方式が適用できる。多重スレショルド値方式は、複数の環境変数値を利用する方式である。イメージに属したピクセルの輝度値のヒストグラムを取得することにより、輝度の頻度が取得される。ヒストグラムは、高頻度の輝度値と低頻度の輝度値とに分割される。一般的に、各ピクセルの輝度値は特定の輝度値に集中的に現れる。こうして、頻度が相対的に高い輝度値間に位置した相対的に低頻度の輝度値が複数の白黒環境変数として設定され、これら白黒環境変数をカラーイメージに順番に適用する。その結果、１つのイメージ内で輝度の変化が激しい場合に、複数の白黒環境変数のうち最も適当なものが選択され、正しい白黒イメージを生成できる。
【００５８】
図７は、原本イメージから白黒イメージを求めた結果を示す図である。図７（Ａ）は、原本イメージを示す。原本イメージは実際にはカラーイメージであるが、図示の制約からグレースケールイメージで表示されている。図７（Ｂ）は、ピクセルのＲ、Ｇ、Ｂ値を平均し、基準値を１２８として平均値と基準値とを比較して白黒イメージを求めた例である。図７（Ｃ）は、基準値を９０とした例である。図７（Ｄ）は、局部スレショルド値方式を適用した例である。図７（Ｅ）は、ピクセルのＲ、Ｇ、Ｂ値のうち最小値を基準値１２８と比較して白黒イメージを求めた例である。また、図７（Ｆ）は、基準値を９０とした例である。
【００５９】
前処理部５５は、カラーイメージと白黒イメージとを入力し、これらを比較してコードイメージと関係ない不要な雑影をカラーイメージと白黒イメージとから除去する。白黒イメージを基準として雑影を除去する過程は背景イメージ除去段階及び微細雑影除去段階で行われる。これらの処理を、図８を参照して詳細に説明する。
【００６０】
通常、コードイメージ周囲には白色か高輝度の余白が存在してコードイメージ領域がその周辺領域と区分される。背景イメージ除去段階では雑影イメージの連結状態を調べてこれを除去する。図８は、背景イメージ除去過程を説明するための図である。まず、白黒イメージ（図８（Ａ））の端部に位置した雑影イメージ、言い換えれば、端部にあるピクセルのうち黒色を有するピクセルを特定の濃淡やカラー（コードイメージのセルには表示されていないカラーや濃淡であって、“背景カラー”という）に設定（図８（Ｂ））する。次に、全体領域を調べてその雑影イメージと連結されたピクセルを背景カラーに設定する。言い換えれば、背景カラーが設定されたピクセルと連結された黒色ピクセルを順番に検出してそれらピクセルを背景カラーに設定していく（図８（Ｃ）乃至８（Ｅ）参照）。これ以上背景カラーを有するピクセルと連結された黒色ピクセルがなければ、背景カラーで表示された部分を雑影イメージ領域として判別し、雑影領域を除外した部分において黒色ピクセルで構成された部分をコードイメージ領域として判別する。このとき、連結状態の調査のためには雑影イメージに属するピクセルを中心として、左から右に、または右から左に、上から下にまたは下から上に幾つかの方向に同時に探索することが効率的である。微細雑影制御段階では、雑影イメージが除去されたイメージで各ピクセルの連結状態を調べてピクセルが連結された長さや面積が基準値未満であれば、これを微細雑影と判断し、これを除去する。例えば、一定の面積を有する部分において黒色ピクセルの数が基準値未満であれば、これを雑影として判別することができる。このようにして、白黒イメージで雑影イメージに判別された部分と白色ピクセル部分とを除外すれば、求めようとするコードイメージ部分になる。
【００６１】
白黒イメージで雑影を除去した結果をカラーイメージに適用してカラーイメージからコードイメージ領域を抽出する。例えば、白黒イメージで雑影部分と判断された位置（座標）にあるピクセルはカラーイメージでも雑影と判断して処理する。
【００６２】
特徴点抽出部５６は、雑影が除去されたカラーイメージ及び／または白黒イメージを入力し、特定オブジェクトのイメージ（コードイメージ）を構成する特徴点とその領域とを探索し、オブジェクトの特徴点によってコードイメージの種類と位置情報とを探索し、エラーの如何を判別する。特徴点抽出部５６は、雑影が除去されたイメージからコードイメージ領域を探すためのブロック分割段階、コードイメージ領域を探索する段階、そして探索されたコードイメージ領域から特徴点を抽出する段階及びコード種類判別段階の過程を経て行われる。図９は、コードイメージの各セルに表示された標準カラーを認識する過程を説明するためのフローチャートである。
【００６３】
ステップ９１において、背景カラーが表された（または雑影が除去された）標準イメージが入力されると、ステップ９２においてコードイメージ領域を探すために標準イメージをブロック単位に分割する。図１０（Ａ）は全体イメージを所定サイズのブロックに区分した様子を示す図であり、陰影の方形で表された部分はコードイメージ領域である。イメージをブロックに分けた後、該当ブロックに属する意味のあるイメージ（言い換えれば、雑影イメージと判別されて背景カラーが設定された部分を除外した部分のイメージ、すなわちコードイメージ領域）のサイズを検査すれば、コードイメージの位置が推測できる。したがって、ブロックに属するコードイメージ領域が最も大きいブロックの中心点を探し、これを基準としてコードイメージ領域を探索する。すなわち、ステップ９３において、各ブロックから背景領域ではないコードイメージ領域に属するピクセルの数を検出し、ステップ９４において、コードイメージ領域に属するピクセルの数が最も多いブロックを検出し、そのブロックの中心点（またはそのブロックに属するコードイメージ領域の中心点）を検出する。
【００６４】
全体イメージ領域を複数のブロックに分割した後、コードイメージ領域を探索すれば、処理に必要な演算量を減らすことができる。コードイメージの形態が方形であり、このコードイメージの位置を概略的に知っていれば、演算量を減らすことができて効率的である。図１０（Ａ）の場合に各ブロックのコードイメージ領域に属するピクセルの数を計算すると、６ブロックに最も多く、２、３、５ブロックの順である。したがって、コードイメージ領域に属するピクセルが存在しないか非常に少数の１、４、７、８、９のブロックを除き、２、３、５、６のブロック領域でのみイメージ演算を行えば、演算量を大幅に減らすことができる。また、図１０（Ｂ）のようにコードイメージが空間的に相互分離されている複数のイメージで構成されている場合は、コードイメージ領域が複数存在する。この場合、まず最も大きいサイズを有するものをコードイメージ領域と仮定して探索し、その後、サイズ順に調べることが望ましい。
【００６５】
次に、ブロック分割段階で探した中心点を基準としてコードイメージが形成されている領域を探すコード領域探索段階が行われる。ステップ９５において、中心点を基準として標準イメージ全体を探索してコードイメージ領域になりうる候補領域を検出する。そして、ステップ９６において、候補領域から特徴点を検出してコードイメージの形態と種類とを判別する。この段階では、候補領域の外接点によって形成される図形領域を探す。そのような図形は方形領域か円形領域などとなり、そのように検出された領域はコードイメージとなる。その後、コードイメージ内のセル領域は、ステップ９７において互いに区別される。そして、ステップ９８において、対応するセル内に表された標準カラーが、各セル領域に属する画素のカラーに基づいて認識される。
【００６６】
図１１（Ａ）乃至図１１（Ｃ）は、候補領域を検出する過程を説明する図であって、斜線で表示された領域１０４は実際に求めようとするコードイメージ領域を示し、その領域を含む候補領域１０３を検出する。このような過程は全体イメージのうち一部の必要なイメージ領域を選定して、その一部のイメージに対してその後の演算過程を行わせる用にして処理過程を単純化するためのものである。候補領域はコードイメージと推定されるイメージ領域の極端点（例えば、ｘ，ｙ座標上で最小及び最大値を有する点）を求めてその極端点よりなる図形に決定される。例えば、図１０（Ａ）で選択されたブロック２、３、５及び６からなる領域１０２において背景領域でないイメージに属するピクセルのうち、ｘ軸上の最小及び最大値とｙ軸上の最小及び最大値を有する座標を求め、これらによって形成される図形（方形）を候補領域として決定する。
【００６７】
候補領域探索方法としては、縮小探索技法と拡張探索技法とがある。拡張探索技法は中心点から外側に拡張しながらコードイメージに該当する領域を探索する方法である。すなわち、背景領域でないコードイメージ領域であると判別される部分まで拡張してコードイメージ領域を探索する。縮小探索技法は外側から中心点に狭めて探索する方法である。例えば、中心点に最も近い余白（白色のような背景カラーで表示された背景領域）よりなった方形領域を探す方法がここに該当する。コードイメージが方形で形成された場合、候補領域は左上座標と右下座標で表現され、コードイメージが円形である場合、候補領域は中心点座標と半径距離で表現される。
【００６８】
特徴点を判別する方法としては、対角線検索方法や境界線検出方法が使われる。対角線検索方法（図１２（Ａ）参照）は候補領域で任意の傾斜を有する線分を利用して特徴点を探す。一例として、コードイメージが方形である場合、候補領域で方形コードイメージの頂点を探すためには候補領域の頂点で４５度の角度を有する対角線を描いてその対角線と外接する点で形成される方形領域を探す。図１２（Ａ）に示されるように、候補領域の各頂点から始まって４５度を有する対角線を利用して背景領域でないコードイメージ領域に属するピクセルがその対角線と接するう点を特徴点として決定する。候補領域の各頂点に対する対角線は逆時計回り方向または時計回り方向に一定な方向性を有する。
【００６９】
図１２（Ｂ）及び図１２（Ｃ）は、対角線探索方法をさらに具体的に説明するための図である。図１２（Ｂ）で、(1)方向の対角線に特徴点を検出する場合、図に示されたように複数のピクセルが対角線と合うようになれば、最後に検出されたピクセル（図の(a)のピクセル）を特徴点として決定する。次に、(2)、(3)、(4)方向に上記のような処理を行って所望のコードイメージ領域の特徴点を検出する。一方、対角線検出方法によって特徴点を検出した場合、要求される特徴点が全て検出されない場合もある。例えば、方形のコードイメージである場合には４つの特徴点が抽出されねばならないが、その特徴点として３つのみが抽出される場合がある。図１２（Ｃ）では、特徴点数が満足できない場合、垂直及び水平方向の検索過程をさらに行うことを示している。すなわち、(5)、(6)、(7)、(8)方向に候補領域の境界面に最も近いコードイメージ領域のピクセルを検出する。対角線検索方法によって定められた特徴点と垂直／水平方向の検索によって定められた特徴点とが相異する場合があるが、このような場合には両座標の平均値やそれらの値のうち何れか１つを選択して特徴点として決定できる。
【００７０】
境界線検出方法（図１３参照）は候補領域に含まれたコードイメージ領域の外部境界線を追跡してコードイメージの頂点と同じ特徴点を探知する方法である。まず、境界線をなす座標を候補座標に選定する。次に、隣接した候補座標間の傾斜度を調べて座標間の傾斜度変化がなければ、候補座標から除去する方式（傾斜度ベースの方式）を適用する。例えば、相互隣接した候補座標を（ｘi-1,ｙi-1）、（ｘi,ｙi）、（ｘi+1,ｙi+1）とする場合、ａ1＝（ｙi−ｙi-1）／（ｘi−ｘi-1）、ａ2＝（ｙi+1−ｙi）／（ｘi+1−ｘi）とすれば、もし、ａ1がａ2と同じかａ1とａ2との差が一定な値より小さければ、座標（ｘi,ｙi）は特徴点でないと判断する。
【００７１】
また、傾斜度ベースの方式と合わせて距離ベースの方式が適用できる。隣接した特徴点候補座標の距離が一定距離より小さければ、これら座標は特徴点候補座標で除去して行く。すなわち、相互隣接した２つの候補座標（ｘi-1,ｙi-1）と（ｘi,ｙi）との距離、
【数６】
2005509223.tif 000008
が一定な値より小さければ、（ｘi,ｙi）を候補座標から除去する。
【００７２】
このような特徴点を利用して境界線の閉鎖性の如何、角度及び長さなどを調べてコードイメージの形態及び種類が探知できる。一例として、１つのコードイメージが、横及び縦のセル数が５×５か８×５よりなる場合、横及び縦の長さ比率によっていかなるコードイメージであるかを区分できる。すなわち、横及び縦の長さ比率が類似であれば、正方形と判断し、これを５×５マトリックスコードイメージとして認識できる。一方、横及び縦の長さ差が一定値以上であれば、これは８×５の２次元コードイメージであると判別することができる。また、長さ比率と傾斜とを利用してコードイメージを構成するセルの中心点を探すことができる。そして、コードイメージのサイズや面積、長さ比率を考慮すれば、コードイメージが正常に抽出されたかどうかが判断できる。
【００７３】
図１４（Ａ）〜図１４（Ｃ）は、コードイメージ領域に属するセルを区分し、セル別の中心点を探す過程を説明する図である。図１４（Ａ）を参照すれば、本例でのコードイメージは４×４方形イメージと判別された場合であって、横と縦の長さをそれぞれ４等分してセルを区分し、図１４（Ｂ）のようにその区分されたセルの中心点の座標を求める。
【００７４】
図１４（Ｃ）は、セルの中心点を探すアルゴリズムを説明するための図である。コードイメージの一辺の長さがＬであり、これをＸ軸とＹ軸とに垂線を引いた場合にＸ軸の長さをＷ、Ｙ軸の長さをＨとすれば、その辺に接したｉ番目セルの中央を探すための点のＸci、Ｙci位置は次の式の通りである。なお、Ｃはカラーコードの行や列に位置したセルの数である。
【００７５】
【数７】
2005509223.tif 000009
【００７６】
上記の数式によれば、コードの辺に接した点の座標を得るようになるが、これを対辺にある同じ順序の点と連結すれば、２つの線分が交差する点が発生し、これを各セルの中央点と判断する。ただ、この数式はコードイメージとカメラとの接写角が９０度である場合に理想的である。したがって、接写角が小さければ（カメラを寝かせて撮る場合など）コードイメージに歪曲が発生するので、誤差が発生する恐れがある。例えば、過度に接写角が小さければ、元の方形のコードイメージが台形状に入力される。したがって、これを補正するために別途の演算が必要である場合もあるが、殆どの場合には前記の数式だけでも十分である。特に、歪曲が激しくてもイメージのサイズが大きければ、上述の数式や補助数式でセルの中央位置を探し出せる。上記の方法だけでなくコードイメージ領域の各ピクセルが有しているカラー分布を考慮してセルとセル間の境界線を検出するかコードイメージを生成する時に挿入したセル間境界領域を検出してこれに基づいてセルが区分できる。
【００７７】
ステップ６８において、デコーダ５７は、特徴点抽出部５６で探索された情報を利用してコードイメージをデコーディングし、コード情報を再生する。制御部５８から入力されたカラー環境変数、分析種類（カラーモード、コード種類など）を利用して各セルのカラー／濃淡の判別及びパリティ情報確認などの処理が行われる。各セルに対して検出された色値や濃淡値はこれに対応する文字や数字、記号に置換され、パリティ演算して異常の有無が判別される。そして、異常のない場合は、該当する文字や数字、記号を出力し、あらゆるセルに対して上記のような過程を行った後、各セルに対して求めた文字や数字、記号を連結して目的のコード情報を生成する。
【００７８】
特徴点抽出部５６から入力されたセル別中心座標によって各セルの位置を確認し、これを中心として所定数のピクセルを抽出してカラーが決定される。サンプル抽出されたピクセルの平均値を求めた後、ＲＧＢモードによってカラーを決定できる。或いは、ＨＳＶによって色相角度を求めた後、該当セルを代表するカラーを決定できる。ＲＧＢモードによるカラー判別の場合、既にカラー環境変数によるカラー変換段階を経たカラーイメージであれば、サンプル抽出されたピクセルのＲＧＢ要素それぞれの値は０か２５５となっており、標準カラー状態となっている。したがって、抽出されたピクセルのうち最も頻度の多いカラーを該当セルのカラーと判別する。もし標準カラーに変換されていないカラーイメージが入力された場合には、抽出されたピクセルにカラー環境変数を適用して標準カラーに変換し、その後、頻度数が最も多いカラーを該当セルのカラーと決定する。ＨＳＶによるカラー判別の場合、サンプル抽出されたピクセルのＲＧＢの値は、ＨＳＶ変換式によって変換した後、決定される。
【００７９】
３グレーレベルで表示されるコードイメージの場合には各セルの平均値を求め、これら平均値がサイズ順に整列される場合、整列された平均値の分布で頻度の多い部分は３箇所に集中し、これらの３箇所の間には値が存在しないか微細に存在する区間が存在する。最も距離の長い区間の中心点及び２番目に距離の長い区間の中心点を求めた後、前記の２つの中心点に該当する値を各セルの平均値と比較すれば、各セルがどのレベル（黒色、灰色、白色のうち何れか１つ）に属するかが判別できる。例えば、１つのセルからサンプル抽出されたピクセルのＲ、Ｇ、Ｂ値の平均値を求めてこれを輝度値として使用できる。各セルから求めた輝度値を利用してその分布を調べ、黒色、白色、灰色の３つのグループに区分される。その後、セルの濃淡は、そのセルの輝度値と最も近い濃淡で決定される。
【００８０】
図２Ｂに示されたようなコードイメージの場合、コードイメージからデータ領域及び補助領域（パリティ領域、参照領域及び／または制御領域）が区分して識別される。参照領域がある場合は、これを利用して各セルに表現された色彩、濃淡、形状、パターンを判断し、パリティ領域があれば、データセルのエラーの如何を判断する。
【００８１】
デコーディング処理の過程では、コードイメージに含まれた形態、カラー、パターン、文字を探し出す処理が必要であり、これら以外にも歪曲されたイメージを補正する処理が要求される。ここで、ＲＧＢモード、ＨＳＶモード、ＣＭＹモード、ＨＬＳ（Hue angle、Lightness、Saturation）モードのうち１つ以上の方法を使用してカラー判別が可能である。
【００８２】
デコーディングのためにデータ領域及び／または補助領域にある各セルのコード値を抽出する。もし参照領域があれば、参照セルの色彩または濃淡などを検出して、データ領域を含むあらゆる領域の情報を解釈する基準となる基準色彩（または濃淡）、基準形状または基準パターンとする。データ領域、パリティ領域または制御領域にあるセルの色彩、形状及びパターンを検出した後、基準色彩、基準形状及び／または基準パターンとの差を検出して各セルに対するコード値に変換する。もし参照領域がなければ、画像入力装置によって読み出された色彩や濃淡、形状及び／またはパターンによって各セルに対応するコード値が得られる。
【００８３】
パリティ領域があれば、パリティ領域から求めたコード値（すなわち、パリティデータ）によってコードイメージの各列と行に対するパリティのエラーの如何を検査する処理を行う。よく使われる照明環境に最適化された環境変数及びそれに関する加重値をあらかじめ設定してデコーディングプログラム内またはデータベースに保存しておき、ユーザが自分の環境に最も適した環境変数を選択できるようにする。パリティエラーが発生したというのは現在設定された環境変数によるカラーの解読にエラーがあるとみなすことができるので、このような場合には、他の環境変数を適用して再びカラーを判読させる。必要であれば、パリティデータに基づいてコードイメージの方向や位置が探索できる。
【００８４】
前述した処理によって求めた各セルのコード値がコード変換表（図３Ｂ参照）によって数字、記号を含む認識可能な文字よりなったコード情報に変換される。もしコードイメージにコード情報を利用して使用できる命令やサービスに関する事項を設定した制御領域があれば、制御領域で設定された情報によって命令やサービスが提供される。そうでない場合には、プログラムで指定された基本サービスが提供されるようにしてもよい。
【００８５】
図１５は、本発明の第３実施形態に関するコード認識装置のブロック図であり、図１６は、図１５に示された装置の動作を説明するためのフローチャートである。図５に示された装置と比較すると、図５の装置は原本イメージに対してあらかじめカラーフィルタによって各ピクセルのカラーを標準カラーに変換した後、イメージ処理を行うのに対して、図１５の装置では原本イメージで目的とするコードイメージ領域を抽出した後、カラーフィルタがコードイメージ領域に属する各ピクセル（またはそのうちから標本抽出されたピクセル）のカラーを環境変数を利用して標準カラーに変換する点で相違する。それ以外の機能や動作は基本的に類似しており、メモリは便宜上、図示されていない。以下では、図５の装置と相違する部分について説明し、残りの説明されていない部分は処理順ないし動作上の問題がない限り相互同一に適用できる。
【００８６】
図１５に示されたコード認識装置はイメージ獲得部１５１でコードイメージが含まれた原本イメージを獲得した後、２進化変換部１５３で原本イメージのカラーまたは濃淡を所定の基準値によって２つのカラーに区分して２進化イメージを生成する。
【００８７】
前処理部１５４は、２進化イメージにおいてコードイメージ部分を除外した部分を特定の背景カラーに設定し、２進化イメージの背景カラーが設定された部分に対応する原本イメージの部分を背景カラーに設定してコードイメージ部分と他の部分とを区分する。特徴点抽出部１５５はコードイメージ部分に含まれた複数のセルを抽出した後、各セルに表示されたカラーまたは濃淡を認識する。
【００８８】
カラーフィルタ１５６は原本イメージを獲得する当時の環境を考慮して環境変数を設定し、コードイメージ部分に含まれた各セルに対して認識されたカラーや濃淡を環境変数によって補正した後、補正されたカラーや濃淡をコードイメージの生成時に使われた複数の標準カラーまたは標準濃淡に変換して標準カラーまたは標準濃淡で表された標準イメージを生成する。
【００８９】
デコーダ１５７は情報を表示するための文字、数字または記号と、それに対応するカラーまたは濃淡との関係によってコードイメージの各セルで認識されたカラーまたは濃淡からそれに対応する文字、数字または記号を抽出してコード情報を生成する。
【００９０】
図１６を参照して図１５に示された装置の動作を説明する。ステップ１６１において、コードイメージが含まれた原本イメージを獲得する。ステップ１６２において、原本イメージのカラーまたは濃淡を所定の基準値によって２つのカラーに区分して２進化イメージを生成する。ステップ１６３において、２進化イメージを基準としてコードイメージ部分を除外した部分を特定の背景カラーに設定する。ステップ１６４において、２進化イメージの背景カラーに設定された部分に対応する原本イメージの部分を背景カラーに設定して、コードイメージ部分をそれ以外の他の部分と区分する。ステップ１６５において、コードイメージ部分に含まれた複数のセルを抽出し、各セルに表示されたカラーまたは濃淡を認識する。そして、ステップ１６６において、原本イメージを獲得する当時の環境を考慮して環境変数を設定し、コードイメージ部分に含まれた各セルにおいて認識されたカラーや濃淡を環境変数によって補正する。ステップ１６７において、補正されたカラーや濃淡をコードイメージの生成時に使われた複数の標準カラーまたは標準濃淡に変換して各セル別カラーや濃淡を認識し、必要であれば、標準カラーまたは標準濃淡で表示された標準イメージを生成する。本実施形態では既に各セルの中心点位置とコード種類とを知っている状態であるので、ただ各セルの中心点を基準として所定のピクセルをサンプル抽出し、これらピクセルに対してのみ環境変数を適用してそのセルに対する標準カラーや標準濃淡を判別するようにできる。そして、そのように判別された各セル別標準カラーや標準濃淡に関するデータをメモリに保存しておき、コード情報生成過程でこれを利用することが望ましい。それによって、標準イメージを生成するのに必要な過程が省略できる。
【００９１】
ステップ１６８において、情報を表示するための文字、数字または記号と、それに対応するカラーまたは濃淡との関係によってコードイメージの各セルで認識されたカラーまたは濃淡からそれに対応する文字、数字または記号を抽出してコード情報を生成する。
【００９２】
本発明の方法はまたコンピュータで読み出せる記録媒体にコンピュータが読み出せるコードとして具現することが可能である。コンピュータが読み出せる記録媒体はコンピュータシステムによって読み出せるデータが保存されるあらゆる種類の記録装置を含む。コンピュータが読み出せる記録媒体の例としては、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピーディスク、光データ保存装置などがあり、また、キャリアウェーブ（例えば、インターネットを通した伝送）の形態で具現されるものも含む。また、コンピュータが読み出せる記録媒体はネットワークに連結されたコンピュータシステムに分散されて、分散方式でコンピュータが読み出せるコードで保存、実行できる。
【産業上の利用可能性】
【００９３】
本発明によるコード認識装置及びその方法によれば、カラーや濃淡で所定の情報が表示されたコードイメージを入力されてそのコードイメージが入力された環境に関係なく正確に元のカラーや濃淡を判別して所望のコード情報が得られる。
【図面の簡単な説明】
【００９４】
【図１Ａ】本発明の実施形態によるコード認識装置のブロック図である。
【図１Ｂ】図１Ａに示された装置の動作を説明するフローチャートである。
【図２Ａ】本コード認識装置の判読対象といえるコードイメージの多様な例を示す図である。
【図２Ｂ】本コード認識装置の判読対象といえるコードイメージの多様な例を示す図である。
【図３Ａ】所定の情報をイメージに変換するのに使われるコード変換表の例を表す図である。
【図３Ｂ】所定の情報をイメージに変換するのに使われるコード変換表の例を表す図である。
【図３Ｃ】所定の情報をイメージに変換するのに使われるコード変換表の例を表す図である。
【図４】コードイメージが実際に名刺に適用された例を示す図である。
【図５】本発明の一実施形態によるコード認識装置のブロック図である。
【図６】図５の装置が動作する過程を説明するフローチャートである。
【図７】原本イメージから白黒イメージを求めた結果を示す図である。
【図８】白黒イメージを基準として雑影を除去する過程を説明する図である。
【図９】コードイメージの各セルに表示された標準カラーを認識する過程を説明するためのフローチャートである。
【図１０】図９の説明に必要な例を示す図である。
【図１１】図９の説明に必要な例を示す図である。
【図１２】図９の説明に必要な例を示す図である。
【図１３】図９の説明に必要な例を示す図である。
【図１４】図９の説明に必要な例を示す図である。
【図１５】本発明の一実施形態によるコード認識装置のブロック図である。
【図１６】図１５に示された装置の動作を説明するためのフローチャートである。
【図１Ａ】
2005509223.tif 000010
【図１Ｂ】
2005509223.tif 000011
【図２Ａ】
2005509223.tif 000012
【図２Ｂ】
2005509223.tif 000013
【図３Ａ】
2005509223.tif 000014
【図３Ｂ】
2005509223.tif 000015
【図３Ｃ】
2005509223.tif 000016
【図４】
2005509223.tif 000017
【図５】
2005509223.tif 000018
【図６】
2005509223.tif 000019
【図７】
2005509223.tif 000020
【図８】
2005509223.tif 000021
【図９】
2005509223.tif 000022
【図１０】
2005509223.tif 000023
【図１１】
2005509223.tif 000024
【図１２】
2005509223.tif 000025
【図１３】
2005509223.tif 000026
【図１４】
2005509223.tif 000027
【図１５】
2005509223.tif 000028
【図１６】
2005509223.tif 000029
【国際調査報告】
2005509223.tif 000030