헤드 탑재 및 특수 모니터용 EDID 확장

이 페이지에서는 디스플레이 제조업체가 HMD(헤드 탑재 디스플레이)에서 EDID CTA(소비자 기술 협회) 확장 또는 특수 디스플레이 펌웨어를 구현하는 방법에 대한 지침을 제공하며, 이를 통해 Windows 디스플레이를 특수로 인식하여 Windows OS의 각 레이어가 올바르게 처리할 수 있도록 합니다. 표시 및 모니터 용어는 동의어입니다.

이 EDID 확장이 없으면 HMD 및 특수 디스플레이에 다음과 같은 문제가 발생합니다.

  • Windows 데스크톱이 디스플레이로 확장되고, 앱이 디스플레이로 시작되고, 마우스 커서가 디스플레이로 로밍될 수 있습니다. 사용자가 이를 기대하지 않는 경우 이 상태에서 복구하는 것이 혼동될 수 있습니다.
  • 타사 작성자는 디스플레이에 대한 단독 액세스를 허용하지 않는 HWND 기반 또는 CoreWindow 기반 프레젠테이션 API를 사용해야 합니다. Windows 데스크톱 작성기는 창이 있는 프레젠테이션 API를 디스플레이로 라우팅하는 작업을 담당하며, 일부 시나리오에서는 비결정적 대기 시간이 추가로 발생할 수 있습니다.

위의 문제를 해결하려면 이 문서의 사양에 두 부분이 필요합니다.

  1. EDID가 포함된 디스플레이의 펌웨어는 공급업체별 데이터 블록을 포함하도록 수정되어 디스플레이의 Windows 특정 사용 사례를 식별합니다.
  2. Windows 표시 하위 시스템은 이 문서에 설명된 공급업체별 데이터 블록을 올바르게 인식하고 디스플레이를 적절하게 처리합니다. Windows OS의 다른 버전에는 아래에서 호출되는 다른 동작이 있을 수 있습니다.

1의 조합입니다. 2 단계를 반복합니다. 위의 경우 디스플레이가 처음 연결되는 순간부터 올바른 Windows 동작이 발생합니다. 특히 HMD 및 특정 특수 디스플레이는 일반 Windows 데스크톱 환경에 포함되지 않으며 Windows 사용하여 디스플레이에 액세스할 수 있습니다. Devices.Display.Core API는 타사 작성자가 사용할 수 있게 됩니다.

VESA(비디오 전자 표준 협회)는 DisplayId v2.0에서 이 문서에 정의된 VSDB와 유사한 정보에 대한 액세스를 제공하는 표준화된 필드를 정의했습니다. DisplayID v2.0 이상은 HMD에 대해 이 데이터를 제공하는 기본 메커니즘이지만 디바이스가 다른 이유로 EDID를 사용해야 하는 경우 이 VSDB를 사용해야 합니다.

VSDB(공급업체별 데이터 블록)

EDID를 포함하는 펌웨어 코드를 작성할 책임이 있는 당사자는 CTA 확장 블록을 포함해야 하며, 해당 블록 내에 Microsoft에서 정의한 VSDB(공급업체별 데이터 블록)를 배치해야 합니다. EDID의 구조는 "VESA E-EDID(Enhanced Extended Display Identification Data Standard)"에 설명되어 있습니다. 버전 1.4, 릴리스 A, 수정 버전 2 및 섹션 2.2에서 확장 블록을 설명합니다. CTA 확장 블록은 CTA의 861 시리즈 문서 "압축되지 않은 High-Speed 디지털 인터페이스에 대한 DTV 프로필"에 정의되어 있습니다. VSDB는 다른 데이터 블록에 상대적인 VSDB 순서를 포함하여 ANSI/CTA-861-G 에 설명되어 있습니다.

VSDB 구조체에는 다음 표에 설명된 형식과 값이 있어야 합니다.

VSDB Specification.

공급업체별 태그 코드 [3비트]

이 필드는 .로 0x3설정해야 합니다.

길이 [5비트]

이 바이트를 포함하지 않는 데이터 블록의 총 길이입니다. 이 필드는 .로 0x15설정해야 합니다.

IEEE OUI [3바이트]

표시0x5C0x120xCA를 식별하기 위해 Microsoft에 할당된 IEEE OUI(조직 고유 식별자)입니다.

버전 [1 바이트]

Microsoft Display Vendor 관련 데이터 블록의 콘텐츠와 연결된 버전 번호입니다.

권장 Use-Case 버전 지원되는 Windows 릴리스
HMD(VR/AR)는 Windows Mixed Reality 환경에서 사용할 디바이스를 표시합니다. 0x1 Windows 10 작성자 업데이트 이상에서 지원됨
타사 작성자에서 사용할 HMD(VR/AR) 디스플레이 디바이스(Windows Mixed Reality 환경 제외) 0x2 Windows 10 2018년 10월 업데이트 이상에서 지원됨
HMD가 아닌 특수 디스플레이 디바이스 0x3 다음 Windows vNext 이상에서 지원됨

데스크톱 사용 플래그 [1비트]

이 VSDB의 버전 0x3 이상에서 이 비트는 디스플레이가 데스크톱의 일부여야 하는지 여부를 나타냅니다.

  • 디스플레이가 바탕 화면의 일부여야 하는 경우 이 설정을 으로 설정 0x1해야 합니다.
  • 디스플레이가 바탕 화면의 일부가 아니어야 하는 경우 이 값을 으로 0x0설정해야 합니다.

버전 0x10x2 이 VSDB에서 이 값은 항상 .로 0x0설정해야 합니다.

타사 사용 플래그 [1비트]

이 VSDB의 버전 0x3 이상에서 이 비트는 타사 작성자가 디스플레이를 사용할 수 있는지 아니면 Microsoft에서 제공한 Windows 작성자만 사용할 수 있는지를 나타냅니다.

  • 비 Windows 소프트웨어 작성기에서 디스플레이를 사용할 수 있어야 하는 경우 이 값을 으로 0x1설정해야 합니다.
  • Windows 작성자에서만 표시를 사용해야 하는 경우 이 값을 .으로 0x0설정해야 합니다.

버전 0x10x2 이 VSDB에서 이 값은 항상 .로 0x0설정해야 합니다.

제품 기본 사용 사례 표시 [5비트]

디스플레이 디바이스의 기본 사용 사례:

  • 테스트 장비 - 0x1
  • 일반 디스플레이 - 0x2
  • 텔레비전 디스플레이 - 0x3
  • 데스크톱 생산성 표시 - 0x4
  • 데스크톱 게임 디스플레이 - 0x5
  • 프레젠테이션 표시 - 0x6
  • 가상 현실 헤드셋 - 0x7
  • 증강 현실 - 0x8
  • 비디오 월 디스플레이 - 0x10
  • 의료 이미징 디스플레이 - 0x11
  • 전용 게임 디스플레이 - 0x12
  • 전용 비디오 모니터 디스플레이 - 0x13
  • 액세서리 디스플레이 - 0x14

컨테이너 ID [16바이트]

각 디바이스에 고유한 16비트 유니버설 고유 식별자입니다. 공장 바닥에 불이 붙는 식별자입니다.

설명

이전 운영 체제와의 최대 호환성을 유지하려면 HMD에서 버전과 0x2 이 EDID 확장을 계속 사용하는 0x1 것이 좋습니다. HMD에 사용할 값은 버전에 대한 위의 섹션을 참조하세요.