Por que a conversão de um MP3 para WAV (PCM) é sem perdas?

6

Eu entendo que ao converter entre formatos de áudio onde nenhuma codificação de fluxo está envolvida, como na conversão entre WAV (PCM), AIFF, FLAC, ALAC, WMA Lossless e etc, o processo é geralmente sem perdas, porque o fluxo de áudio PCM é apenas sendo copiado para o novo contêiner. Dependendo do tipo de contêiner, ele pode ser executado por meio de um algoritmo de compactação para economizar espaço, mas ainda é um dado idêntico bit a bit. Você também pode fazer a mesma coisa com um arquivo MP4 (AAC), copiando o fluxo de áudio AAC em um arquivo contêiner MKA; é tudo sem perdas, porque não há re-codificação do fluxo de áudio.

Eu entendo que ao converter entre formatos como o WAV listado anteriormente (PCM), ALAC, FLAC e etc para um formato que não suporta a codificação do fluxo de áudio, a conversão deve envolver recodificação. Por exemplo, ao converter para formatos como MP3, MP4 (AAC), OGG (Vorbis), WMA com perdas e etc., o fluxo de áudio de origem está sendo recodificado e, como tal, os dados estão sendo descartados. O novo arquivo será de pior qualidade.

O que eu não consigo entender é por que a conversão de MP3 para WAV (PCM) é sem perdas (ou ALAC, FLAC, etc). O fluxo de áudio é recodificado, então o novo fluxo de áudio não poderia ser de pior qualidade que o fluxo de áudio do MP3? Me ilumine.

    
por Robin Hood 03.12.2014 / 08:32

2 respostas

9

PCM é um dos codecs de áudio mais usados; a maioria dos computadores (assim como muitos dispositivos) usam como seu padrão para saída / entrada de áudio. Todo o áudio ouvido neste dispositivo, seja de um arquivo ou uma entrada de microfone, é em PCM, e que é usado para regenerar uma aproximação do original sons analógicos.

Quando você faz uma gravação de áudio digital usando um microfone em um sistema que está usando o PCM para áudio saída / entrada, o fluxo de áudio é PCM. Quando você salva a gravação sem perdas como WAV, FLAC, WMA Lossless, ALAC, AIFF e etc, não há processo de codificação, o fluxo de áudio é apenas colocado para o novo arquivo contêiner, ainda é o fluxo PCM seu sistema interpretado a partir do analógico sons do mundo real.

Os formatos sem perdas podem ser divididos em dois tipos: compactados e descompactados. Formatos não compactados como WAV e AIFF apenas armazenam o fluxo de áudio PCM. Formatos compactados como FLAC, ALAC e WMA Sem perdas, execute os dados do fluxo por meio de um algoritmo de compactação para economizar espaço, como um arquivo zip. Os dados não são alterados, são apenas armazenados de forma mais eficiente; ainda é codificado como PCM.

Se você pegar a exportação sem perdas e convertê-la em um MP3 de 128 kbps, haverá recodificação envolvida. Codificar significa organizar os dados do fluxo de áudio de uma nova maneira; Este é um processo sem perdas. Contudo, não há codecs que eu saiba que façam isso, porque seria inútil. O arquivo seria o mesmo som, a reprodução exigiria que o áudio fosse decodificado, o que significa que mais recursos do sistema são necessário, e seria do mesmo tamanho que o arquivo original. Portanto, codecs como MP3, WMA Lossy, AAC, Vorbis (OGG) e etc também executam operações adicionais. Uma operação comum é descartar dados considerados de menor importância. Descartar dados resulta em um tamanho de arquivo menor.

O abaixo não é uma analogia perfeita, mas fica claro que eu acho.

Digamos que um " I hate you Sarah! " escrito em um pedaço de papel represente o fluxo de áudio PCM em o arquivo WAV que você exportou sem perdas depois de fazer uma gravação.

Codificar os dados em um formato de codificação diferente seria equivalente a embaralhar as letras para dizer " h Iyae oSr! haatu ". O software de decodificação sabe como este codec organiza os dados para que ele possa desvendar mensagem.

No entanto, conforme discutido, formatos como MP3 também descartam dados durante o processo de codificação. Então o MP3 A mensagem seria mais parecida com " h I Sr! h tu " e, quando decodificada (não confundida), seria como isso " I h t u S r h! ". Se você ler isso de volta, você ainda receberá a mensagem, mas excluindo as letras altera o som um pouco. Quanto mais você exclui, pior fica, até chegar a um ponto em que você não consegue mais entender a mensagem original.

O fluxo de áudio MP3 representa o fluxo de áudio PCM original. Quando você toca o MP3, está sendo decodificado de volta para PCM, mas os dados descartados não retornam obviamente. Parece plausível neste exemplo para adicionar de volta as letras que faltam, mas lembre-se, os computadores não são tão inteligentes como nós, e este é um exemplo muito, muito simples.

Se você fosse converter o MP3 para um arquivo WAV, tecnicamente você está decodificando para o PCM e depois salvando o fluxo PCM, e é por isso que o WAV é maior que o MP3. Não há perda de dados porque o MP3 stream sempre foi apenas uma representação para um fluxo PCM. A especificação do codec informa ao decodificador como decodificar o MP3 de volta ao formato PCM. Se você fosse converter o MP3 para um AAC de 128kbps, o que é Na verdade, o MP3 é decodificado para PCM e, em seguida, o fluxo PCM é codificado como AAC. o processo de codificação do PCM para o AAC resulta em mais perda de dados, porque " I h t u S r h! " é tratado como a mensagem original. Observe as letras não são esmagadas juntas. Quando o arquivo AAC é feito, não saberá que espaços de letras excluídas não fazem parte da mensagem ao tentar descobrir o que é mais seguro para descartar, e é por isso que recodificar os dados com a mesma taxa de bits resulta em degradação da qualidade.

    
por 24.12.2014 / 20:56
0

Então, você está dizendo que, se você transcodificar um MP3 para WAV, é sem perda? WAV é um formato sem perda de compactação, o MP3 é um formato 'com perdas'. Formatos com perdas são sempre compactados. Quando você transcodifica de lossy para lossless, você vai acabar com um arquivo que parece sem perdas, mas realmente não é.

Você pode verificar isso aplicando 'análise espectral' no arquivo. A imagem abaixo mostra um arquivo sem perdas, que é transcodificado de um MP3. Você pode ver a prateleira em 16 kHz? Em um arquivo sem perdas não compactado (como WAV), a prateleira não deveria estar lá.

Informaçõesrealmenteboassobreatranscodificação: link

    
por 03.12.2014 / 08:42