다음을 통해 공유


카메라 드라이버 불러 오기 가이드

이 항목에서는 IR(적외선) 카메라에 얼굴 인증을 사용하도록 설정하는 방법을 설명하며, 디바이스에서 이 기능을 제공하려는 OEM(원본 장비 제조업체) 및 IHV(독립 하드웨어 공급업체)를 위한 것입니다.

FrameServer

다음 다이어그램에서는 FrameServer를 통해 새 드라이버 스택에서 얼굴 인증이 작동하는 방법을 보여 줍니다.

windows hello 및 frameserver.

얼굴 인증 DDI

Windows Hello를 지원하기 위해 Windows 10 버전 1607에서 사용할 수 있는 두 가지 새로운 얼굴 인증 DDI 구문이 있습니다.

  • KSPROPERTY_CAMERACONTROL_EXTENDED_FACEAUTH_MODE

    이 속성 ID는 다음 플래그를 사용하여 드라이버에서 얼굴 인증을 켜고 구성하는 데 사용됩니다.

    • KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_DISABLED

    • KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_ALTERNATIVE_FRAME_ILLUMINATION

    • KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_BACKGROUND_SUBTRACTION

    이 컨트롤 및 비트 플래그를 사용하여 얼굴 인증 모드를 설정하는 방법에 대한 자세한 내용은 KSPROPERTY_CAMERACONTROL_EXTENDED_FACEAUTH_MODE 항목을 참조하세요.

  • MF_CAPTURE_METADATA_FRAME_ILLUMINATION

    IR 카메라의 이 메타데이터 특성은 프레임이 활성 IR 조명을 사용 중임을 지정합니다. 자세한 내용은 캡처 통계 메타데이터 특성 항목의 필수 메타데이터 특성 테이블을 참조하세요.

USB 카메라 지원

디바이스에서 적외선 카메라에 얼굴 인증을 사용하도록 설정하려면 올바르게 구성된 DeviceMFT 구성 요소와 USB UVC(비디오 클래스) 확장 장치를 제공해야 합니다.

DeviceMFT 구성 요소 구성

디바이스에서 얼굴 인증을 지원하는 DeviceMFT 구성 요소를 빌드하기 위한 시작점으로 sampledevicemft 샘플을 사용할 수 있습니다.

드라이버 샘플을 수정하려면 샘플 소스 코드를 다음과 같이 변경합니다.

  1. DeviceMFT 구성 요소에 원본 형식 정보 추가

  2. DeviceMFT 구성 요소의 조명 플래그에 태그 지정

  3. 다음 섹션에서 빌드할 UVC 확장 장치와 통신하도록 DeviceMFT 구성 요소의 IKSControl을 변환합니다.

USB UVC(비디오 클래스) 확장 장치 빌드

디바이스에 대한 UVC 확장 단위를 빌드하려면 확장 단위 샘플 컨트롤 빌드의 지침을 따릅니다. 이 항목에는 필요한 프로젝트 파일을 만드는 방법에 대한 정보가 포함되어 있으며 다음 항목의 샘플 코드에 대한 링크를 제공합니다.

UVC 확장 단위에 대한 샘플 인터페이스(Interface.idl 포함)

샘플 확장 단위 플러그 인 DLL(Xuproxy.hXuproxy.cpp 포함)

UVC 확장 단위에 대한 샘플 레지스트리 항목(Xusample.rgs 포함)

UVC 확장 단위용 샘플 애플리케이션(TestApp.cpp 포함)

확장 단위를 사용하여 이벤트 자동 업데이트 지원

샘플 확장 단위 설명자

UVC INF 파일 제공

샘플 코드 모듈이 함께 작동하는 방법에 대한 자세한 내용은 확장 단위 플러그 인 아키텍처 항목을 참조하세요.

INF 파일 항목

KSCATEGORY_SENSOR_CAMERA UVC 디바이스를 등록하려면 센서 카메라 승격 플래그를 지정해야 합니다.

HKR,,SensorCameraMode,0x00010001,0x00000001

RGB 스트림이 없으므로 일반 카메라 앱에서 이 카메라를 숨기려면 다음과 같이 건너뛰기 열거형 플래그를 사용합니다.

HKR,,SkipCameraEnumeration,0x00010001,0x00000001

이렇게 하면 KSCATEGORY_VIDEO 카메라가 제거되어 일반 카메라 앱에서 레거시 열거형을 통해 열거되지 않습니다.

