www.wikidata.de-de.nina.az
Das Interchange File Format IFF wurde 1985 von der Firma Electronic Arts als Standard Dateiformat in ihren Produkten eingefuhrt Es handelt sich dabei eigentlich um eine ganze Familie von Dateiformaten die sich durch die gemeinsame TLV Struktur Abk fur Type Length Value auszeichnen Das wohl bekannteste ist IFF ILBM ein planares Bitmap Grafikformat ursprunglich nur fur 8 Bit spater auf 24 32 Bit erweitert das auf Amiga Rechnern benutzt wird Das Malprogramm Deluxe Paint trug wesentlich zur Verbreitung des Formats bei Seit Deluxe Paint neben Atari ST auch fur IBM PC portiert wurde fand auch das IFF Format eine neue Heimat und weitere Verbreitung auf PCs wird meistens die Dateiendung LBM benutzt Ein ahnlich bekanntes IFF Dateiformat ist AIFF das auf Macintoshs haufigste Format fur unkomprimierte Audio Dateien Microsoft kopierte das Prinzip der IFF Dateien organisierte die Byte Reihenfolge Endianness der Daten darin im Gegensatz zum Original von Big Endian nach Little Endian und nannte das Ergebnis RIFF Das bekannteste RIFF Format ist wahrscheinlich RIFF WAVE auch bekannt als wav Auch andere Formate wie das von Aldus Adobe entwickelte TIFF Format oder das damit verwandte Exif besitzen eine flexible Dateistruktur hier auf Basis von sogenannten Tags Diese Struktur resultiert ebenfalls in von der Grosse her frei definierbaren Datenblocken die interne Dateiorganisation ist jedoch eine vollkommen andere und eher mit einem Dateisystem wie FAT vergleichbar bestehend aus einem tabellarischen Verzeichnis von Tags die Werte oder Offsets zu Werten enthalten Inhaltsverzeichnis 1 Struktur 1 1 Standard Chunks 1 2 Einige IFF Formate 1 3 Vollstandige Format und Chunkliste 2 ILBM Format 2 1 BMHD Chunk 2 2 CMAP Chunk 2 3 CRNG und CCRT Chunk 2 4 CAMG Chunk 2 5 ICCP ICCN GAMA CHRM Chunks 2 6 Exif IPTC XMP0 XMP1 ICC GEOT 2 7 BODY Chunk 2 8 Kompression 2 9 Erweiterungen spezielle Chunks 2 9 1 CTBL Chunk 2 9 2 SHAM Chunk 2 9 3 PCHG Chunk 3 Weblinks 4 EinzelnachweiseStruktur BearbeitenIFF Dateien beginnen in der Regel mit dem FourCC Abk fur Four Character Code FORM gefolgt von einem aus vier Bytes geformten Langwort das die Lange der gesamten Datei ohne diese ersten acht Bytes beinhaltet Darauf folgt wieder ein FourCC der den eigentlichen Dateityp angibt Ein noch allgemeinerer Dateityp beginnt mit dem FourCC CAT mit Leerzeichen am Ende fur Catalog dt etwa Liste Zusammenstellung der eine Reihe von FORM Datensatzen wie sie hier beschrieben werden hintereinander enthalt Damit konnen auch vollig verschiedene Arten von Daten wie Audio Animation und Einzelbilder in einer einzigen Datei zusammengefasst werden also ein Container Format nach heutiger Sprachregelung Der weitere Dateiinhalt ist in sogenannte Chunks engl Stuck Klotz Klumpen aufgeteilt die jeweils aus einem FourCC einem 32 Bit Wort Chunk Lange und den eigentlichen Daten des Chunks bestehen Wie der Inhalt eines Chunks strukturiert ist hangt von seinem Typ ab Es existieren einige Standard Chunks die in jeder IFF Datei vorkommen konnen andere sind in mehreren oder auch nur einem einzigen Dateityp zulassig Alle Langworte im IFF Format sind big endian das hochstwertige Byte kommt also zuerst wie es auf dem 68000 Prozessor ublich ist Chunks die eine ungerade Lange haben werden grundsatzlich mit einem Fullbyte versehen das nicht in der Langenangabe des Chunks mitgezahlt wird Padding Der Grund hierfur ist dass der Speicher des 68000 in Worten organisiert war und keine Wort oder Langworte von ungeraden Adressen gelesen werden konnten davon abgesehen ist auch mit neueren CPUs die Verarbeitung von Daten im Speicher schneller wenn sie an 16 bzw 32 Bit Grenzen ausgerichtet sind Standard Chunks Bearbeiten AUTH beinhaltet Informationen uber den Autor der Datei ANNO enthalt meist den Namen des Programms mit dem die Datei erstellt wurde NAME beschreibt den Namen des in der Datei gespeicherten Werkes VERS die Version der Datei c Copyright Informationen mit einem Leerzeichen hinter der schliessenden Klammer Einige IFF Formate Bearbeiten ILBM Interleaved Bit Map am haufigsten genutztes Amiga Grafik Format RLE Kompression PBM Wird von Deluxe Paint IIe PC Version zur Speicherung von 256 Farben Bildern genutzt RLE Kompression ACBM Amiga Continuous Bit Map wie ILBM aber die Bilddaten liegen nicht interleaved vor RLE Kompression RGBN Impulse s Silver and Turbo Silver 12 Bit RGB Format RGB8 Impulse s Silver and Turbo Silver 24 Bit RGB Format RGFX SView5 256 Farben und 24 bis 96 Bit RGB Format HDR XPK oder ZIP LZ77 Kompression 8SVX Amiga Audio unkomprimiert opt Fibonacci Delta komprimiert 8 Bit Kanale einzeln AIFF Macintosh Audio 8 bis 32 Bit beliebig viele Kanale ANIM Animationen unter anderem verwendet von Deluxe Paint DR2D Vektorgraphik FTXT Text SHRI SHRINK Kompression einer der starksten Datenkompressionsalgorithmen der XPKmaster library unter AmigaOS vergleichbar mit LZ77 SMUS Musik Sequenzen ahnlich den MIDI Files WORD Dokumentformat des Amiga Textprogramms ProWrite META Allgemeiner Container fur Metadaten AUTH ANNO NAME Exif XMP0 XMP1 ICC GeoT IFF etc Vollstandige Format und Chunkliste Bearbeiten Eine Liste aller Chunks IDs ist bei amigaos net verfugbar 1 Sie enthalt nicht alle Dritterweiterungen die teilweise gesondert spezifiziert wurden siehe Links am Ende der Seite ILBM Format BearbeitenDas ILBM Format engl InterLeaved BitMap ist das am haufigsten verwendete IFF Format Die Bilder konnen theoretisch in fast allen Farbtiefen gespeichert werden Die gebrauchlichsten sind 1 bis 8 Bit 2 bis 256 Farben 24 Bit 3 8 Bit 16 8 Mio Farben 32 Bit 3 8 Bit 16 8 Mio Farben mit Alphakanal 48 Bit 3 16 Bit HDR 64 Bit 3 16 Bit HDR mit Alphakanal EHB Extra HalfBright 64 Farben HAM Hold And Modify 4096 Farben HAM8 Hold And Modify AGA 262144 Farben Um ein Bild darstellen zu konnen muss zunachst der richtige Farb bzw Darstellungsmodus ermittelt werden Dazu benotigt man neben der Anzahl der Planes BMHD Chunk auch die Anzahl der Farben CMAP Chunk Hat man den Farbmodus bestimmt weiss man wie die im BODY Chunk abgelegten Bilddaten zu interpretieren sind Hilfreich ist es auch wenn ein CAMG Chunk vorhanden ist Da sich die Technik seit der Entwicklung von IFF ILBM stetig weiterentwickelt hat sind ausserdem Anforderungen hinzugekommen die es notig machen weitergehende Farbprofil Informationen zu transportieren Gamma Chromatizitat ICC Farbprofile fur Color Management Hierfur wurden Erweiterungen von dritter Seite definiert die zur korrekten Interpretation von Bilddaten ebenfalls notig sein konnen GAMA CHRM ICCP Chunks Farbmode Bitplanes Farbpalette1 8 Bit 1 8 2 256 RGB Triplets in CMAP24 Bit 24 CMAP nicht vorhanden 3 8 Bit Truecolor32 Bit 32 CMAP nicht vorhanden 4 8 Bit Truecolor48 Bit 48 CMAP nicht vorhanden 3 16 Bit Truecolor64 Bit 64 CMAP nicht vorhanden 4 16 Bit TruecolorEHB 6 32 RGB Triplets in CMAPHAM 6 16 RGB Triplets in CMAPHAM8 8 64 RGB Triplets in CMAPInnerhalb eines FORM Chunks sind folgende wichtige Chunks zu finden BMHD Chunk Bearbeiten Der BMHD Chunk BitMap HeaDer enthalt Informationen uber das gespeicherte Bild Zum Beispiel Breite und Hohe des Bildes in Pixel Anzahl der Bitplanes KompressionCMAP Chunk Bearbeiten optionalDer CMAP Chunk Color MAP stellt die Farbpalette auch CLUT bereit Dieser Chunk ist in 24 32 48 64 Bit IFF Bildern nicht vorhanden Jeder Eintrag der Farbpalette besteht aus drei Bytes die die RGB Werte reprasentieren Die Anzahl der Farben wird bestimmt indem man die Chunk Lange durch drei teilt Beispiel CMAP Kennung 00 00 00 C0 Lange des Chunks 192 Byte gt 64 Farben 04 04 00 1 Farbwert FB E7 EB 2 Farbwert 10 10 08 64 Farbwert CRNG und CCRT Chunk Bearbeiten optionalSowohl der CRNG Color register RaNGe als auch der CCRT Chunk Color Cycling Range and Timing legen die Daten fur das Color Cycling fest siehe Indizierte Farben Mit diesem Mittel sind einfache Animationen darstellbar die die Grafikhardware extrem gering belasten Die beiden Chunk Formate sind unterschiedlich aufgebaut und kommen normalerweise nicht beide in derselben Datei vor Dieser Chunk ist in 24 32 48 64 Bit IFF Bildern nicht vorhanden da auch ein CMAP Chunk vorangehend erforderlich ist In den Chunks finden sich Angaben von welcher Farbnummer bis zu welcher anderen ein zu animierender Farbbereich reichen soll Zusatzlich wird die Pausenlange zwischen den einzelnen Zyklen in Sekunden und Mikrosekunden angegeben Eine Datei kann auch mehrere solcher Color Cycling Chunks enthalten so dass verschiedene Bereiche der Farbpalette gleichzeitig und sogar mit verschiedenen Geschwindigkeiten animiert werden konnen CAMG Chunk Bearbeiten optionalDer CAMG Chunk Commdore AMiGa enthalt den Amiga spezifischen Darstellungsmodus Dieser Chunk enthalt nur einen 32 Bit Wert mit dem Darstellungsmodus Der Amiga kann diesen Wert direkt verarbeiten es ist direkt der Inhalt eines Hardwaresteuerregisters seines Chipsatzes andere Systeme konnen ihn benutzen um den Darstellungsmodus zu identifizieren ICCP ICCN GAMA CHRM Chunks Bearbeiten optionalDiese Chunks entsprechen inhaltlich den gleichnamigen Chunks aus dem PNG Format bis auf den ersten Buchstaben der klein geschrieben ist und wurden von dritter Seite im ILBM64 Format 64 Bit Erweiterungen fur IFF ILBM definiert um Gamma Chromacity und ICC Farbprofilinformationen in IFF einbetten zu konnen Die Verwendung ist nicht auf ILBM beschrankt sondern gleichermassen mit anderen IFF Grafikformaten moglich Exif IPTC XMP0 XMP1 ICC GEOT Bearbeiten optionalDiese Chunks entsprechen inhaltlich in etwa den gleichnamigen Chunks bzw Markern aus dem JPEG JFIF PNG oder TIFF Format und dienen dazu Metadaten nach XMP Standard Exif Tags ICC Farbprofile GeoTIFF Daten oder IPTC Schlagworte in IFF Formaten abspeichern zu konnen Die Verwendung ist nicht auf IFF Grafikformate beschrankt sondern gleichermassen mit anderen IFF Formaten moglich Sie wurden von dritter Seite in den IFF META Erweiterungen definiert BODY Chunk Bearbeiten Der BODY Chunk enthalt die eigentlichen Bilddaten Diese konnen komprimiert oder unkomprimiert sein Die einzelnen Bitplanes liegen hierbei nicht hintereinander sondern ineinander verschachtelt engl interleaved vor Hierbei werden alle Bitplanes einer Bildzeile hintereinander gespeichert bevor mit der nachsten Bildzeile begonnen wird Die Anzahl der Bytes einer Bildzeile muss durch 8 teilbar sein Beispiel fur ein 8 Farben Bild 3 planes Zeile 0 Plane 0 Byte 0 Bits fur die ersten 8 Pixel Byte 1 Byte m Plane 1 Plane 2 Zeile 1 Plane 0 Plane 1 Plane 2 Zeile n Plane 0 Plane 1 Plane 2 Um den Paletteneintrag fur ein Pixel zu ermitteln werden die einzelnen Bits der Planes zu einem Index zusammengefasst Indexwert fur das Pixel an Bildposition 0 0 Index Bit Berechnung2 Plane 0 Byte 0 Bit 71 Plane 1 Byte 0 Bit 70 Plane 2 Byte 0 Bit 7Bei 24 32 48 64 Bit Bildern ist die Plane Reihenfolge stets R G B A Rot Grun Blau Alpha Kompression Bearbeiten Die Bilddaten innerhalb des BODY Chunks konnen unkomprimiert Typ 0 oder in gepackter Form vorliegen abhangig vom Compression Flag im BMHD Chunk Bei der Kompression kommt ein einfacher RLE run length encoding Algorithmus names CmpByteRun1 Typ 1 zum Einsatz der praktisch identisch zu ahnlichen Verfahren in PCX oder TIFF ist Spater definierte das AmigaOS in der Version V44 noch CmpByteRun2 Typ 2 was jedoch nicht dokumentiert wurde und daher allgemein ungebrauchlich ist Der CmpByteRun1 Encoder fasst identische Byte Werte innerhalb einer Bildzeile zusammen Die Kodierung stoppt am Ende jeder Bildzeile Die gepackten Bytes werden als zwei Byte Codes gespeichert Das erste Byte gibt den Typ der Komprimierung und die Anzahl an Wenn der Wert code im Bereich von 0 bis 127 unsigned liegt handelt es sich um ungepackte Daten Die folgenden code 1 Bytes werden einfach ins Bild kopiert Liegt der Wert code im Bereich von 1 bis 127 signed handelt es sich um gepackte Daten Dabei wird das auf den code folgende Byte code 1 mal wiederholt Ein Wert von 128 wird immer ignoriert Erweiterungen spezielle Chunks Bearbeiten Aufgrund der Beschrankungen bestimmter Kombinationen von Bildschirmauflosung und Farbtiefe wird versucht unter Zuhilfenahme des Coppers und dem Einsatz neuer Chunks die Farbtiefe kunstlich zu erhohen Dabei wird wahrend des Bildaufbaus standig die Palette verandert Die bekanntesten Formate sind Details folgen unten Dynamic Hires nicht HAM Bilder Palette mit CTBL Chunk Dynamic HAM oder DHAM HAM Bilder mit CTBL Chunk Sliced HAM oder SHAM HAM Bilder mit SHAM Chunk MultiPalette Bilder PCHG ChunkAll diese Erweiterungen sind ungebrauchlich da sehr Hardware abhangig Konventionelle HAM6 8 Dateien lassen sich dagegen einfach in andere ubliche Truecolor Bit Grafikformate konvertieren Dem Stand der Technik fur hohere Farbtiefen als 24 32 Bit entsprechen die 48 64 Bit Erweiterungen Damit sind HDR Darstellungen moglich 16 Bit pro Farbkanal CTBL Chunk Bearbeiten CTBL steht fur Color TaBLe Dieser Chunk enthalt von oben beginnend fur jede Zeile eine neue 16 Farb Palette Diese unterscheidet sich allerdings von der Palette im CMAP Chunk dadurch dass die Paletteneintrage nur 16 Bit und nicht wie ublich 24 Bit breit sind Pro Farbkomponente stehen 4 Bit zur Verfugung die obersten 4 Bit sind ungenutzt Chunk Lange geteilt durch 32 ergibt die Anzahl der im Chunk abgelegten Farbpaletten an Die Farbpaletten folgen dann direkt hintereinander jeweils 16 2 Byte 32 Byte Diese Erweiterung ist ungebrauchlich SHAM Chunk Bearbeiten SHAM steht fur Sliced HAM Dieser Chunk hat den gleichen Aufbau wie der CTBL Chunk Der einzige Unterschied sind zwei Bytes Versionsnummer am Anfang des Chunks die aber immer 0 sind Diese Erweiterung ist ungebrauchlich PCHG Chunk Bearbeiten PCHG steht fur Palette CHanGes Weblinks BearbeitenElectronic Arts IFF standard for Interchange File Format englisch IFF in den Digitalformaten der Library of Congress Collections englisch IFF FORM und Chunk Registrierung Memento vom 18 Marz 2006 im Internet Archive englisch IFF Memento vom 14 Juni 2004 im Internet Archive in Cool Intelligent Algorithms englisch IFF META Spezifikation ZIP 3 kB im Aminet englisch IFF ILBM 64 Bit Spezifikation ZIP 1 kB im Aminet englisch IFF RGFX Spezifikation ZIP 10 kB im Aminet englisch Einzelnachweise Bearbeiten Liste aller Chunks IDs Memento vom 9 April 2013 im Internet Archive Abgerufen von https de wikipedia org w index php title Interchange File Format amp oldid 210777437