Partager via


Applications compagnons d’appareil photo

Cet article décrit les applications complémentaires, une fonctionnalité d’extensibilité pour les fabricants de caméras afin de créer des applications personnalisées qui peuvent configurer l’appareil photo et ajuster les paramètres d’image par défaut.

Présentation

Windows 11 fournit une infrastructure d’application complémentaire à la caméra qui permet aux fabricants de développer des applications avec les fonctionnalités suivantes :

  • Possibilité d’afficher et/ou de modifier les mêmes paramètres de valeur par défaut que la page paramètres de l’appareil photo prend en charge (par exemple, Luminosité, Contraste, Effets d’arrière-plan, etc.).

  • Possibilité d’inscrire, de mettre à jour ou de supprimer des paramètres de valeur par défaut pour d’autres contrôles de caméra connus de Windows, mais qui ne sont pas exposés via la page des paramètres de la caméra (par exemple, le contrôle Hue).

  • Possibilité d’inscrire, de mettre à jour ou de supprimer les paramètres de valeur par défaut pour les contrôles de caméra propriétaires du fabricant (par exemple, le contrôle activé/désactivé pour l’effet d’ajustement d’éclairage personnalisé d’un fabricant de caméras).

Lorsqu’une caméra inscrit une application complémentaire associée, une entrée est ajoutée à la page des paramètres de l’appareil photo. Si l’application est installée, elle peut être lancée à partir de la page des paramètres de l’appareil photo, sinon un lien vers le Microsoft Store s’affiche pour le télécharger.

Les applications compagnons ont un accès spécial à une API qui leur permet d’inscrire, de mettre à jour ou de supprimer des valeurs par défaut telles que la page paramètres de l’appareil photo.

Terminologie et prérequis

Terme Définition
Application complémentaire Application personnalisée développée par le fabricant de caméras qui permet la configuration et la gestion d’une caméra en plus de la page des paramètres de l’appareil photo.
Valeur actuelle Valeur d’un contrôle d’appareil photo actuellement actif dans l’ISP de la caméra et conservé dans la mémoire temporaire de la caméra.
Valeur par défaut Valeur initiale d’un contrôle de caméra stocké sur disque et enregistré pour une caméra spécifique, pour un compte d’utilisateur spécifique, sur un PC spécifique.
HSA Application de support matériel, infrastructure prise en charge par Microsoft pour télécharger et installer automatiquement des applications associées au matériel à partir du Microsoft Store lorsque l’appareil est connecté.
NPU Unité de traitement neuronal, matériel dédié conçu pour traiter les charges de travail d’intelligence artificielle avec un débit et une efficacité élevés.
Effets Windows Studio Collection d’effets vidéo disponibles sur les PC Windows sélectionnés avec des npus.
UVC Classe vidéo USB, interface standardisée pour contrôler et diffuser en continu à partir de caméras connectées USB.

Conditions requises pour l’application complémentaire

Les applications compagnons doivent être empaquetées avec une identité de package. L’application complémentaire doit également être publiée sur le Microsoft Store, ce qui permet à la page des paramètres de l’appareil photo de guider les clients vers le Store pour installer l’application s’il n’est pas déjà installé.

Les applications de bureau traditionnelles sans identité de package ne peuvent pas être utilisées comme application complémentaire.

Applications compagnons sous forme de comptes d'épargne santé

Les applications complémentaires ne sont pas requises pour être également configurées en tant qu’application de support matériel, mais sont fortement recommandées. Les HSA sont des applications spéciales dans le Microsoft Store qui sont associées à un appareil matériel spécifique. Lorsque cet appareil est connecté à un PC, le HSA est automatiquement téléchargé et installé à partir du Microsoft Store lorsqu’il est disponible.

Associer une application complémentaire à une caméra

Le fabricant d’une caméra peut associer une application complémentaire en renseignant une clé de propriété de l'appareil spécifique avec le nom de famille du package (PFN) de l’application complémentaire.

Nom Catégorie Données
SCSVCamPfn REG_SZ <PFN>

