Вы находитесь на странице: 1из 73

REPUBLIQUE DU CAMEROUN

Paix - Travail Patrie


--------------------UNIVERSITE DE YAOUNDE I
----------------------

REPUBLIC OF CAMEROUN
Peace - Work Fatherland
-------------------UNIVERSITY OF YAOUNDE I
--------------------

ECOLE NATIONALE SUPERIEURE


POLYTECHNIQUE

NATIONAL ADVANCED SCHOOL


OF ENGENEERING

----------------------

--------------------

MASTER PRO 2 EN TELECOMMUNICATIONS

TELEVISION NUMERIQUE
Squence 3 : COMPRESSIONVIDEOAUDIO,MPEG2FLUXDETRANSPORT

Equipe des concepteurs :


- Janvier FOTSING
- Pierre TSAFACK
Le contenu est plac sous licence /creative commons/ de niveau 5 (Paternit, Pas d'utilisation commerciale, Partage des conditions initiales
l'identique)..

Master
Professionnalisant en
Tlcommunications

Cours:

Tlvision Numrique

(ENSP)

Mr. Janvier FOTSING

Tlvision Numrique

Cours: TVN 224


Compression vido-audio,
MPEG2 Flux de Transport
Master Professionnalisant en
Tlcommunication

Plan de prsentation

Introduction
Codage & multiplexage
Codage vido
Codage audio
Le flux lmentaire
Le packet Elementary Stream
Le flux de programme et le flux de transport
Tltexte en DVB
Services de tl et de donnes

Introduction
Le MPEG c'est un peu comme les poupes russes. Aprs
avoir compress le signal, on obtient un ES (Elementary
Stream) qui va tre dcoup pour tre encapsul dans
un PES (Packet Elementary Stream), lui mme dcoup
et encapsul dans des paquets. Chaque couche
possde sa propre syntaxe.
De plus,groupe DVB a cr des extensions au MPEG pour
transporter pratiquement toutes sortes de format de
donnes (IP ou Open Tv par exemple) en plus de l'audio
et la vido. les flux peuvent tre crypts et sont prvus
pour tre distribus par satellite, par cble ou par voie
terrestre.
Autant dire que lorsque l'on parle MPEG et DVB, le
champs d'action est vaste.

Codage & multiplexage

Codage
Passage du signal audio ou vido en bande de base vers un
format propre tre diffus sur un DVB ou par sur un
rseau type cble, satellite.
Codage Vido
Codage Audio
Elementary Stream

Multiplexage
Chaque composante est code d'abord sparment puis
regroupes lors du multiplexage pour faire un flux
comportant toutes les informations du ou des programmes
(vido, audio, donnes)
9 Packet Elementary Stream
9 Program Stream et Transport Stream

Les extensions
Outre la vido et l'audio, les flux DVB peuvent transporter bien
d'autres types de donne :
Le tltexte

Codage Vido
Le format vido de post production numrique utilise 270 Mbit/s de dbit
pour coder les images. Sachant qu'un canal satellite accepte autour
de 38 Mbit/s (valeur la plus courante), on voit vite qu'il va falloir faire
faire un srieux rgime nos image.
En fait et aprs codage MPEG2, on arrivera un dbit utile de 3 8
Mbit/s pour un programme (audio + vido + donnes auxiliaires).
Le grand principe du MPEG vido:
"Ne jamais transmettre un lment d'image dj transmis"
D'ou l'exploitation de la redondance temporelle :
Un lment commun plusieurs images conscutives, n'est transmis
qu'avec la premire image. Pour les autres images, on ne transporte
que sa position dans l'image. C'est le cas d'un plan fixe, o l'on voit
une voiture qui va de gauche droite. On transmet une fois le dcor
et la voiture et pour les images suivante on indique juste la position
de la voiture.
Et de la redondance spatiale :
Si dans la mme images, il y a trois voitures identique, elle n'est code
qu'une seule fois. En y ajoutant la position de chacune dans l'image,
on peut reconstituer la scne.
Pour en savoir bien plus, lisez la suite.

Codage Vido
Codage spatial ou temporel
Comme nous lavons dit, la compression vido utilise les avantages des
deux redondances (spatiale et temporelle). En MPEG, la redondance
temporelle est dabord rduite en utilisant les similitudes entre deux
images successives. La plus grande partie possible de limage
courante est cre (ou prdicte) en utilisant linformation de limage
dj mise. Quand on utilise cette technique, il suffit de transmettre
une image de diffrence qui limine les diffrences entre limage
actuelle et limage de prdiction. Limage de diffrence est ensuite
soumise une compression spatiale. Pour des raisons pratiques, il
est plus facile dexpliquer la compression spatiale avant daborder la
compression temporelle.
La compression spatiale utilise la similarit entre des pixels adjacents
sur une surface unie et tient compte des frquences spatiales
dominantes existant dans les zones amont. Le JPEG utilise
uniquement la compression spatiale dans la mesure o ce systme
est conu pour la transmission des images fixes. Le JPEG peut
cependant tre employ pour la transmission de squences dimages
fixes. Dans cette application appele Motion JPEG, le facteur de
compression nest pas aussi bon que si lon utilisait le codage
temporel, mais il sera cependant possible deffectuer un montage du
flux de bits pour effectuer un montage image par image.

Codage Vido
Codage spatial
En codage spatial, la premire tape consiste effectuer une analyse
de frquence spatiale laide dune transforme. Une transforme
est un outil mathmatique permettant de traduire une forme donde
en diffrents domaines, et, dans notre cas, dans le domaine
frquentiel. Le rsultat dune transforme est une suite de
coefficients dcrivant lamplitude de chaque composante frquentielle
prsente dans le signal. Une transforme inverse reproduit le signal
initial. Si les coefficients sont grs avec une prcision suffisante, la
sortie de la transforme inverse doit tre identique la forme donde
originale.
La transforme la plus rpandue est la transforme de Fourier. Cette
transforme cherche chaque frquence comprise dans le signal
dentre. Elle caractrise chaque frquence en multipliant le signal
dentre par un exemple de la frquence cible appele fonction de
base, et en intgrant le produit obtenu. La figure ci-dessous montre
que, lorsque la forme de signal dentre ne contient pas de
composante la frquence cible, lintgrale sera nulle mais, sil en
comporte une, lintgrale constituera un coefficient caractrisant
lamplitude de cette composante.

Codage Vido

Codage Vido
Codage spatial (suite)
Le rsultat sera tel quon vient de le dcrire si la
composante de frquence est en phase avec la fonction
de base. Cependant, si la composante de frquence est
en quadrature avec la fonction de base, lintgrale sera
quand mme nulle. Il conviendra donc deffectuer deux
recherches avec deux composantes en quadrature, de la
fonction de base de faon bien dtecter chaque
composante du signal dentre. La transforme de
Fourrier prsente linconvnient de ncessiter des
coefficients pour les composantes sinus et cosinus de
chaque frquence. Dans la transforme cosinus, la forme
de signal dentre est complte avec son image
temporelle avant multiplication par la fonction de base.

Codage Vido

Codage Vido
Codage spatial (suite)
L'illustration ci dessus montre que cette opration de miroir
limine toutes les composantes sinus et double les
composantes cosinus. La fonction de base sinus ne se
rvle donc plus utile et un seul coefficient reste alors
ncessaire pour chaque frquence. La Transforme
Cosinus Discrte (DCT) est la version chantillonne de la
transforme cosinus; elle est normment utilise sous
forme bidimensionnelle en MPEG. Le bloc de 8x8 pixels
est chang en bloc de 8x8 coefficients. Comme la
transformation rside en une multiplication par une fraction,
il se produit un allongement du mot provenant du fait que
les coefficients ont une longueur suprieure celle des
valeurs de pixels. Un bloc de pixels 8 bits devient alors un
bloc de coefficients 11bits. Une DCT ne constitue pas alors
une compression, mais elle obtient, en fait, le rsultat
inverse.

Codage Vido
Codage spatial (suite)
Cependant, la DCT convertit la source de pixels en une forme
facilitant la compression. La figure suivante montre le
rsultat dune transforme inverse des coefficients
individuels dune DCT pour un bloc 8x8. La case suprieure
gauche reprsente la composante continue ou luminance
moyenne pour lensemble du bloc. Aller vers la droite dans
la range suprieure correspond une augmentation de la
frquence spatiale horizontale. Descendre dans la colonne
de gauche correspond augmenter la frquence spatiale
verticale.
Dans les images relles, diverses frquences spatiales
verticales
et
horizontales
peuvent
se
produire
simultanment et un coefficient en un certain point en
reprsente toutes les combinaisons possibles.

Codage Vido

Codage Vido
Codage spatial (suite)
La figure montre galement les coefficients sous une forme donde
horizontale unidimensionnelle. La combinaison de ces formes donde
avec diverses amplitudes et une polarit quelconque doit permettre de
reproduire toute combinaison des 8 pixels. La combinaison des 64
coefficients de la DCT2D permettra de reconstituer le bloc initial de 8x8
pixels. En ce qui concerne les images couleur, il est clair que les signaux
de diffrence de couleur devront galement tre traits. Les signaux Y,
Cr et Cb seront donc assembls en rseaux spars de 8x8 pixels et
traits sparment.
Dans la plupart des signaux correspondant aux images de programme, la
majorit des coefficients a une valeur nulle ou proche de zro. Il ne sera
donc point ncessaire de les transmettre. Il en rsulte une compression
non ngligeable sans perte vritablement consquente. Si un facteur de
compression suprieur est ncessaire, la longueur des mots des
coefficients nonnuls devra tre rduite.
Cette rduction diminuera la prcision de ces coefficients et introduira, par
consquent, des pertes au cours de ce traitement. Avec un peu de soin,
on pourra introduire ces pertes de la faon la moins apparente possible
pour le spectateur.

Codage Vido
Codage de lentropie
Dans une image vido anime, toutes les frquences spatiales
ne sont pas prsentes simultanment; la matrice de
coefficients de la DCT comportera donc des termes nuls.
Malgr la scrutation, des termes nuls apparatront encore au
milieu des coefficients non nuls. Le codage RLC (Run Length
Coding) permet de grer plus efficacement ces coefficients.
Quand une suite de valeurs identique, comme des zros,
existe, le codage RLC met simplement le nombre de zros
plutt que toute la suite de bits nuls.
On peut tudier la probabilit de rptition de certaines valeurs
particulires de coefficients dans la vido relle. En pratique,
certaines valeurs se rencontrent frquemment et dautres
moins souvent. Cette information statistique peut tre utilise
pour effectuer ultrieurement une compression longueur
variable (VLC). Les valeurs les plus frquentes sont codes
en mots de code courts et les autres en mots plus long. Pour
faciliter la dsrialisation on peut utiliser un mot de code
comme prfixe pour les autres.

Codage Vido
Codeur spatial

Codage Vido
Codeur spatial
Le signal dentre est suppos tre la norme 4:2:2 srie
en 8 ou 10 bits (SDI). Le MPEG nutilise cependant
quune rsolution de 8 bits; aussi, un tage de traitement
sera ncessaire pour arrondir les valeurs si le signal
entrant est 10 bits. Les profils MPEG effectuent un
chantillonnage du type 4:2:0; un tage dinterpolation
verticale/filtre passebas sera alors ncessaire.
Larrondi et le souschantillonnage couleur introduisent
une lgre mais irrversible perte dinformation, mais
aussi une rduction du dbit. Le format dentre de la
scrutation dcran doit tre tel quil puisse tre converti
en blocs de 8x8 pixels. Ltage DCT transforme
linformation dimage dans le domaine frquentiel. La
DCT neffectue pas de compression par elle mme.

Codage Vido
Codeur spatial
Dans le dcodeur, le flux de bits est dsrialis et
le codage de lentropie est invers pour
reproduire les coefficients pondrs. La
pondration inverse est ensuite applique et les
coefficients sont replacs dans les matrices en
fonction de la scrutation en zigzag afin de
recrer les matrices DCT. A la suite de la
transforme inverse, le bloc de 8x8 pixels est
recr. Pour obtenir un signal de sortie dcran
balay, les blocs sont stocks dans une RAM
qui est lue ligne par ligne.

Codage Vido
Codage temporel
La redondance temporelle peut tre exploite par
intercodage, en transmettant uniquement les
diffrences entre images. La figure suivante
montre quun retard dune image suivi dun
tage de soustraction permet de calculer la
diffrence entre images.

Codage Vido
Codage temporel
La diffrence est une image en soi et elle peut tre compresse
en tant que telle par le codeur spatial comme cela a t
prcdemment dcrit. Le dcodeur inverse le codage spatial et
ajoute limage de diffrence limage prcdente pour obtenir
limage suivante. Ce systme simple prsente quelques
inconvnients.
Dabord, et comme seules les diffrences sont transmises, le
dcodage ne peut commencer ds le dbut de la transmission.
Cette limitation rend difficile, pour le dcodeur, la facult de
fournir une image aprs une commutation dun flux de donnes
vers un autre (ce qui se produit si lobservateur change de
canal). De plus, et si une partie des donnes de diffrence est
incorrecte, lerreur persiste indfiniment dans limage. La
solution ces problmes consiste utiliser un systme qui
nest pas totalement diffrentiel.

Codage Vido
Codage bidirectionnel
Quand un objet se dplace sur un fond, il cache le fond du ct
qui avance et le rvle loppos. Le fond qui est rvl
ncessite la transmission de nouvelles donnes car cette partie
de fond tait auparavant masque et il nexiste aucune
information correspondante dans limage prcdente.
Un problme similaire se produit quand la camra effectue un
panoramique: de nouvelles zones apparaissent dans limage et
on ignore tout delles. Le MPEG aide minimiser ce problme
en utilisant un codage bidirectionnel qui permet de prendre des
informations avant et aprs limage courante. Si un fond est en
cours de rvlation, il sera prsent dans une image future mais
linformation peut tre utilise postriori pour recrer une
image antrieure. La figure suivante montre le concept dun
codage bidirectionnel.

Codage Vido
Codage bidirectionnel
Sur la base dun macrobloc, une image code
bidirectionnellement peut obtenir les donnes compenses en
mouvement de la part dune image antrieure ou dune image
ultrieure ou mme utiliser un moyennage des deux ensembles
de donnes. Le codage bidirectionnel rduit considrablement
la quantit de donnes de diffrence ncessaire
lamlioration du degr possible de prdiction.

Codage Vido
Images I, P et B
En MPEG, trois diffrents types dimage sont
ncessaires pour effectuer le codage diffrentiel et
le codage bidirectionnel avec un minimum
derreurs de propagation: Les images I sont
intracodes et ne ncessitent pas dinformation
supplmentaires pour tre dcodes.
Elles
ncessite
beaucoup
de
donnes
comparativement aux autres types dimage et cest
pourquoi elles ne sont transmises que quand cela
est ncessaire. Elles consistent essentiellement en
coefficients de transforme et nont pas de vecteur
de mouvement. Elles autorisent la commutation de
voies et bloquent la propagation des erreurs.

Codage Vido
Images I, P et B
Les images P sont celles qui sont dduites dune image
antrieure qui peut tre de type I ou P. Les donnes dune
image P sont constitus de vecteurs dcrivant o chaque
macrobloc doit tre pris dans limage prcdente et des
coefficients non transforms dcrivant la correction ou les
donnes de diffrence ajouter ce macrobloc. Les images
P comportent pratiquement la moiti des donnes dune
image I.
Les images B sont prdictes bidirectionnellement partir
dimages antrieures ou postrieures et de type I ou P.
Les donnes des images de type B consistent en vecteurs
dcrivant lendroit o les donnes doivent tre pris es dans
les images antrieures ou postrieures. Elles contiennent
galement les coefficients de transforme fournissant
lacorrection

Codage Vido
Un compresseur MPEG
Les figures a, b et c montrent une structure bidirectionnelle
typique de compensateur de mouvement. Aprs avoir
subi un prtraitement, la vido entre dans une srie de
mmoires image susceptibles dtre contournes pour
changer lordre des images. Les donnes entrent dans
ltage de soustraction et le calculateur de mouvement.
Pour crer une image I (reportez vous la figure a), la
sortie du retardateur dentre est slectionne et le
soustracteur inhibit de faon que les donnes
bypassent directement vers le codeur spatial.

Figure: a

Codage Vido
Un compresseur MPEG
La sortie du soustracteur alimente galement une mmoire
dimage capable de stocker quelques images. Limage I
est conserve en mmoire.
Pour crer une image P (reportez vous la figure b), les
tampons dentre sont bypasss de faon prendre en
compte limage future. Le calculateur de mouvement
compare limage I prsente dans la mmoire de sortie et
limage P de la mmoire dentre pour gnrer les
vecteurs de mouvement avant. Limage I est dplace par
ces vecteurs pour raliser une image prdicte P. Cette
image prdicte P est soustraite de limage P courante
pour gnrer lerreur de prdiction qui est code
spatialement et mise conjointement avec les vecteurs.
Lerreur de prdiction est galement ajoute limage
prdicte P pour crer une image P dcode localement et
sauvegarde galement dans la mmoire de sortie.

Figure: b

Codage Vido
Un compresseur MPEG
Pour crer une image B (reportez vous la figure c),
rappelez vous que la mmoire de sortie contient une
image I et une image P. On peut maintenant
slctionner une image B sur le tampon d'entre. Le
compensateur de mouvement compare l'image B
l'image I qui prcde et l'image P qui suit pour
determiner les vecteurs bidirectionnels.
Les compenssation de mouvement avant arrire sont
raliser de faon crer deux images prdictes B.
Elles sont soustraites de l'image B courante. Macrobloc
par macrobloc, les donnes avant et arrire sont
choisies en fonction de leur moindre diffrence. les
diffrences d'image sont alors codes spatialement et
mises conjointement avec les vecteurs.

Figure: c

Codage Vido
Synoptique dun codeur MPEG

Codage Vido
Profils et niveaux
Le MPEG peut sutiliser dans diverses applications
ncessitant des performances et des complexits
diverses. A laide des outils de codage dfinis dans le
MPEG, il existe des milliers de combinaisons possibles.
Dans un but de simplification, le MPEG est divis en
Profils, chaque profil tant luimme subdivis en
Niveaux . Un profil constitue la base la palette des
caractristiques dun codage dune certaine complexit.
Un niveau est en fait un paramtre dfinissant par
exemple la taille de limage ou le dbit du flux de bits.
Le profil simple na t seulement dfini quau niveau
Principal (Simple Profile at Main Level = SP@ML).

Codage Vido
Profils et niveaux
La plupart des applications de diffusion ncessite
le Profil principal au Niveau Principal (Main
Profile at Main Level = MP@ML), appellation du
MPEG utilis en tlvision standard.
Un oprateur de tlvision numrique a le soucis
conomique de diffuser un maximum de
programme en un minimum de dbits (comptez
20 millions par an pour louer un transpondeur)
tout en gardant une qualit optimale. Une simple
rduction de dbit ferait apparatre, sans aucun
doute, toutes la panoplie des artefact du MPEG.

Codage Vido
Multiplexage statique
En Multiplexage Statistique, le dbit d'un codeur n'est plus
fixe mais allou dynamiquement en fonction de la
complexit de l'image coder.
En pratique on alloue un dbit total un ensemble de
codeur qui attaque le mme multiplexeur. A chaque
image, chaque codeur calcule la complexit de l'image
courante et fait une demande d'allocation de dbit au
gestionnaire du mulitplexage statistique. Celui ci examine
toutes les demandes et renvoie chaque codeur, la
valeur du dbit qu'il peut utiliser. Ce systme optimise
l'utilisation du dbit dans un multiplex et permet une
amlioration globale des programmes. Son dfaut rside
en un lger retard entre une demande de dbit et
l'allocation de ce dbit. Ce dfaut est compens par les
codeurs double passe.

Encodage: Choix du codec


Principaux Codecs vidos
1. MPEG-1, qui n'est plus utilis, moins de possder
quelques VCD.
2. MPEG-2, qui est le codec utilis notamment par les
DVD vido standard et la tlvision numrique.
3. Les implmentations du MPEG-4 ASP, comme DivX et
XviD
4. MJPEG, pour le montage vido image par image
5. MJPEG2000, volution de MJPEG pour le cinma
numrique, l'imagerie de prcision (mdicale,
spatiale...)
6. Les implmentations de MPEG-4 AVC / H.264 : X264,
ATEME.

