A Set-Top Box can be considered to be a collection of a number of small functional blocks or modules, with each module performing a well defined function. A module can be composed of pure hardware or pure software or some combination of both.
Set-Top Box act as an interface between Television and broadcaster. The STB selects the appropriate broadcast TV information by tuning to one of many input channels. The signal is digitally modulated using Quadrature Phase Shift Key (QPSK) for satellite applications, Quadrature Amplitude Modulation (QAM) for cable and Orthogonal Frequency Division Multiplexing (OFDM) for terrestrial.
The information in the selected RF channel is then processed by the demodulator to produce an MPEG-2 Transport Stream (TS) containing the audio, video and other information that relates to the selected TV program.
The STB generally also contains some form of modem to allow it to send and receive interactive data. Conventional telecommunication modems are typically used in satellite and terrestrial STBs while cable STBs generally have a cable modem.
In general, digital TV information in the MPEG-2 TS may be encrypted to present customers who have not paid for a particular service from being able to view it.
The MPEG demultiplexer selects and decrypts the compressed audio and video for the particular program that the viewer wishes to watch, using decryption keys supplied by the Conditional Access Sub System (CASS). The MPEG decoder then compresses the audio and video information for the selected program.
The Central Processing Unit (CPU) controls the whole operation and performs specific data manipulation function. It generally uses a Real Time Operating System (RTOS) on top of a hardware abstraction layer for the management of the resources and processes of the STB directed by the higher level software.
In addition to the kernel, a STB needs a ‘loader’ to enable the TV operator to upgrade ‘resident applications’ or download ‘OS patches’ to STB.
A resident application is a program or a number of programs that are built into the memory of the STB. The STB also requires ‘drivers’ to control the various hardware devices. Every hardware component in the STB must have a driver.
A driver is a program that translates commands from the TV viewer to a format that is recognizable by the hardware device. Finally a STB OS needs to incorporate a set of Application.