Vous êtes sur la page 1sur 12

Set Top Box

par Véronique KERGUELEN


Ingénieur en systèmes de télévision numérique chez Philips Digital Networks/STB

1. Signal........................................................................................................... TE 5 875 – 2
1.1 Codage de source ........................................................................................ — 2
1.1.1 Elementary Stream (ES)..................................................................... — 2
1.1.2 Packetized Elementary Stream (PES)................................................ — 3
1.1.3 Sections ............................................................................................... — 3
1.1.4 Paquets de transport .......................................................................... — 4
1.1.5 Synchronisation des données ........................................................... — 5
1.1.6 Tables PSI/SI........................................................................................ — 5
1.2 Codage de canal .......................................................................................... — 6
1.2.1 Correction des erreurs........................................................................ — 6
1.2.2 Modulation .......................................................................................... — 7
1.3 Chaîne de transmission............................................................................... — 9
2. Décodeur .................................................................................................... — 9
2.1 Tuner ............................................................................................................. — 9
2.2 Demux ......................................................................................................... — 11
2.3 Embrouillage et contrôle d'accès ............................................................... — 11
2.4 Décodeur MPEG........................................................................................... — 12
2.5 DENC............................................................................................................. — 12
2.6 Bootstrap Loader (BSL) ............................................................................... — 12
3. Perspectives .............................................................................................. — 12
Pour en savoir plus........................................................................................... Doc. TE 5 875

es tentatives de télévision haute définition en analogique (MUSE, HD-MAC)


L ont montré qu’en définitive, le public était beaucoup plus sensible à la quantité
de programmes disponible et à la qualité de leur contenu, qu’à la qualité de
l’image elle-même. Le réseau analogique terrestre étant saturé, le numérique peut
alors entrer en jeu. Les premières diffusions de télévision numérique à destination
du grand public ont eu lieu en 1994 aux États-Unis avec le projet DirecTV (satel-
lite). Le succès a été immédiat avec un million d'abonnés un an après le lance-
ment. En Europe, l'aventure du numérique commence fin 1991 avec le projet DVB
(Digital Video Broadcasting) sur les bases de la compression MPEG-2. Canal+
lance les premières émissions régulières sur le satellite ASTRA 1E en avril 1996.
Par ailleurs, le développement du téléphone mobile a fait ressurgir le pro-
blème de la télévision analogique hertzienne qui occupe une bande passante
considérable, sans que les canaux existants soient tous réellement utilisés pour
autant. En effet, les échos de la diffusion analogique empêchent l'utilisation des
canaux adjacents et des canaux N + 3 et N – 3. La diffusion en numérique serait
la solution qui permettrait de récupérer toute cette bande passante gâchée. Le
lancement de la télévision numérique terrestre en France est prévu au cours de
l’année 2003 ; à terme, la télévision analogique est appelée à disparaître.
Le décodeur numérique (ou Set Top Box : STB) est un passage obligé avant
l'arrivée de téléviseurs numériques (c’est-à-dire avec décodeur intégré). Il est
composé d'une base hardware pilotée par des logiciels embarqués temps réel. Il

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Télécoms TE 5 875 − 1
SET TOP BOX __________________________________________________________________________________________________________________________

a profité des avancées en intégration de composants et miniaturisation du maté-


riel. Le boîtier a conservé sa taille originelle mais le volume de son contenu a été
divisé quasiment par quatre. Seule l'alimentation de l'ensemble a conservé sen-
siblement la même taille.
Pour des problèmes évidents de confidentialité, nous ne pouvons pas entrer
dans les détails du décodeur mais nous montrons ici le fonctionnement global
du décodeur récepteur intégré (IRD : Integrated Receiver Decoder).

(0)
Sigles et abréviations
ADC Analogic Digital Converter OFDM Orthogonal Frequency Division Multiplex
AIT Application Information Table PAT Program Association Table
AU Access Unit PCM Pulse Code Modulation
BAT Bouquet Association Table PCR Program Clock Reference
BER Bit Error Rate PES Packetized Elementary Stream
BSL BootStrap Loader PESE PES Extension
CAT Conditionnal Access Table PESHL PES Header data Length
CC Continuity Counter PESPL PES Packet Length
C/N Carrier to Noise Ratio PESSC PES Scrambling Control
CRC Cyclic Redundancy Checksum PID Packet Identifier
CSA Common Scrambling Algorithm PMT Program Map Table
DAC Digital Analogic Converter PTI Protocol Transport Interface
DENC Digital ENCoder PTS Presentation Time Stamp
DTS Decoding Time Stamp PUSI Payload Unit Start Indicator
DVB Digital Video Broadcasting PSI Program Specific Information
ECM Entitlement Control Message QAM Quadratic Amplitude Modulation
EIT Event Information Table QPSK Quadratic Phase Shift Keying
EMM Entitlement Management Message RGB red, green, blue
ES Elementary Stream RS Reed-Solomon
FEC Forward Error Correction RST Running Status Table
FIFO First In First Out SDT Service Description Table
GOP Group of Picture SI Service Information
HD-MAC High Definition Multiplex Analog Components ST Stuffing Table
IF Intermediate Frequency STB Set Top Box
IRD Integrated Receiver Decoder TDT Time and Date Table
ISI Inter Symbol Interference TOT Time Offset Table
LNB Low Noise Block TP Transport Packet
MPEG Motion Pictures Expert Group
TSC Transport Scrambling Control
NIT Network Information Table

1. Signal Il s’agit donc soit d’un signal vidéo, soit d’un signal audio. Ces
signaux vidéo et audio numériques sont des flux compressés en
MPEG-2 ou MPEG-1 pour la vidéo et en MPEG-1 layer I ou layer II
pour l’audio.
1.1 Codage de source Nota : le lecteur est invité à se reporter à l’article sur la compression MPEG [TE 5 360]
pour la structure de ces flux binaires.
1.1.1 Elementary Stream (ES) Pourquoi avoir choisi de transmettre des flux numériques
compressés ? Un rappel sur la numérisation est nécessaire. Une
On appelle ES (Elementary Stream) le train binaire élémentaire image numérique est décomposée en trois matrices de pixels sur
que l’on souhaite transmettre sur un canal de télévision numérique. une base YUV (une luminance et deux chrominances) équivalente à

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
TE 5 875 − 2 © Techniques de l’Ingénieur, traité Télécoms
_________________________________________________________________________________________________________________________ SET TOP BOX