Codage Audio
La compression audio qui est entirement base
sur les caractristiques de laudition humaine,
saccompagne de pertes et ne peut tre aborde
sans une tude pralable de ce sens. Il est
surprenant de constater que laudition humaine,
et particulirement en stro, a un pouvoir
discriminatoire bien suprieur celui de la vision
et cest pourquoi la compression audio doit tre
envisage avec encore plus de prcautions.
Comme la compression vido, la compression
audio ncessite plusieurs niveaux de complexit
en fonction du facteur dcompression souhait.

Codage Audio
Codage en sous-bandes
La figure suivante montre un compresseur bandes spares. Le filtre
sparateur de bandes est un jeu de filtres phase linaire, ayant
tous la mme largeur de bande et qui se recouvrent. La sortie de
chaque bande consiste en des chantillons reprsentatifs de la forme
donde. Dans chaque bande de frquence, lentre audio est
amplifie au maximum avant la transmission. Chaque niveau est
ensuite ramen sa valeur initiale.
Le bruit introduit par la transmission est ainsi rduit dans chaque bande.
Si lon compare la rduction de bruit au seuil daudition, on saperoit
quun bruit plus important peut tre tolr dans certaines bandes du
fait de laction du masquage. Par consquent, il est possible, dans
chaque bande, de rduire la longueur des mots dchantillons aprs
la compression.
Cette technique ralise une compression parce que le bruit introduit par
la perte de rsolution est masqu. La figure ci dessous montre un
codeur simple bandes spares, comme ceux utiliss dans la
Couche 1 du MPEG. Lentre audio numrique alimente un filtre de
sparations de bandes qui divise le spectre du signal en un certain
nombre de bandes.

