Ginga is the middleware specification for the Nipo-Brazilian Digital Television System (SBTVD, from the Portuguese Sistema Brasileiro de Televisão Digital). Ginga is also ITU-T Recommendation for IPTV Services.[1] It is also considered in ITU-T recommendations for Cable Broadcast services (ITU-T J.200 Recommendation series: Rec. ITU-T J.200,[2] Rec. ITU-T J.201[3] and Rec. ITU-T J.202[4]) and for Terrestrial Broadcast services by ITU-R BT.1889,[5] ITU-R BT.1699[6] and ITU-R BT.1722.[7] Ginga was developed based on a set of standardized technologies but mainly on innovations developed by Brazilian researchers. Its current reference implementation was released under the GPL license.[8]
Ginga is divided into two main integrated subsystems, which allow the development of applications following two different programming paradigms. Those subsystems are called Ginga-NCL[1] (for declarative NCL applications) and Ginga-J (for imperative Java applications).
In the case of the Brazilian Terrestrial Digital TV System, and any other Digital TV Systems following the definitions in the ABNT standards for the Ginga Middleware ABNT 15606,[9] Ginga-J is required to be supported in fixed receivers and it is optional in portable receivers. For IPTV services following the H.761 ITU-T Recommendation, only the Ginga-NCL subsystem is required, for any terminal type.
Ginga was developed by Telemídia Lab from Pontifical Catholic University of Rio de Janeiro (PUC-Rio) and by LAViD from Federal University of Paraíba (UFPB).