la base RGB (red, green, blue ou rouge, vert, bleu, les trois couleurs Le contenu de l’en-tête est le suivant :
primaires de la télévision analogique). On transmet donc pour cha- — packet_start_code_prefix : 0x000001. Ce préfixe permet de
que image une matrice Y de luminance de résolution 720 × 576 et déterminer si l'on se trouve bien au début d'un PES ;
deux matrices de chrominance (U,V) de résolution 360 × 288 pour le
— stream_id est un identifiant de type de composante. Ce champ
format 4.2.0 (l'œil étant moins sensible aux variations des couleurs
permet de savoir si les données transportées sont du type audio,
qu'aux variations de la lumière, on sous-échantillonne la chromi-
vidéo, sous-titre, etc ;
nance par rapport à la luminance sans altérer la qualité visuelle de
l'image), soit un ensemble de : — PESPL (PES Packet Length) indique le nombre d'octets appar-
tenant au PES qui suivent ce champ ;
720 × 576 + 360 × 288 + 360 × 288 = 622 080 échantillons — PESSC (PES Scrambling Control) indique si le payload du PES
est embrouillé ou non et le numéro de la clé à utiliser pour le désem-
Chaque échantillon est codé sur 8 bit. On doit donc transmettre brouiller si nécessaire.
4 976 640 bit pour chaque image. Sachant que l’on transmet 25 ima-
ges par seconde, le débit nominal du 4.2.0 non compressé est Les champs suivants sont des flags qui permettent de lire la partie
d’environ 124 Mbit/s ! variable de l'en-tête si elle existe. Le flag PTSDTS, par exemple, indi-
que la présence du champ PTS (Presentation Time Stamp) ou du
Nous verrons (§ 1.2.2) que ce débit n’est pas transmissible sur un champ DTS (Decoding Time Stamp), ou des deux.
canal de télévision numérique (limité à environ 60 Mbit/s). Il est
donc nécessaire d’utiliser les performances de la compression La partie variable peut contenir entre autres les champs PTS et
MPEG-2, ce qui permet de ramener le débit entre 2 et 15 Mbit/s pour DTS, qui représentent les instants où le début du contenu du PES
une vidéo. doit être décodé (DTS) ou présenté (PTS). PTS et DTS sont codés
Nota : l’article [TE 5 330] est entièrement consacré au signal vidéo numérique. chacun sur 42 bit en tout, divisés en deux parties : une partie codée
sur 33 bit et une partie sur 9 bit. La valeur codée sur 33 bit repré-
En ce qui concerne l’audio, le débit nominal du signal audio
sente un temps en pas de 90 kHz, la partie sur 9 bit est un complé-
numérique non compressé (PCM : Pulse Code Modulation) est
ment en pas de 27 MHz. Lorsque ces informations sont reçues par le
d’environ 1,4 Mbit/s. Le signal audio compressé MPEG, de même
décodeur, elles sont comparées à la valeur de l'horloge interne du
que l'AC-3, permet de descendre entre 96 et 384 kbit/s (640 kbit/s au
décodeur. Les données sont alors stockées jusqu'à ce qu'il soit
maximum pour l'AC-3) pour un signal en stéréo.
temps de les envoyer au décodeur.

1.1.2 Packetized Elementary Stream (PES)


1.1.3 Sections
Nous disposons du signal vidéo et de son signal audio associé à
transmettre dans le même train binaire. À la diffusion, les deux élé- Il est nécessaire de transporter d'autres informations dans le but
ments devront être synchronisés. Pour cela, nous allons associer à d'assurer une récupération totale des services disponibles. La
chacune des composantes des marqueurs temporels qui indique- norme DVB définit donc un système d'information, le sytème SI
ront les instants auxquels les informations devront être décodées et (Service Information) qui utilise le même procédé que la couche PSI
jouées. Il importe alors que les signaux vidéo et audio associé par- (Program Specific Information) déjà définie dans la norme MPEG-2
tagent la même horloge de référence qui donne les valeurs des mar- system. Ces informations sont transmises sous forme de sections
queurs temporels. Dans un premier temps, les trains binaires dont la structure est représentée sur la figure 2 :
élémentaires sont découpés en paquets cohérents (c’est-à-dire un — table_id : comme le stream_id pour les PES, table_id identifie
nombre entier d'images pour la vidéo, un nombre entier de frames le type de table contenu dans la section ;
pour l'audio). Chacun de ces paquets peut contenir dans son en-tête — section_syntax_indicator est un flag qui indique si la section
les données temporelles qui permettront la synchronisation des flux est une section longue ou une section courte. Les sections longues
audio et vidéo. On obtient alors des PES (Packetized Elementary sont protégées par un CRC (Cyclic Redundancy Checksum) ;
Stream). — section_length indique le nombre d'octets contenus dans la
Un PES est un paquet de données, composé d'un en-tête et d'un section après ce champ ;
contenu (nommé payload par la suite). Le payload contient des don- — version_number est le numéro de version de la table. Il permet
nées qui n'appartiennent qu'à une seule des composantes à trans- de savoir s'il est nécessaire de remettre à jour les informations déjà
mettre. L'en-tête est composé d'une partie fixe dont le contenu est en mémoire ;
indiqué figure 1, suivie éventuellement d'une partie de longueur — section_number, last_section_number : comme la taille des
variable – comme indiqué par le flag PESE (PES Extension) et la sections est limitée, certaines tables qui contiennent un grand nom-
valeur PESHL (PES Header data Length). bre d'informations ne peuvent pas être encapsulées dans une seule
La taille totale d'un PES n'est pas constante mais elle ne doit pas section. Pour reconstituer la table, il faut donc récupérer les sections
dépasser 64 Ko. numérotées de 0 à last_section_number.

Header
Payload
Fixe Optionnel variable
72 variable

packet_start_code_prefix Stream ID PESPL '10' PESSC PP DAI C OOC PTSDTS ESCR ESR DSMTM ACI CRC PESE PESHL
24 8 16 2 2 1 1 1 1 2 1 1 1 1 1 1 8

Figure 1 – Structure des paquets PES

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Télécoms TE 5 875 − 3
SET TOP BOX __________________________________________________________________________________________________________________________

Header Données CRC


64 bit variable < 1024*8 (octets de bourrage compris) 32 bit

TID SSI PI res. SEL TIDE res. VN CNI SEN LSEN


8 1 1 2 12 16 2 5 1 8 8

table_id
section_syntax_indicator
private_indicator
section_length
table_id_extension
version_number
current_next_indicator
section_number
last_section_number

Figure 2 – Structure des sections MPEG

Comme les PES, les sections sont composées d'un en-tête fixe Chaque en-tête de paquet commence par un octet de synchroni-
dans lequel est indiquée la longueur de la section, et d'un contenu sation (0x47) qui permet de vérifier que tous les 188 octets
(appelé aussi payload). La taille totale d'une section n'est pas fixe commence un nouveau paquet. Le PUSI (Payload Unit Start Indica-
mais toutes les sections définies dans les normes ont une taille limi- tor) indique si le début du contenu du paquet correspond à un point
tée à 1 024 octets. Néanmoins, la norme autorise les diffuseurs d'entrée dans le flux élémentaire.
(broadcasters) à définir leurs propres sections, des sections dites
privées. La taille des sections privées est, elle, limitée à 4 096 octets. Chaque paquet est identifié par son PID (Packet Identifier). Pour
récupérer une composante élémentaire, il suffit alors de récupérer
tous les paquets qui portent le même PID et de mettre bout à bout
1.1.4 Paquets de transport les payloads. Le CC (Continuity Counter), qui est un compteur sur
4 bit, permet d'être sûr de récupérer tous les paquets d'un même
Pour permettre la mise en place d'un système de correction PID dans l'ordre.
d'erreurs efficace, il est nécessaire de transmettre les informations
par paquets de longueur relativement courte. La taille choisie est
188 octets pour les paquets du train binaire MPEG-2. Ainsi, un train
binaire MPEG-2 transport est constitué d'une suite de paquets de 188 octets 188 octets 188 octets 188 octets 188 octets 188 octets
188 octets, chaque paquet pouvant contenir des données relatives à
n'importe quelle composante du stream (figure 3).
Chaque paquet est constitué d'un en-tête et d'un payload.
L'en-tête (figure 4) est composé d'une partie de longueur fixe de 4 Vidéo 1 Audio 1 PAT Vidéo 1 Vidéo 2 Télétexte
octets et éventuellement d'un champ d'adaptation (adaptation
field). La longueur maximale du contenu est donc de 184 octets. Figure 3 – Exemple de train binaire MPEG-2 transport

188 octets 188 octets 188 octets

Header Payload Header Payload Header Payload

Transport Payload Transport Adaptation


Sync. Transport Continuity Adaptation
Error Unit Start PID Scrambling Field
Byte Priority Counter Field
Indicator Indicator 13 bit Control Control
8 bit = 0x47 1 bit 4 bit Variable
1 bit 1 bit 2 bit 2 bit

Figure 4 – Structure des paquets de transport

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
TE 5 875 − 4 © Techniques de l’Ingénieur, traité Télécoms
_________________________________________________________________________________________________________________________ SET TOP BOX

PCR PCR PCR PCR PCR PCR PCR PCR


DTS

DTS
PTS

PTS

PTS

PTS

PTS

PTS
AU AU AU AU AU AU

Figure 5 – Synchronisation des données

Le TSC (Transport Scrambling Control) indique si le contenu du Entre l'instant où le PES est reçu et celui où son contenu doit être
paquet est crypté ou pas et si c'est le cas, quelle est la clé à utiliser décodé, il faut stocker les données. La zone tampon qui sert au stoc-
pour le décrypter. kage est très sensible. C'est elle qui doit envoyer en permanence
L'adaptation field est présent (suivant les indications du champ des données au circuit de décodage MPEG. Il faut calculer avec soin
adaptation field control) à la suite des 4 octets d'en-tête fixe. Son sa taille pour assurer la continuité de la distribution des informa-
contenu est décrit ci-après. tions : si elle est trop petite, il n'y aura pas suffisamment de place
pour stocker toutes les données extraites du flux d'entrée, il faudra
La norme prévoit que le début d'un PES corresponde au début du vider la mémoire et réinitialiser le décodeur. Au contraire, si elle est
payload d'un paquet de transport et que la fin d'un PES corresponde trop grande, on cherchera à stocker beaucoup d'informations alors
à la fin du payload d'un paquet de transport (TP : Transport Packet). que peu arrivent en mémoire. Comme un niveau de remplissage
Comme généralement la taille d'un PES n'est pas multiple de 184 moyen de la zone mémoire est attendu avant de lancer le décodage,
(taille maximale du payload d'un TP), pour respecter cette les instants indiqués par les PTS et DTS seront passés avant que l'on
contrainte, il faut adapter la taille du payload de certains paquets de ait commencé à envoyer les données au circuit de décodage MPEG.
transport. Grâce au champ d'adaptation, il est possible d’inclure des Dans ce cas, les données en mémoire sont supprimées (il est trop
octets de bourrage dans l'en-tête de paquet pour réduire la taille du tard pour les décoder). Rien n’apparaît à l’écran.
payload.
On trouve une autre donnée essentielle dans ce champ d'adapta-
tion : le PCR (Program Clock Reference). C’est l'horloge de référence 1.1.6 Tables PSI/SI
d'un programme (association d'un signal vidéo et d'un ou plusieurs
signaux audio). À l'instar des PTS/DTS, il est codé sur 42 bit, 33 bit
en tic de 90 kHz et 9 bit en tic de 27 MHz. Le PCR représente l'instant Le train transport MPEG-2 est composé d'une suite de paquets de
où le paquet qui porte ce PCR sort de l'encodeur. La valeur du PCR 188 octets identifiés par leur PID, chaque paquet comportant une
permet de remettre à jour l'horloge interne du décodeur qui sert de composante déterminée. Pour que le décodeur puisse retrouver
point de référence pour les PTS/DTS. chacune des composantes, la norme IEC 13818-1 (MPEG-2 system)
Nota : un tic équivaut à un pas de comptage. C’est le bruit de l’horloge lorsque l’aiguille a défini trois tables permettant de retrouver les différents services
avance d’une seconde (tic tac).
dans le flux (figure 6).
Plusieurs contraintes sont associées à l'utilisation des PCR : on
doit en transmettre au moins 10 par seconde. L'horloge qui donne La PAT (Program Association Table) se trouve toujours sur le PID
les valeurs de PCR fonctionne à 27 MHz, les variations sur cette fré- 0x00 (0 en décimal) (PID strictement réservé à cette table). Elle défi-
quence ne doivent pas dépasser 500 Hz. nit le nombre de programmes présents dans le multiplexeur et
Lorsque le décodeur reçoit un PCR, il le compare à son horloge donne les PID des tables qui vont permettre de reconstituer ces ser-
interne. Si la différence est trop élevée, le décodeur remplace la vices (PID des PMT).
valeur de son horloge interne par la valeur du PCR reçu. C'est sou-
vent le cas lorsque l'on change de chaîne (il n'y a a priori aucune rai-
son pour que deux programmes différents partagent la même
horloge).
MPEG DVB DVB
(obligatoire) (optionnel)
1.1.5 Synchronisation des données
NIT NIT
PID = 0x00 PAT PID = 0x10
À la réception des PES audio et vidéo, les PTS/DTS sont extraits et actuel autre
comparés à l'horloge du décodeur. Les données reçues sont mises
en attente jusqu'à ce que la valeur du DTS ou du PTS soit atteinte SDT SDT BAT
PID = 0xP PMT PID = 0x11
par l'horloge du décodeur. actuel autre PID = 0x11

