驚くほど多くのものが、点滅によって情報を伝えています。ルーターはLEDのパターンで状態を知らせ、家電製品はエラーコードを点滅させます。安価なLED電球は、頭痛の原因になるまで気づかないほどの速さでパルス点滅しています。扇風機、ドリル、車輪などは、肉眼ではとても数え切れないものの、無視できない速度で回転しています。これらはすべて周期的な光の信号であり、カメラとは、一定のレートで光をサンプリングする装置でもあります。カメラを対象に向けるだけで、周期の測定器になります。

それがBlinkingツールです。点滅する光にカメラを向ければ点滅レートを測定し、回転するオブジェクトに向ければ回転周波数を推定します。キャプチャ機能がフレーム内の明るさの時間変化を監視して周期を特定し、周波数をレポートします。心の中で数えようとした曖昧なリズムの代わりに、記録、比較、傾向分析ができる数値となります。

目には見えないが、頭が感じ取っているフリッカー

まず、人々が最も驚くユースケースから始めましょう。多くのLED電球やディスプレイは、PWM(パルス幅変調)によって調光を行っています。実際には光が弱くなっているわけではなく、1秒間に何百回も完全にオンとオフを繰り返しており、人間の視覚システムがそのパルスを平均化して「暗い」と知覚しているのです。あくまで意識の上で平均化している、ということです。多くの人が、低周波のPWM(特に電源周波数の2倍でフリッカーが発生する安価な電球)によって、眼精疲労、頭痛、あるいは原因不明の不快感を抱えています。そして通常、その原因を突き止めることはできません。フリッカーは設計上、目に見えないようになっているからです。

カメラは脳のように平均化処理を行いません。センサーによってサンプリングされたPWMフリッカーは、ツールが計測可能な周期的な明るさの信号として現れます。もしデスクの上の怪しい電球が100 Hzでフリッカーしており、交換した新しい電球が完全に安定しているなら、それは勘ではなく、カタログ内の2つのオブジェクト間で実際に測定された違いとなります。購入する前に店頭ディスプレイの電球を測定すれば、頭痛の原因となる製品を特定できます。

点滅コード:LEDが伝えようとしているメッセージ

2つ目のカテゴリは、より動作が遅く、直接的なものです。ルーター、充電器、食洗機、プリンター、産業用機器などはすべてインジケーターの点滅パターンでステータスを通知し、マニュアルには「遅い点滅(1秒に1回)=接続中、速い点滅(1秒に2回)=エラー」のようにタイミングが記載されています。人間は1 Hzと1.5 Hzの違いを見分けるのが苦手です。ルーターにイライラしているときはなおさらです。カメラなら難なく見分けられます。カメラを向けて、キャプチャし、レートを読み取り、調べるだけです。そして、測定値はオブジェクト(このルーター)の下に保存されるため、先月の障害時の点滅レートが記録として残っており、再び同じライトが点滅し始めたときに参照できます。

回転:あのファンは実際にどのくらいの速度で回っているのか?

回転するオブジェクトも光を変調させます。ファンの羽根が目の前を通過すると、任意の点における反射光の明るさが羽根1枚ごとに上下します。フレーム内のこの周期性が回転を表現しています。Blinkingツールはこれと同じ時間領域分析を用いて、回転部品の回転周波数を推定します。「中」に設定されたシーリングファン、故障が疑われるPCのケースファン、定格速度を念のため確認したい作業場のモーターなどが対象です。故障しかかっているファンは、完全に停止する前に速度が低下することがよくあります。同じオブジェクトの下に保存された、1か月あけて測定した2つの測定値を比較すれば、その傾向を捉えることができます。

誠実な限界:エイリアシング

