Avec l’explosion de la diversité des modes de consommation de contenus multimédia, il est souvent souhaitable de disposer d’un même média dans des résolutions et des qualités différentes. Les exemples sont légion : sur un site web, les imagettes nous donnent un aperçu des images en grand format et permettent ainsi une présélection rapide du contenu. De même, on souhaitera disposer d’un morceau de musique numérisé de haute qualité lors d’un concert et on lui préférera une version prenant moins d’espace lors d’une écoute distraite sur baladeur.
Introduction aux représentations multirésolution
Sur la scalabilité
Le terme scalabilité est un néologisme directement emprunté de l’anglais scalability qui peut approximativement être traduit par le terme échelonnabilité. La scalabilité est la caractéristique d’un objet ou d’un signal à être représentable sur plusieurs niveaux de résolution ou de qualité. Une transformation sera ainsi dite scalable si elle est en mesure de représenter un signal sur plusieurs niveaux de résolution ou de qualité. La notion de scalabilité est en fait très générale et il existe plusieurs types de scalabilité. Dans le cas d’un signal monodimensionnel, on parlera de scalabilité en résolution pour désigner le fait qu’un signal puisse être décrit par un nombre variable d’échantillons. Dans le cas d’une image, la scalabilité spatiale qualifie la propriété de pouvoir représenter une image sur plusieurs niveaux de résolution spatiale .
Il est aussi possible de représenter un signal sur différents niveaux de qualité, où chaque échantillon ou coefficient peut être décrit avec une précision plus ou moins grande. On parlera dans ce cas de scalabilité en qualité.
Il existe d’autres types de scalabilité : dans le cas d’une séquence vidéo, on parlera de scalabilité temporelle pour désigner la propriété de pouvoir la représenter à plusieurs fréquences temporelles, exprimées en nombre d’images par seconde. D’autres types de scalabilité peuvent être définis comme la scalabilité en complexité, en objets ou en délai mais nous ne les aborderons pas dans ce document.
Avec l’explosion des applications multimédia et le besoin croissant de diffusion de contenu à destination de récepteurs hétérogènes, la scalabilité est devenue indispensable dans la conception d’un schéma de compression d’image ou de codage vidéo. Cette propriété permet ainsi de pouvoir diffuser un unique flux vidéo compressé, capable d’être adapté par les nœuds d’un réseau ou d’être décodé par une grande variété de récepteurs. Il existe de nombreux cas d’utilisation nécessitant une description scalable et parcimonieuse d’un contenu multimédia, relevant pour la plupart du domaine de l’adaptation de contenu. Par exemple, les images présentes sur Internet sont souvent disponibles sous deux voire trois résolutions (aperçu thumbnail, résolution moyenne et haute résolution) en fonction de la façon dont elles sont visualisées. De plus, il est souvent nécessaire de posséder un morceau de musique compressé sous plusieurs débits, en fonction de la qualité désirée et de la place disponible. Enfin, les opérateurs commerciaux de diffusion de contenus multimédia ont tout intérêt à utiliser un format scalable. Un opérateur de téléphonie mobile pourra ainsi diffuser un flux vidéo TV destiné à un parc hétérogène de récepteurs dont les écrans sont de tailles différentes. De plus, la scalabilité est une propriété très utile lors de la diffusion de contenu multimédia dans un environnement enclin aux erreurs de transmissions, comme les réseaux IP sans fil. En effet, elle permet l’adaptation du débit du flux compressé en fonction de la capacité du canal, susceptible de varier selon les conditions de transmission, et augmente la robustesse d’un schéma de codage en cas de pertes, d’erreurs ou d’encombrements. Ces nombreux cas d’utilisation poussent depuis quelques années les organismes internationaux de normalisation ITU, JPEG et MPEG à concevoir des algorithmes de compression d’images et de codage vidéo scalables. La norme de compression d’images fixes JPEG-2000, scalable en résolution et en qualité a ainsi été normalisée en 2000.
Techniques classiques de description scalable
Comment créer une représentation scalable d’un signal ? On peut tout d’abord penser naïvement à une solution de type Simulcast. C’est une stratégie brutale qui consiste simplement à proposer simultanément plusieurs versions du même contenu multimédia. C’est en effet une forme de description scalable mais qui est loin d’être parcimonieuse. Une autre classe de solutions existe : les schémas de codage prédictif en couches. Dans ce type de stratégie, chaque version du contenu multimédia constitue une couche et un mécanisme existe pour permettre la prédiction d’une couche à partir d’une autre, réduisant ainsi la redondance comparée à une stratégie Simulcast. Un exemple simple de schéma de codage prédictif en couches peut être imaginé par un format de musique compressé, où chaque couche représente une qualité différente, obtenue par différence avec la couche de qualité inférieure. Cependant, l’efficacité de ce type de représentation repose principalement sur l’opérateur de prédiction utilisé entre couches et est susceptible de chuter si le nombre de couches est trop important. Enfin, la scalabilité offerte par les schémas en couches est grossière et statique : seules les couches disponibles peuvent fournir une version du contenu compressé et ces dernières doivent être connues au moment de l’encodage .
Introduction |