(57)【特許請求の範囲】
【請求項１】
文字、数字、記号及びイメージのうち少なくとも一つからなる基本情報及び前記基本情報のエラーを訂正するエラー訂正情報を設定し、前記設定した基本情報及びエラー訂正情報をエンコーディングして所定位置にそれぞれ配置した２次元イメージを生成するエンコーディング部と、
前記２次元イメージの基本方向と異なる方向でデコーディングが可能であるか否かを把握するデコーディング把握部と、
前記２次元イメージの基本方向を除外した他の少なくともいずれか一つの方向でデコーディングが可能であり、前記デコーディング結果が、前記基本方向でのデコーディング結果と一致するか、または前記基本方向を除外した他の全ての方向でのデコーディングが不可能であれば、前記２次元イメージを物理的または電子的なイメージコードとして出力するコード生成部と、を備えることを特徴とするイメージコードの生成装置。
【請求項２】
前記デコーディング把握部は、
前記２次元イメージを認識可能なそれぞれの方向に回転するイメージ回転部と、
前記認識可能なそれぞれの方向に回転した前記２次元イメージから基本情報領域及びエラー訂正情報領域に該当するそれぞれのコードを抽出するコード抽出部と、
前記基本情報領域から抽出したコードのエラーがエラー訂正情報領域から抽出したコードに基づいて訂正可能であるか否か、前記それぞれの認識可能な方向ごとに把握するエラー検査部と、を備えることを特徴とする請求項１に記載のイメージコードの生成装置。
【請求項３】
前記基本方向と異なる方向でのデコーディング結果が前記基本方向でのデコーディング結果と異なれば、前記基本方向または前記異なるデコーディング結果が出た方向についての付加情報を前記２次元イメージの一部にエンコーディングする付加情報設定部をさらに備え、
前記コード生成部は、付加情報が含まれたイメージコードを生成することを特徴とする請求項１に記載のイメージコードの生成装置。
【請求項４】
（ａ）文字、数字、記号及びイメージのうち少なくとも一つからなる基本情報及び前記基本情報のエラーを訂正するエラー訂正情報を設定し、前記設定した基本情報及びエラー訂正情報をエンコーディングして所定位置にそれぞれ配置した２次元イメージを生成するステップと、
（ｂ）前記２次元イメージの基本方向と異なる方向でデコーディングが可能であるか否かを把握するステップと、
（ｃ）前記２次元イメージの基本方向を除外した他の少なくともいずれか一つの方向でデコーディングが可能であり、前記デコーディング結果が前記基本方向でのデコーディング結果と一致するか、または前記基本方向を除外した他の全ての方向でのデコーディングが不可能であれば、前記２次元イメージを物理的または電子的なイメージコードとして出力するステップと、を含むことを特徴とするイメージコードの生成方法。
【請求項５】
前記（ｂ）ステップは、
（ｂ１）前記２次元イメージを認識可能なそれぞれの方向に回転するステップと、
（ｂ２）前記認識可能なそれぞれの方向に回転した前記２次元イメージから基本情報領域及びエラー訂正情報領域に該当するそれぞれのコードを抽出するステップと、
（ｂ３）前記基本情報領域から抽出したコードのエラーがエラー訂正情報領域から抽出したコードに基づいて訂正可能であるか否かを前記それぞれの認識可能な方向ごとに把握するステップと、を含むことを特徴とする請求項４に記載のイメージコードの生成方法。
【請求項６】
前記（ｂ）ステップは、前記基本方向と異なる方向でのデコーディング結果が前記基本方向でのデコーディング結果と異なれば、前記基本方向または前記異なるデコーディング結果が出た方向についての付加情報を前記２次元イメージの一部にエンコーディングするステップをさらに含み、
前記（ｃ）ステップは、前記付加情報が含まれたイメージコードを生成するステップを含むことを特徴とする請求項４に記載のイメージコードの生成方法。
【請求項７】
物理的または電子的に表現されたイメージコードであって、基本方向を除外した他の少なくともいずれか一つの方向でデコーディングが可能であり、前記デコーディング結果が、前記基本方向でのデコーディング結果と一致するか、または前記基本方向を除外した他の全ての方向でのデコーディングが不可能であるイメージコードを入力されるコード入力部と、
認識可能なそれぞれの方向で前記イメージコードをデコーディングするデコーディング部と、
前記デコーディング部によってデコーディングされた結果のうち、エラー数が最も少ない方向でデコーディングされた結果を出力する結果選択部と、を備えることを特徴とするイメージコードのデコーディング装置。
【請求項８】
前記イメージコードの形状を特徴付ける特徴点を抽出する特徴点抽出部と、
前記特徴点を通じて前記イメージコードの方向を判別し、前記特徴点を通じて前記イメージコードの方向を判別できない場合、認識可能な全ての方向を把握するコード方向探知部と、をさらに備え、
前記デコーディング部は、前記コード方向探知部によって把握されたイメージコード方向または前記認識可能な全ての方向に対してデコーディングを行うことを特徴とする請求項７に記載のイメージコードのデコーディング装置。
【請求項９】
前記デコーディング部は、それぞれのイメージコード方向から基本情報領域及びエラー訂正情報領域に該当するそれぞれのコードを抽出し、前記エラー訂正情報領域から抽出したコードを利用して、前記基本情報領域から抽出したコードのエラーを訂正することを特徴とする請求項７に記載のイメージコードのデコーディング装置。
【請求項１０】
前記コード入力部は、エラー訂正コードとしてリード−ソロモンコードが適用されたイメージコードを入力されることを特徴とする請求項７に記載のイメージコードのデコーディング装置。
【請求項１１】
前記デコーディング部は、前記イメージコードの方向情報を含む付加情報領域をデコーディングし、
前記結果選択部は、前記付加情報を通じて把握した前記イメージコードの方向でデコーディングされた結果を出力することを特徴とする請求項７に記載のイメージコードのデコーディング装置。
【請求項１２】
前記デコーディング部は、リード−ソロモンのイレイザ訂正機能を利用して前記イメージコードをデコーディングすることを特徴とする請求項７に記載のイメージコードのデコーディング装置。
【請求項１３】
（ａ）物理的または電子的に表現されたイメージコードであって、基本方向を除外した他の少なくともいずれか一つの方向でデコーディングが可能であり、前記デコーディング結果が、前記基本方向でのデコーディング結果と一致するか、または前記基本方向を除外した他の全ての方向でのデコーディングが不可能であるイメージコードを入力されるステップと、
（ｂ）認識可能なそれぞれの方向で前記イメージコードをデコーディングするステップと、
（ｃ）前記それぞれの方向でデコーディングされた結果のうち、エラー数が最も少ない方向でデコーディングされた結果を出力するステップと、を含むことを特徴とするイメージコードのデコーディング方法。
【請求項１４】
前記（ｂ）ステップは、
（ｂ１）前記イメージコードの形状を特徴付ける特徴点を抽出するステップと、
（ｂ２）前記特徴点を通じて前記イメージコードの方向を判別し、前記特徴点を通じて前記イメージコードの方向を判別できない場合、認識可能な全ての方向を把握するステップと、
（ｂ３）前記把握されたイメージコード方向または前記認識可能な全ての方向に対してデコーディングを行うステップと、を含むことを特徴とする請求項１３に記載のイメージコードのデコーディング方法。
【請求項１５】
前記（ｂ）ステップは、
前記それぞれのイメージコード方向で基本情報領域及びエラー訂正情報領域に該当するそれぞれのコードを抽出し、前記エラー訂正情報領域から抽出したコードを利用して、前記基本情報領域から抽出したコードのエラーを訂正するステップを含むことを特徴とする請求項１３に記載のイメージコードのデコーディング方法。
【請求項１６】
前記イメージコードは、エラー訂正コードとしてリード−ソロモンコードが適用されたイメージコードであることを特徴とする請求項１３に記載のイメージコードのデコーディング方法。
【請求項１７】
前記（ｂ）ステップは、前記イメージコードの方向情報を含む付加情報領域をデコーディングするステップを含み、
前記（ｃ）ステップは、前記付加情報を通じて把握した前記イメージコードの方向でデコーディングされた結果を出力するステップを含むことを特徴とする請求項１３に記載のイメージコードのデコーディング方法。
【請求項１８】
前記（ｂ）ステップは、
リード−ソロモンのイレイザ訂正機能を利用して前記イメージコードをデコーディングするステップを含むことを特徴とする請求項１３に記載のイメージコードのデコーディング方法。
【請求項１９】
請求項４乃至６のうち何れか１項または請求項１３乃至１８のうち何れか１項に記載の方法の各ステップをコンピュータに実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イメージコードを生成してデコーディングする装置及びその方法に係り、さらに詳細には、方向探知パターンなどのオーバーヘッドなしにまたは最小限のオーバーヘッドで方向を探知可能にするイメージコードを生成する装置及び方法とそのイメージコードをデコーディングする装置及び方法に関する。
【背景技術】
【０００２】
１次元バーコードや２次元イメージコードをカメラやスキャナーで認識して、コードに該当するサービスを提供する方法が活発に研究されている。最近、ユビキタスコンピュータ環境の渡来によって、物体に固有番号を付与し、それを認識するための手段としてイメージコード及びＲＦＩＤ（ＲａｄｉｏＦｒｅｑｕｅｎｃｙ ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）タグが利用されている。このうち、イメージコードは、量産が可能であり、生産コストが低く、かつ携帯電話のカメラのような汎用装備によって認識できるために注目されている。
【０００３】
イメージコードの認識のために一般的に物理的な媒体に印刷されたコードイメージの探索と探索したイメージ内の各セルやパターンの認識、情報及びエラー訂正情報の抽出などのデコーディングステップを行う。
【０００４】
イメージコードは、カメラを通じて入力される映像で探さねばならないので、イメージコードであることを認識できる特定のパターンがイメージコード内に適用されている。例えば、１次元バーコードの場合にガードバーパターンを利用して、２次元バーコードの場合に探知パターンを利用して、イメージコードの回転角度、イメージコードの形状を認識可能にする。このようなパターンの抽出を通じてデコーディングを行う。
【０００５】
特に、代表的な２次元イメージコードであるＱＲ（ＱｕｉｃｋＲｅｓｐｏｎｓｅ）コードの場合には、三つの角部に位置した大きい四角形のファインダーパターンが適用され、Ｄａｔａ Ｍａｔｒｉｘコードには、四角形コードの左側及び下側の角部に位置した二つの隣接した太いバーが適用され、Ｍａｘｉｃｏｄｅには、中央に位置したブルアイという特異なパターンが適用され、ＰＤＦ４１７には、バーコードと類似したパターンが適用される。
【０００６】
それぞれのコードに適用された特定パターンは、形態及びサイズが何れも異なり、それぞれ長短所があるが、コード領域内に一定のオーバーヘッドに追加されねばならないという共通的な短所がある。オーバーヘッドを減らすために、点のような非常に小さいオーバーヘッドを追加する方式を考えることもあるが、その点が損傷／損失される時には、コードの方向を探知できず、逆に、オーバーヘッドを大きくして方向探知特性を向上させれば、コード比率（情報量／全体領域）が低下して非効率的になる。
【０００７】
一旦、イメージコードの領域が抽出され、方向が分かれば、エラー処理方式（例えば、パリティー方式、チェックサム、ＣＲＣ（ＣｙｃｌｉｃＲｅｄｕｎｄａｎｃｙ Ｃｈｅｃｋ）など）によってデコーディングを行って情報を安全に抽出する。一般的に、二次元コードは、リード−ソロモンアルゴリズムを利用してエンコーディングしてエラーに対する抵抗性を高める。また、ＢＣＨ（ＢｏｓｅＣｈａｕｄｈｕｒｉ Ｈｏｃｑｕｅｎｇｈｅｍ）アルゴリズムが付加的に利用されることもある。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明が解決しようとする技術的課題は、方向探知パターンなどのオーバーヘッドなしにまたはオーバーヘッドを最小化しつつ方向が探知可能なイメージコードを生成する装置及びその方法を提供することである。
【０００９】
本発明が解決しようとする他の技術的課題は、エラー訂正技法を利用して方向探知パターンなどのオーバーヘッドがないか、またはオーバーヘッドが最小化されたイメージコードをデコーディングする装置及びその方法を提供することである。
【００１０】
本発明が解決しようとするさらに他の技術的課題は、イメージコードの生成及びデコーディング方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供することである。
【課題を解決するための手段】
【００１１】
前記課題を達成するための本発明によるイメージコードの生成装置の一実施形態は、文字、数字、記号及びイメージのうち少なくとも一つからなる基本情報及び前記基本情報のエラーを訂正するエラー訂正情報を設定し、前記設定した基本情報及びエラー訂正情報をエンコーディングして所定位置にそれぞれ配置した２次元イメージを生成するエンコーディング部と、前記２次元イメージの基本方向と異なる方向でデコーディングが可能であるか否かを把握するデコーディング把握部と、前記２次元イメージの基本方向を除外した他の少なくともいずれか一つの方向でデコーディングが可能であり、前記デコーディング結果が、前記基本方向でのデコーディング結果と一致するか、または前記基本方向を除外した他の全ての方向でのデコーディングが不可能であれば、前記２次元イメージを物理的または電子的なイメージコードとして出力するコード生成部と、を備える。
【００１２】
前記他の課題を達成するための本発明によるイメージコードの生成方法の一実施形態は、（ａ）文字、数字、記号及びイメージのうち少なくとも一つからなる基本情報及び前記基本情報のエラーを訂正するエラー訂正情報を設定し、前記設定した基本情報及びエラー訂正情報をエンコーディングして所定位置にそれぞれ配置した２次元イメージを生成するステップと、（ｂ）前記２次元イメージの基本方向と異なる方向でデコーディングが可能であるか否かを把握するステップと、（ｃ）前記２次元イメージの基本方向を除外した他の少なくともいずれか一つの方向でデコーディングが可能であり、前記デコーディング結果が、前記基本方向でのデコーディング結果と一致するか、または前記基本方向を除外した他の全ての方向でのデコーディングが不可能であれば、前記２次元イメージを物理的または電子的なイメージコードとして出力するステップと、を含む。
【００１３】
前記さらに他の課題を達成するための本発明によるイメージコードのデコーディング装置の一実施形態は、物理的または電子的に表現されたイメージコードであって、基本方向を除外した他の少なくともいずれか一つの方向でデコーディングが可能であり、前記デコーディング結果が、前記基本方向でのデコーディング結果と一致するか、または前記基本方向を除外した他の全ての方向でのデコーディングが不可能であるイメージコードを入力されるコード入力部と、認識可能なそれぞれの方向で前記イメージコードをデコーディングするデコーディング部と、前記デコーディング部によってデコーディングされた結果のうち、エラー数が最も少ない方向でデコーディングされた結果を出力する結果選択部と、を備える。
【００１４】
前記さらに他の課題を達成するための本発明によるイメージコードのデコーディング方法の一実施形態は、（ａ）物理的または電子的に表現されたイメージコードであって、基本方向を除外した他の少なくともいずれか一つの方向でデコーディングが可能であり、前記デコーディング結果が、前記基本方向でのデコーディング結果と一致するか、または前記基本方向を除外した他の全ての方向でのデコーディングが不可能であるイメージコードを入力されるステップと、（ｂ）認識可能なそれぞれの方向で前記イメージコードをデコーディングするステップと、（ｃ）前記それぞれの方向でデコーディングされた結果のうち、エラー数が最も少ない方向でデコーディングされた結果を出力するステップと、を含む。
【発明の効果】
【００１５】
従来のエラー訂正コードを利用した２次元コードは、コードイメージの方向探知のために追加的なロジックのオーバーヘッドを追加したが、本発明では、リード−ソロモンコードの特徴を活用して、その自体で回転方向を探知し、コードの情報量を増す。また、誤認識された場合には、エラーが発生した部分をイレイザ情報として処理することによって、デコーディングを可能にできて認識性能が向上する。
【発明を実施するための最良の形態】
【００１６】
以下、添付された図面を参照して本発明によるイメージコードの生成方法及びその装置とイメージコードのデコーディング方法及びその装置について詳細に説明する。
【００１７】
図１は、本発明によるイメージコードの生成装置の一実施形態の構成を示す図面である。
【００１８】
図１を参照すれば、イメージコードの生成装置は、エンコーディング部１００、デコーディング把握部１１０、コード生成部１２０及び付加情報設定部１３０を備える。デコーディング把握部１１０はまた、イメージ回転部１１２、コード抽出部１１４及びエラー検査部１１６で構成される。
【００１９】
エンコーディング部１００は、文字、数字、記号及びイメージのうち少なくとも一つからなる基本情報及び前記基本情報のエラーを訂正するエラー訂正情報を設定し、設定した基本情報及びエラー訂正情報をエンコーディングして、それぞれ基本情報領域及びエラー訂正情報領域に配置した２次元イメージを生成する。
【００２０】
基本情報領域は、イメージコードを構成するイメージの一定領域に位置し、エンコーディング部１００は、基本情報を色相、濃淡、輝度、図形、パターンまたはこれらの組合わせからなるコードに変換して表示する。すなわち、基本情報は、文字、数字、記号、特殊文字、イメージで表示される内容であって、これは、所定のコード表によって色相、濃淡、輝度、図形、パターンまたはこれらの組合わせに変換されて基本情報領域に表示される。
【００２１】
エラー訂正情報領域は、イメージコードで基本情報領域と分離または重畳されて位置し、エンコーディング部１００は、エラー訂正情報を色相、濃淡、輝度、図形、パターン、マーク、記号またはこれらの組合わせからなるコードに変換して表示する。
【００２２】
本発明によるイメージコードは、基本情報領域、エラー訂正情報領域以外に、必要に応じて付加情報領域をさらに備えうる。基本情報領域及びエラー訂正情報領域が重畳されて表示される混合コードについての詳細な説明は、韓国特許出願第２００５−２５２３９に記載の“混合コードと混合コードエンコーディング方法及び装置”と韓国特許出願第２００５−２５２４０号に記載の“混合コードデコーディング方法及びその装置”とに記述されている。
【００２３】
イメージコードに各セルを配置する場合には、イメージコードをカメラを通じて認識するとき、認識効率の良好な配置方案を講ずべきである。一般的に、エラー訂正情報をエンコーディングしたエラー訂正コードは、セル単位で２次元イメージに配置され、デコーディングは、シンボル（通常、８ｂｉｔ、１ｂｙｔｅ）単位で処理されるので、これにより、エラー訂正能力は、復元できるシンボルの数で表現される。すなわち、エンコーディング時に多様な設計方法があり、それにより色々な性能の向上をもたらせる。
【００２４】
また、カラーコードの使用時、セル当たりビット数もエンコーディング時に重要な要素となる。図３Ｂに示したイメージコードのように、基本情報が４個のシンボル（各シンボルは、４個のセルで構成）であり、エラー訂正情報が２個のシンボルであり、リード−ソロモンコードを使用する場合、エラー訂正情報でエラー訂正できるシンボルの数は、１個である。リード−ソロモンコードのパラメータについては、図７Ａに示されている。
【００２５】
エンコーディング部１００によって基本情報及びエラー訂正情報が配置される方法の例は、図４に示されている。エラー訂正能力を向上させつつ正方形を維持するように設計すれば、図４Ａのように総９個のシンボルのうちでエラー訂正シンボルが４個であるコード（９,５）となり、エラー訂正能力は、２となる。図４Ｂの場合は、（１２,４）コードとなって、エラー訂正能力が４となる。
【００２６】
図３Ｂの（６,４）コードは、垂直方向にエラーが発生するとき、水平方向よりエラーに対する抵抗性が劣る。したがって、シンボルを縛る時に図４Ａ及び図４Ｂのように正方形に縛れば、水平／垂直方向でエラーに対する抵抗性が同一となる。
【００２７】
イメージコードをカメラを通じて認識するとき、イメージコードの外郭線部分にデータ歪曲が多く発生するので、図４Ｃのようにシンボルを縛れば、図４Ａに比べて外郭に接するシンボルの数を８個から５個に減らすことができて、環境的なエラー要因を除去できる。
【００２８】
デコーディング把握部１１０は、エンコーディング部によって生成された２次元イメージを他の方向でデコーディングした場合、デコーディングが可能であるか否かを把握する。
【００２９】
具体的に、イメージ回転部１１２は、エンコーディング部１００によって生成された２次元イメージの基本方向以外に認識可能な他の方向へ２次元イメージを回転する。例えば、５×５セルで構成された四角形の２次元イメージの場合、基本方向以外に９０度、１８０度及び２７０度回転した方向で認識されうる。
【００３０】
コード抽出部１１４は、回転した２次元イメージで基本情報領域及びエラー訂正情報領域に該当するコードをそれぞれ抽出する。例えば、５×５セルの２次元イメージで左上側の４×４セルが基本情報領域であり、右側及び下側の１×４、４×１セルがそれぞれエラー訂正情報領域である場合（図３Ｂ参照）、コード抽出部１１４は、２次元イメージのデコーディングのために左上側の基本情報領域及び右側及び下側のエラー訂正情報領域に位置したコードを抽出する。
【００３１】
しかし、２次元イメージが回転された方向で基本情報領域及びエラー訂正情報領域に位置したコードを抽出すれば、元来のコード値ではない異常のコードが抽出されてデコーディングが不可能であるが、異常の値でデコーディングされる場合も発生する。
【００３２】
したがって、エラー検査部１１６は、コード抽出部１１４によって２次元イメージの基本方向ではない他の方向で抽出されたコードがデコーディング可能であるか否かを把握する。特に、２次元イメージは、エラー訂正情報を含むので、エラー検査部１１４は、基本情報領域から抽出したエラーのあるコードが、エラー訂正情報領域から抽出したコードを通じてエラー訂正されるか否かを把握する。例えば、“ｗｗｗ.ｃｏｌｏｒｚｉｐ.ｃｏｍ”という情報を基本情報領域にエンコーディングしたが、エンコーディングした基本方向ではない他の方向でデコーディングされた結果が、エラー訂正コードを通じて訂正されて“３３”のように任意の値となりうる。
【００３３】
整理すれば、基本情報及びエラー訂正情報を所定の位置に配置した２次元イメージは、１）基本方向以外の他の全ての方向でデコーディングが不可能な場合、２）基本方向以外の少なくとも何れか一方向でデコーディングが可能であり、デコーディング値が元来の基本情報と異なる場合、３）基本方向以外の少なくとも何れか一方向でデコーディングが可能であり、デコーディング値が元来の基本情報と同じ場合に分けうる。
【００３４】
コード生成部１２０は、エラー検査部１１６によって基本方向ではない他の全ての方向でデコーディングが不可能（すなわち、エラー訂正情報領域から抽出したコードを通じてもエラー訂正が不可能な場合）である場合及び基本方向以外の少なくとも何れか一方向でデコーディングが可能であり、そのデコーディング値が元来の基本情報と同じである場合に、２次元イメージを物理的または電子的イメージコードとして生成して出力する。
【００３５】
付加情報設定部１３０は、基本方向以外の何れか一方向でのデコーディング値が元来の基本情報と異なる場合に、２次元イメージの方向についての情報を２次元イメージの付加情報セルを通じて表すか、またはイメージコードを構成するセルの配置技法を通じて付加的に表現する。
【００３６】
付加情報設定部１３０によって付加情報が設定された場合、コード生成部１２０は、付加情報セルを含むイメージコードを生成して出力する。
【００３７】
付加情報セルを通じて付加情報を表示する一実施形態は、図２に示されている。付加情報設定部１３０は、付加情報セルにイメージコードの基準方向を特定の色相やパターン、図形、文字で表現するか、または回転時に誤ったコード値が出る回転方向を表示する。
【００３８】
コード内的に付加情報を表現する場合には、付加情報設定部１３０は、２次元イメージに配置された文字の方向を利用するか、または基本情報及びエラー訂正情報セルの配置順序を利用してイメージコードの方向情報を表現する。基本情報及びエラー訂正情報のセルの配置順序によって表現する場合には、他の配置方法によってはデコーディングされず、所定の配置方法によってただ一つのコード値のみが出るように設定する。図３Ａは、本発明によるイメージコードの一実施形態を示す図面である。
【００３９】
図５は、本発明によるイメージコードの生成方法の一実施形態の流れを示すフローチャートである。
【００４０】
図５を参照すれば、まず基本情報及びエラー訂正情報をエンコーディングして２次元イメージを生成する（Ｓ５００）。具体的には、基本情報及びエラー訂正情報を基本情報領域及びエラー訂正情報領域に所定の配置方法によって整列して２次元イメージを生成する。
【００４１】
２次元イメージの基本方向と異なる方向でデコーディングが可能であるか否かを把握する（Ｓ５１０）。具体的には、２次元イメージの基本方向以外に認識可能な他の方向に回転して基本情報領域及びエラー訂正情報領域を設定し、設定された基本情報領域及びエラー訂正情報領域からコードを抽出して新たな基本情報及び新たなエラー訂正情報と設定する。そして、新たに設定された基本情報及びエラー訂正情報に基づいてデコーディングしてエラーを検査し、そのエラーがエラー訂正可能容量を超過してデコーディングが可能であるか否かを判別する。
【００４２】
デコーディングの可能如何を基本方向以外のデコーディング可能な他の全ての方向に対して実施する。このとき、何れか一方向でデコーディングが可能であれば、デコーディング値が元来の基本情報と同一であるか否かを把握する。
【００４３】
基本方向を除外した他の全ての方向でデコーディングが不可能であるか、またはデコーディングが可能であっても、基本情報と同じである場合には、２次元イメージを物理的または電子的イメージコードとして生成して出力する（Ｓ５２０）。
【００４４】
もし、基本方向以外の所定方向のデコーディング値が基本情報と異なれば、付加情報を設定し、設定された付加情報を付加情報セルに配置するか、または基本情報及びエラー訂正情報のセル単位を再配置して付加情報を含める。付加情報は、イメージコードが回転された時にデコーディングされる結果値が２つ以上である場合に設定され、本来の基本情報ではない他の情報がデコーディングされる場合、これを補正するためのものである。そして、付加情報セルを含むイメージコードを生成して出力する。
【００４５】
イメージコードを容易に認識できるように必要な場合、イメージコードの生成時に白色または色相化された剰余余白を設定する。
【００４６】
図６は、本発明によるイメージコードのデコーディング装置の一実施形態の構成を示す図面である。
【００４７】
図６を参照すれば、イメージコードのデコーディング装置は、コード入力部６００、特徴点抽出部６１０、コード方向探知部６２０、デコーディング部６３０及び結果選択部６４０で構成される。
【００４８】
コード入力部６００は、スキャナー、カメラなどの映像入力装置を通じて物理的に表現されたイメージコードを入力されるが、またはオンラインを通じて電子的に表現されたイメージコードを入力される。
【００４９】
特徴点抽出部６１０は、入力されたイメージコードで特徴点を抽出する。特徴点は、イメージコードの形状を特徴付けるものであって、例えば、三角形、四角形などの場合、それぞれの頂点が特徴点となる。
【００５０】
コード方向探知部６２０は、抽出された特徴点を基礎として入力されたイメージコードの方向を探知する。また、コード方向探知部６２０は、抽出された特徴点を通じてイメージコードの方向を探知できない場合、現在の角度を０度に設定し、イメージコードのデコーディング可能方向を把握する。例えば、イメージコードが三角形である場合、イメージコードの方向は、０度、１２０度及び２４０度方向の三方向が存在し、四角形である場合、０度、９０度、１８０度及び２７０度の４方向が存在する。
【００５１】
デコーディング部６３０は、コード方向探知部６２０によってイメージコードの特定方向が探知されれば、その方向でデコーディングを行い、イメージコードの方向を特定できなければ、デコーディング可能なすべての方向に対してデコーディングを行う。
【００５２】
具体的に、デコーディング部６３０は、それぞれの方向で基本情報領域及びエラー訂正情報領域に該当するコードを抽出し、基本情報領域から抽出したコードのデコーディング時にエラーが発生すれば、エラー訂正情報領域から抽出したコードを利用してエラーを訂正してデコーディングする。
【００５３】
結果選択部６４０は、デコーディングされる方向が一つならば、これをデコーディング値として出力し、デコーディングされる方向が二つ以上ならば、エラー数が最も少ないデコーディング値を選択して出力する。もし、イメージコードが付加情報セルを含む場合ならば、結果選択部６４０は、付加情報を利用してイメージコードの方向を把握し、その方向でデコーディングされた結果を出力する。
【００５４】
そして、デコーディングされた結果を利用してアプリケーション（インターネット接続、文字出力）を適用する。
【００５５】
以下、本発明によるイメージコードのエラー訂正コードとしてリード−ソロモンコードを使用した場合について詳細に説明する。
【００５６】
デコーディング時に前処理ステップでイメージコードの外郭が抽出され、四角形態が認識されて、その内部セルの値が読み取られる。このとき、イメージコードは、マトリックス状であるので、デコーディング時に読み取られたイメージコードが回転されていないイメージコードであるか、９０度、１８０度、２７０度回転されたイメージコードであるか分からない。このために、本発明による一実施形態は、リード−ソロモンアルゴリズムの特性を利用する。エラー訂正コードとしてリード−ソロモンコードを適用する場合以外に、一般的に白黒のイメージコードにＢＣＨ、ハミングコード、ターボコードのような技法を使用できる。
【００５７】
図７Ａは、リード−ソロモンパラメータを示す図面である。図７Ａを参照すれば、
ｎ：シンボルの数であって、通常の場合、１シンボルは８ビット、すなわち、１バイトで構成される。ｎは、基本情報及びエラー訂正情報のシンボル数の和である。
ｋ：基本情報のシンボル数である。
ｔ：エラー訂正の可能なシンボルの数である。したがって、エラー訂正情報は、エラー訂正の可能な数の２倍のシンボルからなる。
【００５８】
図７Ｂは、リード−ソロモンコードを利用したイメージコードを示す図面である。
【００５９】
図７Ｂを参照すれば、イメージコードは、５×５セルを含み、リード−ソロモンパラメータ（６,４）であって、ｎ＝６ｂｙｔｅ（全体シンボル）であり、ｋ＝４ｂｙｔｅ（基本情報シンボル）であり、コードセルの拡張が可能である。図７Ｂの右側下段のセルは、予約セルであって、本発明による付加情報を表示するためのセルとして使われるか、または他の情報を保存するためのセルとして使われうる。
【００６０】
図７Ｂのイメージコードのエラー訂正能力ｔは、一シンボルのサイズである１バイト（８ビット）である。現在のイメージコード方向でデコーディングする時に、リード−ソロモンのエラー処理能力ｔ内にエラーが存在すれば、エラーを検出／訂正しつつ、現在の方向を基本方向と確定してデコーディング結果を出力する。もし、デコーディング時に存在するエラーがエラー処理能力ｔを超えれば、イメージコードの方向を９０度に変更し、デコーディング時に発生するエラーがエラー処理能力ｔ内であるか否か再び検査する。
【００６１】
このような方法で１８０度及び２７０度に適用すれば、４回のうち１回でエラー処理能力ｔ内でデコーディングが可能な場合が発生し、この場合がイメージコードの方向であるということが分かる。
【００６２】
図７Ｃは、リード−ソロモンコードを利用したイメージコードをデコーディングする方法の一実施形態の流れを示すフローチャートである。
【００６３】
図７Ｂのイメージコードに基づいて説明すれば、現在のイメージコード方向を０度に設定し（Ｓ７００）、基本情報のシンボル、すなわちコードワードを計算した後（Ｓ７１０）、リード−ソロモンのための初期化を行う（Ｓ７２０）。デコーディング時にエラーの有無をシンドロームでチェックし（Ｓ７３０）、シンドロームが０でなければ（Ｓ７４０）、イメージコードを回転した後（Ｓ７７０、Ｓ７８０）、再びシンドロームをチェックする（Ｓ７３０）。このような方式でシンドロームが０となる場合（Ｓ７４０）には、エラーを訂正して（Ｓ７５０）コードのデコーディングが可能であるか否かを把握する（Ｓ７６０）。デコーディングが不可能であれば、再びイメージコードを回転した後に前記過程を再び行う。
【００６４】
図７Ｂのイメージコードでは、最悪の場合、図７Ｃに示された過程を４回反復して行う（０度、９０度、１８０度、２７０度）。しかし、さらに速く、かつ正確性及び認識速度の性能向上のために、次のような方式を併行すれば、方向探知能力をさらに強化させうる。
（１）リード−ソロモン因子であるｔ値を増加させれば、すなわち、エラー訂正情報の量を増大させれば、方向の回転時にデコーディング値の唯一性が高まるので、方向探知を非常に強化しうる。
（２）カラーコードの使用時には、コードに使用しない第３の色を適用した付加情報セルを使用して方向探知能力を強化しうる。
（３）イメージコードを設計するとき、正方形ではない矩形など、コードの形状を変形すれば、方向探知能力を強化しうる。
【００６５】
次いで、本発明によるデコーディング時にエラー訂正能力を向上させる方法について説明する。図８は、白色のイレイザ情報が含まれたメモリ上のカラーコードであって、誤って認識されたカラーコードの一例を示す図面である。
【００６６】
カラーコードは、カラーの恒常性問題のために色認識の困難さがあって、２次元コードでは、ほとんど白黒コードが使われてきた。色認識の困難さを克服するために、本発明では、リード−ソロモンのイレイザ（位置を知っているエラー）訂正性能を利用する。リード−ソロモンのイレイザは、色認識が誤っている時にイレイザでマークして、デコーディング時にこれを解決することによって、色認識の問題を解決するのに多くの助けを与える。
【００６７】
前記では、エラー訂正能力ｔを説明する時に、単純にエラー（あるいは誤り）としたが、厳密には、エラーは、エラー位置の分からないランダムエラーｖとエラー位置がわかっているエラーｅとに分けられ、エラー位置がわかっているエラーｅが、すなわちイレイザである。数式に整理すれば、次の通りである。
【００６８】
【数１】
0004410231.tif 000002
【００６９】
リード−ソロモンのイレイザ機能をデコーディング時に活用すれば、一般的なランダムエラーｖの場合の２倍ほどのイレイザｅを解決しうる。図７Ｂのイメージコードが図８のように２個のシンボル領域でセル色相が誤って認識されたとすれば、すなわち、カラーコードに使われていない白色が２個のシンボル領域（６個のセル）にマッピングされた時、認識ステップで失敗処理するのではなく、一旦、イレイザで表示し、リード−ソロモンのデコーディングを進める。
【００７０】
色の誤認識は、カラーのイメージコードを認識する時に頻繁に起こりうるが、カメラに照明の反射によってコードイメージの一部が損傷されるか、またはインクや染料、斑、ホコリなどでセルの情報を正しく認識できない場合に発生する。
【００７１】
（６,４）コードでは、２個までイレイザが直されうるので、図８のイメージコードは、元来色に復元されうる。もちろん、コードのイレイザの限界を逸脱すれば、デコーディングされないため、そのような場合には、このアルゴリズムを適用できない。
【００７２】
このように、リード−ソロモンのイレイザ機能を利用すれば、エラー訂正能力が１シンボルであっても、イレイザによっては２シンボルまで復元されうるという長所がある。イレイザを利用すれば、色相の判別やパターン抽出から誤認識される部分を順次にイレイザでマッピングして処理する場合、エラー訂正の場合より２倍のエラーを復元して、デコーディングが可能になる。
【００７３】
従来の白黒の２次元コードでは、リード−ソロモンのイレイザ機能を、主にコード領域の損傷（斑、スクラッチなど）に対して主に使用し、無彩色である白黒カラーの認識は、大きい困難さがないため、このような考慮をしなかったが、色相やパターン認識である場合には、非常に重要な要素となる。
【００７４】
図９は、本発明によるイメージコードのデコーディング方法の一実施形態の流れを示すフローチャートである。
【００７５】
図９を参照すれば、イメージコードのデコーディング装置は、イメージコードを入力された後（Ｓ９００）、イメージコードから特徴点を抽出する（Ｓ９１０）。抽出した特徴点からイメージコードの方向を探知する（Ｓ９２０）。特徴点でイメージ方向を探知した場合には、その探知した方向に対してのみデコーディングを行い、特徴点のみでイメージコードの方向を探知できない場合には、デコーディングの可能な全ての方向に対してデコーディングを行う（Ｓ９３０）。そして、デコーディング結果のうちからエラーが最も少ないデコーディング結果を出力する（Ｓ９４０）。
【００７６】
本発明はまた、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取られるデータが保存される全ての種類の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピー(登録商標)ディスク、光データ保存装置などがあり、またキャリアウェーブ（例えば、インターネットを通じた伝送）状に具現されるものも含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散されて、分散方式でコンピュータで読み取り可能なコードが保存されかつ実行されうる。
【００７７】
以上、本発明についてその望ましい実施形態を中心に説明した。当業者は、本発明が、本発明の本質的な特性から逸脱しない範囲で変形された形態で具現されうるということが理解できるであろう。したがって、開示された実施形態は、限定的な観点ではなく、説明的な観点で考慮されねばならない。本発明の範囲は、前述した説明ではなく、特許請求の範囲に現れており、それと同等な範囲内にある全ての差異点は、本発明に含まれていると解釈されねばならない。
【産業上の利用可能性】
【００７８】
本発明は、イメージコード関連の技術分野に好適に適用可能である。
【図面の簡単な説明】
【００７９】
【図１】本発明によるイメージコードの生成装置の一実施形態の構成を示す図面である。
【図２】付加情報セルを通じて付加情報を表示する一実施形態を示す図面である。
【図３Ａ】本発明によるイメージコードの一実施形態を示す図面である。
【図３Ｂ】本発明によるイメージコードの一実施形態を示す図面である。
【図４Ａ】イメージコードにコードを配置する方法の例を示す図面である。
【図４Ｂ】イメージコードにコードを配置する方法の例を示す図面である。
【図４Ｃ】イメージコードにコードを配置する方法の例を示す図面である。
【図５】本発明によるイメージコードの生成方法の一実施形態の流れを示すフローチャートである。
【図６】本発明によるイメージコードのデコーディング装置の一実施形態の構成を示す図面である。
【図７Ａ】リード−ソロモンコードのパラメータを示す図面である。
【図７Ｂ】リード−ソロモンコードを利用したイメージコードを示す図面である。
【図７Ｃ】リード−ソロモンコードを利用したイメージコードをデコーディングする方法の一実施形態の流れを示すフローチャートである。
【図８】白色のイレイザ情報が含まれたメモリ上のカラーコードであって、誤って認識されたカラーコードの一例を示す図面である。
【図９】本発明によるイメージコードのデコーディング方法の一実施形態の流れを示すフローチャートである。
【符号の説明】
【００８０】
１００    エンコーディング部
１１０    デコーディング把握部
１１２    イメージ回転部
１１４    コード抽出部
１１６    エラー検査部
１２０    コード生成部
１３０    付加情報設定部
【図１】
0004410231.tif 000003
【図２】
0004410231.tif 000004
【図３Ａ】
0004410231.tif 000005
【図３Ｂ】
0004410231.tif 000006
【図４Ａ】
0004410231.tif 000007
【図４Ｂ】
0004410231.tif 000008
【図４Ｃ】
0004410231.tif 000009
【図５】
0004410231.tif 000010
【図６】
0004410231.tif 000011
【図７Ａ】
0004410231.tif 000012
【図７Ｂ】
0004410231.tif 000013
【図７Ｃ】
0004410231.tif 000014
【図８】
0004410231.tif 000015
【図９】
0004410231.tif 000016