VGA&DVI・HDMIのテスト映像送出とVESA DDC(EDID)の確認の後半で触れているVESA DDC(EDID)についてまとめます。
※任意のEDIDを書き込む手法の紹介もご参考に
カスタマイズしたEDIDデータを書き込む方法を考える
カスタマイズしたEDIDデータを書き込む方法を考える
VESA DDC(EDID)とは
VESA DDCとはDisplay Data Channelの略で、モニタとグラフィックボード間で双方向にやりとりを行うためのシリアル通信です。このVESA DDCを使用し、グラフィックボードからモニタに対して受像が可能な規格一覧を送り、正常な画像・または音声を自働的に選択、又は対応していない規格で送出できないようにするための一覧表のファイル・フォーマットをEDID(Extended Display Identification Data)と呼びます。
普段、気にすることはないと思いますが、パソコンにモニタをつないだら勝手に解像度が切り替わったり、自働的にモニタの電源が入ったり、PC上で送出できる解像度が制限されたりしますが、あの動作がVESA DDC(EDID)によるものです。
VGA端子だとピン12・15、DVI端子だとピン6・7、HDMI端子だとピン15・16でやり取りをしています。
その他、GND線が必須です。VESA DDC2B規格ではVGA端子の9番ピンに+5V供給し、ディスプレイの電源がOFFの状態でもEDIDを取得できるように定められています。
参考リンク:Standards FAQ(英文)
※DDCの項目を参考にしてください。
その他、GND線が必須です。VESA DDC2B規格ではVGA端子の9番ピンに+5V供給し、ディスプレイの電源がOFFの状態でもEDIDを取得できるように定められています。
参考リンク:Standards FAQ(英文)
※DDCの項目を参考にしてください。
つまり、V5-3Cなど同軸線5線で敷設した線路にはVESA DDC(EDID)を乗せることが出来ません。
※下記リンクで対策をしてみました。
※下記リンクで対策をしてみました。
参考リンク:
実際にやり取りされているデータ
VESA DDCは「Data」と「Clock」、「Ground」で伝送され、データ形式としては上図の様なバイナリ・データです。バイナリの状態では意味が分かりませんので読めるように展開する必要があります。
※Windowsでは、一度接続したモニタの(取得が可能だった)EDIDはレジストリにバイナリ・データとして格納されています。
レジストリ・エディタで「EDID」と検索してみてください。筆者のWindows Vistaでは、
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU\edid
に格納されていました。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU\edid
に格納されていました。
バイナリ展開には以下のフリーアプリケーションを使用しました。
Stirling
Stirling
VESA DDC(EDID)のバイナリ・データを展開するのにMonitor Asset Managerというアプリケーションを使用します。
※アプリケーションからEDIDデータを開くには「File」→「Open」で種類を「All files」にする必要があります。
※アプリケーションからEDIDデータを開くには「File」→「Open」で種類を「All files」にする必要があります。
Monitor Asset Manager
※フリーウェアでの使用は個人に限定されています。
※フリーウェアでの使用は個人に限定されています。
これがVESA DDC(EDID)のバイナリ・データを展開したものです。
やり取りをしている情報が非常に多く、これから何を読み取れば良いのか戸惑うかもしれませんが、筆者がいつも見ている項目を以下に挙げます。
・Power management → モニタの電源制御項目です。「Standby, Suspend, Active off/sleep」などと記載されているとwindowsなどで設定できる「モニタの電源を切る」などの制御が可能です。
■Color characteristics項目
・省きます(笑)
・省きます(笑)
■Timing characteristics項目
・Native/preferred timing → ここにパネル解像度が記載されていて、ドット・バイ・ドットできるサイズとリフレッシュレートが分かります。
・Native/preferred timing → ここにパネル解像度が記載されていて、ドット・バイ・ドットできるサイズとリフレッシュレートが分かります。
■Standard timings supported項目
・ここで定義されている入力解像度が分かります。しかし、EDID上は定義されていないというだけのことなので、この一覧から得られる項目以外の解像度もサポートされている場合があります。
・ここで定義されている入力解像度が分かります。しかし、EDID上は定義されていないというだけのことなので、この一覧から得られる項目以外の解像度もサポートされている場合があります。
例:640 x 480p at 60Hz - IBM VGA
800 x 600p at 60Hz - VESA
1024 x 768p at 60Hz - VESA
1280 x 1024p at 60Hz - VESA STD
800 x 600p at 60Hz - VESA
1024 x 768p at 60Hz - VESA
1280 x 1024p at 60Hz - VESA STD
HDMIやDVIの場合は「EIA/CEA-861 Information」が追加されます。
この場合、筆者は以下を確認します。
・IT underscan → アンダ・スキャン機能の有無
・Basic audio → 基本オーディオのサポート
・YCbCr 4:4:4 → 色差4:4:4のサポート
・YCbCr 4:2:2 → 色差4:2:2のサポート
この場合、筆者は以下を確認します。
・IT underscan → アンダ・スキャン機能の有無
・Basic audio → 基本オーディオのサポート
・YCbCr 4:4:4 → 色差4:4:4のサポート
・YCbCr 4:2:2 → 色差4:2:2のサポート
■CE video identifiers (VICs) - timing/formats supported項目
・ここではビデオ規格としてのフォーマットが記載されています。
・ここではビデオ規格としてのフォーマットが記載されています。
例:1920 x 1080i at 60Hz - HDTV (16:9, 1:1)
1280 x 720p at 60Hz - HDTV (16:9, 1:1)
1920 x 1080p at 60Hz - HDTV (16:9, 1:1)
NB: NTSC refresh rate = (Hz*1000)/1001
※1000/1001は、29.97や59.94の別名表記です。
1280 x 720p at 60Hz - HDTV (16:9, 1:1)
1920 x 1080p at 60Hz - HDTV (16:9, 1:1)
NB: NTSC refresh rate = (Hz*1000)/1001
※1000/1001は、29.97や59.94の別名表記です。
HDMIではほとんどサポートされていますが、DVI接続でインターレース表示が可能なのかはここで分かります。
■CE audio data (formats supported)項目
・こちらは家庭用AVアンプなどHDMIで音声入力が可能な場合記載される項目です。以下に例を挙げます。
・こちらは家庭用AVアンプなどHDMIで音声入力が可能な場合記載される項目です。以下に例を挙げます。
例:LPCM 2-channel, 16/20/24 bit depths at 32/44/48/88/96/176/192 kHz
LPCM 8-channel, 16/20/24 bit depths at 32/44/48/88/96/176/192 kHz
AC-3 6-channel, 640k max. bit rate at 32/44/48 kHz
AAC 6-channel, 576k max. bit rate at 32/44/48 kHz
DTS 7-channel, 1536k max. bit rate at 32/44/48/88/96 kHz
DTS-HD 8-channel, 16-bit at 48/96/192 kHz
LPCM 8-channel, 16/20/24 bit depths at 32/44/48/88/96/176/192 kHz
AC-3 6-channel, 640k max. bit rate at 32/44/48 kHz
AAC 6-channel, 576k max. bit rate at 32/44/48 kHz
DTS 7-channel, 1536k max. bit rate at 32/44/48/88/96 kHz
DTS-HD 8-channel, 16-bit at 48/96/192 kHz
■CE vendor specific data (VSDB)項目
・モニタによってはこの項目で3D対応などが分かります。
・モニタによってはこの項目で3D対応などが分かります。
例:3D structures supported.. Top-and-bottom, Side-by-side w. horizontal sub-sampling
3D formats supported..... Mandatory formats plus all primary VICs
3D formats supported..... Mandatory formats plus all primary VICs
実装されているPROMまたはEEPROM
EDIDのデータはPROM (programmable read-only memory) または EEPROM (electrically erasable PROM) にメモリされています。
ハード部分につきましては、以下のサイトの「 EDID用EEPROMの調達」をご参考下さい。これ以上の説明は国内のwebサイトには無いと思います。
DVI-D_Direct Connection
http://www.geocities.co.jp/dvid_direct/
http://www.geocities.co.jp/dvid_direct/
EDIDがエンベッドされていない事による不具合事例
なんか良く分からないけど、いままでBNC×5本で良かったじゃん、なにか問題でもあるの?と思う人はきっと沢山いると思いますが、近年では、4:3、5:4、16:9、16:10というアスペクト比が入り乱れており、ノートPCからプロジェクタに映像を送出する際に、XGA(1024×768)をネイティブ伝送として定義したシステムに於いては、EDIDの手助けなしでは正常に映像を送出することが出来ない事例が多々あるのです。※サポート外の映像信号を入力することにより、プロジェクタ側や、間に挟まっているスケーラを内蔵した機器が誤作動を起こす場合がある。
近年の対応策としては、VESA DDC(EDID)エミュレータを間に挟む対応が取られています。
IMAGENICS DM-C1 アナログVGA用 & DM-C2 DVI用
IDK DDC-01-A アナログVGA用 & DDC-02 DVI用
Extron EDID 101V アナログVGA用 & EDID 101D DVI用
デジタル伝送になっても基本的に仕組みは変わりませんので、本記事が参考になれば幸いです。