Sensores de presença (proximidade humana)
A seção a seguir detalha as diretrizes para OEMs selecionando componentes como sensores de presença para dar suporte às experiências de dispositivo de caixa de entrada detalhadas acima. Ela aborda os requisitos gerais de todos os sensores, além das diretrizes específicas para experiências específicas do dispositivo. Sensores de presença são sensores de proximidade do tipo "Humano". Examine as experiências e os termos do dispositivo para Detector de presença antes de ler esta seção.
O objetivo desta seção é apresentar diretrizes para OEMs que buscam instalar o hardware do sensor de presença em um sistema. Essas diretrizes representam uma configuração mínima viável do sensor. A Microsoft incentiva a instalação de hardware que supere os padrões aqui.
O intervalo, a latência, a distância e a potência não serão medidos pela Microsoft, mas os OEMs e os ODMs devem validar a funcionalidade de acordo com os requisitos de HLK. Se o sistema relatar distância, sua precisão deverá ser medida.
Detalhes de design importantes e requisitos gerais para todos os sensores de presença humana
Se um sensor de proximidade der suporte à presença humana, ele deverá dar suporte ao tipo de detecção:
DEFINE_PROPERTYKEY(DEVPKEY_Sensor_HumanPresenceDetectionType,0xd4247382, 0x969d, 0x4f24, 0xbb, 0x14, 0xfb, 0x96, 0x71, 0x87, 0xb, 0xbf, 81); //[VT_UI4]
Os tipos de detecção definidos no momento são encontrados abaixo:
Nome de uso | Tipo de uso | Descrição da Utilização |
---|---|---|
Tipo de detecção de presença humana: não biométrico definido pelo fornecedor | Sel | A presença (de uma ou mais pessoas) é detectada utilizando um método definido pelo fornecedor, mas não biométrico. Isso é usado para dar uma afirmação positiva de que o sensor está usando a detecção não relacionada à biometria, conforme definido abaixo. Sem isso, um host não pode presumir o dispositivo não utiliza biometria. |
Tipo de detecção de presença humana: biometria definida pelo fornecedor | Sel | A presença (de uma ou mais pessoas) é detectada utilizando a biometria humana definida pelo fornecedor. Isso é uma generalização para um sensor de presença humana que utiliza biometria ainda não definida abaixo. |
Tipo de detecção de presença humana: biometria facial | Sel | A presença humana é detectada buscando (por exemplo, com uma câmera de vídeo de baixa resolução) rostos humanos (por exemplo, usando a detecção de objetos Viola-Jones). A distinção entre rostos ou detecção de atributos faciais não é executada. Essa detecção é semelhante à das câmeras digitais existentes que podem colocar uma caixa delimitadora em torno de um rosto. |
Tipo de detecção de presença humana: biometria de áudio | Sel | A presença humana é detectada buscando (por exemplo, com um microfone) sons humanos (por exemplo, usando uma palavra-chave predefinida, fala geral, ruídos altos, aplausos). A distinção entre vozes ou usuários ou a detecção de características de áudio não é executada. |
Importante
Todos os Sensores de Presença devem relatar com precisão o tipo de detecção descrito acima.
Requisitos do sensor de presença humana de categoria 1
Medida | Métrica | Comentários |
---|---|---|
Intervalo de sensores | 0,2 m a 1,2 m Observação: esse é um intervalo mínimo viável. Sensores com intervalos melhores serão permitidos. | Quando medido diretamente (definido acima), o usuário deve conseguir disparar uma ativação a 1,2 m. |
Latência do sensor | <0,33 segundo | É o mesmo que a latência do sensor de categoria II. Esse requisito define o tempo desde o reconhecimento de firmware da presença humana ao sistema operacional que recebe essa mensagem. Sabe-se que o sistema operacional tem tempo de latência variável para ativação depois que o sinal do sensor é recebido. |
Energia do sensor – em uso | <80 mw para sensores internos; para sensores externos, o consumo de energia é determinado pela limitação de energia do barramento; média de todas as medidas. | Essa medida encapsula todo o subsistema do sensor, incluindo o transmissor, o receptor e todos os LEDs usados apenas de acordo com os cenários de ativação e bloqueio. |
Energia do sensor – em espera | <25 mw para sensores internos; para sensores externos, o consumo de energia é determinado pela limitação de energia do barramento; média de todas as medidas. | Observe que esse é o pico máximo de consumo de energia. |
Precisão – relatório de distância | +/-5 cm | Medido a 45 cm (12 pol.), 75 cm (29,5 pol.) e 120 cm (47,2 pol.). Necessário apenas se esse sensor for compatível com distância. |
Requisitos do sensor de presença humana de categoria 2
Medida | Métrica | Comentários |
---|---|---|
Intervalo de sensores | 0,2 m a 1,2 m Observação: esse é um intervalo mínimo viável. Sensores com intervalos melhores serão permitidos. | Quando medido diretamente (definido acima), o usuário deve conseguir disparar uma ativação a 1,2 m. |
Latência do sensor | <0,33 segundo | Esse requisito define o tempo desde o reconhecimento de firmware da presença humana até o Driver HID receber essa mensagem. Sabe-se que o sistema operacional tem tempo de latência variável para ativação depois que o sinal do sensor é recebido. |
Energia do sensor – em uso | <65 mw para sensores internos; para sensores externos, o consumo de energia é determinado pela limitação de energia do barramento; média de todas as medidas. | Essa medida encapsula todo o subsistema do sensor, incluindo o transmissor, o receptor e todos os LEDs usados apenas de acordo com os cenários de ativação e bloqueio. |
Energia do sensor – em espera | <5 mw; para sensores externos, o consumo de energia é determinado pela limitação de energia do barramento; média de todas as medidas. | Isso será medido pelo consumo de energia do sensor quando o sistema está em Espera Moderna. Essa medida encapsula todo o subsistema do sensor, incluindo o transmissor, o receptor e qualquer outro hardware usado de acordo com os cenários de ativação e bloqueio. |
Precisão – relatório de distância | +/-5 cm | Medido a 45 cm (12 pol.), 75 cm (29,5 pol.) e 120 cm (47,2 pol.). Necessário apenas se esse sensor for compatível com distância. |
Integração do dispositivo
O posicionamento do sensor é fundamental para proporcionar a melhor experiência do usuário e fornecer uma experiência de presença humana consistente entre dispositivos.
O posicionamento ideal depende do fator forma do dispositivo e, em todos os casos, os OEMs devem determinar o melhor posicionamento para o dispositivo. Além disso, para dispositivos de várias posturas, como laptops conversíveis dois em um, é recomendável que os sensores relatem o campo de dados isValid = false para posturas em que os sensores de presença humana não produzirão medidas precisas (ou seja, o sensor não está voltado para o usuário ou está obstruído). O posicionamento ideal do mundo real dos sensores geralmente está no mesmo plano que o monitor (voltado para o usuário).
Além disso, verifique se as diferentes configurações que um dispositivo pode assumir (posição do teclado no modo tablet versus modo laptop, por exemplo) não bloqueiam a abertura e não cruzam o campo de visão do sensor.
Por fim, verifique se o campo de visão do sensor não cruza nenhuma fonte ruidosa de luz (flash da câmera, luz de fundo do teclado etc.), pois elas podem contribuir para ruídos adicionais ou leituras incorretas. Considere todas as configurações diferentes que as diferentes configurações que um dispositivo pode usar ao considerar o campo de visão que cruza fontes ruidosas de ondas eletromagnéticas ou de luz.
Fator forma | Localização e considerações sobre o sensor de presença humana |
---|---|
Tablet | Coloque o sensor de presença humana perto da superfície do dispositivo, não no meio, com blindagem adequada para garantir leituras precisas. |
Conversível | Use os melhores critérios para sistemas de estilo conversível. |
Dispositivo flip | Coloque o sensor de presença humana na tampa, acima do monitor voltado para o usuário (recomendado). |
Monitor multifuncional ou externo | Coloque o sensor de presença humana na frente do dispositivo (por exemplo, área de moldura) (recomendado). |
Área de Trabalho | Se você estiver colocando o sensor de presença humana no chassi para uma área de trabalho, recomendamos que ele seja colocado na parte superior do chassi próximo à borda. É preferível incluir o sensor de presença humana no monitor ou fornecer um dongle USB externo. |
Política de arbitragem e suporte do sensor externo de presença humana
Os sensores externos de presença humana integrados aos monitores são compatíveis com o recurso de caixa de entrada. As seções a seguir detalham a implementação, os requisitos e a política que são aplicados a sensores externos de presença humana. Não há suporte total a outros tipos de sensores externos, como autônomos, pois o fator forma e o tipo de uso são muito variados para dar suporte confiável. No entanto, nada proíbe explicitamente esses sensores e é recomendável que os fornecedores interessados em produzi-los entrem em contato com sasensors@microsoft.com.
Implementação
Os sensores de presença humana externa devem ser expostos ao sistema operacional de maneira idêntica a um sensor interno, exceto que a propriedade do sensor DEVPKEY_Sensor_ConnectionType deve ser marcada como externa para que o sistema operacional detecte a conexão externa. O SO saberá se o sensor está integrado a um monitor externo por meio das informações de PLD associadas ao sensor. É altamente recomendável expor o sensor como um dispositivo HID para que o driver de classe HID da caixa de entrada seja usado. Isso elimina a necessidade de o usuário instalar drivers para que o sensor externo se torne operacional.
A conexão física entre o sensor externo e o sistema deve ser uma conexão USB separada da conexão do monitor. Isso ocorre porque nenhum dos tipos de conexão do monitor padrão, como HDMI ou DisplayPort, dá suporte a HID. Talvez seja possível que o monitor e o sensor compartilhem uma conexão via USB-C alt-mode e USB4, mas nem todos os usuários terão acesso a esses tipos de conector, portanto, eles não devem ser o único conector para o sensor externo.
Requisitos
Os sensores externos de presença humana devem cumprir os mesmos requisitos que os sensores internos de presença humana e passar nos mesmos testes MLS e manuais.
Como lidar com sensores com diferentes funcionalidades
Quando há vários sensores de presença com funcionalidades diferentes, por exemplo, o sensor A dá suporte apenas à ativação por aproximação e bloqueio ao sair, enquanto o sensor B dá suporte apenas a brilho adaptável. A página Configurações refletirá as funcionalidades do sensor selecionado. Se o sensor A for selecionado, apenas as opções ativação e bloqueio aparecerão. Se o sensor B estiver selecionado, somente a opção de brilho adaptável aparecerá.
Lógica de seleção do sensor de presença padrão
Até, e incluindo, o Windows 11 22H2, o último sensor conectado era escolhido por padrão. Da atualização de maio de 2023 do Windows 11 22H2 em diante, a lógica de seleção é ilustrada como abaixo:
Política para ativação por aproximação e bloqueio ao sair
Os sensores externos têm prioridade sobre os internos e, quando conectados ao sistema, substituem completamente os internos como entrada para ativação e bloqueio. Prioridade significa que, quando um sensor externo está conectado, ele se tornará o sensor padrão para o sistema. As preferências de usuário existentes, como tempo limite ou distância de detecção, são transferidas para o sensor externo.
A política de arbitragem para diferentes configurações de sensor externo pode ser encontrada abaixo.
O sistema tem sensor integrado | O sistema tem sensor externo | Política de arbitragem |
---|---|---|
Sim | Nenhum | Se a tampa do sistema estiver fechada; ativação e bloqueio serão desabilitados e não funcionarão. |
Não | Nenhum | O recurso não está presente ou está desabilitado. |
Yes | Single | O sensor conectado externamente passará a ser o sensor selecionado padrão para ativação e bloqueio. O usuário terá a opção de configurar o sensor que ele prefere na interface do usuário nas Configurações do Windows. Essa configuração só aparecerá quando houver vários sensores disponíveis para o sistema. Após a atualização de maio de 2023 na versão 22H2 ou posterior, a lógica de seleção segue a lógica de seleção do sensor de presença padrão. |
Não | Single | O sensor conectado externamente passará a ser o sensor selecionado padrão para ativação e bloqueio. O usuário terá a opção de configurar o sensor que ele prefere na interface do usuário nas Configurações do Windows. Essa configuração só aparecerá quando houver vários sensores disponíveis para o sistema. Após a atualização de maio de 2023 na versão 22H2 ou posterior, a lógica de seleção segue a lógica de seleção do sensor de presença padrão. |
Yes | Vários | A mesma opção de usuário será apresentada na interface do usuário. O sensor que foi conectado pela última vez ao sistema será o sensor padrão até que o usuário escolha outra opção. Após a atualização de maio de 2023 na versão 22H2 ou posterior, a lógica de seleção segue a lógica de seleção do sensor de presença padrão. |
Não | Vários | A mesma opção de usuário será apresentada na interface do usuário. O sensor que foi conectado pela última vez ao sistema será o sensor padrão até que o usuário escolha outra opção. Após a atualização de maio de 2023 na versão 22H2 ou posterior, a lógica de seleção segue a lógica de seleção do sensor de presença padrão. |
Dica
A orientação do monitor não é levada em consideração ao determinar se o sensor integrado ao monitor é utilizável, presume-se que os sensores ainda podem operar normalmente nesses casos.
Sensores virtuais de presença humana
Os sensores de presença humana devem ser apoiados por um dispositivo físico. Em outras palavras, um dispositivo de software falso não deve ser exposto como um proxy para controlar a ativação, o bloqueio ou o brilho adaptável. Esse recurso se destina a ser usado apenas com cenários físicos. A intenção desse requisito é que os Sensores de Presença detectem e referenciem o ambiente físico para determinar os sinais de presença do usuário. Os sensores HID virtuais poderão ser implementados se estiverem agregando dados de outros sensores, como o microfone ou outras entradas do usuário E estiverem em execução em um silício descarregado, como uma NPU ou MCU, em que os metadados de imagem ou áudio não estão acessíveis para aplicativos no SOl. No caso da câmera, os sensores de presença virtual NÃO devem usar ou processar metadados de imagem no SO. OEMs e IHVs que implementam sensores virtuais que consomem imagem ou metadados no sistema operacional assumem toda a obrigação legal pela privacidade dessa implementação.
Os requisitos de energia para sensores de presença neste whitepaper destinam-se a sensores físicos. Para sensores virtualizados que executam parte de outros subsistemas, os requisitos de energia são herdados do subsistema em que estão sendo executados. Por exemplo, um sensor de presença virtual em execução em um sistema de espera moderno e em execução no subsistema de áudio descarregado deve seguir os requisitos listados em Gerenciamento de energia do subsistema de áudio para plataformas modernas em espera
Interação com o obturador de privacidade da câmera e alternâncias de encerramento
Espera-se que o obturador de privacidade não interfira nos sensores de presença humana, a menos que os metadados de imagem sejam transmitidos para o sistema operacional. Nos casos em que o mesmo sensor físico é usado com Windows Hello (câmera IR) ou a câmera RGB geral, é recomendável que o sensor de presença humana seja exposto por meio de um caminho físico separado do ISP (por exemplo, por meio de uma NPU discreta) em que não haja transmissão de inferências e metadados de imagem (incluindo assinatura facial) ao sistema operacional. Como as alternâncias de encerramento de câmera devem operar no firmware do ISP, um caminho fisicamente separado garante que as alternâncias de encerramento não interfiram nos recursos de presença humana. Se um caminho físico separado não for usado para um sensor compartilhado, as diretrizes do HLK da câmera indicarão que as janelas de privacidade operam no sensor RGB e IR e isso interferiria nos recursos de presença humana, resultando em uma experiência de usuário ruim, pois o Windows não alerta o usuário de que a presença humana está bloqueada. No momento, não é recomendável ter um caminho compartilhado entre a presença humana e o ISP. No entanto, nos casos em que isso é necessário, o ISP interromperia a detecção de HPD (para economia de bateria) e relataria que o sensor HPD não está disponível.
É altamente recomendável que qualquer relatório de obturador físico seja de estado para o SO por meio de CT_PRIVACY_CONTROL (para dispositivos UVC) ou KSPROPERTY_CAMERACONTROL_PRIVACY (se estiver usando o driver AVStream ou DMFT). Para detalhes, confira Notificação do Obturador de Privacidade da Câmera.
Mais detalhes sobre a funcionalidade de janelas de Privacidade da Câmera, alternâncias de encerramento e LEDs podem ser encontrados em Controles de Privacidade da Câmera.
Interação com LEDs de privacidade da câmera
A Microsoft espera que os LEDs de privacidade da câmera possam ficar e fiquem desativados quando nenhum metadado de imagem estiver sendo transmitido para o SO. É necessário que o sensor de presença humana não seja fisicamente capaz de transmitir dados faciais ou de imagem para o SO. Isso pode ser feito com uma variedade de mecanismos, como, entre outros, um barramento dedicado ou caminho fisicamente separado de um ISP de câmera ou um fusível dentro do sensor. Mais detalhes sobre a funcionalidade de LEDs de privacidade da câmera podem ser encontrados na seção Controles de Privacidade da Câmera.
Guia de implementação
Os leitores desta seção (que pretendem desenvolver um driver de sensor de presença) devem se familiarizar com o Guia de design do driver de sensores.
No hardware, um sensor de presença humana é implementado como um SensorType_Proximity com o DEVPKEY_Sensor_ProximityType
definido como ProximityType_HumanProximity = 1
.
Se o sensor utilizar a biometria, ele poderá estar no SensorCategory_Biometric.
Conectividade do barramento de dispositivo
Não há requisitos rígidos fora dos testes no HLK (veja abaixo) na conectividade do barramento de dispositivo. No entanto, recomendamos que os construtores de sistema aproveitem os drivers de caixa de entrada disponíveis no Windows 11 sempre que possível. Por exemplo, há um driver HID de caixa de entrada para I2C e um Driver de Sensor de caixa de entrada para dispositivos baseados em HID. Isso oferece o benefício de que a Microsoft manterá drivers de caixa de entrada no Windows 11.
Gerenciamento de Energia
Esta seção contém uma visão geral básica do gerenciamento de energia dos sensores de presença humana. Para obter informações mais detalhadas, confira Gerenciamento de Energia de Sensores.
Dica
O sensor de presença foi projetado para funcionar em sistemas de espera modernos. Suporte adicional para abordagem de ativação para sistemas de espera não modernos foi adicionado na Atualização de maio de 2023 para Windows 11 versão 22H2 e posteriores.
Requisitos adicionais para implementações HIDUSB
O artigo Suspensão seletiva para HID em dispositivos USB dá um exemplo de como um INF OEM ou IHV faz referência ao INPUT.INF da caixa de entrada para habilitar um recurso diferente chamado de suspensão seletiva. Os OEMs e IHVs podem ser semelhantes em seu INF, mas referenciar a seção mencionada acima para habilitar a ativação por toque.
Para simplificar esse INF, os OEMs e os IHVs também podem considerar a criação de uma extensão INF. Confira a documentação Usar um arquivo de extensão INF.
Se o dispositivo tiver várias coleções HID, incluindo coleções de sensores de presença humana, coleções de presença não humana, o firmware do sensor só deverá dar suporte à ativação das coleções de proximidade humana. Se uma coleção de sensor de presença não humana puder sinalizar a ativação também, o dispositivo ainda será colocado de volta em D0 para esvaziar a energia.
Implementação de protocolo (arquitetura de alto nível)
Esta seção requer os detalhes de implementação do driver necessários para relatar um sensor de presença humana ao SO. Tecnicamente, isso é feito implementando um tipo de detecção de proximidade humana para um sensor de tipo de proximidade na categoria de sensor biométrico.
Os diagramas abaixo representam como os dados do sensor fluem para cima na pilha quando o recurso está funcionando. Monitores externos usarão os diagramas rotulados como "HID".
Capacidade do tipo de driver/sensor | HW Compatível com distância (+/-5 cm) | HW independente de distância |
---|---|---|
HID: dispositivo de interface humana | Fluxo de dados compatível com distância baseado em HID (recomendado) | Fluxo de dados independente de distância baseado em HID |
CLX: extensão da classe de sensor do Windows | Fluxo de dados compatível com distância baseado em CLX | Fluxo de dados independente de distância baseado em CLX |
Fluxo de dados compatível com distância baseado em HID (recomendado)
Fluxo de dados compatível com distância baseado em CLX
Fluxo de dados independente de distância baseado em HID
Fluxo de dados independente de distância baseado em CLX
Fluxo de dados resumido
- O usuário modifica as configurações de ativação ou bloqueio por meio da interface do usuário de configurações e é comunicado ao serviço de sensor do Windows.
- O serviço de sensor do Windows inicia o sensor de presença humana durante a operação normal ou o modo de espera moderno para monitorar a ativação e o bloqueio.
- O sensor de presença humana gera uma nova amostra que contém humano presente, distância de detecção e é válido.
- Se o sistema estiver em espera moderno e o novo exemplo de presença humana relatar um humano dentro do intervalo de detecção configurado, o serviço de sensor do Windows enviará um sinal de ativação para a pilha de energia do Windows. Por outro lado, se o sistema estiver em operação normal e um humano não for relatado ou estiver fora do intervalo de detecção configurado, o serviço de sensor do Windows enviará um sinal de tempo limite para a pilha de energia do Windows.
Sinais de presença humana
Sinais:
- Sinal de usuário presente – ocorre quando o sensor relata um exemplo de dados com o campo de dados presente humano definido como verdadeiro. Se o sistema for compatível com atenção, a atenção será definida como ativada/verdadeira nesse estado.
- O usuário presente não está envolvido – ocorre em sistemas compatíveis com atenção quando o sensor relata uma amostra de dados com o campo de dados de humano presente definido como verdadeiro, então a atenção é definida como não ativada ou falsa.
- Sinal de usuário não presente – ocorre quando o sensor relata um exemplo de dados com o campo de dados presente humano definido como falso.
- Sinal desconhecido do usuário – sinalizado quando a presença humana é desconhecida. Isso poderá ocorrer se o sensor for removido de modo artificial ou se o sensor ainda não tiver relatado uma amostra válida.
Descritores HID necessários e coleções de nível superior
Se implementados, usando uma das arquiteturas baseadas em HID, a seção a seguir descreve os campos de dados para expor informações de presença.
Para mais informações sobre como expor um dispositivo por meio do HID, confira Usos de HID de sensores.
Presença humana – presente (ativação e bloqueio)
ID de uso | Comentários |
---|---|
0x04B1 HID_USAGE_SENSOR_DATA_BIOMETRIC_HUMAN_PRESENCE | Uso para expor um booliano que indica presença. Defina esse valor como "1" para indicar que há presença humana. Defina esse valor como "0" para indicar que não há presença humana. |
0x04B2 HID_USAGE_SENSOR_DATA_BIOMETRIC_HUMAN_PROXIMITY_RANGE | Usado para expor valores de distância no relatório de entrada A unidade padrão está em metros, mas o descritor de relatório de exemplo neste documento mostra como o dispositivo pode relatar milímetros. Esse se tornará um campo opcional em uma atualização futura do Windows. |
Observação
O relatório de milímetros deve ser preciso em +/-5.000 mm. O intervalo relatado pode ser contínuo ou em incrementos separados de menos de 5.000 mm (ou seja, 2.000 mm, 7.000 mm). Esse se tornará um campo opcional em uma atualização futura do Windows.
Guia de validação – Requisitos mínimos e testes: WHCP (Programa de Certificação de Hardware do Windows)
O teste mínimo e os requisitos para certificar seu hardware como compatível são descritos nos testes do HLK (Hardware Lab Kit) nas Especificações e políticas do Programa de Compatibilidade de Hardware do Windows.