2010-03-26 16 views
18

Estoy muy confundido de saber qué sucede dentro de los códecs. Quiero aprender sobre los elementos dentro de los codificadores y decodificadores de audio. Sería muy feliz si me puede proporcionar algunos enlaces donde puedo encontrar un buen material de estudio.¿Por dónde empezar a aprender sobre códecs de audio o video?

Precisamente me gustaría saber cómo el códec analiza el archivo multimedia.

+0

google it .. stack overflow no ayuda. – raj

+0

has explorado wikipedia? – SteelBytes

+0

exploré la wiki, pude encontrar los códecs que están disponibles pero estoy explorando dado un archivo multimedia cómo identificar el códec y cómo jugar el mismo. – Vamsi

Respuesta

2

aprendí un buen poco sobre el formato MPEG4 trabajando en un decodificador MPEG4. Existen muchos codificadores y decodificadores de referencia (e implementaciones de código abierto) disponibles tanto para video como para audio. Por lo tanto, haga clic en los libros, comenzando con Wikipedia: tiene buenos resúmenes generales y enlaces a seguir (si tiene suerte de "abrir especificaciones"). Y luego golpea la fuente.

Hay tantas formas diferentes de codificar algo (muchas involucran algún tipo de compresión, ya sea con pérdida o sin pérdida, también) y todo el problema generalmente se complica aún más al tener que lidiar con el contenedor de encuadre y "sub formatos ".

Diviértete.

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

su título le pregunta sobre una compresión/V, pero el resto de sus comentarios habla de analizar el archivo de medios & identificar su códec. Esas son tareas muy diferentes: & especificadas implementadas por diferentes organizaciones, realizadas por diferentes API en la mayoría de las bibliotecas multimedia, y sobre todo que requieren conjuntos de habilidades muy diferentes.

Los formatos de archivo A/V no son muy diferentes de cualquier otro formato de archivo, que a su vez son solo formal grammars. El análisis, la validación y los gráficos de objetos resultantes no son conceptualmente diferentes de cualquier otra gramática, y en la práctica, tienden a ser mucho más simples que las gramáticas que se encuentran en un currículo estándar de CS (compiladores, autómatas finitos). El AVI file format es una especie de anticuado en este punto, pero todavía recomiendo empezar allí porque:

  • muchos de los formatos más complejos de hoy se parecen a AVI en su totalidad o en parte, o, como mínimo, suponemos que está familiarizado con su estructuras básicas
  • AVI es un miembro de una familia más amplia de formatos multimedia conocidos como RIFF, que usted encontrará utilizado en muchos otros lugares such as WAVs

Codecs, por su parte, son algunos de los algoritmos más complejos que' es probable que se encuentre entre el software "consumidor". Se basan en gran medida en los avances tanto en la comunidad académica como en el R & D brazos de grandes corporaciones (incluidas sus vastas bibliotecas de patentes).Para ser competentes en los códecs que necesita saber los por lo menos los conceptos básicos de:

Si ya tiene un fondo decente (por ejemplo, usted ha tomado uno o dos niveles de grado "matemáticas para los ingenieros" -tipo de clases) entonces digo derecho de buceo. Muchos de los mejores A/V codecs son de código abierto:

  • x264 (MPEG-4 parte 10, también conocido como AVC)
  • LAME (MPEG-1 capa 3, también conocido como mp3)
  • Xvid (MPEG-4 parte 2, el mismo como Divx y muchos otros)
  • Vorbis (alternativa, códec de audio libre de patentes)
  • Dirac (alternativa, el códec de vídeo libre de patentes sobre la base de una transformada wavelet)
9

En general, la compresión de vídeo se refiere a tirar toda la información posible mientras que tiene un efecto mínimo en la experiencia de visualización para un usuario final. Por ejemplo, el uso de YUV submuestreado en lugar de RGB reduce el tamaño de video a la mitad directamente. Esto es posible ya que el ojo humano es menos sensible al color que al brillo. En YUV, el valor Y es el brillo, y los valores U y V representan el color. Por lo tanto, puede descartar parte de la información de color que reduce el tamaño del archivo, sin que el espectador note ninguna diferencia.

Después de eso, la mayoría de las técnicas de compresión aprovechan 2 redundancias en particular. El primero es redundancia temporal y el segundo es redundancia espacial.

Redundancia temporal observa que los fotogramas sucesivos en una secuencia de video son muy similares. Normalmente, un video sería del orden de 20-30 fotogramas por segundo, y nada cambia en 1/30 de segundo. Tome cualquier DVD y deténgalo, muévalo en un cuadro y observe lo similares que son las 2 imágenes.Así, en lugar de codificar cada trama de forma independiente, MPEG-4 (y otros estándares de compresión), sólo codifican la diferencia entre cuadros sucesivos (usando motion estimation para encontrar la diferencia entre imágenes)

Redundancia espacial se aprovecha del hecho de que en En general, el color que se extiende a través de las imágenes tiende a ser de baja frecuencia. Con esto quiero decir que los píxeles vecinos tienden a tener colores similares. Por ejemplo, en una imagen tuya con un jumper rojo, todos los píxeles que representan tu jumper tendrán un color muy similar. Es posible usar el DCT para transformar los valores de píxel en el espacio de frecuencia, donde se puede descartar cierta información de baja frecuencia. Luego, cuando se realiza la DCT inversa (durante la decodificación), la imagen ahora está sin la información de baja frecuencia desechada.

Para ver los efectos de tirar esta información, abra MS paint y dibuje una serie de líneas negras horizontales y verticales superpuestas. Guarde la imagen como JPEG (que también usa DCT para la compresión). Ahora amplíe el patrón, observe cómo los bordes de las líneas ya no son tan nítidos y están un poco borrosos. Esto se debe a que parte de la información (la transición de negro a blanco) se descartó durante la compresión. Lea this para obtener una explicación con buenas imágenes

Para obtener más información, this book es bastante bueno, aunque un poco pesado en las matemáticas.

Cuestiones relacionadas