다음을 통해 공유


카메라 도우미 앱

이 문서에서는 카메라를 구성하고 기본 이미지 설정을 조정할 수 있는 사용자 지정 애플리케이션을 빌드하기 위한 카메라 제조업체의 확장성 기능인 도우미 앱에 대해 설명합니다.

소개

Windows 11은 제조업체가 다음 기능을 사용하여 애플리케이션을 개발할 수 있도록 하는 카메라 도우미 앱 프레임워크를 제공합니다.

  • 카메라 설정 페이지에서 지원하는 것과 동일한 기본값 설정(예: 밝기, 대비, 배경 효과 등)을 표시 및/또는 수정할 수 있습니다.

  • Windows에 알려져 있지만 카메라 설정 페이지(예: Hue 컨트롤)를 통해 노출되지 않는 다른 카메라 컨트롤에 대한 기본값 설정을 등록, 업데이트 또는 삭제할 수 있습니다.

  • 제조업체 전용 카메라 컨트롤에 대한 기본값 설정을 등록, 업데이트 또는 삭제하는 기능(예: 카메라 제조업체의 사용자 지정 조명 조정 효과에 대한 켜기/끄기 컨트롤).

카메라가 연결된 도우미 앱을 등록하면 항목이 카메라 설정 페이지에 추가됩니다. 앱이 설치된 경우 카메라 설정 페이지에서 앱을 시작할 수 있고, 그렇지 않으면 Microsoft Store에 대한 링크가 표시되어 다운로드할 수 있습니다.

도우미 앱은 카메라 설정 페이지와 같은 기본값을 등록, 업데이트 또는 삭제할 수 있는 API에 대한 특별한 액세스 권한을 가집니다.

용어 및 필수 구성 요소

용어 정의
도우미 앱 카메라 설정 페이지 외에도 카메라 구성 및 관리를 허용하는 카메라 제조업체에서 개발한 사용자 지정 애플리케이션입니다.
현재 값 카메라의 ISP에서 현재 활성화되고 카메라의 임시 메모리에 저장된 카메라 컨트롤의 값입니다.
기본값 디스크에 저장되고 특정 사용자 계정의 특정 카메라용으로 특정 PC에 저장되는 카메라 컨트롤의 초기 값입니다.
HSA 하드웨어 지원 앱은 디바이스가 연결될 때 Microsoft Store에서 하드웨어 관련 앱을 자동으로 다운로드하고 설치하도록 Microsoft에서 지원하는 프레임워크입니다.
NPU 높은 처리량과 효율성으로 인공 지능 워크로드를 처리하도록 설계된 전용 하드웨어인 신경 처리 장치입니다.
Windows Studio 효과 NPU가 있는 일부 Windows PC에서 사용할 수 있는 비디오 효과의 컬렉션입니다.
Uvc USB 비디오 클래스는 USB 연결 카메라에서 제어 및 스트리밍하기 위한 표준화된 인터페이스입니다.

도우미 앱 요구 사항

도우미 앱은 패키지 ID가 있는 패키지 애플리케이션이어야 합니다. 도우미 앱도 Microsoft Store에서 릴리스되어야 하며, 이를 통해 카메라 설정 페이지에서 고객이 아직 설치되지 않은 경우 스토어로 이동하여 앱을 설치하도록 안내할 수 있습니다.

패키지 ID가 없는 기존 데스크톱 애플리케이션은 도우미 앱으로 사용할 수 없습니다.

도우미 앱을 HSA로 사용

도우미 앱도 하드웨어 지원 앱으로 구성할 필요는 없지만 권장됩니다. HSA는 특정 하드웨어 디바이스와 연결된 Microsoft Store의 특수 앱입니다. 해당 디바이스가 PC에 연결되면 사용 가능한 경우 HSA가 Microsoft Store에서 자동으로 다운로드되고 설치됩니다.

도우미 앱을 카메라와 연결

카메라 제조업체는 특정 디바이스 속성 키를 도우미 앱의 PFN(패키지 패밀리 이름)으로 채워 도우미 앱을 연결할 수 있습니다.

