Um genauer zu sein als im Titel, nehmen wir an, ich habe eine MP3-Datei mit 320 kbps. Wenn ich es dekomprimiere, sollten logischerweise alle Daten mit Ausnahme von ungefähr 320 Kilobit pro Sekunde Audio redundante Daten sein, die wegkomprimiert werden können. Wenn ich die dekomprimierte Datei in FLAC oder einen anderen verlustfreien Codec codiere, warum ist sie dann so viel größer?
Ist es theoretisch möglich, die MP3-Audioquelle von einem dekomprimierten WAV verlustfrei wiederherzustellen? (Ich weiß, dass die MP3 selbst verlustbehaftet ist. Ich frage, ob es möglich ist, ohne weiteren Verlust neu zu codieren .)
EDIT: Lassen Sie mich die verwandte Frage und die Gründe dahinter klären. Angenommen, ich habe eine WAV, die aus einer MP3-Datei dekomprimiert wurde (und nehme an, ich habe die MP3 selbst aus irgendeinem Grund nicht). Wenn ich keine Qualität mehr verlieren möchte, kann ich sie mit FLAC oder einem anderen verlustfreien Encoder neu codieren und eine größere Datei erhalten, um die gleiche Qualität beizubehalten . Oder ich kann es erneut in MP3 kodieren und dieselbe Größe wie das Original erhalten, aber mehr Daten verlieren. Offensichtlich ist keiner dieser Fälle ideal. Ich kann entweder die Originalgröße oder die Originalqualität haben, aber nicht beide (ich meine die Qualität der Original-MP3, nicht die der verlustfreien Originalquelle). Meine Frage ist: Können wir beides bekommen? Ist es theoretisch möglich, die verlustbehafteten komprimierten Daten aus den verlustbehafteten dekomprimierten Daten wiederherzustellen, ohne noch mehr zu verlieren?
Wenn es möglich ist, könnte ich mir einen verlustfreien Kompressionsalgorithmus vorstellen, der das Audio mit FLAC komprimiert. Anschließend wird das Audio auch auf Anzeichen einer früheren verlustbehafteten Komprimierung überprüft und bei Erkennung verlustfrei in die ursprüngliche verlustbehaftete Datei komprimiert. Dann bleibt die jeweils kleinere Datei erhalten.
quelle
Antworten:
Der Grund dafür, dass der FLAC größer ist als der MP3-Wert derselben Daten, liegt darin, dass sie unterschiedlich codiert sind. :) MP3 kodiert nur Wahrnehmungsinformationen, während FLAC jeden einzelnen Datenpunkt in einem kompakteren Format speichert.
In ähnlicher Weise speichert MP3 nur Anweisungen zum Erzeugen von Wellen, die, wenn sie zusammengefügt werden, dem Original ähneln. Der Unterschied zwischen dem echten Signal und dem erzeugten Signal (dem Fehlersignal) besteht jedoch in zufälligen verrauschten Artefakten wie JPEG-Zacken . Wenn Sie dies dann in einem perfektionistischen Format wie FLAC speichern, müssen all diese Unebenheiten gespeichert werden, und es ist schwieriger, zufälliges Rauschen verlustfrei zu komprimieren, sodass die Datei größer wird. (Wirklich zufälliges Rauschen ist nicht komprimierbar. Wenn Sie eine Datei verlustfrei komprimieren, beseitigen Sie redundante Wiederholungsmuster und lassen sie eher wie zufälliges Rauschen aussehen.)
Ich wette, wenn Sie JPEG in PNG konvertieren, werden Sie die gleiche Vergrößerung wie beim Konvertieren von MP3 in FLAC bemerken, da der verlustfreie Perfektionisten-Codec sich jedes kleine zackige Artefakt merken muss, das nicht im Original-BMP enthalten war.
Diese Analogie ist nicht perfekt, da Audio eher wie ein Foto als ein Liniendiagramm ist, aber es hilft, die Idee zu vermitteln:
Ursprüngliche BMP-Größe: 29 kB
PNG-Größe: 629 B
JPEG-Größe: 1,7 kB
Aus JPEG erstelltes PNG: 6,2 kB
quelle
Wenn Sie eine MP3-Datei dekodieren, unabhängig von der Bitrate, erhalten Sie Standard-PCM-Audio mit 1411 kbit / s / 44100 Hz und 16 Bit (oder unabhängig von der Quelle), das alle wahrnehmbaren und nicht wahrnehmbaren Auswirkungen des verlustbehafteten Kodierungsprozesses aufweist. Dieses Format ist für die Wiedergabe und Wiedergabe erforderlich Beim Codieren / Neucodieren werden alle Dateien eines Codecs dekomprimiert, wenn Sie sie auf Ihrem Computer, MP3-Player usw. wiedergeben.
Dem FLAC-Encoder ist es egal, ob das komprimierte Audio von einer dekodierten MP3-Datei oder einer brandneuen CD stammt. Er reduziert einfach die Größe der Quelldatei, ohne die Audiodaten zu ändern, wodurch eine vollständige Wiederherstellung der Quelle möglich wird. ein verlustfreier Prozess.
Eine FLAC-Datei aus einer MP3-Datei klingt genauso wie die MP3-Datei, eine FLAC-Datei aus einem CD-Track genauso wie die CD.
quelle
Zur Beantwortung Teil zwei, wenn Sie in eine WAV vom MP3 konvertieren zurück, dann ein lossless Encoder wählen, Sie sollten eine identische Qualität Datei, wenn Sie fertig sind.
Um festzustellen, warum der FLAC größer ist als der MP3-Player, verwenden Sie eines der stärker komprimierten Formate, dekomprimieren es und komprimieren es dann mit einem weniger effizienten Komprimierungsprogramm (allerdings mit einer höheren Wiedergabequalität).
Es ist wie zu fragen, warum das Konvertieren einer JPG in eine PNG größer wird - Sie dekomprimieren die Datei [teilweise] und komprimieren sie dann auf verlustfreie Weise erneut. FLAC ist wie PNG nicht für den Speicherplatz optimiert , sondern für die Qualität .
quelle
mp3 setzt voraus, dass ein Decoder abspielbar ist. Das Ergebnis des Decoders ist eine Annäherung an den Original-Track (normalerweise von einer CD). Der Decoder fügt also Daten hinzu, um ihn abspielbar zu machen (und dies sind keine Unsinnsdaten). Die resultierende Annäherung hat die gleiche Bitrate wie die ursprüngliche Spur. Ohne die Dekodierung des MP3s ergeben die Informationen keinen Sinn, können also nicht in etwas anderes konvertiert werden (es sei denn, die Kodierung ist sehr ähnlich, wie Stereo-MP3 zu 2X Mono-MP3). Und FLAC und MP3 ist nicht einmal annähernd ähnlich. Beim Dekodieren eines FLAC ist das Ergebnis keine Annäherung an die in FLAC kodierten Originaldaten, aber es ist genau dasselbe.
quelle