Adaptação e aceleração do middleware Ginga-NCL para o sistema-em-chip do SBTVD - Freitas, Bruno Policarpo Toledo (2014)
Este trabalho tem por finalidade aprimorar o Sistema-em-Chip (SoC) desenvolvido para um "Set-Top Box"de Televisão Digital com a capacidade de executar aplicações segundo o Sistema Brasileiro de Televisão Digital (SBTVD) e melhorar o desempenho do novo sistema. A "Rede H.264"e o "GingaCDN", dois projetos desenvolvidos anteriormente relacionados à Televisão Digital, foram utilizados como base para esse trabalho. A Rede H.264 teve como principal objetivo o desenvolvimento de codificadores e decodificadores para o padrão brasileiro. O resultado foi um SoC para "Set-Top Box"que inclui uma interface de usuário, um processador e os decodificadores de áudio e vídeo com suas respectivas interfaces de saída. Por outro lado, o GingaCDN criou uma implementação de referência para o middleware do SBTVD, denominado Ginga. O primeiro passo foi adicionar regras para compilar o Ginga no ambiente de desenvolvimento do SoC, sendo necessárias diversas mudanças na infraestrutura do middleware. O desempenho do sistema é melhorado através de hardware-software codesign onde as primitivas do Ginga que consomem maior tempo de processamento e de processador foram implementadas em hardware. O ganho obtido ocorre devido a dois fatores: o sistema se torna mais rápido e os recursos da CPU são liberados para outras aplicações. Neste trabalho, o alvo foi o subsistema gráfico do middleware, onde o impacto é mais significativo. Um estudo das características do hardware do sistema foi realizado e, então, uma função gráfica foi escolhida e implementada em hardware. Todas as etapas para substituir uma função em software por outra equivalente em hardware são descritas no texto. Entre as contribuições deste trabalho, abre-se espaço para dar continuidade à expansão das capacidades do "Set-Top Box"por meio de módulos de hardware, melhorando a eficiência do SoC para esta aplicação, dito então "Ginga-ready". A experiência pode ser estendida também para auxiliar a geração de middleware para outras plataformas.