テレビのリモコンをスマートフォンのカメラに向けてボタンを押してみてください。多くのスマートフォンでは、肉眼では見えないもの、すなわちリモコンの先端が淡い光で点滅しているのが見えるはずです。それはリモコンの赤外線LEDがコードを送るために点滅している姿です。そして、太陽光がどのLEDよりもはるかに多くの赤外線を降り注ぐ、日当たりの良いリビングルームの端から端でもリモコンが機能する理由は、出力の強さではありません。それは変調(モジュレーション)です。リモコンは太陽よりも明るく輝こうとするのではなく、太陽が点滅しないレートで点滅します。そして、テレビの受信機はそのレートの変化のみを聴き取るのです。フリッカー(ちらつき)を検出するように調整された検出器にとって、どれほど強いものであっても、一定の眩しい光は見えません。

「既知の点滅レートは、いかなる一定の光の中でもかき消されないシグネチャーである」というこのひとつのアイデアは、最もシンプルなリモコンから、天井の照明器具をワイヤレスアクセスポイントへと変えるLi-Fiの研究システム(Haas et al., "What is LiFi?" が代表的な解説です)に至るまで、共通して使われています。そして、これこそが Sentio の変調光ツールの動作原理そのものであり、データを伝送するためではなく、測定値を伝送するためにこの仕組みを利用しています。

2台のスマートフォンによる構成

このツールは、一対のデバイスの片側として機能します。もう1台のスマートフォン(または任意の画面上のウェブアプリ)が送信機となります。画面を白と黒で交互に点滅させ、正確に 2 Hz のきれいな矩形波を作り出します。各周期の振幅を一定に保つため、画面の輝度は最大値に固定されます。測定を行うスマートフォンのカメラは、6秒間(丸12周期分)監視し、順に2つの問いを確認します。

また、このツールは振幅をカメラの赤・緑・青の各チャンネルごとに個別に記録します。さらに、少し時間を置いて安定した後に自動露出とホワイトバランスをロックします。なぜなら、カメラの自動調整に任せてしまうと平均輝度を追従しようとしますが、その平均値こそが意図的に切り捨てるべき信号そのものだからです。

Diagram of extracting a modulated signal from ambient light. Top trace: brightness over time seen by the camera — a slowly drifting ambient level with a small two hertz square wave riding on it, plus one outlier spike. Two horizontal dashed lines mark the robust upper and lower percentile levels; their separation is the measured swing. Bottom annotation: the drifting ambient component and the outlier spike are rejected; only the oscillation at the known rate is kept. What the camera sees: ambient drift + the emitter's 2 Hz blink time (6 s capture, ≥12 cycles) brightness ambient level (drifts — rejected) glint (outlier — ignored by percentiles) swing = robust spread of samples Steady or slowly drifting light contributes nothing to the swing — only change at the emitter's known rate is measured.
スマートフォンにおけるロックインの思考:測定値とは、送信機のレートと正確に一致する輝度の振幅であり、ドリフトや一瞬の反射に影響されないようロバストに読み取られます。

この振幅は何に使うのか

1回の撮影で得られる振幅それ自体には、距離や角度、送信側の画面、受信側のカメラに依存するため、ほとんど意味はありません。しかし、同じ構成で2回撮影してその値を割り算すると、これらの要因はすべて相殺されます。この比率こそが、ガラス窓のアクティビティの原動力です。カメラに向けて直接点滅させ、次にガラス板越しに点滅させます。「透過時の振幅」を「直接の振幅」で割ったものが、そのガラス板の透過率になります。これは色チャンネルごとに算出されるため、Low-E(低放射)コーティングによる青色光の強い吸収を、曖昧な色味としてではなく、測定された選択性として示すことができます。撮影の合間に送信機を90度回転させれば、同じ構成で偏光をテストすることも可能です。