Sur la figure 5, les paquets notés AU (Access Unit) contiennent les EIT EIT
PID = 0x01 CAT PID = 0x12
données d'un seul PES, il s'agit soit d'une ou plusieurs images actuel autre
vidéo, soit d'une ou plusieurs frames audio. La flèche du temps est
étalonnée grâce aux PCR reçus. Les flèches noires indiquent les ins- TDT PID = 0x14 TOT
tants auxquels on a reçu les PES contenant PTS et DTS, les flèches
bleues indiquent la valeur des PTS (trait continu) et des DTS (en
pointillés). Figure 6 – Tables PSI/SI

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Télécoms TE 5 875 − 5
SET TOP BOX __________________________________________________________________________________________________________________________

Il existe une PMT (Program Map Table) par service présent dans le 1.2 Codage de canal
multiplexeur. Elle indique quelles sont les différentes composantes
d'un programme donné et donne les PID de chacune des composan-
tes ainsi que le PID qui porte le PCR pour la synchronisation. Les 1.2.1 Correction des erreurs
PMT n'ont pas de PID prédéfini, elles sont transportées sur le PID
indiqué par la PAT pour chaque programme.
Nous avons effectué la première étape : le codage de source.
La CAT (Conditionnal Access Table) n'est obligatoire que si l'une Cette opération de mise en forme du signal est un passage obligé
des composantes du multiplexeur est cryptée. Elle est transmise sur avant la diffusion du signal sur un canal malheureusement bruité.
le PID 0x01 (1 en décimal) et contient les informations nécessaires La compression des données, nécessaire pour le passage dans des
au décryptage (type d'embrouillage, PID des EMM, Entitlement canaux à bande passante réduite, supprime une grande partie de la
Management Message). redondance naturelle du signal, donc rend sensibles les informa-
DVB a calqué son système d'information sur cette structure défi- tions à toute perturbation du canal de transmission. Il est donc obli-
nie par MPEG (Motion Pictures Expert Group). Il existe un certain gatoire d'utiliser une partie de la bande passante afin de transmettre
nombre de tables qui servent plus à l'application embarquée qu'au des données redondantes calculées qui permettront la correction
décodage en lui-même (figure 6). d'erreurs éventuelles. Le processus visant à permettre la correction
des erreurs avant modulation est appelé Forward Error Correction
La SDT (Service Description Table), transmise sur le PID 0x11 (17 (FEC) et constitue l'essentiel du codage de canal. Les différentes éta-
en décimal), contient des données relatives à chaque programme pes (figure 7) sont décrites par la suite.
(nom du service, nom du fournisseur du service...).
L'EIT (Event Information Table), transmise sur le PID 0x12 (18 en ■ Inversion de bloc
décimal), contient des informations sur les événements en cours ou Pour réduire la puissance moyenne du signal, il est nécessaire de
à venir, c'est-à-dire sur le contenu réel du programme (nom de rendre le signal quasi aléatoire. Cet embrouillage se fait sur un
l'émission, résumé, durée, heure de début...). ensemble de huit paquets. C'est pourquoi, pour permettre au déco-
La NIT (Network Information Table), transmise sur le PID 0x10 (16 deur de bien se synchroniser, l'octet de synchronisation est inversé
en décimal), contient des informations sur les réseaux physiques, tous les huit paquets : 0xB8 = 0x47 à la place de l'octet de syn-
par exemple, les fréquences des multiplex, les paramètres de modu- chronisation 0x47.
lation à utiliser. ■ Dispersion d'énergie
La BAT (Bouquet Association Table), transmise sur le PID 0x11 (17 Il s'agit d'un brassage des bits avant modulation afin de disperser
en décimal) donne des indications sur les services regroupés dans l'énergie du signal. Ce n'est pas à proprement parler un code correc-
un même bouquet (que les services soient dans le même multiplexe teur d'erreurs. En fait, pour éviter de transmettre de longues suites
ou non, un service pouvant appartenir à plusieurs bouquets). de 0 ou de 1, il est nécessaire de rendre le signal quasi aléatoire de
La TDT (Time and Date Table), transmise sur le PID 0x14 (20 en manière à assurer une répartition uniforme de l'énergie dans le canal
décimal), sert à transporter l'heure et la date. de transmission. Pour ce faire, on effectue un embrouillage à partir
d'une séquence pseudo-aléatoire (la même pour l'embrouillage et le
La TOT (Time Offset Table), transmise comme la TDT sur le PID désembrouillage) de polynôme générateur :
0x14, transporte aussi l'heure et la date, mais également l'offset à
ajouter si l'on se trouve dans un fuseau horaire différent de celui du 14 15
lieu d'émission. 1+x +x (1)