이름 Type 데이터
SCSVCamPfn REG_SZ <Pfn>

도우미 앱의 PFN을 식별하려면 PowerShell에서 Get-AppxPackage를 실행합니다. 예를 들면 다음과 같습니다.

Get-AppxPackage -Name CompanionAppName

도우미 앱을 카메라에 연결하려면 UVC 카메라의 MSOS 설명자 또는 카메라 드라이버의 INF에 있는 AddReg 지시문을 사용합니다. 예를 들어 INF 파일 사용:

[SocCaptureSim.RearCamera.AddReg]

HKR,,SCSVCamPfn,,%AppPFN%

...

[Strings]

AppPFN="Contoso.CameraCompanion_xxxxxxxx00000"

도우미 앱이 카메라와 연결된 경우 카메라 설정 페이지에는 카메라의 특정 설정 페이지의 "관련 설정" 제목 아래에 도우미 앱에 대한 링크가 포함됩니다.

도우미 앱이 이미 설치된 경우 링크가 "{ 도우미 앱 이름}열기"로 표시됩니다. 클릭하면 앱이 시작됩니다.

도우미 앱이 아직 설치되지 않은 경우 앱을 다운로드하고 설치하기 위해 Microsoft Store를 시작하는 링크가 표시됩니다.

카메라에는 연결된 도우미 앱이 하나만 있을 수 있습니다.

카메라 설정 페이지에서 도우미 앱 시작

카메라 설정 페이지에서 도우미 앱을 시작하면 카메라의 기호 링크가 Application.OnLaunched 인수를 통해 컨텍스트로 전달됩니다.

인수 Type 데이터
cameraId 문자열 기호 링크

이 기능을 사용하면 도우미 앱이 다음 시나리오에서 올바른 카메라 설정을 표시할 수 있습니다.

  1. 단일 도우미 앱은 단일 시스템에서 여러 카메라를 지원합니다(예: OEM 제공 애플리케이션은 태블릿의 전면 및 후면 카메라를 지원).

  2. 고객은 동일한 도우미 앱에서 관리하는 동일한(또는 동일한 브랜드) 카메라 두 대를 시스템에 연결합니다.

도우미 앱에서 카메라 설정 페이지 시작

도우미 앱은 딥링크 URI를 사용하여 Windows 카메라 설정 페이지를 시작할 수 있습니다. 자세한 내용은 카메라 설정 시작 페이지를 참조 하세요.

도우미 앱에서 기본값 구성

도우미 앱은 IMF카메라ConfigurationManager API를 사용하여 현재 사용자의 기본값 구성을 구성할 수 있습니다. 이 API를 사용하면 도우미 앱이 구성된 기본값(예: 카메라 설정 페이지를 사용하여 사용자가 설정한 기본값)을 읽거나, 기본값을 수정하거나, 새 기본값을 등록하거나, 저장된 기본값을 제거할 수 있습니다.

기본값은 시스템 데이터베이스에 KS 속성 GUID와 해당 값 쌍으로 등록됩니다. 이렇게 하면 아키텍처가 KS 속성의 정의에 구애받지 않을 수 있습니다. 이러한 유연성을 통해 도우미 앱은 다음 설정에 대한 기본값을 설정, 편집 또는 삭제할 수 있습니다.

  • 카메라 설정 페이지(예: 밝기, 대비, 배경 효과 등)를 사용하여 구성할 수도 있는 설정

  • Windows에 알려져 있지만 카메라 설정 페이지(예: Hue 컨트롤)를 통해 노출되지 않는 다른 카메라 컨트롤의 설정

  • 제조업체 전용 카메라 컨트롤의 설정(예: 카메라 제조업체의 사용자 지정 조명 조정 효과에 대한 켜기/끄기 컨트롤)

도우미 앱에서 밝기 구성

카메라가 캡처된 이미지의 유효 밝기를 제어하는 몇 가지 방법이 있습니다. 예를 들어 이미지에 간단한 게인을 적용하여 밝기를 늘리거나 카메라의 노출 시간을 늘려서 밝기를 늘릴 수 있습니다.

