利用者‐会話:Takot/EDID draft
拡張ディスプレイ識別データ (かくちょう―しきべつ―; Extended display identification data, EDID) とは、コンピュータ ディスプレイが グラフィックスカードに対してディスプレイの性能を伝えるための データ構造である。 EDIDによってパーソナルコンピュータは、どのようなモニターが接続されているかを 知ることができる。 EDIDはVESAが公開している標準によって定義されている。 この中にはメーカー、型番、蛍光体やカラーフィルタの種類、 ディスプレイが対応する信号タイミング、輝度、デジタルディスプレイであれば ピクセルマッピングデータなどが格納されている。
EDID 1.0は1994年に策定され、1996年に1.1が出ている。1.2と1.3は2000年に公開された。 いずれも128バイトの構造で上位互換となっている。 EDID 2.0では新しく256バイトの構造が定義された。
ディスプレイからグラフィクスカードへEDIDを転送する経路としてはI²Cバスがよく用いられる。 EDIDとI²Cの組み合わせはDDC2 (Display Data Channel version 2)と呼ばれる。 VESAによるオリジナルのDDCでは、DDC2とは異なるシリアルのフォーマットを用いていた。
DDCとEDIDが策定される以前は、グラフィックスカードが どのような種類のモニタが接続されているかを判別する標準的な方式はなかった。 VGAコネクタの中には、GNDに接続されているピンの本数から簡易的な判別を行うものも あったが、標準化されたものではなかった。
EDIDは通常、モニタ内のメモリに格納されており、 このメモリにはI²Cバスに対応したシリアルPROMやEEPROMが用いられている。
EDIDを読み取ったり表示させたりするソフトウェアは数多くある。 Microsoft Windows用であれば read-edid や Powerstrip、Linuxや BSD Unix用であれば read-edid やXFree86などがある。 このうちXFree86では、詳細ロギングを有効にする (startx -- -logverbose 6)ことで、ログにEDIDが出力される。 Mac OS Xは標準でEDID情報を読み取るが(/var/log/system.log を参照するか、 起動時にコマンド+Vを押す)、SwitchResX や DisplayConfigX などのソフトでは 解像度をカスタム設定するのに用いることもできる。
Many software packages can read and display the EDID information, such as read-edid and Powerstrip for Microsoft Windows and read-edid and XFree86 (which will output the EDID to the log if verbose logging is on (startx -- -logverbose 6)) for Linux and BSD unix. Mac OS X natively reads EDID information (see /var/log/system.log or hold down Cmd-V on startup) and programs such as SwitchResX or DisplayConfigX can display the information as well as use it to define custom resolutions.
エンハンスト EDID (E-EDID)
[編集]エンハンストEDIDはEDID 1.3が基になっているが,データフォーマットの拡張をサポートしている. これによってEDID 2.0でも拡張が可能になった.E-EDIDでは推奨タイミング,レンジ制限,モニタ名などが 必要である.他にはデュアルGTF, 標準タイミングのアスペクト比変更などもサポートする.
Enhanced EDID is based on the EDID version 1.3, but offers support of extensions, which enable EDID 2.0 to be supported as an extension. Data fields for preferred timing, range limits, monitor name are required in E-EDID. E-EDID also supports dual GTF, standard timings aspect ratio change.
拡張を利用することでE-EDID文字列は最大32KBまで伸ばすことができる.
With the use of extensions, E-EDID string can be lengthened up to 32KiBytes.
EDID Extensions assigned by VESA
[編集]VESA割り当てのEDID拡張
[編集]- タイミング拡張(00h)
- Timing Extension (00h)
- ビデオタイミングブロック拡張 (VTB-EXT) (10h)
- Video Timing Block Extension (VTB-EXT) (10h)
- EDID 2.0 拡張 (20h)
- EDID 2.0 Extension (20h)
- Display Information Extension (DI-EXT) (40h)
- Localized String Extension (LS-EXT) (50h)
- Microdisplay Interface Extension (MI-EXT) (60h)
- Display Transfer Characteristics Data Block (DTCDB) (A7h, AFh, BFh)
- Block Map (F0h)
- Display Device Data Block (DDDB) (FFh)
- Extension defined by monitor manufacturer (FFh): According to LS-EXT, actual contents varies from manufacturer. However, the value is later used by DDDB.
Limitations
[編集]A major limitation of EDID is that it cannot express the native resolutions of the most common wide screen flat panel displays and liquid crystal display televisions. The number of horizontal pixels must be a multiple of 8. The number of vertical pixels is calculated from the horizontal resolution and the selected aspect ratio. To be fully expressible, the size of wide screen display must thus be a multiple of 16×9 pixels. For 1366×768 pixel Wide XGA panels the nearest resolution expressible in the EDID syntax is 1360×765 pixels. Specifying 1368 pixels as the screen width would yield an unnatural screen height of 769.5 pixels.
Many Wide XGA panels do not advertise their native resolution, instead offering only a resolution of 1280×768. Some panels advertise a resolution only slightly smaller than the native, such as 1360×765. For these panels to be able to show a pixel perfect image, the EDID data must be ignored by the display driver. Special programs are available to override the EDID data; PowerStrip for Microsoft Windows and DisplayConfigX for Mac OS X
EDID 1.1 data format
[編集]Byte sequence 00–07: Header information 08–17: Complete serial number 08–09: Manufacturer ID 10–11: Product ID Code (little-endian) 12–15: Serial Number (little-endian) 16: Week of Manufacture 17: Year of Manufacture. Add 1990 to the value for actual year. 18: EDID Version Number 19: EDID Revision Number 20-24: Basic Display Parameters 20: VIDEO INPUT DEFINITION bit 7: 0=analog, 1=digital if bit 7 is digital: bit 0: 1=DFP 1.x compatible if bit 7 is analog: bit 6-5: video level 00=0.7, 0.3, 01=0.714, 0.286, 10=1, .4 11=0.7, 0 bit 4: blank-to-black setup bit 3: separate syncs bit 2: composite sync bit 1: sync on green bit 0: serration vsync 21: Maximum Horizontal Image Size (in centimeters). 22: Maximum Vertical Image Size (in centimetres). 23: Display Gamma. Divide by 100, then add 1 for actual value. 24: Power Management and Supported Feature(s): bit 7: standby bit 6: suspend bit 5: active-off/low power bit 4-3: display type. 00=monochrome, 01=RGB colour, 10=non RGB multicolour, 11=undefined bit 2: standard colour space bit 1: preferred timing mode bit 0: default GTF supported 25-34: CHROMA INFO 25: low significant bits for Red X (bit 7-6), Red Y (bit 5-4), Green X (bit 3-2), Green Y (bit 1-0). 26: low significant bits for Blue X (bit 7-6), Blue Y (bit 5-4), White X (bit 3-2), White Y (bit 1-0). 27–34: high significant bits for Red X, Red Y, Green X, Green Y, Blue X, Blue Y, White X, White Y. To decode actual value, rearrange bits as follows: High significant bits 7-0 for (channel), low significant bits for (channel). Actual value is between 0.000 and 0.999, but encoded value is between 000h and 3FFh. 35: ESTABLISHED TIMING I bit 7-0: 720×400@70 Hz, 720×400@88 Hz, 640×480@60 Hz, 640×480@67 Hz, 640×480@72 Hz, 640×480@75 Hz, 800×600@56 Hz, 800×600@60 Hz 36: ESTABLISHED TIMING II bit 7-0: 800×600@72 Hz, 800×600@75 Hz, 832×624@75 Hz, 1024×768@87 Hz (Interlaced), 1024×768@60 Hz, 1024×768@70 Hz, 1024×768@75 Hz, 1280×1024@75 Hz 37: Manufacturer's Reserved Timing 38–53: Standard Timing Identification. 2 bytes for each record. First byte Horizontal resolution. Multiply by 8, then add 248 for actual value. Second byte bit 7-6: Aspect ratio. Actual vertical resolution depends on horizontal resolution. 00=16:10, 01=4:3, 10=5:4, 11=16:9 bit 5-0: Vertical frequency. Adds 60 to get actual value. 54–71: Descriptor Block 1 54–55: Pixel Clock (in 10 kHz) or 0 If Pixel Clock is non null: 56: Horizontal Active (in pixels) 57: Horizontal Blanking (in pixels) 58: Horizontal Active high (4 upper bits) Horizontal Blanking high (4 lower bits) 59: Vertical Active (in pixels) 60: Vertical Blanking (in vertical pixels/lines) 61: high significant bits for Vertical Active (4 upper bits) high significant bits for Vertical Blanking (4 lower bits) 62: Horizontal Sync Offset (in pixels) 63: Horizontal Sync Pulse Width (in pixels) 64: Vertical Sync Offset (in lines) (4 upper bits) Vertical Sync Pulse Width (in lines) (4 lower bits) 65: high significant bits for Horizontal Sync Offset (bit 7-6) high significant bits for Horizontal Sync Pulse Width (bit 5-4) high significant bits for Vertical Sync Offset (bit 3-2) high significant bits for Vertical Sync Pulse Width (bit 1-0) 66: Horizontal Image Size (in mm) 67: Vertical Image Size (in mm) 68: high significant bits for Horizontal Image Size (4 upper bits) high significant bits for Vertical Image Size (4 lower bits) 69: Horizontal Border 70: Vertical Border 71: Interlaced or not (bit 7) Stereo or not (bit 6-5) ("00" means not) Separate Sync or not (bit 4-3) Horizontal Sync positive or not (bit 2) Vertical Sync positive or not (bit 1) Stereo Mode (bit 0) (unused if 6-5 are 00) If Pixel Clock is null: 56: 0 57: Block type FFh=Monitor Serial Number, FEh=ASCII string, FDh=Monitor Range Limits, FCh=Monitor name, FBh=Colour Point Data, FAh, Standard Timing Data, F9h=Currently undefined, F8h=defined by manufacturer 58: Unknown 59–71: Descriptor block contents. If block type is FFh, FEh, or FCh, the entire area is a text string. If block type is FDh: 59–63: Min Vertical frequency, Max Vertical frequency, Min Horizontal frequency (in kHz), Max Horizontal frequency (in kHz), pixel clock (in MHz (multiply by 10 for actual value)) 64–65: Secondary GTF toggle If encoded value is 000A, bytes 59-63 are used. If encoded value is 0200, bytes 67–71 are used. 66: Start horizontal frequency (in kHz). Multiply by 2 for actual value. 67: C. Divide by 2 for actual value. 68-69: M (little endian). 70: K 71: J. Divide by 2 for actual value. If block type is FBh: 59: W Index 0. If set to 0, bytes 60-63 are not used. If set to 1, 61–63 are assigned to white point index #1 64: W Index 1. If set to 0, bytes 65-68 are not used. If set to 2, 65–68 are assigned to white point index #2 White point index structure: First byte bit 3-2: low significant bits for White X (bit 3-2), White Y (bit 1-0) Second to third byte: high significant bits for White X, White Y. Fourth byte: Gamma. Divide by 100, then add 1 for actual value. To decode White X and White Y, see bytes 25-34. If block type is FAh: 59–70: Standard Timing Identification. 2 bytes for each record. For structure details, see bytes 38-53. 72–89: Descriptor Block 2 90–107: Descriptor Block 3 108–125: Descriptor Block 4 126: Extension EDID Block(s). In EDID 1.1, it is ignored, and should be set to 0. 127: Checksum.
For example, here is a summary of the data reported by an Envision EN-775e monitor:
Monitor Name EPI EnVision EN-775e Monitor ID EPID775 Model EN-775e Manufacture Date Week 26 / 2002 Serial Number 1226764172 Max. Visible Display Size 32 cm × 24 cm (15.7 in) Picture Aspect Ratio 4:3 Horizontal Frequency 30–72 kHz Vertical Frequency 50–160 Hz Maximum Resolution 1280×1024 Gamma 2.20 DPMS Mode Support Active-Off Supported Video Modes: 640×480 140 Hz 800×600 110 Hz 1024×768 85 Hz 1152×864 75 Hz 1280×1024 65 Hz Monitor Manufacturer: Company Name Envision, Inc.
External links
[編集]- VESA BIOS Extensions/Display Data Channel Standard
- VESA ENHANCED EXTENDED DISPLAY IDENTIFICATION DATA – Implementation Guide
- EDID 1.2 on Flat Panels (in Appendix A)
- read-edid software for Linux and Windows
- Powerstrip for Windows (Shareware)
- SoftMCCS for Windows (Freeware). EDID Analysis Tool
- NirSoft - Windows Freeware - DumpEDID command line (GUI available)
- Phoenix EDID Editor (Freeware)
- SwitchResX for Mac OS X shows EDID and customizes display timings
- DisplayConfigX for Mac OS X shows EDID and customizes display timings