Codage Audio
Codage en sous-bandes

Codage Audio
Codage en sous-bandes
En MPEG, ce nombre est de 32. Laxe des temps est divis
en blocs dgale longueur. Dans la couche 1 de MPEG, il
y a donc 384 chantillons du signal dentre, ce qui se
traduira, en sortie du filtre, par 12 chantillons dans
chacune des 32 bandes. A lintrieur de chaque bande, le
niveau est amplifi par multiplication jusqu sa valeur
maximale. Le gain ncessaire est constant pour la dure
du bloc et un seul facteur dchelle est transmis avec
chaque bloc pour chaque bande de faon pouvoir
renverser le processus au dcodage.
La sortie du groupe de filtres est galement analyse afin
de dterminer le spectre du signal dentre. Cette analyse
permet de raliser un modle de masquage permettant de
dterminer le degr de masquage que lon peut attendre
dans chaque bande.

Codage Audio
Codage en sous-bandes
Dans chaque bande, plus le masquage est agissant,moins
lchantillon doit tre prcis. La prcision dchantillon
est alors rduite par requantification en vue de diminuer
la longueur des mots. Cette rduction est aussi
constante pour chaque mot dans la bande, mais les
diffrentes bandes peuvent utiliser des longueurs de mot
diffrentes. La longueur de mots doit tre transmise
comme un code daffectation de bits afin de permettre au
dcodeur de dsrialiser convenablement le flux de

