JP-Tech

Foire aux questions

On trouvera dans ce document un lot de questions avec ou sans réponses sur l'image et la vidéo. Ces questions constituent de véritables exercices élaborés majoritairement par moi-même mais parfois par des étudiants eux-mêmes. Ils sont alors cités après leur accord.

 

A -    Colorimétrie. 2

I - Composantes primaires. 2

1.1.                      Composantes en TVHD.. 2

B -     Analyse d'images. 3

I - Entropie. 3

1.2.                      Entropie. 3

I.1 - Exercise. 3

I.2 - Practice : Let's toss a coin. 3

1.3.                      Analyse fréquentielle. 3

1.4.                      distorsion.. 4

C -     Compression.. 4

1.5.                      huffman. 4

1.6.                      LZW 1. 5

1.7.                      LZW 2. 5

1.8.                      Quantification vectorielle. 6

1.9.                      DCT. 6

1.10.                  Matrice d'allocation de bits. 6

1.11.                  Choix d'algorithmes de compression. 7

1.12.                  Compensation de mouvement. 7

D -    Télévision.. 7

I - Facteur de forme. 7

I.1 - Télévision conventionnelle. 7

I.2 - Télévision HD conventionnelle. 8

I.3 - Télévision HD à pixel carré. 8

E -     Formats. 8

I - BMP, DIB.. 8

1.13.                  JPEG comparé à JPEG-2000. 9

1.14.                  MPEG.. 9

1.15.                  MPEG-1/2. 10

1.16.                  MPEG-1/2. 10

1.17.                  MPEG-1/2. 10

1.18.                  MPEG-2. 10

1.19.                  MPEG.. 10

 

A -      Colorimétrie

Ce qui suit fait appel à des notions détaillées présentées dans le cours : Image et vidéo -Techniques-.

Note : sauf avis contraire nous ne nous intéresserons qu'à la synthèse additive.

I - Composantes primaires

Soient les trois sources colorées suivantes : rouge, jaune, bleu. Peuvent-elles constituer une base colorimétrique ?

Si non quelle est l'erreur ? Expliquez.

_______________

Oui dès lors qu'elles sont linéairement indépendantes. Et elles le sont puisque visuellement leurs couleurs sont différentes.

Attention, à cause du métamérisme, l'inverse n'est pas vrai : des sources différentes peuvent nous apparaître identiques et donc linéairement dépendantes.

1.1.        Composantes en TVHD

On rappelle que les composantes colorimétriques analogiques de la TVHD (norme ITU-R BT 709) sont définies à partir des composantes d'analyse de la façon suivante :

1.  Quelles valeurs doivent prendre les composantes  pour que l'image soit N & B (image à niveaux de gris) ?

La validation, et la compréhension, de ce qui suit s'appuie sur la théorie de la colorimétrie : voir le cours Image et vidéo -Techniques-.

Les primaires dites de transmission sont définies de façon à assurer la compatibilité entre la couleur et le noir et blanc. En conséquence pour que l'image soit noire et blanche :                                                                                                          

Cela garantit :

·     qu'un récepteur (ou un décodeur) N & B reçoit son signal d'image Y',

·     qu'un récepteur (ou un décodeur) en couleurs détermine des composantes trichromatiques R', V', B' identiques et donc affiche une image N & B : voir la question suivante.

2.  Quelle condition doivent remplir les composantes  pour satisfaire la restriction précédente ?

Il y a deux façons de répondre à cette question :

·     La plus astucieuse est de dire que la norme précitée impose qu'une image noire et blanche présente des composantes  égales.

·     Il est possible de partir du résultat  et d'en déduire ce qui suit :

B -       Analyse d'images

I - Entropie.

On admettra que les propriétés statistiques des images peuvent être calculées spatialement dans chacune d'elles (propriétés de stationnarité et d'ergodicité). Des deux images ci-dessous (image "Bateaux", image "Logo") laquelle présente l'entropie la plus élevée ? Expliquez.

bateaux_NB      jp-tech

                    Bateaux                                                        Logo

1.2.        Entropie.

I.1 - Exercise

Que vaut l'entropie d'une variable aléatoire X :

·     n'ayant que deux valeurs,

