iSoftISP, uma pilha aberta para câmeras MIPI

SoftISP

Apresentação do SoftISP no fosdem 2024

Durante a conferência FOSDEM 2024, Hans de Goede, um desenvolvedor Fedora trabalhando com Red Hat, Eu falo sobre o problema atual que foram identificados em muitos dos computadoresOs recentes laptops Intel da Intel, pois substituíram o módulo de câmera USB UVC padrão com um sensor de câmera MIPI bruto conectado ao IPU6.

Mencione que A interface MIPI está sendo adotada em vez da transmissão de vídeo via barramento USB, o que era comum em dispositivos que suportam o padrão UVC (USB Video Class). O MIPI fornece acesso ao sensor da câmera através de um receptor CSI (Camera Serial Interface) e um Processador de Sinal de Imagem (ISP) integrado à CPU.

Esta abordagem permite a captura de imagens com base em dados brutos diretamente do sensor. A Intel fornece um conjunto de drivers proprietários para trabalhar com câmeras MIPI no Linux via IPU6 nos processadores Intel Tiger Lake, Alder Lake, Raptor Lake e Meteor Lake.

Tanto a interface de hardware da parte ISP do IPU6 quanto os algoritmos de processamento de imagem usados ​​são considerados um segredo comercial e até agora o único suporte Linux para IPU6 é baseado em um driver de kernel fora da árvore com uma pilha de espaço de usuário proprietária no topo que está atualmente disponível em rpmfusion.

Tanto a Linaro quanto a Red Hat identificaram a falta de suporte do ISP para vários chips ARM e X86 como um problema. Linaro iniciou um projeto para adicionar um componente SoftwareISP ao libcamera para permitir que essas câmeras funcionem sem a necessidade de software proprietário e a Red Hat se uniu a Linaro para trabalhar nisso.

Hans, mencione isso a principal dificuldade no desenvolvimento de drivers abertos para câmeras MIPI radicado em o fato de que interface de hardware Processador ISP e algoritmos de processamento de imagem geralmente implementado nele não são divulgados pelos fabricantes de CPU e são mantidos como segredo comercial. Para resolver esse problema, Linaro e Red Hat colaboraram para desenvolver uma implementação de software de um processador de imagem chamado SoftISP, que permite trabalhar com câmeras MIPI sem depender de componentes proprietários.

A implementação de SoftISP foi proposto para inclusão no projeto libcamera, que fornece uma pilha de software para trabalhar com filmadoras, câmeras e sintonizadores de TV em sistemas Linux, Android e ChromeOS. Além do SoftISP, a pilha para trabalhar com câmeras MIPI inclui um driver para sensores ov2740 que opera no nível do kernel, bem como código para suportar o receptor CSI no kernel Linux, que faz parte do IPU6 dos processadores Intel.

Atualmente, a pilha SoftISP ainda não foi aceito no kernel Linux ou no projeto libcamera, mas considera-se que o desenvolvimento atingiu agora um estágio adequado para ser testado por uma ampla gama de entusiastas. A funcionalidade desta pilha foi testada com câmeras MIPI baseadas em vários sensores de laptops Lenovo, Dell e HP.

Para os interessado no projeto, Você deve saber que os pacotes do kernel Linux e libcamera, que incluem as alterações do projeto, agora estão disponíveis no repositório COPR para instalação no Fedora 39. O servidor de mídia Pipewire pode ser usado para capturar vídeo de câmeras MIPI e o suporte para câmeras via Pipewire já foi integrado à biblioteca libwebrtc.

Além disso, vale ressaltar que no Firefox a capacidade de trabalhar com câmeras através do Pipewire atingiu um estado adequado para uso com WebRTC a partir da versão 122. Por padrão, a funcionalidade para trabalhar com câmeras através do Pipewire no Firefox é desativado e requer o parâmetro «media.webrtc.camera.allow-pipewire» em about:config.

Finalmente, se você estiver interessado em poder aprenda mais sobre isso, você pode verificar os detalhes em o seguinte link.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.