ATOM Display Latency Checker

visibility424
visibility424

HDMI入力のディスプレイの表示の遅延時間を測定するための装置
An equipment to measure latency of display which has HDMI input.

link https://github.com/ciniml/atom_display_fpga/tree/latency_checker/latency_checker
動画
開発素材

デバイス

システム構成
system image

遅延測定器では、ATOM DisplayのFPGAから常に1920x1080 60[FPS] の映像信号を流し続けます。このときの映像信号は、左上の128x128ピクセルの矩形領域を白色 (0xffffff) に500[ms]周期で点滅を繰り返し、それ以外の領域は黒色 (0x000000) を出力します。 また、FPGAからESP32に剥けて、映像信号の矩形領域を白色にする期間は H 黒色にする期間は L となる信号を合わせて出力します。

遅延測定対象のディスプレイの左上には、輝度を測定するための フォトトランジスタ をマスキングテープなどで貼り付けておき、その出力信号をESP32に入力します。

FPGAからの点滅期間の信号の立ち上がり・立下りに対するフォトトランジスタの信号の立ち上がり・立下りまでの遅延時間を、ESP32上のソフトウェアで測定すれば、ディスプレイの遅延時間を測定できます。

ストーリー

ディスプレイの遅延について

テレビやPCのディスプレイは、映像信号が入力されてから実際に映像信号の対応する画素に輝度が反映されるまでに、一定の遅延が発生します。

遅延の要因についてはいくつかありますが、主に内部の映像処理による遅延と、ディスプレイの素子自体の遅延があります。

内部の映像処理による遅延に関しては、色変換などの単純なものであれば、1フレーム分のバッファリングを行わずに処理できますが、複雑なものになると、1フレーム分バッファリングが必要になるようなものがでてきます。 このような画像処理では、必ず1フレーム分、例えば60[FPS]であれば16[ms]以上の遅延が発生します。

近年ではゲーム用途などにおいて低遅延であることが求められるため、こういった遅延が発生する画像処理を行わないなどで低遅延化を図ったディスプレイなども存在します。 これらの低遅延ディスプレイでは、画像処理にくわえて、ディスプレイの素子自体も応答速度の速い方式のものを使用しているようです。 ディスプレイの素子の方式に関しては、筆者は専門ではないので詳しくは述べません。

ディスプレイの遅延測定

ディスプレイの遅延を測定する方法としては、単純に映像信号を出力する機器で映像信号の画素値を変更した時点から、実際にディスプレイの画素の輝度が変化するまでの時間を測定するのが最も単純な方法です。 この方式で測定する場合、映像信号を出力する機器が画素値を変更した正確なタイミングを知る手段と、ディスプレイの画素の輝度の変化を検出する手段が必要となります。

一般的なPCのグラフィクス機能などを使って映像信号を出力する場合、通常のウィンドウシステムなどを経由した場合、ある特定の領域の画素値の変更が即座に映像信号の出力に反映される保証はありません。

ディスプレイの遅延測定の時間の分解能は、フレームレートが60[FPS]の場合1フレーム16[ms] であり、最近の低遅延ディスプレイの場合は 1[ms] の遅延を謳ったものもありますので、100[us] 程度の分解能で測定できることが望ましいです。 この場合、一般的なPCで保証可能なリアルタイム性の範囲を越えるため、リアルタイム処理に向いたMCUなどを用いることとなります。 ただし、MCUを用いる場合、映像信号を出力できるのかが問題となります。

こういった問題を解決できるのが、 ATOM Display です。

ATOM Displayとは

ATOM Display は、M5Stackが製造・販売している、HDMI映像出力ユニットです。ATOM Displayは、HDMI映像出力部分である ATOM Display本体と、 M5ATOM Lite から構成されます。 M5ATOM Liteは、無線機能付きMCU ESP32 を内蔵している小型のMCUモジュールです。

ATOM Displayでは、M5ATOM Liteに搭載されたESP32上のソフトウェアから描画コマンドを送ることにより、HDMI経由でディスプレイに画像を表示できます。 ここで、ディスプレイに実際に表示する映像信号は、ATOM Displayに内蔵されている FPGA と呼ばれる、論理回路を変更可能な素子により生成しています。

FPGAの論理回路の内容は、工場出荷時には、ESP32からのコマンドを受け取って表示する画像を書き換えることができるディスプレイ・コントローラの回路となっています。

FPGAの論理回路自体は、筆者のGitHubリポジトリにて公開しており、開発環境さえ構築すれば誰でも変更することができます。

メンバー
  • user
    Kenta Ida @ciniml

関連イベント
  • event M5Stack Japan Creativity Contest 20222022-07-15 開催

同じニオイがする作品
  • event ROHM(老無)ゲーム
  • event チュウキョ〜くん とハミガキゲーム
  • event Kobots コネクト・カスタマイズ・ロボット
  • event opniz

Proto lovers ♥
user

イベントまとめ

コンテストまとめ

作品を登録しよう

モノづくりしている人に、つくった作品を見てもらえ、リアクションがもらえるかも?

close

目次


Proto lovers ♥
user