Zero Padding

Ivan Martin
promo 1999


Qu'est-ce que le zero padding ?

Pour bien comprendre ce qu'est le zero padding et à quoi il sert, nous allons commencer par l'exemple à une dimension.

Exemple 1-D

Prenons un signal xn, par exemple un signal audio échantillonné à 32 kHz, et que l?on souhaite copier sur une cassette DAT dont la fréquence est de 48 kHz. Ce type de changement de fréquence est courant en audio, et il nécessite de passer à une fréquence multiple des fréquences d?échantillonnage des différents systèmes. Notons L le facteur multiplicatif pour monter en fréquence multiple.

A partir du signal xn d?origine on construit ainsi le signal yn en ajoutant L-1 échantillons à la valeur zéro entre chaque échantillon d?origine. Ainsi :

Les transformées en z des signaux sont donc :

et 

Voyons l?effet de ce zero padding sur le spectre du signal :

On s?aperçoit que le zero padding introduit des hautes fréquences parasites et qu?il suffit de filtrer passe-bas pour retrouver un spectre semblable à celui du signal d?origine. Le rétrécissement de la largeur de bande n?est qu?une illusion liée au fait que les fréquences normalisées entre -½ et ½ changent entre xn et un (on monte en fréquence).

Même si les règles de reconstitution parfaite du signal sont respectées dans la théorie, elles ne peuvent l?être dans la pratique à cause des limites sur les filtres. Le dilemme est toujours le compromis entre nombre de coefficients (assurant une bonne raideur et/ou des lobes secondaires bas) et la complexité de calcul. Du coup, le filtre utilisé a un gabarit défini et donc des défauts que l?on sait mesurer, avec les grandeurs :

Passage en 2-D

Le principe est le même qu?à une seule dimension ; ce type de traitement est utilisé par exemple lorsque l?on change les dimensions d?une image. Il est donc très fréquent d?avoir recours à ce type de traitement. La périodisation du spectre se fait cette fois sur l?ensemble de la maille de Brilloin.

Les trois défauts majeurs du filtre (cités précédemment) ajoutent autant de bruits à l?image recalculée. Si on effectue des étirements vertical et horizontal sur l?image, le problème reste le même. Mais nous allons particulièrement nous intéresser au rebonds, c?est-à-dire aux lobes secondaires, et constater que le passage en 2-D ne doit pas être vu comme une simple extension successive en x puis en y de traitements connus en 1-D.

Nous allons en effet démontrer par l?exemple que l?on peut fabriquer un filtre 2-D comme composition de filtres 1-D, et que ce même filtre peut être considérablement amélioré en lui opérant de petits changements.

Exemples de filtrages 2-D

Pour cela, partons d?un filtre moyenne très simple et de faible efficacité, de sorte que les défauts que nous voulons mettre en relief soient apparents. Si vous disposez de Matlab, vous pouvez récupérer mon programme d?exemple et le fichier image source. Il effectue toutes les étapes ci-après.

A partir de ce filtre passe-bas, on peut fabriquer le filtre 2-D passe-bas également par la composition :

Chaque point de l?image filtrée par un tel filtre hh est la moyenne du carré qui l?entoure dans l?image initiale. Ce filtre revient bien à l?application successive du filtre h sur toutes les lignes puis sur toutes les colonnes.

Appliquons ce filtre à une image qui a été précédemment agrandie avec zero padding. Voici l?image initiale. Pour des raisons de taille de fichiers, nous avons choisi un étirement d?un facteur 2 en x et en y.

Voici le résultat du filtrage par ce filtre assez grossier. On constate que la qualité est médiocre, et le but pour nous n?est pas de l?améliorer en augmentant le nombre ou les valeurs des coefficients. Nous allons simplement voir si filtre hh ne pourrait pas être améliorer en changeant le voisinage de points sur lequel il effectue sa moyenne, en particulier en arrondissant ce voisinage. On constitue donc le filtre hh2 :

Voici le résultat du nouveau filtrage. On constate immédiatement que la qualité de l?image a été considérablement accrue avec cette simple modification (même si elle est encore peu satisfaisante). Les lignes verticales et horizontales qui étaient très marquées à l?issue du filtrage par hh sont nettement moins aggressives avec le filtre hh2.

Explication des différences

Pour mieux comprendre les raisons de ce phénomène, regardons les réponses en fréquence des deux filtres :

Voici pour le filtre hh ?

? et voici pour le filtre hh2 :

Il est parfaitement clair que pour le filtre hh, les défauts connus sur le filtre h 1-D se répercutent directement sur les directions x et y de la réponse en fréquence de hh, ce qui tend à expliquer pourquoi on ressent toujours fortement les lignes horizontales et verticales ajoutées, même après filtrage. En revanche, le filtre hh2 a son premier lobe secondaire plus doux car presque isotrope. Le filtre hh2 tend donc à lisser l?image agrandie de manière indépendante des directions x et y. Il y a toujours un fort bruit introduit par ce filtrage, mais il se ressent beaucoup moins car mieux dispersé dans l?image.

Ceci démontre qu?il n?est pas forcément un bonne idée de construire des filtres 2-D à partir de filtres 1-D par simple extension matricielle (comme fait pour hh). Le problème des rebonds est donc à voir sous un jour nouveau avec un filtre 2-D.

Conclusion

En modifiant les dimensions d?une image, il faut bien avoir conscience que le passage à une image, dont les lignes et colonnes ajoutée sont nulles, périodise le spectre de notre image. Il apparaît donc des hautes fréquences parasites à éliminer par un filtrage passe-bas.

Même si on connaît la synthèse de filtres 1-D, la transposition en 2-D de ces filtres (de type hh=hT.h) ne donne pas les meilleurs filtres (cela dépendra quand-même de l?application). Nous venons d?en donner un exemple criant de vérité, tout simplement en partant de l?intuition que le support du filtre pourrait être arrondi (et non carré comme on l?obtient).

Les importantes améliorations visuelles s?expliquent en observant les réponses en fréquence des filtres, car on constate que la qualité visuelle est bien meilleure lorsque les rebonds sont plus uniformes dans toutes les directions de l?image.