web-dev-qa-db-ja.com

デコードされたMP3からエンコードされたFLACがMP3よりも大きいのはなぜですか?

タイトルよりも正確に言うと、320kbpsのMP3ファイルがあるとします。解凍すると、論理的には、オーディオの1秒あたり約320キロビットを除くすべてのデータが冗長データになり、圧縮できるようになります。では、解凍したファイルをFLACやその他のロスレスコーデックにエンコードすると、なぜそれほど大きくなるのでしょうか。

関連するメモとして、解凍されたwavからソースmp3オーディオをロスレスで復元することは理論的に可能ですか? (私はmp3自体が損失を伴うことを知っています。私はさらに損失なしで再エンコードすることが可能かどうか尋ねています。)

編集:関連する質問とその背後にある理論的根拠を明確にしましょう。 MP3ファイルから解凍されたwavがあるとします(そして、何らかの理由でmp3自体がないと仮定します)。これ以上品質を失いたくない場合は、FLACまたはその他のロスレスエンコーダーで再エンコードし、同じ品質を維持するためだけに大きなファイルを取得できます。または、mp3に再度エンコードして、元のサイズと同じサイズを取得しますが、より多くのデータを失う可能性があります。明らかに、これらのケースはどちらも理想的ではありません。元のサイズまたは元の品質のいずれかを使用できますが、両方を使用することはできません(つまり、元のロスレスソースではなく、元のmp3の品質を意味します)。私の質問は:両方を取得できますか?非可逆圧縮データを非可逆圧縮データからさらに失うことなく回復することは理論的に可能ですか?

可能であれば、FLACでオーディオを圧縮するロスレス圧縮アルゴリズムを想像することができます。次に、以前の不可逆圧縮の兆候がないかオーディオをスキャンし、検出された場合は、元の不可逆ファイルにロスレスで再圧縮します。次に、小さい方のファイルを保持します。

13

FLACが同じデータのMP3よりも大きい理由は、エンコードが異なるためです。 :) MP3は知覚情報をエンコードするだけですが、FLACはデータのすべての斑点をよりコンパクトな形式で保存します。

  • WAVをFLACに変換することは、BMPをPNGに変換することに似ています。
    • 正確に同じピクセルですが、Zipファイルのようにロスレスで小さいサイズに圧縮されます。
  • WAVをMP3に変換することは、BMPをJPEGに変換することに似ています。
    • 正確なピクセルを保存する代わりに、実際には、元のように見える 色の波紋のある正方形 を生成するための命令を保存しています。

同様に、MP3は、リップルを生成するための命令を格納するだけであり、それらを足し合わせると、元のように聞こえます。ただし、真の信号と生成された信号(エラー信号)の違いは、 JPEGジャギー のようなランダムなノイズの多いアーティファクトで構成されます。次にこれをFLACのような完璧主義の形式で保存する場合、それらすべてのジャギーを保存する必要があり、ランダムノイズはロスレスで圧縮するのが難しいため、ファイルのサイズが大きくなります。 (真にランダムなノイズは非圧縮性です。ファイルをロスレスで圧縮すると、冗長な繰り返しパターンが排除され、ランダムノイズのように見えます。)

JPEGをPNGに変換すると、MP3をFLACに変換したときと同じ種類のサイズの増加が見られると思います。完璧主義のロスレスコーデックは、元のbmpにはなかった小さなジャギーやアーティファクトをすべて覚えておく必要があるからです。

オーディオは線画図というより写真に似ているため、このアナロジーは完璧ではありませんが、アイデアを広めるのに役立ちます。

オリジナルBMPサイズ:29 kB

Blue dots in PNG form

PNGサイズ:629 B

Blue dots in JPEG form with jaggies

JPEGサイズ:1.7 kB

Blue dots with jaggies re-encoded to PNG

JPEGから作成されたPNG:6.2 kB

31
endolith

MP3をデコードすると、ビットレートに関係なく、標準の1411kbps/44100Hz 16ビット(またはソースが何であれ)PCMオーディオが得られます。このPCMオーディオには、不可逆エンコードプロセスの目立った効果と目立たない効果がすべて含まれています。この形式は再生に必要です。エンコード/再エンコード、コンピューター、MP3プレーヤーなどで再生すると、コーデックのファイルが解凍されます。

FLACエンコーダーは、圧縮しているオーディオがデコードされたMP3または新しいCDのどちらからのものであるかを気にせず、オーディオデータを変更せずにソースファイルのサイズを単純に縮小し、ソースの完全な回復を可能にします。ロスレスプロセス。

MP3から作成されたFLACファイルはMP3とまったく同じように聞こえ、CDトラックから作成されたFLACファイルはCDとまったく同じように聞こえます。

2
skelly

パート2に答えるために、MP3からWAVに変換し直してから、ロスレスエンコーダーを選択すると、同じ品質のファイルが必要になります。完了しました。

FLACがMP3よりも大きい理由については、より圧縮された形式の1つを使用して解凍し、効率の低い圧縮ツールで再圧縮します(ただし、再生の品質は高くなります)。

これは、JPGをPNGに変換すると大きくなる理由を尋ねるようなものです。つまり、ファイルを[部分的に]解凍してから、可逆的に再圧縮します。 FLACは、PNGと同様に、spaceではなく、qualityに最適化されています。 )。

0
warren

mp3はデコーダーが再生可能であることを要求します。デコーダーの結果は元のトラック(通常はCDから)の近似値であるため、デコーダーはデータを追加して再生可能にします(これはナンセンスなデータではありません)。結果の近似は、元のトラックと同じビットレートになりました。 mp3をデコードしないと、情報は意味をなさないため、他のものに変換することはできません(ステレオ-mp3から2Xモノ-mp3などの非常に類似したエンコードを除く)。そして、FLACとmp3は似たようなものではありません。 FLACをデコディグすると、結果はFLACにエンコードされた元のデータの近似値ではありませんが、まったく同じです。

0
Joakim Elofsson