·     sans mémoire (tirages indépendants) ?

On précisera tout ce qui peut l'être, en particulier l'influence de la densité de probabilité de X.

I.2 - Practice : Let's toss a coin

Let a casino implements the coin toss game. Inside the fruit machine only one binary digit is needed :

è head (winning) is coded with the value : 1

è tail (lost) is coded with the value : 0

I.2.1 - Fair coin

The chance to win is 1 out of 2.

What is the entropy of the outcome of the next toss ?

I.2.2 - Biased coin

The casino wishes to reduce the chance to win to only 1 out of 10.

What is the entropy of the outcome of the next toss ?

I.2.3 - How to take advantage of it ?

1.3.        Analyse fréquentielle.

Une analyse fréquentielle des deux images suivantes montrerait la présence majoritaire de hautes fréquences dans l'une d'elles. Laquelle (celle de gauche ou celle de droite) ? Expliquez.

lena512_HH_2                      lena512_LL_2

1.4.        distorsion

Soient les deux images (10 points × 10 lignes) ci-dessous. Les niveaux de gris évoluent de 0 à 255. Quelle est la valeur du PSNR entre ces deux images sachant que :

          avec EQM : Erreur Quadratique Moyenne.

Correction :

C -      Compression

1.5.        huffman.

Soit une variable aléatoire N à deux valeurs . On suppose que les probabilités de ces valeurs sont :

1) Proposer un codage binaire préfixé optimal de N à longueur constante et optimale.

2) Quelle est la longueur moyenne du code obtenu ?

3) Quelle est l'entropie, en bit, de N ?

4) On suppose que N est sans mémoire, en d'autres termes, toutes les réalisations de N sont indépendantes. Proposer un codage préfixé optimal de l'extension d'ordre 3 de N ?

5) Quelle est la longueur moyenne du code obtenu ?

1.6.        LZW 1

Question posée par N. E., (ESIEE Management)

Dans la suite les niveaux de gris sont représentés en numération hexadécimale.

Soit un codeur transmettant les chaînes de niveaux de gris suivantes, dans l'ordre chronologique :

·     0102,

·     030405

Peut-on concevoir une variante de l'algorithme de codage LZW qui enregistre à la première adresse disponible de la table de traduction (du codeur) la chaîne : 0102030405 ?

_______________

Rappelons que le décodage n'est possible que si la table de traduction du décodeur est identique à celle du codeur. Une telle variante impose donc que le décodeur remplisse, lui aussi, à la première adresse disponible de sa table de traduction la chaîne nouvellement reçue concaténée avec la précédente :

·     après l'avoir décodée il "bufferise" (met en mémoire tampon) la chaîne 0102, (procédure classique)

·     il reçoit la chaîne 030405,

