Tecnologia FPGA permitindo processamento de video 4K e 8K

FPGA Processamento de Video

O processamento de vídeo é uma tecnologia-chave do mundo moderno; ele permite que os sistemas eletrônicos capturem, processem e extraiam os dados contidos nos vídeos. O processamento de vídeo, portanto, é a tecnologia de base para muitas aplicações, desde gerenciamento de tráfego de cidade inteligente até transmissão de video.

Todos essas aplicações requerem a capacidade de processar com alta resolução – por exemplo, resolução de 4K ou 8K com uma taxa de quadros de 60 quadros por segundo ou mais. Isso equivale a processar 500 milhões de pixels por segundo com resolução de 4K ou 1990 milhões de pixels por segundo com resolução de 8K. Esses são números desafiadores de desempenho para uma captura de vídeo simples e pipeline de exibição que apenas exibe o vídeo recebido. Quando etapas de processamento adicionais são necessárias – por exemplo, para detectar e classificar um objeto ou realizar a transcodificação – os requisitos de processamento necessários para atingir a taxa de quadros são consideráveis.

Isso é especialmente verdadeiro se a análise de vídeo for crítica em relação ao tempo, como em implantações de monitoramento de tráfego em cidades inteligentes, onde algoritmos avançados prevêem e suavizam o fluxo de tráfego usando inteligência artificial e aprendizado de máquina. A implementação desses algoritmos pode facilmente resultar em gargalos de aplicações, que afetam significativamente o desempenho, especialmente quando o processamento requer várias operações em um pixel ou matrizes de pixels.

A criação de sistemas complexos de processamento de vídeo vai além da necessidade de capacidade de processamento puro e também requer alta performance de Entrada e Saída (I/O) para fazer interface com uma ampla variedade de sensores externos, câmeras e atuadores. Para um sistema de gerenciamento de tráfego de cidade inteligente, essa interface pode significar suporte a vários sensores de vídeo, ao mesmo tempo que fornece interface de rede de alto desempenho e armazenamento / gravação local de eventos críticos usando JPEG XS.

Para dar outro exemplo, considere um sistema robótico médico-cirúrgico que depende do processamento de vídeo. Este sistema terá que fazer interface com sensores, ao mesmo tempo em que controla a iluminação e fornece controle preciso sobre uma variedade de motores e atuadores. Para ambas as aplicações, os desafios de interface podem ser significativos. Existe alta demanda da indústria por dispositivos com o desempenho que pode suportar vários sensores de alta velocidade e fornecer os recursos de interface necessários para se comunicar com uma ampla gama de redes e interfaces industriais.

FPGAs Processamento de video
Figura: O papel dos FPGAs no Processamento de video

O papel dos FPGAs no Processamento de video

Uma das tecnologias líderes usadas por engenheiros de desenvolvimento de sistemas para lidar com esses desafios de desempenho e interface são os FPGAs (Field Programmable Gate Arrays). FPGAs apresentam os recursos lógicos do desenvolvedores que podem ser usados ​​para implementar estruturas de processamento em pipeline altamente paralelas. Como a natureza flexível da malha interna, as estruturas de I/Os dos FPGAs também são muito flexíveis, o que permite interface de alta e baixa velocidade. Essa flexibilidade permite que o FPGA suporte vários sensores de vídeo de alto desempenho e interfaces de rede e implemente interfaces industriais, legadas e personalizadas de baixa largura de banda usadas para controlar atuadores, sensores, motores e outros dispositivos externos.

A implementação de algoritmos de processamento de vídeo em lógica programável permite a criação de implementações profundamente paralelizadas. Essas implementações paralelas aumentam o determinismo e reduzem a latência, pois os gargalos no sistema de processamento podem ser removidos.

Selecionando os FPGAs

Claro que a escolha do FPGA varia de acordo com sua aplicação, a fim de garantir a solução mais eficaz. Os engenheiros de desenvolvimento de projetos selecionam dispositivos com base na capacidade e desempenho lógicos, recursos de interface e macros rígidas especializadas. Por exemplo, os dispositivos da família Intel® Arria® 10 são frequentemente selecionados para aplicações médicas e de processamento de vídeo Pro A/V, enquanto os dispositivos da família Stratix® 10 são adequados para soluções de broadcast.

Além da lógica de alto desempenho, a família Arria® 10 fornece aos desenvolvedores uma gama de soluções de interconectividade de alta largura de banda com as famílias GT e GX, enquanto a família SX fornece processadores Arm® A9 que permitem a implementação de processamento sequencial, como interfaces homem-máquina (HMI), GUIs, protocolos de comunicação, etc.

As famílias Intel® Stratix® 10 fornecem uma mudança significativa na capacidade, oferecendo núcleos Arm® A53 embarcados em dispositivos SX, ponto flutuante de alto desempenho e soluções de throughput em dispositivos GX e suporte para AI / ML em dispositivos NX. Esta ampla variedade de dispositivos permite que o desenvolvedor selecione o FPGA mais apropriado para a aplicação em questão.

