圧縮されたビデオを元の非圧縮形式にデコードできますか?

圧縮されたビデオを元の非圧縮形式にデコードできますか?

以下は、ffmpeg ドキュメント

ffmpeg は、libavformat ライブラリ (デマルチプレクサを含む) を呼び出して入力ファイルを読み取り、そこからエンコードされたデータを含むパケットを取得します...エンコードされたパケットはデコーダーに渡されます...デコーダーは、フィルタリングによってさらに処理できる非圧縮フレーム (生のビデオ/PCM オーディオなど) を生成します...

つまり、h.264 などのすべての圧縮形式/コーデックから、元の大きなサイズのビデオをいつでも抽出できるということですか?

答え1

ビデオ圧縮は通常「非可逆「」とは対照的に、「無損失の「」。

つまり、データを圧縮し、その後解凍することで、目的にかなう (うまくいけば) 元のデータに近いデータが得られることになります。

非可逆圧縮技術を使用して画像やビデオを保存することは、一般的には問題ありません。なぜなら、人間は画像の詳細を認識するのがあまり得意ではないからです。たとえば、私たちの脳は文脈だけで多くの詳細を補うことができます(私たちの目は中央の小さな領域しか持たないため、「高解像度」)、そして私たちの目は赤や青よりも緑の強度に敏感です(これが RGB565 での割り当てを説明しています)。

ですから、次のように言うと:

つまり、mp4 などのすべての圧縮形式から、元の大きなサイズのビデオをいつでも抽出できるということですか?

一つの質問をしていますが、誤解される余地が沢山あります。

  • 非可逆圧縮技術を使用して圧縮されたビデオから、元のピクセルパーフェクトな画像を抽出できますか?
    • いいえ
  • 非可逆圧縮技術を使用して圧縮されたビデオから、高品質で静止画像として使用できる単一のフレームを抽出することはできますか?
    • おそらくそうではない- シーン内での動きによりアーティファクトの数が多くなりますが、静的なシーンは通常、時間の経過とともに見栄えが良くなります。
  • 元のサイズの画像を抽出できますか?合理的「人間に?」
    • はい- 与えられた定義の「合理的

この不完全な結果画像は「圧縮アーティファクト以下の誇張した例で示すように、

良好 / 100% JPEG

悪い / 5% JPEG


コメントではオーディオ品質にも重点が置かれているため、まったく同じことが起こります。ただし、オーディオは帯域幅がかなり低いメディアであるため、ロスレスコーデックが実用的になります(たとえば、動画)。

PCM / WAV → MP3 → PCM に変換すると、MP3 エンコード/デコード プロセスによって導入されたアーティファクトを含む出力 PCM ファイルが生成されます。これらを削除することはできません。

さらに、コーデックを連結すると、それぞれが独自のアーティファクトを導入する可能性があり、コーデックが適用される順序が出力に大きな影響を与える可能性があります。

PCM → MP3 → OGG vorbis → Opusへの変換はない中間コーデックはそれぞれ非可逆であるため、PCM → Opus と同じです。

これを別の例として示すサンプル音声ファイルを作成しました誇張した例これは「今夜" による "69の目「」は、5 秒ごとに次のチェーンを交互に繰り返します。

  • CD → FLAC → Opus
  • CD → FLAC → MP3 → Vorbis → Opus

ここでの効果は劇的で、高周波数 (ハイハットなど) がオーディオからほぼ完全に削除され、特に冒頭で顕著なチャンネル (左/右) の相互作用が生じます。

比較する

答え2

短い答えコーデック一般的に:
任意ロスレスコーデックのように動画またはジップ正確に逆転することができます
非可逆コーデックのようにJPEGまたはMP3正確には元に戻すことはできません。

この原則は、ビデオコーデック
ここHuffYUVロスレスビデオコーデックの例です。
そしてx264非可逆ビデオコーデックの例です。

答え3

つまり、mp4 などのすべての圧縮形式から、元の大きなサイズのビデオをいつでも抽出できるということですか?

いいえ。あなたはその文を誤解しています。

圧縮された画像を表示することはできません。これは、圧縮されたテキストや ZIP で圧縮されたファイルを解凍せずに読み取ることができないのと同じです。画像を表示するには、何らかの方法でメモリ内にピクセル単位で圧縮されていない状態で表現する必要があります。

これは、圧縮されていない画像が元の画像と同一であることを意味するものではありません。これは、使用されているコーデックに依存します。私の知る限り、一般的に使用されているロスレス コーデックはありません。ロスレス コーデックは、通常の状況、つまり予測された解像度とフレーム レートで再生された場合に、元の画像と十分に近いものを再現することを目指しています。圧縮された静止画 (つまり、フレーム レート = 0) を見ると、圧縮中のビット レートが非現実的なほど高く設定されていない限り (つまり、出力ファイルが大きすぎる場合)、アーティファクトが確実に表示されます (この答え私のは何らかの形で関連しています。


ちなみに、MP4はファイル形式、つまり、圧縮されたデータがファイルにどのように保存されるかを示しますが、どのように圧縮されたかは特定しません。MP4 はさまざまなコーデックで動作します。H.264 はおそらく MP4 で使用される最も一般的なビデオ コーデックですが、これについては私の言葉を引用しないでください。オーディオは通常、AAC で圧縮されると思います。

答え4

これは非常によくある失敗です。

非可逆形式から可逆形式に変換することはできますが、被害はすでに発生している

ロスレス出力ファイルには、ロスレス形式が気に入らない理由となるすべての損傷 (詳細の損傷、追加されたアーティファクト) が表示されます。これを元に戻すことはできません。

唯一の選択肢は、発行元に連絡して、元のロスレス ファイルがまだ残っているかどうか、また、何らかの方法でそれをアップロードしてくれるかどうかを確認することです。

そんなものは存在しない強化ボタン警告: TVtropes

関連情報