この tweet の内容について、LED を先程点滅させてみて気づいたことは、 これは使い方によっては 健康被害を及ぼす可能性がありそう であることがわかった。

点滅の時間間隔を狭めれば狭めるほど多くの情報ビットを重畳することができる。 符号化率=1という超理想環境下では、30 Hz で LED の点滅を切り替えれば、 30 bps で通信できるということになる。 つまり、点滅間隔の時間に反比例してスループットを上げることができる。

一般的なスマホで撮影するというユースケースを考えると、 現状高々 30 fps 程度まででしか録画できない。

30 fps で動画撮影した時に識別できるのは高々 30 Hz での点滅である。 そこで、 30 Hz (点滅間隔 33.3 ms) 程度で LED を実際に点滅をさせてみた結果、 観ているのが気持ち悪くなった。 どうやら LED の点滅が人間の視覚に晒されることで、 いわゆるポケモンショックのような症状が起こりそうである。

人間の視覚上点滅が気にならなくなるのは、60 Hz ぐらいらしいのだが、 お手近の GR-Sakura (Arduino 互換ボード) で実際に試したら 100 Hz ぐらいまでは見ていて気持ち悪くなった。 安全のため、120 Hz 程度で点滅をするようにするべきであろう。

120 Hz 程度で点滅させるとなると、120 fps で撮影してくれないと困るわけだが、 しばらくは出てこなさそうである。

DCIのデジタルシネマの規格でも下記の通り、高々48 fpsしか求められていない。

  • The output of the decoder shall conform to Section 3.2 Image Specification. These images are basically:
    • 4K = 4096x2160 at 24 FPS
    • 2K = 2048x1080 at 24 or 48 FPS
    • ...

以上より、「あっイルミネーション」「うわーキレイ~」「アプリ起動してスマホかざしてみて!」「これって///」… を実現するためには、単純に点滅させる方法しか思い浮かばない限り、当分の間は無理そうである。

参考文献