Codage Audio
Couche 1 du MPEG
La figure suivante montre un flux de bits audio
MPEG Niveau 1.

Codage Audio
Couche 1 du MPEG
Aprs le mot de synchronisation et len tte, il y a
32 codes daffectation de bits de 4 bits chacun.
Ces codes dcrivent la longueur des mots des
chantillons dans chaque sousbande. Viennent
ensuite les 32 facteurs dchelle utiliss par la
compression dans chaque bande. Ces facteurs
dchelle sont indispensables pour rtablir le
bon niveau au dcodage. Les facteurs dchelle
sont suivis des donnes audio de chaque
bande.
Voici un dcodeur du type Couche 1.

Codage Audio
Couche 1 du MPEG

Codage Audio
Couche 1 du MPEG
Le mot de synchronisation est dtect par le gnrateur de
temps qui dsrialise les bits daffectation et les donnes
de facteur dchelle. Laffectation de bits permet ensuite
la dsrialisation des chantillons longueur variable.
La requantification inverse et la multiplication par
linverse du facteur de compression sont appliques de
faon ramener le niveau de chaque bande sa bonne
valeur. Les 32 bandes sont ensuite rassembles dans
un filtre de recombinaison pour rtablir la sortie audio.

Codage Audio
Couche 2 du MPEG

