アニメも終わって、ゲームも稼働終了となり、アイカツスターズ!という新しい展開にするそうです。アイカツカードといえば裏面のバーコードを読み取る形式だったので、ものすごい種類(2500種類くらい?)を捌ききれるのかと検証してみましたが、全然余裕でしたというのがその時の結論。プロモーションカードを配布していたので、娘のために貰ってきました。このカードはプロモーション用なので普通の印刷ですが、筐体から排出されるカードはオンデマンド印刷に変わります。いうわけで、裏面にあったバーコードが表面のQRコードに変わりました。実は今主流の形式ですね。いうか、「妖怪ウォッチともだちウキウキペディア」が既に同じ形式なので新しくもなんともありません。やって写真撮ってしまうと、QRコードも利用できてしまうのが困る。以前はカードしか挿入できなかったので、一旦紙に印刷しないとスキャンできませんでしたが、今回は筐体のCMOSカメラに見せる形式のようなので写真撮影→スマホ画面でも認識するでしょう。一応QRコードをボカしました。前回同様、どのくらいのコードが入っているのか見てみますかね・・・。別にセル数変えられるからいくらでも拡張できちゃうんだろうけど。QRコードリーダーで読み込んでみると、「http://dcd.sc/」で始まるURL形式で84文字のデータになっています。カードの固有情報と思われる部分はそのうち65バイトかな?URLには記号も含まれているのでQRコード的にはバイナリ扱いになります。セルのサイズから、バージョンは8です。あと、QRコードには誤り訂正レベルというのが4種類(L,M,Q,H)があり、Hが最も復元しやすく、Lが最もデータ量が多くなります。誤り訂正レベルは何使ってるんですかね。(84byteは一番誤り生成レベルが高いHでちょうど入るのでおそらくHなんでしょうけど、一応確認します)下の画像は、上のカードのQRコードの左上を拡大したものです。赤枠の部分は、タイミングパターンというもので、必ず白と黒の交互のパターンになっています。他の部分のセルを切り出すときのヒントになるマーカーみたいなものですね。青枠の部分が形式情報を保存している部分です。この位置以外にも、右上と左下の検出シンボルにも分割して同じ情報が入っています。(汚れや隠れに対応するためと思います)この0~14の部分を、白を0,黒を1として読み取ると、001110011100111になります。(この数字の左端が上位ビットなので=画像の14の位置です)この15bitのうち、最初の2bitが誤り訂正レベルを示しています。同じビットが続くと読み取り精度に悪影響を与えるため、101010000010010でXORをとってあります。といわけで、もう一度XORをかけて元に戻すと、100100011110101になります。最初の2bitは10ですね。誤り訂正レベルは以下のように定義されていますので、このコードの誤り訂正レベルはHということになります。□□(白,白)だったら、誤り訂正レベルH□■(白,黒)だったら、誤り訂正レベルQ■□(黒,白)だったら、誤り訂正レベルM■■(黒,黒)だったら、誤り訂正レベルLです。いうわけですので、セルサイズが変わらないという前提で言えば、コーデ(衣装)カードは84byteのURL形式が固有IDとして割当られるようです。旧アイカツカードにも実はQRコードも併記されているんですが、こちらはもっとコード量が少ないです。URLが「http://aikatsu.com/」になっているので、固有コードはもっと短いです。旧アイカツカードの裏のQRコードの誤り訂正レベルはL(7%復元)、バージョン4だったのに対して、アイカツスターズのQRコードは最も誤り訂正レベルの高いレベルH(30%復元)、バージョンは8になっていますね。オンデマンド印刷での品質を考慮した結果でしょうか。ところで、Webにある、QRコード生成サイトで、同じURLのQRコードを同じバージョンと誤り訂正レベルで作ってみても、QRコードが同じになりません。同じになる場合もあるんですが、QRコード生成時に、いまいち規格上固定されない部分や、規格の年式による微妙な違いがあり、実装により変わるみたいです。アイカツスターズの筐体が、この部分の違いまで見極めて勝手に作ったQRコードを不正なカードと判断するかするかどうかは・・・まぁ、しないでしょうね。ライバル機である、プリパラのQRコードは白黒反転されております。これはデータの保護というよりは、デザイン面での配慮な気がします。