
2026/06/10 23:08
TorchCodec 0.14:CPU と CUDA のための HDR ビデオデコードおよび高速 Wav デコーダーの対応
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
TorchCodec 0.14 版では、NPP の依存関係廃止を伴う主要なアップデートが行われ、WAV ファイルからの直接デコードと float32 精度での完全 HDR ビデオサポートが導入されました。これらの変更は、オーディオパフォーマンスへの長期的なコミュニティ懸念、プロセス取り外し中の稀なクラッシュ、および奇数サイズを持つビデオに影響を与えるデコードエラーといった既存の課題に対処します。NPP 依存関係の廃止により、インストール手順は簡素化され、多様なハードウェア構成における信頼性が向上しました。また、
output_dtype=torch.float32 を設定することで(CPU または CUDA デコードの場合)、WAV ファイルから直接フル精度で HDR コンテンツを処理できるようになりました。ただし、HDR デコード機能はベータ版であり引き続き動作が変化するため、今後のフィードバックおよびテストに基づいて振る舞いが進化する可能性があります。全体として、このリリースは GPU アクセラレーションを活用したメディアアセットの管理を行うすべてのユーザーにとって、開発者の技術ワークフローを簡素化するとともに、安定性とフォーマットの汎用性を高めることを目的としています。本文
TorchCodec 0.14 リリースノート
TorchCodec 0.14 がリリースされました。本バージョンは
PyTorch >= 2.11 と互換性を備え、以下の主要新機能が追加されます。
- 高速な音声 WAV デコード機能
- HDR ビデオデコード対応
🚀 高速な WAV デコーダー実装
WAV ファイルのデコードに特化した新しい
WavDecoder が実装されました。
- FFmpeg 不要: FFmpeg を介さず、WAV データを直接読み込むため、デコード速度が著しく向上しています。
- 柔軟な対応:
、int16
、int32
など、複数のサンプル形式に対応しています。float32 - 多様な入力源: ファイル、バイト列、ファイルに似たオブジェクトからデコード可能です。
実装例
from torchcodec.decoders import WavDecoder decoder = WavDecoder("audio.wav") samples = decoder.get_all_samples() # データとサンプリング周波数を備えた AudioSamples オブジェクト
詳細については公式ドキュメントをご確認ください。
🎬 HDR ビデオデコード対応
VideoDecoder は、精度の損失なく HDR(High Dynamic Range)ビデオのデコードをサポートします。
- フル範囲 HDR:
を指定することで、[0, 1] の範囲にある RGB float32 フレームを出力し、フルな HDR カラーレンジを保持できます。output_dtype=torch.float32 - クロスプラットフォーム対応: CPU および CUDA の両環境に対応しています。
実装例
import torch from torchcodec.decoders import VideoDecoder decoder = VideoDecoder("hdr_video.mp4", output_dtype=torch.float32) frame = decoder[0] # float32 でフルな HDR 精度を保ったフレーム
詳細については公式ドキュメントをご確認ください。
⚠️ 注意: 本機能はベータ段階です。ユーザーフィードバックに基づき動作が若干変更になる可能性があります。使用中に問題が発生した場合は、必ずご連絡ください。
✨ その他の改善点
- 音声 seeking の高速化:
のシークパフォーマンスが大幅に向上しました(Issue #1449)。AudioDecoder - NPP 依存性の撤廃: NVIDIA NPP ライブラリへの依存がなくなり、CUDA デコードにおけるインストールと利用がより容易になりました。
🐛 バグ修正
- プロセス終了時のクラッシュ対応: CUDA デコーダーを使用している際のプロセス終了時に発生する稀なクラッシュを修正しました(Issue #1441)。
- 奇数サイズファイルのデコード修正: 奇数サイズのビデオファイルを CUDA でデコードする際のバグを修正しました(Issue #1462)。