Quelle est la cause / utilisation / raison des blocs qui apparaissent dans les vidéos à forte compression?

StackOverflow https://stackoverflow.com/questions/1052089

Question

Soyez patient car je n’ai pas beaucoup travaillé avec les algorithmes de compression, c’est peut-être évident pour certains d’entre vous. Quelque chose que j'ai toujours remarqué quand une vidéo en streaming commence à ralentir. J'ai seulement réalisé que j'étais curieux en examinant cette question:

défi d'encodage d'images Twitter

Je ne parle pas des pixels eux-mêmes, mais plutôt de la grille, telle la mise en page résultant de la compression. A quel type d'algorithme ou de technique cela est-il indicatif? Que peux-tu m'en dire?

Était-ce utile?

La solution

Consultez cet article de Wikipedia sur le MPEG-2 . Pour en citer une partie:

  

En bref, le cadre brut est divisé en blocs de 8 pixels par 8 pixels. Les données de chaque bloc sont transformées par une transformation en cosinus discrète. Le résultat est une matrice de coefficients de 8 sur 8. La transformation convertit les variations spatiales en variations de fréquence, mais ne modifie pas les informations contenues dans le bloc; le bloc d'origine peut être recréé exactement en appliquant la transformation en cosinus inverse.

En d’autres termes, la structure en forme de grille que vous voyez est un effet direct de l’application de ce DCT sur les blocs de pixels de 8x8.

Autres conseils

La raison d'être des blocs est liée au compromis emplacement / fréquence. L'image est divisée en blocs avant la compression dans le domaine spectral ( DCT ) afin que les artefacts en raison de la compression sont plus localisés. En format JPEG standard, les blocs sont de taille constante sur l’ensemble de la photo. Pour les formats plus récents tels que JPEG2000, les blocs sont adaptés à l'image, en utilisant des ondelettes. Je ne connais pas bien les détails des formats vidéo, mais la logique reste la même.

Il en va de même pour le codage audio (mp3): au lieu de calculer le spectre sur l’ensemble du fichier audio, vous le divisez en quelques parties de quelques échantillons (quelques centaines en général pour des signaux à 44,1 kHz). De même, en cas de corruption des données compressées (réseau, fichier corrompu), vous entendrez des bruits dus à des fenêtres manquantes.

Cela s'appelle Macroblocking .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top