Codage Audio
Couche 2 du MPEG
La figure ci-dessus montre que, lorsque le filtre de
sparation de bandes est utilis pour crer le modle
de masquage, lanalyse de spectre nest pas trs
prcise dans la mesure o il ny a que 32 sous
bandes et que lnergie est rpartie dans la totalit de
la bande. On ne peut pas trop augmenter le plancher
de bruit car, dans le pire des cas, le masquage
nagirait pas. Une analyse spectrale plus prcise
autoriserait un facteur de compression plus lev.
Dans la couche 2 du MPEG, lanalyse spectrale est
effectue laide dun processus spar.

Codage Audio
Couche 2 du MPEG
Une FFT 512 points est effectue directement partir du signal dentre
pour le modle de masquage. Pour amliorer la prcision de la
rsolution de frquence, il faut augmenter lexcursion temporelle de la
transforme, ce qui est effectu en portant 1152 chantillons la taille
du bloc.
Bien que le synoptique de la compression de bloc soit identique celui de
la couche 1 du MPEG, tous les facteurs dchelle ne sont pas transmis
dans la mesure o, dans les images de programme, ils prsentent un
degr de redondance non ngligeable. Le facteur dchelle de blocs
successifs excde 2 dB dans moins de 10 % des cas et on a avantage
tirer parti de cette caractristique en analysant les groupes de 3 facteurs
dchelle successifs.
Sur les programmes fixes, seul un facteur dchelle sur trois est transmis. A
mesure de laugmentation de la variation dans une bande donne, deux
ou trois facteurs dchelle sont transmis. Un code de slection est
galement transmis pour permettre au dcodeur de dterminer ce qui a
t mis dans chaque bande. Cette technique permet de diviser par
deux le dbit du facteur dchelle.

