(57)【要約】  本願は、二次元コード誤り訂正復号化方法、装置、及びコンピュータ読み取り可能媒体を提供する。一つの示例において、二次元コード画像を前処理して、復号化に適用されるデータコードワードを得て（Ｓ１１）、前記データコードワードに基づいて最適なパラメーターマッチングを行って、相応の補間の重度を得て、前記補間の重度に基づいて補間を行って、二変量多項式を立てて（Ｓ１２）、二変量多項式に応じて最適情報多項式を得て、且つそれを情報コードワードとして（Ｓ１３）、前記情報コードワードに基づいてデータデコーディングを行って、前記二次元コード画像に対応するオリジナル情報を得る（Ｓ１４）。
2020537363.tif 000002
【特許請求の範囲】
【請求項１】
二次元コード画像を前処理して復号化に適用されるデータコードワードを得ること、
前記データコードワードに基づいて最適なパラメーターマッチングを行って相応の補間の重度を得ること、
前記補間の重度に基づいて補間を行って二変量多項式を立てること、
前記二変量多項式に基づいて情報コードワードを得ること、
前記情報コードワードに基づいてデータデコーディングを行って前記二次元コード画像に対応するオリジナル情報を得ること、
を含む二次元コード誤り訂正復号化方法。
【請求項２】
前記二次元コード画像を前処理するのは、
前記二次元コード画像における暗いブロックと明るいブロックを認識すること、
前記二次元コード画像についてフォーマット情報を復号化すること、
前記二次元コード画像のバージョンを確定すること、
前記二次元コード画像のマスクを除去すること、
前記二次元コード画像のデータコードワードと誤り訂正コードワードを復元すること、
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
復元された前記データコードワードに基づいて前記二次元コード画像に対して情報セキュリティ検証を行うことを更に含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記情報セキュリティ検証は、
復元された前記データコードワードに基づいて前記データコードワードがフォーマット情報とバージョン情報に該当するかどうかを判定して、
若し該当すれば、復号化に適用される前記データコードワードを得ること、
若し該当すければ、復元されたデータコードワードはフォーマット情報やバージョン情報に該当するまでに前記二次元コード画像を引き続き前処理すること
ことを特徴とする請求項３に記載の方法。
【請求項５】
前記データコードワードに基づいて最適なパラメーターマッチングをするのは、
前記データコードワードにおける情報コードワード重み和誤り訂正コードワード重みに基づいて初期変数を重設定し、且つ
フィットやイテレーションにより前記初期変数を更新すること、
を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記補間の重度に基づいて補間を行うのは、
前記二変量多項式の初期補間点をカスタムして、且つ
改善されたＫｏｔｔｅｒ補間アルゴリズムを利用して前記補間の重度と組み合わせて、重み付き辞書逆順テーブルに基づいて各補間点で補間を少なくともＭ回行って、そのうち、Ｍ為前記補間の重度である
ことを特徴とする請求項１に記載の方法。
【請求項７】
前記二変量多項式に基づいて得られた前記情報コードワードは、
前記二変量多項式に対して因数分解をして単変量多項式セットを得ること、
前記単変量多項式セットで選別をして、最適情報多項式を得ること、
前記最適情報多項式を前記情報コードワードとすること、
ことを特徴とする請求項１に記載の方法。
【請求項８】
前記単変量多項式セットで選別をして前記最適情報多項式を得るのは、
前記単変量多項式セットにおける単変量多項式についてエンコードを改めて行って、中間コードワードを得ること、
前記中間コードワードと前記データコードワードとを比較して、ハミング距離が一番小さい前記中間コードワードに対応する単変量多項式を前記最適情報多項式として選出すること、
を含むことを特徴とする請求項７に記載の方法。
【請求項９】
プロセッサーやマシン読み取り可能記憶媒体を含む二次元コード誤り訂正復号化装置であって、
前記マシン読み取り可能記憶媒体記憶には前記プロセッサーにより実行され得るマシン実行可能命令が記憶されておいて、
前記プロセッサーが
二次元コード画像を前処理して復号化に適用されるデータコードワードを得ること、
前記データコードワードに基づいて最適なパラメーターマッチングを行って相応の補間の重度を得ること、
前記補間の重度に基づいて補間を行って、二変量多項式を立てること、
前記二変量多項式に基づいて情報コードワードを得ること、
前記情報コードワードに基づいてデータデコーディングを行って前記二次元コード画像に対応するオリジナル情報を得ること
を行うように前記マシン実行可能命令は前記プロセッサーを促す
ことを特徴とする二次元コード誤り訂正復号化装置。
【請求項１０】
前記プロセッサーが、
前記二次元コード画像における暗いブロックと明るいブロックを認識すること、
前記二次元コード画像についてフォーマット情報復号化を行うこと、
前記二次元コード画像のバージョンを確定すること、
前記二次元コード画像のマスクを除去すること、
前記データコードワードや誤り訂正コードワードを復元すること
を行うように前記マシン実行可能命令が前記プロセッサーを促すことを特徴とする請求項９に記載の装置。
【請求項１１】
前記プロセッサーは、
復元された前記データコードワードに基づいて前記二次元コード画像に対して情報セキュリティ検証をすること
を行うように前記マシン実行可能命令は更に前記プロセッサー促すことを特徴とする請求項１０に記載の装置。
【請求項１２】
前記プロセッサーが
復元することで得られた前記データコードワードに基づいて前記データコードワードがフォーマット情報とバージョン情報に該当するかどうかを判定し、
若し該当すれば、復号化に適用される前記データコードワードを得ること、
若し該当しないと、復元することで得られたデータコードワードがフォーマット情報とバージョン情報に該当するまで前記二次元コード画像に対して前処理を引き続き行うこと
ことを行うように前記マシン実行可能命令が前記プロセッサーを促す
ことを特徴とする請求項１１に記載の装置
【請求項１３】
前記プロセッサーが
前記データコードワードにおける情報コードワード重み和誤り訂正コードワード重みに基づいて初期変数を設定して、且つ
フィットやイテレーションを利用して前記初期変数を更新すること
を行うように前記マシン実行可能命令が前記プロセッサーを促すこと
を特徴とする請求項９に記載の装置
【請求項１４】
前記プロセッサーが
前記二変量多項式の初期補間点をカスタムして、且つ
改善されたＫｏｔｔｅｒ補間アルゴリズムを利用して前記補間の重度と組み合わせて、重み付き辞書逆順テーブルに基づいて各補間点で補間を少なくともＭ回行って、そのうち、Ｍが前記補間の重度であること
を行うように前記マシン実行可能命令が前記プロセッサーを促すこと
を特徴とする請求項９に記載の装置。
【請求項１５】
前記プロセッサーが
前記二変量多項式を因数分解して単変量多項式セットを得ること、
前記単変量多項式セットで選別を行って前記最適情報多項式を得ること、
前記最適多項式を前記情報コードワードとすること
を行うように前記マシン実行可能命令が前記プロセッサーを促す
ことを特徴とする請求項９に記載の装置
【請求項１６】
前記プロセッサーが、
前記単変量多項式セットにおける単変量多項式を改めてエンコードして、中間コードワードを得ること、
前記中間コードワードと前記データコードワードとを比較してハミング距離が一番小さい中間コードワードに対応する単変量多項式を前記最適情報多項式として選出すること
を行うように前記マシン実行可能命令が前記プロセッサー促す
ことを特徴とする請求項１５に記載の装置
【請求項１７】
コンピュータ実行可能命令が記憶されたコンピュータ読み取り可能媒体であって、前記コンピュータ実行可能命令がネットワーク機器のプロセッサーにコールされて実行される時に、前記プロセッサーが、
二次元コード画像を前処理して復号化に適用されるデータコードワードを得ること、
前記データコードワードに基づいて最適なパラメーターマッチングを行って、相応の補間の重度を得ること、
前記補間の重度に基づいて補間を行って二変量多項式を立てること、
前記二変量多項式に基づいて情報コードワードを得ること、
前記情報コードワードに基づいてデータデコーディングを行って前記二次元コード画像に対応するオリジナル情報を得ること
を実行するように前記コンピュータ実行可能命令は前記プロセッサーを促す
コンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［関係出願の相互引用］
本特許出願は、２０１７年９月２１日に出願され、発明の名称が「二次元コード誤り訂正復号化方法、装置、電子機器及コンピュータ読み取り可能媒体
2020537363.tif 000003
と題された中国特許出願第２０１７１０８５７４４２．１号明細書の優先権を主張し、参照によりその内容が本明細書に援用される。
【０００２】
本願は、二次元コード誤り訂正復号化に関する。
【背景技術】
【０００３】
二次元コードは、情報密度が高く、秘匿度が高く、様々な種類の情報を表すことができるので、セキュリティと機密性、メディアプロモーション、偽造防止トレーサビリティ、機器管理、発券システム、臨床医学、電子決済等の分野で非常に広く適用されていて、故に、二次元コードもビッグデータ分析の前提となり、モバイルインターネットのエントリーレベルのアプリケーション及び「Ｏ２Ｏ（Ｏｎｌｉｎｅ  Ｔｏ  Ｏｆｆｌｉｎｅ（オンラインオフライン／オンラインからオフライン）」ビジネスモデルを効果的に運用するキーポイントとなる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前記問題点に鑑み、本出願は、二次元コード画像を前処理して復号化に適用されるデータコードワードを得ること、前記データコードワードに応じて最適なパラメーターマッチングを行って、相応の補間の重度を得ること、前記補間の重度に基づいて補間を行って、二変量多項式を立てること、前記二変量多項式に応じて情報コードワードを得ること、前記情報コードワードに応じてデータデコーディングを行って、前記二次元コード画像に対応するオリジナル情報を得ること、を含む二次元コード誤り訂正復号化方法を公開した。
【課題を解決するための手段】
【０００５】
本出願は、プロセッサーやマシン読み取り可能記憶媒体を含む二次元コード誤り訂正復号化装置を更に公開しており、そのうち、前記マシン読み取り可能記憶媒体には、前記プロセッサーにより実行され得るマシン実行可能命令が記憶されており、前記プロセッサーは、二次元コード画像を前処理して、復号化に適用するデータコードワードを得ること、前記データコードワードに応じて最適なパラメーターマッチングを行って、相応の補間の重度を得ること、前記補間の重度に基づいて補間を行って、二変量多項式を立てること、前記二変量多項式に基づいて情報コードワードを得ること、前記情報コードワードに応じてデータデコーディングを行って、前記二次元コード画像に対応するオリジナル情報を得ることを実行するように前記マシン実行可能命令が前記プロセッサーを促す。
【０００６】
本出願は、コンピュータ実行可能命令が記憶されたコンピュータ読み取り可能媒体を更に公開しており、前記コンピュータ実行可能命令はネットワーク設備におけるプロセッサーにコールされて実行される場合、前記プロセッサーが、二次元コード画像を前処理して、復号化に適用されるデータコードワードを得ること、前記データコードワードに応じて最適なパラメーターマッチングを行って、相応の補間の重度を得ること、前記補間の重度に基づいて補間を行って、二変量多項式を立てること、前記二変量多項式に基づいて情報コードワードを得ること、前記情報コードワードに基づいてデータデコーディングをして、前記二次元コード画像に対応するオリジナル情報を得ることを実行するように前記コンピュータ実行可能命令は前記プロセッサーを促す。
【発明の効果】
【０００７】
本願の一実施形態に提供された二次元コード誤り訂正復号化方法、装置、及びコンピュータ読み取り可能媒体は、カスタムデコードアルゴリズムフローを提供することにより二次元コード誤り訂正復号化を行うこととなり、カスタムデコードアルゴリズムが誤り訂正復号化において機能が強く、認識が正確して、且つ認識情報が多く、アルゴリズムの機能が良く、二次元コードでは脱落、汚れ、穿孔、および部分的な損傷等の状況が現れる場合でも、オリジナル情報に戻るように復元をすることができる。
【図面の簡単な説明】
【０００８】
【図１】本願の一実施形態に提供された二次元コード誤り訂正復号化方法のフローチャートを示した。
【図２】本願の一実施形態において二次元コード画像を前処理するフローチャートを示した。
【図３】本願の一実施形態においてデータコードワードに基づいて情報コードワードを得るフローチャートを示した。
【図４】本願の一実施形態において、情報コードワードに基づいて二次元コードオリジナル情報を復元するフローチャートを示した。
【図５】本願の一実施形態において他の複数種類のバージョンＱＲコード（登録商標）について本実施形態の提供したカスタム復号化誤り訂正アルゴリズムによる誤り訂正機能と当前デコードアルゴリズムによる誤り訂正機能との比較図を示した。
【図６】本願もう一つの実施形態に提供された二次元コード誤り訂正復号化ロジックの構造概略図を示した。
【図７】本願もう一つの実施形態における前処理モジュールの構造概略図を示した。
【図８】本願もう一つの実施形態における補間モジュールの構造概略図を示した。
【図９】本願もう一つの実施形態における情報コードワード生成モジュールの構造概略図を示した。
【図１０】本願更にもう一つの実施形態に提示された二次元コード誤り訂正復号化装置のハードウェアの構造概略図を示した。
【発明を実施するための形態】
【０００９】
以下、本出願の一実施形態における図面と組み合わせて、本出願の一実施形態における技術を明確に説明し、明確に説明された一実施形態は、全ての実施形態ではなくて単に本出願の一部の実施形態に過ぎない。本出願における一実施形態に基づいて、当業者は進歩性努力をしないで得られる全ての他の一実施形態は、本出願の保護しようとする範囲に属する。
【００１０】
二次元コードは、エンコードの原理や構造形状上の違いに基づいて、ライン構成式二次元コード（中国語表記：）とマトリックス式二次元コードに分けられてもよく、そのうち、ライン構成式二次元コードよりもマトリックス式二次元コードは情報密度が高い。マトリックス式二次元コードにおいて、ＲＳ（Ｒｅｅｄ−ＳｏｌｏＭｏｎ）システムコードを使用してもよく、関係するデコードアルゴリズムは、ＲＳコード随伴デコードアルゴリズム（ＢＭアルゴリズム）でもよい。ＢＭアルゴリズムは限定距離復号化アルゴリズムであって、誤り訂正復号化において機能が悪いため、二次元コード復号化の技術による認識機能が有限となり、脱墨、汚れのような大きな破損が出る場合に二次元コードにおけるオリジナル入力情報に戻ることが非常に難しい。しかも、ＢＭアルゴリズム復号化は、機能が悪く、アンチノイズ機能が悪く、特に二次元コードでは脱落、汚れ、穿孔、および部分的な損傷等が出る場合、二次元コードの復号化技術では認識が遅い。
【００１１】
ある場合には、二次元コードの表した情報とバーコード記号とは一緒に印刷されることが難しい上に、二次元コードは長期に印刷品の表面で露出するので、汚れや破損を受けやすい。ある悪い環境で二次元コード画像識別を使用する時に、イメージで汚れが出る可能性が高い。本出願の示例において、誤り訂正技術を二次元コードに導入してもよい。誤り訂正符号付きの二次元コードは、二次元コードでは脱落、汚れ、穿孔、および部分的な損傷等が出る場合に、特定の誤り訂正デコードアルゴリズムにより、依然としてオリジナル情報を正しく復元することができるので、復号化システムは一層強い誤り訂正機能を有することとなる。
【００１２】
図１は、本願の一実施形態に提供された二次元コード誤り訂正復号化方法のフローチャートを示しており、図１に示すように、本方法は、二次元コード画像を前処理して復号化に適用されるデータコードワードを得るステップＳ１１、復号化に適用されるデータコードワードに応じて最適なパラメーターマッチングを行って相応の補間の重度を得て、且つ補間の重度に基づいて補間を行って、二変量多項式を立てるステップＳ１２、二変量多項式に応じて最適情報多項式を得て、最適情報多項式を情報コードワードとするステップＳ１３、情報コードワードに応じてデータデコーディングを行って、二次元コード画像に対応するオリジナル情報を得るステップＳ１４とのステップを含む。
【００１３】
本出願示例における上述方法に基づいて、カスタムデコードアルゴリズムフローを採用して二次元コード誤り訂正復号化を行って、誤り訂正機能が強い上に、オリジナル情報に戻るように迅速に復元をすることができる。
【００１４】
ステップＳ１３において、二変量多項式について因数分解をして単変量多項式セットを得て、単変量多項式セットを選別して最適情報多項式を得ることができる。
【００１５】
図２は、本実施例実施形態において二次元コード画像を前処理するフローチャートを示しており、図２に示すように、クライアントにおける様々な種類のＡＰＰにおける二次元コード認識方式（如“掃一掃”）を通じて二次元コード画像を読み取るステップ２０１、二次元コード画像に対して復号化をするステップ２０２、復元されたデータコードワードに基づいて情報セキュリティ検証を行うステップ２０３、とのステップを含む。
【００１６】
ステップ２０２について、一つの示例において、二次元コード画像に対して復号化をするのは、前記二次元コード画像における暗いブロックと明るいブロックとを認識すること、前記二次元コード画像に対してフォーマット情報復号化をすること、前記二次元コード画像のバージョンを確定すること、前記二次元コード画像のマスクを除去すること、前記二次元コード画像におけるデータコードワードと誤り訂正コードワードを復元すること、を含むことができる。
【００１７】
本実施形態において、情報セキュリティ検証は、具体的に下記のようなプロセスを含む。
【００１８】
復元されたデータコードワードに基づいてフォーマット情報がバージョン情報に該当するかどうかを判定して、若し該当（情報セキュリティ検証にパスする）したら、復号化に適用されるデータコードワードを得ることとなり、若し該当しない（情報セキュリティ検証にパスしない）としたら、復元されたデータコードワードがフォーマット情報及びバージョン情報に該当するまで二次元コード画像に対する前処理を引き続き行って（即ち二次元コード画像を改めて読み取って、暗いブロックと明るいブロックを認識して、フォーマット情報復号化を行って、バージョンを確定し、マスクを除去し、データコードワードと誤り訂正コードワードを復元するステップ）。本出願の示例において、復元されたデータコードワードに対して情報セキュリティ検証を行うことにより、セキュリティを向上させることができる。
【００１９】
図３は、本出願示例においてデータコードワードに応じて情報コードワードを得る方法のフローチャートを示す。図３に示すように、この方法は、以下のようなステップを含む。
【００２０】
ステップ３０１では、データコードワードに対して最適なパラメーターマッチングをして、補間の重度を得る。
【００２１】
本実施形態において、データコードワードに基づいて最適なパラメーターマッチングをするのは、データコードワードにおける情報コードワード重みと誤り訂正コードワード重みに応じて初期変数を設置して、且つフィットとイテレーションを通じて初期変数を更新することを含む。
【００２２】
例えば、初期変数ａ０をイテレーション初値と設置して、後にイテレーション方式でイテレーションを行って、若し与えられた初期変数は最適答えに近似するとしたら、イテレーションで最適答えを算出する確率は非常に高く、初期変数もイテレーションの結果に応じて調整され得る。この最適答えは、後文で補間や因数分解等のステップにより得られた最適情報多項式に唯一に関係する。
【００２３】
本実施形態において、データコードワードに応じて最適なパラメーターマッチングをするのは、データコードワードにおける情報コードワード重みと誤り訂正コードワード重みに基づいてこの補間の重度を確定することを含むことができる。若しフォローアップの因数分解した後で唯一の最適情報多項式を得られないとしたら、フィットやイテレーションによりこの補間の重度を更新することができる。
【００２４】
例えば、初期補間の重度ａ０をイテレーション初値と設置し、イテレーション方式でイテレーションを行う。若し与えられた初期補間の重度は最適答えに近似するとすると、イテレーションで最適答えを算出する確率は非常に高い。イテレーションの結果に応じてこの補間の重度を調整することもできる。この最適答えは、後で補間和因数分解等のステップにより得られた最適情報多項式と唯一に関係する。
【００２５】
一実施形態において、データコードワードにおける情報コードワード重みに基づいて補間の重度を確定することができるし、データコードワードにおける誤り訂正コードワード重みに基づいて補間の重度を確定することもできるし、更にデータコードワードにおける情報コードワード重みと誤り訂正コードワード重みに基づいて補間の重度を確定することもできる。
【００２６】
データコードワードにおける情報コードワード重みに基づいて補間の重度を確定することを例とする。データコードワードにおける情報コードワード重み、誤り訂正コードワード重みと補間の重度との関係をプリセットすることができる。例えば、情報コードワード重みは（０、３０％］との範囲であれば、対応する補間の重度は１となり、情報コードワード重みは（３０％、５０％］との範囲であれば、対応する補間の重度は２となり、情報コードワード重みは（５０％、７０％］との範囲であれば、対応する補間の重度は３となる。仮に数字コードワードにおける情報コードワード重みは４０％、この情報コードワード重み４０％に基づいて、補間の重度は１であると確定する。
【００２７】
ステップ３０２では、パラメーターをカスタムする。
【００２８】
本実施形態において、初期補間点をカスタムし、例えば、（１、α）とするようにカスタムすることができる。若しフォローアップ因数分解の後で唯一の最適情報多項式を得られないと、唯一の最適情報多項式を得るまでに補間の重度に１を加えた後で補間ステップを繰り返して行う。
【００２９】
ステップ３０３では、改善されたＫｏｔｔｅｒ補間アルゴリズムを利用して、二変量多項式
2020537363.tif 000004
を立てる。本実施例において、若し最適パラメーターマッチングを通じて得られた補間の重度はＭであれば、選択された補間の重度に基づいて補間をするのは、初期補間点をカスタムして、且つ改善されたＫｏｔｔｅｒ補間アルゴリズムを利用して補間の重度と組み合わせて、重み付き辞書逆順テーブルに基づいて、各補間点で補間を少なくともＭ回行うことにより、一つの二変量多項式
2020537363.tif 000005
を立てること、を含む。
【００３０】
本実施形態において、補間は、内補間アルゴリズムを使用してもよく、補間の重度は内補間重度でもよい。
【００３１】
一つの実施例において、改善されたＫｏｔｔｅｒ補間アルゴリズムは、一グループの二変量多項式を初期化して二変量グループ多項式セットを得るステップ１）、そのうち、一つの実施例において、初期イテレーションの回数は０であること、二変量グループ多項式セット内で第一段階がＣよりも大きな二変量多項式を排除するステップ２）、二変量グループ多項式セットにおける各二変量多項式のＨａＳＳｅ混合偏微分を計算し、セットにける全ての二変量多項式のＨａＳＳｅ混合偏微分はいずれも０に等しいであるかどうかを判定して、若し全部０に等しいであれば、ステップ６）を行って、若し全部０ではなければ、ステップ４）を行うステップ３）、このグループのセットにおける各二変量多項式における最小多項式を求めるステップ４）、このグループの二変量多項式における最小多項式及び他の二変量多項式についてそれぞれ異なる一般式を通じて変更や改正を行うステップ５）、イテレーション回数に１を加えて、もう一つのグループの二変量多項式を得て、ステップ１）〜ステップ５）を繰り返してこのグループの二変量多項式における最小多項式を得るステップ６）、イテレーションの回数はＣに等しくなる時にイテレーションを終わって、この場合、各二変量多項式における最小多項式はセットを結成して、且つＣグループの二変量多項式における最小多項式について答えを求めて補間多項式
2020537363.tif 000006
を得るステップ７）、とのステップを含むことができる。
【００３２】
説明したいのは、補間でもフィットでも全部で関数近似または数値近似の重要なパートである。フィットとは、ある関数の若干の離散関数値｛ｆ１，ｆ２，…，ｆｎ｝を既に知っていて、この関数における若干の決めようとする係数ｆ（λ１，λ２，…，λ３）を調整することにより、この関数と既に知られたポイントセットとの違い（最小二乗の意味）が最小となることである。補間とは、既に知られたある関数の、若干の離散点での関数値或いはデリバティブ情報で、この関数における、その形式を決めようとする補間関数及び未定係数を算出することにより、この関数が、与えられた離散点で制約を満たすこととなるとのことである。フィットとは、空間における若干の点を与えて、既に知られたが、形式が未知であるパラメーターの連続曲面を見つけて最大限でこれらの点に近付けることとなるとのことである。補間とは、一つの（或いは二つの片ずつスムーズである）連続曲面を見つけてこれらの点を貫かせるとのことである。
【００３３】
ステップ３０４では、補間多項式
2020537363.tif 000007
を算出した後で、二変量多項式
2020537363.tif 000008
についてＲｏｔｈ−Ｒｕｃｋｅｎｓｔｅｉｎアルゴリズムを採用することにより因数分解を行う。
【００３４】
一つの実施形態において、因数分解をした後で、
2020537363.tif 000009
のような形式の複数の因数を得て、そのうち
2020537363.tif 000010
は一変量多項式である。因数分解により単変量多項式セット
2020537363.tif 000011
を得ることができる。
【００３５】
ステップ３０５では、セット
2020537363.tif 000012
における各候補者情報多項式に対して最適多項式を選別してＲＳ情報コードワードを得る。
【００３６】
一つの実施形態において、セット
2020537363.tif 000013
におけるいずれか多項式
2020537363.tif 000014
でも情報多項式
2020537363.tif 000015
となる可能性もあって、
2020537363.tif 000016
における各候補者情報多項式に対して最適多項式を選別して、例えば改めてエンコードすることにより、コーディングで得られた各コードワードシーケンスは、それぞれＲＳコードデータコードワード
2020537363.tif 000017
と対比して、ハミング距離一番小さいコードワードに対応する候補者情報多項式をＲＳコード情報コードワードとすることができる。
【００３７】
単変量多項式セット
2020537363.tif 000018
は、
2020537363.tif 000019
且つ
2020537363.tif 000020
でもよい。そのうち、
2020537363.tif 000021
は、
2020537363.tif 000022
の回数が
2020537363.tif 000023
よりも小さいことを表す。セット
2020537363.tif 000024
における全ての単変量多項式に対して周波数領域コーディング方式を採用して改めてエンコードすることができ、改めてエンコードすることで得られたコードワードとデータコードワードとを比較して、ハミング距離が一番小さいコードワードに対応する単変量多項式を選取して最適情報多項式とすることができ、この最適情報多項式はＲＳ情報コードワードとされる。
【００３８】
更に説明したいのは、本実施形態における最適情報多項式は唯一なものである。若し第一回で得られた最適情報多項式は唯一ではないとしたら、パラメーターを改めてカスタムし、例えば、補間の重度に一を加えて、且つ新たな補間の重度に基づいて補間をして、後で唯一の最適情報多項式を得るまでに因数分解を繰り返して且つ最適情報多項式を選別し、この場合では誤り訂正復号化プロセスは全部完了となる。
【００３９】
図４は、本実施形態で情報コードワードに基づいて二次元コードオリジナル情報を復元するフローチャートを示した。図４に示すように、この方法は以下のようなステップを含む。
【００４０】
ステップ４０１では、情報コードワードについて有限フィールドルールをバイナリビットストリームに変換する。
【００４１】
ステップ４０２では、このバイナリビットストリームについてデータをデコーディングして、二次元コードに対応するオリジナル情報を得る。
【００４２】
本願に係わる技術案を一層よく説明するために、以下、バージョン１−Ｈ二次元コードで入力されたデータが０１２３４５６７であることを例として説明する。
【００４３】
バージョン１−Ｈ二次元コードを前処理して、情報セキュリティ検証を通じて有限フィールドＧＦ（２）内のデータコードワードＲＳ（２６，９，８）を得て、仮に前処理の後で得られたデータコードワードは
2020537363.tif 000025
であるとすると、ステップＳ１２〜Ｓ１３を通じて、
2020537363.tif 000026
のような情報コードワードを得ることとなる。
【００４４】
最後、ステップＳ１４を通じて有限フィールドルール変換を行って、０００１００００    ００１００００    ００００１１００    １０１００１１０    ０１１００００１    １０００００００    １１１０１１００    ０００１０００１    １１１０１１００とのバイナリビットストリームを得ることとなる。
【００４５】
上述バイナリビットストリームに基づいて更にデータデコーディングを行って、復元することで０１２３４５６７であるオリジナル情報を得る。
【００４６】
上述したのは、バージョン１−ＨにおけるＱＲコード（登録商標）を例として、誤り訂正機能を１２％増加でき、図５には、他の複数種類のバージョンＱＲコード（登録商標）について、本実施形態の提供したカスタム復号化誤り訂正アルゴリズムによる誤り訂正機能と当前デコードアルゴリズムによる誤り訂正機能とを比較する図を示した。図５に示すように、ＱＲコード（登録商標）を例として、各バージョン記号の各誤り訂正ランクは少なくとも４％向上して、Ｈランクの向上は多くて、例えばＱＲコード（登録商標）バージョン６−Ｈ記号は、最も多い場合では１４％向上することができ、各誤り訂正ランクについて少なくとも一つの誤り訂正データコードワードを加えて、最も多い場合ではＱＲコード（登録商標）バージョン１−Ｌ記号のように一倍を加えることができる。
【００４７】
以上を纏めると、カスタムデコードアルゴリズムフローを提供して二次元コード誤り訂正復号化を行うことにより、カスタムデコードアルゴリズムは、誤り訂正復号化機能が強く、認識が正しく、且つ認識する情報が多く、アルゴリズムが機能において優れて、二次元コードでは脱落、汚れ、穿孔、および部分的な損傷等が発生する場合に、オリジナル情報を迅速に復元できる。更に、データコードワードを得た後で、先ず情報に対して安全チェックをすれば、セキュリティは更に高くなる。
【００４８】
以上では、本出願の提供した方法を記載した。以下、本出願の提供した装置を記載する。
【００４９】
図１０を参照して、図１０は、本出願の若干の実施形態に記載された二次元コード誤り訂正復号化装置のハードウェア構造図である。この二次元コード誤り訂正復号化装置１０００は、プロセッサー１００１及びマシン読み取り可能記憶媒体１００２を含むことができる。そのうち、プロセッサー５１とマシン読み取り可能記憶媒体１００２は、システムバス１００３を介して通信することできる。且つ、マシン読み取り可能記憶媒体５２に記憶されて、二次元コード誤り訂正復号化ロジック６００に対応するマシン実行可能命令を読み取って実行することにより、プロセッサー１００１は、上文前記的二次元コード誤り訂正復号化の方法を実行できる。
【００５０】
本文で言及したマシン読み取り可能記憶媒体１００２は、如何なるエレクトロニクス、磁気、光学或いは他の物理的記憶装置でもよく、情報、実行可能命令、データ、等を含むことでもよいしそれらを記憶することでもよい。例えば、前記マシン読み取り可能記憶媒体１００２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ランダムアクセスメモリ）、揮発性メモリ、不揮発性メモリ、フラッシュメモリ、ストレージドライブ（例えばハードドライブ）、ソリッドステートドライブ、如何なる類別のストレージディスク（如ＣＤ−ＲＯＭ、ＤＶＤ等）、或いは近似する記憶媒体、或いはこれらの組合せでもよい。
【００５１】
図６は、本願もう一つの実施形態に記載された二次元コード誤り訂正復号化ロジックの構造概略図を示しており、図６に示すように、機能で見分けると、この二次元コード誤り訂正復号化ロジック６００は、前処理モジュール６１０、補間モジュール６２０、情報コードワード生成モジュール６３０、及びデコーディングモジュール６４０を含む。
【００５２】
そのうち、前処理モジュール６１０は、二次元コード画像を前処理して復号化に適用されるデータコードワードを得るように配置される。補間モジュール６２０は、前記データコードワードに基づいて最適なパラメーターマッチングを行って相応の補間の重度を得て、前記補間の重度に基づいて補間をして二変量多項式を立てるように配置される。情報コードワード生成モジュール６３０は、前記二変量多項式に基づいて情報コードワードを得るように配置される。デコーディングモジュール６４０は、前記情報コードワードに基づいてデータデコーディングを行って前記二次元コード画像に対応するオリジナル情報を得るように配置される。
【００５３】
図７は、本実施形態における前処理モジュールの概略図を示しており、図７に示すように、前処理モジュール６１０は、復号化サブモジュール６１１やチェックサブモジュール６１２を含む。復号化サブモジュール６１１は、二次元コード画像を復号化するように配置され、且つ、前記二次元コード画像における暗いブロックと明るいブロックを認識すること、前記二次元コード画像に対してフォーマット情報復号化を行うこと、前記二次元コード画像のバージョンを確定すること、前記二次元コード画像のマスクを除去すること、前記二次元コード画像のデータコードワードと誤り訂正コードワードを復元こと、を含む。チェックサブモジュール６１２は、復元された前記データコードワードに基づいて前記二次元コード画像に対して情報セキュリティ検証を行って、若しチェックにパスすれば復号化に適用されるデータコードワードを得ることとなるように配置される。
【００５４】
そのうち、チェックサブモジュール６１２の行うチェックのプロセスは、復元された前記データコードワードに基づいて復元されたデータコードワードがフォーマット情報とバージョン情報に該当であるかどうかを判定して、若し該当すれば、前記復号化に適用されるデータコードワードを得ることとなって、若し該当しないと、復元されたデータコードワードがフォーマット情報及びバージョン情報に該当するまでに前記二次元コード画像を引き続き前処理する。
【００５５】
図６に示すように、本実施形態における二次元コード誤り訂正復号化装置６００は、更にフィットモジュール６５０を含み、このフィットモジュール６５０は、データコードワードにおける情報コードワード重み及び誤り訂正コードワード重みに基づいて初期変数を設定して、且つフィットやイテレーションを通じて初期変数を更新するように配置される。
【００５６】
図８は、本実施形態における補間モジュールの概略図を示して、図８に示すように、補間モジュール６２０は、重度選択サブモジュール６２１や補間点カスタムサブモジュール６２２を含み、重度選択サブモジュール６２１は、最適なパラメーターマッチングによる補間の重度がＭであるように配置されて、補間点カスタムサブモジュール６２２は、初期補間点をカスタムして、且つ改善されたＫｏｔｔｅｒ補間アルゴリズムを利用して補間の重度に組み合わせて、重み付き辞書逆順テーブルに基づいて、各補間点で補間を少なくともＭ回行うように配置される。
【００５７】
図９は、本実施形態における情報コードワード生成モジュールの概略図を示して、図９に示すように、情報コードワード生成モジュール６３０は、因数分解モジュール６３１や選別モジュール６３２を含み、因数分解モジュール６３１は、二変量多項式に対して因数分解を行って単変量多項式セットを得るように配置されており、選別モジュール６３２は、単変量多項式セットに対して選別をして、最適情報多項式を得るように配置される。選別モジュール６３２は、再エンコードサブモジュール６３２１や比較サブモジュール６３２２を含み、再エンコードサブモジュール６３２１は、前記単変量多項式セットにおける単変量多項式に対してエンコードを改めて行って中間コードワードを得るように配置されており、比較サブモジュール６３２２は、将前記中間コードワードと前記データコードワードとを比較してハミング距離が一番小さい前記中間コードワードに対応する単変量多項式を前記最適情報多項式として選択するように配置される。
【００５８】
このロジックにおける各モジュールの機能について、上述方法の一実施形態における関係記載を参照して、ここで更に釈明することはない。
【００５９】
上述に基づいて、本実施形態に記載された二次元コード誤り訂正復号化装置は、上述二次元コード誤り訂正復号化方法と同じ技術的効果を実現でき、ここで更に釈明することはない。
【００６０】
更に説明したいのは、本出願の示したコンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体、或いはコンピュータ読み取り可能媒体、或いは上述二つの如何なる組合せでもよい。コンピュータ読み取り可能媒体は、例えば--電気、磁気、光学、電磁気、赤外線、または半導体のシステム、装置或いは機器、或いはこれらの如何なる組合せでもよいが、それらに限られるものではない。コンピュータ読み取り可能媒体について、更に具体的な例は、一つ又は複数のワイヤーを有する電気接続、携帯式コンピュータディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能なプログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュ）、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光記憶装置、磁気記憶装置、或いはこれらの如何なる適切な組合せも含むことであるが、これらに限られるものではない。本出願では、コンピュータ読み取り可能媒体は、プログラムを包含する或いは記憶する如何なる有形媒体でもよく、このプログラムは、命令実行システム、装置或いは機器に使用されてもよいが、これらに組み合わせて使用されてもよい。本出願では、コンピュータ読み取り可能信号媒体は、ベースバンドにおけるデータ信号を含むことができるし、キャリアーの一部として伝播されるデータ信号でもよく、そのうちコンピュータ読み取り可能プログラムコードを持ち運ぶ。このように伝播されるデータ信号は、多種の形式でもよく、電磁信号、光信号又は上述の如何なる妥当な組合せを含むことができるが、それらに限られるものではない。コンピュータ読み取り可能信号媒体の他のコンピュータ読み取り可能媒体以外の如何なるコンピュータ読み取り可能媒体でもよく、このコンピュータ読み取り可能媒体は、命令実行システム、装置或いは機器に使用される或いはこれらと組み合わせて使用されるプログラムを発送、伝播或いは輸送することができる。コンピュータ読み取り可能媒体に包含されたプログラムコードは、如何なる適当な媒体に輸送されてもよく、この媒体は、ワイヤレス、ワイヤー、光ファイバーケーブル、ＲＦ等、或いは上述の如何なる妥当な組合せを含むが、これらに限られるものではない。
【００６１】
図面におけるフローチャートとブロック図は、本出願に従う様々な種類の実施形態のシステム、方法及びコンピュータプログラム製品を実現できるシステムの構造、機能及び操作を示した。この点で言えば、フローチャート或いはブロック図における各ブロックは、モジュール、プログラムセグメント、又はコード的一部分を表すことができ、上述モジュール、プログラムセグメント、又はコードの一部は、予定されたロジック機能を実現するための一つ又は複数の実行可能命令を含む。なお、選択肢としてのある実施の形態では、ブロックでマークされた機能も、係わる機能によって、図面でマークされる順番と異なる順番で発生されてもよい。例えば、次々と表される二つのブロックは、実際に本質的に平行に実行でき、関係する機能によれば逆な順番で実行できることもある。なお、ブロック図或いはフローチャートにおける各ブロック、及びブロック図又はフローチャートにおけるブロックの組合せ、予定された機能或いは操作を実行するための専用の、ハードウェアに基づいたシステムで実現でき、或いは専用のハードウェアとコンピュータ命令との組合せで実現できる。
【００６２】
本出願の一実施形態に係わるユニットは、ソフトウェアの方式で実現できるし、ハードウェアの方式で実現できる。記載されたユニットは、プロセッサーに設置され得て、例えば、以下のように記載されても良い。プロセッサーであって、発送ユニット、取得ユニット、確定ユニット及び第一処理ユニットを含む。そのうち、これらのユニットの名称は、ある場合ではこのユニットそのものに対する限定ではなく、例えば、発送ユニットは更に「連続されたサーバーにイメージ取得という要求を発送するユニット」と釈明できる。
【００６３】
一方では、本願は、更にコンピュータ読み取り可能媒体を提供しており、このコンピュータ読み取り可能媒体は、上述した実施形態に記載された設備に包含されたものも可能であり、自ら存在して、この設備に据え付けられないものであってもよい。上述したコンピュータ読み取り可能媒体は、一つ或いは複数のプログラムを持ち運びしており、故に、前記一つ或いは複数のプログラムはこの一つの設備に実行される時に、この設備は、二次元コード画像を前処理して復号化に適用されるデータコードワードを得ること、復号化に適用されるデータコードワードに基づいて最適なパラメーターマッチングを行って相応の補間の重度を得て、且つ補間の重度に基づいて補間を行って二変量多項式を立てること、二変量多項式で得られた最適情報多項式に基づいて最適情報多項式を情報コードワードとすること、情報コードワードに基づいてデータデコーディングを行って二次元コード画像に対応するオリジナル情報を得ること、を含んでもよい。
【００６４】
本明細書に記載された主題及び機能や操作に係わる実施形態は、デジタル電子回路、有形のコンピュータソフトウェア又はファームウェア、本明細書に公開された構造及びその構造性で言えば等しいモノであるコンピュータハードウェア、或いはこれらの一つ又は複数の組合せ、で実現され得る。本明細書に記載された主題に係わる実施形態は、一つ又は複数のコンピュータプログラムで実行され得るものであって、即ちデータ処理装置により実行されるように有形の非一時的プログラムキャリアでエンコードされるものであってもよいし、データ処理装置の操作を制御するコンピュータプログラム命令における一つ又は複数のモジュールであってもよい。選択肢又は追加項として、プログラム命令は、人工により製造された伝播信号例えば機械の生成する電気、光或電磁気信号でエンコードされてもよく、この信号は、データ処理装置により実行されるように生成されて情報をエンコードして且つ妥当な受信機装置に輸送するものである。コンピュータ記憶媒体は、マシン読み取り可能記憶設備、マシン読み取り可能記憶基板、ランダムまたはシリアルアクセスメモリデバイスでもよいし、これらの一つ又は複数の組合せでもよい。
【００６５】
本明細書に記載された処理及ロジックの流れは、一つ又は複数のコンピュータプログラムを実行する一つ又は複数のプログラム可能なコンピュータで実行されてもよく、すると、相応の機能を実行するように入力データに基づいて操作を行って且つ出力をする。前記対処及びロジック流れは、更に専用ロジック回路例えばＦＰＧＡ（フィールドプログラマブルゲートアレイ）或いはＡＳＩＣ（特定集積回路）により実行されてもよく、且つ装置も、専用ロジック回路として実現されてもよい。
【００６６】
コンピュータプログラムの実行に適用されるコンピュータは、例えば汎用及び／又は専用のマイクロプロセッサー、或いは如何なる他の類別の中央処理装置、含む。一般的には、中央処理装置は、読み取り専用メモリ及び／又はランダムアクセスメモリから命令とデータを受ける。コンピュータの基礎的な部品には、命令の実施又は実行に適用される中央処理装置、及び命令とデータを記憶するための一つ又は複数のメモリ設備を含む。一般的には、コンピュータは、更にデータを記憶するための一つ又は複数の大容量記憶設備を含み、その記憶設備は例えばディスク、光磁気ディスク、またはＣＤ−ＲＯＭ等でもよく、或いは、コンピュータは、その大容量記憶設備からデータを受ける又はそれにデータを発送する又はデータを受けることと発送することを両立するようにこの大容量記憶設備と動作可能にカップリングする。しかし、コンピュータは必ずこのような設備を有することではない。更に、コンピュータは、もう一つの設備、例えば携帯電話、携帯情報端末（ＰＤＡ）、モバイルオーディオまたはビデオプレーヤー、ゲームコンソール、全地球測位システム（ＧＰＳ）受信機、又は例えばユニバーサルシリアルバス（ＵＳＢ）フラッシュドライブの携帯式記憶設備、に埋め込まれてもよく、前記設備は単に例示である且つこれらに限られない。
【００６７】
コンピュータプログラム命令とデータを記憶することに適用されるコンピュータ読み取り可能媒体は、全ての形式の不揮発性メモリ、媒体及び記憶装置、例えば半導体記憶装置（例えばＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュデバイス）、磁盤（例えば内蔵ハードディスクまたはリムーバブルディスク）、光磁気ディスク及びＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ盤を含む。プロセッサーとメモリは、専用ロジック回路に補足されてもよいし、専用ロジック回路にマージされてもよい。
【００６８】
本明細書は多数の具体的な実施の様態を包含し、これらは如何なる発明の範囲或いは保護したい範囲に対して制限されるものであると釈明されず、主に特定の発明の具体的な実施形態の特徴を解釈するためのものである。本明細書では複数の実施形態に記載されたある特徴は、一つの実施形態を互いに組み合わせて実現されてもよい。一方、一つの実施形態に記載された様々な種類の特徴は、複数の実施形態に分けて実現され、或いは如何なる妥当なサブコンビネーションで実現されてもよい。更に、特徴は前記のように、ある組合せにおいてで役に立ち、且つ最初はこのように保護を認めたが、保護したい組合せにおける一つ又は複数の特徴は、この組合せから除去されてもよい場合もある。また、保護したい組合せは、サブコンビネーション又はその変更例となってもよい。
【００６９】
同様にして、図面を用いて特定の順番で操作を説明したが、これは、所望の結果を実現するためであって、これらの操作が示したような特定の順番で実行される或いは順次で実行されると要求される、或いは例示された全ての操作が実行されると要求されると理解されるべきではない。ある場合においては、マルチタスクと並列処理は有利であってもよい。更に、上述した実施形態における様々な種類のシステムモジュールと部品との相互の分離は、全ての実施形態でもこのように分離する必要があると理解されず、且つ理解すべきものは、記載されたプログラム部品やシステムは一般的には共に一つのソフトウェア製品に統合することができ、複数のソフトウェア製品になるようにパッケージすることもできる。
【００７０】
従って、主題の特定の実施形態は既に記載されたものである。また、他の実施形態は添付された請求の範囲内である。ある場合においては、請求の範囲で記載された動作は異なる順番で実行されてもよく、且つ依然として所望の結果を実現可能であってもよい。更に、所望の結果を実現するために図面に説明された処理は必ず示す通りの特定の順番或順次で行わればくてもよい。ある実現の様態では、マルチタスクと並列処理とは有利となる可能性があってもよい。
【００７１】
特に、本明細書においては、例えば第一と第二のような用語は単に一つのモノ或いは操作を、もう一つのモノ或いは操作から分けるためのものに過ぎず、これらのモノ又は操作の間に如何なる関係或いは順番があることを要求する或いは暗示するものではない。用語の「包む」、「包含する」或いはその他の如何なる変更形態も、非排他的にオーバーすることを意図するものであって、シリーズの要因を含むプロセス、方法、品物或いは設備がそれらの要因を含むことだけでなく、明らかに例示されていない他の要因を含んでもよく、或いはこのようなプロセス、方法、品物或いは設備の含む要因をも含んでもよい。より多数の限定がない場合、「一つの……を含む」のような文で限定された要素は、前記要素に含まれたプロセス、方法、品物或いは設備において更に存在する他の同じ要素を除外するものではない。
【００７２】
以上において、本発明の実施形態を用いて提供された方法及び装置について詳細に説明しており、本文では具体的な例を使用して本発明の原理及び実施様態を説明したが、以上の実施形態に対する説明は、単に本発明の方法及びそのコアアイデアを理解するためのものであり、更に、当業者にとって、本発明のアイデアを根拠にして、具体的な実施様態においても適用範囲においてもいずれも変更するところもある。以上をまとめると、本明細書の内容は、本発明を限定するものと理解すべきではない。
【図１】
2020537363.tif 000027
【図２】
2020537363.tif 000028
【図３】
2020537363.tif 000029
【図４】
2020537363.tif 000030
【図５】
2020537363.tif 000031
【図６】
2020537363.tif 000032
【図７】
2020537363.tif 000033
【図８】
2020537363.tif 000034
【図９】
2020537363.tif 000035
【図１０】
2020537363.tif 000036
【国際調査報告】
2020537363.tif 000037
2020537363.tif 000038
2020537363.tif 000039
2020537363.tif 000040