SkipCameraEnumerationSensorCameraMode 항목은 모두 INF 파일의 DDInstall.HW 섹션에 배치되어야 합니다.

드라이버 테스트를 지원하기 위한 KSCATEGORY_SENSOR_CAMERA HLK 테스트

IR 및 RGB 카메라 모듈 모두에 HLK(하드웨어 로고 키트) 테스트가 필요합니다. 이 테스트는 Windows Hello 얼굴 인증에 사용되는 RGB 및 IR 카메라의 기본 기능을 확인합니다. RGB 카메라 요구 사항은 HLK 테스트 도구 모음에 이미 지정되어 있습니다.

IR 카메라 모듈을 사용하도록 설정하기 위해 통과해야 하는 테스트는 다음과 같습니다.

  1. 모든 KS 센서 범주 카메라를 열거합니다.

    • IR 스트림을 지원하는 디바이스는 SENSOR_CAMERA 범주에 속해야 합니다.

    • RGB 스트림을 지원하는 디바이스는 VIDEO_CAMERA 범주로 이동합니다.

    • IR 및 RGB 스트림을 지원하는 단일 카메라 디바이스에 대해서만 KSCAMERA 범주인 SENSOR_CAMERA 및 VIDEO_CAMERA 아래에 디바이스를 등록해야 합니다.

  2. MF_DEVICESTREAM_ATTRIBUTE_FACEAUTH_CAPABILITY 특성이 정의된 스트림을 찾습니다.

    • MF_DEVICESTREAM_ATTRIBUTE_FACEAUTH_CAPABILITY 특성이 정의된 스트림이 없으면 테스트를 건너뜁니다.

    • 여러 스트림에 MF_DEVICESTREAM_ATTRIBUTE_FACEAUTH_CAPABILITY 특성이 정의된 경우 하나의 스트림만 Windows Hello를 사용할 수 있어야 하므로 테스트에 실패합니다.

    • 이 스트림에 대해 MF_DEVICESTREAM_ATTRIBUTE_FRAMESOURCE_TYPES IR로 설정되지 않은 경우 이 스트림에 RGB 미디어 형식이 있을 수 없으므로 테스트에 실패합니다.

    • 이 스트림을 선택하고 미디어 유형이 Windows Hello 지원(MJPG/L8/NV12)이고 해상도가 320 x 320픽셀보다 크거나 같은지 확인합니다.

      1. Face Authentication 프로필이 지원되는 경우 프로필 미디어 유형에 대해 이 스트림의 유효성을 검사합니다.

      2. Face Authentication 프로필이 지원되지 않는 경우 이 스트림의 기본 미디어 형식의 유효성을 검사합니다.

    • 얼굴 인증 DDI의 속성 중 하나인 조명/비조명 또는 주변 빼기 중 하나에 대한 지원을 확인합니다.

    • KS 속성을 지원되는 속성으로 설정합니다.

    • 스트리밍 시작

  3. 런타임 속성을 확인합니다.

    • 타임스탬프 정밀도를 확인합니다(메타 데이터로 얼굴 인증에 대한 미리 보기 테스트).

    • 시작이 500밀리초 미만인지 확인합니다(메타 데이터로 얼굴 인증에 대한 미리 보기 테스트).

    • 15개의 FPS 조명 및 15개의 FPS 앰비언트 또는 15개의 FPS 앰비언트 빼기, 320 x 320픽셀보다 크거나 같은 해상도, 미디어 유형 L8/NV12, 샘플의 양수 보폭 등 매개 변수를 사용하여 최소 프레임 속도로 스트리밍을 확인합니다.

      1. 조명 속성이 사용하도록 설정된 경우 프레임에서 메타데이터(15FPS의 조명/비조명 쌍 프레임)를 확인합니다.

      2. 앰비언트 빼기 속성을 사용하는 경우 프레임에 메타데이터가 없는지 확인합니다(15FPS의 앰비언트 프레임).

  4. 스트리밍 중지

  5. KS 컨트롤 설정 해제

  6. RGB + IR에 대한 동시성: 카메라 프로필에 정의된 경우 테스트됨

위에 나열된 HLK 테스트가 통과되지 않으면 Microsoft는 서명된 드라이버를 OEM에 발급하지 않으며 Windows Hello가 작동하지 않습니다.

MediaCapture를 사용하여 사진 및 비디오 캡처

Windows.Media.Capture 네임스페이스