Independentemente do dispositivo selecionado, os engenheiros de projeto precisam de uma ampla gama de IP prontos para produção para atender aos prazos de projeto cada vez mais apertados.

Dentro do Intel® Quartus® Prime Design Software, os desenvolvedores podem usar o abrangente Video and Image Processing Suite da Intel. Este conjunto apresenta mais de vinte blocos IP altamente otimizados e prontos para produção, que oferecem as funcionalidades básicas necessárias para implementar pipelines de processamento de vídeo e imagem. Para permitir uma integração de alto desempenho e conexão entre os núcleos da suíte VIP, os blocos de IP se conectam usando a interface de streaming Avalon® da Intel. Isso permite uma abordagem mix-and-match para o uso dos blocos de IP de vídeo, com blocos sendo inseridos no pipeline de processamento de vídeo conforme necessário. O IP de vídeo fornece ao engenheiro de projeto uma gama de recursos, incluindo:

  • Interface: suporte para uma variedade de interfaces de câmeras e sensores diferentes de HDMI a SDI, DisplayPort, MIPI e Ethernet (GigE Vision)
  • Captura, correção e processamento: capacidade de formatar o vídeo conforme necessário para o processamento – por exemplo, conversão de espaço de cores, desentrelaçamento, correção de gama, recorte, reamostragem de croma, sincronização e remoção de ruído temporal e espectral do vídeo usando o filtro 2D e o limpador de stream de vídeo.
  • Formatação: a capacidade de formatar uma saída de vídeo usando combinação, dimensionamento e entrelaçamento Alpha.
  • Buffering: Suporte para leitura e gravação de buffers de quadro em DDR. Isso permite que o desenvolvedor altere as taxas de quadro de entrada e saída e torne o vídeo processado disponível para o sistema do processador para processamento de vídeo de alto nível.
  • Análise e teste: suporte para estatísticas de vídeo instantâneas e geração de padrão de teste para habilitar o caminho de processamento de vídeo sem a presença do sensor / câmera.

Embora o Video and Image Processing Suite seja extenso, outras funcionalidades de IP especializadas podem ser necessárias. Nesse caso, o desenvolvedor pode aproveitar uma grande variedade de IPs do ecossistema de parceiros. Esses parceiros de IP incluem IntoPIX, que fornece uma variedade de IP de compressão, incluindo JPEG-XS, Rambus (anteriormente Northwest Logic), que fornece soluções de interface MIPI, e Macnica, que fornece uma variedade de soluções de vídeo sobre IP.

Essa ampla gama de IPs do ecossistema da Intel® e de parceiros permite que os desenvolvedores desenvolvam um aplicativo de processamento de vídeo personalizado de forma rápida e fácil. Para implementações de algoritmos personalizados, o desenvolvedor pode aproveitar o compilador HLS da Intel. O compilador HLS permite que os desenvolvedores definam o algoritmo usando uma linguagem de nível superior, reduzindo ainda mais o tempo de design e verificação em comparação com uma implementação de nível de transferência de registro.

Esta ampla gama de IP do ecossistema da Intel® e de parceiros permite que os desenvolvedores desenvolvam uma aplicação de processamento de vídeo personalizada de forma rápida e fácil. Para implementações de algoritmos personalizados, o desenvolvedor pode aproveitar o compilador HLS da Intel. O compilador HLS permite que os desenvolvedores definam o algoritmo usando uma linguagem de nível superior, reduzindo ainda mais o tempo de design e verificação em comparação com uma implementação de nível de transferência de registro.

Conclusão

A criação de aplicações modernas de processamento de vídeo capazes de suportar resolução de 4K e 8K requer processamento significativo e recursos de interface. A ampla variedade de IP de conectividade e processamento de vídeo do ecossistema da Intel e do Parceiro permite que os projetistas selecionem e escolham a funcionalidade, enquanto a FPGA de alto desempenho é ideal para processar streams de vídeo de alta resolução. Esses recursos, juntamente com um fluxo robusto de projeto de softwar, fornecem um rápido desenvolvimento de aplicações de vídeo inteligente de próxima geração.

Artigo escrito pela Equipe da Mouser e publicado no blog da Mouser Electronics: FPGA Technology Enabling 4K and 8K Video Processing

Traduzido por Equipe Embarcados.Visite a página da Mouser Electronics no Embarcados

(*) este post foi patrocinado pela Mouser Electronics

Mouser Electronics é um dos líderes mundiais em distribuição de semicondutores e componentes eletrônicos e distribuidor autorizado de mais de 500 fornecedores líderes da indústria. Nosso foco é a excelência em serviço ao cliente, oferendo rápida entrega e embarque imediato com a precisão no processo, desde a colocação dos pedidos até a sua entrega. Mouser oferece uma ampla seleção de produtos em estoque para rápido envio a mais de 170 países.

Notificações
Notificar
guest
0 Comentários
Inline Feedbacks
View all comments

WEBINAR

Imagens de Ultrassom: Princípios e Aplicações

DATA: 26/10 ÀS 19:30 H