Beim Schreiben von Daten auf eine CD (Audio-CD, CD-ROM, ...) wird zusätzlich zu den reinen Nutzdaten und den Paritätsbytes des CIRC ein sogenannter Subcode eingebettet, der Informationen zum Auslesen der Daten durch CD-Abspielgeräte beinhaltet. Solche Daten umfassen je nach CD-Standard z.B. Inhaltsverzeichnisse, Spielzeiten, Titelmarken, Indexmarken, ISRC, Text (Titelnamen, Liedtexte), MIDI-Daten und sogar Grafiken.
Auf einer CD sind 14 von 588 Kanalbits je Frame, also 8/588 = 1,36 % des Datenträgers für den Subcode reserviert. Genau 1 Datenbyte pro Frame mit 24 Datenbytes Nutzdaten, also 98 Bytes Subcode pro Sektor. Jedes Byte dieses Datenstromes wird in 8 verschiedene Kanäle aufgeteilt, die mit den Großbuchstaben P, Q, R, S, T, U, V und W bezeichnet sind. CD-Abspielgeräte ignorieren einfach die Kanäle, die sie nicht unterstützen.
Subcode-Kanäle:
Aufbau von Q Kanal: S0-Bit + S1-Bit + ControlBits(4) + Adr.Bits(4) + Datenbits(72) + CRC-Bits(16)
- S0,S1 Bit: Synchronisation für die Sub-Code Demodulation - Contr.Bits: Pre-Emphasis (aufnahmeseitige Höhenanhebung); Anzahl Audiokanäle ~Bit 1: 0 für 2 Kanal und 1 für 4 Kanäle ~Bit 2: nicht definiert ~Bit 3: 0 für Kopierschutz und 1 für Kopie erlaubt ~Bit 4: 0 für Pre-Emphasis aus und 1 für ein - Adr.Bits: Angabe wie Datenbits zu interpretieren sind ~Mod 1 (0001): Angebe über Anzahl der Müsikstücke, Indizierung und Laufzeit ~Mod 2 (0010): Angabe über Katalogisierung der CD ~Mod 3 (0011): Identifizierung (z.B. ISRC) - CRC zur Fehlerkorrektur