Ordelvio News

AI · 公開日

TorchCodecがメディアのデコードとエンコードを集約、他のライブラリは変換処理に注力

メディアスタックはデコードおよびエンコードと変換処理を分離し、各ライブラリが独自のリリーススケジュールに従えるようになった。

マリーゴールドとバイオレットで組み立てられたオブジェクトのアイソメトリックイラスト。AIイラスト
AIによるイラスト・出来事の写真ではありません・AIの利用方法

メディアのデコードとエンコードはTorchCodecに集約され、TorchVisionとTorchAudioは変換処理に注力することになった。この再編は画像、動画、音声を対象とし、従来は断片化していたインターフェースとバックエンドの集合に取って代わるものだ。

ユーザーにとって、この分担は、メディアをテンソルへ取り込み、テンソルから書き出す処理と、その間に行われる演算を切り分けるものだ。TorchCodecは、ファイルやエンコード済みバイト列をテンソルにデコードする処理と、テンソルをメディアファイルにエンコードし直す処理を担う。TorchVisionは画像と動画の変換処理を提供し、TorchAudioは音声の変換処理を担う。

この変更は既存のソフトウェアにも影響する。これまでTorchVisionとTorchAudioが提供していたデコードおよびエンコードのインターフェースは、非推奨になるか削除された。これらのライブラリのモデル、データセット、パイプラインはもはや積極的には開発されておらず、それらの機能はエコシステム内の他の代替手段が担っている。

Nicolas HugとScott Schneiderは、メディアの入出力を単一のライブラリに集約する理由として、保守性とパフォーマンスを挙げた。両氏の説明によると、TorchCodecは、特にCUDAで動画をデコードする場合に、従来の実装より概して高い性能を発揮する。また、統合によって、FFmpeg、NVIDIAのコーデックSDK、個々の画像フォーマット用ライブラリに関わる作業も集約される。

著者らは、この移行は特にTorchAudioにとって混乱が大きく、多数のインターフェースが非推奨となり、最終的に削除されたと述べた。コミュニティからのフィードバックを受け、当初廃止を予定していた人気のインターフェースのいくつかを残すことにした。

作者によると、三つのライブラリはすべてABI安定になりました。ライブラリのバージョンは単一のフレームワークリリースに結び付けられなくなり、以降のバージョンでも動作し続けられます。そのため、フレームワークのリリースごとに再ビルドする必要はなく、そのリリーススケジュールにも従わなくなりました。今回の統合は、単一の新しいメディア機能ではなく、過去二年間にわたって行われたものです。

  • 機械学習
  • メディア処理
  • ソフトウェアライブラリ