256階調を超えて:FPGAとRP2040で「時間」のロジックを書き換える理由
目次
「自然な」変化へのこだわり#
今日のデジタル照明の多くは「段階的」に感じられます。明るさを調整したり、色温度を変えたりすると、目にはかすかなちらつきが感じられ、自然界には存在しないデジタル特有の冷たさが漂います。
この感触の正体は、たいていの場合 8bit、つまり 256階調 にあります。
一般的な LED ドライバは PWM のデューティ比を 0〜255 の整数で指定します。上限側では、254 から 255 への1段階は輝度にして 0.4% ほどの変化で、人間の目には見分けがつきません。ところが下限側では、1 から 2 への1段階が 輝度の倍増です。同じ「1段階」でありながら、暗いところでは光の量が2倍になる。
人間の視覚は輝度の絶対量ではなく比率に反応するため、この差がそのまま「段階的」な見え方になります。夕暮れの再現で言えば、明るいうちは滑らかなのに、暗くなるほど階段を降りるようにガクガクする。ガンマ補正のテーブルを噛ませても、入力が 8bit である限り実際に使える段数が減るだけで、暗部の粗さは解決しません。
必要なのは補正ではなく、階調そのものを持ち直すことです。暗部にこそ段数を厚く配る。そのためには 8bit という器を捨てる必要があります。
そこで、FPGA で実現する精度の高い調光と、RP2040(こちらは MCU ですが)の柔軟性に着目しました。
リバースエンジニアリングから創造へ#
15年前、私は手元にあった Blackmagic Design の SDI-HDMI コンバーターを開けて、中身を眺めていました。グラント・ペティ率いるチームが、使いやすくも妥協のないプロフェッショナルツールをどのように作り上げたのか。私はそこに心を奪われました。
その「魂」を理解したくて、動作原理を追いながら、同等の機能を Spartan-6 FPGA 上に自分で実装してみました。数カ月かかりました。
そして今、私は自身のブランド「Cool Backline Lab」のもと、その同じ厳密さを照明分野にも応用しています。
「ビフォー」の美しさ#

上の写真にある赤い基板は、システムの心臓部、P26003A 照明制御基板です。確かに、基板はフラックスで覆われています。RP2040 周辺のハンダ付けには、数え切れないほどのデバッグ作業の痕跡が残っています。しかし、まさにここに魔法が宿っているのです。
現在は RP2040 のデバッグと並行して、cocotb と Python ベースの検証ツールを使って FPGA ロジックを改良しています。なぜこのツールを使うのか。それは、品質とは最終的な仕上がりだけではなく、コードが厳密なタイミングで動作することの保証が必要だからです。
この検証方法はまだ修得の途中です。身に付くまでの間、品質を担保しているのは出荷時の全数検査です。私のラボにある MongoDB ベースのシステムには、出荷したすべての製品の検査ログが残されています。
全数検査は、開発時の検証方法を身に付けた後も継続するつもりです。製品の不具合は開発段階のものだけでなく、製造工程に起因するものもあるからです。
クリエイターのためのツール#

この白色の電子基板 P26002A(Lighting LED基板)は、2700K と 6500K の2色 LED がアレイ状に実装されています。カスタム FPGA ロジックまたは RP2040 MCU でこの2つの色温度を制御することで、午前6時の爽やかな夜明けから、深夜の作業スペースを照らす深みのある琥珀色まで、一日のあらゆる瞬間を再現できます。
先ほどの 256階調の話が効いてくるのはここです。夜明けの再現で最も繊細なのは、光が立ち上がりはじめる最初の数パーセント。8bit ではその区間に数段しか割り当てられません。階調を持ち直して初めて、「暗いところが滑らかに明るくなる」という当たり前のことが成立します。
私は単なる PCB を作っているのではありません。光を物語として捉えるデザイナーのためのキャンバスを創り上げているのです。
今後の予定は?#
P26002A / P26003A は Tindie で公開しました。
そしてもう一つ挑戦があります。このボードで表現される24時間の自然光を、5分間のタイムラプス映像に収めることです。
乞うご期待。「完璧な光」はもうすぐ完成します。
Technical Direction for Your Vision
理想の「光」や「動き」を追求するための、最適な技術選定と実装を。 日本の製造業を世界へ届ける品質で、あなたのプロジェクトをサポートします。
各SNSのDM または お問い合わせフォーム からお気軽にご連絡ください。