Codage Audio
Couche 2 du MPEG: Codage transforme
Les couches 1 et 2 du MPEG sont bases sur les filtres
sparateurs de bande dans lesquels le signal est toujours
reprsent comme une forme donde. La couche 3 utilise de son
ct un codage transforme comme celui utilis en vido.
Comme indiqu plus haut, loreille effectue une espce de
transforme sur le son incident et, du fait du facteur de
rsonnance Q de la membrane basilaire, la rponse ne peut
augmenter ou diminuer rapidement.
Par consquent, si un signal audio est tranform dans le domaine
frquentiel, il nest plus ncessaire de transmettre les
coefficients trop souvent. Ce principe constitue la base du
codage transforme. Pour des facteurs de compression plus
levs, les coefficients peuvent tre requantifis, ce qui les rend
moins prcis. Ce processus gnre du bruit qui pourra tre
plac des frquences o le masquage est le plus fort. Une
caractristique secondaire dun codeur transforme est donc
que le spectre dentre est connu trs prcisment, ce qui
permet de crer un modle de masquage trs fidle.

Codage Audio
Couche 3 du MPEG
Ce niveau complexe de codage n'est en ralit utilis que lorsque les
facteurs de compression les plus levs sont ncessaires. Il
comporte quelques points communs avec la couche 2.
Une transforme cosinus discrte 384 coefficients de sortie par bloc
est utilise. On peut obtenir ce rsultat par un traitement direct des
chantillons d'entre mais, dans un codeur multiniveau, il est
possible d'utiliser une transforme hybride incorporant le filtrage 32
bandes des couches 1 et 2. Dans ce cas, les 32 sousbandes du
filtre QMF (Quadrature Mirror Filter) sont ensuite traites par une
Transforme Cosinus Discrte Modifie (MDCT) 32 bandes pour
obtenir les 384 coefficients.
Deux tailles de fentres sont utilises pour viter les proscillations
aux transitions. La commutation de fentre est commande par le
modle psychoacoustique. Il a t trouv que le prcho
n'apparaissait dans l'entropie que quand elle tait suprieure au
niveau moyen. Pour obtenir le facteur de compression le plus lev,
une quantification nonuniforme des coefficients est effectue selon
le codage de Huffman. Cette technique attribue les mots les plus
courts aux valeurs de code les plus frquentes.

Codage Audio
Codage AC-3
La technique de codage audio AC3 est utilise avec le systme
ATSC la place d'un des systmes de codage audio MPEG.
Le systme AC3 est bas sur une transforme et obtient le
gain de codage en requantifiant les coefficients de frquence.
L'entre PCM d'un codeur AC3 est divise en blocs par des
fentres qui se chevauchent comme indiqu ci dessous.

Le flux lmentaire
Premire couche syntaxique du MPEG, l'ES (Elementary Stream) est le
signal brut en sortie de compression. Dans la ralit, on ne travaille
jamais directement avec ce type de signal. il reste cach au coeur
des codeurs.
Un flux lmentaire ne contient rien de plus que ce qui est ncessaire
au dcodeur pour sapprocher au mieux de limage. En MPEG, la
syntaxe du signal compress est strictement dfinie de faon tre
sr que les dcodeurs puissent linterprter. Le codeur na pas
dautre dfinition que lobligation dmettre selon la syntaxe
convenable. Lavantage de ce concept est quil sapproche du monde
rel dans lequel il y a vraisemblablement plus de dcodeurs que de
codeurs.
En standardisant le dcodeur, on peut diminuer sensiblement le cot
de sa fabrication. Inversement, le codeur peut tre bien plus
compliqu et plus onreux et il peut procurer une forte amlioration
de limage sans tre pnalis par un cot excessif. Quand le codeur
et le dcodeur prsentent des degrs de complexit diffrents, le
systme est dit asymtrique .

Le flux lmentaire
Flux lmentaire vido
La figure ci dessous montre la structure du flux lmentaire
vido. Lunit fondamentale de linformation dimage est
le bloc DCT qui reprsente un rseau de 8 x 8 pixels
pouvant tre Y, Cr ou Cb. La composante continue est
dabord mise avec une prcision suprieure celle des
autres coefficients. Viennent ensuite les autres
coefficients et le code de fin de bloc (EOB). Les blocs
sont groups en macroblocs qui constituent lunit
fondamentale dune image et qui peuvent faire lobjet de
la compensation de mouvement. Chaque macrobloc
comporte, dans son entte, un vecteur de mouvement
bidimensionnel.