この比率が信頼できる理由は、まさに第1段落で触れたリモコンの物理原理と同じです。室内の照明、ランプ、反射光、そして太陽光は、いずれも 2 Hz のテストを通過できず、両方の撮影データから排除されます。そのため、照明の点いた店舗の中で、窓にフィルムをかざして測定を行っても、店舗の照明が結果に影響を与えることはありません。

類似のツールと、その境界線

このツールの受動的な親戚にあたるのが、Blinking(明滅)です。これは、LEDのフリッカー、ルーターの点滅パターン、回転機械など、周囲の環境が変調させる光の周期を測定します。この方向性には、健康面での確かな関連性があります。LED照明のフリッカーに関する仕様は、IEEEの推奨指針である IEEE 1789-2015 のテーマとなっています。その理由はまさに、目には意識的に見えない低周波変調であっても、脳(頭部)がそれを感じ取らないとは限らないからです。この変調光ツールとの違いは、一言で言えば、点滅がこちら側のものであるという点にあります。既知の刺激を用いることで、単なるフリッカータイマーを透過光度計へと変えることができるのです。

正直に言うなら、境界線もあります。お手持ちのリモコンの実際のコードは、このツールで読み取ることはできません。赤外線リモコンは数十 kHz で変調し、ミリ秒単位のビットタイミングを使用しますが、これは1秒間に数十回しか輝度をサンプリングできないカメラの限界をはるかに超えています。カメラはリモコンのLEDが発光していることを視認することはできますが(カメラセンサーの不完全な赤外線フィルタリングのおかげで、電池切れの確認には本当に役立ちます)、パターンのデコードは専用の赤外線レシーバーの役割です。このスマートフォンツールは、意図的に変調スペクトルの極めて低速でロバストな領域を利用しています。2 Hz は通信としては極めて遅いですが、測定値の伝送媒体としては、周囲のドリフトから逃れるのに十分な速さであり、かつ、どのようなカメラでも確実にサンプリングできる十分に遅い速度なのです。

プロ用器具 スマートフォン変調光システム ギャップが問題になる局面
分光光度計($3,000–$50,000):透過率対波長、ナノメートル分解能、校正済み基準光 3つの広い色チャンネルにおける透過率、変調により環境光の影響を受けない コーティングのスペクトル、紫外線/赤外線の透過率、データシートレベルの正確な数値 — 3つの太いRGBバンドでは、モノクロメーターが分解できるものを分解することはできません
波形キャプチャ機能付き照度・フリッカー計($500–$3,000、IEEE 1789基準に準拠) 自身の送信機の変調を確認して同期、ロバストな振幅の読み取り値 未知の高速フリッカー(kHz 帯の PWM)の特性評価 — カメラのサンプリングレートによって、測定可能な上限が制限されます
フォトダイオード + ロックインアンプ(ラボ用セットアップ、$2,000+):これとまったく同じ手法を本格的に再現した構成 カメラをフォトダイオードとして、パーセンタイルをロックイン検出として使用する、同一のアーキテクチャ ダイナミックレンジと対応周波数範囲 — ラボ用の構成なら、任意の変調周波数において、数千倍も微弱な信号を復元できます
赤外線プロトコルアナライザー / 赤外線レシーバーモジュール($10–$100) リモコンのLEDが発光していることは確認可能、38 kHz のキャリアはデコード不可 実際にリモコンのコードを読み取ること — それに適したツールは昼食代よりも安く手に入り、スマートフォンではありません

実践されている設計原則:検証していない刺激は決して信用するな。発信側は2 Hzを指令しますが、受信側は到達した信号のタイミングを独自に計測し、確認できない点滅からは一切の計算を行いません。これは、自身のトーチを検証するストロボ・ツールや、自身のトーンを認識する遮音スイープと同じ規律です。「アプリが画面に点滅を指示した」と「カメラが点滅を測定した」の間では、測定プラットフォームは常に後者を信じるべきなのです。

振幅比がどのようにして窓ガラスの完全な判定に至るかについては、透明度と偏光に関する記事をお読みください。スマホの光学系が実験室レベルの光学機器と真に渡り合える領域のマップについては、こちらの率直な解説をご覧ください。