La RST (Running Status Table), transmise sur le PID 0x13 (19 en Tous les huit paquets, l'embrouillage est réinitialisé avec la
décimal), transmet une liste d'événements et pour chacun, l'état séquence binaire 100101010000000. Seuls les octets de synchroni-
dans lequel il est (running, not running, pausing...). sation ne sont pas embrouillés. La période de la séquence pseudo-
aléatoire est de 1 503 octets.
La ST (Stuffing Table) est une table de bourrage qui permet
d'invalider certaines sections devenues inutiles. Afin d'éviter l'émission d'une porteuse non modulée par le modu-
lateur, le processus de brassage doit rester actif même si le flux
Sous la dénomination « actuel », on trouve les tables qui se binaire d'entrée du modulateur est inexistant ou non conforme à la
rapportent au flux contenant la table alors que les tables « autre » norme MPEG-2 transport (octet de synchronisation + 187 octets de
décrivent des composantes extérieures au flux contenant la table. données) (figure 8).
Un service, c'est-à-dire une chaîne, est complètement identifié par
son triplet DVB. Le triplet DVB est composé du Transport Stream Id ■ Codage RS
(identifiant de flux de transport), du Original Network Id (identifiant Après brassage, chacun des paquets de transport MPEG-2 est pro-
du réseau d'origine, un même service pouvant être transmis sur plu- tégé par un codage de Reed-Solomon (RS) systématique raccourci
sieurs réseaux, par exemple un service provenant d'un réseau satel- avec T = 8 (signifiant que l'on peut corriger 8 octets erronés par
lite est retransmis sur un réseau câblé) et du Service Id (identifiant paquet de transport). Ce processus ajoute 16 octets de parité au
de service). paquet de transport MPEG-2 afin d'obtenir un mot de code (204, 188).

satellite
Partie commune câble et satellite
seulement

Inversion Dispersion Codage RS Forney Codage


Modulation
de bloc d'énergie (204, 188, 8) Interleaving convolutif

Figure 7 – Chaîne de correction d’erreurs

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
TE 5 875 − 6 © Techniques de l’Ingénieur, traité Télécoms
_________________________________________________________________________________________________________________________ SET TOP BOX

1 0 0 1 0 1 0 1 0 0 0 0 0 0 0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0
1 1
17
XOR 2 2
17 × 2
3 3
17 × 3
AND
XOR 11 11
17 × 11
Sortie des données
brassées/débrassées
Registre à décalage FIFO Profondeur I = 12
Activation Entrée des données
brassées/non brassées

Figure 8 – Brasseur/débrasseur Figure 9 – Entrelaceur

