Введение
Форматы метаданных для устройств отображения
Расширенные данные идентификации дисплея (EDID) и расширенный EDID (E EDID) — это форматы метаданных для устройств отображения, предназначенные для описания их возможностей источнику видеосигнала (например, графической карте или приставке). Формат данных определяется стандартом, опубликованным Ассоциацией по стандартам видеоэлектроники (VESA). Структура данных EDID включает в себя наименование производителя и серийный номер, тип продукта, тип люминофора или фильтра (как данные о цветовой гамме), поддерживаемые дисплеем временные характеристики, размер дисплея, данные о яркости и (только для цифровых дисплеев) данные о сопоставлении пикселей. DisplayID — это стандарт VESA, разработанный для замены расширений EDID и E EDID единым форматом, подходящим как для компьютерных мониторов, так и для устройств бытовой электроники.
Предыстория
Версии структуры EDID (базового блока) варьируются от v1.0 до v1.4; все они определяют обратно совместимые 128-байтовые структуры. Версия 2.0 определила новую структуру на 256 байт, но она устарела и была заменена E EDID, который поддерживает несколько блоков расширения. Версии HDMI 1.0–1.3c используют E EDID v1.3. До определения канала передачи данных дисплея (DDC) и EDID не существовало стандартного способа для графической карты определить тип подключенного к ней устройства отображения. Некоторые VGA-разъемы в персональных компьютерах обеспечивали базовую идентификацию, замыкая на землю один, два или три контакта, но эта схема кодирования не была стандартизирована. Эта проблема решается с помощью EDID и DDC, поскольку они позволяют дисплею передавать информацию графической карте, к которой он подключен. Для передачи информации EDID обычно используется протокол Display Data Channel, в частности DDC2B, основанный на шине I²C (DDC1 использовал другой последовательный формат, который не получил распространения). Данные передаются по кабелю, соединяющему дисплей и графическую карту; поддерживаются VGA, DVI, DisplayPort и HDMI. EDID часто хранится в мониторе в микросхеме памяти EEPROM (электрически стираемое программируемое постоянное запоминающее устройство) и доступна через шину I²C по адресу. EDID PROM часто может быть прочитана хост-компьютером, даже если сам дисплей выключен. Многие программные пакеты могут читать и отображать информацию EDID, такие как read edid для Linux и DOS, PowerStrip для Microsoft Windows и X.Org Server для Linux и BSD Unix. Mac OS X изначально считывает информацию EDID, а программы, такие как SwitchResX или DisplayConfigX, могут отображать эту информацию, а также использовать ее для определения пользовательских разрешений. E EDID был представлен одновременно с E DDC, который поддерживает несколько блоков расширения и устарел структуру EDID версии 2.0 (ее можно включить в E EDID как дополнительный блок расширения). Поля данных для предпочтительных временных параметров, пределов диапазона и названия монитора являются обязательными в E EDID. E EDID также добавляет поддержку концепции кривой Dual GTF и частично изменил кодировку соотношения сторон в стандартных временных параметрах. Благодаря использованию расширений структура E EDID может быть расширена до 32 КиБ, поскольку E DDC добавил возможность адресовать несколько (до 128) сегментов по 256 байт.
История пересмотров
Август 1994, стандарт DDC версии 1 – внедрение EDID v1.0. Апрель 1996, стандарт EDID версии 2 – внедрение EDID v1.1. Ноябрь 1997, стандарт EDID версии 3 – внедрение EDID v1.2 и EDID v2.0. Сентябрь 1999, выпуск E EDID Standard Release A – внедрение EDID v1.3 и E EDID v1.0, поддерживающего несколько блоков расширений. Февраль 2000, выпуск E EDID Standard Release A – внедрение E EDID v1.3 (используемого в HDMI), основанного на EDID v1.3. EDID v2.0 устарел. Сентябрь 2006, выпуск E EDID Standard Release A – внедрение E EDID v1.4, основанного на EDID v1.4.
Ограничения
Некоторые драйверы видеокарт исторически плохо работали с EDID, используя только стандартные дескрипторы времени, а не детальные дескрипторы времени (DTD). Даже в тех случаях, когда DTD считывались, драйверы часто оставались ограниченными требованием стандартных дескрипторов времени, согласно которому горизонтальное и вертикальное разрешения должны делиться на 8 без остатка. Это означает, что многие видеокарты не могут корректно отображать родные разрешения наиболее распространенных широкоформатных плоских дисплеев и жидкокристаллических телевизоров. Количество вертикальных пикселей вычисляется на основе горизонтального разрешения и выбранного соотношения сторон. Для полного и точного отображения размер широкоформатного дисплея должен быть кратен 16×9 пикселям. Для панелей Wide XGA с разрешением 1366×768 пикселей ближайшее разрешение, которое можно выразить в синтаксисе стандартного дескриптора времени EDID, составляет 1360×765 пикселей, что обычно приводит к появлению тонких черных полос шириной 3 пикселя. Указание ширины экрана в 1368 пикселей привело бы к неестественной высоте экрана в 769,5 пикселей. Многие панели Wide XGA не указывают свое родное разрешение в стандартных дескрипторах времени, предлагая вместо этого только разрешение 1280×768. Некоторые панели указывают разрешение, лишь незначительно меньшее, чем родное, например, 1360×765. Чтобы эти панели могли отображать изображение без искажений, драйвер дисплея должен игнорировать данные EDID или правильно интерпретировать DTD и поддерживать разрешения, размер которых не делится на 8. Существуют специальные программы для переопределения стандартных дескрипторов времени в данных EDID. Однако это не всегда возможно, поскольку графические драйверы некоторых производителей (в частности, Intel) требуют специальных изменений в реестре для реализации пользовательских разрешений, что может значительно затруднить использование родного разрешения экрана.
Блок расширения CTA
Версия 1 блока расширения (как определено в CEA-861) позволяла задавать параметры видеосинхронизации только с помощью 18-байтовых детальных дескрипторов времени (DTD) (как подробно описано в формате данных EDID 1.3 выше). Параметры DTD перечисляются в порядке предпочтения в расширении времени CEA EDID. Версия 2 (как определено в 861 A) добавила возможность обозначить некоторые DTD как "нативные" (т.е. соответствующие разрешению дисплея), а также включила базовую функциональность обнаружения поддержки устройством дисплея "базового аудио", пиксельных форматов YCBCR и режима underscan. Версия 3 (начиная со спецификации 861 B) позволяет двумя различными способами задавать форматы цифрового видео: как в версиях 1 и 2 с использованием 18-байтовых DTD, так и с использованием короткого видеодескриптора (SVD) (см. ниже). HDMI 1.0–1.3c использует эту версию. Версия 3 также определяет формат для набора блоков данных, которые, в свою очередь, могут содержать несколько отдельных дескрипторов. Этот набор блоков данных (DBC) изначально включал четыре типа блоков данных (DB): видеоблоки данных, содержащие вышеупомянутый короткий видеодескриптор (SVD), аудиоблоки данных, содержащие короткие аудиодескрипторы (SAD), блоки данных распределения динамиков, содержащие информацию о конфигурации динамиков дисплея, и блоки данных, специфичные для поставщика, которые могут содержать информацию, предназначенную для конкретного поставщика. В последующих версиях CTA 861 были определены дополнительные блоки данных.