Le flux lmentaire

Le flux lmentaire
Flux lmentaires audio
Plusieurs sortes daudio peuvent tre insres dans un multiplex
MPEG2. Ces catgories comprennent laudio code selon les
normes des couches 1, 2 ou 3 du MPEG ou lATSC. Le type de
codage doit tre inclus dans un indicateur que le dcodeur lira de
faon faire appel au type de dcodage appropri.
Le processus de compression audio est sensiblement diffrent de celui
de la vido. Il ne comporte rien dquivalent aux diffrents types
dimage I, P ou B et les trames audio contiennent toujours la mme
quantit de donnes audio. Il ny a galement pas dquivalence au
codage bidirectionnel et les trames audio ne sont pas transmises
autrement quen squence naturelle.

Le flux lmentaire
En MPEG2 audio, lindicateur de lentte de squence
contient le numro de la couche utilise pour la compression
audio et le type de compression employ (stro par
exemple) ainsi que la frquence dchantillonnage initiale.
La squence audio est organise en units daccs (AU =
Access Units) qui constitueront les trames audio codes. Si le
codage AC3 est utilis, cette disposition est rpte dans
lentte de squence. Lunit daccs audio est une trame
synchronise en AC3.
La trame AC3 reprsente une excursion de temps quivalente
1536 chantillons audio, ce qui fait 32 ms pour un
chantillonnage 48 KHz et 48 ms en 32 KHz.

Le Packet Elementary Stream

Pour des raisons de commodit, les flux


lmentaires continus transportant de
laudio ou de la vido en provenance de
compresseurs doivent tre diviss en
paquets. Ces paquets sont identifis par
des enttes contenant des marqueurs
temporels pour la synchronisation. A partir
des PES, on peut crer des Flux de
Programme et des Flux de Transport.

Le Packet Elementary Stream


Paquets PES
Dans le flux lmentaire en paquets (PES), un flux lmentaire continu
est divis en paquets dune taille adapte lapplication. La taille
peut atteindre plusieurs centaines de kilooctets et varie en fonction
de lapplication. Chaque paquet est prcd par un entte PES. Le
paquet commence par un prfixe de 24 bits (prfixe de dpart) et un
identificateur de flux caractrisant le contenu du paquet (audio ou
vido), et si ncessaire, le type de codage audio. Ces deux
paramtres (prfixe de dpart et identificateur de flux) constituent le
code de dpart identifiant le code de dbut du paquet.
Il est important de ne pas confondre le paquet dun PES et le paquet
plus petit utilis dans les flux de transport, ces deux lments portant
malheureusement le mme nom.
Comme le MPEG ne dfinit que le flux de transport, et non le codeur, un
concepteur peut dcider de fabriquer un multiplexeur convertissant
les flux lmentaires en flux de transport en une seule tape. Dans
ce cas, les paquets PES ne peuvent exister sous une forme
identifiable, mais ils sont logiquement partie intgrante de la charge
du flux de transport. C'est d'ailleurs majoritairement le cas.

Le Packet Elementary Stream

Marqueurs temporels
Aprs la compression, les images sont extraites de la
squence cause du codage bidirectionnel. Elles
ncessitent une quantit variable de donnes et sont
sujettes un retard variable en raison du multiplexage et
de la transmission. Des marqueurs temporels sont
priodiquement incorpors dans chaque image afin de
verrouiller la synchronisation entre laudio et la vido. Un
marqueur temporel est un nombre de 33 bits constitu
par la valeur dun compteur pilot par une horloge 90
KHz. Cette horloge est le rsultat de la division par 300
de lhorloge de programme 27 MHz .

Le flux lmentaire

PTS/DTS
Quand on utilise un code bidirectionnel, une image
doit avoir t dcode quelque temps avant
dtre prsente de faon pouvoir tre utilise
comme source de donnes pour une image B.
Bien que, par exemple, lon puisse prsenter les
images dans lordre IBBP, elles seront
transmises dans lordre IPBB. Il existera donc
deux types de marqueurs temporels.

Le Packet Elementary Stream

Le Packet Elementary Stream

PTS/DTS
Le marqueur temporel de dcodage (DTS = Decode Time
Stamp) indique quand une image doit tre dcode,
tandis que le marqueur temporel de prsentation (PTS =
Presentation Time Stamp) indique quand limage doit
tre prsente la sortie du dcodeur.
Les images B sont dcodes et prsentes simultanment,
cest pourquoi ils ne comportent quun PTS. Quand une
squence IPBB est reue, les images I et P doivent tre
dcodes avant la premire image B. Pendant que
limage P est en cours de dcodage, limage I est
prsente en sortie de faon pouvoir tre suivie des
images B.

Le Packet Elementary Stream


PTS/DTS
La figure ci-dessus montre que, quand une unit daccs
contenant une image I est reue, les deux marqueurs DTS et
PTS doivent exister dans lentte et quils doivent tre spars
dau moins une priode dimage.
Si le codage bi directionnel est utilis, une image P doit venir
ensuite et cette image est galement dote dun PTS et dun
DTS, mais la sparation entre les deux marqueurs doit tre de
trois priodes dimage pour permettre lintervention des images
B. Ainsi, si une squence IPBB est reue, limage I est retarde
dune image, limage P de trois images et les deux images B
nont aucun retard. La prsentation devient alors IBBP.
En clair, si la structure de GOP est change de faon ce quil y
ait plus dimages B insres entre les images I et P, la
diffrence entre le DTS et le PTS des images P sera
augmente.

