Если быть более точным, чем в названии, предположим, что у меня есть файл MP3, который составляет 320 кбит / с. Если я распакую его, то, по логике, все данные, кроме примерно 320 килобит из каждой секунды аудио, должны быть избыточными данными, которые можно сжать. Итак, когда я кодирую распакованный файл в FLAC или любой другой кодек без потерь, почему он намного больше?
Относительно примечания, теоретически возможно ли восстановить без потерь исходный mp3-файл из распакованного wav-файла? (Я знаю, что сам mp3 с потерями. Я спрашиваю, можно ли перекодировать без каких-либо дополнительных потерь.)
РЕДАКТИРОВАТЬ: Позвольте мне уточнить связанный вопрос, и обоснование этого. Предположим, у меня есть файл wav, который был распакован из файла MP3 (и по какой-то причине у меня нет самого mp3). Если я не хочу больше терять качество, я могу перекодировать его с помощью FLAC или любого другого кодера без потерь и получить файл большего размера, чтобы сохранить то же качество. Или я могу снова перекодировать его в mp3 и получить тот же размер, что и оригинал, но потерять больше данных. Очевидно, что ни один из этих случаев не идеален. У меня может быть как оригинальный размер, так и оригинальное качество, но не оба (я имею в виду качество оригинального mp3, а не оригинального источника без потерь). Мой вопрос: можем ли мы получить оба? Возможно ли теоретически восстановить сжатые с потерями данные из распакованных данных с потерями, не теряя еще больше?
Если это возможно, я мог бы представить алгоритм сжатия без потерь, который сжимает звук с помощью FLAC. Затем он также сканирует звук на наличие признаков предыдущего сжатия с потерями и при обнаружении повторно сжимает его без потерь в исходный файл с потерями. Затем он сохраняет тот файл, который меньше.
источник
Ответы:
Причина, по которой FLAC больше, чем MP3 тех же данных, заключается в том, что они кодируются по-разному. :) MP3 просто кодирует воспринимаемую информацию, в то время как FLAC хранит каждую частичку данных, только в более компактном формате.
Точно так же, MP3 просто хранит инструкции для генерации пульсаций, которые при сложении звучат как оригинал. Но разница между истинным сигналом и генерируемым сигналом (сигналом ошибки) состоит из случайных шумовых артефактов, таких как JPEG неровности . Когда вы затем сохраняете это в перфекционистском формате, таком как FLAC, в нем должны храниться все эти неровности, и случайный шум труднее сжать без потерь, поэтому он увеличивает размер файла. (Поистине случайный шум несжимаем. Когда вы сжимаете файл без потерь, вы устраняете избыточные повторяющиеся шаблоны и делаете его больше похожим на случайный шум.)
Бьюсь об заклад, если вы конвертируете JPEG в PNG, вы увидите такое же увеличение размера, какое вы видите при конвертации MP3 в FLAC, поскольку перфекционистский кодек без потерь должен помнить каждый маленький зазубрины и артефакты, которых не было в оригинальном bmp.
Эта аналогия не идеальна, поскольку звук больше похож на фотографию, чем на линейную диаграмму, но он помогает донести идею:
Оригинальный размер BMP: 29 кБ
Размер PNG: 629 B
Размер JPEG: 1,7 кБ
PNG создан из JPEG: 6,2 кБ
источник
Когда вы декодируете MP3, независимо от того, какой битрейт, вы получаете стандартный звук PCM 1411 кбит / с / 44100 Гц (или независимо от источника), который имеет все заметные и незаметные эффекты процесса кодирования с потерями, этот формат необходим для воспроизведения и кодирование / перекодирование, любой файл любого кодека распаковывается при его воспроизведении на компьютере, MP3-плеере и т. д.
Кодировщик FLAC не заботится о том, исходит ли сжатый звук из декодированного MP3 или с нового компакт-диска, он просто уменьшит размер исходного файла без каких-либо изменений в аудиоданных, делая возможным полное восстановление источника, процесс без потерь.
Файл FLAC, созданный из MP3, будет звучать точно так же, как MP3, файл FLAC, созданный из дорожки CD, будет звучать точно так же, как CD.
источник
Чтобы ответить на вторую часть, если вы преобразуете обратно в формат WAV из MP3, а затем выбираете кодировщик без потерь, у вас должен быть файл идентичного качества, когда вы закончите.
Что касается того, почему FLAC больше, чем MP3, вы берете один из более сжатых форматов, распаковываете его, а затем повторно сжимаете в менее эффективный инструмент сжатия (хотя и с более высоким качеством воспроизведения).
Это все равно, что спросить, почему преобразование JPG в PNG делает его больше - вы [частично] распаковываете файл, а затем повторно сжимаете без потерь. FLAC, как и PNG, оптимизирован не для пространства , а для качества .
источник
Для mp3 требуется, чтобы декодер был пригоден для воспроизведения, результатом которого является аппроксимация исходной дорожки (обычно с компакт-диска), поэтому декодер добавляет данные, чтобы сделать ее воспроизводимой (и это не бессмысленные данные). Полученное приближение получило тот же битрейт, что и исходная дорожка. Без декодирования mp3 информация не имеет смысла, поэтому не может быть преобразована во что-либо еще (если только не очень похожее кодирование, например, стерео-mp3 в 2X моно-mp3). И FLAC и mp3 даже близко не похожи. При декодировании FLAC результат не является аппроксимацией оригинальных данных, закодированных в FLAC, но он точно такой же.
источник