FSH2007ST6/QR(2) - PukiWiki

★ 工事中 ★

QRコードについて (その2)

形式情報について

形式情報は2ビットの誤り訂正レベルの指示子と3ビットのマスクパターン参照子の計5ビットです. その5ビットのあとに誤り訂正のための10ビットを続けます.

  • 誤り訂正レベル
    2進指示子誤り訂正レベル復元能力%(概数)型番IのRSブロック
    00M15%RS(26 16 4)
    01L7%RS(26 19 2)
    10H30%RS(26 9 8)
    11Q25%RS(26 13 6)
  • マスクパターン
    マスクパターン参照子条件
    000i+j mod 2=0
    001i mod 2=0
    010j mod 3=0
    011i+j mod 3=0
    100(i div 2)+(j div 3) mod 2=0
    101((ij) mod 2+(ij) mod 3)=0
    110((ij) mod 2+(ij) mod 3) mod 2=0
    111((ij) mod 3+(i+j) mod 2) mod 2=0

誤り訂正部分の計算

誤り訂正部分を作る際には生成多項式と呼ばれる特別な多項式 を使います. 多項式の乗算や剰余の計算は全て 係数の多項式として計算を行います.

  1. 形式情報5ビット を多項式で表わし, さらに を掛けた式を とします. すなわち,

    を計算します.
  2. を生成多項式 で割った余り を計算します.
  3. 多項式 を14次の多項式と見て係数のビット列15ビットが求める誤り訂正部分を含む形式情報になります.
  • (注意) 係数の多項式として, 生成多項式 で必ず割り切れます.
    数の場合のたとえ話を交えて簡単に説明します.
    • の世界では加算(+)と減算(-)は同じです. x+y=x-y (x,yに0または1を入れて確認してみて下さい)
    • 数Qを数Gで割った余りを数Rとするとき, (Q-R)はGで割り切れます. (例.Q=13, G=5のとき, R=3であり, Q-R=10は, G=5で割り切れます.)
    • 多項式q(x)を多項式g(x)で割った余りをr(x)とするとき, (q(x)-r(x))はg(x)で割り切れます.
    • 係数の多項式の演算でも加算(+)と減算(-)は同じです. すなわち, q(x)+r(x)=q(x)-r(x) です.
    • 従って, q(x)+r(x)はg(x)で割り切れます.
    • 実は, 生成多項式 g(x) は原始既約多項式 で割り切れるように作られています.
      実際, です.
    • 従って, q(x)+r(x)は でも割り切れることになります.
    • この性質を誤り訂正や検査に用いています.

(例) 実際のQRコードの形式情報データを作ってみる

誤り訂正レベルM, マスク条件((ij)mod3+(i+j)mod2)mod2=0の形式情報は00111です. この5ビットのデータに誤り訂正部分10ビットを加えて15ビットのデータ列を作ります.

  1. になります.
  2. で割ると, となります.
  3. 求める多項式 q(x)+r(x)は, となり誤り訂正部分を含む15ビットの列は001111010110010になります.

ハイレベル合宿に戻る


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSSPDF
Last-modified: 2007-07-22 (日) 19:46:22 (4382d)