Windows는 간단한 게인 컨트롤을 염두에 두고 디자인된 레거시 밝기 컨트롤(KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS)을 지원합니다. Windows는 카메라의 자동 노출 알고리즘에 대한 긍정 또는 음의 노출 값 바이어스를 명령하도록 설계된 노출 보정 컨트롤(KSPROPERTY_CAMERACONTROL_EXTENDED_EVCOMPENSATION)도 지원합니다.

카메라에서 사용되는 밝기 컨트롤에 관계없이 카메라에서 구현해야 합니다. 따라서 "가운데 맞춤"이면 밝기는 중립적이며 고객은 값을 높이거나 낮추어 오프셋을 적용할 수 있습니다. 최상의 이미지 품질을 위해 고객이 카메라 설정 페이지 또는 컴패니언 앱에서 밝기 컨트롤을 조정하는 경우 언제든지 조명 조건에 관계없이 노출에 고정 긍정 또는 음수 바이어스를 적용하도록 카메라가 명령되도록 노출 보정 컨트롤을 지원하는 것이 좋습니다.

자세한 내용은 카메라에서 구현하는 컨트롤에 따라 카메라 설정 페이지에서 밝기 컨트롤의 동작에 대한 카메라 설정 페이지를 참조하세요. 도우미 앱이 밝기 슬라이더도 제공하는 경우 카메라 설정 페이지의 밝기 슬라이더와 도우미 앱 간의 동기화를 보장하기 위해 논리를 복제본(replica) 것이 중요합니다.

아래에 연결된 도우미 앱 샘플에는 이 논리의 참조 구현이 포함되어 있습니다.

실시간 현재 값 변경 모니터링

도우미 앱이 카메라 설정 페이지와 동시에 실행되는 경우 도우미 앱이 공유 모드에서 동시에 실행되어 미리 보기를 표시하는 동안 고객이 카메라 설정 페이지를 사용하여 기본값을 변경할 수 있습니다. 이 경우 도우미 앱이 동기화 상태를 유지할 수 있도록 컨트롤의 기본값 변경 내용을 모니터링하는 것이 좋습니다.

이를 위해 도우미 앱은 IMF카메라ControlMonitor를 사용하여 관심 있는 KS 속성(현재 컨트롤 값)의 변경 내용을 모니터링할 수 있습니다. 이러한 변경은 다음으로 인해 발생할 수 있습니다.

  • 카메라 애플리케이션(예: Microsoft Teams)이 카메라를 사용하고 있으며 컨트롤의 현재 값을 변경합니다.

  • 카메라 설정 페이지에서 카메라를 사용하고 있으며 컨트롤의 기본값(현재 값도 업데이트됨)을 변경합니다.

이 API는 IMF카메라ConfigurationManager API를 사용하여 관심 컨트롤의 기본값을 다시 읽고 기본값이 변경된 경우 UI를 업데이트하는 트리거로 사용할 수 있습니다.

도우미 앱 샘플

샘플 도우미 앱은 GitHub: 카메라설정External설정App 샘플에서 사용할 수 있습니다. 이 샘플에서는 IMF카메라ConfigurationManager API를 사용하여 대비, 밝기 및 배경 구분의 기본값을 변경하는 방법을 보여 줍니다.

IMF카메라ControlMonitor API를 사용하여 관심 있는 컨트롤의 변경 내용을 모니터링하는 방법을 보여주는 또 다른 샘플 애플리케이션은 GitHub: ControlMonitorApp 샘플에서 사용할 수 있습니다.

참고 항목

Application.OnLaunched

카메라 설정 페이지

카메라설정External설정App 샘플

ControlMonitorApp 샘플

Get-AppxPackage

하드웨어 지원 앱

IMF카메라ConfigurationManager

IMF카메라ControlMonitor

KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS

KSPROPERTY_CAMERACONTROL_EXTENDED_EVCOMPENSATION

카메라 설정 페이지 시작

MSOS 설명자

패키지된 애플리케이션