Les paramètres de ce code sont le polynôme primitif du corps de Chaque bit est envoyé sur deux entrées séparées (notée en général
Galois : X et Y), on récupère chaque bit sur deux sorties distinctes (notées en
8 4 3 2 général I et Q). Ce code introduit donc 100 % de redondance (tableau 1
p(x) = x + x + x + x + 1 (2) pour le satellite). Pour éviter d'introduire trop de données redondantes,
et le polynôme générateur du code RS : une opération de poinçonnage permet d'inhiber l’une des deux sorties
lorsqu'on le souhaite.
0 1 2 15
g ( x ) = ( x + λ ) ( x + λ ) ( x + λ )… ( x + λ ) où λ = 0x02 (3)
Le code de Reed-Solomon est raccourci en insérant 51 octets for-
cés à zéro avant les octets d'information qui entrent dans un codeur 1.2.2 Modulation
(255, 239) ; une fois la procédure de codage effectuée, ces octets
sont éliminés. Une fois les opérations de codage de source et de codage de
canal effectuées, on dispose d'un train binaire prêt à moduler une
■ Entrelacement convolutif
porteuse avant émission vers les utilisateurs. La largeur de bande
Cette étape est destinée à augmenter l'efficacité du codage de utilisée dépend du moyen de transmission choisi (satellite, câble,
Reed-Solomon en dispersant les erreurs éventuelles qui se produi- terrestre) ; cette largeur est déterminée à la fois par des considéra-
sent souvent en rafale, donc sur des octets consécutifs. On procède tions techniques et par des conditions administratives.
à un entrelacement en modifiant l'ordre de transmission des octets.
En effet, les perturbations sont très différentes suivant le moyen
Le processus d'entrelacement convolutif est fondé sur la méthode de transmission choisi : le rapport signal/bruit (C/N, carrier to noise
de Forney qui est compatible avec la méthode de type III de Ram- ratio) et les échos principalement.
sey, avec I = 12. La trame entrelacée est composée d'octets prove- Pour le satellite, le signal provient d'un émetteur de faible puis-
nant de différents paquets protégés contre les erreurs ; elle est sance (quelques dizaines de watts) situé à 36 000 km de distance
délimitée par les octets de synchronisation MPEG-2 (placés de (satellite géostationnaire). Le rapport signal/bruit est très faible, de
manière à conserver la périodicité de 204 octets). l'ordre de 8 à 10 dB, mais le signal est pratiquemment dépourvu
L'entrelaceur (figure 9) peut se composer de I = 12 branches d'écho.
connectées cycliquement au flux d'octets d'entrée par le commuta- Pour le câble, par contre, le rapport C/N est élevé (supérieur à 30 dB)
teur d'entrée. Chaque branche est un registre à décalage FIFO (pre- mais le signal peut être affecté d'échos courts dus à des désadapta-
mier entré, premier sorti), contenant M × j cellules où : tions d'impédance de ligne.
M = N ⁄ I = 17 Pour les transmissions hertziennes, les conditions sont plus diffi-
ciles car on utilise souvent des antennes rudimentaires, le niveau du
avec N la longueur de trame de paquets protégés (N = 204), signal peut être très variable (les conditions climatiques jouent un
I la profondeur d’entrelacement (I = 12), rôle important pour la bonne réception des signaux).
C'est pourquoi il importe que la modulation soit choisie en fonction
j l’indice de branche.
du moyen de transmission utilisé. La largeur de bande des canaux
Les cellules des registres FIFO contiennent un octet et les commu- numériques est en grande partie déterminée par la largeur de bande
tateurs d'entrée et de sortie sont synchronisés. des canaux analogiques à cause de la coexistence des deux types de
Pour des raisons de synchronisation, les octets de synchronisa- transmission. Elle est donc comprise entre 27 MHz et 36 MHz pour le
tion – inversés ou non inversés – sont toujours aiguillés vers la bran- satellite, entre 6 et 8 MHz pour le câble et entre 7 et 8 MHz pour le ter-
che d'indice 0 de l'entrelaceur (ce qui correspond à un délai nul). restre, ce qui donne des débits d’information binaire au maximum de
l’ordre de 55 Mbit/s pour les transmissions par câble ou satellite et de
■ Codage convolutif 36 Mbit/s pour les transmissions terrestres.
La théorie des codes convolutifs est plutôt complexe. Le lecteur ■ Filtrage
intéressé pourra consulter des ouvrages sur les codes correcteurs
Théoriquement, la largeur de bande nécessaire à la transmission
d'erreurs [1][2].
est infinie puisque l'on transmet des 1 et des 0 sur un signal rectan-
Ce codage agit sur un train binaire continu (séquence de longueur gulaire. Il faut donc filtrer le signal pour réduire artificiellement la
non déterminée). Il est destiné à corriger des erreurs aléatoires rela- bande passante et la contraindre aux limites imposées par le moyen
tivement isolées, en complément du codage RS, grâce au décodage de transmission choisi. Ce filtrage visant à limiter la bande passante
de Viterbi. se traduit par un allongement théoriquement infini de la réponse

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Télécoms TE 5 875 − 7
SET TOP BOX __________________________________________________________________________________________________________________________

temporelle, ce qui pourrait introduire des chevauchements entre


symboles, donc des erreurs de démodulation : c'est ce que l'on Q
appelle l'interférence entre symbole (ISI : Inter Symbol Interfe-
rence).
I=1 I=0
Pour éviter ces problèmes d'interférence, on utilise un filtre en cosi- Q=0 Q=0
nus surélevé (raised cosine filter) appelé aussi filtre de Nyquist. Ce fil-
tre est réparti également entre l'émetteur et le récepteur, chacun
comportant un filtre demi-Nyquist (square root raised cosine filter). I
Le paramètre caractéristique de ce filtre est le facteur de roll-off α.
Le lien entre la bande passante alors occupée par le signal et la
fréquence symbole est :

B = ( 1 + α ) × 1 ⁄2T (4) I=1 I=0


s Q=1 Q=1
avec B la bande passante,
Ts la période de symbole,
α le facteur d’arrondi.
Figure 10 – Symboles de la modulation QPSK
Le filtre demi-Nyquist est défini comme suit :
H ( f ) = 1 pour f < f N ( 1 – α ) (5)

