Upgrade to Pro — share decks privately, control downloads, hide ads and more …

もっと真っ黒なQRコードは作れないのか

1pp0
July 18, 2024
33

 もっと真っ黒なQRコードは作れないのか

1pp0

July 18, 2024
Tweet

Transcript

  1. 各要素が配置される領域 ※ バージョン1(21x21)、数字モード、誤り訂正レベルLの場合) • 範囲内で設定可能 ◦ 誤り訂正レベル ◦ マスクパターン参照子 ◦

    モード ◦ 格納文字数 • 自由に設定可能 ◦ データコード • 計算で導出されるため設定不可 ◦ 誤り訂正コード 1.格納データを二進数化して配置
  2. 819819204780819207204~ = 1100110011 1100110011~ → 165/194(137/137, 27/57) 1.基本方針 947819204780819207204~ =

    1110110011 1100110011~ → ?/194(136/137, ?/57) 1. データコードを1ビット反転すると、データコード領域の黒セル数が1減る 2. 自動に算出される誤り訂正コードが、どのように変化するかは予測できない 1) 反転するビット数が最小、かつ、2) 誤り訂正コード黒セル数が最大、となる データコードを探索する
  3. 1. データコードは137ビット → 全パターンは 2^137 通り = 17正4224澗5718溝6352穰493𥝱2932垓4779京9005兆653億2426万5472 2. 現状の解として

    164/194 (白30セル)まで求めている → データコードを最大29ビット反転するまでの範囲に解がある → 探索すべきパターンは 137C29 + 137C28 … + 137C1 通り = 58穰10𥝱7727垓2293京1897兆2377億4504万3615 2.探索範囲の確認
  4. 3. 現実的な範囲で探索 → 137ビットから 1 または 2 ビットを選んで反転 → 探索すべきパターンは

    137+137C2 通り = 9,453 2.探索範囲の確認 11001100111100110011 ~ 0011110 01001100111100110011 ~ 0011110 10001100111100110011 ~ 0011110 … 11001100111100110011 ~ 0011111 11001100111100110011 ~ 0011110 00001100111100110011 ~ 0011110 00101100111100110011 ~ 0011110 … 11001100111100110011 ~ 0011101