Le Flux de Programme et le Flux de Transport

Les flux de programme et transport constituent deux faons


dassembler plusieurs flux de paquets PES.
Enregistrement contre transmission
Pour une qualit dimage donne, le dbit de donnes variera selon
le contenu de limage. Un canal dbit variable donnera donc le
meilleur rsultat. Dans le domaine des transmissions, la plupart
des canaux sont fixes et le dbit global de bits est maintenu
constant par laddition dun bourrage (donnes sans signification).
Dans le cas du DVD, lutilisation de ce bourrage constitue un
gaspillage despace de stockage. Cependant, on peut acclrer
ou ralentir la vitesse dun moyen de stockage soit physiquement,
soit dans le cas dune unit de disque, en changeant les
demandes de transfert de donnes. Cette approche permet davoir
un canal dbit variable sans perte de capacit. Quand un
support est relu, on peut ajuster la vitesse de faon conserver le
tampon moiti plein quel que soit le dbit dynamique qui peut
tre dynamiquement ajust.

Le Flux de Programme et le Flux de Transport

Introduction aux flux de programme


Un flux de programme est un multiplex de paquets PES qui
vhicule plusieurs flux lmentaires pralablement cods
partir de la mme horloge mre ou de la mme rfrence.
Le flux peut tre constitu dun flux vido et de ses flux
audio associs ou seulement un canal de multi
programmes audio.
Le flux lmentaire vido est divis en units daccs
contenant chacune des donnes compresses dcrivant
une image. Ces images sont du type I, P ou B et chacune
comporte un numro dunit daccs qui indique la
squence daffichage convenable. Une unit daccs vido
devient un paquet de flux de programme.
En vido, la taille de ces paquets varie. Un paquet dimage I
sera, par exemple, plus grand que celui dune image B. Les
units daccs de laudio numrique sont gnralement de
la mme taille et plusieurs dentre elles constituent un
paquet de flux de programme.

Le Flux de Programme et le Flux de Transport

Flux de transport
Un flux de transport est bien plus quun simple multiplexage de
plusieurs paquets PES. Dans les flux de programme, les
marqueurs temporels sont suffisants pour recrer laxe des temps
parce que laudio et la vido sont verrouilles sur une rfrence
commune.
Pour tlcharger des donnes dans un rseau loign, un impratif
supplmentaire est ncessaire dans le dcodeur pour recrer
lhorloge de chaque programme. Cela impose un lment
supplmentaire dans la syntaxe afin de fournir la rfrence
dhorloge de programme (PCR = Program Clock Reference).
Le flux de transport vhicule plusieurs programmes diffrents utilisant
chacun un dbit et un facteur de compression susceptibles de
varier dynamiquement, mme si le dbit global reste constant.
Cette proprit est appele multiplexage statistique et permet un
programme supportant des images difficiles de prendre de la
bande un programme supportant des images plus statiques.

Tltexte en DVB
Rappel
En analogique sur 625 lignes, 575 transportent la vido
"utile", cad l'image que l'on voit. 50 lignes sont utilises
pour la suppression trame (synchronisation verticale de
la vido). C'est dans ces lignes "non visibles" que l'on
insre le tltexte.
En vido numrique dite 422, on ne numrise que les 575
lignes de vido utiles. Donc la trappe les lignes de
tltexte. Cependant on arrive les transporter sous
forme de donnes auxiliaires comme l'audio. Voir norme
422 (itu 601)

Tltexte en DVB
DVB
Le transport du tltexte est prvu. Au codage, on extrait
les donnes du tltexte de la vido et on les encode
dans un PID propre. Ainsi un service TV est compos de
3 composantes ayant chacun un PID (1 vido, 1audio, 1
tltexte) Lorsque ton terminal dcode le service, il
rinsre les donnes de tltexte dans la vido. Le
dcodeur tltexte de ta tl peut alors fonctionner. Le
dbit d'une composante tltexte, dpend de la richesse
du contenu ditorial. Comptez 120 kbit/s pour un
tltexte la franaise et plus de 300 kbit/s pour un
tltexte l'italienne.

Services de tl et de donnes
Format de codage des services de tlvision
: MPEG-2.
Dbits vido :
SD (Standard Definition) (720 x 576 lignes) : de
3 6 Mbps.
HD (High Definition) (1280 x 720 lignes) : de 18
20 Mbps.
Dbits audio : quelques 100 kbps.
Trames de 188 octets (dont un octet de
synchronisation).
Services multiplexs en TDM.

Services de tl et de donnes
Adaptation de signaux tl bande de base
la sortie dun multiplex MPEG-2 aux
caractristiques dun canal satellite.

Services de tl et de donnes
Adaptation dun flux MPEG-2 un canal
de transmission terrestre.

Rfrence Bibliographique
DVB Digital Video Broadcasting: Benot
ESCRIG
Diffusion vido numrique : le DVB-T :
Philippe Ciblat
Les bases du MPEG V1.0 sur
http://perso.libertysurf.fr/IPhilGood

Вам также может понравиться