Kodek
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.
[rediger]
Av engelsk: codec, som er en sammentrekning av coder/decoder
Datakompresjon med tap [rediger]
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]
- 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).