1⁄2 figure 11) ou le QAM 256 (256 états différents) principalement. À cha-
1 1 π fN – f  que état du signal correspond une suite de n bits (6 pour le QAM 64,
H ( f ) =  --- + --- sin --------- -----------------  pour f N ( 1 – α )  f f N ( 1 + α ) (6)
2 2 2f N α  8 pour le QAM 256) associée aux états du signal grâce à un code de
Grey, ce qui fait que deux états contigus (sur le diagramme) corres-
H ( f ) = 0 pour f > f N ( 1 + α ) (7) pondent à deux suites de bits qui ne différent que d'un seul bit. De
plus, chaque cadran correspond à deux bits de poids fort.
1 R
où f N = --------- = -----s- est la fréquence de Nyquist et α est le facteur La fonction de filtrage demi-Nyquist avant modulation a pour fac-
2T s 2 teur d'arrondi α = 0,15 pour la modulation QAM 64 définie par
d’arrondi. l'annexe A de la norme UIT-T/J.83. On aura d'autres valeurs du fac-
teur d'arrondi pour le QAM 64 annexe B (0,18) ou pour le QAM 256
■ QPSK pour le satellite (défini uniquement dans l'annexe B) pour lequel α = 0,12.
Le tableau 1 définit les caractéristiques du codage convolutif uti-
lisé pour les transmissions par satellite. ■ OFDM
La modulation QPSK (Quadrature Phase Shift Keying) est une
modulation en quadrature. Une paire de bits peut être codée sur un Le principe de l'OFDM (Orthogonal Frequency Division Multiplex)
seul symbole, les symboles étant identifiés par leur phase (figure est de répartir les symboles sur un grand nombre de porteuses
10). Le signal modulé en QPSK peut avoir quatre états différents et orthogonales transportant chacune un faible débit, ce qui permet
identifiables à la réception, chaque état correspondant à un sym- d'avoir un débit global de transmission d'information similaire aux
bole. C'est donc en identifiant l'état du signal à la réception que l'on autres médias. Le choix de ce système s'est fait en prenant en
retrouve les bits transmis. La mauvaise qualité de la transmission compte les caractéristiques des transmissions par voie hertzienne
fait qu'il serait impossible de discriminer un nombre plus important qui entraînent la réception de faisceaux à trajets multiples. Le fait de
de symboles, la quantité de symboles différents entraînant une réduire le débit de chaque porteuse fait que le retard introduit par
proximité des caractéristiques. les trajets multiples devient très inférieur à la période de transmis-
Dans le cas de la modulation QPSK, la fonction de filtre sion des symboles. On utilise un grand nombre de porteuses de
demi-Nyquist a comme facteur d'arrondi α = 0,35. période Ts, dont les fréquences sont distantes de 1/Ts (c'est la condi-
tion d'orthogonalité des porteuses). On distingue deux modes pos-
■ QAM pour le câble sibles : un mode dit 2 k qui comporte 2 048 porteuses (dont 1 512
Pour les transmissions par câble, on utilise des modulations QAM actives) et un mode 8 k qui comporte 8 192 porteuses (dont 6048
(Quadrature Amplitude Modulation) : le QAM 64 (64 états différents, actives). (0)

Tableau 1 – Définition des codes de poinçonnage


Taux de poinçonnage
Code original
1/2 2/3 3/4 5/6 7/8

Distance Distance Distance Distance Distance


K G1(X) G2(Y) P P P P P
limite limite limite limite limite
X :1 X : 10 X :101 X :10101 X :1000101
Y:1 Y : 11 Y : 110 Y : 11010 Y : 1111010
7 171 (octal) 133 (octal) 10 6 5 4 3
I = X1 I = X1Y2Y3 I = X1Y2 I = X1Y2Y4 I = X1Y2Y4Y6
Q = Y1 Q = Y1X3X4 Q = Y1X3 Q = Y1X3X5 Q = Y1Y3X5X7
1 : bit transmis ; 0 : bit non transmis

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
TE 5 875 − 8 © Techniques de l’Ingénieur, traité Télécoms
_________________________________________________________________________________________________________________________ SET TOP BOX

1.3 Chaîne de transmission


Q
101100 101110 100110 100100 001000 001001 001101 001100
La figure 12 présente un schéma récapitulatif des différentes éta-
pes de la diffusion de la télévision numérique. Dans un premier
101101 101111 100111 100101
temps, en amont de la chaîne, les signaux sont encodés. Les sour-
001010 001011 001111 001110
ces peuvent être aussi bien des sources numériques – auquel cas le
codeur se contente d'effectuer la compression – que des sources
analogiques pour lesquelles il faut préalablement procéder à une
101001 101011 100011 100001 000010 000011 000111 000110 conversion analogique-numérique. Les différentes sources sont
ensuite envoyées au multiplexeur qui effectue l'encapsulation en
PES de façon synchronisée pour les signaux vidéo et les signaux
101000 101010 100010 100000 000000 000001 000101 000100 audio associés puis le découpage en paquets de transport en assu-
rant l'envoi régulier des données temporelles.
I
Le train binaire ainsi obtenu est envoyé au modulateur. C'est en
général un seul et même appareil qui effectue l'embrouillage et
110100 110101 110001 110000 010000 010010 011010 011000 ajoute les données de redondance nécessaires à la correction
d'erreurs avant d'effectuer la modulation proprement dite. Avant
l'émission, une transposition de fréquence est effectuée pour émet-
110110 110111 110011 110010 010001 010011 011011 011001 tre dans la bande de fréquence dédiée au média choisi.
À la réception, il existe plusieurs moyens de distribution du
111110 111111 111011 111010 signal. Soit l'utilisateur final possède un décodeur relié à son télevi-
010101 010111 011111 011101
seur – alors la réception est directe –, soit c'est un opérateur local
qui reçoit le signal et qui fait de la transmodulation pour le rediriger
vers les usagers (via un réseau câblé par exemple), soit un ensem-
111100 111101 111001 111000 010100 010110 011110 011100 ble d'usagers est équipé d'un transcodeur qui reçoit le signal numé-
rique et le convertit en analogique avant de le renvoyer sur un
réseau local (à l'échelle d'un immeuble par exemple).
Figure 11 – Constellation QAM 64

(0)
Tableau 2 – Caractéristiques principales d'une modulation 2. Décodeur
en 2 k ou 8 k
Mode Mode
Paramètres Le décodeur (figure 13), ou Set Top Box, est composé de plu-
8k 2k
sieurs éléments décrits ci-après.
Nombre de porteuses 6 817 1 705
Durée Tu .....................................................(µs) 896 224
Espace entre porteuses.............................(Hz) 1 116 4 464 2.1 Tuner
Espace entre porteuses extrêmes (1) ......(MHz) 7,61 7,61
(1) 6,66 MHz pour une largeur de bande de 7 MHz La première opération à effectuer pour regarder un programme
est bien évidemment de récupérer le train binaire tel qu'il a été
Les premières opérations de codage de canal sont les mêmes que construit pour obtenir l'intégralité des informations utiles.
pour les transmissions par satellite (dispersion d'énergie, octets de L'antenne branchée sur le décodeur lui envoie un signal modulé
Reed-Solomon, entrelacement, codage convolutif, § 1.2.1). On a comportant aussi toutes les données de correction d'erreurs. Le
alors une suite de bits que l'on transforme (démultiplexe) en n sui- tuner (figure 14) a plusieurs possibilités pour récupérer les informa-
tes, n étant le nombre de bits par symbole pour la modulation choi- tions nécessaires au tuning : soit l'application embarquée les lui
sie (QPSK, QAM 16, QAM 64). Chacune de ces n suites de bits passe fournit (fréquence, débit symbole, FEC), soit le tuner effectue un
dans un entrelaceur. On construit ensuite les symboles en prenant balayage de la bande de fréquences utilisée en essayant tous les
exactement un bit de chaque sortie. Les symboles sont ensuite paramètres qu'il est capable de gérer. En une vingtaine de minutes,
entrelacés et une porteuse de la trame OFDM leur est assignée. l'intégralité des services disponibles sur une bande de fréquence
est récupérée.
Le signal transmis est organisé en frames. Chaque frame a une
durée Tf et contient 68 symboles OFDM. Quatre frames constituent Les informations fournies au décodeur sont, pour les transmis-
une super-frame. Chaque symbole est constitué d'une panoplie de sions par satellite : le débit symbole (débit des symboles issus de la
K = 6 817 porteuses pour le mode 8 k et K = 1 705 porteuses pour le modulation), le FEC (le taux de poinçonnage utilisé pour la redon-
mode 2 k (tableau 2). La durée d'un symbole est Ts. Elle est dance FEC). Le débit binaire des informations utiles en paquets de
composée d'une partie utile Tu et d'un intervalle de garde d'une 188 octets est lié à ces informations par la formule suivante :
durée ∆. L'intervalle de garde est inséré avant la partie utile.
188
Puisque le signal OFDM contient de nombreuses porteuses d h = D s × N × FEC × ---------- (8)
204
modulées séparemment, chaque symbole peut à son tour être
divisé en cellules, une cellule correspondant au signal modulé par avec Ds le débit symbole,
une porteuse pendant une durée de symbole.
N le nombre de bits par symbole.
En plus des données, une frame OFDM contient des informations
de synchronisation de frame, de synchronisation de fréquence, Pour le cas des transmissions par câble, cette formule se simplifie
d'identification du mode de transmission, etc. en supprimant le FEC.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Télécoms TE 5 875 − 9
SET TOP BOX __________________________________________________________________________________________________________________________

Sources

Réception directe
Codeur
vidéo
Multiplexeur
Sources

Codeur
audio
Réseau
câblé
Modulateur
MODULATEUR

Transmodulateur

Transcodeur
Sources

Codeur
vidéo
Sources Réseau
Données :
— accès conditionnel ; câblé
Codeur — voie de signalisation ;
audio — télétexte...

Figure 12 – Diffusion de la télévision numérique

RF IN Signal Signal
OFDM OFDM OFDM
ADC
Tuner (récup. FEC Common DVB
8 bit
8 Horloge, AGC) Interface Common
CAG Controller Interface
VCXO
RF OUT Audio 36,57 MHz
Modulateur
Vidéo
Bus système
Boucle de commande automatique de gain
Vers modulateur

MPEG transport stream Vidéo Audio

Décodeur MPEG2 12S Audio D


DESCR DEMUX PES Audio + 3 DAC Péritel
Désembrouilleur Démultiplexeur
8 8 Vidéo + audio Audio G TV
DVB DVB
graphique
Alimentation

Bus système Audio/Vidéo


8 Switching Péritel
CCIR 656 magnétoscope

Microprocesseur RVB
Codeur
Modem Lecteur 32 bit
PAL PAL
V22 bis de carte + 4 MBytes Flash SDRAM Sorties
+ RVB
à puces + 2 Mbytes DRAM 32 Mbit audio

Prise Liaison série


téléphonique RS232

ADC : Analogic Digital Converter


DAC : Digital Analogic Converter

Figure 13 – Décodeur terrestre

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
TE 5 875 − 10 © Techniques de l’Ingénieur, traité Télécoms
_________________________________________________________________________________________________________________________ SET TOP BOX

Codage/décodage
de l'information Serveur
de Callback

Fréquence Taux de Comptage


Fréquence
symbole, poinçonnage d'erreurs Liste de buffers
du signal
mode I /Q... du signal à corriger, BER

Télétexte Sous-titres Sections PCR Vidéo Audio

IF Conversion CARRIER/ 188 octets


Tuner analogique- PHASE FEC
numérique RECOVERY Paquets TS

Fréquence symbole Bits utiles


et redondants
Contrôle du gain
Buffers Gestionnaire
4 Ko 4 Ko 20 Ko
circulaires d'interruptions
Contrôle Signal
LNB 14/18 V, 22 kHz...

Réseaux par
satellite seulement
BER : Bit Error Rate
IF : Intermediate Frequency
LNB : Low Noise Block
Audio
Figure 14 – Fonctionnement du tuner Décodeur
PTI
Vidéo MPEG-2
Exemple : pour le cas d'un canal satellite transmettant 27,5 MS/s
(1 MS = 1 mégasymbole) avec un FEC de 3/4, on obtient un débit
binaire d'information (en paquets de 188 octets) de 38 014 706 bit/s.
Flux entrant
Pour le cas d'une transmission par câble en QAM 64 à un débit sym-
bole de 6,875 MS/s, on obtient un débit binaire d'information de
38 014 706 bit/s. Figure 15 – Fonctionnement du démultiplexeur
On obtient des débits similaires pour le câble et le satellite alors que
les largeurs de bande des canaux utilisés sont très différentes ! L'algorithme d'embrouillage utilise deux mots de contrôle de
64 bit (une clé paire, une clé impaire) utilisés à tour de rôle, le chan-
gement s'effectuant environ toutes les deux secondes, de manière à
2.2 Demux compliquer le piratage (figure 16).
Les mots de contrôle sont transmis cryptés dans le flux de trans-
Le demux (démultiplexeur) reçoit un train binaire de paquets port, dans les ECM (Entitlement Control Message). Lorsque l'on
MPEG de 188 octets. Son rôle est de séparer les différentes compo- transmet un mot de contrôle, on utilise l'autre pour décrypter ; il faut
santes du stream suivant les besoins de l'application. Le demux donc stocker temporairement ces clés dans des registres du sys-
(figure 15) s'appuie à la fois sur un composant hardware et sur une tème de désembrouillage. Pour pouvoir décrypter ces clés, on trans-
partie software. La partie hardware s'occupe du processus de met une autre information : les EMM (Entitlement Management
démultiplexage lui-même alors que la partie software contrôle le Message). Ces EMM sont transmis chiffrés dans la CAT (Condition-
composant et assure l'interface avec l'application embarquée, qui nal Access Table) (§ 1.1.6).
effectue les demandes de démultiplexage. Les deux types de messages (ECM et EMM) sont obtenus à partir
Le PTI (Protocol Transport Interface), qui constitue la partie hard- de trois données d'entrée :
ware du démultiplexeur, reçoit le flux, filtre les paquets qui portent — un mot de contrôle (control word) destiné à initialiser la
un PID demandé et stocke les contenus de ces paquets dans des buf- séquence de désembrouillage ;
fers circulaires, sauf pour la vidéo et l'audio dont le contenu des — une clé de service (service key) utilisée pour embrouiller le mot
paquets est envoyé directement au décodeur MPEG-2. Une interrup- de contrôle pour un groupe d'utilisateurs ;
tion est déclenchée dès qu'un nouveau paquet est reçu. La tâche — une clé utilisateur (user key) utilisée pour embrouiller la clé de
associée au type de paquet est alors lancée (après avoir désactivé le service.
gestionnaire d'interruption) et travaille jusqu'à ce que le buffer cir- Les ECM sont fonction du mot de contrôle et de la clé de service.
culaire soit vide. Le gestionnaire d'interruption est alors réactivé. Ils sont transmis toutes les deux secondes environ. Les EMM sont
fonction de la clé de service et de la clé utilisateur et sont transmis
toutes les dix secondes environ.
2.3 Embrouillage et contrôle d'accès À la réception, le principe de décryptage (figure 17) consiste à
retrouver la clé de service à partir des EMM et de la clé utilisateur
Étant donné la nature confidentielle des algorithmes de cryptage, il contenue par exemple dans la carte à puce insérée dans le déco-
est impossible d'entrer ici dans les détails du processus de contrôle deur. Cette clé de service, une fois décryptée, sert à décrypter les
d'accès. Néanmoins, il est possible d'en présenter les grands principes. ECM afin de retrouver le mot de contrôle permettant l'initialisation
La norme DVB définit un algorithme commun d'embrouillage du système de désembrouillage.
(CSA : Common Scrambling Algorithm). En revanche, elle ne prévoit On a vu que les EMM étaient transportés par la CAT qui se trouve
rien en ce qui concerne l'ensemble du processus de contrôle d'accès. sur le PID 0x01. Les ECM sont aussi encapsulés dans des sections

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Télécoms TE 5 875 − 11
SET TOP BOX __________________________________________________________________________________________________________________________

2.5 DENC
Clé utilisateur Clé de service
(user_key ) (service_key )
Après une conversion numérique-analogique, le DENC met en
forme le signal audio/vidéo pour le transmettre au téléviseur, via
une prise péritel dans la plupart des cas. Suivant les instructions, il
Mots de contrôle ECM ajoute ou non les lignes servant au télétexte, aux sous-titres ou au
Cryptage closed caption (sous-titres américains).
(control_words ) EMM

ECM = f (control_words, service_key )


2.6 Bootstrap Loader (BSL)
EMM = f (service_key, user_key )

Figure 16 – Cryptage
La plupart des opérateurs de télévision numérique ont choisi de
louer les décodeurs à leurs clients. Il n’est décemment pas possible
de demander à l’utilisateur de rapporter son décodeur ou d'en
racheter un à chaque évolution de l'application embarquée (correc-
Mots de contrôle tion de bug ou ajout de fonctionnalité). Il s'agissait donc de trouver
Décryptage un moyen de mettre à jour les décodeurs sans que le client se
ECM décryptés
control_word déplace. On a tout naturellement pensé à envoyer les nouvelles
(control_words )
applications via le signal de télévision numérique. Ainsi, le diffuseur
a la possibilité de faire évoluer le décodeur en toute transparence
pour l'utilisateur. L'opération de téléchargement dure entre 5 et
Décryptage
EMM 20 min suivant la taille de la nouvelle application et la bande pas-
service_key
sante utilisée pour transmettre les informations.
Le principe consiste à envoyer les données encapsulées dans des
EMM user_key
sections privées MPEG. Pour prévenir tout chargement intempestif
sur des décodeurs non compatibles avec l'application transmise,
user_key ces données permettent d'identifier le type de décodeur à charger
(carte à puce) (fabricant et génération du décodeur) et contiennent l'intégralité de
l'application qui met à jour le décodeur. Le processus protège
l'ancienne application tant qu'il n'est pas certain que l'application en
Figure 17 – Décryptage cours d’acquisition soit valable. Les données reçues sont donc stoc-
kées au fur et à mesure dans une partie de mémoire volatile, sans
toucher à la partie qui contient l'ancienne application. Une fois char-
privées dont le PID est donné dans la PMT (Program Map Table) du gée l'intégralité des données, le checksum qui avait été préalable-
programme concerné. Chaque composante cryptée du signal est ment transmis est vérifié et le chargement est accepté ou non. À ce
associée à un PID ECM qui permet de retrouver les informations moment-là seulement, l'ancienne application est effacée, ou si le
nécessaires au désembrouillage. chargement est refusé, l'ancienne application est relancée.
La norme prévoit un embrouillage possible à deux niveaux diffé- Il est bien évident que pendant le temps de chargement, le déco-
rents qui ne peuvent pas intervenir en même temps. On peut deur n'effectue plus de décodage audio/vidéo. Il n'est plus accessi-
embrouiller les données soit au niveau des paquets de transport, ble à l'utilisateur jusqu'à ce qu'une nouvelle application soit chargée
soit au niveau des PES. Ce sont les champs scrambling control qui ou que le téléchargement soit annulé. C'est pourquoi c'est en géné-
permettent de déterminer le niveau auquel se fait l'embrouillage. ral l'utilisateur qui choisit le moment où il change d’application.
Si l'embrouillage se situe au niveau des paquets de transport, le Le software qui effectue cette opération ne fait pas partie de
champ transport scrambling control est soit à 0x02, ce qui signifie l'application elle-même. Il se trouve dans une zone mémoire proté-
que le payload du paquet est embrouillé avec la clé paire, soit à 0x03 gée qui n’est jamais effacée. Cette partie de code doit donc être
et le payload du paquet est embrouillé avec la clé impaire. Il est bien extrêmement fiable.
évident que seul l'intérieur du paquet (le payload) est embrouillé.
Les en-têtes de paquets sont toujours en clair. L'algorithme de
désembrouillage s'effectue sur les octets du payload du paquet
considéré. En recollant tous les payloads désembrouillés d'un
même PID, on reconstitue par exemple un PES en clair.
3. Perspectives
Si l'embrouillage s'effectue au niveau du PES, le transport scram-
bling control de chaque paquet de transport comportant un mor- La miniaturisation des composants et la vitesse croissante des
ceau du PES est à 0x00, indiquant que le paquet n'est pas crypté ; processeurs permettent d'envisager une nouvelle génération de
une fois que l'on a reconstitué le PES, dont l'en-tête est en clair, on décodeurs numériques. Ainsi, on prévoit d'intégrer des disques
lit le PES scrambling control, qui est à 0x02 si l’on utilise la clé paire durs qui permettront de stocker le flux binaire pendant quelques
et à 0x03 si l’on utilise la clé impaire. Le désembrouillage s'effectue minutes (le temps de répondre au téléphone) et de reprendre le film
alors sur le payload du PES. là où l'on s'est arrêté. On sera capable de faire « pause » pendant
une émission de télévision. La télévision numérique permet une
plus grande interactivité. Ne nous y trompons pas : il s'agit là d'une
interactivité diffusée ! On ne peut imaginer trouver un jour des
2.4 Décodeur MPEG émetteurs (35 W) vers un satellite pour une voie de retour. Par
contre, le câble est un média qui se prête bien à ce genre de mani-
Le décodage MPEG se fait grâce à un composant hardware piloté pulation. La voie de retour par câble et la présence de serveurs chez
par un software embarqué. La partie de code qui gère le décodeur l'opérateur permettent de créer un réseau local (à l'échelle d'une
décortique tous les en-têtes PES et MPEG (en-tête de séquence, de ville). En ce qui concerne le satellite, si l'on souhaite avoir une voie
GOP, d'image, d’extension). Une partie de ces informations sert à de retour, il faut utiliser une ligne téléphonique. Ainsi, on envisage
contrôler le décodeur hardware, l'autre à formater les données pour un accès à Internet grâce aux décodeurs, voire même la possibilité
les envoyer au DENC (Digital Encoder). de visioconférences.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
TE 5 875 − 12 © Techniques de l’Ingénieur, traité Télécoms

Vous aimerez peut-être aussi