- 締切済み
可逆圧縮の認識について,いくつか疑問と不安が出てきたので回答よろしくお
可逆圧縮の認識について,いくつか疑問と不安が出てきたので回答よろしくお願いします。 以下の2つです。(使用ソフトはfoobar2000) 1,可逆圧縮から可逆圧縮の変換では、音質は劣化しないですよね? 例えば,(FLAC → APE)変換でも(FLAC → WAV → APE)変換でも、最終的に出来上がったAPEの音質は全く同じですよね? 極端な話,(FLAC→FLAC)変換を1億回繰り返しても音質劣化はないという認識であってますか? 2,可逆圧縮の分割変換に関しても、音質劣化はないですよね? 例えば,(FLAC + CUE)を,トラック毎の(分割FLAC)や(分割APE)に変換しても音質は分割前と全く一緒ということでいいのでしょうか? 尚、理論上は音質同じだけど、私は実際聞いたら聞き分けられる!とかはナシでお願いします・・・あくまでも理論上での回答で頼みます。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- jklm324
- ベストアンサー率46% (137/292)
No.3です。 > 一旦WAVに戻す必要があるのでしょうか? > 「WAVに戻す」という無駄な手順を踏んでいるのか意味が分かりません。 一般的には、可逆圧縮と非可逆圧縮では符号化方法が大きく異なることが多いので、可逆圧縮されたデータを元のデータであるリニアPCMにしてから、非可逆圧縮を行うという2段階になります。一旦リニアPCMのWAVファイルにすることにより、様々の圧縮方式での変換が自由にできるという利点もあります。 信頼性を上げるためにソフトウェアのテストは非常に重要です。圧縮→伸張で同一データが得られることを確認するには入出力のWAVファイルを比較するだけなので、簡単かつ確実にテストを実施することができます。 (FLAC → MP3)とソフトがあった場合に、本当にFLACが正しく行われているのだろうか、ということが確認ができないので不安です。(FLAC → MP3)と直接変換してそれほどスピードアップする訳ではないので、信頼性が高く自由度のあるWAVファイルを介した変換が一般的なのだと思います。
- jklm324
- ベストアンサー率46% (137/292)
デジタルデータとして1ビットの誤差もなく元に戻るのが可逆圧縮なので、理論上は変換を1億回繰り返しても音質の劣化はありません。 ただし、1億回の変換を行うには1億回の読み書きを行うのでエラーが発生する可能性があり、実際に1億回の変換を行えばデジタルデータは異なってしまう可能性もあります。ただし、これはシステムの信頼性の問題で、可逆圧縮の責任ではありません。 No.1にある「伸張中に予期せぬ割り込みがあり化けてしまう可能性」はソフトウェアのバグ(注)であり可逆圧縮の問題ではありません。また「符号化ソフトには複数の伸張ルールがあり、それが何らかの理由で重なってしまい、一部のデータが化けてしまう可能性」についても複数の伸張ルールのうち正しいものを選べないとすれば、ソフトウェアのバグ(注)です。ただし、可逆圧縮の規格に問題があり、ソフトウェアが正しい伸張方法を選べない場合があるとすれば、データが狂ってします可能性はあります。この場合は、そのような規格を可逆圧縮と呼んでいいのかという問題になります。(この可能性は極めて低いと思われる) で結論としては、 理論上は同じだけれども、実際に変換を1億回繰り返した場合には、システムエラーやソフトウェアのバグ等でデジタルデータに何らかの差が生じる可能性がある。 (注)一般的にソフトウェアにはバグが潜んでいる可能性があるということで、質問者様の使用ソフトfoobar2000について言及している訳ではありません。
お礼
回答ありがとうございます。「ソフトウェアのバグによっては必ずしも理論通りになるわけではない」ということはよく理解できましたが、新たに疑問が出てきました。 ここでの質問やネット上の情報では、「FLACやAPEからMP3を作るにはどうすればいいの?」みたいな質問の回答では「ソフトを使って、(FLAC → WAV →MP3)と変換すれば良いですよ」というのが多いような気がするのですが、なぜ一旦WAVに戻す必要があるのでしょうか? 皆様の回答を私が理解して得た知識では、(FLAC → WAV →MP3)だろうが(FLAC → MP3)でも最終的に出来上がるMP3の音質は同じはずですよね? なぜ「WAVに戻す」という無駄な手順を踏んでいるのか意味が分かりません。
#1[Parts]さんの補足です。 データーを扱うのには必ず読み取りと書き込みの作業を しなければなりませんので、エラーが発生した分、劣化 して行く事になるかと・・・
- parts
- ベストアンサー率62% (6366/10151)
1と2はそうですね。ただし、やはり理論上としか言えません。理由は単純です。例として1が10個連なっている場合、1111111111と書くわけですが、1が10個なら110という書き方が1が10個ですというルールを作れば、データ量はおよそ1/3以下になり、元の状態にも戻せるというのが可逆圧縮なのです。ただし、符号化ソフトには複数の伸張ルールがあり、それが何らかの理由で重なってしまい、一部のデータが化けてしまう可能性は否定できませんし、伸張中に予期せぬ割り込みがあり化けてしまう可能性もあります。圧縮時にそういった事態になるかもしれません。 110が1が10個なのかそれとも110なのかが判断できなくなる場合があるということです。 そのため、エラーが発生したときのために、前後にいくつかのヒントを保存し(パリティ)、伸張できるようにしていますが、やはり化けてしまうことは何度も何度も繰り返していればごく希にあるのです。 それでも、音楽用の圧縮や映像用の圧縮では再生が可能な場合も多いです。これは失われたバーストエラーをスキップするか、短時間なら一つ前のデータを重ねる処理によってごまかす仕組みが備わっているケースもあるためです。特に、ストリーミング配信用の可逆モードではこのバーストスキップ機能は当たり前に登載されています。 ちなみに、データをアーカイブ処理し可逆圧縮する例えばLHAやZIPでは、伸張時や圧縮時にバーストエラーがあればそこから先のデータを伸張することができなくなります。 よって、絶対ないとは言えません。後は、その利用されるエンコード技術の仕様書を読まれて確認されるのが良いでしょう。 ということです。よって、1と2ともに差はないが、絶対にないとは言い切れない。あくまで理論上というのはそういう意味です。 ちなみに、デジタルデータではエラーは致命的な欠陥に繋がるため、例えばハードディスク一つをとっても、複数のエラー訂正や代替領域(パリティ)によってデータが化けないような処理がされています。こういった機構がなければ、デジタルデータは、信頼性を失うことになるでしょう。即ち、完全に大丈夫な状態に見せるために、多くの欠陥管理をする工夫が施されており、その仕組みによって成り立っている実際にはとても脆いものなのです。
お礼
詳しい回答ありがとうございます。よく理解できました。
お礼
回答ありがとうございます。納得しました。