2010-03-26 6 views
18

Je suis très confus de savoir ce qui se passe à l'intérieur des codecs. Je veux en savoir plus sur les éléments à l'intérieur des encodeurs audio et des décodeurs. Serait très heureux si vous pouvez me fournir des liens où je peux trouver du bon matériel d'étude.Où commencer à apprendre sur les codecs audio ou vidéo?

Je voudrais savoir précisément comment le codec analyse un fichier multimédia.

+0

google it .. le débordement de la pile ne va pas aider. – raj

+0

avez-vous exploré wikipedia? – SteelBytes

+0

exploré le wiki, capable de trouver les codecs qui sont disponibles, mais j'explore étant donné un fichier multimédia comment identifier le codec et comment jouer le même. – Vamsi

Répondre

2

j'ai appris une bonne partie sur le format MPEG4 par travailler sur un décodeur MPEG4. Il existe de nombreux encodeurs et décodeurs de référence (et implémentations Open Source) pour la vidéo et l'audio. Alors, prenez les livres - en commençant par Wikipedia: il a de bons résumés généraux et des liens à suivre (si vous avez la chance d '«ouvrir les spécifications»). Et puis frapper la source.

Il y a tellement de différentes façons de coder quelque chose (beaucoup impliquant une certaine forme de compression, qu'elle soit avec ou sans perte, aussi) et l'ensemble du problème est généralement compliqué en traitant également le conteneur de formats ".

Amusez-vous.

  • Dirac: http://diracvideo.org/specifications/
  • MPEG-4: http://en.wikipedia.org/wiki/MPEG-4
  • JPEG: http: // jpeg .org/public/jfif.pdf
22

Votre titre demande sur la compression A/V, mais le reste de vos commentaires parle de l'analyse du fichier multimédia & identifiant son codec. Ce sont des tâches très différentes: spécifiées & implémentées par différentes organisations, exécutées par différentes API dans la plupart des bibliothèques multimédia, et surtout nécessitant des compétences très différentes. Les formats de fichier A/V ne sont pas trop différents de tout autre format de fichier, qui à son tour sont juste formal grammars. L'analyse syntaxique, la validation et les graphes d'objets résultants ne sont conceptuellement pas différents de toute autre grammaire - et en pratique, ils ont tendance à être beaucoup plus simples que les grammaires que vous rencontrez dans un curriculum CS standard (compilateurs, automates finis). Le AVI file format est une sorte de ce point à désuète, mais je recommande toujours de commencer là parce que:

  • un grand nombre de formats plus complexes d'aujourd'hui ressemblent AVI en tout ou en partie, ou au minimum suppose que vous êtes familier avec son structures de base
  • AVI est un membre d'une grande famille de formats multimédia connu sous le nom RIFF, que vous retrouverez un peu dans beaucoup d'autres endroits such as WAVs

Codecs, quant à lui, quelques-uns des algorithmes les plus complexes que vous » re susceptibles de trouver parmi les logiciels "consommateurs". Ils s'appuient fortement sur les progrès dans la communauté académique et les bras des grandes entreprises (y compris leurs vastes bibliothèques de brevets).Pour maîtriser les codecs dont vous avez besoin de connaître les au moins les bases de:

Si vous avez déjà un fond décent (par exemple, vous avez pris un ou deux niveaux de premier cycle « mathématiques pour les ingénieurs » -type de classes) alors je dis plongée en plein. Un grand nombre des meilleurs A/codecs V sont ouverts source:

  • x264 (MPEG-4 partie 10, aka AVC)
  • LAME (couche MPEG-1 3, aka mp3)
  • Xvid (MPEG-4 part 2, même comme Divx et beaucoup d'autres)
  • Vorbis (alternative, codec audio sans brevet)
  • Dirac (alternative, codec vidéo sans brevet basé sur une transformée en ondelettes)
9

En général, la compression vidéo est préoccupé par jeter autant d'informations que possible tout en ayant un effet minimal sur l'expérience de visionnement pour un utilisateur final. Par exemple, l'utilisation de YUV sous-échantillonné au lieu de RVB réduit la taille de la vidéo de moitié immédiatement. Ceci est possible car l'œil humain est moins sensible à la couleur qu'à la luminosité. En YUV, la valeur Y est la luminosité et les valeurs U et V représentent la couleur. Par conséquent, vous pouvez supprimer certaines informations de couleur qui réduisent la taille du fichier, sans que le spectateur ne remarque de différence.

Ensuite, la plupart des techniques de compression profitent en particulier de 2 redondances. Le premier est redondance temporelle et le second est redondance spatiale.

La redondance temporelle note que les trames successives d'une séquence vidéo sont très similaires. Typiquement une vidéo serait de l'ordre de 20-30 images par seconde, et rien ne change beaucoup en 1/30 de seconde. Prenez n'importe quel DVD et mettez-le en pause, puis déplacez-le sur une image et notez à quel point les deux images sont similaires.Ainsi, au lieu de coder chaque trame de manière indépendante, MPEG-4 (et d'autres normes de compression) codent pour que la différence entre des trames successives (en utilisant motion estimation pour trouver la différence entre des trames)

redondance spatiale tire profit du fait que, dans En général, la couleur diffusée à travers les images a tendance à être très basse fréquence. Je veux dire par là que les pixels voisins tendent à avoir des couleurs similaires. Par exemple, dans une image de vous portant un pull rouge, tous les pixels qui représentent votre pull ont des couleurs très similaires. Il est possible d'utiliser la DCT pour transformer les valeurs de pixels dans l'espace de fréquence, où certaines informations de basse fréquence peuvent être rejetées. Ensuite, lorsque la DCT inverse est effectuée (pendant le décodage), l'image est maintenant dépourvue de l'information basse fréquence rejetée.

Pour voir les effets de la suppression de cette information, ouvrez MS paint et dessinez une série de lignes noires horizontales et verticales qui se chevauchent. Enregistrez l'image au format JPEG (qui utilise également DCT pour la compression). Maintenant, zoomez sur le motif, remarquez que les bords des lignes ne sont plus aussi nets et sont un peu flous. C'est parce que certaines informations (la transition du noir au blanc) ont été jetées pendant la compression. Lire this pour une explication avec de belles images

Pour plus de lecture, this book est assez bon, si un peu lourd sur les maths.

Questions connexes