Kodek

Fra Wikipedia, den frie encyklopedi
Gå til: navigasjon, søk

En kodek er en algoritme som kan kode (transformere) informasjon om til en annen representasjon (transform) og/eller dekode (inverstransformere) transformen, det vil si utvinne den opprinnelige informasjonen. Den mest vanlige bruken av ordet er i forbindelse med datakompresjon, hvor formålet med transformen enten er å skille ut uviktig informasjon (kompresjon med tap), eller å øke den spesifikke entropien (tapsløs kompresjon). I en annen betydning kan en kodek være en maskinvareenhet som transformerer signaler mellom forskjellige fysiske representasjoner, eksempelvis mellom analog og digital lyd.

Navn[rediger | rediger kilde]

Av engelsk: codec, som er en sammentrekning av coder/decoder

Datakompresjon med tap[rediger | rediger kilde]

En vanlig måte å komprimere bilder og lyd er å transformere signalet til frekvensdomenet og så velge ut de viktigste frekvenskomponentene. Følgende algoritmer baserer seg på dette prinsippet:

Tapsfri datakompresjon[rediger | rediger kilde]

  • Det siste steget i tapsfri kompresjon er entropikoding. Huffman-algoritmen er et klassisk eksempel på dette.
  • Ofte kan signalet optimaliseres for entropikoding først. Dette kan omfatte å erstatte faktiske verdier med differansen fra en prediktor (som i FLAC), referere tilbake på tidligere signalforløp (som i Lempel-Ziv), eller å samle like data ved å stokke det om på en reverserbar måte (som i rzip).