Ginga-CC
O Ginga-CC é uma camada que suporta os ambientes existente no Ginga, sendo implementado os exibidores de mídia dos ambientes Ginga-NCL e Ginga-J. Esta camada também tem contato direto com o sistema operacional e a camada de hardware, sendo que é a mesma tem o controle do plano gráfico, tratamento de dados obtidos do carrossel de objetos DSM-CC (Digital Storage Media Command and Control), canal de retorno, acesso ao sistema de arquivo e ao terminal gráfico.

Arquitetura Ginga-CC
Ginga-J
O Ginga-J foi desenvolvido no laboratório LAVID/UFPB, sendo que inicialmente foi denominada de Flex-TV, porém com a junção das pesquisas com a PUC-Rio foi lançado posteriormente no middleware Ginga, e denominado de Ginga-J, o ambiente de execução do Ginga, ou seja, é responsável por dar suporte a aplicações desenvolvidas em linguagens procedurais.
Analogamente a outros middlewares existentes, o Ginga-J também tem como padrão de linguagem procedural o Java, utilizando a Java TV através das classes Xlet. É possível também detectar a presença de pacotes encontrados em outros middlewares como o DAVIC e HAVi, tais padrões também são denominados pelo Padrão GEM. Antes do lançamento oficial da Ginga, foi detectado que havia a possibilidade da cobrança de royalties devido a utilização dos pacotes relacionados ao GEM, pois as patentes estavam atreladas a empresa americana Via Licenling. Logo o Governo Brasileiro suspendeu o lançamento do Ginga para receptores fixos ( chamados full-seg ). No período de aproximadamente 1 ano, o Governo realizou negociações para evitar a possível cobrança de royalties, e paralelamente a Sun Microsystens desenvolveu uma API substituta, denominada de Java DTV . No final de 2008 o Governo decidiu por utilizar o Java DTV, sendo que o fórum SBTVD esta terminando de escrever as especificações e a ABNT deve liberar as mesmas no decorrer do ano de 2009, liberando assim a interatividade por completa no Sistema Brasileiro de Televisão Digital.
Ginga-NCL
O Ginga-NCL foi desenvolvido pelo laboratório Telemídia/PUC-Rio e inicialmente foi intitulado de Maestro, contudo com a junção das pesquisas da UFPB, o nome foi alterado para Ginga-NCL, sendo que o mesmo é o ambiente declarativo responsável por dar suporte às aplicações declarativas desenvolvidas na linguagem NCL (Nested Context Language). Tais aplicações são responsáveis por ler os documentos multimídia com interatividade, denominados de hipermídia.
A NCL foi especificada através de uma DTD (Document type Definition – XML W3C, 1998a) que escreve documentos baseados no modelo conceitual NCM (Nested Context Model) e é a única que disponibiliza agentes capazes de organizar os objetos para apresentação com sincronismo de mídia, e também dar suporte a múltiplos dispositivos, adaptabilidade e a estrutura necessária ao desenvolvimento de conteúdo de programas ao vivo. Analogamente a outras linguagens declarativas, a NCL também tem suporte a scripts escritos em código procedural, sendo que a linguagem padrão também foi desenvolvida na PUC-Rio e é chamada de Lua .
*Referências: A mesmas citadas anteriormente
Muito bem elaborado, obrigado