·     il range 0102030405 à la première adresse disponible (procédure proposée qui s'oppose au rangement de la chaîne 010203).

La table de traduction du décodeur est ainsi identique à celle du codeur. Ceci garantit le fonctionnement de cette variante en théorie. En pratique il y a un inconvénient et une impossibilité  :

·     l'inconvénient : plus une chaîne est longue et moins elle a de chance de se répéter (sa probabilité diminue), c'est encore plus vrai lorsque le signal n'est pas stationnaire, comme dans les images. Dans l'exemple proposé le gain de codage de la chaîne 0102030405 est supérieur à celui de 010203 mais sa probabilité est inférieure. Au bout du compte l'efficacité de compression risque bien d'être inférieure.

·     l'impossibilité : l'arrangement en mémoire permettant d'avoir une profondeur de mémoire fixe n'est plus possible, à moins d'introduire des signaux de services (longueurs des chaînes,…) qui réduiront encore l'efficacité de compression et la simplicité première de l'algorithme.

1.7.        LZW 2

Soit un décodeur LZW (Lempel-Ziv-Welch) implémenté sur une image noire et blanche à 256 niveaux de gris. Dans la suite les niveaux de gris seront exprimés en hexadécimal.

Le nème code reçu correspond à la chaîne des niveaux de gris : 0A4118

Le (n+1)ème code reçu correspond à la chaîne des niveaux de gris : FE1200CDD1

Suite à ce (n+1)ème code, avec quelle valeur la première location libre dans la table de traduction sera-t-elle remplie ? Parmi les réponses suivante quelle est la bonne ?

 

è FE1200CDD1

è 0A4118FE

è 0A4118FE1200CDD1

è La réponse est impossible (il faut connaître les chaînes précédemment transmises).

1.8.        Quantification vectorielle

Une image originale N&B est quantifiée linéairement sur 256 niveaux. On décide de la quantifier vectoriellement selon des blocs de taille 4×4.

Dans le cas d'un codage binaire à longueur constante, quel est le taux de compression obtenu lorsque le dictionnaire est constitué de 4096 représentants ?

1.9.        DCT

Soit une image noire et blanche quantifiée sur 256 niveaux de gris (de 0 à 255). On se propose de la transformer par une DCT sur des blocs carrés de tailles 8×8. Quelle est la dynamique (définie par les valeurs min et max) du coefficient transformé  (fréquences nulles) ?

On rappelle la formulation de la DCT :

Correction :

. D'où :

La valeur minimale de  est donc obtenue pour , et .

La valeur maximale de  est donc obtenue pour , et

1.10.  Matrice d'allocation de bits

 

Zone de Texte: 8	7	6	5	4	3	2	1
6	5	4	3	2	1	0	0
4	3	2	1	0	0	0	0
2	1	0	0	0	0	0	0
1	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
Figure : 1

 

 

On se propose, d'utiliser un codeur JPEG pour comprimer une image noire et blanche. L'image originale est codée sur 256 niveaux de gris. La matrice d'allocation de bits du quantificateur est donnée figure : 1. Quel est le taux de compression obtenu avant codage entropique ?

 

 

 

 

 

 

 

 

 

 

1.11.  Choix d'algorithmes de compression.

On souhaite comprimer les deux images précédentes (image "Bateaux", image "Logo"). Les objectifs sont :

·     la qualité des images décodées doit être telle que l'on ne puisse percevoir à l'œil nu aucune différence avec les images originales,

·     le taux de compression est maximum.

Quel(s) algorithme(s) proposez-vous pour chacune d'elles ? Expliquez.

1.12.  Compensation de mouvement

Soit une séquence d'images animées. Les niveaux de gris quantifiés vont de 0 à 255. Dans la technique de compensation de mouvement par correspondance de blocs, si Blpr est le bloc le plus ressemblant de Blor, quel est la valeur du bloc de différence () ?

Note : on pourra soit indiquer la valeur des niveaux de gris de chacun des pixels de , soit le dessiner.

D -      Télévision

I - Facteur de forme

On appelle c le facteur de forme d'un rectangle. Il est défini par le rapport entre les longueurs de sa largeur et de sa hauteur (L/H). Exemple : le carré est un rectangle particulier pour lequel c = 1.

I.1 - Télévision conventionnelle

A propos de l'image de télévision conventionnelle on rappelle :

·     le facteur de forme de l'écran : 4/3,

·     le nombre de points par ligne : 720,

·     le nombre de ligne 576.

Calculer le facteur de forme du pixel associé. Conclusion ?

I.2 - Télévision HD conventionnelle

A propos de l'image de télévision haute définition conventionnelle on rappelle :

·     le facteur de forme de l'écran : 16/9,

·     le nombre de points par ligne : 1920,

·     le nombre de ligne 1152.

Calculer le facteur de forme du pixel associé. Conclusions ?

I.3 - Télévision HD à pixel carré

A propos de l'image de télévision haute définition à pixel carré on rappelle :

·     le facteur de forme de l'écran : 16/9,

·     le nombre de points par ligne : 1920,

·     le nombre de ligne 1080.

Calculer le facteur de forme du pixel associé. Conclusions ?

E -       Formats

I - BMP, DIB

Nous rappelons ci-dessous la structure des blocs d'en-tête d'un fichier au format BMP (le format DIB étant identique). On notera que dans la technologie Intel les nombres sont inscrits sous la forme d'une suite d'octets dans l'ordre des puissances croissantes.

#define        U2octets            unsigned short           //Définition d'un entier non-signé de 2 octets

#define        U4octets            unsigned long             //Définition d'un entier non-signé de 4 octets

 

typedef struct {

U2octets   bfType;                  //0x424D = "BM". Mot magique ou clé propre à

                                               //BMP

U4octets   bfSize;                    //Volume du fichier en octets

U2octets   bfReserved1;          //à 0 pour les bitmaps

U2octets   bfReserved2;          //à 0 pour les bitmaps

U4octets   bfOffBits;              //Pointeur dans le fichier où commencent les données de

                                               //l'image (valeurs des pixels).

                                               //Le 1er octet du fichier a pour pointeur 0x00000000

} FILEHEADER;

typedef struct {

U4octets   biSize;                    //Nombre d'octets dans le INFOHEADER.

U4octets   biWidth;                //Nombre de points par ligne

U4octets   biHeight;                //Nombre de lignes

U2octets   biPlanes;                //Nombre de plans ("balayages" dans JPEG).

U2octets   biBitCount;            //Nombre de bits nécessaires au codage d'un point. Exemples :

                                               //image de 24 bits sur un seul plan : biBitCount = 24

                                               //image de 24 bits sur 3 plans : biBitCount = 8

U4octets   biCompression;     //sans compression : biCompression =0

                                               //avec compression RLC : biCompression =1 ou 2

U4octets   biSizeImage;          //Nombre d'octets des données images (¹ du nombre

                                               //de points si biCompression ¹ 0)

U4octets   biXPelsPerMeter;   //Nombre de points par mètre horizontal

U4octets   biYPelsPerMeter;   //Nombre de points par mètre vertical

U4octets   biClrUsed;             //Nombre d'entrées dans la LUT = Nbre de couleurs

                                               //utilisées Exception : biClrUsed = 0 <=> toutes les

                                               //couleurs sont utilisées et nbre d'entrées dans la

                                               //LUT = 2^(biBitCount).

U4octets   biClrImportant;     //Nbre de coul. importantes. Valeur par déf. = 0. Cas

                                               //des impressions avec nbre de coul. < celui présent

                                               //dans l'image.

} INFOHEADER;

L'édition hexadécimale du début d'un fichier d'image au format BMP donne les valeurs ci-dessous.

·     Quel est le volume du fichier en octets ?

·     Quelles sont les définitions (horizontale et verticale) de l'image ?

Note : pour les deux réponses précédentes on précisera la base de numération utilisée.

edition_hexa

1.13.  JPEG comparé à JPEG-2000

Quelles sont les allures relatives des courbes de qualité en fonction du taux de compression pour JPEG et JPEG-2000 ?

1.14.  MPEG

Dans un codeur MPEG (et bien d'autres) il est fait référence à l'image précédente. Pour cette raison elle est conservée en mémoire.

1.      Dans la mémoire du décodeur les blocs de l'image précédente sont-ils rafraîchis par des blocs originaux ou décodés ? Expliquez votre réponse.

2.      Dans la mémoire du codeur les blocs de l'image précédente sont-ils rafraîchis par des blocs originaux ou décodés ? Expliquez votre réponse.

1.15.  MPEG-1/2

·     Dans un codeur MPEG-2 la compensation de mouvement est-elle systématique ? Expliquez.

·     Dans une séquence vidéo on observe un moment où les objets en mouvement ralentissent fortement. Le codeur peut-il en profiter ? Si oui pour quoi faire et comment ?

1.16.  MPEG-1/2

Comment détermine-t-on les vecteurs déplacement dans les composantes Cb et Cr ?

1.17.  MPEG-1/2

1     Que doivent vérifier les images d'un flux MPEG permettant le montage à l'image près ?

2     Afin d'atteindre le taux de compression souhaité, un codeur décide d'affecter aux premières images d'une séquence vidéo les types suivants :

Les numéros sont ceux des images entrant dans l'algorithme de codage. En les inscrivant de la gauche vers la droite réordonnez ces mêmes numéros à la sortie de l'algorithme.

1.18.  MPEG-2

Dans un flux MPEG-2 scalable, la couche de base est-elle nécessaire pour décoder la couche d'amélioration ?

1.19.  MPEG

Pourquoi les images B ne peuvent-elles pas servir de références dans MPEG-1 et 2 ?

JP-Tech                                   Nombre d'accès à cette page depuis le 06-11-2008 :