CDのピットの数

いかづちSqueak

2021年03月05日 23:32

700MiB=58.7億bitだから58.7億個?
違う。
内容によって変わるが、たぶん平均的に20億個くらいだと思う。

まずセクタ数とセクタあたりバイト。Wikipediaを見る。
コンパクトディスクは650MiBでは約333,000セクタ、700MiBでは約360,000セクタからなる。1セクタは2,352バイト
セクタはとりあえず360000の方を取ることにする。この2352バイトというのが誤り訂正符号を含むのかどうか分からなかった。
英語版Wikipediaを見ると、
Each of these structures contains 98 channel-data frames, totaling 98 × 24 = 2,352 bytes of music.
誤り訂正符号を含まないデータだけの値のようだ。
なので誤り訂正符号を含めて1セクタあたり2352/24*33=3234バイト、360000セクタを掛けて11.6億バイト。
これにEight-to-fourteen modulation(EFM)を掛ける。
符号表はここにある。出現するデータに偏りがある可能性はあるが、よく知らないのですべて同様に出ると仮定すると、平均した1の数は3.07個くらいだった。
この14bitごとに3bitのmerging bitが付く。付き方についてはStandard ECMA-130「Data interchange on read-only120 mm optical data disks(CD-ROM)」という資料のAnnex Eにあった。
4種類(000, 001, 010, 100)のうち0の数2個以上10個以下の条件を満たす中でdigital sum value (DSV)が最小になるものという。DSVの説明がよく分からないが、たぶんHighとLowの割合を等しく保つやつだと思う。
とりあえず256個のパターンの先頭と末尾の組み合わせ65536通りを調べてみると、0の数が合計2個未満、つまりmarging bitが000に確定するものが16211通り、0が合計7個超、つまりmarging bitが1を含むことが確定するものが7529通りあった。
残りの41796通りが問題だ。考えてもよく分からなかったので、単純に4種類が均等に出ると考えて3/4の確率で1が入ると仮定する。すべて合わせて1の入る確率は0.59ほどとなった。
そうすると3.07個くらいと合わせて1バイトあたりの1の数は3.66個くらいになる。
データの1ごとにピットの有無が切り替わる(つまりピットの縁がデータの1に対応する)ので、ピットの数は1の数の半分、11.6億バイト×3.66[個/バイト]/2=21.3億個。
というわけでピットの個数は20億個くらいと推測できた。

関連記事