Pour identifier le PFN de l’application complémentaire, exécutez Get-AppxPackage à partir de PowerShell, par exemple :

Get-AppxPackage -Name CompanionAppName

Pour associer l’application complémentaire à une caméra, utilisez un descripteur MSOS dans une caméra UVC ou la directive AddReg dans l’INF du pilote de caméra. Par exemple, à l’aide du fichier INF :

[SocCaptureSim.RearCamera.AddReg]

HKR,,SCSVCamPfn,,%AppPFN%

...

[Strings]

AppPFN="Contoso.CameraCompanion_xxxxxxxx00000"

Lorsqu’une application complémentaire est associée à une caméra, la page paramètres de l’appareil photo inclut un lien vers l’application complémentaire sous l’en-tête « Paramètres associés » de la page des paramètres spécifiques de l’appareil photo.

Si l’application complémentaire est déjà installée, un lien s’affiche sur « Ouvrir {nom de l’application complémentaire} ». Lorsque vous cliquez sur ce bouton, l’application est lancée.

Si l’application complémentaire n’est pas déjà installée, un lien s’affiche pour lancer le Microsoft Store pour télécharger et installer l’application.

Une caméra ne peut avoir qu’une seule application complémentaire associée.

Lancer une application complémentaire à partir de la page paramètres de l’appareil photo

Lorsque la page paramètres de l’appareil photo lance l’application complémentaire, le lien symbolique de la caméra est passé en tant que contexte via les arguments Application.OnLaunched .

Raisonnement Catégorie Données
cameraId Chaîne Lien symbolique

Cette fonctionnalité permet à l’application complémentaire d’afficher les paramètres de l’appareil photo appropriés dans les scénarios suivants :

  1. Une application complémentaire unique prend en charge plusieurs caméras sur un seul système (par exemple, une application fournie par OEM prend en charge les caméras avant et arrière sur une tablette).

  2. Un client dispose de deux caméras (ou de la même marque) connectées à leur système gérés par la même application complémentaire.

Lancer la page paramètres de l’appareil photo à partir d’une application complémentaire

Une application complémentaire peut lancer la page des paramètres de la caméra Windows à l’aide d’un URI de lien profond. Pour plus d’informations, consultez Lancer la page des paramètres de l’appareil photo.

Configurer les valeurs par défaut à partir d’applications complémentaires

Une application complémentaire peut utiliser l’API IMFCameraConfigurationManager pour configurer la configuration de valeur par défaut de l’utilisateur actuel. Cette API permet à l’application complémentaire de lire toutes les valeurs par défaut configurées (par exemple, les valeurs par défaut définies par l’utilisateur à l’aide de la page paramètres de l’appareil photo), de modifier les valeurs par défaut, d’inscrire les nouvelles valeurs par défaut ou de supprimer les valeurs par défaut enregistrées.

Les valeurs par défaut sont inscrites dans la base de données du système sous la forme d’une paire d’un GUID de propriété KS et d’une valeur correspondante. Cela permet à l’architecture d’être indépendante de la définition de la propriété KS. Cette flexibilité permet à une application complémentaire de définir, modifier ou supprimer des valeurs par défaut pour l’un des paramètres suivants :

  • Paramètres également configurables à l’aide de la page paramètres de l’appareil photo (par exemple, Luminosité, Contraste, Effets d’arrière-plan, et ainsi de suite)

  • Paramètres des autres contrôles de caméra connus pour Windows, mais qui ne sont pas exposés via la page paramètres de l’appareil photo (par exemple, le contrôle Hue)

  • Paramètres des contrôles de caméra propriétaires du fabricant (par exemple, le contrôle activé/désactivé pour l’effet d’ajustement d’éclairage personnalisé d’un fabricant de caméras)

Configurer la luminosité à partir d’une application complémentaire

Il existe plusieurs façons pour une caméra de contrôler la luminosité efficace de l’image capturée. Par exemple, la luminosité peut être augmentée en appliquant un gain simple à l’image, ou elle peut être augmentée en augmentant le temps d’exposition de la caméra.