ここで注意事項があります。これは極めて現実的な問題であり、設計全体に関わってくるものです。カメラは自身のフレームレート(一般的には毎秒30フレームまたは60フレーム)で光をサンプリングします。サンプリング理論は、それによって得られる限界を冷徹に示しています。信号を直接測定できるのは、変化の速度がサンプリングレートの半分未満である場合に限られます。それよりも速く点滅すると、カメラは「速すぎて測定不能」と判断するのではなく、誤った、より遅いリズムとして捉えてしまいます。これがエイリアシングであり、古い映画で馬車の車輪が逆回転しているように見えたり、蛍光灯の下で扇風機が静止しているように見えたりするのと同じ現象です。

そのため、このツールは測定可能な範囲について誠実です。数Hz程度のインジケーターの点滅コード:余裕で測定範囲内。低速のPWMや電源由来のフリッカー:フリッカーレートとフレームレートの干渉に注意すれば測定可能。30,000 RPM(毎秒500回転)のドリルビット:60 fpsのセンサーが直接測定できる範囲をはるかに超えています。フレームレートはいわば「定規」であり、その定規の長さを超えるものは測定できません。

実践されている設計ルール:測定ツールは、物理的な限界がどこにあるかを把握し、それを明示すべきです。カメラのフレームレートは厳格なサンプリング限界であるため、Blinkingツールは、エイリアシングされた数値をあたかも真実であるかのようにレポートするのではなく、曖昧さなく測定できる周波数のみを提示します。自信たっぷりの誤った読み取り値は、誠実な「範囲外」という表示よりも悪質です。エイリアシングが発生する領域は、隠されるのではなく、別の手法へと引き継がれます。

フレームレートの先へ:Strobe実験

その限界の向こう側には何があるでしょうか?ここから先は、エイリアシングが単なる邪魔者ではなくなります。エイリアシングを測定器具へと変える古典的な裏技、すなわちストロボスコープがあるからです。回転するオブジェクトに、その回転速度と全く同じ周期で点滅する光を当てると、オブジェクトは静止しているように見えます。毎回のフラッシュが同じ位置にあるオブジェクトを照らし出すからです。技術者たちは、この方法でRPMを読み取るために、1世紀にわたり専用のストロボを使用してきました。

スマートフォンのライトも点滅させることができます。そのため、Sentioの開発途上版(リサーチビルド)には、ライトの点滅レートをスイープしてストロボ効果による静止状態を探し、その静止が起きたポイントから回転または振動するオブジェクトの周波数を推定する、Strobeツールが搭載されています。はっきり言っておくと、これはリサーチビルドにおける実験的な機能であり、製品版としてリリースされた機能ではありません。ライトのハードウェアは、どれほど高速かつ安定して点滅できるかが機種によって大きく異なるため、実用レベルの精度を保証するには、様々なデバイスにわたる検証が必要です。しかし、これはBlinkingツールに対する、知的好奇心を満たす好対照の存在です。受動的な測定を制限していたまさにその現象を、意図的に利用することで、その限界を乗り越える手段となるのです。プラットフォーム上のすべてのキャプチャと同様に、分析はデバイス上で実行されます。また、研究用のキャプチャは、後から既知のRPM基準値と紐付けてラベル付けすることができ、これこそが検証に必要なデータとなります。

記憶ではなく、ファイリングする

ここで紹介するすべてのツールに共通しているのは、重要なのは単一の測定値そのものではなく、文脈における測定値であるという点です。点滅周期はマニュアルの表と見比べることで意味を持ち、フリッカー周波数は電球同士を比較することで意味を持ち、ファンのRPMは先月のデータと突き合わせることで初めて意味を持ちます。キャプチャしたデータはすべて、カタログ内のオブジェクトごとにファイリングされ、結果(頭痛を解消した電球、あるいは本当に寿命を迎えたファンなど)が判明した時点で、グラウンドトゥルース(正解)のラベルを付けることができます。その場限りの一瞥が記録となり、記録が積み重なることで、本来の目的であった比較が可能になります。

カメラには、時間を計測するのではなく、色や環境光を測定する、より静かなモードもあります。これについては Color and light で解説しています。マイクから加速度センサーまで、スマートフォンのセンサーで測定できるものの全体像については、まず ツールの概要 をご覧ください。