Warum sind MP3-Bitraten in der Regel ein Vielfaches von 32? (Potenzen von 2)

6

Ich verstehe, warum ein Vielfaches von 2 wegen ihrer binären Natur bei Computern so häufig auftaucht, aber ich konnte die gängigsten MP3-Bitraten nicht ermitteln (64 kbps, 128 kbps, 160 kbps, 192 kbps, 256 kbps, 320 kbps usw.). neigen auch dazu, dieser Regel zu folgen.

  • Da es sich bei MP3s nur um sequenzielle Kodierungen von Schallwellen handelt, warum ist es wichtig, dass jede Sekunde mit einer Anzahl von Kilobits dargestellt wird, die durch 2 teilbar ist?
  • Lesen Musik-Player wie iTunes die Datei immer wieder und reproduzieren den verschlüsselten Sound, unabhängig davon, wo sich die zweiten Grenzen befinden, oder lesen sie die Datei Sekunde für Sekunde?
  • In einem späteren Fall würde das Lesen einer 256-KBit / s-Datei etwas weniger Seiten lesen als eine 257-KBit / s-Datei. Der Player konnte jedoch immer 256-Kilobit-Chunks lesen, unabhängig von der Bitrate, und diese schrittweise verarbeiten, oder?
  • Sind MP3s mit 128kbps beliebt, nur weil dies eine allgemein akzeptierte Bitrate ist, oder haben sie tatsächlich einen Vorteil gegenüber Dateien mit 126kbps und 131kbps außer einer sehr geringfügiger Qualitätsunterschied / Dateigröße?
Gordon Gustafson
quelle

Antworten:

8

Für die Codierung mit konstanter Bitrate (CBR) wird die MPEG-1 Audio Layer III-Standard gibt Standardbitraten von 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 und 320 kbit / s an. Es gibt andere, die im MPEG-2-Standard definiert sind, aber es sind auch alle Vielfache von 2 (eigentlich alle Vielfachen von 8 im Bereich von 8 bis 160 - siehe Tabelle mit der Bezeichnung "Bitrate-Index" in der Verknüpfung oben).

Technisch gesehen gibt es keine Beschränkung der Bitrate einer MP3-Datei auf ein Vielfaches von zwei, da die Codierung mit variabler Bitrate verwendet werden kann oder eine benutzerdefinierte Bitrate unter Verwendung einiger der nicht verwendeten Flags der MPEG-Spezifikation implementiert werden kann (obwohl dies erforderlich wäre manuell). Damit ein MP3 mit der MPEG-Spezifikation kompatibel ist und daher mit den meisten MP3-Decodern kompatibel ist, muss es eine Bitrate gemäß der Spezifikation aufweisen. Daher haben alle CBR-codierten MP3-Dateien eine Bitrate als Vielfaches von zwei.

Je nach Ressource kann VBR entweder durch Umschalten der Bitrate zwischen den festgelegten festen Raten pro Frame codiert werden, oder es kann codiert werden, indem die verfügbaren Bits in benachbarten Frames gemeinsam genutzt werden (wodurch sich für die beiden kombinierten Frames effektiv eine nicht standardmäßige Bitrate ergibt). . Die Länge eines gegebenen Frames ist mit 1152 Samples pro Frame von der Abtastrate abhängig. Es gibt weder Einschränkungen für die Größe eines Frames selbst, noch gibt es eine Einschränkung für die Größe eines Frame-2-Basismoduls (dh 128 kbit / s MP3 mit einer Abtastrate von 44,1 kHz haben eine Frame-Größe von 417 Bytes.) .


Schließlich klingt eine mit 126 kbps codierte Datei schlechter als eine mit 128 kbps, und eine mit 131 kbps klingt ebenfalls besser. jedoch , MP3s werden gemäß dem psychoakustischen Modell eines bestimmten Codierers für die Komprimierung codiert. Wie viel eine Datei bei einer bestimmten Bitrate "besser" oder "schlechter" klingt, hängt stark von den zur Implementierung des Modells verwendeten Algorithmen ab. Im Allgemeinen ermöglichen höhere Bitraten jedoch mehr Daten, was vermutlich einen genaueren Strom des Originals rekonstruiert Audiosignal.

Breakthrough
quelle
Ich vermute stark, dass der MPEG-Standard ein Vielfaches von zwei festlegt, weil Binärcomputer oft die Mathematik optimieren können, sowohl als auch als auch als Programmierer.
martineau
Das ist irgendwie eine Frage der Frage. Denken Sie nicht, dass es einen mathematischen / arithmetischen Grund für die gewählten Bitraten gibt? Oder ist das Vorhandensein von VBR allein der Beweis, dass es keine Einschränkung für mögliche Bitraten gibt?
slhck
@slhck Ich habe gerade die Antwort aktualisiert, um weitere relevante Details bereitzustellen. Bitte lassen Sie mich wissen, ob dies alles beantwortet.
Breakthrough
1

MPEG 1 Layer-III (mp3) -Dateien sind ein Stream von Frames.

Diese Web-Seite e beschreibt die Datenstruktur eines Frames.

Wie Sie sehen, wurden nur 4 Bits zur Bestimmung der Bitrate zugewiesen. Beim Entwerfen eines Formats für etwas, das in Echtzeit gestreamt werden soll, möchten Sie nicht mehr Platz verschwenden, als die Beschreibung des Streams zu beschreiben.

Ich weiß nicht genau, warum 4 Bit ein guter Kompromiss zwischen dem verbrauchten Speicherplatz und der "Bitratenauflösung" waren - und was die gewählten Raten anbelangt, wurden sie wahrscheinlich nach den von den Ingenieuren als akzeptabel eingestuften niedrigsten und höchsten Qualitätsbereichen für das System ausgewählt MP3-Algorithmus.

Wahrscheinlich lesen die meisten MP3-Player zu einem Zeitpunkt in einem Frame und versuchen, mindestens einen Frame "voraus" zu puffern, während der aktuelle decodiert / abgespielt wird.

Die Größe des Frames und wahrscheinlich des für den RAM zugewiesenen RAMs lautet wie folgt:

  • FrameSize = 144 * BitRate / SampleRate wenn das Auffüllbit gelöscht ist.
  • FrameSize = (144 * BitRate / SampleRate) + 1 wenn das Auffüllbit gesetzt ist.

Höhere Bitraten / Samplerates = mehr RAM erforderlich.

128 Kbps sind wahrscheinlich beliebt, da dies bei vielen Encodern die Standardeinstellung ist.

Außerdem hat mir ein Kollege in einer Diskussion einige Einblicke dazu gegeben: 128 Kbps bedeuten auch ungefähr "Mega-Minute" (allerdings nicht bestätigt) - haben vielleicht auch etwas damit zu tun.

LawrenceC
quelle
0

Beim Aufzeichnen der "Rohdaten" werden die Daten zur Pufferung in Blöcke aufgeteilt. Diese Blöcke werden offensichtlich Zweiergruppen sein. Konzeptionell ist es am einfachsten, wenn es eine ganze Zahl von Blöcken pro Sekunde gibt.

Daniel R Hicks
quelle