Windows prend en charge un contrôle de luminosité hérité (KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS) conçu avec des contrôles de gain simples à l’esprit. Windows prend également en charge un contrôle de compensation d’exposition (KSPROPERTY_CAMERACONTROL_EXTENDED_EVCOMPENSATION) conçu pour commander un biais de valeur d’exposition positive ou négative à l’algorithme d’exposition automatique d’une caméra.

Quel que soit le contrôle de luminosité utilisé par une caméra, il doit être implémenté dans la caméra de telle sorte que lorsqu’il est « centré », la luminosité est neutre et que le client peut appliquer un décalage en augmentant ou en réduisant la valeur. Pour une meilleure qualité d’image, il est vivement recommandé pour les caméras de prendre en charge le contrôle de compensation de l’exposition afin que si un client ajuste le contrôle luminosité dans la page paramètres de la caméra ou dans une application complémentaire, l’appareil photo est commandé pour appliquer un biais positif ou négatif fixe à l’exposition, quelles que soient les conditions d’éclairage à tout moment.

Pour plus d’informations, consultez la page paramètres de l’appareil photo pour connaître le comportement du contrôle de luminosité sur la page paramètres de l’appareil photo en fonction du contrôle que la caméra implémente. Si une application complémentaire offre également un curseur de luminosité, il est essentiel de répliquer la logique pour garantir la synchronisation entre le curseur Luminosité dans la page des paramètres de l’appareil photo et l’application complémentaire.

L’exemple d’application complémentaire lié ci-dessous inclut une implémentation de référence de cette logique.

Surveillance des modifications de valeur actuelles en temps réel

Si une application complémentaire s’exécute en même temps que la page des paramètres de l’appareil photo, il est possible que le client modifie une valeur par défaut à l’aide de la page paramètres de l’appareil photo alors que l’application complémentaire s’exécute simultanément en mode partagé pour afficher un aperçu. Dans ce cas, il est souhaitable que l’application complémentaire surveille les modifications apportées à la valeur par défaut des contrôles afin qu’elle puisse rester synchronisée.

Pour ce faire, l’application complémentaire peut utiliser le IMFCameraControlMonitor pour surveiller les modifications apportées à la valeur actuelle des contrôles (propriétés KS) d’intérêt. Ces modifications peuvent se produire en raison des éléments suivants :

  • Une application de caméra (par exemple, Microsoft Teams) utilise la caméra et apporte une modification à la valeur actuelle d’un contrôle.

  • La page paramètres de l’appareil photo utilise l’appareil photo et apporte une modification à la valeur par défaut d’un contrôle (qui met également à jour la valeur actuelle).

Cette API peut être utilisée comme déclencheur pour relire la valeur par défaut d’un contrôle d’intérêt à l’aide de l’API IMFCameraConfigurationManager et mettre à jour l’interface utilisateur si des valeurs par défaut ont changé.

Exemples d’application complémentaire

Un exemple d’application complémentaire est disponible sur GitHub : CameraSettingsExternalSettingsApp. Cet exemple montre comment utiliser l’API IMFCameraConfigurationManager pour modifier la valeur par défaut pour la segmentation de contraste, de luminosité et d’arrière-plan.

Un autre exemple d’application illustrant comment utiliser l’API IMFCameraControlMonitor pour surveiller les modifications apportées aux contrôles d’intérêt est disponible sur GitHub : l’exemple ControlMonitorApp.

Voir aussi

Application.OnLaunched

Page Paramètres de l’appareil photo

Exemple d'application CameraSettingsExternalSettingsApp

Exemple ControlMonitorApp

Get-AppxPackage

Application de prise en charge matérielle

IMFCameraConfigurationManager

IMFCameraControlMonitor

KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS

KSPROPERTY_CAMERACONTROL_EXTENDED_EVCOMPENSATION

Lancer la page des paramètres de l’appareil photo

Descripteur MSOS

Applications empaquetées